Pourquoi convertir NC en HDF5 ?
Certains pipelines et outils scientifiques acceptent le HDF5 mais ne disposent pas d'un pilote netCDF dédié. La conversion produit un fichier HDF5 simple que n'importe quel lecteur compatible HDF5 tel que h5py ou HDFView peut ouvrir sans avoir besoin de la bibliothèque netCDF.
Comment convertir NC en HDF5
nccopy FREE
Exécutez nccopy -k netCDF-4 entree.nc sortie.nc pour convertir un fichier netCDF classique au format netCDF-4/HDF5 ; renommez la sortie en .hdf5 si votre outil en aval nécessite cette extension.
Python (netCDF4 + h5py) OPEN-SOURCE
Installez avec pip install netCDF4 h5py, lisez le fichier .nc avec netCDF4.Dataset(), puis écrivez chaque variable dans un fichier HDF5 en utilisant h5py.File() et create_dataset().
À propos de ces formats
Un fichier .nc est un fichier netCDF (Network Common Data Form) - un format binaire pour les données scientifiques multidimensionnelles telles que les ensembles de données climatiques,…
Ouvrir les détails de .NC →Un fichier .HDF5 est associé à HDF5, un fichier de type misc.
Ouvrir les détails de .HDF5 →Qualité et points de vigilance
- netCDF-4 est construit directement sur HDF5 - si
ncdump -k votre_fichier.ncindiquenetCDF-4, vous pouvez renommer le fichier en.hdf5et l'ouvrir avec h5py ou HDFView sans aucune conversion. - Les fichiers netCDF classiques commencent par les octets
CDF(hex43 44 46) et ne sont pas des HDF5 - ceux-ci nécessitentnccopyou une réécriture en Python pour être convertis. - L'inverse n'est pas vrai : les fichiers HDF5 simples ne sont pas des netCDF valides, donc renommer
.hdf5en.ncne fonctionnera pas sans restructurer la disposition interne pour correspondre aux conventions netCDF.
Foire aux questions
Comment savoir si mon fichier NC est déjà un HDF5 ?
ncdump -k votre_fichier.nc ; s'il renvoie netCDF-4, le fichier est un HDF5 en interne. Vous pouvez également vérifier si les deux premiers octets sont 89 48 (la signature HDF5).Est-ce que h5py pourra lire directement le fichier converti ?
nccopy, le fichier est un conteneur HDF5 valide ; les noms des variables et les données sont intacts, bien que la structure interne suive les conventions de nommage netCDF.Les métadonnées sont-elles préservées lors de la conversion ?
nccopy. Lors de l'utilisation directe de h5py, vous devez copier les attributs manuellement, car h5py ne transfère pas automatiquement les métadonnées netCDF.