Handle CubeLists in all operators that operate on Cubes
- Dominant language
- Python
- Stars
- 33
- Forks
- 19
- Avg merge
- 1d 22h
- Merged PRs (30d)
- 30
Description
### What problem does your feature request solve?
Currently there is not a good way to run operators that only take a single cube over all cubes in a CubeList. For example, regridding. This will then be able to read_cubes directly on multiple models.
### Describe the solution you'd like
These operators should be expanded to handle a CubeList. This should be done by looping over the cubes inside the operator, before returning another CubeList of the processed cubes.
### Describe alternatives you've considered
We could add another operator to loop the existing single cube operators. It would have a signature similar to this:
```yaml
- operator: misc.apply_to_all
operator_to_apply: regrid.regrid_onto_xyspacing
args:
xspacing: 0.5
yspacing: 0.5
```
I'm tempted to avoid it however, as it makes recipes harder to understand, and this functionality is part of making an operator more valuable than the underlying iris code. Looping within the operators also unlocks opportunities, like caching the regridder in #720.
## Individual tracking issues:
- [x] https://github.com/MetOffice/CSET/issues/540
- [ ] #911
- [x] #912
- [x] #913
- [x] #914
- [x] #915
- [x] #916
- [x] #917
- [x] #918
- [x] #919
- [x] #920
- [x] #921
- [x] #922
- [x] #924
- [ ] #925
- [ ] #926
- [x] #923
Contributor guide
No contributing guide indexed for this repository
Assessment
This issue has not been assessed yet.