Hello, I am trying to find a better way to calculate cumulative values upstream in a stream network. I have two layers for this analysis, topologically correct stream network which is split into 200 m segments and snapped points of culvert locations. The attribute that I am cumulating upstream is the fish passage rating of each culvert, so the end product is a stream network layer with cumulative passage ratings for each 200 m segment.
Current workflow is a script that employs snapping culvert points to the flow accumulation raster of stream burned-in DEM, SearchCursor function that utilizes Watershed tool to search for all segments upstream of a culvert that intersect with that watershed's domain, and UpdateCursor function to update the upstream cumulative values.
As you can imagine, with a large number of culvert points, this process is very computationally demanding and takes long time to complete. In addition, due to coarse resolution of the flow accumulation raster, culverts are sometimes snapped to the wrong stream segment with higher flow accumulation value at bifurcations.
I am wondering whether there is a better way to do this using network analysis. I have access to the latest version of ArcGIS Pro. Thank you!