Hi all!
My apologies if this message is much too long ...
Greg was asking about adding the efficacy correction factors into gensky:
as he already noticed this would cause many troubles with old scripts,
so I think that it is better not to make this change. Moreover, as
already pointed out, the sun/sky luminous efficacies do vary with solar
position and there can't be any agreed average standards ... they also
depend on site location ...
I have a few thoughts about gensky and the CIE standard skies that it models.
First I'll give a description of the gensky behaviour and of the
formulas that it uses (as far as I can understand from the gensky.c code),
and then I'll make a short proposal about some integrations that can be
done. I would like to receive some feedback about my ideas.
Part 1: gensky
gensky at the moment behaves this way (I hope not to make any error ...):
1. it can model uniform skies
2. it can model CIE standard clear skies (as described in CIE 110-1994)
3. it can model CIE standard overcast skies (as described in CIE 110-1994 and
previous standards)
4. it can model non standard intermediate skies, whose definition is contained
inside src/gen/gensky.c and /src/gen/skybright.cal
(I've already asked this question 1 year ago: is it possible to give a
reference about where the intermediate sky definition was taken from?)
If it is given zenith radiance (-b) and solar radiance (-r), gensky uses
directly the CIE formulas or the intermediate sky formula, since all the
sky distribution parameters are already defined, but it is not very usual to
have measured sequences of such weather data (at least not in Italy where
there isn't any IDMP station and sky scanners have only been watched in
photographs ...).
DIRECT CONTRIBUTION from the sun
If we provide gensky with horizontal direct irradiance (ees),
solar radiance (solarbr) is computed with the following formula:
solarbr = ees/(6e-5*sin(sunaltitude))
If we only specify location and time, gensky uses the following formula:
solarbr = 1.5e9/SUNEFFICACY*sin(sunaltitude)
if (1.147 - .147/sin(sunaltitude) > .16), otherwise
1.5e9/SUNEFFICACY*.16
(could anybody give any reference about this equation?)
where
SUNEFFICACY = 208 /* illuminant B (solar dir.) */
Additionally, if the sky is intermediate, the previous value is multiplied
by 0.15 (i.e the so called /* fudge factor! */)
DIFFUSE CONTRIBUTION from the sky
If neither zenith radiance (zenithbr) nor horizontal diffuse irradiance (eed)
are given, the Krochmann equation is used for the CIE OVERCAST SKY:
zenithbr = 8.6*sin(sunaltitude) + .123 [kcd/m^2] (Krochmann)
CIE 110-1994 also reports equations by Kittler and Nakamura, Oki et al. for this
purpose.
For the CIE CLEAR SKY the LBL equation (Karayel, Navvab, Ne'eman, Selkowitz) is used
(here the Linke Turbidity appears for the first time):
zenithbr = (1.376*turbidity-1.81)*tan(sunaltitude)+0.38 [kcd/m^2]
(Karayel, Navvab, Ne'eman, Selkowitz)
CIE 110-1994 also reports a lot of equations that should be chosen according to
the climate condition in the location of interest (Kittler, Dogniaux, Krochmann,
Liebelt, Gusev, Nagata, Nakamura Oki et al.), but gensky only uses the LBL one.
For the INTERMEDIATE SKY, gensky computes the average of the overcast and CIE clear
zenith radiances.
At the end, the computed resulting value is divided by SKYEFFICACY
D65EFFICACY = 203 /* standard illuminant D65 */
SKYEFFICACY = D65EFFICACY /* skylight */
If the horizontal diffuse irradiance (eed) is provided, then gensky
computes the zenith radiance by using the following formula:
zenithbr = eed/(normfactor*PI)
normfactor = 7/9 for CIE OVERCAST SKY (as we all know by heart!)
while for CIE CLEAR SKY and the INTERMEDIATE SKY, normfactor
is computed by using two different polynomial approximations
(I'd like to have some references about these approximations, too).
For the CIE CLEAR SKY, CIE 110-1994 suggests two different polynomial approximations
by Kittler (as said, "for practical purposes") and by Gusev (for polluted
atmosphere):
both of them are not used by gensky.
Part 2: proposal(s)
A)
As we've seen, gensky is compliant with the CIE standard for the CIE CLEAR and
CIE OVERCAST skies when the user gives solar and zenithal radiances.
When the user only specifies time and location, gensky uses only some of the
equations suggested by CIE. It would be useful to be able to switch between
those equations for practical reasons.
As I've already said, in Italy there is only a few directly measured illuminance
data:
some illuminance data series have been derived by using the Perez model.
Berin and Vio (University of Venice) have shown that the Doginaux equation
approximates very well the Italian luminous conditions, that's why I'm proposing
this integration inside the gensky code ...
B)
There is no standardised intermediate sky luminance distribution model at the
moment, but
CIE 110-1994 cites the Nakamura, Oki et al. intermediate sky (does anybody know
about
recent works of CIE commissions about this topic?)
Zack (hi Zack!) showed interest in being able to use the IESNA (Kittler) sky model.
It would be very useful to have a sort of "plug in" method to insert new sky models,
for instance simply via .cal files (at the moment sky definition is splitted between
a program and a .cal file).
Does anybody else think that this could be useful and feasible?
Probably it would be better to develop another program to generate skies and
leave gensky
as it is now ... and to add a sky library of .cal files to it ...
Any ideas?
Thank you for having the patience of reading it all!
···
--
Francesco Anselmo
[email protected]
[email protected]
-------------------------------------------------
This mail sent through IMP: http://horde.org/imp/