{"id":"v001","input":{"report":"TAF KDEN 181720Z 1818/1918 30012KT P6SM SCT080 FM190200 32008KT P6SM FEW100"},"expect":{"result.valid_hours":24.0,"result.count":2.0,"result.periods.1.from":"day 19 at 0200Z","ok":true},"source":"Hand-decoded per the FAA Aviation Weather Handbook (TAF chapter)","sourceVersion":"FAA-H-8083-28 (2022)","tolerance":{"result.valid_hours":{"abs":1e-09},"result.count":{"abs":1e-09}}}
{"id":"v002","input":{"report":"TAF AMD KORD 302330Z 3100/0106 27015KT P6SM BKN025 FM010300 VRB03KT 1/2SM FG VV002"},"expect":{"result.valid_hours":30.0,"result.periods.1.flight_category":"LIFR","ok":true},"source":"Hand-decoded per the FAA Aviation Weather Handbook (TAF chapter)","sourceVersion":"FAA-H-8083-28 (2022)","tolerance":{"result.valid_hours":{"abs":1e-09}}}
{"id":"v003","input":{"report":"TAF KSEA 181130Z 1812/1912 18005KT 5SM BR OVC008 TEMPO 1812/1816 2SM BR OVC004"},"expect":{"result.periods.0.flight_category":"IFR","result.periods.1.flight_category":"LIFR","ok":true},"source":"Hand-decoded per the FAA Aviation Weather Handbook (TAF chapter)","sourceVersion":"FAA-H-8083-28 (2022)","tolerance":{}}
{"id":"v004","input":{"report":"TAF KPHX 181730Z 1818/1924 VRB05KT P6SM SKC PROB40 1822/1902 VRB25G40KT 1SM TSRA"},"expect":{"result.count":2.0,"result.periods.1.change":"40% probability","ok":true},"source":"Hand-decoded per the FAA Aviation Weather Handbook (TAF chapter)","sourceVersion":"FAA-H-8083-28 (2022)","tolerance":{"result.count":{"abs":1e-09}}}
{"id":"v005","input":{"report":"TAF EGLL 181700Z 1818/1924 24012KT 9999 FEW035 BECMG 1822/1901 20008KT"},"expect":{"result.periods.0.visibility":"10 km or more","result.periods.1.change":"becoming","ok":true},"source":"Hand-decoded per the FAA Aviation Weather Handbook (TAF chapter)","sourceVersion":"FAA-H-8083-28 (2022)","tolerance":{}}
{"id":"v006","input":{"report":"TAF KPIR 111140Z 1112/1212 13012KT P6SM BKN100 WS020/35035KT TEMPO 1112/1114 5SM BR FM111500 16015G25KT P6SM SCT040 BKN250 FM120000 14012KT P6SM BKN080 OVC150 PROB30 1200/1204 3SM TSRA BKN030CB FM120400 14008KT P6SM SCT040 OVC080 TEMPO 1204/1208 3SM TSRA OVC030CB"},"expect":{"result.station":"KPIR","result.count":7,"result.periods.0.wind":"130° true at 12 kt","result.periods.0.visibility":"more than 6 SM","result.periods.0.other":"low-level wind shear at 2,000 ft: 35 kt from 350°","result.periods.1.change":"temporary","result.periods.1.to":"day 11 at 1400Z","result.periods.2.wind":"160° true at 15 kt, gusting 25 kt","result.periods.4.change":"30% probability","result.periods.4.clouds":"broken at 3,000 ft, cumulonimbus","result.periods.6.clouds":"overcast at 3,000 ft, cumulonimbus","ok":true},"source":"FAA Aviation Weather Handbook (FAA-H-8083-28A), decoded example","sourceVersion":"FAA-H-8083-28A (2024)","tolerance":{"result.count":{"abs":1e-09}}}
{"id":"v007","input":{"report":"TAF KMCN 191930Z 1920/2018 03005KT P6SM FEW050 SCT120 PROB30 1921/2003 VRB15G25KT 4SM -TSRA BKN050CB FM200800 00000KT 5SM BR FEW250 TEMPO 2010/2014 2SM BR SCT005 FM201400 00000KT P6SM FEW005 FEW015 FM201700 VRB03KT P6SM FEW050 FEW250"},"expect":{"result.count":6,"result.periods.0.wind":"030° true at 5 kt","ok":true},"source":"Live Aviation Weather Center TAFs (2026-09-19), as parsed by pytaf 1.2.1","sourceVersion":"pytaf 1.2.1","tolerance":{"result.count":{"abs":1e-09}}}
{"id":"v008","input":{"report":"TAF KFLO 191746Z 1918/2018 05006KT P6SM SCT021 FM191900 08007KT P6SM VCSH SCT025 BKN035 FM200400 04003KT P6SM SCT015 SCT250 TEMPO 2004/2008 3SM BR BKN007 FM200800 VRB02KT 2SM BR BKN004 TEMPO 2009/2013 1/2SM FG VV002 FM201400 07006KT P6SM SCT015 BKN250"},"expect":{"result.count":7,"result.periods.0.wind":"050° true at 6 kt","ok":true},"source":"Live Aviation Weather Center TAFs (2026-09-19), as parsed by pytaf 1.2.1","sourceVersion":"pytaf 1.2.1","tolerance":{"result.count":{"abs":1e-09}}}
{"id":"v009","input":{"report":"TAF CYQB 191740Z 1918/2018 24005KT P6SM FEW050 BECMG 2001/2003 05005KT FM201100 07007KT P6SM BKN140 RMK NXT FCST BY 200000Z"},"expect":{"result.count":3,"result.periods.0.wind":"240° true at 5 kt","ok":true},"source":"Live Aviation Weather Center TAFs (2026-09-19), as parsed by pytaf 1.2.1","sourceVersion":"pytaf 1.2.1","tolerance":{"result.count":{"abs":1e-09}}}
{"id":"v010","input":{"report":"TAF KAND 191733Z 1918/2018 05004KT P6SM SCT035 TEMPO 1921/2001 4SM -TSRA BKN035CB FM200100 04006KT P6SM BKN050 PROB30 2001/2004 4SM TSRA OVC035CB FM200800 05004KT P6SM BKN012 FM201000 VRB03KT P6SM BKN007 FM201300 VRB03KT P6SM SCT014"},"expect":{"result.count":7,"result.periods.0.wind":"050° true at 4 kt","ok":true},"source":"Live Aviation Weather Center TAFs (2026-09-19), as parsed by pytaf 1.2.1","sourceVersion":"pytaf 1.2.1","tolerance":{"result.count":{"abs":1e-09}}}
{"id":"v011","input":{"report":"TAF KROC 191728Z 1918/2018 10008KT P6SM BKN120 FM200300 11005KT P6SM OVC070 PROB30 2004/2008 6SM -SHRA OVC040 FM200800 13004KT 6SM -SHRA OVC015 FM201200 VRB03KT 4SM -SHRA BR OVC008"},"expect":{"result.count":5,"result.periods.0.wind":"100° true at 8 kt","ok":true},"source":"Live Aviation Weather Center TAFs (2026-09-19), as parsed by pytaf 1.2.1","sourceVersion":"pytaf 1.2.1","tolerance":{"result.count":{"abs":1e-09}}}
{"id":"v012","input":{"report":"TAF KPIH 191722Z 1918/2018 23008KT P6SM VCSH BKN060 BKN090 FM200200 VRB05KT P6SM FEW120"},"expect":{"result.count":2,"result.periods.0.wind":"230° true at 8 kt","ok":true},"source":"Live Aviation Weather Center TAFs (2026-09-19), as parsed by pytaf 1.2.1","sourceVersion":"pytaf 1.2.1","tolerance":{"result.count":{"abs":1e-09}}}
{"id":"v013","input":{"report":"TAF KLEX 191720Z 1918/2018 23007KT P6SM FEW100 FEW250 PROB30 1921/1924 4SM -TSRA OVC040CB FM200000 13006KT P6SM SCT250"},"expect":{"result.count":3,"result.periods.0.wind":"230° true at 7 kt","ok":true},"source":"Live Aviation Weather Center TAFs (2026-09-19), as parsed by pytaf 1.2.1","sourceVersion":"pytaf 1.2.1","tolerance":{"result.count":{"abs":1e-09}}}
{"id":"v014","input":{"report":"TAF KMSS 191720Z 1918/2018 VRB03KT P6SM FEW200 FM200600 07004KT P6SM BKN150 FM201100 09004KT P6SM -SHRA BKN040"},"expect":{"result.count":3,"result.periods.0.wind":"variable at 3 kt","ok":true},"source":"Live Aviation Weather Center TAFs (2026-09-19), as parsed by pytaf 1.2.1","sourceVersion":"pytaf 1.2.1","tolerance":{"result.count":{"abs":1e-09}}}
{"id":"v015","input":{"report":"TAF KMOB 191720Z 1918/2018 VRB04KT P6SM SKC"},"expect":{"result.count":1,"result.periods.0.wind":"variable at 4 kt","ok":true},"source":"Live Aviation Weather Center TAFs (2026-09-19), as parsed by pytaf 1.2.1","sourceVersion":"pytaf 1.2.1","tolerance":{"result.count":{"abs":1e-09}}}
{"id":"v016","input":{"report":"TAF MMHO 191705Z 1918/2018 23008KT P6SM SKC TEMPO 1923/2003 25012KT FM200400 25005KT P6SM SKC BECMG 2008/2009 16004KT FM201500 15008KT P6SM SKC"},"expect":{"result.count":5,"result.periods.0.wind":"230° true at 8 kt","ok":true},"source":"Live Aviation Weather Center TAFs (2026-09-19), as parsed by pytaf 1.2.1","sourceVersion":"pytaf 1.2.1","tolerance":{"result.count":{"abs":1e-09}}}
{"id":"v017","input":{"report":"TAF EPWA 191730Z 1918/2018 20006KT CAVOK PROB40 TEMPO 2012/2018 26015G25KT"},"expect":{"result.count":2,"result.periods.0.wind":"200° true at 6 kt","ok":true},"source":"Live Aviation Weather Center TAFs (2026-09-19), as parsed by pytaf 1.2.1","sourceVersion":"pytaf 1.2.1","tolerance":{"result.count":{"abs":1e-09}}}
{"id":"v018","input":{"report":"TAF LRSM 191700Z 1918/2003 VRB04KT CAVOK"},"expect":{"result.count":1,"result.periods.0.wind":"variable at 4 kt","ok":true},"source":"Live Aviation Weather Center TAFs (2026-09-19), as parsed by pytaf 1.2.1","sourceVersion":"pytaf 1.2.1","tolerance":{"result.count":{"abs":1e-09}}}
{"id":"v019","input":{"report":"TAF EBBR 191700Z 1918/2024 24012KT 9999 FEW025 SCT040 TEMPO 2001/2008 4000 -RADZ RA SCT008 BKN012 BECMG 2010/2012 30012KT"},"expect":{"result.count":3,"result.periods.0.wind":"240° true at 12 kt","ok":true},"source":"Live Aviation Weather Center TAFs (2026-09-19), as parsed by pytaf 1.2.1","sourceVersion":"pytaf 1.2.1","tolerance":{"result.count":{"abs":1e-09}}}
{"id":"v020","input":{"report":"TAF LKTB 191700Z 1918/2018 15006KT CAVOK BECMG 1918/1920 VRB02KT BECMG 2008/2010 21008KT BECMG 2014/2016 29010KT"},"expect":{"result.count":4,"result.periods.0.wind":"150° true at 6 kt","ok":true},"source":"Live Aviation Weather Center TAFs (2026-09-19), as parsed by pytaf 1.2.1","sourceVersion":"pytaf 1.2.1","tolerance":{"result.count":{"abs":1e-09}}}
{"id":"v021","input":{"report":"TAF EGQL 191643Z 1918/2003 25022KT 9999 SCT045 TEMPO 1918/2003 26025G35KT"},"expect":{"result.count":2,"result.periods.0.wind":"250° true at 22 kt","ok":true},"source":"Live Aviation Weather Center TAFs (2026-09-19), as parsed by pytaf 1.2.1","sourceVersion":"pytaf 1.2.1","tolerance":{"result.count":{"abs":1e-09}}}
