Published July 3, 2026 | Version 3.0.9

pyTMD: Python-based tidal prediction software

  • 1. University of Washington, Applied Physics Laboratory
  • 2. Earth & Space Research
  • 3. Colorado School of Mines
  • 1. University of Manitoba
  • 2. Geoscience Australia
  • 3. National Science Foundation

Description

Summary: This is a relatively minor release for the actual codebase, but adds a lot of content to the documentation, particularly to the background sections. In particular, there are lots of new figures demonstrating the astronomical angles, time relations, and various other definitions used within pyTMD. We also added one requested feature that allows users to configure the default data directory with an environmental variable ($PYTMD_CACHE_DIR).

Thanks to @gaoflow for their contributions in #592, which helped modernize some of the io.model functionality.

Itemized Changes:

  • docs: add "edit on github" link (#591)
  • fix: resolve constituent file paths with from_dict for #417 (#592)
  • test: added a regression test asserting from_dict and from_file produce equivalent models both with and without a model directory. (#592)
  • feat: added lunisolar equatorial coordinate functions (#593)
  • docs: added constituent notations (#593)
  • docs: added ecliptic plot (#593)
  • docs: added zenith angle plot (#593)
  • feat: added spherical linear interpolation (slerp) (#593)
  • docs: added reference for slerp (Shoemake 1985) (#593)
  • docs: square brackets for internal references (#593)
  • refactor: replace assertions with exceptions (#593)
  • docs: added geocentric Cartesian coordinate plot (#594)
  • docs: fill in quadrants in cartesian plot (#595)
  • docs: add link to doodson number in constituent table (#595)
  • docs: add table of tidal classifications (#595)
  • docs: add precession-nutation figure (#596)
  • docs: set figure facecolor to match rtd theme (#596)
  • docs: set figures without axes facecolor to match rtd theme (#596)
  • docs: add a harmonic analysis section to background (#597)
  • docs: bump all reference numbers after new section (#597)
  • docs: add plot_html_show_source_link to conf.py (#597)
  • docs: specify plot_formats for matplotlib plot_directive (#597)
  • docs: spherical harmonics to background toc (#598)
  • docs: number spherical harmonic equations (#598)
  • refactor: standardize use of lambda (lmda) to denote longitudes (#598)
  • docs: add section on type variable usage (#599)
  • docs: add section on detecting high and low tides (#599)
  • refactor: name drift type to trajectory to fit CF conventions (drift still accepted as an alias) (#599)
  • test: add tests for setting Dataset coordinate types (#599)
  • test: ruff format some test modules (#599)
  • refactor: handle coordinate conversion in _coords (#599)
  • docs: add time zone recipe (#600)
  • docs: change some icons to use octicons (#600)
  • docs: add note about DST transitions (#600)
  • refactor: convert time zones demo to notebook (#601)
  • docs: add pandas demo to time zones notebook (#601)
  • docs: use pandas for solve table (#601)
  • docs: move units section in Getting Started (#601)
  • docs: add some basic unit conversion examples (#601)
  • feat: add pixi task to make clean docs (#601)
  • refactor: create Dataset at the end of the solve fit loop (#601)
  • docs: merge map and html table cells in solve notebook (#602)
  • docs: add cropping demo to recipes (#602)
  • docs: add tidal aliasing demo to recipes (#602)
  • refactor: simplify ipyleaflet marker usage (#602)
  • docs: add troubleshooting page to user guide (#603)
  • docs: add chunking demo and expand crop demo (#603)
  • docs: uniformity of header styles in *.rst files (#603)
  • docs: clean up whitespace in *.rst files (#603)
  • refactor: separated interpolation of admittances from inference functions (#604)
  • docs: add mean longitude plots (S and H) (#604)
  • docs: add lunar node cycle plot (#604)
  • test: add check for short-term admittances (#604)
  • fix: don't need p1 in admittance function (#604)
  • fix: use ValueError instead of bare Exception (#604)
  • docs: reorganize API reference to new toctree (#605)
  • docs: add buttons for API and troubleshooting (#605)
  • docs: add JPL SPK file background page (#605)
  • feat: add PYTMD_CACHE_DIR environ for overriding default cache (#606)
  • docs: add a configuration section to install (#606)
  • docs: improve :ref: usage throughout documentation (#606)
  • docs: split Love numbers to new background section (#607)
  • docs: expand on troubleshooting (#607)
  • docs: expand references and citations (#607)
  • docs: add nutation angles plot (#607)
  • docs: add hover text to some terms in the glossary (#607)
  • docs: add sidereal time plot with GMST/GAST/LMST (#608)
  • docs: fix duplicate cell id in Cropping.ipynb (#608)
  • docs: improve references to JPL ephemerides background (#608)
  • chore: bump version to v3.0.9
  • docs: add release notes for v3.0.9
  • docs: adjust geoid height svg fonts
  • docs: adjust nutation angle arcsecond symbol

New Contributors:

  • @gaoflow made their first contribution in https://github.com/pyTMD/pyTMD/pull/592

Full Changelog: https://github.com/pyTMD/pyTMD/compare/3.0.8...3.0.9

Files

pyTMD/pyTMD-3.0.9.zip

Files (8.1 MB)

Name Size Download all
md5:09b4c9031b94adbc6465511e82820fd4
8.1 MB Preview Download

Additional details

Related works

Is supplement to
Software: https://github.com/pyTMD/pyTMD/tree/3.0.9 (URL)

Software