{"calculator":{"slug":"indoor-track-conversion","math":{"href":"https://www.tracktoolspro.com/api/calculators/indoor-track-conversion","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":"lookup-and-arithmetic","implementationFiles":["lib/formulas/track-size-conversion.ts"],"equations":["Select factor by gender,event,and one of undersizedToFlat,bankedToFlat,undersizedToBanked,flatToBanked; same type uses 1.","convertedSeconds=roundHalfUp(timeSeconds*factor). Unpublished directions return null; do not manufacture reciprocals."],"inputUnits":{"timeSeconds":"s","event":"enum/string (dimensionless)","gender":"enum/string (dimensionless)","fromType":"enum/string (dimensionless)","toType":"enum/string (dimensionless)"},"outputUnits":{"/originalSeconds":"s","/convertedSeconds":"s","/factor":"dimensionless"},"domain":["Positive finite time, known event/gender and published direction or identity."],"rounding":["round(round(x*1e6)/1e4)/100 (half-up0.01s). Chart itself does not specify this rounding rule."],"assumptions":["Uses the entered values and the selected convention; this documentation does not strengthen existing validation."],"limitations":["104stored chart factors; comparison output is not a verified qualifying mark. Observed men mile300.40s flat-to-banked: local296.61, official TFRRS296.62. This single case establishes no universal rounding rule."],"mountedPageNotes":[],"workedExamples":[{"input":{"timeSeconds":300,"event":"mile","gender":"men","fromType":"flat","toType":"banked"},"expected":{"/convertedSeconds":296.22},"absoluteTolerance":1e-8,"note":"Illustrative canonical-handler result; not independent validation of an empirical model."}],"constantsAndTables":{"facilityFactors":{"men":{"200m":{"undersizedToFlat":0.9872,"bankedToFlat":1.0179,"undersizedToBanked":0.9698,"flatToBanked":0.9824},"400m":{"undersizedToFlat":0.9901,"bankedToFlat":1.016,"undersizedToBanked":0.9746,"flatToBanked":0.9843},"500m":{"undersizedToFlat":0.9909,"bankedToFlat":1.0154,"undersizedToBanked":0.9758,"flatToBanked":0.9848},"600y":{"undersizedToFlat":0.9912,"bankedToFlat":1.0152,"undersizedToBanked":0.9763,"flatToBanked":0.985},"600m":{"undersizedToFlat":0.9915,"bankedToFlat":1.015,"undersizedToBanked":0.9768,"flatToBanked":0.9852},"800m":{"undersizedToFlat":0.9923,"bankedToFlat":1.0143,"undersizedToBanked":0.9783,"flatToBanked":0.9859},"1000m":{"undersizedToFlat":0.9929,"bankedToFlat":1.0138,"undersizedToBanked":0.9794,"flatToBanked":0.9864},"mile":{"undersizedToFlat":0.9941,"bankedToFlat":1.0128,"undersizedToBanked":0.9816,"flatToBanked":0.9874},"3000m":{"undersizedToFlat":0.9953,"bankedToFlat":1.0116,"undersizedToBanked":0.9839,"flatToBanked":0.9885},"5000m":{"undersizedToFlat":0.9961,"bankedToFlat":1.0107,"undersizedToBanked":0.9855,"flatToBanked":0.9894},"4x400":{"undersizedToFlat":0.9901,"bankedToFlat":1.016,"undersizedToBanked":0.9746,"flatToBanked":0.9843},"4x800":{"undersizedToFlat":0.9923,"bankedToFlat":1.0143,"undersizedToBanked":0.9783,"flatToBanked":0.9859},"dmr":{"undersizedToFlat":0.9931,"bankedToFlat":1.0136,"undersizedToBanked":0.9798,"flatToBanked":0.9866}},"women":{"200m":{"undersizedToFlat":0.99,"bankedToFlat":1.0155,"undersizedToBanked":0.9749,"flatToBanked":0.9847},"400m":{"undersizedToFlat":0.9929,"bankedToFlat":1.0133,"undersizedToBanked":0.9799,"flatToBanked":0.9869},"500m":{"undersizedToFlat":0.9937,"bankedToFlat":1.0127,"undersizedToBanked":0.9812,"flatToBanked":0.9874},"600y":{"undersizedToFlat":0.994,"bankedToFlat":1.0125,"undersizedToBanked":0.9818,"flatToBanked":0.9877},"600m":{"undersizedToFlat":0.9943,"bankedToFlat":1.0122,"undersizedToBanked":0.9823,"flatToBanked":0.9879},"800m":{"undersizedToFlat":0.9951,"bankedToFlat":1.0115,"undersizedToBanked":0.9838,"flatToBanked":0.9886},"1000m":{"undersizedToFlat":0.9958,"bankedToFlat":1.0109,"undersizedToBanked":0.985,"flatToBanked":0.9892},"mile":{"undersizedToFlat":0.9969,"bankedToFlat":1.0099,"undersizedToBanked":0.9871,"flatToBanked":0.9902},"3000m":{"undersizedToFlat":0.9981,"bankedToFlat":1.0086,"undersizedToBanked":0.9896,"flatToBanked":0.9915},"5000m":{"undersizedToFlat":0.9989,"bankedToFlat":1.0077,"undersizedToBanked":0.9913,"flatToBanked":0.9924},"4x400":{"undersizedToFlat":0.9929,"bankedToFlat":1.0133,"undersizedToBanked":0.9799,"flatToBanked":0.9869},"4x800":{"undersizedToFlat":0.9951,"bankedToFlat":1.0115,"undersizedToBanked":0.9838,"flatToBanked":0.9886},"dmr":{"undersizedToFlat":0.9959,"bankedToFlat":1.0107,"undersizedToBanked":0.9853,"flatToBanked":0.9894}}},"chartEdition":"USTFCCCA 29 January 2024; 104 published factors; product uses half-up comparisons."},"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/track-size-conversion.ts","url":"https://github.com/wickthumb/track_tools_pro_marketing/blob/b5a8aca7b85361476e0321a08b7fa5f516fc9535/lib/formulas/track-size-conversion.ts","note":"Primary implementation source for these equations/tables, not a claim of scientific calibration."},{"title":"USTFCCCA NCAA indoor conversion charts, 29 Jan 2024","url":"https://www.ustfccca.org/assets/NCAA-Indoor-Track-Size-Conversion-Charts.pdf?DB_OEM_ID=27900","note":"29January2024 factor chart. Does not establish a universal qualifying rounding rule. Product uses nearest-hundredth comparison; observed TFRRS difference remains disclosed."}]},"annotations":{"readOnlyHint":true,"consequentialHint":false},"name":"NCAA Indoor Track Size Converter","description":"Compare indoor times across flat 200m, banked/oversized and undersized facilities using published NCAA factors for 13 events and two tables. The displayed comparison rounds half-up to a hundredth; it is not a verified TFRRS qualifying mark. Check the official converter and current meet requirements before entering or qualifying an athlete.","category":"Conversions & Adjustments","method":"POST","endpoint":"/api/calculators/indoor-track-conversion","page":"/calculators/indoor-track-conversion","inputSchema":{"type":"object","required":["timeSeconds","event","gender","fromType","toType"],"properties":{"timeSeconds":{"type":"number","description":"Input indoor mark in seconds.","minimum":0},"event":{"type":"string","description":"Indoor event key.","enum":["200m","400m","500m","600y","600m","800m","1000m","mile","3000m","5000m","4x400","4x800","dmr"]},"gender":{"type":"string","description":"Gender table.","enum":["men","women"],"default":"men"},"fromType":{"type":"string","description":"Source track type.","enum":["flat","banked","undersized"]},"toType":{"type":"string","description":"Target track type.","enum":["flat","banked","undersized"]}}},"example":{"timeSeconds":300,"event":"mile","gender":"men","fromType":"flat","toType":"banked"}}}