Compilando WRF serial no Debian Squeeze

Todos os programas/dependencias usando neste tutorial podem ser encontrado facilmente usando o Google, porem você pode fazer download deles aqui: http://tadeucruz.com/WRF/src . Estou colocando todos os programas neste diretório para facilitar e garantir a compilação do WRF. Faça o download de todos os arquivos que se encontra no link acima e salve em uma única pasta.

Importante, todos os programas compilados vão ser estar na pasta /home/tadeucruz/wrf/stuff/, então se deseja mudar o local de instalação modifique substitui todos os /home/tadeucruz/wrf/stuff/ pela a pasta desejada.

1 – Instalação das dependências do Debian.

apt-get install gfortran gfortran-4.4-multilib csh build-essential libcloog-ppl0

2 – Instalação do HDF5 e suas dependências:

tar xvfz szip-2.1.tar.gz
cd szip-2.1
./configure --prefix=/home/tadeucruz/wrf/stuff/
make
make check
make install
cd ..
tar xvfz zlib-1.2.6.tar.gz
cd zlib-1.2.6
./configure --prefix=/home/tadeucruz/wrf/stuff
make
make check
make install
cd ..
tar xvfj hdf5-1.8.8.tar.bz2
cd hdf5-1.8.8
./configure --prefix=/home/tadeucruz/wrf/stuff/ --with-zlib=/home/tadeucruz/wrf/stuff --with-szip=/home/tadeucruz/wrf/stuff --enable-fortran --enable-cxx
make
make check
make install

3 – Instalação do NETCDF:

tar xvfz netcdf-4.1.3.tar.gz
cd netcdf-4.1.3
LD_LIBRARY_PATH=/home/tadeucruz/wrf/stuff/lib/:$LD_LIBRARY_PATH CPPFLAGS=-I/home/tadeucruz/wrf/stuff/include LDFLAGS=-L/home/tadeucruz/wrf/stuff/lib ./configure --prefix=/home/tadeucruz/wrf/stuff
make
make check
make install
cd ..

4 – Instalação do WRFV3.

tar xvfz WRFV3.3.1.TAR.gz
cd WRFV3
export NETCDF=/home/tadeucruz/wrf/stuff/
export WRF_EM_CORE=1
export WRF_NMM_CORE=0
./configure
#Resposta serial usando o gfortran e logo depois escolha a opção 1
./compile em_real
cd ..

5 – Instalação do WPS e suas dependências:

tar xvfz libpng-1.5.8.tar.gz
cd libpng-1.5.8
CPPFLAGS=-I/home/tadeucruz/wrf/stuff/include LDFLAGS=-L/home/tadeucruz/wrf/stuff/lib ./configure --prefix=/home/tadeucruz/wrf/stuff/
make
make check
make install
cd ..

unzip jasper-1.900.1.zip
cd jasper-1.900.1/
./configure --prefix=/home/tadeucruz/wrf/stuff/
make
make check
make install
cd ..
tar xvfz ncl_ncarg-6.0.0.tar.gz
cd ncl_ncarg-6.0.0/
cp config/LINUX.64.GNU config/LINUX
./Configure -v
#http://tadeucruz.com/WRF/Compilando-NCL.mp4
make Everything
make install

cd ..
export NCARG_ROOT=/home/tadeucruz/wrf/stuff/
export PATH=$NCARG_ROOT/bin:$PATH
export NETCDF=/home/tadeucruz/wrf/stuff/
tar xvfz WPSV3.3.1.TAR.gz
cd WPS
./configure
#Escolher Serial no GRIB2 usando gfortran.
./compile
cd ..

6 – Pronto você já tem o WRF pronto para ser executado, porem antes de poder fazer isso você tem que exportar algumas variáveis de ambientes.

LD_LIBRARY_PATH_WRF=/home/tadeucruz/wrf/stuff/lib/
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH_WRF:$LD_LIBRARY_PATH
export NCARG_ROOT=/home/tadeucruz/wrf/stuff/
export PATH=$NCARG_ROOT/bin:$PATH
ulimit -s unlimited

16 ideias sobre “Compilando WRF serial no Debian Squeeze

  1. julius

    Prezado,

    primeiramente, quero parabenizar pelo tutorial.

    Não consigo compilar o WPS, não gera os .exe

    Creio que o problema está com a instalação do ncl_ncarg, vc poderia ser mais detalhado nessa parte, se possível?

    outra coisa:

    export NCARG_ROOT=/home/wrf/wrf/stuff/
    export PATH=$NCARG_ROOT/bin:$PATH
    export NETCDF=/home/wrf/wrf/stuff/

    não seria /home/tadeucruz/wrf/stuff/ ?

    juliusczm@gmail.com

    por favor, preciso de sua ajuda.

    Responder
    1. tadeucruz Autor do post

      Olá julius, qual erro está aparecendo?
      Vou instalar o ncl_ncarg novamente e colocar a ordem das minhas respostas.
      Sim seria isso mesmo, vou corrigir. Obrigado.

      Responder
  2. Pedro

    Olá,

    Seu blog é bastante esclarecedor, mas encontrei diversas dificuldades para rodar o WRF no Ubuntu 12.04LTS. Na hora de instalar o HDF5 e relacionando o “./configure” com “–with-szip” o Linux não reconhece esse comando, mas se alterarmos o szip para “szlib” a instalação dá certo aparentemente.

    Quando chega a hora de fazer o NETCDF também temos outro problema, pois o mesmo não reconhece a instalação do “szip” e dá erro na checagem dos arquivos do HDF5. Desta maneira, o tutorial não funcionou para mim, talvez haja pequenos detalhes que não foram esclarecidos no seu passo a passo.

    Responder
    1. tadeucruz Autor do post

      Olá, Pedro.

      Tente este comando

      ./configure --with-szip

      Sem querer desanimar você, eu tive problemas em instalar o WRF no Ubuntu 11.10. O WRF compilou e funcionou somente no Debian e CentOS.

      Responder
  3. Pedro

    Agradeço a sua ajuda de qualquer forma, visto que é muito difícil encontrar tutoriais na internet sobre o WRF.

    obrigado

    Responder
  4. Pingback: Compilando WRF serial no Ubuntu 12.04 Precise Pangolin LTS - Blog do TadeuCruzBlog do TadeuCruz

    1. tadeucruz Autor do post

      Olá Weshley,
      Final de faculdade e esta uma correria, por isso a demora em responde. Como falei em outro post tenta executar ./compile plotfmt.exe e olha o erro que aparece.
      O WPS é um lixo mesmo para procurar erros durante a compilação.

      Responder
      1. Weshley

        Tadeu, obg por responder.

        quando fiz ./compile plotfmt.exe apareceu o seguinte:

        *****

        Unrecognized compile target plotfmt.exe.

        Usage: compile [target]
        where target is one of
        wps
        util
        geogrid
        ungrib
        metgrid
        g1print
        g2print
        plotfmt
        rd_intermediate
        plotgrids
        mod_levs
        avg_tsfc
        calc_ecmwf_p
        height_ukmo

        or just run compile with no target to build everything.

        *****

        Responder
        1. Weshley

          lha, mandei compilar o WPS novamente e vi esse trecho:

          plotgrids.o -L/home/tadeucruz/wrf/stuff/lib -lncarg -lncarg_gks -lncarg_c -L/usr/X11R6/lib -lX11
          /usr/bin/ld: cannot find -lncarg
          collect2: ld returned 1 exit status
          make[1]: [plotgrids.exe] Erro 1 (ignorado)

          não encontrou o “lncarg”

          Responder
          1. tadeucruz Autor do post

            Olá Weshley,

            Isso é problema com o LD_LIBRARY_PATH, execute o comando abaixo:
            LD_LIBRARY_PATH_WRF=/home/tadeucruz/wrf/stuff/lib/
            export LD_LIBRARY_PATH=$LD_LIBRARY_PATH_WRF:$LD_LIBRARY_PATH

            e logo depois:
            ./compile plotfmt

            Se der errado você deve ter compilado o NCARG com alguma opção errada, olha se existe esses arquivos:
            /home/tadeucruz/wrf/stuff/lib/libncarg.a
            /home/tadeucruz/wrf/stuff/lib/libncarg_c.a
            /home/tadeucruz/wrf/stuff/lib/libncarg_gks.a
            /home/tadeucruz/wrf/stuff/lib/ncarg
            /home/tadeucruz/wrf/stuff/lib/ncarg/examples/ncargworld.f

            Onde eu instalei o WRF e WPS não tem plotfmt.exe pois a maquina que foi instalada não tem inteface grafica.
            Boa sorte.

  5. Weshley

    Tadeu, apareceu o seguinte erro:

    weshley@weshley:~/wrf/stuff/WPS$ ./compile plotfmt

    **** Compiling plotfmt ****

    ( cd src ; \
    if [ "" = yes ] ; then \
    WRF_DIR2=../WRFV3 ; \
    else \
    WRF_DIR2=/home/weshley/wrf/stuff/WPS/../WRFV3 ; \
    fi ; \
    make -i -r plotfmt.exe \
    WRF_DIR=”$WRF_DIR2″ \
    FC=”gfortran” \
    CC=”gcc” \
    CPP=”/usr/bin/cpp -C -P -traditional” \
    FFLAGS=”-ffree-form -O -fconvert=big-endian -frecord-marker=4″ \
    CFLAGS=”" \
    LDFLAGS=”" \
    CPPFLAGS=”-D_UNDERSCORE -DBYTESWAP -DLINUX -DIO_NETCDF -DBIT32 -DNO_SIGNAL -D_UTIL” )
    make[1]: Entrando no diretório `/home/weshley/wrf/stuff/WPS/util/src’
    gfortran -o plotfmt.exe plotfmt.o read_met_module.o module_debug.o \
    misc_definitions_module.o cio.o met_data_module.o \
    -L/home/weshley/wrf/stuff//lib -lncarg -lncarg_gks -lncarg_c -L/usr/X11R6/lib -lX11
    /usr/bin/ld: cannot find -lX11
    collect2: ld returned 1 exit status
    make[1]: [plotfmt.exe] Erro 1 (ignorado)
    make[1]: Saindo do diretório `/home/weshley/wrf/stuff/WPS/util/src’
    if [ -h plotfmt.exe ] ; then \
    /bin/rm -f plotfmt.exe ; \
    fi ; \
    if [ -h ../plotfmt.exe ] ; then \
    /bin/rm -f ../plotfmt.exe ; \
    fi ; \
    if [ -e src/plotfmt.exe ] ; then \
    ln -sf src/plotfmt.exe . ; \
    fi

    arquivos:
    weshley@weshley:~/wrf/stuff$ ls lib/libncarg
    libncarg.a libncarg_c.a libncarg_gks.a

    “/wrf/stuff/lib/ncarg” existe
    e
    “/lib/ncarg/examples/ncargworld.f” existe

    ———————————————————————–

    percebi o seguinte trecho: “/usr/bin/ld: cannot find -lX11″
    eu tenho essa biblioteca aqui no debian, porém ela não se encontra nesse local.

    te+

    Responder
    1. tadeucruz Autor do post

      É Weshley, esse vou ficar devendo. Mas tenho certeza que falta uma biblioteca para ser instalada, e se já estiver instalada falta apontar ela corretamente para o LD_LIBRARY_PATH.

      Responder

Deixe uma resposta

O seu endereço de email não será publicado Campos obrigatórios são marcados *

Você pode usar estas tags e atributos de HTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>