GAMET Parser

Живая страница для текущего compact GAMET contract. Она показывает live examples, текущий parser-facing shape и compact contract без лишних обзорных блоков.

Точки входа

GET /gamet открывает эту документационную страницу.

POST /gamet разбирает JSON-запрос и возвращает текущий compact contract.

Живой Парсер

Выбери acceptance fixture и подставь её в форму. Это тот же `POST /gamet`, так что страница сразу показывает реальный текущий parser output.

Status
Ready
Geometry
Header polygons + inherited item coverage
Focus
Stable compact acceptance fixture

Хороший baseline для current compact contract с message geometry, section split, `SFC WIND/T`, `WIND/T`, `CLD`, `FZLVL`, `MNM QNH`.

Status
Partial
Geometry
Header polygons + item-local sector geometry
Focus
parse_state + split sectors

Показывает current partial normalization path: structured `PSYS`, movement/trend, sector-split blocks и локальный `parse_state`.

Status
Ready
Geometry
AREA_FROM_LONGITUDE_LINE inside PSYS
Focus
Relative geometry + split WIND/T

Показывает самый сильный current geometry case для accepted fixtures: `AREA_FROM_LONGITUDE_LINE`, same-line split `WIND/T`, `SIGMET APPLICABLE`.

JSON response

HTML preview for first report

Current Compact Contract

Блоки ниже показывают текущий compact shape. Это не будущий full serializer with explicit nulls, а именно нынешний parser-facing contract.

POST body: single report

Current live parser request body.

{
  "report": "UMMV GAMET VALID 021200/021800 UMBB-\nUMMV MINSK FIR/BY1 BLW FL100\n\n\nSECN I\nSFC WIND: LCA 290/07G12MPS\nSFC VIS: LCA 3000M FBL SHRA\nSIG CLD: ISOL CB 450/4000M AGL LCA BKN 150/500M AGL\nSIGMET APPLICABLE: NIL\n\n\nSECN II\n\nPSYS: NE PERIPHERY OF H\n\nSFC WIND/T: 270/04G09MPS PS11\n\nWIND/T: 0300M AGL 280/06MPS PS08\n0600M AGL 290/08MPS PS05\n1000M AGL 290/10MPS PS02\n1500M AGL 300/14MPS MS01\n3000M AGL 320/16MPS MS08\n\nCLD: BKN SC 500/1500M AGL\n\nFZLVL: 1400M AGL\n\nMNM QNH: 1020HPA/765MM HG\n\nVA: NIL="
}

POST body: batch request

Batch mode keeps the same compact contract and accumulates raw failed reports in `errors`.

{
  "reports": [
    "UMMV GAMET VALID 021200/021800 UMBB-\nUMMV MINSK FIR/BY1 BLW FL100\n\n\nSECN I\nSFC WIND: LCA 290/07G12MPS\nSFC VIS: LCA 3000M FBL SHRA\nSIG CLD: ISOL CB 450/4000M AGL LCA BKN 150/500M AGL\nSIGMET APPLICABLE: NIL\n\n\nSECN II\n\nPSYS: NE PERIPHERY OF H\n\nSFC WIND/T: 270/04G09MPS PS11\n\nWIND/T: 0300M AGL 280/06MPS PS08\n0600M AGL 290/08MPS PS05\n1000M AGL 290/10MPS PS02\n1500M AGL 300/14MPS MS01\n3000M AGL 320/16MPS MS08\n\nCLD: BKN SC 500/1500M AGL\n\nFZLVL: 1400M AGL\n\nMNM QNH: 1020HPA/765MM HG\n\nVA: NIL=",
    "URRV GAMET VALID 021800/022400 URRP-\nURRV ROSTOV-NA-DONU FIR/ROSTOV 1-5 BLW FL100\n\n\nSECN I\nSFC VIS: 4000 M BR\nSIG CLD: ISOL CB 600/XXX M AGL SECT 1,2,3,4\nISOL CB 600/XXX M AMSL SECT 5\nTURB: MOD SFC/FL100\n\n\nSECN II\n\nPSYS: TROUGH OCCLUSION SECT 1,4 MOV E 60KMH NC\n\nWIND/T: SFC    250/05G12MPS PS02\n0300 M 260/08MPS PS03\n0600 M 270/11MPS PS05\n0900 M 270/14MPS PS03\n1500 M 270/17MPS PS01\n3000 M 270/22MPS MS08\n\nCLD: BKN SC 500/1200 M AGL SECT 1,2,3,4\nBKN SC 500/1200 M AMSL SECT 5\n\nFZLVL: 1800 M AMSL\n\nMNM QNH: 1015 HPA/761 MM HG SECT 1\n1017 HPA/762 MM HG SECT 2\n1018 HPA/763 MM HG SECT 3\n1019 HPA/764 MM HG SECT 4,5\n\nVA: NIL="
  ]
}

Current compact contract

Accepted compact fixture example with top-level geometry, sections, and `html_text`.

{
  "message_raw": "UMMV GAMET VALID 021200/021800 UMBB-\nUMMV MINSK FIR/BY1 BLW FL100\n\n\nSECN I\nSFC WIND: LCA 290/07G12MPS\nSFC VIS: LCA 3000M FBL SHRA\nSIG CLD: ISOL CB 450/4000M AGL LCA BKN 150/500M AGL\nSIGMET APPLICABLE: NIL\n\n\nSECN II\n\nPSYS: NE PERIPHERY OF H\n\nSFC WIND/T: 270/04G09MPS PS11\n\nWIND/T: 0300M AGL 280/06MPS PS08\n0600M AGL 290/08MPS PS05\n1000M AGL 290/10MPS PS02\n1500M AGL 300/14MPS MS01\n3000M AGL 320/16MPS MS08\n\nCLD: BKN SC 500/1500M AGL\n\nFZLVL: 1400M AGL\n\nMNM QNH: 1020HPA/765MM HG\n\nVA: NIL=",
  "html_text": "<p><b><span class=\"CodeOvd\" style=\"color:Blue\" title=\"Заголовок-&gt;Код ОВД: &quot;UMMV&quot;\">UMMV</span>&nbsp;&nbsp;<span class=\"TelegramMeteoType\" style=\"color:Blue\" title=\"Заголовок-&gt;Тип метео-телеграммы: &quot;GAMET&quot;\">GAMET</span>&nbsp;&nbsp;<span class=\"ValidBegin\" style=\"color:Blue\" title=\"Заголовок-&gt;VALID-&gt;Период действия: &quot;021200&quot;\">VALID&nbsp;&nbsp;021200</span>&nbsp;&nbsp;<span class=\"ValidEnd\" style=\"color:Blue\" title=\"Заголовок-&gt;VALID-&gt;Период действия: &quot;021800&quot;\">/021800</span>&nbsp;&nbsp;<span class=\"MeteoService\" style=\"color:Blue\" title=\"Заголовок-&gt;Метеорологический орган: &quot;UMBB&quot;\">UMBB</span>&nbsp;&nbsp;-<br/><br/><span class=\"CodeOvd\" style=\"color:Blue\" title=\"Заголовок-&gt;Код ОВД: &quot;UMMV&quot;\">UMMV</span>&nbsp;&nbsp;<span class=\"ZoneName\" style=\"color:Blue\" title=\"Заголовок-&gt;Название зоны: &quot;MINSK&quot;\">MINSK</span>&nbsp;&nbsp;<span class=\"Zone\" style=\"color:Black\" title=\"Заголовок-&gt;Зона: &quot;FIR&quot;\">FIR</span>&nbsp;&nbsp;<span class=\"Value\" style=\"color:Blue\" title=\"Заголовок-&gt;Значение: &quot;BY1&quot;\">/BY1</span>&nbsp;&nbsp;<span class=\"Altitude\" style=\"color:Purple\" title=\"Заголовок-&gt;Эшелон: &quot;BLW FL100&quot;\">BLW&nbsp;&nbsp;FL100</span><br/><br/><span class=\"DataSectionType\" style=\"color:Purple\" title=\"Раздел-&gt;Секция данных: &quot;SECN I&quot;\">SECN&nbsp;&nbsp;I</span><br/><br/><span class=\"Keyword\" style=\"color:Gray\" title=\"Раздел-&gt;Приземный ветер-&gt;Label: &quot;SFC WIND:&quot;\">SFC&nbsp;&nbsp;WIND:</span>&nbsp;&nbsp;<span class=\"Keyword\" style=\"color:Gray\" title=\"Раздел-&gt;Приземный ветер-&gt;Keyword: &quot;LCA&quot;\">LCA</span>&nbsp;&nbsp;<span class=\"CardialDirection\" style=\"color:Purple\" title=\"Раздел-&gt;Приземный ветер-&gt;Направление ветра: &quot;290&quot;\">290</span><span class=\"Speed\" style=\"color:Purple\" title=\"Раздел-&gt;Приземный ветер-&gt;Скорость ветра: &quot;07&quot;\">/07</span><span class=\"Speed\" style=\"color:Purple\" title=\"Раздел-&gt;Приземный ветер-&gt;Порыв ветра: &quot;12&quot;\">G12</span><span class=\"Units\" style=\"color:Purple\" title=\"Раздел-&gt;Приземный ветер-&gt;Ед.изм.: &quot;MPS&quot;\">MPS</span><br/><br/><span class=\"Keyword\" style=\"color:Gray\" title=\"Раздел-&gt;Видимость у поверхности-&gt;Label: &quot;SFC VIS:&quot;\">SFC&nbsp;&nbsp;VIS:</span>&nbsp;&nbsp;<span class=\"Keyword\" style=\"color:Gray\" title=\"Раздел-&gt;Видимость у поверхности-&gt;Keyword: &quot;LCA&quot;\">LCA</span>&nbsp;&nbsp;<span class=\"Distance\" style=\"color:Blue\" title=\"Раздел-&gt;Видимость у поверхности-&gt;Значение: &quot;3000&quot;\">3000</span><span class=\"Units\" style=\"color:Purple\" title=\"Раздел-&gt;Видимость у поверхности-&gt;Ед.изм.: &quot;M&quot;\">M</span>&nbsp;&nbsp;<span class=\"Keyword\" style=\"color:Gray\" title=\"Раздел-&gt;Видимость у поверхности-&gt;Keyword: &quot;FBL&quot;\">FBL</span>&nbsp;&nbsp;<span class=\"Keyword\" style=\"color:Gray\" title=\"Раздел-&gt;Видимость у поверхности-&gt;Keyword: &quot;SHRA&quot;\">SHRA</span><br/><br/><span class=\"Keyword\" style=\"color:Gray\" title=\"Раздел-&gt;Значительная облачность-&gt;Label: &quot;SIG CLD:&quot;\">SIG&nbsp;&nbsp;CLD:</span>&nbsp;&nbsp;<span class=\"Keyword\" style=\"color:Gray\" title=\"Раздел-&gt;Значительная облачность-&gt;Keyword: &quot;ISOL&quot;\">ISOL</span>&nbsp;&nbsp;<span class=\"Keyword\" style=\"color:Gray\" title=\"Раздел-&gt;Значительная облачность-&gt;Keyword: &quot;CB&quot;\">CB</span>&nbsp;&nbsp;<span class=\"Altitude\" style=\"color:Purple\" title=\"Раздел-&gt;Значительная облачность-&gt;Эшелон: &quot;450&quot;\">450</span><span class=\"Altitude\" style=\"color:Purple\" title=\"Раздел-&gt;Значительная облачность-&gt;Эшелон: &quot;4000&quot;\">/4000</span><span class=\"Units\" style=\"color:Purple\" title=\"Раздел-&gt;Значительная облачность-&gt;Ед.изм.: &quot;M&quot;\">M</span>&nbsp;&nbsp;<span class=\"Keyword\" style=\"color:Gray\" title=\"Раздел-&gt;Значительная облачность-&gt;Keyword: &quot;AGL&quot;\">AGL</span>&nbsp;&nbsp;<span class=\"Keyword\" style=\"color:Gray\" title=\"Раздел-&gt;Значительная облачность-&gt;Keyword: &quot;LCA&quot;\">LCA</span>&nbsp;&nbsp;<span class=\"Keyword\" style=\"color:Gray\" title=\"Раздел-&gt;Значительная облачность-&gt;Keyword: &quot;BKN&quot;\">BKN</span>&nbsp;&nbsp;<span class=\"Altitude\" style=\"color:Purple\" title=\"Раздел-&gt;Значительная облачность-&gt;Эшелон: &quot;150&quot;\">150</span><span class=\"Altitude\" style=\"color:Purple\" title=\"Раздел-&gt;Значительная облачность-&gt;Эшелон: &quot;500&quot;\">/500</span><span class=\"Units\" style=\"color:Purple\" title=\"Раздел-&gt;Значительная облачность-&gt;Ед.изм.: &quot;M&quot;\">M</span>&nbsp;&nbsp;<span class=\"Keyword\" style=\"color:Gray\" title=\"Раздел-&gt;Значительная облачность-&gt;Keyword: &quot;AGL&quot;\">AGL</span><br/><br/><span class=\"Keyword\" style=\"color:Gray\" title=\"Раздел-&gt;Применимые SIGMET-&gt;Label: &quot;SIGMET APPLICABLE:&quot;\">SIGMET&nbsp;&nbsp;APPLICABLE:</span>&nbsp;&nbsp;<span class=\"Keyword\" style=\"color:Gray\" title=\"Раздел-&gt;Применимые SIGMET-&gt;Keyword: &quot;NIL&quot;\">NIL</span><br/><br/><span class=\"DataSectionType\" style=\"color:Purple\" title=\"Раздел-&gt;Секция данных: &quot;SECN II&quot;\">SECN&nbsp;&nbsp;II</span><br/><br/><span class=\"Keyword\" style=\"color:Gray\" title=\"Раздел-&gt;Барические системы-&gt;Label: &quot;PSYS:&quot;\">PSYS:</span>&nbsp;&nbsp;<span class=\"Value\" style=\"color:Blue\" title=\"Раздел-&gt;Барические системы-&gt;Текст: &quot;NE&quot;\">NE</span>&nbsp;&nbsp;<span class=\"Value\" style=\"color:Blue\" title=\"Раздел-&gt;Барические системы-&gt;Текст: &quot;PERIPHERY&quot;\">PERIPHERY</span>&nbsp;&nbsp;<span class=\"Keyword\" style=\"color:Gray\" title=\"Раздел-&gt;Барические системы-&gt;Keyword: &quot;OF&quot;\">OF</span>&nbsp;&nbsp;<span class=\"Value\" style=\"color:Blue\" title=\"Раздел-&gt;Барические системы-&gt;Текст: &quot;H&quot;\">H</span><br/><br/><span class=\"Keyword\" style=\"color:Gray\" title=\"Раздел-&gt;Ветер и температура у поверхности-&gt;Label: &quot;SFC WIND/T:&quot;\">SFC&nbsp;&nbsp;WIND/T:</span>&nbsp;&nbsp;<span class=\"CardialDirection\" style=\"color:Purple\" title=\"Раздел-&gt;Ветер и температура у поверхности-&gt;Направление ветра: &quot;270&quot;\">270</span><span class=\"Speed\" style=\"color:Purple\" title=\"Раздел-&gt;Ветер и температура у поверхности-&gt;Скорость ветра: &quot;04&quot;\">/04</span><span class=\"Speed\" style=\"color:Purple\" title=\"Раздел-&gt;Ветер и температура у поверхности-&gt;Порыв ветра: &quot;09&quot;\">G09</span><span class=\"Units\" style=\"color:Purple\" title=\"Раздел-&gt;Ветер и температура у поверхности-&gt;Ед.изм.: &quot;MPS&quot;\">MPS</span>&nbsp;&nbsp;<span class=\"Keyword\" style=\"color:Gray\" title=\"Раздел-&gt;Ветер и температура у поверхности-&gt;Температура-&gt;Знак: &quot;PS&quot;\">PS</span><span class=\"Value\" style=\"color:Blue\" title=\"Раздел-&gt;Ветер и температура у поверхности-&gt;Температура-&gt;Значение: &quot;11&quot;\">11</span><br/><br/><span class=\"Keyword\" style=\"color:Gray\" title=\"Раздел-&gt;Ветер и температура на высотах-&gt;Label: &quot;WIND/T:&quot;\">WIND/T:</span>&nbsp;&nbsp;<span class=\"Altitude\" style=\"color:Purple\" title=\"Раздел-&gt;Ветер и температура на высотах-&gt;Значение: &quot;0300&quot;\">0300</span><span class=\"Units\" style=\"color:Purple\" title=\"Раздел-&gt;Ветер и температура на высотах-&gt;Ед.изм.: &quot;M&quot;\">M</span>&nbsp;&nbsp;<span class=\"Keyword\" style=\"color:Gray\" title=\"Раздел-&gt;Ветер и температура на высотах-&gt;Keyword: &quot;AGL&quot;\">AGL</span>&nbsp;&nbsp;<span class=\"CardialDirection\" style=\"color:Purple\" title=\"Раздел-&gt;Ветер и температура на высотах-&gt;Направление ветра: &quot;280&quot;\">280</span><span class=\"Speed\" style=\"color:Purple\" title=\"Раздел-&gt;Ветер и температура на высотах-&gt;Скорость ветра: &quot;06&quot;\">/06</span><span class=\"Units\" style=\"color:Purple\" title=\"Раздел-&gt;Ветер и температура на высотах-&gt;Ед.изм.: &quot;MPS&quot;\">MPS</span>&nbsp;&nbsp;<span class=\"Keyword\" style=\"color:Gray\" title=\"Раздел-&gt;Ветер и температура на высотах-&gt;Температура-&gt;Знак: &quot;PS&quot;\">PS</span><span class=\"Value\" style=\"color:Blue\" title=\"Раздел-&gt;Ветер и температура на высотах-&gt;Температура-&gt;Значение: &quot;08&quot;\">08</span><br/><br/><span class=\"Altitude\" style=\"color:Purple\" title=\"Раздел-&gt;Ветер и температура на высотах-&gt;Значение: &quot;0600&quot;\">0600</span><span class=\"Units\" style=\"color:Purple\" title=\"Раздел-&gt;Ветер и температура на высотах-&gt;Ед.изм.: &quot;M&quot;\">M</span>&nbsp;&nbsp;<span class=\"Keyword\" style=\"color:Gray\" title=\"Раздел-&gt;Ветер и температура на высотах-&gt;Keyword: &quot;AGL&quot;\">AGL</span>&nbsp;&nbsp;<span class=\"CardialDirection\" style=\"color:Purple\" title=\"Раздел-&gt;Ветер и температура на высотах-&gt;Направление ветра: &quot;290&quot;\">290</span><span class=\"Speed\" style=\"color:Purple\" title=\"Раздел-&gt;Ветер и температура на высотах-&gt;Скорость ветра: &quot;08&quot;\">/08</span><span class=\"Units\" style=\"color:Purple\" title=\"Раздел-&gt;Ветер и температура на высотах-&gt;Ед.изм.: &quot;MPS&quot;\">MPS</span>&nbsp;&nbsp;<span class=\"Keyword\" style=\"color:Gray\" title=\"Раздел-&gt;Ветер и температура на высотах-&gt;Температура-&gt;Знак: &quot;PS&quot;\">PS</span><span class=\"Value\" style=\"color:Blue\" title=\"Раздел-&gt;Ветер и температура на высотах-&gt;Температура-&gt;Значение: &quot;05&quot;\">05</span><br/><br/><span class=\"Altitude\" style=\"color:Purple\" title=\"Раздел-&gt;Ветер и температура на высотах-&gt;Значение: &quot;1000&quot;\">1000</span><span class=\"Units\" style=\"color:Purple\" title=\"Раздел-&gt;Ветер и температура на высотах-&gt;Ед.изм.: &quot;M&quot;\">M</span>&nbsp;&nbsp;<span class=\"Keyword\" style=\"color:Gray\" title=\"Раздел-&gt;Ветер и температура на высотах-&gt;Keyword: &quot;AGL&quot;\">AGL</span>&nbsp;&nbsp;<span class=\"CardialDirection\" style=\"color:Purple\" title=\"Раздел-&gt;Ветер и температура на высотах-&gt;Направление ветра: &quot;290&quot;\">290</span><span class=\"Speed\" style=\"color:Purple\" title=\"Раздел-&gt;Ветер и температура на высотах-&gt;Скорость ветра: &quot;10&quot;\">/10</span><span class=\"Units\" style=\"color:Purple\" title=\"Раздел-&gt;Ветер и температура на высотах-&gt;Ед.изм.: &quot;MPS&quot;\">MPS</span>&nbsp;&nbsp;<span class=\"Keyword\" style=\"color:Gray\" title=\"Раздел-&gt;Ветер и температура на высотах-&gt;Температура-&gt;Знак: &quot;PS&quot;\">PS</span><span class=\"Value\" style=\"color:Blue\" title=\"Раздел-&gt;Ветер и температура на высотах-&gt;Температура-&gt;Значение: &quot;02&quot;\">02</span><br/><br/><span class=\"Altitude\" style=\"color:Purple\" title=\"Раздел-&gt;Ветер и температура на высотах-&gt;Значение: &quot;1500&quot;\">1500</span><span class=\"Units\" style=\"color:Purple\" title=\"Раздел-&gt;Ветер и температура на высотах-&gt;Ед.изм.: &quot;M&quot;\">M</span>&nbsp;&nbsp;<span class=\"Keyword\" style=\"color:Gray\" title=\"Раздел-&gt;Ветер и температура на высотах-&gt;Keyword: &quot;AGL&quot;\">AGL</span>&nbsp;&nbsp;<span class=\"CardialDirection\" style=\"color:Purple\" title=\"Раздел-&gt;Ветер и температура на высотах-&gt;Направление ветра: &quot;300&quot;\">300</span><span class=\"Speed\" style=\"color:Purple\" title=\"Раздел-&gt;Ветер и температура на высотах-&gt;Скорость ветра: &quot;14&quot;\">/14</span><span class=\"Units\" style=\"color:Purple\" title=\"Раздел-&gt;Ветер и температура на высотах-&gt;Ед.изм.: &quot;MPS&quot;\">MPS</span>&nbsp;&nbsp;<span class=\"Keyword\" style=\"color:Gray\" title=\"Раздел-&gt;Ветер и температура на высотах-&gt;Температура-&gt;Знак: &quot;MS&quot;\">MS</span><span class=\"Value\" style=\"color:Blue\" title=\"Раздел-&gt;Ветер и температура на высотах-&gt;Температура-&gt;Значение: &quot;01&quot;\">01</span><br/><br/><span class=\"Altitude\" style=\"color:Purple\" title=\"Раздел-&gt;Ветер и температура на высотах-&gt;Значение: &quot;3000&quot;\">3000</span><span class=\"Units\" style=\"color:Purple\" title=\"Раздел-&gt;Ветер и температура на высотах-&gt;Ед.изм.: &quot;M&quot;\">M</span>&nbsp;&nbsp;<span class=\"Keyword\" style=\"color:Gray\" title=\"Раздел-&gt;Ветер и температура на высотах-&gt;Keyword: &quot;AGL&quot;\">AGL</span>&nbsp;&nbsp;<span class=\"CardialDirection\" style=\"color:Purple\" title=\"Раздел-&gt;Ветер и температура на высотах-&gt;Направление ветра: &quot;320&quot;\">320</span><span class=\"Speed\" style=\"color:Purple\" title=\"Раздел-&gt;Ветер и температура на высотах-&gt;Скорость ветра: &quot;16&quot;\">/16</span><span class=\"Units\" style=\"color:Purple\" title=\"Раздел-&gt;Ветер и температура на высотах-&gt;Ед.изм.: &quot;MPS&quot;\">MPS</span>&nbsp;&nbsp;<span class=\"Keyword\" style=\"color:Gray\" title=\"Раздел-&gt;Ветер и температура на высотах-&gt;Температура-&gt;Знак: &quot;MS&quot;\">MS</span><span class=\"Value\" style=\"color:Blue\" title=\"Раздел-&gt;Ветер и температура на высотах-&gt;Температура-&gt;Значение: &quot;08&quot;\">08</span><br/><br/><span class=\"Keyword\" style=\"color:Gray\" title=\"Раздел-&gt;Облачность-&gt;Label: &quot;CLD:&quot;\">CLD:</span>&nbsp;&nbsp;<span class=\"Keyword\" style=\"color:Gray\" title=\"Раздел-&gt;Облачность-&gt;Keyword: &quot;BKN&quot;\">BKN</span>&nbsp;&nbsp;<span class=\"Value\" style=\"color:Blue\" title=\"Раздел-&gt;Облачность-&gt;Текст: &quot;SC&quot;\">SC</span>&nbsp;&nbsp;<span class=\"Altitude\" style=\"color:Purple\" title=\"Раздел-&gt;Облачность-&gt;Эшелон: &quot;500&quot;\">500</span><span class=\"Altitude\" style=\"color:Purple\" title=\"Раздел-&gt;Облачность-&gt;Эшелон: &quot;1500&quot;\">/1500</span><span class=\"Units\" style=\"color:Purple\" title=\"Раздел-&gt;Облачность-&gt;Ед.изм.: &quot;M&quot;\">M</span>&nbsp;&nbsp;<span class=\"Keyword\" style=\"color:Gray\" title=\"Раздел-&gt;Облачность-&gt;Keyword: &quot;AGL&quot;\">AGL</span><br/><br/><span class=\"Keyword\" style=\"color:Gray\" title=\"Раздел-&gt;Уровень замерзания-&gt;Label: &quot;FZLVL:&quot;\">FZLVL:</span>&nbsp;&nbsp;<span class=\"Altitude\" style=\"color:Purple\" title=\"Раздел-&gt;Уровень замерзания-&gt;Значение: &quot;1400&quot;\">1400</span><span class=\"Units\" style=\"color:Purple\" title=\"Раздел-&gt;Уровень замерзания-&gt;Ед.изм.: &quot;M&quot;\">M</span>&nbsp;&nbsp;<span class=\"Keyword\" style=\"color:Gray\" title=\"Раздел-&gt;Уровень замерзания-&gt;Keyword: &quot;AGL&quot;\">AGL</span><br/><br/><span class=\"Keyword\" style=\"color:Gray\" title=\"Раздел-&gt;Минимальное давление-&gt;Label: &quot;MNM QNH:&quot;\">MNM&nbsp;&nbsp;QNH:</span>&nbsp;&nbsp;<span class=\"Value\" style=\"color:Blue\" title=\"Раздел-&gt;Минимальное давление-&gt;Значение: &quot;1020&quot;\">1020</span><span class=\"Units\" style=\"color:Purple\" title=\"Раздел-&gt;Минимальное давление-&gt;Ед.изм.: &quot;HPA&quot;\">HPA</span><span class=\"Value\" style=\"color:Blue\" title=\"Раздел-&gt;Минимальное давление-&gt;Значение: &quot;765&quot;\">/765</span><span class=\"Units\" style=\"color:Purple\" title=\"Раздел-&gt;Минимальное давление-&gt;Ед.изм.: &quot;MM&quot;\">MM</span>&nbsp;&nbsp;<span class=\"Units\" style=\"color:Purple\" title=\"Раздел-&gt;Минимальное давление-&gt;Ед.изм.: &quot;HG&quot;\">HG</span><br/><br/><span class=\"Keyword\" style=\"color:Gray\" title=\"Раздел-&gt;Вулканический пепел-&gt;Label: &quot;VA:&quot;\">VA:</span>&nbsp;&nbsp;<span class=\"Keyword\" style=\"color:Gray\" title=\"Раздел-&gt;Вулканический пепел-&gt;Keyword: &quot;NIL&quot;\">NIL</span><span class=\"EndOfMeteoMessage\" style=\"color:Gray\" title=\"Конец метео-телеграммы: &quot;=&quot;\">=</span></b></p>",
  "issuer": "UMBB",
  "type": "GAMET",
  "modifier": null,
  "valid_from": "2026-03-02T12:00:00Z",
  "valid_to": "2026-03-02T18:00:00Z",
  "fir_code": "UMMV",
  "fir_name": "MINSK",
  "airspace_type": "FIR",
  "geometry": {
    "area_sectors": [
      "BY1"
    ],
    "polygons": [
      {
        "area_name": "BY1",
        "points": []
      }
    ],
    "not_found_areas": [
      "BY1"
    ],
    "below_fl": 100
  },
  "section_1": {
    "sfc_wind": [
      {
        "raw": "SFC WIND: LCA 290/07G12MPS",
        "local": true,
        "wind": {
          "direction_deg": 290,
          "speed": 7,
          "gust": 12,
          "unit": "MPS"
        }
      }
    ],
    "sfc_vis": [
      {
        "raw": "SFC VIS: LCA 3000M FBL SHRA",
        "local": true,
        "visibility_m": 3000,
        "intensity": "FBL",
        "weather_codes": [
          "SHRA"
        ]
      }
    ],
    "sig_cld": [
      {
        "raw": "SIG CLD: ISOL CB 450/4000M AGL",
        "cloud_types": [
          "CB"
        ],
        "distribution": "ISOL",
        "altitude": {
          "from": 450,
          "to": 4000,
          "unit": "M",
          "vertical_reference": "AGL"
        }
      },
      {
        "raw": "LCA BKN 150/500M AGL",
        "local": true,
        "quantity": "BKN",
        "altitude": {
          "from": 150,
          "to": 500,
          "unit": "M",
          "vertical_reference": "AGL"
        }
      }
    ]
  },
  "section_2": {
    "psys": [
      {
        "raw": "PSYS: NE PERIPHERY OF H",
        "psys_code": "PRESSURE_AREA_HIGH",
        "direction": "NE",
        "part": "PERIPHERY"
      }
    ],
    "sfc_wind_t": [
      {
        "raw": "SFC WIND/T: 270/04G09MPS PS11",
        "altitude": {
          "from": "SFC",
          "to": "SFC",
          "unit": "SFC"
        },
        "wind": {
          "direction_deg": 270,
          "speed": 4,
          "gust": 9,
          "unit": "MPS"
        },
        "temperature": {
          "value": 11,
          "unit": "C"
        }
      }
    ],
    "wind_t": [
      {
        "raw": "WIND/T: 0300M AGL 280/06MPS PS08",
        "altitude": {
          "from": 300,
          "to": 300,
          "unit": "M",
          "vertical_reference": "AGL"
        },
        "wind": {
          "direction_deg": 280,
          "speed": 6,
          "unit": "MPS"
        },
        "temperature": {
          "value": 8,
          "unit": "C"
        }
      },
      {
        "raw": "0600M AGL 290/08MPS PS05",
        "altitude": {
          "from": 600,
          "to": 600,
          "unit": "M",
          "vertical_reference": "AGL"
        },
        "wind": {
          "direction_deg": 290,
          "speed": 8,
          "unit": "MPS"
        },
        "temperature": {
          "value": 5,
          "unit": "C"
        }
      },
      {
        "raw": "1000M AGL 290/10MPS PS02",
        "altitude": {
          "from": 1000,
          "to": 1000,
          "unit": "M",
          "vertical_reference": "AGL"
        },
        "wind": {
          "direction_deg": 290,
          "speed": 10,
          "unit": "MPS"
        },
        "temperature": {
          "value": 2,
          "unit": "C"
        }
      },
      {
        "raw": "1500M AGL 300/14MPS MS01",
        "altitude": {
          "from": 1500,
          "to": 1500,
          "unit": "M",
          "vertical_reference": "AGL"
        },
        "wind": {
          "direction_deg": 300,
          "speed": 14,
          "unit": "MPS"
        },
        "temperature": {
          "value": -1,
          "unit": "C"
        }
      },
      {
        "raw": "3000M AGL 320/16MPS MS08",
        "altitude": {
          "from": 3000,
          "to": 3000,
          "unit": "M",
          "vertical_reference": "AGL"
        },
        "wind": {
          "direction_deg": 320,
          "speed": 16,
          "unit": "MPS"
        },
        "temperature": {
          "value": -8,
          "unit": "C"
        }
      }
    ],
    "cld": [
      {
        "raw": "CLD: BKN SC 500/1500M AGL",
        "quantity": "BKN",
        "cloud_types": [
          "SC"
        ],
        "altitude": {
          "from": 500,
          "to": 1500,
          "unit": "M",
          "vertical_reference": "AGL"
        }
      }
    ],
    "fzlvl": [
      {
        "raw": "FZLVL: 1400M AGL",
        "altitude": {
          "from": 1400,
          "to": 1400,
          "unit": "M",
          "vertical_reference": "AGL"
        }
      }
    ],
    "mnm_qnh": [
      {
        "raw": "MNM QNH: 1020HPA/765MM HG",
        "qnh_hpa": 1020
      }
    ]
  }
}

Partial PSYS item

Current `parse_state` usage for locally unresolved normalization inside an otherwise parsed message.

{
  "raw": "PSYS: TROUGH OCCLUSION SECT 1,4 MOV E 60KMH NC",
  "psys_code": "OCCLUSION_FRONT",
  "geometry_type": "SECTORS",
  "geometry": {
    "type": "SECTORS",
    "area_sectors": [
      "ROSTOV 1",
      "ROSTOV 4"
    ]
  },
  "movement": {
    "type": "MOV",
    "dir": "E",
    "dir_deg": 90,
    "speed": 60,
    "unit": "KMH"
  },
  "trend": "NC",
  "parse_state": {
    "status": "PARTIAL",
    "type": "INCORRECT",
    "unparsed": [
      "TROUGH"
    ],
    "comments": [
      "TROUGH incorrect type for PSYS block"
    ]
  }
}

Relative PSYS geometry item

Current accepted `AREA_FROM_LONGITUDE_LINE` geometry branch in the compact fixture set.

{
  "raw": "PSYS: WARM FRONT E OF E058 MOV SE 10KMH NC",
  "psys_code": "WARM_FRONT",
  "geometry_type": "AREA_FROM_LONGITUDE_LINE",
  "geometry": {
    "type": "AREA_FROM_LONGITUDE_LINE",
    "relation": "E_OF",
    "value": 58,
    "calculated_area": {
      "polygons": [
        {
          "area_name": "YEKATERINBURG 1",
          "points": [
            {
              "lat": 58.005,
              "lon": 58.558
            },
            {
              "lat": 56.75,
              "lon": 59.033
            },
            {
              "lat": 55.967,
              "lon": 59
            },
            {
              "lat": 55.72796687556,
              "lon": 58
            },
            {
              "lat": 57.784773234201,
              "lon": 58
            },
            {
              "lat": 58.005,
              "lon": 58.558
            }
          ]
        },
        {
          "area_name": "YEKATERINBURG 2A",
          "points": [
            {
              "lat": 58.646,
              "lon": 58.305
            },
            {
              "lat": 58.87,
              "lon": 60.962
            },
            {
              "lat": 57,
              "lon": 60.98
            },
            {
              "lat": 57,
              "lon": 58.938
            },
            {
              "lat": 57.85,
              "lon": 58.617
            },
            {
              "lat": 58.005,
              "lon": 58.558
            },
            {
              "lat": 58.646,
              "lon": 58.305
            }
          ]
        },
        {
          "area_name": "YEKATERINBURG 2B",
          "points": [
            {
              "lat": 57,
              "lon": 60.98
            },
            {
              "lat": 55.907,
              "lon": 61
            },
            {
              "lat": 55.917,
              "lon": 59.983
            },
            {
              "lat": 56.083,
              "lon": 59.483
            },
            {
              "lat": 55.968,
              "lon": 59
            },
            {
              "lat": 56.75,
              "lon": 59.033
            },
            {
              "lat": 57,
              "lon": 58.938
            },
            {
              "lat": 57,
              "lon": 60.98
            }
          ]
        },
        {
          "area_name": "YEKATERINBURG 3A",
          "points": [
            {
              "lat": 59.033,
              "lon": 63.733
            },
            {
              "lat": 57.817,
              "lon": 64.133
            },
            {
              "lat": 57.383,
              "lon": 63.75
            },
            {
              "lat": 57,
              "lon": 63.75
            },
            {
              "lat": 57,
              "lon": 60.98
            },
            {
              "lat": 58.87,
              "lon": 60.962
            },
            {
              "lat": 59.033,
              "lon": 63.733
            }
          ]
        },
        {
          "area_name": "YEKATERINBURG 3B",
          "points": [
            {
              "lat": 56.274,
              "lon": 63.521
            },
            {
              "lat": 55.666,
              "lon": 62.844
            },
            {
              "lat": 55.728,
              "lon": 62.371
            },
            {
              "lat": 55.9,
              "lon": 61.733
            },
            {
              "lat": 55.907,
              "lon": 61
            },
            {
              "lat": 57,
              "lon": 60.98
            },
            {
              "lat": 57,
              "lon": 63.75
            },
            {
              "lat": 56.274,
              "lon": 63.521
            }
          ]
        },
        {
          "area_name": "YEKATERINBURG 4",
          "points": [
            {
              "lat": 60.5,
              "lon": 63.788
            },
            {
              "lat": 59.5,
              "lon": 64.133
            },
            {
              "lat": 59.033,
              "lon": 63.733
            },
            {
              "lat": 58.87,
              "lon": 60.962
            },
            {
              "lat": 60.5,
              "lon": 60.218
            },
            {
              "lat": 60.5,
              "lon": 63.788
            }
          ]
        },
        {
          "area_name": "YEKATERINBURG 5A",
          "points": [
            {
              "lat": 62,
              "lon": 59.5
            },
            {
              "lat": 62.033,
              "lon": 61
            },
            {
              "lat": 60.5,
              "lon": 61
            },
            {
              "lat": 60.5,
              "lon": 60.218
            },
            {
              "lat": 62,
              "lon": 59.5
            }
          ]
        },
        {
          "area_name": "YEKATERINBURG 5B",
          "points": [
            {
              "lat": 61.283,
              "lon": 63.667
            },
            {
              "lat": 60.75,
              "lon": 63.7
            },
            {
              "lat": 60.5,
              "lon": 63.788
            },
            {
              "lat": 60.5,
              "lon": 61
            },
            {
              "lat": 62.033,
              "lon": 61
            },
            {
              "lat": 62.083,
              "lon": 63.2
            },
            {
              "lat": 61.283,
              "lon": 63.667
            }
          ]
        },
        {
          "area_name": "YEKATERINBURG 6",
          "points": [
            {
              "lat": 58.87,
              "lon": 60.962
            },
            {
              "lat": 58.663,
              "lon": 58.5
            },
            {
              "lat": 61.638,
              "lon": 58.5
            },
            {
              "lat": 62,
              "lon": 59.5
            },
            {
              "lat": 58.87,
              "lon": 60.962
            }
          ]
        },
        {
          "area_name": "YEKATERINBURG 7",
          "points": [
            {
              "lat": 61.638,
              "lon": 58.5
            },
            {
              "lat": 58.663,
              "lon": 58.5
            },
            {
              "lat": 58.646,
              "lon": 58.306
            },
            {
              "lat": 59.354380165289,
              "lon": 58
            },
            {
              "lat": 61.454445830086,
              "lon": 58
            },
            {
              "lat": 61.638,
              "lon": 58.5
            }
          ]
        }
      ]
    }
  },
  "movement": {
    "type": "MOV",
    "dir": "SE",
    "dir_deg": 135,
    "speed": 10,
    "unit": "KMH"
  },
  "trend": "NC"
}

Правила Контракта