Data for: Quantifying Bankfull Flow Width Using Preserved Bar Clinoforms from Fluvial Strata
Data files
Apr 29, 2024 version files 12.93 GB
Abstract
Reconstruction of active channel geometry from fluvial strata is critical to constrain the water and sediment fluxes in ancient terrestrial landscapes. Robust methods—grounded in extensive field observations, numerical simulations, and physical experiments—exist for estimating the bankfull flow depth and channel-bed slope from preserved deposits; however, we lack similar tools to quantify bankfull channel widths. We combined high-resolution lidar data from 134 meander bends across 11 rivers that span over two orders of magnitude in size to develop a robust, empirical relation between the bankfull channel width and channel-bar clinoform width (relict stratigraphic surfaces of bank-attached channel bars). We parameterized the bar cross-sectional shape using a two-parameter sigmoid, defining bar width as the cross-stream distance between 95% of the asymptotes of the fit sigmoid. We combined this objective definition of the bar width with Bayesian linear regression analysis to show that the measured bankfull flow width is 2.34 ± 0.13 times the channel-bar width. We validated our model using field measurements of channel-bar and bankfull flow widths of meandering rivers that span all climate zones (R2 = 0.79) and concurrent measurements of channel-bar clinoform width and mud-plug width in fluvial strata (R2 = 0.80). We also show that the transverse bed slopes of bars are inversely correlated with bend curvature, consistent with theory. Results provide a simple, usable metric to derive paleochannel width from preserved bar clinoforms.
README: General information:
This README file was generated on 2024-04-24
Dataset title
Data for "Quantifying bankfull flow width using preserved bar clinoforms from fluvial strata"
Overview
This supplementary dataset supports an analysis to build a predictive model of river channel width from the depositional record of their bar deposits, i.e., clinoforms. Included here are all the input data to generate topographic cross-sections and measurements of river channel width for 11 meandering rivers. The output data, including measurements of bar width, channel width, and the selected cross-sections, are also provided. Output data is generated from the companion software archive: https://doi.org/10.5281/zenodo.11053670. The associated manuscript is: https://doi.org/10.1130/G48729.1.
Data Formats
- Data Files::
- .csv: Broadly used to organize tabular data. They are generally used to record point-source measurements and data locations. Naming conventions are descriptive.
- .npy: Binary data format to persist a single numpy array into memory. These are used to record all cross-section elevation data for each river. See: https://numpy.org/doc/stable/reference/generated/numpy.load.html for help loading into memory.
- Raster Files:
- .tif: GeoTIFF files. This is a raster format that represents n-dim array-like data with an associated Geotransform that fixes the array in spatial coordinates. There are two types of GeoTiffs included in this repsository:
- Water masks. These are single band GeoTIFFs with the the occurence value for water presence at a specific pixel location. They are sourced from the "Global Surface Water" product: https://global-surface-water.appspot.com/download
- Digital Elevation Models (DEMs). These are single band GeoTIFFs with topographic information saved at each pixel.
- .tif: GeoTIFF files. This is a raster format that represents n-dim array-like data with an associated Geotransform that fixes the array in spatial coordinates. There are two types of GeoTiffs included in this repsository:
- config Files:
- .yaml: This is a data format to persist key: value pairs. They are used as input configuration files for the codes found in the associated software repository(10.5281/zenodo.11053670).
Recommended Software for Data Analysis:
Geogrpahic Data (GIS)
Raster and tabular data can all be visualized using GIS software. We use QGIS, an open-source GIS program, but ArcGIS can be equally used.
All .tif, and .csv files are spatially located. GeoTIFF files include a EPSG (coordinate system). CSV files are either in geographic coordinates, i.e. Latitude and Longitude (EPSG: 4326 WGS 1984), or in projected coordinates (UTM), which match the .tif files for the associated river. The naming convention is to use Lon/Lat for the EPSG: 4326 coordinates and Easting/Northing for the UTM coordinates.
Scripting
The project uses Python-based geospatial stack. To work with the Python files themselves, you can use any text/code editor (e.g. Visual Studio Code, Atom, Vim) or scripting environment (e.g. PyCharm, Spyder, Visual Studio). Files were developed in Vim side-by-side with an IPython terminal. The codes designs reflect this, and are not run in the command line, but rather in a terminal.
Some import packages used for the analysis are:
- Rasterio
- Shapely
- Geopandas
- Pyproj
- Scipy
- Pandas
- Numpy
Code available in the GitHub repository: https://github.com/evan-greenbrg/BarWidth
Content:
Overall description of the data
Directories contain data for each river used in the analyses. There is also a directory that has the aggregated data. The directories are as follows:
├── AggregatedData\
├── Brazos\
├── Koyukuk\
├── Mississippi\
├── Mississippi_Leclair\
├── Nestucca\
├── Powder\
├── Red\
├── RioGrande\
├── Sacramento\
├── Tombigbee\
├── Trinity\
├── White\
Detailed description of the data
├── AggregatedData:
This includes the aggregated primary data produced from the individual rivers as well as aggregated published data that is used for validation. The files are:
Overview directory structure:
├── AggregatedData
├── bar_average_data.csv
├── Lit_values.csv
├── total_data.csv
These are more unique across the tabular data included in the repository. Descriptions of the files are:
├── bar_average_data.csv
Primary data aggregated at the bar scale.
Columns:
- bar: Bar number that the measurement comes from. Repeats for each river.
- channel_width_m: Bar average channel width measurement. In meters.
- bar_width_m: Bar average bar width measurement. In meters.
- bar_height_m: Bar average bar height measurement. In meters.
- channel_width_m_std: Standard deviation of channel width measurements within the bar. In meters.
- bar_width_m_std: Standard deviation of bar width measurements within the bar. In meters.
- bar_height_std: Standard deviation of bar height measurements within the bar. In meters
- river: The river name that the bar comes from.
├── Lit_values.csv
Measurements of channel bar clinoforms from published panels of fluvial stratigraphy.
Columns:
River: Bar number that the measurement comes from. Repeats for each river.
channel_width_m: Bar average channel width measurement. In meters.
bar_width_m: Bar average bar width measurement. In meters.
├── total_data.csv
Primary measurements at each sample cross-section for each river
- bar: Bar number that the measurement comes from. Repeats for each river.
- easting: UTM Easting coordinate for the measurement.
- northing: UTM Northing coordinate for the measurement.
- channel_width_m: Bar average channel width measurement. In meters.
- bar_width_m: Bar average bar width measurement. In meters.
- bar_height_m: Bar average bar height measurement. In meters.
- distance_m: Length of the half-channel cross-section.
- river: The river name that the bar comes from.
River Data
Below is a description of 1) how the river directories are organized, and 2) column descriptions for each of the file types. Files share similar file naming conventions and header definitions for tabular data across rivers. We list directory structures for each river, then describe the shared descriptions and column headers for each file type.
├── Brazos:
This includes all of the input and output data for the Brazos river.
├── Brazos
├── Input_data
├── barParams.yaml
├── brazos_bar_coords.csv
├── brazos_centerline_4326.csv
├── brazos_dem_26914.tif
├── brazos_water_occurence_26914.tif
├── sectionParams.yaml
├── Output_data
├── bar_data.csv
├── bar_parameters.csv
├── coordinates.csv
├── xsections.npy
├── Koyukuk:
This includes all of the input and output data for the Koyukuk river.
├── Koyukuk
├── Input_data
├── barParams.yaml
├── koyukuk_bar_coords.csv
├── koyukuk_centerline_4326.csv
├── Koyukuk_dem_3995.tif.tif
├── Koyukuk_water_occurrence_3995.tif
├── sectionParams.yaml
├── Output_data
├── bar_data.csv
├── bar_parameters.csv
├── coordinates.csv
├── xsections.npy
├── Mississippi:
This includes all of the input and output data for the Mississippi River.
├── Mississippi
├── Input_data
├── barParams.yaml
├── Mississippi_1_dem_26915.tif
├── Mississippi_bar_coords.csv
├── mississippi_centerline_4326.csv
├── Mississippi_water_occurrence_26915.tif
├── sectionParams.yaml
├── Output_data
├── bar_data.csv
├── bar_parameters.csv
├── coordinates.csv
├── xsections.npy
├── Mississippi_Leclair:
This includes all of the input and output data for the Mississippi River at the location of:
https://pubs.geoscienceworld.org/sepm/jsedres/article/71/5/713/99199/Quantitative-Interpretation-of-Sedimentary.
├── Mississippi_Leclair
├── Input_data
├── barParams.yaml
├── Mississippi_Leclair_dem_26914.tif
├── Mississippi_Leclair_water_occurrence_26914.tif
├── miss_leclair_bar_coords.csv
├── miss_leclair_centerline_4326.csv
├── sectionParams.yaml
├── Output_data
├── bar_data.csv
├── bar_parameters.csv
├── coordinates.csv
├── xsections.npy
├── Nestucca:
This includes all of the input and output data for the Nestucca River.
├── Nestucca
├── Input_data
├── barParams.yaml
├── nestucca_bar_coords.csv
├── nestucca_centerline_4326.csv
├── Nestucca_dem_26910.tif
├── Nestucca_water_occurence_26910.tif
├── sectionParams.yaml
├── Output_data
├── bar_data.csv
├── bar_parameters.csv
├── coordinates.csv
├── xsections.npy
├── Powder:
This includes all of the input and output data for the Powder River.
├── Powder
├── Input_data
├── barParams.yaml
├── powder_bar_coords.csv
├── powder_centerline_4326.csv
├── Powder_Dem_26913.tif
├── Powder_water_occurence_26915.tif
├── sectionParams.yaml
├── Output_data
├── bar_data.csv
├── bar_parameters.csv
├── coordinates.csv
├── xsections.npy
├── Red:
This includes all of the input and output data for the Red River.
├── Red
├── Input_data
├── barParams.yaml
├── red_bar_coords.csv
├── red_centerline_4326.csv
├── red_dem_26915.tif
├── Red_water_occurrence_26915.tif
├── sectionParams.yaml
├── Output_data
├── bar_data.csv
├── bar_parameters.csv
├── coordinates.csv
├── xsections.npy
├── RioGrande:
This includes all of the input and output data for the Rio Grande.
├── RioGrande
├── Input_data
├── barParams.yaml
├── riogrande_bar_coords.csv
├── riogrande_centerline_4326.csv
├── RioGrande_dem_26914.tif
├── RioGrande_water_occurence_26914.tif
├── sectionParams.yaml
├── Output_data
├── bar_data.csv
├── bar_parameters.csv
├── coordinates.csv
├── xsections.npy
├── Sacramento:
This includes all of the input and output data for the Sacramento River.
├── Sacramento
├── Input_data
├── barParams.yaml
├── sacramento_bar_coords.csv
├── sacramento_centerline_4326.csv
├── sacramento_dem_26910.tif
├── sacramento_water_occurence_26910.tif
├── sectionParams.yaml
├── Output_data
├── bar_data.csv
├── bar_parameters.csv
├── coordinates.csv
├── xsections.npy
├── Tombigbee:
This includes all of the input and output data for the Tombigbee River.
├── Sacramento
├── Input_data
├── barParams.yaml
├── tombigbee_bar_coords.csv
├── tombigbee_centerline_4326.csv
├── tombigbee_dem_26916.tif
├── tombigbee_water_occurence_26916.tif
├── sectionParams.yaml
├── Output_data
├── bar_data.csv
├── bar_parameters.csv
├── coordinates.csv
├── xsections.npy
├── Trinity:
This includes all of the input and output data for the Trinity River.
├── Sacramento
├── Input_data
├── barParams.yaml
├── trinity_bar_coords.csv
├── trinity_centerline_4326.csv
├── Trinity_dem_26915.tif
├── Trinity_water_occurence_26915.tif
├── sectionParams.yaml
├── Output_data
├── bar_data.csv
├── bar_parameters.csv
├── coordinates.csv
├── xsections.npy
├── Trinity:
This includes all of the input and output data for the White River.
├── Sacramento
├── Input_data
├── barParams.yaml
├── white_bar_coords.csv
├── white_centerline_4326.csv
├── White_dem_32616.tif
├── White_water_occurence_32616.tif
├── sectionParams.yaml
├── Output_data
├── bar_data.csv
├── bar_parameters.csv
├── coordinates.csv
├── xsections.npy
File Type Descriptions:
Config Files:
The input_data directories all contain config files for the associated software (10.5281zenodo.11053670). These are:
├── barParams.yaml
This is the config file for the getBarStats.py script.
- xPath: The path to the sampled cross-section object
- coordPath: The path to the cross-section coordinate file
- demPath: The path to the dem file
- outputRoot: Location to save the outputs
- depth: Depth estimate for the river (m)
- cv: Variability for simulating the bottom of profiles
├── sectionParams.yaml
This is the config file for the getXsections.py script in the associated software (10.5281/zenodo.11053670)
- DEMpath: The path to the dem file
- centerlinePath: The path to the centerline file
- esaPAth: The path to the surface water occurrence file
- CenterlineSmoothing: The degree to smooth the positions when generating the centerline
- SectionLength: The cross-river length to generate the cross-section
- SectionSmoothing: The degree to smooth the elevations of the cross section
- WidthSens: A parameter to tell the program how to select the width of the river
- OutputRoot: Where to save the output files
Input Tabular Files:
├── _bar_coords.csv
This contains the paired coordinates defining the bar-scale grouping of cross-section measurements. The format of the file naming is {river}_bar_coords.csv. For example, the Brazos file is named Brazos_bar_coords.csv.
- Latitude_us: Upstream Latitude
- Longitude_us: Upstream Logitude
- Latitude_ds: Downstream Latitude
- Longitude_ds: Downstream Logitude
├── _centerline_4326.csv
This contains the channel centerline coordinates in UTM and Lat-Long. The format of the file naming is {river}_centerline_4326.csv. For example, the Brazos file is named Brazos_centerline_4326.csv. They all include LatLon values, which is why 4326 is in the title (EPSG: 4326).
- Easting: Easting coordinate
- Northing: Northing coordinate
- Lon: Logitude coordinate
- Lat: Latitude coordinate
Input Raster Files:
├── _dem_.tif
Input DEM files. The format is {River}dem{epsg}.tif. For example. The Brazos river has a file name of Brazos_dem_26914.tif.
├── _water_occurrence_.tif
Input surface water files. The format is {River}water_occurrence{epsg}.tif. For example. The Brazos river has a file name of Brazos_water_occurrence_26914.tif.
Output Tabular Files:
Output files are consistent across all rivers. Descriptions of each file type are:
├── bar_data.csv
These are the primary measurements at each sample cross-section for the Brazos River
- bar: Bar number that the measurement comes from. Repeats for each river.
- idx: Unique measurement index.
- easting: UTM Easting coordinate for the measurement.
- northing: UTM Northing coordinate for the measurement.
- channel_width_m: Bar average channel width measurement. In meters.
- bar_width_m: Bar average bar width measurement. In meters.
- bar_height_m: Bar average bar height measurement. In meters.
├── bar_parameters.csv
These are the parameters of the function used to represent channel bars. L is the height of the sigmoid, X0 is the middle point, and k is the growth rate.
- bar: Bar number that the measurement comes from. Repeats for each river.
- idx: Unique measurement index.
- L: Height parameter of the sigmoid used to represent the bar surface.
- X0: Middle point parameter of the sigmoid used to represent the bar surface.
- k: Growth parameter of the sigmoid used to represent the bar surface.
├── coordinates.csv
These are the measurement coordinates of all the cross-sections. The Lat-Long as well as UTM coordinates are provided. The inverse-directions used to generate the cross-sections that are perpendicular to the centerline are also given.
- lon: Longitude coordinate of measurement.
- lat: Latitude coordinate of measurement.
- easting: Easting coordinate of measurement.
- northing: Northing coordinate of the measurement.
- dlon: Change in the x-coordinate at the measurement point.
- dlat: Change in the y-coordinate at the measurement point.
- dlon_inv: Inverse change in the x-coordinate at the measurement point.
- dlat_inv: Inverse change in the y-coordinate at the measurement point.
├── xsections.npy
These are nxm arrays that contain each of the sampled elevation cross-sections. The n-value corresponds to the index of the coordinates.csv file. m is of size _SectionLength from the sectionParams.yaml file.
Sharing/Access information
We leverage OpenToporaphy to generate the DEMs used in the analysis:
https://portal.opentopography.org/datasets
We leverage the Global Surface Water Explorer to generate the water masks:
https://global-surface-water.appspot.com/