Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
24 commits
Select commit Hold shift + click to select a range
446f15a
WIP to generate geophires-result.json
softwareengineerprogrammer Mar 27, 2025
4d89d3f
initial result schema generation implementation
softwareengineerprogrammer Mar 27, 2025
e498705
support multiple categories for result (output) parameters
softwareengineerprogrammer Mar 27, 2025
2ba2148
add generated geophires-result.json; updated schema names for request…
softwareengineerprogrammer Mar 27, 2025
0d7451a
test result schema moic description
softwareengineerprogrammer Mar 27, 2025
bd9b53e
define OutputParameter.display_name, use to generate schema descripti…
softwareengineerprogrammer Mar 27, 2025
545d748
include 'original' output parameter name in description if parameter …
softwareengineerprogrammer Mar 27, 2025
7fc1fef
FIXME TODO re: consolidating output params rst table with (newly adde…
softwareengineerprogrammer Mar 27, 2025
4547c3b
Nest result objects instead of assigning multiple categories (aligns …
softwareengineerprogrammer Apr 4, 2025
93cd08b
OutputParameter.json_parameter_type
softwareengineerprogrammer Apr 4, 2025
5f62dab
treat output vals of both int and float as number
softwareengineerprogrammer Apr 4, 2025
330c7f5
add types to result schema
softwareengineerprogrammer Apr 4, 2025
f752c3f
Electricity breakeven price/LCOE display name
softwareengineerprogrammer Apr 4, 2025
fc1f0f4
IRR + VIR=PI=PIR output param display names
softwareengineerprogrammer Apr 4, 2025
72e35ba
fix py38-incompatible type annotation
softwareengineerprogrammer Apr 4, 2025
7e7517c
configure 1:1 output display names thru total capex
softwareengineerprogrammer Apr 4, 2025
fd7f189
more 1:1 output display names including LCO*
softwareengineerprogrammer Apr 4, 2025
7d1419b
more 1:1 output display names including o&m-related
softwareengineerprogrammer Apr 4, 2025
d3e71b8
water heat capacity/density tooltip texts
softwareengineerprogrammer Apr 4, 2025
f64e046
generate categorized output parameters rst table for geophires
softwareengineerprogrammer Apr 4, 2025
ae4e772
strip inaccurate/misleading result category unit suffixes in output rst
softwareengineerprogrammer Apr 4, 2025
a41ab0b
fix typo
softwareengineerprogrammer Apr 4, 2025
72fd0dc
add links to schemas in parameters reference
softwareengineerprogrammer Apr 4, 2025
10a1af4
sanit test of outputs rst
softwareengineerprogrammer Apr 4, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
24 changes: 19 additions & 5 deletions src/geophires_x/Economics.py
Original file line number Diff line number Diff line change
Expand Up @@ -1575,38 +1575,43 @@ def __init__(self, model: Model):

self.LCOC = self.OutputParameterDict[self.LCOC.Name] = OutputParameter(
Name="LCOC",
display_name='Direct-Use Cooling Breakeven Price (LCOC)',
UnitType=Units.ENERGYCOST,
PreferredUnits=EnergyCostUnit.DOLLARSPERMMBTU,
CurrentUnits=EnergyCostUnit.DOLLARSPERMMBTU
)

self.LCOE = self.OutputParameterDict[self.LCOE.Name] = OutputParameter(
Name="LCOE",
display_name='Electricity breakeven price',
UnitType=Units.ENERGYCOST,
PreferredUnits=EnergyCostUnit.CENTSSPERKWH,
CurrentUnits=EnergyCostUnit.CENTSSPERKWH
)
self.LCOH = self.OutputParameterDict[self.LCOH.Name] = OutputParameter(
Name="LCOH",
display_name='Direct-Use heat breakeven price (LCOH)',
UnitType=Units.ENERGYCOST,
PreferredUnits=EnergyCostUnit.DOLLARSPERMMBTU,
PreferredUnits=EnergyCostUnit.DOLLARSPERMMBTU, # $/MMBTU
CurrentUnits=EnergyCostUnit.DOLLARSPERMMBTU
) # $/MMBTU
)
self.Cstim = self.OutputParameterDict[self.Cstim.Name] = OutputParameter(
Name="O&M Surface Plant costs", # FIXME wrong name - should be Stimulation Costs
Name="O&M Surface Plant costs", # FIXME wrong name - should be Stimulation Costs
UnitType=Units.CURRENCY,
PreferredUnits=CurrencyUnit.MDOLLARS,
CurrentUnits=CurrencyUnit.MDOLLARS
)
self.Cexpl = self.OutputParameterDict[self.Cexpl.Name] = OutputParameter(
Name="Exploration cost",
display_name='Exploration costs',
UnitType=Units.CURRENCY,
PreferredUnits=CurrencyUnit.MDOLLARS,
CurrentUnits=CurrencyUnit.MDOLLARS
)

self.Cwell = self.OutputParameterDict[self.Cwell.Name] = OutputParameter(
Name="Wellfield cost",
display_name='Drilling and completion costs',
UnitType=Units.CURRENCY,
PreferredUnits=CurrencyUnit.MDOLLARS,
CurrentUnits=CurrencyUnit.MDOLLARS,
Expand All @@ -1617,6 +1622,7 @@ def __init__(self, model: Model):
)
self.Coamwell = self.OutputParameterDict[self.Coamwell.Name] = OutputParameter(
Name="O&M Wellfield cost",
display_name='Wellfield maintenance costs',
UnitType=Units.CURRENCYFREQUENCY,
PreferredUnits=CurrencyFrequencyUnit.MDOLLARSPERYEAR,
CurrentUnits=CurrencyFrequencyUnit.MDOLLARSPERYEAR
Expand All @@ -1629,30 +1635,35 @@ def __init__(self, model: Model):
)
self.Coamplant = self.OutputParameterDict[self.Coamplant.Name] = OutputParameter(
Name="O&M Surface Plant costs",
display_name='Power plant maintenance costs',
UnitType=Units.CURRENCYFREQUENCY,
PreferredUnits=CurrencyFrequencyUnit.MDOLLARSPERYEAR,
CurrentUnits=CurrencyFrequencyUnit.MDOLLARSPERYEAR
)
self.Cgath = self.OutputParameterDict[self.Cgath.Name] = OutputParameter(
Name="Field gathering system cost",
display_name='Field gathering system costs',
UnitType=Units.CURRENCY,
PreferredUnits=CurrencyUnit.MDOLLARS,
CurrentUnits=CurrencyUnit.MDOLLARS
)
self.Cpiping = self.OutputParameterDict[self.Cpiping.Name] = OutputParameter(
Name="Transmission pipeline costs",
display_name='Transmission pipeline cost',
UnitType=Units.CURRENCY,
PreferredUnits=CurrencyUnit.MDOLLARS,
CurrentUnits=CurrencyUnit.MDOLLARS
)
self.Coamwater = self.OutputParameterDict[self.Coamwater.Name] = OutputParameter(
Name="O&M Make-up Water costs",
display_name='Water costs',
UnitType=Units.CURRENCYFREQUENCY,
PreferredUnits=CurrencyFrequencyUnit.MDOLLARSPERYEAR,
CurrentUnits=CurrencyFrequencyUnit.MDOLLARSPERYEAR
)
self.CCap = self.OutputParameterDict[self.CCap.Name] = OutputParameter(
Name="Total Capital Cost",
display_name='Total capital costs',
UnitType=Units.CURRENCY,
PreferredUnits=CurrencyUnit.MDOLLARS,
CurrentUnits=CurrencyUnit.MDOLLARS
Expand All @@ -1663,8 +1674,6 @@ def __init__(self, model: Model):
PreferredUnits=CurrencyFrequencyUnit.MDOLLARSPERYEAR,
CurrentUnits=CurrencyFrequencyUnit.MDOLLARSPERYEAR
)
# self.averageannualpumpingcosts = self.OutputParameterDict[
# self.averageannualpumpingcosts.Name] = OutputParameter( #typo here!??!
self.averageannualpumpingcosts = OutputParameter(
Name="Average Annual Pumping Costs",
UnitType=Units.CURRENCYFREQUENCY,
Expand Down Expand Up @@ -1775,6 +1784,7 @@ def __init__(self, model: Model):
self.CarbonThatWouldHaveBeenProducedTotal = self.OutputParameterDict[
self.CarbonThatWouldHaveBeenProducedTotal.Name] = OutputParameter(
"Total Saved Carbon Production",
display_name='Total Avoided Carbon Emissions',
UnitType=Units.MASS,
PreferredUnits=MassUnit.LB,
CurrentUnits=MassUnit.LB
Expand Down Expand Up @@ -1806,6 +1816,7 @@ def __init__(self, model: Model):

self.ProjectNPV = self.OutputParameterDict[self.ProjectNPV.Name] = OutputParameter(
"Project Net Present Value",
display_name='Project NPV',
UnitType=Units.CURRENCY,
PreferredUnits=CurrencyUnit.MDOLLARS,
CurrentUnits=CurrencyUnit.MDOLLARS,
Expand All @@ -1817,12 +1828,14 @@ def __init__(self, model: Model):
)
self.ProjectIRR = self.OutputParameterDict[self.ProjectIRR.Name] = OutputParameter(
"Project Internal Rate of Return",
display_name='Project IRR',
UnitType=Units.PERCENT,
CurrentUnits=PercentUnit.PERCENT,
PreferredUnits=PercentUnit.PERCENT,
)
self.ProjectVIR = self.OutputParameterDict[self.ProjectVIR.Name] = OutputParameter(
"Project Value Investment Ratio",
display_name='Project VIR=PI=PIR',
UnitType=Units.PERCENT,
PreferredUnits=PercentUnit.TENTH,
CurrentUnits=PercentUnit.TENTH
Expand All @@ -1842,6 +1855,7 @@ def __init__(self, model: Model):
)
self.RITCValue = self.OutputParameterDict[self.RITCValue.Name] = OutputParameter(
Name="Investment Tax Credit Value",
display_name='Investment Tax Credit',
UnitType=Units.CURRENCY,
PreferredUnits=CurrencyUnit.MDOLLARS,
CurrentUnits=CurrencyUnit.MDOLLARS
Expand Down
1 change: 1 addition & 0 deletions src/geophires_x/EconomicsS_DAC_GT.py
Original file line number Diff line number Diff line change
Expand Up @@ -267,6 +267,7 @@ def __init__(self, model: Model):
)
self.LCOH = self.OutputParameterDict[self.LCOH.Name] = OutputParameter(
Name="LCOH",
display_name='Direct-Use heat breakeven price (LCOH)',
UnitType=Units.ENERGYCOST,
PreferredUnits=EnergyCostUnit.DOLLARSPERKWH,
CurrentUnits=EnergyCostUnit.DOLLARSPERKWH
Expand Down
Loading