Carrying capacity in a fishery is fixed by the bottleneck, never the mean. A river that averages a comfortable 14 °C but touches 24 °C for nine afternoons in August is a 24 °C river as far as its trout are concerned. Read every habitability variable at its annual worst.
Temperature is the master control, and its drivers stack predictably: elevation and latitude (roughly 0.6 °C cooler per 100 m of climb); source type, which is the single biggest lever — spring-fed and glacial systems are thermally buffered, snowmelt systems are seasonal, and low-elevation surface-runoff systems swing hardest; riparian shade, which dominates on streams narrow enough for a canopy to close and becomes irrelevant on wide rivers; groundwater and hyporheic exchange, which produces the cold seeps fish stack on in a heatwave; sheer water volume as thermal mass; and, on regulated rivers, dam release depth — a bottom-draw (hypolimnetic) release makes a cold tailwater in a valley that would otherwise be too warm, while a surface release does the opposite. In lakes the equivalent structure is stratification, and the summer problem is the squeeze between an epilimnion that has grown too warm and a hypolimnion that has run short of oxygen.
Dissolved oxygen is not an independent variable — it is largely temperature's shadow, and that coupling is vicious. Warmer water holds less oxygen at exactly the moment a fish's metabolic demand for oxygen rises. Riffles and turbulence reaerate; dense algae respire at night and draw oxygen down before dawn; shallow lakes under long ice can winterkill outright.
Water chemistry sets the productivity ceiling — see Gate 2 — and can also cap habitability directly through contaminants. In the Elk Valley, selenium loading from coal mining is the live example of a chemistry variable acting on a fishery independently of temperature or flow.
Flow regime determines how much habitat is actually wet. Base flow at the annual low sets real carrying capacity; freshet magnitude and timing decide whether eggs in the gravel survive; flashiness governs how often habitat is reset; and winter anchor ice and dewatering kill in the season nobody is watching.