Changeset 954 for palm/trunk/TUTORIAL/SOURCE/runs_with_mrun.tex
- Timestamp:
- Jul 20, 2012 7:44:19 AM (12 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
palm/trunk/TUTORIAL/SOURCE/runs_with_mrun.tex
r945 r954 42 42 \end{beamercolorbox} 43 43 } 44 44 45 %\logo{\includegraphics[width=0.3\textwidth]{luhimuk_logo.pdf}} 45 46 … … 64 65 \texttt{ksh}-syntax) which can be used to compile and run programs, including 65 66 the handling of input/output files. 67 \vspace{4mm} 66 68 \item<2-> The \texttt{mrun}-command has a number of options to control the 67 69 program execution\\ 68 \quad \footnotesize \texttt{mrun -d example\ _cbl -h lcsgih -K parallel -X8 -T2 ...}\\70 \quad \footnotesize \texttt{mrun -d example\underline{ }cbl -h lcsgih -K parallel -X8 -T2 ...}\\ 69 71 \normalsize All options including a short description can be displayed by entering\\ 70 72 \quad \footnotesize \texttt{mrun ?} 73 \vspace{4mm} 71 74 \item<3-> \normalsize The shellscript execution is also controlled by a configuration file with default name \texttt{.mrun.config} 72 75 \end{itemize} … … 75 78 % Folie 3 76 79 \begin{frame} 77 \tikzstyle{green} = [rectangle, draw, fill=green!20, text width=0.1\textwidth, font=\scriptsize] 78 \tikzstyle{yellow} = [rectangle, draw, fill=yellow!20, text width=0.22\textwidth, 79 font=\scriptsize] 80 \tikzstyle{info} = [rectangle, text width=0.15\textwidth, font=\scriptsize] 81 \tikzstyle{white} = [rectangle, text width=0.7\textwidth, font=\scriptsize] 82 \tikzstyle{dummy} = [rectangle, text width=0.3\textwidth, font=\scriptsize] 80 \tikzstyle{green} = [rectangle, draw, fill=green!20, text width=0.1\textwidth, font=\tiny] 81 \tikzstyle{yellow} = [rectangle, draw, fill=yellow!20, text width=0.22\textwidth, font=\tiny] 82 \tikzstyle{info} = [rectangle, text width=0.15\textwidth, font=\tiny] 83 \tikzstyle{white} = [rectangle, text width=0.7\textwidth, font=\tiny] 84 \tikzstyle{dummy} = [rectangle, text width=0.3\textwidth, font=\tiny] 83 85 \tikzstyle{line} = [draw, -] 84 86 \tikzstyle{alert} = [rectangle, draw, text width=0.77\textwidth, font=\scriptsize] … … 86 88 \scriptsize 87 89 \frametitle{Carrying Out Runs Using \texttt{mrun}} 88 Carrying out a program run typically needs two steps:\\ 89 1. compilation\\ 90 \quad \texttt{f90 ... file1.f90 file2.f90 ...}\\ 91 \onslide<2-> 2. execution\\ 92 \quad \texttt{a.out}\\ 90 \textbf{Carrying out a program run typically needs two steps:}\\ 93 91 \vspace{1mm} 94 \onslide<3->Besides, a program needs input data and creates output data:\\ 92 \quad 1. compilation\\ 93 \qquad \texttt{f90 ... file1.f90 file2.f90 ...}\\ 94 \vspace{1mm} 95 \onslide<2->\quad 2. execution\\ 96 \qquad \texttt{a.out}\\ 97 \vspace{3mm} 98 \onslide<3->\textbf{Besides, a program needs input data and creates output data:}\\ 95 99 96 100 \onslide<4->\begin{tikzpicture}[auto, node distance=0] … … 98 102 \node [dummy, right=0.1cm of first] (second) {}; 99 103 100 \node [yellow, above=0. 5cm of second] (third) {\textbf{parameter for steering}};101 \node [yellow, below=0. 5cm of third] (fourth) {\textbf{control output}};104 \node [yellow, above=0.4cm of second] (third) {\textbf{parameter for steering}}; 105 \node [yellow, below=0.4cm of third] (fourth) {\textbf{control output}}; 102 106 \node [yellow, below=0.3cm of fourth] (fifth) {\textbf{output for analysis}}; 103 107 … … 113 117 \texttt{OPEN (11, FILE='PARIN', FORM='FORMATTED')}};} 114 118 \uncover<5->{\node [white, right=0.25cm of fourth] (tenth) { 115 \texttt{OPEN (15, FILE='RUN\ _CONTROL', FORM='FORMATTED')}};}119 \texttt{OPEN (15, FILE='RUN\underline{ }CONTROL', FORM='FORMATTED')}};} 116 120 \uncover<5->{\node [white, right=0.25cm of fifth] (eleventh) { 117 \texttt{OPEN (40, FILE=âDATA\ _1D\_PR\_NETCDF', FORM='FORMATTED')}};}121 \texttt{OPEN (40, FILE=âDATA\underline{ }1D\underline{ }PR\underline{ }NETCDF', FORM='FORMATTED')}};} 118 122 \end{tikzpicture} 119 123 120 \vspace{ 1mm}124 \vspace{3mm} 121 125 \scriptsize 122 \onslide<6->\textcolor{red}{ Problems:The user has to copy or rename output files, if126 \onslide<6->\textcolor{red}{\textbf{Problems:} The user has to copy or rename output files, if 123 127 he/she wants to run the program more than once and if he concurrently wants to keep 124 the files from the former run(s). 128 the files from the former run(s).\\ 125 129 If he/she is using different input parameter files for steering, these files also have 126 130 to be copied into the working directory before the program is executed.}\\ 127 \ \\131 \vspace{1mm} 128 132 \begin{tikzpicture}[auto, node distance=0] 129 \uncover<7->{\node [alert] (alert) {\textcolor{red}{It is therefore very desirable 130 to automate these tasks!}};} 133 \uncover<7->{\node [alert] (alert) {\textcolor{red}{\textbf{It is therefore very desirable to automate these tasks!}}};} 131 134 \end{tikzpicture} 132 135 \end{frame} … … 140 143 141 144 \frametitle{\texttt{mrun}: Principal Mode of Operation (I)} 142 \texttt{mrun} runs a program (in our case the PALM model) by carrying out the 143 following principle tasks in a sequential order:\\ 144 \scriptsize 145 \scriptsize \texttt{mrun} \textbf{runs a program (in our case the PALM model) by carrying out the following principle tasks in a sequential order:}\\ 146 \vspace{1mm} 145 147 \begin{enumerate} 146 148 \item<2-> Create a temporary working directory and change into this directory:\\ … … 149 151 \ \\ 150 152 The path of \texttt{<tempdir>} is given in the configuration file 151 \texttt{.mrun.config} by the environment variable \texttt{tmp\ _user\_catalog}, e.g.:\\152 \quad \texttt{\%tmp\ _user\_catalog /tmp \hspace{30mm} <hi> parallel}\\153 \texttt{.mrun.config} by the environment variable \texttt{tmp\underline{ }user\underline{ }catalog}, e.g.:\\ 154 \quad \texttt{\%tmp\underline{ }user\underline{ }catalog /tmp \hspace{30mm} <hi> parallel}\\ 153 155 \ \\ 154 156 \onslide<3-> On SGI-ICE: \\ 155 \quad \texttt{\%tmp\ _user\_catalog /gfs2/work/<username>156 \hspace{5mm} <hi>lcsgih parallel}157 \quad \texttt{\%tmp\underline{ }user\underline{ }catalog /gfs2/work/<username> 158 \hspace{5mm} lcsgih parallel} 157 159 \begin{center} 158 160 \begin{tikzpicture}[auto, node distance=0] … … 160 162 \end{tikzpicture} 161 163 \end{center} 164 \vspace{2mm} 162 165 \item<5-> Copy the input files from a directory of the user into this working directory:\\ 163 \scriptsize 164 \onslide<6->\hspace{-15mm} \texttt{cp <user\_input\_file1> 165 /tmp/<username>.<randomnumber>/<temporary\_input\_file1>}\\ 166 \hspace{-15mm} \texttt{cp <user\_input\_file2> 167 /tmp/<username>.<randomnumber>/<temporary\_input\_file2>} 166 \vspace{1mm} 167 \onslide<6-> \tiny \quad \texttt{cp <user\underline{ }input\underline{ }file1> 168 /tmp/<username>.<randomnumber>/<temporary\underline{ }input\underline{ }file1>}\\ 169 \quad \texttt{cp <user\underline{ }input\underline{ }file2> 170 /tmp/<username>.<randomnumber>/<temporary\underline{ }input\underline{ }file2>}\\ 171 \vspace{2mm} 172 \scriptsize 168 173 \begin{center} 169 174 \begin{tikzpicture}[auto, node distance=0] … … 172 177 173 178 \uncover<7->{\node [yellowsmall, above=0.1cm of green] (yellow2) {JOBS/};} 174 \uncover<7->{\node [yellow, left=0.2cm of yellow2] (yellow1) {current\ _version/};}175 \uncover<7->{\node [yellow, right=0.2cm of yellow2] (yellow3) {example\ _cbl/};}179 \uncover<7->{\node [yellow, left=0.2cm of yellow2] (yellow1) {current\underline{ }version/};} 180 \uncover<7->{\node [yellow, right=0.2cm of yellow2] (yellow3) {example\underline{ }cbl/};} 176 181 \uncover<7->{\node [yellowsmall, right=0.2cm of yellow3] (yellow4) {INPUT/};} 177 182 … … 208 213 \begin{center} 209 214 \begin{tikzpicture}[auto, node distance=0] 210 \uncover<2->{\node [yellow] (yellow) {current\ _version/};}215 \uncover<2->{\node [yellow] (yellow) {current\underline{ }version/};} 211 216 \uncover<1->{\node [dummy, right=0.0cm of yellow] (dummy1) {};} 212 \uncover<2->{\node [green, right=0.2cm of yellow] (green1) {MAKE\ _DEPOSITORY\_\textit{parallel}/};}217 \uncover<2->{\node [green, right=0.2cm of yellow] (green1) {MAKE\underline{ }DEPOSITORY\underline{ }\textit{parallel}/};} 213 218 \uncover<1->{\node [dummy, right=0.2cm of green1] (dummy2) {};} 214 219 \uncover<3->{\node [green, below=0.5cm of dummy1] (green2) {/tmp/$<$username$>$.$<$randomnumber$>$};} … … 240 245 241 246 \frametitle{\texttt{mrun}: Principal Mode of Operation (III)} 242 247 \footnotesize 243 248 \begin{enumerate} 244 249 \setcounter{enumi}{5} 245 250 \item<1-> Copy the output files from the working directory to a (permanent) directory of the user:\\ 246 \ scriptsize \hspace{-16mm} \texttt{cp /tmp/<username>.<randomnumber>/<temporary\_output\_file1> <user\_output\_file1>}\\247 \ hspace{-16mm} \texttt{cp /tmp/<username>.<randomnumber>/<temporary\_output\_file2> <user\_output\_file2>}\\248 251 \tiny \quad \texttt{cp /tmp/<username>.<randomnumber>/<temporary\underline{ }output\underline{ }file1> <user\underline{ }output\underline{ }file1>}\\ 252 \quad \texttt{cp /tmp/<username>.<randomnumber>/<temporary\underline{ }output\underline{ }file2> <user\underline{ }output\underline{ }file2>}\\ 253 \footnotesize 249 254 \begin{center} 250 255 \begin{tikzpicture}[auto, node distance=0] … … 256 261 257 262 \uncover<2->{\node [yellow, left=0.2cm of dummy3] (yellow2) {OUTPUT/};} 258 \uncover<2->{\node [yellow, left=0.2cm of yellow2] (yellow3) {example\ _cbl/};}263 \uncover<2->{\node [yellow, left=0.2cm of yellow2] (yellow3) {example\underline{ }cbl/};} 259 264 \uncover<2->{\node [yellow, left=0.2cm of yellow3] (yellow4) {JOBS/};} 260 \uncover<2->{\node [yellow, left=0.2cm of yellow4] (yellow5) {current\ _version/};}265 \uncover<2->{\node [yellow, left=0.2cm of yellow4] (yellow5) {current\underline{ }version/};} 261 266 262 267 \uncover<2-3>{\node [green, left=5.0cm of dummy1] (green) {/tmp/$<$username$>$.$<$randomnumber$>$};} … … 278 283 \item<3-> Delete the temporary working directory\\ 279 284 \quad \texttt{rm -rf /tmp/<username>.<randomnumber>}\\ 285 \vspace{2mm} 280 286 \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?} 281 287 … … 293 299 \frametitle{Steering File Copy by the Configuration File (I)} 294 300 \scriptsize 295 \textbf{Copying of files is controlled by so called \textit{file connection statements}.They connect local files in the temporary working directory with permanent files residing in the directory of the user.}\\301 \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.}\\ 296 302 \vspace{1mm} 297 303 Principle example of a file connection statement (for the PALM parameter file): … … 305 311 \uncover<1->{\node [dummy, right=0.0cm of part2] (dummy2) {};} 306 312 \uncover<1->{\node [small, right=0.2cm of part2] (part3) {\texttt{d3\#}};} 307 \uncover<1->{\node [large, right=0.0cm of part3] (part4) {\texttt{\~{}/palm/current\ _version/JOB/INPUT}};}308 \uncover<1->{\node [small, right=0.0cm of part4] (part5) {\texttt{\ _p3d}};}313 \uncover<1->{\node [large, right=0.0cm of part3] (part4) {\texttt{\~{}/palm/current\underline{ }version/JOB/INPUT}};} 314 \uncover<1->{\node [small, right=0.0cm of part4] (part5) {\texttt{\underline{ }p3d}};} 309 315 \uncover<1->{\node [small, right=0.2cm of part5] (part6) {\texttt{( \textcolor{red}{nc} )}};} 310 316 … … 330 336 331 337 \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}:\\ 332 \quad \texttt{mrun -d \textcolor{blue}{example\ _cbl} ...}\\338 \quad \texttt{mrun -d \textcolor{blue}{example\underline{ }cbl} ...}\\ 333 339 gives the filename\\ 334 \quad \texttt{\~{}/palm/current\ _version/JOB/INPUT/\textcolor{blue}{example\_cbl}\_p3d}\\335 \quad \texttt{( ... /\textcolor{blue}{example\ _cbl}\_p3d\textcolor{red}{.nc} )}340 \quad \texttt{\~{}/palm/current\underline{ }version/JOB/INPUT/\textcolor{blue}{example\underline{ }cbl}\underline{ }p3d}\\ 341 \quad \texttt{( ... /\textcolor{blue}{example\underline{ }cbl}\underline{ }p3d\textcolor{red}{.nc} )} 336 342 337 343 \end{frame} … … 342 348 \scriptsize 343 349 \onslide<1-> The \textbf{base name} can additionally be a part of the directory name 344 by using \text tt{\$fname} in the directory column of the file connection statement:\\345 \quad \texttt{PARIN in d3\# \~{}/palm/current\ _version/JOBS/\$fname/INPUT \_p3d}\\350 by using \textcolor{blue}{\texttt{\$fname}} in the directory column of the file connection statement:\\ 351 \quad \texttt{PARIN in d3\# \~{}/palm/current\underline{ }version/JOBS/\textcolor{blue}{\$fname}/INPUT \underline{ }p3d}\\ 346 352 \ \\ 347 353 \onslide<2-> Using the call\\ 348 \quad \texttt{mrun -d abcde...}\\354 \quad \texttt{mrun -d \textcolor{blue}{abcde} ...}\\ 349 355 the input file will be expected under\\ 350 \quad \texttt{\~{}/palm/current\ _version/JOBS/abcde/INPUT/abcde\_p3d }\\356 \quad \texttt{\~{}/palm/current\underline{ }version/JOBS/\textcolor{blue}{abcde}/INPUT/\textcolor{blue}{abcde}\underline{ }p3d }\\ 351 357 \ \\ 352 358 \onslide<3-> In this way, all files handled by the \texttt{mrun}-call are stored in 353 the same subdirectory ( abcde/) and will have the same string (\texttt{abcde}) as354 part of their names, so they can be easily identified as ''belonging''to the model359 the same subdirectory (\textcolor{blue}{abcde/}) and will have the same string (\texttt{\textcolor{blue}{abcde}}) as 360 part of their names, so they can be easily identified as \grqq belonging\grqq\, to the model 355 361 run initiated by that \texttt{mrun} call.\\ 356 362 \ \\ 357 363 \onslide<4-> Instead of always writing the full path name (i.e. 358 \texttt{\~{}/palm/current\ _version/JOBS}), an environment variable can be declared for364 \texttt{\~{}/palm/current\underline{ }version/JOBS}), an environment variable can be declared for 359 365 this at the beginning of the configuration file and be used in the file 360 366 connection statements:\\ 361 \quad \texttt{\%base\ _data \~{}/palm/current\_version/JOBS}\\362 \quad \texttt{PARIN in d3\# \ $base\_data/\$fname/INPUT \_p3d}\\367 \quad \texttt{\%base\underline{ }data \~{}/palm/current\underline{ }version/JOBS}\\ 368 \quad \texttt{PARIN in d3\# \textcolor{blue}{\$base\underline{ }data}/\textcolor{blue}{\$fname}/INPUT \underline{ }p3d}\\ 363 369 \ \\ 364 370 \onslide<5-> This easily allows to change the directories for all input/output files 365 by just changing the value of \texttt{base\ _data}.371 by just changing the value of \texttt{base\underline{ }data}. 366 372 367 373 \end{frame} … … 374 380 have to be activated by giving their activation string in the 375 381 \texttt{mrun}-option \texttt{-r}:\\ 376 \quad \texttt{PARIN in d3\# \~{}/palm/current\ _version/JOBS/\$fname/INPUT \_p3d}\\382 \quad \texttt{PARIN in d3\# \~{}/palm/current\underline{ }version/JOBS/\$fname/INPUT \underline{ }p3d}\\ 377 383 \ \\ 378 384 \onslide<2-> The permanent file 379 \texttt{\~{}/palm/current\ _version/JOBS/example\_cbl/INPUT/example\_cbl\_p3d}385 \texttt{\~{}/palm/current\underline{ }version/JOBS/example\underline{ }cbl/INPUT/example\underline{ }cbl\underline{ }p3d} 380 386 will only be copied to the local file PARIN by using the call:\\ 381 \quad \texttt{mrun -d example\ _cbl -r ''d3\#''...}\\387 \quad \texttt{mrun -d example\underline{ }cbl -r \dq d3\#\dq\, ...}\\ 382 388 \ \\ 383 389 \onslide<3-> \textbf{Example for an output file:}\\ 384 390 The file connection statement\\ 385 \quad \texttt{DATA\ _1D\_PR\_NETCDF out:loc pr\#386 \~{}/palm/current\ _version/JOBS/\$fname/OUTPUT \_pr nc}\\391 \quad \texttt{DATA\underline{ }1D\underline{ }PR\underline{ }NETCDF out:loc pr\# 392 \~{}/palm/current\underline{ }version/JOBS/\$fname/OUTPUT \underline{ }pr nc}\\ 387 393 \onslide<4-> will copy (after program execution) the local file 388 \texttt{DATA\ _1D\_PR\_NETCDF} to the permanent file389 \texttt{\~{}/palm/current\ _version/JOBS/example\_cbl/OUTPUT/example\_cbl\_pr.nc} if394 \texttt{DATA\underline{ }1D\underline{ }PR\underline{ }NETCDF} to the permanent file 395 \texttt{\~{}/palm/current\underline{ }version/JOBS/example\underline{ }cbl/OUTPUT/example\underline{ }cbl\underline{ }pr.nc} if 390 396 \texttt{mrun} is called with the options\\ 391 \quad \texttt{mrun -d example\ _cbl -r ''d3\# pr\#''...}397 \quad \texttt{mrun -d example\underline{ }cbl -r \dq d3\# pr\#\dq\, ...} 392 398 393 399 \end{frame} … … 401 407 Instead, new, so-called file cycles are created.\\ 402 408 If an output file, e.g.\\ 403 \quad \texttt{\~{}/palm/current\ _version/JOBS/example\_cbl/MONITORING/example\_cbl\_rc}\\409 \quad \texttt{\~{}/palm/current\underline{ }version/JOBS/example\underline{ }cbl/MONITORING/example\underline{ }cbl\underline{ }rc}\\ 404 410 \ \\ 405 411 has been created from a first call of \texttt{mrun} and if the same \texttt{mrun} 406 412 call is submitted again, the second call will not replace the file 407 \texttt{example\ _cbl\_rc}, but will create a new file with name:\\408 \quad \texttt{\~{}/palm/current\ _version/JOBS/example\_cbl/MONITORING/example\_cbl\_rc.1}\\413 \texttt{example\underline{ }cbl\underline{ }rc}, but will create a new file with name:\\ 414 \quad \texttt{\~{}/palm/current\underline{ }version/JOBS/example\underline{ }cbl/MONITORING/example\underline{ }cbl\underline{ }rc.1}\\ 409 415 \ \\ 410 416 \onslide<2->In case of netCDF-files, the file cycle number is inserted before 411 417 the netCDF-suffix .nc, e.g.\\ 412 \quad \texttt{example\ _cbl\_pr.1.nc}\\418 \quad \texttt{example\underline{ }cbl\underline{ }pr.1.nc}\\ 413 419 \ \\ 414 420 \onslide<3->The implemented file cycle mechanism does not allow to use 415 421 any other dots "'."' in the path or filename:\\ 416 \quad \texttt{\~{}/palm/version\ _3.6/JOBS/example.sbl/MONITORING/example.sbl\_rc}422 \quad \texttt{\~{}/palm/version\underline{ }3.6/JOBS/example.sbl/MONITORING/example.sbl\underline{ }rc} 417 423 \end{frame} 418 424 … … 430 436 PARIN in:job d3f $base_data/$fname/INPUT _p3df 431 437 TOPOGRAPHY_DATA in:locopt d3#:d3f $base_data/$fname/INPUT _topo 432 BININ in:loc:flpe d3f :rec$base_data/$fname/RESTART _d3d438 BININ in:loc:flpe d3f $base_data/$fname/RESTART _d3d 433 439 PARTICLE_RESTART_DATA_IN in:loc:flpe prtf $base_data/$fname/RESTART _rprt 434 440 DATA_1D_PR_NETCDF in:locopt prf $base_data/$fname/OUTPUT _pr nc … … 468 474 DATA_3D_NETCDF out:loc:tr 3d#:3df $base_data/$fname/OUTPUT _3d nc 469 475 DATA_3D_AV_NETCDF out:loc:tr 3d#:3df $base_data/$fname/OUTPUT _3d_av nc 470 DATA_PRT_NETCDF out:loc:pe prt#:prtf $base_data/$fname/OUTPUT _prt nc 476 DATA_MASK_01_NETCDF out:loc:tr ma#:maf $base_data/$fname/OUTPUT _m01 nc 477 DATA_MASK_01_AV_NETCDF out:loc:tr ma#:maf $base_data/$fname/OUTPUT _m01_av nc 478 DATA_MASK_02_NETCDF out:loc:tr ma#:maf $base_data/$fname/OUTPUT _m02 nc 479 DATA_MASK_02_AV_NETCDF out:loc:tr ma#:maf $base_data/$fname/OUTPUT _m02_av nc 480 DATA_MASK_03_NETCDF out:loc:tr ma#:maf $base_data/$fname/OUTPUT _m03 nc 481 DATA_MASK_03_AV_NETCDF out:loc:tr ma#:maf $base_data/$fname/OUTPUT _m03_av nc 482 DATA_MASK_04_NETCDF out:loc:tr ma#:maf $base_data/$fname/OUTPUT _m04 nc 483 DATA_MASK_04_AV_NETCDF out:loc:tr ma#:maf $base_data/$fname/OUTPUT _m04_av nc 484 DATA_MASK_05_NETCDF out:loc:tr ma#:maf $base_data/$fname/OUTPUT _m05 nc 485 DATA_MASK_05_AV_NETCDF out:loc:tr ma#:maf $base_data/$fname/OUTPUT _m05_av nc 486 DATA_MASK_06_NETCDF out:loc:tr ma#:maf $base_data/$fname/OUTPUT _m06 nc 487 DATA_MASK_06_AV_NETCDF out:loc:tr ma#:maf $base_data/$fname/OUTPUT _m06_av nc 488 DATA_MASK_07_NETCDF out:loc:tr ma#:maf $base_data/$fname/OUTPUT _m07 nc 489 DATA_MASK_07_AV_NETCDF out:loc:tr ma#:maf $base_data/$fname/OUTPUT _m07_av nc 490 DATA_MASK_08_NETCDF out:loc:tr ma#:maf $base_data/$fname/OUTPUT _m08 nc 491 DATA_MASK_08_AV_NETCDF out:loc:tr ma#:maf $base_data/$fname/OUTPUT _m08_av nc 492 DATA_MASK_09_NETCDF out:loc:tr ma#:maf $base_data/$fname/OUTPUT _m09 nc 493 DATA_MASK_09_AV_NETCDF out:loc:tr ma#:maf $base_data/$fname/OUTPUT _m09_av nc 494 DATA_MASK_10_NETCDF out:loc:tr ma#:maf $base_data/$fname/OUTPUT _m10 nc 495 DATA_MASK_10_AV_NETCDF out:loc:tr ma#:maf $base_data/$fname/OUTPUT _m10_av nc 496 DATA_MASK_11_NETCDF out:loc:tr ma#:maf $base_data/$fname/OUTPUT _m11 nc 497 DATA_MASK_11_AV_NETCDF out:loc:tr ma#:maf $base_data/$fname/OUTPUT _m11_av nc 498 DATA_MASK_12_NETCDF out:loc:tr ma#:maf $base_data/$fname/OUTPUT _m12 nc 499 DATA_MASK_12_AV_NETCDF out:loc:tr ma#:maf $base_data/$fname/OUTPUT _m12_av nc 500 DATA_MASK_13_NETCDF out:loc:tr ma#:maf $base_data/$fname/OUTPUT _m13 nc 501 DATA_MASK_13_AV_NETCDF out:loc:tr ma#:maf $base_data/$fname/OUTPUT _m13_av nc 502 DATA_MASK_14_NETCDF out:loc:tr ma#:maf $base_data/$fname/OUTPUT _m14 nc 503 DATA_MASK_14_AV_NETCDF out:loc:tr ma#:maf $base_data/$fname/OUTPUT _m14_av nc 504 DATA_MASK_15_NETCDF out:loc:tr ma#:maf $base_data/$fname/OUTPUT _m15 nc 505 DATA_MASK_15_AV_NETCDF out:loc:tr ma#:maf $base_data/$fname/OUTPUT _m15_av nc 506 DATA_MASK_16_NETCDF out:loc:tr ma#:maf $base_data/$fname/OUTPUT _m16 nc 507 DATA_MASK_16_AV_NETCDF out:loc:tr ma#:maf $base_data/$fname/OUTPUT _m16_av nc 508 DATA_MASK_17_NETCDF out:loc:tr ma#:maf $base_data/$fname/OUTPUT _m17 nc 509 DATA_MASK_17_AV_NETCDF out:loc:tr ma#:maf $base_data/$fname/OUTPUT _m17_av nc 510 DATA_MASK_18_NETCDF out:loc:tr ma#:maf $base_data/$fname/OUTPUT _m18 nc 511 DATA_MASK_18_AV_NETCDF out:loc:tr ma#:maf $base_data/$fname/OUTPUT _m18_av nc 512 DATA_MASK_19_NETCDF out:loc:tr ma#:maf $base_data/$fname/OUTPUT _m19 nc 513 DATA_MASK_19_AV_NETCDF out:loc:tr ma#:maf $base_data/$fname/OUTPUT _m19_av nc 514 DATA_MASK_20_NETCDF out:loc:tr ma#:maf $base_data/$fname/OUTPUT _m20 nc 515 DATA_MASK_20_AV_NETCDF out:loc:tr ma#:maf $base_data/$fname/OUTPUT _m20_av nc 471 516 DATA_PRT_NETCDF out:loc:trpe prt#:prtf $base_data/$fname/OUTPUT _prt nc 472 DATA_DVR out:loc:trpe dvr $base_data/$fname/OUTPUT _dvr 517 DATA_DVR out:loc:trpe dvr $base_data/$fname/OUTPUT _dvr 473 518 # 474 519 DVRP_LOG out:loc:tr dv# $base_data/$fname/MONITORING _dvrp_log … … 504 549 \begin{frame} 505 550 \frametitle{PALM \textit{Interactive} Example Run Using \texttt{mrun}: Tracing the Run by the User} 506 \tikzstyle{green} = [rectangle, draw, fill=green!20, text width=0. 45\textwidth, font=\scriptsize, minimum height=0.6cm]507 \tikzstyle{yellow} = [rectangle, draw, fill=yellow!20, text width=0. 42\textwidth, font=\scriptsize, minimum height=0.6cm]508 \tikzstyle{yellow_big} = [rectangle, draw, fill=yellow!20, text width=0. 45\textwidth, font=\scriptsize, minimum height=0.6cm]509 \tikzstyle{notes} = [rectangle, text width=0. 46\textwidth, font=\scriptsize, minimum height=0.6cm]510 \tikzstyle{dummy} = [rectangle, text width=0.01\textwidth, font=\ scriptsize, minimum height=0.6cm]551 \tikzstyle{green} = [rectangle, draw, fill=green!20, text width=0.35\textwidth, font=\tiny, minimum height=0.6cm] 552 \tikzstyle{yellow} = [rectangle, draw, fill=yellow!20, text width=0.35\textwidth, font=\tiny, minimum height=0.6cm] 553 \tikzstyle{yellow_big} = [rectangle, draw, fill=yellow!20, text width=0.55\textwidth, font=\tiny, minimum height=0.6cm] 554 \tikzstyle{notes} = [rectangle, text width=0.26\textwidth, font=\tiny, minimum height=0.6cm] 555 \tikzstyle{dummy} = [rectangle, text width=0.01\textwidth, font=\tiny, minimum height=0.6cm] 511 556 \vspace{-1.0cm} 512 557 \begin{center} 513 558 \begin{tikzpicture}[auto, node distance=0] 514 \uncover<1->{\node [yellow] (box1) { start run on local machine:\\515 \texttt{mrun -d example\ _cbl -h lcmuk ...}};}516 \uncover<1->{\node [dummy, right= 0.2cm of box1] (dummy1) {};}517 \uncover<2->{\node [notes, above= 0.2cm of dummy1] (notes1) {temporary working directory is created,\\all required files are copied there};}518 \uncover<3->{\node [green, right= 0.2cm of dummy1] (box2) {follow runs messages on terminal};}519 \uncover<4->{\node [green, below=0. 2cm of box2] (box3) {520 as soon as message559 \uncover<1->{\node [yellow] (box1) {\textbf{start run on local machine:}\\ 560 \texttt{mrun -d example\underline{ }cbl -h lcmuk ...}};} 561 \uncover<1->{\node [dummy, right=1.4cm of box1] (dummy1) {};} 562 \uncover<2->{\node [notes, above=-0.3cm of dummy1] (notes1) {temporary working directory is created, all required files are copied there};} 563 \uncover<3->{\node [green, right=1.4cm of dummy1] (box2) {\textbf{follow run messages on terminal}};} 564 \uncover<4->{\node [green, below=0.5cm of box2] (box3) { 565 \textbf{as soon as message} 521 566 522 \texttt{*** execution starts in directory\\ \quad ''<tempdir>''}523 524 you can change to this directory (in a new terminal) and watch the progess of timesteps567 \texttt{*** execution starts in directory\\ \quad \dq <tempdir>\dq\, }\\ 568 \ \\ 569 \textbf{you can change to this directory (in a new terminal) and watch the progess of timesteps} 525 570 526 571 \texttt{cd <tempdir>}\\ 527 \texttt{tail -f RUN\ _CONTROL}528 572 \texttt{tail -f RUN\underline{ }CONTROL}\\ 573 \ \\ 529 574 However, this might be difficult in case of short run times, because the run may have finished before you have entered the commands! 530 575 };} 531 \uncover<1->{\node [dummy, left=0.2cm of box3] (dummy2) {};} 532 \uncover<5->{\node [notes, below=1.7cm of dummy2] (notes2) {results are copied from temporary \\ working directory to the userâs permanent directory};} 533 \uncover<6->{\node [yellow_big, left=0.2cm of dummy2] (box4) { 534 check, if the output files have sucessfully been transferred to the permanent directory:\\ 535 \texttt{cd \~{}/palm/current\_version/JOBS/\\ \quad example\_cbl/MONITORING}\\ 576 \coordinate[below=0.3cm of box3] (A); 577 \uncover<1->{\node [dummy, left=0.3cm of box3] (dummy2) {};} 578 \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};} 579 \uncover<6->{\node [yellow_big, left=2.5cm of A] (box4) { 580 \textbf{check, if the output files have sucessfully been transferred to the permanent directory:}\\ 581 \texttt{cd \~{}/palm/current\underline{ }version/JOBS/example\underline{ }cbl/MONITORING}\\ 536 582 \texttt{ls -al}\\ 537 \texttt{cd \~{}/palm/current\ _version/JOBS/\\ \quad example\_cbl/OUTPUT}\\583 \texttt{cd \~{}/palm/current\underline{ }version/JOBS/example\underline{ }cbl/OUTPUT}\\ 538 584 \texttt{ls -al} 539 585 };} 540 \draw<2-> [->] (box1.east) -- (box2.west); 541 \draw<4-> [->] (box2.south) -- (box3.north); 542 \draw<5-> [->] (box3.west) -- (box4.east); 586 \draw<2-> [->,color=blue] (box1.east) -- (box2.west); 587 \draw<4-> [->,color=blue] (box2.south) -- (box3.north); 588 \draw<5-> [-,color=blue] (box3.south) -- (A); 589 \draw<5-> [->,color=blue] (A) -- (box4.east); 543 590 \end{tikzpicture} 544 591 \end{center} … … 554 601 \tikzstyle{line} = [draw, -latex'] 555 602 \begin{itemize} 556 \item Reminder: Running batch jobs requires a directory \texttt{~/job\ _queue} for the job protocol files on the local \underline{and} remote host.603 \item Reminder: Running batch jobs requires a directory \texttt{~/job\underline{ }queue} for the job protocol files on the local \underline{and} remote host. 557 604 \end{itemize} 558 605 \begin{tikzpicture}[auto, node distance=0] 559 606 \node [yellow] (first) { 560 607 \textbf{start job on local machine:}\\ 561 \texttt{mrun -d example\ _cbl -h lcsgih ...}608 \texttt{mrun -d example\underline{ }cbl -h lcsgih ...} 562 609 }; 563 610 \uncover<2->{ … … 578 625 \node [green, below=0.2cm of second] (third) { 579 626 \textbf{if job is running, you may follow its progress by watching the job protocol:} \\ 580 \texttt{cd ~/job\ _queue \\ tail lcmuk\_example\_cbl}627 \texttt{cd ~/job\underline{ }queue \\ tail lcmuk\underline{ }example\underline{ }cbl} 581 628 }; 582 629 } 583 630 \uncover<5->{ 584 631 \node [green, below=0.2cm of third] (fourth) { 585 \textbf{when job is running, change to directory \texttt{<tmp\ _usr\_catalog>} and try to find there the latest directory \texttt{<HLRN-username>.<randomnumber>} \\ change to this directory and execute}\\586 \texttt{tail -f RUN\ _CONTROL}632 \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}\\ 633 \texttt{tail -f RUN\underline{ }CONTROL} 587 634 }; 588 635 } … … 590 637 \node [green, below=0.2cm of fourth] (fifth) { 591 638 \textbf{when the job is finished, watch, if the job protocol is transferred to the local host without errors:}\\ 592 \texttt{cd ~/job\ _queue \\ cat last\_job\_transfer\_protocol}639 \texttt{cd ~/job\underline{ }queue \\ cat last\underline{ }job\underline{ }transfer\underline{ }protocol} 593 640 }; 594 641 } … … 603 650 \node [yellow, left=3.5cm of fifth] (sixth) { 604 651 \textbf{check, if the job protocol and all output files have successfully been transferred to the local machine:}\\ 605 \texttt{cd ~/job\ _queue \\ ls -al \\ cd ~/palm/current\_version/JOBS/example \\ ls -al *}652 \texttt{cd ~/job\underline{ }queue \\ ls -al \\ cd ~/palm/current\underline{ }version/JOBS/example \\ ls -al *} 606 653 }; 607 654 } 608 655 \uncover<9->{ 609 656 \node [alert, below=0.5cm of first.south east] (alert) { 610 \textcolor{red}{Attention: Commands for submitting jobs and the behaviour of job protocol files are depending on the q eueuing system! Manual adjustments may be required in the mrun and subjob script!}657 \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!} 611 658 }; 612 659 } … … 649 696 \uncover<3->{\node [yellow_small] (box1) {\$HOME/};} 650 697 \uncover<3->{\node [yellow_small, right=0.2cm of box1] (box2) {palm/};} 651 \uncover<3->{\node [yellow, right=0.2cm of box2] (box3) {current\ _version/};}698 \uncover<3->{\node [yellow, right=0.2cm of box2] (box3) {current\underline{ }version/};} 652 699 \uncover<3->{\node [green_small, right=0.4cm of box3] (box4) {trunk/};} 653 700 … … 661 708 \uncover<5->{\node [notes, below=0.1cm of box3] (notes3) {\texttt{.mrun.config}};} 662 709 663 \uncover<3->{\node [green, below=0.2cm of box6] (box7) {SOURCES\ _FOR\_RUN\_$<$run\_identifier$>$};}710 \uncover<3->{\node [green, below=0.2cm of box6] (box7) {SOURCES\underline{ }FOR\underline{ }RUN\underline{ }$<$run\underline{ }identifier$>$};} 664 711 665 712 \uncover<1->{\node [dummy, left=1.5cm of box7] (dummy2) {};}
Note: See TracChangeset
for help on using the changeset viewer.