.. _background:
===========================
Background and Calculations
===========================
Flow diagram of the program suite
=================================
.. graphviz::
digraph foo {
concentrate=true
center=true
fixedsize=true
adnite2[shape=egg, label=<adnite2-gui>, color=blue, fontname="helvetica", penwidth=2]
adnite2g[shape=egg, label=<adnite2-cli --graphics>, color=blue, style=bold, fontname="helvetica"]
adnite2r[shape=egg, label=<adnite2-cli --rst>, color=blue, style=bold, fontname="helvetica"]
rst2html[shape=egg, label=<rst2html>, color=blue, fontname="helvetica", penwidth=2]
rst2pdf[shape=egg, label=<rst2pdf>, color=blue, fontname="helvetica", penwidth=2]
conf[label="Cofiguration-\nFile", shape=parallelogram, fontname="helvetica", penwidth=2, color=black]
input[label="GUI-Input", shape=parallelogram, fontname="helvetica", penwidth=2, color=red]
loc[label="Location\nSqlite3-DB", shape=parallelogram, fontname="helvetica", penwidth=2, color=black]
param[label=< Parameter File >, shape=parallelogram, style=bold, color=blue]
png[label="png-\nimages", fontname="helvetica", shape=parallelogram, color=red, penwidth=2]
rst[shape=box, label="rst-table", shape=parallelogram, color=blue, penwidth=2, fontname="helvetica"]
pdf[label="pdf", fontname="helvetica", shape=parallelogram, color=red, penwidth=2]
html[label="html", fontname="helvetica", shape=parallelogram, color=red, penwidth=2]
conf -> adnite2;
input -> adnite2;
loc -> adnite2
adnite2 -> param;
param -> adnite2g;
param -> adnite2r;
loc -> adnite2g;
loc -> adnite2r;
adnite2g -> png;
adnite2r -> rst;
png -> rst2html;
rst -> rst2html;
png -> rst2pdf;
rst -> rst2pdf;
rst2html -> html;
rst2pdf -> pdf;
}
Astronomic caculations
======================
Astronomic caculations were done with help of the `pyephem library
`_
To get the "right" night following the actual day all calculations are
centered about mean local midnight (MLM):
.. math::
MLN = 12\; UTC - \lambda_{deg} /15.0
MLM = MLN + 12\; UTC
(MLN .. mean local noon).
Sunrise, sunset, moonrise, moonset
-----------------------------------
To render the results of the `The United States Naval Observatory
(USNO) `_
[#f1]_ following procedure was applied according to `Naval Observatory
Rising and Settings
`_
* Observer at the height of the horizon (e.g. sea level)
* Calculation is done for the upper limb of sun and moon
* No air pressure :math:`p_0 = 0`
* altitude of the horizon :math:`h=-0°:34'` (taking care of the mean
apparent sun radius and for the average atmospheric refraction).
Twilight times
--------------
* No air pressure :math:`p_0 = 0`
* Calculation is done for the *center* of the sun.
* Cicil Twilight: :math:`h = -6°:00'`
* Nautical Twilight: :math:`h = -12°:00'`
* Astronomical Twilight: :math:`h = -18°:00'` (not displayed in
adnite)
Moon positions and phases
-------------------------
* No atmosphere (:math:`p_0=0`) and no refraction
* Phases are given in percent of the full moon disc
Illuminance caculation
======================
The direct sun illuminance is not calculated. Only indirect sun
illuminance during twilight and moon illuminance is calculated.
.. _moonparameterization:
Moon illuminance at clear sky
-----------------------------
It follows the empirical formula given in :ref:`Urban,
Seidelmann (2013) `, p. 518 ff.
.. math::
\log_{10} I = L_1 + L_2 +L_3
with :math:`I` the ground illuminance in lux, :math:`L_1` for the
ground illuminance of the full moon (at the mean distance) as function
of altitude, :math:`L_2` the correction for moon phase and :math:`L_3`
the correction for the parallax.
.. math::
L_1 = l_0 + l_1 x + l_2 x^2 + l_3 x^3
with :math:`x = h[deg]/90` as the normalized moon altitude. The values
for the :math:`l_i` are defined for different moon altitudes:
================ =========== =========== =========== =========== =========
Alt. range [deg] :math:`l_0` :math:`l_1` :math:`l_2` :math:`l_3` Max error
================ =========== =========== =========== =========== =========
20 - 90 -1.95 4.06 -4.24 1.56 0.02
5 - 20 -2.58 12.58 -42.58 59.06 0.03
-0.8 - 5 -2.79 24.27 -252.95 1321.29 0.03
================ =========== =========== =========== =========== =========
The phase dependence is given by the negative definite expression
.. math::
L_2 = -8.68 \times 10^{-3} f - 2.2 \times 10^{-9} f^4
f = 180 - E
and :math:`E` is the elongation between sun and moon (:math:`E \approx
0` new moon, :math:`E \approx 180` full moon).
.. figure:: pics/moonphases.png
:width: 50%
The relative illuminous emittance of the moon depending on its
phase.
.. figure:: pics/moonillumastro.png
:width: 60%
The moon illuminance depending on height and phase.
**Simplifications**
* neglecting varying sun-earth-moon distances that effect moon
brightness
* neglecting parallax effects :math:`L_3` between the topographic
position on earth and the center line between moon and earth.
Relative Moon Illuminance
-------------------------
The relative illuminance is defined as the ratio of :math:`I(h)` with
the (il)luminance of the mean moon at the zenith :math:`\bar{S_0}`:
.. math::
\mathrm{rel.Ill.} = \frac{I(h)}{\bar{S_0}}
See the program code in module *adnite2.constants* for the actual
value of the mean maximum moon illuminace. It should be somewhere
about 265 mlx.
Twilight Illuminance
--------------------
Because day time illuminances are not of interest quite a simple
approach can be used:
.. math::
S(h) = S_0 + (S_0 - S_{-\infty}) e^{b h}
b = \ln{(S_H - S_{-\infty})/(S_0 - S_{-\infty})}
with :math:`h` the sun altitude, :math:`S_0 = S(h=0)`, :math:`S_H =
S(h=H)`, e.g. :math:`H = -6 \; \mathrm{deg}` (ECET) as extra value,
and :math:`S_{-\infty}` as the deep night background value (star light
plus air glow).
See module code *adnite2.constants* or in the configfile
:file:`adnite2.cfg` for the actual values taken.
The Cloud Equation
------------------
According to the master thesis :ref:`Hur mörkt blir
det` (How bright is it) by Lena Nilsson at the
University of Uppsala (2007) the cloudiness effect on surface
illumination can be approximated by a multiple bulk scattering
process. Nilsson presents an equation that is derived from the sum of
downward AND upward radiation. We think that is not
justified. Downward radiation at the ground is all we need.
A further improvement can be applied by taking into account clear sky
backscattering. This can be achieved by using a sort of clear sky
atmospheric albedo :math:`d` as in :ref:`Möller
(1965)`.
The total amount of available light below clouds is given by (see
:ref:`Thaler (2015)`):
.. math::
\boxed{\frac{S}{I_0} = \frac{(1-d_t) - N(A_t - d_t)}{(1-a_g d_b) - N A_t (A_n - d_b)}}
with:
* :math:`N` ... amount of clouds (0 .. 1)
* :math:`A_{t}` ... albedo of cloud tops
* :math:`A_{b}` ... albedo of cloud base
* :math:`A_{g}` ... surface albedo
* :math:`I_0`... incident radiation at top of the clouds
* :math:`S` ... available light below the clouds
* :math:`d_t` ... backscattering albedo of the clear sky atmosphere
for the incoming radiation ("top" of atmosphere)
* :math:`d_b` ... backscattering albedo of the clear sky atmosphere
for the ground radiation ("bottom" of atmosphere).
**Albedo values**
Rough estimates derived form :ref:`Möller (1965)` and
:ref:`Nielsson (2007) `. Any dependence of the direction
of the incoming radiation is neglected.
======================================== =============
Remark Value
======================================== =============
**Cloud top**
NS 0.90
SC 0.70
ST or thin SC 0.65
**Cloud bottom**
NS 0.90
SC 0.70
ST 0.65
thin ST or SC 0.50
thick AC or AS 0.70
CS 0.35
CI (or haze) 0.20
**Ground**
sea without waves 0.20
sea with moderate to high waves 0.04
ice without snow 0.55
ice with fresh snow 0.80
dense forest, no snow 0.05
dense forest, dry snow 0.50
wet ground 0.05
humid ground 0.10
dry ground 0.20
snow slush 0.35
dry fresh snow 0.70
old snow, half covering 0.25
desert 0.25
**Atmospheric albedo** (Möller, 1965)
Rayleigh atmosphere 0.07
medium turbid atmosphere 0.15
highly turbid atmosphere 0.25
======================================== =============
Sources
-------
.. _moeller1965:
* `Fritz Möller: On the backscattering of global radiation by the
sky. `_
Tellus XVII (1965), 3 (Retrieved Aug. 2015)
.. _lenanilsson2007:
* `Lena Nilsson: Hur mörkt blir det?
`_
Institutionen för geovetenskaper, Uppsala Universitet,
Juni 2007. (Retrieved March 2016). Available as an internal German
translation.
.. _thaler2015:
* `D. Thaler (2015): Multiple scattering of incomming short wave
radiation between clouds and
ground. `_
(Retrieved March 2016)
.. _urban2013:
* S.E. Urban, P.K. Seidelmann (edit.): Explanatory supplement to the
Astronomical Almanac. 3rd edition. University science Books (Mill
valley, California, 2013)
.. rubric:: Footnotes
.. [#f1] USNO data services cannot be reached via an Austrian
IP-adress. Use an US proxy server instead.