Serbatoio e nodi di stoccaggio
Last updated
Last updated
description: Questa pagina descrive il comportamento e la configurazione dei nodi del serbatoio Pyrr in WaterStrategy.
Ai serbatoi e ai nodi di stoccaggio sono assegnate penali (costi) di allocazione. Un costo negativo significa che il serbatoio accumulerà acqua e un costo positivo significa invece che il serbatoio rilascerà acqua. Le penalità di allocazione possono essere costanti (parametri costanti) o profili (mensili, giornalieri, settimanali) che cambiano in base al tempo. Inoltre, le penalità di allocazione possono avere diversi livelli definiti da diverse curve di controllo in base al volume del serbatoio. Nonostante le penali relative all'allocazione dei serbatoi e dello stoccaggio influiscano sullo stoccaggio dell'acqua, le emissioni da tali nodi risulteranno da un equilibrio dei costi del sistema, considerando le penali di allocazione dei nodi a valle.
Di seguito vengono presentati diversi esempi.
Penalità di allocazione costante
Questo esempio utilizzerà valori costanti come penalità di allocazione per diversi nodi di una rete. La Figura 1 mostra una rete semplice composta da nodi di catchment, storage, demand e outlet.
Figura 1 Modello Pywr semplice implementato in WaterStrategy
Il nodo di bacino include una serie temporale di afflusso, mostrata nella Figura 2. La capacità massima del storage node è 2000000 Mm3 e la domanda del nodo di domanda è 92 mm3/giorno.
Figura 2. Serie temporali di afflussi associate al nodo Catchment
Questa rete semplice presenta due penalità di allocazione per i nodi di storage e di domanda. La penalità di allocazione per storage node è -5 e il nodo di domanda è -10. La Figura 3 mostra il volume simulato del storage node e il rifornimento del nodo di domanda.
![Un grafico con una linea
Descrizione generata automaticamente](../.gitbook/assets/3.png)
Figura 3. Volume simulato per il storage node e fornitura d'acqua per il nodo di domanda. Penalità di allocazione dello spazio di archiviazione = -5, penalità di allocazione della domanda = -10
La Figura 3 mostra che la domanda di 92 mm3/giorno è sempre soddisfatta durante la simulazione. Questo perché la penalità di allocazione del nodo di domanda è superiore alla penalità sul storage node. Analogamente, se la penalità di allocazione per il storage node non è impostata, i risultati saranno gli stessi della Figura 3. Ora, se le penalità di allocazione sono invertite, ovvero la penalità di allocazione dello stoccaggio è -10 e la penalità di allocazione della domanda è -5, il storage node manterrà l'acqua e non ci sarà offerta per il nodo di domanda (Figura 4).
![Un grafico con una linea che sale
Descrizione generata automaticamente](../.gitbook/assets/4.png)
![Un grafico con una linea
Descrizione generata automaticamente](../.gitbook/assets/5.png)
Figura 4. Volume simulato per il storage node e fornitura d'acqua per il nodo di domanda. Penalità di allocazione dello spazio di archiviazione = -10, Penalità di allocazione della domanda = -5
Penalità di assegnazione del profilo
Questo esempio utilizzerà un profilo mensile come penalità di allocazione per storage node (Figura 5) e una penalità di allocazione costante pari a -10 per il nodo di domanda. La rete nella Figura 1 dimostrerà l'uso di un Pywr MonthlyProfileParameter. Qualsiasi altro parametro Pywr del profilo può essere utilizzato allo stesso modo.
Figura 5. Penalità mensile di assegnazione del profilo.
Da maggio a settembre, la penalità di allocazione è inferiore alla penalità nel nodo della domanda, con conseguente rilascio dal storage node solo in quei mesi per soddisfare la domanda (vedi Figura 6).
![Un grafico con una linea che sale
Descrizione generata automaticamente](../.gitbook/assets/7.png)
Figura 6. Volume simulato per il storage node e fornitura idrica per il nodo di domanda utilizzando un parametro di profilo mensile
Nodi con penalità di allocazione uguali
Come commentato nella sezione 1.1, le penalità di allocazione vengono utilizzate per rappresentare le priorità di fornitura in una rete. In caso di carenza idrica e dell'esistenza di due o più nodi con uguale priorità, non è possibile ottenere una fornitura proporzionale utilizzando penali di allocazione uguali. La Figura 7 mostra un esempio di carenza idrica in una rete con due nodi di domanda con domanda e priorità uguali.
Figura 7. Modello Pywr semplice implementato in WaterStrategy con pari penalità di allocazione
Se gestiamo la rete nella Figura 7, non otteniamo un'offerta uguale per i nodi Demand 1 e 2 (Figura 8) perché ciò dipenderà dalla risoluzione del problema dell'allocazione dell'acqua da parte del risolutore. Nell'esempio riportato nella Figura 7, il solutore alloca più acqua al nodo Demand 2, come illustrato nella Figura 8.
![Un grafico con numeri e una linea
Descrizione generata automaticamente](../.gitbook/assets/10.png)
Figura 8. Approvvigionamento idrico ai nodi della domanda con priorità di allocazione uguali.
Sebbene non sia possibile utilizzare penalità di allocazione uguali per ottenere la stessa fornitura, in WaterStrategy, è possibile utilizzare un «nodo aggregato» per ottenere il comportamento desiderato di ottenere un'offerta proporzionale in caso di carenza d'acqua (vedere la Figura 9).
Figura 9. Modello Pywr semplice implementato in WaterStrategy con pari penalità di allocazione utilizzando un «AggrAgtedNode»
In questo caso, nell'attributo «nodes» di «AggregatedNode», l'utente deve inserire i nodi con una penalità di allocazione uguale e nell'attributo «factors» inserire la proporzione di fornitura richiesta tra i nodi, ad esempio, per una proporzione di offerta uguale in due nodi i fattori dovrebbero\ [0.5, 0.5], vedere la Figura 10.
Figura 10. Attributo Nodi e fattori in un nodo aggregato.
Si noti che «AggregatedNode» non è connesso a nessun nodo della rete (Figura 9). Se gestiamo questa nuova rete, otteniamo un approvvigionamento idrico uguale per i nodi Demand 1 e 2 (vedere la Figura 11).
![Un grafico con numeri e una linea
Descrizione generata automaticamente](../.gitbook/assets/14.png)
Figura 11. Approvvigionamento idrico ai nodi della domanda con priorità di allocazione uguali e un nodo aggregato.
Pywr non ha un nodo esplicito per modellare una centrale idroelettrica. In alternativa, gli utenti possono combinare un nodo «Link», un parametro Pywr e un registratore per modellare una centrale idroelettrica. Il parametro può essere un «HydropowerTargetParameter» e il registratore un «HydropowerRecorder». Il parametro hydropower target è un parametro utilizzato per calcolare il flusso richiesto per generare un particolare obiettivo di produzione di energia idroelettrica. È destinato a essere utilizzato su un nodo che rappresenta una turbina in cui è richiesto un particolare obiettivo di produzione per ogni fase temporale. Il registratore di energia idroelettrica calcola e salva la produzione di energia utilizzando l'equazione dell'energia idroelettrica. Questo registratore consente di risparmiare una serie di produzione di energia idroelettrica in ogni fase temporale. Per facilitare l'interazione dell'utente con Pywr, WaterStrategy include un nodo «Turbine», che mostra un'interfaccia (Figura 12) per inserire le informazioni della centrale idroelettrica e crea internamente un «HydropowerTargetParameter» e un «HydropowerRecorder».
Figura 12. Interfaccia in WaterStrategy per inserire dati tecnici per i nodi della turbina.
Le centrali idroelettriche a bacino idrico o ad acqua fluente possono essere modellate in WaterStrategy utilizzando un nodo «Turbina». L'unica differenza è che è necessario definire un storage node per le centrali idroelettriche a bacino per tenere conto della variazione di livello nel serbatoio per il calcolo della potenza. La velocità per il calcolo della potenza è calcolata a partire dall'altezza dell'acqua indicata nel campo «stoccaggio\»_nodo» e «turbina_valori «elevazione». Se viene fornito un storage node con un'elevazione dell'acqua, la testa è la differenza di elevazione tra l'acqua e la turbina. Se il parametro di elevazione dell'acqua è «Nessuno», la testa è semplicemente l'elevazione della turbina.