Skip to content

Commit

Permalink
Fix failing tests and remove comments for pull request review
Browse files Browse the repository at this point in the history
  • Loading branch information
sjanzou committed Apr 13, 2023
1 parent d071043 commit 2cd6a2d
Show file tree
Hide file tree
Showing 4 changed files with 24 additions and 167 deletions.
78 changes: 12 additions & 66 deletions ssc/common.cpp
Expand Up @@ -539,20 +539,6 @@ var_info vtab_sf_adjustment_factors[] = {
{ SSC_INPUT,SSC_MATRIX , "sf_adjust_periods" , "SF Period-based Adjustment Factors" , "%" , "n x 3 matrix [ start, end, loss ]" , "Adjustment Factors" , "sf_adjust_en_periods=1" , "COLS=3" , ""},
var_info_invalid };

/*
var_info vtab_adjustment_factors[] = {
{ SSC_INPUT,SSC_TABLE , "adjust" , "Loss adjustment" , "%" , "'adjust' updated to a table - Ty to add more details!" , "Adjustment Factors" , "*" , "" , ""},
var_info_invalid };
var_info vtab_dc_adjustment_factors[] = {
{ SSC_INPUT,SSC_TABLE , "dc_adjust" , "DC loss adjustment" , "%" , "" , "Adjustment Factors" , "*" , "" , ""},
var_info_invalid };
var_info vtab_sf_adjustment_factors[] = {
{ SSC_INPUT,SSC_TABLE , "sf_adjust" , "SF loss adjustment" , "" , "" , "Adjustment Factors" , "*" , "" , ""},
var_info_invalid };
*/
var_info vtab_financial_capacity_payments[] = {

/* VARTYPE DATATYPE NAME LABEL UNITS META GROUP REQUIRED_IF CONSTRAINTS UI_HINTS */
Expand Down Expand Up @@ -1029,35 +1015,14 @@ bool adjustment_factors::setup(int nsteps, int analysis_period) //nsteps is set
f = 1.0 - f / 100.0; //convert from percentage to factor
m_factors.resize( nsteps * analysis_period, f);

/*
// if (m_cm->is_assigned(m_prefix + ":hourly"))
if (table.is_assigned("en_hourly") && table.as_boolean("en_hourly"))
{
size_t n;
// ssc_number_t* p = m_cm->as_array(m_prefix + ":hourly", &n);
ssc_number_t* p = table.as_array("hourly", &n);
if ( p != 0 && n == 8760 )
{
for( int i=0;i<8760;i++ )
m_factors[i] *= (1.0 - p[i]/100.0); //convert from percentages to factors
}
else {
m_error = util::format("Hourly loss factor array length %d does not equal length of weather file %d", (int)n, nsteps);
}
}
*/
if (m_cm->as_boolean(m_prefix + "_en_timeindex"))
// if (m_cm->is_assigned(m_prefix + ":timeindex"))
// if (table.is_assigned("timeindex"))
{
size_t n;
int steps_per_hour = nsteps / 8760;
int month = 0;
int day = 0;
int week = 0;
ssc_number_t* p = m_cm->as_array(m_prefix + "_timeindex", &n);
// ssc_number_t* p = table.as_array("timeindex", &n);
if (p != 0) {
if (n == 1) {
for (int a = 0; a < analysis_period; a++) {
Expand Down Expand Up @@ -1110,12 +1075,9 @@ bool adjustment_factors::setup(int nsteps, int analysis_period) //nsteps is set
}
}
if (m_cm->as_boolean(m_prefix + "_en_periods"))
// if (m_cm->is_assigned(m_prefix + ":periods"))
// if (table.is_assigned("en_periods") && table.as_boolean("en_periods"))
{
size_t nr, nc;
ssc_number_t* mat = m_cm->as_matrix(m_prefix + "_periods", &nr, &nc);
// ssc_number_t* mat = table.as_matrix("periods", &nr, &nc);
double ts_mult = nsteps / 8760.0;
if ( mat != 0 && nc == 3 )
{
Expand Down Expand Up @@ -1180,25 +1142,14 @@ bool shading_factor_calculator::setup( compute_module *cm, const std::string &pr
size_t nrecs = 8760;
m_beamFactors.resize_fill(nrecs, 1, 1.0);

// auto& table = cm->get_var_table()->lookup(prefix + "shading")->table;

if (cm->is_assigned(prefix + "_en_string_option") && cm->as_boolean(prefix + "_en_string_option"))
m_string_option = cm->as_integer(prefix + "_string_option");

// if (cm->is_assigned(prefix + "shading:string_option"))
// m_string_option = cm->as_integer(prefix + "shading:string_option");

// initialize to 8760x1 for mxh and change based on shading:timestep
// size_t nrecs = 8760;
// m_beamFactors.resize_fill(nrecs, 1, 1.0);
if (cm->is_assigned(prefix + "shading_en_string_option") && cm->as_boolean(prefix + "shading_en_string_option"))
m_string_option = cm->as_integer(prefix + "shading_string_option");

m_enTimestep = false;
if (cm->is_assigned(prefix + "_en_timestep") && cm->as_boolean(prefix + "_en_timestep"))
// if (cm->is_assigned(prefix + "shading:timestep"))
if (cm->is_assigned(prefix + "shading_en_timestep") && cm->as_boolean(prefix + "shading_en_timestep"))
{
size_t nrows, ncols;
// ssc_number_t* mat = cm->as_matrix(prefix + "shading:timestep", &nrows, &ncols);
ssc_number_t* mat = cm->as_matrix(prefix + "_timestep", &nrows, &ncols);
ssc_number_t* mat = cm->as_matrix(prefix + "shading_timestep", &nrows, &ncols);

if (nrows % 8760 == 0)
{
Expand Down Expand Up @@ -1277,13 +1228,11 @@ bool shading_factor_calculator::setup( compute_module *cm, const std::string &pr

// initialize other shading inputs
m_enMxH = false;
if (cm->is_assigned(prefix + "_en_mxh") && cm->as_boolean(prefix + "_en_mxh"))
// if (cm->is_assigned(prefix + "shading:mxh"))
if (cm->is_assigned(prefix + "shading_en_mxh") && cm->as_boolean(prefix + "shading_en_mxh"))
{
m_mxhFactors.resize_fill(nrecs, 1, 1.0);
size_t nrows, ncols;
// ssc_number_t* mat = cm->as_matrix(prefix + "shading:mxh", &nrows, &ncols);
ssc_number_t* mat = cm->as_matrix(prefix + "_mxh", &nrows, &ncols);
ssc_number_t* mat = cm->as_matrix(prefix + "shading_mxh", &nrows, &ncols);
if (nrows != 12 || ncols != 24)
{
ok = false;
Expand All @@ -1303,12 +1252,10 @@ bool shading_factor_calculator::setup( compute_module *cm, const std::string &pr
}

m_enAzAlt = false;
if (cm->is_assigned(prefix + "_en_azal") && cm->as_boolean(prefix + "_en_azal"))
// if (cm->is_assigned(prefix + "shading:azal"))
if (cm->is_assigned(prefix + "shading_en_azal") && cm->as_boolean(prefix + "shading_en_azal"))
{
size_t nrows, ncols;
// ssc_number_t* mat = cm->as_matrix(prefix + "shading:azal", &nrows, &ncols);
ssc_number_t* mat = cm->as_matrix(prefix + "_azal", &nrows, &ncols);
ssc_number_t* mat = cm->as_matrix(prefix + "shading_azal", &nrows, &ncols);
if (nrows < 3 || ncols < 3)
{
ok = false;
Expand All @@ -1330,11 +1277,10 @@ bool shading_factor_calculator::setup( compute_module *cm, const std::string &pr
}


if (cm->is_assigned(prefix + "_en_diff") && cm->as_boolean(prefix + "_en_diff"))
m_diffFactor = 1 - cm->as_double(prefix + "_diff") / 100;
// if (cm->is_assigned(prefix + "shading:diff"))
// m_diffFactor = 1 - cm->as_double(prefix + "shading:diff") / 100;
return ok;
if (cm->is_assigned(prefix + "shading_en_diff") && cm->as_boolean(prefix + "shading_en_diff"))
m_diffFactor = 1 - cm->as_double(prefix + "shading_diff") / 100;

return ok;
}

std::string shading_factor_calculator::get_error(size_t i)
Expand Down
22 changes: 1 addition & 21 deletions test/input_cases/pvsamv1_battery_common_data.h
Expand Up @@ -411,16 +411,7 @@ void pvsamv1_battery_defaults(ssc_data_t& data) {
ssc_number_t* p_dc_adjust_hourly = ssc_data_get_array(data, "dc_adjust_hourly", &n_len_dc_adjust_hourly);
ssc_number_t p_dc_adjust_periods[3] = { 0, 0, 0 };

/*
// Setup and assign DC Adjust Var Table
var_table* dc_adjust_vt = new var_table;
dc_adjust_vt->assign("constant", var_data(0.0));
dc_adjust_vt->assign("periods", var_data(p_dc_adjust_periods, 1, 3));
dc_adjust_vt->assign("en_periods", var_data(1));
dc_adjust_vt->assign("hourly", var_data(p_dc_adjust_hourly, 8760));
dc_adjust_vt->assign("en_hourly", var_data(1));
ssc_data_set_table(data, "dc_adjust", dc_adjust_vt);
*/

ssc_data_set_number(data, "dc_adjust_constant", 0.0);
ssc_data_set_number(data, "dc_adjust_en_periods", 1);
ssc_data_set_matrix(data, "dc_adjust_periods", p_dc_adjust_periods, 1, 3);
Expand Down Expand Up @@ -1173,17 +1164,6 @@ void commercial_multiarray_default(ssc_data_t& data) {
ssc_number_t* p_dc_adjust_hourly = ssc_data_get_array(data, "dc_adjust_hourly", &n_len_dc_adjust_hourly);
ssc_number_t p_dc_adjust_periods[3] = { 0, 0, 0 };

/*
// Setup and assign DC Adjust Var Table
var_table* dc_adjust_vt = new var_table;
dc_adjust_vt->assign("constant", var_data(0.0));
dc_adjust_vt->assign("periods", var_data(p_dc_adjust_periods, 1, 3));
dc_adjust_vt->assign("en_periods", var_data(1));
dc_adjust_vt->assign("hourly", var_data(p_dc_adjust_hourly, 8760));
dc_adjust_vt->assign("en_hourly", var_data(1));
ssc_data_set_table(data, "dc_adjust", dc_adjust_vt);
*/

ssc_data_set_number(data, "dc_adjust_constant", 0.0);
ssc_data_set_number(data, "dc_adjust_en_periods", 1);
ssc_data_set_matrix(data, "dc_adjust_periods", p_dc_adjust_periods, 1, 3);
Expand Down
6 changes: 0 additions & 6 deletions test/main.cpp
Expand Up @@ -55,12 +55,6 @@ GTEST_API_ int main(int argc, char **argv) {
// filter to include
// ::testing::GTEST_FLAG(filter) = "CmodPVWatts*:CMPvwatts*";

// ::testing::GTEST_FLAG(filter) = "csp_tower.PowerTowerCmod.Default_NoFinancial*";

// ::testing::GTEST_FLAG(filter) = "CmodCashLoanTest*"; // .DiscountedPayback * ";
// ::testing::GTEST_FLAG(filter) = "CMPvwattsv8Integration_cmod_pvwattsv8.DefaultNoFinancialModel_cmod_pvwattsv8*"; // "CMPvsamv1PowerIntegration_cmod_pvsamv1*";
// ::testing::GTEST_FLAG(filter) = "csp_trough.PowerTroughCmod*";
// ::testing::GTEST_FLAG(filter) = "csp_common.Tes*";

// filter to exclude
// ::testing::GTEST_FLAG(filter) = "-PVSmoothing_lib_battery_dispatch*";
Expand Down

0 comments on commit 2cd6a2d

Please sign in to comment.