Sandia-Labs/PVLIB_Python — pull request #27 by wholmgren (2014-10-01 01:46:34+00:00)
Title: solarposition integration round 2

Here's my version of ``solarposition.py``.

Some things that I like about are that it uses pytz, pyephem (optionally), spa (optionally), and returns pandas DataFrames. The calculators can be called directly using ``spa()`` and ``pyephem``, or they can be called indirectly using ``get_solarposition(method='spa')`` or ``get_solarposition(method='ephem')``. I'm open to changing this behavior in the future.

**Testing**
``pvlib/test/test_solarposition.py`` provides a decent test of the new module, pyephem, and the cythonized spa code. Some potential timezone and daylight savings time issues get tested, but more tests could probably still be written. You'll need nose to run the tests, and you'll also need to have already run ``cd pvlib/spa_c_files; python setup.py build_ext --inplace`` (I'm also preparing a new setup.py improvements PR).

**Compatibility**
* This PR requires #26.
* This PR breaks anything that relies on the old ``solarposition.py``, but I'm only aware of this effecting ``clearsky_ineichen()``. I will address ``clearsky.py`` in a separate PR. I could add the old ``solarposition.ephemeris`` function to the new module, but I thought that we were moving away from it, so it's not included.

See #17 for more details.