Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add temperature derate to inverter models #1199

Open
yangangky opened this issue Mar 17, 2021 · 20 comments
Open

Add temperature derate to inverter models #1199

yangangky opened this issue Mar 17, 2021 · 20 comments

Comments

@yangangky
Copy link

Is your feature request related to a problem? Please describe.
Sandia inverter model is not suitable for clippling calculation nowadays. Because CEC inverter database do not have 'maximum AC power' parameters, this parameters really decide the clipping starting line.

Note:

  1. CEC inverter database use Paco (Nominal AC power) to calculate the clipping, which will let the clipping loss make bigger than expected.
  2. Mainstreem inverter database shows that inverter have two parameters, one is maximum AC power, the other is nominal AC power. If we calculate the invereter clipping, the maximum AC power is the key parameters we should consider.

ADR inverter have 'Pacmax' parameter. But I needt to creat a inverter database (including mainstream inverter company and type) by ADR algorithm then can use it. I think it is not possible by now.

Describe the solution you'd like
PVsyst inverter use the two parameters (maximum AC power and nominal AC power) to calculate inverter clipping. And there is a inverter database which every inverter company update it on time. If we can create a new inverter function like pvsyst, then we can use the pvsyst invereter database (OND file) , and do not need to create a new database.

Note: Frederic have written a code which read the OND file parameters, the link is here: https://github.com/frivollier/pvsyst_tools/tree/master/pvsyst

Additional context
I use PVlib CEC/sadia model to calculate inverter efficiency and found a lot of values are lower than the inverter database value. Below graph is the summarized chart of 32 inverters.
inverter efficiency

I also summarized the inverter efficiency in database which I download from website in the end of 2020. The sample number is 145 for 12 vendors. The median inverter efficiency is 98.8%.
inverter

Note: Related database are as attachment, please review.
inverter datasheet s information_2020.xlsx
sam-library-cec-inverters-including inverter efficiency by pvlib.xlsx

@cwhanse
Copy link
Member

cwhanse commented Mar 17, 2021

No argument from me that the Sandia/CEC inverter model can be improved. Contributions are welcome. Some caveats, however:

  • we are unlikely to add a function (new inverter model) to pvlib that isn't backed up by a referenceable publication. As pvlib maintainers we don't have resources to develop and validate new models.
  • adding a new inverter model without a ready source of inverter-specific parameters, or a means of calculating the parameters from an inverter datasheet, is unlikely to provide value to the PV modeling community.

If we can create a new inverter function like pvsyst

That would be a nice addition to pvlib. But, to my knowledge the inverter model in Pvsyst is not fully documented. The Pvsyst license prohibits reverse engineering the software. Without reference to complete and open documentation, I don't think we can add inverter.pvsyst and claim that it's the model in Pvsyst.

How did you calculate efficiency? The values computed from the inverter models in the CEC database result from inverter performance tests at 3rd party laboratories. I would not be surprised if the independent testing arrives at somewhat different efficiency than the "maximum" efficiency reported by the manufacturer.

@cwhanse
Copy link
Member

cwhanse commented Mar 17, 2021

@yangangky could you help me understand where the "Nominal output power" and "Max output power" values are obtained (in the inverter.datashett.s.information_2020.xlsx file). For example, I am looking at the datasheet for the SAM Sunny Central 2475 inverter and I don't see a "nominal" output power of 2250. I see two different maximum AC output power (kW) which depend on temperature.

@yangangky
Copy link
Author

No argument from me that the Sandia/CEC inverter model can be improved. Contributions are welcome. Some caveats, however:

  • we are unlikely to add a function (new inverter model) to pvlib that isn't backed up by a referenceable publication. As pvlib maintainers we don't have resources to develop and validate new models.
  • adding a new inverter model without a ready source of inverter-specific parameters, or a means of calculating the parameters from an inverter datasheet, is unlikely to provide value to the PV modeling community.

If we can create a new inverter function like pvsyst

That would be a nice addition to pvlib. But, to my knowledge the inverter model in Pvsyst is not fully documented. The Pvsyst license prohibits reverse engineering the software. Without reference to complete and open documentation, I don't think we can add inverter.pvsyst and claim that it's the model in Pvsyst.

How did you calculate efficiency? The values computed from the inverter models in the CEC database result from inverter performance tests at 3rd party laboratories. I would not be surprised if the independent testing arrives at somewhat different efficiency than the "maximum" efficiency reported by the manufacturer.

I use pvlib to calculate the inverter efficiency. When I use pvlib to simulate the power generation, I can get a dc_energy and ac_energy. The inverter efficiency =dc_energy/ac_energy. I calculate 32 inverters for the efficiency by this method.

Note: I eliminate the clipping effection by using DC : AC < 1.0. (DC means dc nominal power for system design, AC means inverter nominal power)

@yangangky
Copy link
Author

@yangangky could you help me understand where the "Nominal output power" and "Max output power" values are obtained (in the inverter.datashett.s.information_2020.xlsx file). For example, I am looking at the datasheet for the SAM Sunny Central 2475 inverter and I don't see a "nominal" output power of 2250. I see two different maximum AC output power (kW) which depend on temperature.

@ Cliff, You are right. As we discussed in the google group. https://groups.google.com/u/1/g/pvlib-python/c/ibfhCWQrUhE
The inverter output power indeed will be changed as the temperature variation in the database. So PVsyst use this information to create the OND file (inverter info.).

20201121 SG3125HV-30 SG3400HV-30.pdf
Some inverter database offer the other temperature range, like 45~50℃, as attachment - sungrow inverter. I think the ambient temperature is almostly lower than 35℃ or 45℃ for many locations. So the clipping starting limit should refer to the "Max output power (lower temperature)" . We can not neglect this parameter for calculating the inverter clipping.

inverter

pvsyst

SC2200-3000-EV-DS-en-59.pdf

@cwhanse
Copy link
Member

cwhanse commented Mar 18, 2021

Note: I eliminate the clipping effection by using DC : AC < 1.0. (DC means dc nominal power for system design, AC means inverter nominal power)

I suspect that undersizing the DC array will also underestimate efficiency, relative to the stated efficiency, which is supposed to be at full DC input and AC output, and nominal DC voltage. For the CEC inverter model, efficiency at rated input should be equal to pac0 / pdc0 (two parameters from the CEC database).

@cwhanse
Copy link
Member

cwhanse commented Mar 18, 2021

Some inverter database offer the other temperature range, like 45~50℃, as attachment - sungrow inverter. I think the ambient temperature is almostly lower than 35℃ or 45℃ for many locations.

The limiting temperature (i.e. 45C) is measured internal to the inverter, I would guess with a thermocouple attached to one of the IGBTs, but perhaps elsewhere. Internal temperature will be higher than ambient. I know of no published model to translate from ambient temperature to internal inverter temperature.

@mikofski
Copy link
Member

mikofski commented Mar 18, 2021

At SunPower & DNV we always treated this as ambient temperature. We worked closely with SMA, I don't recall them using onboard temperature. Pvsyst help has a section on this:
https://www.pvsyst.com/help/inverter_outputparameter.htm

The reference inverter temperature may be specified in the output system parameters (button "Miscellaneous tools"). It can by:

  • Ambient external temperature, the usual parameter admitted by manufacturers for outdoor installation. (emphasis mine)
  • Ambient external temperature + specified shift
  • Fixed temperature + linear increase proportional to the power (represented by the incident irradiance). This could be used for indoor inverters and not perfect cooling installation.

@yangangky
Copy link
Author

yangangky commented Mar 19, 2021

I suspect that undersizing the DC array will also underestimate efficiency, relative to the stated efficiency, which is supposed to be at full DC input and AC output, and nominal DC voltage. For the CEC inverter model, efficiency at rated input should be equal to pac0 / pdc0 (two parameters from the CEC database).

Thank you for your illustration. Sorry for that I did not give you a clear illustration for the DC:AC value.

The DC:AC value about 0.9 to 1.0 for previous simulation. However, I did the simulation again keep the DC:AC=1.0, the conclusion is nearly the same as last comment. You can review the deatails as attachment.
sam-library-cec-inverters-including inverter efficiency by pvlib_V1.xlsx

@yangangky
Copy link
Author

yangangky commented Mar 19, 2021

Some inverter database offer the other temperature range, like 45~50℃, as attachment - sungrow inverter. I think the ambient temperature is almostly lower than 35℃ or 45℃ for many locations.

The limiting temperature (i.e. 45C) is measured internal to the inverter, I would guess with a thermocouple attached to one of the IGBTs, but perhaps elsewhere. Internal temperature will be higher than ambient. I know of no published model to translate from ambient temperature to internal inverter temperature.

Hi Cliff, the temperature is ambient temperature, not the inverter machine internal temperature. Below graph is the sungrow inverter charateristics curve, the test was under the ambient temperature. Because the permission, I can not load the whole file on here.

Sungrow inverter characteristics curves

@yangangky
Copy link
Author

At SunPower & DNV we always treated this as ambient temperature. We worked closely with SMA, I don't recall them using onboarding temperature. Pvsyst help has a section on this:
https://www.pvsyst.com/help/inverter_outputparameter.htm

Hi, Mark. Thank you for your illustration and information. It is helpful.

Yes, Sungrow indeed treat it as ambient temperature.

@cwhanse
Copy link
Member

cwhanse commented Mar 19, 2021

I looked at several inverter company's technical documents and they all describe that temperature as "ambient". I'm still puzzled how that temperature is measured in an actual inverter, but that's a different question.

The challenge here is a referenceable source for a model for inverter derating by temperature. It's not simply a matter of temperature: DC voltage plays a role, as does AC power output. See these documents by Schneider and SolarEdge.

SAM implements temperature derating for inverters. The code is not described in the technical support document, perhaps someone who can read C++ well could figure out how it works. It would be nice to have the model documented, if necessary the model could be described on pvpmc.org in advance of a paper. @mjprilliman @janinefreeman

@yangangky would you mind if I edited the title of this Issue to "Add temperature derate to inverter models"?

@wholmgren
Copy link
Member

duplicate of #85

@janinefreeman
Copy link

@dguittet implemented SAM's original inverter temperature derating model, and @mjprilliman modified it to be derate power rather than current, I believe. They may be able to better describe how it works. It should be documented somewhere in the SAM help, @cpaulgilman can you take a look or add it to your list? Thanks!

@yangangky
Copy link
Author

@yangangky would you mind if I edited the title of this Issue to "Add temperature derate to inverter models"?

@cwhanse, I am OK for it. Thanks for your reminder.

@mjprilliman
Copy link

@dguittet implemented SAM's original inverter temperature derating model, and @mjprilliman modified it to be derate power rather than current, I believe. They may be able to better describe how it works. It should be documented somewhere in the SAM help, @cpaulgilman can you take a look or add it to your list? Thanks!

Here's a link to the issue describing why the inverter temperature derate feature was changed to be based on the ratio of max output power to rated power (DC) rather than efficiency. The main idea is that while lower efficiency at higher temperatures could be real physical behavior, it is more important to simulate the power limiting (or current limiting) built into many inverters for increasing ambient temperature. This derate can also be specified in the SAM UI at different DC voltages to then be interpolated over in the derate calculations.

@adriesse
Copy link
Member

My "other" inverter paper describes the modeling of internal inverter temperature rise and a possible algorithm for derating. (https://doi.org/10.1109/PESC.2008.4592327)

There are really three distinct aspects of inverter operation:

  1. the change in efficiency with internal temperature
  2. possible limiting or shutdown when internal temperatures limits are reached
  3. supervisory controls based on ambient temperature that should prevent 2. but also reduce stress and promote longevity

Modelling 3. is probably most relevant.

I wouldn't think the simple code to implement the derating curves shown above for 3. requires or deserves a publication, but to cover the whole topic broadly would probably yield enough material for such. (Think module-mounted electronics, for example.)

@adriesse
Copy link
Member

adriesse commented Mar 24, 2021

Related to this, I wonder whether all this should happen quietly behind the scenes (probably not), whether python warnings should be emitted (maybe), whether the inverter functions should be returning a status flag array (aka state)?

@cpaulgilman
Copy link

@cpaulgilman can you take a look or add it to your list? Thanks!

I will revise SAM Help to more clearly describe the changes we made in SAM 2020.11.29 to address SAM Issue 442. That revision should be part of SAM 2020.11.29 r2.

@mikofski
Copy link
Member

Is this related to #1178 ?

@cwhanse
Copy link
Member

cwhanse commented Mar 25, 2021

Is this related to #1178 ?

Yes, in the sense that the available inverter models can be improved. Here, the specific ask is to add the temperature dependence of the power limit. #1178 is asking that the inverter function also return the DC voltage at which the inverter is operating while clipping, if I understand it correctly.

@yangangky yangangky changed the title sandia inverter issue for clipping result nowadays, we need a new function for inverter calculation Add temperature derate to inverter models Mar 26, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

8 participants