Mat-dp: An open-source Python model for analysing material demand projections and their environmental implications, which result from building low-carbon systems
Materials are essential for creating the systems used in everyday life, yet, manufacturing materials emits large quantities of greenhouse gases (GHG). Emissions from material production have been estimated to have increased from 5 gigatons (Gt) of CO2-equivalent to 11 Gt between 1995 and 2015. In turn, global emissions due to material production rose from 15% to 23% in the same period (Hertwich et al., 2020), while materials are estimated to contribute to over half of GHG emissions from industry (Allwood et al., 2010). Thus, identifying and implementing options for reducing material emissions is required.
Mat-dp is a Python model which aims to calculate the amounts and types of materials needed for building any system or resource transformation including those found along any supply chain – but is particularly applied to studying the materials needed for building low-carbon systems – and estimate the environmental implications associated to such materials.
Mat-dp contains a linear programming library called mat-dp-core which includes the core classes of each element and their mathematical operations for obtaining results. Mat-dp-core is tailored to the needs of research around material demand for low-carbon systems, helping technically proficient users to explore scenarios and systems relating to their research in Python. Mat-dp-core has an easy-to-use structure and code base with the mathematical model to let users evaluate and optimise the environmental effects of a given set of resources that are fed into one or more processes.
In mat-dp-core, the system and its required materials are defined as a series of resources that are fed into different processes, which in turn have a defined set of outputs. The outputs can be the result of the process, e.g., energy, materials or greenhouse gas emissions. The system can then be optimised using an objective function related to a property of the system which will be minimised (e.g., number of runs or cost) subject to three possible types of constraints built into mat-dp-core, depending on the desired output of the process, (e.g., a required electricity capacity of an offshore wind installation). The three types of constraints that can be defined are: a given ratio of process runs (Run Ratio Constraint), a given number of resources produced (Resource Constraint), and a given number of process runs (Run Eq Constraint) that the system has to comply with. The model results obtained can then be exported and further explored.
Mat-dp is ideal for academics who work on understanding or reducing environmental effects of different processes, government officials who work on national material and emission strategies, or practitioners who work on estimating material demands for a given project.
Special thanks to Dreaming Spires’ Mark and Edd who were a pleasure to work with as we developed the code.
Photo credit: Yasin HM