PALM a parallelized LES model
technical/numerical
documentation
Current fixed release: |
3.7a |
Last change of this document: |
$Id: technical_documentation.html 544 2010-08-17 10:44:58Z maronga $ |
Table of contents
1.0 History of changes
2.0 How to change the source code and how to document modifications
3.0 Description of selected model
numerics
The following table documents all
changes to the PALM repository since 2009. Older changes can be found
here.
Entries in the
fifth column specify the type of the change: change of existing
code (C), new code (N) or bugfix (B). More detailed information about
the changes may sometimes be found in the header comment lines of the
respective routines.
date |
author |
svn revision |
last release |
type |
description |
affected routines |
07/09/10 |
CH |
557 |
3.7a |
B |
Bugfix of message string in if statement (dz_stretch_level) of subroutine set_mask_locations. The changes concern the masked data output, which is still not documented. |
init_masks |
07/09/10 |
SR |
556 |
3.7a |
C |
Documentation for surface_heatflux
in case of prandtl_layer
= .F. improved. |
mbuild, mrun |
|
|
|
|
B |
Bugfix in if statement (disturb_heatflux) |
disturb_heatflux, init_grid, user_statistics |
01/09/10 |
CH |
553 |
3.7a |
C |
d3dpar-parameters for masked output data_output_mask_*, data_output_mask_user_*, mask_*_x, mask_*_y, mask_*_z, mask_*_x_loop, mask_*_y_loop and mask_*_z_loop have been replaced by corresponding arrays data_output_masks, data_output_masks_user, mask_x, mask_y, mask_z, mask_x_loop, mask_y_loop and mask_z_loop inipar-parameter masks has been removed. The changes concern the masked data output, which is still not documented. |
check_parameters, init_masks, modules, parin, user_parin |
17/08/10 |
BM |
544 |
3.7a |
B/C/N |
adjustments for lcxt4; bugfix (mbuild): loading of user-defined modules; new .mrun.config.lcxt4 for Cray XT4 in Bergen/Norway |
mrun, mbuild, subjob |
15/06/10 |
RH |
540 |
3.7a |
C |
ssh from compute nodes to login nodes on hosts lcsgih/lcsgib is done using the names hicegate0/bicegate0 instead of the IP addresses |
mrun |
21/04/10 |
RH |
532 |
3.7a |
C |
Large scale vertical motion (subsidence/ascent) can be added as
additional source to the prognostic equation for humidity/passive
scalar |
modules, prognostic_equations |
|
|
|
|
B |
Bugfix: unit of hyp changed to dbar |
check_parameters |
01/04/10 |
RH |
530 |
3.7a |
B |
Bugfix: treatment of special character * in NCL variables containing lists corrected |
palmplot |
31/03/10 |
RH |
529 |
3.7a |
C |
List of variable names have to specified using blank separated lists and single quotes |
palmplot |
30/03/10 |
RH |
526 |
3.7a |
C |
Adjustment of the NCL scripts and palmplot to allow for special characters in NetCDF variable names |
palmplot, .ncl.config.default, cross_sections.ncl, profiles.ncl, timeseries.ncl, spectra.ncl |
30/03/10 |
SR |
525 |
3.7a |
B |
Bugfix: "/" in netcdf profile variable names replaced by ":" |
check_parameters |
19/03/10 |
SR |
520 |
3.7a |
N |
NetCDF4 support for particle data. Total number of particles is allowed to increase during the run, when netcdf_data_format > 2 is used. |
advec_particles, check_open, netcdf |
|
|
|
|
C |
Special characters like * and " are now allowed for NetCDF variable names. Replacement of these characters has been removed (routine clean_netcdf_varname removed) |
|
18/03/10 |
SR |
516 |
3.7a |
N |
Simple installation method has been documented (see chapter 5.0). Respective scripts and configuration files have been updated. |
palm_simple_install, palm_simple_run |
|
|
|
|
B |
opt=1 is forced for PGI-compiler in routine buoyancy by compiler-directive. Otherwise, program aborts with SIGFPE. |
buoyancy |
16/03/10 |
RH |
513 |
3.7a |
N |
NCL scripts can be run with the shell script palmplot. |
palmplot, .ncl.config.default, cross_sections.ncl, profiles.ncl |
12/03/10 |
SR |
509 |
3.7a |
B |
bugfix for rev 504: remode_md was given a wrong value |
mbuild |
08/03/10 |
SR |
506 |
3.7a |
C |
hack for better usage of mrun on Kyoto computing center machine (lckyoto) |
mrun |
03/03/10 |
SR |
504 |
3.7a |
C |
combine_plot_fields
is now directly called within mrun and must not be given by
an output command in the configuration file any more. Please
remove the respective output command (OC:combine_plot_fields.x)
from your configuration file! |
mbuild, mrun, UTIL/Makefile, SCRIPTS/.mrun.config.* |
02/03/10 |
SR |
496 |
3.7a |
C |
Particle data for restart runs are only written if environment variable write_binary = .T., i.e. particle data are now handled in the same way as the other restart data. |
palm |
01/03/10 |
SR |
494 |
3.7a |
N |
Output in NetCDF4-format. |
check_open, check_parameters, close_file, data_output_2d,
data_output_3d, header, modules, netcdf,
parin |
|
|
|
|
C |
d3par-parameters netcdf_64bit
and netcdf_64bit_3d
have been removed. Use the new d3par-variable netcdf_data_format
= 2 for choosing the NetCDF 64bit-offset format (this is
the default from now on). The offset-format can not be set
independently for the 3d-output-data any more. |
check_open, close_file, |
|
|
|
|
B |
Bugfix in trunk/UTIL/Makefile: forgot to compile for
interpret_config. |
user_statistics |
05/02/10 |
SR |
485 |
3.7a |
B |
ngp_3d, ngp_3d_inner changed to 64 bit. Otherwise, on large grids > 2*10**9 grid points some global statistics (e.g. total kinetic energy) have wrong values. |
init_3d_model, modules |
05/02/10 |
SR |
484 |
3.7a |
B |
Typo in file headers removed ("current" instead of "actual"). |
many |
05/02/10 |
SR |
483 |
3.7a |
N |
compare_palm_logs
is additionally compiled with mbuild -u
. (Makefile in
trunk/UTIL) |
check_open, check parameters, close_file, header,
init_3d_model, Makefile, mbuild, modules, mrun, netcdf, parin,
prognostic_equations, read_var_list, time_integration, user_parin,
write_var_list |
|
|
|
|
C |
2d-decomposition is default for Cray-XT machines.
(init_pegrid) |
advec_particles, collision_efficiency, init_3d_model, init_pegrid, modules |
|
|
|
|
B |
Bugfix for generating serial jobs. (subjob) |
advec_particles, calc_precipitation, collision_efficiency, disturb_field, header, modules, poisfft_hybrid, subjob, sum_up_3d_data, time_integration |
23/09/09 |
SR |
392 |
3.7 |
N |
Most important changes: atmosphere-ocean coupling has
been improved and steering of dvr-software is more user-friendly
now. Beside that, the release contains a lot of optimizations,
changes, and bugfixes which have accumulated over the last
months. |
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, diffusion_u, diffusion_v, diffusion_w,
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, sum_up_3d_data,
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 |
|
|
|
|
C |
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) |
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, package_parin, parin, plant_canopy_model, poisfft, poisfft_hybrid, poismg, read_3d_binary, read_var_list, subjob, surface_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 |
|
|
|
|
B |
Bugfix: Initial hydrostatic pressure profile in case of ocean
runs is now calculated in 5 iteration steps. (init_ocean) |
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 |
02/02/09 |
SR |
228 |
3.6 |
N |
This release contains further additions, changes, and bugfixes
for the SGI-ICE system, as well as important changes like the
splitting of the user-interface into single files, a complete
revision of the pre-compiling mechanism allowing to use different
make-depositories simultaneously, and a revision of the
reading-mechanism from restart files, which has no more
restrictions in case that the previous and current run have
different domain/subdomain sizes. A new handling of all kind of
output messages is introduced with this release and will be
applied to all existing messages within the next releases. |
check_for_restart, check_parameters, data_output_dvrp,
init_dvrp, init_pegrid, local_stop, modules, package_parin, palm,
surface_coupler, timestep |
|
|
|
|
C |
User interface has been split into single files. |
advec_s_bc, check_parameters, cpu_log, init_grid, local_stop,
local_tremain, local_tremain_ini, modules, netcdf, read_3d_binary,
read_var_list, user_read_restart_data |
|
|
|
|
B |
Bugfix: array d
is reallocated in case that multigrid is used.
(calc_spectra) |
advec_particles, calc_spectra, check_for_restart,
cpu_statistics, data_output_2d, header, inflow_turbulence,
init_cloud_physics, production_e, read_3d_binary,
timestep |
Currently (Sep 23rd, 2009), only selected users are allowed to commit changes to the repository. Rules given below are preliminary, until we have switched to the "trac"-System.
Change source code in your current working copy. Document changes in the respective file headers unter "Current revisions:". Additionally, document all changes in a local file (e.g. ~/palm/current_version/CURRENT_MODIFICATIONS), including the files that have been changed. Classify changes in three cases, new (N), changed (C), and bugfix (B). Try to be as short and as precise as possible in describing the changes!
Test the changed version, unless it works sufficiently.
Commit the changes to the repository
svn
commit -m "message string" trunk
where
"message string"
is a short, meaningful summary of the
changes.
Alternatively, in case that you have made quite a
lot of changes, you can also give the contents of your file
CURRENT_MODIFICATIONS as the log message:
svn
commit -F CURRENT_MODIFICATIONS trunk
Enter the changes into the technical documentation (under .../trunk/DOC/tec/technical_documentation.html).
Move the change comments in the file headers from "Current
revisions:" to "Former revisions:". Set the current
svn id in front of that.
Example:
before
move:
!
Current revisions:
!
-----------------
!
new dummy
argument abcd
!
!
Former revisions:
!
-----------------
!
§Id: init_3d_model.f90 425
2010-02-06 13:37:48Z raasch §
!
!
407 2009-12-01 15:01:15Z maronga
!
var_ts is replaced by dots_max
after move:
!
Current revisions:
!
-----------------
!
!
!
Former revisions:
!
-----------------
!
§Id: init_3d_model.f90 425 2010-02-06 13:37:48Z raasch §
!
!
425
2010-02-06 13:37:48Z raasch
!
new dummy
argument abcd
!
!
407 2009-12-01 15:01:15Z maronga
!
var_ts is replaced by dots_max
Note
that the "§"
in this example should read "$", but "$" cannot
be used here, because otherwise svn would replace these entries
after every change to this technical documentation.
Commit the changes in the technical documentation and the
file headers:
svn
commit -m "last commit documented" trunk
This section gives links to existing descriptions about special
parts of the PALM code, e.g. special numerical methods that are used
(including mathematical background). Documents are stored in single
files with different formats. Some are in German (sorry for the
inconvenience).
upstream-spline advection scheme ( .pdf , only in German)
cloud physics module ( .pdf )
data compression with bit shifting method (only in German)
Runge-Kutta time integration scheme ( .pdf , only in German)