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()