Datons Stories #15 - Simulación del PNIEC | El mix energético tras el cierre nuclear

Simulamos el mix energético de España tras el cierre del parque nuclear según el PNIEC. Modelos ML con datos reales de ESIOS, tres escenarios de sustitución y una app interactiva en Streamlit.

10 de febrero de 2026 2:32:36
energianuclearpniecsimulacionrenovablesmix-energeticomachine-learningstreamlit

Recibe actualizaciones semanales

Sesiones de live coding, librerías Python para datos energéticos y tutoriales prácticos. Un email por semana, sin relleno.

Resultado

Aplicación Streamlit mostrando resultados de simulación — proyecciones de generación por tecnología con inputs editables

Una aplicación Streamlit que simula el mix energético español año a año mientras las centrales nucleares cierran según el calendario del PNIEC. Modelos de ML entrenados con datos reales de ESIOS predicen demanda y generación, y el usuario puede ajustar la capacidad instalada por tecnología para explorar escenarios.

El problema

Documento oficial del PNIEC — tabla de objetivos de potencia instalada mostrando cierre nuclear hasta 2030

  • El PNIEC planifica el cierre escalonado de 7 reactores nucleares (7.399 MW) entre 2027 y 2035
  • La nuclear aporta ~20% de la generación eléctrica con un factor de capacidad de 0,89 — el más alto de todas las tecnologías
  • Para sustituir 1 MW nuclear hacen falta ~5 MW de solar fotovoltaica (factor 0,17) o ~3,7 MW de eólica (factor 0,24)
  • Los debates sobre el cierre nuclear carecen de simulaciones con datos reales que muestren el impacto concreto

Factores de capacidad

Diapositiva comparativa de factores de capacidad — nuclear al 89%, solar al 20%, eólica al 25%

El factor de capacidad mide qué porcentaje del tiempo una planta genera a su máxima potencia. Es el concepto clave para entender por qué sustituir nuclear no es simplemente instalar la misma potencia en renovables.

TecnologíaFactorHoras equiv./año
Nuclear0,897.796 h
Eólica0,242.102 h
Ciclo combinado0,201.752 h
Solar FV0,171.489 h
Hidráulica0,151.314 h

La nuclear genera casi el 90% del tiempo. La solar solo el 17%. Necesitas multiplicar por 5 la capacidad instalada para compensar el hueco.

La solución

Partimos de datos históricos de generación y demanda descargados de la API de ESIOS (Red Eléctrica) para construir modelos predictivos y una herramienta de simulación interactiva.

Datos de ESIOS y el PNIEC

Panel de ESIOS mostrando la composición del mix energético de España en tiempo real por tecnología

Descargamos series históricas de generación por tecnología y demanda eléctrica desde la API de ESIOS. Los datos incluyen producción horaria de nuclear, eólica, solar, ciclo combinado, hidráulica y el resto de tecnologías del mix español.

Preparación de los datos

Cuaderno de preparación de datos — datos de capacidad del PNIEC interpolados mes a mes con Pandas

Los datos del PNIEC vienen como objetivos de potencia instalada por tecnología a nivel anual. Con Pandas interpolamos estos valores mes a mes para obtener una serie continua que alimente los modelos. También creamos variables temporales (hora, día, mes, fin de semana) como features para el modelo.

Modelos de machine learning

Entrenamos modelos XGBoosting para predecir demanda eléctrica y generación por tecnología. Usamos la analogía del examen para explicar el concepto de train/test split: el modelo estudia con unos datos (train) y se examina con otros que nunca ha visto (test). Si solo memorizara las respuestas del estudio, suspendería el examen — eso es overfitting.

Evaluación de los modelos

Evaluación del modelo XGBoost — MAE de 1880 MWh e histograma de demanda

Evaluamos los modelos con dos métricas principales:

  • MAE (Mean Absolute Error): error medio en valor absoluto — indica cuántos MW se desvía la predicción de media
  • RMSE (Root Mean Squared Error): penaliza más los errores grandes — útil para detectar predicciones muy desviadas

Los modelos mostraron un rendimiento aceptable para simulación de escenarios, capturando patrones estacionales y horarios de generación.

Proyecciones de generación

Previsión de generación hasta 2030 — la nuclear baja de 7000 MW a 2300 MW siguiendo el calendario del PNIEC

Con los modelos entrenados, proyectamos la generación a futuro según el calendario del PNIEC. La nuclear cae progresivamente de 7.000 MW a 2.300 MW mientras el resto de tecnologías debe compensar el déficit.

Aplicación Streamlit

Usando ChatGPT Codex para refactorizar el proyecto en una aplicación Streamlit

Construimos una aplicación interactiva con Streamlit y la asistencia de ChatGPT. Refactorizamos los notebooks en una estructura de proyecto limpia con módulos separados para datos, modelos y visualización. La app permite:

  • Seleccionar un año futuro (2027-2035)
  • Ver qué centrales nucleares han cerrado en ese año
  • Ajustar la capacidad instalada de cada tecnología
  • Simular la generación horaria y ver el mix resultante
  • Comparar con la generación histórica

Estructura del proyecto

app
streamlit_app.py# Aplicación principal Streamlit
components# Componentes UI
src/nuclear_energy
cli.py# Interfaz de línea de comandos
config.py# Configuración (YAML)
technology.py# Definición de tecnologías
io
loaders.py# Carga de datos (ESIOS, PNIEC)
validators.py# Validación de inputs
preprocessing
pniec.py# Interpolación mensual del PNIEC
simulation
engine.py# Motor de simulación
interpolation.py# Interpolación temporal
demand_adjustment.py# Ajuste de demanda
optimization
engine.py# Motor de optimización (LP)
components.py# Componentes del modelo
schema.py# Esquema de configuración
reporting
plots.py# Gráficas Plotly
tables.py# Tablas de resultados
configs
default.yaml# Configuración base
technologies.yaml# Parámetros por tecnología
optimization# Escenarios de optimización
tests
unit# Tests unitarios

Tres escenarios de sustitución

Simulamos tres escenarios para cubrir el hueco que deja la nuclear:

Escenario A — Solo renovables: Se instala eólica y solar suficiente para compensar la energía nuclear perdida. El problema: la intermitencia. Hay horas con exceso de generación y horas con déficit que no se pueden cubrir.

Escenario B — Gas como respaldo (modelo Alemania): Se combinan renovables con ciclos combinados de gas natural como tecnología de respaldo. Cubre el déficit pero aumenta las emisiones de CO2 — exactamente lo que ocurrió en Alemania tras el cierre nuclear.

Escenario C — Mix optimizado: Se busca la combinación óptima de renovables, almacenamiento y gas que minimice tanto el déficit energético como las emisiones. El escenario más realista pero también el más complejo de modelar.

Referencia

Centrales nucleares en España

CentralPotencia (MW)Cierre previsto
Almaraz I1.0492027
Almaraz II1.0062028
Ascó I1.0332030
Cofrentes1.0922030
Ascó II1.0272032
Vandellós II1.0872035
Trillo1.0662035

Total: 7.399 MW — aproximadamente el 20% de la generación eléctrica española.

Conceptos de machine learning utilizados

ConceptoDescripción
XGBoostingAlgoritmo de gradient boosting basado en árboles de decisión
Train/test splitDivisión de datos para entrenamiento y evaluación
OverfittingModelo que memoriza datos de entrenamiento pero no generaliza
MAEError absoluto medio — desviación media de la predicción
RMSERaíz del error cuadrático medio — penaliza errores grandes
Feature engineeringCreación de variables (hora, día, mes, temperatura) a partir de los datos brutos

Stack

  • Python · Pandas · Plotly · XGBoost · Streamlit · ESIOS API · ChatGPT

Recursos

Índice
Buscar sección

Suscríbete a nuestro newsletter

Recibe insights semanales sobre datos, automatización e IA.

© 2026 Datons. All rights reserved.