def create_coverage(self, mapping_file, param_dict): if param_dict: self._param_mapper = ParameterMapper(pmap_file=mapping_file, parameter_dictionary=param_dict) # Construct temporal Coordinate Reference System objects tcrs = CRS([AxisTypeEnum.TIME]) # Construct temporal and spatial Domain objects tdom = GridDomain(GridShape("temporal", [0]), tcrs, MutabilityEnum.EXTENSIBLE) # 1d (timeline) self._coverage = SimplexCoverage( "test_data", self.create_guid(), os.path.splitext(os.path.basename("test_data/test.csv"))[0], parameter_dictionary=param_dict, temporal_domain=tdom, ) shp = self._parser.get_var_shape("time") self._coverage.insert_timesteps(shp[0]) mapping = self._param_mapper.get_mapping() for var in self._parser.get_col_names(): # parameter mapping goes here print var print mapping[var] vals = self._parser.get_values(var_name=var) print vals self._coverage.set_parameter_values(mapping[var], value=vals) print self._coverage.get_parameter_values(mapping[var])
class coverage_creator: def __init__(self, mod_name="", class_name="", file_path=""): module = __import__(mod_name, fromlist=[class_name]) classobj = getattr(module, class_name) self._parser = classobj(file_path) self._coverage = None def create_coverage(self, mapping_file, param_dict): if param_dict: self._param_mapper = ParameterMapper(pmap_file=mapping_file, parameter_dictionary=param_dict) # Construct temporal Coordinate Reference System objects tcrs = CRS([AxisTypeEnum.TIME]) # Construct temporal and spatial Domain objects tdom = GridDomain(GridShape("temporal", [0]), tcrs, MutabilityEnum.EXTENSIBLE) # 1d (timeline) self._coverage = SimplexCoverage( "test_data", self.create_guid(), os.path.splitext(os.path.basename("test_data/test.csv"))[0], parameter_dictionary=param_dict, temporal_domain=tdom, ) shp = self._parser.get_var_shape("time") self._coverage.insert_timesteps(shp[0]) mapping = self._param_mapper.get_mapping() for var in self._parser.get_col_names(): # parameter mapping goes here print var print mapping[var] vals = self._parser.get_values(var_name=var) print vals self._coverage.set_parameter_values(mapping[var], value=vals) print self._coverage.get_parameter_values(mapping[var]) def create_guid(self): """ @retval Return global unique id string """ # guids seem to be more readable if they are UPPERCASE return str(uuid.uuid4()).upper()