Why diffuse shading?
SunCast currently models shading of external surfaces from the direct solar beam. However, shading from diffuse sky radiation is also an important effect. On hazy days, diffuse shading can reduce incident flux by up to 40%.
Diffuse shading is also significant for the calculation of longwave radiant exchange. Surfaces shielded from the sky will be subject to less radiation loss on cold, clear nights. The same diffuse shading factors can be used for both short and long wave shading calculations.
Diffuse shading parameters
Diffuse shading calculations require the effect to be quantified for each exposed surface of the building. This can be done with either a sky view factor or a diffuse shading coefficient.
The sky view factor is the view factor from the surface to the sky. This is the ratio of the diffuse sky radiation received by the surface to that which would be received by the same surface if it were completely exposed to the sky. (The theory assumes that the diffuse sky radiation is isotropic.)
The diffuse shading coefficient is the ratio of the diffuse sky irradiances with and without shading. These parameters are closely related, as described below.
Outline of calculation procedure
The basis of the proposed method is to calculate diffuse shading using the existing SunCast algorithm, thus avoiding the need to develop new algorithms.
A full year’s direct solar shading provides information about diffuse shading for a large part of the sky vault (that part of it the sun passes through in the course of a year). The idea is to supplement this data with additional shading calculations for a representative sample of points lying in the other parts of the sky. The view factors are then derived as suitably weighted averages of the shading factors calculated for all the sampled sky positions.
Notation
γ = solar altitude (radians)
α = solar bearing (radians clockwise from north)
Ω = solid angle
φ = site latitude (radians)
β = surface tilt from horizontal (radians)
θ = incidence angle for ray from sky source striking surface (radians)
δ = declination (radians)
r = position vector of a point on surface
A = area of surface
Definition of sky view factor
The view factor from the surface to the sky is
Fs = (1/πA) ∫ ∫ cos θ dA dΩ (1)
where the integral is carried out over the surface (dA) and the unobscured parts of the sky (dΩ).
If a shading function S(r,γ,α) is defined as 1 where the sky element dΩ is unobscured and 0 when it is obscured or lies behind the surface, the expression for Fs can be written
Fs = (1/πA) ∫ ∫ S(r,γ,α) cos θ dA dΩ (2)
where the integral is now carried out over the entire sky. This can be rearranged as
Fs = (1/π) ∫ ( ∫ S(r,γ,α) dA / A) cos θ dΩ (3)
= (1/π) ∫ D(γ,α) cos θ dΩ (4)
Where
D(γ,α) = ∫ S(r,γ,α) dA / A (5)
D(γ,α) is the fraction of the surface illuminated by the sky element at position (γ,α), ie the surface’s direct shading coefficient for a source at this sky position.
This is the quantity calculated by SunCast. Note that SunCast calculates D(γ,α) exactly, with no discretisation error (unlike a ray tracing algorithm).
Calculation of sky view factor
The method for calculating Fs is to perform a SunCast calculation for a number of sky source positions (γ,α) and estimate the integral (4) as a weighted sum of the D(γ,α) values so obtained. Some of the sky source positions will be hourly sun positions and others will be chosen to sample the parts of the sky not traversed by the sun.
An estimate of Fs is calculated from the following discretised version of (4):
<Fs> = (1/π) Σ D(γ,α) cos θ ΔΩ (6)
where ΔΩ is a finite element of solid angle around the sky source position and the sum is carried out over all sky sources.
In view of the approximation involved with this numerical integral, the estimate needs to be normalised to give the correct value when the surface is unshaded. By integrating (4) analytically with D(γ,α) set to 1 it is easy to show that the unshaded value of Fs, which we shall call Fsu, is
Fsu = (1 + cos β)/2 (7)
where β is the surface tilt measured from the horizontal.
Normalisation then gives the corrected sky view factor estimate as
<Fs>’ = <Fs> Fsu / <Fsu>, (8)
where
<Fsu> = (1/π) Σ cos θ ΔΩ (9)
Diffuse shading coefficient
The diffuse shading coefficient (d) is defined as the ratio of diffuse sky irradiances with and without shading:
d = <Fs>’ / Fsu (10)
which can be expressed alternatively, using (8), as
d = <Fs> / <Fsu> (11)
The diffuse shading coefficient will be written to the shading file and could also usefully be displayed in SunCast.
As an example to highlight the distinction between sky view factor and diffuse shading coefficient consider an unshaded vertical surface. This has a sky view factor of. (it sees only half the sky) but a diffuse shading coefficient of 1 (it is unshaded/has no shading).
Sky source positions
Figure 1 shows a map of the sky for a northern hemisphere site. Figure 2 shows a version of the same diagram in celestial coordinates (declination and right ascension).
Three sky regions are identified:
1. The region covered by sun positions (extending 23.2559o either side of the
celestial equator).
2. A cap centred on the celestial north pole.
3. A cap centred on the celestial south pole.
In region 1 the sun positions are spaced at 15o right ascension intervals along lines of constant declination. They do not, however, lie on a neat grid, due to the irregular shape of the earth’s orbit. They also tend to bunch up towards the summer and winter extremes (solstice sunpaths) and are more spread out at the celestial equator (equinox sunpath). We need to pick a representative sample of points from this set to cover region 1 adequately.
Regions 2 and 3 must be supplied with additional sky sources. The sources should be distributed uniformly, and at about the same density as the sun positions in region 1. A geodesic dome would be a good way to achieve this. To join up neatly with the sun position sources each dome should have a ring of points at (approximately) constant declination near the solstice sun path.
An estimate of the number of additional sources required in each polar cap (regions 2 & 3) can be obtained as follows.
The solid angle subtended by each cap is 2π (1sin(23.2599)) = 3.80 steradians.
The solid angle subtended by region 1 is therefore 4π – 2*3.80 = 4.96 steradians.
Of the sun positions in region 1 (about 12 months x12 hours = 144 in total) we will probably use about 96 in the diffuse shading calculations (discarding some sun paths near the solstices because they are close to others). As a first attempt we might use those for Mar 15, Apr 15, May 15, Jun 15, Sep 15, Oct 15, Nov 15 and Dec 15. This set includes dates near the summer & winter solstices and ensures good coverage of the central region.
To achieve about the same density of coverage in the polar caps, each cap will need about 96*3.80/4.96 = 74 sources. The total number of sources (including all sun positions) will therefore be about 144 + 2*74 = 292. This will roughly double the current calculation time for a full shading calculation.
Once the additional source positions have been calculated in celestial coordinates (declination & right ascension) they can be used for all models. They just need to be rotated by the appropriate latitude angle. Having picked the source points, we then need to calculate the solid angle of the sky element (ΔΩ).represented by each.
The solar declinations for the sun positions used for direct solar shading (region 1) will also be the same for all models. However, the right ascensions will not be the same, because of differences in ‘standard meridian’ (time zone).
Key: N = north S = south
Z = zenith

Figure 1: Sky regions in site coordinates (northern hemisphere site)
Figure 2: Sky regions in celestial coordinates
Key:
CN = celestial north pole
CS = celestial south pole
Miscellaneous points
For the additional sky sources it is not necessary to carry out internal shading calculations. This might save some computation time. On the other hand, not calculating internal shading could involve more programming effort.
It would be useful if the calculated diffuse shading factors could be displayed in SunCast, as attributes of external surfaces.
If diffuse shading is requested in SunCast this will automatically cause the calculation of direct shading for all the months involved in the diffuse shading calculation. It might be simplest if it caused the calculation of direct shading for all months.
SunCast should always calculate Apache shading for the 15^{th} day of the month (at present the user is given a choice of day).