¿Por qué convertir NC a HDF5?
Algunos flujos de trabajo y herramientas científicas aceptan HDF5 pero carecen de un controlador netCDF dedicado. La conversión produce un archivo HDF5 simple que cualquier lector compatible con HDF5, como h5py o HDFView, puede abrir sin necesidad de la biblioteca netCDF.
Cómo convertir NC a HDF5
nccopy FREE
Ejecute nccopy -k netCDF-4 input.nc output.nc para convertir un archivo netCDF clásico al formato netCDF-4/HDF5; cambie el nombre de la salida a .hdf5 si su herramienta de destino requiere esa extensión.
Python (netCDF4 + h5py) OPEN-SOURCE
Instale con pip install netCDF4 h5py, lea el archivo .nc con netCDF4.Dataset(), y luego escriba cada variable en un archivo HDF5 usando h5py.File() y create_dataset().
Acerca de estos formatos
Un archivo .nc es un archivo netCDF (Network Common Data Form), un formato binario para datos científicos multidimensionales como conjuntos de datos climáticos, meteorológicos y oceánicos…
Abrir detalles de .NC →Un archivo .HDF5 está asociado con HDF5, un archivo de tipo misc.
Abrir detalles de .HDF5 →Calidad y qué observar
- netCDF-4 está construido directamente sobre HDF5 - si
ncdump -k yourfile.ncindicanetCDF-4, puede renombrar el archivo a.hdf5y abrirlo con h5py o HDFView sin ninguna conversión. - Los archivos netCDF clásicos comienzan con los bytes
CDF(hex43 44 46) y no son HDF5 - estos requierennccopyo una reescritura en Python para su conversión. - Lo contrario no es cierto: los archivos HDF5 planos no son netCDF válidos, por lo que renombrar
.hdf5a.ncno funcionará sin reestructurar el diseño interno para que coincida con las convenciones de netCDF.
Preguntas frecuentes
¿Cómo sé si mi archivo NC ya es HDF5?
ncdump -k yourfile.nc; si devuelve netCDF-4, el archivo es HDF5 internamente. También puede verificar si los dos primeros bytes son 89 48 (la firma de archivo HDF5).¿Podrá h5py leer el archivo convertido directamente?
nccopy, el archivo es un contenedor HDF5 válido; los nombres de las variables y los datos están intactos, aunque la estructura interna sigue las convenciones de nomenclatura de netCDF.¿Se preservan los metadatos durante la conversión?
nccopy. Al usar h5py directamente, debe copiar los atributos manualmente, ya que h5py no transfiere los metadatos de netCDF automáticamente.