NetCDF

format_list_bulleted Contenido keyboard_arrow_down
ImprimirCitar

NetCDF (Formulario de Datos Comunes de Red) es un conjunto de bibliotecas de software y formatos de datos autodescriptivos e independientes de la máquina que facilitan la creación, el acceso y el intercambio de datos científicos basados en matrices. La página principal del proyecto está alojada por el programa Unidata de la Corporación Universitaria para la Investigación Atmosférica (UCAR). Además, es la principal fuente de software, desarrollo de estándares, actualizaciones, etc., de netCDF. El formato es un estándar abierto. NetCDF Classic y el Formato de Desplazamiento de 64 bits son un estándar internacional del Consorcio Geoespacial Abierto.

Historia

El proyecto comenzó en 1988 y aún cuenta con el apoyo activo de UCAR. El formato binario original de netCDF (publicado en 1990, ahora conocido como "formato clásico de netCDF") se sigue utilizando ampliamente en todo el mundo y sigue siendo totalmente compatible con todas las versiones de netCDF. La versión 4.0 (publicada en 2008) permitió el uso del formato de archivo de datos HDF5. La versión 4.1 (2010) añadió compatibilidad con el acceso de clientes en C y Fortran a subconjuntos específicos de datos remotos mediante OPeNDAP. La versión 4.3.0 (2012) añadió un sistema de compilación CMake para compilaciones de Windows. La versión 4.7.0 (2019) añadió compatibilidad con la lectura de objetos de Amazon S3. La versión 4.8.0 (2021) añadió compatibilidad con Zarr. La versión 4.9.0 (2022) añadió compatibilidad con la compresión Zstandard. Se planean futuras versiones para mejorar el rendimiento, añadir funciones y corregir errores.

El formato se basó originalmente en el modelo conceptual del Formato de Datos Común desarrollado por la NASA, pero desde entonces se ha desviado y no es compatible con él.

Descripción del formato

Las bibliotecas netCDF admiten múltiples formatos binarios para archivos netCDF: Las bibliotecas netCDF admiten múltiples formatos binarios para archivos netCDF:
  • El formato clásico fue utilizado en la primera versión netCDF, y sigue siendo el formato predeterminado para la creación de archivos.
  • El formato offset de 64 bits se introdujo en la versión 3.6.0, y soporta tamaños de variables y archivos más grandes.
  • El formato netCDF-4/HDF5 se introdujo en la versión 4.0; es el formato de datos HDF5, con algunas restricciones.
  • El formato HDF4 SD es compatible con el acceso solo lectura.
  • Se apoya el formato CDF5, en coordinación con el proyecto paralelo-netcdf.
Todos los formatos son autodescriptivos. Esto significa que incluyen un encabezado que describe el diseño del resto del archivo, en particular las matrices de datos, así como metadatos arbitrarios del archivo en forma de atributos de nombre/valor. El formato es independiente de la plataforma, y problemas como el orden de bytes se abordan en las bibliotecas de software. Los datos se almacenan de forma que permiten una subdivisión eficiente.A partir de la versión 4.0, la API de netCDF permite el uso del formato de datos HDF5. Los usuarios de NetCDF pueden crear archivos HDF5 con ventajas que no están disponibles con el formato netCDF, como archivos mucho más grandes y múltiples dimensiones ilimitadas.

Se ofrece compatibilidad total con versiones anteriores para acceder a archivos netCDF antiguos y usar versiones anteriores de las API de C y Fortran.

Software

Bibliotecas de acceso

Las bibliotecas de software proporcionadas por UCAR proporcionan acceso de lectura y escritura a archivos netCDF, codificando y decodificando las matrices y metadatos necesarios. La biblioteca principal está escrita en C y proporciona una interfaz de programación de aplicaciones (API) para C, C++ y dos API para aplicaciones Fortran: una para Fortran 77 y otra para Fortran 90. Una implementación independiente, también desarrollada y mantenida por Unidata, está escrita íntegramente en Java, lo que amplía el modelo de datos principal y añade funcionalidad adicional. Las interfaces para netCDF basadas en la biblioteca C también están disponibles en otros lenguajes, como R (paquetes ncdf, ncvar y RNetCDF), Perl Data Language, Python, Ruby, Haskell, Mathematica, MATLAB, Interactive Data Language (IDL), Julia y Octave. La especificación de las llamadas a la API es muy similar en los diferentes lenguajes, salvo por las inevitables diferencias de sintaxis. Las llamadas a la API de la versión 2 eran bastante diferentes a las de la versión 3, pero también son compatibles con las versiones 3 y 4 por motivos de compatibilidad con versiones anteriores. Los programadores de aplicaciones que utilizan lenguajes compatibles normalmente no necesitan preocuparse por la estructura del archivo en sí, aunque esté disponible en formatos abiertos.

Aplicaciones

Se ha desarrollado una amplia gama de software de aplicación que utiliza archivos netCDF. Estos abarcan desde utilidades de línea de comandos hasta paquetes de visualización gráfica. A continuación se enumeran algunos de ellos, y una lista más extensa se encuentra en el sitio web de UCAR.

  • Un conjunto comúnmente utilizado de utilidades de línea de comandos Unix para archivos netCDF es la suite NetCDF Operators (NCO), que proporciona una gama de comandos para la manipulación y el análisis de archivos netCDF incluyendo concatenación de registros básicos, corte de matriz y promedio.
  • ncBrowse es un visor de archivos netCDF genérico que incluye gráficos Java, animaciones y visualizaciones 3D para una amplia gama de convenciones de archivos netCDF.
  • ncview es un navegador visual para archivos de formato netCDF. Este programa es una herramienta sencilla, rápida y basada en GUI para visualizar campos en un archivo netCDF. Uno puede navegar por las diversas dimensiones de un array de datos, echando un vistazo a los valores de datos brutos. También es posible cambiar mapas de color, invertir los datos, etc.
  • Panoply es un visor de archivos netCDF desarrollado en el Instituto Goddard de Estudios Espaciales de la NASA, que se centra en la presentación de datos geo-gridded. Está escrito en Java y por lo tanto plataforma independiente. Aunque su característica se superpone con ncBrowse y ncview, Panoply se distingue por ofrecer una amplia variedad de proyecciones de mapas y la capacidad de trabajar con diferentes tablas de colores de escala.
  • El NCAR Command Language (NCL) se utiliza para analizar y visualizar datos en archivos netCDF (entre otros formatos).
  • El lenguaje de programación Python puede acceder a archivos netCDF con el módulo PyNIO (que también facilita el acceso a una variedad de otros formatos de datos). los archivos netCDF también se pueden leer con el módulo Python netCDF4-python, y en un pandas-como DataFrame con el xarray módulo.
  • Ferret es un entorno interactivo de visualización y análisis de computación diseñado para satisfacer las necesidades de los oceanógrafos y meteorólogos que analizan conjuntos de datos redondeados grandes y complejos. Ferret ofrece un enfoque tipo Mathematica para el análisis; nuevas variables pueden definirse interactivamente como expresiones matemáticas que implican variables de conjunto de datos. Las cálculos pueden aplicarse en regiones con forma arbitraria. Los gráficos completamente documentados se producen con un único comando.
  • GrADS (Grid Analysis and Display System) es una herramienta de escritorio interactiva que se utiliza para facilitar el acceso, la manipulación y la visualización de datos de ciencias de la tierra. GrADS se ha implementado en todo el mundo en una variedad de sistemas operativos de uso común y se distribuye libremente a través de Internet.
  • nCDF_Browser es un navegador nCDF visual, escrito en el lenguaje de programación IDL. Variables, atributos y dimensiones se pueden descargar inmediatamente a la línea de comando IDL para su posterior procesamiento. Todos los archivos de la Biblioteca Coyote necesarios para ejecutar nCDF_Browser están disponibles en el archivo zip.
  • Las versiones de ArcGIS después de 9.2 admiten archivos netCDF que siguen los Convenios de Metadatos de Clima y Pronóstico y contienen rejillas rectilíneas con coordenadas igualmente espaciadas. La caja de herramientas de herramientas multidimensional se puede utilizar para crear capas de raster, capas de características y vistas de la tabla de datos de netCDF en ArcMap, o convertir datos de la función, mapa y tabla a netCDF.
  • OriginPro versión 2021b admite netCDF CF Convention. El promedio se puede realizar durante la importación para permitir el manejo de grandes conjuntos de datos en un software GUI.
  • El GDAL (Geospatial Data Abstraction Library) proporciona soporte para el acceso de lectura y escritura a los datos del netCDF.
  • netCDF Explorer es un navegador gráfico multiplataforma para archivos netCDF. netCDF Explorer puede navegar archivos local o remotamente, por medio de OPeNDAP
  • R admite NetCDF a través de paquetes tales como ncdf4 (incluyendo soporte HDF5) o RNetCDF (sin soporte HDF5).
  • HDFql permite a los usuarios gestionar archivos netCDF-4/HDF5 a través de un lenguaje de alto nivel (similar a SQL) en C, C++, Java, Python, C#, Fortran y R.
  • El sistema de estaciones de trabajo y lotes de Metview del Centro Europeo de Pronósticos Meteorológicos de Rango Media (ECMWF) puede manejar NetCDF junto con GRIB y BUFR.
  • OpenChrom envía un convertidor bajo los términos de la Licencia Pública Eclipse

Usos comunes

Se utiliza comúnmente en aplicaciones de climatología, meteorología y oceanografía (por ejemplo, pronóstico del tiempo, cambio climático) y en aplicaciones SIG.Es un formato de entrada/salida para numerosas aplicaciones SIG y para el intercambio general de datos científicos. Citando su sitio web:
"NetCDF (redwork Common Data Form) es un conjunto de interfaces para el acceso a datos orientados a arrays y una colección libremente distribuida de bibliotecas de acceso a datos para C, Fortran, C++, Java y otros idiomas. Las bibliotecas netCDF apoyan un formato independiente para representar datos científicos. Juntos, las interfaces, bibliotecas y formato apoyan la creación, el acceso y el intercambio de datos científicos".

Convenciones

Las convenciones de Clima y Pronóstico (CF) son convenciones de metadatos para datos de ciencias de la tierra, diseñadas para promover el procesamiento y el intercambio de archivos creados con la Interfaz de Programación de Aplicaciones (API) NetCDF. Estas convenciones definen metadatos que se incluyen en el mismo archivo que los datos (lo que hace que el archivo sea autodescriptivo) y que proporcionan una descripción definitiva de lo que representan los datos en cada variable, así como de las propiedades espaciales y temporales de los datos (incluyendo información sobre cuadrículas, como los límites de las celdas y los métodos de promediado de celdas). Esto permite a los usuarios de datos de diferentes fuentes decidir qué datos son comparables y crear aplicaciones con potentes capacidades de extracción, recuadriculado y visualización.

Parallel-NetCDF

El Laboratorio Nacional Argonne y la Universidad Northwestern han desarrollado una extensión de netCDF para computación paralela, llamada Parallel-NetCDF (o PnetCDF). Esta extensión se basa en MPI-IO, la extensión de E/S para las comunicaciones MPI. Utilizando las estructuras de datos netCDF de alto nivel, las bibliotecas Parallel-NetCDF pueden optimizar la distribución eficiente de las aplicaciones de lectura y escritura de archivos entre múltiples procesadores. El paquete Parallel-NetCDF solo puede leer y escribir en formatos clásicos y de desplazamiento de 64 bits. Parallel-NetCDF no puede leer ni escribir en el formato basado en HDF5 disponible con netCDF-4.0. El paquete Parallel-NetCDF utiliza APIs diferentes, pero similares, en Fortran y C.La E/S paralela en la biblioteca Unidata netCDF es compatible desde la versión 4.0 para archivos de datos HDF5. Desde la versión 4.1.1, la biblioteca Unidata NetCDF C admite la E/S paralela para archivos de desplazamiento clásicos y de 64 bits mediante la biblioteca Parallel-NetCDF, pero con la API NetCDF.

Interoperabilidad de bibliotecas C/Fortran/C++ con otros formatos

La biblioteca netCDF C y las bibliotecas basadas en ella (Fortran 77 y Fortran 90, C++ y todas las bibliotecas de terceros) pueden, a partir de la versión 4.1.1, leer algunos datos en otros formatos. Los datos en formato HDF5 se pueden leer, con algunas restricciones. La biblioteca netCDF C puede leer datos en formato HDF4 si se crean utilizando la API de datos científicos (SD) de HDF4.

Modelo de datos común NetCDF-Java

La biblioteca NetCDF-Java actualmente lee los siguientes formatos de archivo y protocolos de acceso remoto:
  • BUFR Formato Documentación (desarrollo en curso)
  • Nivel II del CINRAD (formato de radar chino)
  • DMSP (Defense Meteorological Satellite Program)
  • Formato de archivo de radar DORADE
  • GINI (GOES Ingest y NOAAPORT Interface) formato de imagen
  • GEMPAK gridded data
  • GRIB versión 1 y versión 2 (trabajo en curso en tablas)
  • GTOPO Conjunto de datos de elevación de 30 segundos (USGS)
  • Formato de datos jerárquicos (HDF4, HDF-EOS2, HDF5, HDF-EOS5)
  • NetCDF (formato clásico y grande)
  • NetCDF-4 (construido en HDF5)
  • NEXRAD Nivel de radar 2 y nivel 3.
Existen otros formatos en desarrollo. Dado que se accede a cada uno de ellos de forma transparente a través de la API NetCDF, se dice que la biblioteca NetCDF-Java implementa un modelo de datos común para conjuntos de datos científicos.El modelo de datos común de Java consta de tres capas que se construyen una sobre otra para añadir una semántica cada vez más rica:
  1. El acceso a los datos capa, también conocida como la capa sintáctica, maneja la lectura de datos.
  2. El sistema de coordinación capa identifica las coordenadas de los arrays de datos. Las coordenadas son un concepto completamente general de datos científicos; los sistemas de coordenadas de georeferencias especializadas, importantes para la comunidad de Ciencias de la Tierra, son especialmente anotados.
  3. El tipo de datos científicos capa identifica tipos específicos de datos, como rejillas, imágenes y datos de puntos, y añade métodos especializados para cada tipo de datos.
El modelo de datos de la capa de acceso a datos es una generalización del modelo de datos NetCDF-3 y es prácticamente idéntico al modelo de datos NetCDF-4. La capa del sistema de coordenadas implementa y amplía los conceptos de las Convenciones de Metadatos de Clima y Pronóstico. La capa de tipos de datos científicos permite manipular los datos en el espacio de coordenadas, de forma análoga a las especificaciones del Consorcio Geoespacial Abierto. La identificación de los sistemas de coordenadas y la tipificación de datos está en curso, pero los usuarios pueden integrar sus propias clases en tiempo de ejecución para un procesamiento especializado.

Véase también

  • CGNS (sistema de notación general de fluidos computacionales)
  • EAS3 (Ein-Ausgabe-System)
  • FITS (sistema de transporte de imágenes flexible)
  • Archivos binarios de Tecplot
  • XDMF (eXtensible Data Model Format)
  • XMDF ( Formato de datos modelo eXtensible)

Referencias

  1. ^ "Release Notes". 7 febrero 2025.
  2. ^ "NetCDF Home Page". Unidata/UCAR. Archivado desde el original en 2017-12-06. Retrieved 2017-12-05.
  3. ^ "OGC standard netCDF Classic y 64-bit Offset". Opengeospatial.org. Archivado desde el original el 01/11/2017. Retrieved 2017-12-05.
  4. ^ "Background - The NetCDF Users' Guide". Unidata.ucar.edu. Retrieved 2013-11-27.
  5. ^ "CDF - Preguntas frecuentes". NASA. Archivado desde el original en 2018-06-19. Retrieved 2018-11-02.
  6. ^ "Versión 4.0 de la API netCDF". Unidata.ucar.edu. Archivado desde el original en 2015-06-17. Retrieved 2013-11-27.
  7. ^ "ncdf". Cirrus.ucsd.edu. 2013-08-06. Archivado desde el original el 13 de marzo de 2013. Retrieved 2013-11-27.
  8. ^ "Rnetcdf". Cran.r-project.org. 2012-07-19. Archivado desde el original el 2013-12-02. Retrieved 2013-11-27.
  9. ^ "hnetcdf: Biblioteca Haskell NetCDF". hackage.haskell.org. 2014-07-10. Archivado desde el original el 2014-07-09. Retrieved 2014-07-10.
  10. ^ "Software for Manipulating or Display NetCDF Data". Unidata.ucar.edu. Retrieved 2020-10-23.
  11. ^ "NcBrowse". Epic.noaa.gov. Archivado desde el original el 13 de marzo de 2013. Retrieved 2013-11-27.
  12. ^ "Ncview". Meteora.ucsd.edu. Archivado desde el original el 13 de diciembre de 2012. Retrieved 2013-11-27.
  13. ^ "Panoply". Giss.nasa.gov. Goddard Institute for Space Studies. Archivado desde el original el 2014-06-20. Retrieved 2013-11-27.
  14. ^ "PyNIO". Pyngl.ucar.edu. 2011-07-28. Archivado desde el original el 13 de diciembre de 2013. Retrieved 2013-11-27.
  15. ^ "netCDF4". Archivado desde el original en 2017-11-29. Retrieved 2017-12-04.
  16. ^ "xarray: N-D etiquetado arrays y conjuntos de datos en Python". Archivado desde el original en 2016-09-01. Retrieved 2016-09-07.
  17. ^ "GrADS Home Page". Archivado desde el original en 2016-02-13. Retrieved 2018-04-10.
  18. ^ "Guía del Coyote para la programación del IDL". Dfanning.com. 2013-11-23. Archivado desde el original en 2015-09-23. Retrieved 2013-11-27.
  19. ^ "Coyote Library". Dfanning.com. 2013-11-23. Archivado desde el original en 2015-09-23. Retrieved 2013-11-27.
  20. ^ "ArcGIS versión 9.2". Esri.com. Archivado desde el original el 13 de diciembre de 2013. Retrieved 2013-11-27.
  21. ^ "NetCDF Importing and Processing". originlab.com. Retrieved 2021-05-11.
  22. ^ "NetCDF network Common Data Form". Gdal.org. Archivado desde el original el 2013-06-06. Retrieved 2013-11-27.
  23. ^ David Pierce (2014). ncdf4: Interface to Unidata netCDF (versión 4 o anterior) formato de archivos de datos. R paquete versión 1.13. https://cran.r-project.org/package=ncdf4
  24. ^ Pavel Michna y con contribuciones de Milton Woods (2015). RNetCDF: Interface to NetCDF Datasets. R paquete versión 1.7-3. https://cran.r-project.org/package=RNetCDF
  25. ^ http://www.hdfql.com
  26. ^ OpenChrom: un software de código abierto multiplataforma para el análisis espectrométrico masivo de datos cromatológicos, Philip Wenig, Juergen Odermatt, BMC Bioinformática; 2010; doi:10.1186/1471-2105-11-405
  27. ^ "¿Qué es netCDF?". Uta Program Center. Archivado desde el original el 2013-03-15. Retrieved 2012-11-26.
  28. ^ "parallel-netcdf". Mcs.anl.gov. 2013-11-17. Archivado desde el original el 01/12/2008. Retrieved 2013-11-27.
  29. ^ "DOCUMENTACIÓN FORMAT DE FUERZA". Archivado desde el original el 9 de octubre de 2007. Retrieved 2 de febrero 2008.
  30. ^ [1] Archivado el 5 de septiembre de 2008, en la máquina Wayback
  31. ^ [2]
  32. ^ [3] Archivado el 21 de mayo de 2008, en la máquina Wayback
  33. ^ "GINI Satellite Format". Weather.unisys.com. Archivado desde el original el 2013-12-02. Retrieved 2013-11-27.
  34. ^ "Unidata peru GEMPAK". Unidata.ucar.edu. Archivado desde el original el 13 de diciembre de 2013. Retrieved 2013-11-27.
  35. ^ [4] Archivado el 12 de febrero de 2008, en la máquina Wayback
  36. ^ "NetCDF". Unidata.ucar.edu. Archivado desde el original el 11-29. Retrieved 2013-11-27.
  37. ^ "NetCDF-4". Unidata.ucar.edu. Archivado desde el original en 2015-06-17. Retrieved 2013-11-27.
  38. ^ Steve Ansari. "NCDC: Radar Resources". Ncdc.noaa.gov. Archivado desde el original el 2013-12-02. Retrieved 2013-11-27.
  • Sitio oficial Edit this at Wikidata
    • NetCDF Guía del usuario — describe el formato del archivo
  • "Una introducción a la visualización distribuida"; la sección 4.2 contiene una comparación de CDF, HDF y netCDF.
  • Animating NetCDF Datos en ArcMap
  • Lista de utilidades de software utilizando archivos netCDF
Más resultados...
Tamaño del texto:
undoredo
format_boldformat_italicformat_underlinedstrikethrough_ssuperscriptsubscriptlink
save