CAPITULO 3- Acoplamento do modelo SFIRE ao BRAMS e sua validação
3.6 Desacoplamento do módulo SFIRE do modelo WRF e acoplamento ao
O modelo atmosférico de mesoescala Weather Research and Forescasting (WRF) com o módulo Spread Fire (SFIRE) distribuído como parte do modelo atmosférico WRF desenvolvido pelo Center for Computational Mathematics da University do Colorado em Denver e usado na infra-estrutura paralela do WRF para computação paralela (Mandel et al (2011)) foi instalado para caso real no supercomputador Tupã do Centro de Previsão de Tempo e Estudos Climáticos do Instituto Nacional de Pesquisas Espaciais (CPTEC/INPE). Neste processo as bibliotecas e flags dos compiladores foram configuradas e os sistemas e softwares necessários para o processo make da compilação foram instalados.
93
O código do modelo atmosférico WRF foi estudado até à chamada do módulo SFIRE, e o código do módulo SFIRE foi profundamente estudado bem como o caminho percorrido pelas suas variáveis de fluxos de calor sensível e calor latente, para as rotinas que representam os fenómenos da camada limite atmosférica. Esta análise foi complementada fazendo uso dos softwares, KProf e Doxygen, que analisam a árvore
de processos numa simulação. Estes dois softwares foram instalados e usados segundo o descrito no Anexo B.
Os módulos do modelo de propagação de fogo SFIRE foram seleccionados e separados do modelo atmosférico WRF, sendo estes compostos pelo seguinte conjunto:
1) module_fr_sfire_driver_wrf.f90 - este módulo é chamado directamente pelo modelo atmosférico WRF e chama os módulos seguintes:
2) module_fr_sfire_driver.f90 - é um módulo que contem toda a estrutura de chamada das rotinas que guiam os processos de propagação da frente de fogo e libertação de fluxos de calor para a atmosfera e que contem o paralelismos das variáveis.
3) module_fr_sfire_atm.f90 - é um módulo que representa a interface de interacção entre a camada atmosférica e o fogo e de interpolação entre ambas as grades.
4) module_fr_sfire_model.f90 - é um módulo que guia o avanço da frente de fogo e a sua interacção com o combustível. É um módulo formulado para simular sobre a sub-grade do fogo.
5) module_fr_sfire_core.f90 - é um módulo que contem os algoritmos numéricos para o avanço da frente de fogo, calcula o consumo de combustível e gera a ignição do fogo e contem a chamada para o módulo que calcula a velocidade de propagação do fogo.
6) module_fr_sfire_phys.f90 - é um módulo que contem os algoritmos de inicialização, cálculo da velocidade de propagação da frente de fogo, cálculo do fluxo de calor, cálculo da humidade do combustível e intensidade do fogo. 7) module_fr_sfire_util.f90 - é um modulo utilitário que contem os algoritmos de
interpolação e outras utilidades.
8) fr_sfire_params_args.h - é uma sub-rotina com a lista de argumentos necessários para os algoritmos de velocidade de propagação do fogo e fluxos de calor, humidade dos combustíveis e intensidade do fogo.
94
10)module_domain_type.f90 – é um módulo que contem declarações dos ponteiros. 11)module_driver_constants.f90 – é um módulo que contem declarações das
constantes dos domínios.
12)module_machine.f90 – é um módulo de distribuição das partes da grade que participam da simulação da propagação do fogo.
13)module_model_constants.f90 - é um módulo que contem declarações dos escalares.
14)module_state_description.f90 – é um módulo que contem as declarações dos parâmetros que ligam as parametrizações, durante a compilação, dependendo da escolha do modo de simulação.
15)module_tiles.f90 – é um módulo de partição de grades de aninhamento. 16)namelist.input – é uma lista de escolhas dos tipos de simulação.
17)namelist.fire – é uma lista de parâmetros das propriedades dos combustíveis. 18)namelist.defines.inc – é uma lista que contem as definições das dimensões das
variáveis da namelist.input.
Procedeu-se a simulações de diagnóstico com o modelo SFIRE, independente do modelo WRF, alimentado por dados de uma simulação do modelo WRF-SFIRE extraídos nos passos de tempo, para determinar o nível do acoplamento ao modelo Brazilian developments on the Regional Atmospheric Modelling System (BRAMS 5.0) e fazer a correspondência correcta das variáveis de conexão, verificar erros do processo de limpeza do paralelismo, gerados no desacoplamento ao modelo WRF.
O modelo SFIRE foi acoplado ao modelo BRAMS em execução serial, usando um estrangulamento das variáveis de alimentação atmosféricas (pressão à superfície, humidade do ar aos 2 metros, temperatura do ar aos 2 metros, vento zonal e meridional, altura do geopotencial, precipitação, altura de rugosidade, classes de vegetação, densidade do ar e topografia) paralelizadas para execução serial na chamada do modelo SFIRE, ou seja, o conjunto de pontos dos subdomínios é enviado a um domínio mestre e, com dispersão das variáveis de saída em execução serial para a execução paralela, ou seja, o conjunto de pontos do domínio é transformado em subconjuntos rectangulares (subdomínios) sendo enviado um subdomínio para cada processador.
A estrutura do acoplamento do módulo SFIRE ao modelo BRAMS 5.0, foi construída com uma plataforma de interacção entre os dois modelos, o módulo principal
95
sfclyr_sfire.f90, o módulo module_fr_sfire_driver_wrf.f90 foi substituído por module_fr_sfire_driver_brams.f90, a namelist.input adaptada para o novo acoplamento, tornou-se sfire.in e foram criados novos programas de configuração, memória e leitura das listas. A namelist.fire foi parametrizada para as propriedades dos combustíveis do Montado conforme se explicou no capítulo 2.
Fig 3.6.1. Estrutura do modelo BRAMS-SFIRE.
Na pasta Build da estrutura do modelo BRAMS foram criadas as definições das regras de compilação para este projecto de software. Estas regras foram definidas num arquivo digital chamado Makefile usado para a compilação, ligação (linking), montagem de arquivos com a opção de inclusão dos módulos de fogo (SFIRE) quando estes forem necessários para simulações com o modelo BRAMS.