Jane's Weather API (1.0.0-alpha.5)

Download OpenAPI specification:Download

Introduction

The Jane’s Weather API enables you to unlock productivity and drive efficiency with hyper local forecasting.

We combine the best global weather models into an easy to use Consensus forecast, to provide customised weather insights specific to your operations.

We are working to provide a resolution of 1km, and enhance our Consensus forecast with machine learning and AI, covered by algorithms specific to Australian conditions. The data is hourly for the next ten days.

Our forecasts utilise BoM data along with other global sources, but we make our forecasts available to customers 11-36 hours ahead of what BoM can publish, and formatted so that users can make decisions.

The Jane’s Weather API provides the most complete Australian API weather experience. It includes output from multiple weather models, as well as data from our Consensus Forecast.

Forecast Variables

The Consensus Forecast provides the following.

Basic variables, hourly for the next ten days:

  • Temperature
  • Weather icon
  • Feels like temperature
  • Relative humidity
  • Dew point temperature
  • Delta-T
  • Wind - direction, speed and gust
  • Rain or snow
  • Cloud cover (low, medium, high and fog)

Daily for the next ten days:

  • Maximum and minimum temperature
  • 24 hour rain or snow

Plus the following calculations:

  • Frost risk
  • Good spraying conditions
  • Growing degree days
  • Heat stress or Wind chill
  • Comfort index (based on dew point)
  • Evapotranspiration (eTo)
  • Thunderstorm and lightning risk
  • Downy Mildew (Milioncast)

Under development:

  • Crop Diseases: Brassica White Blister (Albugo candida), Powdery Mildew, Dark Leaf Spot (Alternaria brassicae), Botrytis, Ringspot (Mycosphaerella brassicicola) and more…
  • Turf Diseases (for golf courses, sports grounds, racing tracks): Anthracnose, Dollar Spot, Fusarium, Helminthosporium Complex, Pythium, Brown Patch, Spring Dead Spot; and Weeds: Summer grass, Crowsfoot grass, Winter grass and more…
  • UV index
  • Ground and soil temperature
  • Solar energy

Authentication

The Jane's Weather API is a per use service. Contact Jane to request pricing details.

Use the x-api-key you are provided with to authenticate the requests.

Future improvements

The API is undergoing heavy development and new features are being added all the time.

Metadata

Metadata

Get metadata for latest forecast runs

Overview

The forecast models become available at various times throughout a 24 hour period.

Fresh forecast data is available on the following schedule:

  • 1645 UTC
  • 1740 UTC
  • 2000 UTC
  • 2245 UTC
  • 0130 UTC
  • 0445 UTC
  • 0540 UTC
  • 0800 UTC
  • 1045 UTC
  • 1330 UTC

Each run of the model is known by the time they began processing (in UTC time), at 00Z, 06Z, 12Z and 18Z.

Use this endpoint to determine which model run is currently available. The data includes the latest forecasts and previous forecast runs.

Each model run is due around the following times daily:

  • USA/GFS = 1645 UTC (2:45am AEST)
  • CANADA/GEM = 1740 UTC (3:45am AEST)
  • AUSTRALIA/ACCESS = 1940 UTC (5:40am AEST)
  • EURO/ECMWF = 2000 UTC (6:00am AEST)
  • USA/GFS = 2245 UTC (8:45am AEST)
  • AUSTRALIA/ACCESS = 0130 UTC (11:30am AEST) (only the first 90 hours, the remaining hours are from the prior run)
  • EURO/ECMWF = 0130 UTC (11:30am AEST) (only the first 90 hours, the remaining hours are from the prior run)
  • USA/GFS = 0445 UTC (2:45pm AEST)
  • CANADA/GEM = 0540 UTC (3:45pm AEST)
  • AUSTRALIA/ACCESS = 0740 UTC (5:40pm AEST)
  • EURO/ECMWF = 0800 UTC (6:00pm AEST)
  • USA/GFS = 1045 UTC (8:45pm AEST)
  • AUSTRALIA/ACCESS = 1330 UTC (11:30pm AEST) (only the first 90 hours, the remaining hours are from the prior run)
  • EURO/ECMWF = 1330 UTC (11:30pm AEST) (only the first 90 hours, the remaining hours are from the prior run)

Each time an individual model updates, the Consensus and Advanced Consensus models update.

Authorizations:
api_key
query Parameters
model
string
Enum: "gfs.0p25" "gem.0p1" "access-g.13km" "ecmwf.0p4" "ml" "consensus"

Filter by forecast model

limit
integer >= 0

Limit the number of returned results

limit_per_model
integer >= 0

Limit the number of returned results per model

max_rt
string <date-time>

Maximum reference time of models in results

max_ut
string <date-time>

Set the forecast Max Updated Time (UTC). Use with ct parameter to view older Consensus runs.

Responses

Response samples

Content type
application/json
Example
{
  • "metadata": [
    ]
}

Forecast Data

Forecast data

Get forecast data for selected model

Overview

Get the forecast data for the selected model.

The returned forecast object contains several components. These include forecast data, and metadata about the forecast data. These components are explained in the subsequent sections.

Usage

Main forecast API request:

curl -H x-api-key:<API_KEY> \
https://services.janesweather.com/customers/api/v1/forecast/<MODEL>?lat=<LAT>&lng=<LNG>&pid=<PID>

Sample <API_KEY>: UQGfdqipox5lje54b4T5w7hvSJDm6qZNaoClhox1

This sample API KEY allows for limited usage, to test once or twice. Use your assigned key once you receive it.

<MODEL>:

CONSENSUS model = consensus

ADVANCED CONSENSUS model = ml

USA model known as GFS = gfs.0p25

CANADA model known as GEM = gem.0p1

AUSTRALIA model known as ACCESS-G = access-g.13km

EURO model known as ECMWF = ecmwf.0p4

For a particular location, using the latitude, longitude and (only needed in alpine regions) google PlaceID

<LAT> ie -36.9752778

<LNG> ie 147.1327778

<PID> find it at (https://developers.google.com/maps/documentation/places/web-service/place-id)

For example:

Melbourne from the Advanced Consensus model

curl --location --request \
GET 'https://services.janesweather.com/customers/api/v1/forecast/ml?lat=-37.840935&lng=144.946457' \
--header 'x-api-key: UQGfdqipox5lje54b4T5w7hvSJDm6qZNaoClhox1'

Thredbo from the USA model

curl --location \
--request GET 'https://services.janesweather.com/customers/api/v1/forecast/gfs.0p25?lat=-36.5043775&lng=148.304401&pid=ChIJYRaafL5LI2sRUlpfMHVpFm4' \
--header 'x-api-key: UQGfdqipox5lje54b4T5w7hvSJDm6qZNaoClhox1'

Tip: Go to https://janesweather.com/forecast/graph and select the location you want. The url will contain the lat= lng= and pid=.

Within the output there are several sections:

  1. Metadata
  2. Location
  3. Dataset Summary
  4. Summary
  5. Values

Metadata

referenceDate = the model run date and time it began processing (ie 00, 06, 12, 18 UTC) "referenceDate": "2022-08-21T06:00:00+00:00" is the 06Z run on 21st August

updatedAt = when the model finished processing and became available (in UTC)

nextUpdate = when the next run of the model is due to finish processing (in UTC)

The following example shows that the Consensus model is currently made up of the 06Z run of the ECMWF, the 06Z run of GFS, the 06Z of ACCESS, and 00Z of GEM:

{
    "model": "consensus",
    "referenceDate": "2024-03-05T06:00:00+00:00",
    "updatedAt": "2024-03-05T13:25:35+00:00",
    "nextUpdate": "2024-03-05T17:00:00+00:00",
    "modelsMetadata": [
        {
        "model": "access-g.13km",
        "referenceTime": "2024-03-05T06:00:00+00:00",
        "updatedAt": "2024-03-05T13:25:35+00:00",
        "nextUpdate": "2024-03-05T19:30:00+00:00",
        "datasetLength": 84,
        "consensusMembers": null,
        "mlMembers": null
        },
        {
        "model": "consensus",
        "referenceTime": "2024-03-05T06:00:00+00:00",
        "updatedAt": "2024-03-05T13:25:35+00:00",
        "nextUpdate": "2024-03-05T17:00:00+00:00",
        "datasetLength": 0,
        "consensusMembers": [
            {
            "model": "access-g.13km",
            "referenceTime": "2024-03-05T06:00:00+00:00",
            "updatedAt": "2024-03-05T13:25:35+00:00",
            "nextUpdate": "2024-03-05T19:30:00+00:00",
            "datasetLength": 84
            },
            {
            "model": "ecmwf.0p4",
            "referenceTime": "2024-03-05T06:00:00+00:00",
            "updatedAt": "2024-03-05T13:23:19+00:00",
            "nextUpdate": "2024-03-05T20:00:00+00:00",
            "datasetLength": 31
            },
            {
            "model": "gfs.0p25",
            "referenceTime": "2024-03-05T06:00:00+00:00",
            "updatedAt": "2024-03-05T10:55:34+00:00",
            "nextUpdate": "2024-03-05T17:00:00+00:00",
            "datasetLength": 160
            },
            {
            "model": "gem.0p1",
            "referenceTime": "2024-03-05T00:00:00+00:00",
            "updatedAt": "2024-03-05T05:48:09+00:00",
            "nextUpdate": "2024-03-05T18:00:00+00:00",
            "datasetLength": 80
            }
        ],
        "mlMembers": null
        },
        {
        "model": "ml",
        "referenceTime": "2024-03-05T06:00:00+00:00",
        "updatedAt": "2024-03-05T13:25:35+00:00",
        "nextUpdate": "2024-03-05T17:00:00+00:00",
        "datasetLength": 0,
        "consensusMembers": null,
        "mlMembers": [
            {
            "model": "access-g.13km",
            "referenceTime": "2024-03-05T06:00:00+00:00",
            "updatedAt": "2024-03-05T13:25:35+00:00",
            "nextUpdate": "2024-03-05T19:30:00+00:00",
            "datasetLength": 84
            },
            {
            "model": "ecmwf.0p4",
            "referenceTime": "2024-03-05T06:00:00+00:00",
            "updatedAt": "2024-03-05T13:23:19+00:00",
            "nextUpdate": "2024-03-05T20:00:00+00:00",
            "datasetLength": 31
            },
            {
            "model": "gfs.0p25",
            "referenceTime": "2024-03-05T06:00:00+00:00",
            "updatedAt": "2024-03-05T10:55:34+00:00",
            "nextUpdate": "2024-03-05T17:00:00+00:00",
            "datasetLength": 160
            },
            {
            "model": "gem.0p1",
            "referenceTime": "2024-03-05T00:00:00+00:00",
            "updatedAt": "2024-03-05T05:48:09+00:00",
            "nextUpdate": "2024-03-05T18:00:00+00:00",
            "datasetLength": 80
            }
        ]
        },
        {
        "model": "ecmwf.0p4",
        "referenceTime": "2024-03-05T06:00:00+00:00",
        "updatedAt": "2024-03-05T13:23:19+00:00",
        "nextUpdate": "2024-03-05T20:00:00+00:00",
        "datasetLength": 31,
        "consensusMembers": null,
        "mlMembers": null
        },
        {
        "model": "gfs.0p25",
        "referenceTime": "2024-03-05T06:00:00+00:00",
        "updatedAt": "2024-03-05T10:55:34+00:00",
        "nextUpdate": "2024-03-05T17:00:00+00:00",
        "datasetLength": 160,
        "consensusMembers": null,
        "mlMembers": null
        },
        {
        "model": "gem.0p1",
        "referenceTime": "2024-03-05T00:00:00+00:00",
        "updatedAt": "2024-03-05T05:48:09+00:00",
        "nextUpdate": "2024-03-05T18:00:00+00:00",
        "datasetLength": 80,
        "consensusMembers": null,
        "mlMembers": null

    }
]

Each model run is due around the following times daily:

  • USA/GFS = 1645 UTC (2:45am AEST)
  • CANADA/GEM = 1740 UTC (3:45am AEST)
  • AUSTRALIA/ACCESS = 1940 UTC (5:40am AEST)
  • EURO/ECMWF = 2000 UTC (6:00am AEST)
  • USA/GFS = 2245 UTC (8:45am AEST)
  • AUSTRALIA/ACCESS = 0130 UTC (11:30am AEST) (only the first 90 hours, the remaining hours are from the prior run)
  • EURO/ECMWF = 0130 UTC (11:30am AEST) (only the first 90 hours, the remaining hours are from the prior run)
  • USA/GFS = 0445 UTC (2:45pm AEST)
  • CANADA/GEM = 0540 UTC (3:45pm AEST)
  • AUSTRALIA/ACCESS = 0740 UTC (5:40pm AEST)
  • EURO/ECMWF = 0800 UTC (6:00pm AEST)
  • USA/GFS = 1045 UTC (8:45pm AEST)
  • AUSTRALIA/ACCESS = 1330 UTC (11:30pm AEST) (only the first 90 hours, the remaining hours are from the prior run)
  • EURO/ECMWF = 1330 UTC (11:30pm AEST) (only the first 90 hours, the remaining hours are from the prior run)

Location

The latitude, longitude and local timezone.

"location": {
    "lat": -37.840935,
    "lon": 144.946457,
    "timezone": {
    "location": "Australia/Melbourne"
    }
}

Dataset Summary

This shows the bounds needed on the axis if displaying the information in a graph.

temperature shows the highest and lowest temperature in the next 9 days.

rainfall shows the total amount of rain, as well as the lowest and highest hourly value, in the next 9 days.

snow shows the same, but for all precipitation that should fall as snow (at a temperature less than 0.2C)

evapotranspiration shows the total eTo, as well as the highest and lowest daily value, in the nexx 9 days.

"datasetSummary": {
        "temperature": {
        "min": 13.3,
        "max": 35.2
        },
        "rainfall": {
        "min": 0,
        "max": 0.3,
        "total": 2.7
        },
        "snow": {
        "min": 0,
        "max": 0,
        "total": 0
        },
        "evapotranspiration": {
        "min": 2.8,
        "max": 7.1,
        "total": 39.7
    }
}

Summary

The daily totals/extremes for each day from midnight to midnight. Including: rain and snow total, plus the highest and lowest in each hour of the period.

overnightLowTemp is the coldest temperature between 6pm the previous day and 9am on the current day.

dailyHighTemp is the highest temperature during the day between 6am and 9pm.

dailyEvapotranspirationTotal is the total eTo expected for the 24 hour period.

dailyGrowingDegreeBase0Total is the forecast heat accumulation for the 24 hour period for base 0C (used to estimate the growth of crops with a minimum development threshold of 0C)

dailyGrowingDegreeBase5Total is the forecast heat accumulation for the 24 hour period for base 5C (used to estimate the growth of crops with a minimum development threshold of 5C)

dailyGrowingDegreeBase10Total is the forecast heat accumulation for the 24 hour period for base 10C (used to estimate the growth of crops with a minimum development threshold of 10C)

valid is the local date that the data is for (automatically adjusted to daylight savings if needed [ie +11 for Melbourne/Sydney]).

"summary": [
    {
        "dailyRainTotal": 0,
        "dailyRainMax": 0,
        "dailyRainMin": 0,
        "dailySnowTotal": 0,
        "dailySnowMax": 0,
        "dailySnowMin": 0,
        "dailyHighTemp": 25.3,
        "overnightLowTemp": 17.1,
        "dailyEvapotranspirationTotal": 4.4,
        "dailyGrowingDegreeBase0Total": 18.7,
        "dailyGrowingDegreeBase5Total": 14.1,
        "dailyGrowingDegreeBase10Total": 9.5,
        "valid": "2024-03-06T00:00:00+11:00/P1D"
    },
]

Values

The hour by hour forecast for the selected model.

​​"values": [
    {
        "apparentTemperature": 17.00041675504805,
        "cloudCoverLower": 0,
        "cloudCoverMiddle": 39.73385825054751,
        "cloudCoverTotal": 42.35856851366533,
        "cloudCoverUpper": 41.54385404639589,
        "dewPoint": 8.960874229054824,
        "frostRisk": "NO_FROST",
        "relativeHumidity": 53.79971162952778,
        "valid": "2024-03-05T15:00:00+00:00",
        "localTime": "2024-03-06T02:00:00+11:00",
        "deltaT": 5.577498465294873,
        "rainfall": 0,
        "snow": 0,
        "tmp2m": 18.25478397102559,
        "windDirCardinal": "NW",
        "windDirDegree": 320.07974509027054,
        "windSpeed": 4.9827784377858215,
        "windGust": 8.739240704507573,
        "windGustDirCardinal": "NW",
        "windGustDirDegree": 320.07974509027054,
        "weatherIcon": "NIGHT_MOSTLY_CLEAR",
        "timeOfDay": "NIGHT",
        "sprayingConditionRating": "GOOD",
        "airTemperatureSprayingRating": "GOOD",
        "deltaTSprayingRating": "GOOD",
        "cloudCoverTotalSprayingRating": "GOOD",
        "windSpeedSprayingRating": "GOOD",
        "growingDegreeDaysBase0": 0.7606159987927328,
        "growingDegreeDaysBase5": 0.5522826654593995,
        "growingDegreeDaysBase10": 0.34394933212606615,
        "thickness": 5701.076310252454,
        "uvIndexClearSky": 0,
        "cloudCoverTotalConfidence": "LOW",
        "dewPoinConfidence": "MEDIUM",
        "relativeHumidityConfidence": "LOW",
        "rainfallConfidence": "HIGH",
        "tmp2mConfidence": "LOW",
        "windSpeedConfidence": "HIGH",
        "windGustConfidence": "LOW"
    },
]
  • localTime with 10 days of hourly data, each hour in local time

  • valid UTC time

  • tmp2m temperature in C

  • apparentTemperature apparent temperature in C aka “feels like” (takes into account the wind and moisture in the air)

  • cloudCover Lower Middle Upper (different heights of the atmosphere) and Total, as a % of 100. Low refers to cloud with a base below 6500 feet, High has a base above 20,000 feet, Mid is in between

  • dewPoint how much moisture is in the air in C. See notes on weather variables below.

  • relativeHumidity the humidity relative to the air temperature, as a % of 100

  • frostRisk = NO_FROST, CHANCE_FROST, FROST_LIKELY, SEVERE_FROST. See notes on weather variables below.

  • deltaT used for spraying crops, in C. See notes on weather variables below.

  • rainfall precipitation above 0.2C, in mm

  • snow precipitation below 0.2C, in cm

  • tmp2m 2m temperature

  • wind Direction (Cardinal: N NE E etc and Degree: 181.125448654848), Speed (average speed over the hour), Gust (strongest gust over the hour). The wind direction is the direction the wind is blowing from, ie 180 blows from the south, a “southerly”.

  • weatherIcon see the following for all details on icons: https://bit.ly/jw-icon-details.

  • timeOfDay to help select which icon set to use

  • windSpeedSprayingRating: is the Wind Speed suitable to Spray at this forecast time

  • growingDegreeDaysBase0: forecast heat accumulation for the hour for base 0C (used to estimate the growth of crops with a minimum development threshold of 0C)

  • growingDegreeDaysBase5: forecast heat accumulation for the hour for base 5C (used to estimate the growth of crops with a minimum development threshold of 5C)

  • growingDegreeDaysBase10: forecast heat accumulation for the hour for base 10C (used to estimate the growth of crops with a minimum development threshold of 10C)

  • thickness: measures the height of the column of air between the ground and 5km (technically known as thickness 1000hPa and 500hPa, colloquially known as the 540 line on weather maps coloured in blue). This height is tall when the air is warm (as warm air expands) and short when the air is cold. It helps us determine when the airmass is cold enough to produce snow, and when the airmass is warm enough to produce extreme heat. Use the following key to decipher the output:

    5200 Snow to sea level 5240 Snow to 300m 5280 Snow to 600m 5320 Snow to 900m 5360 Snow to 1200m 5400 Snow to 1500m 5440 Snow to 1800m 5720 Hot weather 5780 Extreme heat

  • Confidence collection (Consensus model only) for Total Cloud, Dew Point, Relative Humidity, Precipitation (rain and snow), Temperature, Wind Speed and Gust we provide a confidence rating of LOW, MEDIUM, HIGH.

    This indicates how close or far apart each model is at that time for that variable.

    Three models are currently used in our Consensus forecast. High indicates good agreement between the models and a high confidence in the data. Low means the spread between them is large and this period has low confidence.

    Generally they will increase from Low to Medium to High as the time period gets closer, but it depends on the type of weather system, and the location of the forecast. Convective rainfall will rarely have a high consensus.

  • Spraying rather than just deltaT, we have a complete spraying rating “sprayingConditionRating” - UNSUITABLE, MARGINAL, GOOD - that takes into account the air temperature, wind speed and cloud cover as well as delta T. Each variable that goes into the calculation is shown too, if you wanted to calculate your own.

NOTES ON WEATHER VARIABLES

Dew Point

Less than 5 = Dry

5 – 13.9 = Comfortable

14 – 19.9 = Humid

20 or more = Tropical

Temperature doesn’t tell the full story about how the air can affect a person, and relative humidity is exactly that, relative to the temperature.

You can have 100% humidity at 9am on a winters morning at 2C, and 100% humidity at 10am on a humid summers morning at 28C, and they will have a very different impact yet the same humidity rating.

Dew Point gives an indication of how much moisture is in the air, and therefore gives a much better representation of how the temperature will actually feel.

A temperature of 25C with a dew point of 5C is pleasant. A temperature of 25C with a dew point of 20C is sweaty.

Delta T / Spraying

Less than 1.9 = Marginal for Spraying

2 – 7.9 = Good for Spraying

8 – 9.9 = Marginal for Spraying

10 or more = Unsuitable for Spraying

Delta-T is the wet bulb depression providing an indication of water evaporation rate. This can indicate whether conditions are suitable for spraying crops, and is included in our Spraying Alert (incorporating temperature, cloud cover and wind speed too).

Wind Speed and Gust

0 - 19.9 km/h = Light

20 - 29.9 km/h = Moderate

30 - 39.9 km/h = Breezy

40 - 62.9 km/h = Strong

63 or more km/h = Gale

Average wind strength across the forecast hour. Wind gusts may be 40% higher than the average over the hour time step. The wind direction is the direction the wind is blowing from, ie S or 180 degrees is a southerly wind.

Frost Risk

No Frost

Chance of Frost

Frost Likely

Severe Frost

Risk of frost due to not only temperature, but wind and cloud cover too.

A calm clear night with a temperature of 4C can produce frost (because temperature is forecast at 2 metres above ground level, and on a calm night the air forms layers that reduce in temperature the closer to the ground).

A windy or cloudy night with a temperature of 1C is less likely to produce frost as the air mixes and won't form layers. In this case the temperature is uniform between the ground and 2 metre forecast height.

Authorizations:
api_key
path Parameters
model
required
string
Enum: "gfs.0p25" "gem.0p1" "access-g.13km" "ecmwf.0p4" "ml" "consensus"

Forecast model

query Parameters
lat
required
number <float> [ -90 .. 90 ]
Example: lat=-37.840935

Latitude

lng
required
number <float> [ -180 .. 180 ]
Example: lng=144.946457

Longitude

pid
string

Google API Place ID. Use with select mountain locations to adjust temperature by elevation.

elevation
string

The desired elevation in meters. Use with select mountain locations to adjust temperature by elevation.

ct
string <date-time>

Artificially set the Current Time (UTC)

rt
string <date-time>

Reference Time (UTC). Use with ct parameter to view previous model runs.

max_ut
string <date-time>

Set the forecast Max Updated Time (UTC). Use with ct parameter to view older Consensus runs.

Responses

Response samples

Content type
application/json
{
  • "model": "gfs.0p25",
  • "referenceDate": "2023-09-13T12:00:00+00:00",
  • "updatedAt": "2023-09-13T17:48:45+00:00",
  • "nextUpdate": "2023-09-13T23:00:00+00:00",
  • "modelsMetadata": [
    ],
  • "location": {
    },
  • "datasetSummary": {
    },
  • "summary": [
    ],
  • "values": [
    ]
}

Observation Data

Observation data

Get forecast data for selected model

Overview

The observation summary. Currently only supports station id '94894' in VIC.

Authorizations:
api_key
path Parameters
state_territory
required
string
Value: "vic"

Australian state or territory

station
required
string

Station ID

Responses

Response samples

Content type
application/json
{
  • "metadata": {
    },
  • "station_info": {
    },
  • "observations": {
    }
}

Alerts

Alert Configuration

Post forecast alerts

Overview

We can provide specific guidance on a range of variables through our Alerts Service.

This API returns whether or not conditions are met on each hour for the duration of the forecast.

This API includes the following calculated variables, with more in development. See the example code in this section for a demonstration on how each Alert can perform.

  • Frost risk (also listed in main API), hourly values

  • Good spraying conditions (also listed in main API), hourly values

  • Growing degree days, daily values

  • Weather conducive to Downy Mildew (Millioncast), hourly values

  • Evapotranspiration (to determine irrigation needs), daily values

  • Heat stress and Wind Chill (Feels Like Temperature), hourly values

  • Comfort index (Dew Point Temperature), hourly values

Ideas to try:

TEMPERATURE (tmp2m, apparentTemperature, dewPoint, thickness)

Cold Temperatures: Every hour that the Temperature could fall below the threshold

Hot Temperatures: Every hour that the Temperature could rise above the threshold

Wind Chill: Every hour that the Feels Like Temperature could fall below the threshold

Heat Stress: Every hour that the Feels Like Temperature could rise above the threshold

Comfort Index: Every hour that the air feels Humid or Tropical (when the Dew Point Temperature rises to 14C or above for Humid, and 20C or above for Tropical)

Thickness: Every hour that the temperature of the airmass rises above or below a threshold. Extreme heat is a risk above a thickness of 572, and likely above 576. Snow is likely to fall down to 1500m below 540, to 1200m below 536, 900m below 532, 600m below 528, 300m below 524 and to sea level at 520. Wintry hail is possible in showers when thickness is below 540.

PRECIPITATION (dailyRainTotal, dailySnowTotal, rainfall, snow)

Daily Rain: Every day (midnight to midnight) that the total rain could be more than the threshold

Daily Snow: Every day (midnight to midnight) that the total snow could be more than the threshold

Hourly Rain: Every hour that the rain could be more than the threshold (try 0.1mm to see every hour that rain is possible)

Hourly Snow: Every hour that the snow could be more than the threshold (try 0.1cm to see every hour that snow is possible)

WEATHER

Weather Conditions: Every hour that the Weather Icon matches certain criteria (ie Sunny, Cloudy, Rain, Storm - see the full list of icon options: https://bit.ly/jw-icon-details)

Good Spraying Conditions: Every hour that conditions are likely to be rated Good for Spraying (our rating that considers delta t, wind speed, cloud cover, temperature and rainfall)

Frost Risk: Every hour that brings the Risk of Frost (our risk index that considers temperature, wind speed and cloud cover)

Strong Winds: Every hour that the Wind could Gust more than the threshold (try 40km/h for strong winds, 63km/h for gales, 90km/h for damaging winds, 125km/h for destructive gusts).

Downy Mildew Risk: Every time period that could lie within the 10/10/24 rule (more than 10C, delivering more than 10mm, within a 24 hour period)

Growing Degree Days: daily and accumulated (accumulation from the beginning of the model run).

Evapotranspiration: the daily eTo value

COMING SOON Brassica White Blister Risk, Powdery Mildew Risk, Dark Leaf Spot Risk, Botrytis Risk, Ringspot Risk, Anthracnose Risk, Dollar Spot Risk, Fusarium Risk, Helminthosporium Complex Risk, Pythium Risk, Brown Patch Risk, Spring Dead Spot Risk, Summer grass Risk, Crowfoot grass Risk, Winter grass Risk, UV Level, Ground Temperature, Soil Temperature, Solar Radiation.

Schema

Full Set of Variable names:

'air_temperature', 'apparent_air_temperature', 'atmosphere_convective_available_potential_energy_wrt_surface', 'convective_rainfall_amount', 'cloud_area_fraction', 'delta_t', 'dew_point_temperature', 'downy_mildew', 'eastward_wind', 'frost_risk', 'growing_degree_days_base_0', 'growing_degree_days_base_5', 'growing_degree_days_base_10', 'high_type_cloud_area_fraction', 'low_type_cloud_area_fraction', 'medium_type_cloud_area_fraction', 'northward_wind', 'precipitation_amount', 'relative_humidity', 'spraying_condition_rating', 'snow', 'thunderstorm_probability', 'weather_icon', 'wind_speed', 'wind_speed_of_gust', 'wind_from_direction', 'wind_angle_arithmetic', 'wind_angle_azimuth'",

rule, max_value, min_value, equal_value

greater = Returns true if the forecast value is greater than min_value

greater equal = Returns true if the forecast value is greater than or equal to min_value

less = Returns true if the forecast value is less than min_value

less equal = Returns true if the forecast value is less than or equal to min_value

between = Returns true if the forecast value is greater than min_value and less than to max_value

equals = Equals the values in a list

For weather_icon, wind_from_direction and frost_risk the values must be equal to the pre-set value for these variables or an error will occur.

All other variables can have a value that is any real number.

Values that meet the conditions provided will return ‘valueInBounds’ = True value, otherwise False.

hourlyTimeStep, hourlyRule, hourlyMethod

These three options MUST be applied together. Hours don’t have to be consecutive, but must go from smallest to largest.

hourlyTimeStep = Change the time step of the data. Values can be between 1 and 9.

Entries must have a H added (e.g. 2H for a two hour time step, 3H for a 3H timestep)

hourlyRule = Change the time step from hourly to n-hourly.

Options:

max: the maximum across the time steps.

min: the minimum across the time steps.

mean: the mean across the time steps.

sum: the total value across the time steps.

non-zero min: the minimum value that is non-zero across the time steps.

hourlyMethod

Options:

rolling: at each time step applies the hourlyRule across hourlyTimeStep

resample: at each hourlyTimeStep applies the hourlyRule

Example: Convert the data to three hour time steps by taking the max of consecutive time steps in a three hour window.

hourlyTimeStep = 3H, hourlyRule = ‘max’, hourlyMethod='rolling'

dailyTimeStep, dailyRule, dailyMethod

These three options MUST be applied together.

The same as hourly time alterations, but the grouping is by days instead of by hours.

dailyTimeStep = Same as hourlyTimeStep, but changes the time step to days.

Examples: 2D, 3D, 4D

dailyRule = See hourlyRule, but for daily groups

dailyMethod = See hourlyMethod, but for daily groups

Authorizations:
api_key
path Parameters
model
required
string
Enum: "gfs.0p25" "gem.0p1" "access-g.13km" "ecmwf.0p4" "ml" "consensus"

Forecast model

query Parameters
lat
required
number <float> [ -90 .. 90 ]
Example: lat=-37.840935

Latitude

lng
required
number <float> [ -180 .. 180 ]
Example: lng=144.946457

Longitude

max_ut
string <date-time>

Set the forecast Max Updated Time (UTC). Use with ct parameter to view older Consensus runs.

rt
string <date-time>

Reference Time (UTC). Use with ct parameter to view previous model runs.

pid
string

Google API Place ID. Use with select mountain locations to adjust temperature by elevation.

Request Body schema: application/json
Array of objects (Forecast Alert Config Item)
Array
id
required
string <uuid>

Unique ID Intended for a future multiple alerts feature which is not currently implemented Currently required but not implemented

variable
required
string
Enum: "air_temperature" "apparent_air_temperature" "dew_point_temperature" "wind_speed" "wind_speed_of_gust" "wind_to_direction" "wind_angle_arithmetic" "precipitation_amount" "convective_rainfall_amount" "relative_humidity" "snow" "cloud_area_fraction" "high_type_cloud_area_fraction" "medium_type_cloud_area_fraction" "low_type_cloud_area_fraction" "delta_t" "thunderstorm_probability" "frost_risk" "spraying_condition_rating" "weather_icon" "atmosphere_convective_available_potential_energy_wrt_surface" "downy_mildew" "growing_degree_days_base_0" "growing_degree_days_base_5" "growing_degree_days_base_10"
rule
string
Enum: "less" "less_equal" "equals" "greater_equal" "greater"
minValue
number or null <float>
maxValue
number or null <float>
equalValue
Array of strings or null
Enum: "CLOUDY" "CLOUDY_WIND" "DUST" "HAZE" "LIGHT_RAIN" "LIGHT_RAIN_WIND" "LIGHT_SNOW" "LIGHT_SNOW_WIND" "PARTLY_CLOUDY" "PARTLY_CLOUDY_WIND" "POSSIBLE_STORM" "RAIN" "RAIN_WIND" "SHOWER" "SHOWER_WIND" "SHOWERS" "SHOWERS_WIND" "SLEET" "SLEET_WIND" "SLEET_SHOWER" "SLEET_SHOWER_WIND" "SNOW" "SNOW_WIND" "SNOW_SHOWER" "SNOW_SHOWER_WIND" "SUNNY" "SUNNY_WIND" "SUNNY_FROST" "WINTRY_HAIL" "WINTRY_HAIL_WIND" "NIGHT_CLEAR" "NIGHT_HEAVY_SHOWERS" "NIGHT_PARTLY_CLOUDY" "NIGHT_SHOWER" "NIGHT_SHOWERS" "NIGHT_FROST" "NO_FROST" "CHANCE_OF_FROST" "FROST_LIKELY" "SEVERE_FROST" "UNSUITABLE" "MARGINAL" "GOOD" "N" "NNE" "NE" "ENE" "E" "ESE" "SE" "SSE" "S" "SSW" "SW" "WSW" "W" "WNW" "NW" "NNW" true false
hours
Array of integers or null

The hours that the user wants their alerts for

hourlyTimeStep
string
Enum: "1H" "2H" "3H" "4H" "5H" "6H" "7H" "8H" "9H"

Changing the time step of the data. Must be used with hourly_rule and hourly_method

hourlyRule
string or null
Enum: "max" "min" "mean" "sum" "non-zero min"

When changing the time step from hourly to n-hourly, there are several ways to do this
min: the minimum across the time steps.
max: the maximum across the time steps.
mean: the mean across the time steps.
sum: the total value across the time steps.
non-zero min: the minimum value that is non-zero across the time

hourlyMethod
string or null
Enum: "rolling" "resample"

rolling: at each time step applies the _hourly_rule** across hourly_time_step
resample: at each hourly_time_step applies the hourly_rule

dailyRule
string or null
Enum: "max" "min" "mean" "sum" "non-zero min"

When changing the time step from daily to n-hourly, there are several ways to do this
min: the minimum across the time steps.
max: the maximum across the time steps.
mean: the mean across the time steps.
sum: the total value across the time steps.
non-zero min: the minimum value that is non-zero across the time

dailyTimeStep
string or null
Enum: "1D" "2D" "3D" "4D" "5D" "6D" "7D" "8D" "9D"

Changing the daily time step of the data. Must be used with daily_rule and daily_method

dailyMethod
string or null
Enum: "rolling" "resample"

rolling: at each time step applies the daily_rule across daily_time_step
resample: at each daily_time_step applies the hourly_rule

Responses

Request samples

Content type
application/json
Example
{
  • "config": [
    ]
}

Response samples

Content type
application/json
{
  • "metadata": {
    },
  • "alertParams": {
    },
  • "forecast": [
    ]
}

Summary Data

Summary data

Get snow summary

Get snowfall summary

Authorizations:
api_key

Responses

Response samples

Content type
application/json
[
  • {
    },
  • {
    },
  • {
    },
  • {
    },
  • {
    },
  • {
    },
  • {
    },
  • {
    },
  • {
    },
  • {
    },
  • {
    },
  • {
    },
  • {
    },
  • {
    }
]