Hello-
I recently implemented the Mermoud-LeJeune model into code a colleague and I use to run pv simulations. We want to use the parameter "mlm_IAM_mode" to put in our own IAM profile, and so we set 'mlm_IAM_mode' to 3, then put in arrays for 'mlm_IAM_c_cs_incAngle' and 'mlm_IAM_c_cs_iamValue'.
ssc.data_set_number(data, b'mlm_IAM_mode', 3)
ssc.data_set_number(data, b'mlm_IAM_c_as', 0.04)
ssc.data_set_number(data, b'mlm_IAM_c_sa0', 0)
ssc.data_set_number(data, b'mlm_IAM_c_sa1', 0)
ssc.data_set_number(data, b'mlm_IAM_c_sa2', 0)
ssc.data_set_number(data, b'mlm_IAM_c_sa3', 0)
ssc.data_set_number(data, b'mlm_IAM_c_sa4', 0)
ssc.data_set_number(data, b'mlm_IAM_c_sa5', 0)
ssc.data_set_array(data, b'mlm_IAM_c_cs_incAngle', [0.0,30.0,40.0,50.0,60.0,70.0,75.0,80.0,85.0,90.0])
ssc.data_set_array(data, b'mlm_IAM_c_cs_iamValue', [1.0,0.999,0.995,0.987,0.962,0.892,0.816,0.681,0.44,0.0])
ssc.data_set_number(data, b'mlm_groundRelfectionFraction', 0.2)
However, the code above always fails, throwing the error:
terminate called after throwing an instance of 'SPLINTER::Exception'
what(): knotVectorMovingAverage: Only 1 unique interpolation points are given. A minimum of degree+1 = 4 unique points are required to build a B-spline basis of degree 3.
Aborted
I've tried passing in explicit arrays and numpy arrays in float and double datatypes in addition to lists, but I always get this error. I've looked into the splinter python code and splinter tests implemented in the release branch of ssc in splinter_test.cpp, but haven't been able to find the error.
Thank you