-
Notifications
You must be signed in to change notification settings - Fork 51
Description
Is your feature request related to a problem? Please describe.
See ESMValGroup/ESMValCore#2690.
We're working on adding intake-esm support to ESMValCore/ESMValTool. I think one thing that would make this a lot more straightforward would be to add the ability to output an ESMValCore Dataset
object from an esm_datastore
. I'm envisaging something like
esm_ds = intake.open_esm_datastore(...)
esm_ds = esm_ds.search(...)
dataset = esm_ds.to_dataset(...)
Describe the solution you'd like
I think it would be wise to go one of two ways here:
- Make ESMValCore an optional dependency, in order to avoid making the dependencies of intake-esm too numerous.
- Double down on the intake plugin architecture and add an entrypoint that allows users to easily add extra methods to esm datastores - similar to the xarrays
register_dataset_accessor
system. Then we can stick the intake-esm / ESMValCore bridging code in a separate repo.
Additional context
ESMValGroup/ESMValCore#2690, ACCESS-NRI/ESMValTool-workflow#201 (comment), ACCESS-NRI/ESMValTool-workflow#202 (comment)
This would also probably require some naming refinements, because to_dataset
would get confusing with to_dataset_dict
being completely unrelated. Maybe to_iris
would be a better name.