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.
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 onSindbadUtils.jl
. -
SindbadML.jl
: includes the dev dependencies onSindbadTEM.jl
,SindbadMetrics.jl
,SindbadSetup.jl
, andSindbadUtils.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 onSindbadTEM.jl
andSindbadMetrics.jl
. -
SindbadSetup.jl
: includes the setup of sindbad model structure and info from the json settings, and has dev dependency onSindbad.jl
andSindbadUtils.jl
. -
SindbadTEM.jl
: includes the main functions to run SINDBAD Terrestrial Ecosystem Model, and has dev dependency onSindbad.jl
,SindbadSetup.jl
, andSindbadUtils.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.
- with git repo access
julia]
pkg > add https://git.bgc-jena.mpg.de/sindbad/sindbad.jl.git
- without git repo access
Get the latest sindbad.jl package and browse to the directory (sindbad_root)
Start a julia prompt in the sindbad_root
julia
Go to main example directory
cd examples
Create a new experiment 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
Before running the experiments, download the example by running the following script in the examples
directory
bash download_example_data.sh
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 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, Lazaro Alonso, Xu Shan, Hoontaek Lee, Fabian Gans, Felix Cremer, Nuno Carvalhais.
For a full list of current and previous contributors, see https://earthyscience.github.io/Sindbad.jl/dev/pages/about/team
SINDBAD (Strategies to Integrate Data and Biogeochemical Models) A model data integration framework Copyright (C) 2025 Max-Planck-Gesellschaft zur Förderung der Wissenschaften
This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, version 3 of the License.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.