ZarrViewer
Un explorador rápido y ligero para archivos .zarr desde la terminal. Permite visualizar la estructura, los tiempos y generar gráficos inteligentes (mapas, series de tiempo o snapshots estáticos) con un solo comando.
Instalación
-
Asegúrate de tener Python 3.6 o superior.
-
Instala las dependencias necesarias:
pip install xarray pandas zarr matplotlib -
Convierte el script en un comando nativo del sistema:
# Quítale la extensión .py mv zarrviewer.py zarrviewer # Dale permisos de ejecución chmod +x zarrviewer # Muévelo a un directorio en tu PATH (ej. ~/.local/bin o /usr/local/bin) mv zarrviewer ~/.local/bin/
Modo de Uso
1. Exploración Básica (Listar variables y estructura)
Si pasas solo la ruta del archivo (o usas la bandera -h), el programa imprimirá la estructura completa del archivo (similar a ncdump -h) y listará todas las variables disponibles para graficar.
zarrviewer ruta/al/archivo.zarr
# o
zarrviewer ruta/al/archivo.zarr -h
2. Ver Tiempos Disponibles
Muestra el inicio y el final de la serie de tiempo disponible.
zarrviewer ruta/al/archivo.zarr
Opciones adicionales:
-f 10: Muestra los primeros 10 tiempos (por defecto son 3).-l 10: Muestra los últimos 10 tiempos.-a: Imprime todos los tiempos disponibles en el archivo.
3. Generar un Mapa Geográfico (2D)
Si la variable tiene 2 dimensiones o más (ej. Lat/Lon, o X/Y en WRF y WindNinja), generará automáticamente un mapa georreferenciado con la escala corregida (1:1). Por defecto, grafica el último frame temporal disponible (o el único, si es un snapshot estático).
zarrviewer archivo.zarr -v T2
Seleccionar un frame específico:
Puedes usar la opción --frame para elegir qué índice de tiempo graficar (0 es el primero, 1 el segundo, -1 el último).
# Graficar el primer frame (índice 0)
zarrviewer archivo.zarr -v T2 --frame 0
# Graficar el décimo frame (índice 9)
zarrviewer archivo.zarr -v T2 --frame 9
Fijar los límites de la barra de colores:
Para comparar mapas visualmente y evitar que la escala de colores cambie automáticamente, puedes forzar un valor mínimo y máximo (equivalente a caxis([min, max]) de MATLAB).
# Fijar solo el mínimo
zarrviewer archivo.zarr -v T2 --vmin 270
# Fijar mínimo y máximo
zarrviewer archivo.zarr -v T2 --vmin 270 --vmax 300
4. Generar una Serie de Tiempo (1D o Estaciones)
Si la variable está asociada a una dimensión unidimensional (como estaciones meteorológicas), debes especificar el valor/estación deseada separada por dos puntos : o un punto ..
# Ejemplo: Graficar la variable 'wind_speed_5m_prom' en la estación 'LSC'
zarrviewer archivo.zarr -v wind_speed_5m_prom:LSC
Sugerencia Interactiva: Si olvidas especificar la estación, el programa te listará todos los valores posibles y te dará ejemplos listos para copiar y pegar:
zarrviewer archivo.zarr -v wind_speed_5m_prom
Opciones de graficado para series temporales:
-n 100: Número de últimos registros a incluir en la serie de tiempo (por defecto extrae 50 puntos).--vminy--vmax: Fija los límites del eje Y para la gráfica de línea.