FORMAT COMPARISON
HDF5 vs netCDF
HDF5は階層的なデータを格納する汎用コンテナ形式、netCDFは科学データ向けのデータモデルとAPIを備える形式群です。netCDF-4はHDF5を基盤にしますが、任意のHDF5ファイルがnetCDF-4として読めるわけではありません。
HDF5とnetCDF、どちらを選ぶ?
汎用の階層構造やHDF5対応ソフトとの連携を重視するならHDF5、科学配列の次元・変数・属性を共通の規約で扱うならnetCDFを選びます。既存の読み書きツールとの互換性を先に確認してください。
HDF5向き
大規模な科学・技術データを階層構造で保存する・多次元配列と関連メタデータを一つのコンテナーで扱う
- グループ・データセット・属性で複雑なデータを整理する
- 部分的な読み書きやデータセット単位の圧縮が必要な科学ワークフロー
netCDF向き
気候・気象・地球科学などの配列型科学データの保存と交換
- 次元・変数・属性に沿って多次元データを記述する
- netCDF対応ツール間で移植性のある科学データを扱う
基本情報を比較
HDF5とnetCDFの主な違いを確認できます。
| 項目 | HDF5 | netCDF |
|---|---|---|
| 拡張子 | .h5、.hdf5 | .nc、.nc4、.cdf |
| MIME Type | ||
| 主な用途 | 大規模な科学・技術データを階層構造で保存する・多次元配列と関連メタデータを一つのコンテナーで扱う | 気候・気象・地球科学などの配列型科学データの保存と交換 |
| 圧縮 | optional_dataset_filters | optional_format_dependent |
| 開く方法 | HDF5対応の可視化・解析ソフトやライブラリで開き、グループ階層、データセットの形状と型、属性、フィルターを確認します。同じHDF5でもアプリケーション固有の規約があるため、作成元の仕様書も参照してください。 | netCDF対応の可視化・解析ソフトまたはライブラリを使い、変数、次元、属性、ファイル形式バリアントを確認します。座標変数、単位、カレンダー、欠損値、CF規約の適合性も読み取り側の期待と照合してください。 |
| 書き出し・変換 | CSV、Parquet、FITSなどへ変換する前に、階層、配列の次元・型、属性、単位、座標系をどう写すか決めてください。変換先で表現できない構造や属性は失われる可能性があるため、元ファイルを保管し値とメタデータを照合します。 | CSV、HDF5、Zarrなどへ変換する際は、次元、変数型、属性、座標、時間軸・カレンダーが維持されるかを確認します。Classicモデルへ変換すると拡張モデルの機能が失われることがあり、CSVでは階層・型・属性を完全に表せません。 |
用途別の選び方
作りたいものや使う場面から選べます。
グループ・データセット・属性で複雑なデータを整理する
大規模な科学・技術データを階層構造で保存する・多次元配列と関連メタデータを一つのコンテナーで扱う
HDF5向き部分的な読み書きやデータセット単位の圧縮が必要な科学ワークフロー
大規模な科学・技術データを階層構造で保存する・多次元配列と関連メタデータを一つのコンテナーで扱う
HDF5向き次元・変数・属性に沿って多次元データを記述する
気候・気象・地球科学などの配列型科学データの保存と交換
netCDF向きnetCDF対応ツール間で移植性のある科学データを扱う
気候・気象・地球科学などの配列型科学データの保存と交換
netCDF向き確認ポイント 1
HDF5はグループ、データセット、属性などの汎用データモデルを定義します。netCDFは次元・変数・属性を中心とする科学データモデルを提供します。
使い分け確認ポイント 2
netCDFにはClassic系とnetCDF-4系のファイル形式があります。netCDF-4はHDF5を基盤にしますが、netCDFライブラリが理解する構造には制約があります。
使い分け選ぶ理由を詳しく
- 移行時は次元名、座標、単位、欠損値、圧縮、属性、追加のHDF5オブジェクトが保持されるか検証し、元ファイルを保管してください。