Skip to content

Commit c9dc904

Browse files
authored
Merge pull request #29 from Aquaveo/fix-herbie-download-2
Improve herbie downloads memory management
2 parents 2017e41 + 42cccd9 commit c9dc904

File tree

2 files changed

+15
-0
lines changed

2 files changed

+15
-0
lines changed

loone_data_prep/forecast_scripts/create_forecast_LOWs.py

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -138,6 +138,10 @@ def _download_herbie_variable(fast_herbie_object: FastHerbie, variable_key: str,
138138
# Extract point data
139139
dsi = ds.herbie.pick_points(point_df, method="nearest")
140140

141+
# Close and delete the original dataset to free up resources
142+
ds.close()
143+
del ds
144+
141145
# Get actual variable name
142146
if variable_name == "10u":
143147
var_name_actual = "u10" # Map 10u to u10
@@ -156,6 +160,10 @@ def _download_herbie_variable(fast_herbie_object: FastHerbie, variable_key: str,
156160
elif "step" in df.columns and "time" in dsi.coords:
157161
df["datetime"] = dsi.time.values[0] + df["step"]
158162

163+
# Close and delete the intermediate dataset to free memory
164+
dsi.close()
165+
del dsi, time_series
166+
159167
# Retain necessary columns
160168
df = df[["datetime", var_name_actual]].drop_duplicates()
161169

loone_data_prep/forecast_scripts/weather_forecast.py

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -146,6 +146,10 @@ def _download_herbie_variable(fast_herbie_object: FastHerbie, variable_key: str,
146146

147147
# Extract point data
148148
dsi = ds.herbie.pick_points(points, method="nearest")
149+
150+
# Close and delete the original dataset to free up resources
151+
ds.close()
152+
del ds
149153

150154
# Extract the correct variable name dynamically
151155
if variable_name == "10u":
@@ -173,6 +177,9 @@ def _download_herbie_variable(fast_herbie_object: FastHerbie, variable_key: str,
173177
# Print extracted data
174178
# print(df)
175179

180+
# Clean up intermediate datasets to free memory
181+
del dsi, time_series
182+
176183
return df
177184

178185

0 commit comments

Comments
 (0)