Skip to content

Releases: pvlib/pvlib-python

0.4.5

05 Jun 15:55
Compare
Choose a tag to compare

Bug fixes

  • Fix pandas 0.20 incompatibilities in Location.get_clearsky,
    solarposition.ephemeris (:issue:325)
  • Fixes timezone issue in solarposition spa_c function (:issue:237)
  • Added NREL Bird clear sky model. (:issue:276)
  • Added lower accuracy formulas for equation of time, declination, hour angle
    and solar zenith.
  • Remove all instances of .ix (:issue:322)
  • Update docstring in pvlib.spa.solar_position - change units of pressure to
    millibars. NOTE: units of pressure in pvlib.solar_position.spa_python and
    pvlib.solar_position.spa_c are still Pascals. This update should have no
    effect on most users, since it only applies to the low-level spa.py module.
    (:issue:327)

Enhancements

  • Added irradiance.dni method that determines DNI from GHI and DHI and corrects
    unreasonable DNI values during sunrise/sunset transitions
  • ForecastModel will now only connect to the Unidata server when necessary,
    rather than when the object is created. This supports offline work
    and speeds up analysis of previously downloaded data.

Contributors

  • Will Holmgren
  • Marc Anoma
  • Mark Mikofski
  • Birgit Schachler

0.4.4

18 Feb 19:18
Compare
Choose a tag to compare

v0.4.4 (February 18, 2017)

Enhancements

  • Added Anton Driesse Inverter database and made compatible with
    pvsystem.retrieve_sam. (:issue:169)
  • Ported Anton Driesse Inverter model from PV_LIB Toolbox. (:issue:160)
  • Added Kasten pyrheliometric formula to calculate Linke turbidity factors with
    improvements by Ineichen and Perez to extend range of air mass (:issue:278)
  • Added coefficients for CIGS and a-Si modules types to the
    first_solar_spectral_correction function (:issue:308)

API Changes

  • Change PVSystem default module_parameters and inverter_parameters to
    empty dict. Code that relied on these attributes being None or raising
    a TypeError will need to be updated. (issue:294)

Documentation

  • Fixes the Forecasting page's broken links to the tutorials.
  • Fixes the Forecasting page's broken examples. (:issue:299)
  • Fixes broken Classes link in the v0.3.0 documentation.

Bug fixes

  • Resolved several issues with the forecast module tests. Library import
    errors were resolved by prioritizing the conda-forge channel over the
    default channel. Stalled ci runs were resolved by adding a timeout to
    the HRRR_ESRL test. (:issue:293)
  • Fixed issue with irradiance jupyter notebook tutorial. (:issue:309)

Contributors

  • Will Holmgren
  • Volker Beutner
  • Mark Mikofski
  • Anton Driesse
  • Mitchell Lee

0.4.3

28 Dec 16:15
Compare
Choose a tag to compare

Enhancements

  • Adding implementation of Perez's DIRINDEX model based on existing DIRINT
    model implementation. (:issue:282)
  • Added clearsky.detect_clearsky function to determine the clear times
    in a GHI time series. (:issue:284)

Other

  • Adds Python 3.6 to compatibility statement and pypi classifiers.
    (:issue:286)

Contributors

  • Marc Anoma
  • Will Holmgren
  • Cliff Hansen
  • Tony Lorenzo

0.4.2

07 Dec 23:23
Compare
Choose a tag to compare

v0.4.2 (December 7, 2016)

This is a minor release from 0.4.1.

Bug fixes

  • Fixed typo in repr method of ModelChain and in its regarding test.
  • PVSystem.pvwatts_ac could not use the eta_inv_ref kwarg and
    PVSystem.pvwatts_dc could not use the temp_ref kwarg. Fixed. (:issue:252)
  • Fixed typo in ModelChain.infer_spectral_model error message. (:issue:251)
  • Fixed Linke turbdity factor out of bounds error at 90-degree latitude or at
    180-degree longitude (:issue:262)
  • Fixed Linke turbidity factor grid spacing and centers (:issue:263)

API Changes

  • The run_model method of the ModelChain will use the weather parameter
    of all weather data instead of splitting it to irradiation and weather.
    The irradiation parameter still works but will be removed soon.
    (:issue:239)
  • delta_t kwarg is now 67.0 instead of None. IMPORTANT: Setting delta_t
    as None will break the code for the Numba accelerated calculations.
    This will be fixed in a future version. (:issue:165)

Enhancements

  • Adding a complete_irradiance method to the ModelChain to make it
    possible to calculate missing irradiation data from the existing
    columns [beta]. (:issue:239)
  • Added calculate_deltat method to the spa module to calculate the
    time difference between terrestrial time and UT1. Specifying a scalar
    is sufficient for most calculations. (:issue:165)
  • Added more attributes to ModelChain, PVSystem, and Location printed
    representations. (:issue:254)
  • Added name attribute to ModelChain and PVSystem. (:issue:254)
  • Restructured API section of the documentation so that there are
    separate pages for each function, class, or method. (:issue:258)
  • Improved Linke turbidity factor time interpolation with Python calendar
    month days and leap years (:issue:265)
  • Added option to return diffuse components from Perez transposition model.

Other

  • Typical modeling results could change by ~1%, depending on location, if they
    depend on the turbidity table
  • Fixed issues with pvsystem, tracking, and tmy_to_power jupyter notebooks
    (:issue:267, :issue:273)

Code Contributors

  • Uwe Krien
  • Will Holmgren
  • Volker Beutner
  • Mark Mikofski
  • Marc Anoma
  • Giuseppe Peronato

0.4.1

06 Oct 02:12
Compare
Choose a tag to compare

This is a minor release from 0.4.0. We recommend that all users upgrade to this version, especially if they want to use the latest versions of pandas.

Bug fixes

  • Fixed an error in the irradiance.klucher transposition model.
    The error was introduced in version 0.4.0. (:issue:228)
  • Update RAP forecast model variable names. (:issue:241)
  • Fix incompatibility with pandas 0.19 and solar position calculations.
    (:issue:246)

Documentation

  • Fixed a typo in the pvsystem.sapm returns description. (:issue:234)
  • Replaced nosetests references with py.test. (:issue:232)
  • Improve the rendering of the snlinverter doc string. (:issue:242)

Code Contributors

  • Mark Mikofski
  • Johannes Dollinger
  • Will Holmgren

0.4.0

28 Jul 21:44
Compare
Choose a tag to compare

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

0.3.3

15 Jun 18:51
Compare
Choose a tag to compare

This is a minor release from 0.3.2. Highlights include:

  • Renamed series_modules to modules_per_string and
    parallel_modules to strings_per_inverter. (:issue:176)
  • Adds the scale_voltage_current_power function and PVSystem method
    to support simple array modeling. (:issue:159)
  • Adds support for SingleAxisTracker objects in ModelChain.
    (:issue:169)
  • Add __repr__ method to PVSystem, LocalizedPVSystem, ModelChain,
    SingleAxisTracker, Location. (:issue:142)
  • Improve speed of singlediode function by using v_from_i to
    determine v_oc. Speed is ~2x faster. (:issue:190)
  • Adds the Simplified Solis clear sky model. (:issue:148)
  • Fix problem in which the perez function dropped nighttime values.
    Nighttime values are now set to 0.
    (:issue:191)
  • Localize datetime indices in package overview examples.
    (:issue:156)
  • Clarify that ModelChain and basic_chain currently only
    supports SAPM. (:issue:177)
  • Shorten README.md file and move information to official documentation.
    (:issue:182)
  • Change authors to PVLIB Python Developers and clean up setup.py.
    (:issue:184)

Contributors

  • Will Holmgren
  • Mark Mikofski
  • Johannes Oos
  • Tony Lorenzo

0.3.2

03 May 23:55
Compare
Choose a tag to compare

Update the SAM file url.

0.3.1

20 Apr 15:05
Compare
Choose a tag to compare

This is a bug fix release. See the 0.3.1 whats new documentation for details.

0.3.0

21 Mar 19:01
Compare
Choose a tag to compare

This is a major release from 0.2.2. It creates a cleaner separation between the use of procedural and object oriented code by changing the way that Location objects are used and adding ModelChain, PVSystem, LocalizedPVSystem classes. See the What's New documentation for much more.