{
  "assumptions": [
    "Each grid is a synthetic 3 by 3 DEM in meters with 10 m cells.",
    "Accumulation is run on the filled DEM, which is the input flow_accumulation expects.",
    "This implementation includes each finite cell itself in its accumulation count; cells times 100 gives contributing area in square meters, not a water volume.",
    "Only positive downhill slopes receive flow. Equal slopes keep the first neighbor in the implementation's fixed iteration order. Edges cannot route outside this small grid; missing cells are not counted.",
    "The center cell is row 1 column 1 and the southeast cell is row 2 column 2."
  ],
  "counterexample": "Epsilon-fill can impose drainage on a flat or a pit, so the result is not the unfilled surface.",
  "groundskeeper_action": {
    "href": "/snapshot",
    "label": "Open the parcel snapshot"
  },
  "limitations": [
    "flow_accumulation does not return flow direction.",
    "Epsilon-fill can impose drainage on a flat or a pit, so the result is not the unfilled surface.",
    "Simplified teaching model, not a property drainage plan."
  ],
  "model_owner": "terrain_engine.fill_depressions and terrain_engine.flow_accumulation",
  "model_version": "teach-1",
  "not_property_analysis": true,
  "question": "Where does rainwater go on this small grid?",
  "rounding": "Floats are rounded to 6 significant digits.",
  "scenarios": [
    {
      "counterexample": false,
      "coverage_failure": false,
      "id": "worked-example",
      "label": "Simplified teaching model, not a property drainage plan.",
      "outputs": [
        {
          "name": "center_cell_accumulation_cells",
          "units": "cells",
          "value": 3
        },
        {
          "name": "center_cell_accumulation_square_meters",
          "units": "square meters",
          "value": 300
        },
        {
          "name": "southeast_cell_accumulation_cells",
          "units": "cells",
          "value": 9
        },
        {
          "name": "southeast_cell_accumulation_square_meters",
          "units": "square meters",
          "value": 900
        },
        {
          "name": "max_sink_depth_m",
          "units": "m",
          "value": 0
        },
        {
          "name": "filled_differs_from_input",
          "units": "boolean",
          "value": false
        },
        {
          "name": "direction_exported",
          "units": "boolean",
          "value": false
        }
      ],
      "summary": "Filled flow accumulation on a small sloping grid. Direction is not exported."
    },
    {
      "counterexample": false,
      "coverage_failure": false,
      "id": "pit",
      "label": "Simplified teaching model, not a property drainage plan.",
      "outputs": [
        {
          "name": "center_cell_accumulation_cells",
          "units": "cells",
          "value": 1
        },
        {
          "name": "center_cell_accumulation_square_meters",
          "units": "square meters",
          "value": 100
        },
        {
          "name": "southeast_cell_accumulation_cells",
          "units": "cells",
          "value": 1
        },
        {
          "name": "southeast_cell_accumulation_square_meters",
          "units": "square meters",
          "value": 100
        },
        {
          "name": "max_sink_depth_m",
          "units": "m",
          "value": 3.001
        },
        {
          "name": "filled_differs_from_input",
          "units": "boolean",
          "value": true
        },
        {
          "name": "direction_exported",
          "units": "boolean",
          "value": false
        }
      ],
      "summary": "A pit whose center is 2 m and whose neighbors are 5 m. Sink depth and accumulation are the function results."
    },
    {
      "counterexample": true,
      "coverage_failure": false,
      "id": "flat",
      "label": "Simplified teaching model, not a property drainage plan.",
      "outputs": [
        {
          "name": "center_cell_accumulation_cells",
          "units": "cells",
          "value": 1
        },
        {
          "name": "center_cell_accumulation_square_meters",
          "units": "square meters",
          "value": 100
        },
        {
          "name": "southeast_cell_accumulation_cells",
          "units": "cells",
          "value": 1
        },
        {
          "name": "southeast_cell_accumulation_square_meters",
          "units": "square meters",
          "value": 100
        },
        {
          "name": "max_sink_depth_m",
          "units": "m",
          "value": 0.001
        },
        {
          "name": "filled_differs_from_input",
          "units": "boolean",
          "value": true
        },
        {
          "name": "direction_exported",
          "units": "boolean",
          "value": false
        }
      ],
      "summary": "Counterexample. On a flat 4 m grid, fill_depressions and flow_accumulation still return a filled surface and accumulation. That is not the unfilled flat."
    }
  ],
  "slug": "where-does-rainwater-go",
  "sources": [
    "USGS 3D Elevation Program (3DEP), https://www.usgs.gov/3d-elevation-program",
    "Implementation reference: terrain_engine.py"
  ],
  "teaching_model": true,
  "warning": "Simplified teaching model. This is not a validated analysis of any property."
}
