The **Topographic Wetness Index (TWI)** measures how moisture accumulates across a landscape. The formula is: **TWI = ln(Flow Accumulation / tan(Slope))** Here's how to calculate it in ArcGIS Pro: --- ### Step 1: Prepare Your DEM - Make sure your DEM is in a **projected coordinate system** (not geographic/WGS84) so slope and flow calculations are accurate. - Fill sinks: **Spatial Analyst Tools → Hydrology → Fill** --- ### Step 2: Calculate Flow Accumulation 1. **Flow Direction**: Spatial Analyst → Hydrology → **Flow Direction** (use your filled DEM) 2. **Flow Accumulation**: Spatial Analyst → Hydrology → **Flow Accumulation** (use the flow direction output) --- ### Step 3: Calculate Slope in Radians 1. Go to **Spatial Analyst → Surface → Slope** 2. Set output measurement to **DEGREE** 3. Then convert to radians in Raster Calculator (next step) --- ### Step 4: Raster Calculator Formula Open **Spatial Analyst Tools → Map Algebra → Raster Calculator** and enter: ``` Ln(("flow_accum" + 1) / Tan("slope_degrees" * 3.14159 / 180)) ``` **Key details:** - `+ 1` is added to flow accumulation to **avoid ln(0)** errors in flat/headwater areas - Multiply degrees by `π/180` to convert to **radians** before applying Tan - If slope has zero values, Tan(0) = 0 causes division errors — the `+1` on flow accumulation helps but you may also want to add a small constant to slope: `Tan(("slope" * 3.14159 / 180) + 0.001)` --- ### Step 5: Interpreting Results |TWI Value|Meaning| |---|---| |**Low (~2–4)**|Ridges, well-drained uplands| |**Medium (~5–8)**|Hillslopes| |**High (~10+)**|Valley bottoms, wetlands, convergent areas| --- ### Tips & Common Issues - **Negative or NoData outputs**: Usually caused by zero or negative slope values — add a small offset to slope - **Resolution matters**: Coarser DEMs produce smoother TWI; finer DEMs capture more detail - **Normalize the DEM first** if working across large areas with varying terrain - The `+ 1` on flow accumulation is a common convention but some workflows use `+ 0.001` — results vary slightly