Skip to content

Commit

Permalink
Merge pull request #227 from iiasa/costs/reduction-year
Browse files Browse the repository at this point in the history
Change decay to reach cost reduction specified by 2100 (instead of 2110) `tools.costs`
  • Loading branch information
khaeru authored Oct 23, 2024
2 parents 42c9a70 + 2dbdec6 commit 48f3314
Show file tree
Hide file tree
Showing 2 changed files with 8 additions and 1 deletion.
1 change: 1 addition & 0 deletions doc/whatsnew.rst
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,7 @@ Next release
- Replace solar and wind technologies with new ones (:pull:`206`).
- Reorganize input files and incorporate `first_year.csv` data into `tech_map.csv` (:pull:`221`).
- Reconfigure use and implementation of technology variants/modules to be more agnostic (:pull:`221`).
- Change cost decay to reach reduction percentage specified on the year 2100 (:pull:`227`).
- Improve and extend :doc:`/material/index` (:pull:`218`).

- Release of MESSAGEix-Materials 1.1.0 (:doc:`/material/v1.1.0`).
Expand Down
8 changes: 7 additions & 1 deletion message_ix_models/tools/costs/decay.py
Original file line number Diff line number Diff line change
Expand Up @@ -278,6 +278,12 @@ def project_ref_region_inv_costs_using_reduction_rates(
This function uses the cost reduction rates for each technology under each scenario
to project the capital costs for each technology in the reference region.
The changing of costs is projected until the year 2100
(hard-coded in this function), which might not be the same
as :attr:`.Config.final_year` (:attr:`.Config.final_year` represents the final
projection year instead). 2100 is hard coded because the cost reduction values are
assumed to be reached by 2100.
The returned data have the list of periods given by :attr:`.Config.seq_years`.
Parameters
Expand Down Expand Up @@ -323,7 +329,7 @@ def project_ref_region_inv_costs_using_reduction_rates(
cost_region_2100=lambda x: x.reg_cost_base_year
- (x.reg_cost_base_year * x.cost_reduction),
b=lambda x: (1 - config.pre_last_year_rate) * x.cost_region_2100,
r=lambda x: (1 / (config.final_year - config.base_year))
r=lambda x: (1 / (2100 - config.base_year))
* np.log((x.cost_region_2100 - x.b) / (x.reg_cost_base_year - x.b)),
reference_region=config.ref_region,
)
Expand Down

0 comments on commit 48f3314

Please sign in to comment.