NREL / bifacial_radiance

Toolkit for working with RADIANCE for the ray-trace modeling of Bifacial Photovoltaics
https://bifacial-radiance.readthedocs.io
BSD 3-Clause "New" or "Revised" License
84 stars 46 forks source link

Issue with irradiance calculation #442

Closed msalinascamus closed 1 year ago

msalinascamus commented 1 year ago

Hi I'm making a comparision of the total irradiance by changing tilt angles at the same hour. However, by looking at the graph there is weird behavior where there is a jump in the irradiance value (in the figure this correspond from angles 20 to 40 degrees). This behavior happens at every hour is just the angles where it happens that change. The location is -24.03328,-68.57498. angulos_hora_2021-03-21_1200 What is the reason behind this behavior? I also made this analysis by changing the gcr so there isn't shading between the rows of panels, but occurs the same. Thank you in advance.

shirubana commented 1 year ago

Hmm I'm going to try to reproduce the error.

Are you doing 1-up system, are you including torque-tube, is this for a full year cumulative done hourly or with the cumulative sky for tracking, did you do this with code or with the GUI which button (ie. Tracking all year, cumulative all year, etc..).

Thanks

Silvana

msalinascamus commented 1 year ago

These are the parameter that I'm using numcellsx = 6 numcellsy = 24 xcell = 0.15875 ycell = 0.15875 xcellgap = 0.02 ycellgap = 0.02 moduletype = 'test-module2' xgap = 2.031 ygap = 1.008 zgap = 0.04 numpanels = 1 axisofrotation = True # the scene will rotate around the torque tube, and not the middle of the bottom surface of the module diameter = 0.1 tubetype = 'Oct' # This will make an octagonal torque tube. material = 'black' # Torque tube of this material (0% reflectivity) And for the analysis I'm using this code: sceneDict = {'tilt':angle,'pitch':11.8,'clearance_height':1.6,'azimuth':0, 'nMods': 28, 'nRows': 5} scene = demo.makeScene(module,sceneDict) octfile = demo.makeOct(demo.getfilelist()) demo.getfilelist() analysis = AnalysisObj(octfile, demo.basename) frontscan, backscan = analysis.moduleAnalysis(scene) results = analysis.analysis(octfile, demo.basename, frontscan, backscan)

shirubana commented 1 year ago

Great. Are you doing gendaylit or gencumsky? any specific thing on the albedo?

msalinascamus commented 1 year ago

I'm using gendaylit. The albedo is 0.2

shirubana commented 1 year ago

I did notice over the weekend we messed up something and if you don't pass ModWanted or RowWanted to the moduleAnalysis it is not properly locating the array. Can you check on your results what is in the Material or RearMaterial columns? If it is something other than a#.#####.... test-module2.### it might be wrong

msalinascamus commented 1 year ago

This analysis was made a few weeks ago. Here is an example of the columns Material and Rear Material of the results csv. mattype: a13.2.a2.2.0.cellPVmodule.6457 rearMat: a13.2.a2.2.0.cellPVmodule.2310

msalinascamus commented 1 year ago

I did notice that in most of the csv there is one row that looks like this: mattype: a13.2.octtube1a.6457 rearMat: sky However this row contains low values, when comparing with other rows.

shirubana commented 1 year ago

That is very weird because you mentioned you have a 1-up system and that usually happens on 2-up systems (numpanels = 2)

You need to clean the data when considering your averages by removing this lines that don't hit material 6457 or 2310. There are some examples on the journals/code to do it programatically.

S.

msalinascamus commented 1 year ago

You are right. I cleaned the results and know it looks fine. Thanks!

shirubana commented 1 year ago

ah! phew :) thanks for checking! glad it got figured out.