Is your feature request related to a problem? Please describe.
Currently, requesting a timeseries at multiple spatial points produces many small PointSeries coverages. The encoder splits by point, date, level, and number, so even a modest request can result in dozens of coverages, each containing a single-point timeseries.
Each of these decodes to its own xarray.Dataset, so the user has to figure out how to merge them all back together along spatial, date, level, and number dimensions. For our use case, it would be nice to make it easy for the user to directly get the full requested features / timeseries in a single dataset.
Looking into the CoverageJSON spec briefly, I think that a MultiPointSeries could be a nice fit as a Domain type to make this possible. It could group all spatial points into a single coverage, with spatial locations in a composite tuple axis and date/hdate/time/step in t. I'm not fully sure yet if the CoverageJSON spec would allow us to fold all the remaining dimensions (e.g. levels or numbers) into a single coverage too and I'd have to check. But it could get us closer to a single dataset per request.
I would imagine that most work for this would need to happen in this repo here (new encoder/decoder), and some small tweaks in https://github.com/ecmwf/polytope-mars to allow the user to opt into this feature.
Describe the solution you'd like
No response
Describe alternatives you've considered
No response
Additional context
No response
Organisation
No response
Is your feature request related to a problem? Please describe.
Currently, requesting a timeseries at multiple spatial points produces many small PointSeries coverages. The encoder splits by point, date, level, and number, so even a modest request can result in dozens of coverages, each containing a single-point timeseries.
Each of these decodes to its own
xarray.Dataset, so the user has to figure out how to merge them all back together along spatial, date, level, and number dimensions. For our use case, it would be nice to make it easy for the user to directly get the full requested features / timeseries in a single dataset.Looking into the CoverageJSON spec briefly, I think that a MultiPointSeries could be a nice fit as a Domain type to make this possible. It could group all spatial points into a single coverage, with spatial locations in a composite tuple axis and date/hdate/time/step in
t. I'm not fully sure yet if the CoverageJSON spec would allow us to fold all the remaining dimensions (e.g. levels or numbers) into a single coverage too and I'd have to check. But it could get us closer to a single dataset per request.I would imagine that most work for this would need to happen in this repo here (new encoder/decoder), and some small tweaks in https://github.com/ecmwf/polytope-mars to allow the user to opt into this feature.
Describe the solution you'd like
No response
Describe alternatives you've considered
No response
Additional context
No response
Organisation
No response