-
Notifications
You must be signed in to change notification settings - Fork 66
v3.12.1 After Tax Savings and Results Table Spreadsheet Updates #635
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
Merged
Merged
Changes from all commits
Commits
Show all changes
35 commits
Select commit
Hold shift + click to select a range
eb294df
Temp change to REopt#after-tax-savings branch
Bill-Becker f8cbff8
Add new after tax fuel cost and other model fields
Bill-Becker 6deb3c5
Avoid lifecycle_capital_cost GHP test discrepancy from it now includi…
Bill-Becker 7a9439d
Add after-tax fuel cost for Generator
Bill-Becker d8799f3
Convert monthly_fraction to expected type in /simulated_load
Bill-Becker 761bc99
Remove deprecated version in docker-compose.yml file
Bill-Becker bba9e69
Update REopt#after-tax-savings with cooling fix
Bill-Becker 791ebba
Fix CoolingLoad type conversions in REopt.jl branch
Bill-Becker 1ca2c7f
Update capital cost model fields
Bill-Becker f12cbd6
Add financial output model fields for total yearly costs and savings
Bill-Becker 4ff2760
Update REopt.jl#after-tax-savings branch
Bill-Becker b7a3547
Update custom_table_config and some formatting for spreadsheet
Bill-Becker 68b8a6f
Merge branch 'develop' into after-tax-savings
Bill-Becker 91ce0a6
Merge migrations after merging develop with emissions updates into af…
Bill-Becker ba15009
Merge REopt.jl develop into after-tax-savings
Bill-Becker 27c77e6
Update some new field names per REopt.jl PR review
Bill-Becker 47f5b46
Update REopt.jl to develop branch
Bill-Becker 2c76556
Update REopt.jl to latest registered version v0.51.1
Bill-Becker 1a5d528
Update unaddressable fuel emissions, Formatting
Bill-Becker e9247e3
Change CO2 labels to CO2e
Bill-Becker 66a0362
Move Results Table to FIRST tab, Instructions to second tab
Bill-Becker 42b935e
Update instructions for playground updates
Bill-Becker 38a8b82
Fix lifecycle CHP standby charge reference
Bill-Becker 442486e
Improve description and formatting of playground sections
Bill-Becker 601d92e
Update units label with "per year" where applicable
Bill-Becker 28c83fc
Fix PV/Wind year one "production" and fix refactor "per year" name re…
Bill-Becker 0efe3b8
Workaround for BAU ExistingBoiler to Load
Bill-Becker 838c6e8
Add peak_grid_demand_kw to ElectricUtility outputs
Bill-Becker e23c0f7
Add unaddressable fuel cost and peak demand to results table
Bill-Becker 1fed22b
Merge pull request #631 from NREL/after-tax-savings
Bill-Becker 3343a06
Update CHANGELOG.md
Bill-Becker 0b6ccf8
Merge pull request #636 from NREL/Bill-Becker-patch-1
Bill-Becker fa6b4cf
Update reoptjl/views.py
Bill-Becker d314ec2
Use single quotes for http.jl file name inside outer quotes in compos…
Bill-Becker a1c5f39
Revert "Use single quotes for http.jl file name inside outer quotes i…
Bill-Becker File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Large diffs are not rendered by default.
Oops, something went wrong.
93 changes: 93 additions & 0 deletions
93
reoptjl/migrations/0077_boileroutputs_year_one_fuel_cost_after_tax_and_more.py
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,93 @@ | ||
| # Generated by Django 4.0.7 on 2025-02-19 05:32 | ||
|
|
||
| from django.db import migrations, models | ||
|
|
||
|
|
||
| class Migration(migrations.Migration): | ||
|
|
||
| dependencies = [ | ||
| ('reoptjl', '0076_ashpspaceheaterinputs_force_dispatch_and_more'), | ||
| ] | ||
|
|
||
| operations = [ | ||
| migrations.AddField( | ||
| model_name='boileroutputs', | ||
| name='year_one_fuel_cost_after_tax', | ||
| field=models.FloatField(blank=True, null=True), | ||
| ), | ||
| migrations.AddField( | ||
| model_name='chpoutputs', | ||
| name='year_one_fuel_cost_after_tax', | ||
| field=models.FloatField(blank=True, help_text='Cost of fuel consumed by the CHP system in year one, after tax [\\$]', null=True), | ||
| ), | ||
| migrations.AddField( | ||
| model_name='chpoutputs', | ||
| name='year_one_standby_cost_after_tax', | ||
| field=models.FloatField(blank=True, help_text='CHP standby charges in year one, after tax [\\$]', null=True), | ||
| ), | ||
| migrations.AddField( | ||
| model_name='electrictariffoutputs', | ||
| name='year_one_bill_after_tax', | ||
| field=models.FloatField(blank=True, help_text='Optimal year one utility bill, after tax', null=True), | ||
| ), | ||
| migrations.AddField( | ||
| model_name='electrictariffoutputs', | ||
| name='year_one_bill_after_tax_bau', | ||
| field=models.FloatField(blank=True, help_text='Business as usual year one utility bill, after tax', null=True), | ||
| ), | ||
| migrations.AddField( | ||
| model_name='electrictariffoutputs', | ||
| name='year_one_export_benefit_after_tax', | ||
| field=models.FloatField(blank=True, help_text='Optimal year one value of exported energy, after tax. A positive value indicates a benefit.', null=True), | ||
| ), | ||
| migrations.AddField( | ||
| model_name='electrictariffoutputs', | ||
| name='year_one_export_benefit_after_tax_bau', | ||
| field=models.FloatField(blank=True, help_text='Business as usual year one value of exported energy, after tax. A positive value indicates a benefit.', null=True), | ||
| ), | ||
| migrations.AddField( | ||
| model_name='existingboileroutputs', | ||
| name='year_one_fuel_cost_after_tax', | ||
| field=models.FloatField(blank=True, null=True), | ||
| ), | ||
| migrations.AddField( | ||
| model_name='existingboileroutputs', | ||
| name='year_one_fuel_cost_after_tax_bau', | ||
| field=models.FloatField(blank=True, null=True), | ||
| ), | ||
| migrations.AddField( | ||
| model_name='financialoutputs', | ||
| name='capital_costs_after_non_discounted_incentives', | ||
| field=models.FloatField(blank=True, help_text='Capital costs for all technologies, in present value, after all non-discounted incentives including MACRS, including present value of replacement costs', null=True), | ||
| ), | ||
| migrations.AddField( | ||
| model_name='financialoutputs', | ||
| name='year_one_fuel_cost_after_tax', | ||
| field=models.FloatField(blank=True, help_text='Year one fuel cost of all combined fuel-burning techs, after tax.', null=True), | ||
| ), | ||
| migrations.AddField( | ||
| model_name='financialoutputs', | ||
| name='year_one_fuel_cost_after_tax_bau', | ||
| field=models.FloatField(blank=True, help_text='Year one fuel cost of all combined fuel-burning techs, after tax in the BAU case.', null=True), | ||
| ), | ||
| migrations.AddField( | ||
| model_name='financialoutputs', | ||
| name='year_one_fuel_cost_before_tax', | ||
| field=models.FloatField(blank=True, help_text='Year one fuel cost of all combined fuel-burning techs, before tax.', null=True), | ||
| ), | ||
| migrations.AddField( | ||
| model_name='financialoutputs', | ||
| name='year_one_fuel_cost_before_tax_bau', | ||
| field=models.FloatField(blank=True, help_text='Year one fuel cost of all combined fuel-burning techs, before tax in the BAU case.', null=True), | ||
| ), | ||
| migrations.AddField( | ||
| model_name='financialoutputs', | ||
| name='year_one_om_costs_after_tax_bau', | ||
| field=models.FloatField(blank=True, help_text='Year one operations and maintenance cost after tax in the BAU case.', null=True), | ||
| ), | ||
| migrations.AddField( | ||
| model_name='ghpoutputs', | ||
| name='avoided_capex_by_ghp_present_value', | ||
| field=models.FloatField(blank=True, null=True), | ||
| ), | ||
| ] |
23 changes: 23 additions & 0 deletions
23
reoptjl/migrations/0078_generatoroutputs_year_one_fuel_cost_after_tax_and_more.py
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,23 @@ | ||
| # Generated by Django 4.0.7 on 2025-02-19 14:15 | ||
|
|
||
| from django.db import migrations, models | ||
|
|
||
|
|
||
| class Migration(migrations.Migration): | ||
|
|
||
| dependencies = [ | ||
| ('reoptjl', '0077_boileroutputs_year_one_fuel_cost_after_tax_and_more'), | ||
| ] | ||
|
|
||
| operations = [ | ||
| migrations.AddField( | ||
| model_name='generatoroutputs', | ||
| name='year_one_fuel_cost_after_tax', | ||
| field=models.FloatField(blank=True, null=True), | ||
| ), | ||
| migrations.AddField( | ||
| model_name='generatoroutputs', | ||
| name='year_one_fuel_cost_after_tax_bau', | ||
| field=models.FloatField(blank=True, null=True), | ||
| ), | ||
| ] |
27 changes: 27 additions & 0 deletions
27
..._remove_financialoutputs_initial_capital_costs_after_incentives_without_macrs_and_more.py
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,27 @@ | ||
| # Generated by Django 4.0.7 on 2025-02-28 23:10 | ||
|
|
||
| from django.db import migrations, models | ||
|
|
||
|
|
||
| class Migration(migrations.Migration): | ||
|
|
||
| dependencies = [ | ||
| ('reoptjl', '0078_generatoroutputs_year_one_fuel_cost_after_tax_and_more'), | ||
| ] | ||
|
|
||
| operations = [ | ||
| migrations.RemoveField( | ||
| model_name='financialoutputs', | ||
| name='initial_capital_costs_after_incentives_without_macrs', | ||
| ), | ||
| migrations.AddField( | ||
| model_name='financialoutputs', | ||
| name='capital_costs_after_incentives_without_macrs', | ||
| field=models.FloatField(blank=True, help_text='Capital costs for all technologies, including present value of replacement costs and incentives except for MACRS.', null=True), | ||
| ), | ||
| migrations.AlterField( | ||
| model_name='financialoutputs', | ||
| name='capital_costs_after_non_discounted_incentives', | ||
| field=models.FloatField(blank=True, help_text='Capital costs for all technologies, including present value of replacement costs and all non-discounted incentives including MACRS.', null=True), | ||
| ), | ||
| ] |
53 changes: 53 additions & 0 deletions
53
reoptjl/migrations/0080_financialoutputs_year_one_chp_standby_cost_after_tax_and_more.py
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,53 @@ | ||
| # Generated by Django 4.0.7 on 2025-03-03 17:06 | ||
|
|
||
| from django.db import migrations, models | ||
|
|
||
|
|
||
| class Migration(migrations.Migration): | ||
|
|
||
| dependencies = [ | ||
| ('reoptjl', '0079_remove_financialoutputs_initial_capital_costs_after_incentives_without_macrs_and_more'), | ||
| ] | ||
|
|
||
| operations = [ | ||
| migrations.AddField( | ||
| model_name='financialoutputs', | ||
| name='year_one_chp_standby_cost_after_tax', | ||
| field=models.FloatField(blank=True, help_text='Year one CHP standby charges, after tax.', null=True), | ||
| ), | ||
| migrations.AddField( | ||
| model_name='financialoutputs', | ||
| name='year_one_chp_standby_cost_before_tax', | ||
| field=models.FloatField(blank=True, help_text='Year one CHP standby charges, before tax.', null=True), | ||
| ), | ||
| migrations.AddField( | ||
| model_name='financialoutputs', | ||
| name='year_one_total_cost_after_tax', | ||
| field=models.FloatField(blank=True, help_text='Year one total operating (electricity, fuel, O&M) costs, after tax.', null=True), | ||
| ), | ||
| migrations.AddField( | ||
| model_name='financialoutputs', | ||
| name='year_one_total_cost_after_tax_bau', | ||
| field=models.FloatField(blank=True, help_text='Year one total operating (electricity, fuel, O&M) costs, after tax in the BAU case.', null=True), | ||
| ), | ||
| migrations.AddField( | ||
| model_name='financialoutputs', | ||
| name='year_one_total_cost_before_tax', | ||
| field=models.FloatField(blank=True, help_text='Year one total operating (electricity, fuel, O&M) costs, before tax.', null=True), | ||
| ), | ||
| migrations.AddField( | ||
| model_name='financialoutputs', | ||
| name='year_one_total_cost_before_tax_bau', | ||
| field=models.FloatField(blank=True, help_text='Year one total operating (electricity, fuel, O&M) costs, before tax in the BAU case.', null=True), | ||
| ), | ||
| migrations.AddField( | ||
| model_name='financialoutputs', | ||
| name='year_one_total_cost_savings_after_tax', | ||
| field=models.FloatField(blank=True, help_text='Year one total operating (electricity, fuel, O&M) cost savings compared to BAU case, after tax.', null=True), | ||
| ), | ||
| migrations.AddField( | ||
| model_name='financialoutputs', | ||
| name='year_one_total_cost_savings_before_tax', | ||
| field=models.FloatField(blank=True, help_text='Year one total operating (electricity, fuel, O&M) cost savings compared to BAU case, before tax.', null=True), | ||
| ), | ||
| ] |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,14 @@ | ||
| # Generated by Django 4.0.7 on 2025-03-03 17:43 | ||
|
|
||
| from django.db import migrations | ||
|
|
||
|
|
||
| class Migration(migrations.Migration): | ||
|
|
||
| dependencies = [ | ||
| ('reoptjl', '0080_electricloadoutputs_annual_electric_load_with_thermal_conversions_kwh_and_more'), | ||
| ('reoptjl', '0080_financialoutputs_year_one_chp_standby_cost_after_tax_and_more'), | ||
| ] | ||
|
|
||
| operations = [ | ||
| ] |
48 changes: 48 additions & 0 deletions
48
..._costs_after_incentives_without_macrs_financialoutputs_capital_costs_after_non_discoun.py
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,48 @@ | ||
| # Generated by Django 4.0.7 on 2025-03-12 03:14 | ||
|
|
||
| from django.db import migrations | ||
|
|
||
|
|
||
| class Migration(migrations.Migration): | ||
|
|
||
| dependencies = [ | ||
| ('reoptjl', '0081_merge_20250303_1743'), | ||
| ] | ||
|
|
||
| operations = [ | ||
| migrations.RenameField( | ||
| model_name='financialoutputs', | ||
| old_name='capital_costs_after_incentives_without_macrs', | ||
| new_name='capital_costs_after_non_discounted_incentives_without_macrs', | ||
| ), | ||
| migrations.RenameField( | ||
| model_name='financialoutputs', | ||
| old_name='year_one_total_cost_after_tax', | ||
| new_name='year_one_total_operating_cost_after_tax', | ||
| ), | ||
| migrations.RenameField( | ||
| model_name='financialoutputs', | ||
| old_name='year_one_total_cost_after_tax_bau', | ||
| new_name='year_one_total_operating_cost_after_tax_bau', | ||
| ), | ||
| migrations.RenameField( | ||
| model_name='financialoutputs', | ||
| old_name='year_one_total_cost_before_tax', | ||
| new_name='year_one_total_operating_cost_before_tax', | ||
| ), | ||
| migrations.RenameField( | ||
| model_name='financialoutputs', | ||
| old_name='year_one_total_cost_before_tax_bau', | ||
| new_name='year_one_total_operating_cost_before_tax_bau', | ||
| ), | ||
| migrations.RenameField( | ||
| model_name='financialoutputs', | ||
| old_name='year_one_total_cost_savings_after_tax', | ||
| new_name='year_one_total_operating_cost_savings_after_tax', | ||
| ), | ||
| migrations.RenameField( | ||
| model_name='financialoutputs', | ||
| old_name='year_one_total_cost_savings_before_tax', | ||
| new_name='year_one_total_operating_cost_savings_before_tax', | ||
| ), | ||
| ] |
23 changes: 23 additions & 0 deletions
23
reoptjl/migrations/0083_electricutilityoutputs_peak_grid_demand_kw_and_more.py
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,23 @@ | ||
| # Generated by Django 4.0.7 on 2025-04-18 21:26 | ||
|
|
||
| from django.db import migrations, models | ||
|
|
||
|
|
||
| class Migration(migrations.Migration): | ||
|
|
||
| dependencies = [ | ||
| ('reoptjl', '0082_rename_capital_costs_after_incentives_without_macrs_financialoutputs_capital_costs_after_non_discoun'), | ||
| ] | ||
|
|
||
| operations = [ | ||
| migrations.AddField( | ||
| model_name='electricutilityoutputs', | ||
| name='peak_grid_demand_kw', | ||
| field=models.FloatField(blank=True, help_text='Maximum grid demand calculated as the maximum of (electric_to_load_series_kw .+ electric_to_storage_series_kw).', null=True), | ||
| ), | ||
| migrations.AddField( | ||
| model_name='electricutilityoutputs', | ||
| name='peak_grid_demand_kw_bau', | ||
| field=models.FloatField(blank=True, help_text='Maximum grid demand in the BAU case calculated as the maximum of electric_to_load_series_kw.', null=True), | ||
| ), | ||
| ] |
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The command string uses double quotes inside single quotes, which may cause YAML parsing issues. Consider escaping the inner double quotes or using a consistent quoting strategy (for example, use single quotes around the file name) to ensure proper command execution.