Skip to content

Facilitate creation of ESMValCore Dataset objects from datastores #715

@charles-turner-1

Description

@charles-turner-1

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:

  1. Make ESMValCore an optional dependency, in order to avoid making the dependencies of intake-esm too numerous.
  2. 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.

Metadata

Metadata

Labels

No labels
No labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions