Инструменты для преобразования данных
Результаты обучения
К концу этой практической сессии вы сможете:
- Получать доступ к инструментам командной строки ecCodes внутри контейнера wis2box-api
- Использовать инструмент synop2bufr для преобразования отчетов FM-12 SYNOP в BUFR из командной строки
- Запускать преобразование synop2bufr через wis2box-webapp
- Использовать инструмент csv2bufr для преобразования данных CSV в BUFR из командной строки
Введение
Данные, публикуемые в WIS2, должны соответствовать требованиям и стандартам, установленным различными экспертными сообществами по дисциплинам/областям системы Земли. Чтобы снизить барьер для публикации данных наземных наблюдений, wis2box предоставляет инструменты для преобразования данных в формат BUFR. Эти инструменты доступны через контейнер wis2box-api и могут использоваться из командной строки для тестирования процесса преобразования данных.
Основные преобразования, поддерживаемые wis2box, включают преобразование отчетов FM-12 SYNOP в BUFR и данных CSV в BUFR. Поддержка данных FM-12 обусловлена их широким использованием и обменом в сообществе ВМО, а поддержка данных CSV позволяет преобразовывать данные, полученные с автоматических метеостанций, в формат BUFR.
О формате FM-12 SYNOP
Поверхностные метеорологические отчеты с наземных станций исторически передавались ежечасно или в основные (00, 06, 12 и 18 UTC) и промежуточные (03, 09, 15, 21 UTC) синоптические часы. До перехода на BUFR эти отчеты кодировались в текстовом формате FM-12 SYNOP. Хотя переход на BUFR был запланирован к завершению в 2012 году, значительное количество отчетов до сих пор передается в устаревшем формате FM-12 SYNOP. Дополнительную информацию о формате FM-12 SYNOP можно найти в Руководстве ВМО по кодам, Том I.1 (WMO-No. 306, Volume I.1).
О библиотеке ecCodes
Библиотека ecCodes представляет собой набор программных библиотек и утилит, предназначенных для декодирования и кодирования метеорологических данных в форматах GRIB и BUFR. Она разработана Европейским центром среднесрочных прогнозов погоды (ECMWF), см. документацию ecCodes для получения дополнительной информации.
Программное обеспечение wis2box включает библиотеку ecCodes в базовый образ контейнера wis2box-api. Это позволяет пользователям получать доступ к инструментам командной строки и библиотекам из контейнера. Библиотека ecCodes используется в стеке wis2box для декодирования и кодирования сообщений BUFR.
О csv2bufr и synop2bufr
Помимо ecCodes, wis2box использует следующие модули Python, которые работают с ecCodes для преобразования данных в формат BUFR:
- synop2bufr: для поддержки устаревшего формата FM-12 SYNOP, традиционно используемого ручными наблюдателями. Модуль synop2bufr использует дополнительные метаданные станции для кодирования дополнительных параметров в файл BUFR. См. репозиторий synop2bufr на GitHub
- csv2bufr: для преобразования данных CSV, полученных с автоматических метеостанций, в формат BUFR. Модуль csv2bufr используется для преобразования данных CSV в формат BUFR с использованием шаблона сопоставления, который определяет, как данные CSV должны быть преобразованы в формат BUFR. См. репозиторий csv2bufr на GitHub
Эти модули могут использоваться как отдельно, так и в составе стека wis2box.
Подготовка
Предварительные требования
- Убедитесь, что ваш wis2box настроен и запущен
- Убедитесь, что вы настроили набор данных и сконфигурировали хотя бы одну станцию в вашем wis2box
- Подключитесь к брокеру MQTT вашего экземпляра wis2box с помощью MQTT Explorer
- Откройте веб-приложение wis2box (
http://YOUR-HOST/wis2box-webapp
) и убедитесь, что вы вошли в систему - Откройте панель мониторинга Grafana для вашего экземпляра, перейдя по адресу
http://YOUR-HOST:3000
Для использования инструментов командной строки BUFR вам необходимо войти в контейнер wis2box-api. Если не указано иное, все команды должны выполняться в этом контейнере. Вам также потребуется открыть MQTT Explorer и подключиться к вашему брокеру.
Сначала подключитесь к вашей виртуальной машине студента через SSH-клиент и скопируйте материалы упражнения в контейнер wis2box-api:
docker cp ~/exercise-materials/data-conversion-exercises wis2box-api:/root
Затем войдите в контейнер wis2box-api и перейдите в каталог, где находятся материалы упражнения:
cd ~/wis2box
python3 wis2box-ctl.py login wis2box-api
cd /root/data-conversion-exercises
Убедитесь, что инструменты доступны, начиная с ecCodes:
bufr_dump -V
Вы должны получить следующий ответ:
ecCodes Version 2.36.0
Далее проверьте версию synop2bufr:
synop2bufr --version
Вы должны получить следующий ответ:
synop2bufr, version 0.7.0
Далее проверьте csv2bufr:
csv2bufr --version
Вы должны получить следующий ответ:
csv2bufr, version 0.8.6
Инструменты командной строки ecCodes
Библиотека ecCodes, включенная в контейнер wis2box-api, предоставляет ряд инструментов командной строки для работы с файлами BUFR.
Следующие упражнения демонстрируют, как использовать bufr_ls
и bufr_dump
для проверки содержимого файла BUFR.
bufr_ls
В первом упражнении вы будете использовать команду bufr_ls
для проверки заголовков файла BUFR и определения типа содержимого файла.
Используйте следующую команду для запуска bufr_ls
на файле bufr-cli-ex1.bufr4
:
bufr_ls bufr-cli-ex1.bufr4
Вы должны увидеть следующий вывод:
bufr-cli-ex1.bufr4
centre masterTablesVersionNumber localTablesVersionNumber typicalDate typicalTime numberOfSubsets
cnmc 29 0 20231002 000000 1
1 of 1 messages in bufr-cli-ex1.bufr4
1 of 1 total messages in 1 file
Различные параметры могут быть переданы в bufr_ls
для изменения как формата, так и полей заголовка, которые выводятся.
Question
Какой командой можно вывести предыдущий результат в формате JSON?
Вы можете запустить команду bufr_ls
с флагом -h
, чтобы увидеть доступные параметры.
Нажмите, чтобы увидеть ответ
Вы можете изменить формат вывода на JSON, используя флаг -j
, например:
bufr_ls -j bufr-cli-ex1.bufr4
При выполнении этой команды вы должны получить следующий вывод:
{ "messages" : [
{
"centre": "cnmc",
"masterTablesVersionNumber": 29,
"localTablesVersionNumber": 0,
"typicalDate": 20231002,
"typicalTime": "000000",
"numberOfSubsets": 1
}
]}
Вывод представляет значения некоторых ключей заголовка в файле BUFR.
Сам по себе этот вывод не очень информативен, так как предоставляет только ограниченную информацию о содержимом файла.
При анализе файла BUFR мы часто хотим определить тип данных, содержащихся в файле, и типичную дату/время данных в файле. Эта информация может быть выведена с помощью флага -p
для выбора заголовков для вывода. Несколько заголовков могут быть включены с использованием списка, разделенного запятыми.
Вы можете использовать следующую команду для вывода категории данных, подкатегории, типичной даты и времени:
bufr_ls -p dataCategory,internationalDataSubCategory,typicalDate,typicalTime -j bufr-cli-ex1.bufr4
Question
Выполните предыдущую команду и интерпретируйте вывод, используя Общую кодовую таблицу C-13, чтобы определить категорию и подкатегорию данных.
Какой тип данных (категория и подкатегория) содержится в файле? Каковы типичная дата и время данных?
Нажмите, чтобы увидеть ответ
{ "messages" : [
{
"dataCategory": 2,
"internationalDataSubCategory": 4,
"typicalDate": 20231002,
"typicalTime": "000000"
}
]}
Из этого мы видим, что:
- Категория данных — 2, что указывает на данные типа "Вертикальные зондирования (кроме спутниковых)".
- Международная подкатегория — 4, что указывает на данные типа "Отчёты о температуре/влажности/ветре на верхних уровнях с фиксированных наземных станций (TEMP)".
- Типичная дата и время — 2023-10-02 и 00:00:00z соответственно.
bufr_dump
Команда bufr_dump
может быть использована для отображения и анализа содержимого BUFR-файла, включая сами данные.
Попробуйте выполнить команду bufr_dump
для второго примера файла bufr-cli-ex2.bufr4
:
bufr_dump bufr-cli-ex2.bufr4
Результатом будет JSON, который может быть сложным для анализа. Попробуйте использовать флаг -p
, чтобы вывести данные в текстовом формате (ключ=значение):
bufr_dump -p bufr-cli-ex2.bufr4
Вы увидите большое количество ключей в выводе, многие из которых отсутствуют. Это типично для реальных данных, так как не все ключи eccodes содержат данные.
Вы можете использовать команду grep
, чтобы отфильтровать вывод и показать только те ключи, которые не отсутствуют. Например, чтобы показать все ключи, которые не отсутствуют, используйте следующую команду:
bufr_dump -p bufr-cli-ex2.bufr4 | grep -v MISSING
Question
Какое значение давления, приведённого к среднему уровню моря, указано в BUFR-файле bufr-cli-ex2.bufr4
?
Нажмите, чтобы увидеть ответ
Используйте следующую команду:
bufr_dump -p bufr-cli-ex2.bufr4 | grep -i 'pressureReducedToMeanSeaLevel'
Вы должны увидеть следующий вывод:
pressureReducedToMeanSeaLevel=105590
Question
Каков идентификатор станции WIGOS, которая предоставила данные в BUFR-файле bufr-cli-ex2.bufr4
?
Нажмите, чтобы увидеть ответ
Используйте следующую команду:
bufr_dump -p bufr-cli-ex2.bufr4 | grep -i 'wigos'
Вы должны увидеть следующий вывод:
wigosIdentifierSeries=0
wigosIssuerOfIdentifier=20000
wigosIssueNumber=0
wigosLocalIdentifierCharacter="99100"
Это указывает, что идентификатор станции WIGOS — 0-20000-0-99100
.
Конвертация synop2bufr
Далее рассмотрим, как преобразовать данные FM-12 SYNOP в формат BUFR с использованием модуля synop2bufr
. Модуль synop2bufr
используется для преобразования данных FM-12 SYNOP в формат BUFR. Этот модуль установлен в контейнере wis2box-api и может быть использован из командной строки следующим образом:
synop2bufr data transform \
--metadata <station-metadata.csv> \
--output-dir <output-directory-path> \
--year <year-of-observation> \
--month <month-of-observation> \
<input-fm12.txt>
Аргумент --metadata
используется для указания файла метаданных станции, который предоставляет дополнительную информацию для кодирования в BUFR-файле. Аргумент --output-dir
используется для указания директории, куда будут записаны преобразованные BUFR-файлы. Аргументы --year
и --month
используются для указания года и месяца наблюдения.
Модуль synop2bufr
также используется в wis2box-webapp для преобразования данных FM-12 SYNOP в формат BUFR с использованием веб-формы.
Следующие упражнения продемонстрируют, как работает модуль synop2bufr
и как его использовать для преобразования данных FM-12 SYNOP в формат BUFR.
Просмотр примера сообщения SYNOP
Изучите пример файла сообщения SYNOP для этого упражнения synop_message.txt
:
cd /root/data-conversion-exercises
more synop_message.txt
Question
Сколько отчетов SYNOP содержится в этом файле?
Нажмите, чтобы увидеть ответ
Вывод показывает следующее:
AAXX 21121
15015 02999 02501 10103 21090 39765 42952 57020 60001=
15020 02997 23104 10130 21075 30177 40377 58020 60001 81041=
15090 02997 53102 10139 21075 30271 40364 58031 60001 82046=
В файле содержится 3 отчета SYNOP, соответствующих 3 различным станциям (идентифицированным по 5-значным традиционным идентификаторам станций: 15015, 15020 и 15090).
Обратите внимание, что конец каждого отчета обозначен символом =
.
Просмотр списка станций
Аргумент --metadata
требует CSV-файл с предопределённым форматом. Рабочий пример предоставлен в файле station_list.csv
:
Используйте следующую команду, чтобы просмотреть содержимое файла station_list.csv
:
more station_list.csv
Question
Сколько станций указано в списке станций? Каковы идентификаторы станций WIGOS?
Нажмите, чтобы увидеть ответ
Вывод показывает следующее:
station_name,wigos_station_identifier,traditional_station_identifier,facility_type,latitude,longitude,elevation,barometer_height,territory_name,wmo_region
OCNA SUGATAG,0-20000-0-15015,15015,landFixed,47.7770616258,23.9404602638,503.0,504.0,ROU,europe
BOTOSANI,0-20000-0-15020,15020,landFixed,47.7356532437,26.6455501701,161.0,162.1,ROU,europe
Это соответствует метаданным для 2 станций: с идентификаторами WIGOS 0-20000-0-15015
и 0-20000-0-15020
.
Преобразование SYNOP в BUFR
Далее используйте следующую команду для преобразования сообщения FM-12 SYNOP в формат BUFR:
synop2bufr data transform --metadata station_list.csv --output-dir ./ --year 2024 --month 09 synop_message.txt
Question
Сколько BUFR-файлов было создано? Что означает сообщение WARNING в выводе?
Нажмите, чтобы увидеть ответ
Вывод показывает следующее:
[WARNING] Station 15090 not found in station file
Если вы проверите содержимое вашей директории с помощью команды ls -lh
, вы увидите, что было создано 2 новых BUFR-файла: WIGOS_0-20000-0-15015_20240921T120000.bufr4
и WIGOS_0-20000-0-15020_20240921T120000.bufr4
.
Сообщение WARNING указывает, что станция с традиционным идентификатором 15090
не была найдена в файле списка станций station_list.csv
. Это означает, что отчет SYNOP для этой станции не был преобразован в формат BUFR.
Question
Проверьте содержимое BUFR-файла WIGOS_0-20000-0-15015_20240921T120000.bufr4
с помощью команды bufr_dump
.
Можете ли вы подтвердить, что информация, предоставленная в файле station_list.csv
, присутствует в BUFR-файле?
Нажмите, чтобы увидеть ответ
Вы можете использовать следующую команду, чтобы проверить содержимое BUFR-файла:
bufr_dump -p WIGOS_0-20000-0-15015_20240921T120000.bufr4 | grep -v MISSING
Вы увидите следующий вывод:
wigosIdentifierSeries=0
wigosIssuerOfIdentifier=20000
wigosIssueNumber=0
wigosLocalIdentifierCharacter="15015"
blockNumber=15
stationNumber=15
stationOrSiteName="OCNA SUGATAG"
stationType=1
year=2024
month=9
day=21
hour=12
minute=0
latitude=47.7771
longitude=23.9405
heightOfStationGroundAboveMeanSeaLevel=503
heightOfBarometerAboveMeanSeaLevel=504
Обратите внимание, что это включает данные, предоставленные файлом station_list.csv
.
Форма SYNOP в wis2box-webapp
Модуль synop2bufr
также используется в wis2box-webapp
для преобразования данных FM-12 SYNOP в формат BUFR с использованием веб-формы ввода.
Чтобы протестировать это, перейдите по адресу http://YOUR-HOST/wis2box-webapp
и выполните вход.
Выберите SYNOP Form
из меню слева и скопируйте содержимое файла synop_message.txt
:
AAXX 21121
15015 02999 02501 10103 21090 39765 42952 57020 60001=
15020 02997 23104 10130 21075 30177 40377 58020 60001 81041=
15090 02997 53102 10139 21075 30271 40364 58031 60001 82046=
Вставьте его в текстовое поле SYNOP message
:
Question
Удалось ли вам отправить форму? Каков результат?
Нажмите, чтобы увидеть ответ
Вам нужно выбрать набор данных и предоставить токен для "processes/wis2box", который вы создали в предыдущем упражнении, чтобы отправить форму.
Если вы предоставите недействительный токен, вы увидите:
- Результат: Unauthorized, please provide a valid 'processes/wis2box' token
Если вы предоставите действительный токен, вы увидите "WARNINGS: 3". Нажмите на "WARNINGS", чтобы открыть выпадающий список, который покажет:
- Station 15015 not found in station file
- Station 15020 not found in station file
- Station 15090 not found in station file
Чтобы преобразовать эти данные в формат BUFR, вам нужно настроить соответствующие станции в вашем wis2box и убедиться, что станции связаны с темой вашего набора данных.
Note
В упражнении ingesting-data-for-publication вы загрузили файл "synop_202412030900.txt", и он был преобразован в формат BUFR с помощью модуля synop2bufr
.
В автоматизированном рабочем процессе в wis2box
год и месяц автоматически извлекаются из имени файла и используются для заполнения аргументов --year
и --month
, необходимых для synop2bufr
, в то время как метаданные станции автоматически извлекаются из конфигурации станции в wis2box
.
Преобразование csv2bufr
Note
Убедитесь, что вы все еще находитесь в контейнере wis2box-api
и в каталоге /root/data-conversion-exercises
. Если вы вышли из контейнера в предыдущем упражнении, вы можете войти снова следующим образом:
cd ~/wis2box
python3 wis2box-ctl.py login wis2box-api
cd /root/data-conversion-exercises
Теперь давайте рассмотрим, как преобразовать данные CSV в формат BUFR с использованием модуля csv2bufr
. Модуль установлен в контейнере wis2box-api
и может быть использован из командной строки следующим образом:
csv2bufr data transform \
--bufr-template <bufr-mapping-template> \
<input-csv-file>
Аргумент --bufr-template
используется для указания файла шаблона сопоставления BUFR, который предоставляет соответствие между входными данными CSV и выходными данными BUFR, указанными в JSON-файле. Шаблоны сопоставления по умолчанию установлены в каталоге /opt/csv2bufr/templates
в контейнере wis2box-api
.
Просмотр примера файла CSV
Просмотрите содержимое примерного файла CSV aws-example.csv
:
more aws-example.csv
Question
Сколько строк данных содержится в файле CSV? Каков идентификатор станции WIGOS, сообщающей данные в файле CSV?
Нажмите, чтобы увидеть ответ
Вывод показывает следующее:
wsi_series,wsi_issuer,wsi_issue_number,wsi_local,wmo_block_number,wmo_station_number,station_type,year,month,day,hour,minute,latitude,longitude,station_height_above_msl,barometer_height_above_msl,station_pressure,msl_pressure,geopotential_height,thermometer_height,air_temperature,dewpoint_temperature,relative_humidity,method_of_ground_state_measurement,ground_state,method_of_snow_depth_measurement,snow_depth,precipitation_intensity,anemometer_height,time_period_of_wind,wind_direction,wind_speed,maximum_wind_gust_direction_10_minutes,maximum_wind_gust_speed_10_minutes,maximum_wind_gust_direction_1_hour,maximum_wind_gust_speed_1_hour,maximum_wind_gust_direction_3_hours,maximum_wind_gust_speed_3_hours,rain_sensor_height,total_precipitation_1_hour,total_precipitation_3_hours,total_precipitation_6_hours,total_precipitation_12_hours,total_precipitation_24_hours
0,20000,0,60355,60,355,1,2024,3,31,1,0,47.77706163,23.94046026,503,504.43,100940,101040,1448,5,298.15,294.55,80,3,1,1,0,0.004,10,-10,30,3,30,5,40,9,20,11,2,4.7,5.3,7.9,9.5,11.4
0,20000,0,60355,60,355,1,2024,3,31,2,0,47.77706163,23.94046026,503,504.43,100940,101040,1448,5,25.,294.55,80,3,1,1,0,0.004,10,-10,30,3,30,5,40,9,20,11,2,4.7,5.3,7.9,9.5,11.4
0,20000,0,60355,60,355,1,2024,3,31,3,0,47.77706163,23.94046026,503,504.43,100940,101040,1448,5,298.15,294.55,80,3,1,1,0,0.004,10,-10,30,3,30,5,40,9,20,11,2,4.7,5.3,7.9,9.5,11.4
Первая строка файла CSV содержит заголовки столбцов, которые используются для идентификации данных в каждом столбце.
После строки заголовков содержатся 3 строки данных, представляющие 3 метеорологических наблюдения с одной и той же станции с идентификатором WIGOS 0-20000-0-60355
в три разных временных метки: 2024-03-31 01:00:00
, 2024-03-31 02:00:00
и 2024-03-31 03:00:00
.
Просмотр aws-template
wis2box-api
включает набор предопределенных шаблонов сопоставления BUFR, которые установлены в каталоге /opt/csv2bufr/templates
.
Проверьте содержимое каталога /opt/csv2bufr/templates
:
ls /opt/csv2bufr/templates
Вы должны увидеть следующий вывод:
CampbellAfrica-v1-template.json aws-template.json daycli-template.json
Давайте проверим содержимое файла aws-template.json
:
cat /opt/csv2bufr/templates/aws-template.json
Это вернет большой JSON-файл, предоставляющий сопоставление для 43 столбцов CSV.
Question
Какой столбец CSV сопоставлен с ключом eccodes airTemperature
? Каковы допустимые минимальные и максимальные значения для этого ключа?
Нажмите, чтобы увидеть ответ
Используйте следующую команду для фильтрации вывода:
cat /opt/csv2bufr/templates/aws-template.json | grep -i airTemperature
{"eccodes_key": "#1#airTemperature", "value": "data:air_temperature", "valid_min": "const:193.15", "valid_max": "const:333.15"},
Значение, которое будет закодировано для ключа eccodes airTemperature
, будет взято из данных в столбце CSV: air_temperature.
Минимальные и максимальные значения для этого ключа составляют 193.15
и 333.15
соответственно.
Question
Какой столбец CSV сопоставлен с ключом eccodes internationalDataSubCategory
? Каково значение этого ключа?
Нажмите, чтобы увидеть ответ
Используйте следующую команду для фильтрации вывода:
cat /opt/csv2bufr/templates/aws-template.json | grep -i internationalDataSubCategory
{"eccodes_key": "internationalDataSubCategory", "value": "const:2"},
Нет столбца CSV, сопоставленного с ключом eccodes internationalDataSubCategory
, вместо этого используется постоянное значение 2, которое будет закодировано во всех BUFR-файлах, созданных с использованием этого шаблона сопоставления.
Конвертация CSV в BUFR
Попробуем преобразовать файл в формат BUFR с помощью команды csv2bufr
:
csv2bufr data transform --bufr-template aws-template ./aws-example.csv
Question
Сколько BUFR-файлов было создано?
Нажмите, чтобы увидеть ответ
Вывод показывает следующее:
CLI: ... Transforming ./aws-example.csv to BUFR ...
CLI: ... Processing subsets:
CLI: ..... 384 bytes written to ./WIGOS_0-20000-0-60355_20240331T010000.bufr4
#1#airTemperature: Value (25.0) out of valid range (193.15 - 333.15).; Element set to missing
CLI: ..... 384 bytes written to ./WIGOS_0-20000-0-60355_20240331T020000.bufr4
CLI: ..... 384 bytes written to ./WIGOS_0-20000-0-60355_20240331T030000.bufr4
CLI: End of processing, exiting.
Вывод указывает, что было создано 3 BUFR-файла: WIGOS_0-20000-0-60355_20240331T010000.bufr4
, WIGOS_0-20000-0-60355_20240331T020000.bufr4
и WIGOS_0-20000-0-60355_20240331T030000.bufr4
.
Чтобы проверить содержимое BUFR-файлов, игнорируя отсутствующие значения, вы можете использовать следующую команду:
bufr_dump -p WIGOS_0-20000-0-60355_20240331T010000.bufr4 | grep -v MISSING
Question
Какое значение имеет ключ eccodes airTemperature
в BUFR-файле WIGOS_0-20000-0-60355_20240331T010000.bufr4
? А как насчет BUFR-файла WIGOS_0-20000-0-60355_20240331T020000.bufr4
?
Нажмите, чтобы увидеть ответ
Чтобы отфильтровать вывод, вы можете использовать следующую команду:
bufr_dump -p WIGOS_0-20000-0-60355_20240331T010000.bufr4 | grep -v MISSING | grep airTemperature
#1#airTemperature=298.15
А для второго файла:
bufr_dump -p WIGOS_0-20000-0-60355_20240331T020000.bufr4 | grep -v MISSING | grep airTemperature
Вы не получите результата, что указывает на то, что значение для ключа airTemperature
отсутствует в BUFR-файле WIGOS_0-20000-0-60355_20240331T020000.bufr4
. Программа csv2bufr отказалась закодировать значение 25.0
из данных CSV, так как оно выходит за пределы допустимого диапазона 193.15
и 333.15
, определенного в шаблоне сопоставления.
Обратите внимание, что преобразование CSV в BUFR с использованием одного из предопределенных шаблонов сопоставления BUFR имеет ограничения:
- файл CSV должен быть в формате, определенном в шаблоне сопоставления, то есть имена столбцов CSV должны соответствовать именам, определенным в шаблоне сопоставления
- вы можете закодировать только ключи, определенные в шаблоне сопоставления
- проверки качества ограничены проверками, определенными в шаблоне сопоставления
Для получения информации о том, как создавать и использовать пользовательские шаблоны сопоставления BUFR, см. следующую практическую задачу csv2bufr-templates.
Заключение
Поздравляем!
В этой практической сессии вы узнали:
- как получить доступ к инструментам командной строки ecCodes внутри контейнера wis2box-api
- как использовать
synop2bufr
для преобразования отчетов FM-12 SYNOP в BUFR из командной строки - как использовать форму SYNOP в wis2box-webapp для преобразования отчетов FM-12 SYNOP в BUFR
- как использовать
csv2bufr
для преобразования данных CSV в BUFR из командной строки