Recent Releases of bifacial_radiance
bifacial_radiance - v0.4.4
Major bugfix - previously there was an uncaught problem with a mismatch between the trackerdict index and the MetObj index, leading to mismatch between irradiance values and tracker angles.
What's Changed
- Add checks for RAYPATH properly being installed. Fixes #525 by @cdeline in https://github.com/NREL/bifacial_radiance/pull/537
- Suppress hub-height warnings when both clearance_height and hub_heigh… by @cdeline in https://github.com/NREL/bifacial_radiance/pull/540
- Improve repr printing of MetObj and RadianceObj. by @cdeline in https://github.com/NREL/bifacial_radiance/pull/544
- Add glassEdge parameter in modules so that the glass extends beyond the cell size. by @shirubana in https://github.com/NREL/bifacial_radiance/pull/545
- Fixed a bug in how the metadata is indexed in gendaylit1axis. fixes #441. by @cdeline in https://github.com/NREL/bifacial_radiance/pull/550
- change load.py to include more module inputs by @cdeline in https://github.com/NREL/bifacial_radiance/pull/551
- Fix leap day bug in readWeatherFile. fixes #552. by @cdeline in https://github.com/NREL/bifacial_radiance/pull/553
- Add deprecation warnings on soon to be removed functions. by @cdeline in https://github.com/NREL/bifacial_radiance/pull/561
- Fix load.cleanResult to work with files created with different sensorsy by @cdeline in https://github.com/NREL/bifacial_radiance/pull/562
- Improved error messages, documentation and test coverage by @cdeline in https://github.com/NREL/bifacial_radiance/pull/563
- V0 4 4 final checks by @cdeline in https://github.com/NREL/bifacial_radiance/pull/565
Full Changelog: https://github.com/NREL/bifacial_radiance/compare/0.4.3...0.4.4
Renewable Energy - Photovoltaics and Solar Energy
- Python
Published by cdeline 7 months ago

bifacial_radiance - v0.5.0.dev0
Development release to test multi-object and performance updates.
What's Changed
- 405 multiple analysis objs by @cdeline in https://github.com/NREL/bifacial_radiance/pull/408
- 405 multiple analysis objs #2 by @cdeline in https://github.com/NREL/bifacial_radiance/pull/409
- 421 make image by @cdeline in https://github.com/NREL/bifacial_radiance/pull/422
- 405 multiple analysis objs by @shirubana in https://github.com/NREL/bifacial_radiance/pull/429
- Add 'columns' and 'methods' introspection to RadObj, MetObj and GrounObj by @cdeline in https://github.com/NREL/bifacial_radiance/pull/495
- 460 multiple results by @cdeline in https://github.com/NREL/bifacial_radiance/pull/486
- AgriPV Groundscans by @shirubana in https://github.com/NREL/bifacial_radiance/pull/497
- Results refactor by @cdeline in https://github.com/NREL/bifacial_radiance/pull/504
- Multi scene objs by @cdeline in https://github.com/NREL/bifacial_radiance/pull/487
- Refactored code to include functions for ground analysis by @sofiatoropovaa in https://github.com/NREL/bifacial_radiance/pull/499
- Refactor NSRDBWeatherData into readWeatherData by @cdeline in https://github.com/NREL/bifacial_radiance/pull/496
- change how timestamps are created in _saveTempTMY. Fixes #515. by @cdeline in https://github.com/NREL/bifacial_radiance/pull/517
- Add checks for RAYPATH. Fixes #525 by @cdeline in https://github.com/NREL/bifacial_radiance/pull/537
- Suppress hub-height warnings when both clearance_height and hub_heigh… by @cdeline in https://github.com/NREL/bifacial_radiance/pull/540
- bump to pandas 1.4.4 and numba 0.58.1 in requirements.txt by @cdeline in https://github.com/NREL/bifacial_radiance/pull/542
- Create descriptive repr for MetObj and RadianceObj. Fixes #471 by @cdeline in https://github.com/NREL/bifacial_radiance/pull/544
- Modify how CEC performance data is saved. Issue 512 by @cdeline in https://github.com/NREL/bifacial_radiance/pull/543
- Silvana issues fixing by @shirubana in https://github.com/NREL/bifacial_radiance/pull/545
- fixes #441. Changed how the metadata is indexed in gendaylit1axis - … by @cdeline in https://github.com/NREL/bifacial_radiance/pull/550
- 438 inifile change load.py to include more module inputs by @cdeline in https://github.com/NREL/bifacial_radiance/pull/551
- Fix leap day bug in readWeatherFile. fixes #552. by @cdeline in https://github.com/NREL/bifacial_radiance/pull/553
- Fix incorrect saving of rearX and rearY when sensorsY is an array. Fixes 501 by @cdeline in https://github.com/NREL/bifacial_radiance/pull/558
- Add deprecation warnings fixes 556 by @cdeline in https://github.com/NREL/bifacial_radiance/pull/561
- Add deprecation warnings fixes 556 by @cdeline in https://github.com/NREL/bifacial_radiance/pull/560
- Fix load.cleanResult to work with files created with different sensorsy by @cdeline in https://github.com/NREL/bifacial_radiance/pull/562
- Changes made to get spectral example notebook to work by @mjprilliman in https://github.com/NREL/bifacial_radiance/pull/554
New Contributors
- @sofiatoropovaa made their first contribution in https://github.com/NREL/bifacial_radiance/pull/499
Full Changelog: https://github.com/NREL/bifacial_radiance/compare/0.4.3...v0.5.0-dev1
Renewable Energy - Photovoltaics and Solar Energy
- Python
Published by cdeline 7 months ago

bifacial_radiance - v0.4.3
Bug fix and minor release
What's Changed
- mad fn update by @cdeline in https://github.com/NREL/bifacial_radiance/pull/485
- Addition of Artificial Reflectors Tutorial by @mandylewis in https://github.com/NREL/bifacial_radiance/pull/475
- Update jupyter notebooks based on latest main branch by @mjprilliman in https://github.com/NREL/bifacial_radiance/pull/514
- bugfix by @cdeline in https://github.com/NREL/bifacial_radiance/pull/522
- Fix mismatch fit3, add mismatch fit2 by @echedey-ls in https://github.com/NREL/bifacial_radiance/pull/520
- Enclose file names used for radfiles in quotes. Fixes #523. by @cdeline in https://github.com/NREL/bifacial_radiance/pull/527
- deprecation warnings by @cdeline in https://github.com/NREL/bifacial_radiance/pull/528
- Enable coerce_year=None. Fixes #526 by @cdeline in https://github.com/NREL/bifacial_radiance/pull/529
- Fix deprecations by @cdeline in https://github.com/NREL/bifacial_radiance/pull/530
- pass a copy of sceneDict to _makeSceneNxR. fixes #502. by @cdeline in https://github.com/NREL/bifacial_radiance/pull/503
- add pyRadiance to setup.py install_requires to help with RADIANCE install issues. by @cdeline in https://github.com/NREL/bifacial_radiance/pull/532
- files saved to \results\ with 3 decimal floats. by @cdeline in https://github.com/NREL/bifacial_radiance/pull/534
New Contributors
- @mandylewis made their first contribution in https://github.com/NREL/bifacial_radiance/pull/475
- @mjprilliman made their first contribution in https://github.com/NREL/bifacial_radiance/pull/514
- @echedey-ls made their first contribution in https://github.com/NREL/bifacial_radiance/pull/520
Full Changelog: https://github.com/NREL/bifacial_radiance/compare/0.4.2...0.4.3
Renewable Energy - Photovoltaics and Solar Energy
- Python
Published by cdeline 8 months ago

bifacial_radiance - v0.4.2
Bug fix and minor release, returning ModuleObj.text functionality. New functions ModuleObj.saveImage and SceneObj.saveImage automatically save a picture to /images/. This is done by default by the gui, and is controlled in modelchain by simulationParamsDict['saveImage'] = True.
Python 3.7 support is dropped (it should still work though). Example notebook gallery updates in readthedocs.
Renewable Energy - Photovoltaics and Solar Energy
- Python
Published by cdeline about 2 years ago

bifacial_radiance - v0.4.1
Minor bug fix update, fixing some GUI startup issues and assorted minor errors from the 0.4.0 release.
Requirements.txt has been updated. Python 3.10 support added and Python 3.6 support dropped (it should still work though).
Renewable Energy - Photovoltaics and Solar Energy
- Python
Published by cdeline about 3 years ago

bifacial_radiance - v0.4.0-dev3
Bug-fix development release, fixing GUI startup issues.
Renewable Energy - Photovoltaics and Solar Energy
- Python
Published by shirubana about 3 years ago

bifacial_radiance - v0.4.0-dev1
Release of development branch to test DOCKER for AWS.
Renewable Energy - Photovoltaics and Solar Energy
- Python
Published by shirubana about 3 years ago

bifacial_radiance - v 0.4.0 official release
This is a major release which includes new spectral property class, object-oriented ModuleObj class and other improvements for more seamless use with dask and paralellization.
Major usage changes include a ModuleObj output from makeModule, allowing updating geometry and adding module features (adding a torque tube with .addTorquetube, frame members using .addFrame, etc ). This release also changes start and end time format to ‘YYYY-MM-DD_HHMM’ enabling multi-year and sub-hourly met file support.
See what's new at bifacial-radiance.readthedocs.io.
Renewable Energy - Photovoltaics and Solar Energy
- Python
Published by cdeline about 3 years ago

bifacial_radiance - v 0.3.4 official release
This is a major release allowing time-series albedo to be passed into setGround()
. Weather data that is left-labeled (SAM, PVSYST) or center-labeled (NSRDB) can now be specified in readWeatherFile()
. Support for Python 2.7 is now removed.
See what's new at bifacial-radiance.readthedocs.io.
Renewable Energy - Photovoltaics and Solar Energy
- Python
Published by cdeline almost 5 years ago

bifacial_radiance - v 0.3.3.2 official release
This release fixes several bugs, adds glass materials and more scan flexibility. Documentation, examples and testing are greatly updated.
Read the changes at bifacial-radiance.readthedocs.io.
Renewable Energy - Photovoltaics and Solar Energy
- Python
Published by cdeline about 5 years ago

bifacial_radiance - GUI bug fix
This patch fixes a GUI error preventing the simulation from running.
Renewable Energy - Photovoltaics and Solar Energy
- Python
Published by cdeline over 5 years ago

bifacial_radiance - v 0.3.3 official release
This is a major release that adds many power mismatch analysis features, GUI updates as well as documentation and multiple bug fixes.
See what's new at bifacial-radiance.readthedocs.io.
Renewable Energy - Photovoltaics and Solar Energy
- Python
Published by cdeline over 5 years ago

bifacial_radiance - 0.3.1-dev1 Test of PyPi automatic deployment
Renewable Energy - Photovoltaics and Solar Energy
- Python
Published by cdeline over 5 years ago

bifacial_radiance - Development test release
This release includes .version functionality, and auto-deploy new tags to PyPi (just use pip install bifacial_radiance).
Renewable Energy - Photovoltaics and Solar Energy
- Python
Published by cdeline over 5 years ago

bifacial_radiance - v 0.3.1 minor bug fix
This fixes a small issue with initial orientation of scenes when using multiple scenes.
Renewable Energy - Photovoltaics and Solar Energy
- Python
Published by cdeline almost 6 years ago

bifacial_radiance - beta GUI and new internal geometry handling
GUI: Graphical User Interface
Finally! It's here! And it will help you make all your modeling dreams true! Or most of them at least. The GUI reads configuration files with input variables, saves configuration files with input variables, helps you set the necessary variables for the type of simulation you want to run, and finally runs it for you! Check it out and send us feedback, we need some beta testers!
modelChains
Powering the GUI, and as an option to simplify your own simulation-needs, we have bundled functions for the fixed and tracking simulation options into a modelChain available in modelChain.py. This modelChain covers all input parameters and options currently available as procedures on bifacial_radiance.
Installation and Tutorials Video
Installation video!
And tutorial video on how to install bifacial_radiance available here
Keep an eye out for more videos describing bifacial_radiance inner workings, how to use the journals, the modelChains and the GUI soon!
Dictionary gallore.
The program options have grown so much, we have started to agglomerate variables into dictionaries. This are plenty useful with the modelChain and the GUI, and you can find an example with ALL of the possible inputvalues in data/default.ini.
Also, some of the functions on load.py help load saved dictionaries saved as *.ini files and validate that all of the necessary inputs needed by the simulation desired are present, so you never forget a variable anymore!
cell Level Module
In order to evaluate the importance of the packaging factor of a module (which was expressed as transmission factor in bifacial_vf for example) or in other words the effect of varying cell spacing / cell size in a module, makeModule now can take a dictionary that defines the sizes of the cell (xcell and ycell) and the spacing between the cells (xcellgap, ycellgap, and zcellgap).
axis of Rotation TorqueTube
This was bugging us, so we added the option to rotate the modules around themselves (which was the default case before) or around an axis of rotation, defined usually as the center of the torquetube.
The post marks the 0,0 location. The star marks where the rotation axis is at. For the image in the left, it is in the center between the 2-UP modules, so when they are inclined to this 45 degree the torquetube gets moved off from the X = 0 axis. On the image in the right, the rotation is around the torquetube's center.
clearance_height and hub_height distinction.
Before, we were using 'height' to define both clearance_height and hub_height, and the program internally decided how to interpret that depending if it was a fixed or a tracking system. Now, functions accept clearance_height and hub_height and generate the geometry based on that. Don't worry, height is still an option, although it might trigger some warnings to let you know how it is being interpreted as.
new internal Geometry Handling
makeScene and makeModule were re-built from the ground-up for this version. Exciting, I know!!!!! Now, an array gets created so the center of the center module of the center row (or the round-down module if it's an even number of modules/rows) coincides with 0,0, regardless of tilt, azimuth, array size, etc! This allows for simpler visualizations/animations of the visualizations if you want to, but more importantly: it enables easier analysis / sensor location options.
new/improved SENSOR
Speaking of the new sensor/location options:
And, it's more easier than ever to define your own sensor locations / hack the location. check out the carport journal for examples on this!
Multiple Scene Objects for Fixed tilt:
And, if you wanted to do a scene with different types of trackers/racked objects, you can do this too! check out multipleSceneObjs:
new Journals: carport, multipleScenes, and Mismatch.
Have you ever wanted to make a carport on bifacial_radiance and evaluate the rear-irradiance? Have you wanted to add posts to simulate the structure holding your carport up? Have you wondered how to add 'car' surfaces that reflect more light during certain periods of your simulation, or perhaps grass and ground albedos on the same scene? And how to sample the whole structure, not just the center of a specific module/module slope?
Check our new carport journal to learn how to do all of this!
And if you are worried about mismatch, check our development journal on mismatch (and our forthcoming oral presentations/outreach events listed in the Wiki ~).
gendaylit fix with tracker angle
Weatherfiles hour values represent the accumulated irradiance received during the hour before. I.e.: 11 AM, it is the irradiance received between 10 and 11 AM. Therefore, bifacial_radiance follows the standard of calculating the sun position (and tracker position) for 10:30 AM.
However, this is problematic for the sunrise and sunset hours. For example - if there is DNI / DHI vlaues for 7 AM, but the sun rises at 6:40, when the sky was generated for 6:30 the sun position was negative and the program didn't like this. We've fixed this by doing a correction of the sunrise/sunset times, and adjusts the sunposition angle for the midpoint between the hour and that sunrise/sunset time. So for the example of the sunrise at 6:40 AM, the sunposition would be calculated at 6:50 AM. The tracker angles also get calculated for this sunposition. The new changes also handle hours that are before/after the hour of the sunrise/sunset cases (there are some!) avoiding NaN values for the trackers.
Now you should be able to run yearly tracking simulations by hour! (Be warned: this takes us ~4 days on a good computer.)
High Performance Computing:
If you have access to an HPC, several of our functions have HPC capability, and there are working examples in the main.py function as well. Most of the hpc inner-code changes are waiting for files to be created; the runJob() for HPC and HPC example show how to call the bifacial radiance functions and assign them to specific Nodes/Cores. It runs a whole year of hourly tracking simulation in less than a minute on NREL's Eagle HPC!
We do not offer HPC support at the moment, but feel free to try this sections.
still under development but worth mentioning:
analysis and cleanup functions are still being developed, mostly to fit our needs of research. If you have any suggestions, we'd like to hear it on our issues tracker!
Current cleanup functions remove ground, torquetube and side of the modules from results files.
Analysis has some functions to tie with PV Mismatch and calculate electrical loss and shading losses. (There's a journal for this too!).
def some code examples here....
Renewable Energy - Photovoltaics and Solar Energy
- Python
Published by shirubana almost 6 years ago

bifacial_radiance - Torque tube customization, and more inner-working improvements
There are a lot of improvements in this version 0.2.4,
new WIKI Section:
The software has grown enough that a good tutorial with colorful diagrams and insider tips was needed. You can always refer to the jupyter notebooks for code examples, but now the Wiki has some things we consider important of how the geometry is being created, and of some of the main questions we receive by e-mail.
Btw: If you have feedback, questions, etc., open an Issue so we can answer you and maybe the answer will be useful for others as well :)
Now to real updates:
Deprecating ORIENTATION
Orientation no longer shifts the module in x and y. There is no more orientaiton! Now, if you want your module in landscape, set your x > y, and in portrait, x < y, x and y being the module sizes. X will be the size of the module along the row (regardless of the row's azimuth)
makeModule allows different torque tube shapes and materials:
On last release, makeModule was able to do a 1-up or 2-up configurations. Here is a schematic of the variables that it takes:
hub height or clearance height get defined on makeScene. makeScene1axis expects hub height, while makeScene (for fixed tilt) expects the clearance height). A new function _getTrackingGeometryTimeIndex calculates the clearance height in case you want to simulate just one point in time for a tracker.
RadianceObj.makeScene(module_name,sceneDict, nMods = 20, nRows = 7,sensorsy = 4, modwanted = 5, rowwanted = 2)
def makeModule(name=None,x=1,y=1,modulefile=None, text=None, customtext='',
torquetube=False, diameter=0.1, tubetype='Round', material='Metal_Grey', zgap=0.1, numpanels=1, ygap=0.0, rewriteModulefile=True, xgap=0.01):
Torque tube's material can now be defined (they must be pre-existing on the ground.rad material list). Also, there are different shapes to choose from: round, square, hex and octogonal tube.
a new 'customtext' variable has been added, in case user wants to add a replicable element to the unit-geometry (brackets, for example). This text must be in Radiance lingo, and it gets added after the geometry is created to the objects\MODULENAME.rad
Panel Spacing on 'X' , 'Y', and 'Z':
We had before gap between modules (panelgap) for 2-up configurations. This became ygap.
the distance between the torque tube (if included) and the modules is zgap.
And the new variable introduced is xgap, which allows the modules to be separated along the row.
You only need to pass this variables when making the module and they will get propagated to the scene. Here is an example of a 2-up landscape module with xgap = 0.5, zgap = 0.15, and ygap = 0.10 (all of this are meters)
New Gendaylit
Gendaylit, still using the same metdata and timestamp inputs, now calls PVLib to calculate the sun position, and generate the sky model based on this values. The previous option to have Radiance calculate the sun position and generate the sky is still available (gendaylit_old), but we find using this new gendaylit more useful to be able to control at what point in time we are calculating the sun and tracker positions (Hint: for hourly TMY3, it is with a delta of 30 minutes before the hour stated in the EPW/TMY file).
And in case you want even more customization power, there is a gendaylit_manual option now. When using this, please remember that Radiance bases it's 0 degrees azimuth coordinate on the South (whereas bifacial_radiance and PVLib implementation consider North the 0 azimuth).
gendaylit2manual(dni, dhi, sunalt, sunaz)
Accuracy of simulations
New accuracy input option for 1-axis scans.
'low' or 'high' - resolution option used during irrPlotNew and rtrace
analysis1axis(trackerdict=None, singleindex=None, accuracy='low', customname='my custom name for this simulation')
Higher accuracy takes more time. Since raytrace is a stochastic process, we suggest running several simulations (~10) in 'low' accuracy and averaging results. More on this topic to be potentially presented at EU PVSEC 2019.
let our inner geek rejoice: Py36 code compliance implemented, and cross-platform compatibility
It's a though world out there for non-PY36 compliante code. Bifacial_radiance is not in the wild-wild west anymore.
AND! Cross-platform compatibility implemented. This should all work in Linux now, but if you have any feedback please open an issue, we are keeping an eye out for those!
Bugs Catched:
Selection of module to be sampled was selecting one module over in the row instead of the desired module. Now it is fixed. For big-array simulations this does not impact results, but for smaller arrays, edge effects would have been noticeable.
Also sensor position (and module sampled) is switched automatically when doing tracking, so the same relative-position module is added for the yearly simulations. The matterial type for this release will be misguiding, but you can check your geometry by adding custom objects on your sensor positions (follow the journal example of add Custom Object)
((Star marks the first sensor location (so now they are being measured in the same direction))
Renewable Energy - Photovoltaics and Solar Energy
- Python
Published by shirubana about 6 years ago

bifacial_radiance - Hourly tracking, advanced module geometry, custom scans
Version 0.2.3 has a lot of new features!
RadianceObj.makeModule has new input parameters:
RadianceObj.makeModule(name = '1axis_2up', x = 0.995, y = 1.995, torquetube = True, tubetype = 'round',
diameter = 0.1, tubeZgap = 0.1, panelgap = 0.05, numpanels = 2)
In the above example, numpanels = 2
makes the array 2-up.
torquetube = True
adds a torque tube behind the panels.
this tube is 0.1m in diameter, round with a 0.1m gap between panels and the tube.
There is a 5cm gap from one panel to the next in the slope direction.
Here's a 1-up example with round tube, 0.05m gap between panels and tube:
makeScene now allows custom length and location scans:
RadianceObj.makeScene(module_name,sceneDict, nMods = 20, nRows = 7,sensorsy = 4, modwanted = 5, rowwanted = 2)
In the above example the normal 9-point scan is modified by only doing 4 measurement points with sensorsy = 4
. modwanted = 5
scans along the 5th module in the row (from the south or west) out of 20. rowwanted = 2
scans along the second row in the array (out of 7).
1-axis tracking hourly workflow:
# NEW hourly gendaylit workflow. trackerdict is now returned with hourly time points as keys
# instead of tracker angles.
trackerdict = RadianceObj.set1axis(cumulativesky = False)
# this cumulativesky = False key is crucial to set up the hourly workflow.
Note that the new trackerdict returned by set1axis
has keys of timesteps, not angles
# create the skyfiles needed for 1-axis tracking - hourly timesteps now.
trackerdict = RadianceObj.gendaylit1axis()
# optional parameters 'startdate', 'enddate' inputs = string 'MM/DD' or 'MM_DD'
It doesn't take too long to create 8760 skyfiles, but if you don't need a full year, you can pass in startdate
and /or enddate
strings (mm/dd or mm_dd format) to only create the skyfiles you need.
sceneDict = {'pitch': module_height / gcr,'height':hub_height,'orientation':'portrait'}
trackerdict = demo2.makeScene1axis(trackerdict, module_type,sceneDict, cumulativesky = False, nMods = 20, nRows = 7)
#makeScene with cumulativesky = False begins to make hourly tracker Radfiles
This step isn't too different from the original workflow. makeScene1axis
goes through the geometry in trackerdict and makes .RAD files for each hourly point.
# Loop over the 8760 timepoints in trackerdict.keys().
# Note this takes a long time, and will probably require parallel computing.
for time in sorted(trackerdict.keys()): # the full year. if you want a partial year, loop over e.g. ['01_01_11','01_01_12']
RadianceObj.makeOct1axis(trackerdict,time)
RadianceObj.analysis1axis(trackerdict,time)
The existing functions makeOct1axis
and analysis1axis
now allow a specific key from trackerdict to be passed in. They'll only run on the specific key (hour or tracker angle, depending on whether cumulativesky = False or not)
This functionality allows you to run through multiple hourly simulations and create a new simulation for each. The RadianceObj keeps track of the overall RadianceObj.Wm2Front
and RadianceObj.Wm2Back
, so you should have a cumulative value when you're done.
Renewable Energy - Photovoltaics and Solar Energy
- Python
Published by cdeline over 6 years ago

bifacial_radiance - Critical 1-axis tracking update plus unit testing
A sign error in calculating the tracker angle resulted in a 1-hour offset between the calculated tracker angle and actual tracker angle. This resulted in over-estimates of bifacial gain. v0.2.2 fixes this problem. Unit tests are also introduced. These can be run from the command line by running 'pytest' in the repository root folder.
Model intercomparisons look favorable with PVSyst, SAM (beta) and bifacialvf for fixed-tilt conditions.
Single-axis tracking also checks out within 10%-15% (relative) for rear irradiance.
Renewable Energy - Photovoltaics and Solar Energy
- Python
Published by cdeline over 6 years ago

bifacial_radiance - TMY3 support
Updated TMY3 support - allows reading in .csv files in the TMY3 format.
No longer using pyepw to read in EPW files - now using readepw.py file from S. Quiolin from the pvlib forums.
Improved stability should result.
Renewable Energy - Photovoltaics and Solar Energy
- Python
Published by cdeline almost 7 years ago

bifacial_radiance - Critical 1-axis tracking update
A geometry error was resulting in over-estimation of rear irradiance for single-axis tracked systems. Version 0.2.0 has fixed the problem.
Renewable Energy - Photovoltaics and Solar Energy
- Python
Published by cdeline about 7 years ago

bifacial_radiance - Update calculations for southern latitudes
A minor change is made to allow orientation azimuths in all directions from 0 to 360 degrees. This will help with modeling southern latitude systems.
Renewable Energy - Photovoltaics and Solar Energy
- Python
Published by cdeline about 7 years ago

bifacial_radiance - bifacial_radiance 0.1.0
Update to 1-axis tracking and validation
There was an important update to how 1-axis tracking .csv weather files are saved and passed to gencumulativesky.
Now we have favorable front irradiance comparison with PVSyst, SAM and bifacialvf
Favorable rear irradiance comparison with bifacialvf
1-axis tracking examples
See /docs/1Axis_tracking_example.ipynb for usage examples.
See /docs/1Axis_Radiance_VF_comparison.py for a comparison with our partner project - BifacialVF (view factor model)
RadianceObj.set1axis(metdata, axis_azimuth, limit_angle, angledelta, backtrack, gcr)
: import weather file and parse into sub-files based on the tracker angle during those times. Return: trackerdict (dictionary with relevant tracker-specific data)
RadianceObj.genCumSky1axis(trackerdict)
: Generate cumulative sky data for each tracker angle
RadianceObj.makeScene1axis(trackerdict, moduletype, sceneDict, nMods, nRows )
: Generate .rad file geometries for each tracker angle
RadianceObj.makeOct1axis(trackerdict)
: Generate octfiles incorporating all of the above for each tracker angle
PREREQUISITES (Step 0):
This software requires the previous installation of RADIANCE .
Make sure you add radiance to the system PATH so Python can interact with the radiance program
If you are on a PC you should also copy the Jaloxa radwinexe-5.0.a.8-win64.zip executables into program files/radiance/bin
:
STEP 1: Install and import bifacial_radiance
- clone the bifacial_radiance repo to your local directory or download and unzip the .zip file
- navigate to the \bifacial_radiance directory using anaconda command line
- run
pip install -e .
( the period . is required, the -e flag is optional and installs in development mode where changes to the bifacial_radiance.py files are immediately incorporated into the module if you re-start the python kernel)
STEP 2: Move gencumulativesky.exe
Copy gencumulativesky.exe from the repo's /bifacial_radiance/data/
directory and copy into your Radiance install directory.
This is typically found in /program files/radiance/bin/
.
STEP 3: Create a local Radiance directory for storing the scene files created
Keep scene geometry files separate from the bifacial_radiance directory. Create a local directory somewhere to be used for storing scene files.
STEP 4: Reboot the computer
This makes sure the PATH is updated
Renewable Energy - Photovoltaics and Solar Energy
- Python
Published by cdeline over 7 years ago

bifacial_radiance - bifacial_radiance 0.0.5
New functionality: Single-axis tracking capability
See /docs/1Axis_tracking_example.ipynb for usage examples.
See /docs/1Axis_Radiance_VF_comparison.py for a comparison with our partner project - BifacialVF (view factor model)
RadianceObj.set1axis(metdata, axis_azimuth, limit_angle, angledelta, backtrack, gcr)
: import weather file and parse into sub-files based on the tracker angle during those times. Return: trackerdict (dictionary with relevant tracker-specific data)
RadianceObj.genCumSky1axis(trackerdict)
: Generate cumulative sky data for each tracker angle
RadianceObj.makeScene1axis(trackerdict, moduletype, sceneDict, nMods, nRows )
: Generate .rad file geometries for each tracker angle
RadianceObj.makeOct1axis(trackerdict)
: Generate octfiles incorporating all of the above for each tracker angle
Renewable Energy - Photovoltaics and Solar Energy
- Python
Published by cdeline over 7 years ago

bifacial_radiance - bifacial_radiance 0.0.4
New functionality: Custom module configuration
RadianceObj.makeModule(name, x, y, bifi)
: add a new module to the configuration file, named name
RadianceObj.printModules()
: list the available module names in the configuration file data\module.json
SceneObj.readModule(name)
: list configuration details for module type name
Install using pip
- Clone or download the bifacial_radiance repository.
- Navigate to repository: cd bifacial_radiance
- Install via pip: "pip install . "
- Alternate installation development mode: " pip install -e . "
Renewable Energy - Photovoltaics and Solar Energy
- Python
Published by cdeline over 7 years ago

bifacial_radiance - 0.0.3 Stable release
This is a minor update enabling arbitrary sized systems in the RadianceObj.makeScene() function
-Arbitrary Nmods x Nrows system configuration
Install using pip
- Clone or download the bifacial_radiance repository.
- Navigate to repository: cd bifacial_radiance
- Install via pip: "pip install . "
- Alternate installation development mode: " pip install -e . "
Renewable Energy - Photovoltaics and Solar Energy
- Python
Published by cdeline over 7 years ago
