Um Ambiente para Tratamento Automático de Dados Micrometeorológicos do Projeto LBA. Andrêza L. de Alencar 1 & José L. Campos dos Santos 2 1 Faculdade de Sistemas de Informação Universidade Federal do Pará (UFPA) Av. Marechal Rondon s/n, Caranazal Santarém PA Brasil 2 Instituto de Pesquisas da Amazônia (INPA) Av. André Araújo, 2936, Aleixo Manaus AM Brasil andreza@lbasantarem.com.br, lcampos@inpa.gov.br Abstract. One of the challenges faced by sensors network structure applied to micrometeorological stations in long term experiment is to maintain a methodological protocol for control data quality consistently. The use of automatics methods supported by computational resources, centered in the implementation of those methods, looking for an efficient system, to use the appropriate mechanisms of correction for scenario of collections and data sources that generates anomalies, and support the decision-making process for maintenance, reducing the response time to failures. Resumo. Um dos desafios enfrentados em uma estrutura de redes de medições aplicados a estações micrometeorologicas de longa duração é manter um protocolo metodológico de controle de qualidade de dados coletados consistente. Utilizar métodos de tratamento adequados com auxílio de recursos computacionais, através da implementação desses métodos, em busca de um sistema eficiente, colabora diretamente no controle da qualidade dos dados coletados potencializando análises e resultados científicos verdadeiros, além de apoiar na tomada de decisão nos procedimentos de manutenção, diminuindo o tempo de resposta a falhas. 1. Introdução O Experimento de Grande Escala da Biosfera-Atmosfera na Amazônia (LBA) é uma iniciativa de pesquisa internacional liderada pelo Brasil. O LBA objetiva gerar novos conhecimentos para entender o funcionamento climatológico, ecológico, biogeoquímico e hidrológico da Amazônia, o impacto das mudanças no uso da terra nesses funcionamentos e as interações entre a Amazônia e o sistema biogeofísico global da terra. O projeto mantém uma rede de sensores de medidas micrometeorológicas através de Plataformas de Coletas de Dados (PCDs), instaladas nas torres de sítios de
pesquisas em locais remotos como Caxiuanã, Santarém, Manaus, São Gabriel da Cachueira, Ji-Paraná, Ouro Preto do Oeste, e SINOP. O processo produz dados que podem ser classificados em dois grupos, alta frequência e baixa freqüência. Sendo que o primeiro grupo trata de calculo de fluxo de CO2, vapor de água e balanço de energia sendo coletado com até 50 registros por segundo, e o segundo grupo trata de medições de fechamento do balanço e dinâmica local dos fluxos com medidas a cada 5, 10 ou 30 segundos. Para os dados coletados exclusivamente por uma rede de sensores, por longos períodos e continuamente, gerando grandes volumes de dados, enfrenta-se dois grandes desafios: manter os novos dados sincronizados em uma seqüência com os dados já coletados anteriormente e controlar a qualidade dos dados. É fundamental a garantia da qualidade dos dados uma vez que confirmar resultados de análises de dados brutos pode comprometer o processo de investigação, devido à presença de anomalias e impurezas nos dados. Tais dados precisam estar livres de erros para garantir resultados científicos confiáveis além de diminuir o tempo de resposta a falhas de sensores. Uma rede de medições quando operada sob controle de um ambiente automático integrado, tem demonstrado capacidade para garantir a boa qualidade dos dados [Alencar et al 2008]. Como o processo de coleta envolve diferentes tecnologias de software e hardware, adotam-se protocolos metodológicos, de controle de qualidade de dados para evitar possíveis falhas durante o processo. Tais métodos têm sido extensivamente utilizados, principalmente em procedimentos automáticos de inspeção de séries temporais tendendo a reduzir qualitativamente os esforços de controle e promover produtos científicos consistentes para a rede de medições [Foken et al 2004]. No entanto estes procedimentos automáticos não são desenvolvidos em um ambiente computacional flexível com recursos de programação para implementação de algoritmos de tratamento integrados e, portanto não representam um cenário de soluções ainda ideal. Sendo assim, o desenvolvimento de um sistema computacional, incorporando tecnologia recente aos métodos de tratamento de dados automático promoverá a construção de um ambiente flexível, através da capacidade tecnológica da plataforma WEB 2.0 e da ferramenta Matlab, que possui todas as características necessárias para
construção do sistema. O objetivo deste trabalho é demonstrar, através do sistema, a eficiência dos métodos selecionados e a viabilidade de se chegar a um sistema de controle de qualidade de dados ideal para as torres de medidas micrometeorológicas do Programa LBA. Este artigo apresenta conceitos e técnicas de desenvolvimento utilizadas, a plataforma adotada para a execução do sistema, as linguagens de programação utilizadas no desenvolvimento, os métodos de tratamento de dados selecionados para se fazer as experimentações assim como, também os resultados obtidos com o estudo. 2. Desenvolvimento do Sistema e Plataforma Adotada. Para determinar e entender a necessidade e a viabilidade dos requisitos para o sistema de Data Cleaning foram desenvolvidos os métodos de tratamento de dados para o controle de qualidade de dados micrometeorológicos possibilitando a obtenção de soluções consistentes para o problema. 2.1 Ambiente de Implementação de Métodos: Matlab A ferramenta adotada para a implementação destes algoritmos foi o Matlab. O Matlab é um pacote de software interativo de alta performance que integra análise numérica, cálculo com matrizes, processamento de sinais e construção de gráficos em ambiente fácil de usar [Chapman 2003]. No Matlab os problemas e soluções são expressos somente como eles são escritos matematicamente, ao contrário da programação tradicional [Marcolino 2004]. O pacote computacional Matlab é uma ferramenta de uso generalizado no meio acadêmico e foi escolhido para a execução deste trabalho pelas suas vantagens de programação. Dentre as muitas vantagens de se utilizar o ambiente Matlab pode-se citar o uso de linguagens de alto-nível; a implementação rápida e fácil; sintaxe simples e desestruturada; programação na linha de comando; tratamento, visualização e armazenamento de dados permitindo rapidamente implementações iniciais de algoritmos e procedimentos em uma série de aplicações. Tais propriedades fazem com que o Matlab seja, por excelência, um pacote de obtenção de primeiras versões, dedicadas a testes em algumas funcionalidades. O Matlab é um sistema interativo cujo elemento básico de informação é uma matriz que não requer dimensionamento. Esse sistema permite a resolução de muitos
problemas numéricos em apenas uma fração do tempo que se gastaria para escrever um programa semelhante em linguagem Fortran, Basic ou C. Entrada de Dados Uma das vantagens que o Matlab ofereceu ao sistema foi a facilidade na entrada e processamento de dados. O acesso aos dados é executado pelo ambiente de tratamento que utiliza a estrutura de diretórios já estabelecida pelo grupo de micrometeorologia para organização dos dados coletados nas torres, Figura 1. Figura 1: Ambiente de Coleta e Acesso aos Dados. Menu de Seleção de Variáveis A ferramenta Matlab possibilitou a criação de um menu gráfico para o sistema onde o usuário pode fazer a seleção das ações a serem executadas e das variáveis que deseja utilizar podendo estas ser trabalhadas através de gráficos ilustrativos e cálculos estatísticos, Figura 2. Figura 2: Utilização do Menu Gráfico do Matlab
2.2 Plataforma WEB 2.0 A plataforma adotada para o desenvolvimento do sistema foi a plataforma WEB 2.0. A WEB 2.0 é considerada a plataforma para todo e qualquer sistema computacional existente com interoperabilidade, portabilidade da linguagem multiplataforma [Primo 2007]. Na WEB 2.0 os softwares funcionam pela Internet, não somente instalados no computador local, de forma que vários programas podem se integrar formando uma grande plataforma. A plataforma oferece os elementos que os programas precisam para existir. A internet é o ambiente onde as páginas WEB 2.0 são exibidas através do navegador. O navegador é o programa utilizado para visualizar os recursos da WEB 2.0, como por exemplo, o Mozila Firefox e o Internet Explorer. A funcionalidade da WEB é baseada em três padrões: a) URL (Uniform Resource Locator), um sistema que especifica como cada página de informação recebe um "endereço" único onde pode ser encontrada. b) HTTP (Hypertext Transfer Protocol), um protocolo que especifica como o navegador e servidor WEB se comunicam entre si. c) HTML (HyperText Markup Languag), uma linguagem de marcação para codificar a informação de modo que possa ser exibida em uma grande quantidade de dispositivos. Na WEB 2.0 os programas são de código aberto permitindo a reutilização dos mesmos. Esta plataforma permite ainda o desenvolvimento de interfaces ricas, completas e funcionais, sendo que alguns aplicativos, como neste caso, são considerados por muitos como "desktops on-line", proporcionando ao usuário um ambiente de trabalho acessível de qualquer computador com conexão a Internet como apresentado na Figura 3.
Internet Cliente Servidor WEB Diretório Página HTML Figura 3: Estrutura básica de um sistema WEB A interface deste sistema foi desenvolvida em HTML e PHP (Hypertext Preprocessor") onde a HTML é responsável para produzir as páginas na WEB que são interpretadas pelos navegadores. A linguagem PHP é uma linguagem de programação livre e de domínio específico, ou seja, seu escopo se estende a um campo de atuação que é o desenvolvimento WEB e seus comandos podem ser incorporados aos documentos HTML exibindo seus resultados no navegador, como por exemplo, ao utilizar uma parte de código que não esteja na página atual para efetuar alguma operação específica sem necessitar escrevê-la novamente utiliza-se um comando PHP que chama a operação solicitada e os resultados são exibidos na interface gerada pelo HTML no navegador. O propósito principal da PHP é de implementar soluções WEB velozes, simples e eficientes. Suas principais características são: velocidade e robustez; estruturado e orientação a objeto; portabilidade; e tipagem fraca. As tecnologias utilizadas para a execução do sistema possuem uma relação que representa as camadas de aplicação para a WEB 2.0, a lógica de negócio e acesso a dados, Figura 4.
Figura 4: Arquitetura em 3 camadas do funcionamento do sistema 3. Conclusões e Resultados Este trabalho permitiu constatar, através da avaliação do sistema que a solução proposta contribuirá na solução do problema de anomalias de dados de alta e baixa freqüência auxiliando diretamente no aumento da qualidade dos dados micrometeorológicos. Para alcançar os objetivos deste trabalho foram estudados os processos de aquisição de dados no contexto do projeto de telemetria e telemática, e protocolos de tratamento confirmando a validade dos mesmos através da implementação e uso de algoritmos de rastreio, detecção, diagnóstico e edição de dados suspeitos de apresentarem anomalias. Os procedimentos de tratamento de dados auxiliam na detecção de falhas dos equipamentos instalados nas torres otimizando os procedimentos de manutenção de sensores, equipamentos registradores de dados e sistema elétrico. Tais falhas nos equipamentos podem gerar valores inválidos e lacunas de tempo sem registro de dados. Os algoritmos descrevem os procedimentos pelos quais os dados podem passar permitindo a avaliação dos métodos de tratamento de dados estudados. Como exemplo dos algoritmos de tratamento podemos citar a filtragem de marcadores de erro (9999, -
9.999, -6999) substituindo-os por NaN (Not a Number) corrigindo também as falhas de continuidade com o preenchimento da lacuna do tempo e adicionado NaN as colunas sem valores. Esta operação encontra-se descrita no algoritmo da Figura 5. /* filtrar marcadores de erros */ recebe metadado recebe arquivo ler arquivo para posição posição+1 até fimarquivo vetor[i] posição se dadostabela == marcadorerro investigar causa de erro efetuar limpeza fim-se gerar novabase fim-para /* investigar dados vazios */ ler DadosBrutos para posição posição+1 até fimtabela vetor[i] posição se DadosBrutos == vazio imprima O valor posição está vazio. insira marcadorausencia fim-se gerar novabase fim-para Figura 5: Algoritmo de Filtragem de Erros Parte dos resultados da utilização dos protocolos de tratamento pode ser visualizada nas Figura 6 e Figura 7 onde a primeira mostra os dados como foram coletados e a segunda apresenta a mesma seqüência de dados após ter passado pelo filtro de correção. Figura 6: Dados com presença de marcadores de erros
Figura 7: Dados corrigidos com o filtro de marcadores de erros e vazio Outro procedimento de tratamento de dados é a eliminação de duplicidades. Esta é uma parte do tratamento que requer um algoritmo, Figura 8, para determinar se duas ou mais seqüências de valores são representações duplicadas da mesma entidade. /* verificar repetições */ recebe arquivo ler dadosbrutos para posição posição+1 até fimtabela vetor[i] posição dadoscomparação[j] dado ler dadoscomparação[j] para posição posição+1 até fimdadoscomparação se dado == dadoscomparação [j] imprima o valor posição já se encontra neste arquivo eliminar repetição fim-se fim-para fim-para Figura 8: Algoritmo de Verificação e Eliminação de Duplicidades O sistema confirma que os métodos utilizados são confiáveis demonstrando a viabilidade de se chegar ao sistema ideal onde o próximo objetivo será desenvolver mais funcionalidades para sistema aumentando a abrangência deste aos tipos de anomalias encontradas nos dados. Estas funcionalidades serão alcançadas através da implementação dos diversos métodos de tratamento estudados e desenvolvimento de novas rotinas que possam eliminar erros que ainda não possuem protocolos de tratamento definidos. O trabalho concentrou-se no tratamento de dados micrometeorológicos, que está inserido em um projeto de telemetria de dados e integração dos ambientes das torres nos sítios de pesquisas do LBA. Referências Bibliográficas Alencar, A. L. de; Campos dos Santos, J. L.; Maia, J. M. F. (2007). Aplicação de métodos para validação de correção em bancos de dados complexos. 59º Reunião anual da SBPC. Alencar, A. L. de. Estudo e Implementação de Protocolos de Controle da Qualidade de Dados Micrometeorológicos.UFPA. Santarém 2008.
Alencar, A. L. de; Campos dos Santos, J. L.; Maia, J. M. F. (2008). Uma Prototipação de Sistema para Data Cleaning Automático de Dados Micrometeorológicos do LBA. V Semana de informática, III Semana de Geotecnologias e II Encontro de Software Livre (SIGES). Alves Jr, G.WEB 2.0: a nova internet é uma plataforma (2005). Disponível em: < http://webinsider.uol.com.br/index.php/2005/12/07/web-20-a-nova-internet-e-umaplataforma>. Acesso em: <13 de outubro de 2008>. Chapman, Stephen J. (2003). Programação em Matlab para Engenheiros. Cengage Learning. Foken T, Göckede M, Mauder M, Mahrt L, Amiro BD, Munger JW (2004) Post-field data quality control. In: Lee X, Massman WJ, Law BE (eds) Handbook of micrometeorology. A guide for surface flux measurements. Kluwer, Dordrecht, pp 181 208 Maia, J. M.F.; Sá, M. de O.; Silva, P. R. T. da; Pereira, Q. C. C.; Aguiar, M. J. F. R.; Randow, C. V.; Santos, J. L. C. dos; Silva, J. T. da; Manzi, A. O.; Araújo, A. C. de; Alencar, A. L. de, (2007). Implementação de protocolos de controle da qualidade de dados micrometeorológicos. VI Semana de informática, II Semana de Geotecnologias e I Escola de Software Livre (SIGE). Marcolino, C. da S. (2004) LabSis : um ambiente para desenvovimento de aplicações sismicas Matlab. Disponível em < http://libdigi.unicamp.br/document/?code= vtls000349630>. Acesso em : < 27 de novembro de 2008>. Muller; H., Freytag; J. C. (2003). Problems, Methods, and Challengs in Comprehensive Data Cleansing. Humbold Universitat zu Berlin, Germany. Primo, Alex. O aspecto relacional das interações na Web 2.0. E- Compós (Brasília), v. 9, p. 1-21, 2007. The Mathworks. MATLAB - The Language of Technical Computing. Disponível em : < http://www.mathworks.com/products/matlab/>. Acesso em: <29 de janeiro de 2009>