source: palm/trunk/DOC/app/chapter_3.5.1.html @ 87

Last change on this file since 87 was 62, checked in by raasch, 18 years ago

Id string added to all html files

  • Property svn:keywords set to Id
File size: 27.0 KB
Line 
1<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
2<html><head>
3<meta http-equiv="CONTENT-TYPE" content="text/html; charset=windows-1252"><title>PALM
4chapter 3.5.1</title> <meta name="GENERATOR" content="StarOffice 7 (Win32)"> <meta name="AUTHOR" content="Siegfried Raasch"> <meta name="CREATED" content="20040802;11451548"> <meta name="CHANGED" content="20041112;14401801"> <meta name="KEYWORDS" content="parallel LES model"> <style>
5<!--
6@page { size: 21cm 29.7cm }
7-->
8</style></head>
9<body style="direction: ltr;" lang="en-US"><h3 style="line-height: 100%;">3.5.1 Interfaces for
10user-defined code<br>
11</h3><p style="margin-bottom: 0cm; line-height: 100%;">The
12following table
13describes the available interfaces for user-defined code in the model,
14the
15names and possible arguments of the subroutines involved as well as
16actions which can be accomplished in these subroutines. <br>
17&nbsp; </p>
18<table style="width: 100%;" border="1" cellpadding="2" cellspacing="4"> <col width="211"> <col width="117"> <col width="862"> <tbody> <tr><td width="211"> <p><font size="4"><b>Call
19location</b></font></p> </td> <td width="117"> <p><font size="4"><b>Subroutine
20name and
21argument</b></font></p> </td> <td style="width: 862px;"> <p><font size="4"><b>Possible
22actions</b></font></p> </td> </tr> <tr><td>---</td><td><span style="font-family: monospace;"><a name="user"></a>MODULE
23user</span></td><td>All
24user-defined variables which are used outside the respective local
25scopes of the user-defined subroutines have to be declared here.</td></tr><tr valign="top"> <td width="211"> <p>End
26of <tt><font style="font-size: 10pt;" size="2">parin.f90</font></tt></p>
27</td> <td width="117"> <p><tt><font style="font-size: 10pt;" size="2"><font face="Cumberland, monospace"><a name="user_parin"></a>user_parin</font></font></tt></p>
28</td> <td width="862"> <p>Declaration of
29user-defined parameters in the NAMELIST
30group <tt><font style="font-size: 10pt;" size="2">&amp;userpar</font></tt>.
31These
32parameters can be read from the local file <a href="chapter_3.4.html#PARIN">PARIN</a>
33and be used for steering the user-defined code (see <a href="chapter_4.0.html">chapter
344.0</a>). The user-defined parameter <a href="chapter_4.3.html#region">region</a>
35is already pre-defined in <tt><font style="font-size: 10pt;" size="2">&amp;userpar</font></tt>
36and must not be changed. Additional NAMELIST groups may be declared if
37desired.&nbsp; <br>
38The CPU time needed for executing <tt><font style="font-size: 10pt;" size="2">user_parin</font></tt>
39is included in the
40local file <a href="chapter_3.4.html#CPU_MEASURES">CPU_MEASURES</a>
41within the category &ldquo;initialisation&rdquo;.</p> </td>
42</tr> <tr valign="top"> <td width="211"><p>End
43of <tt><font style="font-size: 10pt;" size="2">header.f90</font></tt></p>
44</td>
45<td width="117"> <p><tt><font style="font-size: 10pt;" size="2"><font face="Cumberland, monospace"><a name="user_header"></a>user_header(
46io )</font></font></tt></p> </td> <td width="862"> <p>Output of the values of the
47user-defined parameters to
48the
49local files <a href="chapter_3.4.html#HEADER">HEADER</a>
50and <a href="chapter_3.4.html#RUN_CONTROL">RUN_CONTROL</a>.
51This output should be made anyway in order to subsequently check the
52parameter values used for the respective run. The number of the output
53unit is passed as an argument and must be used in each WRITE statement
54(e.g.: &ldquo;<tt><font face="Cumberland, monospace"><font style="font-size: 10pt;" size="2">WRITE </font><font style="font-size: 10pt;" size="2">( io,&hellip;</font></font></tt><font style="font-size: 10pt;" size="2">&rdquo;))</font>.
55By default, this
56subroutine only creates output if a user-defined NAMELIST is found in
57file <a href="chapter_3.4.html#PARIN">PARIN</a>
58(in this case <tt><font face="Thorndale, serif">the</font></tt>
59variable <tt><font style="font-size: 10pt;" size="2">user_defined_namelist_found</font></tt>
60is set&nbsp; <i>.TRUE.</i> in <tt><font style="font-size: 10pt;" size="2">user_parin</font></tt>).
61The names of any
62user-defined
63subdomains are displayed by default (see <a href="chapter_4.1.html#statistic_regions">statistic_regions</a>).</p>
64</td> </tr> <tr valign="top"> <td width="211"> <p>End of <tt><font style="font-size: 10pt;" size="2">init_3d_model.f90</font></tt></p>
65</td> <td width="117"> <p><tt><font style="font-size: 10pt;" size="2"><font face="Cumberland, monospace"><a name="user_init"></a>user_init</font></font></tt></p>
66</td> <td width="862"> <p>Here, user-defined
67initialization actions which should
68be
69accomplished before the start of the 3D-model can be implemented (e.g.
70inhomogenous change of the surface temperature, the roughness length,
71or similar). At this point, all default parameter initializations of
72the model (<a href="chapter_4.1.html">chapter
734.1</a>) have already been carried out at all.&nbsp; </p>
74<p>One of the most important actions here is the definition
75of
76user-defined subdomains for statistic analysis and output (see <a href="chapter_4.1.html#statistic_regions">statistic_regions</a>
77and <a href="chapter_3.5.3.html">chapter
783.5.3</a>) and of additional time series quantities (see comment
79line example in the file).&nbsp; <br>
80CPU time for <tt><font style="font-size: 10pt;" size="2">user_init</font></tt>
81is considered in the local file <a href="chapter_3.4.html#CPU_MEASURES">CPU_MEASURES</a>
82within the category &ldquo;initialisation&rdquo;.</p><p>See
83also <tt><font style="font-size: 10pt;" size="2"><font face="Cumberland, monospace"><a href="#user_init_3d_model">user_init_3d_model</a>.</font></font></tt></p>
84</td> </tr> <tr> <td style="vertical-align: top;"><tt><font style="font-size: 10pt;" size="2">DEFAULT</font></tt>
85case of <tt><font style="font-size: 10pt;" size="2">SELECT
86CASE( TRIM(topography) ) </font></tt>command in the
87middle&nbsp;of <tt><font style="font-size: 10pt;" size="2">init_grid.f90</font></tt></td> <td style="vertical-align: top;"><tt><font style="font-size: 10pt;" size="2"><font face="Cumberland, monospace"><a name="user_init_grid"></a>user_init_grid</font></font></tt></td>
88<td> <p>Execution of user-defined grid initializing
89actions.</p> <p>Here, the user can define the
90two-dimensional index
91array&nbsp;<tt><font style="font-size: 10pt;" size="2">nzb_local</font></tt> that is used to
92set up a non-flat topography. This requires definition of at least one
93new <a href="chapter_4.1.html#topography">topography</a>&nbsp;mode
94in the&nbsp;<tt><font style="font-size: 10pt;" size="2">SELECT CASE( TRIM(topography) ) </font></tt>command
95in&nbsp;<tt><font style="font-size: 10pt;" size="2">user_init_grid</font></tt>.
96Note that the <a href="chapter_4.1.html#topography">topography</a>&nbsp;modes
97<span style="font-style: italic;">'flat'</span>
98and <span style="font-style: italic;">'single_building'</span>
99are not allowed here since these are the standard cases used in the
100calling routine <tt><font style="font-size: 10pt;" size="2">init_grid</font></tt>. </p> <p>CPU
101time for <tt><font style="font-size: 10pt;" size="2">user_init_grid</font></tt>
102is considered in the local file <a href="chapter_3.4.html#CPU_MEASURES">CPU_MEASURES</a>
103within the category &ldquo;initialisation&rdquo;.</p> </td>
104</tr> <tr><td style="vertical-align: top;">In
105the middle of <tt><font style="font-size: 10pt;" size="2">init_3d_model.f90</font></tt></td><td style="vertical-align: top;"><span style="font-family: monospace;"></span><tt><font style="font-size: 10pt;" size="2"><font face="Cumberland, monospace"><a name="user_init_3d_model"></a>user_init_3d_<br>model</font></font></tt></td><td style="vertical-align: top;">Initialization of the 3d-model.<br><br>Allows
106the complete initialization of the 3d model. The user is responsible to
107set at least all those quantities which are normally set within <tt><font style="font-size: 10pt;" size="2">init_3d_model</font></tt>.</td></tr><tr valign="top"> <td width="211"> <p>In
108the middle of <tt><font style="font-size: 10pt;" size="2">init_particles.f90</font></tt></p>
109</td> <td width="117"> <p><tt><font style="font-size: 10pt;" size="2"><font face="Cumberland, monospace"><a name="user_init_particles"></a>user_init_</font></font></tt><font style="font-size: 10pt;" size="2"><font face="Cumberland, monospace"> <br> </font></font><tt><font style="font-size: 10pt;" size="2"><font face="Cumberland, monospace">particles</font></font></tt></p>
110</td> <td width="862"> <p>With this routine
111e.g. size and color of particles,
112which have
113been released initially from a source, can be specified. Like the
114calling routine <tt><font style="font-size: 10pt;" size="2">init_particles</font><font style="font-size: 11pt;" size="2">,</font></tt>
115this routine is only
116called if particle advection is switched on (see package parameter <a href="chapter_4.2.html#dt_prel">dt_prel</a>).</p>
117</td> </tr> <tr valign="top"> <td width="211"> <p>End of <tt><font style="font-size: 10pt;" size="2">advec_particles.f90</font></tt></p>
118</td> <td width="117"> <p><tt><font style="font-size: 10pt;" size="2"><font face="Cumberland, monospace"><a name="user_particle_attributes"></a>user_particle_</font></font></tt><font style="font-size: 10pt;" size="2"><font face="Cumberland, monospace"> <br> </font></font><tt><font style="font-size: 10pt;" size="2"><font face="Cumberland, monospace">attributes</font></font></tt></p>
119</td> <td width="862"> <p>Here the particles
120can be assigned new attributes
121(diameter,
122color etc.) after each time step. Like the calling routine <tt><font style="font-size: 10pt;" size="2">advec_particles</font><font style="font-size: 11pt;" size="2">,</font> </tt>this
123routine is only
124called if particle advection is switched on (see package parameter <a href="chapter_4.2.html#dt_prel">dt_prel</a>).</p>
125</td> </tr> <tr valign="top"> <td width="211"> <p>Before the plot of particles and
126cross-sections in <br> <tt><font style="font-size: 10pt;" size="2">dvrp_plot.f90</font></tt></p>
127</td> <td width="117"> <p><tt><font style="font-size: 10pt;" size="2"><font face="Cumberland, monospace"><a name="user_dvrp_coltab"></a>user_dvrp_coltab
128(</font></font></tt><tt><font style="font-size: 10pt;" size="2"><font face="Cumberland, monospace"> mode )</font></font></tt></p>
129</td> <td width="862"> <p>With this routine,
130color tables can be adjusted which
131should
132be used for output with the dvrp software. Individuell color tables for
133particles and cross-sections are possible. For this purpose the two
134arrays <tt><font style="font-size: 10pt;" size="2">interval_values_dvrp</font></tt>
135and <tt><font style="font-size: 10pt;" size="2">interval_h_dvrp</font></tt>
136(declared in the module <tt><font style="font-size: 10pt;" size="2">dvrp_variables</font></tt>)
137have to be preset with appropriate values. The number of color table
138entries must be assigned to the variable of <tt><font style="font-size: 10pt;" size="2">dvrp_colourtable_entries</font></tt>.
139The value of the subroutine argument <span style="font-family: monospace;">mode</span> defines,
140whether the color
141table is valid for particles or for cross-sections<span style="font-family: monospace;"></span> (i.e. <tt><font size="2">mode</font></tt>
142can have the values &ldquo;<i>particles&rdquo;</i>
143or &ldquo;<i>slicer&rdquo;</i>).&nbsp; <br>
144This routine only becomes active if dvrp-graphics is switched on (see
145package parameter <a href="chapter_4.2.html#dt_dvrp">dt_dvrp</a>).</p>
146</td> </tr> <tr valign="top"> <td width="211"> <p>Beginning and end of the time
147integration loop
148of&nbsp; <br> <tt><font style="font-size: 10pt;" size="2">time_integration.f90</font></tt>
149as well as after each prognostic equation in <br> <tt><font style="font-size: 10pt;" size="2">prognostic_equations.f90</font></tt></p>
150</td> <td width="117"> <p><tt><font style="font-size: 10pt;" size="2"><font face="Cumberland, monospace"><a name="user_actions"></a>user_actions(
151location )</font></font></tt><font style="font-size: 10pt;" size="2"><font face="Cumberland, monospace"> </font></font> </p>
152<p>or<br> <font face="Cumberland, monospace"><font style="font-size: 10pt;" size="2"> </font></font>
153</p> <p><tt><font style="font-size: 10pt;" size="2"><font face="Cumberland, monospace">user_actions(
154i, j,</font></font></tt><span style="font-family: Cumberland,monospace;"> </span><tt><font style="font-size: 10pt;" size="2"><font face="Cumberland, monospace">location )</font></font></tt></p>
155</td> <td width="862"> <p>In this routine
156user actions can be implemented which
157are to
158be executed either at each time step or at certain times (defined by
159the user). Since in each case the routine is called at the beginning
160and at the end of a time step as well as after each prognostic equation
161it must be defined at which place (and/or at which places) the
162respective actions are supposed to be executed. For this purpose an
163appropriate CASE structure is already inserted in this routine. The
164location of the calling routine is passed to this routine via the
165argument <tt><font style="font-size: 10pt;" size="2">location</font></tt>.
166For example, if called at the beginning of a time step, <tt><font style="font-size: 10pt;" size="2">location</font></tt>
167=&nbsp;<i>'before_timestep' </i>and if
168called at the end, <tt><font style="font-size: 10pt;" size="2">location</font></tt><font style="font-size: 10pt;" size="2"> </font>=&nbsp;<i>'after_timestep'</i><span style="font-weight: bold;">.</span></p><p>Calculation
169of user-defined output quantities should be carried out at <span style="font-family: monospace;">location</span> = <span style="font-style: italic;">'after_integration'</span>.<span style="font-weight: bold;"></span></p><p><span style="font-weight: bold;">Important:</span>
170if the
171cache-optimized version of <span style="font-family: monospace;">prognostic_equation.f90</span>
172is used (this is the default for IBM-Regatta-Systems), the loop
173variables <tt>i</tt> and <tt>j</tt> must be
174passed as arguments for
175all calls within <span style="font-family: monospace;">prognostic_equations</span>.
176</p> <p>CPU time for <tt><font style="font-size: 10pt;" size="2">user_actions</font></tt>
177appears within the category &ldquo;user_actions&rdquo; in the
178local file <a href="chapter_3.4.html#CPU_MEASURES">CPU_MEASURES</a>.
179If the cache-optimized version of <span style="font-family: monospace;">prognostic_equation.f90</span>
180is used, this time measurement only considers the CPU time which was
181needed outside of the prognostic equations. Time needed for calls
182within prognostic_equations is considered within the category "all
183prog.equations".<br> </p> <p><b>Important:</b>
184this subroutine is written
185as a FORTRAN
186module, which uses so-called function overloading. It can be called in
187two ways: with one argument (<tt><font style="font-size: 10pt;" size="2">location</font></tt>)
188and with three arguments <font style="font-size: 10pt;" size="2">(</font><tt><font style="font-size: 10pt;" size="2">i, j, location</font></tt><font style="font-size: 10pt;" size="2">)</font>. The
189three argument version
190is used in the cache-optimized version of <span style="font-family: monospace;">prognostic_equations</span>.
191Depending
192on the number of given arguments the subroutine internally calls <tt><font style="font-size: 10pt;" size="2">user_actions</font></tt>
193or <tt><font style="font-size: 10pt;" size="2">user_actions_ij</font></tt>.
194So the
195user must insert the actions (code extensions) desired for the
196respective prognostic equation either in the CASE structure of <tt><font style="font-size: 10pt;" size="2">user_actions</font><font style="font-size: 11pt;" size="2">,</font> </tt>or/and
197in the CASE
198structure of <tt><font style="font-size: 10pt;" size="2">user_actions_ij</font></tt>!</p> </td>
199</tr> <tr valign="top"> <td width="211"><p><tt><font style="font-size: 10pt;" size="2">flow_statistics.f90</font></tt>
200before the summation of array <span style="font-family: monospace;">hom</span>
201(horizontal averages)<br> </p> </td> <td width="117"> <p><tt><font style="font-size: 10pt;" size="2"><font face="Cumberland, monospace"><a name="user_statistics"></a>user_statistics<br>(
202sr )</font></font></tt></p> </td> <td width="862"> <p>Horizontal
203averages of vertical profiles of user-defined
204quantities can be computed here. Also, additional time series
205quantities can be calculated. They have to be defined before in routine
206<a href="#user_init"><span style="font-family: Courier New,Courier,monospace;">user_init</span></a>.
207The routine is called once for each defined statistic region (see <a href="chapter_4.1.html#statistic_region">statistic_region</a>).</p><p></p><p>The
208routine contains some simple examples (as comment lines) in order to
209demonstrate how to use it.</p><p><br>Profiles have to
210be written to
211the array <tt><font style="font-size: 10pt;" size="2">sums</font></tt>.
212Please use profile numbers starting from 70 upward (thus e.g. <tt><font style="font-size: 10pt;" size="2">sums (&hellip;,
21360) =</font></tt><font style="font-size: 10pt;" size="2">&hellip;)</font>. These additional
214profiles
215are temporally averaged in <tt><font style="font-size: 10pt;" size="2">flow_statistics</font></tt>.</p> </td>
216</tr> <tr><td style="vertical-align: top;">End
217of <span style="font-family: monospace;">check_parameters.f90</span>
218where output quantities are checked</td><td style="vertical-align: top;"><span style="font-family: monospace;"><a name="user_check_data_output"></a>user_check_data_<br>output(
219variable, unit )</span></td><td style="vertical-align: top;">Here the <span style="font-family: monospace;">unit</span>(s) of
220user-defined output quantities (see <a href="chapter_4.3.html#data_output_user">data_output_user</a>)
221have to be set. Input parameter <span style="font-family: monospace;">variable</span>
222contains the string identifier of the respective variable. For those
223variables not recognized by the user, the parameter <span style="font-family: monospace;">unit</span> is set to
224"illegal", which tells the calling routine that the output variable is
225not defined and leads to a program abort.<br><br>See <a href="chapter_3.5.4.html">chapter 3.5.4</a> about
226creating user-defined output quantities.</td></tr><tr><td style="vertical-align: top;"><span style="font-family: monospace;">netcdf.f90</span> (4
227times) where the vertical grid coordinates for cross sections and
228volume data are defined</td><td style="vertical-align: top;"><span style="font-family: monospace;"><a name="user_define_netcdf_grid"></a>user_define_<br>netcdf_grid(
229variable, found, grid_x, grid_y, grid_z )</span></td><td style="vertical-align: top;">Set the grid on which
230user-defined output quantities (see <a href="chapter_4.3.html#data_output_user">data_output_user</a>)
231are defined. Input parameter <span style="font-family: monospace;">variable</span>
232contains the string identifier of the respective variable. Allowed
233values are <span style="font-style: italic;">'x'</span>
234and <span style="font-style: italic;">'xu'</span>
235for <span style="font-family: monospace;">grid_x</span>,
236<span style="font-style: italic;">'y'</span> and <span style="font-style: italic;">'yv'</span> for <span style="font-family: monospace;">grid_y</span>, and<span style="font-family: monospace;"></span>&nbsp;<span style="font-style: italic;">'zu'</span> and <span style="font-style: italic;">'zw'</span> for <span style="font-family: monospace;">grid_z</span>. The
237output parameter <span style="font-family: monospace;">found</span>
238has to be set <span style="font-style: italic;">.TRUE.</span>
239by the user, otherwise an error message will appear in the job protocol
240for the respective output quantity.<br><br><span style="font-weight: bold;">Example:</span><br>If
241an output quantity is defined at the center of the grid boxes, the
242following settings have to be used:<br><br><div style="margin-left: 40px;"><span style="font-family: monospace;">grid_x = <span style="font-style: italic;">'x'</span></span><br style="font-family: monospace;"><span style="font-family: monospace;">grid_y = <span style="font-style: italic;">'y'</span></span><br style="font-family: monospace;"><span style="font-family: monospace;">grid_z = <span style="font-style: italic;">'zu'</span></span><br style="font-family: monospace;"><span style="font-family: monospace;">found &nbsp;= <span style="font-style: italic;">.TRUE.</span></span><br></div><br>For
243defining an output quantity at the grid points where the
244u-velocity-component is defined, please use<br><br><div style="margin-left: 40px;"><span style="font-family: monospace;">grid_x = <span style="font-style: italic;">'xu'</span></span><br style="font-family: monospace;"><span style="font-family: monospace;">grid_y = <span style="font-style: italic;">'y'</span></span><br style="font-family: monospace;"><span style="font-family: monospace;">grid_z = <span style="font-style: italic;">'zu'</span></span><br style="font-family: monospace;"><span style="font-family: monospace;">found &nbsp;= <span style="font-style: italic;">.TRUE.</span></span><br></div><br>See
245<a href="chapter_3.5.4.html">chapter 3.5.4</a> about
246creating user-defined output quantities.</td></tr><tr><td style="vertical-align: top;">Middle of <span style="font-family: monospace;">data_output_2d.f90</span></td><td style="vertical-align: top;"><span style="font-family: monospace;"><a name="user_data_output_2d"></a>user_data_<br>output_2d(
247av, variable, found, grid, local_pf )</span></td><td style="vertical-align: top;">Resorts&nbsp;user-defined&nbsp;quantities
248(to be output as cross-section data;&nbsp;see <a href="chapter_4.3.html#data_output_user">data_output_user</a>)
249with indices (k,j,i) to a temporary array <span style="font-family: monospace;">local_pf</span> with
250indices (i,j,k) and sets the <span style="font-family: monospace;">grid</span>
251on which they are defined. Depending on the value of input parameter <span style="font-family: monospace;">av</span> resorting is
252done for instantaneous (<span style="font-family: monospace;">av</span>=<span style="font-style: italic;">0</span>) or time averaged
253data (<span style="font-family: monospace;">av</span>=<span style="font-style: italic;">1</span>). Input parameter
254<span style="font-family: monospace;">variable</span>
255contains the string identifier of the respective variable. Allowed
256values for <span style="font-family: monospace;">grid</span>
257are&nbsp;<span style="font-style: italic;">'zu'</span>
258and&nbsp;<span style="font-style: italic;">'zw'</span>.
259The output parameter <span style="font-family: monospace;">found</span>
260has to be set <span style="font-style: italic;">.TRUE.</span>
261by the user, otherwise an error message will appear in the job protocol
262for the respective output quantity.<br><br>See <a href="chapter_3.5.4.html">chapter 3.5.4</a> about
263creating user-defined output quantities.</td></tr><tr><td style="vertical-align: top;"><span style="font-family: monospace;">data_output_3d.f90</span>
264at the end of the CASE structure</td><td style="vertical-align: top;"><span style="font-family: monospace;"><a name="user_data_output_3d"></a>user_data_<br>output_3d(
265av, variable, found, local_pf, nz_do )</span></td><td style="vertical-align: top;">Resorts&nbsp;user-defined&nbsp;quantities
266(to be output as volume data;&nbsp;see <a href="chapter_4.3.html#data_output_user">data_output_user</a>)
267with indices (k,j,i) to a temporary array <span style="font-family: monospace;">local_pf</span> with
268indices (i,j,k) and sets the <span style="font-family: monospace;">grid</span>
269on which they are defined. Depending on the value of input parameter <span style="font-family: monospace;">av</span> resorting is
270done for instantaneous (<span style="font-family: monospace;">av</span>=<span style="font-style: italic;">0</span>) or time averaged
271data (<span style="font-family: monospace;">av</span>=<span style="font-style: italic;">1</span>). Input parameter
272<span style="font-family: monospace;">variable</span>
273contains the string identifier of the respective variable<span style="font-family: monospace;"></span><span style="font-style: italic;"></span><span style="font-style: italic;"></span>. The input
274parameter <span style="font-family: monospace;">nz_do</span>
275defines the upper limit of vertical grid index k of the output array
276(see <a href="chapter_4.2.html#nz_do3d">nz_do3d</a>).
277The output parameter <span style="font-family: monospace;">found</span>
278has to be set <span style="font-style: italic;">.TRUE.</span>
279by the user, otherwise an error message will appear in the job protocol
280for the respective output quantity.<br><br>See <a href="chapter_3.5.4.html">chapter 3.5.4</a> about
281creating user-defined output quantities.</td></tr><tr><td style="vertical-align: top;">End of <span style="font-family: monospace;">average_3d_data.f90</span>,
282middle and end of <span style="font-family: monospace;">sum_up_3d_data.f90</span></td><td style="vertical-align: top;"><span style="font-family: monospace;"><a name="user_3d_data_averaging"></a>user_3d_data_<br>averaging(
283mode, variable )</span></td><td style="vertical-align: top;">Sum up and time-average of
284user-defined output quantities (see <a href="chapter_4.3.html#data_output_user">data_output_user</a>)
285as well as allocation of the arrays necessary for storing the
286respective averages. Input parameter <span style="font-family: monospace;">variable</span>
287contains the string identifier of the respective variable. Depending on
288the requested action, input parameter <span style="font-family: monospace;">mode</span> has the
289value <span style="font-style: italic;">'allocate'</span>,
290<span style="font-style: italic;">'sum'</span>, or <span style="font-style: italic;">'average'</span>.<br><br>See
291<a href="chapter_3.5.4.html">chapter 3.5.4</a> about
292creating user-defined output quantities. </td></tr><tr valign="top"> <td width="211"> <p>End
293of <tt><font style="font-size: 10pt;" size="2">palm.f90</font></tt></p>
294</td> <td width="117"> <p><tt><font style="font-size: 10pt;" size="2"><font face="Cumberland, monospace"><a name="user_last_action"></a>user_last_</font></font></tt><font style="font-size: 10pt;" size="2"><font face="Cumberland, monospace"> <br> </font></font><tt><font style="font-size: 10pt;" size="2"><font face="Cumberland, monospace">action</font></font></tt></p>
295</td> <td width="862"> <p>User-defined
296actions which are to be executed at the end
297of a
298model run. When <tt><font style="font-size: 10pt;" size="2">user_last_actions</font></tt>
299is called all model actions are already completed, but the files opened
300by the model are not closed yet and possibly terminating actions for
301these files (see subroutine of <tt><font style="font-size: 10pt;" size="2">close_files</font></tt>)
302are also not carried
303out yet.&nbsp; <br>
304CPU time for <tt><font style="font-size: 10pt;" size="2">user_last_actions</font></tt>
305appears in the local file <a href="chapter_3.4.html#CPU_MEASURES">CPU_MEASURES</a>
306within the category &ldquo;last actions&rdquo; (the time
307necessary for <tt><font style="font-size: 10pt;" size="2">close_files</font></tt> is included).</p>
308</td> </tr> </tbody></table><hr>
309<p style="line-height: 100%;"><br><font color="#000080"><font color="#000080"><a href="chapter_3.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.5.2.html"><font color="#000080"><img src="right.gif" name="Grafik3" align="bottom" border="2" height="32" width="32"></font></a></font></font></p><p style="line-height: 100%;"><i>Last
310change: </i>$Id: chapter_3.5.1.html 62 2007-03-13 02:52:40Z raasch $</p>
311</body></html>
Note: See TracBrowser for help on using the repository browser.