Skip to content

Commit 7dd1dbe

Browse files
Update documentation. Throw exception if royalty rate provided for non-SAM-EM inputs
1 parent 4adc2a1 commit 7dd1dbe

File tree

2 files changed

+13
-4
lines changed

2 files changed

+13
-4
lines changed

src/geophires_x/Economics.py

Lines changed: 11 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -975,7 +975,9 @@ def __init__(self, model: Model):
975975
UnitType=Units.PERCENT,
976976
PreferredUnits=PercentUnit.TENTH,
977977
CurrentUnits=PercentUnit.TENTH,
978-
ToolTipText="Royalty rate used in SAM Economic Models." # FIXME WIP TODO documentation
978+
ToolTipText="The percentage of the project's gross annual revenue paid to the royalty holder. "
979+
"This is modeled as a variable production-based operating expense, reducing the developer's "
980+
"taxable income."
979981
)
980982

981983
self.royalty_holder_discount_rate = self.ParameterDict[self.royalty_holder_discount_rate.Name] = floatParameter(
@@ -986,7 +988,9 @@ def __init__(self, model: Model):
986988
UnitType=Units.PERCENT,
987989
PreferredUnits=PercentUnit.TENTH,
988990
CurrentUnits=PercentUnit.TENTH,
989-
ToolTipText="Royalty holder discount rate used in SAM Economic Models." # FIXME WIP TODO documentation
991+
ToolTipText="The discount rate used to calculate the Net Present Value (NPV) of the royalty holder's "
992+
"income stream. This rate should reflect the royalty holder's specific risk profile and is "
993+
"separate from the main project discount rate."
990994
)
991995

992996

@@ -2425,6 +2429,11 @@ def _warn(_msg: str) -> None:
24252429

24262430
if self.econmodel.value == EconomicModel.SAM_SINGLE_OWNER_PPA:
24272431
EconomicsSam.validate_read_parameters(model)
2432+
else:
2433+
if self.royalty_rate.Provided:
2434+
raise NotImplementedError('Royalties are only supported for SAM Economic Models')
2435+
2436+
# TODO validate that other SAM-EM-only parameters have not been provided
24282437
else:
24292438
model.logger.info("No parameters read because no content provided")
24302439

src/geophires_x_schema_generator/geophires-request.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1639,7 +1639,7 @@
16391639
"maximum": 1.0
16401640
},
16411641
"Royalty Rate": {
1642-
"description": "Royalty rate used in SAM Economic Models.",
1642+
"description": "The percentage of the project's gross annual revenue paid to the royalty holder. This is modeled as a variable production-based operating expense, reducing the developer's taxable income.",
16431643
"type": "number",
16441644
"units": "",
16451645
"category": "Economics",
@@ -1648,7 +1648,7 @@
16481648
"maximum": 1.0
16491649
},
16501650
"Royalty Holder Discount Rate": {
1651-
"description": "Royalty holder discount rate used in SAM Economic Models.",
1651+
"description": "The discount rate used to calculate the Net Present Value (NPV) of the royalty holder's income stream. This rate should reflect the royalty holder's specific risk profile and is separate from the main project discount rate.",
16521652
"type": "number",
16531653
"units": "",
16541654
"category": "Economics",

0 commit comments

Comments
 (0)