Skip to main content

logo

Bifacial PV View Factor model

License Build Status DOI

keywords: python, configuration factor model, electrical model mismatch for bifacial modules.

Introduction

bifacialvf is a self-contained view factor (or configuration factor) model which replicates a 5-row PV system of infinite extent perpendicular to the module rows. The function returns the irradiance profile along the middle (interior) row by default, but user interface options include 'first', 'interior', 'last', and 'single'. Single-axis tracking is supported, and hourly output files based on TMY inputs are saved. Spatial nonuniformity is reported, with multiple rear-facing irradiances collected on the back of each module row.

Bilinear interpolation code add-on to bifacialvf (description below) to pre-generate IV arrays and bifacial coefficients, and to examine the energy production with back side irradiance mismatch for either a portrait or landscape module.
Included are IV curves and bifacial info for a Yingli (standard) module.

Pre-requisites

This software is written for Python 2 or 3. NREL recommends Anaconda Python.

Install using pip

bifacialvf is at the Python Package Index (PyPI). Use pip to install the latest release in your conda environment or virtualenv:

(myenv)$ pip install bifacialvf

Install development mode from GitHub

For those interested in contributing to bifacialvf:

  1. Clone the bifacialvf repository: $ git clone https://github.com/NREL/bifacialvf.git bifacialvf-main
  2. Navigate to the repository directory where setup.py is located: $ cd bifacialvf-main
  3. Install via pip in development mode: $ pip install -e .

Usage

For usage examples, see the Jupyter notebooks in \docs\

License

bifacialvf open source code is copyrighted by the Alliance for Sustainable Energy and licensed with BSD-3-Clause terms, found here.

Citing bifacialVF

If you use bifacial_radiance in a published work, please cite:

Marion, B., MacAlpine, S., Deline, C., Asgharzadeh, A., Toor, F., Riley, D., … Hansen, C. (2017). A Practical Irradiance Model for Bifacial PV Modules: Preprint. In 44th IEEE Photovoltaic Specialists Conference. Washington, DC. https://www.nrel.gov/docs/fy17osti/67847.pdf. NREL/CP-5J00-67847

Please also cite the DOI corresponding to the specific version of bifacialVF that you used. bifacialvf DOIs are listed at Zenodo.org.

Silvana Ovaitt, Chris Deline, Mark Mikofski, & Nick DiOrio. (2022). NREL/bifacialvf: v0.1.8 Release (v0.1.8). Zenodo. https://doi.org/10.5281/zenodo.6369162

Bilinear Interpolation based on the publications:

De Soto, W., Klein, S. A., & Beckman, W. A. (2006). Improvement and validation of a model for photovoltaic array performance. Solar Energy, 80(1), 78–88. https://doi.org/10.1016/j.solener.2005.06.010

Marion, B., Rummel, S., & Anderberg, A. (2004). Current--voltage curve translation by bilinear interpolation. Progress in Photovoltaics: Research and Applications, 12(8), 593–607.

bifacialvf: Original code by Bill Marion, Python translation by Silvana Ayala, Updates by Chris Deline & team Original bilinear interpolation code by Sara MacAlpine, Python translation & Updates by Silvana Ayala PVMismatch add-on: PVmismatch code from PVMismatch, by Sunpower

Release files for bifacialvf 0.2.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for bifacialvf 0.2.0
File Size Uploaded
bifacialvf-0.2.0.tar.gz 10.0 MB Details

Built distribution (wheel)

Table of built distributions (wheels) for bifacialvf 0.2.0
File Interpreter ABI Platform
bifacialvf-0.2.0-py3-none-any.whl Python 3 none any Details

Total release size:20.2 MB

Release files / bifacialvf-0.2.0.tar.gz

Download URL bifacialvf-0.2.0.tar.gz
Size 10.0 MB
Tags Source
SHA-256 checksum
How to use checksums
1497c61ec122373786d26f66e3819c599b9dd79883fa0c80dcd1b877366be9a0
BLAKE2b-256 checksum
How to use checksums
47ec3287950a6578ea64d8c45ff5f189eb7aa4c1faed98fd17319598fb10a3ad
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Jun 22, 2026.

Transparency log

Release files / bifacialvf-0.2.0-py3-none-any.whl

Download URL bifacialvf-0.2.0-py3-none-any.whl
Size 10.1 MB
Tags Python 3
SHA-256 checksum
How to use checksums
04830a67a138bcbaabae43feb34b080bd092f5dd80b6c09dab52cf795c606f44
BLAKE2b-256 checksum
How to use checksums
1e76b4018005b97672c1d2559e551f06cad970366f7ca974f2fd289a237b1b3f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Jun 22, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

0.2.0 This release

2 release files

0.1.9

1 release file

0.1.8.1

1 release file

0.1.8

1 release file

0.1.7

2 release files

0.1.6

1 release file

0.1.5

1 release file

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page