Skip to content

move info from readme to official docs #185

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 1 commit into from
May 27, 2016
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
80 changes: 18 additions & 62 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,87 +8,43 @@ pvlib-python
[![DOI](https://zenodo.org/badge/doi/10.5281/zenodo.50141.svg)](http://dx.doi.org/10.5281/zenodo.50141)


pvlib-python is a community supported tool that provides a set of documented functions for simulating the performance of photovoltaic energy systems. The toolbox was originally developed in MATLAB at Sandia National Laboratories and it implements many of the models and methods developed at the Labs. More information on Sandia Labs PV performance modeling programs can be found at https://pvpmc.sandia.gov/. We collaborate with the PVLIB-MATLAB project, but operate independently of it.
pvlib-python is a community supported tool that provides a set of functions and classes for simulating the performance of photovoltaic energy systems.
The toolbox was originally developed in MATLAB at Sandia National Laboratories and it implements many of the models and methods developed at the Labs.
More information on Sandia Labs PV performance modeling programs can be found at https://pvpmc.sandia.gov/.
We collaborate with the PVLIB-MATLAB project, but operate independently of it.


Documentation
=============

Full documentation can be found at [readthedocs](http://pvlib-python.readthedocs.org/en/latest/).


Contributing
============

We need your help to make pvlib-python a great tool! Please see the [Contributing page](http://pvlib-python.readthedocs.org/en/latest/contributing.html) for more on how you can contribute. The long-term success of pvlib-python requires substantial community support.
Full documentation can be found at [readthedocs](http://pvlib-python.readthedocs.io/en/latest/).


Installation
============

To obtain the most recent stable release, just use ``pip`` or ``conda``:

```
pip install pvlib
```

```
conda install -c pvlib pvlib
```

Please see the [Installation page](http://pvlib-python.readthedocs.org/en/latest/installation.html) of the documentation for complete instructions.


NREL SPA algorithm
------------------
pvlib-python is distributed with several validated, high-precision, and high-performance solar position calculators.
It also includes wrappers for the official NREL SPA algorithm.
To use the NREL SPA algorithm, a pip install from the web cannot be used. Instead:

1. Download the pvlib repository from https://github.com/pvlib/pvlib-python.git
2. Download the SPA files from [NREL](http://www.nrel.gov/midc/spa/)
3. Copy the SPA files into ``pvlib-python/pvlib/spa_c_files``
4. From the ``pvlib-python`` directory, run ``pip uninstall pvlib`` followed by ``pip install . ``
pvlib-python releases may be installed using the ``pip`` and ``conda`` tools.
Please see the [Installation page](http://pvlib-python.readthedocs.io/en/latest/installation.html) of the documentation for complete instructions.

pvlib-python is compatible with Python versions 2.7, 3.4, 3.5

Usage
=====
You're now ready to start some version of the Python interpreter and use pvlib. The easiest way to start is with one of our [Jupyter](http://jupyter.org) notebook tutorials:

1. Use the nbviewer website to choose a tutorial to experiment with. Go to our [nbviewer tutorial page](http://nbviewer.jupyter.org/github/pvlib/pvlib-python/tree/master/docs/tutorials/), click on e.g. [``tmy_to_power.ipynb``](http://nbviewer.jupyter.org/github/pvlib/pvlib-python/blob/master/docs/tutorials/tmy_to_power.ipynb), and then click on the download symbol.
1. Start the Jupyter Notebook server: ``jupyter notebook``. This should open a web browser with the Jupyter Notebook's file/folder listing. If not, navigate to the url shown in the command line history, likely ``http://localhost:8888``
2. In Jupyter Notebook, navigate to the file that you downloaded in step one and open it.
2. Use ``shift-enter`` to execute the notebook cell-by-cell. There is also a Play button that will execute all of the cells in the notebook.

You can also use a Jupyter notebook or any other Python interpreter to experiment with the simple code in the [Package overview](http://pvlib-python.readthedocs.org/en/latest/package_overview.html) section of the documentation.
Contributing
============

Many good online resources exist for getting started with scientific Python.
We need your help to make pvlib-python a great tool!
Please see the [Contributing page](http://pvlib-python.readthedocs.io/en/latest/contributing.html) for more on how you can contribute.
The long-term success of pvlib-python requires substantial community support.


License
=======
3 clause BSD.


Compatibility
=============

pvlib-python is compatible with Python versions 2.7, 3.3, 3.4, 3.5 and Pandas versions 0.13.1 through 0.18. Note that our Numba-accelerated solar position algorithms have more specific version requirements that will be resolved by the Numba installer.

For Linux + Python 3 users: Continuum's Python 3.x SciPy conda package is not compiled properly and has a few bugs related to complex arithmetic. The most common place for these bugs to show up when using pvlib-python is in calculating IV curve parameters using the ``singlediode`` function. We reported [the issue](https://github.com/ContinuumIO/anaconda-issues/issues/425) to Continuum and are waiting for it to be fixed. In the meantime, you can compile your own SciPy distribution, or you can use this trick on Python 3.3 and 3.4 (not 3.5): Downgrade your NumPy to 1.8 and SciPy to 0.14, then install whatever version of pandas you want but without dependencies. The conda commands for this are:

```
conda install numpy=1.8 scipy=0.14
conda install pandas --no-deps
```
BSD 3-clause

For Windows + Python 2.7 users: Continuum's Python 2.7 SciPy 0.16.1 and 0.17.0 packages are not compiled properly and will crash your Python interpreter if you use our Linke turbidity lookup function. See [Anaconda issue 650](https://github.com/ContinuumIO/anaconda-issues/issues/650) for more.


Testing
Contact
=======
Testing can easily be accomplished by running ``nosetests`` on the pvlib directory:
```
nosetests -v pvlib
```
Unit test code should be placed in the corresponding test module in the pvlib/test directory. Use ``pip`` or ``conda`` to install ``nose``. Developers must include comprehensive tests for any additions or modifications to pvlib.

Please use our [issues page](https://github.com/pvlib/pvlib-python/issues)
to contact the developers and pvlib community.
30 changes: 26 additions & 4 deletions docs/sphinx/source/contributing.rst
Original file line number Diff line number Diff line change
Expand Up @@ -80,10 +80,32 @@ commits to the main repo. Exceptions may be made for extremely minor
changes, such as fixing documentation typos.


Testing
-------

pvlib's unit tests can easily be run by executing ``nosetests`` on the
pvlib directory:

``nosetests -v pvlib``

or, for a single module:

``nosetests -v pvlib/tests/test_clearsky.py``

While copy/paste coding should generally be avoided, it's a great way
to learn how to write unit tests!

Unit test code should be placed in the corresponding test module in the
pvlib/test directory.

Developers **must** include comprehensive tests for any additions or
modifications to pvlib.


This documentation
------------------

If this documentation is unclear, help us improve it! Consider looking
at `IPython <https://github.com/ipython/ipython/wiki/Dev:-Index>`_,
`pandas <https://github.com/pydata/pandas/wiki>`_, and
`Sandia-Labs/PVLIB_Python#33 <https://github.com/Sandia-Labs/
PVLIB_Python/issues/33>`_ for inspiration.
at the `pandas
documentation <http://pandas.pydata.org/pandas-docs/version/0.18.1/
contributing.html>`_ for inspiration.
58 changes: 58 additions & 0 deletions docs/sphinx/source/installation.rst
Original file line number Diff line number Diff line change
Expand Up @@ -194,6 +194,64 @@ interpreter will also work.
Remember to ``source activate pvlibdev`` (or whatever you named your
environment) when you start a new shell or terminal.

.. _nrelspa:

NREL SPA algorithm
------------------

pvlib-python is distributed with several validated, high-precision, and
high-performance solar position calculators. We strongly recommend using
the built-in solar position calculators.

pvlib-python also includes unsupported wrappers for the official NREL
SPA algorithm. NREL's license does not allow redistribution of the
source code, so you must jump through some hoops to use it with pvlib.
You will need a C compiler to use this code.

To install the NREL SPA algorithm for use with pvlib:

#. Download the pvlib repository (as described in :ref:`obtainsource`)
#. Download the `SPA files from NREL <http://www.nrel.gov/midc/spa/>`_
#. Copy the SPA files into ``pvlib-python/pvlib/spa_c_files``
#. From the ``pvlib-python`` directory, run ``pip uninstall pvlib``
followed by ``pip install .``

.. _compatibility:

Compatibility
-------------

pvlib-python is compatible with Python versions 2.7, 3.4, 3.5 and Pandas
versions 0.13.1 or newer.

There are several problems with Continuum's Anaconda packages that may
impact pvlib users.

For Linux + Python 3 users: Continuum's Python 3.x SciPy conda packages
have a few bugs related to complex arithmetic. The most common place for
these bugs to show up when using pvlib-python is in calculating IV curve
parameters using the ``singlediode`` function. We reported `the
issue <https://github.com/ContinuumIO/anaconda-issues/issues/425>`_ to
Continuum and are waiting for it to be fixed. In the meantime, you can
compile your own SciPy distribution, or you can use this hack on Python
3.3 and 3.4 (not 3.5): Downgrade your NumPy to 1.8 and SciPy to 0.14,
then install whatever version of pandas you want but without
dependencies. The conda commands for this are:

``conda install numpy=1.8 scipy=0.14``

``conda install pandas --no-deps``

For Windows + Python 2.7 users: Continuum's Python 2.7 SciPy 0.16.1,
0.17.0, 0.17.1 packages are not compiled properly and will crash your
Python interpreter if you use our Linke turbidity lookup function. See
`Anaconda issue 650
<https://github.com/ContinuumIO/anaconda-issues/issues/650>`_ for more.

Note that our Numba-accelerated solar position algorithms have more
specific version requirements that will be resolved by the Numba
installer.

.. _references:

References
Expand Down
9 changes: 8 additions & 1 deletion docs/sphinx/source/whatsnew/v0.3.3.txt
Original file line number Diff line number Diff line change
Expand Up @@ -21,10 +21,17 @@ Bug fixes

* Fix another bug with the Appveyor continuous integration builds.
(:issue:`170`)
* Add classifiers to setup.py. (:issue:`181`)


Documentation
~~~~~~~~~~~~~

* Clarify that ``ModelChain`` and ``basic_chain`` currently only
supports SAPM. (:issue:`177`)
* Fix version number in 0.3.2 whatsnew file.
* Add classifiers to setup.py. (:issue:`181`)
* Shorten README.md file and move information to official documentation.
(:issue:`182`)


Contributors
Expand Down