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
buildand change into it:mkdir build cd build -
If desired, set environment variables to indicate the install locations of supporting libraries. If running
echo $SHELLindicates 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}/optOf 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 $SHELLinstead istcshor 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
cto configure, edit the values as needed, presscagain, thengto generate. Optional libraries can be activated by setting theENABLEvariable toON. For a parallel build, toggle advanced mode withtand set theCMAKE_Fortran_COMPILERtompif90, then reconfigure. -
Optionally, enable compiler warnings by pressing
tinside ccmake to enable advanced options and then settingCMAKE_Fortran_FLAGSto:-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