ogs5py
A Python-API for the OpenGeoSys 5 scientific modeling package.
Science Score: 41.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
-
○.zenodo.json file
-
✓DOI references
Found 9 DOI reference(s) in README -
✓Academic publication links
Links to: zenodo.org -
○Committers with academic emails
-
○Institutional organization owner
-
○JOSS paper metadata
-
○Scientific vocabulary similarity
Low similarity (16.0%) to scientific vocabulary
Keywords
Repository
A Python-API for the OpenGeoSys 5 scientific modeling package.
Basic Info
- Host: GitHub
- Owner: GeoStat-Framework
- License: mit
- Language: Python
- Default Branch: main
- Homepage: https://ogs5py.readthedocs.io/
- Size: 2.76 MB
Statistics
- Stars: 22
- Watchers: 6
- Forks: 8
- Open Issues: 2
- Releases: 0
Topics
Metadata Files
README.md
Welcome to ogs5py
Purpose
ogs5py is A python-API for the OpenGeoSys 5 scientific modeling package.
Installation
You can install the latest version with the following command:
pip install ogs5py
Or with conda:
conda install ogs5py
Citation
If you are using ogs5py in your publication please cite our paper:
Müller, S., Zech, A. and Heße, F.: ogs5py: A Python-API for the OpenGeoSys 5 Scientific Modeling Package. Groundwater, 59: 117-122. https://doi.org/10.1111/gwat.13017, 2021.
You can cite the Zenodo code publication of ogs5py by:
Sebastian Müller. GeoStat-Framework/ogs5py. Zenodo. https://doi.org/10.5281/zenodo.2546767
If you want to cite a specific version, have a look at the Zenodo site.
Documentation for ogs5py
You can find the documentation under ogs5py.readthedocs.io.
Further Information
- General homepage: https://www.opengeosys.org/ogs-5
- OGS5 Repository: https://github.com/ufz/ogs5
- Keyword documentation: https://ogs5-keywords.netlify.com
- OGS5 Benchmarks: https://github.com/ufz/ogs5-benchmarks
- ogs5py Benchmarks: https://github.com/GeoStat-Framework/ogs5py_benchmarks
Tutorials and Examples
In the following a simple transient pumping test is simulated on a radial symmetric mesh. The point output at the observation well is plotted afterwards. For more details on this example, see: Tutorial 1
```python from ogs5py import OGS, specialrange, generate_time from matplotlib import pyplot as plt
discretization and parameters
time = specialrange(0, 3600, 50, typ="cub") rad = specialrange(0, 1000, 100, typ="cub") obs = rad[21] angles = 32 storage = 1e-3 transmissivity = 1e-4 rate = -1e-3
model setup
model = OGS(taskroot="pumptest", task_id="model")
generate a radial mesh and geometry ("boundary" polyline)
model.msh.generate("radial", dim=2, rad=rad, angles=angles) model.gli.generate("radial", dim=2, radout=rad[-1], angles=angles) model.gli.addpoints([0.0, 0.0, 0.0], "pwell") model.gli.addpoints([obs, 0.0, 0.0], "owell") model.bc.addblock( # boundary condition PCSTYPE="GROUNDWATERFLOW", PRIMARYVARIABLE="HEAD", GEOTYPE=["POLYLINE", "boundary"], DISTYPE=["CONSTANT", 0.0], ) model.st.addblock( # source term PCSTYPE="GROUNDWATERFLOW", PRIMARYVARIABLE="HEAD", GEOTYPE=["POINT", "pwell"], DISTYPE=["CONSTANTNEUMANN", rate], ) model.ic.addblock( # initial condition PCSTYPE="GROUNDWATERFLOW", PRIMARYVARIABLE="HEAD", GEOTYPE="DOMAIN", DISTYPE=["CONSTANT", 0.0], ) model.mmp.addblock( # medium properties GEOMETRYDIMENSION=2, STORAGE=[1, storage], PERMEABILITYTENSOR=["ISOTROPIC", transmissivity], ) model.num.addblock( # numerical solver PCSTYPE="GROUNDWATERFLOW", LINEARSOLVER=[2, 5, 1e-14, 1000, 1.0, 100, 4], ) model.out.addblock( # point observation PCSTYPE="GROUNDWATERFLOW", NODVALUES="HEAD", GEOTYPE=["POINT", "owell"], DATTYPE="TECPLOT", ) model.pcs.addblock( # set the process type PCSTYPE="GROUNDWATERFLOW", NUMTYPE="NEW" ) model.tim.addblock( # set the timesteps PCSTYPE="GROUNDWATERFLOW", **generatetime(time) ) model.writeinput() model.run_model() ```
OGS5 executable
To obtain an OGS5 executable, ogs5py brings a download routine:
python
from ogs5py import download_ogs
download_ogs()
Then a executable is stored in the ogs5py config path and will be called when a model is run.
You can pass a version statement to the download_ogs routine, to
obtain a specific version (5.7, 5.7.1 (win only) and 5.8).
For OGS 5.7 there are executables for Windows/Linux and MacOS.
For "5.8" there are no MacOS pre-builds.
If you have compiled your own OGS5 version, you can add your executable to the ogs5py config path with:
python
from ogs5py import add_exe
add_exe("path/to/your/ogs/exe")
Otherwise you need to specify the path to the executable within the run command:
python
model.run_model(ogs_exe="path/to/ogs")
Requirements:
Contact
You can contact us via info@geostat-framework.org.
License
MIT © 2018-2023 (inspired by Falk Hesse and Miao Jing)
This project is based on OGSPY.
Owner
- Name: GeoStat Framework
- Login: GeoStat-Framework
- Kind: organization
- Email: info@geostat-framework.org
- Location: UFZ Leipzig
- Website: https://geostat-framework.org
- Twitter: GSFramework
- Repositories: 7
- Profile: https://github.com/GeoStat-Framework
Python framework for geostatistical simulations
Citation (CITATION.bib)
@article{https://doi.org/10.1111/gwat.13017,
author = {Müller, Sebastian and Zech, Alraune and Heße, Falk},
title = {ogs5py: A Python-API for the OpenGeoSys 5 Scientific Modeling Package},
journal = {Groundwater},
volume = {59},
number = {1},
pages = {117-122},
url = {https://ngwa.onlinelibrary.wiley.com/doi/abs/10.1111/gwat.13017},
doi = {https://doi.org/10.1111/gwat.13017},
eprint = {https://ngwa.onlinelibrary.wiley.com/doi/pdf/10.1111/gwat.13017},
year = {2021}
}
GitHub Events
Total
- Watch event: 2
Last Year
- Watch event: 2
Committers
Last synced: almost 3 years ago
Top Committers
| Name | Commits | |
|---|---|---|
| MuellerSeb | m****b@p****e | 379 |
| Sebastian | s****r@u****e | 4 |
| fhesze | f****e@g****m | 2 |
Issues and Pull Requests
Last synced: 7 months ago
All Time
- Total issues: 9
- Total pull requests: 7
- Average time to close issues: 8 months
- Average time to close pull requests: 4 days
- Total issue authors: 2
- Total pull request authors: 2
- Average comments per issue: 0.89
- Average comments per pull request: 0.14
- Merged pull requests: 6
- Bot issues: 0
- Bot pull requests: 1
Past Year
- Issues: 0
- Pull requests: 1
- Average time to close issues: N/A
- Average time to close pull requests: N/A
- Issue authors: 0
- Pull request authors: 1
- Average comments per issue: 0
- Average comments per pull request: 0.0
- Merged pull requests: 0
- Bot issues: 0
- Bot pull requests: 1
Top Authors
Issue Authors
- MuellerSeb (8)
- yasinahmadpoor (1)
Pull Request Authors
- MuellerSeb (6)
- dependabot[bot] (1)
Top Labels
Issue Labels
Pull Request Labels
Packages
- Total packages: 2
-
Total downloads:
- pypi 153 last-month
-
Total dependent packages: 0
(may contain duplicates) -
Total dependent repositories: 1
(may contain duplicates) - Total versions: 25
- Total maintainers: 3
pypi.org: ogs5py
ogs5py: a python API for OpenGeoSys5
- Homepage: https://geostat-framework.org/#ogs5py
- Documentation: https://ogs5py.readthedocs.io
- License: MIT License
-
Latest release: 1.3.0
published almost 3 years ago
Rankings
Maintainers (3)
conda-forge.org: ogs5py
ogs5py: a python API for OpenGeoSys5
- Homepage: https://github.com/GeoStat-Framework/ogs5py
- License: MIT
-
Latest release: 1.2.2
published over 3 years ago