EcoSIM
May 17, 2026 ยท View on GitHub
A biogeochemical modeling library spins off the ecosys model.
Pull requests (for contributors & collaborators)
Before submitting your PR:
-
Search for existing PRs to prevent duplicating efforts
-
Test your changes: -Create separate PRs for each feature or fix:
-
Avoid combining unrelated changes in a single PR
-
For intricate features, consider opening a feature request first to discuss and align expectations
-
Consider allowing write access to your branch for faster reviews, as reviewers can push commits directly
-
If you are a new contributor
- Limit your open PRs to 1
- Do not submit trivial fixes (e.g. typos, formatting changes)
-
submit the PR to next, avoid main
Download
git clone --recursive git@github.com:jinyun1tang/EcoSIM.git
Building
Use the script in the root directory to build the code:
sh build_EcoSIM.sh
or run it as a bash script:
./build_EcoSIM.sh
This should do everything including building and linking all the required tpls, and configuring, building and linking EcoSIM itself.
The executable will be found in ./build/bin/ecosim.f90.x
This has been tested with gcc on multiple systems, but not intel compilers. See the .github/workflow/ecosim-ci.yml file for examples. You will need cmake to use the build_EcoSIM.sh script.
Additional options
The build_EcoSIM.sh script lets you set some opttional parameters:
debug=0 mpi=0 shared=0 verbose=0 sanitize=0 regression_test=0
precision="double" prefix="" systype=""
#Leave empty to just use the environment variable compiler CC="" CXX="" FC=""
You can also set options via the command line, for example:
./build_EcoSIM.sh CC=/path/to/cc CXX=/path/to/cxx FC=/path/to/fortran --debug --regression_test
Run
./build_EcoSIM.sh --help
for a full list of optional arguments
using docker on mac
-
make sure docker is installed on your machine, please see https://www.docker.com, and ask for help from whatever chatbot you have access to.
-
to turn on rocky-linux docker container, run
./run_docker.sh --fresh --rocky
where --fresh means the first time run docker, otherwise, use
./run_docker.sh --rocky
One can also try ubuntu container. However, it seems buggy on my apple machine.