Version 472 (modified by knoop, 9 years ago) (diff)

--

PALM source code change log

Current revision:

r4901


Current fixed release: 4.0 (r1540)

The following table documents all changes to the PALM repository since 2013. Changes made during 2009-2012 can be found here. Older changes can be found here.

Please follow the rules for developers when carrying out source code changes!

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 respectively changed routines.

Date Author svn
Revision
Last
Release
Type Description

23/09/15

HK

r1664

4.0

C

Update of the URL to the error message documentation to meet the new server structure (message.f90)

21/09/15

SR

r1661

4.0

C

Example run control file updated to current revision. (.../INSTALL/example_cbl_rc)

21/09/15

TG

r1660

4.0

B

Bugfix: Adjusted the definition of topography gird level in case grid stretching starts within the topography. (init_grid.f90, header.f90)

18/09/15

SR

r1658

4.0

B

Temporary reduction variables in the openacc branch are now initialized to zero. (flow_statistics)

17/09/15

SR

r1652

4.0

B, C

Bugfixes:

Bugfix in calculation of energy production by turbulent transport of TKE (flow_statistics)
Bugfix for terminal output of configuration settings (mbuild)

Changed:
output of login init commands (mbuild)

15/09/15

HK

r1649

4.0

C

Updated lectures and tutorials for PALM seminar in Hong Kong (exercise_cbl.tex, exercise_cumulus.tex, exercise_topography.tex, final_remarks.tex, fundamentals_of_les.tex, installation.tex, mrun_steering_parameters.tex, ncl.tex, numerics_bc.tex, program_control.tex, user_defined_code.tex).

02/09/15

FH

r1647

4.0

B

Bugfix: Wrong calculation of d_mean now fixed (microphysics.f90).

01/09/15

FH

r1645

4.0

C

Extended and updated version of tutorial: Exercise 3, user interface (exercise_interface.tex).

31/08/15

HK

r1640

4.0

B

Bugfix to match string length with declared LEN=13 in modules.f90.

31/08/15

FH

r1634

4.0

C

Extended and updated version of tutorial on Lagrangian particles (particle_model_cloud_physics.tex).

26/08/15

MS

r1629

4.0

B

Bugfix concerning wall_flags at left and south PE boundaries. (advec_ws)

21/07/15

RH

r1626

4.0

C

Bugfix to plot xy-cross sections in case variables contain only one level (like lwp*_xy, shf*_xy, ...) (cross_sections.ncl).

17/07/15

RH

r1620

4.0

C

Changed: Adjustments for DKRZ machine Mistral (lcbullhh) (.mrun.config.dkrz, mbuild, mrun, subjob).

13/07/15

BM

r1618

4.0

C

Changed: PALM watchdog is now steered via configuration files. palm_wd requires a file .wd.config in the palm working directory, whereas palm_wdd requires the file .wdd.config placed unter $HOME on each remote host to be monitored. Default configuration files have been added (palm_wd, palm_wdd, .wd.config.default, wd.config.hlrnIII, .wdd.config.default, .wdd.config.hlrnIII).

08/07/15

MS

r1615

4.0

N

Enable turbulent inflow for passive_scalar and humidity. (inflow_turbulence, init_3d_model, read_var_list)

08/07/15

BM

r1613

4.0

B,C

Bugfix: compilation of RRTMG as shared library incorporated faulty remove commands (intall_rrtmg). Removed nc2vdf from mbuild (mbuild).

Changed: Added new watchdog context menu actions to view the parameter file and the run control file (palm_wd, palm_wdd, mainwindow.ui).

07/07/15

BM

r1611

4.0

N

Deleted: nc2vdf is outdated and no longer needed (batch_nc2vdf, nc2vdf, nc2vdf.config, nc2vdf.ncl). Old hlrn_watchdog is replaced by new palm watchdog (see below) (hrln_watchdog, hlrn_watchdog.kwinrule).

New: A new palm watchdog for monitoring queuing systems on remote host added. The watchdog can be started either from mrungui? or by typing palm_wd into the shell. For more information see PALM watchdog (palm_wd, palm_wdd, mainwindow.cpp, mainwindow.h).

03/07/15

BM

r1609

4.0

B,C

Changed: random number for the temporary job directory on lccray is now set identical to the queuing number. (mrun).

Bugfix: Compilation without __parallel failed due to missing pre-processor directives. (poismg_fast)

03/07/15

FK

r1608

4.0

B

Two parameters corrected in TUTORIAL file. (mrun_steering_parameters.tex)

29/06/15

BM

r1606

4.0

B

Bugfix: compilation without netCDF failed. (radiation_model, check_parameters)

11/06/15

SR

r1600

4.0

B

Bugfix: openMP threadprivate statement moved after variable declaration. (fft_xy)

29/05/15

SR

r1598

4.0

B

Bugfix for creating hostfile and determining the total number of MPI tasks if run in openmp-mode on one node. (mrun)

21/05/15

TG

r1596

4.0

B

Bugfix in masked data output. Read 'zu_3d' when trying to extend masked data (netcdf.f90).

08/05/15

BM

r1590

4.0

B

Bugfix: definition of character strings requires same length for all elements. This gives an error e.g. when compiling with gfortran (header.f90, land_surface_model.f90, radiation_model.f90).

04/05/15

BM

r1586

4.0

C

Changed: added parameter file check for albedo settings when using RRTMG. Added albedo class for snow surfaces (check_parameters.f90, radiation_model.f90).

30/04/15

BM

r1585

4.0

N

New: added support for the RRTMG radiation code, which is now delivered with PALM and can be linked to the default code either as static or shared library. (LIB/rrtmg/*, Makefile, average_3d_data.f90, check_parameters.f90, data_output_2d.f90, data_output_3d.f90, data_output_mask.f90, flow_statistics.f90, header.f90, init_3d_model.f90, land_surface_model.f90, netcdf.f90, package_parin.f90, prognostic_equations.f90, radiation_model.f90, read_3d_binary.f90, read_var_list.f90, sum_up_3d_data.f90, time_integration.f90, user_init_land_surface.f90, user_init_radiation.f90, write_3d_binary.f90, write_var_list.f90).

15/04/15

MS

r1583

4.0

B

Bugfix: particle advection within Prandtl-layer in case of Galilei transformation. (lpm_advec)

10/04/15

MS

r1580

4.0

B

Bugfix: setting flags for 5th order scheme near buildings. (init_grid)
Bugfix: statistical evaluation of scalar fluxes in case of monotonic limiter. (advec_ws)

27/03/15

SR

r1575

4.0

N, C

New:

Optimized version of the multigrid solver has been installed. Data along the k index (vertical direction) is sorted from alternate even and odd indices into two blocks of completely even and odd indices respectively, which allows vectorization on INTEL processors of loops in the red/black scheme. Additionally, topography flags are completely ignored (i.e. not used) in case of masking_method switched on. On fine grid levels only even or odd data are send for the lateral ghost point exchange. Speedup of the multigrid solver for medium sized cases (1024*1024*192 gridpoints) can be about 40%. ATTENTION: There are still small differences observed between the optimised and non-optimised version in case of topography with masking methid switched on. (calc_spectra, check_parameters, header, init_3d_model, init_grid, init_pegrid, modules, new: poismg_fast, pres, Makefile)

New parameter seed_follows_topography implemented, which allows to set initial particle heights relative to a given topography. (header, lpm_init, mod_particle_attributes, package_parin)

Changed:

Queue adjustment for HLRN system. (subjob)

23/03/15

MS

r1573

4.0

B

Bugfix: check for advection schemes in case of non-cyclic boundary conditions. (check_parameters)

12/03/15

BM

r1571

4.0

B

Minor bugfixes in land surface model and radiation model (flow_statistics, land_surface_model, radiation_model).

12/03/15

SR

r1569

4.0

B

Bugfix for background communication. (exchange_horiz)

10/03/15

MS

r1567

4.0

B

Bugfixes in monotonic limiter. (advec_ws)
Reverse changes for statistical evaluation of vertical fluxes for monotonic limiter. (flow_statistics)

09/03/15

MS

r1565

4.0

B

Refine if-clause for setting nbgp. (init_pegrid)

09/03/15

RH

r1563

4.0

B

REAL constants provided with KIND-attribute in call of intrinsic function like MAX and MIN (advec_ws.f90).

06/03/15

MK

r1561

4.0

N

New control parameter recycling_yshift, that allows for a y shift of the recycled inflow turbulence (header.f90, inflow_turbulence.f90, modules.f90, parin.f90, read_var_list.f90).

06/03/15

RH

r1559

4.0

B

Allow using NCL version 6.2.1 and higher. Backward compatibility is also ensured. (cross_sections.ncl, profiles.ncl, spectra.ncl, timeseries.ncl)

05/03/15

MS

r1557

4.0

N

Enable monotone advection for scalars using monotonic limiter. (advec_ws, check_parameters, flow_statistics, header, init_grid, init_pegrid, modules)

04/03/15

BM

r1555

4.0

C

Added output of aerodynamic resistance (r_a) and soil resistance (r_s) (timeseries, xy-section). Renumbering of LSM-related PA messages.

03/03/15

BM

r1553

4.0

C

Small adjustments in land surface model.

03/03/15

BM

r1551

4.0

B, C, N

Final version of the land surface model (LSM) released. The LSM comes with a simple clear-sky radiation model for the net radiation at the surface (for details see r1551) (Makefile, average_3d_data, check_open, check_parameters, data_output_2d, data_output_3d, flow_statistics, header, init_3d_model, land_surface_model, modules, netcdf, package_parin, prandtl_fluxes, radiation_model, read_3d_binary, read_var_list, sum_up_3d_data, swap_timelevel, time_integration, user_data_output_2d, user_data_output_3d, user_header, write_3d_binary, write_var_list, combine_plot_fields)

For a description of the LSM, see Land surface model and &lsm_par.
For a description of the clear-sky radiation model, see radiation model and &radiation_par.

30/01/15

MS

r1550

4.0

N

Enable interactive debug sessions with allinea debugger (mrun)

29/01/15

BW

r1548

4.0

C, N

adjustments for ForWind cluster lcflow (mbuild, mrun, subjob, .mrun.config.forwind_flow, .mrun.config.forwind_hlrnIII)

29/01/15

RH

r1546

4.0

C

Local host name for blizzard further specified (subjob).

28/01/15

FH

r1543

4.0

C

Small changes in exercise on bulk cloud physics (exercise_cumulus.tex).

28/01/15

FK

r1542

4.0

C

Updated some run examples, with corresponding steering parameters in INPUT file and RUN_CONTROL output (trunk/EXAMPLES/building, trunk/EXAMPLES/topo_file).

28/01/15

FK

r1541

4.0

C, N

Updated tutorial files, new figures added, old figures deleted (topography.tex, exercise_topography.tex).

28/01/15

SR

r1540

4.0

N

Release 4.0 created.

28/01/15

SR

r1539

4.0

C

Version update to 4.0 (palm)

27/01/15

FH

r1538

3.10

C

New figures for exercise on bulk cloud physics (exercise_cumulus.tex).

27/01/15

FH

r1537

3.10

C

Exercise on bulk cloud physics updated (exercise_cumulus.tex).

27/01/15

RH

r1534

3.10

C

Exercise on convection between plates and neutral boundary layer flow updated (exercise_cbl.tex, exercise_neutral.tex).

26/01/15

FH

r1533

3.10

C

Exercise on bulk cloud physics updated (exercise_cumulus.tex).

26/01/15

FH

r1532

3.10

C,N

Updated tutorials on NCL and the particle model (with cloud physics) (ncl.tex, particle_model_cloud_physics.tex). New exercise on bulk cloud physics (exercise_cumulus.tex).

26/01/15

MK

r1531

3.10

C

Several updates in the tutorial (basic_equations.tex, final_remarks.tex, non_cyclic_boundary_conditions.tex, parallelization.tex, perf_4.png, program_structure.tex, user_defined_code.tex).

22/01/15

FH

r1528

3.10

B

Bugfix: palmplot pr can now handle *pr.nc files consisting exclusively of user profiles (profiles.ncl).

22/01/15

MK

r1526

3.10

C

Several updates in the tutorial (fundamentals_of_les.tex, header_HANDOUT.tex, header_LECTURE.tex, header_WEB.tex, surface_bc.png, runs_with_mrun.tex, sgs_models.tex).

14/01/15

MK

r1524

3.10

B

Bugfix: dots_time_count is now incremented after the call of subroutine check_open. (data_output_tseries.f90)

Typo corrected. (read_var_list.f90)

14/01/15

MK

r1522

3.10

N

Added queries for checking if the advection schemes for momentum and scalar quantities in a restart run are the same as the advection schemes used in the corresponding initial run. (read_var_list.f90)

08/01/15

FH

r1519

3.10

B

Bugfix: For the computation of collision efficiencies, it is necessary that the ratio of radii is smaller than one. Due to the new particle structure, this is not ensured by the order of particles (sorting of particles is not necessary for the new particle structure). (lpm_collision_kernels.f90)

07/01/15

FH

r1517

3.10

B

Bugfix: Bott-Chlond scheme is available again (Makefile, advec_s_bc, prognostic_equations)

02/01/15

LB

r1516

3.10

N

Added two new figures to the tutorial

02/01/15

LB

r1515

3.10

C

Several updates in the tutorial (atmosphere_ocean_coupling.tex, canopy_model.tex, cloud_physics.tex, debugging.tex, exercise_cbl.tex, exercise_interface.tex, exercise_neutral.tex, exercise_topography.tex, final_remarks.tex, mrun_data_analysis.tex, mrun_steering_parameters.tex, ncl.tex, non_cyclic_boundary_conditions.tex, numerics_bc.tex, ocean_version.tex, parallelization.tex, particle_model_cloud_physics.tex, program_control.tex, program_structure.tex, restarts_with_mrun.tex, runs_with_mrun.tex, topography.tex, user_defined_code.tex)

19/12/14

RH

r1514

3.10

B

Bugfix: provide REAL constants with _wp in call of MAX and MIN. (land_surface_model)

16/12/14

MS

r1512

3.10

B

Bugfix concerning spectra normalization. (calc_spectra)

16/12/14

RH

r1510

3.10

B

Bugfix: Prevent infinite loop in case of automatic restarts. (check_for_restart)

10/12/14

MS

r1508

3.10

B

Bugfix: Set horizontal velocity components to zero inside topography. (init_3d_model)

03/12/14

FK

r1502

3.10

B,C

Changed/Bugfix:
Canopy module and parameters removed, since parameters are always read from canopy_par NAMELIST for initial and restart runs. (read_var_list, write_var_list)
At the same time, this is a bugfix, since 1d-array lad in read_var_list was not allocated yet at the call of read_var_list.

Bugfix:
Added blanks in "cloud_top_radiation"-string to fill the string to a total of 30 characters. (write_var_list)

03/12/14

BM

r1500

3.10

B,C

Changes for the land surface model:

  • Allow for dry runs with land surface model
  • Added interception of rain fall by plants in the land surface model in case precipiation = .TRUE.

(land_surface_model.f90)

Bugfixes:

  • Adjustments in Makefile for land surface and radiation models (Makefile)
  • Calculation of aerodynamic resistance in land surface model (check_parameters.f90, land_surface_model.f90)

03/12/14

MS

r1498

3.10

N

Comments concerning statistical evaluation of vertical fluxes and variances added. (flow_statistics)

02/12/14

BM

r1496

3.10

N,C

A beta version of a land surface model (lsm) and a radiation model have been implemented.

New: 1) Land surface model:

  • Based on the TESSEL scheme used in the ECMWF IFS model (see IFS documentation, with modifications according to H-TESSEL.
  • Implementation was realized similarily to the DALES code.
  • The scheme consists of a solver to the energy balance of the skin layer and a four-layer soil model. Moreover, a liquid water reservoir allows the interception of water by plants.
  • Activated by setting of &lsm_par Namelist.
  • Required parameters for &lsm_par:
    • veg_type = 0-19,
    • soil_type = 0-5,
    • soil_temperature (temperatures for each soil level),
    • Several other optional parameters.
  • A proper documentation will follow. Until then, the lsm should be used for testing purposes only.
  • The implementation is still under construction. Open tasks:
    • Proper calculation of the aerodynamic resistance (solved in r1500)
    • Add support for binary I/O support (solved in r1551)
    • Add support for lsm data output (solved in r1551)
    • Add precipitation to liquid water reservoir (solved in r1571)
    • Consider reaction of plants at wilting point and at atmospheric saturation
    • Consider partial absorption of the net shortwave radiation by the skin layer
    • Allow for water surfaces, check performance for bare soils

2) Radiation model:

  • A simple radiation model for clear sky (no clouds) conditions
  • Provides the net radiation for the energy balance solver of the lsm
  • Activated by setting of &radiation_par Namelist.
  • Required parameters for &radiation_par:
    • lambda (longitude),
    • albedo,
    • day_init (day of the year at model start),
    • time_utc_init (UTC time at model start, in seconds),
    • dt_radiation (temporal interval for the call of the radiation model),
    • latitude is given by the parameter phi in &inipar.

Changed:

  • The &inipar parameter radiation has been renamed to cloud_top_radiation as radiation is now used for the radiation model.

(Makefile, check_parameters.f90, header.f90, init_3d_model.f90, land_surface_model.f90, modules.f90, package_parin.f90, parin.f90, prandtl_fluxes.f90, prognostic_equations.f90, radiation_model.f90, read_var_list.f90, swap_timelevel.f90, time_integration.f90, user_init_land_surface.f90, write_var_list.f90)

21/11/14

BM

r1494

3.10

B

Minor bugfixes in prandtl_fluxes.f90:

  • Calculation of qs is now done directly after calculation of ts,
  • Missing humidity term in the calculation of Rif added.

These modifications will slightly alter simulations with humidity = .TRUE.

  • Added support for topography for large-scale forcing (replaced k index 0-> nzb_s_inner, not tested).

(prandtl_fluxes.f90)

12/11/14

FK

r1493

3.10

C

Update of tutorial presentation due to new code structure and steering of the plant canopy model. (canopy_model.tex) For details see r1484.

12/11/14

RH

r1492

3.10

B

bugfix: Correct setting of batch_job allowed for ibm-machines. This fixes a crash of batch jobs due to the output or progress_bar on IBM machines. (mrun)

30/10/14

SR

r1489

3.10

B

bugfix: sums_ls_l must not be used with large_scale_forcing switched off. (subsidence)

25/10/14

SR

r1487

3.10

C

bash compatibility adjustments: output formatting with printf instead of typeset -L/-R, print replaced by echo. (mbuild)

21/10/14

FK

r1484

3.10

N,C,B

Changes due to new code structure of the plant canopy model. All parts of the plant canopy model are now combined within module plant_canopy_model.

New:

  • Subroutine init_plant_canopy added to module plant_canopy_model_mod. (plant_canopy_model)
  • Alternative method for lad-profile construction added, also, new parameters added. (header, package_parin, plant_canopy_model, read_var_list, write_var_list)
  • plant_canopy_model-dependency added to several subroutines. (Makefile)
  • New package/namelist canopy_par for canopy-related parameters added. (package_parin)

Changed:

  • Code structure of the plant canopy model changed, all canopy-model related code combined to module plant_canopy_model_mod. (check_parameters, init_3d_model, modules, timestep)
  • Module plant_canopy_model_mod added in USE-lists of some subroutines. (check_parameters, header, init_3d_model, package_parin, read_var_list, user_init_plant_canopy, write_var_list)
  • Canopy initialization moved to new subroutine init_plant_canopy. (check_parameters, init_3d_model, plant_canopy_model)
  • Calculation of canopy timestep-criterion removed, instead, the canopy drag is now directly limited in the calculation of the canopy tendency terms. (plant_canopy_model, timestep)
  • Some parameters renamed. (check_parameters, header, init_plant_canopy, plant_canopy_model, read_var_list, write_var_list)
  • Unnecessary 3d-arrays removed. (init_plant_canopy, plant_canopy_model, user_init_plant_canopy)
  • Parameter checks regarding canopy initialization added. (check_parameters)
  • All canopy steering parameters moved from namelist inipar to canopy_par. (package_parin, parin)
  • Some redundant MPI communication removed. (init_plant_canopy)

Bugfixes:

  • Missing KIND-attribute for REAL constant added. (check_parameters)
  • DO-WHILE-loop for lad-profile output restricted. (header)
  • Removed double-listing of use_upstream_for_tke in ONLY-list of module control_parameters. (prognostic_equations)

18/10/14

SR

r1482

3.10

N,C,B

New:

Adjustments for using CUDA-aware OpenMPI. The local MPI rank is determined from environment variable OMPI_COMM_WORLD_LOCAL_RANK. (palm)

Changed:

Use 2d-decomposition, if accelerator boards are used. (poisfft)

Bugfixes:

cudafft workaround for data declaration of ar_tmp because of PGI 14.1 bug. (fft_xy)
Information about calculated or predefined virtual processor topology adjusted. (header)
Missing ngp_sums_ls added in accelerator version. (flow_statistics)

17/10/14

SR

r1480

3.10

N

Adjustments for 2nd stage of HLRNIII-system: new job-classes mpp1q, mpp1testq, mpp2q, mpp2testq. The Ivy-Bridge- (mpp1) or Haswell-nodes (mpp2) can be selected by including an additional line in the respective block of the .mrun.config-file, e.g.:

   %feature  mpp2            lccrayb parallel

(subjob)

24/09/14

BM

r1468

3.10

B,C,N

New:

  • The user can now set two different flag files during the execution of batch jobs (DO_STOP_NOW and DO_RESTART_NOW). DO_STOP_NOW forces the model to terminate properly (this can include the preparation of binary output for restart runs!), whereas DO_RESTART_NOW forces the model to terminate and immediately submits a restart run. The flag files must be created in the temporary directory of the job (e.g. /tmp/user/jobid/). This can be achieved (here to terminate the run) by:
    touch DO_STOP_NOW
    
  • A progress file (PROGRESS is now available in the temporary directory of the job. In contains the job name as well as the progress of the running job with respect to the next restart (first value), and to the end_time of the simulation. The file can be used for following the progress of the job and will later be used by a watchdog tool for PALM.

Changed:

  • PALM has been adjusted to allow (restart) runs with up to 6-digit processor cores (formely only 4-digit (< 9,999) cores were possible).
  • Adjustments to use lcxe6 as a remote host (transfer of files).
  • Identifier (character) string length for user-defined variables has been increased from 6-10 to 20.

Bugfix:

  • Transfer of data and initialization of automatic restart runs was not possible at IMUK due to problems with the shell environment.
  • Typo removed in shell scripts (addres->address)

04/09/14

BW

r1466

3.10

N

Added new configuration file for ForWind jobs on HLRNIII. (.mrun.config.forwind_hlrnIII)

04/09/14

MS

r1462

3.10

B

Bugfix: set dirichlet boundary condition for passive_scalar at model domain top (boundary_conds)

29/08/14

RH

r1456

3.10

C

empty time records in volume, cross-section and masked data output prevented in case of non-parallel netcdf-output in restart runs (check_parameters)

22/08/14

RH

r1453

3.10

C

local hosts for ibmh (blizzard) added (subjob)

21/08/14

RH

r1451

3.10

B

ntnudge increased from 100 to 1000 to allow longer simulations (modules)
prevent division by zero at first time-step when calculating large scale forcing statistics (flow_statistics)
HLRN-III lccrayb queue adjusted (testq -> mpp1testq) (subjob)

07/08/14

BM

r1448

3.10

B,C

HLRN watchdog adapted for HLRN-III. Blanks removed from <> strings in all .mrun.config files (.mrun.config*, hlrn_watchdog)

02/08/14

ML

r1444

3.10

B

cpulog added to lpm_advec.o (Makefile)

24/07/14

SR

r1440

3.10

C, N

Some configuration files have been adjusted (mainly for compiler options). (.mrun.config.hlrnIII, .mrun.config.imuk, .mrun.config.imuknb, new: .mrun.config.imuk_hlrnIII)

22/07/14

RH

r1439

3.10

N

Mask output for nr, qc and qr added. (init_masks, data_output_mask)

22/07/14

SR

r1437

3.10

C

Contents of example run control file adjusted to current revision. (example_cbl_rc)

21/07/14

MK

r1436

3.10

B

Bugfix: Added missing parameter coupling_mode_remote to ONLY-attribute. (init_pegrid)

18/07/14

MK

r1434

3.10

N

Added new configuration file for the IMUK Linux notebooks. (.mrun.config.imuknb)

15/07/14

MS

r1432

3.10

C

Wavenumber-integrated spectra coincide with respective variance. (calc_spectra, modules, init_3d_model)

15/07/14

HK

r1430

3.10

N

Ensemble run capability added to the new parallel random number generator. By setting the initialization parameter ensemble_member_nr to an integer between 1 and 2000, palm will produce statistically independent members of a simulation. (check_parameters, header, init_3d_model, modules, parin)

07/07/14

BM

r1427

3.10

B

Bugfix in surface_coupler.f90. Computation of latent heat of vaporization was set for 100° Celsius. (surface_coupler)

05/07/14

HK

r1426

3.10

B

Bugfix for the new parallel random number generator. Each processor is now generating random numbers only for the initial random perturbations in his own subdomain. Additionally some continuation line markers are moved to column 80. (check_parameters, disturb_field)

02/07/14

FK

r1422

3.10

C

Automatic restarts enabled for lccrayb and adjustment of path to compilervars.sh at IMUK (see automatic restarts). (mrun)

10/06/14

SR

r1420

3.10

C

-j1 option added to aprun command for lccrayf (CSC). (mrun)

06/06/14

JF

r1418

3.10

B

Bugfixes concerning grid stretching for the ocean and calculation of the salinity flux in routine surface_coupler (init_grid, surface_coupler)

04/06/14

MS

r1416

3.10

B

Bugfixes concerning new particles structure. (lpm, user_lpm_advec, user_lpm_init)

31/05/14

TG

r1414

3.10

B

Bugfix: First and last grid points as they appear in 3D volume data can now be included to masked data output. (init_masks)

26/05/14

MS

r1411

3.10

C

Initial horizontal velocity fields were not set to zero at the first vertical grid level in case of non-cyclic lateral boundary conditions. (init_3d_model)

23/05/14

MS

r1409

3.10

B

Bugfixes: Set inflow boundary conditions also if no humidity or passive_scalar is used. (boundary_conds)

Set wall_flags_0 also at inflow and outflow boundary. (init_grid)

16/05/14

SR

r1406

3.10

B

openACC bugfix for PGI-compiler version 14.4: declare create statement moved behind array declaration. (poisfft, tridia_solver)

Setting of initial horizontal velocities to zero at level k=1 only in case of no-slip boundary condition. (init_3d_model)

14/05/14

MK

r1404

3.10

B

Missing dependencies for progress_bar added. (Makefile)

09/05/14

SR

r1402

3.10

N

Output of location messages complemented. Output of progress bar to stdout added (does not appear in batch jobs). (Makefile, check_parameters, cpulog, init_pegrid, init_3d_model, message, palm, parin, time_integration, new: progress_bar)

Preprocessor switch __intel_compiler added, -r8 compiler options removed. (.mrun.config.default, .mrun.config.imuk, .mrun.config.kiaps)

Variable batch_job added to envpar-NAMELIST. (mrun, parin)

09/05/14

HK

r1400

3.10

N

A parallel random number generator has been added and can be selected by setting the parameter random_generator to 'random-parallel' . (Makefile, check_parameters, disturb_field, init_3d_model, read_3d_binary, write_3d_binary, new: random_generator_parallel)

Note: The parallel random number generator is a preliminary feature and still buggy.

07/05/14

RH

r1398

3.10

C/B

Adjustments in case of nudging. u_init and v_init are set to the current nudging profiles. In Rayleigh-damping terms, u_init and v_init are used instead of ug and vg to homogenize the treatment in case of nudging. (boundary_conds, nudging, prognostic_equations)

Bugfix: for KIND in CMPLX function (fft_xy)

06/05/14

SR

r1396

3.10

B

copyin clause replaced by update device statement in openACC-branch. (flow_statistics)

06/05/14

MK

r1394

3.10

B

KIND-attribute added to all INTEGER and REAL declaration statements. (combine_plot_fields)

06/05/14

SR

r1392

3.10

B

KIND attribute added to CMPLX functions. (fft_xy)

06/05/14

BM

r1391

3.10

B

Adjustments for compilation on lcxe6 (.mrun.config.lcxe6, mbuild)

05/05/14

LB

r1387

3.10

B

Bugfix: The output of large scale forcing tendencies (td_lsa_lpt|q, td_sub_lpt|q) has been corrected. The tendencies were calculated at the wrong (simulated) time. (flow_statistics.f90)

02/05/14

SR

r1384

3.10

N

Output of location messages to stdout (terminal or job protocol file) in order to allow for a better error detection. Preliminary. Will be further completed / modified in a later version. (check_parameters, init_pegrid, init_3d_model, message, parin, time_integration)

30/04/14

LB

r1383

3.10

C

Renamed variables which store large scale forcing tendencies:
pt_lsa -> td_lsa_lpt, pt_subs -> td_sub_lpt, q_lsa -> td_lsa_q, q_subs -> td_sub_q, high|lowpt_lsa -> high|low_td_lsa_lpt, ... (flow_statistics.f90, ls_forcing.f90, modules.f90)

Neumann boundary conditions were added to the profile data output of large scale advection, large scale subsidence and nudging terms at nzt+1. (flow_statistics.f90, nudging.f90, subsidence.f90)

The weighting factor that is used in the summation of nudging and subsidence tendencies for profile data output was changed from weight_pres to weight_substep. (nudging.f90, subsidence.f90)

28/04/14

RH

r1381

3.10

C

Upper boundary conditions for pt and q in case of nudging adjusted. (boundary_conds, Makefile, nudging, prognostic_equations, subsidence, time_integration)

26/04/14

LB

r1377

3.10

B

Two typos corrected (header.f90)

25/04/14

SR

r1374

3.10

B

Several bugfixes for the case running PALM without pointers on NVidia-GPUs (switches -D__nopointer -D__openacc -D__cuda_fft are used):

Missing variables added to ONLY lists in USE statements. (advec_s_bc, advec_s_pw, advec_s_up, advec_ws, buoyancy, diffusion_e, diffusion_s, fft_xy, flow_statistics, palm, prognostic_equations)

Missing module kinds added. (cuda_fft_interfaces)

Kind dpk renamed dp. (fft_xy)

Missing dependency for check_open added. (Makefile)

Variables removed from acc-present-list. (diffusion_e, diffusion_w, diffusivities, production_e, wall_fluxes)

Syntax errors removed from openacc-branch. (flow_statistics)

USE-statement for the nopointer-case added. (swap_timelevel)

24/04/14

SR

r1372

3.10

B

openMP-bugfix for fftw: some arrays defined as threadprivate. (fft_xy)

24/04/14

SR

r1369

3.10

N/C

New:

Routine description added. (cpulog)

Changed:

Usage of module interfaces removed. (lpm_advec)

23/04/14

BW

r1368

3.10

B

Bugfix: module kinds must be used (package_parin)

22/04/14

LB

r1366

3.10

C/N

New:

Large scale forcing for temperature and humidity enabled.

If large_scale_forcing is set to .T., large scale advection tendencies and subsidence tendencies are read in from the external file LSF_DATA.

The horizontal large scale advection tendencies are applied to the prognostic variables in the new subroutine ls_advec in the module ls_forcing.

The new control parameter use_subsidence_tendencies determines how the large scale subsidence is computed. If it is set to .F. (default), the large scale subsidence velocity w_subs is used to advect the prognostic variables (subroutine subsidence). If it is set to .T., the subroutine subsidence is not called and the subsidence tendencies from LSF_DATA are applied to the prognostic variables in the new subroutine ls_advec. The usage of use_subsidence_tendencies requires large_scale_forcing = .T. as well as large_scale_subsidence = .T..

Note that because of these changes external files (LSF_DATA) that worked with previous revisions have to be modified. The profile data sets in LSF_DATA now must contain four new columns which provide large scale advection tendencies as well as subsidence tendencies.

Standard output of profiles of large scale advection tendencies (td_lsa_lpt, td_lsa_q), large scale subsidence tendencies (td_sub_lpt, td_sub_q) and nudging tendencies (td_nud_lpt, td_nud_q, td_nud_u and td_nud_v) is now possible.

A new section called 'Large scale forcing and nudging' has been added to the header.

Changes:

New module calc_mean_profile added (previously a subroutine in module buoyancy).

Removed redundant calls of MPI_ALLREDUCE from nudging.f90.

(buoyancy.f90, calc_mean_profile.f90, check_parameters.f90, flow_statistics.f90, header.f90, ls_forcing.f90, Makefile, modules.f90, nudging.f90, parin.f90, prognostic_equations.f90, subsidence.f90, time_integration.f90)

17/04/14

MK

r1364

3.10

B

cpulog added to lpm_pack_arrays.90 (Makefile)

16/04/14

FH

r1362

3.10

C/B

Two-moment cloud microphysics improved. As a new default, two-moment cloud microphysics are called just once before the time step (and not before every sub-time step). Not affecting the results substantial, these changes increases the computational feasibility of the two-moment cloud microphysics scheme. Note that the computation of microphysics before every sub-time step is still possible by setting the new parameter call_microphysics_at_all_substeps = .T.. A vector-type CPU optimized version of the two-moment cloud physics was added as well. Moreover, the individual subroutines of microphyiscs were reviewd to increase their computational performance. The computation of turbulent surface fluxes of rain water content (qr) and rain drop concentration (nr) were added (bugfix). The default of drizzle has been set to .T., since analysis showed that its computational needs are marginal. In prognostic_equations, w_subs is allocated only if it is not allocated before (bugfix). (advec_s_bc, advec_ws, boundary_conds, check_parameters, init_3d_model, init_cloud_physics, Makefile, microphysics, modules, parin, prandtl_fluxes, prognostic_equations)

11/04/14

FH

r1360

3.10

C/N/B

Integration of the new Lagrangian particle structure (4D-array insetad of 1d-array). Particle tails are currently not available. lpm_extend_particle_array.f90 and lpm_sort_arrays.f90 were deleted, since they are not necessary due to the new particle structure. mod_particle_attributes.f90 was added to PALM and contains all particle related variables (a former part of modules.f90). A bugfix in write_3d_binary.f90 was necessary to allow restart runs using particles. Several other files were changed (check_open.f90, check_parameters.f90, data_output_2d.f90, data_output_3d.f90, data_output_mask.f90, data_output_ptseries.f90, header.f90, init_3d_model.f90, lpm.f90, lpm_advec.f90, lpm_boundary_conds.f90, lpm_calc_liquid_water_content.f90, lpm_collision_kernels.f90, lpm_data_output_particles.f90, lpm_droplet_collision.f90, lpm_droplet_condensation.f90, lpm_exchange_horiz.f90, lpm_extend_particle_array.f90, lpm_extend_tail_array.f90, lpm_extend_tails.f90, lpm_init.f90, lpm_init_sgs_tke.f90, lpm_pack_arrays.f90, lpm_read_restart_file.f90, lpm_release_set.f90, lpm_set_attributes.f90, lpm_sort_arrays.f90, lpm_write_exchange_statistics.f90, lpm_write_restart_file.f90, Makefile, Makefile_check, mod_particle_attributes.f90, modules.f90, package_parin.f90, parin.f90, read_3d_binary.f90, sum_up_3d_data.f90, user_lpm_advec.f90, user_lpm_init.f90, user_lpm_set_attributes.f90, write_3d_binary.f90).

11/04/14

BW

r1358

3.10

C

Adjustments for lccrayh (automatic restarts on lccrayh outside of IMUK are now possible, mrun)

10/04/14

RH

r1356

3.10

C

Error message specified in case that the NUDGING_DATA has a maximum vertical height that is smaller than the vertical grid used in PALM. (nudging)

08/04/14

PALM team

r1354

3.10

B

Attention: About 74 PALM-FORTRAN-files in the SOURCE-directory are affected by these changes.

All REAL constants are provided with KIND-attribute by using _wp due to consistency reasons.

04/04/14

BM

r1352

3.10

B

Re-adjustments for lcxe6 after software updates on hexagon (.mrun.config.lcxe6, subjob, mbuild).

27/03/14

SR

r1348

3.10

B

Some missed variables added to ONLY-list. (exchange_horiz, exchange_horiz_2d)

27/03/14

RH

r1347

3.10

B/C

Bugfix:

REAL constants provided with KIND-attribute especially in call of intrinsic function like MAX, MIN, SIGN. (advec_bc, data_output_dvrp, inflow_turbulence, init_1d_model, init_advec, microphysics, lpm_collision_kernel, lpm_droplet_condensation)

Changed:

-qrealsize=8 removed, fftw include and library path added, debug options added (.mrun.config.ibmh)

26/03/14

FK

r1345

3.10

B

Bugfix: Added missing parameters bc_lr and bc_ns to ONLY-attribute. (exchange_horiz)

26/03/14

FK

r1343

3.10

B

Bugfix: REAL constants provided with KIND-attribute. (calc_spectra, fft_xy, pres, production_e, random_function, random_gauss, temperton_fft, time_integration, time_to_string, timestep, tridia_solver)

25/03/14

FK

r1341

3.10

B

Bugfix: REAL constants provided with KIND-attribute. (diffusion_e, diffusion_s, diffusion_u, diffusion_v, diffusion_w, diffusivities, init_3d_model, package_parin, plant_canopy_model, prandtl_fluxes)

25/03/14

RH

r1339

3.10

B

Bugfix: REAL constants provided with KIND-attribute. (prognostic_equations)

25/03/14

SR

r1337

3.10

C

Routine write_compressed removed. (Makefile, deleted: write_compressed)

25/03/14

RH

r1334

3.10

B

Bugfix: REAL constants provided with KIND-attribute. (init_cloud_physics, microphysics)

25/03/14

MS

r1332

3.10

B

Bugfix: call advec_ws or advec_pw for TKE only if NOT use_upstream_for_tke. (prognostic_equations)

24/03/14

MS

r1330

3.10

C

In case of SGS-particle velocity, advection of TKE is also allowed with dissipative 5th-order scheme. (check_parameters, prognostic_equations)

21/03/14

SR

r1327

3.10

C/B

Changed:

-s real64 removed (.mrun.config.hlrnIII)
-r8 removed (.mrun.config.imuk)

deleted: .mrun.config.imuk_ice2_netcdf4 .mrun.config.imuk_hlrn

REAL constants defined as wp-KIND. (modules)

"baroclinicity" renamed "baroclinity", "ocean version" replaced by "ocean mode". (check_parameters)

Code parts concerning old output formats "iso2d" and "avs" removed. netCDF is the only remaining output format. (check_open, check_parameters, close_file, data_output_mask, data_output_profiles, data_output_ptseries, data_output_spectra, data_output_tseries, data_output_2d, data_output_3d, header, lpm_data_output_part, lpm_exchange_horiz, lpm_init, lpm_release_set, modules, parin, deleted: write_compressed)

Bugfixes:

duplicate error message 56 removed. (check_parameters)

21/03/14

BM

r1326

3.10

N,B

New code:

New script document:changes has been added, which allows the automatic move of comments from "Current revisions:" to "Former revisions" (document_changes).

Bugfixes:

Some old comments in "Current revisions:" have been moved to "Former revisions:" (buoyancy.f90, mrun, nc2vdf, nc2vdf.config, nc2vdf.ncl)

21/03/14

MS

r1324

3.10

B

Bugfixes in ONLY-attributes. (calc_spectra, data_output_spectra, header, init_masks, package_parin, surface_coupler, transpose, write_var_list)

20/03/14

PALM-
team

r1322

3.10

C/B

Changes:
REAL functions and a lot of REAL constants provided with KIND-attribute. (about 40 PALM-FORTRAN files)

Bugfixes:
Some missed ONLY-attributes added.

20/03/14

PALM-
team

r1320

3.10

C

Attention: All PALM-FORTRAN-files in the SOURCE-directory are affected by these changes.

ONLY-attribute added to USE-statements.
KIND-parameters added to all INTEGER and REAL declaration statements. By default, all REALs are declared double precision (64bit) and INTEGERs single precision (32bit).
kinds are defined in new module kinds, old module precision_kind has been removed.
Revision history before 2012 removed.
Comment fields (!:) to be used for variable explanations added to all variable declaration statements.

17/03/14

SR

r1318

3.10

C

Former files/routines cpu_log and cpu_statistics combined to one file/module cpulog, which also includes the former data module cpulog from the modules-file. (new: cpulog, removed: cpu_log, cpu_statistics, changed: about 50 routines)

17/03/14

RH

r1317

3.10

B

Bugfix: Allocation of w_subs. (init_3d_model)

14/03/14

MS

r1315

3.10

N

Vertical logarithmic interpolation of horizontal particle speed for particles between roughness height and first vertical grid level. (lpm_advec, lpm_init, modules)

14/03/14

JF

r1313

3.10

C

Text correction (header.f90)

14/03/14

RH

r1312

3.10

C

Bugfixes: forgotten dependency and #if clause not closed (data_output_2d, Makefile)

14/03/14

SR

r1310

3.10

C

Update of GPL copyright. (all files under GPL)

13/03/14

JF

r1308

3.10

C

Changed:
Adjustments for parallel NetCDF output on Cray XC30 systems (lccrayh/lccrayb).

Changes to increase the performance of the parallel netCDF output:

  • Environmental variables, e.g. for disc striping, are set. (.mrun.config.hlrnIII)
  • The time dimensions are set to limited instead of unlimited. (check_parameters, data_output_2d, data_output_3d, header, netcdf, modules, read_var_list, write_var_list)
  • Output of axis data and update of time axis is done by PE0 only. (data_output_2d, data_output_3d, netcdf)
  • Cross sections are first stored on a local array, collected by MPI_ALLREDUCE, and then output collectively. (data_output_2d, netcdf)
  • The "no fill"-attribute is set for all variables using NF90_DEF_VAR_FILL. This prevents netCDF from initializing the complete file (writing zero-values) at the beginning, which turned out to be extremely time consuming. (netcdf)

Attention: So far, parallel NetCDF output is only available for 2D- and 3D-data and not for masked data.
If the user chooses netcdf_data_format = 5/6, parallel output is used for 2D- and 3D-data and for masked data netcdf_data_format is set internally to the value of 3/4, respectively (check_parameters, time_integration)

13/03/14

SR

r1306

3.10

N/C

New:
module for declaring kind definitions added. (new: mod_kinds)

Changed:
openMP sections removed from FFT/ALLTOALL overlapping. (poisfft)

Second argument removed from routine poisfft, because it was unused. (poisfft, pres)

12/03/14

SR

r1304

3.10

B/C

Bugfix:
concerning openmp: work1 used in Temperton algorithm must be private. (fft_xy)

single core MPI runs missed some settings of transpose indices. (init_pegrid)

Changed:
ulimit option changed from -Ss to -s. (mrun)

06/03/14

RH

r1301

3.10

C/B

Enable usage of large_scale_subsidence in combination with large_scale_forcing where the profile for the subsidence velocity w_subs can be prescribed. w_subs is now part of the standard profile output. (check_parameters, flow_statistics, header, init_3d_model, ls_forcing, parin)

04/03/14

SR

r1291

3.10

N

Release 3.10 created.

04/03/14

SR

r1289

3.10

C

Version update to 3.10. (palm)

Script comments translated to English. fimm-, scirocco-, ibmy-, nech-, and sgi-specific code removed. (mbuild, mrun, subjob)

Routine local_getenv removed. (interpret_config)

28/01/14

SR

r1279

3.9

N

tasks_per_node must not be an integral divisor of numprocs any more. This change was done in order to remove annoying restrictions concerning the number of processors, which appear on machines with larger nodes (e.g. containing 24 cores). Now, without this restriction, one of the nodes will be filled with less than the given number of tasks per node. A respective warning is given. (mrun, subjob)

21/01/14

JF

r1278

3.9

N

Temporary workaround for lccrayb/h, increasing the limit of open files per processor which is needed for combine_plot_fields. The system preferences is currently 1024 open files per processor (.mrun.config.hlrnIII).

15/01/14

RH

r1276

3.9

C

Usage of Dirichlet bottom boundary condition for scalars in conjunction with large scale forcing enabled (check_parameters, ls_forcing, prandtl_fluxes, time_integration)

09/01/14

RH

r1274

3.9

C

Adjustments for lccrayh (mbuild, mrun, subjob, .mrun.config.hlrnIII)

08/01/14

BW

r1272

3.9

C

Small adjustment for lcflow (mrun)

16/12/13

JF

r1270

3.9

C

Call of combine_plot_fields adjusted for lccrayb/lccrayh.
aprun is used for calling combine_plot_fields on the CRAY-machine in Hannover and Berlin because otherwise the script is started on the Cray system managment (MOM) nodes were the stack size limit is too small for larger jobs.

12/12/13

RH

r1268

3.9

B

Bugfix: argument of calc_mean_profile corrected (nudging)

11/12/13

RH

r1266

3.9

C

Adjustment for lccrayb: use msub instead of qsub (subjob)

9/12/13

JF

r1264

3.9

B

Bugfix: Using number of nodes instead of number of processors for lccrayb (subjob)

9/12/13

JF

r1262

3.9

C

Further adjustments for lccrayb, change from qsub to msub command (subjob)

8/11/13

SR

r1257

3.9

N, C, B

New:
openACC porting of timestep calculation. (modules, timestep, time_integration)

Changed:
openACC loop directives and vector clauses removed where they do not give performance improvements (concerning PGI compiler versions >= 13.6). (advec_ws, buoyancy, coriolis, diffusion_e, diffusion_s, diffusion_u, diffusion_v, diffusion_w, diffusivities, exchange_horiz, fft_xy, pres, production_e, transpose, tridia_solver, wall_fluxes)

openACC loop independent clauses added. (boundary_conds, prandtl_fluxes, pres)

openACC declare create statements moved after FORTRAN declaration statement. (diffusion_u, diffusion_v, diffusion_w, fft_xy, poisfft, production_e, tridia_solver)

openACC end parallel replaced by end parallel loop. (flow_statistics, pres)

openACC kernels do replaced by kernels loop. (prandtl_fluxes)

output format for theta* changed to avoid output of * in the run-control file.
Attention: Due to this modification, the format of the default run-control file has changed. (run_control, example_cbl_rc)

Bugfix:
Calculation of the advective timestep in case of vertically stretched grids has been corrected.
Attention: Due to this modification, the contents of the default run-control output has changed. (timestep, example_cbl_rc)

7/11/13

JF

r1254

3.9

B

Bugfix: add ref_state to read_parts_of_var_list, otherwise ref_state is zero for initializing_actions = 'cyclic_fill' (read_var_list)

Bugfix: q is set to qr in case that q is smaller than qr (calc_liquid_water_content)

7/11/13

RH

r1252

3.9

C

Bugfix: calculate dtm and dtp also in vector version (nudging)

6/11/13

RH

r1250

3.9

C

Remove call of user module and some reformatting (ls_forcing, nudging)

4/11/13

RH

r1248

3.9

C

NCL function getfilevarnames changed with NCL version 6.1.1 and higher. This required adaptation in the PALM NCL scripts. (cross_sections.ncl, profiles.ncl, spectra.ncl, timeseries.ncl)

1/11/13

RH

r1247

3.9

N

Enable usage of nudging also for accelerator version. (prognostic equations)

31/10/13

SR

r1244

3.9

B

Bugfix for index bounds in case of 3d-parallel output. (data_output_3d)

30/10/13

RH

r1243

3.9

N, C

New:
It is now possible to use nudging and large_scale_forcing from an external file. To use these methods two additional files have to be provided in which information about nudging profiles (NUDGING_DATA) and large scale information (LSF_DATA) about the geostrophic wind components, large scale subsidence profiles and surface fluxes can be found. Note that the default PALM configuration files like .mrun.config.default are updated to contain entries for NUDGING_DATA and LSF_DATA. (boundary_conds, check_parameters, header, init_3d_model, ls_forcing, microphysics, modules, nudging, palm, parin, prognostic_equations, read_var_list, time_integration, write_var_list, Makefile, .mrun.config.default and its derivates)

Changed:
The subroutine calc_mean_profiles is generalized for a wider use in PALM (buoyancy.f90).
It is now possible to output the geostrophic wind components ug and vg in profile data (check_parameters, flow_statistics).

14/10/13

FH

r1238

3.9

C

Configuration file for HLRN III changed (.mrun.config.hlrnIII).

27/09/13

SR

r1236

3.9

B

The number of spectra levels to be output is checked for 0. (check_parameters)

25/09/13

MK

r1235

3.9

N

Added new configuration file for the PALM seminar at CUHK (Chinese University of Hong Kong) (.mrun.config.cuhk)

25/09/13

FK

r1234

3.9

N

Update of some tutorial presentations. (installation.tex, palm_structure.tex, user_defined_code.tex)

23/09/13

FK

r1233

3.9

N

Update of tutorial presentation "PALM overview". (palm_overview.tex)

20/09/13

FK

r1232

3.9

C

Made some changes to create a more generic version of tutorial presentation "Debugging". (debugging.tex)

20/09/13

FK

r1231

3.9

N

Added new block (parallel trace) for debug version. (.mrun.config.default)

19/09/13

FK

r1228

3.9

B

Some typos have been removed in tutorial. (exercise_neutral.tex)

18/09/13

MF

r1227

3.9

N

Update of several tutorial presentations (exercise_neutral.tex, installation.tex, non_cyclic_boundary_conditions.tex, numerics_bc.tex,parallelization.tex, program_structure.tex, runs_with_mrun.tex, sgs_models.tex, topography.tex, user_defined_code.tex).

16/09/13

SR

r1224

3.9

N

First adjustments for HLRN-III system (lccrayb). (mrun, subjob, new: .mrun.config.hlrnIII)

Dummy interface added to avoid compiler warnings. (cuda_fft_interfaces)

10/09/13

SR

r1221

3.9

N, C, B

New:
openACC porting of reduction operations. An accelerator-version for flow_statistics with modified loop structure k,i,j has been implemented. It is activated with preprocessor flag -D__openacc. The extra accelerator version is required because so far, the openACC standard only allows reduction operations on simple scalars. Since 1D-vectors along k are used in flow_statistics, they had to be replaced by scalars and the k loop has now to be used as the outermost loop. Additional 3D-flag arrays have been introduced for replacing the 2D-index arrays nzb_s_inner and nzb_diff_s_inner in routines pres and flow_statistics. Respective "global-sum" loops are running from k = nzb. Within the loops, values for grid points below the surface (topography) are multiplied by zero, all others by one, using the flag array rflags_invers. This array is dimensioned (j,i,k) to allow for better cache usage in the loops of the accelerator version of flow_statistics. (flow_statistics, init_grid, init_3d_model, modules, palm, pres, time_integration)

Changed:
For PGI/openACC performance reasons (PGI compiler version 13.6, CUDA 5.0) the default compile options have been set to "-ta=nocache", which gives a speed-up of about 10-20%. For the same reason, the environment variable PGI_ACC_SYNCHRONOUS is set to 1 in the simple run script, which significantly improves the performance about 80%. (MAKE.inc.pgi.openacc, palm_simple_run)

The type of flag array wall_flags_0, used in the Wicker-Skamarock scheme for advection of the vertical wind component, has been changed to 32bit INTEGER. An additional array wall_flags_00 has been introduced to hold flag bits 32-63. This is required because the former used KIND = SELECTED_INT_KIND(11) caused wrong results with openACC. (advec_ws, init_grid, modules, palm)

Bugfix:
Dummy argument tri in 1d-routines replaced by tri_for_1d because of name conflict with array tri in module arrays_3d. (tridia_solver)

30/08/13

RH

r1220

3.9

B

Usage of own branch for fftw enabled (fft_xy).

26/08/13

SR

r1216

3.9

N, C, B

New:
Overlapping execution of fft and transpositions (MPI_ALLTOALL), steered with new parameter transpose_compute_overlap. Attention: real overlapping has not been activated so far, but better cache usage already gives performance improvements.

Due to fftw (instead of Temperton, r1210), tridia-solver improvements (r1212) and the better cache usage, the fft-solver speeds up for about 20% (on a 1024x1024x512 grid). (fft_xy, header, modules, parin, poisfft, tridia_solver, Makefile_check)

fftw implemented for 1D-decomposition. (fft_xy)

Changed:
Resorting of arrays moved to separate routines resort_for_... (calc_spectra, poisfft, transpose)

Bugfix:
Bugfix concerning Makefile_check. (mbuild)

21/08/13

FK

r1214

3.9

N

Added parameter check for simultaneous use of vertical grid stretching and particle advection (check_parameters).

15/08/13

SR

r1212

3.9

C

The tridiagonal solver has been moved to a separate module. The tridiagonal matrix coefficients of array tri are calculated only once at the beginning, which speeds up the solver by almost a factor of two. In connection with this change, the old hybrid Poisson-solver (which allowed parallel transposition/calculation in case of a 1d domain decomposition) has been removed. (Makefile, Makefile_check, check_parameters, header, modules, init_pegrid, init_3d_model, palm, poisfft, pres, new: tridia_solver, removed: poisfft_hybrid)

Object file list replaced by a simple one line statement. (Makefile_check)

14/08/13

SR

r1210

3.9

N, C

New:
fftw support added. Using fftw requires to set parameter fft_method = 'fftw' , to set the cpp-preprocessor '-D__fftw' in the %cpp_options-line of the configuration file, and to give the paths to the fftw include file and library by a %fftw_inc and %fftw_lib line, respectively. The fftw-routines are more than two times faster than the Temperton-fft. (check_parameters, fft_xy, mbuild, mrun)

Changed:
The object file list has been replaced by a simple one line statement. (Makefile)

13/08/13

SR

r1208

3.9

N

acc-update clauses added for array "ar", so that ffts other than cufft can also be used (although they are not ported and will give a poor performance). (poisfft)

18/07/13

BW

r1206

3.9

B

Bugfix: typo in preprocessor directive removed (netcdf)

15/07/13

FK

r1205

3.9

N,B

New: general requirement information has been added to tutorial for PALM installation at hlrn. (installation.tex)

Bugfix: some typos have been removed in tutorial. (canopy_model.tex)

10/07/13

BW

r1202

3.9

C

Script adjustments for Forwind cluster (lcflow). (mrun, subjob, batch_scp, .mrun.config.forwind)

05/07/13

SR

r1199

3.9

N

Script adjustments for CSC Helsinki (lccrayf), Cray XC30 with SLURM batch system. (mrun, subjob, new: .mrun.config.csc_sisu)

Executables for batch jobs can be created in advance (i.e. when mrun is called by the user), in order to avoid calling the compiler within the batch job. This feature is required for hosts which do not allow compiler calls on the batch nodes and which also do not allow ssh calls to the login nodes. The feature can be switched on by adding the line

%create_executable_for_batch  true 

in the configuration file. Attention: It only works if local host and remote host is identical, i.e. you have to call mrun on that host where the batch job should run (no remote batch jobs allowed).

04/07/13

FK

r1198

3.9

B

Bugfix: some typos have been removed in tutorial. (exercise_cbl.tex, exercise_neutral.tex)

01/07/13

RH

r1196

3.9

B

Bugfix: allocation of ref_state was moved from init_3d_model to parin and read_var_list (init_3d_model, parin, read_var_list)

25/06/13

RH

r1190

3.9

B

Enable automatic restarts of ibmh (mrun)

20/06/13

RH

r1188

3.9

B

Bugfix in modes 'min' and 'max': x and z component were interchanged (global_min_max)

18/06/13

SR

r1186

3.9

B

Bugfix: 0.0 replaced by zu(nzb) as the lowest default height level for masks, because a zero value does not work in case of ocean runs. (init_masks)

17/06/13

RH

r1184

3.9

C

Explicit use of classes cluster and express enabled for ibmh (mrun, subjob)

14/06/13

SR

r1179

3.9

N, C, B

New, Changed:
Calculation and handling of reference state in buoyancy term revised. Initial profiles can be used as reference state in the buoyancy term. New parameter reference_state introduced. The default value is reference_state = 'initial_profile' . Previously, the instantaneous horizontally averaged profiles were used as the default reference state. This method can still be switched on using reference_state = 'horizontal_average' . (buoyancy, check_parameters, diffusion_e, diffusivities, flow_statistics, header, init_ocean, init_3d_model, modules, palm, parin, production_e, prognostic_equations, time_integration, write_var_list)

Initial profile for rho added to array hom (id=77). (check_parameters)

Attention: Model results from this version slightly differ from those of earlier versions due to the change in the default reference state. The example result file (see example_cbl_rc). This version does not allow to read restart files created with earlier versions!

31/05/13

MG

r1174

3.9

B

Bugfix: Since r667 there was a bug in the definition of the initial profiles of pt, ug, vg, q and lad (in atmosphere). r667 sets the level zu(0) to 0 (in older revisons it was defined as dz(0)=-0.5 dz) and this change was not considered in the part which calculates the initial profiles from prescribed gradients. The bug had only an effect if a non-zero gradient was set between the first two grid levels and caused a small shift of the complete profile. (check_parameters)

30/05/13

SR

r1171

3.9

N, C, B

New:
use_reference-case activated in accelerator version. (buoyancy, diffusion_e)

New option -e for simple-run command, which defines the execution command to be used to run PALM. Compiler-option-set for pgi/openacc added. (palm_simple_run, new: MAKE.inc.pgi.openacc)

Three parameter sets for openACC benchmarks added. (trunk/EXAMPLES/benchmark_acc)

Changed:
Split of prognostic_equations deactivated, for the time being. (time_integration)

Bugfix:
diss array is allocated with full size if accelerator boards are used. Allocation with dummy elements (e.g. (2,2,2)) still created error "call to cuCtxSetCurrent returned error 216: Other". (init_3d_model)

24/05/13

SR

r1166

3.9

C, B

Changed:
Data type C_DOUBLE/COMPLEX reset to dpk. (cuda_fft_interfaces, fft_xy)

Bugfix:
PGI 13.4 / CUDA 5.0 require to give idata/odata arguments the DEVICE attribute. (cuda_fft_interfaces)

24/05/13

SR

r1165

3.9

C

Small changes in tutorial. (runs_with_mrun.tex)

21/05/13

JF

r1159

3.9

B

Bugfix: If radiation boundary conditions are used, the calculation method of the phase velocity is now set by the logical operator use_cmax. The case use_cmax = .T. was wrongly defined as Neumann boundary condition before. (boundary_conds, check_parameters, header, init_3d_model, init_pegrid, modules, parin, poismg).

10/05/13

SR

r1153

3.9

C

Code adjustments of accelerator version required by PGI 13.4 / CUDA 5.0. (buoyancy, cuda_fft_interfaces, fft_xy, init_3d_model, wall_fluxes)

18/04/13

SR

r1139

3.9

B

Bugfix for calculating the id of the PE carrying the recycling plane. (init_pegrid)

12/04/13

SR

r1128

3.9

N, C

New:
Asynchronous transfer of ghost point data realized for acc-optimized version: prognostic_equations_acc is first called four times for those points required for the left-right and north-south exchange, respectively, and then for the remaining points. This feature is controlled with new inipar-parameter background_communication, which is not documented so far. (advec_ws, buoyancy, coriolis, diffusion_e, diffusion_s, diffusion_u, diffusion_v, diffusion_w, exchange_horiz, modules, parin, production_e, prognostic_equations, time_integration, wall_fluxes)

Changed:
Those parts requiring global communication moved from prognostic_equations to time_integration. (Makefile, prognostic_equations, time_integration).

11/04/13

FH

r1127

3.9

B

Bugfix: Legends (time, file) are plotted at the first plot of every page (profiles.ncl).

10/04/13

FH

r1126

3.9

B

Bugfix: Palmplot pr can be used with multiple files (file_1, ..., file_6). Palmplot pr changes var='cross_profiles' to var='all' if statistic regions are used. (profiles.ncl)

09/04/13

SR

r1124

3.9

B

Bugfix: variable memory is exported via typeset option -x, because otherwise an unknown side effect may lead to data loss while getopts is reading the script-option arguments. (mrun)

09/04/13

RH

r1122

3.9

B

Bugfix: change type of variable last_char from integer to character. (mrun)

05/04/13

SR

r1120

3.9

B

Calls of fft_x and fft_y replaced by fft_x_1d and fft_y_1d. (calc_spectra)

05/04/13

SR

r1119

3.9

B

Bugfix for setting -T option for subjob. (mrun)

27/03/13

MS

r1117

3.9

B

Bugfix in OpenMP parallelization. (pres)

26/03/13

FH

r1115

3.9

C, B

Changed:
All changes are related to the two-moments cloud physics scheme. Calculation of microphysical tendencies is now based on sedimentation flux divergences to save computational resources (calc_liquid_water_content, microphysics, prognostic_equations, data_output_3d, data_output_2d, sum_up_3d_data, flow_statistics). The actual calculation of the microphysical tendencies is moved from prognostic_equations.f90 to microphysics.f90 (microphysics, prognostic_equations). Unused and unnecessary (from a physical point of view) variables are removed (modules, parin, init_3d_model, boundary_conds, read_3d_binary, read_var_list, write_3d_binary, write_var_list). It is now allowed to use the parameter drizzle without precipitation (check_parameters, advec_ws, prognostic_equations, calc_liquid_water_content, swap_timelevel, time_integration). Used parameters are written to the header (header). Some reformatting (microphysics).

Bugfix:
Wrong coefficient removed in the calculation of the evaporation of rain drops (microphysics).

10/03/13

SR

r1113

3.9

N, C, B

New:
Further GPU-porting for vertical boundary conditions and several loops in pres. Most of cyclic boundary conditions now completely on device in single-core mode. (boundary_conds, exchange_horiz, modules, palm, pres, time_integration)

Changed:
Dummy argument "range" removed. (boundary_conds)

Bugfix:
Wrong index in loops of radiation boundary condition adjusted. (boundary_conds)

09/03/13

SR

r1111

3.9

N, C, B

New:
GPU porting of pres, swap_timelevel. Further porting of poisfft (including the tridiagonal solver), which now runs completely on GPU without any host/device data transfer for serial and parallel runs (but parallel runs still require data transfer before and after the MPI transpositions). The tridiagonal routines have been split into external subroutines (instead using embedded routines with CONTAINS). There is no distinction between parallel/non-parallel runs in poisfft and tridia any more. The respective preprocessor directives have been removed. The tridia routines have been moved to the end of file poisfft.f90 because of a probable bug in the PGI compiler 12.5 (otherwise "invalid device function" is indicated during runtime). Resorting from/to array work have been changed in the transpose routines. work now has 4 dimensions instead of 1. Adjustments of openACC directives. Output of accelerator board information. (cuda_fft_interfaces, fft_xy, flow_statistics, header, init_3d_model, palm, poisfft, pres, prognostic_equations, swap_timelevel, time_integration, transpose, .mrun.config.imuk_gpu)

Optimization of tridia routines: constant elements and coefficients of array tri are stored in separate arrays ddzuw and tric and only calculated once at beginning. Last dimension of tri has been reduced from 5 to 2. Routine poisfft_init is now called internally from poisfft. (Makefile, Makefile_check, init_pegrid, init_3d_model, modules, palm, poisfft, poisfft_hybrid)

CPU-time per grid point and timestep is output to CPU_MEASURES file. (cpu_statistics, modules, time_integration)

Changed:
Array diss is allocated only if required. (init_3d_model)

Pressure boundary condition "Neumann+inhomo" has been removed from the code. (check_parameters, header, poisfft, poisfft_hybrid, pres)

Bugfixes:
Missing dependency added for cuda_fft_interfaces. (Makefile)

CUDA fft plans adjusted for domain decomposition (before they have always been defined for the total domain). (fft_xy)

05/03/13

SR

r1108

3.9

B

Bugfix for r1106. (header)

Bugfix for coupled runs on lckyut/lckyuh. (mrun)

04/03/13

SR

r1106

3.9

N, B, C

New:
Start with porting of FFT-solver for serial runs to GPU using CUDA FFT. It will be finished in some later revision. The porting required to rearrange preprocessor lines in the transpose routines, so that they can also be used in serial (non-parallel) mode. The transpositions are now also carried out in the serial mode, which makes it a little bit slower. Routines fftx, fftxp have been replaced by calls of fft_x. In turn, the old fft_x has been renamed fft_x_1d and is now used for the 1D-decomposition routines. (Makefile, Makefile_check, fft_xy, poisfft, poisfft_hybrid, transpose, new: cuda_fft_interfaces)

--stdin argument has been added to mpiexec statement on lckyuh. Argument settings of -y and -Y output to header. (mrun)

Changed:
Module array_kind renamed precision_kind. (check_open, data_output_3d, fft_xy, modules, user_data_output_3d)

Some format changes for coupled atmosphere-ocean runs. (header)

Small changes in code formatting. (microphysics, prognostic_equations)

Bugfixes:
Default value (0) assigned to coupling_start_time. (modules)

Initial time for preruns of coupled runs is output as -coupling_start_time. (data_output_profiles)

20/02/13

SR

r1103

3.9

B, C

Changed:
mrun script running under ksh again, because of problems with reading from stdin, if the bash script is called from a Korn-shell environment. (mrun)

subjob has also been made bash-compatible. (subjob)

Further adjutments for lckyuh. (mrun, subjob, added: .mrun.config.hayaka)

Bugfixes:
Turbulent inflow must not require cyclic fill in restart runs. (check_parameters)

tri, ar, and ar1 array arguments in tridia-routines (2d) are removed because they sometimes cause segmentation faults with the INTEL 12.1 compiler. (poisfft)

17/02/13

SR

r1101

3.9

C

mrun script now running under bash instead of ksh. This required small adjustments in output formatting (alignment is done with printf instead using strings defined with "typeset -L/-R"-command). print commands are replaced by echo. Small changes for reading from stdin. (mrun)

Cross compilername on lckyuh compute nodes replaced by real compiler name. (mrun)

10/02/13

SR

r1099

3.9

N

Adjustments for Forwind cluster (lcflow). First, incomplete, adjustments for Kyushu University computing center (hayaka -lckyuh). Further small adjustments for lckyut (tatara). (batch_scp, mbuild, mrun, subjob, .mrun.config.forwind, .mrun.config.tatara)

03/02/13

SR

r1095

3.9

B

FORTRAN error in r1092 removed. (modules)

03/02/13

SR

r1094

3.9

N, C

New:
ssh/scp port can be set explicitly in the configuration file using environment variable scp_port. (batch_scp, mrun, subjob)

Changed:
Unused variables removed from code. (interpret_config)

02/02/13

SR

r1092

3.9

C

Unused variables removed from several subroutines. (advec_s_bc, check_open, check_parameters, close_file, cpu_statistics, data_output_mask, data_output_profiles, data_output_tseries, diffusion_s, exchange_horiz_2d, fft_xy, header, inflow_turbulence, init_3d_model, init_grid, init_pegrid, local_tremain_ini, lpm_collision_kernels, lpm_droplet_collision, lpm_droplet_condensation, lpm_init, microphysics, modules, netcdf, palm, parin, poisfft, poismg, pres, prognostic_equations, random_function, read_var_list, surface_coupler, time_integration, timestep, transpose, write_compressed)

02/02/13

SR

r1090

3.9

N

Script adjustments for Kyushu-University computing center (lckyut). (batch_scp, mbuild, mrun, subjob)

04/01/13

BM

r1083

3.9

B

Bugfixes in the parameter file check (mrun, mbuild).