Support CF Aggregation Variables
Nobody has claimed this yet.
- Dominant language
- Python
- Stars
- 4.2k
- Forks
- 1.4k
- Avg merge
- 2d 15h
- Merged PRs (30d)
- 14
Description
Is your feature request related to a problem?
New and fresh from the 1.13 CF conventions released in December 2025 : the « Aggregation variable », a new syntax for creating ncml-like aggregation within valid files (mostly netCDF).
The idea is to explicitly map external variables (i.e. in another file) to section of a "virtual" variable in the main file.
Describe the solution you'd like
Would be nice if xarray was able to open these transparently, with the correct combination of combine_by_coords and such.
Describe alternatives you've considered
As this is a I/O thing, I thought it would be best to be done here, instead of cf-xarray which concerns itself with more advance/high-level stuff. And making xr.open_dataset transparent to this seems a more user-friendly idea than having an extra function from an external package handle this.
Additional context
This new thing was a standalone extension to the CF conventions (under the name CFA) since 2023 (at least) and is already implemented by package cf-python.
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 reading the CF 1.13 aggregation-variables specification linked in the issue, then inspect the existing xr.open_dataset and combine_by_coords behavior. Done means aggregation variables can be opened transparently with the correct combination of external data, without requiring a separate user-facing function.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- python
- Domain
- data
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 30/100