message_ix_models.model.material.demand.project_demand

message_ix_models.model.material.demand.project_demand(df: DataFrame, phi: float, mu: float)[source]

Project material demand over time using a convergence function.

This function calculates the projected demand for materials by applying a Gompertz convergence function to historical demand data. It adjusts demand per capita and total demand based on population and other factors.

Parameters:
  • df – Input DataFrame containing historical demand data with the following columns: - demand.tot.base: Base year total demand. - pop.mil: Population in millions. - demand_pcap0: Initial demand per capita. - year: Year of the data.

  • phi – Shape parameter for the Gompertz function.

  • mu – Rate parameter for the Gompertz function.

Returns:

A DataFrame containing projected demand data with the following columns: - region: Region name. - year: Year of the data. - demand_tot: Projected total demand.

Return type:

pd.DataFrame