Index: palm/trunk/TUTORIAL/SOURCE/program_structure.tex
===================================================================
--- palm/trunk/TUTORIAL/SOURCE/program_structure.tex	(revision 1234)
+++ palm/trunk/TUTORIAL/SOURCE/program_structure.tex	(revision 1515)
@@ -6,5 +6,4 @@
 \usepackage{ngerman}
 \usepackage{pgf}
-\usetheme{Dresden}
 \usepackage{subfigure}
 \usepackage{units}
@@ -25,5 +24,6 @@
 
 
-\institute{Institut fÃŒr Meteorologie und Klimatologie, Leibniz UniversitÃ€t Hannover}
+\institute{Institute of Meteorology and Climatology, Leibniz UniversitÃ€t Hannover}
+\selectlanguage{english}
 \date{last update: \today}
 \event{PALM Seminar}
@@ -45,5 +45,5 @@
 
 \title[PALM Program Structure]{PALM Program Structure}
-\author{Siegfried Raasch}
+\author{PALM group}
 
 
@@ -61,11 +61,4 @@
 
 %Folie 01
-\begin{frame}
-   \begin{center}
-      PALM - Program Structure
-   \end{center}
-\end{frame}
-
-%Folie 02
 \begin{frame}
    \frametitle{Contents}
@@ -80,27 +73,29 @@
 \end{frame}
 
-%Folie 03
+%Folie 02
 \begin{frame}[fragile]
    \frametitle{PALM Code: General Features}
    \begin{itemize}
-      \item<2->{PALM is written in FORTRAN90. Current version number is 3.9.}
-      \item<3->{With some very minor exceptions, the code is using the FORTRAN standard, so it should compile without error on any FORTRAN90/95 compiler.}
+      \item<2->{PALM is written in FORTRAN90. Current version number is 3.10.}
+      \vspace{2.5mm}
+      \item<3->{With some very minor exceptions, the code is using the FORTRAN standard, so it should compile without error on any FORTRAN 2003/2008 compiler. (90/95 may give problems)}
+      \vspace{2.5mm}
       \item<4->{Data handling between subroutines is mostly done using FORTRAN90-modules instead of using parameter lists.
-      \begin{minipage}{0.45\textwidth}
+      \begin{minipage}{0.5\textwidth}
          \centering
          \begin{lstlisting}
 SUBROUTINE parin
-   USE control_parameters
-   USE grid_variables
+   USE control_parameters, ONLY: ...
+   USE grid_variables, ONLY: ...
    .
    .
          \end{lstlisting}
       \end{minipage}
-      \begin{minipage}{0.45\textwidth}
+      \begin{minipage}{0.4\textwidth}
          \centering
          \begin{lstlisting}
 SUBROUTINE parin( a, b, c, ... )
-   INTEGER ::  a, b
-   REAL    ::  c, ...
+   INTEGER(iwp) ::  a, b
+   REAL(wp)     ::  c, ...
    .
    .
@@ -111,16 +106,17 @@
 \end{frame}
 
-%Folie 04
+%Folie 03
 \begin{frame}
    \frametitle{PALM Code: General Features}
+   \small
    \begin{itemize}
-      \item<2->{Machine dependent code segments, e.g. calls for flushing of buffers (CALL FLUSH / CALL FLUSH\_), or calls of special software (e.g. netCDF or dvrp), which are available on some machines only, are activated using preprocessor directives.}
-      \item<3->{The serial and parallel PALM version is also activated by preprocessor directives.}
+      \item<2->{Machine dependent code segments, e.g. calls of routines from external libraries (e.g. NetCDF or FFTW), which may not be available on some machines, are activated using preprocessor directives.}
+      \item<3->{The serial and parallel (MPI) PALM version is also activated by preprocessor directives.}
       \item<4->{The code is splitted into several files, most of them containing just one subroutine, e.g. file ``parin.f90'' contains ``SUBROUTINE parin''.}
-      \item<5->{The code includes an interface which can be used by users to add their own code extensions. Advantage: These code extensions can be reused (normally) for future PALM releases without requiring any changes.}
+      \item<5->{The code includes an interface which can be used to add your own code extensions. Advantage: These code extensions can be reused (normally) for future PALM releases without requiring any changes.}
    \end{itemize}
 \end{frame}
 
-%Folie 05
+%Folie 04
 \begin{frame}
    \frametitle{PALM Flow Chart (I)}
@@ -177,5 +173,5 @@
 \end{frame}
 
-%Folie 06
+%Folie 05
 \begin{frame}
    \frametitle{PALM Flow Chart (II)}
@@ -231,5 +227,8 @@
          \path<4-> [line,dashed] (init3d.south) |- (userinit3d.west);
 
-         \uncover<4->{\node [yellow, below=0.05cm of userinit3d] (disturbh) {disturb\_heatflux};}
+         \uncover<4->{\node [yellow, below=0.05cm of userinit3d] (randomfuncini) {random\_function\_ini};}
+         \path<4-> [line] (init3d.south) |- (randomfuncini.west);
+
+         \uncover<4->{\node [yellow, below=0.05cm of randomfuncini] (disturbh) {disturb\_heatflux};}
          \path<4-> [line,dashed] (init3d.south) |- (disturbh.west);
 
@@ -253,6 +252,6 @@
          \path<4-> [line,dashed] (init3d.south) |- (initpt.west);
 
-         \uncover<4->{\node [yellow, below=0.05cm of initpt] (randomfuncini) {random\_function\_ini};}
-         \path<4-> [line] (init3d.south) |- (randomfuncini.west);
+         \uncover<4->{\node [yellow, below=0.05cm of initpt] (readpart) {read\_part\_of\_varlist};}
+         \path<4-> [line] (init3d.south) |- (readpart.west);
 
       \uncover<1->{\node [white2, below=6.6cm of PALM] (continu2) {};}
@@ -271,5 +270,5 @@
 \end{frame}
 
-%Folie 07
+%Folie 06
 \begin{frame}
    \frametitle{PALM Flow Chart (III)}
@@ -364,5 +363,5 @@
 \end{frame}
 
-%Folie 08
+%Folie 07
 \begin{frame}
    \frametitle{PALM Flow Chart (IV)}
@@ -406,41 +405,44 @@
                \path<7-> [line] (dataoutpdvrp.south) |- (userdataoutdvrp.west);
 
-       \uncover<8->{\node [green, below=1cm of lpminit] (userinit) {user\_init};}
-       \path<8-> [line] (init3d.south) |- (userinit.west);
-
-       \uncover<9->{\node [yellow, below=2.3cm of init3d] (header) {header};}
-       \path<9-> [line] (PALM.south) |- (header.west);
-
-          \uncover<10->{\node [green, right=0.05cm of header] (userheader) {user\_header};}
-          \path<10-> [line] (header.east) |- (userheader.west);
-
-       \uncover<11->{\node [yellow, below=0.05cm of header] (dataoutput2d) {data\_output\_2d};}
-       \path<11-> [line,dashed] (PALM.south) |- (dataoutput2d.west);
-
-          \uncover<12->{\node [green, right=0.05cm of dataoutput2d] (userdataoutput2d) {user\_data\_output\_2d};}
-          \path<12-> [line] (dataoutput2d.east) |- (userdataoutput2d.west);
-
-       \uncover<13->{\node [yellow, below=0.05cm of dataoutput2d] (dataoutput3d) {data\_output\_3d};}
-       \path<13-> [line,dashed] (PALM.south) |- (dataoutput3d.west);
-
-          \uncover<14->{\node [green, right=0.05cm of dataoutput3d] (userdataoutput3d) {user\_data\_output\_3d};}
-          \path<14-> [line] (dataoutput3d.east) |- (userdataoutput3d.west);
-
-       \uncover<15->{\node [yellow, below=0.05cm of dataoutput3d] (timeintegr) {time\_integration};}
-       \path<15-> [line] (PALM.south) |- (timeintegr.west);
-       \uncover<15->{\node [white, right=0.2cm of timeintegr] (timeintspace) {};}
-
-          \uncover<16->{\node [yellow, below=0.05cm of timeintspace] (runcontr) {run\_control};}
-          \path<16-> [line] (timeintegr.south) |- (runcontr.west);
-          \uncover<16->{\node [white, right=0.2cm of runcontr] (runcontrspace) {};}
-
-             \uncover<17->{\node [yellow, below=0.05cm of runcontrspace] (flowstat1) {flow\_statistics};}
-             \path<17-> [line,dashed] (runcontr.south) |- (flowstat1.west);
-
-                \uncover<18->{\node [green, right=0.05cm of flowstat1] (userstat1) {user\_statistics};}
-                \path<18-> [line] (flowstat1.east) |- (userstat1.west);
-
-          \uncover<19->{\node [yellow, below=0.5cm of runcontr] (surfcoup) {surface\_coupler};}
-          \path<19-> [line,dashed] (timeintegr.south) |- (surfcoup.west);
+       \uncover<8->{\node [yellow, below=1cm of lpminit] (wsinit) {ws\_init};}
+       \path<8-> [line] (init3d.south) |- (wsinit.west);
+
+       \uncover<9->{\node [green, below=0.05cm of wsinit] (userinit) {user\_init};}
+       \path<9-> [line] (init3d.south) |- (userinit.west);
+
+       \uncover<10->{\node [yellow, below=2.5cm of init3d] (header) {header};}
+       \path<10-> [line] (PALM.south) |- (header.west);
+
+          \uncover<11->{\node [green, right=0.05cm of header] (userheader) {user\_header};}
+          \path<11-> [line] (header.east) |- (userheader.west);
+
+       \uncover<12->{\node [yellow, below=0.05cm of header] (dataoutput2d) {data\_output\_2d};}
+       \path<12-> [line,dashed] (PALM.south) |- (dataoutput2d.west);
+
+          \uncover<13->{\node [green, right=0.05cm of dataoutput2d] (userdataoutput2d) {user\_data\_output\_2d};}
+          \path<13-> [line] (dataoutput2d.east) |- (userdataoutput2d.west);
+
+       \uncover<14->{\node [yellow, below=0.05cm of dataoutput2d] (dataoutput3d) {data\_output\_3d};}
+       \path<14-> [line,dashed] (PALM.south) |- (dataoutput3d.west);
+
+          \uncover<15->{\node [green, right=0.05cm of dataoutput3d] (userdataoutput3d) {user\_data\_output\_3d};}
+          \path<15-> [line] (dataoutput3d.east) |- (userdataoutput3d.west);
+
+       \uncover<16->{\node [yellow, below=0.05cm of dataoutput3d] (timeintegr) {time\_integration};}
+       \path<16-> [line] (PALM.south) |- (timeintegr.west);
+       \uncover<16->{\node [white, right=0.2cm of timeintegr] (timeintspace) {};}
+
+          \uncover<17->{\node [yellow, below=0.05cm of timeintspace] (runcontr) {run\_control};}
+          \path<17-> [line] (timeintegr.south) |- (runcontr.west);
+          \uncover<17->{\node [white, right=0.2cm of runcontr] (runcontrspace) {};}
+
+             \uncover<18->{\node [yellow, below=0.05cm of runcontrspace] (flowstat1) {flow\_statistics};}
+             \path<18-> [line,dashed] (runcontr.south) |- (flowstat1.west);
+
+                \uncover<19->{\node [green, right=0.05cm of flowstat1] (userstat1) {user\_statistics};}
+                \path<19-> [line] (flowstat1.east) |- (userstat1.west);
+
+          \uncover<20->{\node [yellow, below=0.5cm of runcontr] (surfcoup) {surface\_coupler};}
+          \path<20-> [line,dashed] (timeintegr.south) |- (surfcoup.west);
 
 
@@ -455,5 +457,5 @@
 
 
-%Folie 09
+%Folie 08
 \begin{frame}
    \frametitle{PALM Flow Chart (V)}
@@ -510,8 +512,11 @@
             \uncover<1->{\node [yellowLarge, below=0.4cm of timestepscheme] (prognosticequve) {prognostic\_equations\_vector};}
             \uncover<1->{\node [yellowLarge, right=0.05cm of prognosticequve] (prognosticequca) {prognostic\_equations\_cache};}
+            \uncover<1->{\node [yellowLarge, below=0.025cm of prognosticequca] (prognosticequacc) {prognostic\_equations\_acc};}
+            \coordinate [right=0.2cm of prognosticequacc] (testdummyhaha);
 %            \uncover<1->{\node [yellowLarge, below=0.05cm of prognosticequca] (prognosticequve) {prognostic\_equations\_vector};}
             \uncover<1->{\node [boxinfo, below=-0.025cm of prognosticequve] (Boxinfo) {For details, see \\ PALM Flow Chart (VIII).};}
             \path<1-> [line] (boxlinespace.north) -| (prognosticequca.north);
             \path<1-> [line] (boxlinespace.north) -| (prognosticequve.north);
+            \path<1-> [line] (boxlinespace.north) -| (testdummyhaha) -- (prognosticequacc.east);
 %            \uncover<1->{\node [redsmall, above=0.3cm of prognosticequca] (redadv) {standard\\advection};}
 
@@ -545,5 +550,5 @@
 \end{frame}
 
-%Folie 10
+%Folie 09
 \begin{frame}
    \frametitle{PALM Flow Chart (VI)}
@@ -638,5 +643,5 @@
 \end{frame}
 
-%Folie 11
+%Folie 10
 \begin{frame}
    \frametitle{PALM Flow Chart (VII)}
@@ -699,5 +704,5 @@
 
 
-%Folie 12
+%Folie 11
 \begin{frame}
    \frametitle{PALM Flow Chart (VIII)}
@@ -718,10 +723,10 @@
    \tikzstyle{boxinfo} = [rectangle, align=center, text width=0.3\textwidth, minimum size=12pt, font=\tiny]
    \tikzstyle{whitebox} = [rectangle, text width=0.2\textwidth, minimum size=12pt, font=\tiny]
-   \tikzstyle{bigbox} = [rectangle, draw, fill=white!100, text width=0.21\textwidth, minimum size=12pt, font=\tiny]
+   \tikzstyle{bigbox} = [rectangle, draw, fill=white!100, text width=0.22\textwidth, minimum size=12pt, font=\tiny]
    \tikzstyle{bigbox2} = [rectangle, draw, align=center, fill=white!100, text width=0.29\textwidth, minimum size=12pt, font=\tiny]
    
    \tikzstyle{framebox} = [rectangle, draw, text width=0.2\textwidth, minimum size=104pt, font=\tiny]
    \tikzstyle{Endbox} = [rectangle, draw, fill=gray!20, text width=0.21\textwidth, minimum size=12pt, font=\tiny]
-
+   \tikzstyle{Endbox2} = [rectangle, draw, fill=gray!20, text width=0.23\textwidth, minimum size=12pt, font=\tiny]
    
    %"align=center" hinzufÃŒgen, um in den boxen zu zentrieren.
@@ -736,5 +741,5 @@
       \uncover<1->{\node [yellowLarge, left=0.5cm of calcmeanptprofile] (prognosticequationscache) {prognostic\_equations\_cache};}
       \uncover<1->{\node [yellowLarge, right=0.5cm of calcmeanptprofile] (prognosticequationsvector) {prognostic\_equations\_vector};}
-
+      \uncover<1->{\node [yellowLarge, below=0.1cm of prognosticequationsvector] (prognosticequationsacc) {prognostic\_equations\_acc};}
       \uncover<1->{\node [yellow, below=-0.05cm of calcmeanptprofile] (calcradiation) {calc\_radiation};}
       \uncover<1->{\node [yellow, below=-0.05cm of calcradiation] (impactoflatentheat) {impact\_of\_latent\_heat};}
@@ -749,10 +754,11 @@
             DO i=nxl,nxr\\
             \quad DO j=nys,nyn\\
-            \quad \quad CALL \textcolor{blue}{u-subr}\\
-            \quad \quad CALL \textcolor{blue}{v-subr}\\
-            \quad \quad CALL \textcolor{blue}{w-subr}\\
-            \quad \quad CALL \textcolor{blue}{pt-subr}\\
-            \quad \quad CALL \textcolor{blue}{q or s-subr}\\
-            \quad \quad CALL \textcolor{blue}{e-subr}\\
+            \quad \quad CALL \textcolor{blue}{u-subr(i,j)}\\
+            \quad \quad CALL \textcolor{blue}{v-subr(i,j)}\\
+            \quad \quad CALL \textcolor{blue}{w-subr(i,j)}\\
+            \quad \quad CALL \textcolor{blue}{pt-subr(i,j)}\\
+            \quad \quad CALL \textcolor{blue}{q or }\\
+            \quad \quad \hphantom{CALL} \textcolor{blue}{s-subr(i,j)}\\
+            \quad \quad CALL \textcolor{blue}{e-subr(i,j)}\\
             \quad ENDDO\\
             ENDDO\\
@@ -760,5 +766,5 @@
       };}
       
-      \uncover<1->{\node [bigbox, below=0.05cm of prognosticequationsvector] (listingsvector) {
+      \uncover<1->{\node [bigbox, below=0.05cm of prognosticequationsacc] (listingsvector) {
          \texttt{\linespread {0.7}\selectfont\noindent
             CALL \textcolor{blue}{u-subr}\\
@@ -816,10 +822,10 @@
             !within subroutines:\\
             DO k=nzb+1,nzt\\
-            \quad \quad \textcolor{blue}{...}\\
+            \quad \quad \textcolor{blue}{tend(k,j,i)=...}\\
             ENDDO\\
          }
       };}
 
-      \uncover<2->{\node [Endbox, below=2.5cm of listingsvector] (endboxvec) {
+      \uncover<2->{\node [Endbox2, below=2.0cm of listingsvector] (endboxvec) {
          \texttt{\linespread {0.7}\selectfont\noindent
             !within subroutines:\\
@@ -827,5 +833,5 @@
             \quad DO j = nys, nyn \\
             \quad \quad DO k=nzb+1,nzt\\
-            \quad \quad \quad \textcolor{blue}{...}\\
+            \quad \quad \quad \textcolor{blue}{tend(k,j,i)=...}\\
             \quad \quad ENDDO \\
             \quad ENDDO \\
@@ -840,5 +846,5 @@
 \end{frame}
 
-%Folie 13
+%Folie 12
 \begin{frame}
    \frametitle{PALM Flow Chart (IX)}
@@ -906,9 +912,10 @@
 \end{frame}
 
-%Folie 14
+%Folie 13
 \begin{frame}[fragile]
    \frametitle{Important Variables and Their Declaration}
    \begin{itemize}
-      \item<2->{3D-arrays of prognostic variables are named $\Psi_m$, $\Psi$, and $\Psi_p$ for time level $t-\Delta t$, $t$, and $t+\Delta T$, respectively, with $\Psi = u$, $v$, $w$, $pt$, $q$, $e$, $sa$}
+      \item<2->{3D-arrays of prognostic variables are named $\Psi$, and $\Psi_p$ for time level $t$, and $t+\Delta t$, respectively, with $\Psi = u$, $v$, $w$, $pt$, $q$, $e$, $sa$}
+      \vspace{2.5mm}
       \item<3->{They are by default declared as $\Psi$($z$,$y$,$x$) or $\Psi$($k$,$j$,$i$), e.g.\\
       \begin{minipage}{0.2\textwidth}
@@ -921,6 +928,6 @@
 
 
-nysg = nys - ngl,  nyng = nyn + ngl
-nxlg = nxl - ngl,  nxrg = nxr + ngl
+nysg = nys - nbgp,  nyng = nyn + nbgp
+nxlg = nxl - nbgp,  nxrg = nxr + nbgp
 nzb, nzt (bottom, top)
 nys, nyn (south, north)
@@ -928,14 +935,14 @@
          \end{lstlisting}
       \end{minipage}\\
-      as the index limits of the (sub-)domain. ngl is the number of ghost layers which depends on the advection scheme ( ngl = 3 for the default Wicker-Skamarock scheme)
+      as the index limits of the (sub-)domain.\\ nbgp is the number of ghost points which depends on the advection scheme (nbgp = 3 for the default Wicker-Skamarock scheme).
       }
    \end{itemize}
 \end{frame}
 
-%Folie 15
+%Folie 14
 \begin{frame}[fragile]
    \frametitle{Important Variables and Their Declaration}
    \begin{itemize}
-      \item<1->{If only one processor is used, then\\
+      \item<1->{If only one process/core is used, then\\
       \begin{minipage}{0.2\textwidth}
          \quad \\\\
@@ -956,13 +963,14 @@
          \centering
          \begin{lstlisting}
-REAL, DIMENSION(:,:,:), POINTER ::  u, u_p, v, v_p, ...
+REAL(wp), DIMENSION(:,:,:), POINTER ::  u, u_p, v, v_p, ...
          \end{lstlisting}
       \end{minipage}\\
-      This does not affect the usage of these variables in the code in (almost) any way.
-      }
+      This does not affect the usage of these variables in the code in (almost) any way.}
+      \vspace{1.0mm}
+      \item<3->{A pointer free version can be activated with preprocessor-option \texttt{-D\_\_nopointer}.}
    \end{itemize}
 \end{frame}
 
-%Folie 16
+%Folie 15
 \begin{frame}[fragile]
    \frametitle{Some Other Frequently Used Variables}
@@ -998,43 +1006,43 @@
 
 
-%Folie 17
+%Folie 16
 \begin{frame}[fragile]
    \frametitle{Preprocessor Directives (I)}
    \begin{itemize}
       \item<1->{Preprocessor directives are special lines in the code which allows to compile alternative parts of the code depending on so-called \textbf{define-string} switches.\\ Code example:\\
-      \begin{minipage}{0.2\textwidth}
+      \begin{minipage}{0.01\textwidth}
          \quad \\\\
       \end{minipage}
-      \begin{minipage}{0.7\textwidth}
+      \begin{minipage}{0.8\textwidth}
          \centering
          \begin{lstlisting}
-#if defined( __abc )
-CALL FLUSH( 9 )
+#if defined( __nopointer )
+REAL(wp), DIMENSION(:,:,:), ALLOCATABLE, TARGET :: e, e_p, ...
 #else
-CALL FLUSH_( 9 )
+REAL(wp), DIMENSION(:,:,:), POINTER :: e, e_p, ...
 #endif
          \end{lstlisting}
       \end{minipage}\\
-      If now the compiler is called e.g.\\
-      \begin{minipage}{0.2\textwidth}
+      \onslide<2->If now the compiler is called e.g.\\
+      \begin{minipage}{0.01\textwidth}
          \quad \\\\
       \end{minipage}
-      \begin{minipage}{0.7\textwidth}
+      \begin{minipage}{0.8\textwidth}
          \centering
-         \begin{lstlisting}
-ifort -cpp -D __abc ... (other options)
+         \begin{lstlisting}[basicstyle=\ttfamily \scriptsize]
+ifort -cpp -D __nopointer ... (other options)
          \end{lstlisting}
       \end{minipage}\\
-      then the line containing ``\texttt{\tiny CALL FLUSH( 9 )}'' is compiled. \\If the compiler call is\\
-      \begin{minipage}{0.2\textwidth}
+      then the line containing ``\texttt{\tiny ..., ALLOCATABLE, TARGET :: ...}'' is compiled. \\If the compiler call is\\
+      \begin{minipage}{0.01\textwidth}
          \quad \\\\
       \end{minipage}
-      \begin{minipage}{0.7\textwidth}
+      \begin{minipage}{0.8\textwidth}
          \centering
-         \begin{lstlisting}
+         \begin{lstlisting}[basicstyle=\ttfamily \scriptsize]
 ifort -cpp ... (other options)
          \end{lstlisting}
       \end{minipage}\\
-      the line containing ``\texttt{\tiny CALL FLUSH\_( 9 )}'' is compiled.
+      the line containing ``\texttt{\tiny ..., POINTER :: ...}'' is compiled.
       }
    \end{itemize}
@@ -1042,5 +1050,5 @@
 
 
-%Folie 18
+%Folie 17
 \begin{frame}[fragile]
    \frametitle{Preprocessor Directives (II)}
@@ -1055,5 +1063,5 @@
       \begin{minipage}{0.7\textwidth}
          \centering
-         \begin{lstlisting}
+         \begin{lstlisting}[basicstyle=\ttfamily \scriptsize]
 #if defined ( __abc  &&  __def )
          \end{lstlisting}
@@ -1064,5 +1072,5 @@
 
 
-%Folie 19
+%Folie 18
 \begin{frame}[fragile]
    \frametitle{Preprocessor Directives (III)}
@@ -1072,8 +1080,8 @@
       \begin{itemize}
          \item<2->{\texttt{\scriptsize \_\_ibm}} \quad IBM-Regatta systems\\
-         \item<2->{\texttt{\scriptsize \_\_lc}}\;\: \quad Linux clusters (using Intel compiler ifort)\\
+         \item<2->{\texttt{\scriptsize \_\_lc}}\;\: \quad Linux clusters\\
          \item<2->{\texttt{\scriptsize \_\_nec}} \quad NEC-SX systems\\
       \end{itemize}
-      Switches are set automatically depending on mrun-option ``\texttt{\scriptsize-h}'', eg. ``\texttt{\scriptsize-h lcmine}'' sets ``\texttt{\scriptsize-D \_\_lc}''}
+      Switches are set automatically depending on the host identifier string given with mrun-option ``\texttt{\scriptsize-h}'',\\ eg. ``\texttt{\scriptsize-h lclocal}'' sets ``\texttt{\scriptsize-D \_\_lc}''}
       \item<3->{To switch between the serial and the parallel code:\\
       \begin{itemize}
@@ -1085,15 +1093,22 @@
 
 
-%Folie 20
+%Folie 19
 \begin{frame}[fragile]
    \frametitle{Preprocessor Directives (IV)}
-   In the PALM code, define-string switches are used for following reasons:
+   \small
+   In the PALM code, define-string switches are additionally used for following reasons:
    \begin{itemize}
       \item<1->{To enable usage of special software packages which are not included in the compilation process by default\\
       \begin{itemize}
-         \item<1->{\texttt{\scriptsize \_\_dvrp\_graphics}} \quad 3D visualization system\\
-         \item<1->{\texttt{\scriptsize \_\_spectra}} \quad \quad \quad \quad calculation and output of power spectra\\
+         \item<1->{\texttt{\scriptsize \_\_dvrp\_graphics}} \quad 3D visualization system (currently out of\\ \hspace{24.5mm} order)\\
+         \item<1->{\texttt{\scriptsize \_\_spectra}} \hspace{10.7mm} calculation and output of power spectra\\
       \end{itemize}
       Switches are activated with mrun-option ``\texttt{\scriptsize-p}'', \mbox{eg. ``\texttt{\scriptsize-p} ``\texttt{\scriptsize spectra dvrp\_graphics}''''}}
+      \item<2->{To enable special features
+      \begin{itemize}
+         \item<1->{\texttt{\scriptsize \_\_openacc}} \quad activates call of external routines required for\\ \hspace{15.7mm} OpenACC programming\\
+         \item<1->{\texttt{\scriptsize \_\_netcdf, \_\_netcdf4, \_\_netcdf\_parallel}} \quad NetCDF I/O with\\ \hspace{15.7mm} different NetCDF versions\\
+      \end{itemize}
+      }
    \end{itemize}
     {\small \quad\\ \quad\\ \quad}\\ \quad  \\ \quad %nicht fragen, was das soll!! Mir ist leider nichts bsseres eingefallen um den Satz unter der Ãberschrift deckungsgleich auf beiden Folien zu haben.
@@ -1101,9 +1116,19 @@
 
 
-%Folie 21
+\lstset{language=[90]Fortran,
+  basicstyle=\ttfamily \scriptsize,
+  keywordstyle=\color{black},
+  commentstyle=\color{black},
+  morecomment=[l]{!\ }% Comment only with space after !
+}
+
+%Folie 20
 \begin{frame}[fragile]
    \frametitle{Preprocessor Directives (V)}
+   \small
    \begin{itemize}
-      \item<1->{Preprocessor directives are also used for string replacement in the code.\\ Example:\\A compiler call with preprocessor option\\
+      \item<1->{Preprocessor directives are also used for string replacement in the code.\\ 
+      \ \\
+      Example:\\A compiler call with preprocessor option\\
       \begin{minipage}{0.2\textwidth}
          \quad \\\\
@@ -1116,6 +1141,7 @@
       \end{minipage}
       will replace all strings ``\texttt{\scriptsize abcd}'' in the code with ``\texttt{\scriptsize efgh}'' \textbf{before} the code is compiled.\\
-      This is used in PALM to change the MPI\_REAL datatypes (which are 4 Byte long by default), to 8 Bytes. The respective cpp-directives are given in the configuration file \texttt{\scriptsize .mrun.config.}:\\
-      \begin{minipage}{0.2\textwidth}
+      \ \\
+      This is used in PALM to change the MPI\_REAL datatypes (which are 4 byte long by default), to 8 bytes. The respective cpp-directives are given in the configuration file \texttt{\scriptsize .mrun.config.}:\\
+      \begin{minipage}{0.01\textwidth}
          \quad \\\\
       \end{minipage}
