Should runoff workflow be refactored?
Currently, the runoff workflow is to:
- Find all gage sites that intersect the geom_id, download data from NWIS, and convert streamflow to basin runoff
- Run the runoff function, which (if the input matches the WW method) identifies all basins within the huc and all basins containing the huc, and then uses data availability to select the smallest basin containing the huc with data.
It might be more efficient to change up this workflow a little to:
- Find all gage sites that intersect the geom_id GIVEN the method (either using the WW method
clip_downstream_basins=True
or just using the intersection of all basins with the HUCclip_downstream_basins=False
). If the method is set toclip_downstream_basins=True
, then the intersection will be (a) all basins fully contained within the huc, (b) all basins that fully contain the huc. - Pull data for all basins contained in the previous output, and if multiple basins containing the huc have data, pick the smallest one. This might need to be a little bit of manual work outside of
hyswap
. - Calculate runoff using all data from (2) with a weighted average.
This isn't required or high priority, but currently the process pulls more data than is needed to estimate runoff. Luckily, we have found a much faster way to pull site data, so it may not really matter much in speed.