예제 #1
0
 def add_sales_share_measures(self, scenario):
     self.sales_shares = {}
     measure_ids = scenario.get_measures('SupplySalesShareMeasures', self.supply_node_id, self.id)
     for sales_share_id in measure_ids:
         self.sales_shares[sales_share_id] = SupplySalesShare(id=sales_share_id, supply_node_id=self.supply_node_id,
                                                              reference=False, sql_id_table='SupplySalesShareMeasures',
                                                              sql_data_table='SupplySalesShareMeasuresData',
                                                              primary_key='id', data_id_key='parent_id')
예제 #2
0
 def add_sales_share_measures(self, package_id):
     self.sales_shares = {}
     measure_ids = util.sql_read_table('SupplySalesShareMeasurePackagesData', 'measure_id', package_id=package_id,
                                       return_iterable=True)
     for measure_id in measure_ids:
         sales_share_ids = util.sql_read_table('SupplySalesShareMeasures', 'id', demand_tech_id=self.id, id=measure_id,
                                               return_iterable=True)
         for sales_share_id in sales_share_ids:
             self.sales_shares[sales_share_id] = SupplySalesShare(id=sales_share_id, node_id=self.node_id,
                                                            reference=False, sql_id_table='SupplySalesShareMeasures',
                                                            sql_data_table='SupplySalesShareMeasuresData')
예제 #3
0
 def add_sales_share_measures(self, package_id):
     self.sales_shares = {}
     measure_ids = util.sql_read_table('SupplySalesShareMeasurePackagesData', 'measure_id', package_id=package_id,
                                       return_iterable=True)
     for measure_id in measure_ids:
         sales_share_ids = util.sql_read_table('SupplySalesShareMeasures', 'id', supply_technology_id=self.id, id=measure_id,
                                               return_iterable=True)
         for sales_share_id in sales_share_ids:
             self.sales_shares[sales_share_id] = SupplySalesShare(id=sales_share_id, supply_node_id=self.supply_node_id,
                                                                  reference=False, sql_id_table='SupplySalesShareMeasures',
                                                                  sql_data_table='SupplySalesShareMeasuresData',
                                                                  primary_key='id', data_id_key='parent_id')
예제 #4
0
 def __init__(self, id, cost_of_capital, **kwargs):
     self.id = id
     for col, att in util.object_att_from_table('SupplyTechs', id):
         setattr(self, col, att)
     if self.cost_of_capital is None:
         self.cost_of_capital = cost_of_capital
     self.add_costs()
     self.efficiency = SupplyTechEfficiency(id)
     self.capacity_factor = SupplyTechCapacityFactor(id)
     self.reference_sales_shares = {}
     if self.id in util.sql_read_table('SupplySalesShareData', 'supply_technology', return_unique=True, return_iterable=True):
         self.reference_sales_shares[1] = SupplySalesShare(id=self.id, supply_node_id=self.supply_node_id, reference=True,sql_id_table='SupplySalesShare', sql_data_table='SupplySalesShareData')           
     self.reference_sales = {}
     if self.id in util.sql_read_table('SupplySalesData','supply_technology', return_unique=True, return_iterable=True):
         self.reference_sales[1] = SupplySales(id=self.id, supply_node_id=self.supply_node_id, reference=True,sql_id_table='SupplySales', sql_data_table='SupplySalesData') 
     StockItem.__init__(self)
예제 #5
0
    def __init__(self, id, cost_of_capital, scenario, **kwargs):
        self.id = id
        for col, att in util.object_att_from_table('SupplyTechs', id):
            setattr(self, col, att)
        if self.cost_of_capital is None:
            self.cost_of_capital = cost_of_capital
        self.scenario = scenario
        self.add_costs()
        self.efficiency = SupplyTechEfficiency(id, self.scenario)
        self.capacity_factor = SupplyTechCapacityFactor(id, self.scenario)
        self.co2_capture = SupplyTechCO2Capture(id, self.scenario)
        self.reference_sales_shares = {}
        if self.id in util.sql_read_table('SupplySalesShareData',
                                          'supply_technology_id',
                                          return_unique=True,
                                          return_iterable=True):
            self.reference_sales_shares[1] = SupplySalesShare(
                id=self.id,
                supply_node_id=self.supply_node_id,
                reference=True,
                sql_id_table='SupplySalesShare',
                sql_data_table='SupplySalesShareData',
                primary_key='supply_node_id',
                data_id_key='supply_technology_id',
                scenario=self.scenario)
        self.reference_sales = {}
        if self.id in util.sql_read_table('SupplySalesData',
                                          'supply_technology_id',
                                          return_unique=True,
                                          return_iterable=True):
            self.reference_sales[1] = SupplySales(
                id=self.id,
                supply_node_id=self.supply_node_id,
                reference=True,
                sql_id_table='SupplySales',
                sql_data_table='SupplySalesData',
                primary_key='supply_node_id',
                data_id_key='supply_technology_id',
                scenario=self.scenario)
        StockItem.__init__(self)

        if self.shape_id is not None:
            self.shape = shape.shapes.data[self.shape_id]