VA Advisory (ICAO)
Required roles:
AIS PIB API— Roles
Base endpoint:https://ais-pib-api.ibosoft.net.tr:2087/opmet-decoder-va-icao
Reference documents: ICAO Doc 10157 PANS-MET, Ed. 1 (27/11/25) · ICAO Doc 8400 PANS-ABC, Ed. 9, Amend. 33 (8/11/18)
Attribution: showibonav.aeroor "Decoded by Ibosoft" wherever decoded output is displayed
Data sources: none — decodes the message supplied in the request.
Last updated: 17 OCT 2026About the reference documents: Related Documents and Resources
Decodes a volcanic ash advisory into readable fields, following the PANS-MET template. Optionally returns the volcano position and the ash-cloud areas in decimal degrees (parsed), ready for a map.
The format is that of PANS-MET Table A7-2. To get advisories to decode, see VA Advisory. A VONA is a different message: see VONA (ICAO).
Endpoints
POST /opmet-decoder-va-icao/decode?parsed=false
Content-Type: application/json
{ "raw": "<VA advisory text>" }
Parameters
| Parameter | In | Default | Description |
|---|---|---|---|
raw |
body | — | Advisory text, at least 10 characters. A WMO bulletin heading is accepted and removed. |
parsed |
query | false |
true: add the parsed object |
How the template is processed
- The advisory is line based: each element starts with its heading and a colon (
DTG:,VAAC:,OBS VA CLD:…); the value runs to the next heading. - Field names and wording come from PANS-MET Table A7-2: output keys are the template element names; times, coordinates (
N5403 E15927→N54°03' E159°27'), levels and movements are written out. Abbreviations are expanded as defined in PANS-MET and PANS-ABC (Doc 8400). - M (mandatory) elements are always present (
nullwhen missing); C (conditional) elements (e.g. statusTEST/EXER) only when present. - Ash clouds: the observed/estimated cloud and the +6, +12 and +18 hour forecasts are separate elements;
NO VA EXPreads "No volcanic ash expected". - Values that do not follow the template are listed under
Undecodable elements(neighbouring groups form one entry).
For the full list of elements, see PANS-MET Table A7-2.
Response
Example — PANS-MET Example A7-2 (shortened):
VA ADVISORY
DTG: 20240923/0130Z
VAAC: TOKYO
VOLCANO: KARYMSKY 300130
PSN: N5403 E15927
…
FCST VA CLD +18 HR: 23/1900Z NO VA EXP
NXT ADVISORY: 20240923/0730Z
{
"Identification of the type of message": "Volcanic ash advisory",
"Time of origin": "2024-09-23 01:30 UTC",
"Name of VAAC": "TOKYO",
"Name of volcano": "KARYMSKY 300130",
"Location of volcano": "N54°03' E159°27'",
"State or region": "RUSSIAN FEDERATION",
"Advisory number": "2024/4",
"Forecast ash cloud +18 HR": "Day 23 19:00 UTC No volcanic ash expected",
"Next advisory": "2024-09-23 07:30 UTC",
"…": "…",
"positions": [{"start": 0, "end": 11}, "…"],
"corrected_raw": "VA ADVISORY\nDTG: 20240923/0130Z\n…",
"raw": "…",
"parsed": {
"utc_day": 23, "utc_time": "0130",
"vaac": "TOKYO", "advisory_number": "2024/4",
"position": {"lat": 54.05, "lon": 159.45},
"extent": [
{"phase": "Observed", "points": [{"lat": 54.0, "lon": 159.5}, "…"]},
{"phase": "Forecast +6h", "points": ["…"]},
{"phase": "Forecast +12h", "points": ["…"]}
]
}
}
| Key | Description |
|---|---|
| element keys | Decoded elements, in template order |
Undecodable elements |
Values that do not follow the template (only when there are any) |
corrected_raw |
The message after normalization; positions refer to this text |
positions |
Character spans {start, end} in corrected_raw, one per decoded value in output order |
parsed |
With parsed=true: time of origin (utc_day, utc_time), vaac, advisory_number, volcano position (lat/lon, signed decimal degrees) and extent — the ash-cloud areas per phase (Observed, Forecast +6h, +12h, +18h) as point lists |
Errors
| Code | Meaning |
|---|---|
400 |
The message could not be parsed at all; detail explains why |
422 |
raw is missing or shorter than 10 characters |