nmt28 / C-SHELPh

Apache License 2.0
13 stars 6 forks source link

C-SHELPh V2

DOI

C-SHELPh is the Classification of Sub-aquatic Height Extracted Photons. It is designed to isolate bathymetric photons in ICESat2 ATL03 files.

Installation

It is recommended that the dependancies are installed via:

conda install -c conda-forge geopandas utm numpy matplotlib s3fs xarray zarr pyproj proj-data h5py earthaccess h5netcdf dask tqdm

pip install cshelph

Using C-SHELPh

This software is accompanied by two run scripts:

A simple use of C-SHELPh is:

python run_bathy_extraction.py -i icesat2_atl03_file.h5 -l 1 -th 20

where:

-i: the input ICESat2 ATL03 h5 file
-l: laser number (1-3)
-th: density threshold value (percentile; 0-100) which is used to change the sensitivity of the photon classification to noise

Additional options can be specifed to customize runs and override defaults (which are based on some underlying assumptions)

FAQs

Why does C-SHELPh classify my water surface as bathy?

C-SHELPh performs an orthometric correction that models the water surface at approximately 0m elevation in reference to the EGM2008 geoid. In some locations this is not true and so C-SHELPh gets confused and thresholds set in the code to help C-SHELPh find the water surface are not sufficient. Thresholds can be passed in as arguments.

Why isn't C-SHELPh detecting my bathy points

C-SHELPh classifies photons based on photon density. In cases where the noise is higher than the signal (e.g., a small quantity of steep/deep and/or turbid waters) C-SHELph struggles to perform well. Optimum conditions for C-SHELPh are clear shallow waters.

Additional notes

Note: The refraction correction currently uses photon level metrics (photon azimuth, photon elevation, satellite elev) to get an as accurate bathymetric model as possible. This requires some assuptions about the spacecraft orbit (its vertical movements are a constant rate thus linear interpolation holds true) and geometry and radius of the Earth. Ultimately, the advantages of increased precision of this implementation are believed to outweigh uncertainty introduced by the assumption. The refraction correction follows that outlined by the excellent Parrish et al., 2019 publication: https://www.mdpi.com/2072-4292/11/14/1634