Jump to content

NetCDF

Форма общих данных сети
Расширение имени файла
.nc
Тип интернет-СМИ приложение/netcdf
приложение /x-netcdf
Магическое число CDF\001
\211HDF\r\n\032\n
Разработано ЛЕТАТЬ
Последний выпуск
4.9.2 [1]  Отредактируйте это в Викиданных (17 марта 2023 г .; 16 месяцев назад ( 17 марта 2023 г. ) )
Тип формата научные бинарные данные
Расширено с CDF
ХДФ
Веб-сайт www .unidata .летающий .edu /программное обеспечение /netcdf / Отредактируйте это в Викиданных

NetCDF ( Network Common Data Form ) — это набор программных библиотек и самоописающихся машинно-независимых форматов данных, которые поддерживают создание, доступ и обмен научными данными, ориентированными на массивы . Домашняя страница проекта [2] проводится в рамках программы Unidata Университетской корпорации атмосферных исследований (UCAR). Они также являются основным источником программного обеспечения netCDF, разработки стандартов, обновлений и т. д. Формат представляет собой открытый стандарт . NetCDF Classic и 64-битный формат смещения являются международным стандартом Открытого геопространственного консорциума . [3]

Проект стартовал в 1988 году и до сих пор активно поддерживается UCAR. Исходный двоичный формат netCDF (выпущенный в 1990 году, теперь известный как «классический формат netCDF») до сих пор широко используется во всем мире и продолжает полностью поддерживаться во всех выпусках netCDF. Версия 4.0 (выпущенная в 2008 году) позволяла использовать формат файлов данных HDF5 . В версии 4.1 (2010 г.) добавлена ​​поддержка доступа клиентов C и Fortran к указанным подмножествам удаленных данных через OPeNDAP . В версии 4.3.0 (2012 г.) добавлена ​​система сборки CMake для сборок Windows . В версии 4.7.0 (2019 г.) добавлена ​​поддержка чтения объектов Amazon S3 . Планируются дальнейшие выпуски для улучшения производительности, добавления функций и исправления ошибок.

Первоначально формат был основан на концептуальной модели Common Data Format, разработанной НАСА , но с тех пор разошелся и несовместим с ней. [4] [5]

Описание формата

[ редактировать ]

Библиотеки netCDF поддерживают несколько различных двоичных форматов файлов netCDF:

  • Классический формат использовался в первом выпуске netCDF и до сих пор является форматом по умолчанию для создания файлов.
  • 64-битный формат смещения был представлен в версии 3.6.0 и поддерживает большие размеры переменных и файлов.
  • Формат netCDF-4/HDF5 был представлен в версии 4.0; это формат данных HDF5 с некоторыми ограничениями.
  • Формат HDF4 SD поддерживается только для чтения.
  • Формат CDF5 поддерживается совместно с проектом Parallel-Netcdf.

Все форматы являются « самоописывающими ». Это означает, что существует заголовок , который описывает структуру остальной части файла, в частности массивов данных , а также произвольные метаданные файла в форме атрибутов имени/значения . Формат не зависит от платформы , а такие проблемы, как порядок байтов , решаются в библиотеках программного обеспечения . Данные хранятся таким образом, чтобы обеспечить эффективное подмножество.

Начиная с версии 4.0, API netCDF [6] позволяет использовать формат данных HDF5 . Пользователи NetCDF могут создавать файлы HDF5 с преимуществами, недоступными в формате netCDF, такими как файлы гораздо большего размера и несколько неограниченных размеров.

Поддерживается полная обратная совместимость при доступе к старым файлам netCDF и использовании предыдущих версий API C и Fortran.

Программное обеспечение

[ редактировать ]

Доступ к библиотекам

[ редактировать ]

Библиотеки программного обеспечения, поставляемые UCAR, обеспечивают доступ для чтения и записи к файлам netCDF, кодируя и декодируя необходимые массивы и метаданные. Основная библиотека написана на C и предоставляет API для C, C++ и два API для Fortran приложений : один для Fortran 77 и один для Fortran 90. Независимая реализация, также разработанная и поддерживаемая Unidata, написана на 100% Java , который расширяет базовую модель данных и добавляет дополнительную функциональность. Интерфейсы для netCDF на основе библиотеки C также доступны на других языках, включая R ( ncdf , [7] ncvar и RNetCDF [8] пакеты), Perl , Python , Ruby , Haskell , [9] Mathematica , MATLAB , IDL , Джулия и Октава . Спецификация вызовов API очень похожа на разных языках, за исключением неизбежных различий в синтаксисе. Вызовы API для версии 2 сильно отличались от вызовов в версии 3, но они также поддерживаются версиями 3 и 4 для обеспечения обратной совместимости. Программистам приложений, использующим поддерживаемые языки, обычно не нужно беспокоиться о самой файловой структуре, даже если она доступна в открытых форматах.

Приложения

[ редактировать ]

Был написан широкий спектр прикладного программного обеспечения, использующего файлы netCDF. Они варьируются от командной строки утилит до пакетов графической визуализации . Номера указаны ниже, а более длинный список [10] есть на сайте UCAR.

  • Обычно используемый набор утилит командной строки Unix для файлов netCDF — это набор операторов NetCDF (NCO), который предоставляет ряд команд для манипулирования и анализа файлов netCDF, включая базовое объединение записей , нарезку массива и усреднение .
  • ncBrowse [11] это универсальная программа просмотра файлов netCDF, которая включает в себя графику Java, анимацию и 3D-визуализации для широкого спектра соглашений о файлах netCDF.
  • нквью [12] — визуальный браузер для файлов формата netCDF. Эта программа представляет собой простой и быстрый инструмент с графическим интерфейсом для визуализации полей в файле netCDF. Можно просматривать различные измерения массива данных, просматривая значения необработанных данных. Также возможно менять цветовые карты, инвертировать данные и т.д.
  • Паноплия [13] — это программа просмотра файлов netCDF, разработанная в Институте космических исследований имени Годдарда НАСА и предназначенная для представления данных с привязкой к географической привязке. Он написан на Java и, следовательно, независим от платформы. Хотя набор функций Panoply пересекается с ncBrowse и ncview, Panoply отличается широким разнообразием картографических проекций и способностью работать с таблицами цветов разного масштаба.
  • Командный язык NCAR (NCL) используется для анализа и визуализации данных в файлах netCDF (среди других форматов).
  • Язык программирования Python может получить доступ к файлам netCDF с помощью PyNIO. [14] модуль (который также облегчает доступ к множеству других форматов данных). Файлы netCDF также можно прочитать с помощью модуля Python. netCDF4-python, [15] и в панду- подобную DataFrame с xarray модуль. [16]
  • Ferret — это интерактивная компьютерная среда визуализации и анализа, разработанная для удовлетворения потребностей океанографов и метеорологов, анализирующих большие и сложные наборы данных с координатной сеткой. Феррет предлагает подход к анализу, подобный Mathematica; новые переменные могут быть определены в интерактивном режиме как математические выражения, включающие переменные набора данных. Расчеты могут применяться к областям произвольной формы. Полностью документированная графика создается с помощью одной команды.
  • Система сеточного анализа и отображения (GrADS) [17] — это интерактивный настольный инструмент, который используется для легкого доступа, манипулирования и визуализации данных наук о Земле. GrADS реализован во всем мире на множестве широко используемых операционных систем и свободно распространяется через Интернет.
  • nCDF_Браузер [18] — визуальный браузер nCDF, написанный на языке программирования IDL . Переменные, атрибуты и измерения можно сразу загрузить в командную строку IDL для дальнейшей обработки. Вся библиотека Койота [19] файлы, необходимые для запуска nCDF_Browser, доступны в zip-файле.
  • Версии ArcGIS после 9.2 [20] поддерживают файлы netCDF, которые соответствуют конвенциям о климатических и прогнозных метаданных и содержат прямолинейные сетки с равноотстоящими друг от друга координатами. Набор инструментов «Многомерные инструменты» можно использовать для создания растровых слоев, векторных слоев и представлений таблиц из данных netCDF в ArcMap или для преобразования векторных, растровых и табличных данных в netCDF.
  • OriginPro версии 2021b поддерживает [21] netCDF Соглашение CF. Усреднение может быть выполнено во время импорта, чтобы обеспечить возможность обработки больших наборов данных в программном обеспечении с графическим интерфейсом.
  • Библиотека абстракции геопространственных данных обеспечивает поддержку [22] для доступа к чтению и записи данных netCDF.
  • netCDF Explorer — многоплатформенный графический браузер для файлов netCDF. netCDF Explorer может просматривать файлы локально или удаленно с помощью OPeNDAP.
  • R поддерживает netCDF через такие пакеты, как ncdf4 (включая поддержку HDF5). [23] или RNetCDF (без поддержки HDF5). [24]
  • HDFql позволяет пользователям управлять файлами netCDF-4/HDF5 с помощью языка высокого уровня (похожего на SQL) на C, C++, Java, Python, C#, Fortran и R.
  • и пакетная система ECMWF Рабочая станция Metview могут обрабатывать NetCDF вместе с GRIB и BUFR .
  • OpenChrom поставляет конвертер в соответствии с условиями общественной лицензии Eclipse. [25]

Обычное использование

[ редактировать ]

Он обычно используется в климатологии , метеорологии и океанографии приложениях (например, прогнозирование погоды , изменение климата ) и ГИС приложениях .

Это формат ввода/вывода для многих приложений ГИС, а также для обмена общенаучными данными. Цитирую с их сайта: [26]

«NetCDF (сетевая общая форма данных) — это набор интерфейсов для доступа к данным, ориентированным на массивы, и свободно распространяемая коллекция библиотек доступа к данным для C, Fortran, C++, Java и других языков. Библиотеки netCDF поддерживают машинно-независимый формат представления научных данных. Вместе интерфейсы, библиотеки и формат поддерживают создание, доступ и обмен научными данными».

Конвенции

[ редактировать ]

Соглашения о климате и прогнозе (CF) представляют собой соглашения о метаданных для данных наук о Земле, предназначенные для содействия обработке и совместному использованию файлов, созданных с помощью интерфейса прикладного программирования NetCDF (API). Соглашения определяют метаданные, которые включены в тот же файл, что и данные (таким образом делая файл «самоописанным»), которые обеспечивают окончательное описание того, что представляют собой данные в каждой переменной, а также пространственных и временных свойств данных. (включая информацию о сетках, например границы ячеек сетки и методы усреднения ячеек). Это позволяет пользователям данных из разных источников решать, какие данные сопоставимы, и позволяет создавать приложения с мощными возможностями извлечения, перераспределения и отображения.

Параллельный NetCDF

[ редактировать ]

Расширение netCDF для параллельных вычислений под названием Parallel-NetCDF (или PnetCDF) было разработано Аргоннской национальной лабораторией и Северо-Западным университетом . [27] Он основан на MPI-IO , расширении ввода-вывода для связи MPI . Используя структуры данных высокого уровня netCDF, библиотеки Parallel-NetCDF могут использовать оптимизации для эффективного распределения приложений чтения и записи файлов между несколькими процессорами. Пакет Parallel-NetCDF может читать/записывать только классические и 64-битные форматы смещения. Parallel-NetCDF не может читать или записывать формат на основе HDF5, доступный в netCDF-4.0. Пакет Parallel-NetCDF использует разные, но схожие API на языках Fortran и C.

Параллельный ввод-вывод в библиотеке netCDF Unidata поддерживается с версии 4.0 для файлов данных HDF5. Начиная с версии 4.1.1 библиотека Unidata NetCDF C поддерживает параллельный ввод-вывод для классических и 64-битных файлов смещения с использованием библиотеки Parallel-NetCDF, но с API NetCDF.

Взаимодействие библиотек C/Fortran/C++ с другими форматами.

[ редактировать ]

Библиотека netCDF C и библиотеки на ее основе (Fortran 77 и Fortran 90, C++ и все сторонние библиотеки) могут, начиная с версии 4.1.1, читать некоторые данные в других форматах данных. Данные в формате HDF5 можно читать с некоторыми ограничениями. Данные в формате HDF4 могут быть прочитаны библиотекой C netCDF, если они созданы с использованием API HDF4 Scientific Data (SD).

Общая модель данных NetCDF-Java

[ редактировать ]

Библиотека NetCDF-Java в настоящее время читает следующие форматы файлов и протоколы удаленного доступа:

В разработке находится ряд других форматов. Поскольку доступ к каждому из них осуществляется прозрачно через API NetCDF, считается, что библиотека NetCDF-Java реализует общую модель данных для наборов научных данных.

Общая модель данных Java имеет три уровня, которые строятся друг над другом, последовательно добавляя более богатую семантику:

  1. Уровень доступа к данным , также известный как синтаксический уровень, обрабатывает чтение данных.
  2. Уровень системы координат идентифицирует координаты массивов данных. Координаты — это совершенно общая концепция научных данных; специализированные системы координат географической привязки , важные для сообщества наук о Земле, снабжены специальными аннотациями.
  3. Уровень типов научных данных идентифицирует конкретные типы данных, такие как сетки, изображения и точечные данные, и добавляет специализированные методы для каждого типа данных.

Модель данных уровня доступа к данным является обобщением модели данных NetCDF-3 и по существу аналогична модели данных NetCDF-4. Уровень системы координат реализует и расширяет концепции Конвенций о климатических и прогнозных метаданных . Слой научных типов данных позволяет манипулировать данными в координатном пространстве, аналогично спецификациям Открытого геопространственного консорциума . Идентификация систем координат и типизация данных продолжаются, но пользователи могут подключать свои собственные классы во время выполнения для специализированной обработки.

См. также

[ редактировать ]
  1. ^ «НетКДФ 4.9.2» . 17 марта 2023 г.
  2. ^ «Домашняя страница NetCDF» . Юнидата/UCAR. Архивировано из оригинала 6 декабря 2017 г. Проверено 5 декабря 2017 г.
  3. ^ «Стандарт OGC netCDF Classic и 64-битное смещение» . Opengeospatial.org. Архивировано из оригинала 30 ноября 2017 г. Проверено 5 декабря 2017 г.
  4. ^ «Справочная информация — Руководство пользователя NetCDF» . Unidata.ucar.edu . Проверено 27 ноября 2013 г.
  5. ^ «CDF - Часто задаваемые вопросы» . НАСА . Архивировано из оригинала 19 июня 2018 г. Проверено 2 ноября 2018 г.
  6. ^ «Версия 4.0 API netCDF» . Unidata.ucar.edu. Архивировано из оригинала 17 июня 2015 г. Проверено 27 ноября 2013 г.
  7. ^ "нкдф" . Cirrus.ucsd.edu. 06.08.2013. Архивировано из оригинала 3 декабря 2013 г. Проверено 27 ноября 2013 г.
  8. ^ «Рнеткдф» . Cran.r-project.org. 19 июля 2012 г. Архивировано из оригинала 2 декабря 2013 г. Проверено 27 ноября 2013 г.
  9. ^ «hnetcdf: библиотека Haskell NetCDF» . hackage.haskell.org. 10 июля 2014 г. Архивировано из оригинала 9 июля 2014 г. Проверено 10 июля 2014 г.
  10. ^ «Программное обеспечение для управления или отображения данных NetCDF» . Unidata.ucar.edu . Проверено 23 октября 2020 г.
  11. ^ «NCBrowse» . Epic.noaa.gov. Архивировано из оригинала 3 декабря 2013 г. Проверено 27 ноября 2013 г.
  12. ^ "Нквью" . Meteora.ucsd.edu. Архивировано из оригинала 12 февраля 2014 г. Проверено 27 ноября 2013 г.
  13. ^ «Паноплия» . Giss.nasa.gov . Годдардский институт космических исследований . Архивировано из оригинала 20 июня 2014 г. Проверено 27 ноября 2013 г.
  14. ^ «ПиНИО» . Pyngl.ucar.edu. 28 июля 2011 г. Архивировано из оригинала 25 ноября 2013 г. Проверено 27 ноября 2013 г.
  15. ^ «netCDF4» . Архивировано из оригинала 29 ноября 2017 г. Проверено 4 декабря 2017 г.
  16. ^ «xarray: массивы и наборы данных с метками ND в Python» . Архивировано из оригинала 1 сентября 2016 г. Проверено 7 сентября 2016 г.
  17. ^ «Главная страница ГрАДС» . Архивировано из оригинала 13 февраля 2016 г. Проверено 10 апреля 2018 г.
  18. ^ «Руководство Койота по IDL-программированию» . Dfanning.com. 2013-11-23. Архивировано из оригинала 23 сентября 2015 г. Проверено 27 ноября 2013 г.
  19. ^ «Библиотека Койотов» . Dfanning.com. 2013-11-23. Архивировано из оригинала 23 сентября 2015 г. Проверено 27 ноября 2013 г.
  20. ^ «ArcGIS версии 9.2» . Esri.com. Архивировано из оригинала 22 ноября 2013 г. Проверено 27 ноября 2013 г.
  21. ^ «Импорт и обработка NetCDF» . originlab.com . Проверено 11 мая 2021 г.
  22. ^ «Общая форма данных сети NetCDF» . Gdal.org. Архивировано из оригинала 6 июня 2013 г. Проверено 27 ноября 2013 г.
  23. ^ Дэвид Пирс (2014). ncdf4: Интерфейс для файлов данных формата Unidata netCDF (версия 4 или более ранняя). Пакет R версии 1.13. https://cran.r-project.org/package=ncdf4
  24. ^ Павел Мична и при участии Милтона Вудса (2015). RNetCDF: интерфейс для наборов данных NetCDF. Пакет R версии 1.7-3. https://cran.r-project.org/package=RNetCDF
  25. ^ OpenChrom: кроссплатформенное программное обеспечение с открытым исходным кодом для масс-спектрометрического анализа хроматографических данных , Филип Вениг, Юрген Одерматт, BMC Bioinformatics ; 2010 г .; дои : 10.1186/1471-2105-11-405
  26. ^ «Что такое netCDF?» . Программный центр Юнидата. Архивировано из оригинала 15 марта 2013 г. Проверено 26 ноября 2012 г.
  27. ^ "параллельный-netcdf" . Mcs.anl.gov. 17 ноября 2013 г. Архивировано из оригинала 1 декабря 2008 г. Проверено 27 ноября 2013 г.
  28. ^ «ДОКУМЕНТАЦИЯ В ФОРМАТЕ BUFR» . Архивировано из оригинала 9 октября 2007 года . Проверено 2 февраля 2008 г.
  29. ^ [1] Архивировано 5 сентября 2008 г., в Wayback Machine.
  30. ^ [2] Архивировано 14 декабря 2005 г., в Wayback Machine.
  31. ^ [3] Архивировано 21 мая 2008 г., в Wayback Machine.
  32. ^ «Спутниковый формат GINI» . Weather.unisys.com. Архивировано из оригинала 2 декабря 2013 г. Проверено 27 ноября 2013 г.
  33. ^ «ЮНИДАТА | ГЕМПАК» . Unidata.ucar.edu. Архивировано из оригинала 4 ноября 2013 г. Проверено 27 ноября 2013 г.
  34. ^ [4] Архивировано 12 февраля 2008 г., в Wayback Machine.
  35. ^ «НетКДФ» . Unidata.ucar.edu. Архивировано из оригинала 29 ноября 2013 г. Проверено 27 ноября 2013 г.
  36. ^ «НетКДФ-4» . Unidata.ucar.edu. Архивировано из оригинала 17 июня 2015 г. Проверено 27 ноября 2013 г.
  37. ^ Стив Ансари. «NCDC: Радиолокационные ресурсы» . Ncdc.noaa.gov. Архивировано из оригинала 2 декабря 2013 г. Проверено 27 ноября 2013 г.
[ редактировать ]
Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: 29cd2037fab1d1c0dbc797dd36fb314a__1719223320
URL1:https://arc.ask3.ru/arc/aa/29/4a/29cd2037fab1d1c0dbc797dd36fb314a.html
Заголовок, (Title) документа по адресу, URL1:
NetCDF - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)