@@ -33,13 +33,13 @@ def download_model_files(runs=None, parent_folder=None, model="global", delay=0)
3333 var_2d_list = GLOBAL_VAR2D_LIST
3434 invariant = GLOBAL_INVARIENT_LIST
3535 pressure_levels = GLOBAL_PRESSURE_LEVELS
36- f_steps = list (range (0 , 79 )) + list (range (81 , 99 , 3 )) # 4 days
36+ f_steps = list (range (0 , 79 )) + list (range (81 , 99 , 3 )) # 4 days
3737 else :
3838 var_3d_list = EU_VAR3D_LIST
3939 var_2d_list = EU_VAR2D_LIST
4040 invariant = None
4141 pressure_levels = EU_PRESSURE_LEVELS
42- f_steps = list (range (0 , 79 )) + list (range (81 , 123 , 3 )) # 5 days
42+ f_steps = list (range (0 , 79 )) + list (range (81 , 123 , 3 )) # 5 days
4343 for run in runs :
4444 run_folder = os .path .join (parent_folder , run )
4545 if not os .path .exists (run_folder ):
@@ -61,7 +61,7 @@ def download_model_files(runs=None, parent_folder=None, model="global", delay=0)
6161 run = run ,
6262 f_times = f_steps ,
6363 model = model ,
64- delay = delay
64+ delay = delay ,
6565 )
6666 not_done = False
6767 except Exception as e :
@@ -70,26 +70,40 @@ def download_model_files(runs=None, parent_folder=None, model="global", delay=0)
7070
7171
7272def process_model_files (
73- folder , var_3d_list = None , var_2d_list = None , invariant_list = None , model = "global" , run = "00" , delay = 0
73+ folder ,
74+ var_3d_list = None ,
75+ var_2d_list = None ,
76+ invariant_list = None ,
77+ model = "global" ,
78+ run = "00" ,
79+ delay = 0 ,
7480):
7581 date_string , _ = get_run (run , delay = delay )
7682 if model == "global" :
7783 var_base = "icon_global_icosahedral"
7884 var_3d_list = GLOBAL_VAR3D_LIST
7985 var_2d_list = GLOBAL_VAR2D_LIST
8086 lon_ds = xr .open_dataset (
81- list (glob (os .path .join (folder , run , f"{ var_base } _time-invariant_{ date_string } _CLON.grib2" )))[0 ],
87+ list (
88+ glob (
89+ os .path .join (folder , run , f"{ var_base } _time-invariant_{ date_string } _CLON.grib2" )
90+ )
91+ )[0 ],
8292 engine = "cfgrib" ,
8393 backend_kwargs = {"errors" : "ignore" },
8494 )
8595 lat_ds = xr .open_dataset (
86- list (glob (os .path .join (folder , run , f"{ var_base } _time-invariant_{ date_string } _CLAT.grib2" )))[0 ],
96+ list (
97+ glob (
98+ os .path .join (folder , run , f"{ var_base } _time-invariant_{ date_string } _CLAT.grib2" )
99+ )
100+ )[0 ],
87101 engine = "cfgrib" ,
88102 backend_kwargs = {"errors" : "ignore" },
89103 )
90104 lons = lon_ds .tlon .values
91105 lats = lat_ds .tlat .values
92- f_steps = list (range (0 , 79 )) + list (range (81 , 99 , 3 )) # 4 days
106+ f_steps = list (range (0 , 79 )) + list (range (81 , 99 , 3 )) # 4 days
93107 else :
94108 var_base = "icon-eu_europe_regular-lat-lon"
95109 var_3d_list = EU_VAR3D_LIST
@@ -145,7 +159,9 @@ def process_model_files(
145159 print (var_2d )
146160 try :
147161 ds = xr .open_mfdataset (
148- os .path .join (folder , run , f"{ var_base } _single-level_{ date_string } _*_{ var_2d .upper ()} .grib2" ),
162+ os .path .join (
163+ folder , run , f"{ var_base } _single-level_{ date_string } _*_{ var_2d .upper ()} .grib2"
164+ ),
149165 engine = "cfgrib" ,
150166 combine = "nested" ,
151167 concat_dim = "step" ,
@@ -207,9 +223,11 @@ def upload_to_hf(dataset_xr, folder, model="global", run="00", token=None):
207223 f"{ dataset_xr .time .dt .day .values } /"
208224 f"{ dataset_xr .time .dt .year .values } { str (dataset_xr .time .dt .month .values ).zfill (2 )} { str (dataset_xr .time .dt .day .values ).zfill (2 )} "
209225 f"_{ str (dataset_xr .time .dt .hour .values ).zfill (2 )} .zarr.zip" ,
210- repo_id = "openclimatefix/dwd-icon-global"
211- if model == "global"
212- else "openclimatefix/dwd-icon-eu" ,
226+ repo_id = (
227+ "openclimatefix/dwd-icon-global"
228+ if model == "global"
229+ else "openclimatefix/dwd-icon-eu"
230+ ),
213231 repo_type = "dataset" ,
214232 )
215233 done = True
0 commit comments