Skip to content

climate_ref.datasets #

Dataset handling utilities

get_dataset_adapter(source_type, **kwargs) #

Get the appropriate adapter for the specified source type

Parameters:

Name Type Description Default
source_type str

Type of source dataset

required

Returns:

Type Description
DatasetAdapter

DatasetAdapter instance

Source code in packages/climate-ref/src/climate_ref/datasets/__init__.py
def get_dataset_adapter(source_type: str, **kwargs: Any) -> "DatasetAdapter":
    """
    Get the appropriate adapter for the specified source type

    Parameters
    ----------
    source_type
        Type of source dataset

    Returns
    -------
    :
        DatasetAdapter instance
    """
    if source_type.lower() == SourceDatasetType.CMIP6.value:
        from climate_ref.datasets.cmip6 import CMIP6DatasetAdapter  # noqa: PLC0415

        return CMIP6DatasetAdapter(**kwargs)
    elif source_type.lower() == SourceDatasetType.obs4MIPs.value.lower():
        from climate_ref.datasets.obs4mips import Obs4MIPsDatasetAdapter  # noqa: PLC0415

        return Obs4MIPsDatasetAdapter(**kwargs)
    elif source_type.lower() == SourceDatasetType.PMPClimatology.value.lower():
        from climate_ref.datasets.pmp_climatology import PMPClimatologyDatasetAdapter  # noqa: PLC0415

        return PMPClimatologyDatasetAdapter(**kwargs)
    else:
        raise ValueError(f"Unknown source type: {source_type}")

sub-packages#

Sub-package Description
base
cmip6
cmip6_parsers CMIP6 parser functions for extracting metadata from netCDF files
obs4mips
pmp_climatology
utils