From 65d76f7d2263886483ab2112c08ef04269fe2b86 Mon Sep 17 00:00:00 2001 From: Max White Date: Tue, 9 Dec 2025 14:51:34 +0000 Subject: [PATCH 1/9] Add quantile mapping and associated tests --- improver/calibration/quantile_mapping.py | 331 +++++++ improver/cli/quantile_mapping.py | 63 ++ improver_tests/acceptance/SHA256SUMS | 886 +++++++++--------- .../acceptance/test_quantile_mapping.py | 113 +++ .../calibration/test_QuantileMapping.py | 384 ++++++++ 5 files changed, 1312 insertions(+), 465 deletions(-) create mode 100644 improver/calibration/quantile_mapping.py create mode 100644 improver/cli/quantile_mapping.py create mode 100644 improver_tests/acceptance/test_quantile_mapping.py create mode 100644 improver_tests/calibration/test_QuantileMapping.py diff --git a/improver/calibration/quantile_mapping.py b/improver/calibration/quantile_mapping.py new file mode 100644 index 0000000000..094e7d5760 --- /dev/null +++ b/improver/calibration/quantile_mapping.py @@ -0,0 +1,331 @@ +# (C) Crown Copyright, Met Office. All rights reserved. +# +# This file is part of 'IMPROVER' and is released under the BSD 3-Clause license. +# See LICENSE in the root of the repository for full licensing details. +"""Module containing quantile mapping classes.""" + +from typing import Literal, Optional + +import numpy as np +from iris.cube import Cube + +from improver import PostProcessingPlugin + + +# @njit +def _build_empirical_cdf(data: np.ndarray) -> tuple[np.ndarray, np.ndarray]: + """Build empirical cumulative distribution function (CDF). + + Args: + data: Input data values. + + Returns: + Tuple of (sorted_values, quantiles) representing the empirical CDF. + + """ + sorted_values = np.sort(data) + num_points = len(sorted_values) + quantiles = np.arange(1, num_points + 1) / num_points + return sorted_values, quantiles + + +# @njit +def _inverted_cdf(data: np.ndarray, quantiles: np.ndarray) -> np.ndarray: + """Calculate values using discrete quantile lookup (rounding down to nearest data + point). + + This method rounds each quantile down to the nearest available data point in the + dataset, creating a step-function mapping. Faster but less smooth than + interpolation. Always returns actual values from the data. Taken + from https://github.com/ecmwf-projects/ibicus/blob/main/ibicus/utils/_math_utils.py. + + Args: + data: + Data values defining the distribution. + quantiles: + Quantiles to evaluate (between 0 and 1). + + Returns: + Values corresponding to the requested quantiles. + """ + sorted_values = np.sort(data) + num_points = sorted_values.shape[0] + floored_indices = np.array(np.floor((num_points - 1) * quantiles), dtype=np.int32) + return sorted_values[floored_indices] + + +# @njit +def _interpolated_inverted_cdf(data: np.ndarray, quantiles: np.ndarray) -> np.ndarray: + """Calculate values at provided quantiles using linear interpolation. + + This method is slower but produces a continuous mapping. + + Args: + data: + Data values defining the distribution. + quantiles: + Quantiles to evaluate (between 0 and 1). + + Returns: + Values corresponding to the requested quantiles. + """ + sorted_values, empirical_quantiles = _build_empirical_cdf(data) + return np.interp(quantiles, empirical_quantiles, sorted_values) + + +# @njit +def quantile_mapping( + reference_data: np.ndarray, + forecast_data: np.ndarray, + values_to_map: Optional[np.ndarray] = None, + mapping_method: Literal["floor", "interp"] = "floor", +) -> np.ndarray: + """Apply quantile mapping to transform forecast values to match a reference + distribution. + + Guidance on method choice + ------------------------- + Consider the following example. + - reference_data: [10, 20, 30, 40, 50] + - forecast_data: [5, 15, 25, 35, 45] + - values_to_map: [7.5, 17.5, 27.5, 37.5, 47.5, 60] + + The forecast data systematically underestimates the reference data by 5 units. + The following mapped values will be produced with each approach: + - floor: [20, 20, 30, 40, 50, 50] + - interp: [12.5, 22.5, 32.5, 42.5, 50.0, 50.0] + + Args: + reference_data: + Target distribution (observed historical data). + forecast_data: + Source distribution (biased model forecasts). + values_to_map: + New forecast values to transform. If None, applies + quantile-mapped transformation to forecast_data. + mapping_method: + mapping_method for inverse CDF calculation: + - "floor": Use floored index lookup (discrete steps). Faster. + - "interp": Use linear interpolation (continuous). Slower. + + Returns: + Bias-corrected values in the reference distribution. + + Raises: + ValueError: + If an unknown method is provided. + """ + if values_to_map is None: + values_to_map = forecast_data + + if mapping_method not in ["floor", "interp"]: + raise ValueError( + f"Unknown mapping method: {mapping_method}. Choose 'floor' or 'interp'." + ) + + # Build empirical CDF for forecast distribution + sorted_forecast_values, forecast_empirical_quantiles = _build_empirical_cdf( + forecast_data + ) + + # Map values to quantiles in forecast distribution (clips to [0, 1]) + target_quantiles = np.interp( + values_to_map, sorted_forecast_values, forecast_empirical_quantiles + ) + + # Invert CDF using chosen method + if mapping_method == "floor": + corrected_values = _inverted_cdf(reference_data, target_quantiles) + elif mapping_method == "interp": + corrected_values = _interpolated_inverted_cdf(reference_data, target_quantiles) + + return corrected_values + + +def _convert_cubes_to_common_units( + reference_cube: Cube, + forecast_cube: Cube, + forecast_to_calibrate: Optional[Cube] = None, +) -> tuple[Cube, Cube, Optional[Cube]]: + """Convert all cubes to common units without modifying originals. + + Args: + reference_cube: + The reference forecast cube. + forecast_cube: + The forecast cube to calibrate. + forecast_to_calibrate: + Optional different forecast cube to calibrate. + + Returns: + Tuple of (reference_cube, forecast_cube, forecast_to_calibrate) + all converted to common units. + + Raises: + ValueError: If cubes have incompatible units. + """ + target_units = ( + forecast_to_calibrate.units + if forecast_to_calibrate is not None + else forecast_cube.units + ) + + # Convert each cube to target_units if needed + converted_cubes = [] + for cube in [reference_cube, forecast_cube, forecast_to_calibrate]: + if cube is not None and cube.units != target_units: + try: + cube = cube.copy() + cube.convert_units(target_units) + except ValueError: + raise ValueError( + f"Cannot convert cube with units {cube.units} " + f"to target units {target_units}" + ) + converted_cubes.append(cube) + + return tuple(converted_cubes) + + +class QuantileMapping(PostProcessingPlugin): + """Apply quantile mapping bias correction to forecast data.""" + + def __init__(self, preservation_threshold: Optional[float] = None) -> None: + """Initialize the quantile mapping plugin. + + Args: + preservation_threshold: + Optional threshold value below which (exclusive) the forecast + values are not adjusted to be like the reference. Useful for variables + such as precipitation, where a user may be wary of mapping 0mm/hr + precipitation values to non-zero values. + """ + self.preservation_threshold = preservation_threshold + + def process( + self, + reference_cube: Cube, + forecast_cube: Cube, + forecast_to_calibrate: Optional[Cube] = None, + mapping_method: Literal["floor", "interp"] = "floor", + ) -> Cube: + """Adjust forecast values to match the statistical distribution of reference + data. + + This calibration method corrects biases in forecast data by transforming its + values to follow the same distribution as a reference dataset. + Unlike grid-point methods that match values at each location, this approach uses + all data across the spatial domain to build the statistical distributions. + + This is particularly useful when forecasts have been smoothed and you want to + restore realistic variation in the values while preserving the spatial patterns. + + Args: + reference_cube: + The reference data that define what the "correct" distribution + should look like. + forecast_cube: + The forecast data you want to correct (e.g. smoothed model output). + forecast_to_calibrate: + Optional different forecast values to correct using the same mapping. + If not provided, the forecast_cube data itself will be corrected. + mapping_method: + Method for inverse CDF calculation. Either "floor" (discrete steps, + faster) or "interp" (linear interpolation; slower, continuous). + + Returns: + Calibrated forecast cube with quantiles mapped to the reference distribution + or forecast_to_calibrate data adjusted with the same learned mapping. + + Raises: + ValueError: If reference and forecast cubes have incompatible units. + """ + + # Convert all cubes to common units + reference_cube, forecast_cube, forecast_to_calibrate = ( + _convert_cubes_to_common_units( + reference_cube, forecast_cube, forecast_to_calibrate + ) + ) + + # Create a copy of the forecast_cube or forecast_to_calibrate cube to hold + # output data and preserve metadata. + output_cube = ( + forecast_cube.copy() + if forecast_to_calibrate is None + else forecast_to_calibrate.copy() + ) + + # Extract data, handling masked arrays + if np.ma.is_masked(reference_cube.data): + reference_data_flat = reference_cube.data.filled().flatten() + else: + reference_data_flat = reference_cube.data.flatten() + + if np.ma.is_masked(forecast_cube.data): + forecast_data_flat = forecast_cube.data.filled().flatten() + else: + forecast_data_flat = forecast_cube.data.flatten() + + # Determine values to map and output shape + if forecast_to_calibrate is None: + # Use forecast_cube data + if np.ma.is_masked(output_cube.data): + values_to_map_flat = output_cube.data.filled().flatten() + else: + values_to_map_flat = output_cube.data.flatten() + output_shape = forecast_cube.shape + output_mask = ( + forecast_cube.data.mask if np.ma.is_masked(forecast_cube.data) else None + ) + else: + # Use provided cube's data + output_cube = forecast_to_calibrate.copy() + if np.ma.is_masked(forecast_to_calibrate.data): + values_to_map_flat = forecast_to_calibrate.data.filled().flatten() + else: + values_to_map_flat = forecast_to_calibrate.data.flatten() + output_shape = forecast_to_calibrate.shape + output_mask = ( + forecast_to_calibrate.data.mask + if np.ma.is_masked(forecast_to_calibrate.data) + else None + ) + + corrected_values_flat = quantile_mapping( + reference_data_flat, forecast_data_flat, values_to_map_flat, mapping_method + ) + + # Reshape mapped data to original shape and ensure float32 + corrected_data_reshaped = np.reshape( + corrected_values_flat, output_shape + ).astype(np.float32) + + # Preserve mask if original data was masked + if output_mask is not None: + output_cube.data = np.ma.masked_array( + corrected_data_reshaped, mask=output_mask + ) + else: + output_cube.data = corrected_data_reshaped + + # Preserve values below preservation_threshold if provided + if self.preservation_threshold is not None: + # Get the source data to preserve (forecast_cube or forecast_to_calibrate) + original_source_data = ( + forecast_cube.data + if forecast_to_calibrate is None + else forecast_to_calibrate.data + ) + mask_below_threshold = original_source_data < self.preservation_threshold + # Update masked arrays only if input was masked + if np.ma.is_masked(original_source_data): + output_cube.data = np.ma.where( + mask_below_threshold, original_source_data, output_cube.data + ) + else: + output_cube.data = np.where( + mask_below_threshold, original_source_data, output_cube.data + ) + + return output_cube diff --git a/improver/cli/quantile_mapping.py b/improver/cli/quantile_mapping.py new file mode 100644 index 0000000000..b951bbab3e --- /dev/null +++ b/improver/cli/quantile_mapping.py @@ -0,0 +1,63 @@ +#!/usr/bin/env python +# (C) Crown Copyright, Met Office. All rights reserved. +# +# This file is part of 'IMPROVER' and is released under the BSD 3-Clause license. +# See LICENSE in the root of the repository for full licensing details. +"""CLI to apply quantile mapping""" + +from improver import cli + + +@cli.clizefy +@cli.with_output +def process( + reference_cube: cli.inputcube, + forecast_cube: cli.inputcube, + *, + mapping_method: str = "floor", + preservation_threshold: float = None, + forecast_to_calibrate: cli.inputcube = None, +): + """Adjust forecast values to match the statistical distribution of reference + data. + + Unlike grid-point methods that match values at each location, this approach uses + all data across the spatial domain to build the statistical distributions. This is + particularly useful when forecasts have been smoothed and you want to restore + realistic variation in the values while preserving the spatial patterns. + + Args: + reference_cube: + The reference data that define what the "correct" distribution + should look like. + forecast_cube: + The forecast data you want to correct (e.g. smoothed model output). + forecast_to_calibrate: + Optional different forecast values to transform using the learned + mapping. If not provided, the forecast_cube data itself will be + corrected. + mapping_method: + Method for inverse CDF calculation. Either "floor" (discrete steps, + faster) or "interp" (linear interpolation, slower but continuous). + preservation_threshold: + Optional threshold value below which (exclusive) the forecast values + are not adjusted. Useful for variables like precipitation where you + may want to preserve small/zero values. + + Returns: + Calibrated forecast cube with quantiles mapped to the reference + distribution or forecast_to_calibrate data adjusted with the same learned + mapping. + + Raises: + ValueError: If reference and forecast cubes have incompatible units. + """ + from improver.calibration.quantile_mapping import QuantileMapping + + plugin = QuantileMapping(preservation_threshold=preservation_threshold) + return plugin.process( + reference_cube, + forecast_cube, + forecast_to_calibrate=forecast_to_calibrate, + mapping_method=mapping_method, + ) diff --git a/improver_tests/acceptance/SHA256SUMS b/improver_tests/acceptance/SHA256SUMS index 992e92034a..bf59822253 100644 --- a/improver_tests/acceptance/SHA256SUMS +++ b/improver_tests/acceptance/SHA256SUMS @@ -1,70 +1,70 @@ -7b09ea9c0d798eb9d95496262f1b2328ee64b0ef0664d063fc540450b88bc880 ./aggregate-reliability-tables/basic/collapse_lat_lon_kgo.nc -a3c1d9f50342b21f0b1949c0c1717219f09c2044f2338fec672442b479b0de1e ./aggregate-reliability-tables/basic/multiple_tables_kgo.nc +047420170787241db82c89529c63fd6631533c163830a3fa3d9b8363af6958aa ./aggregate-reliability-tables/basic/collapse_lat_lon_kgo.nc +a6a84d0142796e4b9ca7bd3f0ad78586ea77684f5df02732fdda2ab54233cbb6 ./aggregate-reliability-tables/basic/multiple_tables_kgo.nc c0c38c5b1ba16fd5f7310b6d2ee0ab9d8b6bcdb3b23c8475193eefae1eb14a17 ./aggregate-reliability-tables/basic/reliability_table.nc 9eeda326cdc66d93e591c87e9f7ceb17cea329397169fb0518f50da3bf4dc61f ./aggregate-reliability-tables/basic/reliability_table_2.nc 9d000581df59946c188943734f480182fcc05eb3cd6c0e38d1dc4fb0c1e93b93 ./apply-beta-recalibration/config.json 68791ea2cedce742ddcd8d9d3cc2fd72bcbb603c0b98a694cddb0d32713019e8 ./apply-beta-recalibration/forecast.nc -7561f0f9c7baebe9688a341cc142113259adcdee3dff9c491e3934fb3019bf93 ./apply-beta-recalibration/kgo.nc +93f8710ce0672e4d55cb627ff030c4ef3d40f40bf131a359b1d83a4595a71ee6 ./apply-beta-recalibration/kgo.nc d82436afd61b2f9739e920c61293dc2bac32292f98255c86a632dd3dff504394 ./apply-bias-correction/20220814T0300Z-PT0003H00M-wind_speed_at_10m.nc 5d259b136452c34a790d97359eebe0e250995463d040d24b77588e43236596cf ./apply-bias-correction/fcst_with_comment/kgo.nc 6b878745e994b0a1516a7b790983c129b87d8f53f6d0e1661e56b1f7ca9fc67a ./apply-bias-correction/masked_bias_data/20220814T0300Z-PT0003H00M-wind_speed_at_10m.nc 7e4b45553113d27002ab0a42a8b18bfa3b3a7d1d7afda3cd624fd419144ab29b ./apply-bias-correction/masked_bias_data/bias_data/20220813T0300Z-PT0003H00M-wind_speed_at_10m.nc -1f5dbe5b0f9e479aeb5110c121128aee02b5add4f75fcfc6692fdf432d54ff6d ./apply-bias-correction/masked_bias_data/fill_masked_values/kgo.nc -5ce5ab12c86c6e90b899b57aa9a00b8c4229184f4b7a03f2cac94ce7e72fc2e1 ./apply-bias-correction/masked_bias_data/retain_mask/kgo.nc +bd26f80cb7ae8e0592dd35ef5775e3a5b2f70365e18fc14eff0c8fdb2ed83e31 ./apply-bias-correction/masked_bias_data/fill_masked_values/kgo.nc +0b79b5cbb9c6b5d0b810be55773997375b7ded89c53c9783aecb5ec2dc830132 ./apply-bias-correction/masked_bias_data/retain_mask/kgo.nc a7039c83651e619e7360913b7a3b593dbc6327a86656f9884ae0a340ba16b1df ./apply-bias-correction/multiple_bias_files/bias_data/20220811T0300Z-PT0003H00M-wind_speed_at_10m.nc fbe539f8793d944c55f4c27ebead909787a8e260002f625c773b85c79ee77bab ./apply-bias-correction/multiple_bias_files/bias_data/20220812T0300Z-PT0003H00M-wind_speed_at_10m.nc 6be1ef436b90fffbec70100445692508412265b262037487feb9f78dfa1da8a7 ./apply-bias-correction/multiple_bias_files/bias_data/20220813T0300Z-PT0003H00M-wind_speed_at_10m.nc -9029542a53479f4086b3e0de7e87d2f29c2fb66cbfbe422ee64cbc2cf6e36a46 ./apply-bias-correction/multiple_bias_files/kgo.nc +591bad70882d35c0a4fa75ae31903d4dcf72ff384731cc2ca23f311b859155c3 ./apply-bias-correction/multiple_bias_files/kgo.nc 2ba4874e063eaddaacf9c4e5b84f9ef8f2ce18d58002daf7eaa3e1c8ead18183 ./apply-bias-correction/single_bias_file/bias_data/20220813T0300Z-PT0003H00M-wind_speed_at_10m.nc -9029542a53479f4086b3e0de7e87d2f29c2fb66cbfbe422ee64cbc2cf6e36a46 ./apply-bias-correction/single_bias_file/kgo.nc -a30bf337fbf34b33e4941748db6db11dccd0fe2ea5ee00c0e2e474ff621f3aff ./apply-bias-correction/with_bounds/kgo.nc +591bad70882d35c0a4fa75ae31903d4dcf72ff384731cc2ca23f311b859155c3 ./apply-bias-correction/single_bias_file/kgo.nc +33a5f82c499c8059afb3a64193d58ffb75f40183447af0608f67ad2daf19483b ./apply-bias-correction/with_bounds/kgo.nc e50a8cdbb61ffc505e87ca15ed6b1c4981870d9b28d688e0e7502c7b1b3a75ce ./apply-dz-rescaling/20230220T1200Z-PT0006H00M-wind_speed_at_10m.nc -0d4389da6525485e9445b67d333180cfeb821b9e77b7a96114387c1e9a398120 ./apply-dz-rescaling/kgo.nc +f8243f70ba344d219c79a832f399d2cf31b7d06fe52da159900e8c82abba99a0 ./apply-dz-rescaling/kgo.nc b339ef0d6eafeb0d334d4b3c15b24da776856796701e7aca25c5de564eb55614 ./apply-dz-rescaling/scaled_dz.nc -ec562809bc9f7dd94fc707bf18f775bc8dbf3fd30b55f54723c146664a8836ea ./apply-emos-coefficients/alternative_percentiles/kgo.nc +52b02f4c6e4adc604d4961ce87b4ada5985d07eac1d3c703cbab985de223228f ./apply-emos-coefficients/alternative_percentiles/kgo.nc ff3a00a16fa94697d6e529a6f98384e4602f70a7d6ce26669c3947c8ac2e6f7e ./apply-emos-coefficients/land_sea/landmask.nc -2208d428c65a9dab26df8f18cd2d4c9cb995803f7b51df1327a0679b5ebd74e6 ./apply-emos-coefficients/land_sea/percentiles_kgo.nc -3266e699a694c6d8d61a68ba8343b95571c4c91bb6bdafce4591853d997c2612 ./apply-emos-coefficients/land_sea/probabilities_kgo.nc -4a66b42f247ca88f61b9fde2acbedfc05164343f0f6b43c155e068e0000c7ede ./apply-emos-coefficients/land_sea/realizations_kgo.nc -a809cb7eb51c5cc35403e0f9d357a6bdf11431bb05ac6ba9bc10d58abe636d41 ./apply-emos-coefficients/normal/input.nc -106db39cb196071a32bf3de9a9ac5b36604086f2ad15b2546b37c0df981f42d3 ./apply-emos-coefficients/normal/kgo.nc -5e0eee72364cb18716e363390caa4c706c5d49e6c649742d53a4594c6638eae7 ./apply-emos-coefficients/normal/kgo_with_comment.nc +bee125371a9db4c80fb7f8d1b0644a2710903aad27023b5939331f7ec5f3b617 ./apply-emos-coefficients/land_sea/percentiles_kgo.nc +7f5cabc9b5de4c13aebf833d5372159edf1deafd19bba8721318b889a09b407f ./apply-emos-coefficients/land_sea/probabilities_kgo.nc +fa8efb4b54430cf6f5e4782b9ec1a0c49dd4102d228dae04bd250ec7b0b9b481 ./apply-emos-coefficients/land_sea/realizations_kgo.nc +4eaedd69b7d0bbc4b99fa598ffffdb39454962d8e9c33c3d75f58d1de9f25313 ./apply-emos-coefficients/normal/input.nc +0c5839e3f3a9d557a24757c292099af859ff7ce27c75de7ba8b98a46828b3912 ./apply-emos-coefficients/normal/kgo.nc +99cfb7112cfd01f45bc65db0e492e6eb7017064bddab9b390cc1043796c26cf7 ./apply-emos-coefficients/normal/kgo_with_comment.nc 7c4033340c89788ba3e55f560fbe2f47ed8bac14c7b47cdf71312e115caf7cfc ./apply-emos-coefficients/normal/normal_coefficients.nc d51fde4566a4d9695a3ba26622ef8505a879131e10f438ab19d4594a57997ad7 ./apply-emos-coefficients/percentiles/input.nc -f8104f50b511035dd7c297713522f5c755df1c962735b767d21e9651935c043d ./apply-emos-coefficients/percentiles/kgo.nc -20019ea3a0be3ace9a4c56fbbcc89c6914b7dd55977157831fb81a65c905ea07 ./apply-emos-coefficients/probabilities/input.nc -46141a8bff954a055d3fc1c7669740ff16298c24fbbfff7f502b2e95856e0b12 ./apply-emos-coefficients/probabilities/kgo.nc -0d24b7d77d59d79958f26ce07eb070c386a876e01ad49ce2e6bcc8bb93ceac05 ./apply-emos-coefficients/probabilities/kgo_unchanged_with_comment.nc +7e673a16dd80edb42f890771184a4ad8592a53bd0d0d18d7cd316c489c9b4d7d ./apply-emos-coefficients/percentiles/kgo.nc +bd56f09033f7a37323e04be7b509e8e363eb2474c04fb8aa4fb5e3769acb81f7 ./apply-emos-coefficients/probabilities/input.nc +8eedf1e3cbee70e33fc281f2da06f89895e68c0d8a6ad3099b6c9522b6c4ee45 ./apply-emos-coefficients/probabilities/kgo.nc +fcd4a3af2365e327eac109dba028cda9b036176e71fdcd077abfe7b99ab97b12 ./apply-emos-coefficients/probabilities/kgo_unchanged_with_comment.nc 12110777cf3db3c8d76daa06f78760f8e314038262f359e659d16fa5d49b98bf ./apply-emos-coefficients/realizations/realizations_coefficients.nc -e1c339a144eda757f798637647d29e0aec34fb6282813a97d8d2737e8775fe75 ./apply-emos-coefficients/realizations/realizations_kgo.nc +7c5cd2382cad998e22ef0d4210bf65d131587514de2b5cf4ad1fe3c30fede188 ./apply-emos-coefficients/realizations/realizations_kgo.nc 615ddb59a838024bb055b9cbbb44b7c18ce28d5734952777774980760e0f36fc ./apply-emos-coefficients/rebadged_percentiles/input.nc 9b48f3eabeed93a90654a5e6a2f06fcb7297cdba40f650551d99a5e310cf27dd ./apply-emos-coefficients/sites/additional_predictor/altitude.nc 84fc5fbdc782ecff9262f26232a971b327e3adbf3f0b122d8c3d4b147fec172b ./apply-emos-coefficients/sites/additional_predictor/coefficients.nc -1d90bac3f6c0c47802985b9fc0ae9f7ba6ad58ca81ade9b237720bc214c466fc ./apply-emos-coefficients/sites/additional_predictor/percentile_kgo.nc -aa5cb371504b89ff9d6c35d458f5ef6a67fd380fd8d1d82d397470e84d6a25d5 ./apply-emos-coefficients/sites/additional_predictor/probability_kgo.nc -d0d69815b133927325a4e29d68050ce70f1c4a7f5bdf5bdf90a9a0eb9eddbc2a ./apply-emos-coefficients/sites/additional_predictor/probability_template.nc -b505bcaab9bd585b7996d5e7ce39d856d139cc979e264002d2b97be98412b986 ./apply-emos-coefficients/sites/additional_predictor/probability_template_kgo.nc +e2551504357f9c8e98e569ff7fa3ba1d7f1c8ca02354d1045defa171b8bf00ff ./apply-emos-coefficients/sites/additional_predictor/percentile_kgo.nc +cba168f494f2fd91b6a6dc5a0844c03e9573747e91960eef33706fcdc7f30961 ./apply-emos-coefficients/sites/additional_predictor/probability_kgo.nc +ad84567485d14563d243cbef40a576488c074533978d94b4075d00950b7b8273 ./apply-emos-coefficients/sites/additional_predictor/probability_template.nc +66052676e8266c29fef7f3a1d5a1cedaa997f41ff0108b2aff33c71617d1bbed ./apply-emos-coefficients/sites/additional_predictor/probability_template_kgo.nc a0112b5a48ba99a1a4a345d43b0c453caaf25181504fb9a13786b5722f84cc10 ./apply-emos-coefficients/sites/offset/coefficients.nc -a70e3522ec55b7b4095884f400a9f7119f8ad162a16b0aa3f4a5618cccd8f7f9 ./apply-emos-coefficients/sites/offset/kgo.nc +22d950494dc9d76d642b0ecc75414e95bfb78fa693e5701fe7cd2fc462a0c6a7 ./apply-emos-coefficients/sites/offset/kgo.nc 2722b1d08a87cebf1f36ac914d5badb9af38859b2150da83311dc202ce9be4dd ./apply-emos-coefficients/sites/offset/offset_input.nc 3816678d85c6dd11ae60fdcc138be97119db3602eaea5ec767bb378bd5058cf5 ./apply-emos-coefficients/sites/percentile_input.nc 19d1c41f85ef9c9c57f915adb5caf154caba53f3ed02c23e0166fedaf02e1710 ./apply-emos-coefficients/sites/percentile_period/coefficients.nc -64c8594778b4595099324a2dfa7fe6148cba9e55dc426ca82a0eae1c1b96e3ed ./apply-emos-coefficients/sites/percentile_period/kgo.nc +20fb177c7b16bb7a2a62f95ec8e32beaa24118a1a16f2b77b0dfe6d8837949e3 ./apply-emos-coefficients/sites/percentile_period/kgo.nc 3f294c06421db32ea26f4b6200e10bbebd269252ea36c3077b27e5cd5719c63a ./apply-emos-coefficients/sites/percentile_period_input.nc 63291b3435066f0b0fc56bc78b9774e0e7457d5a6b20086a67ecc6eb826d618d ./apply-emos-coefficients/sites/point_by_point/coefficients.nc -117c932a7ba4f6730409fc325d145de683b906b1c01ae49e62caaf1b2692c2b9 ./apply-emos-coefficients/sites/point_by_point/kgo.nc +833a703e14a02999a7d70e9a37ce199ab36a09b13b96f87295a0fb91739658ce ./apply-emos-coefficients/sites/point_by_point/kgo.nc 0bc91af1e7003d696aa440a07d79e653bca566733cdf9bf525ca92cff821548f ./apply-emos-coefficients/sites/realization_input.nc 8085cb7a0e88266fedba841be50621fd6af3d6a669f045fcc0fae8e14f9ff9fe ./apply-emos-coefficients/subsetted_percentiles/input.nc -b19c09c17c77138f89eab94aab9f58d2667381622e724d2f8997f968bafd9383 ./apply-emos-coefficients/subsetted_percentiles/kgo.nc +50593394ae576f40d9af12058497ccb1780e77fb957d26b55ee5ce4b923e624d ./apply-emos-coefficients/subsetted_percentiles/kgo.nc 965a1f0565f9192d95eb01d0a61dc7bede6902f5e1a0481d92611e677841a139 ./apply-emos-coefficients/truncated_normal/input.nc -a1c9089ce512f4133dadc0029286f8adad173ee48dc87185a9c61fcfc9e6be7a ./apply-emos-coefficients/truncated_normal/kgo.nc +feb2d93cf96b05889571bcb348dfbb4d60cfc1f3d9b7343dcf7d85cf34339746 ./apply-emos-coefficients/truncated_normal/kgo.nc d2cab1d3d8aa588be08a3d7d65e95e859fed37daa767e8d4a2bdaae25702b9a8 ./apply-emos-coefficients/truncated_normal/truncated_normal_coefficients.nc 8330e013c590d2cadf4f39d35a40c967d46f5695097ef36dfb96fb89069af18b ./apply-height-adjustment/input_prob.nc 0caffe65e2178cbec6e818a3a0c17122c3cb706f124afa6e33e328a66f215457 ./apply-height-adjustment/input_realization.nc -75307f2c0a601ad56c119b8efb3580626bcb04b465881d4a9bd244ffcabc21e9 ./apply-height-adjustment/kgo_prob.nc -a8a456182264fde2cbbe011be061f93136919cf53925fec6318ae3e7d933fbf7 ./apply-height-adjustment/kgo_realization.nc +2fda31975f564f8f2a79cb1a7fe4b662e04017f4b63c70d15685e359edf07e8d ./apply-height-adjustment/kgo_prob.nc +df52902fd9cfab5c2f583f13af401e0c737ec7e73e9bb7907df82f230184f34f ./apply-height-adjustment/kgo_realization.nc 5495b2382fb2d33f34c726134496b0f198cc6378031b50c0e450f5ade5c17f83 ./apply-height-adjustment/neighbours.nc -2a887cb1e68892caa8b0a484015592818189ef3fadafe2233f30b3c3fe5565af ./apply-lapse-rate/basic/kgo.nc +abc718f2469ecbe0c4cd84e26f0adde87a65b1ae5fc17da60df27d9a3fe4871c ./apply-lapse-rate/basic/kgo.nc c7eb9bab2ad43ac19ecc071730479a9f27a58992fcb22050743d34cdf2ad9639 ./apply-lapse-rate/basic/ukvx_lapse_rate.nc 34efbac81d20f8cbae8f7881d984ce7fc9fb59d3f54e478611a914bf94b80dfc ./apply-lapse-rate/basic/ukvx_orography.nc 8ba644cd15747e89811cd6fe4bfdc4d79822ccd0bc4b2b17e03864bf08ff5b26 ./apply-lapse-rate/basic/ukvx_temperature.nc @@ -72,26 +72,19 @@ c7eb9bab2ad43ac19ecc071730479a9f27a58992fcb22050743d34cdf2ad9639 ./apply-lapse- 7672a8ca59ec7fe613a6ffcdaa6d28543019666d9c01fa97f905abf2105569e2 ./apply-lapse-rate/realizations/enukx_lapse_rate.nc 6eb89848a2a36007d9a2210e2ff4cb459921502329eb4bb6ef0bde74701d0c27 ./apply-lapse-rate/realizations/enukx_orography.nc 25eeaa6b86b95354efd9406b1f9f1b5b43f0a7dd46f75fc5f3d144f52a30059e ./apply-lapse-rate/realizations/enukx_temperature.nc -30dc30126050590de49fc7d192ff84423c91228c407a2ac693e0f8a60db4a6e2 ./apply-lapse-rate/realizations/kgo.nc -216ab74f8ffe8de6a496b51423d965eb51b9fc6528cfedab6b7dbc669fa8493e ./apply-mask/kgo.nc -a6239c8d7f59491d0ad1d69b1e53d43575025095b256c1e352034535440186db ./apply-mask/kgo_inverted.nc +a747cf91ea8a2b720e1a22a9569cc1a2c22bb7ad28282e661127413470ba0392 ./apply-lapse-rate/realizations/kgo.nc +e455d391d15c30fe3cf3680fa0c355a3d4f0a9a84450f685f618655eb962ff52 ./apply-mask/kgo.nc +a3aca2f841ff96a7780cb98a5ccf874001905f18db0c6166dffcf116a3f1b319 ./apply-mask/kgo_inverted.nc f33c0f3d10846ee69edd24fb318bebd4a2645363c89a434f56aeff24313fc886 ./apply-mask/mask.nc 9fba2a41268f30c530e9362bf15ef34c781d24b5e580589cec7715b1a6d25b27 ./apply-mask/wind_speed.nc 3a3d1b902e9e97f6ec7c74937e43dfce460c6599ef1890ac90f711959415f6ed ./apply-night-mask/global_basic/input.nc -a766e5137fc00e51ccaf39c9a463eefa0e56fb7c4d3b07b7dbbb5b02f201bd22 ./apply-night-mask/global_basic/kgo.nc +65ba596b39ae589e1033b8e35fcb71f341b2fe64337fc2e4d88edff4331925e9 ./apply-night-mask/global_basic/kgo.nc c5860ce0801d097e1705130d6e3f49b19c43fa399041bd7726b7a1257335f2fb ./apply-night-mask/uk_basic/input.nc -eeb021922eb3f61c4dcc4c5096140d458d8b91c3f431ee3e54cdd06c08029f12 ./apply-night-mask/uk_basic/kgo.nc +2523fd05c562a7ad5acc307e7c4dea4393c1ad0f6d2895704a5e89a7db303a45 ./apply-night-mask/uk_basic/kgo.nc 3a6b4b6e2931e4b58d970c4b034247269a96c372e5a4f97a8ba62a895071fa95 ./apply-night-mask/uk_prob/invalid_input.nc -ed8ab78a9f55b54bf0a49f191d3eb33daae30e0d05b9051275a70c0e697aac71 ./apply-night-mask/uk_prob/kgo.nc +72d294e6dd4d0b66ef71293861b4103e4be51755ca72d67da102f576f35583b5 ./apply-night-mask/uk_prob/kgo.nc 809a446327626d007ac288b8277520730863bc596e98116bca5c4afb0d531e96 ./apply-night-mask/uk_prob/valid_input.nc -0f74c2d6e3caf30c4f971da2dc757b1ae659062e31194e4da8e5266a1f23d2af ./apply-quantile-regression-random-forest/added_comment_kgo.nc -d2f7d8389b33cde359dd253def2aaf31afbc27557f389bf0f744a28b24e145dd ./apply-quantile-regression-random-forest/config.json -8db1b35bde734c16340a6e42454b9ac146ea32f7c012c17c5e64815069af41bf ./apply-quantile-regression-random-forest/input_forecast.nc -0f74c2d6e3caf30c4f971da2dc757b1ae659062e31194e4da8e5266a1f23d2af ./apply-quantile-regression-random-forest/with_transformation_kgo.nc -88d5ea229b42789d92d2317099b90d90f89a57e037665091b49c5f19acfea14e ./apply-quantile-regression-random-forest/with_transformation_kgo.pickle -0f74c2d6e3caf30c4f971da2dc757b1ae659062e31194e4da8e5266a1f23d2af ./apply-quantile-regression-random-forest/without_transformation_kgo.nc -8e2dda09c26d33fd06d68c5be17a74b93b1d75d54c60ce48f27ea3d2735bece9 ./apply-quantile-regression-random-forest/without_transformation_kgo.pickle -74a40c508b68294652f5dde52d8fe4b93ea002bd4b72ca8d6cc11a83309f28f1 ./apply-rainforests-calibration/basic/kgo.nc +5594b73eed6b1e2d714f88a6b1f4d4a9166c892752bce8b6440f0cb0b70ccc93 ./apply-rainforests-calibration/basic/kgo.nc b4678f178e0e1df0c242c61b269b71dd9a3d7aca64663e2e81e5bfeb71fe97da ./apply-rainforests-calibration/features/20200802T0000Z-PT0000H00M-clearsky_solar_radiation-PT24H.nc dce2d4a28cec494c94b154dc3a9203b46b7cef2ad54d04049663166f4b42ecf5 ./apply-rainforests-calibration/features/20200802T0000Z-PT0024H00M-cape-PT24H.nc 98dc9dcbbbbb665beb11d7e1683c9128922487fe61683c9505946b90676e3934 ./apply-rainforests-calibration/features/20200802T0000Z-PT0024H00M-precipitation_accumulation-PT24H.nc @@ -111,65 +104,37 @@ f8526b143d8669f1d72a8263bdc38075dccaa8db3a77eb505deb3e7547dd7ff9 ./apply-rainfo be045d2e1f0e974363ff644b3cacf9de10bc99bc9392bf9168388cda69604341 ./apply-rainforests-calibration/model_files/lightgbm_models/lgb_model-ecmwf-lead_time_048H-threshold_0.001000-PT24H.txt 4425db08b1fb0ac226d46eca79f3ac7dbf37b531cbe9b5a0ac93bb4240ba0244 ./apply-rainforests-calibration/model_files/lightgbm_models/lgb_model-ecmwf-lead_time_048H-threshold_0.010000-PT24H.txt 27d8dbbb9aad8cc9e0b0bd161f14c5356efec7a5fa92ae829e3751a29ab42d4d ./apply-rainforests-calibration/model_files/lightgbm_models/lgb_model-ecmwf-lead_time_048H-threshold_0.100000-PT24H.txt -56b59a72463acfd056454b74d337a63ff7bc89467bf0ca6acd8bdd7da62b2421 ./apply-rainforests-calibration/model_files/model_config.json -e0a09bf82b1b2fcf46cd21d71d912e1b9d8e33512d0cc5cd2cad154798982625 ./apply-rainforests-calibration/model_files/treelite_models/treelite_model-ecmwf-lead_time_024H-threshold_0.000010-PT24H.so -e0a09bf82b1b2fcf46cd21d71d912e1b9d8e33512d0cc5cd2cad154798982625 ./apply-rainforests-calibration/model_files/treelite_models/treelite_model-ecmwf-lead_time_024H-threshold_0.000100-PT24H.so -6c0edb9f6cee7858a90dc4efc97f6c38beaa8f20b5eda5dd18865e2140acdd4f ./apply-rainforests-calibration/model_files/treelite_models/treelite_model-ecmwf-lead_time_024H-threshold_0.000200-PT24H.so -3d54f3e34a3f8932bf45c02f8b1b343033e8e8b93b94abedd1a0721259c82a15 ./apply-rainforests-calibration/model_files/treelite_models/treelite_model-ecmwf-lead_time_024H-threshold_0.001000-PT24H.so -e0a74042f62f3a21b16d47b7e50fa2afdc84ce8a237a33d5e3d93477d45496bf ./apply-rainforests-calibration/model_files/treelite_models/treelite_model-ecmwf-lead_time_024H-threshold_0.010000-PT24H.so -33d5da5b2bd3bb300b02920e8ba5758fd09a61fe84cdef30b87378a3b40ca79a ./apply-rainforests-calibration/model_files/treelite_models/treelite_model-ecmwf-lead_time_024H-threshold_0.100000-PT24H.so -fa96f9b6beccc16c11778ffb47815e54121adaa994ba7e0122d3f9c504814421 ./apply-rainforests-calibration/model_files/treelite_models/treelite_model-ecmwf-lead_time_048H-threshold_0.000010-PT24H.so -fa96f9b6beccc16c11778ffb47815e54121adaa994ba7e0122d3f9c504814421 ./apply-rainforests-calibration/model_files/treelite_models/treelite_model-ecmwf-lead_time_048H-threshold_0.000100-PT24H.so -065fc17daaf597a3893a964a2118a8fffa886205ceeaf65c637b0fcf4441b90e ./apply-rainforests-calibration/model_files/treelite_models/treelite_model-ecmwf-lead_time_048H-threshold_0.000200-PT24H.so -4bd2419c8d0ff183fe7cb25dc3af3b97f9b50837295337e9a65271750389cc0c ./apply-rainforests-calibration/model_files/treelite_models/treelite_model-ecmwf-lead_time_048H-threshold_0.001000-PT24H.so -043a6ff0880aa6cc822c3c89ae5c7a056f4d43d1cfc9b805e8069787dd7703c9 ./apply-rainforests-calibration/model_files/treelite_models/treelite_model-ecmwf-lead_time_048H-threshold_0.010000-PT24H.so -0d3911e620d50c0815a23e128665d00f73f189dec6b061b6392bb0daff8e6b00 ./apply-rainforests-calibration/model_files/treelite_models/treelite_model-ecmwf-lead_time_048H-threshold_0.100000-PT24H.so +6475892cf80ed112d979d7ec92d3afce746bfd1634369143a66e7351cf845eaa ./apply-rainforests-calibration/model_files/model_config.json 256b488225980f5923a495952ebd6975deb402191d469689105ce79d70c9b288 ./apply-rainforests-calibration/threshold_config/thresholds.json d45b0d66f47dc40f67df5a6ffc5a338aa33959cd1928a3078d2f303c21fd0539 ./apply-reliability-calibration/basic/collapsed_table.nc 95b0f56f3ba5d437971f1305325e3d2ccbcd407a3edb3954a42782a83fa0ed14 ./apply-reliability-calibration/basic/cubelist_table.nc -7651981a4fa65fe5a09ef789ebae3e0c8395b541a81cf613689a3d83c3d6249b ./apply-reliability-calibration/basic/forecast.nc -a82a48e690514f82b77cf54d70df10166c56ce1ab977ee5217348ac74d3293c9 ./apply-reliability-calibration/basic/kgo.nc +e572776f7ecd859a1cf41c55fe48f048d754efc9269f0473982244a2b1b2d5d5 ./apply-reliability-calibration/basic/forecast.nc +31577108781bc5cf0d8a7c909b092a8e23795e7b0c0b27b6b10f85ea56ab3c34 ./apply-reliability-calibration/basic/kgo.nc cf666c51a6355d050406e5c7d15daca1e13d415be05a0cc92429d458474546fc ./apply-reliability-calibration/point_by_point/cubelist_table_point_by_point.nc 06681263dcb0538d844205937637e186352edd2a362b5f4ea5336bc67852acc2 ./apply-reliability-calibration/point_by_point/forecast_point_by_point.nc -30c0807e00af53babe747d04ec84ab5a71c977948c89aeb16d13b79740eb409b ./apply-reliability-calibration/point_by_point/kgo_point_by_point.nc -ff3a00a16fa94697d6e529a6f98384e4602f70a7d6ce26669c3947c8ac2e6f7e ./apply-samos-coefficients/additional_features/landmask.nc -8964d00ec69f384501269e0093bb7c4684d1fd7cf292a8286ee4ea68fe3b73e4 ./apply-samos-coefficients/additional_features/roughness_length.nc -a809cb7eb51c5cc35403e0f9d357a6bdf11431bb05ac6ba9bc10d58abe636d41 ./apply-samos-coefficients/forecast.nc -7c0268d6117de9002033a72a0388c963094c0f87b2448c2455802e41750960e0 ./apply-samos-coefficients/gam_configs/samos_gam.pkl -a979ae8ee62d3e7867ac6ed31a423c03bd65fc52f818d7e24ad212f789352c61 ./apply-samos-coefficients/gam_configs/samos_gam_additional_features.pkl -33ae30a74bc600b0f4ff10feff1ae3443323f1c17e57ec6c2f0aec4cb0e72ae5 ./apply-samos-coefficients/gam_configs/samos_gam_sites.pkl -6802f0378f76fba1c8bf44f7e90d20052048de851873862a80f09883ad5aaaff ./apply-samos-coefficients/kgo_coord.nc -8b1f4642c692a0811dc4d6a6d95ed552a8024bee017b9cc3e2e870410d38ddd3 ./apply-samos-coefficients/kgo_cubes_additional_cubes.nc -b0abca332d83f8df653711c6e431cd8f954dac987bb7d6acdabf3e05193b3f20 ./apply-samos-coefficients/kgo_cubes_emos_and_gam_features.nc -b5cd51b07b1daa7338dee0ad0d3eff626df4c1d692fbb4c35c75dc14f6ab753e ./apply-samos-coefficients/kgo_sites.nc -a3cbc9e1124dae85f911ecb338408a992bb3af0e6459a912d2296f8fc1d219c1 ./apply-samos-coefficients/kgo_with_comment.nc -1af4c8f931ec0b2fd53d9e7225abac7cec9039e651c3956c8289e1d5490d6645 ./apply-samos-coefficients/samos_coefficients/coefficients_coordinates.nc -e8e9661759ebf7cf8e78d259a33a57ba8a5f055a013bda68daf2f265d28de367 ./apply-samos-coefficients/samos_coefficients/coefficients_emos_and_gam_features.nc -17923bf4ed5251a4d4e600084365bbe75f2f0c91c4aadf1893b7392460161fee ./apply-samos-coefficients/samos_coefficients/coefficients_extra_features.nc -1a93dfcda78232e4302601c67b0e1c24c5f7e8fd0a7b55d8be6c52360ca7010d ./apply-samos-coefficients/samos_coefficients/coefficients_sites.nc -45aad45ea94eb663e9344c7fd93e08df3491418bf1d7f3f5be32ef5569bb81e6 ./apply-samos-coefficients/site_forecast.nc +6ed39309931d07084b1294843776510b281c683355cb1ebe8cbd4af20f4d390f ./apply-reliability-calibration/point_by_point/kgo_point_by_point.nc cf66fdbefec74d058e131a31dd1f51e4d10595265d21680272eb9590c3cc2fc2 ./between-thresholds/input.nc -d40ce0bdf404f36afdeb7b23860da08cb93fa91766ba25b12c1b4ec99a41ca7d ./between-thresholds/kgo.nc +925d52d79973f48726d9f19fc14b234367eb2a9bdb9407181672e6ef2d23d6c7 ./between-thresholds/kgo.nc a938495a85d1b9488e57e54c26d9120eb6bca016d9cc353967cfa347812e4fdc ./between-thresholds/threshold_ranges_km.json 52d3fe0f67b60521ce92fa6bcc0fab556a30bfbbaea4033eeac8dfb19d28b5fd ./between-thresholds/threshold_ranges_m.json -053d992b1caeb37ff566ddd869deb402b4f815fd95b2a58545c3b6487f810e23 ./blend-adjacent-points/basic_mean/kgo.nc +2181c396face72913ec095629a749dd593bf265ffbed21ccea93e81e0c59294c ./blend-adjacent-points/basic_mean/kgo.nc 8a6317bf71925c21ed6627fc6ac633d02a018d11390c6dc8022c84c673e36d06 ./blend-adjacent-points/basic_mean/multiple_probabilities_rain_1H.nc 3f6c6b63bf495f42c47bd8605109ef23a7ff640eab701ce3784c992c56bb6658 ./blend-adjacent-points/basic_mean/multiple_probabilities_rain_2H.nc 66db09e667412180a8739e43957bbf2a21b0e230b779b52adac3a8af7a7ad8aa ./blend-adjacent-points/basic_mean/multiple_probabilities_rain_3H.nc 346d96c6b3e948a22035518bda7ec6e84858296707b8c3b9b9da417e5ba53967 ./blend-adjacent-points/time_bounds/20180914T0600Z-PT0003H00M-wind_gust_at_10m_max-PT01H.nc 71f24d991d399aa8346cc4d55d91d66acf59a0cc0243efff8cbadd304b9e9a42 ./blend-adjacent-points/time_bounds/20180914T0700Z-PT0004H00M-wind_gust_at_10m_max-PT01H.nc 98497ad881befef37e10ec52da8dd5f477bb61b5e274746f88787d77f7ff30a7 ./blend-adjacent-points/time_bounds/20180914T0800Z-PT0005H00M-wind_gust_at_10m_max-PT01H.nc -471512a1dbae2033d68bc98657781be32b2a820695ccf762652fa64b4532e9c2 ./blend-adjacent-points/time_bounds/kgo.nc +f274cbc5a3b076a477a152d74a6ddac09a133f87619915a8d1a40c08f5d9d85b ./blend-adjacent-points/time_bounds/kgo.nc 3d84f229a2b9203ac5b685036d0a42b170075dfea1789fcb8e823cb82acdefdc ./blend-cycles-and-realizations/basic/0900Z_precip_rate.nc cebf5785b5d98d11ab091f6e870b69a71ee95db4390fb7d509072006abb25543 ./blend-cycles-and-realizations/basic/1000Z_precip_rate.nc -db27fa0b7845d79d1a8fc9624d067edc6b4051924c121ca243c6d05d337c9323 ./blend-cycles-and-realizations/basic/kgo.nc +b082744bc817a37dfef5a165e52c71d3db5037342785db94393903323adc7346 ./blend-cycles-and-realizations/basic/kgo.nc c163c7abc3cfca24c9509b9f461da8e6defc2af6a33f26b52dc52d066389c265 ./blend-with-vicinity-and-rename/attributes.json 67dbf1a0e1725cd4fe77dc2c2c422fb379edd59262cc6aaa2e0f40b207db8cf9 ./blend-with-vicinity-and-rename/blending_weights.json a7aec5f0b80d6f7ac6f71fea1c9bf15b76b92572509b5e550e7151bfd005777b ./blend-with-vicinity-and-rename/enukx.nc 6c498befd962f286dedc8041ea8981007474f32995ee5dba0b6fbf6629ae47ad ./blend-with-vicinity-and-rename/ncuk.nc 00afa510d2b1f088f14cf75dd8aad80c2c9be3a53fb39d180e0621ea0ac4d235 ./blend-with-vicinity-and-rename/ukvx.nc -3be9bec5104362e8b860219349be1397d5ad3401e19a868ce2b4f9a375a3af58 ./blend-with-vicinity-and-rename/with_nowcast/kgo.nc -bf912b477a4b89f2152ba616acfbe7420bc6e25e36129199c817043c32cbafda ./blend-with-vicinity-and-rename/without_nowcast/kgo.nc +8f0576ad7074d1fba5ddc83fad01b087007e20392c9e83900362d1a357f21622 ./blend-with-vicinity-and-rename/with_nowcast/kgo.nc +4b29aed468b770d45ba47af4602eed6b5c09a9df11d84876ce3820d312ee7968 ./blend-with-vicinity-and-rename/without_nowcast/kgo.nc 0fc03589a5a17536a16805a76208a12eabceb6a9fb0042842dbd42aa05c26acb ./calculate-forecast-bias/inputs/20220811T0300Z-PT0000H00M-wind_speed_at_10m.nc a86344226370885ca6062200ddda5db1fab629d398c5af0678254c1d9960d272 ./calculate-forecast-bias/inputs/20220811T0300Z-PT0003H00M-wind_speed_at_10m.nc ac609404e0083db721ded42d983f3a616f8ce7ca220ef3bbfc2af9ccfd83c02f ./calculate-forecast-bias/inputs/20220812T0300Z-PT0000H00M-wind_speed_at_10m.nc @@ -182,10 +147,10 @@ c353a8fa343361719de535102a231cee74b90fda412591127ae511400d20b18d ./calculate-fo 776eb8ef27fbd40742c2217ab89df5a423635ffeff2e6ee485bf78c90964125a ./calculate-forecast-bias/inputs/masked/20220812T0300Z-PT0003H00M-wind_speed_at_10m.nc 4e2308fb14ce761ac8a151dab427708d9f18842dbbb8bf323b5e20bd80633ba6 ./calculate-forecast-bias/inputs/masked/20220813T0300Z-PT0000H00M-wind_speed_at_10m.nc c918097aa9985d02cb2cc6d89f85cfa026c7e1832d6b13f8777df0914b07a6b4 ./calculate-forecast-bias/inputs/masked/20220813T0300Z-PT0003H00M-wind_speed_at_10m.nc -a5ef18ffcffd445331b8b6ffec6b863679cf846b41228ff902af9b98b7940c4b ./calculate-forecast-bias/multiple_frt/kgo.nc -d0566bf8d5862423d5e789e7a1d381040354d73869de242b35ab553375b7fbd4 ./calculate-forecast-bias/multiple_frt_masked_inputs/kgo.nc -04a39abbf7ea73ba45c820051ed459bfc06eff5feba4f407d14d8ad6cefb5eeb ./calculate-forecast-bias/single_frt/kgo.nc -6355011ef6f06558d071722eb54e66dcb3455091b8f691689c16bc547e7ddb0c ./calculate-forecast-bias/single_frt_masked_inputs/kgo.nc +3220caf063928ee4ff7905c0d30cdb48a856a5e513e8d7f5cfd6cd162dbf170d ./calculate-forecast-bias/multiple_frt/kgo.nc +41b16c2a8feed29f28c92480a64238242bba5945312ac27715017b2f887ca2f5 ./calculate-forecast-bias/multiple_frt_masked_inputs/kgo.nc +ec49997369aab4bb84049efcbf7720d15ca7a371d366bfcb707a2ca5a0473cfd ./calculate-forecast-bias/single_frt/kgo.nc +fcf348a7b41d561a16ca5d1713292b196679da7041977b9e871420c995a9cf89 ./calculate-forecast-bias/single_frt_masked_inputs/kgo.nc f4e13dec400ec945ba5bd03a286780b183665c22d707c038c0990ef3491e888e ./categorical-modes/blend_mismatch_inputs/20201209T0700Z-weather_symbols-PT01H.nc ee9557cf229b1099e64b36760a1b2dd82aec663490d75b6be2894bfb7a9103ea ./categorical-modes/blend_mismatch_inputs/20201209T0800Z-weather_symbols-PT01H.nc 601d331f490953f3ac36ac334b705848b8d4bc9024bfe001f4cd2d8d8b6645a2 ./categorical-modes/blend_mismatch_inputs/20201209T0900Z-weather_symbols-PT01H.nc @@ -198,7 +163,7 @@ c44a00d49912f13fb17256fa0e01d9425977b5c94f2d41c602c657d39deb74cc ./categorical- 90a6495f65e053e943dd4dcc9731da274f11bc19a3817a70c057218ed8eaa4de ./categorical-modes/blend_mismatch_inputs/20201209T1600Z-weather_symbols-PT01H.nc a981f6238828b63d7a9f7c597dd234dcc86dd35e2e3c4ba6c3b6feb491ec872e ./categorical-modes/blend_mismatch_inputs/20201209T1700Z-weather_symbols-PT01H.nc de4a49bca4cd930328942cf6bb9a1bc1bdd2589120a57a2335ee4ef2449dbd5d ./categorical-modes/blend_mismatch_inputs/20201209T1800Z-weather_symbols-PT01H.nc -d57eddeaee6d1872ca9057ff38cc9162a744c24d30f852b0720aeecc1f726a4a ./categorical-modes/blend_mismatch_inputs/kgo.nc +7b65bd0cf7c69a0515571829714ade5264d57b7788c7421772bec957125ba639 ./categorical-modes/blend_mismatch_inputs/kgo.nc deb7f4effb821b2808b647e02ac955c91adae4baa33765b16378cff40e3ec5e8 ./categorical-modes/gridded_input/20201209T0700Z-weather_symbols-PT01H.nc a61a70b0ce9e70577ba177462b9f1bfbda2457cc3975f0e9a562e1311e86e671 ./categorical-modes/gridded_input/20201209T0800Z-weather_symbols-PT01H.nc 64fc223da6c516a1eef11a61119547fb33e899ce86eb570a2917be27a119b517 ./categorical-modes/gridded_input/20201209T0900Z-weather_symbols-PT01H.nc @@ -211,7 +176,7 @@ bcd90ab1d28fd736d4a3d9e481374348438d7716b543f9c7d435b003ba10c344 ./categorical- 973c60900aa526818e7119ed016997170055017ee1bbda279b9e640750f96f61 ./categorical-modes/gridded_input/20201209T1600Z-weather_symbols-PT01H.nc 571bff58be29197e5f946745ed565889ec81499521c38d8f7286488079afb46d ./categorical-modes/gridded_input/20201209T1700Z-weather_symbols-PT01H.nc 2af4455b0ba7c4124e49eb1ff004e770b6239a9e2e1513f60ba4db3f0beb02cf ./categorical-modes/gridded_input/20201209T1800Z-weather_symbols-PT01H.nc -a140b70eb9e86865af7f716bf052cc388c256f787be6521d4447981af15ef754 ./categorical-modes/gridded_input/kgo.nc +3d9ebd58773193d27a0889853f0257cf852bf603abee657d0e2fcec4bfcca213 ./categorical-modes/gridded_input/kgo.nc 96a8462af571f06dbd8b91a7a90aaef403eefd2b73929a5c6d8a3fbb01159aca ./categorical-modes/gridded_ties/20201209T0700Z-weather_symbols-PT01H.nc 9f64c7a8aa7cf0e87799f96ebffe1e449e1f5174fb583d44f2479e085672dc84 ./categorical-modes/gridded_ties/20201209T0800Z-weather_symbols-PT01H.nc c698b9599219fe89374a2565e55a374d9236904c9dd99a2ae61b5416506e98d3 ./categorical-modes/gridded_ties/20201209T0900Z-weather_symbols-PT01H.nc @@ -224,9 +189,9 @@ c76e1e0e04b1d6cc01a33401f1eed25c283e4f11d7134ff079a8379f0ac3a8cd ./categorical- c39ea98f6fe64788c4ea7ea242111a5c8bbeacfaf52b2ead0cf0aed0007d46ab ./categorical-modes/gridded_ties/20201209T1600Z-weather_symbols-PT01H.nc 6a5b04644ab11d077809f615bac2829656127a0eeee3843940f8d33673bd70c8 ./categorical-modes/gridded_ties/20201209T1700Z-weather_symbols-PT01H.nc 39d0fa291798366a00ecae79a65de0b0692d5b4db17ac98a97d48e54b75e5dd4 ./categorical-modes/gridded_ties/20201209T1800Z-weather_symbols-PT01H.nc -bbe3e967f4f48d9563694ea4113f22b791550b502d07750af5fd1b2495ce1260 ./categorical-modes/gridded_ties/kgo.nc +fc922ede9e118dea3e7e3ba354664151f09407b32450688ed5c9870de5307c14 ./categorical-modes/gridded_ties/kgo.nc 89ba47a99c53d23b5490254366211a7cc0a5c8633c9faee97c091ee48a366b87 ./categorical-modes/single_input/20201210T0000Z-weather_symbols-PT01H.nc -50d4729611065b38d5db5d81887ec8d567a19461909d9e8002df674fe69957df ./categorical-modes/single_input/kgo.nc +d64efaa75b03aa4ba1fb16caa31891492e9fc5f967a584de42a4a59dc2f54237 ./categorical-modes/single_input/kgo.nc f4e13dec400ec945ba5bd03a286780b183665c22d707c038c0990ef3491e888e ./categorical-modes/spot_input/20201209T0700Z-weather_symbols-PT01H.nc ee9557cf229b1099e64b36760a1b2dd82aec663490d75b6be2894bfb7a9103ea ./categorical-modes/spot_input/20201209T0800Z-weather_symbols-PT01H.nc 601d331f490953f3ac36ac334b705848b8d4bc9024bfe001f4cd2d8d8b6645a2 ./categorical-modes/spot_input/20201209T0900Z-weather_symbols-PT01H.nc @@ -239,7 +204,7 @@ c44a00d49912f13fb17256fa0e01d9425977b5c94f2d41c602c657d39deb74cc ./categorical- 90a6495f65e053e943dd4dcc9731da274f11bc19a3817a70c057218ed8eaa4de ./categorical-modes/spot_input/20201209T1600Z-weather_symbols-PT01H.nc a981f6238828b63d7a9f7c597dd234dcc86dd35e2e3c4ba6c3b6feb491ec872e ./categorical-modes/spot_input/20201209T1700Z-weather_symbols-PT01H.nc de4a49bca4cd930328942cf6bb9a1bc1bdd2589120a57a2335ee4ef2449dbd5d ./categorical-modes/spot_input/20201209T1800Z-weather_symbols-PT01H.nc -456c76d28664d2981053db5e10bb61b0bab50457cf1e841063d721545b7baf0d ./categorical-modes/spot_input/kgo.nc +da94cd2173430ed0566803f9c45811ca1b2b67397d8e2be8debd662d2e078ed9 ./categorical-modes/spot_input/kgo.nc 36f26203008ac401e361f549e39c5c1a0334d31eef2e064528d2c11ba029d1d2 ./categorical-modes/spot_ties/20201209T0700Z-weather_symbols-PT01H.nc 8543d8168e23975f537767a55a8f6fbd7d15f187556748ab62e4edc3f70a84d3 ./categorical-modes/spot_ties/20201209T0800Z-weather_symbols-PT01H.nc cb1a6c410f37132f0faa541a68411e00c38bf77c719f98adcff664f6699d4bf5 ./categorical-modes/spot_ties/20201209T0900Z-weather_symbols-PT01H.nc @@ -252,12 +217,12 @@ ea67ae7a7f5363ae3692b29c93fb9989449d96e49dc613a1297d98ddb12c578a ./categorical- 947d1cc7278abeb7f1335c9504c0b1daac61d8ee36fd6be03eccbc17c10b0e4b ./categorical-modes/spot_ties/20201209T1600Z-weather_symbols-PT01H.nc 51f636314a6d1fa894ab98cf750493503b191a779c67d6a15081aab2a3612a31 ./categorical-modes/spot_ties/20201209T1700Z-weather_symbols-PT01H.nc 134fb1750cf47e868ee67801b1ea5b1f17120e6f58a787a69e54638d7d88ff82 ./categorical-modes/spot_ties/20201209T1800Z-weather_symbols-PT01H.nc -fbbc7e6764ee64dc6d0b6123f210859c80a89c29cd577722f5090b02f127691b ./categorical-modes/spot_ties/kgo.nc +8c27cd09164c1fc18d6e7474746867f7a4680a1388b7057437f995663c4de26d ./categorical-modes/spot_ties/kgo.nc 2ec32b8654824a633fcc9d7405d4d3a8b487514bddb9e8ec6aae66c9a96c2565 ./categorical-modes/wx_decision_tree.json d8c2fadd946060703615db0e6cd1c7a0a0186c2d19c685b77a0f6b043d5b5e8a ./categorical/bad_wx_decision_tree.json -86d6f5f64031ffa6ef8ca3b08dbdf97f0a1b6c3e06e824e68b9e7c8d591d3b4d ./categorical/basic/kgo.nc -91643b10aff6e28453a0912ceefd6bf412406673a6c15e43c30235699c286c23 ./categorical/basic/kgo_no_lightning.nc -86b93e084f3347211103781e6bdc3131a8103971d78ed5baeb05a78c5dd42761 ./categorical/basic/kgo_titled.nc +c2fdb1144abdf6188bb2d9de0104c6dfbcb3a8ba07cbe4e7ac2b9c3782f55484 ./categorical/basic/kgo.nc +9c543a6e2068ad51c6664903bf06b5ecbf018ad914f972762ef0577469fec1b3 ./categorical/basic/kgo_no_lightning.nc +fabc3622379b8d2b1b1595b6e6be658dbfb30214ca9516e61272973b211ca75f ./categorical/basic/kgo_titled.nc 81740bda1027473ee40526f5d8fdc121fc3813f3f5ba68364eefecddcf4ebcfb ./categorical/basic/probability_of_low_and_medium_type_cloud_area_fraction_above_threshold.nc ce4f90cfa139e0787c79ec53e5347883f70f4b7a24aeebb0e4fd135de218592f ./categorical/basic/probability_of_low_type_cloud_area_fraction_above_threshold.nc 431bcc6924b0cdf64752e20b4ddc94df5116b2f33baf1acb6ce642642524bc31 ./categorical/basic/probability_of_lwe_graupel_and_hail_fall_rate_in_vicinity_above_threshold.nc @@ -271,10 +236,10 @@ a89f2d2781b784612ae1b133cc4044c1b5d4500cbe294639f0549850d8500ab0 ./categorical/ 6123181189534b78bc295aba5ea58f4e0b25f70a75161619b7281d12ceb21810 ./categorical/basic/probability_of_thickness_of_rainfall_amount_above_threshold.nc a5490e5cee9b820eb548ed4c6891f912639dc8c07729c2cd95127e81b598229e ./categorical/basic/probability_of_visibility_in_air_below_threshold.nc 0320861198f3525b27f53d7173e58584937c0d42b14c560d3b49830160bf0a59 ./categorical/deterministic/hail_cubelist.nc -27c5a10c9be756498c927c436cf45ed83c549d678889dc1ae25766ba82696d86 ./categorical/deterministic/kgo.nc +a2f1866a43569ea1730349954632a9b762dc2b24745dfc9b56c3b353ad8e9651 ./categorical/deterministic/kgo.nc f99903ad9257c4b0b061f3e36446239901c9a1e9be3c8851b34bb601105c4ec6 ./categorical/deterministic/precipitation_rate.nc bbf85170de84639c17c2e244654f9c7120389adf59d56d69d2cb14a7ca2e64eb ./categorical/deterministic_decision_tree.json -419a33192b703cbe173a14c2f402944fb0ee4e6c5f7a5f1070b85ecbc9f070c9 ./categorical/global/kgo.nc +067cb69252dfce1f5c67159c2fc689f67abbb19b1c9754ad0300da3262d4dc14 ./categorical/global/kgo.nc a22b13d42763893c4a3ea63cc2f64c73a6e11aee14f92c943a3eaa5cb96e4094 ./categorical/global/probability_of_low_and_medium_type_cloud_area_fraction_above_threshold.nc 18f51a09ab0f8ecf86087f5eaed35dc44cb80794c0a8a0bfa8ee34b740e1d3ec ./categorical/global/probability_of_low_type_cloud_area_fraction_above_threshold.nc 156ce25e506bc01edd14a22c678da986fca71aab9f633d0bb96a3a75640ccfb0 ./categorical/global/probability_of_lwe_thickness_of_precipitation_amount_above_threshold.nc @@ -299,31 +264,31 @@ a89f2d2781b784612ae1b133cc4044c1b5d4500cbe294639f0549850d8500ab0 ./categorical/ be903f357d5d2405e36cfbdd57957705b60b64a157c2341f3aeb9001463d000c ./categorical/native_units/probability_of_visibility_in_air_below_threshold.nc 2ec32b8654824a633fcc9d7405d4d3a8b487514bddb9e8ec6aae66c9a96c2565 ./categorical/wx_decision_tree.json 90f170375e1f7673bf271ee00d35f5a6ffaf81338f708092cfb4c49d79a45a7d ./clip/gridded_data/input.nc -8c809fc04d60a77566d2ccd07dfb39226871e5266e3c3d45a1d0cdd3051bceb1 ./clip/gridded_data/kgo_0_4000.nc -a40d3bbc417b8230e996bd7351ab9b986847316ef366326f6857824173c40fc2 ./clip/gridded_data/kgo_1000_None.nc -78e84c0ea6d5e6a2fc6bf3ca0dded83722bcf22f475182ae6d83cd347bb8b9ee ./clip/gridded_data/kgo_None_6000.nc +71dd5f9e58e286e627ccf6c90df0a29487dad6641def4fbb89edc4e33ead0b49 ./clip/gridded_data/kgo_0_4000.nc +e1a002ee954978e9ab5830320f700a05f3f067c39bba9853587d79cd047564b8 ./clip/gridded_data/kgo_1000_None.nc +17034578353d6b7c59963c5bb2904141fc9eadf8642f18546ef8cb9efb429f86 ./clip/gridded_data/kgo_None_6000.nc 235f266aef201f71ee3526885c3c90e5f782c90025a1f8c5a5d1f006683b1a7d ./clip/spot_data/input.nc -688d5b953957a32679569ef4564879550163f101f9f0e58c2062a6d32ad4ed89 ./clip/spot_data/kgo_0_4000.nc -a107b3004801d8abae8132d72427abf8f403f54d38cc39ecbbc5a89937bcc815 ./clip/spot_data/kgo_1000_None.nc -a77fbeba45109945cf063692aee1052afb38979ebf3455fc57bc287bbda55f87 ./clip/spot_data/kgo_None_6000.nc +04370f3a0302194ab328eee7436382a24d53b112d0749988b422d943a57f3b33 ./clip/spot_data/kgo_0_4000.nc +268b04ef0bd6a5c0d9c1237b87f044e28e7e2c35835ba573c5498644de8b45be ./clip/spot_data/kgo_1000_None.nc +2d97cf98701e7bcf560289b1c14e4ddffd4599645ca5219022ed63b96a69f46e ./clip/spot_data/kgo_None_6000.nc 9ae995a600331cf97ca5c64be4dd9a34adc9be7c5b5f987d3735af0d7973d7c3 ./cloud-condensation-level/pressure_at_surface.nc 5d964d04169737f4116505c6b4ad5e2a894592c789303460f9d292fa204b3775 ./cloud-condensation-level/relative_humidity.nc 0425846305d3e15ef78f303855254f902c6a06d33caa38ac1d12540da88e4a7d ./cloud-condensation-level/temperature.nc -9e35dfe9791ceb4b2278255f808ec595d73d3e1ec50647c9dc547da0c1ef09b3 ./cloud-condensation-level/with_id_attr/kgo.nc -0751604f7ac9cb88bd9147f8f464637290bff4797b902c66f10c8dd37c6c0b45 ./cloud-condensation-level/without_id_attr/kgo.nc +d0053b55f2abaeeefa3d5d58df597bbaf5b07a2bfbb614c1ff404fb695700d2c ./cloud-condensation-level/with_id_attr/kgo.nc +957efd30f9de7d789727c7763fc07b01a68a8e19a82e74d30842af3f160adbd8 ./cloud-condensation-level/without_id_attr/kgo.nc 6d00c62a3716bd7df53113a370205224b833e9a9ba01178be344031f799a6a3d ./cloud-top-temperature/cloud_condensation_level.nc 5788b1228fbd7cce6c92a2ff6448c4f14d78d868bb45743a816f728b70c6b47d ./cloud-top-temperature/temperature_on_pressure_levels.nc -2ccb84718d2d367baa9b0e2dcaf70a285575de23a80d007e53af0861b93b787c ./cloud-top-temperature/with_id_attr/kgo.nc -eb211384316dcf5148f2dde8fc54008b2a25c72a9872c88a2a41b6426f6ad1a5 ./cloud-top-temperature/without_id_attr/kgo.nc +d350e329f47d18c819f75a91a0168dff0c8cce404df2e3992e41c4b78925699b ./cloud-top-temperature/with_id_attr/kgo.nc +2c4064d3d42eedcffda85872b00fabb42b23f71ecb007e5be0b046ef93b0e9fc ./cloud-top-temperature/without_id_attr/kgo.nc 966663c18804e6332f74682686d207ddd80e5c30dbf7f3ace785e1df44c9c673 ./collapse-realizations/input.nc e4250f25f7e770d00d863e6d5d3e8921c79e3609b68566637bda0f5ba0148b12 ./collapse-realizations/input_no_realization.nc -8a39fcf34cafea08878e9a4632b50e7299859f942c0b70010054c11bdfcfb8f3 ./collapse-realizations/kgo_mean.nc -1290fdc6c26dcce55b293ffc1fe69cf3c9960063f415aabc5074c31d3cbb5888 ./collapse-realizations/kgo_no_rename.nc +c21806e891dafce6fd42ea1bd420a3d6197b676f6f7a1c2bcec1c805fcba8d59 ./collapse-realizations/kgo_mean.nc +2ca7400809cb8f306acc8803bb4142ed5bb754931f120229d67b01bf00c130a7 ./collapse-realizations/kgo_no_rename.nc 1ea1bcc88472251ac904f609e2cd195d25e61941bc3ac8d535952a872bd84b6c ./combine/accum/20180101T0100Z-PT0001H-rainfall_accumulation.nc acd51f2a3ec308acfdc5591e86b904eb1a74835f41197d2f83513dc436c00d60 ./combine/accum/20180101T0200Z-PT0002H-rainfall_accumulation.nc 2e53d150fe22608970e967e56fb07c558948e0c2bf279f4e0f677b2d07a54cf0 ./combine/accum/20180101T0300Z-PT0003H-rainfall_accumulation.nc -bc3362126060db7432ae1a55feceedd567ca6ca52261124907a0d810f8738a22 ./combine/accum/kgo_accum.nc -fba794848cd906ea515d87b431a7092a3e13f2c1a2927c5a6ae25aba78101f87 ./combine/basic/kgo_cloud.nc +a44b61cccfb459cbf794844a673a6fd0e005bbdbf54e5c578cac853dd797e6e9 ./combine/accum/kgo_accum.nc +edce3800ba06512fdcaabb5b7227d3f803c8ad713ede8800169d1da6507c9feb ./combine/basic/kgo_cloud.nc 79a0711cc0c73097c3b377288d66b2de1bc2a201990b5a2e8f67c06cc6761f5e ./combine/basic/low_cloud.nc ba18264d554f986d6a63a41214f25a2791681b960ed247101f878651bef73b24 ./combine/basic/medium_cloud.nc 07507df35737ff608a1458b24cf7d0ed29185c98b788be6a1f967c0b68060c88 ./combine/bounds/20180101T0100Z-PT0001H-temperature_at_screen_level.nc @@ -335,57 +300,57 @@ ec445b755225dea5413cc5ad86e6e282105a8762b9bf86b543a92cd6ac1d33c7 ./combine/boun 0809b67ad050a0f939b8bf1e079167a0cfa838d6845c7d385e5b192e501ba18b ./combine/bounds/20180101T0300Z-PT0003H-temperature_at_screen_level.nc d57bb24e217f9d2716faeaa18b95380cf33d352d339fc77f1a81960b06232a74 ./combine/bounds/20180101T0300Z-PT0003H-temperature_at_screen_level_max.nc d867a366d39e424fa98e370c31d62e578a04e809cb6fa90fa18434e3578898d3 ./combine/bounds/20180101T0300Z-PT0003H-temperature_at_screen_level_min.nc -76f07833bf425a3ae58ad2f71257f031e0d9010191f897def013be15b8f92d8c ./combine/bounds/kgo_max.nc -d26a559e0b57c22a07f1181c8be3ecbc0de41627d9ad11d7bd2f1f666c1a4985 ./combine/bounds/kgo_mean.nc -7ad88bb79066ce73b5eba9d13ec1ae0b5d56fca12b85e0dc079a7bd70fb631f4 ./combine/bounds/kgo_min.nc +91dc0bec5615f00717291ac989132ec29ff2471e98428c3359d35ad5fcb927b2 ./combine/bounds/kgo_max.nc +bbeeda3471d545dc706920eb07068d008d98c406be9c897a9b76f7cb00651f9b ./combine/bounds/kgo_mean.nc +bcb26d796913cdb6a31f65cc60e684dc6e0bdf173508ff06a6aacd1ba230eea7 ./combine/bounds/kgo_min.nc e88c3624b3b290db8c8203ca8802f2d8f341da0879bebaec5bb4570aa54bc27c ./combine/broadcast/input_larger_cube.nc b5ca2030a23ba6440c712a659f6f4f3dcbe8566afeef1a68e2e5a6a9b6e7484e ./combine/broadcast/input_smaller_cube.nc -30b4b71e6054c10efea216c86ef22b552fc4e1ac4e155384352f2cb340fead0d ./combine/broadcast/kgo.nc +02a9f7a2fe3e80d9e7d43e87e7c8031f6e82be2137a02cd9cfe8c93f79906a39 ./combine/broadcast/kgo.nc 294ab13ff2b1aafd21a908982b92c1701b6928d8efbe5db7aac0964bb5f624d4 ./combine/expand_bound/input.nc -6e133313551850747b32096a1f45e7323346c1e42ebf2cf74ff5df1afa455255 ./combine/expand_bound/kgo_False.nc -f81f0d120128bed7bdde11e3f9bc47bc2d4a078105dd0724784f65b49ce9d814 ./combine/expand_bound/kgo_True.nc +f9772c69754ceb44bbb2bc3ab3cd4426f91ec072788cb18896f5ad8c72002dbb ./combine/expand_bound/kgo_False.nc +f508315020abbfafca9299c496c348cc4c6c79f773c12abe03c4b5808bc1586e ./combine/expand_bound/kgo_True.nc 1d4b9f29a925a3e187ee2fc5f778f728b1367d29361489ceef496d99de14f6bc ./combine/expand_bound/orography.nc -a2e1fb4d238aa8766700bfb5df234d77b464889ee8b4d13d18454cb82a189745 ./combine/mean_cellmethods/kgo.nc +a691b539c995dec7fc36ec059e5501e34a3ec738d630ac8df5200f685593baa6 ./combine/mean_cellmethods/kgo.nc a4b991d8e0fa174cec415efcf936b38e67fb936c57f7a9e2794beb6629b9b824 ./combine/minimum_realizations/20220128T1900Z-PT0010H00M-temperature_at_screen_level_max-PT01H.nc 4bca51d7208294112240b10e3a36692491472dd3f7ebb072ca030e76a495f14f ./combine/minimum_realizations/20220128T2000Z-PT0011H00M-temperature_at_screen_level_max-PT01H.nc 41daf1da910869fbd9338e31a530aaa68a221828d6e6b8cdbb4302a8e65fc223 ./combine/minimum_realizations/20220128T2100Z-PT0012H00M-temperature_at_screen_level_max-PT01H.nc -2d584bb1e6ab07b03f432d773ac6a9f0d0fa941d7b6b38f14a84face348999d6 ./combine/minimum_realizations/kgo.nc -6c492782c5e10e09d6fdd3bf4c2fefb40fd9ab09b7d052f7b7f9c40c9b1c097c ./combine/multiplication_cellmethods/kgo.nc +b60f6046c86319f8b7ca3b5d7902dbaf3a52f571f30ba56a1a4bc814c42dd341 ./combine/minimum_realizations/kgo.nc +cd5fe4e4ef61d890c30cc9cbd236bf0dfdbedd5f12f8a92803aa57be84c0d9ab ./combine/multiplication_cellmethods/kgo.nc f1ae76b9374c5d1076b89a7348fe9bbc393a12ae4ccdc660a170ba5ff0f823ab ./combine/multiplication_cellmethods/precipitation_accumulation-PT01H.nc b8934494b4a24daa2408c4d95a2367e328e25e8323e34c67ef6026d51021be32 ./combine/multiplication_cellmethods/precipitation_is_snow.nc 0bd96af6cb5c6caa045e397589dd0ce3b498af837d989fe73326f5e9459c6054 ./construct-reliability-tables/basic/forecast_0.nc fbc14286b4ce41e2e60df0870ae4911c1b00a38ec96912f43c6187fcaf7d02f6 ./construct-reliability-tables/basic/forecast_1.nc -03be7f18d728f74568252ded7e8f771da978ee6f012b37a13a8490805f78fd88 ./construct-reliability-tables/basic/kgo_aggregated.nc -5d7a9e8a93be6743c05e7995e5d39e971e67a7f303e28d7857c3e8477d949d9b ./construct-reliability-tables/basic/kgo_single_value_bins.nc -9379628bb6c0d79d9e840fcfc885a40a1ec3fc9e279de034465c4076e6e1a437 ./construct-reliability-tables/basic/kgo_without_single_value_bins.nc +0d0edf9751a2019db952907700b02499ec9f1c360db4591a8012ca247a841c73 ./construct-reliability-tables/basic/kgo_aggregated.nc +902e5cb9d3dc5d2b78bb99aff8370f9815adf5064b2caeb7abed73a56a897a43 ./construct-reliability-tables/basic/kgo_single_value_bins.nc +72d4fd0655d1b7a2bc11d85741ec944f195c59813ae629e6858116c4e09eccb0 ./construct-reliability-tables/basic/kgo_without_single_value_bins.nc 8ed50464c34b8673d98d1256d1c11b9eeea911dc79f7f75d425a590bf8697301 ./construct-reliability-tables/basic/truth_0.nc 3999adb3749052d9efdfab863427a20a1fabbca06ff430c6c9cf5f89d1ea4d60 ./construct-reliability-tables/basic/truth_1.nc -480b67c22e8be6b02db534be7accc78e1f6837759094e14c6d86c26918b80dec ./convection-ratio/basic/kgo.nc +9795b9758a88e2c4d4171c8b08304f7f0711e03acda66a7394333f8b919ccf50 ./convection-ratio/basic/kgo.nc 74f850942572aa99de807396d48bd80dd96088c638a9d5fa379b95f7c5ad8614 ./convection-ratio/basic/lwe_convective_precipitation_rate.nc b946c7687cb9ed02a12a934429a31306004ad45214cf4b451468b077018c0911 ./convection-ratio/basic/lwe_stratiform_precipitation_rate.nc de45e4588c71d051e109441eea4b03bfee7a589782bda173bf768a3172a67b8a ./copy-metadata/input.nc -af07b676aa727665827cf3e8aa3467640b2703276adc1f5528bf59282b3d0718 ./copy-metadata/kgo.nc +7b68d39d2998b91b6efeb9aabdc78fe5ccb47cca4b1d42bbfaf8a23116012c77 ./copy-metadata/kgo.nc 7e61ed49bdd6a3ded97c4fa755598ee14027db95b5cabc2ae05a3be8303be842 ./copy-metadata/stage_input.nc d3efbc6014743793fafed512a8017a7b75e4f0ffa7fd202cd4f1b4a1086b2583 ./create-grid-with-halo/basic/kgo.nc fee00437131d2367dc317e5b0fff44e65e03371b8f096bf1ac0d4cc7253693c9 ./create-grid-with-halo/basic/source_grid.nc bf7e42be7897606682c3ecdaeb27bf3d3b6ab13a9a88b46c88ae6e92801c6245 ./create-grid-with-halo/halo_size/kgo.nc 55ba8a8ca8b5eee667d37fe8ec4a653caddea27f19ea290397428a487eb13ca0 ./cubelist-extract/input_cubelist.nc -b7c3f90b43ea6b65114ce69f97dcfeacae403528076f5b043f80a1e558c40032 ./cubelist-extract/kgo.nc +33c7e0cf46ac62ead74ffde502ee28076a59550474fb3872c3e22083c4bd3cc3 ./cubelist-extract/kgo.nc 368f3c0c658d1155399ad4bdbfe0f98e0c65f5c53a49ece105bba3758012c0e8 ./duration-subdivision/input.nc -41b25832ddbaed568d8e1392afa8c56ff6688e47ab0b54c98282c55b280281ad ./duration-subdivision/kgo_daymask.nc -7515ae0c7aff5e6cb8118e37d2180a7837452c70f176dafe1fa7039ed7b25a42 ./duration-subdivision/kgo_nightmask.nc -84c1774a948a93bf0e26489b1c8435976bc1d98dfa4113f4e63d0bad7b72bf14 ./duration-subdivision/kgo_nomask.nc -7db79f33cf62478937869a4ecc57421f9862e5e385edaa33e553da32d8e9ffbe ./enforce-consistent-forecasts/double_bound_percentile_kgo.nc +f56f65dca4c6887c422c23e10b63e034ed9d5388081dd2030d690c5f5be73fa4 ./duration-subdivision/kgo_daymask.nc +19388549f7a5f1bc616bb353d5a1380a2f26763cd3a223c0d3eabbc5fc4b389d ./duration-subdivision/kgo_nightmask.nc +8dc93f63957a89eb027b8552c1e923586ac8804f63e1d452a0cab31a9ea5cfc9 ./duration-subdivision/kgo_nomask.nc +fe00aadb6854f44d765b40bb6608c23f4eb4f10193c96f43f207db0590739dab ./enforce-consistent-forecasts/double_bound_percentile_kgo.nc 51f9ff2c8e6cad54d04d6323c654ce25b812bea3ba6b0d85df21c19731c580fc ./enforce-consistent-forecasts/percentile_forecast.nc e210bf956dd3574eda3a64fdc3371ab16f85048ca120a3823e90d751d2325c46 ./enforce-consistent-forecasts/percentile_reference.nc 5474c4c2309dcc0991355007f20869eb6d1d234d721bdf37542cddb0570d7217 ./enforce-consistent-forecasts/probability_forecast.nc defa865972dbb30e7b557ef105f215e9e2e6d75aeb3b7c52b4c8ec388a33b502 ./enforce-consistent-forecasts/probability_reference.nc 40a05397b22e614bce592c1644a8443a27a94e70914cb482117a2fcc11ea8408 ./enforce-consistent-forecasts/realization_forecast.nc 9604ec25ad2256d41f824c8be957ae20158d75a7a8d632af249b2778d20934d0 ./enforce-consistent-forecasts/realization_reference.nc -64df9a99c9b9e8f993a02f84e0a3d18f7acdc3f18b85398e468a25fcb3e11210 ./enforce-consistent-forecasts/single_bound_percentile_kgo.nc -10c6a97acf5efc0669b74116b1f97f116c94ba3247df0a8a5483712fa4688bea ./enforce-consistent-forecasts/single_bound_probability_kgo.nc -2b72659c029bf99c5aa730a03539c29416db38d2fa111e0048a9129274d3efab ./enforce-consistent-forecasts/single_bound_probability_time_enforce_kgo.nc -d54540329c4e1f7a89f44c42744fe5541456e07f1bc00eea44106c2d67320d7c ./enforce-consistent-forecasts/single_bound_realization_kgo.nc +5f7fa625272af0a51f6a59dd20a6f75cb53aa46299630783c32a77242c607313 ./enforce-consistent-forecasts/single_bound_percentile_kgo.nc +7e435c2db5e792b71bb5170140fbe1e37cc03d96bd88f73ce7196f9469ba3e13 ./enforce-consistent-forecasts/single_bound_probability_kgo.nc +e69359fbc251694443434e36b5f2661ea35e088d0f7f59076f5f10908ec445bd ./enforce-consistent-forecasts/single_bound_probability_time_enforce_kgo.nc +09eb8d42b1df18831660bfebef46a09436e66946a48488d8be89157e8e3666ef ./enforce-consistent-forecasts/single_bound_realization_kgo.nc 286b0c915126655d37ff23d32730ba8b06954020dd4747adb44e7ced848dcc16 ./estimate-dz-rescaling/T1200Z-PT0006H00M-wind_speed_at_10m.nc 3dea94d8c5461224224f6b9d6f3568606cbfaa1a8c59cfcb92e61452c3e24c90 ./estimate-dz-rescaling/T1200Z-srfc_wind_sped_spot_truths.nc ca912d16879f7601283529e3404a4ac312f1cd6b8fd071af9cd4eaa43cb00284 ./estimate-dz-rescaling/T1200Z_kgo.nc @@ -394,35 +359,43 @@ a73c8ea314316e18559c5fb89021708feb49b9cad061d2bc1eeb2eba449f1159 ./estimate-dz- 0928e469556ab03acaea54c900718375bdc3a6381d0ffc06b76bc60b022fab37 ./estimate-dz-rescaling/T1500Z_kgo.nc a469208a1ebfef59f4d9d3736926744ad988e1f32e6ccf2b20dd4031a3f119ff ./estimate-dz-rescaling/neighbour.nc 9b48f3eabeed93a90654a5e6a2f06fcb7297cdba40f650551d99a5e310cf27dd ./estimate-emos-coefficients-from-table/altitude.nc -2a0bb6de077c06e447b2c41836c2091123a32a5f87aaafd1e628f62f46e91066 ./estimate-emos-coefficients-from-table/forecast_table/diagnostic=temperature_at_screen_level/part.0.parquet -71c6da96172d4834a69ccdefcf5fe3f55ea9f8705c89a2ef936e46091043b048 ./estimate-emos-coefficients-from-table/forecast_table/diagnostic=temperature_at_screen_level_max-daytime/part.0.parquet -c75d11497f74a92a0d6c45038f3b8228643d55860cb00b8dfb7bcaae8bd02507 ./estimate-emos-coefficients-from-table/forecast_table/diagnostic=wind_speed_at_10m/part.0.parquet -65be5e9f1452385fce403d01769f6fee985160ff3097c995769e2fad63066a60 ./estimate-emos-coefficients-from-table/forecast_table_quantiles/diagnostic=temperature_at_screen_level/part.0.parquet -b1e8427a26e4258d9571c4a660dcbff734ef3415ac76d39a08ce5d149e6def60 ./estimate-emos-coefficients-from-table/forecast_table_quantiles/diagnostic=wind_speed_at_10m/part.0.parquet -a9067726fbfb68dc5e4d0c4d1e16a01935314710ee11a05c768e20482357b697 ./estimate-emos-coefficients-from-table/screen_temperature_additional_predictor_kgo.nc -fe54a4b4a900566d750e4d577453a3c78cd5348f6a7dad1261b8b8ce7269014c ./estimate-emos-coefficients-from-table/screen_temperature_input_quantiles_kgo.nc -fe54a4b4a900566d750e4d577453a3c78cd5348f6a7dad1261b8b8ce7269014c ./estimate-emos-coefficients-from-table/screen_temperature_kgo.nc -352a95eecd69b7459f2ad14956dcd5c70e412214f65f8f021607d7a9b62a4935 ./estimate-emos-coefficients-from-table/truth_table/diagnostic=temperature_at_screen_level/part.0.parquet -4b94cb6d12fee2f270f3feed0465605d77164839f505e1ebebda45aba644d01a ./estimate-emos-coefficients-from-table/truth_table/diagnostic=wind_speed_at_10m/part.0.parquet -352a95eecd69b7459f2ad14956dcd5c70e412214f65f8f021607d7a9b62a4935 ./estimate-emos-coefficients-from-table/truth_table_misnamed_diagnostic/diagnostic=fake_diagnostic1/part.0.parquet -4b94cb6d12fee2f270f3feed0465605d77164839f505e1ebebda45aba644d01a ./estimate-emos-coefficients-from-table/truth_table_misnamed_diagnostic/diagnostic=fake_diagnostic2/part.0.parquet -e416c92833d8e85d64f8ed1ad6c15581a0243793b291f3120747d9276a00ea04 ./estimate-emos-coefficients-from-table/wind_speed_kgo.nc +93e0c05333bc93ca252027ee5e2da12ee93fac5bbff4bab00b9c334ad83141e2 ./estimate-emos-coefficients-from-table/forecast_table/_common_metadata +037e1cfc55c703a30cdbc1dee78da47020a598683247dc29a8ef88e65b53dfb1 ./estimate-emos-coefficients-from-table/forecast_table/_metadata +9290e994c78b44dcd334baa00b35eb168202ac2e6de998345f6a8cad77661837 ./estimate-emos-coefficients-from-table/forecast_table/diagnostic=temperature_at_screen_level/part.0.parquet +c9d91761e6a58a7b477b027527492fcc87fa6edb4249ee8ae85666b650a80df4 ./estimate-emos-coefficients-from-table/forecast_table/diagnostic=temperature_at_screen_level_max-daytime/part.0.parquet +830980bee6c9d1f69c9789ee6f16b80220ebcc2094e018abcad467aaa0172c96 ./estimate-emos-coefficients-from-table/forecast_table/diagnostic=wind_speed_at_10m/part.0.parquet +b3d8e86fcd40c596edf0173ca4281cd200770ba641e72ec0ccca0298b3c40e0e ./estimate-emos-coefficients-from-table/forecast_table_quantiles/_common_metadata +0425d143be811deb7487c7665e091d5dc31006e0a055f9f87cd5af4c746e034d ./estimate-emos-coefficients-from-table/forecast_table_quantiles/_metadata +4eca1d4d550cd1d934c73c5bcb146076342292ffe7d9d0a9d545eacaf8eb3090 ./estimate-emos-coefficients-from-table/forecast_table_quantiles/diagnostic=temperature_at_screen_level/part.0.parquet +7d296be97fdb2dd5261a7deb6487d022842ac86b53f44875f4267f7790857e1c ./estimate-emos-coefficients-from-table/forecast_table_quantiles/diagnostic=wind_speed_at_10m/part.0.parquet +84fc5fbdc782ecff9262f26232a971b327e3adbf3f0b122d8c3d4b147fec172b ./estimate-emos-coefficients-from-table/screen_temperature_additional_predictor_kgo.nc +542d054bd382eb1bf85fdc6a68c9a93de1c070b82bb1caef0d0917885c292e9c ./estimate-emos-coefficients-from-table/screen_temperature_input_quantiles_kgo.nc +542d054bd382eb1bf85fdc6a68c9a93de1c070b82bb1caef0d0917885c292e9c ./estimate-emos-coefficients-from-table/screen_temperature_kgo.nc +71130467293bd6e7a80f6fb6fb2ecc2dc74bf8407f318e1c90ee915f4a515794 ./estimate-emos-coefficients-from-table/truth_table/_common_metadata +8e08fd5417abb09f92d2673280a8daff1edc750a339fdcf82a5d89b32fbf55c1 ./estimate-emos-coefficients-from-table/truth_table/_metadata +d45b3dcef0b1b05ee8dc718c928dc1808e8a8fb1b9ba4359d02ebd8a07f10350 ./estimate-emos-coefficients-from-table/truth_table/diagnostic=temperature_at_screen_level/part.0.parquet +50ba4d73af4d348839ec30d176dd7bffed4d25550e8a60749e8993d2533674e3 ./estimate-emos-coefficients-from-table/truth_table/diagnostic=wind_speed_at_10m/part.0.parquet +71130467293bd6e7a80f6fb6fb2ecc2dc74bf8407f318e1c90ee915f4a515794 ./estimate-emos-coefficients-from-table/truth_table_misnamed_diagnostic/_common_metadata +a55a100bded8a61682386e8ca6a37f8f56a3d3bad7a7af7861e483cb17f88170 ./estimate-emos-coefficients-from-table/truth_table_misnamed_diagnostic/_metadata +d45b3dcef0b1b05ee8dc718c928dc1808e8a8fb1b9ba4359d02ebd8a07f10350 ./estimate-emos-coefficients-from-table/truth_table_misnamed_diagnostic/diagnostic=fake_diagnostic1/part.0.parquet +50ba4d73af4d348839ec30d176dd7bffed4d25550e8a60749e8993d2533674e3 ./estimate-emos-coefficients-from-table/truth_table_misnamed_diagnostic/diagnostic=fake_diagnostic2/part.0.parquet +37650efdd39a45296faa190231bb3e7bc817feacf052a1e0edf6631d3b52f955 ./estimate-emos-coefficients-from-table/wind_speed_kgo.nc d84aaed836c80f55e11207c8618d556b8aaca0c9dfd4320a3ea88387de71670c ./estimate-emos-coefficients/combined_input/historic_forecast.json eeda3b2a092f3bc78bf7dc8cc22efd5e885f94b8b8e04ccc4740978dfc79e04d ./estimate-emos-coefficients/combined_input/truth.json ff3a00a16fa94697d6e529a6f98384e4602f70a7d6ce26669c3947c8ac2e6f7e ./estimate-emos-coefficients/landmask.nc -2d5e0ed65d621780dd1151e937c8eb976ac62b71d74aff18daef80cae751bd2b ./estimate-emos-coefficients/normal/default_initial_guess_kgo.nc +4907ffd47370afdcc7aaf001e633240ec89e092463ad7ae25e910af10d6c28e4 ./estimate-emos-coefficients/normal/default_initial_guess_kgo.nc f878fca6cb6b8af8967d1bcdae28d9933b27cfd25e8e9bcf93498cae3e2163df ./estimate-emos-coefficients/normal/history/20170602T0300Z-PT0012H-temperature_at_screen_level.nc c72e48ae88fb3a9c909323376c20d9bcaecec5e1b55a42accdab7201ce8d7cc8 ./estimate-emos-coefficients/normal/history/20170603T0300Z-PT0012H-temperature_at_screen_level.nc a7bd5d01ed80297fb5b28be9a308fd8de20c162a87220be5e59c8ac3ffa800f0 ./estimate-emos-coefficients/normal/history/20170604T0300Z-PT0012H-temperature_at_screen_level.nc -9488f92551739437ea1245a0c6c6c86b12e158c9e1eae9043d0cf77001edabc2 ./estimate-emos-coefficients/normal/kgo.nc -99aaea7b92ee2491fce481325962e568224d6c64aea74406d23e3a786554555f ./estimate-emos-coefficients/normal/land_only_kgo.nc -f26a9031bf57ed280eba8f02e8b59901dd875fabdb53428a85332710619a436c ./estimate-emos-coefficients/normal/realizations/kgo.nc +7c4033340c89788ba3e55f560fbe2f47ed8bac14c7b47cdf71312e115caf7cfc ./estimate-emos-coefficients/normal/kgo.nc +67d50642e9a49a0c9115c786cc74f62fc27e10aaaff7ba7e2329d2580c63aefd ./estimate-emos-coefficients/normal/land_only_kgo.nc +12110777cf3db3c8d76daa06f78760f8e314038262f359e659d16fa5d49b98bf ./estimate-emos-coefficients/normal/realizations/kgo.nc 42fe8daffb997848086cb08b3d39dd366b561bb1c24fc7ed3e2e54737d772b9a ./estimate-emos-coefficients/normal/sites/history/20201209T1500Z-PT0012H00M-temperature_at_screen_level.nc 3cda6a3244db09530585454d323ec13bde6b4cfae24940a8b069469f47aec60c ./estimate-emos-coefficients/normal/sites/history/20201210T1500Z-PT0012H00M-temperature_at_screen_level.nc e5dab98673996a3663093a0353b4efac7910b8176921bd0fbf10aa0f53ae5800 ./estimate-emos-coefficients/normal/sites/history/20201211T1500Z-PT0012H00M-temperature_at_screen_level.nc -8b141a7d5555d8f7d100ac66da2de85edcfb5556534d85bf79a81c698cf22815 ./estimate-emos-coefficients/normal/sites/point_by_point/kgo.nc -b2bc93bd5eeaa2a5932d9c054875c714063ef791f94032e551d2dd685a020562 ./estimate-emos-coefficients/normal/sites/point_by_point/realizations_kgo.nc -a69605a33c939c0421572bdc55bc7de51c8d010f06838121272b5e9baacbb64a ./estimate-emos-coefficients/normal/sites/point_by_point_default_initial_guess/kgo.nc +63291b3435066f0b0fc56bc78b9774e0e7457d5a6b20086a67ecc6eb826d618d ./estimate-emos-coefficients/normal/sites/point_by_point/kgo.nc +20ba2f8b50ccafb6e10af1db9ecef72f2d529afd131a652bf2cfa70c64d5f95b ./estimate-emos-coefficients/normal/sites/point_by_point/realizations_kgo.nc +36412f957fb44761e389432c401d49a443d50add44fc1b40ce47456962173fba ./estimate-emos-coefficients/normal/sites/point_by_point_default_initial_guess/kgo.nc c93cb58b443c90fec46135715c322d2a4a214868f13bcb073871690c0a59aeaa ./estimate-emos-coefficients/normal/sites/truth/20201209T1500Z-PT0000H00M-temperature_at_screen_level.nc d128c7ae795bbc5c7281d4140f1d7826e82e82160ec6320317f72bccd08bcb83 ./estimate-emos-coefficients/normal/sites/truth/20201210T1500Z-PT0000H00M-temperature_at_screen_level.nc bca3f986233d44f4c008f1113d40e808f730b80428a55fe4eb4c6f9ee8241e16 ./estimate-emos-coefficients/normal/sites/truth/20201211T1500Z-PT0000H00M-temperature_at_screen_level.nc @@ -432,99 +405,73 @@ ee8638a56d5c8866106ed0e0e9578f391300d9271b78b49e70baeae78ebb9e2d ./estimate-emo 4d6f2a70e895017464765f7c9ec1df67e4fc33992783241971a4d630177b6e08 ./estimate-emos-coefficients/truncated_normal/history/20170602T0300Z-PT0012H-horizontal_wind_speed_at_10m.nc 11e0ff3506e0456abd4b169846cf1f5bcc9596fcb50eb520ba9f68c988fa786d ./estimate-emos-coefficients/truncated_normal/history/20170603T0300Z-PT0012H-horizontal_wind_speed_at_10m.nc db4aa83b225fd02aa6d15b5ea1500b960d2da46378290ebba9d45b8a29c189f2 ./estimate-emos-coefficients/truncated_normal/history/20170604T0300Z-PT0012H-horizontal_wind_speed_at_10m.nc -cdcbaebb219f4be7775f26d7d6fd8384002d1e46320d7f8bc086ea39c7913652 ./estimate-emos-coefficients/truncated_normal/kgo.nc +d2cab1d3d8aa588be08a3d7d65e95e859fed37daa767e8d4a2bdaae25702b9a8 ./estimate-emos-coefficients/truncated_normal/kgo.nc 397b0e3712041863f9d8ac45480b67162f6e740cf9b7d2e1521a6844074146e8 ./estimate-emos-coefficients/truncated_normal/truth/20170602T1500Z-PT0000H-horizontal_wind_speed_at_10m.nc 1032b6e41987c08ad4caace25e182a02701177408461c7b573f3e8b304b31c16 ./estimate-emos-coefficients/truncated_normal/truth/20170603T1500Z-PT0000H-horizontal_wind_speed_at_10m.nc fe84db49d69ea62e2e82312c7b3d860c7329c627d79d76c2543d365f69d2e0d8 ./estimate-emos-coefficients/truncated_normal/truth/20170604T1500Z-PT0000H-horizontal_wind_speed_at_10m.nc -cc3fb6e27313a487f17a69ca223523e86f3fa6c7c71f08574d2efcecab5bc4a2 ./estimate-samos-coefficients-from-table/distance_to_water.nc -a67d9606590ecafd2099f5491e683ec722b574c9bc2a2d1105ecc2eba8ed7bc8 ./estimate-samos-coefficients-from-table/gam_coordinates.pkl -8811643fb3b05232e8dfd2bac852f986c7b6f99989946a26f92630d5a588e834 ./estimate-samos-coefficients-from-table/gam_cubes.pkl -d340bbb94fbaa1f975b88ef41e9d8e3dfda54d3935d4c84257cde7bb18d72856 ./estimate-samos-coefficients-from-table/kgo_coordinates.nc -00ef721539ca3754638a032a42f6723e55981f6b4acdf3076ba0648551b6fecf ./estimate-samos-coefficients-from-table/kgo_gam_and_emos_cube.nc -ba78790fdabba784498c3c9b000f0f9c67664e7d7a3367780f67bce2f5858ea3 ./estimate-samos-coefficients-from-table/kgo_gam_cube.nc -0938d182a496e8708301dd19bf715402aceaa0a2da32915c320b22ef30933d1f ./estimate-samos-coefficients-from-table/land_fraction.nc -ff3a00a16fa94697d6e529a6f98384e4602f70a7d6ce26669c3947c8ac2e6f7e ./estimate-samos-coefficients/additional_features/landmask.nc -8964d00ec69f384501269e0093bb7c4684d1fd7cf292a8286ee4ea68fe3b73e4 ./estimate-samos-coefficients/additional_features/roughness_length.nc -7c0268d6117de9002033a72a0388c963094c0f87b2448c2455802e41750960e0 ./estimate-samos-coefficients/gam_configs/samos_gam.pkl -a979ae8ee62d3e7867ac6ed31a423c03bd65fc52f818d7e24ad212f789352c61 ./estimate-samos-coefficients/gam_configs/samos_gam_additional_features.pkl -33ae30a74bc600b0f4ff10feff1ae3443323f1c17e57ec6c2f0aec4cb0e72ae5 ./estimate-samos-coefficients/gam_configs/samos_gam_sites.pkl -85f86c253b3d7047b3078761992690251629c549dd22b9fde87fbf604bd2afa6 ./estimate-samos-coefficients/kgo_coordinates.nc -12d5d92e469d01943123f7c7b5afb944bf7613b65431c44cdaa22277f70d1a7b ./estimate-samos-coefficients/kgo_extra_gam_feature.nc -e8e9661759ebf7cf8e78d259a33a57ba8a5f055a013bda68daf2f265d28de367 ./estimate-samos-coefficients/kgo_gam_and_emos.nc -7d89c1a0f1dd64e9c6c0c406f0e2a47a9282778cbe688b363170b84b4f3e87cd ./estimate-samos-coefficients/kgo_sites.nc -7c0268d6117de9002033a72a0388c963094c0f87b2448c2455802e41750960e0 ./estimate-samos-gam/kgo.pkl -a979ae8ee62d3e7867ac6ed31a423c03bd65fc52f818d7e24ad212f789352c61 ./estimate-samos-gam/kgo_extra_cube.pkl -33ae30a74bc600b0f4ff10feff1ae3443323f1c17e57ec6c2f0aec4cb0e72ae5 ./estimate-samos-gam/kgo_sites.pkl -8964d00ec69f384501269e0093bb7c4684d1fd7cf292a8286ee4ea68fe3b73e4 ./estimate-samos-gam/roughness_length.nc -34222261b96e60ffd281637d5876cf84664a59efc9977407cb3a7de30c99b0c9 ./estimate-samos-gam/samos_model_spec_simple.json -cc3fb6e27313a487f17a69ca223523e86f3fa6c7c71f08574d2efcecab5bc4a2 ./estimate-samos-gams-from-table/distance_to_water.nc -a67d9606590ecafd2099f5491e683ec722b574c9bc2a2d1105ecc2eba8ed7bc8 ./estimate-samos-gams-from-table/kgo_coords.pkl -8811643fb3b05232e8dfd2bac852f986c7b6f99989946a26f92630d5a588e834 ./estimate-samos-gams-from-table/kgo_cubes.pkl -3ad45b58562c2c654bc988e3eccd55c608a312b615acd1297d569dbef42cbfb9 ./estimate-samos-gams-from-table/roughness.nc -34222261b96e60ffd281637d5876cf84664a59efc9977407cb3a7de30c99b0c9 ./estimate-samos-gams-from-table/samos_model_spec_simple.json 386284bf4c5daa3567fb78ca00331494c99ac664902490188dfdf98c39a494ba ./expected-value/deterministic.nc -64bcba24bc314d1ffc6bb7adbae6b9e6d872cb75e8ef834463e4fb72e55ad16a ./expected-value/kgo.nc +c4adfd73537c8bc7b5e3d70ed3161eff0ecc8f155fe4b08b97b9fa8c3cfa9171 ./expected-value/kgo.nc f61aa0326219c7e3934823bc4d607c2b3ec022a7c1df15d3519aea91207effce ./expected-value/percentile.nc 00167c391d157276adbb4e4b483237f9d8d0680aeaf5f7bfdd447b26b4f68daa ./expected-value/realization.nc 5ac47a686f2a97e73c6322a0f89c0df83e29ed8de6a2272c5283f0542a94622f ./expected-value/threshold.nc 62c0a3bfdae12ba69bb669b34a8cdf6859197f841560179d47c2680f8e759f1b ./extend-radar-mask/basic/201811271330_nimrod_ng_radar_arc_composite_2km_UK.nc 2df05ec61225fea26cbaa178994b50b9ce4324b02e5e9e29f833fc4a8f8711e2 ./extend-radar-mask/basic/201811271330_nimrod_ng_radar_rainrate_composite_2km_UK.nc -5228abd2c7b74e5089d66510dc971e2e9addcad6e8bf801ee30ba8d7b24dfcb1 ./extend-radar-mask/basic/kgo.nc -a1a9524f5671a0f1b9303752e374717e9b6e1cc15f1786c2f52a6eb33fd35eb8 ./extract-from-table/kgo_gust_ratio.nc -f7623e12a44d46d74bb059b1ef3f9257065173d4e9783d8f497e1dd85e32afd6 ./extract-from-table/kgo_lapse_class.nc +19c8132dae73c2f2630b682542e4565743f6bc84bb466d65379d0abcd49015c6 ./extend-radar-mask/basic/kgo.nc +ff7b6e4e0995b0e92a227dd207cdc89189438540232bb09a2943b4c85b720557 ./extract-from-table/kgo_gust_ratio.nc +64dd8b8e3eba30587f640f88a7fb175896e1c422bcb4093b404075367ba58ad1 ./extract-from-table/kgo_lapse_class.nc f378ed97e2e8074b62dc94e8ce36c073805c536769df922f9228aad1433cae03 ./extract-from-table/lapse_class.nc 6d17c1daeb204026b1c654b1c658fa6d34c1b42e18a6fc8c53dbb7f17df3c55d ./extract-from-table/lapse_rate.nc 6ac5591824d34c85403401fe1dddde54eccf9675ab20f8795416948574bb4a32 ./extract-from-table/table_1d.json d53d1406912f77b7c2195c832ca48bae21065177dbc0194ecee8f16fb58f8c97 ./extract-from-table/table_2d.json c0398240b0181e8d0211a6c0e25fd68e50dd0e63a7cc5ee33ed3d4316b529e9e ./extract-from-table/wind_speed_800m.nc fbe545efe8a4c0de0a18ec883e45be8135b66a2909da05e16ab983044a3bc45f ./extract/basic/input.nc -bfce21a9280b95cab45c25d109e620badeeff3c5d9685392884281aa067aba11 ./extract/basic/kgo.nc -3ff442020502a9c3ea4cd2925f8c4752ff08f128776671f7e877656be9c5d3d1 ./extract/change_units/kgo.nc +55bfbe08a37b084547f1f21b05cf0ca1d5b997acc3ed79040fdf71347b5c7a8f ./extract/basic/kgo.nc +b714ab5ab4e96bc3b12c19fc2c5a1ac2767dcf7971fea9afaee2a4be3644f142 ./extract/change_units/kgo.nc 8c6857bb6ce5483ab7c5557e0bed0e4bdc3cdb2b1eabee07236ee23fadee3fc8 ./extract/grids/input_grid_latlon.nc 1e62326bf9211269ee2840b8438f1aa2ea328b9a6b9f02271646f0642e7e1811 ./extract/grids/input_grid_uk.nc -256981b22ae0bf75350635b82786ad3fb89121d918f38138c0c07b4924be083d ./extract/grids/kgo_grid_latlon.nc -4b2a0447b916c1d7468943bbfdcb93ffccef67b61648ec6c918048b88ddd83f4 ./extract/grids/kgo_grid_uk.nc -2e7d2c71446b023ff29ec60f2a8906697e320c9e6e77cb55df807a0dbe5dc0b6 ./extract/list_constraints/kgo.nc -7e95397f99bea9ad0ee7e986160b07fa2933359c93daa7e812aca02990f7227a ./extract/multiple_constraints/kgo.nc -7e95397f99bea9ad0ee7e986160b07fa2933359c93daa7e812aca02990f7227a ./extract/multiple_constraints_units/kgo.nc -23c0fc94f8957588807cf5cde7134e6c5c062649d7df72894e53df958be9e62d ./extract/range_constraints/kgo.nc +14c9a95a365700c4c1ec97841a68b290b68f4034df77dc0d040f805795a02d6c ./extract/grids/kgo_grid_latlon.nc +55a1dd86cf658cbf2842d92142bf75fd204c7deb8afa6e762eec75be50187e18 ./extract/grids/kgo_grid_uk.nc +a277805b508c5c7430b41178d576a857be57e1789e886bec0b8b327da9236e0a ./extract/list_constraints/kgo.nc +757ce0390e9f28fd2b332b670933d69cf261df6399d83a5113c04f293170240c ./extract/multiple_constraints/kgo.nc +757ce0390e9f28fd2b332b670933d69cf261df6399d83a5113c04f293170240c ./extract/multiple_constraints_units/kgo.nc +01652aa741bf11a94c1632647d7f65c6053677ff8352540a7532e991a5acd64d ./extract/range_constraints/kgo.nc c2abfc4f83d4a918dd2d80f20b7746e5ae19d809d21df9715bd8ed5011d38ed2 ./extract/sites/input_spot.nc -ed6e2b7185fdf6d782a158d68faf9fb598953db8f413b75b78c136b896691cf6 ./extract/sites/kgo_spot.nc +57cbc410dfaa154cf6bc96c33c4c7bcd95533bbefc15ff117c993aee7eb7de1c ./extract/sites/kgo_spot.nc b07166a4cd0e0842704aef550ad6398a54ad49cedc64c1fc2a7ef5e8b6d5aa61 ./feels_like_temp/ukvx/20181121T1200Z-PT0012H00M-pressure_at_mean_sea_level.nc 236eecc75a83b7c6c6aab1530a0ca0e85371c44459f4a1830511eb91cc408def ./feels_like_temp/ukvx/20181121T1200Z-PT0012H00M-relative_humidity_at_screen_level.nc e7d2d57da994abefcde41ec5df014d2368656baa68fceb81f45ee13ab1f67b36 ./feels_like_temp/ukvx/20181121T1200Z-PT0012H00M-temperature_at_screen_level.nc 5a594e1f835b50088cfadde6e78e9af47232ccd6c628a15d991d4c8f0df52ef4 ./feels_like_temp/ukvx/20181121T1200Z-PT0012H00M-wind_speed_at_10m.nc -ca3ccada335c76b991ba81abea92560e4d21682144db731fcd744a526be50903 ./feels_like_temp/ukvx/kgo.nc -294d5a06d80206d40f47b85bc307651ae0375fd5a34b17a691548a1943851334 ./field-texture/args/kgo.nc +e24574668fca5ddc5f1f86852b81b4793168894fe4789a86789f9c871605f9d8 ./feels_like_temp/ukvx/kgo.nc +5f3a7a4f51f0fd821efe2e30bada7046ef2c81aeb3b4596803ea5d5348646f2d ./field-texture/args/kgo.nc 20ee41384d6d9471816381e665630bccbf590daf7e715f89babf8fb4712b576b ./field-texture/basic/input.nc -1427bd40faf69eb83e7cde7571f0a2eb9bcb1e8e5d8a49263036de1da8c0cd23 ./field-texture/basic/kgo.nc +ddf709aa569a960622f119c70faee994b8867c7b43fa7fc190c9e6acffa9a1be ./field-texture/basic/kgo.nc b42c8be3fb43f720700ea0b991146d26141b7d82a90dade4e7989c9f0965950b ./fill-radar-holes/basic/201811271330_remasked_rainrate_composite.nc -3bf2ce0da91341c38f04b66478f5f1569f6cc577ea62c15928fa3e38b54612b4 ./fill-radar-holes/basic/kgo.nc -f51de757c436c3e66fbea7c134becab787d4c7eacd5d31c059c96469277b9b38 ./freezing-rain/one_hour/kgo.nc +c99693c5c67c75263848ceebfa56695f97674e0cf2e68dab7641233ff8dd6504 ./fill-radar-holes/basic/kgo.nc +e26cfadf9a5c36a2a6909522423cbdadb99538742148f44b62c3264fc1a4521f ./freezing-rain/one_hour/kgo.nc 85d998556342350f65b991e76ed10ec1c1b272bbe5548fed841dcb7cd1dd6510 ./freezing-rain/one_hour/rain_acc.nc 51602571159257f173e355acbc06a1d5ddcf8ea534602152e308e8fb895adcc7 ./freezing-rain/one_hour/sleet_acc.nc 4873e9a078206d2774207a23c987c2a1f1a514128e50bd185532f55db1b32471 ./freezing-rain/one_hour/temperature_min.nc -0d1c896bda6a78d9734d05b13dd4ef900d057b9009c18a75c813bd52d0288355 ./freezing-rain/three_hour/kgo.nc +5c60fc373a7e7fd8b0fe7143eae5455e2e1bda741ca543e4bc787094294f68b0 ./freezing-rain/three_hour/kgo.nc 3f38fd27b9154585cf84b6dcf2ef953a68d477bb23f6a9bd53a9b1a8b038ec99 ./freezing-rain/three_hour/rain_acc.nc 936242f26ef9a7c588fe544acda3b27f621b1b95434497bb90014d295897eb8a ./freezing-rain/three_hour/sleet_acc.nc 3ec5f00cab40aad4fa508918afa472e48f083222039aa58acb8d831e0919540a ./freezing-rain/three_hour/temperature_min.nc -f9253f6fbc5bfa25e934b9c925dc2eeed1d674b959cb73a4332ad4f43af18301 ./generate-clearsky-solar-radiation/basic/kgo.nc +93e6be919920715f845d97f75300cc430f7d0f38736fe4f45b3e839b96a44805 ./generate-clearsky-solar-radiation/basic/kgo.nc b3cf903fa6be1da295a8f05e6d43c70eb87428cc0f0b896af7e78bea5df7da3d ./generate-clearsky-solar-radiation/linke_turbidity.nc -717f5899470ca21f38764079fafc38eb63ab040ee4c7f42dbdabc5fd7b3ffd1e ./generate-clearsky-solar-radiation/new_title_attribute/kgo.nc +d8b14211f62994ce072cbab3408ecb9d8c5da2b1139be64de665a8b2161f979b ./generate-clearsky-solar-radiation/new_title_attribute/kgo.nc 8889f6a884989e21d2547ce8c3d5b8f713d4f00fece3bb05fe5c3af3d6bf74dc ./generate-clearsky-solar-radiation/surface_altitude.nc -70f73d802d8d6989b4490afe7e7c7e05cb331de961d507a822dadf791d4065b4 ./generate-clearsky-solar-radiation/with_altitude_and_lt/kgo.nc +0fdcd2f630c7e9db1071cb309f9d174cba69cd5c78872b6839339e8c0d487601 ./generate-clearsky-solar-radiation/with_altitude_and_lt/kgo.nc b31b722907f8f0ec4257dfb739f15a10260186854bd78d342c304651dceb6f4d ./generate-landmask/basic/input.nc ca47e1a49b0f6fa69b3004528a8f12d61f329b4028b4fc83252d6b19b3ed59ec ./generate-landmask/basic/kgo.nc 90b32a6b1a38c81cb3dbc16474c8404b0a77bdbc6c0c3149af54a5823387d579 ./generate-metadata-cube/height_levels.json -53d7a43c9ea627ea5f8bd84bc9e83a156d0e57693ee8fa1772f4109d917ffa4a ./generate-metadata-cube/kgo_default.nc -42c5b52a2c14730637203909c565a81d47abfd1df1328527a64a267a173ca8f4 ./generate-metadata-cube/kgo_ensemble_members_all_options.nc -f1d82c9f30f397986033f4c9d1d91602a30f6fcc20bd99a23a8c344ba890f876 ./generate-metadata-cube/kgo_height_levels.nc -a8df03d1cd0e07b027e758b2ee42e4611e2952f185654d56412658208827e68b ./generate-metadata-cube/kgo_percentile.nc -075b0cc1b47beb72428a66e02086d51d8b63780443bec54f6b23f8c216099387 ./generate-metadata-cube/kgo_pressure_levels.nc -8c8731d5ec31f7fae92773025f6c846d6a7d9acf0d44e05507cdf550b8c09421 ./generate-metadata-cube/kgo_probability.nc -2a04ef5dfd1bf7f6565bf4408508c4e524546de06033cd39b9d1467a8a1584a9 ./generate-metadata-cube/kgo_realization.nc -dd033205e34754c141457e676d68e07f5570deeacf0aadae106c1c43c5464cbc ./generate-metadata-cube/kgo_single_height_level.nc -5d06ab101022c8bf1c3adee37fe74d082e902c4ee70280c880549ae3531f1342 ./generate-metadata-cube/kgo_variable_cube_json_inputs.nc +0926c654b760a63166340cfaca08912e95cd74a5e00714b36f36feb24639c7be ./generate-metadata-cube/kgo_default.nc +a309b380a51a2eefe9192445a882dbe7e67d9e6276fcca6b0ae20cdbf0e82ab0 ./generate-metadata-cube/kgo_ensemble_members_all_options.nc +b120c3eebefe785543955fb623c65fc4f6d857ec34df086a26d50c1c114214af ./generate-metadata-cube/kgo_height_levels.nc +2af4c17ead2eb5337a0689c70565d345f02758638fcfaca7971f49ef0fe4078e ./generate-metadata-cube/kgo_percentile.nc +c6f5cf0683b34a30b9493795837f96dfa9f46f21043460ee4692c4787eff4f99 ./generate-metadata-cube/kgo_pressure_levels.nc +43e6f742d90b72f07176946b82a3918c25fc95595dd688260a03852ecf534fb8 ./generate-metadata-cube/kgo_probability.nc +21e53d7c3fa1987107d39d71193a693499886c0e53b1bb70f3ddcd01e0b66113 ./generate-metadata-cube/kgo_realization.nc +0c26ad17a15dda0d47059365c5d85b2d33949fd805f79b1c3e28d775b9702e34 ./generate-metadata-cube/kgo_single_height_level.nc +66a6342f07f5c3a50819f32ea8945ba94aa2583c6a41f88ac09db4e46eef7e91 ./generate-metadata-cube/kgo_variable_cube_json_inputs.nc 11927ca3fe55f20b9f53240222d209b1f7519f159b889a295de6cf8b726521df ./generate-metadata-cube/mandatory_attributes.json d712c2afdd378796381c548e6a5d02bb0e9a7c4c4943b54e15cbf0a700a08eeb ./generate-metadata-cube/percentiles.json c20cf3fee216aaf92506d80a9342fb983372c9b71e0587eeb4f311f7b7697c28 ./generate-metadata-cube/pressure_levels.json @@ -541,42 +488,42 @@ ba056700c16eea0a0f9832c559986bf338d994a95d978764b8844e9f45f19e8e ./generate-oro d442c0ec20cd8de5e3a929827428ed09fa6e05ec05aec1d972aee0b314612c65 ./generate-orographic-smoothing-coefficients/mask_zeroed/kgo.nc 34efbac81d20f8cbae8f7881d984ce7fc9fb59d3f54e478611a914bf94b80dfc ./generate-orographic-smoothing-coefficients/orography.nc 9bb6be36c7ecb41b9f72bc6d46a7566af16863685b8e4f78a59e1666ce8cba22 ./generate-percentiles/basic/input.nc -3c27b839f3927ad290bc98fc1ceb0011709b3af43089c012e5b60fec26149964 ./generate-percentiles/basic/kgo.nc -c75880c7d181b0125e789bcee50922f3fe0e5875b3b16bf2c58ceceecd207bb6 ./generate-percentiles/basic/rebadging/flat_rank_histogram_percentiles_kgo.nc -9375f9a923b0db0caee02b60832d0968e57e22db2f4d2152cb4afe0e80f5a6d9 ./generate-percentiles/basic/rebadging/optimal_crps_percentiles_kgo.nc +431f094a771afc72804039d49c72efdbd22e95b4ff88bf4e6e8f37b6b1b19f2f ./generate-percentiles/basic/kgo.nc +5e7d6304b1e88826905eea962b361a2285e60c21012253973f212323d48e1ee3 ./generate-percentiles/basic/rebadging/flat_rank_histogram_percentiles_kgo.nc +760eb2428656f80933c3f9c4a179e724f8de92c85b8ae1a54ea468e42b8f1e55 ./generate-percentiles/basic/rebadging/optimal_crps_percentiles_kgo.nc 056e0ab74400b19c60d05410abbed6c8fd59cf44f5b3136c58c4d4706ec53e29 ./generate-percentiles/ecc_bounds_warning/input.nc -2413e1115b5c17c4fb905c9a223a3bfd5c732403b08f2df80d4b1559319f0736 ./generate-percentiles/ecc_bounds_warning/kgo.nc +a57f0db9012544e71e4ef322012bf5a4d03b4b84a2b03223446c66a9afe52a31 ./generate-percentiles/ecc_bounds_warning/kgo.nc 19040bbdbbe0a5176b64d5e49daf2267420b2e0f671564450182d3ceaabf7b4e ./generate-percentiles/probability_convert/masked_input.nc -ce127d56dd4c475e7e18053b15d2edc807d03664ab6a8f75933f6d120564407a ./generate-percentiles/probability_convert/masked_kgo.nc +6ca20d64e1f5279ba7a781ab48016ecbdf9d386888b898be2aee637186094004 ./generate-percentiles/probability_convert/masked_kgo.nc 602ec07949687b8cc4295199f92e02863749349dc750b63dfed478c0b00b706e ./generate-percentiles/probability_convert/multi_realization.nc -4161deff8f61f221287170318e13028474fdde23094e90734c761b5646b61e49 ./generate-percentiles/probability_convert/multi_realization_kgo.nc +2b5a626ce6ccb3d2bfe393f7145997ff8d9bf92da8de8fcc461fbcab59cd79aa ./generate-percentiles/probability_convert/multi_realization_kgo.nc 6216e900501d35d7bc277791f0c5f343a33b44305121744ac7518ea87e6f6c4a ./generate-percentiles/probability_convert/single_realization.nc -0aa80c43b7099e661caf1776a976adb9e548e74ca19ddf3e8b1563ba67a953f3 ./generate-percentiles/probability_convert/single_realization_kgo.nc +40dd552c977743986a980da8eab7a03020049e2f29389467b7376e56037143dd ./generate-percentiles/probability_convert/single_realization_kgo.nc f8aa2012e0796ed977262d269f22ab1fd96865a8d51094d575e38570c0a7cfd0 ./generate-percentiles/skip_ecc_bounds/input.nc -fc6b96aea583790a8af15759f6b8b8c6e9c73024c9f8bd736de730def88ae70b ./generate-percentiles/skip_ecc_bounds/with_ecc_bounds_kgo.nc -e329317beb584ac46dccae580843b29983755a3fed546b59d3528728db689caf ./generate-percentiles/skip_ecc_bounds/without_ecc_bounds_kgo.nc -97b1d74003bec1c8bad2902750797df967592420408aba6f643dd52f9141c99d ./generate-realizations/ecc_bounds_warning/kgo.nc +f84035b925c819eddc7f8d7913d3a360614a08c702d5917cd9fb75ad2b270a95 ./generate-percentiles/skip_ecc_bounds/with_ecc_bounds_kgo.nc +08817edf43bc5dcdb23f88593841826618a04bee05bd8a3ac5462a10c3a76b95 ./generate-percentiles/skip_ecc_bounds/without_ecc_bounds_kgo.nc +4ddef318f85af4f60fd05d01ca54c0cb1c160921458847c7c154244ea5d5fd2c ./generate-realizations/ecc_bounds_warning/kgo.nc 0239211e3e32c10593821f0fb71ee567c7b95173843608f7cbc633c22af877ab ./generate-realizations/ecc_bounds_warning/multiple_percentiles_wind_cube_out_of_bounds.nc 413c1fca41f8a29e226d0172b3d28ceae572bacbc23b369b1576f89c8c73afd9 ./generate-realizations/invalid/input.nc 9326797b5a1ee43b8719eea58295790880462895b0963b55970804181eb99398 ./generate-realizations/percentiles_extremes/few_percentiles_wind_cube.nc -73aec232b8c7086e6425c1e1dc8293abe5f54fe0a408f25956332df67401c1de ./generate-realizations/percentiles_extremes/with_ecc_bounds_kgo.nc -b65f9cb7c01e579614f14e3d0764e371014483f974c3aea9f3a0d9abc66c41c6 ./generate-realizations/percentiles_extremes/without_ecc_bounds_kgo.nc -db2cb639586ada39cf210c40a7714a3104cf6c1ad4a6a0a6b2617c2606eabbf2 ./generate-realizations/percentiles_rebadging/kgo.nc +707cb6aed424635bf8f69092db8b1de3ebe3ad1569caafdcee3cb5f26ae6f374 ./generate-realizations/percentiles_extremes/with_ecc_bounds_kgo.nc +204023954f3cf107e7357db75c54e216dd38acd744c2f8af78aa91230029ae08 ./generate-realizations/percentiles_extremes/without_ecc_bounds_kgo.nc +9ff2b2f7d3f083983a114fc66e20f16dc70dd8051caad637aa76db3abb6d9bb3 ./generate-realizations/percentiles_rebadging/kgo.nc ae85179605e8c5bb8d23e8d5c74c78ee68ab326a71b399d247ee6a320a29e281 ./generate-realizations/percentiles_rebadging/multiple_percentiles_wind_cube.nc fb3b6247db40eb4df831dac001f41bce69937c9e31fa47ccd1cda5d443eca282 ./generate-realizations/percentiles_reordering/multiple_percentiles_precip_cube.nc b53419eae8eba5994ebe55ecaede5eab174ca6392eba4a928b9768acaaefdca4 ./generate-realizations/percentiles_reordering/raw_precip_forecast.nc -326ba2b80cdbd6c310820fa07e9c6a497552acca0daa4c02c422b6ee50c698aa ./generate-realizations/percentiles_reordering/tie_break_with_random_kgo.nc -58d018a8a1618b8c7fb55d6070b469cab8c1e18918b3acb2cafe6aeb43e18b9d ./generate-realizations/percentiles_reordering/tie_break_with_realization_kgo.nc +68f36a247d12de3fa6e142dc901c6b3c220b1af6c16b7e8230e167a502557423 ./generate-realizations/percentiles_reordering/tie_break_with_random_kgo.nc +2d7a2693714e97d575096306e61b5bd4ae648934b5290cbe193c8ed52993558d ./generate-realizations/percentiles_reordering/tie_break_with_realization_kgo.nc 4d4a791c214c066321b8b00f0a038b69ff7879f86fc40f4be70b21c8f81cbbe6 ./generate-realizations/probabilities_12_realizations/input.nc -e73af5faef516d2629d590b6eb89a0390e9d2d6f78bd20ae22aeb6d247f69146 ./generate-realizations/probabilities_12_realizations/kgo.nc +30c172ebecf4ee884d11617fb4ad65609dc121c67512318b5ecf8b1e86d98866 ./generate-realizations/probabilities_12_realizations/kgo.nc 6d59cb312a57bdfc626700d758b4dabc10e6031814ce373a90838dc957b2c324 ./generate-realizations/probabilities_reordering/input.nc -9d431e782e7a3af7d84e845dd1f71ca263877dd13e888241285891697cace0b3 ./generate-realizations/probabilities_reordering/kgo.nc +f83dab01ae4e59f5022287c83d38e6d1dc4431c19b23fa9b8987ab17d355c53f ./generate-realizations/probabilities_reordering/kgo.nc 277706023136228258630994b0b49d85ce27cb62d1424c4c6a01fb11298fa5be ./generate-realizations/probabilities_reordering/raw_ens.nc f8aa2012e0796ed977262d269f22ab1fd96865a8d51094d575e38570c0a7cfd0 ./generate-realizations/skip_ecc_bounds_probabilities/input.nc -fd5775f3263ca52ffedd6460dec7d7fb992c26c757fe676a46ba3ba92260008b ./generate-realizations/skip_ecc_bounds_probabilities/with_ecc_bounds_kgo.nc -c957c55438f6f3d60fc85a0d44140a5670aebf09fe7c8ecd93a10aff1d1a5835 ./generate-realizations/skip_ecc_bounds_probabilities/without_ecc_bounds_kgo.nc -071df917a29c727cda1e330d8a76306fff26fce2441e971ce1abe67ea9cf763f ./generate-solar-time/basic/kgo.nc -3123f198f39c89a494f7a667d201787fec4b625ab777a090df54d54fb7f9eeea ./generate-solar-time/new_title_attribute/kgo.nc +2e9a8c4c4b3929e60d1b911f27b6a29396cfb5ad1af88a72931fa57f44228b7f ./generate-realizations/skip_ecc_bounds_probabilities/with_ecc_bounds_kgo.nc +6f55c9aca285b3d0c5c5aa1a2e40ad24f4c859e9dba3eb7d1b685040245421b0 ./generate-realizations/skip_ecc_bounds_probabilities/without_ecc_bounds_kgo.nc +2a8c1cf98102ea0b89a1c870377269cd5d1d0c1403f45a26077738cc76b30702 ./generate-solar-time/basic/kgo.nc +45be1f0ce2fdf745fcdaec1544996fbdb82d7b5fc3e9d836f3f4fdba24f77752 ./generate-solar-time/new_title_attribute/kgo.nc 8889f6a884989e21d2547ce8c3d5b8f713d4f00fece3bb05fe5c3af3d6bf74dc ./generate-solar-time/surface_altitude.nc 2015095f8aee93bbb2e83543dfab49588fa8f2ff4f08d3a07d04fd1f46b9437a ./generate-topography-bands-mask/basic/bounds.json 6b594873e8b348933bf5dd489f896e3b673b63fe358ce7c30b7eadbacd747922 ./generate-topography-bands-mask/basic/input_land.nc @@ -597,10 +544,10 @@ ba7a8a4dab8552656cfc38962d8cc6dce7e32d0965823c77008906d0c6afe7b5 ./generate-top 06911b6df4f8195a9349ff12f352bd1a6251dfcdbcd9f573d652c242f4fed596 ./generate-topography-bands-weights/multi_realization/input_orog.nc 0c52d393be6e53eaa8b9d88a38ceff5ca07772e3385f776ac85df971afaa532b ./generate-topography-bands-weights/multi_realization/kgo.nc 4fe3a154c46e079ab0f42c04db93c94a35b1b7e73a6b3a303f29b8a7167aaa5b ./gradient-between-adjacent-grid-squares/input.nc -61cdfa8bd4780e08a2d58894f77f35b602c2bcc85471b82e4b4dfb9bd3785575 ./gradient-between-adjacent-grid-squares/with_regrid/kgo.nc -d07632a0ba281aae60c88a219d9ed34b78480723005e6b386e80cf0039f90c16 ./gradient-between-adjacent-grid-squares/without_regrid/kgo.nc +8b0c59a4a367398fb0df7c3bb156adacd36f7316974d98553caee3d9d4d1d0cb ./gradient-between-adjacent-grid-squares/with_regrid/kgo.nc +4b69c62f7867dfc92b660cb902dc369361619b394e507c4648828d40f9c3eb12 ./gradient-between-adjacent-grid-squares/without_regrid/kgo.nc 19e48705dd34036cf8e974dacdfeb510a55720f387daf64044d12b73d8d18ca7 ./gradient-between-vertical-levels/height_of_pressure_levels.nc -5c02d08fcbb153d3536dccb6a57be1a5074a9ebfb70a74d824c51b9c7637291c ./gradient-between-vertical-levels/kgo.nc +fafd9c642ef7a63b1c453dae66cb55eab3d7816b02122d12da9320763d2d8db2 ./gradient-between-vertical-levels/kgo.nc a8eb2c78a65acb58d9535c3390fbf22249e98929002c21b5a4b5c534640d18e1 ./gradient-between-vertical-levels/orography.nc 2048e3a2dc7ea8f9e990dceb1108d69223c52fad5a1b5e21bc6206c60e2115a0 ./gradient-between-vertical-levels/temperature_at_850hpa.nc 0f61a96ffc719c656a6461b4f5562170e12dd1a4fb5096f5ada6ed89cc41ba7b ./gradient-between-vertical-levels/temperature_at_screen_level.nc @@ -610,102 +557,102 @@ a01f1ab686e1570b89a91e2eb4d9c0fa1bb71bd1abf26d1e58b5b5610ae953dd ./hail-fractio 66c43db78641e1d0b4d45c3c93692cb64bebf245516105b4670ce3d69c6cf3b3 ./hail-fraction/hail_size.nc 8af128cb571338779dcefd7574929f1f3606ee79c0f69f21f6afd9b15f22f3ea ./hail-fraction/orography.nc 61e38e6ff1578b41001a7e03771b87246a7df518affb17de183c06c03ea1eb86 ./hail-fraction/vertical_updraught.nc -80f7a3a3318a1cc23666a63611bb20512c6de3060586d71995b721c949b73563 ./hail-fraction/with_id_attr/kgo.nc -24c21d72193f0b98ed05c74f0fd1bfd20da2aba4b95a6de45bdfb9cd161a7e86 ./hail-fraction/without_id_attr/kgo.nc +a6190c52e354e882316a7c86dbe6db471aae9c548201cf07e4475a3db3932f8b ./hail-fraction/with_id_attr/kgo.nc +509db8edb6ada20ca72e7c74843dfac52c7e3092310450f212637654a73024e3 ./hail-fraction/without_id_attr/kgo.nc f2a9e066adf1ceddd6b761d53b71b6fa0df2aa8ea32dd6508375d736ced817ad ./hail-size/ccl.nc f0abd84a6be2944831c1cd28e739a401fa48ee51da624db98f8763d5742e50bb ./hail-size/orography.nc caa759d708afc535223bcf35924e98962675f6e3f690fe1f82c5de5ba08302b4 ./hail-size/temperature_on_pressure_levels.nc c4451e5a94a946215e5a3e09787b0d25c215aa4511110f46b6015c1c5aab13c9 ./hail-size/wet_bulb_freezing_altitude.nc -55eb6d9e6314e925c2730cf1d477f8b6799b1e0055d7205c4e198f50167241c0 ./hail-size/with_id_attr/kgo.nc -ce09aafc535c43611df16bb8b0bf4a43c49b2a8302cc34018b72d9373841508b ./hail-size/without_id_attr/kgo.nc -7e315c8eae130125ce2eace27cac08b89233765f3f4fc55c6f1ce30b7da77a80 ./height-of-max-vertical-velocity/kgo.nc +0af18a52713334627696679bb369bb00332e5cb8f8a1a82ca9a2a7612071e6d3 ./hail-size/with_id_attr/kgo.nc +76d84b674d8c0c9bed8bd27fad6697be7559c9ebe1c13296363717cbcd888add ./hail-size/without_id_attr/kgo.nc +e4ad2774923662fad733e3d95730416993abd94486aa9e032256e9d60d4b1bc0 ./height-of-max-vertical-velocity/kgo.nc 90ac17c415ba2b0249de3f304bf2f511a9a294710e0577dac9231b6ab822660d ./height-of-max-vertical-velocity/max_vertical_velocity.nc 929f98fa947ca8b635d76f6d3509b368fe7780019af76172dddbae4fef21822d ./height-of-max-vertical-velocity/vertical_velocity_on_height_levels.nc -e4002b78026bf59b8a2274872dd87d17b4c6f54085ba75573f0b6099e3f62ae6 ./integrate-time-bounds/basic/kgo.nc -edc20b73a66f29159ee676b98eae8eed9b8d5b2a1d7b7b906415d3e452cdb195 ./integrate-time-bounds/basic/kgo_renamed.nc +cebc2ccbe6c8e33b3e39d65f07d189172133a3fc6c22e3567c61572e14750cef ./integrate-time-bounds/basic/kgo.nc +b8ae3b9d3db05fc0c8479bb707465aeaf140202ab4477d025f5c793e2d287dc8 ./integrate-time-bounds/basic/kgo_renamed.nc 5aaa03199faf9df5fda699936b33df862b071b3790b04791fef31d8cc0fd074a ./integrate-time-bounds/basic/lightning_frequency.nc 84562b15f63f014168f6808bee71995a84185d3a62bf436eb7a537010dcf4015 ./interpolate-using-difference/basic/orog.nc -3b555fcd139901f2204395554072759432d7127629ec84e0c0bd7edd684afc15 ./interpolate-using-difference/basic/sleet_rain_max_limited_kgo.nc -dbec36f79fe5b7c9a119eea90c91b8bbc5fd5627c46a12a2e98c73e874af7fc0 ./interpolate-using-difference/basic/sleet_rain_min_limited_kgo.nc -55602f195922b3e7a7edb0c6b945819782370c6f049fff6337db05b1643609f1 ./interpolate-using-difference/basic/sleet_rain_nearest_filled_kgo.nc +854bba49c9daa66d930c2ea74300607297cd836ed8579e0a449a40e738e18af1 ./interpolate-using-difference/basic/sleet_rain_max_limited_kgo.nc +0bcbf3e7d168b97a8229e24866ef110b11f6dd61d14c8d6f18d9c2003d93d5b8 ./interpolate-using-difference/basic/sleet_rain_min_limited_kgo.nc +81fa7bde75ccb23ea9f68c08963290d1adacefa6c74a4e52cb2e73493a7b0dec ./interpolate-using-difference/basic/sleet_rain_nearest_filled_kgo.nc f0a89bda83864f490ea47fa929617ab60e8cb33ab0be912a7302a903c5f5faaa ./interpolate-using-difference/basic/sleet_rain_unfilled.nc 9f49f095611b61d63c992037e3b2fb35c2908863b0bb389613dc88b5e247748a ./interpolate-using-difference/basic/sleet_rain_unfilled_corner.nc -da85bbc556b8a2032a652383ace737329ee4e185a2799a4d82bdfc45217b13ee ./interpolate-using-difference/basic/sleet_rain_unlimited_kgo.nc +8f3eb286bc63934281f2f7299382bdc7ad06800ece947b54af0c0508ca59bca9 ./interpolate-using-difference/basic/sleet_rain_unlimited_kgo.nc 6bd34e690c06922372d09387327cb711da3192b1a76fd4b7d9f31c276734255f ./interpolate-using-difference/basic/snow_sleet.nc 2ebd0073a5fd84f989c976229120b60fd720d1c4ed1f2229abaa675fef281c98 ./interpret_metadata/non_compliant_weather_codes.nc c45d0da496a7c79052f60ae126cb51cd4a731659cec3470f9005e3996687dc99 ./interpret_metadata/temperature_realizations.nc b58210883238b08d0fdf91dc054d38ac298f60442501d3e0e83b44a6d10db58a ./lightning-from-cape-and-precip/cape.nc -068b39c9765037e608afea3f3808bc9757aeb575f6817053e5f22e083f1db3b2 ./lightning-from-cape-and-precip/kgo.nc -5ca720800c468c9eab0529f866b8206a91bea58f58a2a5b48d22f8df80549fb7 ./lightning-from-cape-and-precip/kgo_with_model_config.nc +451117dd982c6fbd66c7815f8d5401de129420ab4f24164870b0a41223394bea ./lightning-from-cape-and-precip/kgo.nc +17b00c2946c65837d0f31fea4a146da3ca93054f7a944b3e400ead0e7372efee ./lightning-from-cape-and-precip/kgo_with_model_config.nc e740ae94a72622fbbc82b53a65096058916e0e5a744443bbf1095dd5cabf1341 ./lightning-from-cape-and-precip/precipitation_rate.nc 49fa0d424e4f9b2281c2aa65e9e55c15dd6cd0500c765b29adca9f3ffb1364bb ./lightning-multivariate-probability-usaf2024/apcp.nc ff80b3950adf7fa7fe74fba71393762f986fbca830873b28cf254cb9d3cd8623 ./lightning-multivariate-probability-usaf2024/cape.nc 5e9ac038c444331f81f0ca16ccda885fca92451a84a13d43e8ec901287eab9c0 ./lightning-multivariate-probability-usaf2024/cin.nc -973ae4e1a7a1c045ae20671aebd8b26aaf07102c55cb97397688bcd99ade46e0 ./lightning-multivariate-probability-usaf2024/kgo.nc +c5e19c3bd231b848b018b66773ebe03b3b8ec1e4d89b7fbb1e729c868a0e4bf8 ./lightning-multivariate-probability-usaf2024/kgo.nc ebc7a3072ca601cfd0a33d3585245be50098aeeb8266131c8c46decfa8325f7b ./lightning-multivariate-probability-usaf2024/liftidx.nc 91b24e47e12c04c100b27ade99028abb15501c59022f720a9df17b0d924c941e ./lightning-multivariate-probability-usaf2024/pwat.nc -b497bee2d2770ffa15f26b0df1ed042f00f05bfaa4bcdc6d998a63f7915e3c9f ./manipulate-reliability-table/basic/kgo_300_min_count.nc -937bf2c0560683320e1dc191ede5f2a1865875484f41551a62e729477df78f43 ./manipulate-reliability-table/basic/kgo_precip.nc +814a63cc59ea0c0827cc435c8607891677e2acd234774f6cee721c3afea67548 ./manipulate-reliability-table/basic/kgo_300_min_count.nc +b99d11406c811e78d690d42e0f46a92280e588a8b0101e8bf2c8fa36f3262860 ./manipulate-reliability-table/basic/kgo_precip.nc a709db26d352457bf4f1bddf5dbade499fe89d455669e567af8965eccbebe9c4 ./manipulate-reliability-table/basic/reliability_table_cloud.nc 5bb4bb6ac2ce9ab29277275b26964a7f3633ee4c7cfa4aa4f48769e091379188 ./manipulate-reliability-table/basic/reliability_table_precip.nc -a1f605c872d0c8b8a484a3478c7f5068159e9f64fa98ae9b452bdb65318be57c ./manipulate-reliability-table/point_by_point/kgo_point_by_point.nc +7f1093fc474320887110f28cbce1881ca68f3ed30e0fa6b2a265633e31fdd269 ./manipulate-reliability-table/point_by_point/kgo_point_by_point.nc a162ff6c31dd3f0d84e1633c0cca28083e731876a69d40b7f14c6ff4a3431f25 ./manipulate-reliability-table/point_by_point/reliability_table_point_by_point.nc 0f35c52998ea93be4d8ed08f0ed1164b68bd6a197557afb95ae466fbec81c22e ./max-in-height/input.nc -4d46ef063da2d1e9791063eb19e9c2900e3508716d51a16d5b86d6fefdd7db6f ./max-in-height/kgo_with_bounds.nc -16159b1eb7afa483db1862ecb929dd8a48dea3f6a17d27d344a588fbd11f6960 ./max-in-height/kgo_without_bounds.nc -0c4d0c51d639bde594589b8d89ec184369ebac6898d989907580d8ad570dd97b ./max-in-height/kgo_without_bounds_new_name.nc +2856432e02159afc04dadf37a0f8033cba25a9b29dfd73baea10369ccadfb645 ./max-in-height/kgo_with_bounds.nc +823232b882186fd7b7bd6172f5cedcaf5fb980b86a271553d2e4313e5e9b2b4b ./max-in-height/kgo_without_bounds.nc +19df0025503f5c42e07db9a104a14f9cff8d98006b58e5c6ba7bb4a59c9f7f7d ./max-in-height/kgo_without_bounds_new_name.nc a2de3ea5608d30d4ac2759e9ff4c4a6573e2c0e8e655595682a2ec2691c2de74 ./max-in-time-window/input_PT0029H00M.nc ac81531fa507a2a3a12d4adb542ed014594eff4a38137f947d3a68a2063fab49 ./max-in-time-window/input_PT0032H00M.nc -aba4aea17af32741ee60486391660d0527d0e46f00d8b76374b89261ef36744e ./max-in-time-window/kgo.nc -2ed04021c9b6c496247c886c84749f2336dc529b430f59e8a319d6e47cd2969a ./merge/multiple_file_kgo.nc +fb02306f960fa36cf9a86921ec6599541e0a0823dfa546856000f810cdd96d73 ./max-in-time-window/kgo.nc +34e357f68eeab5167eb87200dc536332fe2248c97202dfc7c99ff94bdd2b3435 ./merge/multiple_file_kgo.nc 763a4fb1867a0c46598125fcddcf8e0eeaeb25c326559ed41e52bd514f2c5015 ./merge/orographic_enhancement_T3.nc fb6815bc9492491c8cdf436ca3f82cfc3ae6be8c0349a6f569575f5bf7f6708a ./merge/orographic_enhancement_T4.nc -9cfb3d532f18f1c9d32b7c165df5ec61a0ff65b75c29409eb4abf7523543cc68 ./merge/single_file_kgo.nc +763a4fb1867a0c46598125fcddcf8e0eeaeb25c326559ed41e52bd514f2c5015 ./merge/single_file_kgo.nc ffb827abbdca90bc2b6364a9e19e8ec2d05d2e5654db75c0007d5db8b457d64a ./nbhood-iterate-with-mask/basic/input.nc -f1771a6b05d0e3ce19c3c08a9e1f1f4bb5bfe06d7fb72c095ff7b7a04cd69c54 ./nbhood-iterate-with-mask/basic/kgo_basic.nc +5d3e4ee6ad748172f09d898f4d9b8b7acfbf9d5034c802f9a2cb527d3dbbdb91 ./nbhood-iterate-with-mask/basic/kgo_basic.nc a3fe8e8b7969fb1ec4ed52aa098c95bb467d16bf54027c05e561d5a36328d402 ./nbhood-iterate-with-mask/basic/mask.nc -e74adcf91e5dee24b94759db0de72c3f8ac6b8b056441395b60314fb8666e65a ./nbhood-iterate-with-mask/basic_collapse_bands/kgo_collapsed.nc -b4d86c5fd7e867d9185b48a0b4c0c6abc1876296cb5d21feb030b45cd47b67c5 ./nbhood-iterate-with-mask/basic_collapse_bands/kgo_collapsed_circular.nc +54ac00b2c97feb5902327e1e5e8819bbcb8a4445e7917a051d56cbd9325ea233 ./nbhood-iterate-with-mask/basic_collapse_bands/kgo_collapsed.nc +67bb08e38e6fbd1d33f766acbcd38ea21bffc358a27202466429ddf73c2f7d8d ./nbhood-iterate-with-mask/basic_collapse_bands/kgo_collapsed_circular.nc c4f5cac0aab059138fc9bb68bf2a0a685bd61fdc3b3097a40370a622b9c0e8fd ./nbhood-iterate-with-mask/basic_collapse_bands/orographic_bands_mask.nc a3036504ae2292274689a67c2e99f839302fda2f7f4f48c05e9c4ea33d83c5ba ./nbhood-iterate-with-mask/basic_collapse_bands/orographic_bands_weights.nc b3e66cdc28e620eb3c389fb674cca10406f5aa9d70708e9bd6d90747c8eb0b07 ./nbhood-iterate-with-mask/basic_collapse_bands/thresholded_input.nc c770d74acdedb2b98fdf9369fb1316f19efbff3dacd30e5b6ec1a4d9aad59e55 ./nbhood-iterate-with-mask/collapse_store_intermediate/kgo_pre_collapse.nc 6b79f866c17f4b327cdc43f8373a915375539b61ffc8372bb722d803401bb363 ./nbhood-land-and-sea/no_topographic_bands/input.nc -08dc5e60f33b1ca9361d824b93f00298734f887aa74f4f4d55f1c3b54bca6460 ./nbhood-land-and-sea/no_topographic_bands/kgo.nc -0fadd0d71acb3b3a4852b0b3a76350265a069746117479ddab8b1a3f64b30b37 ./nbhood-land-and-sea/no_topographic_bands/kgo_circular.nc +784df84a3e883791c5f958afeed86c72ea6926127370ff63e253e192ac93ec27 ./nbhood-land-and-sea/no_topographic_bands/kgo.nc +4588f2e29c5cb712674fa8193662f64e5c0ea288a5eb97e85295342f1a4e4c50 ./nbhood-land-and-sea/no_topographic_bands/kgo_circular.nc f4e12249b781f0b055d0d5ef02aecd9fcc2d6ee5a2fc7b5a2320afc8f6179a93 ./nbhood-land-and-sea/no_topographic_bands/land_only/input.nc -92f82e0303aad288786682e98fbf2ac89641443bddf8758c997f12f0e22e1b0b ./nbhood-land-and-sea/no_topographic_bands/land_only/kgo.nc +abddba9fe2a29adc06d20c0485fb71133e942ab5dfa7c0617f35a2d5efa41692 ./nbhood-land-and-sea/no_topographic_bands/land_only/kgo.nc 591f4d2b52b4646e8d90ee1ee4a0e841cd0e821d87179e53f0aefaff4ed01ca4 ./nbhood-land-and-sea/no_topographic_bands/land_only/ukvx_landmask.nc e764d9ede79fb809579ee193cf9ea23b231eca9871541de97db0f69d53347302 ./nbhood-land-and-sea/no_topographic_bands/sea_only/input.nc -36e0dfcc7258fcc1111e92cd5be0a46df2a0654d8b50505bd2c6862f5837e180 ./nbhood-land-and-sea/no_topographic_bands/sea_only/kgo.nc +322c4929c96e3b4ce06729eb55177ef3e3720808705bf914a2247a84a92324ef ./nbhood-land-and-sea/no_topographic_bands/sea_only/kgo.nc e07de2f1cac19065645b5c55cc8f5614f1351e0e8eb5658c1505fefc6d1597da ./nbhood-land-and-sea/no_topographic_bands/sea_only/ukvx_landmask.nc 18c16b714871cab1995fee27368d974f27343daf99396af8342c48285eb4ed31 ./nbhood-land-and-sea/no_topographic_bands/ukvx_landmask.nc -7fe463318cebee21cac4950d85c64851fe655d5716c881aeb2a2d6516358a2b3 ./nbhood-land-and-sea/radii_no_topographic_bands/kgo.nc +60cb59a416d95b3113a69bbbba1ed8bab03990f2e7c284e7a2796e3321606640 ./nbhood-land-and-sea/radii_no_topographic_bands/kgo.nc 6b79f866c17f4b327cdc43f8373a915375539b61ffc8372bb722d803401bb363 ./nbhood-land-and-sea/topographic_bands/input.nc 28913100e292d3d83c3a12a497b3cadb2ec2ff94bd6318ac56e76c55bfeffae1 ./nbhood-land-and-sea/topographic_bands/input_probs.nc c980b5be44cad34a59193393f62b2d35a3cd15504ea1152414460e0c09380deb ./nbhood-land-and-sea/topographic_bands/kgo.nc d3aec84cd2ee9f41499a8e2b2600dd1dc775615d5a0e8074eac1b335a214c9fc ./nbhood-land-and-sea/topographic_bands/kgo_land.nc -2d098a443e9d9bc8d956dddaf9de4d9d0c414b8f45d911d1ad974a4b2e744ef4 ./nbhood-land-and-sea/topographic_bands/kgo_probs.nc -c9da9516e3af185ff985a1e3b34d217d17568579f0206d69f3817f2e67edf766 ./nbhood-land-and-sea/topographic_bands/kgo_probs_circular.nc +1957e4d3d34dce494354d9177d14ce6316c7c143bacb8d793d65f7eac371b7e7 ./nbhood-land-and-sea/topographic_bands/kgo_probs.nc +86e859d1caf7935abdea2483e2e02dd6fd1c1ab9882add10214117257c25fdbb ./nbhood-land-and-sea/topographic_bands/kgo_probs_circular.nc dcca00e1ab7e751de4da02c3097930becd850a742dd9c84f6d762301d4ee2a93 ./nbhood-land-and-sea/topographic_bands/topographic_bands_any_surface.nc ff547398459c74672e40ff26f790bd6051b4f6ba0df4beb10437ef58723c56ba ./nbhood-land-and-sea/topographic_bands/topographic_bands_land.nc 18c16b714871cab1995fee27368d974f27343daf99396af8342c48285eb4ed31 ./nbhood-land-and-sea/topographic_bands/ukvx_landmask.nc 3ad5c32d2fad22979bfa2ef796bdfb5d50407d0e471622bab46648221807b223 ./nbhood-land-and-sea/topographic_bands/weights_any_surface.nc ea5ad9c18eff158c29e98085e190f834f5ab796a07158159a92199c1861b4907 ./nbhood-land-and-sea/topographic_bands/weights_land.nc 5285624042b53cef76e6ef4d9e575509725004efa18d393b83a1ccf07511ca01 ./nbhood/basic/input.nc -0f2ec179c80dc624513b7c6fac5a8c24ae5b9e96dc2a3fbcc89d5fbbb3afe0de ./nbhood/basic/kgo_circular.nc -de501daf239811e81c70109d55524638306f303125b58bc160140b1fd5017560 ./nbhood/basic/kgo_square.nc +448e18954ece54abc2bdb18b3fb8402f6313b657c0ed5f69aa7bddd98adc3d06 ./nbhood/basic/kgo_circular.nc +47183f7ab34bc12fc1273844d0c70f3ecb8f924484cd70bf710ea65e4b1c96c2 ./nbhood/basic/kgo_square.nc 87487300c60d5d7b81c789e302c360878e78468e0d7c962e8e36ec72d62a1dcf ./nbhood/halo/input.nc -7436f9972519fcbe1918c88207ffbea0690a159bfdbad0ac1742058661bc5fe3 ./nbhood/halo/kgo.nc +69d402c32aaa5cfa69deaec630f401b8dff4badd42d6238692a7b56a30854e97 ./nbhood/halo/kgo.nc c5c973a3a5be32bbe3276bb4f0c595a2ee81b11fb5814a68b25fcf81bd8107b4 ./nbhood/mask/input.nc e2f5fe1acb2274f6c4d0d5ba93b139270568aa2a64402520813a92b63f9f17aa ./nbhood/mask/input_masked.nc -15dffc3224c6ac2491a0556de198b113478bb0abe45a51ffbee98600b1d056f8 ./nbhood/mask/kgo_external_masked.nc -bac5aa5b26e0c32da139a061a7ce583a5650a981c1a0d27f574214c84aae2cb5 ./nbhood/mask/kgo_masked.nc +55d111339c831ca101048974c8c2cafbf5f5ed46ff91980a86109bbb392e55ab ./nbhood/mask/kgo_external_masked.nc +5f1af2df2ec0f88ea02676bc7e2835ecc4faf7081b8892a93e4a6837c6b30e22 ./nbhood/mask/kgo_masked.nc c73f2cd8f2a67f59e47e3979ad2262b48a3e793f4eb04af9b58ca0f01c5e84d9 ./nbhood/mask/mask.nc 2722e58693450aa455b855d4256aed30982ab2034c52a63a09070fb2abd2c0f3 ./nbhood/percentile/input_circular_percentile.nc -38e9028e040e7d834dcd015181ba6d29b29a03043bd7de120c0ec628936f2fa8 ./nbhood/percentile/kgo_circular_percentile.nc +9df88091614b648bfdc1de5a796ceee7f98557769dd0267a45988d87d0ad8ad2 ./nbhood/percentile/kgo_circular_percentile.nc 8a5546c254ea4efa287aaba6b7979be605eec1671630876956f1ed1496274c1f ./nbhood/wind_direction/input.nc -2123a01cb56b394d29e7de45cf5d2b2d8721da2a224a2aca4b6d662255fb33ca ./nbhood/wind_direction/kgo.nc +b92ef741deb97ccec9096c38427bf58c983110f2f4b1f42ef721eee1245766fb ./nbhood/wind_direction/kgo.nc 36e8ead1afd9ce192ccb13d2d0a6617371ffce25a00de980ec980804c3f25942 ./neighbour-finding/inputs/LAEA_grid_sites.json bb1d04927dbcc6150696111d2523ef221195b4bcc150fe7c0902959dab3c72fb ./neighbour-finding/inputs/global_landmask.nc 12e812d60f0f5e3de41d9eba5b4ebd7a8e0e21e8bacaeb6b9e540e5e6b279ebd ./neighbour-finding/inputs/global_orography.nc @@ -716,36 +663,36 @@ a958c7fafe161c2757b5ed75d60a777aa41d50f5258bf2863a430d15a3d418cd ./neighbour-fi 8f483d13b57c6c78e4d9f67b7aad1a5b6a8eeb250fc5ab5ccc4692fce84f076c ./neighbour-finding/inputs/uk_sites_missing_wmo_ids_with_unique_ids.json 6edcd31dcf3bdeda63c20419b2a167c552a93352938914234c6a707c1f7df848 ./neighbour-finding/inputs/ukvx_landmask.nc 052535685943eae756d7eabe4e35d8da7f1d7eba40779f02ac80967d92dfcb86 ./neighbour-finding/inputs/ukvx_orography.nc -faaa1c8befd0d64088b34faf1b78a895ed7274dc59248bc912806057445d04da ./neighbour-finding/outputs/all_methods_global_kgo.nc -22043f4aa84762f9b65b45938d36ce4ea27c9c8d57b80ce75996191681e2d4e1 ./neighbour-finding/outputs/all_methods_uk_kgo.nc -c711da96d87ba5454b9112f0b5be24104ba599d4c8ec1e499e0c149f93507dc4 ./neighbour-finding/outputs/nearest_global_invalid_site_kgo.nc -2279e36d367455504574ef4fcb72d4ac32b6c2a444114ecf30028f2d055f7b60 ./neighbour-finding/outputs/nearest_global_kgo.nc -14359890efbd61f81be27c5183a8bb99fa5cb779c76a5d9ca83f6b5b4738b76c ./neighbour-finding/outputs/nearest_land_constraint_minimum_dz_global_kgo.nc -73fb3fc122904350dd1f42929cdb4b0f19b817cd330fcff8f13e007f8d921f11 ./neighbour-finding/outputs/nearest_land_constraint_minimum_dz_uk_kgo.nc -8deec906144346a79374a565c5ab18d32bc706469ededd68ffa1ad566ce4ae8d ./neighbour-finding/outputs/nearest_land_global_kgo.nc -99bed71a753eb9af971555acb7131ddd495c156c2af01ee7cf90778948cf2293 ./neighbour-finding/outputs/nearest_land_uk_kgo.nc -ae948207c8ae4d3f529e4c3da5ec4ff258a594a4b6597fcfbe650ce6cb9c9daa ./neighbour-finding/outputs/nearest_minimum_dz_global_kgo.nc -04362494e518ad79ac5f90f6e4e095ccc139e9ec95f33a3c5e7e82fbda00fb72 ./neighbour-finding/outputs/nearest_minimum_dz_uk_kgo.nc -cc8454475987cf1244e8708c9421c1c6a290bbca24154fe19d89d3f37de62dae ./neighbour-finding/outputs/nearest_uk_kgo.nc -276d6508df141df8791c4934f1f9c8a7a48c3a00c32091a9aa876acbc42ff9ad ./neighbour-finding/outputs/nearest_uk_kgo_some_unset_wmo_ids_unique_ids.nc +7cc59fb402ffa70fffc7804cf2f533e4281285ea6d3ad9ce334bbf05880c2168 ./neighbour-finding/outputs/all_methods_global_kgo.nc +e8d3ef87b70bb42451f97db821885dc46ae43685f700813b64e708b01edc3d2c ./neighbour-finding/outputs/all_methods_uk_kgo.nc +6493fe218e8156080ca5082349c2b6c9ccfd190962c916d672dcf3195d94b760 ./neighbour-finding/outputs/nearest_global_invalid_site_kgo.nc +7a2ba0697ab380aebff078e40ebfca86f775b3c42913497909067a383170225a ./neighbour-finding/outputs/nearest_global_kgo.nc +2d7b1a7c91236e053a6f919d4e39fc0810f4d3e42142e13ce0edf1e70b60ed5c ./neighbour-finding/outputs/nearest_land_constraint_minimum_dz_global_kgo.nc +aa54f6292c8e948eb02c3f127d8240252b1e626db330bee26d00fa29c0edb60e ./neighbour-finding/outputs/nearest_land_constraint_minimum_dz_uk_kgo.nc +14e0be89b2aaf1791f6168b18bc0ba63e81e249f5d96ae2f35c7d35b6714a5de ./neighbour-finding/outputs/nearest_land_global_kgo.nc +542fc1e5f5107af6c21bca1052ad10a7ca11f0d7e729d2597d22d754014df0eb ./neighbour-finding/outputs/nearest_land_uk_kgo.nc +1cf7856fea66d7df6a9dc224d7141a52a6cbe9da26d8b6ca9757a5aeecb80a14 ./neighbour-finding/outputs/nearest_minimum_dz_global_kgo.nc +478ca4750aae458380c6abe730f9bdfd664e4007e5a298ae59d01a4356f99ece ./neighbour-finding/outputs/nearest_minimum_dz_uk_kgo.nc +da22d11a9597890fa31f578e21dbb274b4c0fc5b7a8a9f2df5d7d510c2f83b70 ./neighbour-finding/outputs/nearest_uk_kgo.nc +936c9fe815274d2bd9d18f5cc79719e15ae7a4424ee8121694ea701815b7b82b ./neighbour-finding/outputs/nearest_uk_kgo_some_unset_wmo_ids_unique_ids.nc 83fa4bfc407a5ecd74f3d7de807e3d9d567e1052bbaa366e77cf75a80951494f ./normalise-to-reference/percentile/input_rain_rate.nc ef00f9b76df85efe1a77d4c81f735789337b1e882daf13bee9f28ea1fda9c810 ./normalise-to-reference/percentile/input_sleet_rate.nc 4974aa5b23458fab845c520ea3ca3b546062e5d045dbc51ec91ecef92490ab5b ./normalise-to-reference/percentile/input_snow_rate.nc -d7925ade8adde862c85d96954066bef729e6a36fa0f54c6eb0edc937eadb4be0 ./normalise-to-reference/percentile/kgo.nc +c9fb0578ed35b24973e2b594b0dfae88b7505c94e478caf7a82fd9e1ca9267ac ./normalise-to-reference/percentile/kgo.nc 484c06a6f95e52886d9f2b2e02b5b644df27bd22faaecac1b5f80e8567ea26bf ./normalise-to-reference/percentile/precip_rate.nc 02a7642b0fd61a91aacc2be7e91b90d613bde5ee5c01e7d9f47f9a954b2dc318 ./normalise-to-reference/probability/input_rain_acc.nc d8949ba48712dde51089d33416cd01e2ae95ab79e363fcede8f33af4189509ac ./normalise-to-reference/probability/input_sleet_acc.nc 83f4d1d84378ee3ca07f17be81df89a12f53c47ee5c7c8304f850a7810f43549 ./normalise-to-reference/probability/input_snow_acc.nc -bbdfb5dcc722837d1efa725464554b9ec6910f5220a400abf060cd29b2696d29 ./normalise-to-reference/probability/kgo.nc +3866a31135e8b05e045568760cfc667f51e06fb1771678ed2c363fe049a05fdd ./normalise-to-reference/probability/kgo.nc 82ae938fd86e912c22a4f1cfdc03c948c0db056709021ed9751335518c2b0c75 ./normalise-to-reference/probability/precip_acc.nc e8413664daa768dd508d9f97227302366153fd234124875571e3af9b1ebdf967 ./nowcast-accumulate/basic/201811031600_radar_rainrate_composite_UK_regridded.nc 5e1449195499e0583b92308e04c9f048e661667f9e52b0c1da0812cd2aee6487 ./nowcast-accumulate/basic/20181103T1600Z-PT0003H00M-orographic_enhancement.nc -5df41bfe19f8863a794333bf40121085353aaece848dc7b4774ca72e3c5809fc ./nowcast-accumulate/basic/kgo.nc +c79c30baaf30c18295704b84a89f979720b9133985a4f66d06152f5fe6f5d347 ./nowcast-accumulate/basic/kgo.nc 06b63a2efc6b3336e1187133bf635d04c8805c43d0815142262e9a9618321324 ./nowcast-accumulate/basic/optical_flow_uv.nc 6e9fc55d900d7b067b6d38cf63d40ad5bac17c2b118e58c43b1fd49a0c6f9e45 ./nowcast-accumulate/basic/wind_uv.nc e8413664daa768dd508d9f97227302366153fd234124875571e3af9b1ebdf967 ./nowcast-extrapolate/201811031600_radar_rainrate_composite_UK_regridded.nc -2b7df566ee396fad724139461049693bbb7fe40e3b85a1835ac372aaeddd2bf0 ./nowcast-extrapolate/extrapolate/kgo.nc -74c2f41a2a25ea3ce3437651225d2707c9c3a39a1910ab37f248b870f0a1aa6e ./nowcast-extrapolate/metadata/kgo_with_metadata.nc +054c6a6e676fe48a39653a54ccb1ebe7ac21fd246cb248063b8afba71bc3beb5 ./nowcast-extrapolate/extrapolate/kgo.nc +93086895b9b721f2de39290d5d02b085b994c074608b76a2532ac967c240691d ./nowcast-extrapolate/metadata/kgo_with_metadata.nc 4892f1d3277d21a3eba413a4f0cac8d6aa662bcaf2bd8103ad28eb8dbda205f7 ./nowcast-extrapolate/metadata/precip.json 06b63a2efc6b3336e1187133bf635d04c8805c43d0815142262e9a9618321324 ./nowcast-extrapolate/optical_flow_uv.nc 0d0bd2a90b61aea9cea1c0bc8723b58d35553d05c1e5036522030e2f643deef6 ./nowcast-extrapolate/orographic_enhancement.nc @@ -755,73 +702,73 @@ e8413664daa768dd508d9f97227302366153fd234124875571e3af9b1ebdf967 ./nowcast-extr a2cd9d8c736eeac6b28a26d6b982b61fa2cb01311353539c8d644527446bbc15 ./nowcast-optical-flow-from-winds/20190101T0700Z-PT0000H00M-orographic_enhancement.nc ecea1f5d1ef951716d38be2d22574ca0a4fb2d1b73468e198e6fc759934df687 ./nowcast-optical-flow-from-winds/20190101T0700Z-PT0000H00M-wind_components_on_pressure_levels.nc f77e987914542bca8f4e1c48d4990f6b65e457d1127f3783cea19b292760971a ./nowcast-optical-flow-from-winds/20190101T0700Z-u1096_ng_radar_precip_ratecomposite_2km.nc -35de0ca8b5dc5deb8bfda76278c90779832ea73fe86ff2a8d4553489a1af816a ./nowcast-optical-flow-from-winds/kgo_15min.nc -12d36329394f85999922540858356dffb778f7112486145716d265165df5e03b ./nowcast-optical-flow-from-winds/kgo_30min.nc +475e1e2a193d9fd846d6ced9e5cfa0d5ad95fdf8d1c88d2878b6961f27ac54f6 ./nowcast-optical-flow-from-winds/kgo_15min.nc +a1ffd3c1870430a74b9313e193df5864368f5a2df2b648b449a3cdbc89dc8a86 ./nowcast-optical-flow-from-winds/kgo_30min.nc 8d8847f5f7cc975a43f1810336c27d45d3571c71267910e5a99a8b2c04d4a51a ./nowcast-optical-flow/basic/201811031530_radar_rainrate_composite_UK_regridded.nc f063bc8f436bb67d56cca12acf9a50a7c8d44bf23401d2acd0b6ed1269105b1d ./nowcast-optical-flow/basic/201811031545_radar_rainrate_composite_UK_regridded.nc e8413664daa768dd508d9f97227302366153fd234124875571e3af9b1ebdf967 ./nowcast-optical-flow/basic/201811031600_radar_rainrate_composite_UK_regridded.nc 5f66e65acc0357c50c100edd5c6663ac468a44c4cd749103e1da2e9a9d47f091 ./nowcast-optical-flow/basic/20181103T1600Z-PT0003H00M-orographic_enhancement_standard_resolution.nc -bbde86f4c321d4aa2c58af50223adf39e60b7661a143d5013f797568796af026 ./nowcast-optical-flow/basic/kgo.nc +cb66546495cdf0348c21d2ecb990470a2de79903667ce7d448a5d47f3ed6fd28 ./nowcast-optical-flow/basic/kgo.nc cf628a23a991b0fd05574d72b02d9a7582ca70f3ef96403dd33a16898056466f ./nowcast-optical-flow/remasked/201811271330_radar_rainrate_remasked_composite_2km_UK.nc c1d25cce92368ac560ce79c246c43010b1f7aa3775e2086f07927ac1c482e3f3 ./nowcast-optical-flow/remasked/201811271345_radar_rainrate_remasked_composite_2km_UK.nc d56d3f50cb658eed65c83783ffadbd56dd5a1d09807d237b7508dd91439fd052 ./nowcast-optical-flow/remasked/201811271400_radar_rainrate_remasked_composite_2km_UK.nc ed4505acb5711f912cc907656436a80f27dedb1d27305f49498bb272c5039eef ./nowcast-optical-flow/remasked/20181127T1400Z-PT0004H00M-orographic_enhancement_standard_resolution.nc -b7b7995ebd1be4bcce9fb86411ee8d5931b78c2d97532b46de4352a834eab5ea ./nowcast-optical-flow/remasked/kgo.nc +4a6e52f6bd62fd9b7eb6b3afb8cfcc100f44fdeae38740082eb33745ec527a30 ./nowcast-optical-flow/remasked/kgo.nc cf79278bfdac6d32d74fb71e0260e8e6f968c16052c6947979103b0502e34e1d ./orographic_enhancement/basic/humidity.nc -9f9e27be311605643e4e4c71980c1fba6980d2c832ae80fc9f9ddedd86b4e55b ./orographic_enhancement/basic/kgo_hi_res.nc +459689fe9ddb743b575951c33ab491bbf068e755501bb14d059932eca3b3360b ./orographic_enhancement/basic/kgo_hi_res.nc c59c5b2d7d79ed7ac23a9c7cd453f3459a3314e4e98bf53e0fe04c69779e83b1 ./orographic_enhancement/basic/orography_uk-standard_1km.nc 469aac9752f14153570e722f216209223d1bcd17125f0e2b59aaf254298d4bfd ./orographic_enhancement/basic/pressure.nc 41c15f8c2515020ca054a52a313c1da5df694d4531af7b143c2ec8d8606a5791 ./orographic_enhancement/basic/temperature.nc 5c4cdfb097a0745082528132d6930ea38078631249f719d83114a5fc41736234 ./orographic_enhancement/basic/wind_direction.nc 1ec32b7c8d27f91fbb635ea55f91a9d9b50d30cb2ae5ccee62c1ae94ac02f692 ./orographic_enhancement/basic/wind_speed.nc -9e28508dbd2fe6ff079c488ee952fe83995d1dfd47cf64ed1a3f578c637633d5 ./orographic_enhancement/boundary_height/kgo_hi_res.nc +b5fdc642f829d5816f2c3817c492539d2506c21dcb64a704993f4c08be95865b ./orographic_enhancement/boundary_height/kgo_hi_res.nc 9b6211a665881d2bffae5a940e3b2e75c01ca8c6a591f81fbbca1cea44606199 ./phase-change-level/land_mask.nc 2e905af2bdab2c9bc5b51a11020803fa9caccdee982e1163850886b7a113d2aa ./phase-change-level/orog.nc 281adc9b0d39e109ce5ccfc113e5826dc6769210e3f4779fa3f7016350e2ee30 ./phase-change-level/wbti.nc 0f2b2167ceec4568198f10774fea60f3b9a3f5b2eecad15fb42b1c2e9e9c05a5 ./phase-change-level/wet_bulb_temperature.nc -bd7927d9566bdc642a17b7551166704cbcdd7f22f84e434608f13cbab60e1dc7 ./phase-change-level/with_id_attr/hail_rain_kgo.nc -3adba5bc8b502d63fd6a656a939b7e93ef8ec7ec037f250cbfb42cbd5e97ff78 ./phase-change-level/with_id_attr/sleet_rain_kgo.nc -cadb1a48605a57589fefb512b4afb36b7e72a60d397a479c76b472f3b937ece4 ./phase-change-level/with_id_attr/sleet_rain_unfilled_kgo.nc -bb4da7a48ce56eb38e7fba5d9eb57530e857b456dc72ce2fdab1e2b560042014 ./phase-change-level/with_id_attr/snow_sleet_kgo.nc -e408dc15ce8768f18520e5b5504f08f14b8f9bea6659905bfd381aab67750639 ./phase-change-level/without_id_attr/hail_rain_kgo.nc -ab92034ceb2c530551647a424b574ace5eae99edf2c1ddb1f0339297d1be1fdc ./phase-change-level/without_id_attr/sleet_rain_kgo.nc -571c41f55cc57b22014bd3ab5df921b404a53871a3db61ea062310e65406fb69 ./phase-change-level/without_id_attr/sleet_rain_unfilled_kgo.nc -67b91b4092405bae25c7f198328a5c3e08d6b810b42cce04b77e9ec0f67e99e9 ./phase-change-level/without_id_attr/snow_sleet_kgo.nc -e7317d6f359ee09801608ed5ca904a4313a70499357c4958e28da145c7842848 ./phase-mask/rain/kgo.nc -c1966eb53d283bc2a0e9f16dd7ab788fa18cf47c2f221d77d0ce817ae38a6e9e ./phase-mask/sleet/kgo.nc -23ae87e2aa9a1cd9e62ea95e3bf07647289ad2cf5b1fae455267b6ee8cf73cdb ./phase-mask/snow/kgo.nc +bcff8a4ba839bc0440bfc41a68dfa842e336e5c1ddc2aae1e031b9fd0467f2d7 ./phase-change-level/with_id_attr/hail_rain_kgo.nc +a4381e22cd91f36bd3d443b283a8d5f2fbfe2a504c6ad94b9f551f91231c1a4e ./phase-change-level/with_id_attr/sleet_rain_kgo.nc +4327834f91438d41d90f2d0df1ac5f442192ef5ba064025950a96641daf8cb74 ./phase-change-level/with_id_attr/sleet_rain_unfilled_kgo.nc +f54e6dfa2f11add1054194cda2b33500ab51f7d8add0f625b820e5dcef43d696 ./phase-change-level/with_id_attr/snow_sleet_kgo.nc +243ceff43de258a5b1ad0d94fd92a3bfe59f1c778889b5310cf50a42d10c7e95 ./phase-change-level/without_id_attr/hail_rain_kgo.nc +55ab8833cbf4a400d14756e882fe6208725d9102f43e57d6e16379a669486400 ./phase-change-level/without_id_attr/sleet_rain_kgo.nc +0ad778c7cd38572e64eb9332f8d5377d7ea01ac5c3644374c32b8c1af8d41fb3 ./phase-change-level/without_id_attr/sleet_rain_unfilled_kgo.nc +f5d9c37a0a632000e96718b6cdd765488a27b974b7482aea6862c40ae01d93b0 ./phase-change-level/without_id_attr/snow_sleet_kgo.nc +d6f4cc94f3e317b9cad58f5f2a7f4147532b21d9bddd89df79158b44a18ee95e ./phase-mask/rain/kgo.nc +c707a884f93757cda95533c05e5a1eb7a08ecd18911afb2066f0dd2a097eaba6 ./phase-mask/sleet/kgo.nc +c8ca75da7bd25e37d22989dd6d23bd30b79cabb7689d4f18fae841e335989f08 ./phase-mask/snow/kgo.nc 29f807dbfdc6ffea2125cf57b31fbc417c9f80dfa38dca37349878256b7508db ./phase-mask/snow_fraction.nc 2e905af2bdab2c9bc5b51a11020803fa9caccdee982e1163850886b7a113d2aa ./phase-probability/equalarea/altitudes.nc -c4295f21394709f294ff75435ebb7fb0e448a624c12a65251f1bee79feb72bb5 ./phase-probability/equalarea/hail_kgo_deterministic.nc -48d86cf0435d163284de9f043d2f669818e5a1d2b97288445df95e69608c4ad6 ./phase-probability/equalarea/hail_kgo_percentiles.nc +a2b589593dfdfbd43915f628f1dd769ad8324111f4a0a24243d100717a79a2f3 ./phase-probability/equalarea/hail_kgo_deterministic.nc +e6f2609cdeaae9a84867ae8d56aca5738ec7ee30749cb30c4dd9dbb8e6c55a7f ./phase-probability/equalarea/hail_kgo_percentiles.nc f4e72ec7a405e6fc0b1a104d0d2105e661c535972703305715820cebe20db6d0 ./phase-probability/equalarea/hail_rain_deterministic.nc 74f65085b6a47cabe2820c919625280d8b581f349e7b136854800d5503a4c2f4 ./phase-probability/equalarea/hail_rain_percentiles.nc -371a79a7e8419fa6ef27e64f12985b7fafec28f62062318e173f98785485dd2e ./phase-probability/equalarea/rain_kgo_deterministic.nc -dadbb2170a09aab828c439a3baa6acdadba03a3b941dd8cf95397b54ec110c0b ./phase-probability/equalarea/rain_kgo_percentiles.nc +7dd37839d0fc3641175d86f8afd307c876f939c44d01c586e8cd13685825e30e ./phase-probability/equalarea/rain_kgo_deterministic.nc +ab7438c4023104cb22c6fd93250c2978251e5d8ada04ead6ad7708cf2b815ed2 ./phase-probability/equalarea/rain_kgo_percentiles.nc a241ce4ae3c6ecfc4350acb603672ee8b774ed89abe4ff164c36fd020e808ca2 ./phase-probability/equalarea/sleet_rain_deterministic.nc f792d697a8ff6d40b5fad499ac7482041db0f93aff0379ade128d5831a1a1fe7 ./phase-probability/equalarea/sleet_rain_percentiles.nc -ba04491b7d7e3861149fc35062c11429b0bbe818bc6aa0c70c4c2d284bbd43c8 ./phase-probability/equalarea/snow_kgo_deterministic.nc -04fdad6fb7cf27fb9e501e5c3783afb23d31df169123f1472314ec0343779f51 ./phase-probability/equalarea/snow_kgo_percentiles.nc +ff146b15f995bdef9cbcecf373ef912b71226c80e94a9e4aa6efac064701dbaa ./phase-probability/equalarea/snow_kgo_deterministic.nc +e40f6c2e7e99de456100a7dc60bc81ea3c85f46a5efd12346f0f27ed8dc97d78 ./phase-probability/equalarea/snow_kgo_percentiles.nc d7ecac6e2dd7cc589a9875db74f0918b22909ec3cfed0eff2392cde33a08a80e ./phase-probability/equalarea/snow_sleet_deterministic.nc 53285eb9ecda350dceddf44c6b2e46a917d495af199a97e0c5db570a92549bbc ./phase-probability/equalarea/snow_sleet_percentiles.nc 11c26266048c7703c63aff247dce7c5e0b0868e6bec3bdf434d5a4712e9ba220 ./phase-probability/latlon/altitudes.nc -909f6fceeb93004ec952392cd31d77fe37209c796a6a3c74350d89448032e061 ./phase-probability/latlon/hail_kgo_deterministic.nc +979d3de4fec7286aa89f83a9c078374c4bfecdb4409f2c4850ae4f693ad7171d ./phase-probability/latlon/hail_kgo_deterministic.nc c542a7c576d9e81be14311caabcdeec0292b127e0c6d8fc8b4801de0be450bbc ./phase-probability/latlon/hail_rain_deterministic.nc -a51aec57e81b4be1b70a505ce9b89638dd914030b4b26c5e2561c7b3903749e3 ./phase-probability/latlon/rain_kgo_deterministic.nc +f22c7436f44428c57bf488e3474429c679e9b2f11154ab6cacfe85a6d7158f0e ./phase-probability/latlon/rain_kgo_deterministic.nc 50f1f3dfc43a601c9c9dc685ed7d05cef4a91f78551118e08d2005c9bf7ed57c ./phase-probability/latlon/sleet_rain_deterministic.nc -c0a31998eb79a05691789b8440027bb71db38c95e2b5c6bece5120ce8efa7f59 ./phase-probability/latlon/snow_kgo_deterministic.nc +15e660d70389379947f68c14c5901f8f52fc9cd51697a7689ea8e4e5551ac024 ./phase-probability/latlon/snow_kgo_deterministic.nc e01e3a2a3ef61acf392f0e0eb4ce69874f593e5ca21f5d387a74af4fa6b7998e ./phase-probability/latlon/snow_sleet_deterministic.nc ac706582f917c59260b0c381ad49cdc6ca47cd47c01ff83b499b88ca19cc6761 ./phase-probability/spot/altitudes.nc -034a1649d94af8d5cc86f850efe4c39ca1807073eb027d955dc61feb2e2bc826 ./phase-probability/spot/hail_kgo_deterministic.nc -034a1649d94af8d5cc86f850efe4c39ca1807073eb027d955dc61feb2e2bc826 ./phase-probability/spot/hail_kgo_percentiles.nc +004b3482b71907d34c0a66df9e64d991f5dad2768ff9d68f713ecc22fd17c32c ./phase-probability/spot/hail_kgo_deterministic.nc +004b3482b71907d34c0a66df9e64d991f5dad2768ff9d68f713ecc22fd17c32c ./phase-probability/spot/hail_kgo_percentiles.nc 5f16e989f83d9e765535b9413206b2aa1bffeab0008222218258429ceae65e39 ./phase-probability/spot/hail_rain_deterministic.nc e11ac06f53985851a2be3e7b6a700b598aeb2672ed6edd4bb8c7d6db2ec9ec0c ./phase-probability/spot/hail_rain_percentiles.nc -b0a0a2b4b454c54df01920df4a2e717fee74052d927ba7527ae32311812bcc94 ./phase-probability/spot/rain_kgo_deterministic.nc -b0a0a2b4b454c54df01920df4a2e717fee74052d927ba7527ae32311812bcc94 ./phase-probability/spot/rain_kgo_percentiles.nc +6c9dbadbf83bad85971203077b933df1c7b5afaefd4ca469ad105ba3f471a304 ./phase-probability/spot/rain_kgo_deterministic.nc +6c9dbadbf83bad85971203077b933df1c7b5afaefd4ca469ad105ba3f471a304 ./phase-probability/spot/rain_kgo_percentiles.nc db89fbab53988556f708cbffaa7639b153ffa81eff4f5586398e7efa90af9db2 ./phase-probability/spot/sleet_rain_deterministic.nc 24042c1d9f7d3d49c0a8f2effc7c299aa726f101a73357029c8c58e2448443ba ./phase-probability/spot/sleet_rain_percentiles.nc -1c0c94f42319fddb329ea33628bbc91c9104caf753de272cb513b3f23e8a45d1 ./phase-probability/spot/snow_kgo_deterministic.nc -095bd63feb9852076dba19f89340edf65229773f030e5fc98d034263678e9e88 ./phase-probability/spot/snow_kgo_percentiles.nc +64d44e3efbd95068cb69b80a93a6bed4f476fac0694237bf47450217d3b1c99d ./phase-probability/spot/snow_kgo_deterministic.nc +47fbacac3d831adb790680cb2c3d3133cd0bc33897e22c5e915f1ed09254a7b4 ./phase-probability/spot/snow_kgo_percentiles.nc ebac866c30e11898a4925b070d79077314ddf6f6685dfef5761e7f21a872bf89 ./phase-probability/spot/snow_sleet_deterministic.nc ed7a7806032f75669575cc37941d2d7570ebfcfe4784028a11a71ee72df35f87 ./phase-probability/spot/snow_sleet_percentiles.nc b401e40639ab1139531524ad88b71425a66888c453d82acd7d11b72d031dc238 ./precipitation_duration/renamed/20250127T1200Z-precipitation_accumulation.nc @@ -840,7 +787,7 @@ c4c4fbef60200810dca850c72e3298ea5905e996ff35f54415121f212918bf73 ./precipitatio 5d798a03f2160ec4293deddfb004605cfb92d9f34deef54ece9fc76cb70357c3 ./precipitation_duration/renamed/20250128T0600Z-precipitation_rate_max.nc df1133cedfd5fe7d878edad9b6d0fa4cefe76705f647f5b5c0fbcda53575d7a3 ./precipitation_duration/renamed/20250128T0900Z-precipitation_accumulation.nc b79764837a2fc67c8b9bc133d7c2fde373e78a0a54531d842b282cd3a05af401 ./precipitation_duration/renamed/20250128T0900Z-precipitation_rate_max.nc -67274cb2daff768f56b875fdc88fae66cff47cbfeff4cd1cafb804a303377d0f ./precipitation_duration/renamed/kgo.nc +627a431c63a1e9d9b2a284f73056523b786bb4ce3436f9704281632804ddd11a ./precipitation_duration/renamed/kgo.nc 4f5d4290a11b97eaf38ac567f92c915a198b505b03cb8c2919e24841289d795a ./precipitation_duration/spot_data/20250127T1200Z-precipitation_accumulation.nc dcfa66035774604833f5bb963006a9b355945a2888f8c4793aae5d6588afd9ae ./precipitation_duration/spot_data/20250127T1200Z-precipitation_rate_max.nc 1da0e3aaf73ddedcd08443178bafc2f9c1f6b49ee0ac44f4ea7472eb34ba8d27 ./precipitation_duration/spot_data/20250127T1500Z-precipitation_accumulation.nc @@ -857,7 +804,7 @@ b2a96bac061acf70002838f1e683194f95617deb630faf034c7a7947e8e19377 ./precipitatio 1c0068656a87cb039665805d0f4c8bf48b886e779c9066bd1fa66176a24a3499 ./precipitation_duration/spot_data/20250128T0600Z-precipitation_rate_max.nc 8ca0d1d7891b080e7af879e7ece0b4137536f9cd138007ab98eb2848b08a1d2f ./precipitation_duration/spot_data/20250128T0900Z-precipitation_accumulation.nc 752414ed48ce241caad82b2bab7d3ab13066d697c8c018b3507863f43745e390 ./precipitation_duration/spot_data/20250128T0900Z-precipitation_rate_max.nc -777bd19b924967bca74cdb839ca133f3015369e8c625a5d67469f15389f75fbb ./precipitation_duration/spot_data/kgo.nc +0f76bc767bc40f1b6c04bd0b892e389c2c08dce9b25a2c1d7bec554f199eaf35 ./precipitation_duration/spot_data/kgo.nc 3e7298a5c37d73e4faa2f3f640a27e8fe28fa705fc87806b82fe1163873b0a70 ./precipitation_duration/standard_names/20250127T1200Z-precipitation_accumulation.nc 487a50f8babf2fb37e0aa8263729fae38e640d6002941903a52e21b293f509bc ./precipitation_duration/standard_names/20250127T1200Z-precipitation_rate_max.nc 0b18ac8c7d1a4c6f0ee6c8952ab3f7dccba0aaa81631c59143200aa137ce5dee ./precipitation_duration/standard_names/20250127T1500Z-precipitation_accumulation.nc @@ -874,184 +821,186 @@ e06f5b6876144b5a0f211bdecc9047340a9f53b0a89e0b2b83207dee5dad27b5 ./precipitatio 97dcccb976305aa1510eee6713b1346ce425b122058012c9034f47646df52ceb ./precipitation_duration/standard_names/20250128T0600Z-precipitation_rate_max.nc a5666723c4b27f7f27b05e1c1dfca396bab7661e06b6ecc2458a36879c5949d1 ./precipitation_duration/standard_names/20250128T0900Z-precipitation_accumulation.nc a89ba9668fd878ed5c5cc017e46a25ab1f9d205b1a6913457a8f3af770cc49e1 ./precipitation_duration/standard_names/20250128T0900Z-precipitation_rate_max.nc -53ea9fa72122a252ccb762f879e9e774a78e0e3ee5b332c527be200c20cdd1b8 ./precipitation_duration/standard_names/kgo_acc_0.10_rate_4.0.nc -f69103cececd76e27bbff5a96e9c74c0e708dcb7f18459ade3eb448639992b34 ./precipitation_duration/standard_names/kgo_acc_1.00_rate_4.0.nc -39730b1c6f60d0ffc1a79629b29c84ee063e465f1110fd179338478277c69b03 ./precipitation_duration/standard_names/kgo_multi_threshold.nc -6a6394f52409d218e7e8d87c95a71c1f844d904bc3cbef3421f03e8d3afe98ac ./precipitation_duration/standard_names/kgo_short_period.nc +30d3ef7a6bf0e50bcff7a107b2428ac999f60bf010d87babeedabbc879b9b1c0 ./precipitation_duration/standard_names/kgo_acc_0.10_rate_4.0.nc +1e8cebad01e66ea9e7f29ffa2d904a0c0cf6c1c1cac5f96bd841e62d8bd6ae0a ./precipitation_duration/standard_names/kgo_acc_1.00_rate_4.0.nc +c2864fd4a33e84268f12ca0edd2179a79fd87ee072b13694993a8f304ce43792 ./precipitation_duration/standard_names/kgo_multi_threshold.nc +ed94ef4d996581cfd2c2ba55b9561832781c7417386364f844308ff65e8ca4a3 ./precipitation_duration/standard_names/kgo_short_period.nc +fed0f3f6c71331854f96d3aa300be3dbe21e2226ca450f5873533eaac2dea13a ./quantile-mapping/custom_values_to_map/kgo.nc +a1356710ef2c19f540aa5780716a4598e016fd95259963beb50c3ab295969831 ./quantile-mapping/floor_no_threshold/kgo.nc +dad0934e32040e9322e5e795d597b8b040bdf217b33bcadd9c39b5094ce7a3b4 ./quantile-mapping/floor_with_threshold/kgo.nc +313098cedd7074b9cc7ec6966fe36626738ca46cf5b3ca688cf99c25e884d994 ./quantile-mapping/forecast.nc +a1356710ef2c19f540aa5780716a4598e016fd95259963beb50c3ab295969831 ./quantile-mapping/interp_no_threshold/kgo.nc +dad0934e32040e9322e5e795d597b8b040bdf217b33bcadd9c39b5094ce7a3b4 ./quantile-mapping/interp_with_threshold/kgo.nc +48a383807699b501966a0736f7d1b0f3e6391865e5abadc53a7b03e431bf7df6 ./quantile-mapping/reference.nc +6948b3235154d6b37b3eb3e6c227489a7c43bf5593890314fd40532681c34c90 ./quantile-mapping/values_to_map.nc ae048c636992e80b79c6cbb44b36339b30ea8d0ef1db72cd3f4de8766346fa1d ./recursive-filter/input.nc b6cdb8bf877bb0b3b78ad224b50b9272b65732bf9e39a88df704209e228bf4c0 ./recursive-filter/input_masked.nc 11c428f6fb0202ab0f975e58e52d17342c50f607aee4fd0e387a2a62c188790e ./recursive-filter/input_variable_masked.nc -ce0ff757524da235a94421a3e2a254958811c562c739a7a73c3fa9cd4d00ddb5 ./recursive-filter/input_with_zeros.nc -b4f7acb4fb95640f50a11cdb02038a1e66f2bc02d65b87230ff5a1dab649f141 ./recursive-filter/kgo_basic.nc -0f5ae62721603eb258cd54b195673be0fde0effbecbae7bf88100913a603bd38 ./recursive-filter/kgo_internal_mask_with_re_mask.nc -6e77a397bea8fd914a182ed9152b9b75b9e751968c432d1d45ffe971c6f8a815 ./recursive-filter/kgo_variable_internal_mask_with_re_mask.nc -a0660ea5d5540b9476e8b77d5f488db2f36842c0da3a1d068d52986353fe445f ./recursive-filter/kgo_with_zeros.nc +dfa0e2482041db9fd662e566063d470a25b6491d2b708b13873a6f93bed2d6ad ./recursive-filter/kgo_basic.nc +cb87460b75f92a775d850a2eee2b8b89e63bcf2dad15f84b5dcea5bc936fd22b ./recursive-filter/kgo_internal_mask_with_re_mask.nc +d084d978b1253134d195cd53c28f146f35956a843a0f5c56ac5410386c699be5 ./recursive-filter/kgo_variable_internal_mask_with_re_mask.nc 49497750007d283c609d8d1e1415f9a8be1f1c8b9f4c5c74e3b741ab3c3f681e ./recursive-filter/smoothing_coefficients.nc -f4128d6ea8da41f46eb3b86f49cd6a60a0c81dabced89f1016372c20230fd85d ./regrid/basic/kgo.nc -b431242e8abec923d1ad6d54022e3602511274e8b35bab81fa63a2383a9020b4 ./regrid/bilinear_2/kgo_multi_realization.nc -5359bdfbaf87d4adc855510f6830c7836cc6a518f4898465cf291634e2642491 ./regrid/bilinear_landmask_2/kgo_multi_realization.nc -78c08080d103fa623bfde2c116b970ac7a1e4fdd8fb47ba6d4dc83c190d72c77 ./regrid/extrapolate/kgo.nc +e1547874e1d09986b5a731103bf64256bac15fb16a9f84f1b71d61b41cb0ea50 ./regrid/basic/kgo.nc +bf1cc599f000f239f964695aaa4b0a89e7cd972b18495ca3bea2d6c54fb5cee0 ./regrid/bilinear_2/kgo_multi_realization.nc +c66c061936ab7abb7cb994971f10d359416d373b64aebb22e3fbe2d1fea2bf60 ./regrid/bilinear_landmask_2/kgo_multi_realization.nc +44a9fe706f0e826e4beeafdd6c5fd9acda3860349f5e2dfc32e5da631c51b183 ./regrid/extrapolate/kgo.nc 6f9ba7460f370eff62d9c74e61c010fcea29e970fecc4a0aae861d7af81c5f11 ./regrid/global_cutout.nc d4ab733f9744a9784e4fa62cb43ecda5a15d4e5def4488fbb976d3bd9d49ebe2 ./regrid/landmask/engl_landmask.nc 567c266053f1200669da40ed3b54e364cbc2ffbb7ca29f59e30d23dc8a1d0001 ./regrid/landmask/glm_landmask.nc 01d919b6b3573b60334d6d1cb68a2398b7c5c278640a216a7d153ac0f124a789 ./regrid/landmask/global_cutout_multi_realization.nc -89a0e14ceb934ec652827c3ecc2730b831ce0006841829493b4fcf964703d529 ./regrid/landmask/kgo.nc -20d52012d60c2ab9630adbd4b86c74f56829eeedc7a0e326a08857ad2111dfa6 ./regrid/landmask/kgo_multi_realization.nc +20a0f9a835a864a29ad0f9ad8ab2e5484ccfeea8eef5542f3adec251d4cd0fed ./regrid/landmask/kgo.nc +f9a006c28fa5ef2e1879b5516ebb5b2279e7da3a781e24c73c29ecdbc2c035de ./regrid/landmask/kgo_multi_realization.nc 22eb44d04fda6db6c6b02830619549affd19f8004437f54acdb56c45d8807aae ./regrid/landmask/ukvx_landmask.nc -8f391caca536ee3088ed5455f11aff54e33be5389ef75616ca7c6491e59a321a ./regrid/nearest/kgo.nc -008c3fa125219ddc2934a6086554969c813037b5e4eed9eca3a174d3cb8b7a6b ./regrid/nearest_2/kgo_multi_realization.nc -923c5a1fda58e5dafd00a9cf13b01cbe3513f20fe17382dc98677e5aa2eedae0 ./regrid/nearest_landmask_2/kgo_multi_realization.nc +313c11a8e47efb753698121a077f1751dec41687c388a962ab6d14751f758e3d ./regrid/nearest/kgo.nc +b4b896722ab04ca793008e4427b32a35d9184160b5f4216744ebcc70552b3ff5 ./regrid/nearest_2/kgo_multi_realization.nc +595b3192b62cb596b425ad115c6fbd83e280bde0cbdb06255bc916b40ff93e17 ./regrid/nearest_landmask_2/kgo_multi_realization.nc 9cd7f5ef776dfccc2a74ed403c78d2507db00a3d89430f69229f3cf30a24df46 ./regrid/ukvx_grid.nc 5d79af32117915d065610c2649cfc9ec75c4cee7cdfe97111d243212626cc793 ./relabel_to_period/input.nc -3447bdae3c0a661efb2b0252270909607f2ede5646b7503f7d430017f9fc7589 ./relabel_to_period/kgo.nc +e38330db548cb5360fd9ebae4d50d320c8b1cac1b0ad5029aca622c4c8cd0988 ./relabel_to_period/kgo.nc cbe76478e608d4a3cb60cf953d5124336984d001eb1946cdc278bb4dc9eec9ca ./remake-as-shower-condition/cloud_texture.nc -6ce994e261d9261cc0d6995a4dcb59a7b449e6dfaf27369b15d3d19d7d4a49e2 ./remake-as-shower-condition/kgo.nc +8766275f9a4a0523f9b7fb883ee802b8f4ac54a080fc64fd8fa09ec48ae302f8 ./remake-as-shower-condition/kgo.nc 42f962b9d8700f0df7201901dfd72e06b3d633d75354f40dcad5a67974996e6b ./resolve-wind-components/basic/20181103T1600Z-PT0001H00M-wind_direction_on_pressure_levels.nc f862eb29b6ec18916d25e11080feed5e1820ff1410d9cae4d0922b0d9aa0d058 ./resolve-wind-components/basic/20181103T1600Z-PT0001H00M-wind_speed_on_pressure_levels.nc -d2513176fd2d47735ad47e938fa9d7c7451558e31180a752b734317e1a7a1dc0 ./resolve-wind-components/basic/kgo.nc +55ba8a8ca8b5eee667d37fe8ec4a653caddea27f19ea290397428a487eb13ca0 ./resolve-wind-components/basic/kgo.nc ce3ecb08d6cc3569d84fc6c17502018582a5eab3f7d6411eb3240fd4563bf74f ./shower-condition-probability/cloud_input.nc e9086965416e3a4c02df5644eef55449acac46842399749b553f20c3b065ed08 ./shower-condition-probability/convection_input.nc -97827167b8e835497d91440c312548094337bdd411d2a3ae7203bc6852d02a30 ./shower-condition-probability/kgo.nc +47d18297114668157bf509d991b195c5d7ca8b5ead35cc833514d2452bd644da ./shower-condition-probability/kgo.nc 77d35d36e52a65aa782e969e791f79c5558be8b0cf838fdc00bef3b4e75e6723 ./sleet_probability/basic/half_prob_snow_falling_level.nc -ed2ce48eecc19e60c35abaa7fe8ad8ca7afb60a95629c293538132d1a5b01023 ./sleet_probability/basic/kgo.nc +e592f74bec62c53fe906d6f1c1d87f4acec5f2660457c0db98ffc00c64066663 ./sleet_probability/basic/kgo.nc efff8720d452591b6531a279bad6c0168db2336fa497c1f1087ecfcb9321af92 ./sleet_probability/basic/tenth_prob_snow_falling_level.nc -a7dfdca7b7992438b2d196c1bab2bff8d10c84167a60d54716b5dae3f0144916 ./snow-fraction/basic/kgo.nc +29f807dbfdc6ffea2125cf57b31fbc417c9f80dfa38dca37349878256b7508db ./snow-fraction/basic/kgo.nc ef53635982b4269b6292fdc0ea04bee1f64a19304724ef8872bb8e1102a7d3d2 ./snow-fraction/basic/rain.nc 20b2df1086c9ec6e02b175042b388a8ad76622d5e76860540b28e3b2c482c5fe ./snow-fraction/basic/snow.nc 818358071994389472276b451cde63ab8d3da53522ee3a58aa1f375a36babe45 ./snow-splitter/precip_rate.nc 9931a4fc3fde3daa08137b3f25390837e8ffdd8f8b5052450ed34fb20e217218 ./snow-splitter/rain.nc -919cfe8160e032774761477e70a7ed037e415bdc2a7a3cbae0e41be98d41027a ./snow-splitter/rain_kgo.nc +11c301c96bd63e43d16826e8dae189f2b7dbbdc30e54fee3dd747ea2746ff54d ./snow-splitter/rain_kgo.nc 5bd8889279e32324198c14614173b209bf126a55132c69ff6fa2d706e3dfc529 ./snow-splitter/snow.nc -c088a1d454351da1d866b345baf30ba99fcfddbb58155c7bb81dd59bd7215aca ./snow-splitter/snow_kgo.nc +56d300196f30b6afd21968ccc70fafcaa096f9a959b19ee42b0e0b4f7c9fce40 ./snow-splitter/snow_kgo.nc d7d6ff0436c742449cc95a1ebe6a8298fbda2d01fb8a979f660596ef22a33dbb ./spot-extract/inputs/all_methods_global.nc -ad6e2cd02dbfe268bb4e52b1d0bebeeaed6dd1cbc8903b781dd356ec568a9a8c ./spot-extract/inputs/all_methods_uk.nc -623e90ca5bfa952e4dfa8ede6994a279053c5bb8e3e17bfc4219b3e3e7b0b18f ./spot-extract/inputs/all_methods_uk_unique_ids.nc +d4dcdeb1ed121db2c9e96db11283d20a80ab5924ee82b750cab8b02342e16249 ./spot-extract/inputs/all_methods_uk.nc +5a5e97eeaf2fd457f0e2b655e1b5a0e4befc0176fa1d45d04e7c7439ea9ccedb ./spot-extract/inputs/all_methods_uk_unique_ids.nc 1f83848537fb5b7fa11708ed3b12966d8c6850fc97f2616411646e7a61ea4a7d ./spot-extract/inputs/enukx_lapse_rate.nc 01d98010ddc714ac9c7f7de5c3b74383f0508f20745ccbafc540b843fb24b361 ./spot-extract/inputs/enukx_precipacc_realizations_thresholds.nc ddbbef39c8ee888476ed677cadc003ccffc15d01d73ac5e7874c16084781c716 ./spot-extract/inputs/enukx_temperature_percentiles.nc 6d40d71b5d53c5ed8ad6dd3432c38b285b044d5cc44fa106203aa2fd679341d5 ./spot-extract/inputs/enukx_temperature_realizations.nc bd3133e846f2c40b85d618eb0c09979aeaedc39aad22aa1460dedb860dadae81 ./spot-extract/inputs/enukx_temperature_thresholds.nc b5de3f80c0bd4c79bf77c4065fd1b37bab69f99ed2f57af5d54c371faabdf151 ./spot-extract/inputs/enukx_temperature_thresholds_multi_time.nc -ea8d5a43c9642c030a5d470b904b52999610f5b4b8b1fca706acf681adb1f68e ./spot-extract/inputs/nearest_uk.nc +7b752b31d3d0d1444e63cb64499e2aa1bf32d7b901952c0751530f5ac847b841 ./spot-extract/inputs/nearest_uk.nc e5c9928e499c3479e721febee57b90e822d22f4e61f928027d9558a1ab7e48bc ./spot-extract/inputs/ukvx_lapse_rate.nc 9f4d1b8546bccf6a41ed4effbefe2514557849fc664dbb5e53b8cb9855baf03c ./spot-extract/inputs/ukvx_lapse_rate_2m.nc 0c9ecc81ac78a94fea6cc2ac5547625e0093b4b4007a03feed711fcebf8e4fa0 ./spot-extract/inputs/ukvx_lapse_rate_no_height.nc deb86e91c4d2d63ce947e8fd830194704d714cbf12d4759975160fc77283aa90 ./spot-extract/inputs/ukvx_pmsl.nc e0e675885f8aaa40fb3d4cb4e025bf0010110ef2bf7589bba6e3eb7c7e6c7547 ./spot-extract/inputs/ukvx_temperature.nc -68555133f9f2021723d0e8bb525a7dc1fe1935bc2294d830acb799592adc65d0 ./spot-extract/outputs/extract_multiple_percentiles_kgo.nc -bd8859ac3876b82f0645c5e9e897d0d3c2f769eb19c585d7d67e4fe5e5b38694 ./spot-extract/outputs/extract_percentile_kgo.nc -42904e8339ac28f2f945d5d76102a6f3f0e0efea2cb813fbc58a49da7ea57bc8 ./spot-extract/outputs/extract_resampled_percentiles.nc -b57db138681fa1530ed41581ff2d8c4837914bf46476bba6e5d9a52380c272f4 ./spot-extract/outputs/fixed_lapse_rate_adjusted_multiple_percentile_kgo.nc -1ff9467094830fa72b757e457aa41ce0f9cfe526dde8c35a4621f94ad048ea0d ./spot-extract/outputs/lapse_adjusted_multiple_percentile_kgo.nc -8d27ef2a9d75e7f94bfcd91b18054a3cc60261442d9bdfe6c6029127a55e3eea ./spot-extract/outputs/lapse_rate_adjusted_uk_temperatures.nc -6a645939e2f087f8ceb74c70c1916f233d5635502751f9bfc16702fd73a22d24 ./spot-extract/outputs/mindz_land_constraint_uk_temperatures.nc -9d4b0d1f3bc70f6dcdd20529ffc4acd8e52c430713a0d8db9253fc288ff83eec ./spot-extract/outputs/mindz_uk_temperatures.nc -b3ec431c5a8509ee47dab8ff3606c8d5622e2b687d7677fc730415fc3258c8b8 ./spot-extract/outputs/multi_time_kgo.nc -e32982a15cf3c1bb5d632cea6d4297c2d53992ccebb6c1b7774a2bef47c40319 ./spot-extract/outputs/nearest_uk_temperatures.nc -f77d6962008b2bc050707feb503c1b5ff9b61fdb0a3b0aba3b767dced6e8367f ./spot-extract/outputs/nearest_uk_temperatures_unique_ids.nc -c2f3a2f9adf7f74725ea0921c66f568b87588cef698cdcd20b8d7a8e913eee99 ./spot-extract/outputs/spot_subset.nc -af3fb5646afd29afcfa2432ae0e5a3c7a16b19195a6b8479ff1f3a775b68a6ba ./spot-extract/outputs/with_ecc_bounds_extract_percentile_kgo.nc -74cbdd95c4f422eaf762544b500aa2c15e797a98caca26b73742295426f0ede1 ./spot-extract/outputs/with_realization_collapse.nc -5978af98a9cd886fe6e4d290bb9b813cfbfa41bcdbc271ce42646998b61cfb1b ./spot-extract/outputs/without_ecc_bounds_kgo.nc +990fa6216bc485e7b95005acef4eb66a7de8ec1dd3d8b49d99770375ea6f76c6 ./spot-extract/outputs/extract_multiple_percentiles_kgo.nc +f5b76324e319dc1c27aaca76eb5f1299820cb5317e21f3fe23be8611e6db5eda ./spot-extract/outputs/extract_percentile_kgo.nc +c14e6b835baa4427ad129a5dc3bfbf47b28400527a90013e1240c2f158313bdc ./spot-extract/outputs/extract_resampled_percentiles.nc +04bf544f715dd94a8e2e52b11c369f63d700de2e2fc30c2f6239962fbb5cff64 ./spot-extract/outputs/fixed_lapse_rate_adjusted_multiple_percentile_kgo.nc +ca6b0c893692e8f8b95cd260e55c80065e7b4b6bacb248c7594eac8d5e8d8352 ./spot-extract/outputs/lapse_adjusted_multiple_percentile_kgo.nc +d43c9a944901b0efc717b112a52d81e88b16aea98cbe83d50c56e9cfe6157af7 ./spot-extract/outputs/lapse_rate_adjusted_uk_temperatures.nc +8acde1c5b6e152e71fcfe981dae3e425d8b59c891997c998f9d6cb2cf67a6ac4 ./spot-extract/outputs/mindz_land_constraint_uk_temperatures.nc +d24b59b25252796d6ee2f26e7e6764b84145957b0d32a4246e075db931b7b46c ./spot-extract/outputs/mindz_uk_temperatures.nc +332165b98af3eac6cd56c30457cc9c031b9788a1f660295a06b0108b40816b57 ./spot-extract/outputs/multi_time_kgo.nc +4cf5c380cff65016b32bd852e31a9ed3ea4ff60fcf879e75f760c63fac27c58d ./spot-extract/outputs/nearest_uk_temperatures.nc +5d68bab5444b1ee2c1ad6179bf19ba58cfc1cea60bc9684b0100c5c0035d4b74 ./spot-extract/outputs/nearest_uk_temperatures_unique_ids.nc +1f9fd7cce207521df7e357e130131e42bfb3e5fa8fcfa6d1e46b9d3c3a73771c ./spot-extract/outputs/spot_subset.nc +4084c26d66bab7a3c689178274d74460c520a5765a64dfd8fd213a81cfb97dd9 ./spot-extract/outputs/with_ecc_bounds_extract_percentile_kgo.nc +1e66371ccb77916db785fe3b269d584c929fa99ad6b4c5d5ffd153dc82b35d41 ./spot-extract/outputs/with_realization_collapse.nc +6c3ff6c8ec7409c70d04e3d0b42396fc63eb64b3a7ebbe42a679549f5e081d8f ./spot-extract/outputs/without_ecc_bounds_kgo.nc b9fca4fb2a70c9d1eb49cc032fd298cf75a6c68997f419ffe62db067775ad437 ./standardise/float64/float64_data.nc -50d519fb439b8016a28e806008417575ba4a09529ad686d0738268624b5dc12b ./standardise/float64/kgo.nc +4265519a1c74f45f1eb14f2a5b164e92e0744ac1aa670c04c9bac2b6c4b67e77 ./standardise/float64/kgo.nc 867c0c8944c8c97b3f950c699b1fc78fb16fea1d0c0767e948ab07ad1d043d6f ./standardise/metadata/input.nc -46c94f89a00f53a3493bb06e8fe1fb7080a71e63e9a70f397cc09139bdfda653 ./standardise/metadata/kgo.nc +fb95006945ef65aba58b6464cbe789439c6c2fce982629e502b65483e31b3702 ./standardise/metadata/kgo.nc d4404df3a8acdeed27f20ec621a0d3500bf4c849eaf7a7064c4e42f079b37a43 ./standardise/metadata/metadata.json 326ae7b6d3cff0fd3da840b643816d897e7133a248e49eacad3ec37af669f49e ./standardise/metadata/radar_metadata.json -0171fed758f2be6d47a724b6e7a62e8b5daed75a55808f345c4b4a6b20d5cbeb ./standardise/modification/kgo.nc +6165a4e434783475d7bddc62687b9413d88bd18353ca2199acf0debb337dd9c4 ./standardise/modification/kgo.nc 81aa5301c3115ca37b789e3ce46708bc27229c8e63131643d3d393f0a1da977f ./standardise/modification/scalar_change.json d89a8587bc28b574b8b1e624bb3bf339aaeb9c8c2355db7fe518af8c9bce527c ./standardise/radarnet/input_coverage.nimrod 6335cba81be74577fe10d0a4f5cb75724abcef16499d76c263e80c16cf092a05 ./standardise/radarnet/input_preciprate.nimrod +<<<<<<< HEAD 74d7216176c1e7feeded6f867cd69eb5ee960ab0b92472f2327eb1e5ae033329 ./standardise/radarnet/kgo_coverage.nc a7c196adab463ab48a5bf90934a9f53d5a41ce79a8e2a27ac78268c7e6702516 ./standardise/radarnet/kgo_preciprate.nc cf7166f2d915fcffaebbe5421a1e064f8d2f2ef6b8813f42142820076dbf98e8 ./temp-lapse-rate/basic/kgo.nc +======= +8a0cc7c53513fe11919da6ae39e431fde7f5b5831e255d8f30feda2a53eb3c71 ./standardise/radarnet/kgo_coverage.nc +8e4ca14de258f9a511c9ff82ac7df5cc95659bc41c3e745083f5ed449f245d00 ./standardise/radarnet/kgo_preciprate.nc +44cf0fd7d6a4d24546da814d08f87f58d2f83ef5ae3a94c4272a4d33659c3f24 ./standardise/stage-v110/input.nc +add67f9b08aade71cac803044d650a966698820b8e889468b760edaf3bf89dcc ./standardise/stage-v110/kgo.nc +edb46d2e8717e1c554616fe60f4db52c42e69910aa9a21875d24d3899ce6ee13 ./temp-lapse-rate/basic/kgo.nc +>>>>>>> ba99d528 (Add quantile mapping and associated tests) 53e071816cc4fda21c5397777decf5752f4d8820d96bba0c2a04600e8e5df7ab ./temp-lapse-rate/basic/temperature_at_screen_level.nc bd47eab38ae9099fe5db71b328ebc52225b47f0db97ed673fca30dd67e4655ff ./temp-lapse-rate/basic/ukvx_landmask.nc 6389e7a84d33387d6da32327eaec53e7b411e0e42e677dceb0321c067ff9496a ./temp-lapse-rate/basic/ukvx_orography.nc -276806f1bb0183eb6aa5519dc1171c847faa6f83189339952f6cfce9286efe6b ./temp-lapse-rate/dalr/kgo.nc -b13f27870fdbddd9419a56540599d189c9bd5f062654bd720941be6133d04893 ./temp-lapse-rate/options/kgo.nc +582f2f68e0e68edb8e19614d27d1508dec3e835a0ab498048b0c12721aa8fa99 ./temp-lapse-rate/dalr/kgo.nc +3c84cbbf1a2bd386a61226c2633ffe8250a3240dccc88f8f94846699f00d0a0f ./temp-lapse-rate/options/kgo.nc c0b4643cf8fb0de1688c4f432ae5abb3c898582f5b41e996ebee03f679965314 ./temp-lapse-rate/realizations/enukx_landmask.nc 78c40fb411b63bd8c4cfef38f163b6f5df30679873211b2d7ba690ddeb9bdecb ./temp-lapse-rate/realizations/enukx_orography.nc 186f5d2cda6708e09459b69b92d04791a12c938f2aad9518c0c5d0a5b65b1e94 ./temp-lapse-rate/realizations/enukx_temperature.nc -9bcb9cf98213c28549e8a4bd00bb74021747d99033ad213ff49bcd0ad72d24a3 ./temp-lapse-rate/realizations/kgo.nc +8185d38dde574099b138b6cacf8b2aaee624cd0e19b98979616a8f675c317d84 ./temp-lapse-rate/realizations/kgo.nc 40612597709a889fa9b90f5ee6feb8c5bf893268db727db0084d4be1eee4a485 ./temporal-interpolate/accumulation/20240217T1900Z-PT0033H00M-precipitation_accumulation-PT03H.nc 173fa6e5548674af8ae3b48b4c305e8b522187d7b7386251c1af7cf600b369bd ./temporal-interpolate/accumulation/20240217T2200Z-PT0036H00M-precipitation_accumulation-PT03H.nc -1e15486642a5ef80996a695fe0eb54ea73f6a7a3216c5351f2e9badaa77ca949 ./temporal-interpolate/accumulation/kgo.nc +e53201fb2d1226225546c5b7f06400ed4802aeb38484407c796e97480f614bfe ./temporal-interpolate/accumulation/kgo.nc 7111e3bf02103c91e38ad7b3fa752b6ffd93c76938f5bad1e7742ed4fcf12f08 ./temporal-interpolate/basic/20190116T0900Z-PT0033H00M-temperature_at_screen_level.nc 46c3d7d58af0dffbbdfd8a9e37094a446420ceafbf5d9aadb1e9667bf0317cb6 ./temporal-interpolate/basic/20190116T1200Z-PT0036H00M-temperature_at_screen_level.nc -737210e39187cefec244a07e45964785df343ec9f57ecc34f3434a03396a2d40 ./temporal-interpolate/basic/kgo.nc -a2e0e19453518e010b5a457db592f218af4fcbc635de1a8f0d50892e585226c6 ./temporal-interpolate/basic/kgo_t1.nc +d9a76a7fd4f8a614895072d0897eea8aaae6c23e53d8af91ca51d0fcef75664d ./temporal-interpolate/basic/kgo.nc +d2e4b9ca9dd1dcf0eca81c52e817e8297a1653abba77d0cbdcf09da330aa5206 ./temporal-interpolate/basic/kgo_t1.nc d5916af8c067620094fe6383e42b0fafe8debe10f2089d6a5d9c7a698ab2fc1a ./temporal-interpolate/period/20240217T0300Z-PT0016H00M-wind_gust_at_10m_max-PT03H.nc 2c8a64a8250e301e89a4a9cc804f8274ca042e4bfec7dc168a5c9b5e1c5ca375 ./temporal-interpolate/period/20240217T0600Z-PT0019H00M-wind_gust_at_10m_max-PT03H.nc -d2cd067552370186c2cd0582429dc43c9f41d2bcbd90cf55884724e31ba03b1b ./temporal-interpolate/period/kgo.nc +db7ea71aef580b1d49406e442bd2a3783255a9ccb990e3827fbc0d422bb7f4c8 ./temporal-interpolate/period/kgo.nc eb6f7c3f646c4c51a0964b9a19367f43d6e3762ff5523b982cfaf7bf2610f091 ./temporal-interpolate/uv/20181220T0900Z-PT0021H00M-uv_index.nc e3b8f51a0be52c4fead55f95c0e3da29ee3d93f92deed26314e60ad43e8fd5ef ./temporal-interpolate/uv/20181220T1200Z-PT0024H00M-uv_index.nc -ff883af8e62213f87d9d10704776d9bf6b1ec57fcdf0a77dd18e42ff33c97772 ./temporal-interpolate/uv/kgo_t1.nc -87720d24fc26e024541e7c513d1919b8c90c5c798ed8d38bc604df1366fd308c ./temporal-interpolate/uv/kgo_t1_daynight.nc -2716f5f8207f602e1e0f47ac8516e46cbc5a15bb69f7758d011194c3b937390a ./threshold-interpolation/extra_thresholds_kgo.nc +b3fde693b3a8e144cb8f9ee9ff23c51ef92701858667cff850b2a49986bacaab ./temporal-interpolate/uv/kgo_t1.nc +1065ae1f25e6bc6df8d02e61c1f8ef92ab3dae679595d5165bd94d9c740adb2c ./temporal-interpolate/uv/kgo_t1_daynight.nc +3335761a3c15c0fd4336cb852970376abd6f6dac99907fe9b081e6a7672e530c ./threshold-interpolation/extra_thresholds_kgo.nc 022657626d7ae4608781c390ca9c30d9cbb949d71bedf74a2687228f5964b3e9 ./threshold-interpolation/input.nc 12acca08e123437e07ad4e3aab81cc2fc0a3cfb72b5cb2fd06343bd5beb13f00 ./threshold-interpolation/input_realization.nc -cd5c0aeb6724c529a9cc096c3d6634fa2332981edd7739678a55c026ce41bbd2 ./threshold-interpolation/masked_cube_kgo.nc +7b172ce0d98c0f7fbfea1cde23a126d7116871bb62a221348c7ddddc35c29a0a ./threshold-interpolation/masked_cube_kgo.nc ec73679ff5e308a2bb4d21283262118f8d9fbb6a425309b76d5865a97a773c40 ./threshold-interpolation/masked_input.nc -df92b715fb2d309f1acc1543b71e9999f9af972cf61604e3720ae80509e039db ./threshold-interpolation/realization_collapse_kgo.nc +6058009963941b539117ea44792277253d87c7a1c81318e4836406b5c0b88525 ./threshold-interpolation/realization_collapse_kgo.nc ac93ed67c9947547e5879af6faaa329fede18afd822c720ac3afcb18fa41077a ./threshold/basic/input.nc -726f3cc9d7e274390bd8f53802072f0b58abe890ce50d4597d3aedd0257df457 ./threshold/basic/kgo.nc -864231b134b4340a4b57e1b91b5308375d5d72b00455d6d83725da7416dac230 ./threshold/below_threshold/kgo.nc +eb3fdc9400401ec47d95961553aed452abcbd91891d0fbca106b3a05131adaa9 ./threshold/basic/kgo.nc +6b50fa16b663869b3e3fbff36197603886ff7383b2df2a8ba92579bcc9461a16 ./threshold/below_threshold/kgo.nc c5e7eaadc0fff747e42ce918eca13a9e95234c2f87f2e08881dc820e4bdd3913 ./threshold/cell_method/cell_method.json -7f75056a8bc9015165110389bea1ca8c8e5238fc79a8bb08c7ed1f35f762537c ./threshold/cell_method/kgo.nc -16212286fbeacb0d3b21691556afa4ac672d7948607f95441c184eed019c2b88 ./threshold/coord_collapse/kgo.nc +312321fd7d8a2d625cfd61e6028f4e0ba3e256cdbdfe4a27360e30e5b48fcfea ./threshold/cell_method/kgo.nc +d18607807f2c6aed39194bc2ddb830f1ea2be3c9ea4a2e2d25f7fcfe66d4a088 ./threshold/coord_collapse/kgo.nc 4b1f348db13fa8d85bc3679742bdbc01c8a118a45ef65a205c2d862f5add8281 ./threshold/fuzzy_bounds/threshold_config.json -937b24f5a02f66bcd752ec3781a435bd8e20b098848d7072a4787307628c8c35 ./threshold/fuzzy_factor/kgo.nc +d00745d7911caf4968ec9befa9a1dc71fd29744bbe12b02649c4693bd5b0aecf ./threshold/fuzzy_factor/kgo.nc 678c1daa00ebeb9b072d43f18050ab2565179e335cba35b1cf19620be81d275b ./threshold/json/threshold_config.json c2f8c6157532c30c02c00f45a71c01b58f0307b385f58034d3b158442d2eed8c ./threshold/masked_collapse/input.nc -1980a50e84843659ac4148c0fae0da75ddfd5282fa55ccd69882be72a20c7406 ./threshold/masked_collapse/kgo.nc -2209e6e645d0871ddf0aba9cf95aae58b49b09bf6ba9f426c4187bee9516985f ./threshold/masked_collapse/kgo_mask_filled.nc -bbedb9ec46a47ecbf3e25fd9187025bbaaa1b7bd6af508582c9c22a2116026cc ./threshold/multiple_thresholds/kgo.nc -07b7563529c7c1cbc9f70ac792553ceeed099ed220b9d2e6f1b7a55f3a5d4f70 ./threshold/nowcast/kgo_masked.nc +d9041ae3a8f47e4b337f332c7f6ffe0208f17a2c11c77a197e7db0e01c9c56f4 ./threshold/masked_collapse/kgo.nc +f3bad618cf481fb82975367a30a6eb174c2bfb74e4d26b9c0c39382ff3f3c993 ./threshold/masked_collapse/kgo_mask_filled.nc +4a9edf8649156e2b11dc253c36bb8f1d0537fde8682e77b7d0395211692944e7 ./threshold/multiple_thresholds/kgo.nc +2da0d7701a8ccc86ed7c6bbb529c421df7d6228c6d5e42e823f4d98ead4e148a ./threshold/nowcast/kgo_masked.nc 1e0b42cf169f7df2643423e9443a3aa2de6efc1788781e23b3e9e5b0fcc5f94e ./threshold/nowcast/masked_precip.nc d12a716a0a96b3baf9551088a4eb9b86b81728084695f0ce7984e58f2de97eb3 ./threshold/nowcast/precip_accumulation_thresholds.json c14cf9c147c72ae5d9a18d6c4258fdceae5ead57d2982f86ef396bd88151d814 ./threshold/percentile_collapse/input.nc -44d9a52e4efb4308d3d1d6ed78f964d4f85875c0d7d08962906ce8d73a4b2c68 ./threshold/percentile_collapse/kgo.nc -726f3cc9d7e274390bd8f53802072f0b58abe890ce50d4597d3aedd0257df457 ./threshold/threshold_units/kgo.nc -00076520ad800aab4ad49b9cb18c25178e186857ee5abe6c9195263e4fff8cc6 ./threshold/threshold_units_fuzzy_factor/kgo.nc +5db1eff3af68026adcd26c6aec449a6f504b5453239609ef9f45e8bf14c9b1de ./threshold/percentile_collapse/kgo.nc +eb3fdc9400401ec47d95961553aed452abcbd91891d0fbca106b3a05131adaa9 ./threshold/threshold_units/kgo.nc +ba2a059b7dfc94a7ff1561f07ac006a7d5d8bea2399c3352fab430327af1cfb2 ./threshold/threshold_units_fuzzy_factor/kgo.nc 6997186fa3156852eccd1a8981497a3de2da26ad8456f254a05d36c7d9b59f86 ./threshold/vicinity/input.nc -435737efe6f769e9dcaa068ce6c13014d9e3819c0e32cae71954563aaac48af1 ./threshold/vicinity/kgo.nc -08c2f60763e128fd2cbce814e865aad59a75ca59def614fbadd9a56e410d3cf0 ./threshold/vicinity/kgo_collapsed.nc -48d36cc5cabda85a38cbe23974af8347a1822c77fce9ee59cc005b52fe90e8dc ./threshold/vicinity/kgo_landmask.nc -83c1e7ece02d1fe16ed938fdbf8f6e4b323fbd7ed76b6c84c4a6903a48696954 ./threshold/vicinity/kgo_landmask_collapsed.nc -048b3c08a14d11065e6f7d7ade9646d0e8262350742435c547fd1b9580086e5d ./threshold/vicinity/kgo_masked.nc -b56dfec7f35ad0a8f2b8b353d615a708e1dbf53142f185366594912413b29a2f ./threshold/vicinity/kgo_multiple_vicinities.nc +3101b159879c23bf460ca2a115ca68f467979d3559d6c0b73c66155810ccaddc ./threshold/vicinity/kgo.nc +098613682fcab5428e9d02b805cecf742860f1a8243461d58122a12420e3da94 ./threshold/vicinity/kgo_collapsed.nc +e92f05cbdc1789381b04344fd2f36f9462d102dbf0af0e9ab2563b725a0b0fda ./threshold/vicinity/kgo_landmask.nc +0b93f6ab148294d3cfc3961461f4d679f79c6dd6361a6acf11df1e57618fb480 ./threshold/vicinity/kgo_landmask_collapsed.nc +505261f48f3db69eebaf7344391d5a83f476c1e76b53f95bce58569cafd8e127 ./threshold/vicinity/kgo_masked.nc +feef12d1bf3b0f66e9fed99f541c8f86a9e6c01880b8dc5fffbed813fd05d80f ./threshold/vicinity/kgo_multiple_vicinities.nc b892dffc9fc319be0e906e3a9a00dc7b8bada95c16d2d687dc26cdab59da08b3 ./threshold/vicinity/landmask.nc 799f8915171e4a07b5061001f96b0a68d27fbc5d0581f7e98a8d47377140624a ./threshold/vicinity/masked_precip.nc 3071da454ebe25d6fe0500aa68b5875655a12f3cc51ade68e36045e3fd2cfe0b ./time-lagged-ens/mixed_validity/20180924T1300Z-PT0001H00M-temperature_at_surface.nc 1c9530aea46737f2246320837a037db4bec991d8098ebb2e2748037a7aa20163 ./time-lagged-ens/mixed_validity/20180924T1900Z-PT0006H00M-temperature_at_surface.nc -3e0659750ee28631d5c306ac631a072aa51789fe63719a352f41338f6ae8c595 ./time-lagged-ens/renumbered_realizations/kgo.nc +b8bc33e1a4ad35ebdb6258d95cb6184bdfcc2465ffd18673ce6e0a8cb0fbb643 ./time-lagged-ens/renumbered_realizations/kgo.nc 53af705f57a2cd699128991ec99e2c3588f8ae19cc8ff5a4214ed69121b8add9 ./time-lagged-ens/same_validity/20180924T1300Z-PT0005H00M-temperature_at_surface.nc 1df431ff9817fa12ac568ffc3c3c387aacae71d7883eb662a205675c0c4af586 ./time-lagged-ens/same_validity/20180924T1300Z-PT0006H00M-temperature_at_surface.nc f1e0fa52c511357f359c1468fe6db76ca8f330cd17af2d560f74b3c17155aa94 ./time-lagged-ens/same_validity/20180924T1300Z-PT0007H00M-temperature_at_surface.nc 20911576f4580eb51d5c1e30374f41f20d8d5bfcd39d7cb23cff9323bc90d32a ./time-lagged-ens/same_validity/20180924T1300Z-PT0008H00M-temperature_at_surface.nc 4012e775fd63995c05d98e6e72849f49de779a5fad4e7c86c26afa22471e30f1 ./time-lagged-ens/same_validity/20180924T1300Z-PT0009H00M-temperature_at_surface.nc 4a8639b8799d2bc5c7549c775c04dad842864f196073b8790ba2936465bfe7cc ./time-lagged-ens/same_validity/20180924T1300Z-PT0010H00M-temperature_at_surface.nc -26c982960a5eb2d1690722cc9d27501a6dbfe25be769c3a61e34db4f3d2eb0b0 ./time-lagged-ens/same_validity/kgo.nc -6a50502047282abbbb8985f880d8f024a5a3f3ffdfccb5e078b76dff2099f7bf ./time-lagged-ens/same_validity/kgo_single_cube.nc -d2f7d8389b33cde359dd253def2aaf31afbc27557f389bf0f744a28b24e145dd ./train-quantile-regression-random-forest/config.json -08dfcf66eb0c31e6ef74597f4ad92e2034dad6df0b7337670b4eaa48e5204ba6 ./train-quantile-regression-random-forest/spot_calibration_tables/20250803/diagnostic=temperature_at_screen_level/0000Z_0.parquet -a172dce754fc39fa630bf110b25ce0ebff5dfb93e4fd8a33d8caec50cc04c7cc ./train-quantile-regression-random-forest/spot_calibration_tables/20250804/diagnostic=temperature_at_screen_level/0000Z_0.parquet -e3d2315b24bf769bcfb137033950d7100c8795878635e0ec9491413a1349904a ./train-quantile-regression-random-forest/spot_observation_tables/20250803/diagnostic=temperature_at_screen_level/0000Z_0.parquet -3919ca9902143edbe970f8556a5635d8fd54f3a9ad9e9f2bd0435d1a5c89852d ./train-quantile-regression-random-forest/spot_observation_tables/20250803/diagnostic=temperature_at_screen_level/0600Z_0.parquet -6c3d70544021265f6684126db41c953c85add9d8a94002e8c7d3e4d310260715 ./train-quantile-regression-random-forest/spot_observation_tables/20250803/diagnostic=temperature_at_screen_level/1200Z_0.parquet -05210253b7c941cc202a4fd87dc4b0247100ac5d4c3b33cec96a5d647d911078 ./train-quantile-regression-random-forest/spot_observation_tables/20250803/diagnostic=temperature_at_screen_level/1800Z_0.parquet -8cda6b528d72970e5c8b81621f574c8134164121a965bac64ffe70dfd638ba75 ./train-quantile-regression-random-forest/spot_observation_tables/20250804/diagnostic=temperature_at_screen_level/0000Z_0.parquet -1aec562fc0c39c7695521482b889d335a3becb10a76b7eae965447cbd9faf051 ./train-quantile-regression-random-forest/spot_observation_tables/20250804/diagnostic=temperature_at_screen_level/0600Z_0.parquet -e81c04f9f2d8dc14b8d8cd9bc9e8827ebd0da5ba016db48cf60ab738d327f968 ./train-quantile-regression-random-forest/spot_observation_tables/20250804/diagnostic=temperature_at_screen_level/1200Z_0.parquet -99e6656982672ea2d4cb9fa1dfb5731408dd41b2c9052b7e0df8d8004864241e ./train-quantile-regression-random-forest/spot_observation_tables/20250804/diagnostic=temperature_at_screen_level/1800Z_0.parquet -88d5ea229b42789d92d2317099b90d90f89a57e037665091b49c5f19acfea14e ./train-quantile-regression-random-forest/with_transformation_kgo.pickle -8e2dda09c26d33fd06d68c5be17a74b93b1d75d54c60ce48f27ea3d2735bece9 ./train-quantile-regression-random-forest/without_transformation_kgo.pickle +cab798ba22148a3696bb89c9c994a577d7f77dcd33dfe5ed258f0edb77497808 ./time-lagged-ens/same_validity/kgo.nc +53af705f57a2cd699128991ec99e2c3588f8ae19cc8ff5a4214ed69121b8add9 ./time-lagged-ens/same_validity/kgo_single_cube.nc e2cfb5e19ef5ebcfd73dc1c8504b66e9a55ad76b7b18cb79318659224079f234 ./uv-index/basic/20181210T0600Z-PT0000H00M-radiation_flux_in_uv_downward_at_surface.nc -e48c3b07bd14214a1a10c0bbf1e0acdf54cfedf93b2c6d766f594ce83a45c2b8 ./uv-index/basic/kgo.nc +69218af1f4cb6501d5c30fb5d1448eb806844f2a643f4912be272619b8988aa2 ./uv-index/basic/kgo.nc 2226a5e95eb29664e21f8c0658101a53d65945a1450a60a19955563a2693d22d ./vertical-updraught/cape.nc b794823053a282e758f7eb8625867d497e55cc3757862a7be504fcbd7451bc32 ./vertical-updraught/precip_rate_max.nc +<<<<<<< HEAD 064f9d2861e6312848a7ba24893b9b8ab0271e4b99793cb0d57fdda732931292 ./vertical-updraught/with_id_attr/kgo.nc d9f495774f4810e1631267bb4f40376a3c4b81170f2e8e5b5c051bc38dc4deeb ./vertical-updraught/without_id_attr/kgo.nc 95afb2cca6460628af14766f076a758d4fe2355a879eb86c10c35600f0e5f017 ./vicinity/input.nc @@ -1061,16 +1010,23 @@ e8b80e4bf1bb3b74d8551cc19c9e68ed1e3c98a989d80315b5485e41eb4ac70d ./vicinity/kgo 6680a51b236e163953eabbdc03ef5fbba9ddd5aaa502a275eff5da2a853ec531 ./vicinity/kgo_multiple_radii.nc e96134c29646d167ab07e68787d9dacbd568c9b2f1432201eb8c19631dbbacdf ./vicinity/kgo_new_name.nc 5635ef28f038b262e1c36878583e7b80fdf85ee8acd9c972ed82ebce3670c909 ./vicinity/landmask.nc +======= +02875b8884e1bcdcdddd22427eb84a1d8230135f1f8b4893cc537eb68efbe883 ./vertical-updraught/with_id_attr/kgo.nc +c52b3bfceefa910078c491e94e9c96ce102b332f95db53b40599eb9f1b2b803c ./vertical-updraught/without_id_attr/kgo.nc +ee042709388c1f56f581bcd6dbdfaa0306fcfda95f7bccbf341164e57be1ec0f ./vicinity/kgo_10000.nc +360ab63e23b2d50f3a619cd453f0ed40b70f72e038355f76d43a952d8ca5f399 ./vicinity/kgo_50000.nc +0191f4c119eefe798318cc1ef69ee196f18b9e706a6a7a52fe2ecd2b5a5ec7a3 ./vicinity/kgo_multiple_radii.nc +>>>>>>> 1c47068b (Add quantile mapping and associated tests) 62310a69ab566416d0ef5c847e8ea57a9f9e5ded9771c313732549fe4e2df6c9 ./vicinity/lightning.nc 408e553175eac029da25823f56483dde9ac3425d66f1a20e4eed98d132639421 ./vicinity/operator/kgo_max.nc d59954817acf2549c8626e2bc63108af1507cfbf22313c38bb4bbbc319b770a5 ./vicinity/operator/kgo_mean.nc 1d4b7e3068fc501f848c96ccb85232aedc235507a3594b28f02e60fe26aae2db ./vicinity/operator/kgo_min.nc 50ffed3cc4ffb00a494a20e474f7dde29db6a0e25520edbe2cfea70898357acf ./vicinity/operator/kgo_std.nc ecb248c8c7aa906e7fb29bdecd5ddfe553252acd9a8a9a4f16c373cead2996e0 ./visibility-combine-cloud-base/gridded/cloud_base_ground.nc -76bb402b849751f73dc873b321e7577da0c32ad6d1797ee8882a8cac4f69fc67 ./visibility-combine-cloud-base/gridded/kgo.nc +6d5eb677f0bd6e94e18fa726ddab0a72ea048d87dc3c7db175d629f315ae8bef ./visibility-combine-cloud-base/gridded/kgo.nc 3df5f2ccef7889d9b2684f42036f905ed7bcc270faa6849ed15d1d64db785964 ./visibility-combine-cloud-base/gridded/visibility.nc 22853b8ea87585c5c9234052d1825dde9526b275357314b82f1c8293414abccb ./visibility-combine-cloud-base/spot/cloud_base_ground.nc -dceb99bf3d60583d2fac759b7a40b2b8f47f00fb8d4ca299f034bdf75aacb96f ./visibility-combine-cloud-base/spot/kgo.nc +1d94ddb106a9f46eb5c63fd30bea703a628476f152b779e6f3bfedf8af30bc22 ./visibility-combine-cloud-base/spot/kgo.nc 7329a37f445a545829eda7b1b37a5b3f9ca0499be069a832ebadd7dd648f66b6 ./visibility-combine-cloud-base/spot/visibility.nc 8869c5d867ec6370df23b0a5a638a6432e0690c32c54fc5c61363f3ad75557b0 ./weather-symbol-modes/attribute_mismatch/20251126T0100Z-weather_symbols-PT01H.nc ee69cd488245d2e0f599bef4f7adb1d9931d50eae103728f43f8000ac2817389 ./weather-symbol-modes/attribute_mismatch/20251126T0200Z-weather_symbols-PT01H.nc @@ -1089,7 +1045,7 @@ c44a00d49912f13fb17256fa0e01d9425977b5c94f2d41c602c657d39deb74cc ./weather-symb 90a6495f65e053e943dd4dcc9731da274f11bc19a3817a70c057218ed8eaa4de ./weather-symbol-modes/blend_mismatch_inputs/20201209T1600Z-weather_symbols-PT01H.nc a981f6238828b63d7a9f7c597dd234dcc86dd35e2e3c4ba6c3b6feb491ec872e ./weather-symbol-modes/blend_mismatch_inputs/20201209T1700Z-weather_symbols-PT01H.nc de4a49bca4cd930328942cf6bb9a1bc1bdd2589120a57a2335ee4ef2449dbd5d ./weather-symbol-modes/blend_mismatch_inputs/20201209T1800Z-weather_symbols-PT01H.nc -2252ccd4242478ead51ef4ed0af88771813c3492989888ec576802d6406a6003 ./weather-symbol-modes/blend_mismatch_inputs/kgo.nc +eaf72bd6c75204e4cfbdeb975cce0d2995544c72f135ddb142d7ad418f99a308 ./weather-symbol-modes/blend_mismatch_inputs/kgo.nc bdaffce463e5d9e30ea6cfae58d4decfa266600cbb51480161d4170f46bb6ba3 ./weather-symbol-modes/broad_categories.json deb7f4effb821b2808b647e02ac955c91adae4baa33765b16378cff40e3ec5e8 ./weather-symbol-modes/gridded_input/20201209T0700Z-weather_symbols-PT01H.nc a61a70b0ce9e70577ba177462b9f1bfbda2457cc3975f0e9a562e1311e86e671 ./weather-symbol-modes/gridded_input/20201209T0800Z-weather_symbols-PT01H.nc @@ -1103,7 +1059,7 @@ bcd90ab1d28fd736d4a3d9e481374348438d7716b543f9c7d435b003ba10c344 ./weather-symb 973c60900aa526818e7119ed016997170055017ee1bbda279b9e640750f96f61 ./weather-symbol-modes/gridded_input/20201209T1600Z-weather_symbols-PT01H.nc 571bff58be29197e5f946745ed565889ec81499521c38d8f7286488079afb46d ./weather-symbol-modes/gridded_input/20201209T1700Z-weather_symbols-PT01H.nc 2af4455b0ba7c4124e49eb1ff004e770b6239a9e2e1513f60ba4db3f0beb02cf ./weather-symbol-modes/gridded_input/20201209T1800Z-weather_symbols-PT01H.nc -cd895da92e94dc14e2f699f0db320a348a6f1b6b5251f735fb1dccb4df7033a1 ./weather-symbol-modes/gridded_input/kgo.nc +da324b0903f7ad8a9f06782ee819a55a7a1570b3a3e830b1b65e0293cf717d37 ./weather-symbol-modes/gridded_input/kgo.nc 96a8462af571f06dbd8b91a7a90aaef403eefd2b73929a5c6d8a3fbb01159aca ./weather-symbol-modes/gridded_ties/20201209T0700Z-weather_symbols-PT01H.nc 9f64c7a8aa7cf0e87799f96ebffe1e449e1f5174fb583d44f2479e085672dc84 ./weather-symbol-modes/gridded_ties/20201209T0800Z-weather_symbols-PT01H.nc c698b9599219fe89374a2565e55a374d9236904c9dd99a2ae61b5416506e98d3 ./weather-symbol-modes/gridded_ties/20201209T0900Z-weather_symbols-PT01H.nc @@ -1116,10 +1072,10 @@ c76e1e0e04b1d6cc01a33401f1eed25c283e4f11d7134ff079a8379f0ac3a8cd ./weather-symb c39ea98f6fe64788c4ea7ea242111a5c8bbeacfaf52b2ead0cf0aed0007d46ab ./weather-symbol-modes/gridded_ties/20201209T1600Z-weather_symbols-PT01H.nc 6a5b04644ab11d077809f615bac2829656127a0eeee3843940f8d33673bd70c8 ./weather-symbol-modes/gridded_ties/20201209T1700Z-weather_symbols-PT01H.nc 39d0fa291798366a00ecae79a65de0b0692d5b4db17ac98a97d48e54b75e5dd4 ./weather-symbol-modes/gridded_ties/20201209T1800Z-weather_symbols-PT01H.nc -bbe3e967f4f48d9563694ea4113f22b791550b502d07750af5fd1b2495ce1260 ./weather-symbol-modes/gridded_ties/kgo.nc +fc922ede9e118dea3e7e3ba354664151f09407b32450688ed5c9870de5307c14 ./weather-symbol-modes/gridded_ties/kgo.nc fc023594fb4ff913345e553a5bade1d51b30942476ff04745c62f0b8d826cf2e ./weather-symbol-modes/intensity_categories.json 89ba47a99c53d23b5490254366211a7cc0a5c8633c9faee97c091ee48a366b87 ./weather-symbol-modes/single_input/20201210T0000Z-weather_symbols-PT01H.nc -50d4729611065b38d5db5d81887ec8d567a19461909d9e8002df674fe69957df ./weather-symbol-modes/single_input/kgo.nc +d64efaa75b03aa4ba1fb16caa31891492e9fc5f967a584de42a4a59dc2f54237 ./weather-symbol-modes/single_input/kgo.nc f4e13dec400ec945ba5bd03a286780b183665c22d707c038c0990ef3491e888e ./weather-symbol-modes/spot_input/20201209T0700Z-weather_symbols-PT01H.nc ee9557cf229b1099e64b36760a1b2dd82aec663490d75b6be2894bfb7a9103ea ./weather-symbol-modes/spot_input/20201209T0800Z-weather_symbols-PT01H.nc 601d331f490953f3ac36ac334b705848b8d4bc9024bfe001f4cd2d8d8b6645a2 ./weather-symbol-modes/spot_input/20201209T0900Z-weather_symbols-PT01H.nc @@ -1132,7 +1088,7 @@ c44a00d49912f13fb17256fa0e01d9425977b5c94f2d41c602c657d39deb74cc ./weather-symb 90a6495f65e053e943dd4dcc9731da274f11bc19a3817a70c057218ed8eaa4de ./weather-symbol-modes/spot_input/20201209T1600Z-weather_symbols-PT01H.nc a981f6238828b63d7a9f7c597dd234dcc86dd35e2e3c4ba6c3b6feb491ec872e ./weather-symbol-modes/spot_input/20201209T1700Z-weather_symbols-PT01H.nc de4a49bca4cd930328942cf6bb9a1bc1bdd2589120a57a2335ee4ef2449dbd5d ./weather-symbol-modes/spot_input/20201209T1800Z-weather_symbols-PT01H.nc -433f1b38b75ffd81ace7e366acc3aadbfed0d2b7e1a93f936755b60e681a4d7d ./weather-symbol-modes/spot_input/kgo.nc +3f43cd5fb973e4edb1a4f6ce832d0c2752fac186e1819ae1477fc466b0857e1b ./weather-symbol-modes/spot_input/kgo.nc 36f26203008ac401e361f549e39c5c1a0334d31eef2e064528d2c11ba029d1d2 ./weather-symbol-modes/spot_ties/20201209T0700Z-weather_symbols-PT01H.nc 8543d8168e23975f537767a55a8f6fbd7d15f187556748ab62e4edc3f70a84d3 ./weather-symbol-modes/spot_ties/20201209T0800Z-weather_symbols-PT01H.nc cb1a6c410f37132f0faa541a68411e00c38bf77c719f98adcff664f6699d4bf5 ./weather-symbol-modes/spot_ties/20201209T0900Z-weather_symbols-PT01H.nc @@ -1145,99 +1101,99 @@ ea67ae7a7f5363ae3692b29c93fb9989449d96e49dc613a1297d98ddb12c578a ./weather-symb 947d1cc7278abeb7f1335c9504c0b1daac61d8ee36fd6be03eccbc17c10b0e4b ./weather-symbol-modes/spot_ties/20201209T1600Z-weather_symbols-PT01H.nc 51f636314a6d1fa894ab98cf750493503b191a779c67d6a15081aab2a3612a31 ./weather-symbol-modes/spot_ties/20201209T1700Z-weather_symbols-PT01H.nc 134fb1750cf47e868ee67801b1ea5b1f17120e6f58a787a69e54638d7d88ff82 ./weather-symbol-modes/spot_ties/20201209T1800Z-weather_symbols-PT01H.nc -647caede9a6e27049829faef05cea7590b4f70862336d5f7c6fe2ccd9ad50bcd ./weather-symbol-modes/spot_ties/kgo.nc +391a9bd50824318fb8f147db3b14bcd56f5b0f0e0d5479b3579e08d70ef6ba77 ./weather-symbol-modes/spot_ties/kgo.nc 2d66678569a1af9b3357cd1c9d6b75dfedd912a99c3ed77135b2a2169b12687e ./weather-symbol-modes/wet_categories.json 6a362aa64925b9674c2806a9cafafb3d4b2d36bf8afc2f775c9b0615721e8183 ./weather-symbol-modes/wx_decision_tree.json -77b495f6d19a4777e8785361197ba6127d77b0450a1bccc317fe9508a8ad55cc ./weighted_blending/accum_cycle_blend/kgo.nc +bd51a8596838e355c78509b8b3b1215a3f1e3b798d5b300d4aff8032a26507b7 ./weighted_blending/accum_cycle_blend/kgo.nc c465dc56d83e9e866c1140033c65f07a02db154792b505d4a704d2773c3744e4 ./weighted_blending/accum_cycle_blend/ukv_prob_accum_PT3H.nc 08e196cdc9f733a56f16fcca3b2444aac847e5c14538ddff4dd0da94efabe475 ./weighted_blending/accum_cycle_blend/ukv_prob_accum_PT4H.nc c163c7abc3cfca24c9509b9f461da8e6defc2af6a33f26b52dc52d066389c265 ./weighted_blending/attributes.json -ead2662504afd7918ab3775f0f97eed464358efb7e8b64f4f438a5d21517a62d ./weighted_blending/basic_lin/kgo.nc +fee416501ad9237c2d3cf423168b90eeda71f6d8d0da3c053fcda18e65355e28 ./weighted_blending/basic_lin/kgo.nc bceec19d0b1385c25d2cec5ba46b924aa238e1047d879f189e38710237cb86ef ./weighted_blending/basic_lin/multiple_probabilities_rain_1H.nc 13fe0291d5c1d652ec5f17d5af6fd24e1d729c118ccf59e0ec3b2f9bbe226742 ./weighted_blending/basic_lin/multiple_probabilities_rain_2H.nc 937d5170c99fc03c34e908598821a26ac39d27c51081cd3953aef8dae7be5345 ./weighted_blending/basic_lin/multiple_probabilities_rain_3H.nc -07a42cf65e703b6122b5830b576b2fd0dae3535f2b3165ec5e9f276094bf3da5 ./weighted_blending/basic_nonlin/kgo.nc +eff57d4ad36958ee563a7ab3db17298e75c87b1bbdeac8db57b3411ce41aa683 ./weighted_blending/basic_nonlin/kgo.nc 67dbf1a0e1725cd4fe77dc2c2c422fb379edd59262cc6aaa2e0f40b207db8cf9 ./weighted_blending/blending_weights.json 0e5fb900fcfbe1794f95e5c3ef412e0f7479b80d7bc588cb8edea0494a77238f ./weighted_blending/cycletime/input_temperature_0.nc 265b5470e573204a83b4ac63a3a14f019ac9177816d8634c338fad520d04f7b3 ./weighted_blending/cycletime/input_temperature_1.nc 0fc4fd50a20b0e9803f37d40409efe210d9ac32903f6d8c82b69aa7e222382fb ./weighted_blending/cycletime/input_temperature_2.nc -7250ac9b552b5fef4977f87d888aee6e9a3e737ff1fc455a0aaeb188cf1f80e9 ./weighted_blending/cycletime/kgo_single_input.nc -bfe4b95c093e531f4e117c21b8f1c203ff8cb1fbb1478d1454bced3375fd6b02 ./weighted_blending/cycletime/kgo_specified_frt.nc +0fe7d04a5b997a6b286dc722523108cb97d3c616d0e716f02a3c540bef6cb185 ./weighted_blending/cycletime/kgo_single_input.nc +7eb822d3c45f9637013b3c1ecdfb31aa317a3c3918743d507c147bf4f1b0dddb ./weighted_blending/cycletime/kgo_specified_frt.nc 6423fe31e59045ddf396de94ea0fe86f5d34229dab958af44ee2829591aa203e ./weighted_blending/model/enuk_input.nc -8bbe66c30a2104b2adeaeaad915ad4f6e3bbc39ec5f80d5505b738c3644ef11e ./weighted_blending/model/kgo.nc +2f0c4cb96a1611521027972b7635cba8f6506dff3d333d912964152547fc9599 ./weighted_blending/model/kgo.nc f82ca42ee994b3596bc3ab45b3beaf6b921222ec2d1ca8720515a3bff5f03836 ./weighted_blending/model/ukv_input.nc 3a9ba0c3856c420a07117393f46478ec466d346b1551f5c4aaf543b9e2978148 ./weighted_blending/model_spot/engl_input.nc e33ef822cec6ef255d629905a709edc70a4764e38a64d22166767f128604be38 ./weighted_blending/model_spot/enuk_input.nc -ef36298116dc59dd0e51b9fb743273cb64f7866e7c39c6d98577a880e72a8a7a ./weighted_blending/model_spot/kgo.nc +d33c89bb729eba95a268220098972e4653cddbc7dd7d584aab6939cedb2adec5 ./weighted_blending/model_spot/kgo.nc 7dd21ad6014ce01f1c77eb58f52d8006c441c8d4d93081f24f0c45d8ff2ba3ed ./weighted_blending/non_mo_attributes.json -1de2a1089bc40d5937578a9a31c735aaa1fe8b80515e22709d0bfcc37e3d97cd ./weighted_blending/non_mo_model/kgo.nc +6b26ecc97938e3f401b014320fe6a328e0137837347c760e656e7041172f3c32 ./weighted_blending/non_mo_model/kgo.nc 0a0bb77fa5394d443ace920c0f411549b7da52ecbaf6196b08f8e4931119b6d6 ./weighted_blending/non_mo_model/non_mo_det.nc 7090b56392578f0bdd4b1a04083755b58c4d2728868556d90b815370c829c2d4 ./weighted_blending/non_mo_model/non_mo_ens.nc 33d15f1bc6c9e11169d7da15b75d48c1d3c6b7002b4d808f0859cada37f3cd73 ./weighted_blending/percentile_weights_from_dict/enuk_input.nc -69991c0d6537cfbe193a1e0708880ad6b67d1f265fe0a72c727ad0e59a60562e ./weighted_blending/percentile_weights_from_dict/kgo.nc +7410b4a7ed773f48855134f5872435779b6ca2f1959c91d492a61f056a565bca ./weighted_blending/percentile_weights_from_dict/kgo.nc fc4422148e81623862fa88b914d03deab020f7e07ee6ed80a4acc4e39e2e2119 ./weighted_blending/percentile_weights_from_dict/ukv_input.nc faea117ca31f98cd99c3f6a8f38a504a6ff420109b215dccf148078b57d3fce8 ./weighted_blending/percentiles/input.nc -d62e3c34c7dcd8a5934d69af9a142cdecb849947ed85a3353345d2963dd3634e ./weighted_blending/percentiles/kgo.nc +1a28c8d8beaf74301565d3ef5087453dc26fc9c0c533341ac5c05f387716da9b ./weighted_blending/percentiles/kgo.nc 0af71dc17767d0ef25eff65d1028b15e68eac186f409a10de63f1db677aea8e4 ./weighted_blending/realizations/input.nc -b61131b1b462b2d4b03218c1827f03619e8dc9132883f77963af5700649c4f47 ./weighted_blending/realizations/kgo.nc -552bb0d9e118d4492fcda9e316ccd38ae82c533a1642ff5b11aee07c97098d7a ./weighted_blending/spatial_weights/kgo/cycle.nc -c319cbaf8825e2d08575574f00886e8685a51ab47bb04ed95a81ea589bf0dd53 ./weighted_blending/spatial_weights/kgo/cycle_no_fuzzy.nc -22c9faca3d071b884febc221f1742a77689c8caf9aabf48a5ee2b577d396622f ./weighted_blending/spatial_weights/kgo/model.nc -bea2c743ecd8821371c0b5fa11aa3ffb99b204ecbaf1715c48b8540942b7fe96 ./weighted_blending/spatial_weights/kgo/model_no_fuzzy.nc +5df039866dbaedc08510494d3d0c853f3239d29e2159d55747632d71a54d0e28 ./weighted_blending/realizations/kgo.nc +650ba5deb1413615fad88a11c118d716450c73e936f1086001a27a16cbc3acf4 ./weighted_blending/spatial_weights/kgo/cycle.nc +fb79a66618050d840ec14d77ad20b2a3097f5b1dfc25ed8bc021c8f1540fe89e ./weighted_blending/spatial_weights/kgo/cycle_no_fuzzy.nc +2081026b20ffea2b0d69d4c867130acca4b5f75f2081914236603c33867edbb6 ./weighted_blending/spatial_weights/kgo/model.nc +1d70833ab0d782daf4cf8ca47e11fc55b7d30ad0fbaf69e0880b3493c8e52d52 ./weighted_blending/spatial_weights/kgo/model_no_fuzzy.nc 0bc5008881410cf745e0ea65de6c53edbffebba546d31131d3cde849393fcad2 ./weighted_blending/spatial_weights/nowcast_data/20181129T1000Z-PT0002H00M-lwe_precipitation_rate.nc fd3534ad3c64b6e1e57b5418464b7666aaeccaa5fa53aac52889ca7ded9fe4df ./weighted_blending/spatial_weights/nowcast_data/20181129T1000Z-PT0003H00M-lwe_precipitation_rate.nc 1d65cfa1b183d7286b92eac63502cee0a3ba96e7d382adf5f99f5450be21a9a9 ./weighted_blending/spatial_weights/nowcast_data/20181129T1000Z-PT0004H00M-lwe_precipitation_rate.nc dc3843f0cd6475646ff66030641018d2e06bb9b83294656bd1e3cd5fed938759 ./weighted_blending/spatial_weights/ukvx_data/20181129T1000Z-PT0002H00M-lwe_precipitation_rate.nc 8fc821a52d859953557d2d84a94315cf1dc6b336e0f2931459248ba0722e3138 ./weighted_blending/three_models/enukxhrly/20190101T0400Z-PT0004H00M-precip_rate.nc -2b87a5df656519909b6ec8483251b0c51802bfb6809946267853dedaaf587061 ./weighted_blending/three_models/kgo.nc +dc56c3290bae734db3bf479628e5da0b93ccada06a68606b22e25a07a4fc24b5 ./weighted_blending/three_models/kgo.nc dc84cdaafb5a0b8c48e648a6734be019cc4b7b9593c00607667059a71a4c571d ./weighted_blending/three_models/nc/20190101T0400Z-PT0001H00M-precip_rate.nc e535f9b75ca96622b96916bc249a4aa919e5216fcf548a7f6c90748538bfe22a ./weighted_blending/three_models/ukvx/20190101T0400Z-PT0002H00M-precip_rate.nc -56ae2bd0fc2ae60c7d12c919b6d9b18ead81372e8020081f058cb26281acf30d ./weighted_blending/weights_from_dict/kgo.nc -854961d6c539e3a73b7223cef68547005c6ee47c4fbe702099c317233e01e484 ./wet-bulb-freezing-level/kgo.nc +32042d75b04735b7f4b8db22f793cacb8a71c455f9442dc14c029d78fe59a80c ./weighted_blending/weights_from_dict/kgo.nc +07398ff72a6a468fd85ecf6442c959f6068664ef8d70ed640421ef1859473f40 ./wet-bulb-freezing-level/kgo.nc 3d6b8720c087c4ef8daf32ff761695e0f6169104fb134d03c26dd17a5e4d4a02 ./wet-bulb-freezing-level/wet_bulb_temperature.nc ef62d78071045163858387292ec56c11aa92e1fa6f5580c1e4ac485cd01979fc ./wet-bulb-temperature-integral/basic/input.nc -fe3e934077125a7306f19799728623c73aafe1145f98fd0425d0cd02431be9a9 ./wet-bulb-temperature-integral/basic/with_id_attr/kgo.nc -153a5a54b46d6eaaa1ffa71a18ea08099ebf28ed9ea991c065b80d76b8277f0c ./wet-bulb-temperature-integral/basic/without_id_attr/kgo.nc +4143e7583d66c6e776e43e619622eab00fdee3293becadfaaa00ddd72147ac6a ./wet-bulb-temperature-integral/basic/with_id_attr/kgo.nc +f854f85ef58e2a0dc41c3bcdf940a23daa2782a50d3eaf798335fefa8bea21b8 ./wet-bulb-temperature-integral/basic/without_id_attr/kgo.nc ed4e971a00d56d771d79ad5dec90d7be8aa1dafc19811df5734c0d602e5ec57b ./wet-bulb-temperature-integral/realizations/input.nc -da878ca78ecae4eb93d181ecf17ff3002cccc72df6aa420eacb4cafe90e9f797 ./wet-bulb-temperature-integral/realizations/kgo.nc +df4703b413617aff90adc15d351ac6e4488d70a570c58e2a7979dcd2459256f6 ./wet-bulb-temperature-integral/realizations/kgo.nc 64396013800622079dd08b20b07274aeb73232220baf135738f6861bdd306f7c ./wet-bulb-temperature/basic/enukx_pressure.nc 634d52800e5783cd021f7af31809263e3345197e9c63184234d8348b1d637cd3 ./wet-bulb-temperature/basic/enukx_relative_humidity.nc 2575b46b1d57dd37b3da85f7546c7cb5cc7b7637bb1a03cbee0b772b9a51c4b2 ./wet-bulb-temperature/basic/enukx_temperature.nc -d730636a82a60fcddae571281360417f30e5f712bb4157122a0224cc95558908 ./wet-bulb-temperature/basic/with_id_attr/kgo.nc -03cb35ad4bbbaf41e6207d4a5d19ebe4542e2cfe8f35a17dc23efd5c041f195c ./wet-bulb-temperature/basic/without_id_attr/kgo.nc -684fbed52a95295cbb3f831865c4d70e6fae8a73bef49052414f3f3611bc93ec ./wet-bulb-temperature/global/kgo.nc +c67228e12dbb2c8f2008a47158b774953fe697f18c3eb7f6e585ad7c5c4d7b98 ./wet-bulb-temperature/basic/with_id_attr/kgo.nc +9bdde50b0eabaf0c00f6cefee6e80a54e56fc1a1f4c55579e7352e2d0bb84c89 ./wet-bulb-temperature/basic/without_id_attr/kgo.nc +4c27dcf1f4953f2eff731fbcc87897f65ecd018cfeac87b1525aeb2821bfe480 ./wet-bulb-temperature/global/kgo.nc e52d6a748419b57010810912e3933145d4823fba5c221e68e7af703d8b9e07fb ./wet-bulb-temperature/global/pressure_input.nc 637541033693a1ee55e73020a2b48219d340ffbbad59b9dbec531fa4ada24b16 ./wet-bulb-temperature/global/relative_humidity_input.nc 29fd0062ca428745e6e00c0684bcd8ecde7c0883575fd6bb90afd81ef908912e ./wet-bulb-temperature/global/temperature_input.nc a1e927872b9a0fcb95487b4d86c1600086b80e880095e7559e272a747d65c846 ./wet-bulb-temperature/multi_level/enukx_multilevel_pressure.nc 74ee3ba48c843e2e6315bce454b3ca6684ae0b6cc2799c52234c69dbdf0745c2 ./wet-bulb-temperature/multi_level/enukx_multilevel_relative_humidity.nc 0c5b1dc8592abd656216d8907469a9e971757bd4820a199e478d20e8ab7a9242 ./wet-bulb-temperature/multi_level/enukx_multilevel_temperature.nc -2f7e7cd6a72cb30ff306cf02e90f78aefce7db6e08bac6263639b4d9dd8d8e3b ./wet-bulb-temperature/multi_level/kgo.nc -118451bc68957e3a3cee42e5da59c04bd2ae7e79562861e3b259a2aea02ae79e ./wind-gust-diagnostic/basic/kgo_average_wind_gust.nc -41ee83244418a5ba7f9b8bf06acacc90954d615c4e4ba59e272093c7ca8a485f ./wind-gust-diagnostic/basic/kgo_extreme_wind_gust.nc +ab51ba9ca4a73c47f095d65ba2036ae17636c08aca1018df5eff95c075bbb884 ./wet-bulb-temperature/multi_level/kgo.nc +5c5f827ae029b847a7e329b9024ec693bcce29cd9b1a2165e279d4e7a7f2b4f2 ./wind-gust-diagnostic/basic/kgo_average_wind_gust.nc +e8189e3d30259b38758fb3a7d70942ad21259547152ac0840e790897ae923116 ./wind-gust-diagnostic/basic/kgo_extreme_wind_gust.nc 6dfd07ebe1c74e4b6dff46de48d6af9ef7f3790e99e36f06e27cbdd0d987f81c ./wind-gust-diagnostic/basic/wind_gust_perc.nc e289d09022edd03a1a6532d27e4e1c1c08e530f03ab8bfe989786add3c8e63f0 ./wind-gust-diagnostic/basic/wind_speed_perc.nc 2688c22d71c5380c905ffa31bc59ee01eaee5822a16820e39909336f29e3eea0 ./wind_direction/basic/input.nc -42f2c6f870e231fbbe331af491bbf81dc1e7fdbbb66946cc026ee775cba867a5 ./wind_direction/basic/kgo.nc +687a88b013a920ca361609cdb67a6c317795c3e267021823585618b1f1943268 ./wind_direction/basic/kgo.nc 8db748aa602078aa30ef2da41c8295e3fd39d594578f1752d279940fbd78973c ./wind_direction/global/input.nc -c472aa8267a091637831e2bd56974ee133bad92f0902393b102a3de3e5ac80d7 ./wind_direction/global/kgo.nc +afb020a86ef8ed26d889b4c100f35e1804a7091250dab728162f9cd642ae0d15 ./wind_direction/global/kgo.nc d20836b94e6dc642d3fdd7239c8210db3e1cdc35f8da320d134d55158181b95a ./wind_downscaling/basic/a_over_s.nc 0c249e059bb0c8263bddc339adcccaed40070512a5c9d7378453dfaa95fa7ce3 ./wind_downscaling/basic/highres_orog.nc ffc2eb3c5ab8e797a4401bd6ff4d262f8c1f759efdd92d62d680c697f5ba4a9c ./wind_downscaling/basic/input.nc -212fe2692b87e6192e37bb67c0afde0a573b3ff409febf1ff957d79d2797e293 ./wind_downscaling/basic/kgo.nc +de490efca2c2cae98fe81fa0863553559caacb811da05d5e3cd33d36b6b20366 ./wind_downscaling/basic/kgo.nc f62188a4e606e69611fbaf23805c06c19c326026a8d763cf6a53a1afd070cd83 ./wind_downscaling/basic/sigma.nc 9b9e15a77bbfecb225c323d99469a523a050602d92a0a3d4fd7ea0b0a264085f ./wind_downscaling/basic/standard_orog.nc -0fb6beb1218d4420ba31ffc5c06824a75774c2eaceee5af64a50ada9e927b29b ./wind_downscaling/single_level/kgo.nc +5e66a03a523aaade5fa68fcc5fc7814c77bdb2f7a0069a2977126ca951d9db0e ./wind_downscaling/single_level/kgo.nc d20836b94e6dc642d3fdd7239c8210db3e1cdc35f8da320d134d55158181b95a ./wind_downscaling/veg/a_over_s.nc 0c249e059bb0c8263bddc339adcccaed40070512a5c9d7378453dfaa95fa7ce3 ./wind_downscaling/veg/highres_orog.nc ffc2eb3c5ab8e797a4401bd6ff4d262f8c1f759efdd92d62d680c697f5ba4a9c ./wind_downscaling/veg/input.nc -6636e4167431c27703ec8d048b588f0bd4fc0c5a2527d42902dfa0535845a52b ./wind_downscaling/veg/kgo.nc +445762fadec0d22e4cf6acd6700dc6b8cbc88894467b8c19cf74e5e83a956e1c ./wind_downscaling/veg/kgo.nc f62188a4e606e69611fbaf23805c06c19c326026a8d763cf6a53a1afd070cd83 ./wind_downscaling/veg/sigma.nc 9b9e15a77bbfecb225c323d99469a523a050602d92a0a3d4fd7ea0b0a264085f ./wind_downscaling/veg/standard_orog.nc dc30ed1991e25207b298ba4080581548725021098d5b0a904e7097ede07b9636 ./wind_downscaling/veg/veg.nc d20836b94e6dc642d3fdd7239c8210db3e1cdc35f8da320d134d55158181b95a ./wind_downscaling/with_realization/a_over_s.nc 0c249e059bb0c8263bddc339adcccaed40070512a5c9d7378453dfaa95fa7ce3 ./wind_downscaling/with_realization/highres_orog.nc 734dd94a705e7ebaea58f1543ab20fdb6568622c1e1b0e402e3a70eb1cb655f7 ./wind_downscaling/with_realization/input.nc -17623a06ac86145252afa353b065794fe3c07cf5d31edbc48fb8bdd28b98461f ./wind_downscaling/with_realization/kgo.nc +da2840ab1602da393765bc3b44d5c65e17b48128d9aff7ecbfdf262d44822563 ./wind_downscaling/with_realization/kgo.nc f62188a4e606e69611fbaf23805c06c19c326026a8d763cf6a53a1afd070cd83 ./wind_downscaling/with_realization/sigma.nc 9b9e15a77bbfecb225c323d99469a523a050602d92a0a3d4fd7ea0b0a264085f ./wind_downscaling/with_realization/standard_orog.nc diff --git a/improver_tests/acceptance/test_quantile_mapping.py b/improver_tests/acceptance/test_quantile_mapping.py new file mode 100644 index 0000000000..41cf7b287a --- /dev/null +++ b/improver_tests/acceptance/test_quantile_mapping.py @@ -0,0 +1,113 @@ +# (C) Crown Copyright, Met Office. All rights reserved. +# +# This file is part of 'IMPROVER' and is released under the BSD 3-Clause license. +# See LICENSE in the root of the repository for full licensing details. +"""Tests for the quantile-mapping CLI""" + +import pytest + +from . import acceptance as acc + +pytestmark = [pytest.mark.acc, acc.skip_if_kgo_missing] +CLI = acc.cli_name_with_dashes(__file__) +run_cli = acc.run_cli(CLI) + + +def test_floor_no_threshold(tmp_path): + """Test quantile mapping with floor method and no preservation threshold.""" + kgo_dir = acc.kgo_root() / "quantile-mapping/floor_no_threshold/" + kgo_path = kgo_dir / "kgo.nc" + reference_path = acc.kgo_root() / "quantile-mapping/reference.nc" + forecast_path = acc.kgo_root() / "quantile-mapping/forecast.nc" + output_path = tmp_path / "output.nc" + + args = [ + reference_path, + forecast_path, + "--mapping-method=floor", + "--output", + output_path, + ] + run_cli(args) + acc.compare(output_path, kgo_path) + + +def test_floor_with_threshold(tmp_path): + """Test quantile mapping with floor method and preservation threshold.""" + kgo_dir = acc.kgo_root() / "quantile-mapping/floor_with_threshold/" + kgo_path = kgo_dir / "kgo.nc" + reference_path = acc.kgo_root() / "quantile-mapping/reference.nc" + forecast_path = acc.kgo_root() / "quantile-mapping/forecast.nc" + output_path = tmp_path / "output.nc" + + args = [ + reference_path, + forecast_path, + "--mapping-method=floor", + "--preservation-threshold=8.333333e-09", + "--output", + output_path, + ] + run_cli(args) + acc.compare(output_path, kgo_path) + + +def test_interp_no_threshold(tmp_path): + """Test quantile mapping with interp method and no preservation threshold.""" + kgo_dir = acc.kgo_root() / "quantile-mapping/interp_no_threshold/" + kgo_path = kgo_dir / "kgo.nc" + reference_path = acc.kgo_root() / "quantile-mapping/reference.nc" + forecast_path = acc.kgo_root() / "quantile-mapping/forecast.nc" + output_path = tmp_path / "output.nc" + + args = [ + reference_path, + forecast_path, + "--mapping-method=interp", + "--output", + output_path, + ] + run_cli(args) + acc.compare(output_path, kgo_path) + + +def test_interp_with_threshold(tmp_path): + """Test quantile mapping with interp method and preservation threshold.""" + kgo_dir = acc.kgo_root() / "quantile-mapping/interp_with_threshold/" + kgo_path = kgo_dir / "kgo.nc" + reference_path = acc.kgo_root() / "quantile-mapping/reference.nc" + forecast_path = acc.kgo_root() / "quantile-mapping/forecast.nc" + output_path = tmp_path / "output.nc" + + args = [ + reference_path, + forecast_path, + "--mapping-method=interp", + "--preservation-threshold=8.333333e-09", + "--output", + output_path, + ] + run_cli(args) + acc.compare(output_path, kgo_path) + + +def test_custom_forecast_to_calibrate(tmp_path): + """Test quantile mapping with custom forecast_to_calibrate cube.""" + kgo_dir = acc.kgo_root() / "quantile-mapping/custom_values_to_map/" + kgo_path = kgo_dir / "kgo.nc" + reference_path = acc.kgo_root() / "quantile-mapping/reference.nc" + forecast_path = acc.kgo_root() / "quantile-mapping/forecast.nc" + forecast_to_calibrate_path = acc.kgo_root() / "quantile-mapping/values_to_map.nc" + output_path = tmp_path / "output.nc" + + args = [ + reference_path, + forecast_path, + "--mapping-method=interp", + "--forecast-to-calibrate", + forecast_to_calibrate_path, + "--output", + output_path, + ] + run_cli(args) + acc.compare(output_path, kgo_path) diff --git a/improver_tests/calibration/test_QuantileMapping.py b/improver_tests/calibration/test_QuantileMapping.py new file mode 100644 index 0000000000..7959f0f688 --- /dev/null +++ b/improver_tests/calibration/test_QuantileMapping.py @@ -0,0 +1,384 @@ +# (C) Crown Copyright, Met Office. All rights reserved. +# +# This file is part of 'IMPROVER' and is released under the BSD 3-Clause license. +# See LICENSE in the root of the repository for full licensing details. + +import numpy as np +import pytest +from iris.cube import Cube + +from improver.calibration.quantile_mapping import ( + QuantileMapping, + _build_empirical_cdf, + _interpolated_inverted_cdf, + _inverted_cdf, + quantile_mapping, +) +from improver.synthetic_data.set_up_test_cubes import set_up_variable_cube + + +@pytest.fixture +def simple_reference_array(): + """Fixture for creating a simple reference array.""" + return np.array([10, 20, 30, 40, 50]) + + +@pytest.fixture +def simple_forecast_array(): + """Fixture for creating a simple forecast array""" + return np.array([5, 15, 25, 35, 45]) + + +@pytest.fixture +def simple_new_values_to_map_array(): + """Fixture for creating a simple alternative forecast array to correct using mapping + from a reference array and forecast array. + """ + return np.array([7.5, 17.5, 27.5, 37.5, 47.5]) + + +def test__build_empirical_cdf(simple_reference_array): + """Test _build_empirical_cdf returns the correct empirical CDF.""" + sorted_values, quantiles = _build_empirical_cdf(simple_reference_array) + + np.testing.assert_array_equal(sorted_values, np.array([10, 20, 30, 40, 50])) + np.testing.assert_array_equal(quantiles, np.array([0.2, 0.4, 0.6, 0.8, 1.0])) + + +def test__inverted_cdf(simple_reference_array): + """Test _inverted_cdf returns the correct values. Values output should be the + same as values input in this case.""" + _, quantiles = _build_empirical_cdf(simple_reference_array) + result = _inverted_cdf(simple_reference_array, quantiles) + np.testing.assert_array_equal(result, np.array([10, 20, 30, 40, 50])) + + +def test__interpolated_inverted_cdf(simple_reference_array): + """Test _interpolated_inverted_cdf returns correct interpolated values.""" + # Test with quantiles that fall between the reference data points + target_quantiles = np.array([0.3, 0.5, 0.7, 0.9]) + result = _interpolated_inverted_cdf(simple_reference_array, target_quantiles) + # At quartile 0.3: interpolate between 0.2 (10) and 0.4 (20) -> 15 + # At quartile 0.5: interpolate between 0.4 (20) and 0.6 (30) -> 25 + # At quartile 0.7: interpolate between 0.6 (30) and 0.8 (40) -> 35 + # At quartile 0.9: interpolate between 0.8 (40) and 1.0 (50) -> 45 + expected = np.array([15, 25, 35, 45]) + np.testing.assert_array_equal(result, expected) + + +@pytest.mark.parametrize( + "use_new_values, mapping_method, expected", + [ + (False, "floor", np.array([10, 20, 30, 40, 50])), + (False, "interp", np.array([10, 20, 30, 40, 50])), + (True, "floor", np.array([20, 20, 30, 40, 50])), + (True, "interp", np.array([12.5, 22.5, 32.5, 42.5, 50])), + ], + ids=[ + "same_values_to_map_floor", + "same_values_to_map_interp", + "different_values_to_map_floor", + "different_values_to_map_interp", + ], +) +def test_quantile_mapping( + simple_reference_array, + simple_forecast_array, + simple_new_values_to_map_array, + use_new_values, + mapping_method, + expected, +): + values_to_map = ( + simple_new_values_to_map_array if use_new_values else simple_forecast_array + ) + result = quantile_mapping( + simple_reference_array, + simple_forecast_array, + values_to_map, + mapping_method=mapping_method, + ) + np.testing.assert_array_equal(result, expected) + + +def test_invalid_mapping_method_raises_error( + simple_reference_array, simple_forecast_array +): + """Test that invalid mapping_method raises ValueError.""" + with pytest.raises(ValueError, match="Unknown mapping method"): + quantile_mapping( + simple_reference_array, simple_forecast_array, mapping_method="kitten" + ) + + +@pytest.fixture +def reference_cube(): + """Fixture for creating a reference precipitation rate (mm/s) cube.""" + data = np.array( + [ + [ + [2.63564289e-07, 8.47503543e-08, 3.35276127e-08], + [4.65661287e-08, 2.14204192e-08, 1.67638063e-08], + [8.38190317e-09, 1.21071935e-08, 2.23517418e-08], + ], + [ + [5.58793545e-09, 3.81842256e-08, 2.03959644e-07], + [2.51457095e-08, 6.61239028e-08, 1.89989805e-07], + [5.49480319e-08, 9.40635800e-08, 1.64844096e-07], + ], + ], + dtype=np.float32, + ) + + return set_up_variable_cube(data, units="mm h-1") + + +@pytest.fixture +def forecast_cube(): + """Fixture for creating a forecast precipitation rate (mm/s) cube.""" + data = np.array( + [ + [ + [4.7218055e-07, 9.1269612e-07, 1.3476238e-06], + [8.7451190e-07, 1.4798716e-06, 1.9185245e-06], + [9.0710819e-07, 1.3411045e-06, 1.6242266e-06], + ], + [ + [3.4458935e-08, 1.3038516e-08, 3.7252903e-09], + [5.7742000e-08, 2.1420419e-08, 2.7939677e-09], + [1.1455268e-07, 4.0046871e-08, 6.5192580e-09], + ], + ], + dtype=np.float32, + ) + return set_up_variable_cube(data, units="mm h-1") + + +@pytest.fixture +def custom_values_to_map_cube(): + """Fixture for creating custom values to map cube (different from forecast cube).""" + data = np.array( + [ + [[1e-7, 2e-7, 3e-7], [4e-7, 5e-7, 6e-7], [7e-7, 8e-7, 9e-7]], + [[1e-8, 2e-8, 3e-8], [4e-8, 5e-8, 6e-8], [7e-8, 8e-8, 9e-8]], + ], + dtype=np.float32, + ) + return set_up_variable_cube(data, units="mm h-1") + + +@pytest.fixture +def expected_result_floor_no_threshold(): + """Expected result for quantile mapping with floor mapping_method, no threshold.""" + return np.array( + [ + [ + [4.65661287e-08, 8.47503543e-08, 1.64844096e-07], + [5.49480319e-08, 1.89989805e-07, 2.63564289e-07], + [6.61239028e-08, 9.40635800e-08, 2.03959644e-07], + ], + [ + [2.23517418e-08, 1.67638063e-08, 8.38190317e-09], + [3.35276127e-08, 2.14204192e-08, 5.58793545e-09], + [3.81842256e-08, 2.51457095e-08, 1.21071935e-08], + ], + ], + dtype=np.float32, + ) + + +@pytest.fixture +def expected_result_floor_with_threshold(): + """Expected result for quantile mapping with floor mapping_method and preservation threshold.""" + return np.array( + [ + [ + [4.65661287e-08, 8.47503543e-08, 1.64844096e-07], + [5.49480319e-08, 1.89989805e-07, 2.63564289e-07], + [6.61239028e-08, 9.40635800e-08, 2.03959644e-07], + ], + [ + [2.23517418e-08, 1.67638063e-08, 3.7252903e-09], + [3.35276127e-08, 2.14204192e-08, 2.7939677e-09], + [3.81842256e-08, 2.51457095e-08, 6.5192580e-09], + ], + ], + dtype=np.float32, + ) + + +@pytest.fixture +def expected_result_interp_no_threshold(): + """Expected result for quantile mapping with interp mapping_method, no threshold.""" + return np.array( + [ + [ + [4.65661287e-08, 8.47503543e-08, 1.64844096e-07], + [5.49480319e-08, 1.89989805e-07, 2.63564289e-07], + [6.61239028e-08, 9.40635800e-08, 2.03959644e-07], + ], + [ + [2.23517418e-08, 1.67638063e-08, 8.38190317e-09], + [3.35276127e-08, 2.14204192e-08, 5.58793545e-09], + [3.81842256e-08, 2.51457095e-08, 1.21071935e-08], + ], + ], + dtype=np.float32, + ) + + +@pytest.fixture +def expected_result_interp_with_threshold(): + """Expected result for quantile mapping with interp mapping_method and preservation threshold.""" + return np.array( + [ + [ + [4.6566129e-08, 8.4750354e-08, 1.6484410e-07], + [5.4948032e-08, 1.8998981e-07, 2.6356429e-07], + [6.6123903e-08, 9.4063580e-08, 2.0395964e-07], + ], + [ + [2.2351742e-08, 1.6763806e-08, 3.7252903e-09], + [3.3527613e-08, 2.1420419e-08, 2.7939677e-09], + [3.8184226e-08, 2.5145710e-08, 6.5192580e-09], + ], + ], + dtype=np.float32, + ) + + +def test_quantile_mapping_process_floor_no_threshold( + reference_cube, forecast_cube, expected_result_floor_no_threshold +): + """Test quantile mapping with floor method and no threshold.""" + plugin = QuantileMapping() + result = plugin.process(reference_cube, forecast_cube, mapping_method="floor") + + assert isinstance(result, Cube) + assert result.shape == forecast_cube.shape + assert result.data.dtype == np.float32 + np.testing.assert_array_equal(result.data, expected_result_floor_no_threshold) + + +def test_quantile_mapping_process_floor_with_threshold( + reference_cube, forecast_cube, expected_result_floor_with_threshold +): + """Test quantile mapping with floor method and preservation threshold.""" + plugin = QuantileMapping(preservation_threshold=8.333333e-09) + result = plugin.process(reference_cube, forecast_cube, mapping_method="floor") + + assert isinstance(result, Cube) + assert result.shape == forecast_cube.shape + assert result.data.dtype == np.float32 + np.testing.assert_array_equal(result.data, expected_result_floor_with_threshold) + + +def test_quantile_mapping_process_interp_no_threshold( + reference_cube, forecast_cube, expected_result_interp_no_threshold +): + """Test quantile mapping with interp method and no threshold.""" + plugin = QuantileMapping() + result = plugin.process(reference_cube, forecast_cube, mapping_method="interp") + + assert isinstance(result, Cube) + assert result.shape == forecast_cube.shape + assert result.data.dtype == np.float32 + np.testing.assert_array_equal(result.data, expected_result_interp_no_threshold) + + +def test_quantile_mapping_process_interp_with_threshold( + reference_cube, forecast_cube, expected_result_interp_with_threshold +): + """Test quantile mapping with interp method and preservation threshold.""" + plugin = QuantileMapping(preservation_threshold=8.333333e-09) + result = plugin.process(reference_cube, forecast_cube, mapping_method="interp") + + assert isinstance(result, Cube) + assert result.shape == forecast_cube.shape + assert result.data.dtype == np.float32 + np.testing.assert_array_equal(result.data, expected_result_interp_with_threshold) + + +def test_quantile_mapping_process_custom_values_to_map( + reference_cube, forecast_cube, custom_values_to_map_cube +): + """Test quantile mapping with custom forecast_to_calibrate cube.""" + plugin = QuantileMapping() + + result_custom = plugin.process( + reference_cube, + forecast_cube, + forecast_to_calibrate=custom_values_to_map_cube, + mapping_method="interp", + ) + result_default = plugin.process( + reference_cube, forecast_cube, mapping_method="interp" + ) + + # Results should be different since we're mapping different values + assert not np.array_equal(result_custom.data, result_default.data) + assert result_custom.shape == custom_values_to_map_cube.shape + assert result_custom.data.dtype == np.float32 + + +def test_mask_preservation(reference_cube, forecast_cube): + """Test that masks are preserved in output.""" + # Mask some values + forecast_cube.data = np.ma.masked_where( + forecast_cube.data <= 2.7939677e-09, forecast_cube.data + ) + reference_cube.data = np.ma.masked_where( + reference_cube.data <= 2.7939677e-09, reference_cube.data + ) + + plugin = QuantileMapping() + result = plugin.process(reference_cube, forecast_cube) + + # Check output is masked + assert np.ma.is_masked(result.data) + # Check mask count matches forecast + assert np.ma.count_masked(result.data) == np.ma.count_masked(forecast_cube.data) + + +def test_non_masked_input_produces_non_masked_output(reference_cube, forecast_cube): + """Test that non-masked inputs produce non-masked outputs.""" + plugin = QuantileMapping() + result = plugin.process(reference_cube, forecast_cube) + + assert not np.ma.is_masked(result.data) + + +def test_unit_conversion(reference_cube, forecast_cube): + """Test that unit conversion is handled correctly.""" + # Convert reference cube to different units + reference_cube.convert_units("m h-1") + + plugin = QuantileMapping() + result = plugin.process(reference_cube, forecast_cube) + + # Result should have forecast units + assert result.units == forecast_cube.units + + +def test_incompatible_units_raises_error(reference_cube, forecast_cube): + """Test that incompatible units raise ValueError.""" + # Change reference cube to incompatible units + reference_cube.units = "K" # Temperature instead of precipitation + + plugin = QuantileMapping() + + with pytest.raises(ValueError, match="Cannot convert cube with units"): + plugin.process(reference_cube, forecast_cube) + + +def test_threshold_preserves_small_values(reference_cube, forecast_cube): + """Test that values below threshold are not modified.""" + threshold = 1e-7 + plugin = QuantileMapping(preservation_threshold=threshold) + result = plugin.process(reference_cube, forecast_cube) + + # Values below threshold should match the original forecast + below_threshold_mask = forecast_cube.data < threshold + np.testing.assert_array_equal( + result.data[below_threshold_mask], forecast_cube.data[below_threshold_mask] + ) From 8883cfedd6ea8c7986d273a4580f70216fd5c1e0 Mon Sep 17 00:00:00 2001 From: Max White Date: Tue, 9 Dec 2025 16:19:14 +0000 Subject: [PATCH 2/9] Recreate checksums --- improver_tests/acceptance/SHA256SUMS | 878 +++++++++++++++------------ 1 file changed, 473 insertions(+), 405 deletions(-) diff --git a/improver_tests/acceptance/SHA256SUMS b/improver_tests/acceptance/SHA256SUMS index bf59822253..05ed226368 100644 --- a/improver_tests/acceptance/SHA256SUMS +++ b/improver_tests/acceptance/SHA256SUMS @@ -1,70 +1,70 @@ -047420170787241db82c89529c63fd6631533c163830a3fa3d9b8363af6958aa ./aggregate-reliability-tables/basic/collapse_lat_lon_kgo.nc -a6a84d0142796e4b9ca7bd3f0ad78586ea77684f5df02732fdda2ab54233cbb6 ./aggregate-reliability-tables/basic/multiple_tables_kgo.nc +7b09ea9c0d798eb9d95496262f1b2328ee64b0ef0664d063fc540450b88bc880 ./aggregate-reliability-tables/basic/collapse_lat_lon_kgo.nc +a3c1d9f50342b21f0b1949c0c1717219f09c2044f2338fec672442b479b0de1e ./aggregate-reliability-tables/basic/multiple_tables_kgo.nc c0c38c5b1ba16fd5f7310b6d2ee0ab9d8b6bcdb3b23c8475193eefae1eb14a17 ./aggregate-reliability-tables/basic/reliability_table.nc 9eeda326cdc66d93e591c87e9f7ceb17cea329397169fb0518f50da3bf4dc61f ./aggregate-reliability-tables/basic/reliability_table_2.nc 9d000581df59946c188943734f480182fcc05eb3cd6c0e38d1dc4fb0c1e93b93 ./apply-beta-recalibration/config.json 68791ea2cedce742ddcd8d9d3cc2fd72bcbb603c0b98a694cddb0d32713019e8 ./apply-beta-recalibration/forecast.nc -93f8710ce0672e4d55cb627ff030c4ef3d40f40bf131a359b1d83a4595a71ee6 ./apply-beta-recalibration/kgo.nc +7561f0f9c7baebe9688a341cc142113259adcdee3dff9c491e3934fb3019bf93 ./apply-beta-recalibration/kgo.nc d82436afd61b2f9739e920c61293dc2bac32292f98255c86a632dd3dff504394 ./apply-bias-correction/20220814T0300Z-PT0003H00M-wind_speed_at_10m.nc 5d259b136452c34a790d97359eebe0e250995463d040d24b77588e43236596cf ./apply-bias-correction/fcst_with_comment/kgo.nc 6b878745e994b0a1516a7b790983c129b87d8f53f6d0e1661e56b1f7ca9fc67a ./apply-bias-correction/masked_bias_data/20220814T0300Z-PT0003H00M-wind_speed_at_10m.nc 7e4b45553113d27002ab0a42a8b18bfa3b3a7d1d7afda3cd624fd419144ab29b ./apply-bias-correction/masked_bias_data/bias_data/20220813T0300Z-PT0003H00M-wind_speed_at_10m.nc -bd26f80cb7ae8e0592dd35ef5775e3a5b2f70365e18fc14eff0c8fdb2ed83e31 ./apply-bias-correction/masked_bias_data/fill_masked_values/kgo.nc -0b79b5cbb9c6b5d0b810be55773997375b7ded89c53c9783aecb5ec2dc830132 ./apply-bias-correction/masked_bias_data/retain_mask/kgo.nc +1f5dbe5b0f9e479aeb5110c121128aee02b5add4f75fcfc6692fdf432d54ff6d ./apply-bias-correction/masked_bias_data/fill_masked_values/kgo.nc +5ce5ab12c86c6e90b899b57aa9a00b8c4229184f4b7a03f2cac94ce7e72fc2e1 ./apply-bias-correction/masked_bias_data/retain_mask/kgo.nc a7039c83651e619e7360913b7a3b593dbc6327a86656f9884ae0a340ba16b1df ./apply-bias-correction/multiple_bias_files/bias_data/20220811T0300Z-PT0003H00M-wind_speed_at_10m.nc fbe539f8793d944c55f4c27ebead909787a8e260002f625c773b85c79ee77bab ./apply-bias-correction/multiple_bias_files/bias_data/20220812T0300Z-PT0003H00M-wind_speed_at_10m.nc 6be1ef436b90fffbec70100445692508412265b262037487feb9f78dfa1da8a7 ./apply-bias-correction/multiple_bias_files/bias_data/20220813T0300Z-PT0003H00M-wind_speed_at_10m.nc -591bad70882d35c0a4fa75ae31903d4dcf72ff384731cc2ca23f311b859155c3 ./apply-bias-correction/multiple_bias_files/kgo.nc +9029542a53479f4086b3e0de7e87d2f29c2fb66cbfbe422ee64cbc2cf6e36a46 ./apply-bias-correction/multiple_bias_files/kgo.nc 2ba4874e063eaddaacf9c4e5b84f9ef8f2ce18d58002daf7eaa3e1c8ead18183 ./apply-bias-correction/single_bias_file/bias_data/20220813T0300Z-PT0003H00M-wind_speed_at_10m.nc -591bad70882d35c0a4fa75ae31903d4dcf72ff384731cc2ca23f311b859155c3 ./apply-bias-correction/single_bias_file/kgo.nc -33a5f82c499c8059afb3a64193d58ffb75f40183447af0608f67ad2daf19483b ./apply-bias-correction/with_bounds/kgo.nc +9029542a53479f4086b3e0de7e87d2f29c2fb66cbfbe422ee64cbc2cf6e36a46 ./apply-bias-correction/single_bias_file/kgo.nc +a30bf337fbf34b33e4941748db6db11dccd0fe2ea5ee00c0e2e474ff621f3aff ./apply-bias-correction/with_bounds/kgo.nc e50a8cdbb61ffc505e87ca15ed6b1c4981870d9b28d688e0e7502c7b1b3a75ce ./apply-dz-rescaling/20230220T1200Z-PT0006H00M-wind_speed_at_10m.nc -f8243f70ba344d219c79a832f399d2cf31b7d06fe52da159900e8c82abba99a0 ./apply-dz-rescaling/kgo.nc +0d4389da6525485e9445b67d333180cfeb821b9e77b7a96114387c1e9a398120 ./apply-dz-rescaling/kgo.nc b339ef0d6eafeb0d334d4b3c15b24da776856796701e7aca25c5de564eb55614 ./apply-dz-rescaling/scaled_dz.nc -52b02f4c6e4adc604d4961ce87b4ada5985d07eac1d3c703cbab985de223228f ./apply-emos-coefficients/alternative_percentiles/kgo.nc +ec562809bc9f7dd94fc707bf18f775bc8dbf3fd30b55f54723c146664a8836ea ./apply-emos-coefficients/alternative_percentiles/kgo.nc ff3a00a16fa94697d6e529a6f98384e4602f70a7d6ce26669c3947c8ac2e6f7e ./apply-emos-coefficients/land_sea/landmask.nc -bee125371a9db4c80fb7f8d1b0644a2710903aad27023b5939331f7ec5f3b617 ./apply-emos-coefficients/land_sea/percentiles_kgo.nc -7f5cabc9b5de4c13aebf833d5372159edf1deafd19bba8721318b889a09b407f ./apply-emos-coefficients/land_sea/probabilities_kgo.nc -fa8efb4b54430cf6f5e4782b9ec1a0c49dd4102d228dae04bd250ec7b0b9b481 ./apply-emos-coefficients/land_sea/realizations_kgo.nc -4eaedd69b7d0bbc4b99fa598ffffdb39454962d8e9c33c3d75f58d1de9f25313 ./apply-emos-coefficients/normal/input.nc -0c5839e3f3a9d557a24757c292099af859ff7ce27c75de7ba8b98a46828b3912 ./apply-emos-coefficients/normal/kgo.nc -99cfb7112cfd01f45bc65db0e492e6eb7017064bddab9b390cc1043796c26cf7 ./apply-emos-coefficients/normal/kgo_with_comment.nc +2208d428c65a9dab26df8f18cd2d4c9cb995803f7b51df1327a0679b5ebd74e6 ./apply-emos-coefficients/land_sea/percentiles_kgo.nc +3266e699a694c6d8d61a68ba8343b95571c4c91bb6bdafce4591853d997c2612 ./apply-emos-coefficients/land_sea/probabilities_kgo.nc +4a66b42f247ca88f61b9fde2acbedfc05164343f0f6b43c155e068e0000c7ede ./apply-emos-coefficients/land_sea/realizations_kgo.nc +a809cb7eb51c5cc35403e0f9d357a6bdf11431bb05ac6ba9bc10d58abe636d41 ./apply-emos-coefficients/normal/input.nc +106db39cb196071a32bf3de9a9ac5b36604086f2ad15b2546b37c0df981f42d3 ./apply-emos-coefficients/normal/kgo.nc +5e0eee72364cb18716e363390caa4c706c5d49e6c649742d53a4594c6638eae7 ./apply-emos-coefficients/normal/kgo_with_comment.nc 7c4033340c89788ba3e55f560fbe2f47ed8bac14c7b47cdf71312e115caf7cfc ./apply-emos-coefficients/normal/normal_coefficients.nc d51fde4566a4d9695a3ba26622ef8505a879131e10f438ab19d4594a57997ad7 ./apply-emos-coefficients/percentiles/input.nc -7e673a16dd80edb42f890771184a4ad8592a53bd0d0d18d7cd316c489c9b4d7d ./apply-emos-coefficients/percentiles/kgo.nc -bd56f09033f7a37323e04be7b509e8e363eb2474c04fb8aa4fb5e3769acb81f7 ./apply-emos-coefficients/probabilities/input.nc -8eedf1e3cbee70e33fc281f2da06f89895e68c0d8a6ad3099b6c9522b6c4ee45 ./apply-emos-coefficients/probabilities/kgo.nc -fcd4a3af2365e327eac109dba028cda9b036176e71fdcd077abfe7b99ab97b12 ./apply-emos-coefficients/probabilities/kgo_unchanged_with_comment.nc +f8104f50b511035dd7c297713522f5c755df1c962735b767d21e9651935c043d ./apply-emos-coefficients/percentiles/kgo.nc +20019ea3a0be3ace9a4c56fbbcc89c6914b7dd55977157831fb81a65c905ea07 ./apply-emos-coefficients/probabilities/input.nc +46141a8bff954a055d3fc1c7669740ff16298c24fbbfff7f502b2e95856e0b12 ./apply-emos-coefficients/probabilities/kgo.nc +0d24b7d77d59d79958f26ce07eb070c386a876e01ad49ce2e6bcc8bb93ceac05 ./apply-emos-coefficients/probabilities/kgo_unchanged_with_comment.nc 12110777cf3db3c8d76daa06f78760f8e314038262f359e659d16fa5d49b98bf ./apply-emos-coefficients/realizations/realizations_coefficients.nc -7c5cd2382cad998e22ef0d4210bf65d131587514de2b5cf4ad1fe3c30fede188 ./apply-emos-coefficients/realizations/realizations_kgo.nc +e1c339a144eda757f798637647d29e0aec34fb6282813a97d8d2737e8775fe75 ./apply-emos-coefficients/realizations/realizations_kgo.nc 615ddb59a838024bb055b9cbbb44b7c18ce28d5734952777774980760e0f36fc ./apply-emos-coefficients/rebadged_percentiles/input.nc 9b48f3eabeed93a90654a5e6a2f06fcb7297cdba40f650551d99a5e310cf27dd ./apply-emos-coefficients/sites/additional_predictor/altitude.nc 84fc5fbdc782ecff9262f26232a971b327e3adbf3f0b122d8c3d4b147fec172b ./apply-emos-coefficients/sites/additional_predictor/coefficients.nc -e2551504357f9c8e98e569ff7fa3ba1d7f1c8ca02354d1045defa171b8bf00ff ./apply-emos-coefficients/sites/additional_predictor/percentile_kgo.nc -cba168f494f2fd91b6a6dc5a0844c03e9573747e91960eef33706fcdc7f30961 ./apply-emos-coefficients/sites/additional_predictor/probability_kgo.nc -ad84567485d14563d243cbef40a576488c074533978d94b4075d00950b7b8273 ./apply-emos-coefficients/sites/additional_predictor/probability_template.nc -66052676e8266c29fef7f3a1d5a1cedaa997f41ff0108b2aff33c71617d1bbed ./apply-emos-coefficients/sites/additional_predictor/probability_template_kgo.nc +1d90bac3f6c0c47802985b9fc0ae9f7ba6ad58ca81ade9b237720bc214c466fc ./apply-emos-coefficients/sites/additional_predictor/percentile_kgo.nc +aa5cb371504b89ff9d6c35d458f5ef6a67fd380fd8d1d82d397470e84d6a25d5 ./apply-emos-coefficients/sites/additional_predictor/probability_kgo.nc +d0d69815b133927325a4e29d68050ce70f1c4a7f5bdf5bdf90a9a0eb9eddbc2a ./apply-emos-coefficients/sites/additional_predictor/probability_template.nc +b505bcaab9bd585b7996d5e7ce39d856d139cc979e264002d2b97be98412b986 ./apply-emos-coefficients/sites/additional_predictor/probability_template_kgo.nc a0112b5a48ba99a1a4a345d43b0c453caaf25181504fb9a13786b5722f84cc10 ./apply-emos-coefficients/sites/offset/coefficients.nc -22d950494dc9d76d642b0ecc75414e95bfb78fa693e5701fe7cd2fc462a0c6a7 ./apply-emos-coefficients/sites/offset/kgo.nc +a70e3522ec55b7b4095884f400a9f7119f8ad162a16b0aa3f4a5618cccd8f7f9 ./apply-emos-coefficients/sites/offset/kgo.nc 2722b1d08a87cebf1f36ac914d5badb9af38859b2150da83311dc202ce9be4dd ./apply-emos-coefficients/sites/offset/offset_input.nc 3816678d85c6dd11ae60fdcc138be97119db3602eaea5ec767bb378bd5058cf5 ./apply-emos-coefficients/sites/percentile_input.nc 19d1c41f85ef9c9c57f915adb5caf154caba53f3ed02c23e0166fedaf02e1710 ./apply-emos-coefficients/sites/percentile_period/coefficients.nc -20fb177c7b16bb7a2a62f95ec8e32beaa24118a1a16f2b77b0dfe6d8837949e3 ./apply-emos-coefficients/sites/percentile_period/kgo.nc +64c8594778b4595099324a2dfa7fe6148cba9e55dc426ca82a0eae1c1b96e3ed ./apply-emos-coefficients/sites/percentile_period/kgo.nc 3f294c06421db32ea26f4b6200e10bbebd269252ea36c3077b27e5cd5719c63a ./apply-emos-coefficients/sites/percentile_period_input.nc 63291b3435066f0b0fc56bc78b9774e0e7457d5a6b20086a67ecc6eb826d618d ./apply-emos-coefficients/sites/point_by_point/coefficients.nc -833a703e14a02999a7d70e9a37ce199ab36a09b13b96f87295a0fb91739658ce ./apply-emos-coefficients/sites/point_by_point/kgo.nc +117c932a7ba4f6730409fc325d145de683b906b1c01ae49e62caaf1b2692c2b9 ./apply-emos-coefficients/sites/point_by_point/kgo.nc 0bc91af1e7003d696aa440a07d79e653bca566733cdf9bf525ca92cff821548f ./apply-emos-coefficients/sites/realization_input.nc 8085cb7a0e88266fedba841be50621fd6af3d6a669f045fcc0fae8e14f9ff9fe ./apply-emos-coefficients/subsetted_percentiles/input.nc -50593394ae576f40d9af12058497ccb1780e77fb957d26b55ee5ce4b923e624d ./apply-emos-coefficients/subsetted_percentiles/kgo.nc +b19c09c17c77138f89eab94aab9f58d2667381622e724d2f8997f968bafd9383 ./apply-emos-coefficients/subsetted_percentiles/kgo.nc 965a1f0565f9192d95eb01d0a61dc7bede6902f5e1a0481d92611e677841a139 ./apply-emos-coefficients/truncated_normal/input.nc -feb2d93cf96b05889571bcb348dfbb4d60cfc1f3d9b7343dcf7d85cf34339746 ./apply-emos-coefficients/truncated_normal/kgo.nc +a1c9089ce512f4133dadc0029286f8adad173ee48dc87185a9c61fcfc9e6be7a ./apply-emos-coefficients/truncated_normal/kgo.nc d2cab1d3d8aa588be08a3d7d65e95e859fed37daa767e8d4a2bdaae25702b9a8 ./apply-emos-coefficients/truncated_normal/truncated_normal_coefficients.nc 8330e013c590d2cadf4f39d35a40c967d46f5695097ef36dfb96fb89069af18b ./apply-height-adjustment/input_prob.nc 0caffe65e2178cbec6e818a3a0c17122c3cb706f124afa6e33e328a66f215457 ./apply-height-adjustment/input_realization.nc -2fda31975f564f8f2a79cb1a7fe4b662e04017f4b63c70d15685e359edf07e8d ./apply-height-adjustment/kgo_prob.nc -df52902fd9cfab5c2f583f13af401e0c737ec7e73e9bb7907df82f230184f34f ./apply-height-adjustment/kgo_realization.nc +75307f2c0a601ad56c119b8efb3580626bcb04b465881d4a9bd244ffcabc21e9 ./apply-height-adjustment/kgo_prob.nc +a8a456182264fde2cbbe011be061f93136919cf53925fec6318ae3e7d933fbf7 ./apply-height-adjustment/kgo_realization.nc 5495b2382fb2d33f34c726134496b0f198cc6378031b50c0e450f5ade5c17f83 ./apply-height-adjustment/neighbours.nc -abc718f2469ecbe0c4cd84e26f0adde87a65b1ae5fc17da60df27d9a3fe4871c ./apply-lapse-rate/basic/kgo.nc +2a887cb1e68892caa8b0a484015592818189ef3fadafe2233f30b3c3fe5565af ./apply-lapse-rate/basic/kgo.nc c7eb9bab2ad43ac19ecc071730479a9f27a58992fcb22050743d34cdf2ad9639 ./apply-lapse-rate/basic/ukvx_lapse_rate.nc 34efbac81d20f8cbae8f7881d984ce7fc9fb59d3f54e478611a914bf94b80dfc ./apply-lapse-rate/basic/ukvx_orography.nc 8ba644cd15747e89811cd6fe4bfdc4d79822ccd0bc4b2b17e03864bf08ff5b26 ./apply-lapse-rate/basic/ukvx_temperature.nc @@ -72,19 +72,26 @@ c7eb9bab2ad43ac19ecc071730479a9f27a58992fcb22050743d34cdf2ad9639 ./apply-lapse- 7672a8ca59ec7fe613a6ffcdaa6d28543019666d9c01fa97f905abf2105569e2 ./apply-lapse-rate/realizations/enukx_lapse_rate.nc 6eb89848a2a36007d9a2210e2ff4cb459921502329eb4bb6ef0bde74701d0c27 ./apply-lapse-rate/realizations/enukx_orography.nc 25eeaa6b86b95354efd9406b1f9f1b5b43f0a7dd46f75fc5f3d144f52a30059e ./apply-lapse-rate/realizations/enukx_temperature.nc -a747cf91ea8a2b720e1a22a9569cc1a2c22bb7ad28282e661127413470ba0392 ./apply-lapse-rate/realizations/kgo.nc -e455d391d15c30fe3cf3680fa0c355a3d4f0a9a84450f685f618655eb962ff52 ./apply-mask/kgo.nc -a3aca2f841ff96a7780cb98a5ccf874001905f18db0c6166dffcf116a3f1b319 ./apply-mask/kgo_inverted.nc +30dc30126050590de49fc7d192ff84423c91228c407a2ac693e0f8a60db4a6e2 ./apply-lapse-rate/realizations/kgo.nc +216ab74f8ffe8de6a496b51423d965eb51b9fc6528cfedab6b7dbc669fa8493e ./apply-mask/kgo.nc +a6239c8d7f59491d0ad1d69b1e53d43575025095b256c1e352034535440186db ./apply-mask/kgo_inverted.nc f33c0f3d10846ee69edd24fb318bebd4a2645363c89a434f56aeff24313fc886 ./apply-mask/mask.nc 9fba2a41268f30c530e9362bf15ef34c781d24b5e580589cec7715b1a6d25b27 ./apply-mask/wind_speed.nc 3a3d1b902e9e97f6ec7c74937e43dfce460c6599ef1890ac90f711959415f6ed ./apply-night-mask/global_basic/input.nc -65ba596b39ae589e1033b8e35fcb71f341b2fe64337fc2e4d88edff4331925e9 ./apply-night-mask/global_basic/kgo.nc +a766e5137fc00e51ccaf39c9a463eefa0e56fb7c4d3b07b7dbbb5b02f201bd22 ./apply-night-mask/global_basic/kgo.nc c5860ce0801d097e1705130d6e3f49b19c43fa399041bd7726b7a1257335f2fb ./apply-night-mask/uk_basic/input.nc -2523fd05c562a7ad5acc307e7c4dea4393c1ad0f6d2895704a5e89a7db303a45 ./apply-night-mask/uk_basic/kgo.nc +eeb021922eb3f61c4dcc4c5096140d458d8b91c3f431ee3e54cdd06c08029f12 ./apply-night-mask/uk_basic/kgo.nc 3a6b4b6e2931e4b58d970c4b034247269a96c372e5a4f97a8ba62a895071fa95 ./apply-night-mask/uk_prob/invalid_input.nc -72d294e6dd4d0b66ef71293861b4103e4be51755ca72d67da102f576f35583b5 ./apply-night-mask/uk_prob/kgo.nc +ed8ab78a9f55b54bf0a49f191d3eb33daae30e0d05b9051275a70c0e697aac71 ./apply-night-mask/uk_prob/kgo.nc 809a446327626d007ac288b8277520730863bc596e98116bca5c4afb0d531e96 ./apply-night-mask/uk_prob/valid_input.nc -5594b73eed6b1e2d714f88a6b1f4d4a9166c892752bce8b6440f0cb0b70ccc93 ./apply-rainforests-calibration/basic/kgo.nc +0f74c2d6e3caf30c4f971da2dc757b1ae659062e31194e4da8e5266a1f23d2af ./apply-quantile-regression-random-forest/added_comment_kgo.nc +d2f7d8389b33cde359dd253def2aaf31afbc27557f389bf0f744a28b24e145dd ./apply-quantile-regression-random-forest/config.json +8db1b35bde734c16340a6e42454b9ac146ea32f7c012c17c5e64815069af41bf ./apply-quantile-regression-random-forest/input_forecast.nc +0f74c2d6e3caf30c4f971da2dc757b1ae659062e31194e4da8e5266a1f23d2af ./apply-quantile-regression-random-forest/with_transformation_kgo.nc +88d5ea229b42789d92d2317099b90d90f89a57e037665091b49c5f19acfea14e ./apply-quantile-regression-random-forest/with_transformation_kgo.pickle +0f74c2d6e3caf30c4f971da2dc757b1ae659062e31194e4da8e5266a1f23d2af ./apply-quantile-regression-random-forest/without_transformation_kgo.nc +8e2dda09c26d33fd06d68c5be17a74b93b1d75d54c60ce48f27ea3d2735bece9 ./apply-quantile-regression-random-forest/without_transformation_kgo.pickle +74a40c508b68294652f5dde52d8fe4b93ea002bd4b72ca8d6cc11a83309f28f1 ./apply-rainforests-calibration/basic/kgo.nc b4678f178e0e1df0c242c61b269b71dd9a3d7aca64663e2e81e5bfeb71fe97da ./apply-rainforests-calibration/features/20200802T0000Z-PT0000H00M-clearsky_solar_radiation-PT24H.nc dce2d4a28cec494c94b154dc3a9203b46b7cef2ad54d04049663166f4b42ecf5 ./apply-rainforests-calibration/features/20200802T0000Z-PT0024H00M-cape-PT24H.nc 98dc9dcbbbbb665beb11d7e1683c9128922487fe61683c9505946b90676e3934 ./apply-rainforests-calibration/features/20200802T0000Z-PT0024H00M-precipitation_accumulation-PT24H.nc @@ -104,37 +111,65 @@ f8526b143d8669f1d72a8263bdc38075dccaa8db3a77eb505deb3e7547dd7ff9 ./apply-rainfo be045d2e1f0e974363ff644b3cacf9de10bc99bc9392bf9168388cda69604341 ./apply-rainforests-calibration/model_files/lightgbm_models/lgb_model-ecmwf-lead_time_048H-threshold_0.001000-PT24H.txt 4425db08b1fb0ac226d46eca79f3ac7dbf37b531cbe9b5a0ac93bb4240ba0244 ./apply-rainforests-calibration/model_files/lightgbm_models/lgb_model-ecmwf-lead_time_048H-threshold_0.010000-PT24H.txt 27d8dbbb9aad8cc9e0b0bd161f14c5356efec7a5fa92ae829e3751a29ab42d4d ./apply-rainforests-calibration/model_files/lightgbm_models/lgb_model-ecmwf-lead_time_048H-threshold_0.100000-PT24H.txt -6475892cf80ed112d979d7ec92d3afce746bfd1634369143a66e7351cf845eaa ./apply-rainforests-calibration/model_files/model_config.json +56b59a72463acfd056454b74d337a63ff7bc89467bf0ca6acd8bdd7da62b2421 ./apply-rainforests-calibration/model_files/model_config.json +e0a09bf82b1b2fcf46cd21d71d912e1b9d8e33512d0cc5cd2cad154798982625 ./apply-rainforests-calibration/model_files/treelite_models/treelite_model-ecmwf-lead_time_024H-threshold_0.000010-PT24H.so +e0a09bf82b1b2fcf46cd21d71d912e1b9d8e33512d0cc5cd2cad154798982625 ./apply-rainforests-calibration/model_files/treelite_models/treelite_model-ecmwf-lead_time_024H-threshold_0.000100-PT24H.so +6c0edb9f6cee7858a90dc4efc97f6c38beaa8f20b5eda5dd18865e2140acdd4f ./apply-rainforests-calibration/model_files/treelite_models/treelite_model-ecmwf-lead_time_024H-threshold_0.000200-PT24H.so +3d54f3e34a3f8932bf45c02f8b1b343033e8e8b93b94abedd1a0721259c82a15 ./apply-rainforests-calibration/model_files/treelite_models/treelite_model-ecmwf-lead_time_024H-threshold_0.001000-PT24H.so +e0a74042f62f3a21b16d47b7e50fa2afdc84ce8a237a33d5e3d93477d45496bf ./apply-rainforests-calibration/model_files/treelite_models/treelite_model-ecmwf-lead_time_024H-threshold_0.010000-PT24H.so +33d5da5b2bd3bb300b02920e8ba5758fd09a61fe84cdef30b87378a3b40ca79a ./apply-rainforests-calibration/model_files/treelite_models/treelite_model-ecmwf-lead_time_024H-threshold_0.100000-PT24H.so +fa96f9b6beccc16c11778ffb47815e54121adaa994ba7e0122d3f9c504814421 ./apply-rainforests-calibration/model_files/treelite_models/treelite_model-ecmwf-lead_time_048H-threshold_0.000010-PT24H.so +fa96f9b6beccc16c11778ffb47815e54121adaa994ba7e0122d3f9c504814421 ./apply-rainforests-calibration/model_files/treelite_models/treelite_model-ecmwf-lead_time_048H-threshold_0.000100-PT24H.so +065fc17daaf597a3893a964a2118a8fffa886205ceeaf65c637b0fcf4441b90e ./apply-rainforests-calibration/model_files/treelite_models/treelite_model-ecmwf-lead_time_048H-threshold_0.000200-PT24H.so +4bd2419c8d0ff183fe7cb25dc3af3b97f9b50837295337e9a65271750389cc0c ./apply-rainforests-calibration/model_files/treelite_models/treelite_model-ecmwf-lead_time_048H-threshold_0.001000-PT24H.so +043a6ff0880aa6cc822c3c89ae5c7a056f4d43d1cfc9b805e8069787dd7703c9 ./apply-rainforests-calibration/model_files/treelite_models/treelite_model-ecmwf-lead_time_048H-threshold_0.010000-PT24H.so +0d3911e620d50c0815a23e128665d00f73f189dec6b061b6392bb0daff8e6b00 ./apply-rainforests-calibration/model_files/treelite_models/treelite_model-ecmwf-lead_time_048H-threshold_0.100000-PT24H.so 256b488225980f5923a495952ebd6975deb402191d469689105ce79d70c9b288 ./apply-rainforests-calibration/threshold_config/thresholds.json d45b0d66f47dc40f67df5a6ffc5a338aa33959cd1928a3078d2f303c21fd0539 ./apply-reliability-calibration/basic/collapsed_table.nc 95b0f56f3ba5d437971f1305325e3d2ccbcd407a3edb3954a42782a83fa0ed14 ./apply-reliability-calibration/basic/cubelist_table.nc -e572776f7ecd859a1cf41c55fe48f048d754efc9269f0473982244a2b1b2d5d5 ./apply-reliability-calibration/basic/forecast.nc -31577108781bc5cf0d8a7c909b092a8e23795e7b0c0b27b6b10f85ea56ab3c34 ./apply-reliability-calibration/basic/kgo.nc +7651981a4fa65fe5a09ef789ebae3e0c8395b541a81cf613689a3d83c3d6249b ./apply-reliability-calibration/basic/forecast.nc +a82a48e690514f82b77cf54d70df10166c56ce1ab977ee5217348ac74d3293c9 ./apply-reliability-calibration/basic/kgo.nc cf666c51a6355d050406e5c7d15daca1e13d415be05a0cc92429d458474546fc ./apply-reliability-calibration/point_by_point/cubelist_table_point_by_point.nc 06681263dcb0538d844205937637e186352edd2a362b5f4ea5336bc67852acc2 ./apply-reliability-calibration/point_by_point/forecast_point_by_point.nc -6ed39309931d07084b1294843776510b281c683355cb1ebe8cbd4af20f4d390f ./apply-reliability-calibration/point_by_point/kgo_point_by_point.nc +30c0807e00af53babe747d04ec84ab5a71c977948c89aeb16d13b79740eb409b ./apply-reliability-calibration/point_by_point/kgo_point_by_point.nc +ff3a00a16fa94697d6e529a6f98384e4602f70a7d6ce26669c3947c8ac2e6f7e ./apply-samos-coefficients/additional_features/landmask.nc +8964d00ec69f384501269e0093bb7c4684d1fd7cf292a8286ee4ea68fe3b73e4 ./apply-samos-coefficients/additional_features/roughness_length.nc +a809cb7eb51c5cc35403e0f9d357a6bdf11431bb05ac6ba9bc10d58abe636d41 ./apply-samos-coefficients/forecast.nc +7c0268d6117de9002033a72a0388c963094c0f87b2448c2455802e41750960e0 ./apply-samos-coefficients/gam_configs/samos_gam.pkl +a979ae8ee62d3e7867ac6ed31a423c03bd65fc52f818d7e24ad212f789352c61 ./apply-samos-coefficients/gam_configs/samos_gam_additional_features.pkl +33ae30a74bc600b0f4ff10feff1ae3443323f1c17e57ec6c2f0aec4cb0e72ae5 ./apply-samos-coefficients/gam_configs/samos_gam_sites.pkl +6802f0378f76fba1c8bf44f7e90d20052048de851873862a80f09883ad5aaaff ./apply-samos-coefficients/kgo_coord.nc +8b1f4642c692a0811dc4d6a6d95ed552a8024bee017b9cc3e2e870410d38ddd3 ./apply-samos-coefficients/kgo_cubes_additional_cubes.nc +b0abca332d83f8df653711c6e431cd8f954dac987bb7d6acdabf3e05193b3f20 ./apply-samos-coefficients/kgo_cubes_emos_and_gam_features.nc +b5cd51b07b1daa7338dee0ad0d3eff626df4c1d692fbb4c35c75dc14f6ab753e ./apply-samos-coefficients/kgo_sites.nc +a3cbc9e1124dae85f911ecb338408a992bb3af0e6459a912d2296f8fc1d219c1 ./apply-samos-coefficients/kgo_with_comment.nc +1af4c8f931ec0b2fd53d9e7225abac7cec9039e651c3956c8289e1d5490d6645 ./apply-samos-coefficients/samos_coefficients/coefficients_coordinates.nc +e8e9661759ebf7cf8e78d259a33a57ba8a5f055a013bda68daf2f265d28de367 ./apply-samos-coefficients/samos_coefficients/coefficients_emos_and_gam_features.nc +17923bf4ed5251a4d4e600084365bbe75f2f0c91c4aadf1893b7392460161fee ./apply-samos-coefficients/samos_coefficients/coefficients_extra_features.nc +1a93dfcda78232e4302601c67b0e1c24c5f7e8fd0a7b55d8be6c52360ca7010d ./apply-samos-coefficients/samos_coefficients/coefficients_sites.nc +45aad45ea94eb663e9344c7fd93e08df3491418bf1d7f3f5be32ef5569bb81e6 ./apply-samos-coefficients/site_forecast.nc cf66fdbefec74d058e131a31dd1f51e4d10595265d21680272eb9590c3cc2fc2 ./between-thresholds/input.nc -925d52d79973f48726d9f19fc14b234367eb2a9bdb9407181672e6ef2d23d6c7 ./between-thresholds/kgo.nc +d40ce0bdf404f36afdeb7b23860da08cb93fa91766ba25b12c1b4ec99a41ca7d ./between-thresholds/kgo.nc a938495a85d1b9488e57e54c26d9120eb6bca016d9cc353967cfa347812e4fdc ./between-thresholds/threshold_ranges_km.json 52d3fe0f67b60521ce92fa6bcc0fab556a30bfbbaea4033eeac8dfb19d28b5fd ./between-thresholds/threshold_ranges_m.json -2181c396face72913ec095629a749dd593bf265ffbed21ccea93e81e0c59294c ./blend-adjacent-points/basic_mean/kgo.nc +053d992b1caeb37ff566ddd869deb402b4f815fd95b2a58545c3b6487f810e23 ./blend-adjacent-points/basic_mean/kgo.nc 8a6317bf71925c21ed6627fc6ac633d02a018d11390c6dc8022c84c673e36d06 ./blend-adjacent-points/basic_mean/multiple_probabilities_rain_1H.nc 3f6c6b63bf495f42c47bd8605109ef23a7ff640eab701ce3784c992c56bb6658 ./blend-adjacent-points/basic_mean/multiple_probabilities_rain_2H.nc 66db09e667412180a8739e43957bbf2a21b0e230b779b52adac3a8af7a7ad8aa ./blend-adjacent-points/basic_mean/multiple_probabilities_rain_3H.nc 346d96c6b3e948a22035518bda7ec6e84858296707b8c3b9b9da417e5ba53967 ./blend-adjacent-points/time_bounds/20180914T0600Z-PT0003H00M-wind_gust_at_10m_max-PT01H.nc 71f24d991d399aa8346cc4d55d91d66acf59a0cc0243efff8cbadd304b9e9a42 ./blend-adjacent-points/time_bounds/20180914T0700Z-PT0004H00M-wind_gust_at_10m_max-PT01H.nc 98497ad881befef37e10ec52da8dd5f477bb61b5e274746f88787d77f7ff30a7 ./blend-adjacent-points/time_bounds/20180914T0800Z-PT0005H00M-wind_gust_at_10m_max-PT01H.nc -f274cbc5a3b076a477a152d74a6ddac09a133f87619915a8d1a40c08f5d9d85b ./blend-adjacent-points/time_bounds/kgo.nc +471512a1dbae2033d68bc98657781be32b2a820695ccf762652fa64b4532e9c2 ./blend-adjacent-points/time_bounds/kgo.nc 3d84f229a2b9203ac5b685036d0a42b170075dfea1789fcb8e823cb82acdefdc ./blend-cycles-and-realizations/basic/0900Z_precip_rate.nc cebf5785b5d98d11ab091f6e870b69a71ee95db4390fb7d509072006abb25543 ./blend-cycles-and-realizations/basic/1000Z_precip_rate.nc -b082744bc817a37dfef5a165e52c71d3db5037342785db94393903323adc7346 ./blend-cycles-and-realizations/basic/kgo.nc +db27fa0b7845d79d1a8fc9624d067edc6b4051924c121ca243c6d05d337c9323 ./blend-cycles-and-realizations/basic/kgo.nc c163c7abc3cfca24c9509b9f461da8e6defc2af6a33f26b52dc52d066389c265 ./blend-with-vicinity-and-rename/attributes.json 67dbf1a0e1725cd4fe77dc2c2c422fb379edd59262cc6aaa2e0f40b207db8cf9 ./blend-with-vicinity-and-rename/blending_weights.json a7aec5f0b80d6f7ac6f71fea1c9bf15b76b92572509b5e550e7151bfd005777b ./blend-with-vicinity-and-rename/enukx.nc 6c498befd962f286dedc8041ea8981007474f32995ee5dba0b6fbf6629ae47ad ./blend-with-vicinity-and-rename/ncuk.nc 00afa510d2b1f088f14cf75dd8aad80c2c9be3a53fb39d180e0621ea0ac4d235 ./blend-with-vicinity-and-rename/ukvx.nc -8f0576ad7074d1fba5ddc83fad01b087007e20392c9e83900362d1a357f21622 ./blend-with-vicinity-and-rename/with_nowcast/kgo.nc -4b29aed468b770d45ba47af4602eed6b5c09a9df11d84876ce3820d312ee7968 ./blend-with-vicinity-and-rename/without_nowcast/kgo.nc +3be9bec5104362e8b860219349be1397d5ad3401e19a868ce2b4f9a375a3af58 ./blend-with-vicinity-and-rename/with_nowcast/kgo.nc +bf912b477a4b89f2152ba616acfbe7420bc6e25e36129199c817043c32cbafda ./blend-with-vicinity-and-rename/without_nowcast/kgo.nc 0fc03589a5a17536a16805a76208a12eabceb6a9fb0042842dbd42aa05c26acb ./calculate-forecast-bias/inputs/20220811T0300Z-PT0000H00M-wind_speed_at_10m.nc a86344226370885ca6062200ddda5db1fab629d398c5af0678254c1d9960d272 ./calculate-forecast-bias/inputs/20220811T0300Z-PT0003H00M-wind_speed_at_10m.nc ac609404e0083db721ded42d983f3a616f8ce7ca220ef3bbfc2af9ccfd83c02f ./calculate-forecast-bias/inputs/20220812T0300Z-PT0000H00M-wind_speed_at_10m.nc @@ -147,10 +182,10 @@ c353a8fa343361719de535102a231cee74b90fda412591127ae511400d20b18d ./calculate-fo 776eb8ef27fbd40742c2217ab89df5a423635ffeff2e6ee485bf78c90964125a ./calculate-forecast-bias/inputs/masked/20220812T0300Z-PT0003H00M-wind_speed_at_10m.nc 4e2308fb14ce761ac8a151dab427708d9f18842dbbb8bf323b5e20bd80633ba6 ./calculate-forecast-bias/inputs/masked/20220813T0300Z-PT0000H00M-wind_speed_at_10m.nc c918097aa9985d02cb2cc6d89f85cfa026c7e1832d6b13f8777df0914b07a6b4 ./calculate-forecast-bias/inputs/masked/20220813T0300Z-PT0003H00M-wind_speed_at_10m.nc -3220caf063928ee4ff7905c0d30cdb48a856a5e513e8d7f5cfd6cd162dbf170d ./calculate-forecast-bias/multiple_frt/kgo.nc -41b16c2a8feed29f28c92480a64238242bba5945312ac27715017b2f887ca2f5 ./calculate-forecast-bias/multiple_frt_masked_inputs/kgo.nc -ec49997369aab4bb84049efcbf7720d15ca7a371d366bfcb707a2ca5a0473cfd ./calculate-forecast-bias/single_frt/kgo.nc -fcf348a7b41d561a16ca5d1713292b196679da7041977b9e871420c995a9cf89 ./calculate-forecast-bias/single_frt_masked_inputs/kgo.nc +a5ef18ffcffd445331b8b6ffec6b863679cf846b41228ff902af9b98b7940c4b ./calculate-forecast-bias/multiple_frt/kgo.nc +d0566bf8d5862423d5e789e7a1d381040354d73869de242b35ab553375b7fbd4 ./calculate-forecast-bias/multiple_frt_masked_inputs/kgo.nc +04a39abbf7ea73ba45c820051ed459bfc06eff5feba4f407d14d8ad6cefb5eeb ./calculate-forecast-bias/single_frt/kgo.nc +6355011ef6f06558d071722eb54e66dcb3455091b8f691689c16bc547e7ddb0c ./calculate-forecast-bias/single_frt_masked_inputs/kgo.nc f4e13dec400ec945ba5bd03a286780b183665c22d707c038c0990ef3491e888e ./categorical-modes/blend_mismatch_inputs/20201209T0700Z-weather_symbols-PT01H.nc ee9557cf229b1099e64b36760a1b2dd82aec663490d75b6be2894bfb7a9103ea ./categorical-modes/blend_mismatch_inputs/20201209T0800Z-weather_symbols-PT01H.nc 601d331f490953f3ac36ac334b705848b8d4bc9024bfe001f4cd2d8d8b6645a2 ./categorical-modes/blend_mismatch_inputs/20201209T0900Z-weather_symbols-PT01H.nc @@ -163,7 +198,7 @@ c44a00d49912f13fb17256fa0e01d9425977b5c94f2d41c602c657d39deb74cc ./categorical- 90a6495f65e053e943dd4dcc9731da274f11bc19a3817a70c057218ed8eaa4de ./categorical-modes/blend_mismatch_inputs/20201209T1600Z-weather_symbols-PT01H.nc a981f6238828b63d7a9f7c597dd234dcc86dd35e2e3c4ba6c3b6feb491ec872e ./categorical-modes/blend_mismatch_inputs/20201209T1700Z-weather_symbols-PT01H.nc de4a49bca4cd930328942cf6bb9a1bc1bdd2589120a57a2335ee4ef2449dbd5d ./categorical-modes/blend_mismatch_inputs/20201209T1800Z-weather_symbols-PT01H.nc -7b65bd0cf7c69a0515571829714ade5264d57b7788c7421772bec957125ba639 ./categorical-modes/blend_mismatch_inputs/kgo.nc +d57eddeaee6d1872ca9057ff38cc9162a744c24d30f852b0720aeecc1f726a4a ./categorical-modes/blend_mismatch_inputs/kgo.nc deb7f4effb821b2808b647e02ac955c91adae4baa33765b16378cff40e3ec5e8 ./categorical-modes/gridded_input/20201209T0700Z-weather_symbols-PT01H.nc a61a70b0ce9e70577ba177462b9f1bfbda2457cc3975f0e9a562e1311e86e671 ./categorical-modes/gridded_input/20201209T0800Z-weather_symbols-PT01H.nc 64fc223da6c516a1eef11a61119547fb33e899ce86eb570a2917be27a119b517 ./categorical-modes/gridded_input/20201209T0900Z-weather_symbols-PT01H.nc @@ -176,7 +211,7 @@ bcd90ab1d28fd736d4a3d9e481374348438d7716b543f9c7d435b003ba10c344 ./categorical- 973c60900aa526818e7119ed016997170055017ee1bbda279b9e640750f96f61 ./categorical-modes/gridded_input/20201209T1600Z-weather_symbols-PT01H.nc 571bff58be29197e5f946745ed565889ec81499521c38d8f7286488079afb46d ./categorical-modes/gridded_input/20201209T1700Z-weather_symbols-PT01H.nc 2af4455b0ba7c4124e49eb1ff004e770b6239a9e2e1513f60ba4db3f0beb02cf ./categorical-modes/gridded_input/20201209T1800Z-weather_symbols-PT01H.nc -3d9ebd58773193d27a0889853f0257cf852bf603abee657d0e2fcec4bfcca213 ./categorical-modes/gridded_input/kgo.nc +a140b70eb9e86865af7f716bf052cc388c256f787be6521d4447981af15ef754 ./categorical-modes/gridded_input/kgo.nc 96a8462af571f06dbd8b91a7a90aaef403eefd2b73929a5c6d8a3fbb01159aca ./categorical-modes/gridded_ties/20201209T0700Z-weather_symbols-PT01H.nc 9f64c7a8aa7cf0e87799f96ebffe1e449e1f5174fb583d44f2479e085672dc84 ./categorical-modes/gridded_ties/20201209T0800Z-weather_symbols-PT01H.nc c698b9599219fe89374a2565e55a374d9236904c9dd99a2ae61b5416506e98d3 ./categorical-modes/gridded_ties/20201209T0900Z-weather_symbols-PT01H.nc @@ -189,9 +224,9 @@ c76e1e0e04b1d6cc01a33401f1eed25c283e4f11d7134ff079a8379f0ac3a8cd ./categorical- c39ea98f6fe64788c4ea7ea242111a5c8bbeacfaf52b2ead0cf0aed0007d46ab ./categorical-modes/gridded_ties/20201209T1600Z-weather_symbols-PT01H.nc 6a5b04644ab11d077809f615bac2829656127a0eeee3843940f8d33673bd70c8 ./categorical-modes/gridded_ties/20201209T1700Z-weather_symbols-PT01H.nc 39d0fa291798366a00ecae79a65de0b0692d5b4db17ac98a97d48e54b75e5dd4 ./categorical-modes/gridded_ties/20201209T1800Z-weather_symbols-PT01H.nc -fc922ede9e118dea3e7e3ba354664151f09407b32450688ed5c9870de5307c14 ./categorical-modes/gridded_ties/kgo.nc +bbe3e967f4f48d9563694ea4113f22b791550b502d07750af5fd1b2495ce1260 ./categorical-modes/gridded_ties/kgo.nc 89ba47a99c53d23b5490254366211a7cc0a5c8633c9faee97c091ee48a366b87 ./categorical-modes/single_input/20201210T0000Z-weather_symbols-PT01H.nc -d64efaa75b03aa4ba1fb16caa31891492e9fc5f967a584de42a4a59dc2f54237 ./categorical-modes/single_input/kgo.nc +50d4729611065b38d5db5d81887ec8d567a19461909d9e8002df674fe69957df ./categorical-modes/single_input/kgo.nc f4e13dec400ec945ba5bd03a286780b183665c22d707c038c0990ef3491e888e ./categorical-modes/spot_input/20201209T0700Z-weather_symbols-PT01H.nc ee9557cf229b1099e64b36760a1b2dd82aec663490d75b6be2894bfb7a9103ea ./categorical-modes/spot_input/20201209T0800Z-weather_symbols-PT01H.nc 601d331f490953f3ac36ac334b705848b8d4bc9024bfe001f4cd2d8d8b6645a2 ./categorical-modes/spot_input/20201209T0900Z-weather_symbols-PT01H.nc @@ -204,7 +239,7 @@ c44a00d49912f13fb17256fa0e01d9425977b5c94f2d41c602c657d39deb74cc ./categorical- 90a6495f65e053e943dd4dcc9731da274f11bc19a3817a70c057218ed8eaa4de ./categorical-modes/spot_input/20201209T1600Z-weather_symbols-PT01H.nc a981f6238828b63d7a9f7c597dd234dcc86dd35e2e3c4ba6c3b6feb491ec872e ./categorical-modes/spot_input/20201209T1700Z-weather_symbols-PT01H.nc de4a49bca4cd930328942cf6bb9a1bc1bdd2589120a57a2335ee4ef2449dbd5d ./categorical-modes/spot_input/20201209T1800Z-weather_symbols-PT01H.nc -da94cd2173430ed0566803f9c45811ca1b2b67397d8e2be8debd662d2e078ed9 ./categorical-modes/spot_input/kgo.nc +456c76d28664d2981053db5e10bb61b0bab50457cf1e841063d721545b7baf0d ./categorical-modes/spot_input/kgo.nc 36f26203008ac401e361f549e39c5c1a0334d31eef2e064528d2c11ba029d1d2 ./categorical-modes/spot_ties/20201209T0700Z-weather_symbols-PT01H.nc 8543d8168e23975f537767a55a8f6fbd7d15f187556748ab62e4edc3f70a84d3 ./categorical-modes/spot_ties/20201209T0800Z-weather_symbols-PT01H.nc cb1a6c410f37132f0faa541a68411e00c38bf77c719f98adcff664f6699d4bf5 ./categorical-modes/spot_ties/20201209T0900Z-weather_symbols-PT01H.nc @@ -217,12 +252,12 @@ ea67ae7a7f5363ae3692b29c93fb9989449d96e49dc613a1297d98ddb12c578a ./categorical- 947d1cc7278abeb7f1335c9504c0b1daac61d8ee36fd6be03eccbc17c10b0e4b ./categorical-modes/spot_ties/20201209T1600Z-weather_symbols-PT01H.nc 51f636314a6d1fa894ab98cf750493503b191a779c67d6a15081aab2a3612a31 ./categorical-modes/spot_ties/20201209T1700Z-weather_symbols-PT01H.nc 134fb1750cf47e868ee67801b1ea5b1f17120e6f58a787a69e54638d7d88ff82 ./categorical-modes/spot_ties/20201209T1800Z-weather_symbols-PT01H.nc -8c27cd09164c1fc18d6e7474746867f7a4680a1388b7057437f995663c4de26d ./categorical-modes/spot_ties/kgo.nc +fbbc7e6764ee64dc6d0b6123f210859c80a89c29cd577722f5090b02f127691b ./categorical-modes/spot_ties/kgo.nc 2ec32b8654824a633fcc9d7405d4d3a8b487514bddb9e8ec6aae66c9a96c2565 ./categorical-modes/wx_decision_tree.json d8c2fadd946060703615db0e6cd1c7a0a0186c2d19c685b77a0f6b043d5b5e8a ./categorical/bad_wx_decision_tree.json -c2fdb1144abdf6188bb2d9de0104c6dfbcb3a8ba07cbe4e7ac2b9c3782f55484 ./categorical/basic/kgo.nc -9c543a6e2068ad51c6664903bf06b5ecbf018ad914f972762ef0577469fec1b3 ./categorical/basic/kgo_no_lightning.nc -fabc3622379b8d2b1b1595b6e6be658dbfb30214ca9516e61272973b211ca75f ./categorical/basic/kgo_titled.nc +86d6f5f64031ffa6ef8ca3b08dbdf97f0a1b6c3e06e824e68b9e7c8d591d3b4d ./categorical/basic/kgo.nc +91643b10aff6e28453a0912ceefd6bf412406673a6c15e43c30235699c286c23 ./categorical/basic/kgo_no_lightning.nc +86b93e084f3347211103781e6bdc3131a8103971d78ed5baeb05a78c5dd42761 ./categorical/basic/kgo_titled.nc 81740bda1027473ee40526f5d8fdc121fc3813f3f5ba68364eefecddcf4ebcfb ./categorical/basic/probability_of_low_and_medium_type_cloud_area_fraction_above_threshold.nc ce4f90cfa139e0787c79ec53e5347883f70f4b7a24aeebb0e4fd135de218592f ./categorical/basic/probability_of_low_type_cloud_area_fraction_above_threshold.nc 431bcc6924b0cdf64752e20b4ddc94df5116b2f33baf1acb6ce642642524bc31 ./categorical/basic/probability_of_lwe_graupel_and_hail_fall_rate_in_vicinity_above_threshold.nc @@ -236,10 +271,10 @@ a89f2d2781b784612ae1b133cc4044c1b5d4500cbe294639f0549850d8500ab0 ./categorical/ 6123181189534b78bc295aba5ea58f4e0b25f70a75161619b7281d12ceb21810 ./categorical/basic/probability_of_thickness_of_rainfall_amount_above_threshold.nc a5490e5cee9b820eb548ed4c6891f912639dc8c07729c2cd95127e81b598229e ./categorical/basic/probability_of_visibility_in_air_below_threshold.nc 0320861198f3525b27f53d7173e58584937c0d42b14c560d3b49830160bf0a59 ./categorical/deterministic/hail_cubelist.nc -a2f1866a43569ea1730349954632a9b762dc2b24745dfc9b56c3b353ad8e9651 ./categorical/deterministic/kgo.nc +27c5a10c9be756498c927c436cf45ed83c549d678889dc1ae25766ba82696d86 ./categorical/deterministic/kgo.nc f99903ad9257c4b0b061f3e36446239901c9a1e9be3c8851b34bb601105c4ec6 ./categorical/deterministic/precipitation_rate.nc bbf85170de84639c17c2e244654f9c7120389adf59d56d69d2cb14a7ca2e64eb ./categorical/deterministic_decision_tree.json -067cb69252dfce1f5c67159c2fc689f67abbb19b1c9754ad0300da3262d4dc14 ./categorical/global/kgo.nc +419a33192b703cbe173a14c2f402944fb0ee4e6c5f7a5f1070b85ecbc9f070c9 ./categorical/global/kgo.nc a22b13d42763893c4a3ea63cc2f64c73a6e11aee14f92c943a3eaa5cb96e4094 ./categorical/global/probability_of_low_and_medium_type_cloud_area_fraction_above_threshold.nc 18f51a09ab0f8ecf86087f5eaed35dc44cb80794c0a8a0bfa8ee34b740e1d3ec ./categorical/global/probability_of_low_type_cloud_area_fraction_above_threshold.nc 156ce25e506bc01edd14a22c678da986fca71aab9f633d0bb96a3a75640ccfb0 ./categorical/global/probability_of_lwe_thickness_of_precipitation_amount_above_threshold.nc @@ -264,31 +299,31 @@ a89f2d2781b784612ae1b133cc4044c1b5d4500cbe294639f0549850d8500ab0 ./categorical/ be903f357d5d2405e36cfbdd57957705b60b64a157c2341f3aeb9001463d000c ./categorical/native_units/probability_of_visibility_in_air_below_threshold.nc 2ec32b8654824a633fcc9d7405d4d3a8b487514bddb9e8ec6aae66c9a96c2565 ./categorical/wx_decision_tree.json 90f170375e1f7673bf271ee00d35f5a6ffaf81338f708092cfb4c49d79a45a7d ./clip/gridded_data/input.nc -71dd5f9e58e286e627ccf6c90df0a29487dad6641def4fbb89edc4e33ead0b49 ./clip/gridded_data/kgo_0_4000.nc -e1a002ee954978e9ab5830320f700a05f3f067c39bba9853587d79cd047564b8 ./clip/gridded_data/kgo_1000_None.nc -17034578353d6b7c59963c5bb2904141fc9eadf8642f18546ef8cb9efb429f86 ./clip/gridded_data/kgo_None_6000.nc +8c809fc04d60a77566d2ccd07dfb39226871e5266e3c3d45a1d0cdd3051bceb1 ./clip/gridded_data/kgo_0_4000.nc +a40d3bbc417b8230e996bd7351ab9b986847316ef366326f6857824173c40fc2 ./clip/gridded_data/kgo_1000_None.nc +78e84c0ea6d5e6a2fc6bf3ca0dded83722bcf22f475182ae6d83cd347bb8b9ee ./clip/gridded_data/kgo_None_6000.nc 235f266aef201f71ee3526885c3c90e5f782c90025a1f8c5a5d1f006683b1a7d ./clip/spot_data/input.nc -04370f3a0302194ab328eee7436382a24d53b112d0749988b422d943a57f3b33 ./clip/spot_data/kgo_0_4000.nc -268b04ef0bd6a5c0d9c1237b87f044e28e7e2c35835ba573c5498644de8b45be ./clip/spot_data/kgo_1000_None.nc -2d97cf98701e7bcf560289b1c14e4ddffd4599645ca5219022ed63b96a69f46e ./clip/spot_data/kgo_None_6000.nc +688d5b953957a32679569ef4564879550163f101f9f0e58c2062a6d32ad4ed89 ./clip/spot_data/kgo_0_4000.nc +a107b3004801d8abae8132d72427abf8f403f54d38cc39ecbbc5a89937bcc815 ./clip/spot_data/kgo_1000_None.nc +a77fbeba45109945cf063692aee1052afb38979ebf3455fc57bc287bbda55f87 ./clip/spot_data/kgo_None_6000.nc 9ae995a600331cf97ca5c64be4dd9a34adc9be7c5b5f987d3735af0d7973d7c3 ./cloud-condensation-level/pressure_at_surface.nc 5d964d04169737f4116505c6b4ad5e2a894592c789303460f9d292fa204b3775 ./cloud-condensation-level/relative_humidity.nc 0425846305d3e15ef78f303855254f902c6a06d33caa38ac1d12540da88e4a7d ./cloud-condensation-level/temperature.nc -d0053b55f2abaeeefa3d5d58df597bbaf5b07a2bfbb614c1ff404fb695700d2c ./cloud-condensation-level/with_id_attr/kgo.nc -957efd30f9de7d789727c7763fc07b01a68a8e19a82e74d30842af3f160adbd8 ./cloud-condensation-level/without_id_attr/kgo.nc +9e35dfe9791ceb4b2278255f808ec595d73d3e1ec50647c9dc547da0c1ef09b3 ./cloud-condensation-level/with_id_attr/kgo.nc +0751604f7ac9cb88bd9147f8f464637290bff4797b902c66f10c8dd37c6c0b45 ./cloud-condensation-level/without_id_attr/kgo.nc 6d00c62a3716bd7df53113a370205224b833e9a9ba01178be344031f799a6a3d ./cloud-top-temperature/cloud_condensation_level.nc 5788b1228fbd7cce6c92a2ff6448c4f14d78d868bb45743a816f728b70c6b47d ./cloud-top-temperature/temperature_on_pressure_levels.nc -d350e329f47d18c819f75a91a0168dff0c8cce404df2e3992e41c4b78925699b ./cloud-top-temperature/with_id_attr/kgo.nc -2c4064d3d42eedcffda85872b00fabb42b23f71ecb007e5be0b046ef93b0e9fc ./cloud-top-temperature/without_id_attr/kgo.nc +2ccb84718d2d367baa9b0e2dcaf70a285575de23a80d007e53af0861b93b787c ./cloud-top-temperature/with_id_attr/kgo.nc +eb211384316dcf5148f2dde8fc54008b2a25c72a9872c88a2a41b6426f6ad1a5 ./cloud-top-temperature/without_id_attr/kgo.nc 966663c18804e6332f74682686d207ddd80e5c30dbf7f3ace785e1df44c9c673 ./collapse-realizations/input.nc e4250f25f7e770d00d863e6d5d3e8921c79e3609b68566637bda0f5ba0148b12 ./collapse-realizations/input_no_realization.nc -c21806e891dafce6fd42ea1bd420a3d6197b676f6f7a1c2bcec1c805fcba8d59 ./collapse-realizations/kgo_mean.nc -2ca7400809cb8f306acc8803bb4142ed5bb754931f120229d67b01bf00c130a7 ./collapse-realizations/kgo_no_rename.nc +8a39fcf34cafea08878e9a4632b50e7299859f942c0b70010054c11bdfcfb8f3 ./collapse-realizations/kgo_mean.nc +1290fdc6c26dcce55b293ffc1fe69cf3c9960063f415aabc5074c31d3cbb5888 ./collapse-realizations/kgo_no_rename.nc 1ea1bcc88472251ac904f609e2cd195d25e61941bc3ac8d535952a872bd84b6c ./combine/accum/20180101T0100Z-PT0001H-rainfall_accumulation.nc acd51f2a3ec308acfdc5591e86b904eb1a74835f41197d2f83513dc436c00d60 ./combine/accum/20180101T0200Z-PT0002H-rainfall_accumulation.nc 2e53d150fe22608970e967e56fb07c558948e0c2bf279f4e0f677b2d07a54cf0 ./combine/accum/20180101T0300Z-PT0003H-rainfall_accumulation.nc -a44b61cccfb459cbf794844a673a6fd0e005bbdbf54e5c578cac853dd797e6e9 ./combine/accum/kgo_accum.nc -edce3800ba06512fdcaabb5b7227d3f803c8ad713ede8800169d1da6507c9feb ./combine/basic/kgo_cloud.nc +bc3362126060db7432ae1a55feceedd567ca6ca52261124907a0d810f8738a22 ./combine/accum/kgo_accum.nc +fba794848cd906ea515d87b431a7092a3e13f2c1a2927c5a6ae25aba78101f87 ./combine/basic/kgo_cloud.nc 79a0711cc0c73097c3b377288d66b2de1bc2a201990b5a2e8f67c06cc6761f5e ./combine/basic/low_cloud.nc ba18264d554f986d6a63a41214f25a2791681b960ed247101f878651bef73b24 ./combine/basic/medium_cloud.nc 07507df35737ff608a1458b24cf7d0ed29185c98b788be6a1f967c0b68060c88 ./combine/bounds/20180101T0100Z-PT0001H-temperature_at_screen_level.nc @@ -300,57 +335,57 @@ ec445b755225dea5413cc5ad86e6e282105a8762b9bf86b543a92cd6ac1d33c7 ./combine/boun 0809b67ad050a0f939b8bf1e079167a0cfa838d6845c7d385e5b192e501ba18b ./combine/bounds/20180101T0300Z-PT0003H-temperature_at_screen_level.nc d57bb24e217f9d2716faeaa18b95380cf33d352d339fc77f1a81960b06232a74 ./combine/bounds/20180101T0300Z-PT0003H-temperature_at_screen_level_max.nc d867a366d39e424fa98e370c31d62e578a04e809cb6fa90fa18434e3578898d3 ./combine/bounds/20180101T0300Z-PT0003H-temperature_at_screen_level_min.nc -91dc0bec5615f00717291ac989132ec29ff2471e98428c3359d35ad5fcb927b2 ./combine/bounds/kgo_max.nc -bbeeda3471d545dc706920eb07068d008d98c406be9c897a9b76f7cb00651f9b ./combine/bounds/kgo_mean.nc -bcb26d796913cdb6a31f65cc60e684dc6e0bdf173508ff06a6aacd1ba230eea7 ./combine/bounds/kgo_min.nc +76f07833bf425a3ae58ad2f71257f031e0d9010191f897def013be15b8f92d8c ./combine/bounds/kgo_max.nc +d26a559e0b57c22a07f1181c8be3ecbc0de41627d9ad11d7bd2f1f666c1a4985 ./combine/bounds/kgo_mean.nc +7ad88bb79066ce73b5eba9d13ec1ae0b5d56fca12b85e0dc079a7bd70fb631f4 ./combine/bounds/kgo_min.nc e88c3624b3b290db8c8203ca8802f2d8f341da0879bebaec5bb4570aa54bc27c ./combine/broadcast/input_larger_cube.nc b5ca2030a23ba6440c712a659f6f4f3dcbe8566afeef1a68e2e5a6a9b6e7484e ./combine/broadcast/input_smaller_cube.nc -02a9f7a2fe3e80d9e7d43e87e7c8031f6e82be2137a02cd9cfe8c93f79906a39 ./combine/broadcast/kgo.nc +30b4b71e6054c10efea216c86ef22b552fc4e1ac4e155384352f2cb340fead0d ./combine/broadcast/kgo.nc 294ab13ff2b1aafd21a908982b92c1701b6928d8efbe5db7aac0964bb5f624d4 ./combine/expand_bound/input.nc -f9772c69754ceb44bbb2bc3ab3cd4426f91ec072788cb18896f5ad8c72002dbb ./combine/expand_bound/kgo_False.nc -f508315020abbfafca9299c496c348cc4c6c79f773c12abe03c4b5808bc1586e ./combine/expand_bound/kgo_True.nc +6e133313551850747b32096a1f45e7323346c1e42ebf2cf74ff5df1afa455255 ./combine/expand_bound/kgo_False.nc +f81f0d120128bed7bdde11e3f9bc47bc2d4a078105dd0724784f65b49ce9d814 ./combine/expand_bound/kgo_True.nc 1d4b9f29a925a3e187ee2fc5f778f728b1367d29361489ceef496d99de14f6bc ./combine/expand_bound/orography.nc -a691b539c995dec7fc36ec059e5501e34a3ec738d630ac8df5200f685593baa6 ./combine/mean_cellmethods/kgo.nc +a2e1fb4d238aa8766700bfb5df234d77b464889ee8b4d13d18454cb82a189745 ./combine/mean_cellmethods/kgo.nc a4b991d8e0fa174cec415efcf936b38e67fb936c57f7a9e2794beb6629b9b824 ./combine/minimum_realizations/20220128T1900Z-PT0010H00M-temperature_at_screen_level_max-PT01H.nc 4bca51d7208294112240b10e3a36692491472dd3f7ebb072ca030e76a495f14f ./combine/minimum_realizations/20220128T2000Z-PT0011H00M-temperature_at_screen_level_max-PT01H.nc 41daf1da910869fbd9338e31a530aaa68a221828d6e6b8cdbb4302a8e65fc223 ./combine/minimum_realizations/20220128T2100Z-PT0012H00M-temperature_at_screen_level_max-PT01H.nc -b60f6046c86319f8b7ca3b5d7902dbaf3a52f571f30ba56a1a4bc814c42dd341 ./combine/minimum_realizations/kgo.nc -cd5fe4e4ef61d890c30cc9cbd236bf0dfdbedd5f12f8a92803aa57be84c0d9ab ./combine/multiplication_cellmethods/kgo.nc +2d584bb1e6ab07b03f432d773ac6a9f0d0fa941d7b6b38f14a84face348999d6 ./combine/minimum_realizations/kgo.nc +6c492782c5e10e09d6fdd3bf4c2fefb40fd9ab09b7d052f7b7f9c40c9b1c097c ./combine/multiplication_cellmethods/kgo.nc f1ae76b9374c5d1076b89a7348fe9bbc393a12ae4ccdc660a170ba5ff0f823ab ./combine/multiplication_cellmethods/precipitation_accumulation-PT01H.nc b8934494b4a24daa2408c4d95a2367e328e25e8323e34c67ef6026d51021be32 ./combine/multiplication_cellmethods/precipitation_is_snow.nc 0bd96af6cb5c6caa045e397589dd0ce3b498af837d989fe73326f5e9459c6054 ./construct-reliability-tables/basic/forecast_0.nc fbc14286b4ce41e2e60df0870ae4911c1b00a38ec96912f43c6187fcaf7d02f6 ./construct-reliability-tables/basic/forecast_1.nc -0d0edf9751a2019db952907700b02499ec9f1c360db4591a8012ca247a841c73 ./construct-reliability-tables/basic/kgo_aggregated.nc -902e5cb9d3dc5d2b78bb99aff8370f9815adf5064b2caeb7abed73a56a897a43 ./construct-reliability-tables/basic/kgo_single_value_bins.nc -72d4fd0655d1b7a2bc11d85741ec944f195c59813ae629e6858116c4e09eccb0 ./construct-reliability-tables/basic/kgo_without_single_value_bins.nc +03be7f18d728f74568252ded7e8f771da978ee6f012b37a13a8490805f78fd88 ./construct-reliability-tables/basic/kgo_aggregated.nc +5d7a9e8a93be6743c05e7995e5d39e971e67a7f303e28d7857c3e8477d949d9b ./construct-reliability-tables/basic/kgo_single_value_bins.nc +9379628bb6c0d79d9e840fcfc885a40a1ec3fc9e279de034465c4076e6e1a437 ./construct-reliability-tables/basic/kgo_without_single_value_bins.nc 8ed50464c34b8673d98d1256d1c11b9eeea911dc79f7f75d425a590bf8697301 ./construct-reliability-tables/basic/truth_0.nc 3999adb3749052d9efdfab863427a20a1fabbca06ff430c6c9cf5f89d1ea4d60 ./construct-reliability-tables/basic/truth_1.nc -9795b9758a88e2c4d4171c8b08304f7f0711e03acda66a7394333f8b919ccf50 ./convection-ratio/basic/kgo.nc +480b67c22e8be6b02db534be7accc78e1f6837759094e14c6d86c26918b80dec ./convection-ratio/basic/kgo.nc 74f850942572aa99de807396d48bd80dd96088c638a9d5fa379b95f7c5ad8614 ./convection-ratio/basic/lwe_convective_precipitation_rate.nc b946c7687cb9ed02a12a934429a31306004ad45214cf4b451468b077018c0911 ./convection-ratio/basic/lwe_stratiform_precipitation_rate.nc de45e4588c71d051e109441eea4b03bfee7a589782bda173bf768a3172a67b8a ./copy-metadata/input.nc -7b68d39d2998b91b6efeb9aabdc78fe5ccb47cca4b1d42bbfaf8a23116012c77 ./copy-metadata/kgo.nc +af07b676aa727665827cf3e8aa3467640b2703276adc1f5528bf59282b3d0718 ./copy-metadata/kgo.nc 7e61ed49bdd6a3ded97c4fa755598ee14027db95b5cabc2ae05a3be8303be842 ./copy-metadata/stage_input.nc d3efbc6014743793fafed512a8017a7b75e4f0ffa7fd202cd4f1b4a1086b2583 ./create-grid-with-halo/basic/kgo.nc fee00437131d2367dc317e5b0fff44e65e03371b8f096bf1ac0d4cc7253693c9 ./create-grid-with-halo/basic/source_grid.nc bf7e42be7897606682c3ecdaeb27bf3d3b6ab13a9a88b46c88ae6e92801c6245 ./create-grid-with-halo/halo_size/kgo.nc 55ba8a8ca8b5eee667d37fe8ec4a653caddea27f19ea290397428a487eb13ca0 ./cubelist-extract/input_cubelist.nc -33c7e0cf46ac62ead74ffde502ee28076a59550474fb3872c3e22083c4bd3cc3 ./cubelist-extract/kgo.nc +b7c3f90b43ea6b65114ce69f97dcfeacae403528076f5b043f80a1e558c40032 ./cubelist-extract/kgo.nc 368f3c0c658d1155399ad4bdbfe0f98e0c65f5c53a49ece105bba3758012c0e8 ./duration-subdivision/input.nc -f56f65dca4c6887c422c23e10b63e034ed9d5388081dd2030d690c5f5be73fa4 ./duration-subdivision/kgo_daymask.nc -19388549f7a5f1bc616bb353d5a1380a2f26763cd3a223c0d3eabbc5fc4b389d ./duration-subdivision/kgo_nightmask.nc -8dc93f63957a89eb027b8552c1e923586ac8804f63e1d452a0cab31a9ea5cfc9 ./duration-subdivision/kgo_nomask.nc -fe00aadb6854f44d765b40bb6608c23f4eb4f10193c96f43f207db0590739dab ./enforce-consistent-forecasts/double_bound_percentile_kgo.nc +41b25832ddbaed568d8e1392afa8c56ff6688e47ab0b54c98282c55b280281ad ./duration-subdivision/kgo_daymask.nc +7515ae0c7aff5e6cb8118e37d2180a7837452c70f176dafe1fa7039ed7b25a42 ./duration-subdivision/kgo_nightmask.nc +84c1774a948a93bf0e26489b1c8435976bc1d98dfa4113f4e63d0bad7b72bf14 ./duration-subdivision/kgo_nomask.nc +7db79f33cf62478937869a4ecc57421f9862e5e385edaa33e553da32d8e9ffbe ./enforce-consistent-forecasts/double_bound_percentile_kgo.nc 51f9ff2c8e6cad54d04d6323c654ce25b812bea3ba6b0d85df21c19731c580fc ./enforce-consistent-forecasts/percentile_forecast.nc e210bf956dd3574eda3a64fdc3371ab16f85048ca120a3823e90d751d2325c46 ./enforce-consistent-forecasts/percentile_reference.nc 5474c4c2309dcc0991355007f20869eb6d1d234d721bdf37542cddb0570d7217 ./enforce-consistent-forecasts/probability_forecast.nc defa865972dbb30e7b557ef105f215e9e2e6d75aeb3b7c52b4c8ec388a33b502 ./enforce-consistent-forecasts/probability_reference.nc 40a05397b22e614bce592c1644a8443a27a94e70914cb482117a2fcc11ea8408 ./enforce-consistent-forecasts/realization_forecast.nc 9604ec25ad2256d41f824c8be957ae20158d75a7a8d632af249b2778d20934d0 ./enforce-consistent-forecasts/realization_reference.nc -5f7fa625272af0a51f6a59dd20a6f75cb53aa46299630783c32a77242c607313 ./enforce-consistent-forecasts/single_bound_percentile_kgo.nc -7e435c2db5e792b71bb5170140fbe1e37cc03d96bd88f73ce7196f9469ba3e13 ./enforce-consistent-forecasts/single_bound_probability_kgo.nc -e69359fbc251694443434e36b5f2661ea35e088d0f7f59076f5f10908ec445bd ./enforce-consistent-forecasts/single_bound_probability_time_enforce_kgo.nc -09eb8d42b1df18831660bfebef46a09436e66946a48488d8be89157e8e3666ef ./enforce-consistent-forecasts/single_bound_realization_kgo.nc +64df9a99c9b9e8f993a02f84e0a3d18f7acdc3f18b85398e468a25fcb3e11210 ./enforce-consistent-forecasts/single_bound_percentile_kgo.nc +10c6a97acf5efc0669b74116b1f97f116c94ba3247df0a8a5483712fa4688bea ./enforce-consistent-forecasts/single_bound_probability_kgo.nc +2b72659c029bf99c5aa730a03539c29416db38d2fa111e0048a9129274d3efab ./enforce-consistent-forecasts/single_bound_probability_time_enforce_kgo.nc +d54540329c4e1f7a89f44c42744fe5541456e07f1bc00eea44106c2d67320d7c ./enforce-consistent-forecasts/single_bound_realization_kgo.nc 286b0c915126655d37ff23d32730ba8b06954020dd4747adb44e7ced848dcc16 ./estimate-dz-rescaling/T1200Z-PT0006H00M-wind_speed_at_10m.nc 3dea94d8c5461224224f6b9d6f3568606cbfaa1a8c59cfcb92e61452c3e24c90 ./estimate-dz-rescaling/T1200Z-srfc_wind_sped_spot_truths.nc ca912d16879f7601283529e3404a4ac312f1cd6b8fd071af9cd4eaa43cb00284 ./estimate-dz-rescaling/T1200Z_kgo.nc @@ -359,43 +394,35 @@ a73c8ea314316e18559c5fb89021708feb49b9cad061d2bc1eeb2eba449f1159 ./estimate-dz- 0928e469556ab03acaea54c900718375bdc3a6381d0ffc06b76bc60b022fab37 ./estimate-dz-rescaling/T1500Z_kgo.nc a469208a1ebfef59f4d9d3736926744ad988e1f32e6ccf2b20dd4031a3f119ff ./estimate-dz-rescaling/neighbour.nc 9b48f3eabeed93a90654a5e6a2f06fcb7297cdba40f650551d99a5e310cf27dd ./estimate-emos-coefficients-from-table/altitude.nc -93e0c05333bc93ca252027ee5e2da12ee93fac5bbff4bab00b9c334ad83141e2 ./estimate-emos-coefficients-from-table/forecast_table/_common_metadata -037e1cfc55c703a30cdbc1dee78da47020a598683247dc29a8ef88e65b53dfb1 ./estimate-emos-coefficients-from-table/forecast_table/_metadata -9290e994c78b44dcd334baa00b35eb168202ac2e6de998345f6a8cad77661837 ./estimate-emos-coefficients-from-table/forecast_table/diagnostic=temperature_at_screen_level/part.0.parquet -c9d91761e6a58a7b477b027527492fcc87fa6edb4249ee8ae85666b650a80df4 ./estimate-emos-coefficients-from-table/forecast_table/diagnostic=temperature_at_screen_level_max-daytime/part.0.parquet -830980bee6c9d1f69c9789ee6f16b80220ebcc2094e018abcad467aaa0172c96 ./estimate-emos-coefficients-from-table/forecast_table/diagnostic=wind_speed_at_10m/part.0.parquet -b3d8e86fcd40c596edf0173ca4281cd200770ba641e72ec0ccca0298b3c40e0e ./estimate-emos-coefficients-from-table/forecast_table_quantiles/_common_metadata -0425d143be811deb7487c7665e091d5dc31006e0a055f9f87cd5af4c746e034d ./estimate-emos-coefficients-from-table/forecast_table_quantiles/_metadata -4eca1d4d550cd1d934c73c5bcb146076342292ffe7d9d0a9d545eacaf8eb3090 ./estimate-emos-coefficients-from-table/forecast_table_quantiles/diagnostic=temperature_at_screen_level/part.0.parquet -7d296be97fdb2dd5261a7deb6487d022842ac86b53f44875f4267f7790857e1c ./estimate-emos-coefficients-from-table/forecast_table_quantiles/diagnostic=wind_speed_at_10m/part.0.parquet -84fc5fbdc782ecff9262f26232a971b327e3adbf3f0b122d8c3d4b147fec172b ./estimate-emos-coefficients-from-table/screen_temperature_additional_predictor_kgo.nc -542d054bd382eb1bf85fdc6a68c9a93de1c070b82bb1caef0d0917885c292e9c ./estimate-emos-coefficients-from-table/screen_temperature_input_quantiles_kgo.nc -542d054bd382eb1bf85fdc6a68c9a93de1c070b82bb1caef0d0917885c292e9c ./estimate-emos-coefficients-from-table/screen_temperature_kgo.nc -71130467293bd6e7a80f6fb6fb2ecc2dc74bf8407f318e1c90ee915f4a515794 ./estimate-emos-coefficients-from-table/truth_table/_common_metadata -8e08fd5417abb09f92d2673280a8daff1edc750a339fdcf82a5d89b32fbf55c1 ./estimate-emos-coefficients-from-table/truth_table/_metadata -d45b3dcef0b1b05ee8dc718c928dc1808e8a8fb1b9ba4359d02ebd8a07f10350 ./estimate-emos-coefficients-from-table/truth_table/diagnostic=temperature_at_screen_level/part.0.parquet -50ba4d73af4d348839ec30d176dd7bffed4d25550e8a60749e8993d2533674e3 ./estimate-emos-coefficients-from-table/truth_table/diagnostic=wind_speed_at_10m/part.0.parquet -71130467293bd6e7a80f6fb6fb2ecc2dc74bf8407f318e1c90ee915f4a515794 ./estimate-emos-coefficients-from-table/truth_table_misnamed_diagnostic/_common_metadata -a55a100bded8a61682386e8ca6a37f8f56a3d3bad7a7af7861e483cb17f88170 ./estimate-emos-coefficients-from-table/truth_table_misnamed_diagnostic/_metadata -d45b3dcef0b1b05ee8dc718c928dc1808e8a8fb1b9ba4359d02ebd8a07f10350 ./estimate-emos-coefficients-from-table/truth_table_misnamed_diagnostic/diagnostic=fake_diagnostic1/part.0.parquet -50ba4d73af4d348839ec30d176dd7bffed4d25550e8a60749e8993d2533674e3 ./estimate-emos-coefficients-from-table/truth_table_misnamed_diagnostic/diagnostic=fake_diagnostic2/part.0.parquet -37650efdd39a45296faa190231bb3e7bc817feacf052a1e0edf6631d3b52f955 ./estimate-emos-coefficients-from-table/wind_speed_kgo.nc +2a0bb6de077c06e447b2c41836c2091123a32a5f87aaafd1e628f62f46e91066 ./estimate-emos-coefficients-from-table/forecast_table/diagnostic=temperature_at_screen_level/part.0.parquet +71c6da96172d4834a69ccdefcf5fe3f55ea9f8705c89a2ef936e46091043b048 ./estimate-emos-coefficients-from-table/forecast_table/diagnostic=temperature_at_screen_level_max-daytime/part.0.parquet +c75d11497f74a92a0d6c45038f3b8228643d55860cb00b8dfb7bcaae8bd02507 ./estimate-emos-coefficients-from-table/forecast_table/diagnostic=wind_speed_at_10m/part.0.parquet +65be5e9f1452385fce403d01769f6fee985160ff3097c995769e2fad63066a60 ./estimate-emos-coefficients-from-table/forecast_table_quantiles/diagnostic=temperature_at_screen_level/part.0.parquet +b1e8427a26e4258d9571c4a660dcbff734ef3415ac76d39a08ce5d149e6def60 ./estimate-emos-coefficients-from-table/forecast_table_quantiles/diagnostic=wind_speed_at_10m/part.0.parquet +a9067726fbfb68dc5e4d0c4d1e16a01935314710ee11a05c768e20482357b697 ./estimate-emos-coefficients-from-table/screen_temperature_additional_predictor_kgo.nc +fe54a4b4a900566d750e4d577453a3c78cd5348f6a7dad1261b8b8ce7269014c ./estimate-emos-coefficients-from-table/screen_temperature_input_quantiles_kgo.nc +fe54a4b4a900566d750e4d577453a3c78cd5348f6a7dad1261b8b8ce7269014c ./estimate-emos-coefficients-from-table/screen_temperature_kgo.nc +352a95eecd69b7459f2ad14956dcd5c70e412214f65f8f021607d7a9b62a4935 ./estimate-emos-coefficients-from-table/truth_table/diagnostic=temperature_at_screen_level/part.0.parquet +4b94cb6d12fee2f270f3feed0465605d77164839f505e1ebebda45aba644d01a ./estimate-emos-coefficients-from-table/truth_table/diagnostic=wind_speed_at_10m/part.0.parquet +352a95eecd69b7459f2ad14956dcd5c70e412214f65f8f021607d7a9b62a4935 ./estimate-emos-coefficients-from-table/truth_table_misnamed_diagnostic/diagnostic=fake_diagnostic1/part.0.parquet +4b94cb6d12fee2f270f3feed0465605d77164839f505e1ebebda45aba644d01a ./estimate-emos-coefficients-from-table/truth_table_misnamed_diagnostic/diagnostic=fake_diagnostic2/part.0.parquet +e416c92833d8e85d64f8ed1ad6c15581a0243793b291f3120747d9276a00ea04 ./estimate-emos-coefficients-from-table/wind_speed_kgo.nc d84aaed836c80f55e11207c8618d556b8aaca0c9dfd4320a3ea88387de71670c ./estimate-emos-coefficients/combined_input/historic_forecast.json eeda3b2a092f3bc78bf7dc8cc22efd5e885f94b8b8e04ccc4740978dfc79e04d ./estimate-emos-coefficients/combined_input/truth.json ff3a00a16fa94697d6e529a6f98384e4602f70a7d6ce26669c3947c8ac2e6f7e ./estimate-emos-coefficients/landmask.nc -4907ffd47370afdcc7aaf001e633240ec89e092463ad7ae25e910af10d6c28e4 ./estimate-emos-coefficients/normal/default_initial_guess_kgo.nc +2d5e0ed65d621780dd1151e937c8eb976ac62b71d74aff18daef80cae751bd2b ./estimate-emos-coefficients/normal/default_initial_guess_kgo.nc f878fca6cb6b8af8967d1bcdae28d9933b27cfd25e8e9bcf93498cae3e2163df ./estimate-emos-coefficients/normal/history/20170602T0300Z-PT0012H-temperature_at_screen_level.nc c72e48ae88fb3a9c909323376c20d9bcaecec5e1b55a42accdab7201ce8d7cc8 ./estimate-emos-coefficients/normal/history/20170603T0300Z-PT0012H-temperature_at_screen_level.nc a7bd5d01ed80297fb5b28be9a308fd8de20c162a87220be5e59c8ac3ffa800f0 ./estimate-emos-coefficients/normal/history/20170604T0300Z-PT0012H-temperature_at_screen_level.nc -7c4033340c89788ba3e55f560fbe2f47ed8bac14c7b47cdf71312e115caf7cfc ./estimate-emos-coefficients/normal/kgo.nc -67d50642e9a49a0c9115c786cc74f62fc27e10aaaff7ba7e2329d2580c63aefd ./estimate-emos-coefficients/normal/land_only_kgo.nc -12110777cf3db3c8d76daa06f78760f8e314038262f359e659d16fa5d49b98bf ./estimate-emos-coefficients/normal/realizations/kgo.nc +9488f92551739437ea1245a0c6c6c86b12e158c9e1eae9043d0cf77001edabc2 ./estimate-emos-coefficients/normal/kgo.nc +99aaea7b92ee2491fce481325962e568224d6c64aea74406d23e3a786554555f ./estimate-emos-coefficients/normal/land_only_kgo.nc +f26a9031bf57ed280eba8f02e8b59901dd875fabdb53428a85332710619a436c ./estimate-emos-coefficients/normal/realizations/kgo.nc 42fe8daffb997848086cb08b3d39dd366b561bb1c24fc7ed3e2e54737d772b9a ./estimate-emos-coefficients/normal/sites/history/20201209T1500Z-PT0012H00M-temperature_at_screen_level.nc 3cda6a3244db09530585454d323ec13bde6b4cfae24940a8b069469f47aec60c ./estimate-emos-coefficients/normal/sites/history/20201210T1500Z-PT0012H00M-temperature_at_screen_level.nc e5dab98673996a3663093a0353b4efac7910b8176921bd0fbf10aa0f53ae5800 ./estimate-emos-coefficients/normal/sites/history/20201211T1500Z-PT0012H00M-temperature_at_screen_level.nc -63291b3435066f0b0fc56bc78b9774e0e7457d5a6b20086a67ecc6eb826d618d ./estimate-emos-coefficients/normal/sites/point_by_point/kgo.nc -20ba2f8b50ccafb6e10af1db9ecef72f2d529afd131a652bf2cfa70c64d5f95b ./estimate-emos-coefficients/normal/sites/point_by_point/realizations_kgo.nc -36412f957fb44761e389432c401d49a443d50add44fc1b40ce47456962173fba ./estimate-emos-coefficients/normal/sites/point_by_point_default_initial_guess/kgo.nc +8b141a7d5555d8f7d100ac66da2de85edcfb5556534d85bf79a81c698cf22815 ./estimate-emos-coefficients/normal/sites/point_by_point/kgo.nc +b2bc93bd5eeaa2a5932d9c054875c714063ef791f94032e551d2dd685a020562 ./estimate-emos-coefficients/normal/sites/point_by_point/realizations_kgo.nc +a69605a33c939c0421572bdc55bc7de51c8d010f06838121272b5e9baacbb64a ./estimate-emos-coefficients/normal/sites/point_by_point_default_initial_guess/kgo.nc c93cb58b443c90fec46135715c322d2a4a214868f13bcb073871690c0a59aeaa ./estimate-emos-coefficients/normal/sites/truth/20201209T1500Z-PT0000H00M-temperature_at_screen_level.nc d128c7ae795bbc5c7281d4140f1d7826e82e82160ec6320317f72bccd08bcb83 ./estimate-emos-coefficients/normal/sites/truth/20201210T1500Z-PT0000H00M-temperature_at_screen_level.nc bca3f986233d44f4c008f1113d40e808f730b80428a55fe4eb4c6f9ee8241e16 ./estimate-emos-coefficients/normal/sites/truth/20201211T1500Z-PT0000H00M-temperature_at_screen_level.nc @@ -405,73 +432,99 @@ ee8638a56d5c8866106ed0e0e9578f391300d9271b78b49e70baeae78ebb9e2d ./estimate-emo 4d6f2a70e895017464765f7c9ec1df67e4fc33992783241971a4d630177b6e08 ./estimate-emos-coefficients/truncated_normal/history/20170602T0300Z-PT0012H-horizontal_wind_speed_at_10m.nc 11e0ff3506e0456abd4b169846cf1f5bcc9596fcb50eb520ba9f68c988fa786d ./estimate-emos-coefficients/truncated_normal/history/20170603T0300Z-PT0012H-horizontal_wind_speed_at_10m.nc db4aa83b225fd02aa6d15b5ea1500b960d2da46378290ebba9d45b8a29c189f2 ./estimate-emos-coefficients/truncated_normal/history/20170604T0300Z-PT0012H-horizontal_wind_speed_at_10m.nc -d2cab1d3d8aa588be08a3d7d65e95e859fed37daa767e8d4a2bdaae25702b9a8 ./estimate-emos-coefficients/truncated_normal/kgo.nc +cdcbaebb219f4be7775f26d7d6fd8384002d1e46320d7f8bc086ea39c7913652 ./estimate-emos-coefficients/truncated_normal/kgo.nc 397b0e3712041863f9d8ac45480b67162f6e740cf9b7d2e1521a6844074146e8 ./estimate-emos-coefficients/truncated_normal/truth/20170602T1500Z-PT0000H-horizontal_wind_speed_at_10m.nc 1032b6e41987c08ad4caace25e182a02701177408461c7b573f3e8b304b31c16 ./estimate-emos-coefficients/truncated_normal/truth/20170603T1500Z-PT0000H-horizontal_wind_speed_at_10m.nc fe84db49d69ea62e2e82312c7b3d860c7329c627d79d76c2543d365f69d2e0d8 ./estimate-emos-coefficients/truncated_normal/truth/20170604T1500Z-PT0000H-horizontal_wind_speed_at_10m.nc +cc3fb6e27313a487f17a69ca223523e86f3fa6c7c71f08574d2efcecab5bc4a2 ./estimate-samos-coefficients-from-table/distance_to_water.nc +a67d9606590ecafd2099f5491e683ec722b574c9bc2a2d1105ecc2eba8ed7bc8 ./estimate-samos-coefficients-from-table/gam_coordinates.pkl +8811643fb3b05232e8dfd2bac852f986c7b6f99989946a26f92630d5a588e834 ./estimate-samos-coefficients-from-table/gam_cubes.pkl +d340bbb94fbaa1f975b88ef41e9d8e3dfda54d3935d4c84257cde7bb18d72856 ./estimate-samos-coefficients-from-table/kgo_coordinates.nc +00ef721539ca3754638a032a42f6723e55981f6b4acdf3076ba0648551b6fecf ./estimate-samos-coefficients-from-table/kgo_gam_and_emos_cube.nc +ba78790fdabba784498c3c9b000f0f9c67664e7d7a3367780f67bce2f5858ea3 ./estimate-samos-coefficients-from-table/kgo_gam_cube.nc +0938d182a496e8708301dd19bf715402aceaa0a2da32915c320b22ef30933d1f ./estimate-samos-coefficients-from-table/land_fraction.nc +ff3a00a16fa94697d6e529a6f98384e4602f70a7d6ce26669c3947c8ac2e6f7e ./estimate-samos-coefficients/additional_features/landmask.nc +8964d00ec69f384501269e0093bb7c4684d1fd7cf292a8286ee4ea68fe3b73e4 ./estimate-samos-coefficients/additional_features/roughness_length.nc +7c0268d6117de9002033a72a0388c963094c0f87b2448c2455802e41750960e0 ./estimate-samos-coefficients/gam_configs/samos_gam.pkl +a979ae8ee62d3e7867ac6ed31a423c03bd65fc52f818d7e24ad212f789352c61 ./estimate-samos-coefficients/gam_configs/samos_gam_additional_features.pkl +33ae30a74bc600b0f4ff10feff1ae3443323f1c17e57ec6c2f0aec4cb0e72ae5 ./estimate-samos-coefficients/gam_configs/samos_gam_sites.pkl +85f86c253b3d7047b3078761992690251629c549dd22b9fde87fbf604bd2afa6 ./estimate-samos-coefficients/kgo_coordinates.nc +12d5d92e469d01943123f7c7b5afb944bf7613b65431c44cdaa22277f70d1a7b ./estimate-samos-coefficients/kgo_extra_gam_feature.nc +e8e9661759ebf7cf8e78d259a33a57ba8a5f055a013bda68daf2f265d28de367 ./estimate-samos-coefficients/kgo_gam_and_emos.nc +7d89c1a0f1dd64e9c6c0c406f0e2a47a9282778cbe688b363170b84b4f3e87cd ./estimate-samos-coefficients/kgo_sites.nc +7c0268d6117de9002033a72a0388c963094c0f87b2448c2455802e41750960e0 ./estimate-samos-gam/kgo.pkl +a979ae8ee62d3e7867ac6ed31a423c03bd65fc52f818d7e24ad212f789352c61 ./estimate-samos-gam/kgo_extra_cube.pkl +33ae30a74bc600b0f4ff10feff1ae3443323f1c17e57ec6c2f0aec4cb0e72ae5 ./estimate-samos-gam/kgo_sites.pkl +8964d00ec69f384501269e0093bb7c4684d1fd7cf292a8286ee4ea68fe3b73e4 ./estimate-samos-gam/roughness_length.nc +34222261b96e60ffd281637d5876cf84664a59efc9977407cb3a7de30c99b0c9 ./estimate-samos-gam/samos_model_spec_simple.json +cc3fb6e27313a487f17a69ca223523e86f3fa6c7c71f08574d2efcecab5bc4a2 ./estimate-samos-gams-from-table/distance_to_water.nc +a67d9606590ecafd2099f5491e683ec722b574c9bc2a2d1105ecc2eba8ed7bc8 ./estimate-samos-gams-from-table/kgo_coords.pkl +8811643fb3b05232e8dfd2bac852f986c7b6f99989946a26f92630d5a588e834 ./estimate-samos-gams-from-table/kgo_cubes.pkl +3ad45b58562c2c654bc988e3eccd55c608a312b615acd1297d569dbef42cbfb9 ./estimate-samos-gams-from-table/roughness.nc +34222261b96e60ffd281637d5876cf84664a59efc9977407cb3a7de30c99b0c9 ./estimate-samos-gams-from-table/samos_model_spec_simple.json 386284bf4c5daa3567fb78ca00331494c99ac664902490188dfdf98c39a494ba ./expected-value/deterministic.nc -c4adfd73537c8bc7b5e3d70ed3161eff0ecc8f155fe4b08b97b9fa8c3cfa9171 ./expected-value/kgo.nc +64bcba24bc314d1ffc6bb7adbae6b9e6d872cb75e8ef834463e4fb72e55ad16a ./expected-value/kgo.nc f61aa0326219c7e3934823bc4d607c2b3ec022a7c1df15d3519aea91207effce ./expected-value/percentile.nc 00167c391d157276adbb4e4b483237f9d8d0680aeaf5f7bfdd447b26b4f68daa ./expected-value/realization.nc 5ac47a686f2a97e73c6322a0f89c0df83e29ed8de6a2272c5283f0542a94622f ./expected-value/threshold.nc 62c0a3bfdae12ba69bb669b34a8cdf6859197f841560179d47c2680f8e759f1b ./extend-radar-mask/basic/201811271330_nimrod_ng_radar_arc_composite_2km_UK.nc 2df05ec61225fea26cbaa178994b50b9ce4324b02e5e9e29f833fc4a8f8711e2 ./extend-radar-mask/basic/201811271330_nimrod_ng_radar_rainrate_composite_2km_UK.nc -19c8132dae73c2f2630b682542e4565743f6bc84bb466d65379d0abcd49015c6 ./extend-radar-mask/basic/kgo.nc -ff7b6e4e0995b0e92a227dd207cdc89189438540232bb09a2943b4c85b720557 ./extract-from-table/kgo_gust_ratio.nc -64dd8b8e3eba30587f640f88a7fb175896e1c422bcb4093b404075367ba58ad1 ./extract-from-table/kgo_lapse_class.nc +5228abd2c7b74e5089d66510dc971e2e9addcad6e8bf801ee30ba8d7b24dfcb1 ./extend-radar-mask/basic/kgo.nc +a1a9524f5671a0f1b9303752e374717e9b6e1cc15f1786c2f52a6eb33fd35eb8 ./extract-from-table/kgo_gust_ratio.nc +f7623e12a44d46d74bb059b1ef3f9257065173d4e9783d8f497e1dd85e32afd6 ./extract-from-table/kgo_lapse_class.nc f378ed97e2e8074b62dc94e8ce36c073805c536769df922f9228aad1433cae03 ./extract-from-table/lapse_class.nc 6d17c1daeb204026b1c654b1c658fa6d34c1b42e18a6fc8c53dbb7f17df3c55d ./extract-from-table/lapse_rate.nc 6ac5591824d34c85403401fe1dddde54eccf9675ab20f8795416948574bb4a32 ./extract-from-table/table_1d.json d53d1406912f77b7c2195c832ca48bae21065177dbc0194ecee8f16fb58f8c97 ./extract-from-table/table_2d.json c0398240b0181e8d0211a6c0e25fd68e50dd0e63a7cc5ee33ed3d4316b529e9e ./extract-from-table/wind_speed_800m.nc fbe545efe8a4c0de0a18ec883e45be8135b66a2909da05e16ab983044a3bc45f ./extract/basic/input.nc -55bfbe08a37b084547f1f21b05cf0ca1d5b997acc3ed79040fdf71347b5c7a8f ./extract/basic/kgo.nc -b714ab5ab4e96bc3b12c19fc2c5a1ac2767dcf7971fea9afaee2a4be3644f142 ./extract/change_units/kgo.nc +bfce21a9280b95cab45c25d109e620badeeff3c5d9685392884281aa067aba11 ./extract/basic/kgo.nc +3ff442020502a9c3ea4cd2925f8c4752ff08f128776671f7e877656be9c5d3d1 ./extract/change_units/kgo.nc 8c6857bb6ce5483ab7c5557e0bed0e4bdc3cdb2b1eabee07236ee23fadee3fc8 ./extract/grids/input_grid_latlon.nc 1e62326bf9211269ee2840b8438f1aa2ea328b9a6b9f02271646f0642e7e1811 ./extract/grids/input_grid_uk.nc -14c9a95a365700c4c1ec97841a68b290b68f4034df77dc0d040f805795a02d6c ./extract/grids/kgo_grid_latlon.nc -55a1dd86cf658cbf2842d92142bf75fd204c7deb8afa6e762eec75be50187e18 ./extract/grids/kgo_grid_uk.nc -a277805b508c5c7430b41178d576a857be57e1789e886bec0b8b327da9236e0a ./extract/list_constraints/kgo.nc -757ce0390e9f28fd2b332b670933d69cf261df6399d83a5113c04f293170240c ./extract/multiple_constraints/kgo.nc -757ce0390e9f28fd2b332b670933d69cf261df6399d83a5113c04f293170240c ./extract/multiple_constraints_units/kgo.nc -01652aa741bf11a94c1632647d7f65c6053677ff8352540a7532e991a5acd64d ./extract/range_constraints/kgo.nc +256981b22ae0bf75350635b82786ad3fb89121d918f38138c0c07b4924be083d ./extract/grids/kgo_grid_latlon.nc +4b2a0447b916c1d7468943bbfdcb93ffccef67b61648ec6c918048b88ddd83f4 ./extract/grids/kgo_grid_uk.nc +2e7d2c71446b023ff29ec60f2a8906697e320c9e6e77cb55df807a0dbe5dc0b6 ./extract/list_constraints/kgo.nc +7e95397f99bea9ad0ee7e986160b07fa2933359c93daa7e812aca02990f7227a ./extract/multiple_constraints/kgo.nc +7e95397f99bea9ad0ee7e986160b07fa2933359c93daa7e812aca02990f7227a ./extract/multiple_constraints_units/kgo.nc +23c0fc94f8957588807cf5cde7134e6c5c062649d7df72894e53df958be9e62d ./extract/range_constraints/kgo.nc c2abfc4f83d4a918dd2d80f20b7746e5ae19d809d21df9715bd8ed5011d38ed2 ./extract/sites/input_spot.nc -57cbc410dfaa154cf6bc96c33c4c7bcd95533bbefc15ff117c993aee7eb7de1c ./extract/sites/kgo_spot.nc +ed6e2b7185fdf6d782a158d68faf9fb598953db8f413b75b78c136b896691cf6 ./extract/sites/kgo_spot.nc b07166a4cd0e0842704aef550ad6398a54ad49cedc64c1fc2a7ef5e8b6d5aa61 ./feels_like_temp/ukvx/20181121T1200Z-PT0012H00M-pressure_at_mean_sea_level.nc 236eecc75a83b7c6c6aab1530a0ca0e85371c44459f4a1830511eb91cc408def ./feels_like_temp/ukvx/20181121T1200Z-PT0012H00M-relative_humidity_at_screen_level.nc e7d2d57da994abefcde41ec5df014d2368656baa68fceb81f45ee13ab1f67b36 ./feels_like_temp/ukvx/20181121T1200Z-PT0012H00M-temperature_at_screen_level.nc 5a594e1f835b50088cfadde6e78e9af47232ccd6c628a15d991d4c8f0df52ef4 ./feels_like_temp/ukvx/20181121T1200Z-PT0012H00M-wind_speed_at_10m.nc -e24574668fca5ddc5f1f86852b81b4793168894fe4789a86789f9c871605f9d8 ./feels_like_temp/ukvx/kgo.nc -5f3a7a4f51f0fd821efe2e30bada7046ef2c81aeb3b4596803ea5d5348646f2d ./field-texture/args/kgo.nc +ca3ccada335c76b991ba81abea92560e4d21682144db731fcd744a526be50903 ./feels_like_temp/ukvx/kgo.nc +294d5a06d80206d40f47b85bc307651ae0375fd5a34b17a691548a1943851334 ./field-texture/args/kgo.nc 20ee41384d6d9471816381e665630bccbf590daf7e715f89babf8fb4712b576b ./field-texture/basic/input.nc -ddf709aa569a960622f119c70faee994b8867c7b43fa7fc190c9e6acffa9a1be ./field-texture/basic/kgo.nc +1427bd40faf69eb83e7cde7571f0a2eb9bcb1e8e5d8a49263036de1da8c0cd23 ./field-texture/basic/kgo.nc b42c8be3fb43f720700ea0b991146d26141b7d82a90dade4e7989c9f0965950b ./fill-radar-holes/basic/201811271330_remasked_rainrate_composite.nc -c99693c5c67c75263848ceebfa56695f97674e0cf2e68dab7641233ff8dd6504 ./fill-radar-holes/basic/kgo.nc -e26cfadf9a5c36a2a6909522423cbdadb99538742148f44b62c3264fc1a4521f ./freezing-rain/one_hour/kgo.nc +3bf2ce0da91341c38f04b66478f5f1569f6cc577ea62c15928fa3e38b54612b4 ./fill-radar-holes/basic/kgo.nc +f51de757c436c3e66fbea7c134becab787d4c7eacd5d31c059c96469277b9b38 ./freezing-rain/one_hour/kgo.nc 85d998556342350f65b991e76ed10ec1c1b272bbe5548fed841dcb7cd1dd6510 ./freezing-rain/one_hour/rain_acc.nc 51602571159257f173e355acbc06a1d5ddcf8ea534602152e308e8fb895adcc7 ./freezing-rain/one_hour/sleet_acc.nc 4873e9a078206d2774207a23c987c2a1f1a514128e50bd185532f55db1b32471 ./freezing-rain/one_hour/temperature_min.nc -5c60fc373a7e7fd8b0fe7143eae5455e2e1bda741ca543e4bc787094294f68b0 ./freezing-rain/three_hour/kgo.nc +0d1c896bda6a78d9734d05b13dd4ef900d057b9009c18a75c813bd52d0288355 ./freezing-rain/three_hour/kgo.nc 3f38fd27b9154585cf84b6dcf2ef953a68d477bb23f6a9bd53a9b1a8b038ec99 ./freezing-rain/three_hour/rain_acc.nc 936242f26ef9a7c588fe544acda3b27f621b1b95434497bb90014d295897eb8a ./freezing-rain/three_hour/sleet_acc.nc 3ec5f00cab40aad4fa508918afa472e48f083222039aa58acb8d831e0919540a ./freezing-rain/three_hour/temperature_min.nc -93e6be919920715f845d97f75300cc430f7d0f38736fe4f45b3e839b96a44805 ./generate-clearsky-solar-radiation/basic/kgo.nc +f9253f6fbc5bfa25e934b9c925dc2eeed1d674b959cb73a4332ad4f43af18301 ./generate-clearsky-solar-radiation/basic/kgo.nc b3cf903fa6be1da295a8f05e6d43c70eb87428cc0f0b896af7e78bea5df7da3d ./generate-clearsky-solar-radiation/linke_turbidity.nc -d8b14211f62994ce072cbab3408ecb9d8c5da2b1139be64de665a8b2161f979b ./generate-clearsky-solar-radiation/new_title_attribute/kgo.nc +717f5899470ca21f38764079fafc38eb63ab040ee4c7f42dbdabc5fd7b3ffd1e ./generate-clearsky-solar-radiation/new_title_attribute/kgo.nc 8889f6a884989e21d2547ce8c3d5b8f713d4f00fece3bb05fe5c3af3d6bf74dc ./generate-clearsky-solar-radiation/surface_altitude.nc -0fdcd2f630c7e9db1071cb309f9d174cba69cd5c78872b6839339e8c0d487601 ./generate-clearsky-solar-radiation/with_altitude_and_lt/kgo.nc +70f73d802d8d6989b4490afe7e7c7e05cb331de961d507a822dadf791d4065b4 ./generate-clearsky-solar-radiation/with_altitude_and_lt/kgo.nc b31b722907f8f0ec4257dfb739f15a10260186854bd78d342c304651dceb6f4d ./generate-landmask/basic/input.nc ca47e1a49b0f6fa69b3004528a8f12d61f329b4028b4fc83252d6b19b3ed59ec ./generate-landmask/basic/kgo.nc 90b32a6b1a38c81cb3dbc16474c8404b0a77bdbc6c0c3149af54a5823387d579 ./generate-metadata-cube/height_levels.json -0926c654b760a63166340cfaca08912e95cd74a5e00714b36f36feb24639c7be ./generate-metadata-cube/kgo_default.nc -a309b380a51a2eefe9192445a882dbe7e67d9e6276fcca6b0ae20cdbf0e82ab0 ./generate-metadata-cube/kgo_ensemble_members_all_options.nc -b120c3eebefe785543955fb623c65fc4f6d857ec34df086a26d50c1c114214af ./generate-metadata-cube/kgo_height_levels.nc -2af4c17ead2eb5337a0689c70565d345f02758638fcfaca7971f49ef0fe4078e ./generate-metadata-cube/kgo_percentile.nc -c6f5cf0683b34a30b9493795837f96dfa9f46f21043460ee4692c4787eff4f99 ./generate-metadata-cube/kgo_pressure_levels.nc -43e6f742d90b72f07176946b82a3918c25fc95595dd688260a03852ecf534fb8 ./generate-metadata-cube/kgo_probability.nc -21e53d7c3fa1987107d39d71193a693499886c0e53b1bb70f3ddcd01e0b66113 ./generate-metadata-cube/kgo_realization.nc -0c26ad17a15dda0d47059365c5d85b2d33949fd805f79b1c3e28d775b9702e34 ./generate-metadata-cube/kgo_single_height_level.nc -66a6342f07f5c3a50819f32ea8945ba94aa2583c6a41f88ac09db4e46eef7e91 ./generate-metadata-cube/kgo_variable_cube_json_inputs.nc +53d7a43c9ea627ea5f8bd84bc9e83a156d0e57693ee8fa1772f4109d917ffa4a ./generate-metadata-cube/kgo_default.nc +42c5b52a2c14730637203909c565a81d47abfd1df1328527a64a267a173ca8f4 ./generate-metadata-cube/kgo_ensemble_members_all_options.nc +f1d82c9f30f397986033f4c9d1d91602a30f6fcc20bd99a23a8c344ba890f876 ./generate-metadata-cube/kgo_height_levels.nc +a8df03d1cd0e07b027e758b2ee42e4611e2952f185654d56412658208827e68b ./generate-metadata-cube/kgo_percentile.nc +075b0cc1b47beb72428a66e02086d51d8b63780443bec54f6b23f8c216099387 ./generate-metadata-cube/kgo_pressure_levels.nc +8c8731d5ec31f7fae92773025f6c846d6a7d9acf0d44e05507cdf550b8c09421 ./generate-metadata-cube/kgo_probability.nc +2a04ef5dfd1bf7f6565bf4408508c4e524546de06033cd39b9d1467a8a1584a9 ./generate-metadata-cube/kgo_realization.nc +dd033205e34754c141457e676d68e07f5570deeacf0aadae106c1c43c5464cbc ./generate-metadata-cube/kgo_single_height_level.nc +5d06ab101022c8bf1c3adee37fe74d082e902c4ee70280c880549ae3531f1342 ./generate-metadata-cube/kgo_variable_cube_json_inputs.nc 11927ca3fe55f20b9f53240222d209b1f7519f159b889a295de6cf8b726521df ./generate-metadata-cube/mandatory_attributes.json d712c2afdd378796381c548e6a5d02bb0e9a7c4c4943b54e15cbf0a700a08eeb ./generate-metadata-cube/percentiles.json c20cf3fee216aaf92506d80a9342fb983372c9b71e0587eeb4f311f7b7697c28 ./generate-metadata-cube/pressure_levels.json @@ -488,42 +541,42 @@ ba056700c16eea0a0f9832c559986bf338d994a95d978764b8844e9f45f19e8e ./generate-oro d442c0ec20cd8de5e3a929827428ed09fa6e05ec05aec1d972aee0b314612c65 ./generate-orographic-smoothing-coefficients/mask_zeroed/kgo.nc 34efbac81d20f8cbae8f7881d984ce7fc9fb59d3f54e478611a914bf94b80dfc ./generate-orographic-smoothing-coefficients/orography.nc 9bb6be36c7ecb41b9f72bc6d46a7566af16863685b8e4f78a59e1666ce8cba22 ./generate-percentiles/basic/input.nc -431f094a771afc72804039d49c72efdbd22e95b4ff88bf4e6e8f37b6b1b19f2f ./generate-percentiles/basic/kgo.nc -5e7d6304b1e88826905eea962b361a2285e60c21012253973f212323d48e1ee3 ./generate-percentiles/basic/rebadging/flat_rank_histogram_percentiles_kgo.nc -760eb2428656f80933c3f9c4a179e724f8de92c85b8ae1a54ea468e42b8f1e55 ./generate-percentiles/basic/rebadging/optimal_crps_percentiles_kgo.nc +3c27b839f3927ad290bc98fc1ceb0011709b3af43089c012e5b60fec26149964 ./generate-percentiles/basic/kgo.nc +c75880c7d181b0125e789bcee50922f3fe0e5875b3b16bf2c58ceceecd207bb6 ./generate-percentiles/basic/rebadging/flat_rank_histogram_percentiles_kgo.nc +9375f9a923b0db0caee02b60832d0968e57e22db2f4d2152cb4afe0e80f5a6d9 ./generate-percentiles/basic/rebadging/optimal_crps_percentiles_kgo.nc 056e0ab74400b19c60d05410abbed6c8fd59cf44f5b3136c58c4d4706ec53e29 ./generate-percentiles/ecc_bounds_warning/input.nc -a57f0db9012544e71e4ef322012bf5a4d03b4b84a2b03223446c66a9afe52a31 ./generate-percentiles/ecc_bounds_warning/kgo.nc +2413e1115b5c17c4fb905c9a223a3bfd5c732403b08f2df80d4b1559319f0736 ./generate-percentiles/ecc_bounds_warning/kgo.nc 19040bbdbbe0a5176b64d5e49daf2267420b2e0f671564450182d3ceaabf7b4e ./generate-percentiles/probability_convert/masked_input.nc -6ca20d64e1f5279ba7a781ab48016ecbdf9d386888b898be2aee637186094004 ./generate-percentiles/probability_convert/masked_kgo.nc +ce127d56dd4c475e7e18053b15d2edc807d03664ab6a8f75933f6d120564407a ./generate-percentiles/probability_convert/masked_kgo.nc 602ec07949687b8cc4295199f92e02863749349dc750b63dfed478c0b00b706e ./generate-percentiles/probability_convert/multi_realization.nc -2b5a626ce6ccb3d2bfe393f7145997ff8d9bf92da8de8fcc461fbcab59cd79aa ./generate-percentiles/probability_convert/multi_realization_kgo.nc +4161deff8f61f221287170318e13028474fdde23094e90734c761b5646b61e49 ./generate-percentiles/probability_convert/multi_realization_kgo.nc 6216e900501d35d7bc277791f0c5f343a33b44305121744ac7518ea87e6f6c4a ./generate-percentiles/probability_convert/single_realization.nc -40dd552c977743986a980da8eab7a03020049e2f29389467b7376e56037143dd ./generate-percentiles/probability_convert/single_realization_kgo.nc +0aa80c43b7099e661caf1776a976adb9e548e74ca19ddf3e8b1563ba67a953f3 ./generate-percentiles/probability_convert/single_realization_kgo.nc f8aa2012e0796ed977262d269f22ab1fd96865a8d51094d575e38570c0a7cfd0 ./generate-percentiles/skip_ecc_bounds/input.nc -f84035b925c819eddc7f8d7913d3a360614a08c702d5917cd9fb75ad2b270a95 ./generate-percentiles/skip_ecc_bounds/with_ecc_bounds_kgo.nc -08817edf43bc5dcdb23f88593841826618a04bee05bd8a3ac5462a10c3a76b95 ./generate-percentiles/skip_ecc_bounds/without_ecc_bounds_kgo.nc -4ddef318f85af4f60fd05d01ca54c0cb1c160921458847c7c154244ea5d5fd2c ./generate-realizations/ecc_bounds_warning/kgo.nc +fc6b96aea583790a8af15759f6b8b8c6e9c73024c9f8bd736de730def88ae70b ./generate-percentiles/skip_ecc_bounds/with_ecc_bounds_kgo.nc +e329317beb584ac46dccae580843b29983755a3fed546b59d3528728db689caf ./generate-percentiles/skip_ecc_bounds/without_ecc_bounds_kgo.nc +97b1d74003bec1c8bad2902750797df967592420408aba6f643dd52f9141c99d ./generate-realizations/ecc_bounds_warning/kgo.nc 0239211e3e32c10593821f0fb71ee567c7b95173843608f7cbc633c22af877ab ./generate-realizations/ecc_bounds_warning/multiple_percentiles_wind_cube_out_of_bounds.nc 413c1fca41f8a29e226d0172b3d28ceae572bacbc23b369b1576f89c8c73afd9 ./generate-realizations/invalid/input.nc 9326797b5a1ee43b8719eea58295790880462895b0963b55970804181eb99398 ./generate-realizations/percentiles_extremes/few_percentiles_wind_cube.nc -707cb6aed424635bf8f69092db8b1de3ebe3ad1569caafdcee3cb5f26ae6f374 ./generate-realizations/percentiles_extremes/with_ecc_bounds_kgo.nc -204023954f3cf107e7357db75c54e216dd38acd744c2f8af78aa91230029ae08 ./generate-realizations/percentiles_extremes/without_ecc_bounds_kgo.nc -9ff2b2f7d3f083983a114fc66e20f16dc70dd8051caad637aa76db3abb6d9bb3 ./generate-realizations/percentiles_rebadging/kgo.nc +73aec232b8c7086e6425c1e1dc8293abe5f54fe0a408f25956332df67401c1de ./generate-realizations/percentiles_extremes/with_ecc_bounds_kgo.nc +b65f9cb7c01e579614f14e3d0764e371014483f974c3aea9f3a0d9abc66c41c6 ./generate-realizations/percentiles_extremes/without_ecc_bounds_kgo.nc +db2cb639586ada39cf210c40a7714a3104cf6c1ad4a6a0a6b2617c2606eabbf2 ./generate-realizations/percentiles_rebadging/kgo.nc ae85179605e8c5bb8d23e8d5c74c78ee68ab326a71b399d247ee6a320a29e281 ./generate-realizations/percentiles_rebadging/multiple_percentiles_wind_cube.nc fb3b6247db40eb4df831dac001f41bce69937c9e31fa47ccd1cda5d443eca282 ./generate-realizations/percentiles_reordering/multiple_percentiles_precip_cube.nc b53419eae8eba5994ebe55ecaede5eab174ca6392eba4a928b9768acaaefdca4 ./generate-realizations/percentiles_reordering/raw_precip_forecast.nc -68f36a247d12de3fa6e142dc901c6b3c220b1af6c16b7e8230e167a502557423 ./generate-realizations/percentiles_reordering/tie_break_with_random_kgo.nc -2d7a2693714e97d575096306e61b5bd4ae648934b5290cbe193c8ed52993558d ./generate-realizations/percentiles_reordering/tie_break_with_realization_kgo.nc +326ba2b80cdbd6c310820fa07e9c6a497552acca0daa4c02c422b6ee50c698aa ./generate-realizations/percentiles_reordering/tie_break_with_random_kgo.nc +58d018a8a1618b8c7fb55d6070b469cab8c1e18918b3acb2cafe6aeb43e18b9d ./generate-realizations/percentiles_reordering/tie_break_with_realization_kgo.nc 4d4a791c214c066321b8b00f0a038b69ff7879f86fc40f4be70b21c8f81cbbe6 ./generate-realizations/probabilities_12_realizations/input.nc -30c172ebecf4ee884d11617fb4ad65609dc121c67512318b5ecf8b1e86d98866 ./generate-realizations/probabilities_12_realizations/kgo.nc +e73af5faef516d2629d590b6eb89a0390e9d2d6f78bd20ae22aeb6d247f69146 ./generate-realizations/probabilities_12_realizations/kgo.nc 6d59cb312a57bdfc626700d758b4dabc10e6031814ce373a90838dc957b2c324 ./generate-realizations/probabilities_reordering/input.nc -f83dab01ae4e59f5022287c83d38e6d1dc4431c19b23fa9b8987ab17d355c53f ./generate-realizations/probabilities_reordering/kgo.nc +9d431e782e7a3af7d84e845dd1f71ca263877dd13e888241285891697cace0b3 ./generate-realizations/probabilities_reordering/kgo.nc 277706023136228258630994b0b49d85ce27cb62d1424c4c6a01fb11298fa5be ./generate-realizations/probabilities_reordering/raw_ens.nc f8aa2012e0796ed977262d269f22ab1fd96865a8d51094d575e38570c0a7cfd0 ./generate-realizations/skip_ecc_bounds_probabilities/input.nc -2e9a8c4c4b3929e60d1b911f27b6a29396cfb5ad1af88a72931fa57f44228b7f ./generate-realizations/skip_ecc_bounds_probabilities/with_ecc_bounds_kgo.nc -6f55c9aca285b3d0c5c5aa1a2e40ad24f4c859e9dba3eb7d1b685040245421b0 ./generate-realizations/skip_ecc_bounds_probabilities/without_ecc_bounds_kgo.nc -2a8c1cf98102ea0b89a1c870377269cd5d1d0c1403f45a26077738cc76b30702 ./generate-solar-time/basic/kgo.nc -45be1f0ce2fdf745fcdaec1544996fbdb82d7b5fc3e9d836f3f4fdba24f77752 ./generate-solar-time/new_title_attribute/kgo.nc +fd5775f3263ca52ffedd6460dec7d7fb992c26c757fe676a46ba3ba92260008b ./generate-realizations/skip_ecc_bounds_probabilities/with_ecc_bounds_kgo.nc +c957c55438f6f3d60fc85a0d44140a5670aebf09fe7c8ecd93a10aff1d1a5835 ./generate-realizations/skip_ecc_bounds_probabilities/without_ecc_bounds_kgo.nc +071df917a29c727cda1e330d8a76306fff26fce2441e971ce1abe67ea9cf763f ./generate-solar-time/basic/kgo.nc +3123f198f39c89a494f7a667d201787fec4b625ab777a090df54d54fb7f9eeea ./generate-solar-time/new_title_attribute/kgo.nc 8889f6a884989e21d2547ce8c3d5b8f713d4f00fece3bb05fe5c3af3d6bf74dc ./generate-solar-time/surface_altitude.nc 2015095f8aee93bbb2e83543dfab49588fa8f2ff4f08d3a07d04fd1f46b9437a ./generate-topography-bands-mask/basic/bounds.json 6b594873e8b348933bf5dd489f896e3b673b63fe358ce7c30b7eadbacd747922 ./generate-topography-bands-mask/basic/input_land.nc @@ -544,10 +597,10 @@ ba7a8a4dab8552656cfc38962d8cc6dce7e32d0965823c77008906d0c6afe7b5 ./generate-top 06911b6df4f8195a9349ff12f352bd1a6251dfcdbcd9f573d652c242f4fed596 ./generate-topography-bands-weights/multi_realization/input_orog.nc 0c52d393be6e53eaa8b9d88a38ceff5ca07772e3385f776ac85df971afaa532b ./generate-topography-bands-weights/multi_realization/kgo.nc 4fe3a154c46e079ab0f42c04db93c94a35b1b7e73a6b3a303f29b8a7167aaa5b ./gradient-between-adjacent-grid-squares/input.nc -8b0c59a4a367398fb0df7c3bb156adacd36f7316974d98553caee3d9d4d1d0cb ./gradient-between-adjacent-grid-squares/with_regrid/kgo.nc -4b69c62f7867dfc92b660cb902dc369361619b394e507c4648828d40f9c3eb12 ./gradient-between-adjacent-grid-squares/without_regrid/kgo.nc +61cdfa8bd4780e08a2d58894f77f35b602c2bcc85471b82e4b4dfb9bd3785575 ./gradient-between-adjacent-grid-squares/with_regrid/kgo.nc +d07632a0ba281aae60c88a219d9ed34b78480723005e6b386e80cf0039f90c16 ./gradient-between-adjacent-grid-squares/without_regrid/kgo.nc 19e48705dd34036cf8e974dacdfeb510a55720f387daf64044d12b73d8d18ca7 ./gradient-between-vertical-levels/height_of_pressure_levels.nc -fafd9c642ef7a63b1c453dae66cb55eab3d7816b02122d12da9320763d2d8db2 ./gradient-between-vertical-levels/kgo.nc +5c02d08fcbb153d3536dccb6a57be1a5074a9ebfb70a74d824c51b9c7637291c ./gradient-between-vertical-levels/kgo.nc a8eb2c78a65acb58d9535c3390fbf22249e98929002c21b5a4b5c534640d18e1 ./gradient-between-vertical-levels/orography.nc 2048e3a2dc7ea8f9e990dceb1108d69223c52fad5a1b5e21bc6206c60e2115a0 ./gradient-between-vertical-levels/temperature_at_850hpa.nc 0f61a96ffc719c656a6461b4f5562170e12dd1a4fb5096f5ada6ed89cc41ba7b ./gradient-between-vertical-levels/temperature_at_screen_level.nc @@ -557,102 +610,102 @@ a01f1ab686e1570b89a91e2eb4d9c0fa1bb71bd1abf26d1e58b5b5610ae953dd ./hail-fractio 66c43db78641e1d0b4d45c3c93692cb64bebf245516105b4670ce3d69c6cf3b3 ./hail-fraction/hail_size.nc 8af128cb571338779dcefd7574929f1f3606ee79c0f69f21f6afd9b15f22f3ea ./hail-fraction/orography.nc 61e38e6ff1578b41001a7e03771b87246a7df518affb17de183c06c03ea1eb86 ./hail-fraction/vertical_updraught.nc -a6190c52e354e882316a7c86dbe6db471aae9c548201cf07e4475a3db3932f8b ./hail-fraction/with_id_attr/kgo.nc -509db8edb6ada20ca72e7c74843dfac52c7e3092310450f212637654a73024e3 ./hail-fraction/without_id_attr/kgo.nc +80f7a3a3318a1cc23666a63611bb20512c6de3060586d71995b721c949b73563 ./hail-fraction/with_id_attr/kgo.nc +24c21d72193f0b98ed05c74f0fd1bfd20da2aba4b95a6de45bdfb9cd161a7e86 ./hail-fraction/without_id_attr/kgo.nc f2a9e066adf1ceddd6b761d53b71b6fa0df2aa8ea32dd6508375d736ced817ad ./hail-size/ccl.nc f0abd84a6be2944831c1cd28e739a401fa48ee51da624db98f8763d5742e50bb ./hail-size/orography.nc caa759d708afc535223bcf35924e98962675f6e3f690fe1f82c5de5ba08302b4 ./hail-size/temperature_on_pressure_levels.nc c4451e5a94a946215e5a3e09787b0d25c215aa4511110f46b6015c1c5aab13c9 ./hail-size/wet_bulb_freezing_altitude.nc -0af18a52713334627696679bb369bb00332e5cb8f8a1a82ca9a2a7612071e6d3 ./hail-size/with_id_attr/kgo.nc -76d84b674d8c0c9bed8bd27fad6697be7559c9ebe1c13296363717cbcd888add ./hail-size/without_id_attr/kgo.nc -e4ad2774923662fad733e3d95730416993abd94486aa9e032256e9d60d4b1bc0 ./height-of-max-vertical-velocity/kgo.nc +55eb6d9e6314e925c2730cf1d477f8b6799b1e0055d7205c4e198f50167241c0 ./hail-size/with_id_attr/kgo.nc +ce09aafc535c43611df16bb8b0bf4a43c49b2a8302cc34018b72d9373841508b ./hail-size/without_id_attr/kgo.nc +7e315c8eae130125ce2eace27cac08b89233765f3f4fc55c6f1ce30b7da77a80 ./height-of-max-vertical-velocity/kgo.nc 90ac17c415ba2b0249de3f304bf2f511a9a294710e0577dac9231b6ab822660d ./height-of-max-vertical-velocity/max_vertical_velocity.nc 929f98fa947ca8b635d76f6d3509b368fe7780019af76172dddbae4fef21822d ./height-of-max-vertical-velocity/vertical_velocity_on_height_levels.nc -cebc2ccbe6c8e33b3e39d65f07d189172133a3fc6c22e3567c61572e14750cef ./integrate-time-bounds/basic/kgo.nc -b8ae3b9d3db05fc0c8479bb707465aeaf140202ab4477d025f5c793e2d287dc8 ./integrate-time-bounds/basic/kgo_renamed.nc +e4002b78026bf59b8a2274872dd87d17b4c6f54085ba75573f0b6099e3f62ae6 ./integrate-time-bounds/basic/kgo.nc +edc20b73a66f29159ee676b98eae8eed9b8d5b2a1d7b7b906415d3e452cdb195 ./integrate-time-bounds/basic/kgo_renamed.nc 5aaa03199faf9df5fda699936b33df862b071b3790b04791fef31d8cc0fd074a ./integrate-time-bounds/basic/lightning_frequency.nc 84562b15f63f014168f6808bee71995a84185d3a62bf436eb7a537010dcf4015 ./interpolate-using-difference/basic/orog.nc -854bba49c9daa66d930c2ea74300607297cd836ed8579e0a449a40e738e18af1 ./interpolate-using-difference/basic/sleet_rain_max_limited_kgo.nc -0bcbf3e7d168b97a8229e24866ef110b11f6dd61d14c8d6f18d9c2003d93d5b8 ./interpolate-using-difference/basic/sleet_rain_min_limited_kgo.nc -81fa7bde75ccb23ea9f68c08963290d1adacefa6c74a4e52cb2e73493a7b0dec ./interpolate-using-difference/basic/sleet_rain_nearest_filled_kgo.nc +3b555fcd139901f2204395554072759432d7127629ec84e0c0bd7edd684afc15 ./interpolate-using-difference/basic/sleet_rain_max_limited_kgo.nc +dbec36f79fe5b7c9a119eea90c91b8bbc5fd5627c46a12a2e98c73e874af7fc0 ./interpolate-using-difference/basic/sleet_rain_min_limited_kgo.nc +55602f195922b3e7a7edb0c6b945819782370c6f049fff6337db05b1643609f1 ./interpolate-using-difference/basic/sleet_rain_nearest_filled_kgo.nc f0a89bda83864f490ea47fa929617ab60e8cb33ab0be912a7302a903c5f5faaa ./interpolate-using-difference/basic/sleet_rain_unfilled.nc 9f49f095611b61d63c992037e3b2fb35c2908863b0bb389613dc88b5e247748a ./interpolate-using-difference/basic/sleet_rain_unfilled_corner.nc -8f3eb286bc63934281f2f7299382bdc7ad06800ece947b54af0c0508ca59bca9 ./interpolate-using-difference/basic/sleet_rain_unlimited_kgo.nc +da85bbc556b8a2032a652383ace737329ee4e185a2799a4d82bdfc45217b13ee ./interpolate-using-difference/basic/sleet_rain_unlimited_kgo.nc 6bd34e690c06922372d09387327cb711da3192b1a76fd4b7d9f31c276734255f ./interpolate-using-difference/basic/snow_sleet.nc 2ebd0073a5fd84f989c976229120b60fd720d1c4ed1f2229abaa675fef281c98 ./interpret_metadata/non_compliant_weather_codes.nc c45d0da496a7c79052f60ae126cb51cd4a731659cec3470f9005e3996687dc99 ./interpret_metadata/temperature_realizations.nc b58210883238b08d0fdf91dc054d38ac298f60442501d3e0e83b44a6d10db58a ./lightning-from-cape-and-precip/cape.nc -451117dd982c6fbd66c7815f8d5401de129420ab4f24164870b0a41223394bea ./lightning-from-cape-and-precip/kgo.nc -17b00c2946c65837d0f31fea4a146da3ca93054f7a944b3e400ead0e7372efee ./lightning-from-cape-and-precip/kgo_with_model_config.nc +068b39c9765037e608afea3f3808bc9757aeb575f6817053e5f22e083f1db3b2 ./lightning-from-cape-and-precip/kgo.nc +5ca720800c468c9eab0529f866b8206a91bea58f58a2a5b48d22f8df80549fb7 ./lightning-from-cape-and-precip/kgo_with_model_config.nc e740ae94a72622fbbc82b53a65096058916e0e5a744443bbf1095dd5cabf1341 ./lightning-from-cape-and-precip/precipitation_rate.nc 49fa0d424e4f9b2281c2aa65e9e55c15dd6cd0500c765b29adca9f3ffb1364bb ./lightning-multivariate-probability-usaf2024/apcp.nc ff80b3950adf7fa7fe74fba71393762f986fbca830873b28cf254cb9d3cd8623 ./lightning-multivariate-probability-usaf2024/cape.nc 5e9ac038c444331f81f0ca16ccda885fca92451a84a13d43e8ec901287eab9c0 ./lightning-multivariate-probability-usaf2024/cin.nc -c5e19c3bd231b848b018b66773ebe03b3b8ec1e4d89b7fbb1e729c868a0e4bf8 ./lightning-multivariate-probability-usaf2024/kgo.nc +973ae4e1a7a1c045ae20671aebd8b26aaf07102c55cb97397688bcd99ade46e0 ./lightning-multivariate-probability-usaf2024/kgo.nc ebc7a3072ca601cfd0a33d3585245be50098aeeb8266131c8c46decfa8325f7b ./lightning-multivariate-probability-usaf2024/liftidx.nc 91b24e47e12c04c100b27ade99028abb15501c59022f720a9df17b0d924c941e ./lightning-multivariate-probability-usaf2024/pwat.nc -814a63cc59ea0c0827cc435c8607891677e2acd234774f6cee721c3afea67548 ./manipulate-reliability-table/basic/kgo_300_min_count.nc -b99d11406c811e78d690d42e0f46a92280e588a8b0101e8bf2c8fa36f3262860 ./manipulate-reliability-table/basic/kgo_precip.nc +b497bee2d2770ffa15f26b0df1ed042f00f05bfaa4bcdc6d998a63f7915e3c9f ./manipulate-reliability-table/basic/kgo_300_min_count.nc +937bf2c0560683320e1dc191ede5f2a1865875484f41551a62e729477df78f43 ./manipulate-reliability-table/basic/kgo_precip.nc a709db26d352457bf4f1bddf5dbade499fe89d455669e567af8965eccbebe9c4 ./manipulate-reliability-table/basic/reliability_table_cloud.nc 5bb4bb6ac2ce9ab29277275b26964a7f3633ee4c7cfa4aa4f48769e091379188 ./manipulate-reliability-table/basic/reliability_table_precip.nc -7f1093fc474320887110f28cbce1881ca68f3ed30e0fa6b2a265633e31fdd269 ./manipulate-reliability-table/point_by_point/kgo_point_by_point.nc +a1f605c872d0c8b8a484a3478c7f5068159e9f64fa98ae9b452bdb65318be57c ./manipulate-reliability-table/point_by_point/kgo_point_by_point.nc a162ff6c31dd3f0d84e1633c0cca28083e731876a69d40b7f14c6ff4a3431f25 ./manipulate-reliability-table/point_by_point/reliability_table_point_by_point.nc 0f35c52998ea93be4d8ed08f0ed1164b68bd6a197557afb95ae466fbec81c22e ./max-in-height/input.nc -2856432e02159afc04dadf37a0f8033cba25a9b29dfd73baea10369ccadfb645 ./max-in-height/kgo_with_bounds.nc -823232b882186fd7b7bd6172f5cedcaf5fb980b86a271553d2e4313e5e9b2b4b ./max-in-height/kgo_without_bounds.nc -19df0025503f5c42e07db9a104a14f9cff8d98006b58e5c6ba7bb4a59c9f7f7d ./max-in-height/kgo_without_bounds_new_name.nc +4d46ef063da2d1e9791063eb19e9c2900e3508716d51a16d5b86d6fefdd7db6f ./max-in-height/kgo_with_bounds.nc +16159b1eb7afa483db1862ecb929dd8a48dea3f6a17d27d344a588fbd11f6960 ./max-in-height/kgo_without_bounds.nc +0c4d0c51d639bde594589b8d89ec184369ebac6898d989907580d8ad570dd97b ./max-in-height/kgo_without_bounds_new_name.nc a2de3ea5608d30d4ac2759e9ff4c4a6573e2c0e8e655595682a2ec2691c2de74 ./max-in-time-window/input_PT0029H00M.nc ac81531fa507a2a3a12d4adb542ed014594eff4a38137f947d3a68a2063fab49 ./max-in-time-window/input_PT0032H00M.nc -fb02306f960fa36cf9a86921ec6599541e0a0823dfa546856000f810cdd96d73 ./max-in-time-window/kgo.nc -34e357f68eeab5167eb87200dc536332fe2248c97202dfc7c99ff94bdd2b3435 ./merge/multiple_file_kgo.nc +aba4aea17af32741ee60486391660d0527d0e46f00d8b76374b89261ef36744e ./max-in-time-window/kgo.nc +2ed04021c9b6c496247c886c84749f2336dc529b430f59e8a319d6e47cd2969a ./merge/multiple_file_kgo.nc 763a4fb1867a0c46598125fcddcf8e0eeaeb25c326559ed41e52bd514f2c5015 ./merge/orographic_enhancement_T3.nc fb6815bc9492491c8cdf436ca3f82cfc3ae6be8c0349a6f569575f5bf7f6708a ./merge/orographic_enhancement_T4.nc -763a4fb1867a0c46598125fcddcf8e0eeaeb25c326559ed41e52bd514f2c5015 ./merge/single_file_kgo.nc +9cfb3d532f18f1c9d32b7c165df5ec61a0ff65b75c29409eb4abf7523543cc68 ./merge/single_file_kgo.nc ffb827abbdca90bc2b6364a9e19e8ec2d05d2e5654db75c0007d5db8b457d64a ./nbhood-iterate-with-mask/basic/input.nc -5d3e4ee6ad748172f09d898f4d9b8b7acfbf9d5034c802f9a2cb527d3dbbdb91 ./nbhood-iterate-with-mask/basic/kgo_basic.nc +f1771a6b05d0e3ce19c3c08a9e1f1f4bb5bfe06d7fb72c095ff7b7a04cd69c54 ./nbhood-iterate-with-mask/basic/kgo_basic.nc a3fe8e8b7969fb1ec4ed52aa098c95bb467d16bf54027c05e561d5a36328d402 ./nbhood-iterate-with-mask/basic/mask.nc -54ac00b2c97feb5902327e1e5e8819bbcb8a4445e7917a051d56cbd9325ea233 ./nbhood-iterate-with-mask/basic_collapse_bands/kgo_collapsed.nc -67bb08e38e6fbd1d33f766acbcd38ea21bffc358a27202466429ddf73c2f7d8d ./nbhood-iterate-with-mask/basic_collapse_bands/kgo_collapsed_circular.nc +e74adcf91e5dee24b94759db0de72c3f8ac6b8b056441395b60314fb8666e65a ./nbhood-iterate-with-mask/basic_collapse_bands/kgo_collapsed.nc +b4d86c5fd7e867d9185b48a0b4c0c6abc1876296cb5d21feb030b45cd47b67c5 ./nbhood-iterate-with-mask/basic_collapse_bands/kgo_collapsed_circular.nc c4f5cac0aab059138fc9bb68bf2a0a685bd61fdc3b3097a40370a622b9c0e8fd ./nbhood-iterate-with-mask/basic_collapse_bands/orographic_bands_mask.nc a3036504ae2292274689a67c2e99f839302fda2f7f4f48c05e9c4ea33d83c5ba ./nbhood-iterate-with-mask/basic_collapse_bands/orographic_bands_weights.nc b3e66cdc28e620eb3c389fb674cca10406f5aa9d70708e9bd6d90747c8eb0b07 ./nbhood-iterate-with-mask/basic_collapse_bands/thresholded_input.nc c770d74acdedb2b98fdf9369fb1316f19efbff3dacd30e5b6ec1a4d9aad59e55 ./nbhood-iterate-with-mask/collapse_store_intermediate/kgo_pre_collapse.nc 6b79f866c17f4b327cdc43f8373a915375539b61ffc8372bb722d803401bb363 ./nbhood-land-and-sea/no_topographic_bands/input.nc -784df84a3e883791c5f958afeed86c72ea6926127370ff63e253e192ac93ec27 ./nbhood-land-and-sea/no_topographic_bands/kgo.nc -4588f2e29c5cb712674fa8193662f64e5c0ea288a5eb97e85295342f1a4e4c50 ./nbhood-land-and-sea/no_topographic_bands/kgo_circular.nc +08dc5e60f33b1ca9361d824b93f00298734f887aa74f4f4d55f1c3b54bca6460 ./nbhood-land-and-sea/no_topographic_bands/kgo.nc +0fadd0d71acb3b3a4852b0b3a76350265a069746117479ddab8b1a3f64b30b37 ./nbhood-land-and-sea/no_topographic_bands/kgo_circular.nc f4e12249b781f0b055d0d5ef02aecd9fcc2d6ee5a2fc7b5a2320afc8f6179a93 ./nbhood-land-and-sea/no_topographic_bands/land_only/input.nc -abddba9fe2a29adc06d20c0485fb71133e942ab5dfa7c0617f35a2d5efa41692 ./nbhood-land-and-sea/no_topographic_bands/land_only/kgo.nc +92f82e0303aad288786682e98fbf2ac89641443bddf8758c997f12f0e22e1b0b ./nbhood-land-and-sea/no_topographic_bands/land_only/kgo.nc 591f4d2b52b4646e8d90ee1ee4a0e841cd0e821d87179e53f0aefaff4ed01ca4 ./nbhood-land-and-sea/no_topographic_bands/land_only/ukvx_landmask.nc e764d9ede79fb809579ee193cf9ea23b231eca9871541de97db0f69d53347302 ./nbhood-land-and-sea/no_topographic_bands/sea_only/input.nc -322c4929c96e3b4ce06729eb55177ef3e3720808705bf914a2247a84a92324ef ./nbhood-land-and-sea/no_topographic_bands/sea_only/kgo.nc +36e0dfcc7258fcc1111e92cd5be0a46df2a0654d8b50505bd2c6862f5837e180 ./nbhood-land-and-sea/no_topographic_bands/sea_only/kgo.nc e07de2f1cac19065645b5c55cc8f5614f1351e0e8eb5658c1505fefc6d1597da ./nbhood-land-and-sea/no_topographic_bands/sea_only/ukvx_landmask.nc 18c16b714871cab1995fee27368d974f27343daf99396af8342c48285eb4ed31 ./nbhood-land-and-sea/no_topographic_bands/ukvx_landmask.nc -60cb59a416d95b3113a69bbbba1ed8bab03990f2e7c284e7a2796e3321606640 ./nbhood-land-and-sea/radii_no_topographic_bands/kgo.nc +7fe463318cebee21cac4950d85c64851fe655d5716c881aeb2a2d6516358a2b3 ./nbhood-land-and-sea/radii_no_topographic_bands/kgo.nc 6b79f866c17f4b327cdc43f8373a915375539b61ffc8372bb722d803401bb363 ./nbhood-land-and-sea/topographic_bands/input.nc 28913100e292d3d83c3a12a497b3cadb2ec2ff94bd6318ac56e76c55bfeffae1 ./nbhood-land-and-sea/topographic_bands/input_probs.nc c980b5be44cad34a59193393f62b2d35a3cd15504ea1152414460e0c09380deb ./nbhood-land-and-sea/topographic_bands/kgo.nc d3aec84cd2ee9f41499a8e2b2600dd1dc775615d5a0e8074eac1b335a214c9fc ./nbhood-land-and-sea/topographic_bands/kgo_land.nc -1957e4d3d34dce494354d9177d14ce6316c7c143bacb8d793d65f7eac371b7e7 ./nbhood-land-and-sea/topographic_bands/kgo_probs.nc -86e859d1caf7935abdea2483e2e02dd6fd1c1ab9882add10214117257c25fdbb ./nbhood-land-and-sea/topographic_bands/kgo_probs_circular.nc +2d098a443e9d9bc8d956dddaf9de4d9d0c414b8f45d911d1ad974a4b2e744ef4 ./nbhood-land-and-sea/topographic_bands/kgo_probs.nc +c9da9516e3af185ff985a1e3b34d217d17568579f0206d69f3817f2e67edf766 ./nbhood-land-and-sea/topographic_bands/kgo_probs_circular.nc dcca00e1ab7e751de4da02c3097930becd850a742dd9c84f6d762301d4ee2a93 ./nbhood-land-and-sea/topographic_bands/topographic_bands_any_surface.nc ff547398459c74672e40ff26f790bd6051b4f6ba0df4beb10437ef58723c56ba ./nbhood-land-and-sea/topographic_bands/topographic_bands_land.nc 18c16b714871cab1995fee27368d974f27343daf99396af8342c48285eb4ed31 ./nbhood-land-and-sea/topographic_bands/ukvx_landmask.nc 3ad5c32d2fad22979bfa2ef796bdfb5d50407d0e471622bab46648221807b223 ./nbhood-land-and-sea/topographic_bands/weights_any_surface.nc ea5ad9c18eff158c29e98085e190f834f5ab796a07158159a92199c1861b4907 ./nbhood-land-and-sea/topographic_bands/weights_land.nc 5285624042b53cef76e6ef4d9e575509725004efa18d393b83a1ccf07511ca01 ./nbhood/basic/input.nc -448e18954ece54abc2bdb18b3fb8402f6313b657c0ed5f69aa7bddd98adc3d06 ./nbhood/basic/kgo_circular.nc -47183f7ab34bc12fc1273844d0c70f3ecb8f924484cd70bf710ea65e4b1c96c2 ./nbhood/basic/kgo_square.nc +0f2ec179c80dc624513b7c6fac5a8c24ae5b9e96dc2a3fbcc89d5fbbb3afe0de ./nbhood/basic/kgo_circular.nc +de501daf239811e81c70109d55524638306f303125b58bc160140b1fd5017560 ./nbhood/basic/kgo_square.nc 87487300c60d5d7b81c789e302c360878e78468e0d7c962e8e36ec72d62a1dcf ./nbhood/halo/input.nc -69d402c32aaa5cfa69deaec630f401b8dff4badd42d6238692a7b56a30854e97 ./nbhood/halo/kgo.nc +7436f9972519fcbe1918c88207ffbea0690a159bfdbad0ac1742058661bc5fe3 ./nbhood/halo/kgo.nc c5c973a3a5be32bbe3276bb4f0c595a2ee81b11fb5814a68b25fcf81bd8107b4 ./nbhood/mask/input.nc e2f5fe1acb2274f6c4d0d5ba93b139270568aa2a64402520813a92b63f9f17aa ./nbhood/mask/input_masked.nc -55d111339c831ca101048974c8c2cafbf5f5ed46ff91980a86109bbb392e55ab ./nbhood/mask/kgo_external_masked.nc -5f1af2df2ec0f88ea02676bc7e2835ecc4faf7081b8892a93e4a6837c6b30e22 ./nbhood/mask/kgo_masked.nc +15dffc3224c6ac2491a0556de198b113478bb0abe45a51ffbee98600b1d056f8 ./nbhood/mask/kgo_external_masked.nc +bac5aa5b26e0c32da139a061a7ce583a5650a981c1a0d27f574214c84aae2cb5 ./nbhood/mask/kgo_masked.nc c73f2cd8f2a67f59e47e3979ad2262b48a3e793f4eb04af9b58ca0f01c5e84d9 ./nbhood/mask/mask.nc 2722e58693450aa455b855d4256aed30982ab2034c52a63a09070fb2abd2c0f3 ./nbhood/percentile/input_circular_percentile.nc -9df88091614b648bfdc1de5a796ceee7f98557769dd0267a45988d87d0ad8ad2 ./nbhood/percentile/kgo_circular_percentile.nc +38e9028e040e7d834dcd015181ba6d29b29a03043bd7de120c0ec628936f2fa8 ./nbhood/percentile/kgo_circular_percentile.nc 8a5546c254ea4efa287aaba6b7979be605eec1671630876956f1ed1496274c1f ./nbhood/wind_direction/input.nc -b92ef741deb97ccec9096c38427bf58c983110f2f4b1f42ef721eee1245766fb ./nbhood/wind_direction/kgo.nc +2123a01cb56b394d29e7de45cf5d2b2d8721da2a224a2aca4b6d662255fb33ca ./nbhood/wind_direction/kgo.nc 36e8ead1afd9ce192ccb13d2d0a6617371ffce25a00de980ec980804c3f25942 ./neighbour-finding/inputs/LAEA_grid_sites.json bb1d04927dbcc6150696111d2523ef221195b4bcc150fe7c0902959dab3c72fb ./neighbour-finding/inputs/global_landmask.nc 12e812d60f0f5e3de41d9eba5b4ebd7a8e0e21e8bacaeb6b9e540e5e6b279ebd ./neighbour-finding/inputs/global_orography.nc @@ -663,36 +716,36 @@ a958c7fafe161c2757b5ed75d60a777aa41d50f5258bf2863a430d15a3d418cd ./neighbour-fi 8f483d13b57c6c78e4d9f67b7aad1a5b6a8eeb250fc5ab5ccc4692fce84f076c ./neighbour-finding/inputs/uk_sites_missing_wmo_ids_with_unique_ids.json 6edcd31dcf3bdeda63c20419b2a167c552a93352938914234c6a707c1f7df848 ./neighbour-finding/inputs/ukvx_landmask.nc 052535685943eae756d7eabe4e35d8da7f1d7eba40779f02ac80967d92dfcb86 ./neighbour-finding/inputs/ukvx_orography.nc -7cc59fb402ffa70fffc7804cf2f533e4281285ea6d3ad9ce334bbf05880c2168 ./neighbour-finding/outputs/all_methods_global_kgo.nc -e8d3ef87b70bb42451f97db821885dc46ae43685f700813b64e708b01edc3d2c ./neighbour-finding/outputs/all_methods_uk_kgo.nc -6493fe218e8156080ca5082349c2b6c9ccfd190962c916d672dcf3195d94b760 ./neighbour-finding/outputs/nearest_global_invalid_site_kgo.nc -7a2ba0697ab380aebff078e40ebfca86f775b3c42913497909067a383170225a ./neighbour-finding/outputs/nearest_global_kgo.nc -2d7b1a7c91236e053a6f919d4e39fc0810f4d3e42142e13ce0edf1e70b60ed5c ./neighbour-finding/outputs/nearest_land_constraint_minimum_dz_global_kgo.nc -aa54f6292c8e948eb02c3f127d8240252b1e626db330bee26d00fa29c0edb60e ./neighbour-finding/outputs/nearest_land_constraint_minimum_dz_uk_kgo.nc -14e0be89b2aaf1791f6168b18bc0ba63e81e249f5d96ae2f35c7d35b6714a5de ./neighbour-finding/outputs/nearest_land_global_kgo.nc -542fc1e5f5107af6c21bca1052ad10a7ca11f0d7e729d2597d22d754014df0eb ./neighbour-finding/outputs/nearest_land_uk_kgo.nc -1cf7856fea66d7df6a9dc224d7141a52a6cbe9da26d8b6ca9757a5aeecb80a14 ./neighbour-finding/outputs/nearest_minimum_dz_global_kgo.nc -478ca4750aae458380c6abe730f9bdfd664e4007e5a298ae59d01a4356f99ece ./neighbour-finding/outputs/nearest_minimum_dz_uk_kgo.nc -da22d11a9597890fa31f578e21dbb274b4c0fc5b7a8a9f2df5d7d510c2f83b70 ./neighbour-finding/outputs/nearest_uk_kgo.nc -936c9fe815274d2bd9d18f5cc79719e15ae7a4424ee8121694ea701815b7b82b ./neighbour-finding/outputs/nearest_uk_kgo_some_unset_wmo_ids_unique_ids.nc +faaa1c8befd0d64088b34faf1b78a895ed7274dc59248bc912806057445d04da ./neighbour-finding/outputs/all_methods_global_kgo.nc +22043f4aa84762f9b65b45938d36ce4ea27c9c8d57b80ce75996191681e2d4e1 ./neighbour-finding/outputs/all_methods_uk_kgo.nc +c711da96d87ba5454b9112f0b5be24104ba599d4c8ec1e499e0c149f93507dc4 ./neighbour-finding/outputs/nearest_global_invalid_site_kgo.nc +2279e36d367455504574ef4fcb72d4ac32b6c2a444114ecf30028f2d055f7b60 ./neighbour-finding/outputs/nearest_global_kgo.nc +14359890efbd61f81be27c5183a8bb99fa5cb779c76a5d9ca83f6b5b4738b76c ./neighbour-finding/outputs/nearest_land_constraint_minimum_dz_global_kgo.nc +73fb3fc122904350dd1f42929cdb4b0f19b817cd330fcff8f13e007f8d921f11 ./neighbour-finding/outputs/nearest_land_constraint_minimum_dz_uk_kgo.nc +8deec906144346a79374a565c5ab18d32bc706469ededd68ffa1ad566ce4ae8d ./neighbour-finding/outputs/nearest_land_global_kgo.nc +99bed71a753eb9af971555acb7131ddd495c156c2af01ee7cf90778948cf2293 ./neighbour-finding/outputs/nearest_land_uk_kgo.nc +ae948207c8ae4d3f529e4c3da5ec4ff258a594a4b6597fcfbe650ce6cb9c9daa ./neighbour-finding/outputs/nearest_minimum_dz_global_kgo.nc +04362494e518ad79ac5f90f6e4e095ccc139e9ec95f33a3c5e7e82fbda00fb72 ./neighbour-finding/outputs/nearest_minimum_dz_uk_kgo.nc +cc8454475987cf1244e8708c9421c1c6a290bbca24154fe19d89d3f37de62dae ./neighbour-finding/outputs/nearest_uk_kgo.nc +276d6508df141df8791c4934f1f9c8a7a48c3a00c32091a9aa876acbc42ff9ad ./neighbour-finding/outputs/nearest_uk_kgo_some_unset_wmo_ids_unique_ids.nc 83fa4bfc407a5ecd74f3d7de807e3d9d567e1052bbaa366e77cf75a80951494f ./normalise-to-reference/percentile/input_rain_rate.nc ef00f9b76df85efe1a77d4c81f735789337b1e882daf13bee9f28ea1fda9c810 ./normalise-to-reference/percentile/input_sleet_rate.nc 4974aa5b23458fab845c520ea3ca3b546062e5d045dbc51ec91ecef92490ab5b ./normalise-to-reference/percentile/input_snow_rate.nc -c9fb0578ed35b24973e2b594b0dfae88b7505c94e478caf7a82fd9e1ca9267ac ./normalise-to-reference/percentile/kgo.nc +d7925ade8adde862c85d96954066bef729e6a36fa0f54c6eb0edc937eadb4be0 ./normalise-to-reference/percentile/kgo.nc 484c06a6f95e52886d9f2b2e02b5b644df27bd22faaecac1b5f80e8567ea26bf ./normalise-to-reference/percentile/precip_rate.nc 02a7642b0fd61a91aacc2be7e91b90d613bde5ee5c01e7d9f47f9a954b2dc318 ./normalise-to-reference/probability/input_rain_acc.nc d8949ba48712dde51089d33416cd01e2ae95ab79e363fcede8f33af4189509ac ./normalise-to-reference/probability/input_sleet_acc.nc 83f4d1d84378ee3ca07f17be81df89a12f53c47ee5c7c8304f850a7810f43549 ./normalise-to-reference/probability/input_snow_acc.nc -3866a31135e8b05e045568760cfc667f51e06fb1771678ed2c363fe049a05fdd ./normalise-to-reference/probability/kgo.nc +bbdfb5dcc722837d1efa725464554b9ec6910f5220a400abf060cd29b2696d29 ./normalise-to-reference/probability/kgo.nc 82ae938fd86e912c22a4f1cfdc03c948c0db056709021ed9751335518c2b0c75 ./normalise-to-reference/probability/precip_acc.nc e8413664daa768dd508d9f97227302366153fd234124875571e3af9b1ebdf967 ./nowcast-accumulate/basic/201811031600_radar_rainrate_composite_UK_regridded.nc 5e1449195499e0583b92308e04c9f048e661667f9e52b0c1da0812cd2aee6487 ./nowcast-accumulate/basic/20181103T1600Z-PT0003H00M-orographic_enhancement.nc -c79c30baaf30c18295704b84a89f979720b9133985a4f66d06152f5fe6f5d347 ./nowcast-accumulate/basic/kgo.nc +5df41bfe19f8863a794333bf40121085353aaece848dc7b4774ca72e3c5809fc ./nowcast-accumulate/basic/kgo.nc 06b63a2efc6b3336e1187133bf635d04c8805c43d0815142262e9a9618321324 ./nowcast-accumulate/basic/optical_flow_uv.nc 6e9fc55d900d7b067b6d38cf63d40ad5bac17c2b118e58c43b1fd49a0c6f9e45 ./nowcast-accumulate/basic/wind_uv.nc e8413664daa768dd508d9f97227302366153fd234124875571e3af9b1ebdf967 ./nowcast-extrapolate/201811031600_radar_rainrate_composite_UK_regridded.nc -054c6a6e676fe48a39653a54ccb1ebe7ac21fd246cb248063b8afba71bc3beb5 ./nowcast-extrapolate/extrapolate/kgo.nc -93086895b9b721f2de39290d5d02b085b994c074608b76a2532ac967c240691d ./nowcast-extrapolate/metadata/kgo_with_metadata.nc +2b7df566ee396fad724139461049693bbb7fe40e3b85a1835ac372aaeddd2bf0 ./nowcast-extrapolate/extrapolate/kgo.nc +74c2f41a2a25ea3ce3437651225d2707c9c3a39a1910ab37f248b870f0a1aa6e ./nowcast-extrapolate/metadata/kgo_with_metadata.nc 4892f1d3277d21a3eba413a4f0cac8d6aa662bcaf2bd8103ad28eb8dbda205f7 ./nowcast-extrapolate/metadata/precip.json 06b63a2efc6b3336e1187133bf635d04c8805c43d0815142262e9a9618321324 ./nowcast-extrapolate/optical_flow_uv.nc 0d0bd2a90b61aea9cea1c0bc8723b58d35553d05c1e5036522030e2f643deef6 ./nowcast-extrapolate/orographic_enhancement.nc @@ -702,73 +755,73 @@ e8413664daa768dd508d9f97227302366153fd234124875571e3af9b1ebdf967 ./nowcast-extr a2cd9d8c736eeac6b28a26d6b982b61fa2cb01311353539c8d644527446bbc15 ./nowcast-optical-flow-from-winds/20190101T0700Z-PT0000H00M-orographic_enhancement.nc ecea1f5d1ef951716d38be2d22574ca0a4fb2d1b73468e198e6fc759934df687 ./nowcast-optical-flow-from-winds/20190101T0700Z-PT0000H00M-wind_components_on_pressure_levels.nc f77e987914542bca8f4e1c48d4990f6b65e457d1127f3783cea19b292760971a ./nowcast-optical-flow-from-winds/20190101T0700Z-u1096_ng_radar_precip_ratecomposite_2km.nc -475e1e2a193d9fd846d6ced9e5cfa0d5ad95fdf8d1c88d2878b6961f27ac54f6 ./nowcast-optical-flow-from-winds/kgo_15min.nc -a1ffd3c1870430a74b9313e193df5864368f5a2df2b648b449a3cdbc89dc8a86 ./nowcast-optical-flow-from-winds/kgo_30min.nc +35de0ca8b5dc5deb8bfda76278c90779832ea73fe86ff2a8d4553489a1af816a ./nowcast-optical-flow-from-winds/kgo_15min.nc +12d36329394f85999922540858356dffb778f7112486145716d265165df5e03b ./nowcast-optical-flow-from-winds/kgo_30min.nc 8d8847f5f7cc975a43f1810336c27d45d3571c71267910e5a99a8b2c04d4a51a ./nowcast-optical-flow/basic/201811031530_radar_rainrate_composite_UK_regridded.nc f063bc8f436bb67d56cca12acf9a50a7c8d44bf23401d2acd0b6ed1269105b1d ./nowcast-optical-flow/basic/201811031545_radar_rainrate_composite_UK_regridded.nc e8413664daa768dd508d9f97227302366153fd234124875571e3af9b1ebdf967 ./nowcast-optical-flow/basic/201811031600_radar_rainrate_composite_UK_regridded.nc 5f66e65acc0357c50c100edd5c6663ac468a44c4cd749103e1da2e9a9d47f091 ./nowcast-optical-flow/basic/20181103T1600Z-PT0003H00M-orographic_enhancement_standard_resolution.nc -cb66546495cdf0348c21d2ecb990470a2de79903667ce7d448a5d47f3ed6fd28 ./nowcast-optical-flow/basic/kgo.nc +bbde86f4c321d4aa2c58af50223adf39e60b7661a143d5013f797568796af026 ./nowcast-optical-flow/basic/kgo.nc cf628a23a991b0fd05574d72b02d9a7582ca70f3ef96403dd33a16898056466f ./nowcast-optical-flow/remasked/201811271330_radar_rainrate_remasked_composite_2km_UK.nc c1d25cce92368ac560ce79c246c43010b1f7aa3775e2086f07927ac1c482e3f3 ./nowcast-optical-flow/remasked/201811271345_radar_rainrate_remasked_composite_2km_UK.nc d56d3f50cb658eed65c83783ffadbd56dd5a1d09807d237b7508dd91439fd052 ./nowcast-optical-flow/remasked/201811271400_radar_rainrate_remasked_composite_2km_UK.nc ed4505acb5711f912cc907656436a80f27dedb1d27305f49498bb272c5039eef ./nowcast-optical-flow/remasked/20181127T1400Z-PT0004H00M-orographic_enhancement_standard_resolution.nc -4a6e52f6bd62fd9b7eb6b3afb8cfcc100f44fdeae38740082eb33745ec527a30 ./nowcast-optical-flow/remasked/kgo.nc +b7b7995ebd1be4bcce9fb86411ee8d5931b78c2d97532b46de4352a834eab5ea ./nowcast-optical-flow/remasked/kgo.nc cf79278bfdac6d32d74fb71e0260e8e6f968c16052c6947979103b0502e34e1d ./orographic_enhancement/basic/humidity.nc -459689fe9ddb743b575951c33ab491bbf068e755501bb14d059932eca3b3360b ./orographic_enhancement/basic/kgo_hi_res.nc +9f9e27be311605643e4e4c71980c1fba6980d2c832ae80fc9f9ddedd86b4e55b ./orographic_enhancement/basic/kgo_hi_res.nc c59c5b2d7d79ed7ac23a9c7cd453f3459a3314e4e98bf53e0fe04c69779e83b1 ./orographic_enhancement/basic/orography_uk-standard_1km.nc 469aac9752f14153570e722f216209223d1bcd17125f0e2b59aaf254298d4bfd ./orographic_enhancement/basic/pressure.nc 41c15f8c2515020ca054a52a313c1da5df694d4531af7b143c2ec8d8606a5791 ./orographic_enhancement/basic/temperature.nc 5c4cdfb097a0745082528132d6930ea38078631249f719d83114a5fc41736234 ./orographic_enhancement/basic/wind_direction.nc 1ec32b7c8d27f91fbb635ea55f91a9d9b50d30cb2ae5ccee62c1ae94ac02f692 ./orographic_enhancement/basic/wind_speed.nc -b5fdc642f829d5816f2c3817c492539d2506c21dcb64a704993f4c08be95865b ./orographic_enhancement/boundary_height/kgo_hi_res.nc +9e28508dbd2fe6ff079c488ee952fe83995d1dfd47cf64ed1a3f578c637633d5 ./orographic_enhancement/boundary_height/kgo_hi_res.nc 9b6211a665881d2bffae5a940e3b2e75c01ca8c6a591f81fbbca1cea44606199 ./phase-change-level/land_mask.nc 2e905af2bdab2c9bc5b51a11020803fa9caccdee982e1163850886b7a113d2aa ./phase-change-level/orog.nc 281adc9b0d39e109ce5ccfc113e5826dc6769210e3f4779fa3f7016350e2ee30 ./phase-change-level/wbti.nc 0f2b2167ceec4568198f10774fea60f3b9a3f5b2eecad15fb42b1c2e9e9c05a5 ./phase-change-level/wet_bulb_temperature.nc -bcff8a4ba839bc0440bfc41a68dfa842e336e5c1ddc2aae1e031b9fd0467f2d7 ./phase-change-level/with_id_attr/hail_rain_kgo.nc -a4381e22cd91f36bd3d443b283a8d5f2fbfe2a504c6ad94b9f551f91231c1a4e ./phase-change-level/with_id_attr/sleet_rain_kgo.nc -4327834f91438d41d90f2d0df1ac5f442192ef5ba064025950a96641daf8cb74 ./phase-change-level/with_id_attr/sleet_rain_unfilled_kgo.nc -f54e6dfa2f11add1054194cda2b33500ab51f7d8add0f625b820e5dcef43d696 ./phase-change-level/with_id_attr/snow_sleet_kgo.nc -243ceff43de258a5b1ad0d94fd92a3bfe59f1c778889b5310cf50a42d10c7e95 ./phase-change-level/without_id_attr/hail_rain_kgo.nc -55ab8833cbf4a400d14756e882fe6208725d9102f43e57d6e16379a669486400 ./phase-change-level/without_id_attr/sleet_rain_kgo.nc -0ad778c7cd38572e64eb9332f8d5377d7ea01ac5c3644374c32b8c1af8d41fb3 ./phase-change-level/without_id_attr/sleet_rain_unfilled_kgo.nc -f5d9c37a0a632000e96718b6cdd765488a27b974b7482aea6862c40ae01d93b0 ./phase-change-level/without_id_attr/snow_sleet_kgo.nc -d6f4cc94f3e317b9cad58f5f2a7f4147532b21d9bddd89df79158b44a18ee95e ./phase-mask/rain/kgo.nc -c707a884f93757cda95533c05e5a1eb7a08ecd18911afb2066f0dd2a097eaba6 ./phase-mask/sleet/kgo.nc -c8ca75da7bd25e37d22989dd6d23bd30b79cabb7689d4f18fae841e335989f08 ./phase-mask/snow/kgo.nc +bd7927d9566bdc642a17b7551166704cbcdd7f22f84e434608f13cbab60e1dc7 ./phase-change-level/with_id_attr/hail_rain_kgo.nc +3adba5bc8b502d63fd6a656a939b7e93ef8ec7ec037f250cbfb42cbd5e97ff78 ./phase-change-level/with_id_attr/sleet_rain_kgo.nc +cadb1a48605a57589fefb512b4afb36b7e72a60d397a479c76b472f3b937ece4 ./phase-change-level/with_id_attr/sleet_rain_unfilled_kgo.nc +bb4da7a48ce56eb38e7fba5d9eb57530e857b456dc72ce2fdab1e2b560042014 ./phase-change-level/with_id_attr/snow_sleet_kgo.nc +e408dc15ce8768f18520e5b5504f08f14b8f9bea6659905bfd381aab67750639 ./phase-change-level/without_id_attr/hail_rain_kgo.nc +ab92034ceb2c530551647a424b574ace5eae99edf2c1ddb1f0339297d1be1fdc ./phase-change-level/without_id_attr/sleet_rain_kgo.nc +571c41f55cc57b22014bd3ab5df921b404a53871a3db61ea062310e65406fb69 ./phase-change-level/without_id_attr/sleet_rain_unfilled_kgo.nc +67b91b4092405bae25c7f198328a5c3e08d6b810b42cce04b77e9ec0f67e99e9 ./phase-change-level/without_id_attr/snow_sleet_kgo.nc +e7317d6f359ee09801608ed5ca904a4313a70499357c4958e28da145c7842848 ./phase-mask/rain/kgo.nc +c1966eb53d283bc2a0e9f16dd7ab788fa18cf47c2f221d77d0ce817ae38a6e9e ./phase-mask/sleet/kgo.nc +23ae87e2aa9a1cd9e62ea95e3bf07647289ad2cf5b1fae455267b6ee8cf73cdb ./phase-mask/snow/kgo.nc 29f807dbfdc6ffea2125cf57b31fbc417c9f80dfa38dca37349878256b7508db ./phase-mask/snow_fraction.nc 2e905af2bdab2c9bc5b51a11020803fa9caccdee982e1163850886b7a113d2aa ./phase-probability/equalarea/altitudes.nc -a2b589593dfdfbd43915f628f1dd769ad8324111f4a0a24243d100717a79a2f3 ./phase-probability/equalarea/hail_kgo_deterministic.nc -e6f2609cdeaae9a84867ae8d56aca5738ec7ee30749cb30c4dd9dbb8e6c55a7f ./phase-probability/equalarea/hail_kgo_percentiles.nc +c4295f21394709f294ff75435ebb7fb0e448a624c12a65251f1bee79feb72bb5 ./phase-probability/equalarea/hail_kgo_deterministic.nc +48d86cf0435d163284de9f043d2f669818e5a1d2b97288445df95e69608c4ad6 ./phase-probability/equalarea/hail_kgo_percentiles.nc f4e72ec7a405e6fc0b1a104d0d2105e661c535972703305715820cebe20db6d0 ./phase-probability/equalarea/hail_rain_deterministic.nc 74f65085b6a47cabe2820c919625280d8b581f349e7b136854800d5503a4c2f4 ./phase-probability/equalarea/hail_rain_percentiles.nc -7dd37839d0fc3641175d86f8afd307c876f939c44d01c586e8cd13685825e30e ./phase-probability/equalarea/rain_kgo_deterministic.nc -ab7438c4023104cb22c6fd93250c2978251e5d8ada04ead6ad7708cf2b815ed2 ./phase-probability/equalarea/rain_kgo_percentiles.nc +371a79a7e8419fa6ef27e64f12985b7fafec28f62062318e173f98785485dd2e ./phase-probability/equalarea/rain_kgo_deterministic.nc +dadbb2170a09aab828c439a3baa6acdadba03a3b941dd8cf95397b54ec110c0b ./phase-probability/equalarea/rain_kgo_percentiles.nc a241ce4ae3c6ecfc4350acb603672ee8b774ed89abe4ff164c36fd020e808ca2 ./phase-probability/equalarea/sleet_rain_deterministic.nc f792d697a8ff6d40b5fad499ac7482041db0f93aff0379ade128d5831a1a1fe7 ./phase-probability/equalarea/sleet_rain_percentiles.nc -ff146b15f995bdef9cbcecf373ef912b71226c80e94a9e4aa6efac064701dbaa ./phase-probability/equalarea/snow_kgo_deterministic.nc -e40f6c2e7e99de456100a7dc60bc81ea3c85f46a5efd12346f0f27ed8dc97d78 ./phase-probability/equalarea/snow_kgo_percentiles.nc +ba04491b7d7e3861149fc35062c11429b0bbe818bc6aa0c70c4c2d284bbd43c8 ./phase-probability/equalarea/snow_kgo_deterministic.nc +04fdad6fb7cf27fb9e501e5c3783afb23d31df169123f1472314ec0343779f51 ./phase-probability/equalarea/snow_kgo_percentiles.nc d7ecac6e2dd7cc589a9875db74f0918b22909ec3cfed0eff2392cde33a08a80e ./phase-probability/equalarea/snow_sleet_deterministic.nc 53285eb9ecda350dceddf44c6b2e46a917d495af199a97e0c5db570a92549bbc ./phase-probability/equalarea/snow_sleet_percentiles.nc 11c26266048c7703c63aff247dce7c5e0b0868e6bec3bdf434d5a4712e9ba220 ./phase-probability/latlon/altitudes.nc -979d3de4fec7286aa89f83a9c078374c4bfecdb4409f2c4850ae4f693ad7171d ./phase-probability/latlon/hail_kgo_deterministic.nc +909f6fceeb93004ec952392cd31d77fe37209c796a6a3c74350d89448032e061 ./phase-probability/latlon/hail_kgo_deterministic.nc c542a7c576d9e81be14311caabcdeec0292b127e0c6d8fc8b4801de0be450bbc ./phase-probability/latlon/hail_rain_deterministic.nc -f22c7436f44428c57bf488e3474429c679e9b2f11154ab6cacfe85a6d7158f0e ./phase-probability/latlon/rain_kgo_deterministic.nc +a51aec57e81b4be1b70a505ce9b89638dd914030b4b26c5e2561c7b3903749e3 ./phase-probability/latlon/rain_kgo_deterministic.nc 50f1f3dfc43a601c9c9dc685ed7d05cef4a91f78551118e08d2005c9bf7ed57c ./phase-probability/latlon/sleet_rain_deterministic.nc -15e660d70389379947f68c14c5901f8f52fc9cd51697a7689ea8e4e5551ac024 ./phase-probability/latlon/snow_kgo_deterministic.nc +c0a31998eb79a05691789b8440027bb71db38c95e2b5c6bece5120ce8efa7f59 ./phase-probability/latlon/snow_kgo_deterministic.nc e01e3a2a3ef61acf392f0e0eb4ce69874f593e5ca21f5d387a74af4fa6b7998e ./phase-probability/latlon/snow_sleet_deterministic.nc ac706582f917c59260b0c381ad49cdc6ca47cd47c01ff83b499b88ca19cc6761 ./phase-probability/spot/altitudes.nc -004b3482b71907d34c0a66df9e64d991f5dad2768ff9d68f713ecc22fd17c32c ./phase-probability/spot/hail_kgo_deterministic.nc -004b3482b71907d34c0a66df9e64d991f5dad2768ff9d68f713ecc22fd17c32c ./phase-probability/spot/hail_kgo_percentiles.nc +034a1649d94af8d5cc86f850efe4c39ca1807073eb027d955dc61feb2e2bc826 ./phase-probability/spot/hail_kgo_deterministic.nc +034a1649d94af8d5cc86f850efe4c39ca1807073eb027d955dc61feb2e2bc826 ./phase-probability/spot/hail_kgo_percentiles.nc 5f16e989f83d9e765535b9413206b2aa1bffeab0008222218258429ceae65e39 ./phase-probability/spot/hail_rain_deterministic.nc e11ac06f53985851a2be3e7b6a700b598aeb2672ed6edd4bb8c7d6db2ec9ec0c ./phase-probability/spot/hail_rain_percentiles.nc -6c9dbadbf83bad85971203077b933df1c7b5afaefd4ca469ad105ba3f471a304 ./phase-probability/spot/rain_kgo_deterministic.nc -6c9dbadbf83bad85971203077b933df1c7b5afaefd4ca469ad105ba3f471a304 ./phase-probability/spot/rain_kgo_percentiles.nc +b0a0a2b4b454c54df01920df4a2e717fee74052d927ba7527ae32311812bcc94 ./phase-probability/spot/rain_kgo_deterministic.nc +b0a0a2b4b454c54df01920df4a2e717fee74052d927ba7527ae32311812bcc94 ./phase-probability/spot/rain_kgo_percentiles.nc db89fbab53988556f708cbffaa7639b153ffa81eff4f5586398e7efa90af9db2 ./phase-probability/spot/sleet_rain_deterministic.nc 24042c1d9f7d3d49c0a8f2effc7c299aa726f101a73357029c8c58e2448443ba ./phase-probability/spot/sleet_rain_percentiles.nc -64d44e3efbd95068cb69b80a93a6bed4f476fac0694237bf47450217d3b1c99d ./phase-probability/spot/snow_kgo_deterministic.nc -47fbacac3d831adb790680cb2c3d3133cd0bc33897e22c5e915f1ed09254a7b4 ./phase-probability/spot/snow_kgo_percentiles.nc +1c0c94f42319fddb329ea33628bbc91c9104caf753de272cb513b3f23e8a45d1 ./phase-probability/spot/snow_kgo_deterministic.nc +095bd63feb9852076dba19f89340edf65229773f030e5fc98d034263678e9e88 ./phase-probability/spot/snow_kgo_percentiles.nc ebac866c30e11898a4925b070d79077314ddf6f6685dfef5761e7f21a872bf89 ./phase-probability/spot/snow_sleet_deterministic.nc ed7a7806032f75669575cc37941d2d7570ebfcfe4784028a11a71ee72df35f87 ./phase-probability/spot/snow_sleet_percentiles.nc b401e40639ab1139531524ad88b71425a66888c453d82acd7d11b72d031dc238 ./precipitation_duration/renamed/20250127T1200Z-precipitation_accumulation.nc @@ -787,7 +840,7 @@ c4c4fbef60200810dca850c72e3298ea5905e996ff35f54415121f212918bf73 ./precipitatio 5d798a03f2160ec4293deddfb004605cfb92d9f34deef54ece9fc76cb70357c3 ./precipitation_duration/renamed/20250128T0600Z-precipitation_rate_max.nc df1133cedfd5fe7d878edad9b6d0fa4cefe76705f647f5b5c0fbcda53575d7a3 ./precipitation_duration/renamed/20250128T0900Z-precipitation_accumulation.nc b79764837a2fc67c8b9bc133d7c2fde373e78a0a54531d842b282cd3a05af401 ./precipitation_duration/renamed/20250128T0900Z-precipitation_rate_max.nc -627a431c63a1e9d9b2a284f73056523b786bb4ce3436f9704281632804ddd11a ./precipitation_duration/renamed/kgo.nc +67274cb2daff768f56b875fdc88fae66cff47cbfeff4cd1cafb804a303377d0f ./precipitation_duration/renamed/kgo.nc 4f5d4290a11b97eaf38ac567f92c915a198b505b03cb8c2919e24841289d795a ./precipitation_duration/spot_data/20250127T1200Z-precipitation_accumulation.nc dcfa66035774604833f5bb963006a9b355945a2888f8c4793aae5d6588afd9ae ./precipitation_duration/spot_data/20250127T1200Z-precipitation_rate_max.nc 1da0e3aaf73ddedcd08443178bafc2f9c1f6b49ee0ac44f4ea7472eb34ba8d27 ./precipitation_duration/spot_data/20250127T1500Z-precipitation_accumulation.nc @@ -804,7 +857,7 @@ b2a96bac061acf70002838f1e683194f95617deb630faf034c7a7947e8e19377 ./precipitatio 1c0068656a87cb039665805d0f4c8bf48b886e779c9066bd1fa66176a24a3499 ./precipitation_duration/spot_data/20250128T0600Z-precipitation_rate_max.nc 8ca0d1d7891b080e7af879e7ece0b4137536f9cd138007ab98eb2848b08a1d2f ./precipitation_duration/spot_data/20250128T0900Z-precipitation_accumulation.nc 752414ed48ce241caad82b2bab7d3ab13066d697c8c018b3507863f43745e390 ./precipitation_duration/spot_data/20250128T0900Z-precipitation_rate_max.nc -0f76bc767bc40f1b6c04bd0b892e389c2c08dce9b25a2c1d7bec554f199eaf35 ./precipitation_duration/spot_data/kgo.nc +777bd19b924967bca74cdb839ca133f3015369e8c625a5d67469f15389f75fbb ./precipitation_duration/spot_data/kgo.nc 3e7298a5c37d73e4faa2f3f640a27e8fe28fa705fc87806b82fe1163873b0a70 ./precipitation_duration/standard_names/20250127T1200Z-precipitation_accumulation.nc 487a50f8babf2fb37e0aa8263729fae38e640d6002941903a52e21b293f509bc ./precipitation_duration/standard_names/20250127T1200Z-precipitation_rate_max.nc 0b18ac8c7d1a4c6f0ee6c8952ab3f7dccba0aaa81631c59143200aa137ce5dee ./precipitation_duration/standard_names/20250127T1500Z-precipitation_accumulation.nc @@ -821,10 +874,10 @@ e06f5b6876144b5a0f211bdecc9047340a9f53b0a89e0b2b83207dee5dad27b5 ./precipitatio 97dcccb976305aa1510eee6713b1346ce425b122058012c9034f47646df52ceb ./precipitation_duration/standard_names/20250128T0600Z-precipitation_rate_max.nc a5666723c4b27f7f27b05e1c1dfca396bab7661e06b6ecc2458a36879c5949d1 ./precipitation_duration/standard_names/20250128T0900Z-precipitation_accumulation.nc a89ba9668fd878ed5c5cc017e46a25ab1f9d205b1a6913457a8f3af770cc49e1 ./precipitation_duration/standard_names/20250128T0900Z-precipitation_rate_max.nc -30d3ef7a6bf0e50bcff7a107b2428ac999f60bf010d87babeedabbc879b9b1c0 ./precipitation_duration/standard_names/kgo_acc_0.10_rate_4.0.nc -1e8cebad01e66ea9e7f29ffa2d904a0c0cf6c1c1cac5f96bd841e62d8bd6ae0a ./precipitation_duration/standard_names/kgo_acc_1.00_rate_4.0.nc -c2864fd4a33e84268f12ca0edd2179a79fd87ee072b13694993a8f304ce43792 ./precipitation_duration/standard_names/kgo_multi_threshold.nc -ed94ef4d996581cfd2c2ba55b9561832781c7417386364f844308ff65e8ca4a3 ./precipitation_duration/standard_names/kgo_short_period.nc +53ea9fa72122a252ccb762f879e9e774a78e0e3ee5b332c527be200c20cdd1b8 ./precipitation_duration/standard_names/kgo_acc_0.10_rate_4.0.nc +f69103cececd76e27bbff5a96e9c74c0e708dcb7f18459ade3eb448639992b34 ./precipitation_duration/standard_names/kgo_acc_1.00_rate_4.0.nc +39730b1c6f60d0ffc1a79629b29c84ee063e465f1110fd179338478277c69b03 ./precipitation_duration/standard_names/kgo_multi_threshold.nc +6a6394f52409d218e7e8d87c95a71c1f844d904bc3cbef3421f03e8d3afe98ac ./precipitation_duration/standard_names/kgo_short_period.nc fed0f3f6c71331854f96d3aa300be3dbe21e2226ca450f5873533eaac2dea13a ./quantile-mapping/custom_values_to_map/kgo.nc a1356710ef2c19f540aa5780716a4598e016fd95259963beb50c3ab295969831 ./quantile-mapping/floor_no_threshold/kgo.nc dad0934e32040e9322e5e795d597b8b040bdf217b33bcadd9c39b5094ce7a3b4 ./quantile-mapping/floor_with_threshold/kgo.nc @@ -836,87 +889,90 @@ dad0934e32040e9322e5e795d597b8b040bdf217b33bcadd9c39b5094ce7a3b4 ./quantile-map ae048c636992e80b79c6cbb44b36339b30ea8d0ef1db72cd3f4de8766346fa1d ./recursive-filter/input.nc b6cdb8bf877bb0b3b78ad224b50b9272b65732bf9e39a88df704209e228bf4c0 ./recursive-filter/input_masked.nc 11c428f6fb0202ab0f975e58e52d17342c50f607aee4fd0e387a2a62c188790e ./recursive-filter/input_variable_masked.nc -dfa0e2482041db9fd662e566063d470a25b6491d2b708b13873a6f93bed2d6ad ./recursive-filter/kgo_basic.nc -cb87460b75f92a775d850a2eee2b8b89e63bcf2dad15f84b5dcea5bc936fd22b ./recursive-filter/kgo_internal_mask_with_re_mask.nc -d084d978b1253134d195cd53c28f146f35956a843a0f5c56ac5410386c699be5 ./recursive-filter/kgo_variable_internal_mask_with_re_mask.nc +ce0ff757524da235a94421a3e2a254958811c562c739a7a73c3fa9cd4d00ddb5 ./recursive-filter/input_with_zeros.nc +b4f7acb4fb95640f50a11cdb02038a1e66f2bc02d65b87230ff5a1dab649f141 ./recursive-filter/kgo_basic.nc +0f5ae62721603eb258cd54b195673be0fde0effbecbae7bf88100913a603bd38 ./recursive-filter/kgo_internal_mask_with_re_mask.nc +6e77a397bea8fd914a182ed9152b9b75b9e751968c432d1d45ffe971c6f8a815 ./recursive-filter/kgo_variable_internal_mask_with_re_mask.nc +a0660ea5d5540b9476e8b77d5f488db2f36842c0da3a1d068d52986353fe445f ./recursive-filter/kgo_with_zeros.nc 49497750007d283c609d8d1e1415f9a8be1f1c8b9f4c5c74e3b741ab3c3f681e ./recursive-filter/smoothing_coefficients.nc -e1547874e1d09986b5a731103bf64256bac15fb16a9f84f1b71d61b41cb0ea50 ./regrid/basic/kgo.nc -bf1cc599f000f239f964695aaa4b0a89e7cd972b18495ca3bea2d6c54fb5cee0 ./regrid/bilinear_2/kgo_multi_realization.nc -c66c061936ab7abb7cb994971f10d359416d373b64aebb22e3fbe2d1fea2bf60 ./regrid/bilinear_landmask_2/kgo_multi_realization.nc -44a9fe706f0e826e4beeafdd6c5fd9acda3860349f5e2dfc32e5da631c51b183 ./regrid/extrapolate/kgo.nc +f4128d6ea8da41f46eb3b86f49cd6a60a0c81dabced89f1016372c20230fd85d ./regrid/basic/kgo.nc +b431242e8abec923d1ad6d54022e3602511274e8b35bab81fa63a2383a9020b4 ./regrid/bilinear_2/kgo_multi_realization.nc +5359bdfbaf87d4adc855510f6830c7836cc6a518f4898465cf291634e2642491 ./regrid/bilinear_landmask_2/kgo_multi_realization.nc +78c08080d103fa623bfde2c116b970ac7a1e4fdd8fb47ba6d4dc83c190d72c77 ./regrid/extrapolate/kgo.nc 6f9ba7460f370eff62d9c74e61c010fcea29e970fecc4a0aae861d7af81c5f11 ./regrid/global_cutout.nc d4ab733f9744a9784e4fa62cb43ecda5a15d4e5def4488fbb976d3bd9d49ebe2 ./regrid/landmask/engl_landmask.nc 567c266053f1200669da40ed3b54e364cbc2ffbb7ca29f59e30d23dc8a1d0001 ./regrid/landmask/glm_landmask.nc 01d919b6b3573b60334d6d1cb68a2398b7c5c278640a216a7d153ac0f124a789 ./regrid/landmask/global_cutout_multi_realization.nc -20a0f9a835a864a29ad0f9ad8ab2e5484ccfeea8eef5542f3adec251d4cd0fed ./regrid/landmask/kgo.nc -f9a006c28fa5ef2e1879b5516ebb5b2279e7da3a781e24c73c29ecdbc2c035de ./regrid/landmask/kgo_multi_realization.nc +89a0e14ceb934ec652827c3ecc2730b831ce0006841829493b4fcf964703d529 ./regrid/landmask/kgo.nc +20d52012d60c2ab9630adbd4b86c74f56829eeedc7a0e326a08857ad2111dfa6 ./regrid/landmask/kgo_multi_realization.nc 22eb44d04fda6db6c6b02830619549affd19f8004437f54acdb56c45d8807aae ./regrid/landmask/ukvx_landmask.nc -313c11a8e47efb753698121a077f1751dec41687c388a962ab6d14751f758e3d ./regrid/nearest/kgo.nc -b4b896722ab04ca793008e4427b32a35d9184160b5f4216744ebcc70552b3ff5 ./regrid/nearest_2/kgo_multi_realization.nc -595b3192b62cb596b425ad115c6fbd83e280bde0cbdb06255bc916b40ff93e17 ./regrid/nearest_landmask_2/kgo_multi_realization.nc +8f391caca536ee3088ed5455f11aff54e33be5389ef75616ca7c6491e59a321a ./regrid/nearest/kgo.nc +008c3fa125219ddc2934a6086554969c813037b5e4eed9eca3a174d3cb8b7a6b ./regrid/nearest_2/kgo_multi_realization.nc +923c5a1fda58e5dafd00a9cf13b01cbe3513f20fe17382dc98677e5aa2eedae0 ./regrid/nearest_landmask_2/kgo_multi_realization.nc 9cd7f5ef776dfccc2a74ed403c78d2507db00a3d89430f69229f3cf30a24df46 ./regrid/ukvx_grid.nc 5d79af32117915d065610c2649cfc9ec75c4cee7cdfe97111d243212626cc793 ./relabel_to_period/input.nc -e38330db548cb5360fd9ebae4d50d320c8b1cac1b0ad5029aca622c4c8cd0988 ./relabel_to_period/kgo.nc +3447bdae3c0a661efb2b0252270909607f2ede5646b7503f7d430017f9fc7589 ./relabel_to_period/kgo.nc cbe76478e608d4a3cb60cf953d5124336984d001eb1946cdc278bb4dc9eec9ca ./remake-as-shower-condition/cloud_texture.nc -8766275f9a4a0523f9b7fb883ee802b8f4ac54a080fc64fd8fa09ec48ae302f8 ./remake-as-shower-condition/kgo.nc +6ce994e261d9261cc0d6995a4dcb59a7b449e6dfaf27369b15d3d19d7d4a49e2 ./remake-as-shower-condition/kgo.nc 42f962b9d8700f0df7201901dfd72e06b3d633d75354f40dcad5a67974996e6b ./resolve-wind-components/basic/20181103T1600Z-PT0001H00M-wind_direction_on_pressure_levels.nc f862eb29b6ec18916d25e11080feed5e1820ff1410d9cae4d0922b0d9aa0d058 ./resolve-wind-components/basic/20181103T1600Z-PT0001H00M-wind_speed_on_pressure_levels.nc -55ba8a8ca8b5eee667d37fe8ec4a653caddea27f19ea290397428a487eb13ca0 ./resolve-wind-components/basic/kgo.nc +d2513176fd2d47735ad47e938fa9d7c7451558e31180a752b734317e1a7a1dc0 ./resolve-wind-components/basic/kgo.nc ce3ecb08d6cc3569d84fc6c17502018582a5eab3f7d6411eb3240fd4563bf74f ./shower-condition-probability/cloud_input.nc e9086965416e3a4c02df5644eef55449acac46842399749b553f20c3b065ed08 ./shower-condition-probability/convection_input.nc -47d18297114668157bf509d991b195c5d7ca8b5ead35cc833514d2452bd644da ./shower-condition-probability/kgo.nc +97827167b8e835497d91440c312548094337bdd411d2a3ae7203bc6852d02a30 ./shower-condition-probability/kgo.nc 77d35d36e52a65aa782e969e791f79c5558be8b0cf838fdc00bef3b4e75e6723 ./sleet_probability/basic/half_prob_snow_falling_level.nc -e592f74bec62c53fe906d6f1c1d87f4acec5f2660457c0db98ffc00c64066663 ./sleet_probability/basic/kgo.nc +ed2ce48eecc19e60c35abaa7fe8ad8ca7afb60a95629c293538132d1a5b01023 ./sleet_probability/basic/kgo.nc efff8720d452591b6531a279bad6c0168db2336fa497c1f1087ecfcb9321af92 ./sleet_probability/basic/tenth_prob_snow_falling_level.nc -29f807dbfdc6ffea2125cf57b31fbc417c9f80dfa38dca37349878256b7508db ./snow-fraction/basic/kgo.nc +a7dfdca7b7992438b2d196c1bab2bff8d10c84167a60d54716b5dae3f0144916 ./snow-fraction/basic/kgo.nc ef53635982b4269b6292fdc0ea04bee1f64a19304724ef8872bb8e1102a7d3d2 ./snow-fraction/basic/rain.nc 20b2df1086c9ec6e02b175042b388a8ad76622d5e76860540b28e3b2c482c5fe ./snow-fraction/basic/snow.nc 818358071994389472276b451cde63ab8d3da53522ee3a58aa1f375a36babe45 ./snow-splitter/precip_rate.nc 9931a4fc3fde3daa08137b3f25390837e8ffdd8f8b5052450ed34fb20e217218 ./snow-splitter/rain.nc -11c301c96bd63e43d16826e8dae189f2b7dbbdc30e54fee3dd747ea2746ff54d ./snow-splitter/rain_kgo.nc +919cfe8160e032774761477e70a7ed037e415bdc2a7a3cbae0e41be98d41027a ./snow-splitter/rain_kgo.nc 5bd8889279e32324198c14614173b209bf126a55132c69ff6fa2d706e3dfc529 ./snow-splitter/snow.nc -56d300196f30b6afd21968ccc70fafcaa096f9a959b19ee42b0e0b4f7c9fce40 ./snow-splitter/snow_kgo.nc +c088a1d454351da1d866b345baf30ba99fcfddbb58155c7bb81dd59bd7215aca ./snow-splitter/snow_kgo.nc d7d6ff0436c742449cc95a1ebe6a8298fbda2d01fb8a979f660596ef22a33dbb ./spot-extract/inputs/all_methods_global.nc -d4dcdeb1ed121db2c9e96db11283d20a80ab5924ee82b750cab8b02342e16249 ./spot-extract/inputs/all_methods_uk.nc -5a5e97eeaf2fd457f0e2b655e1b5a0e4befc0176fa1d45d04e7c7439ea9ccedb ./spot-extract/inputs/all_methods_uk_unique_ids.nc +ad6e2cd02dbfe268bb4e52b1d0bebeeaed6dd1cbc8903b781dd356ec568a9a8c ./spot-extract/inputs/all_methods_uk.nc +623e90ca5bfa952e4dfa8ede6994a279053c5bb8e3e17bfc4219b3e3e7b0b18f ./spot-extract/inputs/all_methods_uk_unique_ids.nc 1f83848537fb5b7fa11708ed3b12966d8c6850fc97f2616411646e7a61ea4a7d ./spot-extract/inputs/enukx_lapse_rate.nc 01d98010ddc714ac9c7f7de5c3b74383f0508f20745ccbafc540b843fb24b361 ./spot-extract/inputs/enukx_precipacc_realizations_thresholds.nc ddbbef39c8ee888476ed677cadc003ccffc15d01d73ac5e7874c16084781c716 ./spot-extract/inputs/enukx_temperature_percentiles.nc 6d40d71b5d53c5ed8ad6dd3432c38b285b044d5cc44fa106203aa2fd679341d5 ./spot-extract/inputs/enukx_temperature_realizations.nc bd3133e846f2c40b85d618eb0c09979aeaedc39aad22aa1460dedb860dadae81 ./spot-extract/inputs/enukx_temperature_thresholds.nc b5de3f80c0bd4c79bf77c4065fd1b37bab69f99ed2f57af5d54c371faabdf151 ./spot-extract/inputs/enukx_temperature_thresholds_multi_time.nc -7b752b31d3d0d1444e63cb64499e2aa1bf32d7b901952c0751530f5ac847b841 ./spot-extract/inputs/nearest_uk.nc +ea8d5a43c9642c030a5d470b904b52999610f5b4b8b1fca706acf681adb1f68e ./spot-extract/inputs/nearest_uk.nc e5c9928e499c3479e721febee57b90e822d22f4e61f928027d9558a1ab7e48bc ./spot-extract/inputs/ukvx_lapse_rate.nc 9f4d1b8546bccf6a41ed4effbefe2514557849fc664dbb5e53b8cb9855baf03c ./spot-extract/inputs/ukvx_lapse_rate_2m.nc 0c9ecc81ac78a94fea6cc2ac5547625e0093b4b4007a03feed711fcebf8e4fa0 ./spot-extract/inputs/ukvx_lapse_rate_no_height.nc deb86e91c4d2d63ce947e8fd830194704d714cbf12d4759975160fc77283aa90 ./spot-extract/inputs/ukvx_pmsl.nc e0e675885f8aaa40fb3d4cb4e025bf0010110ef2bf7589bba6e3eb7c7e6c7547 ./spot-extract/inputs/ukvx_temperature.nc -990fa6216bc485e7b95005acef4eb66a7de8ec1dd3d8b49d99770375ea6f76c6 ./spot-extract/outputs/extract_multiple_percentiles_kgo.nc -f5b76324e319dc1c27aaca76eb5f1299820cb5317e21f3fe23be8611e6db5eda ./spot-extract/outputs/extract_percentile_kgo.nc -c14e6b835baa4427ad129a5dc3bfbf47b28400527a90013e1240c2f158313bdc ./spot-extract/outputs/extract_resampled_percentiles.nc -04bf544f715dd94a8e2e52b11c369f63d700de2e2fc30c2f6239962fbb5cff64 ./spot-extract/outputs/fixed_lapse_rate_adjusted_multiple_percentile_kgo.nc -ca6b0c893692e8f8b95cd260e55c80065e7b4b6bacb248c7594eac8d5e8d8352 ./spot-extract/outputs/lapse_adjusted_multiple_percentile_kgo.nc -d43c9a944901b0efc717b112a52d81e88b16aea98cbe83d50c56e9cfe6157af7 ./spot-extract/outputs/lapse_rate_adjusted_uk_temperatures.nc -8acde1c5b6e152e71fcfe981dae3e425d8b59c891997c998f9d6cb2cf67a6ac4 ./spot-extract/outputs/mindz_land_constraint_uk_temperatures.nc -d24b59b25252796d6ee2f26e7e6764b84145957b0d32a4246e075db931b7b46c ./spot-extract/outputs/mindz_uk_temperatures.nc -332165b98af3eac6cd56c30457cc9c031b9788a1f660295a06b0108b40816b57 ./spot-extract/outputs/multi_time_kgo.nc -4cf5c380cff65016b32bd852e31a9ed3ea4ff60fcf879e75f760c63fac27c58d ./spot-extract/outputs/nearest_uk_temperatures.nc -5d68bab5444b1ee2c1ad6179bf19ba58cfc1cea60bc9684b0100c5c0035d4b74 ./spot-extract/outputs/nearest_uk_temperatures_unique_ids.nc -1f9fd7cce207521df7e357e130131e42bfb3e5fa8fcfa6d1e46b9d3c3a73771c ./spot-extract/outputs/spot_subset.nc -4084c26d66bab7a3c689178274d74460c520a5765a64dfd8fd213a81cfb97dd9 ./spot-extract/outputs/with_ecc_bounds_extract_percentile_kgo.nc -1e66371ccb77916db785fe3b269d584c929fa99ad6b4c5d5ffd153dc82b35d41 ./spot-extract/outputs/with_realization_collapse.nc -6c3ff6c8ec7409c70d04e3d0b42396fc63eb64b3a7ebbe42a679549f5e081d8f ./spot-extract/outputs/without_ecc_bounds_kgo.nc +68555133f9f2021723d0e8bb525a7dc1fe1935bc2294d830acb799592adc65d0 ./spot-extract/outputs/extract_multiple_percentiles_kgo.nc +bd8859ac3876b82f0645c5e9e897d0d3c2f769eb19c585d7d67e4fe5e5b38694 ./spot-extract/outputs/extract_percentile_kgo.nc +42904e8339ac28f2f945d5d76102a6f3f0e0efea2cb813fbc58a49da7ea57bc8 ./spot-extract/outputs/extract_resampled_percentiles.nc +b57db138681fa1530ed41581ff2d8c4837914bf46476bba6e5d9a52380c272f4 ./spot-extract/outputs/fixed_lapse_rate_adjusted_multiple_percentile_kgo.nc +1ff9467094830fa72b757e457aa41ce0f9cfe526dde8c35a4621f94ad048ea0d ./spot-extract/outputs/lapse_adjusted_multiple_percentile_kgo.nc +8d27ef2a9d75e7f94bfcd91b18054a3cc60261442d9bdfe6c6029127a55e3eea ./spot-extract/outputs/lapse_rate_adjusted_uk_temperatures.nc +6a645939e2f087f8ceb74c70c1916f233d5635502751f9bfc16702fd73a22d24 ./spot-extract/outputs/mindz_land_constraint_uk_temperatures.nc +9d4b0d1f3bc70f6dcdd20529ffc4acd8e52c430713a0d8db9253fc288ff83eec ./spot-extract/outputs/mindz_uk_temperatures.nc +b3ec431c5a8509ee47dab8ff3606c8d5622e2b687d7677fc730415fc3258c8b8 ./spot-extract/outputs/multi_time_kgo.nc +e32982a15cf3c1bb5d632cea6d4297c2d53992ccebb6c1b7774a2bef47c40319 ./spot-extract/outputs/nearest_uk_temperatures.nc +f77d6962008b2bc050707feb503c1b5ff9b61fdb0a3b0aba3b767dced6e8367f ./spot-extract/outputs/nearest_uk_temperatures_unique_ids.nc +c2f3a2f9adf7f74725ea0921c66f568b87588cef698cdcd20b8d7a8e913eee99 ./spot-extract/outputs/spot_subset.nc +af3fb5646afd29afcfa2432ae0e5a3c7a16b19195a6b8479ff1f3a775b68a6ba ./spot-extract/outputs/with_ecc_bounds_extract_percentile_kgo.nc +74cbdd95c4f422eaf762544b500aa2c15e797a98caca26b73742295426f0ede1 ./spot-extract/outputs/with_realization_collapse.nc +5978af98a9cd886fe6e4d290bb9b813cfbfa41bcdbc271ce42646998b61cfb1b ./spot-extract/outputs/without_ecc_bounds_kgo.nc b9fca4fb2a70c9d1eb49cc032fd298cf75a6c68997f419ffe62db067775ad437 ./standardise/float64/float64_data.nc -4265519a1c74f45f1eb14f2a5b164e92e0744ac1aa670c04c9bac2b6c4b67e77 ./standardise/float64/kgo.nc +50d519fb439b8016a28e806008417575ba4a09529ad686d0738268624b5dc12b ./standardise/float64/kgo.nc 867c0c8944c8c97b3f950c699b1fc78fb16fea1d0c0767e948ab07ad1d043d6f ./standardise/metadata/input.nc -fb95006945ef65aba58b6464cbe789439c6c2fce982629e502b65483e31b3702 ./standardise/metadata/kgo.nc +46c94f89a00f53a3493bb06e8fe1fb7080a71e63e9a70f397cc09139bdfda653 ./standardise/metadata/kgo.nc d4404df3a8acdeed27f20ec621a0d3500bf4c849eaf7a7064c4e42f079b37a43 ./standardise/metadata/metadata.json 326ae7b6d3cff0fd3da840b643816d897e7133a248e49eacad3ec37af669f49e ./standardise/metadata/radar_metadata.json -6165a4e434783475d7bddc62687b9413d88bd18353ca2199acf0debb337dd9c4 ./standardise/modification/kgo.nc +0171fed758f2be6d47a724b6e7a62e8b5daed75a55808f345c4b4a6b20d5cbeb ./standardise/modification/kgo.nc 81aa5301c3115ca37b789e3ce46708bc27229c8e63131643d3d393f0a1da977f ./standardise/modification/scalar_change.json d89a8587bc28b574b8b1e624bb3bf339aaeb9c8c2355db7fe518af8c9bce527c ./standardise/radarnet/input_coverage.nimrod 6335cba81be74577fe10d0a4f5cb75724abcef16499d76c263e80c16cf092a05 ./standardise/radarnet/input_preciprate.nimrod <<<<<<< HEAD +<<<<<<< HEAD 74d7216176c1e7feeded6f867cd69eb5ee960ab0b92472f2327eb1e5ae033329 ./standardise/radarnet/kgo_coverage.nc a7c196adab463ab48a5bf90934a9f53d5a41ce79a8e2a27ac78268c7e6702516 ./standardise/radarnet/kgo_preciprate.nc cf7166f2d915fcffaebbe5421a1e064f8d2f2ef6b8813f42142820076dbf98e8 ./temp-lapse-rate/basic/kgo.nc @@ -927,80 +983,99 @@ cf7166f2d915fcffaebbe5421a1e064f8d2f2ef6b8813f42142820076dbf98e8 ./temp-lapse-r add67f9b08aade71cac803044d650a966698820b8e889468b760edaf3bf89dcc ./standardise/stage-v110/kgo.nc edb46d2e8717e1c554616fe60f4db52c42e69910aa9a21875d24d3899ce6ee13 ./temp-lapse-rate/basic/kgo.nc >>>>>>> ba99d528 (Add quantile mapping and associated tests) +======= +74d7216176c1e7feeded6f867cd69eb5ee960ab0b92472f2327eb1e5ae033329 ./standardise/radarnet/kgo_coverage.nc +a7c196adab463ab48a5bf90934a9f53d5a41ce79a8e2a27ac78268c7e6702516 ./standardise/radarnet/kgo_preciprate.nc +44cf0fd7d6a4d24546da814d08f87f58d2f83ef5ae3a94c4272a4d33659c3f24 ./standardise/stage-v110/input.nc +add67f9b08aade71cac803044d650a966698820b8e889468b760edaf3bf89dcc ./standardise/stage-v110/kgo.nc +cf7166f2d915fcffaebbe5421a1e064f8d2f2ef6b8813f42142820076dbf98e8 ./temp-lapse-rate/basic/kgo.nc +>>>>>>> 82c1459d (Recreate checksums) 53e071816cc4fda21c5397777decf5752f4d8820d96bba0c2a04600e8e5df7ab ./temp-lapse-rate/basic/temperature_at_screen_level.nc bd47eab38ae9099fe5db71b328ebc52225b47f0db97ed673fca30dd67e4655ff ./temp-lapse-rate/basic/ukvx_landmask.nc 6389e7a84d33387d6da32327eaec53e7b411e0e42e677dceb0321c067ff9496a ./temp-lapse-rate/basic/ukvx_orography.nc -582f2f68e0e68edb8e19614d27d1508dec3e835a0ab498048b0c12721aa8fa99 ./temp-lapse-rate/dalr/kgo.nc -3c84cbbf1a2bd386a61226c2633ffe8250a3240dccc88f8f94846699f00d0a0f ./temp-lapse-rate/options/kgo.nc +276806f1bb0183eb6aa5519dc1171c847faa6f83189339952f6cfce9286efe6b ./temp-lapse-rate/dalr/kgo.nc +b13f27870fdbddd9419a56540599d189c9bd5f062654bd720941be6133d04893 ./temp-lapse-rate/options/kgo.nc c0b4643cf8fb0de1688c4f432ae5abb3c898582f5b41e996ebee03f679965314 ./temp-lapse-rate/realizations/enukx_landmask.nc 78c40fb411b63bd8c4cfef38f163b6f5df30679873211b2d7ba690ddeb9bdecb ./temp-lapse-rate/realizations/enukx_orography.nc 186f5d2cda6708e09459b69b92d04791a12c938f2aad9518c0c5d0a5b65b1e94 ./temp-lapse-rate/realizations/enukx_temperature.nc -8185d38dde574099b138b6cacf8b2aaee624cd0e19b98979616a8f675c317d84 ./temp-lapse-rate/realizations/kgo.nc +9bcb9cf98213c28549e8a4bd00bb74021747d99033ad213ff49bcd0ad72d24a3 ./temp-lapse-rate/realizations/kgo.nc 40612597709a889fa9b90f5ee6feb8c5bf893268db727db0084d4be1eee4a485 ./temporal-interpolate/accumulation/20240217T1900Z-PT0033H00M-precipitation_accumulation-PT03H.nc 173fa6e5548674af8ae3b48b4c305e8b522187d7b7386251c1af7cf600b369bd ./temporal-interpolate/accumulation/20240217T2200Z-PT0036H00M-precipitation_accumulation-PT03H.nc -e53201fb2d1226225546c5b7f06400ed4802aeb38484407c796e97480f614bfe ./temporal-interpolate/accumulation/kgo.nc +1e15486642a5ef80996a695fe0eb54ea73f6a7a3216c5351f2e9badaa77ca949 ./temporal-interpolate/accumulation/kgo.nc 7111e3bf02103c91e38ad7b3fa752b6ffd93c76938f5bad1e7742ed4fcf12f08 ./temporal-interpolate/basic/20190116T0900Z-PT0033H00M-temperature_at_screen_level.nc 46c3d7d58af0dffbbdfd8a9e37094a446420ceafbf5d9aadb1e9667bf0317cb6 ./temporal-interpolate/basic/20190116T1200Z-PT0036H00M-temperature_at_screen_level.nc -d9a76a7fd4f8a614895072d0897eea8aaae6c23e53d8af91ca51d0fcef75664d ./temporal-interpolate/basic/kgo.nc -d2e4b9ca9dd1dcf0eca81c52e817e8297a1653abba77d0cbdcf09da330aa5206 ./temporal-interpolate/basic/kgo_t1.nc +737210e39187cefec244a07e45964785df343ec9f57ecc34f3434a03396a2d40 ./temporal-interpolate/basic/kgo.nc +a2e0e19453518e010b5a457db592f218af4fcbc635de1a8f0d50892e585226c6 ./temporal-interpolate/basic/kgo_t1.nc d5916af8c067620094fe6383e42b0fafe8debe10f2089d6a5d9c7a698ab2fc1a ./temporal-interpolate/period/20240217T0300Z-PT0016H00M-wind_gust_at_10m_max-PT03H.nc 2c8a64a8250e301e89a4a9cc804f8274ca042e4bfec7dc168a5c9b5e1c5ca375 ./temporal-interpolate/period/20240217T0600Z-PT0019H00M-wind_gust_at_10m_max-PT03H.nc -db7ea71aef580b1d49406e442bd2a3783255a9ccb990e3827fbc0d422bb7f4c8 ./temporal-interpolate/period/kgo.nc +d2cd067552370186c2cd0582429dc43c9f41d2bcbd90cf55884724e31ba03b1b ./temporal-interpolate/period/kgo.nc eb6f7c3f646c4c51a0964b9a19367f43d6e3762ff5523b982cfaf7bf2610f091 ./temporal-interpolate/uv/20181220T0900Z-PT0021H00M-uv_index.nc e3b8f51a0be52c4fead55f95c0e3da29ee3d93f92deed26314e60ad43e8fd5ef ./temporal-interpolate/uv/20181220T1200Z-PT0024H00M-uv_index.nc -b3fde693b3a8e144cb8f9ee9ff23c51ef92701858667cff850b2a49986bacaab ./temporal-interpolate/uv/kgo_t1.nc -1065ae1f25e6bc6df8d02e61c1f8ef92ab3dae679595d5165bd94d9c740adb2c ./temporal-interpolate/uv/kgo_t1_daynight.nc -3335761a3c15c0fd4336cb852970376abd6f6dac99907fe9b081e6a7672e530c ./threshold-interpolation/extra_thresholds_kgo.nc +ff883af8e62213f87d9d10704776d9bf6b1ec57fcdf0a77dd18e42ff33c97772 ./temporal-interpolate/uv/kgo_t1.nc +87720d24fc26e024541e7c513d1919b8c90c5c798ed8d38bc604df1366fd308c ./temporal-interpolate/uv/kgo_t1_daynight.nc +2716f5f8207f602e1e0f47ac8516e46cbc5a15bb69f7758d011194c3b937390a ./threshold-interpolation/extra_thresholds_kgo.nc 022657626d7ae4608781c390ca9c30d9cbb949d71bedf74a2687228f5964b3e9 ./threshold-interpolation/input.nc 12acca08e123437e07ad4e3aab81cc2fc0a3cfb72b5cb2fd06343bd5beb13f00 ./threshold-interpolation/input_realization.nc -7b172ce0d98c0f7fbfea1cde23a126d7116871bb62a221348c7ddddc35c29a0a ./threshold-interpolation/masked_cube_kgo.nc +cd5c0aeb6724c529a9cc096c3d6634fa2332981edd7739678a55c026ce41bbd2 ./threshold-interpolation/masked_cube_kgo.nc ec73679ff5e308a2bb4d21283262118f8d9fbb6a425309b76d5865a97a773c40 ./threshold-interpolation/masked_input.nc -6058009963941b539117ea44792277253d87c7a1c81318e4836406b5c0b88525 ./threshold-interpolation/realization_collapse_kgo.nc +df92b715fb2d309f1acc1543b71e9999f9af972cf61604e3720ae80509e039db ./threshold-interpolation/realization_collapse_kgo.nc ac93ed67c9947547e5879af6faaa329fede18afd822c720ac3afcb18fa41077a ./threshold/basic/input.nc -eb3fdc9400401ec47d95961553aed452abcbd91891d0fbca106b3a05131adaa9 ./threshold/basic/kgo.nc -6b50fa16b663869b3e3fbff36197603886ff7383b2df2a8ba92579bcc9461a16 ./threshold/below_threshold/kgo.nc +726f3cc9d7e274390bd8f53802072f0b58abe890ce50d4597d3aedd0257df457 ./threshold/basic/kgo.nc +864231b134b4340a4b57e1b91b5308375d5d72b00455d6d83725da7416dac230 ./threshold/below_threshold/kgo.nc c5e7eaadc0fff747e42ce918eca13a9e95234c2f87f2e08881dc820e4bdd3913 ./threshold/cell_method/cell_method.json -312321fd7d8a2d625cfd61e6028f4e0ba3e256cdbdfe4a27360e30e5b48fcfea ./threshold/cell_method/kgo.nc -d18607807f2c6aed39194bc2ddb830f1ea2be3c9ea4a2e2d25f7fcfe66d4a088 ./threshold/coord_collapse/kgo.nc +7f75056a8bc9015165110389bea1ca8c8e5238fc79a8bb08c7ed1f35f762537c ./threshold/cell_method/kgo.nc +16212286fbeacb0d3b21691556afa4ac672d7948607f95441c184eed019c2b88 ./threshold/coord_collapse/kgo.nc 4b1f348db13fa8d85bc3679742bdbc01c8a118a45ef65a205c2d862f5add8281 ./threshold/fuzzy_bounds/threshold_config.json -d00745d7911caf4968ec9befa9a1dc71fd29744bbe12b02649c4693bd5b0aecf ./threshold/fuzzy_factor/kgo.nc +937b24f5a02f66bcd752ec3781a435bd8e20b098848d7072a4787307628c8c35 ./threshold/fuzzy_factor/kgo.nc 678c1daa00ebeb9b072d43f18050ab2565179e335cba35b1cf19620be81d275b ./threshold/json/threshold_config.json c2f8c6157532c30c02c00f45a71c01b58f0307b385f58034d3b158442d2eed8c ./threshold/masked_collapse/input.nc -d9041ae3a8f47e4b337f332c7f6ffe0208f17a2c11c77a197e7db0e01c9c56f4 ./threshold/masked_collapse/kgo.nc -f3bad618cf481fb82975367a30a6eb174c2bfb74e4d26b9c0c39382ff3f3c993 ./threshold/masked_collapse/kgo_mask_filled.nc -4a9edf8649156e2b11dc253c36bb8f1d0537fde8682e77b7d0395211692944e7 ./threshold/multiple_thresholds/kgo.nc -2da0d7701a8ccc86ed7c6bbb529c421df7d6228c6d5e42e823f4d98ead4e148a ./threshold/nowcast/kgo_masked.nc +1980a50e84843659ac4148c0fae0da75ddfd5282fa55ccd69882be72a20c7406 ./threshold/masked_collapse/kgo.nc +2209e6e645d0871ddf0aba9cf95aae58b49b09bf6ba9f426c4187bee9516985f ./threshold/masked_collapse/kgo_mask_filled.nc +bbedb9ec46a47ecbf3e25fd9187025bbaaa1b7bd6af508582c9c22a2116026cc ./threshold/multiple_thresholds/kgo.nc +07b7563529c7c1cbc9f70ac792553ceeed099ed220b9d2e6f1b7a55f3a5d4f70 ./threshold/nowcast/kgo_masked.nc 1e0b42cf169f7df2643423e9443a3aa2de6efc1788781e23b3e9e5b0fcc5f94e ./threshold/nowcast/masked_precip.nc d12a716a0a96b3baf9551088a4eb9b86b81728084695f0ce7984e58f2de97eb3 ./threshold/nowcast/precip_accumulation_thresholds.json c14cf9c147c72ae5d9a18d6c4258fdceae5ead57d2982f86ef396bd88151d814 ./threshold/percentile_collapse/input.nc -5db1eff3af68026adcd26c6aec449a6f504b5453239609ef9f45e8bf14c9b1de ./threshold/percentile_collapse/kgo.nc -eb3fdc9400401ec47d95961553aed452abcbd91891d0fbca106b3a05131adaa9 ./threshold/threshold_units/kgo.nc -ba2a059b7dfc94a7ff1561f07ac006a7d5d8bea2399c3352fab430327af1cfb2 ./threshold/threshold_units_fuzzy_factor/kgo.nc +44d9a52e4efb4308d3d1d6ed78f964d4f85875c0d7d08962906ce8d73a4b2c68 ./threshold/percentile_collapse/kgo.nc +726f3cc9d7e274390bd8f53802072f0b58abe890ce50d4597d3aedd0257df457 ./threshold/threshold_units/kgo.nc +00076520ad800aab4ad49b9cb18c25178e186857ee5abe6c9195263e4fff8cc6 ./threshold/threshold_units_fuzzy_factor/kgo.nc 6997186fa3156852eccd1a8981497a3de2da26ad8456f254a05d36c7d9b59f86 ./threshold/vicinity/input.nc -3101b159879c23bf460ca2a115ca68f467979d3559d6c0b73c66155810ccaddc ./threshold/vicinity/kgo.nc -098613682fcab5428e9d02b805cecf742860f1a8243461d58122a12420e3da94 ./threshold/vicinity/kgo_collapsed.nc -e92f05cbdc1789381b04344fd2f36f9462d102dbf0af0e9ab2563b725a0b0fda ./threshold/vicinity/kgo_landmask.nc -0b93f6ab148294d3cfc3961461f4d679f79c6dd6361a6acf11df1e57618fb480 ./threshold/vicinity/kgo_landmask_collapsed.nc -505261f48f3db69eebaf7344391d5a83f476c1e76b53f95bce58569cafd8e127 ./threshold/vicinity/kgo_masked.nc -feef12d1bf3b0f66e9fed99f541c8f86a9e6c01880b8dc5fffbed813fd05d80f ./threshold/vicinity/kgo_multiple_vicinities.nc +435737efe6f769e9dcaa068ce6c13014d9e3819c0e32cae71954563aaac48af1 ./threshold/vicinity/kgo.nc +08c2f60763e128fd2cbce814e865aad59a75ca59def614fbadd9a56e410d3cf0 ./threshold/vicinity/kgo_collapsed.nc +48d36cc5cabda85a38cbe23974af8347a1822c77fce9ee59cc005b52fe90e8dc ./threshold/vicinity/kgo_landmask.nc +83c1e7ece02d1fe16ed938fdbf8f6e4b323fbd7ed76b6c84c4a6903a48696954 ./threshold/vicinity/kgo_landmask_collapsed.nc +048b3c08a14d11065e6f7d7ade9646d0e8262350742435c547fd1b9580086e5d ./threshold/vicinity/kgo_masked.nc +b56dfec7f35ad0a8f2b8b353d615a708e1dbf53142f185366594912413b29a2f ./threshold/vicinity/kgo_multiple_vicinities.nc b892dffc9fc319be0e906e3a9a00dc7b8bada95c16d2d687dc26cdab59da08b3 ./threshold/vicinity/landmask.nc 799f8915171e4a07b5061001f96b0a68d27fbc5d0581f7e98a8d47377140624a ./threshold/vicinity/masked_precip.nc 3071da454ebe25d6fe0500aa68b5875655a12f3cc51ade68e36045e3fd2cfe0b ./time-lagged-ens/mixed_validity/20180924T1300Z-PT0001H00M-temperature_at_surface.nc 1c9530aea46737f2246320837a037db4bec991d8098ebb2e2748037a7aa20163 ./time-lagged-ens/mixed_validity/20180924T1900Z-PT0006H00M-temperature_at_surface.nc -b8bc33e1a4ad35ebdb6258d95cb6184bdfcc2465ffd18673ce6e0a8cb0fbb643 ./time-lagged-ens/renumbered_realizations/kgo.nc +3e0659750ee28631d5c306ac631a072aa51789fe63719a352f41338f6ae8c595 ./time-lagged-ens/renumbered_realizations/kgo.nc 53af705f57a2cd699128991ec99e2c3588f8ae19cc8ff5a4214ed69121b8add9 ./time-lagged-ens/same_validity/20180924T1300Z-PT0005H00M-temperature_at_surface.nc 1df431ff9817fa12ac568ffc3c3c387aacae71d7883eb662a205675c0c4af586 ./time-lagged-ens/same_validity/20180924T1300Z-PT0006H00M-temperature_at_surface.nc f1e0fa52c511357f359c1468fe6db76ca8f330cd17af2d560f74b3c17155aa94 ./time-lagged-ens/same_validity/20180924T1300Z-PT0007H00M-temperature_at_surface.nc 20911576f4580eb51d5c1e30374f41f20d8d5bfcd39d7cb23cff9323bc90d32a ./time-lagged-ens/same_validity/20180924T1300Z-PT0008H00M-temperature_at_surface.nc 4012e775fd63995c05d98e6e72849f49de779a5fad4e7c86c26afa22471e30f1 ./time-lagged-ens/same_validity/20180924T1300Z-PT0009H00M-temperature_at_surface.nc 4a8639b8799d2bc5c7549c775c04dad842864f196073b8790ba2936465bfe7cc ./time-lagged-ens/same_validity/20180924T1300Z-PT0010H00M-temperature_at_surface.nc -cab798ba22148a3696bb89c9c994a577d7f77dcd33dfe5ed258f0edb77497808 ./time-lagged-ens/same_validity/kgo.nc -53af705f57a2cd699128991ec99e2c3588f8ae19cc8ff5a4214ed69121b8add9 ./time-lagged-ens/same_validity/kgo_single_cube.nc +26c982960a5eb2d1690722cc9d27501a6dbfe25be769c3a61e34db4f3d2eb0b0 ./time-lagged-ens/same_validity/kgo.nc +6a50502047282abbbb8985f880d8f024a5a3f3ffdfccb5e078b76dff2099f7bf ./time-lagged-ens/same_validity/kgo_single_cube.nc +d2f7d8389b33cde359dd253def2aaf31afbc27557f389bf0f744a28b24e145dd ./train-quantile-regression-random-forest/config.json +08dfcf66eb0c31e6ef74597f4ad92e2034dad6df0b7337670b4eaa48e5204ba6 ./train-quantile-regression-random-forest/spot_calibration_tables/20250803/diagnostic=temperature_at_screen_level/0000Z_0.parquet +a172dce754fc39fa630bf110b25ce0ebff5dfb93e4fd8a33d8caec50cc04c7cc ./train-quantile-regression-random-forest/spot_calibration_tables/20250804/diagnostic=temperature_at_screen_level/0000Z_0.parquet +e3d2315b24bf769bcfb137033950d7100c8795878635e0ec9491413a1349904a ./train-quantile-regression-random-forest/spot_observation_tables/20250803/diagnostic=temperature_at_screen_level/0000Z_0.parquet +3919ca9902143edbe970f8556a5635d8fd54f3a9ad9e9f2bd0435d1a5c89852d ./train-quantile-regression-random-forest/spot_observation_tables/20250803/diagnostic=temperature_at_screen_level/0600Z_0.parquet +6c3d70544021265f6684126db41c953c85add9d8a94002e8c7d3e4d310260715 ./train-quantile-regression-random-forest/spot_observation_tables/20250803/diagnostic=temperature_at_screen_level/1200Z_0.parquet +05210253b7c941cc202a4fd87dc4b0247100ac5d4c3b33cec96a5d647d911078 ./train-quantile-regression-random-forest/spot_observation_tables/20250803/diagnostic=temperature_at_screen_level/1800Z_0.parquet +8cda6b528d72970e5c8b81621f574c8134164121a965bac64ffe70dfd638ba75 ./train-quantile-regression-random-forest/spot_observation_tables/20250804/diagnostic=temperature_at_screen_level/0000Z_0.parquet +1aec562fc0c39c7695521482b889d335a3becb10a76b7eae965447cbd9faf051 ./train-quantile-regression-random-forest/spot_observation_tables/20250804/diagnostic=temperature_at_screen_level/0600Z_0.parquet +e81c04f9f2d8dc14b8d8cd9bc9e8827ebd0da5ba016db48cf60ab738d327f968 ./train-quantile-regression-random-forest/spot_observation_tables/20250804/diagnostic=temperature_at_screen_level/1200Z_0.parquet +99e6656982672ea2d4cb9fa1dfb5731408dd41b2c9052b7e0df8d8004864241e ./train-quantile-regression-random-forest/spot_observation_tables/20250804/diagnostic=temperature_at_screen_level/1800Z_0.parquet +88d5ea229b42789d92d2317099b90d90f89a57e037665091b49c5f19acfea14e ./train-quantile-regression-random-forest/with_transformation_kgo.pickle +8e2dda09c26d33fd06d68c5be17a74b93b1d75d54c60ce48f27ea3d2735bece9 ./train-quantile-regression-random-forest/without_transformation_kgo.pickle e2cfb5e19ef5ebcfd73dc1c8504b66e9a55ad76b7b18cb79318659224079f234 ./uv-index/basic/20181210T0600Z-PT0000H00M-radiation_flux_in_uv_downward_at_surface.nc -69218af1f4cb6501d5c30fb5d1448eb806844f2a643f4912be272619b8988aa2 ./uv-index/basic/kgo.nc +e48c3b07bd14214a1a10c0bbf1e0acdf54cfedf93b2c6d766f594ce83a45c2b8 ./uv-index/basic/kgo.nc 2226a5e95eb29664e21f8c0658101a53d65945a1450a60a19955563a2693d22d ./vertical-updraught/cape.nc b794823053a282e758f7eb8625867d497e55cc3757862a7be504fcbd7451bc32 ./vertical-updraught/precip_rate_max.nc -<<<<<<< HEAD 064f9d2861e6312848a7ba24893b9b8ab0271e4b99793cb0d57fdda732931292 ./vertical-updraught/with_id_attr/kgo.nc d9f495774f4810e1631267bb4f40376a3c4b81170f2e8e5b5c051bc38dc4deeb ./vertical-updraught/without_id_attr/kgo.nc 95afb2cca6460628af14766f076a758d4fe2355a879eb86c10c35600f0e5f017 ./vicinity/input.nc @@ -1010,23 +1085,16 @@ e8b80e4bf1bb3b74d8551cc19c9e68ed1e3c98a989d80315b5485e41eb4ac70d ./vicinity/kgo 6680a51b236e163953eabbdc03ef5fbba9ddd5aaa502a275eff5da2a853ec531 ./vicinity/kgo_multiple_radii.nc e96134c29646d167ab07e68787d9dacbd568c9b2f1432201eb8c19631dbbacdf ./vicinity/kgo_new_name.nc 5635ef28f038b262e1c36878583e7b80fdf85ee8acd9c972ed82ebce3670c909 ./vicinity/landmask.nc -======= -02875b8884e1bcdcdddd22427eb84a1d8230135f1f8b4893cc537eb68efbe883 ./vertical-updraught/with_id_attr/kgo.nc -c52b3bfceefa910078c491e94e9c96ce102b332f95db53b40599eb9f1b2b803c ./vertical-updraught/without_id_attr/kgo.nc -ee042709388c1f56f581bcd6dbdfaa0306fcfda95f7bccbf341164e57be1ec0f ./vicinity/kgo_10000.nc -360ab63e23b2d50f3a619cd453f0ed40b70f72e038355f76d43a952d8ca5f399 ./vicinity/kgo_50000.nc -0191f4c119eefe798318cc1ef69ee196f18b9e706a6a7a52fe2ecd2b5a5ec7a3 ./vicinity/kgo_multiple_radii.nc ->>>>>>> 1c47068b (Add quantile mapping and associated tests) 62310a69ab566416d0ef5c847e8ea57a9f9e5ded9771c313732549fe4e2df6c9 ./vicinity/lightning.nc 408e553175eac029da25823f56483dde9ac3425d66f1a20e4eed98d132639421 ./vicinity/operator/kgo_max.nc d59954817acf2549c8626e2bc63108af1507cfbf22313c38bb4bbbc319b770a5 ./vicinity/operator/kgo_mean.nc 1d4b7e3068fc501f848c96ccb85232aedc235507a3594b28f02e60fe26aae2db ./vicinity/operator/kgo_min.nc 50ffed3cc4ffb00a494a20e474f7dde29db6a0e25520edbe2cfea70898357acf ./vicinity/operator/kgo_std.nc ecb248c8c7aa906e7fb29bdecd5ddfe553252acd9a8a9a4f16c373cead2996e0 ./visibility-combine-cloud-base/gridded/cloud_base_ground.nc -6d5eb677f0bd6e94e18fa726ddab0a72ea048d87dc3c7db175d629f315ae8bef ./visibility-combine-cloud-base/gridded/kgo.nc +76bb402b849751f73dc873b321e7577da0c32ad6d1797ee8882a8cac4f69fc67 ./visibility-combine-cloud-base/gridded/kgo.nc 3df5f2ccef7889d9b2684f42036f905ed7bcc270faa6849ed15d1d64db785964 ./visibility-combine-cloud-base/gridded/visibility.nc 22853b8ea87585c5c9234052d1825dde9526b275357314b82f1c8293414abccb ./visibility-combine-cloud-base/spot/cloud_base_ground.nc -1d94ddb106a9f46eb5c63fd30bea703a628476f152b779e6f3bfedf8af30bc22 ./visibility-combine-cloud-base/spot/kgo.nc +dceb99bf3d60583d2fac759b7a40b2b8f47f00fb8d4ca299f034bdf75aacb96f ./visibility-combine-cloud-base/spot/kgo.nc 7329a37f445a545829eda7b1b37a5b3f9ca0499be069a832ebadd7dd648f66b6 ./visibility-combine-cloud-base/spot/visibility.nc 8869c5d867ec6370df23b0a5a638a6432e0690c32c54fc5c61363f3ad75557b0 ./weather-symbol-modes/attribute_mismatch/20251126T0100Z-weather_symbols-PT01H.nc ee69cd488245d2e0f599bef4f7adb1d9931d50eae103728f43f8000ac2817389 ./weather-symbol-modes/attribute_mismatch/20251126T0200Z-weather_symbols-PT01H.nc @@ -1045,7 +1113,7 @@ c44a00d49912f13fb17256fa0e01d9425977b5c94f2d41c602c657d39deb74cc ./weather-symb 90a6495f65e053e943dd4dcc9731da274f11bc19a3817a70c057218ed8eaa4de ./weather-symbol-modes/blend_mismatch_inputs/20201209T1600Z-weather_symbols-PT01H.nc a981f6238828b63d7a9f7c597dd234dcc86dd35e2e3c4ba6c3b6feb491ec872e ./weather-symbol-modes/blend_mismatch_inputs/20201209T1700Z-weather_symbols-PT01H.nc de4a49bca4cd930328942cf6bb9a1bc1bdd2589120a57a2335ee4ef2449dbd5d ./weather-symbol-modes/blend_mismatch_inputs/20201209T1800Z-weather_symbols-PT01H.nc -eaf72bd6c75204e4cfbdeb975cce0d2995544c72f135ddb142d7ad418f99a308 ./weather-symbol-modes/blend_mismatch_inputs/kgo.nc +2252ccd4242478ead51ef4ed0af88771813c3492989888ec576802d6406a6003 ./weather-symbol-modes/blend_mismatch_inputs/kgo.nc bdaffce463e5d9e30ea6cfae58d4decfa266600cbb51480161d4170f46bb6ba3 ./weather-symbol-modes/broad_categories.json deb7f4effb821b2808b647e02ac955c91adae4baa33765b16378cff40e3ec5e8 ./weather-symbol-modes/gridded_input/20201209T0700Z-weather_symbols-PT01H.nc a61a70b0ce9e70577ba177462b9f1bfbda2457cc3975f0e9a562e1311e86e671 ./weather-symbol-modes/gridded_input/20201209T0800Z-weather_symbols-PT01H.nc @@ -1059,7 +1127,7 @@ bcd90ab1d28fd736d4a3d9e481374348438d7716b543f9c7d435b003ba10c344 ./weather-symb 973c60900aa526818e7119ed016997170055017ee1bbda279b9e640750f96f61 ./weather-symbol-modes/gridded_input/20201209T1600Z-weather_symbols-PT01H.nc 571bff58be29197e5f946745ed565889ec81499521c38d8f7286488079afb46d ./weather-symbol-modes/gridded_input/20201209T1700Z-weather_symbols-PT01H.nc 2af4455b0ba7c4124e49eb1ff004e770b6239a9e2e1513f60ba4db3f0beb02cf ./weather-symbol-modes/gridded_input/20201209T1800Z-weather_symbols-PT01H.nc -da324b0903f7ad8a9f06782ee819a55a7a1570b3a3e830b1b65e0293cf717d37 ./weather-symbol-modes/gridded_input/kgo.nc +cd895da92e94dc14e2f699f0db320a348a6f1b6b5251f735fb1dccb4df7033a1 ./weather-symbol-modes/gridded_input/kgo.nc 96a8462af571f06dbd8b91a7a90aaef403eefd2b73929a5c6d8a3fbb01159aca ./weather-symbol-modes/gridded_ties/20201209T0700Z-weather_symbols-PT01H.nc 9f64c7a8aa7cf0e87799f96ebffe1e449e1f5174fb583d44f2479e085672dc84 ./weather-symbol-modes/gridded_ties/20201209T0800Z-weather_symbols-PT01H.nc c698b9599219fe89374a2565e55a374d9236904c9dd99a2ae61b5416506e98d3 ./weather-symbol-modes/gridded_ties/20201209T0900Z-weather_symbols-PT01H.nc @@ -1072,10 +1140,10 @@ c76e1e0e04b1d6cc01a33401f1eed25c283e4f11d7134ff079a8379f0ac3a8cd ./weather-symb c39ea98f6fe64788c4ea7ea242111a5c8bbeacfaf52b2ead0cf0aed0007d46ab ./weather-symbol-modes/gridded_ties/20201209T1600Z-weather_symbols-PT01H.nc 6a5b04644ab11d077809f615bac2829656127a0eeee3843940f8d33673bd70c8 ./weather-symbol-modes/gridded_ties/20201209T1700Z-weather_symbols-PT01H.nc 39d0fa291798366a00ecae79a65de0b0692d5b4db17ac98a97d48e54b75e5dd4 ./weather-symbol-modes/gridded_ties/20201209T1800Z-weather_symbols-PT01H.nc -fc922ede9e118dea3e7e3ba354664151f09407b32450688ed5c9870de5307c14 ./weather-symbol-modes/gridded_ties/kgo.nc +bbe3e967f4f48d9563694ea4113f22b791550b502d07750af5fd1b2495ce1260 ./weather-symbol-modes/gridded_ties/kgo.nc fc023594fb4ff913345e553a5bade1d51b30942476ff04745c62f0b8d826cf2e ./weather-symbol-modes/intensity_categories.json 89ba47a99c53d23b5490254366211a7cc0a5c8633c9faee97c091ee48a366b87 ./weather-symbol-modes/single_input/20201210T0000Z-weather_symbols-PT01H.nc -d64efaa75b03aa4ba1fb16caa31891492e9fc5f967a584de42a4a59dc2f54237 ./weather-symbol-modes/single_input/kgo.nc +50d4729611065b38d5db5d81887ec8d567a19461909d9e8002df674fe69957df ./weather-symbol-modes/single_input/kgo.nc f4e13dec400ec945ba5bd03a286780b183665c22d707c038c0990ef3491e888e ./weather-symbol-modes/spot_input/20201209T0700Z-weather_symbols-PT01H.nc ee9557cf229b1099e64b36760a1b2dd82aec663490d75b6be2894bfb7a9103ea ./weather-symbol-modes/spot_input/20201209T0800Z-weather_symbols-PT01H.nc 601d331f490953f3ac36ac334b705848b8d4bc9024bfe001f4cd2d8d8b6645a2 ./weather-symbol-modes/spot_input/20201209T0900Z-weather_symbols-PT01H.nc @@ -1088,7 +1156,7 @@ c44a00d49912f13fb17256fa0e01d9425977b5c94f2d41c602c657d39deb74cc ./weather-symb 90a6495f65e053e943dd4dcc9731da274f11bc19a3817a70c057218ed8eaa4de ./weather-symbol-modes/spot_input/20201209T1600Z-weather_symbols-PT01H.nc a981f6238828b63d7a9f7c597dd234dcc86dd35e2e3c4ba6c3b6feb491ec872e ./weather-symbol-modes/spot_input/20201209T1700Z-weather_symbols-PT01H.nc de4a49bca4cd930328942cf6bb9a1bc1bdd2589120a57a2335ee4ef2449dbd5d ./weather-symbol-modes/spot_input/20201209T1800Z-weather_symbols-PT01H.nc -3f43cd5fb973e4edb1a4f6ce832d0c2752fac186e1819ae1477fc466b0857e1b ./weather-symbol-modes/spot_input/kgo.nc +433f1b38b75ffd81ace7e366acc3aadbfed0d2b7e1a93f936755b60e681a4d7d ./weather-symbol-modes/spot_input/kgo.nc 36f26203008ac401e361f549e39c5c1a0334d31eef2e064528d2c11ba029d1d2 ./weather-symbol-modes/spot_ties/20201209T0700Z-weather_symbols-PT01H.nc 8543d8168e23975f537767a55a8f6fbd7d15f187556748ab62e4edc3f70a84d3 ./weather-symbol-modes/spot_ties/20201209T0800Z-weather_symbols-PT01H.nc cb1a6c410f37132f0faa541a68411e00c38bf77c719f98adcff664f6699d4bf5 ./weather-symbol-modes/spot_ties/20201209T0900Z-weather_symbols-PT01H.nc @@ -1101,99 +1169,99 @@ ea67ae7a7f5363ae3692b29c93fb9989449d96e49dc613a1297d98ddb12c578a ./weather-symb 947d1cc7278abeb7f1335c9504c0b1daac61d8ee36fd6be03eccbc17c10b0e4b ./weather-symbol-modes/spot_ties/20201209T1600Z-weather_symbols-PT01H.nc 51f636314a6d1fa894ab98cf750493503b191a779c67d6a15081aab2a3612a31 ./weather-symbol-modes/spot_ties/20201209T1700Z-weather_symbols-PT01H.nc 134fb1750cf47e868ee67801b1ea5b1f17120e6f58a787a69e54638d7d88ff82 ./weather-symbol-modes/spot_ties/20201209T1800Z-weather_symbols-PT01H.nc -391a9bd50824318fb8f147db3b14bcd56f5b0f0e0d5479b3579e08d70ef6ba77 ./weather-symbol-modes/spot_ties/kgo.nc +647caede9a6e27049829faef05cea7590b4f70862336d5f7c6fe2ccd9ad50bcd ./weather-symbol-modes/spot_ties/kgo.nc 2d66678569a1af9b3357cd1c9d6b75dfedd912a99c3ed77135b2a2169b12687e ./weather-symbol-modes/wet_categories.json 6a362aa64925b9674c2806a9cafafb3d4b2d36bf8afc2f775c9b0615721e8183 ./weather-symbol-modes/wx_decision_tree.json -bd51a8596838e355c78509b8b3b1215a3f1e3b798d5b300d4aff8032a26507b7 ./weighted_blending/accum_cycle_blend/kgo.nc +77b495f6d19a4777e8785361197ba6127d77b0450a1bccc317fe9508a8ad55cc ./weighted_blending/accum_cycle_blend/kgo.nc c465dc56d83e9e866c1140033c65f07a02db154792b505d4a704d2773c3744e4 ./weighted_blending/accum_cycle_blend/ukv_prob_accum_PT3H.nc 08e196cdc9f733a56f16fcca3b2444aac847e5c14538ddff4dd0da94efabe475 ./weighted_blending/accum_cycle_blend/ukv_prob_accum_PT4H.nc c163c7abc3cfca24c9509b9f461da8e6defc2af6a33f26b52dc52d066389c265 ./weighted_blending/attributes.json -fee416501ad9237c2d3cf423168b90eeda71f6d8d0da3c053fcda18e65355e28 ./weighted_blending/basic_lin/kgo.nc +ead2662504afd7918ab3775f0f97eed464358efb7e8b64f4f438a5d21517a62d ./weighted_blending/basic_lin/kgo.nc bceec19d0b1385c25d2cec5ba46b924aa238e1047d879f189e38710237cb86ef ./weighted_blending/basic_lin/multiple_probabilities_rain_1H.nc 13fe0291d5c1d652ec5f17d5af6fd24e1d729c118ccf59e0ec3b2f9bbe226742 ./weighted_blending/basic_lin/multiple_probabilities_rain_2H.nc 937d5170c99fc03c34e908598821a26ac39d27c51081cd3953aef8dae7be5345 ./weighted_blending/basic_lin/multiple_probabilities_rain_3H.nc -eff57d4ad36958ee563a7ab3db17298e75c87b1bbdeac8db57b3411ce41aa683 ./weighted_blending/basic_nonlin/kgo.nc +07a42cf65e703b6122b5830b576b2fd0dae3535f2b3165ec5e9f276094bf3da5 ./weighted_blending/basic_nonlin/kgo.nc 67dbf1a0e1725cd4fe77dc2c2c422fb379edd59262cc6aaa2e0f40b207db8cf9 ./weighted_blending/blending_weights.json 0e5fb900fcfbe1794f95e5c3ef412e0f7479b80d7bc588cb8edea0494a77238f ./weighted_blending/cycletime/input_temperature_0.nc 265b5470e573204a83b4ac63a3a14f019ac9177816d8634c338fad520d04f7b3 ./weighted_blending/cycletime/input_temperature_1.nc 0fc4fd50a20b0e9803f37d40409efe210d9ac32903f6d8c82b69aa7e222382fb ./weighted_blending/cycletime/input_temperature_2.nc -0fe7d04a5b997a6b286dc722523108cb97d3c616d0e716f02a3c540bef6cb185 ./weighted_blending/cycletime/kgo_single_input.nc -7eb822d3c45f9637013b3c1ecdfb31aa317a3c3918743d507c147bf4f1b0dddb ./weighted_blending/cycletime/kgo_specified_frt.nc +7250ac9b552b5fef4977f87d888aee6e9a3e737ff1fc455a0aaeb188cf1f80e9 ./weighted_blending/cycletime/kgo_single_input.nc +bfe4b95c093e531f4e117c21b8f1c203ff8cb1fbb1478d1454bced3375fd6b02 ./weighted_blending/cycletime/kgo_specified_frt.nc 6423fe31e59045ddf396de94ea0fe86f5d34229dab958af44ee2829591aa203e ./weighted_blending/model/enuk_input.nc -2f0c4cb96a1611521027972b7635cba8f6506dff3d333d912964152547fc9599 ./weighted_blending/model/kgo.nc +8bbe66c30a2104b2adeaeaad915ad4f6e3bbc39ec5f80d5505b738c3644ef11e ./weighted_blending/model/kgo.nc f82ca42ee994b3596bc3ab45b3beaf6b921222ec2d1ca8720515a3bff5f03836 ./weighted_blending/model/ukv_input.nc 3a9ba0c3856c420a07117393f46478ec466d346b1551f5c4aaf543b9e2978148 ./weighted_blending/model_spot/engl_input.nc e33ef822cec6ef255d629905a709edc70a4764e38a64d22166767f128604be38 ./weighted_blending/model_spot/enuk_input.nc -d33c89bb729eba95a268220098972e4653cddbc7dd7d584aab6939cedb2adec5 ./weighted_blending/model_spot/kgo.nc +ef36298116dc59dd0e51b9fb743273cb64f7866e7c39c6d98577a880e72a8a7a ./weighted_blending/model_spot/kgo.nc 7dd21ad6014ce01f1c77eb58f52d8006c441c8d4d93081f24f0c45d8ff2ba3ed ./weighted_blending/non_mo_attributes.json -6b26ecc97938e3f401b014320fe6a328e0137837347c760e656e7041172f3c32 ./weighted_blending/non_mo_model/kgo.nc +1de2a1089bc40d5937578a9a31c735aaa1fe8b80515e22709d0bfcc37e3d97cd ./weighted_blending/non_mo_model/kgo.nc 0a0bb77fa5394d443ace920c0f411549b7da52ecbaf6196b08f8e4931119b6d6 ./weighted_blending/non_mo_model/non_mo_det.nc 7090b56392578f0bdd4b1a04083755b58c4d2728868556d90b815370c829c2d4 ./weighted_blending/non_mo_model/non_mo_ens.nc 33d15f1bc6c9e11169d7da15b75d48c1d3c6b7002b4d808f0859cada37f3cd73 ./weighted_blending/percentile_weights_from_dict/enuk_input.nc -7410b4a7ed773f48855134f5872435779b6ca2f1959c91d492a61f056a565bca ./weighted_blending/percentile_weights_from_dict/kgo.nc +69991c0d6537cfbe193a1e0708880ad6b67d1f265fe0a72c727ad0e59a60562e ./weighted_blending/percentile_weights_from_dict/kgo.nc fc4422148e81623862fa88b914d03deab020f7e07ee6ed80a4acc4e39e2e2119 ./weighted_blending/percentile_weights_from_dict/ukv_input.nc faea117ca31f98cd99c3f6a8f38a504a6ff420109b215dccf148078b57d3fce8 ./weighted_blending/percentiles/input.nc -1a28c8d8beaf74301565d3ef5087453dc26fc9c0c533341ac5c05f387716da9b ./weighted_blending/percentiles/kgo.nc +d62e3c34c7dcd8a5934d69af9a142cdecb849947ed85a3353345d2963dd3634e ./weighted_blending/percentiles/kgo.nc 0af71dc17767d0ef25eff65d1028b15e68eac186f409a10de63f1db677aea8e4 ./weighted_blending/realizations/input.nc -5df039866dbaedc08510494d3d0c853f3239d29e2159d55747632d71a54d0e28 ./weighted_blending/realizations/kgo.nc -650ba5deb1413615fad88a11c118d716450c73e936f1086001a27a16cbc3acf4 ./weighted_blending/spatial_weights/kgo/cycle.nc -fb79a66618050d840ec14d77ad20b2a3097f5b1dfc25ed8bc021c8f1540fe89e ./weighted_blending/spatial_weights/kgo/cycle_no_fuzzy.nc -2081026b20ffea2b0d69d4c867130acca4b5f75f2081914236603c33867edbb6 ./weighted_blending/spatial_weights/kgo/model.nc -1d70833ab0d782daf4cf8ca47e11fc55b7d30ad0fbaf69e0880b3493c8e52d52 ./weighted_blending/spatial_weights/kgo/model_no_fuzzy.nc +b61131b1b462b2d4b03218c1827f03619e8dc9132883f77963af5700649c4f47 ./weighted_blending/realizations/kgo.nc +552bb0d9e118d4492fcda9e316ccd38ae82c533a1642ff5b11aee07c97098d7a ./weighted_blending/spatial_weights/kgo/cycle.nc +c319cbaf8825e2d08575574f00886e8685a51ab47bb04ed95a81ea589bf0dd53 ./weighted_blending/spatial_weights/kgo/cycle_no_fuzzy.nc +22c9faca3d071b884febc221f1742a77689c8caf9aabf48a5ee2b577d396622f ./weighted_blending/spatial_weights/kgo/model.nc +bea2c743ecd8821371c0b5fa11aa3ffb99b204ecbaf1715c48b8540942b7fe96 ./weighted_blending/spatial_weights/kgo/model_no_fuzzy.nc 0bc5008881410cf745e0ea65de6c53edbffebba546d31131d3cde849393fcad2 ./weighted_blending/spatial_weights/nowcast_data/20181129T1000Z-PT0002H00M-lwe_precipitation_rate.nc fd3534ad3c64b6e1e57b5418464b7666aaeccaa5fa53aac52889ca7ded9fe4df ./weighted_blending/spatial_weights/nowcast_data/20181129T1000Z-PT0003H00M-lwe_precipitation_rate.nc 1d65cfa1b183d7286b92eac63502cee0a3ba96e7d382adf5f99f5450be21a9a9 ./weighted_blending/spatial_weights/nowcast_data/20181129T1000Z-PT0004H00M-lwe_precipitation_rate.nc dc3843f0cd6475646ff66030641018d2e06bb9b83294656bd1e3cd5fed938759 ./weighted_blending/spatial_weights/ukvx_data/20181129T1000Z-PT0002H00M-lwe_precipitation_rate.nc 8fc821a52d859953557d2d84a94315cf1dc6b336e0f2931459248ba0722e3138 ./weighted_blending/three_models/enukxhrly/20190101T0400Z-PT0004H00M-precip_rate.nc -dc56c3290bae734db3bf479628e5da0b93ccada06a68606b22e25a07a4fc24b5 ./weighted_blending/three_models/kgo.nc +2b87a5df656519909b6ec8483251b0c51802bfb6809946267853dedaaf587061 ./weighted_blending/three_models/kgo.nc dc84cdaafb5a0b8c48e648a6734be019cc4b7b9593c00607667059a71a4c571d ./weighted_blending/three_models/nc/20190101T0400Z-PT0001H00M-precip_rate.nc e535f9b75ca96622b96916bc249a4aa919e5216fcf548a7f6c90748538bfe22a ./weighted_blending/three_models/ukvx/20190101T0400Z-PT0002H00M-precip_rate.nc -32042d75b04735b7f4b8db22f793cacb8a71c455f9442dc14c029d78fe59a80c ./weighted_blending/weights_from_dict/kgo.nc -07398ff72a6a468fd85ecf6442c959f6068664ef8d70ed640421ef1859473f40 ./wet-bulb-freezing-level/kgo.nc +56ae2bd0fc2ae60c7d12c919b6d9b18ead81372e8020081f058cb26281acf30d ./weighted_blending/weights_from_dict/kgo.nc +854961d6c539e3a73b7223cef68547005c6ee47c4fbe702099c317233e01e484 ./wet-bulb-freezing-level/kgo.nc 3d6b8720c087c4ef8daf32ff761695e0f6169104fb134d03c26dd17a5e4d4a02 ./wet-bulb-freezing-level/wet_bulb_temperature.nc ef62d78071045163858387292ec56c11aa92e1fa6f5580c1e4ac485cd01979fc ./wet-bulb-temperature-integral/basic/input.nc -4143e7583d66c6e776e43e619622eab00fdee3293becadfaaa00ddd72147ac6a ./wet-bulb-temperature-integral/basic/with_id_attr/kgo.nc -f854f85ef58e2a0dc41c3bcdf940a23daa2782a50d3eaf798335fefa8bea21b8 ./wet-bulb-temperature-integral/basic/without_id_attr/kgo.nc +fe3e934077125a7306f19799728623c73aafe1145f98fd0425d0cd02431be9a9 ./wet-bulb-temperature-integral/basic/with_id_attr/kgo.nc +153a5a54b46d6eaaa1ffa71a18ea08099ebf28ed9ea991c065b80d76b8277f0c ./wet-bulb-temperature-integral/basic/without_id_attr/kgo.nc ed4e971a00d56d771d79ad5dec90d7be8aa1dafc19811df5734c0d602e5ec57b ./wet-bulb-temperature-integral/realizations/input.nc -df4703b413617aff90adc15d351ac6e4488d70a570c58e2a7979dcd2459256f6 ./wet-bulb-temperature-integral/realizations/kgo.nc +da878ca78ecae4eb93d181ecf17ff3002cccc72df6aa420eacb4cafe90e9f797 ./wet-bulb-temperature-integral/realizations/kgo.nc 64396013800622079dd08b20b07274aeb73232220baf135738f6861bdd306f7c ./wet-bulb-temperature/basic/enukx_pressure.nc 634d52800e5783cd021f7af31809263e3345197e9c63184234d8348b1d637cd3 ./wet-bulb-temperature/basic/enukx_relative_humidity.nc 2575b46b1d57dd37b3da85f7546c7cb5cc7b7637bb1a03cbee0b772b9a51c4b2 ./wet-bulb-temperature/basic/enukx_temperature.nc -c67228e12dbb2c8f2008a47158b774953fe697f18c3eb7f6e585ad7c5c4d7b98 ./wet-bulb-temperature/basic/with_id_attr/kgo.nc -9bdde50b0eabaf0c00f6cefee6e80a54e56fc1a1f4c55579e7352e2d0bb84c89 ./wet-bulb-temperature/basic/without_id_attr/kgo.nc -4c27dcf1f4953f2eff731fbcc87897f65ecd018cfeac87b1525aeb2821bfe480 ./wet-bulb-temperature/global/kgo.nc +d730636a82a60fcddae571281360417f30e5f712bb4157122a0224cc95558908 ./wet-bulb-temperature/basic/with_id_attr/kgo.nc +03cb35ad4bbbaf41e6207d4a5d19ebe4542e2cfe8f35a17dc23efd5c041f195c ./wet-bulb-temperature/basic/without_id_attr/kgo.nc +684fbed52a95295cbb3f831865c4d70e6fae8a73bef49052414f3f3611bc93ec ./wet-bulb-temperature/global/kgo.nc e52d6a748419b57010810912e3933145d4823fba5c221e68e7af703d8b9e07fb ./wet-bulb-temperature/global/pressure_input.nc 637541033693a1ee55e73020a2b48219d340ffbbad59b9dbec531fa4ada24b16 ./wet-bulb-temperature/global/relative_humidity_input.nc 29fd0062ca428745e6e00c0684bcd8ecde7c0883575fd6bb90afd81ef908912e ./wet-bulb-temperature/global/temperature_input.nc a1e927872b9a0fcb95487b4d86c1600086b80e880095e7559e272a747d65c846 ./wet-bulb-temperature/multi_level/enukx_multilevel_pressure.nc 74ee3ba48c843e2e6315bce454b3ca6684ae0b6cc2799c52234c69dbdf0745c2 ./wet-bulb-temperature/multi_level/enukx_multilevel_relative_humidity.nc 0c5b1dc8592abd656216d8907469a9e971757bd4820a199e478d20e8ab7a9242 ./wet-bulb-temperature/multi_level/enukx_multilevel_temperature.nc -ab51ba9ca4a73c47f095d65ba2036ae17636c08aca1018df5eff95c075bbb884 ./wet-bulb-temperature/multi_level/kgo.nc -5c5f827ae029b847a7e329b9024ec693bcce29cd9b1a2165e279d4e7a7f2b4f2 ./wind-gust-diagnostic/basic/kgo_average_wind_gust.nc -e8189e3d30259b38758fb3a7d70942ad21259547152ac0840e790897ae923116 ./wind-gust-diagnostic/basic/kgo_extreme_wind_gust.nc +2f7e7cd6a72cb30ff306cf02e90f78aefce7db6e08bac6263639b4d9dd8d8e3b ./wet-bulb-temperature/multi_level/kgo.nc +118451bc68957e3a3cee42e5da59c04bd2ae7e79562861e3b259a2aea02ae79e ./wind-gust-diagnostic/basic/kgo_average_wind_gust.nc +41ee83244418a5ba7f9b8bf06acacc90954d615c4e4ba59e272093c7ca8a485f ./wind-gust-diagnostic/basic/kgo_extreme_wind_gust.nc 6dfd07ebe1c74e4b6dff46de48d6af9ef7f3790e99e36f06e27cbdd0d987f81c ./wind-gust-diagnostic/basic/wind_gust_perc.nc e289d09022edd03a1a6532d27e4e1c1c08e530f03ab8bfe989786add3c8e63f0 ./wind-gust-diagnostic/basic/wind_speed_perc.nc 2688c22d71c5380c905ffa31bc59ee01eaee5822a16820e39909336f29e3eea0 ./wind_direction/basic/input.nc -687a88b013a920ca361609cdb67a6c317795c3e267021823585618b1f1943268 ./wind_direction/basic/kgo.nc +42f2c6f870e231fbbe331af491bbf81dc1e7fdbbb66946cc026ee775cba867a5 ./wind_direction/basic/kgo.nc 8db748aa602078aa30ef2da41c8295e3fd39d594578f1752d279940fbd78973c ./wind_direction/global/input.nc -afb020a86ef8ed26d889b4c100f35e1804a7091250dab728162f9cd642ae0d15 ./wind_direction/global/kgo.nc +c472aa8267a091637831e2bd56974ee133bad92f0902393b102a3de3e5ac80d7 ./wind_direction/global/kgo.nc d20836b94e6dc642d3fdd7239c8210db3e1cdc35f8da320d134d55158181b95a ./wind_downscaling/basic/a_over_s.nc 0c249e059bb0c8263bddc339adcccaed40070512a5c9d7378453dfaa95fa7ce3 ./wind_downscaling/basic/highres_orog.nc ffc2eb3c5ab8e797a4401bd6ff4d262f8c1f759efdd92d62d680c697f5ba4a9c ./wind_downscaling/basic/input.nc -de490efca2c2cae98fe81fa0863553559caacb811da05d5e3cd33d36b6b20366 ./wind_downscaling/basic/kgo.nc +212fe2692b87e6192e37bb67c0afde0a573b3ff409febf1ff957d79d2797e293 ./wind_downscaling/basic/kgo.nc f62188a4e606e69611fbaf23805c06c19c326026a8d763cf6a53a1afd070cd83 ./wind_downscaling/basic/sigma.nc 9b9e15a77bbfecb225c323d99469a523a050602d92a0a3d4fd7ea0b0a264085f ./wind_downscaling/basic/standard_orog.nc -5e66a03a523aaade5fa68fcc5fc7814c77bdb2f7a0069a2977126ca951d9db0e ./wind_downscaling/single_level/kgo.nc +0fb6beb1218d4420ba31ffc5c06824a75774c2eaceee5af64a50ada9e927b29b ./wind_downscaling/single_level/kgo.nc d20836b94e6dc642d3fdd7239c8210db3e1cdc35f8da320d134d55158181b95a ./wind_downscaling/veg/a_over_s.nc 0c249e059bb0c8263bddc339adcccaed40070512a5c9d7378453dfaa95fa7ce3 ./wind_downscaling/veg/highres_orog.nc ffc2eb3c5ab8e797a4401bd6ff4d262f8c1f759efdd92d62d680c697f5ba4a9c ./wind_downscaling/veg/input.nc -445762fadec0d22e4cf6acd6700dc6b8cbc88894467b8c19cf74e5e83a956e1c ./wind_downscaling/veg/kgo.nc +6636e4167431c27703ec8d048b588f0bd4fc0c5a2527d42902dfa0535845a52b ./wind_downscaling/veg/kgo.nc f62188a4e606e69611fbaf23805c06c19c326026a8d763cf6a53a1afd070cd83 ./wind_downscaling/veg/sigma.nc 9b9e15a77bbfecb225c323d99469a523a050602d92a0a3d4fd7ea0b0a264085f ./wind_downscaling/veg/standard_orog.nc dc30ed1991e25207b298ba4080581548725021098d5b0a904e7097ede07b9636 ./wind_downscaling/veg/veg.nc d20836b94e6dc642d3fdd7239c8210db3e1cdc35f8da320d134d55158181b95a ./wind_downscaling/with_realization/a_over_s.nc 0c249e059bb0c8263bddc339adcccaed40070512a5c9d7378453dfaa95fa7ce3 ./wind_downscaling/with_realization/highres_orog.nc 734dd94a705e7ebaea58f1543ab20fdb6568622c1e1b0e402e3a70eb1cb655f7 ./wind_downscaling/with_realization/input.nc -da2840ab1602da393765bc3b44d5c65e17b48128d9aff7ecbfdf262d44822563 ./wind_downscaling/with_realization/kgo.nc +17623a06ac86145252afa353b065794fe3c07cf5d31edbc48fb8bdd28b98461f ./wind_downscaling/with_realization/kgo.nc f62188a4e606e69611fbaf23805c06c19c326026a8d763cf6a53a1afd070cd83 ./wind_downscaling/with_realization/sigma.nc 9b9e15a77bbfecb225c323d99469a523a050602d92a0a3d4fd7ea0b0a264085f ./wind_downscaling/with_realization/standard_orog.nc From 7b665ea4a5a53cc0279e508581e2653c4d10d7d4 Mon Sep 17 00:00:00 2001 From: Max White Date: Wed, 10 Dec 2025 16:08:56 +0000 Subject: [PATCH 3/9] Remove unused @njit decorators --- improver/calibration/quantile_mapping.py | 4 ---- 1 file changed, 4 deletions(-) diff --git a/improver/calibration/quantile_mapping.py b/improver/calibration/quantile_mapping.py index 094e7d5760..1f699d63e4 100644 --- a/improver/calibration/quantile_mapping.py +++ b/improver/calibration/quantile_mapping.py @@ -12,7 +12,6 @@ from improver import PostProcessingPlugin -# @njit def _build_empirical_cdf(data: np.ndarray) -> tuple[np.ndarray, np.ndarray]: """Build empirical cumulative distribution function (CDF). @@ -29,7 +28,6 @@ def _build_empirical_cdf(data: np.ndarray) -> tuple[np.ndarray, np.ndarray]: return sorted_values, quantiles -# @njit def _inverted_cdf(data: np.ndarray, quantiles: np.ndarray) -> np.ndarray: """Calculate values using discrete quantile lookup (rounding down to nearest data point). @@ -54,7 +52,6 @@ def _inverted_cdf(data: np.ndarray, quantiles: np.ndarray) -> np.ndarray: return sorted_values[floored_indices] -# @njit def _interpolated_inverted_cdf(data: np.ndarray, quantiles: np.ndarray) -> np.ndarray: """Calculate values at provided quantiles using linear interpolation. @@ -73,7 +70,6 @@ def _interpolated_inverted_cdf(data: np.ndarray, quantiles: np.ndarray) -> np.nd return np.interp(quantiles, empirical_quantiles, sorted_values) -# @njit def quantile_mapping( reference_data: np.ndarray, forecast_data: np.ndarray, From 5490ae7ac224185bc01f74883e528e19578e6c9a Mon Sep 17 00:00:00 2001 From: Max White Date: Mon, 29 Dec 2025 11:05:34 +0000 Subject: [PATCH 4/9] Implement basic review feedback --- improver/calibration/quantile_mapping.py | 360 ++++++++++++----------- 1 file changed, 181 insertions(+), 179 deletions(-) diff --git a/improver/calibration/quantile_mapping.py b/improver/calibration/quantile_mapping.py index 1f699d63e4..f6e0644b63 100644 --- a/improver/calibration/quantile_mapping.py +++ b/improver/calibration/quantile_mapping.py @@ -12,177 +12,6 @@ from improver import PostProcessingPlugin -def _build_empirical_cdf(data: np.ndarray) -> tuple[np.ndarray, np.ndarray]: - """Build empirical cumulative distribution function (CDF). - - Args: - data: Input data values. - - Returns: - Tuple of (sorted_values, quantiles) representing the empirical CDF. - - """ - sorted_values = np.sort(data) - num_points = len(sorted_values) - quantiles = np.arange(1, num_points + 1) / num_points - return sorted_values, quantiles - - -def _inverted_cdf(data: np.ndarray, quantiles: np.ndarray) -> np.ndarray: - """Calculate values using discrete quantile lookup (rounding down to nearest data - point). - - This method rounds each quantile down to the nearest available data point in the - dataset, creating a step-function mapping. Faster but less smooth than - interpolation. Always returns actual values from the data. Taken - from https://github.com/ecmwf-projects/ibicus/blob/main/ibicus/utils/_math_utils.py. - - Args: - data: - Data values defining the distribution. - quantiles: - Quantiles to evaluate (between 0 and 1). - - Returns: - Values corresponding to the requested quantiles. - """ - sorted_values = np.sort(data) - num_points = sorted_values.shape[0] - floored_indices = np.array(np.floor((num_points - 1) * quantiles), dtype=np.int32) - return sorted_values[floored_indices] - - -def _interpolated_inverted_cdf(data: np.ndarray, quantiles: np.ndarray) -> np.ndarray: - """Calculate values at provided quantiles using linear interpolation. - - This method is slower but produces a continuous mapping. - - Args: - data: - Data values defining the distribution. - quantiles: - Quantiles to evaluate (between 0 and 1). - - Returns: - Values corresponding to the requested quantiles. - """ - sorted_values, empirical_quantiles = _build_empirical_cdf(data) - return np.interp(quantiles, empirical_quantiles, sorted_values) - - -def quantile_mapping( - reference_data: np.ndarray, - forecast_data: np.ndarray, - values_to_map: Optional[np.ndarray] = None, - mapping_method: Literal["floor", "interp"] = "floor", -) -> np.ndarray: - """Apply quantile mapping to transform forecast values to match a reference - distribution. - - Guidance on method choice - ------------------------- - Consider the following example. - - reference_data: [10, 20, 30, 40, 50] - - forecast_data: [5, 15, 25, 35, 45] - - values_to_map: [7.5, 17.5, 27.5, 37.5, 47.5, 60] - - The forecast data systematically underestimates the reference data by 5 units. - The following mapped values will be produced with each approach: - - floor: [20, 20, 30, 40, 50, 50] - - interp: [12.5, 22.5, 32.5, 42.5, 50.0, 50.0] - - Args: - reference_data: - Target distribution (observed historical data). - forecast_data: - Source distribution (biased model forecasts). - values_to_map: - New forecast values to transform. If None, applies - quantile-mapped transformation to forecast_data. - mapping_method: - mapping_method for inverse CDF calculation: - - "floor": Use floored index lookup (discrete steps). Faster. - - "interp": Use linear interpolation (continuous). Slower. - - Returns: - Bias-corrected values in the reference distribution. - - Raises: - ValueError: - If an unknown method is provided. - """ - if values_to_map is None: - values_to_map = forecast_data - - if mapping_method not in ["floor", "interp"]: - raise ValueError( - f"Unknown mapping method: {mapping_method}. Choose 'floor' or 'interp'." - ) - - # Build empirical CDF for forecast distribution - sorted_forecast_values, forecast_empirical_quantiles = _build_empirical_cdf( - forecast_data - ) - - # Map values to quantiles in forecast distribution (clips to [0, 1]) - target_quantiles = np.interp( - values_to_map, sorted_forecast_values, forecast_empirical_quantiles - ) - - # Invert CDF using chosen method - if mapping_method == "floor": - corrected_values = _inverted_cdf(reference_data, target_quantiles) - elif mapping_method == "interp": - corrected_values = _interpolated_inverted_cdf(reference_data, target_quantiles) - - return corrected_values - - -def _convert_cubes_to_common_units( - reference_cube: Cube, - forecast_cube: Cube, - forecast_to_calibrate: Optional[Cube] = None, -) -> tuple[Cube, Cube, Optional[Cube]]: - """Convert all cubes to common units without modifying originals. - - Args: - reference_cube: - The reference forecast cube. - forecast_cube: - The forecast cube to calibrate. - forecast_to_calibrate: - Optional different forecast cube to calibrate. - - Returns: - Tuple of (reference_cube, forecast_cube, forecast_to_calibrate) - all converted to common units. - - Raises: - ValueError: If cubes have incompatible units. - """ - target_units = ( - forecast_to_calibrate.units - if forecast_to_calibrate is not None - else forecast_cube.units - ) - - # Convert each cube to target_units if needed - converted_cubes = [] - for cube in [reference_cube, forecast_cube, forecast_to_calibrate]: - if cube is not None and cube.units != target_units: - try: - cube = cube.copy() - cube.convert_units(target_units) - except ValueError: - raise ValueError( - f"Cannot convert cube with units {cube.units} " - f"to target units {target_units}" - ) - converted_cubes.append(cube) - - return tuple(converted_cubes) - - class QuantileMapping(PostProcessingPlugin): """Apply quantile mapping bias correction to forecast data.""" @@ -198,6 +27,182 @@ def __init__(self, preservation_threshold: Optional[float] = None) -> None: """ self.preservation_threshold = preservation_threshold + @staticmethod + def _build_empirical_cdf(data: np.ndarray) -> tuple[np.ndarray, np.ndarray]: + """Build empirical cumulative distribution function (CDF). + + Args: + data: Input data values. + + Returns: + Tuple of (sorted_values, quantiles) representing the empirical CDF. + + """ + sorted_values = np.sort(data) + num_points = sorted_values.shape[0] + quantiles = np.arange(1, num_points + 1) / num_points + return sorted_values, quantiles + + @staticmethod + def _inverted_cdf(data: np.ndarray, quantiles: np.ndarray) -> np.ndarray: + """Calculate values using discrete quantile lookup (rounding down to nearest data + point). + + This method rounds each quantile down to the nearest available data point in the + dataset, creating a step-function mapping. Faster but less smooth than + interpolation. Always returns actual values from the data. Taken + from https://github.com/ecmwf-projects/ibicus/blob/main/ibicus/utils/_math_utils.py. + + Args: + data: + Data values defining the distribution. + quantiles: + Quantiles to evaluate (between 0 and 1). + + Returns: + Values corresponding to the requested quantiles. + """ + sorted_values = np.sort(data) + num_points = sorted_values.shape[0] + floored_indices = np.array( + np.floor((num_points - 1) * quantiles), dtype=np.int32 + ) + return sorted_values[floored_indices] + + def _interpolated_inverted_cdf( + self, data: np.ndarray, quantiles: np.ndarray + ) -> np.ndarray: + """Calculate values at provided quantiles using linear interpolation. + + This method is slower but produces a continuous mapping. + + Args: + data: + Data values defining the distribution. + quantiles: + Quantiles to evaluate (between 0 and 1). + + Returns: + Values corresponding to the requested quantiles. + """ + sorted_values, empirical_quantiles = self._build_empirical_cdf(data) + return np.interp(quantiles, empirical_quantiles, sorted_values) + + def apply_quantile_mapping( + self, + reference_data: np.ndarray, + forecast_data: np.ndarray, + values_to_map: Optional[np.ndarray] = None, + mapping_method: Literal["floor", "interp"] = "floor", + ) -> np.ndarray: + """Apply quantile mapping to transform forecast values to match a reference + distribution. + + Guidance on method choice + ------------------------- + Consider the following example. + - reference_data: [10, 20, 30, 40, 50] + - forecast_data: [5, 15, 25, 35, 45] + - values_to_map: [7.5, 17.5, 27.5, 37.5, 47.5, 60] + + The forecast data systematically underestimates the reference data by 5 units. + The following mapped values will be produced with each approach: + - floor: [20, 20, 30, 40, 50, 50] + - interp: [12.5, 22.5, 32.5, 42.5, 50.0, 50.0] + + Args: + reference_data: + Target distribution (observed historical data). + forecast_data: + Source distribution (biased model forecasts). + values_to_map: + New forecast values to transform. If None, applies + quantile-mapped transformation to forecast_data. + mapping_method: + mapping_method for inverse CDF calculation: + - "floor": Use floored index lookup (discrete steps). Faster. + - "interp": Use linear interpolation (continuous). Slower. + + Returns: + Bias-corrected values in the reference distribution. + + Raises: + ValueError: + If an unknown method is provided. + """ + if values_to_map is None: + values_to_map = forecast_data + + if mapping_method not in ["floor", "interp"]: + raise ValueError( + f"Unknown mapping method: {mapping_method}. Choose 'floor' or 'interp'." + ) + + # Build empirical CDF for forecast distribution + sorted_forecast_values, forecast_empirical_quantiles = ( + self._build_empirical_cdf(forecast_data) + ) + + # Map values to quantiles in forecast distribution (clips to [0, 1]) + target_quantiles = np.interp( + values_to_map, sorted_forecast_values, forecast_empirical_quantiles + ) + + # Invert CDF using chosen method + if mapping_method == "floor": + corrected_values = self._inverted_cdf(reference_data, target_quantiles) + elif mapping_method == "interp": + corrected_values = self._interpolated_inverted_cdf( + reference_data, target_quantiles + ) + + return corrected_values + + @staticmethod + def _convert_cubes_to_forecast_units( + reference_cube: Cube, + forecast_cube: Cube, + forecast_to_calibrate: Optional[Cube] = None, + ) -> tuple[Cube, Cube, Optional[Cube]]: + """Convert all cubes to common units without modifying originals. + + Args: + reference_cube: + The reference forecast cube. + forecast_cube: + The forecast cube to calibrate. + forecast_to_calibrate: + Optional different forecast cube to calibrate. + + Returns: + Tuple of (reference_cube, forecast_cube, forecast_to_calibrate) + all converted to common units. + + Raises: + ValueError: If cubes have incompatible units. + """ + target_units = ( + forecast_to_calibrate.units + if forecast_to_calibrate is not None + else forecast_cube.units + ) + + # Convert each cube to target_units if needed + converted_cubes = [] + for cube in [reference_cube, forecast_cube, forecast_to_calibrate]: + if cube is not None and cube.units != target_units: + try: + cube = cube.copy() + cube.convert_units(target_units) + except ValueError: + raise ValueError( + f"Cannot convert cube with units {cube.units} " + f"to target units {target_units}" + ) + converted_cubes.append(cube) + + return tuple(converted_cubes) + def process( self, reference_cube: Cube, @@ -232,14 +237,11 @@ def process( Returns: Calibrated forecast cube with quantiles mapped to the reference distribution or forecast_to_calibrate data adjusted with the same learned mapping. - - Raises: - ValueError: If reference and forecast cubes have incompatible units. """ # Convert all cubes to common units reference_cube, forecast_cube, forecast_to_calibrate = ( - _convert_cubes_to_common_units( + self._convert_cubes_to_forecast_units( reference_cube, forecast_cube, forecast_to_calibrate ) ) @@ -288,14 +290,14 @@ def process( else None ) - corrected_values_flat = quantile_mapping( + corrected_values_flat = self.apply_quantile_mapping( reference_data_flat, forecast_data_flat, values_to_map_flat, mapping_method ) # Reshape mapped data to original shape and ensure float32 - corrected_data_reshaped = np.reshape( - corrected_values_flat, output_shape - ).astype(np.float32) + corrected_data_reshaped = np.reshape(corrected_values_flat, output_shape) + if corrected_data_reshaped.dtype != np.float32: + corrected_data_reshaped = corrected_data_reshaped.astype(np.float32) # Preserve mask if original data was masked if output_mask is not None: From 618d78a8f53949eb5c058d9ca89f8e505b7c6783 Mon Sep 17 00:00:00 2001 From: Max White Date: Mon, 29 Dec 2025 16:13:09 +0000 Subject: [PATCH 5/9] 1. Implement reviewer feedback: - Move functionality into QuantileMapping class - Remove redundancy - Increase variable name clarity - Refactor into smaller functions 2. Additions: - Improved readability experience of docstrings - Fixed improper masked array handling --- improver/calibration/quantile_mapping.py | 375 +++++++++++++---------- 1 file changed, 210 insertions(+), 165 deletions(-) diff --git a/improver/calibration/quantile_mapping.py b/improver/calibration/quantile_mapping.py index f6e0644b63..628a246922 100644 --- a/improver/calibration/quantile_mapping.py +++ b/improver/calibration/quantile_mapping.py @@ -2,7 +2,15 @@ # # This file is part of 'IMPROVER' and is released under the BSD 3-Clause license. # See LICENSE in the root of the repository for full licensing details. -"""Module containing quantile mapping classes.""" +"""Module containing quantile mapping bias correction. + +Quantile mapping is a statistical calibration technique that adjusts forecast +values to match the distribution of reference (observed) data. It works by: +1. Finding each forecast value's position (quantile) in the forecast distribution +2. Mapping that quantile to the corresponding value in the reference distribution + +This corrects systematic biases while preserving spatial patterns. +""" from typing import Literal, Optional @@ -32,7 +40,7 @@ def _build_empirical_cdf(data: np.ndarray) -> tuple[np.ndarray, np.ndarray]: """Build empirical cumulative distribution function (CDF). Args: - data: Input data values. + data: 1D array of input data values. Returns: Tuple of (sorted_values, quantiles) representing the empirical CDF. @@ -45,22 +53,23 @@ def _build_empirical_cdf(data: np.ndarray) -> tuple[np.ndarray, np.ndarray]: @staticmethod def _inverted_cdf(data: np.ndarray, quantiles: np.ndarray) -> np.ndarray: - """Calculate values using discrete quantile lookup (rounding down to nearest data - point). + """Get distribution values at specified quantiles (discrete step method). + + Uses floored index lookup, rounding each quantile down to the nearest + available data point. This creates a step-function mapping that's faster + but less smooth than interpolation. - This method rounds each quantile down to the nearest available data point in the - dataset, creating a step-function mapping. Faster but less smooth than - interpolation. Always returns actual values from the data. Taken - from https://github.com/ecmwf-projects/ibicus/blob/main/ibicus/utils/_math_utils.py. + Taken from: + https://github.com/ecmwf-projects/ibicus/blob/main/ibicus/utils/_math_utils.py Args: data: - Data values defining the distribution. + 1D array of data values defining the distribution. quantiles: - Quantiles to evaluate (between 0 and 1). + Quantiles to evaluate (values between 0 and 1). Returns: - Values corresponding to the requested quantiles. + Values from the data corresponding to the requested quantiles. """ sorted_values = np.sort(data) num_points = sorted_values.shape[0] @@ -72,142 +81,251 @@ def _inverted_cdf(data: np.ndarray, quantiles: np.ndarray) -> np.ndarray: def _interpolated_inverted_cdf( self, data: np.ndarray, quantiles: np.ndarray ) -> np.ndarray: - """Calculate values at provided quantiles using linear interpolation. + """Get distribution values at specified quantiles (interpolation method). - This method is slower but produces a continuous mapping. + Uses linear interpolation between data points for smooth, continuous + mapping. Slower than the discrete method but produces more gradual + transitions. Args: data: - Data values defining the distribution. + 1D array of data values defining the distribution. quantiles: - Quantiles to evaluate (between 0 and 1). + Quantiles to evaluate (values between 0 and 1). Returns: - Values corresponding to the requested quantiles. + Interpolated values corresponding to the requested quantiles. """ sorted_values, empirical_quantiles = self._build_empirical_cdf(data) return np.interp(quantiles, empirical_quantiles, sorted_values) - def apply_quantile_mapping( + def _map_quantiles( self, reference_data: np.ndarray, forecast_data: np.ndarray, - values_to_map: Optional[np.ndarray] = None, mapping_method: Literal["floor", "interp"] = "floor", ) -> np.ndarray: - """Apply quantile mapping to transform forecast values to match a reference - distribution. + """Transform forecast values to match the reference distribution. + + For each forecast value: + 1. Find its quantile position in the forecast distribution + 2. Map that quantile to the corresponding value in the reference distribution Guidance on method choice ------------------------- - Consider the following example. + Example: - reference_data: [10, 20, 30, 40, 50] - forecast_data: [5, 15, 25, 35, 45] - - values_to_map: [7.5, 17.5, 27.5, 37.5, 47.5, 60] - The forecast data systematically underestimates the reference data by 5 units. - The following mapped values will be produced with each approach: - - floor: [20, 20, 30, 40, 50, 50] - - interp: [12.5, 22.5, 32.5, 42.5, 50.0, 50.0] + The forecast systematically underestimates by 5 units. + Corrected values produced: + - "floor": [10, 20, 30, 40, 50] (discrete steps) + - "interp": [12.5, 22.5, 32.5, 42.5, 50.0] (smooth interpolation) Args: reference_data: - Target distribution (observed historical data). + Target distribution (observed/historical data). forecast_data: - Source distribution (biased model forecasts). - values_to_map: - New forecast values to transform. If None, applies - quantile-mapped transformation to forecast_data. + Source distribution (biased forecasts to correct). mapping_method: - mapping_method for inverse CDF calculation: - - "floor": Use floored index lookup (discrete steps). Faster. - - "interp": Use linear interpolation (continuous). Slower. + Quantile lookup method: + - "floor": Discrete steps (faster, step-function). + - "interp": Linear interpolation (slower, continuous). Returns: - Bias-corrected values in the reference distribution. + Bias-corrected forecast values matching the reference distribution. Raises: - ValueError: - If an unknown method is provided. + ValueError: If mapping_method is not "floor" or "interp". """ - if values_to_map is None: - values_to_map = forecast_data - if mapping_method not in ["floor", "interp"]: raise ValueError( f"Unknown mapping method: {mapping_method}. Choose 'floor' or 'interp'." ) - # Build empirical CDF for forecast distribution + # Build empirical CDF for the forecast distribution sorted_forecast_values, forecast_empirical_quantiles = ( self._build_empirical_cdf(forecast_data) ) - # Map values to quantiles in forecast distribution (clips to [0, 1]) - target_quantiles = np.interp( - values_to_map, sorted_forecast_values, forecast_empirical_quantiles + # Find where each forecast value sits in the forecast distribution + # (i.e., determine its quantile, clipped to [0, 1]) + forecast_quantiles = np.interp( + forecast_data, sorted_forecast_values, forecast_empirical_quantiles ) - # Invert CDF using chosen method + # Map the chosen quantiles to values in the reference distribution if mapping_method == "floor": - corrected_values = self._inverted_cdf(reference_data, target_quantiles) - elif mapping_method == "interp": + corrected_values = self._inverted_cdf(reference_data, forecast_quantiles) + else: # "interp" corrected_values = self._interpolated_inverted_cdf( - reference_data, target_quantiles + reference_data, forecast_quantiles ) return corrected_values @staticmethod - def _convert_cubes_to_forecast_units( + def _convert_reference_cube_to_forecast_units( reference_cube: Cube, forecast_cube: Cube, - forecast_to_calibrate: Optional[Cube] = None, - ) -> tuple[Cube, Cube, Optional[Cube]]: - """Convert all cubes to common units without modifying originals. + ) -> tuple[Cube, Cube]: + """Ensure reference cube uses the same units as forecast cube. Args: reference_cube: - The reference forecast cube. + The reference data cube. forecast_cube: - The forecast cube to calibrate. - forecast_to_calibrate: - Optional different forecast cube to calibrate. + The forecast data cube. Returns: - Tuple of (reference_cube, forecast_cube, forecast_to_calibrate) - all converted to common units. + Tuple of (reference_cube, forecast_cube) with matching units. Raises: - ValueError: If cubes have incompatible units. + ValueError: If units are incompatible and cannot be converted. + """ + target_units = forecast_cube.units + + # Convert reference_cube to target_units if needed + if reference_cube is not None and reference_cube.units != target_units: + try: + reference_cube = reference_cube.copy() + reference_cube.convert_units(target_units) + except ValueError: + raise ValueError( + f"Cannot convert cube with units {reference_cube.units} " + f"to target units {target_units}" + ) + + return (reference_cube, forecast_cube) + + def _process_masked_data( + self, + reference_cube: Cube, + forecast_cube: Cube, + mapping_method: Literal["floor", "interp"], + ) -> tuple[np.ndarray, Optional[np.ndarray]]: + """Apply quantile mapping while properly handling masked data. + + Masked values are excluded from the calibration CDFs to avoid + contaminating the statistics. They are preserved in their original + (masked) state in the output. + + Args: + reference_cube: + The reference cube (with units already converted). + forecast_cube: + The forecast cube to calibrate. + mapping_method: + "floor" for discrete steps or "interp" for interpolation. + + Returns: + Tuple of: + - corrected_data_flat: 1D array with corrected values. + - output_mask: The mask to apply, or None if data is not masked. """ - target_units = ( - forecast_to_calibrate.units - if forecast_to_calibrate is not None - else forecast_cube.units + # Determine if either cube has masked data + forecast_is_masked = np.ma.is_masked(forecast_cube.data) + reference_is_masked = np.ma.is_masked(reference_cube.data) + + if forecast_is_masked or reference_is_masked: + # Create combined mask using getmaskarray (returns False array if not masked) + combined_mask = np.ma.getmaskarray(forecast_cube.data) | np.ma.getmaskarray( + reference_cube.data + ) + + # Flatten and get valid (non-masked) indices + combined_mask_flat = combined_mask.flatten() + valid_mask = ~combined_mask_flat + + # Extract underlying data arrays (ignoring masks temporarily) + # We need the full arrays to reconstruct later, but will only + # use valid_mask indices for quantile mapping calculations + reference_data_flat = np.ma.getdata(reference_cube.data).flatten() + forecast_data_flat = np.ma.getdata(forecast_cube.data).flatten() + + # Extract ONLY valid (non-masked) values for CDF calculations + # Masked values are not included in these arrays + reference_valid = reference_data_flat[valid_mask] + forecast_valid = forecast_data_flat[valid_mask] + + # Apply quantile mapping using only valid values + corrected_valid = self._map_quantiles( + reference_valid, forecast_valid, mapping_method + ) + + # Reconstruct full array with corrected values at valid positions + corrected_values_flat = forecast_data_flat.copy() + corrected_values_flat[valid_mask] = corrected_valid + + output_mask = combined_mask + else: + # No masking needed + output_mask = None + corrected_values_flat = self._map_quantiles( + reference_cube.data.flatten(), + forecast_cube.data.flatten(), + mapping_method, + ) + + return corrected_values_flat, output_mask + + def _apply_preservation_threshold( + self, output_cube: Cube, forecast_cube: Cube + ) -> None: + """Preserve original values below preservation threshold. + + Modifies output_cube.data in-place. + + Args: + output_cube: + The cube with calibrated data to modify. + forecast_cube: + The original forecast cube with values to preserve. + """ + if self.preservation_threshold is None: + return + + mask_below_threshold = np.ma.less( + forecast_cube.data, self.preservation_threshold + ) + # np.ma.where works for both masked and non-masked arrays + output_cube.data = np.ma.where( + mask_below_threshold, forecast_cube.data, output_cube.data ) - # Convert each cube to target_units if needed - converted_cubes = [] - for cube in [reference_cube, forecast_cube, forecast_to_calibrate]: - if cube is not None and cube.units != target_units: - try: - cube = cube.copy() - cube.convert_units(target_units) - except ValueError: - raise ValueError( - f"Cannot convert cube with units {cube.units} " - f"to target units {target_units}" - ) - converted_cubes.append(cube) - - return tuple(converted_cubes) + def _finalise_output_cube( + self, + corrected_values_flat: np.ndarray, + forecast_cube: Cube, + output_cube: Cube, + output_mask, + ) -> None: + """Make final adjustments to output cube metadata and data type. + Args: + output_cube: + The cube to finalize. + """ + # Reshape corrected data to match original shape and set data type to float32 + if corrected_values_flat.dtype != np.float32: + corrected_values_flat = corrected_values_flat.astype(np.float32) + + corrected_data_reshaped = np.reshape(corrected_values_flat, forecast_cube.shape) + + # Reinstate original mask if applicable + if output_mask is not None: + output_cube.data = np.ma.masked_array( + corrected_data_reshaped, mask=output_mask + ) + else: + output_cube.data = corrected_data_reshaped + + # Preserve low values if threshold is set, modifying in-place + self._apply_preservation_threshold(output_cube, forecast_cube) def process( self, reference_cube: Cube, forecast_cube: Cube, - forecast_to_calibrate: Optional[Cube] = None, mapping_method: Literal["floor", "interp"] = "floor", ) -> Cube: """Adjust forecast values to match the statistical distribution of reference @@ -227,103 +345,30 @@ def process( should look like. forecast_cube: The forecast data you want to correct (e.g. smoothed model output). - forecast_to_calibrate: - Optional different forecast values to correct using the same mapping. - If not provided, the forecast_cube data itself will be corrected. mapping_method: Method for inverse CDF calculation. Either "floor" (discrete steps, faster) or "interp" (linear interpolation; slower, continuous). Returns: - Calibrated forecast cube with quantiles mapped to the reference distribution - or forecast_to_calibrate data adjusted with the same learned mapping. + Calibrated forecast cube with quantiles mapped to the reference + distribution. """ - # Convert all cubes to common units - reference_cube, forecast_cube, forecast_to_calibrate = ( - self._convert_cubes_to_forecast_units( - reference_cube, forecast_cube, forecast_to_calibrate - ) + # Ensure both cubes use the same units + reference_cube, forecast_cube = self._convert_reference_cube_to_forecast_units( + reference_cube, forecast_cube ) - # Create a copy of the forecast_cube or forecast_to_calibrate cube to hold - # output data and preserve metadata. - output_cube = ( - forecast_cube.copy() - if forecast_to_calibrate is None - else forecast_to_calibrate.copy() - ) + # Create output cube to preserve metadata + output_cube = forecast_cube.copy() - # Extract data, handling masked arrays - if np.ma.is_masked(reference_cube.data): - reference_data_flat = reference_cube.data.filled().flatten() - else: - reference_data_flat = reference_cube.data.flatten() - - if np.ma.is_masked(forecast_cube.data): - forecast_data_flat = forecast_cube.data.filled().flatten() - else: - forecast_data_flat = forecast_cube.data.flatten() - - # Determine values to map and output shape - if forecast_to_calibrate is None: - # Use forecast_cube data - if np.ma.is_masked(output_cube.data): - values_to_map_flat = output_cube.data.filled().flatten() - else: - values_to_map_flat = output_cube.data.flatten() - output_shape = forecast_cube.shape - output_mask = ( - forecast_cube.data.mask if np.ma.is_masked(forecast_cube.data) else None - ) - else: - # Use provided cube's data - output_cube = forecast_to_calibrate.copy() - if np.ma.is_masked(forecast_to_calibrate.data): - values_to_map_flat = forecast_to_calibrate.data.filled().flatten() - else: - values_to_map_flat = forecast_to_calibrate.data.flatten() - output_shape = forecast_to_calibrate.shape - output_mask = ( - forecast_to_calibrate.data.mask - if np.ma.is_masked(forecast_to_calibrate.data) - else None - ) - - corrected_values_flat = self.apply_quantile_mapping( - reference_data_flat, forecast_data_flat, values_to_map_flat, mapping_method + # Apply quantile mapping (handles masked data automatically) + corrected_values_flat, output_mask = self._process_masked_data( + reference_cube, forecast_cube, mapping_method ) - # Reshape mapped data to original shape and ensure float32 - corrected_data_reshaped = np.reshape(corrected_values_flat, output_shape) - if corrected_data_reshaped.dtype != np.float32: - corrected_data_reshaped = corrected_data_reshaped.astype(np.float32) - - # Preserve mask if original data was masked - if output_mask is not None: - output_cube.data = np.ma.masked_array( - corrected_data_reshaped, mask=output_mask - ) - else: - output_cube.data = corrected_data_reshaped - - # Preserve values below preservation_threshold if provided - if self.preservation_threshold is not None: - # Get the source data to preserve (forecast_cube or forecast_to_calibrate) - original_source_data = ( - forecast_cube.data - if forecast_to_calibrate is None - else forecast_to_calibrate.data - ) - mask_below_threshold = original_source_data < self.preservation_threshold - # Update masked arrays only if input was masked - if np.ma.is_masked(original_source_data): - output_cube.data = np.ma.where( - mask_below_threshold, original_source_data, output_cube.data - ) - else: - output_cube.data = np.where( - mask_below_threshold, original_source_data, output_cube.data - ) + self._finalise_output_cube( + corrected_values_flat, forecast_cube, output_cube, output_mask + ) return output_cube From 6ec215f15bb62aa3de3605f31d5cb9c3d952580c Mon Sep 17 00:00:00 2001 From: Max White Date: Mon, 29 Dec 2025 16:18:42 +0000 Subject: [PATCH 6/9] Implement reviewer feedback: support agnostic ordering of cube arguments. --- improver/cli/quantile_mapping.py | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/improver/cli/quantile_mapping.py b/improver/cli/quantile_mapping.py index b951bbab3e..3cc98cef08 100644 --- a/improver/cli/quantile_mapping.py +++ b/improver/cli/quantile_mapping.py @@ -11,9 +11,8 @@ @cli.clizefy @cli.with_output def process( - reference_cube: cli.inputcube, - forecast_cube: cli.inputcube, - *, + *cubes: cli.inputcube, + truth_attribute: str, mapping_method: str = "floor", preservation_threshold: float = None, forecast_to_calibrate: cli.inputcube = None, @@ -27,6 +26,13 @@ def process( realistic variation in the values while preserving the spatial patterns. Args: + cubes: + A list of cubes containing the forecasts and corresponding truth (reference) + used for calibration. They must have the same cube name and will be + separated based on the truth attribute. + truth_attribute: + An attribute and its value in the format of "attribute=value", + which must be present on historical truth cubes. reference_cube: The reference data that define what the "correct" distribution should look like. @@ -52,8 +58,10 @@ def process( Raises: ValueError: If reference and forecast cubes have incompatible units. """ + from improver.calibration import split_forecasts_and_truth from improver.calibration.quantile_mapping import QuantileMapping + forecast_cube, reference_cube = split_forecasts_and_truth(cubes, truth_attribute) plugin = QuantileMapping(preservation_threshold=preservation_threshold) return plugin.process( reference_cube, From 477f1d1063a52c4034a5b5f01e3e57e50a7bd667 Mon Sep 17 00:00:00 2001 From: Max White Date: Tue, 30 Dec 2025 17:09:06 +0000 Subject: [PATCH 7/9] Update unit tests to reflect changes to plugin --- improver/calibration/quantile_mapping.py | 71 +--- .../calibration/quantile_mapping/__init__.py | 0 .../quantile_mapping/test_QuantileMapping.py | 246 +++++++++++ .../calibration/test_QuantileMapping.py | 384 ------------------ 4 files changed, 257 insertions(+), 444 deletions(-) create mode 100644 improver_tests/calibration/quantile_mapping/__init__.py create mode 100644 improver_tests/calibration/quantile_mapping/test_QuantileMapping.py delete mode 100644 improver_tests/calibration/test_QuantileMapping.py diff --git a/improver/calibration/quantile_mapping.py b/improver/calibration/quantile_mapping.py index 628a246922..6421b4eba9 100644 --- a/improver/calibration/quantile_mapping.py +++ b/improver/calibration/quantile_mapping.py @@ -12,7 +12,7 @@ This corrects systematic biases while preserving spatial patterns. """ -from typing import Literal, Optional +from typing import Optional import numpy as np from iris.cube import Cube @@ -78,71 +78,34 @@ def _inverted_cdf(data: np.ndarray, quantiles: np.ndarray) -> np.ndarray: ) return sorted_values[floored_indices] - def _interpolated_inverted_cdf( - self, data: np.ndarray, quantiles: np.ndarray - ) -> np.ndarray: - """Get distribution values at specified quantiles (interpolation method). - - Uses linear interpolation between data points for smooth, continuous - mapping. Slower than the discrete method but produces more gradual - transitions. - - Args: - data: - 1D array of data values defining the distribution. - quantiles: - Quantiles to evaluate (values between 0 and 1). - - Returns: - Interpolated values corresponding to the requested quantiles. - """ - sorted_values, empirical_quantiles = self._build_empirical_cdf(data) - return np.interp(quantiles, empirical_quantiles, sorted_values) - def _map_quantiles( self, reference_data: np.ndarray, forecast_data: np.ndarray, - mapping_method: Literal["floor", "interp"] = "floor", ) -> np.ndarray: """Transform forecast values to match the reference distribution. For each forecast value: 1. Find its quantile position in the forecast distribution 2. Map that quantile to the corresponding value in the reference distribution + using discrete (floor) method - Guidance on method choice - ------------------------- Example: - reference_data: [10, 20, 30, 40, 50] - forecast_data: [5, 15, 25, 35, 45] The forecast systematically underestimates by 5 units. - Corrected values produced: - - "floor": [10, 20, 30, 40, 50] (discrete steps) - - "interp": [12.5, 22.5, 32.5, 42.5, 50.0] (smooth interpolation) + Corrected values: [10, 20, 30, 40, 50] (mapped to reference distribution) Args: reference_data: Target distribution (observed/historical data). forecast_data: Source distribution (biased forecasts to correct). - mapping_method: - Quantile lookup method: - - "floor": Discrete steps (faster, step-function). - - "interp": Linear interpolation (slower, continuous). Returns: Bias-corrected forecast values matching the reference distribution. - - Raises: - ValueError: If mapping_method is not "floor" or "interp". """ - if mapping_method not in ["floor", "interp"]: - raise ValueError( - f"Unknown mapping method: {mapping_method}. Choose 'floor' or 'interp'." - ) - # Build empirical CDF for the forecast distribution sorted_forecast_values, forecast_empirical_quantiles = ( self._build_empirical_cdf(forecast_data) @@ -154,13 +117,8 @@ def _map_quantiles( forecast_data, sorted_forecast_values, forecast_empirical_quantiles ) - # Map the chosen quantiles to values in the reference distribution - if mapping_method == "floor": - corrected_values = self._inverted_cdf(reference_data, forecast_quantiles) - else: # "interp" - corrected_values = self._interpolated_inverted_cdf( - reference_data, forecast_quantiles - ) + # Map the quantiles to values in the reference distribution + corrected_values = self._inverted_cdf(reference_data, forecast_quantiles) return corrected_values @@ -186,7 +144,7 @@ def _convert_reference_cube_to_forecast_units( target_units = forecast_cube.units # Convert reference_cube to target_units if needed - if reference_cube is not None and reference_cube.units != target_units: + if reference_cube.units != target_units: try: reference_cube = reference_cube.copy() reference_cube.convert_units(target_units) @@ -202,7 +160,6 @@ def _process_masked_data( self, reference_cube: Cube, forecast_cube: Cube, - mapping_method: Literal["floor", "interp"], ) -> tuple[np.ndarray, Optional[np.ndarray]]: """Apply quantile mapping while properly handling masked data. @@ -215,8 +172,6 @@ def _process_masked_data( The reference cube (with units already converted). forecast_cube: The forecast cube to calibrate. - mapping_method: - "floor" for discrete steps or "interp" for interpolation. Returns: Tuple of: @@ -249,9 +204,7 @@ def _process_masked_data( forecast_valid = forecast_data_flat[valid_mask] # Apply quantile mapping using only valid values - corrected_valid = self._map_quantiles( - reference_valid, forecast_valid, mapping_method - ) + corrected_valid = self._map_quantiles(reference_valid, forecast_valid) # Reconstruct full array with corrected values at valid positions corrected_values_flat = forecast_data_flat.copy() @@ -264,7 +217,6 @@ def _process_masked_data( corrected_values_flat = self._map_quantiles( reference_cube.data.flatten(), forecast_cube.data.flatten(), - mapping_method, ) return corrected_values_flat, output_mask @@ -326,7 +278,6 @@ def process( self, reference_cube: Cube, forecast_cube: Cube, - mapping_method: Literal["floor", "interp"] = "floor", ) -> Cube: """Adjust forecast values to match the statistical distribution of reference data. @@ -339,15 +290,15 @@ def process( This is particularly useful when forecasts have been smoothed and you want to restore realistic variation in the values while preserving the spatial patterns. + Uses the discrete (floor) method for quantile lookup, which maps each quantile + to the nearest available reference value, creating a step-function mapping. + Args: reference_cube: The reference data that define what the "correct" distribution should look like. forecast_cube: The forecast data you want to correct (e.g. smoothed model output). - mapping_method: - Method for inverse CDF calculation. Either "floor" (discrete steps, - faster) or "interp" (linear interpolation; slower, continuous). Returns: Calibrated forecast cube with quantiles mapped to the reference @@ -364,7 +315,7 @@ def process( # Apply quantile mapping (handles masked data automatically) corrected_values_flat, output_mask = self._process_masked_data( - reference_cube, forecast_cube, mapping_method + reference_cube, forecast_cube ) self._finalise_output_cube( diff --git a/improver_tests/calibration/quantile_mapping/__init__.py b/improver_tests/calibration/quantile_mapping/__init__.py new file mode 100644 index 0000000000..e69de29bb2 diff --git a/improver_tests/calibration/quantile_mapping/test_QuantileMapping.py b/improver_tests/calibration/quantile_mapping/test_QuantileMapping.py new file mode 100644 index 0000000000..59d588ee48 --- /dev/null +++ b/improver_tests/calibration/quantile_mapping/test_QuantileMapping.py @@ -0,0 +1,246 @@ +# (C) Crown Copyright, Met Office. All rights reserved. +# +# This file is part of 'IMPROVER' and is released under the BSD 3-Clause license. +# See LICENSE in the root of the repository for full licensing details. + +import numpy as np +import pytest +from iris.cube import Cube + +from improver.calibration.quantile_mapping import ( + QuantileMapping, +) +from improver.synthetic_data.set_up_test_cubes import set_up_variable_cube + + +@pytest.fixture +def simple_reference_array(): + """Fixture for creating a simple reference array.""" + return np.array([10, 20, 30, 40, 50]) + + +@pytest.fixture +def simple_forecast_array(): + """Fixture for creating a simple forecast array""" + return np.array([5, 15, 25, 35, 45]) + + +def test__build_empirical_cdf(simple_reference_array): + """Test _build_empirical_cdf returns the correct empirical CDF.""" + sorted_values, quantiles = QuantileMapping()._build_empirical_cdf( + simple_reference_array + ) + + np.testing.assert_array_equal(sorted_values, np.array([10, 20, 30, 40, 50])) + np.testing.assert_array_equal(quantiles, np.array([0.2, 0.4, 0.6, 0.8, 1.0])) + + +def test__inverted_cdf(simple_reference_array): + """Test _inverted_cdf returns the correct values. Values output should be the + same as values input in this case.""" + _, quantiles = QuantileMapping()._build_empirical_cdf(simple_reference_array) + result = QuantileMapping()._inverted_cdf(simple_reference_array, quantiles) + np.testing.assert_array_equal(result, np.array([10, 20, 30, 40, 50])) + + +def test__map_quantiles( + simple_reference_array, + simple_forecast_array, +): + expected = np.array([10, 20, 30, 40, 50]) + result = QuantileMapping()._map_quantiles( + simple_reference_array, + simple_forecast_array, + ) + np.testing.assert_array_equal(result, expected) + + +@pytest.fixture +def reference_cube(): + """Fixture for creating a reference precipitation rate (mm/h) cube.""" + data = np.array( + [ + [ + [1.0, 2.0, 3.0], + [4.0, 5.0, 6.0], + [7.0, 8.0, 9.0], + ], + [ + [0.7, 1.8, 2.8], + [3.8, 4.9, 5.8], + [ + 6.8, + 7.7, + 8.7, + ], + ], + ], + dtype=np.float32, + ) + + return set_up_variable_cube(data, name="lwe_precipitation_rate", units="mm h-1") + + +@pytest.fixture +def forecast_cube(): + """Fixture for creating a forecast precipitation rate (mm/h) cube.""" + data = np.array( + [ + [ + [0.6, 1.7, 2.7], + [3.7, 4.8, 5.7], + [6.7, 7.6, 8.6], + ], + [ + [0.5, 1.6, 2.6], + [3.6, 4.7, 5.6], + [6.6, 7.5, 8.5], + ], + ], + dtype=np.float32, + ) + return set_up_variable_cube(data, name="lwe_precipitation_rate", units="mm h-1") + + +@pytest.fixture +def expected_result_no_threshold(): + """Expected result for quantile mapping without a preservation threshold.""" + return np.array( + [ + [[1.0, 2.0, 3.0], [4.0, 5.0, 6.0], [7.0, 8.0, 9.0]], + [[0.7, 1.8, 2.8], [3.8, 4.9, 5.8], [6.8, 7.7, 8.7]], + ], + dtype=np.float32, + ) + + +@pytest.mark.parametrize( + "test_case", + [ + "same_units", + "different_units", + "incompatible_units", + ], +) +def test__convert_reference_cube_to_forecast( + reference_cube, + forecast_cube, + test_case, +): + """Test handling of cubes with same, different, and incompatible units.""" + plugin = QuantileMapping() + + if test_case == "same_units": + # Both cubes already in mm h-1, should work normally + result = plugin.process(reference_cube, forecast_cube) + assert result.units == forecast_cube.units + + elif test_case == "different_units": + # Convert forecast to different (but compatible) units + forecast_cube_copy = forecast_cube.copy() + forecast_cube_copy.convert_units("m s-1") + result = plugin.process(reference_cube, forecast_cube_copy) + # Result should be in forecast units (m s-1) + assert result.units == forecast_cube_copy.units + + elif test_case == "incompatible_units": + # Set incompatible units and expect error + forecast_cube_copy = forecast_cube.copy() + forecast_cube_copy.units = "Celsius" + with pytest.raises(ValueError, match="Cannot convert cube with units"): + plugin.process(reference_cube, forecast_cube_copy) + + +def test_quantile_mapping_process_no_threshold( + reference_cube, forecast_cube, expected_result_no_threshold +): + """Test quantile mapping with no preservation threshold.""" + plugin = QuantileMapping() + result = plugin.process(reference_cube, forecast_cube) + + assert isinstance(result, Cube) + assert result.shape == forecast_cube.shape + assert result.data.dtype == np.float32 + assert not np.ma.is_masked(result.data) + np.testing.assert_array_equal(result.data, expected_result_no_threshold) + + +def test_quantile_mapping_process_with_threshold(reference_cube, forecast_cube): + """Test quantile mapping with preservation threshold. + Index [1,0,0] should remain 0.5, despite the reference normally transforming + it to the reference value of 0.7. + """ + plugin = QuantileMapping(preservation_threshold=0.51) + result = plugin.process(reference_cube, forecast_cube) + + expected_result = np.array( + [ + [[1.0, 2.0, 3.0], [4.0, 5.0, 6.0], [7.0, 8.0, 9.0]], + [[0.5, 1.8, 2.8], [3.8, 4.9, 5.8], [6.8, 7.7, 8.7]], + ], + dtype=np.float32, + ) + + assert isinstance(result, Cube) + assert result.shape == forecast_cube.shape + assert result.data.dtype == np.float32 + assert result.data.mask is False + np.testing.assert_array_equal(result.data, expected_result) + + +@pytest.mark.parametrize( + "test_case", + [ + "one_input_masked", + "both_inputs_masked", + ], +) +def test_masked_input(reference_cube, forecast_cube, test_case): + """Test behaviour when one or both inputs have masked values. + In both cases, the mask should be a union of cube masks.""" + + # Make copies to avoid fixture mutation + reference_cube = reference_cube.copy() + forecast_cube = forecast_cube.copy() + + # Mask reference at position [0, 0, 0] + reference_cube.data = np.ma.masked_array( + reference_cube.data, mask=np.zeros_like(reference_cube.data, dtype=bool) + ) + reference_cube.data[0, 0, 0] = np.ma.masked + + if test_case == "one_input_masked": + expected_mask_count = 1 + + elif test_case == "both_inputs_masked": + # Also mask forecast at position [0, 0, 1] + forecast_cube.data = np.ma.masked_array( + forecast_cube.data, mask=np.zeros_like(forecast_cube.data, dtype=bool) + ) + forecast_cube.data[0, 0, 1] = np.ma.masked + expected_mask_count = 2 + + plugin = QuantileMapping() + result = plugin.process(reference_cube, forecast_cube) + + # Check that result is masked + assert np.ma.is_masked(result.data) + # Check mask count matches expected (union of input masks) + assert expected_mask_count == np.ma.count_masked(result.data) + # Check that the correct positions are masked + if test_case == "one_input_masked": + assert result.data.mask[0, 0, 0] is True + assert result.data.mask[0, 0, 1] is False + elif test_case == "both_inputs_masked": + assert result.data.mask[0, 0, 0] is True + assert result.data.mask[0, 0, 1] is True + + +def test_metadata_preservation(reference_cube, forecast_cube): + """Test that metadata from forecast cube is preserved.""" + plugin = QuantileMapping() + reference_cube.long_name = "kittens" + result = plugin.process(reference_cube, forecast_cube) + + # Check key metadata is preserved + assert result.long_name == forecast_cube.long_name diff --git a/improver_tests/calibration/test_QuantileMapping.py b/improver_tests/calibration/test_QuantileMapping.py deleted file mode 100644 index 7959f0f688..0000000000 --- a/improver_tests/calibration/test_QuantileMapping.py +++ /dev/null @@ -1,384 +0,0 @@ -# (C) Crown Copyright, Met Office. All rights reserved. -# -# This file is part of 'IMPROVER' and is released under the BSD 3-Clause license. -# See LICENSE in the root of the repository for full licensing details. - -import numpy as np -import pytest -from iris.cube import Cube - -from improver.calibration.quantile_mapping import ( - QuantileMapping, - _build_empirical_cdf, - _interpolated_inverted_cdf, - _inverted_cdf, - quantile_mapping, -) -from improver.synthetic_data.set_up_test_cubes import set_up_variable_cube - - -@pytest.fixture -def simple_reference_array(): - """Fixture for creating a simple reference array.""" - return np.array([10, 20, 30, 40, 50]) - - -@pytest.fixture -def simple_forecast_array(): - """Fixture for creating a simple forecast array""" - return np.array([5, 15, 25, 35, 45]) - - -@pytest.fixture -def simple_new_values_to_map_array(): - """Fixture for creating a simple alternative forecast array to correct using mapping - from a reference array and forecast array. - """ - return np.array([7.5, 17.5, 27.5, 37.5, 47.5]) - - -def test__build_empirical_cdf(simple_reference_array): - """Test _build_empirical_cdf returns the correct empirical CDF.""" - sorted_values, quantiles = _build_empirical_cdf(simple_reference_array) - - np.testing.assert_array_equal(sorted_values, np.array([10, 20, 30, 40, 50])) - np.testing.assert_array_equal(quantiles, np.array([0.2, 0.4, 0.6, 0.8, 1.0])) - - -def test__inverted_cdf(simple_reference_array): - """Test _inverted_cdf returns the correct values. Values output should be the - same as values input in this case.""" - _, quantiles = _build_empirical_cdf(simple_reference_array) - result = _inverted_cdf(simple_reference_array, quantiles) - np.testing.assert_array_equal(result, np.array([10, 20, 30, 40, 50])) - - -def test__interpolated_inverted_cdf(simple_reference_array): - """Test _interpolated_inverted_cdf returns correct interpolated values.""" - # Test with quantiles that fall between the reference data points - target_quantiles = np.array([0.3, 0.5, 0.7, 0.9]) - result = _interpolated_inverted_cdf(simple_reference_array, target_quantiles) - # At quartile 0.3: interpolate between 0.2 (10) and 0.4 (20) -> 15 - # At quartile 0.5: interpolate between 0.4 (20) and 0.6 (30) -> 25 - # At quartile 0.7: interpolate between 0.6 (30) and 0.8 (40) -> 35 - # At quartile 0.9: interpolate between 0.8 (40) and 1.0 (50) -> 45 - expected = np.array([15, 25, 35, 45]) - np.testing.assert_array_equal(result, expected) - - -@pytest.mark.parametrize( - "use_new_values, mapping_method, expected", - [ - (False, "floor", np.array([10, 20, 30, 40, 50])), - (False, "interp", np.array([10, 20, 30, 40, 50])), - (True, "floor", np.array([20, 20, 30, 40, 50])), - (True, "interp", np.array([12.5, 22.5, 32.5, 42.5, 50])), - ], - ids=[ - "same_values_to_map_floor", - "same_values_to_map_interp", - "different_values_to_map_floor", - "different_values_to_map_interp", - ], -) -def test_quantile_mapping( - simple_reference_array, - simple_forecast_array, - simple_new_values_to_map_array, - use_new_values, - mapping_method, - expected, -): - values_to_map = ( - simple_new_values_to_map_array if use_new_values else simple_forecast_array - ) - result = quantile_mapping( - simple_reference_array, - simple_forecast_array, - values_to_map, - mapping_method=mapping_method, - ) - np.testing.assert_array_equal(result, expected) - - -def test_invalid_mapping_method_raises_error( - simple_reference_array, simple_forecast_array -): - """Test that invalid mapping_method raises ValueError.""" - with pytest.raises(ValueError, match="Unknown mapping method"): - quantile_mapping( - simple_reference_array, simple_forecast_array, mapping_method="kitten" - ) - - -@pytest.fixture -def reference_cube(): - """Fixture for creating a reference precipitation rate (mm/s) cube.""" - data = np.array( - [ - [ - [2.63564289e-07, 8.47503543e-08, 3.35276127e-08], - [4.65661287e-08, 2.14204192e-08, 1.67638063e-08], - [8.38190317e-09, 1.21071935e-08, 2.23517418e-08], - ], - [ - [5.58793545e-09, 3.81842256e-08, 2.03959644e-07], - [2.51457095e-08, 6.61239028e-08, 1.89989805e-07], - [5.49480319e-08, 9.40635800e-08, 1.64844096e-07], - ], - ], - dtype=np.float32, - ) - - return set_up_variable_cube(data, units="mm h-1") - - -@pytest.fixture -def forecast_cube(): - """Fixture for creating a forecast precipitation rate (mm/s) cube.""" - data = np.array( - [ - [ - [4.7218055e-07, 9.1269612e-07, 1.3476238e-06], - [8.7451190e-07, 1.4798716e-06, 1.9185245e-06], - [9.0710819e-07, 1.3411045e-06, 1.6242266e-06], - ], - [ - [3.4458935e-08, 1.3038516e-08, 3.7252903e-09], - [5.7742000e-08, 2.1420419e-08, 2.7939677e-09], - [1.1455268e-07, 4.0046871e-08, 6.5192580e-09], - ], - ], - dtype=np.float32, - ) - return set_up_variable_cube(data, units="mm h-1") - - -@pytest.fixture -def custom_values_to_map_cube(): - """Fixture for creating custom values to map cube (different from forecast cube).""" - data = np.array( - [ - [[1e-7, 2e-7, 3e-7], [4e-7, 5e-7, 6e-7], [7e-7, 8e-7, 9e-7]], - [[1e-8, 2e-8, 3e-8], [4e-8, 5e-8, 6e-8], [7e-8, 8e-8, 9e-8]], - ], - dtype=np.float32, - ) - return set_up_variable_cube(data, units="mm h-1") - - -@pytest.fixture -def expected_result_floor_no_threshold(): - """Expected result for quantile mapping with floor mapping_method, no threshold.""" - return np.array( - [ - [ - [4.65661287e-08, 8.47503543e-08, 1.64844096e-07], - [5.49480319e-08, 1.89989805e-07, 2.63564289e-07], - [6.61239028e-08, 9.40635800e-08, 2.03959644e-07], - ], - [ - [2.23517418e-08, 1.67638063e-08, 8.38190317e-09], - [3.35276127e-08, 2.14204192e-08, 5.58793545e-09], - [3.81842256e-08, 2.51457095e-08, 1.21071935e-08], - ], - ], - dtype=np.float32, - ) - - -@pytest.fixture -def expected_result_floor_with_threshold(): - """Expected result for quantile mapping with floor mapping_method and preservation threshold.""" - return np.array( - [ - [ - [4.65661287e-08, 8.47503543e-08, 1.64844096e-07], - [5.49480319e-08, 1.89989805e-07, 2.63564289e-07], - [6.61239028e-08, 9.40635800e-08, 2.03959644e-07], - ], - [ - [2.23517418e-08, 1.67638063e-08, 3.7252903e-09], - [3.35276127e-08, 2.14204192e-08, 2.7939677e-09], - [3.81842256e-08, 2.51457095e-08, 6.5192580e-09], - ], - ], - dtype=np.float32, - ) - - -@pytest.fixture -def expected_result_interp_no_threshold(): - """Expected result for quantile mapping with interp mapping_method, no threshold.""" - return np.array( - [ - [ - [4.65661287e-08, 8.47503543e-08, 1.64844096e-07], - [5.49480319e-08, 1.89989805e-07, 2.63564289e-07], - [6.61239028e-08, 9.40635800e-08, 2.03959644e-07], - ], - [ - [2.23517418e-08, 1.67638063e-08, 8.38190317e-09], - [3.35276127e-08, 2.14204192e-08, 5.58793545e-09], - [3.81842256e-08, 2.51457095e-08, 1.21071935e-08], - ], - ], - dtype=np.float32, - ) - - -@pytest.fixture -def expected_result_interp_with_threshold(): - """Expected result for quantile mapping with interp mapping_method and preservation threshold.""" - return np.array( - [ - [ - [4.6566129e-08, 8.4750354e-08, 1.6484410e-07], - [5.4948032e-08, 1.8998981e-07, 2.6356429e-07], - [6.6123903e-08, 9.4063580e-08, 2.0395964e-07], - ], - [ - [2.2351742e-08, 1.6763806e-08, 3.7252903e-09], - [3.3527613e-08, 2.1420419e-08, 2.7939677e-09], - [3.8184226e-08, 2.5145710e-08, 6.5192580e-09], - ], - ], - dtype=np.float32, - ) - - -def test_quantile_mapping_process_floor_no_threshold( - reference_cube, forecast_cube, expected_result_floor_no_threshold -): - """Test quantile mapping with floor method and no threshold.""" - plugin = QuantileMapping() - result = plugin.process(reference_cube, forecast_cube, mapping_method="floor") - - assert isinstance(result, Cube) - assert result.shape == forecast_cube.shape - assert result.data.dtype == np.float32 - np.testing.assert_array_equal(result.data, expected_result_floor_no_threshold) - - -def test_quantile_mapping_process_floor_with_threshold( - reference_cube, forecast_cube, expected_result_floor_with_threshold -): - """Test quantile mapping with floor method and preservation threshold.""" - plugin = QuantileMapping(preservation_threshold=8.333333e-09) - result = plugin.process(reference_cube, forecast_cube, mapping_method="floor") - - assert isinstance(result, Cube) - assert result.shape == forecast_cube.shape - assert result.data.dtype == np.float32 - np.testing.assert_array_equal(result.data, expected_result_floor_with_threshold) - - -def test_quantile_mapping_process_interp_no_threshold( - reference_cube, forecast_cube, expected_result_interp_no_threshold -): - """Test quantile mapping with interp method and no threshold.""" - plugin = QuantileMapping() - result = plugin.process(reference_cube, forecast_cube, mapping_method="interp") - - assert isinstance(result, Cube) - assert result.shape == forecast_cube.shape - assert result.data.dtype == np.float32 - np.testing.assert_array_equal(result.data, expected_result_interp_no_threshold) - - -def test_quantile_mapping_process_interp_with_threshold( - reference_cube, forecast_cube, expected_result_interp_with_threshold -): - """Test quantile mapping with interp method and preservation threshold.""" - plugin = QuantileMapping(preservation_threshold=8.333333e-09) - result = plugin.process(reference_cube, forecast_cube, mapping_method="interp") - - assert isinstance(result, Cube) - assert result.shape == forecast_cube.shape - assert result.data.dtype == np.float32 - np.testing.assert_array_equal(result.data, expected_result_interp_with_threshold) - - -def test_quantile_mapping_process_custom_values_to_map( - reference_cube, forecast_cube, custom_values_to_map_cube -): - """Test quantile mapping with custom forecast_to_calibrate cube.""" - plugin = QuantileMapping() - - result_custom = plugin.process( - reference_cube, - forecast_cube, - forecast_to_calibrate=custom_values_to_map_cube, - mapping_method="interp", - ) - result_default = plugin.process( - reference_cube, forecast_cube, mapping_method="interp" - ) - - # Results should be different since we're mapping different values - assert not np.array_equal(result_custom.data, result_default.data) - assert result_custom.shape == custom_values_to_map_cube.shape - assert result_custom.data.dtype == np.float32 - - -def test_mask_preservation(reference_cube, forecast_cube): - """Test that masks are preserved in output.""" - # Mask some values - forecast_cube.data = np.ma.masked_where( - forecast_cube.data <= 2.7939677e-09, forecast_cube.data - ) - reference_cube.data = np.ma.masked_where( - reference_cube.data <= 2.7939677e-09, reference_cube.data - ) - - plugin = QuantileMapping() - result = plugin.process(reference_cube, forecast_cube) - - # Check output is masked - assert np.ma.is_masked(result.data) - # Check mask count matches forecast - assert np.ma.count_masked(result.data) == np.ma.count_masked(forecast_cube.data) - - -def test_non_masked_input_produces_non_masked_output(reference_cube, forecast_cube): - """Test that non-masked inputs produce non-masked outputs.""" - plugin = QuantileMapping() - result = plugin.process(reference_cube, forecast_cube) - - assert not np.ma.is_masked(result.data) - - -def test_unit_conversion(reference_cube, forecast_cube): - """Test that unit conversion is handled correctly.""" - # Convert reference cube to different units - reference_cube.convert_units("m h-1") - - plugin = QuantileMapping() - result = plugin.process(reference_cube, forecast_cube) - - # Result should have forecast units - assert result.units == forecast_cube.units - - -def test_incompatible_units_raises_error(reference_cube, forecast_cube): - """Test that incompatible units raise ValueError.""" - # Change reference cube to incompatible units - reference_cube.units = "K" # Temperature instead of precipitation - - plugin = QuantileMapping() - - with pytest.raises(ValueError, match="Cannot convert cube with units"): - plugin.process(reference_cube, forecast_cube) - - -def test_threshold_preserves_small_values(reference_cube, forecast_cube): - """Test that values below threshold are not modified.""" - threshold = 1e-7 - plugin = QuantileMapping(preservation_threshold=threshold) - result = plugin.process(reference_cube, forecast_cube) - - # Values below threshold should match the original forecast - below_threshold_mask = forecast_cube.data < threshold - np.testing.assert_array_equal( - result.data[below_threshold_mask], forecast_cube.data[below_threshold_mask] - ) From 4c869cf150fd3b1310475471c37c873c678070f5 Mon Sep 17 00:00:00 2001 From: Max White Date: Wed, 31 Dec 2025 11:56:04 +0000 Subject: [PATCH 8/9] Reflect changes to quantile mapping plugin in CLI --- improver/cli/quantile_mapping.py | 14 +------------- 1 file changed, 1 insertion(+), 13 deletions(-) diff --git a/improver/cli/quantile_mapping.py b/improver/cli/quantile_mapping.py index 3cc98cef08..e54e61789f 100644 --- a/improver/cli/quantile_mapping.py +++ b/improver/cli/quantile_mapping.py @@ -13,9 +13,7 @@ def process( *cubes: cli.inputcube, truth_attribute: str, - mapping_method: str = "floor", preservation_threshold: float = None, - forecast_to_calibrate: cli.inputcube = None, ): """Adjust forecast values to match the statistical distribution of reference data. @@ -38,13 +36,6 @@ def process( should look like. forecast_cube: The forecast data you want to correct (e.g. smoothed model output). - forecast_to_calibrate: - Optional different forecast values to transform using the learned - mapping. If not provided, the forecast_cube data itself will be - corrected. - mapping_method: - Method for inverse CDF calculation. Either "floor" (discrete steps, - faster) or "interp" (linear interpolation, slower but continuous). preservation_threshold: Optional threshold value below which (exclusive) the forecast values are not adjusted. Useful for variables like precipitation where you @@ -52,8 +43,7 @@ def process( Returns: Calibrated forecast cube with quantiles mapped to the reference - distribution or forecast_to_calibrate data adjusted with the same learned - mapping. + distribution. Raises: ValueError: If reference and forecast cubes have incompatible units. @@ -66,6 +56,4 @@ def process( return plugin.process( reference_cube, forecast_cube, - forecast_to_calibrate=forecast_to_calibrate, - mapping_method=mapping_method, ) From ba2359ac756a21ee13e72c8175b3342e1d476a58 Mon Sep 17 00:00:00 2001 From: Max White Date: Wed, 31 Dec 2025 13:12:25 +0000 Subject: [PATCH 9/9] Update testing to reflect plugin changes --- improver/cli/quantile_mapping.py | 2 +- improver_tests/acceptance/SHA256SUMS | 28 +------ .../acceptance/test_quantile_mapping.py | 74 ++----------------- .../quantile_mapping/test_QuantileMapping.py | 10 +-- 4 files changed, 18 insertions(+), 96 deletions(-) diff --git a/improver/cli/quantile_mapping.py b/improver/cli/quantile_mapping.py index e54e61789f..8e6337f761 100644 --- a/improver/cli/quantile_mapping.py +++ b/improver/cli/quantile_mapping.py @@ -51,7 +51,7 @@ def process( from improver.calibration import split_forecasts_and_truth from improver.calibration.quantile_mapping import QuantileMapping - forecast_cube, reference_cube = split_forecasts_and_truth(cubes, truth_attribute) + forecast_cube, reference_cube, _ = split_forecasts_and_truth(cubes, truth_attribute) plugin = QuantileMapping(preservation_threshold=preservation_threshold) return plugin.process( reference_cube, diff --git a/improver_tests/acceptance/SHA256SUMS b/improver_tests/acceptance/SHA256SUMS index 05ed226368..efe4fb3c32 100644 --- a/improver_tests/acceptance/SHA256SUMS +++ b/improver_tests/acceptance/SHA256SUMS @@ -878,14 +878,10 @@ a89ba9668fd878ed5c5cc017e46a25ab1f9d205b1a6913457a8f3af770cc49e1 ./precipitatio f69103cececd76e27bbff5a96e9c74c0e708dcb7f18459ade3eb448639992b34 ./precipitation_duration/standard_names/kgo_acc_1.00_rate_4.0.nc 39730b1c6f60d0ffc1a79629b29c84ee063e465f1110fd179338478277c69b03 ./precipitation_duration/standard_names/kgo_multi_threshold.nc 6a6394f52409d218e7e8d87c95a71c1f844d904bc3cbef3421f03e8d3afe98ac ./precipitation_duration/standard_names/kgo_short_period.nc -fed0f3f6c71331854f96d3aa300be3dbe21e2226ca450f5873533eaac2dea13a ./quantile-mapping/custom_values_to_map/kgo.nc -a1356710ef2c19f540aa5780716a4598e016fd95259963beb50c3ab295969831 ./quantile-mapping/floor_no_threshold/kgo.nc -dad0934e32040e9322e5e795d597b8b040bdf217b33bcadd9c39b5094ce7a3b4 ./quantile-mapping/floor_with_threshold/kgo.nc -313098cedd7074b9cc7ec6966fe36626738ca46cf5b3ca688cf99c25e884d994 ./quantile-mapping/forecast.nc -a1356710ef2c19f540aa5780716a4598e016fd95259963beb50c3ab295969831 ./quantile-mapping/interp_no_threshold/kgo.nc -dad0934e32040e9322e5e795d597b8b040bdf217b33bcadd9c39b5094ce7a3b4 ./quantile-mapping/interp_with_threshold/kgo.nc -48a383807699b501966a0736f7d1b0f3e6391865e5abadc53a7b03e431bf7df6 ./quantile-mapping/reference.nc -6948b3235154d6b37b3eb3e6c227489a7c43bf5593890314fd40532681c34c90 ./quantile-mapping/values_to_map.nc +61d60afd98d8cafd2f010565e967258aaae928380b72aaebda6d4b2632d08f0b ./quantile-mapping/basic/kgo.nc +31983e9237750163a0e717d323d36c54946be5fec1b6ba0e84a1a76c6aa26f25 ./quantile-mapping/forecast.nc +5adad3bdb97e79d5a497a71c52998d641733871f86643e7703b0c7fa128e0f06 ./quantile-mapping/reference.nc +30908114a1347e9bd321aac6321f99e08b0e4236f1e255ac4f1087afa10f3f6f ./quantile-mapping/with_preservation_threshold/kgo.nc ae048c636992e80b79c6cbb44b36339b30ea8d0ef1db72cd3f4de8766346fa1d ./recursive-filter/input.nc b6cdb8bf877bb0b3b78ad224b50b9272b65732bf9e39a88df704209e228bf4c0 ./recursive-filter/input_masked.nc 11c428f6fb0202ab0f975e58e52d17342c50f607aee4fd0e387a2a62c188790e ./recursive-filter/input_variable_masked.nc @@ -971,25 +967,9 @@ d4404df3a8acdeed27f20ec621a0d3500bf4c849eaf7a7064c4e42f079b37a43 ./standardise/ 81aa5301c3115ca37b789e3ce46708bc27229c8e63131643d3d393f0a1da977f ./standardise/modification/scalar_change.json d89a8587bc28b574b8b1e624bb3bf339aaeb9c8c2355db7fe518af8c9bce527c ./standardise/radarnet/input_coverage.nimrod 6335cba81be74577fe10d0a4f5cb75724abcef16499d76c263e80c16cf092a05 ./standardise/radarnet/input_preciprate.nimrod -<<<<<<< HEAD -<<<<<<< HEAD 74d7216176c1e7feeded6f867cd69eb5ee960ab0b92472f2327eb1e5ae033329 ./standardise/radarnet/kgo_coverage.nc a7c196adab463ab48a5bf90934a9f53d5a41ce79a8e2a27ac78268c7e6702516 ./standardise/radarnet/kgo_preciprate.nc cf7166f2d915fcffaebbe5421a1e064f8d2f2ef6b8813f42142820076dbf98e8 ./temp-lapse-rate/basic/kgo.nc -======= -8a0cc7c53513fe11919da6ae39e431fde7f5b5831e255d8f30feda2a53eb3c71 ./standardise/radarnet/kgo_coverage.nc -8e4ca14de258f9a511c9ff82ac7df5cc95659bc41c3e745083f5ed449f245d00 ./standardise/radarnet/kgo_preciprate.nc -44cf0fd7d6a4d24546da814d08f87f58d2f83ef5ae3a94c4272a4d33659c3f24 ./standardise/stage-v110/input.nc -add67f9b08aade71cac803044d650a966698820b8e889468b760edaf3bf89dcc ./standardise/stage-v110/kgo.nc -edb46d2e8717e1c554616fe60f4db52c42e69910aa9a21875d24d3899ce6ee13 ./temp-lapse-rate/basic/kgo.nc ->>>>>>> ba99d528 (Add quantile mapping and associated tests) -======= -74d7216176c1e7feeded6f867cd69eb5ee960ab0b92472f2327eb1e5ae033329 ./standardise/radarnet/kgo_coverage.nc -a7c196adab463ab48a5bf90934a9f53d5a41ce79a8e2a27ac78268c7e6702516 ./standardise/radarnet/kgo_preciprate.nc -44cf0fd7d6a4d24546da814d08f87f58d2f83ef5ae3a94c4272a4d33659c3f24 ./standardise/stage-v110/input.nc -add67f9b08aade71cac803044d650a966698820b8e889468b760edaf3bf89dcc ./standardise/stage-v110/kgo.nc -cf7166f2d915fcffaebbe5421a1e064f8d2f2ef6b8813f42142820076dbf98e8 ./temp-lapse-rate/basic/kgo.nc ->>>>>>> 82c1459d (Recreate checksums) 53e071816cc4fda21c5397777decf5752f4d8820d96bba0c2a04600e8e5df7ab ./temp-lapse-rate/basic/temperature_at_screen_level.nc bd47eab38ae9099fe5db71b328ebc52225b47f0db97ed673fca30dd67e4655ff ./temp-lapse-rate/basic/ukvx_landmask.nc 6389e7a84d33387d6da32327eaec53e7b411e0e42e677dceb0321c067ff9496a ./temp-lapse-rate/basic/ukvx_orography.nc diff --git a/improver_tests/acceptance/test_quantile_mapping.py b/improver_tests/acceptance/test_quantile_mapping.py index 41cf7b287a..edfd9dff32 100644 --- a/improver_tests/acceptance/test_quantile_mapping.py +++ b/improver_tests/acceptance/test_quantile_mapping.py @@ -15,7 +15,7 @@ def test_floor_no_threshold(tmp_path): """Test quantile mapping with floor method and no preservation threshold.""" - kgo_dir = acc.kgo_root() / "quantile-mapping/floor_no_threshold/" + kgo_dir = acc.kgo_root() / "quantile-mapping/basic/" kgo_path = kgo_dir / "kgo.nc" reference_path = acc.kgo_root() / "quantile-mapping/reference.nc" forecast_path = acc.kgo_root() / "quantile-mapping/forecast.nc" @@ -24,7 +24,8 @@ def test_floor_no_threshold(tmp_path): args = [ reference_path, forecast_path, - "--mapping-method=floor", + "--truth-attribute", + "mosg__model_configuration=uk_det", "--output", output_path, ] @@ -34,7 +35,7 @@ def test_floor_no_threshold(tmp_path): def test_floor_with_threshold(tmp_path): """Test quantile mapping with floor method and preservation threshold.""" - kgo_dir = acc.kgo_root() / "quantile-mapping/floor_with_threshold/" + kgo_dir = acc.kgo_root() / "quantile-mapping/with_preservation_threshold/" kgo_path = kgo_dir / "kgo.nc" reference_path = acc.kgo_root() / "quantile-mapping/reference.nc" forecast_path = acc.kgo_root() / "quantile-mapping/forecast.nc" @@ -43,69 +44,10 @@ def test_floor_with_threshold(tmp_path): args = [ reference_path, forecast_path, - "--mapping-method=floor", - "--preservation-threshold=8.333333e-09", - "--output", - output_path, - ] - run_cli(args) - acc.compare(output_path, kgo_path) - - -def test_interp_no_threshold(tmp_path): - """Test quantile mapping with interp method and no preservation threshold.""" - kgo_dir = acc.kgo_root() / "quantile-mapping/interp_no_threshold/" - kgo_path = kgo_dir / "kgo.nc" - reference_path = acc.kgo_root() / "quantile-mapping/reference.nc" - forecast_path = acc.kgo_root() / "quantile-mapping/forecast.nc" - output_path = tmp_path / "output.nc" - - args = [ - reference_path, - forecast_path, - "--mapping-method=interp", - "--output", - output_path, - ] - run_cli(args) - acc.compare(output_path, kgo_path) - - -def test_interp_with_threshold(tmp_path): - """Test quantile mapping with interp method and preservation threshold.""" - kgo_dir = acc.kgo_root() / "quantile-mapping/interp_with_threshold/" - kgo_path = kgo_dir / "kgo.nc" - reference_path = acc.kgo_root() / "quantile-mapping/reference.nc" - forecast_path = acc.kgo_root() / "quantile-mapping/forecast.nc" - output_path = tmp_path / "output.nc" - - args = [ - reference_path, - forecast_path, - "--mapping-method=interp", - "--preservation-threshold=8.333333e-09", - "--output", - output_path, - ] - run_cli(args) - acc.compare(output_path, kgo_path) - - -def test_custom_forecast_to_calibrate(tmp_path): - """Test quantile mapping with custom forecast_to_calibrate cube.""" - kgo_dir = acc.kgo_root() / "quantile-mapping/custom_values_to_map/" - kgo_path = kgo_dir / "kgo.nc" - reference_path = acc.kgo_root() / "quantile-mapping/reference.nc" - forecast_path = acc.kgo_root() / "quantile-mapping/forecast.nc" - forecast_to_calibrate_path = acc.kgo_root() / "quantile-mapping/values_to_map.nc" - output_path = tmp_path / "output.nc" - - args = [ - reference_path, - forecast_path, - "--mapping-method=interp", - "--forecast-to-calibrate", - forecast_to_calibrate_path, + "--preservation-threshold", + "2.0", + "--truth-attribute", + "mosg__model_configuration=uk_det", "--output", output_path, ] diff --git a/improver_tests/calibration/quantile_mapping/test_QuantileMapping.py b/improver_tests/calibration/quantile_mapping/test_QuantileMapping.py index 59d588ee48..0b7a8c9e3b 100644 --- a/improver_tests/calibration/quantile_mapping/test_QuantileMapping.py +++ b/improver_tests/calibration/quantile_mapping/test_QuantileMapping.py @@ -184,7 +184,7 @@ def test_quantile_mapping_process_with_threshold(reference_cube, forecast_cube): assert isinstance(result, Cube) assert result.shape == forecast_cube.shape assert result.data.dtype == np.float32 - assert result.data.mask is False + assert result.data.mask is not False np.testing.assert_array_equal(result.data, expected_result) @@ -229,11 +229,11 @@ def test_masked_input(reference_cube, forecast_cube, test_case): assert expected_mask_count == np.ma.count_masked(result.data) # Check that the correct positions are masked if test_case == "one_input_masked": - assert result.data.mask[0, 0, 0] is True - assert result.data.mask[0, 0, 1] is False + assert result.data.mask[0, 0, 0] + assert not result.data.mask[0, 0, 1] elif test_case == "both_inputs_masked": - assert result.data.mask[0, 0, 0] is True - assert result.data.mask[0, 0, 1] is True + assert result.data.mask[0, 0, 0] + assert result.data.mask[0, 0, 1] def test_metadata_preservation(reference_cube, forecast_cube):