mdbartos / pysheds

:earth_americas: Simple and fast watershed delineation in python.
GNU General Public License v3.0
707 stars 191 forks source link

Unable to delineate the catchment #106

Closed bhanu-magotra closed 4 years ago

bhanu-magotra commented 4 years ago

Hi, I am trying to delineate a catchment for Brahmaputra river using MERIT-DEM by following the exact steps mentioned in quickstart.ipynb example. However, I am unable to generate a catchment and the output is containing only a few pixels. Please have a look at the jupyter notebook attached and, as you can verify from google maps screenshot, the pour point also lies on the river. Any help would be appreciated. Thanks. Notebook link Pour Point

mdbartos commented 4 years ago

Greetings,

Have you tried using grid.snap_to_mask to ensure that the pour point lies on a cell with high accumulation?

See: https://github.com/mdbartos/pysheds/blob/master/examples/snap_to_mask.ipynb

Thanks, MDB

bhanu-magotra commented 4 years ago

I tried grid.snap_to_mask and it worked. Thank you, Matt.

bhanu-magotra commented 4 years ago

Hi Matt, The catchment delineated is having a smaller area than expected. It should extend more on the left in China's territory. Can you please help which parameter shall I tweak to have a larger area? Please see the screenshots having expected and delineated catchments. Thanks and Regards. Bhanu image image

mdbartos commented 4 years ago

Greetings,

It's difficult for me to say, because I'm not exactly sure what the result should look like. Is this library yielding different results compared to e.g. QGIS or ArcGIS? Looking at Google Earth, I can't find where the Western Chinese portion connects with the Indian portion. Does that map you showed include subterranean flow?

The main parameter you have to work with is the pour point location*. If you think the basin should be bigger, try moving the pour point further downstream.

I'd recommend looking at the accumulation for the entire DEM so that you can visualize where all the subbasins are, and get a better idea of where to place the pour point.

Thanks, MDB

bhanu-magotra commented 4 years ago

I've been able to achieve considerably good results by tweaking pour point location and grid.snap_to_mask.