Point-Forecast

Point-Forecast API
Powered by DTN

Overview

DTN Point Forecast API delivers high quality weather forecasts via https://point-forecast.weather.mg/forecast/hourly. The API can be requested for weather stations, or relevant locations / assets / cities.

Data sources used for the Point Forecast API

In providing the Point Forecast API service, DTN does the following:

Value proposition of the Point Forecast API

The value proposition of the Point Forecast API is as listed in the following table, which emphasizes where DTN adds value to core data.
ParameterValue added
AccuracyHigh-quality forecast covering many stations.
Reliability2-years of training ensures the forecast is adjusted to the local observation site.
SkillCombination of data from several models ensures a high level of skill.
UncertaintyMG MOS delivers the estimated error in temperature and wind speed forecast.
Spatial resolutionSmart algorithms enable downscaling of MOS to customer locations.
CoverageMG MOS is complete - even when stations do not report certain parameters the downscaling algorithms deliver a forecast for that parameter. All MOS stations have [BH1] hourly forecasts for all parameters.
Temporal resolutionThe hourly resolution, showing the daily cycle, is also present for the long-range forecast, up to 15 days.
UniquenessMG MOS contains several unique parameters, like effective cloudiness, weather type, probability of extreme precipitation amount or wind gust.
FrequencyEven when observations are not hourly, MG MOS fills the gaps and delivers a forecast for every hour.

Request URL Builder

Parameters

Parameter listingBasicStandardIndustry
Temperature parameters   
airTemperatureInCelsius3-h1-h1-h
dewPointTemperatureInCelsius3-h1-h1-h
relativeHumidityInPercent3-h1-h1-h
airTemperatureNearGroundInCelsiusn/a1-h1-h
maxAirTemperatureInCelsius12-h12-h12-h
minAirTemperatureInCelsius12-h12-h12-h
feelsLikeTemperatureInCelsiusn/a1-h1-h
Temperature error bias 1-h1-h
Humidex 1-h1-h
Wind parameters   
windSpeedInMeterPerSecond3-h1-h1-h
windDirectionInDegree3-h1-h1-h
maxWindGustInMeterPerSecondn/a1-h1-h
Average wind speed 24-h24-h
windSpeedErrorInKnots 1-h1-h
Precipitation and weather code parameters   
weathercodeTraditional3-h1-h1-h
pastWeatherCode6-h6-h6-h
Weathercode/Icon-Mapping 12-h   
freshSnowfallInCentimetern/a24-h24-h
snowDepthInCentimetern/a12-h12-h
precipitationAmountInMillimeter PTxH12-h1-h1-h
precipitationProbabilityInPercent PTxH12-h1-h1-h
snowCertainAboveHeightInMetern/a1-h1-h
Cloud, radiation and sunshine parameters   
sunshineDurationInMinutes PT24H24-h24-h24-h
sunshineDurationInMinutes PT1Hn/a1-h1-h
totalCloudCoverInOctan/a1-h1-h
effectiveCloudCoverInOcta PT0S3-h1-h1-h
globalRadiationInJoulePerSquareCentimetern/a1-h1-h
averageGlobalRadiationInWattPerSquareMetern/a1-h1-h
Daily sum global radiationn/a24-h24-h
evaporationPenmanInMillimetern/a24-h24-h
UV index, assuming no cloudsn/a1-h1-h
UV index considering cloudsn/a1-h1-h
Other parameters   
visibilityInMetern/a1-h1-h
airPressureAtSeaLevelInHectoPascaln/a1-h1-h

Forecast data is available via packages also including observation data. The different packages include the following forecast data:

Consumer basicConsumer standardConsumer premiumEnterprise basicEnterprise standardEnterprise premium
Daily forecast summary2 days5 days15 days2 days5 days15 days
Hourly forecasts 5 days15 days2 days5 days15 days
Basic parameters
Standard parameters 
Industry parameters     
LicensePublisherPublisherPublisherEnd userEnd userEnd user

Station Metadata

When requesting for forecast using locatedAt, adding "meteoGroupStationId" in the "fields" parameter will include a stationId information together with forecast data in the response

Sample Request:

                    https://point-forecast.weather.mg/forecast/hourly?fields=maxAirTemperatureInCelsius,meteoGroupStationId&locatedAt=6.669,53.58&validPeriod=PT24H&validFrom=2021-04-11T12:00:00Z&validUntil=2021-04-12T12:00:00Z
                

Sample Response:

                    {
   "forecasts":[
      {
         "locatedAt":[
            6.669,
            53.58
         ],
         "meteoGroupStationId":"3010113",
         "validFrom":"2021-04-10T14:00:00+02:00",
         "validUntil":"2021-04-11T14:00:00+02:00",
         "validPeriod":"PT24H",
         "maxAirTemperatureInCelsius":7.8
      },
      {
         "locatedAt":[
            6.669,
            53.58
         ],
         "meteoGroupStationId":"3010113",
         "validFrom":"2021-04-10T20:00:00+02:00",
         "validUntil":"2021-04-11T20:00:00+02:00",
         "validPeriod":"PT24H",
         "maxAirTemperatureInCelsius":7.3
      },
      {
         "locatedAt":[
            6.669,
            53.58
         ],
         "meteoGroupStationId":"3010113",
         "validFrom":"2021-04-11T02:00:00+02:00",
         "validUntil":"2021-04-12T02:00:00+02:00",
         "validPeriod":"PT24H",
         "maxAirTemperatureInCelsius":7.2
      },
      {
         "locatedAt":[
            6.669,
            53.58
         ],
         "meteoGroupStationId":"3010113",
         "validFrom":"2021-04-11T08:00:00+02:00",
         "validUntil":"2021-04-12T08:00:00+02:00",
         "validPeriod":"PT24H",
         "maxAirTemperatureInCelsius":7.3
      },
      {
         "locatedAt":[
            6.669,
            53.58
         ],
         "meteoGroupStationId":"3010113",
         "validFrom":"2021-04-11T14:00:00+02:00",
         "validUntil":"2021-04-12T14:00:00+02:00",
         "validPeriod":"PT24H",
         "maxAirTemperatureInCelsius":7.7
      }
   ]
}
                

Formatting

A sample request using the point-forecast API looks like this:

https://point-forecast.weather.mg/forecast/hourly?locatedAt=13.2,52.4&validPeriod=PT0S&fields=airTemperatureInCelsius

The above request will return forecasted air termperature for the city of Berlin, Germany, over the next 3 hours three hours from the time the request was received.

The returned data will be formatted in JSON, and will look like this:

{
      "forecasts": [
        {
          "locatedAt": [
            13.2,
            52.4
          ],
          "validUntil": "2017-03-22T15:00:00+01:00",
          "airTemperatureInCelsius": 11.1,
          "validFrom": "2017-03-22T15:00:00+01:00",
          "validPeriod": "PT0S"
        },
        {
          "locatedAt": [
            13.2,
            52.4
          ],
          "validUntil": "2017-03-22T16:00:00+01:00",
          "airTemperatureInCelsius": 10.8,
          "validFrom": "2017-03-22T16:00:00+01:00",
          "validPeriod": "PT0S"
        },
        {
          "locatedAt": [
            13.2,
            52.4
          ],
          "validUntil": "2017-03-22T17:00:00+01:00",
          "airTemperatureInCelsius": 10.3,
          "validFrom": "2017-03-22T17:00:00+01:00",
          "validPeriod": "PT0S"
        }
      ]
    }
    

Error Response

The table below describes the error response format.

Name Data Type Description
statusCode Integer The code representing the nature of the error. See Common Error Reference for more details.
errorMessage String Message correlating to the standard status code.
errors Object

An object containing the fields that violated the constraints. This object uses the field name as the key and an array of error messages for that violated field as the value. If only one constraint is violated, then the value will be an array with one String inside it.


Example:

            ...
"errors": {
 "locatedAt": [
      "Requested point or area is outside of area covered by the service. Please try another location"
 ]
}
...
        

path String Relative path of the URL requested.
timestamp String Response date time in ISO 8601 format.
traceId String Unique reference ID for the request. Useful for requesting support and tracing error requests.

Nitty-Gritty

For more detailed information on this API, check us out on Bitbucket.