WaterStrategy
Español
Español
  • WaterStrategy Documentación
  • Soporte
  • Cómo empezar
    • Creación de una cuenta
    • Iniciar sesión
    • Recorrido por la interfaz
    • Creación de un nuevo proyecto y red
    • Compartir proyectos y redes
    • Exportación e importación de modelos
    • Cómo tratar los errores del modelo
    • Carga de datos externos
  • Conceptos básicos de modelado
    • ¿Modelado de sistemas de recursos hídricos?
    • ¿Qué es Pywr?
    • Conceptos de Pywr
    • Tipos de nodos
      • Entrada de agua
        • Nodo de entrada
        • Nodo de captación
        • Nodo de entrada proporcional
      • Transporte acuático
        • Link Node
        • Nodo fluvial
        • Nodo de retardo
        • RiverSplit Node
        • RiverSplitWithGauge Node
        • Nodo RiverGauge
        • BreakLink Node
        • PiecewiseLink Node
        • MultiSplitLink Node
      • Almacenamiento de agua
        • Storage Node
        • Nodo de embalse
        • VirtualStorage Node
        • Nodo de almacenamiento virtual rodante
        • Nodo de almacenamiento virtual anual
        • Nodo de almacenamiento virtual estacional
        • Nodo de almacenamiento agregado
      • Salida de agua
        • Nodo de salida
        • Pérdida Link Node
      • Energía hidroeléctrica
        • Nodo de turbina
      • Otros
        • Nodo agregado
    • Sanciones de asignación
    • Escenarios
      • WaterStrategy Escenarios
      • Escenarios Pywr
        • Integración de parámetros y pywr-scenario
    • Parámetros
      • Clase de parámetro base
        • Parámetro
        • Parámetro de índice
      • Parámetros simples
        • Constante
        • Parámetro de escenario constante
        • Parámetro de índice de escenario constante
      • Combinación de varios parámetros
        • Parámetro agregado
        • Parámetro de índice agregado
        • Parámetro de división
        • Parámetro negativo
        • Parámetro máximo
        • Parámetro máximo negativo
        • Parámetro mínimo
        • Parámetro mínimo negativo
        • Parámetro de compensación
      • Series temporales y perfiles
        • Perfil diario
        • Perfil semanal
        • Perfil mensual
        • Perfil de reducción uniforme
        • Perfil diario de Scenario
        • Perfil semanal de Scenario
        • Perfil mensual del escenario
        • Factores mensuales del escenario indexado de matrices
        • Perfil RBF
      • Parámetro DataFrame
      • Parámetro HDF5
      • Parámetros basados en matrices
        • Parámetro indexado de matriz
        • Parámetro de escenario indexado de matriz
        • Parámetro de matriz indexada
      • Parámetros de umbral
        • Umbral abstracto
        • Umbral de almacenamiento
        • Umbral de nodo
        • Umbral de parámetros
        • Umbral de grabación
        • Umbral del año actual
        • Umbral de días ordinales actuales
      • Parámetros de interpolación
        • Parámetro interpolado
        • Cuadratura interpolada
        • Flujo interpolado
        • Volumen interpolado
      • Parámetros de la curva de control
        • Curva de control base
        • Parámetro interpolado de la curva de control
        • Parámetro interpolado por partes de la curva de control
        • Parámetro de índice de curva de control
      • Parámetros de energía hidroeléctrica
      • Otros
        • Parámetro de serie armónica anual
        • Parámetro de déficit
        • Parámetro de contenedor de escenarios
        • Parámetro integral por partes
        • Parámetro de flujo
        • Parámetro de retardo de flujo
        • Parámetro de factor de descuento
    • Grabadoras
      • Grabadora básica
        • Grabadora
        • Grabador de nodos
        • Grabador de almacenamiento
        • Registrador de parámetros
        • Registrador de parámetros de índice
        • Agregador
      • Grabadoras Numpy Array
        • Grabador de nodos Numpy Array
        • Grabador de almacenamiento Numpy Array
        • Registrador de niveles Numpy Array
        • Grabador de área Numpy Array
        • Registrador de parámetros Numpy Array
        • Registrador de parámetros de índice Numpy Array
        • Registrador de parámetros de perfil diario Numpy Array
      • Registradores de curvas de duración de flujo
        • Registrador de curvas de duración de flujo
        • Registrador de curvas de duración de almacenamiento
        • Registrador de desviación de la curva de duración del flujo
        • Registrador de curvas de duración de flujo estacional
      • Registradores de déficit
        • Registrador de déficit de nodos Numpy Array
        • Registrador de ratios suministrado por Numpy Array Node
        • Registrador de ratios de reducción de nodos Numpy Array
        • Registrador de nodos con déficit total
        • Registrador de nodos de frecuencia deficitaria
      • Registradores estadísticos
        • Grabador agregado
        • Registrador de nodos Mean Flow
        • Grabador de nodos de flujo total
        • Registrador de flujo total anual
        • Registrador de parámetros medios
        • Registrador de parámetros totales
        • Registrador de nodos Rolling Mean Flow
        • Grabador de almacenamiento de volumen mínimo
        • Grabador de volumen mínimo de almacenamiento
        • Registrador de parámetros de índice de recuento de pasos de tiempo
        • Registrador de umbrales del índice de recuento anual
        • Registrador de parámetros Rolling Window
      • Registradores de índices
        • Registrador de parámetros del índice de recuento anual
      • Grabadoras de archivos
        • Grabador CSV
        • Grabador de tablas
      • Grabadoras de energía hidroeléctrica
        • Registrador de energía hidroeléctrica
        • Registrador Total Hydro Energy
  • Modelado aplicado
    • Nodos de depósito y almacenamiento
  • Tutoriales
    • Creación y ejecución de un modelo sencillo
      • Creación y ejecución de un modelo
        • Configuración de un proyecto y una red
        • Añadir nodos y enlaces (bordes)
        • Agregar datos a los nodos
        • Establecer el horizonte temporal
        • Ejecución del modelo y visualización de sus resultados
        • Creación de un nuevo escenario
        • Ejercicio
      • Realizar cambios en un modelo
        • Añadir un depósito
        • Agregar reglas operativas básicas
    • Modelización de sistemas de embalses de
      • Creación de un nuevo proyecto y red
      • Agregar una presa (embalse)
      • Agregar una demanda
      • Agregar un tratamiento de agua funciona con pérdidas
      • Agregar una fuente que represente el agua subterránea
      • Ejercicios adicionales
      • Añadir batimetría de reservorios, evaporación y precipitaciones
        • Antecedentes de la evaporación y la precipitación en los embalses
        • Añadir batimetría de yacimientos (área)
        • Añadir batimetría de reservorio (nivel)
        • Agregar evaporación y lluvia mensuales
      • Uso de reglas de control y penalizaciones de asignación para equilibrar las fuentes
      • Curvas de control y ahorro en la demanda
        • Añadir curvas de control de yacimientos y ahorrar en la demanda (reducciones)
    • Uso de penalizaciones de asignación para asignar agua
    • Escenarios de PyWR que leen un DataFrame externo y agregan reglas personalizadas
      • Carga de archivos
      • Lectura de CSV DataFrame
      • Ejecución de pywr-scenarios
      • Lectura de h5 DataFrame para escenarios de pywr
      • Crear regla personalizada - TranscientDecisionParameter
Powered by GitBook
On this page

Was this helpful?

Export as PDF
  1. Modelado aplicado

Nodos de depósito y almacenamiento

PreviousRegistrador Total Hydro EnergyNextCreación y ejecución de un modelo sencillo

Last updated 7 months ago

Was this helpful?


description: Esta página describe el comportamiento y la configuración de los nodos del depósito de Pywr en WaterStrategy.


Nodos de depósito y almacenamiento

Sanciones por asignación a los embalses

A los nodos de depósito y almacenamiento se les asignan penalizaciones de asignación (costos). Un costo negativo significa que el depósito acumulará agua y, en cambio, un costo positivo significa que el depósito liberará agua. Las penalizaciones de asignación pueden ser constantes (parámetros constantes) o perfiles (mensuales, diarios o semanales) que cambian en función del tiempo. Además, las penalizaciones de asignación pueden tener diferentes niveles definidos por diferentes curvas de control en función del volumen del depósito. A pesar de que las penalizaciones por la asignación de depósitos y depósitos influyen en el almacenamiento de agua, las emisiones de esos nodos se derivarán de un equilibrio de costes en el sistema, teniendo en cuenta las penalizaciones por asignación de los nodos situados aguas abajo.

A continuación se presentan diferentes ejemplos.

Penalización por asignación constante

En este ejemplo, se utilizarán valores constantes como penalizaciones de asignación para los diferentes nodos de una red. La figura 1 muestra una red simple que comprende nodos de captación, almacenamiento, demanda y salida.

Figura 1. Modelo Pywr simple implementado en WaterStrategy

El nodo de captación incluye una serie temporal de flujo de entrada, que se muestra en la figura 2. La capacidad máxima del storage node es 2000000 Mm3 y la demanda del nodo de demanda es de 92 mm3/día.

Figura 2. Series temporales de entradas asociadas al nodo de captación

Esta red simple tiene dos penalizaciones de asignación para los nodos de almacenamiento y demanda. La penalización de asignación para el storage node es -5 y para el nodo de demanda es -10. La figura 3 muestra el volumen simulado del storage node y el reabastecimiento del nodo de demanda.

![Un gráfico con una línea

Descripción generada automáticamente](../.gitbook/assets/3.png)

Figura 3. Volumen simulado para el nodo storage node y suministro de agua para el nodo de demanda. Penalización por asignación de almacenamiento = -5, penalización por asignación de demanda = -10

La figura 3 muestra que la demanda de 92 mm3/día siempre se satisface durante la simulación. Esto se debe a que la penalización de asignación del nodo de demanda es mayor que la penalización del storage node. Del mismo modo, si no se establece la penalización de asignación para el storage node, los resultados serán los mismos que los de la figura 3. Ahora, si las penalizaciones de asignación se invierten, es decir, la penalización de asignación de almacenamiento es -10 y la penalización de asignación de demanda es -5, el storage node retendrá el agua y no habrá suministro para el nodo de demanda (Figura 4).

![Un gráfico con una línea que va hacia arriba

Descripción generada automáticamente](../.gitbook/assets/4.png)

![Un gráfico con una línea

Descripción generada automáticamente](../.gitbook/assets/5.png)

Figura 4. Volumen simulado para el nodo storage node y suministro de agua para el nodo de demanda. Penalización por asignación de almacenamiento = -10, penalización por asignación de demanda = -5

Penalización por asignación de perfiles

En este ejemplo, se utilizará un perfil mensual como penalización de asignación para el storage node (figura 5) y una penalización de asignación constante igual a -10 para el nodo de demanda. La red de la figura 1 demostrará el uso de un parámetro MonthlyProfileParameter de Pywr. Cualquier otro parámetro Pywr del perfil se puede usar de la misma manera.

Figura 5. Penalización mensual por asignación de perfiles.

De mayo a septiembre, la penalización por asignación es inferior a la penalización del nodo de demanda, por lo que solo se liberan versiones del storage node en esos meses para satisfacer la demanda (consulte la figura 6).

![Un gráfico con una línea que va hacia arriba

Descripción generada automáticamente](../.gitbook/assets/7.png)

Figura 6. Volumen simulado para el nodo storage node y suministro de agua para el nodo de demanda mediante un parámetro de perfil mensual

Nodos con penalizaciones de asignación iguales

Como se comentó en la sección 1.1, las penalizaciones de asignación se utilizan para representar las prioridades de suministro en una red. En el caso de escasez de agua y de la existencia de dos o varios nodos con la misma prioridad, no es posible obtener un suministro proporcional con penalizaciones de asignación iguales. La figura 7 muestra un ejemplo de escasez de agua en una red con dos nodos de demanda con la misma demanda y prioridades.

Figura 7. Modelo Pywr simple implementado en WaterStrategy con penalizaciones de asignación iguales

Si ejecutamos la red de la figura 7, no obtenemos un suministro igual para los nodos Demand 1 y 2 (figura 8) porque eso dependerá de que el solucionador resuelva el problema de asignación de agua. En el ejemplo de la figura 7, el solucionador asigna más agua al nodo Demand 2, como se ve en la figura 8.

![Un gráfico con números y una línea

Descripción generada automáticamente](../.gitbook/assets/10.png)

Figura 8. Nodos de suministro a demanda de agua con prioridades de asignación iguales.

Si bien el uso de penalizaciones de asignación equitativa no es posible para lograr un suministro igual, en WaterStrategy, se puede usar un «AggregatedNode» para lograr el comportamiento deseado de obtener un suministro proporcional en caso de escasez de agua (consulte la figura 9).

Figura 9. Modelo Pywr simple implementado en WaterStrategy con penalizaciones de asignación iguales mediante un «AggragtedNode»

En este caso, en el atributo «nodes» de «AggregatedNode», el usuario debe introducir los nodos con una penalización de asignación igual y en el atributo «factors» introducir la proporción de suministro requerida entre los nodos; por ejemplo, para una proporción de suministro igual en dos nodos, los factores deberían\ [0.5, 0.5], consulte la figura 10.

Figura 10. Atributo de nodos y factores en un nodo agregado.

Tenga en cuenta que el «AggregatedNode» no está conectado a ningún nodo de la red (Figura 9). Si ejecutamos esta nueva red, obtenemos el mismo suministro de agua para los nodos Demand 1 y 2 (consulte la figura 11).

![Un gráfico con números y una línea

Descripción generada automáticamente](../.gitbook/assets/14.png)

Figura 11. Nodos entre suministro y demanda de agua con prioridades de asignación iguales y un nodo agregado.

Modelización de planes hidroeléctricos

Pywr no tiene un nodo explícito para modelar una central hidroeléctrica. Como alternativa, los usuarios pueden combinar un nodo «Link», un parámetro Pywr y un registrador para modelar una central hidroeléctrica. El parámetro puede ser un «HydroPowerTargetParameter» y el registrador un «HydroPowerRecorder». El parámetro objetivo de energía hidroeléctrica es un parámetro que se utiliza para calcular el flujo requerido para generar un objetivo de producción hidroeléctrica en particular. Pretende usarse en un nodo que represente una turbina donde se requiera un objetivo de producción particular en cada etapa de tiempo. El registrador de energía hidroeléctrica calcula y guarda la producción de energía utilizando la ecuación de energía hidroeléctrica. Esta grabadora guarda una serie de datos de la producción de energía hidroeléctrica en cada paso de tiempo. Para facilitar la interacción del usuario con Pywr, el WaterStrategy incluye un nodo denominado «Turbine», que muestra una interfaz (figura 12) para introducir la información de la central hidroeléctrica y crea internamente un «HydroPowerTargetParameter» y un «HydroPowerRecorder».

Figura 12. Interfaz en WaterStrategy para introducir los datos técnicos de los nodos de la turbina.

Las centrales hidroeléctricas de embalses o hidroeléctricas fluviales se pueden modelar en WaterStrategy utilizando un nodo de «turbina». La única diferencia es que es necesario definir un storage node para las centrales hidroeléctricas de embalses a fin de tener en cuenta la variación de nivel en el embalse a la hora de calcular la potencia. El margen para el cálculo de la potencia se calcula a partir de la elevación del agua dada en el «almacenamiento\»_nodo» y «turbina»_valores de «elevación». Si se da un storage node con una elevación del agua, entonces la altura es la diferencia de elevación entre el agua y la turbina. Si el parámetro de elevación del agua es «Ninguno», la altura es simplemente la elevación de la turbina.