Skip to content

SINDBAD is a model data integration framework that encompasses the biogeochemical cycles of water and carbon, allows for extensive and flexible integration of parsimonious models with a diverse set of observational data streams.

License

Notifications You must be signed in to change notification settings

EarthyScience/SINDBAD

Repository files navigation

Sindbad.jl

JuliaLicense: EUPLv1.2

Welcome to the git repository for the development of the framework for Strategies to INtegrate Data and BiogeochemicAl moDels (SINDBAD).

Researchers and developers actively developing the model and doing research using this public SINDBAD repo are encouraged to contact and join the RnD-Team, which provides "beta" updates under active development.

SINDBAD is a model data integration framework that encompasses the biogeochemical cycles of water and carbon, allows for extensive and flexible integration of parsimonious models with a diverse set of observational data streams.

Repository Structure

Sindbad.jl and its sub-repositories all live in the Sindbad monorepo. At the root level of the repository, definitions of Sindbad models, variables, and functions needed for internal model executions are included.

For a short description on sub-packages under /lib/

🔥 Click for details 🔥
  • SindbadData.jl: includes functions to load the forcing and observation data, and has dev dependency on SindbadUtils.

  • SindbadExperiment.jl: includes the dev dependencies on all other Sindbad packages that can be used to run an experiment and save the experiment outputs.

  • SindbadMetrics.jl: includes the calculation of loss metrics and has dependency on SindbadUtils.jl.

  • SindbadML.jl: includes the dev dependencies on SindbadTEM.jl, SindbadMetrics.jl, SindbadSetup.jl, and SindbadUtils.jl as well as external ML libraries to do hybrid modeling.

  • SindbadOptimization.jl: includes the optimization schemes and functions to optimize the model, and has dev dependency on SindbadTEM.jl and SindbadMetrics.jl.

  • SindbadSetup.jl: includes the setup of sindbad model structure and info from the json settings, and has dev dependency on Sindbad.jl and SindbadUtils.jl.

  • SindbadTEM.jl: includes the main functions to run SINDBAD Terrestrial Ecosystem Model, and has dev dependency on Sindbad.jl, SindbadSetup.jl, and SindbadUtils.jl.

  • SindbadUtils.jl: includes utility functions that are used in other Sindbad lib packages, which has no dev dependency on other lib packages and Sindbad info, and is dependent on external libraries only.

Installation

  • with git repo access
julia]
pkg > add [email protected]:EarthyScience/SINDBAD.git
  • without git repo access

Get the latest sindbad.jl package and browse to the directory (sindbad_root)

How to dev/use the different packages

Start a julia prompt in the sindbad_root

julia

Go to main sandbox directory

cd sandbox

Create a new sandbox directory, e.g., my_env and go to that directory

julia > run(`mkdir -p my_env`)
julia > run(`cd my_env`)

Create the julia environment, activate it, and instantiate all dev dependencies and packages by pasting the following in the package mode of Julia REPL.

Sindbad Experiments:

dev ../.. ../../lib/SindbadUtils ../../lib/SindbadData ../../lib/SindbadMetrics ../../lib/SindbadSetup ../../lib/SindbadTEM ../../lib/SindbadOptimization ../../lib/SindbadExperiment

SindbadML:

dev ../.. ../../lib/SindbadUtils/ ../../lib/SindbadData/ ../../lib/SindbadMetrics/ ../../lib/SindbadSetup/ ../../lib/SindbadTEM ../../lib/SindbadML

Once the dev dependencies are built, run

resolve
instantiate

Download the example data

Before running the experiments, download the example by running the following script in the sandbox directory

bash download_example_data.sh

Using Sindbad in your example

Sindbad is divided into following sub-packages which can be imported in your example with using $PACKAGE

For example

using SindbadExperiment

allows to run the full experiment.

Other smaller packages can be imported and put together to build an experiment workflow as needed

SINDBAD Contributors

SINDBAD is developed at the Department of Biogeochemical Integration of the Max Planck Institute for Biogeochemistry in Jena, Germany with the following active contributors with active contributions from Sujan Koirala, Xu Shan, Jialiang Zhou, Lazaro Alonso, Fabian Gans, Felix Cremer, Nuno Carvalhais.

For a full list of current and previous contributors, see http://sindbad-mdi.org/pages/about/team.html

Copyright and license

SINDBAD: Strategies to Integrate Data and Biogeochemical Models

Copyright © 2025
Max-Planck-Gesellschaft zur Förderung der Wissenschaften

For copyright details, see the NOTICE file.


License

SINDBAD is free and open-source software, licensed under the European Union Public License v1.2 (EUPL).


Your Rights

You are free to:

  • Copy, modify, and redistribute the code
  • Use the software as a package in your own projects, regardless of their license or copyright status
  • Apply the software in both commercial and non-commercial contexts

Your Responsibilities

If you modify the code — excluding changes made solely for interoperability — you must redistribute the modified version under the EUPL v1.2 or a compatible license. This ensures the long-term sustainability of the project and supports an open, inclusive, and collaborative community.


Disclaimer

This software is provided in the hope that it will be useful, but without any warranty — including, without limitation, the implied warranties of merchantability or fitness for a particular purpose.

About

SINDBAD is a model data integration framework that encompasses the biogeochemical cycles of water and carbon, allows for extensive and flexible integration of parsimonious models with a diverse set of observational data streams.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 5

Languages