WaterStrategy
Português
Português
  • WaterStrategy Documentação
  • Suporte
  • Começando
    • Criando uma conta
    • Fazendo login
    • Visita à interface
    • Criando um novo projeto e rede
    • Compartilhando projetos e redes
    • Exportação e importação de modelos
    • Lidando com erros de modelo
    • Carregando dados externos
  • Noções básicas de modelagem
    • Modelagem do sistema de recursos hídricos?
    • O que é Pywr?
    • Conceitos de Pywr
    • Tipos de nós
      • Entrada de água
        • Nodo de entrada
        • Nodo de captação
        • Nodo de entrada proporcional
      • Transporte de água
        • Link Node
        • Nodo do Rio
        • Nodo de atraso
        • RiverSplit Node
        • RiverSplitWithGauge Node
        • Nodo RiverGauge
        • BreakLink Node
        • PiecewiseLink Node
        • MultiSplitLink Node
      • Armazenamento de água
        • Storage Node
        • Nodo do reservatório
        • VirtualStorage Node
        • Nó de armazenamento virtual contínuo
        • Nó de armazenamento virtual anual
        • Nó de armazenamento virtual sazonal
        • Nó de armazenamento agregado
      • Saída de água
        • Nodo de saída
        • Perda Link Node
      • Energia hidrelétrica
        • Nodo de turbina
      • Outros
        • Nodo agregado
    • Penalidades de alocação
    • Cenários
      • WaterStrategy Cenários
      • Cenários Pywr
        • Integração de parâmetros e cenários pywr
    • Parâmetros
      • Classe de parâmetro base
        • Parâmetro
        • Parâmetro do índice
      • Parâmetros simples
        • Constante
        • Parâmetro de cenário constante
        • Parâmetro de índice de cenário constante
      • Combinando vários parâmetros
        • Parâmetro agregado
        • Parâmetro de índice agregado
        • Parâmetro de divisão
        • Parâmetro negativo
        • Parâmetro máximo
        • Parâmetro máximo negativo
        • Parâmetro mínimo
        • Parâmetro mínimo negativo
        • Parâmetro de deslocamento
      • Séries temporais e perfis
        • Perfil diário
        • Perfil semanal
        • Perfil mensal
        • Perfil de rebaixamento uniforme
        • Perfil diário do cenário
        • Perfil semanal do cenário
        • Perfil mensal do cenário
        • Fatores mensais do cenário indexado de matrizes
        • Perfil RBF
      • Parâmetro DataFrame
      • Parâmetro HDF5
      • Parâmetros baseados em matrizes
        • Parâmetro indexado da matriz
        • Parâmetro de cenário indexado de matriz
        • Parâmetro de matriz indexada
      • Parâmetros de limite
        • Limite abstrato
        • Limite de armazenamento
        • Limite do nó
        • Limite de parâmetros
        • Limite do gravador
        • Limite do ano atual
        • Limite de dias ordinais atual
      • Parâmetros de interpolação
        • Parâmetro interpolado
        • Quadratura interpolada
        • Fluxo interpolado
        • Volume interpolado
      • Parâmetros da curva de controle
        • Curva de controle básico
        • Parâmetro interpolado da curva de controle
        • Parâmetro interpolado por partes da curva de controle
        • Parâmetro do índice da curva de controle
      • Parâmetros hidrelétricos
      • Outros
        • Parâmetro anual da série harmônica
        • Parâmetro de déficit
        • Parâmetro do Scenario Wrapper
        • Parâmetro integral por partes
        • Parâmetro de fluxo
        • Parâmetro de atraso de fluxo
        • Parâmetro do fator de desconto
    • Gravadores
      • Gravador básico
        • Gravador
        • Gravador de nós
        • Gravador de armazenamento
        • Gravador de parâmetros
        • Gravador de parâmetros de índice
        • Agregador
      • Gravadores de matriz Numpy
        • Gravador de nós Numpy Array
        • Gravador de armazenamento Numpy Array
        • Gravador de nível de matriz Numpy
        • Gravador de área Numpy Array
        • Gravador de parâmetros Numpy Array
        • Gravador de parâmetros de índice Numpy Array
        • Gravador de parâmetros de perfil diário Numpy Array
      • Gravadores de curva de duração de fluxo
        • Gravador de curva de duração de fluxo
        • Gravador de curva de duração de armazenamento
        • Registrador de desvio da curva de duração do fluxo
        • Registrador de curva de duração de fluxo sazonal
      • Registradores de déficit
        • Gravador de déficit de nós Numpy Array
        • Gravador de proporção fornecido pelo Numpy Array Node
        • Gravador de taxa de redução de nós Numpy Array
        • Gravador de nós de déficit total
        • Gravador de nós de frequência de déficit
      • Registradores estatísticos
        • Gravador agregado
        • Gravador de nós de fluxo médio
        • Gravador de nós de fluxo total
        • Registrador de fluxo total anual
        • Registrador de parâmetros médios
        • Gravador de parâmetros totais
        • Gravador de nós de fluxo médio contínuo
        • Gravador de armazenamento de volume mínimo
        • Gravador de armazenamento de volume mínimo
        • Registrador de parâmetros do índice de contagem de etapas de tempo
        • Registrador de limites do índice de contagem anual
        • Gravador de parâmetros de janela rolante
      • Gravadores de índice
        • Registrador de parâmetros do índice de contagem anual
      • Gravadores de arquivos
        • Gravador CSV
        • Gravador de tabelas
      • Gravadores de energia hidrelétrica
        • Gravador de energia hidrelétrica
        • Registrador de energia hidrelétrica total
  • Modelagem aplicada
    • Nodos de reservatório e armazenamento
  • Tutoriais
    • Criação e execução de um modelo simples
      • Criando e executando um modelo
        • Configurando um projeto e uma rede
        • Adicionando nós e links (bordas)
        • Adicionar dados aos nós
        • Definindo o horizonte temporal
        • Executando o modelo e visualizando suas saídas
        • Criando um novo cenário
        • Exercício
      • Fazendo alterações em um modelo
        • Adicionando um reservatório
        • Adicionando regras operacionais básicas
    • Modelagem de sistemas de reservatórios de bacias
      • Criando um novo projeto e rede
      • Adicionando uma barragem (reservatório)
      • Adicionando uma demanda
      • Adicionar um tratamento de água funciona com perdas
      • Adicionando uma fonte representando a água subterrânea
      • Exercícios adicionais
      • Adicionando batimetria, evaporação e precipitação do reservatório
        • Antecedentes sobre evaporação e precipitação em reservatórios
        • Adicionando batimetria de reservatório (Área)
        • Adicionando batimetria de reservatório (Nível)
        • Adicionando evaporação mensal e chuvas
      • Usando penalidades de alocação e regras de controle para equilibrar as fontes
      • Curvas de controle e economia de demanda
        • Adição de curvas de controle de reservatórios e economia de demanda (reduções)
    • Usando penalidades de alocação para alocar água
    • Cenários PyWR lendo DataFrame externo e adicionando regras personalizadas
      • Carregando arquivos
      • Lendo CSV DataFrame
      • Executando cenários pywr
      • Lendo o DataFrame h5 para cenários pywr
      • Criar regra personalizada - TranscientDecisionParameter
Powered by GitBook
On this page

Was this helpful?

Export as PDF
  1. Modelagem aplicada

Nodos de reservatório e armazenamento

PreviousRegistrador de energia hidrelétrica totalNextCriação e execução de um modelo simples

Last updated 7 months ago

Was this helpful?


description: Esta página descreve o comportamento e a configuração dos nós do reservatório Pywr em WaterStrategy.


Nodos de reservatório e armazenamento

Penalidades de alocação em reservatórios

Os nós de reservatório e armazenamento têm penalidades de alocação (custos) atribuídas a eles. Um custo negativo significa que o reservatório acumulará água, e um custo positivo significa que o reservatório liberará água. As penalidades de alocação podem ser constantes (parâmetros constantes) ou perfis (mensais, diários, semanais) que mudam com base no tempo. Além disso, as penalidades de alocação podem ter diferentes níveis definidos por diferentes curvas de controle com base no volume do reservatório. Apesar das penalidades de alocação de reservatórios e armazenamento influenciarem o armazenamento de água, as liberações desses nós resultarão de um equilíbrio de custos no sistema, considerando as penalidades de alocação dos nós a jusante.

A seguir, são apresentados diferentes exemplos.

Penalidade de alocação constante

Este exemplo usará valores constantes como penalidades de alocação para diferentes nós em uma rede. A Figura 1 mostra uma rede simples que inclui nós de captação, armazenamento, demanda e saída.

Figura 1. Modelo Pywr simples implementado em WaterStrategy

O nó de captação inclui uma série temporal de entrada, mostrada na Figura 2. A capacidade máxima do storage node é 2000000 Mm3, e a demanda do nó de demanda é 92 MM3/dia.

Figura 2. Séries temporais de entradas associadas ao nó de captação

Essa rede simples tem duas penalidades de alocação para os nós de armazenamento e demanda. A penalidade de alocação para storage node é -5 e o nó de demanda é -10. A Figura 3 mostra o volume simulado do storage node e o reabastecimento do nó de demanda.

![Um gráfico com uma linha

Descrição gerada automaticamente](../.gitbook/assets/3.png)

Figura 3. Volume simulado para storage node e abastecimento de água para o nó de demanda. Penalidade de alocação de armazenamento = -5, Penalidade de alocação de demanda = -10

A Figura 3 mostra que a demanda 92 MM3/dia é sempre atendida durante a simulação. Isso ocorre porque a penalidade de alocação do nó de demanda é maior do que a penalidade no storage node. Da mesma forma, se a penalidade de alocação para storage node não for definida, os resultados serão os mesmos da Figura 3. Agora, se as penalidades de alocação forem invertidas, ou seja, a penalidade de alocação de armazenamento for -10 e a penalidade de alocação de demanda for -5, a storage node reterá a água e não haverá suprimento para o nó de demanda (Figura 4).

![Um gráfico com uma linha subindo

Descrição gerada automaticamente](../.gitbook/assets/4.png)

![Um gráfico com uma linha

Descrição gerada automaticamente](../.gitbook/assets/5.png)

Figura 4. Volume simulado para storage node e abastecimento de água para o nó de demanda. Penalidade de alocação de armazenamento = -10, Penalidade de alocação de demanda = -5

Penalidade de alocação de perfil

Este exemplo usará um perfil mensal como penalidade de alocação para storage node (Figura 5) e uma penalidade de alocação constante igual a -10 para o nó de demanda. A rede na Figura 1 demonstrará o uso de um Pywr MonthlyProfileParameter. Qualquer outro parâmetro Pywr do perfil pode ser usado da mesma forma.

Figura 5. Penalidade mensal de alocação de perfil.

De maio a setembro, a penalidade de alocação é menor do que a penalidade no nó de demanda, resultando em liberações do storage node somente nesses meses para atender à demanda (veja a Figura 6).

![Um gráfico com uma linha subindo

Descrição gerada automaticamente](../.gitbook/assets/7.png)

Figura 6. Volume simulado para storage node e abastecimento de água para o nó de demanda usando um parâmetro de perfil mensal

Nodes com penalidades de alocação iguais

Conforme comentado na Seção 1.1, as penalidades de alocação são usadas para representar as prioridades de fornecimento em uma rede. No caso de escassez de água e da existência de dois ou vários nós com igual prioridade, não é possível obter um suprimento proporcional usando penalidades de alocação iguais. A Figura 7 mostra um exemplo de escassez de água em uma rede com dois nós de demanda com demanda e prioridades iguais.

Figura 7. Modelo Pywr simples implementado em WaterStrategy com penalidades de alocação iguais

Se operarmos a rede na Figura 7, não obteremos uma oferta igual para os nós Demanda 1 e 2 (Figura 8) porque isso dependerá do solucionador resolver o problema de alocação de água. No exemplo da Figura 7, o solucionador aloca mais água para o nó Demand 2, conforme mostrado na Figura 8.

![Um gráfico com números e uma linha

Descrição gerada automaticamente](../.gitbook/assets/10.png)

Figura 8. Abastecimento de água para nós de demanda com prioridades de alocação iguais.

Embora não seja possível usar penalidades de alocação iguais para obter um fornecimento igual, em WaterStrategy, um “AggregatedNode” pode ser usado para alcançar o comportamento desejado de obter suprimento proporcional no caso de escassez de água (veja a Figura 9).

Figura 9. Modelo Pywr simples implementado em WaterStrategy com penalidades de alocação iguais usando um “AggragtedNode”

Nesse caso, no atributo “nós” do “AggregatedNode”, o usuário precisa inserir os nós com uma penalidade de alocação igual e, no atributo “fatores”, inserir a proporção de fornecimento necessária entre os nós, por exemplo, para uma proporção de oferta igual em dois nós, os fatores devem\ [0.5, 0.5], veja a Figura __1234567890__5], veja a Figura 1234567890__5] 67890__2.

Figura 10. Atributo de nós e fatores em um nó agregado.

Observe que o “AggregatedNode” não está conectado a nenhum nó na rede (Figura 9). Se operarmos essa nova rede, obteremos um suprimento de água igual para os nós Demanda 1 e 2 (veja a Figura 11).

![Um gráfico com números e uma linha

Descrição gerada automaticamente](../.gitbook/assets/14.png)

Figura 11. Abastecimento de água para nós de demanda com prioridades de alocação iguais e um nó agregado.

Modelagem de planos hidrelétricos

Pywr não tem um nó explícito para modelar uma usina hidrelétrica. Como alternativa, os usuários podem combinar um nó “Link”, um parâmetro Pywr e um gravador para modelar uma usina hidrelétrica. O parâmetro pode ser um “HydroPowerTargetParameter” e o gravador um “HydroPowerRecorder”. O parâmetro de meta de energia hidrelétrica é um parâmetro usado para calcular o fluxo necessário para gerar uma meta específica de produção de energia hidrelétrica. Ele pretende ser usado em um nó representando uma turbina onde uma meta de produção específica é necessária em cada etapa de tempo. O registrador de energia hidrelétrica calcula e salva a produção de energia usando a equação da energia hidrelétrica. Esse gravador salva uma variedade de produção de energia hidrelétrica em cada etapa de tempo. Para facilitar a interação do usuário com o Pywr, WaterStrategy inclui um nó “Turbine”, que mostra uma interface (Figura 12) para inserir as informações da usina hidrelétrica e cria internamente um “HydropowerTargetParameter” e “HydropowerRecorder”.

Figura 12. Interface em WaterStrategy para inserir dados técnicos para nós de turbina.

As usinas hidrelétricas de reservatório ou hidrelétricas a fio d'água podem ser modeladas em WaterStrategy usando um nó de “Turbina”. A única diferença é que um storage node precisa ser definido para usinas hidrelétricas de reservatório para contabilizar a variação do nível no reservatório para o cálculo de energia. A cabeça para o cálculo da potência é calculada a partir da elevação da água dada no “armazenamento_“node” e “turbina”_valores de “elevação”. Se um storage node com uma elevação de água for fornecido, então a cabeça é a diferença de elevação entre a água e a turbina. Se o parâmetro de elevação da água for “Nenhuma”, a cabeça é simplesmente a elevação da turbina.