Releases: trchudley/pdemtools
v1.0.0
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 newsearch()
function. years
can now take an int as well as a list of ints.- Search now additionally includes
min_aoi_km2
andis_lsf
filtering options option.accuracy
now refers to theavg_expected_height_accuracy
PGC parameter (previously, it referred to the RMSE), whilstrmse
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.
- By default (with no
- Coregistration
.pdt.coregister()
has now been split into two functions:coregister_dems()
andcoregister_is2()
.coregister_dems()
is the oldcoregister()
function (which is retained as a deprecated function, redirecting tocoregister_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
isTrue
. - 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 thesliderule
Python package. This is designed to streamline the ICESat-2 coregistration process. More information is included in the updated documentation.
- A new
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 newbitmask
parameter defaulting toTrue
.
terrain
modulepdt.terrain()
now has a default attribute of ‘all’pdt.terrain()
now has additionalplan_curvature
,vertical_excess
, andhorizontal_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 xarrayxda.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.
- The batch script has been updated with additional functionality to integrate custom geoids and masks, and has been split into two scripts:
- 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
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
- Respond to JOSS Review 2 by @trchudley in #24
- Update mosaic_and_terrain.ipynb by @AdamRJensen in #30
- Add mention of "editable" by @AdamRJensen in #26
- A testing section header in install.md by @AdamRJensen in #27
- Fix typos in supplementary_datasets.md by @AdamRJensen in #29
- JOSS Editor Comments by @trchudley in #34
- Editor suggested changes by @AdamRJensen in #36
New Contributors
- @AdamRJensen made their first contribution in #30
Full Changelog: v.0.8.4...v0.8.5
v.0.8.4
Performance improvements and minor bug fixes.
What's Changed
- Fix
too many open files
issue #13 by @trchudley in #14 - Increase memory efficiency of coreg/geomorph by @trchudley in #15
Full Changelog: v.0.8.3...v.0.8.4
v.0.8.3
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
Bug fix to address fail loading of mosaics on Windows systems
What's Changed
load
module windows fix by @trchudley in #11
Full Changelog: v0.8.1...v.0.8.2
v0.8.1
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
- Flowaware hillshade capability by @trchudley in #10
Full Changelog: v0.8.0...v0.8.1