Файлы 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
Надежда это немного помогает.
У нас нет геоданных. HDF-EOS стоит поближе рассмотреть. Думаю, это CF-соглашения NetCDF для HDF5? – spinkus
Поскольку у вас нет геоданных, я бы сказал, что HDF-EOS не очень полезен. Также половина CF-конвенций неприменима. Почему бы не сделать «официальный» стандарт внутри организации? Вы можете начать с нуля или начать с конвенций CF, вычеркнуть то, что вам не нужно, и подробно остановиться на этом. ИМО хорошо иметь соглашения об именах переменных, требуемых атрибутах, порядке измерения, масштабах измерения и т. Д. Также может оказаться полезным инструмент, который проверяет, совместимы ли файлы. – titusjan
Да, это именно тот путь, который мы решили принять - в рамках стандартного организации. Мы принимаем то, что можем от CF Convention (нам не нужно многого), и я перейду к ссылке на HDF-EOS. Мы понимаем, что маловероятно, что в первом проекте мы получим все, что нужно всем, но мы просто установим, что в будущем людям следует сначала отнестись к конвенциям CF при обновлении стандарта. – spinkus