ham.run
Open-source marathon physiology calculators for endurance runners. 12 tools: race time prediction (Riegel model), pacing strategy, fueling plans, running economy analysis, caffeine protocols, heat acclimation planning, periodization comparison, and grade-adjusted pace. Strava-connected tools for training load and activity analysis. All models are citation-backed from peer-reviewed exercise physiology research. Stateless tools work without authentication at ham.run.
How to connect
https://hamrun--hamrun.run.tools
tools/list returns the expected tools before relying on them in production.Tools
(11)-
predict_race_timePredict times across 5K / 10K / Half / Marathon from a known race result, using the Riegel exponent (1.06) and age-graded performance scores against IAAF world records. Source: ham.run race predictor. Pass useMyData:true to overlay age + sex from the connected athlete profile.
-
fueling_planCompute substrate partitioning (CHO/fat oxidation), required carb intake rate, and predicted time-to-glycogen-depletion for an endurance effort. Source: ham.run substrate module. Pass useMyData:true to overlay weight and VO₂max from the connected athlete profile.
-
pacing_strategySimulate marathon HR drift and fluid/sodium balance under given heat, sweat, and aid-station conditions. Returns total drift, decoupling %, kilometre at LT₂ breach, plasma sodium, and body-weight loss. Source: ham.run HR pacing module. Pass useMyData:true to overlay age + restingHr + weight from the connected athlete profile.
-
caffeine_protocolModel caffeine (and optional nicotine) blood concentration, performance gain, and side-effect curves over a race using a 1-compartment oral PK model. Source: ham.run ergogenic module. Pass useMyData:true to overlay body weight from the connected athlete profile.
-
running_economyCompute oxygen cost of running (Cr in mL O₂·kg⁻¹·m⁻¹) given pace, gradient, surface, shoe type, and athlete characteristics. Returns full multiplicative breakdown. Source: ham.run running-economy module (Barnes & Kilding 2015 + Minetti 2002).
-
periodization_compareForecast race-time progression across pyramidal, polarized, and threshold periodization models for a given weekly volume and starting marathon time. Returns weekly evolution of VO₂max, running economy, LT₂, and predicted finish. Source: ham.run periodization module.
-
heat_acclimation_planPredict plasma volume expansion, VO₂max gain, race-time improvement, growth-hormone response, and overtraining risk for a sauna heat-acclimation protocol. Source: ham.run sauna module (Scoon 2007, Kirby 2021).
-
gap_paceDistribute a goal time across a course profile in proportion to each segment's Minetti gradient cost. Returns per-mile or per-km splits with pace, elevation gain/loss, and average grade. Source: ham.run GAP module.
-
get_my_athleteReturns the signed-in athlete's profile (age, sex, weight, VO₂max, marathon PR, biomechanics) plus derived HR zones. Use this once at the start of a coaching conversation so subsequent calculations can be personalised. Requires authentication.
-
get_recent_activitiesList the signed-in athlete's recent activities with date, distance, duration, pace, average HR, and HR-zone classification. Use to ground training-status questions ("how was my last week?", "did I overdo it?"). Requires authentication.
-
get_training_loadReturn per-week distance, time-in-zone, and rolling chronic/acute training load (CTL, ATL, TSB) for the signed-in athlete. TSS is estimated from HR (avg_hr / threshold_hr clamped), so values are useful for trends but not directly comparable to power-based TSS. Requires authentication.