SWOT River Database (SWORD)
Authors/Creators
- 1. Department of Earth, Marine and Environmental Sciences, University of North Carolina at Chapel Hill, Chapel Hill, NC, USA
- 2. Department of Earth, Marine and Environmental Sciences, University of North Carolina at Chapel Hill, Chapel Hill, NC, USA; and WSP USA (GIS & Development), North Carolina, USA
- 3. Byrd Polar and Climate Research Center and School of Earth Sciences, The Ohio State University, Columbus, OH, USA
- 4. Department of Physical Geography, Faculty of Geosciences, Utrecht University, Utrecht, The Netherlands
- 5. Roy M. Huffington Department of Earth Sciences, Southern Methodist University, Dallas, TX, USA
- 6. INRAE, UMR G-EAU, Montpellier, France
- 7. Jet Propulsion Laboratory, California Institute of Technology, Pasadena, CA, USA
- 8. Department of Earth, Marine and Environmental Sciences, University of North Carolina at Chapel Hill, Chapel Hill, NC, USA; and Northern Illinois University, DeKalb, IL, USA
Description
VERSION NOTES:
v17c versus v17b
SWORD v17c is an enhancement release built on v17b by the Global Hydrology Lab at the University of North Carolina at Chapel Hill. SWORD v17b remains the official basis for SWOT Version D RiverSP Vector Products; v17c is not the JPL-official product version. v17c preserves the full v17b structure — 248,673 reaches, 11,112,454 nodes, and ~66.9 million centerline points across 6 continental regions — with reach and node counts identical to v17b. Reach topology (neighbor relationships) and reach distance-from-outlet (dist_out) are likewise identical to v17b.
v17c retains every v17b variable (no columns removed) and adds new columns on top. The v17b static fields are unchanged; the only changes to existing variables are the facc correction, the node dist_out midpoint convention, and the lakeflag/type reconciliation described below. The main additions:
- Actual SWOT-derived observational data (new): for the first time, SWORD carries measured SWOT water-surface elevation, width, and slope aggregated per reach and node from real overpasses: percentile summaries (wse_obs_*, width_obs_*, slope_obs_*), spread statistics, and observation counts (n_obs). These are new columns; the v17b static wse, width, and slope variables are retained unchanged.
- Flow-accumulation correction: facc was corrected on 95,880 reaches (38.6%) to remove three systematic MERIT Hydro D8 routing artifacts — bifurcation cloning, junction double-counting, and raster–vector misalignment — raising 80,538 reaches by a median of 60% and lowering 15,342 by a median of 30% relative to v17b, and eliminating all junction-conservation and downstream-monotonicity violations. A per-reach flag (facc_quality) marks the corrected reaches.
- Computed topology and routing (new): mainstem identification (is_mainstem, main_path_id, rch_id_up_main/rch_id_dn_main), best-headwater/outlet routing (best_headwater, best_outlet), new distance metrics (dist_out_dijkstra, hydro_dist_out, pathlen_hw/pathlen_out), and a globally unique connected-component identifier (subnetwork_id).
- Data quality fixes to v17b-inherited fields: node geolocation repairs, node ordering normalization, lakeflag/type reconciliation (including HarP-informed lake corrections), and lake-sandwich corrections. Node dist_out now uses a midpoint convention (each node's distance refers to the center of the ~200 m segment it represents), consistent with the new v17c distance variables.
- Formats: v17c is distributed in NetCDF, GeoPackage, Shapefile, GeoParquet, and DuckDB. Files are packaged one ZIP per format, split by continental region (Shapefiles are further split by HydroBASINS level-2 basin). Whole-planet merged GeoParquet and DuckDB files are also provided in the "global" ZIP.
Please cite this dataset. When you use SWORD v17c in your work, cite this Zenodo record:
Gearon, J. H., et al. (2026). SWOT River Database (SWORD), version v17c [Data set]. Zenodo. https://doi.org/10.5281/zenodo.3898569
Alternatively, you may cite the original SWORD paper:
Altenau, E. H., Pavelsky, T. M., Durand, M. T., Yang, X., Frasson, R. P. d. M., & Bendezu, L. (2021). The Surface Water and Ocean Topography (SWOT) Mission River Database (SWORD): A global river network for satellite data products. Water Resources Research, 57(7), e2021WR030054. https://doi.org/10.1029/2021WR030054
The DOI 10.5281/zenodo.3898569 always resolves to the most recent version of SWORD; a version-specific DOI for v17c is shown on this record's page for citing this exact release.
1. Summary:
The Surface Water and Ocean Topography (SWOT) satellite mission vastly expands observations of river water surface elevation (WSE), width, and slope. The SWOT River Database (SWORD) combines multiple global river- and satellite-related datasets to define the nodes and reaches that constitute SWOT river vector data products. SWORD provides high-resolution river nodes (200 m) and reaches (~10 km) with attached hydrologic variables (WSE, width, slope, etc.) as well as a consistent topological system for global rivers 30 m wide and greater.
2. Data Formats:
SWORD v17c is provided in netCDF, GeoPackage, shapefile, GeoParquet, and DuckDB formats. All files use a two-letter continent identifier ("af" – Africa, "as" – Asia / Siberia, "eu" – Europe / Middle East, "na" – North America, "oc" – Oceania, "sa" – South America). NetCDF files are structured in 3 groups (centerlines, nodes, and reaches) and are distributed at continental scales. GeoPackage, GeoParquet, and DuckDB files carry nodes and reaches per continental region, where nodes are ~200 m spaced points and reaches are polylines. All vector files are in geographic (latitude/longitude) projection, referenced to datum WGS84.
3. Attribute Description:
The catalog below documents every variable in the SWORD v17c files, grouped into the new v17c variables and the inherited v17b variables, for the reaches, nodes, and centerlines groups.
Fill values: i4 = -9999, i8 = -9999, f8 = -9999.0. The reaches edit_flag variable declares a string _FillValue attribute of "-9999.0", but reaches with no edit tag are stored as empty strings (""), not the literal "-9999.0"; other string variables have no fill value. In the rch_id_up / rch_id_dn [4, N] neighbor arrays, empty slots use -9999 (v17b used 0).
Distance Variable Conventions
SWORD contains four distance-to-outlet variables. They differ in routing method, zero-point, and reach endpoint reporting convention. The table below summarizes these conventions; see "Node-Level Interpolation" for how each extends to nodes.
| Variable | Routing | Reach-level value | Outlet value | Ghost reaches |
|---|---|---|---|---|
dist_out (v17b) |
v17b topology | reported at reach upstream endpoint | reach_length |
has value |
hydro_dist_out |
rch_id_dn_main chain |
reported at reach upstream endpoint | reach_length |
has value |
dist_out_dijkstra |
Dijkstra shortest path | reported at reach upstream endpoint | reach_length |
has value |
hydro_dist_hw |
rch_id_up_main chain |
reported at reach upstream endpoint | 0 | has value |
Reach scalar convention. These reach-level values are endpoint reports, not traversal-origin claims. dist_out, hydro_dist_out, and dist_out_dijkstra are outlet-distance scalars reported at the upstream endpoint of each reach; each reach exceeds its downstream neighbor by its own reach_length on 1:1 links. hydro_dist_hw is also reported at the upstream endpoint, but measures distance from best_headwater; each downstream reach exceeds its upstream neighbor by the upstream neighbor's reach_length on 1:1 links.
Reference values. dist_out, hydro_dist_out, and dist_out_dijkstra all assign an outlet reach a value equal to its reach_length (the upstream endpoint is one reach length from the outlet point). hydro_dist_hw assigns 0 at the headwater.
Ghost reaches. All four distance variables retain values for ghost reaches in v17c, including dist_out_dijkstra.
Node-Level Interpolation
Six distance variables are interpolated per node using a midpoint offset within the parent reach: offset = cumsum(node_length) - 0.5 * node_length, where the cumulative sum is ordered by node_order. This places each node at the geometric center of its node_length segment. On a single-path network (no junctions), dist_out, hydro_dist_out, and dist_out_dijkstra are exactly equal at every node.
| Variable | Node formula | node_order=n (upstream) | node_order=1 (downstream) |
|---|---|---|---|
dist_out |
reach.do - reach_length + offset |
~ reach.do |
~ reach.do - reach_length |
hydro_dist_out |
reach.hdo - reach_length + offset |
~ reach.hdo |
~ reach.hdo - reach_length |
dist_out_dijkstra |
reach.dod - reach_length + offset |
~ reach.dod |
~ reach.dod - reach_length |
hydro_dist_hw |
reach.hdh + reach_length - offset |
~ reach.hdh |
~ reach.hdh + reach_length |
pathlen_hw |
reach.plh - reach_length + offset |
~ reach.plh - reach_length |
~ reach.plh |
pathlen_out |
reach.plo + reach_length - offset |
~ reach.plo + reach_length |
~ reach.plo |
Three additional variables (subnetwork_id, best_headwater, best_outlet) are flat copies from the parent reach.
Boundary behavior. The reach-level formulas imply continuous endpoint values on 1:1 links, but node values are midpoint samples within their node_length segments. Adjacent boundary nodes therefore need not be identical, and bifurcation-rejoin structures can retain larger single-scalar dist_out gaps.
New v17c Reach Variables
| Variable | NetCDF Type | Units | Fill Value | Encoding | Description |
|---|---|---|---|---|---|
| dist_out_dijkstra | f8 | meters | -9999.0 | Dijkstra shortest-path outlet distance reported at the reach upstream endpoint; outlet reach = reach_length; values retained for ghost reaches | |
| hydro_dist_out | f8 | meters | -9999.0 | Mainstem outlet distance reported at the reach upstream endpoint via rch_id_dn_main chain; outlet reach = reach_length | |
| hydro_dist_hw | f8 | meters | -9999.0 | Mainstem headwater distance reported at the reach upstream endpoint via rch_id_up_main chain; headwater = 0 | |
| rch_id_up_main | i8 | -9999 | Main upstream neighbor reach ID (mainstem-preferred) | ||
| rch_id_dn_main | i8 | -9999 | Main downstream neighbor reach ID (mainstem-preferred) | ||
| subnetwork_id | i4 | -9999 | Connected component ID (Pfafstetter-offset, globally unique; differs from v17b network) |
||
| main_path_id | i8 | -9999 | ID of the mainstem path this reach belongs to | ||
| is_mainstem | i4 | -9999 | 0=not_mainstem; 1=mainstem | Whether reach is on a mainstem path | |
| best_headwater | i8 | -9999 | Width-prioritized upstream headwater reach ID | ||
| best_outlet | i8 | -9999 | Width-prioritized downstream outlet reach ID | ||
| pathlen_hw | f8 | meters | -9999.0 | Cumulative reach_length sum from best_headwater to the downstream end of the reach (headwater = 0, increases downstream) | |
| pathlen_out | f8 | meters | -9999.0 | Cumulative reach_length sum toward best_outlet (outlet = 0, increases upstream) | |
| facc_quality | i4 | -9999 | 1=denoise_v3 | Flow accumulation correction flag | |
| dl_grod_id | i8 | -9999 | DL-GROD (Deep Learning Global River Obstruction Database; He et al. 2025) dam/obstruction ID | ||
| wse_obs_p10 | f8 | meters | -9999.0 | SWOT WSE 10th percentile | |
| wse_obs_p20 | f8 | meters | -9999.0 | SWOT WSE 20th percentile | |
| wse_obs_p30 | f8 | meters | -9999.0 | SWOT WSE 30th percentile | |
| wse_obs_p40 | f8 | meters | -9999.0 | SWOT WSE 40th percentile | |
| wse_obs_p50 | f8 | meters | -9999.0 | SWOT WSE 50th percentile (median) | |
| wse_obs_p60 | f8 | meters | -9999.0 | SWOT WSE 60th percentile | |
| wse_obs_p70 | f8 | meters | -9999.0 | SWOT WSE 70th percentile | |
| wse_obs_p80 | f8 | meters | -9999.0 | SWOT WSE 80th percentile | |
| wse_obs_p90 | f8 | meters | -9999.0 | SWOT WSE 90th percentile | |
| wse_obs_range | f8 | meters | -9999.0 | SWOT WSE range (p90 - p10) | |
| wse_obs_mad | f8 | meters | -9999.0 | SWOT WSE median absolute deviation | |
| width_obs_p10 | f8 | meters | -9999.0 | SWOT width 10th percentile | |
| width_obs_p20 | f8 | meters | -9999.0 | SWOT width 20th percentile | |
| width_obs_p30 | f8 | meters | -9999.0 | SWOT width 30th percentile | |
| width_obs_p40 | f8 | meters | -9999.0 | SWOT width 40th percentile | |
| width_obs_p50 | f8 | meters | -9999.0 | SWOT width 50th percentile (median) | |
| width_obs_p60 | f8 | meters | -9999.0 | SWOT width 60th percentile | |
| width_obs_p70 | f8 | meters | -9999.0 | SWOT width 70th percentile | |
| width_obs_p80 | f8 | meters | -9999.0 | SWOT width 80th percentile | |
| width_obs_p90 | f8 | meters | -9999.0 | SWOT width 90th percentile | |
| width_obs_range | f8 | meters | -9999.0 | SWOT width range (p90 - p10) | |
| width_obs_mad | f8 | meters | -9999.0 | SWOT width median absolute deviation | |
| slope_obs_p10 | f8 | meters/meters | -9999.0 | SWOT slope 10th percentile | |
| slope_obs_p20 | f8 | meters/meters | -9999.0 | SWOT slope 20th percentile | |
| slope_obs_p30 | f8 | meters/meters | -9999.0 | SWOT slope 30th percentile | |
| slope_obs_p40 | f8 | meters/meters | -9999.0 | SWOT slope 40th percentile | |
| slope_obs_p50 | f8 | meters/meters | -9999.0 | SWOT slope 50th percentile (median) | |
| slope_obs_p60 | f8 | meters/meters | -9999.0 | SWOT slope 60th percentile | |
| slope_obs_p70 | f8 | meters/meters | -9999.0 | SWOT slope 70th percentile | |
| slope_obs_p80 | f8 | meters/meters | -9999.0 | SWOT slope 80th percentile | |
| slope_obs_p90 | f8 | meters/meters | -9999.0 | SWOT slope 90th percentile | |
| slope_obs_range | f8 | meters/meters | -9999.0 | SWOT slope range (p90 - p10) | |
| slope_obs_mad | f8 | meters/meters | -9999.0 | SWOT slope median absolute deviation | |
| slope_obs_adj | f8 | meters/meters | -9999.0 | Adjusted SWOT slope (bias-corrected) | |
| slope_obs_slopeF | f8 | -9999.0 | Slope quality F-statistic | ||
| slope_obs_reliable | i4 | -9999 | 0=unreliable; 1=reliable | Whether SWOT slope is reliable | |
| slope_obs_quality | i4 | -9999 | 0..8; see flag reference | SWOT slope quality category | |
| slope_obs_n | i4 | -9999 | Number of RiverSP node observations used in pass-level slope fits | ||
| slope_obs_n_passes | i4 | -9999 | Number of SWOT passes with slope | ||
| slope_obs_q | i4 | -9999 | Integer bitfield (1=negative, 2=low_passes, 4=high_var, 8=extreme, 16=clipped) | SWOT slope quality bitfield | |
| n_obs | i4 | -9999 | Total number of SWOT observations |
New v17c Node Variables
| Variable | NetCDF Type | Units | Fill Value | Encoding | Description |
|---|---|---|---|---|---|
| subnetwork_id | i4 | -9999 | Connected component ID (from parent reach) | ||
| best_headwater | i8 | -9999 | Width-prioritized upstream headwater reach ID | ||
| best_outlet | i8 | -9999 | Width-prioritized downstream outlet reach ID | ||
| pathlen_hw | f8 | meters | -9999.0 | Cumulative path length from headwater, interpolated by node position within reach; single-node reaches use midpoint | |
| pathlen_out | f8 | meters | -9999.0 | Cumulative path length to outlet, interpolated by node position within reach; single-node reaches use midpoint | |
| hydro_dist_out | f8 | meters | -9999.0 | Mainstem distance to best_outlet, interpolated by node position within reach; single-node reaches use midpoint | |
| hydro_dist_hw | f8 | meters | -9999.0 | Distance from best_headwater, interpolated by node position within reach; single-node reaches use midpoint | |
| dist_out_dijkstra | f8 | meters | -9999.0 | Dijkstra shortest-path distance to outlet, interpolated by node position within reach; single-node reaches use midpoint; values retained for ghost reaches | |
| wse_obs_p10 | f8 | meters | -9999.0 | SWOT WSE 10th percentile | |
| wse_obs_p20 | f8 | meters | -9999.0 | SWOT WSE 20th percentile | |
| wse_obs_p30 | f8 | meters | -9999.0 | SWOT WSE 30th percentile | |
| wse_obs_p40 | f8 | meters | -9999.0 | SWOT WSE 40th percentile | |
| wse_obs_p50 | f8 | meters | -9999.0 | SWOT WSE 50th percentile (median) | |
| wse_obs_p60 | f8 | meters | -9999.0 | SWOT WSE 60th percentile | |
| wse_obs_p70 | f8 | meters | -9999.0 | SWOT WSE 70th percentile | |
| wse_obs_p80 | f8 | meters | -9999.0 | SWOT WSE 80th percentile | |
| wse_obs_p90 | f8 | meters | -9999.0 | SWOT WSE 90th percentile | |
| wse_obs_range | f8 | meters | -9999.0 | SWOT WSE range (p90 - p10) | |
| wse_obs_mad | f8 | meters | -9999.0 | SWOT WSE median absolute deviation | |
| width_obs_p10 | f8 | meters | -9999.0 | SWOT width 10th percentile | |
| width_obs_p20 | f8 | meters | -9999.0 | SWOT width 20th percentile | |
| width_obs_p30 | f8 | meters | -9999.0 | SWOT width 30th percentile | |
| width_obs_p40 | f8 | meters | -9999.0 | SWOT width 40th percentile | |
| width_obs_p50 | f8 | meters | -9999.0 | SWOT width 50th percentile (median) | |
| width_obs_p60 | f8 | meters | -9999.0 | SWOT width 60th percentile | |
| width_obs_p70 | f8 | meters | -9999.0 | SWOT width 70th percentile | |
| width_obs_p80 | f8 | meters | -9999.0 | SWOT width 80th percentile | |
| width_obs_p90 | f8 | meters | -9999.0 | SWOT width 90th percentile | |
| width_obs_range | f8 | meters | -9999.0 | SWOT width range (p90 - p10) | |
| width_obs_mad | f8 | meters | -9999.0 | SWOT width median absolute deviation | |
| n_obs | i4 | -9999 | Total number of SWOT observations | ||
| facc_quality | i4 | -9999 | 1=denoise_v3 | Flow accumulation correction flag |
v17b Variables
Values are unchanged from v17b unless noted elsewhere in the release notes. Rows marked "Not in v17b NetCDF; added in v17c" are database attributes that v17c now includes in the NetCDF export; they were not variables in the v17b NetCDF files.
edit_flag note. edit_flag is a comma-delimited tag list recording edit provenance. Values include v17b numeric edit codes (e.g. 1, 7), the literal string NaN (v17b's no-edit placeholder — present on ~126K reaches; parsers must treat it as a string, not a float), and v17c tags: facc_denoise_v3, harp_lake, lake_sandwich, clf_reconcile, clf_provisional_river, ghost_reclass, facc_suspect, facc_traced. Multiple tags combine comma-delimited (e.g. harp_lake,clf_reconcile). In the NetCDF export, the reaches edit_flag variable declares a string _FillValue attribute of "-9999.0", but reaches with no edit tag are stored as empty strings (""), not the literal "-9999.0". Treat an empty string (and the NaN placeholder) as "no edit."
Reaches
| Variable | NetCDF Type | Units | Fill Value | Description |
|---|---|---|---|---|
| reach_id | i8 | -9999 | Reach identifier (format: CBBBBBRRRRT) | |
| x | f8 | degrees east | -9999.0 | Reach centroid longitude |
| x_min | f8 | degrees east | -9999.0 | Minimum longitude of reach extent |
| x_max | f8 | degrees east | -9999.0 | Maximum longitude of reach extent |
| y | f8 | degrees north | -9999.0 | Reach centroid latitude |
| y_min | f8 | degrees north | -9999.0 | Minimum latitude of reach extent |
| y_max | f8 | degrees north | -9999.0 | Maximum latitude of reach extent |
| reach_length | f8 | meters | -9999.0 | Length of reach centerline |
| n_nodes | i4 | -9999 | Number of nodes in reach | |
| wse | f8 | meters | -9999.0 | Water surface elevation (MERIT Hydro) |
| wse_var | f8 | meters^2 | -9999.0 | WSE variance |
| width | f8 | meters | -9999.0 | River width (GRWL) |
| width_var | f8 | meters^2 | -9999.0 | Width variance |
| facc | f8 | km^2 | -9999.0 | Flow accumulation (MERIT Hydro) |
| n_chan_max | i4 | -9999 | Max number of channels at any node | |
| n_chan_mod | i4 | -9999 | Modal number of channels | |
| obstr_type | i4 | -9999 | Obstruction type (0=none, 1=dam, 2=lock, 3=low-head, 4=falls) | |
| grod_id | i8 | -9999 | GRanD/GROD dam ID | |
| hfalls_id | i8 | -9999 | High falls ID | |
| slope | f8 | meters/kilometers | -9999.0 | Water surface slope from MERIT DEM |
| dist_out | f8 | meters | -9999.0 | Network outlet distance reported at the reach upstream endpoint (v17b original; outlet reach = reach_length, not 0). See "Distance Variable Conventions" for comparison with v17c distance variables |
| n_rch_up | i4 | -9999 | Number of upstream neighbor reaches | |
| n_rch_down | i4 | -9999 | Number of downstream neighbor reaches | |
| lakeflag | i4 | -9999 | Water body type (0=river, 1=lake, 2=canal, 3=tidal) | |
| type | i4 | -9999 | Reach type (1=river, 3=lake_on_river, 4=dam, 5=unreliable, 6=ghost). Not in v17b NetCDF; added in v17c. Values from v17b database. | |
| add_flag | string | Manually added reach flag. Not in v17b NetCDF; added in v17c. | ||
| swot_obs | i4 | -9999 | Number of expected SWOT observations per cycle | |
| swot_obs_source | string | Source of SWOT observation data. Not in v17b NetCDF; added in v17c. | ||
| max_width | f8 | meters | -9999.0 | Maximum width at any node |
| low_slope_flag | i4 | -9999 | Low slope flag | |
| trib_flag | i4 | -9999 | MHV tributary enters (0=no, 1=yes, spatial proximity) | |
| path_freq | i8 | -9999 | Traversal count (increases toward outlets) | |
| path_order | i8 | -9999 | Path order from traversal | |
| path_segs | i8 | -9999 | Unique ID for (path_order, path_freq) combination | |
| stream_order | i4 | -9999 | Stream order: round(log(path_freq)) + 1 | |
| main_side | i4 | -9999 | Channel role (0=main, 1=side, 2=secondary outlet) | |
| end_reach | i4 | -9999 | Endpoint type (0=middle, 1=headwater, 2=outlet, 3=junction) | |
| network | i4 | -9999 | Connected component ID | |
| dn_node_id | i8 | -9999 | Downstream boundary node ID. Not in v17b NetCDF; added in v17c. | |
| up_node_id | i8 | -9999 | Upstream boundary node ID. Not in v17b NetCDF; added in v17c. | |
| river_name | string | River name from GRWL | ||
| river_name_en | string | River name (English). Not in v17b NetCDF; added in v17c. | ||
| river_name_local | string | River name (local language). Not in v17b NetCDF; added in v17c. | ||
| edit_flag | string | Comma-delimited edit provenance tags; see the edit_flag note below |
||
| version | string | Data version identifier. Not in v17b NetCDF; added in v17c. |
Nodes
| Variable | NetCDF Type | Units | Fill Value | Description |
|---|---|---|---|---|
| node_id | i8 | -9999 | Node identifier (format: CBBBBBRRRRNNNT) | |
| x | f8 | degrees east | -9999.0 | Node longitude |
| y | f8 | degrees north | -9999.0 | Node latitude |
| node_length | f8 | meters | -9999.0 | Length of river represented by this node |
| node_order | i4 | -9999 | 1-based position within reach (1=downstream, n=upstream, by dist_out). Not in v17b NetCDF; added in v17c. | |
| reach_id | i8 | -9999 | Parent reach ID (format: CBBBBBRRRRT) | |
| wse | f8 | meters | -9999.0 | Water surface elevation (MERIT Hydro) |
| wse_var | f8 | meters^2 | -9999.0 | WSE variance |
| width | f8 | meters | -9999.0 | River width (GRWL) |
| width_var | f8 | meters^2 | -9999.0 | Width variance |
| n_chan_max | i4 | -9999 | Max number of channels | |
| n_chan_mod | i4 | -9999 | Modal number of channels | |
| obstr_type | i4 | -9999 | Obstruction type | |
| grod_id | i8 | -9999 | GRanD/GROD dam ID | |
| hfalls_id | i8 | -9999 | High falls ID | |
| dist_out | f8 | meters | -9999.0 | Distance to network outlet. Interpolated from reach dist_out using node_length midpoint offsets (same formula as hydro_dist_out and dist_out_dijkstra). On single-path networks all three are exactly equal |
| wth_coef | f8 | -9999.0 | Width coefficient | |
| ext_dist_coef | f8 | -9999.0 | Extraction distance coefficient | |
| facc | f8 | km^2 | -9999.0 | Flow accumulation (MERIT Hydro) |
| lakeflag | i8 | -9999 | Water body type (0=river, 1=lake, 2=canal, 3=tidal). Propagated from parent reach lakeflag per JPL request. | |
| max_width | f8 | meters | -9999.0 | Maximum width |
| meander_length | f8 | -9999.0 | Meander wavelength | |
| sinuosity | f8 | -9999.0 | Channel sinuosity | |
| manual_add | i4 | -9999 | Manually added node flag | |
| trib_flag | i4 | -9999 | MHV tributary enters (0=no, 1=yes) | |
| path_freq | i8 | -9999 | Traversal count | |
| path_order | i8 | -9999 | Path order | |
| path_segs | i8 | -9999 | Path segment ID | |
| stream_order | i4 | -9999 | Stream order | |
| main_side | i4 | -9999 | Channel role (0=main, 1=side, 2=secondary outlet) | |
| end_reach | i4 | -9999 | Endpoint type (0=middle, 1=headwater, 2=outlet, 3=junction) | |
| network | i4 | -9999 | Connected component ID | |
| add_flag | string | Manually added node flag. Not in v17b NetCDF; added in v17c. | ||
| river_name | string | River name | ||
| edit_flag | string | Comma-delimited edit provenance tags; see the edit_flag note below |
||
| version | string | Data version identifier. Not in v17b NetCDF; added in v17c. |
Multi-dimensional Arrays
| Variable | Group | Shape | Type | Description |
|---|---|---|---|---|
| cl_ids | reaches | [2, num_reaches] | i8 | Min (row 0) and max (row 1) centerline point IDs bounding each reach (v17b format) |
| rch_id_up | reaches | [4, num_reaches] | i8 | Up to 4 upstream neighbor reach IDs |
| rch_id_dn | reaches | [4, num_reaches] | i8 | Up to 4 downstream neighbor reach IDs |
| iceflag | reaches | [366, num_reaches] | i4 | Daily ice presence flag (Julian day 1-366) |
| swot_orbits | reaches | [75, num_reaches] | i8 | SWOT orbit IDs that observe this reach |
| cl_ids | nodes | [2, num_nodes] | i8 | Min (row 0) and max (row 1) centerline point IDs bounding each node (v17b format) |
| cl_id | centerlines | [num_points] | i8 | Centerline point ID |
| x | centerlines | [num_points] | f8 | Centerline point longitude (degrees east) |
| y | centerlines | [num_points] | f8 | Centerline point latitude (degrees north) |
| reach_id | centerlines | [4, num_points] | i8 | Reach ID at each centerline point (row 0); rows 1-3 hold neighboring reach IDs at reach boundaries. Copied from v17b |
| node_id | centerlines | [4, num_points] | i8 | Node ID at each centerline point (row 0); rows 1-3 hold neighboring node IDs. Copied from v17b |
Subgroups (copied from v17b)
| Subgroup | Parent | Description |
|---|---|---|
| reaches/area_fits | reaches | Area-based rating curve fit coefficients |
| reaches/discharge_models | reaches | Discharge model parameters (organized by constraint/model) |
Files
SHA256SUMS.txt
Files
(27.1 GB)
| Name | Size | |
|---|---|---|
|
md5:90edcacb732429cd4e65306ad084a470
|
524 Bytes | Preview Download |
|
md5:07d8969cce9e7467016330e6118004c8
|
63.8 kB | Preview Download |
|
md5:5cad2da379bcae7879c5ed134df290a2
|
3.4 GB | Preview Download |
|
md5:95048eeaa1a9fcc4476fd68cb1f31034
|
8.1 GB | Preview Download |
|
md5:a68b521f3ad261cd31b1003d691a6028
|
4.2 GB | Preview Download |
|
md5:31a48e13b62aea1784df3c20b6070afe
|
3.9 GB | Preview Download |
|
md5:81073ee00e22f292bd05fcf111223d0c
|
3.7 GB | Preview Download |
|
md5:327de17989c7fd37e55583abe6105a52
|
3.8 GB | Preview Download |
|
md5:9c77efdc70021a4cb67b2a38d0fb4d0d
|
44.1 kB | Preview Download |
|
md5:4cdab7c9b1071edccf63f591f90278d7
|
224.6 kB | Preview Download |
|
md5:154ff4a8c3bf962fa5ad43670bc0c9cf
|
20.6 kB | Preview Download |
|
md5:36c582aaa26a457f2d1abacd20733ae6
|
162.7 kB | Preview Download |
Additional details
References
- Allen, G. H., & Pavelsky, T. M. (2018). Global extent of rivers and streams. Science, 361(6402), 585-588.
- Lehner, B., Grill G. (2013): Global river hydrography and network routing: baseline data and new approaches to study the world's large river systems. Hydrological Processes, 27(15): 2171-2186. Data is available at www.hydrosheds.org.
- Tessler, Z. D., Vorosmarty, C. J., Grossberg, M., Gladkova, I., Aizenman, H., Syvitski, J. P. M., & Foufoula-Georgiou, E. (2015). Profiling risk and sustainability in coastal deltas of the world. Science, 349(6248), 638-643.
- Yamazaki, D., Ikeshima, D., Sosa, J., Bates, P. D., Allen, G., & Pavelsky, T. (2019). MERIT Hydro: A high-resolution global hydrography map based on latest topography datasets. Water Resources Research. https://doi.org/10.1029/2019WR024873.
- SWOT Orbits: https://www.aviso.altimetry.fr/en/missions/future-missions/swot/orbit.html
- Altenau, E. H., Pavelsky, T. M., Durand, M. T., Yang, X., Frasson, R. P. D. M., & Bendezu, L. (2021). The Surface Water and Ocean Topography (SWOT) Mission River Database (SWORD): A global river network for satellite data products. Water Resources Research, 57(7), e2021WR030054.