The acid-base two-timescale buffer
Blood pH is a loop quantity defended by two arms on different timescales: respiratory CO₂ (fast) and renal HCO₃ (slow). The Henderson-Hasselbalch relation plus the two timescales reproduce both the Winters respiratory-compensation slope and full pH restoration after a metabolic acid load.
Blood pH is held at 7.40 by a two-timescale buffer: fast respiratory CO₂ and slow renal HCO₃ regeneration. A metabolic acid load is partially compensated within minutes (respiratory) then fully corrected over hours (renal).
Henderson-Hasselbalch and the two timescales
pH = 6.1 + log₁₀(HCO₃ / (0.03·pCO₂)). An acid load (HCO₃ 24→14) drops pH to 7.167. The fast respiratory arm lowers pCO₂ (compensation slope dpCO₂/dHCO₃ = 1.10, matching the Winters rule ~1.2–1.5) [code output of the chosen controller pCO₂* = 40·(HCO₃/24)0.6 in ri2_acidbase(), repro/homeostasis_ionic/repro/_engine/vp_loops.py; 1.10 lies slightly below the cited range (observation: expected pCO₂ = 1.5·HCO₃ + 8 ± 2, Albert, Dell & Winters 1967, Ann. Intern. Med. 66:312), and the code accepts 1.0–1.6. The return to pH 7.401 holds by construction once HCO₃ and pCO₂ return to 24 and 40 (consistency)], partially restoring pH to 7.307. The slow renal arm regenerates HCO₃, returning pH to 7.401.
Failure of either arm is the metabolic/respiratory acid-base disorder axis; the cited pH 7.40 and the Winters slope are the literature anchors the simulation reproduces.