Skip to content

Releases: tsutterley/pyTMD

v2.1.1

04 Apr 23:35
Compare
Choose a tag to compare

Summary:
Fixes an issue with calculating currents with TPXO9-atlas-v5 models (thanks @maucollu!). Refactors the high-level compute functions into single module (compute.py). Moves the ellipsoidal parameters to datum function within the crs.py module. Adds further improvements to the overall documentation and lots of small fixes.

Itemized Changes:

  • refactor: made the inferrence of minor constituents an option (#272)
  • refactor: 1-liners in compute.py (#272)
  • refactor: lunisolar ephemerides functions (#272)
  • feat: added more constituent parameters for OTIS/ATLAS predictions (#272)
  • fix: add option to return None and not raise error for Doodson numbers (#272)
  • docs: add more definitions to the glossary (#272)
  • refactor: moved constituent parameters function from predict to arguments (#272)
  • feat: add functions for tide generating forces and potentials (#272)
  • fix: variable typing for c in _constituent_parameters (#272)
  • test: omit deprecated functions in coverage report (#272)
  • docs: add toctree for io subdirectory (#272)
  • test: add quick test for currents wrapper function (#272)
  • fix: construct OTIS currents masks differently if not global (#273)
  • refactor: renamed OTIS currents masks and bathymetry interpolation functions (#273)
  • refactor: renamed extend array and matrix functions (#273)
  • docs: add notebook showing tidal harmonic solver (#275)
  • fix: implicit import of ellipsoid constants class (#275)
  • feat: added inverse function to get currents from tide ellipse parameters (#276)
  • refactor: use complex algebra to calculate tidal ellipse parameters (#276)
  • docs: use importlib to prevent deprecation errors (#276)
  • fix: spelling mistake for solve notebook
  • refactor: changed class name for ellipsoid parameters to datum (#287)
  • refactor: move solve constants to subdirectory (#287)
  • refactor: move the immutable parameters in timescale class (#287)
  • feat: add capability to define a custom datum (#287)
  • refactor: changed variable for setting global grid flag to is_global (#287)
  • fix: doc strings for nodal arguments pu and pf (#287)
  • refactor: use numpy pad to interpolate data to u and v nodes (#287)
  • feat: can calculate polar stereographic distortion for distances (#294)
  • docs: update links to CATS2008-v2023 (#294)
  • fix: dtype suggestions (#294)
  • fix: append v currents in TPXO9 only if netcdf to address #295 (#294)

Full Changelog: 2.1.0...2.1.1

v2.1.0

13 Jan 22:25
Compare
Choose a tag to compare

Summary:
Fixes an issue with calculating currents with TPXO9-atlas models in netCDF4 format (thanks @mirkorupani!). Changes how nodal arguments for constituents are calculated. Program now uses linear algebra with a table of Doodson coefficients (Cartwright numbers), which should hopefully be more transparent and extendable. This also allows the easy calculation of Doodson or Cartwright numbers for constituents (thanks @q1165600785!).

Itemized Changes:

  • fix: revert TPXO9-atlas currents changes to separate dicts for #258 (#259)
  • test: fix u and v for TPXO9-atlas netCDF (#259)
  • fix: escape sequences in docstrings to raw (#259)
  • fix: updated ssl context to fix deprecation error (#259)
  • docs: update docstrings for ssl context (#259)
  • refactor: use doodson arguments tables to calculate values (#270)
  • refactor: rename phase_angles to doodson_arguments (#270)
  • refactor: coordinate reference system class crs.py (#270)
  • refactor: pass through VBox and HBox in tools.py (#270)
  • docs: add link to TMD3 in Resources.rst (#270)
  • feat: made keyword argument for selecting M1 coefficients (#270)
  • feat: add initial solver for harmonic constants (#270)
  • chore: include whitespace after commas (#270)
  • feat: add function to create arguments coefficients table (#270)
  • test: add check that arguments match prior version (#270)
  • docs: started creating a glossary (#270)
  • docs: add citation to Simon et al. (1994) (#270)
  • feat: create arguments coefficients table for minor constituents (#270)
  • feat: add function to calculate Doodson numbers for #263 (#270)
  • refactor: use mean lunar time as independent variable (#270)
  • refactor: moved minor arguments calculation into new function (#270)
  • refactor: implicit import of arguments (#270)
  • test: add check for constants solve (#270)
  • feat: add functions to convert to and from Doodson numbers (#270)
  • feat: add option to output Cartwright numbers (#270)
  • feat: add properties for Doodson and Cartwright numbers to constituents class (#270)
  • feat: try to get the constituents of FES files (#270)

Full Changelog: 2.0.9...2.1.0

v2.0.9

15 Nov 16:51
Compare
Choose a tag to compare

Summary:
Number of fixes to the code base. Fixes the units for TPXO9-atlas currents (thanks @cywhale!). Replaces the deprecated pkg_resources (thanks @mrsiegfried!).

Itemized Changes:

  • fix: scaling factors for TPXO9-atlas currents for #241 (#243)
  • refactor: renamed tidal ellipse function (#243)
  • refactor: renamed constituent parameters function (#243)
  • refactor: renamed check tide model points function (#243)
  • feat: can read from netCDF4 or HDF5 variable groups (#249)
  • fix: spelling mistakes (#249)
  • feat: add generic wrapper function for reading ATLAS constituents (#250)
  • feat: can write datetime as time column for csv files (#252)
  • fix: replace deprecated pkg_resources with importlib (#256)

Full Changelog: 2.0.8...2.0.9

v2.0.8

15 Sep 00:07
Compare
Choose a tag to compare

Summary:
Adds a capability to compute tide corrections for parquet files. Fixes a bug for using TPXO8-atlas (compact) with spline or regular grid interpolators (thanks @robbibt!). Upgrades to the CI and doc builds for using mamba and prevent deprecations.

Itemized Changes:

  • feat: add option to run with parquet tabular files #236
  • feat: add function to invert field mapping keys and values #235
  • fix: prevent overwriting ATLAS compact x and y coordinates to address #238 #240
  • docs: use micromamba for builds #235
  • ci: bump versions of imports to prevent deprecation errors #235

Full Changelog: 2.0.7...2.0.8

v2.0.7

17 Aug 23:52
5c80dc3
Compare
Choose a tag to compare

Summary:
Adds a new Antarctic model coinciding with the release of the Matlab Tide-Model-Driver. Decreases the build size and includes performance enhancements for RTD and CI builds.

Itemized Changes:

  • feat: added model parameters for CATS2008-v2023 #229
  • refactor: changed ESR netCDF4 format to TMD3 format #229
  • refactor: place more imports behind try/except statements to reduce RTD build size #230
  • fix: remove possible crs variables from output netCDF4 fields list #229
  • ci: bump actions to python 3.11 #229
  • ci: use mamba for CI builds #230
  • docs: switch to RTD build.os configuration #230

Full Changelog: 2.0.6...2.0.7

v2.0.6

27 Jul 19:40
Compare
Choose a tag to compare

Summary:
This a relatively minor release that includes some bug fixes and performance improvements.

Itemized Changes:

  • feat: improve conversion of timescale to datetime arrays #220
  • docs: update graphviz fonts to match overall readthedocs style #220
  • refactor: switch from import warnings to debug logging #220
  • fix: output constituents from get and pop as copies to keep original data immutable #222

Full Changelog: 2.0.5...2.0.6

v2.0.5

14 Jun 19:11
Compare
Choose a tag to compare

Summary:
This release adds some bug fixes for defined paths, along with changes to read the ocean tide variables in FES2012. JPL kernel files can also be automatically downloaded from the SSD server if using high resolution ephemerides. Some chore work for authenticating with NASA Earthdata user tokens was also added.

Itemized Changes:

  • feat: function to convert a string with time zone information to datetime #203
  • feat: added option to change connection timeout to arcticdata and AVISO for #202 #205
  • feat: download JPL kernel file if not currently existing #205
  • feat: add functions to retrieve and revoke Earthdata tokens #209
  • fix: don't set a default directory in tools for #202 #203
  • fix: setting path to output file in scripts where not defined as an argument
  • fix: extract variables for FES2012 ocean tide #212
  • docs: update solid earth section #205
  • test: add a time zone case to parsing #203

Full Changelog: 2.0.4...2.0.5

v2.0.4

10 May 18:21
Compare
Choose a tag to compare

Summary:
This release adds new capability for being able to find constituent files using glob strings when using definition files (Thanks @ludwigus for the suggestion!!). This capability required some refactorization within the software for how paths work (now using pathlib). This release also adds some higher resolution astronomical calculations for determining solid earth tides using ephemerides from JPL. A new timescale class has also been added for converting between different time standards, and between universal (UT) and dynamic (TT) time.

Itemized Changes:

  • feat: add basic file searching with glob strings in definition files for #183 (#187)
  • feat: add parser for extracting constituents from filenames (#187)
  • feat: updated model definition read function for currents (#187)
  • feat: added iterative methods for converting from cartesian to geodetic (#187)
  • feat: functions to calculate solar and lunar positions with ephemerides (#187)
  • feat: add long_name and description attributes for current variables (#188)
  • feat: allow netCDF4 and HDF5 outputs to be appended to existing files (#192)
  • feat: add code of conduct (#192)
  • feat: use a higher resolution estimate of the Greenwich hour angle (#194)
  • feat: add new timescale class for time operations (#198)
  • feat: adding high resolution astronomical calculations (#198)
  • feat: have default earth orientation parameters in eop module (#198)
  • feat: add option for using higher resolution ephemerides from JPL (#198)
  • feat: use einsum for combined matrix multiplications (#198)
  • feat: allow epochs to be strings or np.deltatime64 (#200)
  • refactor: using pathlib to define and expand paths (#187)
  • refactor: rename load_nodal_corrections to arguments (#188)
  • refactor: make nominal love/shida numbers kwargs (#191)
  • refactor: make mass ratios of sun/moon kwargs (#191)
  • refactor: output solid earth corrections as XYZ (#191)
  • refactor: change some variable names (hour_angle) (#194)
  • refactor: make nutation angles a separate function (#200)
  • fix: allow directory to be None for definition files case (#187)
  • fix: include deprecated calc_astrol_longitudes in __init__.py (#188)
  • fix: add descriptive exception when glob pattern doesn't find files for #183 (#190)
  • fix: solar ephemeride function to include SSB-to-sun segment (#192)
  • fix: remove binder links 😢 (#198)
  • docs: add a line denoting new glob capability (#187)
  • docs: add docstrings for solid earth sub-function inputs (#187)
  • docs: add background section detailing methods (#191)
  • docs: add code of conduct as separate page (#200)
  • docs: expand on background reference systems (#200)
  • docs: split optional and required dependencies (#200)
  • test: added model definition file tests (#187)
  • test: add geodetic conversion test (#187)
  • test: add test for more derived attributes in model (#188)
  • test: parse all multiple file types for constituent names (#190)
  • test: test permanent tide conversion in solid earth (#190)
  • test: get IODEM3 from AWS s3 (NSIDC is currently down) (#192)
  • test: add timescale checks for conversions and constants (#198)
  • test: add test for leap seconds in timescale (#198)

Full Changelog: 2.0.3...2.0.4

v2.0.3

08 Apr 20:10
3063a53
Compare
Choose a tag to compare

Summary:
This adds a fair bit of functionality while refactoring some functions and modules to better fit the current code structure. Added new HAMTIDE model as an option using the FES file standard (thanks @martin-rdz for the suggestion!). Added capabilities to predict solid Earth tides following IERS conventions. Added "one-liner" functions to predict long-period equilibrium tides (LPET), load pole tides (LPT) and ocean pole tides (OPT) and solid Earth tides (SET) (thanks Jeremy Harbeck for the suggestion!).

Itemized Changes:

  • feat: add basic variable typing to function inputs (#174)
  • feat: added "one-liners" for LPET, LPT and OPT (#176)
  • feat: added option to change IERS mean or secular pole convention (#176)
  • feat: added 2018 IERS secular pole convention (#176)
  • feat: set ellipsoid name and output units as constants attributes (#176)
  • feat: add 'HAMTIDE11' model to address #179 (#180)
  • feat: adding work for computing solid earth tides (#186)
  • feat: add solid Earth tide (SET) correction program for files (#186)
  • feat: add function for phase angles (#186)
  • test: add solid Earth tide (SET) checks vs IERS and ICESat-2 (#186)
  • refactor: renamed coordinate reference system conversion functions (#174)
  • refactor: mapping notebooks for matplotlib 3.5 (#182)
  • fix: setting directories for FES currents within model class (#182)
  • fix: check if datetime before converting to seconds (#186)
  • fix: copy inputs in cartesian conversions to not modify original arrays (#186)
  • docs: remove deprecated .rst files (#174)
  • docs: update documentation to denote new solid Earth tide (SET) functionality (#186)

Full Changelog: 2.0.2...2.0.3

v2.0.2

09 Mar 22:33
06ae83a
Compare
Choose a tag to compare

Summary: Minor release to update the pin for scipy, which should enable a working conda-forge build. This release also removes deprecated functions in order to slim down the repository.

Itemized Changes:

  • chore: bump scipy pin to 1.10.1 to address #148 (#167)
  • refactor: remove deprecated functions (#171)

Full Changelog: 2.0.1...2.0.2