Nodos de depósito y almacenamiento
Last updated
Last updated
description: Esta página describe el comportamiento y la configuración de los nodos del depósito de Pywr en WaterStrategy.
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.
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.