Skip to content

Commit 48a5c52

Browse files
author
trchudley
committed
website sanity checks
1 parent bb7ec5d commit 48a5c52

File tree

6 files changed

+6
-323
lines changed

6 files changed

+6
-323
lines changed

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ pDEMtools provides a convenient set of functions to explore, download, and prepr
99

1010
The first aim of pDEMtools is to enable access to ArcticDEM and REMA mosaics and multitemporal strips using the `search()` function and `load` module:
1111

12-
- **`search()`**: This function aims to replicate the kind of convenient catalogue searching available when querying a dynamic STAC catalogue (e.g. `pystac_client`), allowing users to easily find relevant ArcticDEM and REMA strips for their areas of interest.
12+
- **`search()`**: This function aims to allow users to easily query the PGC STAC API to find relevant ArcticDEM and REMA strips for their areas of interest.
1313
- **`load`**: This module provides simple one-line functions to preview and download strips and mosaics from the relevant AWS bucket to an `xarray` Dataset.
1414

1515
The second aim is to provide (pre)processing functions _specific_ to the sort of uses that ArcticDEM and REMA users might want (e.g. a focus on ice sheet and cryosphere work), as well as the particular _strengths_ of ArcticDEM and REMA datasets (high-resolution and multitemporal). Tools include:

docs/appendix/version_updates.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
From the public conda release of version 0.8.0 onwards, [version updates and notes are automatically recorded on the GitHub repo 'releases' page`](https://github.com/trchudley/pdemtools/releases).
44

5-
Versions prior to this are recorded in the table below for posterity:
5+
Versions prior to this are recorded in the table below:
66

77
| Version | Date | Notes |
88
| ------- | ---- | ----- |

docs/examples/batch_processing.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,4 +2,4 @@
22

33
Using the `pdemtools` suite of functions, it is possible to efficiently download and preprocess batches of ArcticDEM and REMA imagery.
44

5-
An example of a batch download/coregistration script for ArcticDEM strips is [made available at the `pdemtools` GitHub](https://github.com/trchudley/pdemtools/blob/main/batch/batch_download_and_coregister.py). Coregistration is performed against the ArcticDEM mosiac, which is in turn coregistered against ICESat-2.
5+
An example of a batch download/coregistration scripts for ArcticDEM and REMA strips is [made available at the `pdemtools` GitHub](https://github.com/trchudley/pdemtools/blob/main/batch/batch_download_and_coregister.py). Two different batch scripts are made available: one to coregister against the ArcticDEM mosiac, and one to coregister against contemporaneous ICESat-2 data.

docs/getting_started/why_pdemtools.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,8 +6,8 @@
66

77
As Earth Science has moved into the 'big data' era, increasing amounts of Arctic- and Antarctic-focused resources are available as public, cloud-optimised datasets. New approaches are providing Python tools to act as combined Application Programming Interface (API) and processing tools, such as [`icepyx`](https://icepyx.readthedocs.io) ([Scheick _et al._ 2023](https://doi.org/10.21105/joss.04912)) or [`pypromice`](https://pypromice.readthedocs.io) ([How _et al._ 2023](https://doi.org/10.21105/joss.05298)). From 2022 (ArcticDEM v4.1 and REMA v2), the PGC DEM products are [hosted](https://polargeospatialcenter.github.io/stac-browser/#/external/pgc-opendata-dems.s3.us-west-2.amazonaws.com/pgc-data-stac.json) as Cloud Optimised GeoTIFFs (CoGs) in a SpatioTemporal Asset Catalog (STAC), a standardised structure for cataloguing spatiotemporal data. From December 2024, this is a 'dynamic' STAC, which means there is a convenient API for searching the datasets in response to user queries. This greatly enhances the ability of users to programmatically interact with ArcticDEM and REMA data in a quick and efficient manner. The `pdemtools` package has two aims: the first is to provide a Python-based solution for searching and downloading ArcticDEM and REMA data, wrapping and extending dynamic STAC query tools such as [`pystac`](https://pystac.readthedocs.io); whilst the second is to provide commonly used processing functions specific to the needs of ArcticDEM and REMA users (a focus on ice sheet and cryosphere work), as well as the particular strengths of the ArcticDEM and REMA datasets (high-resolution and multitemporal).
88

9-
The `pdemtools` `search()` tool and `load` module allow for convenient access to the ArcticDEM and REMA datasets. Mosaics can be downloaded from a one-line `load.mosaic()` function, whilst the `search()` function allows for convenient filtering of a locally downloading ArcticDEM/REMA strip index according to variables such as date, region of interest, spatial coverage, temporal baseline, source sensors, accuracy, and cross-track data. The results of searches are returned as a [`geopandas`](https://geopandas.org) dataframe, and can be downloaded using the `load.from_search()` function. Elevation models are returned as [`xarray`](https://docs.xarray.dev) DataArrays [Hoyer _et al. 2017](https://doi.org/10.5334/jors.148) with geospatial metadata via the [`rioxarray`](https://corteva.github.io) extension - a standard format for storing and processing n-dimensional geospatial data within the geospatial Python community. By utilising standardised formats, the aim is to allow the user to quickly move beyond `pdemtools` into their own analysis in whatever format they desire, be that `xarray`, `numpy` or `dask` datasets, DEM analysis Python packages such as [`xdem`](https://xdem.readthedocs.io/) for advanced coregistration or [`richdem`](https://richdem.readthedocs.io) for flow analysis, or exporting to geospatial file formats for analysis beyond Python.
9+
The `pdemtools` `search()` tool and `load` module allow for convenient access to the ArcticDEM and REMA datasets. Mosaics can be downloaded from a one-line `load.mosaic()` function, whilst the `search()` function allows for convenient filtering of a locally downloading ArcticDEM/REMA strip index according to variables such as date, region of interest, spatial coverage, temporal baseline, source sensors, accuracy, and cross-track data. The results of searches are returned as a [`geopandas`](https://geopandas.org) dataframe, and can be downloaded using the `load.from_search()` function. Elevation models are returned as [`xarray`](https://docs.xarray.dev) DataArrays ([Hoyer _et al._ 2017](https://doi.org/10.5334/jors.148)) with geospatial metadata via the [`rioxarray`](https://corteva.github.io) extension - a standard format for storing and processing n-dimensional geospatial data within the geospatial Python community. By utilising standardised formats, the aim is to allow the user to quickly move beyond `pdemtools` into their own analysis in whatever format they desire, be that `xarray`, `numpy` or `dask` datasets, DEM analysis Python packages such as [`xdem`](https://xdem.readthedocs.io/) for advanced coregistration or [`richdem`](https://richdem.readthedocs.io) for flow analysis, or exporting to geospatial file formats for analysis beyond Python.
1010

11-
After download, there exist a number of (pre-)processing steps that are near universally common in topographic analyses. These include geoid-correction, co-registration of time-series data, and/or the construction of terrain parameters such as hillshade, slope, aspect, and curvature. `pdemtools` contains pre-built functions to perform these processing steps, as well as further functionality specific to ArcticDEM and REMA use cases. For instance, we include functions to quickly extract the EIGEN-6C4 geoid [Foerste _et al._ 2014](https://doi.org/10.5880/icgem.2015.1) and Greenland/Antarctic bedrock masks directly from local versions of the Greenland and Antarctic BedMachine datasets (Morlighem _et al_, [2022a](https://doi.org/10.5067/GMEVBWFLWA7X), [2022b](https://doi.org/10.5067/FPSU0V1MWUB6)), reprojecting and resampling the data to match the target DEM. Options for ingesting user-provided mask and geoid data are also provided. Additionally, partial derivatives of the surface used to calculate terrain parameters (∂z/∂x, ∂z/∂y, ∂<sup>2</sup>z/∂x<sup>2</sup>, ∂<sup>2</sup>z/∂y<sup>2</sup>, ∂<sup>2</sup>z/∂x∂y) are calculated following [Florinsky (2009)](https://doi.org/10.1080/13658810802527499), as opposed to more common methods such as [Zevenbergen and Thorne (1987)](https://doi.org/10.1002/esp.3290120107). The newer approach computes partial derivatives of elevation based on fitting a third-order polynomial, by the least-squares approach, to a 5 $\times$ 5 window as opposed to the more common 3 $\times$ 3 window. This is more appropriate for high-resolution DEMs: curvature over a 10 m window for the 2 m resolution ArcticDEM/REMA strips will lead to a local denoising effect that limits the impact of noise common in high-resolution photogrammetric products. These methods are also adapted into a co-registration routine, which otherwise follows the commonly used approach of [Nuth & Kääb (2011)](https://doi.org/10.5194/tc-5-271-2011). Strips can be coregistered against other DEMs (mosaics or each other), or against ICESat-2 data. An ICESat-2 download function is also included, that uses the `sliderule` software (Shean _et al._, 2023) to download DEM-contemporaneous ICESat-2 ATLO6-SR data.
11+
After download, there exist a number of (pre-)processing steps that are near universally common in topographic analyses. These include geoid-correction, co-registration of time-series data, and/or the construction of terrain parameters such as hillshade, slope, aspect, and curvature. `pdemtools` contains pre-built functions to perform these processing steps, as well as further functionality specific to ArcticDEM and REMA use cases. For instance, we include functions to quickly extract the EIGEN-6C4 geoid ([Foerste _et al._ 2014](https://doi.org/10.5880/icgem.2015.1)) and Greenland/Antarctic bedrock masks directly from local versions of the Greenland and Antarctic BedMachine datasets (Morlighem _et al_, [2022a](https://doi.org/10.5067/GMEVBWFLWA7X), [2022b](https://doi.org/10.5067/FPSU0V1MWUB6)), reprojecting and resampling the data to match the target DEM. Options for ingesting user-provided mask and geoid data are also provided. Additionally, partial derivatives of the surface used to calculate terrain parameters (∂z/∂x, ∂z/∂y, ∂<sup>2</sup>z/∂x<sup>2</sup>, ∂<sup>2</sup>z/∂y<sup>2</sup>, ∂<sup>2</sup>z/∂x∂y) are calculated following [Florinsky (2009)](https://doi.org/10.1080/13658810802527499), as opposed to more common methods such as [Zevenbergen and Thorne (1987)](https://doi.org/10.1002/esp.3290120107). The newer approach computes partial derivatives of elevation based on fitting a third-order polynomial, by the least-squares approach, to a 5 $\times$ 5 window as opposed to the more common 3 $\times$ 3 window. This is more appropriate for high-resolution DEMs: curvature over a 10 m window for the 2 m resolution ArcticDEM/REMA strips will lead to a local denoising effect that limits the impact of noise common in high-resolution photogrammetric products. These methods are also adapted into a co-registration routine, which otherwise follows the commonly used approach of [Nuth & Kääb (2011)](https://doi.org/10.5194/tc-5-271-2011). Strips can be coregistered against other DEMs (mosaics or each other), or against ICESat-2 data. An ICESat-2 download function is also included, that uses the `sliderule` software (Shean _et al._, 2023) to download DEM-contemporaneous ICESat-2 ATLO6-SR data.
1212

1313
We aim to grow `pdemtools` by implementing new methods developed by the ArcticDEM and REMA research community. For instance, we currently include sea-level-filtering and iceberg detection routines outlined by Shiggins _et al._ (2023), and invite community contributions or requests of other routines that will be of use to users of `pdemtools`. Ongoing research projects making use of `pdemtools` are applying ArcticDEM and REMA data to the mapping of crevasses, ice cliff heights, and subglacial lakes, as well as the initiation of ice sheet models. It has also been used within training exercises at the 2024 Polar Geospatial Center Data Workshop, contributing to a growing international network of `pdemtools` users.

docs/index.rst

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -31,10 +31,9 @@ pDEMtools |version badge| |JOSS|
3131

3232
The first aim of ``pdemtools`` is to enable access to ArcticDEM and REMA mosaics and multitemporal strips using the ``search()`` function and ``load`` module:
3333

34-
- ``search()``: This function aims to provide a convenient way of searching the ArcticDEM/REMA strip index - analogous to querying a dynamic STAC catalogue (e.g. via ``pystac_client``) - allowing users to easily find relevant ArcticDEM and REMA strips for their areas of interest.
34+
- ``search()``: This function aims to allow users to easily query the PGC STAC API to find relevant ArcticDEM and REMA strips for their areas of interest.
3535
- ``load``: This module provides simple one-line functions to preview and download strips and mosaics from the relevant AWS bucket to an ``xarray`` Dataset.
3636

37-
3837
The second aim is to provide (pre)processing functions *specific* to the sort of uses that ArcticDEM and REMA users might want (e.g. a focus on ice sheet and cryosphere work), as well as the particular *strengths* of ArcticDEM and REMA datasets (high-resolution and multitemporal). Tools include:
3938

4039
- Terrain attribute derivation (hillshade, slope, aspect, various curvatures) using a 5x5 polynomial fit suited for high-resolution data.

0 commit comments

Comments
 (0)