Olá a Todos,
Recentemente estive tentando usar o comando merge do cdo para criar um arquivo com vários níveis. O problema era o seguinte:
Eu possuo 10 arquivos de vento em formato binário sendo cada arquivo contendo 100 tempos e um nível.
A primeira coisa que eu fiz foi criar arquivos netcdf a partir dos arquivos descritores .ctl através do comando cdo import_binary -f nc *.ctl. No entanto desta forma o cdo não definia o nível referente ao arquivo e sempre atribuía nível 0 (zero). Com os arquivos criados com a descrição de nível 0 (zero) ao juntar (merge) os 10 arquivos o resultado era sempre um arquivo com somente um nível.
Eu não consegui resolver este problema de maneira mais simples o que fiz foi o seguinte:
Utilizei o comando sdfwrite do GrADS para gerar os arquivos netcdf que precisava.
Ex:
set x 1 144
set y 1 73
set t 1 100
set z 1
define uwnd = uwnd
set sdfwrite -4d arquivo1.nc
sdfwrite uwnd
quit
OBS1: É necessário inserir a função -4d do comando sdfwrite, desta forma você força que o arquivo de saída tenha 4 dimensões (lat, lon, tempo, nível)
OBS2: O nível no arquivo ctl precisa ser definido de maneira correta, por exemplo:
zdef 1 linear 200 1
Qualquer definição diferente disso deu errado.
Agora que possuía os 10 arquivos .nc utilizei o merge para gerar meu arquivo com os 10 níveis e 100 tempos:
cdo merge arquivo1.nc arquivo2.nc ... arquivo10.nc saida.nc
Boa Sorte e Bom Trabalho a Todos!!
Assinar:
Postar comentários
(
Atom
)
Nenhum comentário :
Postar um comentário