dpyverification.datasources.fewsnetcdf#

Read and write NetCDF files in a fews compatible format.

Classes

FewsNetCDF(config)

For reading data from a NetCDF file produced by Delft-FEWS.

FewsNetCDFConfig(*, directory, ...[, ...])

A FEWS NetCDF config element.

class dpyverification.datasources.fewsnetcdf.FewsNetCDF(config)[source]#

For reading data from a NetCDF file produced by Delft-FEWS.

Parameters:

config (FewsNetCDFConfig)

kind: str = 'fewsnetcdf'#
config_class#

alias of FewsNetCDFConfig

supported_data_types: ClassVar[set[DataType]] = {DataType.observed_historical, DataType.simulated_forecast_ensemble}#
static convert_dataset_to_dataarray(dataset, source, data_type)[source]#

Transform dataset to internal datamodel.

Parameters:
Return type:

DataArray

fetch_data()[source]#

Retrieve fewsnetcdf content as an xarray DataArray.

Return type:

Self

class dpyverification.datasources.fewsnetcdf.FewsNetCDFConfig(*, directory, filename_glob, import_adapter, source, data_type, general, id_mapping=None, netcdf_kind, station_ids=None, parameter_ids=None, **extra_data)[source]#

A FEWS NetCDF config element.

Parameters:
  • directory (str)

  • filename_glob (str)

  • import_adapter (Literal[DataSourceKind.FEWSNETCDF])

  • source (Annotated[str, StringConstraints(strip_whitespace=None, to_upper=None, to_lower=None, strict=None, min_length=1, max_length=None, pattern=^[A-Za-z][A-Za-z0-9_]*$), MinLen(min_length=1)])

  • data_type (DataType)

  • general (Annotated[GeneralInfoConfig, SkipJsonSchema()])

  • id_mapping (Annotated[IdMappingConfig, SkipJsonSchema()] | None)

  • netcdf_kind (FewsNetCDFKind)

  • station_ids (Annotated[list[str], FieldInfo(annotation=NoneType, required=True, metadata=[MinLen(min_length=1)])] | None)

  • parameter_ids (Annotated[list[str], FieldInfo(annotation=NoneType, required=True, metadata=[MinLen(min_length=1)])] | None)

  • extra_data (Any)

import_adapter: Literal[DataSourceKind.FEWSNETCDF]#
netcdf_kind: FewsNetCDFKind#
station_ids: Annotated[list[str], FieldInfo(annotation=NoneType, required=True, metadata=[MinLen(min_length=1)])] | None#
parameter_ids: Annotated[list[str], FieldInfo(annotation=NoneType, required=True, metadata=[MinLen(min_length=1)])] | None#