CAMP: Chemistry Across Multiple Phases
The full CAMP documentation, including the BootCAMP tutorial is available here.
References:
Copyright (C) 2017–2021 Barcelona Supercomputing Center and the University of Illinois at Urbana–Champaign
This is the fastest way to get running.
-
Step 1: Install Docker Community Edition.
- On Linux and MacOS this is straightforward. Download from here.
- On Windows the best version is Docker Community Edition for Windows, which requires Windows 10 Pro/Edu.
-
Step 2: Run the CAMP test suite with:
docker run -it --rm ghcr.io/open-atmos/camp:main bash -c 'cd /build; make test'
Required dependencies:
- Fortran 2008 compiler - https://gcc.gnu.org/fortran/ or similar
- CMake version 2.6.4 or higher - http://www.cmake.org/
- json-fortran for JSON input file support - https://github.com/jacobwilliams/json-fortran
- SuiteSparse - http://faculty.cse.tamu.edu/davis/SuiteSparse/SuiteSparse-5.1.0.tar.gz
- A modified version of CVODE 3.1.2 - provided here in
cvode-3.4-alpha.tar.gz
-
Install cmake, json-fortran, SuiteSparse, and CVODE (see above).
-
Unpack CAMP:
tar xzvf camp-1.0.0.tar.gz
-
Change into the main CAMP directory (where this README file is located):
cd camp-1.0.0
-
Make a directory called
build
and change into it:mkdir build cd build
-
If desired, set environment variables to indicate the install locations of supporting libraries. If running
echo $SHELL
indicates that you are runningbash
, then you can do something like:export JSON_FORTRAN_HOME=${HOME}/opt export SUITE_SPARSE_HOME=${HOME}/opt export SUNDIALS_HOME=${HOME}/opt
Of course the exact directories will depend on where the libraries are installed. You only need to set variables for libraries installed in non-default locations, and only for those libraries you want to use.
If
echo $SHELL
instead istcsh
or similar, then the environment variables can be set likesetenv NETCDF_HOME /
and similarly. -
Run cmake with the main CAMP directory as an argument (note the double-c):
ccmake ..
-
Inside ccmake press
c
to configure, edit the values as needed, pressc
again, theng
to generate. Optional libraries can be activated by setting theENABLE
variable toON
. For a parallel build, toggle advanced mode witht
and set theCMAKE_Fortran_COMPILER
tompif90
, then reconfigure. -
Optionally, enable compiler warnings by pressing
t
inside ccmake to enable advanced options and then settingCMAKE_Fortran_FLAGS
to:-O2 -g -fimplicit-none -W -Wall -Wconversion -Wunderflow -Wimplicit-interface -Wno-compare-reals -Wno-unused -Wno-unused-parameter -Wno-unused-dummy-argument -fbounds-check
-
Compile CAMP and test it as follows. Some tests may fail due to bad random initial conditions, so re-run the tests a few times to see if failures persist.
make make test