What’s New
These are new features and improvements of note in each release.
v1.5.2 (DATE XX, 2021)
Requirements
Fixes
A small bug in the pvlib-python implementation of the Perez transposition model was discovered and fixed in pvlib v0.9.0. To ensure the error does not affect pvfactors output moving forward, the pvlib dependency is updated from
pvlib>=0.7.0,<0.9.0
topvlib>=0.9.0,<0.10.0
. This will likely change the results of irradiance simulations. According to the pvlib release notes, the differences are “expected to be small and primarily occur at low irradiance conditions”. (PR #121)Fixed a bug that affected some irradiance simulations when surface_tilt is exactly zero. See GH #125 for details. (PR #128)
Maintenance
Add documentation for making new releases (PR #133)
Contributors
Kevin Anderson (kanderso-nrel)
Marc Anoma (anomam)
v1.5.1 (March 27, 2021)
Enhancements
Update pvlib dependency from
pvlib>=0.6.0,<0.8.0
topvlib>=0.7.0,<0.9.0
(PR #116)
Contributors
Marc Anoma (anomam)
Kevin Anderson (kanderso-nrel)
v1.5.0 (February 7, 2021)
Enhancements
Add import check for shapely/geos (#110)
Drop Python 2.7, 3.5, add Python 3.8 (#112)
Fix
TsSegement was missing proper indexing (#102)
Fix CI: restrict pvlib to <0.8.0 because of API break, reduce test length because of hanging CI (#112)
Contributors
Thomas Capelle (tcapelle)
Kevin Anderson (kanderso-nrel)
Marc Anoma (anomam)
v1.4.1 (November 29, 2019)
Fix
The vectorization of the calculations (from v1.3.0) in the PVEngine had removed the ability to account for timeseries albedo values (it was only using the first albedo value). This fix repairs that issue by building the full 3D matrices for the reflectivity values (and the inverse reflectivity values as well).
PVEngine needs to use timeseries albedo values (#98)
Contributors
Marc Anoma (anomam)
v1.4.0 (November 21, 2019)
Enhancements
pvfactors can now account for AOI losses by either using constant diffuse losses, are by using an fAOI function that will provide the corresponding loss for each value of angle of incidence.
Test for continuity of results with direct shading (#91)
Implement non-diffuse AOI loss methods (#92)
Implement fAOI modifiers for irradiance models (#93)
Merge new AOI methods into full mode workflow (#94)
Include fAOI losses from irradiance models in tests (#95)
Update docs for AOI methods (#96)
Contributors
Marc Anoma (anomam)
v1.3.0 (November 6, 2019)
Enhancements
pvfactors is now only using timeseries geometries and vectorization for the view factor matrix calculation, even with the full reflection equilibrium mode. This resulted in an incredible speed boost, in which 8760 simulations now run in less than 2 seconds when using the full mode (it previously took a couple minutes). So there’s not much reason anymore to use the “fast” mode, which is less accurate and not that faster anymore. Lots of package clean up and documentation updates in addition to this.
Create timeseries ground elements (#80)
Index all timeseries surfaces (#82)
Vectorize calculation of vf matrix (#83)
Implement vectorized full mode (#84)
Clean up package now that full mode is vectorized (#86)
Reorganize geometry sub-package (#87)
Add docs section on main concepts (#88)
Update docs tutorials (#89)
Contributors
Marc Anoma (anomam)
v1.2.2 (October 8, 2019)
Enhancements
Passing GHI to the irradiance models when using the fast mode should provide more accuracy.
Add GHI to run functions inputs (#78)
Fixes
The OrderedPVArray didn’t handle it well when the fit function was called multiple times. A fix was implemented for this.
Fix accumulation of pvrows when fitting multiple times (#77)
Contributors
Marc Anoma (anomam)
v1.2.1 (September 13, 2019)
Enhancements
Added module spacing and transparency inputs to irradiance models, and updated README file to make it clearer.
Add module transparency and spacing to irradiance models (#72)
Use reStructuredText for README and add TOC (#74)
Fixes
Fix small issue in irradiance models for fast mode: made sure that shaded surfaces are not getting any Perez circumsolar irradiance, except via module spacing and transparency.
Fix irradiance models for fast mode shaded surfaces (#73)
Contributors
Marc Anoma (anomam)
v1.2.0 (September 9, 2019)
Huge speed improvements and enhancements: implementation of a fully vectorized fast mode which now runs 8760 simulations in less than 2 seconds (and calculates same or better results than previous version of fast mode). The improvements done for fast mode also benefit the full simulation mode as some speed improvements have been observed as well.
Vectorize shading (#64)
Create timeseries PV row geometries (#65)
Create timeseries ground (#66)
Timeseries view factors (#67)
Update irradiance models (#68)
Update engine and run functions for timeseries fast mode (#69)
Update docs for vectorized fast mode (#70)
Contributors
Marc Anoma (anomam)
v1.1.0 (August 2, 2019)
Some clean ups and enhancements: the PV Array geometry class OrderedPVArray
now
uses vectorization to calculate the geometry coordinates, which makes the simulations
around 30% faster.
Vectorize geometry calculations (#60)
Add common project folders to .gitignore (#61)
Tutorial for fast mode (#62)
Contributors
Cedric Leroy (cedricleroy)
Marc Anoma (anomam)
v1.0.3 (July 12, 2019)
Enhancement: users can now pass irradiance model arguments to run functions. This was only possible when using the PV engine directly until now.
Pass irradiance model params to run functions (#57)
Contributors
Marc Anoma (anomam)
v1.0.2 (July 5, 2019)
Some bug fixes and enhancements. Now the PVEngine can run simulations using a “fast-mode” with observed speed gain of around 30% and accuracy drop of around 4% compared to the full mode.
Update python dependencies and test requirements (#50)
Added a Tolerance for direct shading detection to cast_shadow function (#51)
Fix broken tests from #51 & check circleci (#52)
Implement a fast simulation mode in PVEngine (#53)
Build sphinx docs into CircleCI artifacts (#54)
Make engine more robust to bad weather data (#55)
Contributors
v1.0.1 (May 14, 2019)
A number of small fixes. And also newer and correct build for this version.
Fix small negative vf between pvrows (#45)
Passing calculated view factor matrix to pv array for use in reports (#46)
Small fixes (#44)
Fix “difference” calculation method for linestrings (#47)
Contributors
Marc Anoma (anomam)
v1.0.0 (April 19, 2019)
Major release for pvfactors. The whole code base was revamped, which led to a 5x speed increase in computational speed. The package API has now also been completely upgraded, with a seperation and uncoupling between geometry, irradiance, and view factor modeling. All of these items are now unified into an engine and also some run functions to run full or partial simulations, and inspect the results. The documentation was completely revamped as well, with a new tutorial section containing lots of examples to get familiar with pvfactors, and also a developer API section that documents all of the classes and functions of the package.
Fix pvlib version in order to create conda build (#26)
Update docs: reorganize, clean up, and add API (#27)
Fix img url and update circleci look (#28)
New Geometry API (#29)
API refactoring for view factor calculation (#30)
New irradiance API (#31)
Implement perez model with new irradiance API (#33)
Implement engine to run simulations using new APIs (#32)
Implement functional run and parallel computation (#37)
Migrate last elements to new API (#38)
Remove old API files (#39)
Update docs for new pvfactors API (#40)
Update docstrings (#41)
Contributors
Marc Anoma (anomam)
v0.1.5 (December 14, 2018)
Updates so that pvfactors is not broken by pvlib-python updates in upcoming version 6.1
Updates for upcoming pvlib version 6.1 (#24)
Small fixes to display long description on PyPI, and docs
Contributors
Marc Anoma
v0.1.4 (November 22, 2018)
Major simplification of simulation input types, and update of docs for PyPI. Now the only PV array angles needed for simulations are ‘surface_tilt’ and ‘surface_azimuth’, and they also follow the pvlib-python convention.
Small updates for PyPI upload (#21)
Use ‘surface_azimuth’ and ‘surface_tilt’ only, with pvlib convention (#22)
Contributors
Marc Anoma
v0.1.3 (September 13, 2018)
Backwards compatibility fix for timeseries simulation.
Make sure that all timestamps are returned in outputs (#17)
Contributors
Marc Anoma
v0.1.2 (September 12, 2018)
Major updates of simulation API and package organization, as well as documentation.
Refactor tools.py: return 1 output df in timeseries Perez (#13)
Simplify timeseries calculation API (#14)
Update docs because of simulation API changes (#15)
Contributors
Marc Anoma
v0.1.1 (September 6, 2018)
Implementation of important package and model improvements.
Migration to CircleCI 2.0 (#5)
Removed dependency on geopandas (#3)
Implementation of back horizon band shading (#7)
Clean up and add Github features (#9)
Output all the surface registries calculated for each timestamp in a Perez timeseries simulation (#10)
Contributors
Marc Anoma
v0.1.0 (May 14, 2018)
This is the first release of pvfactors. We hope this package will help answer some important questions on irradiance calculation for the PV industry.
Use shapely and geodataframes to create 2D PV array geometries and record them
Add ability to discretize ‘’pvrow’’ surfaces in order to calculate irradiance distributions (eg diffuse shading)
Use Perez diffuse light model
Add multiprocessing and improve computational speed
Create extensive documentation including a Jupyter notebook tutorial
Implement circumsolar and horizon band shading to improve diffuse shading calculations
Created tools functions for running timeseries simulations
Make package compatible with Python3
Add continuous integration with CircleCI
Add versioneer for “auto-versioning” of package
Contributors
Marc Anoma