BUFR - BUFR
В Бинарная универсальная форма для представления метеорологических данных (BUFR) это двоичный формат данных поддерживается Всемирная метеорологическая организация (ВМО). Последней версией является BUFR Edition 4. BUFR Edition 3 также считается актуальной для оперативного использования. BUFR был создан в 1988 г. с целью замены десятков символьных и позиционно-ориентированных метеорологический коды, такие как СИНОП (наземные наблюдения), ТЕМП. (зондирование верхних слоев атмосферы) и КЛИМАТ (ежемесячные климатологические данные). BUFR был разработан, чтобы быть портативным, компактным и универсальным. Могут быть представлены любые данные, а также их конкретный пространственный / временной контекст и любые другие связанные метаданные. В терминологии ВМО код BUFR относится к категории таблично-ориентированные кодовые формы, где значение элементов данных определяется ссылкой на набор таблиц, которые хранятся и обслуживаются отдельно от самого сообщения.
BUFR - это сложный формат, который может быть трудно использовать [1] и в нем есть некоторые слабые места.[2] Введение формата BUFR привело к "рассогласованию" данных и множеству ошибок форматирования.[3][4][5]
Описание формата
Сообщение BUFR состоит из шести разделов, пронумерованных от нуля до пяти.
- Разделы 0, 1 и 5 содержат статические метаданные, в основном для идентификации сообщения.
- Раздел 2 не является обязательным; если он используется, он может содержать произвольные данные в любой форме, которую пожелает создатель сообщения (это рекомендуется только для локального использования).
- Раздел 3 содержит последовательность так называемых дескрипторы которые определяют форму и содержание информационного продукта BUFR.
- Раздел 4 - это битовый поток, содержащий основные данные сообщения и значения метаданных, как указано в разделе 3.
Описание продукта, содержащееся в разделе 3, можно сделать сложным и нетривиальным с помощью репликации и / или дескрипторов операторов. (См. Ниже краткий обзор различных типов дескрипторов; дополнительные подробности см. В Руководстве ВМО по BUFR.)
Шаблоны
Раздел 3 содержит короткий заголовок, за которым следует последовательность дескрипторов, которая соответствует содержимому битового потока раздела 4. Последовательность дескрипторов в разделе 3 можно понимать как шаблон сообщения BUFR. Шаблон содержит информацию, необходимую для описания структуры значений данных, встроенных в соответствующий битовый поток. Его следует толковать поэтапно, подобный алгоритму манера. Учитывая набор сообщений BUFR, значения, содержащиеся в разделе 4, могут отличаться от одного сообщения к другому, но их порядок и структура будут оставаться предсказуемыми, если шаблон, представленный в разделе 3, останется неизменным. Шаблоны могут быть разработаны для удовлетворения требований конкретного информационного продукта (например, погодных наблюдений). Такие шаблоны затем можно использовать для стандартизации содержания и структуры продуктов данных в коде BUFR. ВМО выпустила ряд шаблонов BUFR для данных приземных и аэрологических наблюдений.
Дескрипторы
Все дескрипторы шириной 16 бит имеют F-X-Y структура, где F относится к двум старшим битам (крайнему левому); Икс относится к 6 средним битам и Y до младших (крайних правых) 8 бит. В F значение (от 0 до 3) определяет тип дескриптора.
- Дескрипторы элементов (F = 0): как следует из названия, эти дескрипторы используются для передачи элементарных данных и связанных метаданных.
В Икс value идентифицирует класс дескриптора (т.е. параметры горизонтальной координаты, параметры температуры и т. д.). В Y value - это номер дескриптора в своем классе. Дескрипторы элементов классов с 1 по 9 обладают особым свойством оставаться в силе с момента, когда они появляются в остальной части шаблона BUFR, если не противоречат или не отменены. На практике дескрипторы классов с 1 по 9 используются для пространственных, временных и других метаданных, которые применимы к основным данным сообщения BUFR.
Все дескрипторы элементов определены в разделе спецификации BUFR, известном как «Таблица B». Добавление новых дескрипторов элементов в таблицу B не требует изменений в спецификации программного обеспечения BUFR. Определение дескриптора элемента в таблице B включает его номер, определение краткого текста, параметры декодирования (разрядность, масштабный коэффициент и смещение) и тип (числовой, символьная строка, кодовая таблица и т. Д.). - Дескрипторы репликации (F = 1): специальные дескрипторы, которые позволяют контролируемое повторение выбранного количества дескрипторов. Это очень мощная операция, которая вводит петлевые структуры в шаблоны BUFR. В Икс value указывает количество следующих дескрипторов, которые будут включены в репликацию; то Y значение указывает, сколько раз должна выполняться репликация. Если Y= 0, то репликация называется «отложенной репликацией», и количество репликаций должно быть получено из значения дескриптора специального элемента.
- Дескрипторы операторов (F = 2): эти дескрипторы передают специальные операции, которые могут изменять характер данных или позволять создавать и манипулировать дополнительными данными вместе с оригиналом. В Икс значение идентифицирует оператора и Y значение используется для управления его применением. Эти дескрипторы определены в разделе спецификации BUFR, известном как «Таблица C». Добавление новых дескрипторов операторов в Таблицу C делает требует внесения изменений в спецификацию программного обеспечения BUFR и, следовательно, ведет к новому номеру издания BUFR.
- Дескрипторы последовательности (F = 3): один дескриптор последовательности - это псевдоним для последовательности других дескрипторов, включая дескрипторы репликации и записи таблиц B, C и D. Эти дескрипторы определены в разделе спецификации BUFR, известном как «Таблица D». Использование Икс и Y значение такое же, как и для дескрипторов элементов.
Подмножества
Структура данных, установленная в шаблоне раздела 3, может многократно использоваться в одном сообщении BUFR. В таком случае Раздел 4 будет содержать последовательность так называемых подмножества. Например, подмножества можно использовать для передачи наблюдений из нескольких мест в одном сообщении.
Рекомендации
- ^ https://www.eumetsat.int/website/wcm/idc/idcplg?IdcService=GET_FILE&dDocName=PDF_CONF_P57_S5_01_KARHILA_V&RevisionSelectionMethod=LatestReleased&Rendition=Web
- ^ https://ams.confex.com/ams/93Annual/webprogram/Paper221675.html
- ^ http://science.sciencemag.org/content/352/6283/281
- ^ https://ams.confex.com/ams/97Annual/webprogram/Paper305058.html
- ^ https://software.ecmwf.int/wiki/display/TCBUF/ECMWF?preview=/29332277/46924609/Migration_2_BUFR_Report.pdf
внешняя ссылка
- Официальное руководство по BUFR, таблицы и другие действующие кодовые формы ВМО
- Серия вводных презентаций PowerPoint
- Руководства ВМО по табличным кодовым формам (Расширяется в Руководстве по кодексу BUFR, но его следует рассматривать как вторичный источник Руководства)
- Коротко о BUFR
- Стороннее руководство по созданию шаблонов BUFR (из Министерства окружающей среды Канады)
Онлайн-валидаторы BUFR
- Бесплатный онлайн-валидатор CCD и коммерческая библиотека
- Средство проверки формата ECMWF BUFR / CREX
Программные библиотеки
- ЕЦСПП при условии Библиотека BUFRDC и новый библиотека ecCodes. Магия и Metview используйте их для обработки и визуализации данных в коде BUFR.
- Библиотека NCEP
- Библиотека Environment Canada
- Библиотека NCAR wmobufr - Библиотека Java и реализация XML
- Фортран и c-основанный оболочки python вокруг библиотеки ECMWF
- отчет Бесплатная библиотека C ++, реализующая кодирование и декодирование BUFR и CREX
- тролль, читатель и писатель BUFR на чистом Python