Skip to article frontmatterSkip to article content

Exploración de formatos climáticos: NetCDF y GRIB

NetCDF y GRIB

Exploración de formatos climáticos: NetCDF y GRIB


📚 Descripción general

En este cuaderno aprenderás sobre los dos formatos de archivo más comunes en ciencias atmosféricas:

  1. Formato NetCDF - Características, estructura y uso práctico

  2. Formato GRIB - Ventajas para pronósticos meteorológicos

  3. Lectura de archivos - Cómo abrir y explorar datos usando Xarray

  4. Comparación - Cuándo usar cada formato en tu trabajo

Usaremos datos reales de temperatura superficial del mar (SST) para ejemplos prácticos.

✅ Requisitos previos

ConceptoImportanciaNotas
Introducción a XarrayNecesarioLectura de datos multidimensionales
Introducción a NumPyNecesarioArrays multidimensionales
Conocimientos de meteorologíaÚtilVariables atmosféricas

⏱️ Tiempo estimado de aprendizaje:

  • 📖 Lectura y ejecución: 20–25 minutos

✍️ Formato: interactivo, ejecuta el código a medida que avanzas

Librerías

Importamos las librerías necesarias para este cuaderno.

import xarray as xr
import matplotlib.pyplot as plt
import numpy as np

1. Formato NetCDF

NetCDF (Network Common Data Form) es un formato de archivo binario auto-descriptivo ampliamente utilizado en las ciencias atmosféricas.

Estructura NetCDF

🔍 Características principales

  • Almacena datos multidimensionales (tiempo, latitud, longitud, nivel)

  • Permite metadatos descriptivos

  • Soporta estructuras jerárquicas (NetCDF-4)

✅ Ventajas

  • Fácil de explorar con xarray

  • Compatible con muchas herramientas científicas

  • Ideal para almacenamiento a largo plazo

⚠️ Desventajas

  • Tamaño de archivo mayor comparado con GRIB

  • Puede ser más lento para acceso puntual

🔄 Versiones

  • Classic: estructura simple y universal

  • NetCDF-4: permite compresión y grupos jerárquicos

Consejos para trabajar con NetCDF

  • Usa ds.sel() y ds.isel() para filtrar por dimensión

  • Verifica unidades (ds.attrs, ds.variable.attrs)

  • Verifica el formato de fechas (time en UTC)

# Lectura de archivo NetCDF usando datos reales de SST
ds = xr.open_dataset('../data/sst.mnmean.nc')
print("Dataset cargado exitosamente:")
ds
Loading...
# Visualización de SST para un mes específico
ds['sst'].isel(time=0).plot(cmap='coolwarm', vmin=-2, vmax=30)
plt.title('Temperatura Superficial del Mar - NetCDF')
plt.show()
<Figure size 640x480 with 2 Axes>

2. Formato GRIB

GRIB (GRIdded Binary) es un formato binario eficiente utilizado principalmente para pronósticos numéricos del tiempo.

Estructura GRIB

🔍 Características principales

  • Datos almacenados como registros binarios con encabezados

  • Alta eficiencia en tamaño y lectura

  • Muy usado por servicios meteorológicos operativos

✅ Ventajas

  • Tamaño de archivo reducido

  • Acceso puntual eficiente

  • Ideal para distribución de pronósticos

⚠️ Desventajas

  • Menos intuitivo que NetCDF

  • Requiere herramientas específicas como cfgrib

🔄 Versiones

  • GRIB1: formato más simple y aún en uso

  • GRIB2: admite más metadatos y compresión

Consejos para trabajar con GRIB

  • Usa engine='cfgrib' con Xarray

  • Explora claves con filter_by_keys si hay múltiples campos

  • Presta atención al paso temporal (step), tipo de nivel y superficie

# Ejemplo de lectura GRIB (requiere archivo GRIB y cfgrib instalado)
# ds_grib = xr.open_dataset('ruta/archivo.grib', engine='cfgrib')
# ds_grib

# Para este cuaderno, nos enfocamos en NetCDF que es más común para análisis científico.
# Los archivos GRIB se usan principalmente para pronósticos operativos.

Práctica: Explorando datos NetCDF

Usa el dataset de SST que acabamos de cargar para completar estas tareas:

Tareas:

  1. ¿Cuántas dimensiones tiene el dataset?

  2. ¿Qué rango temporal cubre?

  3. Extrae y grafica la SST promedio global para el primer año de datos

Pista: Usa .dims, .time, y .mean() para ayudarte.

# Tu código aquí

Comparación de formatos

AspectoNetCDFGRIB
CompresiónOpcional (NetCDF-4)Alta (GRIB2)
Facilidad de usoMás intuitivoRequiere herramientas específicas
PropósitoAnálisis científicoDistribución operativa
EstructuraAuto-descriptivaEncabezados + binario
Ecosistema PythonExcelente (Xarray)Bueno (cfgrib)

Resumen

En este cuaderno aprendiste:

Formato NetCDF: Auto-descriptivo, ideal para análisis científico, excelente integración con Xarray

Formato GRIB: Eficiente y compacto, usado para pronósticos operativos

Uso práctico: Cómo cargar y explorar archivos NetCDF con Xarray

Comparación: NetCDF es más flexible para análisis, GRIB es óptimo para distribución de modelos

El manejo de estos formatos con Python te permite construir flujos de trabajo robustos para proyectos climáticos, energéticos y operativos.

¿Qué sigue?

Ahora que entiendes los formatos tradicionales NetCDF y GRIB, en el siguiente cuaderno explorarás formatos ARCO (Analysis-Ready Cloud-Optimized) como Zarr, que permiten acceso eficiente a grandes volúmenes de datos en la nube sin descargarlos completamente.

👉 Continúa con: Formatos ARCO y Zarr

📚 Recursos y Bibliografía