1 clim_recal.config

clim_recal.config

1.1 Classes

Name Description
ClimRecalConfig Manage creating command line scripts to run debiasing cli.
ClimRecalRunsConfigType Lists of parameters to generate RunConfigType instances.

1.1.1 ClimRecalConfig

clim_recal.config.ClimRecalConfig(self, command_dir=COMMAND_DIR_DEFAULT, run_prefix=RUN_PREFIX_DEFAULT, preprocess_data_file=PREPROCESS_FILE_NAME, run_cmethods_file=CMETHODS_FILE_NAME, data_path=DATA_PATH_DEFAULT, mod_folder=MOD_FOLDER_DEFAULT, obs_folder=OBS_FOLDER_DEFAULT, preprocess_out_folder=PREPROCESS_OUT_FOLDER_DEFAULT, cmethods_out_folder=CMETHODS_OUT_FOLDER_DEFAULT, calib_date_start=CALIB_DATE_START_DEFAULT, calib_date_end=CALIB_DATE_END_DEFAULT, valid_date_start=VALID_DATE_START_DEFAULT, valid_date_end=VALID_DATE_END_DEFAULT, processors=PROCESSORS_DEFAULT, date_format_str=CLI_DATE_FORMAT_STR, date_split_str=DATE_FORMAT_SPLIT_STR, variables=(VariableOptions.default()), runs=(RunOptions.default()), regions=(RegionOptions.default()), methods=(MethodOptions.default()), multiprocess=False, cpus=DEFAULT_CPUS, hads_input_path=RAW_HADS_PATH, cpm_input_path=RAW_CPM_PATH, output_path=DEFAULT_OUTPUT_PATH, convert_folder=DEFAULT_CONVERT_FOLDER, crops_folder=DEFAULT_CROPS_FOLDER, hads_output_folder=HADS_OUTPUT_PATH, cpm_output_folder=CPM_OUTPUT_PATH, cpm_kwargs=dict(), hads_kwargs=dict(), cpm_crop_kwargs=dict(), hads_crop_kwargs=dict(), convert_start_index=0, convert_stop_index=None, crop_start_index=0, crop_stop_index=None, add_local_dated_results_path=True, add_local_dated_crops_path=True, local_dated_results_path_prefix='run', local_dated_crops_path_prefix='crop', cpm_for_coord_alignment=None, process_cmp_for_coord_alignment=False, cpm_for_coord_alignment_path_converted=False, debug_mode=False)

Manage creating command line scripts to run debiasing cli.

1.1.1.1 Attributes

Name Type Description
variables Sequence[VariableOptions] Variables to include in the model, eg. tasmax, tasmin.
runs Sequence[RunOptions] Which model runs to include, eg. “01”, “08”, “11”.
regions Sequence[RegionOptions] | None Which regions to crop both HADs and CPM data to.
methods Sequence[MethodOptions] Which debiasing methods to apply.
multiprocess bool Whether to use multiprocess where available
cpus int | None Number of cpus to use if multiprocessing
output_path PathLike Path to save all intermediate and final results to.
convert_folder PathLike Path to append to output_path for resampling result files.
crops_folder PathLike Path to append to output_path for cropped convert files.
hads_output_folder PathLike Path to append to output_path / convert_folder for resampling HADs files and to output_path / crop_folder for crops.
cpm_output_folder PathLike Path to append to output_path / convert_folder for resampling CPM files and to output_path / crop_folder for crops.
cpm_kwargs dict A dict of parameters to pass to a CPMConvertManager.
hads_kwargs dict A dict of parameters to pass to HADsConvertManager.
cpm_for_coord_alignment PathLike | None A Path to a CPM file to align HADs coordinates to.
debug_mode bool Set to True to add more detailed debug logs, including GDAL.

1.1.1.2 Examples

>>> if not is_data_mounted:
...     pytest.skip(mount_doctest_skip_message)
>>> run_config: ClimRecalConfig = ClimRecalConfig(
...     regions=('Manchester', 'Glasgow'),
...     output_path=test_runs_output_path,
...     cpus=1)
'set_cpm_for_coord_alignment' for 'HADs' not speficied.
Defaulting to 'self.cpm_input_path': '.../ClimateData/Raw/UKCP2.2'
>>> run_config
<ClimRecalConfig(variables_count=1, runs_count=1, regions_count=2,
                 methods_count=1, cpm_folders_count=1,
                 hads_folders_count=1, convert_start_index=0,
                 convert_stop_index=None, crop_start_index=0,
                 crop_stop_index=None, cpus=1)>

1.1.1.3 Methods

Name Description
run_models Run all specified models.
set_cpm_for_coord_alignment If cpm_for_coord_alignment is None use self.cpm_input_path.
1.1.1.3.1 run_models

clim_recal.config.ClimRecalConfig.run_models()

Run all specified models.

1.1.1.3.1.1 Examples
>>> clim_runner: ClimRecalConfig = getfixture('clim_runner')
'set_cpm_for_coord_alignment' for 'HADs' not speficied.
Defaulting to 'self.cpm_input_path': '...'
>>> runs: dict[tuple, dict] = clim_runner.run_models()
>>> pprint(tuple(runs.keys()))
(('Glasgow', 'tasmax', '05', 'quantile_delta_mapping'),
 ('Manchester', 'tasmax', '05', 'quantile_delta_mapping'))
1.1.1.3.2 set_cpm_for_coord_alignment

clim_recal.config.ClimRecalConfig.set_cpm_for_coord_alignment()

If cpm_for_coord_alignment is None use self.cpm_input_path.

It would be more efficient to use self.convert_cpm_path as long as that option is used, but support cases of only

1.1.2 ClimRecalRunsConfigType

clim_recal.config.ClimRecalRunsConfigType()

Lists of parameters to generate RunConfigType instances.

Back to top