tidalpy

Software suite to perform solid-body tidal dissipation calculations for rocky and icy worlds

https://github.com/jrenaud90/tidalpy

Science Score: 77.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
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
    Found 8 DOI reference(s) in README
  • Academic publication links
    Links to: zenodo.org
  • Committers with academic emails
    1 of 2 committers (50.0%) from academic institutions
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (16.4%) to scientific vocabulary

Keywords

exoplanets orbital-dynamics orbital-mechanics planetary-science science-research tides
Last synced: 6 months ago · JSON representation ·

Repository

Software suite to perform solid-body tidal dissipation calculations for rocky and icy worlds

Basic Info
  • Host: GitHub
  • Owner: jrenaud90
  • License: cc-by-sa-4.0
  • Language: Jupyter Notebook
  • Default Branch: main
  • Homepage:
  • Size: 59.8 MB
Statistics
  • Stars: 20
  • Watchers: 2
  • Forks: 3
  • Open Issues: 19
  • Releases: 21
Topics
exoplanets orbital-dynamics orbital-mechanics planetary-science science-research tides
Created almost 7 years ago · Last pushed 6 months ago
Metadata Files
Readme Changelog License Citation

README.md

TidalPy

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

TidalPy Version 0.6.8 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, rocky or icy world, including the effects of liquid layers, compressibility, dynamic tides, and advanced rheological models. This module has been used to study the tidal response of Mercury, Venus, Earth, our Moon, Mars, and much more.

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

How to Install

Compatibility

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

Basic Installation

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

pip install TidalPy

Alternatively you can use conda to install TidalPy:

conda install -c conda-forge TidalPy

or

mamba install TidalPy

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.

Installing Cartopy using conda

The easiest way to install cartopy is using a conda environment by,

conda install -c conda-forge cartopy

Installing Cartopy using pip

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

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 conda: conda install setuptools * Or pip: pip install setuptools

How to Use TidalPy

Check out the Documentation\1 - 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 (with additional 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 ISFMs. 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) - Michael Efroimsky (U.S. Naval Observatory) - Sander Goossens (NASA GSFC) - Marc Neveu (U. of Maryland, College Park / NASA GSFC) - Gael Cascioli (U. of Maryland, Baltimore County / NASA GSFC) - Nick Wagner (Brown U.)

Owner

  • Name: Joe Renaud
  • Login: jrenaud90
  • Kind: user
  • Location: Greenbelt, MD
  • Company: NASA Goddard Space Flight Center

Physics Ph.D. NASA Postdoctoral Fellow. Research Interests: Planetary Science, Tidal Mechanics, Orbital Dynamics, Thermal-orbital evolution, exoplanets.

Citation (citation.cff)

abstract: 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.
authors:
- affiliation: University of Maryland, College Park; NASA Goddard
  family-names: Renaud
  given-names: Joe P.
  orcid: 0000-0002-8619-8542
cff-version: 1.2.0
date-released: '2024-02-14'
doi: 10.5281/zenodo.7017474
keywords:
- Tides
- Tidal Dynamics
- Planetary Science
- Thermal-Orbtial Evolution
- Tidal Heating
- Exoplanets
- Moons
- Mercury
- Venus
- Earth
- Moon
- Mars
- Europa
- Io
- Triton
- Pluto
license:
- cc-by-4.0
title: TidalPy
type: software
version: v0.6.3

GitHub Events

Total
  • Create event: 20
  • Issues event: 4
  • Release event: 9
  • Watch event: 3
  • Delete event: 11
  • Issue comment event: 6
  • Push event: 146
  • Pull request event: 22
Last Year
  • Create event: 20
  • Issues event: 4
  • Release event: 9
  • Watch event: 3
  • Delete event: 11
  • Issue comment event: 6
  • Push event: 146
  • Pull request event: 22

Committers

Last synced: about 2 years ago

All Time
  • Total Commits: 704
  • Total Committers: 2
  • Avg Commits per committer: 352.0
  • Development Distribution Score (DDS): 0.003
Past Year
  • Commits: 80
  • Committers: 1
  • Avg Commits per committer: 80.0
  • Development Distribution Score (DDS): 0.0
Top Committers
Name Email Commits
Jrenaud-Desk j****d@g****m 702
Joe P. Renaud j****d@n****v 2
Committer Domains (Top 20 + Academic)

Issues and Pull Requests

Last synced: 6 months ago

All Time
  • Total issues: 40
  • Total pull requests: 46
  • Average time to close issues: over 1 year
  • Average time to close pull requests: 1 day
  • Total issue authors: 3
  • Total pull request authors: 2
  • Average comments per issue: 0.9
  • Average comments per pull request: 0.26
  • Merged pull requests: 43
  • Bot issues: 0
  • Bot pull requests: 0
Past Year
  • Issues: 4
  • Pull requests: 19
  • Average time to close issues: 1 day
  • Average time to close pull requests: about 8 hours
  • Issue authors: 3
  • Pull request authors: 1
  • Average comments per issue: 0.5
  • Average comments per pull request: 0.0
  • Merged pull requests: 16
  • Bot issues: 0
  • Bot pull requests: 0
Top Authors
Issue Authors
  • jrenaud90 (34)
  • nlwagner (4)
  • ssteele1111 (1)
Pull Request Authors
  • jrenaud90 (54)
  • nlwagner (5)
Top Labels
Issue Labels
Beginner (13) Enhancement (11) Moderate (7) Advanced (5) Research Needed (5) Test Needed (4) RadialSolver (4) Cython (4) Question (3) bug (3) Numba (3) Critical Improvement (3) Cosmetic / QOL (3) Docs (3) Functional (3) OOP (2) Performance (2) Waiting on Response (2) More Details Needed (1) On-Going (1) Integration (1) floating-point-error (1) Installation (1) MacOS (1) Dependency Related (1)
Pull Request Labels

Packages

  • Total packages: 1
  • Total downloads:
    • pypi 413 last-month
  • Total dependent packages: 0
  • Total dependent repositories: 1
  • Total versions: 19
  • Total maintainers: 1
pypi.org: tidalpy

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

  • Versions: 19
  • Dependent Packages: 0
  • Dependent Repositories: 1
  • Downloads: 413 Last month
Rankings
Dependent packages count: 7.3%
Stargazers count: 16.0%
Forks count: 19.2%
Dependent repos count: 22.1%
Average: 25.4%
Downloads: 62.4%
Maintainers (1)
Last synced: 6 months ago

Dependencies

.github/workflows/build_wheels_main_pypi.yml actions
  • actions/checkout v3 composite
  • actions/download-artifact v3 composite
  • actions/upload-artifact v3 composite
  • pypa/gh-action-pypi-publish v1.6.4 composite
.github/workflows/build_wheels_test_pypi.yml actions
  • actions/checkout v3 composite
  • actions/download-artifact v3 composite
  • actions/upload-artifact v3 composite
  • pypa/cibuildwheel v2.11.4 composite
  • pypa/gh-action-pypi-publish v1.6.4 composite
.github/workflows/push_tests_ubun.yml actions
  • actions/checkout v3 composite
  • actions/setup-python v3 composite
pyproject.toml pypi
  • autograd >=1.4
  • burnman >=1.0.0
  • cvxpy >=1.2.1
  • cyrk >=0.4.0
  • dill >=0.3.2
  • ecos >=2.0.10
  • json5 >=0.9.5
  • numba >=0.54.1
  • numpy >=1.22
  • pathos >=0.2.0
  • psutil >=5.8.0
  • pycddlib >=2.1
  • scipy >=1.9.3
  • scs >=3.2.0
.github/workflows/push_tests_mac.yml actions
  • actions/checkout v4 composite
  • conda-incubator/setup-miniconda v3 composite
.github/workflows/push_tests_win.yml actions
  • actions/checkout v4 composite
  • actions/setup-python v5 composite
setup.py pypi