Gostaria de ajudar?

segunda-feira, 11 de novembro de 2013

Script Download Dados ECMWF/ERA-Interin - Parte 2

Agora que já sabemos como instalar a API do ECMWF e já fizemos o teste do download vamos explicar o que cada parâmetro do script (exemplo.py) significa e principalmente se eu precisar baixar um dado onde devo modificar, o que modificar?

No script (exemplo.py) do post anterior:

#!/usr/bin/env python
from ecmwfapi import ECMWFDataServer

server = ECMWFDataServer()

server.retrieve({
    'dataset' : "tigge",
    'step'    : "24/to/120/by/24",
    'number'  : "all",
    'levtype' : "sl",
    'date'    : "20071001/to/20071003",
    'time'    : "00/12",
    'origin'  : "all",
    'type'    : "pf",
    'param'   : "tp",
    'area'    : "70/-130/30/-60",
    'grid'    : "2/2",
    'target'  : "data.grib"
    })

dataset = servidor de dado. O ERA-interim se chama interim (independente se for superfície ou níveis de pressão);
step = time step. Neste exemplo tigge são dados de modelo;
number = número de arquivos;
levtype = nível: sl = surface level e pl = pressure level;
date = intevalo dos dados que você irá baixar;
time = pode ser 00, 06, 12, 18 horas;
origin = este parâmetro se refere ao tigge (qual modelo você irá baixar);
type = dado: an = análise e pf = previsão;
param = variável;
area = para os dados do tigge você pode escolher a área para os dados do ERA-Interim você baixa para o globo todo;
grid = espaçamento de grade;
target = nome do arquivo que será salvo. (Sempre com a extensão .grib o sistema ainda não possibilita baixar em outra extensão, mas esta em fase de construção baixar em Netcdf por exemplo);

Quando eu cheguei neste ponto eu decidi testar este script para baixar os dados de vento zonal para um determinado período e não consegui encontrar o nome exato para o param(variável) foi ai que encontrei esta informação diretamente no site do ECMWF.

Quando você for no site para download do ERA-Interim (aqui) escolha o período, nível (se for o caso), variável e etc exatamente como fazia anteriormente. No entanto, quando você for clicar para fazer o download (Retrieve Grib ou Retrieve Netcdf) você deverá clicar em Views the MARS request e as informações dos seus dados necessárias para você modificar o seu script aparecerão ai é só modificar e sair para o abraço.

Eu fiz um teste para os seguintes dados:

Eu primeiro escolhi no site Pressure Level;
Escolhi janeiro e fevereiro de 2013;
No Select time escolhi (00:00:00, 06:00:00, 12:00:00, 18:00:00)
No Select Level e parameter escolhi U component of wind e level 850
Depois cliquei em Views the MARS request e apareceu o seguinte:

request (desconsidere)

Estimated number of fields: 472 (desconsidere)

retrieve, (desconsidere)
levelist=850,
stream=oper,
levtype=pl,
param=131.128,
dataset=interim,
step=0,
grid=0.75/0.75,
time=00/06/12/18,
date=2013-01-01/to/2013-02-28,
type=an,
class=ei

E o meu script atualizado ficou assim:


#!/usr/bin/env python
from ecmwfapi import ECMWFDataServer


server = ECMWFDataServer()

server.retrieve({
    'dataset' : "interim", (modificado)
    'step'    : "0", (modificado)
    'levelist' : "850", (inserido)
    'stream' : "oper", (inserido)
    'number'  : "all", (removi)
    'levtype' : "pl", (modificado)
    'date'    : "2013-01-01/to/2013-02-28", (modificado)
    'time'    : "00/06/12/18", (modificado)
    'origin'  : "all", (removi)
    'type'    : "an", (modificado)
    'class'    : "ei", (inserido)
    'param'   : "131.128", (modificado)
    'area'    : "70/-130/30/-60", (removi)
    'grid'    : "0.75/0.75", (modificado)
    'target'  : "uwnd.01012013.01022013.grib" (modificado)
    })

No levelist você pode inserir os níveis que precisar. Espero que tenham entendido e principalmente que funcione.

Boa Sorte e Bom Trabalho a Todos.

Nenhum comentário :

Postar um comentário