# raisavll/servicio-viento architecture

> Architecture diagram of the GitHub repository raisavll/servicio-viento, generated by GitDiagram from its file tree, README and a sample of source files (last updated 2026-09-25). It is an AI-made overview: check details against the source.

- Interactive diagram: https://gitdiagram.com/raisavll/servicio-viento
- Repository: https://github.com/raisavll/servicio-viento

## Overview

El repositorio combina una guía de arquitectura con notebooks para preparar y actualizar periódicamente datos de viento. El flujo recomendado ejecuta el procesamiento dentro de Enterprise y expone un servicio de imágenes que un visor web consume con ArcGIS Maps SDK y FlowRenderer. La guía también compara publicación dinámica y teselada, y documenta Raster Analytics y AGOL como alternativas. La evidencia disponible es el README y los nombres de los notebooks; no hay extractos de su código, así que las conexiones de ejecución se limitan a lo que documenta la guía.

Main entry points: [`scripts/01_setup_inicial_viento.ipynb`](https://github.com/raisavll/servicio-viento/blob/main/scripts/01_setup_inicial_viento.ipynb) (Preparación inicial), [`scripts/02_actualizacion_periodica_viento.ipynb`](https://github.com/raisavll/servicio-viento/blob/main/scripts/02_actualizacion_periodica_viento.ipynb) (Actualización periódica), [`README.md`](https://github.com/raisavll/servicio-viento/blob/main/README.md) (Guía de arquitectura)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_guide["Guía y decisiones"]
  node_architecture_guide["Guía de arquitectura<br/>[README.md]"]
  node_agol_notebook["Notebook AGOL"]
end

subgraph group_processing["Procesamiento de viento"]
  node_setup_notebook["Preparación inicial"]
  node_update_notebook["Actualización periódica"]
  node_wind_inputs["Datos de viento"]
  node_vector_field["Campo vectorial UV"]
end

subgraph group_publishing["Publicación Enterprise"]
  node_mosaic_dataset[("Mosaic dataset")]
  node_enterprise_service["Image service"]
  node_raster_analytics["Raster Analytics"]
end

subgraph group_client["Visor web"]
  node_web_viewer["Visor web"]
  node_maps_sdk["ArcGIS Maps SDK"]
  node_flow_renderer["FlowRenderer"]
  node_dynamic_layer["ImageryLayer"]
  node_tiled_layer["ImageryTileLayer"]
end

node_engineer(("Operador"))
node_web_user(("Usuario web"))

node_engineer -->|"consulta"| node_architecture_guide
node_engineer -->|"ejecuta"| node_setup_notebook
node_engineer -->|"ejecuta"| node_update_notebook
node_setup_notebook -->|"consulta"| node_wind_inputs
node_setup_notebook -->|"prepara"| node_vector_field
node_setup_notebook -->|"crea y carga"| node_mosaic_dataset
node_update_notebook -->|"consulta"| node_wind_inputs
node_update_notebook -->|"actualiza"| node_vector_field
node_update_notebook -->|"actualiza"| node_mosaic_dataset
node_mosaic_dataset -->|"publica"| node_enterprise_service
node_raster_analytics -.->|"genera alojado"| node_enterprise_service
node_agol_notebook -.->|"prepara para"| node_enterprise_service
node_web_user -->|"usa"| node_web_viewer
node_web_viewer -->|"usa"| node_maps_sdk
node_maps_sdk -->|"consume"| node_dynamic_layer
node_maps_sdk -->|"consume"| node_tiled_layer
node_dynamic_layer -->|"solicita imágenes"| node_enterprise_service
node_tiled_layer -->|"solicita teselas"| node_enterprise_service
node_flow_renderer -->|"renderiza"| node_dynamic_layer
node_flow_renderer -->|"renderiza"| node_tiled_layer

click node_architecture_guide "https://github.com/raisavll/servicio-viento/blob/main/README.md"
click node_setup_notebook "https://github.com/raisavll/servicio-viento/blob/main/scripts/01_setup_inicial_viento.ipynb"
click node_update_notebook "https://github.com/raisavll/servicio-viento/blob/main/scripts/02_actualizacion_periodica_viento.ipynb"

classDef toneNeutral fill:#f8fafc,stroke:#334155,stroke-width:1.5px,color:#0f172a
classDef toneBlue fill:#dbeafe,stroke:#2563eb,stroke-width:1.5px,color:#172554
classDef toneAmber fill:#fef3c7,stroke:#d97706,stroke-width:1.5px,color:#78350f
classDef toneMint fill:#dcfce7,stroke:#16a34a,stroke-width:1.5px,color:#14532d
classDef toneRose fill:#ffe4e6,stroke:#e11d48,stroke-width:1.5px,color:#881337
classDef toneIndigo fill:#e0e7ff,stroke:#4f46e5,stroke-width:1.5px,color:#312e81
classDef toneTeal fill:#ccfbf1,stroke:#0f766e,stroke-width:1.5px,color:#134e4a
class node_architecture_guide,node_agol_notebook toneBlue
class node_setup_notebook,node_update_notebook,node_wind_inputs,node_vector_field toneAmber
class node_mosaic_dataset,node_enterprise_service,node_raster_analytics toneMint
class node_web_viewer,node_maps_sdk,node_flow_renderer,node_dynamic_layer,node_tiled_layer toneRose
class node_engineer,node_web_user toneIndigo
```

## Components

### Guía y decisiones

- [Guía de arquitectura](https://github.com/raisavll/servicio-viento/blob/main/README.md): `README.md`
- **Notebook AGOL**

### Procesamiento de viento

- [Preparación inicial](https://github.com/raisavll/servicio-viento/blob/main/scripts/01_setup_inicial_viento.ipynb): `scripts/01_setup_inicial_viento.ipynb`
- [Actualización periódica](https://github.com/raisavll/servicio-viento/blob/main/scripts/02_actualizacion_periodica_viento.ipynb): `scripts/02_actualizacion_periodica_viento.ipynb`
- **Datos de viento**
- **Campo vectorial UV**

### Publicación Enterprise

- **Mosaic dataset**
- **Image service**
- **Raster Analytics**

### Visor web

- **Visor web**
- **ArcGIS Maps SDK**
- **FlowRenderer**
- **ImageryLayer**
- **ImageryTileLayer**

### Other components

- **Operador**
- **Usuario web**

## Connections

- Operador → Guía de arquitectura: consulta
- Operador → Preparación inicial: ejecuta
- Operador → Actualización periódica: ejecuta
- Preparación inicial → Datos de viento: consulta
- Preparación inicial → Campo vectorial UV: prepara
- Preparación inicial → Mosaic dataset: crea y carga
- Actualización periódica → Datos de viento: consulta
- Actualización periódica → Campo vectorial UV: actualiza
- Actualización periódica → Mosaic dataset: actualiza
- Mosaic dataset → Image service: publica
- Raster Analytics → Image service: genera alojado
- Notebook AGOL → Image service: prepara para
- Usuario web → Visor web: usa
- Visor web → ArcGIS Maps SDK: usa
- ArcGIS Maps SDK → ImageryLayer: consume
- ArcGIS Maps SDK → ImageryTileLayer: consume
- ImageryLayer → Image service: solicita imágenes
- ImageryTileLayer → Image service: solicita teselas
- FlowRenderer → ImageryLayer: renderiza
- FlowRenderer → ImageryTileLayer: renderiza
