Hvorfor konvertere NC til HDF5?
Noen vitenskapelige rørledninger og verktøy aksepterer HDF5, men mangler en dedikert netCDF-driver. Konvertering produserer en ren HDF5-fil som enhver HDF5-bevisst leser som h5py eller HDFView kan åpne uten behov for netCDF-biblioteket.
Hvordan konvertere NC til HDF5
nccopy FREE
Kjør nccopy -k netCDF-4 input.nc output.nc for å konvertere en klassisk netCDF-fil til netCDF-4/HDF5-format; gi utdatafilen nytt navn til .hdf5 hvis verktøyet ditt krever den filendelsen.
Python (netCDF4 + h5py) OPEN-SOURCE
Installer med pip install netCDF4 h5py, les .nc-filen med netCDF4.Dataset(), og skriv deretter hver variabel til en HDF5-fil ved hjelp av h5py.File() og create_dataset().
Om disse formatene
En .nc-fil er en netCDF-fil (Network Common Data Form) - et binært format for multidimensjonale vitenskapelige data som klima-, vær- og havdatasett fra NOAA, NASA og Copernicus. Åpne den…
Åpne .NC-detaljer →En .HDF5-fil er assosiert med HDF5, en misc-fil.
Åpne .HDF5-detaljer →Kvalitet og hva du bør passe på
- netCDF-4 er bygget direkte på HDF5 - hvis
ncdump -k dinfil.ncrapporterernetCDF-4, kan du gi filen nytt navn til.hdf5og åpne den med h5py eller HDFView uten konvertering. - Klassiske netCDF-filer starter med bytene
CDF(hex43 44 46) og er ikke HDF5 - disse krevernccopyeller en Python-omskriving for å konverteres. - Det motsatte er ikke tilfelle: rene HDF5-filer er ikke gyldige netCDF, så å endre navn fra
.hdf5til.ncvil ikke fungere uten å omstrukturere det interne oppsettet for å samsvare med netCDF-konvensjoner.
Ofte stilte spørsmål
Hvordan vet jeg om min NC-fil allerede er HDF5?
ncdump -k dinfil.nc; hvis den returnerer netCDF-4, er filen HDF5 internt. Du kan også sjekke om de to første bytene er 89 48 (HDF5-signaturen).Vil h5py kunne lese den konverterte filen direkte?
nccopy er filen en gyldig HDF5-beholder; variabelnavn og data er intakte, selv om den interne strukturen følger netCDF-navnekonvensjoner.Blir metadata bevart under konvertering?
nccopy. Når du bruker h5py direkte, må du kopiere attributter manuelt, da h5py ikke overfører netCDF-metadata automatisk.