Anemoi was inspired by my experience hearing of global warming only at the macro level, with warming reported as degrees across the entire planet. I wanted to make something that could tell me those same facts of global warming, but localized to where I live and what I experience day-to-day.

What it does

Anemoi takes in user input to find the closest weather station to their local area, then queries that data from the Applied Climate Information System (ACIS) run by NOAA. Using that data, it then summarizes weather trends in that local area that may be related to global warming, such as increases in average temperature, decreasing precipitation,etc.

How we built it

I built this using Go by reverse-engineering ACIS API calls to get the list of stations and weather data for those stations into the nowdata.go package. The data is parsed into usable formats by the parsedata.go package. Then I created a simple command-line interview service that serves as the main function that does the querying, data parsing, and data summarization.

Challenges we ran into

  • Finding historical weather data at a local level
  • Summarizing data that may be partial or incomplete across decades

Accomplishments that we're proud of

  • Writing my first program in Go!
  • Reverse-engineering the ACIS API to gather weather data

What we learned

  • How Go works
  • How to communicate with a REST API in Go
  • How to summarize and display large data into simple statements

What's next for Anemoi

  • Dynamically generate the initial climate region query, as right now it is hard-coded (used to then query stations/weather data)
  • Deeper analysis of data and trends
  • Save dataset and graph for users to make their own analysis

Built With

Share this project: