Releases: pvlib/pvlib-python
0.5.1
v0.5.1 (October 17, 2017)
API Changes
pvsystem.v_from_i
andpvsystem.i_from_v
functions now accept
resistance_series = 0 and/or resistance_shunt = numpy.inf as inputs
(:issue:340
)
Enhancements
- Improve clearsky.lookup_linke_turbidity speed. (:issue:
368
) - Ideal devices supported in single diode model, e.g.,
resistance_series = 0 and/or resistance_shunt = numpy.inf (:issue:340
) pvsystem.v_from_i
andpvsystem.i_from_v
computations for near ideal
devices are more numerically stable. However, very, very near ideal
resistance_series and/or resistance_shunt may still cause issues with the
implicit solver (:issue:340
)
Bug fixes
- Remove condition causing Overflow warning from clearsky.haurwitz
(:issue:363
) - modelchain.basic_chain now correctly passes 'solar_position_method'
arg to solarposition.get_solarposition (:issue:370
) - Fixed:
Variables and Symbols extra references not available <https://github.com/pvlib/pvlib-python/issues/380>
_ (:issue:380
) - Removed unnecessary calculations of alpha_prime in spa.solar_position_numpy
and spa.solar_position_loop (:issue:366
) - Fixed args mismatch for solarposition.pyephem call
from solarposition.get_solarposition with method='pyephem'
arg to solarposition.get_solarposition (:issue:370
) - ModelChain.prepare_inputs and ModelChain.complete_irradiance now
correctly pass the 'solar_position_method' argument to
solarposition.get_solarposition (:issue:377
) - Fixed usage of inplace parameter for tmy._recolumn (:issue:
342
)
Documentation
- Doc string of modelchain.basic_chain was updated to describe args
more accurately. (:issue:370
) - Doc strings of
singlediode
,pvsystem.v_from_i
, andpvsystem.i_from_v
were updated to describe acceptable input arg ranges. (:issue:340
)
Testing
- Changed test for clearsky.haurwitz to operate on zenith angles
- Significant new test cases added for
pvsystem.v_from_i
and
pvsystem.i_from_v
(:issue:340
)
Contributors
- Cliff Hansen
- KonstantinTr
- Will Holmgren
- Mark Campanelli
- DaCoEx
0.5.0
v0.5.0 (August 11, 2017)
API Changes
- Removed parameter w from _calc_d (:issue:
344
) - SingleAxisTracker.get_aoi and SingleAxisTracker.get_irradiance
now require surface_zenith and surface_azimuth (:issue:351
) - Changes calculation of the Incidence Angle Modifier to return 0
instead of np.nan for angles >= 90°. This improves the calculation of
effective irradiance close to sunrise and sunset. (:issue:338
) - Change the default ModelChain orientation strategy from
'south_at_latitude_tilt' toNone
. (:issue:290
)
Bug fixes
- Method of multi-inheritance has changed to make it possible to use kwargs in
the parent classes of LocalizedPVSystem and LocalizedSingleAxisTracker
(:issue:330
) - Fix the
__repr__
method ofModelChain
, crashing when
orientation_strategy
is set to'None'
(:issue:352
) - Fix the
ModelChain
's angle of incidence calculation for
SingleAxisTracker objects (:issue:351
) - Fix issue with ForecastModel.cloud_cover_to_transmittance_linear method of
forecast.py ignoring 'offset' parameter. (:issue:343
)
Enhancements
- Added default values to docstrings of all functions (:issue:
336
) - Added analytical method that calculates solar azimuth angle (:issue:
291
)
Documentation
- Added ModelChain documentation page
- Added nbsphinx to documentation build configuration.
- Added a pull request template file (:issue:
354
)
Testing
- Added explicit tests for aoi and aoi_projection functions.
- Update test of
ModelChain.__repr__
to take in account :issue:352
- Added a test for solar_azimuth_analytical function.
Contributors
- Johannes Kaufmann
- Will Holmgren
- Uwe Krien
- Alaina Kafkes
- Birgit Schachler
- Jonathan Gaffiot
- Siyan (Veronica) Guo
- KonstantinTr
0.4.5
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 inpvlib.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-levelspa.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
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
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
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
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
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
This is a minor release from 0.3.2. Highlights include:
- Renamed
series_modules
tomodules_per_string
and
parallel_modules
tostrings_per_inverter
. (:issue:176
) - Adds the
scale_voltage_current_power
function andPVSystem
method
to support simple array modeling. (:issue:159
) - Adds support for
SingleAxisTracker
objects inModelChain
.
(:issue:169
) - Add
__repr__
method to PVSystem, LocalizedPVSystem, ModelChain,
SingleAxisTracker, Location. (:issue:142
) - Improve speed of
singlediode
function by usingv_from_i
to
determinev_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
andbasic_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