description: Termini chiave usati in Pywr.
Pywr, una libreria Python utilizzata da WaterStrategy, consente di simulare l'allocazione delle risorse rappresentando un sistema di risorse come una rete utilizzando 'Nodes' e 'Edges'. L'allocazione delle risorse è guidata da regole operative che utilizzano «Penalità di allocazione», «Vincoli» e «Parametri» e gli output del modello vengono acquisiti e salvati utilizzando «Registratori». Le variazioni degli input del modello possono essere specificate ed eseguite in parallelo utilizzando «Scenari».
Sebbene i concetti generali utilizzati per creare un modello di simulazione dell'allocazione delle risorse in Pywr siano simili a quelli di altri strumenti, l'uso dei termini può essere diverso. In questa sezione, definiamo i termini chiave di Pywr e i loro ruoli nei modelli di simulazione.
I nodi rappresentano le posizioni nel sistema idrico simulato in cui l'acqua viene aggiunta, immagazzinata, utilizzata, consumata o trasmessa. Esistono diversi tipi di nodi in Pywr per aiutarti a costruire il tuo modello di sistema idrico; puoi saperne di più su di essi nella Tipi di nodi sezione. I dati che definiscono le caratteristiche fisiche e il comportamento di un nodo possono essere aggiunti direttamente al nodo o indirettamente facendo riferimento a un parametro (descritto di seguito).
Per formare una rete, i nodi sono collegati tramite collegamenti che rappresentano il trasporto dell'acqua. Pywr li chiama 'Edges'. Un bordo ha un nodo iniziale e uno finale e l'acqua scorre dal nodo iniziale al nodo finale. Pywr non assegna informazioni a queste connessioni (i bordi), ma assegna i dati ai nodi di origine e di destinazione. Tutti i dati necessari per simulare la gestione dell'acqua sono memorizzati sui nodi, i bordi determinano solo la direzione del flusso d'acqua. Un modellatore Pywr direbbe che «i bordi Pyrr determinano la topologia della rete», il che significa che «le connessioni tra i nodi determinano il movimento dell'acqua nel modello computerizzato».
I vincoli possono essere impostati su vari tipi di nodi per aiutare a rappresentare il comportamento del sistema. Ad esempio, un nodo fluviale può avere valori di flusso massimi e/o minimi per rappresentare la capacità di trasporto. In Pywr, molti nodi hanno il valore 'max_flow' e 'min_attributi di flusso per impostare i limiti superiore e inferiore del flusso attraverso il nodo, se necessario. L'attributo 'max\ _flow' non richiede che il flusso attraverso questo nodo raggiunga questo valore, ma se il volume e la priorità dell'acqua sono sufficienti, il modello cercherà di soddisfare il 'Flusso massimo'. I vincoli minimi di flusso devono essere usati con attenzione in quanto possono rendere impossibile il modello se il minimo non può essere raggiunto.
Le penalità di allocazione sono attributi dei nodi che controllano la priorità dell'allocazione dell'acqua. Queste sono in genere espresse come penalità o «costi» e il modello assegna l'acqua per primo al nodo con la penalità più bassa. Se preferisci ripartire in base ai benefici, inviando prima l'acqua dove offre i maggiori benefici, dovrai esprimere le tue priorità in Pywr come costi negativi (ad esempio, usa numeri negativi). In effetti, entrambi possono essere usati insieme, quindi ad esempio se 3 nodi hanno penalità -10, 2, 6, riceveranno acqua in quest'ordine (il nodo con una penalità di -10 ottiene l'acqua per primo e il nodo con penalità di allocazione 6 ottiene l'acqua per ultimo).
I parametri in Pywr forniscono un modo flessibile e conveniente per fornire input ai nodi. Ad esempio, un particolare tipo di parametro può essere utilizzato per caricare i dati di afflusso o di richiesta da un file Microsoft Excel. I parametri offrono anche un modo flessibile e personalizzabile per definire le regole operative di un sistema (ad esempio, le regole che regolano i rilasci dei giacimenti). La maggior parte dei dati di input del modello può essere fornita utilizzando i parametri.
I registratori Pywr vengono utilizzati per post-elaborare i risultati. Creando un registratore, è possibile osservare e salvare i risultati della simulazione. Alcuni registratori consentono di aggregare i risultati nel tempo (ad esempio, da giornaliero a annuale) e nello spazio (ad esempio, l'acqua allocata a un gruppo di nodi).
In Pywr puoi creare e simulare scenari con diversi dati di input su offerta, domanda o altre modifiche. I pianificatori idrici utilizzano sempre più simulazioni a lungo termine con molti scenari per valutare i cambiamenti futuri o testare possibili interventi. Essere in grado di simulare rapidamente molti scenari futuri plausibili è uno dei principali vantaggi di Pywr.
Nota:
Per ulteriori dettagli, si rimanda al documento ad accesso aperto intitolato: Un simulatore di risorse idriche in Python.