#!/usr/bin/env python
import calendar
from ecmwfapi import ECMWFDataServer
server = ECMWFDataServer()
hindcastYearStart = 19941981
hindcastYearEnd = 20142013
hindcastMonthStart = 1
hindcastMonthEnd = 12
hincastDatesList = ["01", "06", "11", "21", "26"]
def retrieve_BoM_reforecast():
for hindcastYear in list(range(hindcastYearStart, hindcastYearEnd + 1)):
for hindcastMonth in list(range(hindcastMonthStart, hindcastMonthEnd + 1)):
numberOfDays = calendar.monthrange(hindcastYear, hindcastMonth)[1]
for hindcastDay in list(range(numberOfDays))hincastDatesList:
hindcastDate = '%04d%02d%02d%04d%02d%s' % (
hindcastYear, hindcastMonth, hindcastDay + 1)
BoM_reforecast_request(hindcastDate)
def BoM_reforecast_request(hindcastDate):
modelVersionDate = "2014-05-01"
target = "data_s2s_%s.grb" % (hindcastDate)
server.retrieve({
"class": "s2",
"dataset": "s2s",
"date": modelVersionDate,
"expver": "prod",
"hdate": hindcastDate,
"levtype": "sfc"pl",
"levelist": "10/50/100/200/300/500/700/850/925/1000",
"origin": "babjammc",
"param": "165/166130/131/132/133/135/156",
"step": "24/to/1440720/by/24",
"stream": "enfh",
"target": target"data.pf.sfc",
"time": "00",
"number": "1/2/3",
"type": "pf",
})
if __name__ == '__main__':
retrieve_BoM_reforecast() |