Files
zarrviewer/README.md
2026-11-07 07:30:54 -03:00

103 lines
3.3 KiB
Markdown

# 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
1. Asegúrate de tener Python 3.6 o superior.
2. Instala las dependencias necesarias:
```bash
pip install xarray pandas zarr matplotlib
```
3. Convierte el script en un comando nativo del sistema:
```bash
# 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.
```bash
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.
```bash
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).
```bash
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).
```bash
# 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).
```bash
# 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 `.`.
```bash
# 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:
```bash
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).
* `--vmin` y `--vmax`: Fija los límites del eje Y para la gráfica de línea.