Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Per accedere vai a (Hydra è il server sicuro su cui attualmente ospitiamo WaterStrategy)
Se hai dimenticato la password, fai clic sul pulsante ''link.
description: Come creare un account gratuito in WaterStrategy
Creazione di un account
Seleziona «Crea un account» nella parte inferiore della pagina web a cui ti porta «Accedi».
Nella pagina di registrazione, inserisci la tua email, nome, cognome, tipo di organizzazione, organizzazione, paese o regione, crea una password, seleziona «Non sono un robot» e seleziona le tre caselle.
Quindi seleziona «Registra».
Ti verrà inviata un'email di conferma per confermare il tuo account. Assicurati di controllare anche la tua cartella spam.
Il tuo account è stato creato.
Accedi
Inserisci la tua email e la password e seleziona nuovamente le tre caselle in basso. Scegli «Ricordami» se lo desideri.
Quindi seleziona «Accedi».
Ti troverai nella home page dell'interfaccia Water Strategy.
Guarda il video o segui il testo qui sotto. gli account vengono effettuati su («Hydra» è il nome del nostro server web).
Sul pagina web seleziona «LOGIN» nell'angolo in alto a destra.
Per accedere, visita oppure usa la pagina web WaterStrategy «Login»
WaterStrategy non è necessario per eseguire un modello Pyrr; è lì per aiutare a semplificare l'uso dei modelli Pyrr. Se hai un file di input del modello Pywr (sono chiamati file 'JSON') e hai le librerie Python e Pywr richieste installate sul tuo computer, puoi eseguire il tuo modello Pywr senza WaterStrategy (Nota: sono richieste competenze Python). Allo stesso modo, se hai un modello Pywr esistente (un file JSON), puoi importarlo in WaterStrategy.
Questa pagina mostra come esportare modelli da WaterStrategy in un file Pywr JSON e come importare modelli Pywr esistenti (file JSON) in WaterStrategy
Questa sezione utilizza la «rete demo one» fornita al momento della creazione di un account.
Per prima cosa fai clic sul pulsante di download.
Quindi, sceglieremo il nostro formato.
Scegli prima il formato Hydra JSON. Se desideri abilitare le interruzioni di riga, ciò semplifica la lettura del codice o del testo. Se è un file di grandi dimensioni, puoi comprimerlo.
Inviatelo.
Quindi, scarica il formato Pywr JSON.
Quindi, puoi trovare i due file nella cartella in cui hai scelto di salvarli.
Vediamo come importare i file Pywr.
Innanzitutto, fai clic su «Crea progetto» per creare una cartella di progetto nel tuo account Water Strategy.
Assegna un nome al progetto e fai clic su «Aggiungi».
Fai clic sul progetto creato.
Fai clic su «Crea rete».
Seleziona «Hydra JSON».
Fai clic su «Scegli file».
Scegli il file JSON Hydra.
Seleziona il modello.
Fai clic su «Invia».
Quindi, puoi scoprire che la rete è stata importata.
Per importare il file Pywr JSON, puoi seguire questi passaggi.
Fai nuovamente clic su «Crea rete».
Scegli «Pywr JSON».
Fai clic su «Scegli file».
Scegli il file Pywr JSON.
Scegli il modello.
Per la proiezione, puoi scegliere «Nessuno», «Regno Unito» o «Mondo». In questo caso, sceglieremo il «Mondo».
Fai clic su «Invia».
Infine, puoi visualizzare la rete importata qui.
Creazione di un nuovo progetto e di una nuova rete
Nella home page dell'interfaccia, fai clic su «Crea progetto» nell'angolo in alto a destra.
Digita il nome del progetto e seleziona «Aggiungi».
Inserisci il tuo nuovo progetto.
Fai clic su «Crea rete» sul lato destro.
Scegli la scheda «Manuale».
Inserisci un nome di rete.
Scegli uno di questi due modelli pywr.
-Gli altri modelli sono per altri sistemi di modellazione come i sistemi di alimentazione.
Scegli «Usa mappa» per visualizzare la mappa del mondo per la costruzione di modelli.
Fai clic su «Invia».
Inserisci la rete creata.
Attiva e ingrandisci un'area lungo il Nilo.
Seleziona il menu a discesa «Build».
Trascina un bacino, un link e due nodi di output nel modello come mostrato di seguito.
-Il secondo nodo di uscita (off-river) verrà utilizzato come nodo di estrazione dell'acqua.
-Notate che il nodo di catchment è a monte e il nodo di uscita è a valle.
(il Nilo scorre verso nord in questa parte e in generale)
Utilizzando la funzione «Collegamenti», collegate i nodi nella direzione del flusso.
-Questa operazione viene eseguita facendo clic prima sul nodo upflow e poi sul nodo downflow.
description: Esistono diversi modi per richiedere assistenza per WaterStrategy.
Il canale Discord di WaterStrategy viene monitorato regolarmente e offre supporto da parte di sviluppatori e utenti. Qui puoi segnalare bug o richiedere nuove funzionalità. Registrati tramite questo link:
In alternativa, puoi inviare un'e-mail support@waterstrategy.org
description: Come condividere un progetto o una rete con altri WaterStrategy utenti
Progetti: sono come cartelle che raggruppano sottoprogetti e reti.
Reti: ogni modello con una rete univoca è chiamato «Rete» in WaterStrategy.
Icona persona: indica che hai accesso esclusivamente al progetto o alla rete.
Icona Persone: indica che più persone hanno accesso a un progetto o a una rete.
Creatore: creato il progetto o la rete.
Condiviso direttamente: il progetto o la rete sono stati specificamente condivisi con un utente.
Ereditato da: («Nome progetto»): l'utente ha accesso a questo sottoprogetto o rete grazie alla condivisione di un progetto che lo racchiude.
Per condividere un progetto, accedi al progetto e fai clic sulla scheda membri.
Digita l'email dell'account del destinatario con cui desideri condividere.
Ci sono due autorizzazioni che puoi scegliere di concedere a un destinatario.
Consenti agli utenti di ricondividere? : Consente loro di condividere il progetto e i progetti/reti interni con altri.
Consentire agli utenti di modificare il progetto? : Consente loro di modificare i progetti/le reti all'interno del progetto.
Seleziona «Invita» dopo aver scelto le autorizzazioni.
Di seguito puoi vedere con chi è stato condiviso il progetto, gestire con chi è stato condiviso, visualizzarne le autorizzazioni e vedere come hanno ricevuto l'accesso.
Ci sono autorizzazioni che puoi scegliere di concedere a un destinatario.
Consenti agli utenti di ricondividere? : consente loro di condividere la rete con altri.
Consentire agli utenti di modificare il progetto? : consente loro di modificare la rete.
Clone Network: crea una rete duplicata. Impedisce modifiche alla rete preesistente. Ha le opzioni seguenti se si sceglie «Rete clonata».
Includi i risultati in una nuova rete? : Includi i risultati dell'esecuzione nella rete clonata.
Includi tutti gli scenari? : Includi gli scenari creati nella rete clonata.
Nome rete: crea il nome della rete clonata.
Digita l'email dell'account del destinatario con cui desideri condividere.
Fai clic su «Condividi» dopo aver scelto le autorizzazioni.
Per condividere una rete, fai clic sull'icona di condivisione su una rete.
description: WaterStrategy aiuta le persone e le organizzazioni a comprendere il loro sistema idrico e a valutare i piani futuri. La documentazione di WaterStrategy ti aiuta a costruire, perfezionare e utilizzare un gemello digitale del tuo sistema idrico. layout: description: visible: true outline: visible: true pagination: visible: true tableOfContents: visible: true title: visible: true
description: Guarda una panoramica dell'interfaccia WaterStrategy; segue un riepilogo testuale.
Progetto: cartella che contiene reti correlate, può contenere anche altre cartelle di progetto (sottoprogetti).
-Ogni cartella di progetto mostra la quantità di reti e cartelle di sottoprogetto al suo interno.
Rete: modello.
Nella home page dell'interfaccia, seleziona il progetto «Materiale didattico».
Seleziona la rete Demo 1.
-All'interno della rete, nella parte superiore della pagina, vedrai una barra simile a questa qui sotto.
-Le schede «Home» e «I miei progetti» ti riporteranno alla home page dell'interfaccia.
- «Documentazione e formazione» ti porta ai video tutorial delle interfacce e alla pagina delle istruzioni scritte.
-La scheda «Preferiti» consente di aggiungere segnalibri a progetti, reti e scenari. Offre inoltre la possibilità di accedere a progetti e reti a cui si accede di recente e modificati di recente.
- «Torna a 'Materiale di formazione'» ti riporta alla cartella del progetto Materiale didattico.
-Il pulsante di riproduzione verde esegue un modello.
-Il pulsante chiave consente di accedere a utilità di rete avanzate, come l'importazione o l'esportazione di dati di rete.
-La freccia rivolta verso il basso nel pulsante rettangolare serve per scaricare il modello, viene utilizzato per l'esecuzione offline o l'invio a qualcuno.
-Le tre righe sono «Visualizza dati di rete».
Fai clic su «Visualizza dati di rete».
-In «Dettagli» è possibile modificare il nome della rete.
-A volte è necessario uscire dalla rete per l'aggiornamento.
-In «Ingressi» puoi modificare l'inizio, la fine e il timestep del tuo modello.
-D=giorno, M=mese, Y=anno per il timestep.
Fai clic sull'icona della chiave inglese per andare su «Impostazioni».
Visualizza etichette: visualizza i nomi dei nodi
Direzione del collegamento: mostra la direzione del flusso dei collegamenti
0__Mostra suggerimenti: visualizza le informazioni sul nodo quando ci si passa sopra con il mouse
Nascondi barra laterale: nasconde la barra laterale quando non la si utilizza
0__Categorizza sempre gli attributi per tipo- All'interno di un nodo, raggrupperà gli attributi come scalari, descrittori, ecc.
Clicca sulla «i» per andare a «Informazioni».
-Puoi vedere il tuo «ID di rete» e altre informazioni.
Chiudi la barra laterale e vai alla sezione degli scenari sul lato sinistro della pagina.
-Gli scenari sono variazioni dei dati di input, dell'idrologia, ecc. all'interno di un modello.
-Comune per creare più scenari all'interno di un modello.
Tasto 1 (a sinistra) - Scenario clone
Tasto 2- Modifica scenario
Tasto 3- Elimina scenario
Tasto 4- Aggiorna l'elenco degli scenari
Tasto 5- Scenario dei segnalibri
Tasto 6 (a destra) - Confronta gli scenari
-Per creare un nuovo scenario, clona uno scenario preesistente assegnandogli un nuovo nome, una volta creato modifica i dati di input del modello come desiderato.
Fai clic sul pulsante «Esegui un modello».
-Mantieni lo scenario di base.
-Mantieni tutte le altre impostazioni predefinite.
Fai clic su «Invia».
-Nella sezione «Esecuzioni» sul lato sinistro della pagina vedrai le tue esecuzioni nuove e passate.
-Yellow=Esegui in coda
-Blue=Esecuzione in corso
-Green=Esecuzione riuscita
-Red=Esecuzione non riuscita
Fai clic su «Crea» sotto la sezione «Esegui».
-Fornisce tutti i nodi e i collegamenti necessari per creare un modello.
-Dopo aver inserito un nodo, è necessario inserire i dati.
Fai clic su «Cerca» sotto la sezione «Crea».
-Ciò consente di trovare facilmente nodi e collegamenti in modelli di grandi dimensioni.
Il pulsante bomba nell'angolo in alto a sinistra della mappa consente di espandere il modello per renderlo meno affollato, se necessario.
Map- Mostra il modello
Risorse- Può visualizzare nodi, collegamenti e gruppi
Metrics- Fornisce funzionalità per l'aggregazione degli output del modello
Regole personalizzate - Regole operative personalizzate
Parametri- Aggiungi parametri non inclusi in pywr
Recorder- Aggiungi registratori non inclusi in pywr
Members- Mostra i membri che devono accedere al modello e le autorizzazioni in loro possesso, può anche aggiungere membri in questa scheda e scegliere i permessi di cui dispongono
Analisi - Confronto di nodi e collegamenti all'interno di scenari
layout: description: visible: false outline: visible: true pagination: visible: true tableOfContents: visible: true title: visible: true
WaterStrategy segnala errori quando c'è un guasto tecnico o il modello è stato configurato in modo errato. Imparare a comprendere e utilizzare una segnalazione di errore del modello per trovare un problema in un modello è un'abilità di modellazione importante ed essenziale.
Questo capitolo fornisce un esempio di come leggere un report di errore per trovare la parte di un modello che causa l'errore.
Quando una corsa fallisce, vedrai la corsa diventare rossa nella sezione delle corse.
Fai clic sulla barra rossa di esecuzione e otterrai una panoramica dell'esecuzione, inclusa la segnalazione degli errori.
Scorri fino alla fine del rapporto. Qui è dove l'esecuzione segnalerà il suo errore.
Per questa corsa, è possibile riscontrare che un profilo mensile non è stato inserito correttamente.
In alcuni casi, verranno forniti maggiori dettagli su un errore all'interno del report di esecuzione. È importante esaminare i registri di esecuzione per vedere se ci sono indizi sul problema.
Scorrendo verso l'alto vediamo «CRITICO». Ciò indica che è stato riconosciuto un errore. Nella stessa riga, indica dove si trova l'errore.
L'input «evaporazione» del nodo «Example reservoir» non è corretto.
Possiamo modificare il parametro 'evaporazione' per risolvere questo problema.
Ci sono 13 valori nel profilo mensile, dobbiamo rimuovere il valore che non appartiene. In questo caso '3.14' non doveva essere presente nel profilo mensile.
Salvate il parametro ed eseguite nuovamente questo modello.
Ora il modello è stato eseguito correttamente.
CSV
Excel
HDF5
Nota: Tra le opzioni precedenti, i file Excel hanno le prestazioni più lente mentre i file HDF5 hanno le prestazioni migliori e sono preferiti per set di dati di grandi dimensioni.
Questo aggiungerà il file al tuo progetto, rendendolo disponibile per l'uso su tutte le reti all'interno del progetto.
Una volta caricati, i file verranno visualizzati nella File scheda all'interno del progetto. Da lì, puoi visualizzarli, gestirli e condividerli facilmente su tutte le reti del progetto.
In WaterStrategy, gli utenti hanno la flessibilità di gestire set di dati grandi e complessi in modo più efficiente caricando i dati da file esterni come utilizzando la parola chiave «url», anziché incorporare tutti i dati direttamente nell'interfaccia. I formati di file includono:
Per caricare un file in WaterStrategy, vai al tuo progetto e fai clic sulla scheda File. Da lì, fai clic Scegli i file e seleziona il file che desideri caricare e fai clic su .
description: Per creare un «gemello digitale» (un simulatore al computer) del tuo sistema idrico, WaterStrategy usa Pywr («Python Water Resources»).
Pywr è una libreria software in linguaggio Python gratuita e open source che consente di creare modelli di simulazione di alta qualità (dettagliati e accurati) dei sistemi di risorse idriche.
I modelli Pywr vengono eseguiti rapidamente sul tuo computer o, nel caso di WaterStrategy, sul cloud. Possono rappresentare piccoli sistemi di risorse idriche, come l'approvvigionamento idrico di una città, o molto grandi, come bacini fluviali che attraversano diversi paesi con centinaia di utenti idrici e risorse infrastrutturali. Pywr può simulare periodi brevi (ad esempio alcuni mesi) o più lunghi (come 100 anni) in una serie di intervalli di tempo (da giornalieri a mensili).
Ecco un riepilogo del processo di modellazione Pywr:
1. Configura il modello
Innanzitutto sono necessari una mappa spaziale del sistema idrico e i relativi dati idrologici e sulla domanda di acqua. WaterStrategy ti aiuta a creare questa mappa di rete di tutte le posizioni («nodi») in cui l'acqua entra nel sistema («afflussi»), dove viene utilizzata («richieste idriche») e dove viene gestita l'acqua (sedi delle infrastrutture). Questi nodi formano una rete connessa da fiumi, canali o oleodotti (Pywr li chiama «collegamenti» o «bordi»). Una volta impostata la mappa della rete, fornisci i dati sulla domanda e sull'approvvigionamento idrico (in genere sotto forma di serie temporali).
2. Esegui una simulazione
Una volta inseriti tutti i dati, compresi la fase temporale e l'orizzonte temporale, il modello è pronto per la simulazione (cioè, fa un passo nel tempo ed esegue la contabilità dell'acqua in tutto il sistema). All'inizio di ogni fase temporale, il computer inizia iniettando acqua in tutti i punti di afflusso, quindi quest'acqua viene instradata lungo la rete e allocata alle diverse ubicazioni della domanda idrica e delle infrastrutture. Questo processo di allocazione viene eseguito con una tecnica informatica chiamata programmazione lineare. Al termine di una fase temporale, il modello aggiorna i magazzini, registra da quali località è stata raccolta quanta acqua, quindi passa alla fase temporale successiva fino alla fine dell'orizzonte temporale simulato.
A ciascun nodo di domanda idrica viene assegnata una priorità per rappresentare l'allocazione idrica nel modello. A ogni nodo è associata una penalità e l'algoritmo di allocazione distribuisce l'acqua in tutta la rete per ridurre al minimo la penalità complessiva. Questo approccio semplice consente simulazioni rapide e gestibili che hanno la flessibilità di rappresentare regole di gestione dell'acqua dettagliate e realistiche.
3. Rivedi i risultati
I risultati del modello includono quanta acqua entra in ogni posizione (nodo) e quanta viene immagazzinata, consumata o attraversa in ogni fase temporale. Ciò consente di monitorare come viene utilizzata l'infrastruttura e se le città, gli ecosistemi, le aree di irrigazione, le centrali elettriche, ecc. ricevono abbastanza acqua. I risultati creano un quadro dettagliato di come funziona il sistema di gestione dell'acqua e di come vengono distribuiti i benefici idrici.
Inizialmente i modelli sono mal parametrizzati e producono previsioni imprecise (la fase «garbage in, garbage out»). Nel tempo, tuttavia, man mano che il modello viene migliorato («calibrato»), può diventare un prezioso gemello digitale per aiutare a gestire o pianificare un sistema idrico. Lo strumento aiuta l'organizzazione a valutare in modo rapido ed economico gli impatti dei potenziali cambiamenti e interventi idrici futuri e a prendere buone decisioni.
Buona fortuna!
description: Come funziona? cosa produce? e come si usa?
Per comprendere le prestazioni di un sistema idrico oggi e valutare gli impatti dei cambiamenti futuri, i pianificatori costruiscono modelli di sistemi di risorse idriche.
I sistemi di risorse idriche possono essere piccoli, come una città e le sue fonti di approvvigionamento idrico, o grandi, come un paese con molti fiumi, infrastrutture idriche e utenti idrici diversi. Che si stia cercando di valutare l'affidabilità delle fonti attuali o di valutare nuovi interventi in condizioni future plausibili, un modello computerizzato di questo tipo aiuta a tracciare l'acqua in tutto il sistema (spazialmente) e nel tempo.
Dati sui flussi idrologici e sul clima, sulla domanda e sull'uso dell'acqua e sulle regole di gestione e allocazione dell'acqua, un modello di sistema idrico produce flussi e volumi d'acqua in ogni luogo e fase temporale modellati. Quando questi risultati vengono aggregati, forniscono un quadro accurato delle prestazioni dei diversi interventi idrici (modifiche alle politiche o alle infrastrutture idriche).
layout: description: visible: false outline: visible: true pagination: visible: true tableOfContents: visible: true title: visible: true
I nodi di ingresso dell'acqua sono il meccanismo mediante il quale l'acqua può essere immessa nel sistema. Qui, introduciamo i tre nodi più comunemente usati per l'immissione di acqua.
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.
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:
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 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 ulteriori dettagli, si rimanda al documento ad accesso aperto intitolato: .
Le nodo di utenza è un altro tipo di nodo di input con un afflusso fisso. I nodi di bacino idrografico vengono spesso utilizzati per rappresentare un fiume o un altro tipo di afflusso nel sistema. Qualsiasi flusso definito su di essi deve fluire nel sistema.
Spesso le serie temporali di afflusso (ad esempio i dataframe Pywr) sono definite nel flusso attributo per rappresentare i flussi di utenza in entrata, tuttavia è possibile utilizzare anche altri parametri (ad esempio costante, profilo mensile ecc...).
flusso
La quantità di acqua fornita dal nodo idrografico in ogni fase temporale
Obbligatorio, il valore predefinito è 0 se non viene immesso.
presto in arrivo...
layout: description: visible: false outline: visible: true pagination: visible: true tableOfContents: visible: true title: visible: true
Il tipo di nodo di trasporto dell'acqua consente agli utenti di definire il modo in cui l'acqua scorre attraverso i diversi nodi in base alle condizioni del mondo reale. Di seguito sono riportati i nodi di trasporto dell'acqua più utilizzati:
I nodi di input rappresentano gli input di acqua nel sistema.
I nodi di input vengono spesso utilizzati per rappresentare sorgenti definite dai rendimenti. Sono spesso usati per rappresentare i rendimenti delle acque sotterranee.
Penalità di allocazione
Il costo di allocazione per unità di flusso attraverso il nodo
Facoltativo
Flusso massimo
Il vincolo di flusso massimo sul nodo
Facoltativo
Flusso minimo
Il vincolo minimo di flusso sul nodo
Facoltativo
presto in arrivo...
.
Nodo di input
I nodi di input rappresentano gli input di acqua nel sistema.
Nodo di bacino
I nodi di bacino idrografico vengono spesso utilizzati per rappresentare il fiume o un altro tipo di afflusso nel sistema.
Nodo di input proporzionale
Il nodo di ingresso proporzionale è destinato a un caso semplice in cui è necessario distribuire un rapporto di flusso fisso su più percorsi a valle.
Link Node
Link node rappresenta un collegamento nel sistema idrico o altro punto di interesse in cui viene assegnato un vincolo di flusso massimo o minimo o una priorità di allocazione.
Nodo fluviale
Il nodo fluviale è un nodo della rete fluviale, che può avere più nodi a monte (cioè una confluenza) ma solo un nodo a valle.
Nodo Delay
Questi ritardano il flusso per un determinato numero di intervalli temporali o giorni. Viene utilizzato quando il tempo di propagazione del flusso non può essere ignorato, ad esempio perché i passaggi temporali sono relativamente brevi.
Storage Node
Storage node è un nodo generale in grado di immagazzinare acqua (come dighe o falde acquifere), che hanno limitazioni di volume minimo e massimo.
Nodo Reservoir
Il nodo Reservoir è un tipo di storage node con funzionalità aggiuntive per rappresentare l'evaporazione e la precipitazione.
Nodo di uscita
I nodi di uscita sono luoghi in cui l'acqua esce dal sistema.
Perdita Link Node
Il loss link consente la definizione di una perdita di flusso proporzionale fissa che attraversa questo nodo.
Nodo turbina
Il nodo turbina può rappresentare una turbina di una centrale idroelettrica. Calcola il flusso richiesto per generare un particolare obiettivo di produzione di energia idroelettrica in ogni fase temporale.
I tipi di nodi Pywr possono anche essere ulteriormente suddivisi in 6 categorie: , , , , e . Puoi trovare maggiori dettagli su questi raggruppamenti di nodi e tipi di nodi nelle sottosezioni della sezione «Tipi di nodi».
È possibile trovare una panoramica dei nodi in Pywr . È possibile trovare l'elenco completo dei nodi integrati in Pywr .
Ad ogni passaggio temporale un nodo di ingresso può fornire la quantità di acqua impostata dal Flusso massimo attributo. Tuttavia, a differenza necessari per rilasciare il volume d'acqua definito nel loro attributo Flow, i nodi di input non sono tenuti a rilasciare acqua a meno che non abbiano un valore diverso da zero Flusso minimo.
.
Le link node rappresenta un collegamento nel sistema idrico o in un altro punto di interesse in cui viene assegnato un vincolo di flusso massimo o minimo o una priorità di allocazione. Si noti che in Pywr non è possibile assegnare vincoli di flusso a Edges (Links) e pertanto i nodi di collegamento vengono spesso utilizzati per questo scopo. .
penalità di allocazione
Il costo unitario del flusso attraverso il nodo
Facoltativo
massimo_
flow
Il vincolo di flusso massimo sul nodo
Opzionale min
Il vincolo minimo di flusso sul nodo
Facoltativo
penalità di allocazione
Il costo unitario del flusso attraverso il nodo
Facoltativo
fattori
I fattori da imporre alle divisioni aggiuntive. Numero di extra_
si presume che lo slot sia inferiore di uno alla lunghezza dei fattori (come da documentazione pywr.nodes.MultiSplitLink) Slot opzionale
_nomi
Gli identificatori a cui fare riferimento agli slot quando ci si connette da questo Nodo. La lunghezza deve essere maggiore di uno rispetto al numero di slot aggiuntivi richiesti
Facoltativo
flusso
La quantità di acqua fornita dal bacino idrografico in ogni fase
Facoltativo
presto in arrivo...
Le nodo di ingresso proporzionale è destinato a un semplice caso in cui è necessario distribuire un rapporto di flusso fisso su più percorsi a valle. .
).
fattori
I fattori da imporre alle divisioni aggiuntive. Numero di extra_si presume che lo slot sia inferiore di uno alla lunghezza dei fattori (come da documentazione pywr.nodes.MultiSplitLink
Slot
opzionale_nomi
Gli identificatori a cui fare riferimento agli slot quando ci si connette da questo Nodo. La lunghezza deve essere maggiore di uno rispetto al numero di slot aggiuntivi richiesti.
Facoltativo
presto in arrivo...
Le RiverSplit node è una spaccatura nella rete fluviale. È destinato a un caso semplice in cui è necessario distribuire un rapporto di flusso fisso su più rotte a valle. .
Le BreakLink node può essere utilizzato per ridurre il numero di percorsi in un modello.
Ad esempio, in un modello con forma (3, 1, 3), cioè 3 ingressi (A, B, C) collegati a 3 uscite (D, E, F) tramite un collo di bottiglia (X), ci sono 3\ *3 percorsi = 9 percorsi.
Se X è un archivio, ci sono solo 6 percorsi: A->X_o, B->X_o, C->X_o e X_i->D_o, X_I->E_o, X_i->f\ _o.
Opzionale max_flusso
penalità di allocazione
Il costo unitario del flusso attraverso il nodo
Facoltativo
conversione_
factor
La conversione tra afflusso e deflusso per il nodo
_flusso
Il vincolo di flusso massimo sul nodo
Facoltativo
min_
flow
Il vincolo minimo di flusso sul nodo
Opzionale precedente
Flusso totale tramite questo nodo nel timestep precedente
Facoltativo
Il BreakLink node è un nodo composto da un con volume zero e a . Può essere utilizzato al posto di un normale Link, ma con il vantaggio di ridurre il numero di percorsi nel modello (nella situazione sopra descritta). L'LP risultante è più facile da risolvere. .
Le Nodo RiverGauge è una stazione di misura fluviale, con un flusso residuo minimo (MRF). .
Concettualmente questo nodo ha il seguente aspetto interno,
Per ogni slot aggiuntivo vengono aggiunti un collegamento secondario nel PieceWiseLink (ad esempio X2 sopra) e i nodi (ad esempio Bo e Bi) in questa classe.
Note: gli utenti devono fare attenzione quando utilizzano il meccanismo dei fattori. I fattori utilizzano l'ultimo collegamento secondario non diviso (ad esempio X1 ma non X0). Se questo collegamento è vincolato da un flusso massimo o minimo, o se esiste un altro collegamento non vincolato (ad esempio se X0 non è vincolato), i rapporti sull'intero nodo potrebbero non essere applicati come previsto.
_slot
penalità di allocazione
Il costo unitario del flusso attraverso il nodo
Facoltativo
massimo_
flow
Il vincolo di flusso massimo sul nodo
(opzionale)
Numero di slot (e link secondari) aggiuntivi da fornire. Deve essere maggiore di zero.
Facoltativo
fessura_nomi
I nomi con cui fare riferimento agli slot durante la connessione ad altri nodi. La lunghezza deve essere maggiore di uno rispetto al numero degli extra_slot. Il primo elemento si riferisce alla connessione PieceWiseLink con i seguenti elementi per ogni slot aggiuntivo.
Facoltativo
fattori
Se fornita, la lunghezza deve essere uguale a uno in più rispetto al numero di extra_slots. Ogni elemento è la percentuale del flusso totale che passa attraverso i link secondari aggiuntivi. Se non è richiesto alcun fattore per un particolare link secondario, utilizza Nessuna per i suoi articoli. I fattori vengono normalizzati prima dell'uso nel solutore.
Facoltativo
presto in arrivo...
Le MultiSplitLink node è un'estensione di che include slot aggiuntivi da cui connettersi.
Infine viene fornito un meccanismo per (facoltativamente) fissare il rapporto tra l'ultimo link secondario non diviso (cioè X1) e ciascuno dei collegamenti secondari (cioè X2). Questo meccanismo utilizza Nodo aggregato internamente. .
costo Il costo Fattori
mrf
Il flusso residuo minimo (MRF) sul manometro
Richiesto
mrf_
Il costo del percorso tramite la MRF
Costo
richiesto
dell'altro itinerario (non vincolato)
obbligatori
I fattori
da imporre alle suddivisioni aggiuntive. Numero di extra_si presume che lo slot sia inferiore di uno alla lunghezza dei fattori (come da Collegamento multiplo documentazione)
Richiesto
nomi_slot
Gli identificatori a cui fare riferimento agli slot quando ci si connette da questo Nodo. La lunghezza deve essere maggiore di uno rispetto al numero di slot aggiuntivi richiesti
Richiesto
presto in arrivo...
Le RiverSplitWithGauge node è una divisione nella rete fluviale con un flusso residuo minimo (MRF). Secondo Fiume Spalato ma per impostazione predefinita crea un altro percorso nell'oggetto sottostante per modellare un MRF. Questa rotta è tale che l'MRF non fa parte dei rapporti forzati. L'intento di questo oggetto è modellare il caso in cui una percentuale del flusso può essere astratta al di sopra della MRF (ad esempio 90% del flusso al di sopra della MRF). .
Questo nodo è implementato utilizzando una struttura di nodi composti in questo modo:
Ciò significa che le rotte non attraversano direttamente questo nodo a causa del dominio separato al centro. Vengono invece creati diversi nuovi percorsi per ciascuno dei collegamenti secondari e delle connessioni al nodo Output/Input. Il motivo di questa interruzione del percorso è evitare un aumento geometrico del numero di percorsi quando più PieceWiseLink sono presenti nello stesso percorso.
_flusso
penalità di allocazione
Il costo unitario del flusso attraverso il nodo
Facoltativo
massimo_
flow
Il vincolo di flusso massimo sul nodo
Opzionale min
Il vincolo minimo di flusso sul nodo
Facoltativo
presto in arrivo...
Le PiecewiseLink node è un'estensione di Node che rappresenta un non lineare con una funzione di costo a pezzi. Questo oggetto ha lo scopo di modellare situazioni in cui è vantaggioso fornire determinate portate ma oltre un limite fisso si verifica una variazione (o zero) del costo. .
penalità di allocazione
Il costo unitario del flusso attraverso il nodo
Facoltativo
fasi temporali
Numero di fasi temporali per ritardare il flusso
Facoltativo
giorni
Numero di giorni per ritardare il flusso. La specificazione di un numero di giorni (anziché di un numero di intervalli temporali) è valida solo se il numero di giorni è esattamente divisibile per il delta temporale del modello
Facoltativo
flusso iniziale
Flusso fornito dal nodo per le fasi temporali iniziali prima che sia disponibile qualsiasi flusso ritardato. Questo è costante in tutte le fasi temporali ritardate e in tutti gli scenari del modello. L'impostazione predefinita è 0.0
Facoltativo
presto in arrivo...
Le nodo di ritardo è un nodo che ritarda il flusso per un determinato numero di fasi temporali o giorni. Questo nodo verrà utilizzato quando il tempo di propagazione dell'acqua non può essere ignorato rispetto alla scala temporale selezionata. .
Le nodo fluviale è un nodo nella rete fluviale, che può avere più nodi a monte (cioè una confluenza) ma solo un nodo a valle. .
penalità di allocazione
Il costo unitario del flusso attraverso il nodo
Facoltativo
massimo_
flow
Il vincolo di flusso massimo sul nodo
Opzionale min
Il vincolo minimo di flusso sul nodo
Facoltativo
layout: description: visible: false outline: visible: true pagination: visible: true tableOfContents: visible: true title: visible: true
Il tipo di acqua storage node consente agli utenti di costruire diversi serbatoi con diverse modalità operative. Di seguito sono riportati i nodi di stoccaggio dell'acqua più utilizzati:
volume pc
penalità di allocazione
Il costo unitario del flusso attraverso il nodo
Facoltativo
min_
Il volume minimo dello spazio di archiviazione.
Il valore predefinito è 0.0 Max opzionale
_volume
Il volume massimo dello spazio di archiviazione. Il valore predefinito è 0.0
Obbligatorio, il valore predefinito è 0 se non viene inserito
iniziale_volume, iniziale_volume_
Specificare il volume iniziale in termini assoluti o proporzionali. Entrambi sono obbligatori se max_volume è un parametro perché il parametro non verrà valutato al primo passaggio temporale. Se vengono forniti entrambi e massimo_volume non è un parametro, quindi il valore assoluto viene ignorato
Uno è obbligatorio
area, livello Float opzionale o parametro che definisce l'area e il livello
del storage node. Questi valori sono accessibili tramite get_zona e get_level metodi rispettivamente
Facoltativo
presto in arrivo...
Le storage node è un nodo generale in grado di immagazzinare acqua, che ha limitazioni di volume minimo e massimo. .
Note:
DA FARE: La proprietà dei costi non è attualmente rispettata. Vedi il numero #242.
volume raggiungere
penalità di allocazione
Il costo unitario del flusso attraverso il nodo
Facoltativo
nodi
Elenco dei nodi di afflusso/uscita che influiscono sul volume di archiviazione
Richiesto
min_
Il volume minimo che lo spazio di archiviazione
può
_volume
Il volume massimo dello spazio di archiviazione
Obbligatorio, il valore predefinito è 0 se non viene inserito
volume_iniziale
Il volume di archiviazione iniziale
È richiesto uno
fattori
Elenco di fattori per cui moltiplicare il flusso dei nodi. I fattori positivi rimuovono l'acqua dallo stoccaggio, i fattori negativi la rimuovono.
Facoltativo
presto in arrivo...
Le VirtualStorage node è un'unità di archiviazione virtuale. .
Le Nodo di archiviazione virtuale stagionale è un storage node virtuale che funziona solo per un periodo specificato entro un anno.
Questo nodo è particolarmente utile per rappresentare le licenze che vengono applicate solo durante periodi specificati. Il ripristina_giorno e ripristina_mese i parametri indicano quando il nodo inizia a funzionare e fine_giorno e fine_mese quando smette di funzionare. Per il periodo in cui il nodo non è operativo, il volume del nodo rimane invariato e il nodo non applica alcun vincolo al modello.
giorno . volume_giorno
reimpostare_
Il giorno del mese (0-31) in cui il nodo inizia a funzionare e il suo volume viene reimpostato sul valore iniziale o sul volume massimo
Reset richiesto
_mese
Il mese dell'anno (0-12) in cui il nodo inizia a funzionare e il suo volume viene reimpostato sul valore iniziale o sul volume massimo.
Richiesto
reimpostare_a_iniziale_
Reimposta il volume sul volume iniziale anziché sul volume massimo ogni anno (l'impostazione predefinita è False) Fine
obbligatoria
Il giorno del mese (0-31) in cui il nodo smette di funzionare
Richiesto
fine_mese
Il mese dell'anno (0-12) in cui il nodo smette di funzionare
Richiesto
presto in arrivo...
I nodi di output sono obbligatori alla fine di un river e in questo caso d'uso generalmente non hanno una penalità di allocazione o un flusso massimo assegnato.
I nodi di uscita vengono utilizzati anche per rappresentare il fabbisogno idrico elevato. In questo caso d'uso, tendono ad avere penalità di allocazione negative in modo che il programma lineare allochi loro acqua oltre a un\ _flusso massimo che può essere una costante o un parametro che rappresenta la domanda di acqua.
_flusso
presto in arrivo...
La fine_giorno e fine_il mese può rappresentare una data precedente all'anno in cui è stato ripristinato_giorno e e reset_mese. Questa situazione rappresenta una licenza valida oltre il limite di un anno. Ad esempio, una che è attiva tra ottobre e marzo e non attiva tra aprile e settembre..
Le nodo di uscita () è un'uscita generale in qualsiasi punto della rete. I nodi di uscita rimuovono l'acqua dal sistema.
penalità di allocazione
Il costo unitario del flusso attraverso il nodo
Facoltativo
massimo_
flow
Il vincolo di flusso massimo sul nodo
Opzionale min
Il vincolo minimo di flusso sul nodo
Facoltativo
volume pc , precipitazione Tassi di evaporazionelunghezza/giorno) Unità opzionale
penalità di allocazione
Il costo unitario del flusso attraverso il nodo
Facoltativo
min_
Il volume minimo dello spazio di archiviazione.
Il valore predefinito è 0.0 Max opzionale
_volume
Il volume massimo dello spazio di archiviazione. Il valore predefinito è 0.0
Obbligatorio, altrimenti il valore predefinito è 0
iniziale_volume, iniziale_volume_
Specificare il volume iniziale in termini assoluti o proporzionali. Entrambi sono obbligatori se max_volume è un parametro perché il parametro non verrà valutato al primo passaggio temporale. Se vengono forniti entrambi e massimo_volume non è un parametro, quindi il valore assoluto viene ignorato
Uno è obbligatorio
area, livello Float opzionale o parametro che definisce l'area e il livello
del storage node. Questi valori sono accessibili tramite get_zona e ottenere_
metodi di livello rispettivamente
Evaporazione
opzionale
e precipitazione (
_conversione
Fattore di conversione per convertire le precipitazioni e l'evaporazione nelle unità di lunghezza/giorno richieste
Facoltativo, l'impostazione predefinita è 0.001 per convertire mm/giorno per l'uso con un'area del serbatoio in km2
penalità di evaporazione (costo di evaporazione)
Penalità di allocazione fissata sull'uscita di evaporazione
Facoltativo, il valore predefinito è -999
presto in arrivo...
Le nodo serbatoio è una sottoclasse di storage node con funzionalità aggiuntive per rappresentare l'evaporazione e la precipitazione. .
reimpostare_
giorno
Il giorno del mese (0-31) per reimpostare il volume al valore iniziale Reset richiesto
_mese
Il mese dell'anno (0-12) per reimpostare il volume al valore iniziale
Richiesto
reimpostare_a_volume_iniziale
Reimposta il volume sul volume iniziale anziché sul volume massimo ogni anno (l'impostazione predefinita è False)
Richiesto
presto in arrivo...
Le Nodo annuale di VirtualStorage è un archivio virtuale che si resetta annualmente, utile per le licenze. .
Le Nodo di archiviazione aggregata è una somma aggregata di altri nodi
Questo oggetto dovrebbe comportarsi come Conservazione restituendo corrente flusso, volume e attuale_pc. Tuttavia questo oggetto non può essere connesso ad altri all'interno della rete. .
layout: description: visible: false outline: visible: true pagination: visible: true tableOfContents: visible: true title: visible: true
Il tipo di nodo idroelettrico consente agli utenti di definire i dettagli rilevanti delle turbine nelle dighe e calcolare la generazione di energia idroelettrica.
Le nodo AggregatedNode è una somma aggregata di altri Nodo nodi.
Note: questo nodo non può essere connesso ad altri nodi della rete.
modello
Istanza `Model`
Richiesto
nome
str
Richiesto
nodi di archiviazione
Le Nodo oggetti a cui restituire la somma totale di
Richiesto
presto in arrivo...
Questo oggetto dovrebbe comportarsi come Nodo restituendo corrente flusso. Tuttavia, questo oggetto non può essere connesso ad altri all'interno della rete. .
Le penalità di allocazione sono attributi dei nodi che consentono a Pywr di simulare l'allocazione dell'acqua. Possono anche essere chiamate «priorità di allocazione» o «costi».
Una penalità bassa avrà la priorità di allocazione più alta, un numero alto ha la più bassa.
Quindi, ad esempio, se tre nodi hanno priorità 100, 3 e -2, allora il nodo con -2 ottiene prima l'acqua, poi 3, poi 100.
Ecco alcune domande sulle eventuali sanzioni per l'assegnazione dell'acqua e alcune brevi risposte:
Perché e come fa Pywr ad allocare l'acqua in questo modo? In ogni fase temporale l'algoritmo di allocazione di Pywr (un programma lineare), riduce al minimo la penalità di allocazione dell'intero sistema. Il flusso attraverso i nodi viene moltiplicato per le rispettive penalità di allocazione. Questa tecnica è utilizzata dagli anni '50 dai pianificatori dell'energia, dei trasporti e delle risorse idriche e dalle società di logistica. Tutti vogliono sistemi che funzionino a basso costo, quindi in genere utilizzano i costi operativi finanziari come penalità. Ciò ha senso, poiché consente di utilizzare il modello per bilanciare una rete domanda-offerta al costo più basso.
Trovi confusa l'idea di una penalità negativa? In tal caso, pensa a una penalità negativa come a un costo negativo, che cos'è? un vantaggio! Quindi, se volete allocare l'acqua dove genera i maggiori benefici nel vostro modello Pywr, utilizzerete delle penalità negative. In questo caso, anziché chiamare questi attributi di nodo penali o costi di allocazione, puoi riferirti ad essi come priorità di allocazione. In questo caso un nodo con una priorità di allocazione di -99 riceverà acqua molto prima di -10. Come mostrato nell'esempio della terza frase precedente, le penalità di allocazione negative e positive possono essere utilizzate nello stesso modello.
Le penalità di assegnazione hanno un significato particolare? No, non lo fanno. Sono lì solo per aiutare il tuo modello ad allocare l'acqua in un modo che abbia senso per te, gestore e pianificatore delle risorse idriche.
Come faccio a sapere se ho impostato correttamente le penalità per l'assegnazione dell'acqua? Se il tuo modello prevede un'allocazione adeguata dell'acqua in condizioni normali, ma anche durante inondazioni e siccità, hai stabilito le sanzioni appropriate. Congratulazioni! il tuo modello sta per diventare «ben calibrato».
Se apporto una modifica sostanziale al mio modello, ad esempio aggiungo una nuova grande infrastruttura o aggiungo un nuovo tipo di utente idrico, devo modificare le penalità nel mio modello? Sì, alcune penalità del modello potrebbero richiedere qualche modifica, a seconda della portata della modifica. Prova a vedere.
Posso usare dei numeri per le penalità? Ad esempio, se il mio modello ha 2 nodi, posso usare un milione negativo e uno positivo come penalità? Sì, ma è una cattiva idea. Usa numeri il più vicini possibile. In caso contrario, man mano che il modello cresce, potresti esaurire le penalità disponibili e il modello inizierà a commettere errori di arrotondamento. Tuttavia, se si utilizzano penalità troppo simili, il modello potrebbe non esserne sensibile (vale a dire, non considerarle adeguatamente nella simulazione delle allocazioni). Con un po' di esperienza imparerai a stabilire penalità che funzionino bene. Per acquisire tale esperienza, provate a modificare le penalità e scoprite in che modo influiscono sui risultati del modello.
Infine, forniamo alcuni dettagli tecnici in più sulle penalità:
Ai serbatoi e ai nodi di stoccaggio sono assegnate penalità di allocazione. Una penalità negativa indica che il serbatoio tenderà ad accumulare acqua, a meno che una penalità inferiore su un altro nodo comporti una priorità inferiore per lo stoccaggio del serbatoio.
Le penalità di allocazione possono essere costanti (parametri costanti) o profili (mensili, giornalieri, settimanali) che cambiano nel tempo. Inoltre, le penalità di allocazione possono avere diversi livelli definiti da diverse curve di controllo in base al volume del serbatoio. Nonostante le penalità relative all'allocazione del serbatoio e dello stoccaggio influiscano sullo stoccaggio dell'acqua, le emissioni da tali nodi risulteranno da un equilibrio tra le penalità del sistema e considerando le penalità di allocazione a valle, poiché l'algoritmo tenta di minimizzare la penalità complessiva del sistema in ogni fase temporale.
_flusso_flusso_capo
penalità di allocazione
Il costo unitario del flusso attraverso il nodo
Facoltativo
bersaglio
Obiettivo di produzione di energia idroelettrica. Le unità dovrebbero essere espresse in unità di energia al giorno
Facoltativo
acqua_elevazione_parametro
Elevazione dell'acqua che entra nella turbina. La differenza di questo valore con turbina_
l'elevazione dà la testa di lavoro della turbina
(Optional max)
Limiti superiori del flusso calcolato. Se impostato, il flusso restituito da questo parametro è al massimo il valore del valore massimo_parametro di flusso
Minimo
opzionale
Limiti inferiori del flusso calcolato. Se impostato, il flusso restituito da questo parametro è almeno il valore del valore minimo_parametro di flusso
Minimo
opzionale
Presenza minima affinché si verifichi il flusso. Se la prevalenza effettiva è inferiore a questo valore, viene restituito un flusso pari a zero
Facoltativo
turbina_
elevazione Elevazione della turbina stessa. La differenza tra l'acqua_elevazione e questo valore dà la testa di lavoro della turbina
Facoltativo
efficienza
L'efficienza della turbina
Facoltativo
densità
La densità dell'acqua
Facoltativo
flusso_unità_conversione
Un fattore utilizzato per trasformare le unità di flusso in modo che siano compatibili con l'equazione qui riportata. Questo dovrebbe convertire il flusso in unità di m3/giorno
Facoltativo
energia_unità_conversione
Un fattore utilizzato per trasformare le unità di energia totale. Il valore predefinito è 1e-6 per restituire MJ
Facoltativo
presto in arrivo...
Le nodo turbina può rappresentare una turbina di una centrale idroelettrica. Calcola il flusso richiesto per generare un particolare obiettivo di produzione di energia idroelettrica in ogni fase temporale. .
Gli scenari in WaterStrategy consentono agli utenti di simulare ed esplorare varie strategie di gestione dell'acqua regolando diversi elementi di un modello. Forniscono un quadro per comprendere come i cambiamenti negli input, nelle ipotesi o nei dati potrebbero influenzare i risultati in condizioni diverse.
WaterStrategy offre due tipi di scenari per soddisfare varie esigenze nella modellazione della gestione dell'acqua:
WaterStrategy Scenari: Questo tipo viene utilizzato quando gli utenti devono modificare comportamenti, parametri o dati specifici su scala localizzata o ridotta. Questi scenari sono ideali per i casi in cui è necessario modificare solo alcuni elementi del modello senza alterare l'intero set di dati. Consente modifiche mirate, facilitando il test degli effetti delle singole modifiche all'interno del sistema.
Scenari PyWR: Questo tipo di scenario è progettato per gestire casi più complessi, in particolare quelli che comportano incertezza. È specializzato nella combinazione di dati su più scale, consentendo una valutazione completa di diverse variabili. Questo approccio è particolarmente utile quando si lavora con input incerti o quando si modellano condizioni future, in quanto consente di esplorare in che modo diverse combinazioni di dati e ipotesi possono influire sui risultati.
WaterStrategy Gli scenari forniscono uno strumento per apportare modifiche mirate a elementi specifici all'interno di un modello di gestione dell'acqua. Questi scenari sono particolarmente utili quando si desidera sperimentare modifiche localizzate a parametri, comportamenti o dati in modo flessibile e controllato.
Quando viene creato uno scenario WaterStrategy, agisce come forchetta di un modello di rete esistente. La rete originale viene assegnata allo scenario di base, che rappresenta le condizioni predefinite o iniziali del sistema. Partendo da questa linea di base, uno scenario WaterStrategy consente modifiche precise, che si tratti di modificare gli input di dati o di regolare i parametri che definiscono il comportamento degli elementi chiave all'interno del sistema.
Questa capacità di modificare alcuni aspetti del modello lasciando il resto invariato rende WaterStrategy Scenari ideali per testare l'impatto delle singole modifiche. Ad esempio, è possibile modificare le regole di funzionamento del giacimento o modificare le previsioni della domanda senza dover ricostruire l'intero modello. Questo approccio mirato aiuta gli utenti a valutare rapidamente in che modo le modifiche specifiche influiscono sui risultati delle strategie di gestione dell'acqua di raffinazione.
Inizia facendo clic sull'icona Clona uno scenario.
Seleziona lo scenario che desideri clonare e assegna un nome
Note:
DA FARE: La proprietà dei costi non è attualmente rispettata. Vedi il numero #242.
volume raggiungere
penalità di allocazione
Il costo unitario del flusso attraverso il nodo
Facoltativo
nodi
Elenco dei nodi di afflusso/uscita che influiscono sul volume di archiviazione
Richiesto
min_
Il volume minimo che lo spazio di archiviazione
può
_volume
Il volume massimo dello spazio di archiviazione
Obbligatorio, il valore predefinito è 0 se non viene inserito
volume_iniziale
Il volume di archiviazione iniziale
È richiesto uno
fattori
Elenco di fattori per cui moltiplicare il flusso dei nodi. I fattori positivi rimuovono l'acqua dallo stoccaggio, i fattori negativi la rimuovono.
Facoltativo
fasi temporali
Il numero di fasi temporali da applicare allo stoccaggio rotativo
Richiesto
giorni
Il numero di giorni per applicare lo stoccaggio cumulativo. La specificazione di un numero di giorni (anziché di un numero di intervalli temporali) è valida solo con i modelli che eseguono un intervallo temporale con frequenza giornaliera
Richiesto
presto in arrivo...
UN link di perdita consente la definizione di una perdita proporzionale fissa di flusso che attraversa questo nodo. I link di perdita sono spesso usati per rappresentare lavori di trattamento dell'acqua potabile che comportano alcune perdite di processo.
Gli attributi di flusso massimo e minimo definiti vengono applicati all'output netto dopo le perdite.
Il nodo stesso registra l'output netto nel suo attributo flow (che verrebbe utilizzato da qualsiasi registratore collegato).
Penalità di allocazione
Il costo unitario del flusso attraverso il nodo
Facoltativo
Fattore di perdita
perdita_fattore: float o parametro. La percentuale di flusso che si perde attraverso questo nodo. Deve essere maggiore o uguale a zero. Questo valore è una percentuale del flusso lordo o netto a seconda del valore della perdita_tipo_fattore
.
Facoltativo, il valore predefinito è 0
Tipo di fattore di perdita
«lordo» o «netto» (impostazione predefinita) per specificare se il fattore di perdita viene applicato rispettivamente come percentuale del flusso lordo o netto.
Facoltativo, il valore predefinito è «net»
Flusso massimo
Il vincolo di flusso massimo sul nodo
Facoltativo
Flusso minimo
Il vincolo minimo di flusso sul nodo
Facoltativo
In questo esempio 10% della quantità lorda di acqua che fluisce nel nodo viene persa.
Per un tutorial dettagliato, consulta la sulla creazione e l'esecuzione di un nuovo scenario
Le Nodo Rolling VirtualStorage è un storage node virtuale a rotazione utile per l'implementazione di licenze a rotazione. .
Gli scenari Pywr offrono un approccio più avanzato e completo alla modellazione della gestione dell'acqua, in particolare quando si lavora con l'incertezza e si valutano varie combinazioni di dati e comportamenti del sistema e input di dati. A differenza degli scenari WaterStrategy, che si concentrano su regolazioni localizzate, gli scenari Pywr consentono di sperimentare un'ampia gamma di possibilità variando più input e combinazioni contemporaneamente.
Negli scenari Pywr:
Gli utenti possono definire più scenari, ognuno dei quali contiene più varianti (o dimensioni).
Il sistema simulerà tutte le combinazioni di queste variazioni a meno che non venga selezionata una combinazione specifica per la simulazione.
Ad esempio, se vengono definiti due scenari Pyrr, ciascuno con tre varianti (dimensione = 3), il numero totale di simulazioni sarà 9 (3 x 3). Questo approccio consente agli utenti di esplorare un'ampia gamma di potenziali risultati e interazioni tra diversi fattori del modello.
Verrà visualizzata una finestra, digitare»scenari», seleziona scenari attributo e clicca Salva come mostrato nell'immagine seguente
Si aprirà una nuova finestra, seleziona PYWR_SCENARI e fai clic Salva
Una volta aperto il pannello di personalizzazione degli scenari, puoi definire tutti gli scenari Pywr necessari. Per creare un nuovo scenario Pywr, segui questi passaggi:
Inserisci un Nome per il Pywr-Scenario e specificare il Taglia (numero di varianti).
Le Ensemble l'attributo è facoltativo e aiuta a tenere traccia di scenari di indice specifici all'interno dello scenario Pywr
Dopo aver creato gli scenari pywr, il sistema mostrerà le seguenti informazioni:
Cliccando sul JSON la scheda mostrerà la versione JSON automatica di Scenario Pywr definizione
In una rete, fai clic su Visualizza i dati di rete icona
Si aprirà il pannello di destra. Nella sezione Ingressi, digita»scenari» e clicca su Aggiungi un input icona
Fare clic
Modifica lo scenario predefinito corrente facendo clic su
Per caricare i dati come DataFrameParameter h5, fare riferimento a per accedere correttamente ai dati dello scenario
description: Una panoramica dei parametri Pywr supportati da WaterStrategy
I parametri sono funzioni che restituiscono un valore nel modello in ogni fase temporale. Questi valori possono essere una costante, basata sull'ora (ad esempio, sul giorno o sul mese), un calcolo basato sullo stoccaggio nel serbatoio della fase temporale e molti altri calcoli. Il parametro personalizzato può essere scritto anche in Python.
In una rete, fai clic sulla scheda «Parametri»:
Accanto alla sezione «Categorie di tipo di parametri», fai clic sul pulsante «+» e seleziona «PYWR\ _PARAMETER».
Apparirà un input di testo. Inserisci il nome del tuo parametro:\
Modifica il parametro come richiesto nell'editor JSON fornito:
Per semplificare le modifiche ai parametri, WaterStrategy offre editor per i parametri di uso comune, come i parametri del profilo mensile, con valori predefiniti precompilati, e editor grafici per semplificare l'immissione dei dati.
Esempio di editor di parametri
Nella scheda Parametri, quando aggiungi un nuovo parametro, seleziona 'PYWR_PARAMETRO_MENSILE\ _PROFILE' come mostrato:\
Nota che l'editor che appare mostrerà una scheda JSON, ma anche una scheda Plot and Table. La modifica dei dati nella tabella aggiornerà automaticamente i dati nel JSON come mostrato:\
Queste modifiche aggiornano automaticamente il JSON:
Questa pagina descrive (la maggior parte) i tipi di parametri supportati da Pywr. È possibile trovare una panoramica dei parametri in Pywr . È disponibile l'elenco completo dei parametri Pywr integrati .
Tutte le Parametro sottoclassi in pywr discendono da una classe base comune.
Un parametro che varia lo scenario. I valori di questo parametro sono costanti nel tempo, ma variano all'interno di un singolo scenario.
Parametro di base che fornisce un indice metodo.
bambini
commento
commento: unicode
doppia_taglia
doppia_dimensione: 'int'
numero intero_dimensione
numero intero_dimensione: 'int'
è_variabile
è_variabile: 'bool'
modello
nome
genitori
taglia
tipo
aggregato
sì
parametri
I parametri da aggregare
Facoltativo
agg_func
La funzione di aggregazione. Deve essere una tra {«sum», «min», «max», «mean», «product»} o una funzione richiamabile che accetta un elenco di valori
Facoltativo
In questo caso Aggregated Parameter sta moltiplicando due parametri insieme
Fattore di domanda della curva di controllo
Questo esempio mostra una domanda di base moltiplicata per un fattore che riduce la domanda in base a una curva di controllo del giacimento. È possibile fare clic su ciascuno di questi parametri per vedere come sono definiti.
Una raccolta di IndexParameters. Questa classe si comporta come un set. I parametri possono essere aggiunti o rimossi da esso. Il suo valore è il valore dei suoi parametri secondari aggregati utilizzando una funzione di aggregazione (ad esempio sum).
Inizializza self. Vedi help (type (self)) per una firma accurata.
Una raccolta di IndexParameters
agg\ _func
bambini
commento
commento: unicode
doppia_taglia
doppia_dimensione: 'int'
numero intero_dimensione
numero intero_dimensione: 'int'
è_variabile
è_variabile: 'bool'
modello
nome
parametri
parametri: elenco
genitori
taglia
presto in arrivo...
Questa classe si comporta come un set. I parametri possono essere aggiunti o rimossi da esso. Il suo indice è l'indice dei suoi parametri secondari aggregati utilizzando una funzione di aggregazione (ad esempio sum).
Uno scenario che varia IndexParameter. I valori di questo parametro sono costanti nel tempo, ma variano all'interno di un singolo scenario.
bambini
commento
commento: unicode
doppia_taglia
doppia_dimensione: 'int'
numero intero_dimensione
numero intero_dimensione: 'int'
è_variabile
è_variabile: 'bool'
modello
nome
genitori
taglia
gli scenari pywr sono compatibili con i seguenti parametri:
Parametro che divide uno Parametro da un altro.
Un semplice parametro che definisce un valore costante.
Parametro che assume il valore negativo di un altro Parametro.
bambini
commento
commento: unicode
raddoppiare_
doppia_dimensione: 'int'
intero_
intera_dimensione: 'int'
è_
è_variabile: 'bool'
modello
nome
parametro
parametro: pywr.parameters. _parametri.Parametro
genitori
taglia
Parametro che richiede un massimo di un altro Parametro e valore costante (soglia).
misura dimensione variabile
bambini
commento
commento: unicode
raddoppiare_
doppia_dimensione: 'int'
intero_
intera_dimensione: 'int'
è_
è_variabile: 'bool'
modello
nome
parametro
parametro: pywr.parameters. _parametri.Parametro
genitori
taglia
soglia
soglia: 'doppia'
presto in arrivo...
Questa classe è una versione più efficiente di Parametro aggregato dove un singolo Parametro viene confrontato con un valore costante.
misura dimensione variabile
bambini
commento
commento: unicode
raddoppiare_
doppia_dimensione: 'int'
intero_
intera_dimensione: 'int'
è_
è_variabile: 'bool'
modello
nome
parametro
parametro: pywr.parameters. _parametri.Parametro
genitori
taglia
soglia
soglia: 'doppia'
presto in arrivo...
Parametro che prende il massimo del negativo di a Parametro e valore costante (soglia).
misura dimensione variabile
bambini
commento
commento: unicode
raddoppiare_
doppia_dimensione: 'int'
intero_
intera_dimensione: 'int'
è_
è_variabile: 'bool'
modello
nome
parametro
parametro: pywr.parameters. _parametri.Parametro
genitori
taglia
soglia
soglia: 'doppia'
presto in arrivo...
Parametro che ne compensa un altro Parametro con un valore costante.
misura dimensione variabile ottimizzazione (superiore)_legami
bambini
commento
commento: unicode
raddoppiare_
doppia_dimensione: 'int'
intero_
intera_dimensione: 'int'
è_
è_variabile: 'bool'
modello
nome
compensare
L'offset da applicare al valore restituito da parametro
parametro
Il parametro da confrontare con il float
inferiore_
limiti
I limiti inferiori dell'offset se utilizzati durante l'
I limiti superiori dell'offset se utilizzati durante l'ottimizzazione
genitori
taglia
presto in arrivo...
Parametro che richiede un minimo del negativo di a Parametro e valore costante (soglia).
Questa classe è una versione più efficiente di Parametro aggregato dove un singolo Parametro è compensato da un valore costante.
Il profilo giornaliero restituisce un valore diverso in base al mese della fase temporale corrente.
Parametro che richiede almeno un altro Parametro e valore costante (soglia).
misura dimensione variabile
bambini
commento
commento: unicode
raddoppiare_
doppia_dimensione: 'int'
intero_
intera_dimensione: 'int'
è_
è_variabile: 'bool'
modello
nome
parametro
parametro: pywr.parameters. _parametri.Parametro
genitori
taglia
soglia
soglia: 'doppia'
presto in arrivo...
Parametro che fornisce un profilo settimanale per scenario
scenario
Oggetto scenario su cui devono essere forniti diversi profili
sì
valori
La lunghezza della prima dimensione deve essere uguale al numero di membri nell'oggetto scenario e la lunghezza della seconda dimensione deve essere 52
sì
presto in arrivo...
Parametro che fornisce un profilo giornaliero per scenario.
scenario
Oggetto scenario su cui devono essere forniti diversi profili
sì
valori
La lunghezza della prima dimensione deve essere uguale al numero di membri nell'oggetto scenario e la lunghezza della seconda dimensione deve essere 366
sì
presto in arrivo...
Parametro che fornisce un valore riducente uniformemente da uno a zero.
reimpostare_
giorno
Il giorno del mese (1-31) per reimpostare il volume al valore iniziale Sì reset
_mese
Il mese dell'anno (1-12) per reimpostare il volume al valore iniziale
sì
presto in arrivo...
Questa classe è una versione più efficiente di Parametro aggregato dove un singolo Parametro viene confrontato con un valore costante.
Le profilo settimanale contiene 52 settimane all'anno. L'ultima settimana dell'anno avrà più di 7 giorni, poiché 365/7 non è intero.
Questo parametro fornisce un profilo annuale ripetuto con una risoluzione settimanale. Viene restituito un profilo diverso per ogni membro di un determinato scenario.
Questo parametro fornisce un profilo annuale ripetuto con una risoluzione giornaliera. Viene restituito un profilo diverso per ogni membro di un determinato scenario.
Questo parametro è destinato all'uso con Storage virtuale annuale nodo per fornire un profilo che rappresenti l'utilizzo medio perfetto del volume annuo. Restituisce un valore di 1 il giorno di ripristino e successivamente si riduce di 1/366 ogni giorno successivo.
Parametro che fornisce un profilo mensile. Il profilo mensile restituisce un valore diverso in base al mese della fase temporale corrente.
Parametro Timeseries con allineamento e ricampionamento automatici.
Parametro variabile nel tempo utilizzando un array e TimeStep.index con fattori moltiplicativi per scenario.
scenario
Oggetto scenario su cui devono essere forniti diversi profili
sì
valori
La lunghezza della prima dimensione deve essere uguale al numero di membri nell'oggetto scenario e la lunghezza della seconda dimensione deve essere 12
sì
presto in arrivo...
I valori sono i dati delle serie temporali di base perturbati da un fattore. Il fattore è ricavato da fattori quali la forma (scenario.size, 12). Pertanto i fattori variano in base ai singoli scenari in base allo scenario e al mese.
Parametro che fornisce un profilo mensile per scenario.
scenario
Oggetto scenario su cui devono essere forniti diversi profili
sì
valori
La lunghezza della prima dimensione deve essere uguale al numero di membri nell'oggetto scenario e la lunghezza della seconda dimensione deve essere 12
sì
presto in arrivo...
Il comportamento è lo stesso di Parametro mensile del profilo tranne che viene restituito un profilo diverso per ogni ensemble in un determinato scenario.
Questo parametro legge i dati dell'array da un database HDF PyTables.
Archiviando i file HDF5 nel formato «fisso», gli utenti possono raggiungere velocità di accesso ai dati ottimali, rendendo HDF5 uno strumento efficace per scenari PyWR che utilizzano DataFrame come parametri, in cui il recupero rapido dei dati è fondamentale. I file HDF5 vengono letti come un dizionario, in cui ogni chiave rappresenta un DataFrame panda. Ad esempio, la struttura di un file inflows.h5 potrebbe contenere tre chiavi, ognuna delle quali rappresenta un fiume diverso. Ogni chiave contiene tre serie temporali che possono essere assegnate a uno scenario Pywr di dimensione 3.
Nota: La dimensione di pywr-scenarios deve corrispondere al numero di chiavi nel file h5
file h5
L'handle o il nome del file delle tabelle a cui collegare gli oggetti CarRay. Se viene dato un nome di file, l'oggetto aprirà e chiuderà gli handle dei file
sì
snodo
Nome del nodo nel database delle tabelle da cui leggere i dati
sì
dove
Percorso da cui leggere il nodo
sì
scenario
Scenario da utilizzare come secondo indice nell'array
sì
Il parametro legge i dati utilizzando l'interfaccia dell'array PyTables e pertanto non richiede il caricamento dell'intero set di dati in memoria. Ciò è utile per esecuzioni di modelli di grandi dimensioni.
Se si utilizza il file h5 DataFrame per eseguire pywr-scenarios, fare riferimento a per attivare questa funzionalità
Parametro che interpola un profilo giornaliero utilizzando una funzione a base radiale (RBF).
superiore
giorni_di_anno
I giorni dell'anno in cui vengono definiti i valori di interpolazione. Il primo valore deve essere uno
sì
valori
Valori da utilizzare per l'interpolazione corrispondenti al giorni_di_anno
sì
inferiore_
limiti
I limiti inferiori dei valori quando utilizzati durante l'ottimizzazione Sì
_legami
I limiti superiori dei valori utilizzati durante l'ottimizzazione
sì
variabile_giorni_di_anno_gamma
I limiti massimi (positivi o negativi) per i giorni dell'anno durante l'ottimizzazione. Un valore diverso da zero farà sì che i valori dei giorni dell'anno vengano esposti come variabili intere (tranne il primo valore che rimane al giorno 1). Questo valore è limitato a quelle variabili in base allo spostamento massimo rispetto a quello dato giorni_di_anno
sì
min_valore, max_valore
Facoltativamente, limita il profilo giornaliero interpolato a un valore minimo e/o massimo. I valori predefiniti sono l'infinito negativo e positivo rispettivamente per il minimo e il massimo
sì
rbf_kwargs
Dizionario opzionale degli argomenti delle parole chiave da basare sull'oggetto Rbf
Facoltativo
presto in arrivo...
Il profilo giornaliero viene calcolato durante il modello reimpostare utilizzando una funzione a base radiale con il giorno dell'anno come variabili indipendenti. I giorni dell'anno sono definiti dall'utente insieme ai valori da utilizzare in ciascuno di questi giorni per l'interpolazione. Il primo giorno dell'anno deve essere sempre uno e il suo valore viene ripetuto come 366esimo valore. Inoltre, il secondo e il penultimo valore vengono rispecchiati per incoraggiare la comparsa di un gradiente coerente oltre il confine. I calcoli RBF vengono eseguiti utilizzando Scipy.interpolate.rbf oggetto, fai riferimento alla documentazione di Scipy per maggiori informazioni.
I valori di questo parametro sono costanti in tutti gli scenari.
Parametro che utilizza un IndexParameter per indicizzare una matrice di parametri.
parametro_indice
Parametro indice
sì
parametri
iterabile di Parametri o galleggianti
sì
Guarda come viene definito il parametro della curva di controllo del serbatoio.
Un esempio di utilizzo di questo parametro consiste nel restituire un fattore di risparmio della domanda (come float) basato sull'attuale livello di risparmio della domanda (calcolato da un Parametro indice).
Il codice precedente utilizza l'indice fornito dal parametro chiamato 'Reservoir control curve', che è un L'indice 0 restituisce un 1, l'indice 2 restituisce 0.9 ecc...
In questo esempio questo parametro viene utilizzato per ridurre una domanda in base a una curva di controllo del serbatoio. Per favore, vai al per vedere come si fa.
I valori di questo parametro variano nel tempo in base all'indice e variano all'interno di un singolo scenario.
soglia
Soglia con cui confrontare il valore del registratore
sì
archiviazione
conservazione: pywr. _core.Archiviazione astratta
sì
dente di arresto
Se è vero, il parametro si comporta come un cricchetto. Una volta attivato per la prima volta, rimane nella posizione di attivazione (default=False)
sì
presto in arrivo...
Restituisce uno dei due valori in base al volume corrente in un Storage node.
soglia
Soglia con cui confrontare il valore del registratore
sì
valori
Se il predicato restituisce False, viene restituito il valore zero, altrimenti viene restituito il primo valore
sì
dichiarare
Uno tra {«LT», «GT», «EQ», «LE», «GE»}
sì
dente di arresto
Se è vero, il parametro si comporta come un cricchetto. Una volta attivato per la prima volta, rimane nella posizione di attivazione (default=False)
sì
presto in arrivo...
Classe base per i parametri che restituiscono uno dei due valori a seconda dell'altro stato.
soglia
Soglia con cui confrontare il valore del registratore
sì
dente di arresto
Se è vero, il parametro si comporta come un cricchetto. Una volta attivato per la prima volta, rimane nella posizione di attivazione (default=False)
sì
presto in arrivo...
Restituisce uno dei due valori in base al flusso precedente in un nodo.
tipo
flusso interpolato
sì
snodo
Nodo per fornire i valori del flusso di input per il calcolo dell'interpolazione
Facoltativo
interp_kwargs
Dizionario degli argomenti delle parole chiave a cui passare scipy.interpolate.interp1d classe e usato per l'interpolazione
Facoltativo
presto in arrivo...
Il valore del parametro è uguale all'interpolazione di un altro parametro.
soglia
Soglia con cui confrontare il valore del registratore
sì
dente di arresto
Se è vero, il parametro si comporta come un cricchetto. Una volta attivato per la prima volta, rimane nella posizione di attivazione (default=False)
sì
presto in arrivo...
Restituisce uno dei due valori in base al valore di un parametro.
soglia
Soglia con cui confrontare il valore del registratore
sì
dente di arresto
Se è vero, il parametro si comporta come un cricchetto. Una volta attivato per la prima volta, rimane nella posizione di attivazione (default=False)
sì
registratore
registratore: pywr.recorders. _recorders.Recorder
presto in arrivo...
Restituisce uno dei due valori in base al valore del registratore e a una soglia.
dei punti dati per l'interpolazione inferiore
superiore_
parametro
Valore superiore dell'intervallo interpolato da integrare su
Sì
x x
coordinate dei punti dati per l'interpolazione Opzionale
Coordinate
y y
Opzionale
_parametro
Valore inferiore dell'intervallo interpolato su cui effettuare l'integrazione. Può essere Nessuna nel qual caso il valore più basso dell'intervallo è zero
Facoltativo
interp_kwargs
Dizionario degli argomenti delle parole chiave a cui passare scipy.interpolate.interp1d classe e usato per l'interpolazione
Facoltativo
presto in arrivo...
Il valore del parametro è uguale alla quadratura dell'interpolazione di un altro parametro.
soglia
Soglia con cui confrontare il valore del registratore
sì
dente di arresto
Se è vero, il parametro si comporta come un cricchetto. Una volta attivato per la prima volta, rimane nella posizione di attivazione (default=False)
sì
presto in arrivo...
Restituisce uno dei due valori in base all'ordinale del timestep corrente.
Parametro di interpolazione generico che restituisce un valore basato sul volume corrente (step temporale) di un Reservoir o di Storage node. Il
parameter utilizza un matrice (tabella) di Volumi del serbatoio e valori corrispondenti. In questo caso i valori associati sono i corrispondenti Area del bacino idrico per un dato Volume.
tipo
volume interpolato
sì
snodo
Storage node per fornire i valori del volume di input per il calcolo dell'interpolazione
sì
volumi
coordinate x dei punti dati per l'interpolazione
sì
valori
coordinate y dei punti dati per l'interpolazione
sì
interp_kwargs
Dizionario degli argomenti delle parole chiave a cui passare scipy.interpolate.interp1d classe e usato per l'interpolazione
Facoltativo
Il seguente Json mostra un esempio di cura di classificazione Area vs Volume per un serbatoio. Questo potrebbe essere usato per definire l'attributo Area di un nodo Storage o Reservoir.
Il Json rappresenta la tabella seguente:
0
1
7
2
10
4
15
6
25
14
Quando viene tracciato si presenta così:
Di seguito è riportato un esempio di tabella di classificazione dell'area
0
1
7
2
10
4
15
6
25
14
Quando viene tracciato sembra questo
L'interpolazione viene utilizzata per calcolare i valori tra i punti indicati nell'array di interpolazione.
soglia
Soglia con cui confrontare il valore del registratore
sì
dente di arresto
Se è vero, il parametro si comporta come un cricchetto. Una volta attivato per la prima volta, rimane nella posizione di attivazione (default=False)
sì
presto in arrivo...
Restituisce uno dei due valori in base all'anno del timestep corrente.
Classe base per tutti i parametri che si basano su un nodo collegato contenente un controllo_Parametro della curva. [API Riferimento] (https://pywr.github.io/pywr-docs/master/api/generated/pywr.parameters.control_curves.baseControlCurveParameter.html #pywr .parameters.control\ _curves.baseControlCurveParameter)
. _curve
archiviazione_node
Un nodo di archiviazione opzionale che può essere utilizzato per interrogare il volume percentuale corrente
Controllo
Sì
Gli oggetti Parameter da utilizzare come curve di controllo
sì
presto in arrivo...
tipo
flusso interpolato
sì
snodo
Nodo per fornire i valori del flusso di input per il calcolo dell'interpolazione
Facoltativo
scorre
coordinate x dei punti dati per l'interpolazione
Facoltativo
valori
coordinate y dei punti dati per l'interpolazione
Facoltativo
interp_kwargs
Dizionario degli argomenti delle parole chiave a cui passare scipy.interpolate.interp1d classe e usato per l'interpolazione
Facoltativo
presto in arrivo...
Parametro di interpolazione generico che utilizza il flusso di un nodo nella fase temporale precedente per l'interpolazione.
Un parametro della curva di controllo che interpola tra tre o più valori.
. _curve
archiviazione_node
Un nodo di archiviazione opzionale che può essere utilizzato per interrogare il volume percentuale corrente
Controllo
Sì
Gli oggetti Parameter da utilizzare come curve di controllo
sì
valori
Un elenco di valori da restituire corrispondenti alle curve di controllo. La lunghezza dell'elenco deve essere 2 + len (control)_(curve)
Sì
parametri
Se i valori sono None, i parametri possono specificare un oggetto Parameter da utilizzare in ciascuna delle curve di controllo. Il numero di parametri deve essere 2 + len (control)_curve)
sì
presto in arrivo...
I valori restituiti vengono interpolati linearmente tra le curve di controllo, con il primo e l'ultimo valore rispettivamente 100% e 0%.