diff --git a/Metars_Get_Data.py b/Metars_Get_Data.py new file mode 100644 index 0000000..9d04651 --- /dev/null +++ b/Metars_Get_Data.py @@ -0,0 +1,30 @@ +import click +import requests + +METAR_URL_TEMPLATE = 'https://mesonet.agron.iastate.edu/cgi-bin/request/asos.py?station={station}&data=metar&year1={year1}&month1={month1}&day1={day1}&year2={year2}&month2={month2}&day2={day2}&tz=Etc%2FUTC&format=onlycomma&latlon=no&missing=M&trace=T&direct=no&report_type=1&report_type=2' + + +@click.command() +@click.option('--station', default='VABB') +@click.option('--start-dt', default='2019-08-10') +@click.option('--end-dt', default='2019-08-21') +@click.option('--outfile', default=None) +def main(station, start_dt, end_dt, outfile): + if outfile is None: + outfile = f'{station}_METAR' + year1, month1, day1 = start_dt.split('-') + year2, month2, day2 = end_dt.split('-') + url = METAR_URL_TEMPLATE.format( + station=station, + year1=year1, month1=month1, day1=day1, + year2=year2, month2=month2, day2=day2, + ) + resp = requests.get(url) + resp.raise_for_status() + + with open(outfile, 'w') as fout: + fout.writelines(line + '\n' for line in resp.text.splitlines()[1:]) + + +if __name__ == '__main__': + main() diff --git a/README.md b/README.md index 2acae14..31a08b0 100644 --- a/README.md +++ b/README.md @@ -4,14 +4,33 @@ This tool enables the automatic detection of go-around events in aircraft positi The tool will produce graphics showing the flight path and phase for every detected landing aircraft. Normal landings can be stored in one subdirectory, potential go-arounds in another. Requires: - Xavier Olive's `Traffic` library: https://github.com/xoolive/traffic + +- Xavier Olive's `Traffic` library: https://github.com/xoolive/traffic - Junzi Sun's `flight-data-processor` library: https://github.com/junzis/flight-data-processor +- Junzi Sun's `flight-data-processor` library: https://github.com/junzis/flight-data-processor + +- The requests library: `pip install requests` + +- The click library: `pip install click` Usage: First you must download aircraft data, which can be done using the `OpenSky_Get_Data` script. You can then point `GA_Detect` at the download location to scan for go-arounds. This tool is in very early development, so has manual tweaks that would ideally be changeable via a config file or directly via the command line call. The most important of these tweaks are listed below: +### `Metars_Get_Data.py` + +To download the METARS data for a given station and timespan, use the +`Metars_Get_Data.py` script. This script uses defaults that +correspond to the ones used in the `OpenSky_Get_Data.py` script, thus +these two calls are equivalent: + +```bash +python Metars_Get_Data.py +python Metars_Get_Data.py \ + --station=VABB --start-dt=2019-08-10 --end-dt=2019-08-21 \ + --outfile=VABB_METARS +``` + ### `OpenSky_Get_Data.py`: Use the script's `--outdir` option so the the output directory. This defaults to `INDATA` in your current working directory.