apostila mm5

17
Sumario Instalação: Código IFORT Intel...................................................... ...............................2 Instalação: Modelo MM5........................................................ ..........................................3 Tutorial de iniciação ao MM5........................................................ ...................................7 Pré- processamento.............................................. ...................................................8 Processamento.............................................. .......................................................12 Pós- processamento.............................................. .................................................13

Upload: ricardo-mollmann

Post on 26-Jul-2015

53 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: apostila MM5

Sumario

Instalação: Código IFORT – Intel.....................................................................................2Instalação: Modelo MM5..................................................................................................3Tutorial de iniciação ao MM5...........................................................................................7

Pré-processamento.................................................................................................8Processamento.....................................................................................................12Pós-processamento...............................................................................................13

Page 2: apostila MM5

Instalação: Código IFORT - Intel

A instalação deste compilador é feita para sua última versão. Ressalta-se ainda que, a instalação é feita no diretório padrão (/opt). Logo, os procedimentos de instalação são:

- Entrar no site http://www.intel.com/cd/software/products/asmo-na/eng/340679.htm

- Em Compilers, clicar na opção: Intel® Fortran Compiler Professional Edition for Linux

- Entre com um email válido, ecolha a região (Brasil) e clicar em submit

- Escolher a arquitetura apropriada:

o máquinas 32 bits: l_fc_p_10.1.022.tar.gz o máquinas 64 bits: l_fc_p_10.1.022_intel64.tar.gz o outras arquiteturas escolher de forma apropriada

- Salvar o arquivo no diretório /opt e descompactá-lo - Forma de compilação:

./install digitar 1 e apertar enter digitar 1 e apertar enter insira o serial (XXXX-XXXXXXXX), que você receberá por email, e aperte enter digite yes e aperte enter digitar 1 e apertar enter aperte enter aperte enter ou barra de espaço até aparecer accept ou reject digitar accept e apertar enter aperte enter aperte enter aperte enter aperte enter

- Exportar as variáveis de ambientes e salvá-las dentro do arquivo .bashrc (no final), que encontra-se dentro do diretório /home/usuário.

o export LD_LIBRARY_PATH="/opt/intel/fc/10.1.022/lib" o export DYLD_LIBRARY_PATH="/opt/intel/fc/10.1.022/lib" o export MANPATH="/opt/intel/man" o export PATH=/opt/intel/fc/10.1.022/bin:$PATH

- digitar no terminal: source .bashrc, para atualizar seu bash - Verificar se está funcionando: digitar ifort no terminal e apertar enter, que deve responder ifort: command line error: no files specified.

Page 3: apostila MM5

Obs: Problema pode ocorrer na instalação do ifort por causa das bibliotecas em computadores de 32bits. Siga os comandos a baixo:

IFORT 32bitsLibstdc++.so.6Digite o comando a baixo para solucionar o problema.ln -s /usr/lib32/libstdc++.so.6 /usr/lib32/libstdc++.so.5ln -s/usr/lib64/libstdc++.so.6 /usr/lib64/libstdc++.so.5

Instalação: Modelo MM5

Instalação do modelo MM5 pgf90 e ifort

- Baixar os códigos fonte no site ftp://ftp.ucar.edu/mesouser/MM5V3/

o TERRAIN.TAR.gz o REGRID.TAR.gz o INTERPF.TAR.gz o MPP.TAR.gz o MM5toGrADS.TAR.gz

- Criar o diretório MM5V3 dentro do diretório desejado, salvar os arquivos baixados e descompactá-los

o Será utilizado o diretório /dados/src para exemplificar

- Compilação dos módulos do modelo:

o TERRAIN

   1 - Editar TERRAIN/Makefile para refletir mudanças do PGF90 para o IFC

   Obs: Como não utilizo o Ncar Graphics, a variável NCARGRAPHICS foi usada com NONCARG

IFC:

#NCARGRAPHICS = NCARGNCARGRAPHICS = NONCARGINTEL_LIB = /opt/intel/compiler70/ia32/lib"CPPFLAGS = -I. -P -C -traditional -D$(NCARGRAPHICS) -DRECLENBYTE""FC = ifc" "FCFLAGS = -I. "\"LOCAL_LIBRARIES = -L$(INTEL_LIB) -lPEPCF90" ) ; \

PGF:

NCARGRAPHICS = NCARG#NCARGRAPHICS = NONCARG

Page 4: apostila MM5

"CPPFLAGS = -I. -C -traditional -D$(NCARGRAPHICS) -DRECLENBYTE""FC = pgf90" "FCFLAGS = -I. -byteswapio"\"LOCAL_LIBRARIES = -L$(NCARG_ROOT)/lib -L/usr/X11R6/lib -lncarg -lncarg_gks -lncarg_c -lX11 -L$(PGI)/linux86/lib -L/usr/lib -lf2c" ) ; \

2 - executar o comando "make terrain.deck" que criará o namelist

3 - Se foi compilado de forma correta irá aparecer os arquivos terrain.deck, além de um executável (terrain)

4 - editar o terrain.deck criado para o domínio a ser simulado

5 - (opcional) alguns arquivos usados pelo TERRAIN podem estar no formato binário e codificado em big_endian, se estiver usando uma maquina little_endian (x86 ou DEC/Alpha, daer...) deve ser acionada a chave de compilação para a conversão automática dos arquivos no caso do Intel Fortran Compiler (IFC) essa se dá através de uma variável de ambiente F_UFMTENDIAN=big:10,20 (neste exemplo os units 20 e 30 serão tratados como big_endian e os demais como little. Para o TERRAIN recomendo usar F_UFMTENDIAN=little:70 que segundo o manual, os arquivos TERRAIN_DOMAINx recebem as units 70+(x-1), então tudo vai ser tratado como big, exceto o arquivo de saída TERRAIN_DOMAIN1.

6 - executar o terrain.deck (./terrain.deck)

7 - (opcional/recomendado) checar o arquivo gerado, TERRAIN_DOMAINx, com o utilitário readv3

  

o REGRID

1. Editar Makefile para refletir mudanças do PGF90 para o IFC

IFC:

Seção pregrid

INTEL_LIB = /opt/intel/compiler70/ia32/lib "FC = ifc" >> macros_pregrid ; \"FCFLAGS = -FR -I../util" >> macros_pregrid ; \"LOCAL_LIBRARIES = ../util/libpgu.a -L$(INTEL_LIB) -lPEPCF90" >> macros_pregrid ; \

seção regridder

"FC = ifc" >> macros_regridder ; \"FCFLAGS = -FR -pc32" >> macros_regridder ; \"LOCAL_LIBRARIES = -L$(INTEL_LIB) -lPEPCF90" >> macros_regridder ; \

Page 5: apostila MM5

   2 - Executar o comando make

 3 - Se a compilação deu certo irão aparecer dois executáveis, no diretório pregrid (pregrid) e regridder (regridder)

PGF: seção pregrid

"FC = pgf90" >> macros_pregrid ; \"FCFLAGS = -Mfreeform -byteswapio -I../util" >> macros_pregrid ; \"LOCAL_LIBRARIES = ../util/libpgu.a" >> macros_pregrid ; \

seção regridder

"FC = pgf90" >> macros_regridder ; \"FCFLAGS = -Mfreeform -pc 32 -byteswapio" >> macros_regridder ; \"LOCAL_LIBRARIES = " >> macros_regridder ; \

o INTERPF

- Editar Makefile para refletir mudancas do PGF90 para o IFC

IFC:

"FC = ifc" >> macros_interpf ; \"FCFLAGS = -FR -pc32 " >> macros_interpf ; \

PGF:

"FC = pgf90" >> macros_interpf ; \"FCFLAGS = -Mfreeform -pc 32 -byteswapio" >> macros_interpf ; \

   -Executar o comando make

- Se a compilação deu certo irá aparecer um executável (interpf)

MM5

1 - Editar configure.user.linux (e renomear para configure.user);Serial:

IFC

FC = ifcFCFLAGS = -I$(LIBINCLUDE) -O2 -tpp6LDOPTIONS = -O2 -tpp6 -pc32LOCAL_LIBRARIES = -L/opt/intel/compiler70/ia32/lib -lPEPCF90

PGF

Page 6: apostila MM5

FC = pgf90FCFLAGS = -I$(LIBINCLUDE) -O2 -Mcray=pointer -tp p6 -pc 32 -Mnoframe -byteswapioLDOPTIONS = -O2 -Mcray=pointer -tp p6 -pc 32 -Mnoframe -byteswapioLOCAL_LIBRARIES =

2 - Executar: make3 - Executar: make mm5.deck4 - Editar o mm5.deck 5 - Executar o mm5.deck6 - Se a compilação deu certo irá aparecer um executável (mm5) dentro do diretório Run

o Paralelo

1 - Editar configure.user

IFC

LINUX_MPIHOME = /local/mpich-1.2.5-f90/

MFC = $(LINUX_MPIHOME)/bin/mpif77 MCC = $(LINUX_MPIHOME)/bin/mpicc MLD = $(LINUX_MPIHOME)/bin/mpif77 FCFLAGS = -O3 LDOPTIONS = -O3 LOCAL_LIBRARIES = -L$(LINUX_MPIHOME)/lib -lfmpich -lmpich -L/opt/intel/compiler70/ia32/lib -lPEPCF90CPP = /lib/cpp -C -P -traditionalCPPFLAGS = -DMPI -Dlinux -DSYSTEM_CALL_OKCFLAGS = -DMPI -I$(LINUX_MPIHOME)/includeARCH_OBJS = milliclock.o

PGF

LINUX_MPIHOME = /usr/local/mpichMFC = $(LINUX_MPIHOME)/bin/mpif77MCC = $(LINUX_MPIHOME)/bin/mpiccMLD = $(LINUX_MPIHOME)/bin/mpif77FCFLAGS = -O2 -Mcray=pointer -tp p6 -pc 32 -Mnoframe -byteswapioLDOPTIONS = -O2 -Mcray=pointer -tp p6 -pc 32 -Mnoframe -byteswapioLOCAL_LIBRARIES = -L$(LINUX_MPIHOME)/build/LINUX/ch_p4/lib -lfmpich -lmpichCPP = /lib/cpp -C -P -traditionalCPPFLAGS = -DMPI -Dlinux -DSYSTEM_CALL_OKCFLAGS = -DMPI -I$(LINUX_MPIHOME)/includeARCH_OBJS = milliclock.o

***** No caso do IFC é necessário editar o arquivo MM5/MPP/RSL/RSL/makefile.linux ******

mudar as linhas:

CFLAGS = -I$(IDIR) -DMPI -DRSL_SYNCIO -Dlinux -DSWAPBYTES -OFFLAGS = -O –byteswapio

Page 7: apostila MM5

para:

CFLAGS = -I$(IDIR) -DMPI -DRSL_SYNCIO -Dlinux -OFFLAGS = -O

2 - Executar: make mpp3 - Executar: make mm5.deck4 - Editar o mm5.deck 5 - Executar o mm5.deck6 - Copiar os arquivos gerados pelo INTERPF: BDYOUT_DOMAIN1, LOWBDY_DOMAIN1 e MMINPUT_DOMAIN1 para o diretório Run

Tutorial de iniciação ao MM5

Novos usuarios:

É recomendado ler atentamente o tutorial antes de tentar executar o MM5. Durante o tutorial nem todos os exemplos vão ser cobertos. Este tutorial foi elaborada para facilitar no primeiro contato com o programa e

facilitar a familiarização com o mesmo. Para maiores informações e diferentes tutoriais acesse

http://www.mmm.ucar.edu/mm5/.

Fluxo do programa:

Page 8: apostila MM5

Este fluxo do programa mostra o desenvolvimento do programa e as etapas que deve-se seguir para a compilação bem sucedida do Modelo MM5.

Antes de configurar o MM5 deve-se primeiro obter o código fonte para o modelo no site http://rda.ucar.edu/cgi-bin/datasets/dataaccess?dsnum=083.2. O código fonte que se usa pra o MM5 é o GRIB1 6 HOURLY FILES BEGIND 1999.07.30 (Grib1), escolha Get Converted e depois só é escolher a data desejada para a simulação.

Para melhor entendimento do modelo foi convencionado 3 etapas: Pré-processamento, processamento e pós-processamento.

Pré-processamento

Nesta primeira etapa se encontra toda a parte de configuração do modelo que é feito antes da parte onde se gera o arquivo da previsão.

As pastas que fazem parte do pré-processamento são:

1. TERRAIN;2. REGRID;3. INTERPF.

1- TERRAIN

Após baixar os arquivos GRIB-NCEP-FNL, entrando no site mencionado acima no Grib1, a primeira pasta a configurar é o TERRAIN. Nesta pasta se configura o local de interesse, as dimensões da grade e outros parâmetros como a física das nuvens e o tipo de região que se quer obter a previsão.

O primeiro passo ao entrar no TERRAIN e configurar as informações mencionadas acima através do terrain.deck.

Ex: gedit terrain.deck

Page 9: apostila MM5

Após terminar de configurar o terrain.deck, deve-se executa-lo para criar os dados terrestre que será utilizado mais a frente pelo MM5.

Ex: ./terrain.deck

2- REGRID

O Regrid é o segundo programa da serie do sistema MM5. Ele cria campos meteorológicos no grid de mesoescala que você desenha no TERRAIN. É também o primeiro lugar onde irá selecionar o período de tempo do caso.

O Regrid possui dois programas sequenciais: pregrid e regridder

Pregrid: pré- processa a grade, a pressão de nível de campos meteorológicos entre outras ( como o arquivo NCAR,NCEP e servidor de FTP) e coloca os dados em formato intermediário.

Ex: cd REGRID/predrid

Page 10: apostila MM5

Nesta pasta se modifica o pregrid.csh, que é onde você ira alterar a data.

Ex: gedit pregrid.csh

Regridder: este programa pega os dados em formato intermediário e o arquivo de saída do terreno e gera um outro tipo de arquivo em 3 dimensões com campo meteorológico de vento, temperatura, umidade relativa e altura geopotencial, e 2 dimensões com campo de nível do mar de pressão e a temperatura da superfície do mar.

Ex: cd ../regridder

Altera o namelist.imput do regridder ajustando a data do evento analisado e a quantidades de domínios desejada. Lembrar que deve-se executar o regridder para cada domínio, gerando o REGRID_DOMAIN para cada um deles.

Page 11: apostila MM5

Ex: gedit namelist.imput

./regridder

3- INTERPF

O INTERPF é o terceiro programa ser configurada. Ele pega os campos de pressão de nível meteorológico produzidos pelo REGRID e interpola dados de nível de pressão a níveis sigma.

Ex: cd ../../INTERPF

Altera o namelist.input, mudando o domínio e a data.

Page 12: apostila MM5

Ex: gedit namelist.input

Processamento

Passamos então para a fase de processamento. Depois de ter preparado com êxito os dados de entrada para o modelo, você estará pronto para executar o modelo MM5. O MM5 precisa dos dados de saída:

INTERPF: 

MMINPUT_DOMAIN1, BDYOUT_DOMAIN1, and LOWBDY_DOMAIN1.

TERRAIN:

TERRAIN_DOMAIN2, If you are running 2 model domains AND want to input high resolution terrain data

for domain 2.

TERRAIN: TERRAIN_DOMAIN2

Ex: cd ../MM5

Modifique o mm5.deck, tomando cuidado para configurar o tempo total do período da

previsão em minutos. Modificando as dimensões da grade, entre outras coisas de acordo com

o que se configurou no pré-processamento.

Page 13: apostila MM5

Ex: gedit mm5.deck

Depois execute o modelo para gerar os dados de saída.

Ex: ./mm5.deck

Pós-processamento

A parte de processamento é onde se pega o dado que o mm5 gera e é transformado em

algum tipo de informação que se pode visualizar. Para exemplificar estamos usando o GrADS.

Ao entrar na pasta MM5tograds configure o mm5_to_grads.csh

Page 14: apostila MM5

Ex: cd ../MM5tograds

Altere o domínio que deseja gerar e escolha um nome para o arquivo.

Ex: gedit mm5_to_grads.csh

Após isso execute (./mm5_to_grads.csh) e ira gerar arquivos com extensão ctl e dat. Para a

utilização do grads será necessário alguns conhecimentos sobre o programa, para gerar as

figuras e gráficos. Para abrir o grades digite o comando grads e depois abra o arquivo

desejado.

Ex: grads

Open 201005.ctl