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

Last change on this file since 405 was 392, checked in by raasch, 15 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
RevLine 
[5]1<!DOCTYPE html PUBLIC "-//w3c//dtd html 4.0 transitional//en">
2<html><head>
[392]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]5</font>a
6<b>pa</b>rallelized
7<b>L</b>ES <b>m</b>odel
[62]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
[392]14model version:</b></td> <td><span style="font-weight: bold;">3.7 (rev 392)</span></td> </tr>
[62]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%">
[5]19<p><font size="+2">Table of contents</font>
[62]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
[5]27of
28the model source code <br>
29&nbsp;</p>
[392]30</ul><b></b><br>
31
[62]32<h2><a name="Kapitel1.0"></a>1.0&nbsp;
33History of changes</h2>
[5]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.
[62]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>
[392]49<td>1.0</td> <td>C</td> <td nosave="">Änderung
[62]50von Default-Werten
[5]51(initializing_actions, end_time,
[392]52fcl_factor, use_prior_plot1d_parameters), zusätzliche
53Überprüfung
54von Parametern auf Zulässigkeit (prandtl_layer, psolver, nx,
[62]55ny,
[5]56nz,
[392]57fcl_factor), Höhe der Schnittebenen der Horizontalschnitte
[62]58wird
[5]59auf
[62]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
[5]64Programmteilen benutzt
65(USE). <b>Wichtig</b>: dieses Modul steht in der Datei <tt>module_test.f90.
[392]66D</tt>iese Datei muß in der mrun- und add_library -
[5]67Konfigurationsdatei
[62]68bei der Variablen <tt>module_files</tt>
[392]69aufgeführt werden.</td> <td nosave="">(fast)
[62]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,
[5]76init_pegrid,
77local_getenv, local_system, local_tremain, local_tremain_ini, poisfft</td>
[62]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
[5]81Vorgehensweise von
[62]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
[5]86ausserhalb der k-Schleife,
[62]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
[5]91(Piascek-Williams)
[392]92bei k=1. Terme werden nun überall gleich berechnet. Evtl.
[62]93leichte
[392]94Erhöhung der Varianzen in Oberflächennähe.</td>
[62]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
[5]99noch bei
[392]100k=1. Unrealistische sekundäre Maxima in den Km-Profilen
[62]101oberhalb
[5]102der
[392]103Prandtl-Schicht werden damit vermieden. Leichte Änderungen in
[62]104den
[392]105oberflächennahen Turbulenzgrößen sind die
[62]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
[392]108Berechnung der benötigten CPU-Zeit pro Sekunde
[5]109simulierter
[392]110Zeit bei Fortsetzungsläufen korrigiert.&nbsp; <p>Berechnung
[62]111von cross_uxmin(1) und cross_uxmax(1) aus den
[5]112Werten von
[392]113ug und vg entfernt. Lieferte falsche Wertebereiche für Plots
[62]114von
[5]115Vertikalprofilen,
116wenn im ersten Koordinatenkreuz nicht die Windgeschwindigkeiten
117gezeichnet
[62]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
[5]122der Initialparameter
123rif_max und rif_min einstellbar (Werte waren bisher fest auf -2.0, +1.0
[62]124eingestellt).</td> <td>check_parameters, header,
125init_1d_model, modules, parin,
[5]126prandtl_fluxes,
[62]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 =
[5]130"<i>set_constant_profiles</i>"
[62]131und "<i>set_1d-model_profiles</i>" korrigiert.&nbsp; <p>2D-Plotausgabe
132von u* und theta* korrigiert. Hier wurden
[5]133bisher falsche
[62]134Felder herausgeschrieben.&nbsp; </p> <p>Bei
135SOR-Aufrufen war bisher dp nicht initialisiert.
[392]136Entsprechend geändert.</p> </td> <td>init_3d_model,
[62]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
[392]139für Statistik-Ausgaben auf
[5]140Datei RUN_CONTROL
[62]141um einige Kommastellen erweitert.&nbsp; <p>Lieferung von
[392]142ausführlicheren Informationen bei
[5]143Programmabbruch
[62]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
[392]148Kaltluftabflüssen
[5]149sind erlaubt. Gestartet und gesteuert werden sie mit dem
150Intialisierungsparameter <tt>alpha_surface</tt>.
151Realisiert wird die geneigte Ebene durch entsprechende
[392]152Schrägstellung
153des Schwerkraftvektors. Dadurch erhält auch die u-Komponente
[62]154der
[5]155Windgeschwindigkeit
[62]156einen Anteil der Auftriebskraft.&nbsp; <p>Diese
157Implementierung ist noch nicht abgeschlossen. Die
[5]158Simulation von
[392]159Kaltluftabflüssen erfordert bisher noch Eingriffe "von Hand".</p>
[62]160</td> <td>buoyancy, check_parameters, header, leap_frog,
161modules,
[5]162parin, prandtl_fluxes,
[62]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
[392]165einer Cache-Layer zur schnelleren binären
[5]166I/O auf
[62]167T3E-Rechnern.&nbsp; <p>Ermittelung wahrer I/O-Zeiten
[392]168für binäre
[5]169Ein-/Ausgabe auf
[62]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
[392]175PE's.&nbsp; <p>Diese Programmänderung erfordert auf
[62]176T3E-Rechnern
[5]177zwingend den
178Einsatz der MPI-Version mpt.1.2.0.1. In dieser neuen Version tritt auch
[392]179der alte Fehler in MPI_ALLREDUCE nicht mehr auf, so daß ab
[62]180jetzt
[392]181mpt.1.1.0.1 nicht mehr verwendet werden muß.</p> </td>
[62]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
[5]185von Impuls
[392]186und skalaren Größen (neue UP's, s. rechts).
[62]187Berechnung von
[5]188Variablen
[392]189für spezielle Advektionsverfahren in eigenständiges
[62]190UP
[5]191ausgelagert
[62]192(<tt>init_advec</tt> + eigenes Modul <tt>advection</tt>).
193Reines
[5]194Euler-/Upstream-Verfahren
[392]195kann gerechnet werden.&nbsp; <p>Schnelle binäre I/O
[62]196(s. 15/12/98) wieder abgeschaltet, da
[5]197Dateien
[392]198nicht wieder einlesbar sind. Druckstörung (p) wird zu Beginn
[62]199auf 0
[5]200gesetzt, damit sie keine Tendenzen im ersten Zeitschritt hervorruft.</p>
[62]201</td> <td>advec_s_bc, check_open, check_parameters,
202flow_statistics,
[5]203header,
204init_3d_model, init_grid, leap_frog, modules, parin, plot_2d, plot_ts,
[62]205read_var_list, timestep, write_3d_binary, write_var_list&nbsp; <p><b>Neu:</b>
206<br>
[5]207advec_s_ups, advec_u_ups, advec_v_ups, advec_w_ups, init_advec,
208long_filter,
[62]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>
[392]211<td>Kleinere Ergänzungen / Änderungen
212für Upstream
[5]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
[392]220bei Spline - Berechnung zur Verhinderung von "Überschwingern"</td>
[62]221<td>check_parameters, diffusion_e, diffusion_pt, diffusivities,
[5]222header,
223init_advec, long_filter, modules, production_e, spline_x, spline_y,
[62]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
[5]228TKE,
229Korrektur der Dichteberechnung (war falsch bei Galilei-Transformation)</td>
[62]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>
[392]232<td>Kleinere Ergänzungen für Upstream -
[62]233Spline:&nbsp; <ul> <li>Gradientenkontrolle
[392]234für den nicht-parallelen Teil</li> <li>statistische
235Auswertung über den prozentualen Anteil
[5]236des
237Upstream-Verfahrens
[62]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>
[392]242<td>Datenkompression für 3D-Plotausgaben</td> <td nosave="">check_open, check_parameters, close_files, header,
[5]243modules,
[62]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>
[392]247<td>Schnelle binäre I/O auf T3E-Rechnern funktioniert
[62]248jetzt.
[5]249Beim
[392]250binären Einlesen dürfen Records nicht mit dem Trick "<tt>READ
251(..) idum</tt>" überlesen werden. Zeitmessungen auf T3E
[62]252erfolgen
[5]253jetzt
[392]254grundsätzlich mit <tt>TIMEF.</tt></td> <td>check_open,
[62]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>
[392]258<td>Einbau einer Rayleigh-Dämpfungsschicht sowie
[62]259flexiblere
[5]260Wahl der
[392]261numerischen Begrenzer für das Upstream - Spline - Verfahren.</td>
[62]262<td>check_parameters, header, init_3d_model, leap_frog, modules,
[5]263parin,
[62]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
[392]271möglich.
[5]272Ausgabe erfolgt im dvr-Format. Bisher noch nicht nutzbar, da noch
[392]273Einstellmöglichkeiten
274für die Partikelquelle(n) fehlen. <b>Wichtig:</b>
[62]275Die Benutzung
[5]276der
[392]277vtk-Software erfordert die zusätzliche mrun-Option <tt>-g</tt>.
[5]278Das
[62]279Hauptprogramm <tt>parles</tt> wird in diesem Fall zum
280Unterprogramm
[5]281und
[62]282von einem c++-Programm aus aufgerufen.</td> <td>header,
283init_3d_model, init_pegrid, leap_frog, modules,
[5]284parin, parles,
[62]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
[5]291umgestellt.
[62]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>
[392]295<td>N</td> <td>Plot von Isooberflächen mit
[62]296vtk-Graphiksoftware sind auf
[5]297t3eh
[392]298möglich. Ausgabe erfolgt im dvr-Format. Bisher noch nicht
[5]299allgemein
[392]300nutzbar, da noch diverse manuelle Eingriffe nötig sind.</td>
[62]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>
[392]306<td>Randbedingungen für w (=0) werden explizit gesetzt,
[62]307und
[5]308zwar nicht
[62]309nur bei&nbsp; <tt>k = nzb, nzt+1</tt> sondern auch
310bei&nbsp; <tt>k =
[5]311nzt</tt>,
[392]312wo bislang der vom vorigen Zeitschritt durch den Drucklöser
[5]313ermittelte
[392]314Wert stand. Auch jetzt wird der Wert bei k = nzt anschließend
[5]315durch
[392]316den Drucklöser modifiziert. Soweit bis jetzt abzusehen, hat
[62]317diese
[392]318Änderung nur minimale Auswirkungen auf den Prognoseverlauf.
[62]319Evtl.
[392]320gibt es stärkere Auswirkungen bei exzessivem Auftreten von
[5]321Schwerewellen
322am oberen Rand (die dort aber eigentlich sowieso nicht
[392]323hingehören).&nbsp; <br>
324Variablenübergabe an <tt>boundary_conds</tt>
[62]325erfolgt&nbsp; <br>
[392]326über Modul und nicht mehr per Parameterliste.&nbsp; <p>Bei
327Galilei-Transformation wird jetzt defaultmäßig
[5]328der geostrophische
329Wind als Translationsgeschwindigkeit verwendet (neuer
330Initialisierungsparameter <tt>use_ug_for_galilei_tr</tt>).
[392]331Dadurch wird das verstärkte Auftreten von Schwerewellen bei
332höheren
333geostrophischen Windgeschwindigkeiten unterdrückt.&nbsp; </p>
[62]334<p>3D-Feldvariablen (u, v, w, pt, e, km, kh) sowie einige
[5]3352D-Variablen
336(usws, vsws, rif, shf) sind nun als Pointer deklariert, denen nach
337jedem
[392]338Zeitschritt neue Targets zugeordnet werden (für die
339benötigten&nbsp;
[5]3403 Zeitebenen existieren die Targets ..._1 (z.B. u_1), ..._2, ..._3).
341Durch
[392]342die jeweilige Neuzuordnung der Targets entfällt das
[62]343Umspeichern
[5]344der
[62]345Zeitebenen komplett (Zeitersparung: ca. 5% der
346Gesamtrechenzeit).&nbsp; <br>
[5]347Die Umordnung der Zeitebenen wurde ins neue UP <tt>swap_timelevel</tt>
[62]348ausgelagert.&nbsp; <br> <b>Wichtig:</b> Die
[392]349Übersetzungszeiten haben durch die
350Einführung
[5]351der Pointer t.w. sehr deutlich zugenommen (<tt>leap_frog</tt>
[392]352benötigt
353jetzt z.B. ca. 60 Sekunden). Außerdem benötigt der
[62]354Compiler
[5]355jetzt wesentlich mehr Speicher. Der "memory"-Parameter in den
356Konfigurationsdateien
357(.mrun.config, .al.config) muss nun mindestens den Wert 60 (MB) (t3eh,
[62]358t3ej2) bzw. 45 (t3eb) und 96 (vpp) haben.&nbsp; <br> <b>Achtung:</b>
[392]359bislang wurde diese Änderung nur für
[5]360das
[62]361reine Leapfrog-Verfahren getestet!&nbsp; </p> <p>Neue
362Laderoption "<tt>-D preset=nan</tt>" empfohlen (s.
[5]363Beispiel-Konfigurationsdatei).
[392]364Ebenso empfehlenswert für Debug-Läufe: Compileroption
[62]365"<tt>-ei</tt>".
[5]366Diese bewirkt einen Programmabbruch, falls mit nicht initialisierten
367Variablen
[392]368gearbeitet wird (ist aber zeitaufwendig in der Ausführung!).</p>
[62]369</td> <td>boundary_conds, check_parameters, header,
370init_3d_model,
[5]371leap_frog,
[62]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
[5]377aufgerufen. Dies
[392]378geschah bisher fälschlicherweise erst danach, sodass der
[5]379Zeitfilter
[62]380asymmetrisch arbeitete.&nbsp; <br> <b>Achtung:</b>
[392]381diese Änderung hat Auswirkungen auf den
[5]382Prognoseverlauf.
[392]383Die Testergebnis-Datei wurde entsprechend geändert.</td>
[62]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>
[5]387Der Asselin-Filter im 1D-Modell wird nun auch vor der Umordnung der
[62]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
[392]393Divergenz der Impulsflüsse an der Prandtl - Schicht -
[5]394Obergrenze
[392]395wird nun über eine ganze Gitterweite gebildet. Die bisherige
[5]396Methode
397lieferte im Vergleich mit Ergebnissen anderer LES-Modelle&nbsp; zu
[392]398große
399Impulsflüsse.&nbsp; </p> <p>Bei der
[62]400Berechnung der Diffusion der Temperatur werden die
[5]401Diffusionskoeffizienten
[392]402nun wieder durch Mittelung für die entsprechenden&nbsp;
[5]403Gitterpunkte
404bereitgestllt. Das Maximumkriterium, das im Zuge der Implementierung
405des
406Upstream-Spline Advektionsverfahrens eingebaut wurde, bewirkte ein zu
407rasches
[62]408Anwachsen der Grenzschicht mit der Zeit.&nbsp; </p> <p><b>Achtung:</b>
[392]409diese Änderungen haben Auswirkungen auf
[5]410den Prognoseverlauf.
[392]411Die Testergebnis-Datei wurde entsprechend geändert.</p> </td>
[62]412<td nosave="" valign="top">init_1d_model,
413asselin_filter,
[5]414diffusion_u, diffusion_v,&nbsp; <br>
[62]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>
[392]417<td><b>Allgemeine Beschreibung der Änderungen:</b>
[62]418<br>
[392]419vollständige Implementierung des wolkenphysikalischen
[62]420Moduls&nbsp; <p>Zur Implementierung der Wolkenphysik waren
421umfangreiche
[392]422Änderungen
[5]423in zahlreichen Programmteilen notwendig (Beschreibung <a href="#Cloud_physics">siehe
424unten</a> ). Im einzelnen wurden folgende Unprogramme
[392]425geändert:&nbsp; <br> <b>modules</b>:&nbsp;
426<br>1) Bereitstellung neuer 3D-, 2D- und 1D-Felder für
[62]427die Prognose
[5]428des Gesamtwassergehaltes&nbsp; <br>
4292) "cloud_parameters" als neues Modul mit wolkenphysikalischen
[62]430Variablen&nbsp; <br> <b>parin: </b>Initialisierungsparameterliste
431wurde erweitert
432(s.u.)&nbsp; <br> <font color="#000000"><b>read_var_list,
433write_var_list,
[5]434write_3d_binary: </b>In/Output
[392]435der neuen Initialisierungsparamter und Felder für
436Fortsetzungsläufe&nbsp;</font> <br> <font color="#000000"><b>check_parameters:</b>
[62]437Initialisierung
[5]438des
[62]439Feuchteprofils und Ausgabe von neuen Vertikalprofilen:&nbsp;</font>
440<br> <font color="#ff0000">vpt</font><font color="#000000">: virtuelle
[5]441poteniellen
[62]442Temperatur,</font> <br> <font color="#ff0000">lpt</font><font color="#000000">:
[5]443potentielle
[392]444Flüssigwassertemperatur,</font> <br> <font color="#ff0000">q</font><font color="#000000">:
[62]445Gesamtwassergehalt,</font> <br> <font color="#ff0000">qv</font><font color="#000000">:
[5]446spezifische
[62]447Feuchte,</font> <br> <font color="#ff0000">ql</font><font color="#000000">:
[392]448Flüssigwassergehalt,</font> <br> <font color="#ff0000">w"vpt", w*vpt*, wvpt</font><font color="#000000">:
449Auftriebsfluss (subskalig, aufgelöst, gesamt),</font> <br>
[62]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>:
[392]456Headerausgaben für Feuchtebehandlung und
[5]457Wolkenphysik
[392]458eingefügt, außerdem Formatnummern erweitert um Platz
459für
[62]460weitere Ausgaben zu schaffen&nbsp; <br> <b>leap_frog:</b>
461<br>
[5]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>
[62]4663) veraenderter Aufruf von diffusivities&nbsp; <br> <b><tt>b</tt>oundary_conds,
467asselin_filter, swap_timelevel,
[5]468flow_statistics: </b>Anpassung
[62]469an Feuchtebehandlung&nbsp; <br> <b>plot2d, plot3d</b>:
[392]470Ausgabemöglichkeiten von q und ql <br> <b>buoyancy</b>:
[62]471Anpassung des Autriebstermes an
[5]472Feuchtebehandlung
[392]473durch neue Übergabeparameter: Temperatur + Nummer des
[5]474entsprechenden
[62]475mittleren Temperaturprofils&nbsp; <br> <b>diffusion_e</b>:
476Anpassung der Mischungswegberechnung an
[5]477Feuchtebehandlung
[392]478durch Variation der Übergabeparameter&nbsp; <br> <b>production_e</b>:
479TKE-Produktion durch Auftriebskräfte an
[5]480Feuchtebehandlung
[62]481angepasst&nbsp; <br> <b>diffusivities</b>:
482siehe diffusion_e&nbsp; <br> <b>prandtl-fluxes</b>:
483Prandtl-Schicht fuer den
[5]484Gesamtwassergehalt
[392]485eingefügt&nbsp; </p> <p>Zusätzlich
[62]486wurden folgende Unterprogramme NEU
[392]487eingeführt:&nbsp; <br> <b>inti_cloud_physics</b>:
[62]488Initialisierung wolkenphysikalischer
489Parameter&nbsp; <br> <b>prognostic_equations</b>:
490Auslagerung der prognostischen
[5]491Gleichungen
[392]492aus leap_frog, zusätzliche porgnostische Gleichung
493für den
[62]494Gesamtwassergehalt&nbsp; <br> <b>diffusion_s</b>:
495Berechnung der Diffusion skalarer
[392]496Größen
[5]497(Temperatur und Gesamtwassergehalt), ersetzt diffusion_pt&nbsp; <br>
[62]498<b>calc_liquid_water_content</b>: Berechnung des
[392]499Flüssigwassergehalts&nbsp; <br> <b>calc_radiation</b>:
[62]500Parametrisierung langwelliger
[5]501Strahlungsprozesse
[392]502über des Schema der effektiven Emissivität&nbsp; <br>
[62]503<b>calc_precipitation</b>:Parametrisierung von
[5]504Niederschlagsprozessen
[62]505mit Hilfe eines vereinfachten Kesslerschemas&nbsp; <br> <b>impact_of_latent_heat</b>:
[392]506Berücksichtigung der durch
[5]507Niederschlagsprozesse
[392]508zurückbleibenden latenten Waerme innerhalb eines
[62]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
[392]528Randbedingung für q (siehe auch bc_pt_b)</td> </tr>
[62]529<tr> <td><tt>bc_q_t</tt></td> <td>C</td>
[392]530<td>'neumann'</td> <td>obere RB für q
[62]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
[392]533an der Erdoberfläche</td> </tr> <tr> <td><tt>q_surface_initial_change</tt></td>
[62]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
[392]542an der Erdoberfläche</td> </tr> <tr> <td><tt>surface_waterflux</tt></td>
543<td>R</td> <td>0.0</td> <td>oberflächennaher
[62]544Wasser/Feuchtefluss</td> </tr> </tbody> </table>
[392]545Fortsetzungsläufe mit Daten, die mit Modellversionen kleiner
[62]5462.0
[5]547erzeugt
548wurden, sind aufgrund der erweiterten Initialisierungsparameterliste
549INKOMPATIBEL
550zu den Einleseroutinen der Version 2.0. Ein Update auf Version 2.0
551sollte
[62]552deshalb nach Abschluss eines kompletten Modelllaufs erfolgen.&nbsp;
553</p> <p><b>Achtung:</b> diese
[392]554Änderungen haben Auswirkungen auf
[5]555den Prognoseverlauf.
[392]556Die Testergebnis-Datei wurde entsprechend geändert.</p> </td>
[62]557<td nosave="" valign="top">modules, parin,
558read_var_list,
[5]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,
[62]564write_3d_binary&nbsp; <p><b>Neu:</b> <br>
[5]565init_cloud_physics, prognostic_equations, diffusion_s,
566calc_liquid_water_content,
567calc_radiation, calc_precipitation, impact_of_latent_heat, comute_vpt</p>
[62]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
[5]570noch kleine
[392]571Änderungen an den Unterprogrammen diffusion_e, production_e
[62]572und
[5]573diffusivities
574vorgenommen. In allen genannten&nbsp; <br>
575Unterprogrammen wurde bisher ein strengeres Kriterium zur Bestimmung
[392]576der Schichtungsverhältnisse verwendet. Ein Modellvergleich
[62]577zeigte
[5]578jedoch, dass dadurch die Diffusion im Bereich der Inversion zu gross
[392]579wird.&nbsp; <p>Eine weitere Ergänzung betrifft die
[5]580Advektionsverfahren:&nbsp; <br>
[392]581Das Bott-Chlond Advektionsverfahren ist nun auch für
[62]582Rechnungen
[392]583mit Feuchte/Wolkenphysik verfügbar.&nbsp; </p> <p><b>Achtung:</b>
584diese Änderungen haben Auswirkungen auf
[5]585den Prognoseverlauf.
[392]586Die Testergebnis-Datei wurde entsprechend geändert.</p> </td>
[62]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>
[392]591<td>Vollständige Umstellung von vtk-Grafik-Software auf
[5]592dvrp-Software.
593Grafik-Ausgaben im dvr-Format sind mittlerweile begrenzt nutzbar
[392]594(Isooberflächen
[62]595sind darstellbar, siehe neue Laufparameter&nbsp; <tt>dt_dvrp,
596threshold</tt>),
[5]597es wird aber in der Anwendung in naher Zukunft noch diverse
[392]598Änderungen
599geben. Partikelausgabe vorerst nicht mehr möglich (Verlagerung
[62]600schon).</td> <td>header, init_particles, init_3d_model,
601leap_frog, modules,
[5]602parin, parles,
[62]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>
[392]609<td>Durch zusätzlichen zyklischen Rand im
[62]610Bott-Chlond-Schema
[5]611sehr
612viele SENDRECV-Aufrufe eingespart.&nbsp; <br>
[392]613Änderung des Namens einer eingelesenen Environment-Variablen
[62]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
[392]620Änderungen
621am Header-Format wurde Testergebnis-Datei geändert.</td>
[62]622<td>advec_s_bc, check_open, header, init_pegrid, modules, parin,
[5]623read_var_list,
[62]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>
[392]626<td>Rechnungen mit geneigter Oberfläche erlauben jetzt
[62]627die
[5]628Vorgabe
629eines stabil geschichteten Temperaturprofils mit konstantem Gradienten.
[392]630Hinzuschalten von Feuchte funktioniert für Hangrechnungen noch
[62]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
[392]636werden nun auch die seitlichen Ränder für ql
[5]637gesetzt.
[392]638Ein Nichtsetzen der Randbedingungen führte zu Fehlern bei der
[5]639Ausgabe
[62]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>
[392]642<td>C</td> <td>Für eine Reihe von&nbsp;
[62]643Unterprogrammen, die innerhalb
[5]644von <tt>prognostic_equation</tt>
[392]645aufgerufen werden und an die Pointer-Variablen übergeben
[62]646werden,
[5]647sind
648jetzt explizite Interfaces vereinbart (neues Modul <tt>pointer_interfaces</tt>).
649Auch im Vereinbarungsteil der entsprechenden Unterprogramme sind diese
[392]650Übergabeparameter jetzt aus Konsistenzgründen (und
[62]651weil es
[5]652sonst
653Laufzeitfehler gibt) als Pointer-Variablen deklariert. Mit dieser
[392]654Änderung
655ist der große Speicher- und CPU-Zeit-Bedarf beim
656Übersetzen
657von prognostic_equations wieder auf ein erträgliches
658Maß
[5]659reduziert.&nbsp; <br>
[392]660Im Rahmen dieser Änderungen wurde auch an diffusion_e ein
[5]661Hilfsfeld
[392]662weniger übergeben.&nbsp; <br>
663Aus nicht vollständig gekärten Gründen haben
[62]664sich die
[392]665Zahlen in der Testergebnis-Datei minimal geändert (und zwar
[62]666die
[5]667Spalte
[392]668mit der Gesamtdivergenz nach Aufruf des Drucklösers).</td>
[62]669<td>advec_s_bc, buoyancy, diffusion_e, diffusion_s, diffusion_u,
[5]670diffusion_v,
671diffusion_w, disturb_field, modules, production_e, prognostic_equations</td>
[62]672</tr> <tr nosave="" valign="top"> <td nosave="">04/07/00</td> <td>SR</td> <td>2.0b</td>
[392]673<td>B</td> <td>Diriclet-Randbedingungen für
[62]674Temperatur und
[392]675Flüssigwassergehalt
676werden gesetzt. Dies wäre bereits nach Einführung der
[62]677Pointer
[5]678zwingend notwendig gewesen. Rechnungen mit vorgegebener
[392]679Oberflächentemperatur
[62]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
[392]683wird nun auch für
[5]684k=nzb und
[392]685k=nzt+1 berechnet, um die Randwerte auch für Ausgabezwecke
[62]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,
[5]690die zwar
[392]691zum Modell gehören, standardmäßig aber
[62]692nicht mit
[392]693übersetzt
[5]694werden, um so unter anderem Kompilationszeit einzusparen. Siehe neues
695Kapitel
[62]6963.7 in der Modelldokumentation.&nbsp; <p>Einsatz der
[392]697dvrp-Software wurde vollständig
698überarbeitet.
[5]699Sie ist nun als Software-Paket optional im Modell einsetzbar. Siehe
[392]700überarbeitetes
[62]701Kapitel 4.5.6 in der Modelldokumentation.&nbsp; </p> <p>Die
702Prognose der Partikelverlagerung ist ebenfalls in ein
[5]703optionales
[62]704Software-Paket ausgelagert.</p> </td> <td>advec_particles,
705header, init_3d_model, init_dvrp,
[5]706init_particles,
707init_pegrid, modules, parin, parles, plot_dvrp, prognostic_equations,
708read_var_list,
[62]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
[5]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>
[62]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>
[392]718<td>Offene Dateien werden sobald möglich geschlossen.
719Wiedereröffnung
720bestimmter Dateien mit POSITION='APPEND' möglich. In diesem
[5]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>
[62]725<td>advec_particles, check_cpu_time, check_open, cpu_auswertung,
[5]726init_1d_model,
727init_3d_model, init_particles, modules.f90, parin, parles, plot_2d,
[62]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,
[5]740package_parin,
[62]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>
[392]744<td>2.1c</td> <td>C/N</td> <td>Drucklöser
[62]745kann jetzt die Singleton-FFT benutzen. Modul <tt>singleton</tt>
[5]746wurde deshalb von <tt>calc_spectra.f90</tt> nach <tt>modules.f90</tt>
747geschoben
[62]748(neuer Initialisierungsparameter <tt>fft_method</tt>).&nbsp;
[392]749<br>Flüsse können jetzt bei k=1
750unabhängig von der
[5]751Verwendung
752einer Prandtl-Schicht vorgegeben werden (neuer
[62]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>
[5]758Modell kann auf DEC-Workstations eingesetzt werden (-D <tt>dec</tt>).&nbsp;
[392]759<br>Zusätzliche Zeitmessungen mit dvrp-Software.
[62]760Schreiben von
[5]761Partikel-Informationen
762ist optional (neuer Parameter <tt>write_particle_informations</tt>).</td>
[62]763<td>advec_particles, calc_spectra, check_parameters,
[5]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;
[62]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
[392]772beim öffnen von Unit 23 beseitigt. Modul <tt>interface</tt>
[5]773fehlte in disturb_field.&nbsp; <br>
[392]774Wertebereich von theta* in Prandtl-Fluxes eingeschränkt, weil
[62]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
[392]778eines passiven Skalars ist möglich (anstatt
[5]779Feuchte),
780dazu neuer Initialisierungsparameter <tt>passive_scalar</tt>.&nbsp;
[392]781<p>Falls kein Pfad für ftpcopy existiert, werden in <tt>check_open</tt>
782die Dateinamen für AVS-Koordinaten- und Datendatei auf
[62]783"unknown"
784gesetzt.</p> </td> <td>asselin_filter,
785boundary_conds, check_open, check_parameters,
[5]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,
[62]791write_var_list</td> </tr> <tr valign="top"> <td>30/01/01</td>
792<td>SR</td> <td>2.1d</td> <td>B</td>
[392]793<td>String-Ausgabe für use_surface_fluxes korrigiert.
[5]794Version vom
[392]79525/01/01 brach deswegen bei Fortsetzungsläufen ab.&nbsp; <br>
[62]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>
[392]799<td>Sämtliche 3D-Felder der Zeitebene t+dt wurden
[62]800entfernt.
[5]801Ebenso
802die Arbeitsfelder work und work1. Hilfsfelder wurden soweit
[392]803möglich
804eingespart und werden grundsätzlich lokal allokiert. Dadurch
[5]805konnten
[392]806eine Reihe von Übergabeparametern gestrichen werden (z.B. beim
[5]807Aufruf
[62]808von <tt>pres, advec_s_bc, poisfft, production_e, sor </tt>sowie
809den
[5]810Spline-Unterprogrammen).
811Der Long-Filter wurde in das Upstream-Spline-Verfahren integriert. Da
812der
813Zeitfilter jetzt direkt in der prognostischen Gleichung angewendet wird
[392]814(bisher geschah dies erst nach Aufruf des Drucklösers), haben
[62]815sich
[392]816die Zahlen in der Testergebnis-Datei geändert. Die mittleren
[5]817Profile
[62]818sind aber unbeeinflusst.&nbsp; <p>Eine weitere kleinere
[392]819Änderung der Testergebnis-Daten
[5]820wird dadurch
821verursacht, dass jetzt der Parameter <tt>adjust_mixing_length</tt>
[392]822defaultmäßig <tt>.FALSE.</tt>
823ist und der Mischungsweg grundsätzlich zusätzlich
[62]824auf&nbsp; <tt>0.7
[5]825* zu</tt>&nbsp;&nbsp; begrenzt wird. Falls <tt>adjust_mixing_length=T</tt>,
[62]826wird jetzt der Mischungsweg in <tt>diffusivities</tt>
827analog zu <tt>diffusion_e</tt>
[5]828an allen Gitterpunkten modifiziert. <b>Achtung: </b>Diese
[392]829Änderungen
830können bei anderen Simulationen t.w. erhebliche Auswirkungen
[62]831auf
[5]832die
[392]833oberflächennahen Ergebnisse haben.&nbsp; </p> <p><b>Kleinere
834Änderungen:</b> In <tt>init_cloud_physics</tt>
[5]835wird
[62]836der Wert der Variablen <tt>surface_pressure</tt> in hPa
837belassen
[5]838(bisher
839Umwandlung in Pa).&nbsp; <br>
840Die Namelist-Namen der Software-Pakete sind&nbsp; t.w.
[392]841geändert.&nbsp; <br>
842Unit 14 (binäre Ausgabe für
843Fortsetzungsläufe) wird
[5]844jetzt im Hauptprogramm geschlossen, damit auf diese Datei noch
845benutzergesteuerte
[392]846Ausgaben erfolgen können.&nbsp; <br>
[5]847Laufparameter werden in keinem Fall mehr auf Unit 14 ausgegeben bzw.
[392]848von Unit 13 gelesen, d.h. sie gelten jetzt tatsächlich nur
849für
[5]850den jeweils aktuellen Lauf.&nbsp; <br>
851Partikeladvektion funktioniert jetzt auch zusammen mit der
[62]852Galilei-Transformation.&nbsp; </p> <p>Restliche
853deutsche Variablen-, Unterprogramm- und Modulnamen
[5]854wurden
[392]855ins Englische übersetzt. Davon sind fast alle Programmteile
[5]856betroffen
[392]857(nicht in rechter Spalte aufgeführt).</p> </td> <td>advec_particles,
[62]858advec_s_bc, advec_s_ups, advec_u_ups,
[5]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,
[62]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
[392]873Randbedingung für die TKE ist ab
[5]874sofort <tt>bc_e_b
875= 'neumann'</tt>.&nbsp; <br>
[392]876Partikelquelle ist über Paketparameter steuerbar.
[5]877Partikeleigenschaften
878sind mittels benutzereigener Software steuerbar. Der dvrp-Ausgabeweg
879ist
[392]880jetzt ebenfalls über Paketparameter steuerbar.&nbsp; <br>
[5]881Allen Modulen (bis auf singleton) wurde eine SAVE-Anweisung
[392]882hinzugefügt,
883damit die durch sie vereinbarten Variablen während der
[62]884Rechnung in
[392]885keinem Fall undefiniert werden können (diese Gefahr besteht
[62]886z.B.
[5]887auf
[62]888SGI-Origin-Maschinen).</td> <td>advec_particles, header,
889init_dvrp, init_particles,
[5]890modules.f90, package_parin,
[62]891plot_dvrp, user_interface</td> </tr> <tr> <td>12/07/01</td>
892<td>SR</td> <td>2.2a</td> <td>B</td>
[392]893<td>Verschiebung der OPEN-Anweisung für Unit 33
[62]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>
[392]897<td>Einbau des Mehrgitterverfahrens zur Lösung der
[62]898Poisson-Gleichung.</td> <td>check_parameters,
899exchange_horiz, header, init_grid,
[5]900init_pegrid, modules,
[62]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>
[392]904<td>Ergänzung der dvrp-Software: Partikel
905können mit
906Schwänzen
[5]907versehen werden. Die Ausgabe der dvrp-Plotdaten durch einen separaten
908PE
[392]909ist möglich (mrun-Option "<tt>-p dvrp_graphics+1PE</tt>").
[62]910Der
[5]911Kommunikator <tt>MPI_COMM_WORLD</tt>&nbsp;
[62]912wurde deshalb durch&nbsp; <tt>comm_palm</tt>&nbsp;
913ersetzt.&nbsp; <p>Reduzierung des Mischungsweges im
914Wandbereich kann wahlweise
[5]915abgeschaltet
[392]916werden. Für km und kh wird jetzt eine Neumann-Randbedingung am
[5]917unteren
918Rand verwendet. Die TKE-Energieproduktionsberechnung durch Scherung des
[62]919Grundstroms am unteren Rand wurde verbessert.&nbsp; </p> <p>Generelle
920Verwendung der bodennahen vertikalen
[392]921Impulsflüsse in
[5]922den Diffusionstermen von u und v, immer wenn diese als Randbedingung
923vorgegeben
[392]924sind (gemäß <tt>use_surface_fluxes</tt>,
[62]925- bisher wurde
[5]926dies
927nur bei eingeschalteter Prandtl-Schicht gemacht). Schubspannungen
[392]928können
[5]929jetzt als Randbedingungen vorgegeben werden (allerdings unter
930zuhilfenahme
[392]931benutzereigener Software).&nbsp; </p> <p>Zusätzliche
932Schnittstellen für benutzereigene
[5]933Software in
[62]934allen Tendenztermen, in <tt>flow_statistics,</tt> und
[392]935für
[5]936Partikel-
937bzw. dvrp-Programmteile (Bestimmung von Partikeleigenschaften,
938Festlegung
[62]939von Farbtabellen).&nbsp; </p> <p><b>Achtung: </b>Diese
[392]940Änderungen können bei
[5]941Simulationen mit
[392]942mittlerem Wind durch die Änderungen im bereich des unteren
[62]943Randes
[392]944t.w. erhebliche Auswirkungen auf die oberflächennahen
[62]945Ergebnisse
946haben.</p> </td> <td>advec_particles, diffusion_e,
947diffusion_u, diffusion_v,
[5]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>
[62]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>
[392]960<td>Zusätzliche Profilausgaben für
961Energieproduktionsterme möglich.
962Stördruck wird bei der FFT-Methode nicht mehr durch
[62]963Aufsummieren
[5]964der
[62]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>
[392]968<td>Austausch der Geisterränder für die
[62]969zeitgefilterten
[5]970Felder
[392]971direkt nach Durchführung der Filterung (war fehlerhaft seit
[5]972Entfernen
[392]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
[5]977sich durch
[62]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
[392]981Partikelschwänze kann sich
982ändern. Einschalten
983der Partikeladvektion bei Fortsetzungsläufen möglich.</td>
[62]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
[392]988von Randbedingungen für Partikeladvektion
989möglich.
990Partikeldaten können für spätere Analysen
[62]991auf Datei
[5]992geschrieben
[62]993werden (Unit 85). <tt>PARTICLE</tt>-Datentyp
[392]994enthält
[5]995Informationen
[392]996über Partikelgeschwindigkeitskomponenten und
[62]997Startposition.&nbsp; <p>Skalartransport sowie entsprechende
[392]998Datenausgaben können
[5]999durch
[392]1000eigene Parameter gesteuert werden (nicht mehr über die
[62]1001Feuchteparameter).&nbsp; </p> <p>Im Fall von
1002pdims(1)=1 (eindimensionales virtuelles
[5]1003Prozessornetz in
1004y-Richtung) werden die zyklischen Randbedingungen in x-Richtung durch
1005direktes
[62]1006Umspeichern anstatt durch&nbsp; <tt>sendrecv </tt>realisiert.
1007Ebenso
[5]1008werden
[62]1009die Transponierungen xz, yz, zx&nbsp; und zy eingespart (es wird
1010aber
[5]1011weiter
[62]1012umsortiert).&nbsp; </p> <p>Im Fall von
10133D-Plotausgaben Aufruf von ftpcopy-Script durch
[5]1014batch_scp-Script
1015ersetzt (dient der Ermittelung von Dateizyklusnummern als Information
[392]1016für
[62]1017die AVS-fld-Datei).&nbsp; </p> <p>Bei fehlerhafter
[392]1018Eröffnung einer CPU_MEASURES-Datei
[5]1019werden erneute
[392]1020Eröffnungsversuche durchgeführt.</p> </td>
[62]1021<td>advec_particles, check_open, check_parameters,
[5]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,
[62]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>
[392]1029<td>Wiedereinführung der 3D-Felder für die
[62]1030Zeitebene
[5]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
[392]1035fälschlicherweise die Zeitebene t+dt verwendet. Asselin-Filter
[62]1036ist
[392]1037jetzt wieder eigenständiges Unterprogramm. <br>
1038Die Wiedereinführung dieser dritten Zeitebene ist auch
[5]1039Voraussetzung
[392]1040für die in der nächsten Version geplante skalare
[62]1041Optimierung.&nbsp; <p>Fehler bei Berechnung von
1042Ausgabezeitpunkten eliminiert (trat
[5]1043auf, wenn
[392]1044bei Fortsetzungsläufen von Ausgabeabständen 0.0 auf
[62]1045von Null
1046verschiedene Werte gewechselt werden sollte).&nbsp; </p> <p><b>Achtung:</b>
[392]1047Der Inhalt der Testergebnis-Datei ändert
[5]1048sich durch
[62]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
[392]1056eigenständige Datei
1057überführt.&nbsp; </p> <p>Global_min_max
[62]1058arbeitet mit REAL*4, um Komplikationen auf
[5]105932-bit-Rechnern
[392]1060zu vermeiden (Datentyp MPI_2REAL müsste dort sonst auf
[5]1061MPI_2DOUBLE_PRECISION
[392]1062geändert werden). <br>
1063Horizontale Geschwindigkeitskomponenten für Partikeladvektion
[5]1064werden exakt zwischen den jeweils benachbarten horizontalen
[392]1065Gitterflächen
[62]1066interpoliert.</p> </td> <td nosave="">advec_particles,
1067check_parameters, cpu_log,
[5]1068global_min_max,
[62]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>
[392]1072<td>Optimierung und Anpassungen für einzelne Knoten der
[62]1073IBM-Regatta-Systeme. <p><b>Skalare (Cache) Optimierung:</b>
1074Tendenzterme werden
[5]1075innerhalb einer
[392]1076großen (i,j)-Schleife berechnet, die nun jeweils die gesamte
[5]1077prognostische
1078Gleichung umfasst. Schleifenindices i und j werden an die
1079Tendenzunterprogramme
[392]1080als Argumente übergeben. Die Tendenzunterprogramme sind als
[62]1081Module
[392]1082geschrieben, die mittels Technik der überladenen Funktionen
[62]1083auch
[5]1084ohne
[392]1085diese Indices i und j aufgerufen werden können, und dann wie
[62]1086in
[392]1087früheren
[62]1088Versionen funktionieren (d.h. in ihnen laufen die Schleifen
[392]1089über
[5]1090alle
10913 Dimensionen). Solche Teile der prognostischen Gleichungen, die
1092globale
1093Kommunikation beinhalten, sind vor die (i,j)-Schleife gezogen. Falls
[392]1094ausschließlich
[5]1095mit Piascek-Williams-Advektion gearbeitet wird, werden alle
1096prognostischen
[62]1097Gleichungen in einer einzigen (i,j)-Schleife gerechnet. </p> <p><b>Kommunikationsoptimierung:</b>
[392]1098Zusätzliche
[5]1099Implementierung einer
11001D-Gebietszerlegung in x-Richtung. Mit dem neuen direkten
[392]1101Drucklöser
[5]1102(poisfft_hybrid) werden dadurch 4 von 6 notwendigen Transpositionen
1103eingespart.
1104Die 1D-Zerlegung wird automatisch bei Verwendung dieses neuen
[392]1105Lösers
1106aktiviert. Austausch von Geisterrändern in y-Richtung wird bei
[5]1107dieser
11081D-Zerlegung durch einfache zyklische Randbedingungen ersetzt. </p>
[62]1109<p><b>Kleinere Anpassungen:</b> String-Vergleiche
1110erfordern beim
[5]1111IBM-Compiler
[62]1112in der Regel den Einsatz der TRIM-Funktion, um
[392]1113überschüssige
[5]1114Blanks am Ende des Strings abzuschneiden (sonst liefert der Vergleich
1115.F.). <br>
1116Lokal allokierte Felder t.w. in sogenannte automatische Felder
1117umgewandelt
[392]1118(günstiger, um Gefahr von eventuellen Speicherlecks zu
[62]1119vermeiden).
[5]1120Einige Feldoperationen wurden wegen schlechter Performance auf der IBM
[62]1121entfernt (s. pres). </p> <p><b>Achtung: </b>Die
[392]1122Übersetzung des Modells erfordert
[5]1123aufgrund
1124der Vielzahl nunmehr eingesetzter Module die Verwendung des
1125make-Mechanismus,
[392]1126um die korrekte Reihenfolge bei der Übersetzung der
[62]1127Programmteile
[392]1128zu gewährleisten. Die Beschreibung dieser
1129Abhängigkeiten
[5]1130erfolgt
[62]1131in der Datei<tt> Makefile</tt>, die zusammen mit den
1132Programmdateien
[5]1133abgelegt
[62]1134ist und ebenfalls unter RCS-Verwaltung steht. </p> <p>Im
1135User-Interface ist das Unterprogramm<tt> user_actions </tt>nun
[5]1136ebenfalls
[62]1137als Modul geschrieben und bedient sich der Methode der
[392]1138überladenen
[5]1139Funktionen. Existierende benutzereigene Software muss entsprechend
1140angepasst
[62]1141werden.</p> </td> <td>advec_s_pw, advec_s_up,
1142advec_u_pw, advec_u_up, advec_v_pw,
[5]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,
[62]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>
[392]1158ergänzt.</td> <td>advec_particles</td> </tr>
[62]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
[392]1161können mit Trägheit versehen
[5]1162werden und
1163einen Dichteunterschied zum umgebenden Fluid haben. Zur Steuerung dient
1164der neue Paketparameter <tt>density_ratio</tt>.</td>
[62]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
[5]1170und q entfernt
1171(obere Feldgrenze von 10 konnte in <tt>pt_vertical_gradient_level_ind</tt>
[392]1172überschritten werden). Fehler führte unter
1173Umständen zu
1174"segmentation fault" bei Verwendung sehr großer
[62]1175Gitterpunktzahlen
1176in z-Richtung. <p>Fehler in Berechnung der v-Komponente am
1177unteren Rand
[5]1178entfernt, die
[392]1179für den Scherungsproduktionsterm der TKE verwendet wird
[62]1180(Variable
[392]1181v_0). Fälschlicherweise wurde zur Berechnung u(k=1) statt
[62]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
[5]1187runtime (d3par)
[62]1188parameters <tt>restart_time</tt> and <tt>dt_restart</tt>.
1189Run
[5]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.
[62]1197Remaining cpu-time is also evaluated on IBM-Regatta.</td> <td valign="top">cpu_log, cpu_statistics,
[5]1198check_parameters,header, leap_frog,
[62]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
[5]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.
[62]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>
[5]1215Additional optimization of the hybrid-solver for multinode usage
1216(overlapping
[62]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
[5]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
[62]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
[5]1234sendrecv
[62]1235in case of a 1d-decomposition along <tt>x</tt>. SENDRECV
1236replaced by
[5]1237nonblocking
1238routines ISEND and IRECV in <tt>exchange_horiz.f90</tt>. </p>
[62]1239<p>Speed optimization by removing MINVAL/MAXVAL calls and by
[5]1240handling <br>
1241the "abs" case in a different way than the min/max cases (routine <tt>global_min_max</tt>).</p>
[62]1242</td> <td valign="top">asselin_filter, check_open,
1243exchange_horiz,
[5]1244global_min_max,
1245init_3d_model, init_pegrid, parin, poisfft_hybrid, read_var_list,
1246timestep,
[62]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)).
[5]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>,
[62]1254which is set to 1.8 in <tt>modules.f90</tt>. The factor
12550.7 was the
[5]1256possible
[62]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
[5]1261MPI_FINALIZE is called before STOP in case of a parallel environment. </p>
[62]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,
[5]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,
[62]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
[5]1278particles in
1279case of zero density ratio. Steering of variables by dvrp browser
[62]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
[5]1284(needed
1285on linux machines <br>
1286due to the little/big endian problem). Updates for new version of dvrp
[62]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
[5]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
[62]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>
[5]1304is added, where cache optimizations are undone. The tendency
1305subroutines
[62]1306called by <tt>prognostic_equations_vec</tt> contain the
1307full 3d-loops
[5]1308(compared
1309with the cache-optimized versions where only loops over k are carried
1310out).
[62]1311Additionally, a new pressure solver <tt>poisfft_hybrid_vec</tt>
1312is
[5]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;
[62]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>
[5]1322which
1323caused run time errors on IBM and NEC due to compiler problems. </p>
[62]1324<p>Reading of environment variable <tt>tasks_per_node</tt>
1325moved
[5]1326from routine <tt>poisfft_hybrid</tt>
[62]1327to routine <tt>parin</tt>. </p> <p><b>Changes
1328in makefile:</b> modules and user_interface now
[5]1329depend on
1330the f90 files, dependency of singleton added, LDFLAGS moved to the end
[62]1331of PROG rule, temperton_fft added.</p> </td> <td valign="top">advec_s_pw, advec_s_up, advec_u_pw, advec_u_up,
[5]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,
[62]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
[5]1346calling sor
[62]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
[5]1352(for equal
[62]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
[5]1359the right
[62]1360column!</p> </td> <td valign="top">asselin_filter,
1361check_parameters, diffusion_e,
[5]1362diffusivities,
1363disturb_field, global_min_max, header, local_tremain, modules, parin,
1364poisfft_hybrid,
[62]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
[5]1368(velocity must
[62]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
[5]1375decomposition.
1376Abort in case of Temperton fft, if number of gridpoints along x and/or
[62]1377y contain illegal factors.&nbsp; </p> <p>Index values
1378for the extrema found in global_min_max are
[5]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>
[62]1382<p>Output format of iteration count in routine run_control
1383enlarged.</p> </td> <td valign="top">check_parameters,
1384fft_for_1d_decomp,
[5]1385global_min_max, init_pegrid,
[62]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>
[5]1389and <tt>host</tt>
[62]1390(<tt>hybrid_solver</tt> must not be used for a
13912d-domain-decomposition, <tt>host</tt>
[5]1392should be set by setting environment variable <tt>localhost</tt>).
[62]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
[5]1399and Intel
[62]1400FORTRAN compiler (ifc)</b> <p>So far, only absolutely
1401neccessary changes have been done
[5]1402(possible
[62]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
[5]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
[62]1411module (named <tt>mpi</tt>).&nbsp; I did not find out
1412how character
[5]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
[62]1418PE. </p> <p>On the MUK-cluster, only PE0 is able to read
1419the values of
[5]1420environment
1421variables. Therefore, these values are communicated via broadcast to
1422the
[62]1423other PEs. </p> <p>1d-decomposition is set as the default
1424on Linux Clusters.
[5]1425Character
[62]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,
[5]1430init_pegrid, local_getenv,
[62]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>,
[5]1434which allows correct measurements for jobs running over the 24:00
[62]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
[5]1440integral divisor
[62]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
[5]1445removed. It
1446was caused by the Linux changes of version 2.7 and led to program abort
[62]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
[5]1457dvrp-browser
1458plugin extended (position of slicers, threshold values of isosurfaces)
1459. New dvrp_graphics package parameter<tt> slicer_range_limits_dvrp</tt>.</td>
[62]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,
[5]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>.
[62]1468<p>Particle groups implemented. New data type<tt>
[5]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>
[62]1473diameter</tt>. Parameter name<tt> uniform_psize</tt>
1474changed to<tt>
[5]1475dvrp_psize</tt>.
1476Parameters<tt> density_ratio </tt>is now an array.</p>
[62]1477</td> <td valign="top">advec_particles, check_open,
1478exchange_horiz,
[5]1479header, init_particles,
[62]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
[5]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
[62]1487numbers. New binary version 2.2. <p>Buffer is flushed for file
1488RUN_CONTROL immediately after every
[5]1489output
[62]1490on IBM and Linux cluster.</p> </td> <td valign="top">advec_particles,
1491disturb_field, init_3d_model,
[5]1492init_particles,
[62]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
[5]1497is now
1498taken from array hom instead of array sums (otherwise inconsistence in
[62]1499case of using more than one statistical region). <p>Information
1500about the time of the last timestep change added
[5]1501to the
[62]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
[5]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
[62]1511former default leapfrog scheme.&nbsp; The intermediate steps, which
1512are
[5]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;">
[62]1515leap_frog</span>, but this routine will be renamed soon).
1516Steering
[5]1517variables<span style="font-family: monospace;">
[62]1518at&nbsp;</span>and<span style="font-family: monospace;">
1519bt&nbsp;</span>have
1520been replaced by array<span style="font-family: monospace;">
1521sct</span>.
[5]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;">
[62]1525timestep_scheme_steering</span>. <p>When using Runge-Kutta
1526schemes,&nbsp; the timestep increment
[5]1527is freely
1528allowed to adjust after each timestep (the older schemes are using some
[62]1529restrictions, see routine<span style="font-family: monospace;">
1530timestep</span>).
1531Also, routine<span style="font-family: monospace;">
1532run_control&nbsp;</span>is
[5]1533not automatically called in case of timestep changes, when Runge-Kutta
[62]1534schemes are switched on. </p> <p>The old leapfrog scheme
1535is still implemented and should
[5]1536produce the
[62]1537same results as in the previous version(s)! </p> <p>Depending
1538on the user experience, further adjustments to the
[5]1539Runge-Kutta
1540schemes may be necessary within the next minor versions.&nbsp; </p>
[62]1541<p><span style="font-weight: bold;">Attention:</span>
1542<br>
[5]1543The content of the testresult-file (run control output) has
1544significantly
[62]1545changed due to the new default timestep scheme!</p> </td> <td style="vertical-align: top;">check_parameters, header,
[5]1546init_3d_model,
1547init_rankine, leap_frog, modules, prognostic_equations, read_var_list,
[62]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
[5]1551subroutine<span style="font-family: monospace;">
[62]1552allocate_prt_memory&nbsp;</span>on demand only. <p>Type<span style="font-family: monospace;"> log&nbsp;</span>(used
[5]1553for
1554cpu time measurements) changed to<span style="font-family: monospace;">
[62]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
[5]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;">
[62]1562init_particles</span>), in order to avoid the possibility of
1563hanging
[5]1564jobs,
1565which may occur if unit 80 is opened within routine<span style="font-family: monospace;">
[62]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
[5]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;">
[62]1575nzb_2d&nbsp;</span>in many of the three-dimensional loops. So
1576far, all
[5]1577elements of this array are set to<span style="font-family: monospace;">
[62]1578nzb</span>. <p>This change should not effect simulation
1579results and cpu time
[5]1580in any
[62]1581way.</p> </td> <td style="vertical-align: top;">advec_s_pw,
1582advec_s_up,
[5]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,
[62]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
[5]1592removed in
1593the run control output in case of Runge-Kutta schemes. Also, the
1594timestep
[62]1595increment limitation is removed for the Runge-Kutta schemes. <p><span style="font-weight: bold;">Attention:</span> <br>
[5]1596The content of the testresult-file (run control output) has changed
[62]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
[5]1601surface calculated
1602in routine production_e are now limited. In case of inhomogeneous
1603surface
1604heating small diffusivities (<span style="font-family: monospace;">km</span>)
[62]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
[5]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.
[62]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
[5]1622all processors. This new feature is switched on by setting the
[62]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
[5]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
[62]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
[5]1638faster when running PALM on more than one node of the IBM-Regatta,
[62]1639although the difference is not very big. The <span style="font-family: monospace;">poisfft</span>-code
1640for a
[5]1641decomposition along y has still a poor performance and needs further
[62]1642optimization.<br> <br>
[5]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
[62]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
[5]1651quantity arrays are allocated for previous timelevels only in case of
[62]1652leapfrog scheme.<br> <br>
[5]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
[62]1657internal compiler errors).<br> </td> <td style="vertical-align: top;">advec_s_ups, advec_u_ups,
[5]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,
[62]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>
[5]1667For all transpositions, MPI_ALLTOALL is used instead of MPI_ALLTOALLV.
[62]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,
[5]1677flow_statistics, header, init_1d_model, init_3d_model, init_advec,
1678init_pegrid, palm, parin, poisfft, poisfft_hybrid, production_e,
[62]1679prognostic_equations, read_var_list, sline_x, spline_y, write_var_list<span style="font-weight: bold;"><br> <br>
[5]1680new:</span><br>
[62]1681fft_xy, read_3d_binary, time_integration, transpose<br> <br>
1682<span style="font-weight: bold;">deleted:</span><br>
[5]1683fft_for_1d_decomp, leap_frog, transpose_xy, transpose_xz, transpose_yx,
[62]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
[5]1687particle-package removed, which sometimes caused aborts of restart runs
[62]1688on IBM.<br> <br>
[5]1689Small error in calculating the time series profiles removed (array
1690bounds of some arrays needed for profil-output had to be increased).<br>
[62]1691<br>
[5]1692Function fft (singleton method) replaced by subroutine fftn due to
[62]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
[5]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
[62]1704passed to routine<span style="font-family: monospace;">
1705exchange_horiz </span>and<span style="font-family: monospace;">
1706disturb_field </span>by two
[5]1707additional arguments. Boundary conditions are set with new
[62]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>).
[5]1715Non-cyclic conditions require the use of the multigrid-method for
[62]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>
[5]1720Minor changes:<br>
[62]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,
[5]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>
[62]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
[5]1736at the last Runge-Kutta-substep, which spares a big amount of CPU-time
1737(see also new parameter<span style="font-family: monospace;">
[62]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>
[5]1741The content of the testresult-file (run control output) has changed
[62]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,
[5]1749diffusivities, modules, poismg, pres, time_integration,
[62]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>
[5]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
[62]1756faster).<br> <br>
[5]1757Two errors concerning switch to PE0 (multigrid method) removed from<span style="font-family: monospace;"> init_pegrid</span>.<br>
[62]1758<br>
1759Two errors in<span style="font-family: monospace;">
1760plot_2d </span>removed:
[5]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
[62]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>
[5]1770Wrong re-definition of dx2 and dy2 in<span style="font-family: monospace;"> sor </span>removed.<br>
[62]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
[5]1778incompatibilities between non-cyclic lateral boundary conditions and
[62]1779other schemes.<br> <br>
1780fcl_factor renamed cfl_factor.<br> <br>
[5]1781New local array sums_ll declared in flow_statistics instead of
[62]1782temporarily using sums_l.<br> <br>
[5]1783crmax (maximum number of crosses allowed in a plot of vertical
[62]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
[5]1789time counters regarding a possible decrease of the output time interval
[62]1790in case of restart runs.<br> <br>
[5]1791Error removed in Dirichlet bottom boundary conditions for pt and q in
[62]1792case of Runge-Kutta schemes.<br> <br> <span style="font-weight: bold;">batch_scp</span> calls
1793(needed
[5]1794for determining correct filenames for AVS-fld-files) is given the
[62]1795remote username as an additional argument.<br> <br>
1796Default setting of outflow_damping_width corrected.<br> <br>
[5]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
[62]1799resulting too small timesteps.<br> <br>
[5]1800Implicit counters i renamed i9 in modules due to declaration conflicts
[62]1801with i in other subroutines (reported by Portland compiler).<br> </td>
1802<td style="vertical-align: top;">advec_particles,
1803boundary_conds,
[5]1804check_open, check_parameters, init_1d_model, modules, time_integration<br>
[62]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>
[5]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
[62]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>
[5]1815Output of cross sections for qv, vpt and lwp (liquid water path).<br>
[62]1816</td> <td style="vertical-align: top;">advec_particles,
1817check_open,
[5]1818check_parameters, close_file, header, modules, parin, plot_1d, plot_2d,
1819plot_3d, plot_spectra, plot_ts, read_var_list, write_var_list<br>
[62]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
[5]1823number of spectra (formerly, the number of spectra was given by n-1)<br>
[62]1824<br>
[5]1825Abort if <span style="font-family: monospace;">poisfft_hybrid</span>
[62]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
[5]1841implemented, which explicitly simulates single cloud droplets,
1842including droplet growth by condensation and collision. Using this code
[62]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
[5]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,
[62]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>
[5]1884No opening of units 101 - 108 in case of missing NetCDF support.</td>
[62]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
[5]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
[62]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,
[5]1902check_parameters, coriolis, header, init_1d_model, modules, parin,
1903prognostic_equations, read_var_list, spline_z, write_var_list<br>
[62]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
[5]1905and
[62]1906v_0 in production_e.f90 removed.<br> <br> <span style="font-weight: bold;">Attention:</span> <br>
[5]1907The content of the testresult-file (run control output) has changed
[62]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
[5]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
[62]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
[5]1933in case of the first respective intermediate timestep. This is done in
1934order to spare communication time and to produce identical model
[62]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
[5]1942the implementation of topography, this version contains several other
[62]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>
[5]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
[62]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
[5]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)
[62]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
[5]2002conservation of the volume flow (through the complete xz- and
2003yz-sections &nbsp;of the total domain) can be enforced by the new
[62]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
[5]2014(large file support) on most machines. The user can switch to the
[62]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
[5]2018logging routines are added (see file data_log.f90), which can be used
2019for debugging purposes. Output is done on unit 20 (local file
[62]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
[5]2024the dissipation can be used in the 1d-model. These are steered by the
[62]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,
[5]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,
[62]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>
[5]2042plot_spectra -&gt; data_output_spectra<br>
2043plot_ts -&gt; data_output_tseries<br>
[62]2044plot_1d -&gt; data_output_profiles<br> <span style="font-weight: bold;"></span>plot_2d -&gt;
2045data_output_2d<br>
[5]2046plot_3d -&gt; data_output_3d<br>
[62]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
[5]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
[62]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>
[5]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>
[62]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>
[5]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>
[392]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>
[5]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>
[62]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>
[5]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>
[392]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>
[5]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>
[62]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
[5]2124directives have been added where necessary. Still further tuning will
2125be necessary to get optimum performance. Other parts of the code than
[62]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
[5]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
[62]2137global sum is computed via MPI_ALLREDUCE.&nbsp; For storing the
2138thread
[5]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
[62]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,
[392]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-
[5]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
[62]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
[5]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
[62]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,
[5]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,
[62]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
[5]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
[62]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>
[5]2212The content of the testresult-file (run control output) has changed
[62]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
[5]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
[62]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>
[45]2249The content of the testresult-file (run control output) has changed
2250due to this modification.</td><td style="vertical-align: top;">check_parameters,
[40]2251diffusion_s, flow_statistics, header, init_grid, init_3d_model,
2252modules, parin, production_e, prognostic_equations, read_var_list,
[62]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
[77]2254scalars are now solved up to gridpoint nzt (formerly nzt-1).
[62]2255Boundary conditions for scalars at top adjusted respectively (now
[77]2256applied only at nzt+1).<br><br>The
[62]2257default top boundary condition for temperature has been renamed to <span style="font-style: italic;">'initial_gradient'</span>.<br><br>Calls
[77]2258of dvrp_output_local,
[62]2259which were commented out for a long time, are now activated for all
2260streams.</td><td style="vertical-align: top;">advec_s_pw,
[40]2261boundary_conds, calc_precipitation, check_parameters, diffusion_e,
2262diffusion_s, impact_of_latent_heat, init_dvrp, init_pt_anomaly,
[77]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,
[83]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,
[90]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
[98]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
[97]2313density is calculated from the equation of state for seawater after
2314each timestep, using the algorithm proposed by Jackett et al. (2006, J.
[110]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.
[111]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,
[110]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,
[139]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,
[198]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,
[229]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
[226]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,
[238]2464user_init_grid, user_init_particles, user_init_plant_canopy,
2465user_last_actions, user_parin, user_parin, user_particle_attributes,
[392]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
[226]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,
[392]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
[62]2674</tbody>
2675</table>&nbsp;<b><blink>Attention:</blink></b>
2676If<tt> make </tt>is not used
[5]2677for
2678compiling,
[62]2679<b>all routines</b> have to be re-compiled after every
2680change
[5]2681to <b>modules.f90!</b>
[62]2682<br>&nbsp;
2683<br>&nbsp;
2684<h2><a name="Kapitel2.0"></a>2.0&nbsp; How
2685to change the model source
[392]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>
[62]2691<a name="Kapitel3.0"></a>3.0&nbsp; Description
2692of selected parts of the
[5]2693model source code</h2>
[392]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).
[62]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
[5]2707der <a href="Bitkompression/kompression.html">Bitverschiebung</a></li>
[62]2708<li> <a name="Runge-kutta"></a>Runge-Kutta
2709time integration scheme ( <a href="numerik.heiko/zeitschrittverfahren.pdf">.pdf</a>
[5]2710)</li>
[62]2711</ul><br>
[5]2712&nbsp;
[62]2713<br>&nbsp;
2714<br>&nbsp;
2715<br>&nbsp;
2716<br>&nbsp;
2717<br>&nbsp;
2718<br>&nbsp;
2719<br>&nbsp;
[139]2720</body></html>
Note: See TracBrowser for help on using the repository browser.