Version 9 (modified by knoop, 7 years ago) (diff) |
---|
PALM Tests
PALM features a test suite to ensure its reliability while development goes forward. It can be executed locally with the following options:
palmtest -h "<configuration>" -d "<list of test cases>" -X <max number of cores to execute on> -N "<test id>"
As these are all optional, the defaults are as follows:
- configuration: default
- list of test cases: all available
- max number of cores to execute on: all available but not more that 32
- test id: the current time
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 plain PALM installation.
#!/bin/bash palmtest -h "default" -N "${BUILD_NUMBER}" -X 32 result_default=$? if [[ ${result_default} -ne 0 ]]; then palmtest -h "debug" -N "${BUILD_NUMBER}_debug" -X 32 result_debug=$? else result_debug=0 fi if [[ ${result_default} -eq 0 ]] && [[ ${result_debug} -eq 0 ]]; then exit 0 else exit 1 fi
Rules for test case development
Please to comply with the following Rules while developing new test cases:
- The test case must be executable on 1, 2, 4, 8, 16 and 32 cores.
- The execution time of the test case on a single core should not exceed 10 seconds.
- The test case is only allowed to be committed after the developer made sure that the test can run successful on the server.
List of proposed test cases
Name | Description | Status | Responsible Developers |
---|---|---|---|
example_cbl | Simple good old convective boundary layer setup | Implemented | |
ex_lsm_clearsky | Basic LSM setup | Implemented | Katrin |
test_oceanml | Basic ocean mixed layer setup | Implemented | Siggi |
FFTW / MG setup | Missing | ||
humidity setup | humidity is used in ex_lsm_clearsky | ||
passive scalar setup | Missing | ||
topography setup | Missing | ||
particle LCM setup - for passive tracers with SGS fluctuations | Missing | ||
particle LCM setup - for cloud droplets including collision | Missing | ||
bulk-microphysics setup | Missing | ||
non-cyclic recycling setup | Missing | ||
non-cyclic turbulence generator setup | Missing | ||
cyclic fill setup | Missing | ||
restart setup | Missing | ||
all output activated setup | Missing | ||
USM + canopy setup | Missing | ||
RRTMG setup | Missing | ||
nesting setup | Missing | ||
chemistry setup | Missing |
List of proposed build setups
Name | Description | Status | Responsible Developers |
---|---|---|---|
default | Based on gfortran, MPICH2, FFTW and NetCDF with options: -O3 -ffree-line-length-none | Implemented | Helge |
debug | Based on default but with debug options: -O0 -Wall -Wextra -pedantic -fcheck=all -fbacktrace | Implemented | Helge |
different compiler: intel/cray/pgi ? | Missing | ||
non-MPI | Missing - should be serial. i.e. without -D__parallel (Siggi) | ||
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 | ||
RRTMG | Missing | ||
KPP_CHEM | Missing |
Attachments (1)
- palm_testcases.odt (13.1 KB) - added by kanani 7 years ago.
Download all attachments as: .zip