Файлы 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 может стоить того, если у вас есть другой тип данных и вы ищете очень специфические функции, для которых вам нужен более индивидуальный формат файла. Не могли бы вы немного подробнее указать свои потребности в комментариях?
Обновлять :
К сожалению, стандарты для имен переменных и полей для файлов HDF5 немного менее ясны и хорошо организованы, чем netCDF, поскольку этот формат был предпочтительным для крупных проектов моделирования климата, таких как CMIP или CORDEX. Проблема, по сути, сводится к использованию соглашений EOSDIS или CF, но найти поддерживаемые в настоящее время библиотеки, которые реализуют эти стандарты для файлов HDF5 и имеют четкую документацию, не совсем просто (если бы это было так, вы, вероятно, не задали бы вопрос).
Если вам действительно нужен стандарт, НАСА подробно объясняет все возможные стандарты метаданных здесь: 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 из НАСА для получения аналогичных данных и использовать его в качестве основы для создания собственных инструментов на языке по вашему выбору. Вот список исчерпывающих примеров использования форматов 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
Надеюсь, это немного поможет.
person
SpicyBaguette
schedule
25.04.2016