source: palm/trunk/TUTORIAL/SOURCE/installation.tex @ 1179

Last change on this file since 1179 was 1105, checked in by maronga, 11 years ago

submitted installation.tex and cloud_physics.tex

  • Property svn:executable set to *
  • Property svn:keywords set to Id
File size: 61.4 KB
Line 
1% $Id: installation.tex 1105 2013-02-26 11:14:51Z raasch $
2\input{header_tmp.tex}
3
4\usepackage[utf8]{inputenc}
5\usepackage{ngerman}
6\usepackage{pgf}
7\usetheme{Dresden}
8\usepackage{subfigure}
9\usepackage{units}
10\usepackage{multimedia}
11\usepackage{hyperref}
12\newcommand{\event}[1]{\newcommand{\eventname}{#1}}
13\usepackage{xmpmulti}
14\usepackage{tikz}
15\usetikzlibrary{shapes,arrows,positioning,decorations.pathreplacing}
16\def\Tiny{\fontsize{4pt}{4pt}\selectfont}
17
18%---------- neue Pakete
19\usepackage{amsmath}
20\usepackage{amssymb}
21\usepackage{multicol}
22\usepackage{pdfcomment}
23\usepackage{xcolor}
24
25\institute{Institut fÌr Meteorologie und Klimatologie, Leibniz UniversitÀt Hannover}
26\date{last update: \today}
27\event{PALM Seminar}
28\setbeamertemplate{navigation symbols}{}
29\setbeamersize{text margin left=.5cm,text margin right=.2cm}
30\setbeamertemplate{footline}
31  {%
32    \begin{beamercolorbox}[rightskip=-0.1cm]&
33     {\includegraphics[height=0.65cm]{imuk_logo.pdf}\hfill \includegraphics[height=0.65cm]{luh_logo.pdf}}
34    \end{beamercolorbox}
35    \begin{beamercolorbox}[ht=2.5ex,dp=1.125ex,%
36      leftskip=.3cm,rightskip=0.3cm plus1fil]{title in head/foot}%
37      {\leavevmode{\usebeamerfont{author in head/foot}\insertshortauthor} \hfill \eventname \hfill \insertframenumber \; / \inserttotalframenumber}%
38    \end{beamercolorbox}%
39%    \begin{beamercolorbox}[colsep=1.5pt]{lower separation line foot}%
40%    \end{beamercolorbox}
41  }%\logo{\includegraphics[width=0.3\textwidth]{luhimuk_logo.eps}}
42
43\title[PALM - Installation]{PALM - Installation}
44\author{Siegfried Raasch}
45
46% Notes:
47% jede subsection bekommt einen punkt im menu (vertikal ausgerichtet.
48% jeder frame in einer subsection bekommt einen punkt (horizontal ausgerichtet)
49\begin{document}
50
51% Folie 1
52\begin{frame}
53\titlepage
54\end{frame}
55
56% Folie 2
57\begin{frame}
58   \frametitle{Before we start: Some Definitions About Runs (I)}
59   \begin{itemize}
60      \item<1->{Interactive run}
61      \begin{itemize}
62         \item<1->{Run command ({\tt mrun}) is called in terminal and program (PALM) immediately starts to run.}
63      \end{itemize} 
64      \item<2->{Batch run}
65      \begin{itemize}
66         \item<2->{Run command is called in terminal and creates a so called batch job, which is send to a queueing system. It may run at a later time (over night), depending on how many other jobs are waiting in the queue.}
67      \end{itemize}
68      \item<3->{Batch run on \textcolor{red}{remote} machine}
69      \begin{itemize}
70         \item<3->{Like a batch run, but the batch job is send (via {\tt scp}) to a queue on a \textcolor{red}{remote} computer.}
71      \end{itemize}
72   \end{itemize} 
73\end{frame}
74
75% Folie 3
76\begin{frame}
77   \frametitle{Before we start: Some Definitions About Runs (II)}
78   
79   \begin{itemize}
80      \item<1->{Initial run / restart run}\\ \par\medskip
81      \begin{itemize}
82         \item<2->{Every queuing system has CPU time limits. If a run needs more time than these limits allow, it has to be split into several parts.}\\ \par\medskip
83         \item<3->{The first part is called \textbf{initial run}.}\\ \par\medskip
84         \item<4->{The other parts are called \textbf{restart runs}.}\\ \par\medskip
85         \item<5->{All runs together form a so-called \textbf{job-chain}.}\\ \par\medskip
86      \end{itemize} 
87   \end{itemize}
88\end{frame}
89
90% Folie 4
91\begin{frame}
92   \frametitle{PALM - Installation Overview}
93   
94   \small
95   \begin{itemize}
96      \item<1->{Participants of this seminar will install and use PALM in different ways:} 
97      \item<2->{Installation on a \textcolor{green}{local} computer (either a private Linux notebook or the Linux-cluster at IMUK) and run interactively.}
98      \item<3->{Installation on a \textcolor{green}{local}+\textcolor{red}{remote} computer (Linux-cluster at IMUK + HLRN) and run on the \textcolor{red}{remote} computer (at HLRN) in batch mode. This requires the \textcolor{green}{local} computer to have a fixed IP-address (no DHCP).}
99      \item<4->{We will start with installing PALM on a \textcolor{green}{local} computer and running it interactively.}
100   \end{itemize}
101\end{frame}
102
103% Folie 5
104\begin{frame}
105   \frametitle{PALM - Installation}
106   
107   \begin{itemize}
108      \item<1->{The following slides describe the installation procedure for running PALM on a \textcolor{green}{local} computer and how to verify the installation.}\\ \par\medskip
109      \item<2->{The installation instructions can also be found in the PALM online-documentation under\\ \par\medskip
110            \url{http://palm.muk.uni-hannover.de/wiki/doc/install}}
111   \end{itemize}
112\end{frame}
113
114% Folie 6
115\begin{frame}
116   \frametitle{PALM - Installation / General Requirements}
117   
118   \footnotesize 
119   \begin{itemize}
120      \item<1->[1.]{The Korn-shell (AT\&T ksh or public domain ksh) must be available under {\tt /bin/ksh}.} 
121      \item<2->[2.]{The netCDF-library with version number not earlier than 3.6.3 (for netCDF, see under www.unidata.ucar.edu).}
122      \item<3->[3.]{A FORTRAN90/95 compiler.}
123      \item<4->[4.]{The Message Passing Interface (MPI),  if the parallel version of PALM shall be used.}
124      \item<5->[5.]{On the \textcolor{green}{local} computer, the revision control system subversion (see subversion.tigris.org). This is already included in many Linux distributions (e.g. SuSe). Subversion requires port 3690 to be open for tcp/udp. If there are firewall restrictions concerning this port, the PALM code cannot be accessed. The user needs a permit to access the PALM repository. For getting a permit please contact the PALM group (raasch@muk.uni-hannover.de) and define a username and a password under which you like to access the repository. This username and password also gives you access to advanced features of the online documentation. (trac-server)}
125      \item<6->[6.]{All participants of this seminar are already permitted to access the repository. Use \dq seminar2012\dq as username and \dq palm2012\dq as password.}
126   \end{itemize}
127\end{frame}
128
129% Folie 7
130\begin{frame}
131   \frametitle{List of Usernames / Passwords for PALM 2012 Seminar}
132   
133   \begin{tabbing}
134      IP-address of IMUK: \qquad \=inferno.muk.uni-hannover.de (130.75.105.5)\\
135      IP-address of SGI-ICE:   \>hicegate.hlrn.de  (130.75.4.101)
136   \end{tabbing}
137   \tiny
138   \begin{tabular}[c]{|p{2cm}|p{2cm}|p{2cm}|p{2cm}|p{2cm}|} \hline
139      \textbf{Participant} & \textbf{Username on Linux-cluster (IMUK)} & \textbf{Password (IMUK)} & \textbf{Username on SGI-ICE (HLRN)} & \textbf{Password (HLRN)} \\ \hline
140      Lennart Böske & boeske & ... & hzkurs01 & @PSR0723 \\ \hline
141                    &        &     &          &          \\ \hline
142                    &        &     &          &          \\ \hline
143                    &        &     &          &          \\ \hline
144                    &        &     &          &          \\ \hline
145                    &        &     &          &          \\ \hline
146                    &        &     &          &          \\ \hline
147                    &        &     &          &          \\ \hline
148                    &        &     &          &          \\ \hline
149                    &        &     &          &          \\ \hline
150                    &        &     &          &          \\ \hline
151                    &        &     &          &          \\ \hline
152                    &        &     &          &          \\ \hline     
153   \end{tabular}
154\end{frame}
155
156% Folie 8
157\begin{frame}
158   \frametitle{Installing PALM on the \textcolor{green}{local} Computer \\ Package Download on Linux Notebooks}
159   
160   \tikzstyle{yellow1} = [rectangle, draw, fill=yellow!100, text width=0.2\textwidth, font=\tiny]
161   \tikzstyle{yellow2} = [rectangle, draw, fill=yellow!100, text width=0.3\textwidth, font=\tiny]
162   \tikzstyle{yellow3} = [rectangle, draw, fill=yellow!100, text width=0.1\textwidth, font=\tiny]
163   \tikzstyle{yellow4} = [rectangle, draw, fill=yellow!100, text width=0.15\textwidth, font=\tiny]
164   \tikzstyle{green1} = [rectangle, draw, fill=green!75!black, text width=0.1\textwidth, font=\tiny]
165   \tikzstyle{green2} = [rectangle, draw, fill=green!75!black, text width=0.15\textwidth, font=\scriptsize]
166   \tikzstyle{green3} = [rectangle, draw, fill=green!75!black, text width=0.35\textwidth, font=\scriptsize]
167   \tikzstyle{green4} = [rectangle, draw, fill=green!75!black, text width=0.4\textwidth, font=\scriptsize]
168   \tikzstyle{line} = [draw, -]
169   \tikzstyle{arrow} = [draw, -latex']
170   
171   \scriptsize
172   \uncover<2->{It is assumed that the ksh (Korn-shell) or bash is the user‘s default shell!}
173   \begin{columns}[c]
174   \column{0.5\textwidth}
175      \begin{itemize}
176         \item<3->[1.]{Create your working directory \\ \par\medskip
177            \qquad {\tt mkdir -p $\sim$/palm/current\_version}}
178      \end{itemize}
179   \column{0.42\textwidth}
180      \uncover<4->{
181      \begin{tikzpicture}[auto]
182         \node[yellow1] (home) {\$HOME/};
183         \node[yellow1] (palm) [right=0.4cm of home] {palm/};
184         \node[yellow2] (currentv) [right=0.4cm of palm] {current\_version/};
185         
186         \path[line] (home) -- (palm);
187         \path[line] (palm) -- (currentv);
188      \end{tikzpicture}
189      }
190   \end{columns}
191   \par\medskip
192   \begin{itemize}
193      \item<5->[2.]{Create a working copy of the newest PALM version (currently 3.8) from the subversion repository: \\ \par\medskip
194         \qquad {\tt cd $\sim$/palm/current\_version} \\ 
195         \qquad {\tt svn checkout --username \textless your username\textgreater \textbackslash} \\
196             \qquad \qquad {\tt svn://130.75.105.7/palm/tags/release-3.8  trunk} } \\ \par\medskip
197      \uncover<6->{
198      \begin{tikzpicture}[auto]
199         \hspace{3cm}
200         \node[yellow3] (home) {\$HOME/};
201         \node[yellow3] (palm) [right=0.4cm of home] {palm/};
202         \node[yellow4] (currentv) [right=0.4cm of palm] {current\_version/};
203         \node[green1] (trunk) [right=0.4cm of currentv] {trunk/};
204         
205         \path[line] (home) -- (palm);
206         \path[line] (palm) -- (currentv);
207         \path[line] (currentv) -- (trunk);
208      \end{tikzpicture}
209      }
210      \par\medskip
211      \item<7->[]{Alternatively, check out the most recent (test) version: \\ \par\smallskip
212         \qquad {\tt cd $\sim$/palm/current\_version} \\ 
213         \qquad {\tt svn checkout --username \textless your username\textgreater \textbackslash} \\
214             \qquad \qquad {\tt svn://130.75.105.7/palm/tags/release-3.8  trunk} }\\ \par\medskip 
215      \item<8->[]{Generally, this version may contain bugs and new features may not be documented! \textbf{Anyhow, using the most recent version is recommended for this seminar!}}
216   \end{itemize}
217\end{frame}
218
219% Folie 9
220\begin{frame}
221   \frametitle{Installing PALM on the \textcolor{green}{local} Computer \\ Package Download on IMUK-Linux-cluster}
222   
223   \tikzstyle{yellow1} = [rectangle, draw, fill=yellow!100, text width=0.2\textwidth, font=\tiny]
224   \tikzstyle{yellow2} = [rectangle, draw, fill=yellow!100, text width=0.3\textwidth, font=\tiny]
225   \tikzstyle{yellow3} = [rectangle, draw, fill=yellow!100, text width=0.1\textwidth, font=\tiny]
226   \tikzstyle{yellow4} = [rectangle, draw, fill=yellow!100, text width=0.15\textwidth, font=\tiny]
227   \tikzstyle{green1} = [rectangle, draw, fill=green!75!black, text width=0.1\textwidth, font=\tiny]
228   \tikzstyle{line} = [draw, -]
229   
230   \footnotesize
231   \begin{itemize}
232      \item<2->[1.]{Login from the \textcolor{green}{local} desktop or from your notebook using an ssh-client: \\ \par\smallskip
233         \qquad {\tt ssh -X \textless your IMUK-username\textgreater @inferno.muk.uni-hannover.de}\\ \par\smallskip
234      FORTRAN-compiler, MPI- and netCDF-libraries and all other required software are already installed.} 
235   \end{itemize}
236   \begin{columns}[c]
237   \column{0.5\textwidth}
238      \begin{itemize}
239         \item<3->[2.]{Create your working directory \\ \par\medskip
240            \qquad {\tt mkdir -p $\sim$/palm/current\_version}}
241      \end{itemize}
242   \column{0.42\textwidth}
243      \uncover<4->{
244      \begin{tikzpicture}[auto]
245         \node[yellow1] (home) {\$HOME/};
246         \node[yellow1] (palm) [right=0.4cm of home] {palm/};
247         \node[yellow2] (currentv) [right=0.4cm of palm] {current\_version/};
248         
249         \path[line] (home) -- (palm);
250         \path[line] (palm) -- (currentv);
251      \end{tikzpicture}
252      }
253   \end{columns}
254   \par\medskip
255   \begin{itemize}
256      \item<5->[3.]{Check out the most recent PALM version to your working directory: \\ \par\medskip
257         \qquad {\tt cd $\sim$/palm/current\_version} \\ 
258         \qquad {\tt svn checkout --username \textless your username\textgreater \textbackslash} \\
259             \qquad \qquad {\tt svn://130.75.105.7/palm/trunk  trunk} } \\ \par\medskip
260      \uncover<6->{
261      \begin{tikzpicture}[auto]
262         \hspace{3cm}
263         \node[yellow3] (home) {\$HOME/};
264         \node[yellow3] (palm) [right=0.4cm of home] {palm/};
265         \node[yellow4] (currentv) [right=0.4cm of palm] {current\_version/};
266         \node[green1] (trunk) [right=0.4cm of currentv] {trunk/};
267         
268         \path[line] (home) -- (palm);
269         \path[line] (palm) -- (currentv);
270         \path[line] (currentv) -- (trunk);
271      \end{tikzpicture}
272      }
273   \end{itemize}
274\end{frame}
275
276% Folie 10
277\begin{frame}
278   \frametitle{Installing PALM on the \textcolor{green}{local} Computer \\ Package Configuration on Linux Notebooks}
279   
280   \tikzstyle{yellow1} = [rectangle, draw, fill=yellow!100, text width=0.2\textwidth, font=\tiny]
281   \tikzstyle{yellow2} = [rectangle, draw, fill=yellow!100, text width=0.3\textwidth, font=\tiny]
282   \tikzstyle{yellow3} = [rectangle, draw, fill=yellow!100, text width=0.1\textwidth, font=\tiny]
283   \tikzstyle{yellow4} = [rectangle, draw, fill=yellow!100, text width=0.15\textwidth, font=\tiny]
284   \tikzstyle{green1} = [rectangle, draw, fill=green!75!black, text width=0.1\textwidth, font=\tiny]
285   \tikzstyle{line} = [draw, -]
286   \tikzstyle{label} = [rectangle, font=\scriptsize, minimum size=8pt]
287   
288   \scriptsize
289   \begin{itemize}
290      \item<1->{Set environment variables in the respective profile of the user‘s default shell (e.g. in {\tt .profile}, when ksh is used, or in {\tt .bashrc}, when bash is used): \\ \par\medskip
291      \uncover<2->{{\tiny \textcolor{red}{Note: .profile / .bashrc have to be located in \$HOME; recommended text editors are e.g. xedit / vi}}} \\ \par\medskip
292         \qquad {\tt export PALM\_BIN=\$HOME/palm/current\_version/trunk/SCRIPTS} \\
293         \qquad {\tt export PATH=\$PALM\_BIN:\$PATH}}\\ \par\medskip
294      \uncover<3->{
295           \begin{tikzpicture}[auto, >=latex']
296              \hspace{0.5cm}
297              \node[yellow3] (home) {\$HOME/};
298              \node[yellow3] (palm) [right=0.4cm of home] {palm/};
299              \node[yellow4] (currentv) [right=0.4cm of palm] {current\_version/};
300              \node[green1] (trunk) [right=0.4cm of currentv] {trunk/};
301              \node[green1] (scripts) [right=0.4cm of trunk] {SCRIPTS/};
302             
303              \path[line] (home) -- (palm);
304              \path[line] (palm) -- (currentv);
305              \path[line] (currentv) -- (trunk);
306              \path[line] (trunk) -- (scripts);
307             
308              \uncover<6->{\draw [->, thick] {(scripts.south) .. controls (8.0,-1.0) and (4.0,-1.0) .. (currentv.south)};}
309             
310              \node[label, right=0pt of scripts] (scriptlabelbase2) {};
311              \node[label, above=0pt of scriptlabelbase2] (scriptlabelbase1) {};
312              \node[label, below=0pt of scriptlabelbase2] (scriptlabelbase3) {};
313              \node[label, right=0pt of scriptlabelbase1] (scriptlabel1) {mrun};
314              \node[label, right=0pt of scriptlabelbase2] (scriptlabel2) {mbuild};
315              \node[label, right=0pt of scriptlabelbase3] (scriptlabel3) {...};
316           \end{tikzpicture}
317      }
318      \item<4->{Restart the shell  (e.g. exit and login (via ssh) again). Otherwise settings are not active.}
319      \item<5->{Create your personal configuration file, needed by {\tt mbuild} and {\tt mrun}: \\ \par\medskip
320         \qquad {\tt cd ~/palm/current\_version} \\
321         \qquad {\tt cp trunk/SCRIPTS/.mrun.config.default .mrun.config} \\ \par\medskip
322      \uncover<7->{The next two slides explain parts of the format of the configuration file.}}
323   \end{itemize}
324\end{frame}
325
326% Folie 11
327\begin{frame}
328   \frametitle{Installing PALM on the \textcolor{green}{local} Computer \\ The Configuration File (I)}
329   
330   \tikzstyle{box} = [rectangle, draw, text width=0.8\textwidth, font=\tiny]
331   
332   \small
333   \begin{itemize}
334      \item<1->{In the first part of the file, environment-variables used by {\tt mbuild} and {\tt mrun} are set to their required values. The format is like} 
335   \end{itemize}
336   \uncover<2->{
337   \begin{center}
338   \begin{tikzpicture}[auto, node distance=0]     
339      \node[box](box){ \begin{tabbing} 
340         {\tt \#column 1} \hspace{1.5cm}  \={\tt column 2} \hspace{3.5cm} \={\tt column 3} \\
341         {\tt \#name of variable} \>{\tt value of variable (must not be used)} \>{\tt scope} \\ 
342         {\tt \#-------------------------------------------------------------------------------------} \\ 
343         {\tt \%mainprog} \>{\tt palm.f90} \\
344         {\tt \%base\_directory} \>{\tt \$HOME/palm/current\_version/} \>{\tt \textcolor{blue}{\uncover<4->{lcsgih}}} \\ \end{tabbing}};       
345   \end{tikzpicture}
346   \end{center}
347   }
348   \begin{itemize}
349      \item<3->{The configuration file allows settings for different computers \\ (e.g. \textcolor{green}{local} / \textcolor{red}{remote} host). These are done in different blocks of lines, and these blocks are marked with the so-called \textcolor{blue}{host-identifier} of the respective computer. This identifier is given in column 3. No entry in column 3 means that the respective setting is valid for all computers (hosts).}
350   \end{itemize}
351\end{frame}
352
353% Folie 12
354\begin{frame}
355   \frametitle{Installing PALM on the \textcolor{green}{local} Computer \\ The Configuration File (II)}
356   
357   \tikzstyle{box} = [rectangle, draw, text width=0.65\textwidth, font=\tiny]
358   
359   \scriptsize
360   \begin{itemize}
361      \item<2->{The host identifier string can be freely chosen, but the first characters must match the type of operating system on the respective host:}\\ \par\medskip
362      \begin{itemize}\scriptsize
363         \item<2->{Linux(-Cluster): \hspace{1.15cm} {\tt lc}}
364         \item<2->{IBM-AIX: \hspace{1.9cm} {\tt ibm}}
365         \item<2->{NEC-SX: \hspace{2.01cm} {\tt nec}}
366      \end{itemize}
367      \par\medskip
368      \item<3->{Here is an example for settings of compiler names for different hosts: \\
369            {\tiny {\tt (compiler\_name}: for compiling MPI-programs, {\tt compiler\_name\_ser}: for compiling serial code)}}
370   \end{itemize}
371   \uncover<4->{
372   \begin{center}
373   \begin{tikzpicture}[auto, node distance=0]     
374      \node[box](box){ \begin{tabbing} 
375         {\tt \%compiler\_name} \hspace{1cm}  \={\tt mpif90} \hspace{3cm} \={\tt lcsgih} \\
376         {\tt \%compiler\_name\_ser} \>{\tt ifort} \>{\tt lcsgih} \\
377         {\tt \%compiler\_name} \>{\tt mpif90} \>{\tt lcother} \\
378         {\tt \%compiler\_name\_ser} \>{\tt f95} \>{\tt lcother} \\
379         {\tt \%compiler\_name} \>{\tt ftn} \>{\tt lcxt4} \\
380         {\tt \%compiler\_name\_ser} \>{\tt ftn} \>{\tt lcxt4}
381         \end{tabbing}};
382   \end{tikzpicture}
383   \end{center}
384   }
385   \begin{itemize}
386      \item<5->{If value-strings contain blanks, they have to be replaced by colon (\dq:\dq): \\
387            {\tiny ({\tt fopts}: compiler options to be used)}}
388   \end{itemize}
389   \uncover<5->{
390   \begin{center}
391   \begin{tikzpicture}[auto, node distance=0]     
392      \node[box](box){ 
393         {\tt \%fopts} \hspace{0.4cm}  {\tt -g:-w:-xT:-O3:-cpp:-r8:-nbs} \hspace{1cm} {\tt lcother parallel}};       
394   \end{tikzpicture}
395   \end{center}
396   }
397\end{frame}
398
399% Folie 13
400\begin{frame}
401   \frametitle{Installing PALM on the \textcolor{green}{local} Computer \\ Configuring {\tt .mrun.config} on Linux Notebooks}
402   
403   \small
404   \begin{itemize}
405      \item<1->{Now edit the configuration file and adjust it for your \textcolor{green}{local} computer. \\ \par\medskip
406      For this, you will need informations about all paths where the netCDF- and MPI-libraries reside, as well as the hostname of your \textcolor{green}{local} computer. You can find out the hostname by simply typing the unix-command: \\ \par\medskip
407         \qquad {\tt hostname}}\\ \par\medskip
408      \item<2->{The default configuration file assumes that an \textcolor{blue}{Intel FORTRAN compiler} and the \textcolor{orange}{mpich2} - MPI-version is installed on the \textcolor{green}{local} computer.} 
409      \item<3->{Please give all respective \textcolor{cyan}{paths} and replace \textless hi\textgreater by your host identifier.}
410   \end{itemize}
411\end{frame}
412
413% Folie 14a
414\begin{frame}
415   \frametitle{Installing PALM on the \textcolor{green}{local} Computer \\ Configuring {\tt .mrun.config} on Linux Notebooks}
416   
417   \tikzstyle{box} = [rectangle, draw, text width=0.9\textwidth, font=\tiny]
418   
419   \scriptsize
420   \begin{itemize}
421      \item{The default configuration file assumes that an \textcolor{blue}{Intel FORTRAN compiler} and the \textcolor{orange}{mpich2} - MPI-version is installed on the \textcolor{green}{local} computer.}
422      \item{Please give all respective \textcolor{cyan}{paths} and replace \textless hi\textgreater by your host identifier.}
423   \end{itemize}
424      \begin{center}
425      \begin{tikzpicture}[auto, node distance=0]     
426         \node[box](box){ 
427            {\tt \# The next line is just an example. Add your own line below or replace this line.} \\
428            {\tt \%host\_identifier  myhostname lcmy} \\
429            {\tt \#} \\
430            {\tt \# The next block contains all informations for compiling the PALM code} \\
431            {\tt \#} \\
432            \begin{tabbing} 
433            {\tt \%tmp\_use\_catalog} \hspace{0.3cm} \={\tt /tmp} \hspace{6.0cm} \={\tt <hi> parallel} \\
434            {\tt \%compiler\_name} \>{\tt \textcolor{blue}{mpif90}} \>{\tt <hi> parallel} \\
435            {\tt \%compiler\_name\_ser} \>{\tt ifort} \>{\tt <hi> parallel} \\
436            {\tt \%cpp\_options} \>{\tt \textcolor{orange}{-D\_\_mpi2}:-DMPI\_REAL=MPI\_DOUBLE\_PRECISION:} \>{\tt <hi> parallel} \\
437            {\tt } \>{\tt :-DMPI\_2REAL=MPI\_2DOUBLE\_PRECISION:-D\_\_netcdf} \>{\tt } \\
438            {\tt \%netcdf\_inc} \>{\tt -I:\textcolor{cyan}{<replace by netcdf include path>}} \>{\tt <hi> parallel} \\
439            {\tt \%netcdf\_lib} \>{\tt -L\textcolor{cyan}{<replace by netcdf include path>}:-lnetcdf} \>{\tt <hi> parallel} \\
440            {\tt \%fopts} \>{\tt -xS:-cpp:-openmp:-r8:-nbs:-convert:little\_endian:} \>{\tt <hi> parallel} \\
441            {\tt } \>{\tt -I:\textcolor{cyan}{<replace by mpi include path>}} \>{\tt } \\
442            {\tt \%lopts} \>{\tt -xS:-cpp:-openmp:-r8:-nbs:-Vaxlib:} \>{\tt <hi> parallel} \\
443            {\tt } \>{\tt -L\textcolor{cyan}{<replace by mpi library path>}} \>{\tt } \\
444            {\tt \# if you want to use your own hostfile, uncomment next line} \>{\tt } \>{\tt } \\
445            {\tt \#\%hostfile} \>{\tt \$base\_directory/.hostfile} \>{\tt <hi> parallel} \\
446            {\tt \# if you want this host to be used as a \textcolor{red}{remote} host, uncomment next line} \>{\tt } \>{\tt } \\
447            {\tt \#\%remote\_username} \>{\tt <replace by your username om this host>} \>{\tt <hi> parallel}
448            \end{tabbing}};
449      \end{tikzpicture}
450      \end{center}
451\end{frame}
452
453% Folie 14b
454\begin{frame}
455   \frametitle{Installing PALM on the \textcolor{green}{local} Computer \\ Configuring {\tt .mrun.config} on Linux Notebooks}
456   
457   \tikzstyle{box} = [rectangle, draw, text width=0.9\textwidth, font=\tiny]
458   
459   \scriptsize
460   \begin{itemize}
461      \item{The default configuration file assumes that an \textcolor{blue}{Intel FORTRAN compiler} and the \textcolor{orange}{mpich2} - MPI-version is installed on the \textcolor{green}{local} computer.} 
462      \item{Please give all respective \textcolor{cyan}{paths} and replace \textless hi\textgreater by your host identifier.}
463   \end{itemize}
464      \begin{center}
465      \begin{tikzpicture}[auto, node distance=0]     
466         \node[box](box){ 
467            {\tt \# The next line is just an example. Add your own line below or replace this line.} \\
468            {\tt \%host\_identifier  scirocco \textcolor{purple}{lcsci}} \\
469            {\tt \#} \\
470            {\tt \# The next block contains all informations for compiling the PALM code} \\
471            {\tt \#} \\
472            \begin{tabbing} 
473            {\tt \%tmp\_use\_catalog} \hspace{0.3cm} \={\tt /tmp} \hspace{6.0cm} \={\tt <hi> parallel} \\
474            {\tt \%compiler\_name} \>{\tt \textcolor{blue}{mpif90}} \>{\tt <hi> parallel} \\
475            {\tt \%compiler\_name\_ser} \>{\tt ifort} \>{\tt <hi> parallel} \\
476            {\tt \%cpp\_options} \>{\tt \textcolor{orange}{-D\_\_mpi2}:-DMPI\_REAL=MPI\_DOUBLE\_PRECISION:} \>{\tt <hi> parallel} \\
477            {\tt } \>{\tt :-DMPI\_2REAL=MPI\_2DOUBLE\_PRECISION:-D\_\_netcdf} \>{\tt } \\
478            {\tt \%netcdf\_inc} \>{\tt -I:\textcolor{cyan}{<replace by netcdf include path>}} \>{\tt <hi> parallel} \\
479            {\tt \%netcdf\_lib} \>{\tt -L\textcolor{cyan}{<replace by netcdf include path>}:-lnetcdf} \>{\tt <hi> parallel} \\
480            {\tt \%fopts} \>{\tt -xS:-cpp:-openmp:-r8:-nbs:-convert:little\_endian:} \>{\tt <hi> parallel} \\
481            {\tt } \>{\tt -I:\textcolor{cyan}{<replace by mpi include path>}} \>{\tt } \\
482            {\tt \%lopts} \>{\tt -xS:-cpp:-openmp:-r8:-nbs:-Vaxlib:} \>{\tt <hi> parallel} \\
483            {\tt } \>{\tt -L\textcolor{cyan}{<replace by mpi library path>}} \>{\tt } \\
484            {\tt \# if you want to use your own hostfile, uncomment next line} \>{\tt } \>{\tt } \\
485            {\tt \#\%hostfile} \>{\tt \$base\_directory/.hostfile} \>{\tt <hi> parallel} \\
486            {\tt \# if you want this host to be used as a \textcolor{red}{remote} host, uncomment next line} \>{\tt } \>{\tt } \\
487            {\tt \#\%remote\_username} \>{\tt <replace by your username om this host>} \>{\tt <hi> parallel}
488            \end{tabbing}};
489      \end{tikzpicture}
490      \end{center}
491\end{frame}
492
493% Folie 14c
494\begin{frame}
495   \frametitle{Installing PALM on the \textcolor{green}{local} Computer \\ Configuring {\tt .mrun.config} on Linux Notebooks}
496   
497   \tikzstyle{box} = [rectangle, draw, text width=0.9\textwidth, font=\tiny]
498   
499   \scriptsize
500   \begin{itemize}
501      \item{The default configuration file assumes that an \textcolor{blue}{Intel FORTRAN compiler} and the \textcolor{orange}{mpich2} - MPI-version is installed on the \textcolor{green}{local} computer.} 
502      \item{Please give all respective \textcolor{cyan}{paths} and replace \textless hi\textgreater by your host identifier.}
503   \end{itemize}
504      \begin{center}
505      \begin{tikzpicture}[auto, node distance=0]     
506         \node[box](box){ 
507            {\tt \# The next line is just an example. Add your own line below or replace this line.} \\
508            {\tt \%host\_identifier  scirocco \textcolor{purple}{lcsci}} \\
509            {\tt \#} \\
510            {\tt \# The next block contains all informations for compiling the PALM code} \\
511            {\tt \#} \\
512            \begin{tabbing} 
513            {\tt \%tmp\_use\_catalog} \hspace{0.3cm} \={\tt /tmp} \hspace{6.0cm} \={\tt \textcolor{purple}{lcsci} parallel} \\
514            {\tt \%compiler\_name} \>{\tt \textcolor{blue}{mpif90}} \>{\tt \textcolor{purple}{lcsci} parallel} \\
515            {\tt \%compiler\_name\_ser} \>{\tt ifort} \>{\tt \textcolor{purple}{lcsci} parallel} \\
516            {\tt \%cpp\_options} \>{\tt \textcolor{orange}{-D\_\_mpi2}:-DMPI\_REAL=MPI\_DOUBLE\_PRECISION:} \>{\tt \textcolor{purple}{lcsci} parallel} \\
517            {\tt } \>{\tt :-DMPI\_2REAL=MPI\_2DOUBLE\_PRECISION:-D\_\_netcdf} \>{\tt } \\
518            {\tt \%netcdf\_inc} \>{\tt -I:\textcolor{cyan}{<replace by netcdf include path>}} \>{\tt \textcolor{purple}{lcsci} parallel} \\
519            {\tt \%netcdf\_lib} \>{\tt -L\textcolor{cyan}{<replace by netcdf include path>}:-lnetcdf} \>{\tt \textcolor{purple}{lcsci} parallel} \\
520            {\tt \%fopts} \>{\tt -xS:-cpp:-openmp:-r8:-nbs:-convert:little\_endian:} \>{\tt \textcolor{purple}{lcsci} parallel} \\
521            {\tt } \>{\tt -I:\textcolor{cyan}{<replace by mpi include path>}} \>{\tt } \\
522            {\tt \%lopts} \>{\tt -xS:-cpp:-openmp:-r8:-nbs:-Vaxlib:} \>{\tt \textcolor{purple}{lcsci} parallel} \\
523            {\tt } \>{\tt -L\textcolor{cyan}{<replace by mpi library path>}} \>{\tt } \\
524            {\tt \# if you want to use your own hostfile, uncomment next line} \>{\tt } \>{\tt } \\
525            {\tt \#\%hostfile} \>{\tt \$base\_directory/.hostfile} \>{\tt \textcolor{purple}{lcsci} parallel} \\
526            {\tt \# if you want this host to be used as a \textcolor{red}{remote} host, uncomment next line} \>{\tt } \>{\tt } \\
527            {\tt \#\%remote\_username} \>{\tt <replace by your username om this host>} \>{\tt \textcolor{purple}{lcsci} parallel}
528            \end{tabbing}};
529      \end{tikzpicture}
530      \end{center}
531\end{frame}
532
533% Folie 15
534\begin{frame}
535   \frametitle{Installing PALM on the \textcolor{green}{local} Computer \\ Package Configuration on IMUK-cluster (I)}
536   
537   \tikzstyle{yellow1} = [rectangle, draw, fill=yellow!100, text width=0.2\textwidth, font=\tiny]
538   \tikzstyle{yellow2} = [rectangle, draw, fill=yellow!100, text width=0.3\textwidth, font=\tiny]
539   \tikzstyle{yellow3} = [rectangle, draw, fill=yellow!100, text width=0.1\textwidth, font=\tiny]
540   \tikzstyle{yellow4} = [rectangle, draw, fill=yellow!100, text width=0.15\textwidth, font=\tiny]
541   \tikzstyle{green1} = [rectangle, draw, fill=green!75!black, text width=0.1\textwidth, font=\tiny]
542   \tikzstyle{line} = [draw, -]
543   \tikzstyle{label} = [rectangle, font=\scriptsize, minimum size=8pt]
544   
545   \scriptsize
546   \begin{itemize}
547      \item<1->[1.]{Login on host inferno:\\ \par\medskip
548         \qquad {\tt ssh -X \textless your IMUK-username\textgreater @130.75.105.5}} \\ \par\medskip
549      \item<2->[2.]{Set environment variables in the respective profile of the user‘s default shell, (which is .\textcolor{red}{my}profile, on the IMUK-Linux-cluster): \\ \par\medskip
550          \uncover<3->{\qquad {\tiny \textcolor{red}{Note: .profile / .bashrc have to be located in \$HOME; recommended text editors are e.g. xedit / vi}}} \\ 
551          \qquad {\tt export PALM\_BIN=\$HOME/palm/current\_version/trunk/SCRIPTS} \\
552          \qquad {\tt export PATH=\$PALM\_BIN:\$PATH}}\\ \par\medskip
553      \item<4->[3.]{Restart the shell (e.g. exit and login (via ssh) again). Otherwise settings are not active.}\\ \par\medskip
554      \item<5->[4.]{Create your personal configuration file, needed by {\tt mbuild} and {\tt mrun}: \\ \par\medskip
555         \qquad {\tt cd ~/palm/current\_version} \\
556         \qquad {\tt cp trunk/SCRIPTS/.mrun.config.imuk\_hlrn .mrun.config} \\ \par\medskip
557         \uncover<6->{
558         \begin{tikzpicture}[auto, >=latex']
559              \hspace{0.5cm}
560              \node[yellow3] (home) {\$HOME/};
561              \node[yellow3] (palm) [right=0.4cm of home] {palm/};
562              \node[yellow4] (currentv) [right=0.4cm of palm] {current\_version/};
563              \node[green1] (trunk) [right=0.4cm of currentv] {trunk/};
564              \node[green1] (scripts) [right=0.4cm of trunk] {SCRIPTS/};
565             
566              \path[line] (home) -- (palm);
567              \path[line] (palm) -- (currentv);
568              \path[line] (currentv) -- (trunk);
569              \path[line] (trunk) -- (scripts);
570             
571              \uncover<7->{\draw [->, thick] {(scripts.south) .. controls (8.0,-1.0) and (4.0,-1.0) .. (currentv.south)};}
572             
573              \node[label, right=0pt of scripts] (scriptlabelbase2) {};
574              \node[label, above=0pt of scriptlabelbase2] (scriptlabelbase1) {};
575              \node[label, below=0pt of scriptlabelbase2] (scriptlabelbase3) {};
576              \node[label, right=0pt of scriptlabelbase1] (scriptlabel1) {mrun};
577              \node[label, right=0pt of scriptlabelbase2] (scriptlabel2) {mbuild};
578              \node[label, right=0pt of scriptlabelbase3] (scriptlabel3) {...};
579         \end{tikzpicture}}}
580   \end{itemize}
581\end{frame}
582
583% Folie 16
584\begin{frame}
585   \frametitle{Installing PALM on the \textcolor{green}{local} Computer \\ Package Configuration on IMUK-cluster (II)}
586   
587   \tikzstyle{box} = [rectangle, draw, text width=0.8\textwidth, font=\tiny]
588   
589   \small
590   \begin{itemize}
591      \item<1->[5.]{Edit the configuration file and replace the string {\tt<replace by your IMUK username>}  by your IMUK username and uncomment the respective lines:\\ \par\medskip
592         \qquad {\tt vi .mrun.config}} \\ \par\medskip
593      \begin{itemize}
594      \item<1->{Old: \\
595   \begin{center}
596   \begin{tikzpicture}[auto, node distance=0]     
597      \node[box](box){ 
598         .\\.\\
599         {\tt \# The next block contains all informations for compiling the PALM code}\\ {\tt\#} \\.\\.\\
600         \begin{tabbing} 
601         {\tt \#\%remote\_username} \hspace{0.2cm}  \={\tt \textcolor{blue}{<replace by your IMUK username>}} \hspace{1.6cm} \={\tt lcmuk parallel} \\
602         {\tt \#\%tmp\_use\_catalog} \>{\tt /localdata/\textcolor{blue}{<replace by your IMUK username>}} \>{\tt lcmuk parallel}
603         \end{tabbing}};
604   \end{tikzpicture}
605   \end{center}
606   }
607   \item<2->{New: \\
608   \begin{center}
609   \begin{tikzpicture}[auto, node distance=0]     
610      \node[box](box){
611         \begin{tabbing}
612         {\tt \%remote\_username} \hspace{0.2cm}  \={\tt \textcolor{blue}{your\_name}} \hspace{4.1cm} \={\tt lcmuk parallel} \\
613         {\tt \%tmp\_use\_catalog} \>{\tt /localdata/\textcolor{blue}{your\_name}} \>{\tt lcmuk parallel}
614         \end{tabbing}};
615   \end{tikzpicture}
616   \end{center}
617   }
618      \end{itemize}
619   \end{itemize}
620\end{frame}
621
622% Folie 17
623\begin{frame}
624   \frametitle{Installing PALM on the \textcolor{green}{local} Computer \\ Creating the Utility Programs}
625   
626   \tikzstyle{blanc} = [rectangle, text width=0\textwidth, font=\scriptsize]
627   \tikzstyle{white} = [rectangle, text width=0.1\textwidth, font=\scriptsize]
628   \tikzstyle{yellow1} = [rectangle, draw, fill=yellow!100, text width=0.2\textwidth, font=\tiny]
629   \tikzstyle{yellow2} = [rectangle, draw, fill=yellow!100, text width=0.3\textwidth, font=\tiny]
630   \tikzstyle{yellow3} = [rectangle, draw, fill=yellow!100, text width=0.08\textwidth, font=\tiny]
631   \tikzstyle{yellow4} = [rectangle, draw, fill=yellow!100, text width=0.13\textwidth, font=\tiny]
632   \tikzstyle{yellow5} = [rectangle, draw, fill=yellow!100, text width=0.05\textwidth, font=\tiny]
633   \tikzstyle{green1} = [rectangle, draw, fill=green!75!black, text width=0.08\textwidth, font=\tiny]
634   \tikzstyle{green2} = [rectangle, draw, fill=green!75!black, text width=0.05\textwidth, font=\tiny]
635   \tikzstyle{line} = [draw, -]
636   \tikzstyle{label} = [rectangle, font=\scriptsize, minimum size=8pt]
637   
638   \scriptsize
639   \begin{itemize}
640      \item<1->{The shellscript {\tt mrun} which is used to run PALM needs a few more utility programs (written in FORTRAN) and the respective executables have to be created on the local host:\\ \par\smallskip
641           \qquad {\tt cd ~/palm/current\_version} \\
642           \qquad {\tt mbuild -u -h <hi>}} \\ \par\bigskip
643           
644           \begin{tikzpicture}[auto, >=latex']
645              \node[blanc] (base) {};
646              \node[blanc] (basebefore) [below=0.0cm of base] {};
647              \node[blanc] (baseafter) [below=2.0cm of base] {};
648           \uncover<2->{
649              \node[white] (before) [left=1.0cm of basebefore] {\textbf{Before:}};
650             
651              \node[yellow3] (home) [below=0.3cm of before] {\$HOME/};
652              \node[yellow5] (palm) [right=0.4cm of home] {palm/};
653              \node[yellow4] (currentv) [right=0.4cm of palm] {current\_version/};
654              \node[green2] (trunk) [right=0.4cm of currentv] {trunk/};
655              \node[green1] (utils) [right=0.4cm of trunk] {UTIL/};
656             
657              \path[line] (home) -- (palm);
658              \path[line] (palm) -- (currentv);
659              \path[line] (currentv) -- (trunk);
660              \path[line] (trunk) -- (utils);
661             
662              \node[label, right=0pt of utils] (utillabelbase2) {};
663              \node[label, above=0pt of utillabelbase2] (utillabelbase1) {};
664              \node[label, below=0pt of utillabelbase2] (utillabelbase3) {};
665              \node[label, right=0pt of utillabelbase1] (utillabel1) {interpret\_config.f90};
666              \node[label, right=0pt of utillabelbase2] (utillabel2) {combine\_plot\_fields.f90};
667           }
668           \uncover<3->{
669              \node[white] (after) [left=1.0cm of baseafter] {\textbf{After:}};
670             
671              \node[yellow3] (home2) [below=0.3cm of after] {\$HOME/};
672              \node[yellow5] (palm2) [right=0.4cm of home2] {palm/};
673              \node[yellow4] (currentv2) [right=0.4cm of palm2] {current\_version/};
674              \node[green2] (trunk2) [right=0.4cm of currentv2] {trunk/};
675              \node[green1] (scripts) [right=0.4cm of trunk2] {SCRIPTS/};
676             
677              \path[line] (home2) -- (palm2);
678              \path[line] (palm2) -- (currentv2);
679              \path[line] (currentv2) -- (trunk2);
680              \path[line] (trunk2) -- (scripts);
681             
682              \node[label, right=0pt of scripts] (scriptlabelbase2) {};
683              \node[label, above=0pt of scriptlabelbase2] (scriptlabelbase1) {};
684              \node[label, below=0pt of scriptlabelbase2] (scriptlabelbase3) {};
685              \node[label, above=0pt of scriptlabelbase1] (scriptlabelbase0) {};
686              \node[label, below=0pt of scriptlabelbase3] (scriptlabelbase4) {};
687              \node[label, right=0pt of scriptlabelbase0] (scriptlabel0) {mrun};
688              \node[label, right=0pt of scriptlabelbase1] (scriptlabel1) {mbuild};
689              \node[label, right=0pt of scriptlabelbase2] (scriptlabel2) {interpret\_config\_parallel.x};
690              \node[label, right=0pt of scriptlabelbase3] (scriptlabel3) {combine\_plot\_fields\_parallel.x};
691              \node[label, right=0pt of scriptlabelbase4] (scriptlabel4) {...};
692           }
693           
694           \uncover<4->{
695              \node[label, above=0pt of scriptlabelbase2] (scriptlabelbase01) {};
696              \node[label, right=40pt of scriptlabelbase01] (scriptlabe01) {};
697              \node[label, below=0pt of utillabelbase2] (utillabelbase04) {};
698              \node[label, right=40pt of utillabelbase04] (utiltlabe04) {};
699             
700              \draw[->, thick] (utiltlabe04) -- (scriptlabe01);
701           }
702           \end{tikzpicture}
703   \end{itemize}
704\end{frame}
705
706% Folie 18
707\begin{frame}
708   \frametitle{Installing PALM on the \textcolor{green}{local} Computer \\ Pre-Compiling the PALM Code}
709   
710   \tikzstyle{blanc} = [rectangle, text width=0\textwidth, font=\scriptsize]
711   \tikzstyle{white} = [rectangle, text width=0.1\textwidth, font=\scriptsize]
712   \tikzstyle{yellow1} = [rectangle, draw, fill=yellow!100, text width=0.2\textwidth, font=\tiny]
713   \tikzstyle{yellow2} = [rectangle, draw, fill=yellow!100, text width=0.3\textwidth, font=\tiny]
714   \tikzstyle{yellow3} = [rectangle, draw, fill=yellow!100, text width=0.08\textwidth, font=\tiny]
715   \tikzstyle{yellow4} = [rectangle, draw, fill=yellow!100, text width=0.13\textwidth, font=\tiny]
716   \tikzstyle{yellow5} = [rectangle, draw, fill=yellow!100, text width=0.05\textwidth, font=\tiny]
717   \tikzstyle{green1} = [rectangle, draw, fill=green!75!black, text width=0.1\textwidth, font=\tiny]
718   \tikzstyle{green2} = [rectangle, draw, fill=green!75!black, text width=0.1\textwidth, font=\tiny]
719   \tikzstyle{green3} = [rectangle, draw, fill=green!75!black, text width=0.25\textwidth, font=\tiny]
720   \tikzstyle{line} = [draw, -]
721   \tikzstyle{label} = [rectangle, font=\scriptsize, minimum size=8pt]
722   \tikzstyle{point} = [rectangle, draw, inner sep=0pt,minimum size=0pt,fill=black]
723   
724   \scriptsize
725   \begin{tabbing}
726      {\textcolor{blue}{Reason:}} \hspace{0.2cm}  \={Compilation is time consuming (especially when regarding short test runs).}\\
727      {\tt } \>{Using pre-compiled files prevents the code from being repeatedly compiled}\\
728      {\tt } \>{for each model run.}
729      \end{tabbing}
730      Pre-compiled files are generated by using the command {\tt mbuild}.\\
731      {\tt mbuild} performs the following steps:\\
732      \begin{itemize}
733      \item<2->{It copies all source code files from trunk/SOURCE to a make depository,
734           \begin{tikzpicture}[auto, >=latex']
735           \uncover<3->{
736              \node[yellow4] (currentv2) {current\_version/};
737             
738              \node[point] (base) [right=0.2cm of currentv2] {};
739              \node[blanc] (base1) [above=0.3cm of base] {};
740              \node[blanc] (base2) [below=0.3cm of base] {};
741             
742              \node[green2] (trunk2) [right=0.1cm of base1] {trunk/};
743              \node[green1] (source) [right=0.4cm of trunk2] {SOURCE/};
744             
745              \path[line] (trunk2) -- (source);
746             
747              \node[label, right=0pt of source] (scriptlabelbase2) {};
748              \node[label, above=0pt of scriptlabelbase2] (scriptlabelbase1) {};
749              \node[label, below=0pt of scriptlabelbase2] (scriptlabelbase3) {};
750              \node[label, below=0pt of scriptlabelbase3] (scriptlabelbase4) {};
751              \node[label, right=0pt of scriptlabelbase1] (scriptlabel1) {Makefile};
752              \node[label, right=0pt of scriptlabelbase2] (scriptlabel2) {advec\_particles.f90};
753              \node[label, right=0pt of scriptlabelbase3] (scriptlabel3) {advec\_s\_bc.f90};
754              \node[label, right=0pt of scriptlabelbase4] (scriptlabel4) {...};
755             
756              \node[green3] (makedep) [right=0.1cm of base2] {MAKE\_DEPOSITORY\_parallel/};
757             
758              \path[line] (currentv2) -- (base);
759              \path[line] (base.south) |- (trunk2);
760              \path[line] (base.north) |- (makedep);
761             
762              \draw[->, thick] (scriptlabel3) |- (makedep);
763           }
764           \end{tikzpicture}
765      }\\
766      \item<4->{It calls the compiler using the {\tt unix} make mechanism. Compilation informations (i.e. files to be translated, dependencies, etc.) are given in file {\tt trunk/SOURCE/Makefile}. {\tt mbuild} transfers compiler options given in {\tt .mrun.config} to Makefile.}\\
767      \item<5->{The compiled files (object files with suffix .o) are stored in the make depository. This directory should \textbf{never} be directly modified by the user.}\\
768      \item<6->{If more than one block of settings for the \textcolor{green}{local} host (host identifier) is given in {\tt .mrun.config}, {\tt mbuild} creates further depositories, one for each block ({\tt MAKE\_DEPOSITORY\_block1, MAKE\_DEPOSITORY\_block2}, etc.).}\\
769   \end{itemize}
770\end{frame}
771
772% Folie 19
773\begin{frame}
774   \frametitle{Installing PALM on the \textcolor{green}{local} Computer \\ Pre-Compiling the PALM Code, Running {\tt mbuild}}
775   
776   \small
777   The pre-compiled PALM code is generated with the command\\ \par\medskip
778      \qquad {\tt mbuild -h \textless host identifier\textgreater}\\ \par\medskip
779   \begin{itemize}
780       \item<2->{Informations will appear on the terminal.} 
781       \item<3->{Please read them carefully and answer the questions asked by {\tt mbuild}.}
782       \item<4->{You will get continuous informations about the progress of compilation.}
783       \item<5->{Compilation on Intel machines may take several minutes. On multicore systems less time is needed,
784             because parallel compilation is switched on by default (see setting of environment variable {\tt mopts} in the configuration file).}
785       \item<6->{No errors should (hopefully) occur, as long as the previous installation steps have been carried out without errors, and as long as the PALM source code has not yet been modified by yourself.}
786   \end{itemize}
787\end{frame}
788
789% Folie 20
790\begin{frame}
791   \frametitle{Checking the PALM Installation (I)}
792   
793   \tikzstyle{blanc} = [rectangle, text width=0\textwidth, font=\scriptsize]
794   \tikzstyle{white} = [rectangle, text width=0.1\textwidth, font=\scriptsize]
795   \tikzstyle{yellow1} = [rectangle, draw, fill=yellow!100, text width=0.2\textwidth, font=\tiny]
796   \tikzstyle{yellow2} = [rectangle, draw, fill=yellow!100, text width=0.3\textwidth, font=\tiny]
797   \tikzstyle{yellow3} = [rectangle, draw, fill=yellow!100, text width=0.08\textwidth, font=\tiny]
798   \tikzstyle{yellow4} = [rectangle, draw, fill=yellow!100, text width=0.13\textwidth, font=\tiny]
799   \tikzstyle{yellow5} = [rectangle, draw, fill=yellow!100, text width=0.05\textwidth, font=\tiny]
800   \tikzstyle{green1} = [rectangle, draw, fill=green!75!black, text width=0.1\textwidth, font=\tiny]
801   \tikzstyle{green2} = [rectangle, draw, fill=green!75!black, text width=0.1\textwidth, font=\tiny]
802   \tikzstyle{green3} = [rectangle, draw, fill=green!75!black, text width=0.25\textwidth, font=\tiny]
803   \tikzstyle{line} = [draw, -]
804   \tikzstyle{label} = [rectangle, font=\scriptsize, minimum size=8pt]
805   \tikzstyle{point} = [rectangle, draw, inner sep=0pt,minimum size=0pt,fill=black]
806   
807   \small
808   The installation can be checked by running a short PALM test job (\dq example run\dq) and comparing the output of this job with values from a reference file. \\ \par\medskip
809   The test job will be started by using the mrun-tool.\\
810   Details about mrun and its options will be explained later. \\ \par\medskip
811   \uncover<2->{Pre-requisites on the \textcolor{green}{local} host:}\\
812   \begin{itemize}
813      \item<2->[1.]{Provide the configuration file {\tt .mrun.config} (already done)}
814      \item<3->[2.]{Provide the parameter file for running the test job (needed for steering PALM):\\
815         \qquad {\tt mkdir -p JOBS/example\_cbl/INPUT} \\
816         \qquad {\tt cp trunk/INSTALL/example\_cbl\_p3d  JOBS/example\_cbl/INPUT/}}
817   \end{itemize}
818      \begin{center}
819        \begin{tikzpicture}[auto, >=latex']
820           \uncover<4->{
821              \node[yellow4] (currentv2) {current\_version/};
822             
823              \node[point] (base) [right=0.2cm of currentv2] {};
824              \node[blanc] (base1) [above=0.3cm of base] {};
825              \node[blanc] (base2) [below=0.3cm of base] {};
826             
827              \node[green2] (trunk2) [right=0.1cm of base2] {trunk/};
828              \node[green1] (instal) [right=0.4cm of trunk2] {INSTAL/};
829             
830              \path[line] (trunk2) -- (instal);
831             
832              \node[yellow3] (jobs) [right=0.1cm of base1] {JOBS/};
833              \node[yellow4] (example) [right=0.4cm of jobs] {example\_cbl/};
834              \node[yellow3] (input) [right=0.4cm of example] {INPUT/};
835             
836              \path[line] (jobs) -- (example);
837              \path[line] (example) -- (input);
838             
839              \path[line] (currentv2) -- (base);
840              \path[line] (base.south) |- (jobs);
841              \path[line] (base.north) |- (trunk2);
842           }
843           \uncover<5->{
844              \draw[->, thick] (input) |- (instal);
845           }
846        \end{tikzpicture}
847      \end{center}
848\end{frame}
849
850% Folie 21
851\begin{frame}
852   \frametitle{Checking the PALM Installation (II) \\ on the \textcolor{green}{local} Computer}
853   
854   \small
855   Now the job can be run and results can be compared with the reference file
856   \begin{itemize}
857      \item<2->[1.]{If {\tt mpich2} is used (e.g. on the IMUK-cluster), the MPI-daemon has to be started as a background process: \\ \par\medskip
858         \qquad {\tt mpd \&} } 
859      \item<3->[2.]{Create and start the (interactive) test run using {\tt mrun}: \\ \par\medskip
860         \qquad {\tt mrun -d example\_cbl -K parallel -X2 -T2 -r \dq d3\# ts\#\dq} \\ \par\bigskip
861      Confirm the terminal query with \dq y\dq. Messages about the progress of execution will be displayed on the terminal and should end (after about 30 s) with \\ \par\medskip
862         \qquad {\tt --\textgreater \quad all actions finished} \\
863         \qquad {\tt Bye, bye \textless username\textgreater} !!}
864   \end{itemize}
865\end{frame}
866
867% Folie 22
868\begin{frame}
869   \frametitle{Checking the PALM Installation (III)}
870   
871   \tikzstyle{blanc} = [rectangle, text width=0\textwidth, font=\scriptsize]
872   \tikzstyle{white} = [rectangle, text width=0.1\textwidth, font=\scriptsize]
873   \tikzstyle{yellow1} = [rectangle, draw, fill=yellow!100, text width=0.2\textwidth, font=\tiny]
874   \tikzstyle{yellow2} = [rectangle, draw, fill=yellow!100, text width=0.3\textwidth, font=\tiny]
875   \tikzstyle{yellow3} = [rectangle, draw, fill=yellow!100, text width=0.08\textwidth, font=\tiny]
876   \tikzstyle{yellow4} = [rectangle, draw, fill=yellow!100, text width=0.13\textwidth, font=\tiny]
877   \tikzstyle{yellow5} = [rectangle, draw, fill=yellow!100, text width=0.05\textwidth, font=\tiny]
878   \tikzstyle{green1} = [rectangle, draw, fill=green!75!black, text width=0.1\textwidth, font=\tiny]
879   \tikzstyle{green2} = [rectangle, draw, fill=green!75!black, text width=0.1\textwidth, font=\tiny]
880   \tikzstyle{green3} = [rectangle, draw, fill=green!75!black, text width=0.25\textwidth, font=\tiny]
881   \tikzstyle{line} = [draw, -]
882   \tikzstyle{label} = [rectangle, font=\scriptsize, minimum size=8pt]
883   \tikzstyle{point} = [rectangle, draw, inner sep=0pt,minimum size=0pt,fill=black]
884   
885   \small
886   \begin{itemize}
887      \item<1->[1.]{Check output files:\\ \par\medskip
888      After the above message has appeared, there should be three files in directory: {\tt JOBS/example\_cbl/MONITORING} with names {\tt example\_cbl\_cpu, example\_cbl\_header} and {\tt example\_cbl\_rc}\\
889      \begin{center}
890        \begin{tikzpicture}[auto, >=latex']
891           \uncover<2->{
892              \node[yellow4] (currentv) {current\_version/};
893              \node[yellow3] (jobs) [right=0.4cm of currentv] {JOBS/};
894              \node[yellow4] (example) [right=0.4cm of jobs] {example\_cbl/
895              };
896             
897              \path[line] (currentv) -- (jobs);
898              \path[line] (jobs) -- (example);
899             
900              \node[point] (base) [right=0.2cm of example] {};
901              \node[blanc] (base1) [above=0.3cm of base] {};
902              \node[blanc] (base2) [below=0.3cm of base] {};
903              \node[yellow3] (input) [right=0.1cm of base1] {INPUT/};
904              \node[yellow4] (monitoring) [right=0.1cm of base2] {MONITORING/};
905             
906              \path[line] (example) -- (base);
907              \path[line] (base.south) |- (input);
908              \path[line] (base.north) |- (monitoring);
909           }
910        \end{tikzpicture}
911      \end{center}
912      }
913      \item<3->[2.]{Compare the contents of {\tt example\_cbl\_rc} with the contents of a reference file by using the unix command {\tt diff} or, even better, {\tt kdiff3} (if available):\\ \par\medskip
914         \qquad {\tt cd JOBS/example\_cbl/MONITORING} \\
915         \qquad {\tt diff example\_cbl\_rc ../../../trunk/INSTALL/example\_cbl\_rc}\\ \par\medskip
916      \uncover<4->{
917      \textcolor{red}{Except run date, time, and small differences in the version/processor numbers, you should not find any difference between these files!}}}
918   \end{itemize}
919\end{frame}
920
921% Folie 23
922\begin{frame}
923  \frametitle{Installing PALM on IMUK‘s inferno \\ Step by Step Instructions (I)}
924 
925  \footnotesize
926  \begin{itemize}
927     \item<2->[1.]{Login on the IMUK-system using the NX-client or an ssh-client:\\ \par\medskip
928        \qquad {\tt ssh -X \textless your IMUK-username\textgreater @130.75.105.5} \\ \par\medskip
929     FORTRAN-compiler, MPI- and netCDF-libraries and all other required software are already installed.}
930     \item<3->[2.]{Download the PALM package by using subversion: \\ \par\medskip
931        \qquad {\tt mkdir -p $\sim$/palm/current\_version} \\
932        \qquad {\tt cd $\sim$/palm/current\_version} \\
933        \qquad {\tt svn checkout --username \textless your IMUK-username\textgreater \quad \textbackslash} \\
934        \qquad \qquad{\tt svn://130.75.105.7/palm/trunk trunk }} 
935     \item<4->[3.]{Set environment variables: \\ \par\medskip
936        \qquad {\tt export PALM\_BIN=\$HOME/palm/current\_version/trunk/SCRIPTS} \\
937        \qquad {\tt export PATH=\$PALM\_BIN:\$PATH} \\ \par\medskip
938     Set these variables also in file {\tt .myprofile.} or \\ \par\medskip
939        \qquad {\tt cp /home/raasch/.myprofile \qquad \$HOME}}
940  \end{itemize}
941\end{frame}
942
943% Folie 24
944\begin{frame}
945   \frametitle{Installing PALM on IMUK‘s inferno \\ Step by Step Instructions (II)}
946   
947   \footnotesize
948   \begin{itemize}
949      \item<1->[4.]{A pre-configured configuration file for the IMUK/HLRN system is available: \\ \par\medskip
950         \qquad{\tt cp trunk/SCRIPTS/.mrun.config.imuk\_hlrn .mrun.config}}\\ \par\medskip
951      \item<2->[5.]{Edit this file and replace the string \textless replace by your IMUK username\textgreater \ with your IMUK-username. (Do not forget to uncomment the respective two lines!)} 
952      \item<3->[6.]{Create the utility programs: \\ \par\medskip
953         \qquad {\tt mbuild -u -h lcmuk}}\\ \par\medskip
954      \item<4->[7.]{Pre-compile the PALM code:\\ \par\medskip
955         \qquad{\tt mbuild -h lcmuk}}\\ \par\medskip
956      \item<5->[8.]{Provide the parameter file: \\ \par\medskip
957         \qquad{\tt mkdir -p JOBS/example\_cbl/INPUT} \\
958         \qquad{\tt cp trunk/INSTALL/example\_cbl\_p3d JOBS/example\_cbl/INPUT}}
959   \end{itemize}
960\end{frame}
961
962% Folie 25
963\begin{frame}
964   \frametitle{Installing PALM on IMUK‘s inferno \\ Step by Step Instructions (III)}
965   
966   \footnotesize
967   \begin{itemize}
968      \item<1->[9.]{Carry out the test run: \\ \par\medskip
969         \qquad{\tt mrun -d example\_cbl -K parallel -X2 -T2 -r \dq d3\#\dq}}
970      \item<2->[10.]{Check results (after job has finished): \\ \par\medskip
971         \qquad{\tt cd JOBS/example\_cbl/MONITORING} \\
972         \qquad{\tt kdiff3 example\_cbl\_rc ../../../trunk/INSTALL/example\_cbl\_rc}}
973   \end{itemize}
974\end{frame}
975
976% Folie 26
977\begin{frame}
978   \frametitle{Installing PALM on a \textcolor{red}{remote} Computer (HLRN) \\ Step by Step Instructions (I)}
979   \footnotesize
980   \begin{itemize}
981      \item<1->[1.]{Create your working directory on the \textcolor{red}{remote} host: \\ \par\medskip
982         \qquad {\tt ssh \textless your HLRN-username\textgreater@hicegate.hlrn.de}\\
983         \qquad {\tt mkdir -p $\sim$/palm/current\_version}} 
984      \item<2->[2.]{Set environment variables on the \textcolor{red}{remote} host: \\ \par\medskip
985         \qquad{\tt export PALM\_BIN=\$HOME/palm/current\_version/trunk/SCRIPTS} \\
986         \qquad{\tt export PATH=\$PALM\_BIN:\$PATH} \\ \par\medskip
987      This has to be done in file {\tt $\sim$/.bashrc} or  in file {\tt $\sim$/.profile}, depending on your default shell. You can get your default shell via command: \\ \par\medskip
988         \qquad{\tt echo \$SHELL}}
989   \end{itemize}
990\end{frame}
991
992% Folie 27
993\begin{frame}
994   \frametitle{Installing PALM on a \textcolor{red}{remote} Computer (HLRN) \\ Step by Step Instructions (II)}
995   \footnotesize
996   \begin{itemize}
997      \item<1->[3.]{On the \textcolor{green}{local} host, edit your configuration file ({\tt .mrun.config}), and replace in the lcsgih-block \textless replace by your HLRN username\textgreater with your HLRN-username.}\\ \par\medskip
998      \item<2->[4.]{Create directory {\tt job\_queue} on the \textcolor{green}{local} and the \textcolor{red}{remote} host:\\ \par\medskip
999         \qquad{\tt mkdir $\sim$/job\_queue}}
1000   \end{itemize}
1001\end{frame}
1002
1003% Folie 28
1004\begin{frame}
1005   \frametitle{Establishing the ssh Public-Key Authentication}
1006   
1007   \tikzstyle{blue} = [rectangle, draw, align=center, color=green, text width=0.18\textwidth, font=\tiny]
1008   \tikzstyle{red} = [rectangle, draw, align=center, color=red, text width=0.18\textwidth, font=\tiny]
1009   \tikzstyle{label} = [rectangle, font=\tiny, minimum size=8pt]
1010   
1011   \footnotesize
1012   The PALM-tools (mrun, mbuild) are using ssh/scp for batch jobs on \textcolor{red}{remote} computers and require, that ssh/scp does not prompt for passwords.This can be managed by using the public-key authentication method. \\ \par\medskip
1013   Public-key authentication is needed for connections in both directions! \\ \par\medskip
1014   \begin{center}
1015      \begin{tikzpicture}[auto, >=latex']
1016         \coordinate (p0) at (-2.0cm,0.0cm);
1017         \coordinate (p1) at (2.0cm,0.0cm);
1018         \coordinate (p2) at (-2.0cm,0.2cm);
1019         \coordinate (p3) at (2.0cm,0.2cm);
1020         \coordinate (p4) at (-2.0cm,-0.2cm);
1021         \coordinate (p5) at (2.0cm,-0.2cm);
1022         
1023         \coordinate (p6) at (0.0cm,0.0cm);
1024         
1025         \draw[->, thick, color=green] (p2) -- (p3);
1026         \draw[<-, thick, color=red] (p4) -- (p5);
1027         
1028         \node[blue] (green) [left=0.4cm of p0] {
1029            local computer\\
1030            \textless{IP-local}\textgreater\\
1031            OpenSSH
1032         };
1033         \node[red] (red) [right=0.4cm of p1] {
1034            remote computer\\
1035            \textless{IP-remote}\textgreater\\
1036            OpenSSH
1037         };
1038         
1039         \node[label, above=0.3cm of p6] (labelblue) {{\tt ssh <HLRN-username>@<130.75.4.101>}};
1040         \node[label, below=0.3cm of p6] (labelred) {{\tt ssh <HLRN-username>@<130.75.4.101>}};
1041      \end{tikzpicture}
1042   \end{center}
1043   \uncover<2->{Pre-requisites:}\\
1044   \begin{itemize}
1045      \item<3->[1.]{On the \textcolor{green}{local} system (IMUK, OpenSSH): create .ssh directory (if not existing):\\ \par\medskip
1046         \qquad{\tt mkdir $\sim$/.ssh}\\
1047         \qquad{\tt chmod go-rwx $\sim$/.ssh}} \par\medskip
1048      \item<4->[2.]{On the \textcolor{red}{remote} system (HLRN, OpenSSH): create .ssh directory (if not existing):\\ \par\medskip
1049         \qquad{\tt mkdir $\sim$/.ssh}\\
1050         \qquad{\tt chmod go-rwx $\sim$/.ssh}}
1051   \end{itemize}
1052\end{frame}
1053
1054% Folie 29
1055\begin{frame}
1056   \frametitle{Enable public-key authentication for connections from the \textcolor{green}{local} system to the \textcolor{red}{remote} system:}
1057   
1058   \footnotesize
1059   On the \textcolor{green}{local} system (inferno.muk.uni-hannover.de, 130.75.105.5):
1060   \begin{itemize}
1061      \item<2->[1.]{create the key:\\ \par\medskip
1062         \qquad{\tt cd $\sim$/.ssh}\\
1063         \qquad{\tt ssh-keygen -b 2048 -t dsa}\\
1064         \qquad\qquad{\tt \# creates files id\_dsa and id\_dsa.pub}\\
1065         \qquad\qquad{\tt \# type <return> when asked for passphrase!!}} \par\medskip
1066      \item<3->[2.]{copy the public key to the \textcolor{red}{remote} system:\\ \par\medskip
1067         \qquad{\tt scp id\_dsa.pub <HLRN-usern>@130.75.4.101:.ssh/authorized\_keys}}
1068   \end{itemize}
1069\end{frame}
1070
1071% Folie 30
1072\begin{frame}
1073   \frametitle{Enable public-key authentication for connections from the \textcolor{red}{remote} system to the \textcolor{green}{local} system:}
1074   
1075   \footnotesize
1076   On the \textcolor{red}{remote} system (hicegate.hlrn.de, 130.75.4.101):
1077   \begin{itemize}
1078      \item<2->[1.]{Create the key:\\ \par\medskip
1079         \qquad{\tt cd $\sim$/.ssh}\\
1080         \qquad{\tt ssh-keygen -t dsa}\\
1081         \qquad\qquad{\tt \# creates files id\_dsa and id\_dsa.pub}\\
1082         \qquad\qquad{\tt \# type <return> when asked for passphrase!!}} \par\medskip
1083      \item<3->[2.]{Copy the public key to the \textcolor{green}{local} system:\\ \par\medskip
1084         \qquad{\tt scp id\_dsa.pub <IMUK-usern>@130.75.105.5:.ssh/authorized\_keys}}\\ \par\medskip
1085      \item<4->[3.]{Append the public key also to the HLRN authorized\_keys file:\\ \par\medskip
1086         \qquad{\tt cat id\_dsa.pub >> authorized\_keys}}
1087   \end{itemize}
1088\end{frame}
1089
1090% Folie 31
1091\begin{frame}
1092   \frametitle{Establishing the ssh Public-Key Authentication}
1093   
1094   \footnotesize
1095   \underline{Final action:}\\ \par\medskip
1096   Establish ssh-connection at least one time from the \textcolor{green}{local} host to the \textcolor{red}{remote} host and vice versa.\\ \par\medskip
1097   Use IP-adresses (eg. 130.75...) and not the symbolic names (e.g. ...hlrn.de)!\\ \par\medskip
1098   After this, {\tt ssh-} and {\tt scp-} calls should not prompt for passwords any more. Please test at least one time from the \textcolor{red}{remote} to the \textcolor{green}{local} host, because the first ssh connection requires a confirmation to be typed from the keyboard!\\ \par\medskip
1099   \begin{itemize}
1100      \item<2->[1.]{On the \textcolor{green}{local} system (inferno):\\ \par\medskip
1101         \qquad{\tt ssh <HLRN-username>@130.75.4.101}} \par\medskip
1102      \item<3->[2.]{On the \textcolor{red}{remote} system (hicegate):\\ \par\medskip
1103         \qquad{\tt ssh <IMUK-username>@130.75.105.5}}\\
1104   \end{itemize}
1105\end{frame}
1106
1107% Folie 32
1108\begin{frame}
1109   \frametitle{Installing PALM on a \textcolor{red}{remote} Computer (HLRN) \\ Step by Step Instructions (III)}
1110   \footnotesize
1111   \begin{itemize}
1112      \item<1->[5.]{Create the utility programs on the \textcolor{red}{remote} host by executing the following command on the \textcolor{green}{local} host: \\ \par\medskip
1113         \qquad{\tt mbuild -u -h lcsgih} \\ \par\medskip
1114      This command also copies some shellscripts required to run PALM from the \textcolor{green}{local} host to the directory {\tt $\sim$/palm/current\_version/trunk/SCRIPTS} on the \textcolor{red}{remote} host.} \\ \par\medskip
1115      \item<2->[6.]{Pre-compile the PALM code on the \textcolor{red}{remote} host: \\ \par\medskip
1116         \qquad{\tt mbuild -h lcsgih}} \\ \par\medskip
1117      \item<3->[7.]{Create the temporary working catalog on the \textcolor{red}{remote} host, if it does not exist (this is the directory given for the \textcolor{red}{remote} host by the environment variable {\tt tmp\_user\_catalog} in the configuration file {\tt .mrun.config}):\\ \par\medskip
1118         \qquad{\tt mkdir \textless tmp\_user\_catalog\textgreater}}
1119   \end{itemize}
1120\end{frame}
1121
1122% Folie 33
1123\begin{frame}
1124   \frametitle{Installing PALM on a \textcolor{red}{remote} Computer (HLRN) \\ Step by Step Instructions (IV)}
1125   \footnotesize
1126   \begin{itemize}
1127      \item<1->[8.]{Carry out the test run by calling mrun on the \textcolor{green}{local} host:\\ \par\medskip
1128         \qquad{\tt mrun -d example\_cbl -h lcsgih -K parallel -X8 -T2 -q testq}\\
1129         \qquad{\tt -t 300 -r \dq d3\#\dq}}\\ \par\medskip
1130      \item<2->[9.]{After the job has finished on the \textcolor{red}{remote} host, results will be automatically transferred to the \textcolor{green}{local} host. Check the results on the \textcolor{green}{local} host:\\ \par\medskip
1131         \qquad{\tt cd JOBS/example\_cbl/MONITORING} \\
1132         \qquad{\tt kdiff3 lcsgih\_example\_cbl\_rc}\\
1133         \qquad{\tt ../../../trunk/INSTALL/example\_cbl\_rc}}
1134   \end{itemize}
1135
1136\end{frame}
1137
1138
1139\end{document}
Note: See TracBrowser for help on using the repository browser.