improver.calibration package
Submodules
- improver.calibration.beta_recalibration module
- improver.calibration.dataframe_utilities module
- Ingestion of DataFrames into iris cubes
_dataframe_column_check()_define_height_coord()_define_time_coord()_drop_duplicates()_ensure_consistent_static_cols()_fill_missing_entries()_prepare_dataframes()_preprocess_temporal_columns()_quantile_check()_training_dates_for_calibration()_unique_check()forecast_and_truth_dataframes_to_cubes()forecast_dataframe_to_cube()get_forecast_representation()truth_dataframe_to_cube()
- improver.calibration.dz_rescaling module
- improver.calibration.ensemble_calibration module
- Ensemble Model Output Statistics (EMOS)
ApplyEMOSCalibratedForecastDistributionParametersCalibratedForecastDistributionParameters.__init__()CalibratedForecastDistributionParameters._abc_implCalibratedForecastDistributionParameters._calculate_location_parameter_from_mean()CalibratedForecastDistributionParameters._calculate_location_parameter_from_realizations()CalibratedForecastDistributionParameters._calculate_scale_parameter()CalibratedForecastDistributionParameters._create_output_cubes()CalibratedForecastDistributionParameters._diagnostic_match()CalibratedForecastDistributionParameters._spatial_domain_match()CalibratedForecastDistributionParameters.process()
ContinuousRankedProbabilityScoreMinimisersContinuousRankedProbabilityScoreMinimisers.BAD_VALUEContinuousRankedProbabilityScoreMinimisers.TOLERATED_PERCENTAGE_CHANGEContinuousRankedProbabilityScoreMinimisers.__init__()ContinuousRankedProbabilityScoreMinimisers._abc_implContinuousRankedProbabilityScoreMinimisers._calculate_percentage_change_in_last_iteration()ContinuousRankedProbabilityScoreMinimisers._minimise_caller()ContinuousRankedProbabilityScoreMinimisers._normal_crps_preparation()ContinuousRankedProbabilityScoreMinimisers._prepare_forecasts()ContinuousRankedProbabilityScoreMinimisers._process_points_independently()ContinuousRankedProbabilityScoreMinimisers._process_points_together()ContinuousRankedProbabilityScoreMinimisers.calculate_normal_crps()ContinuousRankedProbabilityScoreMinimisers.calculate_truncated_normal_crps()ContinuousRankedProbabilityScoreMinimisers.process()
EstimateCoefficientsForEnsembleCalibrationEstimateCoefficientsForEnsembleCalibration.__init__()EstimateCoefficientsForEnsembleCalibration._abc_implEstimateCoefficientsForEnsembleCalibration._add_predictor_coords()EstimateCoefficientsForEnsembleCalibration._create_cubelist()EstimateCoefficientsForEnsembleCalibration._create_temporal_coordinates()EstimateCoefficientsForEnsembleCalibration._get_spatial_associated_coordinates()EstimateCoefficientsForEnsembleCalibration._set_attributes()EstimateCoefficientsForEnsembleCalibration._validate_distribution()EstimateCoefficientsForEnsembleCalibration.compute_initial_guess()EstimateCoefficientsForEnsembleCalibration.create_coefficients_cubelist()EstimateCoefficientsForEnsembleCalibration.guess_and_minimise()EstimateCoefficientsForEnsembleCalibration.mask_cube()EstimateCoefficientsForEnsembleCalibration.process()
- improver.calibration.rainforest_calibration module
- RainForests calibration
ApplyRainForestsCalibrationApplyRainForestsCalibration._abc_implApplyRainForestsCalibration._check_num_features()ApplyRainForestsCalibration._get_feature_splits()ApplyRainForestsCalibration._get_num_features()ApplyRainForestsCalibration._parse_model_config()ApplyRainForestsCalibration.check_filenames()ApplyRainForestsCalibration.process()
ApplyRainForestsCalibrationLightGBMApplyRainForestsCalibrationLightGBM.__init__()ApplyRainForestsCalibrationLightGBM._abc_implApplyRainForestsCalibrationLightGBM._align_feature_variables()ApplyRainForestsCalibrationLightGBM._calculate_threshold_probabilities()ApplyRainForestsCalibrationLightGBM._evaluate_probabilities()ApplyRainForestsCalibrationLightGBM._get_ensemble_distributions()ApplyRainForestsCalibrationLightGBM._get_num_features()ApplyRainForestsCalibrationLightGBM._make_decreasing()ApplyRainForestsCalibrationLightGBM._prepare_features_array()ApplyRainForestsCalibrationLightGBM._prepare_threshold_probability_cube()ApplyRainForestsCalibrationLightGBM.process()
ApplyRainForestsCalibrationTreelite
- improver.calibration.reliability_calibration module
AggregateReliabilityCalibrationTablesApplyReliabilityCalibrationApplyReliabilityCalibration.__init__()ApplyReliabilityCalibration._abc_implApplyReliabilityCalibration._apply_calibration()ApplyReliabilityCalibration._apply_point_by_point_calibration()ApplyReliabilityCalibration._calculate_reliability_probabilities()ApplyReliabilityCalibration._ensure_monotonicity_across_thresholds()ApplyReliabilityCalibration._extract_matching_reliability_table()ApplyReliabilityCalibration._interpolate()ApplyReliabilityCalibration.process()
ConstructReliabilityCalibrationTablesConstructReliabilityCalibrationTables.__init__()ConstructReliabilityCalibrationTables._abc_implConstructReliabilityCalibrationTables._add_reliability_tables()ConstructReliabilityCalibrationTables._create_probability_bins_coord()ConstructReliabilityCalibrationTables._create_reliability_table_coords()ConstructReliabilityCalibrationTables._create_reliability_table_cube()ConstructReliabilityCalibrationTables._define_metadata()ConstructReliabilityCalibrationTables._define_probability_bins()ConstructReliabilityCalibrationTables._populate_masked_reliability_bins()ConstructReliabilityCalibrationTables._populate_reliability_bins()ConstructReliabilityCalibrationTables.process()
ManipulateReliabilityTableManipulateReliabilityTable.__init__()ManipulateReliabilityTable._abc_implManipulateReliabilityTable._assume_constant_observation_frequency()ManipulateReliabilityTable._combine_bin_pair()ManipulateReliabilityTable._combine_undersampled_bins()ManipulateReliabilityTable._create_new_bin_coord()ManipulateReliabilityTable._enforce_min_count_and_montonicity()ManipulateReliabilityTable._extract_reliability_table_components()ManipulateReliabilityTable._sum_pairs()ManipulateReliabilityTable._update_reliability_table()ManipulateReliabilityTable.process()
- improver.calibration.simple_bias_correction module
- improver.calibration.utilities module
Module contents
init for calibration that contains functionality to split forecast, truth and coefficient inputs.
- split_forecasts_and_bias_files(cubes)[source]
Split the input forecast from the forecast error files used for bias-correction.
- Parameters:
cubes (
CubeList) – A list of input cubes which will be split into forecast and forecast errors.- Return type:
- Returns:
A cube containing the current forecast.
If found, a cube or cubelist containing the bias correction files.
- Raises:
ValueError – If multiple forecast cubes provided, when only one is expected.
ValueError – If no forecast is found.
- split_forecasts_and_coeffs(cubes, land_sea_mask_name=None)[source]
Split the input forecast, coefficients, static additional predictors, land sea-mask and probability template, if provided. The coefficients cubes and land-sea mask are identified based on their name. The static additional predictors are identified as not have a time coordinate. The current forecast and probability template are then split.
- Parameters:
- Returns:
A cube containing the current forecast.
If found, a cubelist containing the coefficients else None.
If found, a cubelist containing the static additional predictor else None.
If found, a land-sea mask will be returned, else None.
If found, a probability template will be returned, else None.
- Raises:
ValueError – If multiple items provided, when only one is expected.
ValueError – If no forecast is found.
- split_forecasts_and_truth(cubes, truth_attribute)[source]
A common utility for splitting the various inputs cubes required for calibration CLIs. These are generally the forecast cubes, historic truths, and in some instances a land-sea mask is also required.
- Parameters:
cubes (
List[Cube]) – A list of input cubes which will be split into relevant groups. These include the historical forecasts, in the format supported by the calibration CLIs, and the truth cubes.truth_attribute (
str) – An attribute and its value in the format of “attribute=value”, which must be present on truth cubes.
- Return type:
- Returns:
A cube containing all the historic forecasts.
A cube containing all the truth data.
If found within the input cubes list a land-sea mask will be returned, else None is returned.
- Raises:
ValueError – An unexpected number of distinct cube names were passed in.
IOError – More than one cube was identified as a land-sea mask.
IOError – Missing truth or historical forecast in input cubes.
- validity_time_check(forecast, validity_times)[source]
Check the validity time of the forecast matches the accepted validity times within the validity times list.
- Parameters:
forecast (
Cube) – Cube containing the forecast to be calibrated.validity_times (
List[str]) – Times at which the forecast must be valid. This must be provided as a four digit string (HHMM) where the first two digits represent the hour and the last two digits represent the minutes e.g. 0300 or 0315. If the forecast provided is at a different validity time then no coefficients will be applied.
- Return type:
- Returns:
If the validity time within the cube matches a validity time within the validity time list, then True is returned. Otherwise, False is returned.