Repository: NREL/bifacial_radiance (language: python)

Issue:
Front and backscan differing sizes: only saving partial data
![image](https://github.com/NREL/bifacial_radiance/assets/22824806/32edadf6-0203-4754-8ce2-87bf30935c5f)


Only saves the x y z coords and material info for the 2nd element measured.  Desirable behaviour to have such data for both sides.


Discussion / hints:

Fix patch:
diff --git a/bifacial_radiance/main.py b/bifacial_radiance/main.py
index 6d6b81f2..22955af0 100644
--- a/bifacial_radiance/main.py
+++ b/bifacial_radiance/main.py
@@ -2769,9 +2769,9 @@ def makeScene1axis(self, trackerdict=None, module=None, sceneDict=None,
     def analysis1axis(self, trackerdict=None, singleindex=None, accuracy='low',
                       customname=None, modWanted=None, rowWanted=None, 
                       sensorsy=9, sensorsx=1,  
-                      modscanfront = None, modscanback = None, relative=False, 
+                      modscanfront=None, modscanback=None, relative=False, 
                       debug=False, sceneNum=0, append=True, 
-                      frontsurfaceoffset = None, backsurfaceoffset=None):
+                      frontsurfaceoffset=None, backsurfaceoffset=None):
         """
         Loop through trackerdict and runs linescans for each scene and scan in there.
         If multiple scenes exist in the trackerdict, only ONE scene can be analyzed at a 
@@ -3635,7 +3635,7 @@ def _makeSceneNxR(self, modulename=None, sceneDict=None, radname=None, addhubhei
         ''' INITIALIZE VARIABLES '''
         text = '!xform '
 
-        text += '-rx %s -t %s %s %s ' %(tilt, 0, 0, hubheight)
+        text += '-rx %s -t %s %s %s ' %(tilt, 0, 0, np.float16(hubheight))
         
         # create nMods-element array along x, nRows along y. 1cm module gap.
         text += '-a %s -t %s 0 0 -a %s -t 0 %s 0 ' %(nMods, self.module.scenex, nRows, pitch)
@@ -3674,7 +3674,7 @@ def _makeSceneNxR(self, modulename=None, sceneDict=None, radname=None, addhubhei
         with open(radfile, 'wb') as f:
             f.write(text.encode('ascii'))
 
-        self.gcr = self.module.sceney / pitch
+        self.gcr = round(self.module.sceney / pitch, 6)
         self.text = text
         self.radfiles = radfile
         self.sceneDict = sceneDict
@@ -4405,7 +4405,7 @@ def results(self):
     def __printval__(self, attr):
         try:
             t = getattr(self,attr, None)[0]
-        except (TypeError, KeyError):
+        except (TypeError, KeyError, IndexError):
             t = None
         if isinstance(t, (np.floating, float)) : 
             return np.array(getattr(self,attr)).round(3).tolist()
@@ -4747,10 +4747,14 @@ def _saveResults(self, data=None, reardata=None, savefile=None, RGB = False):
                 
         # rename columns if only rear data was originally passed
         if rearswapflag:
-            df = df.rename(columns={'Wm2Front':'Wm2Back','mattype':'rearMat'})
+            df = df.rename(columns={'Wm2Front':'Wm2Back','mattype':'rearMat',
+                                    'x':'rearX', 'y':'rearY', 'z':'rearZ'})
         # set attributes of analysis to equal columns of df
         for col in df.columns:
-            setattr(self, col, np.array(df[col])) #cdeline: changed from list to np.array on 3/16/24   
+            setattr(self, col, np.array(df[col])) #cdeline: changed from list to np.array on 3/16/24  
+        # swap back for the savefile
+        if rearswapflag:
+            df = df.rename(columns={'rearX':'x', 'rearY':'y', 'rearZ':'z'})
         # only save a subset
         df = df.drop(columns=['backRatio'], errors='ignore')
         df.to_csv(os.path.join("results", savefile), sep=',',
@@ -5148,15 +5152,15 @@ def _checkSensors(sensors):
             print("Final Start Coordinate Front", xstartfront, ystartfront, zstartfront)
             print("Increase Coordinates", xinc_front, yinc_front, zinc_front)
         
-        frontscan = {'xstart': firstsensorxstartfront, 'ystart': firstsensorystartfront,
-                     'zstart': firstsensorzstartfront,
-                     'xinc':xinc_front, 'yinc': yinc_front, 'zinc':zinc_front,
+        frontscan = {'xstart': np.float16(firstsensorxstartfront), 'ystart': np.float16(firstsensorystartfront),
+                     'zstart': np.float16(firstsensorzstartfront),
+                     'xinc': np.float16(xinc_front), 'yinc': np.float16(yinc_front), 'zinc': np.float16(zinc_front),
                      'sx_xinc':sx_xinc_front, 'sx_yinc':sx_yinc_front,
                      'sx_zinc':sx_zinc_front, 
                      'Nx': sensorsx_front, 'Ny':sensorsy_front, 'Nz':1, 'orient':front_orient }
-        backscan = {'xstart':firstsensorxstartback, 'ystart': firstsensorystartback,
-                     'zstart': firstsensorzstartback,
-                     'xinc':xinc_back, 'yinc': yinc_back, 'zinc':zinc_back,
+        backscan = {'xstart': np.float16(firstsensorxstartback), 'ystart': np.float16(firstsensorystartback),
+                     'zstart': np.float16(firstsensorzstartback),
+                     'xinc': np.float16(xinc_back), 'yinc': np.float16(yinc_back), 'zinc': np.float16(zinc_back),
                      'sx_xinc':sx_xinc_back, 'sx_yinc':sx_yinc_back,
                      'sx_zinc':sx_zinc_back, 
                      'Nx': sensorsx_back, 'Ny':sensorsy_back, 'Nz':1, 'orient':back_orient }
@@ -5252,9 +5256,9 @@ def groundAnalysis(self, scene, modWanted=None, rowWanted=None,
         yinc = groundsensorspacing * np.cos((azimuth)*dtor)
         zinc = 0
         
-        groundscan = {'xstart': xstart, 'ystart': ystart,
-                     'zstart': zstart,
-                     'xinc':xinc, 'yinc': yinc, 'zinc':zinc,
+        groundscan = {'xstart': np.float16(xstart), 'ystart': np.float16(ystart),
+                     'zstart': np.float16(zstart),
+                     'xinc':np.float16(xinc), 'yinc': np.float16(yinc), 'zinc':np.float16(zinc),
                      'sx_xinc':0, 'sx_yinc':0,
                      'sx_zinc':0,
                      'Nx': sensorsgroundx, 'Ny':sensorsground, 'Nz':1,
@@ -5263,7 +5267,7 @@ def groundAnalysis(self, scene, modWanted=None, rowWanted=None,
         return groundscan
       
     def analyzeRow(self, octfile, scene, rowWanted=None, name=None, 
-                   sensorsy=None, sensorsx=None ):
+                   sensorsy=9, sensorsx=1 ):
         '''
         Function to Analyze every module in the row. 
 
diff --git a/docs/sphinx/source/whatsnew/v0.5.0.rst b/docs/sphinx/source/whatsnew/v0.5.0.rst
index 691efb65..cf2775ef 100644
--- a/docs/sphinx/source/whatsnew/v0.5.0.rst
+++ b/docs/sphinx/source/whatsnew/v0.5.0.rst
@@ -41,6 +41,9 @@ Bug fixes
 * Fixed typo on Opacity calculation factor (:issue:`426`)
 * Updated Github Actions to use Node20: checkout@v4,  setup-python@v5, coactions/setup-xvfb, setup-buildx-action@v3 (:pull:`517`)
 * Fix PerformanceWarning and SettingWithCopyWarning (:issue:`515`)
+* Fix error where rearX, rearY, rearZ parameters are not properly saved (:issue:`501`)
+* More appropriate significant digits saved and displayed. (this changed some x,y,z values by < .003 due to rounding differences.)  (:pull:`558`)
+* :py:func:`bifacial_radiance.AnalysisObj.analyzeRow` default values changed for `sensorsy` and `sensorsx` from `None` to 9 and 1, respectively (:pull:`558`)
 
 Documentation
 ~~~~~~~~~~~~~~
diff --git a/docs/tutorials/21 - Weather to Module Performance.ipynb b/docs/tutorials/21 - Weather to Module Performance.ipynb
index 168a1fdf..6bdea5d7 100644
--- a/docs/tutorials/21 - Weather to Module Performance.ipynb
+++ b/docs/tutorials/21 - Weather to Module Performance.ipynb
@@ -2,7 +2,7 @@
  "cells": [
   {
    "cell_type": "code",
-   "execution_count": 2,
+   "execution_count": 1,
    "id": "07a01d38-bfea-453c-9040-72f6cc872bf3",
    "metadata": {},
    "outputs": [
@@ -41,7 +41,7 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 3,
+   "execution_count": 2,
    "id": "23074a65",
    "metadata": {},
    "outputs": [
@@ -69,7 +69,7 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 4,
+   "execution_count": 3,
    "id": "51fe7bf3",
    "metadata": {},
    "outputs": [
@@ -79,7 +79,7 @@
        "'0.4.4.dev25+g9486645.d20240925'"
       ]
      },
-     "execution_count": 4,
+     "execution_count": 3,
      "metadata": {},
      "output_type": "execute_result"
     }
@@ -103,7 +103,7 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 5,
+   "execution_count": 4,
    "id": "1423a9f2",
    "metadata": {},
    "outputs": [],
@@ -124,7 +124,7 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 6,
+   "execution_count": 5,
    "id": "fd6a686c",
    "metadata": {},
    "outputs": [
@@ -154,7 +154,7 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 7,
+   "execution_count": 6,
    "id": "250eb585",
    "metadata": {},
    "outputs": [
@@ -194,7 +194,7 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 8,
+   "execution_count": 7,
    "id": "9370c9c2",
    "metadata": {
     "scrolled": true
@@ -226,7 +226,7 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 9,
+   "execution_count": 8,
    "id": "111bdbd2",
    "metadata": {},
    "outputs": [],
@@ -236,7 +236,7 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 10,
+   "execution_count": 9,
    "id": "1f2e3cd4",
    "metadata": {},
    "outputs": [
@@ -267,7 +267,7 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 11,
+   "execution_count": 10,
    "id": "10e35e7c",
    "metadata": {},
    "outputs": [
@@ -300,7 +300,7 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 12,
+   "execution_count": 11,
    "id": "29c4a111",
    "metadata": {},
    "outputs": [
@@ -321,7 +321,7 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 13,
+   "execution_count": 12,
    "id": "71bbd496",
    "metadata": {},
    "outputs": [
@@ -338,33 +338,37 @@
       "\n",
       "Linescan in process: 1axis_2021-01-13_1100_Scene0_Row1_Module3_Front\n",
       "Linescan in process: 1axis_2021-01-13_1100_Scene0_Row1_Module3_Back\n",
-      "Saved: results\\irr_1axis_2021-01-13_1100_Scene0_Row1_Module3.csv\n",
-      "Index: 2021-01-13_1100. Wm2Front: 254.37783333333334. Wm2Back: 40.0465\n",
+      "Saved: results\\irr_1axis_2021-01-13_1100_Scene0_Row1_Module3_Front.csv\n",
+      "Saved: results\\irr_1axis_2021-01-13_1100_Scene0_Row1_Module3_Back.csv\n",
+      "Index: 2021-01-13_1100. Wm2Front: 254.26609999999997. Wm2Back: 39.97652333333334\n",
       "Linescan in process: 1axis_2021-01-13_1200_Scene0_Row1_Module3_Front\n",
       "Linescan in process: 1axis_2021-01-13_1200_Scene0_Row1_Module3_Back\n",
-      "Saved: results\\irr_1axis_2021-01-13_1200_Scene0_Row1_Module3.csv\n",
-      "Index: 2021-01-13_1200. Wm2Front: 253.61329999999998. Wm2Back: 37.96939666666667\n",
+      "Saved: results\\irr_1axis_2021-01-13_1200_Scene0_Row1_Module3_Front.csv\n",
+      "Saved: results\\irr_1axis_2021-01-13_1200_Scene0_Row1_Module3_Back.csv\n",
+      "Index: 2021-01-13_1200. Wm2Front: 253.4217. Wm2Back: 38.20968333333333\n",
       "Linescan in process: 1axis_2021-01-13_1100_Scene1_Row1_Module1_Front\n",
       "Linescan in process: 1axis_2021-01-13_1100_Scene1_Row1_Module1_Back\n",
-      "Saved: results\\irr_1axis_2021-01-13_1100_Scene1_Row1_Module1.csv\n",
-      "Index: 2021-01-13_1100. Wm2Front: 253.51493333333335. Wm2Back: 52.92065666666667\n",
+      "Saved: results\\irr_1axis_2021-01-13_1100_Scene1_Row1_Module1_Front.csv\n",
+      "Saved: results\\irr_1axis_2021-01-13_1100_Scene1_Row1_Module1_Back.csv\n",
+      "Index: 2021-01-13_1100. Wm2Front: 253.54973333333336. Wm2Back: 0.0\n",
       "Linescan in process: 1axis_2021-01-13_1200_Scene1_Row1_Module1_Front\n",
       "Linescan in process: 1axis_2021-01-13_1200_Scene1_Row1_Module1_Back\n",
-      "Saved: results\\irr_1axis_2021-01-13_1200_Scene1_Row1_Module1.csv\n",
-      "Index: 2021-01-13_1200. Wm2Front: 252.98073333333332. Wm2Back: 50.79347333333333\n"
+      "Saved: results\\irr_1axis_2021-01-13_1200_Scene1_Row1_Module1_Front.csv\n",
+      "Saved: results\\irr_1axis_2021-01-13_1200_Scene1_Row1_Module1_Back.csv\n",
+      "Index: 2021-01-13_1200. Wm2Front: 252.57203333333334. Wm2Back: 0.0\n"
      ]
     }
    ],
    "source": [
-    "# Compile both scenes into one octfile.  Run 2 different analyses, one on each scene\n",
+    "# Compile both scenes into one octfile.  Run 2 different analyses, one on each scene with different front and rear y scan\n",
     "trackerdict = demo.makeOct1axis()\n",
-    "trackerdict = demo.analysis1axis(sensorsy=3, append=False)\n",
-    "trackerdict = demo.analysis1axis(sensorsy=3, sceneNum=1)"
+    "trackerdict = demo.analysis1axis(sensorsy=[1,3], append=False)\n",
+    "trackerdict = demo.analysis1axis(sensorsy=[3,2], sceneNum=1)"
    ]
   },
   {
    "cell_type": "code",
-   "execution_count": 14,
+   "execution_count": 13,
    "id": "a3a10f10",
    "metadata": {},
    "outputs": [
@@ -374,10 +378,10 @@
      "text": [
       "Linescan in process: 1axis_groundscan_2021-01-13_1100Silvanas__Row1_Module1_Front\n",
       "Saved: results\\irr_1axis_groundscan_2021-01-13_1100Silvanas__Row1_Module1.csv\n",
-      "Index: 2021-01-13_1100. Wm2Ground: 204.88986. sensorsground: 10\n",
+      "Index: 2021-01-13_1100. Wm2Ground: 204.79288999999997. sensorsground: 10\n",
       "Linescan in process: 1axis_groundscan_2021-01-13_1200Silvanas__Row1_Module1_Front\n",
       "Saved: results\\irr_1axis_groundscan_2021-01-13_1200Silvanas__Row1_Module1.csv\n",
-      "Index: 2021-01-13_1200. Wm2Ground: 237.75890999999996. sensorsground: 10\n"
+      "Index: 2021-01-13_1200. Wm2Ground: 237.48879000000002. sensorsground: 10\n"
      ]
     }
    ],
@@ -388,7 +392,7 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 15,
+   "execution_count": 14,
    "id": "2942a802",
    "metadata": {},
    "outputs": [
@@ -418,17 +422,17 @@
        "      <th>modNum</th>\n",
        "      <th>rowNum</th>\n",
        "      <th>sceneNum</th>\n",
+       "      <th>Wm2Front</th>\n",
+       "      <th>Wm2Back</th>\n",
+       "      <th>backRatio</th>\n",
        "      <th>x</th>\n",
        "      <th>y</th>\n",
        "      <th>z</th>\n",
-       "      <th>rearZ</th>\n",
        "      <th>mattype</th>\n",
-       "      <th>rearMat</th>\n",
-       "      <th>Wm2Front</th>\n",
-       "      <th>Wm2Back</th>\n",
-       "      <th>backRatio</th>\n",
        "      <th>rearX</th>\n",
        "      <th>rearY</th>\n",
+       "      <th>rearZ</th>\n",
+       "      <th>rearMat</th>\n",
        "      <th>surf_azm</th>\n",
        "      <th>surf_tilt</th>\n",
        "      <th>theta</th>\n",
@@ -442,17 +446,17 @@
        "      <td>3</td>\n",
        "      <td>1</td>\n",
        "      <td>0</td>\n",
-       "      <td>[0.3734448, 0.01462469, -0.3441954]</td>\n",
-       "      <td>[2.28669e-17, 8.955042e-19, -2.107589e-17]</td>\n",
-       "      <td>[1.166863, 1.51507, 1.863277]</td>\n",
-       "      <td>[1.151075, 1.499282, 1.847489]</td>\n",
-       "      <td>[a2.0.a0.test-module.6457, a2.0.a0.test-module...</td>\n",
+       "      <td>[254.26609999999997]</td>\n",
+       "      <td>[39.59574, 39.60611, 40.72772]</td>\n",
+       "      <td>0.157223</td>\n",
+       "      <td>[0.01462555]</td>\n",
+       "      <td>[0.0]</td>\n",
+       "      <td>[1.514648]</td>\n",
+       "      <td>[a2.0.a0.test-module.6457]</td>\n",
+       "      <td>[0.3581543, -0.0007324219, -0.3596191]</td>\n",
+       "      <td>[0.0, 0.0, 0.0]</td>\n",
+       "      <td>[1.151367, 1.499512, 1.847656]</td>\n",
        "      <td>[a2.0.a0.test-module.2310, a2.0.a0.test-module...</td>\n",
-       "      <td>[253.9854, 254.9895, 254.1586]</td>\n",
-       "      <td>[39.46907, 39.66438, 41.00605]</td>\n",
-       "      <td>[0.1553983599121843, 0.15555238332408464, 0.16...</td>\n",
-       "      <td>[0.3581237, -0.000696414, -0.3595166]</td>\n",
-       "      <td>[2.192875e-17, -4.264306e-20, -2.201404e-17]</td>\n",
        "      <td>90.0</td>\n",
        "      <td>44.14</td>\n",
        "      <td>-44.14</td>\n",
@@ -464,17 +468,17 @@
        "      <td>1</td>\n",
        "      <td>1</td>\n",
        "      <td>1</td>\n",
-       "      <td>[-14.62656, -14.98538, -15.3442]</td>\n",
-       "      <td>[2.28669e-17, 8.955042e-19, -2.107589e-17]</td>\n",
-       "      <td>[2.166863, 2.51507, 2.863277]</td>\n",
-       "      <td>[2.151075, 2.499282, 2.847489]</td>\n",
+       "      <td>[253.0651, 253.8192, 253.7649]</td>\n",
+       "      <td>[0.0, 0.0]</td>\n",
+       "      <td>0.0</td>\n",
+       "      <td>[-14.625, -14.98389, -15.34277]</td>\n",
+       "      <td>[0.0, 0.0, 0.0]</td>\n",
+       "      <td>[2.166016, 2.51416, 2.862305]</td>\n",
        "      <td>[a0.0.a0.test.6457, a0.0.a0.test.6457, a0.0.a0...</td>\n",
-       "      <td>[a0.0.a0.test.2310, a0.0.a0.test.2310, a0.0.a0...</td>\n",
-       "      <td>[253.0249, 253.8044, 253.7155]</td>\n",
-       "      <td>[52.58993, 53.09413, 53.07791]</td>\n",
-       "      <td>[0.20784405865170325, 0.20919227880888272, 0.2...</td>\n",
-       "      <td>[-14.64188, -15.0007, -15.35952]</td>\n",
-       "      <td>[2.192875e-17, -4.264306e-20, -2.201404e-17]</td>\n",
+       "      <td>[-14.75781, -15.23633]</td>\n",
+       "      <td>[0.0, 0.0]</td>\n",
+       "      <td>[2.267578, 2.731934]</td>\n",
+       "      <td>[a0.0.a0.test.6457, a0.0.a0.test.6457]</td>\n",
        "      <td>90.0</td>\n",
        "      <td>44.14</td>\n",
        "      <td>-44.14</td>\n",
@@ -486,13 +490,13 @@
        "      <td>1</td>\n",
        "      <td>1</td>\n",
        "      <td>1</td>\n",
-       "      <td>[-15.0, -14.44444, -13.88889, -13.33333, -12.7...</td>\n",
-       "      <td>[0.0, 3.401797e-17, 6.803593e-17, 1.020539e-16...</td>\n",
-       "      <td>[0.05, 0.05, 0.05, 0.05, 0.05, 0.05, 0.05, 0.0...</td>\n",
+       "      <td>[199.1224, 201.452, 204.5499, 206.0879, 207.14...</td>\n",
        "      <td>NaN</td>\n",
-       "      <td>[groundplane, groundplane, groundplane, ground...</td>\n",
        "      <td>NaN</td>\n",
-       "      <td>[199.43860000000004, 201.74889999999996, 204.7...</td>\n",
+       "      <td>[-15.0, -14.44434, -13.88867, -13.33301, -12.7...</td>\n",
+       "      <td>[0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, ...</td>\n",
+       "      <td>[0.04998779, 0.04998779, 0.04998779, 0.0499877...</td>\n",
+       "      <td>[groundplane, groundplane, groundplane, ground...</td>\n",
        "      <td>NaN</td>\n",
        "      <td>NaN</td>\n",
        "      <td>NaN</td>\n",
@@ -508,17 +512,17 @@
        "      <td>3</td>\n",
        "      <td>1</td>\n",
        "      <td>0</td>\n",
-       "      <td>[0.473756, 0.007594116, -0.4585678]</td>\n",
-       "      <td>[2.900919e-17, 4.650055e-19, -2.807918e-17]</td>\n",
-       "      <td>[1.338767, 1.519579, 1.700391]</td>\n",
-       "      <td>[1.318255, 1.499068, 1.67988]</td>\n",
-       "      <td>[a2.0.a0.test-module.6457, a2.0.a0.test-module...</td>\n",
+       "      <td>[253.4217]</td>\n",
+       "      <td>[37.89736, 37.81097, 38.92072]</td>\n",
+       "      <td>0.150775</td>\n",
+       "      <td>[0.007595062]</td>\n",
+       "      <td>[0.0]</td>\n",
+       "      <td>[1.519531]</td>\n",
+       "      <td>[a2.0.a0.test-module.6457]</td>\n",
+       "      <td>[0.4658203, -0.0002441406, -0.4663086]</td>\n",
+       "      <td>[0.0, 0.0, 0.0]</td>\n",
+       "      <td>[1.318359, 1.499146, 1.679932]</td>\n",
        "      <td>[a2.0.a0.test-module.2310, a2.0.a0.test-module...</td>\n",
-       "      <td>[253.5078, 253.6133, 253.7188]</td>\n",
-       "      <td>[37.62749, 37.65656, 38.62414]</td>\n",
-       "      <td>[0.14842676072783273, 0.14847964014647438, 0.1...</td>\n",
-       "      <td>[0.4658003, -0.0003616246, -0.4665235]</td>\n",
-       "      <td>[2.852204e-17, -2.214312e-20, -2.856633e-17]</td>\n",
        "      <td>90.0</td>\n",
        "      <td>21.20</td>\n",
        "      <td>-21.20</td>\n",
@@ -530,17 +534,17 @@
        "      <td>1</td>\n",
        "      <td>1</td>\n",
        "      <td>1</td>\n",
-       "      <td>[-14.52624, -14.99241, -15.45857]</td>\n",
-       "      <td>[2.900919e-17, 4.650055e-19, -2.807918e-17]</td>\n",
-       "      <td>[2.338767, 2.519579, 2.700391]</td>\n",
-       "      <td>[2.318255, 2.499068, 2.67988]</td>\n",
+       "      <td>[252.4514, 252.5719, 252.6928]</td>\n",
+       "      <td>[0.0, 0.0]</td>\n",
+       "      <td>0.0</td>\n",
+       "      <td>[-14.52344, -14.9895, -15.45557]</td>\n",
+       "      <td>[0.0, 0.0, 0.0]</td>\n",
+       "      <td>[2.337891, 2.518677, 2.699463]</td>\n",
        "      <td>[a0.0.a0.test.6457, a0.0.a0.test.6457, a0.0.a0...</td>\n",
-       "      <td>[a0.0.a0.test.2310, a0.0.a0.test.2310, a0.0.a0...</td>\n",
-       "      <td>[252.92009999999996, 252.98069999999998, 253.0...</td>\n",
-       "      <td>[50.52337, 50.86739, 50.98965999999999]</td>\n",
-       "      <td>[0.19975941113651652, 0.20107142137158537, 0.2...</td>\n",
-       "      <td>[-14.5342, -15.00036, -15.46652]</td>\n",
-       "      <td>[2.852204e-17, -2.214312e-20, -2.856633e-17]</td>\n",
+       "      <td>[-14.6875, -15.30908]</td>\n",
+       "      <td>[0.0, 0.0]</td>\n",
+       "      <td>[2.378906, 2.619995]</td>\n",
+       "      <td>[a0.0.a0.test.6457, a0.0.a0.test.6457]</td>\n",
        "      <td>90.0</td>\n",
        "      <td>21.20</td>\n",
        "      <td>-21.20</td>\n",
@@ -552,13 +556,13 @@
        "      <td>1</td>\n",
        "      <td>1</td>\n",
        "      <td>1</td>\n",
-       "      <td>[-15.0, -14.44444, -13.88889, -13.33333, -12.7...</td>\n",
-       "      <td>[0.0, 3.401797e-17, 6.803593e-17, 1.020539e-16...</td>\n",
-       "      <td>[0.05, 0.05, 0.05, 0.05, 0.05, 0.05, 0.05, 0.0...</td>\n",
+       "      <td>[227.9177, 230.1437, 233.8727, 236.2223, 238.9...</td>\n",
        "      <td>NaN</td>\n",
-       "      <td>[groundplane, groundplane, groundplane, ground...</td>\n",
        "      <td>NaN</td>\n",
-       "      <td>[227.8342, 230.13659999999996, 233.87209999999...</td>\n",
+       "      <td>[-15.0, -14.44434, -13.88867, -13.33301, -12.7...</td>\n",
+       "      <td>[0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, ...</td>\n",
+       "      <td>[0.04998779, 0.04998779, 0.04998779, 0.0499877...</td>\n",
+       "      <td>[groundplane, groundplane, groundplane, ground...</td>\n",
        "      <td>NaN</td>\n",
        "      <td>NaN</td>\n",
        "      <td>NaN</td>\n",
@@ -580,96 +584,88 @@
        "4  2021-01-13_1200               1axis_2021-01-13_1200_Scene1      1      1   \n",
        "5  2021-01-13_1200  1axis_groundscan_2021-01-13_1200Silvanas_      1      1   \n",
        "\n",
-       "  sceneNum                                                  x  \\\n",
-       "0        0                [0.3734448, 0.01462469, -0.3441954]   \n",
-       "1        1                   [-14.62656, -14.98538, -15.3442]   \n",
-       "2        1  [-15.0, -14.44444, -13.88889, -13.33333, -12.7...   \n",
-       "3        0                [0.473756, 0.007594116, -0.4585678]   \n",
-       "4        1                  [-14.52624, -14.99241, -15.45857]   \n",
-       "5        1  [-15.0, -14.44444, -13.88889, -13.33333, -12.7...   \n",
+       "  sceneNum                                           Wm2Front  \\\n",
+       "0        0                               [254.26609999999997]   \n",
+       "1        1                     [253.0651, 253.8192, 253.7649]   \n",
+       "2        1  [199.1224, 201.452, 204.5499, 206.0879, 207.14...   \n",
+       "3        0                                         [253.4217]   \n",
+       "4        1                     [252.4514, 252.5719, 252.6928]   \n",
+       "5        1  [227.9177, 230.1437, 233.8727, 236.2223, 238.9...   \n",
+       "\n",
+       "                          Wm2Back backRatio  \\\n",
+       "0  [39.59574, 39.60611, 40.72772]  0.157223   \n",
+       "1                      [0.0, 0.0]       0.0   \n",
+       "2                             NaN       NaN   \n",
+       "3  [37.89736, 37.81097, 38.92072]  0.150775   \n",
+       "4                      [0.0, 0.0]       0.0   \n",
+       "5                             NaN       NaN   \n",
+       "\n",
+       "                                                   x  \\\n",
+       "0                                       [0.01462555]   \n",
+       "1                    [-14.625, -14.98389, -15.34277]   \n",
+       "2  [-15.0, -14.44434, -13.88867, -13.33301, -12.7...   \n",
+       "3                                      [0.007595062]   \n",
+       "4                   [-14.52344, -14.9895, -15.45557]   \n",
+       "5  [-15.0, -14.44434, -13.88867, -13.33301, -12.7...   \n",
        "\n",
        "                                                   y  \\\n",
-       "0         [2.28669e-17, 8.955042e-19, -2.107589e-17]   \n",
-       "1         [2.28669e-17, 8.955042e-19, -2.107589e-17]   \n",
-       "2  [0.0, 3.401797e-17, 6.803593e-17, 1.020539e-16...   \n",
-       "3        [2.900919e-17, 4.650055e-19, -2.807918e-17]   \n",
-       "4        [2.900919e-17, 4.650055e-19, -2.807918e-17]   \n",
-       "5  [0.0, 3.401797e-17, 6.803593e-17, 1.020539e-16...   \n",
+       "0                                              [0.0]   \n",
+       "1                                    [0.0, 0.0, 0.0]   \n",
+       "2  [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, ...   \n",
+       "3                                              [0.0]   \n",
+       "4                                    [0.0, 0.0, 0.0]   \n",
+       "5  [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, ...   \n",
        "\n",
        "                                                   z  \\\n",
-       "0                      [1.166863, 1.51507, 1.863277]   \n",
-       "1                      [2.166863, 2.51507, 2.863277]   \n",
-       "2  [0.05, 0.05, 0.05, 0.05, 0.05, 0.05, 0.05, 0.0...   \n",
-       "3                     [1.338767, 1.519579, 1.700391]   \n",
-       "4                     [2.338767, 2.519579, 2.700391]   \n",
-       "5  [0.05, 0.05, 0.05, 0.05, 0.05, 0.05, 0.05, 0.0...   \n",
-       "\n",
-       "                            rearZ  \\\n",
-       "0  [1.151075, 1.499282, 1.847489]   \n",
-       "1  [2.151075, 2.499282, 2.847489]   \n",
-       "2                             NaN   \n",
-       "3   [1.318255, 1.499068, 1.67988]   \n",
-       "4   [2.318255, 2.499068, 2.67988]   \n",
-       "5                             NaN   \n",
+       "0                                         [1.514648]   \n",
+       "1                      [2.166016, 2.51416, 2.862305]   \n",
+       "2  [0.04998779, 0.04998779, 0.04998779, 0.0499877...   \n",
+       "3                                         [1.519531]   \n",
+       "4                     [2.337891, 2.518677, 2.699463]   \n",
+       "5  [0.04998779, 0.04998779, 0.04998779, 0.0499877...   \n",
        "\n",
        "                                             mattype  \\\n",
-       "0  [a2.0.a0.test-module.6457, a2.0.a0.test-module...   \n",
+       "0                         [a2.0.a0.test-module.6457]   \n",
        "1  [a0.0.a0.test.6457, a0.0.a0.test.6457, a0.0.a0...   \n",
        "2  [groundplane, groundplane, groundplane, ground...   \n",
-       "3  [a2.0.a0.test-module.6457, a2.0.a0.test-module...   \n",
+       "3                         [a2.0.a0.test-module.6457]   \n",
        "4  [a0.0.a0.test.6457, a0.0.a0.test.6457, a0.0.a0...   \n",
        "5  [groundplane, groundplane, groundplane, ground...   \n",
        "\n",
-       "                                             rearMat  \\\n",
-       "0  [a2.0.a0.test-module.2310, a2.0.a0.test-module...   \n",
-       "1  [a0.0.a0.test.2310, a0.0.a0.test.2310, a0.0.a0...   \n",
-       "2                                                NaN   \n",
-       "3  [a2.0.a0.test-module.2310, a2.0.a0.test-module...   \n",
-       "4  [a0.0.a0.test.2310, a0.0.a0.test.2310, a0.0.a0...   \n",
-       "5                                                NaN   \n",
+       "                                    rearX            rearY  \\\n",
+       "0  [0.3581543, -0.0007324219, -0.3596191]  [0.0, 0.0, 0.0]   \n",
+       "1                  [-14.75781, -15.23633]       [0.0, 0.0]   \n",
+       "2                                     NaN              NaN   \n",
+       "3  [0.4658203, -0.0002441406, -0.4663086]  [0.0, 0.0, 0.0]   \n",
+       "4                   [-14.6875, -15.30908]       [0.0, 0.0]   \n",
+       "5                                     NaN              NaN   \n",
        "\n",
-       "                                            Wm2Front  \\\n",
-       "0                     [253.9854, 254.9895, 254.1586]   \n",
-       "1                     [253.0249, 253.8044, 253.7155]   \n",
-       "2  [199.43860000000004, 201.74889999999996, 204.7...   \n",
-       "3                     [253.5078, 253.6133, 253.7188]   \n",
-       "4  [252.92009999999996, 252.98069999999998, 253.0...   \n",
-       "5  [227.8342, 230.13659999999996, 233.87209999999...   \n",
-       "\n",
-       "                                   Wm2Back  \\\n",
-       "0           [39.46907, 39.66438, 41.00605]   \n",
-       "1           [52.58993, 53.09413, 53.07791]   \n",
-       "2                                      NaN   \n",
-       "3           [37.62749, 37.65656, 38.62414]   \n",
-       "4  [50.52337, 50.86739, 50.98965999999999]   \n",
-       "5                                      NaN   \n",
-       "\n",
-       "                                           backRatio  \\\n",
-       "0  [0.1553983599121843, 0.15555238332408464, 0.16...   \n",
-       "1  [0.20784405865170325, 0.20919227880888272, 0.2...   \n",
-       "2                                                NaN   \n",
-       "3  [0.14842676072783273, 0.14847964014647438, 0.1...   \n",
-       "4  [0.19975941113651652, 0.20107142137158537, 0.2...   \n",
-       "5                                                NaN   \n",
+       "                            rearZ  \\\n",
+       "0  [1.151367, 1.499512, 1.847656]   \n",
+       "1            [2.267578, 2.731934]   \n",
+       "2                             NaN   \n",
+       "3  [1.318359, 1.499146, 1.679932]   \n",
+       "4            [2.378906, 2.619995]   \n",
+       "5                             NaN   \n",
        "\n",
-       "                                    rearX  \\\n",
-       "0   [0.3581237, -0.000696414, -0.3595166]   \n",
-       "1        [-14.64188, -15.0007, -15.35952]   \n",
-       "2                                     NaN   \n",
-       "3  [0.4658003, -0.0003616246, -0.4665235]   \n",
-       "4        [-14.5342, -15.00036, -15.46652]   \n",
-       "5                                     NaN   \n",
+       "                                             rearMat  surf_azm  surf_tilt  \\\n",
+       "0  [a2.0.a0.test-module.2310, a2.0.a0.test-module...      90.0      44.14   \n",
+       "1             [a0.0.a0.test.6457, a0.0.a0.test.6457]      90.0      44.14   \n",
+       "2                                                NaN      90.0      44.14   \n",
+       "3  [a2.0.a0.test-module.2310, a2.0.a0.test-module...      90.0      21.20   \n",
+       "4             [a0.0.a0.test.6457, a0.0.a0.test.6457]      90.0      21.20   \n",
+       "5                                                NaN      90.0      21.20   \n",
        "\n",
-       "                                          rearY  surf_azm  surf_tilt  theta  \n",
-       "0  [2.192875e-17, -4.264306e-20, -2.201404e-17]      90.0      44.14 -44.14  \n",
-       "1  [2.192875e-17, -4.264306e-20, -2.201404e-17]      90.0      44.14 -44.14  \n",
-       "2                                           NaN      90.0      44.14 -44.14  \n",
-       "3  [2.852204e-17, -2.214312e-20, -2.856633e-17]      90.0      21.20 -21.20  \n",
-       "4  [2.852204e-17, -2.214312e-20, -2.856633e-17]      90.0      21.20 -21.20  \n",
-       "5                                           NaN      90.0      21.20 -21.20  "
+       "   theta  \n",
+       "0 -44.14  \n",
+       "1 -44.14  \n",
+       "2 -44.14  \n",
+       "3 -21.20  \n",
+       "4 -21.20  \n",
+       "5 -21.20  "
       ]
      },
-     "execution_count": 15,
+     "execution_count": 14,
      "metadata": {},
      "output_type": "execute_result"
     }
@@ -689,7 +685,7 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 16,
+   "execution_count": 15,
    "id": "7bbf6db6",
    "metadata": {},
    "outputs": [
@@ -729,17 +725,17 @@
        "      <th>modNum</th>\n",
        "      <th>rowNum</th>\n",
        "      <th>sceneNum</th>\n",
+       "      <th>Wm2Front</th>\n",
+       "      <th>Wm2Back</th>\n",
+       "      <th>backRatio</th>\n",
        "      <th>x</th>\n",
        "      <th>y</th>\n",
        "      <th>z</th>\n",
-       "      <th>rearZ</th>\n",
        "      <th>mattype</th>\n",
-       "      <th>rearMat</th>\n",
-       "      <th>Wm2Front</th>\n",
-       "      <th>Wm2Back</th>\n",
-       "      <th>backRatio</th>\n",
        "      <th>rearX</th>\n",
        "      <th>rearY</th>\n",
+       "      <th>rearZ</th>\n",
+       "      <th>rearMat</th>\n",
        "      <th>POA_eff</th>\n",
        "      <th>Gfront_mean</th>\n",
        "      <th>Grear_mean</th>\n",
@@ -764,26 +760,26 @@
        "      <td>3</td>\n",
        "      <td>1</td>\n",
        "      <td>0</td>\n",
-       "      <td>[0.3734448, 0.01462469, -0.3441954]</td>\n",
-       "      <td>[2.28669e-17, 8.955042e-19, -2.107589e-17]</td>\n",
-       "      <td>[1.166863, 1.51507, 1.863277]</td>\n",
-       "      <td>[1.151075, 1.499282, 1.847489]</td>\n",
-       "      <td>[a2.0.a0.test-module.6457, a2.0.a0.test-module...</td>\n",
+       "      <td>[254.26609999999997]</td>\n",
+       "      <td>[39.59574, 39.60611, 40.72772]</td>\n",
+       "      <td>0.157223</td>\n",
+       "      <td>[0.01462555]</td>\n",
+       "      <td>[0.0]</td>\n",
+       "      <td>[1.514648]</td>\n",
+       "      <td>[a2.0.a0.test-module.6457]</td>\n",
+       "      <td>[0.3581543, -0.0007324219, -0.3596191]</td>\n",
+       "      <td>[0.0, 0.0, 0.0]</td>\n",
+       "      <td>[1.151367, 1.499512, 1.847656]</td>\n",
        "      <td>[a2.0.a0.test-module.2310, a2.0.a0.test-module...</td>\n",
-       "      <td>[253.9854, 254.9895, 254.1586]</td>\n",
-       "      <td>[39.46907, 39.66438, 41.00605]</td>\n",
-       "      <td>[0.1553983599121843, 0.15555238332408464, 0.16...</td>\n",
-       "      <td>[0.3581237, -0.000696414, -0.3595166]</td>\n",
-       "      <td>[2.192875e-17, -4.264306e-20, -2.201404e-17]</td>\n",
-       "      <td>290.419683</td>\n",
-       "      <td>254.377833</td>\n",
-       "      <td>40.046500</td>\n",
-       "      <td>91.831552</td>\n",
-       "      <td>80.346050</td>\n",
-       "      <td>14.168628</td>\n",
-       "      <td>14.295042</td>\n",
-       "      <td>0.031494</td>\n",
-       "      <td>91.802630</td>\n",
+       "      <td>290.244971</td>\n",
+       "      <td>254.266100</td>\n",
+       "      <td>39.976523</td>\n",
+       "      <td>91.775968</td>\n",
+       "      <td>80.310389</td>\n",
+       "      <td>14.150086</td>\n",
+       "      <td>14.276583</td>\n",
+       "      <td>0.022931</td>\n",
+       "      <td>91.754923</td>\n",
        "      <td>3.8</td>\n",
        "      <td>144</td>\n",
        "      <td>149</td>\n",
@@ -797,26 +793,26 @@
        "      <td>1</td>\n",
        "      <td>1</td>\n",
        "      <td>1</td>\n",
-       "      <td>[-14.62656, -14.98538, -15.3442]</td>\n",
-       "      <td>[2.28669e-17, 8.955042e-19, -2.107589e-17]</td>\n",
-       "      <td>[2.166863, 2.51507, 2.863277]</td>\n",
-       "      <td>[2.151075, 2.499282, 2.847489]</td>\n",
+       "      <td>[253.0651, 253.8192, 253.7649]</td>\n",
+       "      <td>[0.0, 0.0]</td>\n",
+       "      <td>0.0</td>\n",
+       "      <td>[-14.625, -14.98389, -15.34277]</td>\n",
+       "      <td>[0.0, 0.0, 0.0]</td>\n",
+       "      <td>[2.166016, 2.51416, 2.862305]</td>\n",
        "      <td>[a0.0.a0.test.6457, a0.0.a0.test.6457, a0.0.a0...</td>\n",
-       "      <td>[a0.0.a0.test.2310, a0.0.a0.test.2310, a0.0.a0...</td>\n",
-       "      <td>[253.0249, 253.8044, 253.7155]</td>\n",
-       "      <td>[52.58993, 53.09413, 53.07791]</td>\n",
-       "      <td>[0.20784405865170325, 0.20919227880888272, 0.2...</td>\n",
-       "      <td>[-14.64188, -15.0007, -15.35952]</td>\n",
-       "      <td>[2.192875e-17, -4.264306e-20, -2.201404e-17]</td>\n",
-       "      <td>295.851459</td>\n",
-       "      <td>253.514933</td>\n",
-       "      <td>52.920657</td>\n",
-       "      <td>123.731803</td>\n",
-       "      <td>106.057563</td>\n",
-       "      <td>16.699815</td>\n",
-       "      <td>16.664762</td>\n",
-       "      <td>0.008722</td>\n",
-       "      <td>123.721012</td>\n",
+       "      <td>[-14.75781, -15.23633]</td>\n",
+       "      <td>[0.0, 0.0]</td>\n",
+       "      <td>[2.267578, 2.731934]</td>\n",
+       "      <td>[a0.0.a0.test.6457, a0.0.a0.test.6457]</td>\n",
+       "      <td>253.549733</td>\n",
+       "      <td>253.549733</td>\n",
+       "      <td>0.000000</td>\n",
+       "      <td>106.072139</td>\n",
+       "      <td>106.072139</td>\n",
+       "      <td>0.000000</td>\n",
+       "      <td>0.000000</td>\n",
+       "      <td>0.000000</td>\n",
+       "      <td>106.072139</td>\n",
        "      <td>3.8</td>\n",
        "      <td>144</td>\n",
        "      <td>149</td>\n",
@@ -830,26 +826,26 @@
        "      <td>1</td>\n",
        "      <td>1</td>\n",
        "      <td>1</td>\n",
-       "      <td>[-15.0, -14.44444, -13.88889, -13.33333, -12.7...</td>\n",
-       "      <td>[0.0, 3.401797e-17, 6.803593e-17, 1.020539e-16...</td>\n",
-       "      <td>[0.05, 0.05, 0.05, 0.05, 0.05, 0.05, 0.05, 0.0...</td>\n",
+       "      <td>[199.1224, 201.452, 204.5499, 206.0879, 207.14...</td>\n",
        "      <td>NaN</td>\n",
-       "      <td>[groundplane, groundplane, groundplane, ground...</td>\n",
        "      <td>NaN</td>\n",
-       "      <td>[199.43860000000004, 201.74889999999996, 204.7...</td>\n",
+       "      <td>[-15.0, -14.44434, -13.88867, -13.33301, -12.7...</td>\n",
+       "      <td>[0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, ...</td>\n",
+       "      <td>[0.04998779, 0.04998779, 0.04998779, 0.0499877...</td>\n",
+       "      <td>[groundplane, groundplane, groundplane, ground...</td>\n",
        "      <td>NaN</td>\n",
        "      <td>NaN</td>\n",
        "      <td>NaN</td>\n",
        "      <td>NaN</td>\n",
-       "      <td>204.889860</td>\n",
-       "      <td>204.889860</td>\n",
+       "      <td>204.792890</td>\n",
+       "      <td>204.792890</td>\n",
        "      <td>0.000000</td>\n",
-       "      <td>85.625380</td>\n",
-       "      <td>85.625380</td>\n",
+       "      <td>85.584512</td>\n",
+       "      <td>85.584512</td>\n",
        "      <td>0.000000</td>\n",
        "      <td>0.000000</td>\n",
        "      <td>0.000000</td>\n",
-       "      <td>85.625380</td>\n",
+       "      <td>85.584512</td>\n",
        "      <td>3.8</td>\n",
        "      <td>144</td>\n",
        "      <td>149</td>\n",
@@ -863,26 +859,26 @@
        "      <td>3</td>\n",
        "      <td>1</td>\n",
        "      <td>0</td>\n",
-       "      <td>[0.473756, 0.007594116, -0.4585678]</td>\n",
-       "      <td>[2.900919e-17, 4.650055e-19, -2.807918e-17]</td>\n",
-       "      <td>[1.338767, 1.519579, 1.700391]</td>\n",
-       "      <td>[1.318255, 1.499068, 1.67988]</td>\n",
-       "      <td>[a2.0.a0.test-module.6457, a2.0.a0.test-module...</td>\n",
+       "      <td>[253.4217]</td>\n",
+       "      <td>[37.89736, 37.81097, 38.92072]</td>\n",
+       "      <td>0.150775</td>\n",
+       "      <td>[0.007595062]</td>\n",
+       "      <td>[0.0]</td>\n",
+       "      <td>[1.519531]</td>\n",
+       "      <td>[a2.0.a0.test-module.6457]</td>\n",
+       "      <td>[0.4658203, -0.0002441406, -0.4663086]</td>\n",
+       "      <td>[0.0, 0.0, 0.0]</td>\n",
+       "      <td>[1.318359, 1.499146, 1.679932]</td>\n",
        "      <td>[a2.0.a0.test-module.2310, a2.0.a0.test-module...</td>\n",
-       "      <td>[253.5078, 253.6133, 253.7188]</td>\n",
-       "      <td>[37.62749, 37.65656, 38.62414]</td>\n",
-       "      <td>[0.14842676072783273, 0.14847964014647438, 0.1...</td>\n",
-       "      <td>[0.4658003, -0.0003616246, -0.4665235]</td>\n",
-       "      <td>[2.852204e-17, -2.214312e-20, -2.856633e-17]</td>\n",
-       "      <td>287.785757</td>\n",
-       "      <td>253.613300</td>\n",
-       "      <td>37.969397</td>\n",
-       "      <td>90.325515</td>\n",
-       "      <td>79.509085</td>\n",
-       "      <td>13.474237</td>\n",
-       "      <td>13.604017</td>\n",
-       "      <td>0.020285</td>\n",
-       "      <td>90.307193</td>\n",
+       "      <td>287.810415</td>\n",
+       "      <td>253.421700</td>\n",
+       "      <td>38.209683</td>\n",
+       "      <td>90.333308</td>\n",
+       "      <td>79.448352</td>\n",
+       "      <td>13.569759</td>\n",
+       "      <td>13.700669</td>\n",
+       "      <td>0.022662</td>\n",
+       "      <td>90.312836</td>\n",
        "      <td>3.9</td>\n",
        "      <td>97</td>\n",
        "      <td>200</td>\n",
@@ -896,26 +892,26 @@
        "      <td>1</td>\n",
        "      <td>1</td>\n",
        "      <td>1</td>\n",
-       "      <td>[-14.52624, -14.99241, -15.45857]</td>\n",
-       "      <td>[2.900919e-17, 4.650055e-19, -2.807918e-17]</td>\n",
-       "      <td>[2.338767, 2.519579, 2.700391]</td>\n",
-       "      <td>[2.318255, 2.499068, 2.67988]</td>\n",
+       "      <td>[252.4514, 252.5719, 252.6928]</td>\n",
+       "      <td>[0.0, 0.0]</td>\n",
+       "      <td>0.0</td>\n",
+       "      <td>[-14.52344, -14.9895, -15.45557]</td>\n",
+       "      <td>[0.0, 0.0, 0.0]</td>\n",
+       "      <td>[2.337891, 2.518677, 2.699463]</td>\n",
        "      <td>[a0.0.a0.test.6457, a0.0.a0.test.6457, a0.0.a0...</td>\n",
-       "      <td>[a0.0.a0.test.2310, a0.0.a0.test.2310, a0.0.a0...</td>\n",
-       "      <td>[252.92009999999996, 252.98069999999998, 253.0...</td>\n",
-       "      <td>[50.52337, 50.86739, 50.98965999999999]</td>\n",
-       "      <td>[0.19975941113651652, 0.20107142137158537, 0.2...</td>\n",
-       "      <td>[-14.5342, -15.00036, -15.46652]</td>\n",
-       "      <td>[2.852204e-17, -2.214312e-20, -2.856633e-17]</td>\n",
-       "      <td>293.615512</td>\n",
-       "      <td>252.980733</td>\n",
-       "      <td>50.793473</td>\n",
-       "      <td>121.980576</td>\n",
-       "      <td>105.120321</td>\n",
-       "      <td>16.062401</td>\n",
-       "      <td>16.039006</td>\n",
-       "      <td>0.008120</td>\n",
-       "      <td>121.970671</td>\n",
+       "      <td>[-14.6875, -15.30908]</td>\n",
+       "      <td>[0.0, 0.0]</td>\n",
+       "      <td>[2.378906, 2.619995]</td>\n",
+       "      <td>[a0.0.a0.test.6457, a0.0.a0.test.6457]</td>\n",
+       "      <td>252.572033</td>\n",
+       "      <td>252.572033</td>\n",
+       "      <td>0.000000</td>\n",
+       "      <td>104.950213</td>\n",
+       "      <td>104.950213</td>\n",
+       "      <td>0.000000</td>\n",
+       "      <td>0.000000</td>\n",
+       "      <td>0.000000</td>\n",
+       "      <td>104.950213</td>\n",
        "      <td>3.9</td>\n",
        "      <td>97</td>\n",
        "      <td>200</td>\n",
@@ -929,26 +925,26 @@
        "      <td>1</td>\n",
        "      <td>1</td>\n",
        "      <td>1</td>\n",
-       "      <td>[-15.0, -14.44444, -13.88889, -13.33333, -12.7...</td>\n",
-       "      <td>[0.0, 3.401797e-17, 6.803593e-17, 1.020539e-16...</td>\n",
-       "      <td>[0.05, 0.05, 0.05, 0.05, 0.05, 0.05, 0.05, 0.0...</td>\n",
+       "      <td>[227.9177, 230.1437, 233.8727, 236.2223, 238.9...</td>\n",
        "      <td>NaN</td>\n",
-       "      <td>[groundplane, groundplane, groundplane, ground...</td>\n",
        "      <td>NaN</td>\n",
-       "      <td>[227.8342, 230.13659999999996, 233.87209999999...</td>\n",
+       "      <td>[-15.0, -14.44434, -13.88867, -13.33301, -12.7...</td>\n",
+       "      <td>[0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, ...</td>\n",
+       "      <td>[0.04998779, 0.04998779, 0.04998779, 0.0499877...</td>\n",
+       "      <td>[groundplane, groundplane, groundplane, ground...</td>\n",
        "      <td>NaN</td>\n",
        "      <td>NaN</td>\n",
        "      <td>NaN</td>\n",
        "      <td>NaN</td>\n",
-       "      <td>237.758910</td>\n",
-       "      <td>237.758910</td>\n",
+       "      <td>237.488790</td>\n",
+       "      <td>237.488790</td>\n",
        "      <td>0.000000</td>\n",
-       "      <td>98.778151</td>\n",
-       "      <td>98.778151</td>\n",
+       "      <td>98.665486</td>\n",
+       "      <td>98.665486</td>\n",
        "      <td>0.000000</td>\n",
        "      <td>0.000000</td>\n",
        "      <td>0.000000</td>\n",
-       "      <td>98.778151</td>\n",
+       "      <td>98.665486</td>\n",
        "      <td>3.9</td>\n",
        "      <td>97</td>\n",
        "      <td>200</td>\n",
@@ -968,109 +964,93 @@
        "4  2021-01-13_1200               1axis_2021-01-13_1200_Scene1      1      1   \n",
        "5  2021-01-13_1200  1axis_groundscan_2021-01-13_1200Silvanas_      1      1   \n",
        "\n",
-       "  sceneNum                                                  x  \\\n",
-       "0        0                [0.3734448, 0.01462469, -0.3441954]   \n",
-       "1        1                   [-14.62656, -14.98538, -15.3442]   \n",
-       "2        1  [-15.0, -14.44444, -13.88889, -13.33333, -12.7...   \n",
-       "3        0                [0.473756, 0.007594116, -0.4585678]   \n",
-       "4        1                  [-14.52624, -14.99241, -15.45857]   \n",
-       "5        1  [-15.0, -14.44444, -13.88889, -13.33333, -12.7...   \n",
+       "  sceneNum                                           Wm2Front  \\\n",
+       "0        0                               [254.26609999999997]   \n",
+       "1        1                     [253.0651, 253.8192, 253.7649]   \n",
+       "2        1  [199.1224, 201.452, 204.5499, 206.0879, 207.14...   \n",
+       "3        0                                         [253.4217]   \n",
+       "4        1                     [252.4514, 252.5719, 252.6928]   \n",
+       "5        1  [227.9177, 230.1437, 233.8727, 236.2223, 238.9...   \n",
+       "\n",
+       "                          Wm2Back backRatio  \\\n",
+       "0  [39.59574, 39.60611, 40.72772]  0.157223   \n",
+       "1                      [0.0, 0.0]       0.0   \n",
+       "2                             NaN       NaN   \n",
+       "3  [37.89736, 37.81097, 38.92072]  0.150775   \n",
+       "4                      [0.0, 0.0]       0.0   \n",
+       "5                             NaN       NaN   \n",
+       "\n",
+       "                                                   x  \\\n",
+       "0                                       [0.01462555]   \n",
+       "1                    [-14.625, -14.98389, -15.34277]   \n",
+       "2  [-15.0, -14.44434, -13.88867, -13.33301, -12.7...   \n",
+       "3                                      [0.007595062]   \n",
+       "4                   [-14.52344, -14.9895, -15.45557]   \n",
+       "5  [-15.0, -14.44434, -13.88867, -13.33301, -12.7...   \n",
        "\n",
        "                                                   y  \\\n",
-       "0         [2.28669e-17, 8.955042e-19, -2.107589e-17]   \n",
-       "1         [2.28669e-17, 8.955042e-19, -2.107589e-17]   \n",
-       "2  [0.0, 3.401797e-17, 6.803593e-17, 1.020539e-16...   \n",
-       "3        [2.900919e-17, 4.650055e-19, -2.807918e-17]   \n",
-       "4        [2.900919e-17, 4.650055e-19, -2.807918e-17]   \n",
-       "5  [0.0, 3.401797e-17, 6.803593e-17, 1.020539e-16...   \n",
+       "0                                              [0.0]   \n",
+       "1                                    [0.0, 0.0, 0.0]   \n",
+       "2  [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, ...   \n",
+       "3                                              [0.0]   \n",
+       "4                                    [0.0, 0.0, 0.0]   \n",
+       "5  [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, ...   \n",
        "\n",
        "                                                   z  \\\n",
-       "0                      [1.166863, 1.51507, 1.863277]   \n",
-       "1                      [2.166863, 2.51507, 2.863277]   \n",
-       "2  [0.05, 0.05, 0.05, 0.05, 0.05, 0.05, 0.05, 0.0...   \n",
-       "3                     [1.338767, 1.519579, 1.700391]   \n",
-       "4                     [2.338767, 2.519579, 2.700391]   \n",
-       "5  [0.05, 0.05, 0.05, 0.05, 0.05, 0.05, 0.05, 0.0...   \n",
-       "\n",
-       "                            rearZ  \\\n",
-       "0  [1.151075, 1.499282, 1.847489]   \n",
-       "1  [2.151075, 2.499282, 2.847489]   \n",
-       "2                             NaN   \n",
-       "3   [1.318255, 1.499068, 1.67988]   \n",
-       "4   [2.318255, 2.499068, 2.67988]   \n",
-       "5                             NaN   \n",
+       "0                                         [1.514648]   \n",
+       "1                      [2.166016, 2.51416, 2.862305]   \n",
+       "2  [0.04998779, 0.04998779, 0.04998779, 0.0499877...   \n",
+       "3                                         [1.519531]   \n",
+       "4                     [2.337891, 2.518677, 2.699463]   \n",
+       "5  [0.04998779, 0.04998779, 0.04998779, 0.0499877...   \n",
        "\n",
        "                                             mattype  \\\n",
-       "0  [a2.0.a0.test-module.6457, a2.0.a0.test-module...   \n",
+       "0                         [a2.0.a0.test-module.6457]   \n",
        "1  [a0.0.a0.test.6457, a0.0.a0.test.6457, a0.0.a0...   \n",
        "2  [groundplane, groundplane, groundplane, ground...   \n",
-       "3  [a2.0.a0.test-module.6457, a2.0.a0.test-module...   \n",
+       "3                         [a2.0.a0.test-module.6457]   \n",
        "4  [a0.0.a0.test.6457, a0.0.a0.test.6457, a0.0.a0...   \n",
        "5  [groundplane, groundplane, groundplane, ground...   \n",
        "\n",
-       "                                             rearMat  \\\n",
-       "0  [a2.0.a0.test-module.2310, a2.0.a0.test-module...   \n",
-       "1  [a0.0.a0.test.2310, a0.0.a0.test.2310, a0.0.a0...   \n",
-       "2                                                NaN   \n",
-       "3  [a2.0.a0.test-module.2310, a2.0.a0.test-module...   \n",
-       "4  [a0.0.a0.test.2310, a0.0.a0.test.2310, a0.0.a0...   \n",
-       "5                                                NaN   \n",
-       "\n",
-       "                                            Wm2Front  \\\n",
-       "0                     [253.9854, 254.9895, 254.1586]   \n",
-       "1                     [253.0249, 253.8044, 253.7155]   \n",
-       "2  [199.43860000000004, 201.74889999999996, 204.7...   \n",
-       "3                     [253.5078, 253.6133, 253.7188]   \n",
-       "4  [252.92009999999996, 252.98069999999998, 253.0...   \n",
-       "5  [227.8342, 230.13659999999996, 233.87209999999...   \n",
-       "\n",
-       "                                   Wm2Back  \\\n",
-       "0           [39.46907, 39.66438, 41.00605]   \n",
-       "1           [52.58993, 53.09413, 53.07791]   \n",
-       "2                                      NaN   \n",
-       "3           [37.62749, 37.65656, 38.62414]   \n",
-       "4  [50.52337, 50.86739, 50.98965999999999]   \n",
-       "5                                      NaN   \n",
+       "                                    rearX            rearY  \\\n",
+       "0  [0.3581543, -0.0007324219, -0.3596191]  [0.0, 0.0, 0.0]   \n",
+       "1                  [-14.75781, -15.23633]       [0.0, 0.0]   \n",
+       "2                                     NaN              NaN   \n",
+       "3  [0.4658203, -0.0002441406, -0.4663086]  [0.0, 0.0, 0.0]   \n",
+       "4                   [-14.6875, -15.30908]       [0.0, 0.0]   \n",
+       "5                                     NaN              NaN   \n",
        "\n",
-       "                                           backRatio  \\\n",
-       "0  [0.1553983599121843, 0.15555238332408464, 0.16...   \n",
-       "1  [0.20784405865170325, 0.20919227880888272, 0.2...   \n",
-       "2                                                NaN   \n",
-       "3  [0.14842676072783273, 0.14847964014647438, 0.1...   \n",
-       "4  [0.19975941113651652, 0.20107142137158537, 0.2...   \n",
-       "5                                                NaN   \n",
-       "\n",
-       "                                    rearX  \\\n",
-       "0   [0.3581237, -0.000696414, -0.3595166]   \n",
-       "1        [-14.64188, -15.0007, -15.35952]   \n",
-       "2                                     NaN   \n",
-       "3  [0.4658003, -0.0003616246, -0.4665235]   \n",
-       "4        [-14.5342, -15.00036, -15.46652]   \n",
-       "5                                     NaN   \n",
+       "                            rearZ  \\\n",
+       "0  [1.151367, 1.499512, 1.847656]   \n",
+       "1            [2.267578, 2.731934]   \n",
+       "2                             NaN   \n",
+       "3  [1.318359, 1.499146, 1.679932]   \n",
+       "4            [2.378906, 2.619995]   \n",
+       "5                             NaN   \n",
        "\n",
-       "                                          rearY     POA_eff  Gfront_mean  \\\n",
-       "0  [2.192875e-17, -4.264306e-20, -2.201404e-17]  290.419683   254.377833   \n",
-       "1  [2.192875e-17, -4.264306e-20, -2.201404e-17]  295.851459   253.514933   \n",
-       "2                                           NaN  204.889860   204.889860   \n",
-       "3  [2.852204e-17, -2.214312e-20, -2.856633e-17]  287.785757   253.613300   \n",
-       "4  [2.852204e-17, -2.214312e-20, -2.856633e-17]  293.615512   252.980733   \n",
-       "5                                           NaN  237.758910   237.758910   \n",
+       "                                             rearMat     POA_eff  Gfront_mean  \\\n",
+       "0  [a2.0.a0.test-module.2310, a2.0.a0.test-module...  290.244971   254.266100   \n",
+       "1             [a0.0.a0.test.6457, a0.0.a0.test.6457]  253.549733   253.549733   \n",
+       "2                                                NaN  204.792890   204.792890   \n",
+       "3  [a2.0.a0.test-module.2310, a2.0.a0.test-module...  287.810415   253.421700   \n",
+       "4             [a0.0.a0.test.6457, a0.0.a0.test.6457]  252.572033   252.572033   \n",
+       "5                                                NaN  237.488790   237.488790   \n",
        "\n",
        "   Grear_mean    Pout_raw  Pout_Gfront        BGG        BGE  Mismatch  \\\n",
-       "0   40.046500   91.831552    80.346050  14.168628  14.295042  0.031494   \n",
-       "1   52.920657  123.731803   106.057563  16.699815  16.664762  0.008722   \n",
-       "2    0.000000   85.625380    85.625380   0.000000   0.000000  0.000000   \n",
-       "3   37.969397   90.325515    79.509085  13.474237  13.604017  0.020285   \n",
-       "4   50.793473  121.980576   105.120321  16.062401  16.039006  0.008120   \n",
-       "5    0.000000   98.778151    98.778151   0.000000   0.000000  0.000000   \n",
+       "0   39.976523   91.775968    80.310389  14.150086  14.276583  0.022931   \n",
+       "1    0.000000  106.072139   106.072139   0.000000   0.000000  0.000000   \n",
+       "2    0.000000   85.584512    85.584512   0.000000   0.000000  0.000000   \n",
+       "3   38.209683   90.333308    79.448352  13.569759  13.700669  0.022662   \n",
+       "4    0.000000  104.950213   104.950213   0.000000   0.000000  0.000000   \n",
+       "5    0.000000   98.665486    98.665486   0.000000   0.000000  0.000000   \n",
        "\n",
        "         Pout  Wind Speed  DNI  DHI  GHI  \\\n",
-       "0   91.802630         3.8  144  149  211   \n",
-       "1  123.721012         3.8  144  149  211   \n",
-       "2   85.625380         3.8  144  149  211   \n",
-       "3   90.307193         3.9   97  200  249   \n",
-       "4  121.970671         3.9   97  200  249   \n",
-       "5   98.778151         3.9   97  200  249   \n",
+       "0   91.754923         3.8  144  149  211   \n",
+       "1  106.072139         3.8  144  149  211   \n",
+       "2   85.584512         3.8  144  149  211   \n",
+       "3   90.312836         3.9   97  200  249   \n",
+       "4  104.950213         3.9   97  200  249   \n",
+       "5   98.665486         3.9   97  200  249   \n",
        "\n",
        "                           module_CEC_name  \n",
        "0                 SunPower SPR-E19-310-COM  \n",
@@ -1167,23 +1147,23 @@
        "      <td>3</td>\n",
        "      <td>0</td>\n",
        "      <td>1axis_2021-01-13_1100_Scene0</td>\n",
-       "      <td>[254.0681 254.9558 254.3216]</td>\n",
-       "      <td>[39.50778 39.82523 40.90701]</td>\n",
+       "      <td>[254.2661]</td>\n",
+       "      <td>[39.59574 39.60611 40.72772]</td>\n",
        "      <td>144</td>\n",
        "      <td>149</td>\n",
        "      <td>211</td>\n",
-       "      <td>4.6</td>\n",
+       "      <td>NaN</td>\n",
        "      <td>3.8</td>\n",
        "      <td>-44.14</td>\n",
        "      <td>44.14</td>\n",
        "      <td>90.0</td>\n",
-       "      <td>290.520506</td>\n",
-       "      <td>254.448500</td>\n",
-       "      <td>40.080007</td>\n",
-       "      <td>91.863627</td>\n",
-       "      <td>0.028544</td>\n",
-       "      <td>91.837406</td>\n",
-       "      <td>80.368605</td>\n",
+       "      <td>290.244971</td>\n",
+       "      <td>254.266100</td>\n",
+       "      <td>39.976523</td>\n",
+       "      <td>91.775968</td>\n",
+       "      <td>0.022931</td>\n",
+       "      <td>91.754923</td>\n",
+       "      <td>80.310389</td>\n",
        "    </tr>\n",
        "    <tr>\n",
        "      <th>1</th>\n",
@@ -1193,23 +1173,23 @@
        "      <td>1</td>\n",
        "      <td>1</td>\n",
        "      <td>1axis_2021-01-13_1100_Scene1</td>\n",
-       "      <td>[253.0643 253.8386 253.637 ]</td>\n",
-       "      <td>[52.60152 53.10697 52.92946]</td>\n",
+       "      <td>[253.0651 253.8192 253.7649]</td>\n",
+       "      <td>[0. 0.]</td>\n",
        "      <td>144</td>\n",
        "      <td>149</td>\n",
        "      <td>211</td>\n",
-       "      <td>4.6</td>\n",
+       "      <td>NaN</td>\n",
        "      <td>3.8</td>\n",
        "      <td>-44.14</td>\n",
        "      <td>44.14</td>\n",
        "      <td>90.0</td>\n",
-       "      <td>295.816753</td>\n",
-       "      <td>253.513300</td>\n",
-       "      <td>52.879317</td>\n",
-       "      <td>123.717364</td>\n",
-       "      <td>0.008745</td>\n",
-       "      <td>123.706545</td>\n",
-       "      <td>106.056879</td>\n",
+       "      <td>253.549733</td>\n",
+       "      <td>253.549733</td>\n",
+       "      <td>0.000000</td>\n",
+       "      <td>106.072139</td>\n",
+       "      <td>0.000000</td>\n",
+       "      <td>106.072139</td>\n",
+       "      <td>106.072139</td>\n",
        "    </tr>\n",
        "    <tr>\n",
        "      <th>2</th>\n",
@@ -1219,23 +1199,23 @@
        "      <td>1</td>\n",
        "      <td>1</td>\n",
        "      <td>1axis_groundscan_2021-01-13_1100Silvanas_</td>\n",
-       "      <td>[198.7301 201.027  204.6268 206.4026 207.4362 ...</td>\n",
+       "      <td>[199.1224 201.452  204.5499 206.0879 207.1438 ...</td>\n",
        "      <td>NaN</td>\n",
        "      <td>144</td>\n",
        "      <td>149</td>\n",
        "      <td>211</td>\n",
-       "      <td>4.6</td>\n",
+       "      <td>NaN</td>\n",
        "      <td>3.8</td>\n",
        "      <td>-44.14</td>\n",
        "      <td>44.14</td>\n",
        "      <td>90.0</td>\n",
-       "      <td>205.031480</td>\n",
-       "      <td>205.031480</td>\n",
+       "      <td>204.792890</td>\n",
+       "      <td>204.792890</td>\n",
        "      <td>0.000000</td>\n",
-       "      <td>85.685065</td>\n",
+       "      <td>85.584512</td>\n",
        "      <td>0.000000</td>\n",
-       "      <td>85.685065</td>\n",
-       "      <td>85.685065</td>\n",
+       "      <td>85.584512</td>\n",
+       "      <td>85.584512</td>\n",
        "    </tr>\n",
        "    <tr>\n",
        "      <th>3</th>\n",
@@ -1245,23 +1225,23 @@
        "      <td>3</td>\n",
        "      <td>0</td>\n",
        "      <td>1axis_2021-01-13_1200_Scene0</td>\n",
-       "      <td>[252.768  252.9163 253.3978]</td>\n",
-       "      <td>[37.82638 37.77132 38.61288]</td>\n",
+       "      <td>[253.4217]</td>\n",
+       "      <td>[37.89736 37.81097 38.92072]</td>\n",
        "      <td>97</td>\n",
        "      <td>200</td>\n",
        "      <td>249</td>\n",
-       "      <td>6.5</td>\n",
+       "      <td>NaN</td>\n",
        "      <td>3.9</td>\n",
        "      <td>-21.20</td>\n",
        "      <td>21.20</td>\n",
        "      <td>90.0</td>\n",
-       "      <td>287.290541</td>\n",
-       "      <td>253.027367</td>\n",
-       "      <td>38.070193</td>\n",
-       "      <td>90.169005</td>\n",
-       "      <td>0.017078</td>\n",
-       "      <td>90.153606</td>\n",
-       "      <td>79.323353</td>\n",
+       "      <td>287.810415</td>\n",
+       "      <td>253.421700</td>\n",
+       "      <td>38.209683</td>\n",
+       "      <td>90.333308</td>\n",
+       "      <td>0.022662</td>\n",
+       "      <td>90.312836</td>\n",
+       "      <td>79.448352</td>\n",
        "    </tr>\n",
        "    <tr>\n",
        "      <th>4</th>\n",
@@ -1271,23 +1251,23 @@
        "      <td>1</td>\n",
        "      <td>1</td>\n",
        "      <td>1axis_2021-01-13_1200_Scene1</td>\n",
-       "      <td>[252.9312 253.0649 253.1985]</td>\n",
-       "      <td>[50.65721 51.0674  50.72511]</td>\n",
+       "      <td>[252.4514 252.5719 252.6928]</td>\n",
+       "      <td>[0. 0.]</td>\n",
        "      <td>97</td>\n",
        "      <td>200</td>\n",
        "      <td>249</td>\n",
-       "      <td>6.5</td>\n",
+       "      <td>NaN</td>\n",
        "      <td>3.9</td>\n",
        "      <td>-21.20</td>\n",
        "      <td>21.20</td>\n",
        "      <td>90.0</td>\n",
-       "      <td>293.718125</td>\n",
-       "      <td>253.064867</td>\n",
-       "      <td>50.816573</td>\n",
-       "      <td>122.023014</td>\n",
-       "      <td>0.007130</td>\n",
-       "      <td>122.014314</td>\n",
-       "      <td>105.155337</td>\n",
+       "      <td>252.572033</td>\n",
+       "      <td>252.572033</td>\n",
+       "      <td>0.000000</td>\n",
+       "      <td>104.950213</td>\n",
+       "      <td>0.000000</td>\n",
+       "      <td>104.950213</td>\n",
+       "      <td>104.950213</td>\n",
        "    </tr>\n",
        "    <tr>\n",
        "      <th>5</th>\n",
@@ -1297,23 +1277,23 @@
        "      <td>1</td>\n",
        "      <td>1</td>\n",
        "      <td>1axis_groundscan_2021-01-13_1200Silvanas_</td>\n",
-       "      <td>[228.0597 229.9865 233.2411 237.3016 239.1257 ...</td>\n",
+       "      <td>[227.9177 230.1437 233.8727 236.2223 238.9651 ...</td>\n",
        "      <td>NaN</td>\n",
        "      <td>97</td>\n",
        "      <td>200</td>\n",
        "      <td>249</td>\n",
-       "      <td>6.5</td>\n",
+       "      <td>NaN</td>\n",
        "      <td>3.9</td>\n",
        "      <td>-21.20</td>\n",
        "      <td>21.20</td>\n",
        "      <td>90.0</td>\n",
-       "      <td>237.717610</td>\n",
-       "      <td>237.717610</td>\n",
+       "      <td>237.488790</td>\n",
+       "      <td>237.488790</td>\n",
        "      <td>0.000000</td>\n",
-       "      <td>98.760926</td>\n",
+       "      <td>98.665486</td>\n",
        "      <td>0.000000</td>\n",
-       "      <td>98.760926</td>\n",
-       "      <td>98.760926</td>\n",
+       "      <td>98.665486</td>\n",
+       "      <td>98.665486</td>\n",
        "    </tr>\n",
        "  </tbody>\n",
        "</table>\n",
@@ -1337,36 +1317,36 @@
        "5  1axis_groundscan_2021-01-13_1200Silvanas_   \n",
        "\n",
        "                                            Wm2Front  \\\n",
-       "0                       [254.0681 254.9558 254.3216]   \n",
-       "1                       [253.0643 253.8386 253.637 ]   \n",
-       "2  [198.7301 201.027  204.6268 206.4026 207.4362 ...   \n",
-       "3                       [252.768  252.9163 253.3978]   \n",
-       "4                       [252.9312 253.0649 253.1985]   \n",
-       "5  [228.0597 229.9865 233.2411 237.3016 239.1257 ...   \n",
+       "0                                         [254.2661]   \n",
+       "1                       [253.0651 253.8192 253.7649]   \n",
+       "2  [199.1224 201.452  204.5499 206.0879 207.1438 ...   \n",
+       "3                                         [253.4217]   \n",
+       "4                       [252.4514 252.5719 252.6928]   \n",
+       "5  [227.9177 230.1437 233.8727 236.2223 238.9651 ...   \n",
        "\n",
        "                        Wm2Back  DNI  DHI  GHI  temp_air  wind_speed  theta  \\\n",
-       "0  [39.50778 39.82523 40.90701]  144  149  211       4.6         3.8 -44.14   \n",
-       "1  [52.60152 53.10697 52.92946]  144  149  211       4.6         3.8 -44.14   \n",
-       "2                           NaN  144  149  211       4.6         3.8 -44.14   \n",
-       "3  [37.82638 37.77132 38.61288]   97  200  249       6.5         3.9 -21.20   \n",
-       "4  [50.65721 51.0674  50.72511]   97  200  249       6.5         3.9 -21.20   \n",
-       "5                           NaN   97  200  249       6.5         3.9 -21.20   \n",
+       "0  [39.59574 39.60611 40.72772]  144  149  211       NaN         3.8 -44.14   \n",
+       "1                       [0. 0.]  144  149  211       NaN         3.8 -44.14   \n",
+       "2                           NaN  144  149  211       NaN         3.8 -44.14   \n",
+       "3  [37.89736 37.81097 38.92072]   97  200  249       NaN         3.9 -21.20   \n",
+       "4                       [0. 0.]   97  200  249       NaN         3.9 -21.20   \n",
+       "5                           NaN   97  200  249       NaN         3.9 -21.20   \n",
        "\n",
        "   surf_tilt  surf_azm     POA_eff  Gfront_mean  Grear_mean    Pout_raw  \\\n",
-       "0      44.14      90.0  290.520506   254.448500   40.080007   91.863627   \n",
-       "1      44.14      90.0  295.816753   253.513300   52.879317  123.717364   \n",
-       "2      44.14      90.0  205.031480   205.031480    0.000000   85.685065   \n",
-       "3      21.20      90.0  287.290541   253.027367   38.070193   90.169005   \n",
-       "4      21.20      90.0  293.718125   253.064867   50.816573  122.023014   \n",
-       "5      21.20      90.0  237.717610   237.717610    0.000000   98.760926   \n",
+       "0      44.14      90.0  290.244971   254.266100   39.976523   91.775968   \n",
+       "1      44.14      90.0  253.549733   253.549733    0.000000  106.072139   \n",
+       "2      44.14      90.0  204.792890   204.792890    0.000000   85.584512   \n",
+       "3      21.20      90.0  287.810415   253.421700   38.209683   90.333308   \n",
+       "4      21.20      90.0  252.572033   252.572033    0.000000  104.950213   \n",
+       "5      21.20      90.0  237.488790   237.488790    0.000000   98.665486   \n",
        "\n",
        "   Mismatch        Pout  Pout_Gfront  \n",
-       "0  0.028544   91.837406    80.368605  \n",
-       "1  0.008745  123.706545   106.056879  \n",
-       "2  0.000000   85.685065    85.685065  \n",
-       "3  0.017078   90.153606    79.323353  \n",
-       "4  0.007130  122.014314   105.155337  \n",
-       "5  0.000000   98.760926    98.760926  "
+       "0  0.022931   91.754923    80.310389  \n",
+       "1  0.000000  106.072139   106.072139  \n",
+       "2  0.000000   85.584512    85.584512  \n",
+       "3  0.022662   90.312836    79.448352  \n",
+       "4  0.000000  104.950213   104.950213  \n",
+       "5  0.000000   98.665486    98.665486  "
       ]
      },
      "execution_count": 16,
@@ -1472,70 +1452,82 @@
       "Created 1axis_15.0.oct\n",
       "Linescan in process: 1axis_-15.0_Scene0_Row1_Module2_Front\n",
       "Linescan in process: 1axis_-15.0_Scene0_Row1_Module2_Back\n",
-      "Saved: results\\irr_1axis_-15.0_Scene0_Row1_Module2.csv\n",
-      "Index: -15.0. Wm2Front: 628026.5666666667. Wm2Back: 80798.11666666668\n",
+      "Saved: results\\irr_1axis_-15.0_Scene0_Row1_Module2_Front.csv\n",
+      "Saved: results\\irr_1axis_-15.0_Scene0_Row1_Module2_Back.csv\n",
+      "Index: -15.0. Wm2Front: 627314.8999999999. Wm2Back: 80826.80666666666\n",
       "Linescan in process: 1axis_-15.0_Scene0_Row1_Module4_Front\n",
       "Linescan in process: 1axis_-15.0_Scene0_Row1_Module4_Back\n",
-      "Saved: results\\irr_1axis_-15.0_Scene0_Row1_Module4.csv\n",
-      "Index: -15.0. Wm2Front: 633042.5666666668. Wm2Back: 74133.11666666665\n",
+      "Saved: results\\irr_1axis_-15.0_Scene0_Row1_Module4_Front.csv\n",
+      "Saved: results\\irr_1axis_-15.0_Scene0_Row1_Module4_Back.csv\n",
+      "Index: -15.0. Wm2Front: 633150.2. Wm2Back: 74338.82666666668\n",
       "Linescan in process: 1axis_-10.0_Scene0_Row1_Module2_Front\n",
       "Linescan in process: 1axis_-10.0_Scene0_Row1_Module2_Back\n",
-      "Saved: results\\irr_1axis_-10.0_Scene0_Row1_Module2.csv\n",
-      "Index: -10.0. Wm2Front: 146985.56666666665. Wm2Back: 19676.473333333335\n",
+      "Saved: results\\irr_1axis_-10.0_Scene0_Row1_Module2_Front.csv\n",
+      "Saved: results\\irr_1axis_-10.0_Scene0_Row1_Module2_Back.csv\n",
+      "Index: -10.0. Wm2Front: 146242.85. Wm2Back: 19780.77666666667\n",
       "Linescan in process: 1axis_-10.0_Scene0_Row1_Module4_Front\n",
       "Linescan in process: 1axis_-10.0_Scene0_Row1_Module4_Back\n",
-      "Saved: results\\irr_1axis_-10.0_Scene0_Row1_Module4.csv\n",
-      "Index: -10.0. Wm2Front: 146244.56666666668. Wm2Back: 17398.210000000003\n",
+      "Saved: results\\irr_1axis_-10.0_Scene0_Row1_Module4_Front.csv\n",
+      "Saved: results\\irr_1axis_-10.0_Scene0_Row1_Module4_Back.csv\n",
+      "Index: -10.0. Wm2Front: 148151.5. Wm2Back: 17382.633333333335\n",
       "Linescan in process: 1axis_0.0_Scene0_Row1_Module2_Front\n",
       "Linescan in process: 1axis_0.0_Scene0_Row1_Module2_Back\n",
-      "Saved: results\\irr_1axis_0.0_Scene0_Row1_Module2.csv\n",
-      "Index: 0.0. Wm2Front: 995.6834666666667. Wm2Back: 149.88930000000002\n",
+      "Saved: results\\irr_1axis_0.0_Scene0_Row1_Module2_Front.csv\n",
+      "Saved: results\\irr_1axis_0.0_Scene0_Row1_Module2_Back.csv\n",
+      "Index: 0.0. Wm2Front: 967.20935. Wm2Back: 151.3741\n",
       "Linescan in process: 1axis_0.0_Scene0_Row1_Module4_Front\n",
       "Linescan in process: 1axis_0.0_Scene0_Row1_Module4_Back\n",
-      "Saved: results\\irr_1axis_0.0_Scene0_Row1_Module4.csv\n",
-      "Index: 0.0. Wm2Front: 986.0803666666667. Wm2Back: 118.16593333333333\n",
+      "Saved: results\\irr_1axis_0.0_Scene0_Row1_Module4_Front.csv\n",
+      "Saved: results\\irr_1axis_0.0_Scene0_Row1_Module4_Back.csv\n",
+      "Index: 0.0. Wm2Front: 1004.4355. Wm2Back: 118.55160000000001\n",
       "Linescan in process: 1axis_5.0_Scene0_Row1_Module2_Front\n",
       "Linescan in process: 1axis_5.0_Scene0_Row1_Module2_Back\n",
-      "Saved: results\\irr_1axis_5.0_Scene0_Row1_Module2.csv\n",
-      "Index: 5.0. Wm2Front: 144496.80000000002. Wm2Back: 19746.946666666667\n",
+      "Saved: results\\irr_1axis_5.0_Scene0_Row1_Module2_Front.csv\n",
+      "Saved: results\\irr_1axis_5.0_Scene0_Row1_Module2_Back.csv\n",
+      "Index: 5.0. Wm2Front: 149129.2. Wm2Back: 19709.866666666665\n",
       "Linescan in process: 1axis_5.0_Scene0_Row1_Module4_Front\n",
       "Linescan in process: 1axis_5.0_Scene0_Row1_Module4_Back\n",
-      "Saved: results\\irr_1axis_5.0_Scene0_Row1_Module4.csv\n",
-      "Index: 5.0. Wm2Front: 147367.13333333333. Wm2Back: 17423.399999999998\n",
+      "Saved: results\\irr_1axis_5.0_Scene0_Row1_Module4_Front.csv\n",
+      "Saved: results\\irr_1axis_5.0_Scene0_Row1_Module4_Back.csv\n",
+      "Index: 5.0. Wm2Front: 149867.15000000002. Wm2Back: 17504.570000000003\n",
       "Linescan in process: 1axis_10.0_Scene0_Row1_Module2_Front\n",
       "Linescan in process: 1axis_10.0_Scene0_Row1_Module2_Back\n",
-      "Saved: results\\irr_1axis_10.0_Scene0_Row1_Module2.csv\n",
-      "Index: 10.0. Wm2Front: 17125.513333333332. Wm2Back: 2411.7313333333336\n",
+      "Saved: results\\irr_1axis_10.0_Scene0_Row1_Module2_Front.csv\n",
+      "Saved: results\\irr_1axis_10.0_Scene0_Row1_Module2_Back.csv\n",
+      "Index: 10.0. Wm2Front: 17213.73. Wm2Back: 2419.6253333333334\n",
       "Linescan in process: 1axis_10.0_Scene0_Row1_Module4_Front\n",
       "Linescan in process: 1axis_10.0_Scene0_Row1_Module4_Back\n",
-      "Saved: results\\irr_1axis_10.0_Scene0_Row1_Module4.csv\n",
-      "Index: 10.0. Wm2Front: 16972.87. Wm2Back: 2023.2613333333331\n",
+      "Saved: results\\irr_1axis_10.0_Scene0_Row1_Module4_Front.csv\n",
+      "Saved: results\\irr_1axis_10.0_Scene0_Row1_Module4_Back.csv\n",
+      "Index: 10.0. Wm2Front: 17476.864999999998. Wm2Back: 2028.0343333333333\n",
       "Linescan in process: 1axis_15.0_Scene0_Row1_Module2_Front\n",
       "Linescan in process: 1axis_15.0_Scene0_Row1_Module2_Back\n",
-      "Saved: results\\irr_1axis_15.0_Scene0_Row1_Module2.csv\n",
-      "Index: 15.0. Wm2Front: 717654.4333333332. Wm2Back: 85762.97000000002\n",
+      "Saved: results\\irr_1axis_15.0_Scene0_Row1_Module2_Front.csv\n",
+      "Saved: results\\irr_1axis_15.0_Scene0_Row1_Module2_Back.csv\n",
+      "Index: 15.0. Wm2Front: 714340.8500000001. Wm2Back: 86047.87\n",
       "Linescan in process: 1axis_15.0_Scene0_Row1_Module4_Front\n",
       "Linescan in process: 1axis_15.0_Scene0_Row1_Module4_Back\n",
-      "Saved: results\\irr_1axis_15.0_Scene0_Row1_Module4.csv\n",
-      "Index: 15.0. Wm2Front: 714059.2666666667. Wm2Back: 79361.25333333333\n",
+      "Saved: results\\irr_1axis_15.0_Scene0_Row1_Module4_Front.csv\n",
+      "Saved: results\\irr_1axis_15.0_Scene0_Row1_Module4_Back.csv\n",
+      "Index: 15.0. Wm2Front: 721632.25. Wm2Back: 79538.19666666667\n",
       "Linescan in process: 1axis_groundscan_-15.0_Row1_Module3_Front\n",
       "Saved: results\\irr_1axis_groundscan_-15.0_Row1_Module3.csv\n",
-      "Index: -15.0. Wm2Ground: 496813.0500000001. sensorsground: 10\n",
+      "Index: -15.0. Wm2Ground: 495183.01000000007. sensorsground: 10\n",
       "Linescan in process: 1axis_groundscan_-10.0_Row1_Module3_Front\n",
       "Saved: results\\irr_1axis_groundscan_-10.0_Row1_Module3.csv\n",
-      "Index: -10.0. Wm2Ground: 119790.24000000002. sensorsground: 10\n",
+      "Index: -10.0. Wm2Ground: 118693.192. sensorsground: 10\n",
       "Linescan in process: 1axis_groundscan_0.0_Row1_Module3_Front\n",
       "Saved: results\\irr_1axis_groundscan_0.0_Row1_Module3.csv\n",
-      "Index: 0.0. Wm2Ground: 769.3495599999999. sensorsground: 10\n",
+      "Index: 0.0. Wm2Ground: 722.9592299999999. sensorsground: 10\n",
       "Linescan in process: 1axis_groundscan_5.0_Row1_Module3_Front\n",
       "Saved: results\\irr_1axis_groundscan_5.0_Row1_Module3.csv\n",
-      "Index: 5.0. Wm2Ground: 108500.59699999998. sensorsground: 10\n",
+      "Index: 5.0. Wm2Ground: 110024.954. sensorsground: 10\n",
       "Linescan in process: 1axis_groundscan_10.0_Row1_Module3_Front\n",
       "Saved: results\\irr_1axis_groundscan_10.0_Row1_Module3.csv\n",
-      "Index: 10.0. Wm2Ground: 12322.834200000001. sensorsground: 10\n",
+      "Index: 10.0. Wm2Ground: 12419.3521. sensorsground: 10\n",
       "Linescan in process: 1axis_groundscan_15.0_Row1_Module3_Front\n",
       "Saved: results\\irr_1axis_groundscan_15.0_Row1_Module3.csv\n",
-      "Index: 15.0. Wm2Ground: 387507.75999999995. sensorsground: 10\n"
+      "Index: 15.0. Wm2Ground: 388078.31. sensorsground: 10\n"
      ]
     }
    ],
@@ -1545,7 +1537,7 @@
     "trackerdict = demo.genCumSky1axis()\n",
     "trackerdict = demo.makeScene1axis(trackerdict, module = mymodule, sceneDict = sceneDict)\n",
     "trackerdict = demo.makeOct1axis()\n",
-    "trackerdict = demo.analysis1axis(modWanted = [2,4], sensorsy=3)\n",
+    "trackerdict = demo.analysis1axis(modWanted = [2,4], sensorsy=[2,3])\n",
     "trackerdict = demo.analysis1axisground(sensorsground=10)"
    ]
   },
@@ -1602,12 +1594,12 @@
        "      <td>1</td>\n",
        "      <td>2</td>\n",
        "      <td>0</td>\n",
-       "      <td>11.338927</td>\n",
-       "      <td>1.655285e+06</td>\n",
-       "      <td>208546.127300</td>\n",
-       "      <td>[1845372.5030866666, 1840463.504476667, 184309...</td>\n",
-       "      <td>[1658556.0944, 1658093.2835, 1649204.3125, nan...</td>\n",
-       "      <td>[211208.8218, 205754.3789, 208675.18120000002]</td>\n",
+       "      <td>11.360663</td>\n",
+       "      <td>1.655209e+06</td>\n",
+       "      <td>208936.319433</td>\n",
+       "      <td>[1845370.4100300001, 1840857.22746, 1843526.64...</td>\n",
+       "      <td>[1658321.0965, 1652096.3821999999, nan, nan, n...</td>\n",
+       "      <td>[211290.74520000003, 206276.09790000002, 20924...</td>\n",
        "    </tr>\n",
        "    <tr>\n",
        "      <th>1</th>\n",
@@ -1615,10 +1607,10 @@
        "      <td>3</td>\n",
        "      <td>0</td>\n",
        "      <td>NaN</td>\n",
-       "      <td>1.125704e+06</td>\n",
+       "      <td>1.125122e+06</td>\n",
        "      <td>NaN</td>\n",
        "      <td>[0.0, 0.0, 0.0]</td>\n",
-       "      <td>[633171.4857999999, 711829.5524, 862250.9423, ...</td>\n",
+       "      <td>[632528.9293000001, 704530.8141, 871543.067099...</td>\n",
        "      <td>[nan, nan, nan]</td>\n",
        "    </tr>\n",
        "    <tr>\n",
@@ -1626,12 +1618,12 @@
        "      <td>1</td>\n",
        "      <td>4</td>\n",
        "      <td>0</td>\n",
-       "      <td>10.334268</td>\n",
-       "      <td>1.658672e+06</td>\n",
-       "      <td>190457.407267</td>\n",
-       "      <td>[1832873.54007, 1826657.0977800002, 1830721.81...</td>\n",
-       "      <td>[1665464.9309999999, 1665355.3404000003, 16451...</td>\n",
-       "      <td>[193556.7293, 186649.57120000003, 191165.92130...</td>\n",
+       "      <td>10.280712</td>\n",
+       "      <td>1.671282e+06</td>\n",
+       "      <td>190910.812600</td>\n",
+       "      <td>[1845953.2714499997, 1839710.38887, 1843642.7352]</td>\n",
+       "      <td>[1671845.97, 1670718.8309999998, nan, nan, nan...</td>\n",
+       "      <td>[194078.7455, 187142.2093, 191511.48300000004]</td>\n",
        "    </tr>\n",
        "  </tbody>\n",
        "</table>\n",
@@ -1639,24 +1631,24 @@
       ],
       "text/plain": [
        "   rowNum  modNum  sceneNum        BGG   Gfront_mean     Grear_mean  \\\n",
-       "0       1       2         0  11.338927  1.655285e+06  208546.127300   \n",
-       "1       1       3         0        NaN  1.125704e+06            NaN   \n",
-       "2       1       4         0  10.334268  1.658672e+06  190457.407267   \n",
+       "0       1       2         0  11.360663  1.655209e+06  208936.319433   \n",
+       "1       1       3         0        NaN  1.125122e+06            NaN   \n",
+       "2       1       4         0  10.280712  1.671282e+06  190910.812600   \n",
        "\n",
        "                                             POA_eff  \\\n",
-       "0  [1845372.5030866666, 1840463.504476667, 184309...   \n",
+       "0  [1845370.4100300001, 1840857.22746, 1843526.64...   \n",
        "1                                    [0.0, 0.0, 0.0]   \n",
-       "2  [1832873.54007, 1826657.0977800002, 1830721.81...   \n",
+       "2  [1845953.2714499997, 1839710.38887, 1843642.7352]   \n",
        "\n",
        "                                            Wm2Front  \\\n",
-       "0  [1658556.0944, 1658093.2835, 1649204.3125, nan...   \n",
-       "1  [633171.4857999999, 711829.5524, 862250.9423, ...   \n",
-       "2  [1665464.9309999999, 1665355.3404000003, 16451...   \n",
+       "0  [1658321.0965, 1652096.3821999999, nan, nan, n...   \n",
+       "1  [632528.9293000001, 704530.8141, 871543.067099...   \n",
+       "2  [1671845.97, 1670718.8309999998, nan, nan, nan...   \n",
        "\n",
        "                                             Wm2Back  \n",
-       "0     [211208.8218, 205754.3789, 208675.18120000002]  \n",
+       "0  [211290.74520000003, 206276.09790000002, 20924...  \n",
        "1                                    [nan, nan, nan]  \n",
-       "2  [193556.7293, 186649.57120000003, 191165.92130...  "
+       "2     [194078.7455, 187142.2093, 191511.48300000004]  "
       ]
      },
      "metadata": {},
@@ -1713,12 +1705,12 @@
        "      <td>1</td>\n",
        "      <td>2</td>\n",
        "      <td>0</td>\n",
-       "      <td>11.339</td>\n",
-       "      <td>1655284.563</td>\n",
-       "      <td>208546.127</td>\n",
-       "      <td>[1845372.5030866666, 1840463.504476667, 184309...</td>\n",
-       "      <td>[1658556.0944, 1658093.2835, 1649204.3125, nan...</td>\n",
-       "      <td>[211208.8218, 205754.3789, 208675.18120000002]</td>\n",
+       "      <td>11.361</td>\n",
+       "      <td>1655208.739</td>\n",
+       "      <td>208936.319</td>\n",
+       "      <td>[1845370.4100300001, 1840857.22746, 1843526.64...</td>\n",
+       "      <td>[1658321.0965, 1652096.3821999999, nan, nan, n...</td>\n",
+       "      <td>[211290.74520000003, 206276.09790000002, 20924...</td>\n",
        "    </tr>\n",
        "    <tr>\n",
        "      <th>1</th>\n",
@@ -1726,10 +1718,10 @@
        "      <td>3</td>\n",
        "      <td>0</td>\n",
        "      <td>NaN</td>\n",
-       "      <td>1125703.831</td>\n",
+       "      <td>1125121.777</td>\n",
        "      <td>NaN</td>\n",
        "      <td>[0.0, 0.0, 0.0]</td>\n",
-       "      <td>[633171.4857999999, 711829.5524, 862250.9423, ...</td>\n",
+       "      <td>[632528.9293000001, 704530.8141, 871543.067099...</td>\n",
        "      <td>[nan, nan, nan]</td>\n",
        "    </tr>\n",
        "    <tr>\n",
@@ -1737,12 +1729,12 @@
        "      <td>1</td>\n",
        "      <td>4</td>\n",
        "      <td>0</td>\n",
-       "      <td>10.334</td>\n",
-       "      <td>1658672.484</td>\n",
-       "      <td>190457.407</td>\n",
-       "      <td>[1832873.54007, 1826657.0977800002, 1830721.81...</td>\n",
-       "      <td>[1665464.9309999999, 1665355.3404000003, 16451...</td>\n",
-       "      <td>[193556.7293, 186649.57120000003, 191165.92130...</td>\n",
+       "      <td>10.281</td>\n",
+       "      <td>1671282.400</td>\n",
+       "      <td>190910.813</td>\n",
+       "      <td>[1845953.2714499997, 1839710.38887, 1843642.7352]</td>\n",
+       "      <td>[1671845.97, 1670718.8309999998, nan, nan, nan...</td>\n",
+       "      <td>[194078.7455, 187142.2093, 191511.48300000004]</td>\n",
        "    </tr>\n",
        "  </tbody>\n",
        "</table>\n",
@@ -1750,24 +1742,24 @@
       ],
       "text/plain": [
        "   rowNum  modNum  sceneNum     BGG  Gfront_mean  Grear_mean  \\\n",
-       "0       1       2         0  11.339  1655284.563  208546.127   \n",
-       "1       1       3         0     NaN  1125703.831         NaN   \n",
-       "2       1       4         0  10.334  1658672.484  190457.407   \n",
+       "0       1       2         0  11.361  1655208.739  208936.319   \n",
+       "1       1       3         0     NaN  1125121.777         NaN   \n",
+       "2       1       4         0  10.281  1671282.400  190910.813   \n",
        "\n",
        "                                             POA_eff  \\\n",
-       "0  [1845372.5030866666, 1840463.504476667, 184309...   \n",
+       "0  [1845370.4100300001, 1840857.22746, 1843526.64...   \n",
        "1                                    [0.0, 0.0, 0.0]   \n",
-       "2  [1832873.54007, 1826657.0977800002, 1830721.81...   \n",
+       "2  [1845953.2714499997, 1839710.38887, 1843642.7352]   \n",
        "\n",
        "                                            Wm2Front  \\\n",
-       "0  [1658556.0944, 1658093.2835, 1649204.3125, nan...   \n",
-       "1  [633171.4857999999, 711829.5524, 862250.9423, ...   \n",
-       "2  [1665464.9309999999, 1665355.3404000003, 16451...   \n",
+       "0  [1658321.0965, 1652096.3821999999, nan, nan, n...   \n",
+       "1  [632528.9293000001, 704530.8141, 871543.067099...   \n",
+       "2  [1671845.97, 1670718.8309999998, nan, nan, nan...   \n",
        "\n",
        "                                             Wm2Back  \n",
-       "0     [211208.8218, 205754.3789, 208675.18120000002]  \n",
+       "0  [211290.74520000003, 206276.09790000002, 20924...  \n",
        "1                                    [nan, nan, nan]  \n",
-       "2  [193556.7293, 186649.57120000003, 191165.92130...  "
+       "2     [194078.7455, 187142.2093, 191511.48300000004]  "
       ]
      },
      "execution_count": 20,
@@ -1779,6 +1771,14 @@
     "# Results are also automatically saved in \\results\\Cumulative_Results.csv\n",
     "pd.read_csv(os.path.join('results','Cumulative_Results.csv'))"
    ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": null,
+   "id": "0ab59c71",
+   "metadata": {},
+   "outputs": [],
+   "source": []
   }
  ],
  "metadata": {
diff --git a/docs/tutorials/21 - Weather to Module Performance.py b/docs/tutorials/21 - Weather to Module Performance.py
index 29e76e64..229089f2 100644
--- a/docs/tutorials/21 - Weather to Module Performance.py
+++ b/docs/tutorials/21 - Weather to Module Performance.py
@@ -1,7 +1,7 @@
 #!/usr/bin/env python
 # coding: utf-8
 
-# In[2]:
+# In[1]:
 
 
 # This information helps with debugging and getting support :)
@@ -20,7 +20,7 @@
 # This tutorial shows how to use the new function on bifacial_radiance calculatePerformanceModule performance, as well as how to find CEC Module parameters.
 # 
 
-# In[3]:
+# In[2]:
 
 
 import os
@@ -36,7 +36,7 @@
 print ("Your simulation will be stored in %s" % testfolder)
 
 
-# In[4]:
+# In[3]:
 
 
 import bifacial_radiance
@@ -49,7 +49,7 @@
 
 # ## Geting a CEC Module to pass into demo.makeModule
 
-# In[5]:
+# In[4]:
 
 
 url = 'https://raw.githubusercontent.com/NREL/SAM/patch/deploy/libraries/CEC%20Modules.csv'
@@ -60,7 +60,7 @@
 # 
 # Make sure you select only 1 module from the database -- sometimes there are similar names.
 
-# In[6]:
+# In[5]:
 
 
 modfilter2 = db.index.str.startswith('SunPower') & db.index.str.endswith('SPR-E19-310-COM')
@@ -75,7 +75,7 @@
 
 
 
-# In[7]:
+# In[6]:
 
 
 # Selecting only two times as examples
@@ -88,7 +88,7 @@
 
 # The CEC data should be passed into the ModuleObj, either at time of creation, or sometime before it is passed into makeScene.
 
-# In[8]:
+# In[7]:
 
 
 mymodule = demo.makeModule(name='test-module', x=1, y=2, bifi=0.9, CECMod=CECMod) 
@@ -96,13 +96,13 @@
 
 # The same data could instead be passed after the ModuleObj's definition, or at time of performance analysis:
 
-# In[9]:
+# In[8]:
 
 
 mymodule.addCEC(CECMod)
 
 
-# In[10]:
+# In[9]:
 
 
 # Let's make a second module, and set it to the default Prism Solar module type
@@ -111,7 +111,7 @@
 
 # We're going to set up two scenes, each with a different module type!
 
-# In[11]:
+# In[10]:
 
 
 sceneDict = {'tilt': 0, 'azimuth': 180, 'pitch': 5,'hub_height':1.5, 'nMods':5, 'nRows': 2}
@@ -122,30 +122,30 @@
 
 # Make a second scene with the other module type
 
-# In[12]:
+# In[11]:
 
 
 sceneDict2 = {'tilt': 0, 'azimuth': 180, 'pitch': 5,'hub_height':2.5, 'nMods':2, 'nRows': 1, 'originx': -15}
 trackerdict = demo.makeScene1axis(trackerdict, module = mymodule2, sceneDict=sceneDict2, append=True)
 
 
-# In[13]:
+# In[12]:
 
 
-# Compile both scenes into one octfile.  Run 2 different analyses, one on each scene
+# Compile both scenes into one octfile.  Run 2 different analyses, one on each scene with different front and rear y scan
 trackerdict = demo.makeOct1axis()
-trackerdict = demo.analysis1axis(sensorsy=3, append=False)
-trackerdict = demo.analysis1axis(sensorsy=3, sceneNum=1)
+trackerdict = demo.analysis1axis(sensorsy=[1,3], append=False)
+trackerdict = demo.analysis1axis(sensorsy=[3,2], sceneNum=1)
 
 
-# In[14]:
+# In[13]:
 
 
 # Include an AgriPV groundscan too
 trackerdict = demo.analysis1axisground(sceneNum=1, sensorsground=10, customname='Silvanas_')
 
 
-# In[15]:
+# In[14]:
 
 
 # show the initial irradiance results before continuing:
@@ -154,7 +154,7 @@
 
 # ## Calculating the Performance and Exporting the Results to a CSV
 
-# In[16]:
+# In[15]:
 
 
 # Calculate performance.
@@ -193,7 +193,7 @@
 trackerdict = demo.genCumSky1axis()
 trackerdict = demo.makeScene1axis(trackerdict, module = mymodule, sceneDict = sceneDict)
 trackerdict = demo.makeOct1axis()
-trackerdict = demo.analysis1axis(modWanted = [2,4], sensorsy=3)
+trackerdict = demo.analysis1axis(modWanted = [2,4], sensorsy=[2,3])
 trackerdict = demo.analysis1axisground(sensorsground=10)
 
 
@@ -211,3 +211,9 @@
 # Results are also automatically saved in \results\Cumulative_Results.csv
 pd.read_csv(os.path.join('results','Cumulative_Results.csv'))
 
+
+# In[ ]:
+
+
+
+


Test patch:
diff --git a/tests/test_bifacial_radiance.py b/tests/test_bifacial_radiance.py
index 2fd4c187..0b3a160e 100644
--- a/tests/test_bifacial_radiance.py
+++ b/tests/test_bifacial_radiance.py
@@ -263,7 +263,7 @@ def test_1axis_gencumSky():
 
     trackerdict = demo.makeOct1axis(trackerdict=minitrackerdict, singleindex=-5) # just run this for one timestep: -5 degrees
     trackerdict = demo.analysis1axis( modWanted=7, rowWanted=3, sensorsy=2, sceneNum=0) 
-    assert trackerdict[-5.0]['AnalysisObj'][0].x[0] == -10.76304
+    assert trackerdict[-5.0]['AnalysisObj'][0].x[0] == pytest.approx(-10.766, abs=.001)
     modscanfront = {}
     modscanfront = {'xstart': -5}
     trackerdict = demo.analysis1axis( sensorsy=2, modscanfront=modscanfront, sceneNum=0, customname='_test2') 
@@ -298,19 +298,17 @@ def test_SceneObj_makeSceneNxR_lowtilt():
     (frontscan,backscan) = analysis.moduleAnalysis(scene)
     
     assert frontscan.pop('orient') == '-0.000 0.174 -0.985'# was 0,0,-11 in v0.2.4
-    assert frontscan == pytest.approx({'Nx': 1, 'Ny': 9, 'Nz': 1,  'xinc': 0,  'yinc': 0.093556736536159757,
-                              'xstart': 4.627616431348303e-17,'ystart': -0.3778735578756446, 
-                              'zinc': 0.016496576878358378, 'zstart': 0.23717753969161476,
-                              'sx_xinc': 0.0, 'sx_yinc':0.0, 'sx_zinc':0.0})
+    assert frontscan == pytest.approx({'Nx': 1, 'Ny': 9, 'Nz': 1,  'xinc': 0,  'yinc': 0.09357,
+                              'xstart': 0,'ystart': -0.378, 'zinc': 0.0165, 'zstart': 0.2372,
+                              'sx_xinc': 0.0, 'sx_yinc':0.0, 'sx_zinc':0.0}, abs=.001)
                                
     assert backscan.pop('orient') == '0.000 -0.174 0.985' # was 0,0,1 in v0.2.4
-    assert backscan == pytest.approx({'Nx': 1, 'Ny': 9, 'Nz': 1,  'xinc': 0, 'yinc': 0.093556736536159757,
-                              'xstart': 4.580831740657635e-17,  'ystart': -0.3740532979669721, 'zinc': 0.016496576878358378,
-                              'zstart': 0.21551176912534617,
-                                'sx_xinc': 0.0, 'sx_yinc':0.0, 'sx_zinc':0.0})
+    assert backscan == pytest.approx({'Nx': 1, 'Ny': 9, 'Nz': 1,  'xinc': 0, 'yinc': 0.09356,
+                              'xstart': 0,  'ystart': -0.374, 'zinc': 0.0165,'zstart': 0.2155,
+                                'sx_xinc': 0.0, 'sx_yinc':0.0, 'sx_zinc':0.0}, abs=.001)
                         # zstart was 0.01 and zinc was 0 in v0.2.2
     #assert scene.text == '!xform -rz -90 -t -0.795 0.475 0 -rx 10 -t 0 0 0.2 -a 20 -t 1.6 0 0 -a 7 -t 0 1.5 0 -i 1 -t -15.9 -4.5 0 -rz 0 objects\\simple_panel.rad'
-    assert scene.text[0:117] == '!xform -rx 10 -t 0 0 0.2824828843917919 -a 20 -t 1.6 0 0 -a 7 -t 0 1.5 0 -i 1 -t -14.4 -4.5 0 -rz 0 -t 0 0 0 "objects' #linux has different directory structure and will error here.
+    assert scene.text[0:105] == '!xform -rx 10 -t 0 0 0.2825 -a 20 -t 1.6 0 0 -a 7 -t 0 1.5 0 -i 1 -t -14.4 -4.5 0 -rz 0 -t 0 0 0 "objects' #linux has different directory structure and will error here.
 
 def test_SceneObj_makeSceneNxR_hightilt():
     # test _makeSceneNxR(tilt, height, pitch, orientation = None, azimuth = 180, nMods = 20, nRows = 7, radname = None)
@@ -342,19 +340,19 @@ def test_SceneObj_makeSceneNxR_hightilt():
     '''   
     assert [float(x) for x in temp.split(' ')] == pytest.approx([-0.906, -0.016, -0.423]) #was 0,0,-1 in v0.2.4
 
-    assert frontscan == pytest.approx({'Nx': 1, 'Ny': 9, 'Nz': 1, 'xinc': -0.040142620018581696, 'xstart': 0.1796000448657153, 'yinc': -0.0007006920388131139,
-                                'ystart': 0.0031349304442418674, 'zinc': 0.08609923976848174,'zstart':  0.2949742232650364,
-                                'sx_xinc': 0.0, 'sx_yinc':0.0, 'sx_zinc':0.0})
+    assert frontscan == pytest.approx({'Nx': 1, 'Ny': 9, 'Nz': 1, 'xinc': -0.04013, 'xstart': 0.1796, 'yinc': -0.0007,
+                                'ystart': 0.00313, 'zinc': 0.0861,'zstart':  0.295,
+                                'sx_xinc': 0.0, 'sx_yinc':0.0, 'sx_zinc':0.0}, abs=.001)
                                
     temp2 = backscan.pop('orient')
     assert [float(x) for x in temp2.split(' ')] == pytest.approx([0.906, 0.016, 0.423]) #was 0,0,1 in v0.2.4
     assert backscan == pytest.approx({'Nx': 1, 'Ny': 9, 'Nz': 1, 
-                            'xinc': -0.040142620018581696, 'xstart': 0.15966431032235584, 
-                            'yinc': -0.0007006920388131139, 'ystart': 0.0027869509033958163, 
-                            'zinc': 0.08609923976848174, 'zstart': 0.28567662150674106,
-                            'sx_xinc': 0.0, 'sx_yinc':0.0, 'sx_zinc':0.0})
+                            'xinc': -0.0401, 'xstart': 0.1597, 
+                            'yinc': -0.0007, 'ystart': 0.002787, 
+                            'zinc': 0.0861, 'zstart': 0.2856,
+                            'sx_xinc': 0.0, 'sx_yinc':0.0, 'sx_zinc':0.0}, abs=.001)
     #assert scene.text == '!xform -rz -90 -t -0.795 0.475 0 -rx 65 -t 0 0 0.2 -a 20 -t 1.6 0 0 -a 7 -t 0 1.5 0 -i 1 -t -15.9 -4.5 0 -rz 91 objects\\simple_panel.rad'
-    assert scene.text[0:118] == '!xform -rx 65 -t 0 0 0.6304961988424087 -a 20 -t 1.6 0 0 -a 7 -t 0 1.5 0 -i 1 -t -14.4 -4.5 0 -rz 91 -t 0 0 0 "objects'
+    assert scene.text[0:106] == '!xform -rx 65 -t 0 0 0.6304 -a 20 -t 1.6 0 0 -a 7 -t 0 1.5 0 -i 1 -t -14.4 -4.5 0 -rz 91 -t 0 0 0 "objects'
     
 
  
@@ -462,17 +460,25 @@ def test_analyzeRow():
     scene = demo.makeScene('test-module',sceneDict) #makeScene creates a .rad file with 20 modules per row, 7 rows.
     octfile = demo.makeOct(demo.getfilelist())  # makeOct combines all of the ground, sky and object files into a .oct file.
     analysis = bifacial_radiance.AnalysisObj(octfile, demo.name)  # return an analysis object including the scan dimensions for back irradiance
-    rowscan = analysis.analyzeRow(octfile = octfile, scene = scene, name = name, 
-                                  rowWanted = 1, sensorsy = [3,3])
+    rowscan = analysis.analyzeRow(octfile=octfile, scene=scene, name=name, 
+                                  rowWanted=1, sensorsy=[5,3])
     assert len(rowscan) == 2
     assert rowscan.keys()[2] == 'z'
-    assert len(rowscan[rowscan.keys()[2]][0]) == 3
+    assert len(rowscan[rowscan.keys()[2]][0]) == 5
     # Assert z is the same for two different modules
     assert rowscan[rowscan.keys()[2]][0][0] == rowscan[rowscan.keys()[2]][1][0]
     # Assert Y is different for two different modules
     assert rowscan[rowscan.keys()[1]][0][0]+2 == rowscan[rowscan.keys()[1]][1][0]
-    assert (analysis.__printval__('x')[1] == 0) & (analysis.x[1] != 0)
-
+    assert (analysis.__printval__('x')[2] == 0) & (analysis.x[2] == 0)
+    assert any( analysis.__printval__('Wm2Front') != analysis.Wm2Front)
+    temp = analysis.__repr__() # does the repr compile at all?
+    assert analysis.rearX == pytest.approx([0.25, 0, -0.25])
+    assert analysis.x == pytest.approx([.333, .167, 0, -.167, -.333], abs=.001)
+    # test default xscan and yscan = 1
+    rowscan = analysis.analyzeRow(octfile=octfile, scene=scene, name=name, 
+                                  rowWanted=1, sensorsy=None, sensorsx=None)
+    assert analysis.x == pytest.approx([0])
+    assert analysis.rearX == pytest.approx([0])
     
 def test_addMaterialGroundRad():  
     # test addMaterialGroundRad.  requires metdata for boulder. 
@@ -522,7 +528,7 @@ def test_verticalmoduleSouthFacing():
     assert analysis.x[1] == analysis.x[2]
     assert round(analysis.x[0]) == 0
     assert round(analysis.x[0]) == 0
-    assert analysis.z[3] == 2.9
+    assert analysis.z[3] == pytest.approx(2.9, abs=0.002)
 
 def test_verticalmoduleEastFacing():  
     # test full routine for Vertical Modules.  
@@ -551,7 +557,7 @@ def test_verticalmoduleEastFacing():
     assert analysis.x[1] == analysis.x[2]
     assert round(analysis.y[0]) == 0
     assert round(analysis.y[0]) == 0
-    assert analysis.z[3] == 2.9
+    assert analysis.z[3] == pytest.approx(2.9, abs=0.003)
     
 def test_tiltandazimuthModuleTest():  
     # test full routine for Vertical Modules.  
diff --git a/tests/test_gencumsky.py b/tests/test_gencumsky.py
index d909d3fa..1ae9d1cf 100644
--- a/tests/test_gencumsky.py
+++ b/tests/test_gencumsky.py
@@ -82,7 +82,9 @@ def test_SingleModule_gencumsky_modelchain():
     assert analysis.mattype[0][:12] == 'a4.1.a0.test'
     assert analysis.rearMat[0][:12] == 'a4.1.a0.test'
     assert np.mean(analysis.x) == pytest.approx(0)
-    assert np.mean(analysis.rearY) == pytest.approx(0.00017, abs = 0.00001)
+    rearY = [-0.374, -0.28, -0.187, -0.093, 0.0, 0.094, 0.188, 0.281, 0.374]
+    for (a,b) in zip(rearY, analysis.rearY):
+        assert a == pytest.approx(b, abs=.001)
     if DEBUG:
         print(np.mean(analysis.Wm2Front))
         print(np.mean(analysis.Wm2Back))
diff --git a/tests/test_module.py b/tests/test_module.py
index 7bcb99e9..7e45dbed 100644
--- a/tests/test_module.py
+++ b/tests/test_module.py
@@ -118,14 +118,14 @@ def test_moduleFrameandOmegas():
         scene = demo.makeScene(module,sceneDict)
         analysis = bifacial_radiance.AnalysisObj()  # return an analysis object including the scan dimensions for back irradiance
         frontscan, backscan = analysis.moduleAnalysis(scene, sensorsy=1) # Gives us the dictionaries with coordinates
-        assert backscan['zstart'] == expectedModuleZ[ii]
+        assert backscan['zstart'] == pytest.approx(expectedModuleZ[ii], abs=.001)
         
         # read the data back from module.json and check again
         module = demo.makeModule(name='test-module')
         scene = demo.makeScene('test-module',sceneDict)
         analysis = bifacial_radiance.AnalysisObj()  # return an analysis object including the scan dimensions for back irradiance
         frontscan, backscan = analysis.moduleAnalysis(scene, sensorsy=1)
-        assert backscan['zstart'] == expectedModuleZ[ii]
+        assert backscan['zstart'] == pytest.approx(expectedModuleZ[ii], abs=.001)
     # do it again by passing everying at once
     module = bifacial_radiance.ModuleObj(name='test-module',x=2, y=1, zgap = zgap,
                                           frameParams=frameParams, omegaParams=omegaParams,
@@ -134,7 +134,7 @@ def test_moduleFrameandOmegas():
     scene = demo.makeScene(module, sceneDict)
     analysis = bifacial_radiance.AnalysisObj()  # return an analysis object including the scan dimensions for back irradiance
     frontscan, backscan = analysis.moduleAnalysis(scene, sensorsy=1) # Gives us the dictionaries with coordinates
-    assert backscan['zstart'] == expectedModuleZ[0]
+    assert backscan['zstart'] == pytest.approx(expectedModuleZ[0], abs=.001)
     
     # omega default values
     module.addOmega()
@@ -151,7 +151,7 @@ def test_moduleFrameandOmegas():
     scene = demo.makeScene(module, sceneDict)
     analysis = bifacial_radiance.AnalysisObj()  # return an analysis object including the scan dimensions for back irradiance
     frontscan, backscan = analysis.moduleAnalysis(scene, sensorsy=10) # Gives us the dictionaries with coordinates
-    assert backscan['xstart'] == pytest.approx(0.792)
+    assert backscan['xstart'] == pytest.approx(0.792, abs=.001)
     
 def test_GlassModule():
     # test the cell-level module generation