Generate a week-by-week marathon training plan
generate_training_planBuild a concrete marathon training schedule from a periodization model: per-week sessions (long run, intervals, tempo, easy runs) with distances and prescribed paces derived from current fitness via the Riegel power law. Optionally anchored to a race date for calendar dates. Source: ham.run training plan module.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| age | Yes | Age in years. | |
| sex | No | Athlete sex — affects VO₂max ceiling and adaptation curves. | |
| model | Yes | Training intensity distribution model. | pyramidal |
| raceDate | No | Race date (YYYY-MM-DD). When set, sessions get calendar dates and the race lands in the final week. | |
| longRunDay | Yes | Day of the week for the long run. | Sun |
| totalWeeks | Yes | Plan length in weeks. If raceDate is set, the race lands in the final week — choose totalWeeks ≈ weeks until the race. | |
| daysPerWeek | Yes | Run days per week. | |
| weeklyVolumeKm | Yes | Peak training volume, km/week. | |
| startingMarathonTime | Yes | Current marathon PR / fitness baseline. |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| input | Yes | Echo of resolved input parameters. | |
| model | Yes | Periodization model name. | |
| weeks | Yes | Week-by-week schedule. | |
| summary | Yes | ||
| citation | Yes | Academic citation for the TID model. | |
| goalPace | Yes | Goal marathon pace, min/km. | |
| goalTime | Yes | Predicted finish time after the plan. |