Skip to content

Commit

Permalink
Add surface costs output from costs for input to O&M
Browse files Browse the repository at this point in the history
  • Loading branch information
mjprilliman committed Jan 16, 2025
1 parent be77466 commit a6eca2d
Show file tree
Hide file tree
Showing 2 changed files with 3 additions and 1 deletion.
1 change: 1 addition & 0 deletions shared/lib_geothermal.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -824,6 +824,7 @@ double CGeothermalAnalyzer::GetInjectionPumpWorkft(void)
double injection_pump_head_psi = -excess_pressure + reservoir_buildup + mo_geo_in.md_AdditionalPressure;
mo_geo_in.md_InjWellPressurePSI = injection_pump_head_psi;
double injection_pump_head_ft = injection_pump_head_psi * 144 / InjectionDensity();
if (injection_pump_head_ft < 0) injection_pump_head_ft = 0;
double P_inject_bottomhole_used = injection_pump_head_psi + bottom_hole_pressure;
//double pump_inj_hp = (injection_pump_head_ft * (flowRateTotal() / mo_geo_in.md_RatioInjectionToProduction / 2500) / (60 * 33000)) / mo_geo_in.md_GFPumpEfficiency;
//mp_geo_out->md_InjPump_hp = pump_inj_hp;
Expand Down
3 changes: 2 additions & 1 deletion ssc/cmod_geothermal_costs.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -124,6 +124,7 @@ static var_info _cm_vtab_geothermal_costs[] = {
{ SSC_OUTPUT, SSC_NUMBER, "total_pump_gathering_cost", "Total pump and field gathering system cost", "$", "", "GeoHourly", "?", "", "" },
{ SSC_OUTPUT, SSC_NUMBER, "pump_only_cost", "Production pump cost per well", "$/well", "", "GeoHourly", "?", "", "" },
{ SSC_OUTPUT, SSC_NUMBER, "pump_cost_install", "Production pump installation cost", "$/well", "", "GeoHourly", "?", "", "" },
{ SSC_OUTPUT, SSC_NUMBER, "total_surface_equipment_cost", "Total surface equipment cost", "$", "", "GeoHourly", "?", "", "" },


var_info_invalid };
Expand Down Expand Up @@ -907,7 +908,7 @@ class cm_geothermal_costs : public compute_module
double prod_wells_failed = as_double("num_wells_getem_prod_failed");
double gathering_cost_total = piping_cost_per_well * (num_prod_wells + inj_wells_drilled + prod_wells_failed);
assign("total_gathering_cost", var_data(static_cast<ssc_number_t>(gathering_cost_total)));

assign("total_surface_equipment_cost", var_data(static_cast<ssc_number_t>(gathering_cost_total + injection_pump_cost)));
double indirect_pump_gathering_cost = (total_pump_cost + gathering_cost_total) * (1.0 / (1 - 0.12) - 1);
assign("indirect_pump_gathering_cost", var_data(static_cast<ssc_number_t>(indirect_pump_gathering_cost)));

Expand Down

0 comments on commit a6eca2d

Please sign in to comment.