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 concrete 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_model(inputs:ModelInputs,)->Tuple[ConcreteModel,List[Equation]]:""" ## Building the concrete model Builds the concrete 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`](#param__model%20structure.damage%20module): The damage module to use - [`emissiontrade module`](#param__model%20structure.emissiontrade%20module): The emission trading module to use - [`financialtransfer module`](#param__model%20structure.financialtransfer%20module): The financial transfer module to use - [`welfare module`](#param__model%20structure.welfare%20module): The welfare module to use - [`objective module`](#param__model%20structure.objective%20module): The objective module to use - [`effortsharing module`](#param__model%20structure.effortsharing%20module): The effort-sharing module to use """m=create_base_model(inputs)# Each constraint will be put in this list,# then added to the model at the end of this file.constraints=[]# Emissions, temperature and sea-level riseconstraints.extend(emissions.get_constraints(m,inputs))constraints.extend(sealevelrise.get_constraints(m,inputs))# Damage and mitigation costsconstraints.extend(damages.get_constraints(m,inputs))constraints.extend(mitigation.get_constraints(m,inputs))# Emission trading, financial transfers and effort sharingconstraints.extend(emissiontrade.get_constraints(m,inputs))constraints.extend(financialtransfer.get_constraints(m,inputs))constraints.extend(effortsharing.get_constraints(m,inputs))# Production, consumption and welfareconstraints.extend(cobbdouglas.get_constraints(m,inputs))constraints.extend(welfare.get_constraints(m,inputs))# Objective of optimisationmodel_objective,objective_constraints=objective.get_constraints(m,inputs)constraints.extend(objective_constraints)####################### Add constraints to concrete 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