Gostaria de ajudar?

quinta-feira, 6 de setembro de 2012

Script Shell Dados Bissextos

Me perguntaram hoje:

Tenho um conjunto de dados Netcdf do ERA interim (horário) e cada arquivo corresponde a um ano de dados, ou seja, (1460 tempos anos normais e 1464 para anos bissextos). Preciso de um script Shell/Grads para transformar todos os arquivos Netcdf em binário, levando em consideração a referente quantidade de tempo para o referido ano.

Minha sugestão de solução:

#!/bin/sh

 yy="1989"
 while [ $yy -le "2009" ] ; do

if [ \( $(expr "$yy" % 4) -eq 0 -a $(expr "$yy" % 100) -ne 0 \) -o \( $(expr "$yy" % 400) -eq 0 \) ];then
nd=1464
echo "$yy ano bissexto t_total: $nd"
else
nd=1460
echo "$yy ano normal t_total: $nd"
fi
/usr/local/grads-2.0.1.oga.1/Contents/opengrads -blc "/usr/local/grads-2.0.1.oga.1/Contents/Resources/Scripts/lats4d.gs -i shum."$yy".nc -o shum."$yy" -format stream -mxtimes $nd -time 00Z01JAN"$yy" 18Z31DEC"$yy" -q"

yy=$((yy+1))

done

exit 0

Bom acho que é isso tem 'n' formas de fazer a mesma coisa se alguem tiver uma sugestão é só falar.

Boa Sorte e Bom Trabalho a Todos!

Nenhum comentário :

Postar um comentário