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

Last change on this file since 53 was 48, checked in by raasch, 18 years ago

preliminary version, several changes to be explained later

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