Changeset 40 for palm/trunk


Ignore:
Timestamp:
Mar 2, 2007 6:32:25 AM (17 years ago)
Author:
raasch
Message:

documentation update for the new svn-based version and for 3.1c, update of .mrun.config.default, -u in mbuild only compiles scripts

Location:
palm/trunk
Files:
10 edited

Legend:

Unmodified
Added
Removed
  • palm/trunk/DOC/app/chapter_3.5.5.html

    r5 r40  
    11<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
    2 <html>
    3 <head>
    4   <meta http-equiv="CONTENT-TYPE"
    5  content="text/html; charset=windows-1252">
    6   <title>PALM chapter 3.5.5</title>
    7   <meta name="GENERATOR" content="StarOffice 7  (Win32)">
     2<html><head>
     3  <meta http-equiv="CONTENT-TYPE" content="text/html; charset=windows-1252">
     4 
     5  <title>PALM chapter 3.5.5</title><meta name="GENERATOR" content="StarOffice 7  (Win32)">
    86  <meta name="AUTHOR" content="Siegfried Raasch">
    97  <meta name="CREATED" content="20040802;14050943">
     
    1412                @page { size: 21cm 29.7cm }
    1513        -->
    16         </style>
    17 </head>
     14        </style></head>
     15
    1816<body dir="ltr" lang="en-US">
    1917<h3 style="line-height: 100%;"><font size="4">3.5.5 Compiling and
    2018linking user-defined code<br>
    2119</font></h3>
    22 <p style="line-height: 100%;">The compiling and linking of
    23 user-defined code into a model run is done via the shellscript
    24 <a
    25  href="http://www.muk.uni-hannover.de/institut/software/mrun_beschreibung.html">mrun</a>.
    26 The simplest (however not the most comfortable) way is by giving the
    27 filenames of the files containing the user-defined code as an argument
    28 of the shellscript option <a
    29  href="http://www.muk.uni-hannover.de/institut/software/mrun_beschreibung.html#Opt-s">-s</a>.
    30 If the user-defined subroutines are located e.g. on the two files <span
    31  style="font-family: monospace;">user1.f90</span> and <span
    32  style="font-family: monospace;">user2.f90</span>, then
    33 the <b>mrun</b> call has to be:<br>
    34 </p>
    35 <p style="line-height: 100%; margin-left: 40px;"><span
    36  style="font-family: monospace;">mrun... -s "user1.f90 user2.f90" ... .</span><br>
    37 </p>
    38 <p style="line-height: 100%;">For this call the user has to be in the
    39 working directory <tt><tt><font style="font-size: 10pt;" size="2">~/palm/current_version/SOURCE</font></tt></tt>,
    40 because the file with the source code of the main program is located
    41 here. The main program is compiled with
    42 each model run (without the appropriate filename given as argument for
    43 the
    44 option -s). </p>
    45 <p style="line-height: 100%;">The call </p>
    46 <ul>
    47   <pre style="margin-bottom: 0.5cm; line-height: 100%;"><font
    48  style="font-size: 10pt;" size="2">mrun
    49  -s TEST
    50 ,</font></pre>
    51 </ul>
    52 <p style="line-height: 100%;">is simpler and causes the compilation
    53 of all files with suffix <tt><font style="font-size: 10pt;" size="2">.f90</font></tt>
    54 located in the working
    55 directory <font face="Thorndale, serif">a</font>nd having
    56 user write permissions.&nbsp; Unchanged sources of the default model
    57 have read permission only and therefore are not compiled with that
    58 call. </p>
    59 <p style="line-height: 100%;">Typically, users may have different
    60 versions
    61 of user-defined code which are to be used for different model runs.
    62 According to the method just described for starting a certain model
    63 run,
    64 the associated user-defined code would have to be copied into the
    65 working directory and code for other runs may have to be
    66 removed (otherwise theses files would be compiled as well and the
    67 routines like <tt><font style="font-size: 10pt;" size="2">user_actions</font></tt>
    68 would occur twice or several times which would lead to compiling
    69 errors). This procedure is quite tedious and can lead to errors if
    70 different
    71 model runs with restarts are to be carried out at the same time. It is
    72 better
    73 to store the different versions of user-defined code in different
    74 subdirectories
    75 using the base file name of the respective model run as subdirectory
    76 name. In this case a line like </p>
    77 <ul>
    78   <pre style="margin-bottom: 0.5cm; line-height: 100%;"><font
    79  style="font-size: 10pt;" size="2">% </font><a
    80  href="http://www.muk.uni-hannover.de/institut/software/mrun_beschreibung.html#add_source_path"><font
    81  style="font-size: 10pt;" size="2">add_source_path</font></a><font
    82  style="font-size: 10pt;" size="2"> $HOME/palm/current_version/SOURCE/USER_CODE/$fname</font></pre>
    83 </ul>
    84 <p style="line-height: 100%;">has to be added to the <b>mrun</b>
    85 configuration file. If you call <b>mrun</b> now with </p>
    86 <ul>
    87   <pre style="margin-bottom: 0.5cm; line-height: 100%;"><font
    88  style="font-size: 10pt;" size="2">mrun -d run1  -s “user1.f90 user2.f90”
    89 ,</font></pre>
    90 </ul>
    91 <p style="line-height: 100%;">the additional entry in the configuration
    92 file
    93 causes that the files given as argument of the option -s are also
    94 looked
    95 for in the directory <tt><font style="font-size: 10pt;" size="2">$HOME/palm/current_version/SOURCE/USER_CODE/run1</font></tt><font
    96  style="font-size: 10pt;" size="2">,</font>
    97 in case they are not found in the current working directory. The
    98 specification of <tt><font style="font-size: 10pt;" size="2">-s</font><font
    99  size="2">
    100 TEST</font></tt> in the <b>mrun</b> call now causes compilation of all
    101 files with suffix <tt><font style="font-size: 10pt;" size="2">.f90</font></tt>
    102 and user write permissions which are located in the working
    103 directory or in the directory indicated by <span
    104  style="font-family: monospace;">add_source_path</span>. In
    105 this case no files with the same name are allowed to be in these two
    106 directories. </p>
    107 <p style="line-height: 100%;">Further detailed information for linking
    108 user-defined code with <b>mrun</b> can be found in <a
    109  href="http://www.muk.uni-hannover.de/institut/software/mrun_beschreibung.html#chapter7">chapter
    110 7</a> of the <b>mrun </b>documentation (only in German). </p>
    111 <p style="line-height: 100%;">While programming user-defined code,
     20<p style="line-height: 100%;">Users can add their own (modified) user-interface to a PALM-run by carrying out the following steps:</p><ol><li>Copy the default (empty) user-interface (file<span style="font-family: Courier New,Courier,monospace;"> user_interface.f90</span>) to a directory of your choice, e.g.:<br><br><span style="font-family: Courier New,Courier,monospace;">&nbsp; &nbsp;cd ~/palm/current_version</span><br style="font-family: Courier New,Courier,monospace;"><span style="font-family: Courier New,Courier,monospace;">&nbsp; &nbsp;mkdir -p USER_CODE/example</span><br style="font-family: Courier New,Courier,monospace;"><span style="font-family: Courier New,Courier,monospace;">&nbsp; &nbsp;cp trunk/SOURCE/user_interface.f90&nbsp; USER_CODE/example/user_example.f90</span><br></li><li>Set an additional path in the configuration file<span style="font-family: Courier New,Courier,monospace;"> .mrun.config </span>to allow <span style="font-weight: bold;">mrun </span>to find and include this file:<br><br><span style="font-family: Courier New,Courier,monospace;">&nbsp; &nbsp;%add_source_path&nbsp;&nbsp; $base_directory/USER_CODE/$fname</span><br><br>The default configuration file (<span style="font-family: Courier New,Courier,monospace;">trunk/SCRIPTS/.mrun.config.default</span>) already includes this setting.</li><li>Modify the interface routines according to your needs.</li><li>Start a PALM run by executing<br><br><span style="font-family: Courier New,Courier,monospace;">&nbsp; &nbsp;mrun -d example ...</span><br><br>The file<span style="font-family: Courier New,Courier,monospace;"> user_example.f90 </span>will be automatically compiled within the job and will replace PALM&lsquo;s default user-interface.<br></li></ol>The above method with including<span style="font-family: Courier New,Courier,monospace;"> $fname </span>in
     21the additional source path allows to use different user-interfaces for
     22different runs at the same time. Just store the respective
     23interface-files in subdirectories<span style="font-family: Courier New,Courier,monospace;"> USER_CODE/abcd</span>,<span style="font-family: Courier New,Courier,monospace;"> USER_CODE/cdef</span>, etc. and start <span style="font-weight: bold;">mrun</span> with option &ldquo;<span style="font-family: Courier New,Courier,monospace;">-d abcd</span>&ldquo;, &ldquo;<span style="font-family: Courier New,Courier,monospace;">-d cdef</span>&ldquo;, etc.<br><br><span style="font-weight: bold;">The modified user-interface file cannot be pre-compiled by using mbuild!</span><br><br>While programming user-defined code,
    11224errors are frequently made. Possible ways of error
    113 tracing are described in the next chapter. <br>
     25tracing are described in the next chapter. <br><p style="line-height: 100%;">
    11426&nbsp; </p>
    11527<hr>
    11628<p style="line-height: 100%;"><br>
    117 <font color="#000080"><font color="#000080"><a href="chapter_3.5.3.html"><font
    118  color="#000080"><img src="left.gif" name="Grafik1" align="bottom"
    119  border="2" height="32" width="32"></font></a><a href="index.html"><font
    120  color="#000080"><img src="up.gif" name="Grafik2" align="bottom"
    121  border="2" height="32" width="32"></font></a><a href="chapter_3.6.html"><font
    122  color="#000080"><img src="right.gif" name="Grafik3" align="bottom"
    123  border="2" height="32" width="32"></font></a></font></font></p>
     29<font color="#000080"><font color="#000080"><a href="chapter_3.5.3.html"><font color="#000080"><img src="left.gif" name="Grafik1" align="bottom" border="2" height="32" width="32"></font></a><a href="index.html"><font color="#000080"><img src="up.gif" name="Grafik2" align="bottom" border="2" height="32" width="32"></font></a><a href="chapter_3.6.html"><font color="#000080"><img src="right.gif" name="Grafik3" align="bottom" border="2" height="32" width="32"></font></a></font></font></p>
    12430<p style="line-height: 100%;"><i>Last change:&nbsp;</i> 15/04/05 (SR)</p>
    125 </body>
    126 </html>
     31</body></html>
  • palm/trunk/DOC/app/chapter_3.6.html

    r5 r40  
    11<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
    2 <html>
    3 <head>
    4   <meta http-equiv="CONTENT-TYPE"
    5  content="text/html; charset=windows-1252">
    6   <title>PALM chapter 3.6</title>
    7   <meta name="GENERATOR" content="StarOffice 7  (Win32)">
     2<html><head>
     3  <meta http-equiv="CONTENT-TYPE" content="text/html; charset=windows-1252">
     4 
     5  <title>PALM chapter 3.6</title><meta name="GENERATOR" content="StarOffice 7  (Win32)">
    86  <meta name="AUTHOR" content="Siegfried Raasch">
    97  <meta name="CREATED" content="20040809;10583400">
     
    1412                @page { size: 21cm 29.7cm }
    1513        -->
    16         </style>
    17 </head>
     14        </style></head>
     15
    1816<body dir="ltr" lang="en-US">
    1917<h3 style="line-height: 100%;">3.6 Interactive mode and debugging</h3>
     
    2321this computer the subroutines of the model must have
    2422been precompiled (see <a href="chapter_5.0.html">chapter
    25 5.0</a>). Furthermore, the working directory
    26 (<tt><font style="font-size: 10pt;" size="2">~/palm/current_version/SOURCE</font></tt>)
    27 must contain all default source code files of the model (<span
    28  style="font-family: monospace;">*.f90</span>), the <b>mrun</b>
    29 configuration file (<span style="font-family: monospace;">.mrun.config</span>)
    30 the Makefile (<span style="font-family: monospace;">Makefile</span>)
    31 and the files which contain the user-defined code (the default
    32 user-interface file <span style="font-family: monospace;">user_interface.f90</span>
    33 have to be removed from the directory). All output-files possibly
     235.0</a>). Files containing user-defined code must be stored in the directory given by the variable<span style="font-family: Courier New,Courier,monospace;"> %add_source_path </span>in the mrun-configuration file<span style="font-family: Courier New,Courier,monospace;"> .mrun.config</span>.<span style="font-family: monospace;"></span> All output-files possibly
    3424created by the model and requested by the user to be kept after the run
    3525are copied to
    3626directories on the local host corresponding to the specifications
    37 in the configuration file (in this case the file attribute <a
    38  href="http://www.muk.uni-hannover.de/institut/software/mrun_beschreibung.html#tr">tr</a>
     27in the configuration file (in this case the file attribute <a href="http://www.muk.uni-hannover.de/institut/software/mrun_beschreibung.html#tr">tr</a>
    3928does not cause transfer to another computer). </p>
    4029<p style="line-height: 100%;">Since model runs usually require large
    41 amounts of CPU time, interactive runs are usually not feasible, since
     30amounts of CPU time, interactive runs may not be feasible, since
    4231in interactive mode CPU time
    4332is strongly limited on many hosts and runs will be aborted
     
    5443the model, including the user-defined code, must be compiled
    5544with special debug compiler options. For this purpose, at least the
    56 following three lines must be included in the <span
    57  style="font-weight: bold;">mrun </span>configuration file:<br>
     45following three lines must be included in the <span style="font-weight: bold;">mrun </span>configuration file:<br>
    5846</p>
    59 <p style="line-height: 100%;"><span style="font-family: monospace;">%compiler_name&nbsp;&nbsp;&nbsp;&nbsp;
     47<p style="line-height: 100%;"><span style="font-family: Courier New,Courier,monospace;">%compiler_name&nbsp;&nbsp;&nbsp;&nbsp;
    6048mpxlf95_r&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
    61 ibmh parallel debug</span><br style="font-family: monospace;">
    62 <span style="font-family: monospace;">%fopts&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
    63 -g:-C:-qinitauto=FF:-qrealsize=8:-Q:-q64:-qmaxmem=-1:-qtune=pwr4:<br>
     49ibmh parallel debug</span><br style="font-family: Courier New,Courier,monospace;">
     50<span style="font-family: Courier New,Courier,monospace;">%fopts&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
     51-g:-C:-qinitauto=FF:-qrealsize=8:-Q:-q64:-qmaxmem=-1:-qtune=pwr4:</span><br style="font-family: Courier New,Courier,monospace;"><span style="font-family: Courier New,Courier,monospace;">
    6452&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
    65 -qarch=pwr4:-qnosave:-qnoescape:-qflttrap=overflow::zerodivide:<br>
     53-qarch=pwr4:-qnosave:-qnoescape:-qflttrap=overflow::zerodivide:</span><br style="font-family: Courier New,Courier,monospace;"><span style="font-family: Courier New,Courier,monospace;">
    6654&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
    6755:invalid::enable:-qsigtrap&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
    68 ibmh parallel debug</span><br style="font-family: monospace;">
    69 <span style="font-family: monospace;">%lopts&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
    70 -g:-C:-qinitauto=FF:-qrealsize=8:-Q:-q64:-qmaxmem=-1:-qtune=pwr4:<br>
     56ibmh parallel debug</span><br style="font-family: Courier New,Courier,monospace;">
     57<span style="font-family: Courier New,Courier,monospace;">%lopts&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
     58-g:-C:-qinitauto=FF:-qrealsize=8:-Q:-q64:-qmaxmem=-1:-qtune=pwr4:</span><br style="font-family: Courier New,Courier,monospace;"><span style="font-family: Courier New,Courier,monospace;">
    7159&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
    72 -qarch=pwr4:-qnosave:-qnoescape:-qflttrap=overflow::zerodivide:<br>
     60-qarch=pwr4:-qnosave:-qnoescape:-qflttrap=overflow::zerodivide:</span><br style="font-family: Courier New,Courier,monospace;"><span style="font-family: Courier New,Courier,monospace;">
    7361&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
    7462:invalid::enable:-qsigtrap:-lesslsmp&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
     
    7765</p>
    7866<p style="line-height: 100%;">(Attention: in the configuration file,
    79 the compiler and linker options (<span style="font-family: monospace;">fopts</span>
    80 and <span style="font-family: monospace;">lopts</span>) must be
     67the compiler and linker options (<span style="font-family: Courier New,Courier,monospace;">fopts
     68</span>and<span style="font-family: Courier New,Courier,monospace;"> lopts</span>) must be
    8169written in one line without any blank space before and after the
    8270colons!)<br>
    8371</p>
    84 <p style="line-height: 100%;">Using the compiler options "<span
    85  style="font-family: monospace;">-g</span>" and "<span
    86  style="font-family: monospace;">-C</span>", debugable code is created
     72<p style="line-height: 100%;">Using the compiler options "<span style="font-family: Courier New,Courier,monospace;">-g</span>" and "<span style="font-family: Courier New,Courier,monospace;">-C</span>", debugable code is created
    8773and check of array bounds is
    88 switched on during run time. Option "-qinitauto=FF" initializes all
     74switched on during run time. Option "<span style="font-family: Courier New,Courier,monospace;">-qinitauto=FF</span>" initializes all
    8975automatic variables (unfortunately not the global values of modules) to
    90 NaN.The "<span style="font-family: monospace;">-qflttrap</span>" and "<span
    91  style="font-family: monospace;">-qsigtrap</span>" options are needed
     76NaN.The "<span style="font-family: Courier New,Courier,monospace;">-qflttrap</span>" and "<span style="font-family: Courier New,Courier,monospace;">-qsigtrap</span>" options are needed
    9277in order to terminate the run in case of any floating point errors
    9378(otherwise the run will not terminate and errors can hardly be
     
    9681<p style="line-height: 100%;">The <b>mrun </b>call for debugging
    9782needs
    98 an extended argument for the option <tt><font style="font-size: 10pt;"
    99  size="2">-K</font></tt><font style="font-size: 10pt;" size="2">:</font>
    100 </p>
    101 <ul>
    102   <p style="line-height: 100%;"><tt><font style="font-size: 10pt;"
    103  size="2">mrun ... -K “parallel debug” -s ”*.f90" ... .<br>
    104   </font></tt></p>
    105 </ul>
    106 <p style="line-height: 100%;">The argument of option <tt><font
    107  style="font-size: 10pt;" size="2">-s</font></tt>
    108 must list all source code files of the model. </p>
     83an extended argument for the option<span style="font-family: Courier New,Courier,monospace;"> </span><font style="font-size: 10pt; font-family: Courier New,Courier,monospace;" size="2">-K</font>:</p><div style="margin-left: 40px; font-family: Courier New,Courier,monospace;">mrun ... -K &ldquo;parallel debug&rdquo; -s &rdquo;*.f90" ... .</div><p style="line-height: 100%;">The argument of option<span style="font-family: Courier New,Courier,monospace;"> -s </span><span style="font-family: Courier New,Courier,monospace;"></span>must list all source code files of the default PALM code. </p>
    10984<p style="line-height: 100%;">After compiling, the debugger
    110 <b>TotalView</b> is automatically called by <span
    111  style="font-weight: bold;">mrun</span>. With its assistance the user
     85<b>TotalView</b> is automatically called by <span style="font-weight: bold;">mrun</span>. With its assistance the user
    11286has to start
    11387the program execution manually, to set breakpoints, etc.. User manuals
    114 of <b>TotalView</b> are available <a
    115  href="http://www.hlrn.de/doc/totalview/index.html">online</a>. </p>
     88of <b>TotalView</b> are available <a href="http://www.hlrn.de/doc/totalview/index.html">online</a>. </p>
    11689<p style="line-height: 100%;">Program crashes caused by errors in the
    11790user-defined code should usually be found
    11891unassisted. If the termination point lies outside the user code (in the
    119 default model code), the PALM developer group had possibly be asked for
    120 assistance. It is emphasized again that error tracing and programming
     92default model code), the PALM&nbsp;group can be asked for
     93assistance, but please do not expect any quick response. It is emphasized again that error tracing and programming
    12194of
    12295user-defined code requires more or less precise knowledge of the
     
    12699<hr>
    127100<p style="line-height: 100%;"><br>
    128 <font color="#000080"><font color="#000080"><a href="chapter_3.5.5.html"><font
    129  color="#000080"><img src="left.gif" name="Grafik1" align="bottom"
    130  border="2" height="32" width="32"></font></a><a href="index.html"><font
    131  color="#000080"><img src="up.gif" name="Grafik2" align="bottom"
    132  border="2" height="32" width="32"></font></a><a href="chapter_3.7.html"><font
    133  color="#000080"><img src="right.gif" name="Grafik3" align="bottom"
    134  border="2" height="32" width="32"></font></a></font></font></p>
    135 <p style="line-height: 100%;"><i>Last change:&nbsp;</i> 15/04/05 (SR)</p>
    136 </body>
    137 </html>
     101<font color="#000080"><font color="#000080"><a href="chapter_3.5.5.html"><font color="#000080"><img src="left.gif" name="Grafik1" align="bottom" border="2" height="32" width="32"></font></a><a href="index.html"><font color="#000080"><img src="up.gif" name="Grafik2" align="bottom" border="2" height="32" width="32"></font></a><a href="chapter_3.7.html"><font color="#000080"><img src="right.gif" name="Grafik3" align="bottom" border="2" height="32" width="32"></font></a></font></font></p>
     102<p style="line-height: 100%;"><i>Last change:&nbsp;</i> 02/03/07 (SR)</p>
     103</body></html>
  • palm/trunk/DOC/app/chapter_4.1.html

    r5 r40  
    17861786
    17871787
    1788       <td style="vertical-align: top;"><span style="font-style: italic;">'neumann'</span></td>
     1788      <td style="vertical-align: top;"><span style="font-style: italic;">'initial gradient'</span></td>
    17891789
    17901790
     
    18311831     
    18321832      <p>Allowed are the values <span style="font-style: italic;">'dirichlet'
    1833       </span>(pt(k=nz) and pt(k=nz+1)
    1834 do not change during the run) and <span style="font-style: italic;">'neumann'</span>.
    1835 With the Neumann boundary
    1836 condition the value of the temperature gradient at the top is
     1833      </span>(pt(k=nz+1)
     1834does not change during the run), <span style="font-style: italic;">'neumann'</span> (pt(k=nz+1)=pt(k=nz)), and <span style="font-style: italic;">'initial_gradient'</span>.
     1835With the 'initial_gradient'-condition the value of the temperature gradient at the top is
    18371836calculated from the initial
    18381837temperature profile (see <a href="#pt_surface">pt_surface</a>, <a href="#pt_vertical_gradient">pt_vertical_gradient</a>)
    1839 by bc_pt_t_val = (pt_init(k=nz) -
    1840 pt_init(k=nz-1)) / dzu(nz).<br>
     1838by bc_pt_t_val = (pt_init(k=nz+1) -
     1839pt_init(k=nz)) / dzu(nz+1).<br>
    18411840
    18421841
     
    18711870     
    18721871     
    1873       <ul>
    1874 
    1875 
    1876 
    1877 
    1878 
    1879 
    1880 
    1881 
    1882 
    1883 
    1884        
    1885        
    1886        
    1887        
    1888        
    1889        
    1890        
    1891        
    1892        
    1893        
    1894         <p style="font-style: normal;">pt(k=nz) = pt(k=nz-1) +
    1895 bc_pt_t_val * dzu(nz)</p>
    1896 
    1897 
    1898 
    1899 
    1900 
    1901 
    1902 
    1903 
    1904 
    1905 
    1906      
    1907      
    1908      
    1909      
    1910      
    1911      
    1912      
    1913      
    1914      
    1915      
    1916       </ul>
    1917 
    1918 
    1919 
    1920 
    1921 
    1922 
    1923 
    1924 
    1925 
    1926 
    1927      
    1928      
    1929      
    1930      
    1931      
    1932      
    1933      
    1934      
    1935      
    1936      
    1937       <p style="font-style: normal;">and&nbsp; </p>
     1872     
     1873
     1874
     1875
     1876
     1877
     1878
     1879
     1880
     1881
     1882
     1883     
     1884     
     1885     
     1886     
     1887     
     1888     
     1889     
     1890     
     1891     
     1892     
     1893     
    19381894
    19391895
     
    20201976     
    20211977     
    2022       <p style="font-style: normal;">(up to k=nz-1 the prognostic
    2023 equation for the temperature is solved).</p>
     1978      <p style="font-style: normal;">(up to k=nz the prognostic
     1979equation for the temperature is solved).<br>
     1980
     1981
     1982
     1983
     1984
     1985
     1986
     1987
     1988
     1989
     1990When a constant sensible heat flux is used at the top boundary (<a href="chapter_4.1.html#top_heatflux">top_heatflux</a>), <b>bc_pt_t</b> = <span style="font-style: italic;">'neumann'</span>
     1991must be used, because otherwise the resolved scale may contribute to
     1992the top flux so that a constant value cannot be guaranteed.</p>
    20241993
    20251994
     
    23452314     
    23462315     
    2347       <ul>
    2348 
    2349 
    2350 
    2351 
    2352 
    2353 
    2354 
    2355 
    2356 
    2357 
    2358        
    2359        
    2360        
    2361        
    2362        
    2363        
    2364        
    2365        
    2366        
    2367        
    2368         <p style="font-style: normal;">q(k=nz) = q(k=nz-1) +
    2369 bc_q_t_val * dzu(nz)</p>
    2370 
    2371 
    2372 
    2373 
    2374 
    2375 
    2376 
    2377 
    2378 
    2379 
    2380      
    2381      
    2382      
    2383      
    2384      
    2385      
    2386      
    2387      
    2388      
    2389      
    2390       </ul>
    2391 
    2392 
    2393 
    2394 
    2395 
    2396 
    2397 
    2398 
    2399 
    2400 
    2401      
    2402      
    2403      
    2404      
    2405      
    2406      
    2407      
    2408      
    2409      
    2410      
    2411       <p style="font-style: normal;">and&nbsp; </p>
     2316     
     2317
     2318
     2319
     2320
     2321
     2322
     2323
     2324
     2325
     2326
     2327     
     2328     
     2329     
     2330     
     2331     
     2332     
     2333     
     2334     
     2335     
     2336     
     2337     
    24122338
    24132339
     
    24942420     
    24952421     
    2496       <p style="font-style: normal;">(up tp k=nz-1 the prognostic
     2422      <p style="font-style: normal;">(up tp k=nz the prognostic
    24972423equation for q is solved). </p>
    24982424
     
    28192745     
    28202746     
    2821       <ul>
    2822 
    2823 
    2824 
    2825 
    2826 
    2827 
    2828 
    2829 
    2830 
    2831 
    2832        
    2833        
    2834        
    2835        
    2836        
    2837        
    2838        
    2839        
    2840        
    2841        
    2842         <p style="font-style: normal;">s(k=nz) = s(k=nz-1) +
    2843 bc_s_t_val * dzu(nz)</p>
    2844 
    2845 
    2846 
    2847 
    2848 
    2849 
    2850 
    2851 
    2852 
    2853 
    2854      
    2855      
    2856      
    2857      
    2858      
    2859      
    2860      
    2861      
    2862      
    2863      
    2864       </ul>
    2865 
    2866 
    2867 
    2868 
    2869 
    2870 
    2871 
    2872 
    2873 
    2874 
    2875      
    2876      
    2877      
    2878      
    2879      
    2880      
    2881      
    2882      
    2883      
    2884      
    2885       <p style="font-style: normal;">and&nbsp; </p>
     2747     
     2748
     2749
     2750
     2751
     2752
     2753
     2754
     2755
     2756
     2757
     2758     
     2759     
     2760     
     2761     
     2762     
     2763     
     2764     
     2765     
     2766     
     2767     
     2768     
    28862769
    28872770
     
    29682851     
    29692852     
    2970       <p style="font-style: normal;">(up to k=nz-1 the prognostic
     2853      <p style="font-style: normal;">(up to k=nz the prognostic
    29712854equation for the scalar concentration is
    29722855solved).</p>
     
    1468714570logarithmic wind and temperature
    1468814571profiles between k=0 and k=1. In this case a Dirichlet condition (see <a href="#bc_pt_b">bc_pt_b</a>)
    14689 must be used as bottom boundary condition for the potential temperature.</p>
     14572must be used as bottom boundary condition for the potential temperature.</p><p>See also <a href="#top_heatflux">top_heatflux</a>.</p>
    1469014573
    1469114574
     
    1680716690
    1680816691
    16809     <tr>
     16692    <tr><td style="vertical-align: top;"><a name="top_heatflux"></a><span style="font-weight: bold;">top_heatflux</span></td><td style="vertical-align: top;">R</td><td style="vertical-align: top;"><span style="font-style: italic;">no prescribed<br>
     16693heatflux</span></td><td style="vertical-align: top;"><p>Kinematic sensible heat flux at the top boundary (in K m/s).&nbsp; </p>
     16694
     16695
     16696
     16697
     16698
     16699
     16700
     16701
     16702
     16703
     16704     
     16705     
     16706     
     16707     
     16708     
     16709     
     16710     
     16711     
     16712     
     16713     
     16714      <p>If a value is assigned to this parameter, the internal two-dimensional surface heat flux field <span style="font-family: monospace;">tswst</span> is initialized with the value of <span style="font-weight: bold;">top_heatflux</span>&nbsp;as top (horizontally homogeneous) boundary condition for the
     16715temperature equation. This additionally requires that a Neumann
     16716condition must be used for the potential temperature (see <a href="chapter_4.1.html#bc_pt_t">bc_pt_t</a>),
     16717because otherwise the resolved scale may contribute to
     16718the top flux so that a constant value cannot be guaranteed.<span style="font-style: italic;"></span>&nbsp;</p>
     16719
     16720
     16721
     16722     
     16723     
     16724     
     16725      <p><span style="font-weight: bold;">Note:</span><br>The application of a top heat flux additionally requires the setting of initial parameter <a href="#use_top_fluxes">use_top_fluxes</a> = .T..<span style="font-style: italic;"></span><span style="font-weight: bold;"></span> </p><p>No Prandtl-layer is available at the top boundary so far.</p><p>See also <a href="#surface_heatflux">surface_heatflux</a>.</p>
     16726
     16727
     16728
     16729
     16730
     16731
     16732
     16733
     16734
     16735
     16736     
     16737     
     16738     
     16739     
     16740     
     16741     
     16742     
     16743     
     16744     
     16745     
     16746      </td></tr><tr>
    1681016747
    1681116748
     
    1833618273
    1833718274
    18338     <tr>
     18275    <tr><td style="vertical-align: top;"><a name="use_top_fluxes"></a><span style="font-weight: bold;">use_top_fluxes</span></td><td style="vertical-align: top;">L</td><td style="vertical-align: top;"><span style="font-style: italic;">.F.</span></td><td style="vertical-align: top;">
     18276
     18277
     18278
     18279
     18280
     18281
     18282
     18283
     18284
     18285
     18286     
     18287     
     18288     
     18289     
     18290     
     18291     
     18292     
     18293     
     18294     
     18295     
     18296     
     18297
     18298
     18299
     18300
     18301
     18302
     18303
     18304
     18305
     18306
     18307     
     18308     
     18309     
     18310     
     18311     
     18312     
     18313     
     18314     
     18315     
     18316     
     18317     
     18318
     18319
     18320
     18321
     18322
     18323
     18324
     18325
     18326
     18327
     18328     
     18329     
     18330     
     18331     
     18332     
     18333     
     18334     
     18335     
     18336     
     18337     
     18338      <p>Parameter to steer the treatment of the subgrid-scale vertical
     18339fluxes within the diffusion terms at k=nz (top boundary).</p><p>By default, the fluxes at nz are calculated using the gradient approach. If <b>use_top_fluxes</b>
     18340= <i>.TRUE.</i>, the user-assigned top fluxes are used instead
     18341(see <a href="chapter_4.1.html#top_heatflux">top_heatflux</a>).</p><p>Currently, only a value for the sensible heatflux can be assigned. In case of <span style="font-weight: bold;">use_top_fluxes</span> = <span style="font-style: italic;">.TRUE.</span>, the latent heat flux at the top will be automatically set to zero.</p></td></tr><tr>
    1833918342
    1834018343
  • palm/trunk/DOC/app/chapter_4.6.html

    r5 r40  
    11<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
    2 <html>
    3 <head>
     2<html><head>
    43
    54
     
    1615 
    1716  <meta http-equiv="CONTENT-TYPE" content="text/html; charset=windows-1252">
    18   <title>PALM chapter 4.6</title>
     17 
    1918
    2019
     
    3736 
    3837 
    39   <meta name="GENERATOR" content="StarOffice 7 (Win32)">
     38  <title>PALM chapter 4.6</title><meta name="GENERATOR" content="StarOffice 7 (Win32)">
    4039
    4140
     
    111110@page { size: 21cm 29.7cm }
    112111-->
    113   </style>
    114 </head>
     112  </style></head>
    115113
    116114<body style="direction: ltr;" lang="en-US">
     
    2204622044
    2204722045
    22048     <tr>
     22046    <tr><td><a style="font-weight: bold;" href="chapter_4.1.html#top_heatflux">top_heatflux</a></td><td>I</td><td>R</td><td><span style="font-style: italic;">no prescribed heatflux</span></td><td>Kinematic sensible heat flux at the top surface (in K m/s).</td></tr><tr>
    2204922047
    2205022048
     
    2320423202
    2320523203
    23206     <tr valign="top">
     23204    <tr><td><a style="font-weight: bold;" href="chapter_4.1.html#use_top_fluxes">use_top_fluxes</a></td><td>I</td><td>L</td><td><span style="font-style: italic;">.F.</span></td><td>Parameter to steer the treatment of the subgrid-scale
     23205vertical
     23206fluxes within the diffusion terms at k=nz (top boundary).</td></tr><tr valign="top">
    2320723207
    2320823208
     
    2437324373
    2437424374
    24375 </body>
    24376 </html>
     24375</body></html>
  • palm/trunk/DOC/app/chapter_5.0.html

    r5 r40  
    11<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
    2 <html>
    3 <head>
    4   <meta http-equiv="CONTENT-TYPE"
    5  content="text/html; charset=windows-1252">
    6   <title>PALM chapter 5.0</title>
    7   <meta name="GENERATOR" content="StarOffice 7  (Win32)">
     2<html><head>
     3  <meta http-equiv="CONTENT-TYPE" content="text/html; charset=windows-1252">
     4 
     5  <title>PALM chapter 5.0</title><meta name="GENERATOR" content="StarOffice 7  (Win32)">
    86  <meta name="AUTHOR" content="Siegfried Raasch">
    97  <meta name="CREATED" content="20041103;12380720">
     
    1412                @page { size: 21cm 29.7cm }
    1513        -->
    16         </style>
    17 </head>
     14        </style></head>
     15
    1816<body dir="ltr" lang="en-US">
    1917<h2 style="line-height: 100%;"><font size="4">5.0 Installation of the
    2018model</font></h2>
    2119<p style="line-height: 100%;"><font color="#000000">This chapter
    22 describes the installation of PALM on the Linux workstation
    23 cluster of IMUK and a suitable remote computer (host), on which the
    24 model runs are actually carried out. The local cluster is used to
    25 start the batch job with <b>mrun</b> and to analyze the results
    26 produced by the model. In batch mode, runs can be carried on the
    27 IBM-Regatta
    28 system of the HLRN, on an IBM-Regatta at KISTI, Korea </font><font
    29  color="#000000">(via a local
    30 DEC-Alpha-workstation at the Department of Atmospheric Sciences of the
    31 Yonsei University, Seoul)</font><font color="#000000">, and on an
    32 NEC-SX6 at DKRZ. The examples given in this chapter refer to an
    33 installation of PALM on the IMUK cluster, considering the IBM-Regatta
     20describes the installation of PALM on a Linux workstation (local host) and a suitable remote computer, on which the
     21model runs are to be carried out. The local host is used to
     22start batch jobs with <b>mrun</b> and to analyze the results
     23which are produced by the model on the remote host and send back to the local host. Alternatively, <span style="font-weight: bold;">mrun</span> can also be used to start PALM on the local host in interactive mode or as a batch job.</font></p><p style="line-height: 100%;"><font color="#000000"></font></p><p style="line-height: 100%;"><font color="#000000"><span style="font-weight: bold; text-decoration: underline;">Requirements</span></font></p><p style="line-height: 100%;"><font color="#000000">The installation and operation of PALM requires at mimimum (on both, the local and the remote host, unless stated otherwise):</font></p><ol><li><font color="#000000">The AT&amp;T Korn-shell (ksh) must be available under<span style="font-family: Courier New,Courier,monospace;"> </span></font><font style="font-family: Courier New,Courier,monospace;" color="#000000">/bin/ksh</font><font color="#000000">. Most of the current Linux distributions are using the public domain Korn-shell (pdksh). The PALM scripts <span style="font-weight: bold;">mrun</span> and <span style="font-weight: bold;">mbuild</span> do not work with the pdksh! Please replace it by the AT&amp;T ksh. If the AT&amp;T ksh path is different from<span style="font-family: Courier New,Courier,monospace;"> </span></font><font style="font-family: Courier New,Courier,monospace;" color="#000000">/bin/ksh</font><font color="#000000">, please modify the first lines in <span style="font-weight: bold;">mrun</span> and <span style="font-weight: bold;">mbuild</span>, respectively.</font></li><li><font color="#000000">The NetCDF-library with version number not earlier than 3.6.0-p1 (for NetCDF, see under <a href="http://www.unidata.ucar.edu/software/netcdf/">www.unidata.ucar.edu</a>).</font></li><li><font color="#000000">A FORTRAN90/95 compiler.</font></li><li><font color="#000000">The Message Passing Interface (MPI), at least on the remote host, if the parallel version of PALM shall be used.</font></li><li><font color="#000000">On the local host, the revision control system <span style="font-weight: bold;">subversion</span> (see <a href="http://subversion.tigris.org/">subversion.tigris.org</a>).
     24This is already included in many Linux distributions (e.g. SuSe). The
     25user needs a permit to access the PALM repository. For getting a permit
     26please contact the PALM group (<a href="mailto:raasch@muk.uni-hannover.de">raasch@muk.uni-hannover.de</a>)
     27and define a username under which you like to access the repository.
     28You will then receive a password which allows the access under this
     29name.</font></li><li><font color="#000000">A job queueing system must be available on the remote host. Currently, <span style="font-weight: bold;">mrun</span> can handle LoadLeveler (IBM-AIX) and NQS/PBS (Linux-Clusters, NEC-SX).</font></li><li><font color="#000000">ssh/scp-connections to and from the remote host must not be blocked by a firewall.<br></font></li></ol><font color="#000000"><span style="font-weight: bold;"></span></font><font color="#000000"> Currently, <span style="font-weight: bold;">mrun</span> is configured to be used on a limited number of selected machines. These are IBM-Regatta at computing center HLRN in Hannover (<span style="font-style: italic;">ibmh</span>), Berlin (<span style="font-style: italic;">ibmb</span>), at KISTI, Korea (<span style="font-style: italic;">ibms</span>), at Yonsei University, Seoul (<span style="font-style: italic;">ibms</span>), on NEC-SX6/8 systems at DKRZ, Hamburg (<span style="font-style: italic;">nech</span>) and RIAM, Kyushu University, Fukuoka (<span style="font-style: italic;">neck</span>), as well as on the Linux cluster of IMUK (<span style="font-style: italic;">lcmuk</span>) and Tokyo Institute of Technology (<span style="font-style: italic;">lctit</span>). The strings given in brackets are the systems names under which <span style="font-weight: bold;">mrun</span> indentifies the different hosts. mrun should also work on other systems, but this requires some modifications in the scripts <span style="font-weight: bold;">mrun</span>, <span style="font-weight: bold;">mbuild</span>, and <span style="font-weight: bold;">subjob</span>. Future PALM versions will allow to configure the scripts for different kinds of systems by just using a configuration file.</font><p style="line-height: 100%;"><font color="#000000">The examples given in this chapter refer to an
     30installation of PALM on an IMUK Linux workstation and the IBM-Regatta
    3431system of
    35 the HLRN as the remote computer. </font>
     32the HLRN used as&nbsp;remote host. They are just called local and remote host from now on. </font>
    3633</p>
    3734<p style="line-height: 100%;">The installation process requires a valid
    38 account on the IMUK cluster and on the remote host as well. In the
    39 following the IMUK workstation is called the “local host”. <br>
     35account on the local and on the remote host as well.<br>
    4036&nbsp; </p>
    4137<ul>
     
    4945out e.g. on the local host:</p>
    5046  <p style="line-height: 100%;"><span style="font-family: monospace;">&nbsp;&nbsp;&nbsp;
    51 ssh&nbsp; &lt;username on remote host&gt;@&lt;remote IP-address&gt;</span><br>
     47</span><span style="font-family: Courier New,Courier,monospace;">ssh&nbsp; &lt;username on remote host&gt;@&lt;remote IP-address&gt;</span><br>
    5248  </p>
    5349  <p style="line-height: 100%;">and on the remote host:<br>
    5450  </p>
    5551  <p style="line-height: 100%;"><span style="font-family: monospace;">&nbsp;&nbsp;&nbsp;
    56 ssh&nbsp; &lt;username on local host&gt;@&lt;local IP-adddress&gt;</span><br>
     52</span><span style="font-family: Courier New,Courier,monospace;">ssh&nbsp; &lt;username on local host&gt;@&lt;local IP-adddress&gt;</span><br>
    5753  </p>
    58   <p style="line-height: 100%;">In both cases you should nnot be
     54  <p style="line-height: 100%;">In both cases you should&nbsp;not be
    5955prompted for a password. <b>Before continuing the further installation
    6056process, this must be absolutely guaranteed!</b> This must also be
    6157guaranteed for <b>all</b> other remote hosts, on which PALM shall run.</p>
    6258</ul>
    63 <p style="line-height: 100%;">In the <b>first installation step</b> a
     59<p style="line-height: 100%;"></p><p style="line-height: 100%;"><span style="font-weight: bold; text-decoration: underline;">Package Installation</span></p><p style="line-height: 100%;">In the <b>first installation step</b> a
    6460set of directories must be created both on the local and on the
    65 remote host. These directories are: </p>
    66 <ul>
    67   <pre style="line-height: 100%;"><font size="2">~/job_queue</font><br><font
    68  size="2">~/palm</font><br><font size="2">~/palm/current_version</font><br><font
    69  size="2">~/palm/current_version/SOURCE</font><br><font size="2">~/palm/current_version/JOBS</font></pre>
    70 </ul>
    71 <p style="line-height: 100%;">The names of these directories are
     61remote host. These directories are:</p><div style="margin-left: 40px; font-family: Courier New,Courier,monospace;">~/job_queue<br></div><div style="margin-left: 40px; font-family: Courier New,Courier,monospace;">~/palm<br></div><div style="margin-left: 40px; font-family: Courier New,Courier,monospace;">~/palm/current_version<br></div><div style="margin-left: 40px;"><span style="font-family: Courier New,Courier,monospace;">~/palm/current_version/JOBS</span><br></div><p style="line-height: 100%;">The names of these directories are
    7262freely selectable (except <tt><font size="2">~/job_queue</font></tt>),
    7363however new users should use them as suggested, since many
    7464examples in this documentation as well as all example files are
    75 assuming these settings. </p>
     65assuming these settings. The directory <span style="font-family: monospace;">~/palm/current_version</span> on the local host will be called the working directory from now on. </p>
    7666<p style="line-height: 100%;"><font color="#000000">In the <b>second
    77 step</b> the PALM source code must be copied into directory </font><tt><font
    78  size="2"><font color="#000000">~/palm/current_version/SOURCE</font></font></tt><font
    79  color="#000000"> on the local host by carrying out the following
    80 commands: </font>
    81 </p>
    82 <ul>
    83   <pre style="line-height: 100%;"><font color="#000000">cd ~/palm/current_version/SOURCE</font><br><font
    84  color="#000000">ln -s /home/raasch/public_html/PALM_group/INSTALL/RCS .</font><br><font
    85  color="#000000">cp RCS/*,v .</font><br><font color="#000000">co *,v</font><br><font
    86  color="#000000">rm -rf *,v</font></pre>
    87 </ul>
    88 <p style="line-height: 100%;"><font color="#000000">Afterwards, the
    89 directory</font><font color="#000000"> </font><tt><font size="2"><font
    90  color="#000000">~/palm/current_version/SOURCE</font></font></tt><font
    91  color="#000000">
    92 should contain</font><font color="#000000"> all PALM routines as well
    93 as a file with the name </font><tt><font size="2"><font color="#000000">Makefile</font></font></tt><font
    94  color="#000000">. </font><font color="#000000">All files are
    95 write-protected, the source code files end on “</font><tt><font
    96  style="font-size: 11pt;" size="2"><font color="#000000">.f90</font></font></tt><font
    97  color="#000000">”.
    98 The user should never modify these files without further knowledge of
    99 the PALM code. </font>
    100 </p>
     67step</b>
     68a working copy of the recent version of the PALM software package,
     69including the source code, scripts, documentation, etc.&nbsp; must be
     70copied to the working directory (</font><font color="#000000">local host!) by executing the following
     71commands. Replace &lt;your username&gt; by the name that you choosed to access the repository.</font></p><div style="margin-left: 40px;"><span style="font-family: Courier New,Courier,monospace;">cd ~/palm/current_version</span><br style="font-family: Courier New,Courier,monospace;"><span style="font-family: Courier New,Courier,monospace;">svn checkout --username &lt;your username&gt; svn://130.75.105.45/palm/trunk</span><br></div><p style="line-height: 100%;"><font color="#000000">You will then be prompted for your password. After finishing, the subdirectory</font><font style="font-family: Courier New,Courier,monospace;" color="#000000"> trunk </font><font color="#000000">should
     72appear in your working directory. It contains a number of further
     73subdirectories which contain e.g. the PALM source code (</font><font style="font-family: Courier New,Courier,monospace;" color="#000000">SOURCE</font><font color="#000000">) and the scripts for running PALM (</font><font style="font-family: Courier New,Courier,monospace;" color="#000000">SCRIPTS</font><font color="#000000">).</font></p><p style="line-height: 100%;">Alternatively,&nbsp;executing</p><pre style="line-height: 100%; margin-left: 40px; font-family: Courier New,Courier,monospace;">svn checkout --username &lt;your username&gt; svn://130.75.105.45/palm/trunk abcde</pre><p style="line-height: 100%;">will place your working copy in a directory named<span style="font-family: Courier New,Courier,monospace;"> abcde </span>instead of a directory named<span style="font-family: Courier New,Courier,monospace;"> trunk</span>. But keep in mind that you will have to adjust several paths given below, if you do not use the default directory<span style="font-family: Courier New,Courier,monospace;"> trunk</span>.</p><p style="line-height: 100%;">Please never touch any file in your working copy of PALM, unless you&nbsp;know exactly what you are doing.</p><p style="line-height: 100%; font-weight: bold;">In future PALM releases, repository access to the most recent PALM version will
     74probably be restricted because this is a test version. However, access
     75to the last (and earlier) stable version(s) will still be possible with
     76(e.g.)</p><pre style="line-height: 100%; margin-left: 40px; font-family: Courier New,Courier,monospace;">svn checkout --username &lt;your username&gt; svn://130.75.105.45/palm/tags/release-3.1c trunk</pre><p style="line-height: 100%;"><font color="#000000"></font></p><p style="line-height: 100%;"><font color="#000000"><span style="font-weight: bold; text-decoration: underline;">Package Configuration</span></font></p><p style="line-height: 100%;"><font color="#000000">To
     77use the PALM scripts, the PATH variable has to be extended and the
     78environment variable PALM_BIN has to be set (on local and remote host)
     79in the respective profile of the users default shell (e.g. in<span style="font-family: Courier New,Courier,monospace;"> .profile</span>, if<span style="font-family: Courier New,Courier,monospace;"> ksh </span>is used):</font></p><p style="line-height: 100%; margin-left: 40px;"><font style="font-family: Courier New,Courier,monospace;" color="#000000">export PATH=$HOME/palm/current_version/trunk/SCRIPTS:$PATH</font><font color="#000000"><br><span style="font-family: Courier New,Courier,monospace;">export PALM_BIN=</span></font><font style="font-family: Courier New,Courier,monospace;" color="#000000">$HOME/palm/current_version/trunk/SCRIPTS</font></p><p style="line-height: 100%;"><font color="#000000">You may habe to login again in order to activate these settings.</font></p><p style="line-height: 100%;"><font color="#000000">On the local and on the remote host, some small helper/utility programs have to be installed, which are e.g. later used by <span style="font-weight: bold;">mrun</span> or for PALM data postprocessing. The installation is done by <span style="font-weight: bold;">mbuild</span>. This script requires a configuration file<span style="font-family: Courier New,Courier,monospace;"> .mrun.config</span>, which will be also used by <span style="font-weight: bold;">mrun</span> in the following. A copy has to be put into the working directory under the name<span style="font-family: Courier New,Courier,monospace;"> .mrun.config </span>by</font></p><p style="line-height: 100%; margin-left: 40px;"><font color="#000000"><span style="font-family: Courier New,Courier,monospace;">cp trunk/SCRIPTS/.mrun.config.default .mrun.config</span></font></p><p style="line-height: 100%;"><font color="#000000">Beside many other things, this file contains typical installation parameters
     80like compiler name, compiler options, etc.
     81for a set of different remote hosts. Please edit this file, uncomment lines like</font></p><div style="margin-left: 40px; font-family: Courier New,Courier,monospace;">#%remote_username &nbsp;&lt;replace by your ... username&gt; &nbsp; &lt;remote-computer-shortcut&gt;</div><p style="line-height: 100%;"><font color="#000000">by removing the first hash (<span style="font-family: Courier New,Courier,monospace;">#</span>) character and replace the string "<span style="font-family: Courier New,Courier,monospace;">&lt;replace by ...&gt;</span>" by your username on the respective host given in the <span style="font-family: Courier New,Courier,monospace;">&lt;remote-computer-shortcut&gt;</span>. You only have to uncomment lines for those hosts on which you intend to use PALM.</font></p><p style="line-height: 100%;"><font color="#000000">After modifying the configuration file, the respective executables are generated by executing</font></p><p style="line-height: 100%; margin-left: 40px; font-family: Courier New,Courier,monospace;"><font color="#000000">mbuild -u -h lcmuk<br>mbuild -u -h ibmh</font></p><p style="line-height: 100%;"><font color="#000000">The second call also copies the PALM scripts like <span style="font-weight: bold;">mrun</span> and <span style="font-weight: bold;">mbuild</span> to the remote host.</font></p><p style="line-height: 100%;"><font color="#000000"></font></p><p style="line-height: 100%;"><font color="#000000"><span style="font-weight: bold; text-decoration: underline;">Pre-Compilation of PALM Code</span></font></p><font color="#000000">
     82</font>
    10183<p style="line-height: 100%;"><font color="#000000">To avoid the
    10284re-compilation of the complete source code for each model run, PALM
    103 willl be pre-compiled once on the remote host. Due to the use of
     85willl be pre-compiled once on the remote host by again using the script <span style="font-weight: bold;">mbuild</span>. Due to the use of
    10486FORTRAN modules in the source code, the subroutines must be compiled
    105 in a certain sequence. Therefore the so-called <i>make</i> mechanism
     87in a certain order. Therefore the so-called <i>make</i> mechanism
    10688is used (see the respective man-page of the Unix operating system),
    107 requiring the file </font><tt><font color="#000000">Makefile</font></tt><font
    108  color="#000000">,
    109 in which the dependencies are described. The compiled sources (object
     89requiring a<span style="font-family: Courier New,Courier,monospace;"> </span></font><font style="font-family: Courier New,Courier,monospace;" color="#000000">Makefile</font><font color="#000000">,
     90in which the dependencies are described. This file is found in subdirectory <span style="font-family: Courier New,Courier,monospace;">trunk/SOURCE<span style="font-family: Times New Roman,Times,serif;">, where also the PALM code is stored</span></span>. The compiled sources (object
    11091files) are
    111 stored on the remote computer in the directory
    112 </font><tt><font color="#000000">~/palm/current_version/SOURCE/MAKE_DEPOSITORY</font></tt><font
    113  color="#000000">.<br>
    114 &nbsp;<br>
    115 For pre-compilation the user has to</font> call <font color="#000000">the
    116 command <b>mbuild</b>, which requires some pre-settings. The path
    117 variable must be extended on <b>both</b> computers, so that the
    118 commands <b>mbuild</b> and <b>mrun</b> as well as further routines
    119 needed by <span style="font-weight: bold;">mrun</span> can be found.
    120 This is achieved on the local computer via:: </font>
    121 </p>
    122 <ul>
    123   <pre style="margin-bottom: 0.5cm; line-height: 100%;"><font
    124  color="#000000">PATH=$PATH:/home/raasch/pub,</font></pre>
    125 </ul>
    126 <p style="line-height: 100%;"><font color="#000000">and on the IBM
    127 Regatta
    128 system of the HLRN via</font></p>
    129 <ul>
    130   <pre style="margin-bottom: 0.5cm; line-height: 100%;"><font
    131  color="#000000">PATH=$PATH:/home/h/niksiraa/pub.</font></pre>
    132 </ul>
    133 <p style="line-height: 100%;"><font color="#000000">These path
    134 extensions must be automatically set in the profiles of the local and
    135 remote host (file "~/.myprofile" at IMUK, file "~/.profile" at HLRN)</font><font
    136  color="#000000">.
    137 </font></p>
    138 <p style="line-height: 100%;"><font color="#000000">It is now assumed
    139 that the working directory is
    140 </font><tt><font color="#000000">~/palm/current_version/SOURCE</font></tt><font
    141  color="#000000">
    142 on the local host. Compilation of the PALM code via <b>mbuild </b>needs
    143 a </font><a
    144  href="http://www.muk.uni-hannover.de/%7Eraasch/PALM_group/INSTALL/.mrun.config"><font
    145  color="#000080">configuration
    146 file</font></a><font color="#000080">,</font><font color="#000000">
    147 which must be copied to the working directory under name
    148 </font><tt><font color="#000000">.mrun.config</font></tt><font
    149  color="#000000">
    150 (please click on the link with &lt;SHIFT&gt; + left mouse button)</font><font
    151  color="#000000">. This file contains typical installation parameters
    152 like compiler name, compiler options, etc.
    153 for a set of different remote hosts. This file is also needed later on
    154 for starting the model runs. </font>
    155 </p>
    156 <p style="line-height: 100%;"><font color="#000000">In the
    157 configuration file </font><tt><font color="#000000">.mrun.config</font></tt><font
    158  color="#000000">
    159 the user name on the respective remote host must be entered. In lines
    160 like</font>
    161 </p>
    162 <ul>
    163   <p style="line-height: 100%;"><tt><font color="#000000">%
    164 remote_username &lt;username&gt; &lt;remote-computer-shortcut&gt;</font></tt></p>
    165 </ul>
    166 the string "<span style="font-family: monospace;">&lt;username&gt;</span>"
    167 has to be replaced by the actual name of the user on the respective
    168 remote host (e.g. "nik....." on HLRN).<font color="#000000">
    169 </font>
    170 <p style="line-height: 100%;"><font color="#000000">After this, the
    171 pre-compilation for the IBM-Regatta of HLRN can be started by entering</font><font
    172  color="#000000"> </font>
    173 </p>
    174 <ul>
    175   <pre style="margin-bottom: 0.5cm; line-height: 100%;"><font
    176  color="#000000">mbuild - h ibmh  .</font></pre>
    177 </ul>
    178 <p style="line-height: 100%;"><span style="font-family: monospace;">mbuild</span>
    179 will prompt some queries<font color="#000000">, which must all be
    180 answered "y" by the user. The compiling process </font><font
    181  color="#000000">will take some time. </font><font color="#000000"><span
    182  style="font-family: monospace;">mbuild</span></font><font
    183  color="#000000"> transfers the respective compiler calls to the remote
     92stored&nbsp;on the remote computer in the default directory
     93</font><font style="font-family: Courier New,Courier,monospace;" color="#000000">~/palm/current_version/MAKE_DEPOSITORY</font>.<font color="#000000"><span style="font-weight: bold;"></span></font></p><p style="line-height: 100%;"><font color="#000000">The
     94pre-compilation for the remote host (here the IBM-Regatta of HLRN) is done by</font><span style="font-family: monospace;"></span></p><div style="margin-left: 40px;"><span style="font-family: Courier New,Courier,monospace;">mbuild -h ibmh&nbsp;&nbsp;</span></div><p style="line-height: 100%;"><span style="font-family: Courier New,Courier,monospace;">mbuild
     95</span>will prompt some queries<font color="#000000">, which must all be
     96answered "y" by the user. The compiling process </font><font color="#000000">will take some time.<span style="font-family: Courier New,Courier,monospace;"> </span></font><font style="font-family: Courier New,Courier,monospace;" color="#000000">mbuild</font><font color="#000000"><span style="font-family: Courier New,Courier,monospace;"> </span>transfers the respective compiler calls to the remote
    18497host where they are carried out interactively. You can follow the
    18598progress at the terminal window, where also error messages
     
    187100entering </font>
    188101</p>
    189 <blockquote style="line-height: 100%;"><tt><font color="#000000">mbuild</font></tt></blockquote>
     102<blockquote style="line-height: 100%; font-family: Courier New,Courier,monospace;"><font color="#000000">mbuild</font></blockquote>
    190103<p style="line-height: 100%;"><font color="#000000">PALM will
    191104be (consecutively) pre-compiled for all remote hosts listed in
    192 the configuration file. </font>
     105the configuration file. If you want to compile for the local host only, please enter</font></p><p style="line-height: 100%; margin-left: 40px;"><font color="#000000"><span style="font-family: Courier New,Courier,monospace;">mbuild -h lcmuk</span> </font>
    193106</p>
    194 <p style="line-height: 100%;"><font color="#000000">As a last step,
     107<p style="line-height: 100%;"><font color="#000000"></font></p><p style="line-height: 100%; font-weight: bold; text-decoration: underline;"><font color="#000000">Installation Verification</font></p><p style="line-height: 100%;"><font color="#000000">As a last step,
    195108after the compilation has been finished, the PALM installation has to
    196109be verified. For this
    197110purpose a simple test run is carried out. This once again requires the <b>mrun
    198 </b>configuration file (described in </font><a href="chapter_3.2.html"><font
    199  color="#000080">chapter
    200 3.2</font></a><font color="#000000">), as well as the </font><a
    201  href="http://www.muk.uni-hannover.de/%7Eraasch/PALM_group/INSTALL/example_p3d"><font
    202  color="#000080">parameter
    203 file</font></a><font color="#000000"> (described in </font><a
    204  href="chapter_4.4.html"><font color="#000080">chapter
    205 4.4</font></a>)<font color="#000000">. The parameter file must be&nbsp;
    206 copied to<br>
     111</b>configuration file (described in </font><a href="chapter_3.2.html"><font color="#000080">chapter
     1123.2</font></a><font color="#000000">), as well as the </font><a href="http://www.muk.uni-hannover.de/%7Eraasch/PALM_group/INSTALL/example_p3d"><font color="#000080">parameter
     113file</font></a><font color="#000000"> (described in </font><a href="chapter_4.4.html"><font color="#000080">chapter
     1144.4</font></a>)<font color="#000000">. The parameter file must be
     115copied from the PALM working copy by<br>
    207116</font></p>
    208 <p style="line-height: 100%;"><tt><font color="#000000">&nbsp;&nbsp;&nbsp;
    209 ~/palm/current_version/JOBS/example/INPUT/example_p3d</font></tt><font
    210  color="#000000">&nbsp;&nbsp; .
    211 </font></p>
     117<div style="margin-left: 40px;"><span style="font-family: monospace;"></span><font style="font-family: Courier New,Courier,monospace;" color="#000000">mkdir -p JOBS/example/INPUT<br>cp trunk/INSTALL/example_p3d&nbsp;JOBS/example/INPUT/example_p3d</font><font color="#000000"><span style="font-family: Courier New,Courier,monospace;"></span></font></div>
    212118<p style="line-height: 100%;"><font color="#000000">The test run can
    213 now be started by entering the command: </font>
     119now be started by executing the command </font>
    214120</p>
    215 <pre
    216  style="margin-left: 1cm; margin-right: 1cm; margin-bottom: 0.5cm; line-height: 100%;"><font
    217  color="#000000">mrun -d example -h ibmh -K parallel -X 8 -T 8 -t 500 -q cdev -r “d3# pr#”</font></pre>
     121<pre style="margin-left: 1cm; margin-right: 1cm; margin-bottom: 0.5cm; line-height: 100%; font-family: Courier New,Courier,monospace;"><font color="#000000">mrun -d example -h ibmh -K parallel -X 8 -T 8 -t 500 -q cdev -r &ldquo;d3# pr#&rdquo;</font></pre>
    218122<p style="line-height: 100%;"><font color="#000000">This specific run
    219123will be carried out on 8 PEs and is allowed to use up to 500 seconds
    220124CPU time. After pressing &lt;return&gt;, the most important settings of
    221125the job are displayed at the terminal window
    222 and the user is prompted for o.k. (“</font><tt><font color="#000000">y</font></tt><font
    223  color="#000000">”).
    224 Afterwards a message of the queuing system like “<i>Request</i>
    225 
    226 <i>Submitted to queue
    227  by
    228 ” </i>should be displayed. Now the job is
    229 queued either started immediately or at a later time, depending on the
     126and the user is prompted for o.k. (&ldquo;</font><font style="font-family: Courier New,Courier,monospace;" color="#000000">y</font><font color="#000000">&rdquo;). Next, a message of the queuing system like &ldquo;<i>Request</i> &hellip;
     127<i>Submitted to queue&hellip; by&hellip;&rdquo; </i>should be displayed. Now the job is
     128queued and either started immediately or at a later time, depending on the
    230129current workload of the remote host. Provided that it is executed
    231130immediately and that all things work as designed, the job protocol of
    232 this run will appear under the file name </font><tt><font
    233  color="#000000">~/job_queue/ibmh_example</font></tt><font
    234  color="#000000"> no more than 3 minutes later. The content of this
     131this run will appear under the file name<span style="font-family: Courier New,Courier,monospace;"> </span></font><font style="font-family: Courier New,Courier,monospace;" color="#000000">~/job_queue/ibmh_example</font><font color="#000000"><span style="font-family: Courier New,Courier,monospace;"> </span>no more than a few minutes later. The content of this
    235132file should be carefully examined for any error messages.</font>
    236133</p>
     134
     135
    237136<p style="line-height: 100%;">Beside the job protocol and according to
    238137the configuration file and arguments given for <b>mrun</b>
    239 options <tt>-d</tt> and <tt>-r,</tt>further files should be found in
     138options<span style="font-family: Courier New,Courier,monospace;"> -d </span>and<span style="font-family: Courier New,Courier,monospace;"> -r</span><tt>,</tt>further files should be found in
    240139the
    241 directories<br>
    242 </p>
    243 <p style="line-height: 100%; font-family: monospace;">&nbsp;&nbsp;&nbsp;
    244 ~/palm/current_version/JOBS/example/MONITORING
    245 <br>
    246 </p>
    247 <p style="line-height: 100%;">and</p>
     140directories</p><div style="margin-left: 40px; font-family: Courier New,Courier,monospace;">~/palm/current_version/JOBS/example/MONITORING</div><p style="line-height: 100%;">and</p>
    248141<p style="line-height: 100%;"><span style="font-family: monospace;">&nbsp;&nbsp;&nbsp;
    249 ~/palm/current_version/JOBS/example/OUTPUT&nbsp; .
    250 </span><br>
     142</span><span style="font-family: Courier New,Courier,monospace;">~/palm/current_version/JOBS/example/OUTPUT</span><span style="font-family: monospace;"></span><br>
    251143</p>
    252144<p style="line-height: 100%;">Please compare the contents of file</p>
    253145<p style="line-height: 100%;"><span style="font-family: monospace;">&nbsp;&nbsp;&nbsp;
    254 ~/palm/current_version/JOBS/example/MONITORING/ibmh_example_rc</span><br>
     146</span><span style="font-family: Courier New,Courier,monospace;">~/palm/current_version/JOBS/example/MONITORING/ibmh_example_rc</span><br>
    255147</p>
    256 <p style="line-height: 100%;">with those of the <a
    257  href="http://www.muk.uni-hannover.de/%7Eraasch/PALM_group/INSTALL/example_rc">result
    258 example file</a> (e.g. with the help of the UNIX-command <span
    259  style="font-family: monospace;">diff</span>). There should be not a
    260 single difference between these two files. <font color="#000000">If
     148<p style="line-height: 100%;">with those of the example result file which can be found under<span style="font-family: Courier New,Courier,monospace;"> trunk/INSTALL/example_rc</span>., e.g. by using the<span style="font-family: Courier New,Courier,monospace;"><span style="font-family: Times New Roman,Times,serif;"> standard</span> diff </span>command:</p><p style="line-height: 100%; margin-left: 40px; font-family: Courier New,Courier,monospace;">diff &nbsp;JOBS/example/MONITORING/ibmh_example_rc trunk/INSTALL/example_rc</p><p style="line-height: 100%;">where it is assumed that your working directory is<span style="font-family: Courier New,Courier,monospace;"> ~/palm/current_version</span>.</p><p style="line-height: 100%;"><span style="font-weight: bold;">You should not find any difference between these two files</span>, except of the run date and time displayed at the top of the file header. <font color="#000000">If
    261149the file contents are identical, the installation is successfully
    262150completed.</font> </p>
     
    265153help you. &nbsp; </p>
    266154<hr>
    267 <p style="line-height: 100%;"><font color="#000080"><font
    268  color="#000080"><a href="chapter_4.6.html"><font color="#000080"><img
    269  src="left.gif" name="Grafik1" align="bottom" border="2" height="32"
    270  width="32"></font></a><a href="Inhaltsverzeichnis.html"><font
    271  color="#000080"><img src="up.gif" name="Grafik2" align="bottom"
    272  border="2" height="32" width="32"></font></a><a href="chapter_5.1.html"><font
    273  color="#000080"><img src="right.gif" name="Grafik3" align="bottom"
    274  border="2" height="32" width="32"></font></a></font></font></p>
    275 <p style="line-height: 100%;"><i>Last change:&nbsp;</i> 20/04/05 (SR) </p>
    276 </body>
    277 </html>
     155<p style="line-height: 100%;"><font color="#000080"><font color="#000080"><a href="chapter_4.6.html"><font color="#000080"><img src="left.gif" name="Grafik1" align="bottom" border="2" height="32" width="32"></font></a><a href="Inhaltsverzeichnis.html"><font color="#000080"><img src="up.gif" name="Grafik2" align="bottom" border="2" height="32" width="32"></font></a><a href="chapter_5.1.html"><font color="#000080"><img src="right.gif" name="Grafik3" align="bottom" border="2" height="32" width="32"></font></a></font></font></p>
     156<p style="line-height: 100%;"><i>Last change:&nbsp;</i> 02/03/07 (SR) </p>
     157</body></html>
  • palm/trunk/DOC/app/chapter_5.1.html

    r5 r40  
    1 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"><html><head>
     1<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
     2<html><head>
    23  <meta content="text/html; charset=windows-1252" http-equiv="CONTENT-TYPE"><title>PALM chapter 5.1</title>
    34 
     
    67  <meta content="20041103;12395815" name="CREATED">
    78  <meta content="20041119;12321236" name="CHANGED">
    8   <meta content="parallel LES model" name="KEYWORDS"></head>
    9 
    10 <body lang="en-US" dir="ltr">
    11 <h3>5.1 Installation of new versions</h3>
    12 <p>The PALM developer group announces code revisions within the
     9  <meta content="parallel LES model" name="KEYWORDS"></head><body dir="ltr" lang="en-US">
     10<h3>5.1 Installation of new / other versions</h3>
     11<p>The PALM&nbsp;group announces code revisions by emails send to the
     12PALM mailing list. If you like to be put on this list, just send an
     13email to <a href="mailto:raasch@muk.uni-hannover.de">raasch@muk.uni-hannover.de</a>. Details about new releases can be found in the
    1314<a href="../tec/technical_documentation.html">technical/numerical
    14 documentation</a>. Users can carry out version updates by changing into
    15 the working directory
    16 <span style="font-family: monospace;">~/palm/current_version/SOURCE</span>
    17 and entering </p>
    18 <ul>
    19   <pre style="margin-bottom: 0.5cm;">co *.f90.</pre>
    20 </ul>
    21 <p>This updates all source code files. </p>
    22 <p><b>Note:</b> if the user should have changed this source code, then
    23 these changes are certainly lost! This is one reason why
    24 modifications of the basic source code should be omitted and
     15documentation</a>. Users can easily make version updates by changing into
     16the working directory<span style="font-family: Courier New,Courier,monospace;">
     17~/palm/current_version
     18</span>and executing<span style="font-family: Courier New,Courier,monospace;"></span></p><p style="margin-left: 40px;"><span style="font-family: Courier New,Courier,monospace;">svn update</span></p><p><span style="font-family: Courier New,Courier,monospace;"></span>This updates all files in the PALM working copy in subdirectory<span style="font-family: Courier New,Courier,monospace;"> trunk</span>. The update may fail due&nbsp;the&nbsp;<span style="font-weight: bold;">subversion</span> rules, if you have modified the contents of<span style="font-family: Courier New,Courier,monospace;"> trunk</span>. In case of any conflicts, please refer to the <span style="font-weight: bold;">subversion</span> documentation on how to remove them.&nbsp;In order to avoid such conflicts, modifications of the default PALM code should be omitted and
    2519be restricted to the user-interface only
    2620(see <a href="chapter_3.5.html">chapter
    27 3.5</a>). </p>
    28 <p>After updating the source code the pre-compiled code must be updated
    29 via </p>
    30 <ul>
    31   <pre style="margin-bottom: 0.5cm;">mbuild -h ibmh</pre>
     213.5</a>).</p>
     22<ul style="font-family: Courier New,Courier,monospace;">
    3223</ul>
    33 <p>on the IBM-Regatta "hanni" of the HLRN or via</p>
    34 <blockquote style="font-family: monospace;">mbuild</blockquote>
    35 <p>on all remote hosts listed in the configuration file
    36 <span style="font-family: monospace;">.mrun.config</span>. </p>
     24
     25<p>Alternatively, you can install new or other releases in a different directory, eg.</p><p style="margin-left: 40px;"><span style="font-family: Courier New,Courier,monospace;">mkdir ~/palm/release-3.1c</span><br style="font-family: Courier New,Courier,monospace;"><span style="font-family: Courier New,Courier,monospace;">cd ~/palm/release-3.1c</span><br style="font-family: Courier New,Courier,monospace;"><span style="font-family: Courier New,Courier,monospace;">svn checkout --username &lt;your username&gt; svn://130.75.105.45:palm/tags/release-3.1c trunk</span></p>
     26<p>However, this would require to carry out again the complete
     27installation process described in chapter 5.0. So far, differet
     28versions of PALM cannot be used at the same time.</p><p>After updating the working copy, please check for any differences between your current configuration file (<span style="font-family: Courier New,Courier,monospace;">.mrun.config</span>) and the default configuration file under<span style="font-family: Courier New,Courier,monospace;"> trunk/SCRIPTS/.mrun.config.default </span>and adjust your current file, if neccessary.</p><p>The scripts and the pre-compiled code must then be updated
     29via</p><div style="margin-left: 40px; font-family: Courier New,Courier,monospace;">mbuild -u -h lcmuk<br>mbuild -u -h ibmh<br>mbuild -h ibmh</div><p>or via</p>
     30<ul style="font-family: Courier New,Courier,monospace;">
     31</ul>
     32
     33<blockquote style="font-family: Courier New,Courier,monospace;">mbuild -u<br>mbuild</blockquote>
     34<p>on all remote hosts listed in the configuration file<span style="font-family: Courier New,Courier,monospace;">
     35.mrun.config</span>. </p>
    3736<p>As a last step, a suitable test run should be carried out. It should
    3837be carefully examined whether and how the results created by the new
     
    4039which go beyond the ones announced in the <a href="../tec/technical_documentation.html">technical/numerical
    4140documentation</a>
    42 should be communicated as soon as possible to the PALM developer group.
     41should be communicated as soon as possible to the PALM group.
    4342</p>
    4443<hr>
    4544<p><br>
    46 <font color="#000080"><font color="#000080"><a href="chapter_5.0.html"><font color="#000080"><img width="32" height="32" border="2" align="bottom" name="Grafik1" src="left.gif"></font></a><a href="index.html"><font color="#000080"><img width="32" height="32" border="2" align="bottom" name="Grafik2" src="up.gif"></font></a></font></font><br>
     45<font color="#000080"><font color="#000080"><a href="chapter_5.0.html"><font color="#000080"><img name="Grafik1" src="left.gif" align="bottom" border="2" height="32" width="32"></font></a><a href="index.html"><font color="#000080"><img name="Grafik2" src="up.gif" align="bottom" border="2" height="32" width="32"></font></a></font></font><br>
    4746&nbsp;
    4847<br>
    49 &nbsp;<span style="font-style: italic;">Last change:</span> 20/04/05
     48&nbsp;<span style="font-style: italic;">Last change:</span> 02/03/07
    5049(SR)<br>
    5150</p>
  • palm/trunk/DOC/tec/technical_documentation.html

    r5 r40  
    4949      <td nosave=""><b>Current model version:</b></td>
    5050
    51       <td><span style="font-weight: bold;">3.1b</span></td>
     51      <td><span style="font-weight: bold;">3.1c</span></td>
    5252
    5353    </tr>
     
    5757      <td nosave=""><b>Last change of this document</b>:&nbsp;</td>
    5858
    59       <td nosave=""><b>11/02/07</b></td>
     59      <td nosave=""><b>02/03/07</b></td>
    6060
    6161    </tr>
     
    43334333instead of cartesian (x,y) coordinate to check for transfer because
    43344334this failed under very rare conditions, calculation of number of
    4335 particles with same radius as the current particle (cloud droplet code).<br><br>Allocation of <span style="font-family: monospace;">tail_mask</span> and <span style="font-family: monospace;">new_tail_id</span> in case of restart-runs. "__" added in a cpp-directive. (both <span style="font-family: monospace;">init_particles</span>)</td><td style="vertical-align: top;">advec_particles, init_particles</td></tr>
     4335particles with same radius as the current particle (cloud droplet code).<br><br>Allocation of <span style="font-family: monospace;">tail_mask</span> and <span style="font-family: monospace;">new_tail_id</span> in case of restart-runs. "__" added in a cpp-directive. (both <span style="font-family: monospace;">init_particles</span>)</td><td style="vertical-align: top;">advec_particles, init_particles</td></tr><tr><td style="vertical-align: top;">02/03/07</td><td style="vertical-align: top;">SR</td><td style="vertical-align: top;">3.1c</td><td style="vertical-align: top;">N</td><td style="vertical-align: top;">A heatflux can be prescribed at the top with new inipar parameters <span style="font-family: monospace;">top_heatflux</span> and <span style="font-family: monospace;">use_top_fluxes</span>. New 2d-arrays <span style="font-family: monospace;">qswst</span>, <span style="font-family: monospace;">qswst_m</span>, <span style="font-family: monospace;">tswst</span> and <span style="font-family: monospace;">tswst_m</span> are used to store this flux. Use of fluxes are controlled with new index variable <span style="font-family: monospace;">nzt_diff</span>. A Neumann boundary condition for temperature can be applied under these conditions.<br><br>Additionally, a Dirichlet condition for temperature can be used at the top.<br></td><td style="vertical-align: top;">check_parameters,
     4336diffusion_s, flow_statistics, header, init_grid, init_3d_model,
     4337modules, parin, production_e, prognostic_equations, read_var_list,
     4338read_3d_binary, swap_timelevel, write_var_list, write_3d_binary</td></tr><tr><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td style="vertical-align: top;">C</td><td style="vertical-align: top;">Prognostic equations for all scalars are now solved up to gridpoint <span style="font-family: monospace;">nzt</span> (formerly <span style="font-family: monospace;">nzt-1</span>). Boundary conditions for scalars at top adjusted respectively (now applied only at <span style="font-family: monospace;">nzt+1</span>).<br><br>The default top boundary condition for temperature has been renamed to <span style="font-style: italic;">'initial_gradient'</span>.<br><br>Calls of <span style="font-family: monospace;">dvrp_output_local</span>, which were commented out for a long time, are now activated for all streams.</td><td style="vertical-align: top;">advec_s_pw,
     4339boundary_conds, calc_precipitation, check_parameters, diffusion_e,
     4340diffusion_s, impact_of_latent_heat, init_dvrp, init_pt_anomaly,
     4341modules, production_e, prognostic_equations, spline_z</td></tr><tr><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td style="vertical-align: top;">E</td><td style="vertical-align: top;">Bugfix: 3d-array <span style="font-family: monospace;">p</span> is not a pointer any more.<br><br>Bugfix in <span style="font-family: monospace;">init_particles</span>: <span style="font-family: monospace;">MPI_REAL</span> argument in <span style="font-family: monospace;">MPI_ALLREDUCE</span> replaced by<br><span style="font-family: monospace;">MPI_INTEGER</span> (caused error on NEC only).<br><br>Bugfix:&nbsp; <span style="font-family: monospace;">ddzw</span> now dimensioned <span style="font-family: monospace;">1:nzt"+1".</span></td><td style="vertical-align: top;">diffusion_e, diffusion_s, diffusion_u, diffusion_v, diffusion_w, init_particles, modules</td></tr>
    43364342
    43374343 
  • palm/trunk/SCRIPTS/.mrun.config.default

    r36 r40  
    33#----------------------------------------------------------------------------
    44%mainprog          palm.f90
    5 #%base_directory    $HOME/palm/current_version
    6 #%base_data         ~/palm/current_version/JOBS
    7 #%source_path       $base_directory/SOURCE
     5%base_directory    $HOME/palm/current_version
     6%base_data         ~/palm/current_version/JOBS
     7%source_path       $base_directory/trunk/SOURCE
    88%add_source_path   $base_directory/USER_CODE/$fname
    99%depository_path   $base_directory/MAKE_DEPOSITORY
    1010%use_makefile      true
    1111#
    12 %remote_username   raasch                                        lcmuk parallel
     12#%remote_username   <replace by your linux cluster username>     lcmuk parallel
    1313%tmp_user_catalog  /tmp                                          lcmuk parallel
    1414%compiler_name     mpif90                                        lcmuk parallel
     
    1818#%hostfile          $base_directory/.hostfile                    lcmuk parallel
    1919#
    20 %remote_username   raasch                                        lcmuk
     20#%remote_username  <replace by your linux cluster username>      lcmuk
    2121%tmp_user_catalog  /tmp                                          lcmuk
    2222%compiler_name     ifort                                         lcmuk
     
    2424%lopts             -axW:-cpp:-r8:-nbs:-Vaxlib                    lcmuk
    2525#
    26 %remote_username   raasch                                        lcmuk trace
     26#%remote_username  <replace by your linux cluster username>      lcmuk trace
    2727%tmp_user_catalog  /tmp                                          lcmuk trace
    2828%compiler_name     ifort                                         lcmuk trace
     
    3030%lopts             -axW:-cpp:-g:-CB:-inline_debug_info:-r8:-nbs:-Vaxlib                    lcmuk trace
    3131#
     32#%remote_username   <replace by your HLRN username>           ibmh parallel
    3233%compiler_name     mpxlf95_r                                  ibmh parallel
    3334%compiler_name_ser xlf95                                      ibmh parallel
     
    3738%cpumax            1000                                       ibmh parallel
    3839%numprocs          4                                          ibmh parallel
    39 %remote_username   niksiraa                                   ibmh parallel
    40 %tmp_data_catalog  /fastfs/work/niksiraa/palm_restart_data    ibmh parallel
    41 %tmp_user_catalog  /fastfs/work/niksiraa                      ibmh parallel
    42 %email_notification  raasch@muk.uni-hannover.de               ibmh parallel
    43 #
     40#%tmp_data_catalog  /fastfs/work/<replace by your HLRN username>/palm_restart_data    ibmh parallel
     41#%email_notification  <replace by your email addres>          ibmh parallel
     42#
     43#%remote_username   <replace by your HLRN username>           ibmh parallel debug
    4444%compiler_name     mpxlf95_r                                  ibmh parallel debug
    4545%compiler_name_ser xlf95                                      ibmh parallel debug
     
    4949%cpumax            1000                                       ibmh parallel debug
    5050%numprocs          4                                          ibmh parallel debug
    51 %remote_username   niksiraa                                   ibmh parallel debug
    52 %tmp_data_catalog  /fastfs/work/niksiraa/palm_restart_data    ibmh parallel debug
    53 #
    54 %compiler_name     mpxlf95_r                                  ibmh parallel trace
    55 %compiler_name_ser xlf95                                      ibmh parallel trace
    56 %fopts             -qnoopt:-g:-C:-qinitauto=FFFFFFFF:-qrealsize=8:-Q:-q64:-qmaxmem=-1:-qnosave:-qnoescape:-qflttrap=overflow::zerodivide::invalid::enable:-qsigtrap    ibmh parallel trace
    57 %lopts             -qnoopt:-g:-C:-qinitauto=FFFFFFFF:-qrealsize=8:-Q:-q64:-qmaxmem=-1:-qnosave:-qnoescape:-qflttrap=overflow::zerodivide::invalid::enable:-qsigtrap:-lesslsmp  ibmh parallel trace
    58 %memory            1000                                       ibmh parallel trace
    59 %cpumax            1000                                       ibmh parallel trace
    60 %numprocs          4                                          ibmh parallel trace
    61 %remote_username   niksiraa                                   ibmh parallel trace
    62 %tmp_data_catalog  /fastfs/work/niksiraa/palm_restart_data    ibmh parallel trace
    63 #
    64 %compiler_name     mpxlf95_r                                  ibmh parallel hpmcount
    65 %compiler_name_ser xlf95                                      ibmh parallel hpmcount
    66 %fopts             -O3:-g:-qrealsize=8:-Q:-q64:-qmaxmem=-1:-qtune=pwr4:-qsmp=omp:-qarch=pwr4:-qnosave:-qnoescape    ibmh parallel hpmcount
    67 %lopts             -O3:-g:-qrealsize=8:-Q:-q64:-qmaxmem=-1:-qtune=pwr4:-qsmp=omp:-qarch=pwr4:-qnosave:-qnoescape:-lesslsmp  ibmh parallel hpmcount
    68 %memory            1000                                       ibmh parallel hpmcount
    69 %cpumax            1000                                       ibmh parallel hpmcount
    70 %numprocs          4                                          ibmh parallel hpmcount
    71 %remote_username   niksiraa                                   ibmh parallel hpmcount
    72 %tmp_data_catalog  /fastfs/work/niksiraa/palm_restart_data    ibmh parallel hpmcount
    73 %email_notification  raasch@muk.uni-hannover.de               ibmh parallel hpmcount
    74 #
     51#%tmp_data_catalog  /fastfs/work/<replace by your HLRN username>/palm_restart_data    ibmh parallel debug
     52#
     53#%remote_username   <replace by your HLRN username>           ibmb parallel
    7554%compiler_name     mpxlf95_r                                  ibmb parallel
    7655%compiler_name_ser xlf95                                      ibmb parallel
     
    8059%cpumax            1000                                       ibmb parallel
    8160%numprocs          4                                          ibmb parallel
    82 %remote_username   niksiraa                                   ibmb parallel
    83 %tmp_data_catalog  /fastfs/work/niksiraa/palm_restart_data    ibmb parallel
    84 #
    85 %compiler_name     mpxlf95_r                                  ibmb parallel deb
    86 %compiler_name_ser xlf95                                      ibmb parallel deb
    87 %fopts             -qnoopt:-g:-C:-qinitauto=FFFFFFFF:-qrealsize=8:-Q:-q64:-qmaxmem=-1:-qnosave:-qnoescape:-qflttrap=overflow::zerodivide::invalid::enable:-qsigtrap    ibmb parallel deb
    88 %lopts             -qnoopt:-g:-C:-qinitauto=FFFFFFFF:-qrealsize=8:-Q:-q64:-qmaxmem=-1:-qnosave:-qnoescape:-qflttrap=overflow::zerodivide::invalid::enable:-qsigtrap:-lesslsmp  ibmb parallel deb
    89 %memory            1000                                       ibmb parallel deb
    90 %cpumax            1000                                       ibmb parallel deb
    91 %numprocs          4                                          ibmb parallel deb
    92 %remote_username   niksiraa                                   ibmb parallel deb
    93 %tmp_data_catalog  /fastfs/work/niksiraa/palm_restart_data    ibmb parallel deb
    94 #
     61#%tmp_data_catalog  /fastfs/work/<replace by your HLRN username>/palm_restart_data    ibmh parallel debug
     62#
     63#%remote_username   <replace by your DKRZ username>           nech parallel
    9564%compiler_name     sxmpif90                                   nech parallel
    9665%compiler_name_ser sxf90                                      nech parallel
     
    10170%numprocs          4                                          nech parallel
    10271%tmp_data_catalog  $WRKSHR/palm_restart_data                  nech parallel
    103 %remote_username   b323011                                    nech parallel
    104 %email_notification  raasch@muk.uni-hannover.de               nech parallel
    105 #
     72#%email_notification  <replace by your email addres>          nech parallel
     73#
     74#%remote_username   <replace by your NEC-username>             neck parallel
    10675%compiler_name     sxmpif90                                   neck parallel
    10776%compiler_name_ser sxf90                                      neck parallel
     
    11180%cpumax            1000                                       neck parallel
    11281%numprocs          4                                          neck parallel
    113 #%tmp_user_catalog  <replace by your temporary directory>      neck parallel
    114 #%tmp_data_catalog  <replace by your temp. dir.> /palm_restart_data   neck parallel
    115 #%remote_username   <replace by your NEC-username>             neck parallel
    116 #%email_notification  tatuyama@gelgoog                         neck parallel
    117 #
    118 %remote_username   raasch                                     decalpha parallel
    119 %tmp_user_catalog  /usr2/users/raasch/work                    decalpha parallel
    120 %tmp_data_catalog  /usr2/users/raasch/work/palm_restart_data  decalpha parallel
    121 %compiler_name     f95                                        decalpha parallel
    122 %fopts             -fast:-r8                                  decalpha parallel
    123 %lopts             -fast:-r8:-lfmpi:-lmpi                     decalpha parallel
    124 %memory            100                                        decalpha parallel
    125 %cpumax            100                                        decalpha parallel
    126 #
    127 %source_path       /edun/z051nyg/palm/current_version/SOURCE  ibms parallel
    128 %compiler_name     mpxlf95_r                                  ibms parallel
    129 %compiler_name_ser xlf95                                      ibms parallel
    130 %fopts             -O3:-g:-qrealsize=8:-Q:-q64:-qmaxmem=-1:-qtune=pwr4:-qsmp=omp:-qarch=pwr4:-qnosave:-qnoescape    ibms parallel
    131 %lopts             -O3:-g:-qrealsize=8:-Q:-q64:-qmaxmem=-1:-qtune=pwr4:-qsmp=omp:-qarch=pwr4:-qnosave:-qnoescape:-lesslsmp  ibms parallel
    132 %memory            1000                                       ibms parallel
    133 %cpumax            1000                                       ibms parallel
    134 %numprocs          4                                          ibms parallel
    135 %remote_username   z051nyg                                    ibms parallel
    136 %tmp_data_catalog  /edun/z051nyg/work                         ibms parallel
    137 %tmp_user_catalog  /edun/z051nyg/work                         ibms parallel
    138 #%tmp_data_catalog  /xtmp1                                     ibms parallel
    139 #%tmp_user_catalog  /xtmp1                                     ibms parallel
    140 %email_notification  raasch@muk.uni-hannover.de               ibms parallel
     82#%tmp_user_catalog  <replace by your temporary directory>     neck parallel
     83#%tmp_data_catalog  <replace by your temp. dir.>/palm_restart_data   neck parallel
    14184#
    14285%source_path       $base_directory/SOURCE                     ibmy parallel
  • palm/trunk/SCRIPTS/mbuild

    r35 r40  
    11#!/bin/ksh
    2 # mbuild - Programmuebersetzungsscript   Version:  @(#)MBUILD 1.0    28/02/07
     2# mbuild - Programmuebersetzungsscript   Version:  @(#)MBUILD 1.0    02/03/07
    33
    44     # Prozedur zur Uebersetzung von Programmteilen mittels make-Mechanismus
     
    7979     # 07/02/07 - Siggi - adapted for RIAM (neck)
    8080     # 10/02/07 - Siggi - all hpmuk-related code removed
    81      # 28/02/07 - Siggi - compilation of utility programs and transfer of
     81     # 02/03/07 - Siggi - compilation of utility programs and transfer of
    8282     #                    scripts to remote hosts added (option -u)
    8383
     
    359359
    360360
    361  cd  $local_source_path
    362 
    363 
    364     # LISTE DER ZU PRUEFENDEN QUELLTEXTDATEIEN ERSTELLEN
    365  source_code_files=`ls -1  *.$suf`
    366 
    367 
    368 
    369     # VERZEICHNIS FUER DAS MAKE-DEPOSITORY ERZEUGEN,
    370     # FALLS NOCH NICHT VORHANDEN. ANSONSTEN ALLE DATEIEN
    371     # NEUEREN DATUMS IN DIESES VERZEICHNIS KOPIEREN
    372  if [[ ! -d $local_depository_path ]]
     361 if [[ $compile_utility_programs = false ]]
    373362 then
    374     if  mkdir $local_depository_path
    375     then
    376        printf "\n\n  *** directory for make depository:"
    377        printf "\n           $local_depository_path"
    378        printf "\n      was created\n"
    379 
    380           # MAKEFILE UND QUELLTEXTDATEIEN UNTER BEIBEHALTUNG
    381           # IHRES DATUMS INS VERZEICHNIS KOPIEREN
    382        printf "\n  *** makefile and source code files are copied to"
    383        printf "\n      $local_depository_path\n"
    384        printf "\n      copying makefile \"$makefile\" ..."
    385        cp -p  $makefile  $local_depository_path/Makefile
    386 
    387           # QUELLTEXTDATEIEN MUESSEN IM MAKEFILE AUFGEFUEHRT
    388           # SEIN
     363
     364    cd  $local_source_path
     365
     366
     367       # LISTE DER ZU PRUEFENDEN QUELLTEXTDATEIEN ERSTELLEN
     368    source_code_files=`ls -1  *.$suf`
     369
     370
     371
     372       # VERZEICHNIS FUER DAS MAKE-DEPOSITORY ERZEUGEN,
     373       # FALLS NOCH NICHT VORHANDEN. ANSONSTEN ALLE DATEIEN
     374       # NEUEREN DATUMS IN DIESES VERZEICHNIS KOPIEREN
     375    if [[ ! -d $local_depository_path ]]
     376    then
     377       if  mkdir $local_depository_path
     378       then
     379          printf "\n\n  *** directory for make depository:"
     380          printf "\n           $local_depository_path"
     381          printf "\n      was created\n"
     382
     383             # MAKEFILE UND QUELLTEXTDATEIEN UNTER BEIBEHALTUNG
     384             # IHRES DATUMS INS VERZEICHNIS KOPIEREN
     385          printf "\n  *** makefile and source code files are copied to"
     386          printf "\n      $local_depository_path\n"
     387          printf "\n      copying makefile \"$makefile\" ..."
     388          cp -p  $makefile  $local_depository_path/Makefile
     389
     390             # QUELLTEXTDATEIEN MUESSEN IM MAKEFILE AUFGEFUEHRT
     391             # SEIN
     392          for  filename  in  $source_code_files
     393          do
     394             if [[ $(grep -c $filename  $makefile) = 0 ]]
     395             then
     396                printf "\n  +++ source code file:"
     397                printf "\n         $filename"
     398                printf "\n      is not listed in makefile"
     399                locat=makefile; exit
     400             else
     401                printf "\n      copying source code file \"$filename\" ..."
     402                cp -p  $filename  $local_depository_path
     403             fi
     404          done
     405          printf "\n"
     406       else
     407          printf "\n  +++ directory for make depository:"
     408          printf "\n           $local_depository_path"
     409          printf "\n      cannot be created"
     410          locat=local_depository_path; exit
     411       fi
     412    else
     413 
     414       printf "\n  *** checking file status ..."
     415
     416          # MAKEFILE KOPIEREN, FALLS NEUEREN DATUMS
     417       if [[ $makefile -nt $local_depository_path/Makefile ]]
     418       then
     419          printf "\n  *** update of \"$makefile\" "
     420          cp -f -p  $makefile  $local_depository_path/Makefile
     421          update=true
     422
     423             # PRUEFEN, OB ALLE DATEIEN IM DEPOSITORY AUCH IM NEUEN MAKEFILE
     424             # VERZEICHNET SIND UND GEGEBENENFALLS DATEIEN LOESCHEN
     425          cd  $local_depository_path
     426          source_code_files_in_depository=`ls -1  *.$suf`
     427          for  filename  in  $source_code_files_in_depository
     428          do
     429             if [[ $(grep -c $filename  Makefile) = 0 ]]
     430             then
     431                printf "\n  *** source code file in \"$local_depository_path\":"
     432                printf "\n         $filename"
     433                printf "\n      is not listed in makefile"
     434                if [[ $silent = false ]]
     435                then
     436                   answer=dummy
     437                   printf "\n\n"
     438                   while [[ "$answer" != y  &&  "$answer" != Y  &&  "$answer" != n  &&  "$answer" != N ]]
     439                   do
     440                      printf " >>> delete \"$filename\" in \"$local_depository_path\" (y/n) ?  "
     441                      read  answer
     442                   done
     443                   if [[ $answer = y  ||  $answer = Y ]]
     444                   then
     445                      base=`echo $filename | cut -d. -f2`
     446                      rm -f  $filename
     447                      rm -f  ${base}.o  ${base}.mod
     448                      printf "\n  *** \"$filename\" deleted in \"$local_depository_path\" "
     449                   else
     450                      printf "\n  *** \"$filename\" not deleted in \"$local_depository_path\" "
     451                   fi
     452                fi
     453             fi
     454          done
     455          cd  -  > /dev/null  2>&1
     456
     457       elif [[ $local_depository_path/Makefile -nt $makefile ]]
     458       then
     459          printf "\n  *** makefile in depository is newer than"
     460          printf "\n      \"$makefile\" "
     461          if [[ $silent = false ]]
     462          then
     463             answer=dummy
     464             printf "\n\n"
     465             while [[ "$answer" != y  &&  "$answer" != Y  &&  "$answer" != n  &&  "$answer" != N ]]
     466             do
     467                printf " >>> update \"$makefile\" (y/n) ?  "
     468                read  answer
     469             done
     470             if [[ $answer = y  ||  $answer = Y ]]
     471             then
     472                cp -f -p  $local_depository_path/Makefile  $makefile
     473                printf "\n  *** \"$makefile\" updated"
     474             else
     475                printf "\n  *** \"$makefile\" not updated"
     476             fi
     477          fi
     478       fi
     479
     480          # QUELLTEXTDATEIEN KOPIEREN, FALLS NEUEREN DATUMS
     481          # SIE MUESSEN IM MAKEFILE AUFGEFUEHRT SEIN
    389482       for  filename  in  $source_code_files
    390483       do
     
    396489             locat=makefile; exit
    397490          else
    398              printf "\n      copying source code file \"$filename\" ..."
    399              cp -p  $filename  $local_depository_path
     491             if [[ ! -f $local_depository_path/$filename ]]
     492             then
     493                cp -p  $filename  $local_depository_path
     494                printf "\n  *** source code file \"$filename\" created in \"$local_depository_path\" "
     495             fi
     496             if [[ $filename -nt $local_depository_path/$filename ]]
     497             then
     498                printf "\n  *** update of source code file \"$filename\" "
     499                cp -f -p  $filename  $local_depository_path
     500                update=true
     501             fi
    400502          fi
    401503       done
    402        printf "\n"
    403     else
    404        printf "\n  +++ directory for make depository:"
    405        printf "\n           $local_depository_path"
    406        printf "\n      cannot be created"
    407        locat=local_depository_path; exit
    408     fi
    409  else
    410  
    411     printf "\n  *** checking file status ..."
    412 
    413        # MAKEFILE KOPIEREN, FALLS NEUEREN DATUMS
    414     if [[ $makefile -nt $local_depository_path/Makefile ]]
    415     then
    416        printf "\n  *** update of \"$makefile\" "
    417        cp -f -p  $makefile  $local_depository_path/Makefile
    418        update=true
    419 
    420           # PRUEFEN, OB ALLE DATEIEN IM DEPOSITORY AUCH IM NEUEN MAKEFILE
    421           # VERZEICHNET SIND UND GEGEBENENFALLS DATEIEN LOESCHEN
     504
     505
     506          # PRUEFEN, OB ALLE DATEIEN IM DEPOSITORY IM AKTUELLEN ARBEITSVERZEICHNIS VORHANDEN
     507          # ODER EVTL. NEUEREN DATUMS SIND
    422508       cd  $local_depository_path
    423509       source_code_files_in_depository=`ls -1  *.$suf`
     510       cd  -  > /dev/null  2>&1
    424511       for  filename  in  $source_code_files_in_depository
    425512       do
    426           if [[ $(grep -c $filename  Makefile) = 0 ]]
     513          if [[ ! -f $filename ]]
    427514          then
    428              printf "\n  *** source code file in \"$local_depository_path\":"
    429              printf "\n         $filename"
    430              printf "\n      is not listed in makefile"
     515             printf "\n  *** source code file \"$filename\" does not exist in current directory"
    431516             if [[ $silent = false ]]
    432517             then
     
    435520                while [[ "$answer" != y  &&  "$answer" != Y  &&  "$answer" != n  &&  "$answer" != N ]]
    436521                do
    437                    printf " >>> delete \"$filename\" in \"$local_depository_path\" (y/n) ?  "
     522                   printf " >>> create \"$filename\" in current directory (y/n) ?  "
    438523                   read  answer
    439524                done
    440525                if [[ $answer = y  ||  $answer = Y ]]
    441526                then
    442                    base=`echo $filename | cut -d. -f2`
    443                    rm -f  $filename
    444                    rm -f  ${base}.o  ${base}.mod
    445                    printf "\n  *** \"$filename\" deleted in \"$local_depository_path\" "
     527                   cp -p  $local_depository_path/$filename  $filename
     528                   printf "\n  *** source code file \"$filename\" created in current directory"
    446529                else
    447                    printf "\n  *** \"$filename\" not deleted in \"$local_depository_path\" "
     530                   printf "\n  *** source code file \"$filename\" not created in current directory"
     531                fi
     532             fi
     533          elif [[ $local_depository_path/$filename -nt $filename ]]
     534          then
     535             ls -al $local_depository_path/$filename
     536             ls -al $filename
     537             printf "\n  *** source code file \"$filename\" in depository is newer than in current directory"
     538             if [[ $silent = false ]]
     539             then
     540                answer=dummy
     541                printf "\n\n"
     542                while [[ "$answer" != y  &&  "$answer" != Y  &&  "$answer" != n  &&  "$answer" != N ]]
     543                do
     544                   printf " >>> update \"$filename\" in current directory (y/n) ?  "
     545                   read  answer
     546                done
     547                if [[ $answer = y  ||  $answer = Y ]]
     548                then
     549                   cp -f -p  $local_depository_path/$filename  $filename
     550                   printf "\n  *** source code file \"$filename\" updated in current directory"
     551                else
     552                   printf "\n  *** source code file \"$filename\" not updated in current directory"
    448553                fi
    449554             fi
    450555          fi
    451556       done
    452        cd  -  > /dev/null  2>&1
    453 
    454     elif [[ $local_depository_path/Makefile -nt $makefile ]]
    455     then
    456        printf "\n  *** makefile in depository is newer than"
    457        printf "\n      \"$makefile\" "
    458        if [[ $silent = false ]]
    459        then
    460           answer=dummy
    461           printf "\n\n"
    462           while [[ "$answer" != y  &&  "$answer" != Y  &&  "$answer" != n  &&  "$answer" != N ]]
    463           do
    464              printf " >>> update \"$makefile\" (y/n) ?  "
    465              read  answer
    466           done
    467           if [[ $answer = y  ||  $answer = Y ]]
    468           then
    469              cp -f -p  $local_depository_path/Makefile  $makefile
    470              printf "\n  *** \"$makefile\" updated"
    471           else
    472              printf "\n  *** \"$makefile\" not updated"
    473           fi
    474        fi
    475     fi
    476 
    477        # QUELLTEXTDATEIEN KOPIEREN, FALLS NEUEREN DATUMS
    478        # SIE MUESSEN IM MAKEFILE AUFGEFUEHRT SEIN
    479     for  filename  in  $source_code_files
    480     do
    481        if [[ $(grep -c $filename  $makefile) = 0 ]]
    482        then
    483           printf "\n  +++ source code file:"
    484           printf "\n         $filename"
    485           printf "\n      is not listed in makefile"
    486           locat=makefile; exit
    487        else
    488           if [[ ! -f $local_depository_path/$filename ]]
    489           then
    490              cp -p  $filename  $local_depository_path
    491              printf "\n  *** source code file \"$filename\" created in \"$local_depository_path\" "
    492           fi
    493           if [[ $filename -nt $local_depository_path/$filename ]]
    494           then
    495              printf "\n  *** update of source code file \"$filename\" "
    496              cp -f -p  $filename  $local_depository_path
    497              update=true
    498           fi
    499        fi
    500     done
    501 
    502 
    503        # PRUEFEN, OB ALLE DATEIEN IM DEPOSITORY IM AKTUELLEN ARBEITSVERZEICHNIS VORHANDEN
    504        # ODER EVTL. NEUEREN DATUMS SIND
    505     cd  $local_depository_path
    506     source_code_files_in_depository=`ls -1  *.$suf`
    507     cd  -  > /dev/null  2>&1
    508     for  filename  in  $source_code_files_in_depository
    509     do
    510        if [[ ! -f $filename ]]
    511        then
    512           printf "\n  *** source code file \"$filename\" does not exist in current directory"
     557
     558       if [[ $update = false ]]
     559       then
     560          printf "\n  *** no updates necessary in \"$local_depository_path\" "
    513561          if [[ $silent = false ]]
    514562          then
     
    517565             while [[ "$answer" != y  &&  "$answer" != Y  &&  "$answer" != n  &&  "$answer" != N ]]
    518566             do
    519                 printf " >>> create \"$filename\" in current directory (y/n) ?  "
     567                printf " >>> continue with updates on remote hosts (y/n) ?  "
    520568                read  answer
    521569             done
    522              if [[ $answer = y  ||  $answer = Y ]]
    523              then
    524                 cp -p  $local_depository_path/$filename  $filename
    525                 printf "\n  *** source code file \"$filename\" created in current directory"
    526              else
    527                 printf "\n  *** source code file \"$filename\" not created in current directory"
     570             if [[ $answer = n  ||  $answer = N ]]
     571             then
     572                locat=user_abort; exit
    528573             fi
    529574          fi
    530        elif [[ $local_depository_path/$filename -nt $filename ]]
    531        then
    532           ls -al $local_depository_path/$filename
    533           ls -al $filename
    534           printf "\n  *** source code file \"$filename\" in depository is newer than in current directory"
    535           if [[ $silent = false ]]
    536           then
    537              answer=dummy
    538              printf "\n\n"
    539              while [[ "$answer" != y  &&  "$answer" != Y  &&  "$answer" != n  &&  "$answer" != N ]]
    540              do
    541                 printf " >>> update \"$filename\" in current directory (y/n) ?  "
    542                 read  answer
    543              done
    544              if [[ $answer = y  ||  $answer = Y ]]
    545              then
    546                 cp -f -p  $local_depository_path/$filename  $filename
    547                 printf "\n  *** source code file \"$filename\" updated in current directory"
    548              else
    549                 printf "\n  *** source code file \"$filename\" not updated in current directory"
    550              fi
    551           fi
    552        fi
    553     done
    554 
    555     if [[ $update = false ]]
    556     then
    557        printf "\n  *** no updates necessary in \"$local_depository_path\" "
    558        if [[ $silent = false ]]
    559        then
    560           answer=dummy
    561           printf "\n\n"
    562           while [[ "$answer" != y  &&  "$answer" != Y  &&  "$answer" != n  &&  "$answer" != N ]]
    563           do
    564              printf " >>> continue with updates on remote hosts (y/n) ?  "
    565              read  answer
    566           done
    567           if [[ $answer = n  ||  $answer = N ]]
    568           then
    569              locat=user_abort; exit
    570           fi
    571        fi
    572     fi
     575       fi
     576    fi
     577 
     578
     579 
     580       # QUELLTEXTDATEIEN UND MAKEFILE MIT TAR ZUSAMMENBINDEN
     581       # IN JEDEM FALL ALLEN DATEIEN WRITE-PERMIT GEBEN, DAMIT ES AUF
     582       # DEN REMOTE-RECHNERN NICHT EVTL. ZU PROBLEMEN BEIM UEBERSCHREIBEN KOMMT
     583    printf "\n\n  *** tar of makefile and source files in depository ..." 
     584    cd  $local_depository_path
     585    chmod u+w  Makefile  *.$suf
     586    tar -cf  ${mainprog}_sources.tar  Makefile  *.$suf
     587    printf "\n"
     588
    573589 fi
    574  
    575 
    576  
    577     # QUELLTEXTDATEIEN UND MAKEFILE MIT TAR ZUSAMMENBINDEN
    578     # IN JEDEM FALL ALLEN DATEIEN WRITE-PERMIT GEBEN, DAMIT ES AUF
    579     # DEN REMOTE-RECHNERN NICHT EVTL. ZU PROBLEMEN BEIM UEBERSCHREIBEN KOMMT
    580  printf "\n\n  *** tar of makefile and source files in depository ..." 
    581  cd  $local_depository_path
    582  chmod u+w  Makefile  *.$suf
    583  tar -cf  ${mainprog}_sources.tar  Makefile  *.$suf
    584  printf "\n"
    585590
    586591
     
    11301135       then
    11311136
    1132              # AKTUELLE QUELLTEXTVERSION INS REMOTE-QUELLTEXTVERZEICHNIS KOPIEREN
    1133              # FALLS DIESES NOCH NICHT EXISTIERT, WIRD ES ERZEUGT
    1134           echo "  *** copying \"${mainprog}_sources.tar\" to \"${remote_addres}:${remote_md}/\" "
    1135           if [[ $remote_host != lctit ]]
     1137          if [[ $compile_utility_programs = false ]]
    11361138          then
    1137              ssh  ${remote_username}@${remote_addres} "[[ ! -d ${remote_md} ]]  &&  (echo \"  *** ${remote_md} will be created\"; mkdir -p  ${remote_md})"
    1138           else
    1139                 # TIT ERLAUBT NUR DIE AUSFÜHRUNG GANZ BESTIMMTER KOMMANDOS
    1140                 # MIT SSH, DESHALB AUFRUF PER PIPE
    1141              print "[[ ! -d ${remote_md} ]]  &&  (echo \"  *** ${remote_md} will be created\"; mkdir -p  ${remote_md})"  |  ssh ${remote_username}@${remote_addres}  2>&1
    1142           fi
    1143           if [[ $local_host = decalpha ]]
    1144           then
    1145                 # DECALPHA BENUTZT BEI NICHTANGABE DES VOLLSTÄNDIGEN PFADES
    1146                 # IRGENDEIN ANDERES SCP (WAS NICHT FUNKTIONIERT). AUSSERDEM
    1147                 # KOENNEN DOLLAR-ZEICHEN NICHT BENUTZT WERDEN
    1148              remote_md=`echo $remote_md | sed 's/\$HOME\///'`
    1149              /bin/scp  ${mainprog}_sources.tar  ${remote_username}@${remote_addres}:${remote_md}/${mainprog}_sources.tar
    1150           else
    1151              scp  ${mainprog}_sources.tar  ${remote_username}@${remote_addres}:${remote_md}/${mainprog}_sources.tar
    1152           fi
    1153 
    1154 
    1155 
    1156              # FALLS VORHANDEN, LETZTE VERSION AUF DEM REMOTE-RECHNER AUSPACKEN
    1157           echo "  *** untar previous update on remote host, if existing"
    1158           if [[ $remote_host != lctit ]]
    1159           then
    1160              ssh  ${remote_username}@${remote_addres}  "cd ${remote_md}; [[ -f ${mainprog}_current_version.tar ]]  &&  tar -xf  ${mainprog}_current_version.tar"
    1161           else
    1162                 # TIT ERLAUBT NUR DIE AUSFÜHRUNG GANZ BESTIMMTER KOMMANDOS
    1163                 # MIT SSH, DESHALB AUFRUF PER PIPE
    1164              print  "cd ${remote_md}; [[ -f ${mainprog}_current_version.tar ]]  &&  tar -xf  ${mainprog}_current_version.tar"  |  ssh  ${remote_username}@${remote_addres}  2>&1
    1165           fi
    1166 
    1167 
    1168              # AKTUELLE QUELLTEXTVERSION AUF REMOTE-RECHNER AUSPACKEN
    1169           echo "  *** untar actual sources on remote host"
    1170           if [[ $remote_host != lctit ]]
    1171           then
    1172              ssh  ${remote_username}@${remote_addres}  "cd ${remote_md}; tar -xf  ${mainprog}_sources.tar"
    1173           else
    1174                 # TIT ERLAUBT NUR DIE AUSFÜHRUNG GANZ BESTIMMTER KOMMANDOS
    1175                 # MIT SSH, DESHALB AUFRUF PER PIPE
    1176              print  "cd ${remote_md}; tar -xf  ${mainprog}_sources.tar"  |  ssh  ${remote_username}@${remote_addres}  2>&1
    1177           fi
    1178 
    1179 
    1180              # MAKE MIT ZUVOR ERMITTELTEN OPTIONEN AUF REMOTE RECHNER AUSFUEHREN
    1181              # KOMMANDOUEBERGABE AN SSH PER PIPE, DA SO DIE SYSTEM- UND
    1182              # BENUTZERPROFILE VOLLSTAENDIG AUSGEFUEHRT WERDEN (SONST FEHLEN MAKE
    1183              # Z.B. DIE PFADE ZUM COMPILER)
    1184           echo "  *** execute \"make\" on remote host"
    1185 
    1186           if [[ $remote_host = nech ]]
    1187           then
    1188              make_call_string="sxmake  PROG=$mainprog  F90=$compiler_name  COPT=\"$cpp_options\"  F90FLAGS=\"$compiler_options\"  LDFLAGS=\"$loader_options\" "
    1189           else
    1190              make_call_string="make  PROG=$mainprog  F90=$compiler_name  COPT=\"$cpp_options\"  F90FLAGS=\"$compiler_options\"  LDFLAGS=\"$loader_options\" "
    1191           fi
    1192 
    1193           if [[ $remote_host = t3eh ]]
    1194           then
     1139
     1140                # AKTUELLE QUELLTEXTVERSION INS REMOTE-QUELLTEXTVERZEICHNIS KOPIEREN
     1141                # FALLS DIESES NOCH NICHT EXISTIERT, WIRD ES ERZEUGT
     1142             echo "  *** copying \"${mainprog}_sources.tar\" to \"${remote_addres}:${remote_md}/\" "
     1143             if [[ $remote_host != lctit ]]
     1144             then
     1145                ssh  ${remote_username}@${remote_addres} "[[ ! -d ${remote_md} ]]  &&  (echo \"  *** ${remote_md} will be created\"; mkdir -p  ${remote_md})"
     1146             else
     1147                   # TIT ERLAUBT NUR DIE AUSFÜHRUNG GANZ BESTIMMTER KOMMANDOS
     1148                   # MIT SSH, DESHALB AUFRUF PER PIPE
     1149                print "[[ ! -d ${remote_md} ]]  &&  (echo \"  *** ${remote_md} will be created\"; mkdir -p  ${remote_md})"  |  ssh ${remote_username}@${remote_addres}  2>&1
     1150             fi
     1151             if [[ $local_host = decalpha ]]
     1152             then
     1153                   # DECALPHA BENUTZT BEI NICHTANGABE DES VOLLSTÄNDIGEN PFADES
     1154                   # IRGENDEIN ANDERES SCP (WAS NICHT FUNKTIONIERT). AUSSERDEM
     1155                   # KOENNEN DOLLAR-ZEICHEN NICHT BENUTZT WERDEN
     1156                remote_md=`echo $remote_md | sed 's/\$HOME\///'`
     1157                /bin/scp  ${mainprog}_sources.tar  ${remote_username}@${remote_addres}:${remote_md}/${mainprog}_sources.tar
     1158             else
     1159                scp  ${mainprog}_sources.tar  ${remote_username}@${remote_addres}:${remote_md}/${mainprog}_sources.tar
     1160             fi
     1161
     1162
     1163
     1164                # FALLS VORHANDEN, LETZTE VERSION AUF DEM REMOTE-RECHNER AUSPACKEN
     1165             echo "  *** untar previous update on remote host, if existing"
     1166             if [[ $remote_host != lctit ]]
     1167             then
     1168                ssh  ${remote_username}@${remote_addres}  "cd ${remote_md}; [[ -f ${mainprog}_current_version.tar ]]  &&  tar -xf  ${mainprog}_current_version.tar"
     1169             else
     1170                   # TIT ERLAUBT NUR DIE AUSFÜHRUNG GANZ BESTIMMTER KOMMANDOS
     1171                   # MIT SSH, DESHALB AUFRUF PER PIPE
     1172                print  "cd ${remote_md}; [[ -f ${mainprog}_current_version.tar ]]  &&  tar -xf  ${mainprog}_current_version.tar"  |  ssh  ${remote_username}@${remote_addres}  2>&1
     1173             fi
     1174
     1175
     1176                # AKTUELLE QUELLTEXTVERSION AUF REMOTE-RECHNER AUSPACKEN
     1177             echo "  *** untar actual sources on remote host"
     1178             if [[ $remote_host != lctit ]]
     1179             then
     1180                ssh  ${remote_username}@${remote_addres}  "cd ${remote_md}; tar -xf  ${mainprog}_sources.tar"
     1181             else
     1182                   # TIT ERLAUBT NUR DIE AUSFÜHRUNG GANZ BESTIMMTER KOMMANDOS
     1183                   # MIT SSH, DESHALB AUFRUF PER PIPE
     1184                print  "cd ${remote_md}; tar -xf  ${mainprog}_sources.tar"  |  ssh  ${remote_username}@${remote_addres}  2>&1
     1185             fi
     1186
     1187
     1188                # MAKE MIT ZUVOR ERMITTELTEN OPTIONEN AUF REMOTE RECHNER AUSFUEHREN
     1189                # KOMMANDOUEBERGABE AN SSH PER PIPE, DA SO DIE SYSTEM- UND
     1190                # BENUTZERPROFILE VOLLSTAENDIG AUSGEFUEHRT WERDEN (SONST FEHLEN MAKE
     1191                # Z.B. DIE PFADE ZUM COMPILER)
     1192             echo "  *** execute \"make\" on remote host"
     1193
     1194             if [[ $remote_host = nech ]]
     1195             then
     1196                make_call_string="sxmake  PROG=$mainprog  F90=$compiler_name  COPT=\"$cpp_options\"  F90FLAGS=\"$compiler_options\"  LDFLAGS=\"$loader_options\" "
     1197             else
     1198                make_call_string="make  PROG=$mainprog  F90=$compiler_name  COPT=\"$cpp_options\"  F90FLAGS=\"$compiler_options\"  LDFLAGS=\"$loader_options\" "
     1199             fi
     1200
     1201             if [[ $remote_host = t3eh ]]
     1202             then
    11951203       
    1196              print "xterm\nexit\n cd ${remote_md}; make  PROG=$mainprog  F90=$compiler_name  COPT=\"$cpp_options\"  F90FLAGS=\"$compiler_options\"  LDFLAGS=\"$loader_options\" " | ssh  ${remote_username}@${remote_addres} 2>&1 | tee ${remote_host}_last_make_protokoll
    1197 
    1198           elif [[ $remote_host = t3ej2  ||  $remote_host = ibms  ||  $remote_host = ibmy ]]
    1199           then
    1200 
    1201              ssh  ${remote_username}@${remote_addres}  "cd ${remote_md}; echo '$make_call_string' > LAST_MAKE_CALL; chmod u+x LAST_MAKE_CALL; $make_call_string; [[ \$? != 0 ]] && echo MAKE_ERROR" 2>&1 | tee ${remote_host}_last_make_protokoll
    1202 
    1203           elif [[ $remote_host = ibmb  ||  $remote_host = ibmh ]]
    1204           then
    1205 
    1206              print "export OBJECT_MODE=64; cd ${remote_md}; echo $make_call_string > LAST_MAKE_CALL; chmod u+x LAST_MAKE_CALL; $make_call_string; [[ \$? != 0 ]] && echo MAKE_ERROR" | ssh  ${remote_username}@${remote_addres} 2>&1 | tee ${remote_host}_last_make_protokoll
    1207 
    1208           elif [[ $remote_host = lctit ]]
    1209           then
    1210 
    1211              echo  " "  >  ${remote_host}_last_make_protokoll
    1212              while [[ $(cat ${remote_host}_last_make_protokoll | grep -c "Forwarding to N1GE") = 0 ]]
    1213              do
     1204                print "xterm\nexit\n cd ${remote_md}; make  PROG=$mainprog  F90=$compiler_name  COPT=\"$cpp_options\"  F90FLAGS=\"$compiler_options\"  LDFLAGS=\"$loader_options\" " | ssh  ${remote_username}@${remote_addres} 2>&1 | tee ${remote_host}_last_make_protokoll
     1205
     1206             elif [[ $remote_host = t3ej2  ||  $remote_host = ibms  ||  $remote_host = ibmy ]]
     1207             then
     1208
     1209                ssh  ${remote_username}@${remote_addres}  "cd ${remote_md}; echo '$make_call_string' > LAST_MAKE_CALL; chmod u+x LAST_MAKE_CALL; $make_call_string; [[ \$? != 0 ]] && echo MAKE_ERROR" 2>&1 | tee ${remote_host}_last_make_protokoll
     1210
     1211             elif [[ $remote_host = ibmb  ||  $remote_host = ibmh ]]
     1212             then
     1213
     1214                print "export OBJECT_MODE=64; cd ${remote_md}; echo $make_call_string > LAST_MAKE_CALL; chmod u+x LAST_MAKE_CALL; $make_call_string; [[ \$? != 0 ]] && echo MAKE_ERROR" | ssh  ${remote_username}@${remote_addres} 2>&1 | tee ${remote_host}_last_make_protokoll
     1215
     1216             elif [[ $remote_host = lctit ]]
     1217             then
     1218
     1219                echo  " "  >  ${remote_host}_last_make_protokoll
     1220                while [[ $(cat ${remote_host}_last_make_protokoll | grep -c "Forwarding to N1GE") = 0 ]]
     1221                do
     1222                   print "cd ${remote_md}; echo $make_call_string > LAST_MAKE_CALL; chmod u+x LAST_MAKE_CALL; $make_call_string; [[ \$? != 0 ]] && echo MAKE_ERROR" | ssh  ${remote_username}@${remote_addres} 2>&1 | tee ${remote_host}_last_make_protokoll
     1223                done
     1224
     1225             else
     1226
    12141227                print "cd ${remote_md}; echo $make_call_string > LAST_MAKE_CALL; chmod u+x LAST_MAKE_CALL; $make_call_string; [[ \$? != 0 ]] && echo MAKE_ERROR" | ssh  ${remote_username}@${remote_addres} 2>&1 | tee ${remote_host}_last_make_protokoll
    1215              done
    1216 
    1217           else
    1218 
    1219              print "cd ${remote_md}; echo $make_call_string > LAST_MAKE_CALL; chmod u+x LAST_MAKE_CALL; $make_call_string; [[ \$? != 0 ]] && echo MAKE_ERROR" | ssh  ${remote_username}@${remote_addres} 2>&1 | tee ${remote_host}_last_make_protokoll
    1220 
    1221           fi
    1222 
    1223           if [[ $(grep -c MAKE_ERROR ${remote_host}_last_make_protokoll) != 0 ]]
    1224           then
    1225              printf "\a\n  +++ error(s) occurred during compiling or linking on host \"$remote_host\" "
    1226              if [[ $silent = false ]]
    1227              then
    1228                 answer=dummy
    1229                 printf "\n"
    1230                 while [[ "$answer" != c  &&  "$answer" != k ]]
    1231                 do
    1232                    printf "  >>> continue / list errors / kill mbuild (c/l/k) ? "
    1233                    read  answer
    1234                    if [[ "$answer" = l ]]
     1228
     1229             fi
     1230
     1231             if [[ $(grep -c MAKE_ERROR ${remote_host}_last_make_protokoll) != 0 ]]
     1232             then
     1233                printf "\a\n  +++ error(s) occurred during compiling or linking on host \"$remote_host\" "
     1234                if [[ $silent = false ]]
     1235                then
     1236                   answer=dummy
     1237                   printf "\n"
     1238                   while [[ "$answer" != c  &&  "$answer" != k ]]
     1239                   do
     1240                      printf "  >>> continue / list errors / kill mbuild (c/l/k) ? "
     1241                      read  answer
     1242                      if [[ "$answer" = l ]]
     1243                      then
     1244                         more ${remote_host}_last_make_protokoll
     1245                      fi
     1246                   done
     1247                   if [[ $answer = k ]]
    12351248                   then
    1236                       more ${remote_host}_last_make_protokoll
     1249                      locat=user_abort; exit
    12371250                   fi
    1238                 done
    1239                 if [[ $answer = k ]]
    1240                 then
    1241                    locat=user_abort; exit
    12421251                fi
    12431252             fi
    1244           fi
    1245 
    1246 
    1247 
    1248              # NEUE VERSION AUF REMOTE-RECHNER ZUSAMMENPACKEN
    1249           printf "\n  *** tar update on remote host ..."
    1250           if [[ $remote_host != lctit ]]
    1251           then
    1252              ssh  ${remote_username}@${remote_addres}  "cd ${remote_md}; chmod u+w *; tar -cf  ${mainprog}_current_version.tar  *.f90 *.o *.mod"
    1253           else
    1254                 # TIT ERLAUBT NUR DIE AUSFÜHRUNG GANZ BESTIMMTER KOMMANDOS
    1255                 # MIT SSH, DESHALB AUFRUF PER PIPE
    1256              print  "cd ${remote_md}; chmod u+w *; tar -cf  ${mainprog}_current_version.tar  *.f90 *.o *.mod"  |  ssh  ${remote_username}@${remote_addres}  2>&1
    1257           fi
    1258 
    1259 
    1260              # AKTUELLES VERSIONSVERZEICHNIS AUF REMOTE-RECHNER BEREINIGEN
    1261 #          printf "\n  *** \"make clean\" on remote host ..."
    1262 #          ssh  ${remote_username}@${remote_addres}  "cd ${remote_md}; make clean; rm ${mainprog}_sources.tar; rm *.f90 Makefile"
    1263 #          printf "\n"
     1253
     1254
     1255
     1256                # NEUE VERSION AUF REMOTE-RECHNER ZUSAMMENPACKEN
     1257             printf "\n  *** tar update on remote host ..."
     1258             if [[ $remote_host != lctit ]]
     1259             then
     1260                ssh  ${remote_username}@${remote_addres}  "cd ${remote_md}; chmod u+w *; tar -cf  ${mainprog}_current_version.tar  *.f90 *.o *.mod"
     1261             else
     1262                   # TIT ERLAUBT NUR DIE AUSFÜHRUNG GANZ BESTIMMTER KOMMANDOS
     1263                   # MIT SSH, DESHALB AUFRUF PER PIPE
     1264                print  "cd ${remote_md}; chmod u+w *; tar -cf  ${mainprog}_current_version.tar  *.f90 *.o *.mod"  |  ssh  ${remote_username}@${remote_addres}  2>&1
     1265             fi
     1266
     1267
     1268                # AKTUELLES VERSIONSVERZEICHNIS AUF REMOTE-RECHNER BEREINIGEN
     1269#             printf "\n  *** \"make clean\" on remote host ..."
     1270#             ssh  ${remote_username}@${remote_addres}  "cd ${remote_md}; make clean; rm ${mainprog}_sources.tar; rm *.f90 Makefile"
     1271#             printf "\n"
    12641272
    12651273
     
    12691277             # AKTUELLE QUELLTEXTVERSION INS REMOTE-QUELLTEXTVERZEICHNIS KOPIEREN
    12701278             # FALLS DIESES NOCH NICHT EXISTIERT, WIRD ES ERZEUGT
    1271           if [[ $compile_utility_programs = true ]]
     1279          elif [[ $compile_utility_programs = true ]]
    12721280          then
    12731281
     
    13611369       else
    13621370
    1363              # MAKE MIT ZUVOR ERMITTELTEN OPTIONEN AUF LOKALEM RECHNER AUSFUEHREN
    1364           echo " "
    1365           echo "  *** execute \"make\" on local host"
    1366 
    1367           make  PROG=$mainprog  F90=$compiler_name  COPT="$cpp_options"  F90FLAGS="$compiler_options"  LDFLAGS="$loader_options"  2>&1 | tee ${remote_host}_last_make_protokoll
    1368 
    1369           if [[ $? != 0 ]]
     1371          if [[ $compile_utility_programs = false ]]
    13701372          then
    1371              printf "\a\n  +++ error(s) occurred during compiling or linking on host \"$remote_host\" "
    1372              if [[ $silent = false ]]
    1373              then
    1374                 answer=dummy
    1375                 printf "\n"
    1376                 while [[ "$answer" != c  &&  "$answer" != k ]]
    1377                 do
    1378                    printf "  >>> continue / list errors / kill mbuild (c/l/k) ? "
    1379                    read  answer
    1380                    if [[ "$answer" = l ]]
     1373
     1374                # MAKE MIT ZUVOR ERMITTELTEN OPTIONEN AUF LOKALEM RECHNER AUSFUEHREN
     1375             echo " "
     1376             echo "  *** execute \"make\" on local host"
     1377
     1378             make  PROG=$mainprog  F90=$compiler_name  COPT="$cpp_options"  F90FLAGS="$compiler_options"  LDFLAGS="$loader_options"  2>&1 | tee ${remote_host}_last_make_protokoll
     1379
     1380             if [[ $? != 0 ]]
     1381             then
     1382                printf "\a\n  +++ error(s) occurred during compiling or linking on host \"$remote_host\" "
     1383                if [[ $silent = false ]]
     1384                then
     1385                   answer=dummy
     1386                   printf "\n"
     1387                   while [[ "$answer" != c  &&  "$answer" != k ]]
     1388                   do
     1389                      printf "  >>> continue / list errors / kill mbuild (c/l/k) ? "
     1390                      read  answer
     1391                      if [[ "$answer" = l ]]
     1392                      then
     1393                         more ${remote_host}_last_make_protokoll
     1394                      fi
     1395                   done
     1396                   if [[ $answer = k ]]
    13811397                   then
    1382                       more ${remote_host}_last_make_protokoll
     1398                      locat=user_abort; exit
    13831399                   fi
    1384                 done
    1385                 if [[ $answer = k ]]
    1386                 then
    1387                    locat=user_abort; exit
    13881400                fi
    13891401             fi
    1390           fi
    1391 
    1392 
    1393              # NEUE VERSION AUF LOKALEM RECHNER ZUSAMMENPACKEN
    1394           printf "\n  *** tar update on local host ..."
    1395           tar -cf  ${mainprog}_current_version.tar  *.$suf *.o *.mod
     1402
     1403
     1404                # NEUE VERSION AUF LOKALEM RECHNER ZUSAMMENPACKEN
     1405             printf "\n  *** tar update on local host ..."
     1406             tar -cf  ${mainprog}_current_version.tar  *.$suf *.o *.mod
    13961407
    13971408
    13981409             # COMPILE THE UTILITY PROGRAMS
    1399           if [[ $compile_utility_programs = true ]]
     1410          elif [[ $compile_utility_programs = true ]]
    14001411          then
    14011412             printf "\n\n"
  • palm/trunk/SOURCE/init_3d_model.f90

    r39 r40  
    503503!--    Initialize fluxes at top surface
    504504!--    Currently, only the heatflux can be prescribed. The latent flux is
    505 !--    zeri in this case!
     505!--    zero in this case!
    506506       IF ( use_top_fluxes )  THEN
    507507
Note: See TracChangeset for help on using the changeset viewer.