Perché convertire NC in HDF5?
Alcune pipeline e strumenti scientifici accettano HDF5 ma mancano di un driver netCDF dedicato. La conversione produce un file HDF5 semplice che qualsiasi lettore compatibile con HDF5, come h5py o HDFView, può aprire senza necessità della libreria netCDF.
Come convertire NC in HDF5
nccopy FREE
Esegui nccopy -k netCDF-4 input.nc output.nc per convertire un file netCDF classico nel formato netCDF-4/HDF5; rinomina l'output in .hdf5 se lo strumento di destinazione richiede tale estensione.
Python (netCDF4 + h5py) OPEN-SOURCE
Installa con pip install netCDF4 h5py, leggi il file .nc con netCDF4.Dataset(), quindi scrivi ogni variabile in un file HDF5 usando h5py.File() e create_dataset().
Informazioni su questi formati
Un file .nc è un file netCDF (Network Common Data Form) - un formato binario per dati scientifici multidimensionali come dataset climatici, meteorologici e oceanici di NOAA, NASA e…
Apri dettagli .NC →Un file .HDF5 è associato a HDF5, un file di tipo misc.
Apri dettagli .HDF5 →Qualità e a cosa prestare attenzione
- netCDF-4 è costruito direttamente su HDF5 - se
ncdump -k yourfile.ncriportanetCDF-4, puoi rinominare il file in.hdf5e aprirlo con h5py o HDFView senza alcuna conversione. - I file netCDF classici iniziano con i byte
CDF(hex43 44 46) e non sono HDF5 - questi richiedononccopyo una riscrittura in Python per essere convertiti. - Il contrario non è vero: i file HDF5 semplici non sono netCDF validi, quindi rinominare
.hdf5in.ncnon funzionerà senza ristrutturare il layout interno per corrispondere alle convenzioni netCDF.
Domande frequenti
Come faccio a sapere se il mio file NC è già HDF5?
ncdump -k yourfile.nc; se restituisce netCDF-4, il file è internamente un HDF5. Puoi anche verificare se i primi due byte sono 89 48 (la firma HDF5).h5py sarà in grado di leggere direttamente il file convertito?
nccopy, il file è un contenitore HDF5 valido; i nomi delle variabili e i dati sono intatti, sebbene la struttura interna segua le convenzioni di denominazione netCDF.I metadati vengono preservati durante la conversione?
nccopy. Quando si usa direttamente h5py, è necessario copiare gli attributi manualmente, poiché h5py non trasferisce automaticamente i metadati netCDF.