diff --git a/ProcessorDeposition.py b/ProcessorDeposition.py index 2e2df48d88a3258f576f2e3f58e42a78619e7697..569c22799ead3fdc5eba974dc01a14add5101c5b 100644 --- a/ProcessorDeposition.py +++ b/ProcessorDeposition.py @@ -10,13 +10,13 @@ from string import Template import iris from iris.cube import CubeList -from plotting.common.plotting_coordinator.ews_depo_disease_plotting_coordinator import EWSPlottingDepoBase - from ProcessorUtils import ( get_only_existing_globs, subprocess_and_log, add_filters_to_sublogger, ) +from ews_postprocessing.deposition.deposition_post_processor import DepositionPostProcessor + logger = logging.getLogger('Processor.Deposition') add_filters_to_sublogger(logger) @@ -66,7 +66,6 @@ def process_in_job_dep(jobPath,status,config,component): msg = f"Unexpected number of timepoints ({timepoint_count}) in cube {cube.name()}" logger.error(msg) raise RuntimeError(msg) - return @@ -107,23 +106,23 @@ def process_EWS_plotting_dep(jobPath,config): logger.info(f"Running EWS-Plotting with the following configs:\n{sys_config}\n{name_extraction_config}\n{run_config}\n{run_config_norm}\n{chart_config}") - depo_plotter = EWSPlottingDepoBase() - depo_plotter.set_param_config_files(sys_config_file_arg=sys_config, - depo_name_extraction_config_file_arg=name_extraction_config, - chart_config_file_arg= chart_config, - depo_plotting_run_config_file_arg=run_config, - depo_plotting_normalized_run_config_file_arg=run_config_norm, - name_file_wildcard_arg=name_file_wildcard, - wheat_sources_dir_arg=deposition_path, - output_dir_arg=output_dir, - issue_date_arg=config['StartString'], - extraction_file_prefix_arg=extraction_file_prefix) + depo_processor = DepositionPostProcessor() + depo_processor.set_param_config_files(sys_config_file_arg = sys_config, + depo_name_extraction_config_file_arg = name_extraction_config, + chart_config_file_arg = chart_config, + depo_plotting_run_config_file_arg = run_config, + depo_plotting_normalized_run_config_file_arg = run_config_norm, + name_file_wildcard_arg = name_file_wildcard, + wheat_sources_dir_arg = deposition_path, + output_dir_arg = output_dir, + issue_date_arg = config['StartString'], + extraction_file_prefix_arg = extraction_file_prefix) # asia/east africa env suit should not perform normalization, false gets passed here for these areas - depo_plotter.name_extract_params.NORMALIZE = (normalize.upper() == "TRUE") + depo_processor.name_extract_params.NORMALIZE = (normalize.upper() == "TRUE") - depo_plotter.plot_depo() + depo_processor.process() # check the output EWSPlottingOutputDir = f"{output_dir}/images/" diff --git a/ProcessorEnvironment.py b/ProcessorEnvironment.py index cd45ba3e5ad2b090df5d4a6b645d09673e9b2ed8..e57c40a1fcc4761eaf0b6def7adf39a5fc32a576 100644 --- a/ProcessorEnvironment.py +++ b/ProcessorEnvironment.py @@ -12,8 +12,8 @@ import tarfile import iris from iris.cube import CubeList +from ews_postprocessing.environmental_suitability.env_suit_post_processor import EnvSuitPostProcessor from plotting.common.utils import EnvSuitDiseaseInfo -from plotting.common.plotting_coordinator.ews_env_disease_plotting_coordinator import EWSPlottingEnvSuitBase import EnvSuitPipeline as esp from ProcessorUtils import ( @@ -151,15 +151,15 @@ def process_EWS_plotting_env2_0(jobPath,config): logger.info(f"Running EWS-Plotting with the following configs:\n{sys_config}\n{run_config}\n{chart_config}") - env_suit_plotter = EWSPlottingEnvSuitBase() - env_suit_plotter.set_param_config_files(sys_params_file_arg=sys_config, - chart_params_file_arg=chart_config, - run_params_file_arg=run_config, - es_output_dir_arg=output_dir, - issue_date_arg=config['StartString'], - disease_csv_template_arg=csv_template_dir) + env_suit_processor = EnvSuitPostProcessor() + env_suit_processor.set_param_config_files(sys_params_file_arg = sys_config, + chart_params_file_arg = chart_config, + run_params_file_arg = run_config, + es_output_dir_arg = output_dir, + issue_date_arg = config['StartString'], + disease_csv_template_arg = csv_template_dir) - env_suit_plotter.run_params.FILTER_FOR_COUNTRY = (filter_for_country.upper() == "TRUE") + env_suit_processor.run_params.FILTER_FOR_COUNTRY = (filter_for_country.upper() == "TRUE") # Include further diseases in plotting. In this case the irrigated suitabilite for the rusts. # TODO: move this part out into a config @@ -169,9 +169,9 @@ def process_EWS_plotting_env2_0(jobPath,config): EnvSuitDiseaseInfo("Stripe rust temp-only", "stripe_temponly", config['StartString'], "StripeRust_TempOnly", csv_template_dir) ] - env_suit_plotter.add_diseases(diseases=extra_diseases) + env_suit_processor.add_diseases(diseases=extra_diseases) - env_suit_plotter.plot_env_suit() + env_suit_processor.process() # check the output EWSPlottingOutputDir = f"{output_dir}/images/" diff --git a/ProcessorEpidemiology.py b/ProcessorEpidemiology.py index 9be966496cf62ef3d53ac7585beb8525a781ed29..f8c9cb5aabb7f06c4fb338cd8b1fe852ae7c03ff 100644 --- a/ProcessorEpidemiology.py +++ b/ProcessorEpidemiology.py @@ -23,7 +23,7 @@ from EpiModel import ( # created by rs481 EpiPrepLoader, plotRaster ) -from plotting.common.plotting_coordinator.ews_epi_disease_plotting_coordinator import EWSPlottingEPIBase +from ews_postprocessing.epi.epi_post_processor import EPIPostPostProcessor from ProcessorUtils import ( open_and_check_config, @@ -575,8 +575,8 @@ def process_EWS_plotting_epi(jobPath,config): logger.info(f"Running EWS-Plotting with the following configs:\n{sys_config}\n{run_config}\n{chart_config}") - epi_plotter = EWSPlottingEPIBase() - epi_plotter.set_param_config_files(sys_params_file_arg=sys_config, + epi_processor = EPIPostPostProcessor() + epi_processor.set_param_config_files(sys_params_file_arg=sys_config, chart_params_file_arg=chart_config, run_params_file_arg=run_config, epi_input_csv_arg=epi_filename+'_seasonsofar.csv', @@ -587,7 +587,7 @@ def process_EWS_plotting_epi(jobPath,config): wheat_source_disease_name_arg=deposition_disease_name, map_title_arg=map_title, chart_area_prefix=plotting_region_name_lower) - epi_plotter.plot_epi() + epi_processor.process() # prepare command for seasonplusforecast @@ -595,8 +595,8 @@ def process_EWS_plotting_epi(jobPath,config): logger.info(f"Running EWS-Plotting with the following configs:\n{sys_config}\n{run_config}\n{chart_config}") - epi_plotter_2 = EWSPlottingEPIBase() - epi_plotter_2.set_param_config_files(sys_params_file_arg=sys_config, + epi_processor_2 = EPIPostPostProcessor() + epi_processor_2.set_param_config_files(sys_params_file_arg=sys_config, chart_params_file_arg=chart_config, run_params_file_arg=run_config, epi_input_csv_arg=epi_filename+'.csv', # for seasonplusforecast @@ -608,7 +608,7 @@ def process_EWS_plotting_epi(jobPath,config): wheat_source_disease_name_arg=deposition_disease_name, map_title_arg=map_title, chart_area_prefix=plotting_region_name_lower) - epi_plotter_2.plot_epi() + epi_processor_2.process() # check the output EWSPlottingOutputDir = f"{ews_plot_dir}/images/" diff --git a/run_Processor.sh b/run_Processor.sh index 02e20d6c6117351cea3de67273202afbd64d14b4..1713e9e344aece9102523dd9cd679e348e755b8e 100755 --- a/run_Processor.sh +++ b/run_Processor.sh @@ -13,9 +13,10 @@ advisory=${bin}/advisory_builder/ met_processing=${bin}/met_extractor_v2/main/ met_processor=${bin}/environmental_suitability/ plotting=${bin}/plotting/ +post_processing=${bin}/plotting/ source_gen=${bin}/source_gen/ -export PYTHONPATH=$PYTHONPATH:$flagdir:$epimodel:$advisory:$met_processing:$met_processor:$plotting:$source_gen +export PYTHONPATH=$PYTHONPATH:$flagdir:$epimodel:$advisory:$met_processing:$met_processor:$plotting:$source_gen:$post_processing # provide path to email credentials for logging