2016-04-21 3 views
6

NetCDF4 имеет соглашение Conventions для добавления структуры в NetCDF. Я ищу аналогичную вещь, но специально для HDF5.Добавление структуры в файлы HDF5 - эквивалент NetCDF «Соглашения» для HDF5

Моя общая цель - добавить структуру к моим файлам HDF5 в стандарте . Я хочу что-то вроде того, что делает с HDF5 images, чтобы определить тип, используя атрибуты групп и наборов данных ~ как:

CLASS: IMAGE 
IMAGE_VERSION: 1.2 
IMAGE_SUBCLASS: IMAGE_TRUECOLOR 
... 

Но, насколько я могу сказать, что спецификация изображения является стоять в одиночку. Может быть, мне следует просто повторно использовать «конвенции» NetCDF?

Update:

Я знаю NetCDF4 реализован на вершине hdf5. В этом случае мы имеем данные из моделирования турбулентности и экспериментов, а не геоданных. Эти данные обычно ограничены < = 4D. Мы используем HDF5 для хранения этих данных уже, но у нас нет разработанных стандартов. Псевдостандартные форматы просто сортируются органически в организации.

ответ

2

Наилучший выбор для стандартного действительно зависит от типа данных, которые вы хотите сохранить. Соглашения CF наиболее полезны для данных измерений, которые привязаны по географическому признаку, например данные, измеренные со спутника. Было бы полезно узнать, из чего состоят ваши данные.

Предполагая, что вы геопривязанных данные, я думаю, у вас есть два варианта:

  1. Повторное использование условности CF в HDF, как вы предложили. Есть много людей, которые смотрят на это, быстрый поиск в Google дал мне this.
  2. HDF-EOS (отказ от ответственности, я никогда не использовал его). Он хранит данные в файлах HDF с использованием определенной структуры, но, по-видимому, требует использования библиотеки расширений. Я не нашел спецификации структуры, только API. Кроме того, похоже, что нет активного сообщества за пределами NASA.

Поэтому я бы, вероятно, пойти с вариантом 1: использовать соглашения CF в ваших HDF файлы и посмотреть, если третий инструмент партии, такие как Panoply, можно использовать его.

+0

У нас нет геоданных. HDF-EOS стоит поближе рассмотреть. Думаю, это CF-соглашения NetCDF для HDF5? – spinkus

+0

Поскольку у вас нет геоданных, я бы сказал, что HDF-EOS не очень полезен. Также половина CF-конвенций неприменима. Почему бы не сделать «официальный» стандарт внутри организации? Вы можете начать с нуля или начать с конвенций CF, вычеркнуть то, что вам не нужно, и подробно остановиться на этом. ИМО хорошо иметь соглашения об именах переменных, требуемых атрибутах, порядке измерения, масштабах измерения и т. Д. Также может оказаться полезным инструмент, который проверяет, совместимы ли файлы. – titusjan

+0

Да, это именно тот путь, который мы решили принять - в рамках стандартного организации. Мы принимаем то, что можем от CF Convention (нам не нужно многого), и я перейду к ссылке на HDF-EOS. Мы понимаем, что маловероятно, что в первом проекте мы получим все, что нужно всем, но мы просто установим, что в будущем людям следует сначала отнестись к конвенциям CF при обновлении стандарта. – spinkus

2

Файлы NetCDF4 фактически хранятся в формате HDF5 (http://www.unidata.ucar.edu/publications/factsheets/current/factsheet_netcdf.pdf), однако они используют соглашения netCDF4 для атрибутов, размеров и т. Д. Файлы являются самоописаниями, что является большим плюсом. HDF5 без netCDF4 позволяет гораздо больше свободы в определении ваших данных. Есть ли конкретная причина, по которой вы хотели бы использовать HDF5 вместо netCDF4?

Я бы сказал, что если у вас нет каких-либо конкретных ограничений (например, модели или программного обеспечения для визуализации, которые возникают в файлах netCDF4), вам было бы лучше использовать netCDF. netCDF4 может использоваться операторами NCO/CDO, ncl (ncl также принимает HDF5), idl, модуль python netCDF4, хорек и т. д. Лично я считаю, что netCDF4 очень удобен для хранения климатических или метеорологических данных. Для этого уже написано много операторов, и вам не нужно беспокоиться о разработке стандарта для ваших собственных данных - это уже сделано для вас. CMOR (http://cmip-pcmdi.llnl.gov/cmip5/output_req.html) может использоваться для записи климатических данных, совместимых с CF. Он использовался для самого последнего проекта по оценке климатической модели.

С другой стороны, HDF5 может стоить того, если у вас есть другой тип данных, и вы ищете некоторые очень специфические функции, для которых вам нужен более индивидуальный формат файла.Не могли бы вы уточнить свои потребности в комментариях?

Update:

К сожалению, стандарты для имен переменных и полей немного менее ясно и хорошо организованные для hdf5 файлов, чем NetCDF, поскольку это был формат выбора для крупных проектов по моделированию климата, как CMIP или КОРДЭКС. Проблема, по существу, тает в использовании соглашений EOSDIS или CF, но поиск поддерживаемых в настоящее время librairies, которые реализуют эти стандарты для файлов HDF5, и иметь четкую документацию не совсем просто (если бы вы, вероятно, не задали бы вопрос).

Если вам действительно нужен стандарт, NASA объясняет все возможные стандарты метаданных в болезненных подробностях здесь: http://gcmd.nasa.gov/add/standards/index.html.

Для информации, HDF-EOS и HDF5 не соответствуют точному формату (HDF-EOS уже содержит данные картографии и стандартизован для данных о земной науке), поэтому я не знаю, будет ли этот формат слишком ограничительным для вы. Инструменты для работы с этим форматом описаны здесь: http://hdfeos.net/software/tool.php и приведены здесь http://hdfeos.org/help/reference/HTIC_Brochure_Examples.pdf.

Если вы по-прежнему предпочитаете использовать HDF5, лучшим вариантом будет, вероятно, загрузить файл формата HDF5 из NASA для получения аналогичных данных и использовать его в качестве основы для создания собственных инструментов в выбранном вами языке. Вот список исчерпывающих примеров с использованием форматов HDF5, HDF4 и HDF-EOS со сценариями для обработки и визуализации данных в Python, MATLAB, IDL и NCL: http://hdfeos.net/zoo/index_openLAADS_Examples.php#MODIS

По существу проблема заключается в том, что НАСА предоставляет инструменты, позволяющие работать с их данными, но не обязательно, чтобы вы могли воссоздать аналогично структурированные данные в своей собственной лабораторной обстановке.

Вот еще некоторые функции/детали о hdf5 для данных по наукам о Земле НАСА: MERRA продукта https://gmao.gsfc.nasa.gov/products/documents/MERRA_File_Specification.pdf GrADS информация совместимая HDF5 http://disc.sci.gsfc.nasa.gov/recipes/?q=recipes/How-to-Read-Data-in-HDF-5-Format-with-GrADS HDF инструменты управления данными по атмосферному Центра научных данных НАСА: https://eosweb.larc.nasa.gov/HBDOCS/hdf_data_manipulation.html

Надежда это немного помогает.

+0

См. Обновления. Мне не нравится NetCDF4. Это круто. И мы уже знакомы с HDF5. Мы собираемся навязать структуру данных HDF5 так или иначе. Я просто ищу * стандарты *. – spinkus

+0

Да, я думаю, NetCDF4 не для всех. Раньше я работал с климатическими данными, поэтому мне это нравится (у ncl столько встроенных вещей), но моя новая лаборатория тоже не большой поклонник. Дополнительную информацию о стандартах HDF5 см. В моем обновленном ответе. К сожалению, я не мог найти ни одного замечательного библиотек, которые бы использовали стандарты данных для вас. Плюс, поскольку это не геоданные, у вас, вероятно, нет таких же потребностей, как климатические данные, такие как я. – SpicyBaguette

+0

Спасибо за всесторонний ответ. – spinkus

Смежные вопросы