Skip to content

Commit e22f37e

Browse files
WIP stash - handle SAM-EM NaN
1 parent 0bde922 commit e22f37e

File tree

2 files changed

+4
-2
lines changed

2 files changed

+4
-2
lines changed

src/geophires_x/Outputs.py

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
import datetime
2+
import math
23
import time
34
import sys
45
from pathlib import Path
@@ -274,7 +275,8 @@ def PrintOutputs(self, model: Model):
274275
# TODO should use CurrentUnits instead of PreferredUnits
275276
f.write(f' {npv_field_label}{e_npv.value:10.2f} {e_npv.PreferredUnits.value}\n')
276277

277-
f.write(f' {econ.ProjectIRR.display_name}: {econ.ProjectIRR.value:10.2f} {econ.ProjectIRR.PreferredUnits.value}\n')
278+
irr_display_value = f'{econ.ProjectIRR.value:10.2f}' if not math.isnan(econ.ProjectIRR.value) else 'NaN'
279+
f.write(f' {econ.ProjectIRR.display_name}: {irr_display_value} {econ.ProjectIRR.CurrentUnits.value}\n')
278280

279281
if econ.econmodel.value != EconomicModel.SAM_SINGLE_OWNER_PPA:
280282
# VIR, MOIC, and Payback period not currently supported by SAM economic model(s)

src/geophires_x_client/geophires_x_result.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -863,7 +863,7 @@ def _parse_number(self, number_str, field='string') -> int | float:
863863

864864
try:
865865
number_str = number_str.replace(',', '')
866-
if '.' in number_str:
866+
if '.' in number_str or number_str.lower() == 'nan':
867867
# TODO should probably ideally use decimal.Decimal to preserve precision,
868868
# i.e. 1.00 for USD instead of 1.0
869869
return float(number_str)

0 commit comments

Comments
 (0)