NOAA-OWP / hydrotools

Suite of tools for retrieving USGS NWIS observations and evaluating National Water Model (NWM) data.
Other
53 stars 12 forks source link

NOTICE: Incorrect NWM RouteLink Assignment - Channel Feature 3624261 #206

Closed jarq6c closed 1 year ago

jarq6c commented 1 year ago

@kvanwerkhoven discovered that the NWM Routelink contains an erroneous mapping from Reach ID 3624261 to USGS Gage 07010040. The error is present in the RouteLink stored on NOMADS and HydroShare. This error affects data returned from the nwm_client and nwm_client_new subpackages. We will update the RouteLink used by HydroTools once it's fixed.

The National Water Model developers have been notified.

Gage: https://waterdata.usgs.gov/mo/nwis/nwismap/?site_no=07010040&agency_cd=USGS

NWM Reach 3624261 is for Deer Creek (contributing area ~6 sq.mi). USGS Gage 07010040 is for Denny Creek (contributing area ~0.5 sq.mi), a tributary to Deer Creek. See the map below (source: water.noaa.gov/map).

noaa_water_map

jarq6c commented 1 year ago

As of version 2.2.3 of the National Water Model, this error has not been fixed.

jarq6c commented 1 year ago

Also, note that the USGS landing page for this site highlights the Pebble Creek watershed, so USGS may even be confused about where this gage is.

aaraney commented 1 year ago

@jarq6c, do we have a USGS contact that we can alert regarding this?

hellkite500 commented 1 year ago

@dblodgett-usgs do you know how to best elevate this issue?

dblodgett-usgs commented 1 year ago

I'm not sure there's much to elevate. The streamgage map in NWIS (see the map here) https://waterdata.usgs.gov/monitoring-location/07010040/ does not have the site on Deer Creek. Denny creek isn't in NHDPlusV2 at all.

image

NWIS has it indexed to 3624259 which is also wrong but only because there is no line there for the correct feature.

(site <- dataRetrieval::findNLDI(nwis = "07010040"))
#> $origin
#> Simple feature collection with 1 feature and 8 fields
#> Geometry type: POINT
#> Dimension:     XY
#> Bounding box:  xmin: -90.40111 ymin: 38.64289 xmax: -90.40111 ymax: 38.64289
#> Geodetic CRS:  WGS 84
#> # A tibble: 1 × 9
#>   sourceName               identifier  comid measure reachcode name      X     Y
#>   <chr>                    <chr>       <chr>   <dbl> <chr>     <chr> <dbl> <dbl>
#> 1 NWIS Surface Water Sites USGS-07010… 3624…       0 07140101… Denn… -90.4  38.6
#> # ℹ 1 more variable: geometry <POINT [°]>

(index <- nhdplusTools::get_flowline_index("download_nhdplusv2", site$origin, max_matches = 10))
#> Spherical geometry (s2) switched off
#> although coordinates are longitude/latitude, st_intersects assumes that they
#> are planar
#> Spherical geometry (s2) switched on
#>   id   COMID      REACHCODE REACH_meas       offset
#> 1  1 3624261 07140101000423     7.5393 0.0007265653
#> 2  1 3624259 07140101001378     0.0000 0.0016006088
#> 3  1 3624271 07140101000422   100.0000 0.0016006088

flines <- nhdplusTools::subset_nhdplus(index$COMID, nhdplus_data = "download")
#> All intersections performed in latitude/longitude.
#> Reading NHDFlowline_Network
#> Spherical geometry (s2) switched off
#> Spherical geometry (s2) switched on
#> Writing NHDFlowline_Network

sf::st_drop_geometry(flines$NHDFlowline_Network[c("comid", "gnis_name", "totdasqkm")])
#> # A tibble: 3 × 3
#>     comid gnis_name    totdasqkm
#> *   <int> <chr>            <dbl>
#> 1 3624259 " "               3.05
#> 2 3624261 "Deer Creek"     17.8 
#> 3 3624271 "Deer Creek"     25.4

mapview::mapview(list(site$origin, flines$NHDFlowline_Network))

Created on 2023-06-09 with reprex v2.0.2

jarq6c commented 1 year ago

So the error appears limited to NLDI and the NWM Routelink. It looks like we've elevated as high as we can go with regards to NLDI (@dblodgett-usgs). On the NWM side, they might consider removing this site from the Routelink. We'll have to wait for the release of NWM v3.0 to see how it's handled. NGEN developers (@hellkite500) might just keep in mind that errors in the Routelink still exist when conducting calibration/validation.

This isn't really a hydrotools issue, so I'll close it here. We attempted to report the issue and that's as far as we can go. Thanks for the responses.