What PVGIS means by the horizon
Every street in the district sits under a skyline of some kind, whether it is the edge of a moor or the rise of the next hill across the valley. PVGIS, the European Commission's solar model, can take the shape of the surrounding land into account when it estimates output: it works out how high the ground rises in each direction around a point, and treats the sun as hidden whenever it sits behind that line (PVGIS 5.3). We ran each of the 13 places on this site twice, once with that terrain horizon and once without it, for 1 kW of panels facing due south at a 35° tilt.
The horizon is land, and only land. PVGIS knows nothing of trees, mill chimneys, the house across the street, your own chimney stack or the gable end of a taller neighbour. Those close obstructions are usually the bigger problem on a Bradford roof, and only someone looking at the roof itself can allow for them. The figures on this page answer a narrower question: how much does the shape of the ground take away?
PVGIS is open to anyone on the European Commission's site, so you can repeat the exercise for your own street. Pick the spot on its map, choose the roof's direction and tilt, and run it once with the calculated terrain horizon switched on and once with it off. If your house is not near any of the places in the table below, that is the quickest way to see what the land around you takes.
Place by place, with and without the hills
The table lists every place we ran, highest first, so that the elevation and the loss can be read side by side.
| Place | Elevation (m) | Without hills | With hills | Lost to the horizon |
|---|---|---|---|---|
| Queensbury | 339 | 935 | 934 | 0.1% |
| Wibsey | 253 | 934 | 934 | 0.0% |
| Haworth | 240 | 913 | 906 | 0.8% |
| Thornton | 221 | 932 | 929 | 0.3% |
| Idle | 186 | 941 | 941 | 0.0% |
| Bradford Moor | 175 | 941 | 941 | 0.0% |
| Manningham | 126 | 933 | 933 | 0.0% |
| Keighley | 116 | 919 | 917 | 0.2% |
| City centre | 113 | 935 | 934 | 0.1% |
| Ilkley | 103 | 933 | 922 | 1.2% |
| Bingley | 92 | 935 | 933 | 0.2% |
| Saltaire | 88 | 934 | 933 | 0.1% |
| Shipley | 77 | 934 | 929 | 0.5% |
For a south roof the land takes very little anywhere in the district. In the city centre the difference between the two runs is 0.1%. Keighley loses 0.2%, Thornton 0.3%, Shipley 0.5% and Haworth 0.8%. Ilkley loses the most of any place we ran, 1.2%, which fits a town lying low in Wharfedale with moorland rising on its southern side, the very direction a south roof faces. Even there, the hills take about one unit in every 85 a south roof would otherwise make, by our arithmetic.
Height on its own does not lower output
It is easy to assume that a house high on an exposed hill, in the cloud and the wind, must be a poor bet for panels. The PVGIS figures do not bear that out. Queensbury, at 339 m the highest place we ran, makes 934 kWh per kW a year, exactly what the city centre makes at 113 m. Idle, at 186 m, and Bradford Moor, at 175 m, share the top figure of 941. Shipley, the lowest place we ran at 77 m, makes 929. A hilltop roof often has a clearer skyline than one in the valley below it, which is why Queensbury loses only 0.1% to the horizon and Shipley 0.5%.
Haworth shows what is really going on further west. With the hills included it makes 906 kWh per kW, 28 less than the city centre. Switch the hills off and Haworth makes 913, still 22 less than the centre's 935. So most of Haworth's shortfall comes from the sunlight PVGIS records over that part of the district, not from the moors around the village, by our arithmetic. Keighley follows the same pattern, at 919 without the horizon and 917 with it. If you live in the Worth valley, the figure to plan around is the with-hills one, and the hills are only a small part of it.
Where the hills do bite: winter, and west-facing roofs
Yearly totals hide a seasonal pattern. In summer the sun climbs well above every ridge in the district and the horizon takes almost nothing. In winter it stays low in the southern sky, and a valley side can hide it for part of the day. Ilkley's December shows it plainly: PVGIS gives a south roof 23 kWh per kW with the horizon and 28 without it, a loss of about 18% in that month alone. In June the two figures are the same, 113 and 113. Across November to February, Ilkley loses 6.9%, Haworth 5.1% and Shipley 3.3%, against 0.7% in the city centre, by our arithmetic from PVGIS's monthly figures. In kWh the loss is still small: for a 4 kW south roof in Ilkley, the hills take about 20 kWh in December, out of about 3,688 kWh across the whole year.
Winter output is small everywhere, so these losses barely move the yearly total. They matter more if you are hoping panels will help with winter use, such as a heat pump, and the weather guide sets out how little any roof here makes in December.
Direction matters too. In the PVGIS terrain data, Haworth's skyline is highest to the west. A west-facing roof there loses 2.4% to the horizon and a south-west one 1.8%, against 0.8% facing south. Bingley shows a smaller version of the same effect on a west slope, 0.8%. If your roof looks towards rising ground in the afternoon, the sun drops behind it earlier than the open-sky figure assumes.
Valley-bottom terraces and hillside rows
Much of the district's older housing is terraced: 33% of households lived in a terrace at the 2021 Census (ONS). A terrace on a valley floor and a row cut into a hillside face different problems. On the valley floor the land horizon is a little higher, as Shipley's figures show, but the more pressing question is usually what stands close by: the next row up the slope, a mill, a chapel, or mature trees along the river. The stone terraces guide looks at chimney stacks, back extensions and dormers on those roofs.
On a hillside, the slope itself decides a great deal. Where streets climb a hill that faces south, each row looks out over the roofs below and the sky is usually open. Where a row sits on a north-facing slope, the ground rises to the south, between the roof and the winter sun, so even its south slope may see less sun than the PVGIS figure for the nearest place suggests. Stepped rows, where each terrace sits below the back of the next, can also shade one another when the sun is low.
None of this can be read from a table. It takes a look at the roof, ideally with the low winter sun in mind, which is part of what a good survey covers. If your roof is heavily shaded, a ground-level kit in the sunniest part of the garden is one alternative the plug-in solar guide covers.
How to check a quote's shading allowance
A useful quote says what shade it has allowed for, and by how much. Before you compare prices, ask each installer:
- whether the yearly kWh estimate includes shading, and from what: the land, trees, chimney stacks or neighbouring buildings;
- what the estimate would be with no shade at all, so you can see the size of the allowance;
- whether anyone has looked at the roof from the panel positions, or whether the figure comes from a desk;
- whether optimisers would help: the Energy Saving Trust says they stop one shaded panel from dragging down the others, and make no difference on an unshaded roof (Energy Saving Trust).
Then compare the quote's kWh per kW with the with-hills figure for your nearest place in the table. A quote well below it should come with a reason you can see from the street. A quote well above it deserves a question too: ask what the higher figure rests on. Check that the installer is certified on the MCS site and signed up to a consumer code such as the RECC, and use the installer checklist for the rest.
To put output and price side by side for your own house, try the house-age estimator and read what solar costs in the district. Shaded roofs also tend to grow moss and hold on to leaves, which the upkeep guide deals with.