source: palm/trunk/DOC/tec/tec_doc_1998-2008.html @ 1060

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

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

File size: 188.8 KB
Line 
1<!DOCTYPE html PUBLIC "-//w3c//dtd html 4.0 transitional//en">
2<html><head>
3
4 
5  <meta content="text/html; charset=ISO-8859-1" http-equiv="Content-Type">
6
7 
8  <meta content="Mozilla/4.73 [en] (X11; U; HP-UX B.10.20 9000/782) [Netscape]" name="GENERATOR">
9
10 
11  <meta content="Siegfried Raasch" name="Author">
12
13 
14  <meta content="parallel LES model" name="Keywords"><title>PALM technical/numerical documentation</title></head><body>
15<font size="+4">PALM&nbsp;&nbsp;
16</font>a
17<b>pa</b>rallelized
18<b>L</b>ES <b>m</b>odel
19<br>
20
21<hr width="100%"><br>
22
23<font size="+2">technical/numerical documentation 1998-2008</font><br>
24
25<table nosave="" cellpadding="0" cellspacing="0">
26
27  <caption>&nbsp; <br>
28  </caption><tbody>
29  </tbody><tbody>
30  </tbody> <tbody>
31    <tr nosave="">
32     
33      <td nosave=""><b>This document has been frozen in February 2010<br>
34Links may not work properly!<br>
35</b></td>
36    </tr>
37  </tbody>
38</table>
39
40<hr width="100%">
41<p><font size="+2">Table of contents</font>
42<br>
43&nbsp;
44<br>
45&nbsp;
46</p>
47
48<ul>
49
50  <a href="#Kapitel1.0">1.0</a>&nbsp;
51History of changes
52  <p><a href="#Kapitel2.0">2.0</a>&nbsp;
53How to change the model source
54code </p>
55  <p><a href="#Kapitel3.0">3.0</a>&nbsp;
56Description of selected parts
57of
58the model source code <br>
59&nbsp;</p>
60</ul>
61
62<br>
63
64<h2><a name="Kapitel1.0"></a>1.0&nbsp;
65History of changes</h2>
66
67The following table documents all changes to the model since July, 7th
681998. Entries in the fourth column specify the type of the change:
69change&nbsp;
70of existing code (C), new code (N) or bugfix (B). More detailed
71information
72about the changes may be found in the header comment lines of the
73respective
74routines.
75<br>
76
77&nbsp;
78<br>
79
80<table nosave="" style="width: 100%;" border="1">
81
82  <caption>&nbsp; <br>
83  </caption><tbody>
84  </tbody><tbody>
85  </tbody> <tbody>
86    <tr>
87      <td><b>date</b></td>
88      <td><b>author</b></td>
89      <td><b>model</b>
90      <br>
91      <b>version</b></td>
92      <td><b>type</b></td>
93      <td><b>description</b></td>
94      <td><b>affected
95routines</b></td>
96    </tr>
97    <tr nosave="" valign="top">
98      <td>06/07/98</td>
99      <td>SR</td>
100      <td>1.0</td>
101      <td>C</td>
102      <td nosave="">Ã&#8222;nderung
103von Default-Werten
104(initializing_actions, end_time,
105fcl_factor, use_prior_plot1d_parameters), zusÀtzliche
106Ã&#339;berprÃŒfung
107von Parametern auf ZulÀssigkeit (prandtl_layer, psolver, nx,
108ny,
109nz,
110fcl_factor), Höhe der Schnittebenen der Horizontalschnitte
111wird
112auf
113Plots exakt ausgegeben (uv- bzw. w-Gitter).</td>
114      <td>modules,
115check_parameters, plot_2d</td>
116    </tr>
117    <tr nosave="" valign="top">
118      <td>"</td>
119      <td>SR</td>
120      <td>1.0</td>
121      <td>N</td>
122      <td>Neues Modul
123test_variables wird in (fast) allen
124Programmteilen benutzt
125(USE). <b>Wichtig</b>: dieses Modul steht in der Datei <tt>module_test.f90.
126D</tt>iese Datei muÃ&#376; in der mrun- und add_library -
127Konfigurationsdatei
128bei der Variablen <tt>module_files</tt>
129aufgefÃŒhrt werden.</td>
130      <td nosave="">(fast)
131alle&nbsp; <br>
132Neu: module_test</td>
133    </tr>
134    <tr nosave="" valign="top">
135      <td>16/07/98</td>
136      <td>SR</td>
137      <td>1.0</td>
138      <td>N</td>
139      <td nosave="">Anpassung
140an die T3E-Rechner in Juelich (cpp -
141Direktiven)</td>
142      <td>advec_s_bc, check_open,
143check_parameters, cpu_zeitmessung,
144init_pegrid,
145local_getenv, local_system, local_tremain, local_tremain_ini, poisfft</td>
146    </tr>
147    <tr nosave="" valign="top">
148      <td>24/07/98</td>
149      <td>MS</td>
150      <td>1.0</td>
151      <td>C</td>
152      <td nosave="">Anpassung des Druckloesealgorithmusses an
153Vorgehensweise von
154Schmidt, Schumann und Volkert (DFVLR-Mitteilung 84-15, S.
15520-26)&nbsp;</td>
156      <td>poisfft</td>
157    </tr>
158    <tr nosave="" valign="top">
159      <td>27/07/98</td>
160      <td>MS</td>
161      <td>1.0</td>
162      <td>C</td>
163      <td nosave="">Berechnung von l in maketri geschieht nun
164ausserhalb der k-Schleife,
165da unabhaengig von k, dadurch Rechenzeitersparnis&nbsp;</td>
166      <td>poisfft</td>
167    </tr>
168    <tr nosave="" valign="top">
169      <td>05/08/98</td>
170      <td>SR</td>
171      <td>1.0</td>
172      <td>C</td>
173      <td>Entfernung der Sonderbehandlung der Advektionsterme
174(Piascek-Williams)
175bei k=1. Terme werden nun ÃŒberall gleich berechnet. Evtl.
176leichte
177Erhöhung der Varianzen in OberflÀchennÀhe.</td>
178      <td nosave="">advec_u_pw, advec_v_pw, advec_w_pw</td>
179    </tr>
180    <tr nosave="" valign="top">
181      <td nosave="">"</td>
182      <td>SR</td>
183      <td>1.0</td>
184      <td>C</td>
185      <td>Mischungsweganpassung (s.
186adjust_mixing_length) erfolgt nur
187noch bei
188k=1. Unrealistische sekundÀre Maxima in den Km-Profilen
189oberhalb
190der
191Prandtl-Schicht werden damit vermieden. Leichte Ã&#8222;nderungen in
192den
193oberflÀchennahen TurbulenzgröÃ&#376;en sind die
194Folge.</td>
195      <td>diffusivities</td>
196    </tr>
197    <tr nosave="" valign="top">
198      <td>"</td>
199      <td>SR</td>
200      <td>1.0</td>
201      <td>B</td>
202      <td>Falsche
203Berechnung der benötigten CPU-Zeit pro Sekunde
204simulierter
205Zeit bei FortsetzungslÀufen korrigiert.&nbsp;
206      <p>Berechnung
207von cross_uxmin(1) und cross_uxmax(1) aus den
208Werten von
209ug und vg entfernt. Lieferte falsche Wertebereiche fÃŒr Plots
210von
211Vertikalprofilen,
212wenn im ersten Koordinatenkreuz nicht die Windgeschwindigkeiten
213gezeichnet
214wurden.</p>
215      </td>
216      <td nosave="">header,
217check_parameters</td>
218    </tr>
219    <tr nosave="" valign="top">
220      <td nosave="">"</td>
221      <td>SR</td>
222      <td>1.0</td>
223      <td>N</td>
224      <td>Das
225erlaubte Maximum und Minimum der Rif-Zahl ist nun mittels
226der Initialparameter
227rif_max und rif_min einstellbar (Werte waren bisher fest auf -2.0, +1.0
228eingestellt).</td>
229      <td>check_parameters, header,
230init_1d_model, modules, parin,
231prandtl_fluxes,
232read_var_list, write_var_list</td>
233    </tr>
234    <tr nosave="" valign="top">
235      <td nosave="">23/09/98</td>
236      <td>SR</td>
237      <td>1.0</td>
238      <td>B</td>
239      <td>Initialisierung von Feldern im Fall von initializing_action =
240"<i>set_constant_profiles</i>"
241und "<i>set_1d-model_profiles</i>" korrigiert.&nbsp;
242      <p>2D-Plotausgabe
243von u* und theta* korrigiert. Hier wurden
244bisher falsche
245Felder herausgeschrieben.&nbsp; </p>
246      <p>Bei
247SOR-Aufrufen war bisher dp nicht initialisiert.
248Entsprechend geÀndert.</p>
249      </td>
250      <td>init_3d_model,
251plot_2d, pres</td>
252    </tr>
253    <tr nosave="" valign="top">
254      <td>"</td>
255      <td>SR</td>
256      <td>1.0</td>
257      <td>C</td>
258      <td nosave="">Ausgabeformate
259fÃŒr Statistik-Ausgaben auf
260Datei RUN_CONTROL
261um einige Kommastellen erweitert.&nbsp;
262      <p>Lieferung von
263ausfÃŒhrlicheren Informationen bei
264Programmabbruch
265durch Unterschreitung des minimal erlaubten Zeitschritts.</p>
266      </td>
267      <td>run_control, timestep</td>
268    </tr>
269    <tr nosave="" valign="top">
270      <td nosave="">"</td>
271      <td>SR</td>
272      <td>1.0</td>
273      <td>N</td>
274      <td>Rechnungen mit geneigter Ebene zur Simulation von
275KaltluftabflÃŒssen
276sind erlaubt. Gestartet und gesteuert werden sie mit dem
277Intialisierungsparameter <tt>alpha_surface</tt>.
278Realisiert wird die geneigte Ebene durch entsprechende
279SchrÀgstellung
280des Schwerkraftvektors. Dadurch erhÀlt auch die u-Komponente
281der
282Windgeschwindigkeit
283einen Anteil der Auftriebskraft.&nbsp;
284      <p>Diese
285Implementierung ist noch nicht abgeschlossen. Die
286Simulation von
287KaltluftabflÃŒssen erfordert bisher noch Eingriffe "von Hand".</p>
288      </td>
289      <td>buoyancy, check_parameters, header, leap_frog,
290modules,
291parin, prandtl_fluxes,
292read_var_list, write_var_list</td>
293    </tr>
294    <tr nosave="" valign="top">
295      <td>15/12/98</td>
296      <td>SR</td>
297      <td>1.0</td>
298      <td>N</td>
299      <td>Vereinbarung
300einer Cache-Layer zur schnelleren binÀren
301I/O auf
302T3E-Rechnern.&nbsp;
303      <p>Ermittelung wahrer I/O-Zeiten
304fÌr binÀre
305Ein-/Ausgabe auf
306T3E-Rechnern mit TIMEF.</p>
307      </td>
308      <td nosave="">check_open,&nbsp;
309      <br>
310cpu_zeitmessung, init_3d_model, write_3d_model</td>
311    </tr>
312    <tr nosave="" valign="top">
313      <td nosave="">"</td>
314      <td>SR</td>
315      <td>1.0</td>
316      <td>B</td>
317      <td>Bekanntgabe von run_description_header an alle
318PE's.&nbsp;
319      <p>Diese ProgrammÀnderung erfordert auf
320T3E-Rechnern
321zwingend den
322Einsatz der MPI-Version mpt.1.2.0.1. In dieser neuen Version tritt auch
323der alte Fehler in MPI_ALLREDUCE nicht mehr auf, so daÃ&#376; ab
324jetzt
325mpt.1.1.0.1 nicht mehr verwendet werden muÃ&#376;.</p>
326      </td>
327      <td>parles</td>
328    </tr>
329    <tr nosave="" valign="top">
330      <td nosave="">05/02/99</td>
331      <td>SR</td>
332      <td>1.1</td>
333      <td>C/N</td>
334      <td>Implementierung des Upstream-Spline- Verfahrens zur Advektion
335von Impuls
336und skalaren GröÃ&#376;en (neue UP's, s. rechts).
337Berechnung von
338Variablen
339fÌr spezielle Advektionsverfahren in eigenstÀndiges
340UP
341ausgelagert
342(<tt>init_advec</tt> + eigenes Modul <tt>advection</tt>).
343Reines
344Euler-/Upstream-Verfahren
345kann gerechnet werden.&nbsp;
346      <p>Schnelle binÀre I/O
347(s. 15/12/98) wieder abgeschaltet, da
348Dateien
349nicht wieder einlesbar sind. Druckstörung (p) wird zu Beginn
350auf 0
351gesetzt, damit sie keine Tendenzen im ersten Zeitschritt hervorruft.</p>
352      </td>
353      <td>advec_s_bc, check_open, check_parameters,
354flow_statistics,
355header,
356init_3d_model, init_grid, leap_frog, modules, parin, plot_2d, plot_ts,
357read_var_list, timestep, write_3d_binary, write_var_list&nbsp;
358      <p><b>Neu:</b>
359      <br>
360advec_s_ups, advec_u_ups, advec_v_ups, advec_w_ups, init_advec,
361long_filter,
362spline_x, spline_y, spline_z</p>
363      </td>
364    </tr>
365    <tr nosave="" valign="top">
366      <td nosave="">24/02/99</td>
367      <td>SR</td>
368      <td>1.1a</td>
369      <td>C/N</td>
370      <td>Kleinere ErgÀnzungen / Ã&#8222;nderungen
371fÃŒr Upstream
372- Spline,&nbsp; <br>
373Diverse Verbesserungen bei Berechnung der Diffusionskoeffizienten
374(exaktere
375Formulierung von Scherungen, Dissipation gemaess Original - Deardorff -
376Ansatz, Mischungswegreduktion nur, wenn Schichtung sowohl oberhalb als
377auch unterhalb des entsprechenden Gitterpunktes stabil ist),
378Wertebegrenzung
379bei Spline - Berechnung zur Verhinderung von "Ã&#339;berschwingern"</td>
380      <td>check_parameters, diffusion_e, diffusion_pt, diffusivities,
381header,
382init_advec, long_filter, modules, production_e, spline_x, spline_y,
383spline_z</td>
384    </tr>
385    <tr nosave="" valign="top">
386      <td>"</td>
387      <td nosave="">SR</td>
388      <td>1.1a</td>
389      <td>N/B</td>
390      <td>Erweiterung des des Bott - Chlond -
391Schemas auf Advektion der
392TKE,
393Korrektur der Dichteberechnung (war falsch bei Galilei-Transformation)</td>
394      <td>advec_s_bc, leap_frog</td>
395    </tr>
396    <tr nosave="" valign="top">
397      <td nosave="">01/03/99</td>
398      <td>MS</td>
399      <td>1.1b</td>
400      <td>N</td>
401      <td>Kleinere ErgÀnzungen fÃŒr Upstream -
402Spline:&nbsp;
403      <ul>
404        <li>Gradientenkontrolle
405fÃŒr den nicht-parallelen Teil</li>
406        <li>statistische
407Auswertung ÃŒber den prozentualen Anteil
408des
409Upstream-Verfahrens
410an der Gesamtadvektion fuer nicht-parallelen Teil</li>
411      </ul>
412      </td>
413      <td>modules, spline_x, spline_y, spline_z</td>
414    </tr>
415    <tr nosave="" valign="top">
416      <td>"</td>
417      <td>SR</td>
418      <td>1.1b</td>
419      <td>N</td>
420      <td>Datenkompression fÃŒr 3D-Plotausgaben</td>
421      <td nosave="">check_open, check_parameters, close_files, header,
422modules,
423parin, plot_3d&nbsp;
424      <p><b>Neu:</b> <br>
425write_compressed</p>
426      </td>
427    </tr>
428    <tr nosave="" valign="top">
429      <td nosave="">03/03/99</td>
430      <td>SR</td>
431      <td>1.1c</td>
432      <td>B/C</td>
433      <td>Schnelle binÀre I/O auf T3E-Rechnern funktioniert
434jetzt.
435Beim
436binÀren Einlesen dÌrfen Records nicht mit dem Trick "<tt>READ
437(..) idum</tt>" ÃŒberlesen werden. Zeitmessungen auf T3E
438erfolgen
439jetzt
440grundsÀtzlich mit <tt>TIMEF.</tt></td>
441      <td>check_open,
442cpu_zeitmessung, init_3d_model, modules,
443write_3d_binary</td>
444    </tr>
445    <tr nosave="" valign="top">
446      <td nosave="">25/03/99</td>
447      <td>SR</td>
448      <td>1.1d</td>
449      <td>N</td>
450      <td>Einbau einer Rayleigh-DÀmpfungsschicht sowie
451flexiblere
452Wahl der
453numerischen Begrenzer fÃŒr das Upstream - Spline - Verfahren.</td>
454      <td>check_parameters, header, init_3d_model, leap_frog, modules,
455parin,
456read_var_list, spline_x, spline_y, spline_z, write_var_list</td>
457    </tr>
458    <tr nosave="" valign="top">
459      <td nosave="">"</td>
460      <td>SR</td>
461      <td>1.1d</td>
462      <td>B</td>
463      <td>Korrektur des Zeitschrittkriteriums bei z=zp im 1D-Modell</td>
464      <td>init_1d_model</td>
465    </tr>
466    <tr nosave="" valign="top">
467      <td>25/11/99</td>
468      <td>SR</td>
469      <td>1.1e</td>
470      <td>N</td>
471      <td nosave="">Partikelplots
472mit vtk-Graphiksoftware sind auf t3eh
473möglich.
474Ausgabe erfolgt im dvr-Format. Bisher noch nicht nutzbar, da noch
475Einstellmöglichkeiten
476fÃŒr die Partikelquelle(n) fehlen. <b>Wichtig:</b>
477Die Benutzung
478der
479vtk-Software erfordert die zusÀtzliche mrun-Option <tt>-g</tt>.
480Das
481Hauptprogramm <tt>parles</tt> wird in diesem Fall zum
482Unterprogramm
483und
484von einem c++-Programm aus aufgerufen.</td>
485      <td>header,
486init_3d_model, init_pegrid, leap_frog, modules,
487parin, parles,
488read_var_list, write_var_list&nbsp;
489      <p><b>Neu:</b>
490      <br>
491advec_particles, init_particles, plot_particles</p>
492      </td>
493    </tr>
494    <tr nosave="" valign="top">
495      <td>"</td>
496      <td>SR</td>
497      <td>1.1e</td>
498      <td nosave="">B/C</td>
499      <td>TIMEF-Zeitmessungen von Subroutine- auf Function-Aufruf
500umgestellt.
501Laufindexkorrektur in <tt>spline_y</tt>. Fehler trat bei
502nx /= ny auf.</td>
503      <td>cpu_zeitmessung, spline_y</td>
504    </tr>
505    <tr nosave="" valign="top">
506      <td nosave="">28/12/99</td>
507      <td>SR</td>
508      <td>1.1f</td>
509      <td>N</td>
510      <td>Plot von IsooberflÀchen mit
511vtk-Graphiksoftware sind auf
512t3eh
513möglich. Ausgabe erfolgt im dvr-Format. Bisher noch nicht
514allgemein
515nutzbar, da noch diverse manuelle Eingriffe nötig sind.</td>
516      <td>header, leap_frog, modules, parin, plot_particles,
517read_var_list, write_var_list&nbsp;
518      <p><b>Neu:</b>
519      <br>
520plot_isosurface</p>
521      </td>
522    </tr>
523    <tr nosave="" valign="top">
524      <td nosave="">10/01/00</td>
525      <td>SR</td>
526      <td>1.2</td>
527      <td>C</td>
528      <td>Randbedingungen fÃŒr w (=0) werden explizit gesetzt,
529und
530zwar nicht
531nur bei&nbsp; <tt>k = nzb, nzt+1</tt> sondern auch
532bei&nbsp; <tt>k =
533nzt</tt>,
534wo bislang der vom vorigen Zeitschritt durch den Drucklöser
535ermittelte
536Wert stand. Auch jetzt wird der Wert bei k = nzt anschlieÃ&#376;end
537durch
538den Drucklöser modifiziert. Soweit bis jetzt abzusehen, hat
539diese
540Ã&#8222;nderung nur minimale Auswirkungen auf den Prognoseverlauf.
541Evtl.
542gibt es stÀrkere Auswirkungen bei exzessivem Auftreten von
543Schwerewellen
544am oberen Rand (die dort aber eigentlich sowieso nicht
545hingehören).&nbsp; <br>
546VariablenÃŒbergabe an <tt>boundary_conds</tt>
547erfolgt&nbsp; <br>
548ÃŒber Modul und nicht mehr per Parameterliste.&nbsp;
549      <p>Bei
550Galilei-Transformation wird jetzt defaultmÀÃ&#376;ig
551der geostrophische
552Wind als Translationsgeschwindigkeit verwendet (neuer
553Initialisierungsparameter <tt>use_ug_for_galilei_tr</tt>).
554Dadurch wird das verstÀrkte Auftreten von Schwerewellen bei
555höheren
556geostrophischen Windgeschwindigkeiten unterdrÃŒckt.&nbsp; </p>
557      <p>3D-Feldvariablen (u, v, w, pt, e, km, kh) sowie einige
5582D-Variablen
559(usws, vsws, rif, shf) sind nun als Pointer deklariert, denen nach
560jedem
561Zeitschritt neue Targets zugeordnet werden (fÃŒr die
562benötigten&nbsp;
5633 Zeitebenen existieren die Targets ..._1 (z.B. u_1), ..._2, ..._3).
564Durch
565die jeweilige Neuzuordnung der Targets entfÀllt das
566Umspeichern
567der
568Zeitebenen komplett (Zeitersparung: ca. 5% der
569Gesamtrechenzeit).&nbsp; <br>
570Die Umordnung der Zeitebenen wurde ins neue UP <tt>swap_timelevel</tt>
571ausgelagert.&nbsp; <br>
572      <b>Wichtig:</b> Die
573Ã&#339;bersetzungszeiten haben durch die
574EinfÃŒhrung
575der Pointer t.w. sehr deutlich zugenommen (<tt>leap_frog</tt>
576benötigt
577jetzt z.B. ca. 60 Sekunden). AuÃ&#376;erdem benötigt der
578Compiler
579jetzt wesentlich mehr Speicher. Der "memory"-Parameter in den
580Konfigurationsdateien
581(.mrun.config, .al.config) muss nun mindestens den Wert 60 (MB) (t3eh,
582t3ej2) bzw. 45 (t3eb) und 96 (vpp) haben.&nbsp; <br>
583      <b>Achtung:</b>
584bislang wurde diese Ã&#8222;nderung nur fÃŒr
585das
586reine Leapfrog-Verfahren getestet!&nbsp; </p>
587      <p>Neue
588Laderoption "<tt>-D preset=nan</tt>" empfohlen (s.
589Beispiel-Konfigurationsdatei).
590Ebenso empfehlenswert fÌr Debug-LÀufe: Compileroption
591"<tt>-ei</tt>".
592Diese bewirkt einen Programmabbruch, falls mit nicht initialisierten
593Variablen
594gearbeitet wird (ist aber zeitaufwendig in der AusfÃŒhrung!).</p>
595      </td>
596      <td>boundary_conds, check_parameters, header,
597init_3d_model,
598leap_frog,
599modules, parin, read_var_list, timestep, write_var_list&nbsp;
600      <p><b>Neu:</b>
601      <br>
602swap_timelevel</p>
603      </td>
604    </tr>
605    <tr nosave="" valign="top">
606      <td nosave="">10/01/00</td>
607      <td>SR</td>
608      <td>1.2</td>
609      <td>B</td>
610      <td>Der Asselin-Filter wird vor Umordnung der Zeitebenen
611aufgerufen. Dies
612geschah bisher fÀlschlicherweise erst danach, sodass der
613Zeitfilter
614asymmetrisch arbeitete.&nbsp; <br>
615      <b>Achtung:</b>
616diese Ã&#8222;nderung hat Auswirkungen auf den
617Prognoseverlauf.
618Die Testergebnis-Datei wurde entsprechend geÀndert.</td>
619      <td>leap_frog</td>
620    </tr>
621    <tr nosave="">
622      <td nosave="" valign="top">14/02/00</td>
623      <td nosave="" valign="top">MS</td>
624      <td nosave="" valign="top">1.2</td>
625      <td nosave="" valign="top">B/C</td>
626      <td><b>1D-Modell:</b>
627      <br>
628Der Asselin-Filter im 1D-Modell wird nun auch vor der Umordnung der
629Zeitebenen aufgerufen (s.o.).&nbsp;
630      <p><b>3D-Modell:</b>
631      <br>
632TKE wurde bisher bei <tt>scalar_advec=bc-scheme</tt> einer
633zeitlichen
634Filterung unterzogen. Dies wird nun unterbunden.&nbsp; </p>
635      <p>Die
636Divergenz der ImpulsflÃŒsse an der Prandtl - Schicht -
637Obergrenze
638wird nun ÃŒber eine ganze Gitterweite gebildet. Die bisherige
639Methode
640lieferte im Vergleich mit Ergebnissen anderer LES-Modelle&nbsp; zu
641groÃ&#376;e
642ImpulsflÃŒsse.&nbsp; </p>
643      <p>Bei der
644Berechnung der Diffusion der Temperatur werden die
645Diffusionskoeffizienten
646nun wieder durch Mittelung fÃŒr die entsprechenden&nbsp;
647Gitterpunkte
648bereitgestllt. Das Maximumkriterium, das im Zuge der Implementierung
649des
650Upstream-Spline Advektionsverfahrens eingebaut wurde, bewirkte ein zu
651rasches
652Anwachsen der Grenzschicht mit der Zeit.&nbsp; </p>
653      <p><b>Achtung:</b>
654diese Ã&#8222;nderungen haben Auswirkungen auf
655den Prognoseverlauf.
656Die Testergebnis-Datei wurde entsprechend geÀndert.</p>
657      </td>
658      <td nosave="" valign="top">init_1d_model,
659asselin_filter,
660diffusion_u, diffusion_v,&nbsp; <br>
661diffusion_pt</td>
662    </tr>
663    <tr nosave="" valign="top">
664      <td nosave="">17/02/00</td>
665      <td>MS</td>
666      <td>2.0</td>
667      <td>N</td>
668      <td><b>Allgemeine Beschreibung der Ã&#8222;nderungen:</b>
669      <br>
670vollstÀndige Implementierung des wolkenphysikalischen
671Moduls&nbsp;
672      <p>Zur Implementierung der Wolkenphysik waren
673umfangreiche
674Ã&#8222;nderungen
675in zahlreichen Programmteilen notwendig (Beschreibung <a href="#Cloud_physics">siehe
676unten</a> ). Im einzelnen wurden folgende Unprogramme
677geÀndert:&nbsp; <br>
678      <b>modules</b>:&nbsp;
679      <br>
6801) Bereitstellung neuer 3D-, 2D- und 1D-Felder fÃŒr
681die Prognose
682des Gesamtwassergehaltes&nbsp; <br>
6832) "cloud_parameters" als neues Modul mit wolkenphysikalischen
684Variablen&nbsp; <br>
685      <b>parin: </b>Initialisierungsparameterliste
686wurde erweitert
687(s.u.)&nbsp; <br>
688      <font color="#000000"><b>read_var_list,
689write_var_list,
690write_3d_binary: </b>In/Output
691der neuen Initialisierungsparamter und Felder fÃŒr
692FortsetzungslÀufe&nbsp;</font> <br>
693      <font color="#000000"><b>check_parameters:</b>
694Initialisierung
695des
696Feuchteprofils und Ausgabe von neuen Vertikalprofilen:&nbsp;</font>
697      <br>
698      <font color="#ff0000">vpt</font><font color="#000000">: virtuelle
699poteniellen
700Temperatur,</font> <br>
701      <font color="#ff0000">lpt</font><font color="#000000">:
702potentielle
703FlÃŒssigwassertemperatur,</font> <br>
704      <font color="#ff0000">q</font><font color="#000000">:
705Gesamtwassergehalt,</font> <br>
706      <font color="#ff0000">qv</font><font color="#000000">:
707spezifische
708Feuchte,</font> <br>
709      <font color="#ff0000">ql</font><font color="#000000">:
710FlÃŒssigwassergehalt,</font> <br>
711      <font color="#ff0000">w"vpt", w*vpt*, wvpt</font><font color="#000000">:
712Auftriebsfluss (subskalig, aufgelöst, gesamt),</font> <br>
713      <font color="#ff0000">w"q", w*q*, wq</font><font color="#000000">:
714Wasserfluss (subs., aufg., ges.),</font> <br>
715      <font color="#ff0000">w"qv", w*qv*, wqv</font><font color="#000000">:
716Feuchtefluss (subs, aufg., ges.)</font> <br>
717      <b>init_3d_model</b>:
718Initialisierung aller
719Feuchte/Wasserfelder&nbsp; <br>
720      <b>init_1d_model</b>:
721Anpassung an Rechnungen mit Feuchte&nbsp; <br>
722      <b>header</b>:
723Headerausgaben fÃŒr Feuchtebehandlung und
724Wolkenphysik
725eingefÃŒgt, auÃ&#376;erdem Formatnummern erweitert um Platz
726fÃŒr
727weitere Ausgaben zu schaffen&nbsp; <br>
728      <b>leap_frog:</b>
729      <br>
7301) alle prognostischen Gleichungen wurden in prognostic_equations
731ausgelagert&nbsp; <br>
7322) Aufrufe der neuen Unterprogramme (UP) compute_vpt,
733calc_liquid_water_content&nbsp; <br>
7343) veraenderter Aufruf von diffusivities&nbsp; <br>
735      <b><tt>b</tt>oundary_conds,
736asselin_filter, swap_timelevel,
737flow_statistics: </b>Anpassung
738an Feuchtebehandlung&nbsp; <br>
739      <b>plot2d, plot3d</b>:
740Ausgabemöglichkeiten von q und ql <br>
741      <b>buoyancy</b>:
742Anpassung des Autriebstermes an
743Feuchtebehandlung
744durch neue Ã&#339;bergabeparameter: Temperatur + Nummer des
745entsprechenden
746mittleren Temperaturprofils&nbsp; <br>
747      <b>diffusion_e</b>:
748Anpassung der Mischungswegberechnung an
749Feuchtebehandlung
750durch Variation der Ã&#339;bergabeparameter&nbsp; <br>
751      <b>production_e</b>:
752TKE-Produktion durch AuftriebskrÀfte an
753Feuchtebehandlung
754angepasst&nbsp; <br>
755      <b>diffusivities</b>:
756siehe diffusion_e&nbsp; <br>
757      <b>prandtl-fluxes</b>:
758Prandtl-Schicht fuer den
759Gesamtwassergehalt
760eingefÃŒgt&nbsp; </p>
761      <p>ZusÀtzlich
762wurden folgende Unterprogramme NEU
763eingefÃŒhrt:&nbsp; <br>
764      <b>inti_cloud_physics</b>:
765Initialisierung wolkenphysikalischer
766Parameter&nbsp; <br>
767      <b>prognostic_equations</b>:
768Auslagerung der prognostischen
769Gleichungen
770aus leap_frog, zusÀtzliche porgnostische Gleichung
771fÃŒr den
772Gesamtwassergehalt&nbsp; <br>
773      <b>diffusion_s</b>:
774Berechnung der Diffusion skalarer
775GröÃ&#376;en
776(Temperatur und Gesamtwassergehalt), ersetzt diffusion_pt&nbsp; <br>
777      <b>calc_liquid_water_content</b>: Berechnung des
778FlÃŒssigwassergehalts&nbsp; <br>
779      <b>calc_radiation</b>:
780Parametrisierung langwelliger
781Strahlungsprozesse
782ÃŒber des Schema der effektiven EmissivitÀt&nbsp; <br>
783      <b>calc_precipitation</b>:Parametrisierung von
784Niederschlagsprozessen
785mit Hilfe eines vereinfachten Kesslerschemas&nbsp; <br>
786      <b>impact_of_latent_heat</b>:
787BerÃŒcksichtigung der durch
788Niederschlagsprozesse
789zurÃŒckbleibenden latenten Waerme innerhalb eines
790Gittervolumens&nbsp; <br>
791      <b>compute_vpt</b>:
792Berechnung der virtuellen potentiellen
793Temperatur&nbsp; </p>
794      <p><b>Liste der neuen
795Initialisierungsparameter:</b> <br>
796      <table nosave="" border="1">
797        <caption>&nbsp; <br>
798        </caption><tbody>
799        </tbody><tbody>
800        </tbody> <tbody>
801          <tr nosave="">
802            <td nosave=""><b>Parameter</b></td>
803            <td nosave=""><b>Typ</b></td>
804            <td nosave="" width="4%"><b>Default</b></td>
805            <td nosave=""><b>Beschreibung</b></td>
806          </tr>
807          <tr nosave="">
808            <td nosave=""><tt>moisture</tt></td>
809            <td>L</td>
810            <td>FALSE</td>
811            <td>Ab-/Zuschalten
812des Gesamtwassergerhaltes als neue
813progn. Variable</td>
814          </tr>
815          <tr>
816            <td><tt>cloud_physics</tt></td>
817            <td>L</td>
818            <td>FALSE</td>
819            <td>Ab-/Zuschalten
820des Kondensationsschemas</td>
821          </tr>
822          <tr nosave="">
823            <td><tt>radiation</tt></td>
824            <td>L</td>
825            <td nosave="">FALSE</td>
826            <td>Ab-/Zuschalten
827des Strahlungsschemas</td>
828          </tr>
829          <tr>
830            <td><tt>precipitation</tt></td>
831            <td>L</td>
832            <td>FALSE</td>
833            <td>Ab-/Zuschalten
834der Niderschlagsparametrisierung</td>
835          </tr>
836          <tr>
837            <td><tt>bc_q_b</tt></td>
838            <td>C</td>
839            <td>'dirichlet'</td>
840            <td>untere
841Randbedingung fÃŒr q (siehe auch bc_pt_b)</td>
842          </tr>
843          <tr>
844            <td><tt>bc_q_t</tt></td>
845            <td>C</td>
846            <td>'neumann'</td>
847            <td>obere RB fÃŒr q
848(siehe auch bc_pt_t)</td>
849          </tr>
850          <tr>
851            <td><tt>q_surface</tt></td>
852            <td>R</td>
853            <td>0.0</td>
854            <td>Feuchtewert
855an der ErdoberflÀche</td>
856          </tr>
857          <tr>
858            <td><tt>q_surface_initial_change</tt></td>
859            <td>R</td>
860            <td>0.0</td>
861            <td>vgl.
862pt_surface_initial_change</td>
863          </tr>
864          <tr>
865            <td><tt>q_vertical_gradient</tt></td>
866            <td>R(10)</td>
867            <td>0.0</td>
868            <td>vgl.
869pt_vertical_gradient</td>
870          </tr>
871          <tr nosave="">
872            <td nosave=""><tt>q_vertical_gradient_level</tt></td>
873            <td>R(10)</td>
874            <td>10000.0</td>
875            <td>vgl.
876pt_vertical_gradient_level</td>
877          </tr>
878          <tr>
879            <td><tt>surface_pressure</tt></td>
880            <td>R</td>
881            <td>1013.25</td>
882            <td>Luftdruck
883an der ErdoberflÀche</td>
884          </tr>
885          <tr>
886            <td><tt>surface_waterflux</tt></td>
887            <td>R</td>
888            <td>0.0</td>
889            <td>oberflÀchennaher
890Wasser/Feuchtefluss</td>
891          </tr>
892        </tbody>
893      </table>
894FortsetzungslÀufe mit Daten, die mit Modellversionen kleiner
8952.0
896erzeugt
897wurden, sind aufgrund der erweiterten Initialisierungsparameterliste
898INKOMPATIBEL
899zu den Einleseroutinen der Version 2.0. Ein Update auf Version 2.0
900sollte
901deshalb nach Abschluss eines kompletten Modelllaufs erfolgen.&nbsp;
902      </p>
903      <p><b>Achtung:</b> diese
904Ã&#8222;nderungen haben Auswirkungen auf
905den Prognoseverlauf.
906Die Testergebnis-Datei wurde entsprechend geÀndert.</p>
907      </td>
908      <td nosave="" valign="top">modules, parin,
909read_var_list,
910check_parameters,
911init_3d_model, init_1d_model, header, leap_frog. buoyancy, diffusion_e,
912production_e, diffusivities, prandtl_fluxes, boundary_conds,
913asselin_filter,
914swap_timelevels, flow_statistics, plot_2d, plot_3d, write_var_list,
915write_3d_binary&nbsp;
916      <p><b>Neu:</b> <br>
917init_cloud_physics, prognostic_equations, diffusion_s,
918calc_liquid_water_content,
919calc_radiation, calc_precipitation, impact_of_latent_heat, comute_vpt</p>
920      </td>
921    </tr>
922    <tr nosave="">
923      <td nosave="" valign="top">18/02/00</td>
924      <td nosave="" valign="top">MS</td>
925      <td nosave="" valign="top">2.0</td>
926      <td nosave="" valign="top">B/N</td>
927      <td>Im Zuge der
928Umstellung auf Modellversion 2.0&nbsp; wurden
929noch kleine
930Ã&#8222;nderungen an den Unterprogrammen diffusion_e, production_e
931und
932diffusivities
933vorgenommen. In allen genannten&nbsp; <br>
934Unterprogrammen wurde bisher ein strengeres Kriterium zur Bestimmung
935der SchichtungsverhÀltnisse verwendet. Ein Modellvergleich
936zeigte
937jedoch, dass dadurch die Diffusion im Bereich der Inversion zu gross
938wird.&nbsp;
939      <p>Eine weitere ErgÀnzung betrifft die
940Advektionsverfahren:&nbsp; <br>
941Das Bott-Chlond Advektionsverfahren ist nun auch fÃŒr
942Rechnungen
943mit Feuchte/Wolkenphysik verfÃŒgbar.&nbsp; </p>
944      <p><b>Achtung:</b>
945diese Ã&#8222;nderungen haben Auswirkungen auf
946den Prognoseverlauf.
947Die Testergebnis-Datei wurde entsprechend geÀndert.</p>
948      </td>
949      <td nosave="" valign="top">diffusion_e,
950production_e,
951diffusivities, check_parameters</td>
952    </tr>
953    <tr nosave="" valign="top">
954      <td nosave="">26/04/00</td>
955      <td>SR</td>
956      <td>2.0a</td>
957      <td>C</td>
958      <td>VollstÀndige Umstellung von vtk-Grafik-Software auf
959dvrp-Software.
960Grafik-Ausgaben im dvr-Format sind mittlerweile begrenzt nutzbar
961(IsooberflÀchen
962sind darstellbar, siehe neue Laufparameter&nbsp; <tt>dt_dvrp,
963threshold</tt>),
964es wird aber in der Anwendung in naher Zukunft noch diverse
965Ã&#8222;nderungen
966geben. Partikelausgabe vorerst nicht mehr möglich (Verlagerung
967schon).</td>
968      <td>header, init_particles, init_3d_model,
969leap_frog, modules,
970parin, parles,
971read_var_list, write_var_list&nbsp; <br>
972      <b>Gestrichen:</b>
973      <br>
974plot_isosurface, plot_particles&nbsp;
975      <p><b>Neu:</b>
976      <br>
977init_dvrp, plot_dvrp</p>
978      </td>
979    </tr>
980    <tr nosave="" valign="top">
981      <td nosave="">26/04/00</td>
982      <td>SR</td>
983      <td>2.0a</td>
984      <td>C</td>
985      <td>Durch zusÀtzlichen zyklischen Rand im
986Bott-Chlond-Schema
987sehr
988viele SENDRECV-Aufrufe eingespart.&nbsp; <br>
989Ã&#8222;nderung des Namens einer eingelesenen Environment-Variablen
990in <tt>check_open</tt>
991von <tt>remote_addres</tt> nach <tt>return_addres</tt>.&nbsp;
992      <br>
993Prozessor-Topologie kann durch Benutzer vorgegeben werden.
994Dazu neue
995Initialisierungsparameter <tt>npex</tt> und <tt>npey</tt>.
996Durch
997Ã&#8222;nderungen
998am Header-Format wurde Testergebnis-Datei geÀndert.</td>
999      <td>advec_s_bc, check_open, header, init_pegrid, modules, parin,
1000read_var_list,
1001write_var_list</td>
1002    </tr>
1003    <tr nosave="" valign="top">
1004      <td nosave="">26/04/00</td>
1005      <td>SR</td>
1006      <td>2.0a</td>
1007      <td>N</td>
1008      <td>Rechnungen mit geneigter OberflÀche erlauben jetzt
1009die
1010Vorgabe
1011eines stabil geschichteten Temperaturprofils mit konstantem Gradienten.
1012Hinzuschalten von Feuchte funktioniert fÃŒr Hangrechnungen noch
1013nicht.</td>
1014      <td>advec_s_bc, buoyancy, init_3d_model,
1015modules,
1016prognostic_equations&nbsp;
1017      <p><b>Neu:</b> <br>
1018init_slope</p>
1019      </td>
1020    </tr>
1021    <tr nosave="" valign="top">
1022      <td>13/06/00</td>
1023      <td>MS</td>
1024      <td>2.0a</td>
1025      <td nosave="">B</td>
1026      <td>Es
1027werden nun auch die seitlichen RÀnder fÌr ql
1028gesetzt.
1029Ein Nichtsetzen der Randbedingungen fÃŒhrte zu Fehlern bei der
1030Ausgabe
1031von pt</td>
1032      <td nosave="">calc_liquid_water_content</td>
1033    </tr>
1034    <tr nosave="" valign="top">
1035      <td nosave="">03/07/00</td>
1036      <td>SR</td>
1037      <td>2.0b</td>
1038      <td>C</td>
1039      <td>FÃŒr eine Reihe von&nbsp;
1040Unterprogrammen, die innerhalb
1041von <tt>prognostic_equation</tt>
1042aufgerufen werden und an die Pointer-Variablen ÃŒbergeben
1043werden,
1044sind
1045jetzt explizite Interfaces vereinbart (neues Modul <tt>pointer_interfaces</tt>).
1046Auch im Vereinbarungsteil der entsprechenden Unterprogramme sind diese
1047Ã&#339;bergabeparameter jetzt aus KonsistenzgrÃŒnden (und
1048weil es
1049sonst
1050Laufzeitfehler gibt) als Pointer-Variablen deklariert. Mit dieser
1051Ã&#8222;nderung
1052ist der groÃ&#376;e Speicher- und CPU-Zeit-Bedarf beim
1053Ã&#339;bersetzen
1054von prognostic_equations wieder auf ein ertrÀgliches
1055MaÃ&#376;
1056reduziert.&nbsp; <br>
1057Im Rahmen dieser Ã&#8222;nderungen wurde auch an diffusion_e ein
1058Hilfsfeld
1059weniger ÃŒbergeben.&nbsp; <br>
1060Aus nicht vollstÀndig gekÀrten GrÌnden haben
1061sich die
1062Zahlen in der Testergebnis-Datei minimal geÀndert (und zwar
1063die
1064Spalte
1065mit der Gesamtdivergenz nach Aufruf des Drucklösers).</td>
1066      <td>advec_s_bc, buoyancy, diffusion_e, diffusion_s, diffusion_u,
1067diffusion_v,
1068diffusion_w, disturb_field, modules, production_e, prognostic_equations</td>
1069    </tr>
1070    <tr nosave="" valign="top">
1071      <td nosave="">04/07/00</td>
1072      <td>SR</td>
1073      <td>2.0b</td>
1074      <td>B</td>
1075      <td>Diriclet-Randbedingungen fÃŒr
1076Temperatur und
1077FlÃŒssigwassergehalt
1078werden gesetzt. Dies wÀre bereits nach EinfÌhrung der
1079Pointer
1080zwingend notwendig gewesen. Rechnungen mit vorgegebener
1081OberflÀchentemperatur
1082schlugen deshalb bislang fehl.</td>
1083      <td>boundary_conds</td>
1084    </tr>
1085    <tr nosave="" valign="top">
1086      <td nosave="">07/09/00</td>
1087      <td>MS</td>
1088      <td>2.0b</td>
1089      <td>B</td>
1090      <td>Die virtuelle potenielle Temperatur
1091wird nun auch fÃŒr
1092k=nzb und
1093k=nzt+1 berechnet, um die Randwerte auch fÃŒr Ausgabezwecke
1094bereichtzustellen.&nbsp;</td>
1095      <td>compute_vpt</td>
1096    </tr>
1097    <tr nosave="" valign="top">
1098      <td nosave="">28/12/00</td>
1099      <td>SR</td>
1100      <td>2.1</td>
1101      <td>C/N</td>
1102      <td>PALM erlaubt jetzt den Einsatz
1103optionaler Software-Pakete,
1104die zwar
1105zum Modell gehören, standardmÀÃ&#376;ig aber
1106nicht mit
1107ÃŒbersetzt
1108werden, um so unter anderem Kompilationszeit einzusparen. Siehe neues
1109Kapitel
11103.7 in der Modelldokumentation.&nbsp;
1111      <p>Einsatz der
1112dvrp-Software wurde vollstÀndig
1113ÃŒberarbeitet.
1114Sie ist nun als Software-Paket optional im Modell einsetzbar. Siehe
1115ÃŒberarbeitetes
1116Kapitel 4.5.6 in der Modelldokumentation.&nbsp; </p>
1117      <p>Die
1118Prognose der Partikelverlagerung ist ebenfalls in ein
1119optionales
1120Software-Paket ausgelagert.</p>
1121      </td>
1122      <td>advec_particles,
1123header, init_3d_model, init_dvrp,
1124init_particles,
1125init_pegrid, modules, parin, parles, plot_dvrp, prognostic_equations,
1126read_var_list,
1127write_var_list&nbsp;
1128      <p><b>Neu:</b> <br>
1129package_parin</p>
1130      </td>
1131    </tr>
1132    <tr nosave="" valign="top">
1133      <td nosave="">28/12/00</td>
1134      <td>SR</td>
1135      <td>2.1</td>
1136      <td>B</td>
1137      <td>MPI_FINALIZE ans Ende des Hauptprogramms geschoben (stand
1138vorher vor
1139cpu_auswertung, wo noch ein Barrier-Aufruf steht). comm2d war zu Beginn
1140undefiniert und wird nun erst einmal gleich MPI_COMM_WORLD gesetzt.</td>
1141      <td>parles</td>
1142    </tr>
1143    <tr nosave="" valign="top">
1144      <td nosave="">02/01/01</td>
1145      <td>SR</td>
1146      <td>2.1a</td>
1147      <td>C</td>
1148      <td>Offene Dateien werden sobald möglich geschlossen.
1149Wiedereröffnung
1150bestimmter Dateien mit POSITION='APPEND' möglich. In diesem
1151Zusammenhang
1152wurde das Unterprogramm close_files in close_file umbenannt und hat nun
11531 Argument.&nbsp; <br>
1154Anpassung der Diffusionsparametrisierung im 1D-Modell an das 3D-Modell.</td>
1155      <td>advec_particles, check_cpu_time, check_open, cpu_auswertung,
1156init_1d_model,
1157init_3d_model, init_particles, modules.f90, parin, parles, plot_2d,
1158write_3d_binary&nbsp;
1159      <p><b>Neu:</b> <br>
1160close_file&nbsp; </p>
1161      <p><b>Eliminiert:</b>
1162      <br>
1163close_files</p>
1164      </td>
1165    </tr>
1166    <tr nosave="" valign="top">
1167      <td nosave="">02/01/01</td>
1168      <td>SR</td>
1169      <td>2.1a</td>
1170      <td>B</td>
1171      <td>Beseitigung kleiner Fehler.</td>
1172      <td>check_cpu_time,
1173diffusion_e, diffusivities, long_filter,
1174production_e</td>
1175    </tr>
1176    <tr nosave="" valign="top">
1177      <td>05/01/01</td>
1178      <td>SR</td>
1179      <td>2.1b</td>
1180      <td>N</td>
1181      <td nosave="">Neues
1182Software-Paket zur Berechnung von Spektren im
1183Ortsraum</td>
1184      <td>check_open, header, init_3d_model,
1185leap_frog, modules,
1186package_parin,
1187parles, read_var_list, write_3d_binary, write_var_list&nbsp;
1188      <p><b>Neu:</b>
1189      <br>
1190calc_spectra, plot_spectra</p>
1191      </td>
1192    </tr>
1193    <tr valign="top">
1194      <td>25/01/01</td>
1195      <td>SR</td>
1196      <td>2.1c</td>
1197      <td>C/N</td>
1198      <td>Drucklöser
1199kann jetzt die Singleton-FFT benutzen. Modul <tt>singleton</tt>
1200wurde deshalb von <tt>calc_spectra.f90</tt> nach <tt>modules.f90</tt>
1201geschoben
1202(neuer Initialisierungsparameter <tt>fft_method</tt>).&nbsp;
1203      <br>
1204FlÌsse können jetzt bei k=1
1205unabhÀngig von der
1206Verwendung
1207einer Prandtl-Schicht vorgegeben werden (neuer
1208Initialisierungsparameter <tt>use_surface_fluxes</tt>).&nbsp;
1209      <br>
1210Modul <tt>test_variables</tt> wurde aus allen
1211Programmteilen entfernt.
1212Hauptprogramm wurde von parles nach <tt>palm</tt>
1213umbenannt.&nbsp; <br>
1214Modell kann auf DEC-Workstations eingesetzt werden (-D <tt>dec</tt>).&nbsp;
1215      <br>
1216ZusÀtzliche Zeitmessungen mit dvrp-Software.
1217Schreiben von
1218Partikel-Informationen
1219ist optional (neuer Parameter <tt>write_particle_informations</tt>).</td>
1220      <td>advec_particles, calc_spectra, check_parameters,
1221cpu_zeitmessung, diffusion_s,
1222header, init_3d_model, init_dvrp, init_particles, leap_frog, modules,
1223package_parin,
1224parin, poisfft, read_var_list, swap_timelevel, write_var_list&nbsp;
1225      <p><b>Neu:</b> <br>
1226palm&nbsp; </p>
1227      <p><b>Eliminiert:</b> <br>
1228parles, module_test</p>
1229      </td>
1230    </tr>
1231    <tr valign="top">
1232      <td>25/01/01</td>
1233      <td>SR</td>
1234      <td>2.1c</td>
1235      <td>B</td>
1236      <td>Fehler
1237beim öffnen von Unit 23 beseitigt. Modul <tt>interface</tt>
1238fehlte in disturb_field.&nbsp; <br>
1239Wertebereich von theta* in Prandtl-Fluxes eingeschrÀnkt, weil
1240sonst auf einigen Rechnern overflow droht, wenn u*=0.</td>
1241      <td>check_open,
1242disturb_field, prandtl_fluxes</td>
1243    </tr>
1244    <tr valign="top">
1245      <td>30/01/01</td>
1246      <td>SR</td>
1247      <td>2.1d</td>
1248      <td>N/C</td>
1249      <td>Prognose
1250eines passiven Skalars ist möglich (anstatt
1251Feuchte),
1252dazu neuer Initialisierungsparameter <tt>passive_scalar</tt>.&nbsp;
1253      <p>Falls kein Pfad fÃŒr ftpcopy existiert, werden in <tt>check_open</tt>
1254die Dateinamen fÃŒr AVS-Koordinaten- und Datendatei auf
1255"unknown"
1256gesetzt.</p>
1257      </td>
1258      <td>asselin_filter,
1259boundary_conds, check_open, check_parameters,
1260flow_statistics,
1261header, init_1d_model, init_3d_model, modules, parin, plot_2d,
1262plot_dvrp,
1263prandtl_fluxes, prognostic_equations, read_var_list, swap_timelevel,
1264write_3d_binary,
1265write_var_list</td>
1266    </tr>
1267    <tr valign="top">
1268      <td>30/01/01</td>
1269      <td>SR</td>
1270      <td>2.1d</td>
1271      <td>B</td>
1272      <td>String-Ausgabe fÃŒr use_surface_fluxes korrigiert.
1273Version vom
127425/01/01 brach deswegen bei FortsetzungslÀufen ab.&nbsp; <br>
1275xy-Plotausgabe von q und ql korrigiert.</td>
1276      <td>plot_2d,
1277write_var_list</td>
1278    </tr>
1279    <tr nosave="" valign="top">
1280      <td nosave="">30/03/01</td>
1281      <td>SR</td>
1282      <td>2.2</td>
1283      <td>N/C</td>
1284      <td>SÀmtliche 3D-Felder der Zeitebene t+dt wurden
1285entfernt.
1286Ebenso
1287die Arbeitsfelder work und work1. Hilfsfelder wurden soweit
1288möglich
1289eingespart und werden grundsÀtzlich lokal allokiert. Dadurch
1290konnten
1291eine Reihe von Ã&#339;bergabeparametern gestrichen werden (z.B. beim
1292Aufruf
1293von <tt>pres, advec_s_bc, poisfft, production_e, sor </tt>sowie
1294den
1295Spline-Unterprogrammen).
1296Der Long-Filter wurde in das Upstream-Spline-Verfahren integriert. Da
1297der
1298Zeitfilter jetzt direkt in der prognostischen Gleichung angewendet wird
1299(bisher geschah dies erst nach Aufruf des Drucklösers), haben
1300sich
1301die Zahlen in der Testergebnis-Datei geÀndert. Die mittleren
1302Profile
1303sind aber unbeeinflusst.&nbsp;
1304      <p>Eine weitere kleinere
1305Ã&#8222;nderung der Testergebnis-Daten
1306wird dadurch
1307verursacht, dass jetzt der Parameter <tt>adjust_mixing_length</tt>
1308defaultmÀÃ&#376;ig <tt>.FALSE.</tt>
1309ist und der Mischungsweg grundsÀtzlich zusÀtzlich
1310auf&nbsp; <tt>0.7
1311* zu</tt>&nbsp;&nbsp; begrenzt wird. Falls <tt>adjust_mixing_length=T</tt>,
1312wird jetzt der Mischungsweg in <tt>diffusivities</tt>
1313analog zu <tt>diffusion_e</tt>
1314an allen Gitterpunkten modifiziert. <b>Achtung: </b>Diese
1315Ã&#8222;nderungen
1316können bei anderen Simulationen t.w. erhebliche Auswirkungen
1317auf
1318die
1319oberflÀchennahen Ergebnisse haben.&nbsp; </p>
1320      <p><b>Kleinere
1321Ã&#8222;nderungen:</b> In <tt>init_cloud_physics</tt>
1322wird
1323der Wert der Variablen <tt>surface_pressure</tt> in hPa
1324belassen
1325(bisher
1326Umwandlung in Pa).&nbsp; <br>
1327Die Namelist-Namen der Software-Pakete sind&nbsp; t.w.
1328geÀndert.&nbsp; <br>
1329Unit 14 (binÀre Ausgabe fÌr
1330FortsetzungslÀufe) wird
1331jetzt im Hauptprogramm geschlossen, damit auf diese Datei noch
1332benutzergesteuerte
1333Ausgaben erfolgen können.&nbsp; <br>
1334Laufparameter werden in keinem Fall mehr auf Unit 14 ausgegeben bzw.
1335von Unit 13 gelesen, d.h. sie gelten jetzt tatsÀchlich nur
1336fÃŒr
1337den jeweils aktuellen Lauf.&nbsp; <br>
1338Partikeladvektion funktioniert jetzt auch zusammen mit der
1339Galilei-Transformation.&nbsp; </p>
1340      <p>Restliche
1341deutsche Variablen-, Unterprogramm- und Modulnamen
1342wurden
1343ins Englische ÃŒbersetzt. Davon sind fast alle Programmteile
1344betroffen
1345(nicht in rechter Spalte aufgefÃŒhrt).</p>
1346      </td>
1347      <td>advec_particles,
1348advec_s_bc, advec_s_ups, advec_u_ups,
1349advec_v_ups,
1350advec_w_ups, boundary_conds, calc_spectra, check_parameters,
1351diffusion_e,
1352init_3d_model, init_cloud_physics, init_pegrid, init_rankine,
1353leap_frog,
1354modules, package_parin, palm, parin, poisfft, pres, production_e,
1355prognostic_equations,
1356read_var_list, sor, swap_timelevel, transpose_*, write_3d_binary,
1357write_var_list&nbsp;
1358      <p><b>Neu:</b> <br>
1359cpu_log, cpu_statistics&nbsp; </p>
1360      <p><b>Eliminiert:</b>
1361      <br>
1362asselin_filter, cpu_auswertung, cpu_zeitmessung, long_filter</p>
1363      </td>
1364    </tr>
1365    <tr nosave="" valign="top">
1366      <td nosave="">12/07/01</td>
1367      <td>SR</td>
1368      <td>2.2a</td>
1369      <td>N/C</td>
1370      <td>Defaultwert der unteren
1371Randbedingung fÃŒr die TKE ist ab
1372sofort <tt>bc_e_b
1373= 'neumann'</tt>.&nbsp; <br>
1374Partikelquelle ist ÃŒber Paketparameter steuerbar.
1375Partikeleigenschaften
1376sind mittels benutzereigener Software steuerbar. Der dvrp-Ausgabeweg
1377ist
1378jetzt ebenfalls ÃŒber Paketparameter steuerbar.&nbsp; <br>
1379Allen Modulen (bis auf singleton) wurde eine SAVE-Anweisung
1380hinzugefÃŒgt,
1381damit die durch sie vereinbarten Variablen wÀhrend der
1382Rechnung in
1383keinem Fall undefiniert werden können (diese Gefahr besteht
1384z.B.
1385auf
1386SGI-Origin-Maschinen).</td>
1387      <td>advec_particles, header,
1388init_dvrp, init_particles,
1389modules.f90, package_parin,
1390plot_dvrp, user_interface</td>
1391    </tr>
1392    <tr>
1393      <td>12/07/01</td>
1394      <td>SR</td>
1395      <td>2.2a</td>
1396      <td>B</td>
1397      <td>Verschiebung der OPEN-Anweisung fÃŒr Unit 33
1398(AVS-FLD-Datei).</td>
1399      <td>check_open</td>
1400    </tr>
1401    <tr nosave="" valign="top">
1402      <td nosave="">20/07/01</td>
1403      <td>SR</td>
1404      <td>2.3</td>
1405      <td>N</td>
1406      <td>Einbau des Mehrgitterverfahrens zur Lösung der
1407Poisson-Gleichung.</td>
1408      <td>check_parameters,
1409exchange_horiz, header, init_grid,
1410init_pegrid, modules,
1411parin, pres, run_control&nbsp;
1412      <p><b>Neu:</b> <br>
1413poismg</p>
1414      </td>
1415    </tr>
1416    <tr nosave="" valign="top">
1417      <td nosave="">21/08/01</td>
1418      <td>SR</td>
1419      <td>2.3a</td>
1420      <td>N/C</td>
1421      <td>ErgÀnzung der dvrp-Software: Partikel
1422können mit
1423SchwÀnzen
1424versehen werden. Die Ausgabe der dvrp-Plotdaten durch einen separaten
1425PE
1426ist möglich (mrun-Option "<tt>-p dvrp_graphics+1PE</tt>").
1427Der
1428Kommunikator <tt>MPI_COMM_WORLD</tt>&nbsp;
1429wurde deshalb durch&nbsp; <tt>comm_palm</tt>&nbsp;
1430ersetzt.&nbsp;
1431      <p>Reduzierung des Mischungsweges im
1432Wandbereich kann wahlweise
1433abgeschaltet
1434werden. FÃŒr km und kh wird jetzt eine Neumann-Randbedingung am
1435unteren
1436Rand verwendet. Die TKE-Energieproduktionsberechnung durch Scherung des
1437Grundstroms am unteren Rand wurde verbessert.&nbsp; </p>
1438      <p>Generelle
1439Verwendung der bodennahen vertikalen
1440ImpulsflÃŒsse in
1441den Diffusionstermen von u und v, immer wenn diese als Randbedingung
1442vorgegeben
1443sind (gemÀÃ&#376; <tt>use_surface_fluxes</tt>,
1444- bisher wurde
1445dies
1446nur bei eingeschalteter Prandtl-Schicht gemacht). Schubspannungen
1447können
1448jetzt als Randbedingungen vorgegeben werden (allerdings unter
1449zuhilfenahme
1450benutzereigener Software).&nbsp; </p>
1451      <p>ZusÀtzliche
1452Schnittstellen fÃŒr benutzereigene
1453Software in
1454allen Tendenztermen, in <tt>flow_statistics,</tt> und
1455fÃŒr
1456Partikel-
1457bzw. dvrp-Programmteile (Bestimmung von Partikeleigenschaften,
1458Festlegung
1459von Farbtabellen).&nbsp; </p>
1460      <p><b>Achtung: </b>Diese
1461Ã&#8222;nderungen können bei
1462Simulationen mit
1463mittlerem Wind durch die Ã&#8222;nderungen im bereich des unteren
1464Randes
1465t.w. erhebliche Auswirkungen auf die oberflÀchennahen
1466Ergebnisse
1467haben.</p>
1468      </td>
1469      <td>advec_particles, diffusion_e,
1470diffusion_u, diffusion_v,
1471diffusivities,
1472flow_statistics, header, init_dvrp, init_particles, init_pegrid,
1473leap_frog,
1474modules, package_parin, palm, parin, plot_dvrp, production_e,
1475prognostic_equations,
1476read_var_list, swap_timelevel, user_interface, write_var_list</td>
1477    </tr>
1478    <tr nosave="" valign="top">
1479      <td nosave="">21/08/01</td>
1480      <td>SR</td>
1481      <td>2.3a</td>
1482      <td>B</td>
1483      <td>Falsche Positionierung von
1484MPI_ALLREDUCE in check_cpu_time
1485korrigiert.</td>
1486      <td>check_cpu_time</td>
1487    </tr>
1488    <tr nosave="" valign="top">
1489      <td nosave="">04/09/01</td>
1490      <td>SR</td>
1491      <td>2.3b</td>
1492      <td>N</td>
1493      <td>ZusÀtzliche Profilausgaben fÃŒr
1494Energieproduktionsterme möglich.
1495Stördruck wird bei der FFT-Methode nicht mehr durch
1496Aufsummieren
1497der
1498Werte zu den einzelnen Zeitschritten ermittelt.</td>
1499      <td>check_parameters,
1500flow_statistics, modules, pres</td>
1501    </tr>
1502    <tr nosave="" valign="top">
1503      <td nosave="">04/09/01</td>
1504      <td>SR</td>
1505      <td>2.3b</td>
1506      <td>B</td>
1507      <td>Austausch der GeisterrÀnder fÃŒr die
1508zeitgefilterten
1509Felder
1510direkt nach DurchfÃŒhrung der Filterung (war fehlerhaft seit
1511Entfernen
1512der Zeitebene t+dt (Version 2.2) und fÃŒhrte zu sehr kleinen
1513Störungen
1514an den seitlichen RÀndern der Teilgebiete).&nbsp;
1515      <p><b>Achtung:</b>
1516Der Inhalt der Testergebnis-Datei Àndert
1517sich durch
1518diese Fehlerkorrektur.</p>
1519      </td>
1520      <td>prognostic_equations</td>
1521    </tr>
1522    <tr nosave="" valign="top">
1523      <td nosave="">09/11/01</td>
1524      <td>SR</td>
1525      <td>2.3c</td>
1526      <td>N</td>
1527      <td>Farbe entlang der
1528PartikelschwÀnze kann sich
1529Àndern. Einschalten
1530der Partikeladvektion bei FortsetzungslÀufen möglich.</td>
1531      <td>advec_particles, init_particles, modules, package_parin,
1532plot_dvrp</td>
1533    </tr>
1534    <tr nosave="" valign="top">
1535      <td nosave="">16/04/02</td>
1536      <td>SR</td>
1537      <td>2.3d</td>
1538      <td>N</td>
1539      <td>Vorgabe
1540von Randbedingungen fÃŒr Partikeladvektion
1541möglich.
1542Partikeldaten können fÌr spÀtere Analysen
1543auf Datei
1544geschrieben
1545werden (Unit 85). <tt>PARTICLE</tt>-Datentyp
1546enthÀlt
1547Informationen
1548ÃŒber Partikelgeschwindigkeitskomponenten und
1549Startposition.&nbsp;
1550      <p>Skalartransport sowie entsprechende
1551Datenausgaben können
1552durch
1553eigene Parameter gesteuert werden (nicht mehr ÃŒber die
1554Feuchteparameter).&nbsp; </p>
1555      <p>Im Fall von
1556pdims(1)=1 (eindimensionales virtuelles
1557Prozessornetz in
1558y-Richtung) werden die zyklischen Randbedingungen in x-Richtung durch
1559direktes
1560Umspeichern anstatt durch&nbsp; <tt>sendrecv </tt>realisiert.
1561Ebenso
1562werden
1563die Transponierungen xz, yz, zx&nbsp; und zy eingespart (es wird
1564aber
1565weiter
1566umsortiert).&nbsp; </p>
1567      <p>Im Fall von
15683D-Plotausgaben Aufruf von ftpcopy-Script durch
1569batch_scp-Script
1570ersetzt (dient der Ermittelung von Dateizyklusnummern als Information
1571fÃŒr
1572die AVS-fld-Datei).&nbsp; </p>
1573      <p>Bei fehlerhafter
1574Eröffnung einer CPU_MEASURES-Datei
1575werden erneute
1576Eröffnungsversuche durchgefÌhrt.</p>
1577      </td>
1578      <td>advec_particles, check_open, check_parameters,
1579exchange_horiz, flow_statistics,
1580header, init_particles, modules, package_parin, parin, plot_2d,
1581plot_3d,
1582prognostic_equations, read_var_list, transpose_xz, transpose_yz,
1583transpose_zx,
1584transpose_zy, write_var_list</td>
1585    </tr>
1586    <tr nosave="" valign="top">
1587      <td nosave="">02/05/02</td>
1588      <td>SR</td>
1589      <td>2.3e</td>
1590      <td>B</td>
1591      <td>WiedereinfÃŒhrung der 3D-Felder fÃŒr die
1592Zeitebene
1593t+dt, die
1594notwendig ist, damit in den Diffusionstermen bei Leapfrog-Zeitschritten
1595mit der korrekten Zeitebene t-dt gearbeitet wird. Seit Version 2.2
1596wurde
1597fÀlschlicherweise die Zeitebene t+dt verwendet. Asselin-Filter
1598ist
1599jetzt wieder eigenstÀndiges Unterprogramm. <br>
1600Die WiedereinfÃŒhrung dieser dritten Zeitebene ist auch
1601Voraussetzung
1602fÌr die in der nÀchsten Version geplante skalare
1603Optimierung.&nbsp;
1604      <p>Fehler bei Berechnung von
1605Ausgabezeitpunkten eliminiert (trat
1606auf, wenn
1607bei FortsetzungslÀufen von AusgabeabstÀnden 0.0 auf
1608von Null
1609verschiedene Werte gewechselt werden sollte).&nbsp; </p>
1610      <p><b>Achtung:</b>
1611Der Inhalt der Testergebnis-Datei Àndert
1612sich durch
1613diese Fehlerkorrektur.</p>
1614      </td>
1615      <td>init_3d_model,
1616leap_frog, modules, prognostic_equations,
1617swap_timelevel&nbsp;
1618      <p><b>Neu:</b> <br>
1619asselin_filter</p>
1620      </td>
1621    </tr>
1622    <tr nosave="" valign="top">
1623      <td>02/05/02</td>
1624      <td>SR</td>
1625      <td>2.3e</td>
1626      <td>N/C</td>
1627      <td>Kleinere
1628Anpassungen an IBM-Regatta-Systeme in
1629check_parameters, cpu_log.&nbsp;
1630      <p>Modul singleton in
1631eigenstÀndige Datei
1632ÃŒberfÃŒhrt.&nbsp; </p>
1633      <p>Global_min_max
1634arbeitet mit REAL*4, um Komplikationen auf
163532-bit-Rechnern
1636zu vermeiden (Datentyp MPI_2REAL mÃŒsste dort sonst auf
1637MPI_2DOUBLE_PRECISION
1638geÀndert werden). <br>
1639Horizontale Geschwindigkeitskomponenten fÃŒr Partikeladvektion
1640werden exakt zwischen den jeweils benachbarten horizontalen
1641GitterflÀchen
1642interpoliert.</p>
1643      </td>
1644      <td nosave="">advec_particles,
1645check_parameters, cpu_log,
1646global_min_max,
1647modules&nbsp;
1648      <p><b>Neu:</b> <br>
1649singleton</p>
1650      </td>
1651    </tr>
1652    <tr nosave="" valign="top">
1653      <td nosave="">11/06/02</td>
1654      <td>SR</td>
1655      <td>2.4</td>
1656      <td>N/C</td>
1657      <td>Optimierung und Anpassungen fÃŒr einzelne Knoten der
1658IBM-Regatta-Systeme.
1659      <p><b>Skalare (Cache) Optimierung:</b>
1660Tendenzterme werden
1661innerhalb einer
1662groÃ&#376;en (i,j)-Schleife berechnet, die nun jeweils die gesamte
1663prognostische
1664Gleichung umfasst. Schleifenindices i und j werden an die
1665Tendenzunterprogramme
1666als Argumente ÃŒbergeben. Die Tendenzunterprogramme sind als
1667Module
1668geschrieben, die mittels Technik der ÃŒberladenen Funktionen
1669auch
1670ohne
1671diese Indices i und j aufgerufen werden können, und dann wie
1672in
1673frÃŒheren
1674Versionen funktionieren (d.h. in ihnen laufen die Schleifen
1675ÃŒber
1676alle
16773 Dimensionen). Solche Teile der prognostischen Gleichungen, die
1678globale
1679Kommunikation beinhalten, sind vor die (i,j)-Schleife gezogen. Falls
1680ausschlieÃ&#376;lich
1681mit Piascek-Williams-Advektion gearbeitet wird, werden alle
1682prognostischen
1683Gleichungen in einer einzigen (i,j)-Schleife gerechnet. </p>
1684      <p><b>Kommunikationsoptimierung:</b>
1685ZusÀtzliche
1686Implementierung einer
16871D-Gebietszerlegung in x-Richtung. Mit dem neuen direkten
1688Drucklöser
1689(poisfft_hybrid) werden dadurch 4 von 6 notwendigen Transpositionen
1690eingespart.
1691Die 1D-Zerlegung wird automatisch bei Verwendung dieses neuen
1692Lösers
1693aktiviert. Austausch von GeisterrÀndern in y-Richtung wird bei
1694dieser
16951D-Zerlegung durch einfache zyklische Randbedingungen ersetzt. </p>
1696      <p><b>Kleinere Anpassungen:</b> String-Vergleiche
1697erfordern beim
1698IBM-Compiler
1699in der Regel den Einsatz der TRIM-Funktion, um
1700ÃŒberschÃŒssige
1701Blanks am Ende des Strings abzuschneiden (sonst liefert der Vergleich
1702.F.). <br>
1703Lokal allokierte Felder t.w. in sogenannte automatische Felder
1704umgewandelt
1705(gÃŒnstiger, um Gefahr von eventuellen Speicherlecks zu
1706vermeiden).
1707Einige Feldoperationen wurden wegen schlechter Performance auf der IBM
1708entfernt (s. pres). </p>
1709      <p><b>Achtung: </b>Die
1710Ã&#339;bersetzung des Modells erfordert
1711aufgrund
1712der Vielzahl nunmehr eingesetzter Module die Verwendung des
1713make-Mechanismus,
1714um die korrekte Reihenfolge bei der Ã&#339;bersetzung der
1715Programmteile
1716zu gewÀhrleisten. Die Beschreibung dieser
1717AbhÀngigkeiten
1718erfolgt
1719in der Datei<tt> Makefile</tt>, die zusammen mit den
1720Programmdateien
1721abgelegt
1722ist und ebenfalls unter RCS-Verwaltung steht. </p>
1723      <p>Im
1724User-Interface ist das Unterprogramm<tt> user_actions </tt>nun
1725ebenfalls
1726als Modul geschrieben und bedient sich der Methode der
1727ÃŒberladenen
1728Funktionen. Existierende benutzereigene Software muss entsprechend
1729angepasst
1730werden.</p>
1731      </td>
1732      <td>advec_s_pw, advec_s_up,
1733advec_u_pw, advec_u_up, advec_v_pw,
1734advec_v_up,
1735advec_w_pw, advec_w_up, buoyancy, calc_precipitation, calc_radiation,
1736calc_spectra,
1737check_parameters, coriolis, diffusion_e, diffusion_s, diffusion_u,
1738diffusion_v,
1739diffusion_w, diffusivities, exchange_horiz, exchange_horiz_2d,
1740global_min_max,
1741header, impact_of_latent_heat, init_pegrid, leap_frog, modules,
1742plot_2d,
1743plot_3d, plot_spectra, poisfft, pres, production_e,
1744prognostic_equations,
1745user_interface,
1746      <p><b>Neu:</b> <br>
1747fft_for_1d_decomp, Makefile, poisfft_hybrid,&nbsp;</p>
1748      </td>
1749    </tr>
1750    <tr nosave="" valign="top">
1751      <td nosave="">11/06/02</td>
1752      <td>SR</td>
1753      <td>2.4</td>
1754      <td>B</td>
1755      <td>Fehlende Variablenvereinbarung in <tt>advec_particles</tt>
1756ergÀnzt.</td>
1757      <td>advec_particles</td>
1758    </tr>
1759    <tr>
1760      <td valign="top">12/09/02</td>
1761      <td valign="top">SR</td>
1762      <td valign="top">2.4a</td>
1763      <td valign="top">N</td>
1764      <td valign="top">Partikel
1765können mit TrÀgheit versehen
1766werden und
1767einen Dichteunterschied zum umgebenden Fluid haben. Zur Steuerung dient
1768der neue Paketparameter <tt>density_ratio</tt>.</td>
1769      <td valign="top">advec_particles, header, init_particles,
1770modules, package_parin</td>
1771    </tr>
1772    <tr>
1773      <td valign="top">12/09/02</td>
1774      <td valign="top">SR</td>
1775      <td valign="top">2.4a</td>
1776      <td valign="top">B</td>
1777      <td valign="top">Fehler in Berechnung der Anfangsprofile
1778von pt
1779und q entfernt
1780(obere Feldgrenze von 10 konnte in <tt>pt_vertical_gradient_level_ind</tt>
1781ÃŒberschritten werden). Fehler fÃŒhrte unter
1782UmstÀnden zu
1783"segmentation fault" bei Verwendung sehr groÃ&#376;er
1784Gitterpunktzahlen
1785in z-Richtung.
1786      <p>Fehler in Berechnung der v-Komponente am
1787unteren Rand
1788entfernt, die
1789fÃŒr den Scherungsproduktionsterm der TKE verwendet wird
1790(Variable
1791v_0). FÀlschlicherweise wurde zur Berechnung u(k=1) statt
1792v(k=1)
1793verwendet.</p>
1794      </td>
1795      <td valign="top">check_parameters,
1796modules, production_e</td>
1797    </tr>
1798    <tr>
1799      <td valign="top">19/12/02</td>
1800      <td valign="top">SR</td>
1801      <td valign="top">2.5</td>
1802      <td valign="top">N</td>
1803      <td valign="top">Restart times can be set by user with new
1804runtime (d3par)
1805parameters <tt>restart_time</tt> and <tt>dt_restart</tt>.
1806Run
1807description
1808header is written on file CONTINUE_RUN. Output of cpu statistics
1809changed
1810(PE results are now collected on PE0 in order to calculate mean cpu
1811statistics).
1812Output of warnings in the job protocol in case of negative measured
1813cpu-times.
1814Remaining cpu-time is also evaluated on IBM-Regatta.</td>
1815      <td valign="top">cpu_log, cpu_statistics,
1816check_parameters,header, leap_frog,
1817local_tremain, local_tremain_ini, modules,&nbsp; palm,&nbsp;
1818      <p><b>new:</b>
1819      <br>
1820check_for_restart </p>
1821      <p><b>deleted:</b> <br>
1822check_cpu_time</p>
1823      </td>
1824    </tr>
1825    <tr>
1826      <td valign="top">&nbsp;<br>
1827      </td>
1828      <td valign="top">&nbsp;<br>
1829      </td>
1830      <td valign="top">&nbsp;<br>
1831      </td>
1832      <td valign="top">C</td>
1833      <td valign="top">Unit
183414 (BINOUT) must be opened using a special
1835process
1836id string, because on IBM, the PE rank differs between communicators
1837MPI_COMM_WORLD
1838and comm_2d. This leads to a mismatch between filename-PE-number and
1839PE-number
1840written on file. As the consequence, these files could not be read by
1841restart-jobs.
1842Reading of array <tt>hom</tt> moved from <tt>init_3d_model
1843      </tt>to <tt>read_var_list</tt>
1844(binary version number incremented to 2.2).
1845      <p><b>Further
1846optimization for IBM-Regatta-systems:</b> <br>
1847Additional optimization of the hybrid-solver for multinode usage
1848(overlapping
1849of communication and computation). </p>
1850      <p>Further cache
1851optimization by using strides and joining loops (<tt>hybrid_solver,
1852pres</tt> and <tt>timestep</tt>). Joining of
1853MPI_ALLREDUCE calls in
1854timestep. </p>
1855      <p>In case of 1d-decomposition along x
1856only a part of the
1857integral divisor
1858conditions is checked, on IBM hosts a 1d-decomposition along x is the
1859default,
1860a switch from Poisson-FFT-solver to the hybrid-solver is made in case
1861of
18621d-decomposition along x, the hybrid-solver does not force a
18631d-decomposition
1864any more. </p>
1865      <p>Array notation changed to do-loop
1866constructs due to better
1867performance. </p>
1868      <p>Cyclic boundary conditions along <tt>y</tt>
1869used instead of
1870sendrecv
1871in case of a 1d-decomposition along <tt>x</tt>. SENDRECV
1872replaced by
1873nonblocking
1874routines ISEND and IRECV in <tt>exchange_horiz.f90</tt>. </p>
1875      <p>Speed optimization by removing MINVAL/MAXVAL calls and by
1876handling <br>
1877the "abs" case in a different way than the min/max cases (routine <tt>global_min_max</tt>).</p>
1878      </td>
1879      <td valign="top">asselin_filter, check_open,
1880exchange_horiz,
1881global_min_max,
1882init_3d_model, init_pegrid, parin, poisfft_hybrid, read_var_list,
1883timestep,
1884write_3d_binary, write_var_list</td>
1885    </tr>
1886    <tr>
1887      <td valign="top"><br>
1888      </td>
1889      <td valign="top"><br>
1890      </td>
1891      <td valign="top"><br>
1892      </td>
1893      <td valign="top">B</td>
1894      <td valign="top">Correction
1895of mixing length term (l(k)/ll(k)).
1896The condition
1897kh=3*km in the unstable case is now also exactly met in the wall
1898adjustment
1899region. Factor 0.7 in wall adjustment part replaced by variable <tt>wall_adjustment_factor</tt>,
1900which is set to 1.8 in <tt>modules.f90</tt>. The factor
19010.7 was the
1902possible
1903reason for 2-delta-x-waves, which were observed since version 2.1d.
1904      <p>Calculation
1905of deformation tensor re-designed (<tt>production_e</tt>). </p>
1906      <p>STOP statements replaced by call of new subroutine <tt>local_stop,
1907      </tt>where
1908MPI_FINALIZE is called before STOP in case of a parallel environment. </p>
1909      <p>ISO2D parameter dp set to true for ibm hosts. </p>
1910      <p>tend=p
1911added in <tt>pres</tt> after calling sor method.</p>
1912      </td>
1913      <td valign="top">advec_s_bc, buoyancy,
1914check_open,
1915check_parameters, close_file,
1916coriolis, diffusion_e, diffusivities, fft_for_1d_decomp,
1917flow_statistics,
1918init_3d_model, init_dvrp, init_grid, init_particles, init_pegrid,
1919parin,
1920plot_2d, poisfft, pres, read_var_list, user_interface,&nbsp;
1921      <p><b>new:</b>
1922      <br>
1923local_stop, production_e</p>
1924      </td>
1925    </tr>
1926    <tr>
1927      <td valign="top">03/03/03</td>
1928      <td valign="top">SR</td>
1929      <td valign="top">2.5a</td>
1930      <td valign="top">N</td>
1931      <td valign="top">Particle velocities are also stored in
1932array
1933particles in
1934case of zero density ratio. Steering of variables by dvrp browser
1935included.</td>
1936      <td valign="top">advec_particles,
1937init_dvrp, modules,</td>
1938    </tr>
1939    <tr>
1940      <td valign="top"><br>
1941      </td>
1942      <td valign="top"><br>
1943      </td>
1944      <td valign="top"><br>
1945      </td>
1946      <td valign="top">C</td>
1947      <td valign="top">AVS
1948data format changed from float to xdr_float
1949(needed
1950on linux machines <br>
1951due to the little/big endian problem). Updates for new version of dvrp
1952software (e.g. using module dvrp is now mandatory).</td>
1953      <td valign="top">close_file, init_dvrp, leap_frog, plot_dvrp</td>
1954    </tr>
1955    <tr>
1956      <td valign="top"><br>
1957      </td>
1958      <td valign="top"><br>
1959      </td>
1960      <td valign="top"><br>
1961      </td>
1962      <td valign="top">B</td>
1963      <td valign="top">Error in particle inertia part removed
1964(exp_arg
1965must not
1966contain the timestep). <br>
1967Error in calculation of the vertical flux of resolved scale energy
1968(profile 57) removed. Displacement for integers in mpi_particle_type
1969reduced
1970from 16 to 8 on ibm.</td>
1971      <td valign="top">advec_particles,
1972flow_statistics, init_particles</td>
1973    </tr>
1974    <tr>
1975      <td valign="top">12/03/03</td>
1976      <td valign="top">SR</td>
1977      <td valign="top">2.6</td>
1978      <td valign="top">N</td>
1979      <td valign="top"><b>Version optimized for NEC-SX6
1980parallel-vector
1981machines.&nbsp;</b>
1982      <p>There are two main changes. A
1983new vectorizable routine <tt>prognostic_equations_vec</tt>
1984is added, where cache optimizations are undone. The tendency
1985subroutines
1986called by <tt>prognostic_equations_vec</tt> contain the
1987full 3d-loops
1988(compared
1989with the cache-optimized versions where only loops over k are carried
1990out).
1991Additionally, a new pressure solver <tt>poisfft_hybrid_vec</tt>
1992is
1993added,
1994which requires a 1d-domain-decomposition (like poisfft_hybrid). In this
1995solver, a very fast FFT from Clive Temperton (ECMWF) is&nbsp;
1996optionally
1997available by choosing <tt>fft_method </tt>= <i>'temperton-algorithm'</i>.&nbsp;
1998      </p>
1999      <p>Additional changes in <tt>flow_statistics</tt>
2000to allow
2001better vectorization. </p>
2002      <p>Small changes in routines <tt>diffusivities</tt>
2003and <tt>pres</tt>
2004which
2005caused run time errors on IBM and NEC due to compiler problems. </p>
2006      <p>Reading of environment variable <tt>tasks_per_node</tt>
2007moved
2008from routine <tt>poisfft_hybrid</tt>
2009to routine <tt>parin</tt>. </p>
2010      <p><b>Changes
2011in makefile:</b> modules and user_interface now
2012depend on
2013the f90 files, dependency of singleton added, LDFLAGS moved to the end
2014of PROG rule, temperton_fft added.</p>
2015      </td>
2016      <td valign="top">advec_s_pw, advec_s_up, advec_u_pw, advec_u_up,
2017advec_v_pw,
2018advec_v_up, advec_w_pw, advec_w_up, buoyancy, calc_precipitation,
2019calc_radiation,
2020check_parameters, coriolis, cpu_log, diffusion_e, diffusion_s,
2021diffusion_u,
2022diffusion_v, diffusion_w, diffusivities, fft_for_1d_decomp, header,
2023impact_of_latent_heat,
2024init_pegrid, leap_frog, local_tremain, modules, parin, poisfft,
2025poisfft_hybrid,
2026pres, production_e, prognostic_equations, user_interface
2027      <p><b>new:</b>
2028      <br>
2029temperton_fft</p>
2030      </td>
2031    </tr>
2032    <tr>
2033      <td valign="top"><br>
2034      </td>
2035      <td valign="top"><br>
2036      </td>
2037      <td valign="top"><br>
2038      </td>
2039      <td valign="top">B</td>
2040      <td valign="top">tend=p
2041added in routine <tt>pres</tt> after
2042calling sor
2043method.</td>
2044      <td valign="top">pres</td>
2045    </tr>
2046    <tr>
2047      <td valign="top">14/03/03</td>
2048      <td valign="top">SR</td>
2049      <td valign="top">2.6a</td>
2050      <td valign="top">N</td>
2051      <td valign="top">Additional
2052vector optimization for NEC-SX6.
2053      <p>Optional system-specific
2054random number generator available
2055(for equal
2056distributed numbers). </p>
2057      <p>Define strings in all
2058relevant subroutines changed from&nbsp; </p>
2059      <p><tt>&nbsp;&nbsp;&nbsp;&nbsp;
2060#if defined( define_string )</tt> </p>
2061      <p>to </p>
2062      <p><tt>&nbsp;&nbsp;&nbsp;&nbsp; #if
2063defined( __define_string )</tt> </p>
2064      <p><b>Caution:
2065      </b>The relevant subroutines are NOT listed in
2066the right
2067column!</p>
2068      </td>
2069      <td valign="top">asselin_filter,
2070check_parameters, diffusion_e,
2071diffusivities,
2072disturb_field, global_min_max, header, local_tremain, modules, parin,
2073poisfft_hybrid,
2074pres, read_var_list, write_var_list</td>
2075    </tr>
2076    <tr>
2077      <td valign="top"><br>
2078      </td>
2079      <td valign="top"><br>
2080      </td>
2081      <td valign="top"><br>
2082      </td>
2083      <td valign="top">B</td>
2084      <td valign="top">Error in particle boundary condition removed
2085(velocity must
2086be inverted in case of reflection)</td>
2087      <td valign="top">advec_particles</td>
2088    </tr>
2089    <tr>
2090      <td valign="top">16/04/03</td>
2091      <td valign="top">SR</td>
2092      <td valign="top">2.6b</td>
2093      <td valign="top">N</td>
2094      <td valign="top">Time
2095series output of Monin Obukhov length.
2096      <p>Temperton fft can now
2097be used for all hosts and every domain
2098decomposition.
2099Abort in case of Temperton fft, if number of gridpoints along x and/or
2100y contain illegal factors.&nbsp; </p>
2101      <p>Index values
2102for the extrema found in global_min_max are
2103limited to
2104the range 0..nx, 0..ny (on IBM machines -1 and nx+1/ny+1 occured which
2105produced different RUN_CONTROL output compared to other machines). </p>
2106      <p>Output format of iteration count in routine run_control
2107enlarged.</p>
2108      </td>
2109      <td valign="top">check_parameters,
2110fft_for_1d_decomp,
2111global_min_max, init_pegrid,
2112modules, plot_ts, poisfft, run_control, temperton_fft</td>
2113    </tr>
2114    <tr>
2115      <td valign="top"><br>
2116      </td>
2117      <td valign="top"><br>
2118      </td>
2119      <td valign="top"><br>
2120      </td>
2121      <td valign="top">B</td>
2122      <td valign="top">Additional checks of variables <tt>hybrid_solver</tt>
2123and <tt>host</tt>
2124(<tt>hybrid_solver</tt> must not be used for a
21252d-domain-decomposition, <tt>host</tt>
2126should be set by setting environment variable <tt>localhost</tt>).
2127      <p>Header output for mixing length limitations revised.</p>
2128      </td>
2129      <td valign="top">check_parameters, header</td>
2130    </tr>
2131    <tr>
2132      <td valign="top">09/05/03</td>
2133      <td valign="top">SR</td>
2134      <td valign="top">2.7</td>
2135      <td valign="top">N</td>
2136      <td valign="top"><b>Version
2137running on Linux Clusters using MPICH
2138and Intel
2139FORTRAN compiler (ifc)</b>
2140      <p>So far, only absolutely
2141neccessary changes have been done
2142(possible
2143optimizations will follow in a later version): </p>
2144      <p>New
2145time measurements for Linux (ifc) environment added. </p>
2146      <p>Some
2147parameters in MPI calls had to be modified (arrays had to
2148be replaced
2149by the first element of the regarding array) in order to fulfill f90
2150type
2151and rank requirements, since on the MUK-cluster a FORTRAN90-version of
2152MPI is used. This also required to replace "mpif.h" by using a special
2153module (named <tt>mpi</tt>).&nbsp; I did not find out
2154how character
2155strings
2156can be send with MPI. Therefore, these strings are transformed to
2157integers,
2158before they are send, and transformed back to characters on the
2159receiving
2160PE. </p>
2161      <p>On the MUK-cluster, only PE0 is able to read
2162the values of
2163environment
2164variables. Therefore, these values are communicated via broadcast to
2165the
2166other PEs. </p>
2167      <p>1d-decomposition is set as the default
2168on Linux Clusters.
2169Character
2170strings have to be transformed to integer </p>
2171      <p>Smaller
2172changes: </p>
2173      <p>Batch_scp paths for IBM, NEC and Linux
2174added</p>
2175      </td>
2176      <td valign="top">check_open,
2177cpu_log, flow_statistics,
2178init_pegrid, local_getenv,
2179modules, palm, poisfft_hybrid</td>
2180    </tr>
2181    <tr>
2182      <td valign="top"><br>
2183      </td>
2184      <td valign="top"><br>
2185      </td>
2186      <td valign="top"><br>
2187      </td>
2188      <td valign="top">B</td>
2189      <td valign="top">Measurements
2190on IBM are now using function <tt>irtc</tt>,
2191which allows correct measurements for jobs running over the 24:00
2192timeline.</td>
2193      <td valign="top">cpu_log,
2194local_tremain, local_tremain_ini</td>
2195    </tr>
2196    <tr>
2197      <td valign="top">01/08/03</td>
2198      <td valign="top">SR</td>
2199      <td valign="top">2.7a</td>
2200      <td valign="top">B</td>
2201      <td valign="top">Check that the number processors is also
2202an
2203integral divisor
2204of the number&nbsp; of gridpoints along y in case of a
22051d-decomposition
2206along x.
2207      <p>Error concerning the multinode-version of
2208poisfft_hybrid
2209removed. It
2210was caused by the Linux changes of version 2.7 and led to program abort
2211due to MPI errors in <tt>MPI_ALLTOALL</tt>. </p>
2212      <p>No
2213abort on t3e-systems if system specific routines are used. </p>
2214      <p>Array<tt>
2215sums </tt>is initialized in<tt> init_3d_model </tt>before
2216the first call of<tt> pres</tt>. Call of<tt>
2217init_cloud_physics </tt>moved
2218before<tt> init_particles</tt>.</p>
2219      </td>
2220      <td valign="top">fft_1dd_init, init_3d_model, init_pegrid,
2221poisfft_hybrid</td>
2222    </tr>
2223    <tr>
2224      <td valign="top"><br>
2225      </td>
2226      <td valign="top"><br>
2227      </td>
2228      <td valign="top"><br>
2229      </td>
2230      <td valign="top">N</td>
2231      <td valign="top">Interactive steering of dvrp-graphic
2232features by
2233dvrp-browser
2234plugin extended (position of slicers, threshold values of isosurfaces)
2235. New dvrp_graphics package parameter<tt> slicer_range_limits_dvrp</tt>.</td>
2236      <td valign="top">init_dvrp, modules, package_parin,
2237plot_dvrp</td>
2238    </tr>
2239    <tr>
2240      <td valign="top">29/10/03</td>
2241      <td valign="top">SR</td>
2242      <td valign="top">2.7b</td>
2243      <td valign="top">N</td>
2244      <td valign="top">In
2245the multigrid method, on a defined level,
2246data are gathered
2247on PE0 and further calculations are carried out only on this PE. New<tt>
2248d3par </tt>parameter <tt>mg_switch_to_pe0_level</tt>.
2249      <p>Particle groups implemented. New data type<tt>
2250particle_groups_type </tt>and data type<tt> particle_type </tt>modified.
2251Version
2252numbers are
2253output on the particle files. New<tt> particles_par </tt>parameter<tt>
2254diameter</tt>. Parameter name<tt> uniform_psize</tt>
2255changed to<tt>
2256dvrp_psize</tt>.
2257Parameters<tt> density_ratio </tt>is now an array.</p>
2258      </td>
2259      <td valign="top">advec_particles, check_open,
2260exchange_horiz,
2261header, init_particles,
2262init_pegrid, modules, package_parin, parin, poismg</td>
2263    </tr>
2264    <tr>
2265      <td valign="top"><br>
2266      </td>
2267      <td valign="top"><br>
2268      </td>
2269      <td valign="top"><br>
2270      </td>
2271      <td valign="top">C</td>
2272      <td valign="top">Random number generator from numerical recipes
2273is now rewritten
2274as a module. In restart runs the seed of this generator is set to the
2275last
2276values of the previous run in order to keep the sequence of the random
2277numbers. New binary version 2.2.
2278      <p>Buffer is flushed for file
2279RUN_CONTROL immediately after every
2280output
2281on IBM and Linux cluster.</p>
2282      </td>
2283      <td valign="top">advec_particles,
2284disturb_field, init_3d_model,
2285init_particles,
2286random_function, random_gauss, run_control, write_3d_binary</td>
2287    </tr>
2288    <tr>
2289      <td valign="top"><br>
2290      </td>
2291      <td valign="top"><br>
2292      </td>
2293      <td valign="top"><br>
2294      </td>
2295      <td valign="top">E</td>
2296      <td valign="top">In routine buoyance, horizontal mean
2297temperature
2298is now
2299taken from array hom instead of array sums (otherwise inconsistence in
2300case of using more than one statistical region).
2301      <p>Information
2302about the time of the last timestep change added
2303to the
2304restart file. </p>
2305      <p>System call of<tt> batch_scp </tt>on
2306IBM corrected.</p>
2307      </td>
2308      <td valign="top">buoyancy,
2309check_open, read_var_list,
2310write_var_list</td>
2311    </tr>
2312    <tr>
2313      <td style="vertical-align: top;">28/01/04</td>
2314      <td style="vertical-align: top;">SR</td>
2315      <td style="vertical-align: top;">2.8</td>
2316      <td style="vertical-align: top;">N</td>
2317      <td style="vertical-align: top;">Runge-Kutta schemes (2nd and
23183rd
2319order)
2320for time integration implemented. The third order scheme is the new
2321default.
2322It allows the timestep to be 0.9*CFL, which is much larger than for the
2323former default leapfrog scheme.&nbsp; The intermediate steps, which
2324are
2325part of these schemes, are realized by an additional loop within routine<span style="font-family: monospace;">
2326time_integration&nbsp;</span>(currently<span style="font-family: monospace;">
2327leap_frog</span>, but this routine will be renamed soon).
2328Steering
2329variables<span style="font-family: monospace;">
2330at&nbsp;</span>and<span style="font-family: monospace;">
2331bt&nbsp;</span>have
2332been replaced by array<span style="font-family: monospace;">
2333sct</span>.
2334, which is particularly used in the prognostic equations. Values of
2335this
2336steering array are calculated within the new routine<span style="font-family: monospace;">
2337timestep_scheme_steering</span>.
2338      <p>When using Runge-Kutta
2339schemes,&nbsp; the timestep increment
2340is freely
2341allowed to adjust after each timestep (the older schemes are using some
2342restrictions, see routine<span style="font-family: monospace;">
2343timestep</span>).
2344Also, routine<span style="font-family: monospace;">
2345run_control&nbsp;</span>is
2346not automatically called in case of timestep changes, when Runge-Kutta
2347schemes are switched on. </p>
2348      <p>The old leapfrog scheme
2349is still implemented and should
2350produce the
2351same results as in the previous version(s)! </p>
2352      <p>Depending
2353on the user experience, further adjustments to the
2354Runge-Kutta
2355schemes may be necessary within the next minor versions.&nbsp; </p>
2356      <p><span style="font-weight: bold;">Attention:</span>
2357      <br>
2358The content of the testresult-file (run control output) has
2359significantly
2360changed due to the new default timestep scheme!</p>
2361      </td>
2362      <td style="vertical-align: top;">check_parameters, header,
2363init_3d_model,
2364init_rankine, leap_frog, modules, prognostic_equations, read_var_list,
2365swap_timelevel, timestep, write_var_list
2366      <p><span style="font-weight: bold;">new:</span> <br>
2367timestep_scheme_steering</p>
2368      </td>
2369    </tr>
2370    <tr>
2371      <td style="vertical-align: top;"><br>
2372      </td>
2373      <td style="vertical-align: top;"><br>
2374      </td>
2375      <td style="vertical-align: top;"><br>
2376      </td>
2377      <td style="vertical-align: top;">C</td>
2378      <td style="vertical-align: top;">Output of particle infos in
2379subroutine<span style="font-family: monospace;">
2380allocate_prt_memory&nbsp;</span>on demand only.
2381      <p>Type<span style="font-family: monospace;"> log&nbsp;</span>(used
2382for
2383cpu time measurements) changed to<span style="font-family: monospace;">
2384logpoint&nbsp;</span>due to name conflict with FORTRAN
2385intrinsic<span style="font-family: monospace;">
2386log.</span></p>
2387      </td>
2388      <td style="vertical-align: top;">advec_particles,
2389cpu_log,&nbsp;</td>
2390    </tr>
2391    <tr>
2392      <td style="vertical-align: top;"><br>
2393      </td>
2394      <td style="vertical-align: top;"><br>
2395      </td>
2396      <td style="vertical-align: top;"><br>
2397      </td>
2398      <td style="vertical-align: top;">E</td>
2399      <td style="vertical-align: top;">In case of opening unit 80, a
2400barrier
2401is set only for the first call of<span style="font-family: monospace;">
2402check_open&nbsp;</span>(from routine<span style="font-family: monospace;">
2403init_particles</span>), in order to avoid the possibility of
2404hanging
2405jobs,
2406which may occur if unit 80 is opened within routine<span style="font-family: monospace;">
2407allocate_prt_memory</span>.</td>
2408      <td style="vertical-align: top;">check_open</td>
2409    </tr>
2410    <tr>
2411      <td style="vertical-align: top;">30/01/04</td>
2412      <td style="vertical-align: top;">SR</td>
2413      <td style="vertical-align: top;">2.8a</td>
2414      <td style="vertical-align: top;">N</td>
2415      <td style="vertical-align: top;">In order to prepare the code
2416for
2417the simulation
2418of flow around buildings (to be realized in one of the next major
2419versions),
2420the lower<span style="font-family: monospace;"> k&nbsp;</span>index<span style="font-family: monospace;">
2421nzb&nbsp;</span>has been replaced by a two-dimensional array<span style="font-family: monospace;">
2422nzb_2d&nbsp;</span>in many of the three-dimensional loops. So
2423far, all
2424elements of this array are set to<span style="font-family: monospace;">
2425nzb</span>.
2426      <p>This change should not effect simulation
2427results and cpu time
2428in any
2429way.</p>
2430      </td>
2431      <td style="vertical-align: top;">advec_s_pw,
2432advec_s_up,
2433advec_u_pw, advec_u_up,
2434advec_v_pw, advec_v_up, advec_w_pw, advec_w_up, asselin_filter,
2435buoyancy,
2436calc_liquid_water_content, calc_precipitation, calc_radiation,
2437coriolis,
2438diffusion_e, diffusion_s, diffusion_u, diffusion_v, diffusion_w,
2439diffusivities,
2440impact_of_latent_heat, init_3d_model, modules, production_e,
2441prognostic_equations,&nbsp;</td>
2442    </tr>
2443    <tr>
2444      <td style="vertical-align: top;"><br>
2445      </td>
2446      <td style="vertical-align: top;"><br>
2447      </td>
2448      <td style="vertical-align: top;"><br>
2449      </td>
2450      <td style="vertical-align: top;">C</td>
2451      <td style="vertical-align: top;">Euler step informations are
2452removed in
2453the run control output in case of Runge-Kutta schemes. Also, the
2454timestep
2455increment limitation is removed for the Runge-Kutta schemes.
2456      <p><span style="font-weight: bold;">Attention:</span> <br>
2457The content of the testresult-file (run control output) has changed
2458due to this modification.</p>
2459      </td>
2460      <td style="vertical-align: top;">run_control, timestep</td>
2461    </tr>
2462    <tr>
2463      <td style="vertical-align: top;"><br>
2464      </td>
2465      <td style="vertical-align: top;"><br>
2466      </td>
2467      <td style="vertical-align: top;"><br>
2468      </td>
2469      <td style="vertical-align: top;">E</td>
2470      <td style="vertical-align: top;">Velocity gradients at the
2471surface calculated
2472in routine production_e are now limited. In case of inhomogeneous
2473surface
2474heating small diffusivities (<span style="font-family: monospace;">km</span>)
2475sometimes caused very small timesteps due to this problem.</td>
2476      <td style="vertical-align: top;">production_e</td>
2477    </tr>
2478    <tr>
2479      <td style="vertical-align: top;">30/04/04<br>
2480      </td>
2481      <td style="vertical-align: top;">SR<br>
2482      </td>
2483      <td style="vertical-align: top;">2.8b<br>
2484      </td>
2485      <td style="vertical-align: top;">N<br>
2486      </td>
2487      <td style="vertical-align: top;">The number of processors
2488along
2489the respective directions of the virtual processor grid must not be
2490integral divisors of the number of gridpoints along x, y or z any more.
2491In case that they are not integral divisors, the subdomains on the
2492processors at the upper borders of the virtual grid will contain less
2493gridpoints than the other subdomains (which are all of equal size).
2494Although this causes a load imbalance, only runs with very small
2495numbers of processors will feel a significant decrease of performance.
2496In order to be able to carry out the transpositions, array<span style="font-family: monospace;"> d </span>(and also
2497working array<span style="font-family: monospace;"> tend</span>)
2498have the same size on
2499all processors. This new feature is switched on by setting the
2500inipar-parameter<span style="font-family: monospace;">
2501grid_matching </span>= <span style="font-style: italic;">'match'</span>,
2502which is the
2503default now.<br>
2504      <br>
2505Routine<span style="font-family: monospace;"> poisfft </span>is
2506now
2507the
2508default for solving the Poisson-equation for the case of 2d- as well as
25091d-domain-decompositions and has been changed from a subroutine to a
2510module. This routine now includes most of the optimization from the
2511(Ketelsen) routine<span style="font-family: monospace;">
2512poisfft_hybrid </span>and additionally allows 1d-decompositions
2513along y.<br>
2514      <span style="font-weight: bold;">ATTENTION:</span>
2515Routine<span style="font-family: monospace;">
2516poisfft_hybrid </span>might still be
2517faster when running PALM on more than one node of the IBM-Regatta,
2518although the difference is not very big. The <span style="font-family: monospace;">poisfft</span>-code
2519for a
2520decomposition along y has still a poor performance and needs further
2521optimization.<br>
2522      <br>
2523The spectra-package is now able to use all the available FFT-methods
2524(selected by inipar-parameter<span style="font-family: monospace;">
2525fft_method </span>).
2526Performance of the transpositions needed for calculating the spectra
2527has been improved by using new direct transpositions from z to y and
2528from y to x instead of two subsequent transpositions.<br>
2529      <br>
2530Runge-Kutta scheme implemented in the 1d-version (<span style="font-family: monospace;">init_1d_model</span>).
2531Diffusion
2532quantity arrays are allocated for previous timelevels only in case of
2533leapfrog scheme.<br>
2534      <br>
2535This version is adapted for use on COMPAQ-DECALPHA systems (main
2536changes: calling of SHAPE function within subroutine arguments (e.g.<span style="font-family: monospace;"> singleton</span>)
2537causes compiler errors, particle data type modified for better
2538alignment, DATA statements from modules removed because they caused
2539internal compiler errors).<br>
2540      </td>
2541      <td style="vertical-align: top;">advec_s_ups, advec_u_ups,
2542advec_v_ups, advec_w_ups, calc_spectra, check_parameters, fft_xy,
2543header, init_1d_model, init_3d_model, init_particles, init_pegrid,
2544modules, parin, plot_2d, poisfft, prandtl_fluxes, pres, read_var_list,
2545singleton, spline_x, spline_y, spline_z, time_integration, transpose,
2546write_3d_binary, write_var_list<br>
2547      </td>
2548    </tr>
2549    <tr>
2550      <td style="vertical-align: top;"><br>
2551      </td>
2552      <td style="vertical-align: top;"><br>
2553      </td>
2554      <td style="vertical-align: top;"><br>
2555      </td>
2556      <td style="vertical-align: top;">C<br>
2557      </td>
2558      <td style="vertical-align: top;">FFT routines renamed. Module<span style="font-family: monospace;"> fft_for_1d_decomp </span>renamed<span style="font-family: monospace;"> fft_xy</span>.
2559Subroutine<span style="font-family: monospace;"> leap_frog
2560      </span>renamed<span style="font-family: monospace;">
2561time_integration</span>.<br>
2562      <br>
2563For all transpositions, MPI_ALLTOALL is used instead of MPI_ALLTOALLV.
2564The names of many transposition indices have been changed.<br>
2565      <br>
2566Inipar-parameter<span style="font-family: monospace;">
2567impulse_advec </span>renamed<span style="font-family: monospace;">
2568momentum_advec</span>.<br>
2569      <br>
2570Reading of restart data is moved from<span style="font-family: monospace;"> init_3d_model </span>to
2571new routine <span style="font-family: monospace;">read_3d_binary</span>.<br>
2572      <br>
2573All former transpose routines collected into one file.<br>
2574      </td>
2575      <td style="vertical-align: top;">check_parameters,
2576flow_statistics, header, init_1d_model, init_3d_model, init_advec,
2577init_pegrid, palm, parin, poisfft, poisfft_hybrid, production_e,
2578prognostic_equations, read_var_list, sline_x, spline_y, write_var_list<span style="font-weight: bold;"><br>
2579      <br>
2580new:</span><br>
2581fft_xy, read_3d_binary, time_integration, transpose<br>
2582      <br>
2583      <span style="font-weight: bold;">deleted:</span><br>
2584fft_for_1d_decomp, leap_frog, transpose_xy, transpose_xz, transpose_yx,
2585transpose_yz, transpose_zx, transpose_zy<br>
2586      </td>
2587    </tr>
2588    <tr>
2589      <td style="vertical-align: top;"><br>
2590      </td>
2591      <td style="vertical-align: top;"><br>
2592      </td>
2593      <td style="vertical-align: top;"><br>
2594      </td>
2595      <td style="vertical-align: top;">E<br>
2596      </td>
2597      <td style="vertical-align: top;">Small errors in the
2598particle-package removed, which sometimes caused aborts of restart runs
2599on IBM.<br>
2600      <br>
2601Small error in calculating the time series profiles removed (array
2602bounds of some arrays needed for profil-output had to be increased).<br>
2603      <br>
2604Function fft (singleton method) replaced by subroutine fftn due to
2605problems with 64-bit mode on IBM<br>
2606      </td>
2607      <td style="vertical-align: top;">advec_particles,
2608check_parameters, <br>
2609      </td>
2610    </tr>
2611    <tr>
2612      <td style="vertical-align: top;">26/03/05<br>
2613      </td>
2614      <td style="vertical-align: top;">SR<br>
2615      </td>
2616      <td style="vertical-align: top;">2.9<br>
2617      </td>
2618      <td style="vertical-align: top;">N<br>
2619      </td>
2620      <td style="vertical-align: top;">Non-cyclic lateral boundary
2621conditions implemented.<br>
2622Dirichlet/Neumann conditions at the inflow/outflow can be used either
2623along x or along y. Cyclic conditions have to be used along the
2624remaining direction. In case of non-cyclic conditions along x (y), the
2625upper bound nxl (nyn) of array u (v) is enlarged by one gridpoint on
2626the rightmost (northest) processor. These array index informations are
2627passed to routine<span style="font-family: monospace;">
2628exchange_horiz </span>and<span style="font-family: monospace;">
2629disturb_field </span>by two
2630additional arguments. Boundary conditions are set with new
2631inipar-parameters<span style="font-family: monospace;">
2632bc_lr </span>and<span style="font-family: monospace;">
2633bc_ns</span>. A damping layer is
2634needed at the outflow in order to damp reflections (see new parameters<span style="font-family: monospace;"> km_damp_max </span>and<span style="font-family: monospace;"> outflow_damping_width</span>)
2635and an
2636additional disturbance is imposed near the inflow (see new parameters<span style="font-family: monospace;">&nbsp;
2637inflow_disturbance_begin </span>and<span style="font-family: monospace;"> inflow_disturbance_end</span>).
2638Non-cyclic conditions require the use of the multigrid-method for
2639solving the Poisson equation. Argument<span style="font-family: monospace;"> range </span>added
2640to routine<span style="font-family: monospace;">
2641boundary_conds </span>(where the
2642non-cyclic conditions are set). <br>
2643      <br>
2644Minor changes:<br>
2645Output of parameter<span style="font-family: monospace;">
2646datform </span>on
2647&amp;GLOBAL-Namelist (iso2d). This is set to <span style="font-style: italic;">'big_endian'</span> on
2648IBM- and
2649NEC-machines.<br>
2650      <br>
2651Number of particle groups are additionally calculated in<span style="font-family: monospace;"> header </span>(formerly
2652unknown).<br>
2653      </td>
2654      <td style="vertical-align: top;">advec_u_pw,
2655advec_u_up, advec_v_pw, advec_v_up, boundary_conds,
2656calc_liquid_water_content, check_parameters, close_file, coriolis,
2657diffusion_u, diffusion_v, diffusion_w, diffusivities, disturb_field,
2658exchange_horiz, header, init_3d_model, init_pegrid, init_pt_anomaly,
2659init_rankine, modules, parin, poismg, pres, prognostic_equations,
2660read_var_list, sor, time_integration, timestep, write_var_list<br>
2661      </td>
2662    </tr>
2663    <tr>
2664      <td style="vertical-align: top;"><br>
2665      </td>
2666      <td style="vertical-align: top;"><br>
2667      </td>
2668      <td style="vertical-align: top;"><br>
2669      </td>
2670      <td style="vertical-align: top;">C<br>
2671      </td>
2672      <td style="vertical-align: top;"><span style="font-family: monospace;">pres </span>is called
2673by default only
2674at the last Runge-Kutta-substep, which spares a big amount of CPU-time
2675(see also new parameter<span style="font-family: monospace;">
2676call_psolver_at_all_substeps</span>). No pressure term in the
2677momentum
2678equations in case of Runge-Kutta-schemes.<br>
2679      <span style="font-weight: bold;">Attention:</span> <br>
2680The content of the testresult-file (run control output) has changed
2681due to this modification.<br>
2682      <br>
2683Program speedup by removing the exchange of ghost points in routines <span style="font-family: monospace;">calc_liquid_water_content</span>,
2684      <span style="font-family: monospace;">diffusivities</span>,
2685.<br>
2686      <br>
2687Default value for residual limit increased from 1E-6 to 1E-4. Routine<span style="font-family: monospace;"> prolong </span>in<span style="font-family: monospace;"> poismg </span>simplified
2688(one call of<span style="font-family: monospace;">
2689exchange_horiz </span>spared).<br>
2690      </td>
2691      <td style="vertical-align: top;">calc_liquid_water_content,
2692diffusivities, modules, poismg, pres, time_integration,
2693timestep_scheme_steering<br>
2694      </td>
2695    </tr>
2696    <tr>
2697      <td style="vertical-align: top;"><br>
2698      </td>
2699      <td style="vertical-align: top;"><br>
2700      </td>
2701      <td style="vertical-align: top;"><br>
2702      </td>
2703      <td style="vertical-align: top;">E<br>
2704      </td>
2705      <td style="vertical-align: top;">Calculation of vertical
2706particle
2707velocity (with inertia) corrected, exp_arg had a wrong sign.<br>
2708      <br>
2709(e)**1.5 replaced by e*SQRT(e) in init_1d_model because of wrong
2710results on NEC machines (as a side effect, the new calculation is much
2711faster).<br>
2712      <br>
2713Two errors concerning switch to PE0 (multigrid method) removed from<span style="font-family: monospace;"> init_pegrid</span>.<br>
2714      <br>
2715Two errors in<span style="font-family: monospace;">
2716plot_2d </span>removed:
2717local_2d is allocated with upper bound<span style="font-family: monospace;"> nzt</span> (former<span style="font-family: monospace;"> nzt+1 </span>was
2718wrong), additional barrier in case that PE0 gathers data from the other
2719PEs, this barrier had to be set at the end of the gathering because
2720otherwise PE0 sometimes received wrong data on tag 0.<br>
2721      <br>
2722Use of module indices removed from routine<span style="font-family: monospace;"> split_1dd </span>in<span style="font-family: monospace;"> poisfft </span>since
2723it caused
2724errors in case of<span style="font-family: monospace;"> nx
2725/= ny </span>and
2726a 1D-decomposition along y.<br>
2727      <br>
2728Wrong re-definition of dx2 and dy2 in<span style="font-family: monospace;"> sor </span>removed.<br>
2729      </td>
2730      <td style="vertical-align: top;">advec_particles,
2731init_1d_model,
2732init_pegrid, plot_2d, poisfft, sor<br>
2733      </td>
2734    </tr>
2735    <tr>
2736      <td style="vertical-align: top;">23/04/05<br>
2737      </td>
2738      <td style="vertical-align: top;">SR<br>
2739      </td>
2740      <td style="vertical-align: top;">2.9a<br>
2741      </td>
2742      <td style="vertical-align: top;">C<br>
2743      </td>
2744      <td style="vertical-align: top;">Additional check for
2745incompatibilities between non-cyclic lateral boundary conditions and
2746other schemes.<br>
2747      <br>
2748fcl_factor renamed cfl_factor.<br>
2749      <br>
2750New local array sums_ll declared in flow_statistics instead of
2751temporarily using sums_l.<br>
2752      <br>
2753crmax (maximum number of crosses allowed in a plot of vertical
2754profiles) increased from 20 to 100.<br>
2755      </td>
2756      <td style="vertical-align: top;">calc_spectra, check_parameters,
2757flow_statistics, header, modules, parin, timestep<br>
2758      </td>
2759    </tr>
2760    <tr>
2761      <td style="vertical-align: top;"><br>
2762      </td>
2763      <td style="vertical-align: top;"><br>
2764      </td>
2765      <td style="vertical-align: top;"><br>
2766      </td>
2767      <td style="vertical-align: top;">E<br>
2768      </td>
2769      <td style="vertical-align: top;">Revised calculation of output
2770time counters regarding a possible decrease of the output time interval
2771in case of restart runs.<br>
2772      <br>
2773Error removed in Dirichlet bottom boundary conditions for pt and q in
2774case of Runge-Kutta schemes.<br>
2775      <br>
2776      <span style="font-weight: bold;">batch_scp</span> calls
2777(needed
2778for determining correct filenames for AVS-fld-files) is given the
2779remote username as an additional argument.<br>
2780      <br>
2781Default setting of outflow_damping_width corrected.<br>
2782      <br>
2783Initial horizontal velocities at the lowest grid levels in the 1d-model
2784are set to a very small value in order to avoid wrong results and the
2785resulting too small timesteps.<br>
2786      <br>
2787Implicit counters i renamed i9 in modules due to declaration conflicts
2788with i in other subroutines (reported by Portland compiler).<br>
2789      </td>
2790      <td style="vertical-align: top;">advec_particles,
2791boundary_conds,
2792check_open, check_parameters, init_1d_model, modules, time_integration<br>
2793      </td>
2794    </tr>
2795    <tr>
2796      <td style="vertical-align: top;">18/05/05<br>
2797      </td>
2798      <td style="vertical-align: top;">SR<br>
2799      </td>
2800      <td style="vertical-align: top;">2.10<br>
2801      </td>
2802      <td style="vertical-align: top;">N<br>
2803      </td>
2804      <td style="vertical-align: top;">NetCDF support implemented.<br>
2805Profiles, time series, spectra, cross-sections, 3d-volume-data and
2806particle data can now be output in NetCDF format (file handles
2807101-108). This output can be switched on with the new d3par-parameter <span style="font-family: monospace;">data_output_format</span>.
2808So far, this support is available on IBM systems at HLRN and on the NEC
2809system at DKRZ. Output in format suitable for graphic software <span style="font-weight: bold;">profil</span>, <span style="font-weight: bold;">iso2d</span> and <span style="font-weight: bold;">avs</span> is still
2810possible.<br>
2811      <br>
2812Output of cross sections for qv, vpt and lwp (liquid water path).<br>
2813      </td>
2814      <td style="vertical-align: top;">advec_particles,
2815check_open,
2816check_parameters, close_file, header, modules, parin, plot_1d, plot_2d,
2817plot_3d, plot_spectra, plot_ts, read_var_list, write_var_list<br>
2818      <br>
2819      <span style="font-weight: bold;">new:</span><br>
2820netcdf<br>
2821      </td>
2822    </tr>
2823    <tr>
2824      <td style="vertical-align: top;"><br>
2825      </td>
2826      <td style="vertical-align: top;"><br>
2827      </td>
2828      <td style="vertical-align: top;"><br>
2829      </td>
2830      <td style="vertical-align: top;">C<br>
2831      </td>
2832      <td style="vertical-align: top;">In <span style="font-family: monospace;">calc_spectra</span>, n
2833is assigned the
2834number of spectra (formerly, the number of spectra was given by n-1)<br>
2835      <br>
2836Abort if <span style="font-family: monospace;">poisfft_hybrid</span>
2837is called in a non-parallel environment.<br>
2838      <br>
2839Default values of spectra package parameters <span style="font-family: monospace;">pl_spectra</span> and <span style="font-family: monospace;">spectra_direction</span>
2840changed.<br>
2841      </td>
2842      <td style="vertical-align: top;">calc_spectra,
2843check_parameters,
2844modules, pres, read_3d_binary, write_3d_binary<br>
2845      </td>
2846    </tr>
2847    <tr>
2848      <td style="vertical-align: top;"><br>
2849      </td>
2850      <td style="vertical-align: top;"><br>
2851      </td>
2852      <td style="vertical-align: top;"><br>
2853      </td>
2854      <td style="vertical-align: top;">E<br>
2855      </td>
2856      <td style="vertical-align: top;">Missing argument in ffty
2857(non-parallel case) added.<br>
2858      <br>
2859Error in output of particle inertia information removed.<br>
2860      </td>
2861      <td style="vertical-align: top;">poisfft, header<br>
2862      </td>
2863    </tr>
2864    <tr>
2865      <td style="vertical-align: top;">05/07/05<br>
2866      </td>
2867      <td style="vertical-align: top;">SR<br>
2868      </td>
2869      <td style="vertical-align: top;">2.11<br>
2870      </td>
2871      <td style="vertical-align: top;">N/C<br>
2872      </td>
2873      <td style="vertical-align: top;">New cloud physics code
2874implemented, which explicitly simulates single cloud droplets,
2875including droplet growth by condensation and collision. Using this code
2876requires to set the new inipar-parameter <span style="font-family: monospace;">cloud_droplets</span>
2877= .TRUE. and to use the particle package (by using the <span style="font-weight: bold;">mrun</span>-option <span style="font-family: monospace;">-p particles</span>).
2878Coupling between droplets and the thermodynamic quantities (potential
2879temperature and specific humidity) is regarded in the new subroutine <span style="font-family: monospace;">interaction_droplets_ptq</span>.
2880The real number of droplets in a grid cell can steered by the new
2881inipar-parameter <span style="font-family: monospace;">initial_weighting_factor</span>.<br>
2882      <br>
2883      <span style="font-weight: bold;">This code
2884will be further extended and probably changed in the near future, so
2885the current status is that of a test version!</span><br>
2886      <br>
2887In connection with this new code implementation, several changes has
2888been made to the existing code:<br>
2889      <br>
2890The particle (droplet) size is now given as radius (previously
2891diameter). E.g., the name of the respective package parameter <span style="font-family: monospace;">diameter</span> has
2892changed to <span style="font-family: monospace;">radius</span>.<br>
2893      <br>
2894The current weighting_factor and radius are stored as additional
2895particle attributes in the type structure <span style="font-family: monospace;">particle_type</span>.
2896The MPI data type <span style="font-family: monospace;">mpi_particle_type</span>,
2897needed for exchanging particles between subdomains, has been changed
2898correspondingly.<br>
2899      <br>
2900      <span style="font-family: monospace;">gas_constant</span> is
2901renamed <span style="font-family: monospace;">r_d</span>,
2902      <span style="font-family: monospace;">latent_heat</span>
2903is renamed <span style="font-family: monospace;">r_v</span>,
2904the allowed string length of <span style="font-family: monospace;">pl2d</span>
2905and <span style="font-family: monospace;">pl3d</span>
2906is increased from 6 to 10.<br>
2907      <br>
2908New 3d arrays <span style="font-family: monospace;">ql_1</span>,
2909      <span style="font-family: monospace;">ql_2</span>, <span style="font-family: monospace;">ql_v</span> and <span style="font-family: monospace;">ql_vp</span>, <span style="font-family: monospace;">ql</span> is now a
2910pointer, new pointer <span style="font-family: monospace;">ql_c</span>.<br>
2911      <br>
2912Data format for unit 85 (particle data output) is changed.</td>
2913      <td style="vertical-align: top;">advec_particles.f90
2914check_open.f90, header.f90, init_3d_model.f90, init_cloud_physics.f90,
2915init_particles.f90, modules.f90, package_parin.f90, parin.f90,
2916plot_2d.f90, plot_3d.f90, read_var_list.f90, time_integration.f90,
2917write_var_list.f90<br>
2918      <br>
2919      <span style="font-weight: bold;">new:</span><br>
2920interaction_droplets_ptq.f90</td>
2921    </tr>
2922    <tr>
2923      <td style="vertical-align: top;"><br>
2924      </td>
2925      <td style="vertical-align: top;"><br>
2926      </td>
2927      <td style="vertical-align: top;"><br>
2928      </td>
2929      <td style="vertical-align: top;">C<br>
2930      </td>
2931      <td style="vertical-align: top;">Default value of <span style="font-family: monospace;">call_psolver_at_all_substeps</span>
2932is <span style="font-style: italic;">.TRUE.</span>,
2933because small scale waves occured with <span style="font-style: italic;">.FALSE.</span></td>
2934      <td style="vertical-align: top;">modules.f90</td>
2935    </tr>
2936    <tr>
2937      <td style="vertical-align: top;"><br>
2938      </td>
2939      <td style="vertical-align: top;"><br>
2940      </td>
2941      <td style="vertical-align: top;"><br>
2942      </td>
2943      <td style="vertical-align: top;">E<br>
2944      </td>
2945      <td style="vertical-align: top;">2d- and 3d-NetCDF-files are not
2946opened if there is no output for them (<span style="font-family: monospace;">pl2d</span> = <span style="font-family: monospace;">pl3d</span> = <span style="font-style: italic;">' '</span>).<br>
2947      <br>
2948No opening of units 101 - 108 in case of missing NetCDF support.</td>
2949      <td style="vertical-align: top;">check_open.f90, netcdf.f90<br>
2950      </td>
2951    </tr>
2952    <tr>
2953      <td style="vertical-align: top;">30/06/05<br>
2954      </td>
2955      <td style="vertical-align: top;">GS<br>
2956      </td>
2957      <td style="vertical-align: top;">2.11a<br>
2958      </td>
2959      <td style="vertical-align: top;">C<br>
2960      </td>
2961      <td style="vertical-align: top;">Scalars ug and vg have been
2962changed into
2963arrays in order to allow the specification of a geostrophic wind that
2964depends on height (baroclinicity). The initial profiles of the the
2965u- and v-component of the geostrophic wind are initialized by
2966specifying the new initialization parameters <span style="font-family: monospace;">ug_surface</span>, <span style="font-family: monospace;">ug_vertical_gradient</span>,
2967      <span style="font-family: monospace;">ug_vertical_gradient_level</span>
2968and <span style="font-family: monospace;">vg_surface</span>,
2969      <span style="font-family: monospace;">vg_vertical_gradient</span>,
2970      <span style="font-family: monospace;">vg_vertical_gradient_level</span>,
2971respectively. <br>
2972      <br>
2973The former initialization parameters <span style="font-family: monospace;">ug</span> and <span style="font-family: monospace;">vg</span> have been
2974removed. <br>
2975      </td>
2976      <td style="vertical-align: top;">boundary_conds,
2977check_parameters, coriolis, header, init_1d_model, modules, parin,
2978prognostic_equations, read_var_list, spline_z, write_var_list<br>
2979      </td>
2980    </tr>
2981    <tr>
2982      <td style="vertical-align: top;"><br>
2983      </td>
2984      <td style="vertical-align: top;"><br>
2985      </td>
2986      <td style="vertical-align: top;"><br>
2987      </td>
2988      <td style="vertical-align: top;">E<br>
2989      </td>
2990      <td style="vertical-align: top;">Error in the calculation of u_0
2991and
2992v_0 in production_e.f90 removed.<br>
2993      <br>
2994      <span style="font-weight: bold;">Attention:</span> <br>
2995The content of the testresult-file (run control output) has changed
2996due to this modification.<br>
2997      </td>
2998      <td style="vertical-align: top;">production_e<br>
2999      </td>
3000    </tr>
3001    <tr>
3002      <td style="text-align: left; vertical-align: top;">20/10/05</td>
3003      <td style="vertical-align: top;">SR</td>
3004      <td style="vertical-align: top;">2.11b</td>
3005      <td style="vertical-align: top;">N/C</td>
3006      <td style="vertical-align: top;">Collision process for droplet
3007growth completed.<br>
3008      <br>
3009      <span style="font-weight: bold;">The droplet code is still under
3010development and requires further speed optimization!<br>
3011      <br>
3012      </span>Number of particles really used is additionally output on
3013the netcdf particle data file.<span style="font-weight: bold;"></span></td>
3014      <td style="vertical-align: top;">advec_particles, modules,
3015netcdf</td>
3016    </tr>
3017    <tr>
3018      <td style="vertical-align: top;">&nbsp;</td>
3019      <td style="vertical-align: top;">&nbsp;</td>
3020      <td style="vertical-align: top;">&nbsp;</td>
3021      <td style="vertical-align: top;">E</td>
3022      <td style="vertical-align: top;">The
3023last PE in a row is not allowed to have more grid points than the other
3024PES (only less). Jobs crashed in these cases that the last PE has more
3025grid points. Therefore, the number of gridpoints along x (and y) must
3026now meet a special condition which is checked in case that <span style="font-family: monospace;">grid_matching</span> =
3027      <span style="font-style: italic;">'match'</span> is
3028used.<br>
3029      <br>
3030Error removed in calculating y axis data for yz cross sections. Error
3031in output of netcdf yz-cross-sections removed.<br>
3032      <br>
30332*r replaced by r in the exponential term of the particle momentum
3034equation.<br>
3035Error in output of yz-slice information removed.</td>
3036      <td style="vertical-align: top;">advec_particles, header,
3037init_pegrid, netcdf, plot_2d</td>
3038    </tr>
3039    <tr>
3040      <td style="vertical-align: top;">06/12/05</td>
3041      <td style="vertical-align: top;">SR</td>
3042      <td style="vertical-align: top;">2.11c</td>
3043      <td style="vertical-align: top;">N</td>
3044      <td style="vertical-align: top;">Output of ql profile is allowed
3045in case of using cloud droplets.</td>
3046      <td style="vertical-align: top;">check_parameters,
3047flow_statistics, modules</td>
3048    </tr>
3049    <tr>
3050      <td style="vertical-align: top;">&nbsp;</td>
3051      <td style="vertical-align: top;">&nbsp;</td>
3052      <td style="vertical-align: top;">&nbsp;</td>
3053      <td style="vertical-align: top;">E</td>
3054      <td style="vertical-align: top;">The horizontally averaged pt
3055profile is calculated within<span style="font-family: monospace;">
3056buoyancy </span>only
3057in case of the first respective intermediate timestep. This is done in
3058order to spare communication time and to produce identical model
3059results with jobs which are calling<span style="font-family: monospace;">
3060flow_statistics </span>at
3061different time intervals.<br>
3062      <br>
3063Error in netcdf variable declaration for<span style="font-family: monospace;"> statistic_regions </span>/=
3064      <span style="font-style: italic;">0</span> removed.</td>
3065      <td style="vertical-align: top;">buoyancy, netcdf</td>
3066    </tr>
3067    <tr>
3068      <td style="vertical-align: top;">23/02/06</td>
3069      <td style="vertical-align: top;">SR</td>
3070      <td style="vertical-align: top;">3.0</td>
3071      <td style="vertical-align: top;">N</td>
3072      <td><span style="font-weight: bold;">Version for simulating flows
3073over
3074topography (buildings, mountains, etc.)</span><br style="font-weight: bold;">
3075      <br>
3076Besides
3077the implementation of topography, this version contains several other
3078improvements. The most important ones are listed here:<br>
3079      <ul>
3080        <li>The
3081cloud droplet code has been optimized (it now runs about 100 times
3082faster than before).</li>
3083        <li>Output of time-averaged 2d/3d
3084data (sections / volume data) is possible.</li>
3085        <li>Output
3086of 2d-section data averaged along the direction normal to this section
3087can be done.</li>
3088        <li>The user-interface has been extended
3089in order to allow 2d-/3d-output of user-defined quantities.</li>
3090      </ul>
3091The
3092kind of topography to be used is controlled by the new initialization
3093parameter <span style="font-family: monospace;">topography</span>.
3094Allowed values are <span style="font-style: italic;">'flat'</span>,
3095      <span style="font-style: italic;">'single_building'</span>,
3096and <span style="font-style: italic;">'read_from_file'</span>.
3097The user can define his own special topography setting within the new
3098user-interface routine <span style="font-family: monospace;">user_init_grid</span>.
3099For the single building case, the&nbsp;building (rectangular) size
3100and position can be controlled with parameters <span style="font-family: monospace;">building_height</span>,
3101      <span style="font-family: monospace;">building_length_x</span>,
3102      <span style="font-family: monospace;">building_length_y</span>,
3103      <span style="font-family: monospace;">building_wall_left</span>,
3104and <span style="font-family: monospace;">building_wall_south</span>.<br>
3105      <br>
3106The topography code is already optimized (vectorized) for use on the
3107NEC-SX6.<br>
3108      <br>
3109Output of time-averaged 2d-/3d-data can be
3110enabled by appending the string <span style="font-style: italic;">'_av'</span>
3111to the respective output quantities given with the new
3112runtime-parameter <span style="font-family: monospace;">data_output</span>
3113(see further below for the (name)changes in the parameters for data
3114output). Example: if a time-average of the vertical cross-section of
3115potential temperature is required, the user has to set <span style="font-family: monospace;">data_output</span> = <span style="font-style: italic;">'pt_xy_av'</span>.
3116In case of NetCDF-output, the time-averaged data is output to
3117additional files (seperate from the non-averaged output). The length of
3118the averaging interval and the temporal distance of the single
3119instantaneous sections (volumes) entering into this averaging is
3120controlled by the new runtime-parameters <span style="font-family: monospace;">averaging_interval</span>and
3121      <span style="font-family: monospace;">dt_averaging_input</span>.
3122      <br>
3123      <br>
3124An average normal to the direction of a
3125cross-section can be output by setting the respective cross section
3126index to <span style="font-style: italic;">-1</span>
3127(example: <span style="font-family: monospace;">section_xz</span>
3128= <span style="font-style: italic;">-1</span>).<br>
3129      <br>
3130New
3131user-interface routines allowing the output of user-defined quantities
3132are <span style="font-family: monospace;">user_check_data_output</span>,
3133      <span style="font-family: monospace;">user_define_netcdf_grid</span>,
3134      <span style="font-family: monospace;">user_data_output_2d</span>,
3135      <span style="font-family: monospace;">user_data_output_3d</span>,
3136and <span style="font-family: monospace;">user_3d_data_averaging</span>.
3137These quantities can be calculated using the new <span style="font-family: monospace;">CASE</span>-Entry <span style="font-style: italic;">'after integration'</span>
3138in the user-interface routine <span style="font-family: monospace;">user_actions</span>.<br>
3139      <br>
3140Optimization
3141of the cloud droplet code is mainly done by re-sorting all particles
3142after every timestep in a way that now all particles which belong to
3143the same grid-box (k,j,i) are stored consecutively (wthout any strides)
3144in memory.<br>
3145      <br>
3146Code adaptation for the IBM at the department of atmospheric sciences,
3147Yonsei university (ibmy). Affected subroutines: <span style="font-family: monospace;">fft_xy</span>, <span style="font-family: monospace;">netcdf</span>, <br>
3148      <br>
3149      <span style="font-weight: bold;">Further new features:</span><br>
3150      <ul>
3151        <li>Use
3152of particle tails now requires setting of the new package-parameter <span style="font-family: monospace;">use_particle_tails</span>.
3153The new parameter skip_particles_for_tail allows only every <span style="font-family: monospace;">skip_particle_for_tail</span>'th
3154parameter having a tail.</li>
3155        <li>Initialization-parameter <span style="font-family: monospace;">e_min</span> can be
3156used to set a lower limit for the subgrid-scale TKE (i.e. to guarantee
3157a lower limit for the flow's Reynolds-number).</li>
3158        <li>A
3159conservation of the volume flow (through the complete xz- and
3160yz-sections &nbsp;of the total domain) can be enforced by the new
3161initialization-parameter <span style="font-family: monospace;">conserve_volume_flow</span>.</li>
3162        <li>Data
3163output can be skipped for a given time interval from simulation start
3164(t=0) using new runtime-parameters <span style="font-family: monospace;">skip_time_dopr</span>,
3165          <span style="font-family: monospace;">skip_time_dosp</span>,
3166          <span style="font-family: monospace;">skip_time_do2d_xy</span>,
3167          <span style="font-family: monospace;">skip_time_do2d_xz</span>,
3168          <span style="font-family: monospace;">skip_time_do2d_yz</span>,
3169and <span style="font-family: monospace;">skip_time_do3d</span>.<br>
3170        </li>
3171        <li>By default, NetCDF output is now using 64-bit
3172offset format
3173(large file support) on most machines. The user can switch to the
317432-bit offset format with the new runtime-parameter <span style="font-family: monospace;">netcdf_64bit</span>.
3175Units 111:113&nbsp; and 116 are opened for NetCDF output of
3176time-averaged 2d-3d data.<br>
3177        </li>
3178        <li>Data
3179logging routines are added (see file data_log.f90), which can be used
3180for debugging purposes. Output is done on unit 20 (local file
3181name/directory name DATA_LOG).</li>
3182        <li>New routine <span style="font-family: monospace;">exchange_horiz_2d_int</span>
3183for&nbsp; ghostpoint exchange of 2d-integer arrays. Routine <span style="font-family: monospace;">exchange_horiz_2d</span>
3184is extended for non-cyclic boundary conditions in the non-parallel case.</li>
3185        <li>Two different methods for calculating the mixing length and
3186the dissipation can be used in the 1d-model. These are steered by the
3187new initializing-parameters <span style="font-family: monospace;">dissipation_1d</span>
3188and <span style="font-family: monospace;">mixing_length_1d</span>.<br>
3189        </li>
3190      </ul>
3191      </td>
3192      <td style="vertical-align: top;">advec_particles,
3193advec_s_pw,
3194advec_s_up, advec_u_pw, advec_u_up, advec_v_pw, advec_v_up, advec_w_pw,
3195advec_w_up, boundary_conds, buoyancy, check_open, check_parameters,
3196close_file, coriolis, diffusion_e, diffusion_s, diffusion_u,
3197diffusion_v, diffusion_w, diffusivities, disturb_field,
3198disturb_heatflux, exchange_horiz_2d, exchange_horiz, flow_statistics,
3199header, init_1d_model, init_3d_model, init_grid, init_particles,
3200init_pegrid, modules, netcdf, package_parin, parin, poisfft,
3201prandtl_fluxes, pres, production_e, prognostic_equations,
3202read_3d_binary, read_var_list, run_control, time_integration,
3203user_interface, write_3d_binary, write_var_list<br>
3204      <br>
3205      <span style="font-weight: bold;">new:</span><br>
3206average_3d_data, data_log, sum_up_3d_data<br>
3207      <br>
3208      <span style="font-weight: bold;">renamed:<br>
3209      </span>plot_dvrp
3210-&gt; data_output_dvrp<br>
3211plot_spectra -&gt; data_output_spectra<br>
3212plot_ts -&gt; data_output_tseries<br>
3213plot_1d -&gt; data_output_profiles<br>
3214      <span style="font-weight: bold;"></span>plot_2d -&gt;
3215data_output_2d<br>
3216plot_3d -&gt; data_output_3d<br>
3217      </td>
3218    </tr>
3219    <tr>
3220      <td style="vertical-align: top;">&nbsp;</td>
3221      <td>&nbsp;</td>
3222      <td>&nbsp;</td>
3223      <td style="vertical-align: top;">C</td>
3224      <td>In
3225parallel mode, all PEs are opening the same copy of the
3226NAMELIST-parameter file <span style="font-family: monospace;">PARIN</span>,
3227i.e. from now on, the file attribute "<span style="font-family: monospace;">npe</span>" must be
3228removed from the corresponding file connection statements in the <span style="font-weight: bold;">mrun</span> configuration
3229file (.mrun.config).<br>
3230      <br>
3231A
3232large number of parameter names and local filenames have been changed
3233(see&nbsp;list below). Most of them are parameters concerning data
3234output (do). The former denotations "plot" and "pl" have been changed
3235to "data_output" and "do", respectively. In addition to these changes,
3236the names of many internal PALM parameters and variables have also
3237changed.<br>
3238      <br>
3239Restart runs now require setting of the
3240initialization-parameter <span style="font-family: monospace;">initializing_actions</span>
3241= <span style="font-style: italic;">'read_restart_data'</span>.<br>
3242      <br>
3243Concerning particles, the parameters <span style="font-family: monospace;">psl</span>, <span style="font-family: monospace;">psr</span>, <span style="font-family: monospace;">pdx</span>,
3244etc., which are controlling the position of the particle source and the
3245number of particles within this source, are now 1d-arrays. This allows
3246to define different particle sources for different particle groups.<br>
3247      <br>
3248The number of particle groups has to be set by the user (no automatic
3249calculation from the value of parameter <span style="font-family: monospace;">density_ratio</span>
3250any more)<span style="font-style: italic;"></span>.
3251Variable <span style="font-family: monospace;">idum</span>
3252in type <span style="font-family: monospace;">particle_type</span>
3253has been renamed <span style="font-family: monospace;">tail_id</span>.<br>
3254      <br>
3255Output
3256for units 15 and 17 flushed in <span style="font-family: monospace;">init_1d_model</span>.<br>
3257      <br>
3258List
3259of changed parameter names:<br>
3260      <table style="text-align: left; width: 559px; height: 831px;" border="1" cellpadding="2" cellspacing="2">
3261        <tbody>
3262          <tr>
3263            <td style="font-weight: bold;" align="undefined" valign="undefined">Old name</td>
3264            <td align="undefined" valign="undefined"><span style="font-weight: bold;">New name</span></td>
3265            <td align="undefined" valign="undefined"><span style="font-weight: bold;">Comments</span></td>
3266          </tr>
3267          <tr>
3268            <td align="undefined" valign="undefined">average_period_pl1d</td>
3269            <td align="undefined" valign="undefined">averaging_interval_pr</td>
3270            <td align="undefined" valign="undefined"><br>
3271            </td>
3272          </tr>
3273          <tr>
3274            <td style="vertical-align: top;">average_period_pr1d</td>
3275            <td style="vertical-align: top;">---</td>
3276            <td style="vertical-align: top;">averaging of printed
3277profiles
3278is not possible any more</td>
3279          </tr>
3280          <tr>
3281            <td align="undefined" valign="undefined">average_period_sp</td>
3282            <td align="undefined" valign="undefined">averaging_interval_sp</td>
3283            <td align="undefined" valign="undefined"><br>
3284            </td>
3285          </tr>
3286          <tr>
3287            <td align="undefined" valign="undefined">dt_average</td>
3288            <td align="undefined" valign="undefined">dt_averaging_input_pr</td>
3289            <td align="undefined" valign="undefined"><br>
3290            </td>
3291          </tr>
3292          <tr>
3293            <td align="undefined" valign="undefined">dt_pl1d</td>
3294            <td align="undefined" valign="undefined">dt_dopr</td>
3295            <td align="undefined" valign="undefined"><br>
3296            </td>
3297          </tr>
3298          <tr>
3299            <td align="undefined" valign="undefined">dt_plsp</td>
3300            <td align="undefined" valign="undefined">dt_dosp</td>
3301            <td align="undefined" valign="undefined"><br>
3302            </td>
3303          </tr>
3304          <tr>
3305            <td>dt_plts</td>
3306            <td>dt_dots</td>
3307            <td><br>
3308            </td>
3309          </tr>
3310          <tr>
3311            <td align="undefined" valign="undefined">dt_pr1d</td>
3312            <td align="undefined" valign="undefined">dt_dopr_listing</td>
3313            <td align="undefined" valign="undefined"><br>
3314            </td>
3315          </tr>
3316          <tr>
3317            <td align="undefined" valign="undefined">dt_pl2d_xy</td>
3318            <td align="undefined" valign="undefined">dt_do2d_xy</td>
3319            <td align="undefined" valign="undefined"><br>
3320            </td>
3321          </tr>
3322          <tr>
3323            <td align="undefined" valign="undefined">dt_pl2d_xz</td>
3324            <td align="undefined" valign="undefined">dt_do2d_xz</td>
3325            <td align="undefined" valign="undefined"><br>
3326            </td>
3327          </tr>
3328          <tr>
3329            <td align="undefined" valign="undefined">dt_pl2d_yz</td>
3330            <td align="undefined" valign="undefined">dt_do2d_yz</td>
3331            <td align="undefined" valign="undefined"><br>
3332            </td>
3333          </tr>
3334          <tr>
3335            <td align="undefined" valign="undefined">ebene_xy</td>
3336            <td align="undefined" valign="undefined">section_xy</td>
3337            <td align="undefined" valign="undefined"><br>
3338            </td>
3339          </tr>
3340          <tr>
3341            <td align="undefined" valign="undefined">ebene_xz</td>
3342            <td align="undefined" valign="undefined">section_xz</td>
3343            <td align="undefined" valign="undefined"><br>
3344            </td>
3345          </tr>
3346          <tr>
3347            <td align="undefined" valign="undefined">ebene_yz</td>
3348            <td align="undefined" valign="undefined">section_yz</td>
3349            <td align="undefined" valign="undefined"><br>
3350            </td>
3351          </tr>
3352          <tr>
3353            <td align="undefined" valign="undefined">nz_plot3d</td>
3354            <td align="undefined" valign="undefined">nz_do3d</td>
3355            <td align="undefined" valign="undefined"><br>
3356            </td>
3357          </tr>
3358          <tr>
3359            <td align="undefined" valign="undefined">plts</td>
3360            <td align="undefined" valign="undefined">data_output_ts</td>
3361            <td align="undefined" valign="undefined"><br>
3362            </td>
3363          </tr>
3364          <tr>
3365            <td align="undefined" valign="undefined">pl1d</td>
3366            <td align="undefined" valign="undefined">data_output_pr</td>
3367            <td align="undefined" valign="undefined"><br>
3368            </td>
3369          </tr>
3370          <tr>
3371            <td style="vertical-align: top;">pl2d</td>
3372            <td style="vertical-align: top;">data_output</td>
3373            <td style="vertical-align: top;">old parameters pl2d and
3374pl3d
3375are joined to new parameter data_output</td>
3376          </tr>
3377          <tr>
3378            <td align="undefined" valign="undefined">pl3d</td>
3379            <td align="undefined" valign="undefined">data_output</td>
3380            <td align="undefined" valign="undefined"><br>
3381            </td>
3382          </tr>
3383          <tr>
3384            <td align="undefined" valign="undefined">pl2d_at_begin</td>
3385            <td align="undefined" valign="undefined">do2d_at_begin</td>
3386            <td align="undefined" valign="undefined"><br>
3387            </td>
3388          </tr>
3389          <tr>
3390            <td align="undefined" valign="undefined">pl3d_at_begin</td>
3391            <td align="undefined" valign="undefined">do3d_at_begin</td>
3392            <td align="undefined" valign="undefined"><br>
3393            </td>
3394          </tr>
3395          <tr>
3396            <td align="undefined" valign="undefined">pl3d_compress</td>
3397            <td align="undefined" valign="undefined">do3d_compress</td>
3398            <td align="undefined" valign="undefined"><br>
3399            </td>
3400          </tr>
3401          <tr>
3402            <td align="undefined" valign="undefined">pl3d_precision</td>
3403            <td align="undefined" valign="undefined">do3d_comp_prec</td>
3404            <td align="undefined" valign="undefined"><br>
3405            </td>
3406          </tr>
3407          <tr>
3408            <td>pl_spectra</td>
3409            <td>data_output_sp</td>
3410            <td><br>
3411            </td>
3412          </tr>
3413          <tr>
3414            <td align="undefined" valign="undefined">read_fields_from_prior_run</td>
3415            <td align="undefined" valign="undefined">read_restart_data</td>
3416            <td align="undefined" valign="undefined"><br>
3417            </td>
3418          </tr>
3419          <tr>
3420            <td align="undefined" valign="undefined">write_plot2d_on_each_pe</td>
3421            <td align="undefined" valign="undefined">data_output_2d_on_each_pe</td>
3422            <td align="undefined" valign="undefined"><br>
3423            </td>
3424          </tr>
3425          <tr>
3426            <td align="undefined" valign="undefined">z_max_pl1d</td>
3427            <td align="undefined" valign="undefined">z_max_do1d</td>
3428            <td align="undefined" valign="undefined"><br>
3429            </td>
3430          </tr>
3431          <tr>
3432            <td align="undefined" valign="undefined">z_max_pl2d</td>
3433            <td align="undefined" valign="undefined">z_max_do2d</td>
3434            <td align="undefined" valign="undefined"><br>
3435            </td>
3436          </tr>
3437        </tbody>
3438      </table>
3439      </td>
3440      <td style="vertical-align: top;">advec_particles,
3441advec_s_bc, check_parameters, check_open, close_file,
3442data_output_dvrp,&nbsp; data_output_profiles, data_output_tseries,
3443data_output_2d, data_output_3d, flow_statistics, header, init_1d_model,
3444init_3d_model, init_dvrp, init_particles, init_pegrid, init_slope,
3445modules, netcdf, package_parin, palm, parin, print_1d, read_var_list,
3446run_control, time_integration, timestep, write_compressed,
3447write_var_list<br>
3448      </td>
3449    </tr>
3450    <tr>
3451      <td>&nbsp;</td>
3452      <td>&nbsp;</td>
3453      <td>&nbsp;</td>
3454      <td style="vertical-align: top;">E</td>
3455      <td>Error in
3456the particle release (defaults of <span style="font-family: monospace;">psl</span>,
3457      <span style="font-family: monospace;">psr</span>, <span style="font-family: monospace;">psn</span>, <span style="font-family: monospace;">pss</span>) at the PE
3458boundary has been fixed.<br>
3459      <br>
3460Error removed getting the variable ids for <span style="font-family: monospace;">_ext</span> for
3461profiles and time series.<br>
3462      <br>
3463NetCDF calls in <span style="font-family: monospace;">data_output_tseries</span>
3464only if NetCDF output is switched on.<br>
3465      <br>
3466Output of the
3467initial geostrophic wind profile corrected.<br>
3468      <br>
3469Maximum
3470possibel timestep for Runge-Kutta-schemes reduced, error concerning
3471initialization of&nbsp; <span style="font-family: monospace;">l_black</span>
3472removed (both in <span style="font-family: monospace;">init_1d_model</span>).<br>
3473      </td>
3474      <td style="vertical-align: top;">advec_particles,
3475data_output_tseries, header, init_particles, init_1d_model, netcdf<br>
3476      </td>
3477    </tr>
3478    <tr>
3479      <td align="left" valign="top">26/04/06</td>
3480      <td align="left" valign="top">SR</td>
3481      <td align="left" valign="top">3.0a</td>
3482      <td align="left" valign="top">N</td>
3483      <td align="left" valign="top">OpenMP parallelization for
3484the cache-optimized PALM code.<br>
3485      <br>
3486OpenMP
3487directives have been added where necessary. Still further tuning will
3488be necessary to get optimum performance. Other parts of the code than
3489the cache-optimized code still need to be (OpenMP-) parallelized. <br>
3490      <br>
3491So
3492far, threads are activated by setting the <span style="font-weight: bold;">mrun</span>-options <span style="font-family: monospace;">-T</span> <span style="font-style: italic;">&lt;number_of_threads&gt;</span>
3493and <span style="font-family: monospace;">-O</span>,
3494i.e. when the Option <span style="font-family: monospace;">-O</span>
3495is given, the <span style="font-family: monospace;">-T</span>
3496argument is interpreted as the number of threads to be used. When <span style="font-family: monospace;">-O</span> is given,
3497the number of MPI tasks per node is automatically set to <span style="font-style: italic;">1</span>.<br>
3498      <br>
3499Beside
3500the additional compiler directives, the main code change required by
3501the OpenMP parallelization is that global sums are now calculated by
3502first calculating local sums on each thread. As the next step, local
3503sums are calculated from these thread sums for each MPI task before the
3504global sum is computed via MPI_ALLREDUCE.&nbsp; For storing the
3505thread
3506sums, arrays sums_l and sums_l_l now have three dimensions where the
3507number of elements of the third dimension is equal to the number of
3508OpenMP threads.</td>
3509      <td align="left" valign="top">buoyancy,
3510cpu_statistics, diffusivities, flow_statistics, header, init_pegrid,
3511init_3d_model, modules, prandtl_fluxes, pres, production_e</td>
3512    </tr>
3513    <tr>
3514      <td align="left" valign="top">&nbsp;</td>
3515      <td align="left" valign="top">ML</td>
3516      <td align="left" valign="top">&nbsp;</td>
3517      <td align="left" valign="top">C</td>
3518      <td align="left" valign="top">Provisional
3519correction for Piacsek &amp; Williams advection scheme: keep u and
3520v
3521zero one layer below the topography (in case of set_1d-model_profiles).</td>
3522      <td align="left" valign="top">init_3d_model</td>
3523    </tr>
3524    <tr>
3525      <td align="left" valign="top">&nbsp;</td>
3526      <td align="left" valign="top">SR/ML</td>
3527      <td align="left" valign="top">&nbsp;</td>
3528      <td align="left" valign="top">E</td>
3529      <td align="left" valign="top">In <span style="font-family: monospace;">flow_statistics.f90</span>
3530nzb_s_inner(j,i) replaced by nzb in determination of z_i.<br>
3531      <br>
3532Errors
3533removed in the computation of the diabatic mixing length (<span style="font-family: monospace;">init_1d_model.f90</span>).<br>
3534      <br>
3535Error
3536removed in extend mode when checking whether the selected cross
3537sections match those in the already existing NetCDF file (<span style="font-family: monospace;">netcdf.f90</span>).</td>
3538      <td align="left" valign="top">flow_statistics,
3539init_1d_model, netcdf</td>
3540    </tr>
3541    <tr>
3542      <td align="left" valign="top">02/06/06</td>
3543      <td align="left" valign="top">SR</td>
3544      <td align="left" valign="top">3.0b</td>
3545      <td align="left" valign="top">N</td>
3546      <td align="left" valign="top">This version is adapted to the Sun
3547Fire X4600
3548system at TIT (to be used by setting the <span style="font-weight: bold;">mrun</span> option <span style="font-family: monospace;">-h lctit</span>).</td>
3549      <td align="left" valign="top">cpu_log, init_1d_model,
3550local_tremain, locaö_tremain_ini, run_control</td>
3551    </tr>
3552    <tr>
3553      <td align="left" valign="top">&nbsp;</td>
3554      <td align="left" valign="top">&nbsp;</td>
3555      <td align="left" valign="top">&nbsp;</td>
3556      <td align="left" valign="top">C</td>
3557      <td align="left" valign="top">NetCDF&nbsp;2d-
3558and 3d-datasets now contain the exact coordinates of the variables
3559along x and y with respect to the positions where they are defined on
3560the staggered grid.<br>
3561      <br>
3562NetCDF datasets of cross
3563sections (e.g. <span style="font-family: monospace;">DATA_2D_XY_NETCDF</span>)
3564are only opened if the respective cross sections are really requested
3565by the settings of parameter <span style="font-family: monospace;">data_output</span>.</td>
3566      <td align="left" valign="top">check_parameters,
3567data_output_2d, data_output_3d, modules, netcdf, user_interface</td>
3568    </tr>
3569    <tr>
3570      <td align="left" valign="top">&nbsp;</td>
3571      <td align="left" valign="top">&nbsp;</td>
3572      <td align="left" valign="top">&nbsp;</td>
3573      <td align="left" valign="top">E</td>
3574      <td align="left" valign="top">p is assigned to <span style="font-family: monospace;">to_be_resorted</span>
3575instead of w</td>
3576      <td align="left" valign="top">data_output_2d</td>
3577    </tr>
3578    <tr>
3579      <td align="left" valign="top">04/08/06</td>
3580      <td align="left" valign="top">SR</td>
3581      <td align="left" valign="top">3.1</td>
3582      <td align="left" valign="top">N</td>
3583      <td align="left" valign="top">Subgrid
3584scale velocities can (optionally) be included for calculating the
3585particle advection, using the method of Weil et al. (2004, JAS, 61,
35862877-2887). This method is switched on by the new particle package
3587parameter <span style="font-family: monospace;">use_sgs_for_particles</span>.
3588This also forces the Euler/upstream method to be used for time
3589advancement of the TKE (see new parameter <span style="font-family: monospace;">use_upstream_for_tke</span>).
3590The minimum timestep during the sub-timesteps is controlled by
3591parameter <span style="font-family: monospace;">dt_min_part</span>.
3592The data type <span style="font-family: monospace;">particle_type</span>
3593has additional new attributes <span style="font-family: monospace;">e_m</span>,
3594      <span style="font-family: monospace;">dt_sum</span>,
3595and <span style="font-family: monospace;">speed_x/y/z_sgs</span>.<br>
3596      <br>
3597Other
3598new particle features: output of particle quantities as timeseries in
3599NetCDF format (on local file <span style="font-family: monospace;">DATA_1D_PTS_NETCDF</span>).
3600The output time interval is controlled by parameter <span style="font-family: monospace;">dt_dopts</span>.
3601Particle advection can be switched off after some time using parameter <span style="font-family: monospace;">end_time_prel</span>.
3602More than one particle per point can be started with parameter <span style="font-family: monospace;">particles_per_point</span>.<br>
3603      <br>
3604Additional
3605parameter in function <span style="font-family: monospace;">random_gauss</span>
3606which limits the range of the created random numbers to five times the
3607standard deviation (=1). Seeds <span style="font-family: monospace;">iran</span>
3608and <span style="font-family: monospace;">iran_part</span>
3609are stored for restart runs.</td>
3610      <td align="left" valign="top">advec_particles,
3611check_open, check_parameters, close_file, diffusion_e,
3612disturb_heatflux, header, init_3d_model, init_particles, modules,
3613netcdf, package_parin, parin, prognostic_equations, random_gauss,
3614read_3d_binary, read_var_list, time_integration, write_3d_binary,
3615write_var_list<br>
3616      <br>
3617      <span style="font-weight: bold;">new:</span><br>
3618data_output_ptseries</td>
3619    </tr>
3620    <tr>
3621      <td align="left" valign="top">&nbsp;</td>
3622      <td align="left" valign="top">&nbsp;</td>
3623      <td align="left" valign="top">&nbsp;</td>
3624      <td align="left" valign="top">C</td>
3625      <td align="left" valign="top">Call of subroutine <span style="font-family: monospace;">header</span> is moved
3626after call of subroutine <span style="font-family: monospace;">init_3d_model</span>.
3627Generation of <span style="font-family: monospace;">run_description_header</span>
3628is moved from routines <span style="font-family: monospace;">palm</span>
3629and <span style="font-family: monospace;">header</span>
3630to <span style="font-family: monospace;">check_parameters</span>.
3631Determination of the number of particle groups is moved from <span style="font-family: monospace;">header</span> to <span style="font-family: monospace;">init_particles</span>.<br>
3632      <br>
3633      <span style="font-family: monospace;">izuf</span> renamed <span style="font-family: monospace;">iran</span>.</td>
3634      <td align="left" valign="top">check_parameters,
3635disturb_field, disturb_heatflux, header, init_particles, modules, palm</td>
3636    </tr>
3637    <tr>
3638      <td align="left" valign="top">&nbsp;</td>
3639      <td align="left" valign="top">&nbsp;</td>
3640      <td align="left" valign="top">&nbsp;</td>
3641      <td align="left" valign="top">E</td>
3642      <td align="left" valign="top">Variables
3643do2d_unit and do3d_unit now defined as 2d-arrays. Before, in some
3644cases, the units of variables in the 2d- and 3d-NetCDF-files have been
3645wrong.<br>
3646      <br>
3647In routine <span style="font-family: monospace;">poisfft</span>
3648default
3649setting of the thread number tn in case of not using OpenMP.<br>
3650      <br>
3651Error
3652removed in the non-parallel part of routine <span style="font-family: monospace;">flow_statistics</span>
3653(number of arguments of array <span style="font-family: monospace;">sums_l</span>).<br>
3654      <br>
3655Error
3656removed which appeared if the user had decreased the value of <span style="font-family: monospace;">dt_dopr</span> within
3657a job chain and if simulataneous time averaging of profiles was
3658switched on.</td>
3659      <td align="left" valign="top">check_parameters,
3660data_output_profiles, flow_statistics, modules, netcdf, poisfft</td>
3661    </tr>
3662    <tr>
3663      <td style="vertical-align: top;">22/08/06</td>
3664      <td style="vertical-align: top;">SR</td>
3665      <td style="vertical-align: top;">3.1a</td>
3666      <td style="vertical-align: top;">N</td>
3667      <td style="vertical-align: top;">In case of more than one
3668particle group, seperate output of timeseries for each of the groups.<br>
3669      <br>
3670New
3671initial parameter <span style="font-family: monospace;">dz_max</span>,
3672which limits the vertical gridspacing in case of a vertically stretched
3673grid.</td>
3674      <td style="vertical-align: top;">data_output_ptseries,
3675header, init_grid, modules, netcdf, parin, read_var_list, write_var_list</td>
3676    </tr>
3677    <tr>
3678      <td style="vertical-align: top;">&nbsp;</td>
3679      <td style="vertical-align: top;">&nbsp;</td>
3680      <td style="vertical-align: top;">&nbsp;</td>
3681      <td style="vertical-align: top;">C</td>
3682      <td style="vertical-align: top;">Disturbances are imposed only
3683for the last Runge-Kutta-substep. <br>
3684      <span style="font-weight: bold;">Attention:</span> <br>
3685The content of the testresult-file (run control output) has changed
3686due to this modification.<br>
3687      <br>
3688Output of xz and yz cross
3689sections now up to gridpoint nzt+1.<br>
3690      <br>
3691Default settings
3692of particle start positions changed.</td>
3693      <td style="vertical-align: top;">check_open, close_file,
3694data_output_2d, init_particles, netcdf, time_integration</td>
3695    </tr>
3696    <tr>
3697      <td style="vertical-align: top;">&nbsp;</td>
3698      <td style="vertical-align: top;">&nbsp;</td>
3699      <td style="vertical-align: top;">&nbsp;</td>
3700      <td style="vertical-align: top;">E</td>
3701      <td style="vertical-align: top;">Initialisation of all tendency
3702arrays (t.._m) needed for the Runge-Kutta schemes.<br>
3703      <br>
3704Bugfix
3705in index array initialization for line- or point-like topography
3706structures.<br>
3707      <br>
3708Bugfix: yv coordinates are now used for
3709yz cross sections, where neccessary.</td>
3710      <td style="vertical-align: top;">init_3d_model, init_grid, netcdf</td>
3711    </tr>
3712    <tr>
3713      <td style="vertical-align: top;">12/02/07</td>
3714      <td style="vertical-align: top;">SR</td>
3715      <td style="vertical-align: top;">3.1b</td>
3716      <td style="vertical-align: top;">&nbsp;N</td>
3717      <td style="vertical-align: top;"><span style="font-weight: bold;">Attention:</span><br>
3718This
3719is the last revision before switching to the subversion revison control
3720system!<br>
3721      <br>
3722Informative output to the job protocoll in
3723case of restarts.</td>
3724      <td style="vertical-align: top;">check_for_restart</td>
3725    </tr>
3726    <tr>
3727      <td>&nbsp;&nbsp;</td>
3728      <td>&nbsp;&nbsp;</td>
3729      <td>&nbsp;&nbsp;</td>
3730      <td style="vertical-align: top;">C</td>
3731      <td style="vertical-align: top;">Values of environment variables
3732are now read from local file <span style="font-family: monospace;">ENVPAR</span>
3733instead of getting them by a system call.<br>
3734      <br>
3735For
3736interpolation in <span style="font-family: monospace;">advec_particles</span>,
3737allways level k is used.</td>
3738      <td style="vertical-align: top;">advec_particles,
3739local_tremain_ini, parin</td>
3740    </tr>
3741    <tr>
3742      <td>&nbsp;</td>
3743      <td>&nbsp;</td>
3744      <td>&nbsp;</td>
3745      <td style="vertical-align: top;">E</td>
3746      <td style="vertical-align: top;">Several bugfixes in <span style="font-family: monospace;">advec_particles</span>:
3747new particles are released only if <span style="font-family: monospace;">end_time_prel</span>
3748&gt; <span style="font-family: monospace;">simulated_time</span>,&nbsp;transfer
3749of particles when x &lt; -0.5*dx (0.0 before), etc., index i,j used
3750instead of cartesian (x,y) coordinate to check for transfer because
3751this failed under very rare conditions, calculation of number of
3752particles with same radius as the current particle (cloud droplet code).<br>
3753      <br>
3754Allocation
3755of <span style="font-family: monospace;">tail_mask</span>
3756and <span style="font-family: monospace;">new_tail_id</span>
3757in case of restart-runs. "__" added in a cpp-directive. (both <span style="font-family: monospace;">init_particles</span>)</td>
3758      <td style="vertical-align: top;">advec_particles, init_particles</td>
3759    </tr>
3760    <tr>
3761      <td style="vertical-align: top;">02/03/07</td>
3762      <td style="vertical-align: top;">SR</td>
3763      <td style="vertical-align: top;">3.1c</td>
3764      <td style="vertical-align: top;">N</td>
3765      <td style="vertical-align: top;">A heatflux can be prescribed at
3766the top with new inipar parameters <span style="font-family: monospace;">top_heatflux</span>
3767and <span style="font-family: monospace;">use_top_fluxes</span>.
3768New 2d-arrays <span style="font-family: monospace;">qswst</span>,
3769      <span style="font-family: monospace;">qswst_m</span>,
3770      <span style="font-family: monospace;">tswst</span>
3771and <span style="font-family: monospace;">tswst_m</span>
3772are used to store this flux. Use of fluxes are controlled with new
3773index variable <span style="font-family: monospace;">nzt_diff</span>.
3774A Neumann boundary condition for temperature can be applied under these
3775conditions.<br>
3776      <br>
3777Additionally, a Dirichlet condition for
3778temperature can be used at the top.<br>
3779      <br>
3780      <span style="font-weight: bold;">Attention:</span> <br>
3781The content of the testresult-file (run control output) has changed
3782due to this modification.</td>
3783      <td style="vertical-align: top;">check_parameters,
3784diffusion_s, flow_statistics, header, init_grid, init_3d_model,
3785modules, parin, production_e, prognostic_equations, read_var_list,
3786read_3d_binary, swap_timelevel, write_var_list, write_3d_binary</td>
3787    </tr>
3788    <tr>
3789      <td>&nbsp;</td>
3790      <td>&nbsp;</td>
3791      <td>&nbsp;</td>
3792      <td style="vertical-align: top;">C</td>
3793      <td style="vertical-align: top;">Prognostic equations for all
3794scalars are now solved up to gridpoint nzt (formerly nzt-1).
3795Boundary conditions for scalars at top adjusted respectively (now
3796applied only at nzt+1).<br>
3797      <br>
3798The
3799default top boundary condition for temperature has been renamed to <span style="font-style: italic;">'initial_gradient'</span>.<br>
3800      <br>
3801Calls
3802of dvrp_output_local,
3803which were commented out for a long time, are now activated for all
3804streams.</td>
3805      <td style="vertical-align: top;">advec_s_pw,
3806boundary_conds, calc_precipitation, check_parameters, diffusion_e,
3807diffusion_s, impact_of_latent_heat, init_dvrp, init_pt_anomaly,
3808modules, production_e, prognostic_equations, spline_z</td>
3809    </tr>
3810    <tr>
3811      <td>&nbsp;</td>
3812      <td>&nbsp;</td>
3813      <td>&nbsp;</td>
3814      <td style="vertical-align: top;">E</td>
3815      <td style="vertical-align: top;">Bugfix: 3d-array p is not a
3816pointer any more.<br>
3817      <br>
3818Bugfix in init_particles:
3819MPI_REAL
3820argument in MPI_ALLREDUCE
3821replaced by<br>
3822MPI_INTEGER
3823(caused error on NEC only).<br>
3824      <br>
3825Bugfix:&nbsp; ddzw now
3826dimensioned 1:nzt"+1".</td>
3827      <td style="vertical-align: top;">diffusion_e, diffusion_s,
3828diffusion_u, diffusion_v, diffusion_w, init_particles, modules</td>
3829    </tr>
3830    <tr>
3831      <td style="vertical-align: top;">29/03/07</td>
3832      <td style="vertical-align: top;">SR</td>
3833      <td style="vertical-align: top;">3.2</td>
3834      <td style="vertical-align: top;">N</td>
3835      <td style="vertical-align: top;">The code, including scripts,
3836utility programs and documentation is now under full control of <span style="font-family: Courier New,Courier,monospace;">subversion</span>.
3837This revision includes a quite large number of new features, changes
3838and bugfixes.<br>
3839&nbsp;<br>
3840Particle reflection from vertical walls implemented. The particle SGS
3841model is also adjusted to these vertical walls.<br>
3842      <br>
3843Wall functions for vertical walls now include diabatic conditions. New
3844subroutines <span style="font-family: Courier New,Courier,monospace;">wall_fluxes</span>,
3845      <span style="font-family: Courier New,Courier,monospace;">wall_fluxes_e</span>.
3846New 4D-array <span style="font-family: Courier New,Courier,monospace;">rif_wall</span>.<br>
3847      <br>
3848Calculation/output of precipitation amount, precipitation rate and z0
3849(by setting "<span style="font-style: italic;">pra*</span>", "<span style="font-style: italic;">prr*</span>", "<span style="font-style: italic;">z0*</span>" with <span style="font-family: Courier New,Courier,monospace;">data_output</span>).
3850The time interval on which the precipitation amount is defined is set
3851by new d3par-parameter <span style="font-family: Courier New,Courier,monospace;">precipitation_amount_interval</span>.<br>
3852      <br>
3853New inipar-parameter <span style="font-family: Courier New,Courier,monospace;">loop_optimization</span>
3854to control the loop optimization method.<br>
3855      <br>
3856New
3857inipar-parameter <span style="font-family: Courier New,Courier,monospace;">pt_reference</span>.
3858If given, this value is used as the
3859reference that is used in the buoyancy terms (otherwise, the
3860instantaneous
3861horizontally averaged temperature is used).<br>
3862      <br>
3863New d3par-parameter <span style="font-family: Courier New,Courier,monospace;">netcdf_64bit_3d</span>
3864to switch on and especially to switch off 64bit offset&nbsp;for 3D
3865files only (because still some pd-software is unable to handle 64bit
3866offset).<br>
3867      <br>
3868New d3par-parameter <span style="font-family: Courier New,Courier,monospace;">dt_max</span> to
3869set the maximum&nbsp;value allowed for the&nbsp;timestep. <br>
3870      <br>
3871New user interfaces <span style="font-family: Courier New,Courier,monospace;">user_advec_particles</span>
3872and <span style="font-family: Courier New,Courier,monospace;">user_init_3d_model</span>.
3873The new initializing action "<span style="font-style: italic;">by_user</span>"
3874calls <span style="font-family: Courier New,Courier,monospace;">user_init_3d_model</span>
3875and allows the initial setting of all 3d arrays under complete user
3876control.<br>
3877      <br>
3878Samples added to the user interface which show how to add user-define
3879time series quantities.<br>
3880      <br>
3881Topography height informations are stored on arrays <span style="font-family: Courier New,Courier,monospace;">zu_s_inner</span>
3882and <span style="font-family: Courier New,Courier,monospace;">zw_w_inner</span>
3883and output to the 2d/3d NetCDF files.<br>
3884      <br>
3885Unit 9 is generally opened for output of debug informations (file <span style="font-family: Courier New,Courier,monospace;">DEBUG_&lt;pe#&gt;</span>).</td>
3886      <td style="vertical-align: top;">Makefile<br>
3887      <br>
3888advec_particles,
3889average_3d_data, buoyancy, calc_precipitation, check_open,
3890check_parameters, data_output_2d, diffusion_e, diffusion_u,
3891diffusion_v, diffusion_w, diffusivities, header, impact_of_latent_heat,
3892init_particles, init_3d_model, modules, netcdf, parin, production_e,
3893read_var_list, read_3d_binary, sum_up_3d_data, user_interface,
3894write_var_list, write_3d_binary<br>
3895      <br>
3896      <span style="font-weight: bold;">new:</span><br>
3897wall_fluxes<br>
3898      </td>
3899    </tr>
3900    <tr>
3901      <td style="vertical-align: top;">&nbsp;</td>
3902      <td style="vertical-align: top;">&nbsp;</td>
3903      <td style="vertical-align: top;">&nbsp;</td>
3904      <td style="vertical-align: top;">C</td>
3905      <td style="vertical-align: top;">General revision of non-cyclic
3906horizontal boundary conditions:<br>
3907Radiation boundary conditions are now used instead of Neumann
3908conditions at the outflow (calculation needs velocity values for <span style="font-family: Courier New,Courier,monospace;">t-dt</span>, which
3909are stored on new arrays <span style="font-family: Courier New,Courier,monospace;">u_m_l</span>, <span style="font-family: Courier New,Courier,monospace;">u_m_r</span>,
3910etc.). The calculation of a mean outflow is not needed any more. Volume
3911flow control is added for the outflow boundary (<span style="font-weight: bold;">currently only for the north boundary!!</span>).
3912Additional gridpoints along x and y (<span style="font-family: Courier New,Courier,monospace;">uxrp</span>, <span style="font-family: Courier New,Courier,monospace;">vynp</span>) are
3913not needed any more and removed from the code. Routine "<span style="font-family: Courier New,Courier,monospace;">boundary_conds</span>"
3914now operates on timelevel <span style="font-family: Courier New,Courier,monospace;">t+dt</span> and is
3915not split in two parts (<span style="font-style: italic;">main</span>, <span style="font-style: italic;">uvw_outflow</span>) any more. Neumann
3916boundary conditions are used at inflow/outflow in case of non-cyclic
3917boundary conditions <span style="font-weight: bold;">for all 2d-arrays</span>
3918that are handled by <span style="font-family: Courier New,Courier,monospace;">exchange_horiz_2d</span>.<br>
3919      <span style="font-weight: bold;">Attention:&nbsp;the
3920non-cyclic boundary conditions of this revision still contain some bugs
3921which will be removed within the next revisions!</span><br>
3922      <br>
3923The Bott-Chlond-scheme can now be used in the vectorization-optimized
3924part (NEC, etc.). Equations are solved up to gridpoint <span style="font-family: Courier New,Courier,monospace;">nzt</span>.<br>
3925      <br>
3926The
3927FFT-method for solving the Poisson-equation is now working with Neumann
3928boundary conditions both at the bottom and the top. This requires
3929adjustments of the tridiagonal coefficients and subtracting the
3930horizontally averaged mean from the vertical velocity field.<br>
3931      <br>
3932Particles-package is now part of the default code ("<span style="font-family: Courier New,Courier,monospace;">-p particles</span>"
3933is not needed as an <span style="font-weight: bold;">mrun</span>-option
3934any more). New attribute <span style="font-family: Courier New,Courier,monospace;">age_m</span> in <span style="font-family: Courier New,Courier,monospace;">particle_type</span>.<br>
3935      <br>
3936Move call of <span style="font-family: Courier New,Courier,monospace;">user_actions</span>(
3937'<span style="font-style: italic;">after_integration</span>' ) below
3938the increments of times<br>
3939and counters. <span style="font-family: Courier New,Courier,monospace;">user_actions</span>
3940is now called for each statistic region and has as an argument the
3941number of the respective region (<span style="font-family: Courier New,Courier,monospace;">sr</span>).<br>
3942      <br>
3943d3par-parameter <span style="font-family: Courier New,Courier,monospace;">data_output_ts</span>
3944is removed. Timeseries output for <span style="font-weight: bold;">profil</span>-software
3945removed. Timeseries are now switched on by setting <span style="font-family: Courier New,Courier,monospace;">dt_dots</span>.
3946Timeseries data is collected in <span style="font-family: Courier New,Courier,monospace;">flow_statistics</span>.<br>
3947      <br>
3948Initial velocities at <span style="font-family: Courier New,Courier,monospace;">nzb+1</span>
3949are regarded for volume flow control in case they have been set zero
3950before (to avoid small timesteps); see new internal parameters <span style="font-family: Courier New,Courier,monospace;">u/v_nzb_p1_for_vfc</span>.<br>
3951      <br>
3952      <span style="font-family: Courier New,Courier,monospace;">q</span>
3953is not allowed any more to become negative (<span style="font-family: Courier New,Courier,monospace;">prognostic_equations</span>).<br>
3954      <br>
3955      <span style="font-family: Courier New,Courier,monospace;">poisfft_init</span>
3956is only called if the fft-solver is switched on (<span style="font-family: Courier New,Courier,monospace;">init_pegrid</span>).<br>
3957      <br>
3958d3par-parameter <span style="font-family: Courier New,Courier,monospace;">moisture</span>
3959renamed to <span style="font-family: Courier New,Courier,monospace;">humidity</span>.<br>
3960      <br>
3961Subversion global revision number is read from <span style="font-weight: bold;">mrun</span> and added to the run
3962description header and to the run control (<span style="font-family: Courier New,Courier,monospace;">_rc</span>) file.<br>
3963      <br>
3964      <span style="font-family: Courier New,Courier,monospace;">__vtk</span>
3965directives removed from main program.<br>
3966      <br>
3967The uitility routine&nbsp;<span style="font-family: Courier New,Courier,monospace;">interpret_config</span>
3968now reads PALM environment variables from <span style="font-family: Courier New,Courier,monospace;">NAMELIST</span>
3969instead using the system call <span style="font-family: Courier New,Courier,monospace;">GETENV</span>.</td>
3970      <td style="vertical-align: top;">advec_s_bc, advec_u_pw,
3971advec_u_up, advec_v_pw, advec_v_up, asselin_filter, boundary_conds,
3972check_parameters,
3973coriolis, data_output_dvrp, data_output_ptseries, data_output_ts,
3974data_output_2d, data_output_3d, diffusion_u, diffusion_v,
3975disturb_field, exchange_horiz, exchange_horiz_2d, flow_statistics,
3976header, init_grid,
3977init_particles, init_pegrid, init_rankine, init_pt_anomaly,
3978init_1d_model, init_3d_model, modules, palm, package_parin, parin,
3979poisfft, poismg, prandtl_fluxes, pres, production_e,
3980prognostic_equations, read_var_list, read_3d_binary, sor,
3981swap_timelevel, time_integration, write_var_list, write_3d_binary</td>
3982    </tr>
3983    <tr>
3984      <td style="vertical-align: top;">&nbsp;</td>
3985      <td style="vertical-align: top;">&nbsp;</td>
3986      <td style="vertical-align: top;">&nbsp;</td>
3987      <td style="vertical-align: top;">E</td>
3988      <td style="vertical-align: top;">Bugfix: preset of tendencies <span style="font-family: Courier New,Courier,monospace;">te_em</span>, <span style="font-family: Courier New,Courier,monospace;">te_um</span>, and <span style="font-family: Courier New,Courier,monospace;">te_vm</span> (<span style="font-family: Courier New,Courier,monospace;">init_1d_model</span>).<br>
3989      <br>
3990Bugfix in sample for reading user defined data from restart file (<span style="font-family: Courier New,Courier,monospace;">user_init</span>).<br>
3991      <br>
3992Bugfix in setting diffusivities for cases with the outflow damping
3993layer extending over more than one subdomain (<span style="font-family: Courier New,Courier,monospace;">init_3d_model</span>).<br>
3994      <br>
3995Check for possible negative humidities in the initial humidity profile.<br>
3996      <br>
3997In <span style="font-family: Courier New,Courier,monospace;">Makefile</span>,
3998default suffixes are removed from the suffix list to avoid calling of <span style="font-family: Courier New,Courier,monospace;">m2c</span> in
3999cases of existing <span style="font-family: Courier New,Courier,monospace;">.mod</span> files
4000(problem on Linux systems).</td>
4001      <td style="vertical-align: top;">Makefile<br>
4002      <br>
4003check_parameters, init_1d_model, init_3d_model, user_interface</td>
4004    </tr>
4005    <tr>
4006      <td style="vertical-align: top;">19/04/07</td>
4007      <td style="vertical-align: top;">SR</td>
4008      <td style="vertical-align: top;">3.2a</td>
4009      <td style="vertical-align: top;">C</td>
4010      <td style="vertical-align: top;">All system relevant compile and
4011link options (e.g. cpp-directives,
4012library paths, etc.) as well as the host identifier (local_host) are
4013now specified in the configuration file. This generally allows to
4014install
4015PALM on any&nbsp;kind of Linux-, IBM-AIX-, or NEC-SX-system by adding
4016appropriate
4017settings to the configuration file. A description is added to chapter
40185.0 of the online documentation.<br>
4019      <br>
4020Scripts are also running under the public domain ksh.<br>
4021      <br>
4022Filetransfer by ftp removed (options<span style="font-family: Courier New,Courier,monospace;"> -f </span>removed
4023from <span style="font-weight: bold;">mrun</span> and <span style="font-weight: bold;">mbuild</span>).<br>
4024      <br>
4025Call of (system-)FLUSH routine moved to new routine<span style="font-family: Courier New,Courier,monospace;"> local_flush</span>.<br>
4026      <br>
4027      <span style="font-family: Courier New,Courier,monospace;">return_addres
4028      </span>and<span style="font-family: Courier New,Courier,monospace;"> return_username </span>are
4029read from ENVPAR-NAMELIST-file instead of using<span style="font-family: Courier New,Courier,monospace;"> local_getenv</span>.<br>
4030      <br>
4031Preprocessor strings for different linux clusters changed to "<span style="font-family: Courier New,Courier,monospace;">lc</span>", some
4032preprocessor directives renamed (new:<span style="font-family: Courier New,Courier,monospace;"> __intel_openmp_bug</span>
4033which is used for the bug in<span style="font-family: Courier New,Courier,monospace;"> tridia_1dd </span>and
4034the OpenMP directives). Preprocessor directives for old systems have
4035been removed.<br>
4036      <br>
4037      </td>
4038      <td style="vertical-align: top;">advec_particles,
4039check_open, cpu_log, cpu_statistics, data_output_dvrp, flow_statistics,
4040header, init_dvrp, init_particles, init_1d_model, init_dvrp,
4041init_pegrid, local_getenv, local_system, local_tremain,
4042local_tremain_ini, modules, palm, parin, run_control<br>
4043      <br>
4044      <span style="font-weight: bold;">new:</span><br>
4045local_flush<br>
4046      <br>
4047      <span style="font-weight: bold;">changed scripts:</span><br>
4048mbuild, mrun, .mrun.config.default<br>
4049      </td>
4050    </tr>
4051    <tr>
4052      <td style="vertical-align: top;">30/05/07</td>
4053      <td style="vertical-align: top;">SR</td>
4054      <td style="vertical-align: top;">3.2b</td>
4055      <td style="vertical-align: top;">N</td>
4056      <td style="vertical-align: top;">Calculation and output of
4057user-defined profiles: New&nbsp;userpar-parameter <span style="font-family: Courier New,Courier,monospace;">data_output_pr_user</span>.
4058In the user-interface, routine <span style="font-family: Courier New,Courier,monospace;">user_check_data_output_pr</span>
4059has been added and <span style="font-family: Courier New,Courier,monospace;">user_statistics</span>
4060has been extended.<br>
4061      </td>
4062      <td style="vertical-align: top;">check_parameters,
4063flow_statistics, modules, parin, read_var_list, user_interface,
4064write_var_list</td>
4065    </tr>
4066    <tr>
4067      <td style="vertical-align: top;">&nbsp;</td>
4068      <td style="vertical-align: top;">&nbsp;</td>
4069      <td style="vertical-align: top;">&nbsp;</td>
4070      <td style="vertical-align: top;">C</td>
4071      <td style="vertical-align: top;">In <span style="font-family: Courier New,Courier,monospace;">pres.f90</span>,
4072division through <span style="font-family: Courier New,Courier,monospace;">dt_3d</span>
4073replaced by multiplication of the inverse. For performance
4074optimisation, this is done in the loop calculating the divergence
4075instead of using a seperate loop.<br>
4076      <br>
4077Variables <span style="font-family: Courier New,Courier,monospace;">var_hom</span>
4078and <span style="font-family: Courier New,Courier,monospace;">var_sum</span>
4079are both renamed <span style="font-family: Courier New,Courier,monospace;">pr_palm</span>.</td>
4080      <td style="vertical-align: top;">data_output_profiles,
4081flow_statistics, init_3d_model, modules, parin, pres, read_var_list,
4082run_control, time_integration</td>
4083    </tr>
4084    <tr>
4085      <td style="vertical-align: top;">&nbsp;</td>
4086      <td style="vertical-align: top;">&nbsp;</td>
4087      <td style="vertical-align: top;">&nbsp;</td>
4088      <td style="vertical-align: top;">E</td>
4089      <td style="vertical-align: top;">Bugfix: <span style="font-family: Courier New,Courier,monospace;">work_fft*_vec</span>
4090removed from some PRIVATE-declarations (<span style="font-family: Courier New,Courier,monospace;">poisfft</span>).<br>
4091      <br>
4092Bugfix: <span style="font-family: Courier New,Courier,monospace;">field_chr</span>
4093renamed <span style="font-family: Courier New,Courier,monospace;">field_char</span>
4094(<span style="font-family: Courier New,Courier,monospace;">user_interface</span>).<br>
4095      <br>
4096Bugfix: output of <span style="font-family: Courier New,Courier,monospace;">use_upstream_for_tke</span>
4097(<span style="font-family: Courier New,Courier,monospace;">header</span>).</td>
4098      <td style="vertical-align: top;">header, poisfft, user_interface</td>
4099    </tr>
4100    <tr>
4101      <td style="vertical-align: top;">21/06/07</td>
4102      <td style="vertical-align: top;">SR</td>
4103      <td style="vertical-align: top;">3.3</td>
4104      <td style="vertical-align: top;">N</td>
4105      <td style="vertical-align: top;">This version allows runs for the
4106ocean. These runs can be switched on with the new inipar-parameter <span style="font-family: Courier New,Courier,monospace;">ocean</span>.<br>
4107      <br>
4108Setting this switch has several effects:<br>
4109      <ul>
4110        <li>An additional prognostic equation for salinity is solved.</li>
4111        <li>Potential temperature in buoyancy and stability-related
4112terms is replaced by potential density.</li>
4113        <li>Potential
4114density is calculated from the equation of state for seawater after
4115each timestep, using the algorithm proposed by Jackett et al. (2006, J.
4116Atmos. Oceanic Technol., <span style="font-weight: bold;">23</span>,
41171709-1728).<br>
4118So far, only the initial hydrostatic pressure is entered into this
4119equation.</li>
4120        <li>z=0 (sea surface) is assumed at the model top (vertical
4121grid index <span style="font-family: Courier New,Courier,monospace;">k=nzt</span>
4122on the w-grid), with negative values of z indicating the depth.</li>
4123        <li>Initial profiles are constructed (e.g. from <a href="http://www.muk.uni-hannover.de/%7Eraasch/PALM_group/doc/app/chapter_4.1.html#pt_vertical_gradient">pt_vertical_gradient</a>
4124/ <a href="http://www.muk.uni-hannover.de/%7Eraasch/PALM_group/doc/app/chapter_4.1.html#pt_vertical_gradient_level">pt_vertical_gradient_level</a>)
4125starting from the sea surface, using surface values&nbsp;given by <a href="http://www.muk.uni-hannover.de/%7Eraasch/PALM_group/doc/app/chapter_4.1.html#pt_surface">pt_surface</a>,
4126          <a href="http://www.muk.uni-hannover.de/%7Eraasch/PALM_group/doc/app/chapter_4.1.html#sa_surface">sa_surface</a>,
4127          <a href="http://www.muk.uni-hannover.de/%7Eraasch/PALM_group/doc/app/chapter_4.1.html#ug_surface">ug_surface</a>,
4128and <a href="http://www.muk.uni-hannover.de/%7Eraasch/PALM_group/doc/app/chapter_4.1.html#vg_surface">vg_surface</a>.</li>
4129        <li>Zero salinity flux is used as default boundary condition at
4130the bottom of the sea.</li>
4131        <li>If switched on, random perturbations are by default imposed
4132to the upper model domain from zu(nzt*2/3) to zu(nzt-3).</li>
4133      </ul>
4134Relevant new inipar-parameters to be exclusively used for steering
4135ocean runs are <span style="font-family: Courier New,Courier,monospace;">bc_sa_t</span>, <span style="font-family: Courier New,Courier,monospace;">bottom_salinityflux</span>,
4136      <span style="font-family: Courier New,Courier,monospace;">sa_surface</span>,
4137      <span style="font-family: Courier New,Courier,monospace;">sa_vertical_gradient</span>,
4138      <span style="font-family: Courier New,Courier,monospace;">sa_vertical_gradient_level</span>,
4139and <span style="font-family: Courier New,Courier,monospace;">top_salinityflux</span>.<br>
4140      <br>
4141Salinity (<span style="font-family: Courier New,Courier,monospace;">sa</span>)
4142and potential density (<span style="font-family: Courier New,Courier,monospace;">rho</span>) are
4143included as new 2d/3d output quantities. Vertical profiles of salinity (<span style="font-family: Courier New,Courier,monospace;">sa</span>),
4144salinity fluxes (<span style="font-family: Courier New,Courier,monospace;">w"sa"</span>, <span style="font-family: Courier New,Courier,monospace;">w*sa*</span>, <span style="font-family: Courier New,Courier,monospace;">wsa</span>), and
4145potential density (<span style="font-family: Courier New,Courier,monospace;">rho</span>) can
4146also be output.<span style="font-family: Courier New,Courier,monospace;"></span></td>
4147      <td style="vertical-align: top;">advec_s_bc, average_3d_data,<br>
4148boundary_conds, buoyancy,<br>
4149check_parameters,&nbsp;data_output_2d,<br>
4150data_output_3d,&nbsp;diffusion_e,<br>
4151diffusivities,&nbsp;flow_statistics,&nbsp;header,<br>
4152init_grid,&nbsp;init_3d_model,&nbsp;modules,<br>
4153netcdf,&nbsp;parin,&nbsp;production_e,<br>
4154prognostic_equations,<br>
4155read_3d_binary,&nbsp;&nbsp;read_var_list,<br>
4156sum_up_3d_data,&nbsp;swap_timelevel,<br>
4157time_integration,&nbsp;user_interface,<br>
4158write_var_list,&nbsp;write_3d_binary<br>
4159      <br>
4160      <span style="font-weight: bold;">new:</span><br>
4161eqn_state_seawater,&nbsp;init_ocean</td>
4162    </tr>
4163    <tr>
4164      <td style="vertical-align: top;">&nbsp;</td>
4165      <td style="vertical-align: top;">&nbsp;</td>
4166      <td style="vertical-align: top;">&nbsp;</td>
4167      <td style="vertical-align: top;">C</td>
4168      <td style="vertical-align: top;">Inipar-parameter <span style="font-family: Courier New,Courier,monospace;">use_pt_reference</span>
4169renamed <span style="font-family: Courier New,Courier,monospace;">use_reference.</span><br>
4170Internal variable <span style="font-family: Courier New,Courier,monospace;">hydro_press</span>
4171renamed <span style="font-family: Courier New,Courier,monospace;">hyp</span>,
4172routine <span style="font-family: Courier New,Courier,monospace;">calc_mean_pt_profile</span>
4173renamed <span style="font-family: Courier New,Courier,monospace;">calc_mean_profile</span>.<br>
4174      <br>
4175The format of the <span style="font-family: Courier New,Courier,monospace;">RUN_CONTROL</span>
4176file has been adjusted for ocean runs.<br>
4177      <br>
4178Defaults of <span style="font-family: Courier New,Courier,monospace;">.._vertical_gradient_levels</span>
4179changed from <span style="font-style: italic;">-1.0</span> to <span style="font-style: italic;">-9999999.9</span>.</td>
4180      <td style="vertical-align: top;">advec_particles,&nbsp;buoyancy,&nbsp;<br>
4181calc_liquid_water_content, <br>
4182check_parameters,&nbsp;diffusion_e,<br>
4183diffusivities,&nbsp;header,<br>
4184init_cloud_physics,&nbsp;modules,<br>
4185production_e,&nbsp;prognostic_equations,<br>
4186run_control</td>
4187    </tr>
4188    <tr>
4189      <td style="vertical-align: top;">&nbsp;</td>
4190      <td style="vertical-align: top;">&nbsp;</td>
4191      <td style="vertical-align: top;">&nbsp;</td>
4192      <td style="vertical-align: top;">E</td>
4193      <td style="vertical-align: top;">Bugfix: height above topography
4194instead of height above level k=0 is used for calculating the mixing
4195length (<span style="font-family: Courier New,Courier,monospace;">diffusion_e</span>
4196and <span style="font-family: Courier New,Courier,monospace;">diffusivities</span>).<br>
4197      <br>
4198Bugfix: error in boundary condition for TKE removed (<span style="font-family: Courier New,Courier,monospace;">advec_s_bc</span>).</td>
4199      <td style="vertical-align: top;">advec_s_bc,&nbsp;diffusion_e,&nbsp;diffusivities</td>
4200    </tr>
4201    <tr>
4202      <td style="vertical-align: top;">05/10/07</td>
4203      <td style="vertical-align: top;">SR</td>
4204      <td style="vertical-align: top;">3.4</td>
4205      <td style="vertical-align: top;">N</td>
4206      <td style="vertical-align: top;">This version allows runs for a
4207coupled atmosphere-ocean LES.<br>
4208      <br>
4209Coupling frequency is controlled by new d3par-parameter <span style="font-family: Courier New,Courier,monospace;">dt_coupling</span>,
4210the coupling mode ('<span style="font-style: italic;">atmosphere_to_ocean</span>'
4211or '<span style="font-style: italic;">ocean_to_atmosphere</span>') for
4212the respective processes is read from environment variable <span style="font-family: Courier New,Courier,monospace;">coupling_mode</span>,
4213which is set by the mpiexec-command in <span style="font-weight: bold;">mrun</span>.
4214Communication between the two models is handled by the
4215intercommunicator <span style="font-family: Courier New,Courier,monospace;">comm_inter</span>.
4216Local files opened by the ocean model get the additional suffic "<span style="font-family: Courier New,Courier,monospace;">_O</span>".
4217Saturation at k=nzb is assumed for the atmosphere coupled to ocean.
4218Usage of the coupled model is described in the new section 3.8.<br>
4219      <br>
4220A momentum flux can be set as top boundary condition using the new
4221inipar parameters <span style="font-family: Courier New,Courier,monospace;">top_momentumflux_u|v</span>.<br>
4222      <br>
4223Non-cyclic boundary conditions can be used along all horizontal
4224directions.<br>
4225      <br>
4226Quantities w*p* and w"e can be output as vertical profiles.<br>
4227      <br>
4228Initial profiles are reset to constant profiles in case that <span style="font-family: Courier New,Courier,monospace;">initializing_actions</span>
4229/= '<span style="font-style: italic;">set_constant_profiles</span>'.
4230(init_rankine)<br>
4231      <br>
4232Optionally calculate km and kh from initial TKE e_init.<br>
4233      </td>
4234      <td style="vertical-align: top;">boundary_conds,
4235check_open, check_parameters, diffusion_u, diffusion_v,
4236flow_statistics, header, init_pegrid, init_rankine, init_3d_model,
4237local_stop, modules, palm, parin, prandtl_fluxes, pres,
4238prognostic_equations, read_var_list, read_3d_binary, swap_timelevel,
4239timestep, time_integration, write_var_list, write_3d_binary<br>
4240      <br>
4241      <span style="font-weight: bold;">new:</span><br>
4242surface_coupler</td>
4243    </tr>
4244    <tr>
4245      <td style="vertical-align: top;">&nbsp;</td>
4246      <td style="vertical-align: top;">&nbsp;</td>
4247      <td style="vertical-align: top;">&nbsp;</td>
4248      <td style="vertical-align: top;">C</td>
4249      <td style="vertical-align: top;">Remaining variables <span style="font-family: Courier New,Courier,monospace;">iran</span>
4250changed to <span style="font-family: Courier New,Courier,monospace;">iran_part</span>
4251(advec_particles, init_particles).<br>
4252      <br>
4253In case that the presure solver is not called for every Runge-Kutta
4254substep (<span style="font-family: Courier New,Courier,monospace;">call_psolver_at_all_substeps</span>
4255= <span style="font-style: italic;">.F.</span>),
4256it is called after the first substep instead of the last. In that case,
4257random perturbations are also added to the velocity field after the
4258first substep.<br>
4259      <br>
4260Initialization of <span style="font-family: Courier New,Courier,monospace;">km</span>, <span style="font-family: Courier New,Courier,monospace;">kh</span> =
42610.00001 for <span style="font-family: Courier New,Courier,monospace;">ocean</span>
4262= <span style="font-style: italic;">.T.</span> (for <span style="font-family: Courier New,Courier,monospace;">ocean</span> = <span style="font-style: italic;">.F.</span> it remains 0.01).<br>
4263      <br>
4264Allow <span style="font-family: Courier New,Courier,monospace;">data_output_pr</span>
4265= '<span style="font-style: italic;">q</span>', '<span style="font-style: italic;">wq</span>', '<span style="font-style: italic;">w"q"</span>', '<span style="font-style: italic;">w*q*</span>' for <span style="font-family: Courier New,Courier,monospace;">humidity</span> = <span style="font-style: italic;">.T.</span> (instead of <span style="font-family: Courier New,Courier,monospace;">cloud_physics</span>
4266= <span style="font-style: italic;">.T.</span>).</td>
4267      <td style="vertical-align: top;">advec_particles,
4268check_for_restart, check_parameters, init_particles, init_3d_model,
4269time_integration<br>
4270      </td>
4271    </tr>
4272    <tr>
4273      <td style="vertical-align: top;">&nbsp;</td>
4274      <td style="vertical-align: top;">&nbsp;</td>
4275      <td style="vertical-align: top;">&nbsp;</td>
4276      <td style="vertical-align: top;">E</td>
4277      <td style="vertical-align: top;">Bugs from code parts for
4278non-cyclic boundary conditions are removed:<br>
4279loops for u and v are starting from index <span style="font-family: Courier New,Courier,monospace;">nxlu</span>, <span style="font-family: Courier New,Courier,monospace;">nysv</span>,
4280respectively. The radiation boundary condition is used for every
4281Runge-Kutta substep. Velocity phase speeds for the radiation boundary
4282conditions are calculated for the first Runge-Kutta substep only and
4283reused for the further substeps. New arrays <span style="font-family: Courier New,Courier,monospace;">c_u</span>, <span style="font-family: Courier New,Courier,monospace;">c_v</span>, and <span style="font-family: Courier New,Courier,monospace;">c_w</span>
4284are defined for this purpose. Several index errors are removed from the
4285radiation boundary condition code parts. Upper bounds for calculating <span style="font-family: Courier New,Courier,monospace;">u_0</span> and <span style="font-family: Courier New,Courier,monospace;">v_0</span> (in
4286production_e) are <span style="font-style: italic;">nxr+1</span> and <span style="font-style: italic;">nyn+1</span> because otherwise these
4287values are not available in case of non-cyclic boundary conditions.<br>
4288      <br>
4289+<span style="font-family: Courier New,Courier,monospace;">dots_num_palm</span>
4290in module user, +module netcdf_control in user_init (both in
4291user_interface)<br>
4292      <br>
4293Bugfix: wrong sign removed from the buoyancy production term in the
4294case <span style="font-family: Courier New,Courier,monospace;">use_reference</span>
4295= <span style="font-style: italic;">.T.</span> (production_e)<br>
4296      <br>
4297Bugfix: Error message concerning output of particle concentration (pc)
4298modified (check_parameters).<br>
4299      <br>
4300Bugfix: Rayleigh damping for ocean fixed.</td>
4301      <td style="vertical-align: top;">advec_u_pw,
4302advec_u_up, advec_v_pw, advec_v_up, boundary_conds, buoyancy,
4303check_parameters, coriolis, diffusion_u, diffusion_v, header,
4304init_pegrid, init_3d_model, modules, poismg, production_e,
4305prognostic_equations, user_interface<br>
4306      </td>
4307    </tr>
4308    <tr>
4309      <td style="vertical-align: top;">29/11/07</td>
4310      <td style="vertical-align: top;">SR</td>
4311      <td style="vertical-align: top;">3.4a</td>
4312      <td style="vertical-align: top;">N</td>
4313      <td style="vertical-align: top;">Pressure boundary conditions for
4314vertical walls added to the multigrid solver. They are applied using
4315new wall flag arrays (<span style="font-family: Courier New,Courier,monospace;">wall_flags_..</span>)
4316which are defined for each grid level. New argument<span style="font-family: Courier New,Courier,monospace;"> gls </span>added
4317to routine<span style="font-family: Courier New,Courier,monospace;">
4318user_init_grid </span>(<span style="font-family: Courier New,Courier,monospace;">user_interface</span>).<br>
4319      <br>
4320Plant canopy model of Watanabe (2004,BLM 112,307-341) added. &nbsp;It
4321can be switched on by the new inipar parameter <span style="font-family: Courier New,Courier,monospace;">plant_canopy</span>.
4322The inipar parameter<span style="font-family: Courier New,Courier,monospace;"> canopy_mode </span>can
4323be used to prescribe a plant canopy type. The default case is a
4324homogeneous plant canopy. Heterogeneous distributions of the leaf area
4325density and the canopy drag coefficient can be defined in the new
4326routine<span style="font-family: Courier New,Courier,monospace;">
4327user_init_plant_canopy </span>(<span style="font-family: Courier New,Courier,monospace;">user_interface</span>).
4328The inipar parameters <span style="font-family: Courier New,Courier,monospace;">lad_surface</span>,<span style="font-family: Courier New,Courier,monospace;">
4329lad_vertical_gradient </span>and<span style="font-family: Courier New,Courier,monospace;">
4330lad_vertical_gradient_level </span>can be used to prescribe the
4331vertical profile of leaf area density. The inipar parameter<span style="font-family: Courier New,Courier,monospace;"> drag_coefficient </span>determines
4332the canopy drag coefficient. Finally, the inipar parameter<span style="font-family: Courier New,Courier,monospace;"> pch_index </span>determines
4333the index of the upper boundary of the plant canopy.&nbsp; <br>
4334      <br>
4335Allow new case<span style="font-family: Courier New,Courier,monospace;">
4336bc_uv_t </span>= <span style="font-style: italic;">'dirichlet_0'</span>
4337for channel flow.<br>
4338      <br>
4339For unknown variables (CASE DEFAULT) call new subroutine<span style="font-family: Courier New,Courier,monospace;">
4340user_data_output_dvrp</span>.<br>
4341      <br>
4342Frequence of sorting particles can be controlled with new particles_par
4343parameter<span style="font-family: Courier New,Courier,monospace;">
4344dt_sort_particles</span>. Sorting is moved from the SGS timestep loop in<span style="font-family: Courier New,Courier,monospace;"> advec_particles </span>after
4345the end of this loop.</td>
4346      <td style="vertical-align: top;">advec_particles,
4347check_parameters, data_output_dvrp, header, init_3d_model, init_grid,
4348init_particles, init_pegrid, modules, package_parin,
4349parin,&nbsp;read_var_list,&nbsp;user_interface, write_var_list<br>
4350      <br>
4351      <span style="font-weight: bold;">new:</span><br>
4352plant_canopy_model</td>
4353    </tr>
4354    <tr>
4355      <td style="vertical-align: top;">&nbsp;</td>
4356      <td style="vertical-align: top;">&nbsp;</td>
4357      <td style="vertical-align: top;">&nbsp;</td>
4358      <td style="vertical-align: top;">C</td>
4359      <td style="vertical-align: top;">Redefine initial<span style="font-family: Courier New,Courier,monospace;"> nzb_local </span>as
4360the actual total size of topography (later the extent of topography in<span style="font-family: Courier New,Courier,monospace;"> nzb_local </span>is
4361reduced by 1dx at the E topography walls and by 1dy at the N topography
4362walls to form the basis for<span style="font-family: Courier New,Courier,monospace;"> nzb_s_inner</span>);
4363for consistency redefine 'single_building' case.<br>
4364      <br>
4365Vertical profiles now based on<span style="font-family: Courier New,Courier,monospace;"> nzb_s_inner</span>;
4366they are divided by<span style="font-family: Courier New,Courier,monospace;"> ngp_2dh_s_inner </span>(scalars,
4367procucts of scalars) and<span style="font-family: Courier New,Courier,monospace;"> ngp_2dh </span>(staggered
4368velocity components and their products, procucts of scalars and
4369velocity components), respectively.<br>
4370      <br>
4371Allow two instead of one digit to specify isosurface and slicer
4372variables.<br>
4373      <br>
4374Status of 3D-volume NetCDF data file only depends on switch<span style="font-family: Courier New,Courier,monospace;"> netcdf_64bit_3d </span>(check_open).<br>
4375      <br>
4376      <span style="font-family: Courier New,Courier,monospace;">prognostic_equations
4377      </span>include the respective<span style="font-family: Courier New,Courier,monospace;"> wall_*flux </span>in
4378the parameter list of calls of<span style="font-family: Courier New,Courier,monospace;"> diffusion_s</span>.
4379Same as before, only the values<span style="font-family: Courier New,Courier,monospace;"> of
4380wall_heatflux(0:4) </span>can be assigned. At present,<span style="font-family: Courier New,Courier,monospace;">&nbsp;
4381wall_humidityflux</span>,<span style="font-family: Courier New,Courier,monospace;"> wall_qflux</span>,<span style="font-family: Courier New,Courier,monospace;"> wall_salinityflux</span>,
4382and<span style="font-family: Courier New,Courier,monospace;">
4383wall_scalarflux </span>are kept zero.<span style="font-family: Courier New,Courier,monospace;"> diffusion_s </span>uses
4384the respective<span style="font-family: Courier New,Courier,monospace;">
4385wall_*flux </span>instead of<span style="font-family: Courier New,Courier,monospace;"> wall_heatflux</span>.
4386This update serves two purposes: - it avoids errors in calculations
4387with humidity/scalar/salinity and prescribed non-zero wall heatflux, -
4388it prepares PALM for a possible assignment of wall fluxes of
4389humidity/scalar/salinity in a future releases.</td>
4390      <td style="vertical-align: top;">buoyancy,
4391check_open, data_output_dvrp, diffusion_s, diffusivities,
4392flow_statistics, header, init_3d_model, init_dvrp, init_grid, modules,
4393prognostic_equations</td>
4394    </tr>
4395    <tr>
4396      <td style="vertical-align: top;">&nbsp;</td>
4397      <td style="vertical-align: top;">&nbsp;</td>
4398      <td style="vertical-align: top;">&nbsp;</td>
4399      <td style="vertical-align: top;">E</td>
4400      <td style="vertical-align: top;">Bugfix: summation of<span style="font-family: Courier New,Courier,monospace;"> sums_l_l </span>(<span style="font-family: Courier New,Courier,monospace;">diffusivities</span>).<br>
4401      <br>
4402Several bugfixes in the ocean part: Initial density<span style="font-family: Courier New,Courier,monospace;"> rho </span>is
4403calculated (<span style="font-family: Courier New,Courier,monospace;">init_ocean</span>).
4404Error in initializing<span style="font-family: Courier New,Courier,monospace;"> u_init </span>and<span style="font-family: Courier New,Courier,monospace;"> v_init </span>removed
4405(<span style="font-family: Courier New,Courier,monospace;">check_parameters</span>).
4406Calculation of density flux now starts from<span style="font-family: Courier New,Courier,monospace;"> nzb+1 </span>(<span style="font-family: Courier New,Courier,monospace;">production_e</span>).<br>
4407      <br>
4408Bugfix: <span style="font-family: Courier New,Courier,monospace;">pleft</span>/<span style="font-family: Courier New,Courier,monospace;">pright</span>
4409changed to <span style="font-family: Courier New,Courier,monospace;">pnorth</span>/<span style="font-family: Courier New,Courier,monospace;">psouth</span> in
4410sendrecv of particle tail numbers along y, small bugfixes in the SGS
4411part (<span style="font-family: Courier New,Courier,monospace;">advec_particles</span>).<br>
4412      <br>
4413Bugfix:<span style="font-family: Courier New,Courier,monospace;">
4414model_string </span>needed a default value (<span style="font-family: Courier New,Courier,monospace;">combine_plot_fields</span>).<br>
4415      <br>
4416Bugfix: wavenumber calculation for even<span style="font-family: Courier New,Courier,monospace;"> nx </span>in
4417routines<span style="font-family: Courier New,Courier,monospace;">
4418maketri </span>(<span style="font-family: Courier New,Courier,monospace;">poisfft</span>).<br>
4419      <br>
4420Bugfix: assignment of fluxes at walls.<br>
4421      <br>
4422Bugfix: absolute value of<span style="font-family: Courier New,Courier,monospace;"> f </span>must be
4423used when calculating the Blackadar mixing length (<span style="font-family: Courier New,Courier,monospace;">init_1d_model</span>).</td>
4424      <td style="vertical-align: top;">advec_particles,
4425check_parameters, combine_plot_fields, diffusion_s, diffusivities,
4426init_ocean, init_1d_model, poisfft, production_e</td>
4427    </tr>
4428    <tr>
4429      <td style="vertical-align: top;">16/09/08</td>
4430      <td style="vertical-align: top;">SR</td>
4431      <td style="vertical-align: top;">3.5</td>
4432      <td style="vertical-align: top;">N</td>
4433      <td style="vertical-align: top;">The
4434turbulence recycling method of Kataoka and Mizuno (2002) has been
4435implemented. A precursor run must be used to initialize the main run
4436with a quasi-stationary turbulence state (see <span style="font-family: monospace;">initializing_actions</span> = <span style="font-style: italic;">'read_data_for_recycling'</span>).
4437The precursor run may have a smaller domain than the main run, which
4438helps to spare CPU time. New parameters for steering the recycling
4439method are <span style="font-family: monospace;">turbulent_inflow</span>,
4440      <span style="font-family: monospace;">recycling_width</span>, <span style="font-family: monospace;">inflow_damping_height</span>, and <span style="font-family: monospace;">inflow_damping_width</span>.<br>
4441      <br>
4442One
4443new feature related with the recycling method is that within a job
4444chain, the number of processors or the virtual processor grid is now
4445allowed to&nbsp;change. Such a change modifies the domain decomposition
4446and requires that the PEs within a restart job have to know from which
4447file(s) they have to read their restart data (up to now there has been
4448a one to one relation between the restart files and the PEs, i.e.
4449processor 4 only reads data from file "_0004"). Informations about the
4450subdomain index limits of all restart files are now written by PE0 (to
4451file "_0000"). Also, all variables containing global values which do
4452not depend on the subdomain are written to file "_0000" only. In a
4453restart run, this file is opened by all PEs to read these global values
4454and the informations about the subdomain index limits. Depending on
4455these index limit information it is decided which restart file(s)
4456has/have to be opened in order to read the complete data necessary for
4457the current subdomain.<br>
4458      <br>
4459The plant canopy model has been extended
4460to the prognostic equation for&nbsp;the potential temperature
4461and&nbsp;passive scalar, as proposed by Watanabe (2004) and Shaw and
4462Schumann (1992).<br>
4463      <br>
4464Particle advection adjusted for ocean runs.<br>
4465      <br>
4466Grid
4467coarsening (multigrid method) is limited to subdomains (i.e. no
4468collection of data on PE0 for further coarsening beyond subdomains) if <span style="font-family: monospace;">mg_switch_to_pe0_level</span> = <span style="font-style: italic;">-1</span>.<br>
4469      <br>
4470User-defined spectra are allowed.<br>
4471      <br>
4472Output of <span style="font-family: monospace;">q*2</span> profile and
4473      <span style="font-family: monospace;">w"u"0</span>, <span style="font-family: monospace;">w"v"0</span>, <span style="font-family: monospace;">w"q"0</span> timeseries are added.<br>
4474      <br>
4475Argument<span style="font-family: monospace;"> -c </span>introduced to
4476most of the subjob calls, which allows the user to choose his own job
4477catalog by setting the environment variable<span style="font-family: monospace;"> job_catalog </span>in the
4478configuration file (default is <span style="font-family: monospace;">~/job_queue</span>).<br>
4479      <br>
4480This release contains first adjustments for the SGI-ICE system at HLRN.<br>
4481      <br>
4482      <span style="font-weight: bold;">Attention: On the
4483SGI-ICE,&nbsp;runs are still aborted or are hanging for unknown reasons
4484from time to time.</span></td>
4485      <td style="vertical-align: top;">advec_particles, calc_spectra,
4486check_open, check_parameters, data_output_spectra,
4487header, init_3d_model, init_particles, init_pegrid, modules, netcdf,
4488parin, particle_boundary_conds, plant_canopy_model,
4489prognostic_equations, read_3d_binary, read_var_list, time_integration,
4490user_interface, write_3d_binary, write_var_list<br>
4491      <br>
4492      <span style="font-weight: bold;">new:</span><br>
4493inflow_turbulence<br>
4494      </td>
4495    </tr>
4496    <tr>
4497      <td align="undefined" valign="undefined">&nbsp;</td>
4498      <td align="undefined" valign="undefined">&nbsp;</td>
4499      <td align="undefined" valign="undefined">&nbsp;</td>
4500      <td style="vertical-align: top;">C</td>
4501      <td style="vertical-align: top;">Allow 100 spectra levels instead
4502of 10 for consistency with define_netcdf_header. (<span style="font-family: monospace;">calc_spectra</span>, <span style="font-family: monospace;">data_output_spectra</span>, <span style="font-family: monospace;">header</span>, <span style="font-family: monospace;">modules</span>, <span style="font-family: monospace;">netcdf</span>)<br>
4503      <br>
4504Modification
4505of the integrated version of the profile function for momentum for
4506unstable stratification; more consistent flux definitions. (<span style="font-family: monospace;">wall_fluxes</span>, <span style="font-family: monospace;">production_e</span>)<br>
4507      <br>
4508Strict grid matching along z is not needed for mg-solver. (<span style="font-family: monospace;">check_parameters</span>)<br>
4509      <br>
4510Sharp
4511lateral edges of the plant canopy introduced. Before, smaller values of
4512the leaf area density than those applied in the prognostic equation for
4513the vertical velocity were used in the prognostic equations for u and v
4514at the boundaries of the plant_canopy. (<span style="font-family: monospace;">init_3d_model</span>)<br>
4515      <br>
4516-<span style="font-family: monospace;">cross_ts_*</span> (<span style="font-family: monospace;">read_var_list</span>, <span style="font-family: monospace;">write_var_list</span>), -<span style="font-family: monospace;">dopr_time_count</span>, old profil
4517parameters (<span style="font-family: monospace;">cross_...</span>, <span style="font-family: monospace;">dopr_crossindex</span>,&nbsp;<span style="font-family: monospace;">profile_***</span>) removed. (<span style="font-family: monospace;">read_3d_binary</span>, <span style="font-family: monospace;">write_3d_binary</span>)<br>
4518      <br>
4519Reading/writing of <span style="font-family: monospace;">hom_sum</span>,
4520      <span style="font-family: monospace;">volume_flow_area</span>, <span style="font-family: monospace;">volume_flow_initial</span> is moved
4521from <span style="font-family: monospace;">..._3d_binary</span> to <span style="font-family: monospace;">..._var_list</span>, <span style="font-family: monospace;">hom_sum</span> is now allocated in <span style="font-family: monospace;">parin</span> instead of <span style="font-family: monospace;">init_3d_model</span>.<br>
4522      <br>
4523      <span style="font-family: monospace;">npex</span>, <span style="font-family: monospace;">npey</span> moved from inipar- to
4524d3par-namelist. (<span style="font-family: monospace;">parin</span>)<br>
4525      <br>
4526      <span style="font-family: monospace;">myid_char14</span>
4527removed. This was used, since on IBM machines the process rank could be
4528changed when the final communicator was defined, in order to save the
4529preliminary processor-id for opening the binary output file for
4530restarts (unit 14), because otherwise a mismatch occured when reading
4531this file in a restart job. This mechanism is not needed any more since
4532the subdomain informations are now contained in file _0000. (<span style="font-family: monospace;">parin</span>, <span style="font-family: monospace;">check_open</span>)<br>
4533      <br>
4534Transpositions for the 2D domain decomposition have been optimized by
4535using <span style="font-family: monospace;">f_inv</span>
4536as an automatic array instead of providing the memory by a dummy
4537argument. This spares one copy loop per transposition. Order of indices
4538in the 3D loops in some of the transpose routines have been rearranged
4539for better cache utilization. Both have been suggested by Roland
4540Richter (SGI) as part of the HLRN-II benchmark process. (<span style="font-family: monospace;">transpose</span>)<br>
4541      <br>
4542Workaround for getting information about the coupling mode, because the<span style="font-family: monospace;"> -env </span>Option (mpiexec) is not
4543available on many systems (SGI, lcxt4 at&nbsp; Bergen Center for
4544Computational Science). (<span style="font-family: monospace;">palm</span>,
4545      <span style="font-family: monospace;">mrun</span>)<br>
4546      <br>
4547Format adjustments in order to allow CPU# &gt; 999. (<span style="font-family: monospace;">cpu_statistics</span>)<br>
4548      <br>
4549Provisional solution for run_control_1d output: add 'CALL check_open(
455015 )'. (<span style="font-family: monospace;">init_1d_model</span>)<br>
4551      <br>
4552Subdomain data are read into temporary arrays <span style="font-family: monospace;">pf_tmp</span> / <span style="font-family: monospace;">pf3d_tmp</span> in order to avoid
4553INTEL compiler warnings about (automatic) creation of temporary arrays.
4554(<span style="font-family: monospace;">combine_plot_fields</span>)<br>
4555      <br>
4556Time coordinate t=0 stored on netcdf-file only if an output is required
4557for this time for at least one of the profiles.<br>
4558      <br>
4559Output of spline timeseries <span style="font-family: monospace;">splptx</span>
4560etc. removed. (<span style="font-family: monospace;">flow_statistics</span>)</td>
4561      <td style="vertical-align: top;">advec_s_ups,
4562advec_u_ups, advec_v_ups, advec_w_ups, calc_spectra, check_open,
4563check_parameters, cpu_statistics, data_output_profiles,
4564data_output_spectra, flow_statistics, header, init_1d_model,
4565init_3d_model, modules, netcdf, palm, parin, poisfft, production_e,
4566read_3d_binary, read_var_list, transpose, wall_fluxes, write_3d_binary,
4567write_var_list<br>
4568      </td>
4569    </tr>
4570    <tr>
4571      <td align="undefined" valign="undefined">&nbsp;</td>
4572      <td align="undefined" valign="undefined">&nbsp;</td>
4573      <td align="undefined" valign="undefined">&nbsp;</td>
4574      <td style="vertical-align: top;">E</td>
4575      <td style="vertical-align: top;">Bugfix:
4576modification of the calculation of the vertical turbulent momentum
4577fluxes u'w' and v'w'; the first usws that is computed corresponds to
4578-u'w'/u* and not as priorily assumed to (-u'w')**0.5, the first vsws
4579that is computed corresponds to -v'w'/u* and not as priorily assumed to
4580(-v'w')**0.5. Therefore, the intermediate result for usws has to be
4581multiplied by -u* instead by itself in order to get u'w'. Accordingly,
4582the intermediate result for vsws has to be multiplied by -u* instead by
4583itself in order to get v'w'. As u* is calculated for the position of a
4584scalar an additional interpolation of u* to the position of u and v,
4585respectively, is necessary. As u* is not determined for the ghost
4586points on each PE, an additional exchange of information from
4587neighbouring PEs is necessary. Tests showed that this
4588decreases u* by some 10% and increases TKE and momentum fluxes by some
458910% because friction was underestimated and momentum fluxes were
4590wrongly calculated due to the bug. (<span style="font-family: monospace;">prandtl_fluxes</span>, <span style="font-family: monospace;">wall_fluxes</span>)<br>
4591      <br>
4592      <span style="font-weight: bold;">Attention:</span> <br>
4593      <span style="font-weight: bold;">The content of the
4594testresult-file (run control output) has changed
4595due to the above bugfix.</span><br>
4596      <br>
4597Bugfix:
4598change definition of us_wall from 1D to 2D.&nbsp;<br>
4599      <br>
4600Bugfix: exponent = 1.0 / ( ny + 1.0 ) in calc_spectra_x. (<span style="font-family: monospace;">calc_spectra</span>)<br>
4601      <br>
4602Bugfix: calculation of horizontal fluxes at vertical walls. (<span style="font-family: monospace;">diffusion_s</span>)<br>
4603      <br>
4604Bugfix: zero assignments to tendency arrays in case of restarts. (<span style="font-family: monospace;">init_3d_model</span>)<br>
4605      <br>
4606Bugfix: wrong grid level used in multigrid solver, routine <span style="font-family: monospace;">restrict</span>. (<span style="font-family: monospace;">poismg</span>)<br>
4607      <br>
4608Bugfix:
4609Construction of vertical profiles when 10 gradients have been specified
4610in the parameter list (ug, vg, pt, q, sa, lad). (<span style="font-family: monospace;">check_parameters</span>)<br>
4611      <br>
4612Bugfix: Determination of the number of vertical levels for which
4613spectra shall be output - 100 replaced by 10. (<span style="font-family: monospace;">netcdf</span>)<br>
4614      <br>
4615Bugfix:
4616Lengths of those characters that are needed for the output of the
4617characteristic levels of potential temperature, the geostrophic wind,
4618scalar concentration, humidity and leaf area density to the header file
4619has been increased. (<span style="font-family: monospace;">header</span>)<br>
4620      <br>
4621Bugfix: add ')' in <span style="font-family: monospace;">user_read_restart_data</span>.<br>
4622      <br>
4623The leaf area density is explicitly set to its surface value at k=0. (<span style="font-family: monospace;">check_parameters</span>)<br>
4624      <br>
4625Introduce<span style="font-family: monospace;"> prefix_chr</span> to
4626ensure unique dvrp_file path.<br>
4627      <br>
4628small bugfixes for <span style="font-family: monospace;">user_interface</span>
4629sample code (comments):<br>
4630- initialize ustvst with 0.0 as it is now computed only until <span style="font-family: monospace;">nxr</span> and <span style="font-family: monospace;">nyn</span><br>
4631- two ALLOCATE statements moved from <span style="font-family: monospace;">user_read_restart_data</span> back to <span style="font-family: monospace;">user_init</span><br>
4632- remove 'READ (13) u2_av' statement in <span style="font-family: monospace;">user_read_restart_data</span><br>
4633      <br>
4634Bugfix: remove IF statement in <span style="font-family: monospace;">plant_canopy_model_ij</span>.<br>
4635      <br>
4636Bugfix: divide sums(k,8) (e) and sums(k,34) (e*) by
4637ngp_2dh_s_inner(k,sr) (like other scalars). (<span style="font-family: monospace;">flow_statistics</span>)<br>
4638      <br>
4639Bugfix: <span style="font-family: monospace;">dopr_time_count</span>
4640was written on the binary file, which caused that NetCDF files newly
4641created by restart files (no append of existing files!) contained
4642uneccessary time levels. (<span style="font-family: monospace;">read_3d_binary</span>,
4643      <span style="font-family: monospace;">write_3d_binary</span>)<br>
4644      <br>
4645Bugfix: extra '*' removed in user_statistics sample code. (<span style="font-family: monospace;">user_interface</span>)<br>
4646      <br>
4647Bugfix: a stop command was missing in some cases of the parallel
4648branch. (<span style="font-family: monospace;">local_stop</span>)<br>
4649      <br>
4650Bugfix in volume flow control for non-cyclic boundary conditions. (<span style="font-family: monospace;">pres</span>)<br>
4651      <br>
4652Bugfix: misplaced #endif directives. (<span style="font-family: monospace;">combine_plot_fields</span>)<br>
4653      <br>
4654Data are collected from PE0 in an ordered sequence which seems to avoid
4655hanging of processes on SGI-ICE. (<span style="font-family: monospace;">cpu_statistics</span>)</td>
4656      <td style="vertical-align: top;">calc_spectra,
4657check_parameters, cpu_statistics, diffusion_s, flow_statistics,
4658init_3d_model, init_dvrp, local_stop, plant_canopy_model, poismg,
4659prandtl_fluxes, pres, read_3d_binary, user_interface, wall_fluxes,
4660write_3d_binary<br>
4661      </td>
4662    </tr>
4663   
4664   
4665   
4666   
4667   
4668   
4669  </tbody>
4670</table>
4671
4672&nbsp;<b><blink>Attention:</blink></b>
4673If<tt> make </tt>is not used
4674for
4675compiling,
4676<b>all routines</b> have to be re-compiled after every
4677change
4678to <b>modules.f90!</b>
4679<br>
4680
4681&nbsp;
4682<br>
4683
4684&nbsp;
4685<h2><a name="Kapitel2.0"></a>2.0&nbsp; How
4686to change the model source
4687code</h2>
4688
4689Currently
4690(Sep 23rd, 2009), only selected users are allowed to commit changes to
4691the repository. Some rules about how to check in modified code will be
4692added later.<br>
4693
4694<h2>
4695<a name="Kapitel3.0"></a>3.0&nbsp; Description
4696of selected parts of the
4697model source code</h2>
4698
4699
4700<p>This section gives links to existing descriptions about special
4701parts of the PALM code, e.g. special numerical methods that are used
4702(including mathematical background). Documents are stored in single
4703files with different formats. Some are in German (sorry for the
4704inconvenience).
4705<br>
4706&nbsp;
4707</p>
4708
4709<ul>
4710
4711  <li> <a name="UPS"></a>upstream-spline
4712advection scheme ( <a href="methods/upstream_spline/ups.pdf">.pdf</a>
4713, only in German)</li>
4714  <li> <a name="Cloud_physics"></a>cloud
4715physics module ( <a href="methods/cloud_physics/cloud_physics.pdf">.pdf</a>
4716)</li>
4717  <li> <a name="Bitkompression"></a>data compression with <a href="methods/bit_compression/bit_compression.html">bit shifting method</a>
4718(only in German)<br>
4719  </li>
4720  <li>Runge-Kutta
4721time integration scheme ( <a href="methods/runge_kutta/runge_kutta.pdf">.pdf</a>
4722, only in German)</li>
4723</ul>
4724
4725<br>
4726
4727&nbsp;
4728<br>
4729
4730&nbsp;
4731<br>
4732
4733&nbsp;
4734<br>
4735
4736&nbsp;
4737<br>
4738
4739&nbsp;
4740<br>
4741
4742&nbsp;
4743<br>
4744
4745&nbsp;
4746<br>
4747
4748&nbsp;
4749</body></html>
Note: See TracBrowser for help on using the repository browser.