Version 16 (modified by knoop, 6 years ago) (diff)

--

PALM Tests

PALM features a test suite to ensure its reliability while development goes forward. It can be executed locally. For available options and their description type:

palmtest --help

How to add a test case

Any developer can add new test cases. All test cases are stored within trunk/TESTS/cases. Please follow the layout of already existing cases and make sure the reference files in the MONITORING and OUTPUT sub-directories are valid and reproducible according to the parameters specified in its respective case_config.yml file. It is the developers responsibility to make sure that the newly added test case succeeds at the time it is added! All methodical errors associated with a specific test case that arise later, are also the initial developers responsibility. In case a commit breaks a test, the developer who performed that specific commit is responsible for fixing it.

Rules for test case development

Please to comply with the following Rules while developing new test cases:

  1. The test case must be executable at least on 4 cores.
  2. The execution time of the test case on a single core should not exceed 10 seconds.
  3. The test case is only allowed to be committed after the developer made sure that the test can run successful on the server.
  4. If a test case creates problems that are not fixable within an acceptable timeframe, the test case will be disabled. The test case may be added again, once all problems are solved.

List of proposed test cases

Name Description Status Responsible Developers
ex_lsm_clearsky Basic LSM setup Implemented Katrin
FFTW / MG setup Missing
passive scalar setup Missing
particle LCM setup - for passive tracers with SGS fluctuations Missing Johannes
particle LCM setup - for cloud droplets including collision Missing Johannes
bulk-microphysics setup Missing Johannes
non-cyclic recycling setup Missing
non-cyclic turbulence generator setup Missing
cyclic fill setup Missing
all output activated setup Missing
nesting setup Missing
Setup for testing the wind turbine model Missing

List of proposed build setups

Name Description Status Responsible Developers
different compiler: intel/cray/pgi ? Missing
non-MPI - should be serial. i.e. without -D__parallel (Siggi) Missing
hybrid MPI-OpenMP Missing
non-NetCDF - I think this is not necessary (Siggi) Missing
nopointer Missing
FFTW - only required after OpenACC is part of default code (Siggi) Missing
KPP_CHEM Missing

The Testserver

The server responsible for testing can be found here. It is a 32 Core shared memory node running Jenkins on top of Ubuntu Server 16.04. The server runs the following test script based on a plain PALM installation.

#!/bin/bash

palmtest --no-color --test-id "${BUILD_NUMBER}"

result=$?

if [[ ${result} -ne 0 ]]; then
   echo ""
   echo "%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%"
   echo "%%%%%%%%%%%%%%%%%%%%   DUMPING palmtest.log   %%%%%%%%%%%%%%%%%%%%%%%%"
   echo "%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%"
   cat ${WORKSPACE}/tests/${BUILD_NUMBER}/palmtest.log
   exit 1
else
   exit 0
fi

Attachments (1)

Download all attachments as: .zip