From 10aeda62665ba4bc671da10a0ff8facc708487f5 Mon Sep 17 00:00:00 2001 From: Charles Doutriaux Date: Tue, 16 Jul 2019 10:19:55 -0700 Subject: [PATCH] if error occurs calculating a region/model, keep going (#610) --- pcmdi_metrics/pcmdi/mean_climate_metrics_driver.py | 9 +++++++++ pcmdi_metrics/version.py | 4 ++-- 2 files changed, 11 insertions(+), 2 deletions(-) diff --git a/pcmdi_metrics/pcmdi/mean_climate_metrics_driver.py b/pcmdi_metrics/pcmdi/mean_climate_metrics_driver.py index cb2254ad9..bd7464487 100644 --- a/pcmdi_metrics/pcmdi/mean_climate_metrics_driver.py +++ b/pcmdi_metrics/pcmdi/mean_climate_metrics_driver.py @@ -59,6 +59,7 @@ def run_diags(self): self.obs_dict, sftlf=self.sftlf) for region in self.regions_dict[self.var]: + logging.getLogger("pcmdi_metrics").info("REGION: {}".format(region)) self.region = self.create_region(region) # Need to add the region to the output dict now b/c # otherwise if done later, sometimes it's not added due to @@ -150,6 +151,7 @@ def create_region(self, region): def run_reference_and_test_comparison(self): ''' Does the (obs or model) vs (obs or model) comparison. ''' + reference_data_set = self.parameter.reference_data_set test_data_set = self.parameter.test_data_set @@ -179,6 +181,7 @@ def run_reference_and_test_comparison(self): continue for test in test_data_set: + logging.getLogger("pcmdi_metrics").info("TEST DATA IS: {}".format(test)) try: tst = self.determine_obs_or_model(test_data_set_is_obs, test, self.parameter.test_data_path) @@ -187,10 +190,16 @@ def run_reference_and_test_comparison(self): # when a model doesn't have sftlf for a given region except RuntimeError: continue + except Exception as err: + logging.getLogger("pcmdi_metrics").info("Unexpected error:".format(err)) + break try: self.output_metric.calculate_and_output_metrics(ref, tst) except RuntimeError: + continue + except Exception as err: + logging.getLogger("pcmdi_metrics").info("Unexpected error in calculate output metrics:".format(err)) break def is_data_set_obs(self, data_set): diff --git a/pcmdi_metrics/version.py b/pcmdi_metrics/version.py index 5f611c370..772823b73 100644 --- a/pcmdi_metrics/version.py +++ b/pcmdi_metrics/version.py @@ -1,3 +1,3 @@ __version__ = 'v1.2' -__git_tag_describe__ = 'v1.2-59-g85056c0' -__git_sha1__ = '85056c0355c3b396cd759aa7432482506698b891' +__git_tag_describe__ = 'v1.2-60-g04ad61a' +__git_sha1__ = '04ad61a8bdf52af8af61698c64a9dd553d05ed45'