top of page
  • White Facebook Icon
  • White Twitter Icon
  • White YouTube Icon
  • White Instagram Icon
  • White Pinterest Icon

Download ERA 5 (pressure levels)

Suponha que você deseja baixar vários anos de dados de reanálise, vários níveis, meses e horários. Devido à alta resolução dos dados da nova reanálise ERA 5 , o download realizado diretamente na página da ECMWF  possui algumas restrições no volume de dados baixados de uma só vez. Mesmo utilizando um script python fornecido CDS API , é preciso adaptar o script para que sejam baixados vários anos.  Hoje, a limitação é de aproximadamente 1 variável, 2 horários, 3 níveis na vertical, todos os meses e anos disponíveis. Para isso, foi criado uma solução simples e prática (mas que por vezes demanda testes para a sintaxe do shell script) e python para a realização do download dos dados.   

##############################################################################################################
#                                                                                                            #
#Shell script para baixar dados do Era 5 - Mateus Dias Nunes - Junho 2019                                    #
#                                                                                                            #
#acesse https://cds.climate.copernicus.eu/api-how-to, e siga as instruções do site;                          #
#faça o cadastro para assegurar a sua chave de acesso e aceite os termos de uso;                             #
#acesse https://cds.climate.copernicus.eu/#!/search?text=era%205&type=dataset                                #
#selecione os parâmetros desejados, Clique em SHOW API Request, copie o shell script,                         #
#adaptando-o de acordo com suas necessidades;                                                                #
#                                                                                                            #
#                                                                                                            #
#Salvar este script com a extensão .bash                                                                     #
#por exemplo: download_era5.bash                                                                             #
#Não esqueça de dar a permissão no arquivo .bash: chmod 777 download_era5.bash                               #

#                                                                                                            #
# execute o shell script download_era5.bash na mesma pasta do arquivo oculto .cdsapirc                       #  #                                                                                                            #
##############################################################################################################


FirstYear=1979
LastYear=2018

var=ozone_mass_mixing_ratio
LengthMonthly=( 00 31 28 31 30 31 30 31 31 30 31 30 31 )
iyear=${FirstYear}
while [ ${iyear} -le ${LastYear} ]; do

cat <<EOF> /home2/mateus/ERA5/wget_era5_${var}${iyear}.py
#!/usr/bin/env python

​

import cdsapi

c = cdsapi.Client()

c.retrieve(
    'reanalysis-era5-pressure-levels',
    {
        'pressure_level':[
            '1','2','3',
            '5','7','10',
            '20','30','50',
            '70','100'
        ],
        'variable':'ozone_mass_mixing_ratio',
        'time':'12:00',
        'product_type':'reanalysis',
        'year':"${iyear}",
         

        'day':[
            '01','02','03',
            '04','05','06',
            '07','08','09',
            '10','11','12',
            '13','14','15',
            '16','17','18',
            '19','20','21',
            '22','23','24',
            '25','26','27',
            '28','29','30',
            '31'
        ],
        'month':[
            '01','02','03',
            '04','05','06',
            '07','08','09',
            '10','11','12'
        ],
        'format':'netcdf'
    },
    '${var}era5_${iyear}.nc')

EOF
chmod 777 /home2/mateus/ERA5/wget_era5_${var}${iyear}.py
/home2/mateus/ERA5/wget_era5_${var}${iyear}.py
 

rm -f /home2/mateus/ERA5/wget_era5_${var}${iyear}.py


   let iyear=iyear+1 
done
 

​

​

Existe outra possibilidade (abaixo), porém, devido à algumas instabilidades em minha rede, por vezes não eram baixados todos os dados para cada ano. Entretanto, o caminho a seguir, mostra uma maneira muito mais simples e "correta" para que o download seja realizado. Abaixo, é mostrada a dica do colega e pesquisador Joao Henry Huaman Chinchay do CPTEC/INPE.


 

##############################################################################################################
#                                                                                                            #
#      python para baixar dados do Era 5 - Joao H. Huaman Ch. - Julho 2019                                   #  #                                                                                                            #

#                                                                                                            #
# execute o python script download_era.py na mesma pasta do arquivo oculto .cdsapirc                         #  #                                                                                                            #
##############################################################################################################

​

import cdsapi
 

path_output = '/home/joao/Downloads/'


for year in range(1979,2018):
 

   c = cdsapi.Client()
   c.retrieve('reanalysis-era5-pressure-levels',
      {
         'pressure_level': ['1','2','3','5','7','10','20','30','50','70','100'],
         'variable': 'ozone_mass_mixing_ratio',
         'product_type': 'reanalysis',
         'year':
str(year),
         'month': ['01','02','03','04','05','06','07','08','09','10','11','12'],
         'day': ['01','02','03','04','05','06','07','08','09','10','11','12','13','14','15','16','17','18','19','20','21','22','23','24','25','26','27','28','29','30','31'],
         'time':
['12:00','18:00'],
         'format': 'netcdf'

      },
      path_output+'era5_'+str(year)+'.nc')

​

​

Espero ter ajudado.

Bom trabalho!

© 2023 by Meteorology Forum. Proudly created with Wix.com

bottom of page