Skip to main content

Tidal Dynamics and Thermal-Orbital Evolution Software Suite Implemented in Cython and Python

Project description

TidalPy

Windows Tests MacOS Tests Ubuntu Tests
DOI Python Version 3.9-3.12

TidalPy Version 0.5.5 Alpha

Tidal Dynamics and Thermal-Orbital Evolution Software Suite Implemented in Cython and Python

TidalPy is an open-source software suite that utilizes a semi-analytic approach to estimate tidal heating, orbit-rotation evolution, and thermal changes for rocky and icy worlds. It has been used to simulate the thermal-orbital evolution of moons within our Solar System as well as exoplanets beyond. TidalPy's RadialSolver package can accurately estimate the viscoelastic Love and Shida numbers for a multi-layered world, including the effects of liquid layers, compressibility, dynamic tides, and advanced rheological models. This model has been used to study the tidal response of Mercury, Venus, Earth, our Moon, and Mars.

Have any questions? Feel free to leave an issue or send a message to TidalPy@gmail.com.

Related Software

Below is a non-exhaustive list of publicly available software that perform similar or parallel calculations as TidalPy.

  • Are you interested in the habitability of a planet? With considerations of tides, atmospheres, water content, solar interactions? Check out...
  • Are you interested in the orbital evolution of multiple planets with each planet influencing one another? Consider an N-body approach like...
  • Don't care about tides or orbital dynamics but are instead interested in interior structure and composition of planets?
  • Are you interested in tides, interiors, and the chemical evolution of small worlds but don't care about non-synchronous rotation or compressibility of planets?

However, if you want high fidelity tidal, orbital, spin, and interior models --- then you have come to the right place! Read below for instructions on how to install and use TidalPy.

How to Install

Compatibility

As of TidalPy v0.5.0:

  • Windows-Latest: Installation & tests passed.
  • MacOS-Latest: Installation & tests passed.
  • Ubuntu-Latest: Installation & tests passed.

Basic Installation

Installing TidalPy is ass simple as ensuring 64-bit Python 3.9+ is installed on your system and performing the following in a terminal:

pip install TidalPy

TidalPy can not currently be installed via conda install.

Accessing Jupyter Notebooks

There are several jupyter notebooks with TidalPy demos found in the /Demos/ folder of this repository. In order to access these you will need to make sure you install Jupyter and a few related packages:

pip install ipympl ipython ipywidgets jupyter

or

conda install ipympl ipython ipywidgets jupyter

You can then clone this GitHub repository,

git clone https://github.com/jrenaud90/TidalPy

to a local directory. Navigate to this directory and the Demos sub-directory then access the notebooks by using the command, jupyter notebook.

Cartopy

TidalPy offers the ability to make nice 2D plots using the cartopy package for some of 3d projection map plotting. In turn, cartopy relies on GEOS which is not a python package and must be installed outside of pip.

The easiest way to install cartopy is using an Anaconda environment by,

conda install -c conda-forge cartopy

If you are not using a conda environment then you will need to find and install the GEOS binaries manually:

Windows: Follow instructions here On Ubuntu: sudo apt-get install libgeos-dev On MacOS: brew install geos

After GEOS is installed you can pip install the rest,

pip install pyproj shapely pyshp cartopy

DiffEqPy / Julia

TidalPy provides the option to use the Julia programming language's differential equation solver for python: diffeqpy. To utilize this package you first need to ensure that Julia is installed on your machine and available via the system's environment path.

  • Install the Julia language from https://julialang.org/downloads/
  • Add Julia's directory and its bin subdirectory to your system's path.
  • Open an elevated ("as administrator") terminal, command prompt, or powershell.
    • If you are using a virtual Python environment make sure it is active.
  • Install julia and diffeqpy for python using pip
    • Run pip install julia diffeqpy
  • Open Python on your elevated terminal (the following steps may take a while to compile).
    • Run import julia; julia.install(); import diffeqpy; diffeqpy.install()

Installation Troubleshooting

If you ran into a problem that is not listed below please submit an issue and we will work on addressing it!

Known Problems:

  • The setuptools package is required before TidalPy can be installed. Usually it is automatically installed, but if you are starting with a clean virtual environment it may not have been.
    • For Anaconda: conda install setuptools
    • Or for regular Python: pip install setuptools

How to Use TidalPy

Check out the Documentation\Getting Started.md file. This is pretty bare bones at the moment but offers some basic info about TidalPy. For now the best way to learn how to use TidalPy is by checking out the Demos directory. There are "beginner" Jupyter notebooks that are a great starting point.

Using TidalPy for Science

TidalPy has been used in several studies already, and we encourage you to use it in yours. We would appreciate you include a link back to this page and cite one of the papers discussed in the next section. We also would love to see where TidalPy is being used! Please feel free to send us an email: TidalPy@gmail.com when a paper or presentation utilized TidalPy. Anyone is welcome to make forks or copies of TidalPy as long as their work references back to this page. License information can be found at the end of this file.

Citing TidalPy

If you use TidalPy for your research please cite its Zenodo doi: 10.5281/zenodo.7017474.

The science used in TidalPy is described in the following papers and software (and references therein):

Contribute to TidalPy

TidalPy is in early alpha and there are lots of areas where it can improve! If you are interested in helping out, please check out the information in Documentation\Contribute.md.

Found a bug or have an idea for a new feature?

  • Go to TidalPy's Github page and click the "Issues" tab then make a new report.
    • If you ran into a bug please include a code snippet (in markdown: code is designated by Grave accents surrounding the text) that reproduces the error (please keep this snippet as concise as possible).
    • It is helpful to triage issues when they are made. If you think you know the severity of a bug or can provide any other at-a-glance context, consider adding a "label" (right-hand side of the github issue form) to the issue.

License Information

You are welcome to copy/fork TidalPy and make modifications assuming the following conditions are met:

  • Links are included that point back to this page.
  • Any software derived from TidalPy must remain open-source and non-commercial.

This work is licensed under the Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License. To view a copy of this license, visit http://creativecommons.org/licenses/by-nc-sa/4.0/ or send a letter to Creative Commons, PO Box 1866, Mountain View, CA 94042, USA.

Acknowledgements

TidalPy was partially developed with support from NASA Goddard Space Flight Center's Sellers Exoplanet Environments Collaboration (SEEC) and Geodesy ISFM. TidalPy is partially based upon work supported by NASA under award number 80GSFC21M0002 and the Center for Research and Exploration in Space Science & Technology II (CRESST II) administered at the University of Maryland, College Park.

TidalPy has been improved by numerous contributors some of which you can find here.

TidalPy has benefited from work and conversations with the following:

  • Wade G. Henning (U. of Maryland, College Park / NASA GSFC)
  • Sander Goossens (NASA GSFC)
  • Marc Neveu (U. of Maryland, College Park / NASA GSFC)
  • Gael Cascioli (U. of Maryland, Baltimore County / NASA GSFC)

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

tidalpy-0.5.5.tar.gz (2.4 MB view details)

Uploaded Source

Built Distributions

TidalPy-0.5.5-cp312-cp312-win_amd64.whl (3.5 MB view details)

Uploaded CPython 3.12 Windows x86-64

TidalPy-0.5.5-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (8.3 MB view details)

Uploaded CPython 3.12 manylinux: glibc 2.17+ x86-64

TidalPy-0.5.5-cp312-cp312-macosx_11_0_arm64.whl (3.5 MB view details)

Uploaded CPython 3.12 macOS 11.0+ ARM64

TidalPy-0.5.5-cp312-cp312-macosx_10_15_x86_64.whl (3.5 MB view details)

Uploaded CPython 3.12 macOS 10.15+ x86-64

TidalPy-0.5.5-cp311-cp311-win_amd64.whl (3.5 MB view details)

Uploaded CPython 3.11 Windows x86-64

TidalPy-0.5.5-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (8.3 MB view details)

Uploaded CPython 3.11 manylinux: glibc 2.17+ x86-64

TidalPy-0.5.5-cp311-cp311-macosx_11_0_arm64.whl (3.5 MB view details)

Uploaded CPython 3.11 macOS 11.0+ ARM64

TidalPy-0.5.5-cp311-cp311-macosx_10_15_x86_64.whl (3.5 MB view details)

Uploaded CPython 3.11 macOS 10.15+ x86-64

TidalPy-0.5.5-cp310-cp310-win_amd64.whl (3.5 MB view details)

Uploaded CPython 3.10 Windows x86-64

TidalPy-0.5.5-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (7.8 MB view details)

Uploaded CPython 3.10 manylinux: glibc 2.17+ x86-64

TidalPy-0.5.5-cp310-cp310-macosx_11_0_arm64.whl (3.5 MB view details)

Uploaded CPython 3.10 macOS 11.0+ ARM64

TidalPy-0.5.5-cp310-cp310-macosx_10_15_x86_64.whl (3.5 MB view details)

Uploaded CPython 3.10 macOS 10.15+ x86-64

TidalPy-0.5.5-cp39-cp39-win_amd64.whl (3.5 MB view details)

Uploaded CPython 3.9 Windows x86-64

TidalPy-0.5.5-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (7.9 MB view details)

Uploaded CPython 3.9 manylinux: glibc 2.17+ x86-64

TidalPy-0.5.5-cp39-cp39-macosx_11_0_arm64.whl (3.5 MB view details)

Uploaded CPython 3.9 macOS 11.0+ ARM64

TidalPy-0.5.5-cp39-cp39-macosx_10_15_x86_64.whl (3.5 MB view details)

Uploaded CPython 3.9 macOS 10.15+ x86-64

File details

Details for the file tidalpy-0.5.5.tar.gz.

File metadata

  • Download URL: tidalpy-0.5.5.tar.gz
  • Upload date:
  • Size: 2.4 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.12.7

File hashes

Hashes for tidalpy-0.5.5.tar.gz
Algorithm Hash digest
SHA256 16393b8fd9484180da0c906810add5b76dbfbdca97107c696bae12c1a0f243f5
MD5 4532075094431f4bb6c0d844d1f13a72
BLAKE2b-256 0b3f5af9da455d748066ecb4674e396d3be0da2ae9f962c21ae76bb793095b63

See more details on using hashes here.

File details

Details for the file TidalPy-0.5.5-cp312-cp312-win_amd64.whl.

File metadata

  • Download URL: TidalPy-0.5.5-cp312-cp312-win_amd64.whl
  • Upload date:
  • Size: 3.5 MB
  • Tags: CPython 3.12, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.12.7

File hashes

Hashes for TidalPy-0.5.5-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 fac098b8fddedd15de77b9e2aed477a40ad48897ee22b5e420054baa56e15fb9
MD5 f3a9be807c4a2cc848ead8ee29a4a733
BLAKE2b-256 60f18caf3e81817e754384fd98f6ca61d26eeffdccfe46a4fc08aab0e4ac2aee

See more details on using hashes here.

File details

Details for the file TidalPy-0.5.5-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for TidalPy-0.5.5-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 b18d7113bc627d2d08cdd0542a7e8af1f3fcd710ff9cb9ecc724a479724f2c30
MD5 a64efc363dd0522bfcdd603046939cf1
BLAKE2b-256 1abf238a0bb9ac81551705226e8ee44a1031fab9afe29f6b558b5f9a80c2e46f

See more details on using hashes here.

File details

Details for the file TidalPy-0.5.5-cp312-cp312-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for TidalPy-0.5.5-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 65a458e2925076fef1d18e86dac72b95ae602edb52ad30dc83fc0ba9c27c0b78
MD5 948bde75d0b3dfa8e32099a9cf66828e
BLAKE2b-256 71344955266dff4879b683c6a13130a3acd9a6411ca2f293e98936ba9603789e

See more details on using hashes here.

File details

Details for the file TidalPy-0.5.5-cp312-cp312-macosx_10_15_x86_64.whl.

File metadata

File hashes

Hashes for TidalPy-0.5.5-cp312-cp312-macosx_10_15_x86_64.whl
Algorithm Hash digest
SHA256 986d48a10294b6ad818402747afc2f380d60d553a8e65c900a040cda345b324a
MD5 e26a89c4c19a4278121fdc7aa01a813c
BLAKE2b-256 b1080c6f0cd4f66f8272b5104b96a6cc33ca5ec13837930e86792478e91abe15

See more details on using hashes here.

File details

Details for the file TidalPy-0.5.5-cp311-cp311-win_amd64.whl.

File metadata

  • Download URL: TidalPy-0.5.5-cp311-cp311-win_amd64.whl
  • Upload date:
  • Size: 3.5 MB
  • Tags: CPython 3.11, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.12.7

File hashes

Hashes for TidalPy-0.5.5-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 9eaf95ec0891d1c848e1a70a68af8c7ecdc0dddad9b23f3f199a35bbbe6cbeb7
MD5 d721cc8ee69e143ed0dc58566d8341a9
BLAKE2b-256 38a93dd1c9ccb9de4a436c0b72b4e2ffea8e196fbb7273022f7b23c15068a778

See more details on using hashes here.

File details

Details for the file TidalPy-0.5.5-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for TidalPy-0.5.5-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 6f134d69aa3b9e19f4844f9c86a45c3a4c6ddf25c32de422c63c57f321fcfc91
MD5 7df0c1e0d6bacde618c8e0b58dccc2cc
BLAKE2b-256 23698c074259fbf8e6b7d6d1faf74aa5ef6dfbeccce37757febda75d3f3063dd

See more details on using hashes here.

File details

Details for the file TidalPy-0.5.5-cp311-cp311-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for TidalPy-0.5.5-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 154170e39a8a83f9e5dd6867870028f0b83837a258577f111c9484aff333987a
MD5 f032b32ad861adacbb93752303ac3390
BLAKE2b-256 03defe92302283ba239afd849e31f7b454b7e0d904bc82e469f009efc5890d33

See more details on using hashes here.

File details

Details for the file TidalPy-0.5.5-cp311-cp311-macosx_10_15_x86_64.whl.

File metadata

File hashes

Hashes for TidalPy-0.5.5-cp311-cp311-macosx_10_15_x86_64.whl
Algorithm Hash digest
SHA256 2688536a7ff34473647ae87c9bcb6c8b59cc72eeed7939cc6c8e4d1b51247b24
MD5 4d3938bdca623e7b473782003bfe789c
BLAKE2b-256 2185f29feab7330fd5967f2781ed6a946cf87f41f4779165375382b3b107bc35

See more details on using hashes here.

File details

Details for the file TidalPy-0.5.5-cp310-cp310-win_amd64.whl.

File metadata

  • Download URL: TidalPy-0.5.5-cp310-cp310-win_amd64.whl
  • Upload date:
  • Size: 3.5 MB
  • Tags: CPython 3.10, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.12.7

File hashes

Hashes for TidalPy-0.5.5-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 5c52c7303117f39afba7c9a4b629f62a9119c268f72090c58f356095f0eae38b
MD5 07c4b6ee3589f506c2e8a612e94c86bd
BLAKE2b-256 2761c0016efe9e572b94071c7984f3c3f7915314144f97821e96c287d89cce5a

See more details on using hashes here.

File details

Details for the file TidalPy-0.5.5-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for TidalPy-0.5.5-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 ff8ff1862ff0cf9fb4553cd23ac98f57809e571a09c624f057aa304455b48f57
MD5 3dcbed1555ef5d688844530b2a62c74d
BLAKE2b-256 6119c228a942336e8a709871d2df1a334751bf4815fb114208d645179cc8a82c

See more details on using hashes here.

File details

Details for the file TidalPy-0.5.5-cp310-cp310-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for TidalPy-0.5.5-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 2e2e5de7d45c2bb4468f814d23d1bf9756ab5d8e36194f0e2e4454dfaa5d02e1
MD5 5baf23ca1a128dbeb2ccd247fc294b5b
BLAKE2b-256 94b55a6cca86bcfdb46c9374eabf32a4189a561cedc2ddadfae9fa9fab83d7e5

See more details on using hashes here.

File details

Details for the file TidalPy-0.5.5-cp310-cp310-macosx_10_15_x86_64.whl.

File metadata

File hashes

Hashes for TidalPy-0.5.5-cp310-cp310-macosx_10_15_x86_64.whl
Algorithm Hash digest
SHA256 ee94403c5e78e79d1aa02e66e8ab3ddf540844c1046a85d66b958d64da703a81
MD5 8e4c7d94fba9928557278fbfc446104e
BLAKE2b-256 96cee6b83dd4a816c29d9c1a8d8071ec1aa0228b35e6a71eeb6717c2b7ee2a26

See more details on using hashes here.

File details

Details for the file TidalPy-0.5.5-cp39-cp39-win_amd64.whl.

File metadata

  • Download URL: TidalPy-0.5.5-cp39-cp39-win_amd64.whl
  • Upload date:
  • Size: 3.5 MB
  • Tags: CPython 3.9, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.12.7

File hashes

Hashes for TidalPy-0.5.5-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 3772c54c746f34e2a1433d198c1c7d86899e05d8a61bff61d3363cc6f9166eeb
MD5 e322b67cb3f7859d70cc6672b0e1cacc
BLAKE2b-256 d8b63ba9f2cd3f21db9c9360ffc190cdd053a47fe48a3923fee17f22c99bf814

See more details on using hashes here.

File details

Details for the file TidalPy-0.5.5-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for TidalPy-0.5.5-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 0eb6c64c2cf6f1280e85ede48056d5059647b8b5b8a090a2322a4d200f5d913d
MD5 9cb51661583a9f5f0965862d5e8c00e4
BLAKE2b-256 5c50f9f15472120a0eadad1ce280de13fc11f8c3e1e308d8bbd86ca9a292b51b

See more details on using hashes here.

File details

Details for the file TidalPy-0.5.5-cp39-cp39-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for TidalPy-0.5.5-cp39-cp39-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 1fdc2c26434d92630dcf4fe32e9d1cf2389311dd4ba65ebbc194a89add43a312
MD5 80934c5712fe8ead42562d2358ef027f
BLAKE2b-256 2ead5c8f640e457857b895d4be17d032912fa3145bf69ee37061ffb87a5ad275

See more details on using hashes here.

File details

Details for the file TidalPy-0.5.5-cp39-cp39-macosx_10_15_x86_64.whl.

File metadata

File hashes

Hashes for TidalPy-0.5.5-cp39-cp39-macosx_10_15_x86_64.whl
Algorithm Hash digest
SHA256 446bc9ca3436ef3e48f17302a5088502efbf80b335655651de9ef159c8bdcf32
MD5 cc731d05801a8247fb3f23c96002ae91
BLAKE2b-256 f562e6d376ada638e9d70ea4bf159a31b2036b7c7185a6214fd4e43e8fbd9bde

See more details on using hashes here.

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