You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
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:
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.
@jfrost-mo I will probably create a branch to update the regrid operator to handle a cubelist (realise this issue is for operators more generally). Reason for this is that to implement regrid caching, for one of the functions I need this capability (see comment in #720). Mentioning here to avoid duplication in case you start this work on all operators including regrid!
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:
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:
collapse.collapse
should be able to handle a CubeList #540aggregate.time_aggregate
should be able to handle a CubeList #911transect.calc_transect
should be able to handle a CubeList #912misc.addition
should be able to handle a CubeList #913misc.division
should be able to handle a CubeList #914misc.multiplication
should be able to handle a CubeList #915misc.subtraction
should be able to handle a CubeList #916plot.plot_histogram_series
should be able to handle a CubeList #917plot.plot_line_series
should be able to handle a CubeList #918plot.plot_vertical_line_series
should be able to handle a CubeList #919plot.scatter_plot
should be able to handle a CubeList #920plot.spatial_contour_plot
should be able to handle a CubeList #921plot.spatial_pcolormesh_plot
should be able to handle a CubeList #922regrid.regrid_to_single_point
should be able to handle a CubeList #924convection.cape_ratio
should be able to handle a CubeList #925convection.inflow_layer_properties
should be able to handle a CubeList #926regrid.regrid_onto_xyspacing
has incorrect return type signature #923The text was updated successfully, but these errors were encountered: