GEB
Coupling of an agent-based model which simulates millions individual people or households, a hydrological model, a vegetation model and a hydrodynamic model.
https://github.com/geb-model/geb
Category: Hydrosphere
Sub Category: Freshwater and Hydrology
Last synced: 19 minutes ago
JSON representation
Repository metadata
- Host: GitHub
- URL: https://github.com/geb-model/geb
- Owner: GEB-model
- License: gpl-3.0
- Created: 2022-07-11T09:56:53.000Z (almost 3 years ago)
- Default Branch: main
- Last Pushed: 2025-04-25T12:31:23.000Z (2 days ago)
- Last Synced: 2025-04-26T14:44:48.647Z (1 day ago)
- Language: Python
- Homepage: https://geb-model.github.io/GEB/
- Size: 53.8 MB
- Stars: 8
- Watchers: 2
- Forks: 3
- Open Issues: 56
- Releases: 12
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- License: LICENSE
- Citation: CITATION.cff
README.md
Overview
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 the model agent-based and hydrological model.
Installation (not for development)
GEB can be installed with pip, including all dependencies on Windows, Linux and Mac OS X.
pip install geb
or with uv:
uv pip install geb --prerelease=allow
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 uv and git.
Also create a folder where you would like to store the code and model, we call this the working directory. 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:
git clone [email protected]: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:
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).
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:
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.
- 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).
- Langevin, Christian D., et al. Documentation for the MODFLOW 6 groundwater flow model. No. 6-A55. US Geological Survey, 2017.
- 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.
- 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.
- Joshi, Jaideep, et al. "Plant-FATE-Predicting the adaptive responses of biodiverse plant communities using functional-trait evolution." EGU General Assembly Conference Abstracts. 2022.
- 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)
- Mikhail Smilovic
- Luca Guillaumot
- Romijn Servaas
- Thomas van Eldik
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/"
Owner metadata
- Name: GEB-model
- Login: GEB-model
- Email:
- Kind: organization
- Description:
- Website:
- Location:
- Twitter:
- Company:
- Icon url: https://avatars.githubusercontent.com/u/152297940?v=4
- Repositories: 1
- Last ynced at: 2024-02-01T16:16:21.403Z
- Profile URL: https://github.com/GEB-model
GitHub Events
Total
- Create event: 31
- Issues event: 79
- Release event: 2
- Watch event: 2
- Delete event: 22
- Member event: 1
- Issue comment event: 23
- Push event: 463
- Pull request review event: 5
- Pull request event: 56
Last Year
- Create event: 31
- Issues event: 79
- Release event: 2
- Watch event: 2
- Delete event: 22
- Member event: 1
- Issue comment event: 23
- Push event: 463
- Pull request review event: 5
- Pull request event: 56
Committers metadata
Last synced: 6 days ago
Total Commits: 1,742
Total Committers: 10
Avg Commits per committer: 174.2
Development Distribution Score (DDS): 0.098
Commits in past year: 957
Committers in past year: 9
Avg Commits per committer in past year: 106.333
Development Distribution Score (DDS) in past year: 0.126
Name | Commits | |
---|---|---|
Jens de Bruijn | j****n@o****m | 1572 |
Maurice | m****f@g****m | 128 |
Tierolf | l****f@v****l | 15 |
vcbril | v****l@v****l | 13 |
Tierolf | l****0@n****r | 4 |
Tierolf | l****0@n****r | 3 |
Tierolf | l****0@n****r | 3 |
Rafaella Oliveira | r****o@g****m | 2 |
Tim Busker | t****l | 1 |
Jens de Bruijn | j****n@o****m | 1 |
Committer domains:
- vu.nl: 2
- oulook.com: 1
- node241.cm.cluster: 1
- node242.cm.cluster: 1
- node240.cm.cluster: 1
Issue and Pull Request metadata
Last synced: 1 day ago
Total issues: 141
Total pull requests: 78
Average time to close issues: about 2 months
Average time to close pull requests: 1 day
Total issue authors: 5
Total pull request authors: 8
Average comments per issue: 0.43
Average comments per pull request: 0.0
Merged pull request: 74
Bot issues: 0
Bot pull requests: 0
Past year issues: 112
Past year pull requests: 61
Past year average time to close issues: about 1 month
Past year average time to close pull requests: 1 day
Past year issue authors: 5
Past year pull request authors: 8
Past year average comments per issue: 0.4
Past year average comments per pull request: 0.0
Past year merged pull request: 58
Past year bot issues: 0
Past year bot pull requests: 0
Top Issue Authors
- jensdebruijn (121)
- WMLKalthof (14)
- TimBusker (3)
- ltierolf (2)
- vcbril (1)
Top Pull Request Authors
- jensdebruijn (41)
- ltierolf (10)
- TimBusker (7)
- romijnservaas (7)
- WMLKalthof (7)
- vcbril (4)
- rafaellaglo (1)
- Royp-hydro (1)
Top Issue Labels
- enhancement (36)
- bug (10)
- documentation (2)
- performance (2)
- Forecasts (2)
- invalid (1)
- question (1)
- Upscaling (1)
Top Pull Request Labels
Package metadata
- Total packages: 2
-
Total downloads:
- pypi: 668 last-month
- Total dependent packages: 0 (may contain duplicates)
- Total dependent repositories: 0 (may contain duplicates)
- Total versions: 17
- Total maintainers: 2
pypi.org: geb
GEB simulates the environment, the individual behaviour of people, households and organizations - including their interactions - at small and large scale.
- Homepage:
- Documentation: https://geb.readthedocs.io/
- Licenses: GNU General Public License v3 (GPLv3)
- Latest release: 0.0.1 (published 10 months ago)
- Last Synced: 2025-04-26T14:41:13.118Z (1 day ago)
- Versions: 10
- Dependent Packages: 0
- Dependent Repositories: 0
- Downloads: 189 Last month
-
Rankings:
- Dependent packages count: 10.637%
- Downloads: 15.074%
- Average: 28.538%
- Dependent repos count: 59.903%
- Maintainers (2)
pypi.org: geb-model
GEB simulates the environment, the individual behaviour of people, households and organizations - including their interactions - at small and large scale.
- Homepage:
- Documentation: https://geb-model.readthedocs.io/
- Licenses: GNU General Public License v3 (GPLv3)
- Latest release:
- Last Synced: 2025-02-07T00:37:48.741Z (3 months ago)
- Versions: 7
- Dependent Packages: 0
- Dependent Repositories: 0
- Downloads: 479 Last month
-
Rankings:
- Dependent packages count: 10.471%
- Average: 34.71%
- Dependent repos count: 58.949%
- Maintainers (1)
Dependencies
- 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
- actions/checkout v3 composite
- psf/black stable composite
- actions/checkout v2 composite
- actions/setup-python v2 composite
- 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 *
Score: 12.968745888738729