source: palm/trunk/DOC/tec/technical_documentation.html @ 481

Last change on this file since 481 was 481, checked in by raasch, 15 years ago

file structure of technical documentation revised; documents concerning numerical methods added

  • Property svn:keywords set to Id
File size: 46.2 KB
Line 
1<!DOCTYPE html PUBLIC "-//w3c//dtd html 4.0 transitional//en">
2<html><head>
3
4
5
6<meta content="text/html; charset=ISO-8859-1" http-equiv="Content-Type"> <meta content="Mozilla/4.73 [en] (X11; U; HP-UX B.10.20 9000/782) [Netscape]" name="GENERATOR"> <meta content="Siegfried Raasch" name="Author"> <meta content="parallel LES model" name="Keywords"><title>PALM technical/numerical documentation</title></head><body><font size="+4">PALM&nbsp;&nbsp;
7</font>a
8<b>pa</b>rallelized
9<b>L</b>ES <b>m</b>odel
10<br><hr width="100%">
11<br><font size="+2">technical/numerical documentation</font>
12<br>&nbsp;
13<br>&nbsp;
14<br><table nosave="" cellpadding="0" cellspacing="0"> <caption>&nbsp; <br> </caption><tbody>
15</tbody><tbody> </tbody> <tbody> <tr nosave=""> <td nosave=""><b>Current fixed release:</b></td> <td><span style="font-weight: bold;">3.7<br>
16</span></td> </tr>
17<tr nosave=""> <td nosave=""><b>Last
18change of this document</b>:&nbsp;</td> <td nosave=""><b>$Id: technical_documentation.html 481 2010-02-05 03:52:33Z raasch $</b></td> </tr>
19</tbody>
20</table><hr width="100%">
21<p><font size="+2">Table of contents</font>
22<br>&nbsp;
23<br>&nbsp;
24</p><ul> <a href="#Kapitel1.0">1.0</a>&nbsp;
25History of changes <p><a href="#Kapitel2.0">2.0</a>&nbsp;
26How to change the model source
27code </p> <p><a href="#Kapitel3.0">3.0</a>&nbsp;
28Description of selected model numerics<br>
29&nbsp;</p>
30</ul><b></b><br>
31
32<h2><a name="Kapitel1.0"></a>1.0&nbsp;
33History of changes</h2>
34The following table documents all changes to the PALM repository since 2009. Older changes can be found <a href="tec_doc_1998-2008.html">here</a>.<br>
35<br>
36Entries in the fourth column specify the type of the change:
37change&nbsp;
38of existing code (C), new code (N) or bugfix (B). More detailed
39information
40about the changes may sometimes be found in the header comment lines of the
41respective
42routines.
43<br>&nbsp;
44<br>
45<table style="text-align: left; width: 100%; vertical-align: top;" border="1" cellpadding="2" cellspacing="2">
46  <tbody>
47    <tr>
48      <td style="vertical-align: bottom; width: 27px;"><big><span style="font-weight: bold;">date</span></big><br>
49      <br>
50      </td>
51      <td style="width: 38px;"><big><span style="font-weight: bold;">author</span></big><br>
52      </td>
53      <td style="width: 42px;"><big><span style="font-weight: bold;">svn revision</span></big><br>
54      </td>
55      <td style="width: 40px;"><big><span style="font-weight: bold;">latest release</span></big><br>
56      </td>
57      <td style="width: 27px;"><big><span style="font-weight: bold;">type</span></big><br>
58      </td>
59      <td style="width: 497px;"><big><span style="font-weight: bold;">description</span></big><br>
60      </td>
61      <td style="width: 189px;"><big><span style="font-weight: bold;">affected routines</span></big><br>
62      </td>
63    </tr>
64    <tr>
65      <td style="vertical-align: top; width: 27px;"><br>
66      </td>
67      <td style="vertical-align: top; width: 38px;"><br>
68      </td>
69      <td style="vertical-align: top; width: 42px;"><br>
70      </td>
71      <td style="vertical-align: top; width: 40px;"><br>
72      </td>
73      <td style="vertical-align: top; width: 27px;"><br>
74      </td>
75      <td style="vertical-align: top; width: 497px;"><br>
76      </td>
77      <td style="vertical-align: top; width: 189px;"><br>
78      </td>
79    </tr>
80    <tr>
81      <td style="vertical-align: top; width: 27px;"><br>
82      </td>
83      <td style="vertical-align: top; width: 38px;"><br>
84      </td>
85      <td style="vertical-align: top; width: 42px;"><br>
86      </td>
87      <td style="vertical-align: top; width: 40px;"><br>
88      </td>
89      <td style="vertical-align: top; width: 27px;"><br>
90      </td>
91      <td style="vertical-align: top; width: 497px;"><br>
92      </td>
93      <td style="vertical-align: top; width: 189px;"><br>
94      </td>
95    </tr>
96    <tr>
97      <td style="vertical-align: top; width: 27px;"><br>
98      </td>
99      <td style="vertical-align: top; width: 38px;"><br>
100      </td>
101      <td style="vertical-align: top; width: 42px;"><br>
102      </td>
103      <td style="vertical-align: top; width: 40px;"><br>
104      </td>
105      <td style="vertical-align: top; width: 27px;"><br>
106      </td>
107      <td style="vertical-align: top; width: 497px;"><br>
108      </td>
109      <td style="vertical-align: top; width: 189px;"><br>
110      </td>
111    </tr>
112    <tr>
113      <td style="vertical-align: top; width: 27px;"><br>
114      </td>
115      <td style="vertical-align: top; width: 38px;"><br>
116      </td>
117      <td style="vertical-align: top; width: 42px;"><br>
118      </td>
119      <td style="vertical-align: top; width: 40px;"><br>
120      </td>
121      <td style="vertical-align: top; width: 27px;"><br>
122      </td>
123      <td style="vertical-align: top; width: 497px;"><br>
124      </td>
125      <td style="vertical-align: top; width: 189px;"><br>
126      </td>
127    </tr>
128    <tr>
129      <td style="vertical-align: top; width: 27px;"><br>
130      </td>
131      <td style="vertical-align: top; width: 38px;"><br>
132      </td>
133      <td style="vertical-align: top; width: 42px;"><br>
134      </td>
135      <td style="vertical-align: top; width: 40px;"><br>
136      </td>
137      <td style="vertical-align: top; width: 27px;"><br>
138      </td>
139      <td style="vertical-align: top; width: 497px;"><br>
140      </td>
141      <td style="vertical-align: top; width: 189px;"><br>
142      </td>
143    </tr>
144    <tr>
145      <td style="vertical-align: top; width: 27px;"><br>
146      </td>
147      <td style="vertical-align: top; width: 38px;"><br>
148      </td>
149      <td style="vertical-align: top; width: 42px;"><br>
150      </td>
151      <td style="vertical-align: top; width: 40px;"><br>
152      </td>
153      <td style="vertical-align: top; width: 27px;"><br>
154      </td>
155      <td style="vertical-align: top; width: 497px;"><br>
156      </td>
157      <td style="vertical-align: top; width: 189px;"><br>
158      </td>
159    </tr>
160    <tr>
161      <td style="vertical-align: top; width: 27px;"><br>
162      </td>
163      <td style="vertical-align: top; width: 38px;"><br>
164      </td>
165      <td style="vertical-align: top; width: 42px;"><br>
166      </td>
167      <td style="vertical-align: top; width: 40px;"><br>
168      </td>
169      <td style="vertical-align: top; width: 27px;"><br>
170      </td>
171      <td style="vertical-align: top; width: 497px;"><br>
172      </td>
173      <td style="vertical-align: top; width: 189px;"><br>
174      </td>
175    </tr>
176    <tr>
177      <td style="vertical-align: top; width: 27px;"><br>
178      </td>
179      <td style="vertical-align: top; width: 38px;"><br>
180      </td>
181      <td style="vertical-align: top; width: 42px;"><br>
182      </td>
183      <td style="vertical-align: top; width: 40px;"><br>
184      </td>
185      <td style="vertical-align: top; width: 27px;"><br>
186      </td>
187      <td style="vertical-align: top; width: 497px;"><br>
188      </td>
189      <td style="vertical-align: top; width: 189px;"><br>
190      </td>
191    </tr>
192    <tr>
193      <td style="vertical-align: top; width: 27px;"><br>
194      </td>
195      <td style="vertical-align: top; width: 38px;"><br>
196      </td>
197      <td style="vertical-align: top; width: 42px;"><br>
198      </td>
199      <td style="vertical-align: top; width: 40px;"><br>
200      </td>
201      <td style="vertical-align: top; width: 27px;"><br>
202      </td>
203      <td style="vertical-align: top; width: 497px;"><br>
204      </td>
205      <td style="vertical-align: top; width: 189px;"><br>
206      </td>
207    </tr>
208    <tr>
209      <td style="vertical-align: top; width: 27px;"><br>
210      </td>
211      <td style="vertical-align: top; width: 38px;"><br>
212      </td>
213      <td style="vertical-align: top; width: 42px;"><br>
214      </td>
215      <td style="vertical-align: top; width: 40px;"><br>
216      </td>
217      <td style="vertical-align: top; width: 27px;"><br>
218      </td>
219      <td style="vertical-align: top; width: 497px;"><br>
220      </td>
221      <td style="vertical-align: top; width: 189px;"><br>
222      </td>
223    </tr>
224    <tr>
225      <td style="vertical-align: top; width: 27px;"><br>
226      </td>
227      <td style="vertical-align: top; width: 38px;"><br>
228      </td>
229      <td style="vertical-align: top; width: 42px;"><br>
230      </td>
231      <td style="vertical-align: top; width: 40px;"><br>
232      </td>
233      <td style="vertical-align: top; width: 27px;"><br>
234      </td>
235      <td style="vertical-align: top; width: 497px;"><br>
236      </td>
237      <td style="vertical-align: top; width: 189px;"><br>
238      </td>
239    </tr>
240    <tr>
241      <td style="vertical-align: top; width: 27px;"><br>
242      </td>
243      <td style="vertical-align: top; width: 38px;"><br>
244      </td>
245      <td style="vertical-align: top; width: 42px;"><br>
246      </td>
247      <td style="vertical-align: top; width: 40px;"><br>
248      </td>
249      <td style="vertical-align: top; width: 27px;"><br>
250      </td>
251      <td style="vertical-align: top; width: 497px;"><br>
252      </td>
253      <td style="vertical-align: top; width: 189px;"><br>
254      </td>
255    </tr>
256    <tr>
257      <td style="vertical-align: top; width: 27px;"><br>
258      </td>
259      <td style="vertical-align: top; width: 38px;"><br>
260      </td>
261      <td style="vertical-align: top; width: 42px;"><br>
262      </td>
263      <td style="vertical-align: top; width: 40px;"><br>
264      </td>
265      <td style="vertical-align: top; width: 27px;"><br>
266      </td>
267      <td style="vertical-align: top; width: 497px;"><br>
268      </td>
269      <td style="vertical-align: top; width: 189px;"><br>
270      </td>
271    </tr>
272    <tr>
273      <td style="vertical-align: top; width: 27px;">23/09/09<br>
274      </td>
275      <td style="vertical-align: top; width: 38px;">SR<br>
276      </td>
277      <td style="vertical-align: top; width: 42px;">392<br>
278      </td>
279      <td style="vertical-align: top; width: 40px;">3.7<br>
280      </td>
281      <td style="vertical-align: top; width: 27px;">N<br>
282      </td>
283      <td style="vertical-align: top; width: 497px;"><span style="font-weight: bold;">Most
284important changes:</span>
285atmosphere-ocean coupling has been improved and steering of
286dvr-software is more user-friendly now. Beside that, the release
287contains a lot of optimizations, changes, and bugfixes which have
288accumulated over the last months.<br>
289
290      <br>
291
292The atmosphere-ocean coupling allows to use independent precursor runs
293in order to account for different spin-up times. The time when coupling
294has to be started is given by new inipar parameter <span style="font-family: Courier New,Courier,monospace;">coupling_start_time</span>.
295The precursor ocean run has to be started using new <span style="font-weight: bold;">mrun</span> option "<span style="font-family: Courier New,Courier,monospace;">-y</span>" in
296order to add the appendix "<span style="font-family: Courier New,Courier,monospace;">_O</span>" to all
297output files. (<span style="font-family: Courier New,Courier,monospace;">check_for_restart</span>,
298      <span style="font-family: Courier New,Courier,monospace;">check_parameters</span>,
299      <span style="font-family: Courier New,Courier,monospace;">data_output_2d</span>,
300      <span style="font-family: Courier New,Courier,monospace;">data_output_3d</span>,
301      <span style="font-family: Courier New,Courier,monospace;">data_output_profiles</span>,
302      <span style="font-family: Courier New,Courier,monospace;">data_output_ptseries</span>,
303      <span style="font-family: Courier New,Courier,monospace;">data_output_spectra</span>,
304      <span style="font-family: Courier New,Courier,monospace;">data_output_tseries</span>,
305      <span style="font-family: Courier New,Courier,monospace;">header</span>,
306      <span style="font-family: Courier New,Courier,monospace;">init_coupling</span>,
307      <span style="font-family: Courier New,Courier,monospace;">modules</span>,
308      <span style="font-family: Courier New,Courier,monospace;">mrun</span>,
309      <span style="font-family: Courier New,Courier,monospace;">parin</span>,
310      <span style="font-family: Courier New,Courier,monospace;">read_var_list</span>,
311      <span style="font-family: Courier New,Courier,monospace;">surface_coupler</span>,
312      <span style="font-family: Courier New,Courier,monospace;">time_integration</span>,
313      <span style="font-family: Courier New,Courier,monospace;">write_var_list</span>)<br>
314
315      <br>
316
317Clipping of dvrp output implemented. Default colourtable for particles
318implemented, particle attributes (color, dvrp_size) can be set with new
319parameters <span style="font-family: Courier New,Courier,monospace;">particle_color</span>,
320      <span style="font-family: Courier New,Courier,monospace;">particle_dvrpsize</span>,
321      <span style="font-family: Courier New,Courier,monospace;">color_interval</span>,
322      <span style="font-family: Courier New,Courier,monospace;">dvrpsize_interval</span>.
323Slicer attributes (dvrp) are set with new routine <span style="font-family: Courier New,Courier,monospace;">set_slicer_attributes_dvrp</span>
324and are controlled with existing parameters <span style="font-family: Courier New,Courier,monospace;">slicer_range_limits</span>.
325(<span style="font-family: Courier New,Courier,monospace;">init_dvrp</span>,
326      <span style="font-family: Courier New,Courier,monospace;">data_output_dvrp</span>,
327      <span style="font-family: Courier New,Courier,monospace;">modules</span>,
328      <span style="font-family: Courier New,Courier,monospace;">set_slicer_attributes_dvrp</span>,&nbsp;
329      <span style="font-family: Courier New,Courier,monospace;">user_data_output_dvrp</span>)<br>
330
331      <br>
332
333Polygon reduction for topography and ground plate isosurface. Reduction
334level for buildings can be chosen with parameter cluster_size. (<span style="font-family: Courier New,Courier,monospace;">init_dvrp</span>)<br>
335
336      <br>
337
338Variables <span style="font-family: Courier New,Courier,monospace;">bc_lr</span>
339/ <span style="font-family: Courier New,Courier,monospace;">bc_ns</span>&nbsp;
340in most subroutines replaced by LOGICAL variables <span style="font-family: Courier New,Courier,monospace;">bc_lr_cyc</span>,<br>
341
342      <span style="font-family: Courier New,Courier,monospace;">bc_ns_cyc</span>
343for speed optimization. This gives a significant speedup of more than
34410%. (<span style="font-family: Courier New,Courier,monospace;">check_parameters</span>,
345      <span style="font-family: Courier New,Courier,monospace;">diffusion_u</span>,
346      <span style="font-family: Courier New,Courier,monospace;">diffusion_v</span>,
347      <span style="font-family: Courier New,Courier,monospace;">diffusion_w</span>,
348      <span style="font-family: Courier New,Courier,monospace;">modules</span>)<br>
349
350      <br>
351
352Scripts have been adapted for machine lck (Yonsei Univ.). (<span style="font-family: Courier New,Courier,monospace;">mrun</span>, <span style="font-family: Courier New,Courier,monospace;">mbuild</span>, <span style="font-family: Courier New,Courier,monospace;">subjob</span>)<br>
353
354      <br>
355
356Additional timestep criterion in case of simulations with plant canopy.
357(<span style="font-family: Courier New,Courier,monospace;">timestep</span>)<br>
358
359      <br>
360
361Check for illegal entries in <span style="font-family: Courier New,Courier,monospace;">section_xy</span>|<span style="font-family: Courier New,Courier,monospace;">xz</span>|<span style="font-family: Courier New,Courier,monospace;">yz</span> that
362exceed <span style="font-family: Courier New,Courier,monospace;">nz+1</span>|<span style="font-family: Courier New,Courier,monospace;">ny+1</span>|<span style="font-family: Courier New,Courier,monospace;">nx+1</span>. (<span style="font-family: Courier New,Courier,monospace;">check_parameters</span>)<br>
363
364      <br>
365
366External pressure gradient can be used as driving force. (<span style="font-family: Courier New,Courier,monospace;">check_parameters</span>,
367      <span style="font-family: Courier New,Courier,monospace;">header</span>,
368      <span style="font-family: Courier New,Courier,monospace;">init_3d_model</span>,
369      <span style="font-family: Courier New,Courier,monospace;">modules</span>,
370      <span style="font-family: Courier New,Courier,monospace;">parin</span>,
371      <span style="font-family: Courier New,Courier,monospace;">prognostic_equations</span>,
372      <span style="font-family: Courier New,Courier,monospace;">read_var_list</span>,
373      <span style="font-family: Courier New,Courier,monospace;">write_var_list</span>)<br>
374
375      <br>
376
377New topography case '<span style="font-style: italic;">single_street_canyon</span>'.
378(<span style="font-family: Courier New,Courier,monospace;">header</span>,
379      <span style="font-family: Courier New,Courier,monospace;">init_grid</span>,
380      <span style="font-family: Courier New,Courier,monospace;">modules</span>,
381      <span style="font-family: Courier New,Courier,monospace;">parin</span>,
382      <span style="font-family: Courier New,Courier,monospace;">read_var_list</span>,
383      <span style="font-family: Courier New,Courier,monospace;">user_check_parameters</span>,
384      <span style="font-family: Courier New,Courier,monospace;">user_header</span>,
385      <span style="font-family: Courier New,Courier,monospace;">user_init_grid</span>,
386      <span style="font-family: Courier New,Courier,monospace;">write_var_list</span>)<br>
387
388      <br>
389
390Option to predefine a target bulk velocity for <span style="font-family: Courier New,Courier,monospace;">conserve_volume_flow</span>.
391(<span style="font-family: Courier New,Courier,monospace;">check_parameters</span>,
392      <span style="font-family: Courier New,Courier,monospace;">header</span>,
393      <span style="font-family: Courier New,Courier,monospace;">init_3d_model</span>,
394      <span style="font-family: Courier New,Courier,monospace;">modules</span>,
395      <span style="font-family: Courier New,Courier,monospace;">parin</span>,
396      <span style="font-family: Courier New,Courier,monospace;">read_var_list</span>,
397      <span style="font-family: Courier New,Courier,monospace;">write_var_list</span>)<br>
398
399      <br>
400
401Option for user defined 2D data output in xy cross sections at z=<span style="font-family: Courier New,Courier,monospace;">nzb</span>+1. (<span style="font-family: Courier New,Courier,monospace;">data_output_2d</span>,
402      <span style="font-family: Courier New,Courier,monospace;">user_data_output_2d</span>)<br>
403
404      <br>
405
406xy cross section output of surface heatfluxes (sensible and latent). (<span style="font-family: Courier New,Courier,monospace;">average_3d_data</span>,
407      <span style="font-family: Courier New,Courier,monospace;">check_parameters</span>,
408      <span style="font-family: Courier New,Courier,monospace;">data_output_2d</span>,
409      <span style="font-family: Courier New,Courier,monospace;">modules</span>,
410      <span style="font-family: Courier New,Courier,monospace;">read_3d_binary</span>,
411      <span style="font-family: Courier New,Courier,monospace;">sum_up_3d_data</span>,
412      <span style="font-family: Courier New,Courier,monospace;">write_3d_binary</span>)</td>
413      <td style="vertical-align: top; width: 189px;">average_3d_data,
414check_for_restart, check_parameters, data_output_2d, data_output_3d,
415data_output_dvrp, data_output_profiles, data_output_ptseries,
416data_output_spectra, data_output_tseries, diffusion_u, diffusion_v,
417diffusion_w, init_coupling, init_dvrp, init_grid, init_3d_model,
418header, mbuild, modules, mrun, package_parin, parin,
419prognostic_equations, read_3d_binary, read_var_list, subjob,
420sum_up_3d_data, surface_coupler, timestep, time_integration,
421user_check_parameters, user_data_output_2d, user_data_output_dvrp,
422user_header, user_init_grid, write_3d_binary, write_var_list<br>
423
424      <br>
425
426      <span style="font-weight: bold;">new:</span>
427set_particle_attributes, set_slicer_attributes_dvrp</td>
428    </tr>
429    <tr>
430      <td style="vertical-align: top; width: 27px;"><br>
431      </td>
432      <td style="vertical-align: top; width: 38px;"><br>
433      </td>
434      <td style="vertical-align: top; width: 42px;"><br>
435      </td>
436      <td style="vertical-align: top; width: 40px;"><br>
437      </td>
438      <td style="vertical-align: top; width: 27px;">C<br>
439      </td>
440      <td style="vertical-align: top; width: 497px;">Output of messages replaced by
441message handling routine. (<span style="font-family: Courier New,Courier,monospace;">advec_particles</span>,
442      <span style="font-family: Courier New,Courier,monospace;">advec_s_bc</span>,
443      <span style="font-family: Courier New,Courier,monospace;">buoyancy</span>,
444      <span style="font-family: Courier New,Courier,monospace;">calc_spectra</span>,
445      <span style="font-family: Courier New,Courier,monospace;">check_for_restart</span>,
446      <span style="font-family: Courier New,Courier,monospace;">check_open</span>,
447      <span style="font-family: Courier New,Courier,monospace;">coriolis</span>,
448      <span style="font-family: Courier New,Courier,monospace;">cpu_log</span>,
449      <span style="font-family: Courier New,Courier,monospace;">data_output_2d</span>,
450      <span style="font-family: Courier New,Courier,monospace;">data_output_3d</span>,
451      <span style="font-family: Courier New,Courier,monospace;">data_output_dvrp</span>,
452      <span style="font-family: Courier New,Courier,monospace;">data_output_profiles</span>,
453      <span style="font-family: Courier New,Courier,monospace;">data_output_spectra</span>,
454      <span style="font-family: Courier New,Courier,monospace;">fft_xy</span>,
455      <span style="font-family: Courier New,Courier,monospace;">flow_statistics</span>,
456      <span style="font-family: Courier New,Courier,monospace;">header</span>,&nbsp;
457      <span style="font-family: Courier New,Courier,monospace;">init_1d_model</span>,
458      <span style="font-family: Courier New,Courier,monospace;">init_3d_model</span>,
459      <span style="font-family: Courier New,Courier,monospace;">init_dvrp</span>,
460      <span style="font-family: Courier New,Courier,monospace;">init_grid</span>,
461      <span style="font-family: Courier New,Courier,monospace;">init_particles</span>,
462      <span style="font-family: Courier New,Courier,monospace;">init_pegrid</span>,
463      <span style="font-family: Courier New,Courier,monospace;">netcdf</span>,
464      <span style="font-family: Courier New,Courier,monospace;">parin</span>,
465      <span style="font-family: Courier New,Courier,monospace;">plant_canopy_model</span>,
466      <span style="font-family: Courier New,Courier,monospace;">poisfft_hybrid</span>,
467      <span style="font-family: Courier New,Courier,monospace;">poismg</span>,
468      <span style="font-family: Courier New,Courier,monospace;">read_3d_binary</span>,
469      <span style="font-family: Courier New,Courier,monospace;">read_var_list</span>,
470      <span style="font-family: Courier New,Courier,monospace;">surface_coupler</span>,
471      <span style="font-family: Courier New,Courier,monospace;">temperton_fft</span>,
472      <span style="font-family: Courier New,Courier,monospace;">timestep</span>,
473      <span style="font-family: Courier New,Courier,monospace;">user_actions</span>,
474      <span style="font-family: Courier New,Courier,monospace;">user_data_output_dvrp</span>,
475      <span style="font-family: Courier New,Courier,monospace;">user_dvrp_coltab</span>,
476      <span style="font-family: Courier New,Courier,monospace;">user_init_grid</span>,
477      <span style="font-family: Courier New,Courier,monospace;">user_init_plant_canopy</span>,
478      <span style="font-family: Courier New,Courier,monospace;">user_parin</span>,
479      <span style="font-family: Courier New,Courier,monospace;">user_read_restart_data</span>,
480      <span style="font-family: Courier New,Courier,monospace;">user_spectra</span>)<br>
481
482      <br>
483
484Output of NetCDF messages with aid of message handling routine. (<span style="font-family: Courier New,Courier,monospace;">check_open</span>,
485      <span style="font-family: Courier New,Courier,monospace;">close_file</span>,
486      <span style="font-family: Courier New,Courier,monospace;">data_output_2d</span>,
487      <span style="font-family: Courier New,Courier,monospace;">data_output_3d</span>,
488      <span style="font-family: Courier New,Courier,monospace;">data_output_profiles</span>,
489      <span style="font-family: Courier New,Courier,monospace;">data_output_ptseries</span>,
490      <span style="font-family: Courier New,Courier,monospace;">data_output_spectra</span>,&nbsp;
491      <span style="font-family: Courier New,Courier,monospace;">data_output_tseries</span>,
492      <span style="font-family: Courier New,Courier,monospace;">netcdf</span><span style="font-family: Courier New,Courier,monospace;"></span>)<br>
493
494      <br>
495
496__lcmuk changed to __lc to avoid problems with Intel compiler on
497sgi-ice. (<span style="font-family: Courier New,Courier,monospace;">poisfft</span>)<br>
498
499      <br>
500
501For extended NetCDF files, the updated title attribute includes an
502update of time_average_text where appropriate. (<span style="font-family: Courier New,Courier,monospace;">netcdf</span>)<br>
503
504      <br>
505
506In case of restart runs without extension, initial profiles are not
507written to NetCDF-file anymore. So far, time axis always started at
508t=0. (<span style="font-family: Courier New,Courier,monospace;">data_output_profiles</span>,
509      <span style="font-family: Courier New,Courier,monospace;">modules</span>,
510      <span style="font-family: Courier New,Courier,monospace;">read_var_list</span>,
511      <span style="font-family: Courier New,Courier,monospace;">write_var_list</span>)<br>
512
513      <br>
514
515      <span style="font-family: Courier New,Courier,monospace;">initializing_actions</span>='<span style="font-style: italic;">read_data_for_recycling</span>' renamed to
516'<span style="font-style: italic;">cyclic_fill</span>'. A cyclic fill
517can now <br>
518
519be used independent of <span style="font-family: Courier New,Courier,monospace;">turbulent_inflow</span>.
520(<span style="font-family: Courier New,Courier,monospace;">check_parameters</span>,
521      <span style="font-family: Courier New,Courier,monospace;">header</span>,
522      <span style="font-family: Courier New,Courier,monospace;">init_3d_model</span>)<br>
523
524      <br>
525
5262 NetCDF error numbers changed. (<span style="font-family: Courier New,Courier,monospace;">data_output_3d</span>)<br>
527
528      <br>
529
530A link to the webspage appendix_a.html is printed for further
531information about possible reasons of the error that appeared. (message)<br>
532
533      <br>
534
535Temperature gradient criterion for estimating the boundary layer height
536replaced by the gradient criterion of Sullivan et al. (1998). (<span style="font-family: Courier New,Courier,monospace;">flow_statistics</span>)<br>
537
538      <br>
539
540NetCDF unit attribute in timeseries output in case of statistic regions
541added. (<span style="font-family: Courier New,Courier,monospace;">netcdf</span>)<br>
542
543      <br>
544
545Maximum number of tails is calculated from maximum number of particles
546and <span style="font-family: Courier New,Courier,monospace;">skip_particles_for_tail</span>.
547(<span style="font-family: Courier New,Courier,monospace;">init_particles</span>)<br>
548
549      <br>
550
551Value of <span style="font-family: Courier New,Courier,monospace;">vertical_particle_advection</span>
552is allowed to differ for each particle group. (<span style="font-family: Courier New,Courier,monospace;">advec_particles</span>,
553      <span style="font-family: Courier New,Courier,monospace;">header</span>,
554      <span style="font-family: Courier New,Courier,monospace;">modules</span>)
555      <br>
556
557      <br>
558
559First constant in array <span style="font-family: Courier New,Courier,monospace;">den</span> also
560defined as type double. (<span style="font-family: Courier New,Courier,monospace;">eqn_state_seawater</span>)<br>
561
562      <br>
563
564Parameter <span style="font-family: Courier New,Courier,monospace;">dvrp_psize</span>
565moved from <span style="font-family: Courier New,Courier,monospace;">particles_par</span>
566to <span style="font-family: Courier New,Courier,monospace;">dvrp_graphics_par</span>.
567(<span style="font-family: Courier New,Courier,monospace;">package_parin</span>)<br>
568
569      <br>
570
571      <span style="font-family: Courier New,Courier,monospace;">topography_grid_convention</span>
572moved from <span style="font-family: Courier New,Courier,monospace;">userpar</span>
573to <span style="font-family: Courier New,Courier,monospace;">inipar</span>
574(<span style="font-family: Courier New,Courier,monospace;">check_parameters</span>,
575      <span style="font-family: Courier New,Courier,monospace;">header</span>,
576      <span style="font-family: Courier New,Courier,monospace;">parin</span>,
577      <span style="font-family: Courier New,Courier,monospace;">read_var_list</span>,
578      <span style="font-family: Courier New,Courier,monospace;">user_check_parameters</span>,
579      <span style="font-family: Courier New,Courier,monospace;">user_header</span>,
580      <span style="font-family: Courier New,Courier,monospace;">user_init_grid</span>,
581      <span style="font-family: Courier New,Courier,monospace;">user_parin</span>,
582      <span style="font-family: Courier New,Courier,monospace;">write_var_list</span>)<br>
583
584      <br>
585
586Default value of <span style="font-family: Courier New,Courier,monospace;">grid_matching</span>
587changed to '<span style="font-style: italic;">strict</span>'. (<span style="font-family: Courier New,Courier,monospace;">modules</span>)<br>
588
589      <br>
590
591Adjustments for runs on lcxt4 (necessary due to a software update on
592CRAY) and for coupled runs on ibmy. (<span style="font-family: Courier New,Courier,monospace;">mrun</span>, <span style="font-family: Courier New,Courier,monospace;">subjob</span>)</td>
593      <td style="vertical-align: top; width: 189px;">advec_particles,
594advec_s_bc,
595buoyancy, calc_spectra, check_for_restart, check_open,
596check_parameters, close_file, coriolis, cpu_log, data_output_2d,
597data_output_3d, data_output_dvrp, data_output_profiles,
598data_output_ptseries, data_output_spectra, data_output_tseries,
599eqn_state_seawater, fft_xy, flow_statistics, header, init_1d_model,
600init_3d_model, init_dvrp, init_grid, init_particles, init_pegrid,
601message, mrun, netcdf, package_parin, parin, plant_canopy_model,
602poisfft, poisfft_hybrid, poismg, read_3d_binary, read_var_list, subjob,
603surface_coupler, temperton_fft, timestep,
604user_actions,user_check_parameters, user_data_output_dvrp,
605user_dvrp_coltab, user_header, user_init_grid, user_init_plant_canopy,
606user_parin, user_read_restart_data, user_spectra, write_var_list </td>
607    </tr>
608    <tr>
609      <td style="vertical-align: top; width: 27px;"><br>
610      </td>
611      <td style="vertical-align: top; width: 38px;"><br>
612      </td>
613      <td style="vertical-align: top; width: 42px;"><br>
614      </td>
615      <td style="vertical-align: top; width: 40px;"><br>
616      </td>
617      <td style="vertical-align: top; width: 27px;">E<br>
618      </td>
619      <td style="vertical-align: top; width: 497px;">Bugfix: Initial hydrostatic
620pressure profile in case of ocean runs is now calculated in 5 iteration
621steps. (<span style="font-family: Courier New,Courier,monospace;">init_ocean</span>)<br>
622
623      <br>
624
625Bugfix: wrong sign in buoyancy production of ocean part in case of not
626using the reference density (only in 3D routine <span style="font-family: Courier New,Courier,monospace;">production_e</span>).
627(<span style="font-family: Courier New,Courier,monospace;">production_e</span>)<br>
628
629      <br>
630
631Bugfix: output of averaged 2d/3d quantities requires that an avaraging
632interval has been set, respective error message is included. (<span style="font-family: Courier New,Courier,monospace;">check_parameters</span>)<br>
633
634      <br>
635
636Bugfix: Output on unit 14 only if requested by <span style="font-family: Courier New,Courier,monospace;">write_binary</span>.
637(<span style="font-family: Courier New,Courier,monospace;">user_last_actions</span>)<br>
638
639      <br>
640
641Bugfix to avoid zero division by <span style="font-family: Courier New,Courier,monospace;">km_neutral</span>.
642(<span style="font-family: Courier New,Courier,monospace;">production_e</span>)<br>
643
644      <br>
645
646Bugfix for extended NetCDF files: In order to avoid 'data mode' errors
647if updated attributes are larger than their original size, <span style="font-family: Courier New,Courier,monospace;">NF90_PUT_ATT</span>
648is called in 'define mode' enclosed by <span style="font-family: Courier New,Courier,monospace;">NF90_REDEF</span>
649and <span style="font-family: Courier New,Courier,monospace;">NF90_ENDDEF</span>
650calls. This implies a possible performance loss; an alternative
651strategy would be to ensure equal attribute size in a job chain. (<span style="font-family: Courier New,Courier,monospace;">netcdf</span>)<br>
652
653      <br>
654
655Bugfix: correction of initial volume flow for non-flat topography. (<span style="font-family: Courier New,Courier,monospace;">init_3d_model</span>)<br>
656
657      <br>
658
659Bugfix: zero initialization of arrays within buildings for '<span style="font-style: italic;">cyclic_fill</span>'. (<span style="font-family: Courier New,Courier,monospace;">init_3d_model</span>)<br>
660
661      <br>
662
663Bugfix: <span style="font-family: Courier New,Courier,monospace;">to_be_resorted</span>
664=&gt; <span style="font-family: Courier New,Courier,monospace;">s_av</span>
665for time-averaged scalars. (<span style="font-family: Courier New,Courier,monospace;">data_output_2d</span>,
666      <span style="font-family: Courier New,Courier,monospace;">data_output_3d</span>)<br>
667
668      <br>
669
670Bugfix: avoid that <span style="font-family: Courier New,Courier,monospace;">ngp_2dh_s_inner</span>
671becomes zero. (<span style="font-family: Courier New,Courier,monospace;">init_3_model</span>)<br>
672
673      <br>
674
675Typographical error: unit of wpt in dots_unit. (<span style="font-family: Courier New,Courier,monospace;">modules</span>)<br>
676
677      <br>
678
679Bugfix: error in check, if particles moved further than one subdomain
680length. This check must not be applied for newly released particles. (<span style="font-family: Courier New,Courier,monospace;">advec_particles</span>)<br>
681
682      <br>
683
684Bugfix: several tail counters are initialized, <span style="font-family: Courier New,Courier,monospace;">particle_tail_coordinates</span>
685is only written to file if its third index is &gt; 0, arrays for tails
686are allocated with a minimum size of 10 tails if there is no tail
687initially. (<span style="font-family: Courier New,Courier,monospace;">advec_particles</span>,
688      <span style="font-family: Courier New,Courier,monospace;">init_particles</span><span style="font-family: Courier New,Courier,monospace;"></span>)<br>
689
690      <br>
691
692Bugfix: pressure included for profile output. (<span style="font-family: Courier New,Courier,monospace;">check_parameters</span>)<br>
693
694      <br>
695
696Bugfix: Type of <span style="font-family: Courier New,Courier,monospace;">count</span> and <span style="font-family: Courier New,Courier,monospace;">count_rate</span>
697changed to default <span style="font-family: Courier New,Courier,monospace;">INTEGER</span> on
698NEC machines. (<span style="font-family: Courier New,Courier,monospace;">cpu_log</span>)<br>
699
700      <br>
701
702Bugfix: output of particle time series only if particle advection is
703switched on. (<span style="font-family: Courier New,Courier,monospace;">time_integration</span>)<br>
704
705      <br>
706
707Bugfix: qsws was calculated in case of <span style="font-family: Courier New,Courier,monospace;">constant heatflux</span>
708= <span style="font-family: Courier New,Courier,monospace;">.FALSE.</span>.
709(<span style="font-family: Courier New,Courier,monospace;">prandtl_fluxes</span>)<br>
710
711      <br>
712
713Bugfix: averaging along z is not allowed for 2d quantities (e.g. u* and
714z0). (<span style="font-family: Courier New,Courier,monospace;">data_output_2d</span>)<br>
715
716      <br>
717
718Typographical errors. (<span style="font-family: Courier New,Courier,monospace;">netcdf</span>)<br>
719
720      <br>
721
722If the inversion height calculated by the prerun is zero,
723inflow_damping_height must be explicitly specified. (<span style="font-family: Courier New,Courier,monospace;">init_3d_model</span>)<br>
724
725      <br>
726
727Small bugfix concerning 3d 64bit netcdf output format. (<span style="font-family: Courier New,Courier,monospace;">header</span>)<br>
728
729      <br>
730
731Bugfix: <span style="font-family: Courier New,Courier,monospace;">dt_fixed</span>
732removed from the restart file, because otherwise, no change from a
733fixed to a variable timestep would be possible in restart runs. (<span style="font-family: Courier New,Courier,monospace;">read_var_list</span>,
734      <span style="font-family: Courier New,Courier,monospace;">write_var_list</span>)<br>
735
736      <br>
737
738Bugfix: initial setting of <span style="font-family: Courier New,Courier,monospace;">time_coupling</span>
739in coupled restart runs. (<span style="font-family: Courier New,Courier,monospace;">time_integration</span>)</td>
740      <td style="vertical-align: top; width: 189px;">advec_particles,
741check_parameters, cpu_log, data_output_2d, data_output_3d, header,
742init_3d_model, init_particles, init_ocean, modules, netcdf,
743prandtl_fluxes, production_e, read_var_list, time_integration,
744user_last_actions, write_var_list<br>
745
746      </td>
747    </tr>
748    <tr>
749      <td style="vertical-align: top; width: 27px;">02/02/09<br>
750      </td>
751      <td style="vertical-align: top; width: 38px;">SR<br>
752      </td>
753      <td style="vertical-align: top; width: 42px;">228<br>
754      </td>
755      <td style="vertical-align: top; width: 40px;">3.6<br>
756      </td>
757      <td style="vertical-align: top; width: 27px;">N<br>
758      </td>
759      <td style="vertical-align: top; width: 497px;">This
760release contains further additions, changes, and bugfixes for the
761SGI-ICE system, as well as important changes like the splitting of the
762user-interface into single files, a complete revision of the
763pre-compiling mechanism allowing to use different make-depositories
764simultaneously, and a revision of the reading-mechanism from restart
765files, which has no more restrictions in case that the previous and
766current run have different domain/subdomain sizes. A new handling of
767all kind of output messages is introduced with this release and will be
768applied to all existing messages within the next releases.<br>
769
770      <br>
771
772      <span style="font-weight: bold;">New features are:</span><br style="font-weight: bold;">
773
774      <br>
775
776Restart runs on SGI-ICE are working. (mrun)<br>
777
7782d-decomposition is default on SGI-ICE systems. (init_pegrid)<br>
779
780      <br>
781
782Ocean-atmosphere coupling realized with MPI-1. mrun adjusted for this
783case (-Y option). Check that PALM is called with <span style="font-family: Courier New,Courier,monospace;">mrun</span>-option
784"<span style="font-style: italic;">-K parallel</span>" for coupling.
785Adjustments in <span style="font-family: Courier New,Courier,monospace;">mrun</span>, <span style="font-family: Courier New,Courier,monospace;">mbuild</span>, and
786      <span style="font-family: Courier New,Courier,monospace;">subjob</span>
787for lcxt4.<br>
788
789      <br>
790
791DVRP arguments changed to single precision, mode pathlines added.<br>
792
793      <br>
794
795User can add additional routines in files <span style="font-family: Courier New,Courier,monospace;">user_additional_routines</span>.<br>
796
797      <br>
798
799User can check user parameters and deduce further quantities in <span style="font-family: Courier New,Courier,monospace;">user_check_parameters</span></td>
800      <td style="vertical-align: top; width: 189px;">check_for_restart,
801check_parameters, data_output_dvrp, init_dvrp, init_pegrid, local_stop,
802modules, package_parin, palm, surface_coupler, timestep<br>
803
804      <br>
805
806Makefile,&nbsp;mbuild, mrun, subjob<br>
807
808      <br>
809
810      <span style="font-weight: bold;">new:</span><br>
811
812init_coupling, user_additional_routines, user_check_parameters</td>
813    </tr>
814    <tr>
815      <td style="vertical-align: top; width: 27px;"><br>
816      </td>
817      <td style="vertical-align: top; width: 38px;"><br>
818      </td>
819      <td style="vertical-align: top; width: 42px;"><br>
820      </td>
821      <td style="vertical-align: top; width: 40px;"><br>
822      </td>
823      <td style="vertical-align: top; width: 27px;">C<br>
824      </td>
825      <td style="vertical-align: top; width: 497px;">User interface has been
826split into single files.<br>
827
828      <br>
829
830Type of variables <span style="font-family: Courier New,Courier,monospace;">count</span> and <span style="font-family: Courier New,Courier,monospace;">count_rate</span>
831changed to INTEGER(8) in order to avoid "out of range" problems, which
832result in measured negative time intervals. (cpu_log, local_tremain,
833local_tremain_ini)<br>
834
835      <br>
836
837Reading mechanism from restart files
838completely revised. The subdomain/total domain size is now allowed to
839vary arbitrarily between the current and previous run. (read_var_list,
840read_3d_binary, user_read_restart_data)<br>
841
842      <br>
843
844Precompilation mechanism (<span style="font-family: Courier New,Courier,monospace;">mbuild</span>)
845completely revised: the source-tarfile remains in the source directory (<span style="font-family: Courier New,Courier,monospace;">trunk/SOURCE</span>).
846One depository per block (given in the config-file) is created. Always
847all files from the source directory are copied to the respective
848depository. No additional file checks are done any more (mrun version
8492.1). The depository name used contains the conditions given by <span style="font-family: Courier New,Courier,monospace;">mrun</span>-option
850"<span style="font-family: Courier New,Courier,monospace;">-K</span>".
851(mbuild, mrun)<br>
852
853      <br>
854
855Output messages (including required stop of execution) can now be
856handled with the new subroutine&nbsp;<span style="font-family: Courier New,Courier,monospace;">message</span>.
857All output messages will be replaced by this routine step by step
858within the next revisions.<br>
859
860      <br>
861
862Neumann boundary condition at <span style="font-family: Courier New,Courier,monospace;">k=nzb</span> is
863explicitly set for better reading, although this has been already done
864in boundary_conds. (advec_s_bc)<br>
865
866      <br>
867
868Origin of the xy-coordinate system shifted from the center of the first
869grid cell (indices <span style="font-family: Courier New,Courier,monospace;">i=0</span>, <span style="font-family: Courier New,Courier,monospace;">j=0</span>) to the
870south-left corner of this cell. (netcdf) Topography definition
871according to new user parameter <span style="font-family: Courier New,Courier,monospace;">topography_grid_convention</span>.
872(init_grid, modules, user_header, user_init_grid, user_parin)</td>
873      <td style="vertical-align: top; width: 189px;">advec_s_bc,
874check_parameters, cpu_log, init_grid, local_stop, local_tremain,
875local_tremain_ini, modules, netcdf, read_3d_binary, read_var_list,
876user_read_restart_data<br>
877
878      <br>
879
880Makefile, mbuild, mrun<br>
881
882      <br>
883
884      <span style="font-weight: bold;">removed:</span><br>
885
886user_interface<br>
887
888      <br>
889
890      <span style="font-weight: bold;">new:</span><br>
891
892message,
893user_3d_data_averaging, user_actions, user_advec_particles,
894user_check_data_output, user_check_data_output_pr, user_data_output_2d,
895user_data_output_3d, user_data_output_dvrp, user_define_netcdf_grid,
896user_dvrp_coltab, user_header, user_init_3d_model, user_init,
897user_init_grid, user_init_particles, user_init_plant_canopy,
898user_last_actions, user_parin, user_parin, user_particle_attributes,
899user_read_restart_data, user_spectra, user_statistics</td>
900    </tr>
901    <tr>
902      <td style="vertical-align: top; width: 27px;"><br>
903      </td>
904      <td style="vertical-align: top; width: 38px;"><br>
905      </td>
906      <td style="vertical-align: top; width: 42px;"><br>
907      </td>
908      <td style="vertical-align: top; width: 40px;"><br>
909      </td>
910      <td style="vertical-align: top; width: 27px;">E<br>
911      </td>
912      <td style="vertical-align: top; width: 497px;">Bugfix: array <span style="font-family: Courier New,Courier,monospace;">d</span> is
913reallocated in case that multigrid is used. (calc_spectra)<br>
914
915      <br>
916
917Bugfixes for nonparallel execution. (check_for_restart, cpu_statistics,
918inflow_turbulence,&nbsp;timestep)<br>
919
920      <br>
921
922Size of <span style="font-family: Courier New,Courier,monospace;">pf3d
923      </span>adjusted to the required output size (1 gridpoint less,
924along all three dimensions), because output of a subset of the data (<span style="font-family: Courier New,Courier,monospace;">pf3d(nxa:nxe...)</span>)
925in the NF90_PUT_VAR statement caused segmentation fault with the INTEL
926compiler. (combine_plot_fields)<br>
927
928      <br>
929
930Bugfix: error in <span style="font-family: Courier New,Courier,monospace;">zu</span> index in
931case of <span style="font-family: Courier New,Courier,monospace;">section_xy=-1</span>.
932(header)<br>
933
934      <br>
935
936Inconsistency
937removed: as the thermal stratification is not taken into account for
938the evaluation of the wall fluxes at vertical walls, the eddy viscosity
939      <span style="font-family: Courier New,Courier,monospace;">km</span>
940must not be used for the evaluation of the velocity gradients <span style="font-family: Courier New,Courier,monospace;">dudy</span>, <span style="font-family: Courier New,Courier,monospace;">dwdy</span>, <span style="font-family: Courier New,Courier,monospace;">dvdx</span> and <span style="font-family: Courier New,Courier,monospace;">dwdx</span>.
941(production_e)<br>
942
943      <br>
944
945Bugfix in calculating <span style="font-family: Courier New,Courier,monospace;">k</span> index in
946case of oceans runs. (sort_particles)<br>
947
948      <br>
949
950Bugfix: no output of particle concentration and radius unless particles
951have been started. (data_output_2d)<br>
952
953      <br>
954
955Bugfix: reading of <span style="font-family: Courier New,Courier,monospace;">spectrum_x|y</span>
956from restart files ignored if total numbers of grid points do not
957match. (read_3d_binary)<br>
958
959      <br>
960
961Bugfix: abort in case that absolute temperature is below zero.
962(init_cloud_physics)</td>
963      <td style="vertical-align: top; width: 189px;">advec_particles,
964calc_spectra, check_for_restart, cpu_statistics, data_output_2d,
965header, inflow_turbulence, init_cloud_physics, production_e,
966read_3d_binary, timestep<br>
967
968      <br>
969
970combine_plot_fields</td>
971    </tr>
972  </tbody>
973</table>
974<b><blink></blink></b><br>&nbsp;
975<br>&nbsp;
976<h2><a name="Kapitel2.0"></a>2.0&nbsp; How
977to change the model source
978code</h2>Currently
979(Sep 23rd, 2009), only selected users are allowed to commit changes to
980the repository. Some rules about how to check in modified code will be
981added later.<br>
982<h2>
983<a name="Kapitel3.0"></a>3.0&nbsp; Description
984of selected parts of the
985model source code</h2>
986<b></b>
987<p>This section gives links to existing descriptions about special
988parts of the PALM code, e.g. special numerical methods that are used
989(including mathematical background). Documents are stored in single
990files with different formats. Some are in German (sorry for the
991inconvenience).
992<br>&nbsp;
993</p><ul> <li> <a name="UPS"></a>upstream-spline
994advection scheme ( <a href="methods/upstream_spline/ups.pdf">.pdf</a>
995, only in German)</li> <li> <a name="Cloud_physics"></a>cloud
996physics module ( <a href="methods/cloud_physics/cloud_physics.pdf">.pdf</a>
997)</li> 
998  <li> <a name="Bitkompression"></a>data compression with <a href="methods/bit_compression/bit_compression.html">bit shifting method</a> (only in German)<br>
999  </li>
1000  <li>Runge-Kutta
1001time integration scheme ( <a href="methods/runge_kutta/runge_kutta.pdf">.pdf</a>
1002, only in German)</li>
1003
1004</ul><br>
1005&nbsp;
1006<br>&nbsp;
1007<br>&nbsp;
1008<br>&nbsp;
1009<br>&nbsp;
1010<br>&nbsp;
1011<br>&nbsp;
1012<br>&nbsp;
1013</body></html>
Note: See TracBrowser for help on using the repository browser.