`missing_dims` option for aggregation methods like `mean` and `std`
Nobody has claimed this yet.
- Dominant language
- Python
- Stars
- 4.2k
- Forks
- 1.4k
- Avg merge
- 2d 15h
- Merged PRs (30d)
- 14
Description
I work a lot with climate model output and often loop over several models, of which some have a 'member' dimension and others don't.
I end up writing many lines like this:
for ds in model_datasets:
if 'member_id' in ds.dims:
ds = ds.mean('member_id)
Which often makes for very lengthy code blocks.
I recently noticed that .isel() actually has a nifty keyword argument 'missing_dims', which enables the user to apply isel and it just doesn't do anything when the dimension is not present.
I'd love to be able to do:
for ds in model_datasets:
ds = ds.mean('member_id', missing_dims='ignore')
Is there a way to implement this generally for xarray aggregation methods (mean/max/min/std/...). Or is there a reason this should be avoided?
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by comparing the existing isel missing_dims behavior with aggregation methods such as mean, max, min, and std. Determine the supported scope for a common option and define done as consistent handling of dimensions that are present and absent, with tests covering both cases.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- python
- Domain
- data
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100