Changeset 40
- Timestamp:
- Mar 2, 2007 6:32:25 AM (18 years ago)
- Location:
- palm/trunk
- Files:
-
- 10 edited
Legend:
- Unmodified
- Added
- Removed
-
palm/trunk/DOC/app/chapter_3.5.5.html
r5 r40 1 1 <!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)"> 8 6 <meta name="AUTHOR" content="Siegfried Raasch"> 9 7 <meta name="CREATED" content="20040802;14050943"> … … 14 12 @page { size: 21cm 29.7cm } 15 13 --> 16 </style> 17 </head> 14 </style></head> 15 18 16 <body dir="ltr" lang="en-US"> 19 17 <h3 style="line-height: 100%;"><font size="4">3.5.5 Compiling and 20 18 linking user-defined code<br> 21 19 </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. 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;"> cd ~/palm/current_version</span><br style="font-family: Courier New,Courier,monospace;"><span style="font-family: Courier New,Courier,monospace;"> mkdir -p USER_CODE/example</span><br style="font-family: Courier New,Courier,monospace;"><span style="font-family: Courier New,Courier,monospace;"> cp trunk/SOURCE/user_interface.f90 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;"> %add_source_path $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;"> 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‘s default user-interface.<br></li></ol>The above method with including<span style="font-family: Courier New,Courier,monospace;"> $fname </span>in 21 the additional source path allows to use different user-interfaces for 22 different runs at the same time. Just store the respective 23 interface-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 “<span style="font-family: Courier New,Courier,monospace;">-d abcd</span>“, “<span style="font-family: Courier New,Courier,monospace;">-d cdef</span>“, 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, 112 24 errors are frequently made. Possible ways of error 113 tracing are described in the next chapter. <br> 25 tracing are described in the next chapter. <br><p style="line-height: 100%;"> 114 26 </p> 115 27 <hr> 116 28 <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> 124 30 <p style="line-height: 100%;"><i>Last change: </i> 15/04/05 (SR)</p> 125 </body> 126 </html> 31 </body></html> -
palm/trunk/DOC/app/chapter_3.6.html
r5 r40 1 1 <!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)"> 8 6 <meta name="AUTHOR" content="Siegfried Raasch"> 9 7 <meta name="CREATED" content="20040809;10583400"> … … 14 12 @page { size: 21cm 29.7cm } 15 13 --> 16 </style> 17 </head> 14 </style></head> 15 18 16 <body dir="ltr" lang="en-US"> 19 17 <h3 style="line-height: 100%;">3.6 Interactive mode and debugging</h3> … … 23 21 this computer the subroutines of the model must have 24 22 been 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 23 5.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 34 24 created by the model and requested by the user to be kept after the run 35 25 are copied to 36 26 directories 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> 27 in 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> 39 28 does not cause transfer to another computer). </p> 40 29 <p style="line-height: 100%;">Since model runs usually require large 41 amounts of CPU time, interactive runs are usually notfeasible, since30 amounts of CPU time, interactive runs may not be feasible, since 42 31 in interactive mode CPU time 43 32 is strongly limited on many hosts and runs will be aborted … … 54 43 the model, including the user-defined code, must be compiled 55 44 with 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> 45 following three lines must be included in the <span style="font-weight: bold;">mrun </span>configuration file:<br> 58 46 </p> 59 <p style="line-height: 100%;"><span style="font-family: monospace;">%compiler_name 47 <p style="line-height: 100%;"><span style="font-family: Courier New,Courier,monospace;">%compiler_name 60 48 mpxlf95_r 61 ibmh parallel debug</span><br style="font-family: monospace;">62 <span style="font-family: monospace;">%fopts 63 -g:-C:-qinitauto=FF:-qrealsize=8:-Q:-q64:-qmaxmem=-1:-qtune=pwr4:< br>49 ibmh parallel debug</span><br style="font-family: Courier New,Courier,monospace;"> 50 <span style="font-family: Courier New,Courier,monospace;">%fopts 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;"> 64 52 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;"> 66 54 67 55 :invalid::enable:-qsigtrap 68 ibmh parallel debug</span><br style="font-family: monospace;">69 <span style="font-family: monospace;">%lopts 70 -g:-C:-qinitauto=FF:-qrealsize=8:-Q:-q64:-qmaxmem=-1:-qtune=pwr4:< br>56 ibmh parallel debug</span><br style="font-family: Courier New,Courier,monospace;"> 57 <span style="font-family: Courier New,Courier,monospace;">%lopts 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;"> 71 59 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;"> 73 61 74 62 :invalid::enable:-qsigtrap:-lesslsmp … … 77 65 </p> 78 66 <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 be67 the 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 81 69 written in one line without any blank space before and after the 82 70 colons!)<br> 83 71 </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 87 73 and check of array bounds is 88 switched on during run time. Option " -qinitauto=FF" initializes all74 switched on during run time. Option "<span style="font-family: Courier New,Courier,monospace;">-qinitauto=FF</span>" initializes all 89 75 automatic 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 76 NaN.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 92 77 in order to terminate the run in case of any floating point errors 93 78 (otherwise the run will not terminate and errors can hardly be … … 96 81 <p style="line-height: 100%;">The <b>mrun </b>call for debugging 97 82 needs 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> 83 an 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 “parallel debug” -s ”*.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> 109 84 <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 112 86 has to start 113 87 the 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> 88 of <b>TotalView</b> are available <a href="http://www.hlrn.de/doc/totalview/index.html">online</a>. </p> 116 89 <p style="line-height: 100%;">Program crashes caused by errors in the 117 90 user-defined code should usually be found 118 91 unassisted. If the termination point lies outside the user code (in the 119 default model code), the PALM developer group had possiblybe asked for120 assistance . It is emphasized again that error tracing and programming92 default model code), the PALM group can be asked for 93 assistance, but please do not expect any quick response. It is emphasized again that error tracing and programming 121 94 of 122 95 user-defined code requires more or less precise knowledge of the … … 126 99 <hr> 127 100 <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: </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: </i> 02/03/07 (SR)</p> 103 </body></html> -
palm/trunk/DOC/app/chapter_4.1.html
r5 r40 1786 1786 1787 1787 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> 1789 1789 1790 1790 … … 1831 1831 1832 1832 <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) 1834 does 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>. 1835 With the 'initial_gradient'-condition the value of the temperature gradient at the top is 1837 1836 calculated from the initial 1838 1837 temperature 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>1838 by bc_pt_t_val = (pt_init(k=nz+1) - 1839 pt_init(k=nz)) / dzu(nz+1).<br> 1841 1840 1842 1841 … … 1871 1870 1872 1871 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 </p> 1872 1873 1874 1875 1876 1877 1878 1879 1880 1881 1882 1883 1884 1885 1886 1887 1888 1889 1890 1891 1892 1893 1938 1894 1939 1895 … … 2020 1976 2021 1977 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 1979 equation for the temperature is solved).<br> 1980 1981 1982 1983 1984 1985 1986 1987 1988 1989 1990 When 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> 1991 must be used, because otherwise the resolved scale may contribute to 1992 the top flux so that a constant value cannot be guaranteed.</p> 2024 1993 2025 1994 … … 2345 2314 2346 2315 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 </p> 2316 2317 2318 2319 2320 2321 2322 2323 2324 2325 2326 2327 2328 2329 2330 2331 2332 2333 2334 2335 2336 2337 2412 2338 2413 2339 … … 2494 2420 2495 2421 2496 <p style="font-style: normal;">(up tp k=nz -1the prognostic2422 <p style="font-style: normal;">(up tp k=nz the prognostic 2497 2423 equation for q is solved). </p> 2498 2424 … … 2819 2745 2820 2746 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 </p> 2747 2748 2749 2750 2751 2752 2753 2754 2755 2756 2757 2758 2759 2760 2761 2762 2763 2764 2765 2766 2767 2768 2886 2769 2887 2770 … … 2968 2851 2969 2852 2970 <p style="font-style: normal;">(up to k=nz -1the prognostic2853 <p style="font-style: normal;">(up to k=nz the prognostic 2971 2854 equation for the scalar concentration is 2972 2855 solved).</p> … … 14687 14570 logarithmic wind and temperature 14688 14571 profiles 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> 14572 must be used as bottom boundary condition for the potential temperature.</p><p>See also <a href="#top_heatflux">top_heatflux</a>.</p> 14690 14573 14691 14574 … … 16807 16690 16808 16691 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> 16693 heatflux</span></td><td style="vertical-align: top;"><p>Kinematic sensible heat flux at the top boundary (in K m/s). </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> as top (horizontally homogeneous) boundary condition for the 16715 temperature equation. This additionally requires that a Neumann 16716 condition must be used for the potential temperature (see <a href="chapter_4.1.html#bc_pt_t">bc_pt_t</a>), 16717 because otherwise the resolved scale may contribute to 16718 the top flux so that a constant value cannot be guaranteed.<span style="font-style: italic;"></span> </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> 16810 16747 16811 16748 … … 18336 18273 18337 18274 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 18339 fluxes 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> 18339 18342 18340 18343 -
palm/trunk/DOC/app/chapter_4.6.html
r5 r40 1 1 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> 2 <html> 3 <head> 2 <html><head> 4 3 5 4 … … 16 15 17 16 <meta http-equiv="CONTENT-TYPE" content="text/html; charset=windows-1252"> 18 <title>PALM chapter 4.6</title>17 19 18 20 19 … … 37 36 38 37 39 < meta name="GENERATOR" content="StarOffice 7 (Win32)">38 <title>PALM chapter 4.6</title><meta name="GENERATOR" content="StarOffice 7 (Win32)"> 40 39 41 40 … … 111 110 @page { size: 21cm 29.7cm } 112 111 --> 113 </style> 114 </head> 112 </style></head> 115 113 116 114 <body style="direction: ltr;" lang="en-US"> … … 22046 22044 22047 22045 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> 22049 22047 22050 22048 … … 23204 23202 23205 23203 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 23205 vertical 23206 fluxes within the diffusion terms at k=nz (top boundary).</td></tr><tr valign="top"> 23207 23207 23208 23208 … … 24373 24373 24374 24374 24375 </body> 24376 </html> 24375 </body></html> -
palm/trunk/DOC/app/chapter_5.0.html
r5 r40 1 1 <!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)"> 8 6 <meta name="AUTHOR" content="Siegfried Raasch"> 9 7 <meta name="CREATED" content="20041103;12380720"> … … 14 12 @page { size: 21cm 29.7cm } 15 13 --> 16 </style> 17 </head> 14 </style></head> 15 18 16 <body dir="ltr" lang="en-US"> 19 17 <h2 style="line-height: 100%;"><font size="4">5.0 Installation of the 20 18 model</font></h2> 21 19 <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 20 describes the installation of PALM on a Linux workstation (local host) and a suitable remote computer, on which the 21 model runs are to be carried out. The local host is used to 22 start batch jobs with <b>mrun</b> and to analyze the results 23 which 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&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&T ksh. If the AT&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>). 24 This is already included in many Linux distributions (e.g. SuSe). The 25 user needs a permit to access the PALM repository. For getting a permit 26 please contact the PALM group (<a href="mailto:raasch@muk.uni-hannover.de">raasch@muk.uni-hannover.de</a>) 27 and define a username under which you like to access the repository. 28 You will then receive a password which allows the access under this 29 name.</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 30 installation of PALM on an IMUK Linux workstation and the IBM-Regatta 34 31 system of 35 the HLRN as the remote computer. </font>32 the HLRN used as remote host. They are just called local and remote host from now on. </font> 36 33 </p> 37 34 <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> 35 account on the local and on the remote host as well.<br> 40 36 </p> 41 37 <ul> … … 49 45 out e.g. on the local host:</p> 50 46 <p style="line-height: 100%;"><span style="font-family: monospace;"> 51 ssh <username on remote host>@<remote IP-address></span><br>47 </span><span style="font-family: Courier New,Courier,monospace;">ssh <username on remote host>@<remote IP-address></span><br> 52 48 </p> 53 49 <p style="line-height: 100%;">and on the remote host:<br> 54 50 </p> 55 51 <p style="line-height: 100%;"><span style="font-family: monospace;"> 56 ssh <username on local host>@<local IP-adddress></span><br>52 </span><span style="font-family: Courier New,Courier,monospace;">ssh <username on local host>@<local IP-adddress></span><br> 57 53 </p> 58 <p style="line-height: 100%;">In both cases you should nnot be54 <p style="line-height: 100%;">In both cases you should not be 59 55 prompted for a password. <b>Before continuing the further installation 60 56 process, this must be absolutely guaranteed!</b> This must also be 61 57 guaranteed for <b>all</b> other remote hosts, on which PALM shall run.</p> 62 58 </ul> 63 <p style="line-height: 100%;"> In the <b>first installation step</b> a59 <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 64 60 set 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 61 remote 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 72 62 freely selectable (except <tt><font size="2">~/job_queue</font></tt>), 73 63 however new users should use them as suggested, since many 74 64 examples in this documentation as well as all example files are 75 assuming these settings. </p>65 assuming 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> 76 66 <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> 67 step</b> 68 a working copy of the recent version of the PALM software package, 69 including the source code, scripts, documentation, etc. must be 70 copied to the working directory (</font><font color="#000000">local host!) by executing the following 71 commands. Replace <your username> 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 <your username> 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 72 appear in your working directory. It contains a number of further 73 subdirectories 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, executing</p><pre style="line-height: 100%; margin-left: 40px; font-family: Courier New,Courier,monospace;">svn checkout --username <your username> 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 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 74 probably be restricted because this is a test version. However, access 75 to 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 <your username> 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 77 use the PALM scripts, the PATH variable has to be extended and the 78 environment variable PALM_BIN has to be set (on local and remote host) 79 in 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 80 like compiler name, compiler options, etc. 81 for 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 <replace by your ... username> <remote-computer-shortcut></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;"><replace by ...></span>" by your username on the respective host given in the <span style="font-family: Courier New,Courier,monospace;"><remote-computer-shortcut></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> 101 83 <p style="line-height: 100%;"><font color="#000000">To avoid the 102 84 re-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 of85 willl 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 104 86 FORTRAN modules in the source code, the subroutines must be compiled 105 in a certain sequence. Therefore the so-called <i>make</i> mechanism87 in a certain order. Therefore the so-called <i>make</i> mechanism 106 88 is 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 89 requiring 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">, 90 in 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 110 91 files) 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 <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 <SHIFT> + 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 <username> <remote-computer-shortcut></font></tt></p> 165 </ul> 166 the string "<span style="font-family: monospace;"><username></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 92 stored 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 94 pre-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 </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 96 answered "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 184 97 host where they are carried out interactively. You can follow the 185 98 progress at the terminal window, where also error messages … … 187 100 entering </font> 188 101 </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> 190 103 <p style="line-height: 100%;"><font color="#000000">PALM will 191 104 be (consecutively) pre-compiled for all remote hosts listed in 192 the configuration file. </font>105 the 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> 193 106 </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, 195 108 after the compilation has been finished, the PALM installation has to 196 109 be verified. For this 197 110 purpose 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 206 copied to<br> 111 </b>configuration file (described in </font><a href="chapter_3.2.html"><font color="#000080">chapter 112 3.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 113 file</font></a><font color="#000000"> (described in </font><a href="chapter_4.4.html"><font color="#000080">chapter 114 4.4</font></a>)<font color="#000000">. The parameter file must be 115 copied from the PALM working copy by<br> 207 116 </font></p> 208 <p style="line-height: 100%;"><tt><font color="#000000"> 209 ~/palm/current_version/JOBS/example/INPUT/example_p3d</font></tt><font 210 color="#000000"> . 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 JOBS/example/INPUT/example_p3d</font><font color="#000000"><span style="font-family: Courier New,Courier,monospace;"></span></font></div> 212 118 <p style="line-height: 100%;"><font color="#000000">The test run can 213 now be started by e ntering the command:</font>119 now be started by executing the command </font> 214 120 </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 “d3# pr#”</font></pre> 218 122 <p style="line-height: 100%;"><font color="#000000">This specific run 219 123 will be carried out on 8 PEs and is allowed to use up to 500 seconds 220 124 CPU time. After pressing <return>, the most important settings of 221 125 the 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 126 and the user is prompted for o.k. (“</font><font style="font-family: Courier New,Courier,monospace;" color="#000000">y</font><font color="#000000">”). Next, a message of the queuing system like “<i>Request</i> … 127 <i>Submitted to queue… by…” </i>should be displayed. Now the job is 128 queued and either started immediately or at a later time, depending on the 230 129 current workload of the remote host. Provided that it is executed 231 130 immediately 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 131 this 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 235 132 file should be carefully examined for any error messages.</font> 236 133 </p> 134 135 237 136 <p style="line-height: 100%;">Beside the job protocol and according to 238 137 the configuration file and arguments given for <b>mrun</b> 239 options <tt>-d</tt> and <tt>-r,</tt>further files should be found in138 options<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 240 139 the 241 directories<br> 242 </p> 243 <p style="line-height: 100%; font-family: monospace;"> 244 ~/palm/current_version/JOBS/example/MONITORING 245 <br> 246 </p> 247 <p style="line-height: 100%;">and</p> 140 directories</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> 248 141 <p style="line-height: 100%;"><span style="font-family: monospace;"> 249 ~/palm/current_version/JOBS/example/OUTPUT . 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> 251 143 </p> 252 144 <p style="line-height: 100%;">Please compare the contents of file</p> 253 145 <p style="line-height: 100%;"><span style="font-family: monospace;"> 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> 255 147 </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 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 261 149 the file contents are identical, the installation is successfully 262 150 completed.</font> </p> … … 265 153 help you. </p> 266 154 <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: </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: </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> 2 3 <meta content="text/html; charset=windows-1252" http-equiv="CONTENT-TYPE"><title>PALM chapter 5.1</title> 3 4 … … 6 7 <meta content="20041103;12395815" name="CREATED"> 7 8 <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 the9 <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 group announces code revisions by emails send to the 12 PALM mailing list. If you like to be put on this list, just send an 13 email to <a href="mailto:raasch@muk.uni-hannover.de">raasch@muk.uni-hannover.de</a>. Details about new releases can be found in the 13 14 <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 15 documentation</a>. Users can easily make version updates by changing into 16 the 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 the <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. In order to avoid such conflicts, modifications of the default PALM code should be omitted and 25 19 be restricted to the user-interface only 26 20 (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> 21 3.5</a>).</p> 22 <ul style="font-family: Courier New,Courier,monospace;"> 32 23 </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 <your username> 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 27 installation process described in chapter 5.0. So far, differet 28 versions 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 29 via</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> 37 36 <p>As a last step, a suitable test run should be carried out. It should 38 37 be carefully examined whether and how the results created by the new … … 40 39 which go beyond the ones announced in the <a href="../tec/technical_documentation.html">technical/numerical 41 40 documentation</a> 42 should be communicated as soon as possible to the PALM developergroup.41 should be communicated as soon as possible to the PALM group. 43 42 </p> 44 43 <hr> 45 44 <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> 47 46 48 47 <br> 49 <span style="font-style: italic;">Last change:</span> 20/04/0548 <span style="font-style: italic;">Last change:</span> 02/03/07 50 49 (SR)<br> 51 50 </p> -
palm/trunk/DOC/tec/technical_documentation.html
r5 r40 49 49 <td nosave=""><b>Current model version:</b></td> 50 50 51 <td><span style="font-weight: bold;">3.1 b</span></td>51 <td><span style="font-weight: bold;">3.1c</span></td> 52 52 53 53 </tr> … … 57 57 <td nosave=""><b>Last change of this document</b>: </td> 58 58 59 <td nosave=""><b> 11/02/07</b></td>59 <td nosave=""><b>02/03/07</b></td> 60 60 61 61 </tr> … … 4333 4333 instead of cartesian (x,y) coordinate to check for transfer because 4334 4334 this 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> 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><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, 4336 diffusion_s, flow_statistics, header, init_grid, init_3d_model, 4337 modules, parin, production_e, prognostic_equations, read_var_list, 4338 read_3d_binary, swap_timelevel, write_var_list, write_3d_binary</td></tr><tr><td> </td><td> </td><td> </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, 4339 boundary_conds, calc_precipitation, check_parameters, diffusion_e, 4340 diffusion_s, impact_of_latent_heat, init_dvrp, init_pt_anomaly, 4341 modules, production_e, prognostic_equations, spline_z</td></tr><tr><td> </td><td> </td><td> </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: <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> 4336 4342 4337 4343 -
palm/trunk/SCRIPTS/.mrun.config.default
r36 r40 3 3 #---------------------------------------------------------------------------- 4 4 %mainprog palm.f90 5 #%base_directory $HOME/palm/current_version6 #%base_data ~/palm/current_version/JOBS7 #%source_path $base_directory/SOURCE5 %base_directory $HOME/palm/current_version 6 %base_data ~/palm/current_version/JOBS 7 %source_path $base_directory/trunk/SOURCE 8 8 %add_source_path $base_directory/USER_CODE/$fname 9 9 %depository_path $base_directory/MAKE_DEPOSITORY 10 10 %use_makefile true 11 11 # 12 %remote_username raaschlcmuk parallel12 #%remote_username <replace by your linux cluster username> lcmuk parallel 13 13 %tmp_user_catalog /tmp lcmuk parallel 14 14 %compiler_name mpif90 lcmuk parallel … … 18 18 #%hostfile $base_directory/.hostfile lcmuk parallel 19 19 # 20 %remote_username raaschlcmuk20 #%remote_username <replace by your linux cluster username> lcmuk 21 21 %tmp_user_catalog /tmp lcmuk 22 22 %compiler_name ifort lcmuk … … 24 24 %lopts -axW:-cpp:-r8:-nbs:-Vaxlib lcmuk 25 25 # 26 %remote_username raaschlcmuk trace26 #%remote_username <replace by your linux cluster username> lcmuk trace 27 27 %tmp_user_catalog /tmp lcmuk trace 28 28 %compiler_name ifort lcmuk trace … … 30 30 %lopts -axW:-cpp:-g:-CB:-inline_debug_info:-r8:-nbs:-Vaxlib lcmuk trace 31 31 # 32 #%remote_username <replace by your HLRN username> ibmh parallel 32 33 %compiler_name mpxlf95_r ibmh parallel 33 34 %compiler_name_ser xlf95 ibmh parallel … … 37 38 %cpumax 1000 ibmh parallel 38 39 %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 44 44 %compiler_name mpxlf95_r ibmh parallel debug 45 45 %compiler_name_ser xlf95 ibmh parallel debug … … 49 49 %cpumax 1000 ibmh parallel debug 50 50 %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 75 54 %compiler_name mpxlf95_r ibmb parallel 76 55 %compiler_name_ser xlf95 ibmb parallel … … 80 59 %cpumax 1000 ibmb parallel 81 60 %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 95 64 %compiler_name sxmpif90 nech parallel 96 65 %compiler_name_ser sxf90 nech parallel … … 101 70 %numprocs 4 nech parallel 102 71 %tmp_data_catalog $WRKSHR/palm_restart_data nech parallel 103 %remote_username b323011nech parallel104 %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 106 75 %compiler_name sxmpif90 neck parallel 107 76 %compiler_name_ser sxf90 neck parallel … … 111 80 %cpumax 1000 neck parallel 112 81 %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 141 84 # 142 85 %source_path $base_directory/SOURCE ibmy parallel -
palm/trunk/SCRIPTS/mbuild
r35 r40 1 1 #!/bin/ksh 2 # mbuild - Programmuebersetzungsscript Version: @(#)MBUILD 1.0 28/02/072 # mbuild - Programmuebersetzungsscript Version: @(#)MBUILD 1.0 02/03/07 3 3 4 4 # Prozedur zur Uebersetzung von Programmteilen mittels make-Mechanismus … … 79 79 # 07/02/07 - Siggi - adapted for RIAM (neck) 80 80 # 10/02/07 - Siggi - all hpmuk-related code removed 81 # 28/02/07 - Siggi - compilation of utility programs and transfer of81 # 02/03/07 - Siggi - compilation of utility programs and transfer of 82 82 # scripts to remote hosts added (option -u) 83 83 … … 359 359 360 360 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 ]] 373 362 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 389 482 for filename in $source_code_files 390 483 do … … 396 489 locat=makefile; exit 397 490 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 400 502 fi 401 503 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 422 508 cd $local_depository_path 423 509 source_code_files_in_depository=`ls -1 *.$suf` 510 cd - > /dev/null 2>&1 424 511 for filename in $source_code_files_in_depository 425 512 do 426 if [[ $(grep -c $filename Makefile) = 0]]513 if [[ ! -f $filename ]] 427 514 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" 431 516 if [[ $silent = false ]] 432 517 then … … 435 520 while [[ "$answer" != y && "$answer" != Y && "$answer" != n && "$answer" != N ]] 436 521 do 437 printf " >>> delete \"$filename\" in \"$local_depository_path\"(y/n) ? "522 printf " >>> create \"$filename\" in current directory (y/n) ? " 438 523 read answer 439 524 done 440 525 if [[ $answer = y || $answer = Y ]] 441 526 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" 446 529 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" 448 553 fi 449 554 fi 450 555 fi 451 556 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\" " 513 561 if [[ $silent = false ]] 514 562 then … … 517 565 while [[ "$answer" != y && "$answer" != Y && "$answer" != n && "$answer" != N ]] 518 566 do 519 printf " >>> c reate \"$filename\" in current directory(y/n) ? "567 printf " >>> continue with updates on remote hosts (y/n) ? " 520 568 read answer 521 569 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 528 573 fi 529 574 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 573 589 fi 574 575 576 577 # QUELLTEXTDATEIEN UND MAKEFILE MIT TAR ZUSAMMENBINDEN578 # IN JEDEM FALL ALLEN DATEIEN WRITE-PERMIT GEBEN, DAMIT ES AUF579 # DEN REMOTE-RECHNERN NICHT EVTL. ZU PROBLEMEN BEIM UEBERSCHREIBEN KOMMT580 printf "\n\n *** tar of makefile and source files in depository ..."581 cd $local_depository_path582 chmod u+w Makefile *.$suf583 tar -cf ${mainprog}_sources.tar Makefile *.$suf584 printf "\n"585 590 586 591 … … 1130 1135 then 1131 1136 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 ]] 1136 1138 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 1195 1203 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 1214 1227 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_protokoll1220 1221 fi1222 1223 if [[ $(grep -c MAKE_ERROR ${remote_host}_last_make_protokoll) != 0 ]]1224 then1225 printf "\a\n +++ error(s) occurred during compiling or linking on host \"$remote_host\" "1226 if [[ $silent = false ]]1227 then1228 answer=dummy1229 printf "\n"1230 while [[ "$answer" != c && "$answer" != k ]]1231 do1232 printf " >>> continue / list errors / kill mbuild (c/l/k) ? "1233 read answer1234 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 ]] 1235 1248 then 1236 more ${remote_host}_last_make_protokoll1249 locat=user_abort; exit 1237 1250 fi 1238 done1239 if [[ $answer = k ]]1240 then1241 locat=user_abort; exit1242 1251 fi 1243 1252 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" 1264 1272 1265 1273 … … 1269 1277 # AKTUELLE QUELLTEXTVERSION INS REMOTE-QUELLTEXTVERZEICHNIS KOPIEREN 1270 1278 # FALLS DIESES NOCH NICHT EXISTIERT, WIRD ES ERZEUGT 1271 if [[ $compile_utility_programs = true ]]1279 elif [[ $compile_utility_programs = true ]] 1272 1280 then 1273 1281 … … 1361 1369 else 1362 1370 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 ]] 1370 1372 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 ]] 1381 1397 then 1382 more ${remote_host}_last_make_protokoll1398 locat=user_abort; exit 1383 1399 fi 1384 done1385 if [[ $answer = k ]]1386 then1387 locat=user_abort; exit1388 1400 fi 1389 1401 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 1396 1407 1397 1408 1398 1409 # COMPILE THE UTILITY PROGRAMS 1399 if [[ $compile_utility_programs = true ]]1410 elif [[ $compile_utility_programs = true ]] 1400 1411 then 1401 1412 printf "\n\n" -
palm/trunk/SOURCE/init_3d_model.f90
r39 r40 503 503 !-- Initialize fluxes at top surface 504 504 !-- Currently, only the heatflux can be prescribed. The latent flux is 505 !-- zer iin this case!505 !-- zero in this case! 506 506 IF ( use_top_fluxes ) THEN 507 507
Note: See TracChangeset
for help on using the changeset viewer.