NREL / ssc

SAM Simulation Core (SSC) contains the underlying performance and financial models for SAM
BSD 3-Clause "New" or "Revised" License
79 stars 85 forks source link

Check NOCT model implementation #917

Open mjprilliman opened 2 years ago

mjprilliman commented 2 years ago

Describe the bug A question on the implementation of the NOCT cell temeprature model equation used with the CEC performance models was presented in https://www.researchgate.net/publication/361463601_PV_Module_Operating_Temperature_Model_Equivalence_and_Parameter_Translation. Evaluate the implementation of the model based on the definitions presented in the SAM technical reference, the DeSoto model paper, and the Duffie and Beckman textbook. Confirm whether the POA irradiance used in the model should be before or after reflection effects, and consider how this definition effects the efficiency and absorptance-transmittance product variables used in the model.

kandersolar commented 1 year ago

Perhaps the same thing on the pvlib side: https://github.com/pvlib/pvlib-python/issues/1462

adriesse commented 10 months ago

Any thoughts or new insights on this?

mjprilliman commented 10 months ago

Any thoughts or new insights on this?

Hi Anton,

Thanks for bringing this back to attention. I had previously investigated this issue and compared SAM's implementation with the referenced equations in Duffie and Beckman 3rd edition. At that time I felt that SAM's implementation was consistent with Duffie and Beckman, but there was a bit of uncertainty in how to define the irradiance term. I did mean to follow up with you at that time but this issue got lost in the shuffle a bit. I will take a look at this again soon and compile my notes. Perhaps we could find a time to discuss this further in early January 2024?

mjprilliman commented 9 months ago

@adriesse @kandersolar I believe the second paragraph of this page (Duffie and Beckman 4th edition) is the relevant discussion point here. The tau-alpha term is corrected by the effective irradiance to represent the absorbed irradiance rather than the incident irradiance, and the incident irradiance is used for the G_T term. Certainly open to discussing a different interpretation of that equation and making a change to the code, but I believe that was the basis for the current implementation.

758 Design of Photovoltaic Systems.pdf

adriesse commented 9 months ago

Here's the relevant comment from my paper for convenience.

During a PV system simulation the value of Gpoa is typically reduced by the incidence angle modifier (IAM) at each time step so that module electrical output and thermal input are both reduced simultaneously for reflection losses. SAM takes a different approach and reduces the transmittance-absorptance product (τα) in the temperature model at higher incidence angles. This causes two problems: first, the electrical output in the thermal balance is not reduced; and second, since SAM equates (τα) and (τα)noct, the implicit empirical parameter Uo is also changed at every time step. It seems likely that this is unintended behavior of the SAM software, and if so, it can be corrected easily by subtracting reflection losses from Gpoa prior to running the temperature model.

In D&B, (τα) is constant, right?

mjprilliman commented 9 months ago

Here's the relevant comment from my paper for convenience.

During a PV system simulation the value of Gpoa is typically reduced by the incidence angle modifier (IAM) at each time step so that module electrical output and thermal input are both reduced simultaneously for reflection losses. SAM takes a different approach and reduces the transmittance-absorptance product (τα) in the temperature model at higher incidence angles. This causes two problems: first, the electrical output in the thermal balance is not reduced; and second, since SAM equates (τα) and (τα)noct, the implicit empirical parameter Uo is also changed at every time step. It seems likely that this is unintended behavior of the SAM software, and if so, it can be corrected easily by subtracting reflection losses from Gpoa prior to running the temperature model.

In D&B, (τα) is constant, right?

Correct, it is an assumed constant for the system energy balance. For the NOCT balance, going from 23.3.2 to 23.3.3 (which is the ratio of 23.3.1 to 23.3.2 changes τα * G_T,NOCT to just G_NOCT, which is just a constant 800 W/m2 regardless of τα, so it's not immediately clear to me how the τα for the NOCT energy balance factors into things.

adriesse commented 9 months ago

I'm not sure what to suggest. Maybe work through some cases by hand or in Excel (gasp)?

adriesse commented 1 month ago

Just passing by... :)

mjprilliman commented 1 month ago

Just passing by... :)

Hi Anton, thanks for bringing this back to attention. I can hopefully take a look at this issue again in October. The relevant code is here:

https://github.com/NREL/ssc/blob/274560a9eba141154f7dd52a8d3e0fe5690b3b84/shared/lib_cec6par.cpp#L216-L277

If you have a suggested edit of the equation based on how it is written here, that would be much appreciated.