Hvorfor konvertere NC til HDF5?
Nogle videnskabelige pipelines og værktøjer accepterer HDF5, men mangler en dedikeret netCDF-driver. Konvertering producerer en almindelig HDF5-fil, som enhver HDF5-bevidst læser såsom h5py eller HDFView kan åbne uden behov for netCDF-biblioteket.
Sådan konverterer du NC til HDF5
nccopy FREE
Kør nccopy -k netCDF-4 input.nc output.nc for at konvertere en klassisk netCDF-fil til netCDF-4/HDF5-format; omdøb outputtet til .hdf5, hvis dit efterfølgende værktøj kræver den filendelse.
Python (netCDF4 + h5py) OPEN-SOURCE
Installer med pip install netCDF4 h5py, læs .nc-filen med netCDF4.Dataset(), og skriv derefter hver variabel til en HDF5-fil ved hjælp af h5py.File() og create_dataset().
Om disse formater
En .nc-fil er en netCDF (Network Common Data Form) fil - et binært format til multidimensionelle videnskabelige data såsom klima-, vejr- og havdatasæt fra NOAA, NASA og Copernicus. Åbn den…
Åbn .NC detaljer →En .HDF5-fil er knyttet til HDF5, en misc-fil.
Åbn .HDF5 detaljer →Kvalitet & hvad man skal være opmærksom på
- netCDF-4 er bygget direkte på HDF5 - hvis
ncdump -k dinfil.ncrapporterernetCDF-4, kan du omdøbe filen til.hdf5og åbne den med h5py eller HDFView uden nogen konvertering. - Klassiske netCDF-filer starter med bytes
CDF(hex43 44 46) og er ikke HDF5 - disse krævernccopyeller en Python-omskrivning for at konvertere. - Det omvendte er ikke tilfældet: almindelige HDF5-filer er ikke gyldige netCDF, så at omdøbe
.hdf5til.ncvil ikke fungere uden at omstrukturere det interne layout, så det matcher netCDF-konventionerne.
Ofte stillede spørgsmål
Hvordan ved jeg, om min NC-fil allerede er HDF5?
ncdump -k dinfil.nc; hvis den returnerer netCDF-4, er filen internt HDF5. Du kan også tjekke, om de første to bytes er 89 48 (HDF5-signaturen).Vil h5py kunne læse den konverterede fil direkte?
nccopy er filen en gyldig HDF5-container; variabelnavne og data er intakte, selvom den interne struktur følger netCDF-navngivningskonventioner.Bliver metadata bevaret under konvertering?
nccopy. Når du bruger h5py direkte, skal du kopiere attributter manuelt, da h5py ikke overfører netCDF-metadata automatisk.