taf/README.md

49 lines
1.5 KiB
Markdown

# taf
[![Go Report Card](https://goreportcard.com/badge/go.elara.ws/taf)](https://goreportcard.com/report/go.elara.ws/taf)
This is a library and command-line tool that parses and decodes [TAF forecasts](https://en.wikipedia.org/wiki/Terminal_aerodrome_forecast).
TAF stands for Terminal Aerodrome Forecast. It's the weather forecast format used in aviation. TAF reports are useful as a free source of accurate weather.
Here's an example of a TAF report from JFK airport:
```
KJFK 212335Z 2200/2306 33012G18KT P6SM FEW060 BKN250
FM220300 36014KT P6SM FEW060 SCT150
FM221400 01015G21KT P6SM SCT060
FM221900 04011KT P6SM SCT060
FM230000 03007KT P6SM FEW060
FM230300 35006KT P6SM FEW060
```
Try parsing it by installing the tafparser tool using
```bash
go install go.elara.ws/taf/cmd/tafparser@latest
```
and then running
```bash
tafparser <<EOF
KJFK 212335Z 2200/2306 33012G18KT P6SM FEW060 BKN250
FM220300 36014KT P6SM FEW060 SCT150
FM221400 01015G21KT P6SM SCT060
FM221900 04011KT P6SM SCT060
FM230000 03007KT P6SM FEW060
FM230300 35006KT P6SM FEW060
EOF
```
That should return a JSON object containing all the decoded data from the TAF report.
You can also give the `tafparser` tool a file to read from using `tafparser file.txt`.
Units in TAF reports are inconsistent between different countries. `tafparser` can convert the units for you! Just pass it the units you want to use for speed and/or distance like so:
```bash
tafparser -s m/s -d m
```
This tells `tafparser` to convert all speed units to meters per second and distance units to meters.