Skip to main content

Retrieve geological data for geothermal systems from coordinates in Python!

Project description

GeoRetriever 🌋🐕

Code style: black

License: MIT

A Python package for array-based retrieval of geological data. In a second step (available in a future version), the data can be converted to localized thermal energy system suitability.

Based on the tools used in the great atlite package, GeoRetriever is supported by dask and xarray for parallelized requests of data chunks.

When completed, the package will be able to retrieve all data relevant the following thermal systems:

  • Borehole Thermal Energy Storage (BTES)

  • Aquifer Thermal Energy Storage (ATES)

  • Shallow Ground Source Heat Pumps (CSHP)

  • Water Source Heat Pumps (WSHP)

  • Pit Thermal Energy Storage (PTES)

  • Mine Thermal Energy Storage (MTES)

The library is under development with more features being added in the future. This is a promise - I need this for my PhD 🧗🏼.

| Feature | Data Source | Coverage | Implemented |

|---------|-------------|----------|-------------|

| Lithology | Macrostrat| global | ✔️|

| Surface Temperature | ERA5 | global | ✔️ |

| Soil Temperature | ERA5 | global | ✔️ |

| Aquifer Presence | | | ❌ |

| Soil Type | | | ❌ |

Installation

The package runs on Python>=3.6 and is available from pypi via


pip install georetriever

Note that for the feauture "temperature", the API to ERA5 will be used, which requires registration and setting up of the CDS API key as here.

Example

The package works through the GeoCutout object. During its initialization, the spatial and temporal scale of the data is defined. Coordinates are in (lon, lat). The actual retrieval of data starts when the prepare(), which takes the features of interest are passed method is called.

For instance:


from georetriever import GeoCutout



x = slice(-1, 1)

y = slice(50, 52)

dx = 0.05

dy = 0.05

time = "2019-01-01"

dt = "h"



geocutout = GeoCutout(

    x=x,

    y=y,

    dx=dx,

    dy=dy,

    time=time,

    dt=dt,

)



geocutout.prepare(features=["temperature", "lithology"])



print(geocutout.data)

Authors and Contact

Lukas Franken - lukas.franken@ed.ac.uk

University of Edinburgh, Alan Turing Institute

Big thanks to the team at TU Berlin for atlite, the package this library is leaning on.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

georetriever-0.1.1.tar.gz (31.2 kB view hashes)

Uploaded Source

Built Distribution

georetriever-0.1.1-py3-none-any.whl (20.5 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page