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: show ibonav.aero wherever this data is displayed
Data sources: NOAA Aviation Weather Center (NCEP Global Forecast System).
Last updated: 17 OCT 2026

About 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).