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: GPL-3.0

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 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)

How to dev/use the different packages

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

Download the example data

Before running the experiments, download the example by running the following script in the examples 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, 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

Copyright

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.

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