message_ix_models.model.bmt.utils.subtract_material_demand
- message_ix_models.model.bmt.utils.subtract_material_demand(scenario: Scenario, info: ScenarioInfo, sturm_r: DataFrame, sturm_c: DataFrame, method: str = 'bm_subtraction', generate_vetting_csv: bool = True, vetting_output_path: str = 'material_demand_subtraction_vetting.csv') DataFrame[source]
Subtract inter-sector material demand from existing demands in scenario.
This function provides different approaches for subtracting inter-sector material demand from the original material demand, due to BM (material inputs for residential and commercial building construction), PM (material inputs for power capacity), IM (material inputs for infrastructures), TM (material inputs for new vehicles) links.
- Parameters:
scenario (
message_ix.Scenario) – The scenario to modifyinfo (
ScenarioInfo) – Scenario informationsturm_r (
pd.DataFrame) – Residential STURM datasturm_c (
pd.DataFrame) – Commercial STURM datamethod (
str, optional) –Method to use for subtraction:
”bm_subtraction”: default, substract entire trajectory
”im_subtraction”: substract base year and rerun material demand projection
”pm_subtraction”: to be determined (currently treated as additional demand)
”tm_subtraction”: to be determined
generate_vetting_csv (
bool, optional) – Whether to generate a CSV file showing subtraction details (default: True)vetting_output_path (
str, optional) – Path for the vetting CSV file (default: “material_demand_subtraction_vetting.csv”)
- Returns:
Modified demand data with material demand subtracted
- Return type:
pd.DataFrame