Download OpenAPI specification:Download
With ABB Weather Factor, traders can more accurately determine the voyage costs upfront by using advanced analytics.
ABB Weather Factor uses digital twin models with 20 years of verified weather and ocean data to create numerous voyage simulations, which results in a complete statistical assessment of voyage costs and emissions.
The authorization of the WeatherFactor API follows a standard "2-legged OAuth" approach.
The client_id
and client_secret
provided by ABB can be used to fetch an access_token
by making an authentication POST request.
The access_token
is only valid for a limited time (24 hours), after expiration a new access_token must be requested.
The access_token
can be used as a Bearer authorization header to access the Weather Factor API.
With authorization, clients are able to make POST request towards the Weather Factor API. Within the body of the WeatherFactor request, clients can specify:
If a successful request is made, numerous voyage simulations are performed based on 20 years of verified weather and ocean data. The outcomes returned will be a complete statistical assessment of voyage cost and emission probabilities.
Get token for use in HTTP requests.
client_id required | string Client ID as provided by ABB |
client_secret required | string Client secret as provided by ABB |
grant_type required | string Default: "client_credentials" The type of token request |
scope required | string Default: "https://genb2crs03euwprod.onmicrosoft.com/rs.iam/region" The scope the credentials should belong to. |
access_token required | string The token that should be used in all requests to the Weather Factor API |
expires_in required | integer The amount of time the token is valid [ s ] |
scope required | string A space-delimited list of the scopes of the token |
token_type required | string Default: "Bearer" The type of token |
{- "access_token": "string",
- "scope": "string",
- "expires_in": 0,
- "token_type": "Bearer"
}
status required | string |
env | string |
info | string |
timestamp | string <date-time> |
version | string |
{- "status": "up",
- "version": "1.212.0",
- "info": "Service is healthy.",
- "timestamp": "2018-02-10T09:30:00Z",
- "env": "unknown"
}
See the relevant areas of the Vessel Routing API for supportive information that can be used as input to the Weather Factor API, such as ports, predefined conditional areas, routing restrictions, and custom vessel models.
Request for voyage probabilities by supplying information about a route, restrictions and a vessel. This endpoint returns the probabilities for the weather factor, voyage duration, fuel consumption and the route's distance summary.
etd required | string <RFC 3339 (UTC)> The estimated time of departure. The year will be ignored. |
required | Array of objects (TemplateRoutePoint) >= 2 items The ordered fixed way points that must be included in the route (including departure and destination locations). |
speed required | number <knots (kn)> ( 0 .. 50 ] The speed to use when calculating the route. |
required | object (vesselParameters) Describes the vessel and its state. |
object (Restrictions) The restrictions that should apply for this calculation. | |
object Information about the voyage this route is for. |
apiVersion required | string Version of the API this response was generated from |
required | object Summary stats about CO2 emissions. |
correlationId required | string Internal identifier of the request |
required | object Summary stats about fuel usage. |
required | object The details of the path that was used to calculate the weather factor. |
status required | string The resulting status of the internal calculation Value: "Success" |
required | object (RouteUsedVariables) The variables that were used during calculation. |
required | object (Summary Stats) Summary stats about the voyage duration. |
warnings required | Array of strings Human-readable explanations specific to this occurrence. |
required | object (Summary Stats) Summary stats about the weather factor. |
{- "speed": 10,
- "etd": "2020-09-20T19:20:30.45Z",
- "points": [
- {
- "type": "Feature",
- "properties": {
- "name": "Houston, TX",
- "port": "USHOU-2380"
}, - "geometry": {
- "type": "Point",
- "coordinates": [
- -95.2641144,
- 29.7262421
]
}
}, - {
- "type": "Feature",
- "properties": {
- "name": "Rotterdam (NLRTM)",
- "port": "NLRTM-2745",
- "forceRhumbLine": false
}, - "geometry": {
- "type": "Point",
- "coordinates": [
- 4.085,
- 51.96
]
}
}
], - "vesselParameters": {
- "imo": "8814275",
- "vesselType": "DryBulkCarrier",
- "cargo": {
- "loadCondition": "Loaded",
- "loadState": "Packaged",
- "dangerousCargo": [
- "DangerousGoods"
]
}, - "measurements": {
- "lengthOverall": 100,
- "beam": 20,
- "draft": {
- "aft": 10,
- "fore": 10
}, - "airDraft": 10,
- "grossTonnage": 100000,
- "deadweight": 250000
}, - "safetyMargins": {
- "port": 0,
- "starboard": 0,
- "underKeel": 0,
- "air": 0,
- "aft": 0,
- "forward": 0
}, - "fuelCurve": {
- "otherFuelConsumption": 1,
- "values": [
- {
- "speed": 8,
- "fuelUsage": 2.6
}, - {
- "speed": 12,
- "fuelUsage": 9.2
}
]
}, - "rpmCurve": {
- "values": [
- {
- "speed": 0,
- "rpm": 0
}, - {
- "speed": 10,
- "rpm": 1000
}
]
}, - "powerCurve": {
- "values": [
- {
- "speed": 0,
- "maxContinuousRating": 0
}, - {
- "speed": 10,
- "maxContinuousRating": 0.9
}
]
}
}, - "restrictions": {
- "northVertex": 80,
- "southVertex": 80,
- "conditionalAreas": {
- "defaultAreas": [
- "SpeedLimit",
- "EmissionControl"
], - "areaOverrides": [
- {
- "enabled": true,
- "areaId": "nogo-4"
}
], - "customAreas": [
- {
- "type": "Feature",
- "properties": {
- "name": "string",
- "condition": {
- "type": "NoGo"
}
}, - "geometry": {
- "type": "Polygon",
- "coordinates": [
- [
- [
- 112.19238281249999,
- 21.207458730482642
], - [
- 111.302490234375,
- 20.2725032501349
], - [
- 112.08251953125,
- 18.323240460443397
], - [
- 114.3896484375,
- 19.321511226817176
], - [
- 114.840087890625,
- 21.34054846908118
], - [
- 112.19238281249999,
- 21.207458730482642
]
]
]
}
}
]
}
}, - "voyage": {
- "ports": [
- {
- "type": "Feature",
- "properties": null,
- "geometry": {
- "type": "Point",
- "coordinates": [
- 8.577543,
- 53.535847
]
}
}, - {
- "portId": "NLRTM-2745"
}
]
}
}
{- "correlationId": "PsFtKHanDoEF2Gg=",
- "warnings": [
- "string"
], - "apiVersion": "1.212.0",
- "route": {
- "summaries": {
- "distance": {
- "total": 0,
- "ECA": 0,
- "nonECA": 0
}
}
}, - "status": "Success",
- "usedVariables": {
- "routeNetworkVersion": "string",
- "routeNetworkDate": "string",
- "vesselProfile": {
- "beam": 75,
- "lengthOverall": 450,
- "vesselType": "DryBulkCarrier",
- "vesselModelSource": "Defaults"
}, - "routingApiVersion": "string"
}, - "weatherFactor": {
- "mean": 0,
- "standardDeviation": 0,
- "percentiles": [
- {
- "percentile": 0,
- "value": 1.19
}, - {
- "percentile": 10,
- "value": 6.84
}, - {
- "percentile": 25,
- "value": 11.08
}, - {
- "percentile": 50,
- "value": 16.59
}, - {
- "percentile": 75,
- "value": 21.49
}, - {
- "percentile": 90,
- "value": 26.11
}, - {
- "percentile": 100,
- "value": 34.35
}
]
}, - "voyageDurationStats": {
- "mean": "P16D",
- "standardDeviation": "P3D",
- "percentiles": [
- {
- "percentile": 0,
- "value": "P12D"
}, - {
- "percentile": 10,
- "value": "P13DT5H"
}, - {
- "percentile": 25,
- "value": "P14DT5H25M"
}, - {
- "percentile": 50,
- "value": "P15D"
}, - {
- "percentile": 75,
- "value": "P16D"
}, - {
- "percentile": 90,
- "value": "P18D"
}, - {
- "percentile": 100,
- "value": "P19D"
}
]
}, - "co2EmissionStats": {
- "ECA": {
- "mean": 0,
- "standardDeviation": 0,
- "percentiles": [
- {
- "percentile": 0,
- "value": 1.19
}, - {
- "percentile": 10,
- "value": 6.84
}, - {
- "percentile": 25,
- "value": 11.08
}, - {
- "percentile": 50,
- "value": 16.59
}, - {
- "percentile": 75,
- "value": 21.49
}, - {
- "percentile": 90,
- "value": 26.11
}, - {
- "percentile": 100,
- "value": 34.35
}
]
}, - "nonECA": {
- "mean": 0,
- "standardDeviation": 0,
- "percentiles": [
- {
- "percentile": 0,
- "value": 1.19
}, - {
- "percentile": 10,
- "value": 6.84
}, - {
- "percentile": 25,
- "value": 11.08
}, - {
- "percentile": 50,
- "value": 16.59
}, - {
- "percentile": 75,
- "value": 21.49
}, - {
- "percentile": 90,
- "value": 26.11
}, - {
- "percentile": 100,
- "value": 34.35
}
]
}, - "total": {
- "mean": 0,
- "standardDeviation": 0,
- "percentiles": [
- {
- "percentile": 0,
- "value": 1.19
}, - {
- "percentile": 10,
- "value": 6.84
}, - {
- "percentile": 25,
- "value": 11.08
}, - {
- "percentile": 50,
- "value": 16.59
}, - {
- "percentile": 75,
- "value": 21.49
}, - {
- "percentile": 90,
- "value": 26.11
}, - {
- "percentile": 100,
- "value": 34.35
}
]
}
}, - "fuelUsedStats": {
- "ECA": {
- "mean": 0,
- "standardDeviation": 0,
- "percentiles": [
- {
- "percentile": 0,
- "value": 1.19
}, - {
- "percentile": 10,
- "value": 6.84
}, - {
- "percentile": 25,
- "value": 11.08
}, - {
- "percentile": 50,
- "value": 16.59
}, - {
- "percentile": 75,
- "value": 21.49
}, - {
- "percentile": 90,
- "value": 26.11
}, - {
- "percentile": 100,
- "value": 34.35
}
]
}, - "nonECA": {
- "mean": 0,
- "standardDeviation": 0,
- "percentiles": [
- {
- "percentile": 0,
- "value": 1.19
}, - {
- "percentile": 10,
- "value": 6.84
}, - {
- "percentile": 25,
- "value": 11.08
}, - {
- "percentile": 50,
- "value": 16.59
}, - {
- "percentile": 75,
- "value": 21.49
}, - {
- "percentile": 90,
- "value": 26.11
}, - {
- "percentile": 100,
- "value": 34.35
}
]
}, - "total": {
- "mean": 0,
- "standardDeviation": 0,
- "percentiles": [
- {
- "percentile": 0,
- "value": 1.19
}, - {
- "percentile": 10,
- "value": 6.84
}, - {
- "percentile": 25,
- "value": 11.08
}, - {
- "percentile": 50,
- "value": 16.59
}, - {
- "percentile": 75,
- "value": 21.49
}, - {
- "percentile": 90,
- "value": 26.11
}, - {
- "percentile": 100,
- "value": 34.35
}
]
}
}
}