Skip to content

Releases: trchudley/pdemtools

v1.0.0

27 Jan 19:54
8a39554
Compare
Choose a tag to compare

pdemtools v1.0.0 has been released! This version contains two big new additions and a raft of minor updates, both in the background and as additional functionality.

The first major change is to update the search() function to take advantage of the PGC’s new dynamic STAC API. This means that it is no longer necessary to have a local version of the index database, making pdemtools a lot lighter and more convenient!

The second major change is the introduction of an ICESat-2 coregistration function (pdt.coregister_is2()). This is supplemented by the new data.icesat2_atl06(), which facilitates the automated downloading of ICESat-2 data suitable for coregistration. By providing the function with your DEM (as the usual rioxarray object) and the date of the DEM acquisition, the function will automatically download the nearest-in-time ICESat-2 ATL06-SR data from sliderule, allowing you to coregister the data accordingly..

Note that this is a major version update that contains some breaking changes, particularly of the search() function. All of the documentation (readthedocs.rtfd.io) and associated example scripts have been updated to show how version 1.0.0 works and how to use the updated functions. Please do continue to report bugs in the GitHub Issues tabs as we iron out the kinks in the new version!.

What's Changed

  • search() function
    • By default (with no index_fpath provided), the search function will now search the PGC dynamic STAC, eliminating the need for a downloaded index files. This is a breaking change - please consult the documentation for how to use the new search() function.
    • years can now take an int as well as a list of ints.
    • Search now additionally includes min_aoi_km2 and is_lsf filtering options option. accuracy now refers to the avg_expected_height_accuracy PGC parameter (previously, it referred to the RMSE), whilst rmse now has its own parameter.
    • The geodataframe returned by search now has additional columns linking to PGC assets (e.g. ‘href_dem’, ‘href_mask’ columns), as well as ‘pdt_’ columns that provide consistent column naming between the STAC- and index-returned dataframes.
  • Coregistration
    • .pdt.coregister() has now been split into two functions: coregister_dems() and coregister_is2().
    • coregister_dems() is the old coregister() function (which is retained as a deprecated function, redirecting to coregister_dems(). coregister_is2() is a new function that takes ICESat-2 reference data rather than a reference DEM. More information about this feature is included in the updated documentation.
    • Behind the scenes, both coregistration functions use the same background function - slight editing of the function has been done to accommodate both gridded and point reference data.
    • Coregistration now returns metadata as a single metadata dictionary when returns_stats is True.
    • Coregistration functions include a new ‘verbose’ option allow the minimisation of output if desired, defaults to True.
  • data module
    • A new icesat2_atl06() function is included to download contemporaneous ICESat-2 data, wrapping the sliderule Python package. This is designed to streamline the ICESat-2 coregistration process. More information is included in the updated documentation.
  • load module
    • Load functions now include a ‘pad’ option, to make outputs the full size of the bounds (filled with NaNs) even when the strips are smaller.
    • The preview() function now makes applying the PGC bitmask optional, with the new bitmask parameter defaulting to True.
  • terrain module
    • pdt.terrain() now has a default attribute of ‘all’
    • pdt.terrain() now has additional plan_curvature, vertical_excess, and horizontal_excess curvature
  • Documentation
    • Examples have been updated to explain new functionality (the STAC search and ICESat-2 coregistration).. Some notebooks have been split (e.g. mosaic download and terrain analysis) in the interests of providing more focussed explanations of tasks.
    • The default plotting now shown in the documentation is xda.plot.imshow(): it’s a lot quicker than the default xarray xda.plot(). Option.
  • Batch scripts
    • The batch script has been updated with additional functionality to integrate custom geoids and masks, and has been split into two scripts: *_dem.py for DEM-based coregistration, and *_is2.py for ICESat-2-based coregistration.
  • Various minor bug fixes and code cleaning occurs throughout.

v1.0.0 by @trchudley in #41
Full Changelog: v0.8.5...v1.0.0

v0.8.5

15 Oct 18:19
Compare
Choose a tag to compare

This version of pdemtools incorporates changes made throughout the review process for Journal of Open Source Science. Changes are largely relating to increasing the clarity of the documentation and code. We are very grateful to the editor and two reviewers for their time!

What's Changed

New Contributors

Full Changelog: v.0.8.4...v0.8.5

v.0.8.4

29 Jul 13:43
c012481
Compare
Choose a tag to compare

Performance improvements and minor bug fixes.

What's Changed

Full Changelog: v.0.8.3...v.0.8.4

v.0.8.3

22 Jul 15:59
Compare
Choose a tag to compare

New PGC index file data release!

What's Changed

  • fixed search function for new PGC index files by @trchudley in #12

Full Changelog: v.0.8.2...v.0.8.3

v.0.8.2

13 Jun 15:02
0e6749a
Compare
Choose a tag to compare

Bug fix to address fail loading of mosaics on Windows systems

What's Changed

Full Changelog: v0.8.1...v.0.8.2

v0.8.1

08 Jun 10:23
12394a2
Compare
Choose a tag to compare

Minor modification to hillshade script to allow for MacGregor et al. (2024) flow-aware hillshade. Supplementary notebook available in GitHub notebooks directory.

What's Changed

Full Changelog: v0.8.0...v0.8.1

v0.8.0

13 May 10:52
Compare
Choose a tag to compare

First publicised release on pip/conda and in preparation of submission to JOSS.

  • pdemtools available on pip/conda.
  • Final additions to documentation alongside public release.
  • Iceberg detection now corrects for sea surface;