Giter VIP home page Giter VIP logo

jessehamner / weatherwidget Goto Github PK

View Code? Open in Web Editor NEW
5.0 3.0 0.0 2.68 MB

Python and Shell scripts to get radar and hazardous weather outlook info, plus local conditions, from the NWS API. New RIDGE II radar compatibility coming soon.

License: Apache License 2.0

Python 71.92% Shell 3.75% CSS 0.43% HTML 13.67% JavaScript 10.22%
python weather radar-images national-weather-service noaa geektool nws nws-api goes16 tabler

weatherwidget's People

Contributors

jessehamner avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

weatherwidget's Issues

Structured output files

Add functionality to produce delimited text files (JSON, primarily, but also .tsv) and html tabular output for all text products (forecast, alerts, hazardous weather outlook, spotter activation, and current conditions).

Need to add specific command line arguments

The NWS doesn't release new forecasts every hour, but it does release new radar images many times an hour. Therefore it makes no sense to retrieve forecasts, area forecast discussions, or current weather observation data on the same schedule as retrieving radar images and alerts data.

The main script should implement docopts such that individually useful data can be retrieved with the temporal granularity that is warranted by the frequency of the data being updated. Then the scheduled execution of the main script could be easily configured to gather data as needed. This move should improve overall performance and avoid wasting both bandwidth and time.

Use NWS info pages to derive local settings

It's possible to use several web API calls (with JSON returns) to determine many abbreviations, location identifiers, and settings that are currently entered by hand in settings.yml. The script should provide a one-time or on-demand functionality to retrieve as many of these settings as possible to simplify setup.
Many locally applicable settings are contained in these API URLS:

See especially

Create diagnostic table of each component's data gathering

Proposed: a "status table" or "dashboard" composed of an aggregated JSON file that contains go/no-go and, where practical, at least a category of failure, for each subcomponent of the project. Thus, if the forecast map fails but everything else is obtained okay, the table would be mostly "green", with perhaps an indicator marker of "yellow", indicating the user might want to see what has gone wrong.
Individual subsystems could put their diagnostic data into the standard JSON output, that could then be collected by a new class, and served up as a discrete JSON API endpoint using Flask, as most of the data is already served up that way.

NOAA radar page no longer uses RIDGE urls

In mid-December 2020, NOAA stopped posting the composite reflectivity images and image layers to the "ridge" URLs. Thus, the functionality has broken for making radar and time-series radar images. The new images are available for download as TIFFs and/or KML files. The TIFFs include no other layers but the false-color radar information.

AFD temporal info into HTML headings

Should be possible to pull some information from the raw Area Forecast Discussion, enclosed in slashes, like '/NEW/', '/Issued HHMM [A|P]M TZ Wkday Mon Day YYYY/', '/Next Week/', '/Through Sunday Morning/', and so forth, into the JSON for use as additional header text, and resulting in a more compact HTML pane.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.