Este proyecto evalúa la viabilidad económica de la energía solar fotovoltaica en Uruguay, mediante el análisis de datos climáticos, simulaciones de producción y estimaciones del Costo Nivelado de Energía (LCOE).
RadiationSim2024_2044.csv
: proyecciones de radiación.datos_horarios_con_temeperatura.csv
: datos climáticos horarios.predicciones_anuales_1999_2044.csv
y otras: demanda energética proyectada por sector y año.
- Normalización y detección de outliers:
normalizar y outliers.R
. - Transformaciones adicionales:
eda.r
,eda2.R
.
- Python:
EDA_clima.ipynb
analiza variables meteorológicas horarias. - R:
EDA_Simulaciones_perfil_Radiación_y_LCOE.ipynb
explora simulaciones solares y parámetros financieros.
- Simulación Monte Carlo de:
- CAPEX (costo de inversión inicial).
- WACC (tasa de descuento).
- Cálculo de:
- Producción eléctrica anual.
- Valor Presente Futuro (VPF).
- LCOE (Costo Nivelado de la Energía).
- Histogramas, densidades y curvas de distribución con
ggplot2
,highcharter
,matplotlib
, yseaborn
.
LCOE.R
: simulación de escenarios económicos.simulacion.R
: limpieza de datos y generación de escenarios de clima.funciones.R
: funciones auxiliares para visualización y simulación.eda.r
: análisis exploratorio de datos simulados.
data/
├── raw/ # Datos originales
├── processed/ # Datos procesados
notebooks/
├── EDA_clima.ipynb # Exploración de datos climáticos
├── EDA_Simulaciones_perfil_Radiación_y_LCOE.ipynb
├── Eda_simulaciones.ipynb
src/
└── scripts/ # Scripts en R para simulación y análisis
- R (preferentemente ≥ 4.2)
- Python ≥ 3.8
- Librerías: tidyverse, triangle, highcharter, pandas, seaborn, matplotlib
El script src/scripts/api.R
expone el endpoint /lcoe
mediante Plumber.
Para iniciar el servicio es posible definir el puerto y el host mediante
variables de entorno:
export R_API_PORT=8001
export R_API_HOST=0.0.0.0
Rscript src/scripts/api.R
La API quedará disponible en http://$R_API_HOST:$R_API_PORT/lcoe
y
retorna el LCOE calculado junto con la ruta del archivo generado.
Un cliente sencillo puede invocar el endpoint usando la librería
requests
:
import requests
payload = {
"data_dir": "/ruta/datos",
"input_file": "archivo.csv",
"capital_cost": 3000,
"operating_cost": 50,
"energy_production": 5000,
"discount_rate": 5,
"lifetime": 20,
"projection_date": "2045-12-31"
}
r = requests.post("http://localhost:8001/lcoe", json=payload)
print(r.json())
También puede ejecutarse el script
examples/call_r_api.py
para realizar la
petición con parámetros de ejemplo.
Repositorio correspondiente a la entrega de Trabajo Final de Maestría en Ciencia de Datos sobre Modelos Estocásticos para la microgeneración de energía fotovoltaica en Uruguay.
Autores:
- Chalela, Emanuel: [email protected]
- Keulyian, Laura: [email protected]
- Sgüillaro, Enzo: [email protected]
Universidad Católica del Uruguay www.ucu.edu.uy