A few weeks ago, I wrote some Python code to calculate the position of the sun based on latitude, longitude, and a timestamp that includes year, month, day, and time. While I do work as an engineering consultant in the solar industry, this is a project that I started on the side out of my own personal interest. Now that it at least sort of works, I'm releasing it on Sourceforge in the hopes that other people will be able to use it as a base for work in the solar industry.
Thus far, I have tested the code minimally-- I took some measurements off of an angled board and a plumb bob. The calculated values for azimuth and elevation matched the measured values to within a degree or so.
Since then, I have been refining the code for increased accuracy. Recent (Reda and Andreas, 2004) research at NREL, the US National Renewable Energy Laboratory, suggests that it's possible to calculate azimuth and elevation to with 0.0003 degrees. This code will be added in a future release.
If you have the interest, please test the code in your location. You can get decent latitude and longitude measurements out of the "Link to this page" URL of Google Maps. I'd love to hear how it works.
Brandon