Source code for hestia_earth.calculation

import concurrent.futures
from hestia_earth.calculation.abstract_engine import Engine
from hestia_earth.calculation.utils import instantiate_hierarchy
from hestia_earth.calculation.emissions import EMISSIONS_HIERARCHIES_ORDER
from hestia_earth.calculation.abstract_hierarchy import Hierarchy
from hestia_earth.calculation.assessment_hierarchies import Assessments_hierarchy


[docs]class CalculationEngine(Engine): """Engine class. This is the class that runs all the models for all emissions and impacts.""" def __init__(self, baseUrl): """Constructor method. Arguments: None Returns instance.""" super().__init__() Hierarchy.context = baseUrl self.assessment = Assessments_hierarchy() with concurrent.futures.ThreadPoolExecutor() as executor: self.hierarchies = list(executor.map(instantiate_hierarchy, EMISSIONS_HIERARCHIES_ORDER))