Dataset
Classes and functions for defining, finding, and loading data.
Classes:
|
Define datasets, find the related files, and load them. |
Functions:
|
Create or update a recipe from datasets. |
- class esmvalcore.dataset.Dataset(**facets: Union[str, Sequence[str], Number])[source]
Define datasets, find the related files, and load them.
- Parameters
**facets – Facets describing the dataset. See
esmvalcore.esgf.facets.FACETS
for the mapping between the facet names used by ESMValCore and those used on ESGF.
- facets
Facets describing the dataset.
Methods:
add_ancillary
(**facets)Add an ancillary dataset.
Add extra facets.
copy
(**facets)Create a copy.
Find files.
Create datasets based on the available files.
Create a list of datasets from short notations.
load
()Load dataset.
set_facet
(key, value[, persist])Set facet.
Set the
'version'
facet based on the available data.summary
([shorten])Summarize the content of dataset.
Attributes:
The files associated with this dataset.
Return a dictionary with the persistent facets.
A
esmvalcore.config.Session
associated with the dataset.- add_ancillary(**facets: Union[str, Sequence[str], Number]) None [source]
Add an ancillary dataset.
This is a convenience function that will create a copy of the current dataset, update its facets with the values specified in
**facets
, and append it toDataset.ancillaries
. For more control over the creation of the ancillary dataset, first create a newDataset
describing the ancillary dataset and then append it toDataset.ancillaries
.- Parameters
**facets – Facets describing the ancillary variable.
- augment_facets() None [source]
Add extra facets.
This function will update the dataset with additional facets from various sources.
- copy(**facets: Union[str, Sequence[str], Number]) Dataset [source]
Create a copy.
- Parameters
**facets – Update these facets in the copy. Note that for ancillary datasets attached to the dataset, the
'short_name'
and'mip'
facets will not be updated with these values.- Returns
A copy of the dataset.
- Return type
- find_files() None [source]
Find files.
Look for files and populate the
Dataset.files
property of the dataset and its ancillary datasets.
- from_files() Iterator[Dataset] [source]
Create datasets based on the available files.
- Yields
Dataset – Datasets representing the available files.
- from_ranges() list['Dataset'] [source]
Create a list of datasets from short notations.
This expands the
'ensemble'
and'sub_experiment'
facets in the dataset definition if they are ranges.For example
'ensemble'='r(1:3)i1p1f1'
will be expanded to three datasets, with'ensemble'
values'r1i1p1f1'
,'r2i1p1f1'
,'r3i1p1f1'
.
- load() Cube [source]
Load dataset.
- Raises
InputFilesNotFound – When no files were found.
- Returns
An
iris
cube with the data corresponding the the dataset.- Return type
- property minimal_facets: Dict[str, Union[str, Sequence[str], Number]]
Return a dictionary with the persistent facets.
- property session: Session
A
esmvalcore.config.Session
associated with the dataset.
- esmvalcore.dataset.datasets_to_recipe(datasets: Iterable[Dataset], recipe: dict | None = None) dict [source]
Create or update a recipe from datasets.
- Parameters
datasets – Datasets to use in the recipe.
recipe – If provided, the datasets in the recipe will be replaced. The value provided here should be a recipe file that is loaded using e.g.
yaml.safe_load()
.
Examples
See Composing recipes for example use cases.
- Returns
The recipe with the datasets. To convert the
dict
to a recipe, use e.g.yaml.safe_dump()
.- Return type
- Raises
RecipeError – Raised when a dataset is missing the
diagnostic
facet.