Conversation
Replace the age-grading data with Alan Jones' 2025 road tables (approved 2025-01-10 by the USATF Masters Long Distance Running Council), taken from MaleRoadStd2025.xlsx / FemaleRoadStd2025.xlsx in github.com/AlanLyttonJones/Age-Grade-Tables. The old file, despite its "road" name, held the WMA 2023 track and field factors and track open standards, with no factors under age 30, so road age grades were off by about 1-3%. Factors now cover every age from 18 to 100 for 5K, 10K, half marathon and marathon. Data files renamed to mldr_2025_road*.yml; table_version becomes MLDR_2025_ROAD_ONE_YEAR_FACTORS_V1. Public constants and category labels are unchanged.
Link the 2025 road tables at the commit the data came from, correct the age-clamp note (old table ran to 110, new ends at 100), list the dropped WMA_DATA track keys under Breaking, and replace the vacuous interpolation test with one that drives a sparse stubbed table.
Owner
Author
|
Superseded by #97 (released as 2.0.0). |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What
Age grading now uses Alan Jones' 2025 road age-grading tables (approved 2025-01-10 by the USATF Masters Long Distance Running Council) — factors and open standards for 5K, 10K, half marathon and marathon, male and female.
The previous
wma_2023_road.yml, despite its name, came from the WMA 2023 track and field tables (howardgrubb.co.uk/athletics/wmatnf23.html): track open standards (5000 m 12:35 / 14:06, 10 000 m 26:11 / 29:01), an outdated women's marathon standard (2:14:04), track keys"1500"/"3000", and factors only from age 30. Road age grades were off by ~1–3%.Source (primary)
4aac6737cb9f216c90a0a610355667cd3d921c61)2025 Files/MaleRoadStd2025.xlsx— sheet "Age Factors" (factors, row "OC sec" = open standard), sheet "AgeStdSec" (age standards, used for the cross-check)2025 Files/FemaleRoadStd2025.xlsx— sheet "Age Facctors" (sic) / "AgeStanSec"seconds * factorandopen_standard / age_graded_timeare unchanged.43e3cceb88, 2025-01-13); the later commits only changed the male road mile (per the author's commit message, verified by diffing).AgeGrade.5k/.10k/.hm/.42ktext files in2025 Files/AgeGrade.zip(same repo) and to the data embedded in Howard Grubb's MLDR road calculator 2025 (http://howardgrubb.co.uk/athletics/mldrroad25.html) — the latter used only as a cross-check.Changes
lib/calcpace/data/mldr_2025_road.yml(waswma_2023_road.yml):M/F→"5000","10000","21097","42195"→ one factor per age, 18–100. Ages > 100 clamp to the age-100 factor; < 18 still refused.lib/calcpace/data/mldr_2025_road_open_standards.yml(waswma_2023_open_standards.yml): newmeta(source, URL, files),table_version: MLDR_2025_ROAD_ONE_YEAR_FACTORS_V1, open standards M 769/1584/3451/7235 s, F 834/1726/3772/7796 s. Category labels/mins unchanged.DATA_PATH,OPEN_STANDARDS_DATA_PATH,WMA_DATA,OPEN_STANDARDS_DATA,TABLE_VERSIONkeep their names and shapes.[Unreleased]; no version bump — v1.19.0 is in flight on another branch).Cross-check (gem vs official)
Official = age standard (AgeStdSec sheet) / time. Grubb = his 2025 calculator's algorithm on his embedded data.
Baseline diff (
gem_realismo/baseline.rb, 1.18.1 vs this branch) — only "Age grade" changesVerification
bundle exec rake test: 513 runs, 1191 assertions, 0 failures, 0 errors, 0 skipsbundle exec rubocop: 44 files inspected, no offenses detectedgem buildpackages both new data files.