Skip to content

Commit

Permalink
v0.1.0 initial release
Browse files Browse the repository at this point in the history
from sayala/BF_BifacialIrradiances
  • Loading branch information
cdeline committed Sep 29, 2017
0 parents commit a6f0971
Show file tree
Hide file tree
Showing 18 changed files with 64,376 additions and 0 deletions.
89 changes: 89 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,89 @@
# Byte-compiled / optimized / DLL files
__pycache__/
*.py[cod]
*$py.class

# C extensions
*.so

# Distribution / packaging
.Python
env/
build/
develop-eggs/
dist/
downloads/
eggs/
.eggs/
lib/
lib64/
parts/
sdist/
var/
*.egg-info/
.installed.cfg
*.egg

# PyInstaller
# Usually these files are written by a python script from a template
# before PyInstaller builds the exe, so as to inject date/other infos into it.
*.manifest
*.spec

# Installer logs
pip-log.txt
pip-delete-this-directory.txt

# Unit test / coverage reports
htmlcov/
.tox/
.coverage
.coverage.*
.cache
nosetests.xml
coverage.xml
*,cover
.hypothesis/

# Translations
*.mo
*.pot

# Django stuff:
*.log
local_settings.py

# Flask stuff:
instance/
.webassets-cache

# Scrapy stuff:
.scrapy

# Sphinx documentation
docs/_build/

# PyBuilder
target/

# IPython Notebook
.ipynb_checkpoints

# pyenv
.python-version

# celery beat schedule file
celerybeat-schedule

# dotenv
.env

# virtualenv
venv/
ENV/

# Spyder project settings
.spyderproject

# Rope project settings
.ropeproject
68 changes: 68 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,68 @@
# bifacialvf - Bifacial PV View Factor model
python, configuration factor model

Original code by Bill Marion
Python translation by Silvana Ayala
Updates by Chris Deline

Based on the publication: "A Practical Irradiance Model for Bifacial PV Modules"
B. Marion, S. MacAlpine, C. Deline, A. Asgharzadeh, F. Toor, D. Riley, J. Stein, C. Hansen
2017 IEEE Photovoltaic Specialists Conference, Washington DC, 2017
URL: https://www.nrel.gov/docs/fy17osti/67847.pdf

## 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.
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.


## Install using pip

1. Clone or download the bifacialvf repository.
2. Navigate to repository: `cd bifacialvf`
3. Install via pip: `pip install .`
4. Alternate installation development mode: `pip install -e .`

## Usage

```
import bifacialvf
bifacialvf.simulate(inputTMY, outputfile, tilt, azm, clearance, rowspacing)
(data, metadata) = bifacialvf.loadVFresults(outputfile)
```
For more usage examples, see the Jupyter notebooks in \docs\

## Prerequisites

*none


## Main Functions
`bifacialvf.simulate(TMYtoread, writefiletitle, beta, sazm, C = 1, D = 0.5,
rowType = 'interior', transFactor = 0.01, cellRows = 6,
PVfrontSurface = 'glass', PVbackSurface = 'glass', albedo = 0.62,
tracking = False, backtrack = False, r2r = 1.5, Cv= 0.05, offset = 0)`:

This is the main runfile. Hourly TMY3 inputs are read, and an outputfile is saved with
a number of irradiance points along the module chord specified by 'cellRows'.


`loadVFresults.loadVFresults(filename = none)` :
read in saved file from bifacialvf.simulate. If no filename is passed, a tkinter GUI opens for file selection

## Subroutines

`sun.py`:
Solar position and irradiance-related helper files including
hrSolarPos, perezComp, solarPos, and sunIncident

`vf.py`:
View Factor helper files to help with configuration-factor calculation
1-axis tracking and self-shading calculation.
Subroutines include:
getBackSurfaceIrradiances, getFrontSurfaceIrradiances, getGroundShadeFactors,
getSkyConfigurationFactors, trackingBFvaluescalculator, rowSpacing
5 changes: 5 additions & 0 deletions bifacialvf/__init__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
from bifacialvf import simulate # main program
from vf import getBackSurfaceIrradiances, getFrontSurfaceIrradiances, getGroundShadeFactors # main subroutines
from vf import getSkyConfigurationFactors, trackingBFvaluescalculator, rowSpacing # helper functions
from sun import hrSolarPos, perezComp, solarPos, sunIncident # solar position and value
from loadVFresults import loadVFresults # utility for reading result files

0 comments on commit a6f0971

Please sign in to comment.