1
- # -*- coding: utf-8 -*-
2
- """
3
- Created on Thu Aug 24 10:44:53 2017
4
-
5
- @author: sebastian
6
- """
7
-
8
- ## retrieve ECMWF forecast data, based on example from
9
- ## https://software.ecmwf.int/wiki/display/WEBAPI/TIGGE+retrieval+efficiency
10
-
11
- # ECMWF forecasts from TIGGE data set:
12
- # T2M fields
13
- # all available full years, 2007-2016
14
- # init time 00 UTC
15
- # 36/48 h ahead forecasts (= valid at 12 UTC and 00 UTC)
16
- # 0.5° resolution
17
- # area: -10E, 30E; 30N, 70N (large part of Europe centered around Germany)
18
-
19
- #!/usr/bin/env python
20
- from ecmwfapi import ECMWFDataServer
21
- server = ECMWFDataServer ()
22
-
23
- def retrieve_tigge_data ():
24
- date1 = [str (i ) + "-01-01" for i in xrange (2007 ,2017 )]
25
- date2 = [str (i ) + "-12-31" for i in xrange (2007 ,2017 )]
26
- dates = date1
27
- for j in range (0 ,10 ):
28
- dates [j ] = date1 [j ] + "/to/" + date2 [j ]
29
- data_dir = "/media/sebastian/Elements/Postproc_NN/ data/forecasts/"
30
- for date in dates :
31
- target = data_dir + "ecmwf_t2m_" + date [:4 ] + ".grib"
32
- tigge_request (date , target )
33
-
34
- def tigge_request (date , target ):
35
- '''
36
- A TIGGE request for ECMWF perturbed forecasts of T2M.
37
- '''
38
- server .retrieve ({
39
- 'origin' : "ecmf" ,
40
- 'levtype' : "sfc" ,
41
- 'number' : mem_numbers ,
42
- 'expver' : "prod" ,
43
- 'dataset' : "tigge" ,
44
- 'step' : "36/48" ,
45
- 'grid' : "0.5/0.5" ,
46
- 'param' : "167" ,
47
- 'area' : "70/-10/30/30" ,
48
- 'time' : "00" ,
49
- 'date' : date ,
50
- 'type' : "pf" ,
51
- 'class' : "ti" ,
52
- 'target' : target ,
53
- })
54
-
55
- if __name__ == '__main__' :
56
- mem_numbers = '' .join (['' .join ([str (i ) + "/" for i in xrange (1 ,50 )]),'50' ])
1
+ # -*- coding: utf-8 -*-
2
+ """
3
+ Created on Thu Aug 24 10:44:53 2017
4
+
5
+ @author: sebastian
6
+ """
7
+
8
+ ## retrieve ECMWF forecast data, based on example from
9
+ ## https://software.ecmwf.int/wiki/display/WEBAPI/TIGGE+retrieval+efficiency
10
+
11
+ # ECMWF forecasts from TIGGE data set:
12
+ # T2M fields
13
+ # all available full years, 2007-2016
14
+ # init time 00 UTC
15
+ # 36/48 h ahead forecasts (= valid at 12 UTC and 00 UTC)
16
+ # 0.5° resolution
17
+ # area: -10E, 30E; 30N, 70N (large part of Europe centered around Germany)
18
+
19
+ #!/usr/bin/env python
20
+ from ecmwfapi import ECMWFDataServer
21
+ server = ECMWFDataServer ()
22
+
23
+ def retrieve_tigge_data ():
24
+ date1 = [str (i ) + "-01-01" for i in range (2007 ,2017 )]
25
+ date2 = [str (i ) + "-12-31" for i in range (2007 ,2017 )]
26
+ dates = date1
27
+ for j in range (0 ,10 ):
28
+ dates [j ] = date1 [j ] + "/to/" + date2 [j ]
29
+ data_dir = "/home/gaojinghan/ppnn/ data/forecasts/"
30
+ for date in dates :
31
+ target = data_dir + "ecmwf_t2m_" + date [:4 ] + ".grib"
32
+ tigge_request (date , target )
33
+
34
+ def tigge_request (date , target ):
35
+ '''
36
+ A TIGGE request for ECMWF perturbed forecasts of T2M.
37
+ '''
38
+ server .retrieve ({
39
+ 'origin' : "ecmf" ,
40
+ 'levtype' : "sfc" ,
41
+ 'number' : mem_numbers ,
42
+ 'expver' : "prod" ,
43
+ 'dataset' : "tigge" ,
44
+ 'step' : "36/48" ,
45
+ 'grid' : "0.5/0.5" ,
46
+ 'param' : "167" ,
47
+ 'area' : "70/-10/30/30" ,
48
+ 'time' : "00" ,
49
+ 'date' : date ,
50
+ 'type' : "pf" ,
51
+ 'class' : "ti" ,
52
+ 'target' : target ,
53
+ })
54
+
55
+ if __name__ == '__main__' :
56
+ mem_numbers = '' .join (['' .join ([str (i ) + "/" for i in range (1 ,50 )]),'50' ])
57
57
retrieve_tigge_data ()
0 commit comments