diff --git a/deploy/runtime/cashflow.lk b/deploy/runtime/cashflow.lk index 18e45fefc..61b82a31b 100644 --- a/deploy/runtime/cashflow.lk +++ b/deploy/runtime/cashflow.lk @@ -284,7 +284,7 @@ function cf_revenue() if ( fin == 'Single Owner' && !is_iph_tech()) // As of May 2026, only single supports non-energy revenue { - cfline('cf_non_energy_revenue',0); + if (value('non_energy_revenue_ds')==1) cfline('cf_non_energy_revenue',0); } cfline( 'cf_total_revenue', 0); @@ -402,7 +402,7 @@ function cf_operating_expenses() cfline('cf_total_energy_expenses',0); cfline('cf_energy_expenses_paid_percent', 0); cfline('cf_energy_expenses_paid',0); - cfline('cf_non_energy_expenses',0); + if(value('non_energy_expenses_ds')==1) cfline('cf_non_energy_expenses',0); } cfline( 'cf_operating_expenses', 0); @@ -555,6 +555,11 @@ function cf_operating_activities() // all PPA models except Sale Leaseback } cfline('cf_debt_payment_interest', 0,-1); } + if ( fin == 'Single Owner' && !is_iph_tech()) // As of May 2026, only single supports non-energy revenue + { + if(value('non_energy_revenue_ds')==0) cfline('cf_non_energy_revenue',0); + if(value('non_energy_expenses_ds')==0) cfline('cf_non_energy_expenses',0, -1); + } cfline('cf_project_operating_activities', 0); cfline(''); } @@ -1583,6 +1588,7 @@ function set_om(xl) { xl_set_output( xl, 'cf_energy_expenses_paid_percent' ); xl_set_output( xl, 'cf_non_energy_expenses' ); + xl_set_value_yesno( xl, 'non_energy_expenses_ds'); } } @@ -1813,7 +1819,8 @@ function set_annual_values( xl ) xl_set_output( xl, 'cf_capacity_payment'); // capacity payments xl_set_output( xl, 'cf_curtailment_value'); // curtailment payments xl_set_output( xl,'cf_energy_revenue_retained_percent'); - xl_set_output( xl,'cf_non_energy_revenue'); + xl_set_output( xl,'cf_non_energy_revenue'); + xl_set_value_yesno( xl, 'non_energy_revenue_ds'); } } // tech-dependent diff --git a/deploy/runtime/defaults/Biopower_Single Owner.json b/deploy/runtime/defaults/Biopower_Single Owner.json index 67ff62be0..bbef627d1 100644 --- a/deploy/runtime/defaults/Biopower_Single Owner.json +++ b/deploy/runtime/defaults/Biopower_Single Owner.json @@ -19507,6 +19507,7 @@ "non_energy_expenses": [ 0.0 ], + "non_energy_expenses_ds": 1.0, "non_energy_expenses_escal": 0.0, "non_energy_expenses_ret": [ 0.0 @@ -19514,6 +19515,7 @@ "non_energy_revenue": [ 0.0 ], + "non_energy_revenue_ds": 1.0, "non_energy_revenue_escal": 0.0, "non_energy_revenue_is_shown": 0.0, "non_energy_revenue_ret": [ diff --git a/deploy/runtime/defaults/Custom Generation Battery_Single Owner.json b/deploy/runtime/defaults/Custom Generation Battery_Single Owner.json index f87f27dd7..f3606e298 100644 --- a/deploy/runtime/defaults/Custom Generation Battery_Single Owner.json +++ b/deploy/runtime/defaults/Custom Generation Battery_Single Owner.json @@ -29741,6 +29741,7 @@ "non_energy_expenses": [ 0.0 ], + "non_energy_expenses_ds": 1.0, "non_energy_expenses_escal": 0.0, "non_energy_expenses_ret": [ 0.0 @@ -29748,6 +29749,7 @@ "non_energy_revenue": [ 0.0 ], + "non_energy_revenue_ds": 1.0, "non_energy_revenue_escal": 0.0, "non_energy_revenue_is_shown": 0.0, "non_energy_revenue_ret": [ diff --git a/deploy/runtime/defaults/Custom Generation Profile_Single Owner.json b/deploy/runtime/defaults/Custom Generation Profile_Single Owner.json index 6734386a1..19e9fbc80 100644 --- a/deploy/runtime/defaults/Custom Generation Profile_Single Owner.json +++ b/deploy/runtime/defaults/Custom Generation Profile_Single Owner.json @@ -19142,6 +19142,7 @@ "non_energy_expenses": [ 0.0 ], + "non_energy_expenses_ds": 1.0, "non_energy_expenses_escal": 0.0, "non_energy_expenses_ret": [ 0.0 @@ -19149,6 +19150,7 @@ "non_energy_revenue": [ 0.0 ], + "non_energy_revenue_ds": 1.0, "non_energy_revenue_escal": 0.0, "non_energy_revenue_is_shown": 0.0, "non_energy_revenue_ret": [ diff --git a/deploy/runtime/defaults/CustomGeneration PVWatts Wind FuelCell Battery Hybrid_Single Owner.json b/deploy/runtime/defaults/CustomGeneration PVWatts Wind FuelCell Battery Hybrid_Single Owner.json index 2b4dde20e..664f4a112 100644 --- a/deploy/runtime/defaults/CustomGeneration PVWatts Wind FuelCell Battery Hybrid_Single Owner.json +++ b/deploy/runtime/defaults/CustomGeneration PVWatts Wind FuelCell Battery Hybrid_Single Owner.json @@ -49528,6 +49528,7 @@ "non_energy_expenses": [ 0.0 ], + "non_energy_expenses_ds": 1.0, "non_energy_expenses_escal": 0.0, "non_energy_expenses_ret": [ 0.0 @@ -49535,6 +49536,7 @@ "non_energy_revenue": [ 0.0 ], + "non_energy_revenue_ds": 1.0, "non_energy_revenue_escal": 0.0, "non_energy_revenue_is_shown": 0.0, "non_energy_revenue_ret": [ diff --git a/deploy/runtime/defaults/DSLF_Single Owner.json b/deploy/runtime/defaults/DSLF_Single Owner.json index 75dea17c3..da853f78d 100644 --- a/deploy/runtime/defaults/DSLF_Single Owner.json +++ b/deploy/runtime/defaults/DSLF_Single Owner.json @@ -20631,6 +20631,7 @@ "non_energy_expenses": [ 0.0 ], + "non_energy_expenses_ds": 1.0, "non_energy_expenses_escal": 0.0, "non_energy_expenses_ret": [ 0.0 @@ -20638,6 +20639,7 @@ "non_energy_revenue": [ 0.0 ], + "non_energy_revenue_ds": 1.0, "non_energy_revenue_escal": 0.0, "non_energy_revenue_is_shown": 0.0, "non_energy_revenue_ret": [ diff --git a/deploy/runtime/defaults/ETES_Single Owner.json b/deploy/runtime/defaults/ETES_Single Owner.json index 72e7553c0..60d5efce2 100644 --- a/deploy/runtime/defaults/ETES_Single Owner.json +++ b/deploy/runtime/defaults/ETES_Single Owner.json @@ -10465,6 +10465,7 @@ "non_energy_expenses": [ 0.0 ], + "non_energy_expenses_ds": 1.0, "non_energy_expenses_escal": 0.0, "non_energy_expenses_ret": [ 0.0 @@ -10472,6 +10473,7 @@ "non_energy_revenue": [ 0.0 ], + "non_energy_revenue_ds": 1.0, "non_energy_revenue_escal": 0.0, "non_energy_revenue_is_shown": 0.0, "non_energy_revenue_ret": [ diff --git a/deploy/runtime/defaults/Empirical Trough_Single Owner.json b/deploy/runtime/defaults/Empirical Trough_Single Owner.json index b314bfaf0..26c26cd74 100644 --- a/deploy/runtime/defaults/Empirical Trough_Single Owner.json +++ b/deploy/runtime/defaults/Empirical Trough_Single Owner.json @@ -19573,6 +19573,7 @@ "non_energy_expenses": [ 0.0 ], + "non_energy_expenses_ds": 1.0, "non_energy_expenses_escal": 0.0, "non_energy_expenses_ret": [ 0.0 @@ -19580,6 +19581,7 @@ "non_energy_revenue": [ 0.0 ], + "non_energy_revenue_ds": 1.0, "non_energy_revenue_escal": 0.0, "non_energy_revenue_is_shown": 0.0, "non_energy_revenue_ret": [ diff --git a/deploy/runtime/defaults/Flat Plate PV_Single Owner.json b/deploy/runtime/defaults/Flat Plate PV_Single Owner.json index 8ad322354..2f4a17dd9 100644 --- a/deploy/runtime/defaults/Flat Plate PV_Single Owner.json +++ b/deploy/runtime/defaults/Flat Plate PV_Single Owner.json @@ -40102,6 +40102,7 @@ "non_energy_expenses": [ 0.0 ], + "non_energy_expenses_ds": 1.0, "non_energy_expenses_escal": 0.0, "non_energy_expenses_ret": [ 0.0 @@ -40109,6 +40110,7 @@ "non_energy_revenue": [ 0.0 ], + "non_energy_revenue_ds": 1.0, "non_energy_revenue_escal": 0.0, "non_energy_revenue_is_shown": 0.0, "non_energy_revenue_ret": [ diff --git a/deploy/runtime/defaults/Fuel Cell_Single Owner.json b/deploy/runtime/defaults/Fuel Cell_Single Owner.json index 49671ac01..0e2b82aba 100644 --- a/deploy/runtime/defaults/Fuel Cell_Single Owner.json +++ b/deploy/runtime/defaults/Fuel Cell_Single Owner.json @@ -48314,6 +48314,7 @@ "non_energy_expenses": [ 0.0 ], + "non_energy_expenses_ds": 1.0, "non_energy_expenses_escal": 0.0, "non_energy_expenses_ret": [ 0.0 @@ -48321,6 +48322,7 @@ "non_energy_revenue": [ 0.0 ], + "non_energy_revenue_ds": 1.0, "non_energy_revenue_escal": 0.0, "non_energy_revenue_is_shown": 0.0, "non_energy_revenue_ret": [ diff --git a/deploy/runtime/defaults/Generic CSP System_Single Owner.json b/deploy/runtime/defaults/Generic CSP System_Single Owner.json index 2fd31d8ca..afc27bc5a 100644 --- a/deploy/runtime/defaults/Generic CSP System_Single Owner.json +++ b/deploy/runtime/defaults/Generic CSP System_Single Owner.json @@ -19726,6 +19726,7 @@ "non_energy_expenses": [ 0.0 ], + "non_energy_expenses_ds": 1.0, "non_energy_expenses_escal": 0.0, "non_energy_expenses_ret": [ 0.0 @@ -19733,6 +19734,7 @@ "non_energy_revenue": [ 0.0 ], + "non_energy_revenue_ds": 1.0, "non_energy_revenue_escal": 0.0, "non_energy_revenue_is_shown": 0.0, "non_energy_revenue_ret": [ diff --git a/deploy/runtime/defaults/Geothermal Power_Single Owner.json b/deploy/runtime/defaults/Geothermal Power_Single Owner.json index 16f9ef16a..0263bc21e 100644 --- a/deploy/runtime/defaults/Geothermal Power_Single Owner.json +++ b/deploy/runtime/defaults/Geothermal Power_Single Owner.json @@ -19318,6 +19318,7 @@ "non_energy_expenses": [ 0.0 ], + "non_energy_expenses_ds": 1.0, "non_energy_expenses_escal": 0.0, "non_energy_expenses_ret": [ 0.0 @@ -19325,6 +19326,7 @@ "non_energy_revenue": [ 0.0 ], + "non_energy_revenue_ds": 1.0, "non_energy_revenue_escal": 0.0, "non_energy_revenue_is_shown": 0.0, "non_energy_revenue_ret": [ diff --git a/deploy/runtime/defaults/High-X Concentrating PV_Single Owner.json b/deploy/runtime/defaults/High-X Concentrating PV_Single Owner.json index fa6f50059..a974fc7c7 100644 --- a/deploy/runtime/defaults/High-X Concentrating PV_Single Owner.json +++ b/deploy/runtime/defaults/High-X Concentrating PV_Single Owner.json @@ -28279,6 +28279,7 @@ "non_energy_expenses": [ 0.0 ], + "non_energy_expenses_ds": 1.0, "non_energy_expenses_escal": 0.0, "non_energy_expenses_ret": [ 0.0 @@ -28286,6 +28287,7 @@ "non_energy_revenue": [ 0.0 ], + "non_energy_revenue_ds": 1.0, "non_energy_revenue_escal": 0.0, "non_energy_revenue_is_shown": 0.0, "non_energy_revenue_ret": [ diff --git a/deploy/runtime/defaults/MEwave Battery_Single Owner.json b/deploy/runtime/defaults/MEwave Battery_Single Owner.json index d32fc8c97..ee4e63ced 100644 --- a/deploy/runtime/defaults/MEwave Battery_Single Owner.json +++ b/deploy/runtime/defaults/MEwave Battery_Single Owner.json @@ -32907,6 +32907,7 @@ "non_energy_expenses": [ 0.0 ], + "non_energy_expenses_ds": 1.0, "non_energy_expenses_escal": 0.0, "non_energy_expenses_ret": [ 0.0 @@ -32914,6 +32915,7 @@ "non_energy_revenue": [ 0.0 ], + "non_energy_revenue_ds": 1.0, "non_energy_revenue_escal": 0.0, "non_energy_revenue_is_shown": 0.0, "non_energy_revenue_ret": [ diff --git a/deploy/runtime/defaults/MEwave_Single Owner.json b/deploy/runtime/defaults/MEwave_Single Owner.json index 8bc9c0b62..c95ccf408 100644 --- a/deploy/runtime/defaults/MEwave_Single Owner.json +++ b/deploy/runtime/defaults/MEwave_Single Owner.json @@ -22269,6 +22269,7 @@ "non_energy_expenses": [ 0.0 ], + "non_energy_expenses_ds": 1.0, "non_energy_expenses_escal": 0.0, "non_energy_expenses_ret": [ 0.0 @@ -22276,6 +22277,7 @@ "non_energy_revenue": [ 0.0 ], + "non_energy_revenue_ds": 1.0, "non_energy_revenue_escal": 0.0, "non_energy_revenue_is_shown": 0.0, "non_energy_revenue_ret": [ diff --git a/deploy/runtime/defaults/MSLF_Single Owner.json b/deploy/runtime/defaults/MSLF_Single Owner.json index eca379b6b..45c0da89b 100644 --- a/deploy/runtime/defaults/MSLF_Single Owner.json +++ b/deploy/runtime/defaults/MSLF_Single Owner.json @@ -28605,6 +28605,7 @@ "non_energy_expenses": [ 0.0 ], + "non_energy_expenses_ds": 1.0, "non_energy_expenses_escal": 0.0, "non_energy_expenses_ret": [ 0.0 @@ -28612,6 +28613,7 @@ "non_energy_revenue": [ 0.0 ], + "non_energy_revenue_ds": 1.0, "non_energy_revenue_escal": 0.0, "non_energy_revenue_is_shown": 0.0, "non_energy_revenue_ret": [ diff --git a/deploy/runtime/defaults/MSPT_Single Owner.json b/deploy/runtime/defaults/MSPT_Single Owner.json index 6ae57690a..de34dcaf1 100644 --- a/deploy/runtime/defaults/MSPT_Single Owner.json +++ b/deploy/runtime/defaults/MSPT_Single Owner.json @@ -56792,6 +56792,7 @@ "non_energy_expenses": [ 0.0 ], + "non_energy_expenses_ds": 1.0, "non_energy_expenses_escal": 0.0, "non_energy_expenses_ret": [ 0.0 @@ -56799,6 +56800,7 @@ "non_energy_revenue": [ 0.0 ], + "non_energy_revenue_ds": 1.0, "non_energy_revenue_escal": 0.0, "non_energy_revenue_is_shown": 0.0, "non_energy_revenue_ret": [ diff --git a/deploy/runtime/defaults/PTES_Single Owner.json b/deploy/runtime/defaults/PTES_Single Owner.json index 823c48680..1d208813f 100644 --- a/deploy/runtime/defaults/PTES_Single Owner.json +++ b/deploy/runtime/defaults/PTES_Single Owner.json @@ -10449,6 +10449,7 @@ "non_energy_expenses": [ 0.0 ], + "non_energy_expenses_ds": 1.0, "non_energy_expenses_escal": 0.0, "non_energy_expenses_ret": [ 0.0 @@ -10456,6 +10457,7 @@ "non_energy_revenue": [ 0.0 ], + "non_energy_revenue_ds": 1.0, "non_energy_revenue_escal": 0.0, "non_energy_revenue_is_shown": 0.0, "non_energy_revenue_ret": [ diff --git a/deploy/runtime/defaults/PV Battery_Single Owner.json b/deploy/runtime/defaults/PV Battery_Single Owner.json index d99c6c87c..41b2f0d23 100644 --- a/deploy/runtime/defaults/PV Battery_Single Owner.json +++ b/deploy/runtime/defaults/PV Battery_Single Owner.json @@ -50749,6 +50749,7 @@ "non_energy_expenses": [ 0.0 ], + "non_energy_expenses_ds": 1.0, "non_energy_expenses_escal": 0.0, "non_energy_expenses_ret": [ 0.0 @@ -50756,6 +50757,7 @@ "non_energy_revenue": [ 0.0 ], + "non_energy_revenue_ds": 1.0, "non_energy_revenue_escal": 0.0, "non_energy_revenue_is_shown": 0.0, "non_energy_revenue_ret": [ diff --git a/deploy/runtime/defaults/PVWatts Battery_Single Owner.json b/deploy/runtime/defaults/PVWatts Battery_Single Owner.json index 4ca9723ea..197114f7f 100644 --- a/deploy/runtime/defaults/PVWatts Battery_Single Owner.json +++ b/deploy/runtime/defaults/PVWatts Battery_Single Owner.json @@ -29895,6 +29895,7 @@ "non_energy_expenses": [ 0.0 ], + "non_energy_expenses_ds": 1.0, "non_energy_expenses_escal": 0.0, "non_energy_expenses_ret": [ 0.0 @@ -29902,6 +29903,7 @@ "non_energy_revenue": [ 0.0 ], + "non_energy_revenue_ds": 1.0, "non_energy_revenue_escal": 0.0, "non_energy_revenue_is_shown": 0.0, "non_energy_revenue_ret": [ diff --git a/deploy/runtime/defaults/PVWatts Wind Battery Hybrid_Single Owner.json b/deploy/runtime/defaults/PVWatts Wind Battery Hybrid_Single Owner.json index 176b3dfd2..8727701f7 100644 --- a/deploy/runtime/defaults/PVWatts Wind Battery Hybrid_Single Owner.json +++ b/deploy/runtime/defaults/PVWatts Wind Battery Hybrid_Single Owner.json @@ -31054,6 +31054,7 @@ "non_energy_expenses": [ 0.0 ], + "non_energy_expenses_ds": 1.0, "non_energy_expenses_escal": 0.0, "non_energy_expenses_ret": [ 0.0 @@ -31061,6 +31062,7 @@ "non_energy_revenue": [ 0.0 ], + "non_energy_revenue_ds": 1.0, "non_energy_revenue_escal": 0.0, "non_energy_revenue_is_shown": 0.0, "non_energy_revenue_ret": [ diff --git a/deploy/runtime/defaults/PVWatts Wind FuelCell Battery Hybrid_Single Owner.json b/deploy/runtime/defaults/PVWatts Wind FuelCell Battery Hybrid_Single Owner.json index f6e9d4e46..4e113ed0b 100644 --- a/deploy/runtime/defaults/PVWatts Wind FuelCell Battery Hybrid_Single Owner.json +++ b/deploy/runtime/defaults/PVWatts Wind FuelCell Battery Hybrid_Single Owner.json @@ -49438,6 +49438,7 @@ "non_energy_expenses": [ 0.0 ], + "non_energy_expenses_ds": 1.0, "non_energy_expenses_escal": 0.0, "non_energy_expenses_ret": [ 0.0 @@ -49445,6 +49446,7 @@ "non_energy_revenue": [ 0.0 ], + "non_energy_revenue_ds": 1.0, "non_energy_revenue_escal": 0.0, "non_energy_revenue_is_shown": 0.0, "non_energy_revenue_ret": [ diff --git a/deploy/runtime/defaults/PVWatts_Single Owner.json b/deploy/runtime/defaults/PVWatts_Single Owner.json index 66f4eebb3..d45787939 100644 --- a/deploy/runtime/defaults/PVWatts_Single Owner.json +++ b/deploy/runtime/defaults/PVWatts_Single Owner.json @@ -19274,6 +19274,7 @@ "non_energy_expenses": [ 0.0 ], + "non_energy_expenses_ds": 1.0, "non_energy_expenses_escal": 0.0, "non_energy_expenses_ret": [ 0.0 @@ -19281,6 +19282,7 @@ "non_energy_revenue": [ 0.0 ], + "non_energy_revenue_ds": 1.0, "non_energy_revenue_escal": 0.0, "non_energy_revenue_is_shown": 0.0, "non_energy_revenue_ret": [ diff --git a/deploy/runtime/defaults/Photovoltaic Wind Battery Hybrid_Single Owner.json b/deploy/runtime/defaults/Photovoltaic Wind Battery Hybrid_Single Owner.json index 7e90a4678..9ae21daf7 100644 --- a/deploy/runtime/defaults/Photovoltaic Wind Battery Hybrid_Single Owner.json +++ b/deploy/runtime/defaults/Photovoltaic Wind Battery Hybrid_Single Owner.json @@ -34696,6 +34696,7 @@ "non_energy_expenses": [ 0.0 ], + "non_energy_expenses_ds": 1.0, "non_energy_expenses_escal": 0.0, "non_energy_expenses_ret": [ 0.0 @@ -34703,6 +34704,7 @@ "non_energy_revenue": [ 0.0 ], + "non_energy_revenue_ds": 1.0, "non_energy_revenue_escal": 0.0, "non_energy_revenue_is_shown": 0.0, "non_energy_revenue_ret": [ diff --git a/deploy/runtime/defaults/Physical Trough_Single Owner.json b/deploy/runtime/defaults/Physical Trough_Single Owner.json index acb235ea7..a7a171991 100644 --- a/deploy/runtime/defaults/Physical Trough_Single Owner.json +++ b/deploy/runtime/defaults/Physical Trough_Single Owner.json @@ -1947,7 +1947,7 @@ "P_cond_ratio": 1.0028, "P_ref": 111.0, "Pipe_hl_coef": 0.45, - "Q_tes": 1870.7865168539327, + "Q_tes": 1870.7865168539329, "Rho_mirror_clean": [ 0.93, 0.93, @@ -2507,7 +2507,7 @@ "csp.dtr.cost.power_plant.cost_per_kwe": 910.0, "csp.dtr.cost.power_plant.mwe": 111.0, "csp.dtr.cost.sales_tax.percent": 80.0, - "csp.dtr.cost.sales_tax.total": 19427445.757123598, + "csp.dtr.cost.sales_tax.total": 19427445.7571236, "csp.dtr.cost.sales_tax.value": 5.0, "csp.dtr.cost.site_improvements": 24140800.0, "csp.dtr.cost.site_improvements.area": 965632.0, @@ -2515,9 +2515,9 @@ "csp.dtr.cost.solar_field": 144844800.0, "csp.dtr.cost.solar_field.area": 965632.0, "csp.dtr.cost.solar_field.cost_per_m2": 150.0, - "csp.dtr.cost.storage": 115988764.04494383, + "csp.dtr.cost.storage": 115988764.04494384, "csp.dtr.cost.storage.cost_per_kwht": 62.0, - "csp.dtr.cost.storage.mwht": 1870.7865168539327, + "csp.dtr.cost.storage.mwht": 1870.7865168539329, "csp.dtr.cost.total_land_area": 835.1268351999999, "csp.dtr.pwrb.nameplate": 99.9, "csp.dtr.tes.fluid_sph": 1.50182, @@ -2525,7 +2525,7 @@ "csp.dtr.tes.htf_max_opt_temp": 593.0, "csp.dtr.tes.htf_min_opt_temp": 238.0, "csp.dtr.tes.min_fluid_volume": 2474.077451421955, - "csp.dtr.tes.thermal_capacity": 1870.7865168539327, + "csp.dtr.tes.thermal_capacity": 1870.7865168539329, "csp.pt.par.calc.aux": 2.52303, "csp.pt.par.calc.bop": 0.0, "csp.pt.pwrb.condenser_type": 1.0, @@ -2803,16 +2803,16 @@ 0.0 ] ], - "csp_dtr_sca_calc_end_loss_1": 0.9996434127184017, - "csp_dtr_sca_calc_end_loss_2": 0.9996434127184017, - "csp_dtr_sca_calc_end_loss_3": 0.9996434127184017, - "csp_dtr_sca_calc_end_loss_4": 0.9996434127184017, + "csp_dtr_sca_calc_end_loss_1": 0.9996434127184016, + "csp_dtr_sca_calc_end_loss_2": 0.9996434127184016, + "csp_dtr_sca_calc_end_loss_3": 0.9996434127184016, + "csp_dtr_sca_calc_end_loss_4": 0.9996434127184016, "csp_dtr_sca_calc_end_losses": [ [ - 0.9996434127184017, - 0.9996434127184017, - 0.9996434127184017, - 0.9996434127184017 + 0.9996434127184016, + 0.9996434127184016, + 0.9996434127184016, + 0.9996434127184016 ] ], "csp_dtr_sca_calc_iam_1": 1.0018753305435045, @@ -2842,11 +2842,11 @@ 0.8484936096, 0.8484936096 ], - "csp_dtr_sca_calc_theta": 0.15141825988413427, - "csp_dtr_sca_calc_theta_1": 0.15141825988413427, - "csp_dtr_sca_calc_theta_2": 0.15141825988413427, - "csp_dtr_sca_calc_theta_3": 0.15141825988413427, - "csp_dtr_sca_calc_theta_4": 0.15141825988413427, + "csp_dtr_sca_calc_theta": 0.1514182598841343, + "csp_dtr_sca_calc_theta_1": 0.1514182598841343, + "csp_dtr_sca_calc_theta_2": 0.1514182598841343, + "csp_dtr_sca_calc_theta_3": 0.1514182598841343, + "csp_dtr_sca_calc_theta_4": 0.1514182598841343, "csp_dtr_sca_calc_zenith": 0.15062193308923828, "csp_dtr_sca_calc_zenith_1": 0.15062193308923828, "csp_dtr_sca_calc_zenith_2": 0.15062193308923828, @@ -22346,6 +22346,7 @@ "non_energy_expenses": [ 0.0 ], + "non_energy_expenses_ds": 1.0, "non_energy_expenses_escal": 0.0, "non_energy_expenses_ret": [ 0.0 @@ -22353,6 +22354,7 @@ "non_energy_revenue": [ 0.0 ], + "non_energy_revenue_ds": 1.0, "non_energy_revenue_escal": 0.0, "non_energy_revenue_is_shown": 0.0, "non_energy_revenue_ret": [ @@ -22444,7 +22446,7 @@ ], "ptc_sta_escal": 0.0, "ptc_sta_term": 10.0, - "q_dot_tes_est": 1.2007351461530767, + "q_dot_tes_est": 1.2007351461530769, "q_pb_design": 311.7977528089888, "q_sby_frac": 0.2, "rad_multiplier": 1.5, @@ -22599,7 +22601,7 @@ ], "tod_library": "Uniform Dispatch", "total_aperture": 965632.0, - "total_direct_cost": 485686143.92808988, + "total_direct_cost": 485686143.9280899, "total_indirect_cost": 61776744.18408988, "total_installed_cost": 566890333.8693034, "total_land_area": 835.1268351999999, @@ -22640,7 +22642,7 @@ "u_ctes_tank": 0.4, "u_tank": 0.4, "ud_COPY_T_HTF_des": 391.0, - "ud_Q_dot_HTF_ND_des": 0.9999994148531951, + "ud_Q_dot_HTF_ND_des": 0.9999994148531952, "ud_T_amb_des": 43.0, "ud_T_amb_des_calc": 43.0, "ud_T_amb_high": 55.0, @@ -24413,7 +24415,7 @@ "ui_epsilon_4_1": 0.86, "ui_epsilon_4_2": 0.86, "ui_epsilon_4_3": 1.0, - "ui_land_area_ha": 337.96436138483639, + "ui_land_area_ha": 337.9643613848364, "ui_land_area_multiplier": 0.0, "ui_land_area_units": 0.0, "ui_land_lease": [ diff --git a/deploy/runtime/defaults/Standalone Battery_Single Owner.json b/deploy/runtime/defaults/Standalone Battery_Single Owner.json index cad697a03..25d58d057 100644 --- a/deploy/runtime/defaults/Standalone Battery_Single Owner.json +++ b/deploy/runtime/defaults/Standalone Battery_Single Owner.json @@ -29043,6 +29043,7 @@ "non_energy_expenses": [ 0.0 ], + "non_energy_expenses_ds": 1.0, "non_energy_expenses_escal": 0.0, "non_energy_expenses_ret": [ 0.0 @@ -29050,6 +29051,7 @@ "non_energy_revenue": [ 0.0 ], + "non_energy_revenue_ds": 1.0, "non_energy_revenue_escal": 0.0, "non_energy_revenue_is_shown": 0.0, "non_energy_revenue_ret": [ diff --git a/deploy/runtime/defaults/Wind Power_Single Owner.json b/deploy/runtime/defaults/Wind Power_Single Owner.json index ee4c05297..acb465c40 100644 --- a/deploy/runtime/defaults/Wind Power_Single Owner.json +++ b/deploy/runtime/defaults/Wind Power_Single Owner.json @@ -20763,6 +20763,7 @@ "non_energy_expenses": [ 0.0 ], + "non_energy_expenses_ds": 1.0, "non_energy_expenses_escal": 0.0, "non_energy_expenses_ret": [ 0.0 @@ -20770,6 +20771,7 @@ "non_energy_revenue": [ 0.0 ], + "non_energy_revenue_ds": 1.0, "non_energy_revenue_escal": 0.0, "non_energy_revenue_is_shown": 0.0, "non_energy_revenue_ret": [ diff --git a/deploy/runtime/spreadsheets/single_owner.xlsx b/deploy/runtime/spreadsheets/single_owner.xlsx index 27faa2675..0c56e9eb3 100644 Binary files a/deploy/runtime/spreadsheets/single_owner.xlsx and b/deploy/runtime/spreadsheets/single_owner.xlsx differ diff --git a/deploy/runtime/ui/Financial Non Energy Revenue.json b/deploy/runtime/ui/Financial Non Energy Revenue.json index a07c185a2..7e40f5645 100644 --- a/deploy/runtime/ui/Financial Non Energy Revenue.json +++ b/deploy/runtime/ui/Financial Non Energy Revenue.json @@ -52,7 +52,7 @@ }, "TabOrder": { "Type": 3.0, - "Integer": -1.0 + "Integer": 10.0 } } }, @@ -105,7 +105,7 @@ }, "TabOrder": { "Type": 3.0, - "Integer": -1.0 + "Integer": 9.0 } } }, @@ -122,7 +122,7 @@ }, "Y": { "Type": 3.0, - "Integer": 222.0 + "Integer": 219.0 }, "Width": { "Type": 3.0, @@ -158,7 +158,48 @@ }, "TabOrder": { "Type": 3.0, - "Integer": -1.0 + "Integer": 5.0 + } + } + }, + "CheckBox": { + "Visible": 1.0, + "ObjectProperties": { + "Name": { + "Type": 5.0, + "String": "non_energy_expenses_ds" + }, + "X": { + "Type": 3.0, + "Integer": 717.0 + }, + "Y": { + "Type": 3.0, + "Integer": 219.0 + }, + "Width": { + "Type": 3.0, + "Integer": 90.0 + }, + "Height": { + "Type": 3.0, + "Integer": 24.0 + }, + "Tool Tip": { + "Type": 5.0, + "String": "" + }, + "Caption": { + "Type": 5.0, + "String": "" + }, + "State": { + "Type": 2.0, + "Boolean": 1.0 + }, + "TabOrder": { + "Type": 3.0, + "Integer": 8.0 } } }, @@ -241,7 +282,7 @@ }, "TabOrder": { "Type": 3.0, - "Integer": -1.0 + "Integer": 6.0 } } }, @@ -294,7 +335,7 @@ }, "TabOrder": { "Type": 3.0, - "Integer": -1.0 + "Integer": 7.0 } } }, @@ -347,7 +388,48 @@ }, "TabOrder": { "Type": 3.0, - "Integer": -1.0 + "Integer": 1.0 + } + } + }, + "CheckBox": { + "Visible": 1.0, + "ObjectProperties": { + "Name": { + "Type": 5.0, + "String": "non_energy_revenue_ds" + }, + "X": { + "Type": 3.0, + "Integer": 717.0 + }, + "Y": { + "Type": 3.0, + "Integer": 120.0 + }, + "Width": { + "Type": 3.0, + "Integer": 90.0 + }, + "Height": { + "Type": 3.0, + "Integer": 24.0 + }, + "Tool Tip": { + "Type": 5.0, + "String": "" + }, + "Caption": { + "Type": 5.0, + "String": "" + }, + "State": { + "Type": 2.0, + "Boolean": 1.0 + }, + "TabOrder": { + "Type": 3.0, + "Integer": 4.0 } } }, @@ -430,7 +512,7 @@ }, "TabOrder": { "Type": 3.0, - "Integer": -1.0 + "Integer": 2.0 } } }, @@ -483,7 +565,7 @@ }, "TabOrder": { "Type": 3.0, - "Integer": -1.0 + "Integer": 3.0 } } }, @@ -703,7 +785,7 @@ }, "Caption": { "Type": 5.0, - "String": "Non-energy revenue and expenses are optional inputs for revenue and expenses that do not depend on kWh of energy or kW of capacity. Non-energy revenue and expenses affect EBITDA, and non-energy revenue is available for debt service. Energy revenue retained and energy expenses paid percentages represent revenue and cost sharing agreements between the owner of the energy system and other entities. In Value mode, SAM applies both inflation and escalation to the first year value to calculate out-year values. In Schedule mode, neither inflation nor escalation applies. See Help for details." + "String": "Non-energy revenue and expenses are optional inputs for revenue and expenses that do not depend on kWh of energy or kW of capacity. Non-energy revenue and expenses optionally affect EBITDA, and non-energy revenue can be available for debt service. Energy revenue retained and energy expenses paid percentages represent revenue and cost sharing agreements between the owner of the energy system and other entities. In Value mode, SAM applies both inflation and escalation to the first year value to calculate out-year values. In Schedule mode, neither inflation nor escalation applies. See Help for details." }, "TextColour": { "Type": 4.0, @@ -783,6 +865,19 @@ "sscVariableName": "", "sscVariableValue": "" }, + "non_energy_expenses_ds": { + "Version": 4.0, + "Type": 1.0, + "Label": "Non-energy expenses impact debt service", + "Units": "", + "Group": "Non-energy Revenue", + "IndexLabels": "", + "Flags": 2.0, + "DefaultValue": 1.0, + "UIObject": "CheckBox", + "sscVariableName": "", + "sscVariableValue": "" + }, "non_energy_expenses_escal": { "Version": 4.0, "Type": 1.0, @@ -826,6 +921,19 @@ "sscVariableName": "", "sscVariableValue": "" }, + "non_energy_revenue_ds": { + "Version": 4.0, + "Type": 1.0, + "Label": "Non-energy revenue available for debt service", + "Units": "", + "Group": "Non-energy Revenue", + "IndexLabels": "", + "Flags": 2.0, + "DefaultValue": 1.0, + "UIObject": "CheckBox", + "sscVariableName": "", + "sscVariableValue": "" + }, "non_energy_revenue_escal": { "Version": 4.0, "Type": 1.0, diff --git a/doc/source/includes/snip_revenue_non_energy.rst b/doc/source/includes/snip_revenue_non_energy.rst index 284e002a3..600359357 100644 --- a/doc/source/includes/snip_revenue_non_energy.rst +++ b/doc/source/includes/snip_revenue_non_energy.rst @@ -15,6 +15,9 @@ Non-Energy Revenue **Non-energy revenue retained by energy owner, %** Percent of non-energy revenue to include in the project cash flow. Use this input to specify revenue sharing agreements, for example, an agrivoltaic project where 5% of the crop revenue is retained by the solar owner in each year. +**Non-energy revenue available for debt service** + Check this box if the system owner can use non-energy revenue to service debt. If the box is checked, SAM includes non-energy revenue in cash available for debt service (CAFDS). + Non-Energy Expenses ................... @@ -27,6 +30,9 @@ Non-Energy Expenses **Non-energy expenses paid by energy owner, %** Percent of non-energy expenses to include in the project cash flow. Use this input to specify revenue sharing agreements, for example, an agrivoltaic project where 5% of farm expenses is paid by the solar owner in each year. +**Non-energy expenses impact debt service** + Check this box to include non-energy expenses in the system owner's total operating expenses, which reduce the amount of cash available for debt service. If the box is checked, SAM includes the owner share of non-revenue expenses in the earnings before interest, taxes, depreciation and amortization (EBITDA) cash flow line item. If the box is not checked, the owner share of non-energy expenses is included in the system owner's operating activities line item. + Energy Owner Portion of Energy Revenue and Expenses ................................................... @@ -37,6 +43,3 @@ Use these inputs to specify revenue sharing agreements between the energy owner **Energy expenses paid by energy owner, %** Percent of energy operating expenses to include in the project cash flow. This includes costs for operation and maintenance costs, battery replacement, electricity purchases to charge the battery, property tax and land-lease, but debt-related costs. - - -