Calculated Winds Aloft & Temperature
Required roles:
AIS PIB API,AIS PIB API Data via Cloud— Roles
Base endpoint:https://ais-pib-api.ibosoft.net.tr:2087/winds-aloft-and-temp
Reference documents: ICAO Doc 7488 Manual of the ICAO Standard Atmosphere, Ed. 3 (1993) · ICAO Doc 10157 PANS-MET, Ed. 1 (27/11/25)
Attribution: showibonav.aerowherever this data is displayed
Data sources: NOAA Aviation Weather Center (NCEP Global Forecast System).
Last updated: 17 OCT 2026About the reference documents: Related Documents and Resources
Depending on your use, the original data sources may also need to be credited.
Upper winds and temperatures from a global numerical weather prediction model: GeoJSON grids per pressure level, point queries at any altitude or flight level (interpolated), and vertical profiles with headwind/crosswind components for a given track.
These values are calculated from model output; they are not the official WAFS upper-air forecasts. Four model cycles per day (00, 06, 12, 18 UTC), each available about 3.5–4 hours after the cycle time, forecast hours 0 to 24 in 3-hour steps; the last 2 days are kept.
- Raw data: the GRIB2 files these values are calculated from can be downloaded: WAFS Data in Files / Raw Data via Cloud.
Endpoints
| Endpoint | Description |
|---|---|
GET /winds-aloft-and-temp/latest |
Latest cycle and the stored cycles, levels and forecast hours |
GET /winds-aloft-and-temp/geojson |
Grid of one pressure level (GeoJSON points) |
GET /winds-aloft-and-temp/query |
Values at a position for one or more levels/altitudes (interpolated) |
GET /winds-aloft-and-temp/profile |
Vertical profile at a position, with wind components for a track |
Parameters
Common
| Parameter | Description |
|---|---|
issue_time |
Model cycle YYYYMMDD_HH (from /latest) |
forecast_hour |
0, 3, 6 … 24 |
lat, lon |
Position in decimal degrees (lat −90…90, lon −180…360) |
Pressure levels
| hPa | Approx. FL | Approx. altitude |
|---|---|---|
| 1000 | — | 110 m |
| 925 | — | 800 m |
| 850 | FL050 | 1500 m |
| 700 | FL100 | 3000 m |
| 500 | FL180 | 5600 m |
| 400 | FL240 | 7200 m |
| 300 | FL300 | 9200 m |
| 250 | FL340 | 10600 m |
| 200 | FL390 | 12000 m |
These are the pressure levels of the model, not the WAFS flight levels. The WAFS flight levels and their exact ICAO Standard Atmosphere pressure levels (e.g. FL050 = 843.1 hPa, FL340 = 250.0 hPa) are given in PANS-MET Appendix 5, Table A5-3 (0.25° grid) and Table A5-4 (1.25° grid); official WAFS gridded forecasts (wind speed, turbulence, icing, cumulonimbus) are in Visualized Gridded Data.
/geojson
| Parameter | Required | Description |
|---|---|---|
issue_time, forecast_hour |
yes | See above |
level |
yes | Pressure level in hPa |
/query
Give exactly one kind of vertical position; each can be repeated for several levels in one request (&fl=390&fl=340):
| Parameter | Description |
|---|---|
level |
Pressure level(s) in hPa |
altitude_m / altitude_ft |
Geometric altitude(s) |
fl |
Flight level(s) (e.g. 300) |
std |
true: resolve fl with the conventional (rounded) WAFS FL→hPa table instead of the ISA (FL050 850, FL100 700, FL180 500, FL240 400, FL300 300, FL340 250, FL390 200, FL450 150, FL530 100). Only meaningful with fl. Default false. The exact ISA values are those of PANS-MET Table A5-3. |
parameter_type |
horizontal_wind, vertical_wind, temperature or all (default) |
/profile
| Parameter | Required | Description |
|---|---|---|
issue_time, forecast_hour, lat, lon |
yes | See above |
direction |
yes | Track in degrees true; headwind, tailwind and crosswind are given against it |
Response
/latest
{
"latest_issue_time": "20260324_06",
"available": [{"cycle": "20260324_06", "forecast_hours": [0, 3, 6, 9, 12, 15, 18, 21, 24], "levels": [1000, 925, 850, 700, 500, 400, 300, 250, 200]}],
"valid_levels": [1000, 925, 850, 700, 500, 400, 300, 250, 200],
"valid_forecast_hours": [0, 3, 6, 9, 12, 15, 18, 21, 24]
}
/geojson
A GeoJSON FeatureCollection (application/geo+json) of grid points. Properties:
| Field | Description |
|---|---|
wind_speed |
Wind speed (kt) |
wind_direction |
Direction the wind blows from (degrees) |
vertical_velocity_ms |
Vertical velocity (m/s, positive = up) |
vertical_velocity_pas |
Vertical velocity (Pa/s, negative = up) |
temperature |
Temperature (°C) |
level |
Pressure level (hPa) |
issue_time |
Model cycle (YYYYMMDD_HH) |
valid_time |
Valid time (ISO 8601) |
/query
Always an array, one object per requested level:
GET /winds-aloft-and-temp/query?lat=39.9&lon=32.8&issue_time=20260324_06&forecast_hour=6&std=true&fl=390&fl=340
[
{"lat": 39.9, "lon": 32.8, "issue_time": "2026-03-24T06:00:00Z", "valid_time": "2026-03-24T12:00:00Z",
"level_mb": 200.0, "altitude_m": 11784.2, "altitude_ft": 38662.0,
"wind_speed_kt": 52.1, "wind_direction_deg": 261.4, "temperature_c": -56.3, "isa_deviation_c": 0.2}
]
/profile
{
"lat": 39.9, "lon": 32.8, "direction": 270.0,
"issue_time": "2026-03-24T06:00:00Z", "valid_time": "2026-03-24T12:00:00Z",
"profile": [
{"level_mb": 1000, "altitude_m": 111.0, "altitude_ft": 364.0,
"wind_speed_kt": 12.3, "wind_direction_deg": 180.0,
"headwind_kt": -12.3, "tailwind_kt": 12.3, "crosswind_kt": 0.0, "crosswind_side": "none",
"vertical_velocity_ms": 0.02, "vertical_velocity_pas": -0.6,
"temperature_c": 15.2, "isa_temperature_c": 13.5, "isa_deviation_c": 1.7}
]
}
Notes on the calculation
- Standard atmosphere constants from ICAO Doc 7488 (g₀ = 9.80665, R = 287.05287, P₀ = 1013.25 hPa; Earth radius 6356766 m); flight levels refer to 1013.2 hPa.
- Lapse rate on geopotential altitude: −6.5 °C/km from 0 to 11000 m, isothermal from 11000 to 20000 m.
- Vertical interpolation is done in log-pressure; temperature is interpolated as its deviation from the ISA.
- Horizontal values between grid points are interpolated bilinearly.
- Wind direction is the meteorological "from" direction (0° = from the north).