Commit 363948ff authored by Thomas Jahns's avatar Thomas Jahns 🤸
Browse files

Refine documentation.

parent 7a3cb72e
......@@ -19,36 +19,36 @@ installation can actually be used for ICON.
This script facilitates a consistent from-source installation for the
following packages:
+ __libaec__ Adaptive entropy encoding data compression library, used
+ __libaec__ <https://gitlab.dkrz.de/k202009/libaec>
Adaptive entropy encoding data compression library, used
by __hdf5__ and __eccodes__.
+ __HDF5__ Data container library commonly used by netcdf version 4 and
+ __HDF5__ <https://www.hdfgroup.org/solutions/hdf5>
Data container library commonly used by netcdf version 4 and
later.
+ __Pnetcdf__, also known as __parallel-netcdf__
+ __Pnetcdf__, also known as __parallel-netcdf__ <https://parallel-netcdf.github.io/>
A library for parallel access to those file formats of the netcdf
library not using the HDF5 library.
+ __NetCDF-C__
+ __NetCDF-C__ <https://github.com/Unidata/netCDF-C>
A library to access a data file format common in a number of
physical sciences.
+ __netcdf-fortran__
+ __netcdf-fortran__ <https://github.com/Unidata/netCDF-Fortran>
A Fortran wrapper library for netcdf-c.
+ __eccodes__
+ __eccodes__ <https://confluence.ecmwf.int/display/ECC/ecCodes+Home>
A library to read and/or write data in the WMO GRIB1 and GRIB2
formats. Provided by ECMWF.
+ __YAXT__
+ __YAXT__ <https://www.dkrz.de/redmine/projects/yaxt>
Facilitates various data exchanges for arrays distributed over
multiple MPI tasks. Effectively removes the necessity to code
invidual MPI message passing calls.
+ __PPM__
+ __PPM__ <https://www.dkrz.de/redmine/projects/scales-ppm>
Partitioning and Parallelization Module, a library to aid in various
recurring tasks of parallel programs.
+ __CDI__
+ __CDI__ <https://code.mpimet.mpg.de/projects/cdi>
Provides an abstraction for multiple data formats to ease switching
between COARDS conforming netCDF and WMO GRIB formats.
Includes the *CDI-PIO* parallelization layer needed for parallel
output from a number of climate/weather models.
FIXME: add URLs for information on individual libraries.
## Scripts Overview
The supplied scripts provide the following:
......@@ -127,9 +127,10 @@ command-line arguments (preferred) or via environment variables:
environment for running make check is significantly different from
the build environment, e.g. because a batch allocation must be
provided for testing.
+ __CC__, __FC__, __CXX__
+ __CC__, __FC__, __CXX__, __F77__
Command to invoke the C, Fortran and C++ compilers
respectively, defaults to mpicc, mpifort and mpic++.
F77 is special in that it defaults to the value of FC.
+ __CPPFLAGS__, __CFLAGS__, __FCFLAGS__, __FFLAGS__, __CXXFLAGS__
Initial flag variables for the C preprocessor and compiler, the Fortran and
Fortran 77 compilers and the C++ compiler. These default to -g -O2
......@@ -146,6 +147,9 @@ command-line arguments (preferred) or via environment variables:
configuration, typically `mpirun`. When using the Slurm batch
scheduler, `srun` is usually preferred, on Cray systems `aprun`
might be needed.
+ __CMAKE_EXTRA_ARGS__
The contents of this variable is expanded into multiple arguments to
be added to the invocation of cmake for eccodes.
+ __libtype__
Should take one of the values `static`,`shared`, or `both`. Default is to
build shared objects only.
......@@ -171,7 +175,8 @@ command-line arguments (preferred) or via environment variables:
+ __builddir__
Where to perform compilations. If at all possible, it is suggested
to put this on tmpfs to reduce total build time significantly.
Defaults to `$basedir/build/$build`.
Defaults to `$basedir/build/$build` with individual packages being
built in a subdirectory corresponding to the package name.
+ __prefix__
Where to install packages to, defaults to `${basedir}/opt/${build}`.
If the `multi_installs` variable is set, each package is installed
......@@ -188,4 +193,23 @@ command-line arguments (preferred) or via environment variables:
+ __SCRATCH__
A directory with sufficient free space for the large file tests of
the various test suites. Must be writable for programs started by
__MPI_LAUNCH__.
\ No newline at end of file
__MPI_LAUNCH__.
Additionally, for each package variables can be provided
by prefixing the following suffices with the canonicalized package
name (non alphanumeric and underscore characters are replaced by
underscore and only lower case letters are used), e.g. NetCDF-C
becomes the `netcdf_c` prefix. Optionally, the prefix can be
extended with the canonicalized version to provide for fixes known to
be needed for a specific package version only.
+ *prefix*_configure
Contains extra arguments to pass to the configure step of the
package denoted by *prefix*
+ *prefix*_configure_env
This variable undergoes variable expansion as a prefix of the
configure command and can for example be used to run configure with
a different shell or via `salloc`.
+ *prefix*_check_env
These variables serve the same purpose as *prefix*_configure_env but
for the stage running the test suite.
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment