Skip to content

Commit 3190b8e

Browse files
cdelineCopilot
andauthored
update pytests to accuracy=high (#594)
* update RADIANCE version loaded by github CI pytests to v6.0 * set accuracy = high for ini_gencumsky.ini * replace deprecated coactions/setup-xvfb in github pytest.yaml Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> * correctly pass accuracy= into analysisParamsDict modelchain * expand acceptance window - high_Azimuth_modelchains --------- Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
1 parent d504da4 commit 3190b8e

9 files changed

Lines changed: 275 additions & 257 deletions

File tree

.github/workflows/pytest.yaml

Lines changed: 20 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,18 @@
1-
name: test
1+
name: test
22

33
on: [pull_request, push]
44

5+
# Force all JavaScript actions to use Node 24 to silence the v4/v5 warnings
6+
env:
7+
FORCE_JAVASCRIPT_ACTIONS_TO_NODE24: true
8+
59
jobs:
610
pytest:
7-
811
runs-on: ubuntu-latest
912
strategy:
1013
fail-fast: false # don't cancel other matrix jobs when one fails
1114
matrix:
12-
python-version: ["3.8","3.11"]
15+
python-version: ["3.8", "3.11"]
1316
# Test two environments:
1417
# 1) dependencies with pinned versions from requirements.txt
1518
# 2) 'pip install --upgrade --upgrade-strategy=eager .' to install upgraded
@@ -31,16 +34,18 @@ jobs:
3134
with:
3235
python-version: ${{ matrix.python-version }}
3336

34-
- name: Install Radiance v5.3
37+
- name: Install Radiance v6.0
3538
run: |
36-
wget https://github.com/LBNL-ETA/Radiance/releases/download/012cb178/Radiance_012cb178_Linux.zip -O radiance.zip
39+
#wget https://github.com/LBNL-ETA/Radiance/releases/download/012cb178/Radiance_012cb178_Linux.zip -O radiance.zip
40+
wget https://github.com/LBNL-ETA/Radiance/releases/download/rad6R0P2/Radiance_c1700d56_Linux.zip -O radiance.zip
3741
unzip radiance.zip
38-
tar -xvf radiance-5.3.012cb17835-Linux.tar.gz
42+
#tar -xvf radiance-5.3.012cb17835-Linux.tar.gz
43+
tar -xvf radiance-6.0.c1700d56cc-Linux.tar.gz
3944
ls -l $PWD
4045
4146
- name: Copy gencumulativesky into radiance /bin
4247
run: |
43-
cp $PWD/bifacial_radiance/data/gencumulativesky $PWD/radiance-5.3.012cb17835-Linux/usr/local/radiance/bin/
48+
cp $PWD/bifacial_radiance/data/gencumulativesky $PWD/radiance-6.0.c1700d56cc-Linux/usr/local/radiance/bin/
4449
4550
- name: Install SMARTS 2.9.5
4651
run: |
@@ -61,17 +66,18 @@ jobs:
6166
- name: Set environment variables
6267
run: |
6368
# https://docs.github.com/en/actions/learn-github-actions/workflow-commands-for-github-actions#adding-a-system-path
64-
echo "/home/runner/work/bifacial_radiance/bifacial_radiance/radiance-5.3.012cb17835-Linux/usr/local/radiance/bin" >> $GITHUB_PATH
69+
echo "/home/runner/work/bifacial_radiance/bifacial_radiance/radiance-6.0.c1700d56cc-Linux/usr/local/radiance/bin" >> $GITHUB_PATH
6570
echo "/home/runner/work/bifacial_radiance/bifacial_radiance/SMARTS_295_Linux" >> $GITHUB_PATH
6671
72+
- name: Install xvfb
73+
run: sudo apt-get update && sudo apt-get install -y xvfb
74+
6775
- name: Test with pytest ${{ matrix.env }}
68-
uses: coactions/setup-xvfb@6b00cf1889f4e1d5a48635647013c0508128ee1a # GUI testing requires xvfb
69-
with:
70-
run: |
71-
coverage run -m pytest
72-
coverage report
76+
run: |
77+
xvfb-run -a coverage run -m pytest
78+
coverage report
7379
env: # environment variables available to this step
74-
RAYPATH: .:/home/runner/work/bifacial_radiance/bifacial_radiance/radiance-5.3.012cb17835-Linux/usr/local/radiance/lib
80+
RAYPATH: .:/home/runner/work/bifacial_radiance/bifacial_radiance/radiance-6.0.c1700d56cc-Linux/usr/local/radiance/lib
7581
SMARTSPATH: /home/runner/work/bifacial_radiance/bifacial_radiance/SMARTS_295_Linux
7682

7783
- name: Coveralls

bifacial_radiance/modelchain.py

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -166,7 +166,7 @@ def runModelChain(simulationParamsDict, sceneParamsDict, timeControlParamsDict=N
166166
# Fixed gencumsky condition
167167
scene = demo.makeScene(module=module,
168168
sceneDict=sceneParamsDict, customtext=customObject)
169-
demo.genCumSky(None if use_mtx else demo.gencumsky_metfile, use_mtx=use_mtx)
169+
demo.genCumSky(None if use_mtx else demo.gencumsky_metfile, use_mtx=use_mtx)
170170

171171
if pilesParamsDict:
172172
demo.addPiles(spacingPiles=pilesParamsDict['spacingPiles'],
@@ -179,7 +179,8 @@ def runModelChain(simulationParamsDict, sceneParamsDict, timeControlParamsDict=N
179179
frontscan, backscan = analysis.moduleAnalysis(scene, modWanted=analysisParamsDict['modWanted'],
180180
rowWanted=analysisParamsDict['rowWanted'],
181181
sensorsy=analysisParamsDict['sensorsy'])
182-
analysis.analysis(octfile, demo.name, frontscan, backscan)
182+
analysis.analysis(octfile, demo.name, frontscan, backscan,
183+
accuracy=analysisParamsDict.get('accuracy', 'low'))
183184
print('Bifacial ratio yearly average: %0.3f' %
184185
(np.mean(analysis.Wm2Back) / np.mean(analysis.Wm2Front)))
185186

@@ -222,7 +223,8 @@ def runModelChain(simulationParamsDict, sceneParamsDict, timeControlParamsDict=N
222223
trackerdict = demo.analysis1axis(trackerdict=trackerdict,
223224
modWanted=analysisParamsDict['modWanted'],
224225
rowWanted=analysisParamsDict['rowWanted'],
225-
sensorsy=analysisParamsDict['sensorsy'])
226+
sensorsy=analysisParamsDict['sensorsy'],
227+
accuracy=analysisParamsDict.get('accuracy', 'low'))
226228

227229
# TODO: Chris, not all functions were saving/returning analysis before.
228230
# It is also not a very good return as it will only include the last key

0 commit comments

Comments
 (0)