What’s New¶
These are new features and improvements of note in each release.
v0.3.1 (April 19, 2016)¶
This is a minor release from 0.3.0. We recommend that all users upgrade to this version.
Enhancements¶
- Added versioneer to keep track of version changes instead of manually updating pvlib/version.py. This will aid developers because the version string includes the specific git commit of the library code currently imported. (issue:150)
Bug fixes¶
- Fixes night tare issue in snlinverter. When the DC input power (p_dc) to an inverter is below the inversion startup power (Ps0), the model should set the AC output (ac_power) to the night tare value (Pnt). The night tare power indicates the power consumed by the inverter to sense PV array voltage. The model was erroneously comparing Ps0 with the AC output power (ac_power), rather than the DC input power (p_dc). (GH140)
- Fixed the azimuth calculation of rotated PV panel in function pvlib.tracking.singleaxis(...) so that the results are consistent with PVsyst. (GH144)
Contributors¶
- ejmiller2
- Yudong Ma
- Tony Lorenzo
- Will Holmgren
v0.3.0 (March 21, 2016)¶
This is a major release from 0.2.2. It will almost certainly break your code, but it’s worth it! We recommend that all users upgrade to this version after testing their code for compatibility and updating as necessary.
API changes¶
- The
location
argument insolarposition.get_solarposition
andclearsky.ineichen
has been replaced withlatitude
,longitude
,altitude
, andtz
as appropriate. This separates the object-oriented API from the procedural API. (GH17) Location
classes gain theget_solarposition
,get_clearsky
, andget_airmass
functions.- Adds
ModelChain
,PVSystem
,LocalizedPVSystem
,SingleAxisTracker
, andLocalizedSingleAxisTracker
classes. (GH17) Location
objects can be created from TMY2/TMY3 metadata using thefrom_tmy
constructor.- Change default
Location
timezone to'UTC'
. - The solar position calculators now assume UTC time if the input time is not localized. The calculators previously tried to infer the timezone from the now defunct location argument.
pvsystem.sapm_celltemp
argument names now follow the variable conventions.irradiance.total_irrad
now follows the variable conventions. (GH105)atmosphere.relativeairmass
now raises a ValueError instead of assuming'kastenyoung1989'
if an invalid model is supplied. (GH119)
Enhancements¶
Added new sections to the documentation:
Adds support for Appveyor, a Windows continuous integration service. (GH111)
The readthedocs documentation build now uses conda packages instead of mock packages. This enables code to be run and figures to be generated during the documentation builds. (GH104)
Reconfigures TravisCI builds and adds e.g.
has_numba
decorators to the test suite. The result is that the TravisCI test suite runs almost 10x faster and users do not have to install all optional dependencies to run the test suite. (GH109)Adds more unit tests that test that the return values are actually correct.
Add
atmosphere.APPARENT_ZENITH_MODELS
andatmosphere.TRUE_ZENITH_MODELS
to enable code that can automatically determine which type of zenith data to use e.g.Location.get_airmass
.Modify
sapm
documentation to clarify that it does not work with the CEC database. (GH122)Adds citation information to the documentation. (GH73)
Updates the Comparison with PVLIB MATLAB documentation. (GH116)
Bug fixes¶
- Fixed the metadata key specification in documentation of the
readtmy2
function. - Fixes the import of tkinter on Python 3 (GH112)
- Add a decorator to skip
test_calcparams_desoto
on pandas 0.18.0. (GH130) - Fixes
i_from_v
documentation. (GH126) - Fixes two minor sphinx documentation errors: a too short heading underline in whatsnew/v0.2.2.txt and a table format in pvsystem. (GH123)
Contributors¶
- Will Holmgren
- pyElena21
- DaCoEx
- Uwe Krien
Will Holmgren, Jessica Forbess, bmu, Cliff Hansen, Tony Lorenzo, Uwe Krien, and bt- contributed to the object model discussion.
v0.2.2 (November 13, 2015)¶
This is a minor release from 0.2.1. We recommend that all users upgrade to this version.
Enhancements¶
Bug fixes¶
irradiance.total_irrad
had a typo that required the Klucher model to be accessed with'klutcher'
. Both spellings will work for the remaining 0.2.* versions of pvlib, but the misspelled method will be removed in 0.3. (GH97)- Fixes an import and KeyError in the IPython notebook tutorials (GH94).
- Uses the
logging
module properly by replacingformat
calls withargs
. This results in a 5x speed increase fortracking.singleaxis
(GH89). - Adds a link to the 2015 PVSC paper (GH81)
Contributors¶
- Will Holmgren
- jetheurer
- dacoex
v0.2.1 (July 16, 2015)¶
This is a minor release from 0.2. It includes a large number of bug fixes for the IPython notebook tutorials. We recommend that all users upgrade to this version.
Bug fixes¶
Contributors¶
- Will Holmgren
- Jessica Forbess
v0.2.0 (July 6, 2015)¶
This is a major release from 0.1 and includes a large number of API changes, several new features and enhancements along with a number of bug fixes. We recommend that all users upgrade to this version.
Due to the large number of API changes, you will probably need to update your code.
API changes¶
- Change variable names to conform with new Variables and style rules wiki. This impacts many function declarations and return values. Your existing code probably will not work! (GH37, GH54).
- Move
dirint
anddisc
algorithms fromclearsky.py
toirradiance.py
(GH42) - Mark some
pvsystem.py
methods as private (GH20) - Make output of
pvsystem.sapm_celltemp
a DataFrame (GH54)
Enhancements¶
Bug fixes¶
- fix local build of the documentation (GH49, GH56)
- The release date of 0.1 was fixed in the documentation (see v0.1.0 (April 20, 2015))
- fix casting of DateTimeIndex to int64 epoch timestamp on machines with 32 bit python int (GH63)
- fixed some docstrings with failing doctests (GH62)
Contributors¶
- Will Holmgren
- Rob Andrews
- bmu
- Tony Lorenzo
v0.1.0 (April 20, 2015)¶
This is the first official release of the pvlib-python project. As such, a “What’s new” document is a little hard to write. There will be significant overlap with the to-be-written document that describes the differences between pvlib-python and PVLIB_Matlab.
API changes¶
- Remove
pvl_
from module names. - Consolidation of similar modules. For example, functions from
pvl_clearsky_ineichen.py
andpvl_clearsky_haurwitz.py
have been consolidated intoclearsky.py
. - Return one DataFrame instead of a tuple of DataFrames.
- Change function and module names so that they do not conflict.
New features¶
- Library is Python 3.3 and 3.4 compatible
- Add What’s New section to docs (GH10)
- Add PyEphem option to solar position calculations.
- Add a Python translation of NREL’s SPA algorithm.
irradiance.py
has more AOI, projection, and irradiance sum and calculation functions- TMY data import has a
coerce_year
option - TMY data can be loaded from a url (GH5)
- Locations are now
pvlib.location.Location
objects, not “structs”. - Specify time zones using a string from the standard IANA Time Zone Database naming conventions or using a pytz.timezone instead of an integer GMT offset. We may add dateutils support in the future.
clearsky.ineichen
supports interpolating monthly Linke Turbidities to daily resolution.
Other changes¶
- Removed
Vars=Locals(); Expect...; var=pvl\_tools.Parse(Vars,Expect);
pattern. Very few tests of input validitity remain. Garbage in, garbage ornan
out. - Removing unnecssary and sometimes undesired behavior such as setting maximum zenith=90 or airmass=0. Instead, we make extensive use of
nan
values. - Adding logging calls, removing print calls.
- Improved PEP8 compliance.
- Added
/pvlib/data
for lookup tables, test, and tutorial data. - Limited the scope of
clearsky.py
‘sscipy
dependency.clearsky.ineichen
will work withoutscipy
so long as the Linke Turbidity is supplied as a keyword argument. (GH13) - Removed NREL’s SPA code to comply with their license (GH9).
- Revised the globalinplane function and added a test_globalinplane (GH21, GH33).
Documentation¶
Testing¶
- Tests are cleaner and more thorough. They are still nowhere near complete.
- Using Coveralls to measure test coverage.
- Using TravisCI for automated testing.
- Using
nosetests
for more concise test code.
Bug fixes¶
- Fixed DISC algorithm bugs concerning
modifying input zenith Series (GH24),
the
Kt
conditional evaluation (GH6), and ignoring the input pressure (GH25). - Many more bug fixes were made, but you’ll have to look at the detailed commit history.
- Fixed inconsistent azimuth angle in the ephemeris function (GH40)
Contributors¶
This list includes all (I hope) contributors to pvlib/pvlib-python, Sandia-Labs/PVLIB_Python, and UARENForecasting/PVLIB_Python.
- Rob Andrews
- Will Holmgren
- bmu
- Tony Lorenzo
- jforbess
- Jorissup
- dacoex
- alexisph
- Uwe Krien