-
Notifications
You must be signed in to change notification settings - Fork 2
/
example.py
52 lines (38 loc) · 1.41 KB
/
example.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
from dwdGribExtractor.icon import ICON_D2
import numpy as np
def main():
locationList = {
"Vienna": {
"lat": 48.20,
"lon": 16.37
},
"Graz": {
"lat": 47.07,
"lon": 15.43
}
}
variables = ["aswdir_s", "aswdifd_s", "t_2m"]
#variables = ["aswdifd_s","t_2m"]
forecast = ICON_D2(locations = locationList, forecastHours = 2)
#data = forecast.collectData(varList = variables, cores = None) # Disable multiprocessing
data = forecast.collectData(varList = variables, cores = 4)
#### Indexing one location
loc = "Graz"
result = data.loc[loc]
result = data.loc[loc, "2021-09-06 06:15:00"]
#### Indexing multiple locations
loc = ["Graz", "Vienna"]
result = data.loc[loc]
#### Indexing one location with datetime condition
loc = "Graz"
mask = data.loc[loc].index.get_level_values(0) > np.datetime64('2021-09-06T06:15:00')
mask = data.loc[loc].index.get_level_values(0).hour == 8
result = data.loc[loc][mask]
#### Indexing multiple locations with datetime condition
loc = ["Graz", "Vienna"]
mask = data.loc[loc].index.get_level_values(1) > np.datetime64('2021-09-06 06:15:00')
mask = data.loc[loc].index.get_level_values(1).hour == 8
result = data.loc[loc][mask]
print(result)
if __name__ == "__main__":
main()