Warum NC in HDF5 konvertieren?
Einige wissenschaftliche Pipelines und Tools akzeptieren HDF5, verfügen aber über keinen dedizierten netCDF-Treiber. Die Konvertierung erzeugt eine reine HDF5-Datei, die jeder HDF5-fähige Reader wie h5py oder HDFView öffnen kann, ohne die netCDF-Bibliothek zu benötigen.
Wie man NC in HDF5 konvertiert
nccopy FREE
Führen Sie nccopy -k netCDF-4 input.nc output.nc aus, um eine klassische netCDF-Datei in das netCDF-4/HDF5-Format zu konvertieren; benennen Sie die Ausgabe in .hdf5 um, falls Ihr nachfolgendes Tool diese Dateiendung erfordert.
Python (netCDF4 + h5py) OPEN-SOURCE
Installieren Sie die Pakete mit pip install netCDF4 h5py, lesen Sie die .nc-Datei mit netCDF4.Dataset() ein und schreiben Sie jede Variable mit h5py.File() und create_dataset() in eine HDF5-Datei.
Über diese Formate
Eine .nc-Datei ist eine netCDF-Datei (Network Common Data Form) - ein Binärformat für mehrdimensionale wissenschaftliche Daten wie Klima-, Wetter- und Ozeandatensätze von NOAA, NASA und…
.NC-Details öffnen →Eine .HDF5-Datei ist mit HDF5 verknüpft, einer misc-Datei.
.HDF5-Details öffnen →Qualität & worauf zu achten ist
- netCDF-4 basiert direkt auf HDF5 - wenn
ncdump -k yourfile.ncden TypnetCDF-4ausgibt, können Sie die Datei einfach in.hdf5umbenennen und ohne Konvertierung mit h5py oder HDFView öffnen. - Klassische netCDF-Dateien beginnen mit den Bytes
CDF(Hex43 44 46) und sind kein HDF5 - diese erfordernnccopyoder ein Python-Skript zur Konvertierung. - Umgekehrt gilt dies nicht: Reine HDF5-Dateien sind kein gültiges netCDF. Das Umbenennen von
.hdf5in.ncfunktioniert daher nicht, ohne das interne Layout an die netCDF-Konventionen anzupassen.
Häufig gestellte Fragen
Woher weiß ich, ob meine NC-Datei bereits HDF5 ist?
ncdump -k yourfile.nc aus; wenn das Ergebnis netCDF-4 lautet, ist die Datei intern ein HDF5. Sie können auch prüfen, ob die ersten zwei Bytes 89 48 (die HDF5-Signatur) sind.Kann h5py die konvertierte Datei direkt lesen?
nccopy ist die Datei ein gültiger HDF5-Container; Variablennamen und Daten bleiben intakt, obwohl die interne Struktur den netCDF-Namenskonventionen folgt.Bleiben Metadaten bei der Konvertierung erhalten?
nccopy beibehalten. Wenn Sie h5py direkt verwenden, müssen Sie Attribute manuell kopieren, da h5py netCDF-Metadaten nicht automatisch überträgt.