Skip to content

Releases: pyTMD/pyTMD

v2.2.2

19 Feb 23:19
Compare
Choose a tag to compare

Summary:
First release of pyTMD under new organization 🎉
Added a number of new examples to the documentation. Moved all file processing codes (that used spatial io tools) to tsutterley/Grounding-Zones. This slims down pyTMD to focus on array and matrix processing, but allowing file processing with other similar modules in GZ.

Itemized Changes:

  • docs: add notebook comparing NOAA predictions with MSL (#386)
  • docs: infer minor constituents in NOAA station comparison (#387)
  • fix: constituent parsing and mapping to verify lam2 is not mapped to m2 (#387)
  • feat: add more known constituent remapping cases (#387)
  • test: add constituent parser test (#387)
  • docs: add notes about inferrence (#388)
  • feat: add Doodson (1921) table for amplitudes (#388)
  • chore: transfer ownership to @pyTMD org (#389)
  • ci: update codecov action (#390)
  • chore: update timescale links to @pyTMD org (#391)
  • docs: add EOP notebook (#392)
  • docs: add solid earth tides notebook (#392)
  • chore: add badge for commits since release
  • chore: remove codecov badge from readme
  • refactor: move spatial io routines to Grounding-Zones (#393)
  • docs: add correlation plot to gauge comparison (#393)
  • docs: add delta time plot to background (#393)
  • docs: numfig to True (#393)
  • docs: drop unused dependencies from citations (#393)
  • test: change to np.isclose in arguments (#393)

Full Changelog: https://github.com/tsutterley/pyTMD/compare/2.2.1...2.2.2

v2.2.1

11 Feb 00:06
Compare
Choose a tag to compare

Summary:
Lots of updates to the documentation and added new workable examples to the notebooks. Added DTU23 to JSON database (thanks @robbibt!). Updated the directory to the FES2022 models to the new published urls (thanks @2320sharon!)

Itemized Changes:

  • docs: front page with cards and icons (#374)
  • fix: updated ftp directory for FES2022 ocean tide model (#376)
  • fix: update JSON databases for new FES2022 directory (#376)
  • docs: update FES2022 directory in getting started (#376)
  • test: retrieve spice kernel file from AWS (#376)
  • docs: added example to compare with tide gauges (#377)
  • feat: added function for fully-normalized Legendre polynomials (#377)
  • test: add ci test for aliasing frequencies (#377)
  • refactor: change 1 liner default EPSG to 4326 (#379)
  • ci: bump version of upload artifact to v4 (#379)
  • docs: start adding more detail for #354 (#381)
  • ci: adjust coverage report name for v4 artifact bug (#381)
  • docs: expand astronomical argument formalism for #354 (#382)
  • docs: add example for plotting tidal potential amplitude spectra (#382)
  • docs: split background into separate pages (#382)
  • feat: can use np.str_ in doodson numbers (#382)
  • docs: add project info (#382)
  • docs: add constituent table (#382)
  • feat: add DTU23 to providers for #383 (#384)
  • fix: missing grid kwarg for reading from TMD3 models (#385)

Full Changelog: https://github.com/tsutterley/pyTMD/compare/2.2.0...2.2.1

v2.2.0

20 Dec 19:12
Compare
Choose a tag to compare

Summary:
Quick fix for annotations error in earlier versions of Python3.

Itemized Changes:

Full Changelog: https://github.com/tsutterley/pyTMD/compare/2.1.9...2.2.0

v2.1.9

19 Dec 18:42
Compare
Choose a tag to compare

Summary:
Started adding more functions to eventually add solve capability via the response method. Exposed parameters for setting the buffer distance when cropping tide model data (thanks @robbibt!). Fixed the TMD3 netCDF4 variables for currents (thanks @VikNikolaus!). Improved the CI builds by having test files versus a side-by-side comparison against the matlab version, which allowed the addition of windows builds. Added some improvements to the documentation, including the use of bibtex for citations.

Itemized Changes:

  • feat: add spherical harmonic functions (#362)
  • refactor: move generic astro functions to math.py (#362)
  • feat: add function to calculate altitude, azimuth and D (#362)
  • test: add test for unnormalized legendre polynomials (#362)
  • test: moved normalize_angle test to test_math.py (#362)
  • test: add ECEF to altaz test at USNO (#362)
  • feat: add calculation of zenith angle (#363)
  • test: add zenith angle test (#363)
  • feat: expose buffer distance to crop tide model data for #367 (#368)
  • test: add constituent parameter test (#368)
  • ci: add windows build for #98 (#369)
  • fix: omega and phase in constituent parameters (#369)
  • refactor: move body tide Love/Shida numbers to arguments (#369)
  • test: create test files from matlab program for comparison (#369)
  • fix: add missing_ok to deletions in tests (#369)
  • fix: verify that file objects are closed in test_spatial (#369)
  • fix: latest TMD3 current variable names for #370 (#371)
  • feat: add tidal aliasing period calculation function (#371)
  • fix: add latitude and longitude as potential dimension names (#371)
  • docs: use sphinxcontrib-bibtex to build bibliography (#372)
  • refactor: moved check points function to compute (#372)
  • docs: unify all references to a single page (#372)
  • docs: rearrange toctrees

Full Changelog: https://github.com/tsutterley/pyTMD/compare/2.1.8...2.1.9

v2.1.8

07 Nov 23:39
Compare
Choose a tag to compare

Summary:
Lots of little fixes (thanks @robbibt and @eceguhraterfa!) and updates to the documentation. Moved the table of Doodson coefficients to a JSON file included with the program. Moved all Jupyter notebook examples so that they are rendered in the documentation. Added Cartwright/Tayler/Edden tables of the tidal generating potential for degree 2 and degree 3.

Itemized Changes:

  • docs: fix repository url fetch from Project-URL
  • docs: update CITATION.cff to add version information
  • docs: add more definitions to glossary
  • refactor: convert Doodson coefficients table to JSON (#353)
  • feat: added option to use Munk-Cartwright admittance interpolation for minor (#353)
  • feat: add Cartwright and Edden (1973) table 1 (#353)
  • feat: add Cartwright and Tayler (1971) table 5 (#353)
  • feat: add function to parse Cartwright/Tayler/Edden tables (#353)
  • feat: add functions to calculate UKHO Extended Doodson numbers for constituents (#353)
  • test: add test for extended doodson (#353)
  • docs: add citations to included data (#353)
  • fix: remove default bounds being None for #356 (#357)
  • docs: move notebooks to docs and use myst to render (#359)
  • fix: correct error when using default bounds in extract_constants for #356 (#359)
  • fix: correct TPXO10-atlas-v2 binary grid filename for #358 (#359)
  • fix: some Cartwright and Edden (1973) table entries (#359)
  • docs: use cards for notebook examples page (#360)
  • fix: GOT5.6 names in database and add 'n2' (#360)
  • docs: set card grid to be either 1, 2 or 4
  • fix: update pyproject.toml for doc build
  • fix: allow variable case for Doodson number formalisms (#361)
  • feat: added property for Extended Doodson numbers (#361)
  • fix: use Love numbers for long-period tides when inferring (won't affect tilt factors) (#361)
  • docs: add form factor notebook for classifying regional tides (#361)

Full Changelog: https://github.com/tsutterley/pyTMD/compare/2.1.7...2.1.8

v2.1.7

16 Oct 16:01
640c42f
Compare
Choose a tag to compare

Summary:
Simplifies the model read functions to have a single wrapper function in io.model. Storing the coordinate reference system (CRS) capability for OTIS models in the JSON database. Adds inference capability for long-period tide models, and updates the inference of semi-diurnal/diurnal tides for GOT models.

Itemized Changes:

  • docs: improve description of optional dependencies in examples
  • fix: use case insensitive assertions of string argument values (thanks @SmithB!) (#340)
  • feat: added bounded options for least squares solvers (#341)
  • feat: add __models__ with all model names in database (#341)
  • feat: add function lists as __all__ (#341)
  • feat: add Ray and Erofeeva (2014) to the database for #327 (#341)
  • feat: add minor inference for long period tides to address #327 (#342)
  • fix: try inferring both long and short period tides for FES (#343)
  • refactor: using new JSON dictionary format for model projections for #333 (#345)
  • docs: add notebook with a cotidal chart for #344 and #348 (#345)
  • docs: update descriptions of coordinate reference systems
  • feat: add new functions to infer semi-diurnal and diurnal tides (#346)
  • feat: use PREM as the default Earth model for Love numbers (#347)
  • feat: compute delta times based on corrections type (#347)
  • feat: add wrapper functions to read and interpolate constants (#349)
  • tests: use simplified wrapper functions (#349)
  • feat: updated computation of long-period equilibrium tides (#349)
  • feat: add functions to append node tide equilibrium values to amplitudes (#349)
  • fix: add messaging if there are no minor constituents to infer (#349)
  • feat: can convert Doodson numbers formatted as strings (#349)
  • docs: expand the glossary (#349)

Full Changelog: https://github.com/tsutterley/pyTMD/compare/2.1.6...2.1.7

v2.1.6

10 Sep 20:08
1f51f2a
Compare
Choose a tag to compare

Summary:
Refactors the project to improve how models are stored using a single JSON database, which are collated from provider JSON files. More models have been added to the database thanks to @robbibt! Adds some bug fixes for better backwards compatibility for FES and GOT models.

Itemized Changes:

  • refactor: use JSON database for known model parameters for #328 (#329)
  • feat: added new TPXO10-atlas-v2 to list of models (#329)
  • feat: generalize hash function to use any available algorithm (#329)
  • fix: use model name in default output filename for definition file case (#329)
  • refactor: create database from providers (#329)
  • refactor: drop support for the ascii definition file format (#329)
  • docs: add model providers section to contributions (#329)
  • ci: add GitHub Action to update database.json (#330)
  • feat: Add additional models to provider JSON (#331)
  • fix: add parse constituents back to model load (#331)
  • fix: drop constituents from database (#331)
  • ci: only run pytest action if secrets are accessible (#331)
  • refactor: use idealized Azimuthal equidistant for Arctic models (#332)
  • fix: deprecation in case where an array is output to scalars (#332)
  • fix: j1 and theta for FES type models for #335 (#336)
  • fix: nodal corrections for eps2 and eta2 when inferring for GOT5.5 (#336)
  • feat: use model class attributes for file format and corrections (#336)
  • feat: add option to select nodal corrections type (#336)
  • feat: export database as dataclass (#337)
  • docs: update getting started and README.rst (#337)
  • test: add test for reading model database (#337)

Full Changelog: https://github.com/tsutterley/pyTMD/compare/2.1.5...2.1.6

v2.1.5

30 Aug 16:18
Compare
Choose a tag to compare

Summary:
Adds new Goddard ocean tide models and the capability to predict for their modeled 3rd degree tides. Refactors the model format names to be more descriptive of the model file format. Adds the auto-detection of definition file format (thanks @robbibt!). Refactors the project build to use more modern practices. Adds the capability to predict the horizontal components of the load pole and ocean pole tides (thanks @CunrenLiang!).

Itemized Changes:

  • feat: adding GOT5.5 and GOT download program (#316)
  • refactor: renamed format for ATLAS to ATLAS-compact (#316)
  • refactor: renamed format for netcdf to ATLAS-netcdf (#316)
  • refactor: renamed format for FES to FES-netcdf and added FES-ascii (#316)
  • refactor: renamed format for GOT to GOT-ascii and added GOT-netcdf (#316)
  • feat: add JSON definition files for GOT5.5D and GOT5.6 (#316)
  • feat: add support for constituents in PERTH5 tables (#316)
  • ci: use upstream matlab TMD for OTIS comparison (#316)
  • feat: include inference of eps2 and eta2 with GOT models (#319)
  • feat: add attribute for minor constituents to model object (#319)
  • feat: allow inferring only specific minor constituents (#319)
  • feat: allow searching over iterable glob strings in definition files for #318 (#319)
  • feat: add option to auto-detect definition file format for #318 (#319)
  • feat: add back nodal arguments from PERTH3 for backwards compatibility (#319)
  • chore: trim trim trailing whitespace (#319)
  • docs: add GOT5.5 to getting started (#319)
  • refactor: change 'geotiff' to 'GTiff' and 'cog' for #320 (#321)
  • chore: create pyproject.toml (#321)
  • refactor: modernize build with pyproject.toml (#322)
  • feat: add functions to calculate pole tides in cartesian coordinates for #323 (#324)
  • refactor: renamed io for Desai ocean pole tide file to IERS (#324)
  • docs: update prediction functions (#324)
  • fix: don't overwrite ocean pole tide longitude in shift (#325)
  • test: add more ocean pole tide verifications (#325)
  • feat: add ECEF to ENU conversions (#326)
  • refactor: use rotation matrix to convert from Cartesian to spherical (#326)

Full Changelog: https://github.com/tsutterley/pyTMD/compare/2.1.4...2.1.5

v2.1.4

23 Jul 01:07
Compare
Choose a tag to compare

Summary:
Adds the ability to crop tide models around a bounding box. This capability can greatly improve computational times, particularly for high-resolution global models (#95). This release also fixes an issue for the extrapolated FES2022 data for coastal water bodies, where the model was zeroed out (thanks @robbibt!!).

Itemized Changes:

  • feat: added crop and bounds keywords for trimming model data for #95 (#313)
  • fix: FES2022-extrapolated outputs have zeroed out inland water bodies for #309 (#314)
  • feat: added option to use JSON format definition files (#314)
  • feat: add definition files for FES2022-extrapolated (#314)
  • docs: update definition file text describing new JSON format (#315)
  • feat: include crop in notebook demos (#316)
  • refactor: use timescale in notebook demos for temporal operations (#316)

Full Changelog: https://github.com/tsutterley/pyTMD/compare/2.1.3...2.1.4

v2.1.3

17 Jul 21:44
Compare
Choose a tag to compare

Summary:
Fixes an issue where the FES2022 coordinates are masked when read from netCDF (thanks @robbibt!).

Itemized Changes:

  • fix: extract masked longitudes from FES2022 for #309 (#311)
  • feat: add JSON definition file parsing for #310 (#312)
  • docs: bump docutils to latest

Full Changelog: https://github.com/tsutterley/pyTMD/compare/2.1.2...2.1.3