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

Last change on this file since 392 was 392, checked in by raasch, 12 years ago

New:
---

Adapted for machine lck
(mrun, mbuild, subjob)

bc_lr/bc_ns in most subroutines replaced by LOGICAL variables bc_lr_cyc,
bc_ns_cyc for speed optimization
(check_parameters, diffusion_u, diffusion_v, diffusion_w, modules)

Additional timestep criterion in case of simulations with plant canopy (timestep)

Check for illegal entries in section_xy|xz|yz that exceed nz+1|ny+1|nx+1
(check_parameters)

Clipping of dvrp output implemented. Default colourtable for particles
implemented, particle attributes (color, dvrp_size) can be set with new
parameters particle_color, particle_dvrpsize, color_interval,
dvrpsize_interval (init_dvrp, data_output_dvrp, modules, user_data_output_dvrp).
Slicer attributes (dvrp) are set with new routine set_slicer_attributes_dvrp
and are controlled with existing parameters slicer_range_limits.
(set_slicer_attributes_dvrp)

Ocean atmosphere coupling allows to use independent precursor runs in order
to account for different spin-up times. The time when coupling has to be
started is given by new inipar parameter coupling_start_time. The precursor
ocean run has to be started using new mrun option "-y" in order to add
appendix "_O" to all output files.
(check_for_restart, check_parameters, data_output_2d, data_output_3d,
data_output_profiles, data_output_ptseries, data_output_spectra,
data_output_tseries, header, init_coupling, modules, mrun,
parin, read_var_list, surface_coupler, time_integration, write_var_list)

Polygon reduction for topography and ground plate isosurface. Reduction level
for buildings can be chosen with parameter cluster_size. (init_dvrp)

External pressure gradient (check_parameters, header, init_3d_model, modules,
parin, prognostic_equations, read_var_list, write_var_list)

New topography case 'single_street_canyon' (header, init_grid, modules, parin,
read_var_list, user_check_parameters, user_header, user_init_grid, write_var_list)

Option to predefine a target bulk velocity for conserve_volume_flow
(check_parameters, header, init_3d_model, modules, parin, read_var_list,
write_var_list)

Option for user defined 2D data output in xy cross sections at z=nzb+1
(data_output_2d, user_data_output_2d)

xy cross section output of surface heatfluxes (latent, sensible)
(average_3d_data, check_parameters, data_output_2d, modules, read_3d_binary,
sum_up_3d_data, write_3d_binary)

average_3d_data, check_for_restart, check_parameters, data_output_2d, data_output_3d, data_output_dvrp, data_output_profiles, data_output_ptseries, data_output_spectra, data_output_tseries, init_coupling, init_dvrp, init_grid, init_3d_model, header, mbuild, modules, mrun, package_parin, parin, prognostic_equations, read_3d_binary, read_var_list, subjob, surface_coupler, timestep, time_integration, user_check_parameters, user_data_output_2d, user_data_output_dvrp, user_header, user_init_grid, write_3d_binary, write_var_list

New: set_particle_attributes, set_slicer_attributes_dvrp

Changed:


lcmuk changed to lc to avoid problems with Intel compiler on sgi-ice
(poisfft)

For extended NetCDF files, the updated title attribute includes an update of
time_average_text where appropriate. (netcdf)

In case of restart runs without extension, initial profiles are not written
to NetCDF-file anymore. (data_output_profiles, modules, read_var_list, write_var_list)

Small change in formatting of the message handling routine concering the output in the
job protocoll. (message)

initializing_actions='read_data_for_recycling' renamed to 'cyclic_fill', now
independent of turbulent_inflow (check_parameters, header, init_3d_model)

2 NetCDF error numbers changed. (data_output_3d)

A Link to the website appendix_a.html is printed for further information
about the possible errors. (message)

Temperature gradient criterion for estimating the boundary layer height
replaced by the gradient criterion of Sullivan et al. (1998). (flow_statistics)

NetCDF unit attribute in timeseries output in case of statistic regions added
(netcdf)

Output of NetCDF messages with aid of message handling routine.
(check_open, close_file, data_output_2d, data_output_3d,
data_output_profiles, data_output_ptseries, data_output_spectra,
data_output_tseries, netcdf, output_particles_netcdf)

Output of messages replaced by message handling routine.
(advec_particles, advec_s_bc, buoyancy, calc_spectra, check_for_restart,
check_open, coriolis, cpu_log, data_output_2d, data_output_3d, data_output_dvrp,
data_output_profiles, data_output_spectra, fft_xy, flow_statistics, header,
init_1d_model, init_3d_model, init_dvrp, init_grid, init_particles, init_pegrid,
netcdf, parin, plant_canopy_model, poisfft_hybrid, poismg, read_3d_binary,
read_var_list, surface_coupler, temperton_fft, timestep, user_actions,
user_data_output_dvrp, user_dvrp_coltab, user_init_grid, user_init_plant_canopy,
user_parin, user_read_restart_data, user_spectra )

Maximum number of tails is calculated from maximum number of particles and
skip_particles_for_tail (init_particles)

Value of vertical_particle_advection may differ for each particle group
(advec_particles, header, modules)

First constant in array den also defined as type double. (eqn_state_seawater)

Parameter dvrp_psize moved from particles_par to dvrp_graphics_par. (package_parin)

topography_grid_convention moved from userpar to inipar (check_parameters,
header, parin, read_var_list, user_check_parameters, user_header,
user_init_grid, user_parin, write_var_list)

Default value of grid_matching changed to strict.

Adjustments for runs on lcxt4 (necessary due to an software update on CRAY) and
for coupled runs on ibmy (mrun, subjob)

advec_particles, advec_s_bc, buoyancy, calc_spectra, check_for_restart, check_open, check_parameters, close_file, coriolis, cpu_log, data_output_2d, data_output_3d, data_output_dvrp, data_output_profiles, data_output_ptseries, data_output_spectra, data_output_tseries, eqn_state_seawater, fft_xy, flow_statistics, header, init_1d_model, init_3d_model, init_dvrp, init_grid, init_particles, init_pegrid, message, mrun, netcdf, output_particles_netcdf, package_parin, parin, plant_canopy_model, poisfft, poisfft_hybrid, poismg, read_3d_binary, read_var_list, sort_particles, subjob, user_check_parameters, user_header, user_init_grid, user_parin, surface_coupler, temperton_fft, timestep, user_actions, user_data_output_dvrp, user_dvrp_coltab, user_init_grid, user_init_plant_canopy, user_parin, user_read_restart_data, user_spectra, write_var_list

Errors:


Bugfix: Initial hydrostatic pressure profile in case of ocean runs is now
calculated in 5 iteration steps. (init_ocean)

Bugfix: wrong sign in buoyancy production of ocean part in case of not using
the reference density (only in 3D routine production_e) (production_e)

Bugfix: output of averaged 2d/3d quantities requires that an avaraging
interval has been set, respective error message is included (check_parameters)

Bugfix: Output on unit 14 only if requested by write_binary.
(user_last_actions)

Bugfix to avoid zero division by km_neutral (production_e)

Bugfix for extended NetCDF files: In order to avoid 'data mode' errors if
updated attributes are larger than their original size, NF90_PUT_ATT is called
in 'define mode' enclosed by NF90_REDEF and NF90_ENDDEF calls. This implies a
possible performance loss; an alternative strategy would be to ensure equal
attribute size in a job chain. (netcdf)

Bugfix: correction of initial volume flow for non-flat topography (init_3d_model)
Bugfix: zero initialization of arrays within buildings for 'cyclic_fill' (init_3d_model)

Bugfix: to_be_resorted => s_av for time-averaged scalars (data_output_2d, data_output_3d)

Bugfix: error in formatting the output (message)

Bugfix: avoid that ngp_2dh_s_inner becomes zero (init_3_model)

Typographical error: unit of wpt in dots_unit (modules)

Bugfix: error in check, if particles moved further than one subdomain length.
This check must not be applied for newly released particles. (advec_particles)

Bugfix: several tail counters are initialized, particle_tail_coordinates is
only written to file if its third index is > 0, arrays for tails are allocated
with a minimum size of 10 tails if there is no tail initially (init_particles,
advec_particles)

Bugfix: pressure included for profile output (check_parameters)

Bugfix: Type of count and count_rate changed to default INTEGER on NEC machines
(cpu_log)

Bugfix: output if particle time series only if particle advection is switched
on. (time_integration)

Bugfix: qsws was calculated in case of constant heatflux = .FALSE. (prandtl_fluxes)

Bugfix: averaging along z is not allowed for 2d quantities (e.g. u* and z0) (data_output_2d)

Typographical errors (netcdf)

If the inversion height calculated by the prerun is zero, inflow_damping_height
must be explicitly specified (init_3d_model)

Small bugfix concerning 3d 64bit netcdf output format (header)

Bugfix: dt_fixed removed from the restart file, because otherwise, no change
from a fixed to a variable timestep would be possible in restart runs.
(read_var_list, write_var_list)

Bugfix: initial setting of time_coupling in coupled restart runs (time_integration)

advec_particles, check_parameters, cpu_log, data_output_2d, data_output_3d, header, init_3d_model, init_particles, init_ocean, modules, netcdf, prandtl_fluxes, production_e, read_var_list, time_integration, user_last_actions, write_var_list

  • Property svn:keywords set to Id
File size: 207.4 KB
Line 
1<!DOCTYPE html PUBLIC "-//w3c//dtd html 4.0 transitional//en">
2<html><head>
3
4<meta content="text/html; charset=ISO-8859-1" http-equiv="Content-Type"> <meta content="Mozilla/4.73 [en] (X11; U; HP-UX B.10.20 9000/782) [Netscape]" name="GENERATOR"> <meta content="Siegfried Raasch" name="Author"> <meta content="parallel LES model" name="Keywords"><title>PALM technical/numerical documentation</title></head><body><font size="+4">PALM&nbsp;&nbsp;
5</font>a
6<b>pa</b>rallelized
7<b>L</b>ES <b>m</b>odel
8<br><hr width="100%">
9<br><font size="+2">technical/numerical documentation</font>
10<br>&nbsp;
11<br>&nbsp;
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.7 (rev 392)</span></td> </tr>
15<tr nosave=""> <td nosave=""><b>Last
16change of this document</b>:&nbsp;</td> <td nosave=""><b>$Id: technical_documentation.html 392 2009-09-24 10:39:14Z raasch $</b></td> </tr>
17</tbody>
18</table><hr width="100%">
19<p><font size="+2">Table of contents</font>
20<br>&nbsp;
21<br>&nbsp;
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
27of
28the model source code <br>
29&nbsp;</p>
30</ul><b></b><br>
31
32<h2><a name="Kapitel1.0"></a>1.0&nbsp;
33History of changes</h2>
34The following table documents all changes to the model since July, 7th
351998. Entries in the fourth column specify the type of the change:
36change&nbsp;
37of existing code (C), new code (N) or bugfix (B). More detailed
38information
39about the changes may be found in the header comment lines of the
40respective
41routines.
42<br>&nbsp;
43<br><table nosave="" style="width: 100%;" border="1"> <caption>&nbsp; <br> </caption><tbody>
44</tbody><tbody> </tbody> <tbody> <tr> <td><b>date</b></td>
45<td><b>author</b></td> <td><b>model</b>
46<br> <b>version</b></td> <td><b>type</b></td>
47<td><b>description</b></td> <td><b>affected
48routines</b></td> </tr> <tr nosave="" valign="top"> <td>06/07/98</td> <td>SR</td>
49<td>1.0</td> <td>C</td> <td nosave="">Änderung
50von Default-Werten
51(initializing_actions, end_time,
52fcl_factor, use_prior_plot1d_parameters), zusätzliche
53Überprüfung
54von Parametern auf Zulässigkeit (prandtl_layer, psolver, nx,
55ny,
56nz,
57fcl_factor), Höhe der Schnittebenen der Horizontalschnitte
58wird
59auf
60Plots exakt ausgegeben (uv- bzw. w-Gitter).</td> <td>modules,
61check_parameters, plot_2d</td> </tr> <tr nosave="" valign="top"> <td>"</td> <td>SR</td>
62<td>1.0</td> <td>N</td> <td>Neues Modul
63test_variables wird in (fast) allen
64Programmteilen benutzt
65(USE). <b>Wichtig</b>: dieses Modul steht in der Datei <tt>module_test.f90.
66D</tt>iese Datei muß in der mrun- und add_library -
67Konfigurationsdatei
68bei der Variablen <tt>module_files</tt>
69aufgeführt werden.</td> <td nosave="">(fast)
70alle&nbsp; <br>
71Neu: module_test</td> </tr> <tr nosave="" valign="top"> <td>16/07/98</td> <td>SR</td>
72<td>1.0</td> <td>N</td> <td nosave="">Anpassung
73an die T3E-Rechner in Juelich (cpp -
74Direktiven)</td> <td>advec_s_bc, check_open,
75check_parameters, cpu_zeitmessung,
76init_pegrid,
77local_getenv, local_system, local_tremain, local_tremain_ini, poisfft</td>
78</tr> <tr nosave="" valign="top"> <td>24/07/98</td>
79<td>MS</td> <td>1.0</td> <td>C</td>
80<td nosave="">Anpassung des Druckloesealgorithmusses an
81Vorgehensweise von
82Schmidt, Schumann und Volkert (DFVLR-Mitteilung 84-15, S.
8320-26)&nbsp;</td> <td>poisfft</td> </tr> <tr nosave="" valign="top"> <td>27/07/98</td>
84<td>MS</td> <td>1.0</td> <td>C</td>
85<td nosave="">Berechnung von l in maketri geschieht nun
86ausserhalb der k-Schleife,
87da unabhaengig von k, dadurch Rechenzeitersparnis&nbsp;</td> <td>poisfft</td>
88</tr> <tr nosave="" valign="top"> <td>05/08/98</td>
89<td>SR</td> <td>1.0</td> <td>C</td>
90<td>Entfernung der Sonderbehandlung der Advektionsterme
91(Piascek-Williams)
92bei k=1. Terme werden nun überall gleich berechnet. Evtl.
93leichte
94Erhöhung der Varianzen in Oberflächennähe.</td>
95<td nosave="">advec_u_pw, advec_v_pw, advec_w_pw</td>
96</tr> <tr nosave="" valign="top"> <td nosave="">"</td> <td>SR</td> <td>1.0</td>
97<td>C</td> <td>Mischungsweganpassung (s.
98adjust_mixing_length) erfolgt nur
99noch bei
100k=1. Unrealistische sekundäre Maxima in den Km-Profilen
101oberhalb
102der
103Prandtl-Schicht werden damit vermieden. Leichte Änderungen in
104den
105oberflächennahen Turbulenzgrößen sind die
106Folge.</td> <td>diffusivities</td> </tr> <tr nosave="" valign="top"> <td>"</td> <td>SR</td>
107<td>1.0</td> <td>B</td> <td>Falsche
108Berechnung der benötigten CPU-Zeit pro Sekunde
109simulierter
110Zeit bei Fortsetzungsläufen korrigiert.&nbsp; <p>Berechnung
111von cross_uxmin(1) und cross_uxmax(1) aus den
112Werten von
113ug und vg entfernt. Lieferte falsche Wertebereiche für Plots
114von
115Vertikalprofilen,
116wenn im ersten Koordinatenkreuz nicht die Windgeschwindigkeiten
117gezeichnet
118wurden.</p> </td> <td nosave="">header,
119check_parameters</td> </tr> <tr nosave="" valign="top"> <td nosave="">"</td> <td>SR</td>
120<td>1.0</td> <td>N</td> <td>Das
121erlaubte Maximum und Minimum der Rif-Zahl ist nun mittels
122der Initialparameter
123rif_max und rif_min einstellbar (Werte waren bisher fest auf -2.0, +1.0
124eingestellt).</td> <td>check_parameters, header,
125init_1d_model, modules, parin,
126prandtl_fluxes,
127read_var_list, write_var_list</td> </tr> <tr nosave="" valign="top"> <td nosave="">23/09/98</td>
128<td>SR</td> <td>1.0</td> <td>B</td>
129<td>Initialisierung von Feldern im Fall von initializing_action =
130"<i>set_constant_profiles</i>"
131und "<i>set_1d-model_profiles</i>" korrigiert.&nbsp; <p>2D-Plotausgabe
132von u* und theta* korrigiert. Hier wurden
133bisher falsche
134Felder herausgeschrieben.&nbsp; </p> <p>Bei
135SOR-Aufrufen war bisher dp nicht initialisiert.
136Entsprechend geändert.</p> </td> <td>init_3d_model,
137plot_2d, pres</td> </tr> <tr nosave="" valign="top"> <td>"</td> <td>SR</td>
138<td>1.0</td> <td>C</td> <td nosave="">Ausgabeformate
139für Statistik-Ausgaben auf
140Datei RUN_CONTROL
141um einige Kommastellen erweitert.&nbsp; <p>Lieferung von
142ausführlicheren Informationen bei
143Programmabbruch
144durch Unterschreitung des minimal erlaubten Zeitschritts.</p> </td>
145<td>run_control, timestep</td> </tr> <tr nosave="" valign="top"> <td nosave="">"</td>
146<td>SR</td> <td>1.0</td> <td>N</td>
147<td>Rechnungen mit geneigter Ebene zur Simulation von
148Kaltluftabflüssen
149sind erlaubt. Gestartet und gesteuert werden sie mit dem
150Intialisierungsparameter <tt>alpha_surface</tt>.
151Realisiert wird die geneigte Ebene durch entsprechende
152Schrägstellung
153des Schwerkraftvektors. Dadurch erhält auch die u-Komponente
154der
155Windgeschwindigkeit
156einen Anteil der Auftriebskraft.&nbsp; <p>Diese
157Implementierung ist noch nicht abgeschlossen. Die
158Simulation von
159Kaltluftabflüssen erfordert bisher noch Eingriffe "von Hand".</p>
160</td> <td>buoyancy, check_parameters, header, leap_frog,
161modules,
162parin, prandtl_fluxes,
163read_var_list, write_var_list</td> </tr> <tr nosave="" valign="top"> <td>15/12/98</td> <td>SR</td>
164<td>1.0</td> <td>N</td> <td>Vereinbarung
165einer Cache-Layer zur schnelleren binären
166I/O auf
167T3E-Rechnern.&nbsp; <p>Ermittelung wahrer I/O-Zeiten
168für binäre
169Ein-/Ausgabe auf
170T3E-Rechnern mit TIMEF.</p> </td> <td nosave="">check_open,&nbsp;
171<br>cpu_zeitmessung, init_3d_model, write_3d_model</td> </tr>
172<tr nosave="" valign="top"> <td nosave="">"</td>
173<td>SR</td> <td>1.0</td> <td>B</td>
174<td>Bekanntgabe von run_description_header an alle
175PE's.&nbsp; <p>Diese Programmänderung erfordert auf
176T3E-Rechnern
177zwingend den
178Einsatz der MPI-Version mpt.1.2.0.1. In dieser neuen Version tritt auch
179der alte Fehler in MPI_ALLREDUCE nicht mehr auf, so daß ab
180jetzt
181mpt.1.1.0.1 nicht mehr verwendet werden muß.</p> </td>
182<td>parles</td> </tr> <tr nosave="" valign="top"> <td nosave="">05/02/99</td>
183<td>SR</td> <td>1.1</td> <td>C/N</td>
184<td>Implementierung des Upstream-Spline- Verfahrens zur Advektion
185von Impuls
186und skalaren Größen (neue UP's, s. rechts).
187Berechnung von
188Variablen
189für spezielle Advektionsverfahren in eigenständiges
190UP
191ausgelagert
192(<tt>init_advec</tt> + eigenes Modul <tt>advection</tt>).
193Reines
194Euler-/Upstream-Verfahren
195kann gerechnet werden.&nbsp; <p>Schnelle binäre I/O
196(s. 15/12/98) wieder abgeschaltet, da
197Dateien
198nicht wieder einlesbar sind. Druckstörung (p) wird zu Beginn
199auf 0
200gesetzt, damit sie keine Tendenzen im ersten Zeitschritt hervorruft.</p>
201</td> <td>advec_s_bc, check_open, check_parameters,
202flow_statistics,
203header,
204init_3d_model, init_grid, leap_frog, modules, parin, plot_2d, plot_ts,
205read_var_list, timestep, write_3d_binary, write_var_list&nbsp; <p><b>Neu:</b>
206<br>
207advec_s_ups, advec_u_ups, advec_v_ups, advec_w_ups, init_advec,
208long_filter,
209spline_x, spline_y, spline_z</p> </td> </tr> <tr nosave="" valign="top"> <td nosave="">24/02/99</td>
210<td>SR</td> <td>1.1a</td> <td>C/N</td>
211<td>Kleinere Ergänzungen / Änderungen
212für Upstream
213- Spline,&nbsp; <br>
214Diverse Verbesserungen bei Berechnung der Diffusionskoeffizienten
215(exaktere
216Formulierung von Scherungen, Dissipation gemaess Original - Deardorff -
217Ansatz, Mischungswegreduktion nur, wenn Schichtung sowohl oberhalb als
218auch unterhalb des entsprechenden Gitterpunktes stabil ist),
219Wertebegrenzung
220bei Spline - Berechnung zur Verhinderung von "Überschwingern"</td>
221<td>check_parameters, diffusion_e, diffusion_pt, diffusivities,
222header,
223init_advec, long_filter, modules, production_e, spline_x, spline_y,
224spline_z</td> </tr> <tr nosave="" valign="top">
225<td>"</td> <td nosave="">SR</td> <td>1.1a</td>
226<td>N/B</td> <td>Erweiterung des des Bott - Chlond -
227Schemas auf Advektion der
228TKE,
229Korrektur der Dichteberechnung (war falsch bei Galilei-Transformation)</td>
230<td>advec_s_bc, leap_frog</td> </tr> <tr nosave="" valign="top"> <td nosave="">01/03/99</td>
231<td>MS</td> <td>1.1b</td> <td>N</td>
232<td>Kleinere Ergänzungen für Upstream -
233Spline:&nbsp; <ul> <li>Gradientenkontrolle
234für den nicht-parallelen Teil</li> <li>statistische
235Auswertung über den prozentualen Anteil
236des
237Upstream-Verfahrens
238an der Gesamtadvektion fuer nicht-parallelen Teil</li> </ul>
239</td> <td>modules, spline_x, spline_y, spline_z</td>
240</tr> <tr nosave="" valign="top"> <td>"</td>
241<td>SR</td> <td>1.1b</td> <td>N</td>
242<td>Datenkompression für 3D-Plotausgaben</td> <td nosave="">check_open, check_parameters, close_files, header,
243modules,
244parin, plot_3d&nbsp; <p><b>Neu:</b> <br>
245write_compressed</p> </td> </tr> <tr nosave="" valign="top"> <td nosave="">03/03/99</td>
246<td>SR</td> <td>1.1c</td> <td>B/C</td>
247<td>Schnelle binäre I/O auf T3E-Rechnern funktioniert
248jetzt.
249Beim
250binären Einlesen dürfen Records nicht mit dem Trick "<tt>READ
251(..) idum</tt>" überlesen werden. Zeitmessungen auf T3E
252erfolgen
253jetzt
254grundsätzlich mit <tt>TIMEF.</tt></td> <td>check_open,
255cpu_zeitmessung, init_3d_model, modules,
256write_3d_binary</td> </tr> <tr nosave="" valign="top"> <td nosave="">25/03/99</td>
257<td>SR</td> <td>1.1d</td> <td>N</td>
258<td>Einbau einer Rayleigh-Dämpfungsschicht sowie
259flexiblere
260Wahl der
261numerischen Begrenzer für das Upstream - Spline - Verfahren.</td>
262<td>check_parameters, header, init_3d_model, leap_frog, modules,
263parin,
264read_var_list, spline_x, spline_y, spline_z, write_var_list</td> </tr>
265<tr nosave="" valign="top"> <td nosave="">"</td>
266<td>SR</td> <td>1.1d</td> <td>B</td>
267<td>Korrektur des Zeitschrittkriteriums bei z=zp im 1D-Modell</td>
268<td>init_1d_model</td> </tr> <tr nosave="" valign="top"> <td>25/11/99</td> <td>SR</td>
269<td>1.1e</td> <td>N</td> <td nosave="">Partikelplots
270mit vtk-Graphiksoftware sind auf t3eh
271möglich.
272Ausgabe erfolgt im dvr-Format. Bisher noch nicht nutzbar, da noch
273Einstellmöglichkeiten
274für die Partikelquelle(n) fehlen. <b>Wichtig:</b>
275Die Benutzung
276der
277vtk-Software erfordert die zusätzliche mrun-Option <tt>-g</tt>.
278Das
279Hauptprogramm <tt>parles</tt> wird in diesem Fall zum
280Unterprogramm
281und
282von einem c++-Programm aus aufgerufen.</td> <td>header,
283init_3d_model, init_pegrid, leap_frog, modules,
284parin, parles,
285read_var_list, write_var_list&nbsp; <p><b>Neu:</b>
286<br>
287advec_particles, init_particles, plot_particles</p> </td> </tr>
288<tr nosave="" valign="top"> <td>"</td>
289<td>SR</td> <td>1.1e</td> <td nosave="">B/C</td>
290<td>TIMEF-Zeitmessungen von Subroutine- auf Function-Aufruf
291umgestellt.
292Laufindexkorrektur in <tt>spline_y</tt>. Fehler trat bei
293nx /= ny auf.</td> <td>cpu_zeitmessung, spline_y</td>
294</tr> <tr nosave="" valign="top"> <td nosave="">28/12/99</td> <td>SR</td> <td>1.1f</td>
295<td>N</td> <td>Plot von Isooberflächen mit
296vtk-Graphiksoftware sind auf
297t3eh
298möglich. Ausgabe erfolgt im dvr-Format. Bisher noch nicht
299allgemein
300nutzbar, da noch diverse manuelle Eingriffe nötig sind.</td>
301<td>header, leap_frog, modules, parin, plot_particles,
302read_var_list, write_var_list&nbsp; <p><b>Neu:</b>
303<br>
304plot_isosurface</p> </td> </tr> <tr nosave="" valign="top"> <td nosave="">10/01/00</td>
305<td>SR</td> <td>1.2</td> <td>C</td>
306<td>Randbedingungen für w (=0) werden explizit gesetzt,
307und
308zwar nicht
309nur bei&nbsp; <tt>k = nzb, nzt+1</tt> sondern auch
310bei&nbsp; <tt>k =
311nzt</tt>,
312wo bislang der vom vorigen Zeitschritt durch den Drucklöser
313ermittelte
314Wert stand. Auch jetzt wird der Wert bei k = nzt anschließend
315durch
316den Drucklöser modifiziert. Soweit bis jetzt abzusehen, hat
317diese
318Änderung nur minimale Auswirkungen auf den Prognoseverlauf.
319Evtl.
320gibt es stärkere Auswirkungen bei exzessivem Auftreten von
321Schwerewellen
322am oberen Rand (die dort aber eigentlich sowieso nicht
323hingehören).&nbsp; <br>
324Variablenübergabe an <tt>boundary_conds</tt>
325erfolgt&nbsp; <br>
326über Modul und nicht mehr per Parameterliste.&nbsp; <p>Bei
327Galilei-Transformation wird jetzt defaultmäßig
328der geostrophische
329Wind als Translationsgeschwindigkeit verwendet (neuer
330Initialisierungsparameter <tt>use_ug_for_galilei_tr</tt>).
331Dadurch wird das verstärkte Auftreten von Schwerewellen bei
332höheren
333geostrophischen Windgeschwindigkeiten unterdrückt.&nbsp; </p>
334<p>3D-Feldvariablen (u, v, w, pt, e, km, kh) sowie einige
3352D-Variablen
336(usws, vsws, rif, shf) sind nun als Pointer deklariert, denen nach
337jedem
338Zeitschritt neue Targets zugeordnet werden (für die
339benötigten&nbsp;
3403 Zeitebenen existieren die Targets ..._1 (z.B. u_1), ..._2, ..._3).
341Durch
342die jeweilige Neuzuordnung der Targets entfällt das
343Umspeichern
344der
345Zeitebenen komplett (Zeitersparung: ca. 5% der
346Gesamtrechenzeit).&nbsp; <br>
347Die Umordnung der Zeitebenen wurde ins neue UP <tt>swap_timelevel</tt>
348ausgelagert.&nbsp; <br> <b>Wichtig:</b> Die
349Übersetzungszeiten haben durch die
350Einführung
351der Pointer t.w. sehr deutlich zugenommen (<tt>leap_frog</tt>
352benötigt
353jetzt z.B. ca. 60 Sekunden). Außerdem benötigt der
354Compiler
355jetzt wesentlich mehr Speicher. Der "memory"-Parameter in den
356Konfigurationsdateien
357(.mrun.config, .al.config) muss nun mindestens den Wert 60 (MB) (t3eh,
358t3ej2) bzw. 45 (t3eb) und 96 (vpp) haben.&nbsp; <br> <b>Achtung:</b>
359bislang wurde diese Änderung nur für
360das
361reine Leapfrog-Verfahren getestet!&nbsp; </p> <p>Neue
362Laderoption "<tt>-D preset=nan</tt>" empfohlen (s.
363Beispiel-Konfigurationsdatei).
364Ebenso empfehlenswert für Debug-Läufe: Compileroption
365"<tt>-ei</tt>".
366Diese bewirkt einen Programmabbruch, falls mit nicht initialisierten
367Variablen
368gearbeitet wird (ist aber zeitaufwendig in der Ausführung!).</p>
369</td> <td>boundary_conds, check_parameters, header,
370init_3d_model,
371leap_frog,
372modules, parin, read_var_list, timestep, write_var_list&nbsp; <p><b>Neu:</b>
373<br>
374swap_timelevel</p> </td> </tr> <tr nosave="" valign="top"> <td nosave="">10/01/00</td>
375<td>SR</td> <td>1.2</td> <td>B</td>
376<td>Der Asselin-Filter wird vor Umordnung der Zeitebenen
377aufgerufen. Dies
378geschah bisher fälschlicherweise erst danach, sodass der
379Zeitfilter
380asymmetrisch arbeitete.&nbsp; <br> <b>Achtung:</b>
381diese Änderung hat Auswirkungen auf den
382Prognoseverlauf.
383Die Testergebnis-Datei wurde entsprechend geändert.</td>
384<td>leap_frog</td> </tr> <tr nosave="">
385<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>
386<br>
387Der Asselin-Filter im 1D-Modell wird nun auch vor der Umordnung der
388Zeitebenen aufgerufen (s.o.).&nbsp; <p><b>3D-Modell:</b>
389<br>
390TKE wurde bisher bei <tt>scalar_advec=bc-scheme</tt> einer
391zeitlichen
392Filterung unterzogen. Dies wird nun unterbunden.&nbsp; </p> <p>Die
393Divergenz der Impulsflüsse an der Prandtl - Schicht -
394Obergrenze
395wird nun über eine ganze Gitterweite gebildet. Die bisherige
396Methode
397lieferte im Vergleich mit Ergebnissen anderer LES-Modelle&nbsp; zu
398große
399Impulsflüsse.&nbsp; </p> <p>Bei der
400Berechnung der Diffusion der Temperatur werden die
401Diffusionskoeffizienten
402nun wieder durch Mittelung für die entsprechenden&nbsp;
403Gitterpunkte
404bereitgestllt. Das Maximumkriterium, das im Zuge der Implementierung
405des
406Upstream-Spline Advektionsverfahrens eingebaut wurde, bewirkte ein zu
407rasches
408Anwachsen der Grenzschicht mit der Zeit.&nbsp; </p> <p><b>Achtung:</b>
409diese Änderungen haben Auswirkungen auf
410den Prognoseverlauf.
411Die Testergebnis-Datei wurde entsprechend geändert.</p> </td>
412<td nosave="" valign="top">init_1d_model,
413asselin_filter,
414diffusion_u, diffusion_v,&nbsp; <br>
415diffusion_pt</td> </tr> <tr nosave="" valign="top"> <td nosave="">17/02/00</td>
416<td>MS</td> <td>2.0</td> <td>N</td>
417<td><b>Allgemeine Beschreibung der Änderungen:</b>
418<br>
419vollständige Implementierung des wolkenphysikalischen
420Moduls&nbsp; <p>Zur Implementierung der Wolkenphysik waren
421umfangreiche
422Änderungen
423in zahlreichen Programmteilen notwendig (Beschreibung <a href="#Cloud_physics">siehe
424unten</a> ). Im einzelnen wurden folgende Unprogramme
425geändert:&nbsp; <br> <b>modules</b>:&nbsp;
426<br>1) Bereitstellung neuer 3D-, 2D- und 1D-Felder für
427die Prognose
428des Gesamtwassergehaltes&nbsp; <br>
4292) "cloud_parameters" als neues Modul mit wolkenphysikalischen
430Variablen&nbsp; <br> <b>parin: </b>Initialisierungsparameterliste
431wurde erweitert
432(s.u.)&nbsp; <br> <font color="#000000"><b>read_var_list,
433write_var_list,
434write_3d_binary: </b>In/Output
435der neuen Initialisierungsparamter und Felder für
436Fortsetzungsläufe&nbsp;</font> <br> <font color="#000000"><b>check_parameters:</b>
437Initialisierung
438des
439Feuchteprofils und Ausgabe von neuen Vertikalprofilen:&nbsp;</font>
440<br> <font color="#ff0000">vpt</font><font color="#000000">: virtuelle
441poteniellen
442Temperatur,</font> <br> <font color="#ff0000">lpt</font><font color="#000000">:
443potentielle
444Flüssigwassertemperatur,</font> <br> <font color="#ff0000">q</font><font color="#000000">:
445Gesamtwassergehalt,</font> <br> <font color="#ff0000">qv</font><font color="#000000">:
446spezifische
447Feuchte,</font> <br> <font color="#ff0000">ql</font><font color="#000000">:
448Flüssigwassergehalt,</font> <br> <font color="#ff0000">w"vpt", w*vpt*, wvpt</font><font color="#000000">:
449Auftriebsfluss (subskalig, aufgelöst, gesamt),</font> <br>
450<font color="#ff0000">w"q", w*q*, wq</font><font color="#000000">:
451Wasserfluss (subs., aufg., ges.),</font> <br> <font color="#ff0000">w"qv", w*qv*, wqv</font><font color="#000000">:
452Feuchtefluss (subs, aufg., ges.)</font> <br> <b>init_3d_model</b>:
453Initialisierung aller
454Feuchte/Wasserfelder&nbsp; <br> <b>init_1d_model</b>:
455Anpassung an Rechnungen mit Feuchte&nbsp; <br> <b>header</b>:
456Headerausgaben für Feuchtebehandlung und
457Wolkenphysik
458eingefügt, außerdem Formatnummern erweitert um Platz
459für
460weitere Ausgaben zu schaffen&nbsp; <br> <b>leap_frog:</b>
461<br>
4621) alle prognostischen Gleichungen wurden in prognostic_equations
463ausgelagert&nbsp; <br>
4642) Aufrufe der neuen Unterprogramme (UP) compute_vpt,
465calc_liquid_water_content&nbsp; <br>
4663) veraenderter Aufruf von diffusivities&nbsp; <br> <b><tt>b</tt>oundary_conds,
467asselin_filter, swap_timelevel,
468flow_statistics: </b>Anpassung
469an Feuchtebehandlung&nbsp; <br> <b>plot2d, plot3d</b>:
470Ausgabemöglichkeiten von q und ql <br> <b>buoyancy</b>:
471Anpassung des Autriebstermes an
472Feuchtebehandlung
473durch neue Übergabeparameter: Temperatur + Nummer des
474entsprechenden
475mittleren Temperaturprofils&nbsp; <br> <b>diffusion_e</b>:
476Anpassung der Mischungswegberechnung an
477Feuchtebehandlung
478durch Variation der Übergabeparameter&nbsp; <br> <b>production_e</b>:
479TKE-Produktion durch Auftriebskräfte an
480Feuchtebehandlung
481angepasst&nbsp; <br> <b>diffusivities</b>:
482siehe diffusion_e&nbsp; <br> <b>prandtl-fluxes</b>:
483Prandtl-Schicht fuer den
484Gesamtwassergehalt
485eingefügt&nbsp; </p> <p>Zusätzlich
486wurden folgende Unterprogramme NEU
487eingeführt:&nbsp; <br> <b>inti_cloud_physics</b>:
488Initialisierung wolkenphysikalischer
489Parameter&nbsp; <br> <b>prognostic_equations</b>:
490Auslagerung der prognostischen
491Gleichungen
492aus leap_frog, zusätzliche porgnostische Gleichung
493für den
494Gesamtwassergehalt&nbsp; <br> <b>diffusion_s</b>:
495Berechnung der Diffusion skalarer
496Größen
497(Temperatur und Gesamtwassergehalt), ersetzt diffusion_pt&nbsp; <br>
498<b>calc_liquid_water_content</b>: Berechnung des
499Flüssigwassergehalts&nbsp; <br> <b>calc_radiation</b>:
500Parametrisierung langwelliger
501Strahlungsprozesse
502über des Schema der effektiven Emissivität&nbsp; <br>
503<b>calc_precipitation</b>:Parametrisierung von
504Niederschlagsprozessen
505mit Hilfe eines vereinfachten Kesslerschemas&nbsp; <br> <b>impact_of_latent_heat</b>:
506Berücksichtigung der durch
507Niederschlagsprozesse
508zurückbleibenden latenten Waerme innerhalb eines
509Gittervolumens&nbsp; <br> <b>compute_vpt</b>:
510Berechnung der virtuellen potentiellen
511Temperatur&nbsp; </p> <p><b>Liste der neuen
512Initialisierungsparameter:</b> <br> <table nosave="" border="1"> <caption>&nbsp; <br> </caption><tbody>
513</tbody><tbody> </tbody> <tbody> <tr nosave=""> <td nosave=""><b>Parameter</b></td>
514<td nosave=""><b>Typ</b></td> <td nosave="" width="4%"><b>Default</b></td>
515<td nosave=""><b>Beschreibung</b></td> </tr>
516<tr nosave=""> <td nosave=""><tt>moisture</tt></td>
517<td>L</td> <td>FALSE</td> <td>Ab-/Zuschalten
518des Gesamtwassergerhaltes als neue
519progn. Variable</td> </tr> <tr> <td><tt>cloud_physics</tt></td>
520<td>L</td> <td>FALSE</td> <td>Ab-/Zuschalten
521des Kondensationsschemas</td> </tr> <tr nosave="">
522<td><tt>radiation</tt></td> <td>L</td>
523<td nosave="">FALSE</td> <td>Ab-/Zuschalten
524des Strahlungsschemas</td> </tr> <tr> <td><tt>precipitation</tt></td>
525<td>L</td> <td>FALSE</td> <td>Ab-/Zuschalten
526der Niderschlagsparametrisierung</td> </tr> <tr> <td><tt>bc_q_b</tt></td>
527<td>C</td> <td>'dirichlet'</td> <td>untere
528Randbedingung für q (siehe auch bc_pt_b)</td> </tr>
529<tr> <td><tt>bc_q_t</tt></td> <td>C</td>
530<td>'neumann'</td> <td>obere RB für q
531(siehe auch bc_pt_t)</td> </tr> <tr> <td><tt>q_surface</tt></td>
532<td>R</td> <td>0.0</td> <td>Feuchtewert
533an der Erdoberfläche</td> </tr> <tr> <td><tt>q_surface_initial_change</tt></td>
534<td>R</td> <td>0.0</td> <td>vgl.
535pt_surface_initial_change</td> </tr> <tr> <td><tt>q_vertical_gradient</tt></td>
536<td>R(10)</td> <td>0.0</td> <td>vgl.
537pt_vertical_gradient</td> </tr> <tr nosave="">
538<td nosave=""><tt>q_vertical_gradient_level</tt></td>
539<td>R(10)</td> <td>10000.0</td> <td>vgl.
540pt_vertical_gradient_level</td> </tr> <tr> <td><tt>surface_pressure</tt></td>
541<td>R</td> <td>1013.25</td> <td>Luftdruck
542an der Erdoberfläche</td> </tr> <tr> <td><tt>surface_waterflux</tt></td>
543<td>R</td> <td>0.0</td> <td>oberflächennaher
544Wasser/Feuchtefluss</td> </tr> </tbody> </table>
545Fortsetzungsläufe mit Daten, die mit Modellversionen kleiner
5462.0
547erzeugt
548wurden, sind aufgrund der erweiterten Initialisierungsparameterliste
549INKOMPATIBEL
550zu den Einleseroutinen der Version 2.0. Ein Update auf Version 2.0
551sollte
552deshalb nach Abschluss eines kompletten Modelllaufs erfolgen.&nbsp;
553</p> <p><b>Achtung:</b> diese
554Änderungen haben Auswirkungen auf
555den Prognoseverlauf.
556Die Testergebnis-Datei wurde entsprechend geändert.</p> </td>
557<td nosave="" valign="top">modules, parin,
558read_var_list,
559check_parameters,
560init_3d_model, init_1d_model, header, leap_frog. buoyancy, diffusion_e,
561production_e, diffusivities, prandtl_fluxes, boundary_conds,
562asselin_filter,
563swap_timelevels, flow_statistics, plot_2d, plot_3d, write_var_list,
564write_3d_binary&nbsp; <p><b>Neu:</b> <br>
565init_cloud_physics, prognostic_equations, diffusion_s,
566calc_liquid_water_content,
567calc_radiation, calc_precipitation, impact_of_latent_heat, comute_vpt</p>
568</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
569Umstellung auf Modellversion 2.0&nbsp; wurden
570noch kleine
571Änderungen an den Unterprogrammen diffusion_e, production_e
572und
573diffusivities
574vorgenommen. In allen genannten&nbsp; <br>
575Unterprogrammen wurde bisher ein strengeres Kriterium zur Bestimmung
576der Schichtungsverhältnisse verwendet. Ein Modellvergleich
577zeigte
578jedoch, dass dadurch die Diffusion im Bereich der Inversion zu gross
579wird.&nbsp; <p>Eine weitere Ergänzung betrifft die
580Advektionsverfahren:&nbsp; <br>
581Das Bott-Chlond Advektionsverfahren ist nun auch für
582Rechnungen
583mit Feuchte/Wolkenphysik verfügbar.&nbsp; </p> <p><b>Achtung:</b>
584diese Änderungen haben Auswirkungen auf
585den Prognoseverlauf.
586Die Testergebnis-Datei wurde entsprechend geändert.</p> </td>
587<td nosave="" valign="top">diffusion_e,
588production_e,
589diffusivities, check_parameters</td> </tr> <tr nosave="" valign="top"> <td nosave="">26/04/00</td>
590<td>SR</td> <td>2.0a</td> <td>C</td>
591<td>Vollständige Umstellung von vtk-Grafik-Software auf
592dvrp-Software.
593Grafik-Ausgaben im dvr-Format sind mittlerweile begrenzt nutzbar
594(Isooberflächen
595sind darstellbar, siehe neue Laufparameter&nbsp; <tt>dt_dvrp,
596threshold</tt>),
597es wird aber in der Anwendung in naher Zukunft noch diverse
598Änderungen
599geben. Partikelausgabe vorerst nicht mehr möglich (Verlagerung
600schon).</td> <td>header, init_particles, init_3d_model,
601leap_frog, modules,
602parin, parles,
603read_var_list, write_var_list&nbsp; <br> <b>Gestrichen:</b>
604<br>
605plot_isosurface, plot_particles&nbsp; <p><b>Neu:</b>
606<br>
607init_dvrp, plot_dvrp</p> </td> </tr> <tr nosave="" valign="top"> <td nosave="">26/04/00</td>
608<td>SR</td> <td>2.0a</td> <td>C</td>
609<td>Durch zusätzlichen zyklischen Rand im
610Bott-Chlond-Schema
611sehr
612viele SENDRECV-Aufrufe eingespart.&nbsp; <br>
613Änderung des Namens einer eingelesenen Environment-Variablen
614in <tt>check_open</tt>
615von <tt>remote_addres</tt> nach <tt>return_addres</tt>.&nbsp;
616<br>Prozessor-Topologie kann durch Benutzer vorgegeben werden.
617Dazu neue
618Initialisierungsparameter <tt>npex</tt> und <tt>npey</tt>.
619Durch
620Änderungen
621am Header-Format wurde Testergebnis-Datei geändert.</td>
622<td>advec_s_bc, check_open, header, init_pegrid, modules, parin,
623read_var_list,
624write_var_list</td> </tr> <tr nosave="" valign="top"> <td nosave="">26/04/00</td>
625<td>SR</td> <td>2.0a</td> <td>N</td>
626<td>Rechnungen mit geneigter Oberfläche erlauben jetzt
627die
628Vorgabe
629eines stabil geschichteten Temperaturprofils mit konstantem Gradienten.
630Hinzuschalten von Feuchte funktioniert für Hangrechnungen noch
631nicht.</td> <td>advec_s_bc, buoyancy, init_3d_model,
632modules,
633prognostic_equations&nbsp; <p><b>Neu:</b> <br>
634init_slope</p> </td> </tr> <tr nosave="" valign="top"> <td>13/06/00</td> <td>MS</td>
635<td>2.0a</td> <td nosave="">B</td> <td>Es
636werden nun auch die seitlichen Ränder für ql
637gesetzt.
638Ein Nichtsetzen der Randbedingungen führte zu Fehlern bei der
639Ausgabe
640von pt</td> <td nosave="">calc_liquid_water_content</td>
641</tr> <tr nosave="" valign="top"> <td nosave="">03/07/00</td> <td>SR</td> <td>2.0b</td>
642<td>C</td> <td>Für eine Reihe von&nbsp;
643Unterprogrammen, die innerhalb
644von <tt>prognostic_equation</tt>
645aufgerufen werden und an die Pointer-Variablen übergeben
646werden,
647sind
648jetzt explizite Interfaces vereinbart (neues Modul <tt>pointer_interfaces</tt>).
649Auch im Vereinbarungsteil der entsprechenden Unterprogramme sind diese
650Übergabeparameter jetzt aus Konsistenzgründen (und
651weil es
652sonst
653Laufzeitfehler gibt) als Pointer-Variablen deklariert. Mit dieser
654Änderung
655ist der große Speicher- und CPU-Zeit-Bedarf beim
656Übersetzen
657von prognostic_equations wieder auf ein erträgliches
658Maß
659reduziert.&nbsp; <br>
660Im Rahmen dieser Änderungen wurde auch an diffusion_e ein
661Hilfsfeld
662weniger übergeben.&nbsp; <br>
663Aus nicht vollständig gekärten Gründen haben
664sich die
665Zahlen in der Testergebnis-Datei minimal geändert (und zwar
666die
667Spalte
668mit der Gesamtdivergenz nach Aufruf des Drucklösers).</td>
669<td>advec_s_bc, buoyancy, diffusion_e, diffusion_s, diffusion_u,
670diffusion_v,
671diffusion_w, disturb_field, modules, production_e, prognostic_equations</td>
672</tr> <tr nosave="" valign="top"> <td nosave="">04/07/00</td> <td>SR</td> <td>2.0b</td>
673<td>B</td> <td>Diriclet-Randbedingungen für
674Temperatur und
675Flüssigwassergehalt
676werden gesetzt. Dies wäre bereits nach Einführung der
677Pointer
678zwingend notwendig gewesen. Rechnungen mit vorgegebener
679Oberflächentemperatur
680schlugen deshalb bislang fehl.</td> <td>boundary_conds</td>
681</tr> <tr nosave="" valign="top"> <td nosave="">07/09/00</td> <td>MS</td> <td>2.0b</td>
682<td>B</td> <td>Die virtuelle potenielle Temperatur
683wird nun auch für
684k=nzb und
685k=nzt+1 berechnet, um die Randwerte auch für Ausgabezwecke
686bereichtzustellen.&nbsp;</td> <td>compute_vpt</td>
687</tr> <tr nosave="" valign="top"> <td nosave="">28/12/00</td> <td>SR</td> <td>2.1</td>
688<td>C/N</td> <td>PALM erlaubt jetzt den Einsatz
689optionaler Software-Pakete,
690die zwar
691zum Modell gehören, standardmäßig aber
692nicht mit
693übersetzt
694werden, um so unter anderem Kompilationszeit einzusparen. Siehe neues
695Kapitel
6963.7 in der Modelldokumentation.&nbsp; <p>Einsatz der
697dvrp-Software wurde vollständig
698überarbeitet.
699Sie ist nun als Software-Paket optional im Modell einsetzbar. Siehe
700überarbeitetes
701Kapitel 4.5.6 in der Modelldokumentation.&nbsp; </p> <p>Die
702Prognose der Partikelverlagerung ist ebenfalls in ein
703optionales
704Software-Paket ausgelagert.</p> </td> <td>advec_particles,
705header, init_3d_model, init_dvrp,
706init_particles,
707init_pegrid, modules, parin, parles, plot_dvrp, prognostic_equations,
708read_var_list,
709write_var_list&nbsp; <p><b>Neu:</b> <br>
710package_parin</p> </td> </tr> <tr nosave="" valign="top"> <td nosave="">28/12/00</td>
711<td>SR</td> <td>2.1</td> <td>B</td>
712<td>MPI_FINALIZE ans Ende des Hauptprogramms geschoben (stand
713vorher vor
714cpu_auswertung, wo noch ein Barrier-Aufruf steht). comm2d war zu Beginn
715undefiniert und wird nun erst einmal gleich MPI_COMM_WORLD gesetzt.</td>
716<td>parles</td> </tr> <tr nosave="" valign="top"> <td nosave="">02/01/01</td>
717<td>SR</td> <td>2.1a</td> <td>C</td>
718<td>Offene Dateien werden sobald möglich geschlossen.
719Wiedereröffnung
720bestimmter Dateien mit POSITION='APPEND' möglich. In diesem
721Zusammenhang
722wurde das Unterprogramm close_files in close_file umbenannt und hat nun
7231 Argument.&nbsp; <br>
724Anpassung der Diffusionsparametrisierung im 1D-Modell an das 3D-Modell.</td>
725<td>advec_particles, check_cpu_time, check_open, cpu_auswertung,
726init_1d_model,
727init_3d_model, init_particles, modules.f90, parin, parles, plot_2d,
728write_3d_binary&nbsp; <p><b>Neu:</b> <br>
729close_file&nbsp; </p> <p><b>Eliminiert:</b>
730<br>
731close_files</p> </td> </tr> <tr nosave="" valign="top"> <td nosave="">02/01/01</td>
732<td>SR</td> <td>2.1a</td> <td>B</td>
733<td>Beseitigung kleiner Fehler.</td> <td>check_cpu_time,
734diffusion_e, diffusivities, long_filter,
735production_e</td> </tr> <tr nosave="" valign="top"> <td>05/01/01</td> <td>SR</td>
736<td>2.1b</td> <td>N</td> <td nosave="">Neues
737Software-Paket zur Berechnung von Spektren im
738Ortsraum</td> <td>check_open, header, init_3d_model,
739leap_frog, modules,
740package_parin,
741parles, read_var_list, write_3d_binary, write_var_list&nbsp; <p><b>Neu:</b>
742<br>
743calc_spectra, plot_spectra</p> </td> </tr> <tr valign="top"> <td>25/01/01</td> <td>SR</td>
744<td>2.1c</td> <td>C/N</td> <td>Drucklöser
745kann jetzt die Singleton-FFT benutzen. Modul <tt>singleton</tt>
746wurde deshalb von <tt>calc_spectra.f90</tt> nach <tt>modules.f90</tt>
747geschoben
748(neuer Initialisierungsparameter <tt>fft_method</tt>).&nbsp;
749<br>Flüsse können jetzt bei k=1
750unabhängig von der
751Verwendung
752einer Prandtl-Schicht vorgegeben werden (neuer
753Initialisierungsparameter <tt>use_surface_fluxes</tt>).&nbsp;
754<br>Modul <tt>test_variables</tt> wurde aus allen
755Programmteilen entfernt.
756Hauptprogramm wurde von parles nach <tt>palm</tt>
757umbenannt.&nbsp; <br>
758Modell kann auf DEC-Workstations eingesetzt werden (-D <tt>dec</tt>).&nbsp;
759<br>Zusätzliche Zeitmessungen mit dvrp-Software.
760Schreiben von
761Partikel-Informationen
762ist optional (neuer Parameter <tt>write_particle_informations</tt>).</td>
763<td>advec_particles, calc_spectra, check_parameters,
764cpu_zeitmessung, diffusion_s,
765header, init_3d_model, init_dvrp, init_particles, leap_frog, modules,
766package_parin,
767parin, poisfft, read_var_list, swap_timelevel, write_var_list&nbsp;
768<p><b>Neu:</b> <br>
769palm&nbsp; </p> <p><b>Eliminiert:</b> <br>
770parles, module_test</p> </td> </tr> <tr valign="top"> <td>25/01/01</td> <td>SR</td>
771<td>2.1c</td> <td>B</td> <td>Fehler
772beim öffnen von Unit 23 beseitigt. Modul <tt>interface</tt>
773fehlte in disturb_field.&nbsp; <br>
774Wertebereich von theta* in Prandtl-Fluxes eingeschränkt, weil
775sonst auf einigen Rechnern overflow droht, wenn u*=0.</td> <td>check_open,
776disturb_field, prandtl_fluxes</td> </tr> <tr valign="top"> <td>30/01/01</td> <td>SR</td>
777<td>2.1d</td> <td>N/C</td> <td>Prognose
778eines passiven Skalars ist möglich (anstatt
779Feuchte),
780dazu neuer Initialisierungsparameter <tt>passive_scalar</tt>.&nbsp;
781<p>Falls kein Pfad für ftpcopy existiert, werden in <tt>check_open</tt>
782die Dateinamen für AVS-Koordinaten- und Datendatei auf
783"unknown"
784gesetzt.</p> </td> <td>asselin_filter,
785boundary_conds, check_open, check_parameters,
786flow_statistics,
787header, init_1d_model, init_3d_model, modules, parin, plot_2d,
788plot_dvrp,
789prandtl_fluxes, prognostic_equations, read_var_list, swap_timelevel,
790write_3d_binary,
791write_var_list</td> </tr> <tr valign="top"> <td>30/01/01</td>
792<td>SR</td> <td>2.1d</td> <td>B</td>
793<td>String-Ausgabe für use_surface_fluxes korrigiert.
794Version vom
79525/01/01 brach deswegen bei Fortsetzungsläufen ab.&nbsp; <br>
796xy-Plotausgabe von q und ql korrigiert.</td> <td>plot_2d,
797write_var_list</td> </tr> <tr nosave="" valign="top"> <td nosave="">30/03/01</td>
798<td>SR</td> <td>2.2</td> <td>N/C</td>
799<td>Sämtliche 3D-Felder der Zeitebene t+dt wurden
800entfernt.
801Ebenso
802die Arbeitsfelder work und work1. Hilfsfelder wurden soweit
803möglich
804eingespart und werden grundsätzlich lokal allokiert. Dadurch
805konnten
806eine Reihe von Übergabeparametern gestrichen werden (z.B. beim
807Aufruf
808von <tt>pres, advec_s_bc, poisfft, production_e, sor </tt>sowie
809den
810Spline-Unterprogrammen).
811Der Long-Filter wurde in das Upstream-Spline-Verfahren integriert. Da
812der
813Zeitfilter jetzt direkt in der prognostischen Gleichung angewendet wird
814(bisher geschah dies erst nach Aufruf des Drucklösers), haben
815sich
816die Zahlen in der Testergebnis-Datei geändert. Die mittleren
817Profile
818sind aber unbeeinflusst.&nbsp; <p>Eine weitere kleinere
819Änderung der Testergebnis-Daten
820wird dadurch
821verursacht, dass jetzt der Parameter <tt>adjust_mixing_length</tt>
822defaultmäßig <tt>.FALSE.</tt>
823ist und der Mischungsweg grundsätzlich zusätzlich
824auf&nbsp; <tt>0.7
825* zu</tt>&nbsp;&nbsp; begrenzt wird. Falls <tt>adjust_mixing_length=T</tt>,
826wird jetzt der Mischungsweg in <tt>diffusivities</tt>
827analog zu <tt>diffusion_e</tt>
828an allen Gitterpunkten modifiziert. <b>Achtung: </b>Diese
829Änderungen
830können bei anderen Simulationen t.w. erhebliche Auswirkungen
831auf
832die
833oberflächennahen Ergebnisse haben.&nbsp; </p> <p><b>Kleinere
834Änderungen:</b> In <tt>init_cloud_physics</tt>
835wird
836der Wert der Variablen <tt>surface_pressure</tt> in hPa
837belassen
838(bisher
839Umwandlung in Pa).&nbsp; <br>
840Die Namelist-Namen der Software-Pakete sind&nbsp; t.w.
841geändert.&nbsp; <br>
842Unit 14 (binäre Ausgabe für
843Fortsetzungsläufe) wird
844jetzt im Hauptprogramm geschlossen, damit auf diese Datei noch
845benutzergesteuerte
846Ausgaben erfolgen können.&nbsp; <br>
847Laufparameter werden in keinem Fall mehr auf Unit 14 ausgegeben bzw.
848von Unit 13 gelesen, d.h. sie gelten jetzt tatsächlich nur
849für
850den jeweils aktuellen Lauf.&nbsp; <br>
851Partikeladvektion funktioniert jetzt auch zusammen mit der
852Galilei-Transformation.&nbsp; </p> <p>Restliche
853deutsche Variablen-, Unterprogramm- und Modulnamen
854wurden
855ins Englische übersetzt. Davon sind fast alle Programmteile
856betroffen
857(nicht in rechter Spalte aufgeführt).</p> </td> <td>advec_particles,
858advec_s_bc, advec_s_ups, advec_u_ups,
859advec_v_ups,
860advec_w_ups, boundary_conds, calc_spectra, check_parameters,
861diffusion_e,
862init_3d_model, init_cloud_physics, init_pegrid, init_rankine,
863leap_frog,
864modules, package_parin, palm, parin, poisfft, pres, production_e,
865prognostic_equations,
866read_var_list, sor, swap_timelevel, transpose_*, write_3d_binary,
867write_var_list&nbsp; <p><b>Neu:</b> <br>
868cpu_log, cpu_statistics&nbsp; </p> <p><b>Eliminiert:</b>
869<br>
870asselin_filter, cpu_auswertung, cpu_zeitmessung, long_filter</p> </td>
871</tr> <tr nosave="" valign="top"> <td nosave="">12/07/01</td> <td>SR</td> <td>2.2a</td>
872<td>N/C</td> <td>Defaultwert der unteren
873Randbedingung für die TKE ist ab
874sofort <tt>bc_e_b
875= 'neumann'</tt>.&nbsp; <br>
876Partikelquelle ist über Paketparameter steuerbar.
877Partikeleigenschaften
878sind mittels benutzereigener Software steuerbar. Der dvrp-Ausgabeweg
879ist
880jetzt ebenfalls über Paketparameter steuerbar.&nbsp; <br>
881Allen Modulen (bis auf singleton) wurde eine SAVE-Anweisung
882hinzugefügt,
883damit die durch sie vereinbarten Variablen während der
884Rechnung in
885keinem Fall undefiniert werden können (diese Gefahr besteht
886z.B.
887auf
888SGI-Origin-Maschinen).</td> <td>advec_particles, header,
889init_dvrp, init_particles,
890modules.f90, package_parin,
891plot_dvrp, user_interface</td> </tr> <tr> <td>12/07/01</td>
892<td>SR</td> <td>2.2a</td> <td>B</td>
893<td>Verschiebung der OPEN-Anweisung für Unit 33
894(AVS-FLD-Datei).</td> <td>check_open</td> </tr>
895<tr nosave="" valign="top"> <td nosave="">20/07/01</td>
896<td>SR</td> <td>2.3</td> <td>N</td>
897<td>Einbau des Mehrgitterverfahrens zur Lösung der
898Poisson-Gleichung.</td> <td>check_parameters,
899exchange_horiz, header, init_grid,
900init_pegrid, modules,
901parin, pres, run_control&nbsp; <p><b>Neu:</b> <br>
902poismg</p> </td> </tr> <tr nosave="" valign="top"> <td nosave="">21/08/01</td>
903<td>SR</td> <td>2.3a</td> <td>N/C</td>
904<td>Ergänzung der dvrp-Software: Partikel
905können mit
906Schwänzen
907versehen werden. Die Ausgabe der dvrp-Plotdaten durch einen separaten
908PE
909ist möglich (mrun-Option "<tt>-p dvrp_graphics+1PE</tt>").
910Der
911Kommunikator <tt>MPI_COMM_WORLD</tt>&nbsp;
912wurde deshalb durch&nbsp; <tt>comm_palm</tt>&nbsp;
913ersetzt.&nbsp; <p>Reduzierung des Mischungsweges im
914Wandbereich kann wahlweise
915abgeschaltet
916werden. Für km und kh wird jetzt eine Neumann-Randbedingung am
917unteren
918Rand verwendet. Die TKE-Energieproduktionsberechnung durch Scherung des
919Grundstroms am unteren Rand wurde verbessert.&nbsp; </p> <p>Generelle
920Verwendung der bodennahen vertikalen
921Impulsflüsse in
922den Diffusionstermen von u und v, immer wenn diese als Randbedingung
923vorgegeben
924sind (gemäß <tt>use_surface_fluxes</tt>,
925- bisher wurde
926dies
927nur bei eingeschalteter Prandtl-Schicht gemacht). Schubspannungen
928können
929jetzt als Randbedingungen vorgegeben werden (allerdings unter
930zuhilfenahme
931benutzereigener Software).&nbsp; </p> <p>Zusätzliche
932Schnittstellen für benutzereigene
933Software in
934allen Tendenztermen, in <tt>flow_statistics,</tt> und
935für
936Partikel-
937bzw. dvrp-Programmteile (Bestimmung von Partikeleigenschaften,
938Festlegung
939von Farbtabellen).&nbsp; </p> <p><b>Achtung: </b>Diese
940Änderungen können bei
941Simulationen mit
942mittlerem Wind durch die Änderungen im bereich des unteren
943Randes
944t.w. erhebliche Auswirkungen auf die oberflächennahen
945Ergebnisse
946haben.</p> </td> <td>advec_particles, diffusion_e,
947diffusion_u, diffusion_v,
948diffusivities,
949flow_statistics, header, init_dvrp, init_particles, init_pegrid,
950leap_frog,
951modules, package_parin, palm, parin, plot_dvrp, production_e,
952prognostic_equations,
953read_var_list, swap_timelevel, user_interface, write_var_list</td>
954</tr> <tr nosave="" valign="top"> <td nosave="">21/08/01</td> <td>SR</td> <td>2.3a</td>
955<td>B</td> <td>Falsche Positionierung von
956MPI_ALLREDUCE in check_cpu_time
957korrigiert.</td> <td>check_cpu_time</td> </tr>
958<tr nosave="" valign="top"> <td nosave="">04/09/01</td>
959<td>SR</td> <td>2.3b</td> <td>N</td>
960<td>Zusätzliche Profilausgaben für
961Energieproduktionsterme möglich.
962Stördruck wird bei der FFT-Methode nicht mehr durch
963Aufsummieren
964der
965Werte zu den einzelnen Zeitschritten ermittelt.</td> <td>check_parameters,
966flow_statistics, modules, pres</td> </tr> <tr nosave="" valign="top"> <td nosave="">04/09/01</td>
967<td>SR</td> <td>2.3b</td> <td>B</td>
968<td>Austausch der Geisterränder für die
969zeitgefilterten
970Felder
971direkt nach Durchführung der Filterung (war fehlerhaft seit
972Entfernen
973der Zeitebene t+dt (Version 2.2) und führte zu sehr kleinen
974Störungen
975an den seitlichen Rändern der Teilgebiete).&nbsp; <p><b>Achtung:</b>
976Der Inhalt der Testergebnis-Datei ändert
977sich durch
978diese Fehlerkorrektur.</p> </td> <td>prognostic_equations</td>
979</tr> <tr nosave="" valign="top"> <td nosave="">09/11/01</td> <td>SR</td> <td>2.3c</td>
980<td>N</td> <td>Farbe entlang der
981Partikelschwänze kann sich
982ändern. Einschalten
983der Partikeladvektion bei Fortsetzungsläufen möglich.</td>
984<td>advec_particles, init_particles, modules, package_parin,
985plot_dvrp</td> </tr> <tr nosave="" valign="top">
986<td nosave="">16/04/02</td> <td>SR</td>
987<td>2.3d</td> <td>N</td> <td>Vorgabe
988von Randbedingungen für Partikeladvektion
989möglich.
990Partikeldaten können für spätere Analysen
991auf Datei
992geschrieben
993werden (Unit 85). <tt>PARTICLE</tt>-Datentyp
994enthält
995Informationen
996über Partikelgeschwindigkeitskomponenten und
997Startposition.&nbsp; <p>Skalartransport sowie entsprechende
998Datenausgaben können
999durch
1000eigene Parameter gesteuert werden (nicht mehr über die
1001Feuchteparameter).&nbsp; </p> <p>Im Fall von
1002pdims(1)=1 (eindimensionales virtuelles
1003Prozessornetz in
1004y-Richtung) werden die zyklischen Randbedingungen in x-Richtung durch
1005direktes
1006Umspeichern anstatt durch&nbsp; <tt>sendrecv </tt>realisiert.
1007Ebenso
1008werden
1009die Transponierungen xz, yz, zx&nbsp; und zy eingespart (es wird
1010aber
1011weiter
1012umsortiert).&nbsp; </p> <p>Im Fall von
10133D-Plotausgaben Aufruf von ftpcopy-Script durch
1014batch_scp-Script
1015ersetzt (dient der Ermittelung von Dateizyklusnummern als Information
1016für
1017die AVS-fld-Datei).&nbsp; </p> <p>Bei fehlerhafter
1018Eröffnung einer CPU_MEASURES-Datei
1019werden erneute
1020Eröffnungsversuche durchgeführt.</p> </td>
1021<td>advec_particles, check_open, check_parameters,
1022exchange_horiz, flow_statistics,
1023header, init_particles, modules, package_parin, parin, plot_2d,
1024plot_3d,
1025prognostic_equations, read_var_list, transpose_xz, transpose_yz,
1026transpose_zx,
1027transpose_zy, write_var_list</td> </tr> <tr nosave="" valign="top"> <td nosave="">02/05/02</td>
1028<td>SR</td> <td>2.3e</td> <td>B</td>
1029<td>Wiedereinführung der 3D-Felder für die
1030Zeitebene
1031t+dt, die
1032notwendig ist, damit in den Diffusionstermen bei Leapfrog-Zeitschritten
1033mit der korrekten Zeitebene t-dt gearbeitet wird. Seit Version 2.2
1034wurde
1035fälschlicherweise die Zeitebene t+dt verwendet. Asselin-Filter
1036ist
1037jetzt wieder eigenständiges Unterprogramm. <br>
1038Die Wiedereinführung dieser dritten Zeitebene ist auch
1039Voraussetzung
1040für die in der nächsten Version geplante skalare
1041Optimierung.&nbsp; <p>Fehler bei Berechnung von
1042Ausgabezeitpunkten eliminiert (trat
1043auf, wenn
1044bei Fortsetzungsläufen von Ausgabeabständen 0.0 auf
1045von Null
1046verschiedene Werte gewechselt werden sollte).&nbsp; </p> <p><b>Achtung:</b>
1047Der Inhalt der Testergebnis-Datei ändert
1048sich durch
1049diese Fehlerkorrektur.</p> </td> <td>init_3d_model,
1050leap_frog, modules, prognostic_equations,
1051swap_timelevel&nbsp; <p><b>Neu:</b> <br>
1052asselin_filter</p> </td> </tr> <tr nosave="" valign="top"> <td>02/05/02</td> <td>SR</td>
1053<td>2.3e</td> <td>N/C</td> <td>Kleinere
1054Anpassungen an IBM-Regatta-Systeme in
1055check_parameters, cpu_log.&nbsp; <p>Modul singleton in
1056eigenständige Datei
1057überführt.&nbsp; </p> <p>Global_min_max
1058arbeitet mit REAL*4, um Komplikationen auf
105932-bit-Rechnern
1060zu vermeiden (Datentyp MPI_2REAL müsste dort sonst auf
1061MPI_2DOUBLE_PRECISION
1062geändert werden). <br>
1063Horizontale Geschwindigkeitskomponenten für Partikeladvektion
1064werden exakt zwischen den jeweils benachbarten horizontalen
1065Gitterflächen
1066interpoliert.</p> </td> <td nosave="">advec_particles,
1067check_parameters, cpu_log,
1068global_min_max,
1069modules&nbsp; <p><b>Neu:</b> <br>
1070singleton</p> </td> </tr> <tr nosave="" valign="top"> <td nosave="">11/06/02</td>
1071<td>SR</td> <td>2.4</td> <td>N/C</td>
1072<td>Optimierung und Anpassungen für einzelne Knoten der
1073IBM-Regatta-Systeme. <p><b>Skalare (Cache) Optimierung:</b>
1074Tendenzterme werden
1075innerhalb einer
1076großen (i,j)-Schleife berechnet, die nun jeweils die gesamte
1077prognostische
1078Gleichung umfasst. Schleifenindices i und j werden an die
1079Tendenzunterprogramme
1080als Argumente übergeben. Die Tendenzunterprogramme sind als
1081Module
1082geschrieben, die mittels Technik der überladenen Funktionen
1083auch
1084ohne
1085diese Indices i und j aufgerufen werden können, und dann wie
1086in
1087früheren
1088Versionen funktionieren (d.h. in ihnen laufen die Schleifen
1089über
1090alle
10913 Dimensionen). Solche Teile der prognostischen Gleichungen, die
1092globale
1093Kommunikation beinhalten, sind vor die (i,j)-Schleife gezogen. Falls
1094ausschließlich
1095mit Piascek-Williams-Advektion gearbeitet wird, werden alle
1096prognostischen
1097Gleichungen in einer einzigen (i,j)-Schleife gerechnet. </p> <p><b>Kommunikationsoptimierung:</b>
1098Zusätzliche
1099Implementierung einer
11001D-Gebietszerlegung in x-Richtung. Mit dem neuen direkten
1101Drucklöser
1102(poisfft_hybrid) werden dadurch 4 von 6 notwendigen Transpositionen
1103eingespart.
1104Die 1D-Zerlegung wird automatisch bei Verwendung dieses neuen
1105Lösers
1106aktiviert. Austausch von Geisterrändern in y-Richtung wird bei
1107dieser
11081D-Zerlegung durch einfache zyklische Randbedingungen ersetzt. </p>
1109<p><b>Kleinere Anpassungen:</b> String-Vergleiche
1110erfordern beim
1111IBM-Compiler
1112in der Regel den Einsatz der TRIM-Funktion, um
1113überschüssige
1114Blanks am Ende des Strings abzuschneiden (sonst liefert der Vergleich
1115.F.). <br>
1116Lokal allokierte Felder t.w. in sogenannte automatische Felder
1117umgewandelt
1118(günstiger, um Gefahr von eventuellen Speicherlecks zu
1119vermeiden).
1120Einige Feldoperationen wurden wegen schlechter Performance auf der IBM
1121entfernt (s. pres). </p> <p><b>Achtung: </b>Die
1122Übersetzung des Modells erfordert
1123aufgrund
1124der Vielzahl nunmehr eingesetzter Module die Verwendung des
1125make-Mechanismus,
1126um die korrekte Reihenfolge bei der Übersetzung der
1127Programmteile
1128zu gewährleisten. Die Beschreibung dieser
1129Abhängigkeiten
1130erfolgt
1131in der Datei<tt> Makefile</tt>, die zusammen mit den
1132Programmdateien
1133abgelegt
1134ist und ebenfalls unter RCS-Verwaltung steht. </p> <p>Im
1135User-Interface ist das Unterprogramm<tt> user_actions </tt>nun
1136ebenfalls
1137als Modul geschrieben und bedient sich der Methode der
1138überladenen
1139Funktionen. Existierende benutzereigene Software muss entsprechend
1140angepasst
1141werden.</p> </td> <td>advec_s_pw, advec_s_up,
1142advec_u_pw, advec_u_up, advec_v_pw,
1143advec_v_up,
1144advec_w_pw, advec_w_up, buoyancy, calc_precipitation, calc_radiation,
1145calc_spectra,
1146check_parameters, coriolis, diffusion_e, diffusion_s, diffusion_u,
1147diffusion_v,
1148diffusion_w, diffusivities, exchange_horiz, exchange_horiz_2d,
1149global_min_max,
1150header, impact_of_latent_heat, init_pegrid, leap_frog, modules,
1151plot_2d,
1152plot_3d, plot_spectra, poisfft, pres, production_e,
1153prognostic_equations,
1154user_interface, <p><b>Neu:</b> <br>
1155fft_for_1d_decomp, Makefile, poisfft_hybrid,&nbsp;</p> </td>
1156</tr> <tr nosave="" valign="top"> <td nosave="">11/06/02</td> <td>SR</td> <td>2.4</td>
1157<td>B</td> <td>Fehlende Variablenvereinbarung in <tt>advec_particles</tt>
1158ergänzt.</td> <td>advec_particles</td> </tr>
1159<tr> <td valign="top">12/09/02</td> <td valign="top">SR</td> <td valign="top">2.4a</td>
1160<td valign="top">N</td> <td valign="top">Partikel
1161können mit Trägheit versehen
1162werden und
1163einen Dichteunterschied zum umgebenden Fluid haben. Zur Steuerung dient
1164der neue Paketparameter <tt>density_ratio</tt>.</td>
1165<td valign="top">advec_particles, header, init_particles,
1166modules, package_parin</td> </tr> <tr> <td valign="top">12/09/02</td> <td valign="top">SR</td>
1167<td valign="top">2.4a</td> <td valign="top">B</td>
1168<td valign="top">Fehler in Berechnung der Anfangsprofile
1169von pt
1170und q entfernt
1171(obere Feldgrenze von 10 konnte in <tt>pt_vertical_gradient_level_ind</tt>
1172überschritten werden). Fehler führte unter
1173Umständen zu
1174"segmentation fault" bei Verwendung sehr großer
1175Gitterpunktzahlen
1176in z-Richtung. <p>Fehler in Berechnung der v-Komponente am
1177unteren Rand
1178entfernt, die
1179für den Scherungsproduktionsterm der TKE verwendet wird
1180(Variable
1181v_0). Fälschlicherweise wurde zur Berechnung u(k=1) statt
1182v(k=1)
1183verwendet.</p> </td> <td valign="top">check_parameters,
1184modules, production_e</td> </tr> <tr> <td valign="top">19/12/02</td> <td valign="top">SR</td>
1185<td valign="top">2.5</td> <td valign="top">N</td>
1186<td valign="top">Restart times can be set by user with new
1187runtime (d3par)
1188parameters <tt>restart_time</tt> and <tt>dt_restart</tt>.
1189Run
1190description
1191header is written on file CONTINUE_RUN. Output of cpu statistics
1192changed
1193(PE results are now collected on PE0 in order to calculate mean cpu
1194statistics).
1195Output of warnings in the job protocol in case of negative measured
1196cpu-times.
1197Remaining cpu-time is also evaluated on IBM-Regatta.</td> <td valign="top">cpu_log, cpu_statistics,
1198check_parameters,header, leap_frog,
1199local_tremain, local_tremain_ini, modules,&nbsp; palm,&nbsp; <p><b>new:</b>
1200<br>
1201check_for_restart </p> <p><b>deleted:</b> <br>
1202check_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
120314 (BINOUT) must be opened using a special
1204process
1205id string, because on IBM, the PE rank differs between communicators
1206MPI_COMM_WORLD
1207and comm_2d. This leads to a mismatch between filename-PE-number and
1208PE-number
1209written on file. As the consequence, these files could not be read by
1210restart-jobs.
1211Reading of array <tt>hom</tt> moved from <tt>init_3d_model
1212</tt>to <tt>read_var_list</tt>
1213(binary version number incremented to 2.2). <p><b>Further
1214optimization for IBM-Regatta-systems:</b> <br>
1215Additional optimization of the hybrid-solver for multinode usage
1216(overlapping
1217of communication and computation). </p> <p>Further cache
1218optimization by using strides and joining loops (<tt>hybrid_solver,
1219pres</tt> and <tt>timestep</tt>). Joining of
1220MPI_ALLREDUCE calls in
1221timestep. </p> <p>In case of 1d-decomposition along x
1222only a part of the
1223integral divisor
1224conditions is checked, on IBM hosts a 1d-decomposition along x is the
1225default,
1226a switch from Poisson-FFT-solver to the hybrid-solver is made in case
1227of
12281d-decomposition along x, the hybrid-solver does not force a
12291d-decomposition
1230any more. </p> <p>Array notation changed to do-loop
1231constructs due to better
1232performance. </p> <p>Cyclic boundary conditions along <tt>y</tt>
1233used instead of
1234sendrecv
1235in case of a 1d-decomposition along <tt>x</tt>. SENDRECV
1236replaced by
1237nonblocking
1238routines ISEND and IRECV in <tt>exchange_horiz.f90</tt>. </p>
1239<p>Speed optimization by removing MINVAL/MAXVAL calls and by
1240handling <br>
1241the "abs" case in a different way than the min/max cases (routine <tt>global_min_max</tt>).</p>
1242</td> <td valign="top">asselin_filter, check_open,
1243exchange_horiz,
1244global_min_max,
1245init_3d_model, init_pegrid, parin, poisfft_hybrid, read_var_list,
1246timestep,
1247write_3d_binary, write_var_list</td> </tr> <tr> <td valign="top"><br> </td> <td valign="top"><br>
1248</td> <td valign="top"><br> </td> <td valign="top">B</td> <td valign="top">Correction
1249of mixing length term (l(k)/ll(k)).
1250The condition
1251kh=3*km in the unstable case is now also exactly met in the wall
1252adjustment
1253region. Factor 0.7 in wall adjustment part replaced by variable <tt>wall_adjustment_factor</tt>,
1254which is set to 1.8 in <tt>modules.f90</tt>. The factor
12550.7 was the
1256possible
1257reason for 2-delta-x-waves, which were observed since version 2.1d. <p>Calculation
1258of deformation tensor re-designed (<tt>production_e</tt>). </p>
1259<p>STOP statements replaced by call of new subroutine <tt>local_stop,
1260</tt>where
1261MPI_FINALIZE is called before STOP in case of a parallel environment. </p>
1262<p>ISO2D parameter dp set to true for ibm hosts. </p> <p>tend=p
1263added in <tt>pres</tt> after calling sor method.</p>
1264</td> <td valign="top">advec_s_bc, buoyancy,
1265check_open,
1266check_parameters, close_file,
1267coriolis, diffusion_e, diffusivities, fft_for_1d_decomp,
1268flow_statistics,
1269init_3d_model, init_dvrp, init_grid, init_particles, init_pegrid,
1270parin,
1271plot_2d, poisfft, pres, read_var_list, user_interface,&nbsp; <p><b>new:</b>
1272<br>
1273local_stop, production_e</p> </td> </tr> <tr>
1274<td valign="top">03/03/03</td> <td valign="top">SR</td>
1275<td valign="top">2.5a</td> <td valign="top">N</td>
1276<td valign="top">Particle velocities are also stored in
1277array
1278particles in
1279case of zero density ratio. Steering of variables by dvrp browser
1280included.</td> <td valign="top">advec_particles,
1281init_dvrp, modules,</td> </tr> <tr> <td valign="top"><br> </td> <td valign="top"><br>
1282</td> <td valign="top"><br> </td> <td valign="top">C</td> <td valign="top">AVS
1283data format changed from float to xdr_float
1284(needed
1285on linux machines <br>
1286due to the little/big endian problem). Updates for new version of dvrp
1287software (e.g. using module dvrp is now mandatory).</td> <td valign="top">close_file, init_dvrp, leap_frog, plot_dvrp</td>
1288</tr> <tr> <td valign="top"><br> </td>
1289<td valign="top"><br> </td> <td valign="top"><br> </td> <td valign="top">B</td>
1290<td valign="top">Error in particle inertia part removed
1291(exp_arg
1292must not
1293contain the timestep). <br>
1294Error in calculation of the vertical flux of resolved scale energy
1295(profile 57) removed. Displacement for integers in mpi_particle_type
1296reduced
1297from 16 to 8 on ibm.</td> <td valign="top">advec_particles,
1298flow_statistics, init_particles</td> </tr> <tr> <td valign="top">12/03/03</td> <td valign="top">SR</td>
1299<td valign="top">2.6</td> <td valign="top">N</td>
1300<td valign="top"><b>Version optimized for NEC-SX6
1301parallel-vector
1302machines.&nbsp;</b> <p>There are two main changes. A
1303new vectorizable routine <tt>prognostic_equations_vec</tt>
1304is added, where cache optimizations are undone. The tendency
1305subroutines
1306called by <tt>prognostic_equations_vec</tt> contain the
1307full 3d-loops
1308(compared
1309with the cache-optimized versions where only loops over k are carried
1310out).
1311Additionally, a new pressure solver <tt>poisfft_hybrid_vec</tt>
1312is
1313added,
1314which requires a 1d-domain-decomposition (like poisfft_hybrid). In this
1315solver, a very fast FFT from Clive Temperton (ECMWF) is&nbsp;
1316optionally
1317available by choosing <tt>fft_method </tt>= <i>'temperton-algorithm'</i>.&nbsp;
1318</p> <p>Additional changes in <tt>flow_statistics</tt>
1319to allow
1320better vectorization. </p> <p>Small changes in routines <tt>diffusivities</tt>
1321and <tt>pres</tt>
1322which
1323caused run time errors on IBM and NEC due to compiler problems. </p>
1324<p>Reading of environment variable <tt>tasks_per_node</tt>
1325moved
1326from routine <tt>poisfft_hybrid</tt>
1327to routine <tt>parin</tt>. </p> <p><b>Changes
1328in makefile:</b> modules and user_interface now
1329depend on
1330the f90 files, dependency of singleton added, LDFLAGS moved to the end
1331of PROG rule, temperton_fft added.</p> </td> <td valign="top">advec_s_pw, advec_s_up, advec_u_pw, advec_u_up,
1332advec_v_pw,
1333advec_v_up, advec_w_pw, advec_w_up, buoyancy, calc_precipitation,
1334calc_radiation,
1335check_parameters, coriolis, cpu_log, diffusion_e, diffusion_s,
1336diffusion_u,
1337diffusion_v, diffusion_w, diffusivities, fft_for_1d_decomp, header,
1338impact_of_latent_heat,
1339init_pegrid, leap_frog, local_tremain, modules, parin, poisfft,
1340poisfft_hybrid,
1341pres, production_e, prognostic_equations, user_interface <p><b>new:</b>
1342<br>
1343temperton_fft</p> </td> </tr> <tr> <td valign="top"><br> </td> <td valign="top"><br>
1344</td> <td valign="top"><br> </td> <td valign="top">B</td> <td valign="top">tend=p
1345added in routine <tt>pres</tt> after
1346calling sor
1347method.</td> <td valign="top">pres</td> </tr>
1348<tr> <td valign="top">14/03/03</td> <td valign="top">SR</td> <td valign="top">2.6a</td>
1349<td valign="top">N</td> <td valign="top">Additional
1350vector optimization for NEC-SX6. <p>Optional system-specific
1351random number generator available
1352(for equal
1353distributed numbers). </p> <p>Define strings in all
1354relevant subroutines changed from&nbsp; </p> <p><tt>&nbsp;&nbsp;&nbsp;&nbsp;
1355#if defined( define_string )</tt> </p> <p>to </p>
1356<p><tt>&nbsp;&nbsp;&nbsp;&nbsp; #if
1357defined( __define_string )</tt> </p> <p><b>Caution:
1358</b>The relevant subroutines are NOT listed in
1359the right
1360column!</p> </td> <td valign="top">asselin_filter,
1361check_parameters, diffusion_e,
1362diffusivities,
1363disturb_field, global_min_max, header, local_tremain, modules, parin,
1364poisfft_hybrid,
1365pres, read_var_list, write_var_list</td> </tr> <tr>
1366<td valign="top"><br> </td> <td valign="top"><br> </td> <td valign="top"><br>
1367</td> <td valign="top">B</td> <td valign="top">Error in particle boundary condition removed
1368(velocity must
1369be inverted in case of reflection)</td> <td valign="top">advec_particles</td>
1370</tr> <tr> <td valign="top">16/04/03</td>
1371<td valign="top">SR</td> <td valign="top">2.6b</td>
1372<td valign="top">N</td> <td valign="top">Time
1373series output of Monin Obukhov length. <p>Temperton fft can now
1374be used for all hosts and every domain
1375decomposition.
1376Abort in case of Temperton fft, if number of gridpoints along x and/or
1377y contain illegal factors.&nbsp; </p> <p>Index values
1378for the extrema found in global_min_max are
1379limited to
1380the range 0..nx, 0..ny (on IBM machines -1 and nx+1/ny+1 occured which
1381produced different RUN_CONTROL output compared to other machines). </p>
1382<p>Output format of iteration count in routine run_control
1383enlarged.</p> </td> <td valign="top">check_parameters,
1384fft_for_1d_decomp,
1385global_min_max, init_pegrid,
1386modules, plot_ts, poisfft, run_control, temperton_fft</td> </tr>
1387<tr> <td valign="top"><br> </td> <td valign="top"><br> </td> <td valign="top"><br>
1388</td> <td valign="top">B</td> <td valign="top">Additional checks of variables <tt>hybrid_solver</tt>
1389and <tt>host</tt>
1390(<tt>hybrid_solver</tt> must not be used for a
13912d-domain-decomposition, <tt>host</tt>
1392should be set by setting environment variable <tt>localhost</tt>).
1393<p>Header output for mixing length limitations revised.</p>
1394</td> <td valign="top">check_parameters, header</td>
1395</tr> <tr> <td valign="top">09/05/03</td>
1396<td valign="top">SR</td> <td valign="top">2.7</td>
1397<td valign="top">N</td> <td valign="top"><b>Version
1398running on Linux Clusters using MPICH
1399and Intel
1400FORTRAN compiler (ifc)</b> <p>So far, only absolutely
1401neccessary changes have been done
1402(possible
1403optimizations will follow in a later version): </p> <p>New
1404time measurements for Linux (ifc) environment added. </p> <p>Some
1405parameters in MPI calls had to be modified (arrays had to
1406be replaced
1407by the first element of the regarding array) in order to fulfill f90
1408type
1409and rank requirements, since on the MUK-cluster a FORTRAN90-version of
1410MPI is used. This also required to replace "mpif.h" by using a special
1411module (named <tt>mpi</tt>).&nbsp; I did not find out
1412how character
1413strings
1414can be send with MPI. Therefore, these strings are transformed to
1415integers,
1416before they are send, and transformed back to characters on the
1417receiving
1418PE. </p> <p>On the MUK-cluster, only PE0 is able to read
1419the values of
1420environment
1421variables. Therefore, these values are communicated via broadcast to
1422the
1423other PEs. </p> <p>1d-decomposition is set as the default
1424on Linux Clusters.
1425Character
1426strings have to be transformed to integer </p> <p>Smaller
1427changes: </p> <p>Batch_scp paths for IBM, NEC and Linux
1428added</p> </td> <td valign="top">check_open,
1429cpu_log, flow_statistics,
1430init_pegrid, local_getenv,
1431modules, palm, poisfft_hybrid</td> </tr> <tr> <td valign="top"><br> </td> <td valign="top"><br>
1432</td> <td valign="top"><br> </td> <td valign="top">B</td> <td valign="top">Measurements
1433on IBM are now using function <tt>irtc</tt>,
1434which allows correct measurements for jobs running over the 24:00
1435timeline.</td> <td valign="top">cpu_log,
1436local_tremain, local_tremain_ini</td> </tr> <tr> <td valign="top">01/08/03</td> <td valign="top">SR</td>
1437<td valign="top">2.7a</td> <td valign="top">B</td>
1438<td valign="top">Check that the number processors is also
1439an
1440integral divisor
1441of the number&nbsp; of gridpoints along y in case of a
14421d-decomposition
1443along x. <p>Error concerning the multinode-version of
1444poisfft_hybrid
1445removed. It
1446was caused by the Linux changes of version 2.7 and led to program abort
1447due to MPI errors in <tt>MPI_ALLTOALL</tt>. </p> <p>No
1448abort on t3e-systems if system specific routines are used. </p> <p>Array<tt>
1449sums </tt>is initialized in<tt> init_3d_model </tt>before
1450the first call of<tt> pres</tt>. Call of<tt>
1451init_cloud_physics </tt>moved
1452before<tt> init_particles</tt>.</p> </td> <td valign="top">fft_1dd_init, init_3d_model, init_pegrid,
1453poisfft_hybrid</td> </tr> <tr> <td valign="top"><br>
1454</td> <td valign="top"><br> </td> <td valign="top"><br> </td> <td valign="top">N</td>
1455<td valign="top">Interactive steering of dvrp-graphic
1456features by
1457dvrp-browser
1458plugin extended (position of slicers, threshold values of isosurfaces)
1459. New dvrp_graphics package parameter<tt> slicer_range_limits_dvrp</tt>.</td>
1460<td valign="top">init_dvrp, modules, package_parin,
1461plot_dvrp</td> </tr> <tr> <td valign="top">29/10/03</td>
1462<td valign="top">SR</td> <td valign="top">2.7b</td>
1463<td valign="top">N</td> <td valign="top">In
1464the multigrid method, on a defined level,
1465data are gathered
1466on PE0 and further calculations are carried out only on this PE. New<tt>
1467d3par </tt>parameter <tt>mg_switch_to_pe0_level</tt>.
1468<p>Particle groups implemented. New data type<tt>
1469particle_groups_type </tt>and data type<tt> particle_type </tt>modified.
1470Version
1471numbers are
1472output on the particle files. New<tt> particles_par </tt>parameter<tt>
1473diameter</tt>. Parameter name<tt> uniform_psize</tt>
1474changed to<tt>
1475dvrp_psize</tt>.
1476Parameters<tt> density_ratio </tt>is now an array.</p>
1477</td> <td valign="top">advec_particles, check_open,
1478exchange_horiz,
1479header, init_particles,
1480init_pegrid, modules, package_parin, parin, poismg</td> </tr>
1481<tr> <td valign="top"><br> </td> <td valign="top"><br> </td> <td valign="top"><br>
1482</td> <td valign="top">C</td> <td valign="top">Random number generator from numerical recipes
1483is now rewritten
1484as a module. In restart runs the seed of this generator is set to the
1485last
1486values of the previous run in order to keep the sequence of the random
1487numbers. New binary version 2.2. <p>Buffer is flushed for file
1488RUN_CONTROL immediately after every
1489output
1490on IBM and Linux cluster.</p> </td> <td valign="top">advec_particles,
1491disturb_field, init_3d_model,
1492init_particles,
1493random_function, random_gauss, run_control, write_3d_binary</td> </tr>
1494<tr> <td valign="top"><br> </td> <td valign="top"><br> </td> <td valign="top"><br>
1495</td> <td valign="top">E</td> <td valign="top">In routine buoyance, horizontal mean
1496temperature
1497is now
1498taken from array hom instead of array sums (otherwise inconsistence in
1499case of using more than one statistical region). <p>Information
1500about the time of the last timestep change added
1501to the
1502restart file. </p> <p>System call of<tt> batch_scp </tt>on
1503IBM corrected.</p> </td> <td valign="top">buoyancy,
1504check_open, read_var_list,
1505write_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
15063rd
1507order)
1508for time integration implemented. The third order scheme is the new
1509default.
1510It allows the timestep to be 0.9*CFL, which is much larger than for the
1511former default leapfrog scheme.&nbsp; The intermediate steps, which
1512are
1513part of these schemes, are realized by an additional loop within routine<span style="font-family: monospace;">
1514time_integration&nbsp;</span>(currently<span style="font-family: monospace;">
1515leap_frog</span>, but this routine will be renamed soon).
1516Steering
1517variables<span style="font-family: monospace;">
1518at&nbsp;</span>and<span style="font-family: monospace;">
1519bt&nbsp;</span>have
1520been replaced by array<span style="font-family: monospace;">
1521sct</span>.
1522, which is particularly used in the prognostic equations. Values of
1523this
1524steering array are calculated within the new routine<span style="font-family: monospace;">
1525timestep_scheme_steering</span>. <p>When using Runge-Kutta
1526schemes,&nbsp; the timestep increment
1527is freely
1528allowed to adjust after each timestep (the older schemes are using some
1529restrictions, see routine<span style="font-family: monospace;">
1530timestep</span>).
1531Also, routine<span style="font-family: monospace;">
1532run_control&nbsp;</span>is
1533not automatically called in case of timestep changes, when Runge-Kutta
1534schemes are switched on. </p> <p>The old leapfrog scheme
1535is still implemented and should
1536produce the
1537same results as in the previous version(s)! </p> <p>Depending
1538on the user experience, further adjustments to the
1539Runge-Kutta
1540schemes may be necessary within the next minor versions.&nbsp; </p>
1541<p><span style="font-weight: bold;">Attention:</span>
1542<br>
1543The content of the testresult-file (run control output) has
1544significantly
1545changed due to the new default timestep scheme!</p> </td> <td style="vertical-align: top;">check_parameters, header,
1546init_3d_model,
1547init_rankine, leap_frog, modules, prognostic_equations, read_var_list,
1548swap_timelevel, timestep, write_var_list <p><span style="font-weight: bold;">new:</span> <br>
1549timestep_scheme_steering</p> </td> </tr> <tr>
1550<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
1551subroutine<span style="font-family: monospace;">
1552allocate_prt_memory&nbsp;</span>on demand only. <p>Type<span style="font-family: monospace;"> log&nbsp;</span>(used
1553for
1554cpu time measurements) changed to<span style="font-family: monospace;">
1555logpoint&nbsp;</span>due to name conflict with FORTRAN
1556intrinsic<span style="font-family: monospace;">
1557log.</span></p> </td> <td style="vertical-align: top;">advec_particles,
1558cpu_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
1559barrier
1560is set only for the first call of<span style="font-family: monospace;">
1561check_open&nbsp;</span>(from routine<span style="font-family: monospace;">
1562init_particles</span>), in order to avoid the possibility of
1563hanging
1564jobs,
1565which may occur if unit 80 is opened within routine<span style="font-family: monospace;">
1566allocate_prt_memory</span>.</td> <td style="vertical-align: top;">check_open</td> </tr>
1567<tr> <td style="vertical-align: top;">30/01/04</td>
1568<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
1569for
1570the simulation
1571of flow around buildings (to be realized in one of the next major
1572versions),
1573the lower<span style="font-family: monospace;"> k&nbsp;</span>index<span style="font-family: monospace;">
1574nzb&nbsp;</span>has been replaced by a two-dimensional array<span style="font-family: monospace;">
1575nzb_2d&nbsp;</span>in many of the three-dimensional loops. So
1576far, all
1577elements of this array are set to<span style="font-family: monospace;">
1578nzb</span>. <p>This change should not effect simulation
1579results and cpu time
1580in any
1581way.</p> </td> <td style="vertical-align: top;">advec_s_pw,
1582advec_s_up,
1583advec_u_pw, advec_u_up,
1584advec_v_pw, advec_v_up, advec_w_pw, advec_w_up, asselin_filter,
1585buoyancy,
1586calc_liquid_water_content, calc_precipitation, calc_radiation,
1587coriolis,
1588diffusion_e, diffusion_s, diffusion_u, diffusion_v, diffusion_w,
1589diffusivities,
1590impact_of_latent_heat, init_3d_model, modules, production_e,
1591prognostic_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
1592removed in
1593the run control output in case of Runge-Kutta schemes. Also, the
1594timestep
1595increment limitation is removed for the Runge-Kutta schemes. <p><span style="font-weight: bold;">Attention:</span> <br>
1596The content of the testresult-file (run control output) has changed
1597due to this modification.</p> </td> <td style="vertical-align: top;">run_control, timestep</td>
1598</tr> <tr> <td style="vertical-align: top;"><br>
1599</td> <td style="vertical-align: top;"><br> </td>
1600<td style="vertical-align: top;"><br> </td> <td style="vertical-align: top;">E</td> <td style="vertical-align: top;">Velocity gradients at the
1601surface calculated
1602in routine production_e are now limited. In case of inhomogeneous
1603surface
1604heating small diffusivities (<span style="font-family: monospace;">km</span>)
1605sometimes caused very small timesteps due to this problem.</td> <td style="vertical-align: top;">production_e</td> </tr>
1606<tr> <td style="vertical-align: top;">30/04/04<br>
1607</td> <td style="vertical-align: top;">SR<br>
1608</td> <td style="vertical-align: top;">2.8b<br>
1609</td> <td style="vertical-align: top;">N<br> </td>
1610<td style="vertical-align: top;">The number of processors
1611along
1612the respective directions of the virtual processor grid must not be
1613integral divisors of the number of gridpoints along x, y or z any more.
1614In case that they are not integral divisors, the subdomains on the
1615processors at the upper borders of the virtual grid will contain less
1616gridpoints than the other subdomains (which are all of equal size).
1617Although this causes a load imbalance, only runs with very small
1618numbers of processors will feel a significant decrease of performance.
1619In order to be able to carry out the transpositions, array<span style="font-family: monospace;"> d </span>(and also
1620working array<span style="font-family: monospace;"> tend</span>)
1621have the same size on
1622all processors. This new feature is switched on by setting the
1623inipar-parameter<span style="font-family: monospace;">
1624grid_matching </span>= <span style="font-style: italic;">'match'</span>,
1625which is the
1626default now.<br> <br>
1627Routine<span style="font-family: monospace;"> poisfft </span>is
1628now
1629the
1630default for solving the Poisson-equation for the case of 2d- as well as
16311d-domain-decompositions and has been changed from a subroutine to a
1632module. This routine now includes most of the optimization from the
1633(Ketelsen) routine<span style="font-family: monospace;">
1634poisfft_hybrid </span>and additionally allows 1d-decompositions
1635along y.<br> <span style="font-weight: bold;">ATTENTION:</span>
1636Routine<span style="font-family: monospace;">
1637poisfft_hybrid </span>might still be
1638faster when running PALM on more than one node of the IBM-Regatta,
1639although the difference is not very big. The <span style="font-family: monospace;">poisfft</span>-code
1640for a
1641decomposition along y has still a poor performance and needs further
1642optimization.<br> <br>
1643The spectra-package is now able to use all the available FFT-methods
1644(selected by inipar-parameter<span style="font-family: monospace;">
1645fft_method </span>).
1646Performance of the transpositions needed for calculating the spectra
1647has been improved by using new direct transpositions from z to y and
1648from y to x instead of two subsequent transpositions.<br> <br>
1649Runge-Kutta scheme implemented in the 1d-version (<span style="font-family: monospace;">init_1d_model</span>).
1650Diffusion
1651quantity arrays are allocated for previous timelevels only in case of
1652leapfrog scheme.<br> <br>
1653This version is adapted for use on COMPAQ-DECALPHA systems (main
1654changes: calling of SHAPE function within subroutine arguments (e.g.<span style="font-family: monospace;"> singleton</span>)
1655causes compiler errors, particle data type modified for better
1656alignment, DATA statements from modules removed because they caused
1657internal compiler errors).<br> </td> <td style="vertical-align: top;">advec_s_ups, advec_u_ups,
1658advec_v_ups, advec_w_ups, calc_spectra, check_parameters, fft_xy,
1659header, init_1d_model, init_3d_model, init_particles, init_pegrid,
1660modules, parin, plot_2d, poisfft, prandtl_fluxes, pres, read_var_list,
1661singleton, spline_x, spline_y, spline_z, time_integration, transpose,
1662write_3d_binary, write_var_list<br> </td> </tr> <tr>
1663<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>.
1664Subroutine<span style="font-family: monospace;"> leap_frog
1665</span>renamed<span style="font-family: monospace;">
1666time_integration</span>.<br> <br>
1667For all transpositions, MPI_ALLTOALL is used instead of MPI_ALLTOALLV.
1668The names of many transposition indices have been changed.<br> <br>
1669Inipar-parameter<span style="font-family: monospace;">
1670impulse_advec </span>renamed<span style="font-family: monospace;"> momentum_advec</span>.<br>
1671<br>
1672Reading of restart data is moved from<span style="font-family: monospace;"> init_3d_model </span>to
1673new routine <span style="font-family: monospace;">read_3d_binary</span>.<br>
1674<br>
1675All former transpose routines collected into one file.<br> </td>
1676<td style="vertical-align: top;">check_parameters,
1677flow_statistics, header, init_1d_model, init_3d_model, init_advec,
1678init_pegrid, palm, parin, poisfft, poisfft_hybrid, production_e,
1679prognostic_equations, read_var_list, sline_x, spline_y, write_var_list<span style="font-weight: bold;"><br> <br>
1680new:</span><br>
1681fft_xy, read_3d_binary, time_integration, transpose<br> <br>
1682<span style="font-weight: bold;">deleted:</span><br>
1683fft_for_1d_decomp, leap_frog, transpose_xy, transpose_xz, transpose_yx,
1684transpose_yz, transpose_zx, transpose_zy<br> </td> </tr>
1685<tr> <td style="vertical-align: top;"><br> </td>
1686<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
1687particle-package removed, which sometimes caused aborts of restart runs
1688on IBM.<br> <br>
1689Small error in calculating the time series profiles removed (array
1690bounds of some arrays needed for profil-output had to be increased).<br>
1691<br>
1692Function fft (singleton method) replaced by subroutine fftn due to
1693problems with 64-bit mode on IBM<br> </td> <td style="vertical-align: top;">advec_particles,
1694check_parameters, <br> </td> </tr> <tr> <td style="vertical-align: top;">26/03/05<br> </td>
1695<td style="vertical-align: top;">SR<br> </td>
1696<td style="vertical-align: top;">2.9<br> </td>
1697<td style="vertical-align: top;">N<br> </td> <td style="vertical-align: top;">Non-cyclic lateral boundary
1698conditions implemented.<br>
1699Dirichlet/Neumann conditions at the inflow/outflow can be used either
1700along x or along y. Cyclic conditions have to be used along the
1701remaining direction. In case of non-cyclic conditions along x (y), the
1702upper bound nxl (nyn) of array u (v) is enlarged by one gridpoint on
1703the rightmost (northest) processor. These array index informations are
1704passed to routine<span style="font-family: monospace;">
1705exchange_horiz </span>and<span style="font-family: monospace;">
1706disturb_field </span>by two
1707additional arguments. Boundary conditions are set with new
1708inipar-parameters<span style="font-family: monospace;">
1709bc_lr </span>and<span style="font-family: monospace;">
1710bc_ns</span>. A damping layer is
1711needed 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>)
1712and an
1713additional disturbance is imposed near the inflow (see new parameters<span style="font-family: monospace;">&nbsp;
1714inflow_disturbance_begin </span>and<span style="font-family: monospace;"> inflow_disturbance_end</span>).
1715Non-cyclic conditions require the use of the multigrid-method for
1716solving the Poisson equation. Argument<span style="font-family: monospace;"> range </span>added
1717to routine<span style="font-family: monospace;">
1718boundary_conds </span>(where the
1719non-cyclic conditions are set). <br> <br>
1720Minor changes:<br>
1721Output of parameter<span style="font-family: monospace;">
1722datform </span>on
1723&amp;GLOBAL-Namelist (iso2d). This is set to <span style="font-style: italic;">'big_endian'</span> on
1724IBM- and
1725NEC-machines.<br> <br>
1726Number of particle groups are additionally calculated in<span style="font-family: monospace;"> header </span>(formerly
1727unknown).<br> </td> <td style="vertical-align: top;">advec_u_pw,
1728advec_u_up, advec_v_pw, advec_v_up, boundary_conds,
1729calc_liquid_water_content, check_parameters, close_file, coriolis,
1730diffusion_u, diffusion_v, diffusion_w, diffusivities, disturb_field,
1731exchange_horiz, header, init_3d_model, init_pegrid, init_pt_anomaly,
1732init_rankine, modules, parin, poismg, pres, prognostic_equations,
1733read_var_list, sor, time_integration, timestep, write_var_list<br>
1734</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
1735by default only
1736at the last Runge-Kutta-substep, which spares a big amount of CPU-time
1737(see also new parameter<span style="font-family: monospace;">
1738call_psolver_at_all_substeps</span>). No pressure term in the
1739momentum
1740equations in case of Runge-Kutta-schemes.<br> <span style="font-weight: bold;">Attention:</span> <br>
1741The content of the testresult-file (run control output) has changed
1742due to this modification.<br> <br>
1743Program speedup by removing the exchange of ghost points in routines <span style="font-family: monospace;">calc_liquid_water_content</span>,
1744<span style="font-family: monospace;">diffusivities</span>,
1745.<br> <br>
1746Default 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
1747(one call of<span style="font-family: monospace;">
1748exchange_horiz </span>spared).<br> </td> <td style="vertical-align: top;">calc_liquid_water_content,
1749diffusivities, modules, poismg, pres, time_integration,
1750timestep_scheme_steering<br> </td> </tr> <tr>
1751<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
1752particle
1753velocity (with inertia) corrected, exp_arg had a wrong sign.<br> <br>
1754(e)**1.5 replaced by e*SQRT(e) in init_1d_model because of wrong
1755results on NEC machines (as a side effect, the new calculation is much
1756faster).<br> <br>
1757Two errors concerning switch to PE0 (multigrid method) removed from<span style="font-family: monospace;"> init_pegrid</span>.<br>
1758<br>
1759Two errors in<span style="font-family: monospace;">
1760plot_2d </span>removed:
1761local_2d is allocated with upper bound<span style="font-family: monospace;"> nzt</span> (former<span style="font-family: monospace;"> nzt+1 </span>was
1762wrong), additional barrier in case that PE0 gathers data from the other
1763PEs, this barrier had to be set at the end of the gathering because
1764otherwise PE0 sometimes received wrong data on tag 0.<br> <br>
1765Use of module indices removed from routine<span style="font-family: monospace;"> split_1dd </span>in<span style="font-family: monospace;"> poisfft </span>since
1766it caused
1767errors in case of<span style="font-family: monospace;"> nx
1768/= ny </span>and
1769a 1D-decomposition along y.<br> <br>
1770Wrong re-definition of dx2 and dy2 in<span style="font-family: monospace;"> sor </span>removed.<br>
1771</td> <td style="vertical-align: top;">advec_particles,
1772init_1d_model,
1773init_pegrid, plot_2d, poisfft, sor<br> </td> </tr> <tr>
1774<td style="vertical-align: top;">23/04/05<br> </td>
1775<td style="vertical-align: top;">SR<br> </td>
1776<td style="vertical-align: top;">2.9a<br> </td>
1777<td style="vertical-align: top;">C<br> </td> <td style="vertical-align: top;">Additional check for
1778incompatibilities between non-cyclic lateral boundary conditions and
1779other schemes.<br> <br>
1780fcl_factor renamed cfl_factor.<br> <br>
1781New local array sums_ll declared in flow_statistics instead of
1782temporarily using sums_l.<br> <br>
1783crmax (maximum number of crosses allowed in a plot of vertical
1784profiles) increased from 20 to 100.<br> </td> <td style="vertical-align: top;">calc_spectra, check_parameters,
1785flow_statistics, header, modules, parin, timestep<br> </td>
1786</tr> <tr> <td style="vertical-align: top;"><br>
1787</td> <td style="vertical-align: top;"><br> </td>
1788<td style="vertical-align: top;"><br> </td> <td style="vertical-align: top;">E<br> </td> <td style="vertical-align: top;">Revised calculation of output
1789time counters regarding a possible decrease of the output time interval
1790in case of restart runs.<br> <br>
1791Error removed in Dirichlet bottom boundary conditions for pt and q in
1792case of Runge-Kutta schemes.<br> <br> <span style="font-weight: bold;">batch_scp</span> calls
1793(needed
1794for determining correct filenames for AVS-fld-files) is given the
1795remote username as an additional argument.<br> <br>
1796Default setting of outflow_damping_width corrected.<br> <br>
1797Initial horizontal velocities at the lowest grid levels in the 1d-model
1798are set to a very small value in order to avoid wrong results and the
1799resulting too small timesteps.<br> <br>
1800Implicit counters i renamed i9 in modules due to declaration conflicts
1801with i in other subroutines (reported by Portland compiler).<br> </td>
1802<td style="vertical-align: top;">advec_particles,
1803boundary_conds,
1804check_open, check_parameters, init_1d_model, modules, time_integration<br>
1805</td> </tr> <tr> <td style="vertical-align: top;">18/05/05<br> </td>
1806<td style="vertical-align: top;">SR<br> </td>
1807<td style="vertical-align: top;">2.10<br> </td>
1808<td style="vertical-align: top;">N<br> </td> <td style="vertical-align: top;">NetCDF support implemented.<br>
1809Profiles, time series, spectra, cross-sections, 3d-volume-data and
1810particle data can now be output in NetCDF format (file handles
1811101-108). This output can be switched on with the new d3par-parameter <span style="font-family: monospace;">data_output_format</span>.
1812So far, this support is available on IBM systems at HLRN and on the NEC
1813system 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
1814possible.<br> <br>
1815Output of cross sections for qv, vpt and lwp (liquid water path).<br>
1816</td> <td style="vertical-align: top;">advec_particles,
1817check_open,
1818check_parameters, close_file, header, modules, parin, plot_1d, plot_2d,
1819plot_3d, plot_spectra, plot_ts, read_var_list, write_var_list<br>
1820<br> <span style="font-weight: bold;">new:</span><br>
1821netcdf<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
1822is assigned the
1823number of spectra (formerly, the number of spectra was given by n-1)<br>
1824<br>
1825Abort if <span style="font-family: monospace;">poisfft_hybrid</span>
1826is called in a non-parallel environment.<br> <br>
1827Default values of spectra package parameters <span style="font-family: monospace;">pl_spectra</span> and <span style="font-family: monospace;">spectra_direction</span>
1828changed.<br> </td> <td style="vertical-align: top;">calc_spectra,
1829check_parameters,
1830modules, pres, read_3d_binary, write_3d_binary<br> </td> </tr>
1831<tr> <td style="vertical-align: top;"><br> </td>
1832<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
1833(non-parallel case) added.<br> <br>
1834Error in output of particle inertia information removed.<br> </td>
1835<td style="vertical-align: top;">poisfft, header<br>
1836</td> </tr> <tr> <td style="vertical-align: top;">05/07/05<br> </td>
1837<td style="vertical-align: top;">SR<br> </td>
1838<td style="vertical-align: top;">2.11<br> </td>
1839<td style="vertical-align: top;">N/C<br> </td>
1840<td style="vertical-align: top;">New cloud physics code
1841implemented, which explicitly simulates single cloud droplets,
1842including droplet growth by condensation and collision. Using this code
1843requires to set the new inipar-parameter <span style="font-family: monospace;">cloud_droplets</span>
1844= .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>).
1845Coupling between droplets and the thermodynamic quantities (potential
1846temperature and specific humidity) is regarded in the new subroutine <span style="font-family: monospace;">interaction_droplets_ptq</span>.
1847The real number of droplets in a grid cell can steered by the new
1848inipar-parameter <span style="font-family: monospace;">initial_weighting_factor</span>.<br>
1849<br> <span style="font-weight: bold;">This code
1850will be further extended and probably changed in the near future, so
1851the current status is that of a test version!</span><br> <br>
1852In connection with this new code implementation, several changes has
1853been made to the existing code:<br> <br>
1854The particle (droplet) size is now given as radius (previously
1855diameter). E.g., the name of the respective package parameter <span style="font-family: monospace;">diameter</span> has
1856changed to <span style="font-family: monospace;">radius</span>.<br>
1857<br>
1858The current weighting_factor and radius are stored as additional
1859particle attributes in the type structure <span style="font-family: monospace;">particle_type</span>.
1860The MPI data type <span style="font-family: monospace;">mpi_particle_type</span>,
1861needed for exchanging particles between subdomains, has been changed
1862correspondingly.<br> <br> <span style="font-family: monospace;">gas_constant</span> is
1863renamed <span style="font-family: monospace;">r_d</span>,
1864<span style="font-family: monospace;">latent_heat</span>
1865is renamed <span style="font-family: monospace;">r_v</span>,
1866the allowed string length of <span style="font-family: monospace;">pl2d</span>
1867and <span style="font-family: monospace;">pl3d</span>
1868is increased from 6 to 10.<br> <br>
1869New 3d arrays <span style="font-family: monospace;">ql_1</span>,
1870<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
1871pointer, new pointer <span style="font-family: monospace;">ql_c</span>.<br>
1872<br>
1873Data format for unit 85 (particle data output) is changed.</td> <td style="vertical-align: top;">advec_particles.f90
1874check_open.f90, header.f90, init_3d_model.f90, init_cloud_physics.f90,
1875init_particles.f90, modules.f90, package_parin.f90, parin.f90,
1876plot_2d.f90, plot_3d.f90, read_var_list.f90, time_integration.f90,
1877write_var_list.f90<br> <br> <span style="font-weight: bold;">new:</span><br>
1878interaction_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>
1879is <span style="font-style: italic;">.TRUE.</span>,
1880because small scale waves occured with <span style="font-style: italic;">.FALSE.</span></td> <td style="vertical-align: top;">modules.f90</td> </tr>
1881<tr> <td style="vertical-align: top;"><br> </td>
1882<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
1883opened 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>
1884No opening of units 101 - 108 in case of missing NetCDF support.</td>
1885<td style="vertical-align: top;">check_open.f90, netcdf.f90<br>
1886</td> </tr> <tr> <td style="vertical-align: top;">30/06/05<br> </td>
1887<td style="vertical-align: top;">GS<br> </td>
1888<td style="vertical-align: top;">2.11a<br> </td>
1889<td style="vertical-align: top;">C<br> </td> <td style="vertical-align: top;">Scalars ug and vg have been
1890changed into
1891arrays in order to allow the specification of a geostrophic wind that
1892depends on height (baroclinicity). The initial profiles of the the
1893u- and v-component of the geostrophic wind are initialized by
1894specifying the new initialization parameters <span style="font-family: monospace;">ug_surface</span>, <span style="font-family: monospace;">ug_vertical_gradient</span>,
1895<span style="font-family: monospace;">ug_vertical_gradient_level</span>
1896and <span style="font-family: monospace;">vg_surface</span>,
1897<span style="font-family: monospace;">vg_vertical_gradient</span>,
1898<span style="font-family: monospace;">vg_vertical_gradient_level</span>,
1899respectively. <br> <br>
1900The former initialization parameters <span style="font-family: monospace;">ug</span> and <span style="font-family: monospace;">vg</span> have been
1901removed. <br> </td> <td style="vertical-align: top;">boundary_conds,
1902check_parameters, coriolis, header, init_1d_model, modules, parin,
1903prognostic_equations, read_var_list, spline_z, write_var_list<br>
1904</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
1905and
1906v_0 in production_e.f90 removed.<br> <br> <span style="font-weight: bold;">Attention:</span> <br>
1907The content of the testresult-file (run control output) has changed
1908due to this modification.<br> </td> <td style="vertical-align: top;">production_e<br> </td>
1909</tr> <tr> <td style="text-align: left; vertical-align: top;">20/10/05</td>
1910<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
1911growth completed.<br> <br> <span style="font-weight: bold;">The droplet code is still under
1912development and requires further speed optimization!<br> <br>
1913</span>Number of particles really used is additionally output on
1914the netcdf particle data file.<span style="font-weight: bold;"></span></td>
1915<td style="vertical-align: top;">advec_particles, modules,
1916netcdf</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
1917last PE in a row is not allowed to have more grid points than the other
1918PES (only less). Jobs crashed in these cases that the last PE has more
1919grid points. Therefore, the number of gridpoints along x (and y) must
1920now meet a special condition which is checked in case that <span style="font-family: monospace;">grid_matching</span> =
1921<span style="font-style: italic;">'match'</span> is
1922used.<br> <br>
1923Error removed in calculating y axis data for yz cross sections. Error
1924in output of netcdf yz-cross-sections removed.<br> <br>
19252*r replaced by r in the exponential term of the particle momentum
1926equation.<br>
1927Error in output of yz-slice information removed.</td> <td style="vertical-align: top;">advec_particles, header,
1928init_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
1929in case of using cloud droplets.</td> <td style="vertical-align: top;">check_parameters,
1930flow_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
1931profile is calculated within<span style="font-family: monospace;">
1932buoyancy </span>only
1933in case of the first respective intermediate timestep. This is done in
1934order to spare communication time and to produce identical model
1935results with jobs which are calling<span style="font-family: monospace;"> flow_statistics </span>at
1936different time intervals.<br> <br>
1937Error in netcdf variable declaration for<span style="font-family: monospace;"> statistic_regions </span>/=
1938<span style="font-style: italic;">0</span> removed.</td>
1939<td style="vertical-align: top;">buoyancy, netcdf</td>
1940</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
1941topography (buildings, mountains, etc.)</span><br style="font-weight: bold;"><br>Besides
1942the implementation of topography, this version contains several other
1943improvements. The most important ones are listed here:<br><ul><li>The
1944cloud droplet code has been optimized (it now runs about 100 times
1945faster than before).</li><li>Output of time-averaged 2d/3d
1946data (sections / volume data) is possible.</li><li>Output
1947of 2d-section data averaged along the direction normal to this section
1948can be done.</li><li>The user-interface has been extended
1949in order to allow 2d-/3d-output of user-defined quantities.</li></ul>The
1950kind of topography to be used is controlled by the new initialization
1951parameter <span style="font-family: monospace;">topography</span>.
1952Allowed values are <span style="font-style: italic;">'flat'</span>,
1953<span style="font-style: italic;">'single_building'</span>,
1954and <span style="font-style: italic;">'read_from_file'</span>.
1955The user can define his own special topography setting within the new
1956user-interface routine <span style="font-family: monospace;">user_init_grid</span>.
1957For the single building case, the&nbsp;building (rectangular) size
1958and position can be controlled with parameters <span style="font-family: monospace;">building_height</span>,
1959<span style="font-family: monospace;">building_length_x</span>,
1960<span style="font-family: monospace;">building_length_y</span>,
1961<span style="font-family: monospace;">building_wall_left</span>,
1962and <span style="font-family: monospace;">building_wall_south</span>.<br>
1963<br>
1964The topography code is already optimized (vectorized) for use on the
1965NEC-SX6.<br><br>Output of time-averaged 2d-/3d-data can be
1966enabled by appending the string <span style="font-style: italic;">'_av'</span>
1967to the respective output quantities given with the new
1968runtime-parameter <span style="font-family: monospace;">data_output</span>
1969(see further below for the (name)changes in the parameters for data
1970output). Example: if a time-average of the vertical cross-section of
1971potential 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>.
1972In case of NetCDF-output, the time-averaged data is output to
1973additional files (seperate from the non-averaged output). The length of
1974the averaging interval and the temporal distance of the single
1975instantaneous sections (volumes) entering into this averaging is
1976controlled by the new runtime-parameters <span style="font-family: monospace;">averaging_interval</span>and
1977<span style="font-family: monospace;">dt_averaging_input</span>.
1978<br><br>An average normal to the direction of a
1979cross-section can be output by setting the respective cross section
1980index to <span style="font-style: italic;">-1</span>
1981(example: <span style="font-family: monospace;">section_xz</span>
1982= <span style="font-style: italic;">-1</span>).<br><br>New
1983user-interface routines allowing the output of user-defined quantities
1984are <span style="font-family: monospace;">user_check_data_output</span>,
1985<span style="font-family: monospace;">user_define_netcdf_grid</span>,
1986<span style="font-family: monospace;">user_data_output_2d</span>,
1987<span style="font-family: monospace;">user_data_output_3d</span>,
1988and <span style="font-family: monospace;">user_3d_data_averaging</span>.
1989These quantities can be calculated using the new <span style="font-family: monospace;">CASE</span>-Entry <span style="font-style: italic;">'after integration'</span>
1990in the user-interface routine <span style="font-family: monospace;">user_actions</span>.<br><br>Optimization
1991of the cloud droplet code is mainly done by re-sorting all particles
1992after every timestep in a way that now all particles which belong to
1993the same grid-box (k,j,i) are stored consecutively (wthout any strides)
1994in memory.<br> <br>
1995Code adaptation for the IBM at the department of atmospheric sciences,
1996Yonsei 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
1997of particle tails now requires setting of the new package-parameter <span style="font-family: monospace;">use_particle_tails</span>.
1998The new parameter skip_particles_for_tail allows only every <span style="font-family: monospace;">skip_particle_for_tail</span>'th
1999parameter having a tail.</li><li>Initialization-parameter <span style="font-family: monospace;">e_min</span> can be
2000used to set a lower limit for the subgrid-scale TKE (i.e. to guarantee
2001a lower limit for the flow's Reynolds-number).</li><li>A
2002conservation of the volume flow (through the complete xz- and
2003yz-sections &nbsp;of the total domain) can be enforced by the new
2004initialization-parameter <span style="font-family: monospace;">conserve_volume_flow</span>.</li><li>Data
2005output can be skipped for a given time interval from simulation start
2006(t=0) using new runtime-parameters <span style="font-family: monospace;">skip_time_dopr</span>,
2007<span style="font-family: monospace;">skip_time_dosp</span>,
2008<span style="font-family: monospace;">skip_time_do2d_xy</span>,
2009<span style="font-family: monospace;">skip_time_do2d_xz</span>,
2010<span style="font-family: monospace;">skip_time_do2d_yz</span>,
2011and <span style="font-family: monospace;">skip_time_do3d</span>.<br>
2012</li><li>By default, NetCDF output is now using 64-bit
2013offset format
2014(large file support) on most machines. The user can switch to the
201532-bit offset format with the new runtime-parameter <span style="font-family: monospace;">netcdf_64bit</span>.
2016Units 111:113&nbsp; and 116 are opened for NetCDF output of
2017time-averaged 2d-3d data.<br> </li> <li>Data
2018logging routines are added (see file data_log.f90), which can be used
2019for debugging purposes. Output is done on unit 20 (local file
2020name/directory name DATA_LOG).</li> <li>New routine <span style="font-family: monospace;">exchange_horiz_2d_int</span>
2021for&nbsp; ghostpoint exchange of 2d-integer arrays. Routine <span style="font-family: monospace;">exchange_horiz_2d</span>
2022is extended for non-cyclic boundary conditions in the non-parallel case.</li>
2023<li>Two different methods for calculating the mixing length and
2024the dissipation can be used in the 1d-model. These are steered by the
2025new initializing-parameters <span style="font-family: monospace;">dissipation_1d</span>
2026and <span style="font-family: monospace;">mixing_length_1d</span>.<br>
2027</li>
2028</ul></td><td style="vertical-align: top;">advec_particles,
2029advec_s_pw,
2030advec_s_up, advec_u_pw, advec_u_up, advec_v_pw, advec_v_up, advec_w_pw,
2031advec_w_up, boundary_conds, buoyancy, check_open, check_parameters,
2032close_file, coriolis, diffusion_e, diffusion_s, diffusion_u,
2033diffusion_v, diffusion_w, diffusivities, disturb_field,
2034disturb_heatflux, exchange_horiz_2d, exchange_horiz, flow_statistics,
2035header, init_1d_model, init_3d_model, init_grid, init_particles,
2036init_pegrid, modules, netcdf, package_parin, parin, poisfft,
2037prandtl_fluxes, pres, production_e, prognostic_equations,
2038read_3d_binary, read_var_list, run_control, time_integration,
2039user_interface, write_3d_binary, write_var_list<br> <br> <span style="font-weight: bold;">new:</span><br>
2040average_3d_data, data_log, sum_up_3d_data<br> <br> <span style="font-weight: bold;">renamed:<br> </span>plot_dvrp
2041-&gt; data_output_dvrp<br>
2042plot_spectra -&gt; data_output_spectra<br>
2043plot_ts -&gt; data_output_tseries<br>
2044plot_1d -&gt; data_output_profiles<br> <span style="font-weight: bold;"></span>plot_2d -&gt;
2045data_output_2d<br>
2046plot_3d -&gt; data_output_3d<br>
2047</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
2048parallel mode, all PEs are opening the same copy of the
2049NAMELIST-parameter file <span style="font-family: monospace;">PARIN</span>,
2050i.e. from now on, the file attribute "<span style="font-family: monospace;">npe</span>" must be
2051removed from the corresponding file connection statements in the <span style="font-weight: bold;">mrun</span> configuration
2052file (.mrun.config).<br><br>A
2053large number of parameter names and local filenames have been changed
2054(see&nbsp;list below). Most of them are parameters concerning data
2055output (do). The former denotations "plot" and "pl" have been changed
2056to "data_output" and "do", respectively. In addition to these changes,
2057the names of many internal PALM parameters and variables have also
2058changed.<br><br>Restart runs now require setting of the
2059initialization-parameter <span style="font-family: monospace;">initializing_actions</span>
2060= <span style="font-style: italic;">'read_restart_data'</span>.<br>
2061<br>
2062Concerning particles, the parameters <span style="font-family: monospace;">psl</span>, <span style="font-family: monospace;">psr</span>, <span style="font-family: monospace;">pdx</span>,
2063etc., which are controlling the position of the particle source and the
2064number of particles within this source, are now 1d-arrays. This allows
2065to define different particle sources for different particle groups.<br>
2066<br>
2067The number of particle groups has to be set by the user (no automatic
2068calculation from the value of parameter <span style="font-family: monospace;">density_ratio</span>
2069any more)<span style="font-style: italic;"></span>.
2070Variable <span style="font-family: monospace;">idum</span>
2071in type <span style="font-family: monospace;">particle_type</span>
2072has been renamed <span style="font-family: monospace;">tail_id</span>.<br><br>Output
2073for units 15 and 17 flushed in <span style="font-family: monospace;">init_1d_model</span>.<br><br>List
2074of 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>
2075</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
2076is 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>
2077</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>
2078</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>
2079</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>
2080</td></tr><tr><td>dt_plts</td><td>dt_dots</td><td><br>
2081</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>
2082</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>
2083</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>
2084</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>
2085</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>
2086</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>
2087</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>
2088</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>
2089</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>
2090</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>
2091</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
2092are 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>
2093</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>
2094</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>
2095</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>
2096</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>
2097</td></tr><tr><td>pl_spectra</td><td>data_output_sp</td><td><br>
2098</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>
2099</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>
2100</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>
2101</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>
2102</td></tr></tbody></table></td><td style="vertical-align: top;">advec_particles,
2103advec_s_bc, check_parameters, check_open, close_file,
2104data_output_dvrp,&nbsp; data_output_profiles, data_output_tseries,
2105data_output_2d, data_output_3d, flow_statistics, header, init_1d_model,
2106init_3d_model, init_dvrp, init_particles, init_pegrid, init_slope,
2107modules, netcdf, package_parin, palm, parin, print_1d, read_var_list,
2108run_control, time_integration, timestep, write_compressed,
2109write_var_list<br>
2110</td></tr><tr><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td style="vertical-align: top;">E</td><td>Error in
2111the 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
2112boundary has been fixed.<br> <br>
2113Error removed getting the variable ids for <span style="font-family: monospace;">_ext</span> for
2114profiles and time series.<br><br>NetCDF calls in <span style="font-family: monospace;">data_output_tseries</span>
2115only if NetCDF output is switched on.<br><br>Output of the
2116initial geostrophic wind profile corrected.<br><br>Maximum
2117possibel timestep for Runge-Kutta-schemes reduced, error concerning
2118initialization of&nbsp; <span style="font-family: monospace;">l_black</span>
2119removed (both in <span style="font-family: monospace;">init_1d_model</span>).<br>
2120</td><td style="vertical-align: top;">advec_particles,
2121data_output_tseries, header, init_particles, init_1d_model, netcdf<br>
2122</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
2123the cache-optimized PALM code.<br><br>OpenMP
2124directives have been added where necessary. Still further tuning will
2125be necessary to get optimum performance. Other parts of the code than
2126the cache-optimized code still need to be (OpenMP-) parallelized. <br><br>So
2127far, 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>
2128and <span style="font-family: monospace;">-O</span>,
2129i.e. when the Option <span style="font-family: monospace;">-O</span>
2130is given, the <span style="font-family: monospace;">-T</span>
2131argument is interpreted as the number of threads to be used. When <span style="font-family: monospace;">-O</span> is given,
2132the number of MPI tasks per node is automatically set to <span style="font-style: italic;">1</span>.<br><br>Beside
2133the additional compiler directives, the main code change required by
2134the OpenMP parallelization is that global sums are now calculated by
2135first calculating local sums on each thread. As the next step, local
2136sums are calculated from these thread sums for each MPI task before the
2137global sum is computed via MPI_ALLREDUCE.&nbsp; For storing the
2138thread
2139sums, arrays sums_l and sums_l_l now have three dimensions where the
2140number of elements of the third dimension is equal to the number of
2141OpenMP threads.</td><td align="left" valign="top">buoyancy,
2142cpu_statistics, diffusivities, flow_statistics, header, init_pegrid,
2143init_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
2144correction for Piacsek &amp; Williams advection scheme: keep u and
2145v
2146zero 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>
2147nzb_s_inner(j,i) replaced by nzb in determination of z_i.<br><br>Errors
2148removed in the computation of the diabatic mixing length (<span style="font-family: monospace;">init_1d_model.f90</span>).<br><br>Error
2149removed in extend mode when checking whether the selected cross
2150sections match those in the already existing NetCDF file (<span style="font-family: monospace;">netcdf.f90</span>).</td><td align="left" valign="top">flow_statistics,
2151init_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
2152system 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,
2153local_tremain, locaö_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-
2154and 3d-datasets now contain the exact coordinates of the variables
2155along x and y with respect to the positions where they are defined on
2156the staggered grid.<br><br>NetCDF datasets of cross
2157sections (e.g. <span style="font-family: monospace;">DATA_2D_XY_NETCDF</span>)
2158are only opened if the respective cross sections are really requested
2159by the settings of parameter <span style="font-family: monospace;">data_output</span>.</td><td align="left" valign="top">check_parameters,
2160data_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>
2161instead 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
2162scale velocities can (optionally) be included for calculating the
2163particle advection, using the method of Weil et al. (2004, JAS, 61,
21642877-2887). This method is switched on by the new particle package
2165parameter <span style="font-family: monospace;">use_sgs_for_particles</span>.
2166This also forces the Euler/upstream method to be used for time
2167advancement of the TKE (see new parameter <span style="font-family: monospace;">use_upstream_for_tke</span>).
2168The minimum timestep during the sub-timesteps is controlled by
2169parameter <span style="font-family: monospace;">dt_min_part</span>.
2170The data type <span style="font-family: monospace;">particle_type</span>
2171has additional new attributes <span style="font-family: monospace;">e_m</span>,
2172<span style="font-family: monospace;">dt_sum</span>,
2173and <span style="font-family: monospace;">speed_x/y/z_sgs</span>.<br><br>Other
2174new particle features: output of particle quantities as timeseries in
2175NetCDF format (on local file <span style="font-family: monospace;">DATA_1D_PTS_NETCDF</span>).
2176The output time interval is controlled by parameter <span style="font-family: monospace;">dt_dopts</span>.
2177Particle advection can be switched off after some time using parameter <span style="font-family: monospace;">end_time_prel</span>.
2178More than one particle per point can be started with parameter <span style="font-family: monospace;">particles_per_point</span>.<br><br>Additional
2179parameter in function <span style="font-family: monospace;">random_gauss</span>
2180which limits the range of the created random numbers to five times the
2181standard deviation (=1). Seeds <span style="font-family: monospace;">iran</span>
2182and <span style="font-family: monospace;">iran_part</span>
2183are stored for restart runs.</td><td align="left" valign="top">advec_particles,
2184check_open, check_parameters, close_file, diffusion_e,
2185disturb_heatflux, header, init_3d_model, init_particles, modules,
2186netcdf, package_parin, parin, prognostic_equations, random_gauss,
2187read_3d_binary, read_var_list, time_integration, write_3d_binary,
2188write_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
2189after call of subroutine <span style="font-family: monospace;">init_3d_model</span>.
2190Generation of <span style="font-family: monospace;">run_description_header</span>
2191is moved from routines <span style="font-family: monospace;">palm</span>
2192and <span style="font-family: monospace;">header</span>
2193to <span style="font-family: monospace;">check_parameters</span>.
2194Determination 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,
2195disturb_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
2196do2d_unit and do3d_unit now defined as 2d-arrays. Before, in some
2197cases, the units of variables in the 2d- and 3d-NetCDF-files have been
2198wrong.<br><br>In routine <span style="font-family: monospace;">poisfft</span> default
2199setting of the thread number tn in case of not using OpenMP.<br><br>Error
2200removed in the non-parallel part of routine <span style="font-family: monospace;">flow_statistics</span>
2201(number of arguments of array <span style="font-family: monospace;">sums_l</span>).<br><br>Error
2202removed which appeared if the user had decreased the value of <span style="font-family: monospace;">dt_dopr</span> within
2203a job chain and if simulataneous time averaging of profiles was
2204switched on.</td><td align="left" valign="top">check_parameters,
2205data_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
2206particle group, seperate output of timeseries for each of the groups.<br><br>New
2207initial parameter <span style="font-family: monospace;">dz_max</span>,
2208which limits the vertical gridspacing in case of a vertically stretched
2209grid.</td><td style="vertical-align: top;">data_output_ptseries,
2210header, 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
2211for the last Runge-Kutta-substep. <br><span style="font-weight: bold;">Attention:</span> <br>
2212The content of the testresult-file (run control output) has changed
2213due to this modification.<br><br>Output of xz and yz cross
2214sections now up to gridpoint nzt+1.<br><br>Default settings
2215of particle start positions changed.</td><td style="vertical-align: top;">check_open, close_file,
2216data_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
2217arrays (t.._m) needed for the Runge-Kutta schemes.<br><br>Bugfix
2218in index array initialization for line- or point-like topography
2219structures.<br><br>Bugfix: yv coordinates are now used for
2220yz 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
2221is the last revision before switching to the subversion revison control
2222system!<br><br>Informative output to the job protocoll in
2223case 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
2224are now read from local file <span style="font-family: monospace;">ENVPAR</span>
2225instead of getting them by a system call.<br><br>For
2226interpolation in <span style="font-family: monospace;">advec_particles</span>,
2227allways level k is used.</td><td style="vertical-align: top;">advec_particles,
2228local_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>:
2229new particles are released only if <span style="font-family: monospace;">end_time_prel</span>
2230&gt; <span style="font-family: monospace;">simulated_time</span>,&nbsp;transfer
2231of particles when x &lt; -0.5*dx (0.0 before), etc., index i,j used
2232instead of cartesian (x,y) coordinate to check for transfer because
2233this failed under very rare conditions, calculation of number of
2234particles with same radius as the current particle (cloud droplet code).<br><br>Allocation
2235of <span style="font-family: monospace;">tail_mask</span>
2236and <span style="font-family: monospace;">new_tail_id</span>
2237in 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
2238the top with new inipar parameters <span style="font-family: monospace;">top_heatflux</span>
2239and <span style="font-family: monospace;">use_top_fluxes</span>.
2240New 2d-arrays <span style="font-family: monospace;">qswst</span>,
2241<span style="font-family: monospace;">qswst_m</span>,
2242<span style="font-family: monospace;">tswst</span>
2243and <span style="font-family: monospace;">tswst_m</span>
2244are used to store this flux. Use of fluxes are controlled with new
2245index variable <span style="font-family: monospace;">nzt_diff</span>.
2246A Neumann boundary condition for temperature can be applied under these
2247conditions.<br><br>Additionally, a Dirichlet condition for
2248temperature can be used at the top.<br><br><span style="font-weight: bold;">Attention:</span> <br>
2249The content of the testresult-file (run control output) has changed
2250due to this modification.</td><td style="vertical-align: top;">check_parameters,
2251diffusion_s, flow_statistics, header, init_grid, init_3d_model,
2252modules, parin, production_e, prognostic_equations, read_var_list,
2253read_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
2254scalars are now solved up to gridpoint nzt (formerly nzt-1).
2255Boundary conditions for scalars at top adjusted respectively (now
2256applied only at nzt+1).<br><br>The
2257default top boundary condition for temperature has been renamed to <span style="font-style: italic;">'initial_gradient'</span>.<br><br>Calls
2258of dvrp_output_local,
2259which were commented out for a long time, are now activated for all
2260streams.</td><td style="vertical-align: top;">advec_s_pw,
2261boundary_conds, calc_precipitation, check_parameters, diffusion_e,
2262diffusion_s, impact_of_latent_heat, init_dvrp, init_pt_anomaly,
2263modules, 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
2264pointer any more.<br><br>Bugfix in init_particles:
2265MPI_REAL
2266argument in MPI_ALLREDUCE
2267replaced by<br>MPI_INTEGER
2268(caused error on NEC only).<br><br>Bugfix:&nbsp; ddzw now
2269dimensioned 1:nzt"+1".</td><td style="vertical-align: top;">diffusion_e, diffusion_s,
2270diffusion_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
2271inipar-parameter <span style="font-family: Courier New,Courier,monospace;">pt_reference</span>. If given, this value is used as the
2272reference that is used in the buoyancy terms (otherwise, the instantaneous
2273horizontally averaged temperature is used).<br><br>New d3par-parameter <span style="font-family: Courier New,Courier,monospace;">netcdf_64bit_3d</span>
2274to switch on and especially to switch off 64bit offset&nbsp;for 3D
2275files only (because still some pd-software is unable to handle 64bit
2276offset).<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,
2277average_3d_data, buoyancy, calc_precipitation, check_open,
2278check_parameters, data_output_2d, diffusion_e, diffusion_u,
2279diffusion_v, diffusion_w, diffusivities, header, impact_of_latent_heat,
2280init_particles, init_3d_model, modules, netcdf, parin, production_e,
2281read_var_list, read_3d_binary, sum_up_3d_data, user_interface,
2282write_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
2283non-cyclic boundary conditions of this revision still contain some bugs
2284which 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
2285FFT-method for solving the Poisson-equation is now working with Neumann
2286boundary conditions both at the bottom and the top. This requires
2287adjustments of the tridiagonal coefficients and subtracting the
2288horizontally 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>
2289are regarded for volume flow control in case they have been set zero
2290before (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,
2291advec_u_up, advec_v_pw, advec_v_up, asselin_filter, boundary_conds, check_parameters,
2292coriolis, data_output_dvrp, data_output_ptseries, data_output_ts,
2293data_output_2d, data_output_3d, diffusion_u, diffusion_v,
2294disturb_field, exchange_horiz, exchange_horiz_2d, flow_statistics, header, init_grid,
2295init_particles, init_pegrid, init_rankine, init_pt_anomaly,
2296init_1d_model, init_3d_model, modules, palm, package_parin, parin,
2297poisfft, poismg, prandtl_fluxes, pres, production_e,
2298prognostic_equations, read_var_list, read_3d_binary, sor,
2299swap_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><tr><td style="vertical-align: top;">19/04/07</td><td style="vertical-align: top;">SR</td><td style="vertical-align: top;">3.2a</td><td style="vertical-align: top;">C</td><td style="vertical-align: top;">All system relevant compile and link options (e.g. cpp-directives,
2300library paths, etc.) as well as the host identifier (local_host) are
2301now specified in the configuration file. This generally allows to install
2302PALM on any&nbsp;kind of Linux-, IBM-AIX-, or NEC-SX-system by adding
2303appropriate
2304settings to the configuration file. A description is added to chapter
23055.0 of the online documentation.<br><br>Scripts are also running under the public domain ksh.<br><br>Filetransfer by ftp removed (options<span style="font-family: Courier New,Courier,monospace;"> -f </span>removed from <span style="font-weight: bold;">mrun</span> and <span style="font-weight: bold;">mbuild</span>).<br><br>Call of (system-)FLUSH routine moved to new routine<span style="font-family: Courier New,Courier,monospace;"> local_flush</span>.<br><br><span style="font-family: Courier New,Courier,monospace;">return_addres </span>and<span style="font-family: Courier New,Courier,monospace;"> return_username </span>are read from ENVPAR-NAMELIST-file instead of using<span style="font-family: Courier New,Courier,monospace;"> local_getenv</span>.<br><br>Preprocessor strings for different linux clusters changed to "<span style="font-family: Courier New,Courier,monospace;">lc</span>", some preprocessor directives renamed (new:<span style="font-family: Courier New,Courier,monospace;"> __intel_openmp_bug</span> which is used for the bug in<span style="font-family: Courier New,Courier,monospace;"> tridia_1dd </span>and the OpenMP directives). Preprocessor directives for old systems have been removed.<br><br></td><td style="vertical-align: top;">advec_particles,
2306check_open, cpu_log, cpu_statistics, data_output_dvrp, flow_statistics,
2307header, init_dvrp, init_particles, init_1d_model, init_dvrp,
2308init_pegrid, local_getenv, local_system, local_tremain,
2309local_tremain_ini, modules, palm, parin, run_control<br><br><span style="font-weight: bold;">new:</span><br>local_flush<br><br><span style="font-weight: bold;">changed scripts:</span><br>mbuild, mrun, .mrun.config.default<br></td></tr><tr><td style="vertical-align: top;">30/05/07</td><td style="vertical-align: top;">SR</td><td style="vertical-align: top;">3.2b</td><td style="vertical-align: top;">N</td><td style="vertical-align: top;">Calculation and output of user-defined profiles: New&nbsp;userpar-parameter <span style="font-family: Courier New,Courier,monospace;">data_output_pr_user</span>. In the user-interface, routine <span style="font-family: Courier New,Courier,monospace;">user_check_data_output_pr</span> has been added and <span style="font-family: Courier New,Courier,monospace;">user_statistics</span> has been extended.<br></td><td style="vertical-align: top;">check_parameters, flow_statistics, modules, parin, read_var_list, user_interface, 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;">In <span style="font-family: Courier New,Courier,monospace;">pres.f90</span>, division through <span style="font-family: Courier New,Courier,monospace;">dt_3d</span>
2310replaced by multiplication of the inverse. For performance
2311optimisation, this is done in the loop calculating the divergence
2312instead of using a seperate loop.<br><br>Variables <span style="font-family: Courier New,Courier,monospace;">var_hom</span> and <span style="font-family: Courier New,Courier,monospace;">var_sum</span> are both renamed <span style="font-family: Courier New,Courier,monospace;">pr_palm</span>.</td><td style="vertical-align: top;">data_output_profiles, flow_statistics, init_3d_model, modules, parin, pres, read_var_list, run_control, 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;">Bugfix: <span style="font-family: Courier New,Courier,monospace;">work_fft*_vec</span> removed from some PRIVATE-declarations (<span style="font-family: Courier New,Courier,monospace;">poisfft</span>).<br><br>Bugfix: <span style="font-family: Courier New,Courier,monospace;">field_chr</span> renamed <span style="font-family: Courier New,Courier,monospace;">field_char</span> (<span style="font-family: Courier New,Courier,monospace;">user_interface</span>).<br><br>Bugfix: output of <span style="font-family: Courier New,Courier,monospace;">use_upstream_for_tke</span> (<span style="font-family: Courier New,Courier,monospace;">header</span>).</td><td style="vertical-align: top;">header, poisfft, user_interface</td></tr><tr><td style="vertical-align: top;">21/06/07</td><td style="vertical-align: top;">SR</td><td style="vertical-align: top;">3.3</td><td style="vertical-align: top;">N</td><td style="vertical-align: top;">This version allows runs for the ocean. These runs can be switched on with the new inipar-parameter <span style="font-family: Courier New,Courier,monospace;">ocean</span>.<br><br>Setting this switch has several effects:<br><ul><li>An additional prognostic equation for salinity is solved.</li><li>Potential temperature in buoyancy and stability-related terms is replaced by potential density.</li><li>Potential
2313density is calculated from the equation of state for seawater after
2314each timestep, using the algorithm proposed by Jackett et al. (2006, J.
2315Atmos. Oceanic Technol., <span style="font-weight: bold;">23</span>, 1709-1728).<br>So far, only the initial hydrostatic pressure is entered into this equation.</li><li>z=0 (sea surface) is assumed at the model top (vertical grid index <span style="font-family: Courier New,Courier,monospace;">k=nzt</span> on the w-grid), with negative values of z indicating the depth.</li><li>Initial profiles are constructed (e.g. from <a href="http://www.muk.uni-hannover.de/%7Eraasch/PALM_group/doc/app/chapter_4.1.html#pt_vertical_gradient">pt_vertical_gradient</a> / <a href="http://www.muk.uni-hannover.de/%7Eraasch/PALM_group/doc/app/chapter_4.1.html#pt_vertical_gradient_level">pt_vertical_gradient_level</a>) starting from the sea surface, using surface values&nbsp;given by <a href="http://www.muk.uni-hannover.de/%7Eraasch/PALM_group/doc/app/chapter_4.1.html#pt_surface">pt_surface</a>, <a href="http://www.muk.uni-hannover.de/%7Eraasch/PALM_group/doc/app/chapter_4.1.html#sa_surface">sa_surface</a>, <a href="http://www.muk.uni-hannover.de/%7Eraasch/PALM_group/doc/app/chapter_4.1.html#ug_surface">ug_surface</a>, and <a href="http://www.muk.uni-hannover.de/%7Eraasch/PALM_group/doc/app/chapter_4.1.html#vg_surface">vg_surface</a>.</li><li>Zero salinity flux is used as default boundary condition at the bottom of the sea.</li><li>If switched on, random perturbations are by default imposed to the upper model domain from zu(nzt*2/3) to zu(nzt-3).</li></ul>Relevant new inipar-parameters to be exclusively used for steering ocean runs are <span style="font-family: Courier New,Courier,monospace;">bc_sa_t</span>, <span style="font-family: Courier New,Courier,monospace;">bottom_salinityflux</span>, <span style="font-family: Courier New,Courier,monospace;">sa_surface</span>, <span style="font-family: Courier New,Courier,monospace;">sa_vertical_gradient</span>, <span style="font-family: Courier New,Courier,monospace;">sa_vertical_gradient_level</span>, and <span style="font-family: Courier New,Courier,monospace;">top_salinityflux</span>.<br><br>Salinity (<span style="font-family: Courier New,Courier,monospace;">sa</span>) and potential density (<span style="font-family: Courier New,Courier,monospace;">rho</span>) are included as new 2d/3d output quantities. Vertical profiles of salinity (<span style="font-family: Courier New,Courier,monospace;">sa</span>), salinity fluxes (<span style="font-family: Courier New,Courier,monospace;">w"sa"</span>, <span style="font-family: Courier New,Courier,monospace;">w*sa*</span>, <span style="font-family: Courier New,Courier,monospace;">wsa</span>), and potential density (<span style="font-family: Courier New,Courier,monospace;">rho</span>) can also be output.<span style="font-family: Courier New,Courier,monospace;"></span></td><td style="vertical-align: top;">advec_s_bc, average_3d_data,<br>boundary_conds, buoyancy,<br>check_parameters,&nbsp;data_output_2d,<br>data_output_3d,&nbsp;diffusion_e,<br>diffusivities,&nbsp;flow_statistics,&nbsp;header,<br>init_grid,&nbsp;init_3d_model,&nbsp;modules,<br>netcdf,&nbsp;parin,&nbsp;production_e,<br>prognostic_equations,<br>read_3d_binary,&nbsp;&nbsp;read_var_list,<br>sum_up_3d_data,&nbsp;swap_timelevel,<br>time_integration,&nbsp;user_interface,<br>write_var_list,&nbsp;write_3d_binary<br><br><span style="font-weight: bold;">new:</span><br>eqn_state_seawater,&nbsp;init_ocean</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;">Inipar-parameter <span style="font-family: Courier New,Courier,monospace;">use_pt_reference</span> renamed <span style="font-family: Courier New,Courier,monospace;">use_reference.</span><br>Internal variable <span style="font-family: Courier New,Courier,monospace;">hydro_press</span> renamed <span style="font-family: Courier New,Courier,monospace;">hyp</span>, routine <span style="font-family: Courier New,Courier,monospace;">calc_mean_pt_profile</span> renamed <span style="font-family: Courier New,Courier,monospace;">calc_mean_profile</span>.<br><br>The format of the <span style="font-family: Courier New,Courier,monospace;">RUN_CONTROL</span> file has been adjusted for ocean runs.<br><br>Defaults of <span style="font-family: Courier New,Courier,monospace;">.._vertical_gradient_levels</span> changed from <span style="font-style: italic;">-1.0</span> to <span style="font-style: italic;">-9999999.9</span>.</td><td style="vertical-align: top;">advec_particles,&nbsp;buoyancy,&nbsp;<br>calc_liquid_water_content, <br>check_parameters,&nbsp;diffusion_e,<br>diffusivities,&nbsp;header,<br>init_cloud_physics,&nbsp;modules,<br>production_e,&nbsp;prognostic_equations,<br>run_control</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: height above topography instead of height above level k=0 is used for calculating the mixing length (<span style="font-family: Courier New,Courier,monospace;">diffusion_e</span> and <span style="font-family: Courier New,Courier,monospace;">diffusivities</span>).<br><br>Bugfix: error in boundary condition for TKE removed (<span style="font-family: Courier New,Courier,monospace;">advec_s_bc</span>).</td><td style="vertical-align: top;">advec_s_bc,&nbsp;diffusion_e,&nbsp;diffusivities</td></tr><tr><td style="vertical-align: top;">05/10/07</td><td style="vertical-align: top;">SR</td><td style="vertical-align: top;">3.4</td><td style="vertical-align: top;">N</td><td style="vertical-align: top;">This version allows runs for a coupled atmosphere-ocean LES.<br><br>Coupling frequency is controlled by new d3par-parameter <span style="font-family: Courier New,Courier,monospace;">dt_coupling</span>, the coupling mode ('<span style="font-style: italic;">atmosphere_to_ocean</span>' or '<span style="font-style: italic;">ocean_to_atmosphere</span>') for the respective processes is read from environment variable <span style="font-family: Courier New,Courier,monospace;">coupling_mode</span>, which is set by the mpiexec-command in <span style="font-weight: bold;">mrun</span>. Communication between the two models is handled by the intercommunicator <span style="font-family: Courier New,Courier,monospace;">comm_inter</span>. Local files opened by the ocean model get the additional suffic "<span style="font-family: Courier New,Courier,monospace;">_O</span>".
2316Saturation at k=nzb is assumed for the atmosphere coupled to ocean.
2317Usage of the coupled model is described in the new section 3.8.<br><br>A momentum flux can be set as top boundary condition using the new inipar parameters <span style="font-family: Courier New,Courier,monospace;">top_momentumflux_u|v</span>.<br><br>Non-cyclic boundary conditions can be used along all horizontal directions.<br><br>Quantities w*p* and w"e can be output as vertical profiles.<br><br>Initial profiles are reset to constant profiles in case that <span style="font-family: Courier New,Courier,monospace;">initializing_actions</span> /= '<span style="font-style: italic;">set_constant_profiles</span>'. (init_rankine)<br><br>Optionally calculate km and kh from initial TKE e_init.<br>
2318</td><td style="vertical-align: top;">boundary_conds,
2319check_open, check_parameters, diffusion_u, diffusion_v,
2320flow_statistics, header, init_pegrid, init_rankine, init_3d_model,
2321local_stop, modules, palm, parin, prandtl_fluxes, pres,
2322prognostic_equations, read_var_list, read_3d_binary, swap_timelevel,
2323timestep, time_integration, write_var_list, write_3d_binary<br><br><span style="font-weight: bold;">new:</span><br>surface_coupler</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;">Remaining variables <span style="font-family: Courier New,Courier,monospace;">iran</span> changed to <span style="font-family: Courier New,Courier,monospace;">iran_part</span> (advec_particles, init_particles).<br><br>In case that the presure solver is not called for every Runge-Kutta substep (<span style="font-family: Courier New,Courier,monospace;">call_psolver_at_all_substeps</span> = <span style="font-style: italic;">.F.</span>),
2324it is called after the first substep instead of the last. In that case,
2325random perturbations are also added to the velocity field after the
2326first substep.<br><br>Initialization of <span style="font-family: Courier New,Courier,monospace;">km</span>, <span style="font-family: Courier New,Courier,monospace;">kh</span> = 0.00001 for <span style="font-family: Courier New,Courier,monospace;">ocean</span> = <span style="font-style: italic;">.T.</span> (for <span style="font-family: Courier New,Courier,monospace;">ocean</span> = <span style="font-style: italic;">.F.</span> it remains 0.01).<br><br>Allow <span style="font-family: Courier New,Courier,monospace;">data_output_pr</span> = '<span style="font-style: italic;">q</span>', '<span style="font-style: italic;">wq</span>', '<span style="font-style: italic;">w"q"</span>', '<span style="font-style: italic;">w*q*</span>' for <span style="font-family: Courier New,Courier,monospace;">humidity</span> = <span style="font-style: italic;">.T.</span> (instead of <span style="font-family: Courier New,Courier,monospace;">cloud_physics</span> = <span style="font-style: italic;">.T.</span>).</td><td style="vertical-align: top;">advec_particles, check_for_restart, check_parameters, init_particles, init_3d_model, time_integration<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;">E</td><td style="vertical-align: top;">Bugs from code parts for non-cyclic boundary conditions are removed:<br>loops for u and v are starting from index <span style="font-family: Courier New,Courier,monospace;">nxlu</span>, <span style="font-family: Courier New,Courier,monospace;">nysv</span>,
2327respectively. The radiation boundary condition is used for every
2328Runge-Kutta substep. Velocity phase speeds for the radiation boundary
2329conditions are calculated for the first Runge-Kutta substep only and
2330reused for the further substeps. New arrays <span style="font-family: Courier New,Courier,monospace;">c_u</span>, <span style="font-family: Courier New,Courier,monospace;">c_v</span>, and <span style="font-family: Courier New,Courier,monospace;">c_w</span>
2331are defined for this purpose. Several index errors are removed from the
2332radiation boundary condition code parts. Upper bounds for calculating <span style="font-family: Courier New,Courier,monospace;">u_0</span> and <span style="font-family: Courier New,Courier,monospace;">v_0</span> (in production_e) are <span style="font-style: italic;">nxr+1</span> and <span style="font-style: italic;">nyn+1</span> because otherwise these values are not available in case of non-cyclic boundary conditions.<br><br>+<span style="font-family: Courier New,Courier,monospace;">dots_num_palm</span> in module user, +module netcdf_control in user_init (both in user_interface)<br><br>Bugfix: wrong sign removed from the buoyancy production term in the case <span style="font-family: Courier New,Courier,monospace;">use_reference</span> = <span style="font-style: italic;">.T.</span> (production_e)<br><br>Bugfix: Error message concerning output of particle concentration (pc) modified (check_parameters).<br><br>Bugfix: Rayleigh damping for ocean fixed.</td><td style="vertical-align: top;">advec_u_pw,
2333advec_u_up, advec_v_pw, advec_v_up, boundary_conds, buoyancy,
2334check_parameters, coriolis, diffusion_u, diffusion_v, header,
2335init_pegrid, init_3d_model, modules, poismg, production_e,
2336prognostic_equations, user_interface<br></td></tr><tr><td style="vertical-align: top;">29/11/07</td><td style="vertical-align: top;">SR</td><td style="vertical-align: top;">3.4a</td><td style="vertical-align: top;">N</td><td style="vertical-align: top;">Pressure boundary conditions for vertical walls added to the multigrid solver. They are applied using new wall flag arrays (<span style="font-family: Courier New,Courier,monospace;">wall_flags_..</span>) which are defined for each grid level. New argument<span style="font-family: Courier New,Courier,monospace;"> gls </span>added to routine<span style="font-family: Courier New,Courier,monospace;"> user_init_grid </span>(<span style="font-family: Courier New,Courier,monospace;">user_interface</span>).<br><br>Plant canopy model of Watanabe (2004,BLM 112,307-341) added. &nbsp;It can be switched on by the new inipar parameter <span style="font-family: Courier New,Courier,monospace;">plant_canopy</span>. The inipar parameter<span style="font-family: Courier New,Courier,monospace;"> canopy_mode </span>can
2337be used to prescribe a plant canopy type. The default case is a
2338homogeneous plant canopy. Heterogeneous distributions of the leaf area
2339density and the canopy drag coefficient can be defined in the new
2340routine<span style="font-family: Courier New,Courier,monospace;"> user_init_plant_canopy </span>(<span style="font-family: Courier New,Courier,monospace;">user_interface</span>). The inipar parameters <span style="font-family: Courier New,Courier,monospace;">lad_surface</span>,<span style="font-family: Courier New,Courier,monospace;"> lad_vertical_gradient </span>and<span style="font-family: Courier New,Courier,monospace;"> lad_vertical_gradient_level </span>can be used to prescribe the vertical profile of leaf area density. The inipar parameter<span style="font-family: Courier New,Courier,monospace;"> drag_coefficient </span>determines the canopy drag coefficient. Finally, the inipar parameter<span style="font-family: Courier New,Courier,monospace;"> pch_index </span>determines the index of the upper boundary of the plant canopy.&nbsp; <br><br>Allow new case<span style="font-family: Courier New,Courier,monospace;"> bc_uv_t </span>= <span style="font-style: italic;">'dirichlet_0'</span> for channel flow.<br><br>For unknown variables (CASE DEFAULT) call new subroutine<span style="font-family: Courier New,Courier,monospace;"> user_data_output_dvrp</span>.<br><br>Frequence of sorting particles can be controlled with new particles_par parameter<span style="font-family: Courier New,Courier,monospace;"> dt_sort_particles</span>. Sorting is moved from the SGS timestep loop in<span style="font-family: Courier New,Courier,monospace;"> advec_particles </span>after the end of this loop.</td><td style="vertical-align: top;">advec_particles,
2341check_parameters, data_output_dvrp, header, init_3d_model, init_grid,
2342init_particles, init_pegrid, modules, package_parin,
2343parin,&nbsp;read_var_list,&nbsp;user_interface, write_var_list<br><br><span style="font-weight: bold;">new:</span><br>plant_canopy_model</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;">Redefine initial<span style="font-family: Courier New,Courier,monospace;"> nzb_local </span>as the actual total size of topography (later the extent of topography in<span style="font-family: Courier New,Courier,monospace;"> nzb_local </span>is reduced by 1dx at the E topography walls and by 1dy at the N topography walls to form the basis for<span style="font-family: Courier New,Courier,monospace;"> nzb_s_inner</span>); for consistency redefine 'single_building' case.<br><br>Vertical profiles now based on<span style="font-family: Courier New,Courier,monospace;"> nzb_s_inner</span>; they are divided by<span style="font-family: Courier New,Courier,monospace;"> ngp_2dh_s_inner </span>(scalars, procucts of scalars) and<span style="font-family: Courier New,Courier,monospace;"> ngp_2dh </span>(staggered velocity components and their products, procucts of scalars and velocity components), respectively.<br><br>Allow two instead of one digit to specify isosurface and slicer variables.<br><br>Status of 3D-volume NetCDF data file only depends on switch<span style="font-family: Courier New,Courier,monospace;"> netcdf_64bit_3d </span>(check_open).<br><br><span style="font-family: Courier New,Courier,monospace;">prognostic_equations </span>include the respective<span style="font-family: Courier New,Courier,monospace;"> wall_*flux </span>in the parameter list of calls of<span style="font-family: Courier New,Courier,monospace;"> diffusion_s</span>. Same as before, only the values<span style="font-family: Courier New,Courier,monospace;"> of wall_heatflux(0:4) </span>can be assigned. At present,<span style="font-family: Courier New,Courier,monospace;">&nbsp; wall_humidityflux</span>,<span style="font-family: Courier New,Courier,monospace;"> wall_qflux</span>,<span style="font-family: Courier New,Courier,monospace;"> wall_salinityflux</span>, and<span style="font-family: Courier New,Courier,monospace;"> wall_scalarflux </span>are kept zero.<span style="font-family: Courier New,Courier,monospace;"> diffusion_s </span>uses the respective<span style="font-family: Courier New,Courier,monospace;"> wall_*flux </span>instead of<span style="font-family: Courier New,Courier,monospace;"> wall_heatflux</span>.
2344This update serves two purposes: - it avoids errors in calculations
2345with humidity/scalar/salinity and prescribed non-zero wall heatflux, -
2346it prepares PALM for a possible assignment of wall fluxes of
2347humidity/scalar/salinity in a future releases.</td><td style="vertical-align: top;">buoyancy,
2348check_open, data_output_dvrp, diffusion_s, diffusivities,
2349flow_statistics, header, init_3d_model, init_dvrp, init_grid, modules,
2350prognostic_equations</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: summation of<span style="font-family: Courier New,Courier,monospace;"> sums_l_l </span>(<span style="font-family: Courier New,Courier,monospace;">diffusivities</span>).<br><br>Several bugfixes in the ocean part: Initial density<span style="font-family: Courier New,Courier,monospace;"> rho </span>is calculated (<span style="font-family: Courier New,Courier,monospace;">init_ocean</span>). Error in initializing<span style="font-family: Courier New,Courier,monospace;"> u_init </span>and<span style="font-family: Courier New,Courier,monospace;"> v_init </span>removed (<span style="font-family: Courier New,Courier,monospace;">check_parameters</span>). Calculation of density flux now starts from<span style="font-family: Courier New,Courier,monospace;"> nzb+1 </span>(<span style="font-family: Courier New,Courier,monospace;">production_e</span>).<br><br>Bugfix: <span style="font-family: Courier New,Courier,monospace;">pleft</span>/<span style="font-family: Courier New,Courier,monospace;">pright</span> changed to <span style="font-family: Courier New,Courier,monospace;">pnorth</span>/<span style="font-family: Courier New,Courier,monospace;">psouth</span> in sendrecv of particle tail numbers along y, small bugfixes in the SGS part (<span style="font-family: Courier New,Courier,monospace;">advec_particles</span>).<br><br>Bugfix:<span style="font-family: Courier New,Courier,monospace;"> model_string </span>needed a default value (<span style="font-family: Courier New,Courier,monospace;">combine_plot_fields</span>).<br><br>Bugfix: wavenumber calculation for even<span style="font-family: Courier New,Courier,monospace;"> nx </span>in routines<span style="font-family: Courier New,Courier,monospace;"> maketri </span>(<span style="font-family: Courier New,Courier,monospace;">poisfft</span>).<br><br>Bugfix: assignment of fluxes at walls.<br><br>Bugfix: absolute value of<span style="font-family: Courier New,Courier,monospace;"> f </span>must be used when calculating the Blackadar mixing length (<span style="font-family: Courier New,Courier,monospace;">init_1d_model</span>).</td><td style="vertical-align: top;">advec_particles,
2351check_parameters, combine_plot_fields, diffusion_s, diffusivities,
2352init_ocean, init_1d_model, poisfft, production_e</td></tr><tr><td style="vertical-align: top;">16/09/08</td><td style="vertical-align: top;">SR</td><td style="vertical-align: top;">3.5</td><td style="vertical-align: top;">N</td><td style="vertical-align: top;">The
2353turbulence recycling method of Kataoka and Mizuno (2002) has been
2354implemented. A precursor run must be used to initialize the main run
2355with a quasi-stationary turbulence state (see <span style="font-family: monospace;">initializing_actions</span> = <span style="font-style: italic;">'read_data_for_recycling'</span>).
2356The precursor run may have a smaller domain than the main run, which
2357helps to spare CPU time. New parameters for steering the recycling
2358method are <span style="font-family: monospace;">turbulent_inflow</span>, <span style="font-family: monospace;">recycling_width</span>, <span style="font-family: monospace;">inflow_damping_height</span>, and <span style="font-family: monospace;">inflow_damping_width</span>.<br><br>One
2359new feature related with the recycling method is that within a job
2360chain, the number of processors or the virtual processor grid is now
2361allowed to&nbsp;change. Such a change modifies the domain decomposition
2362and requires that the PEs within a restart job have to know from which
2363file(s) they have to read their restart data (up to now there has been
2364a one to one relation between the restart files and the PEs, i.e.
2365processor 4 only reads data from file "_0004"). Informations about the
2366subdomain index limits of all restart files are now written by PE0 (to
2367file "_0000"). Also, all variables containing global values which do
2368not depend on the subdomain are written to file "_0000" only. In a
2369restart run, this file is opened by all PEs to read these global values
2370and the informations about the subdomain index limits. Depending on
2371these index limit information it is decided which restart file(s)
2372has/have to be opened in order to read the complete data necessary for
2373the current subdomain.<br><br>The plant canopy model has been extended
2374to the prognostic equation for&nbsp;the potential temperature
2375and&nbsp;passive scalar, as proposed by Watanabe (2004) and Shaw and
2376Schumann (1992).<br><br>Particle advection adjusted for ocean runs.<br><br>Grid
2377coarsening (multigrid method) is limited to subdomains (i.e. no
2378collection of data on PE0 for further coarsening beyond subdomains) if <span style="font-family: monospace;">mg_switch_to_pe0_level</span> = <span style="font-style: italic;">-1</span>.<br><br>User-defined spectra are allowed.<br><br>Output of <span style="font-family: monospace;">q*2</span> profile and <span style="font-family: monospace;">w"u"0</span>, <span style="font-family: monospace;">w"v"0</span>, <span style="font-family: monospace;">w"q"0</span> timeseries are added.<br><br>Argument<span style="font-family: monospace;"> -c </span>introduced to most of the subjob calls, which allows the user to choose his own job catalog by setting the environment variable<span style="font-family: monospace;"> job_catalog </span>in the configuration file (default is <span style="font-family: monospace;">~/job_queue</span>).<br><br>This release contains first adjustments for the SGI-ICE system at HLRN.<br><br><span style="font-weight: bold;">Attention: On the SGI-ICE,&nbsp;runs are still aborted or are hanging for unknown reasons from time to time.</span></td><td style="vertical-align: top;">advec_particles, calc_spectra, check_open, check_parameters, data_output_spectra,
2379header, init_3d_model, init_particles, init_pegrid, modules, netcdf, parin, particle_boundary_conds, plant_canopy_model,
2380
2381prognostic_equations, read_3d_binary, read_var_list, time_integration,
2382user_interface, write_3d_binary, write_var_list<br><br><span style="font-weight: bold;">new:</span><br>inflow_turbulence<br></td></tr><tr><td align="undefined" valign="undefined">&nbsp;</td><td align="undefined" valign="undefined">&nbsp;</td><td align="undefined" valign="undefined">&nbsp;</td><td style="vertical-align: top;">C</td><td style="vertical-align: top;">Allow 100 spectra levels instead of 10 for consistency with define_netcdf_header. (<span style="font-family: monospace;">calc_spectra</span>, <span style="font-family: monospace;">data_output_spectra</span>, <span style="font-family: monospace;">header</span>, <span style="font-family: monospace;">modules</span>, <span style="font-family: monospace;">netcdf</span>)<br><br>Modification
2383of the integrated version of the profile function for momentum for
2384unstable stratification; more consistent flux definitions. (<span style="font-family: monospace;">wall_fluxes</span>, <span style="font-family: monospace;">production_e</span>)<br><br>Strict grid matching along z is not needed for mg-solver. (<span style="font-family: monospace;">check_parameters</span>)<br><br>Sharp
2385lateral edges of the plant canopy introduced. Before, smaller values of
2386the leaf area density than those applied in the prognostic equation for
2387the vertical velocity were used in the prognostic equations for u and v
2388at the boundaries of the plant_canopy. (<span style="font-family: monospace;">init_3d_model</span>)<br><br>-<span style="font-family: monospace;">cross_ts_*</span> (<span style="font-family: monospace;">read_var_list</span>, <span style="font-family: monospace;">write_var_list</span>), -<span style="font-family: monospace;">dopr_time_count</span>, old profil parameters (<span style="font-family: monospace;">cross_...</span>, <span style="font-family: monospace;">dopr_crossindex</span>,&nbsp;<span style="font-family: monospace;">profile_***</span>) removed. (<span style="font-family: monospace;">read_3d_binary</span>, <span style="font-family: monospace;">write_3d_binary</span>)<br><br>Reading/writing of <span style="font-family: monospace;">hom_sum</span>, <span style="font-family: monospace;">volume_flow_area</span>, <span style="font-family: monospace;">volume_flow_initial</span> is moved from <span style="font-family: monospace;">..._3d_binary</span> to <span style="font-family: monospace;">..._var_list</span>, <span style="font-family: monospace;">hom_sum</span> is now allocated in <span style="font-family: monospace;">parin</span> instead of <span style="font-family: monospace;">init_3d_model</span>.<br><br><span style="font-family: monospace;">npex</span>, <span style="font-family: monospace;">npey</span> moved from inipar- to d3par-namelist. (<span style="font-family: monospace;">parin</span>)<br><br><span style="font-family: monospace;">myid_char14</span>
2389removed. This was used, since on IBM machines the process rank could be
2390changed when the final communicator was defined, in order to save the
2391preliminary processor-id for opening the binary output file for
2392restarts (unit 14), because otherwise a mismatch occured when reading
2393this file in a restart job. This mechanism is not needed any more since
2394the subdomain informations are now contained in file _0000. (<span style="font-family: monospace;">parin</span>, <span style="font-family: monospace;">check_open</span>)<br><br>Transpositions for the 2D domain decomposition have been optimized by using <span style="font-family: monospace;">f_inv</span>
2395as an automatic array instead of providing the memory by a dummy
2396argument. This spares one copy loop per transposition. Order of indices
2397in the 3D loops in some of the transpose routines have been rearranged
2398for better cache utilization. Both have been suggested by Roland
2399Richter (SGI) as part of the HLRN-II benchmark process. (<span style="font-family: monospace;">transpose</span>)<br><br>Workaround for getting information about the coupling mode, because the<span style="font-family: monospace;"> -env </span>Option (mpiexec) is not available on many systems (SGI, lcxt4 at&nbsp; Bergen Center for Computational Science). (<span style="font-family: monospace;">palm</span>, <span style="font-family: monospace;">mrun</span>)<br><br>Format adjustments in order to allow CPU# &gt; 999. (<span style="font-family: monospace;">cpu_statistics</span>)<br><br>Provisional solution for run_control_1d output: add 'CALL check_open( 15 )'. (<span style="font-family: monospace;">init_1d_model</span>)<br><br>Subdomain data are read into temporary arrays <span style="font-family: monospace;">pf_tmp</span> / <span style="font-family: monospace;">pf3d_tmp</span> in order to avoid INTEL compiler warnings about (automatic) creation of temporary arrays. (<span style="font-family: monospace;">combine_plot_fields</span>)<br><br>Time coordinate t=0 stored on netcdf-file only if an output is required for this time for at least one of the profiles.<br><br>Output of spline timeseries <span style="font-family: monospace;">splptx</span> etc. removed. (<span style="font-family: monospace;">flow_statistics</span>)</td><td style="vertical-align: top;">advec_s_ups,
2400advec_u_ups, advec_v_ups, advec_w_ups, calc_spectra, check_open,
2401check_parameters, cpu_statistics, data_output_profiles,
2402data_output_spectra, flow_statistics, header, init_1d_model,
2403init_3d_model, modules, netcdf, palm, parin, poisfft, production_e,
2404read_3d_binary, read_var_list, transpose, wall_fluxes, write_3d_binary, write_var_list<br></td></tr><tr><td align="undefined" valign="undefined">&nbsp;</td><td align="undefined" valign="undefined">&nbsp;</td><td align="undefined" valign="undefined">&nbsp;</td><td style="vertical-align: top;">E</td><td style="vertical-align: top;">Bugfix:
2405modification of the calculation of the vertical turbulent momentum
2406fluxes u'w' and v'w'; the first usws that is computed corresponds to
2407-u'w'/u* and not as priorily assumed to (-u'w')**0.5, the first vsws
2408that is computed corresponds to -v'w'/u* and not as priorily assumed to
2409(-v'w')**0.5. Therefore, the intermediate result for usws has to be
2410multiplied by -u* instead by itself in order to get u'w'. Accordingly,
2411the intermediate result for vsws has to be multiplied by -u* instead by
2412itself in order to get v'w'. As u* is calculated for the position of a
2413scalar an additional interpolation of u* to the position of u and v,
2414respectively, is necessary. As u* is not determined for the ghost
2415points on each PE, an additional exchange of information from
2416neighbouring PEs is necessary. Tests showed that this
2417decreases u* by some 10% and increases TKE and momentum fluxes by some
241810% because friction was underestimated and momentum fluxes were
2419wrongly calculated due to the bug. (<span style="font-family: monospace;">prandtl_fluxes</span>, <span style="font-family: monospace;">wall_fluxes</span>)<br><br><span style="font-weight: bold;">Attention:</span> <br><span style="font-weight: bold;">
2420The content of the testresult-file (run control output) has changed
2421due to the above bugfix.</span><br><br>Bugfix:
2422change definition of us_wall from 1D to 2D.&nbsp;<br><br>Bugfix: exponent = 1.0 / ( ny + 1.0 ) in calc_spectra_x. (<span style="font-family: monospace;">calc_spectra</span>)<br><br>Bugfix: calculation of horizontal fluxes at vertical walls. (<span style="font-family: monospace;">diffusion_s</span>)<br><br>Bugfix: zero assignments to tendency arrays in case of restarts. (<span style="font-family: monospace;">init_3d_model</span>)<br><br>Bugfix: wrong grid level used in multigrid solver, routine <span style="font-family: monospace;">restrict</span>. (<span style="font-family: monospace;">poismg</span>)<br><br>Bugfix:
2423Construction of vertical profiles when 10 gradients have been specified
2424in the parameter list (ug, vg, pt, q, sa, lad). (<span style="font-family: monospace;">check_parameters</span>)<br><br>Bugfix: Determination of the number of vertical levels for which spectra shall be output - 100 replaced by 10. (<span style="font-family: monospace;">netcdf</span>)<br><br>Bugfix:
2425Lengths of those characters that are needed for the output of the
2426characteristic levels of potential temperature, the geostrophic wind,
2427scalar concentration, humidity and leaf area density to the header file
2428has been increased. (<span style="font-family: monospace;">header</span>)<br><br>Bugfix: add ')' in <span style="font-family: monospace;">user_read_restart_data</span>.<br><br>The leaf area density is explicitly set to its surface value at k=0. (<span style="font-family: monospace;">check_parameters</span>)<br><br>Introduce<span style="font-family: monospace;"> prefix_chr</span> to ensure unique dvrp_file path.<br><br>small bugfixes for <span style="font-family: monospace;">user_interface</span> sample code (comments):<br>- initialize ustvst with 0.0 as it is now computed only until <span style="font-family: monospace;">nxr</span> and <span style="font-family: monospace;">nyn</span><br>- two ALLOCATE statements moved from <span style="font-family: monospace;">user_read_restart_data</span> back to <span style="font-family: monospace;">user_init</span><br>- remove 'READ (13) u2_av' statement in <span style="font-family: monospace;">user_read_restart_data</span><br><br>Bugfix: remove IF statement in <span style="font-family: monospace;">plant_canopy_model_ij</span>.<br><br>Bugfix: divide sums(k,8) (e) and sums(k,34) (e*) by ngp_2dh_s_inner(k,sr) (like other scalars). (<span style="font-family: monospace;">flow_statistics</span>)<br><br>Bugfix: <span style="font-family: monospace;">dopr_time_count</span>
2429was written on the binary file, which caused that NetCDF files newly
2430created by restart files (no append of existing files!) contained
2431uneccessary time levels. (<span style="font-family: monospace;">read_3d_binary</span>, <span style="font-family: monospace;">write_3d_binary</span>)<br><br>Bugfix: extra '*' removed in user_statistics sample code. (<span style="font-family: monospace;">user_interface</span>)<br><br>Bugfix: a stop command was missing in some cases of the parallel branch. (<span style="font-family: monospace;">local_stop</span>)<br><br>Bugfix in volume flow control for non-cyclic boundary conditions. (<span style="font-family: monospace;">pres</span>)<br><br>Bugfix: misplaced #endif directives. (<span style="font-family: monospace;">combine_plot_fields</span>)<br><br>Data are collected from PE0 in an ordered sequence which seems to avoid hanging of processes on SGI-ICE. (<span style="font-family: monospace;">cpu_statistics</span>)</td><td style="vertical-align: top;">calc_spectra,
2432check_parameters, cpu_statistics, diffusion_s, flow_statistics,
2433init_3d_model, init_dvrp, local_stop, plant_canopy_model, poismg,
2434prandtl_fluxes, pres, read_3d_binary, user_interface, wall_fluxes,
2435write_3d_binary<br></td></tr><tr><td style="vertical-align: top;">02/02/09</td><td style="vertical-align: top;">SR</td><td style="vertical-align: top;">3.6<br>(r228)</td><td style="vertical-align: top;">N</td><td style="vertical-align: top;">This
2436release contains further additions, changes, and bugfixes for the
2437SGI-ICE system, as well as important changes like the splitting of the
2438user-interface into single files, a complete revision of the
2439pre-compiling mechanism allowing to use different make-depositories
2440simultaneously, and a revision of the reading-mechanism from restart
2441files, which has no more restrictions in case that the previous and
2442current run have different domain/subdomain sizes. A new handling of
2443all kind of output messages is introduced with this release and will be
2444applied to all existing messages within the next releases.<br><br><span style="font-weight: bold;">New features are:</span><br style="font-weight: bold;"><br>Restart runs on SGI-ICE are working. (mrun)<br>2d-decomposition is default on SGI-ICE systems. (init_pegrid)<br><br>Ocean-atmosphere coupling realized with MPI-1. mrun adjusted for this case (-Y option). Check that PALM is called with <span style="font-family: Courier New,Courier,monospace;">mrun</span>-option "<span style="font-style: italic;">-K parallel</span>" for coupling. Adjustments in <span style="font-family: Courier New,Courier,monospace;">mrun</span>, <span style="font-family: Courier New,Courier,monospace;">mbuild</span>, and <span style="font-family: Courier New,Courier,monospace;">subjob</span> for lcxt4.<br><br>DVRP arguments changed to single precision, mode pathlines added.<br><br>User can add additional routines in files <span style="font-family: Courier New,Courier,monospace;">user_additional_routines</span>.<br><br>User can check user parameters and deduce further quantities in <span style="font-family: Courier New,Courier,monospace;">user_check_parameters</span>.</td><td style="vertical-align: top;">check_for_restart,
2445check_parameters, data_output_dvrp, init_dvrp, init_pegrid, local_stop,
2446modules, package_parin, palm, surface_coupler, timestep<br><br>Makefile,&nbsp;mbuild, mrun, subjob<br><br><span style="font-weight: bold;">new:</span><br>init_coupling, user_additional_routines, user_check_parameters</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;">&nbsp;User interface has been split into single files.<br><br>Type of variables <span style="font-family: Courier New,Courier,monospace;">count</span> and <span style="font-family: Courier New,Courier,monospace;">count_rate</span>
2447changed to INTEGER(8) in order to avoid "out of range" problems, which
2448result in measured negative time intervals. (cpu_log, local_tremain,
2449local_tremain_ini)<br><br>Reading mechanism from restart files
2450completely revised. The subdomain/total domain size is now allowed to
2451vary arbitrarily between the current and previous run. (read_var_list,
2452read_3d_binary, user_read_restart_data)<br><br>Precompilation mechanism (<span style="font-family: Courier New,Courier,monospace;">mbuild</span>) completely revised: the source-tarfile remains in the source directory (<span style="font-family: Courier New,Courier,monospace;">trunk/SOURCE</span>).
2453One depository per block (given in the config-file) is created. Always
2454all files from the source directory are copied to the respective
2455depository. No additional file checks are done any more (mrun version
24562.1). The depository name used contains the conditions given by <span style="font-family: Courier New,Courier,monospace;">mrun</span>-option "<span style="font-family: Courier New,Courier,monospace;">-K</span>". (mbuild, mrun)<br><br>Output messages (including required stop of execution) can now be handled with the new subroutine&nbsp;<span style="font-family: Courier New,Courier,monospace;">message</span>. All output messages will be replaced by this routine step by step within the next revisions.<br><br>Neumann boundary condition at <span style="font-family: Courier New,Courier,monospace;">k=nzb</span> is explicitly set for better reading, although this has been already done in boundary_conds. (advec_s_bc)<br><br>Origin of the xy-coordinate system shifted from the center of the first grid cell (indices <span style="font-family: Courier New,Courier,monospace;">i=0</span>, <span style="font-family: Courier New,Courier,monospace;">j=0</span>) to the south-left corner of this cell. (netcdf) Topography definition according to new user parameter <span style="font-family: Courier New,Courier,monospace;">topography_grid_convention</span>. (init_grid, modules, user_header, user_init_grid, user_parin)</td><td style="vertical-align: top;">advec_s_bc,
2457check_parameters, cpu_log, init_grid, local_stop, local_tremain,
2458local_tremain_ini, modules, netcdf, read_3d_binary, read_var_list,
2459user_read_restart_data<br><br>Makefile, mbuild, mrun<br><br><span style="font-weight: bold;">removed:</span><br>user_interface<br><br><span style="font-weight: bold;">new:</span><br>message,
2460user_3d_data_averaging, user_actions, user_advec_particles,
2461user_check_data_output, user_check_data_output_pr, user_data_output_2d,
2462user_data_output_3d, user_data_output_dvrp, user_define_netcdf_grid,
2463user_dvrp_coltab, user_header, user_init_3d_model, user_init,
2464user_init_grid, user_init_particles, user_init_plant_canopy,
2465user_last_actions, user_parin, user_parin, user_particle_attributes,
2466user_read_restart_data, user_spectra, user_statistics</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: array <span style="font-family: Courier New,Courier,monospace;">d</span> is reallocated in case that multigrid is used. (calc_spectra)<br><br>Bugfixes for nonparallel execution. (check_for_restart, cpu_statistics, inflow_turbulence,&nbsp;timestep)<br><br>Size of <span style="font-family: Courier New,Courier,monospace;">pf3d </span>adjusted to the required output size (1 gridpoint less, along all three dimensions), because output of a subset of the data (<span style="font-family: Courier New,Courier,monospace;">pf3d(nxa:nxe...)</span>) in the NF90_PUT_VAR statement caused segmentation fault with the INTEL compiler. (combine_plot_fields)<br><br>Bugfix: error in <span style="font-family: Courier New,Courier,monospace;">zu</span> index in case of <span style="font-family: Courier New,Courier,monospace;">section_xy=-1</span>. (header)<br><br>Inconsistency
2467removed: as the thermal stratification is not taken into account for
2468the evaluation of the wall fluxes at vertical walls, the eddy viscosity
2469<span style="font-family: Courier New,Courier,monospace;">km</span> must not be used for the evaluation of the velocity gradients <span style="font-family: Courier New,Courier,monospace;">dudy</span>, <span style="font-family: Courier New,Courier,monospace;">dwdy</span>, <span style="font-family: Courier New,Courier,monospace;">dvdx</span> and <span style="font-family: Courier New,Courier,monospace;">dwdx</span>. (production_e)<br><br>Bugfix in calculating <span style="font-family: Courier New,Courier,monospace;">k</span> index in case of oceans runs. (sort_particles)<br><br>Bugfix: no output of particle concentration and radius unless particles have been started. (data_output_2d)<br><br>Bugfix: reading of <span style="font-family: Courier New,Courier,monospace;">spectrum_x|y</span> from restart files ignored if total numbers of grid points do not match. (read_3d_binary)<br><br>Bugfix: abort in case that absolute temperature is below zero. (init_cloud_physics)</td><td style="vertical-align: top;">advec_particles,
2470calc_spectra, check_for_restart, cpu_statistics, data_output_2d,
2471header, inflow_turbulence, init_cloud_physics, production_e,
2472read_3d_binary, timestep<br><br>combine_plot_fields</td></tr><tr>
2473      <td style="vertical-align: top;">23/09/09<br>
2474      </td>
2475      <td style="vertical-align: top;">SR<br>
2476      </td>
2477      <td style="vertical-align: top;">3.7 (r392)<br>
2478      </td>
2479      <td style="vertical-align: top;">N<br>
2480      </td>
2481      <td style="vertical-align: top;"><span style="font-weight: bold;">Most important changes:</span>
2482atmosphere-ocean coupling has been improved and steering of
2483dvr-software is more user-friendly now. Beside that, the release
2484contains a lot of optimizations, changes, and bugfixes which have
2485accumulated over the last months.<br>
2486      <br>
2487The atmosphere-ocean coupling allows to use independent precursor runs
2488in order to account for different spin-up times. The time when coupling
2489has to be started is given by new inipar parameter <span style="font-family: Courier New,Courier,monospace;">coupling_start_time</span>. The precursor ocean run has to be started using new <span style="font-weight: bold;">mrun</span> option "<span style="font-family: Courier New,Courier,monospace;">-y</span>" in order to add the appendix "<span style="font-family: Courier New,Courier,monospace;">_O</span>" to all output files. (<span style="font-family: Courier New,Courier,monospace;">check_for_restart</span>, <span style="font-family: Courier New,Courier,monospace;">check_parameters</span>, <span style="font-family: Courier New,Courier,monospace;">data_output_2d</span>, <span style="font-family: Courier New,Courier,monospace;">data_output_3d</span>, <span style="font-family: Courier New,Courier,monospace;">data_output_profiles</span>, <span style="font-family: Courier New,Courier,monospace;">data_output_ptseries</span>, <span style="font-family: Courier New,Courier,monospace;">data_output_spectra</span>, <span style="font-family: Courier New,Courier,monospace;">data_output_tseries</span>, <span style="font-family: Courier New,Courier,monospace;">header</span>, <span style="font-family: Courier New,Courier,monospace;">init_coupling</span>, <span style="font-family: Courier New,Courier,monospace;">modules</span>, <span style="font-family: Courier New,Courier,monospace;">mrun</span>, <span style="font-family: Courier New,Courier,monospace;">parin</span>, <span style="font-family: Courier New,Courier,monospace;">read_var_list</span>, <span style="font-family: Courier New,Courier,monospace;">surface_coupler</span>, <span style="font-family: Courier New,Courier,monospace;">time_integration</span>, <span style="font-family: Courier New,Courier,monospace;">write_var_list</span>)<br>
2490
2491      <br>
2492Clipping of dvrp output implemented. Default colourtable for particles
2493implemented, particle attributes (color, dvrp_size) can be set with new
2494parameters <span style="font-family: Courier New,Courier,monospace;">particle_color</span>, <span style="font-family: Courier New,Courier,monospace;">particle_dvrpsize</span>, <span style="font-family: Courier New,Courier,monospace;">color_interval</span>, <span style="font-family: Courier New,Courier,monospace;">dvrpsize_interval</span>. Slicer attributes (dvrp) are set with new routine <span style="font-family: Courier New,Courier,monospace;">set_slicer_attributes_dvrp</span> and are controlled with existing parameters <span style="font-family: Courier New,Courier,monospace;">slicer_range_limits</span>. (<span style="font-family: Courier New,Courier,monospace;">init_dvrp</span>, <span style="font-family: Courier New,Courier,monospace;">data_output_dvrp</span>, <span style="font-family: Courier New,Courier,monospace;">modules</span>, <span style="font-family: Courier New,Courier,monospace;">set_slicer_attributes_dvrp</span>,&nbsp; <span style="font-family: Courier New,Courier,monospace;">user_data_output_dvrp</span>)<br>
2495
2496      <br>
2497Polygon reduction for topography and ground plate isosurface. Reduction
2498level for buildings can be chosen with parameter cluster_size. (<span style="font-family: Courier New,Courier,monospace;">init_dvrp</span>)<br>
2499
2500      <br>
2501Variables <span style="font-family: Courier New,Courier,monospace;">bc_lr</span> / <span style="font-family: Courier New,Courier,monospace;">bc_ns</span>&nbsp; in most subroutines replaced by LOGICAL variables <span style="font-family: Courier New,Courier,monospace;">bc_lr_cyc</span>,<br>
2502      <span style="font-family: Courier New,Courier,monospace;">
2503bc_ns_cyc</span> for speed optimization. This gives a significant speedup of more than 10%. (<span style="font-family: Courier New,Courier,monospace;">check_parameters</span>, <span style="font-family: Courier New,Courier,monospace;">diffusion_u</span>, <span style="font-family: Courier New,Courier,monospace;">diffusion_v</span>, <span style="font-family: Courier New,Courier,monospace;">diffusion_w</span>, <span style="font-family: Courier New,Courier,monospace;">modules</span>)<br>
2504
2505      <br>
2506Scripts have been adapted for machine lck (Yonsei Univ.). (<span style="font-family: Courier New,Courier,monospace;">mrun</span>, <span style="font-family: Courier New,Courier,monospace;">mbuild</span>, <span style="font-family: Courier New,Courier,monospace;">subjob</span>)<br>
2507      <br>
2508Additional timestep criterion in case of simulations with plant canopy. (<span style="font-family: Courier New,Courier,monospace;">timestep</span>)<br>
2509      <br>
2510Check for illegal entries in <span style="font-family: Courier New,Courier,monospace;">section_xy</span>|<span style="font-family: Courier New,Courier,monospace;">xz</span>|<span style="font-family: Courier New,Courier,monospace;">yz</span> that exceed <span style="font-family: Courier New,Courier,monospace;">nz+1</span>|<span style="font-family: Courier New,Courier,monospace;">ny+1</span>|<span style="font-family: Courier New,Courier,monospace;">nx+1</span>. (<span style="font-family: Courier New,Courier,monospace;">check_parameters</span>)<br>
2511      <br>
2512External pressure gradient can be used as driving force. (<span style="font-family: Courier New,Courier,monospace;">check_parameters</span>, <span style="font-family: Courier New,Courier,monospace;">header</span>, <span style="font-family: Courier New,Courier,monospace;">init_3d_model</span>, <span style="font-family: Courier New,Courier,monospace;">modules</span>, <span style="font-family: Courier New,Courier,monospace;">parin</span>, <span style="font-family: Courier New,Courier,monospace;">prognostic_equations</span>, <span style="font-family: Courier New,Courier,monospace;">read_var_list</span>, <span style="font-family: Courier New,Courier,monospace;">write_var_list</span>)<br>
2513      <br>
2514New topography case '<span style="font-style: italic;">single_street_canyon</span>'. (<span style="font-family: Courier New,Courier,monospace;">header</span>, <span style="font-family: Courier New,Courier,monospace;">init_grid</span>, <span style="font-family: Courier New,Courier,monospace;">modules</span>, <span style="font-family: Courier New,Courier,monospace;">parin</span>, <span style="font-family: Courier New,Courier,monospace;">read_var_list</span>, <span style="font-family: Courier New,Courier,monospace;">user_check_parameters</span>, <span style="font-family: Courier New,Courier,monospace;">user_header</span>, <span style="font-family: Courier New,Courier,monospace;">user_init_grid</span>, <span style="font-family: Courier New,Courier,monospace;">write_var_list</span>)<br>
2515      <br>
2516Option to predefine a target bulk velocity for <span style="font-family: Courier New,Courier,monospace;">conserve_volume_flow</span>. (<span style="font-family: Courier New,Courier,monospace;">check_parameters</span>, <span style="font-family: Courier New,Courier,monospace;">header</span>, <span style="font-family: Courier New,Courier,monospace;">init_3d_model</span>, <span style="font-family: Courier New,Courier,monospace;">modules</span>, <span style="font-family: Courier New,Courier,monospace;">parin</span>, <span style="font-family: Courier New,Courier,monospace;">read_var_list</span>, <span style="font-family: Courier New,Courier,monospace;">write_var_list</span>)<br>
2517      <br>
2518Option for user defined 2D data output in xy cross sections at z=<span style="font-family: Courier New,Courier,monospace;">nzb</span>+1. (<span style="font-family: Courier New,Courier,monospace;">data_output_2d</span>, <span style="font-family: Courier New,Courier,monospace;">user_data_output_2d</span>)<br>
2519      <br>
2520xy cross section output of surface heatfluxes (sensible and latent). (<span style="font-family: Courier New,Courier,monospace;">average_3d_data</span>, <span style="font-family: Courier New,Courier,monospace;">check_parameters</span>, <span style="font-family: Courier New,Courier,monospace;">data_output_2d</span>, <span style="font-family: Courier New,Courier,monospace;">modules</span>, <span style="font-family: Courier New,Courier,monospace;">read_3d_binary</span>, <span style="font-family: Courier New,Courier,monospace;">sum_up_3d_data</span>, <span style="font-family: Courier New,Courier,monospace;">write_3d_binary</span>)<br>
2521      </td>
2522      <td style="vertical-align: top;">average_3d_data,
2523check_for_restart, check_parameters, data_output_2d, data_output_3d,
2524data_output_dvrp, data_output_profiles, data_output_ptseries,
2525data_output_spectra, data_output_tseries, diffusion_u, diffusion_v,
2526diffusion_w, init_coupling, init_dvrp, init_grid, init_3d_model,
2527header, mbuild, modules, mrun, package_parin, parin,
2528prognostic_equations, read_3d_binary, read_var_list, subjob,
2529sum_up_3d_data, surface_coupler, timestep, time_integration,
2530user_check_parameters, user_data_output_2d, user_data_output_dvrp,
2531user_header, user_init_grid, write_3d_binary, write_var_list<br>
2532      <br>
2533      <span style="font-weight: bold;">new:</span> set_particle_attributes, set_slicer_attributes_dvrp<br>
2534      <br>
2535      </td>
2536    </tr>
2537    <tr>
2538      <td style="vertical-align: top;"><br>
2539      </td>
2540      <td style="vertical-align: top;"><br>
2541      </td>
2542      <td style="vertical-align: top;"><br>
2543      </td>
2544      <td style="vertical-align: top;">C<br>
2545      </td>
2546      <td style="vertical-align: top;">Output of messages replaced by message handling routine. (<span style="font-family: Courier New,Courier,monospace;">advec_particles</span>, <span style="font-family: Courier New,Courier,monospace;">advec_s_bc</span>, <span style="font-family: Courier New,Courier,monospace;">buoyancy</span>, <span style="font-family: Courier New,Courier,monospace;">calc_spectra</span>, <span style="font-family: Courier New,Courier,monospace;">check_for_restart</span>, <span style="font-family: Courier New,Courier,monospace;">check_open</span>, <span style="font-family: Courier New,Courier,monospace;">coriolis</span>, <span style="font-family: Courier New,Courier,monospace;">cpu_log</span>, <span style="font-family: Courier New,Courier,monospace;">data_output_2d</span>, <span style="font-family: Courier New,Courier,monospace;">data_output_3d</span>, <span style="font-family: Courier New,Courier,monospace;">data_output_dvrp</span>, <span style="font-family: Courier New,Courier,monospace;">data_output_profiles</span>, <span style="font-family: Courier New,Courier,monospace;">data_output_spectra</span>, <span style="font-family: Courier New,Courier,monospace;">fft_xy</span>, <span style="font-family: Courier New,Courier,monospace;">flow_statistics</span>, <span style="font-family: Courier New,Courier,monospace;">header</span>,&nbsp; <span style="font-family: Courier New,Courier,monospace;">init_1d_model</span>, <span style="font-family: Courier New,Courier,monospace;">init_3d_model</span>, <span style="font-family: Courier New,Courier,monospace;">init_dvrp</span>, <span style="font-family: Courier New,Courier,monospace;">init_grid</span>, <span style="font-family: Courier New,Courier,monospace;">init_particles</span>, <span style="font-family: Courier New,Courier,monospace;">init_pegrid</span>, <span style="font-family: Courier New,Courier,monospace;">netcdf</span>, <span style="font-family: Courier New,Courier,monospace;">parin</span>, <span style="font-family: Courier New,Courier,monospace;">plant_canopy_model</span>, <span style="font-family: Courier New,Courier,monospace;">poisfft_hybrid</span>, <span style="font-family: Courier New,Courier,monospace;">poismg</span>, <span style="font-family: Courier New,Courier,monospace;">read_3d_binary</span>, <span style="font-family: Courier New,Courier,monospace;">read_var_list</span>, <span style="font-family: Courier New,Courier,monospace;">surface_coupler</span>, <span style="font-family: Courier New,Courier,monospace;">temperton_fft</span>, <span style="font-family: Courier New,Courier,monospace;">timestep</span>, <span style="font-family: Courier New,Courier,monospace;">user_actions</span>, <span style="font-family: Courier New,Courier,monospace;">user_data_output_dvrp</span>, <span style="font-family: Courier New,Courier,monospace;">user_dvrp_coltab</span>, <span style="font-family: Courier New,Courier,monospace;">user_init_grid</span>, <span style="font-family: Courier New,Courier,monospace;">user_init_plant_canopy</span>, <span style="font-family: Courier New,Courier,monospace;">user_parin</span>, <span style="font-family: Courier New,Courier,monospace;">user_read_restart_data</span>, <span style="font-family: Courier New,Courier,monospace;">user_spectra</span>)<br>
2547
2548      <br>
2549Output of NetCDF messages with aid of message handling routine. (<span style="font-family: Courier New,Courier,monospace;">check_open</span>, <span style="font-family: Courier New,Courier,monospace;">close_file</span>, <span style="font-family: Courier New,Courier,monospace;">data_output_2d</span>, <span style="font-family: Courier New,Courier,monospace;">data_output_3d</span>, <span style="font-family: Courier New,Courier,monospace;">data_output_profiles</span>, <span style="font-family: Courier New,Courier,monospace;">data_output_ptseries</span>, <span style="font-family: Courier New,Courier,monospace;">data_output_spectra</span>,&nbsp; <span style="font-family: Courier New,Courier,monospace;">data_output_tseries</span>, <span style="font-family: Courier New,Courier,monospace;">netcdf</span><span style="font-family: Courier New,Courier,monospace;"></span>)<br>
2550
2551      <br>
2552
2553__lcmuk changed to __lc to avoid problems with Intel compiler on sgi-ice. (<span style="font-family: Courier New,Courier,monospace;">poisfft</span>)<br>
2554      <br>
2555For extended NetCDF files, the updated title attribute includes an update of time_average_text where appropriate. (<span style="font-family: Courier New,Courier,monospace;">netcdf</span>)<br>
2556      <br>
2557In case of restart runs without extension, initial profiles are not
2558written to NetCDF-file anymore. So far, time axis always started at
2559t=0. (<span style="font-family: Courier New,Courier,monospace;">data_output_profiles</span>, <span style="font-family: Courier New,Courier,monospace;">modules</span>, <span style="font-family: Courier New,Courier,monospace;">read_var_list</span>, <span style="font-family: Courier New,Courier,monospace;">write_var_list</span>)<br>
2560      <br>
2561      <span style="font-family: Courier New,Courier,monospace;">initializing_actions</span>='<span style="font-style: italic;">read_data_for_recycling</span>' renamed to '<span style="font-style: italic;">cyclic_fill</span>'. A cyclic fill can now <br>
2562be used independent of <span style="font-family: Courier New,Courier,monospace;">turbulent_inflow</span>. (<span style="font-family: Courier New,Courier,monospace;">check_parameters</span>, <span style="font-family: Courier New,Courier,monospace;">header</span>, <span style="font-family: Courier New,Courier,monospace;">init_3d_model</span>)<br>
2563      <br>
25642 NetCDF error numbers changed. (<span style="font-family: Courier New,Courier,monospace;">data_output_3d</span>)<br>
2565      <br>
2566A link to the webspage appendix_a.html is printed for further
2567information about possible reasons of the error that appeared. (message)<br>
2568      <br>
2569Temperature gradient criterion for estimating the boundary layer height
2570replaced by the gradient criterion of Sullivan et al. (1998). (<span style="font-family: Courier New,Courier,monospace;">flow_statistics</span>)<br>
2571      <br>
2572NetCDF unit attribute in timeseries output in case of statistic regions added. (<span style="font-family: Courier New,Courier,monospace;">netcdf</span>)<br>
2573      <br>
2574Maximum number of tails is calculated from maximum number of particles and <span style="font-family: Courier New,Courier,monospace;">skip_particles_for_tail</span>. (<span style="font-family: Courier New,Courier,monospace;">init_particles</span>)<br>
2575      <br>
2576Value of <span style="font-family: Courier New,Courier,monospace;">vertical_particle_advection</span> is allowed to differ for each particle group. (<span style="font-family: Courier New,Courier,monospace;">advec_particles</span>, <span style="font-family: Courier New,Courier,monospace;">header</span>, <span style="font-family: Courier New,Courier,monospace;">modules</span>) <br>
2577      <br>
2578First constant in array <span style="font-family: Courier New,Courier,monospace;">den</span> also defined as type double. (<span style="font-family: Courier New,Courier,monospace;">eqn_state_seawater</span>)<br>
2579      <br>
2580Parameter <span style="font-family: Courier New,Courier,monospace;">dvrp_psize</span> moved from <span style="font-family: Courier New,Courier,monospace;">particles_par</span> to <span style="font-family: Courier New,Courier,monospace;">dvrp_graphics_par</span>. (<span style="font-family: Courier New,Courier,monospace;">package_parin</span>)<br>
2581      <br>
2582      <span style="font-family: Courier New,Courier,monospace;">topography_grid_convention</span> moved from <span style="font-family: Courier New,Courier,monospace;">userpar</span> to <span style="font-family: Courier New,Courier,monospace;">inipar</span> (<span style="font-family: Courier New,Courier,monospace;">check_parameters</span>, <span style="font-family: Courier New,Courier,monospace;">header</span>, <span style="font-family: Courier New,Courier,monospace;">parin</span>, <span style="font-family: Courier New,Courier,monospace;">read_var_list</span>, <span style="font-family: Courier New,Courier,monospace;">user_check_parameters</span>, <span style="font-family: Courier New,Courier,monospace;">user_header</span>, <span style="font-family: Courier New,Courier,monospace;">user_init_grid</span>, <span style="font-family: Courier New,Courier,monospace;">user_parin</span>, <span style="font-family: Courier New,Courier,monospace;">write_var_list</span>)<br>
2583      <br>
2584Default value of <span style="font-family: Courier New,Courier,monospace;">grid_matching</span> changed to '<span style="font-style: italic;">strict</span>'. (<span style="font-family: Courier New,Courier,monospace;">modules</span>)<br>
2585      <br>
2586Adjustments for runs on lcxt4 (necessary due to a software update on CRAY) and for coupled runs on ibmy. (<span style="font-family: Courier New,Courier,monospace;">mrun</span>, <span style="font-family: Courier New,Courier,monospace;">subjob</span>)<br>
2587      </td>
2588      <td style="vertical-align: top;">advec_particles, advec_s_bc,
2589buoyancy, calc_spectra, check_for_restart, check_open,
2590check_parameters, close_file, coriolis, cpu_log, data_output_2d,
2591data_output_3d, data_output_dvrp, data_output_profiles,
2592data_output_ptseries, data_output_spectra, data_output_tseries,
2593eqn_state_seawater, fft_xy, flow_statistics, header, init_1d_model,
2594init_3d_model, init_dvrp, init_grid, init_particles, init_pegrid,
2595message, mrun, netcdf, package_parin, parin, plant_canopy_model,
2596poisfft, poisfft_hybrid, poismg, read_3d_binary, read_var_list, subjob,
2597surface_coupler, temperton_fft, timestep, user_actions,user_check_parameters, user_data_output_dvrp, user_dvrp_coltab, user_header, user_init_grid, user_init_plant_canopy, user_parin, user_read_restart_data, user_spectra, write_var_list <br>
2598      </td>
2599    </tr>
2600    <tr>
2601      <td style="vertical-align: top;"><br>
2602      </td>
2603      <td style="vertical-align: top;"><br>
2604      </td>
2605      <td style="vertical-align: top;"><br>
2606      </td>
2607      <td style="vertical-align: top;">E<br>
2608      </td>
2609      <td style="vertical-align: top;">Bugfix: Initial hydrostatic pressure profile in case of ocean runs is now calculated in 5 iteration steps. (<span style="font-family: Courier New,Courier,monospace;">init_ocean</span>)<br>
2610      <br>
2611Bugfix: wrong sign in buoyancy production of ocean part in case of not using the reference density (only in 3D routine <span style="font-family: Courier New,Courier,monospace;">production_e</span>). (<span style="font-family: Courier New,Courier,monospace;">production_e</span>)<br>
2612      <br>
2613Bugfix: output of averaged 2d/3d quantities requires that an avaraging
2614interval has been set, respective error message is included. (<span style="font-family: Courier New,Courier,monospace;">check_parameters</span>)<br>
2615      <br>
2616Bugfix: Output on unit 14 only if requested by <span style="font-family: Courier New,Courier,monospace;">write_binary</span>. (<span style="font-family: Courier New,Courier,monospace;">user_last_actions</span>)<br>
2617      <br>
2618Bugfix to avoid zero division by <span style="font-family: Courier New,Courier,monospace;">km_neutral</span>. (<span style="font-family: Courier New,Courier,monospace;">production_e</span>)<br>
2619      <br>
2620Bugfix for extended NetCDF files: In order to avoid 'data mode' errors
2621if updated attributes are larger than their original size, <span style="font-family: Courier New,Courier,monospace;">NF90_PUT_ATT</span> is called in 'define mode' enclosed by <span style="font-family: Courier New,Courier,monospace;">NF90_REDEF</span> and <span style="font-family: Courier New,Courier,monospace;">NF90_ENDDEF</span>
2622calls. This implies a possible performance loss; an alternative
2623strategy would be to ensure equal attribute size in a job chain. (<span style="font-family: Courier New,Courier,monospace;">netcdf</span>)<br>
2624      <br>
2625Bugfix: correction of initial volume flow for non-flat topography. (<span style="font-family: Courier New,Courier,monospace;">init_3d_model</span>)<br>
2626      <br>
2627Bugfix: zero initialization of arrays within buildings for '<span style="font-style: italic;">cyclic_fill</span>'. (<span style="font-family: Courier New,Courier,monospace;">init_3d_model</span>)<br>
2628      <br>
2629Bugfix: <span style="font-family: Courier New,Courier,monospace;">to_be_resorted</span> =&gt; <span style="font-family: Courier New,Courier,monospace;">s_av</span> for time-averaged scalars. (<span style="font-family: Courier New,Courier,monospace;">data_output_2d</span>, <span style="font-family: Courier New,Courier,monospace;">data_output_3d</span>)<br>
2630      <br>
2631Bugfix: avoid that <span style="font-family: Courier New,Courier,monospace;">ngp_2dh_s_inner</span> becomes zero. (<span style="font-family: Courier New,Courier,monospace;">init_3_model</span>)<br>
2632      <br>
2633Typographical error: unit of wpt in dots_unit. (<span style="font-family: Courier New,Courier,monospace;">modules</span>)<br>
2634      <br>
2635Bugfix: error in check, if particles moved further than one subdomain
2636length. This check must not be applied for newly released particles. (<span style="font-family: Courier New,Courier,monospace;">advec_particles</span>)<br>
2637      <br>
2638Bugfix: several tail counters are initialized, <span style="font-family: Courier New,Courier,monospace;">particle_tail_coordinates</span>
2639is only written to file if its third index is &gt; 0, arrays for tails
2640are allocated with a minimum size of 10 tails if there is no tail
2641initially. (<span style="font-family: Courier New,Courier,monospace;">advec_particles</span>, <span style="font-family: Courier New,Courier,monospace;">init_particles</span><span style="font-family: Courier New,Courier,monospace;"></span>)<br>
2642      <br>
2643Bugfix: pressure included for profile output. (<span style="font-family: Courier New,Courier,monospace;">check_parameters</span>)<br>
2644      <br>
2645Bugfix: Type of <span style="font-family: Courier New,Courier,monospace;">count</span> and <span style="font-family: Courier New,Courier,monospace;">count_rate</span> changed to default <span style="font-family: Courier New,Courier,monospace;">INTEGER</span> on NEC machines. (<span style="font-family: Courier New,Courier,monospace;">cpu_log</span>)<br>
2646      <br>
2647Bugfix: output of particle time series only if particle advection is switched on. (<span style="font-family: Courier New,Courier,monospace;">time_integration</span>)<br>
2648      <br>
2649Bugfix: qsws was calculated in case of <span style="font-family: Courier New,Courier,monospace;">constant heatflux</span> = <span style="font-family: Courier New,Courier,monospace;">.FALSE.</span>. (<span style="font-family: Courier New,Courier,monospace;">prandtl_fluxes</span>)<br>
2650      <br>
2651Bugfix: averaging along z is not allowed for 2d quantities (e.g. u* and z0). (<span style="font-family: Courier New,Courier,monospace;">data_output_2d</span>)<br>
2652      <br>
2653Typographical errors. (<span style="font-family: Courier New,Courier,monospace;">netcdf</span>)<br>
2654      <br>
2655If the inversion height calculated by the prerun is zero, inflow_damping_height must be explicitly specified. (<span style="font-family: Courier New,Courier,monospace;">init_3d_model</span>)<br>
2656      <br>
2657Small bugfix concerning 3d 64bit netcdf output format. (<span style="font-family: Courier New,Courier,monospace;">header</span>)<br>
2658      <br>
2659Bugfix: <span style="font-family: Courier New,Courier,monospace;">dt_fixed</span>
2660removed from the restart file, because otherwise, no change from a
2661fixed to a variable timestep would be possible in restart runs. (<span style="font-family: Courier New,Courier,monospace;">read_var_list</span>, <span style="font-family: Courier New,Courier,monospace;">write_var_list</span>)<br>
2662      <br>
2663Bugfix: initial setting of <span style="font-family: Courier New,Courier,monospace;">time_coupling</span> in coupled restart runs. (<span style="font-family: Courier New,Courier,monospace;">time_integration</span>)<br>
2664      </td>
2665      <td style="vertical-align: top;">advec_particles,
2666check_parameters, cpu_log, data_output_2d, data_output_3d, header,
2667init_3d_model, init_particles, init_ocean, modules, netcdf,
2668prandtl_fluxes, production_e, read_var_list, time_integration,
2669user_last_actions, write_var_list<br>
2670      <br>
2671      </td>
2672    </tr>
2673
2674</tbody>
2675</table>&nbsp;<b><blink>Attention:</blink></b>
2676If<tt> make </tt>is not used
2677for
2678compiling,
2679<b>all routines</b> have to be re-compiled after every
2680change
2681to <b>modules.f90!</b>
2682<br>&nbsp;
2683<br>&nbsp;
2684<h2><a name="Kapitel2.0"></a>2.0&nbsp; How
2685to change the model source
2686code</h2>Currently
2687(Sep 23rd, 2009), only selected users are allowed to commit changes to
2688the repository. Some rules about how to check in modified code will be
2689added later.<br>
2690<h2>
2691<a name="Kapitel3.0"></a>3.0&nbsp; Description
2692of selected parts of the
2693model source code</h2>
2694<b></b>
2695<p>This section gives links to existing descriptions about special
2696parts of the PALM code, e.g. special numerical methods that are used
2697(including mathematical background). Documents are stored in single
2698files with different formats. Some are in German (sorry for the
2699inconvenience).
2700<br>&nbsp;
2701</p><ul> <li> <a name="UPS"></a>upstream-spline
2702advection scheme ( <a href="Upstream_Spline/ups.ps">.ps</a>
2703)</li> <li> <a name="Cloud_physics"></a>cloud
2704physics module ( <a href="Cloud_physics/wolken.pdf">.pdf</a>
2705)</li> <li> <a name="Bitkompression"></a>Datenkompression
2706mit dem Verfahren
2707der <a href="Bitkompression/kompression.html">Bitverschiebung</a></li>
2708<li> <a name="Runge-kutta"></a>Runge-Kutta
2709time integration scheme ( <a href="numerik.heiko/zeitschrittverfahren.pdf">.pdf</a>
2710)</li>
2711</ul><br>
2712&nbsp;
2713<br>&nbsp;
2714<br>&nbsp;
2715<br>&nbsp;
2716<br>&nbsp;
2717<br>&nbsp;
2718<br>&nbsp;
2719<br>&nbsp;
2720</body></html>
Note: See TracBrowser for help on using the repository browser.