예제 #1
0
 def get_lookup_value(self, value):
     return self._placeholder(
         value, lambda placeholder: ParameterContext(
             name=placeholder,
             param_type=SparseConstantType(base_type=ConstantType(
                 value_encoding='float64'),
                                           fill_value=-9999.)))
예제 #2
0
    def make_cal_data_product(self):
        # Get a precompiled parameter dictionary with basic ctd fields
        pdict_id = self.dataset_management.read_parameter_dictionary_by_name(
            'ctd_parsed_param_dict', id_only=True)
        context_ids = self.dataset_management.read_parameter_contexts(
            pdict_id, id_only=True)

        # Add a handful of Calibration Coefficient parameters
        for cc in ['cc_ta0', 'cc_ta1', 'cc_ta2', 'cc_ta3', 'cc_toffset']:
            c = ParameterContext(cc,
                                 param_type=SparseConstantType(
                                     value_encoding='float32',
                                     fill_value=-9999))
            c.uom = '1'
            context_ids.append(
                self.dataset_management.create_parameter_context(cc, c.dump()))

        pdict_id = self.dataset_management.create_parameter_dictionary(
            'calcoeff_dict', context_ids, temporal_context='time')

        data_product_id = self.create_data_product('calcoeff_dp',
                                                   pdict_id=pdict_id)
        self.activate_data_product(data_product_id)
        dataset_id, _ = self.resource_registry.find_objects(data_product_id,
                                                            PRED.hasDataset,
                                                            id_only=True)

        return data_product_id, dataset_id[0]
예제 #3
0
    def get_cc_value(self, value):
        placeholder = value.lower()
        # Check to see if this coefficient exists already

        hits, _ = Container.instance.resource_registry.find_resources(
            name=placeholder, restype=RT.ParameterContext, id_only=True)
        if hits:
            return hits[0], placeholder

        pc = ParameterContext(
            name=placeholder,
            param_type=SparseConstantType(value_encoding='float64'),
            fill_value=-9999.)
        pc.uom = '1'
        ctxt_id = self.dataset_management.create_parameter_context(
            name=placeholder, parameter_context=pc.dump())
        return ctxt_id, placeholder
예제 #4
0
 def get_string_array_lookup_value(self, value):
     return self._placeholder(
         value, lambda placeholder: ParameterContext(
             name=placeholder,
             param_type=SparseConstantType(base_type=ArrayType())))
예제 #5
0
 def get_sparse_type(self, parameter_type, encoding):
     if encoding:
         return SparseConstantType(value_encoding=encoding)
     else:
         return SparseConstantType()