Recent Releases of pyTMD

pyTMD - v3.0.8

Summary:
This release adds a new extrapolation option (IDW) and a new notebook showing the performance of the options available (NN, IDW, DCT). Love numbers and datum calculations have been moved to a new earth module (from the constituents and spatial modules respectively). Several sections of the documentation have been expanded (particularly the Spherical Harmonics, Solid Earth Tide and Astronomy subsections in the Background).

Thanks again to @DavidVadnais, who continued work bringing the code base into compliance with open standards.

Itemized Changes:

  • feat: added inverse distance weighting (IDW) extrapolation (#577)
  • refactor: move ellipsoid and love number parameters to earth module (#577)
  • refactor: use scipy.spatial.KDTree as cKDTree is now an alias (#577)
  • feat: add exists to URL class (#577)
  • refactor: improve body_tide computational times (#578)
  • test: add unit tests for body tides using HW1995 and W1990 (#578)
  • test: update random integers for new numpy syntax (#578)
  • fix: aberration in solar longitude had radians conversion twice (#578)
  • fix: solar_distance needed ephemerides keyword argument (#578)
  • docs: update references to IERS chapter 5 tables (#578)
  • chore: update pixi.lock to version 7 (#578)
  • docs: add more information to getting started section (#579)
  • feat: updated constituent parameters function to use dictionaries (#580)
  • feat: add Kronecker delta function (#580)
  • docs: add zenith angle function and term to glossary (#580)
  • docs: use lower case terms where applicable (#580)
  • docs: expand spherical harmonics page (#580)
  • docs: use LaTeX math in docstrings (#580)
  • test: update constituent and math tests (#580)
  • chore: bump pixi ci versions (#580)
  • ci: add sphinx build check (#580)
  • test: add ValueError to NOAA tests (#580)
  • docs: add to Astronomy (#581)
  • docs: define n in the legendre polynomial calculation (#581)
  • docs: bold font in some lists (#581)
  • ci: archive sphinx warnings to artifact (#582)
  • docs: add numfig_format filter (#583)
  • ci: add --fail-on-warning and --keep-going to SPHINXOPTS (#583)
  • docs: expand ephemerides section (#584)
  • docs: eq-eq had duplicate info from sidereal time (#584)
  • docs: add approximate method table (#584)
  • docs: add tide correction table (#584)
  • docs: add to glossary (#585)
  • docs: add extrapolation notebook (#585)
  • feat: add is_geographic to inpaint (#585)
  • refactor: use _build_tree in inpaint (#585)
  • fix: lint issues by breaking up imports (#586)
  • fix: lint apply E401 fixes (break up imports) (#586)
  • fix: ruff check --select SIM118,UP034,F541,UP004 --fix . (#586)
  • docs: add steps for calculating solid earth tides (#587)
  • docs: add initial gravity tide section (#587)
  • docs: renumber all equations after gravity tides addition (#587)
  • docs: convert Install page to myst-nb (#588)
  • feat: allow for encrypted ftp connections (#589)
  • feat: can get github url of an item in the project repo (#589)
  • docs: update resources list (#589)
  • docs: add some notes to background (#589)
  • docs: add Lambeck (1980) to citations (#589)

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

Hydrosphere - Ocean and Hydrology Data Access - Python
Published by tsutterley 16 days ago

pyTMD - v3.0.7

Summary:
This release includes some minor changes to update and clean up the documentation. This includes: 1) moving some notebooks to a new tutorials repository; 2) standardizing docstrings for uniformity; 3) improving the citation of related projects; and 4) making some stylistic changes. This release also hopefully sets up the project for more long-term stability by conforming to updated standards, generalizing some functions, adding new utilities, bumping up the version of some GitHub Actions tools used in CI workflows, and making contributions to the project easier.

Itemized Changes:

  • docs: clean up notebooks and drop duplicate content (#563)
  • refactor: parallel outputs from earth_orientation and length_of_day (#564)
  • refactor: use xarray dot product for calculating constituent phases (#564)
  • docs: include long-period length of day in time background (#564)
  • docs: add tutorials repo to resources (#565)
  • docs: add tutorial link in examples (#565)
  • docs: update license for PEP-0639 (#565)
  • chore: bump setuptools to v77 (#565)
  • refactor: RUFF UP034 remove extra parentheses (#567)
  • ci: only upload artifacts from main repo PRs (#568)
  • docs: more docstring changes for uniformity (#568)
  • feat: add function to calculate high and low peaks (#568)
  • feat: add function to try to convert units to be pint friendly (#568)
  • feat: add query and path functions to URL class (#569)
  • test: added cleanup options to model tests (#569)
  • docs: use :py:func: instead of :func: (#569)
  • docs: update docstrings in model.py (#570)
  • ci: drop monthly scheduled check for python requests (#570)
  • feat: can use from_ftp within URL class (#571)
  • feat: added some s3 capabilities for getting the bucket name and key (#571)
  • feat: add more features to utilities (#571)
  • docs: change width of tables (#572)
  • fix: added include_algorithm option to get_hash function (#572)
  • test: check new include_algorithm option (#572)
  • refactor: minor change to provider logging (#572)
  • feat: added lineage attributes to save model filename(s) (#573)
  • feat: added combine_attrs to merge conflicts into a list (#573)
  • feat: updated scale factors to add another pole case (#573)
  • test: added polar stereo scaling tests (#573)
  • docs: add pyfes to README.md (#573)
  • docs: update infer minor docstring to add pyfes (#573)
  • refactor: use np.hypot in magnitude calculations (#573)
  • refactor: deprecate minor and arguments table (#573)
  • docs: add pyfes to references in CITATION.cff (#574)
  • fix: extra parentheses in one hypot instance (#574)
  • feat: add symlink function (#575)
  • docs: reorder sections in README.md (#575)

New Contributors:

Full Changelog: https://github.com/pyTMD/pyTMD/compare/3.0.6...3.0.7

Hydrosphere - Ocean and Hydrology Data Access - Python
Published by tsutterley about 1 month ago

pyTMD - v3.0.6

Summary:
This release adds the capability to use unstructured datasets, such as finite element (FE) grids. AVISO recently released the unstructured FES2022_native model, which is the uninterpolated version of FES2022. This release also modernizes some of the documentation notebooks, allowing users to interactively explore tide gauge observations and make tidal predictions. Finally, this release adds more experimental features for calculating gravity tides using an ephemerides approach, and adds tables for higher degree and order body tide Love and Shida numbers.

Itemized Changes:

  • refactor: split prediction functions into 4 modules (#549)
  • feat: tinkering with calculating gravity tides (#549)
  • docs: add autofunctions for legendre sub-functions
  • feat: add body tide Love number tables for degree 4+ (#551)
  • test: add degree-dependent Love number checks (#551)
  • feat: add reader for FES-native netCDF4 files (#552)
  • feat: add FES2022_native to providers (#552)
  • feat: add FES2022_native to AVISO fetch script (#552)
  • docs: add FES-native to io.FES documentation (#552)
  • docs: add FES-native notes to getting started (#552)
  • feat: add interpolators for unstructured datasets (#552)
  • feat: add support for unstructured datasets (#552)
  • fix: put barycentric interpolation in a loop (#554)
  • test: add checks for unstructured grids (#554)
  • feat: allow extrapolation from mesh (#554)
  • refactor: split out gridded interpolation (#554)
  • ci: use ubuntu-slim instances for lightweight ops (#555)
  • docs: add demo for using the TICON-4 database (#557)
  • fix: include 'SGM' in constituent parsing (TICON-4's version of sigma1) (#557)
  • refactor: drop tidal spectra notebook from examples (#557)
  • docs: update NOAA notebook to add interactive map (#558)
  • feat: add builder for XSLT 1.0 stylesheets (#558)
  • test: add NOAA check that stylesheet works (#558)
  • feat: add stylesheet to NOAA active stations (#559)
  • test: add NOAA active station test (#559)
  • docs: auto-update map center if station is clicked (#560)
  • docs: split up tide background pages (#561)

Full Changelog: https://github.com/pyTMD/pyTMD/compare/3.0.5...3.0.6

Hydrosphere - Ocean and Hydrology Data Access - Python
Published by tsutterley 2 months ago

pyTMD - v3.0.5

Summary:
This release hopefully fixes the issue found by @robbibt where the extrapolation function was returning uncaught fill values when no points were within the cutoff distance. The KD-tree used when extrapolating the tidal constants can now also be cached, which may potentially speed up processing times.

This release also adds some experimental features for calculating tide-generating forces using an ephemerides approach, and new approximate methods for calculating the Earth-Centered Earth-Fixed (ECEF) coordinates of the sun and moon.

Itemized Changes:

  • fix: output data as a DataArray from extrapolate for #537 (#538)
  • feat: allow caching of the KD-tree during extrapolation (#540)
  • refactor: switch method for Legendre polynomials (#541)
  • test: compare Plm and dPlm against prior values (#541)
  • fix: handle the dPlm singularity at the poles (#542)
  • docs: add geocentric latitude section (#543)
  • refactor: clean up ephemerides method of calculating solid earth tides (#543)
  • ci: bump versions for nodejs deprecation (#543)
  • ci: smaller coverage reports (#543)
  • feat: add tide-generating forces from Tamura (1982) (#544)
  • docs: standardize how units are represented (#544)
  • refactor: add more constituents to length of day (#544)
  • refactor: make maximum degree (lmax) an argument (#544)
  • test: add comparison of Legendre polynomials vs HW95 (#544)
  • docs: standardize case of docstrings (#545)
  • refactor: clean up ephemerides corrections for SE tides (#546)
  • refactor: use Cartesian approach for TGF (#547)
  • feat: new options for lunisolar ECEF XYZ (#547)
  • test: add tests over all approximate lunisolar ECEF methods (#547)

Full Changelog: https://github.com/pyTMD/pyTMD/compare/3.0.4...3.0.5

Hydrosphere - Ocean and Hydrology Data Access - Python
Published by tsutterley 3 months ago

pyTMD - v3.0.4

Summary:
This release hopefully completes the fix needed for the issue found by @andrew-longmore-tessella. Here, the unit parsing wasn't working as intended for HAMTIDE11 currents as 1) the 2011 version had the units as m, and 2) the 2017 fixed version had the units as cm s-1 instead of cm s^-1 (or similar). pint parsed the units from the 2011 version as being elevations and could not parse the units from the 2017 version as it tried to subtract 1 from s.

v3.0.4 also adds some small fixes, such as not trying to infer constituents where the frequency exactly matches a major constituent, and to use geocentric latitudes for body tides (the catalog method for solid earth tides). More work was also done to verify the pole tide outputs based on data provided by John Robbins (personal communication).

This release also adds some experimental features for calculating length-of-day variations and simplifies the ephemeride method for calculating solid earth tides.

Itemized Changes:

  • fix: check if units attributes are valid for #524 (#528)
  • docs: add compute tides demo notebook (#529)
  • feat: add attributes for constituents to output DataArrays (#530)
  • fix: don't infer minor constituents with major frequencies (#531)
  • fix: further generalize the load pole tide calculation (#532)
  • fix: make sign convention a variable dependent on IERS convention (#532)
  • test: add ocean and load pole tide test from John R (#532)
  • fix: use geocentric latitude for body tides (#533)
  • feat: add function to calculate tidal variations in EOPs (#533)
  • feat: add function to compute geocentric latitudes (#533)
  • refactor: split up IERS corrections into more functions (#534)
  • feat: add radius and scalar product functions (#534)
  • refactor: ruff format docs and notebooks (#535)
  • refactor: make some SET corrections keyword arguments (#535)
  • chore: bump timescale to 0.1.1 (#535)

Full Changelog: https://github.com/pyTMD/pyTMD/compare/3.0.3...3.0.4

Hydrosphere - Ocean and Hydrology Data Access - Python
Published by tsutterley 3 months ago

pyTMD - v3.0.3

Summary:
This release adds a couple of fixes for issues found by both @andrew-longmore-tessella and @torbjoernt. In one issue, the variable parsing wasn't working as intended for FES-formatted files for tidal currents. In the other issue, the units were not being handled properly for some ascii-formatted models, which caused issues when trying to convert to default units (e.g. from cm to m).

This release also adds some minor features, such as an improved representation of pyTMD.io.model objects when using Jupyter notebooks.

Itemized Changes:

  • refactor: make model io accessors sub of tmd accessor (#520)
  • ci: change joss paper workflow to manual dispatch (#521)
  • fix: do subaccessors properly with registration (#522)
  • feat: add HTML representation for io.model using xarray (#523)
  • fix: determining FES current variables for #524 (#523)
  • fix: set units on constituent variables in a loop for #526 (#523)
  • fix: some GOT-formatted models have units on the second line of header (#523)

Full Changelog: https://github.com/pyTMD/pyTMD/compare/3.0.2...3.0.3

Hydrosphere - Ocean and Hydrology Data Access - Python
Published by tsutterley 4 months ago

pyTMD - v3.0.2

Summary:
This release adds a couple of small fixes found when calculating tide corrections for the latest release of ICESat-2 data. For developers with box tokens, we can now download TPXO tide model files directly. This release should also prevent failures during continuous integration testing when the NOAA Tide and Currents API is down.

Itemized Changes:

  • feat: can now download TPXO files directly from box (#513)
  • fix: figured out how to configure the box tokens 🎉 (#513)
  • fix: check if flexure variable exists in TMD3 files (#513)
  • docs: use sphinxcontrib-bibtex for data citations (#513)
  • fix: output data from extrapolate as xarray.DataArray (#516)
  • docs: add cite to Merriam (1992) (#516)
  • fix: handle scalar inputs for coordinate transformations (#517)
  • feat: improve io and solve imports to not pollute (#518)
  • test: handle cases when NOAA API is down (#518)

Full Changelog: https://github.com/pyTMD/pyTMD/compare/3.0.1...3.0.2

Hydrosphere - Ocean and Hydrology Data Access - Python
Published by tsutterley 5 months ago

pyTMD - v3.0.1

Summary:
Canonical release of pyTMD version 3! Version 3 is a rewrite of the program to use xarray for data handling. Leaning on xarray allows us to drop a lot of legacy code for data management and interpolation. It also allows for the easy inspection of tide models as Datasets and plotting of tide variables. Hopefully these changes allow pyTMD to be more streamlined and more generally applicable to user's applications.

This is also the first release of pyTMD after the publication of our JOSS manuscript 🎉

Itemized Changes:

  • docs: add citation to JOSS manuscript (#502)
  • refactor: moved JPL kernel download function to datasets (#503)
  • feat: add IERS ocean pole download function (#503)
  • ci: add ruff format to PR checks (#504)
  • feat: add functions for assigning coordinates to xarray Datasets (#505)
  • docs: use xarray plotting instead of imshow in 2 notebooks (#505)
  • ci: use pytest-coverage-comment and drop codecov usage (#505)
  • fix: add coverage xml files to .gitignore (#505)
  • feat: can change variable datatype in output ATLAS netCDF files (#506)
  • test: using regional subsets for FES2014 and TPXO9-atlas-v2 (#506)
  • docs: expand a little bit about nodal corrections (#507)
  • docs: update .zenodo.json to add funding information (#507)
  • feat: add writer for GOT-formatted ascii files (#508)
  • feat: update README.md with About section (#509)
  • ci: rename workflows to be shorter (#509)
  • ci: add back macos-latest to list of runners (#509)
  • feat: add zenodo option for fetching test data (#509)
  • feat: add json load to URL class (#509)
  • fix: increase test data timeout to ten minutes (#509)
  • docs: add zenodo icon to badge (#510)
  • feat: add LOD calculation from Ray and Erofeeva (2014) (#511)

Full Changelog: https://github.com/pyTMD/pyTMD/compare/3.0.0-beta-3...3.0.1

Hydrosphere - Ocean and Hydrology Data Access - Python
Published by tsutterley 6 months ago

pyTMD - v2.2.9.1

Summary:
This release adds the latest version of the JOSS manuscript and a couple of small fixes to astro and arguments. This is an intermediate release while version 3 updates are in beta.

Full Changelog: https://github.com/pyTMD/pyTMD/compare/2.2.9...2.2.9.1

Hydrosphere - Ocean and Hydrology Data Access - Python
Published by tsutterley 6 months ago

pyTMD - v3.0.0-beta-3

Summary:
This (pre-)release adds a transition guide for users who worked with prior versions of pyTMD and a couple of small fixes for paths and urls.

Itemized Changes:

  • fix: expanduser on local paths by (#496)
  • docs: add transition guide for v3 (#497)
  • docs: add reference to v3 release notes (#498)
  • docs: add currents to transition guide (#499)
  • feat: add name, stem and parent to URL class (#500)
  • docs: add reference to TMD2.5 (#501)

Full Changelog: https://github.com/pyTMD/pyTMD/compare/3.0.0-beta-2...3.0.0-beta-3

Hydrosphere - Ocean and Hydrology Data Access - Python
Published by tsutterley 6 months ago

pyTMD - v3.0.0-beta-2

Summary:
This (pre-)release adds a couple of fixes to allow pyTMD v3 to work in Python versions prior to 3.12. The first pre-release trialed creating a subclass of pathlib.Path to work with both paths and URLs, which did not work in earlier versions of Python.

Itemized Changes:

  • chore: ruff format for #100 (#493)
  • refactor: no longer subclassing pathlib.Path (#494)
  • chore: add keywords to .zenodo.json (#495)

Full Changelog: https://github.com/pyTMD/pyTMD/compare/3.0.0-beta...3.0.0-beta-2

Hydrosphere - Ocean and Hydrology Data Access - Python
Published by tsutterley 6 months ago

pyTMD - v3.0.0-beta

Summary:
This (pre-)release implements a major refactor of pyTMD, which now uses xarray for all data access and high-level computations.

Many of these changes have been part of a long-term project to simplify and streamline processing pipelines. It will hopefully make the software easier to use and more functional.

Kick the tires and recommend changes for our eventual 3.0.0 release 🎉

Itemized Changes:

  • refactor: rewrite io routines to use xarray (#486)
  • feat: unit-aware conversions with pint (#486)
  • ci: don't run actions for [WIP] PRs (#486)
  • refactor: restructure json files to z, u, v format (#486)
  • refactor: reduce to only dataset predict (now time_series) (#486)
  • refactor: update variable case for #100 (#486)
  • test: ignore pyproj warnings (#486)
  • docs: run readthedocs in dev env (#486)
  • test: add check for interp1d arrays (#486)
  • feat: added function to reduce NOAA prediction stations to active (#486)
  • feat: added function to check if a dependency is available (#486)
  • feat: create pathlib.Path subclass for allow s3 (#486)
  • feat: added detection functions for compression and model format (#486)
  • fix: add m1a and m1b to nodal corrections (#486)
  • docs: add netcdf from s3 recipe (#486)
  • test: add tests against PERTH5 (#488)
  • refactor: merge minor constituent inference loop (#488)
  • docs: update module docstrings (#488)
  • feat: add functions to transform coordinates to DataArrays (#489)

Full Changelog: https://github.com/pyTMD/pyTMD/compare/2.2.9...3.0.0-beta

Hydrosphere - Ocean and Hydrology Data Access - Python
Published by tsutterley 6 months ago

pyTMD - v2.2.9

Summary:
This release has lots of updates in response to our super helpful JOSS reviews. The documentation and docstrings have been revamped to be more descriptive and user-friendly. Data access is now available through functions within datasets. The CI and documentation workflows have been refactored to use pixi and to allow automatic tasking. This release starts setting the table for a major refactor of pyTMD (for v3), which will use xarray for all data access.

Itemized Changes:

  • refactor: generalize the calculation of body tides for degrees 3+ (#467)
  • docs: added IERS Conventions references for Love number calculations (#467)
  • docs: add a draft of a JOSS paper (#415)
  • ci: add JOSS paper build (#415)
  • docs: add non-Antarctic pyTMD use cases for #416 (#415)
  • docs: add citation to ESA cci+ velocities (#415)
  • docs: add doi for Kantha and Clayson (#415)
  • docs: mention PERTH is Fortran software (#415)
  • fix: typo (#466) (#415)
  • docs: add blurbs about the harmonic method (#415)
  • docs: add tide potential catalog table (#415)
  • ci: add environmental variable for paper path (#415)
  • docs: add spherical harmonic plots (#415)
  • docs: add table of max tide potential (#415)
  • chore: add more ruff lint parameters (#415)
  • refactor: functional access to downloading scripts for #470 (#415)
  • docs: expand on the directory structure (#415)
  • docs: update programs for downloading from ArcticData, GOT or AVISO for #469 (#415)
  • docs: add admonitions noting models will need to be downloaded (#415)
  • docs: admonition in xarray recipe (#415)
  • test: add developer download routines for #471 (#415)
  • fix: make pixi tasks associated with features for #472 (#415)
  • docs: update data access for #470 (#415)
  • docs: add notes about AVISO+ registration (#415)
  • fix: move xarray to all dependencies (#415)
  • docs: fix pytest parallel for #473 (#415)
  • ci: refactor to use pixi (#415)
  • ci: fetch data from open repository (#415)
  • ci: no longer reliant on AWS s3 (#415)
  • refactor: remove environment.yml and add pixi task to export (#415)
  • chore: clean up pyproject.toml (#415)
  • docs: change build from micromamba to pixi (#415)
  • docs: add note for fetching test data for #471 (#415)
  • ci: drop macos-latest build |cry| (#415)
  • docs: add acknowledgment to our JOSS reviewers (#474)
  • test: fix pixi task for testing (#475)
  • feat: can solve with inferred minor constituents (post-fit) (#476)
  • docs: add :func: and :py:class: pointers (#477)
  • refactor: remove some deprecated functions (#477)
  • feat: added option to use memory mapping for reading large files (#478)
  • feat: create fetch class to group fetching functions (#479)
  • fix: assign order to reshape if not using mmap (#479)
  • refactor: change default directory for tide models to cache (#481)
  • feat: add platformdirs to dependencies (#481)
  • fix: simplify pixi build with matplotlib-base (#482)
  • docs: elaborate on Julian centuries (#482)
  • fix: skip 4 bytes if no boundary conditions (#482)
  • feat: added crs property for model coordinate reference system (#483)
  • fix: include filtering mask out from possible parsed names (#483)
  • feat: added crs property for model coordinate reference system (#483)
  • feat: added is_global property for models covering a global domain (#483)
  • feat: added pad function to pad global datasets along boundaries (#483)
  • feat: added inpaint function to fill missing data in datasets (#483)
  • feat: add projection info for all models to database.json (#483)
  • feat: add DataArray accessor for amplitude and phase (#483)

Full Changelog: https://github.com/pyTMD/pyTMD/compare/2.2.8...2.2.9

Hydrosphere - Ocean and Hydrology Data Access - Python
Published by tsutterley 7 months ago

pyTMD - v2.2.8

Summary:
Added experimental methods for using xarray to access zarr-ified tide models from the cloud. Added some performance enhancements to the interpolation routines. Improved the simplified body tide calculation and added a wrapper to the compute module. The body tide functions can also now use a choice of tide potential catalogs, including ones taking into account the relative positions of the 5 closest planets. Improved the documentation and added some admonitions to highlight tips and warnings.

Itemized Changes:

  • docs: convert README to markdown (#450)
  • docs: update contribution guidelines (#450)
  • docs: add some admonitions (#450)
  • docs: add more notes and admonitions (#451)
  • docs: update contribution guidelines (#451)
  • refactor: use timescale shortcut wrapper function (#453)
  • feat: add functions for converting models to xarray (#455)
  • docs: add s3 recipes and examples (#455)
  • chore: add aws feature dependencies to pixi (#455)
  • chore: update pixi lock file (#455)
  • docs: add pixi task that can create HTML documentation (#455)
  • feat: use vectorized linear interpolator in infer_minor (#455)
  • feat: improve performance of bilinear interpolation (#455)
  • test: add xarray tests (#455)
  • ci: add xarray to test environment (#455)
  • feat: add basic xarray accessor for tide model data (#456)
  • test: add xarray accessor checks (#456)
  • feat: added option to gap fill constituent grids (#457)
  • docs: add gap fill notebook to examples (#458)
  • fix: suppress crs warnings about proj conversion (#458)
  • test: add inpaint gap filling test (#459)
  • feat: add Woodworth tide potential tables (#459)
  • test: add check if running tests on GitHub Actions (#460)
  • docs: add project testing readme (#461)
  • feat: can choose different tide potential catalogs for body tides (#462)
  • refactor: remake tide potential catalogs to include degree (#462)
  • feat: include complex latitudinal dependence (#463)
  • feat: add wrapper for catalog-based solid earth tides (#464)
  • refactor: split IERS ephemeride method into a separate function (#464)
  • docs: update solid earth tide description (#464)

Full Changelog: https://github.com/pyTMD/pyTMD/compare/2.2.7...2.2.8

Hydrosphere - Ocean and Hydrology Data Access - Python
Published by tsutterley 9 months ago

pyTMD - v2.2.7

Summary:
Added setup for using pixi to build a local working environment (thanks @castelao!). Added a simplified body tide calculation based on Cartwright tide potentials, but with a modification for the frequency dependence of body tide Love numbers. This solid earth tide model has a long legacy of use in satellite altimetry, including Geosat, TOPEX and ICESat (GLAS). Added a fix for inferring minor constituents with a reduced set of major constituents (see thread here https://github.com/GeoscienceAustralia/eo-tides/issues/117).

Itemized Changes:

  • docs: published rendered versions of notebooks for #394 (#432)
  • refactor: move NOAA webservices API query functions to module (#433)
  • feat: add simplified body tides from Cartwright and Tayler (1971) (#436)
  • ci: bump python version to 3.13 (#436)
  • chore: bump scipy version to 1.16.0 (#436)
  • docs: improve comments on simplified body tides
  • docs: add link to contribution guidelines for #434 (#437)
  • docs: update tidal spectra to add degree-3 tides (#437)
  • docs: set images to latest ubuntu and python (#438)
  • fix: replace invalid NOAA water level values (#439)
  • feat: add anelastic correction for long-period body tides (#439)
  • test: add check for long-period complex love numbers (#439)
  • feat: Basic pixi setup (#435)
  • refactor: unpin dependencies in pyproject.toml (#440)
  • docs: add pixi to install instructions (#440)
  • refactor: drop setuptools-scm dependency (#441)
  • refactor: move scripts to be entry points (#441)
  • docs: fix urls for moved scripts (#442)
  • fix: argparse of entry points in docs (#442)
  • docs: pixi as subsection on README.rst (#443)
  • feat: update functions for diurnal complex love numbers (#444)
  • feat: include mantle anelastic effects when inferring long-period tides (#444)
  • feat: add option for mantle anelasticity for LPET predictions (#444)
  • refactor: switch time decimal in pole tides to nominal years of 365.25 days (#445)
  • refactor: convert angles with numpy radians and degrees functions (#445)
  • feat: add arcs2rad and rad2arcs functions and use in conversions (#445)
  • refactor: rename to asec2rad (#446)
  • fix: return numpy arrays if cannot infer minor constituents (#447)
  • fix: make long-period inference optional (#447)
  • refactor: convert microarcseconds to radians with masec2rad function in math.py (#448)

New Contributors:

Full Changelog: https://github.com/pyTMD/pyTMD/compare/2.2.6...2.2.7

Hydrosphere - Ocean and Hydrology Data Access - Python
Published by tsutterley 10 months ago

pyTMD - v2.2.6

Summary:
Fixes some typos (thanks @schwehr!). Reverts some changes to the solid earth mean tide correction and the convention used to estimate load pole tides. In the documentation, auto-generate the model directories to grab from the JSON database.

Itemized Changes:

  • fix: codespell typo fixing (#423)
  • feat: added extrapolation option for FES2014 download (#424)
  • fix: revert SET free-to-mean conversion to 2023 version (#424)
  • ci: fix paths to check if needing to run tests (#424)
  • docs: autogenerate model table (#426)
  • docs: include constituent table code for #425 (#426)
  • docs: add back citations to models (#427)
  • chore: removed functions that were moved to timescale (#429)
  • docs: add table of tidal current directories (#429)
  • ci: remove earthdata credentials (#429)
  • fix: revert load pole tide to IERS 1996 convention definitions (#430)
  • fix: mask mean pole values prior to valid epoch of convention (#431)

New Contributors:

Full Changelog: https://github.com/pyTMD/pyTMD/compare/2.2.5...2.2.6

Hydrosphere - Ocean and Hydrology Data Access - Python
Published by tsutterley 11 months ago

pyTMD - v2.2.5

Summary:
Adds the capability to subset to a select set of constituents (thanks @3enedix!). Fixes the extra_databases capability to use auxiliary JSON files to expand the supported list of models (thanks @robbibt!). Fixes the model file selection for FES currents in io.model (thanks @pbranson!).

Itemized Changes:

  • feat: add option to include higher order polynomials in solution (#411)
  • feat: add option to reduce to a set of constituents for #412 (#413)
  • fix: Prevent extra_databases from overwriting main database (#419)
  • feat: Add support for dictionary-format extra_databases (#419)
  • test: Add sample extra database to tests (#419)
  • test: Add test for correct reading of extra databases (#419)
  • test: Update test to include dictionary extra databases (#419)
  • fix: loading FES currents and nodal_modulation documentation (#420)
  • fix: correctly reference local variable for FES currents (#420)
  • fix: Correct documentation for nodal_modulation return values (#420)
  • fix: pass **kwargs to load_database (#421)
  • fix: verify all height and time variables are finite (#421)
  • chore: update .gitignore (#421)
  • feat: add function to get the x/y of a tidal ellipse (#422)
  • ci: add paths for running workflows (#422)

New Contributors:

Full Changelog: https://github.com/pyTMD/pyTMD/compare/2.2.4...2.2.5

Hydrosphere - Ocean and Hydrology Data Access - Python
Published by tsutterley 12 months ago

pyTMD - v2.2.4

Summary:
Couple of minor fixes. Using np.power for backwards compatibility with numpy<2 (see https://github.com/GeoscienceAustralia/eo-tides/pull/78). Also adding some experimental capability for tidal modulations.

Itemized Changes:

  • fix: use numpy power function over using pow (#408)
  • feat: use Barycentric Dynamical Time for JPL ephemerides (#410)
  • fix: pass keyword arguments to nodal corrections functions (#410)
  • feat: added option to modulate tidal constituents for seasonal effects (#410)
  • chore: remove deprecated USAP-DC download program (#410)
  • test: add ICRS rotation matrix check (#410)

Full Changelog: https://github.com/pyTMD/pyTMD/compare/2.2.3...2.2.4

Hydrosphere - Ocean and Hydrology Data Access - Python
Published by tsutterley about 1 year ago

pyTMD - v2.2.3

Summary:
Documentation updates! Added content to the Background section, including functions and figures. Updates to the astronomical routines to add new functionality and (possibly) better corrections.

Itemized Changes:

  • feat: add parsing more constituents for #351 (#395)
  • docs: add figure for tidal spectra (#395)
  • feat: option to set p' to 0 for sa and sta (#396)
  • docs: add polar motion plot (#396)
  • docs: add leap seconds to delta time plot (#396)
  • docs: add more descriptors for constituents (#396)
  • test: add check for climatologically affected constituents (#396)
  • docs: add more background (#397)
  • docs: use math format for inline variables (#397)
  • docs: update delta time plot (#397)
  • docs: add Astronomy card to background (#397)
  • docs: move nutation to Astronomy (#397)
  • docs: add geoid height section (#397)
  • refactor: changed argument for method calculating mean longitudes (#398)
  • test: added test for comparing mean longitude methods (#398)
  • docs: add more to Astronomy background text (#398)
  • refactor: split ICRS rotation matrix from the ITRS function (#399)
  • feat: added function to correct for aberration effects (#399)
  • chore: bump required timescale version to 0.0.8 (#399)
  • docs: add more astro citations from comments (#399)
  • docs: expand sidereal time subsection (#400)
  • docs: add geodetic coordinate system paragraph (#400)
  • docs: improvements to citations and references (#400)
  • docs: add more terms to the glossary (#400)
  • docs: make dynamical time a subsection in Time (#400)
  • docs: add more notes to astro function docstrings (#400)
  • docs: edit background text for clarity (#401)
  • feat: add 1066A-N and 1066A-S Earth models to Love number calculation (#402)
  • feat: add more ellipsoidal parameters to datum class (#402)
  • docs: add section for Celestial Reference Systems (#402)
  • test: add Love number ratio check (#402)
  • docs: add reference to J. Wahr 1979 PhD thesis (#402)
  • docs: add Love numbers plot from J. Wahr thesis (#402)
  • feat: use string mapping to remap non-numeric Doodson numbers (#404)
  • feat: added function to calculate equation of time (#404)
  • docs: add inverse calculation of Doodson and Delaunay arguments (#404)
  • docs: update constituent table (#404)
  • docs: include LSSD to tide gauge comparison (#404)
  • docs: update dictionary keys (#404)
  • feat: use schureman_arguments function for FES nodal variables (#405)
  • refactor: convert longitudes p and n to radians within nodal function (#405)
  • test: moved astro tests into new module (#405)
  • feat: added Schureman to list of M1 options in nodal arguments (#406)
  • test: include schureman argument test at 1900 (#406)
  • fix: use flexible case for mean longitude method strings (#406)

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

Hydrosphere - Ocean and Hydrology Data Access - Python
Published by tsutterley about 1 year ago

pyTMD - v2.2.2

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

Hydrosphere - Ocean and Hydrology Data Access - Python
Published by tsutterley over 1 year ago

pyTMD - v2.2.1

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

Hydrosphere - Ocean and Hydrology Data Access - Python
Published by tsutterley over 1 year ago

pyTMD - v2.2.0

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

Hydrosphere - Ocean and Hydrology Data Access - Python
Published by tsutterley over 1 year ago

pyTMD - v2.1.9

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

Hydrosphere - Ocean and Hydrology Data Access - Python
Published by tsutterley over 1 year ago

pyTMD - v2.1.8

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

Hydrosphere - Ocean and Hydrology Data Access - Python
Published by tsutterley over 1 year ago

pyTMD - v2.1.7

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

Hydrosphere - Ocean and Hydrology Data Access - Python
Published by tsutterley over 1 year ago

pyTMD - v2.1.6

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

Hydrosphere - Ocean and Hydrology Data Access - Python
Published by tsutterley almost 2 years ago

pyTMD - v2.1.5

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

Hydrosphere - Ocean and Hydrology Data Access - Python
Published by tsutterley almost 2 years ago

pyTMD - v2.1.4

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

Hydrosphere - Ocean and Hydrology Data Access - Python
Published by tsutterley almost 2 years ago

pyTMD - v2.1.3

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

Hydrosphere - Ocean and Hydrology Data Access - Python
Published by tsutterley almost 2 years ago

pyTMD - v2.1.2

Summary:
Fixes some issues that arose with the release of numpy 2.0. Refactors astronomy and prediction functions to use timescale for temporal and EOP operations. Includes updates for the recently released FES2022 tide model outputs.

Itemized Changes:

  • refactor: use timescale for EOP and temporal operations (#300)
  • docs: fix netCDF4 urls (#300)
  • refactor: remove older deprecated functions (#300)
  • feat: add debug mode printing input arguments and additional information (#300)
  • feat: wrapper to importlib for optional dependencies (#300)
  • feat: add io for (geo)parquet datasets with geometry columns (#303)
  • feat: make classes subscriptable and allow item assignment (#303)
  • fix: default module import as class (#303)
  • feat: add output to_file function (#303)
  • fix: deprecation update to replace np.longcomplex (#303)
  • fix: numpy 2.0 fix for time calculation (#303)
  • test: add parquet io tests (#303)
  • fix: prevent integer overflows with numpy 2.0 (#304)
  • docs: add references to new PERTH5 software from Richard Ray (#305)
  • feat: add wrapper function for normalizing angles (#305)
  • feat: add functions to convert to and from Degree-Minutes-Seconds (DMS) (#305)
  • fix: assert that data type is a known value (#305)
  • feat: added new FES2022 and FES2022_load to list of models (#307)
  • feat: only download FES files if non-existent or updated (#308)
  • refactor: add _jd_j2000 variable instead of hard coded (#308)

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

Hydrosphere - Ocean and Hydrology Data Access - Python
Published by tsutterley almost 2 years ago

pyTMD - v2.1.1

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: https://github.com/tsutterley/pyTMD/compare/2.1.0...2.1.1

Hydrosphere - Ocean and Hydrology Data Access - Python
Published by tsutterley about 2 years ago

pyTMD - v2.1.0

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: https://github.com/tsutterley/pyTMD/compare/2.0.9...2.1.0

Hydrosphere - Ocean and Hydrology Data Access - Python
Published by tsutterley over 2 years ago

pyTMD - v2.0.9

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:

Full Changelog: https://github.com/tsutterley/pyTMD/compare/2.0.8...2.0.9

Hydrosphere - Ocean and Hydrology Data Access - Python
Published by tsutterley over 2 years ago

pyTMD - v2.0.8

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: https://github.com/tsutterley/pyTMD/compare/2.0.7...2.0.8

Hydrosphere - Ocean and Hydrology Data Access - Python
Published by tsutterley over 2 years ago

pyTMD - v2.0.7

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: https://github.com/tsutterley/pyTMD/compare/2.0.6...2.0.7

Hydrosphere - Ocean and Hydrology Data Access - Python
Published by tsutterley almost 3 years ago

pyTMD - v2.0.6

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: https://github.com/tsutterley/pyTMD/compare/2.0.5...2.0.6

Hydrosphere - Ocean and Hydrology Data Access - Python
Published by tsutterley almost 3 years ago

pyTMD - v2.0.5

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: https://github.com/tsutterley/pyTMD/compare/2.0.4...2.0.5

Hydrosphere - Ocean and Hydrology Data Access - Python
Published by tsutterley about 3 years ago

pyTMD - v2.0.4

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: https://github.com/tsutterley/pyTMD/compare/2.0.3...2.0.4

Hydrosphere - Ocean and Hydrology Data Access - Python
Published by tsutterley about 3 years ago

pyTMD - v2.0.3

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: https://github.com/tsutterley/pyTMD/compare/2.0.2...2.0.3

Hydrosphere - Ocean and Hydrology Data Access - Python
Published by tsutterley about 3 years ago

pyTMD - v2.0.2

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: https://github.com/tsutterley/pyTMD/compare/2.0.1...2.0.2

Hydrosphere - Ocean and Hydrology Data Access - Python
Published by tsutterley over 3 years ago

pyTMD - v2.0.1

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: https://github.com/tsutterley/pyTMD/compare/2.0.0...2.0.1

Hydrosphere - Ocean and Hydrology Data Access - Python
Published by tsutterley over 3 years ago

pyTMD - v2.0.0

This is a major refactor of the code base to improve the overall structure and documentation.
Tide model read functions have been renamed and placed in the io directory
Additional capabilities for reading and writing files have been added
Interpolation routines have been rewritten into a single module
For now, the code should be the backwards compatible with deprecation warnings

  • refactor: single implicit import of pyTMD tools (#130)
  • refactor: reorganization of tide model readers under io (#132)
  • refactor: placed interpolation routines into new module (#141)
  • refactor: move model class to io
  • feat: add constants class for ellipsoidal and gravitational parameters (#135)
  • feat: functions to read and interpolate from all constituents (#137)
  • feat: new functions to output ATLAS, FES and GOT netCDF4 files (#139)
  • feat: output variables for some standard epochs used within tide programs
  • feat: update forecast notebook with dynamic plotting
  • fix: copy input coordinates within read functions so they are not transformed
  • docs: update documentation for new structure
  • docs: standardized citation format throughout docstrings
  • docs: add release notes for all prior public releases
  • docs: add new pyTMD logo
  • test: read header from OPT test file and compare more variables
  • test: add tests for io methods

Hydrosphere - Ocean and Hydrology Data Access - Python
Published by tsutterley over 3 years ago

pyTMD - v1.1.3

Hydrosphere - Ocean and Hydrology Data Access - Python
Published by tsutterley over 3 years ago

pyTMD - v1.1.2

Bug fixes and updates to auxiliary time and EOP data files

  • fix: MEEUS solar perigee rate
  • fix: slimmer doc build for readthedocs
  • fix: variable case for reading ATLAS compact files
  • feat: add IERS https deltat sync
  • feat: add IERS bulletin-A download
  • ci: add workflow for appending delta times
  • chore: update leap seconds list
  • chore: update deltat file
  • chore: update mean pole table
  • chore: update finals file

Hydrosphere - Ocean and Hydrology Data Access - Python
Published by tsutterley over 3 years ago

pyTMD - v1.1.1

Quick fixes

  • fix: invert current masks for OTIS/ATLAS
  • fix: add encoding to reading leap second files

Hydrosphere - Ocean and Hydrology Data Access - Python
Published by tsutterley over 3 years ago

pyTMD - v1.1.0

feat: ascii file read updates to address https://github.com/tsutterley/pyTMD/issues/112 (https://github.com/tsutterley/pyTMD/pull/113)
feat: added delimiter option and datetime parsing in spatial class

Hydrosphere - Ocean and Hydrology Data Access - Python
Published by tsutterley over 3 years ago

pyTMD - v1.0.9

Major refactor to remove all ICESat, ICESat-2 and OIB code #111 as proposed in #72

Hydrosphere - Ocean and Hydrology Data Access - Python
Published by tsutterley almost 4 years ago

pyTMD - v1.0.8

Release includes various fixes and improvements to the documentation.

  • docs: slimmer environment file for prevent overutilization when building on readthedocs
  • docs: updated structure of documentation
  • fix: ocean pole tide test read
  • fix: verify that input data is a masked array in bilinear interpolate
  • fix: masking of netCDF4 ATLAS variables
  • fix: place some imports behind try/except to include tools import

Hydrosphere - Ocean and Hydrology Data Access - Python
Published by tsutterley almost 4 years ago

pyTMD - v1.0.7

  • fix: improvements for compact ATLAS reads
  • feat: added ESR netCDF4 formats to list of model types
  • feat: added options to apply flexure to computational programs
  • feat: added Greenland 1km model (Gr1kmTM) to list of models
  • feat: added field_mapping options to netCDF4 and HDF5 reads
  • refactor: changed keyword arguments to camel case
  • refactor: use pypi versions of ICESat-2 and ATM1b tools
  • docs: add paragraph about delta times

Hydrosphere - Ocean and Hydrology Data Access - Python
Published by tsutterley almost 4 years ago

pyTMD - v1.0.6

fix: extrapolate for equirectangular case to address #87
feat: added global Empirical Ocean Tide model (#82)
feat: added Arc2kmTM to list of available models
feat: option for changing time standard in file programs
feat: ICESat and Operation IceBridge updates
refactor: slim down requirements.txt

Hydrosphere - Ocean and Hydrology Data Access - Python
Published by tsutterley over 4 years ago

pyTMD - v1.0.5

  • refactor: using python logging for handling verbose output (#71)
  • fix: Operation IceBridge functions for geotrajectory outputs (#73)
  • feat: try to get grid mapping attributes from netCDF4 and HDF5 (#74)
  • refactor: adjust longitude convention based on model longitude (#76)
  • feat: add TPXO9-atlas-v5 to standard models (#77)
  • feat: add tide program for ATL10 freeboard files (#78)
  • feat: added function to calculate a tidal time series (#80)

Hydrosphere - Ocean and Hydrology Data Access - Python
Published by tsutterley over 4 years ago

pyTMD - v1.0.4.0

  • refactor: use model class for files and attributes
  • feat: can use numpy datetime arrays as input time variable
  • feat: calculator for height differences between ellipsoids
  • feat: can use argparse prefix files to define command line arguments
  • feat: added generic list from Apache http server
  • fix: netCDF4 cases where there is no mask on constituent files
  • fix: USAP now requires capchas
  • fix: pole case in stereographic area scale calculation
  • fix: use getncattr to get attributes from netCDF4 files to prevent deprecation errors
  • ci: install proj from source for cartopy dependency
  • test: NSIDC no longer requires authentication headers
  • test: added test for model definition files

Hydrosphere - Ocean and Hydrology Data Access - Python
Published by tsutterley over 4 years ago

pyTMD - v1.0.3.1

conda and docker releases
add new Gr1km-v2 1km Greenland model from ESR
add option for extrapolation cutoff in kilometers
add warning for tide models being entered as string to address
bug fixes for nearest-neighbors and bilinear interpolations
documentation updates

Hydrosphere - Ocean and Hydrology Data Access - Python
Published by tsutterley almost 5 years ago

pyTMD - v1.0.3.0

Preparations for conda-forge release

semantic versioning with setuptools_scm
documentation update with contribution guidelines
citations within documentation
generically named ICESat/ICESat-2 files
ocean load tide fixes
update manifest files

Hydrosphere - Ocean and Hydrology Data Access - Python
Published by tsutterley about 5 years ago

pyTMD - v1.0.2.18

  • Simplified inputs to netcdf, GOT and FES tide read programs to be similar to binary OTIS program
  • Added TPXO9-atlas-v4 in single constituent OTIS file format
  • Updated documentation for consistency and to add contribution guidelines
  • Add checks to extrapolation program to prevent runtime exceptions
  • Updated spatial module adding polar stereographic area scale calculation
  • Updated spatial module adding routines for cartesian coordinate conversion
  • Prevent ComplexWarning for fill values when calculating amplitudes #44
  • Prevent numpy DeprecationWarning for np.bool, np.int and np.float

Hydrosphere - Ocean and Hydrology Data Access - Python
Published by tsutterley about 5 years ago

pyTMD - v1.0.2.17

nearest-neighbor extrapolation using KD-Trees
merged convert_julian and convert_calendar_decimal to time module
update date parser for standalone date case with no units
add streaming from bytes for ascii, netCDF4, HDF5, geotiff
add ftp connection check
use standalone ATL11 reader
use sphinx_rtd_theme for documentation
convert some markdown documentation to reStructuredText
updated EOP files to latest versions

Hydrosphere - Ocean and Hydrology Data Access - Python
Published by tsutterley over 5 years ago

pyTMD - v1.0.2.16

  • added ICESat GLA12 programs computing tides, LPT, OPT, and LPET
  • added ICESat-2 ATL11 programs for tides and LPET
  • added convert ellipsoids for TP to WGS84 to spatial module
  • added nearest-neighbor extrapolation for near-coastal locations
  • updated get_hash to accept bytesio objects
  • updated documentation and jupyter notebooks
  • deprecation updates to fix warnings

Hydrosphere - Ocean and Hydrology Data Access - Python
Published by tsutterley over 5 years ago

pyTMD - v1.0.2.15

use internal mean pole and finals EOP files

automatic update of leap second, delta time and EOP files

geotiff read and write programs in spatial module

calculate tide scripts can read and write to geotiff

ATL03 and ATL06 long period equilibrium tide programs

Hydrosphere - Ocean and Hydrology Data Access - Python
Published by tsutterley over 5 years ago

pyTMD - v1.0.2.14

added model constituents from TPXO9-atlas-v3

add ATLAS compact and netCDF testing (v2) modules

use argparse to set parameters

use numpy masked arrays with ATLAS compact grids

update jupyter notebooks for new models

Hydrosphere - Ocean and Hydrology Data Access - Python
Published by tsutterley over 5 years ago

pyTMD - v1.0.2.13

switching primary branch to main

generalize build opener function for different Earthdata instances

update reduce OTIS files for python3 and projections

adjust dimensions of input coordinates to be iterable

Hydrosphere - Ocean and Hydrology Data Access - Python
Published by tsutterley over 5 years ago

pyTMD - v1.0.2.12

add spatial program for reading/writing ascii, netCDF and HDF5
generalize LPET, LPT, OPT and tide scripts to use csv, netCDF4 or HDF5
add compute tidal current program that can use csv, netCDF4 or HDF5
use netrc within utilities for backup authentication
add utilities for parsing date strings in form "time-units since yyyy-mm-dd hh:mm:ss"

Hydrosphere - Ocean and Hydrology Data Access - Python
Published by tsutterley over 5 years ago

pyTMD - v1.0.2.11

replaced griddata with scipy regular grid interpolators
allow small extrapolations with bilinear interpolation
better incorporation of masked arrays in bilinear interpolation
update date conversions in jupyter notebooks
use pyproj2 transformations in jupyter notebooks
add time conversion test program
add ocean load tide test program
add comparison test for FES models
add wrapper function test to perth3 workflow

Hydrosphere - Ocean and Hydrology Data Access - Python
Published by tsutterley almost 6 years ago

pyTMD - v1.0.2.9

added test for GOT models using perth3 outputs from GOT4.7
GOT4.7 tide model data is stored on s3
convert times for FES models to Dynamic time (TT)
add equilibrium tide program
add program for calculating equilibrium tides for Operation IceBridge
reorganize structure to put notebooks in directory

Hydrosphere - Ocean and Hydrology Data Access - Python
Published by tsutterley almost 6 years ago

pyTMD - v1.0.2.7

Added download CATS2008 and read program check
Added comparison with Antarctic tide gauges (AntTG) and RMS values from King et al. (2011)
Updated testing suite to directly call Matlab program through octave (and oct2py)
Will compare the python and matlab versions for most Antarctic station sites
Added macos to testing strategy and upgraded linux tests to 20.04

Hydrosphere - Ocean and Hydrology Data Access - Python
Published by tsutterley almost 6 years ago

pyTMD - v1.0.2.6

Adds delta time and leap second downloading from the NASA GSFC CDDIS https server with authentication from NASA Earthdata
updates list of models for OIB and ICESat-2 to include TPX09-atlas-v2
update grid files for TPX09-atlas-v2
use difference in leap seconds in calculate_tide_correction function
update testing routines

Hydrosphere - Ocean and Hydrology Data Access - Python
Published by tsutterley almost 6 years ago