Four sun-path facts for Tirupati
- At 13.63° N the sun at solar noon stands 52.9° above the horizon on 21 December and 76.4° at the equinoxes. Around 21 June it is 80.2° up but to the north of you.
- Solar noon in Tirupati falls between about 11:56 and 12:26 on an IST clock. The 82.5° E reference meridian adds 12.3 minutes, and the equation of time moves it by −14 to +16 minutes.
- Under a clear-sky beam model, every south-facing tilt from 5° to 20° is within 1% of the 13.6° yield. Flat panels lose about 2.2%, so wind, cleaning and row spacing decide the tilt.
- Modules 2.28 m long at 10° tilt need a 2.64 m row pitch to stay unshaded from 9:00 to 15:00 on 21 December. That is a ground coverage ratio of 0.86.
A flat-roof layout drawing carries numbers that look arbitrary: a tilt of 10°, a row pitch of 2.7 m, a 1.2 m setback from the parapet. Each follows from where the sun is on a given day and hour, and that can be calculated from latitude, date and time with a few trigonometric formulas.
This guide builds those formulas from first principles. We fix the conventions first, derive the sun's altitude and azimuth from one vector dot product, and from it get day length, the angle at which light meets a tilted module, the effect of tilt on annual beam energy and the spacing between rows. The worked examples use Tirupati (about 13.63° N, 79.42° E) and every figure was computed in Python. For the energy side, continue to our guide to solar energy yield and performance ratio.
Angles, symbols and sign conventions
Solar geometry usually goes wrong through sign conventions, not trigonometry. They are fixed here, and every symbol is defined before use.
- is the latitude in degrees, positive north. For Tirupati, .
- is the site longitude in degrees east (79.42° for Tirupati). is the reference meridian of the time zone: 82.5° E for Indian Standard Time (IST).
- is the day number of the year, with 1 January as 1.
- is the solar declination in degrees: the angle between the sun's rays and the equatorial plane, positive when the sun is north of the equator.
- is the hour angle in degrees: zero at solar noon, negative before it, positive after it, changing 15° every hour.
- is the solar altitude above the horizontal. The zenith angle is .
- is the solar azimuth from due south, east negative and west positive. A south-east sun has near −45°. Add 180° for a compass bearing.
- is the module tilt from horizontal and the azimuth it faces, with the same signs as . A module facing due south has .
- is the angle of incidence between a sun ray and the perpendicular (normal) to the module.
We assume a point sun with parallel rays, no atmospheric bending (under 0.6° even at the horizon) and a flat, level roof. The resulting angles are accurate to a fraction of a degree.
Why the sun's path changes: declination
The Earth's axis is tilted about 23.44° from the perpendicular to its orbit and points in a nearly fixed direction in space, so over a year the sun moves north and south of the equatorial plane. On about 20 March and 23 September ; on 21 June ; on 21 December . Cooper's approximation (1969) gives it from the day number alone:
The sine captures the smooth annual swing and the 284-day offset puts the zero crossing at the March equinox. Against the NOAA astronomical series, the largest difference over the year is 0.98°, in mid-October, so treat it as good to about a degree.
Worked example. For 16 October, . The angle inside the sine is , which is after removing one full turn. Then , so:
The sun is about 10° south of the equator, as expected a few weeks after the September equinox. NOAA gives −8.99°, which is the one-degree error mentioned. Tirupati's latitude is 13.63° N, so the sun is directly overhead at noon twice a year, when : around 27 April and 15 August. Between those dates the noon sun is north of you, which matters for water-tank shadows later.
Solar time versus clock time
Solar time is set by the sun, with noon when it crosses your meridian. Your clock shows standard time for a whole country. Define and as clock and solar time in minutes after midnight, and as the equation of time in minutes, the difference between apparent and uniform mean time. Then:
The factor 4 arises because the Earth turns 15° per hour, which is 4 minutes per degree. Tirupati is 3.08° west of the 82.5° E meridian, so the longitude term is minutes: solar noon comes 12.32 minutes after clock noon before the second correction.
The equation of time arises because the orbit is an ellipse and the axis is tilted. Spencer's approximation (1971) uses an angle that advances about 1° a day:
The result is in minutes (229.18 is 1440 minutes divided by ). Against NOAA it stays within about 0.8 minutes all year.
Setting gives the clock time of solar noon:
Worked example, 16 October. With , and minutes. Then min, which is 11:57:42 IST. A clock reading of 10:00 IST is a solar time of minutes, or 10:02:18, so the hour angle is
The negative sign confirms that this is before solar noon. The table repeats the calculation for other dates.
| Date | Equation of time E (min) | Solar noon (IST clock) |
|---|---|---|
| 11 February | −14.2 | 12:26:32 |
| 20 March | −8.2 | 12:20:29 |
| 21 June | −1.3 | 12:13:39 |
| 16 October | +14.6 | 11:57:42 |
| 3 November | +16.4 | 11:55:57 |
| 21 December | +2.2 | 12:10:09 |
A shading study quoted in IST hours must apply both corrections, since 30 minutes of error moves the sun by 7.5°. Our Tirupati solar guide covers the local climate and approvals.
Solar altitude and azimuth from vectors
We want the altitude from latitude, declination and hour angle. The cleanest route uses unit vectors (arrows of length 1). Use an Earth-fixed frame: along the rotation axis towards the north pole, from the Earth's centre to where the observer's meridian crosses the equator, and towards the east. The local vertical makes angle with the equatorial plane and has no east component. The sun makes angle with that plane and lies west of the meridian, so in the morning (negative ) it has a positive east component. That gives:
Here points up and points to the sun. The dot product of two unit vectors is the cosine of the angle between them, and that angle is the zenith angle, with . So:
At solar noon () this reduces to . At Tirupati on 21 December the noon altitude is ; at the equinoxes it is .
For the azimuth we need the sun's south and west components. Dotting with the local east vector and north vector , and reversing the sign of the east and north results, gives:
These equal times the cosine and sine of the azimuth. Dividing by gives the working form, where atan2 is the two-argument arctangent that returns the correct quadrant:
Atan2 matters here: between late April and mid-August the noon sun at Tirupati is north of you, and an arcsine formula cannot tell a south-east sun from a north-east one.
Worked example. Take 16 October at 10:00 IST: , , . Then , , , , and
so and . For the azimuth, and , so : a compass bearing of 127.4°, south-east. A south-east sun about 52° up at 10 in the morning in mid-October is what you would expect.
Sunrise, sunset and day length
At sunrise and sunset . Writing for the sunset hour angle in degrees, the altitude equation gives
The sun is up from to , and at 15° per hour the day length in hours is
This holds when , always true in India. For Tirupati . On 21 December , so , and h (11 h 12 min). The table uses the idealised and . The refraction column allows for atmospheric bending and the sun's disc, which add about 7 to 8 minutes.
| Date | Declination δ | cos ωs | ωs | Geometric day length | With refraction | Sunrise (solar time) |
|---|---|---|---|---|---|---|
| 21 December | −23.45° | +0.1052 | 83.96° | 11.19 h (11 h 12 min) | 11.32 h (11 h 19 min) | 06:24 |
| Equinox | 0° | 0.0000 | 90.00° | 12.00 h (12 h 00 min) | 12.11 h (12 h 07 min) | 06:00 |
| 21 June | +23.45° | −0.1052 | 96.04° | 12.81 h (12 h 48 min) | 12.93 h (12 h 56 min) | 05:36 |
Sanity check: the equinox day is 12 hours at any latitude. Summer and winter differ by only 1.6 hours at Tirupati, so the season changes the sun's height far more than the day length.
Tilted surfaces and the angle of incidence
A beam of 1 m² cross-section hitting a module at angle from the normal spreads over square metres, so each square metre receives times the intensity. With the beam irradiance on a surface square to the sun, in W/m², the beam power per unit module area is
This is the cosine loss: 86.6% of the full beam at , 50% at . In local south, west and up coordinates the sun is and the module normal is . Their dot product gives the general formula:
It holds while the sun is above the horizon and ; a negative value means the sun is behind the module and the beam contribution is zero.
The equivalent-latitude shortcut for south-facing modules
For a south-facing module there is a neater route. Tilting it by turns its normal from the local vertical towards the equator, giving : the vertical of a site at latitude . Dotting with :
This is the altitude formula with replaced by . A tilt equal to the latitude makes the equivalent latitude zero, so and the noon angle of incidence is , never above 23.45°.
Worked example. Same instant as before (16 October, 10:02 solar time), with so . Then , . The flat surface has , so the tilted module collects times as much beam per square metre, about 8% more. The general formula with and returns the same 0.858.
At noon the seasonal effect is stronger. On 21 December a flat surface has and the 13.6° module , a gain of 15.0%. On 21 June the sun is north of the zenith: flat gives and tilted , a loss of 6.9%. A fixed tilt trades summer beam for winter beam.
Choosing the tilt angle
To compare tilts we sum the beam power on the plane over every daylight minute of the year. The model is deliberately simple:
- Every day is clear and only beam light counts; diffuse light, clouds, temperature and soiling are ignored.
- Beam irradiance square to the sun is kW/m², a standard clear-sky relation. Here is the air mass, 1.353 an older value of the solar constant and 0.7 the transmittance per air mass.
- Declination comes from Cooper's formula for each day , with one-minute steps and the sun counted above 1° altitude.
is the annual beam energy per square metre of south-facing plane, in kWh/m². The absolute values are a clear-sky ceiling, so only the ratios between tilts carry meaning. The last column, , is the share of isotropic sky-diffuse light a tilted plane keeps relative to a flat one.
| Tilt β | 21 Dec (kWh/m²/day) | 21 Jun (kWh/m²/day) | Annual H (kWh/m²) | Versus 13.6° | Diffuse factor |
|---|---|---|---|---|---|
| 0° | 4.62 | 6.86 | 2,210 | −2.2% | 1.000 |
| 5° | 4.98 | 6.64 | 2,242 | −0.7% | 0.998 |
| 10° | 5.30 | 6.36 | 2,258 | 0.0% | 0.992 |
| 13.6° | 5.51 | 6.14 | 2,258 | 0.0% | 0.986 |
| 20° | 5.82 | 5.68 | 2,238 | −0.9% | 0.970 |
| 30° | 6.17 | 4.83 | 2,151 | −4.8% | 0.933 |
The curve is very flat. The model's maximum lies near 12°, about 1.6° below the latitude, and every tilt from 8° to 16° is within 0.3% of it. Moving from flat to 13.6° adds 2.2% a year, raises the 21 December total by 19% and lowers the 21 June total by about 11%. A 30° tilt gains 34% on 21 December, gives up 30% on 21 June and ends 4.8% behind on the year.
Why 10° to 15° is the usual rooftop choice
Because yield barely changes, other factors decide. A tilt of 8° to 10° or more lets rain wash dust off the glass, while lower tilts generally present less area to the wind and allow closer rows. Our Tirupati guide suggests 13° to 15° as a starting layout and our system sizing guide 12° to 15°.
This is a beam-only model: The true optimum depends on the diffuse share of light and on the cloud pattern of the south-west and north-east monsoons. Cloudier skies favour lower tilts, as the last column suggests. Use the table for the shape of the trade-off, and a site simulation with measured irradiance for yield claims.
Shadows and row spacing
On a flat roof each row must avoid shading by the row in front during the hours that produce most of the energy. Define as the module slant length in metres (the long side in portrait) and as the tilt. The top edge of a row then stands above its lower edge, and the row has horizontal depth . The row pitch is the north-south distance between the lower edges of successive rows.
The length of a shadow
A point at height casts its shadow along the sun's ray, which descends at angle . By similar triangles the shadow on level ground has length and points away from the sun. Resolving it along north and east with the solar azimuth:
is how far north the shadow tip lands and its offset to the east, negative (west) when the sun is in the east. In vector form and . A south-east or south-west sun spreads the length sideways, so the north reach is shorter than .
Pitch for no shading from 9:00 to 15:00
The top edge's shadow lands north of it, and the next row's lower edge is north of that edge. For no shading the gap must be at least at the worst moment:
The reach is longest at the window edges, on the day the noon sun is lowest: the winter solstice. Using 9:00 to 15:00 solar time on 21 December is a common design rule, but it is a design choice, not a law of nature. In the beam model above, about 78% of the 21 December beam energy on a 10° plane arrives inside that window; the first and last hour may see some shading.
The ground coverage ratio, the fraction of the roof strip occupied by module area, is
Worked example. Modules 2.28 m long in portrait at , at Tirupati on 21 December. At 9:00, and . The altitude equation gives , so . The azimuth is , so . The height of the top edge is
The shadow length is m, and its north reach is m. The depth of the row is m. Then:
At 12:00 the reach is only 0.299 m, so the window edges do set the pitch. Errors in matter little: Cooper's value is accurate to 0.01° on 21 December, and even a full degree would change this pitch by under 2 cm. The table repeats the calculation for other tilts (2.28 m modules, 9:00 to 15:00).
| Tilt β | Top-edge height h (m) | Row depth l cos β (m) | Shadow reach (m) | Pitch P (m) | GCR |
|---|---|---|---|---|---|
| 5° | 0.199 | 2.271 | 0.200 | 2.471 | 0.923 |
| 10° | 0.396 | 2.245 | 0.398 | 2.643 | 0.863 |
| 13.6° | 0.536 | 2.216 | 0.539 | 2.755 | 0.828 |
| 15° | 0.590 | 2.202 | 0.593 | 2.796 | 0.816 |
| 20° | 0.780 | 2.143 | 0.784 | 2.927 | 0.779 |
Each extra 5° of tilt costs about 0.13 to 0.17 m of pitch. The window matters too. At 10° tilt, 10:00 to 14:00 needs a 2.58 m pitch (GCR 0.884), 9:00 to 15:00 needs 2.64 m (0.863) and 8:00 to 16:00 needs 2.80 m (0.814). Yield is flat across tilts but pitch is not, so a lower tilt packs more modules into a roof.
For scale, an illustrative 1.13 m wide, 550 W module at this pitch takes 3.00 m² of roof strip, or 5.4 m² per kWp (about 59 sq ft). That is the bare array field; the 80 to 100 sq ft per kW rule in our sizing guide also covers walkways and setbacks. Use your own datasheet.
Shading is not all-or-nothing: A shadow on a module's lower edge does not switch it off, because bypass diodes isolate shaded cell groups. The loss depends on the module's internal layout and orientation; see our guide to modules, bypass diodes and the I-V curve.
Parapets and water tanks on a terrace
The same shadow formulas apply to any obstruction. For one of height above the roof, with the lower edge of the nearest module raised above the roof, the module is shade-free at distance north of it if
This is the pitch equation with in place of . It is conservative, since the module surface rises away from its lower edge, the hardest point to clear.
A 1 m parapet
Take a 1 m parapet on the south edge and a module lower edge at roof level (). On 21 December the formula gives 1.005 m at 9:00 and 15:00, 0.846 m at 10:00 and 14:00, 0.776 m at 11:00 and 13:00 and 0.756 m at noon. The first row therefore starts about 1.0 m north of the parapet. Raising the lower edge 0.3 m cuts the setback to about 0.70 m. East and west parapets behave differently: at 9:00 the shadow of a 1 m wall reaches 1.209 m westward (), so keep about 1.2 m clear of the east parapet in the morning and of the west parapet at 15:00.
A 1.8 m water tank
A 1.8 m tank is more serious. On 21 December its shadow tip lies 1.81 m north and 2.18 m west at 9:00, 1.36 m north at noon, and 1.81 m north and 2.18 m east at 15:00. Anything in that fan, plus the tank's width, is shaded at some hour. Around 21 June the noon sun is north of the zenith and the shadow falls south, only 0.31 m long at noon and 0.58 m at 9:00. So put the tank on the north side of the array: its winter shadow then points away from the modules and its summer shadow is short.
Electrically, a shadow on one module can limit the current of its whole string, so a shade survey should give measured heights, a plotted shadow envelope for the design window and strings assigned so that shaded modules sit together. Take measurements from safe positions away from unprotected terrace edges, and remember that PV strings are live whenever light falls on them.
Using this on your own roof
The workflow is short. Fix a tilt of 10° to 15°, compute the winter-solstice altitude and azimuth at the edges of your window (32.46° and 50.25° at 9:00 and 15:00 in Tirupati), add the shadow reach of the top edge to the row depth for the pitch, and check each obstruction with the setback formula. A ten-line script reproduces every table here.
These are first-order results; real designs add walkways, wind and structural limits and a loss simulation. If you would like this done for your own terrace, with the shadow envelope of your tank and parapets drawn on a layout, book a free power audit with Ray2Volt.
Frequently asked questions
What is the best tilt angle for solar panels in Tirupati?
Under a clear-sky beam model, the annual maximum for a fixed south-facing plane at Tirupati lies near 12 degrees, just below the 13.63 degree latitude. The curve is flat: every tilt from 8 to 16 degrees is within 0.3% of it. Designers therefore choose 10 to 15 degrees for rain cleaning, lower wind load and closer rows.
Why is solar noon not at 12:00 on my clock?
Indian Standard Time is set for the 82.5 degrees east meridian, while Tirupati is at 79.42 degrees east. At 4 minutes per degree, the sun crosses the Tirupati meridian 12.32 minutes after clock noon. The equation of time then adds between minus 14 and plus 16 minutes, so solar noon falls between about 11:56 and 12:26 IST.
How do I calculate the sun's height above the horizon?
Use sin(altitude) = sin(latitude) × sin(declination) + cos(latitude) × cos(declination) × cos(hour angle), with the hour angle at 15 degrees per hour from solar noon, negative in the morning. At Tirupati on 16 October at 10:02 solar time this gives 52.46 degrees.
How far apart should rows of solar panels be on a flat roof?
The pitch is module length × cos(tilt) plus the shadow reach of the top edge, module length × sin(tilt) × cos(azimuth) / tan(altitude). With 9:00 to 15:00 solar time on 21 December as the design window, a 2.28 m module at 10 degrees tilt needs a pitch of about 2.64 m, a ground coverage ratio of 0.86.
How much roof clearance does a parapet or water tank need?
Clearance is the obstruction height × cos(azimuth) / tan(altitude) at the sun position that sets your design window. For Tirupati on 21 December at 9:00 and 15:00, a 1 m parapet shades about 1.0 m to its north and a 1.8 m tank about 1.8 m to its north, plus up to 2.2 m sideways. Confirm heights with a site survey.
Get the shade and spacing checked on your roof
Send Ray2Volt your roof details. Our engineers can measure obstructions, plot the winter shadow envelope and propose a tilt and row pitch for your site.