103 views

Skip to first unread message

May 13, 2024, 1:44:10 AMMay 13

to pvlib-python

Greetings all,

The reason I ask is because GTI-DIRINT is very temping to use to solve various inference problems that start with a single POA-based value. However, if there is, say, some fundamental non-uniqueness that is being regularized, then this can be an important limitation on such inferences.

Thanks,

I have been pondering the "inverse problem" that GTI-DIRINT apparently solves, namely, inferring GHI, DNI, and DHI from POA global. I think there are only two degrees of freedom between GHI, DNI, and DHI, but that still leaves (potentially) the inference of two degrees of freedom from one measured value. Thus, at least on the face of it, the problem seems ill posed.

I intend to go back and read Marion's GTI-DIRINT paper again with this specific question at hand, and perhaps I'm missing a second degree of freedom that constrains the inverse problem. In any case, I'm wondering if anyone in the community might have a good understanding as to if there is some form of "regularization" being used that can be readily identified with a physical assumption or some such?

I intend to go back and read Marion's GTI-DIRINT paper again with this specific question at hand, and perhaps I'm missing a second degree of freedom that constrains the inverse problem. In any case, I'm wondering if anyone in the community might have a good understanding as to if there is some form of "regularization" being used that can be readily identified with a physical assumption or some such?

The reason I ask is because GTI-DIRINT is very temping to use to solve various inference problems that start with a single POA-based value. However, if there is, say, some fundamental non-uniqueness that is being regularized, then this can be an important limitation on such inferences.

Thanks,

May 13, 2024, 5:32:50 AMMay 13

to pvlib-...@googlegroups.com

Hi Mark,

You might enjoy reading the section on reverse transposition in:

Driesse, A., Jensen, A., Perez, R., 2024. A Continuous form of the Perez diffuse sky model for forward and reverse transposition. Solar Energy vol. 267. DOI: 10.1016/j.solener.2023.112093

See also:

For the hairy details, of course, there is no substitute for
Marion's original report/paper.

Best,

Anton

--

You received this message because you are subscribed to the Google Groups "pvlib-python" group.

To unsubscribe from this group and stop receiving emails from it, send an email to pvlib-python...@googlegroups.com.

To view this discussion on the web visit https://groups.google.com/d/msgid/pvlib-python/282b36dd-ebc6-49df-a943-313f14f41f9fn%40googlegroups.com.

-- PV Performance Labs Emmy-Noether-Str. 2 79110 Freiburg Germany +49-761-8973-5603 (Office, daytime) +49-174-532-7677 (Mobile) www.pvperformancelabs.com

May 13, 2024, 11:33:34 PMMay 13

to Anton Driesse, pvlib-...@googlegroups.com

Hi Anton,

I will definitely check out your recent contribution here. Thanks. I just found your example in the pvlib documentation that shows how non-uniqueness of the reverse transposition is indeed possible. I’m still sorting thru how one solution from many is selected in practice.

In more formal language,

apparently the inverse problem is ill posed, and some regularization is applied. My masters advisor ate this stuff up and wrote a book on it:

To view this discussion on the web visit https://groups.google.com/d/msgid/pvlib-python/52bd1613-db5b-eae3-46ff-a766fc0553c9%40pvperformancelabs.com.

May 14, 2024, 2:37:27 PMMay 14

to pvlib-...@googlegroups.com

I'm not sure if reverse transposition is meant to be accurate or if

it's just meant to generate GHI, DNI, & DHI irradiance component

values for a given measured GTI (global tilted irradiance) which, for

the same global clearness index Kt, will reproduce the same GTI.

Different reverse transposition algorithms will have a different way

of calculating/optimizing Kt, DNI, and DHI (and, in the case of

GTI-DIRINT, optimizing measured GTI). The interesting aspect of

GTI-DIRINT, from my understanding/interpretation, is that the measured

GTI is not taken as "truth" (or rather, held constant) unlike with

certain other reverse transposition algorithms. If you see the flow

chart in Marion's paper [1], you iteratively calculate the Kt, then

calculate DNI from that Kt, then calculate DHI from that Kt & DNI, and

then check the residuals between modeled and measured GTI. If

residuals are not <=1 W/m^2 (or unless a loop limit of 30 is

reached!), then GTI-DIRINT changes the measured GTI, which is

interesting. So, measured GTI is actually a variable that's iterated

over in order to obtain a close match between modeled and measured

GTI. (It sounds a bit strange when writing that, that you change a

measured value to minimize residuals between the modeled and measured

value rather than assessing some other reason why they don't match

[2].) In other words, it allows measured GTI to change such that it's

not actually the measured value anymore (thus negating its own

definition). Again, not all reverse transposition algorithms work this

way, e.g., see PVsyst's.

Measuring the irradiance components (GHI, DNI, DHI or some combination

of two or more of these) will result in more accurate energy

simulations than starting with GTI only (assuming all are measured

accurately).

Plane-of-array irradiance is what ultimately flows through the PV

module model (e.g., diode model), but the component values (GHI, DHI,

DNI) are used in ancillary model calculations, e.g., of shading

losses, etc., so they're needed for the energy simulation and will

have some impact on the results.

[1] https://www.sciencedirect.com/science/article/pii/S0038092X15005757

[2] https://forum.pvsyst.com/topic/38-my-transposed-poa-values-dont-match-the-imported-values/

> To view this discussion on the web visit https://groups.google.com/d/msgid/pvlib-python/52bd1613-db5b-eae3-46ff-a766fc0553c9%40pvperformancelabs.com.

it's just meant to generate GHI, DNI, & DHI irradiance component

values for a given measured GTI (global tilted irradiance) which, for

the same global clearness index Kt, will reproduce the same GTI.

Different reverse transposition algorithms will have a different way

of calculating/optimizing Kt, DNI, and DHI (and, in the case of

GTI-DIRINT, optimizing measured GTI). The interesting aspect of

GTI-DIRINT, from my understanding/interpretation, is that the measured

GTI is not taken as "truth" (or rather, held constant) unlike with

certain other reverse transposition algorithms. If you see the flow

chart in Marion's paper [1], you iteratively calculate the Kt, then

calculate DNI from that Kt, then calculate DHI from that Kt & DNI, and

then check the residuals between modeled and measured GTI. If

residuals are not <=1 W/m^2 (or unless a loop limit of 30 is

reached!), then GTI-DIRINT changes the measured GTI, which is

interesting. So, measured GTI is actually a variable that's iterated

over in order to obtain a close match between modeled and measured

GTI. (It sounds a bit strange when writing that, that you change a

measured value to minimize residuals between the modeled and measured

value rather than assessing some other reason why they don't match

[2].) In other words, it allows measured GTI to change such that it's

not actually the measured value anymore (thus negating its own

definition). Again, not all reverse transposition algorithms work this

way, e.g., see PVsyst's.

Measuring the irradiance components (GHI, DNI, DHI or some combination

of two or more of these) will result in more accurate energy

simulations than starting with GTI only (assuming all are measured

accurately).

Plane-of-array irradiance is what ultimately flows through the PV

module model (e.g., diode model), but the component values (GHI, DHI,

DNI) are used in ancillary model calculations, e.g., of shading

losses, etc., so they're needed for the energy simulation and will

have some impact on the results.

[1] https://www.sciencedirect.com/science/article/pii/S0038092X15005757

[2] https://forum.pvsyst.com/topic/38-my-transposed-poa-values-dont-match-the-imported-values/

May 14, 2024, 2:37:31 PMMay 14

to pvlib-...@googlegroups.com

P.S. Regarding my statement on energy simulation accuracy, I actually

think it's going to depend on the details & particularities of the PV

system design & irradiance measurements (e.g., shadings, fields of

view, etc.). In fact, it might indeed often be more accurate to

measure POA irradiance accurately and accept the ancillary errors from

the calculated irradiance components (& related calcs which use these

data) - after all, accurate POA irradiance is of primary (first-order)

importance while accurate shade modeling, etc. are secondary

(second-order). But then you need to consider the details of the POA

measurements (e.g., fields of view w.r.t. the PV modules in the

array), esp. whether any biases are introduced. It's complicated/it

depends...

One more comment is I believe there may be some assumption of a

zero-tilt field of view baked somewhere into GTI-DIRINT (?), or

something like that, which might relate to your "ill-posed"

link/question, hence the statements in the Marion paper that the

method is most accurate at low tilt angles, but I'm not really sure,

and I must defer to other experts for now!

think it's going to depend on the details & particularities of the PV

system design & irradiance measurements (e.g., shadings, fields of

view, etc.). In fact, it might indeed often be more accurate to

measure POA irradiance accurately and accept the ancillary errors from

the calculated irradiance components (& related calcs which use these

data) - after all, accurate POA irradiance is of primary (first-order)

importance while accurate shade modeling, etc. are secondary

(second-order). But then you need to consider the details of the POA

measurements (e.g., fields of view w.r.t. the PV modules in the

array), esp. whether any biases are introduced. It's complicated/it

depends...

One more comment is I believe there may be some assumption of a

zero-tilt field of view baked somewhere into GTI-DIRINT (?), or

something like that, which might relate to your "ill-posed"

link/question, hence the statements in the Marion paper that the

method is most accurate at low tilt angles, but I'm not really sure,

and I must defer to other experts for now!

May 14, 2024, 2:57:26 PMMay 14

to Kenneth J. Sauer, pvlib-...@googlegroups.com

Thanks for your perspective and further references on this, Kenneth. Your point is well taken about if the measured POA irradiance value is held invariant or not in any given inverse method.

Indeed, a use case I have in mind is for computing the effective irradiance from a POA (aka GTI) irradiance measurement using the standard direct-component IAM correction and Marion’s diffuse-component IAM corrections. A related use case of interest to me is to transform an Isc measured by a fixed-tilt reference PV device to a new angle (say to apply the measurement series to a SAT simulation).

I will also point out this SAM-related reference:

To view this discussion on the web visit https://groups.google.com/d/msgid/pvlib-python/CAAkSiLtwjoEJ2_5S1km6-v%2Bjb3R8_ih3d1wJ0CbRDoYfv_fJkQ%40mail.gmail.com.

May 15, 2024, 11:13:46 AMMay 15

to Kenneth J. Sauer, pvlib-...@googlegroups.com

First, thanks Anton for all your work making these inverse problems more mathematically tractable by ensuring continuity.

My latest question concerns iterating the forward problem to solve the inverse problem: Why start all the way back at the GHI separation/decomposition (e.g., Erbs-Driesse) instead of starting at the transposition using DNI and DHI Inputs (e.g., Perez-Driesse)?

May 16, 2024, 7:17:39 AMMay 16

to pvlib-...@googlegroups.com

Glad you found the paper useful, Mark!

I'm not sure whether I fully understood your question. If we had
DNI available as input, then we could do things a little
differently...but usually if you have DNI, GHI is available too so
this is an unlikely scenario.

Anton

On 2024-05-15 17:13, Mark Campanelli
wrote:

First, thanks Anton for all your work making these inverse problems more mathematically tractable by ensuring continuity.

My latest question concerns iterating the forward problem to solve the inverse problem: Why start all the way back at the GHI separation/decomposition (e.g., Erbs-Driesse) instead of starting at the transposition using DNI and DHI Inputs (e.g., Perez-Driesse)?

Mark Campanelli

May 20, 2024, 10:10:23 AMMay 20

to pvlib-python

This is a plot of total POA irradiance vs. DNI and DHI inputs for a given solar position and surface orientation (calculated by totaling the output of pvlib.irradiance.beam_component, pvlib.irradiance.perez_driesse, and pvlib.irradiance.get_ground_diffuse). The fact that this function is not injective makes the reverse transposition fundamentally not unique, i.e., the inverse problem is ill-posed. (Continuity of pvlib.irradiance.perez_driesse helps ensure existence, however 🎉.) What additional information would nail down a unique and accurate inversion of POA -> (DNI, DHI)? (GHI is an obvious candidate, but commonly not available.)

May 20, 2024, 2:45:12 PMMay 20

to pvlib-...@googlegroups.com

Hi Mark,

The separation/decomposition model imposes an additional constraint on DNI and DHI so that at least most of the time you get a unique solution, or otherwise a small number of potential solutions. I think perhaps that is the answer to your earlier question as well.

Anton

On 2024-05-20 16:10, Mark Campanelli
wrote:

This is a plot of total POA irradiance vs. DNI and DHI inputs for a given solar position and surface orientation (calculated by totaling the output of pvlib.irradiance.beam_component, pvlib.irradiance.perez_driesse, and pvlib.irradiance.get_ground_diffuse). The fact that this function is not injective makes the reverse transposition fundamentally not unique, i.e., the inverse problem is ill-posed. (Continuity of pvlib.irradiance.perez_driesse helps ensure existence, however 🎉.) What additional information would nail down a unique and accurate inversion of POA -> (DNI, DHI)? (GHI is an obvious candidate, but commonly not available.)

On Thursday, May 16, 2024 at 5:17:39 AM UTC-6 anton....@pvperformancelabs.com wrote:

Glad you found the paper useful, Mark!

I'm not sure whether I fully understood your question. If we had DNI available as input, then we could do things a little differently...but usually if you have DNI, GHI is available too so this is an unlikely scenario.

Anton

On 2024-05-15 17:13, Mark Campanelli wrote:

First, thanks Anton for all your work making these inverse problems more mathematically tractable by ensuring continuity.

My latest question concerns iterating the forward problem to solve the inverse problem: Why start all the way back at the GHI separation/decomposition (e.g., Erbs-Driesse) instead of starting at the transposition using DNI and DHI Inputs (e.g., Perez-Driesse)?

Mark Campanelli

-- PV Performance Labs Emmy-Noether-Str. 2 79110 Freiburg Germany +49-761-8973-5603 (Office, daytime) +49-174-532-7677 (Mobile) www.pvperformancelabs.com

--

You received this message because you are subscribed to the Google Groups "pvlib-python" group.

To unsubscribe from this group and stop receiving emails from it, send an email to pvlib-python...@googlegroups.com.

To view this discussion on the web visit https://groups.google.com/d/msgid/pvlib-python/066c90ca-b7ea-4ebf-9be6-2d1b7f24d88dn%40googlegroups.com.

-- PV Performance Labs Emmy-Noether-Str. 2 79110 Freiburg Germany

+49-761-8973-5603 (Office) +49-174-532-7677 (Mobile) www.pvperformancelabs.com

Reply all

Reply to author

Forward

0 new messages

Search

Clear search

Close search

Google apps

Main menu