Advent of Code is back! Unwrap daily challenges to sharpen your Alteryx skills and earn badges along the way! Learn more now.

Alteryx Designer Desktop Discussions

Find answers, ask questions, and share expertise about Alteryx Designer Desktop and Intelligence Suite.

Get Weather Data via API

Need to pull in weather data into Alteryx? Weather data can be helpful context in many situations - sports predictions, supply chain analysis, flight scheduling, maintenance on parts that can't be outside in extreme weather, and many other situations.

 

Workflow overview:

This workflow pulls weather data/forecasts from the National Weather Service and transforms it into usable data. This should be considered a starting file for weather data, which can be transformed into a format that is most helpful to you, such as an analytic app or a macro.

christinabillman_1-1662743160888.png

 

 

Workflow instructions:

  1. Edit the text input tool
    1. Fill in the longitude and latitude of the location you want weather data for
    2. Optional: Change the "user agent" to an email address if you want to receive any support emails for troubleshooting purposes in case their service goes down or changes in the future. See website at end of this post for more information.
  2. Use the "record select tool" to specify what type of forecast you want. 
    1. Select 62 for a 7 day forecast
    2. Select 63 for an hourly forecast
    3. Select 64 for forecast grid data (not parsed in the workflow)
    4. Select 65 for observation stations (not parsed in the workflow)
  3. Run the workflow.

 

If you selected 62 or 63 in the record select tool, your data will be cleaned and provided in the "clean up hourly forecast or forecast" container. If you selected 64 or 65 in the record select tool, your data will be provided in the "true" anchor of the filter tool up top.

 

Workflow details for configuration and editing:

The National Weather Service's API has to be called twice in order to get the data you want. The first API call tells the website which location you want to pull weather data for. The second API call tells the website what kind of weather data you're looking for (step 2 of the workflow instructions).

 

The first download tool pulls information for the specified location. If you look at the output of the "text to columns" tool after the first API call, scroll down to record 62-65 to see each URL option that needs to be fed back into a 2nd API call to get the weather data. Screenshot of output shown below:

christinabillman_2-1662744184658.png

The next few tools pull out the desired record and strips the data down to just the URL. Screenshot of output shown below:

christinabillman_3-1662744304782.png

The 2nd Download tool calls the desired URL to pull down the actual data. The next 3 tools clean up the received data and filters out the nulls. Screenshot:

christinabillman_4-1662744408893.png

This is as far as I bothered to clean up the data for options 64 and 65 (forecast grid data and observation stations). However, if 62 or 63 were selected, I continued the data cleanup process in the "clean up hourly forecast or forecast" container.

 

The top filter tool in this container contains the timestamp of when the data was generated. This is helpful to ensure your data is up to date.

 

The bottom filter tool, along with everything after, cleans out all the metadata included with the data pull, and cleans up the titles to a more usable format.

 

Troubleshooting:

weather.gov FAQ and API guide: https://weather-gov.github.io/api/general-faqs#how-to-get-forecast 

 

3 REPLIES 3
dougperez
12 - Quasar

Wow that's a very good workflow!
Can I make a Macro out of it?

Absolutely! My hope for this workflow is that it's easily adaptable to fit wherever it needs to fit, whether that be a macro or any other format.

BrandonB
Alteryx
Alteryx

Nice work @christina-billman

Labels