HPCW 3.0
Loading...
Searching...
No Matches
Building ecRad

The current building process for ecRad relies on one of the pre-existing compiler profiles from the ecRad repository. At present, HPCW will try to detect the Fortran compiler that is in use and choose the matching profile. This is true for both the CMake build and the provided spack package.

If you want to provide your own compiler profile, either because your compiler is not supported or because you want to try different compiler options, you can do so by setting the CMake variable -Decrad_custom_profile=ON. Setting this command creates the following compiler profile:

FC = ${CMAKE_Fortran_COMPILER}
CC = ${CMAKE_C_COMPILER}
OPTFLAGS = ${ecrad_opt_flags}
LDFLAGS = ${ecrad_ld_flags}
BASICFLAGS = ${CMAKE_Fortran_MODDIR_FLAG}../mod ${ecrad_basic_flags}
OMPFLAG = ${OpenMP_Fortran_FLAGS}"

This custom profile exhibits the same structure as the default ones in ecRad. HPCW tries to infer the compilers, the OpenMP flags and CMAKE_Fortran_MODDIR_FLAG. The other flags can be set by the user, via the CMake variables ecrad_{opt,basic,ld}_flags.

Note that ecRad does not have an MPI dependency, and is also not geared towards distributed-memory parallelism in any other way, which is why all tests are constrained to a single node.

Available Test Cases

HPCW offers three test cases for ecRad: small, medium and big. All test cases build upon the ecRad practical, which is provided by the developers to familiarize new users with the application.

The small test case in HPCW simply executes the practical, and usually has a run time of less than a second for each repetition. Therefore, this test is a good starting point and "health check" for the built executable.

The medium and the big test case differ from each other only in the size of the input file. For both tests, the input was generated by concatenating the slice of the ERA5 reanalysis data from the practical a certain number of times (1000 and 2000 times respectively). Both tests use slightly altered namelists, compared to the practical. The computations for all test cases are performed 5 times (controlled via nrepeat), plus reading and writing of HDF5/NC4 files is enabled.

The additional input files are downloaded at build time, however, if you want to create input files of different sizes, you may use this script. Note that this script utilizes NetCDF Operators (NCO), so you need to install these prior to executing that script. You may also need to adjust the path to the era5slice.nc from the ecRad practical. Usage of this script is in no form required for any of the tests in HPCW though. It is present merely out of convenience, as an additional option for users to scale the tests to their needs.