Science Score: 67.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
    Found CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
    Found 8 DOI reference(s) in README
  • Academic publication links
  • Committers with academic emails
    3 of 13 committers (23.1%) from academic institutions
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (14.9%) to scientific vocabulary
Last synced: 6 months ago · JSON representation ·

Repository

Basic Info
  • Host: GitHub
  • Owner: GEB-model
  • License: gpl-3.0
  • Language: Python
  • Default Branch: main
  • Homepage: https://docs.geb.sh/
  • Size: 56 MB
Statistics
  • Stars: 9
  • Watchers: 3
  • Forks: 3
  • Open Issues: 74
  • Releases: 13
Created over 3 years ago · Last pushed 6 months ago
Metadata Files
Readme Changelog License Citation

README.md

GEB (Geographical Environmental and Behavioural model) simulates the environment (e.g., hydrology, floods), the individual people, households and orginizations as well as their interactions at both small and large scale. The model does so through a "deep" coupling of an agent-based model a hydrological model, a vegetation model and a hydrodynamic model. You can find full documentation here.

The figure below shows a schematic overview of GEB.

Schematic model overview of GEB.

Installation (not for development)

GEB can be installed with pip, including all dependencies on Windows, Linux and Mac OS X.

bash pip install geb

or with uv, which first needs to be installed by running:

on Linux and Mac OS X:

bash curl -LsSf https://astral.sh/uv/install.sh | sh

on Windows:

bash powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"

After, GEB can be installed with:

bash uv pip install geb --prerelease=allow

To run SFINCS (the hydrodynamic model), you also need to install Docker (on Windows) or Apptainer (on Linux and Mac OS X). To install Docker you need to obtain and install Docker from their website (https://www.docker.com/get-started) and make sure Docker or Apptainer is running.

Development installation and setup

To contribute to GEB, we recommend first cloning the repository from this repo using git clone, and then use uv to install the dependencies. Therefore, first install git and uv (see above)

Also create a folder where you would like to store the code and model, we call this the working directory. Note that this folder should NOT be placed into a cloud synchonized folder (e.g., OneDrive). In this working directory, create a folder called model, and place the model input files in this folder. The directory structure should look like this:

working directory | model | | model.yml | | build.yml│ | | input | | (potential other files and folders)

Then, in the working directory, open a new terminal and run the following command to clone (download) all the code from the repository:

bash git clone git@github.com:GEB-model/GEB.git

Now the directory structure should look like this:

working directory | model | | model.yml | | build.yml | | input | | (potential other files and folders) | GEB | | README.md | | (all files and folders from the repository)

Then proceed with the following commands:

bash cd GEB # switch the terminal to GEB code folder git switch main # switch to the main development branch by default, but may be changed to another branch uv sync --dev # install all dependencies using uv

You will now have a virtual environment (.venv) in the GEB folder with the right Python installation and all packages you need.

Now open Visual Studio Code in the GEB folder (or use the "File -> Open Folder" dialog in Visual Studio Code).

bash code .

Visual Studio code should now prompts you to install the recommended extensions, which we recommend you do. After installing the Python extension VS Code should also automatically use the environment you created earlier. To test this, open a terminal in Visusal Studio Code (Terminal -> New Terminal) and run:

bash geb --help

We have also prepared a configuration for the debugger in .vscode/launch.json.sample and a settings file in .vscode/settings.json.sample with some useful default settings. To activate these files, copy (i.e., not remove or rename) the files to .vscode/launch.json and .vscode/settings.json respectively.

The debugger assumes that you have the data files for the model located in ../model (i.e., your model.yml is in ..model/). You may need to adjust the paths in .vscode/launch.json to match your setup.

Happy gebbing! Let us know when you run into issues, and any contributions to GEB are more than welcome. You can find a list of active and past contributors at the bottom of this file.

Cite as

Model framework

de Bruijn, J. A., Smilovic, M., Burek, P., Guillaumot, L., Wada, Y., and Aerts, J. C. J. H.: GEB v0.1: a large-scale agent-based socio-hydrological model – simulating 10 million individual farming households in a fully distributed hydrological model, Geosci. Model Dev., 16, 2437–2454, https://doi.org/10.5194/gmd-16-2437-2023, 2023.

Applications

Kalthof, M. W. M. L., de Bruijn, J., de Moel, H., Kreibich, H., and Aerts, J. C. J. H.: Adaptive behavior of farmers under consecutive droughts results in more vulnerable farmers: a large-scale agent-based modeling analysis in the Bhima basin, India, NHESS, https://doi.org/10.5194/nhess-25-1013-2025, 2025.

Building on the shoulders of giants

GEB builds on, couples and extends several models, depicted in the figure below.

Model components of GEB.

  1. Burek, Peter, et al. "Development of the Community Water Model (CWatM v1.04) A high-resolution hydrological model for global and regional assessment of integrated water resources management." (2019).
  2. Langevin, Christian D., et al. Documentation for the MODFLOW 6 groundwater flow model. No. 6-A55. US Geological Survey, 2017.
  3. Tierolf, Lars, et al. "A coupled agent-based model for France for simulating adaptation and migration decisions under future coastal flood risk." Scientific Reports 13.1 (2023): 4176.
  4. Streefkerk, Ileen N., et al. "A coupled agent-based model to analyse human-drought feedbacks for agropastoralists in dryland regions." Frontiers in Water 4 (2023): 1037971.
  5. Joshi, Jaideep, et al. "Plant-FATE-Predicting the adaptive responses of biodiverse plant communities using functional-trait evolution." EGU General Assembly Conference Abstracts. 2022.
  6. Leijnse, Tim, et al. "Modeling compound flooding in coastal systems using a computationally efficient reduced-physics solver: Including fluvial, pluvial, tidal, wind-and wave-driven processes." Coastal Engineering 163 (2021): 103796.

Developers (ordered by full-time equivalent working time on model)

Current or past contributors (in order of first to last contribution)

Owner

  • Name: GEB-model
  • Login: GEB-model
  • Kind: organization

Citation (CITATION.cff)

cff-version: 1.2.0
message: "If you use this software, please cite it as below."
title: "GEB v0.1: a large-scale agent-based socio-hydrological model -- simulating 10 million individual farming households in a fully distributed hydrological model"
authors:
  - family-names: "de Bruijn"
    given-names: "J. A."
  - family-names: "Smilovic"
    given-names: "M."
  - family-names: "Burek"
    given-names: "P."
  - family-names: "Guillaumot"
    given-names: "L."
  - family-names: "Wada"
    given-names: "Y."
  - family-names: "Aerts"
    given-names: "J. C. J. H."
version: 0.1
journal-title: "Geoscientific Model Development"
year: 2023
month: 9
volume: 16
issue: 9
page: "2437-2454"
doi: "10.5194/gmd-16-2437-2023"
url: "https://gmd.copernicus.org/articles/16/2437/2023/"

GitHub Events

Total
  • Create event: 80
  • Issues event: 122
  • Release event: 3
  • Watch event: 3
  • Delete event: 72
  • Member event: 4
  • Issue comment event: 47
  • Push event: 882
  • Pull request review comment event: 5
  • Pull request review event: 38
  • Pull request event: 156
Last Year
  • Create event: 80
  • Issues event: 122
  • Release event: 3
  • Watch event: 3
  • Delete event: 72
  • Member event: 4
  • Issue comment event: 47
  • Push event: 882
  • Pull request review comment event: 5
  • Pull request review event: 38
  • Pull request event: 156

Committers

Last synced: 6 months ago

All Time
  • Total Commits: 2,566
  • Total Committers: 13
  • Avg Commits per committer: 197.385
  • Development Distribution Score (DDS): 0.166
Past Year
  • Commits: 1,573
  • Committers: 12
  • Avg Commits per committer: 131.083
  • Development Distribution Score (DDS): 0.232
Top Committers
Name Email Commits
Jens de Bruijn j****n@o****m 2,139
Maurice m****f@g****m 178
Tierolf l****f@h****m 124
Tim Busker t****l 45
Veerle Bril v****l@v****l 32
Rafaella Oliveira r****o@g****m 14
Elisa Stefaniak e****a@f****m 12
TimBusker 8****r 7
T-Sadana t****a@v****l 4
Tierolf l****0@n****r 4
Tierolf l****0@n****r 3
Tierolf l****0@n****r 3
Jens de Bruijn j****n@o****m 1
Committer Domains (Top 20 + Academic)

Issues and Pull Requests

Last synced: 6 months ago

All Time
  • Total issues: 177
  • Total pull requests: 240
  • Average time to close issues: about 1 month
  • Average time to close pull requests: 3 days
  • Total issue authors: 6
  • Total pull request authors: 10
  • Average comments per issue: 0.31
  • Average comments per pull request: 0.05
  • Merged pull requests: 193
  • Bot issues: 0
  • Bot pull requests: 0
Past Year
  • Issues: 120
  • Pull requests: 193
  • Average time to close issues: 23 days
  • Average time to close pull requests: about 16 hours
  • Issue authors: 6
  • Pull request authors: 9
  • Average comments per issue: 0.25
  • Average comments per pull request: 0.07
  • Merged pull requests: 153
  • Bot issues: 0
  • Bot pull requests: 0
Top Authors
Issue Authors
  • jensdebruijn (144)
  • WMLKalthof (16)
  • TimBusker (8)
  • ltierolf (7)
  • T-Sadana (1)
  • vcbril (1)
Pull Request Authors
  • jensdebruijn (127)
  • ltierolf (47)
  • TimBusker (24)
  • romijnservaas (12)
  • WMLKalthof (12)
  • vcbril (9)
  • rafaellaglo (4)
  • Royp-hydro (2)
  • foxeswithdata (2)
  • T-Sadana (1)
Top Labels
Issue Labels
enhancement (20) bug (6) documentation (2) performance (2) invalid (1)
Pull Request Labels

Packages

  • Total packages: 4
  • Total downloads:
    • pypi 501 last-month
  • Total dependent packages: 0
    (may contain duplicates)
  • Total dependent repositories: 0
    (may contain duplicates)
  • Total versions: 20
  • Total maintainers: 2
proxy.golang.org: github.com/GEB-model/GEB
  • Versions: 1
  • Dependent Packages: 0
  • Dependent Repositories: 0
Rankings
Dependent packages count: 5.4%
Average: 5.6%
Dependent repos count: 5.8%
Last synced: 6 months ago
proxy.golang.org: github.com/geb-model/geb
  • Versions: 1
  • Dependent Packages: 0
  • Dependent Repositories: 0
Rankings
Dependent packages count: 5.4%
Average: 5.6%
Dependent repos count: 5.8%
Last synced: 6 months ago
pypi.org: geb

GEB simulates the environment (e.g., hydrology, floods), the individual people, households and orginizations as well as their interactions at both small and large scale.

  • Documentation: https://geb.readthedocs.io/
  • License: GNU General Public License v3 (GPLv3)
  • Latest release: 0.0.1
    published over 1 year ago
  • Versions: 11
  • Dependent Packages: 0
  • Dependent Repositories: 0
  • Downloads: 22 Last month
Rankings
Dependent packages count: 10.6%
Downloads: 15.1%
Average: 28.5%
Dependent repos count: 59.9%
Maintainers (2)
Last synced: 6 months ago
pypi.org: geb-model

GEB simulates the environment, the individual behaviour of people, households and organizations - including their interactions - at small and large scale.

  • Versions: 7
  • Dependent Packages: 0
  • Dependent Repositories: 0
  • Downloads: 479 Last month
Rankings
Dependent packages count: 10.5%
Average: 34.7%
Dependent repos count: 58.9%
Maintainers (1)
Last synced: about 1 year ago

Dependencies

.github/workflows/docs.yml actions
  • actions/cache v2 composite
  • actions/checkout v2 composite
  • actions/setup-python v2 composite
  • actions/upload-artifact v2 composite
  • ammaraskar/sphinx-problem-matcher master composite
  • peaceiris/actions-gh-pages v3 composite
.github/workflows/black.yml actions
  • actions/checkout v3 composite
  • psf/black stable composite
.github/workflows/pytest.yml actions
  • actions/checkout v2 composite
  • actions/setup-python v2 composite
pyproject.toml pypi
  • dask >=2023.3.0
  • deap *
  • geopandas >=0.14
  • honeybees @git+https://github.com/jensdebruijn/honeybees
  • hydromt-sfincs @git+https://github.com/Deltares/hydromt_sfincs
  • numba *
  • numpy *
  • openpyxl *
  • pandas *
  • pybind11 *
  • pyyaml *
  • rasterio *
  • rioxarray >=0.15
  • tbb *
  • xarray *
tests/setup.py pypi