Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

State-level competition framework #408

Open
jtlangevin opened this issue Aug 26, 2024 · 0 comments
Open

State-level competition framework #408

jtlangevin opened this issue Aug 26, 2024 · 0 comments
Assignees
Milestone

Comments

@jtlangevin
Copy link
Collaborator

Competition across multiple potential measure adoption choices in run based on data prepared in ecm_prep must be resolved at least to the state-level to enable more nuanced consideration of sub-federal policies to advance building decarbonization.

Proposed approach:

  • Reconfigure ecm_prep to separate prepared measure data by region and report each region’s results to unique sub-folders within the generated folder.
  • Reconfigure run to draw from region-specific results in (a) and separately loop through/adjust the measure data in each region for competition; then, report out each region’s results to unique sub-folders within the results folder.
  • In both (a) and (b), existing cross-region outputs would be maintained as summary material, but would reflect the within-region preparation and competition configured in (a) and (b).
@jtlangevin jtlangevin self-assigned this Aug 26, 2024
jtlangevin added a commit that referenced this issue Dec 5, 2024
* When users specify a new “high_res_comp” option in run.py, measure unit capital and operating costs will be separately calculated for each of its applicable market microsegment (the default is to calculate these measure costs across all its markets.) These more highly resolved cost data will then be used to compete the measure’s microsegments with overlapping measures.
* The calculations are supported with uncompeted technical potential case cost data for each microsegment generated in ecm_prep.py. These data are now generated whether or not the technical potential case has been restricted out by the user when running ecm_prep.
* Information used to link stock turnover calculations across microsegments is now determined in a separate function, find_join_keys, which is refactored out of the compete_adj_dicts function. In addition to determining stock turnover, this linking information is now used to pull mseg-specific stock cost information when "high_res_comp" is used.
* In run.py, commercial time preference premiums/market share distributions were updated to the latest EIA NEMS docs. When "high_res_comp" is specified, the latest EIA method of determining life cycle costs is used – this method annualizes capital costs and adds those to annual energy costs for each year. (The legacy method of calculating NPV is retained when users do not use the "high_res_comp" option.)

Addresses issue #408.
jtlangevin added a commit that referenced this issue Dec 9, 2024
* When users specify a new “high_res_comp” option in run.py, measure unit capital and operating costs will be separately calculated for each of its applicable market microsegment (the default is to calculate these measure costs across all its markets.) These more highly resolved cost data will then be used to compete the measure’s microsegments with overlapping measures.
* The calculations are supported with uncompeted technical potential case cost data for each microsegment generated in ecm_prep.py. These data are now generated whether or not the technical potential case has been restricted out by the user when running ecm_prep.
* Information used to link stock turnover calculations across microsegments is now determined in a separate function, find_join_keys, which is refactored out of the compete_adj_dicts function. In addition to determining stock turnover, this linking information is now used to pull mseg-specific stock cost information when "high_res_comp" is used.
* In run.py, commercial time preference premiums/market share distributions were updated to the latest EIA NEMS docs. When "high_res_comp" is specified, the latest EIA method of determining life cycle costs is used – this method annualizes capital costs and adds those to annual energy costs for each year. (The legacy method of calculating NPV is retained when users do not use the "high_res_comp" option.)

Addresses issue #408.
jtlangevin added a commit that referenced this issue Dec 10, 2024
* When users specify a new “high_res_comp” option in run.py, measure unit capital and operating costs will be separately calculated for each of its applicable market microsegment (the default is to calculate these measure costs across all its markets.) These more highly resolved cost data will then be used to compete the measure’s microsegments with overlapping measures.
* The calculations are supported with uncompeted technical potential case cost data for each microsegment generated in ecm_prep.py. These data are now generated whether or not the technical potential case has been restricted out by the user when running ecm_prep.
* Information used to link stock turnover calculations across microsegments is now determined in a separate function, find_join_keys, which is refactored out of the compete_adj_dicts function. In addition to determining stock turnover, this linking information is now used to pull mseg-specific stock cost information when "high_res_comp" is used.
* In run.py, commercial time preference premiums/market share distributions were updated to the latest EIA NEMS docs. When "high_res_comp" is specified, the latest EIA method of determining life cycle costs is used – this method annualizes capital costs and adds those to annual energy costs for each year. (The legacy method of calculating NPV is retained when users do not use the "high_res_comp" option.)

Addresses issue #408.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant