Skip to content

0.4.0

Compare
Choose a tag to compare
@wholmgren wholmgren released this 28 Jul 21:44
· 878 commits to main since this release

This is a major release from 0.3.3. We recommend that all users upgrade to this version after reviewing the API Changes. Please see the Bug Fixes for changes that will result in slightly different modeling results.

API Changes

Remove unneeded module argument from singlediode function. (GH200)
In pvlib.irradiance.perez, renamed argument modelt to model. (GH196)
Functions in the irradiance module now work with scalar inputs in addition to arrays and Series. Furthermore, these functions no longer promote scalar or array input to Series output. Also applies to atmosphere.relativeairmass. (GH201, GH214)
Reorder the ashraeiam, physicaliam, and snlinverter arguments to put the most variable arguments first. Adds default arguments for the IAM functions. (GH197)
The irradiance.extraradiation function input/output type consistency across different methods has been dramatically improved. (GH217, GH219)
Updated to pvsystem.sapm to be consistent with the PVLIB MATLAB API. pvsystem.sapm now takes an effective irradiance argument instead of POA irradiances, airmass, and AOI. Implements closely related sapm_spectral_loss, sapm_aoi_loss, and sapm_effective_irradiance functions, as well as PVSystem methods. The sapm_aoi_loss function includes an optional argument to apply an upper limit to the output (output can be ~1% larger than 1 for AOI of ~30 degrees). (GH198, GH205, GH218)
The pvsystem.retrieve_sam keyword argument samfile has been replaced with path. A selection dialog window is now activated by not supplying any arguments to the function. The API for typical usage remains unchanged, however, the data will be loaded from a local file rather than the SAM website. (GH52)

Enhancements

Adds the First Solar spectral correction model. (GH115)
Adds the Gueymard 1994 integrated precipitable water model. (GH115)
Adds the PVWatts DC, AC, and system losses model. (GH195)
Improve PEP8 conformity in irradiance module. (GH214)
irradiance.disc is up to 10x faster. (GH214)
Add solarposition.nrel_earthsun_distance function and option to calculate extraterrestrial radiation using the NREL solar position algorithm. (GH211, GH215)
pvsystem.singlediode can now calculate IV curves if a user supplies an ivcurve_pnts keyword argument. (GH83)
Includes SAM data files in the distribution. (GH52)
ModelChain now implements SAPM, PVWatts, Single Diode and user-defined modeling options. See Will Holmgren’s ModelChain refactor gist for more discussion about new features in ModelChain. (GH143, GH194)
Added forecast.py module for solar power forecasts. (GH86, GH124, GH180)

Bug fixes

Fixed an error in pvsystem.singlediode’s i_mp, v_mp, and p_mp calculations when using array or Series input. The function wrongly returned solutions when any single point is within the error tolerance, rather than requiring that the solution for all points be within the error tolerance. Results in test scenarios changed by 1-10%. (GH221)
Fixed a numerical overflow error in pvsystem.singlediode’s v_oc determination for some combinations of parameters. (GH225)
dirint function yielded the wrong results for non-sea-level pressures. Fixed. (GH212)
Fixed a bug in the day angle calculation used by the ‘spencer’ and ‘asce’ extraterrestrial radiation options. Most modeling results will be changed by less than 1 part in 1000. (GH211)
irradiance.extraradiation now raises a ValueError for invalid method input. It previously failed silently. (GH215)
Documentation
Added new terms to the variables documentation. (GH195)
Added clear sky documentation page.
Fix documentation build warnings. (GH210)
Removed an unneeded note in irradiance.extraradiation. (GH216)

Other

pvlib-python is now available on the conda-forge channel: conda install pvlib-python -c conda-forge (GH154)
Switch to the py.test testing framework. (GH204)
Reconfigure Appveyor CI builds and resolve an issue in which the command line length was too long. (GH207)
Manually build numpy and pandas for the min requirements test. This is needed to avoid Continuum’s bad practice of bundling scipy with pandas. (GH214)

Requirements

pvlib now requires pandas >= 0.14.0 and numpy >= 1.9.0, both released in 2014. Most of pvlib will work with lesser versions. (GH214)

Code Contributors

Will Holmgren
Jonathan Chambers
Mitchell Lee
Derek Groenendyk