Knowing how to calculate the sun’s position in the sky with very high accuracy is at the core of just about all solar energy research, whether for site planning, or real time aiming of the most sophisticated concentrating receivers, heliostats, and photovoltaic tracking systems. Sun Position’s Visual Basic algorithms meet that core need.
The author, John Clark Craig, programmed all the field control and data acquisition for several of the world’s largest solar energy projects in the 1980′s. Projects included the square-mile two-axis concentrating photovoltaic trackers at Carrissa Plains, California, the large Hesperia, California field of flat two-axis photovoltaic trackers, an enhanced oil recovery project using a field of heliostats and a central thermal receiver tower near Taft, California, and a variety of research and development projects at Sandia Labs, Solar 1 at Barstow, the Weizmann Institute, Tennessee Valley Authority, and elsewhere around the world. While developing software systems for these projects, John was constantly looking for the best algorithms and improved code for determining accurate sun position. Most of the available documentation was not easy to use, with bits and pieces of algorithms here and there, mixed in with poorly explained terminology, and with very little guidance for translating to programming languages he was required to use. Sun Position is the book he wishes he had when he really needed it!
Two algorithms are presented for calculating sun position. The first algorithm is of “low accuracy”, determining the sun’s position with a maximum error of about 0.02 degrees. The second algorithm is much more involved, but it provides a “high accuracy” sun position with a maximum error of about 0.00003 degrees. This is the code to use if you need the absolute best accuracy for heliostats and critically aimed solar concentrators of all types.
All of the Visual Basic source code in this book provides working example results for variables at every step of the way. This is the critical piece that makes this book a valuable resource for translating to any other programming language.