Skip to content

Commit

Permalink
Merge pull request #105 from c-hydro/patch_era5_aggregation
Browse files Browse the repository at this point in the history
fix(ERA5): patch error on aggregations
  • Loading branch information
ltrotter authored Oct 2, 2024
2 parents 63e668c + 3f4c549 commit db17562
Showing 1 changed file with 11 additions and 7 deletions.
18 changes: 11 additions & 7 deletions door/data_sources/cds/era5_downloader.py
Original file line number Diff line number Diff line change
Expand Up @@ -273,22 +273,26 @@ def _get_data_ts(self,
timestep_start = agg_timestep.start
timestep_end = agg_timestep.end

# filter data to the aggregation timestep
inrange = (vardata.time.dt.date >= timestep_start.date()) & (vardata.time.dt.date <= timestep_end.date())
vardata_ts = vardata.sel(time = inrange)

# add start and end time as attributes
vardata.attrs['start_time'] = timestep_start
vardata.attrs['end_time'] = timestep_end
vardata_ts.attrs['start_time'] = timestep_start
vardata_ts.attrs['end_time'] = timestep_end

# do the necessary aggregations:
for agg in varopts['agg_method']:

vardata.attrs['agg_function'] = agg
vardata_ts.attrs['agg_function'] = agg
if agg == 'mean':
aggdata = vardata.mean(dim='time', skipna = False)
aggdata = vardata_ts.mean(dim='time', skipna = False)
elif agg == 'max':
aggdata = vardata.max(dim='time', skipna = False)
aggdata = vardata_ts.max(dim='time', skipna = False)
elif agg == 'min':
aggdata = vardata.min(dim='time', skipna = False)
aggdata = vardata_ts.min(dim='time', skipna = False)
elif agg == 'sum':
aggdata = vardata.sum(dim='time', skipna = False)
aggdata = vardata_ts.sum(dim='time', skipna = False)

aggdata = aggdata.rio.set_spatial_dims('longitude', 'latitude')
aggdata = aggdata.rio.write_crs(self.spatial_ref)
Expand Down

0 comments on commit db17562

Please sign in to comment.