Skip to content

Commit

Permalink
Merge pull request #7 from GeoStat-Framework/sphinx_update
Browse files Browse the repository at this point in the history
Sphinx update: Gallery
  • Loading branch information
MuellerSeb authored Apr 2, 2020
2 parents a72f189 + 1aa6fcb commit d00ad7c
Show file tree
Hide file tree
Showing 31 changed files with 405 additions and 292 deletions.
132 changes: 123 additions & 9 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,11 +1,125 @@
*.pyc
*.orig
*~
.spyproject/
# Byte-compiled / optimized / DLL files
__pycache__/
docs/build/
#_build
#_static
#_templates
#docs/
*.py[cod]
*$py.class

# C extensions
*.so

# Distribution / packaging
.Python
env/
build/
develop-eggs/
dist/
downloads/
eggs/
.eggs/
lib/
lib64/
parts/
sdist/
var/
wheels/
*.egg-info/
.installed.cfg
*.egg

# PyInstaller
# Usually these files are written by a python script from a template
# before PyInstaller builds the exe, so as to inject date/other infos into it.
*.manifest
*.spec

# Installer logs
pip-log.txt
pip-delete-this-directory.txt

# Unit test / coverage reports
htmlcov/
.tox/
.coverage
.coverage.*
.cache
nosetests.xml
coverage.xml
*.cover
.hypothesis/

# Translations
*.mo
*.pot

# Django stuff:
*.log
local_settings.py

# Flask stuff:
instance/
.webassets-cache

# Scrapy stuff:
.scrapy

# Sphinx documentation
docs/_build/
docs/output.txt

# PyBuilder
target/

# Jupyter Notebook
.ipynb_checkpoints

# pyenv
.python-version

# celery beat schedule file
celerybeat-schedule

# SageMath parsed files
*.sage.py

# dotenv
.env

# virtualenv
.venv
venv/
ENV/

# Spyder project settings
.spyderproject
.spyproject

# Rope project settings
.ropeproject

# mkdocs documentation
/site

# mypy
.mypy_cache/

tags
/test_*

# own stuff
info/

# Cython generated C code
*.c
*.cpp


# generated docs
docs/source/examples/
docs/source/generated/
examples/Cmp_UFZ-campaign.cmp

*.DS_Store

*.zip

*.vtu
*.vtr
63 changes: 63 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,63 @@
# Changelog

All notable changes to **welltestpy** will be documented in this file.


## [1.0.0] - 2020-04

### Enhancements
- new estimators
- ExtTheis3D
- ExtTheis2D
- Neuman2004
- Theis
- ExtThiem3D
- ExtThiem2D
- Neuman2004Steady
- Thiem
- better plotting
- unit-tests run with py35-py38 on Linux/Win/Mac
- coverage
- sphinx gallery for examples

### Bugfixes
- estimation results stored as dict (order could alter before)

### Changes
- py2 support dropped


## [0.3.2] - 2019-03-08

### Bugfixes
- adopt AnaFlow API


## [0.3.1] - 2019-03-08

### Bugfixes
- update travis workflow


## [0.3.0] - 2019-02-28

### Enhancements
- added documentation


## [0.2.0] - 2018-04-25

### Enhancements
- added license


## [0.1.0] - 2018-04-25

First alpha release of welltespy.

[1.0.0]: https://github.com/GeoStat-Framework/welltestpy/compare/v0.3.2...v1.0.0
[0.3.2]: https://github.com/GeoStat-Framework/welltestpy/compare/v0.3.1...v0.3.2
[0.3.1]: https://github.com/GeoStat-Framework/welltestpy/compare/v0.3.0...v0.3.1
[0.3.0]: https://github.com/GeoStat-Framework/welltestpy/compare/v0.2...v0.3.0
[0.2.0]: https://github.com/GeoStat-Framework/welltestpy/compare/v0.1...v0.2
[0.1.0]: https://github.com/GeoStat-Framework/welltestpy/releases/tag/v0.1
92 changes: 20 additions & 72 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,9 @@

[![DOI](https://zenodo.org/badge/DOI/10.5281/zenodo.1229051.svg)](https://doi.org/10.5281/zenodo.1229051)
[![PyPI version](https://badge.fury.io/py/welltestpy.svg)](https://badge.fury.io/py/welltestpy)
[![Build Status](https://travis-ci.org/GeoStat-Framework/welltestpy.svg?branch=master)](https://travis-ci.org/GeoStat-Framework/welltestpy)
[![Documentation Status](https://readthedocs.org/projects/welltestpy/badge/?version=latest)](https://geostat-framework.readthedocs.io/projects/welltestpy/en/latest/?badge=latest)
[![Build Status](https://travis-ci.com/GeoStat-Framework/welltestpy.svg?branch=master)](https://travis-ci.com/GeoStat-Framework/welltestpy)
[![Coverage Status](https://coveralls.io/repos/github/GeoStat-Framework/welltestpy/badge.svg?branch=master)](https://coveralls.io/github/GeoStat-Framework/welltestpy?branch=master)
[![Documentation Status](https://readthedocs.org/projects/welltestpy/badge/?version=stable)](https://geostat-framework.readthedocs.io/projects/welltestpy/en/stable/?badge=stable)
[![Code style: black](https://img.shields.io/badge/code%20style-black-000000.svg)](https://github.com/ambv/black)

<p align="center">
Expand All @@ -27,71 +28,20 @@ You can install the latest version with the following command:
You can find the documentation under [geostat-framework.readthedocs.io][doc_link].


### Example 1: Create a Campaign containing a pumping test
### Example 1: A campaign containing a pumping test

In the following a simple pumping test is created with artificial drawdown data
generated by the Theis-solution.
In the following, we will take a look at an artificial pumping test campaign,
that is stored in a file called `Cmp_UFZ-campaign.cmp`.

```python
# -*- coding: utf-8 -*-
import numpy as np
import welltestpy as wtp
import anaflow as ana

### create the field-site and the campaign
field = wtp.data.FieldSite(name="UFZ", coordinates=[51.353839, 12.431385])
campaign = wtp.data.Campaign(name="UFZ-campaign", fieldsite=field)

### add 4 wells to the campaign
campaign.add_well(name="well_0", radius=0.1, coordinates=(0.0, 0.0))
campaign.add_well(name="well_1", radius=0.1, coordinates=(1.0, -1.0))
campaign.add_well(name="well_2", radius=0.1, coordinates=(2.0, 2.0))
campaign.add_well(name="well_3", radius=0.1, coordinates=(-2.0, -1.0))

### generate artificial drawdown data with the Theis solution
rate = -1e-4
time = np.geomspace(10, 7200, 10)
transmissivity = 1e-4
storage = 1e-4
rad = [
campaign.wells["well_0"].radius, # well radius of well_0
campaign.wells["well_0"] - campaign.wells["well_1"], # distance 0-1
campaign.wells["well_0"] - campaign.wells["well_2"], # distance 0-2
campaign.wells["well_0"] - campaign.wells["well_3"], # distance 0-3
]
drawdown = ana.theis(
time=time,
rad=rad,
storage=storage,
transmissivity=transmissivity,
rate=rate,
)

### create a pumping test at well_0
pumptest = wtp.data.PumpingTest(
name="well_0",
pumpingwell="well_0",
pumpingrate=rate,
description="Artificial pump test with Theis",
)

### add the drawdown observation at the 4 wells
pumptest.add_transient_obs("well_0", time, drawdown[:, 0])
pumptest.add_transient_obs("well_1", time, drawdown[:, 1])
pumptest.add_transient_obs("well_2", time, drawdown[:, 2])
pumptest.add_transient_obs("well_3", time, drawdown[:, 3])

### add the pumping test to the campaign
campaign.addtests(pumptest)
### optionally make the test steady
# campaign.tests["well_0"].make_steady()

### plot the well constellation and a test overview

# create the field-site and the campaign
campaign = wtp.load_campaign("Cmp_UFZ-campaign.cmp")

# plot the well constellation and a test overview
campaign.plot_wells()
campaign.plot()

### save the whole campaign
campaign.save()
```

#### This will give the following plots:
Expand All @@ -104,8 +54,6 @@ campaign.save()
<img src="https://raw.githubusercontent.com/GeoStat-Framework/welltestpy/master/docs/source/pics/01_pumptest.png" alt="Pumptest" width="600px"/>
</p>

And the campaign is stored to a file called `Cmp_UFZ-campaign.cmp`


### Example 2: Estimate transmissivity and storativity

Expand All @@ -115,7 +63,7 @@ transmissivity and storativity.
```python
import welltestpy as wtp

campaign = wtp.data.load_campaign("Cmp_UFZ-campaign.cmp")
campaign = wtp.load_campaign("Cmp_UFZ-campaign.cmp")
estimation = wtp.estimate.Theis("Estimate_theis", campaign, generate=True)
estimation.run()
```
Expand Down Expand Up @@ -158,12 +106,12 @@ welltestpy.tools # Subpackage with miscellaneous tools

## Requirements

- [NumPy >= 1.13.0](https://www.numpy.org)
- [SciPy >= 0.19.1](https://www.scipy.org)
- [Pandas >= 0.20.3](https://pandas.pydata.org)
- [Matplotlib >= 2.0.2](https://matplotlib.org)
- [AnaFlow](https://github.com/GeoStat-Framework/AnaFlow)
- [SpotPy](https://github.com/thouska/spotpy)
- [NumPy >= 1.14.5](https://www.numpy.org)
- [SciPy >= 1.1.0](https://www.scipy.org)
- [Pandas >= 0.23.2](https://pandas.pydata.org)
- [AnaFlow >= 1.0.0](https://github.com/GeoStat-Framework/AnaFlow)
- [SpotPy >= 1.5.0](https://github.com/thouska/spotpy)
- [Matplotlib >= 3.0.0](https://matplotlib.org)


## Contact
Expand All @@ -173,7 +121,7 @@ You can contact us via <info@geostat-framework.org>.

## License

[MIT][license_link] © 2018-2019
[MIT][license_link] © 2018-2020

[license_link]: https://github.com/GeoStat-Framework/welltestpy/blob/master/LICENSE
[doc_link]: https://geostat-framework.readthedocs.io/projects/welltestpy/en/latest/
[doc_link]: https://welltestpy.readthedocs.io
2 changes: 1 addition & 1 deletion docs/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
# You can set these variables from the command line.
SPHINXOPTS =
SPHINXBUILD = python3 -msphinx
SPHINXPROJ = GeoStatTools
SPHINXPROJ = welltestpy
SOURCEDIR = source
BUILDDIR = build

Expand Down
1 change: 1 addition & 0 deletions docs/requirements_doc.txt
Original file line number Diff line number Diff line change
@@ -1 +1,2 @@
numpydoc
sphinx-gallery
Loading

0 comments on commit d00ad7c

Please sign in to comment.