Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

SPIKE - Investigate MetOffice Site Level Data API #72

Open
devsjc opened this issue Jun 5, 2023 · 4 comments
Open

SPIKE - Investigate MetOffice Site Level Data API #72

devsjc opened this issue Jun 5, 2023 · 4 comments
Assignees

Comments

@devsjc
Copy link
Collaborator

devsjc commented Jun 5, 2023

There is a Site Level API available from MetOffice. We should investigate what is available from it, and pricing of it and so on.

@devsjc devsjc self-assigned this Jun 5, 2023
@devsjc
Copy link
Collaborator Author

devsjc commented Jun 5, 2023

@peterdudfield tracking Spike work here on MetOffice site API

@peterdudfield
Copy link
Contributor

suoer

@devsjc
Copy link
Collaborator Author

devsjc commented Jun 5, 2023

API

The API allows for site level forecast data. There are three endpoints, hourly, three hourly and daily.

Each endpoint returns forecasts for a site for a specific model run time, which appears to correspoind to the UTC hour of the call time, e.g. calling the API between 1100 BST and 1200 BST returns the model forecast which was run at 1000 UTC.

Hourly endpoint

The hourly data goes in hourly increments up to a 48 hr horizon (~48 steps).

It tracks the following parameters (+ example values):

{
    "time": "2023-06-05T10:00Z",
    "screenTemperature": 31.9,
    "screenDewPointTemperature": 13,
    "feelsLikeTemperature": 32.59,
    "windSpeed10m": 1.73,
    "windDirectionFrom10m": 175,
    "windGustSpeed10m": 5.14,
    "visibility": 34118,
    "screenRelativeHumidity": 43.9,
    "mslp": 100940,
    "uvIndex": 3,
    "significantWeatherCode": 1,
    "precipitationRate": 0,
    "probOfPrecipitation": 0
}

Three hourly endpoint

The three hourly data goes in hourly increments up to a 1 week horizon (~57 steps).

It tracks the following parameters (+ example values):

{
    "time": "2023-06-05T09:00Z",
    "maxScreenAirTemp": 33.62,     
    "minScreenAirTemp": 30.1,
    "max10mWindGust": 5.94,
    "significantWeatherCode": 1,
    "totalPrecipAmount": 0,
    "totalSnowAmount": 0,
    "windSpeed10m": 1,
    "windDirectionFrom10m": 260,
    "windGustSpeed10m": 5.7,
    "visibility": 33966,
    "mslp": 100880,
    "screenRelativeHumidity": 31.3,
    "feelsLikeTemp": 33,
    "uvIndex": 4,
    "probOfPrecipitation": 0,
    "probOfSnow": 0,
    "probOfHeavySnow": 0,
    "probOfRain": 0,
    "probOfHeavyRain": 0,
    "probOfHail": 0,
    "probOfSferics": 0
}

Daily endpoint

The daily data goes in daily increments up to a weeks horizon (~8 steps). Every forecast is made for midnight.

It tracks the following parameters (+ example values):

{
    "time": "2023-06-04T00:00Z",
    "midnight10MWindSpeed": 2,
    "midnight10MWindDirection": 250,
    "midnight10MWindGust": 4.88,
    "midnightVisibility": 28027,
    "midnightRelativeHumidity": 51.94,
    "midnightMslp": 100980,
    "nightSignificantWeatherCode": 0,
    "nightMinScreenTemperature": 16.3,
    "nightUpperBoundMinTemp": 18.18,
    "nightLowerBoundMinTemp": 15.5,
    "nightMinFeelsLikeTemp": 18.85,
    "nightUpperBoundMinFeelsLikeTemp": 18.85,
    "nightLowerBoundMinFeelsLikeTemp": 15.95,
    "nightProbabilityOfPrecipitation": 0,
    "nightProbabilityOfSnow": 0,
    "nightProbabilityOfHeavySnow": 0,
    "nightProbabilityOfRain": 0,
    "nightProbabilityOfHeavyRain": 0,
    "nightProbabilityOfHail": 0,
    "nightProbabilityOfSferics": 0
}

Pricing

The pricing is as follows:

# Calls Per Day Monthly Cost inc. VAT / £
900 9.60
3600 36.00
18000 168.00
36000 288.00
72000 504.00

We have 739 sites. If we wanted to know e.g. the hourly foecast data, updated at each model init time, that's one call per hour for each new model run per site, making 1 * 24 * 739 = 17,736 calls, putting us in the third payment tier.

However if we instead just desired the forecasts for one model run per day, that would be 1 * 739 calls, putting us in the lowest payment tier.

@peterdudfield
Copy link
Contributor

Amazing, thank you for putting this together

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
No open projects
Status: Done
Development

No branches or pull requests

2 participants