Skip to content

Commit 2dc42b5

Browse files
author
James Halgren
committed
hold file handles for slow method
1 parent 47a2f8f commit 2dc42b5

File tree

1 file changed

+8
-1
lines changed

1 file changed

+8
-1
lines changed

ngen_forcing/test_process_nwm_forcing_to_ngen.py

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -61,11 +61,16 @@ def get_forcing_dict(
6161
for _v in var_list:
6262
df_dict[_v] = pd.DataFrame(index=gpkg_divides.index)
6363

64+
ds_list = []
6465
for _nc_file in filelist:
6566
# _nc_file = ("nwm.t00z.medium_range.forcing.f001.conus.nc")
6667
_full_nc_file = folder_prefix.joinpath(_nc_file)
68+
ds_list.append(xr.open_dataset(_full_nc_file, engine=reng))
6769

68-
with xr.open_dataset(_full_nc_file, engine=reng) as _xds:
70+
for _i, _nc_file in enumerate(filelist):
71+
_xds = ds_list[_i]
72+
print(f"{_i}, {round(_i/len(filelist), 5)*100}".ljust(40), end="\r")
73+
if 1 == 1:
6974
for _v in var_list:
7075
_src = _xds[_v]
7176
_aff2 = _src.rio.transform()
@@ -78,6 +83,8 @@ def get_forcing_dict(
7883
# gdf3 = pd.concat([gpkg_divides, _df_zonal_stats], axis=1)
7984
df_dict[_v][_xds.time.values[0]] = _df_zonal_stats[sum_stat]
8085

86+
[_xds.close() for _xds in ds_list]
87+
8188
return df_dict
8289

8390

0 commit comments

Comments
 (0)