• Nenhum resultado encontrado

Altimetria – Camada contendo informações topográficas da bacia hidrográfica Essa camada pode ser representada sob forma de um MDT (Modelo Digital do

3.1 – UTILIZAÇÃO DE UM OPENGIS NO PROCESSO DE MODELAGEM

10. Altimetria – Camada contendo informações topográficas da bacia hidrográfica Essa camada pode ser representada sob forma de um MDT (Modelo Digital do

Terreno), por curvas de nível da topografia da bacia hidrográfica, ou mesmo por um conjunto de pontos x, y e z. Essa camada é utilizada para determinar o sentido de drenagem de cada quadrícula, a fim de realizar a transferência de lâmina entres as quadrículas;

Este conjunto de informações é utilizado para determinar os atributos de cada quadrícula necessárias à realização de simulações. Para tanto, são utilizadas as ferramentas do SIG. A Figura 3.5 representa um esquema da sobreposição de camadas a fim de se determinar esses atributos de cada célula do modelo AÇUMOD.

Figura 3.5 – Sobreposição de camadas para determinação dos atributos das quadrículas em ambiente SIG.

Cada uma das camadas de informações citadas é transformada em objetos dos pacotes de classes que serão apresentados na próxima seção.

Nesta seção, o pacote computacional para simulação do processo de transformação chuva em vazão é apresentado. Inicialmente, são apresentados os pacotes que compõem o simulador (acm, geometry, etc.) e a classe principal (ACUMODEL), que é a classe de entrada desse pacote computacional. São então descritas as principais classes que compõem os pacotes citados e, por fim, são apresentados os principais diagramas de seqüências, responsáveis pelos procedimentos de aquisição de dados, execução do simulador.

3.2.2.1 – Os pacotes do simulador acumodel

Na Figura 3.6 são apresentados os principais pacotes, num total de dez, mais a classe principal, a ACUMODEL. Esses pacotes e a classe principal formam o pacote denominado acumodel. Nessa figura, apresentam-se ainda os relacionamentos existentes entres os diversos pacotes. A razão desses relacionamentos é também descrita, pois os mesmos são importantes para o funcionamento do simulador. A criação desses pacotes foi idealizada em função, principalmente, dos objetivos comuns das classes, ou seja, cada pacote contém um conjunto de classes que têm objetivos comuns. Isto foi feito a fim de se modular o simulador, de forma que cada pacote dependa o mínimo dos outros. Após apresentação da Figura 3.6, são descritos cada um desses pacotes.

Figura 3.6 – Diagrama dos pacotes do simulador chuva-vazão acumodel.

hydroElements – Pacote composto pelas classes que representam o sistema a ser

simulado. Nesse pacote, há classes que representam a bacia hidrográfica (ACM_Watershed) e seus componentes (ACM_Reservoir, ACM_WaterCapture,

ACM_Outlet, ACM_Gauge, ACM_DischargeGauge, ACM_River). A dependência

desse pacote do pacote demands se deve ao fato de que tanto a classe

ACM_Reservoir quanto a ACM_WaterCapture contêm informações sobre vazões

demandadas para os usos múltiplos. Já em relação ao pacote timeSeries, o relacionamento deve-se ao armazenamento de série de dados diários e mensais nas classes ACM_Gauge e ACM_DischargeGauge;

reservoir – Este pacote é um sub-pacote do hydroElements. As classes do pacote reservoir são responsáveis pela descrição de sistemas de reservatórios superficiais.

Seu relacionamento com o pacote hydroElements é motivado pelo fato de que os açudes são parte integrante da classe ACM_Watershed. Já o relacionamento entre esse pacote e o timeSeries e o demands é idêntico ao citado no item anterior;

demands – Pacote formado por três classes, sendo a ACM_DailyDemand e ACM_MonthlyDemand as mais importantes, que armazenam dados diários e

demandas possíveis: abastecimento humano, animal, industrial, irrigação e outras demandas possíveis, sendo que estas podem ser consideradas retiradas diretamente de um açude ou por meio de vazões liberadas pelos açudes para abastecimento a jusante;

timeSeries – Pacote que serve para armazenar conjunto de dados diários, mensais e

anuais, por exemplo, séries pluviométricas, fluviométricas, etc. O hydroElements, o

reservoir, o demands e o acmResults são dependentes do pacote timeSeries, porque

para alguns elementos desses quatro pacotes contêm séries de dados hidroclimáticos ou séries de dados resultantes de simulações. Nesse pacote, ainda encontra-se uma classe que armazena as datas iniciais e finais de uma série temporal;

geometry – Pacote que contém seis classes, as quais são responsáveis pela

geometria do modelo, ou seja, células quadriculares e o grid, e pela representação das funções de produção;

acmResults – Pacote que contém as classes que armazenam resultados de

simulações. Encontra-se relacionado com pacote geometry, pois os resultados das simulações ficam armazenados nas quadrículas do modelo, mais precisamente nas funções de produção. É composto por quatro classes, sendo duas para representar os resultados diários e outras duas para os resultados mensais. Esses resultados representam as lâminas escoadas superficialmente, infiltradas, evaporadas, armazenadas no solo, vazões totais por quadrículas e vazões de montante e jusante da quadrícula;

acm – Pacote composto por quatro classes, sendo responsável pela simulação do

processo de transformação chuva em vazão, execução do método de Thiessen e cálculo do tempo de concentração. É dependente dos pacotes hydroElements, que contém a bacia hidrográfica e seus demais elementos hidráulicos, e do pacote

geometry, que trata da discretização da bacia hidrográfica em células quadriculares;

interfacemdl – É o pacote responsável pela integração do SIG e do simulador. Por

meio da classe ACM_JUMP, são extraídos os atributos de uma camada de informações formato shape (*.shp), do ArcView®, por exemplo. Com esses atributos, são criados os objetos representativos do sistema a ser simulado, os quais são representados por entidades geométricas;

sendo esses em diversos formatos;

guis – Pacote composto por classes que servem para apresentar as GUI’s

(Graphical User Interfaces), que são as janelas de acesso aos diversos dados armazenados na classe ACUMODEL. Por meio dessas janelas, acessam-se e editam-se esses dados e executam-se métodos das classes;

Classe ACUMODEL – Classe principal do simulador chuva-vazão, pelo fato de

que, através dela, as demais classes do projeto completo são acessadas, assim como os métodos para simulação de uma bacia são ativados. É nessa classe que os atributos necessários a uma simulação ficam armazenados.

Segue-se então, com o detalhamento de parte das classes que compõem os pacotes apresentados anteriormente. Nesse caso, apenas os pacotes hydroElements, reservoir,

geometry, acm e interfacemdl, e a classe ACUMODEL são detalhados, pois os mesmos são

considerados os mais importantes.

3.2.2.2 – O pacote hydroElements

Inicialmente, as classes que compõem o pacote hydroElements são apresentadas. Esse conjunto de classes é responsável pela representação do sistema a ser simulado, da bacia hidrográfica e dos demais elementos hidráulicos. A Figura 3.7 apresenta resumidamente as classes do hydroElements.

apresentados detalhes sobre cada uma dessas classes, sendo que um sub-pacote é utilizado para representar os reservatórios superficiais da bacia.

ACM_WatershedPoint – Esta classe é a representação abstrata de um ponto

qualquer da bacia hidrográfica. Herda os atributos e métodos da classe Point2D do Java e tem como atributos id, name; elevation e position, que caracterizam esse ponto no espaço. Foi criada para servir de base para as demais classes representáveis por meio de um ponto. Como se pode ver na Figura 3.7, essa classe herda os atributos e métodos de uma classe geométrica representativa de um ponto. Seus métodos principais são os sets e gets para atribuir e acessar os atributos citados;

ACM_Gauge – Classe responsável pela representação de uma estação

pluviométrica ou evaporimétrica, as quais contêm informações semelhantes. Herda atributos e métodos da ACM_WatershedPoint. Como atributo, essa classe tem: a classe cellAtt, que relaciona uma estação com uma célula do modelo; dailyData, que é um conjunto de dados diários; monthlyData¸ conjunto de dados mensais; e

period, que é o período de dados existente. Estes três últimos atributos servem para

armazenar e manipular as séries históricas. Os principais métodos tratam da atribuição e do acesso a valores desses atributos, os sets e gets. Ressalva se faz apenas com relação ao acesso das séries históricas. Para acessar os dados mensais, informa-se o ano e o mês; já para o caso diário, informa-se a mais o dia, sendo que, para utilizar estes atributos, faz-se necessário criá-los. Para tanto, o método

createTimeSeries deve ser utilizado;

ACM_DischargeGauge – Classe que herda da classe ACM_Gauge, porque a classe ACM_DischargeGauge é semelhante à ACM_Gauge. Porém o que a diferencia é

que a ACM_DischargeGauge conta com o atributo area, que armazena a informação da área de influência da bacia hidrográfica da estação fluviométrica. Os métodos são semelhantes aos descritos para a classe ACM_Gauge;

ACM_Outlet – Classe que representa os exutórios de bacia e sub-bacias. É criada a

partir da classe ACM_WatershedPoint, já que um exutório é caracterizado também por um ponto na bacia hidrográfica. Composta pelos atributos cellAtt, que é a célula do modelo onde a mesma se localiza, area, que é a área da bacia hidrográfica, e o

utilizados apenas para atribuir e acessar valores dos referidos atributos;

ACM_WaterCapture – Classe utilizada para representar uma captação d’água na

bacia hidrográfica. Também é representada por meio de um ponto, por isso foi criada com base na ACM_WatershedPoint. Esta classe tem os seguintes atributo e métodos: firstYearImplementation, firstMonthImplementation e firstDayImplementation, que representa a data de implantação da captação; os

atributos dailyFailure e monthlyFailure armazenam as falhas diárias e mensais quando do momento da simulação. Uma falha indica que a vazão requerida por esta captação não foi atendida. Os atributos dialyUptake e monthlyWithdrawal armazenam as demandas diárias e mensais, sob forma de vazões retiradas ou restituídas. Há métodos para acesso destes atributos: os sets e gets;

ACM_River – Classe representativa dos rios, representada por curvas. Daí a criação

dessa classe com base na classe GeneralPath do Java, que representa um conjunto de curvas. Em função da forma como o AÇUMOD foi concebido, essa classe é pouco utilizada, pois, por exemplo, os dados de vazões de um rio ficam armazenados nas quadrículas do modelo;

ACM_Watershed – É a classe mais importante do hydroElements, pois é nela que as

demais classes desse pacote ficam armazenadas. Os atributos do tipo arrayList armazenam os diferentes tipos de elementos hidráulicos existentes numa bacia hidrográfica. O relacionamento é do tipo zero para vários, para as classes

ACM_Gauge, ACM_DischargeGauge, ACM_WaterCapture e ACM_Reservoir,

pois esses elementos podem ou não se fazer presentes numa bacia hidrográfica. Com relação aos elementos ACM_Outlet e ACM_River, há um relacionamento de um para vários, pois, para ser de fato uma bacia hidrográfica, há a necessidade da existência de, no mínimo, um desses elementos. Seus métodos são os sets e gets, sendo que, para se atribuir valores aos atributos do tipo arrayList, o método tem o sufixo add mais o nome do elemento hidráulico.

3.2.2.3 – O pacote reservoir

Apresenta-se na Figura 3.8, o conjunto de classes responsáveis pela representação de um reservatório superficial, que é o detalhamento do pacote reservoir.

Figura 3.8 – Diagrama de classes do pacote reservoir.

A principal classe do pacote reservoir é a ACM_Reservoir, composta diretamente por mais seis classes e, indiretamente, por mais uma. O relacionamento da classe

ACM_Reservoir em zero para um, se deve ao fato de que todas estas classes podem existir

ou não. Um exemplo típico é a curva cota-área-volume de um açude: o açude pode ter essa curva ou não. A criação dessa classe também foi realizada com base na

ACM_WatershedPoint. A seguir, este conjunto de classes é detalhado:

ACM_Reservoir – Classe representativa de um reservatório superficial (açude).

Contém atributos que o caracterizam no espaço, no tempo e geometricamente. Outros atributos informam a existência de outros açudes a montante ou um a jusante. Além destes, compõem ainda os atributos desta classe um conjunto de

simulações diária ou mensal. Seus principais métodos da atribuição e acesso aos atributos são feitos por meio dos gets e sets, de adição de açudes a montante, também da adição passo da curva cota-área-volume. Ademais, são também invocados os processos de simulação do balanço hídrico, a partir das rotinas

dailySimulation(), monthlySimulation(), dailySimulationByStep(), monthlySimulationByStep(), os quais podem realizar a simulação do balanço

hídrico a cada passo de tempo ou para um período.

ACM_CurveLevelAreaVolume – Classe representativa da curva cota-área-

volume de um açude. Composta por atributos que definem esta curva (curveLAV), mais os limites da curva em termos de níveis, áreas ou volumes mínimo, mínimo operacional e máximo. Seus métodos dizem respeito ao acesso a estes atributos e os métodos que determinam níveis, áreas ou volumes interpolados dessa curva. Esses métodos que interpolam valores da curva são utilizados no processo de simulação do balanço hídrico;

ACM_StepLevelAreaVolume – Classe que representa um passo da curva cota-

área-volume, ou seja, um valor de nível, área e volume, sendo, portanto, estes os atributos dessa classe, mais o reservatório que gerar um passo da curva. Os métodos dessa classe dizem respeito ao resgate de informações da classe, ou seja, os gets. A não existência de sets se deve ao fato de que os três atributos desta são passados pelo construtor da referida classe;

ACM_RsvDailyHydroData –Compõe a classe ACM_Reservoir pelo fato de

armazenar as séries de dados necessários à realização do balanço hídrico, ou seja, dados hidrológicos e dados relativos a demandas hídricas totais. Assim, essa classe tem como atributos o açude que a criar, mais dados de demandas hídricas totais, evaporação, vazões afluentes e precipitação, sendo esses armazenados diariamente;

ACM_ RsvMonthlyHydroData – Classe semelhante à anterior, porém dando um

tratamento mensal à base de dados;

ACM_Simulation – Essa é uma classe que contém como atributo apenas o

reservatório que a criou. Sua principal funcionalidade é a realização de balanços hídricos, seja em escala de tempo diária ou mensal. Há quatro tipos de balanços possíveis. Há um balanço diário (dailySimulation) ou mensal

importantes no processo de modelagem do ciclo hidrológico são os balanços diário (dailySimulationByStep) e mensal (monthlySimulationByStep) passo a passo. Para ambos os últimos casos são necessárias as informações de ano, mês e dia, apenas para o caso diário, de simulação do balanço hídrico;

ACM_RsvDailyAcmResults – Classe que armazena os resultados da simulação

do balanço hídrico, ou seja, volumes evaporados, extravasados, precipitados e armazenados no açudes, série de falhas, número total de falhas e os dados de níveis simulados. Nesse caso, esses atributos são para o passo de tempo diário; • ACM_RsvMonthlyAcmResults – Também armazena os resultados da simulação

do balanço hídrico, só que, neste caso, para passo de cálculo mensal.

3.2.2.4 – O pacote geometry

Esse pacote, formado por seis classes, é responsável pela representação da bacia hidrográfica de uma maneira que o simulador possa interpretá-la, ou seja, a partir de um conjunto de quadrículas. A Figura 3.9 apresenta essas seis classes.

A classe ACM_CellAtt é criada herdando os atributos e métodos de uma classe geométrica que representa uma célula no espaço. Essa classe geométrica é formada a partir de um quadTree, que contém métodos que identificam suas vizinhas, efetua divisões, determina sua área, etc. A ACM_CellAtt vai armazenar todos os atributos necessários à simulação do ciclo hidrológico. Assim, atributos como: postos pluviométricos e evaporimétricos; células de montante e de jusante fazem parte dessa classe. Cada quadrícula deve ter ainda um sentido de drenagem, por isso o relacionamento de um para um com a classe ACM_FlowDirection. A classe ACM_CellType serve para enumerar o tipo de informação que cada quadrícula deverá ter. Nesse pacote, ainda há duas classes que representam as funções de produção (ACM_ProductionFunction) e a função de produção com sua respectiva fração de área de uma quadrícula (ACM_PFandArea). É na classe

Figura 3.9 – Diagrama de classes do pacote geometry.

3.2.2.5 – O pacote acm

Apresenta-se então o detalhamento do conjunto de classes que compõem o pacote

acm, responsável pela simulação. Um total de quatro classes forma este pacote, cuja

Figura 3.10 – Diagrama de classes do pacote acm.

ACM_ConcentrationTime – Classe que tem a função de determinar o tempo de

concentração de cada quadrícula e sua respectiva zona isócrona. O método

setConcentrationTime realiza estas duas ações conjuntamente;

ACM_Thiessen – Classe utilizada para determinar as zonas de influência de cada

posto pluviométrico e evaporimétrico de cada quadrícula. O método de Thiessen é utilizado nesse processo;

ACM_Model – Classe que armazena os atributos necessários à simulação, o gridACM, que contém as quadrículas; a bacia hidrográfica (watershed), e o

simulador (simulation). Essa classe fica armazenada na classe principal, por isso a classe ACUMODEL faz parte dos atributos;

ACM_Simulation – É a classe onde a simulação é realizada através do método acumod(). As quadrículas onde o balanço hídrico é realizado são atributos dessa

classe (celslAtt). Ainda como atributos principais, encontram-se: o passo de tempo de cálculo (timeStep) e o período de simulação (periodSimulation);

3.2.2.6 – O pacote interfacemdl

Apresenta-se então o detalhamento do pacote interfacemdl, responsável pelo acesso às informações contidas em camada do SIG, geometria e atributos de cada entidade geométrica. É por meio dessa classe que os dados de uma camada do SIG são transformados em dados do modelo AÇUMOD. As duas classes que compõem esse pacote

apenas as declarações dos métodos que a interface deverá ter; essa é a classe

ACM_Interface. Já na classe ACM_JUMP, os métodos declarados na ACM_Interface são

implementados.

Figura 3.11 – Diagrama de classes do pacote interfacemdl.

3.2.2.7 – Classe ACUMODEL

Por fim, descreve-se a classe ACUMODEL, que é o ponto de entrada do pacote simulador de águas superficiais. É a partir dessa classe que todos os métodos das classes apresentadas são chamados pelas GUI’s. Seus atributos e métodos encontram-se listados na Figura 3.12.

compõem o pacote de simulação do ciclo hidrológico. É nela que todos os atributos necessários à realização de uma simulação ficam armazenados. Contém ainda a interface do modelo, atributo acmInterface, que é o atributo de conversão de dados do formato

shapefile para os elementos hidráulicos. O conjunto de métodos import trata da conversão

citada no item sobre a integração dos simuladores ao SIG. Ademais, nessa classe encontram-se os métodos necessários à simulação de uma bacia hidrográfica.

3.2.3 – Os diagramas de seqüências do simulador

Nesta seção são apresentados dos diagramas de seqüências dos procedimentos necessários à realização de uma simulação hidrológica. A Figura 3.13 apresenta o principal diagrama de seqüências do pacote simulador.

Figura 3.13 – Diagrama de utilização do simulador do ciclo hidrológico – o AÇUMODEL. O processo de simulação do ciclo hidrológico de uma bacia hidrográfica é composto por três principais fases: pré-processamento, processamento e pós- processamento. Cada uma destas etapas é em seguida detalhada.

sistema, são carregadas as camadas de informação necessárias ao processo de simulação. Inicia-se então o simulador e, a partir dele, cria-se uma malha quadriculada, a qual é discretizada por meio da eliminação e divisão das quadrículas. Por fim, nessa fase, é definido o passo de tempo de cálculo e de resultados para o processo de simulação, assim como o período de simulação, ou seja, as datas inicial e final.

O processamento do modelo inicializa-se com o carregamento das camadas para o modelo AÇUMOD. Isto significa que os dados existentes nas camadas do SIG são extraídos e, a partir desses, são criados os objetos necessários à simulação. É nessa fase que são criados os elementos hidráulicos, por exemplo. Carrega-se então dados para traçado do modelo digital do terreno (MDT). Realiza-se a sobreposição das camadas a fim de se determinar as propriedades de cada quadrícula, ou seja, se a malha contém rio, açude, posto fluviométrico, captação d’água, etc. Ainda nessa fase, são determinadas as altitudes mínimas de cada quadrícula, a partir do MDT anteriormente construído. Espacializam-se os dados de precipitação pelo método de Thiessen. Determinam-se as direções de fluxo, a partir das altitudes mínimas de cada quadrícula, obtidas anteriormente. São determinados o tempo de concentração e as zonas isócronas de cada quadrícula, valores utilizados no processo de transferência de vazões. Uma vez realizados todos esses passos, executa-se o modelo. A execução do modelo, por ser a rotina principal desse simulador, é posteriormente descrita em maiores detalhes.

Uma vez executado o modelo, passa-se para a fase final, o pós-processamento. Uma estrutura em formato de árvore disponibiliza todas as informações e resultados de