In general it is organised, as a huge tree, with the indentation below, showing different levels down that tree:
|
|
for date in dates |
ie select a set of 'dates' and 'times' and add the 'steps', 'origins', 'levels' and 'parameters' that you need.
|
#!/usr/bin/env python from ecmwfapi import ECMWFDataServer server = ECMWFDataServer() def retrieve_tigge_data(): dates = ['2014-10-01', '2014-11-01'] times = ['00', '12'] for date in dates: for time in times: target = 'ecmwf_sfc_%s_%s.grb' % (date, time) tigge_pf_sfc_request(date, time, target) target = 'ecmwf_pl_%s_%s.grb' % (date, time) tigge_pf_pl_request(date, time, target) def tigge_pf_pl_request(date, time, target): ''' A TIGGE request for perturbed forecast, pressure level, ECMWF Center. Please note that a subset of the available data is requested below. Change the keywords below to adapt it to your needs. (ie to add more parameters, or numbers etc) ''' server.retrieve({ 'class': 'ti', 'dataset': 'tigge', 'date': date, 'expver': 'prod', 'grid': '0.5/0.5', 'levelist': '200/250/300/500/', 'levtype': 'pl', 'number': '1/TO/10', 'origin': 'ecmf', 'param': '130/131/132/133', 'step': '0/TO/96/BY/12', 'target': target, 'time': time, 'type': 'pf', }) def tigge_pf_sfc_request(date, time, target): ''' A TIGGE request for perturbed forecast, sfc, ECMWF Center. Please note that a subset of the available data is requested below. Change the keywords below to adapt it to your needs. (ie to add more parameters, or numbers etc) ''' server.retrieve({ 'class': 'ti', 'dataset': 'tigge', 'date': date, 'expver': 'prod', 'grid': '0.5/0.5', 'levtype': 'sfc', 'number': '1/TO/10', 'origin': 'ecmf', 'param': '146/147/151/165/166/167/168/176/177', 'step': '0/TO/96/BY/12', 'target': target, 'time': time, 'type': 'pf', }) if __name__ == '__main__': retrieve_tigge_data() |
|
#!/usr/bin/env python from ecmwfapi import ECMWFDataServer server = ECMWFDataServer() def retrieve_tigge_data(): dates = ['2014-12-01', '2014-12-02'] times = ['00', '12'] for date in dates: for time in times: target = 'tigge_cf_sfc_%s_%s.grb' % (date, time) tigge_cf_sfc_request(date, time, target) def tigge_cf_sfc_request(date, time, target): ''' A TIGGE request for control forecast, sfc, for 3 origins : ECMWF, JMA and KMA. Keep in mind that if you wish to download the same data, for more than one origins, it is more efficient to request all of them in one go. You can change the keywords below to adapt it to your needs, (ie to add more parameters, or steps, or even more origins etc), Presumably you need to check the availability of the requested origins. ''' server.retrieve({ 'class': 'ti', 'dataset': 'tigge', 'date': date, 'expver': 'prod', 'grid': '0.5/0.5', 'levtype': 'sfc', 'origin': 'ecmf/rjtd/rksl', 'param': '167/168', 'step': '0/96/168', 'target': target, 'time': time, 'type': 'cf', }) if __name__ == '__main__': retrieve_tigge_data() |