Welcome to Tesla Motors Club
Discuss Tesla's Model S, Model 3, Model X, Model Y, Cybertruck, Roadster and More.
Register

Panel angle

This site may earn commission on affiliate links.
Wayne,
Solar declination is not the same as elevation. Elevation = 90 + declination - latitude for the northern hemisphere. They're different coordinate systems. I think (hope) what I wrote is correct. But the meaning of your last sentence isn't clear to me, neither the phrase "below the sun" nor why "below the sun" is better than the optimal angle at solar noon.
 
Last edited:
Wayne,
Solar declination is not the same as elevation. Elevation = 90 + declination - latitude for the northern hemisphere.
Yes, that is consistent with what I stated. If I've got my terminology correct, due overhead is elevation angle 90 deg and zenith angle 0 deg. So Zenith angle = 90 - Elevation, and per the above, that makes Zenith = latitude - declination, which is what you specified.

But the meaning of your last sentence isn't clear to me, neither the phrase "below the sun" nor why "below the sun" is better than the optimal angle at solar noon.
By "below the sun", I mean lower elevation angle.

As to why pointing your panel at the sun's location in the sky at solar noon isn't optimal for that day, note that is the perfect elevation angle for that single point in time, and all of the rest of the day, the sun's elevation angle will be lower. If the panel's azimuth is fixed, then at any point in time the best you can do with the elevation angle is to match the sun's current elevation.

So if you point the panel at the sun at solar noon as a starting point, and consider lowering the elevation angle of the panel a little, that's going to make things worse at solar noon, but better most of the rest of the day. Which will increase your production.

Cheers, Wayne
 
Now we can just vary tilt angle for that day, whatever tilt achieves the highest integral is the optimal tilt angle that gives the highest energy for that day.
First, thanks for the idea of considering the problem using a global earth frame of reference, rather than the local frame of reference at the location of the panels. I realized that integration commutes with matrix operations like rotations of R^3, which will be helpful in my next post.

But as to the above, there's no need to iterate to solve the problem as you've framed it. The dot product is linear in its arguments, and the instantaneous power is proportional to the sun vector S dot N, the panel normal vector. As such, we can just integrate S over the course of the day, and then take the dot product of the result with the panel normal N. Which dot product will clearly be maximized when N points at the integral of S.

Cheers, Wayne
 
Wayne,
I'll try again. The optimal tilt angle for solar noon is latitude - declination, as I said. You're quite right that this is also the solar zenith angle: the angle of the panel normal to vertical is equal to the tilt angle of the panel plane to horizontal.

Regarding the second point, it is my belief that once all the vector algebra is carried out including the change in solar azimuth during the day, it is conventional wisdom (or so I believe) that the tilt angle appropriate to noon is also the best for the rest of the day. I haven't done the calculation myself, but I think it does help to recognize that the solar declination is constant throughout the day (because it is measured wrt to the equator). That fact suggests to me that the angle of solar incidence on the panel is minimized throughout the day when the panel tilt is set for solar noon.
 
  • Disagree
Reactions: jhn_
But as to the above, there's no need to iterate to solve the problem as you've framed it. The dot product is linear in its arguments, and the instantaneous power is proportional to the sun vector S dot N, the panel normal vector. As such, we can just integrate S over the course of the day, and then take the dot product of the result with the panel normal N. Which dot product will clearly be maximized when N points at the integral of S.
OK, I have to retract the above. The issue is that if you tilt solar panel from anything other than straight up, that imposes a 2nd condition on when the sun is shining on the panel. I.e. the sun needs to both above the local horizon, and above the horizon of the solar panel. That means the bounds of integration may depend on the panel tilt angle. So you can't decouple the two as I hoped.

Between the fall equinox and spring equinox in mid-latitudes Northern hemisphere, I don't believe that is actually an issue, as the sun will always rise south of due east and set south of due west, and thus be constrained in a half-hemisphere. But in the other half of the year, when the sun rises north of due east and sets north of due west, then tilting the panel will mean that at sunrise above the horizon the sun won't have risen from the point of view of the panel.

Cheers, Wayne
 
OK, this is maybe still somewhat incomplete, but I've done the best I can for today, so decided to post.

Here's a symbolic partial exact answer for the no atmosphere (ignoring weather, refraction, dispersion, etc), spherical Earth, mostly circular orbit model. Angles in degrees. Probably some Northern hemisphere assumptions are unintentionally present. Ingredients we will need:

Inputs:

n = day number in the year, from 1 to 365.
L = latitude = 0 at equator, 90 at pole.

Parameters:

d = declination = solar noon signed zenith angle of the sun at the equator. This varies from -23.5 to 23.5, due to the Earth's tilt.
t = angle hour = 0 at solar noon = the signed angle the earth has rotated from solar noon.
(-a,a) = angle hours over which we integrate. A source of difficulty per the previous post.
a' = a * pi / 180 (convert a to radians)
S = unit vector of the Sun's location.
N = PV panel normal vector; panel azimuth is towards the equator.

Output:

T = PV panel's tilt angle = tilt towards equator compared to N being locally overhead.

Let's use a fixed frame of reference where the origin is the center of the Earth, the positive z-axis goes through our hemisphere's pole, the y-z plane includes our location (assume we aren't at a pole) and we have positive y, and the Earth is fixed with the sun apparently rotating overhead from negative x at sunrise to positive x at sunset.

The path of the sun is just the circle of latitude d (declination). So S(t) = (cos d sin t, cos d cos t, sin d). When the sun has risen sufficiently for the PV panel to produce, the instantaneous PV output's geometric factor is S dot N. If we integrate S dot N over the time period (-a, a) we get the total production geometric factor for that time period. We want to choose N to maximize that integral.

As commented earlier, if N is fixed for the day, the integration commutes with the dot product with N, so we can integrate S first, then take the dot product. That means we want N to point in the same direction as integral_(-a,a) S to maximize the dot product. [Assuming the bounds of integration don't depend on the choice of N, and S is never more than 90 degrees from N.] sin t is an odd function; d is fixed for the day, so cos d and sin d are constants; and the antiderivative of cos is sin. That makes the integral (0, cos d sin t, (sin d) t) | (-a,a) = (0, 2 sin a cos d, 2 a' sin d). [For integrating we need to use angles in radians.]

The angle this integral vector makes with the x-y plane is arctan (a' * tan d / sin a). The angle of N with the x-y plane is L - T. So we want L - T = arctan(a' * tan d / sin a), or T = L - arctan(a' * tan d / sin a).

Now we just need formulas for a and d as a function of day number n. Declination angle d is discussed here: Declination Angle | PVEducation It gives d = -23.45 * cos (360*(n+10)/365) for the circular orbit approximation, as well as other more exact formulas.

As to a, there's a choice involved. The simplest case is that we integrate from sunrise to sunset, which should work in mid-latitudes between the fall equinox and spring equinox. In which case Sunrise equation - Wikipedia gives a = arccos (-tan L * tan d).

Putting that all together, for these approximations and limitations, and inputs n, L, with angles in degrees, we get:

d = -23.45 * cos(360*(n+10)/365)
a = arccos(-tan L * tan d)
T = L - arctan( (a * pi / 180) * tan d / sin a)

For the other half of the year, you could try using an azimuth formula for the sun's location and choosing a to be the hour angle when the sun is due west. Then regardless of the panel tilt angle, the sun won't have set on the panel.

Cheers, Wayne
 
  • Informative
Reactions: jhn_ and zƬesla
As to why pointing your panel at the sun's location in the sky at solar noon isn't optimal for that day, note that is the perfect elevation angle for that single point in time, and all of the rest of the day, the sun's elevation angle will be lower. If the panel's azimuth is fixed, then at any point in time the best you can do with the elevation angle is to match the sun's current elevation.

So if you point the panel at the sun at solar noon as a starting point, and consider lowering the elevation angle of the panel a little, that's going to make things worse at solar noon, but better most of the rest of the day. Which will increase your production.
OK, that argument isn't right, please ignore. Instead:

On the equinox, at latitude L, the sun's noon zenith angle is just L. And the sun rises due east and sets due west. Those 3 points lie on a great circle G, and so the sun's arc is half a great circle. As such, the panel normal needs to also lie along G. I.e. the optimal tilt angle T = L (which is what the formulas I posted say, as tan d = d = 0).

However, on other days the sun's path is not a great circle, as it both rises and sets north (or south) of due E-W, while any great circle will intersect the equator at antipodal points. We can still define the great circle G based on the sun's noon location and the E-W axis, but now the sun's path will be above G during the summer half year, and below G during the winter half year. That means that the optimal panel normal vector would be above the sun's noon location during the summer, and below the sun's noon location during the winter, by considering the system as a perturbation from G. [I.e. it can't be the case as the sun's path deviates more and more from G, the optimal panel normal stays pointed at the (fixed during this perturbation) sun's noon location, by inspection on extreme cases.]

Cheers, Wayne
 
Yes, that explanation makes good qualititative sense. To check, I used a solar insolation spreadsheet with 5 minute summing intervals and this showed that at 38 degrees latitude south facing panels with 4 degreees of tilt gave about 1% more energy over the day of June 21 than using the 14.5 degrees of tilt that is optimal at solar noon. Interestingly, for Dec 21 the solar noon tilt should be 61.45 degrees, and 66 degrees was optimal over the whole day, but only yielded 0.4% more energy. I suppose the smaller effect in the winter has to do with greater absorption in the atmosphere. I guess that if the ground were snow covered, the optimal tilt would be even greater to take advantage of reflected light.

However, while the spreadsheet I used takes optical depth, sky diffusivity, and reflectance of surface into account, it assumes constant solar panel efficiency. I suppose that for most installations the panels become less efficient later in the day, and that would affect the summing if the temperature profile isn't symmetric about noon. I think this could be a bigger effect than the integrated insolation.
 
at 38 degrees latitude south facing panels with 4 degreees of tilt gave about 1% more energy over the day of June 21 than using the 14.5 degrees of tilt that is optimal at solar noon.
For these choices, using a = sunset hour angle of 109.8 degrees, the formulas I derived give an optimal tilt of -3.47 degrees. But I think that may be off due to the issue of the limits of integration I mentioned:

S(a) = (cos 23.45 * sin 109.8, cos 23.45 * cos 109.8, sin 23.45) = (0.863, -0.311, 0.398). While with T = -3.47 deg, N = (0, cos 41.47, sin 41.47) = (0, 0.749, 0.662). The dot product of N and S(a) is -0.029, which is negative, so indeed the sun has set on the panel before it sets on the horizon, as per the potential issue. [This, BTW, is a way to validate whether the formulas I posted work using the bounds of integration as the sunrise / sunset, or not. Unfortunately, if the dot product is negative, it doesn't tell you what bounds to use instead.]

If I arbitrarily adjust a to be 100 degrees (i.e. throw out the first 40 minutes after sunrise and before sunset), then T becomes 0.45 degrees. Which is more plausible. And then if I check the dot product of S(100) and the resulting N, and it is positive, I know that I've overcorrected, and the optimal tilt will be between 0.45 degrees and -3.47 degrees. [But I didn't do this as it's late.]

Cos(10) = 0.984, so you would expect a 1.5% improvement, just from the geometric aspects.

Interestingly, for Dec 21 the solar noon tilt should be 61.45 degrees, and 66 degrees was optimal over the whole day, but only yielded 0.4% more energy.
The formula I derived gives 67.46 as the optimal tilt angle for that day, but that is for a purely geometric model, while your spreadsheet includes some atmospheric effects. Again for the purely geometric model, the penalty for using 61.45 degrees should be a factor of cos(6 deg) = 0.9945, i.e. 67.46 degrees should be 0.55% better than the sun's noon zenith angle of 61.45 degrees.

Cheers, Wayne
 
  • Like
Reactions: BGbreeder
OK, this is maybe still somewhat incomplete, but I've done the best I can for today, so decided to post.

Here's a symbolic partial exact answer for the no atmosphere (ignoring weather, refraction, dispersion, etc), spherical Earth, mostly circular orbit model. Angles in degrees. Probably some Northern hemisphere assumptions are unintentionally present. Ingredients we will need:

Inputs:

n = day number in the year, from 1 to 365.
L = latitude = 0 at equator, 90 at pole.

Parameters:

d = declination = solar noon signed zenith angle of the sun at the equator. This varies from -23.5 to 23.5, due to the Earth's tilt.
t = angle hour = 0 at solar noon = the signed angle the earth has rotated from solar noon.
(-a,a) = angle hours over which we integrate. A source of difficulty per the previous post.
a' = a * pi / 180 (convert a to radians)
S = unit vector of the Sun's location.
N = PV panel normal vector; panel azimuth is towards the equator.

Output:

T = PV panel's tilt angle = tilt towards equator compared to N being locally overhead.

Let's use a fixed frame of reference where the origin is the center of the Earth, the positive z-axis goes through our hemisphere's pole, the y-z plane includes our location (assume we aren't at a pole) and we have positive y, and the Earth is fixed with the sun apparently rotating overhead from negative x at sunrise to positive x at sunset.

The path of the sun is just the circle of latitude d (declination). So S(t) = (cos d sin t, cos d cos t, sin d). When the sun has risen sufficiently for the PV panel to produce, the instantaneous PV output's geometric factor is S dot N. If we integrate S dot N over the time period (-a, a) we get the total production geometric factor for that time period. We want to choose N to maximize that integral.

As commented earlier, if N is fixed for the day, the integration commutes with the dot product with N, so we can integrate S first, then take the dot product. That means we want N to point in the same direction as integral_(-a,a) S to maximize the dot product. [Assuming the bounds of integration don't depend on the choice of N, and S is never more than 90 degrees from N.] sin t is an odd function; d is fixed for the day, so cos d and sin d are constants; and the antiderivative of cos is sin. That makes the integral (0, cos d sin t, (sin d) t) | (-a,a) = (0, 2 sin a cos d, 2 a' sin d). [For integrating we need to use angles in radians.]

The angle this integral vector makes with the x-y plane is arctan (a' * tan d / sin a). The angle of N with the x-y plane is L - T. So we want L - T = arctan(a' * tan d / sin a), or T = L - arctan(a' * tan d / sin a).

Now we just need formulas for a and d as a function of day number n. Declination angle d is discussed here: Declination Angle | PVEducation It gives d = -23.45 * cos (360*(n+10)/365) for the circular orbit approximation, as well as other more exact formulas.

As to a, there's a choice involved. The simplest case is that we integrate from sunrise to sunset, which should work in mid-latitudes between the fall equinox and spring equinox. In which case Sunrise equation - Wikipedia gives a = arccos (-tan L * tan d).

Putting that all together, for these approximations and limitations, and inputs n, L, with angles in degrees, we get:

d = -23.45 * cos(360*(n+10)/365)
a = arccos(-tan L * tan d)
T = L - arctan( (a * pi / 180) * tan d / sin a)

For the other half of the year, you could try using an azimuth formula for the sun's location and choosing a to be the hour angle when the sun is due west. Then regardless of the panel tilt angle, the sun won't have set on the panel.

Cheers, Wayne
Last night I only had enough time to visualize your frame of reference and realize it's the same polar-earth centric reference I was using. Though you are rotating the sun around a fixed-earth, while I was visualizing rotating the earth under a fixed sun (because... Galileo?) , either way it's the same. But I do like your labels better than my abstract a, b, c, angles, so I diagrammed it out for others.

solar optimal tilt.png



We're solving it in slightly different ways, but we're both essentially calculating the incidence angle (let's use i) between the S sun vector and N panel normal vector. I'm solving for it directly with spherical trig (I've re-cast the formula using your labels), while you're representing as S dot N = cos i. Since cosine of i is the actual panel irradiation relative to 1 (perfectly pointed at the sun), we're both integrating that over time (t) from angle hours -a to a, to get the total irradiation over the day.

I did follow your calculations (thanks for the refresher on integrating trig functions!) of
Integral of i (t) = Integral of ( S(t) dot N ) = (Integral of S(t) ) dot N
yielding Integral of S(t) from t=-a to t=a with the [x,y,z] result of

[0, 2 sin a cos d, 2 a' sin d]

So far so good. I got stumped by what an "integral vector" meant, yes, we integrated a vector, and got a vector, but does it have any visual meaning? And why did you not follow through with the dot product with vector N? Why care specifically about the angle above xy plane. But finally I realized you are giving the resulting vector a human meaning, basically the weighted-average direction of the sun over the day. And since we integrated it equally before and after solar noon, x = 0 in the integral vector. So the two remaining coordinates of the integral vector are the weighted average y and z coordinates of the sun, and y/z = tan (weighted average elevation of the sun above the equatorial line). And you're saying optimal tilt is when L-T is pointed at the weighted average elevation over the day (and not the intuitive highest elevation at solar noon = solar declination).

Although from the integral vector above, I get y / z = (2 sin a cos d )/ ( 2 a' sin d) = sin a / (a' * tan d), should equal tan (L-T), why am I inverted from yours?

Similarly, if I solve using the integral vector of S(t) above, and follow through with integral of i(t) = (integral S(t) ) dot N (dot product)
vector N = [ 0 , sin (L-T), cos (L-T) ]
I get integral i(t) = (0 * 0) + (2 sin a cos d sin (L-T)) + (2 a' sin d cos (L-T) = 2 sin a cos d sin (L-T) + 2 a' sin d cos (L-T)

If we want to find T that maximizes that, find where the derivative of that with respect to dT or easier d (L-T) is equal to zero?
d(integral of i)/d (L-T) = 2 sin a cos d cos (L-T) - 2 a' sin d sin (L-T) = 0
2 sin a cos d (L-T) = 2 a' sin d sin (L-T)
sin a = a' tan d tan (L-T)
tan (L-T) = sin a / (a' tan d)
So again I seem to be inverted? Anyways, a very cool solution once I figure that out...

I haven't validated my formula using spherical trig, but since I'm solving for i(t) directly, and you've refreshed me on how to integrate trig functions, I should be able to integrate formula for i directly, with i recast as:
cos i (t) = cos (90-d) cos (90 - L + T) + sin (90-d) sin (90 - L + T) cos t

Will be cool to run some numbers and find out...
 
  • Helpful
Reactions: BGbreeder
Although from the integral vector above, I get y / z = (2 sin a cos d )/ ( 2 a' sin d) = sin a / (a' * tan d), should equal tan (L-T), why am I inverted from yours?

Similarly, if I solve using the integral vector of S(t) above, and follow through with integral of i(t) = (integral S(t) ) dot N (dot product)
vector N = [ 0 , sin (L-T), cos (L-T) ]
I get integral i(t) = (0 * 0) + (2 sin a cos d sin (L-T)) + (2 a' sin d cos (L-T) = 2 sin a cos d sin (L-T) + 2 a' sin d cos (L-T)
Ah, funny, each morning when I'm waking up I have a moment of lucidity: error was I temporarily mistook which axis was vertical (should be z, not y) off the equatorial plane. So the tan was z/y, not y/z, so flip it and all good. Similarly, corrected vector N = [0, cos {L-T), sin {L-T)] ... all good there too.
 
Last night I only had enough time to visualize your frame of reference and realize it's the same polar-earth centric reference I was using. Though you are rotating the sun around a fixed-earth, while I was visualizing rotating the earth under a fixed sun (because... Galileo?) , either way it's the same.
Yes, that's why I thanked you for the example of using that frame of reference. As to whether the sun orbits or the earth rotates, most of the treatments I looked at used an orbiting sun, and I do think that is easier for most to work with.

I got stumped by what an "integral vector" meant, yes, we integrated a vector, and got a vector, but does it have any visual meaning?
Yeah, I'm not sure I have the best explanation for that. But it represents, as long as the sun doesn't set on the panel between the bounds of integration, a location in the sky and relative insolation rate such that the full insolation from the Sun on a fixed panel between times -a and a is the same as the insolation at this higher rate from this fixed location in the sky for 1 unit of time.

And why did you not follow through with the dot product with vector N?
With the assumptions and restrictions made, there's no actual need to take the dot product, integrate, and then solve for the vector N that will maximize that integral. Rather, we know the integral and the dot product commute (can be done in either order), so we can just integrate S and consider the dot product of N with integral S. We know that to maximize that dot product, N and integral S should be colinear. So we just find the direction integral S is pointing, and point N at it.

Now this argument depends on the fact that the bounds of integration (-a, a) do not depend on N. So for the high latitude/near the solstice case where the sun may set on the panel before it sets on the horizon, that doesn't work. For this case, if I have a chance, I will in fact try to determine the bounds (-a, a) dependent on N, and do the integration with those bounds to come up with a relative production factor for a specific N. Then I can try to find the value of N that maximizes that production factor with the usual derivative = 0 technique.

Cheers, Wayne
 
  • Helpful
Reactions: BGbreeder
Thanks again to @wwhitney, @wwu123, and others for your suggestions and sharing your mathematical expertise on this.

For anyone looking to get a daily listing of solar noon angles given a lat/long, NREL's SPA (link below) seems like the way to go, and a simpler approach than NREL's full SOLPOS service which is too granular (seconds to hourly -vs- SPA's daily) yet is the main one that kept coming up on searches. SPA lets you choose solar noon and enter lat/long, UTC time diff, and start/end dates. The only thing that needs to be calculated appears to be DST.

 
  • Helpful
Reactions: BGbreeder
For anyone looking to get a daily listing of solar noon angles given a lat/long
If all you want is the elevation angle of the sun at solar noon, that's easy to calculate. It's 90 degrees (equator sun at equinox) - latitude + declination angle. [If you're in the tropics or southern hemisphere, that is measured from due south, so may sometimes be above 90 degrees.] There are various increasingly accurate approximations for declination angle d, but per my earlier post, one simple one is d = -23.45 * cos (360*(n+10)/365), where n is the day number (January 1 = 1, etc).

Cheers, Wayne
 
This doesn't answer OP's question. To me calculations are great. Web sites to give you a starting point are great. After you have a calculated starting point every month what happens if you look at your production for a day. Then the next day add a degree and note your production. Then the next day subtract two degrees and note your production. Figure out which direction is giving you more production. Adjust the degree in the direction of the most production. Fine tune it. It seems to me, after you or a web site have calculated the optimum angle, there may be something that is not being addressed. Like the construction of your panels. Isn't the most production the most important? Of course I could be way off base because I've never tried this.
 
This doesn't answer OP's question. To me calculations are great. Web sites to give you a starting point are great. After you have a calculated starting point every month what happens if you look at your production for a day. Then the next day add a degree and note your production. Then the next day subtract two degrees and note your production. Figure out which direction is giving you more production. Adjust the degree in the direction of the most production. Fine tune it. It seems to me, after you or a web site have calculated the optimum angle, there may be something that is not being addressed. Like the construction of your panels. Isn't the most production the most important? Of course I could be way off base because I've never tried this.
I think day-to-day production differences due to temperature and wind will dominate the change from the angle. I saw a 10% difference between Sunday (high of 88) and yesterday (high of 74).