veriflow.scores.probabilistic#

Probabilistic verification scores.

For verification of probabilistic and ensemble forecasts, and probabilistic historical simulations of continuous variables.

For reference, see: https://scores.readthedocs.io/en/stable/included.html#probability

Classes

CrpsCDF(config)

Implementation for CRPS for probabilistic forecasts, expressed as cdf.

CrpsCDFConfig(*[, reduce_dims, ...])

Configuration for CRPS for CDF.

CrpsForEnsemble(config)

Implementation for CRPS for an ensemble.

CrpsForEnsembleConfig(*[, reduce_dims, ...])

Configuration for CRPS for ensemble.

RankHistogram(config)

Compute the rank histogram (Talagrand diagram) over the specified dimensions.

RankHistogramConfig(*[, reduce_dims, ...])

A rank histogram config element.

class veriflow.scores.probabilistic.CrpsCDF(config)[source]#

Implementation for CRPS for probabilistic forecasts, expressed as cdf.

Parameters:

config (CrpsCDFConfig)

kind: str = 'crps_cdf'#
config_class#

alias of CrpsCDFConfig

supported_data_types: ClassVar[set[DataType]] = {DataType.simulated_forecast_probabilistic}#
config: CrpsCDFConfig#
compute(obs, sim)[source]#

Compute the CRPS for an ensemble of forecasts and observations.

Parameters:
Return type:

DataArray | Dataset

classmethod from_config(raw_config)#

Initialize class from config dict.

Parameters:

raw_config (dict[str, Any])

Return type:

Self

validate_and_compute(obs, sim)#

Validate and compute.

Parameters:
Return type:

DataArray | Dataset

class veriflow.scores.probabilistic.CrpsCDFConfig(*, reduce_dims=<factory>, score_adapter, general, verification_pair_ids=[], integration_method='exact', **extra_data)[source]#

Configuration for CRPS for CDF.

For reference, see: https://scores.readthedocs.io/en/stable/api.html#scores.probability.crps_cdf

Parameters:
score_adapter: Literal[ScoreKind.crps_cdf]#
integration_method: Annotated[Literal['exact', 'trapz'], FieldInfo(annotation=NoneType, required=True, description="The method of integration. 'exact' computes the exact integral, 'trapz' uses a trapezoidal rule and is an approximation of the CRPS.")]#
property lead_times: LeadTimes | None#
property preserve_dims: list[StandardDim]#

The dimensions to preserve.

verification_pair_ids_valid()#

Check provided filter for verification pairs contains valid ids.

Return type:

Self

property verification_pairs: list[VerificationPair]#

The configured variable pairs.

If the verification_pairs element is configured for the score, filter only these ids from the verification_pairs defined in general config.

general#
verification_pair_ids#
reduce_dims#
class veriflow.scores.probabilistic.CrpsForEnsemble(config)[source]#

Implementation for CRPS for an ensemble.

Parameters:

config (CrpsForEnsembleConfig)

kind: str = 'crps_for_ensemble'#
config_class#

alias of CrpsForEnsembleConfig

supported_data_types: ClassVar[set[DataType]] = {DataType.simulated_forecast_ensemble}#
config: CrpsForEnsembleConfig#
compute(obs, sim)[source]#

Compute the CRPS for an ensemble of forecasts and observations.

Parameters:
Return type:

Dataset | DataArray

classmethod from_config(raw_config)#

Initialize class from config dict.

Parameters:

raw_config (dict[str, Any])

Return type:

Self

validate_and_compute(obs, sim)#

Validate and compute.

Parameters:
Return type:

DataArray | Dataset

class veriflow.scores.probabilistic.CrpsForEnsembleConfig(*, reduce_dims=<factory>, score_adapter, general, verification_pair_ids=[], method='ecdf', **extra_data)[source]#

Configuration for CRPS for ensemble.

For reference, see: See: https://scores.readthedocs.io/en/stable/api.html#scores.probability.crps_for_ensemble

Parameters:
score_adapter: Literal[ScoreKind.crps_for_ensemble]#
method: Annotated[Literal['ecdf', 'fair'], FieldInfo(annotation=NoneType, required=False, default='ecdf', description='Method to compute the cumulative distribution function from an ensemble.')]#
property lead_times: LeadTimes | None#
property preserve_dims: list[StandardDim]#

The dimensions to preserve.

verification_pair_ids_valid()#

Check provided filter for verification pairs contains valid ids.

Return type:

Self

property verification_pairs: list[VerificationPair]#

The configured variable pairs.

If the verification_pairs element is configured for the score, filter only these ids from the verification_pairs defined in general config.

general#
verification_pair_ids#
reduce_dims#
class veriflow.scores.probabilistic.RankHistogram(config)[source]#

Compute the rank histogram (Talagrand diagram) over the specified dimensions.

For external documentation, see below: https://xskillscore.readthedocs.io/en/stable/api/xskillscore.rank_histogram.html?highlight=rank%20histogram#xskillscore.rank_histogram

Parameters:

config (RankHistogramConfig)

kind: str = 'rank_histogram'#
config_class#

alias of RankHistogramConfig

supported_data_types: ClassVar[set[DataType]] = {DataType.simulated_forecast_ensemble}#
config: RankHistogramConfig#
compute(obs, sim)[source]#

Compute the histogram of ranks over the specified dimensions.

Parameters:
Return type:

DataArray | Dataset

classmethod from_config(raw_config)#

Initialize class from config dict.

Parameters:

raw_config (dict[str, Any])

Return type:

Self

validate_and_compute(obs, sim)#

Validate and compute.

Parameters:
Return type:

DataArray | Dataset

class veriflow.scores.probabilistic.RankHistogramConfig(*, reduce_dims=<factory>, score_adapter, general, verification_pair_ids=[], **extra_data)[source]#

A rank histogram config element.

Parameters:
score_adapter: Literal[ScoreKind.rank_histogram]#
property lead_times: LeadTimes | None#
property preserve_dims: list[StandardDim]#

The dimensions to preserve.

verification_pair_ids_valid()#

Check provided filter for verification pairs contains valid ids.

Return type:

Self

property verification_pairs: list[VerificationPair]#

The configured variable pairs.

If the verification_pairs element is configured for the score, filter only these ids from the verification_pairs defined in general config.

general#
verification_pair_ids#
reduce_dims#