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 toearthmodule (#577)refactor: usescipy.spatial.KDTreeascKDTreeis now an alias (#577)feat: addexiststoURLclass (#577)refactor: improvebody_tidecomputational times (#578)test: add unit tests for body tides using HW1995 and W1990 (#578)test: update random integers for newnumpysyntax (#578)fix: aberration in solar longitude had radians conversion twice (#578)fix:solar_distanceneededephemerideskeyword argument (#578)docs: update references to IERS chapter 5 tables (#578)chore: updatepixi.lockto 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: useLaTeXmath in docstrings (#580)test: update constituent and math tests (#580)chore: bumppixici versions (#580)ci: addsphinxbuild check (#580)test: addValueErrorto NOAA tests (#580)docs: add toAstronomy(#581)docs: definenin the legendre polynomial calculation (#581)docs: bold font in some lists (#581)ci: archive sphinx warnings to artifact (#582)docs: addnumfig_formatfilter (#583)ci: add--fail-on-warningand--keep-goingtoSPHINXOPTS(#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: addis_geographictoinpaint(#585)refactor: use_build_treeininpaint(#585)fix:lintissues by breaking up imports (#586)fix:lintapplyE401fixes (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 tomyst-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 fromearth_orientationandlength_of_day(#564)refactor: usexarraydot 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: bumpsetuptoolstov77(#565)refactor:RUFFUP034remove 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 bepintfriendly (#568)feat: addqueryandpathfunctions toURLclass (#569)test: added cleanup options tomodeltests (#569)docs: use:py:func:instead of:func:(#569)docs: update docstrings inmodel.py(#570)ci: drop monthly scheduled check for python requests (#570)feat: can usefrom_ftpwithinURLclass (#571)feat: added somes3capabilities for getting the bucket name and key (#571)feat: add more features to utilities (#571)docs: change width of tables (#572)fix: addedinclude_algorithmoption toget_hashfunction (#572)test: check newinclude_algorithmoption (#572)refactor: minor change to provider logging (#572)feat: addedlineageattributes to save model filename(s) (#573)feat: addedcombine_attrsto merge conflicts into a list (#573)feat: updated scale factors to add another pole case (#573)test: added polar stereo scaling tests (#573)docs: addpyfestoREADME.md(#573)docs: update infer minor docstring to addpyfes(#573)refactor: usenp.hypotin magnitude calculations (#573)refactor: deprecate minor and arguments table (#573)docs: addpyfesto references inCITATION.cff(#574)fix: extra parentheses in onehypotinstance (#574)feat: addsymlinkfunction (#575)docs: reorder sections inREADME.md(#575)
New Contributors:
- @DavidVadnais made their first contribution in https://github.com/pyTMD/pyTMD/pull/567
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-functionsfeat: add body tide Love number tables for degree 4+ (#551)test: add degree-dependent Love number checks (#551)feat: add reader forFES-nativenetCDF4 files (#552)feat: addFES2022_nativeto providers (#552)feat: addFES2022_nativeto AVISO fetch script (#552)docs: addFES-nativetoio.FESdocumentation (#552)docs: addFES-nativenotes 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: useubuntu-sliminstances for lightweight ops (#555)docs: add demo for using the TICON-4 database (#557)fix: include'SGM'in constituent parsing (TICON-4's version ofsigma1) (#557)refactor: drop tidal spectra notebook from examples (#557)docs: update NOAA notebook to add interactive map (#558)feat: add builder forXSLT1.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 aDataArrayfromextrapolatefor #537 (#538)feat: allow caching of the KD-tree during extrapolation (#540)refactor: switch method for Legendre polynomials (#541)test: comparePlmanddPlmagainst prior values (#541)fix: handle thedPlmsingularity at the poles (#542)docs: add geocentric latitude section (#543)refactor: clean upephemeridesmethod of calculating solid earth tides (#543)ci: bump versions fornodejsdeprecation (#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 outputDataArrays(#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:ruffformat docs and notebooks (#535)refactor: make some SET corrections keyword arguments (#535)chore: bumptimescaleto0.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 modelioaccessors sub oftmdaccessor (#520)ci: change joss paper workflow to manual dispatch (#521)fix: do subaccessors properly with registration (#522)feat: add HTML representation forio.modelusingxarray(#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: usesphinxcontrib-bibtexfor data citations (#513)fix: output data fromextrapolateasxarray.DataArray(#516)docs: add cite to Merriam (1992) (#516)fix: handle scalar inputs for coordinate transformations (#517)feat: improveioandsolveimports 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 todatasets(#503)feat: add IERS ocean pole download function (#503)ci: add ruff format to PR checks (#504)feat: add functions for assigning coordinates toxarrayDatasets(#505)docs: usexarrayplotting instead ofimshowin 2 notebooks (#505)ci: usepytest-coverage-commentand dropcodecovusage (#505)fix: add coverage xml files to.gitignore(#505)feat: can change variable datatype in output ATLAS netCDF files (#506)test: using regional subsets forFES2014andTPXO9-atlas-v2(#506)docs: expand a little bit about nodal corrections (#507)docs: update.zenodo.jsonto add funding information (#507)feat: add writer for GOT-formatted ascii files (#508)feat: updateREADME.mdwith About section (#509)ci: rename workflows to be shorter (#509)ci: add backmacos-latestto list of runners (#509)feat: add zenodo option for fetching test data (#509)feat: addjsonload toURLclass (#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:expanduseron 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 toURLclass (#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:
ruffformat 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: rewriteioroutines to use xarray (#486)feat: unit-aware conversions withpint(#486)ci: don't run actions for[WIP]PRs (#486)refactor: restructure json files toz,u,vformat (#486)refactor: reduce to only dataset predict (nowtime_series) (#486)refactor: update variable case for #100 (#486)test: ignorepyprojwarnings (#486)docs: run readthedocs indevenv (#486)test: add check forinterp1darrays (#486)feat: added function to reduce NOAA prediction stations to active (#486)feat: added function to check if a dependency is available (#486)feat: createpathlib.Pathsubclass for allow s3 (#486)feat: added detection functions for compression and model format (#486)fix: addm1aandm1bto nodal corrections (#486)docs: add netcdf from s3 recipe (#486)test: add tests againstPERTH5(#488)refactor: merge minor constituent inference loop (#488)docs: update module docstrings (#488)feat: add functions to transform coordinates toDataArrays(#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: mentionPERTHis 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 morerufflint 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 inxarrayrecipe (#415)test: add developer download routines for #471 (#415)fix: makepixitasks associated with features for #472 (#415)docs: update data access for #470 (#415)docs: add notes about AVISO+ registration (#415)fix: movexarraytoalldependencies (#415)docs: fixpytestparallel for #473 (#415)ci: refactor to usepixi(#415)ci: fetch data from open repository (#415)ci: no longer reliant on AWS s3 (#415)refactor: removeenvironment.ymland addpixitask to export (#415)chore: clean uppyproject.toml(#415)docs: change build frommicromambatopixi(#415)docs: add note for fetching test data for #471 (#415)ci: dropmacos-latestbuild |cry| (#415)docs: add acknowledgment to our JOSS reviewers (#474)test: fixpixitask 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: createfetchclass to group fetching functions (#479)fix: assign order toreshapeif not usingmmap(#479)refactor: change default directory for tide models to cache (#481)feat: addplatformdirsto dependencies (#481)fix: simplifypixibuild withmatplotlib-base(#482)docs: elaborate on Julian centuries (#482)fix: skip 4 bytes if no boundary conditions (#482)feat: addedcrsproperty for model coordinate reference system (#483)fix: include filtering mask out from possible parsed names (#483)feat: addedcrsproperty for model coordinate reference system (#483)feat: addedis_globalproperty for models covering a global domain (#483)feat: addedpadfunction to pad global datasets along boundaries (#483)feat: addedinpaintfunction to fill missing data in datasets (#483)feat: add projection info for all models todatabase.json(#483)feat: addDataArrayaccessor 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: convertREADMEto 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: usetimescaleshortcut wrapper function (#453)feat: add functions for converting models toxarray(#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 ininfer_minor(#455)feat: improve performance ofbilinearinterpolation (#455)test: addxarraytests (#455)ci: addxarrayto test environment (#455)feat: add basicxarrayaccessor for tide model data (#456)test: addxarrayaccessor checks (#456)feat: added option to gap fill constituent grids (#457)docs: add gap fill notebook to examples (#458)fix: suppresscrswarnings aboutprojconversion (#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 to3.13(#436)chore: bump scipy version to1.16.0(#436)docs: improve comments on simplified body tidesdocs: add link to contribution guidelines for #434 (#437)docs: update tidal spectra to add degree-3 tides (#437)docs: set images to latestubuntuandpython(#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 inpyproject.toml(#440)docs: add pixi to install instructions (#440)refactor: dropsetuptools-scmdependency (#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 onREADME.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 numpyradiansanddegreesfunctions (#445)feat: addarcs2radandrad2arcsfunctions and use in conversions (#445)refactor: rename toasec2rad(#446)fix: return numpy arrays if cannot infer minor constituents (#447)fix: make long-period inference optional (#447)refactor: convert microarcseconds to radians withmasec2radfunction inmath.py(#448)
New Contributors:
- @castelao made their first contribution in https://github.com/pyTMD/pyTMD/pull/435
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:codespelltypo 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 totimescale(#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:
- @schwehr made their first contribution in https://github.com/pyTMD/pyTMD/pull/423
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: Preventextra_databasesfrom overwriting main database (#419)feat: Add support for dictionary-formatextra_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 andnodal_modulationdocumentation (#420)fix: correctly reference local variable for FES currents (#420)fix: Correct documentation fornodal_modulationreturn values (#420)fix: pass**kwargstoload_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:
- @pbranson made their first contribution in https://github.com/pyTMD/pyTMD/pull/420
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 numpypowerfunction over usingpow(#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 setp'to 0 forsaandsta(#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: usemathformat 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 requiredtimescaleversion to0.0.8(#399)docs: add moreastrocitations 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 todatumclass (#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: useschureman_argumentsfunction for FES nodal variables (#405)refactor: convert longitudespandnto radians withinnodalfunction (#405)test: movedastrotests 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 verifylam2is not mapped tom2(#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: updatecodecovaction (#390)chore: updatetimescalelinks to @pyTMD org (#391)docs: add EOP notebook (#392)docs: add solid earth tides notebook (#392)chore: add badge for commits since releasechore: removecodecovbadge from readmerefactor: 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:numfigtoTrue(#393)docs: drop unused dependencies from citations (#393)test: change tonp.isclosein 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 usenp.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:
fix: Python 3.9 annotations error by @robbibt in https://github.com/tsutterley/pyTMD/pull/373
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 genericastrofunctions tomath.py(#362)feat: add function to calculate altitude, azimuth and D (#362)test: add test for unnormalized legendre polynomials (#362)test: movednormalize_angletest totest_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 toarguments(#369)test: create test files from matlab program for comparison (#369)fix: addmissing_okto deletions in tests (#369)fix: verify that file objects are closed intest_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: usesphinxcontrib-bibtexto build bibliography (#372)refactor: moved check points function tocompute(#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 fromProject-URLdocs: updateCITATION.cffto add version informationdocs: add more definitions to glossaryrefactor: 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 beingNonefor #356 (#357)docs: move notebooks to docs and use myst to render (#359)fix: correct error when using default bounds inextract_constantsfor #356 (#359)fix: correctTPXO10-atlas-v2binary 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 4fix: updatepyproject.tomlfordocbuildfix: 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 examplesfix: 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 systemsfeat: 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 newTPXO10-atlas-v2to 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 updatedatabase.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 runpytestaction 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 foreps2andeta2when 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 asdataclass(#337)docs: update getting started andREADME.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 forATLAStoATLAS-compact(#316)refactor: renamed format fornetcdftoATLAS-netcdf(#316)refactor: renamed format forFEStoFES-netcdfand addedFES-ascii(#316)refactor: renamed format forGOTtoGOT-asciiand addedGOT-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 ofeps2andeta2with 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 iterableglobstrings 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: createpyproject.toml(#321)refactor: modernize build withpyproject.toml(#322)feat: add functions to calculate pole tides in cartesian coordinates for #323 (#324)refactor: renamed io for Desai ocean pole tide file toIERS(#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-extrapolatedoutputs have zeroed out inland water bodies for #309 (#314)feat: added option to use JSON format definition files (#314)feat: add definition files forFES2022-extrapolated(#314)docs: update definition file text describing new JSON format (#315)feat: include crop in notebook demos (#316)refactor: usetimescalein 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: bumpdocutilsto 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: usetimescalefor EOP and temporal operations (#300)docs: fixnetCDF4urls (#300)refactor: remove older deprecated functions (#300)feat: add debug mode printing input arguments and additional information (#300)feat: wrapper toimportlibfor 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 asclass(#303)feat: add outputto_filefunction (#303)fix: deprecation update to replacenp.longcomplex(#303)fix:numpy2.0 fix for time calculation (#303)test: add parquet io tests (#303)fix: prevent integer overflows withnumpy2.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 newFES2022andFES2022_loadto list of models (#307)feat: only download FES files if non-existent or updated (#308)refactor: add_jd_j2000variable 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 incompute.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 frompredicttoarguments(#272)feat: add functions for tide generating forces and potentials (#272)fix: variable typing forcin_constituent_parameters(#272)test: omit deprecated functions in coverage report (#272)docs: addtoctreeforiosubdirectory (#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: useimportlibto prevent deprecation errors (#276)fix: spelling mistake for solve notebookrefactor: 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 tois_global(#287)fix: doc strings for nodal argumentspuandpf(#287)refactor: use numpypadto 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:dtypesuggestions (#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: fixuandvfor 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: renamephase_anglestodoodson_arguments(#270)refactor: coordinate reference system classcrs.py(#270)refactor: pass throughVBoxandHBoxintools.py(#270)docs: add link to TMD3 inResources.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 toconstituentsclass (#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:
fix: scaling factors for TPXO9-atlas currents for #241 (https://github.com/tsutterley/pyTMD/pull/243)refactor: renamed tidal ellipse function (https://github.com/tsutterley/pyTMD/pull/243)refactor: renamed constituent parameters function (https://github.com/tsutterley/pyTMD/pull/243)refactor: renamed check tide model points function (https://github.com/tsutterley/pyTMD/pull/243)feat: can read from netCDF4 or HDF5 variable groups (https://github.com/tsutterley/pyTMD/pull/249)fix: spelling mistakes (https://github.com/tsutterley/pyTMD/pull/249)feat: add generic wrapper function for reading ATLAS constituents (https://github.com/tsutterley/pyTMD/pull/250)feat: can write datetime as time column for csv files (https://github.com/tsutterley/pyTMD/pull/252)fix: replace deprecatedpkg_resourceswithimportlib(https://github.com/tsutterley/pyTMD/pull/256)
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 #236feat: add function to invert field mapping keys and values #235fix: prevent overwriting ATLAS compact x and y coordinates to address #238 #240docs: use micromamba for builds #235ci: 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 #229refactor: changedESRnetCDF4 format toTMD3format #229refactor: place more imports behind try/except statements to reduce RTD build size #230fix: remove possiblecrsvariables from output netCDF4 fields list #229ci: bump actions to python 3.11 #229ci: usemambafor CI builds #230docs: switch to RTDbuild.osconfiguration #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 oftimescaletodatetimearrays #220docs: updategraphvizfonts to match overall readthedocs style #220refactor: switch from importwarningsto debuglogging#220fix: output constituents fromgetandpopas 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 todatetime#203feat: added option to change connection timeout to arcticdata and AVISO for #202 #205feat: download JPL kernel file if not currently existing #205feat: add functions to retrieve and revoke Earthdata tokens #209fix: don't set a default directory intoolsfor #202 #203fix: setting path to output file in scripts where not defined as an argumentfix: extract variables for FES2012 ocean tide #212docs: update solid earth section #205test: 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: addlong_nameanddescriptionattributes 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 newtimescaleclass for time operations (#198)feat: adding high resolution astronomical calculations (#198)feat: have default earth orientation parameters ineopmodule (#198)feat: add option for using higher resolution ephemerides from JPL (#198)feat: useeinsumfor combined matrix multiplications (#198)feat: allow epochs to be strings ornp.deltatime64(#200)refactor: usingpathlibto define and expand paths (#187)refactor: renameload_nodal_correctionstoarguments(#188)refactor: make nominal love/shida numberskwargs(#191)refactor: make mass ratios of sun/moonkwargs(#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 beNonefor definition files case (#187)fix: include deprecatedcalc_astrol_longitudesin__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 newglobcapability (#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: addtimescalechecks for conversions and constants (#198)test: add test for leap seconds intimescale(#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 asconstantsattributes (#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 forFEScurrents withinmodelclass (#182)fix: check ifdatetimebefore converting to seconds (#186)fix: copy inputs in cartesian conversions to not modify original arrays (#186)docs: remove deprecated.rstfiles (#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
gridanddrifttypes to address #154 (#159) - feat: use debug level logging instead of import warnings in
tools.pyto address #156 (#159) - feat: add
time seriestype to address #153 (#162) - fix: verify warnings have type and only show once #146 (#147)
- fix: pin
scipyto 1.9.3 for scipy/scipy#17716 (#147) - fix: use default context from
utilitiesmodule (#147) - fix: include more possible dimension names for
gridandtime seriesoutputs (#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
--tideto 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 underio(#132)refactor: placed interpolation routines into new module (#141)refactor: movemodelclass toiofeat: 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 programsfeat: update forecast notebook with dynamic plottingfix: copy input coordinates within read functions so they are not transformeddocs: update documentation for new structuredocs: standardized citation format throughout docstringsdocs: add release notes for all prior public releasesdocs: add new pyTMD logotest: read header from OPT test file and compare more variablestest: add tests foriomethods
Hydrosphere - Ocean and Hydrology Data Access
- Python
Published by tsutterley over 3 years ago
pyTMD - v1.1.3
- docs: use sphinx-argparse v0.4.0
- refactor: use f-strings for ascii and verbose output
- chore: automatic time and bulletin updates
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.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.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-v4in 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
ComplexWarningfor fill values when calculating amplitudes #44 - Prevent numpy
DeprecationWarningfornp.bool,np.intandnp.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