Skip to content

Releases: tsutterley/pyTMD

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

v2.0.1

02 Feb 22:55
Compare
Choose a tag to compare

Adding capabilities for 'grid' and 'time series' types for netCDF4 outputs
Fixes to address the number of warnings and to pin scipy to a working version
Thanks to @bjarnebuchmann for recommending both script and documentation changes

  • feat: default geotiff output as cog
  • feat: added default field mapping for reading from netCDF4/HDF5 (#152)
  • feat: split netCDF4 output for grid and drift types to address #154 (#159)
  • feat: use debug level logging instead of import warnings in tools.py to address #156 (#159)
  • feat: add time series type to address #153 (#162)
  • fix: verify warnings have type and only show once #146 (#147)
  • fix: pin scipy to 1.9.3 for scipy/scipy#17716 (#147)
  • fix: use default context from utilities module (#147)
  • fix: include more possible dimension names for grid and time series outputs (#163)
  • test: add default field mapping test (#152)
  • test: validate gridded and time series netCDF/HDF5 io (#163)
  • docs: update documentation colors to match new logo
  • docs: don't have metavar for --tide to address #155 (#159)
  • docs: updated v2 link for Arc2km to address #157 (#159)

Full Changelog: 2.0.0...2.0.1