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

Last change on this file since 77 was 77, checked in by raasch, 14 years ago


particle reflection from vertical walls implemented, particle SGS model adjusted to walls

Wall functions for vertical walls now include diabatic conditions. New subroutines wall_fluxes, wall_fluxes_e. New 4D-array rif_wall.

new d3par-parameter netcdf_64bit_3d to switch on 64bit offset only for 3D files

new d3par-parameter dt_max to define the maximum value for the allowed timestep

new inipar-parameter loop_optimization to control the loop optimization method

new inipar-parameter pt_refrence. If given, this value is used as the reference that in buoyancy terms (otherwise, the instantaneous horizontally averaged temperature is used).

new user interface user_advec_particles

new initializing action "by_user" calls user_init_3d_model and allows the initial setting of all 3d arrays

topography height informations are stored on arrays zu_s_inner and zw_w_inner and output to the 2d/3d NetCDF files

samples added to the user interface which show how to add user-define time series quantities.

calculation/output of precipitation amount, precipitation rate and z0 (by setting "pra*", "prr*", "z0*" with data_output). The time interval on which the precipitation amount is defined is set by new d3par-parameter precipitation_amount_interval

unit 9 opened for debug output (file DEBUG_<pe#>)

Makefile, advec_particles, average_3d_data, buoyancy, calc_precipitation, check_open, check_parameters, data_output_2d, diffusion_e, diffusion_u, diffusion_v, diffusion_w, diffusivities, header, impact_of_latent_heat, init_particles, init_3d_model, modules, netcdf, parin, production_e, read_var_list, read_3d_binary, sum_up_3d_data, user_interface, write_var_list, write_3d_binary

New: wall_fluxes


General revision of non-cyclic horizontal boundary conditions: radiation boundary conditions are now used instead of Neumann conditions at the outflow (calculation needs velocity values for t-dt, which are stored on new arrays u_m_l, u_m_r, etc.), calculation of mean outflow is not needed any more, volume flow control is added for the outflow boundary (currently only for the north boundary!!), additional gridpoints along x and y (uxrp, vynp) are not needed any more, routine "boundary_conds" now operates on timelevel t+dt and is not split in two parts (main, uvw_outflow) any more, Neumann boundary conditions at inflow/outflow in case of non-cyclic boundary conditions for all 2d-arrays that are handled by exchange_horiz_2d

The FFT-method for solving the Poisson-equation is now working with Neumann boundary conditions both at the bottom and the top. This requires adjustments of the tridiagonal coefficients and subtracting the horizontally averaged mean from the vertical velocity field.

+age_m in particle_type

Particles-package is now part of the default code ("-p particles" is not needed any more).

Move call of user_actions( 'after_integration' ) below increment of times
and counters. user_actions is now called for each statistic region and has as an argument the number of the respective region (sr)

d3par-parameter data_output_ts removed. Timeseries output for "profil" removed. Timeseries are now switched on by dt_dots. Timeseries data is collected in flow_statistics.

Initial velocities at nzb+1 are regarded for volume flow control in case they have been set zero before (to avoid small timesteps); see new internal parameters u/v_nzb_p1_for_vfc.

q is not allowed to become negative (prognostic_equations).

poisfft_init is only called if fft-solver is switched on (init_pegrid).

d3par-parameter moisture renamed to humidity.

Subversion global revision number is read from mrun and added to the run description header and to the run control (_rc) file.

vtk directives removed from main program.

The uitility routine interpret_config reads PALM environment variables from NAMELIST instead using the system call GETENV.

advec_u_pw, advec_u_up, advec_v_pw, advec_v_up, asselin_filter, check_parameters, coriolis, data_output_dvrp, data_output_ptseries, data_output_ts, data_output_2d, data_output_3d, diffusion_u, diffusion_v, exchange_horiz, exchange_horiz_2d, flow_statistics, header, init_grid, init_particles, init_pegrid, init_rankine, init_pt_anomaly, init_1d_model, init_3d_model, modules, palm, package_parin, parin, poisfft, poismg, prandtl_fluxes, pres, production_e, prognostic_equations, read_var_list, read_3d_binary, sor, swap_timelevel, time_integration, write_var_list, write_3d_binary


Bugfix: preset of tendencies te_em, te_um, te_vm in init_1d_model

Bugfix in sample for reading user defined data from restart file (user_init)

Bugfix in setting diffusivities for cases with the outflow damping layer extending over more than one subdomain (init_3d_model)

Check for possible negative humidities in the initial humidity profile.

in Makefile, default suffixes removed from the suffix list to avoid calling of m2c in
# case of .mod files

check_parameters, init_1d_model, init_3d_model, user_interface

  • Property svn:keywords set to Id
File size: 140.5 KB
1<!DOCTYPE html PUBLIC "-//w3c//dtd html 4.0 transitional//en">
3<meta content="text/html; charset=ISO-8859-1" http-equiv="Content-Type"> <meta content="Mozilla/4.73 [en] (X11; U; HP-UX B.10.20 9000/782) [Netscape]" name="GENERATOR"> <meta content="Siegfried Raasch" name="Author"> <meta content="parallel LES model" name="Keywords"><title>PALM technical/numerical documentation</title></head>
4<body><font size="+4">PALM&nbsp;&nbsp;
7<b>L</b>ES <b>m</b>odel
8<br><hr width="100%">
9<br><font size="+2">technical/numerical documentation</font>
12<br><table nosave="" cellpadding="0" cellspacing="0"> <caption>&nbsp; <br> </caption><tbody>
13</tbody><tbody> </tbody> <tbody> <tr nosave=""> <td nosave=""><b>Current
14model version:</b></td> <td><span style="font-weight: bold;">3.2</span></td> </tr>
15<tr nosave=""> <td nosave=""><b>Last
16change of this document</b>:&nbsp;</td> <td nosave=""><b>$Id: technical_documentation.html 77 2007-03-29 04:26:56Z raasch $</b></td> </tr>
18</table><hr width="100%">
19<p><font size="+2">Table of contents</font>
22</p><ul> <a href="#Kapitel1.0">1.0</a>&nbsp;
23History of changes <p><a href="#Kapitel2.0">2.0</a>&nbsp;
24How to change the model source
25code </p> <p><a href="#Kapitel3.0">3.0</a>&nbsp;
26Description of selected parts
28the model source code <br>
30</ul><b>Please note: Parts of this document are still in
31German. We
33for any inconvenience.</b>
35<h2><a name="Kapitel1.0"></a>1.0&nbsp;
36History of changes</h2>
37The following table documents all changes to the model since July, 7th
381998. Entries in the fourth column specify the type of the change:
40of existing code (C), new code (N) or bugfix (B). More detailed
42about the changes may be found in the header comment lines of the
46<br><table nosave="" style="width: 100%;" border="1"> <caption>&nbsp; <br> </caption><tbody>
47</tbody><tbody> </tbody> <tbody> <tr> <td><b>date</b></td>
48<td><b>author</b></td> <td><b>model</b>
49<br> <b>version</b></td> <td><b>type</b></td>
50<td><b>description</b></td> <td><b>affected
51routines</b></td> </tr> <tr nosave="" valign="top"> <td>06/07/98</td> <td>SR</td>
52<td>1.0</td> <td>C</td> <td nosave="">&Auml;nderung
53von Default-Werten
54(initializing_actions, end_time,
55fcl_factor, use_prior_plot1d_parameters), zus&auml;tzliche
57von Parametern auf Zul&auml;ssigkeit (prandtl_layer, psolver, nx,
60fcl_factor), H&ouml;he der Schnittebenen der Horizontalschnitte
63Plots exakt ausgegeben (uv- bzw. w-Gitter).</td> <td>modules,
64check_parameters, plot_2d</td> </tr> <tr nosave="" valign="top"> <td>"</td> <td>SR</td>
65<td>1.0</td> <td>N</td> <td>Neues Modul
66test_variables wird in (fast) allen
67Programmteilen benutzt
68(USE). <b>Wichtig</b>: dieses Modul steht in der Datei <tt>module_test.f90.
69D</tt>iese Datei mu&szlig; in der mrun- und add_library -
71bei der Variablen <tt>module_files</tt>
72aufgef&uuml;hrt werden.</td> <td nosave="">(fast)
73alle&nbsp; <br>
74Neu: module_test</td> </tr> <tr nosave="" valign="top"> <td>16/07/98</td> <td>SR</td>
75<td>1.0</td> <td>N</td> <td nosave="">Anpassung
76an die T3E-Rechner in Juelich (cpp -
77Direktiven)</td> <td>advec_s_bc, check_open,
78check_parameters, cpu_zeitmessung,
80local_getenv, local_system, local_tremain, local_tremain_ini, poisfft</td>
81</tr> <tr nosave="" valign="top"> <td>24/07/98</td>
82<td>MS</td> <td>1.0</td> <td>C</td>
83<td nosave="">Anpassung des Druckloesealgorithmusses an
84Vorgehensweise von
85Schmidt, Schumann und Volkert (DFVLR-Mitteilung 84-15, S.
8620-26)&nbsp;</td> <td>poisfft</td> </tr> <tr nosave="" valign="top"> <td>27/07/98</td>
87<td>MS</td> <td>1.0</td> <td>C</td>
88<td nosave="">Berechnung von l in maketri geschieht nun
89ausserhalb der k-Schleife,
90da unabhaengig von k, dadurch Rechenzeitersparnis&nbsp;</td> <td>poisfft</td>
91</tr> <tr nosave="" valign="top"> <td>05/08/98</td>
92<td>SR</td> <td>1.0</td> <td>C</td>
93<td>Entfernung der Sonderbehandlung der Advektionsterme
95bei k=1. Terme werden nun &uuml;berall gleich berechnet. Evtl.
97Erh&ouml;hung der Varianzen in Oberfl&auml;chenn&auml;he.</td>
98<td nosave="">advec_u_pw, advec_v_pw, advec_w_pw</td>
99</tr> <tr nosave="" valign="top"> <td nosave="">"</td> <td>SR</td> <td>1.0</td>
100<td>C</td> <td>Mischungsweganpassung (s.
101adjust_mixing_length) erfolgt nur
102noch bei
103k=1. Unrealistische sekund&auml;re Maxima in den Km-Profilen
106Prandtl-Schicht werden damit vermieden. Leichte &Auml;nderungen in
108oberfl&auml;chennahen Turbulenzgr&ouml;&szlig;en sind die
109Folge.</td> <td>diffusivities</td> </tr> <tr nosave="" valign="top"> <td>"</td> <td>SR</td>
110<td>1.0</td> <td>B</td> <td>Falsche
111Berechnung der ben&ouml;tigten CPU-Zeit pro Sekunde
113Zeit bei Fortsetzungsl&auml;ufen korrigiert.&nbsp; <p>Berechnung
114von cross_uxmin(1) und cross_uxmax(1) aus den
115Werten von
116ug und vg entfernt. Lieferte falsche Wertebereiche f&uuml;r Plots
119wenn im ersten Koordinatenkreuz nicht die Windgeschwindigkeiten
121wurden.</p> </td> <td nosave="">header,
122check_parameters</td> </tr> <tr nosave="" valign="top"> <td nosave="">"</td> <td>SR</td>
123<td>1.0</td> <td>N</td> <td>Das
124erlaubte Maximum und Minimum der Rif-Zahl ist nun mittels
125der Initialparameter
126rif_max und rif_min einstellbar (Werte waren bisher fest auf -2.0, +1.0
127eingestellt).</td> <td>check_parameters, header,
128init_1d_model, modules, parin,
130read_var_list, write_var_list</td> </tr> <tr nosave="" valign="top"> <td nosave="">23/09/98</td>
131<td>SR</td> <td>1.0</td> <td>B</td>
132<td>Initialisierung von Feldern im Fall von initializing_action =
134und "<i>set_1d-model_profiles</i>" korrigiert.&nbsp; <p>2D-Plotausgabe
135von u* und theta* korrigiert. Hier wurden
136bisher falsche
137Felder herausgeschrieben.&nbsp; </p> <p>Bei
138SOR-Aufrufen war bisher dp nicht initialisiert.
139Entsprechend ge&auml;ndert.</p> </td> <td>init_3d_model,
140plot_2d, pres</td> </tr> <tr nosave="" valign="top"> <td>"</td> <td>SR</td>
141<td>1.0</td> <td>C</td> <td nosave="">Ausgabeformate
142f&uuml;r Statistik-Ausgaben auf
144um einige Kommastellen erweitert.&nbsp; <p>Lieferung von
145ausf&uuml;hrlicheren Informationen bei
147durch Unterschreitung des minimal erlaubten Zeitschritts.</p> </td>
148<td>run_control, timestep</td> </tr> <tr nosave="" valign="top"> <td nosave="">"</td>
149<td>SR</td> <td>1.0</td> <td>N</td>
150<td>Rechnungen mit geneigter Ebene zur Simulation von
152sind erlaubt. Gestartet und gesteuert werden sie mit dem
153Intialisierungsparameter <tt>alpha_surface</tt>.
154Realisiert wird die geneigte Ebene durch entsprechende
156des Schwerkraftvektors. Dadurch erh&auml;lt auch die u-Komponente
159einen Anteil der Auftriebskraft.&nbsp; <p>Diese
160Implementierung ist noch nicht abgeschlossen. Die
161Simulation von
162Kaltluftabfl&uuml;ssen erfordert bisher noch Eingriffe "von Hand".</p>
163</td> <td>buoyancy, check_parameters, header, leap_frog,
165parin, prandtl_fluxes,
166read_var_list, write_var_list</td> </tr> <tr nosave="" valign="top"> <td>15/12/98</td> <td>SR</td>
167<td>1.0</td> <td>N</td> <td>Vereinbarung
168einer Cache-Layer zur schnelleren bin&auml;ren
169I/O auf
170T3E-Rechnern.&nbsp; <p>Ermittelung wahrer I/O-Zeiten
171f&uuml;r bin&auml;re
172Ein-/Ausgabe auf
173T3E-Rechnern mit TIMEF.</p> </td> <td nosave="">check_open,&nbsp;
174<br>cpu_zeitmessung, init_3d_model, write_3d_model</td> </tr>
175<tr nosave="" valign="top"> <td nosave="">"</td>
176<td>SR</td> <td>1.0</td> <td>B</td>
177<td>Bekanntgabe von run_description_header an alle
178PE's.&nbsp; <p>Diese Programm&auml;nderung erfordert auf
180zwingend den
181Einsatz der MPI-Version mpt. In dieser neuen Version tritt auch
182der alte Fehler in MPI_ALLREDUCE nicht mehr auf, so da&szlig; ab
184mpt. nicht mehr verwendet werden mu&szlig;.</p> </td>
185<td>parles</td> </tr> <tr nosave="" valign="top"> <td nosave="">05/02/99</td>
186<td>SR</td> <td>1.1</td> <td>C/N</td>
187<td>Implementierung des Upstream-Spline- Verfahrens zur Advektion
188von Impuls
189und skalaren Gr&ouml;&szlig;en (neue UP's, s. rechts).
190Berechnung von
192f&uuml;r spezielle Advektionsverfahren in eigenst&auml;ndiges
195(<tt>init_advec</tt> + eigenes Modul <tt>advection</tt>).
198kann gerechnet werden.&nbsp; <p>Schnelle bin&auml;re I/O
199(s. 15/12/98) wieder abgeschaltet, da
201nicht wieder einlesbar sind. Druckst&ouml;rung (p) wird zu Beginn
202auf 0
203gesetzt, damit sie keine Tendenzen im ersten Zeitschritt hervorruft.</p>
204</td> <td>advec_s_bc, check_open, check_parameters,
207init_3d_model, init_grid, leap_frog, modules, parin, plot_2d, plot_ts,
208read_var_list, timestep, write_3d_binary, write_var_list&nbsp; <p><b>Neu:</b>
210advec_s_ups, advec_u_ups, advec_v_ups, advec_w_ups, init_advec,
212spline_x, spline_y, spline_z</p> </td> </tr> <tr nosave="" valign="top"> <td nosave="">24/02/99</td>
213<td>SR</td> <td>1.1a</td> <td>C/N</td>
214<td>Kleinere Erg&auml;nzungen / &Auml;nderungen
215f&uuml;r Upstream
216- Spline,&nbsp; <br>
217Diverse Verbesserungen bei Berechnung der Diffusionskoeffizienten
219Formulierung von Scherungen, Dissipation gemaess Original - Deardorff -
220Ansatz, Mischungswegreduktion nur, wenn Schichtung sowohl oberhalb als
221auch unterhalb des entsprechenden Gitterpunktes stabil ist),
223bei Spline - Berechnung zur Verhinderung von "&Uuml;berschwingern"</td>
224<td>check_parameters, diffusion_e, diffusion_pt, diffusivities,
226init_advec, long_filter, modules, production_e, spline_x, spline_y,
227spline_z</td> </tr> <tr nosave="" valign="top">
228<td>"</td> <td nosave="">SR</td> <td>1.1a</td>
229<td>N/B</td> <td>Erweiterung des des Bott - Chlond -
230Schemas auf Advektion der
232Korrektur der Dichteberechnung (war falsch bei Galilei-Transformation)</td>
233<td>advec_s_bc, leap_frog</td> </tr> <tr nosave="" valign="top"> <td nosave="">01/03/99</td>
234<td>MS</td> <td>1.1b</td> <td>N</td>
235<td>Kleinere Erg&auml;nzungen f&uuml;r Upstream -
236Spline:&nbsp; <ul> <li>Gradientenkontrolle
237f&uuml;r den nicht-parallelen Teil</li> <li>statistische
238Auswertung &uuml;ber den prozentualen Anteil
241an der Gesamtadvektion fuer nicht-parallelen Teil</li> </ul>
242</td> <td>modules, spline_x, spline_y, spline_z</td>
243</tr> <tr nosave="" valign="top"> <td>"</td>
244<td>SR</td> <td>1.1b</td> <td>N</td>
245<td>Datenkompression f&uuml;r 3D-Plotausgaben</td> <td nosave="">check_open, check_parameters, close_files, header,
247parin, plot_3d&nbsp; <p><b>Neu:</b> <br>
248write_compressed</p> </td> </tr> <tr nosave="" valign="top"> <td nosave="">03/03/99</td>
249<td>SR</td> <td>1.1c</td> <td>B/C</td>
250<td>Schnelle bin&auml;re I/O auf T3E-Rechnern funktioniert
253bin&auml;ren Einlesen d&uuml;rfen Records nicht mit dem Trick "<tt>READ
254(..) idum</tt>" &uuml;berlesen werden. Zeitmessungen auf T3E
257grunds&auml;tzlich mit <tt>TIMEF.</tt></td> <td>check_open,
258cpu_zeitmessung, init_3d_model, modules,
259write_3d_binary</td> </tr> <tr nosave="" valign="top"> <td nosave="">25/03/99</td>
260<td>SR</td> <td>1.1d</td> <td>N</td>
261<td>Einbau einer Rayleigh-D&auml;mpfungsschicht sowie
263Wahl der
264numerischen Begrenzer f&uuml;r das Upstream - Spline - Verfahren.</td>
265<td>check_parameters, header, init_3d_model, leap_frog, modules,
267read_var_list, spline_x, spline_y, spline_z, write_var_list</td> </tr>
268<tr nosave="" valign="top"> <td nosave="">"</td>
269<td>SR</td> <td>1.1d</td> <td>B</td>
270<td>Korrektur des Zeitschrittkriteriums bei z=zp im 1D-Modell</td>
271<td>init_1d_model</td> </tr> <tr nosave="" valign="top"> <td>25/11/99</td> <td>SR</td>
272<td>1.1e</td> <td>N</td> <td nosave="">Partikelplots
273mit vtk-Graphiksoftware sind auf t3eh
275Ausgabe erfolgt im dvr-Format. Bisher noch nicht nutzbar, da noch
277f&uuml;r die Partikelquelle(n) fehlen. <b>Wichtig:</b>
278Die Benutzung
280vtk-Software erfordert die zus&auml;tzliche mrun-Option <tt>-g</tt>.
282Hauptprogramm <tt>parles</tt> wird in diesem Fall zum
285von einem c++-Programm aus aufgerufen.</td> <td>header,
286init_3d_model, init_pegrid, leap_frog, modules,
287parin, parles,
288read_var_list, write_var_list&nbsp; <p><b>Neu:</b>
290advec_particles, init_particles, plot_particles</p> </td> </tr>
291<tr nosave="" valign="top"> <td>"</td>
292<td>SR</td> <td>1.1e</td> <td nosave="">B/C</td>
293<td>TIMEF-Zeitmessungen von Subroutine- auf Function-Aufruf
295Laufindexkorrektur in <tt>spline_y</tt>. Fehler trat bei
296nx /= ny auf.</td> <td>cpu_zeitmessung, spline_y</td>
297</tr> <tr nosave="" valign="top"> <td nosave="">28/12/99</td> <td>SR</td> <td>1.1f</td>
298<td>N</td> <td>Plot von Isooberfl&auml;chen mit
299vtk-Graphiksoftware sind auf
301m&ouml;glich. Ausgabe erfolgt im dvr-Format. Bisher noch nicht
303nutzbar, da noch diverse manuelle Eingriffe n&ouml;tig sind.</td>
304<td>header, leap_frog, modules, parin, plot_particles,
305read_var_list, write_var_list&nbsp; <p><b>Neu:</b>
307plot_isosurface</p> </td> </tr> <tr nosave="" valign="top"> <td nosave="">10/01/00</td>
308<td>SR</td> <td>1.2</td> <td>C</td>
309<td>Randbedingungen f&uuml;r w (=0) werden explizit gesetzt,
311zwar nicht
312nur bei&nbsp; <tt>k = nzb, nzt+1</tt> sondern auch
313bei&nbsp; <tt>k =
315wo bislang der vom vorigen Zeitschritt durch den Druckl&ouml;ser
317Wert stand. Auch jetzt wird der Wert bei k = nzt anschlie&szlig;end
319den Druckl&ouml;ser modifiziert. Soweit bis jetzt abzusehen, hat
321&Auml;nderung nur minimale Auswirkungen auf den Prognoseverlauf.
323gibt es st&auml;rkere Auswirkungen bei exzessivem Auftreten von
325am oberen Rand (die dort aber eigentlich sowieso nicht
326hingeh&ouml;ren).&nbsp; <br>
327Variablen&uuml;bergabe an <tt>boundary_conds</tt>
328erfolgt&nbsp; <br>
329&uuml;ber Modul und nicht mehr per Parameterliste.&nbsp; <p>Bei
330Galilei-Transformation wird jetzt defaultm&auml;&szlig;ig
331der geostrophische
332Wind als Translationsgeschwindigkeit verwendet (neuer
333Initialisierungsparameter <tt>use_ug_for_galilei_tr</tt>).
334Dadurch wird das verst&auml;rkte Auftreten von Schwerewellen bei
336geostrophischen Windgeschwindigkeiten unterdr&uuml;ckt.&nbsp; </p>
337<p>3D-Feldvariablen (u, v, w, pt, e, km, kh) sowie einige
339(usws, vsws, rif, shf) sind nun als Pointer deklariert, denen nach
341Zeitschritt neue Targets zugeordnet werden (f&uuml;r die
3433 Zeitebenen existieren die Targets ..._1 (z.B. u_1), ..._2, ..._3).
345die jeweilige Neuzuordnung der Targets entf&auml;llt das
348Zeitebenen komplett (Zeitersparung: ca. 5% der
349Gesamtrechenzeit).&nbsp; <br>
350Die Umordnung der Zeitebenen wurde ins neue UP <tt>swap_timelevel</tt>
351ausgelagert.&nbsp; <br> <b>Wichtig:</b> Die
352&Uuml;bersetzungszeiten haben durch die
354der Pointer t.w. sehr deutlich zugenommen (<tt>leap_frog</tt>
356jetzt z.B. ca. 60 Sekunden). Au&szlig;erdem ben&ouml;tigt der
358jetzt wesentlich mehr Speicher. Der "memory"-Parameter in den
360(.mrun.config, .al.config) muss nun mindestens den Wert 60 (MB) (t3eh,
361t3ej2) bzw. 45 (t3eb) und 96 (vpp) haben.&nbsp; <br> <b>Achtung:</b>
362bislang wurde diese &Auml;nderung nur f&uuml;r
364reine Leapfrog-Verfahren getestet!&nbsp; </p> <p>Neue
365Laderoption "<tt>-D preset=nan</tt>" empfohlen (s.
367Ebenso empfehlenswert f&uuml;r Debug-L&auml;ufe: Compileroption
369Diese bewirkt einen Programmabbruch, falls mit nicht initialisierten
371gearbeitet wird (ist aber zeitaufwendig in der Ausf&uuml;hrung!).</p>
372</td> <td>boundary_conds, check_parameters, header,
375modules, parin, read_var_list, timestep, write_var_list&nbsp; <p><b>Neu:</b>
377swap_timelevel</p> </td> </tr> <tr nosave="" valign="top"> <td nosave="">10/01/00</td>
378<td>SR</td> <td>1.2</td> <td>B</td>
379<td>Der Asselin-Filter wird vor Umordnung der Zeitebenen
380aufgerufen. Dies
381geschah bisher f&auml;lschlicherweise erst danach, sodass der
383asymmetrisch arbeitete.&nbsp; <br> <b>Achtung:</b>
384diese &Auml;nderung hat Auswirkungen auf den
386Die Testergebnis-Datei wurde entsprechend ge&auml;ndert.</td>
387<td>leap_frog</td> </tr> <tr nosave="">
388<td nosave="" valign="top">14/02/00</td> <td nosave="" valign="top">MS</td> <td nosave="" valign="top">1.2</td> <td nosave="" valign="top">B/C</td> <td><b>1D-Modell:</b>
390Der Asselin-Filter im 1D-Modell wird nun auch vor der Umordnung der
391Zeitebenen aufgerufen (s.o.).&nbsp; <p><b>3D-Modell:</b>
393TKE wurde bisher bei <tt>scalar_advec=bc-scheme</tt> einer
395Filterung unterzogen. Dies wird nun unterbunden.&nbsp; </p> <p>Die
396Divergenz der Impulsfl&uuml;sse an der Prandtl - Schicht -
398wird nun &uuml;ber eine ganze Gitterweite gebildet. Die bisherige
400lieferte im Vergleich mit Ergebnissen anderer LES-Modelle&nbsp; zu
402Impulsfl&uuml;sse.&nbsp; </p> <p>Bei der
403Berechnung der Diffusion der Temperatur werden die
405nun wieder durch Mittelung f&uuml;r die entsprechenden&nbsp;
407bereitgestllt. Das Maximumkriterium, das im Zuge der Implementierung
409Upstream-Spline Advektionsverfahrens eingebaut wurde, bewirkte ein zu
411Anwachsen der Grenzschicht mit der Zeit.&nbsp; </p> <p><b>Achtung:</b>
412diese &Auml;nderungen haben Auswirkungen auf
413den Prognoseverlauf.
414Die Testergebnis-Datei wurde entsprechend ge&auml;ndert.</p> </td>
415<td nosave="" valign="top">init_1d_model,
417diffusion_u, diffusion_v,&nbsp; <br>
418diffusion_pt</td> </tr> <tr nosave="" valign="top"> <td nosave="">17/02/00</td>
419<td>MS</td> <td>2.0</td> <td>N</td>
420<td><b>Allgemeine Beschreibung der &Auml;nderungen:</b>
422vollst&auml;ndige Implementierung des wolkenphysikalischen
423Moduls&nbsp; <p>Zur Implementierung der Wolkenphysik waren
426in zahlreichen Programmteilen notwendig (Beschreibung <a href="#Cloud_physics">siehe
427unten</a> ). Im einzelnen wurden folgende Unprogramme
428ge&auml;ndert:&nbsp; <br> <b>modules</b>:&nbsp;
429<br>1) Bereitstellung neuer 3D-, 2D- und 1D-Felder f&uuml;r
430die Prognose
431des Gesamtwassergehaltes&nbsp; <br>
4322) "cloud_parameters" als neues Modul mit wolkenphysikalischen
433Variablen&nbsp; <br> <b>parin: </b>Initialisierungsparameterliste
434wurde erweitert
435(s.u.)&nbsp; <br> <font color="#000000"><b>read_var_list,
437write_3d_binary: </b>In/Output
438der neuen Initialisierungsparamter und Felder f&uuml;r
439Fortsetzungsl&auml;ufe&nbsp;</font> <br> <font color="#000000"><b>check_parameters:</b>
442Feuchteprofils und Ausgabe von neuen Vertikalprofilen:&nbsp;</font>
443<br> <font color="#ff0000">vpt</font><font color="#000000">: virtuelle
445Temperatur,</font> <br> <font color="#ff0000">lpt</font><font color="#000000">:
447Fl&uuml;ssigwassertemperatur,</font> <br> <font color="#ff0000">q</font><font color="#000000">:
448Gesamtwassergehalt,</font> <br> <font color="#ff0000">qv</font><font color="#000000">:
450Feuchte,</font> <br> <font color="#ff0000">ql</font><font color="#000000">:
451Fl&uuml;ssigwassergehalt,</font> <br> <font color="#ff0000">w"vpt", w*vpt*, wvpt</font><font color="#000000">:
452Auftriebsfluss (subskalig, aufgel&ouml;st, gesamt),</font> <br>
453<font color="#ff0000">w"q", w*q*, wq</font><font color="#000000">:
454Wasserfluss (subs., aufg., ges.),</font> <br> <font color="#ff0000">w"qv", w*qv*, wqv</font><font color="#000000">:
455Feuchtefluss (subs, aufg., ges.)</font> <br> <b>init_3d_model</b>:
456Initialisierung aller
457Feuchte/Wasserfelder&nbsp; <br> <b>init_1d_model</b>:
458Anpassung an Rechnungen mit Feuchte&nbsp; <br> <b>header</b>:
459Headerausgaben f&uuml;r Feuchtebehandlung und
461eingef&uuml;gt, au&szlig;erdem Formatnummern erweitert um Platz
463weitere Ausgaben zu schaffen&nbsp; <br> <b>leap_frog:</b>
4651) alle prognostischen Gleichungen wurden in prognostic_equations
466ausgelagert&nbsp; <br>
4672) Aufrufe der neuen Unterprogramme (UP) compute_vpt,
468calc_liquid_water_content&nbsp; <br>
4693) veraenderter Aufruf von diffusivities&nbsp; <br> <b><tt>b</tt>oundary_conds,
470asselin_filter, swap_timelevel,
471flow_statistics: </b>Anpassung
472an Feuchtebehandlung&nbsp; <br> <b>plot2d, plot3d</b>:
473Ausgabem&ouml;glichkeiten von q und ql <br> <b>buoyancy</b>:
474Anpassung des Autriebstermes an
476durch neue &Uuml;bergabeparameter: Temperatur + Nummer des
478mittleren Temperaturprofils&nbsp; <br> <b>diffusion_e</b>:
479Anpassung der Mischungswegberechnung an
481durch Variation der &Uuml;bergabeparameter&nbsp; <br> <b>production_e</b>:
482TKE-Produktion durch Auftriebskr&auml;fte an
484angepasst&nbsp; <br> <b>diffusivities</b>:
485siehe diffusion_e&nbsp; <br> <b>prandtl-fluxes</b>:
486Prandtl-Schicht fuer den
488eingef&uuml;gt&nbsp; </p> <p>Zus&auml;tzlich
489wurden folgende Unterprogramme NEU
490eingef&uuml;hrt:&nbsp; <br> <b>inti_cloud_physics</b>:
491Initialisierung wolkenphysikalischer
492Parameter&nbsp; <br> <b>prognostic_equations</b>:
493Auslagerung der prognostischen
495aus leap_frog, zus&auml;tzliche porgnostische Gleichung
496f&uuml;r den
497Gesamtwassergehalt&nbsp; <br> <b>diffusion_s</b>:
498Berechnung der Diffusion skalarer
500(Temperatur und Gesamtwassergehalt), ersetzt diffusion_pt&nbsp; <br>
501<b>calc_liquid_water_content</b>: Berechnung des
502Fl&uuml;ssigwassergehalts&nbsp; <br> <b>calc_radiation</b>:
503Parametrisierung langwelliger
505&uuml;ber des Schema der effektiven Emissivit&auml;t&nbsp; <br>
506<b>calc_precipitation</b>:Parametrisierung von
508mit Hilfe eines vereinfachten Kesslerschemas&nbsp; <br> <b>impact_of_latent_heat</b>:
509Ber&uuml;cksichtigung der durch
511zur&uuml;ckbleibenden latenten Waerme innerhalb eines
512Gittervolumens&nbsp; <br> <b>compute_vpt</b>:
513Berechnung der virtuellen potentiellen
514Temperatur&nbsp; </p> <p><b>Liste der neuen
515Initialisierungsparameter:</b> <br> <table nosave="" border="1"> <caption>&nbsp; <br> </caption><tbody>
516</tbody><tbody> </tbody> <tbody> <tr nosave=""> <td nosave=""><b>Parameter</b></td>
517<td nosave=""><b>Typ</b></td> <td nosave="" width="4%"><b>Default</b></td>
518<td nosave=""><b>Beschreibung</b></td> </tr>
519<tr nosave=""> <td nosave=""><tt>moisture</tt></td>
520<td>L</td> <td>FALSE</td> <td>Ab-/Zuschalten
521des Gesamtwassergerhaltes als neue
522progn. Variable</td> </tr> <tr> <td><tt>cloud_physics</tt></td>
523<td>L</td> <td>FALSE</td> <td>Ab-/Zuschalten
524des Kondensationsschemas</td> </tr> <tr nosave="">
525<td><tt>radiation</tt></td> <td>L</td>
526<td nosave="">FALSE</td> <td>Ab-/Zuschalten
527des Strahlungsschemas</td> </tr> <tr> <td><tt>precipitation</tt></td>
528<td>L</td> <td>FALSE</td> <td>Ab-/Zuschalten
529der Niderschlagsparametrisierung</td> </tr> <tr> <td><tt>bc_q_b</tt></td>
530<td>C</td> <td>'dirichlet'</td> <td>untere
531Randbedingung f&uuml;r q (siehe auch bc_pt_b)</td> </tr>
532<tr> <td><tt>bc_q_t</tt></td> <td>C</td>
533<td>'neumann'</td> <td>obere RB f&uuml;r q
534(siehe auch bc_pt_t)</td> </tr> <tr> <td><tt>q_surface</tt></td>
535<td>R</td> <td>0.0</td> <td>Feuchtewert
536an der Erdoberfl&auml;che</td> </tr> <tr> <td><tt>q_surface_initial_change</tt></td>
537<td>R</td> <td>0.0</td> <td>vgl.
538pt_surface_initial_change</td> </tr> <tr> <td><tt>q_vertical_gradient</tt></td>
539<td>R(10)</td> <td>0.0</td> <td>vgl.
540pt_vertical_gradient</td> </tr> <tr nosave="">
541<td nosave=""><tt>q_vertical_gradient_level</tt></td>
542<td>R(10)</td> <td>10000.0</td> <td>vgl.
543pt_vertical_gradient_level</td> </tr> <tr> <td><tt>surface_pressure</tt></td>
544<td>R</td> <td>1013.25</td> <td>Luftdruck
545an der Erdoberfl&auml;che</td> </tr> <tr> <td><tt>surface_waterflux</tt></td>
546<td>R</td> <td>0.0</td> <td>oberfl&auml;chennaher
547Wasser/Feuchtefluss</td> </tr> </tbody> </table>
548Fortsetzungsl&auml;ufe mit Daten, die mit Modellversionen kleiner
551wurden, sind aufgrund der erweiterten Initialisierungsparameterliste
553zu den Einleseroutinen der Version 2.0. Ein Update auf Version 2.0
555deshalb nach Abschluss eines kompletten Modelllaufs erfolgen.&nbsp;
556</p> <p><b>Achtung:</b> diese
557&Auml;nderungen haben Auswirkungen auf
558den Prognoseverlauf.
559Die Testergebnis-Datei wurde entsprechend ge&auml;ndert.</p> </td>
560<td nosave="" valign="top">modules, parin,
563init_3d_model, init_1d_model, header, leap_frog. buoyancy, diffusion_e,
564production_e, diffusivities, prandtl_fluxes, boundary_conds,
566swap_timelevels, flow_statistics, plot_2d, plot_3d, write_var_list,
567write_3d_binary&nbsp; <p><b>Neu:</b> <br>
568init_cloud_physics, prognostic_equations, diffusion_s,
570calc_radiation, calc_precipitation, impact_of_latent_heat, comute_vpt</p>
571</td> </tr> <tr nosave=""> <td nosave="" valign="top">18/02/00</td> <td nosave="" valign="top">MS</td> <td nosave="" valign="top">2.0</td> <td nosave="" valign="top">B/N</td> <td>Im Zuge der
572Umstellung auf Modellversion 2.0&nbsp; wurden
573noch kleine
574&Auml;nderungen an den Unterprogrammen diffusion_e, production_e
577vorgenommen. In allen genannten&nbsp; <br>
578Unterprogrammen wurde bisher ein strengeres Kriterium zur Bestimmung
579der Schichtungsverh&auml;ltnisse verwendet. Ein Modellvergleich
581jedoch, dass dadurch die Diffusion im Bereich der Inversion zu gross
582wird.&nbsp; <p>Eine weitere Erg&auml;nzung betrifft die
583Advektionsverfahren:&nbsp; <br>
584Das Bott-Chlond Advektionsverfahren ist nun auch f&uuml;r
586mit Feuchte/Wolkenphysik verf&uuml;gbar.&nbsp; </p> <p><b>Achtung:</b>
587diese &Auml;nderungen haben Auswirkungen auf
588den Prognoseverlauf.
589Die Testergebnis-Datei wurde entsprechend ge&auml;ndert.</p> </td>
590<td nosave="" valign="top">diffusion_e,
592diffusivities, check_parameters</td> </tr> <tr nosave="" valign="top"> <td nosave="">26/04/00</td>
593<td>SR</td> <td>2.0a</td> <td>C</td>
594<td>Vollst&auml;ndige Umstellung von vtk-Grafik-Software auf
596Grafik-Ausgaben im dvr-Format sind mittlerweile begrenzt nutzbar
598sind darstellbar, siehe neue Laufparameter&nbsp; <tt>dt_dvrp,
600es wird aber in der Anwendung in naher Zukunft noch diverse
602geben. Partikelausgabe vorerst nicht mehr m&ouml;glich (Verlagerung
603schon).</td> <td>header, init_particles, init_3d_model,
604leap_frog, modules,
605parin, parles,
606read_var_list, write_var_list&nbsp; <br> <b>Gestrichen:</b>
608plot_isosurface, plot_particles&nbsp; <p><b>Neu:</b>
610init_dvrp, plot_dvrp</p> </td> </tr> <tr nosave="" valign="top"> <td nosave="">26/04/00</td>
611<td>SR</td> <td>2.0a</td> <td>C</td>
612<td>Durch zus&auml;tzlichen zyklischen Rand im
615viele SENDRECV-Aufrufe eingespart.&nbsp; <br>
616&Auml;nderung des Namens einer eingelesenen Environment-Variablen
617in <tt>check_open</tt>
618von <tt>remote_addres</tt> nach <tt>return_addres</tt>.&nbsp;
619<br>Prozessor-Topologie kann durch Benutzer vorgegeben werden.
620Dazu neue
621Initialisierungsparameter <tt>npex</tt> und <tt>npey</tt>.
624am Header-Format wurde Testergebnis-Datei ge&auml;ndert.</td>
625<td>advec_s_bc, check_open, header, init_pegrid, modules, parin,
627write_var_list</td> </tr> <tr nosave="" valign="top"> <td nosave="">26/04/00</td>
628<td>SR</td> <td>2.0a</td> <td>N</td>
629<td>Rechnungen mit geneigter Oberfl&auml;che erlauben jetzt
632eines stabil geschichteten Temperaturprofils mit konstantem Gradienten.
633Hinzuschalten von Feuchte funktioniert f&uuml;r Hangrechnungen noch
634nicht.</td> <td>advec_s_bc, buoyancy, init_3d_model,
636prognostic_equations&nbsp; <p><b>Neu:</b> <br>
637init_slope</p> </td> </tr> <tr nosave="" valign="top"> <td>13/06/00</td> <td>MS</td>
638<td>2.0a</td> <td nosave="">B</td> <td>Es
639werden nun auch die seitlichen R&auml;nder f&uuml;r ql
641Ein Nichtsetzen der Randbedingungen f&uuml;hrte zu Fehlern bei der
643von pt</td> <td nosave="">calc_liquid_water_content</td>
644</tr> <tr nosave="" valign="top"> <td nosave="">03/07/00</td> <td>SR</td> <td>2.0b</td>
645<td>C</td> <td>F&uuml;r eine Reihe von&nbsp;
646Unterprogrammen, die innerhalb
647von <tt>prognostic_equation</tt>
648aufgerufen werden und an die Pointer-Variablen &uuml;bergeben
651jetzt explizite Interfaces vereinbart (neues Modul <tt>pointer_interfaces</tt>).
652Auch im Vereinbarungsteil der entsprechenden Unterprogramme sind diese
653&Uuml;bergabeparameter jetzt aus Konsistenzgr&uuml;nden (und
654weil es
656Laufzeitfehler gibt) als Pointer-Variablen deklariert. Mit dieser
658ist der gro&szlig;e Speicher- und CPU-Zeit-Bedarf beim
660von prognostic_equations wieder auf ein ertr&auml;gliches
662reduziert.&nbsp; <br>
663Im Rahmen dieser &Auml;nderungen wurde auch an diffusion_e ein
665weniger &uuml;bergeben.&nbsp; <br>
666Aus nicht vollst&auml;ndig gek&auml;rten Gr&uuml;nden haben
667sich die
668Zahlen in der Testergebnis-Datei minimal ge&auml;ndert (und zwar
671mit der Gesamtdivergenz nach Aufruf des Druckl&ouml;sers).</td>
672<td>advec_s_bc, buoyancy, diffusion_e, diffusion_s, diffusion_u,
674diffusion_w, disturb_field, modules, production_e, prognostic_equations</td>
675</tr> <tr nosave="" valign="top"> <td nosave="">04/07/00</td> <td>SR</td> <td>2.0b</td>
676<td>B</td> <td>Diriclet-Randbedingungen f&uuml;r
677Temperatur und
679werden gesetzt. Dies w&auml;re bereits nach Einf&uuml;hrung der
681zwingend notwendig gewesen. Rechnungen mit vorgegebener
683schlugen deshalb bislang fehl.</td> <td>boundary_conds</td>
684</tr> <tr nosave="" valign="top"> <td nosave="">07/09/00</td> <td>MS</td> <td>2.0b</td>
685<td>B</td> <td>Die virtuelle potenielle Temperatur
686wird nun auch f&uuml;r
687k=nzb und
688k=nzt+1 berechnet, um die Randwerte auch f&uuml;r Ausgabezwecke
689bereichtzustellen.&nbsp;</td> <td>compute_vpt</td>
690</tr> <tr nosave="" valign="top"> <td nosave="">28/12/00</td> <td>SR</td> <td>2.1</td>
691<td>C/N</td> <td>PALM erlaubt jetzt den Einsatz
692optionaler Software-Pakete,
693die zwar
694zum Modell geh&ouml;ren, standardm&auml;&szlig;ig aber
695nicht mit
697werden, um so unter anderem Kompilationszeit einzusparen. Siehe neues
6993.7 in der Modelldokumentation.&nbsp; <p>Einsatz der
700dvrp-Software wurde vollst&auml;ndig
702Sie ist nun als Software-Paket optional im Modell einsetzbar. Siehe
704Kapitel 4.5.6 in der Modelldokumentation.&nbsp; </p> <p>Die
705Prognose der Partikelverlagerung ist ebenfalls in ein
707Software-Paket ausgelagert.</p> </td> <td>advec_particles,
708header, init_3d_model, init_dvrp,
710init_pegrid, modules, parin, parles, plot_dvrp, prognostic_equations,
712write_var_list&nbsp; <p><b>Neu:</b> <br>
713package_parin</p> </td> </tr> <tr nosave="" valign="top"> <td nosave="">28/12/00</td>
714<td>SR</td> <td>2.1</td> <td>B</td>
715<td>MPI_FINALIZE ans Ende des Hauptprogramms geschoben (stand
716vorher vor
717cpu_auswertung, wo noch ein Barrier-Aufruf steht). comm2d war zu Beginn
718undefiniert und wird nun erst einmal gleich MPI_COMM_WORLD gesetzt.</td>
719<td>parles</td> </tr> <tr nosave="" valign="top"> <td nosave="">02/01/01</td>
720<td>SR</td> <td>2.1a</td> <td>C</td>
721<td>Offene Dateien werden sobald m&ouml;glich geschlossen.
723bestimmter Dateien mit POSITION='APPEND' m&ouml;glich. In diesem
725wurde das Unterprogramm close_files in close_file umbenannt und hat nun
7261 Argument.&nbsp; <br>
727Anpassung der Diffusionsparametrisierung im 1D-Modell an das 3D-Modell.</td>
728<td>advec_particles, check_cpu_time, check_open, cpu_auswertung,
730init_3d_model, init_particles, modules.f90, parin, parles, plot_2d,
731write_3d_binary&nbsp; <p><b>Neu:</b> <br>
732close_file&nbsp; </p> <p><b>Eliminiert:</b>
734close_files</p> </td> </tr> <tr nosave="" valign="top"> <td nosave="">02/01/01</td>
735<td>SR</td> <td>2.1a</td> <td>B</td>
736<td>Beseitigung kleiner Fehler.</td> <td>check_cpu_time,
737diffusion_e, diffusivities, long_filter,
738production_e</td> </tr> <tr nosave="" valign="top"> <td>05/01/01</td> <td>SR</td>
739<td>2.1b</td> <td>N</td> <td nosave="">Neues
740Software-Paket zur Berechnung von Spektren im
741Ortsraum</td> <td>check_open, header, init_3d_model,
742leap_frog, modules,
744parles, read_var_list, write_3d_binary, write_var_list&nbsp; <p><b>Neu:</b>
746calc_spectra, plot_spectra</p> </td> </tr> <tr valign="top"> <td>25/01/01</td> <td>SR</td>
747<td>2.1c</td> <td>C/N</td> <td>Druckl&ouml;ser
748kann jetzt die Singleton-FFT benutzen. Modul <tt>singleton</tt>
749wurde deshalb von <tt>calc_spectra.f90</tt> nach <tt>modules.f90</tt>
751(neuer Initialisierungsparameter <tt>fft_method</tt>).&nbsp;
752<br>Fl&uuml;sse k&ouml;nnen jetzt bei k=1
753unabh&auml;ngig von der
755einer Prandtl-Schicht vorgegeben werden (neuer
756Initialisierungsparameter <tt>use_surface_fluxes</tt>).&nbsp;
757<br>Modul <tt>test_variables</tt> wurde aus allen
758Programmteilen entfernt.
759Hauptprogramm wurde von parles nach <tt>palm</tt>
760umbenannt.&nbsp; <br>
761Modell kann auf DEC-Workstations eingesetzt werden (-D <tt>dec</tt>).&nbsp;
762<br>Zus&auml;tzliche Zeitmessungen mit dvrp-Software.
763Schreiben von
765ist optional (neuer Parameter <tt>write_particle_informations</tt>).</td>
766<td>advec_particles, calc_spectra, check_parameters,
767cpu_zeitmessung, diffusion_s,
768header, init_3d_model, init_dvrp, init_particles, leap_frog, modules,
770parin, poisfft, read_var_list, swap_timelevel, write_var_list&nbsp;
771<p><b>Neu:</b> <br>
772palm&nbsp; </p> <p><b>Eliminiert:</b> <br>
773parles, module_test</p> </td> </tr> <tr valign="top"> <td>25/01/01</td> <td>SR</td>
774<td>2.1c</td> <td>B</td> <td>Fehler
775beim &ouml;ffnen von Unit 23 beseitigt. Modul <tt>interface</tt>
776fehlte in disturb_field.&nbsp; <br>
777Wertebereich von theta* in Prandtl-Fluxes eingeschr&auml;nkt, weil
778sonst auf einigen Rechnern overflow droht, wenn u*=0.</td> <td>check_open,
779disturb_field, prandtl_fluxes</td> </tr> <tr valign="top"> <td>30/01/01</td> <td>SR</td>
780<td>2.1d</td> <td>N/C</td> <td>Prognose
781eines passiven Skalars ist m&ouml;glich (anstatt
783dazu neuer Initialisierungsparameter <tt>passive_scalar</tt>.&nbsp;
784<p>Falls kein Pfad f&uuml;r ftpcopy existiert, werden in <tt>check_open</tt>
785die Dateinamen f&uuml;r AVS-Koordinaten- und Datendatei auf
787gesetzt.</p> </td> <td>asselin_filter,
788boundary_conds, check_open, check_parameters,
790header, init_1d_model, init_3d_model, modules, parin, plot_2d,
792prandtl_fluxes, prognostic_equations, read_var_list, swap_timelevel,
794write_var_list</td> </tr> <tr valign="top"> <td>30/01/01</td>
795<td>SR</td> <td>2.1d</td> <td>B</td>
796<td>String-Ausgabe f&uuml;r use_surface_fluxes korrigiert.
797Version vom
79825/01/01 brach deswegen bei Fortsetzungsl&auml;ufen ab.&nbsp; <br>
799xy-Plotausgabe von q und ql korrigiert.</td> <td>plot_2d,
800write_var_list</td> </tr> <tr nosave="" valign="top"> <td nosave="">30/03/01</td>
801<td>SR</td> <td>2.2</td> <td>N/C</td>
802<td>S&auml;mtliche 3D-Felder der Zeitebene t+dt wurden
805die Arbeitsfelder work und work1. Hilfsfelder wurden soweit
807eingespart und werden grunds&auml;tzlich lokal allokiert. Dadurch
809eine Reihe von &Uuml;bergabeparametern gestrichen werden (z.B. beim
811von <tt>pres, advec_s_bc, poisfft, production_e, sor </tt>sowie
814Der Long-Filter wurde in das Upstream-Spline-Verfahren integriert. Da
816Zeitfilter jetzt direkt in der prognostischen Gleichung angewendet wird
817(bisher geschah dies erst nach Aufruf des Druckl&ouml;sers), haben
819die Zahlen in der Testergebnis-Datei ge&auml;ndert. Die mittleren
821sind aber unbeeinflusst.&nbsp; <p>Eine weitere kleinere
822&Auml;nderung der Testergebnis-Daten
823wird dadurch
824verursacht, dass jetzt der Parameter <tt>adjust_mixing_length</tt>
825defaultm&auml;&szlig;ig <tt>.FALSE.</tt>
826ist und der Mischungsweg grunds&auml;tzlich zus&auml;tzlich
827auf&nbsp; <tt>0.7
828* zu</tt>&nbsp;&nbsp; begrenzt wird. Falls <tt>adjust_mixing_length=T</tt>,
829wird jetzt der Mischungsweg in <tt>diffusivities</tt>
830analog zu <tt>diffusion_e</tt>
831an allen Gitterpunkten modifiziert. <b>Achtung: </b>Diese
833k&ouml;nnen bei anderen Simulationen t.w. erhebliche Auswirkungen
836oberfl&auml;chennahen Ergebnisse haben.&nbsp; </p> <p><b>Kleinere
837&Auml;nderungen:</b> In <tt>init_cloud_physics</tt>
839der Wert der Variablen <tt>surface_pressure</tt> in hPa
842Umwandlung in Pa).&nbsp; <br>
843Die Namelist-Namen der Software-Pakete sind&nbsp; t.w.
844ge&auml;ndert.&nbsp; <br>
845Unit 14 (bin&auml;re Ausgabe f&uuml;r
846Fortsetzungsl&auml;ufe) wird
847jetzt im Hauptprogramm geschlossen, damit auf diese Datei noch
849Ausgaben erfolgen k&ouml;nnen.&nbsp; <br>
850Laufparameter werden in keinem Fall mehr auf Unit 14 ausgegeben bzw.
851von Unit 13 gelesen, d.h. sie gelten jetzt tats&auml;chlich nur
853den jeweils aktuellen Lauf.&nbsp; <br>
854Partikeladvektion funktioniert jetzt auch zusammen mit der
855Galilei-Transformation.&nbsp; </p> <p>Restliche
856deutsche Variablen-, Unterprogramm- und Modulnamen
858ins Englische &uuml;bersetzt. Davon sind fast alle Programmteile
860(nicht in rechter Spalte aufgef&uuml;hrt).</p> </td> <td>advec_particles,
861advec_s_bc, advec_s_ups, advec_u_ups,
863advec_w_ups, boundary_conds, calc_spectra, check_parameters,
865init_3d_model, init_cloud_physics, init_pegrid, init_rankine,
867modules, package_parin, palm, parin, poisfft, pres, production_e,
869read_var_list, sor, swap_timelevel, transpose_*, write_3d_binary,
870write_var_list&nbsp; <p><b>Neu:</b> <br>
871cpu_log, cpu_statistics&nbsp; </p> <p><b>Eliminiert:</b>
873asselin_filter, cpu_auswertung, cpu_zeitmessung, long_filter</p> </td>
874</tr> <tr nosave="" valign="top"> <td nosave="">12/07/01</td> <td>SR</td> <td>2.2a</td>
875<td>N/C</td> <td>Defaultwert der unteren
876Randbedingung f&uuml;r die TKE ist ab
877sofort <tt>bc_e_b
878= 'neumann'</tt>.&nbsp; <br>
879Partikelquelle ist &uuml;ber Paketparameter steuerbar.
881sind mittels benutzereigener Software steuerbar. Der dvrp-Ausgabeweg
883jetzt ebenfalls &uuml;ber Paketparameter steuerbar.&nbsp; <br>
884Allen Modulen (bis auf singleton) wurde eine SAVE-Anweisung
886damit die durch sie vereinbarten Variablen w&auml;hrend der
887Rechnung in
888keinem Fall undefiniert werden k&ouml;nnen (diese Gefahr besteht
891SGI-Origin-Maschinen).</td> <td>advec_particles, header,
892init_dvrp, init_particles,
893modules.f90, package_parin,
894plot_dvrp, user_interface</td> </tr> <tr> <td>12/07/01</td>
895<td>SR</td> <td>2.2a</td> <td>B</td>
896<td>Verschiebung der OPEN-Anweisung f&uuml;r Unit 33
897(AVS-FLD-Datei).</td> <td>check_open</td> </tr>
898<tr nosave="" valign="top"> <td nosave="">20/07/01</td>
899<td>SR</td> <td>2.3</td> <td>N</td>
900<td>Einbau des Mehrgitterverfahrens zur L&ouml;sung der
901Poisson-Gleichung.</td> <td>check_parameters,
902exchange_horiz, header, init_grid,
903init_pegrid, modules,
904parin, pres, run_control&nbsp; <p><b>Neu:</b> <br>
905poismg</p> </td> </tr> <tr nosave="" valign="top"> <td nosave="">21/08/01</td>
906<td>SR</td> <td>2.3a</td> <td>N/C</td>
907<td>Erg&auml;nzung der dvrp-Software: Partikel
908k&ouml;nnen mit
910versehen werden. Die Ausgabe der dvrp-Plotdaten durch einen separaten
912ist m&ouml;glich (mrun-Option "<tt>-p dvrp_graphics+1PE</tt>").
914Kommunikator <tt>MPI_COMM_WORLD</tt>&nbsp;
915wurde deshalb durch&nbsp; <tt>comm_palm</tt>&nbsp;
916ersetzt.&nbsp; <p>Reduzierung des Mischungsweges im
917Wandbereich kann wahlweise
919werden. F&uuml;r km und kh wird jetzt eine Neumann-Randbedingung am
921Rand verwendet. Die TKE-Energieproduktionsberechnung durch Scherung des
922Grundstroms am unteren Rand wurde verbessert.&nbsp; </p> <p>Generelle
923Verwendung der bodennahen vertikalen
924Impulsfl&uuml;sse in
925den Diffusionstermen von u und v, immer wenn diese als Randbedingung
927sind (gem&auml;&szlig; <tt>use_surface_fluxes</tt>,
928- bisher wurde
930nur bei eingeschalteter Prandtl-Schicht gemacht). Schubspannungen
932jetzt als Randbedingungen vorgegeben werden (allerdings unter
934benutzereigener Software).&nbsp; </p> <p>Zus&auml;tzliche
935Schnittstellen f&uuml;r benutzereigene
936Software in
937allen Tendenztermen, in <tt>flow_statistics,</tt> und
940bzw. dvrp-Programmteile (Bestimmung von Partikeleigenschaften,
942von Farbtabellen).&nbsp; </p> <p><b>Achtung: </b>Diese
943&Auml;nderungen k&ouml;nnen bei
944Simulationen mit
945mittlerem Wind durch die &Auml;nderungen im bereich des unteren
947t.w. erhebliche Auswirkungen auf die oberfl&auml;chennahen
949haben.</p> </td> <td>advec_particles, diffusion_e,
950diffusion_u, diffusion_v,
952flow_statistics, header, init_dvrp, init_particles, init_pegrid,
954modules, package_parin, palm, parin, plot_dvrp, production_e,
956read_var_list, swap_timelevel, user_interface, write_var_list</td>
957</tr> <tr nosave="" valign="top"> <td nosave="">21/08/01</td> <td>SR</td> <td>2.3a</td>
958<td>B</td> <td>Falsche Positionierung von
959MPI_ALLREDUCE in check_cpu_time
960korrigiert.</td> <td>check_cpu_time</td> </tr>
961<tr nosave="" valign="top"> <td nosave="">04/09/01</td>
962<td>SR</td> <td>2.3b</td> <td>N</td>
963<td>Zus&auml;tzliche Profilausgaben f&uuml;r
964Energieproduktionsterme m&ouml;glich.
965St&ouml;rdruck wird bei der FFT-Methode nicht mehr durch
968Werte zu den einzelnen Zeitschritten ermittelt.</td> <td>check_parameters,
969flow_statistics, modules, pres</td> </tr> <tr nosave="" valign="top"> <td nosave="">04/09/01</td>
970<td>SR</td> <td>2.3b</td> <td>B</td>
971<td>Austausch der Geisterr&auml;nder f&uuml;r die
974direkt nach Durchf&uuml;hrung der Filterung (war fehlerhaft seit
976der Zeitebene t+dt (Version 2.2) und f&uuml;hrte zu sehr kleinen
978an den seitlichen R&auml;ndern der Teilgebiete).&nbsp; <p><b>Achtung:</b>
979Der Inhalt der Testergebnis-Datei &auml;ndert
980sich durch
981diese Fehlerkorrektur.</p> </td> <td>prognostic_equations</td>
982</tr> <tr nosave="" valign="top"> <td nosave="">09/11/01</td> <td>SR</td> <td>2.3c</td>
983<td>N</td> <td>Farbe entlang der
984Partikelschw&auml;nze kann sich
985&auml;ndern. Einschalten
986der Partikeladvektion bei Fortsetzungsl&auml;ufen m&ouml;glich.</td>
987<td>advec_particles, init_particles, modules, package_parin,
988plot_dvrp</td> </tr> <tr nosave="" valign="top">
989<td nosave="">16/04/02</td> <td>SR</td>
990<td>2.3d</td> <td>N</td> <td>Vorgabe
991von Randbedingungen f&uuml;r Partikeladvektion
993Partikeldaten k&ouml;nnen f&uuml;r sp&auml;tere Analysen
994auf Datei
996werden (Unit 85). <tt>PARTICLE</tt>-Datentyp
999&uuml;ber Partikelgeschwindigkeitskomponenten und
1000Startposition.&nbsp; <p>Skalartransport sowie entsprechende
1001Datenausgaben k&ouml;nnen
1003eigene Parameter gesteuert werden (nicht mehr &uuml;ber die
1004Feuchteparameter).&nbsp; </p> <p>Im Fall von
1005pdims(1)=1 (eindimensionales virtuelles
1006Prozessornetz in
1007y-Richtung) werden die zyklischen Randbedingungen in x-Richtung durch
1009Umspeichern anstatt durch&nbsp; <tt>sendrecv </tt>realisiert.
1012die Transponierungen xz, yz, zx&nbsp; und zy eingespart (es wird
1015umsortiert).&nbsp; </p> <p>Im Fall von
10163D-Plotausgaben Aufruf von ftpcopy-Script durch
1018ersetzt (dient der Ermittelung von Dateizyklusnummern als Information
1020die AVS-fld-Datei).&nbsp; </p> <p>Bei fehlerhafter
1021Er&ouml;ffnung einer CPU_MEASURES-Datei
1022werden erneute
1023Er&ouml;ffnungsversuche durchgef&uuml;hrt.</p> </td>
1024<td>advec_particles, check_open, check_parameters,
1025exchange_horiz, flow_statistics,
1026header, init_particles, modules, package_parin, parin, plot_2d,
1028prognostic_equations, read_var_list, transpose_xz, transpose_yz,
1030transpose_zy, write_var_list</td> </tr> <tr nosave="" valign="top"> <td nosave="">02/05/02</td>
1031<td>SR</td> <td>2.3e</td> <td>B</td>
1032<td>Wiedereinf&uuml;hrung der 3D-Felder f&uuml;r die
1034t+dt, die
1035notwendig ist, damit in den Diffusionstermen bei Leapfrog-Zeitschritten
1036mit der korrekten Zeitebene t-dt gearbeitet wird. Seit Version 2.2
1038f&auml;lschlicherweise die Zeitebene t+dt verwendet. Asselin-Filter
1040jetzt wieder eigenst&auml;ndiges Unterprogramm. <br>
1041Die Wiedereinf&uuml;hrung dieser dritten Zeitebene ist auch
1043f&uuml;r die in der n&auml;chsten Version geplante skalare
1044Optimierung.&nbsp; <p>Fehler bei Berechnung von
1045Ausgabezeitpunkten eliminiert (trat
1046auf, wenn
1047bei Fortsetzungsl&auml;ufen von Ausgabeabst&auml;nden 0.0 auf
1048von Null
1049verschiedene Werte gewechselt werden sollte).&nbsp; </p> <p><b>Achtung:</b>
1050Der Inhalt der Testergebnis-Datei &auml;ndert
1051sich durch
1052diese Fehlerkorrektur.</p> </td> <td>init_3d_model,
1053leap_frog, modules, prognostic_equations,
1054swap_timelevel&nbsp; <p><b>Neu:</b> <br>
1055asselin_filter</p> </td> </tr> <tr nosave="" valign="top"> <td>02/05/02</td> <td>SR</td>
1056<td>2.3e</td> <td>N/C</td> <td>Kleinere
1057Anpassungen an IBM-Regatta-Systeme in
1058check_parameters, cpu_log.&nbsp; <p>Modul singleton in
1059eigenst&auml;ndige Datei
1060&uuml;berf&uuml;hrt.&nbsp; </p> <p>Global_min_max
1061arbeitet mit REAL*4, um Komplikationen auf
1063zu vermeiden (Datentyp MPI_2REAL m&uuml;sste dort sonst auf
1065ge&auml;ndert werden). <br>
1066Horizontale Geschwindigkeitskomponenten f&uuml;r Partikeladvektion
1067werden exakt zwischen den jeweils benachbarten horizontalen
1069interpoliert.</p> </td> <td nosave="">advec_particles,
1070check_parameters, cpu_log,
1072modules&nbsp; <p><b>Neu:</b> <br>
1073singleton</p> </td> </tr> <tr nosave="" valign="top"> <td nosave="">11/06/02</td>
1074<td>SR</td> <td>2.4</td> <td>N/C</td>
1075<td>Optimierung und Anpassungen f&uuml;r einzelne Knoten der
1076IBM-Regatta-Systeme. <p><b>Skalare (Cache) Optimierung:</b>
1077Tendenzterme werden
1078innerhalb einer
1079gro&szlig;en (i,j)-Schleife berechnet, die nun jeweils die gesamte
1081Gleichung umfasst. Schleifenindices i und j werden an die
1083als Argumente &uuml;bergeben. Die Tendenzunterprogramme sind als
1085geschrieben, die mittels Technik der &uuml;berladenen Funktionen
1088diese Indices i und j aufgerufen werden k&ouml;nnen, und dann wie
1091Versionen funktionieren (d.h. in ihnen laufen die Schleifen
10943 Dimensionen). Solche Teile der prognostischen Gleichungen, die
1096Kommunikation beinhalten, sind vor die (i,j)-Schleife gezogen. Falls
1098mit Piascek-Williams-Advektion gearbeitet wird, werden alle
1100Gleichungen in einer einzigen (i,j)-Schleife gerechnet. </p> <p><b>Kommunikationsoptimierung:</b>
1102Implementierung einer
11031D-Gebietszerlegung in x-Richtung. Mit dem neuen direkten
1105(poisfft_hybrid) werden dadurch 4 von 6 notwendigen Transpositionen
1107Die 1D-Zerlegung wird automatisch bei Verwendung dieses neuen
1109aktiviert. Austausch von Geisterr&auml;ndern in y-Richtung wird bei
11111D-Zerlegung durch einfache zyklische Randbedingungen ersetzt. </p>
1112<p><b>Kleinere Anpassungen:</b> String-Vergleiche
1113erfordern beim
1115in der Regel den Einsatz der TRIM-Funktion, um
1117Blanks am Ende des Strings abzuschneiden (sonst liefert der Vergleich
1118.F.). <br>
1119Lokal allokierte Felder t.w. in sogenannte automatische Felder
1121(g&uuml;nstiger, um Gefahr von eventuellen Speicherlecks zu
1123Einige Feldoperationen wurden wegen schlechter Performance auf der IBM
1124entfernt (s. pres). </p> <p><b>Achtung: </b>Die
1125&Uuml;bersetzung des Modells erfordert
1127der Vielzahl nunmehr eingesetzter Module die Verwendung des
1129um die korrekte Reihenfolge bei der &Uuml;bersetzung der
1131zu gew&auml;hrleisten. Die Beschreibung dieser
1134in der Datei<tt> Makefile</tt>, die zusammen mit den
1137ist und ebenfalls unter RCS-Verwaltung steht. </p> <p>Im
1138User-Interface ist das Unterprogramm<tt> user_actions </tt>nun
1140als Modul geschrieben und bedient sich der Methode der
1142Funktionen. Existierende benutzereigene Software muss entsprechend
1144werden.</p> </td> <td>advec_s_pw, advec_s_up,
1145advec_u_pw, advec_u_up, advec_v_pw,
1147advec_w_pw, advec_w_up, buoyancy, calc_precipitation, calc_radiation,
1149check_parameters, coriolis, diffusion_e, diffusion_s, diffusion_u,
1151diffusion_w, diffusivities, exchange_horiz, exchange_horiz_2d,
1153header, impact_of_latent_heat, init_pegrid, leap_frog, modules,
1155plot_3d, plot_spectra, poisfft, pres, production_e,
1157user_interface, <p><b>Neu:</b> <br>
1158fft_for_1d_decomp, Makefile, poisfft_hybrid,&nbsp;</p> </td>
1159</tr> <tr nosave="" valign="top"> <td nosave="">11/06/02</td> <td>SR</td> <td>2.4</td>
1160<td>B</td> <td>Fehlende Variablenvereinbarung in <tt>advec_particles</tt>
1161erg&auml;nzt.</td> <td>advec_particles</td> </tr>
1162<tr> <td valign="top">12/09/02</td> <td valign="top">SR</td> <td valign="top">2.4a</td>
1163<td valign="top">N</td> <td valign="top">Partikel
1164k&ouml;nnen mit Tr&auml;gheit versehen
1165werden und
1166einen Dichteunterschied zum umgebenden Fluid haben. Zur Steuerung dient
1167der neue Paketparameter <tt>density_ratio</tt>.</td>
1168<td valign="top">advec_particles, header, init_particles,
1169modules, package_parin</td> </tr> <tr> <td valign="top">12/09/02</td> <td valign="top">SR</td>
1170<td valign="top">2.4a</td> <td valign="top">B</td>
1171<td valign="top">Fehler in Berechnung der Anfangsprofile
1172von pt
1173und q entfernt
1174(obere Feldgrenze von 10 konnte in <tt>pt_vertical_gradient_level_ind</tt>
1175&uuml;berschritten werden). Fehler f&uuml;hrte unter
1176Umst&auml;nden zu
1177"segmentation fault" bei Verwendung sehr gro&szlig;er
1179in z-Richtung. <p>Fehler in Berechnung der v-Komponente am
1180unteren Rand
1181entfernt, die
1182f&uuml;r den Scherungsproduktionsterm der TKE verwendet wird
1184v_0). F&auml;lschlicherweise wurde zur Berechnung u(k=1) statt
1186verwendet.</p> </td> <td valign="top">check_parameters,
1187modules, production_e</td> </tr> <tr> <td valign="top">19/12/02</td> <td valign="top">SR</td>
1188<td valign="top">2.5</td> <td valign="top">N</td>
1189<td valign="top">Restart times can be set by user with new
1190runtime (d3par)
1191parameters <tt>restart_time</tt> and <tt>dt_restart</tt>.
1194header is written on file CONTINUE_RUN. Output of cpu statistics
1196(PE results are now collected on PE0 in order to calculate mean cpu
1198Output of warnings in the job protocol in case of negative measured
1200Remaining cpu-time is also evaluated on IBM-Regatta.</td> <td valign="top">cpu_log, cpu_statistics,
1201check_parameters,header, leap_frog,
1202local_tremain, local_tremain_ini, modules,&nbsp; palm,&nbsp; <p><b>new:</b>
1204check_for_restart </p> <p><b>deleted:</b> <br>
1205check_cpu_time</p> </td> </tr> <tr> <td valign="top">&nbsp;<br> </td> <td valign="top">&nbsp;<br> </td> <td valign="top">&nbsp;<br> </td> <td valign="top">C</td> <td valign="top">Unit
120614 (BINOUT) must be opened using a special
1208id string, because on IBM, the PE rank differs between communicators
1210and comm_2d. This leads to a mismatch between filename-PE-number and
1212written on file. As the consequence, these files could not be read by
1214Reading of array <tt>hom</tt> moved from <tt>init_3d_model
1215</tt>to <tt>read_var_list</tt>
1216(binary version number incremented to 2.2). <p><b>Further
1217optimization for IBM-Regatta-systems:</b> <br>
1218Additional optimization of the hybrid-solver for multinode usage
1220of communication and computation). </p> <p>Further cache
1221optimization by using strides and joining loops (<tt>hybrid_solver,
1222pres</tt> and <tt>timestep</tt>). Joining of
1223MPI_ALLREDUCE calls in
1224timestep. </p> <p>In case of 1d-decomposition along x
1225only a part of the
1226integral divisor
1227conditions is checked, on IBM hosts a 1d-decomposition along x is the
1229a switch from Poisson-FFT-solver to the hybrid-solver is made in case
12311d-decomposition along x, the hybrid-solver does not force a
1233any more. </p> <p>Array notation changed to do-loop
1234constructs due to better
1235performance. </p> <p>Cyclic boundary conditions along <tt>y</tt>
1236used instead of
1238in case of a 1d-decomposition along <tt>x</tt>. SENDRECV
1239replaced by
1241routines ISEND and IRECV in <tt>exchange_horiz.f90</tt>. </p>
1242<p>Speed optimization by removing MINVAL/MAXVAL calls and by
1243handling <br>
1244the "abs" case in a different way than the min/max cases (routine <tt>global_min_max</tt>).</p>
1245</td> <td valign="top">asselin_filter, check_open,
1248init_3d_model, init_pegrid, parin, poisfft_hybrid, read_var_list,
1250write_3d_binary, write_var_list</td> </tr> <tr> <td valign="top"><br> </td> <td valign="top"><br>
1251</td> <td valign="top"><br> </td> <td valign="top">B</td> <td valign="top">Correction
1252of mixing length term (l(k)/ll(k)).
1253The condition
1254kh=3*km in the unstable case is now also exactly met in the wall
1256region. Factor 0.7 in wall adjustment part replaced by variable <tt>wall_adjustment_factor</tt>,
1257which is set to 1.8 in <tt>modules.f90</tt>. The factor
12580.7 was the
1260reason for 2-delta-x-waves, which were observed since version 2.1d. <p>Calculation
1261of deformation tensor re-designed (<tt>production_e</tt>). </p>
1262<p>STOP statements replaced by call of new subroutine <tt>local_stop,
1264MPI_FINALIZE is called before STOP in case of a parallel environment. </p>
1265<p>ISO2D parameter dp set to true for ibm hosts. </p> <p>tend=p
1266added in <tt>pres</tt> after calling sor method.</p>
1267</td> <td valign="top">advec_s_bc, buoyancy,
1269check_parameters, close_file,
1270coriolis, diffusion_e, diffusivities, fft_for_1d_decomp,
1272init_3d_model, init_dvrp, init_grid, init_particles, init_pegrid,
1274plot_2d, poisfft, pres, read_var_list, user_interface,&nbsp; <p><b>new:</b>
1276local_stop, production_e</p> </td> </tr> <tr>
1277<td valign="top">03/03/03</td> <td valign="top">SR</td>
1278<td valign="top">2.5a</td> <td valign="top">N</td>
1279<td valign="top">Particle velocities are also stored in
1281particles in
1282case of zero density ratio. Steering of variables by dvrp browser
1283included.</td> <td valign="top">advec_particles,
1284init_dvrp, modules,</td> </tr> <tr> <td valign="top"><br> </td> <td valign="top"><br>
1285</td> <td valign="top"><br> </td> <td valign="top">C</td> <td valign="top">AVS
1286data format changed from float to xdr_float
1288on linux machines <br>
1289due to the little/big endian problem). Updates for new version of dvrp
1290software (e.g. using module dvrp is now mandatory).</td> <td valign="top">close_file, init_dvrp, leap_frog, plot_dvrp</td>
1291</tr> <tr> <td valign="top"><br> </td>
1292<td valign="top"><br> </td> <td valign="top"><br> </td> <td valign="top">B</td>
1293<td valign="top">Error in particle inertia part removed
1295must not
1296contain the timestep). <br>
1297Error in calculation of the vertical flux of resolved scale energy
1298(profile 57) removed. Displacement for integers in mpi_particle_type
1300from 16 to 8 on ibm.</td> <td valign="top">advec_particles,
1301flow_statistics, init_particles</td> </tr> <tr> <td valign="top">12/03/03</td> <td valign="top">SR</td>
1302<td valign="top">2.6</td> <td valign="top">N</td>
1303<td valign="top"><b>Version optimized for NEC-SX6
1305machines.&nbsp;</b> <p>There are two main changes. A
1306new vectorizable routine <tt>prognostic_equations_vec</tt>
1307is added, where cache optimizations are undone. The tendency
1309called by <tt>prognostic_equations_vec</tt> contain the
1310full 3d-loops
1312with the cache-optimized versions where only loops over k are carried
1314Additionally, a new pressure solver <tt>poisfft_hybrid_vec</tt>
1317which requires a 1d-domain-decomposition (like poisfft_hybrid). In this
1318solver, a very fast FFT from Clive Temperton (ECMWF) is&nbsp;
1320available by choosing <tt>fft_method </tt>= <i>'temperton-algorithm'</i>.&nbsp;
1321</p> <p>Additional changes in <tt>flow_statistics</tt>
1322to allow
1323better vectorization. </p> <p>Small changes in routines <tt>diffusivities</tt>
1324and <tt>pres</tt>
1326caused run time errors on IBM and NEC due to compiler problems. </p>
1327<p>Reading of environment variable <tt>tasks_per_node</tt>
1329from routine <tt>poisfft_hybrid</tt>
1330to routine <tt>parin</tt>. </p> <p><b>Changes
1331in makefile:</b> modules and user_interface now
1332depend on
1333the f90 files, dependency of singleton added, LDFLAGS moved to the end
1334of PROG rule, temperton_fft added.</p> </td> <td valign="top">advec_s_pw, advec_s_up, advec_u_pw, advec_u_up,
1336advec_v_up, advec_w_pw, advec_w_up, buoyancy, calc_precipitation,
1338check_parameters, coriolis, cpu_log, diffusion_e, diffusion_s,
1340diffusion_v, diffusion_w, diffusivities, fft_for_1d_decomp, header,
1342init_pegrid, leap_frog, local_tremain, modules, parin, poisfft,
1344pres, production_e, prognostic_equations, user_interface <p><b>new:</b>
1346temperton_fft</p> </td> </tr> <tr> <td valign="top"><br> </td> <td valign="top"><br>
1347</td> <td valign="top"><br> </td> <td valign="top">B</td> <td valign="top">tend=p
1348added in routine <tt>pres</tt> after
1349calling sor
1350method.</td> <td valign="top">pres</td> </tr>
1351<tr> <td valign="top">14/03/03</td> <td valign="top">SR</td> <td valign="top">2.6a</td>
1352<td valign="top">N</td> <td valign="top">Additional
1353vector optimization for NEC-SX6. <p>Optional system-specific
1354random number generator available
1355(for equal
1356distributed numbers). </p> <p>Define strings in all
1357relevant subroutines changed from&nbsp; </p> <p><tt>&nbsp;&nbsp;&nbsp;&nbsp;
1358#if defined( define_string )</tt> </p> <p>to </p>
1359<p><tt>&nbsp;&nbsp;&nbsp;&nbsp; #if
1360defined( __define_string )</tt> </p> <p><b>Caution:
1361</b>The relevant subroutines are NOT listed in
1362the right
1363column!</p> </td> <td valign="top">asselin_filter,
1364check_parameters, diffusion_e,
1366disturb_field, global_min_max, header, local_tremain, modules, parin,
1368pres, read_var_list, write_var_list</td> </tr> <tr>
1369<td valign="top"><br> </td> <td valign="top"><br> </td> <td valign="top"><br>
1370</td> <td valign="top">B</td> <td valign="top">Error in particle boundary condition removed
1371(velocity must
1372be inverted in case of reflection)</td> <td valign="top">advec_particles</td>
1373</tr> <tr> <td valign="top">16/04/03</td>
1374<td valign="top">SR</td> <td valign="top">2.6b</td>
1375<td valign="top">N</td> <td valign="top">Time
1376series output of Monin Obukhov length. <p>Temperton fft can now
1377be used for all hosts and every domain
1379Abort in case of Temperton fft, if number of gridpoints along x and/or
1380y contain illegal factors.&nbsp; </p> <p>Index values
1381for the extrema found in global_min_max are
1382limited to
1383the range 0..nx, 0..ny (on IBM machines -1 and nx+1/ny+1 occured which
1384produced different RUN_CONTROL output compared to other machines). </p>
1385<p>Output format of iteration count in routine run_control
1386enlarged.</p> </td> <td valign="top">check_parameters,
1388global_min_max, init_pegrid,
1389modules, plot_ts, poisfft, run_control, temperton_fft</td> </tr>
1390<tr> <td valign="top"><br> </td> <td valign="top"><br> </td> <td valign="top"><br>
1391</td> <td valign="top">B</td> <td valign="top">Additional checks of variables <tt>hybrid_solver</tt>
1392and <tt>host</tt>
1393(<tt>hybrid_solver</tt> must not be used for a
13942d-domain-decomposition, <tt>host</tt>
1395should be set by setting environment variable <tt>localhost</tt>).
1396<p>Header output for mixing length limitations revised.</p>
1397</td> <td valign="top">check_parameters, header</td>
1398</tr> <tr> <td valign="top">09/05/03</td>
1399<td valign="top">SR</td> <td valign="top">2.7</td>
1400<td valign="top">N</td> <td valign="top"><b>Version
1401running on Linux Clusters using MPICH
1402and Intel
1403FORTRAN compiler (ifc)</b> <p>So far, only absolutely
1404neccessary changes have been done
1406optimizations will follow in a later version): </p> <p>New
1407time measurements for Linux (ifc) environment added. </p> <p>Some
1408parameters in MPI calls had to be modified (arrays had to
1409be replaced
1410by the first element of the regarding array) in order to fulfill f90
1412and rank requirements, since on the MUK-cluster a FORTRAN90-version of
1413MPI is used. This also required to replace "mpif.h" by using a special
1414module (named <tt>mpi</tt>).&nbsp; I did not find out
1415how character
1417can be send with MPI. Therefore, these strings are transformed to
1419before they are send, and transformed back to characters on the
1421PE. </p> <p>On the MUK-cluster, only PE0 is able to read
1422the values of
1424variables. Therefore, these values are communicated via broadcast to
1426other PEs. </p> <p>1d-decomposition is set as the default
1427on Linux Clusters.
1429strings have to be transformed to integer </p> <p>Smaller
1430changes: </p> <p>Batch_scp paths for IBM, NEC and Linux
1431added</p> </td> <td valign="top">check_open,
1432cpu_log, flow_statistics,
1433init_pegrid, local_getenv,
1434modules, palm, poisfft_hybrid</td> </tr> <tr> <td valign="top"><br> </td> <td valign="top"><br>
1435</td> <td valign="top"><br> </td> <td valign="top">B</td> <td valign="top">Measurements
1436on IBM are now using function <tt>irtc</tt>,
1437which allows correct measurements for jobs running over the 24:00
1438timeline.</td> <td valign="top">cpu_log,
1439local_tremain, local_tremain_ini</td> </tr> <tr> <td valign="top">01/08/03</td> <td valign="top">SR</td>
1440<td valign="top">2.7a</td> <td valign="top">B</td>
1441<td valign="top">Check that the number processors is also
1443integral divisor
1444of the number&nbsp; of gridpoints along y in case of a
1446along x. <p>Error concerning the multinode-version of
1448removed. It
1449was caused by the Linux changes of version 2.7 and led to program abort
1450due to MPI errors in <tt>MPI_ALLTOALL</tt>. </p> <p>No
1451abort on t3e-systems if system specific routines are used. </p> <p>Array<tt>
1452sums </tt>is initialized in<tt> init_3d_model </tt>before
1453the first call of<tt> pres</tt>. Call of<tt>
1454init_cloud_physics </tt>moved
1455before<tt> init_particles</tt>.</p> </td> <td valign="top">fft_1dd_init, init_3d_model, init_pegrid,
1456poisfft_hybrid</td> </tr> <tr> <td valign="top"><br>
1457</td> <td valign="top"><br> </td> <td valign="top"><br> </td> <td valign="top">N</td>
1458<td valign="top">Interactive steering of dvrp-graphic
1459features by
1461plugin extended (position of slicers, threshold values of isosurfaces)
1462. New dvrp_graphics package parameter<tt> slicer_range_limits_dvrp</tt>.</td>
1463<td valign="top">init_dvrp, modules, package_parin,
1464plot_dvrp</td> </tr> <tr> <td valign="top">29/10/03</td>
1465<td valign="top">SR</td> <td valign="top">2.7b</td>
1466<td valign="top">N</td> <td valign="top">In
1467the multigrid method, on a defined level,
1468data are gathered
1469on PE0 and further calculations are carried out only on this PE. New<tt>
1470d3par </tt>parameter <tt>mg_switch_to_pe0_level</tt>.
1471<p>Particle groups implemented. New data type<tt>
1472particle_groups_type </tt>and data type<tt> particle_type </tt>modified.
1474numbers are
1475output on the particle files. New<tt> particles_par </tt>parameter<tt>
1476diameter</tt>. Parameter name<tt> uniform_psize</tt>
1477changed to<tt>
1479Parameters<tt> density_ratio </tt>is now an array.</p>
1480</td> <td valign="top">advec_particles, check_open,
1482header, init_particles,
1483init_pegrid, modules, package_parin, parin, poismg</td> </tr>
1484<tr> <td valign="top"><br> </td> <td valign="top"><br> </td> <td valign="top"><br>
1485</td> <td valign="top">C</td> <td valign="top">Random number generator from numerical recipes
1486is now rewritten
1487as a module. In restart runs the seed of this generator is set to the
1489values of the previous run in order to keep the sequence of the random
1490numbers. New binary version 2.2. <p>Buffer is flushed for file
1491RUN_CONTROL immediately after every
1493on IBM and Linux cluster.</p> </td> <td valign="top">advec_particles,
1494disturb_field, init_3d_model,
1496random_function, random_gauss, run_control, write_3d_binary</td> </tr>
1497<tr> <td valign="top"><br> </td> <td valign="top"><br> </td> <td valign="top"><br>
1498</td> <td valign="top">E</td> <td valign="top">In routine buoyance, horizontal mean
1500is now
1501taken from array hom instead of array sums (otherwise inconsistence in
1502case of using more than one statistical region). <p>Information
1503about the time of the last timestep change added
1504to the
1505restart file. </p> <p>System call of<tt> batch_scp </tt>on
1506IBM corrected.</p> </td> <td valign="top">buoyancy,
1507check_open, read_var_list,
1508write_var_list</td> </tr> <tr> <td style="vertical-align: top;">28/01/04</td> <td style="vertical-align: top;">SR</td> <td style="vertical-align: top;">2.8</td> <td style="vertical-align: top;">N</td> <td style="vertical-align: top;">Runge-Kutta schemes (2nd and
1511for time integration implemented. The third order scheme is the new
1513It allows the timestep to be 0.9*CFL, which is much larger than for the
1514former default leapfrog scheme.&nbsp; The intermediate steps, which
1516part of these schemes, are realized by an additional loop within routine<span style="font-family: monospace;">
1517time_integration&nbsp;</span>(currently<span style="font-family: monospace;">
1518leap_frog</span>, but this routine will be renamed soon).
1520variables<span style="font-family: monospace;">
1521at&nbsp;</span>and<span style="font-family: monospace;">
1523been replaced by array<span style="font-family: monospace;">
1525, which is particularly used in the prognostic equations. Values of
1527steering array are calculated within the new routine<span style="font-family: monospace;">
1528timestep_scheme_steering</span>. <p>When using Runge-Kutta
1529schemes,&nbsp; the timestep increment
1530is freely
1531allowed to adjust after each timestep (the older schemes are using some
1532restrictions, see routine<span style="font-family: monospace;">
1534Also, routine<span style="font-family: monospace;">
1536not automatically called in case of timestep changes, when Runge-Kutta
1537schemes are switched on. </p> <p>The old leapfrog scheme
1538is still implemented and should
1539produce the
1540same results as in the previous version(s)! </p> <p>Depending
1541on the user experience, further adjustments to the
1543schemes may be necessary within the next minor versions.&nbsp; </p>
1544<p><span style="font-weight: bold;">Attention:</span>
1546The content of the testresult-file (run control output) has
1548changed due to the new default timestep scheme!</p> </td> <td style="vertical-align: top;">check_parameters, header,
1550init_rankine, leap_frog, modules, prognostic_equations, read_var_list,
1551swap_timelevel, timestep, write_var_list <p><span style="font-weight: bold;">new:</span> <br>
1552timestep_scheme_steering</p> </td> </tr> <tr>
1553<td style="vertical-align: top;"><br> </td> <td style="vertical-align: top;"><br> </td> <td style="vertical-align: top;"><br> </td> <td style="vertical-align: top;">C</td> <td style="vertical-align: top;">Output of particle infos in
1554subroutine<span style="font-family: monospace;">
1555allocate_prt_memory&nbsp;</span>on demand only. <p>Type<span style="font-family: monospace;"> log&nbsp;</span>(used
1557cpu time measurements) changed to<span style="font-family: monospace;">
1558logpoint&nbsp;</span>due to name conflict with FORTRAN
1559intrinsic<span style="font-family: monospace;">
1560log.</span></p> </td> <td style="vertical-align: top;">advec_particles,
1561cpu_log,&nbsp;</td> </tr> <tr> <td style="vertical-align: top;"><br> </td> <td style="vertical-align: top;"><br> </td> <td style="vertical-align: top;"><br> </td> <td style="vertical-align: top;">E</td> <td style="vertical-align: top;">In case of opening unit 80, a
1563is set only for the first call of<span style="font-family: monospace;">
1564check_open&nbsp;</span>(from routine<span style="font-family: monospace;">
1565init_particles</span>), in order to avoid the possibility of
1568which may occur if unit 80 is opened within routine<span style="font-family: monospace;">
1569allocate_prt_memory</span>.</td> <td style="vertical-align: top;">check_open</td> </tr>
1570<tr> <td style="vertical-align: top;">30/01/04</td>
1571<td style="vertical-align: top;">SR</td> <td style="vertical-align: top;">2.8a</td> <td style="vertical-align: top;">N</td> <td style="vertical-align: top;">In order to prepare the code
1573the simulation
1574of flow around buildings (to be realized in one of the next major
1576the lower<span style="font-family: monospace;"> k&nbsp;</span>index<span style="font-family: monospace;">
1577nzb&nbsp;</span>has been replaced by a two-dimensional array<span style="font-family: monospace;">
1578nzb_2d&nbsp;</span>in many of the three-dimensional loops. So
1579far, all
1580elements of this array are set to<span style="font-family: monospace;">
1581nzb</span>. <p>This change should not effect simulation
1582results and cpu time
1583in any
1584way.</p> </td> <td style="vertical-align: top;">advec_s_pw,
1586advec_u_pw, advec_u_up,
1587advec_v_pw, advec_v_up, advec_w_pw, advec_w_up, asselin_filter,
1589calc_liquid_water_content, calc_precipitation, calc_radiation,
1591diffusion_e, diffusion_s, diffusion_u, diffusion_v, diffusion_w,
1593impact_of_latent_heat, init_3d_model, modules, production_e,
1594prognostic_equations,&nbsp;</td> </tr> <tr> <td style="vertical-align: top;"><br> </td> <td style="vertical-align: top;"><br> </td> <td style="vertical-align: top;"><br> </td> <td style="vertical-align: top;">C</td> <td style="vertical-align: top;">Euler step informations are
1595removed in
1596the run control output in case of Runge-Kutta schemes. Also, the
1598increment limitation is removed for the Runge-Kutta schemes. <p><span style="font-weight: bold;">Attention:</span> <br>
1599The content of the testresult-file (run control output) has changed
1600due to this modification.</p> </td> <td style="vertical-align: top;">run_control, timestep</td>
1601</tr> <tr> <td style="vertical-align: top;"><br>
1602</td> <td style="vertical-align: top;"><br> </td>
1603<td style="vertical-align: top;"><br> </td> <td style="vertical-align: top;">E</td> <td style="vertical-align: top;">Velocity gradients at the
1604surface calculated
1605in routine production_e are now limited. In case of inhomogeneous
1607heating small diffusivities (<span style="font-family: monospace;">km</span>)
1608sometimes caused very small timesteps due to this problem.</td> <td style="vertical-align: top;">production_e</td> </tr>
1609<tr> <td style="vertical-align: top;">30/04/04<br>
1610</td> <td style="vertical-align: top;">SR<br>
1611</td> <td style="vertical-align: top;">2.8b<br>
1612</td> <td style="vertical-align: top;">N<br> </td>
1613<td style="vertical-align: top;">The number of processors
1615the respective directions of the virtual processor grid must not be
1616integral divisors of the number of gridpoints along x, y or z any more.
1617In case that they are not integral divisors, the subdomains on the
1618processors at the upper borders of the virtual grid will contain less
1619gridpoints than the other subdomains (which are all of equal size).
1620Although this causes a load imbalance, only runs with very small
1621numbers of processors will feel a significant decrease of performance.
1622In order to be able to carry out the transpositions, array<span style="font-family: monospace;"> d </span>(and also
1623working array<span style="font-family: monospace;"> tend</span>)
1624have the same size on
1625all processors. This new feature is switched on by setting the
1626inipar-parameter<span style="font-family: monospace;">
1627grid_matching </span>= <span style="font-style: italic;">'match'</span>,
1628which is the
1629default now.<br> <br>
1630Routine<span style="font-family: monospace;"> poisfft </span>is
1633default for solving the Poisson-equation for the case of 2d- as well as
16341d-domain-decompositions and has been changed from a subroutine to a
1635module. This routine now includes most of the optimization from the
1636(Ketelsen) routine<span style="font-family: monospace;">
1637poisfft_hybrid </span>and additionally allows 1d-decompositions
1638along y.<br> <span style="font-weight: bold;">ATTENTION:</span>
1639Routine<span style="font-family: monospace;">
1640poisfft_hybrid </span>might still be
1641faster when running PALM on more than one node of the IBM-Regatta,
1642although the difference is not very big. The <span style="font-family: monospace;">poisfft</span>-code
1643for a
1644decomposition along y has still a poor performance and needs further
1645optimization.<br> <br>
1646The spectra-package is now able to use all the available FFT-methods
1647(selected by inipar-parameter<span style="font-family: monospace;">
1648fft_method </span>).
1649Performance of the transpositions needed for calculating the spectra
1650has been improved by using new direct transpositions from z to y and
1651from y to x instead of two subsequent transpositions.<br> <br>
1652Runge-Kutta scheme implemented in the 1d-version (<span style="font-family: monospace;">init_1d_model</span>).
1654quantity arrays are allocated for previous timelevels only in case of
1655leapfrog scheme.<br> <br>
1656This version is adapted for use on COMPAQ-DECALPHA systems (main
1657changes: calling of SHAPE function within subroutine arguments (e.g.<span style="font-family: monospace;"> singleton</span>)
1658causes compiler errors, particle data type modified for better
1659alignment, DATA statements from modules removed because they caused
1660internal compiler errors).<br> </td> <td style="vertical-align: top;">advec_s_ups, advec_u_ups,
1661advec_v_ups, advec_w_ups, calc_spectra, check_parameters, fft_xy,
1662header, init_1d_model, init_3d_model, init_particles, init_pegrid,
1663modules, parin, plot_2d, poisfft, prandtl_fluxes, pres, read_var_list,
1664singleton, spline_x, spline_y, spline_z, time_integration, transpose,
1665write_3d_binary, write_var_list<br> </td> </tr> <tr>
1666<td style="vertical-align: top;"><br> </td> <td style="vertical-align: top;"><br> </td> <td style="vertical-align: top;"><br> </td> <td style="vertical-align: top;">C<br> </td> <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>.
1667Subroutine<span style="font-family: monospace;"> leap_frog
1668</span>renamed<span style="font-family: monospace;">
1669time_integration</span>.<br> <br>
1670For all transpositions, MPI_ALLTOALL is used instead of MPI_ALLTOALLV.
1671The names of many transposition indices have been changed.<br> <br>
1672Inipar-parameter<span style="font-family: monospace;">
1673impulse_advec </span>renamed<span style="font-family: monospace;"> momentum_advec</span>.<br>
1675Reading of restart data is moved from<span style="font-family: monospace;"> init_3d_model </span>to
1676new routine <span style="font-family: monospace;">read_3d_binary</span>.<br>
1678All former transpose routines collected into one file.<br> </td>
1679<td style="vertical-align: top;">check_parameters,
1680flow_statistics, header, init_1d_model, init_3d_model, init_advec,
1681init_pegrid, palm, parin, poisfft, poisfft_hybrid, production_e,
1682prognostic_equations, read_var_list, sline_x, spline_y, write_var_list<span style="font-weight: bold;"><br> <br>
1684fft_xy, read_3d_binary, time_integration, transpose<br> <br>
1685<span style="font-weight: bold;">deleted:</span><br>
1686fft_for_1d_decomp, leap_frog, transpose_xy, transpose_xz, transpose_yx,
1687transpose_yz, transpose_zx, transpose_zy<br> </td> </tr>
1688<tr> <td style="vertical-align: top;"><br> </td>
1689<td style="vertical-align: top;"><br> </td> <td style="vertical-align: top;"><br> </td> <td style="vertical-align: top;">E<br> </td> <td style="vertical-align: top;">Small errors in the
1690particle-package removed, which sometimes caused aborts of restart runs
1691on IBM.<br> <br>
1692Small error in calculating the time series profiles removed (array
1693bounds of some arrays needed for profil-output had to be increased).<br>
1695Function fft (singleton method) replaced by subroutine fftn due to
1696problems with 64-bit mode on IBM<br> </td> <td style="vertical-align: top;">advec_particles,
1697check_parameters, <br> </td> </tr> <tr> <td style="vertical-align: top;">26/03/05<br> </td>
1698<td style="vertical-align: top;">SR<br> </td>
1699<td style="vertical-align: top;">2.9<br> </td>
1700<td style="vertical-align: top;">N<br> </td> <td style="vertical-align: top;">Non-cyclic lateral boundary
1701conditions implemented.<br>
1702Dirichlet/Neumann conditions at the inflow/outflow can be used either
1703along x or along y. Cyclic conditions have to be used along the
1704remaining direction. In case of non-cyclic conditions along x (y), the
1705upper bound nxl (nyn) of array u (v) is enlarged by one gridpoint on
1706the rightmost (northest) processor. These array index informations are
1707passed to routine<span style="font-family: monospace;">
1708exchange_horiz </span>and<span style="font-family: monospace;">
1709disturb_field </span>by two
1710additional arguments. Boundary conditions are set with new
1711inipar-parameters<span style="font-family: monospace;">
1712bc_lr </span>and<span style="font-family: monospace;">
1713bc_ns</span>. A damping layer is
1714needed 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>)
1715and an
1716additional disturbance is imposed near the inflow (see new parameters<span style="font-family: monospace;">&nbsp;
1717inflow_disturbance_begin </span>and<span style="font-family: monospace;"> inflow_disturbance_end</span>).
1718Non-cyclic conditions require the use of the multigrid-method for
1719solving the Poisson equation. Argument<span style="font-family: monospace;"> range </span>added
1720to routine<span style="font-family: monospace;">
1721boundary_conds </span>(where the
1722non-cyclic conditions are set). <br> <br>
1723Minor changes:<br>
1724Output of parameter<span style="font-family: monospace;">
1725datform </span>on
1726&amp;GLOBAL-Namelist (iso2d). This is set to <span style="font-style: italic;">'big_endian'</span> on
1727IBM- and
1728NEC-machines.<br> <br>
1729Number of particle groups are additionally calculated in<span style="font-family: monospace;"> header </span>(formerly
1730unknown).<br> </td> <td style="vertical-align: top;">advec_u_pw,
1731advec_u_up, advec_v_pw, advec_v_up, boundary_conds,
1732calc_liquid_water_content, check_parameters, close_file, coriolis,
1733diffusion_u, diffusion_v, diffusion_w, diffusivities, disturb_field,
1734exchange_horiz, header, init_3d_model, init_pegrid, init_pt_anomaly,
1735init_rankine, modules, parin, poismg, pres, prognostic_equations,
1736read_var_list, sor, time_integration, timestep, write_var_list<br>
1737</td> </tr> <tr> <td style="vertical-align: top;"><br> </td> <td style="vertical-align: top;"><br> </td> <td style="vertical-align: top;"><br> </td> <td style="vertical-align: top;">C<br> </td> <td style="vertical-align: top;"><span style="font-family: monospace;">pres </span>is called
1738by default only
1739at the last Runge-Kutta-substep, which spares a big amount of CPU-time
1740(see also new parameter<span style="font-family: monospace;">
1741call_psolver_at_all_substeps</span>). No pressure term in the
1743equations in case of Runge-Kutta-schemes.<br> <span style="font-weight: bold;">Attention:</span> <br>
1744The content of the testresult-file (run control output) has changed
1745due to this modification.<br> <br>
1746Program speedup by removing the exchange of ghost points in routines <span style="font-family: monospace;">calc_liquid_water_content</span>,
1747<span style="font-family: monospace;">diffusivities</span>,
1748.<br> <br>
1749Default 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
1750(one call of<span style="font-family: monospace;">
1751exchange_horiz </span>spared).<br> </td> <td style="vertical-align: top;">calc_liquid_water_content,
1752diffusivities, modules, poismg, pres, time_integration,
1753timestep_scheme_steering<br> </td> </tr> <tr>
1754<td style="vertical-align: top;"><br> </td> <td style="vertical-align: top;"><br> </td> <td style="vertical-align: top;"><br> </td> <td style="vertical-align: top;">E<br> </td> <td style="vertical-align: top;">Calculation of vertical
1756velocity (with inertia) corrected, exp_arg had a wrong sign.<br> <br>
1757(e)**1.5 replaced by e*SQRT(e) in init_1d_model because of wrong
1758results on NEC machines (as a side effect, the new calculation is much
1759faster).<br> <br>
1760Two errors concerning switch to PE0 (multigrid method) removed from<span style="font-family: monospace;"> init_pegrid</span>.<br>
1762Two errors in<span style="font-family: monospace;">
1763plot_2d </span>removed:
1764local_2d is allocated with upper bound<span style="font-family: monospace;"> nzt</span> (former<span style="font-family: monospace;"> nzt+1 </span>was
1765wrong), additional barrier in case that PE0 gathers data from the other
1766PEs, this barrier had to be set at the end of the gathering because
1767otherwise PE0 sometimes received wrong data on tag 0.<br> <br>
1768Use of module indices removed from routine<span style="font-family: monospace;"> split_1dd </span>in<span style="font-family: monospace;"> poisfft </span>since
1769it caused
1770errors in case of<span style="font-family: monospace;"> nx
1771/= ny </span>and
1772a 1D-decomposition along y.<br> <br>
1773Wrong re-definition of dx2 and dy2 in<span style="font-family: monospace;"> sor </span>removed.<br>
1774</td> <td style="vertical-align: top;">advec_particles,
1776init_pegrid, plot_2d, poisfft, sor<br> </td> </tr> <tr>
1777<td style="vertical-align: top;">23/04/05<br> </td>
1778<td style="vertical-align: top;">SR<br> </td>
1779<td style="vertical-align: top;">2.9a<br> </td>
1780<td style="vertical-align: top;">C<br> </td> <td style="vertical-align: top;">Additional check for
1781incompatibilities between non-cyclic lateral boundary conditions and
1782other schemes.<br> <br>
1783fcl_factor renamed cfl_factor.<br> <br>
1784New local array sums_ll declared in flow_statistics instead of
1785temporarily using sums_l.<br> <br>
1786crmax (maximum number of crosses allowed in a plot of vertical
1787profiles) increased from 20 to 100.<br> </td> <td style="vertical-align: top;">calc_spectra, check_parameters,
1788flow_statistics, header, modules, parin, timestep<br> </td>
1789</tr> <tr> <td style="vertical-align: top;"><br>
1790</td> <td style="vertical-align: top;"><br> </td>
1791<td style="vertical-align: top;"><br> </td> <td style="vertical-align: top;">E<br> </td> <td style="vertical-align: top;">Revised calculation of output
1792time counters regarding a possible decrease of the output time interval
1793in case of restart runs.<br> <br>
1794Error removed in Dirichlet bottom boundary conditions for pt and q in
1795case of Runge-Kutta schemes.<br> <br> <span style="font-weight: bold;">batch_scp</span> calls
1797for determining correct filenames for AVS-fld-files) is given the
1798remote username as an additional argument.<br> <br>
1799Default setting of outflow_damping_width corrected.<br> <br>
1800Initial horizontal velocities at the lowest grid levels in the 1d-model
1801are set to a very small value in order to avoid wrong results and the
1802resulting too small timesteps.<br> <br>
1803Implicit counters i renamed i9 in modules due to declaration conflicts
1804with i in other subroutines (reported by Portland compiler).<br> </td>
1805<td style="vertical-align: top;">advec_particles,
1807check_open, check_parameters, init_1d_model, modules, time_integration<br>
1808</td> </tr> <tr> <td style="vertical-align: top;">18/05/05<br> </td>
1809<td style="vertical-align: top;">SR<br> </td>
1810<td style="vertical-align: top;">2.10<br> </td>
1811<td style="vertical-align: top;">N<br> </td> <td style="vertical-align: top;">NetCDF support implemented.<br>
1812Profiles, time series, spectra, cross-sections, 3d-volume-data and
1813particle data can now be output in NetCDF format (file handles
1814101-108). This output can be switched on with the new d3par-parameter <span style="font-family: monospace;">data_output_format</span>.
1815So far, this support is available on IBM systems at HLRN and on the NEC
1816system 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
1817possible.<br> <br>
1818Output of cross sections for qv, vpt and lwp (liquid water path).<br>
1819</td> <td style="vertical-align: top;">advec_particles,
1821check_parameters, close_file, header, modules, parin, plot_1d, plot_2d,
1822plot_3d, plot_spectra, plot_ts, read_var_list, write_var_list<br>
1823<br> <span style="font-weight: bold;">new:</span><br>
1824netcdf<br> </td> </tr> <tr> <td style="vertical-align: top;"><br> </td> <td style="vertical-align: top;"><br> </td> <td style="vertical-align: top;"><br> </td> <td style="vertical-align: top;">C<br> </td> <td style="vertical-align: top;">In <span style="font-family: monospace;">calc_spectra</span>, n
1825is assigned the
1826number of spectra (formerly, the number of spectra was given by n-1)<br>
1828Abort if <span style="font-family: monospace;">poisfft_hybrid</span>
1829is called in a non-parallel environment.<br> <br>
1830Default values of spectra package parameters <span style="font-family: monospace;">pl_spectra</span> and <span style="font-family: monospace;">spectra_direction</span>
1831changed.<br> </td> <td style="vertical-align: top;">calc_spectra,
1833modules, pres, read_3d_binary, write_3d_binary<br> </td> </tr>
1834<tr> <td style="vertical-align: top;"><br> </td>
1835<td style="vertical-align: top;"><br> </td> <td style="vertical-align: top;"><br> </td> <td style="vertical-align: top;">E<br> </td> <td style="vertical-align: top;">Missing argument in ffty
1836(non-parallel case) added.<br> <br>
1837Error in output of particle inertia information removed.<br> </td>
1838<td style="vertical-align: top;">poisfft, header<br>
1839</td> </tr> <tr> <td style="vertical-align: top;">05/07/05<br> </td>
1840<td style="vertical-align: top;">SR<br> </td>
1841<td style="vertical-align: top;">2.11<br> </td>
1842<td style="vertical-align: top;">N/C<br> </td>
1843<td style="vertical-align: top;">New cloud physics code
1844implemented, which explicitly simulates single cloud droplets,
1845including droplet growth by condensation and collision. Using this code
1846requires to set the new inipar-parameter <span style="font-family: monospace;">cloud_droplets</span>
1847= .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>).
1848Coupling between droplets and the thermodynamic quantities (potential
1849temperature and specific humidity) is regarded in the new subroutine <span style="font-family: monospace;">interaction_droplets_ptq</span>.
1850The real number of droplets in a grid cell can steered by the new
1851inipar-parameter <span style="font-family: monospace;">initial_weighting_factor</span>.<br>
1852<br> <span style="font-weight: bold;">This code
1853will be further extended and probably changed in the near future, so
1854the current status is that of a test version!</span><br> <br>
1855In connection with this new code implementation, several changes has
1856been made to the existing code:<br> <br>
1857The particle (droplet) size is now given as radius (previously
1858diameter). E.g., the name of the respective package parameter <span style="font-family: monospace;">diameter</span> has
1859changed to <span style="font-family: monospace;">radius</span>.<br>
1861The current weighting_factor and radius are stored as additional
1862particle attributes in the type structure <span style="font-family: monospace;">particle_type</span>.
1863The MPI data type <span style="font-family: monospace;">mpi_particle_type</span>,
1864needed for exchanging particles between subdomains, has been changed
1865correspondingly.<br> <br> <span style="font-family: monospace;">gas_constant</span> is
1866renamed <span style="font-family: monospace;">r_d</span>,
1867<span style="font-family: monospace;">latent_heat</span>
1868is renamed <span style="font-family: monospace;">r_v</span>,
1869the allowed string length of <span style="font-family: monospace;">pl2d</span>
1870and <span style="font-family: monospace;">pl3d</span>
1871is increased from 6 to 10.<br> <br>
1872New 3d arrays <span style="font-family: monospace;">ql_1</span>,
1873<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
1874pointer, new pointer <span style="font-family: monospace;">ql_c</span>.<br>
1876Data format for unit 85 (particle data output) is changed.</td> <td style="vertical-align: top;">advec_particles.f90
1877check_open.f90, header.f90, init_3d_model.f90, init_cloud_physics.f90,
1878init_particles.f90, modules.f90, package_parin.f90, parin.f90,
1879plot_2d.f90, plot_3d.f90, read_var_list.f90, time_integration.f90,
1880write_var_list.f90<br> <br> <span style="font-weight: bold;">new:</span><br>
1881interaction_droplets_ptq.f90</td> </tr> <tr> <td style="vertical-align: top;"><br> </td> <td style="vertical-align: top;"><br> </td> <td style="vertical-align: top;"><br> </td> <td style="vertical-align: top;">C<br> </td> <td style="vertical-align: top;">Default value of <span style="font-family: monospace;">call_psolver_at_all_substeps</span>
1882is <span style="font-style: italic;">.TRUE.</span>,
1883because small scale waves occured with <span style="font-style: italic;">.FALSE.</span></td> <td style="vertical-align: top;">modules.f90</td> </tr>
1884<tr> <td style="vertical-align: top;"><br> </td>
1885<td style="vertical-align: top;"><br> </td> <td style="vertical-align: top;"><br> </td> <td style="vertical-align: top;">E<br> </td> <td style="vertical-align: top;">2d- and 3d-NetCDF-files are not
1886opened 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> <br>
1887No opening of units 101 - 108 in case of missing NetCDF support.</td>
1888<td style="vertical-align: top;">check_open.f90, netcdf.f90<br>
1889</td> </tr> <tr> <td style="vertical-align: top;">30/06/05<br> </td>
1890<td style="vertical-align: top;">GS<br> </td>
1891<td style="vertical-align: top;">2.11a<br> </td>
1892<td style="vertical-align: top;">C<br> </td> <td style="vertical-align: top;">Scalars ug and vg have been
1893changed into
1894arrays in order to allow the specification of a geostrophic wind that
1895depends on height (baroclinicity). The initial profiles of the the
1896u- and v-component of the geostrophic wind are initialized by
1897specifying the new initialization parameters <span style="font-family: monospace;">ug_surface</span>, <span style="font-family: monospace;">ug_vertical_gradient</span>,
1898<span style="font-family: monospace;">ug_vertical_gradient_level</span>
1899and <span style="font-family: monospace;">vg_surface</span>,
1900<span style="font-family: monospace;">vg_vertical_gradient</span>,
1901<span style="font-family: monospace;">vg_vertical_gradient_level</span>,
1902respectively. <br> <br>
1903The former initialization parameters <span style="font-family: monospace;">ug</span> and <span style="font-family: monospace;">vg</span> have been
1904removed. <br> </td> <td style="vertical-align: top;">boundary_conds,
1905check_parameters, coriolis, header, init_1d_model, modules, parin,
1906prognostic_equations, read_var_list, spline_z, write_var_list<br>
1907</td> </tr> <tr> <td style="vertical-align: top;"><br> </td> <td style="vertical-align: top;"><br> </td> <td style="vertical-align: top;"><br> </td> <td style="vertical-align: top;">E<br> </td> <td style="vertical-align: top;">Error in the calculation of u_0
1909v_0 in production_e.f90 removed.<br> <br> <span style="font-weight: bold;">Attention:</span> <br>
1910The content of the testresult-file (run control output) has changed
1911due to this modification.<br> </td> <td style="vertical-align: top;">production_e<br> </td>
1912</tr> <tr> <td style="text-align: left; vertical-align: top;">20/10/05</td>
1913<td style="vertical-align: top;">SR</td> <td style="vertical-align: top;">2.11b</td> <td style="vertical-align: top;">N/C</td> <td style="vertical-align: top;">Collision process for droplet
1914growth completed.<br> <br> <span style="font-weight: bold;">The droplet code is still under
1915development and requires further speed optimization!<br> <br>
1916</span>Number of particles really used is additionally output on
1917the netcdf particle data file.<span style="font-weight: bold;"></span></td>
1918<td style="vertical-align: top;">advec_particles, modules,
1919netcdf</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;">The
1920last PE in a row is not allowed to have more grid points than the other
1921PES (only less). Jobs crashed in these cases that the last PE has more
1922grid points. Therefore, the number of gridpoints along x (and y) must
1923now meet a special condition which is checked in case that <span style="font-family: monospace;">grid_matching</span> =
1924<span style="font-style: italic;">'match'</span> is
1925used.<br> <br>
1926Error removed in calculating y axis data for yz cross sections. Error
1927in output of netcdf yz-cross-sections removed.<br> <br>
19282*r replaced by r in the exponential term of the particle momentum
1930Error in output of yz-slice information removed.</td> <td style="vertical-align: top;">advec_particles, header,
1931init_pegrid, netcdf, plot_2d</td> </tr> <tr> <td style="vertical-align: top;">06/12/05</td> <td style="vertical-align: top;">SR</td> <td style="vertical-align: top;">2.11c</td> <td style="vertical-align: top;">N</td> <td style="vertical-align: top;">Output of ql profile is allowed
1932in case of using cloud droplets.</td> <td style="vertical-align: top;">check_parameters,
1933flow_statistics, modules</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;">The horizontally averaged pt
1934profile is calculated within<span style="font-family: monospace;">
1935buoyancy </span>only
1936in case of the first respective intermediate timestep. This is done in
1937order to spare communication time and to produce identical model
1938results with jobs which are calling<span style="font-family: monospace;"> flow_statistics </span>at
1939different time intervals.<br> <br>
1940Error in netcdf variable declaration for<span style="font-family: monospace;"> statistic_regions </span>/=
1941<span style="font-style: italic;">0</span> removed.</td>
1942<td style="vertical-align: top;">buoyancy, netcdf</td>
1943</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
1944topography (buildings, mountains, etc.)</span><br style="font-weight: bold;"><br>Besides
1945the implementation of topography, this version contains several other
1946improvements. The most important ones are listed here:<br><ul><li>The
1947cloud droplet code has been optimized (it now runs about 100 times
1948faster than before).</li><li>Output of time-averaged 2d/3d
1949data (sections / volume data) is possible.</li><li>Output
1950of 2d-section data averaged along the direction normal to this section
1951can be done.</li><li>The user-interface has been extended
1952in order to allow 2d-/3d-output of user-defined quantities.</li></ul>The
1953kind of topography to be used is controlled by the new initialization
1954parameter <span style="font-family: monospace;">topography</span>.
1955Allowed values are <span style="font-style: italic;">'flat'</span>,
1956<span style="font-style: italic;">'single_building'</span>,
1957and <span style="font-style: italic;">'read_from_file'</span>.
1958The user can define his own special topography setting within the new
1959user-interface routine <span style="font-family: monospace;">user_init_grid</span>.
1960For the single building case, the&nbsp;building (rectangular) size
1961and position can be controlled with parameters <span style="font-family: monospace;">building_height</span>,
1962<span style="font-family: monospace;">building_length_x</span>,
1963<span style="font-family: monospace;">building_length_y</span>,
1964<span style="font-family: monospace;">building_wall_left</span>,
1965and <span style="font-family: monospace;">building_wall_south</span>.<br>
1967The topography code is already optimized (vectorized) for use on the
1968NEC-SX6.<br><br>Output of time-averaged 2d-/3d-data can be
1969enabled by appending the string <span style="font-style: italic;">'_av'</span>
1970to the respective output quantities given with the new
1971runtime-parameter <span style="font-family: monospace;">data_output</span>
1972(see further below for the (name)changes in the parameters for data
1973output). Example: if a time-average of the vertical cross-section of
1974potential 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>.
1975In case of NetCDF-output, the time-averaged data is output to
1976additional files (seperate from the non-averaged output). The length of
1977the averaging interval and the temporal distance of the single
1978instantaneous sections (volumes) entering into this averaging is
1979controlled by the new runtime-parameters <span style="font-family: monospace;">averaging_interval</span>and
1980<span style="font-family: monospace;">dt_averaging_input</span>.
1981<br><br>An average normal to the direction of a
1982cross-section can be output by setting the respective cross section
1983index to <span style="font-style: italic;">-1</span>
1984(example: <span style="font-family: monospace;">section_xz</span>
1985= <span style="font-style: italic;">-1</span>).<br><br>New
1986user-interface routines allowing the output of user-defined quantities
1987are <span style="font-family: monospace;">user_check_data_output</span>,
1988<span style="font-family: monospace;">user_define_netcdf_grid</span>,
1989<span style="font-family: monospace;">user_data_output_2d</span>,
1990<span style="font-family: monospace;">user_data_output_3d</span>,
1991and <span style="font-family: monospace;">user_3d_data_averaging</span>.
1992These quantities can be calculated using the new <span style="font-family: monospace;">CASE</span>-Entry <span style="font-style: italic;">'after integration'</span>
1993in the user-interface routine <span style="font-family: monospace;">user_actions</span>.<br><br>Optimization
1994of the cloud droplet code is mainly done by re-sorting all particles
1995after every timestep in a way that now all particles which belong to
1996the same grid-box (k,j,i) are stored consecutively (wthout any strides)
1997in memory.<br> <br>
1998Code adaptation for the IBM at the department of atmospheric sciences,
1999Yonsei 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
2000of particle tails now requires setting of the new package-parameter <span style="font-family: monospace;">use_particle_tails</span>.
2001The new parameter skip_particles_for_tail allows only every <span style="font-family: monospace;">skip_particle_for_tail</span>'th
2002parameter having a tail.</li><li>Initialization-parameter <span style="font-family: monospace;">e_min</span> can be
2003used to set a lower limit for the subgrid-scale TKE (i.e. to guarantee
2004a lower limit for the flow's Reynolds-number).</li><li>A
2005conservation of the volume flow (through the complete xz- and
2006yz-sections &nbsp;of the total domain) can be enforced by the new
2007initialization-parameter <span style="font-family: monospace;">conserve_volume_flow</span>.</li><li>Data
2008output can be skipped for a given time interval from simulation start
2009(t=0) using new runtime-parameters <span style="font-family: monospace;">skip_time_dopr</span>,
2010<span style="font-family: monospace;">skip_time_dosp</span>,
2011<span style="font-family: monospace;">skip_time_do2d_xy</span>,
2012<span style="font-family: monospace;">skip_time_do2d_xz</span>,
2013<span style="font-family: monospace;">skip_time_do2d_yz</span>,
2014and <span style="font-family: monospace;">skip_time_do3d</span>.<br>
2015</li><li>By default, NetCDF output is now using 64-bit
2016offset format
2017(large file support) on most machines. The user can switch to the
201832-bit offset format with the new runtime-parameter <span style="font-family: monospace;">netcdf_64bit</span>.
2019Units 111:113&nbsp; and 116 are opened for NetCDF output of
2020time-averaged 2d-3d data.<br> </li> <li>Data
2021logging routines are added (see file data_log.f90), which can be used
2022for debugging purposes. Output is done on unit 20 (local file
2023name/directory name DATA_LOG).</li> <li>New routine <span style="font-family: monospace;">exchange_horiz_2d_int</span>
2024for&nbsp; ghostpoint exchange of 2d-integer arrays. Routine <span style="font-family: monospace;">exchange_horiz_2d</span>
2025is extended for non-cyclic boundary conditions in the non-parallel case.</li>
2026<li>Two different methods for calculating the mixing length and
2027the dissipation can be used in the 1d-model. These are steered by the
2028new initializing-parameters <span style="font-family: monospace;">dissipation_1d</span>
2029and <span style="font-family: monospace;">mixing_length_1d</span>.<br>
2031</ul></td><td style="vertical-align: top;">advec_particles,
2033advec_s_up, advec_u_pw, advec_u_up, advec_v_pw, advec_v_up, advec_w_pw,
2034advec_w_up, boundary_conds, buoyancy, check_open, check_parameters,
2035close_file, coriolis, diffusion_e, diffusion_s, diffusion_u,
2036diffusion_v, diffusion_w, diffusivities, disturb_field,
2037disturb_heatflux, exchange_horiz_2d, exchange_horiz, flow_statistics,
2038header, init_1d_model, init_3d_model, init_grid, init_particles,
2039init_pegrid, modules, netcdf, package_parin, parin, poisfft,
2040prandtl_fluxes, pres, production_e, prognostic_equations,
2041read_3d_binary, read_var_list, run_control, time_integration,
2042user_interface, write_3d_binary, write_var_list<br> <br> <span style="font-weight: bold;">new:</span><br>
2043average_3d_data, data_log, sum_up_3d_data<br> <br> <span style="font-weight: bold;">renamed:<br> </span>plot_dvrp
2044-&gt; data_output_dvrp<br>
2045plot_spectra -&gt; data_output_spectra<br>
2046plot_ts -&gt; data_output_tseries<br>
2047plot_1d -&gt; data_output_profiles<br> <span style="font-weight: bold;"></span>plot_2d -&gt;
2049plot_3d -&gt; data_output_3d<br>
2050</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
2051parallel mode, all PEs are opening the same copy of the
2052NAMELIST-parameter file <span style="font-family: monospace;">PARIN</span>,
2053i.e. from now on, the file attribute "<span style="font-family: monospace;">npe</span>" must be
2054removed from the corresponding file connection statements in the <span style="font-weight: bold;">mrun</span> configuration
2055file (.mrun.config).<br><br>A
2056large number of parameter names and local filenames have been changed
2057(see&nbsp;list below). Most of them are parameters concerning data
2058output (do). The former denotations "plot" and "pl" have been changed
2059to "data_output" and "do", respectively. In addition to these changes,
2060the names of many internal PALM parameters and variables have also
2061changed.<br><br>Restart runs now require setting of the
2062initialization-parameter <span style="font-family: monospace;">initializing_actions</span>
2063= <span style="font-style: italic;">'read_restart_data'</span>.<br>
2065Concerning particles, the parameters <span style="font-family: monospace;">psl</span>, <span style="font-family: monospace;">psr</span>, <span style="font-family: monospace;">pdx</span>,
2066etc., which are controlling the position of the particle source and the
2067number of particles within this source, are now 1d-arrays. This allows
2068to define different particle sources for different particle groups.<br>
2070The number of particle groups has to be set by the user (no automatic
2071calculation from the value of parameter <span style="font-family: monospace;">density_ratio</span>
2072any more)<span style="font-style: italic;"></span>.
2073Variable <span style="font-family: monospace;">idum</span>
2074in type <span style="font-family: monospace;">particle_type</span>
2075has been renamed <span style="font-family: monospace;">tail_id</span>.<br><br>Output
2076for units 15 and 17 flushed in <span style="font-family: monospace;">init_1d_model</span>.<br><br>List
2077of 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>
2078</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
2079is 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>
2080</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>
2081</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>
2082</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>
2083</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>
2084</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>
2085</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>
2086</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>
2087</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>
2088</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>
2089</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>
2090</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>
2091</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>
2092</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>
2093</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
2094are 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>
2095</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>
2096</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>
2097</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>
2098</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>
2099</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>
2100</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>
2101</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>
2102</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>
2103</td></tr></tbody></table></td><td style="vertical-align: top;">advec_particles,
2104advec_s_bc, check_parameters, check_open, close_file,
2105data_output_dvrp,&nbsp; data_output_profiles, data_output_tseries,
2106data_output_2d, data_output_3d, flow_statistics, header, init_1d_model,
2107init_3d_model, init_dvrp, init_particles, init_pegrid, init_slope,
2108modules, netcdf, package_parin, palm, parin, print_1d, read_var_list,
2109run_control, time_integration, timestep, write_compressed,
2111</td></tr><tr><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td style="vertical-align: top;">E</td><td>Error in
2112the 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
2113boundary has been fixed.<br> <br>
2114Error removed getting the variable ids for <span style="font-family: monospace;">_ext</span> for
2115profiles and time series.<br><br>NetCDF calls in <span style="font-family: monospace;">data_output_tseries</span>
2116only if NetCDF output is switched on.<br><br>Output of the
2117initial geostrophic wind profile corrected.<br><br>Maximum
2118possibel timestep for Runge-Kutta-schemes reduced, error concerning
2119initialization of&nbsp; <span style="font-family: monospace;">l_black</span>
2120removed (both in <span style="font-family: monospace;">init_1d_model</span>).<br>
2121</td><td style="vertical-align: top;">advec_particles,
2122data_output_tseries, header, init_particles, init_1d_model, netcdf<br>
2123</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
2124the cache-optimized PALM code.<br><br>OpenMP
2125directives have been added where necessary. Still further tuning will
2126be necessary to get optimum performance. Other parts of the code than
2127the cache-optimized code still need to be (OpenMP-) parallelized. <br><br>So
2128far, 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>
2129and <span style="font-family: monospace;">-O</span>,
2130i.e. when the Option <span style="font-family: monospace;">-O</span>
2131is given, the <span style="font-family: monospace;">-T</span>
2132argument is interpreted as the number of threads to be used. When <span style="font-family: monospace;">-O</span> is given,
2133the number of MPI tasks per node is automatically set to <span style="font-style: italic;">1</span>.<br><br>Beside
2134the additional compiler directives, the main code change required by
2135the OpenMP parallelization is that global sums are now calculated by
2136first calculating local sums on each thread. As the next step, local
2137sums are calculated from these thread sums for each MPI task before the
2138global sum is computed via MPI_ALLREDUCE.&nbsp; For storing the
2140sums, arrays sums_l and sums_l_l now have three dimensions where the
2141number of elements of the third dimension is equal to the number of
2142OpenMP threads.</td><td align="left" valign="top">buoyancy,
2143cpu_statistics, diffusivities, flow_statistics, header, init_pegrid,
2144init_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
2145correction for Piacsek &amp; Williams advection scheme: keep u and
2147zero 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>
2148nzb_s_inner(j,i) replaced by nzb in determination of z_i.<br><br>Errors
2149removed in the computation of the diabatic mixing length (<span style="font-family: monospace;">init_1d_model.f90</span>).<br><br>Error
2150removed in extend mode when checking whether the selected cross
2151sections match those in the already existing NetCDF file (<span style="font-family: monospace;">netcdf.f90</span>).</td><td align="left" valign="top">flow_statistics,
2152init_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
2153system 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,
2154local_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-
2155and 3d-datasets now contain the exact coordinates of the variables
2156along x and y with respect to the positions where they are defined on
2157the staggered grid.<br><br>NetCDF datasets of cross
2158sections (e.g. <span style="font-family: monospace;">DATA_2D_XY_NETCDF</span>)
2159are only opened if the respective cross sections are really requested
2160by the settings of parameter <span style="font-family: monospace;">data_output</span>.</td><td align="left" valign="top">check_parameters,
2161data_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>
2162instead 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
2163scale velocities can (optionally) be included for calculating the
2164particle advection, using the method of Weil et al. (2004, JAS, 61,
21652877-2887). This method is switched on by the new particle package
2166parameter <span style="font-family: monospace;">use_sgs_for_particles</span>.
2167This also forces the Euler/upstream method to be used for time
2168advancement of the TKE (see new parameter <span style="font-family: monospace;">use_upstream_for_tke</span>).
2169The minimum timestep during the sub-timesteps is controlled by
2170parameter <span style="font-family: monospace;">dt_min_part</span>.
2171The data type <span style="font-family: monospace;">particle_type</span>
2172has additional new attributes <span style="font-family: monospace;">e_m</span>,
2173<span style="font-family: monospace;">dt_sum</span>,
2174and <span style="font-family: monospace;">speed_x/y/z_sgs</span>.<br><br>Other
2175new particle features: output of particle quantities as timeseries in
2176NetCDF format (on local file <span style="font-family: monospace;">DATA_1D_PTS_NETCDF</span>).
2177The output time interval is controlled by parameter <span style="font-family: monospace;">dt_dopts</span>.
2178Particle advection can be switched off after some time using parameter <span style="font-family: monospace;">end_time_prel</span>.
2179More than one particle per point can be started with parameter <span style="font-family: monospace;">particles_per_point</span>.<br><br>Additional
2180parameter in function <span style="font-family: monospace;">random_gauss</span>
2181which limits the range of the created random numbers to five times the
2182standard deviation (=1). Seeds <span style="font-family: monospace;">iran</span>
2183and <span style="font-family: monospace;">iran_part</span>
2184are stored for restart runs.</td><td align="left" valign="top">advec_particles,
2185check_open, check_parameters, close_file, diffusion_e,
2186disturb_heatflux, header, init_3d_model, init_particles, modules,
2187netcdf, package_parin, parin, prognostic_equations, random_gauss,
2188read_3d_binary, read_var_list, time_integration, write_3d_binary,
2189write_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
2190after call of subroutine <span style="font-family: monospace;">init_3d_model</span>.
2191Generation of <span style="font-family: monospace;">run_description_header</span>
2192is moved from routines <span style="font-family: monospace;">palm</span>
2193and <span style="font-family: monospace;">header</span>
2194to <span style="font-family: monospace;">check_parameters</span>.
2195Determination 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,
2196disturb_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
2197do2d_unit and do3d_unit now defined as 2d-arrays. Before, in some
2198cases, the units of variables in the 2d- and 3d-NetCDF-files have been
2199wrong.<br><br>In routine <span style="font-family: monospace;">poisfft</span> default
2200setting of the thread number tn in case of not using OpenMP.<br><br>Error
2201removed in the non-parallel part of routine <span style="font-family: monospace;">flow_statistics</span>
2202(number of arguments of array <span style="font-family: monospace;">sums_l</span>).<br><br>Error
2203removed which appeared if the user had decreased the value of <span style="font-family: monospace;">dt_dopr</span> within
2204a job chain and if simulataneous time averaging of profiles was
2205switched on.</td><td align="left" valign="top">check_parameters,
2206data_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
2207particle group, seperate output of timeseries for each of the groups.<br><br>New
2208initial parameter <span style="font-family: monospace;">dz_max</span>,
2209which limits the vertical gridspacing in case of a vertically stretched
2210grid.</td><td style="vertical-align: top;">data_output_ptseries,
2211header, 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
2212for the last Runge-Kutta-substep. <br><span style="font-weight: bold;">Attention:</span> <br>
2213The content of the testresult-file (run control output) has changed
2214due to this modification.<br><br>Output of xz and yz cross
2215sections now up to gridpoint nzt+1.<br><br>Default settings
2216of particle start positions changed.</td><td style="vertical-align: top;">check_open, close_file,
2217data_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
2218arrays (t.._m) needed for the Runge-Kutta schemes.<br><br>Bugfix
2219in index array initialization for line- or point-like topography
2220structures.<br><br>Bugfix: yv coordinates are now used for
2221yz 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
2222is the last revision before switching to the subversion revison control
2223system!<br><br>Informative output to the job protocoll in
2224case 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
2225are now read from local file <span style="font-family: monospace;">ENVPAR</span>
2226instead of getting them by a system call.<br><br>For
2227interpolation in <span style="font-family: monospace;">advec_particles</span>,
2228allways level k is used.</td><td style="vertical-align: top;">advec_particles,
2229local_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>:
2230new particles are released only if <span style="font-family: monospace;">end_time_prel</span>
2231&gt; <span style="font-family: monospace;">simulated_time</span>,&nbsp;transfer
2232of particles when x &lt; -0.5*dx (0.0 before), etc., index i,j used
2233instead of cartesian (x,y) coordinate to check for transfer because
2234this failed under very rare conditions, calculation of number of
2235particles with same radius as the current particle (cloud droplet code).<br><br>Allocation
2236of <span style="font-family: monospace;">tail_mask</span>
2237and <span style="font-family: monospace;">new_tail_id</span>
2238in 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
2239the top with new inipar parameters <span style="font-family: monospace;">top_heatflux</span>
2240and <span style="font-family: monospace;">use_top_fluxes</span>.
2241New 2d-arrays <span style="font-family: monospace;">qswst</span>,
2242<span style="font-family: monospace;">qswst_m</span>,
2243<span style="font-family: monospace;">tswst</span>
2244and <span style="font-family: monospace;">tswst_m</span>
2245are used to store this flux. Use of fluxes are controlled with new
2246index variable <span style="font-family: monospace;">nzt_diff</span>.
2247A Neumann boundary condition for temperature can be applied under these
2248conditions.<br><br>Additionally, a Dirichlet condition for
2249temperature can be used at the top.<br><br><span style="font-weight: bold;">Attention:</span> <br>
2250The content of the testresult-file (run control output) has changed
2251due to this modification.</td><td style="vertical-align: top;">check_parameters,
2252diffusion_s, flow_statistics, header, init_grid, init_3d_model,
2253modules, parin, production_e, prognostic_equations, read_var_list,
2254read_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
2255scalars are now solved up to gridpoint nzt (formerly nzt-1).
2256Boundary conditions for scalars at top adjusted respectively (now
2257applied only at nzt+1).<br><br>The
2258default top boundary condition for temperature has been renamed to <span style="font-style: italic;">'initial_gradient'</span>.<br><br>Calls
2259of dvrp_output_local,
2260which were commented out for a long time, are now activated for all
2261streams.</td><td style="vertical-align: top;">advec_s_pw,
2262boundary_conds, calc_precipitation, check_parameters, diffusion_e,
2263diffusion_s, impact_of_latent_heat, init_dvrp, init_pt_anomaly,
2264modules, 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 p is not a
2265pointer any more.<br><br>Bugfix in init_particles:
2267argument in MPI_ALLREDUCE
2268replaced by<br>MPI_INTEGER
2269(caused error on NEC only).<br><br>Bugfix:&nbsp; ddzw now
2270dimensioned 1:nzt"+1".</td><td style="vertical-align: top;">diffusion_e, diffusion_s,
2271diffusion_u, diffusion_v, diffusion_w, init_particles, modules</td></tr><tr><td style="vertical-align: top;">29/03/07</td><td style="vertical-align: top;">SR</td><td style="vertical-align: top;">3.2</td><td style="vertical-align: top;">N</td><td style="vertical-align: top;">The code, including scripts, utility programs and documentation is now under full control of <span style="font-family: Courier New,Courier,monospace;">subversion</span>. This revision includes a quite large number of new features, changes and bugfixes.<br>&nbsp;<br>Particle reflection from vertical walls implemented. The particle SGS model is also adjusted to these vertical walls.<br><br>Wall functions for vertical walls now include diabatic conditions. New subroutines <span style="font-family: Courier New,Courier,monospace;">wall_fluxes</span>, <span style="font-family: Courier New,Courier,monospace;">wall_fluxes_e</span>. New 4D-array <span style="font-family: Courier New,Courier,monospace;">rif_wall</span>.<br><br>Calculation/output of precipitation amount, precipitation rate and z0 (by setting "<span style="font-style: italic;">pra*</span>", "<span style="font-style: italic;">prr*</span>", "<span style="font-style: italic;">z0*</span>" with <span style="font-family: Courier New,Courier,monospace;">data_output</span>). The time interval on which the precipitation amount is defined is set by new d3par-parameter <span style="font-family: Courier New,Courier,monospace;">precipitation_amount_interval</span>.<br><br>New inipar-parameter <span style="font-family: Courier New,Courier,monospace;">loop_optimization</span> to control the loop optimization method.<br><br>New
2272inipar-parameter <span style="font-family: Courier New,Courier,monospace;">pt_reference</span>. If given, this value is used as the
2273reference that is used in the buoyancy terms (otherwise, the instantaneous
2274horizontally averaged temperature is used).<br><br>New d3par-parameter <span style="font-family: Courier New,Courier,monospace;">netcdf_64bit_3d</span>
2275to switch on and especially to switch off 64bit offset&nbsp;for 3D
2276files only (because still some pd-software is unable to handle 64bit
2277offset).<br><br>New d3par-parameter <span style="font-family: Courier New,Courier,monospace;">dt_max</span> to set the maximum&nbsp;value allowed for the&nbsp;timestep. <br><br>New user interfaces <span style="font-family: Courier New,Courier,monospace;">user_advec_particles</span> and <span style="font-family: Courier New,Courier,monospace;">user_init_3d_model</span>. The new initializing action "<span style="font-style: italic;">by_user</span>" calls <span style="font-family: Courier New,Courier,monospace;">user_init_3d_model</span> and allows the initial setting of all 3d arrays under complete user control.<br><br>Samples added to the user interface which show how to add user-define time series quantities.<br><br>Topography height informations are stored on arrays <span style="font-family: Courier New,Courier,monospace;">zu_s_inner</span> and <span style="font-family: Courier New,Courier,monospace;">zw_w_inner</span> and output to the 2d/3d NetCDF files.<br><br>Unit 9 is generally opened for output of debug informations (file <span style="font-family: Courier New,Courier,monospace;">DEBUG_&lt;pe#&gt;</span>).</td><td style="vertical-align: top;">Makefile<br><br>advec_particles,
2278average_3d_data, buoyancy, calc_precipitation, check_open,
2279check_parameters, data_output_2d, diffusion_e, diffusion_u,
2280diffusion_v, diffusion_w, diffusivities, header, impact_of_latent_heat,
2281init_particles, init_3d_model, modules, netcdf, parin, production_e,
2282read_var_list, read_3d_binary, sum_up_3d_data, user_interface,
2283write_var_list, write_3d_binary<br><br><span style="font-weight: bold;">new:</span><br>wall_fluxes<br></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;">General revision of non-cyclic horizontal boundary conditions:<br>Radiation boundary conditions are now used instead of Neumann conditions at the outflow (calculation needs velocity values for <span style="font-family: Courier New,Courier,monospace;">t-dt</span>, which are stored on new arrays <span style="font-family: Courier New,Courier,monospace;">u_m_l</span>, <span style="font-family: Courier New,Courier,monospace;">u_m_r</span>, etc.). The calculation of a mean outflow is not needed any more. Volume flow control is added for the outflow boundary (<span style="font-weight: bold;">currently only for the north boundary!!</span>). Additional gridpoints along x and y (<span style="font-family: Courier New,Courier,monospace;">uxrp</span>, <span style="font-family: Courier New,Courier,monospace;">vynp</span>) are not needed any more and removed from the code. Routine "<span style="font-family: Courier New,Courier,monospace;">boundary_conds</span>" now operates on timelevel <span style="font-family: Courier New,Courier,monospace;">t+dt</span> and is not split in two parts (<span style="font-style: italic;">main</span>, <span style="font-style: italic;">uvw_outflow</span>) any more. Neumann boundary conditions are used at inflow/outflow in case of non-cyclic boundary conditions <span style="font-weight: bold;">for all 2d-arrays</span> that are handled by <span style="font-family: Courier New,Courier,monospace;">exchange_horiz_2d</span>.<br><span style="font-weight: bold;">Attention:&nbsp;the
2284non-cyclic boundary conditions of this revision still contain some bugs
2285which will be removed within the next revisions!</span><br><br>The Bott-Chlond-scheme can now be used in the vectorization-optimized part (NEC, etc.). Equations are solved up to gridpoint <span style="font-family: Courier New,Courier,monospace;">nzt</span>.<br><br>The
2286FFT-method for solving the Poisson-equation is now working with Neumann
2287boundary conditions both at the bottom and the top. This requires
2288adjustments of the tridiagonal coefficients and subtracting the
2289horizontally averaged mean from the vertical velocity field.<br><br>Particles-package is now part of the default code ("<span style="font-family: Courier New,Courier,monospace;">-p particles</span>" is not needed as an <span style="font-weight: bold;">mrun</span>-option any more). New attribute <span style="font-family: Courier New,Courier,monospace;">age_m</span> in <span style="font-family: Courier New,Courier,monospace;">particle_type</span>.<br><br>Move call of <span style="font-family: Courier New,Courier,monospace;">user_actions</span>( '<span style="font-style: italic;">after_integration</span>' ) below the increments of times<br>and counters. <span style="font-family: Courier New,Courier,monospace;">user_actions</span> is now called for each statistic region and has as an argument the number of the respective region (<span style="font-family: Courier New,Courier,monospace;">sr</span>).<br><br>d3par-parameter <span style="font-family: Courier New,Courier,monospace;">data_output_ts</span> is removed. Timeseries output for <span style="font-weight: bold;">profil</span>-software removed. Timeseries are now switched on by setting <span style="font-family: Courier New,Courier,monospace;">dt_dots</span>. Timeseries data is collected in <span style="font-family: Courier New,Courier,monospace;">flow_statistics</span>.<br><br>Initial velocities at <span style="font-family: Courier New,Courier,monospace;">nzb+1</span>
2290are regarded for volume flow control in case they have been set zero
2291before (to avoid small timesteps); see new internal parameters <span style="font-family: Courier New,Courier,monospace;">u/v_nzb_p1_for_vfc</span>.<br><br><span style="font-family: Courier New,Courier,monospace;">q</span> is not allowed any more to become negative (<span style="font-family: Courier New,Courier,monospace;">prognostic_equations</span>).<br><br><span style="font-family: Courier New,Courier,monospace;">poisfft_init</span> is only called if the fft-solver is switched on (<span style="font-family: Courier New,Courier,monospace;">init_pegrid</span>).<br><br>d3par-parameter <span style="font-family: Courier New,Courier,monospace;">moisture</span> renamed to <span style="font-family: Courier New,Courier,monospace;">humidity</span>.<br><br>Subversion global revision number is read from <span style="font-weight: bold;">mrun</span> and added to the run description header and to the run control (<span style="font-family: Courier New,Courier,monospace;">_rc</span>) file.<br><br><span style="font-family: Courier New,Courier,monospace;">__vtk</span> directives removed from main program.<br><br>The uitility routine&nbsp;<span style="font-family: Courier New,Courier,monospace;">interpret_config</span> now reads PALM environment variables from <span style="font-family: Courier New,Courier,monospace;">NAMELIST</span> instead using the system call <span style="font-family: Courier New,Courier,monospace;">GETENV</span>.</td><td style="vertical-align: top;">advec_s_bc, advec_u_pw,
2292advec_u_up, advec_v_pw, advec_v_up, asselin_filter, boundary_conds, check_parameters,
2293coriolis, data_output_dvrp, data_output_ptseries, data_output_ts,
2294data_output_2d, data_output_3d, diffusion_u, diffusion_v,
2295disturb_field, exchange_horiz, exchange_horiz_2d, flow_statistics, header, init_grid,
2296init_particles, init_pegrid, init_rankine, init_pt_anomaly,
2297init_1d_model, init_3d_model, modules, palm, package_parin, parin,
2298poisfft, poismg, prandtl_fluxes, pres, production_e,
2299prognostic_equations, read_var_list, read_3d_binary, sor,
2300swap_timelevel, time_integration, write_var_list, write_3d_binary</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;">Bugfix: preset of tendencies <span style="font-family: Courier New,Courier,monospace;">te_em</span>, <span style="font-family: Courier New,Courier,monospace;">te_um</span>, and <span style="font-family: Courier New,Courier,monospace;">te_vm</span> (<span style="font-family: Courier New,Courier,monospace;">init_1d_model</span>).<br><br>Bugfix in sample for reading user defined data from restart file (<span style="font-family: Courier New,Courier,monospace;">user_init</span>).<br><br>Bugfix in setting diffusivities for cases with the outflow damping layer extending over more than one subdomain (<span style="font-family: Courier New,Courier,monospace;">init_3d_model</span>).<br><br>Check for possible negative humidities in the initial humidity profile.<br><br>In <span style="font-family: Courier New,Courier,monospace;">Makefile</span>, default suffixes are removed from the suffix list to avoid calling of <span style="font-family: Courier New,Courier,monospace;">m2c</span> in cases of existing <span style="font-family: Courier New,Courier,monospace;">.mod</span> files (problem on Linux systems).</td><td style="vertical-align: top;">Makefile<br><br>check_parameters, init_1d_model, init_3d_model, user_interface</td></tr>
2303If<tt> make </tt>is not used
2306<b>all routines</b> have to be re-compiled after every
2308to <b>modules.f90!</b>
2311<h2><a name="Kapitel2.0"></a>2.0&nbsp; How
2312to change the model source
2314&Auml;nderungen, Erweiterungen oder Fehlerkorrekturen am Modellcode
2316sind alle Modellteile, die nicht zur benutzereigenen Software
2318erfordern vom jeweiligen Benutzer Gruppenzugeh&ouml;rigkeit zur
2321Zu dieser Gruppe geh&ouml;ren alle Benutzer, die aktiv an der
2323mitwirken (im weiteren "Modellarbeitsgruppe" genannt).
2324<p>Die einzelnen Quelltextdateien des Modells werden mit RCS
2326Control System) verwaltet. Grundlegende Kenntnisse &uuml;ber dieses
2328werden im weiteren vorausgesetzt.
2329</p><p>&Auml;nderungen am Modellcode erfordern die
2332Aktionen in einer festgelegten Reihenfolge, die nun beschrieben werden
2334</p><ol> <li>Konzeptplanung.</li> <li>Diskussion
2335der geplanten &Auml;nderungen in der
2336Modellarbeitsgruppe.</li> <li>Auschecken der
2337ben&ouml;tigten Quelltextdateien,
2338Durchf&uuml;hrung der
2339&Auml;nderungen und Test des Modells. Die Modul-Datei <tt>modules.f90</tt>
2340sollte nur dann ausgecheckt werden, wenn dort aufgef&uuml;hrte
2342ver&auml;ndert werden. Neu geschaffene Variablen sollten
2345Testphase in ein ebenfalls tempor&auml;r neu zu schaffendes Modul
2347werden, das von den jeweiligen Programmteilen benutzt werden muss
2349entsprechender USE-Anweisungen). Die in den einzelnen Dateien
2351Arbeiten m&uuml;ssen in den Kopfzeilen (unter "Aktuelle
2354Dateien vermerkt werden. Dies tut man am besten noch <b>bevor</b>
2357eigentlichen &Auml;nderungen durchf&uuml;hrt (sonst droht das
2358Vergessen...).</li> <li>Zum Abschlu&szlig; der Tests
2359sollte mit dem Modell eine
2361durchgef&uuml;hrt und die Ergebnisse mit denen des sogenannten
2363verglichen werden. Diese Rechnung ist mit der <a href="">Konfigurationsdatei</a>
2364und der <a href="">Parameterdatei</a>
2365durchzuf&uuml;hren, die auch zum Testen der Modellinstallation
2367werden (s. <a href="Anwendung/Kapitel_5.0.html">Kapitel
23685.0</a> der
2370Die Ergebnisdatei mit dem lokalen Namen <a href="">RUN_CONTROL</a>
2371ist dann mit der <a href="">Beispiel-Ergebnisdatei</a>
2372zu vergleichen (Hinweis: Kopien der Konfigurationsdatei, Parameterdatei
2373und Beispiel-Ergebnisdatei erh&auml;lt man durch anklicken der
2375Links mit der linken Maustaste bei gleichzeitig gedr&uuml;ckter
2377Werden Abweichungen zwischen den beiden Ergebnisdateien festgestellt,
2379ist unbedingt eine Diskussion in der Modellarbeitsgruppe notwendig.</li>
2380<li>Nach Durchf&uuml;hrung der Tests m&uuml;ssen bei
2381Bedarf die
2383im tempor&auml;ren Modul eingetragenen Variablen in die
2386des Modells &uuml;bertragen werden. Dazu ist die Modul-Datei <tt>modules.f90</tt>
2387auszuchecken. Nach Eintrag der Variablen sollte das Modell noch einmal
2388testweise &uuml;bersetzt werden, um Sytaxfehler
2391auch noch einmal einen Probelauf starten). Die Verwendung des
2393Moduls ist aus allen entsprechenden Programmteilen zu entfernen.</li>
2394<li>Vergabe einer neuen Versionsnummer (Variable <tt>version</tt>
2396Modul <tt>steuer</tt>),
2397Bsp.: 2.3c. Kleinere &Auml;nderungen werden durch
2400Buchstaben kenntlich gemacht, gr&ouml;&szlig;ere
2401&Auml;nderungen durch
2402die Zahl hinter dem Punkt. Eine Inkrementierung der Zahl vor dem Punkt
2403geschieht nur bei ganz grunds&auml;tzlichen Revisionen des Modells,
2405weite Teile des Modellcodes betreffen.</li> <li>Nun
2406k&ouml;nnen die ausgecheckten Dateien wieder eingecheckt
2409dem Einchecken sind in den Dateien die Vermerke unter "Aktuelle
2411zu entfernen und beim check-in - Kommando als Log-Text anzugeben. Sie
2413dann in der jeweiligen Datei unter "Fruehere Aenderungen" zusammen mit
2414der vom RCS-System vergebenen Versionsnummer (daf&uuml;r sorgt die
2416... $ - Zeile, die in jeder Quelltextdatei steht).</li> <li>Eine
2417Zusammenfassung der durchgef&uuml;hrten Arbeiten ist im <a href="#Kapitel1.0">Kapitel
24181.0</a> einzutragen.</li> <li>Die
2419Modellarbeitsgruppe ist &uuml;ber den Abschlu&szlig; der
2421Arbeiten zu informieren.</li>
2423<a name="Kapitel3.0"></a>3.0&nbsp; Description
2424of selected parts of the
2425model source code</h2>
2426<b>This chapter is still under construction (Feb. 04).</b>
2427<p>Dieser Abschnitt verweist auf vorhandene Beschreibungen der
2429Funktionsweise einzelner, spezieller Modellteile. Dazu geh&ouml;rt
2431die Beschreibung bestimmter numerischer Verfahren (auch ihr
2433Hintergrund), die Erkl&auml;rung besonderer Prinzipien bei der
2435oder Erl&auml;uterungen zur Vorgehensweise bei der L&ouml;sung
2437Aufgaben (z.B. der Berechnung horizontal gemittelter
2439<br>Die Beschreibungen liegen in jeweils getrennten Dokumenten,
2440in der
2441Regel als TeX- und/oder Postscript-Datei vor und sind &uuml;ber die
2443Links zug&auml;nglich.
2445</p><ul> <li> <a name="UPS"></a>upstream-spline
2446advection scheme ( <a href="Upstream_Spline/">.ps</a>
2447)</li> <li> <a name="Cloud_physics"></a>cloud
2448physics module ( <a href="Cloud_physics/wolken.pdf">.pdf</a>
2449)</li> <li> <a name="Bitkompression"></a>Datenkompression
2450mit dem Verfahren
2451der <a href="Bitkompression/kompression.html">Bitverschiebung</a></li>
2452<li> <a name="Runge-kutta"></a>Runge-Kutta
2453time integration scheme ( <a href="numerik.heiko/zeitschrittverfahren.pdf">.pdf</a>
Note: See TracBrowser for help on using the repository browser.