Converta arquivos em NetCDF para GRIB com o CDO

O CDO (Climate Data Operators) é um conjunto de rotinas para manipulação de dados meteorológicos bastante poderoso. Entre suas rotinas, há uma bastante interessante que permite a conversão de um arquivo NetCDF para GRIB (se você quer saber como fazer o contrário, ou seja, converter de GRIB para NetCDF, clique aqui). Ele funciona em linha de comando e poder ser utilizado em scripts, sendo bastante prático por isso. Vejamos:

1) Instalação:

Para instalar no Ubuntu, digite no terminal:

$ sudo apt-get install cdo

Se você estiver no Mac OS X, instale o cdo pelo port:

$ sudo port install cdo

2) Utilização:

Com o cdo instalado, basta executar o comando abaixo para converter um arquivo NetCDF para GRIB:

$ cdo -f grb copy arquivo.nc arquivo.grib

Com isso, será criado o arquivo arquivo.grib, mas apenas ele. Ainda nos falta o arquivo descritor (ctl) e o respectivo arquivo de índice (idx). Para gerá-los numa tacada só, utilize o comando abaixo:

$ cdo gradsdes arquivo.grib

Feito isto, você poderá abrir o arquivo.grib no GrADS utilizando o ctl criado com o comando anterior! O único inconveniente nesse processo, é que o ctl criado não herda as informações como o nome das variáveis do arquivos grib – elas são renomeadas para var1, var1 etc.

Referência:

http://www.mpimet.mpg.de/fileadmin/software/cdo/cdo.pdf

Anúncios

Autor: cfbastarz

craftmind.wordpress.com

3 comentários em “Converta arquivos em NetCDF para GRIB com o CDO”

  1. Muito bom o tutorial, obrigado pela ajuda.
    Só que eu até consigo criar o arquivo .grib
    mas quando dou o comando para criar os outros, como o ctl ele mostra a seguinte mensagem:

    cdo gradsdes2: Open failed on >air.2007.grb<
    Unsupported file type

    Eu preciso estar com algum pacote especifico instalado no linux ?
    vc saberia me dizer o que posso fazer para solucionar este problema ?

    Desde já agradeço a atenção.

    Alexandre

    1. Alexandre,

      a princípio não é necessário que outro pacote seja instalado, uma vez que o apt resolve as dependências sozinho. Eu apostaria em um problema de versão (pode ser que a versão que esteja disponível no seu Linux – e isso depende de qual distribuição você está usando, contenha algum bug). Entretanto, há um alternativa, você pode tentar utilizar o script “grib2ctl” (download aqui). É bastante simples de utilizar e provavelmente vai resolver o seu problema. Caso não funcione, pode ser que o arquivo grib gerado esteja corrompido ou mesmo que o arquivo netcdf esteja com problema (… ou necessite de outros parâmetros para converter para grib).

      Para usar o script grib2ctl, basta baixá-lo em um pasta (de preferência na mesma pasta em que estão os seus dados) e executar:

      Para análises:
      $ grib2ctl.pl grib_file >grib_file.ctl
      $ gribmap -i grib_file.ctl -0 open grib_file.ctl

      Para previsões:
      $ grib2ctl.pl -verf grib_file >grib_file.ctl
      $ gribmap -i grib_file.ctl

      Caso prefira, ainda pode colocar o script na pasta /usr/local/bin (libera permisão de execução com um sudo chmod +x /usr/local/bin/grib2ctl.pl), assim você poderá usar o script em qualquer pasta.

      Observe que neste caso (script grib2ctl), é necessário que o grads esteja instalado ou que pelo menos o programa gribmap (que é parte integrante do grads) esteja instalado.

      Abraço e obrigado pelo comentário!

Deixe um comentário

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s