{"calculator":{"slug":"wind-adjustment-calculator","math":{"href":"https://www.tracktoolspro.com/api/calculators/wind-adjustment-calculator","jsonPointer":"/calculator/math","version":"2026-10-21.1","implementationVersion":"b5a8aca7b85361476e0321a08b7fa5f516fc9535","scope":"Canonical HTTP function and documented corresponding mounted-form math. This is public inspectable documentation, not access control or independent empirical validation.","unitNotation":"Input paths use [] and *; output paths are JSON Pointers with * (one segment) and ** (descendants). Empty output path denotes scalar result. Units apply to numeric quantities or explicitly described numeric strings; labels/statuses/booleans are dimensionless. More specific units, including count/index exceptions, override broad patterns.","interfaceNotes":["HTTP input is described by the adjacent inputSchema. The original handlers may accept numeric strings; this metadata adds no validation.","Mounted forms accept displayed clock/unit strings and enforce their own limits. Mounted tools limit strings to 200 characters and numeric parts to magnitude 1000000. Do not assume mounted/API input interchangeability.","Some legacy extreme/invalid tuples can produce null/empty results or nonfinite numbers serialized as null. Those are unavailable answers, not exact numerical predictions. Per-calculator domain describes the intended mathematical inputs."],"kind":"empirical-model","implementationFiles":["lib/formulas/wind.ts","lib/formulas/track-utilities.ts"],"equations":["benefit=c0*wind+c1*wind*mark+c2*wind^2, from the selected canonical coefficient row.","Track: neutral=mark+benefit (seconds). Horizontal jumps: neutral=mark-benefit (meters).","Round neutral and neutral-timeSeconds to 0.001s separately; legalWind=(windSpeed<=2.0), isHeadwind=(windSpeed<0)."],"inputUnits":{"timeSeconds":"s","windSpeed":"m/s (positive tailwind)","distance":"m"},"outputUnits":{"/actualTime":"s","/adjustedTime":"s","/timeDifference":"s","/windSpeed":"m/s"},"domain":["100m or 200m; positive recorded time and finite wind; unavailable/nonpositive corrected result returns null."],"rounding":["Adjusted time and difference use Math.round(x*1000)/1000."],"assumptions":["Uses the entered values and the selected convention; this documentation does not strengthen existing validation."],"limitations":["Data-driven still-air estimate. legalWind tests only the entered wind threshold; it does not certify a ratifiable mark."],"mountedPageNotes":[],"workedExamples":[{"input":{"timeSeconds":10,"windSpeed":2,"distance":100},"expected":{"/adjustedTime":10.083},"absoluteTolerance":1e-8,"note":"Illustrative canonical-handler result; not independent validation of an empirical model."}],"constantsAndTables":{"coefficients":{"100m":[-0.0449,0.009459,-0.0042],"200m":[0.09,0,-0.01],"100mH":[0.093,0,-0.01],"110mH":[0.093,0,-0.01],"Long Jump":[0.029,0,0],"Triple Jump":[0.069,0,-0.009]},"coefficientOrder":["c0","c1","c2"],"legalThresholdMetersPerSecond":2},"sources":[{"title":"Canonical HTTP binding at the documented implementation revision","url":"https://github.com/wickthumb/track_tools_pro_marketing/blob/b5a8aca7b85361476e0321a08b7fa5f516fc9535/lib/calculator-functions.ts","note":"Existing calculation handler; math metadata is additive."},{"title":"lib/formulas/wind.ts","url":"https://github.com/wickthumb/track_tools_pro_marketing/blob/b5a8aca7b85361476e0321a08b7fa5f516fc9535/lib/formulas/wind.ts","note":"Primary implementation source for these equations/tables, not a claim of scientific calibration."},{"title":"lib/formulas/track-utilities.ts","url":"https://github.com/wickthumb/track_tools_pro_marketing/blob/b5a8aca7b85361476e0321a08b7fa5f516fc9535/lib/formulas/track-utilities.ts","note":"Primary implementation source for these equations/tables, not a claim of scientific calibration."},{"title":"Moinat, Fabius & Emanuel, 2018","url":"https://onlinelibrary.wiley.com/doi/full/10.1080/17461391.2018.1480062","note":"Moinat, Fabius, Emanuel 2018 empirical wind model. Does not validate the separate practice-split 100m regression."}]},"annotations":{"readOnlyHint":true,"consequentialHint":false},"name":"Wind Adjustment Calculator","description":"Convert wind-aided or wind-affected sprint times to equivalent still-air performances. Essential for comparing 100m and 200m performances run under different wind conditions, using a peer-reviewed statistical wind model (Moinat et al. 2018).","category":"Sprints & Hurdles","method":"POST","endpoint":"/api/calculators/wind-adjustment-calculator","page":"/calculators/wind-adjustment-calculator","inputSchema":{"type":"object","required":["timeSeconds","windSpeed","distance"],"properties":{"timeSeconds":{"type":"number","description":"Recorded sprint time in seconds.","minimum":0},"windSpeed":{"type":"number","description":"Wind reading in m/s. Positive is tailwind."},"distance":{"type":"integer","description":"Sprint distance in meters.","enum":[100,200],"default":100}}},"example":{"timeSeconds":10,"windSpeed":2,"distance":100}}}