Skip to content

Commit e53ee2b

Browse files
committed
Update order of time series subsetting to improve performance
- The time slice should occur before loading the dataset into memory, otherwise the entire time series will be loaded which can be a large dataset
1 parent 542b88b commit e53ee2b

File tree

1 file changed

+4
-4
lines changed

1 file changed

+4
-4
lines changed

e3sm_diags/driver/utils/dataset_xr.py

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1171,14 +1171,14 @@ def _subset_time_series_dataset(self, ds: xr.Dataset, var: str) -> xr.Dataset:
11711171
xr.Dataset
11721172
The subsetted time series dataset.
11731173
"""
1174-
ds_sub = self._subset_vars_and_load(ds, var)
1175-
1176-
time_slice = self._get_time_slice(ds_sub)
1177-
ds_sub = ds_sub.sel(time=time_slice).squeeze()
1174+
time_slice = self._get_time_slice(ds)
1175+
ds_sub = ds.sel(time=time_slice).squeeze()
11781176

11791177
if self.is_sub_monthly:
11801178
ds_sub = self._exclude_sub_monthly_coord_spanning_year(ds_sub)
11811179

1180+
ds_sub = self._subset_vars_and_load(ds_sub, var)
1181+
11821182
return ds_sub
11831183

11841184
def _get_time_slice(self, ds: xr.Dataset) -> slice:

0 commit comments

Comments
 (0)