The MIMOSA model consists of several sub-modules, called model components. Each component is made up of multiple variables (global or regional), parameters and equations (called constraints).
Economics
Cobb-Douglas production function, investments, consumption and capital stock
Builds the abstract model for MIMOSA by combining all components. Some components are optional. In the
parameters, different variants of some components can be chosen. The components are:
defcreate_abstract_model(context:ModelContext,)->Tuple[AbstractModel,List[Equation]]:""" ## Building the abstract model Builds the abstract model for MIMOSA by combining all components. Some components are optional. In the parameters, different variants of some components can be chosen. The components are: - [`damage module`](../parameters.md#model structure.damage module): The damage module to use - [`emissiontrade module`](../parameters.md#model structure.emissiontrade module): The emission trading module to use - [`financialtransfer module`](../parameters.md#model structure.financialtransfer module): The financial transfer module to use - [`welfare module`](../parameters.md#model structure.welfare module): The welfare module to use - [`objective module`](../parameters.md#model structure.objective module): The objective module to use - [`effortsharing module`](../parameters.md#model structure.effortsharing module): The effort-sharing module to use """m=create_base_model()# Each constraint will be put in this list,# then added to the model at the end of this file.constraints=[]# Add all ordinary model components in catalogue order.forcomponentinMODEL_COMPONENTS:constraints.extend(component.build(m,context))# Objective of optimisationmodel_objective,objective_constraints=OBJECTIVE_COMPONENT.build(m,context)constraints.extend(objective_constraints)####################### Add constraints to abstract model######################forconstraintinconstraints:add_constraint(m,constraint.to_pyomo_constraint(m),constraint.name)####################### Get all equations (not constraints) for simulation mode######################equations=[eqforeqinconstraintsifisinstance(eq,Equation)]m.objective=model_objectivereturnm,equations