diff --git a/src/python/pcmdi/scripts/driver/observation.py b/src/python/pcmdi/scripts/driver/observation.py index a7f357b84..ae50ecf7d 100644 --- a/src/python/pcmdi/scripts/driver/observation.py +++ b/src/python/pcmdi/scripts/driver/observation.py @@ -1,7 +1,7 @@ import logging import MV2 from pcmdi_metrics.io.base import Base -from pcmdi_metrics.driver.dataset import Dataset +from pcmdi_metrics.driver.dataset import DataSet class OBS(Base): @@ -49,7 +49,7 @@ def setup_based_on_obs_table(self, obs_table): self.ac = 'ac' -class Observation(Dataset): +class Observation(DataSet): ''' Handles all the computation (setting masking, target grid, etc) and some file I/O related to observations. ''' def __init__(self, parameter, var_name_long, region, diff --git a/src/python/pcmdi/scripts/driver/pmp_parameter.py b/src/python/pcmdi/scripts/driver/pmp_parameter.py index ef451c861..baf65a361 100755 --- a/src/python/pcmdi/scripts/driver/pmp_parameter.py +++ b/src/python/pcmdi/scripts/driver/pmp_parameter.py @@ -1,3 +1,4 @@ +import os import logging import cdp.cdp_parameter @@ -33,7 +34,7 @@ def __init__(self): self.test_data_path = '' self.reference_data_path = '' self.custom_observations_path = '' - # self.test_clims_interpolated_output = '' + self.test_clims_interpolated_output = '' self.metrics_output_path = '' self.filename_output_template = '' @@ -117,9 +118,9 @@ def check_vars(self): self.check_str_seq_in_str_list(self.vars, 'vars', vars_values) - def check_ref(self): + def check_reference_data_set(self): ref_values = ['default', 'all', 'alternate', 'ref3'] - self.check_str_seq_in_str_list(self.ref, 'ref', ref_values) + self.check_str_seq_in_str_list(self.reference_data_set, 'reference_data_set', ref_values) def check_target_grid(self): self.check_str_var_in_str_list( @@ -242,3 +243,21 @@ def check_values(self): self.check_filename_output_template() self.check_custom_observations_path() ''' + if getattr(self, "save_test_clims", False): + if not hasattr(self, "test_clims_interpolated_output"): + self.test_clims_interpolated_output = os.path.join( + self.metrics_output_path, + 'interpolated_model_clims') + logging.warning("Your parameter file asks to save interpolated test climatologies," + + " but did not define a path for this\n We set 'test_clims_interpolated" + + "_output' to %s for you" % self.test_clims_interpolated_output) + if not hasattr(self, "filename_output_template"): + template = "%(variable)%(level)_%(model_version)_%(table)_%(realization)" + \ + "_%(period).interpolated.%(regrid_method).%(target_grid_name)-clim%(ext)" + self.filename_output_template = template + logging.warning("Your parameter file asks to save interpolated model climatologies," + + " but did not define a name template for this\nWe set 'filename_output" + + "_template' to %s for you" % self.filename_output_template) + if not hasattr(self, 'dry_run'): + self.dry_run = True + diff --git a/src/python/pcmdi/scripts/pcmdi_metrics_driver.py b/src/python/pcmdi/scripts/pcmdi_metrics_driver.py index 25196ae5b..c3f70ecf0 100644 --- a/src/python/pcmdi/scripts/pcmdi_metrics_driver.py +++ b/src/python/pcmdi/scripts/pcmdi_metrics_driver.py @@ -5,7 +5,7 @@ from pcmdi_metrics.driver.observation import Observation from pcmdi_metrics.driver.model import Model import pcmdi_metrics.driver.dataset -import pcmdi_metrics.driver.dataset.pmp_parser +import pcmdi_metrics.driver.pmp_parser class PMPDriver(object):