source: palm/trunk/TUTORIAL/SOURCE/runs_with_mrun.tex @ 1234

Last change on this file since 1234 was 1226, checked in by fuhrmann, 11 years ago

several updates in the tutorial

  • Property svn:executable set to *
  • Property svn:keywords set to Id
File size: 42.6 KB
Line 
1% $Id: runs_with_mrun.tex 1226 2013-09-18 13:19:19Z kanani $
2\input{header_tmp.tex}
3%\input{../header_lectures.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}
17\def\Tiny{\fontsize{4pt}{4pt}\selectfont}
18\usepackage{amsmath}
19\usepackage{amssymb}
20\usepackage{multicol}
21\usepackage{pdfcomment}
22\usepackage{graphicx}
23\usepackage{listings}
24\lstset{showspaces=false,language=fortran,basicstyle=
25        \ttfamily,showstringspaces=false,captionpos=b}
26
27\institute{Institut fÌr Meteorologie und Klimatologie, Leibniz UniversitÀt Hannover}
28\date{last update: \today}
29\event{PALM Seminar}
30\setbeamertemplate{navigation symbols}{}
31
32\setbeamertemplate{footline}
33  {
34    \begin{beamercolorbox}[rightskip=-0.1cm]&
35     {\includegraphics[height=0.65cm]{imuk_logo.pdf}\hfill \includegraphics[height=0.65cm]{luh_logo.pdf}}
36    \end{beamercolorbox}
37    \begin{beamercolorbox}[ht=2.5ex,dp=1.125ex,
38      leftskip=.3cm,rightskip=0.3cm plus1fil]{title in head/foot}
39      {\leavevmode{\usebeamerfont{author in head/foot}\insertshortauthor} \hfill \eventname \hfill \insertframenumber \; / \inserttotalframenumber}
40    \end{beamercolorbox}
41    \begin{beamercolorbox}[colsep=1.5pt]{lower separation line foot}
42    \end{beamercolorbox}
43  }
44
45%\logo{\includegraphics[width=0.3\textwidth]{luhimuk_logo.pdf}}
46
47\title[Carrying out runs using mrun]{Carrying out runs using \texttt{mrun}}
48\author{Siegfried Raasch}
49
50\begin{document}
51
52% Folie 1
53\begin{frame}
54\titlepage
55\end{frame}
56
57\section{Carrying out runs using mrun}
58\subsection{Carrying out runs using mrun}
59
60% Folie 2
61\begin{frame}
62   \frametitle{What is \texttt{mrun}?}
63   \begin{itemize}
64      \item<1-> \texttt{mrun} (\textbf{m}odel \textbf{run}) is a shell script (using
65      \texttt{ksh}-syntax) which can be used to compile and run programs, including
66      the handling of input/output files.
67      \vspace{3mm}
68      \item<2-> The \texttt{mrun}-command has a number of options to control the
69      program execution\\
70         \vspace{2mm}
71         \quad \footnotesize \texttt{mrun -d example\underline{ }cbl -h lcsgih -K parallel -X8 -T2 ...}\\
72         \vspace{2mm}
73         \normalsize All options including a short description can be displayed by entering\\
74         \vspace{2mm}
75         \quad \footnotesize \texttt{mrun ?}
76      \vspace{3mm}
77      \item<3-> \normalsize The shellscript execution is also controlled by a configuration file with default name \texttt{.mrun.config} 
78   \end{itemize}
79\end{frame}
80
81% Folie 3
82\begin{frame}
83   \tikzstyle{green} = [rectangle, draw, fill=green!20, text width=0.1\textwidth, font=\tiny]
84   \tikzstyle{yellow} = [rectangle, draw, fill=yellow!20, text width=0.22\textwidth, font=\tiny]
85   \tikzstyle{info} = [rectangle, text width=0.15\textwidth, font=\tiny]
86   \tikzstyle{white} = [rectangle, text width=0.7\textwidth, font=\tiny]
87   \tikzstyle{dummy} = [rectangle, text width=0.3\textwidth, font=\tiny]
88   \tikzstyle{line} = [draw, -]
89   \tikzstyle{alert} = [rectangle, draw, text width=0.77\textwidth, font=\scriptsize]
90 
91   \scriptsize
92   \frametitle{Carrying Out Runs Using \texttt{mrun}}
93   \textbf{Carrying out a program run typically needs two steps:}\\
94   \vspace{1mm}
95   \quad 1. compilation\\
96   \qquad \texttt{f90  ...  file1.f90 file2.f90 ...}\\
97   \vspace{1mm}
98   \onslide<2->\quad 2. execution\\
99   \qquad \texttt{a.out}\\
100   \vspace{3mm}
101   \onslide<3->\textbf{Besides, a program needs input data and creates output data:}\\
102   
103   \onslide<4->\begin{tikzpicture}[auto, node distance=0]
104      \node [green] (first) {\textbf{a.out/} };
105      \node [dummy, right=0.1cm of first] (second) {};
106     
107      \node [yellow, above=0.4cm of second] (third) {\textbf{parameter for steering}};
108      \node [yellow, below=0.4cm of third] (fourth) {\textbf{control output}};
109      \node [yellow, below=0.3cm of fourth] (fifth) {\textbf{output for analysis}};
110     
111      \node [info, above=-0.1cm of third] (sixth) {input file};
112      \node [info, above=-0.1cm of fourth] (seventh) {output file 1};
113      \node [info, above=-0.1cm of fifth] (eight) {output file 2};
114
115      \draw [->] (third.west) -- (first.north);
116      \draw [->] (first.east) -- (fourth.west);
117      \draw [->] (first.south) -- (fifth.west);
118     
119      \uncover<5->{\node [white, right=0.25cm of third] (ninth) {
120         \texttt{OPEN (11, FILE='PARIN', FORM='FORMATTED')}};}
121      \uncover<5->{\node [white, right=0.25cm of fourth] (tenth) {
122         \texttt{OPEN (15, FILE='RUN\underline{ }CONTROL', FORM='FORMATTED')}};}
123      \uncover<5->{\node [white, right=0.25cm of fifth] (eleventh) {
124         \texttt{OPEN (40, FILE=‘DATA\underline{ }1D\underline{ }PR\underline{ }NETCDF', FORM='FORMATTED')}};}
125   \end{tikzpicture}
126   
127   \vspace{3mm}
128   \scriptsize
129   \onslide<6->\textcolor{red}{\textbf{Problems:} The user has to copy or rename output files, if
130   he/she wants to run the program more than once and if he concurrently wants to keep
131   the files from the former run(s). If he/she is using different input parameter files for steering, these files also have
132   to be copied into the working directory before the program is executed.}\\
133   \vspace{1mm}
134   \begin{tikzpicture}[auto, node distance=0]
135      \uncover<7->{\node [alert] (alert) {\textcolor{red}{\textbf{It is therefore very desirable to automate these tasks!}}};}
136   \end{tikzpicture}
137\end{frame}
138
139% Folie 4
140\begin{frame}
141   \tikzstyle{green} = [rectangle, draw, fill=green!20, font=\scriptsize]
142   \tikzstyle{yellow} = [rectangle, draw, fill=yellow!20, text width=0.18\textwidth, font=\scriptsize]
143   \tikzstyle{yellowsmall} = [rectangle, draw, fill=yellow!20, text width=0.10\textwidth, font=\scriptsize]
144   \tikzstyle{dummy} = [rectangle, text width=0.01\textwidth, font=\tiny]
145   
146   \frametitle{\texttt{mrun}: Principal Mode of Operation (I)}
147   \scriptsize \texttt{mrun} \textbf{runs a program (in our case the PALM model) by carrying out the following principle tasks in a sequential order:}\\
148   \vspace{1mm}
149   \begin{enumerate}
150      \item<2-> Create a temporary working directory and change into this directory:\\
151      \quad \texttt{mkdir <tmpdir>/<username>.<randomnumber>}\\
152      \quad \texttt{cd <tmpdir>/<username>.<randomnumber>}\\
153      \ \\
154      The path of \texttt{<tmpdir>} is given in the configuration file
155      \texttt{.mrun.config} by the environment variable \texttt{tmp\underline{ }user\underline{ }catalog}, e.g.:\\
156           \quad \texttt{\%tmp\underline{ }user\underline{ }catalog  /tmp \hspace{30mm} <hi>  parallel}\\
157           \ \\
158           \onslide<3-> On SGI-ICE: \\
159           \quad \texttt{\%tmp\underline{ }user\underline{ }catalog  /gfs2/work/<username>
160           \hspace{5mm} lcsgih parallel}
161           \begin{center}
162              \begin{tikzpicture}[auto, node distance=0]
163            \uncover<4->{\node [green] (green) {/$<$tmpdir$>$/$<$username$>$.$<$randomnumber$>$};}
164         \end{tikzpicture}
165           \end{center}
166           \vspace{2mm}
167           \item<5-> Copy the input files from a directory of the user into this working directory:\\
168           \vspace{1mm}
169           \onslide<6-> \tiny \quad \texttt{cp <user\underline{ }input\underline{ }file1>
170           /<tmpdir>/<username>.<randomnumber>/<temporary\underline{ }input\underline{ }file1>}\\
171      \quad \texttt{cp <user\underline{ }input\underline{ }file2>
172      /<tmpdir>/<username>.<randomnumber>/<temporary\underline{ }input\underline{ }file2>}\\
173      \vspace{2mm}
174      \scriptsize
175      \begin{center}
176              \begin{tikzpicture}[auto, node distance=0]
177             
178            \uncover<8->{\node [green] (green) {/$<$tmpdir$>$/$<$username$>$.$<$randomnumber$>$};}
179       
180            \uncover<7->{\node [yellowsmall, above=0.1cm of green] (yellow2) {JOBS/};}
181            \uncover<7->{\node [yellow, left=0.2cm of yellow2] (yellow1) {current\underline{ }version/};}
182            \uncover<7->{\node [yellow, right=0.2cm of yellow2] (yellow3) {example\underline{ }cbl/};}
183            \uncover<7->{\node [yellowsmall, right=0.2cm of yellow3] (yellow4) {INPUT/};}
184           
185            \draw<7-> [-] (yellow1.east) -- (yellow2.west);
186            \draw<7-> [-] (yellow2.east) -- (yellow3.west);
187            \draw<7-> [-] (yellow3.east) -- (yellow4.west);
188           
189            \node [dummy, right=0.06cm of yellow4] (dummy1) {};
190            \node [dummy, below=0.38cm of dummy1] (dummy2) {};
191           
192            \draw<9-> [-] (yellow4.east) -- (dummy1.center);
193            \draw<9-> [-] (dummy1.center) -- (dummy2.center);
194            \draw<9-> [->] (dummy2.center) -- (green.east);
195           
196         \end{tikzpicture}
197           \end{center}
198     
199        \end{enumerate}
200
201\end{frame}
202
203% Folie 5
204\begin{frame}
205   \tikzstyle{green} = [rectangle, draw, fill=green!20, font=\scriptsize, minimum height=0.6cm]
206   \tikzstyle{yellow} = [rectangle, draw, fill=yellow!20, text width=0.18\textwidth, font=\scriptsize, minimum height=0.6cm]
207   \tikzstyle{dummy} = [rectangle, text width=0.01\textwidth, font=\scriptsize, minimum height=0.6cm]
208   
209   \frametitle{\texttt{mrun}: Principal Mode of Operation (II)}
210
211        \begin{enumerate}
212      \setcounter{enumi}{2}
213           \item<1-> Copy the pre-compiled routines to the temporary working directory:\\
214     
215      \begin{center}
216              \begin{tikzpicture}[auto, node distance=0]
217                 \uncover<2->{\node [yellow] (yellow) {current\underline{ }version/};}
218                 \uncover<1->{\node [dummy, right=0.0cm of yellow] (dummy1) {};}
219                 \uncover<2->{\node [green, right=0.2cm of yellow] (green1) {MAKE\underline{ }DEPOSITORY\underline{ }\textit{parallel}/};}
220                 \uncover<1->{\node [dummy, right=0.2cm of green1] (dummy2) {};}
221            \uncover<3->{\node [green, below=0.5cm of dummy1] (green2) {/$<$tmpdir$>$/$<$username$>$.$<$randomnumber$>$};}
222             \uncover<1->{\node [dummy, below=0.5cm of dummy2] (dummy3) {};}
223             \uncover<4->{\node [dummy, right=0.0cm of dummy3] (text) {Makefile\\
224                 *.f90\\
225                 *.o\\
226                 ...\\ \ \\};}
227             
228             \draw<2-> [-] (yellow.east) -- (green1.west);
229             \draw<4-> [-] (green1.east) -- (dummy2.center);
230             \draw<4-> [-] (dummy2.center) -- (dummy3.center);
231             \draw<4-> [->] (dummy3.center) -- (green2.east);
232              \end{tikzpicture}
233           \end{center}
234           
235           \item<5-> Compile the main program and use pre-compiled object files:\\
236     \quad \texttt{f90 palm.f90 *.o ...   ( make Makefile)}
237      \item<6-> Execute the program:\\
238     \quad \texttt{a.out}
239   \end{enumerate}
240\end{frame}
241
242% Folie 6
243\begin{frame}
244   \tikzstyle{green} = [rectangle, draw, fill=green!20, font=\scriptsize, minimum height=0.6cm]
245   \tikzstyle{yellow} = [rectangle, draw, fill=yellow!20, text width=0.2\textwidth, font=\scriptsize, minimum height=0.6cm]
246   \tikzstyle{dummy} = [rectangle, text width=0.01\textwidth, font=\scriptsize, minimum height=0.6cm]
247   
248   \frametitle{\texttt{mrun}: Principal Mode of Operation (III)}
249   \footnotesize 
250        \begin{enumerate}
251      \setcounter{enumi}{5}
252           \item<1-> Copy the output files from the working directory to a (permanent) directory of the user:\\
253       \vspace{1mm}
254       \tiny \quad \texttt{cp /<tmpdir>/<username>.<randomnumber>/<temporary\underline{ }output\underline{ }file1> <user\underline{ }output\underline{ }file1>}\\
255      \quad \texttt{cp /<tmpdir>/<username>.<randomnumber>/<temporary\underline{ }output\underline{ }file2> <user\underline{ }output\underline{ }file2>}\\
256      \footnotesize 
257      \begin{center}
258         \begin{tikzpicture}[auto, node distance=0]
259            \uncover<2->{\node [yellow] (yellow1) {MONITORING/ };}
260
261            \uncover<2->{\node [dummy, right=0.2cm of yellow1] (dummy2) {};}
262            \uncover<2->{\node [dummy, above=0.2cm of dummy2] (dummy1) {};}
263            \uncover<2->{\node [dummy, below=0.2cm of dummy2] (dummy3) {};}
264           
265            \uncover<2->{\node [yellow, left=0.2cm of dummy3] (yellow2) {OUTPUT/};}
266            \uncover<2->{\node [yellow, left=0.2cm of yellow2] (yellow3) {example\underline{ }cbl/};}
267            \uncover<2->{\node [yellow, left=0.2cm of yellow3] (yellow4) {JOBS/};}
268            \uncover<2->{\node [yellow, left=0.2cm of yellow4] (yellow5) {current\underline{ }version/};}
269                                             
270                 \uncover<2-3>{\node [green, left=4.0cm of dummy1] (green) {/$<$tmpdir$>$/$<$username$>$.$<$randomnumber$>$};}
271                 
272            \draw<2-3> [-] (green.east) -- (dummy1.center);
273            \draw<2-3> [-] (dummy2.center) -- (dummy1.center);
274            \draw<2-3> [-] (dummy3.center) -- (dummy1.center);
275           
276            \draw<2-3> [->] (dummy2.center) -- (yellow1.east);
277            \draw<2-3> [->] (dummy3.center) -- (yellow2.east);
278           
279            \draw<2-> [-] (yellow2.west) -- (yellow3.east);
280            \draw<2-> [-] (yellow3.west) -- (yellow4.east);
281            \draw<2-> [-] (yellow4.west) -- (yellow5.east);
282               
283        \end{tikzpicture}
284     \end{center}
285           
286           \item<3-> Delete the temporary working directory\\
287      \quad \texttt{rm -rf /<tmpdir>/<username>.<randomnumber>}\\
288      \vspace{2mm}
289      \onslide<5->\textcolor{red}{Question: How does \texttt{mrun} know which files have to be copied and where from or where to they have to be copied?}
290
291   \end{enumerate}
292\end{frame}
293
294% Folie 7
295\begin{frame}
296   \tikzstyle{small} = [rectangle, text width=0.08\textwidth, font=\scriptsize]
297   \tikzstyle{large} = [rectangle, text width=0.45\textwidth, font=\scriptsize]
298   \tikzstyle{box} = [rectangle, draw, text width=0.2\textwidth, font=\scriptsize]
299   \tikzstyle{boxbig} = [rectangle, draw, text width=0.4\textwidth, font=\scriptsize]
300   \tikzstyle{dummy} = [rectangle, text width=0.0\textwidth, font=\scriptsize, minimum height=0.5cm]
301   
302   \frametitle{Steering File Copy by the Configuration File (I)}
303   \scriptsize
304   \textbf{Copying of files is controlled by so called} \textit{file connection statements}. \textbf{They connect local files in the temporary working directory with permanent files residing in the directory of the user.}\\
305   \vspace{1mm}
306   Principle example of a file connection statement (for the PALM parameter file):
307   \vspace{-3mm}
308   \begin{center}
309           \begin{tikzpicture}[auto, node distance=0]
310         \uncover<1->{\node [small] (part1) {\texttt{PARIN}};}
311         \uncover<1->{\node [dummy, left=-0.2cm of part1] (dummy1) {};}
312         \uncover<1->{\node [dummy, below=1.25cm of dummy1] (dummy3) {};}
313         \uncover<1->{\node [small, right=0.0cm of part1] (part2) {\quad \texttt{in}};}
314         \uncover<1->{\node [dummy, right=0.0cm of part2] (dummy2) {};}
315         \uncover<1->{\node [small, right=0.2cm of part2] (part3) {\texttt{d3\#}};}
316              \uncover<1->{\node [large, right=0.0cm of part3] (part4) {\texttt{\~{}/palm/current\underline{ }version/JOB/INPUT}};}
317              \uncover<1->{\node [small, right=0.0cm of part4] (part5) {\texttt{\underline{ }p3d}};}
318              \uncover<1->{\node [small, right=0.2cm of part5] (part6) {\texttt{( \textcolor{red}{nc} )}};}
319                   
320         \uncover<2->{\node [boxbig, below=1.25cm of dummy2] (box1) {local filename in the working directory (must correspond to the filename in the \texttt{OPEN} statement of the program)};}
321              \draw<2-> [->] (dummy3.north) -- (dummy1.south);
322             
323              \uncover<3->{\node [box, below=0.7cm of part2] (box2) {file attributes};}
324              \draw<3-> [->] (box2.north) -- (part2.south);
325             
326              \uncover<4->{\node [box, below=0.2cm of part3] (box3) {activating string};}
327              \draw<4-> [->] (box3.north) -- (part3.south);
328                     
329              \uncover<5->{\node [box, below=0.2cm of part4] (box4) {directory in which the permanent user file resides};}
330              \draw<5-> [->] (box4.north) -- (part4.south);
331             
332         \uncover<6->{\node [box, below=0.2cm of part5] (box5) {suffix of the permanent filename};}
333              \draw<6-> [->] (box5.north) -- (part5.south);
334             
335         \uncover<7->{\node [box, below=1.0cm of part6] (box6) {additional suffix for netCDF files};}
336              \draw<7-> [->] (box6.north) -- (part6.south);   
337           \end{tikzpicture}
338        \end{center}
339   
340   \onslide<8->The full name of the permanent file results from the directory name, the suffix and the value of \texttt{mrun}-Option \texttt{-d}, which defines the so-called \textbf{base name} of all files handled by \texttt{mrun}:\\
341   \quad \texttt{mrun -d \textcolor{blue}{example\underline{ }cbl} ...}\\
342   gives the filename\\
343   \quad \texttt{\~{}/palm/current\underline{ }version/JOB/INPUT/\textcolor{blue}{example\underline{ }cbl}\underline{ }p3d}\\
344   \quad \texttt{( ... /\textcolor{blue}{example\underline{ }cbl}\underline{ }p3d\textcolor{red}{.nc} )}
345   
346\end{frame}
347
348% Folie 8
349\begin{frame}
350   \frametitle{Steering File Copy by the Configuration File (II)}
351   \scriptsize
352   \onslide<1-> The \textbf{base name} can additionally be a part of the directory name
353   by using \textcolor{blue}{\texttt{\$fname}} in the directory column of the file connection statement:\\
354   \vspace{1mm}
355   \quad \texttt{PARIN in d3\# \~{}/palm/current\underline{ }version/JOBS/\textcolor{blue}{\$fname}/INPUT \underline{ }p3d}\\
356   \vspace{1mm}
357   \onslide<2-> Using the call\\
358   \vspace{1mm}
359   \quad \texttt{mrun -d \textcolor{blue}{abcde} ...}\\
360   \vspace{1mm}
361   the input file will be expected under\\
362   \vspace{1mm}
363   \quad \texttt{\~{}/palm/current\underline{ }version/JOBS/\textcolor{blue}{abcde}/INPUT/\textcolor{blue}{abcde}\underline{ }p3d }\\
364   \vspace{1mm}
365   \onslide<3-> In this way, all files handled by the \texttt{mrun}-call are stored in
366   the same subdirectory (\textcolor{blue}{abcde/}) and will have the same string (\texttt{\textcolor{blue}{abcde}}) as
367   part of their names, so they can be easily identified as \grqq belonging\grqq\, to the model
368   run initiated by that \texttt{mrun} call.\\
369   \ \\
370   \onslide<4-> Instead of always writing the full path name (i.e.
371   \texttt{\~{}/palm/current\underline{ }version/JOBS}), an environment variable can be declared for
372   this at the beginning of the configuration file and be used in the file
373   connection statements:\\
374   \vspace{1mm}
375   \quad \texttt{\%base\underline{ }data  \~{}/palm/current\underline{ }version/JOBS}\\
376   \quad \texttt{PARIN in d3\#  \textcolor{blue}{\$base\underline{ }data}/\textcolor{blue}{\$fname}/INPUT \underline{ }p3d}\\
377   \ \\
378   \onslide<5-> This easily allows to change the directories for all input/output files
379   by just changing the value of \texttt{base\underline{ }data}.
380   
381\end{frame}
382
383% Folie 9
384\begin{frame}
385   \frametitle{Steering File Copy by the Configuration File (III)}
386   \scriptsize
387   \onslide<1-> File connection statements which shall be carried out,
388   have to be activated by giving their activation string in the
389   \texttt{mrun}-option \texttt{-r}:\\
390   \vspace{1mm}
391   \quad \texttt{PARIN in d3\# \~{}/palm/current\underline{ }version/JOBS/\$fname/INPUT \underline{ }p3d}\\
392   \ \\
393   \onslide<2-> The permanent file
394   \vspace{1mm}
395   \texttt{\~{}/palm/current\underline{ }version/JOBS/example\underline{ }cbl/INPUT/example\underline{ }cbl\underline{ }p3d} 
396   \vspace{1mm}
397   will only be copied to the local file PARIN by using the call:\\
398   \vspace{1mm}
399   \quad \texttt{mrun -d example\underline{ }cbl -r \dq d3\#\dq\, ...}\\
400   \ \\
401   \onslide<3-> \textbf{Example for an output file:}\\
402   The file connection statement\\
403   \vspace{1mm}
404   \quad \texttt{DATA\underline{ }1D\underline{ }PR\_NETCDF out:loc pr\# \textbackslash} \\
405   ~~~~~~\texttt{\~{}/palm/current\underline{ }version/JOBS/\$fname/OUTPUT \underline{ }pr nc}s\\
406   \vspace{1mm}
407   \onslide<4-> will copy (after program execution) the local file
408   \texttt{DATA\underline{ }1D\underline{ }PR\underline{ }NETCDF} to the permanent file
409   \vspace{1mm}
410   \texttt{\~{}/palm/current\underline{ }version/JOBS/example\underline{ }cbl/OUTPUT/example\underline{ }cbl\underline{ }pr.nc} if
411   \texttt{mrun} is called with the options\\
412   \vspace{1mm}
413   \quad \texttt{mrun -d example\underline{ }cbl -r \dq d3\# pr\#\dq\, ...}
414   
415\end{frame}
416
417% Folie 10
418\begin{frame}
419   \frametitle{Steering File Copy by the Configuration File (IV)}
420   \scriptsize
421   \onslide<1-> \texttt{mrun} never replaces/overwrites existing files!\\
422   \ \\
423   Instead, new, so-called file cycles are created.\\
424   If an output file, e.g.\\
425   \quad \texttt{\~{}/palm/current\underline{ }version/JOBS/example\underline{ }cbl/MONITORING/example\underline{ }cbl\underline{ }rc}\\
426   \ \\
427   has been created from a first call of \texttt{mrun} and if the same \texttt{mrun} 
428   call is submitted again, the second call will not replace the file
429   \texttt{example\underline{ }cbl\underline{ }rc}, but will create a new file with name:\\
430   \quad \texttt{\~{}/palm/current\underline{ }version/JOBS/example\underline{ }cbl/MONITORING/example\underline{ }cbl\underline{ }rc.1}\\
431   \ \\
432   \onslide<2->In case of netCDF-files, the file cycle number is inserted before
433   the netCDF-suffix .nc, e.g.\\
434   \quad \texttt{example\underline{ }cbl\underline{ }pr.1.nc}\\
435   \ \\
436   \onslide<3->The implemented file cycle mechanism does not allow to use
437   any other dots "'."'  in the path or filename:\\
438   \quad \texttt{\~{}/palm/version\underline{ }3.6/JOBS/example.sbl/MONITORING/example.sbl\underline{ }rc}
439\end{frame}
440
441% Folie 11
442\begin{frame}[fragile]
443   \frametitle{\normalsize File Connection Statements From the Default \texttt{.mrun.config} file}
444   \begin{columns}
445      \column{1.1\textwidth}
446      \tiny
447      \begin{lstlisting}
448#----------------------------------------------------------------------------
449# List of input-files
450#----------------------------------------------------------------------------
451PARIN                    in:job        d3#      $base_data/$fname/INPUT    _p3d
452PARIN                    in:job        d3f      $base_data/$fname/INPUT    _p3df
453TOPOGRAPHY_DATA          in:locopt     d3#:d3f  $base_data/$fname/INPUT    _topo
454BININ                    in:loc:flpe   d3f      $base_data/$fname/RESTART  _d3d
455PARTICLE_RESTART_DATA_IN in:loc:flpe   prtf     $base_data/$fname/RESTART  _rprt
456DATA_1D_PR_NETCDF        in:locopt     prf      $base_data/$fname/OUTPUT   _pr     nc
457DATA_1D_SP_NETCDF        in:locopt     spf      $base_data/$fname/OUTPUT   _sp     nc
458DATA_1D_TS_NETCDF        in:locopt     tsf      $base_data/$fname/OUTPUT   _ts     nc
459DATA_1D_PTS_NETCDF       in:locopt     ptsf     $base_data/$fname/OUTPUT   _pts    nc
460DATA_2D_XY_NETCDF        in:locopt     xyf      $base_data/$fname/OUTPUT   _xy     nc
461DATA_2D_XY_AV_NETCDF     in:locopt     xyf      $base_data/$fname/OUTPUT   _xy_av  nc
462DATA_2D_XZ_NETCDF        in:locopt     xzf      $base_data/$fname/OUTPUT   _xz     nc
463DATA_2D_YZ_NETCDF        in:locopt     yzf      $base_data/$fname/OUTPUT   _yz     nc
464DATA_3D_NETCDF           in:locopt     3df      $base_data/$fname/OUTPUT   _3d     nc
465DATA_PRT_NETCDF          in:locopt:pe  prtf     $base_data/$fname/OUTPUT   _prt
466#
467#----------------------------------------------------------------------------
468# List of output-files
469#----------------------------------------------------------------------------
470BINOUT                    out:loc:flpe restart   $base_data/$fname/RESTART  _d3d
471PARTICLE_RESTART_DATA_OUT out:loc:flpe prt#:prtf $base_data/$fname/RESTART  _rprt
472#
473RUN_CONTROL       out:loc:tr   d3#     $base_data/$fname/MONITORING  _rc
474RUN_CONTROL       out:loc:tra  d3f     $base_data/$fname/MONITORING  _rc
475HEADER            out:loc:tr   d3#     $base_data/$fname/MONITORING  _header
476HEADER            out:loc:tra  d3f     $base_data/$fname/MONITORING  _header
477      \end{lstlisting}
478   \end{columns}
479% CPU_MEASURES      out:loc:tr   d3#     $base_data/$fname/MONITORING  _cpu
480% CPU_MEASURES      out:loc:tra  d3f     $base_data/$fname/MONITORING  _cpu
481% #
482% DATA_1D_PR_NETCDF    out:loc:tr   pr#:prf   $base_data/$fname/OUTPUT  _pr     nc
483% DATA_1D_SP_NETCDF    out:loc:tr   sp#:spf   $base_data/$fname/OUTPUT  _sp     nc
484% DATA_1D_TS_NETCDF    out:loc:tr   ts#:tsf   $base_data/$fname/OUTPUT  _ts     nc
485% DATA_1D_PTS_NETCDF   out:loc:tr   pts#:ptsf $base_data/$fname/OUTPUT  _pts    nc
486% DATA_2D_XY_NETCDF    out:loc:tr   xy#:xyf   $base_data/$fname/OUTPUT  _xy     nc
487% DATA_2D_XY_AV_NETCDF out:loc:tr   xy#:xyf   $base_data/$fname/OUTPUT  _xy_av  nc
488% DATA_2D_XZ_NETCDF    out:loc:tr   xz#:xzf   $base_data/$fname/OUTPUT  _xz     nc
489% DATA_2D_XZ_AV_NETCDF out:loc:tr   xz#:xzf   $base_data/$fname/OUTPUT  _xz_av  nc
490% DATA_2D_YZ_NETCDF    out:loc:tr   yz#:yzf   $base_data/$fname/OUTPUT  _yz     nc
491% DATA_2D_YZ_AV_NETCDF out:loc:tr   yz#:yzf   $base_data/$fname/OUTPUT  _yz_av  nc
492% DATA_3D_NETCDF       out:loc:tr   3d#:3df   $base_data/$fname/OUTPUT  _3d     nc
493% DATA_3D_AV_NETCDF    out:loc:tr   3d#:3df   $base_data/$fname/OUTPUT  _3d_av  nc
494% DATA_MASK_01_NETCDF    out:loc:tr ma#:maf   $base_data/$fname/OUTPUT  _m01     nc
495% DATA_MASK_01_AV_NETCDF out:loc:tr ma#:maf   $base_data/$fname/OUTPUT  _m01_av  nc
496% DATA_MASK_02_NETCDF    out:loc:tr ma#:maf   $base_data/$fname/OUTPUT  _m02     nc
497% DATA_MASK_02_AV_NETCDF out:loc:tr ma#:maf   $base_data/$fname/OUTPUT  _m02_av  nc
498% DATA_MASK_03_NETCDF    out:loc:tr ma#:maf   $base_data/$fname/OUTPUT  _m03     nc
499% DATA_MASK_03_AV_NETCDF out:loc:tr ma#:maf   $base_data/$fname/OUTPUT  _m03_av  nc
500% DATA_MASK_04_NETCDF    out:loc:tr ma#:maf   $base_data/$fname/OUTPUT  _m04     nc
501% DATA_MASK_04_AV_NETCDF out:loc:tr ma#:maf   $base_data/$fname/OUTPUT  _m04_av  nc
502% DATA_MASK_05_NETCDF    out:loc:tr ma#:maf   $base_data/$fname/OUTPUT  _m05     nc
503% DATA_MASK_05_AV_NETCDF out:loc:tr ma#:maf   $base_data/$fname/OUTPUT  _m05_av  nc
504% DATA_MASK_06_NETCDF    out:loc:tr ma#:maf   $base_data/$fname/OUTPUT  _m06     nc
505% DATA_MASK_06_AV_NETCDF out:loc:tr ma#:maf   $base_data/$fname/OUTPUT  _m06_av  nc
506% DATA_MASK_07_NETCDF    out:loc:tr ma#:maf   $base_data/$fname/OUTPUT  _m07     nc
507% DATA_MASK_07_AV_NETCDF out:loc:tr ma#:maf   $base_data/$fname/OUTPUT  _m07_av  nc
508% DATA_MASK_08_NETCDF    out:loc:tr ma#:maf   $base_data/$fname/OUTPUT  _m08     nc
509% DATA_MASK_08_AV_NETCDF out:loc:tr ma#:maf   $base_data/$fname/OUTPUT  _m08_av  nc
510% DATA_MASK_09_NETCDF    out:loc:tr ma#:maf   $base_data/$fname/OUTPUT  _m09     nc
511% DATA_MASK_09_AV_NETCDF out:loc:tr ma#:maf   $base_data/$fname/OUTPUT  _m09_av  nc
512% DATA_MASK_10_NETCDF    out:loc:tr ma#:maf   $base_data/$fname/OUTPUT  _m10     nc
513% DATA_MASK_10_AV_NETCDF out:loc:tr ma#:maf   $base_data/$fname/OUTPUT  _m10_av  nc
514% DATA_MASK_11_NETCDF    out:loc:tr ma#:maf   $base_data/$fname/OUTPUT  _m11     nc
515% DATA_MASK_11_AV_NETCDF out:loc:tr ma#:maf   $base_data/$fname/OUTPUT  _m11_av  nc
516% DATA_MASK_12_NETCDF    out:loc:tr ma#:maf   $base_data/$fname/OUTPUT  _m12     nc
517% DATA_MASK_12_AV_NETCDF out:loc:tr ma#:maf   $base_data/$fname/OUTPUT  _m12_av  nc
518% DATA_MASK_13_NETCDF    out:loc:tr ma#:maf   $base_data/$fname/OUTPUT  _m13     nc
519% DATA_MASK_13_AV_NETCDF out:loc:tr ma#:maf   $base_data/$fname/OUTPUT  _m13_av  nc
520% DATA_MASK_14_NETCDF    out:loc:tr ma#:maf   $base_data/$fname/OUTPUT  _m14     nc
521% DATA_MASK_14_AV_NETCDF out:loc:tr ma#:maf   $base_data/$fname/OUTPUT  _m14_av  nc
522% DATA_MASK_15_NETCDF    out:loc:tr ma#:maf   $base_data/$fname/OUTPUT  _m15     nc
523% DATA_MASK_15_AV_NETCDF out:loc:tr ma#:maf   $base_data/$fname/OUTPUT  _m15_av  nc
524% DATA_MASK_16_NETCDF    out:loc:tr ma#:maf   $base_data/$fname/OUTPUT  _m16     nc
525% DATA_MASK_16_AV_NETCDF out:loc:tr ma#:maf   $base_data/$fname/OUTPUT  _m16_av  nc
526% DATA_MASK_17_NETCDF    out:loc:tr ma#:maf   $base_data/$fname/OUTPUT  _m17     nc
527% DATA_MASK_17_AV_NETCDF out:loc:tr ma#:maf   $base_data/$fname/OUTPUT  _m17_av  nc
528% DATA_MASK_18_NETCDF    out:loc:tr ma#:maf   $base_data/$fname/OUTPUT  _m18     nc
529% DATA_MASK_18_AV_NETCDF out:loc:tr ma#:maf   $base_data/$fname/OUTPUT  _m18_av  nc
530% DATA_MASK_19_NETCDF    out:loc:tr ma#:maf   $base_data/$fname/OUTPUT  _m19     nc
531% DATA_MASK_19_AV_NETCDF out:loc:tr ma#:maf   $base_data/$fname/OUTPUT  _m19_av  nc
532% DATA_MASK_20_NETCDF    out:loc:tr ma#:maf   $base_data/$fname/OUTPUT  _m20     nc
533% DATA_MASK_20_AV_NETCDF out:loc:tr ma#:maf   $base_data/$fname/OUTPUT  _m20_av  nc
534% DATA_PRT_NETCDF      out:loc:trpe prt#:prtf $base_data/$fname/OUTPUT  _prt    nc
535% DATA_DVR             out:loc:trpe dvr       $base_data/$fname/OUTPUT  _dvr
536% #
537% DVRP_LOG          out:loc:tr   dv#       $base_data/$fname/MONITORING  _dvrp_log
538% DVRP_LOG          out:loc:tra  dvf       $base_data/$fname/MONITORING  _dvrp_log
539% PARTICLE_INFO     out:loc:tr   pt#       $base_data/$fname/MONITORING  _prt_info
540% PARTICLE_INFO     out:loc:tra  ptf       $base_data/$fname/MONITORING  _prt_info
541% PARTICLE_DATA     out:loc:flpe prt#:prtf $base_data/$fname/OUTPUT      _prt_dat
542
543\end{frame}
544
545% Folie 12
546\begin{frame}
547   \frametitle{Additional Features of \texttt{mrun} (I)}
548   \tikzstyle{yellow} = [rectangle, draw, fill=yellow!30, text width=1.15\textwidth, font=\Tiny]
549   \begin{itemize}
550      \footnotesize
551      \item<1-> Generating batch jobs on local \textbf{and} remote host.
552      \item<2-> Setting of unix environment variables for job and model control (e.g. for determining compiler options, etc.).
553      \item<3-> Values have to be set in the \texttt{mrun} configuration file \texttt{.mrun.config}:
554   \end{itemize}
555   \onslide<4->{\hspace{-0.95cm}\begin{tikzpicture}[auto]
556         \node[yellow]{\texttt{\%sgi\_feature \hspace{0.53cm} ice2 \hspace{2.71cm} lcsgih parallel}\\
557                       \texttt{\%modules \hspace{0.87cm}  intel.compiler/11.1.072:mpt:phdf5/1.8.5-mpt-intel-11.1:pnetcdf/4.1.1-mpt-intel-11.1 \quad\quad lcsgih parallel}\\
558                       \texttt{\%login\_init\_cmd \hspace{0.25cm} .:/usr/share/modules/init/bash  \quad\quad lcsgih parallel}\\
559                       \texttt{\#\%remote\_username \hspace{0.07cm} <replace by your HLRN username> \quad\quad lcsgih parallel}\\
560                       \texttt{\%compiler\_name \hspace{0.35cm} ifort \hspace{2.61cm} lcsgih parallel}\\
561                       \texttt{\%compiler\_name\_ser~ ifort \hspace{2.61cm} lcsgih parallel}\\
562                       \texttt{\%cpp\_options \hspace{0.53cm} -DMPI\_REAL=MPI\_DOUBLE\_PRECISION:-DMPI\_2REAL=MPI\_2DOUBLE\_PRECISION:-D\_\_netcdf:-D\_\_netcdf4:-D\_\_mpi2 \quad lcsgih parallel}\\
563                       \texttt{\%netcdf\_inc \hspace{0.62cm} -I:/sw/dataformats/pnetcdf/netcdf-4.1.1-mpt-intel-11.1/include:-I:/sw/dataformats/phdf5/hdf5-1.8.5-mpt-intel-11.1/in}\\ %clude    lcsgih parallel}\\
564                       \texttt{\%netcdf\_lib \hspace{0.62cm} -L/sw/dataformats/pnetcdf/netcdf-4.1.1-mpt-intel-11.1/lib:-lnetcdf:-lnetcdff:-L/sw/dataformats/phdf5/hdf5-1.8.5-mpt-}\\ %intel-11.1/lib:-lhdf5:-lhdf5\_hl:-lz      lcsgih parallel}\\
565                       \texttt{\%mopts \hspace{1.06cm} -j:4 \hspace{2.71cm} lcsgih parallel}\\
566                       \texttt{\%fopts \hspace{1.06cm} -fpe0:-O3:-cpp:-r8:-fp-model:precise:-align:all:-ftz:-fno-alias:-no-scalar-rep:-no-prec-div:-no-prec-sqrt:-ip:-nbs:}\\ %-convert:little\_endian:-diag-disable:8290,8291  lcsgih parallel}\\
567                       \texttt{\%lopts \hspace{1.06cm} -fpe0:-O3:-cpp:-r8:-fp-model:precise:-align:all:-ftz:-fno-alias:-no-scalar-rep:-no-prec-div:-no-prec-sqrt:-ip:-nbs:-}\\ %Vaxlib:-lmpi:-limf:-lm           lcsgih parallel}\\
568                       \texttt{\%memory \hspace{0.97cm} 1500 \hspace{2.71cm} lcsgih parallel}\\
569                       \texttt{\#\%tmp\_data\_catalog~  /gfs2/work/<replace by your HLRN username>/palm\_restart\_data \quad\quad lcsgih parallel}\\
570                       \texttt{\#\%tmp\_user\_catalog~  /gfs2/tmp/<replace by your HLRN username> \hspace{2.03cm} lcsgih parallel}};
571   \end{tikzpicture}}
572%  \onslide<4->\hspace{-1cm}\includegraphics[scale=0.3]{mrun_figures/add_feat1.png}
573%    \begin{itemize}
574%       \footnotesize
575%       \item<5-> User-defined unix commands are carried out before or after execution of the model (input/output commands) or in case of errors during the compile- or run-step (error commands).
576%       These commands can also be defined in the \texttt{mrun} configuration file:
577%       \onslide<6-> \includegraphics[scale=0.3]{mrun_figures/add_feat2.png}
578%       \item<7-> Automatic generation of restart jobs.
579%    \end{itemize}
580\end{frame}
581
582\begin{frame}
583   \frametitle{Additional Features of \texttt{mrun} (II)}
584   \tikzstyle{yellow} = [rectangle, draw, fill=yellow!30, text width=0.75\textwidth, font=\Tiny]
585
586   \begin{itemize}
587      \footnotesize
588      \item<1-> User-defined unix commands are carried out before or after execution of the model (input/output commands) or in case of errors during the compile- or run-step (error commands).
589      These commands can also be defined in the \texttt{mrun} configuration file:
590      \begin{center}
591         \onslide<2->{\begin{tikzpicture}
592            \node[yellow]{~\texttt{IC:echo ``PALM will soon start to execute in \textbackslash\$PWD'' > /home/h/niksiraa/mrun\_messages}\\
593                          ~\texttt{EC:ls -al}\\
594                          \vspace{0.5mm}
595                          ~\texttt{OC:tar -cf DEBUG.tar DEBUG\_*}};
596         \end{tikzpicture}}
597      \end{center}
598
599%      \onslide<2-> \includegraphics[scale=0.3]{mrun_figures/add_feat2.png}
600      \item<3-> Automatic generation of restart jobs.
601   \end{itemize}
602
603\end{frame}
604
605% Folie 13
606\begin{frame}
607   \frametitle{PALM \textit{Interactive} Example Run Using \texttt{mrun}: Tracing the Run by the User}
608   \tikzstyle{green} = [rectangle, draw, fill=green!20, text width=0.35\textwidth, font=\tiny, minimum height=0.6cm]
609   \tikzstyle{yellow} = [rectangle, draw, fill=yellow!20, text width=0.35\textwidth, font=\tiny, minimum height=0.6cm]
610   \tikzstyle{yellow_big} = [rectangle, draw, fill=yellow!20, text width=0.55\textwidth, font=\tiny, minimum height=0.6cm]
611   \tikzstyle{notes} = [rectangle, text width=0.26\textwidth, font=\tiny, minimum height=0.6cm]
612   \tikzstyle{dummy} = [rectangle, text width=0.01\textwidth, font=\tiny, minimum height=0.6cm]
613   \vspace{-1.0cm}
614   \begin{center}
615           \begin{tikzpicture}[auto, node distance=0]
616         \uncover<1->{\node [yellow] (box1) {\textbf{start run on local machine:}\\
617                                            \texttt{mrun -d example\underline{ }cbl -h lcmuk ...}};}
618         \uncover<1->{\node [dummy, right=1.4cm of box1] (dummy1) {};}
619         \uncover<2->{\node [notes, above=-0.3cm of dummy1] (notes1) {temporary working directory is created, all required files are copied there};}
620         \uncover<3->{\node [green, right=1.4cm of dummy1] (box2) {\textbf{follow run messages on terminal}};}
621         \uncover<4->{\node [green, below=0.5cm of box2] (box3) {
622         \textbf{as soon as message}
623         
624         \texttt{*** execution starts in directory\\ \quad \dq <tmpdir>\dq\, }\\
625         \ \\
626         \textbf{you can change to this directory (in a new terminal) and watch the progess of timesteps}
627
628         \texttt{cd <tmpdir>}\\
629         \texttt{tail -f RUN\underline{ }CONTROL}\\
630         \ \\
631         However, this might be difficult in case of short run times, because the run may have finished before you have entered the commands!
632         };}
633         \coordinate[below=0.3cm of box3] (A);
634         \uncover<1->{\node [dummy, left=0.3cm of box3] (dummy2) {};}
635         \uncover<5->{\node [notes, below=0.0cm of A, text width=0.35\textwidth] (notes2) {results are copied from temporary working directory to the user‘s permanent directory};}
636         \uncover<6->{\node [yellow_big, left=2.5cm of A] (box4) {
637         \textbf{check, if the output files have sucessfully been transferred to the permanent directory:}\\
638         \texttt{cd \~{}/palm/current\underline{ }version/JOBS/example\underline{ }cbl/MONITORING}\\
639         \texttt{ls -al}\\
640         \texttt{cd \~{}/palm/current\underline{ }version/JOBS/example\underline{ }cbl/OUTPUT}\\
641         \texttt{ls -al}
642};}
643         \draw<2-> [->,color=blue] (box1.east) -- (box2.west);   
644         \draw<4-> [->,color=blue] (box2.south) -- (box3.north); 
645         \draw<5-> [-,color=blue] (box3.south) -- (A); 
646         \draw<5-> [->,color=blue] (A) -- (box4.east);   
647           \end{tikzpicture}
648        \end{center}
649\end{frame}
650
651% Folie 14
652\begin{frame}
653   \frametitle{PALM \textit{Batch} Example Run (on HLRN, remote) Using \texttt{mrun}: Tracing the Run by the User}
654\tikzstyle{yellow} = [rectangle, draw, fill=yellow!20, text width=0.3\textwidth, font=\Tiny]
655\tikzstyle{yellow2} = [rectangle, draw, fill=yellow!20, text width=0.4\textwidth, font=\Tiny]
656\tikzstyle{green} = [rectangle, draw, fill=green!20, text width=0.4\textwidth, font=\Tiny]
657\tikzstyle{dummy} = [text width=0.2\textwidth, font=\Tiny]
658\tikzstyle{alert} = [rectangle, draw, text width=0.5\textwidth, font=\scriptsize]
659\tikzstyle{line} = [draw, -latex']
660\begin{itemize}
661   \item Reminder: Running batch jobs requires a directory \texttt{~/job\underline{ }queue} for the job protocol files on the local \underline{and} remote host.
662\end{itemize}
663\begin{tikzpicture}[auto, node distance=0]
664    \node [yellow] (first) {
665       \textbf{start job on local machine:}\\
666       \texttt{mrun -d example\underline{ }cbl -h lcsgih ...}
667    };
668\uncover<2->{
669    \node [dummy, right=0.5cm of first] (dummy) {
670       transfer of job by \texttt{scp} \\
671       \ \\
672       \ \\
673       submit of job by executing the \texttt{msub} command via \texttt{ssh}
674    };
675}
676\uncover<3->{
677    \node [green, right=3.5cm of first] (second) {
678       \textbf{follow job execution on remote host, by} \\
679       \texttt{showq} (better: \texttt{showq | grep hzkurs})
680    };
681}
682\uncover<4->{
683    \node [green, below=0.2cm of second] (third) {
684       \textbf{if job is running, you may follow its progress by watching the job protocol:} \\ 
685       \texttt{cd \~{}/job\underline{ }queue \\ tail lcmuk\underline{ }example\underline{ }cbl}
686    };
687}
688\uncover<5->{
689    \node [green, below=0.2cm of third] (fourth) {
690       \textbf{when job is running, change to directory \texttt{<tmp\underline{ }usr\underline{ }catalog>} and try to find there the latest directory \texttt{<HLRN-username>.<randomnumber>} \\ change to this directory and execute}\\
691       \texttt{tail -f RUN\underline{ }CONTROL}
692    };
693}
694\uncover<6->{
695    \node [green, below=0.2cm of fourth] (fifth) {
696       \textbf{when the job is finished, watch, if the job protocol is transferred to the local host without errors:}\\
697       \texttt{cd \~{}/job\underline{ }queue \\ cat last\underline{ }job\underline{ }transfer\underline{ }protocol}
698    };
699}
700\uncover<7->{
701    \node [dummy, left=0.001mm of fifth] (dummy) {
702       transfer results by \texttt{scp} \\
703       \ \\
704       \ \\
705    };
706}
707\uncover<8->{
708    \node [yellow2, left=2.5cm of fifth] (sixth) {
709       \textbf{check, if the job protocol and all output files have successfully been transferred to the local machine:}\\
710       \texttt{cd \~{}/job\_queue \\ ls -al \\ cd \~{}/palm/current\_version/JOBS/example \\ ls -al *}
711    };
712}
713\uncover<9->{
714     \node [alert, below=0.5cm of first.south east] (alert) {
715        \textcolor{red}{Attention: Commands for submitting jobs and the behaviour of job protocol files are depending on the queueing system! Manual adjustments may be required in the mrun and subjob script!}
716     };
717}
718    \path<2-> [line] (first) -- (second);
719    \path<4-> [line] (second) -- (third);
720    \path<5-> [line] (third) -- (fourth);
721    \path<6-> [line] (fourth) -- (fifth);
722    \path<7-> [line] (fifth) -- (sixth);
723\end{tikzpicture}
724\end{frame}
725
726
727
728% Folie 15
729\begin{frame}
730   \tikzstyle{green} = [rectangle, draw, fill=green!20, text width=0.45\textwidth, font=\scriptsize, minimum height=0.6cm]
731   \tikzstyle{green_small} = [rectangle, draw, fill=green!20, text width=0.12\textwidth, font=\scriptsize, minimum height=0.6cm]
732   \tikzstyle{yellow_small} = [rectangle, draw, fill=yellow!20, text width=0.1\textwidth, font=\scriptsize, minimum height=0.6cm]
733   \tikzstyle{yellow} = [rectangle, draw, fill=yellow!20, text width=0.18\textwidth, font=\scriptsize, minimum height=0.6cm]
734   \tikzstyle{dummy} = [rectangle, text width=0.01\textwidth, font=\scriptsize, minimum height=0.6cm]
735   \tikzstyle{notes} = [rectangle, text width=0.15\textwidth, font=\scriptsize, minimum height=0.6cm]
736   
737   \frametitle{PALM Runs Using \texttt{mrun}: Further Details}
738   \begin{itemize}
739      \footnotesize
740      \item<2-> For every (initial) run, \texttt{mrun} creates a source directory which contains copies of
741      \begin{itemize}
742         \footnotesize
743         \item<4-> those source code files to be translated (always the main program, \texttt{palm.f90}, plus user interface files)
744         \item<4-> the Makefile
745         \item<5-> the configuration file
746         \item<6-> the mrun script
747      \end{itemize}
748   \end{itemize}
749   
750   \vspace{-0.8cm}
751   \begin{center}
752           \begin{tikzpicture}[auto, node distance=0]
753           
754         \uncover<3->{\node [yellow_small] (box1) {\$HOME/};}
755         \uncover<3->{\node [yellow_small, right=0.2cm of box1] (box2) {palm/};}
756         \uncover<3->{\node [yellow, right=0.2cm of box2] (box3) {current\underline{ }version/};}
757         \uncover<3->{\node [green_small, right=0.4cm of box3] (box4) {trunk/};}
758         
759         \uncover<1->{\node [dummy, right=1.0cm of box4] (dummy1) {};}
760         
761         \uncover<3->{\node [green_small, above=-0.2cm of dummy1] (box5) {SCRIPTS};}
762         \uncover<3->{\node [green_small, below=-0.2cm of dummy1] (box6) {SOURCE};}
763         
764         \uncover<6->{\node [notes, right=0.1cm of box5] (notes1) {\texttt{mrun}};}
765         \uncover<4->{\node [notes, right=0.1cm of box6] (notes2) {\texttt{Makefile \\ palm.f90}};}
766         \uncover<5->{\node [notes, below=0.1cm of box3] (notes3) {\texttt{.mrun.config}};}
767         
768         \uncover<3->{\node [green, below=0.2cm of box6] (box7) {SOURCES\underline{ }FOR\underline{ }RUN\underline{ }$<$run\underline{ }identifier$>$};}
769         
770         \uncover<1->{\node [dummy, left=1.5cm of box7] (dummy2) {};}
771         \uncover<1->{\node [dummy, right=2.0cm of box5] (dummy3) {};}
772         \uncover<1->{\node [dummy, right=1.8cm of box6] (dummy4) {};}
773         \uncover<1->{\node [dummy, below=0.2cm of dummy4] (dummy5) {};}
774         \draw<3-> [-] (box1.east) -- (box2.west); 
775         \draw<3-> [-] (box2.east) -- (box3.west); 
776         \draw<3-> [-] (box3.east) -- (box4.west); 
777         \draw<3-> [-] (box4.east) -- (box5.west); 
778         \draw<3-> [-] (box4.east) -- (box6.west);     
779         \draw<3-> [-] (box3.east) -- (box7.west);   
780         \draw<6-> [-] ([xshift=-0.8cm]notes1.east) -- (dummy3.center);   
781         \draw<4-> [-] ([xshift=-0.4cm]notes2.east) -- (dummy4.center);
782         \draw<4-> [-] (dummy4.center) -- ([yshift=0.1cm]dummy5.center);
783         \draw<4-> [->] ([yshift=0.1cm]dummy5.center) -- ([yshift=0.1cm]box7.east);
784         \draw<6-> [-] (dummy3.center) -- ([xshift=0.2cm, yshift=-0.1cm]dummy5.center);
785         \draw<6-> [->] ([xshift=0.2cm, yshift=-0.1cm]dummy5.center) -- ([yshift=-0.1cm]box7.east);
786         \draw<5-> [-] ([yshift=0.3cm]dummy2.center) -- (dummy2.center);   
787         \draw<5-> [->] (dummy2.center) -- (box7.west);   
788           \end{tikzpicture}
789        \end{center}
790   
791   \begin{itemize}
792      \footnotesize
793      \item<7-> These files are used in the run/job. They are also used by restart jobs, which guarantees, that all jobs in a job chain are using the same information. Please never modify these directories, unless you exactly know, what you are doing.
794   \end{itemize}
795\end{frame}
796
797\end{document}
Note: See TracBrowser for help on using the repository browser.