Index: trunk/SDToolBox/extract_sea_level_pressure_EARTH.py =================================================================== diff -u -r47 -r52 --- trunk/SDToolBox/extract_sea_level_pressure_EARTH.py (.../extract_sea_level_pressure_EARTH.py) (revision 47) +++ trunk/SDToolBox/extract_sea_level_pressure_EARTH.py (.../extract_sea_level_pressure_EARTH.py) (revision 52) @@ -19,6 +19,8 @@ # endregion +# TODO not working, refactored code!!! + class ExtractSeaLevelPressureEARTH: __lon_key = 'lon' @@ -36,6 +38,8 @@ self.__input_lon = input_data.input_coordinates[1] def subset_earth_v2(self, directory_path: str, year_from: int, year_to: int) : + + variable_dict = {} ds_format = 'netCDF4' case_dataset_list = [] years = generate_years_array_slp(year_from, year_to) Index: trunk/SDToolBox/data_acquisition.py =================================================================== diff -u -r48 -r52 --- trunk/SDToolBox/data_acquisition.py (.../data_acquisition.py) (revision 48) +++ trunk/SDToolBox/data_acquisition.py (.../data_acquisition.py) (revision 52) @@ -28,17 +28,18 @@ class InputData: + # input scenarios for check input_coordinates = [] input_variables = [] input_years = [] date_from = None date_to = None + input_EARTH_scenario = None + values_EARTH_scenarios = ['RCP45', 'RCP85', 'HIST'] # These parameters are set in the extraction methods min_longitude = None max_longitude = None - lon_key = 'lon' - lat_key = 'lat' def validate(self): """Validates the data structure based on the given input @@ -105,7 +106,24 @@ self.input_years = sorted(set(self.input_years)) return True + def validate_input_scenario(self): + """Validates the EARTH_Scenario is valid and refines the list + to avoid duplications and unordered years. + Arguments: + EART_ scenario {datetime} -- one of the scenarios. + + Returns: + Boolean -- Dates validation. + """ + # Verify date is valid. + if not self: + raise IOError(om.error_no_valid_list_of_years) + if input_EARTH_scenario not in values_EARTH_scenarios: + raise IOError(om.error_no_valid_list_of_years) + return True + + class OutputData: dim_station_key = 'station' Index: trunk/SDToolBox/extract_data.py =================================================================== diff -u -r47 -r52 --- trunk/SDToolBox/extract_data.py (.../extract_data.py) (revision 47) +++ trunk/SDToolBox/extract_data.py (.../extract_data.py) (revision 52) @@ -24,8 +24,6 @@ _ds_format = 'netCDF4' _time_key = 'time' - _lon_key = 'longitude' - _lat_key = 'latitude' _input_lon = None _input_lat = None _input_variables = [] @@ -34,6 +32,7 @@ _out_lon_key = data_acquisition.OutputData.var_lon_key _out_time_key = data_acquisition.OutputData.var_time_key _out_val_key = data_acquisition.OutputData.var_val_key + _input_EARTH_scenario = ' ' def __init__(self, input_data: data_acquisition.InputData): """Initialize the waves extraction. @@ -46,9 +45,8 @@ raise IOError(om.error_no_valid_input_data) input_data.validate() - input_data.lon_key = self._lon_key - input_data.lat_key = self._lat_key + self._input_EARTH_scenario = input_data.input_EARTH_scenario self._input_variables = input_data.input_variables self._input_years = input_data.input_years self._input_lon, self._input_lat = zip(*input_data.input_coordinates)