Source code for hestia_earth.calculation.emissionsResourceUses.identity

from hestia_earth.calculation.abstract_model import Model


[docs]class Identity(Model): def __init__(self): super().__init__() # Define model requirements self.emissions = None self.econ = None self.product_amount = None def calculate(self): # Calculate emissionsResourceUse emissionsResourceUses = {} for emission in self.emissions: if self.product_amount > 0: emissionsResourceUses[emission['term']['@id']] = \ sum(emission['value']) * self.econ / self.product_amount return emissionsResourceUses def check(self, cycle, product): # Check requirements self.emissions = cycle['emissions'].evalues() self.econ = product['economicValueShare'] / 100 if product['economicValueShare'] != {} else 1 self.product_amount = sum(product['value']) return len(self.emissions) > 0 and self.econ != {} and self.product_amount > 0