Technical University of Denmark
Browse
1/1
2 files

ICESat-2 ATL03 photons to river cross-sections processing scripts

software
posted on 2024-06-07, 11:24 authored by Aske Folkmann MusaeusAske Folkmann Musaeus, Monica Coppo FriasMonica Coppo Frias, Peter Bauer-Gottwein, Cécile Marie Margaretha Kittel, Jakob Luchner

These scripts extract, process and filter ICESat-2 crossing data for cross-section definition in rivers.

Copyright © [2024] DHI A/S

Permission is hereby granted, free of charge, to any person obtaining a copy

of this software and associated documentation files (the "Software"), to deal

in the Software without restriction, including without limitation the rights

to use, copy, modify, merge, publish, distribute, sublicense, and/or sell

copies of the Software, and to permit persons to whom the Software is

furnished to do so, subject to the following conditions:


The above copyright notice and this permission notice shall be included in all

copies or substantial portions of the Software.


THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR

IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,

FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE

AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER

LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,

OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE

SOFTWARE.


The methods were developed on a stretch of the Mekong River

- Input files and intermediate products to reproduce the resulting cross-sections are included.

ICESat-2 products are not included, but are available from NSIDC:

https://nsidc.org/data/atl03

https://nsidc.org/data/atl08

https://nsidc.org/data/atl13

Version 5 of the ICESat-2 products were used in the making of this paper. Newer versions are now available.

All example file-paths must be replaced with actual filepaths before scripts are run.




The python scripts require the following modules

shapely - © Copyright 2011-2024, Sean Gillies and Shapely contributors. https://creativecommons.org/licenses/by/3.0/us/

geopandas - © Copyright 2013–2024, GeoPandas developers.

rasterio - Copyright (c) 2016, MapBox All rights reserved.

scipy - Copyright © 2001, 2002 Enthought, Inc. All rights reserved. Copyright © 2003-2019 SciPy Developers. All rights reserved.

pyproj - Copyright (c) 2006-2018, Jeffrey Whitaker. Copyright (c) 2019-2023, Open source contributors.

h5py - Copyright (c) 2008 Andrew Collette and contributors

hampel - Copyright (c) 2018 The Python Packaging Authority



To ensure the required intermediate products are ready when needed, use the following script run order:

- ATL13 00Extract and 01EGM08_HarmSynth in any Python installation

- ATL13 02QGIS_Hub_Processing in the QGIS Python console

- ATL13 03 through 07

- ATL08 00 through 04 (02 in QGIS)

- ATL03 00 through 15 (02 in QGIS)

- ATL13 08 through 14


Some scripts cannot be run without in-situ data from the Mekong River Commission, but intermediate products are available to run subsequent scripts.


Inputs

- ATL03, ATL08 and ATL13 .h5 files in their respective folders

- MekongStrech_4k_Buffer_4326.shp

- 4km buffer on the river chainage line of the stretch. Made in UTM48N, but reprojected to epsg:4326 to subset ICESat-2 data points

- EGM2008 program

- Relevant files downloaded from https://earth-info.nga.mil/php/download.php?file=egm-08spherical should be placed in the folder 'EGM2008_SphericalHarmonics

- MekongStrechChainage1m.gpkg

- River chainage line converted to points at 1 m intervals using the QGIS pluging QChain

- Must be UTM CRS for distancing

- occurrence_100E_20Nv1_3_2020.tif

- Raster of surface water occurance used to filter out points over land. The raster with the relevant AOI is found at https://global-surface-water.appspot.com/download

- EGM08_HarmSynth_1k.tif

- Raster with resolution 1 km x 1 km of EGM08 geoid correction for the area of interest. UTM CRS

- URBS Catchment contributing discharge time series

- Available from MRC upon request

- Discharge Time Series

- Discharge time series from rating curves at 3 gauging stations. Available from MRC upon request

- IRIS_netcdf_v2.nc

- IRIS database of ATL13 slopes, available at https://zenodo.org/record/8202984

- SWORD_MekongStretch_v15.gpkg

- Geopackage of relevant reaches, extracted from the SWORD database found at https://www.swordexplorer.com/

- WSS_07092023_0913.txt

- ICE2WSS r-package export of ATL13 slope estimates from the same set of ATL13 files.


Outputs

- ICESat intermediate products are found in subsequent folders: GPKGs, UTM, HubDist, Referenced, Chained

- ATL13_Collected_GlobalSurface.gpkg

- A combined geopackage of all ATL13 tracks processed so far. Used in subsequent processing

- ATL13WSE.csv

- Table of Water Surface Elevation estimates. Columns: TimeTrack,weightedWSE,STD,Chainage,UTM48N_x,UTM48N_y,Time,Track,ctime

- SlopeFrame.csv

- Table of Water Surface Slope estimates. Columns: Time,ChainMin,ChainMax,Slope

- flowAcc_Chainage.csv

- Table of Upstream Drainage Area increase by river chainage. Columns: cngmeters,HubName,HubDist

- catchmentMeanRunoff.csv

- Table of Catchment mean discharge contribution, area and mean runoff generation. Columns: Catchment,Mean Discharge,Median,Chain_Start,Chain_End,UDA_Start,UDA_End,UDA_tot,Runoff

- Runoff_accum.csv

- Table of Discharge accumulation along river chainage. Columns: cngmeters,Runoff_accum

- insituChainages.csv

- Table of river chainage position of each gauging station

- FirstLastPoint.csv

Table of first and last point position of each ATL03 crossing of the river

- ATL03CrossMap_Available.gpkg

- Geopackage showing ATL03 crossings available for cross-section definition

- ATLPairs.csv

- Table of matching ATL03 and ATL08 crossings

- ATL03_06CrossSectionSheet.csv

- Table of Cross-section parameters needed for definition. Columns: Crosssection,Tracks ATL13Time,Hampel_window,Hampel_n,Rolling_window,PlotLL,PlotUL,Use_ATL08,

ATL08_Window,Shape_Parameter,Bankpairs,xlim

- ATL03_06CrossSectionSheet_Rapids.csv

- Similar table as above, but with an additional cross-section

- ATL03_06CrossSecMakerSheet_DepthCalced_{}.csv

- Filled cross-section definition sheet with depths calculated from Manning's eq. {} indicates the assumed Mannings' n

- ATL03CrossMap_Used.gpkg

- Geopackage showing ATL03 crossings used for cross-section definition. The Parameter 'Used' indicates that the crossing is found in the list for definition of a cross-section

- XS_export_{}.txt

- Text export of the cross-sections. {} indicates the assumed Mannings' n

- ATL03_06CrossSecMakerSheet_DepthCalced_Split_{}_{}.csv

- Filled cross-section definition sheet with depths calculated from Manning's eq. {} indicates the assumed upstream Mannings' n and chainage position

- XS_export_Split_{}_{}.txt

- Text export of the cross-sections. {} indicates the assumed upstream Mannings' n and chainage position

- ATL03_06CrossSecMakerSheet_DepthCalced_Rapids_{}_{}.csv

- Filled cross-section definition sheet with depths calculated from Manning's eq with an additional cross-section. {} indicates the assumed upstream Mannings' n and chainage position

- XS_export_Rapids_{}_{}.txt

- Text export of the cross-sections with an additional cross-section. {} indicates the assumed upstream Mannings' n and chainage position

- ATL13WSE_and_Res_Hydro_Base_Short_ATL3XSs_{}.csv

- ATL13 WSE and corresponding model WSE. {} indicates model name

- model_WL_{}.csv

- WL time series at the river chainage of the gauging stations. {} indicates model name

- errorFrame_ICESat-2_WSE.csv

- Table of model WSE residuals compared to ATL13 WSE estimates

- Hydrostations_WL_Error.csv

- Table of model residuals and performance measures of modelled time series compared to gauging station series

- ErrorFrame_Merged.csv

- Combined table of above residuals

- ICE2WSS_Mekong.csv

- ICE2WSS slope estimates for relevant reaches

- SWORD_IRIS_WSS.csv

- IRIS slope estimates for relevant reaches



Funding

2052-00012 Industrial PhD, DHI A/S, Aske Folkmann Musaeus

History

ORCID for corresponding depositor