I used the GRASS gis module to design catchment area with a minimum size of 2 kmsq. However, I would like to know if, in addition to the minimum size, I can limit a maximum size of 5 kmsq for them. In GRASS GIS, SAGA GIS or ArcGIS ...

  • 1
    That is just not how geomorphology works. You model a series of nth order watersheds and vary setting in you models but setting an upper threshold for a size is just not consistent with geomorphic process. The point is to identify drainage basins based on hilslope cantenas. To achieve an upper threshold you can shoot for a higher order watershed but, you may end up with meaningless results that mearly represent depressions in a local hillslope. – Jeffrey Evans Mar 31 at 3:50

No out of the box solution, but can be done with some Python. I am using following workflow:

  1. Select cells with high flow (smaller than target size) from flow accumulation raster
  2. Sample Row, Column, Flow Direction, Flow Accumulatio rasters using above as location
  3. For each row in Sample table compute next Row, Column downstream
  4. Construct directed graph from Sample table, with edge attribute "Flow"= Flow accumulation in the cell
  5. Iterate through graph edges. If edge flow >=target AND flow in incoming edge(s) < target, the cell is your discharge node.
  6. Subtract flow at discharge from all edges down stream.
  7. Remove edges upstream from graph
  8. If there are edges left in a graph, go to 5, break otherwise (add sink to the list of discharge nodes)

Due to nature of stream network the size for some subcatchments will differ from target, but overall you'll be very close:

enter image description here

| improve this answer | |
  • Thank you so much, i will try with this method. – Rafaela Santos Apr 11 at 13:14

Not the answer you're looking for? Browse other questions tagged or ask your own question.