Skip to content

A Python module and wrapper for ETERNA PREDICT to compute gravitational tides on Earth

License

Notifications You must be signed in to change notification settings

hydrogeoscience/pygtide

Repository files navigation

PyGTide

DOI

A Python module and wrapper for ETERNA PREDICT to compute gravitational tides on Earth

PyGTide is a Python module that wraps around ETERNA PREDICT 3.4 which is compiled from Fortran into an executable using f2py. The original ETERNA PREDICT 3.3 was written by the late Prof. H.-G. Wenzel (Wenzel, 1996) in a mix of Fortran 77 and 90. This was updated by Kudryavtsev (2004) to include the latest tidal catalogue. Note that the original Fortran code was comprehensively revised in order to facilitate integration into Python. The original Fortran code for ETERNA PREDICT can be downloaded from the International Geodynamics and Earth Tide Service (IGETS).

How to use

There are two options:

  • Download and install on your system (see below instructions)
  • Via our online calculator: groundwater.app

How to install and run

Prerequisites

  • Download and install Anaconda or Miniconda
  • Install required packages:
    conda install numpy pandas
    

Installation options

Option 1: Install and compile source distribution from PyPi (Python 3.8–3.11) or install pre-compiled distribution (Linux, macOS, Windows; Python>=3.12)

pip install pygtide

Option 2: Build from source locally (Linux, macOS, Windows; Python>=3.8)

Requirements for building:

  • A Fortran compiler (e.g., gfortran via MinGW on Windows; included in Linux/macOS gcc toolchains) conda install gfortran
  • Meson build system with ninja: automatically installed via pip

Clone repo from git:

git clone https://github.com/hydrogeoscience/pygtide.git

Install from local repository:

cd /path/to/pygtide

pip install .

After installation

  • Run tests to verify installation:

    python -c "import pygtide; pygtide.test(msg=True)"
    
  • Update internal database files (downloads latest leap seconds and pole data):

    python -c "import pygtide; pygtide.update()"
    

Example usage

See pygtide/tests.py for complete examples. Quick start:

from pygtide import predict_series
args = (-20.82071, -70.15288, 830.0, '2020-01-01', 6, 600)
series = predict_series(*args, statazimut=90, tidalcompo=8)

How to use

An updated user guide is currently in progress ...

How to cite

If you use PyGTide, please cite the work as:

Rau, Gabriel C. (2018) hydrogeoscience/pygtide: PyGTid. Zenodo. https://doi.org/10.5281/zenodo.1346260

Example

This image shows Earth tides calculated for the city Karlsruhe (Germany) in the year 2018.

References

  • Hartmann, T., and H.-G. Wenzel (1995), The HW95 tidal potential catalogue, Geophysical Research Letters, 22(24), 3553–3556, https://doi.org/10.1029/95GL03324.
  • Kudryavtsev, S. M. (2004), Improved harmonic development of the Earth tide-generating potential, Journal of Geodesy, 17(12), 829-838, https://doi.org/10.1007/s00190-003-0361-2.
  • Wenzel, H.-G. (1996), The nanogal software: Earth tide data processing package ETERNA 3.30, Bulletin d’Informations des Marées Terrestres, 124, 9425–9439.
  • McMillan, T. C., and Rau, G. C., and Timms, W. A., and Andersen, M. S. (2019), Utilizing the impact of Earth and atmospheric tides on groundwater systems: A review reveals the future potential, Reviews of Geophysics, https://dx.doi.org/10.1029/2018RG000630.

License

PyGTide is released by Gabriel C. Rau and Tom Eulenfeld under the Mozilla Public License 2.0

About

A Python module and wrapper for ETERNA PREDICT to compute gravitational tides on Earth

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Contributors 8