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

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

small changes to documentation

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