diff --git a/ssc/cmod_windpower.cpp b/ssc/cmod_windpower.cpp index 5b609197b..9b5e9c215 100644 --- a/ssc/cmod_windpower.cpp +++ b/ssc/cmod_windpower.cpp @@ -305,10 +305,10 @@ void cm_windpower::exec() // get optional thrust curve for wind turbine if (is_assigned("wind_turbine_ct_curve")) { - size_t* ctCurveLength = 0; - ssc_number_t* ctc = as_array("wind_turbine_ct_curve", ctCurveLength); - std::vector ct_curve(*ctCurveLength); - for (size_t i = 0; i < *ctCurveLength; i++) + size_t ctCurveLength = 0; + ssc_number_t* ctc = as_array("wind_turbine_ct_curve", &ctCurveLength); + std::vector ct_curve(ctCurveLength); + for (size_t i = 0; i < ctCurveLength; i++) ct_curve[i] = ctc[i]; wt.setCtCurve(ct_curve); } diff --git a/test/ssc_test/cmod_windpower_test.cpp b/test/ssc_test/cmod_windpower_test.cpp index 1f82acf2b..76b1aeb23 100644 --- a/test/ssc_test/cmod_windpower_test.cpp +++ b/test/ssc_test/cmod_windpower_test.cpp @@ -212,8 +212,8 @@ TEST_F(CMWindPowerIntegration, CtCurve_cmod_windpower) ssc_number_t difference = wakeLoss2 - wakeLoss1; EXPECT_NEAR(wakeLoss1, 4.148, 0.01) << "Wake Loss 1"; - EXPECT_NEAR(wakeLoss2, 10.0, 0.5) << "Wake Loss 2"; - EXPECT_NEAR(difference, 10.0, 0.5) << "Difference"; + EXPECT_NEAR(wakeLoss2, 5.562, 0.5) << "Wake Loss 2"; + EXPECT_NEAR(difference, 1.413, 0.5) << "Difference"; } /// Using Interpolated Subhourly Wind Data