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

Last change on this file since 1851 was 1649, checked in by knoop, 9 years ago

Latex lecture update for PALM seminar in Hong Kong

  • Property svn:executable set to *
  • Property svn:keywords set to Id
File size: 50.9 KB
Line 
1% $Id: installation.tex 1649 2015-09-15 16:34:42Z maronga $
2% $Id: installation.tex 1649 2015-09-15 16:34:42Z maronga $
3\input{header_tmp.tex}
4
5\usepackage[utf8]{inputenc}
6\usepackage{ngerman}
7\usepackage{pgf}
8\usetheme{Dresden}
9\usepackage{subfigure}
10\usepackage{units}
11\usepackage{multimedia}
12\usepackage{hyperref}
13\newcommand{\event}[1]{\newcommand{\eventname}{#1}}
14\usepackage{xmpmulti}
15\usepackage{tikz}
16\usetikzlibrary{shapes,arrows,positioning,decorations.pathreplacing}
17\def\Tiny{\fontsize{4pt}{4pt}\selectfont}
18
19%---------- neue Pakete
20\usepackage{amsmath}
21\usepackage{amssymb}
22\usepackage{multicol}
23\usepackage{pdfcomment}
24\usepackage{xcolor}
25
26\institute{Institut fÌr Meteorologie und Klimatologie, Leibniz UniversitÀt Hannover}
27\date{last update: \today}
28\event{PALM Seminar}
29\setbeamertemplate{navigation symbols}{}
30\setbeamersize{text margin left=.5cm,text margin right=.2cm}
31\setbeamertemplate{footline}
32  {%
33    \begin{beamercolorbox}[rightskip=-0.1cm]&
34     {\includegraphics[height=0.65cm]{imuk_logo.pdf}\hfill \includegraphics[height=0.65cm]{luh_logo.pdf}}
35    \end{beamercolorbox}
36    \begin{beamercolorbox}[ht=2.5ex,dp=1.125ex,%
37      leftskip=.3cm,rightskip=0.3cm plus1fil]{title in head/foot}%
38      {\leavevmode{\usebeamerfont{author in head/foot}\insertshortauthor} \hfill \eventname \hfill \insertframenumber \; / \inserttotalframenumber}%
39    \end{beamercolorbox}%
40%    \begin{beamercolorbox}[colsep=1.5pt]{lower separation line foot}%
41%    \end{beamercolorbox}
42  }%\logo{\includegraphics[width=0.3\textwidth]{luhimuk_logo.eps}}
43
44\title[PALM - Installation]{PALM - Installation}
45\author{Siegfried Raasch}
46
47% Notes:
48% jede subsection bekommt einen punkt im menu (vertikal ausgerichtet.
49% jeder frame in einer subsection bekommt einen punkt (horizontal ausgerichtet)
50\begin{document}
51
52% Folie 1
53\begin{frame}
54\titlepage
55\end{frame}
56
57% Folie 2
58\begin{frame}
59   \frametitle{Before we start: Some Definitions About Runs (I)}
60   \begin{itemize}
61      \item<1->{Interactive run}
62      \begin{itemize}
63         \item<1->{Run command ({\tt mrun}) is called in terminal and program (PALM) immediately starts to run.}
64      \end{itemize} 
65      \item<2->{Batch run}
66      \begin{itemize}
67         \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.}
68      \end{itemize}
69      \item<3->{Batch run on \textcolor{red}{remote} machine}
70      \begin{itemize}
71         \item<3->{Like a batch run, but the batch job is send (via {\tt scp}) to a queue on a \textcolor{red}{remote} computer.}
72      \end{itemize}
73   \end{itemize} 
74\end{frame}
75
76% Folie 3
77\begin{frame}
78   \frametitle{Before we start: Some Definitions About Runs (II)}
79   
80   \begin{itemize}
81      \item<1->{Initial run / restart run}\\ \par\medskip
82      \begin{itemize}
83         \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
84         \item<3->{The first part is called \textbf{initial run}.}\\ \par\medskip
85         \item<4->{The other parts are called \textbf{restart runs}.}\\ \par\medskip
86         \item<5->{All runs together form a so-called \textbf{job-chain}.}\\ \par\medskip
87      \end{itemize} 
88   \end{itemize}
89\end{frame}
90
91% Folie 4
92\begin{frame}
93   \frametitle{PALM - Installation on a personal Notebook or a CUHK Desktop PC}
94   
95   \small
96   \begin{itemize}
97      \item<1->{Participants of this seminar can install and use PALM in different ways:} 
98      \item<2->{Installation on a personal notebook.}
99      \item<3->{Installation on a CUHK desktop PC.}
100      %\item<4->{We will start with installing PALM on a \textcolor{green}{local} computer and running it interactively.}
101      \item<4->{The installation instructions can also be found in the PALM online-documentation under\\ \par\medskip
102            \url{http://palm.muk.uni-hannover.de/trac/wiki/doc/install}}
103   \end{itemize}
104\end{frame}
105
106% Folie 5
107% \begin{frame}
108%    \frametitle{PALM - Installation}
109   
110%    \begin{itemize}
111%       \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
112%       \item<2->{The installation instructions can also be found in the PALM online-documentation under\\ \par\medskip
113%             \url{http://palm.muk.uni-hannover.de/trac/wiki/doc/install}}
114%    \end{itemize}
115% \end{frame}
116
117% Folie 6
118\begin{frame}
119   \frametitle{PALM - Installation / General Requirements (I)}
120   
121   \footnotesize 
122   \begin{itemize}
123      \item<1->[1.]{The Korn-shell (AT\&T ksh or public domain ksh) must be available under {\tt /bin/ksh}.} 
124      \item<2->[2.]{The netCDF-library with version number not earlier than 3.6.3 (for netCDF, see under www.unidata.ucar.edu).}
125      \item<3->[3.]{A FORTRAN90/95 compiler.}
126      \item<4->[4.]{The Message Passing Interface (MPI),  if the parallel version of PALM shall be used.}
127      \item<5->[5.]{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)}
128   \end{itemize}
129\end{frame}
130
131
132% Folie 6a
133\begin{frame}
134   \frametitle{PALM - Installation / General Requirements (II)}
135   
136   \footnotesize 
137   \begin{itemize}
138      \item<1->[6.]{All participants of this seminar are already permitted to access the repository.
139                    Use \dq seminar\_cuhk\dq as username and \dq palm2013\dq as password.}
140   \end{itemize}
141\end{frame}
142
143% Folie 7
144\begin{frame}
145   \frametitle{Accounts and Passwords for PALM 2013 Seminar}
146   
147   \begin{itemize}
148      \item<1->{On all the CUHK PCs you can log into the account ``student'' with the corresponding password ``fed19pa!m''.} 
149   \end{itemize}
150\end{frame}
151
152% Folie 8
153\begin{frame}
154   \frametitle{Installing PALM on the \textcolor{green}{local} Computer \\ Package Download on Linux Notebooks and CUHK PCs}
155   
156   \tikzstyle{yellow1} = [rectangle, draw, fill=yellow!100, text width=0.2\textwidth, font=\tiny]
157   \tikzstyle{yellow2} = [rectangle, draw, fill=yellow!100, text width=0.3\textwidth, font=\tiny]
158   \tikzstyle{yellow3} = [rectangle, draw, fill=yellow!100, text width=0.1\textwidth, font=\tiny]
159   \tikzstyle{yellow4} = [rectangle, draw, fill=yellow!100, text width=0.15\textwidth, font=\tiny]
160   \tikzstyle{green1} = [rectangle, draw, fill=green!75!black, text width=0.1\textwidth, font=\tiny]
161   \tikzstyle{green2} = [rectangle, draw, fill=green!75!black, text width=0.15\textwidth, font=\scriptsize]
162   \tikzstyle{green3} = [rectangle, draw, fill=green!75!black, text width=0.35\textwidth, font=\scriptsize]
163   \tikzstyle{green4} = [rectangle, draw, fill=green!75!black, text width=0.4\textwidth, font=\scriptsize]
164   \tikzstyle{line} = [draw, -]
165   \tikzstyle{arrow} = [draw, -latex']
166   
167   \scriptsize
168   \uncover<2->{It is assumed that the ksh (Korn-shell) or bash is the user‘s default shell!}
169   \begin{columns}[c]
170   \column{0.5\textwidth}
171      \begin{itemize}
172         \item<3->[1.]{Create your working directory \\ \par\medskip
173            \qquad {\tt mkdir -p $\sim$/palm/current\_version}}
174      \end{itemize}
175   \column{0.42\textwidth}
176      \uncover<4->{
177      \begin{tikzpicture}[auto]
178         \node[yellow1] (home) {\$HOME/};
179         \node[yellow1] (palm) [right=0.4cm of home] {palm/};
180         \node[yellow2] (currentv) [right=0.4cm of palm] {current\_version/};
181         
182         \path[line] (home) -- (palm);
183         \path[line] (palm) -- (currentv);
184      \end{tikzpicture}
185      }
186   \end{columns}
187   \par\medskip
188   \begin{itemize}
189      \item<5->[2.]{Create a working copy of the newest PALM version (currently 3.9) from the subversion repository: \\ \par\medskip
190         \qquad {\tt cd $\sim$/palm/current\_version} \\ 
191         \qquad {\tt svn checkout --username \textless your username\textgreater \textbackslash} \\
192             \qquad \qquad {\tt svn://130.75.105.7/palm/tags/release-3.9  trunk} } \\ \par\medskip
193      \uncover<6->{
194      \begin{tikzpicture}[auto]
195         \hspace{3cm}
196         \node[yellow3] (home) {\$HOME/};
197         \node[yellow3] (palm) [right=0.4cm of home] {palm/};
198         \node[yellow4] (currentv) [right=0.4cm of palm] {current\_version/};
199         \node[green1] (trunk) [right=0.4cm of currentv] {trunk/};
200         
201         \path[line] (home) -- (palm);
202         \path[line] (palm) -- (currentv);
203         \path[line] (currentv) -- (trunk);
204      \end{tikzpicture}
205      }
206      \par\medskip
207      \item<7->[]{Alternatively, check out the most recent (test) version: \\ \par\smallskip
208         \qquad {\tt cd $\sim$/palm/current\_version} \\ 
209         \qquad {\tt svn checkout --username \textless your username\textgreater \textbackslash} \\
210             \qquad \qquad {\tt svn://130.75.105.7/palm/trunk  trunk} }\\ \par\medskip 
211      \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!}}
212   \end{itemize}
213\end{frame}
214
215% Folie 9
216\begin{frame}
217   \frametitle{Installing PALM on the \textcolor{green}{local} Computer \\ Package Configuration on Linux Notebooks}
218   
219   \tikzstyle{yellow1} = [rectangle, draw, fill=yellow!100, text width=0.2\textwidth, font=\tiny]
220   \tikzstyle{yellow2} = [rectangle, draw, fill=yellow!100, text width=0.3\textwidth, font=\tiny]
221   \tikzstyle{yellow3} = [rectangle, draw, fill=yellow!100, text width=0.1\textwidth, font=\tiny]
222   \tikzstyle{yellow4} = [rectangle, draw, fill=yellow!100, text width=0.15\textwidth, font=\tiny]
223   \tikzstyle{green1} = [rectangle, draw, fill=green!75!black, text width=0.1\textwidth, font=\tiny]
224   \tikzstyle{line} = [draw, -]
225   \tikzstyle{label} = [rectangle, font=\scriptsize, minimum size=8pt]
226   
227   \scriptsize
228   \begin{itemize}
229      \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
230      \uncover<2->{{\tiny \textcolor{red}{Note: .profile / .bashrc have to be located in \$HOME; recommended text editors are e.g. xedit / vi}}} \\ \par\medskip
231         \qquad {\tt export PALM\_BIN=\$HOME/palm/current\_version/trunk/SCRIPTS} \\
232         \qquad {\tt export PATH=\$PALM\_BIN:\$PATH}}\\ \par\medskip
233      \uncover<3->{
234           \begin{tikzpicture}[auto, >=latex']
235              \hspace{0.5cm}
236              \node[yellow3] (home) {\$HOME/};
237              \node[yellow3] (palm) [right=0.4cm of home] {palm/};
238              \node[yellow4] (currentv) [right=0.4cm of palm] {current\_version/};
239              \node[green1] (trunk) [right=0.4cm of currentv] {trunk/};
240              \node[green1] (scripts) [right=0.4cm of trunk] {SCRIPTS/};
241             
242              \path[line] (home) -- (palm);
243              \path[line] (palm) -- (currentv);
244              \path[line] (currentv) -- (trunk);
245              \path[line] (trunk) -- (scripts);
246             
247              \uncover<6->{\draw [->, thick] {(scripts.south) .. controls (8.0,-1.0) and (4.0,-1.0) .. (currentv.south)};}
248             
249              \node[label, right=0pt of scripts] (scriptlabelbase2) {};
250              \node[label, above=0pt of scriptlabelbase2] (scriptlabelbase1) {};
251              \node[label, below=0pt of scriptlabelbase2] (scriptlabelbase3) {};
252              \node[label, right=0pt of scriptlabelbase1] (scriptlabel1) {mrun};
253              \node[label, right=0pt of scriptlabelbase2] (scriptlabel2) {mbuild};
254              \node[label, right=0pt of scriptlabelbase3] (scriptlabel3) {...};
255           \end{tikzpicture}
256      }
257      \item<4->{Restart the shell  (e.g. exit and login (via ssh) again). Otherwise settings are not active.}
258      \item<5->{Create your personal configuration file, needed by {\tt mbuild} and {\tt mrun}: \\ \par\medskip
259         \qquad {\tt cd ~/palm/current\_version} \\
260         \qquad {\tt cp trunk/SCRIPTS/.mrun.config.default .mrun.config} \\ \par\medskip
261      \uncover<7->{The next two slides explain parts of the format of the configuration file.}}
262   \end{itemize}
263\end{frame}
264
265% Folie 11
266\begin{frame}
267   \frametitle{Installing PALM on the \textcolor{green}{local} Computer \\ The Configuration File (I)}
268   
269   \tikzstyle{box} = [rectangle, draw, text width=0.8\textwidth, font=\tiny]
270   
271   \small
272   \begin{itemize}
273      \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} 
274   \end{itemize}
275   \uncover<2->{
276   \begin{center}
277   \begin{tikzpicture}[auto, node distance=0]     
278      \node[box](box){ \begin{tabbing} 
279         {\tt \#column 1} \hspace{1.5cm}  \={\tt column 2} \hspace{3.5cm} \={\tt column 3} \\
280         {\tt \#name of variable} \>{\tt value of variable (must not be used)} \>{\tt scope} \\ 
281         {\tt \#-------------------------------------------------------------------------------------} \\ 
282         {\tt \%mainprog} \>{\tt palm.f90} \\
283         {\tt \%base\_directory} \>{\tt \$HOME/palm/current\_version/} \>{\tt \textcolor{blue}{\uncover<4->{lcsgih}}} \\ \end{tabbing}};       
284   \end{tikzpicture}
285   \end{center}
286   }
287   \begin{itemize}
288      \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).}
289   \end{itemize}
290\end{frame}
291
292% Folie 12
293\begin{frame}
294   \frametitle{Installing PALM on the \textcolor{green}{local} Computer \\ The Configuration File (II)}
295   
296   \tikzstyle{box} = [rectangle, draw, text width=0.65\textwidth, font=\tiny]
297   
298   \scriptsize
299   \begin{itemize}
300      \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
301      \begin{itemize}\scriptsize
302         \item<2->{Linux(-Cluster): \hspace{1.15cm} {\tt lc}}
303         \item<2->{IBM-AIX: \hspace{1.9cm} {\tt ibm}}
304         \item<2->{NEC-SX: \hspace{2.01cm} {\tt nec}}
305      \end{itemize}
306      \par\medskip
307      \item<3->{Here is an example for settings of compiler names for different hosts: \\
308            {\tiny {\tt (compiler\_name}: for compiling MPI-programs, {\tt compiler\_name\_ser}: for compiling serial code)}}
309   \end{itemize}
310   \uncover<4->{
311   \begin{center}
312   \begin{tikzpicture}[auto, node distance=0]     
313      \node[box](box){ \begin{tabbing} 
314         {\tt \%compiler\_name} \hspace{1cm}  \={\tt mpif90} \hspace{3cm} \={\tt lcsgih} \\
315         {\tt \%compiler\_name\_ser} \>{\tt ifort} \>{\tt lcsgih} \\
316         {\tt \%compiler\_name} \>{\tt mpif90} \>{\tt lcother} \\
317         {\tt \%compiler\_name\_ser} \>{\tt f95} \>{\tt lcother} \\
318         {\tt \%compiler\_name} \>{\tt ftn} \>{\tt lcxt4} \\
319         {\tt \%compiler\_name\_ser} \>{\tt ftn} \>{\tt lcxt4}
320         \end{tabbing}};
321   \end{tikzpicture}
322   \end{center}
323   }
324   \begin{itemize}
325      \item<5->{If value-strings contain blanks, they have to be replaced by colon (\dq:\dq): \\
326            {\tiny ({\tt fopts}: compiler options to be used)}}
327   \end{itemize}
328   \uncover<5->{
329   \begin{center}
330   \begin{tikzpicture}[auto, node distance=0]     
331      \node[box](box){ 
332         {\tt \%fopts} \hspace{0.4cm}  {\tt -g:-w:-xT:-O3:-cpp:-r8:-nbs} \hspace{1cm} {\tt lcother parallel}};       
333   \end{tikzpicture}
334   \end{center}
335   }
336\end{frame}
337
338% Folie 13
339\begin{frame}
340   \frametitle{Installing PALM on the \textcolor{green}{local} Computer \\ Configuring {\tt .mrun.config} on Linux Notebooks}
341   
342   \small
343   \begin{itemize}
344      \item<1->{Now edit the configuration file and adjust it for your \textcolor{green}{local} computer. \\ \par\medskip
345      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
346         \qquad {\tt hostname}}\\ \par\medskip
347      \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.} 
348      \item<3->{Please give all respective \textcolor{cyan}{paths} and replace \textless hi\textgreater by your host identifier.}
349   \end{itemize}
350\end{frame}
351
352% Folie 14a
353\begin{frame}
354   \frametitle{Installing PALM on the \textcolor{green}{local} Computer \\ Configuring {\tt .mrun.config} on Linux Notebooks}
355   
356   \tikzstyle{box} = [rectangle, draw, text width=0.9\textwidth, font=\tiny]
357   
358   \scriptsize
359   \begin{itemize}
360      \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.}
361      \item{Please give all respective \textcolor{cyan}{paths} and replace \textless hi\textgreater by your host identifier.}
362   \end{itemize}
363      \begin{center}
364      \begin{tikzpicture}[auto, node distance=0]     
365         \node[box](box){ 
366            {\tt \# The next line is just an example. Add your own line below or replace this line.} \\
367            {\tt \%host\_identifier  myhostname lcmy} \\
368            {\tt \#} \\
369            {\tt \# The next block contains all informations for compiling the PALM code} \\
370            {\tt \#} \\
371            \begin{tabbing} 
372            {\tt \%tmp\_use\_catalog} \hspace{0.3cm} \={\tt /tmp} \hspace{6.0cm} \={\tt <hi> parallel} \\
373            {\tt \%compiler\_name} \>{\tt \textcolor{blue}{mpif90}} \>{\tt <hi> parallel} \\
374            {\tt \%compiler\_name\_ser} \>{\tt ifort} \>{\tt <hi> parallel} \\
375            {\tt \%cpp\_options} \>{\tt \textcolor{orange}{-D\_\_mpi2}:-DMPI\_REAL=MPI\_DOUBLE\_PRECISION:} \>{\tt <hi> parallel} \\
376            {\tt } \>{\tt :-DMPI\_2REAL=MPI\_2DOUBLE\_PRECISION:-D\_\_netcdf} \>{\tt } \\
377            {\tt \%netcdf\_inc} \>{\tt -I:\textcolor{cyan}{<replace by netcdf include path>}} \>{\tt <hi> parallel} \\
378            {\tt \%netcdf\_lib} \>{\tt -L\textcolor{cyan}{<replace by netcdf include path>}:-lnetcdf} \>{\tt <hi> parallel} \\
379            {\tt \%fopts} \>{\tt -xS:-cpp:-openmp:-r8:-nbs:-convert:little\_endian:} \>{\tt <hi> parallel} \\
380            {\tt } \>{\tt -I:\textcolor{cyan}{<replace by mpi include path>}} \>{\tt } \\
381            {\tt \%lopts} \>{\tt -xS:-cpp:-openmp:-r8:-nbs:-Vaxlib:} \>{\tt <hi> parallel} \\
382            {\tt } \>{\tt -L\textcolor{cyan}{<replace by mpi library path>}} \>{\tt } \\
383            {\tt \# if you want to use your own hostfile, uncomment next line} \>{\tt } \>{\tt } \\
384            {\tt \#\%hostfile} \>{\tt \$base\_directory/.hostfile} \>{\tt <hi> parallel} \\
385            {\tt \# if you want this host to be used as a \textcolor{red}{remote} host, uncomment next line} \>{\tt } \>{\tt } \\
386            {\tt \#\%remote\_username} \>{\tt <replace by your username om this host>} \>{\tt <hi> parallel}
387            \end{tabbing}};
388      \end{tikzpicture}
389      \end{center}
390\end{frame}
391
392% Folie 14b
393\begin{frame}
394   \frametitle{Installing PALM on the \textcolor{green}{local} Computer \\ Configuring {\tt .mrun.config} on Linux Notebooks}
395   
396   \tikzstyle{box} = [rectangle, draw, text width=0.9\textwidth, font=\tiny]
397   
398   \scriptsize
399   \begin{itemize}
400      \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.} 
401      \item{Please give all respective \textcolor{cyan}{paths} and replace \textless hi\textgreater by your host identifier.}
402   \end{itemize}
403      \begin{center}
404      \begin{tikzpicture}[auto, node distance=0]     
405         \node[box](box){ 
406            {\tt \# The next line is just an example. Add your own line below or replace this line.} \\
407            {\tt \%host\_identifier  scirocco \textcolor{purple}{lcsci}} \\
408            {\tt \#} \\
409            {\tt \# The next block contains all informations for compiling the PALM code} \\
410            {\tt \#} \\
411            \begin{tabbing} 
412            {\tt \%tmp\_use\_catalog} \hspace{0.3cm} \={\tt /tmp} \hspace{6.0cm} \={\tt <hi> parallel} \\
413            {\tt \%compiler\_name} \>{\tt \textcolor{blue}{mpif90}} \>{\tt <hi> parallel} \\
414            {\tt \%compiler\_name\_ser} \>{\tt ifort} \>{\tt <hi> parallel} \\
415            {\tt \%cpp\_options} \>{\tt \textcolor{orange}{-D\_\_mpi2}:-DMPI\_REAL=MPI\_DOUBLE\_PRECISION:} \>{\tt <hi> parallel} \\
416            {\tt } \>{\tt :-DMPI\_2REAL=MPI\_2DOUBLE\_PRECISION:-D\_\_netcdf} \>{\tt } \\
417            {\tt \%netcdf\_inc} \>{\tt -I:\textcolor{cyan}{<replace by netcdf include path>}} \>{\tt <hi> parallel} \\
418            {\tt \%netcdf\_lib} \>{\tt -L\textcolor{cyan}{<replace by netcdf include path>}:-lnetcdf} \>{\tt <hi> parallel} \\
419            {\tt \%fopts} \>{\tt -xS:-cpp:-openmp:-r8:-nbs:-convert:little\_endian:} \>{\tt <hi> parallel} \\
420            {\tt } \>{\tt -I:\textcolor{cyan}{<replace by mpi include path>}} \>{\tt } \\
421            {\tt \%lopts} \>{\tt -xS:-cpp:-openmp:-r8:-nbs:-Vaxlib:} \>{\tt <hi> parallel} \\
422            {\tt } \>{\tt -L\textcolor{cyan}{<replace by mpi library path>}} \>{\tt } \\
423            {\tt \# if you want to use your own hostfile, uncomment next line} \>{\tt } \>{\tt } \\
424            {\tt \#\%hostfile} \>{\tt \$base\_directory/.hostfile} \>{\tt <hi> parallel} \\
425            {\tt \# if you want this host to be used as a \textcolor{red}{remote} host, uncomment next line} \>{\tt } \>{\tt } \\
426            {\tt \#\%remote\_username} \>{\tt <replace by your username om this host>} \>{\tt <hi> parallel}
427            \end{tabbing}};
428      \end{tikzpicture}
429      \end{center}
430\end{frame}
431
432% Folie 14c
433\begin{frame}
434   \frametitle{Installing PALM on the \textcolor{green}{local} Computer \\ Configuring {\tt .mrun.config} on Linux Notebooks}
435   
436   \tikzstyle{box} = [rectangle, draw, text width=0.9\textwidth, font=\tiny]
437   
438   \scriptsize
439   \begin{itemize}
440      \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.} 
441      \item{Please give all respective \textcolor{cyan}{paths} and replace \textless hi\textgreater by your host identifier.}
442   \end{itemize}
443      \begin{center}
444      \begin{tikzpicture}[auto, node distance=0]     
445         \node[box](box){ 
446            {\tt \# The next line is just an example. Add your own line below or replace this line.} \\
447            {\tt \%host\_identifier  scirocco \textcolor{purple}{lcsci}} \\
448            {\tt \#} \\
449            {\tt \# The next block contains all informations for compiling the PALM code} \\
450            {\tt \#} \\
451            \begin{tabbing} 
452            {\tt \%tmp\_use\_catalog} \hspace{0.3cm} \={\tt /tmp} \hspace{6.0cm} \={\tt \textcolor{purple}{lcsci} parallel} \\
453            {\tt \%compiler\_name} \>{\tt \textcolor{blue}{mpif90}} \>{\tt \textcolor{purple}{lcsci} parallel} \\
454            {\tt \%compiler\_name\_ser} \>{\tt ifort} \>{\tt \textcolor{purple}{lcsci} parallel} \\
455            {\tt \%cpp\_options} \>{\tt \textcolor{orange}{-D\_\_mpi2}:-DMPI\_REAL=MPI\_DOUBLE\_PRECISION:} \>{\tt \textcolor{purple}{lcsci} parallel} \\
456            {\tt } \>{\tt :-DMPI\_2REAL=MPI\_2DOUBLE\_PRECISION:-D\_\_netcdf} \>{\tt } \\
457            {\tt \%netcdf\_inc} \>{\tt -I:\textcolor{cyan}{<replace by netcdf include path>}} \>{\tt \textcolor{purple}{lcsci} parallel} \\
458            {\tt \%netcdf\_lib} \>{\tt -L\textcolor{cyan}{<replace by netcdf include path>}:-lnetcdf} \>{\tt \textcolor{purple}{lcsci} parallel} \\
459            {\tt \%fopts} \>{\tt -xS:-cpp:-openmp:-r8:-nbs:-convert:little\_endian:} \>{\tt \textcolor{purple}{lcsci} parallel} \\
460            {\tt } \>{\tt -I:\textcolor{cyan}{<replace by mpi include path>}} \>{\tt } \\
461            {\tt \%lopts} \>{\tt -xS:-cpp:-openmp:-r8:-nbs:-Vaxlib:} \>{\tt \textcolor{purple}{lcsci} parallel} \\
462            {\tt } \>{\tt -L\textcolor{cyan}{<replace by mpi library path>}} \>{\tt } \\
463            {\tt \# if you want to use your own hostfile, uncomment next line} \>{\tt } \>{\tt } \\
464            {\tt \#\%hostfile} \>{\tt \$base\_directory/.hostfile} \>{\tt \textcolor{purple}{lcsci} parallel} \\
465            {\tt \# if you want this host to be used as a \textcolor{red}{remote} host, uncomment next line} \>{\tt } \>{\tt } \\
466            {\tt \#\%remote\_username} \>{\tt <replace by your username om this host>} \>{\tt \textcolor{purple}{lcsci} parallel}
467            \end{tabbing}};
468      \end{tikzpicture}
469      \end{center}
470\end{frame}
471
472% Folie 15
473\begin{frame}
474   \frametitle{Installing PALM on the \textcolor{green}{local} Computer \\ Package Configuration on the CUHK PCs}
475   
476   \tikzstyle{yellow1} = [rectangle, draw, fill=yellow!100, text width=0.2\textwidth, font=\tiny]
477   \tikzstyle{yellow2} = [rectangle, draw, fill=yellow!100, text width=0.3\textwidth, font=\tiny]
478   \tikzstyle{yellow3} = [rectangle, draw, fill=yellow!100, text width=0.1\textwidth, font=\tiny]
479   \tikzstyle{yellow4} = [rectangle, draw, fill=yellow!100, text width=0.15\textwidth, font=\tiny]
480   \tikzstyle{green1} = [rectangle, draw, fill=green!75!black, text width=0.1\textwidth, font=\tiny]
481   \tikzstyle{line} = [draw, -]
482   \tikzstyle{label} = [rectangle, font=\scriptsize, minimum size=8pt]
483   
484   \scriptsize
485   \begin{itemize}
486      \item<1->[1.]{Set environment variables in the respective profile of the user‘s default shell, (which is .bashrc, on the CUHK PCs): \\ \par\medskip
487          \uncover<2->{\qquad {\tiny \textcolor{red}{Note: .profile / .bashrc have to be located in \$HOME; recommended text editors are e.g. kate / vi}}} \\ 
488          \qquad {\tt export PALM\_BIN=\$HOME/palm/current\_version/trunk/SCRIPTS} \\
489          \qquad {\tt export PATH=\$PALM\_BIN:\$PATH}}\\ \par\medskip
490      \item<3->[2.]{Restart the shell. Otherwise settings are not active.}\\ \par\medskip
491      \item<4->[3.]{Create your personal configuration file, needed by {\tt mbuild} and {\tt mrun}: \\ \par\medskip
492         \qquad {\tt cd ~/palm/current\_version} \\
493         \qquad {\tt cp trunk/SCRIPTS/.mrun.config.cuhk .mrun.config} \\ \par\medskip
494         \uncover<5->{
495         \begin{tikzpicture}[auto, >=latex']
496              \hspace{0.5cm}
497              \node[yellow3] (home) {\$HOME/};
498              \node[yellow3] (palm) [right=0.4cm of home] {palm/};
499              \node[yellow4] (currentv) [right=0.4cm of palm] {current\_version/};
500              \node[green1] (trunk) [right=0.4cm of currentv] {trunk/};
501              \node[green1] (scripts) [right=0.4cm of trunk] {SCRIPTS/};
502             
503              \path[line] (home) -- (palm);
504              \path[line] (palm) -- (currentv);
505              \path[line] (currentv) -- (trunk);
506              \path[line] (trunk) -- (scripts);
507             
508              \uncover<6->{\draw [->, thick] {(scripts.south) .. controls (8.0,-1.0) and (4.0,-1.0) .. (currentv.south)};}
509             
510              \node[label, right=0pt of scripts] (scriptlabelbase2) {};
511              \node[label, above=0pt of scriptlabelbase2] (scriptlabelbase1) {};
512              \node[label, below=0pt of scriptlabelbase2] (scriptlabelbase3) {};
513              \node[label, right=0pt of scriptlabelbase1] (scriptlabel1) {mrun};
514              \node[label, right=0pt of scriptlabelbase2] (scriptlabel2) {mbuild};
515              \node[label, right=0pt of scriptlabelbase3] (scriptlabel3) {...};
516         \end{tikzpicture}}}
517   \end{itemize}
518\end{frame}
519
520% Folie 14a
521\begin{frame}
522   \frametitle{Installing PALM on the \textcolor{green}{local} Computer \\ Configuring {\tt .mrun.config} on CUHK PCs}
523   
524   \tikzstyle{box} = [rectangle, draw, text width=0.9\textwidth, font=\tiny]
525   
526   \scriptsize
527   \begin{itemize}
528      \item{The only parameter that has to be changed is the hostname.}
529      \item{You can find out the hostname by running the program ``hostname'' in your terminal.}
530   \end{itemize}
531      \begin{center}
532      \begin{tikzpicture}[auto, node distance=0]     
533         \node[box](box){ 
534            {\tt \# The next line is just an example. Add your own line below or replace this line.} \\
535            {\tt \%host\_identifier  \textcolor{cyan}{<replace with your hostname>} lccuhk} \\
536            {\tt \#} \\
537            {\tt \# The next block contains all informations for compiling the PALM code} \\
538            {\tt \#} \\
539            \begin{tabbing} 
540            {\tt \%tmp\_use\_catalog} \hspace{0.3cm} \={\tt /home/student/tmp} \hspace{4.0cm} \={\tt lccuhk parallel} \\
541            {\tt \%compiler\_name} \>{\tt mpif90} \>{\tt lccuhk parallel} \\
542            {\tt \%compiler\_name\_ser} \>{\tt ifort} \>{\tt lccuhk parallel} \\
543            {\tt \%cpp\_options} \>{\tt -D\_\_mpi2:-DMPI\_REAL=MPI\_DOUBLE\_PRECISION:} \>{\tt lccuhk parallel} \\
544            {\tt } \>{\tt :-DMPI\_2REAL=MPI\_2DOUBLE\_PRECISION:-D\_\_netcdf} \>{\tt } \\
545            {\tt \%netcdf\_inc} \>{\tt -I:/opt/netcdf-3.6.3/include} \>{\tt lccuhk parallel} \\
546            {\tt \%netcdf\_lib} \>{\tt -L/opt/netcdf-3.6.3/lib:-lnetcdf} \>{\tt lccuhk parallel} \\
547            {\tt \%fopts} \>{\tt -xS:-cpp:-openmp:-r8:-nbs:-convert:little\_endian:} \>{\tt lccuhk parallel} \\
548            {\tt } \>{\tt -I:/opt/mpich2/include} \>{\tt } \\
549            {\tt \%lopts} \>{\tt -xS:-cpp:-openmp:-r8:-nbs:-Vaxlib:} \>{\tt lccuhk parallel} \\
550            {\tt } \>{\tt -L/opt/mpich2/lib} \>{\tt } \\
551            {\tt \%remote\_username} \>{\tt student} \>{\tt lccuhk parallel}
552            \end{tabbing}};
553      \end{tikzpicture}
554      \end{center}
555\end{frame}
556
557% Folie 16
558% \begin{frame}
559%     \frametitle{Installing PALM on the \textcolor{green}{local} Computer \\ Package Configuration on CUHK PCs (II)}
560   
561%    \tikzstyle{box} = [rectangle, draw, text width=0.8\textwidth, font=\tiny]
562   
563%    \small
564%    \begin{itemize}
565%       \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
566%          \qquad {\tt vi .mrun.config}} \\ \par\medskip
567%       \begin{itemize}
568%       \item<1->{Old: \\
569%    \begin{center}
570%    \begin{tikzpicture}[auto, node distance=0]     
571%       \node[box](box){
572%          .\\.\\
573%          {\tt \# The next block contains all informations for compiling the PALM code}\\ {\tt\#} \\.\\.\\
574%          \begin{tabbing}
575%          {\tt \#\%remote\_username} \hspace{0.2cm}  \={\tt \textcolor{blue}{<replace by your IMUK username>}} \hspace{1.6cm} \={\tt lcmuk parallel} \\
576%          {\tt \#\%tmp\_use\_catalog} \>{\tt /localdata/\textcolor{blue}{<replace by your IMUK username>}} \>{\tt lcmuk parallel}
577%          \end{tabbing}};
578%    \end{tikzpicture}
579%    \end{center}
580%    }
581%    \item<2->{New: \\
582%    \begin{center}
583%    \begin{tikzpicture}[auto, node distance=0]     
584%       \node[box](box){
585%          \begin{tabbing}
586%          {\tt \%remote\_username} \hspace{0.2cm}  \={\tt \textcolor{blue}{your\_name}} \hspace{4.1cm} \={\tt lcmuk parallel} \\
587%          {\tt \%tmp\_use\_catalog} \>{\tt /localdata/\textcolor{blue}{your\_name}} \>{\tt lcmuk parallel}
588%          \end{tabbing}};
589%    \end{tikzpicture}
590%    \end{center}
591%    }
592%       \end{itemize}
593%    \end{itemize}
594% \end{frame}
595
596% Folie 17
597\begin{frame}
598   \frametitle{Installing PALM on the \textcolor{green}{local} Computer \\ Creating the Utility Programs}
599   
600   \tikzstyle{blanc} = [rectangle, text width=0\textwidth, font=\scriptsize]
601   \tikzstyle{white} = [rectangle, text width=0.1\textwidth, font=\scriptsize]
602   \tikzstyle{yellow1} = [rectangle, draw, fill=yellow!100, text width=0.2\textwidth, font=\tiny]
603   \tikzstyle{yellow2} = [rectangle, draw, fill=yellow!100, text width=0.3\textwidth, font=\tiny]
604   \tikzstyle{yellow3} = [rectangle, draw, fill=yellow!100, text width=0.08\textwidth, font=\tiny]
605   \tikzstyle{yellow4} = [rectangle, draw, fill=yellow!100, text width=0.13\textwidth, font=\tiny]
606   \tikzstyle{yellow5} = [rectangle, draw, fill=yellow!100, text width=0.05\textwidth, font=\tiny]
607   \tikzstyle{green1} = [rectangle, draw, fill=green!75!black, text width=0.08\textwidth, font=\tiny]
608   \tikzstyle{green2} = [rectangle, draw, fill=green!75!black, text width=0.05\textwidth, font=\tiny]
609   \tikzstyle{line} = [draw, -]
610   \tikzstyle{label} = [rectangle, font=\scriptsize, minimum size=8pt]
611   
612   \scriptsize
613   \begin{itemize}
614      \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
615           \qquad {\tt cd ~/palm/current\_version} \\
616           \qquad {\tt mbuild -u -h <hi>}} \\ \par\bigskip
617           
618           \begin{tikzpicture}[auto, >=latex']
619              \node[blanc] (base) {};
620              \node[blanc] (basebefore) [below=0.0cm of base] {};
621              \node[blanc] (baseafter) [below=2.0cm of base] {};
622           \uncover<2->{
623              \node[white] (before) [left=1.0cm of basebefore] {\textbf{Before:}};
624             
625              \node[yellow3] (home) [below=0.3cm of before] {\$HOME/};
626              \node[yellow5] (palm) [right=0.4cm of home] {palm/};
627              \node[yellow4] (currentv) [right=0.4cm of palm] {current\_version/};
628              \node[green2] (trunk) [right=0.4cm of currentv] {trunk/};
629              \node[green1] (utils) [right=0.4cm of trunk] {UTIL/};
630             
631              \path[line] (home) -- (palm);
632              \path[line] (palm) -- (currentv);
633              \path[line] (currentv) -- (trunk);
634              \path[line] (trunk) -- (utils);
635             
636              \node[label, right=0pt of utils] (utillabelbase2) {};
637              \node[label, above=0pt of utillabelbase2] (utillabelbase1) {};
638              \node[label, below=0pt of utillabelbase2] (utillabelbase3) {};
639              \node[label, right=0pt of utillabelbase1] (utillabel1) {interpret\_config.f90};
640              \node[label, right=0pt of utillabelbase2] (utillabel2) {combine\_plot\_fields.f90};
641           }
642           \uncover<3->{
643              \node[white] (after) [left=1.0cm of baseafter] {\textbf{After:}};
644             
645              \node[yellow3] (home2) [below=0.3cm of after] {\$HOME/};
646              \node[yellow5] (palm2) [right=0.4cm of home2] {palm/};
647              \node[yellow4] (currentv2) [right=0.4cm of palm2] {current\_version/};
648              \node[green2] (trunk2) [right=0.4cm of currentv2] {trunk/};
649              \node[green1] (scripts) [right=0.4cm of trunk2] {SCRIPTS/};
650             
651              \path[line] (home2) -- (palm2);
652              \path[line] (palm2) -- (currentv2);
653              \path[line] (currentv2) -- (trunk2);
654              \path[line] (trunk2) -- (scripts);
655             
656              \node[label, right=0pt of scripts] (scriptlabelbase2) {};
657              \node[label, above=0pt of scriptlabelbase2] (scriptlabelbase1) {};
658              \node[label, below=0pt of scriptlabelbase2] (scriptlabelbase3) {};
659              \node[label, above=0pt of scriptlabelbase1] (scriptlabelbase0) {};
660              \node[label, below=0pt of scriptlabelbase3] (scriptlabelbase4) {};
661              \node[label, right=0pt of scriptlabelbase0] (scriptlabel0) {mrun};
662              \node[label, right=0pt of scriptlabelbase1] (scriptlabel1) {mbuild};
663              \node[label, right=0pt of scriptlabelbase2] (scriptlabel2) {interpret\_config\_parallel.x};
664              \node[label, right=0pt of scriptlabelbase3] (scriptlabel3) {combine\_plot\_fields\_parallel.x};
665              \node[label, right=0pt of scriptlabelbase4] (scriptlabel4) {...};
666           }
667           
668           \uncover<4->{
669              \node[label, above=0pt of scriptlabelbase2] (scriptlabelbase01) {};
670              \node[label, right=40pt of scriptlabelbase01] (scriptlabe01) {};
671              \node[label, below=0pt of utillabelbase2] (utillabelbase04) {};
672              \node[label, right=40pt of utillabelbase04] (utiltlabe04) {};
673             
674              \draw[->, thick] (utiltlabe04) -- (scriptlabe01);
675           }
676           \end{tikzpicture}
677   \end{itemize}
678\end{frame}
679
680% Folie 18
681\begin{frame}
682   \frametitle{Installing PALM on the \textcolor{green}{local} Computer \\ Pre-Compiling the PALM Code}
683   
684   \tikzstyle{blanc} = [rectangle, text width=0\textwidth, font=\scriptsize]
685   \tikzstyle{white} = [rectangle, text width=0.1\textwidth, font=\scriptsize]
686   \tikzstyle{yellow1} = [rectangle, draw, fill=yellow!100, text width=0.2\textwidth, font=\tiny]
687   \tikzstyle{yellow2} = [rectangle, draw, fill=yellow!100, text width=0.3\textwidth, font=\tiny]
688   \tikzstyle{yellow3} = [rectangle, draw, fill=yellow!100, text width=0.08\textwidth, font=\tiny]
689   \tikzstyle{yellow4} = [rectangle, draw, fill=yellow!100, text width=0.13\textwidth, font=\tiny]
690   \tikzstyle{yellow5} = [rectangle, draw, fill=yellow!100, text width=0.05\textwidth, font=\tiny]
691   \tikzstyle{green1} = [rectangle, draw, fill=green!75!black, text width=0.1\textwidth, font=\tiny]
692   \tikzstyle{green2} = [rectangle, draw, fill=green!75!black, text width=0.1\textwidth, font=\tiny]
693   \tikzstyle{green3} = [rectangle, draw, fill=green!75!black, text width=0.25\textwidth, font=\tiny]
694   \tikzstyle{line} = [draw, -]
695   \tikzstyle{label} = [rectangle, font=\scriptsize, minimum size=8pt]
696   \tikzstyle{point} = [rectangle, draw, inner sep=0pt,minimum size=0pt,fill=black]
697   
698   \scriptsize
699   \begin{tabbing}
700      {\textcolor{blue}{Reason:}} \hspace{0.2cm}  \={Compilation is time consuming (especially when regarding short test runs).}\\
701      {\tt } \>{Using pre-compiled files prevents the code from being repeatedly compiled}\\
702      {\tt } \>{for each model run.}
703      \end{tabbing}
704      Pre-compiled files are generated by using the command {\tt mbuild}.\\
705      {\tt mbuild} performs the following steps:\\
706      \begin{itemize}
707      \item<2->{It copies all source code files from trunk/SOURCE to a make depository,
708           \begin{tikzpicture}[auto, >=latex']
709           \uncover<3->{
710              \node[yellow4] (currentv2) {current\_version/};
711             
712              \node[point] (base) [right=0.2cm of currentv2] {};
713              \node[blanc] (base1) [above=0.3cm of base] {};
714              \node[blanc] (base2) [below=0.3cm of base] {};
715             
716              \node[green2] (trunk2) [right=0.1cm of base1] {trunk/};
717              \node[green1] (source) [right=0.4cm of trunk2] {SOURCE/};
718             
719              \path[line] (trunk2) -- (source);
720             
721              \node[label, right=0pt of source] (scriptlabelbase2) {};
722              \node[label, above=0pt of scriptlabelbase2] (scriptlabelbase1) {};
723              \node[label, below=0pt of scriptlabelbase2] (scriptlabelbase3) {};
724              \node[label, below=0pt of scriptlabelbase3] (scriptlabelbase4) {};
725              \node[label, right=0pt of scriptlabelbase1] (scriptlabel1) {Makefile};
726              \node[label, right=0pt of scriptlabelbase2] (scriptlabel2) {advec\_particles.f90};
727              \node[label, right=0pt of scriptlabelbase3] (scriptlabel3) {advec\_s\_bc.f90};
728              \node[label, right=0pt of scriptlabelbase4] (scriptlabel4) {...};
729             
730              \node[green3] (makedep) [right=0.1cm of base2] {MAKE\_DEPOSITORY\_parallel/};
731             
732              \path[line] (currentv2) -- (base);
733              \path[line] (base.south) |- (trunk2);
734              \path[line] (base.north) |- (makedep);
735             
736              \draw[->, thick] (scriptlabel3) |- (makedep);
737           }
738           \end{tikzpicture}
739      }\\
740      \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.}\\
741      \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.}\\
742      \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.).}\\
743   \end{itemize}
744\end{frame}
745
746% Folie 19
747\begin{frame}
748   \frametitle{Installing PALM on the \textcolor{green}{local} Computer \\ Pre-Compiling the PALM Code, Running {\tt mbuild}}
749   
750   \small
751   The pre-compiled PALM code is generated with the command\\ \par\medskip
752      \qquad {\tt mbuild -h \textless host identifier\textgreater}\\ \par\medskip
753   \begin{itemize}
754       \item<2->{Informations will appear on the terminal.} 
755       \item<3->{Please read them carefully and answer the questions asked by {\tt mbuild}.}
756       \item<4->{You will get continuous informations about the progress of compilation.}
757       \item<5->{Compilation on Intel machines may take several minutes. On multicore systems less time is needed,
758             because parallel compilation is switched on by default (see setting of environment variable {\tt mopts} in the configuration file).}
759       \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.}
760   \end{itemize}
761\end{frame}
762
763% Folie 20
764\begin{frame}
765   \frametitle{Checking the PALM Installation (I) \\ on the \textcolor{green}{local} Computer}
766   
767   \tikzstyle{blanc} = [rectangle, text width=0\textwidth, font=\scriptsize]
768   \tikzstyle{white} = [rectangle, text width=0.1\textwidth, font=\scriptsize]
769   \tikzstyle{yellow1} = [rectangle, draw, fill=yellow!100, text width=0.2\textwidth, font=\tiny]
770   \tikzstyle{yellow2} = [rectangle, draw, fill=yellow!100, text width=0.3\textwidth, font=\tiny]
771   \tikzstyle{yellow3} = [rectangle, draw, fill=yellow!100, text width=0.08\textwidth, font=\tiny]
772   \tikzstyle{yellow4} = [rectangle, draw, fill=yellow!100, text width=0.13\textwidth, font=\tiny]
773   \tikzstyle{yellow5} = [rectangle, draw, fill=yellow!100, text width=0.05\textwidth, font=\tiny]
774   \tikzstyle{green1} = [rectangle, draw, fill=green!75!black, text width=0.1\textwidth, font=\tiny]
775   \tikzstyle{green2} = [rectangle, draw, fill=green!75!black, text width=0.1\textwidth, font=\tiny]
776   \tikzstyle{green3} = [rectangle, draw, fill=green!75!black, text width=0.25\textwidth, font=\tiny]
777   \tikzstyle{line} = [draw, -]
778   \tikzstyle{label} = [rectangle, font=\scriptsize, minimum size=8pt]
779   \tikzstyle{point} = [rectangle, draw, inner sep=0pt,minimum size=0pt,fill=black]
780   
781   \small
782   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
783   The test job will be started by using the mrun-tool.\\
784   Details about mrun and its options will be explained later. \\ \par\medskip
785   \uncover<2->{Pre-requisites on the \textcolor{green}{local} host:}\\
786   \begin{itemize}
787      \item<2->[1.]{Provide the configuration file {\tt .mrun.config} (already done)}
788      \item<3->[2.]{Provide the parameter file for running the test job (needed for steering PALM):\\
789         \qquad {\tt mkdir -p JOBS/example\_cbl/INPUT} \\
790         \qquad {\tt cp trunk/INSTALL/example\_cbl\_p3d  JOBS/example\_cbl/INPUT/}}
791   \end{itemize}
792      \begin{center}
793        \begin{tikzpicture}[auto, >=latex']
794           \uncover<4->{
795              \node[yellow4] (currentv2) {current\_version/};
796             
797              \node[point] (base) [right=0.2cm of currentv2] {};
798              \node[blanc] (base1) [above=0.3cm of base] {};
799              \node[blanc] (base2) [below=0.3cm of base] {};
800             
801              \node[green2] (trunk2) [right=0.1cm of base2] {trunk/};
802              \node[green1] (instal) [right=0.4cm of trunk2] {INSTAL/};
803             
804              \path[line] (trunk2) -- (instal);
805             
806              \node[yellow3] (jobs) [right=0.1cm of base1] {JOBS/};
807              \node[yellow4] (example) [right=0.4cm of jobs] {example\_cbl/};
808              \node[yellow3] (input) [right=0.4cm of example] {INPUT/};
809             
810              \path[line] (jobs) -- (example);
811              \path[line] (example) -- (input);
812             
813              \path[line] (currentv2) -- (base);
814              \path[line] (base.south) |- (jobs);
815              \path[line] (base.north) |- (trunk2);
816           }
817           \uncover<5->{
818              \draw[<-, thick] (input) |- (instal);
819           }
820        \end{tikzpicture}
821      \end{center}
822\end{frame}
823
824% Folie 21
825\begin{frame}
826   \frametitle{Checking the PALM Installation (II) \\ on the \textcolor{green}{local} Computer}
827   
828   \small
829   Now the job can be run and results can be compared with the reference file
830   \begin{itemize}
831%       \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
832%          \qquad {\tt mpd \&} }
833      \item<2->{Create and start the (interactive) test run using {\tt mrun}: \\ \par\medskip
834         \qquad {\tt mrun -d example\_cbl -K parallel -X2 -T2 -r \dq d3\# ts\#\dq} \\ \par\bigskip
835      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
836         \qquad {\tt --\textgreater \quad all actions finished} \\
837         \qquad {\tt Bye, bye \textless username\textgreater} !!}
838   \end{itemize}
839\end{frame}
840
841% Folie 22
842\begin{frame}
843   \frametitle{Checking the PALM Installation (III) \\ on the \textcolor{green}{local} Computer}
844   
845   \tikzstyle{blanc} = [rectangle, text width=0\textwidth, font=\scriptsize]
846   \tikzstyle{white} = [rectangle, text width=0.1\textwidth, font=\scriptsize]
847   \tikzstyle{yellow1} = [rectangle, draw, fill=yellow!100, text width=0.2\textwidth, font=\tiny]
848   \tikzstyle{yellow2} = [rectangle, draw, fill=yellow!100, text width=0.3\textwidth, font=\tiny]
849   \tikzstyle{yellow3} = [rectangle, draw, fill=yellow!100, text width=0.08\textwidth, font=\tiny]
850   \tikzstyle{yellow4} = [rectangle, draw, fill=yellow!100, text width=0.13\textwidth, font=\tiny]
851   \tikzstyle{yellow5} = [rectangle, draw, fill=yellow!100, text width=0.05\textwidth, font=\tiny]
852   \tikzstyle{green1} = [rectangle, draw, fill=green!75!black, text width=0.1\textwidth, font=\tiny]
853   \tikzstyle{green2} = [rectangle, draw, fill=green!75!black, text width=0.1\textwidth, font=\tiny]
854   \tikzstyle{green3} = [rectangle, draw, fill=green!75!black, text width=0.25\textwidth, font=\tiny]
855   \tikzstyle{line} = [draw, -]
856   \tikzstyle{label} = [rectangle, font=\scriptsize, minimum size=8pt]
857   \tikzstyle{point} = [rectangle, draw, inner sep=0pt,minimum size=0pt,fill=black]
858   
859   \small
860   \begin{itemize}
861      \item<1->[1.]{Check output files:\\ \par\medskip
862      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}\\
863      \begin{center}
864        \begin{tikzpicture}[auto, >=latex']
865           \uncover<2->{
866              \node[yellow4] (currentv) {current\_version/};
867              \node[yellow3] (jobs) [right=0.4cm of currentv] {JOBS/};
868              \node[yellow4] (example) [right=0.4cm of jobs] {example\_cbl/
869              };
870             
871              \path[line] (currentv) -- (jobs);
872              \path[line] (jobs) -- (example);
873             
874              \node[point] (base) [right=0.2cm of example] {};
875              \node[blanc] (base1) [above=0.3cm of base] {};
876              \node[blanc] (base2) [below=0.3cm of base] {};
877              \node[yellow3] (input) [right=0.1cm of base1] {INPUT/};
878              \node[yellow4] (monitoring) [right=0.1cm of base2] {MONITORING/};
879             
880              \path[line] (example) -- (base);
881              \path[line] (base.south) |- (input);
882              \path[line] (base.north) |- (monitoring);
883           }
884        \end{tikzpicture}
885      \end{center}
886      }
887      \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
888         \qquad {\tt cd JOBS/example\_cbl/MONITORING} \\
889         \qquad {\tt diff example\_cbl\_rc ../../../trunk/INSTALL/example\_cbl\_rc}\\ \par\medskip
890      \uncover<4->{
891      \textcolor{red}{Except run date, time, and small differences in the version/processor numbers, you should not find any difference between these files!}}}
892   \end{itemize}
893\end{frame}
894
895% Folie 23
896\begin{frame}
897  \frametitle{Installing PALM on CUHK PCs \\ Step by Step Instructions (I)}
898 
899  \footnotesize
900  \begin{itemize}
901     \item<2->[1.]{Log into the CUHK PC using the ``student'' account \\
902                   and the password ``fed19pa!m''}
903     FORTRAN-compiler, MPI- and netCDF-libraries and all other required software are already installed.
904     \item<3->[2.]{Download the PALM package by using subversion: \\ \par\medskip
905        \qquad {\tt mkdir -p $\sim$/palm/current\_version} \\
906        \qquad {\tt cd $\sim$/palm/current\_version} \\
907        \qquad {\tt svn checkout --username seminar\_cuhk \quad \textbackslash} \\
908        \qquad \qquad{\tt svn://130.75.105.7/palm/trunk trunk }} 
909     \item<4->[3.]{Set environment variables: \\ \par\medskip
910        \qquad {\tt export PALM\_BIN=\$HOME/palm/current\_version/trunk/SCRIPTS} \\
911        \qquad {\tt export PATH=\$PALM\_BIN:\$PATH} \\ \par\medskip
912     Set these variables also in file {\tt .bashrc.}}
913  \end{itemize}
914\end{frame}
915
916% Folie 24
917\begin{frame}
918   \frametitle{Installing PALM on CUHK PCs \\ Step by Step Instructions (II)}
919   
920   \footnotesize
921   \begin{itemize}
922      \item<1->[4.]{A pre-configured configuration file for the IMUK/HLRN system is available: \\ \par\medskip
923         \qquad{\tt cp trunk/SCRIPTS/.mrun.config.cuhk .mrun.config}}\\ \par\medskip
924      \item<2->[5.]{Create the utility programs: \\ \par\medskip
925         \qquad {\tt mbuild -u -h lccuhk}}\\ \par\medskip
926      \item<3->[6.]{Pre-compile the PALM code:\\ \par\medskip
927         \qquad{\tt mbuild -h lccuhk}}\\ \par\medskip
928      \item<4->[7.]{Provide the parameter file: \\ \par\medskip
929         \qquad{\tt mkdir -p JOBS/example\_cbl/INPUT} \\
930         \qquad{\tt cp trunk/INSTALL/example\_cbl\_p3d JOBS/example\_cbl/INPUT}}
931   \end{itemize}
932\end{frame}
933
934% Folie 25
935\begin{frame}
936   \frametitle{Installing PALM on CUHK PCs \\ Step by Step Instructions (III)}
937   
938   \footnotesize
939   \begin{itemize}
940      \item<1->[8.]{Carry out the test run: \\ \par\medskip
941         \qquad{\tt mrun -d example\_cbl -K parallel -X2 -T2 -r \dq d3\#\dq}}
942      \item<2->[9.]{Check results (after job has finished): \\ \par\medskip
943         \qquad{\tt cd JOBS/example\_cbl/MONITORING} \\
944         \qquad{\tt kdiff3 example\_cbl\_rc ../../../trunk/INSTALL/example\_cbl\_rc}}
945   \end{itemize}
946\end{frame}
947
948\end{document}
Note: See TracBrowser for help on using the repository browser.