Skip to content

Commit

Permalink
2.4.1 docs (#374)
Browse files Browse the repository at this point in the history
Co-authored-by: Alexander Rey <[email protected]>
  • Loading branch information
cloneofghosts and alexander0042 authored Nov 26, 2024
1 parent cb2fbe6 commit d92d578
Show file tree
Hide file tree
Showing 12 changed files with 40 additions and 1,008 deletions.
4 changes: 2 additions & 2 deletions PW_OpenAPI.yaml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
openapi: 3.1.0
info:
version: "2.3.3"
version: "2.4.1"
title: Pirate Weather API
description: Pirate Weather provides an open, free, and documented source of government weather data.
termsOfService: https://pirate-weather.apiable.io/terms
Expand Down Expand Up @@ -775,7 +775,7 @@ components:
version:
type: string
description: The version of Pirate Weather used to generate the forecast.
example: V2.3.3
example: V2.4.1
sourceIDX:
type: object
description: The X, Y coordinate and the lat/long coordinate for each model used to generate the forecast. Only returned when version>2.
Expand Down
13 changes: 5 additions & 8 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
# Pirate Weather Repo
This is the primary repository for the Pirate Weather API, a free and open API designed to serve weather forecast data using the same syntax as Dark Sky.

To sign up, a free API key can be requested at [https://pirateweather.net/](https://pirateweather.net/en/latest/). API Documentation is at [https://pirateweather.net/en/latest/API/](https://pirateweather.net/en/latest/API/). A front end is available at [https://merrysky.net](https://merrysky.net).
To sign up, a free API key can be requested at [https://pirate-weather.apiable.io/](https://pirate-weather.apiable.io/). API Documentation is at [https://pirateweather.net/en/latest/API/](https://pirateweather.net/en/latest/API/), a front end is available at [https://merrysky.net](https://merrysky.net) and the status page is available at https://pirateweather.xitoring.io/

## Why

Expand All @@ -11,13 +11,10 @@ To sign up, a free API key can be requested at [https://pirateweather.net/](http
## What
In this repository, I've included:

* The Docker image for processing:
* <https://github.com/alexander0042/pirateweather/tree/main/wgrib2>
* <https://gallery.ecr.aws/j9v4j3c7/pirate-wgrib2>
* The processing scripts:
* <https://github.com/alexander0042/pirateweather/tree/main/scripts>
* API Documentation:
* <https://github.com/alexander0042/pirateweather/tree/main/docs>
* API Documentation:
* <https://github.com/alexander0042/pirateweather/tree/main/docs>
* The full API source code is available at
* https://github.com/Pirate-Weather/pirate-weather-code

## Support
Keeping this free and running isn't free, so [donations to support this project](https://github.com/sponsors/alexander0042) are greatly appreciated! Plus, recurring monthly donations let me raise a API limit, allowing more frequent weather refreshes!
2 changes: 1 addition & 1 deletion docs/API.md
Original file line number Diff line number Diff line change
Expand Up @@ -244,7 +244,7 @@ If `version=2` is included fields which were not part of the Dark Sky API will b
},
"nearest-station": 0,
"units": "ca",
"version": "V2.3.3"
"version": "V2.4.1"
}
}
```
Expand Down
14 changes: 13 additions & 1 deletion docs/changelog.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,19 @@

For a RSS feed of these changes, subscribe using this link: <https://github.com/alexander0042/pirateweather/commits/main.atom>.

???+ note "Version 2.3"
???+ note "Version 2.4"

* November 26, 2024, API Version 2.4.1
* Fixed unit issues that occured when fixing the data point value issue as per [issue #360](https://github.com/Pirate-Weather/pirateweather/issues/360).
* November 25, 2024, API Version 2.4
* First Official Open Source Release! Details in the new [Pirate Weather Code](https://github.com/Pirate-Weather/pirate-weather-code) repository, but starting today, you can see exactly how the data is processed, and even host your own instance of Pirate Weather! Contributions are welcome, so come check it out. Addresses the second oldest outstanding [issue #11](https://github.com/Pirate-Weather/pirateweather/issues/11).
* Fixed a datetime bug per [issue #330](https://github.com/Pirate-Weather/pirate-weather-ha/issues/330).
* Corrects the Apparent Temperature calculation per [issue #363](https://github.com/Pirate-Weather/pirateweather/issues/363).
* Changed the behaviour of new lines in NWS per [issue #367](https://github.com/Pirate-Weather/pirateweather/issues/367).
* Fixed issues where data points could return values outside of expected range as per [issue #360](https://github.com/Pirate-Weather/pirateweather/issues/360).

??? note "Version 2.3"

* October 25, 2024, API Version 2.3.3
* Updated cache parameters per [issue #350](https://github.com/Pirate-Weather/pirateweather/issues/350).
* Changed alert start time to use NWS effective time instead of onset time per [issue #353](https://github.com/Pirate-Weather/pirateweather/issues/353).
Expand Down
33 changes: 11 additions & 22 deletions docs/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,8 @@
* To [**register for the API**](https://pirate-weather.apiable.io/)
* [Get a weather forecast in the Dark Sky style](https://merrysky.net/)
* [Home Assistant Integration](https://github.com/alexander0042/pirate-weather-hacs)
* [Processing code repo](https://github.com/alexander0042/pirateweather)
* [API repo](https://github.com/alexander0042/pirateweather)
* [Open Source code repo](https://github.com/Pirate-Weather/pirate-weather-code)
* [Changelog](https://pirateweather.net/en/latest/changelog/)
* [Status page](https://pirateweather.xitoring.io/)

Expand Down Expand Up @@ -42,33 +43,21 @@ Alternatively, I also have a GitHub Sponsorship page set up on my [profile](http

<iframe src="https://github.com/sponsors/alexander0042/card" title="Sponsor alexander0042" height="225" width="600" style="border: 0;"></iframe>

## Recent Updates- Summer 2024
Up to version 2.3! As always, details are available in the [changelog](https://pirateweather.net/en/latest/changelog/).

* Major time machine (historic data) update!
* ERA-5 data now available from January 1940 to June 2024 via the excellent [NCAR archive](https://registry.opendata.aws/nsf-ncar-era5/)!
* Performance for these requests has been considerably improved (~10 s), since it is no longer querying against the Google data.
* Implemented using the excellent [Kerchunk library](https://fsspec.github.io/kerchunk)
* The June 2024 end date will be moved up as the ERA-5 data is updated.
* [Issue #130](https://github.com/Pirate-Weather/pirateweather/issues/130)
* [Issue #316](https://github.com/Pirate-Weather/pirateweather/issues/316)
* Historic model 1-hour forecast data is now available from June 2024 to present via the Pirate Weather Zarr archive.
* While technically forecast data, these forecasts are as close to observations as possible.
* Slower than ERA-5, since the full range of forecast models is used (~30 s).
* Historic data is now accessible from both the timemachine.pirateweather.net endpoint and the api.pirateweather.net endpoint.
* Documentation updates:
* [Issue #315](https://github.com/Pirate-Weather/pirateweather/issues/315)
* [Issue #320](https://github.com/Pirate-Weather/pirateweather/issues/320)
* Added the ability to provide the API key as a query parameter or header (as `apikey`) per [issue #314](https://github.com/Pirate-Weather/pirateweather/issues/314).
* Improved error handling for invalid locations per [issue #318](https://github.com/Pirate-Weather/pirateweather/issues/318)
* Fixed an unreported bug for max/min Apparent Temperature Times
## Recent Updates- Fall 2024
Up to version 2.4! As always, details are available in the [changelog](https://pirateweather.net/en/latest/changelog/).

* First Official Open Source Release! Details in the new [Pirate Weather Code](https://github.com/Pirate-Weather/pirate-weather-code) repository, but starting today, you can see exactly how the data is processed, and even host your own instance of Pirate Weather! Contributions are welcome, so come check it out. Addresses the second oldest outstanding [issue #11](https://github.com/Pirate-Weather/pirateweather/issues/11).
* Fixed a datetime bug per [issue #330](https://github.com/Pirate-Weather/pirate-weather-ha/issues/330).
* Corrects the Apparent Temperature calculation per [issue #363](https://github.com/Pirate-Weather/pirateweather/issues/363).
* Changed the behaviour of new lines in NWS per [issue #367](https://github.com/Pirate-Weather/pirateweather/issues/367).
* Fixed issues where data points could return values outside of expected range as per [issue #360](https://github.com/Pirate-Weather/pirateweather/issues/360).

## Background
This project started from two points: as part of my [PhD](https://coastlines.engineering.queensu.ca/dunexrt), I had to become very familiar with working with NOAA forecast results (<https://orcid.org/0000-0003-4725-3251>). Separately, an old tablet set up as a "Magic Mirror,” and was using a [weather module](https://github.com/jclarke0000/MMM-DarkSkyForecast) that relied on the Dark Sky API, as well as my [Home Assistant](https://www.home-assistant.io/) setup. So when I heard that it was [shutting down](https://blog.darksky.net/dark-sky-has-a-new-home/), I thought, "I wonder if I could do this.” Plus, I love learning new things (<http://alexanderrey.ca/>), and I had been looking for a project to learn Python on, so this seemed like the perfect opportunity!
Spoiler alert, but it was way more difficult than I thought, but learned a lot throughout the process, and I think the end result turned out really well!

## Why?
This API is designed to be a drop in replacement/ alternative to the Dark Sky API, and as a tool for assessing GFS and HRRR forecasts via a JSON API. This solves two goals:
This API is designed to be a drop in replacement/ alternative to the Dark Sky API, and as a tool for assessing GFS, HRRR and NBM forecasts via a JSON API. This solves two goals:

1. It will also allow **legacy** applications to continue running after the Dark Sky shutdown, since as Home Assistant Integrations, Magic Mirror cards, and a whole host of other applications that have been developed over the years.
2. For anyone that is interested in knowing **exactly** how your weather forecasts are generated, this is the "show me the numbers" approach, since the data returned is directly from NOAA models, and every processing step I do is [documented](https://blog.pirateweather.net/). There are [lots](https://openweathermap.org/) [of](https://www.theweathernetwork.com) [existing](https://weather.com) [services](https://www.accuweather.com/) that provide custom forecasts using their own unique technologies, which can definitely improve accuracy, but I'm an engineer, so I wanted to be able to know what's going into the forecasts I'm using. If you're the sort of person who wants a [dense 34-page PowerPoint](http://rapidrefresh.noaa.gov/pdf/Alexander_AMS_NWP_2020.pdf) about why it rained when the forecast said it wouldn't, then this might be for you.
Expand Down
18 changes: 8 additions & 10 deletions docs/roadmap.md
Original file line number Diff line number Diff line change
@@ -1,12 +1,10 @@
# Roadmap
1. Open source API code and Docker containers to allow self-hosting.
* Longer blog post on V2 processing flow using Herbie -> wgrib2 -> xarray -> Dask -> Zarr arrays on LMDB for data.
2. Text summaries and translations
1. Text summaries and translations
* Based on the [existing repository](https://github.com/alexander0042/translations).
3. Weather maps from new Zarr datafiles.
4. Add in alerts for Canada/ EU/ other.
5. Add in a Air Quality Index as suggested in [issue #92](https://github.com/Pirate-Weather/pirateweather/issues/92)
6. Add source data.
2. Weather maps from new Zarr datafiles.
3. Add in alerts for Canada/ EU/ other.
4. Add in a Air Quality Index as suggested in [issue #92](https://github.com/Pirate-Weather/pirateweather/issues/92)
5. Add source data.
* Add in the Canadian models ([HRDPS](https://herbie.readthedocs.io/en/stable/gallery/eccc_models/hrdps.html), [GDPS](https://herbie.readthedocs.io/en/stable/gallery/eccc_models/gdps.html) and [RDPS](https://herbie.readthedocs.io/en/stable/gallery/eccc_models/rdps.html))
* [NBM-Alaska/ Hawaii/ Puerto Rico/ Guam](https://herbie.readthedocs.io/en/stable/gallery/noaa_models/nbm.html)
* [RTMA/ URMA](https://herbie.readthedocs.io/en/stable/gallery/noaa_models/rtma-urma.html)
Expand All @@ -17,7 +15,7 @@
* [DMI HARMONIE](https://opendatadocs.dmi.govcloud.dk/Data/Forecast_Data_Weather_Model_HARMONIE_DINI_IG)?
* [RRFS](https://herbie.readthedocs.io/en/stable/gallery/noaa_models/rrfs.html) and [3D-RTMA/3D-URMA](https://vlab.noaa.gov/web/ufs-r2o/srw-cam)
* Waiting for the full release to launch before integrating.
7. Add in a day/night forecast as suggested in [issue #49](https://github.com/Pirate-Weather/pirateweather/issues/49)
8. Add in water-related data as suggested in [issue #160](https://github.com/Pirate-Weather/pirateweather/issues/160)
9. Investigate using radar data/station data.
6. Add in a day/night forecast as suggested in [issue #49](https://github.com/Pirate-Weather/pirateweather/issues/49)
7. Add in water-related data as suggested in [issue #160](https://github.com/Pirate-Weather/pirateweather/issues/160)
8. Investigate using radar data/station data.
* Investigate if it's feasible to use radar data and/or station data for the currently conditions. This is a suggestion in [issue #10](https://github.com/alexander0042/pirateweather/issues/10).
Loading

0 comments on commit d92d578

Please sign in to comment.