Rancangnan Kendali
Rancangnan Kendali
Filippo Gualla
2015
Department of
Physical Geography and Ecosystem Science
Lund University
Slvegatan 12
S-223 62 Lund
Sweden
Disclaimer
This document describes work undertaken as part of a program of study at the University
of Lund. All views and opinions expressed herein remain the sole responsibility of the
author, and do not necessarily represent those of the institute.
ii
Filippo Gualla
Master thesis, 30 credits, in Geomatics
Ali Mansourian
Department of Physical Geography and Ecosystems Science
Lund University
Roger Groth
Department of Physical Geography and Ecosystems Science
Lund University
Exam committee:
Vaughan Phillips, Lund University
Mohammadreza Rajabi, Lund University
iii
Acknowledgements
I would like to express my gratitude to my supervisors, Ali Mansourian and Roger Groth,
for their guidance and suggestions. A special thanks goes out to Britta Duve Hansen,
Mats Karlsson, Thomas kerholm and Jonas Andreasson from Lund Kommun for their
technical supports and opinions.
I would like also to thank my parents and relatives for affection and
comprehension, as usual.
Finally, but only here, Giorgia... for everything.
iv
Abstract
Sun position and PV panels: a model to determine the best orientation
This thesis presents an application, developed using the Python programming language,
to define the best orientation of photovoltaic (PV) panels to make the most from the solar
radiation. The development of this thesis took place at the municipality of Lund, the
interested party to obtain a tool that was able to provide additional information for a
better exploitation of renewable energy within the normal process of urban planning.
The developed model required data both of physical and geographical natures. The
physical part, about the solar radiation, required information related to the apparent
motion of the sun relative to a terrestrial observer and data, provided by the Swedish
Meteorological and Hydrological Institute (SMHI), on solar energy that hits the ground
surface. The geographical part instead concerned the creation of a digital surface model
(DSM) from data already owned by the municipality itself and acquired by LiDAR
technology.
The GIS environment, where the model has been programmed, was Quantum GIS,
which is a Free and Open-Source Software (FOSS). The application is composed of a
main python file and several auxiliary functions that provide interim results with the
purpose of elaborating the final outputs. Starting with a list of user-defined information
about the area of interest, the application provides a range of both graphical and textual
results that helps to better understand the behaviour of the solar radiation on the area and
therefore to provide some useful information for a more efficient use of sun energy.
The completed model was tested on a portion of the Lund municipality,
characterized by a non-built area immediately next to buildings. The results have allowed
understanding the annual evolution of shadows, highlighting the areas that benefit most
from solar radiation, and consequently how the shadows affect the average amount of
kWh/m2 of sun energy that reaches the ground. The most useful results for the study
purposes concern the identification of the best angle of orientation of a PV system. The
last annual output suggests how areas not hampered by shadows, casted from tall
structures, require values of azimuth of 180 degrees. Instead, the monthly outputs suggest
the best values of azimuth for those areas where 180 degrees is not the optimal
orientation.
The application proposed here is based on a simple physical model, it is developed
with non-proprietary software and uses data that are becoming more and more available
on the net and finally provides results within a reasonable time. However a model, as
such, can always be reconsidered starting from its foundation and, therefore, always be
improved. During the implementation process some aspects that can encourage its further
development have already been identified.
Keywords: GIS, Python modelling, LiDAR, DSM, Solar radiation, Orientation angle,
Photovoltaic systems
v
Table of contents
1
INTRODUCTION ........................................................................................................................1
1.1
Background ..........................................................................................................................................1
1.2
1.3
Methodology .......................................................................................................................................25
5.1
5.5
vi
DISCUSSION .............................................................................................................................. 59
6.1
REFERENCES ..................................................................................................................................... 67
APPENDICES ...................................................................................................................................... 72
LIST OF PUBLICATIONS ............................................................................................................. 73
vii
List of abbreviations
AMSL
DEM
DSM
ESRI
FOSS
GDAL
GIMP
GIS
GNU
GPS
GUI
JDN
JRC
LAS
LiDAR
OOP
Object-Oriented Programming
OSGeo
PV
PhotoVoltaic
QGIS
Quantum GIS
SMHI
TIF
TOC
Table Of Content
TXT
UTC
WGS
World Geodetic System (latest revision: WGS 84, aka WGS 1984, EPSG:4326)
viii
List of figures
Figure 2.1: Spherical coordinates: radial distance r, inclination angle (theta) and
azimuth angle (phi) .............................................................................................................12
Figure 2.2: The two angles considered to define the Sun position......................................12
Figure 2.3: Apparent motion of the Sun across the sky .......................................................14
Figure 2.4: Angles defining the relationship between the incoming beam radiation and a
tilted surface............................................................................................................................16
Figure 3.1: Monthly averages of global irradiance (kWhm-2 day-1) from SMHI data. ......21
Figure 3.2: QGIS logo ............................................................................................................22
Figure 3.3: Python logo ..........................................................................................................23
Figure 3.4: An overview of the methodology .......................................................................26
Figure 4.1: Diagrams symbology .........................................................................................29
Figure 4.2: Diagram of the for loop of the main script MAIN.py. ..............................31
Figure 4.3: Diagram of the last steps of the main script MAIN.py (out of the loop). ....33
Figure 4.4: Diagram of the first steps of the script Best_Azimuth.py involving the if
statements ..............................................................................................................................36
Figure 4.5: Graphical explanation of the key analysis performed by Best_Azimuth. .......38
Figure 5.1: Simulation study area. A) Location within the town of Lund; B) Satellite
image .......................................................................................................................................43
Figure 5.2: Study area DSM (elevation in meters), slope and aspect .................................43
Figure 5.3: 3D visualization of the study area from the point cloud ...............................44
Figure 5.4: Yearly shadow casting percentage. ....................................................................45
Figure 5.5: Yearly average kWh/m2 of sun energy ..............................................................46
Figure 5.6: Average daily kWh/m2 (representative day) ......................................................47
Figure 5.7: Areas where yearly best azimuth is always 180 degrees ..................................48
Figure 5.8: December best azimuth (JDN 344) intermediate output ..................................48
Figure 5.9: Monthly best azimuth .........................................................................................50
Figure 5.10: A different monthly output due to different percentage ranges .....................54
Figure 5.11: New resized input DSM....................................................................................55
Figure 5.12: Monthly best azimuth computed on the new input DSM ...............................57
ix
List of tables
Table 2.1: Input data for Sunrise/Sunset Algorithm...............................................................9
Table 2.2: Input data for Sun Position Algorithm ................................................................13
Table 3.1: Specification for LiDAR flight session ...............................................................20
Table 4.1: The .py files containing the scripts of the entire Python model.....................28
Table 4.2: Functions relationships within the Python model ..............................................28
Table 4.3: Representative days from Technical standard UNI 8477-1, 1983 ....................29
Table 4.4: [A] a layer of the 12 stored in the dictionary and [B] the best azimuth 180
layer .........................................................................................................................................32
Table 4.5: Input variable definition .......................................................................................34
Table 4.6: Reclassification rules of the Day_Percentage_Shadow raster ...........................35
Table 5.1: Information output from the text file 2015_MAIN_Analysis_LOG.txt........41
Table 5.2: Technical information about the simulation and input variables ......................42
Table 5.3: Original LAS files used to extract the study area ...............................................43
Table 5.4: Best azimuth angle values for each percentage within the percentage range
(55-85%) .................................................................................................................................51
Table 5.5: Shadow percentage per representative day (text file output) .............................52
Table 5.6: Best azimuth values for 45-90% and 35-95% simulations across the 12
representative days .................................................................................................................53
Table 5.7: Best azimuth angle values, computed on the new input DSM, for each
percentage within the percentage range (55-85%) ...............................................................56
1 INTRODUCTION
Nowadays administrations, from national down to local level, must be able to estimate
revenues and costs of each solution identified during the decision-making process. The
impact of a strategy varies greatly depending on the territory on which it is implemented
(Lamie et al. 2012). This spatial dependence makes essential a geographical approach to
the analysis of many phenomena that can have an important role in the management of a
territory (Santos et al. 2014). Increasing the efficiency and energy saving is one of the
points that plays a key role in plans for local government and for this reason more and
more often is taken into consideration the production of energy through the use of
photovoltaic panels (PV panels).
The municipality of the town of Lund, like many others, has already started to
integrate its services with tools aimed at the quantification of usable solar energy and has
shown interested to deepen the subject. In this master thesis we tried to develop a GIS
tool that would provide additional information on how to make the most of solar energy
from some data already available within the municipality itself.
1.1 Background
The production of energy from renewable resources has become a major issue, decisive,
considering the environmental problems and the social implications that we have with the
use of fossil fuels (Tait 2014; Urry 2014). From this point of view, the solar energy is
factual unlimited and with the least impact on the environment, evaluating all structures
necessary for its exploitation (Solangi et al. 2011). In addition, over recent years, PV
panels are becoming more efficient and new technologies are being tested and introduced
(Luka and alik 2013). However to get an energy production that comes as near as
possible to the maximum achievable it is not an easy task. The PV panels must be placed
and oriented according to certain requirements in order to be efficient. Variables such as
the type of panels, the tilt and the orientation angle must be chosen carefully.
A detailed analysis of the entire process of electricity production, from when the
suns rays hit the Earth ground, is a complicated task that requires taking into account
many variables, both physical and technological. In this project, the municipality of Lund
did not want to get a result so wide, but rather obtain intermediate outputs that may be
immediately useful on a practical level. From 2009 to present, new data about the surface
of the territory of Lund has been collected and the municipality was interested in
analysing this new data in a GIS environment to obtain additional information that could
be used in the normal decision-making process, particularly with regard to the design of
new buildings within the urban planning office duties. One of the key points was to
develop a model to understand which should be the best orientation of a new building or
1
a new PV panels array to get the highest solar irradiation. The angle of orientation is
called technically azimuth angle and even if it is more desirable to set it at 180 degrees
(facing the south, in the northern hemisphere) some factors can lead to a modification of
the azimuth angle: first of all shading effects (Martinez-Rubio et al. 2015).
In literature it is possible to find many articles that present models designed to
estimate accurately the amount of solar energy that hits the ground at any given time
using very different approaches from numerical weather models (Shamim et al. 2015)
to neural network analysis (AL-Naimi et al. 2014). Similarly there are many reports
dealing with optimal angles of inclination and orientation for PV panels as function of the
latitude (Gopinathan et al. 2007; Bakirci 2012; Yadav and Chandel 2013). These studies
are rarely contextualized within a GIS environment where instead is predominant the
spatial analysis about solar radiation (Hofierka and Suri 2002; Araya-Muoz et al. 2014;
Santos et al. 2014), as in the municipality project started in the 2009 and mentioned
above. The effect of the shadows (shadow casting) instead is often taken into account
in the 3D modelling in architecture, where this aspect is important for the design of the
buildings. In this context architectural software is preferred rather than one dedicated to
GIS.
to define, in the area of interest, the shadow casting in relation to the apparent
motion of the Sun (both daily and yearly):
the apparent motion of the sun relative to a point on the Earth surface
creates and casts shadows on the ground. During the course of a year, as a
function of natural or man-made structures, some areas will be more in the
shade of others. This result wants to define, as a percentage value, how
much an area is shaded during the course of a whole year;
to provide an yearly estimation of the sun energy hitting the ground on average
according to some historical data:
the sun emits a thermal radiation of 6,66 * 107 W/m2, but the one that
comes to Earth is a very small part. This output wants to show an average
annual input of energy per unit of area that actually reaches the ground
starting from historical data about solar radiation;
to define the areas where the yearly best orientation (best azimuth) is 180 degrees
no matter which month is considered:
from a definition provided by the Cornell University (Astro.cornell.edu
2015), the azimuth of an object is the angular distance along the horizon
to the location of the object. By convention, azimuth is measured from
north towards the east along the horizon. The Best yearly azimuth
angle is a layer that will show those portions of the surface where,
throughout the course of the year, the best orientation of a building or a PV
panel array will be always at 180 degrees of azimuth, i.e. southward;
to identify the variation of values in best azimuth (out of areas showing 180
degrees) within a representative day (we will discuss later about the concept of
representative day in Section 4.1):
for each month (or representative day) azimuth values for those areas not
covered by the previous result will be provided. Here will be shown
azimuth angles, specifically calculated, that do not necessarily have value
180.
This Chapter describes a perspective about knowledge and models in the literature and
the physical concepts behind the developed model presented in this report. In the first
part, some relevant studies and numerical methods will be briefly presented together with
a few examples of solar potential urban-oriented models. In last sections the physics
involved in this model will be explained: it is part of the navigational and positional
astronomy and studies on solar radiation. We will introduce the basis for calculating the
position of the sun relative to a terrestrial observer with known coordinates. With regard
to solar radiation, it will be taken into analysis summarily its propagation through the
atmosphere of the Earth. Finally a brief introduction to the technology of photovoltaic
panels will be provided.
To determine the exact position of the sun is important for many applications, but
especially for those regarding solar energy (Chong et al. 2009). There are various
algorithms to calculate the solar position and new ones come out in order to improve the
accuracy (Grena 2012). Often these algorithms are very complicated for direct use in
many applications, for this reason in this thesis approximate equations will be used. With
minimal loss of accuracy, these formulas allow direct calculation of the position of the
sun at a given time and the conditions. All formulas set out below come from the
Almanac for Computers (Doggett et al. 1990) and the Photovoltaic Education
Network (Pveducation.org 2015a).
These models consider almost always of all three types of solar radiation (for details see
Box 2.1, page 15).
SolarFlux
SolarFlux, born in 1993, was developed on the platform Arc Info (Hetrick et al. 1993).
As input about the surface, it required a GRID file containing values of elevation, latitude
and atmospheric transmission. This tool was used to obtain as output the total direct and
diffuse radiation, the direct sun duration and, in addition, a fish-eye projection of sky
obstructions. SolarFlux has subsequently influenced the development of another model
designed by Kumar and colleagues where the user can enter additional information on
cloud cover (Kumar et al. 1997).
ArcGIS Solar Analyst
Solar Analyst is an ArcView GIS extension (Fu and Rich 1999) developed in the C ++
language which can help the user to calculate the influence of the topography of an area
on the solar radiation. The model requires as input the geographical location of the area
of interest, elevation, orientation and finally, as physical data, the atmospheric
transmission and some meteorological measurements (air and soil temperature and soil
moisture). However this model has shown how the techniques, often used to generalize
some physical data required by the models, are not sufficiently accurate to determine the
radiation patterns. This model provides as output different maps of solar radiation.
r.sun
The tool r.sun, now available as a module for Quantum GIS (Section 3.2), has been
developed since 1997 as GRASS GIS-based model (Hofierka and Suri 2002). The model
aims to estimate the solar radiation both when the sky is clear and in overcast
atmospheric conditions. This module requires several parameters but not all of them are
mandatory (Grass.osgeo.org 2015). The most important parameters are raster layers for
terrain, latitude, turbidity and clear-sky index. In one of the previous versions, the tool
worked in two different modes providing two different set of outputs: 1 - instant time
mode and 2 - daily mode. This option allowed the user to set the time interval of the
analysis. In the last available version, the user seems to be allowed to work only with the
second mode (daily). Outputs are raster maps of the area showing the beam, diffuse,
ground reflected and global irradiance. The model can be used in very different time and
space scales. As for Solar Analyst however, some physical parameters often prove to be
unreliable and hard to find (e.g.: Linke turbidity factor).
ESRA
ESRA (European Solar Radiation Atlas) is a clear sky model, programmed in C
language, capable to derive irradiation information from satellite images (Rigollier et al.
2000). This model requires, as r.sun, the Linke turbidity factor and the elevation of the
site. The result is an estimation of the diffuse clear-sky irradiation. This model was
validated through ground measurements provided by different ground stations.
6
For a complete review of the models the recent work of Freitas and colleagues can
be consulted (Freitas et al. 2015). The last model presented below is the result of a joint
project for the creation of a map of solar radiation for the entire municipality of Lund.
Solkartan Project: Lund model
The municipality of Lund, together with Kraftringen, Lunds Tekniska Hgskola (LTH)
and Solar Region Skne, has made available online to users an urban-scale solar cadastre
map (Kraftringen.se 2015a). This map is the result of a project started in 2009 with the
collection of elevation data with laser-scan technology (Kraftringen.se 2015b). The user
can get information on which would be the total value of annual solar radiation incident
on a roof across the entire municipality.
The model requires primarily information regarding the location of the roofs of the
buildings in the territory. This information has been gathered through a laser scanning,
both by helicopter and airborne, and then the 3D model of the buildings was created. In
this phase of the project the 3D model was not yet usable: it was necessary to clean the
data by eliminating all those temporary structures, such as cranes, which could influence
the final result. Subsequently, with the aid of ArcGIS (ESRI software) and the Solar
Analyst tool an estimate of direct solar radiation was made and obtained the map, this has
been cut using as a mask composed by polygons representing the roofs of buildings
(Hedn 2013). Finally, in order to make information accessible to non-expert users, the
values of solar radiation for every roof were categorized into not suitable for PV panels
installation, almost acceptable, good and very good together with a colour scale
(respectively grey, green, yellow and red). The user, by clicking on a specific roof, gets
information about it: a graph representing how much energy could be produced and the
annual solar radiation on that roof. However the results presented in this map are not
absolute. Weather variations can lead to different values than those calculated. The aim
of this map was to provide an overview on the sun energy potentially exploitable.
The following sections will present the physical assumptions and formulas used to
create the model proposed in this report.
Almanac for Computers will be used. Once all the information on the observer is given
we proceed to calculate the position of the sun relative to the horizon.
2.2.1 Sunrise and sunset
The equations to calculate sunrise and sunset will be taken within the function
RiseSetSpan of the model. The inputs are listed in the Table 2.1:
Table 2.1: Input data for Sunrise/Sunset Algorithm
Input
year, month, day number
Latitude and Longitude (decimal degrees, WGS84)
Zenith:
Official
= 90 degrees 50
Civil
= 96 degrees
Nautical
= 102 degrees
Astronomical
= 108 degrees
Meaning
Date of Sunrise/Sunset
Location of the Sunrise/Sunset
The point of the celestial sphere that is
directly opposite the nadir and vertically
above the observer. (Definition from
http://www.merriam-webster.com)
It is the difference in hours and minutes
from UTC for a particular place and date
The angles in the formulas have to be considered as expressed in radians and the
value of Zenith to consider is the Official. Longitude is positive towards East and
negative for West. The procedure is as follows:
1.
Calculate the Julian Day Number (JDN) of the day of the year. JDN is the integer
assigned to a whole solar day in the Julian day count starting from noon
Greenwich Mean Time, with Julian day number 0 assigned to the day starting at
noon on January 1, of the selected year:
1=
275
+9
12
2=
4
3= 1+
+2
3
1 ( 2 3) +
30
2.
15
+
+
3.
4.
+ [1,916
( )] + [0,02
(2
)] + 282,634} 360
5.
Suns right ascension RA, setting of the ascension in the same quadrant as L,
ascension conversion into hours:
= tan
[0,91764
( )]
90
=
=
90
+(
90
90
15
10
6.
= 0,39782
(sin
))
7.
)
)]
= cos
)
)
15
8.
(0,06571 ) 6,622
9.
Adjust the local mean time back to UTC (Coordinated Universal Time):
=
Equation 2.11: Adjustment of the local mean time according to the UTC
10. Convert the UT value to the local time zone (defined by Latitude and Longitude):
=
Equation 2.12: Adjustment of the UTC local mean time according to the local time zone
From these equations it is possible to get the hours of sunrise and sunset for a given
day of the year to a given position.
11
2.2.2
Figure 2.2: The two angles considered to define the Sun position: elevation angle
and azimuth angle (Picture from Zijffers et al. 2008)
The equations to calculate azimuth angle and elevation angle will be taken
within the function SunPos of the model. These two angles are the keys to orient
properly a solar power plant. The inputs are listed in Table 2.2.
12
Meaning
Date of interest
Location of interest
Any time in between from sunrise and sunset
It is the difference in hours and minutes from
UTC for a particular place and date
As before, when trigonometric functions sine and cosine are called, the angles in
the formulas have to be considered as expressed in radians. The procedure is as follows:
1.
2.
3.
360
(
365
81)
(2 ) 7,53
( ) 1,5
4.
)+
5.
60
6.
12)
13
( )
7.
360
(
365
81)
8.
()
)+
()
)]
= cos
()
()
( )
With these equations the position of the Sun is determined across a day at any given
time (LT). The sun traces an imaginary arc in the sky above the horizon, as shown in the
following figure (Figure 2.3).
At mid-latitudes of the northern hemisphere, during the winter time the Sun rises
south of due east and sets south of due west while in summer time it rises north of due
east and sets north of due west crossing two times a day the east-west line.
14
2.3.2
Tilted surfaces
The relationship between the beam radiation and a plane with a given position on the
Earths surface can be defined geometrically with different angles. Going into detail of
this relationship, the mentioned plane can be considered as a surface that produces energy
when hit by solar radiation. The angular positions involved in this relationship (Figure
2.4) are the following and here are all expressed in degrees:
1.
2.
Sun Declination : position of the Sun at solar noon (Sun on the local meridian)
with respect to the equator plane; -23,45(S) 23,45(N);
3.
Tilt angle (or slope): angle between the surface and the horizontal; 0 180
( 90, the surface faces downward);
4.
Surface azimuth angle (or orientation angle): projected the normal to the surface
on a horizontal plane, is the deviation of the this projection from the local
meridian; usually it is defined in the interval -180/180 (with 0 towards south)
but in this report, also for the surface azimuth will be used the following scheme:
0 degrees northward, 90 degrees eastward, 180 degrees southward and 270
degrees westward;
5.
Hour angle : the eastward/westward angular displacement of the Sun from the
local meridian (5 hour; negative in the morning, positive in the afternoon);
6.
Angle of incidence s: angle between the beam radiation on the surface and the
normal to that surface.
Figure 2.4: Angles defining the relationship between the incoming beam radiation and
a tilted surface (Picture from Gulin et al. 2013, modified by the author with GIMP 2.8)
16
Tilt and orientation angles (azimuth), and respectively, are the two main
variables affecting the efficiency of a PV panel (Jafarkazemi and Saadabadi 2013).
Sometimes, due to the technical properties of a PV panel, it is not possible to set the tilt
or the orientation angles according to the current sun position (e.g. solar tracking system).
In this peculiar situation the best solution is to identify the best value of these parameters
trying to maximize the incidence of the solar radiation. In this report we are going to
focus only on the azimuth of a solar surface () and the best orientation of a solar surface
is obviously southward. Nevertheless sometimes buildings or areas are located in a way
that prevents the south orientation; in this case it is necessary to change the orientation.
17
18
The development of the program laid the groundwork on the fact that input data would be
a Digital Surface Model (DSM) and a series of historical data about solar energy reaching
the surface on the area of interest. Starting from that data, we developed the tool using
mainly an open-source GIS software and an open-source programming language together
with some modules and extensions still available from the web to perform some
additional tasks.
3.1 Data
3.1.1 Lund municipality data: from LiDAR/LAS file to DSM
Around every 5 years the Lund Municipality performs a flight throughout the whole
municipality territory to collect data on the elevation of the land. By means of a light
detection and ranging survey (Lta.cr.usgs.gov 2015), an airborne laser scanning LiDAR
collects data on elevation changing providing, as first output, a LAS file (Asprs.org 2015)
to store the information.
LiDAR technology
LiDAR is a remote sensing technology composed by a laser, a scanner and optics and a
position and navigation system receiver unit (GPS). This system emits pulsed and intense
light beams and measures the time that the reflected beam takes to be detected by the
sensor. These values are used to evaluate ranges or distances to the objects lying on the
ground. For each point collected, the system computes the couple of coordinates (x for
the latitude and y for the longitude) and the elevation value (z).
One of the most important characteristics of this technology is the ability to rapidly
collect measurements of the Earths surface: the result is a so called point cloud, a
highly dense collection of georeferenced points with information about elevation. This
raw data can be subsequently manipulated to build a very accurate model of the surface.
Usually the elevation accuracy spans from 10 to 20 centimetres for recent data and the
point density per square meter can reach the number of 15 (National Oceanic and
Atmospheric Administration 2012; Oceanservice.noaa.gov 2015). Airplanes and
helicopters can be used to carry LiDAR instruments. For areas with a small extent, as the
Lund municipality, deploying instruments on a helicopter is the favourite choice to get a
higher point density.
19
Public Header Block: it contains generic information as the total number of points
or the min/max values of x, y and z;
2.
Variable Length Records (VLRs; optional): it can contain different types of data
as metadata or projection information;
3.
4.
In the Appendix 1 it is provided an example of a LAS file opened as text file where
is possible to see some of the information usually stored into this kind of format.
Lund Municipality surface model
Lund Municipality did two flight-sessions, one the day 2015/01/19 and the other the day
2015/02/15 to produce a model of the surface of the whole municipality territory. The
company which performs the collection of the data was Blom Sweden AB. In the Table
3.1 there is some specification of the laser-scanning sessions (Blom Sweden AB 2015).
Table 3.1: Specification for LiDAR flight session
System
Flight Elevation
Laser Pulse Frequency
Point Density
Reference System
Total Collected Points
TopEye 533
300 600 m (variation due to weather condition)
100 kHz
12 points / m2
SWEREF99 13 30
5 880 000 000
The point cloud has been stored in 2009 LAS files, each defining a tile that covers,
on average, an area of 500m x 500m; tiles close to the border of the municipality have a
lower extension. Each 500 x 500m tile has on average 3 million points but tiles covering
urban areas can double this value.
20
6
5
4
3
2
1
0
Jan. Feb. Mar. Apr. May June July Aug. Sept. Oct. Nov. Dec.
Figure 3.1: Monthly averages of global irradiance (kWhm-2 day-1) from SMHI data.
Area coordinates: Lat. 55,70N and Long. 13,22E
21
22
rastercalculator). A feature not so common, but very useful for the model, has been
analytical hillshading with the method Ray Tracing belonging to SAGA package.
SAGA Analytical hillshading: Ray Tracing method
Generally a hillshading algorithm is based on the angle between the surface and the
incoming light beams. The option Ray tracing can calculate and show the shade of
objects in a digital surface model according to two angle parameters: Sun azimuth and
Sun elevation from the horizon. This option is in fact the basis of one of the major
functions, Cast_01Rec_AzimRec, developed for this project (Subsection 4.1.2).
Graphically, it is possible to appreciate the operation of this method in Figure 4.5C.
From C1 to C3 the casting shadows on the ground vary in location according to the
variation in values of azimuth (see values in legend) and elevation (C1: 5,77 degrees, C2:
13,16 degrees and C3: 10,56 degrees).
3.2.2
Python 2.7
Some aphorisms included the document PEP 20 - The Zen of Python summarize
the philosophy of Python (the complete document can be found at this web address:
https://www.python.org/dev/peps/pep-0020/):
Explicit is better than implicit.
Simple is better than complex.
Complex is better than complicated.
Readability counts.
Special cases aren't special enough to break the rules.
Python has appeared for the first time in 1991 and have been released several
versions until arriving at 3.4.3. In recent years it has become increasingly popular due to
several advantages that distinguish it over other programming languages. Python is a
simple and essential language that can be defined as a pseudo-code: it allows the user
to focus on the planning and the resolution of the problem rather than having to spend
time to the complexity of the language itself. In relation to this point, the basic syntax is
very simple, for example for statement grouping is used a simple indentation rather than
curly braces or begin-end blocks. A very simple syntax allows a greater ease of approach
23
for beginners of programming and this aspect has done nothing but facilitate its spread.
As the title of this section says, Python is an example of FOSS and this has led to the
birth and the development of a large community that is constantly improving the
language and supports anyone who needs help. Another strength of Python is its
portability: all programs written by a user in this language can be run on different
platforms without having to undergo any changes. For example it can be used on Linux,
Windows, Macintosh and even on PlayStation. Thanks to its versatility, Python is often
embedded in other software products as scripting language.
As said, Python supports object-oriented programming (OOP). Object-oriented
programming involves bringing in a limited area of the source code (called class) the
declaration of the data structures and procedures that operate on them. Classes, therefore,
represent abstract models, which are invoked at runtime to instantiate objects for the class
invoked. Objects have attributes (data) and methods (procedures) as defined by the
respective classes.
Python has a number of standard libraries that help the user in various aspects such
as the use of expressions, database management, web browser, e-mail, cryptography or
Graphical User Interface (GUI): this is the so-called batteries included philosophy of
Python. There are also libraries dedicated to specific fields of knowledge such as
scientific computing, computational biology or astronomy.
Python, like all programming languages, has different data-types and for the
implementation of the model presented here was made extensive use of the data types
list and especially of the dictionaries. The elements of a dictionary appear in a
comma-separated list. Each entry contains a key (a sort of index) and a value
separated by a colon: keys are unique while values may not be (Tutorialspoint.com
2015).
The QGIS software provides a built-in Python Console where the user can run
scripts written in Python syntax or use this programming language stand-alone.
3.2.3 Modules: GDAL and LAStools
Free software is often accompanied by modules and libraries of tools that can be
downloaded from the net to extend the capability of analysis of the software itself.
Geospatial Data Abstraction Library: GDAL
GDAL is a library, used by several software including Python, which allows
manipulating geospatial raster and also vector data (Gdal.org 2015). It is released under
an Open Source license by the Open Source Geospatial Foundation (OSGeo).
Tools for LiDAR data: LAStools
LAStools is a collection of batch-scriptable command line tools to process LiDAR data
(rapidlasso GmbH 2012). Although it is a free download, some of the tools work
correctly only if purchased a license otherwise the tool runs but provides results with
24
showy artefacts. However the tool to convert a LAS file into a DSM (las2dem) is one
of those that work correctly without license.
In the model, the raw input geographic data was a LAS file, from which the DSM
was created using las2dem. The tool reads the file and after having entered a few
parameters, including the pixel size to define the resolution of the output raster (1m in
this case), the DSM is created and ready to be used. The tool lasinfo provides some
information about a LAS file (e.g. Appendix 1). lastxt instead creates a text file which
lists all the collected points (x, y, and z) stored in the file. Another useful tool is lasview
which displays the points in 3D allowing the user to have an immediate idea of the
contents of the file without having yet processed it.
3.3 Methodology
The methodology that has led to the realization of the model is shown in Figure 3.4. First,
a meeting with some members of the municipality of Lund took place to define in detail
the purpose of the project according to their requirements. Information on solar radiation
models and the formulas for calculating the position of the sun, during its apparent
motion with respect to a point on the earth, have been collected through a literature
search. In addition the literature search has allowed deepening the physical knowledge
about solar radiation and formulas that define its relationship with surfaces located on the
ground. At this stage an architect from the faculty of Engineering (Energy and Building
Design) at the Lund Tekniska Hgskola (LTH) was interviewed about the model
proposal. After the interview outcome, the literature review on models already available
has been deepened and especially about how these models deal with sun apparent motion.
The next step was the collection of raw data. During the initial meeting, some
members of the municipality expressed the intention to use LiDAR data in their
possession within the project. Along with this dataset, data about solar radiation were
downloaded from the SMHI website. After the collection stage, data has been prepared in
order to be properly inserted into the program. A digital surface model (DSM) was
created starting from LiDAR data and the SMHI dataset was revised in order to be better
handled by the program. The preparation phase of the data took place in parallel with the
initial part of the system design. Then the program was developed and implemented by
programming in Python.
The program was run several times, during the development phase, to test the
different functions that make it up. After that, the final version of the program was ready
for testing. This version was continuously tested by varying different input parameters
and to produce results.
Finally, evaluations of the program behaviour were made and the results, that the
different tests have produced, were analysed.
25
26
This chapter explains how the model has been programmed and the functions of which it
is composed. The physical assumptions at its base have been presented in Chapter 2 and
the analysis assumptions will be presented here and discussed in Chapter 6.
2.
the average amount of kWh/m2 per day which hits the ground (output layer);
3.
the best yearly azimuth angle (): 180 degrees area (output layer);
4.
5.
some txt files gathering analysis data and information (text files).
The model consists of a file .py containing the main script and 12 modules (.py
files) in which are located from one to three specific functions to perform a specific task.
The 13 .py files are shown in the Table 4.1.
The main program can be saved anywhere, instead modules must be placed in the
subdirectory Plugins of QGIS.
The Table 4.2 shows the relationships between the various functions, as they are
called up by the various scripts.
27
Table 4.1: The .py files containing the scripts of the entire Python model.
M stands for major function and m for minor function
Name
MAIN.py
Best_Azimuth_180_Month.py
Best_Azimuth_INmonth.py
Best_Azimuth_Year.py
Cast_01Rec_AzimRec.py
Type
Main script
Module
Module
Module
Module
Date_Time_Setting.py
Module
Formula_Reclassification.py
kW_Shadow.py
Module
Module
Month_Avg_Solar_Rad.py
Module
Month_Shadow.py
RasPixelAreaProp.py
RiseSetSpan_Time.py
SunPos.py
Module
Module
Module
Module
Content (functions)
--Best_Azimuth_180_Month (M)
Best_Azimuth (M)
Best_Azimuth_Year (M)
Cast_01Rec_AzimRec (M)
ConvenTime (m)
Month_Name (m)
JDN (m)
Reclass_Formula (m)
kW_Shadow (M)
Month_Avg_Solar_Rad_H (m)
Month_Avg_Solar_Rad_M (m)
Month_Avg_Solar_Rad_D (m)
Month_Shadow (M)
RasPixelAreaProp (m)
RiseSetSpan (m)
SunPos (m)
2nd Level
(called functions)
Month_Avg_Solar_Rad_H
RiseSetSpan
Cast_01Rec_AzimRec
Month_Shadow
kW_Shadow
3rd Level
(called functions)
SunPos
SunPos
ConvenTime
Month_Name
JDN
Reclass_Formula
Reclass_Formula
RasPixelAreaProp
Reclass_Formula
Best_Azimuth
Best_Azimuth_Year
Best_Azimuth_180_Month
28
Reclass_Formula
Month_Name
Reclass_Formula
SunPos
ConvenTime
Month_Name
JDN
Day
17
16
16
15
15
11
17
16
15
15
14
10
This section is structured as follow: in the first subsection the main script will be
described briefly and in the subsequent subsections the major functions (Table 4.1) will
be then described more in detail. In the Figure 4.1 is presented the symbology used to
draw the diagrams shown in this chapter.
4.1.1
The main program consists of a single for loop in which some functions are called up
and run for every representative day. Completed the full loop, run 12 times, the script
proceeds with additional operations that essentially use the interim results created daily in
the for loop to provide the output layers both annual and monthly. In addition, both in the
main script and in some functions, the various text files outputs and the necessary folders
to store intermediate data are created.
The user enters within the main script some basic information as: the main folder
where to store all the results, the referring year to perform the analysis, the path where to
find the input DSM and the SMHI data text file, latitude and longitude in WGS84 of the
area of interest and the values of maximum and minimum for the range of percentage
(more details in Subsection 4.1.4). Below is a short description of the steps in order of
performance.
29
1.
The program now comes into the main for loop through the 12 representative days.
2.
3.
4.
5.
kW_Shadow (details in Subsection 4.1.3) is now run and it has as input the
representative day, the first dictionary from step 3 and the result of the function
Month_Avg_Solar_Rad_H run in the beginning, out of the loop. The function
returns a raster storing, for each cell, the proper kWh/m2 per day value hitting the
surface. The main program here starts to fill in another main dictionary where the
key is the representative day and the value is the raster just produced.
6.
the best azimuth values computed for the previous result. These two results are
stored in two different main dictionaries as values, coupled with the current
representative day (key).
At this point the main for loop is ended and once it went through all the 12
representative days, the main script goes ahead to produce the main yearly and monthly
outputs. The Figure 4.2 shows the diagram of the script described above.
Figure 4.2: Diagram of the for loop of the main script MAIN.py. All the functions inside the loop
have also as input variable the day, month and year of the representative day. M defines the
outputs that will be passed and used in the next steps of the program, out of the loop.
31
7.
The first main output layer shown in the TOC is the yearly shadow casting
percentage. This result is computed by means of SAGA rastercalculator. The
script sums all the layers stored in the main dictionary filled by Month_Shadow
(step 4) and divides the result by 12.
8.
The next step is analytically identical to the previous. Layers stored in the second
main dictionary (step 5) are sum together via SAGA rastercalculator. In this
way the main output storing the yearly average amount of kWh/m2 hitting the
ground is produced and shown in the TOC.
9.
The function Best_Azimuth_Year takes the layers stored in the main dictionary
from step 6 and computes the layer showing the areas where the best azimuth is
always 180 degrees through all the months of the year. The function invokes
SAGA raster calculator to sum the layers and divide by 12.
Finally a filter tool (SAGA majorityfilter; radius=2) is applied to the previous
result to delete isolated pixel storing a different value compared to the
surroundings. This assumption will be discussed in Chapter 6. Now where the
raster value is 180, the best azimuth through all the year is 180 degrees. Where
the raster value is 0, a further analysis to define the best azimuth according to the
representative day is required.
These three main results will be shown in the TOC under the same layer group.
10. Final step is to compute the results about the variation of azimuth according to the
representative day and create the second layer group in the TOC. Here the
function Best_Azimuth_180_Month takes the dictionary coming out from step
6 (each layer has cell values, for instance, in a range from 0 to 200 depending on
the best azimuth values computed). Each layer in the dictionary is added by 1.
The second input of the function is the layer produced in the previous step storing
the value of 180 valid for all the year. This layer is reclassified (SAGA
reclassifygrisvalues) and 180 value is now 0 and all the other cells take value 1.
Each monthly layer in the dictionary
Table 4.4: [A] a layer of the 12 stored in the
(azimuth values + 1) is multiplied dictionary and [B] the best azimuth 180 layer
with the second input layer (0-1)
A
C=
D=
and 1 will be subtracted from the
D1
(Azimuth)
A +1
B (0-1) * C
final output layer. The mathematical
0
1
0
-1
trick is explained in the Table 4.4
178
179
1
0
with an example: every cell in [A]
180
181
0
-1
which overlaps a cell with 0 value in
181
182
179
178
0
-1
[B] means that is located in a
181
180
portion of the area where 180 is the
0
-1
best azimuth all over the year and
182
181
get -1 as final value, all the other
cells in [A] which, at the end of the mathematical process, have back the original
value (overlapping with 1) are located in those portion of area where it was
32
necessary to compute the best azimuth. In this way the model creates the 12 final
monthly outputs showing portions of area where 180 is always the best azimuth
and other areas where the proper azimuth value is shown.
The Figure 4.3 shows the diagram of the last steps of the script.
Figure 4.3: Diagram of the last steps of the main script MAIN.py (out of the loop).
Y stands for yearly result and Mon for monthly result.
4.1.2
Function Cast_01Rec_AzimRec
The script of this function is a for loop which runs through a range starting from 1 till
the floor of day-light length (called z) and each step within the loop is determined by a
value of local time from sunrise to sunset. Each local time is defined by the formula:
=
(these input values are described in Subsection 4.1.1 point 2). For each local time,
together with the representative day information, the minor function SunPos is called
(the physical assumptions of the function are described in Section 2.2). SunPos computes
for each local time the Sun azimuth and the Sun elevation and these two variables,
together with the input DSM, are the main input of the SAGA tool
analythicalhillshading (see Subsection 3.2.1). This QGIS tool, set in Ray Tracing
mode, can produce a raster layer which shows how the shadows cast on the surface
according to the sun position in the sky and tall structures on the surface of Earth. The
output raster is then reclassified twice (SAGA reclassifygridvalues) to obtain the 0-1
33
layer (0 = light; 1 = shadow) and the 0-Azimuth value (0 = light; Azimuth value =
shadow).
4.1.3 Function kW_Shadow
This function has as main input the dictionary storing 0-1 layers and local time for a
given representative day originated by Cast_01Rec_AzimRec and the dictionary from
Month_Avg_Solar_Rad_H. The function has a main for loop going through the first
dictionary.
A single layer from the first dictionary is taken into consideration and, via the
module GDAL (see Subsection 3.2.3), the function counts the number of cells storing 1
value and the total number of cells of the raster (the minor function RasPixelAreaProp
provides the area occupied by each pixel in the correct units of surface) and the
proportion of shaded area upon the total area is computed. Again, from the first
dictionary the local time is taken and the closest time in the SMHI elaborated data is
selected. Each time value in the SMHI data is coupled with a value of kWh/m2, and this
value will be assigned to the 1 cells of the current raster layer through a reclassification
(SAGA reclassifygridvalues). Now the raster stores 0 where the surface is supposed to
be shaded and the proper kWh/m2 value where it is enlighten (see Section 6.1 for the
discussion of this assumption). Out of the main loop, the function starts to fill in a
dictionary where the key is the azimuth value and the value is the raster just reclassified.
To get the daily layer showing the total amount of kW reaching the ground, a
simple raster sum is performed (SAGA rastercalculator) through all the layers stored in
the main dictionary filled out of the loop.
4.1.4 Function Best_Azimuth
Among the major functions, Best_Azimuth required the most effort in programming
and it is also the most time consuming part of the whole program. In Table 4.5 the
definition of the input variables is presented.
Table 4.5: Input variable definition
Variable name
Month_Layer_Cast_Azim
Day_Percentage_Shadow
Month_Perc
%_MAX
%_MIN
Day
Month
Year
Description
Dictionary (Keys: Azimuth; Values: Raster path)
Cast Shadow Sun Azimuth
(0: light; Azimuth value: Shadow)
Raster path: Monthly (Representative Day)
Cast Shadow Percentage (0-100%)
List: Monthly (Representative Day)
Cast Shadow Percentage (0-100%)
Maximum value for the percentage range
Minimum value for the percentage range
(representative day)
(representative day)
34
Origin (from)
Cast_01Rec_AzimRec
Month_Shadow
Month_Shadow
Main input
Main input
The main assumption behind the function regards the so-called percentage range.
The idea is that for areas that are shaded for more than a certain percentage value along a
day are not suitable for energy production and with the same principle in areas which are
shaded less than a certain value it is possible to install PV panels directly oriented
towards south. In the literature there are many articles about the shadow effect affecting
the energy production from PV panels (Alam et al. 2012; Guerriero et al. 2014) but exact
values of percentage shading are not available so the percentage range was set arbitrarily,
during the implementation phase, to 55-85%. The behaviour of the model has been tested
with different minimum and maximum values of range. The procedure is presented
below:
1.
In a loop through the values stored in Month_Perc the function takes a percentage
value and compares it to %_MAX and %_MIN making the analysis summarized
in the next table (Table 4.6):
For each result (dict. value) coming from the three different if statement a new
dictionary, with the percentage value as key is created (diagram of this step is
shown in Figure 4.4).
35
2.
The dictionary storing layers 0-1, regarding those percentages of shadow falling
into the percentage range, comes into another loop. This is a sort of key analysis
and it is graphically explained in Figure 4.5. At each round of the loop, a layer in
the dictionary is taken (e.g. Figure 4.5B). This layer is multiplied (SAGA
rastercalculator) with the layers stored in the dictionary Month_Layer_Cast_Azim
(e.g. Figure 4.5C) one by one. The result is that where there is 0 in the first
layer, 0 is defined also in the output, where there is 1, this number is
multiplied with that value stored in the second raster (that is the Sun Azimuth
value that casts the shadow at a given local time; e.g. Figure 4.5D). For every new
layer coming out from this map algebra analysis the function counts the number
of cells storing the current sun azimuth value and stores this number, as value,
into a dictionary where the key is the azimuth angle.
3.
From the previous dictionary (key: sun azimuth; value: number of cells), the
function performs a weighted arithmetic mean (Equation 4.2) where the value x
is the sun azimuth and the correspondent weight w is the number of cells
computed in the previous step.
36
A new dictionary is filled with key the daily percentage of shadow and as value
the result of the equation.
4.
An additional loop takes the dictionary storing the layers falling into the
percentage range (from step 2) and the dictionary from step 3. Here there is a
mathematical assumption: if most of the shadow-covering along a day, for a given
portion of area, comes when the sun has a certain average value of azimuth, then
the best azimuth should be computed from the following formula:
180 + (180
For each layer, now with the average sun azimuth as cell value, is computed the
best azimuth according to the formula in Equation 4.3 and reclassified (SAGA
reclassifygridvalues) with this new value.
5.
Final step is to sum (SAGA rastercalculator) all the reclassified layers with the
proper best azimuth value both from the percentages out and in the range. For the
current representative day, for each different daily percentage of shadow the layer
stores the proper best azimuth angle of orientation if a PV panel array and/or
building is planned to be installed/built.
37
file is filled in directly by the main script through the values coming out from the
function RiseSetSpan and SunPos. For each representative day listed are displayed
the names of other three files that can be consulted: year.month_Sun_Angles.txt,
year.month_Best_Azimuth_Info.txt and year.month_kW_Shadow_Loss_Info.txt.
The file year.month_Sun_Angles.txt shows the number of time-events computed
per day, together with time and Sun position (elevation angle and azimuth), by the
function Cast_01Rec_AzimRec. The file year.month_Best_Azimuth_Info.txt is filled
in by the function Best_Azimuth. Here the user can find the list of percentage values
computed within the representative day. For each single percentage value falling into the
range (Subsection 4.1.4), it can be found the number of shadowed cells, created from a
certain Sun azimuth value, overlapping that area percentage. Finally, the best azimuth
value
for
each
percentage
is
provided.
The
last
file
year.month_kW_Shadow_Loss_Info.txt provides an estimate of loss of energy due to
the presence of shade. Values shown in this file come from the computation done by the
function kW_Shadow.
39
40
This section presents the results obtained from the model, applied to a certain area of the
town of Lund, in the form of case study. As explained in Chapter 4, the model provides
as output raster layers and text files containing several data about the analysis. Because of
the many output layers, especially those relating to the monthly analysis, only some of
them are shown as example.
The model takes into account the DSM in its total extent without distinctions of
categories such as roof, roads or, in fact, green areas. In addition, at the time, it is
not available/accessible information about, for example, a roof where it is forbidden to
install PV panels or areas lacking facilities where it is planned to build. This brief
consideration should be taken into account for the analysis and interpretation of the
results.
The program was run on a selected study area (Section 5.1). For selected simulation
year, which is the 2015, equinoxes are March 20 (spring; JDN 79) and September 23
(autumn; JDN 266) and the solstices are June 21 (summer; JDN 172) and December 22
(winter; JDN 356). Some basics information about the simulation are provided by one of
the output text files, as shown in the following Table 5.1 and some technical information
on Table 5.2.
JDN
January, 17
February, 16
March, 16
April, 15
May, 15
June, 11
July, 17
August, 16
September, 15
October, 15
November, 14
December, 10
17
47
75
105
135
162
198
228
258
288
318
344
Sunrise
(hh:mm:ss)
08:25:19
07:30:59
06:21:51
05:04:27
03:57:51
03:25:18
03:47:42
04:41:20
05:38:55
06:37:34
07:39:42
08:24:46
Azimuth Rise
(degrees)
127,47
111,31
93,30
71,58
53,76
44,39
48,55
63,86
83,89
104,55
122,28
131,72
41
Sunset
(hh:mm:ss)
16:11:35
17:14:22
18:12:49
19:12:55
20:11:40
20:50:01
20:39:38
19:42:06
18:26:28
17:08:58
16:04:08
15:36:09
Azimuth Set
(degrees)
232,72
248,76
267,71
288,62
306,48
315,75
311,42
296,05
276,21
255,52
237,32
227,84
Light Span
(hh:mm:ss)
07:46:16
09:43:23
11:50:58
14:08:27
16:13:49
17:24:42
16:51:55
15:00:45
12:47:33
10:31:24
08:24:26
07:11:24
Table 5.2: Technical information about the simulation and input variables
Technical Data
Input variables
Simulation Date
Called functions
Number of months
Execution time
Disk Space Amount
Reference System
Input DSM
Percentage range
Latitude
Longitude
Year
2015.07.01
All
12
32 m 8 sec
1,22 GB
SWEREF99 13 30
Lund_DSM_3020_Hotel.tif
55-85%
55.695707 N
13.224896 E
2015
The division of the chapter in sections follows ideally the output categories. Section
5.1 presents an overview of the study area and why it has been chosen. In Section 5.2 the
layer group about yearly results is described and the same in the Section 5.3 for the
monthly (representative days) outputs. An additional Section (5.4) is presented to show
the test to check the behaviour of the function BestAzimuth at varying of the
percentage range. Section 5.5 presents another additional test about the program
behaviour changing the input DSM extent.
42
Figure 5.1: Simulation study area. A) Location within the town of Lund; B) Satellite image (Google)
The DSM of the study area (Figure 5.2; in Figure 5.3 a 3D visualization) was
created from 4 LAS files, whose main characteristics are given in the following table
(Table 5.3):
Table 5.3: Original LAS files used to extract the study area
LAS file
SWEREF 99 13 30
61745_1325.las
61745_1330.las
61750_1325.las
61750_1330.las
Number
of points
5 605 177
4 489 982
4 339 069
4 722 272
Figure 5.2: Study area DSM (elevation in meters), slope and aspect
43
Figure 5.3: 3D visualization of the study area from the point cloud (created with lasview
and modified by the author with GIMP 2.8). Reference System: SWEREF99 13 30
In the next two sections all the results provided by the model will be taken into
consideration. As mentioned above, the model provides graphical results directly in the
main window of QGIS and some additional text files. The layers shown are automatically
grouped into two groups in the table of content (TOC): one that collects the annual output
and the other gathering monthly ones.
44
From the sum of the intermediate results of the 12 representative days, the final
result shows the shadow distribution over a year and, as expected, the highest percentage
of shadow falls behind buildings or trees (facing north direction). The highest values of
shading, very closed to 100%, can be observed in the inner parts of the HotellScandic star
(Figure 5.4, white frame). The same result is created with a spotted pattern in the areas
covered by vegetation but that are not relevant, in order to identify areas suitable for the
installation of PV panels.
As mentioned above, the area of this case study has not been chosen at random
because it showed a fairly extensive portion of surface free of structures (Figure 5.4 area
N-E). This area, but also others as roads, shows values of shading between 0 and 16.7%.
Intermediate shade values are found in all those areas to the limit with facilities or plants,
the same structures that cast shadows in different ways depending on the time of day and
consequently on the angle of sun-elevation and azimuth.
5.2.2
The second yearly output shows the average amount of kWh/m2 of sun energy (Figure
5.5) which hits the ground according to the data from the SMHI. As explained, values
come from an additional analysis of data collected through 21 years (1980-2000) from
the Swedish Meteorological Agency (SMHI).
45
According to the way the model was built, this result and the previous one are
closely linked. In areas that are more illuminated during the year, they show greater
values of solar energy. However, unlike other models for the calculation of the solar
radiation (Nguyen and Pearce, 2010; Kodysh et al. 2013) here it is proposed a result as a
function of historical data. Areas with a slope close to zero (Figure 5.2, up-right) and not
largely involved in phenomena of annual shading or structures tilted towards south
(Figure 5.2, down-left) show the highest irradiation values.
Below some layers of intermediate results (representative days) are shown (Figure
5.6). These outputs allowed the model to build up the previous end result (Figure 5.5).
The winter months are characterized by a lower irradiation and, because of the lowest
solar elevation during the hours of light, by shadows that stretch more. In addition,
because of the azimuthal values more narrow, some areas never have the opportunity to
be enlightened. This situation weighs heavily on the variation of solar energy that reaches
the ground during a full calendar year.
46
Figure 5.6: Average daily kWh/m 2 (representative day). JDN 47 = 16.02; JDN 105 = 15.04;
JDN 162 = 11.06; JDN 228 = 15.08; JDN 288 = 16.10; JDN 344 = 10.12.
Legends indicate the min and max daily average kWh/m2.
5.2.3
In the group of the yearly results it is presented the layers showing the areas of the DSM
where, regardless of the possible month of interest, the best azimuth angle value is 180
degrees. This result means that the orientation of a new building in an empty area or the
installation of an array of PV panels should occur facing directly southward. Taking into
account the consideration done at the beginning of this chapter, this result (Figure 5.7)
shows in green colour those areas where 180 degrees is best angle orientation from
January to December.
47
Figure 5.7: Areas where yearly best azimuth is always 180 degrees
This main output is the result of an analysis through the 12 intermediate results
performed in the main for loop written in the main program but, as expected, this
pattern is very closed to the best azimuth output computed for the month with the
shortest light span (in this simulation the month of December, Figure 5.8)
48
The result shows a grey area (Figure 5.7) as counterpart of the green. This area is
where the azimuth angle values are not always 180 degrees: values vary according to the
month. This part will be presented more in detail in the following Section 5.3.
49
Figure 5.9: Monthly best azimuth (JDN A: 17, B: 47, C: 75, D: 105, E: 135, F: 162, G: 198, H: 228,
I: 258, L: 288, M: 318, N: 344). In the legend the values of azimuth (degrees). The areas shown in
the pictures are not the whole area, but an enlargement to allow a better view
50
JDN
Shadow (%)
Time events
January, 17
17
47
March, 16
75
April, 15
105
May, 15
135
June, 11
162
July, 17
198
August, 16
228
September, 15
258
October, 15
288
November, 14
318
December, 10
344
181,21
180,13
181,37
180,49
180,56
179,62
179,48
179,40
179,12
179,39
179,27
178,68
180,20
179,82
180,48
178,95
180,67
180,63
180,00
178,89
180,61
180,38
180,28
180,40
179,29
179,34
180,09
180,20
179,79
179,45
179,63
181,04
180.97
180.00
182,04
181,39
181,54
180,49
February, 16
66,67
83,33
62,50
75,00
60,00
70,00
80,00
61,54
69,23
76,92
60,00
66,67
73,33
80,00
56,25
62,50
68,75
75,00
81,25
60,00
66,67
73,33
80,00
57,14
64,29
71,43
78,57
54,55
63,64
72,73
81,82
55,56
66,67
77,78
57,14
71,43
66,67
83,33
51
8
10
13
15
16
15
14
11
9
7
6
From the previous table (Table 5.4), the suggested azimuth values coming out from
the model start from a minimum value of 178,68 (JDN 135) to a maximum of 181,39
(JDN 318).
For each representative day another text file provides the information about all the
percentage values computed. In the following table (
Table 5.5) the content of this file is reported.
Table 5.5: Shadow percentage per representative day (text file output)
Representative Day
January, 17
February, 16
JDN
17
47
March, 16
75
April, 15
105
May, 15
135
June, 11
162
July, 17
198
August, 16
228
September, 15
258
October, 15
288
November, 14
December, 10
318
344
Percentages (%)
0,00 16,67 33,33 50,00 66,67 83,33 100,00
0,00 12,50 25,00 37,50 50,00 62,50 75,00 87,50 100,00
0,00 10,00 20,00 30,00 40,00 50,00 60,00 70,00 80,00
90,00 100,00
0,00 7,69 15,38 23,08 30,77 38,46 46,15 53,85 61,54
69,23 76,92 84,62 92,31 100,00
0,00 6,67 13,33 20,00 26,67 33,33 40,00 46,67 53,33
60,00 66,67 73,33 80,00 86,67 93,33 100,00
0,00 6,25 12,50 18,75 25,00 31,25 37,50 43,75 50,00
56,25 62,50 68,75 75,00 81,25 87,50 93,75 100,00
0,00 6,67 13,33 20,00 26,67 33,33 40,00 46,67 53,33
60,00 66,67 73,33 80,00 86,67 93,33 100,00
0,00 7,14 14,29 21,43 28,57 35,71 42,86 50,00 57,14
64,29 71,43 78,57 85,71 92,86 100,00
0,00 9,09 18,18 27,27 36,36 45,45 54,55 63,64 72,73
81,82 90,91 100,00
0,00 11,11 22,22 33,33 44,44 55,56 66,67 77,78 88,89
100,00
0,00 14,29 28,57 42,86 57,14 71,43 85,71 100,00
0,00 16,67 33,33 50,00 66,67 83,33 100,00
52
Table 5.6: Best azimuth values for 45-90% and 35-95% simulations across the 12
representative days. Values written in italic belong to all three ranges, in
normal to 45-90 and 35-95, in bold only to 35-95 (data from text file output)
Representative
Day (JDN)
Shadow
(%)
Best Azimuth
(degrees)
Representative
Day
Shadow
(%)
Best Azimuth
(degrees)
40,00
46,67
53,33
60,00
66,67
73,33
80,00
86,67
93,33
35,71
42,86
50,00
57,14
64,29
71,43
78,57
85,71
92,86
36,36
45,45
54,55
63,64
72,73
81,82
90,91
180,09
180,93
180,81
178,89
180,61
180,38
180,28
179,73
179,91
181,35
180,35
180,11
180,40
179,29
179,34
180,09
179,86
179,81
180,20
179,87
180,20
179,79
179,45
179,63
179,8
October, 15
(288)
44,44
55,56
66,67
77,78
88,89
181,55
181,04
180,97
180,00
179,94
November, 14
(318)
42,86
57,14
71,43
85,71
182,43
182,04
181,39
180,35
December, 10
(344)
50,00
66,67
83,33
182,36
181,54
180,49
January, 17
(17)
50,00
66,67
83,33
181,85
181,21
180,13
July, 17
(198)
February, 16
(47)
37,50
50,00
62,50
75,00
87,50
180,88
181,20
181,37
180,49
180,00
August, 16
(228)
March, 16
(75)
40,00
50,00
60,00
70,00
80,00
90,00
180,62
180,40
180,56
179,62
179,48
179,98
September, 15
(258)
38,46
46,15
53,85
61,54
69,23
76,92
84,62
92,31
40,00
46,67
53,33
60,00
66,67
73,33
80,00
86,67
93,33
37,50
43,75
50,00
56,25
62,50
68,75
75,00
81,25
87,50
93,75
179,29
179,43
181,12
179,40
179,12
179,39
179,62
179,83
180,94
180,87
179,90
179,27
178,68
180,20
179,82
179,57
179,65
180,41
180,10
181,41
180,48
178,95
180,67
180,63
180,00
179,70
179,78
April, 15
(105)
May, 15
(135)
June, 11
(162)
53
For each representative day, depending on the range defined in the simulation, to
the percentages of shadow are assigned values of best azimuth that can vary. In the
following figure (Figure 5.10) the comparison among the three different monthly outputs
for the February 16 is shown (analogous results are obtained for other representative
days). By varying the percentage range (increasing the maximum and decreasing the
minimum) areas 180 yearly and 0 contract in size and the area where it is necessary
to calculate the best azimuth increases. For a better graphical comprehension, closed
azimuth values are represented in the Figure 5.10 with the same colour (in detail, 180,00
and 180,49 fall in 180,0; 180,88, 181,20 and 181,37 into 181,0; raster values are correct)
Figure 5.10:A different monthly output due to different percentage ranges (JDN 47).
A: range 35-95%; B: range 45-90%; C: range 55-85% and D: daily shadow casting
54
This test was designed observing the results obtained previously. The hypothesis is
that different factors affect the monthly final results:
1.
2.
By the way the model was built, higher is the raster extension bigger is the
influence to the best azimuth computation due to surfaces out of a possible area of
interest.
On one hand it is expected to get best values of azimuth in a neighbourhood of 180
degrees, on the other hand, immediately next to tall structures are expected values of
azimuth more divergent than those found in previous simulations. The assumption is that
immediately near to tall structures, the radiation from the sun when it is at 180 degrees of
azimuth (around noon) is shaded and then it is better to change the orientation of a PV
panel array (Sun et al. 2012 ) to access a greater irradiation during other hours of the day.
This assumption is valid for particular positions and in this test, to see how the model
responded, the input DSM (Figure 5.1) was reduced in extension and the largest part of it
is now occupied by the HotellScandic Star (Figure 5.11), where some peculiar areas are
present (e.g.: triangle-shaped areas behind the hotel, facing north).
Also for this simulation text files as output were obtained, and in the following
table (Table 5.7) results are reported. The suggested azimuth values coming out from the
model now start from a minimum value of 176,97 (JDN 162) to a maximum of 185,22
(JDN 288).
55
Table 5.7: Best azimuth angle values, computed on the new input DSM,
for each percentage within the percentage range (55-85%)
Representative Day
JDN
January, 17
17
February, 16
47
March, 16
75
April, 15
105
May, 15
135
June, 11
162
July, 17
198
August, 16
228
September, 15
258
October, 15
288
November, 14
318
December, 10
344
Shadow
(%)
66,67
83,33
62,50
75,00
60,00
70,00
80,00
61,54
69,23
76,92
60,00
66,67
73,33
80,00
56,25
62,50
68,75
75,00
81,25
60,00
66,67
73,33
80,00
57,14
64,29
71,43
78,57
54,55
63,64
72,73
81,82
55,56
66,67
77,78
57,14
71,43
66,67
83,33
Best Azimuth
(degrees)
182,71
180,51
185,04
181,29
184,48
179,80
179,19
182,74
179,11
178,56
182,56
181,28
179,32
178,49
182,36
183,55
181,36
178,25
176,47
183,04
182,54
178,09
177,12
183,67
181,98
178,49
179,74
183,99
182,24
179,16
178,77
185,22
183,83
179,58
184,73
183,62
183,10
180,86
Time
Events
6
8
10
13
15
16
15
14
11
9
7
6
The 12 outputs shown in the TOC, in the monthly layer group, are shown in Figure
5.12.
56
Figure 5.12: Monthly best azimuth (JDNA: 17, B: 47, C: 75, D: 105, E: 135, F: 162,
G: 198, H: 228, I: 258, L: 288, M: 318, N: 344) computed on the new input DSM.
In the legend the values of azimuth are expressed in degrees.
57
58
6 DISCUSSION
The practical activity carried on within the Lund Municipality for about three months has
allowed creating a model to provide a solution to some of the needs of the municipality
itself.
all other functions that use the outputs of Cast_01Rec_AzimRec as input parameter. In
addition to this consideration about computational time demand, it is useful to remember
that the data used on the global radiation supplied by the SMHI have hourly intervals and
for this reason it seemed more correct to perform the elaboration on a time interval of
about one hour.
The function kW_Shadow described in Subsection 4.1.3 is based on the
assumption that when the light, coming from the sun, hits the ground then the value of
potentially usable kW is assigned according to the historical data or, more in general, to a
sun radiation model output (Suri and Hofierka 2004). In the shaded areas instead it is
assumed that the value of potentially usable kW collapses to zero; clearly it is a
simplification but shadows and environmental temperature are among the variables that
most influence the efficiency of a PV panel (Verso et al. 2015). In the model, the shadow
is considered as a factor strongly limiting and the temperature is not taken into account.
The shadow, however, has to do with the efficiency of the photovoltaic panels in a
particular way due to how the panels themselves are designed. That the casting of a
shadow on one or more PV panels can be a problem is quite intuitive. The PV panels
convert sunlight into electricity but when a panel, or part of it, is not illuminated, it
produces little energy or does not produce it at all. Actually the matter is worse, because
in almost all cases, the single panel is part of a parallel connected string, called block
(Pveducation.org 2015d), that reflects the overall loss in production of the shaded panel
even if only a portion of the block is shaded (Section 2.4; Daz-Dorado et al. 2010).
Ultimately it makes sense to simplify and considered 0 the energy production of a
shaded panel rather than defining a formula which estimates the loss of production as a
function of the current degree of shading.
The implementation of the model, as seen, has several assumptions that take into
account both physical laws and computational limits. These assumptions had allowed
writing the program in order to get a result in a reasonable time and to be based on a
simple but essentially correct physical model. Now we will discuss the most important
assumption: how to define the value of best azimuth within the defined percentage range.
As described above (Subsection 4.1.4) for each percentage of shadow, within a
single representative day, an azimuth value is provided. The method developed to
determine this value sees the calculation of a weighted average (Equation 4.2) among all
values of solar azimuth along the day: in practice it defines which is the influence of the
shadow due to each individual position of the sun (varying the time events) on the
calculation of the total daily percentage (Figure 4.5). With this assumption it is possible
to initially obtain the single value, so it is necessary to calculate an average, of the
azimuth angle of the sun from where it is mainly projected the shadow and later with the
simple Equation 4.3 to define the angle of orientation that can escape, turning in the
opposite direction compared to the value of 180 degrees, from the position more subject
to shading. The behavior of the model, in the light of this assumption, it was also tested
with varying the percentage range and extent of the DSM (Sections 5.4 and 5.5).
The model was tested for three different percentages range to evaluate its behaviour
(35-95%, 45-90% and 55-85%). From the model it was expected that, to vary the size of
60
the range, the output values of best azimuth were always in a neighbourhood of 180
degrees even for the new percentage now included into the new, larger range. Comparing
the values in the Table 5.4 and Table 5.6 the prediction has been fulfilled. The single
values of azimuth refer to a precise percentage within the representative day, and
enlarging the percentage range, increase the number of percentages that require the
intervention of the function Best Azimuth to assess the best angle of orientation. The
values of percentage daily, falling always in all three ranges, will always show the same
value of azimuth. A final consideration: greater percentage values of shadow (85, 90 and
95) also have their azimuth values which tend to 180 degrees, however it should be
considered that greater percentage values should be excluded because too exposed in the
shade (hence the definition of the percentage range with a maximum) and then they
would be areas where a PV panel could not operate with good efficiency.
Finally, the model was tested on an input DSM with a lower extension if compared
with the original and where the tallest structure was highly decentralized. As mentioned
in the results (Section 5.4), decreasing the extent of the study area, the calculated range of
azimuth values increases from a range between 178,68 and 181,39 for the DSM in Figure
5.2 to a range between 176,47 and 185,22 for the DSM in Figure 5.11. This is due to a
sort of flattening of the values closer to 180, increasing the extension of the input DSM.
In general it seems to make more sense to limit the analysis in the proximity of the area
of interest, in this case the model returns values that interpret better the phenomenon of
shading due to the structures that affect almost exclusively the area taken into
consideration by providing angular values more extremes regardless facilities further
away than have no effect. This measure was also used by Kodysh and colleagues
(Kodysh et al. 2013) that in their work have used a buffer of 25m around roofs to
consider only those structures that shade the roof taken into consideration.
The summer months (JDN: 135, 162 and 198) deserve a final consideration. In
Figure 5.12, for these months, the best azimuth value 180 is close to the structure of the
hotel but there is to consider that at noon of the summer months the sun elevation is
higher and thus can make the azimuth to tend towards that value.
an annual round analysis, so even in months where the state of development of the plants
was no longer representative of the real situation. In the detail of the case study area,
where the plants are deciduous, this means that there may be an underestimation of the
shadow generated in the summer months because of the plants with full leaf coverage and
hence highest and/or more dense. In each case it should be taken into consideration the
chosen resolution of the raster (1m) and the interpolation automatically done by LAStool
(Subsection 3.2.3) which, again, can modify a little the DSM respect to reality.
The situation of Lund and in general in places at high latitudes is peculiar because,
in the days between the two equinoxes (Mars 20 and September 23 for the year 2015), the
sun rises and sets with azimuth angles which are smaller day by day (considering the
north azimuth as 0 degrees). This situation allows some areas, which seem to be
apparently unreachable by the sunlight, to become illuminated and therefore the presence
of shadow at percentages close to 100% during the whole year is real only in special
situations such as that shown for the building in Figure 5.4.
The second layer belonging to the annual results shows a daily average of kWh/m2
(Figure 5.5) calculated on the year of the analysis. The input data about the kW of energy
coming from the Sun does not come from a physical model but from real data collected
by the SMHI. Also this result is closely related to the previous one about shadows
percentage. It has been decided to consider this result as part of the analysis of the year
(2015), however, it has to be considered that SMHI data are available for two decades
from 1980 to 2000. This choice is dictated by the fact that the analysis of the shadows
instead is also a function of the chosen year.
Using historical data rather than rely on a model is essentially justified by two
reasons: i) this type of historical data is nowadays more and more available and ii) a
physical model to calculate these values, only for a single day, often takes some time to
perform the analysis. Available historical data often covers an extended time series and in
this way also the variation of weather conditions that affect kW actually reaching the
surface is indirectly incorporated. On the other hand however, the use of a physical model
requires the knowledge of parameters that are not equally easy to retrieve for the area of
interest. Also different models can require different parameters and can give slightly
different results. This specific part of the model (Subsection 5.2.2) allows the inclusion of
upgrades in the data regarding kW: here were available those from 1980 to 2000 but data
collected in other years can be used.
In the following subsection the third annual result will be discussed together with
the monthly results.
6.2.2 Best azimuth and monthly results
The last annual result draws the portion of the area of interest where 180 degrees is the
best azimuth value across all the year. As highlighted in the previous chapter, this result
(Figure 5.7) is visually similar to that of the shorter representative day in the computation
of hours of light (Figure 5.8). This similarity was expected. The area of best azimuth at
180 degrees in the shortest day among the 12 considered, will be shared to all the other
62
11 while, among these last, the portions at 180 degrees outside the area defined in green
colour in Figure 5.7 will be part of the variable area (Figure 5.9; it is necessary to stress
once again that the values shown visually in the legend are rounded to the integer values
of best azimuth to improve reading).
Coming back on how the model was built, the script within this phase of the
process performs a final step where a filter is passed through the layer to return a more
homogeneous result as already expressed in the previous section. This step was necessary
for a possible further development of the model: to consider a minimum area where is
suitable to install a PV array and/or roof footprint (Section 2.4). In that case, a solitary
pixel (in this case representing a square meter) could not fit a minimum area requirement.
Ultimately according to the model there is, as expected, a change in the azimuth
values across different JDN, but these changes are not very pronounced, are in the order
of 2 degrees compared to 180 (Figure 5.9). However the most informative perspective,
even for practical purposes, it is to see how areas vary on equal azimuth value. An
installed PV panel can move along the azimuth plane within a limited angle range but
may be sufficient, it is more important to know if this energy structure is installed in an
area where it is necessary to adjust this angle during the year to make the most of solar
radiation.
of interest and, in parallel, creating an ad hoc function that can handle at least the cloud
cover in order to better redefine those time-events in which it is likely to consider the
solar radiation only in its direct component. This possible refinement of the model would
have repercussions on the other important application analysis: the process of defining
the value of best angle orientation. In the presence of diffuse radiation, the orientation of
the PV panel is of marginal importance for the production of electric energy because the
definition of the best position for a PV panel has meaning only in relation to direct light
rays (more intense) and not for those refracted in different directions. With the diffuse
radiation, the light rays come from different directions and also carry less energy
compared to a bundle of direct light rays hitting a PV panel and in this sense also the
production of electricity would be significantly affected almost to make the panel
inefficient.
The impact that can have, in the various analyses, the presence of direct or diffuse
radiation also affects the average annual solar radiation hitting the area of interest. The
SMHI provides hourly values of global radiation and in this way would be more
informative to have an input dataset where are presented data collected separately for
direct and diffuse radiation. This would allow to be able to calculate the fraction of
energy hitting the ground, arising for instance only by the diffuse radiation.
64
The production of electricity from renewable and non-polluting sources is an area that
sees more and more investment and is of interest not only for individuals, but also for the
governments and agencies. Energy from the sun is one of these sources and to use it
efficiently it is compulsory to consider several variables both physical and technological.
In this short experience we wanted to create a model that, taking into account a small set
of these variables, could provide some results preparatory for a possible use of solar
energy.
The model developed here is based on input data of increasingly easy availability:
the data on solar radiation are often made available by the national energy agencies or by
meteorological centers and the digital terrain models (or data allowing their creation) are
becoming more commonly used and freely available. The model has also been created
entirely using FOSS software and packages available online at no additional charge. This
approach is justified by the need, for many administrations, to reduce costs and at the
same time to respond effectively to requests that these recent years posed, especially on
delicate issues such as environmental.
The model, by definition, is a simplification of the reality that, availing of a limited
number of variables, tries to provide a correct and usable result for some purposes. In our
case the model provides essentially three kinds of graphics results and some text files
with data. The first two results are annual and, in the area of interest, show the percentage
of shadow casting and an estimation of the sun energy hitting the ground according to
some data provided by the SMHI. The third result, which is the most important, is about
the best orientation of an energy structure such as a PV panel: the model present a
pictorial result showing the portion of area where this value is always 180 degrees and a
series of twelve pictorial outputs, one for each representative day, where the user can see
the areas where this angular value requires an adjustment.
This model is always questionable and improvable, both in its basic assumptions
and in the programming and already during its implementation have emerged interesting
insights. Thanks to these insights, the behavior of the model has been tested with varying
of percentage range and extent of the input DSM. The percentage range allows the user to
define a priori which is the minimum percentage of shading beyond which the best
azimuth value is always 180 degrees and maximum beyond which it would make no
sense to install a PV panel. It has also been changed the input DSM extent input to
understand how the model answered always about the best values of azimuth: the higher
the extent of the DSM, decreases the range of the best azimuth. This behavior has
allowed understanding that it is more appropriate to carry out this analysis on a DSM
extent which is only slightly larger than the area of interest.
65
Insights raised during the implementation have highlighted other aspects that can
improve the model in future. Always reconnecting to the extent of the input DSM, it
would seem that the general orientation of the buildings or structures within the area of
interest may affect the values of best azimuth. This debate is based on a purely visual
analysis: buildings oriented more towards NE-SW lead to values of best azimuth on
average less than 180degrees; if the orientation is in the opposite direction (NW-SE)
values would be greater than 180. This consideration needs to be investigated. In any
case, to choose the correct extent of the study area could obviate this effect.
As has often been said, the variables that can be considered are many and it is
necessary to make choices, but some may be internalized in the model for the analysis
improvement without having to intervene excessively on the work already done. A first
value that can be inserted in the model is the minimum area of a PV panel: in this way it
would be possible to identify those portions of the area which are not sufficiently large to
accommodate an energy structure. This possibility is closely related to the matter on the
elimination, through the filtering, of those pixels storing values different from
surroundings cells. This model carries out the analysis, in a general sense, both for the
installation of PV panels to be positioned at ground level and on roofs of future buildings:
in the second case it would be useful to allow the user to enter the building height in
design. This option would require a pre-processing of the DSM so as to provide the
necessary information on the elevation of a final area not yet built. Finally it would be
useful to define not only the best azimuth but also the best value of tilt angle of the PV
panels: this aspect is in fact the most analysed in the literature.
The application could be improved maintaining the primary analyses unchanged,
however these may be also modified taking into account the different nature of solar
radiation. The analysis of the pattern of the shadows should be improved taking into
account the fact that at high latitudes such as the city of Lund, the cloud cover, especially
in the wintertime, has a strong impact on the amount of direct solar radiation. These
changes, which go directly to the core of the application, could provide even more
probable results both on the actual amount of solar radiation on the ground and on the
values of best orientation of a PV panel.
Here is a final consideration of practical nature. At the moment the model lies in a
set of Python files that can be called very quickly through the Python console provided
by QGIS. QGIS however, allows creating a Graphical User Interface (GUI) for its
GeoAlgorithms, also called plug-in. Translating this model into a plug-in, as well as
providing a graphical interface, it would be possible to make it available to all users of
the network, storing it in a separate repository of QGIS, specially created by the
community with the purpose to share these tools.
66
REFERENCES
Alam, N., V. Coors, S. Zlatanova, and P. Oosterom. 2012. Shadow effect on photovoltaic
potentiality analysis using 3D city model. In International Archives of the Photogrammetry,
Remote Sensing and Spatial Information Sciences, 209-214.XXII ISPRS Congress
AL-Naimi, R., M. AL-Salihi and D. Bakr. 2014. Neural network based global solar radiation
estimation using limited meteorological data for Baghdad, Iraq. International Journal of
Energy and Environment 5: 79-84.
American Society of Photogrammetry and Remote Sensing,. 2013. LAS Specification Version 1.4
R13. Bethesda, Maryland.
Araya-Muoz, D., D. Carvajal, A. Sez-Carreo, S. Bensaid, and E. Soto-Mrquez. 2014.
Assessing the solar potential of roofs in Valparaso (Chile). Energy and Buildings 69: 62-73.
Elsevier BV. doi:10.1016/j.enbuild.2013.10.014.
Asprs.org,. 2015. LASer (LAS) File Format Exchange Activities. Retrieved June 29, 2015, from
http://www.asprs.org/Committee-General/LASer-LAS-File-Format-Exchange-Activities.html
Astro.cornell.edu,. 2015. Altitude and Azimuth. Retrieved July
http://www.astro.cornell.edu/academics/courses/astro201/alt_az.htm
07,
2015,
from
Bakirci, K. 2012. General models for optimum tilt angles of solar panels: Turkey case study.
Renewable and Sustainable Energy Reviews 16: 6149-6159. Elsevier BV.
doi:10.1016/j.rser.2012.07.009.
Blom Sweden AB,. 2015. Laserskanning Lund Redogrelse. Sollentuna.
Cassell, M. 2009. When local governments choose open source over proprietary software: a study
of four European cities. In Annual Meeting of the Western Political Science Association.
Catita, C., P. Redweik, J. Pereira, and M. Brito. 2014. Extending solar potential analysis in
buildings to vertical facades. Computers & Geosciences 66: 1-12. Elsevier BV.
doi:10.1016/j.cageo.2014.01.002.
Chen, J., A. Hill, and L. Urbano. 2009. A GIS-based model for urban flood inundation. Journal of
Hydrology 373: 184-192. Elsevier BV. doi:10.1016/j.jhydrol.2009.04.021.
Chong, K., C. Wong, F. Siaw, T. Yew, S. Ng, M. Liang, Y. Lim, and S. Lau. 2009. Integration of
an On-Axis General Sun-Tracking Formula in the Algorithm of an Open-Loop Sun-Tracking
System. Sensors 9: 7849-7865. MDPI AG. doi:10.3390/s91007849.
Daz-Dorado, E., A. Surez-Garca, C. Carrillo, and J. Cidrs. 2010. Influence of the shadows in
photovoltaic systems with different configurations of bypass diodes. In SPEEDAM 2010, 134139.
Docs.qgis.org,.
2015.
Print
Composer.
Retrieved
July
10,
2015,
http://docs.qgis.org/2.0/en/docs/user_manual/print_composer/print_composer.html
from
Doggett, L., W. Tangren, and S. Panossian. 1990. Almanac for Computers. Washington, DC:
Nautical Almanac Office - United States Naval Observatory.
67
Duffie, J., and W. Beckman. 2006. Solar engineering of thermal processes. Hoboken, N.J.:
Wiley.
El Saeid Mustafa, A. 2012.Development of a Photo Voltaic Building Rooftop Integration
Analysis Tool for GIS for Dokki District, Cairo, Egypt.Master Thesis, Lund University.
Feldman, D., G. Barbose, R. Margolis, T. James, S. Weaver, N. Darghouth, R. Fu, and C.
Davidson et al. 2014. Photovoltaic System Pricing Trends: Historical, Recent, and Near-Term
Projections - 2014 Edition. Presentation.
Freitas, S., C. Catita, P. Redweik, and M. Brito. 2015. Modelling solar potential in the urban
environment: State-of-the-art review. Renewable and Sustainable Energy Reviews 41: 915931. Elsevier BV. doi:10.1016/j.rser.2014.08.060.
Fu, P., and P. Rich. 1999. Design and implementation of the Solar Analyst: an ArcView
extension for modeling solar radiation at landscape scales. In Proceedings of the 19th annual
ESRI user conference.
Gdal.org,. 2015. GDAL: GDAL - Geospatial Data Abstraction Library. Retrieved July 09, 2015,
from http://www.gdal.org/
Gnu.org,. 2015. What is free software?- GNU Project - Free Software Foundation. Retrieved July
10, 2015, from https://www.gnu.org/philosophy/free-sw.html
Gopinathan, K., N. Maliehe, and M. Mpholo. 2007. A study on the intercepted insolation as a
function of slope and azimuth of the surface. Energy 32: 213-220. Elsevier BV.
doi:10.1016/j.energy.2006.04.009.
Grass.osgeo.org,. 2015. GRASS GIS manual: r.sun. Retrieved August 17, 2015, from
https://grass.osgeo.org/grass64/manuals/r.sun.html
Grena, R. 2012. Five new algorithms for the computation of sun position from 2010 to 2110.
Solar Energy 86: 1323-1337. Elsevier BV. doi:10.1016/j.solener.2012.01.024.
Guerriero, P., F. Di Napoli, F. Cominale, V. d'Alessandro, and S. Daliento. 2014. Accurate
analysis of small shadows effects on photovoltaic systems yield. 2014 International
Symposium on Power Electronics, Electrical Drives, Automation and Motion. Institute of
Electrical & Electronics Engineers (IEEE). doi:10.1109/speedam.2014.6872081.
Gulin, M., M. Vaak, and N. Peri. 2013. Dynamical optimal positioning of a photovoltaic panel
in all weather conditions. Applied Energy 108: 429-438. Elsevier BV.
doi:10.1016/j.apenergy.2013.03.006.
Hedn, P. 2013. Solelpotentialbedmning - framstllning av solelpotentialkarta fr Lund och
utvrdering av laserdata. Master Thesis, Lunds Tekniska Hgskola.
Hetrick, W., P. Rich, and S. Weiss.1993. Modeling insolation on complex surfaces. In
Proceedings of the thirteenth annual ESRI user conference 2: 447-458.
Hofierka, J., and M. Suri. 2002. The solar radiation model for Open source GIS: implementation
and applications. In GRASS users conference 2002, 1-19. Open source GIS.
Hofierka, J., and M. Zlocha. 2012. A New 3-D Solar Radiation Model for 3-D City Models.
Transactions in GIS 16: 681-690. Wiley-Blackwell. doi:10.1111/j.1467-9671.2012.01337.x.
Jafarkazemi, F., and S. Saadabadi. 2013. Optimum tilt angle and orientation of solar surfaces in
Abu
Dhabi,
UAE.
Renewable
Energy
56:
44-49.
Elsevier
BV.
doi:10.1016/j.renene.2012.10.036.
68
Jardine, C., and K. Lane. 2003. Photovoltaics in the UK: An introductory guide for new
consumers. Presentation Oxford.
Kodysh, J., O. Omitaomu, B. Bhaduri, and B. Neish. 2013. Methodology for estimating solar
potential on multiple building rooftops for photovoltaic systems. Sustainable Cities and
Society 8: 31-41. Elsevier BV. doi:10.1016/j.scs.2013.01.002.
Kraftringen.se,.2015a. Solkartan - se hur mycket solinstrlning ditt tak har - Kraftringen.
Retrieved June 24, 2015, from http://www.kraftringen.se/Privat/Solceller/Solkartan/
Kraftringen.se,. 2015b. Solkartan - om projektet - Kraftringen. Retrieved June 25, 2015, from
http://www.kraftringen.se/Privat/Solceller/Solkartan/Projektet-bakom-Solkartan/
Kumar, L., A.K. Skidmore, and E. Knowles. 1997. Modelling topographic variation in solar
radiation in a GIS environment. International Journal Of Geographical Information Science
11:47597
Lamie, R., W. Campbell, and W. Molnar. 2012. The fiscal-geographic nexus: An overview of
fiscal impact assessment in local policy development. Applied Geography 32: 54-60. Elsevier
BV. doi:10.1016/j.apgeog.2010.07.007.
Li, R., Z. Tang, X. Li, and J. Winter. 2013. Drainage Structure Datasets and Effects on LiDARDerived Surface Flow Modeling. ISPRS International Journal of Geo-Information 2: 11361152. MDPI AG. doi:10.3390/ijgi2041136.
Lta.cr.usgs.gov,. 2015. Light Detection and Ranging (LIDAR). Retrieved June 25, 2015, from
https://lta.cr.usgs.gov/LIDAR
Lu, X., Q. Guo, W. Li, and J. Flanagan. 2014. A bottom-up approach to segment individual
deciduous trees using leaf-off lidar point cloud data. ISPRS Journal of Photogrammetry and
Remote Sensing 94: 1-12. Elsevier BV. doi:10.1016/j.isprsjprs.2014.03.014.
Luka, N., and B. alik. 2013. GPU-based roofs' solar potential estimation using LiDAR data.
Computers & Geosciences 52: 34-41. Elsevier BV. doi:10.1016/j.cageo.2012.10.010.
Maksimovic, . 2009.Overland flow and pathway analysis for modelling of urban pluvial
flooding.JHR 47: 000. Informa UK Limited. doi:10.3826/jhr.2009.3361.
Martinez-Rubio, A., F. Sanz-Adan, and J. Santamaria. 2015. Optimal design of photovoltaic
energy collectors with mutual shading for pre-existing building roofs. Renewable Energy 78:
666-678. Elsevier BV. doi:10.1016/j.renene.2015.01.043.
Melo, E., M. Almeida, R. Zilles, and J. Grimoni. 2013. Using a shading matrix to estimate the
shading factor and the irradiation in a three-dimensional model of a receiving surface in an
urban environment. Solar Energy 92: 15-25. Elsevier BV. doi:10.1016/j.solener.2013.02.015.
Morse, P., and H. Feshbach. 1999. Methods of theoretical physics. Boston: McGraw Hill.
Nguyen, H., and J. Pearce. 2010. Estimating potential photovoltaic yield with r.sun and the open
source Geographical Resources Analysis Support System. Solar Energy 84: 831-843. Elsevier
BV. doi:10.1016/j.solener.2010.02.009.
National Oceanic and Atmospheric Administration (NOAA),. 2012. Lidar 101: An Introduction
to Lidar Technology, Data, and Applications. Charleston, SC: NOAA Coastal Services
Center.
Oceanservice.noaa.gov,. 2015. What is LIDAR?.
http://oceanservice.noaa.gov/facts/lidar.html
69
Retrieved
June
27,
2015,
from
Parding, K., J. Olseth, K. Dagestad, and B. Liepert. 2014. Decadal variability of clouds, solar
radiation and temperature at a high-latitude coastal site in Norway. Tellus B 66.
doi:10.3402/tellusb.v66.25897.
Pveducation.org,.2015a.
PVEducation.
http://www.pveducation.org/
Retrieved
Aprile
29,
2015,
from
Retrieved
April
16,
2015,
from
Python.org,.2015b. Welcome
https://www.python.org/
Retrieved
April
16,
2015,
from
16,
2015,
to
Python.org.
project!.
Retrieved
Retrieved
July
10,
April
2015,
from
rapidlasso GmbH,. 2012. LAStools. Retrieved July 09, 2015, from http://rapidlasso.com/lastools/
Re.jrc.ec.europa.eu,. 2015. PV potential estimation utility. Retrieved July 13, 2015, from
http://re.jrc.ec.europa.eu/pvgis/apps4/pvest.php?lang=en&map=europe
Renno, C., and F. Petito. 2013. Design and modeling of a concentrating photovoltaic thermal
(CPV/T) system for a domestic application. Energy and Buildings 62: 392-402. Elsevier BV.
doi:10.1016/j.enbuild.2013.02.040.
Rigollier, C., O. Bauer, and L. Wald. 2000. On the clear sky model of the ESRA European
Solar Radiation Atlas with respect to the heliosat method. Solar Energy 68: 33-48. Elsevier
BV. doi:10.1016/s0038-092x(99)00055-9.
Santos, T., N. Gomes, S. Freire, M. Brito, L. Santos, and J. Tenedrio. 2014. Applications of
solar mapping in the urban environment. Applied Geography 51: 48-57. Elsevier BV.
doi:10.1016/j.apgeog.2014.03.008.
Shamim, M., R. Remesan, M. Bray, and D. Han. 2015. An improved technique for global solar
radiation estimation using numerical weather prediction. Journal of Atmospheric and SolarTerrestrial Physics 129: 13-22. Elsevier BV. doi:10.1016/j.jastp.2015.03.011.
Solangi, K., M. Islam, R. Saidur, N. Rahim, and H. Fayaz. 2011. A review on global solar energy
policy. Renewable and Sustainable Energy Reviews 15: 2149-2163. Elsevier BV.
doi:10.1016/j.rser.2011.01.007.
Skelion. 2013. Skelion 5.1.5 users guide
Sketchup.com,. 2015. SketchUp for Architecture | SketchUp. Retrieved August 16, 2015, from
http://www.sketchup.com/3Dfor/architecture
Solar Electricity Handbook,. 2015. Solar Irradiance Calculator. Retrieved July 13, 2015, from
http://solarelectricityhandbook.com/solar-irradiance.html
70
Smhi.se,. 2015. Strlning | SMHI. Retrieved July 09, 2015, from Retrieved June 03, 2015, from
http://www.smhi.se/klimatdata/meteorologi/stralning
Starr, M., and W. Palz. 1983. Photovoltaic power for Europe: an assessment study. Dordrecht,
Holland: D. Reidel Publishing Company.
Strang.smhi.se,. 2015. data extraction. Retrieved June 03, 2015, from http://strang.smhi.se/omna/
Sun, L., L. Lu, and H. Yang. 2012. Optimum design of shading-type building-integrated
photovoltaic claddings with different surface azimuth angles. Applied Energy 90: 233-240.
Elsevier BV. doi:10.1016/j.apenergy.2011.01.062.
Suri, M., and J. Hofierka. 2004. A New GIS-based Solar Radiation Model and Its Application to
Photovoltaic Assessments. Transactions in GIS 8: 175-190. Wiley-Blackwell.
doi:10.1111/j.1467-9671.2004.00174.x.
Tait, P. 2014. A critical decade for public health: responsibility for energy transitions. Australian
and New Zealand Journal of Public Health 38: 4-6. Wiley-Blackwell. doi:10.1111/17536405.12187.
Technical standard UNI 8477-1, 1983.
Tutorialspoint.com,. 2015. Python Dictionary. Retrieved
http://www.tutorialspoint.com/python/python_dictionary.htm
July
10,
2015,
from
Urry, J. 2014.The Problem of Energy.Theory, Culture & Society 31: 3-20. SAGE
Publications.doi:10.1177/0263276414536747.
Usa.autodesk.com,.2015. Ecotect Analysis - Sustainable Building Design Software - Autodesk.
Retrieved August 16, 2015, from http://usa.autodesk.com/ecotect-analysis/
Verso, A., A. Martin, J. Amador, and J. Dominguez. 2015. GIS-based method to evaluate the
photovoltaic potential in the urban environments: The particular case of Miraflores de la
Sierra. Solar Energy 117: 236-245. Elsevier BV. doi:10.1016/j.solener.2015.04.018.
Williams.best.vwh.net,. 2015. Sunrise/Sunset Algorithm. Retrieved April 27, 2015, from
http://williams.best.vwh.net/sunrise_sunset_algorithm.htm
Yadav, A., and S. Chandel. 2013. Tilt angle optimization to maximize incident solar radiation: A
review. Renewable and Sustainable Energy Reviews 23: 503-513. Elsevier BV.
doi:10.1016/j.rser.2013.02.027.
Ying, S., L. Li, and R. Guo. 2011. Building 3D cadastral system based on 2D survey plans with
SketchUp. Geo-spatial Information Science 14: 129-136. Informa UK Limited.
doi:10.1007/s11806-011-0483-2.
Zijffers, J., M. Janssen, J. Tramper, and R. Wijffels. 2008. Design Process of an Area-Efficient
Photobioreactor. Mar Biotechnol 10: 404-415. Springer Science + Business
Media.doi:10.1007/s10126-007-9077-2.
71
APPENDICES
Appendix 1: LAS file with some information from Header Block and VLR (point
data not shown)
lasinfo for C:/Users/049034/MODEL/fusa.laz
reporting all LAS header entries:
file signature:
'LASF'
file source ID:
0
global_encoding:
0
project ID GUID data 1-4: 00000000-0000-0000-0000-000000000000
versionmajor.minor:
1.1
system identifier:
'LAStools (c) by Martin Isenburg'
generating software:
'lasclassify (110920) unlicensed'
file creation day/year: 40/2010
header size:
227
offset to point data:
321
number var. length records: 1
point data format:
1
point data record length: 28
number of point records: 277573
number of points by return: 263413 13879 281 0 0
scale factor x y z:
0.01 0.01 0.01
offset x y z:
000
min x y z:
277750.00 6122250.00 42.21
max x y z:
277999.99 6122499.99 64.35
variable length header record 1 of 1:
reserved
43707
user ID
'LASF_Projection'
record ID
34735
length after header 40
description
'by LAStools of Martin Isenburg'
GeoKeyDirectoryTag version 1.1.0 number of keys 4
key 1024 tiff_tag_location 0 count 1 value_offset 1 - GTModelTypeGeoKey: ModelTypeProjected
key 3072 tiff_tag_location 0 count 1 value_offset 32754 - ProjectedCSTypeGeoKey: UTM 54 southern hemisphere
key 3076 tiff_tag_location 0 count 1 value_offset 9001 - ProjLinearUnitsGeoKey: Linear_Meter
key 4099 tiff_tag_location 0 count 1 value_offset 9001 - VerticalUnitsGeoKey: Linear_Meter
LASzip compression (version 2.0r1 c2 50000): POINT10 2 GPSTIME11 2
reporting minimum and maximum for all LAS point record entries ...
X
27775000 27799999
Y
612225000 612249999
Z
4221
6435
intensity
10
62293
return_number
1
3
number_of_returns 1
3
edge_of_flight_line 0
0
scan_direction_flag 0
0
classification
1
6
scan_angle_rank 79
103
user_data
0
197
point_source_ID 1
1
gps_time 5880.963028 5886.739738
overview over number of returns of given pulse: 249493 27232 848 0 0 0 0
histogram of classification of points:
17553 unclassified (1)
180868 ground (2)
37030 high vegetation (5)
42122 building (6)
72
LIST OF PUBLICATIONS
73
347
348
349
350
351
352
353
354
355
356
357
358
359
360
74