Skip to content

Commit

Permalink
Fix division by zero causing NaN CapEx costs for Advanced Binary Hydr…
Browse files Browse the repository at this point in the history
…othermal
  • Loading branch information
sjanzou committed Jan 23, 2025
1 parent 0c102c9 commit 5ff1606
Show file tree
Hide file tree
Showing 2 changed files with 8 additions and 6 deletions.
12 changes: 7 additions & 5 deletions ssc/cmod_geothermal_costs.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -900,11 +900,13 @@ class cm_geothermal_costs : public compute_module
}
//Calculated injection pump cost
double inj_pump_power = as_double("inj_pump_hp");
double num_injection_pumps = std::ceil(inj_pump_power / 2000.0);
inj_pump_power /= num_injection_pumps;
double inj_pump_cost_per_pump = 1750 * pow(inj_pump_power, 0.7) * 3.0 * pow(inj_pump_power, -0.11);
double injection_pump_cost = num_injection_pumps * inj_pump_cost_per_pump * pump_ppi[ppi_base_year];

double injection_pump_cost = 0.0;
if (inj_pump_power > 0) {
double num_injection_pumps = std::ceil(inj_pump_power / 2000.0);
if (num_injection_pumps > 0) inj_pump_power /= num_injection_pumps;
double inj_pump_cost_per_pump = 1750 * pow(inj_pump_power, 0.7) * 3.0 * pow(inj_pump_power, -0.11);
injection_pump_cost = num_injection_pumps * inj_pump_cost_per_pump * pump_ppi[ppi_base_year];
}
double indirect_pump_cost = (production_pump_cost + injection_pump_cost) * (1.0 / (1.0 - 0.12) - 1.0);
assign("pump_only_cost", prod_pump_cost);
assign("pump_cost_install", install_cost_only);
Expand Down
2 changes: 1 addition & 1 deletion ssc/sscapi.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -51,7 +51,7 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

SSCEXPORT int ssc_version()
{
return 299;
return 300;
}

SSCEXPORT const char *ssc_build_info()
Expand Down

0 comments on commit 5ff1606

Please sign in to comment.