From ed1950e4d08ae05b0d510acafd8c88cb758a3173 Mon Sep 17 00:00:00 2001 From: Silvana Ayala Date: Thu, 21 May 2020 17:54:41 -0600 Subject: [PATCH] image corrections and some advanced journals paths two of the journals had not a multiple OS friendly path so updated #217 Fixed images. --- ...le Axis Tracking with cumulative Sky.ipynb | 4 +- ...ingle Axis Tracking with cumulative Sky.py | 4 +- ...mple - Single Axis Tracking - hourly.ipynb | 17 +- ...Example - Single Axis Tracking - hourly.py | 8 +- ...Tube + CLEAN Routine + CustomObject).ipynb | 27 +- ...ue Tube + CLEAN Routine + CustomObject).py | 8 +- ...Canopies + sampling across a module!.ipynb | 67 +-- ...nd Canopies + sampling across a module!.py | 19 +- ... Understanding trackerdict structure.ipynb | 476 +----------------- ...s - Understanding trackerdict structure.py | 12 +- ...pics - Multiple SceneObjects Example.ipynb | 17 +- ... topics - Multiple SceneObjects Example.py | 14 +- 12 files changed, 125 insertions(+), 548 deletions(-) diff --git a/docs/tutorials/2 - Introductory Example - Single Axis Tracking with cumulative Sky.ipynb b/docs/tutorials/2 - Introductory Example - Single Axis Tracking with cumulative Sky.ipynb index 729905d6..920a85ff 100644 --- a/docs/tutorials/2 - Introductory Example - Single Axis Tracking with cumulative Sky.ipynb +++ b/docs/tutorials/2 - Introductory Example - Single Axis Tracking with cumulative Sky.ipynb @@ -116,7 +116,7 @@ }, { "cell_type": "code", - "execution_count": 3, + "execution_count": 4, "metadata": {}, "outputs": [ { @@ -129,7 +129,7 @@ ], "source": [ "# Create a RadianceObj 'object' named bifacial_example. no whitespace allowed\n", - "demo = RadianceObj('bifacial_tracking_example', path = testfolder) " + "demo = RadianceObj('bifacial_tracking_example', path = str(testfolder)) " ] }, { diff --git a/docs/tutorials/2 - Introductory Example - Single Axis Tracking with cumulative Sky.py b/docs/tutorials/2 - Introductory Example - Single Axis Tracking with cumulative Sky.py index 3025370d..6a49c451 100644 --- a/docs/tutorials/2 - Introductory Example - Single Axis Tracking with cumulative Sky.py +++ b/docs/tutorials/2 - Introductory Example - Single Axis Tracking with cumulative Sky.py @@ -72,11 +72,11 @@ # ## 2. Create a Radiance Object -# In[3]: +# In[4]: # Create a RadianceObj 'object' named bifacial_example. no whitespace allowed -demo = RadianceObj('bifacial_tracking_example', path = testfolder) +demo = RadianceObj('bifacial_tracking_example', path = str(testfolder)) # This will create all the folder structure of the bifacial_radiance Scene in the designated testfolder in your computer, and it should look like this: diff --git a/docs/tutorials/3 - Medium Level Example - Single Axis Tracking - hourly.ipynb b/docs/tutorials/3 - Medium Level Example - Single Axis Tracking - hourly.ipynb index ea3654c3..aa44958d 100644 --- a/docs/tutorials/3 - Medium Level Example - Single Axis Tracking - hourly.ipynb +++ b/docs/tutorials/3 - Medium Level Example - Single Axis Tracking - hourly.ipynb @@ -59,14 +59,15 @@ }, { "cell_type": "code", - "execution_count": 2, + "execution_count": 1, "metadata": {}, "outputs": [], "source": [ "import bifacial_radiance\n", "import numpy as np\n", "import os # this operative system to do teh relative-path testfolder for this example.\n", - "import pprint # We will be pretty-printing the trackerdictionary throughout to show its structure." + "import pprint # We will be pretty-printing the trackerdictionary throughout to show its structure.\n", + "from pathlib import Path" ] }, { @@ -91,9 +92,10 @@ "metadata": {}, "outputs": [], "source": [ + "testfolder = Path().resolve().parent.parent / 'bifacial_radiance' / 'TEMP'\n", + "\n", "simulationName = 'Tutorial 3' # For adding a simulation name when defning RadianceObj. This is optional.\n", "moduletype = 'Custom Cell-Level Module' # We will define the parameters for this below in Step 4.\n", - "testfolder = os.path.abspath(r'..\\..\\bifacial_radiance\\TEMP')\n", "albedo = \"litesoil\" # this is one of the options on ground.rad\n", "lat = 37.5 \n", "lon = -77.6\n", @@ -153,14 +155,17 @@ "name": "stdout", "output_type": "stream", "text": [ - "path = C:\\Users\\sayala\\Documents\\RadianceScenes\\Tutorials\\Journal2\n", + "path = C:\\Users\\sayala\\Documents\\GitHub\\bifacial_radiance\\bifacial_radiance\\TEMP\n", + "Loading albedo, 1 value(s), 0.213 avg\n", + "1 nonzero albedo values.\n", "Getting weather file: USA_VA_Richmond.Intl.AP.724010_TMY.epw\n", - " ... OK!\n" + " ... OK!\n", + "Saving file EPWs\\epw_temp.csv, # points: 8760\n" ] } ], "source": [ - "demo = bifacial_radiance.RadianceObj(simulationName, path = testfolder) # Adding a simulation name. This is optional.\n", + "demo = bifacial_radiance.RadianceObj(simulationName, path = str(testfolder)) # Adding a simulation name. This is optional.\n", "demo.setGround(albedo) \n", "epwfile = demo.getEPW(lat = lat, lon = lon) \n", "metdata = demo.readWeatherFile(weatherFile = epwfile) \n" diff --git a/docs/tutorials/3 - Medium Level Example - Single Axis Tracking - hourly.py b/docs/tutorials/3 - Medium Level Example - Single Axis Tracking - hourly.py index af51ffc3..9079713f 100644 --- a/docs/tutorials/3 - Medium Level Example - Single Axis Tracking - hourly.py +++ b/docs/tutorials/3 - Medium Level Example - Single Axis Tracking - hourly.py @@ -43,13 +43,14 @@ # # So far we've used "from bifacial_radiance import *" to import all the bifacial_radiance files into our working space in jupyter. For this journal we will do a "import bifacial_radiance" . This method of importing requires a different call for some functions as you'll see below. For example, instead of calling demo = RadianceObj(path = testfolder) as on Tutorial 2, in this case we will neeed to do demo = bifacial_radiance.RadianceObj(path = testfolder). -# In[2]: +# In[1]: import bifacial_radiance import numpy as np import os # this operative system to do teh relative-path testfolder for this example. import pprint # We will be pretty-printing the trackerdictionary throughout to show its structure. +from pathlib import Path # @@ -61,9 +62,10 @@ # In[3]: +testfolder = Path().resolve().parent.parent / 'bifacial_radiance' / 'TEMP' + simulationName = 'Tutorial 3' # For adding a simulation name when defning RadianceObj. This is optional. moduletype = 'Custom Cell-Level Module' # We will define the parameters for this below in Step 4. -testfolder = os.path.abspath(r'..\..\bifacial_radiance\TEMP') albedo = "litesoil" # this is one of the options on ground.rad lat = 37.5 lon = -77.6 @@ -107,7 +109,7 @@ # In[4]: -demo = bifacial_radiance.RadianceObj(simulationName, path = testfolder) # Adding a simulation name. This is optional. +demo = bifacial_radiance.RadianceObj(simulationName, path = str(testfolder)) # Adding a simulation name. This is optional. demo.setGround(albedo) epwfile = demo.getEPW(lat = lat, lon = lon) metdata = demo.readWeatherFile(weatherFile = epwfile) diff --git a/docs/tutorials/4 - Medium Level Example - Debugging your Scene with Custom Objects (Fixed Tilt 2-up with Torque Tube + CLEAN Routine + CustomObject).ipynb b/docs/tutorials/4 - Medium Level Example - Debugging your Scene with Custom Objects (Fixed Tilt 2-up with Torque Tube + CLEAN Routine + CustomObject).ipynb index ae89a776..479c71b6 100644 --- a/docs/tutorials/4 - Medium Level Example - Debugging your Scene with Custom Objects (Fixed Tilt 2-up with Torque Tube + CLEAN Routine + CustomObject).ipynb +++ b/docs/tutorials/4 - Medium Level Example - Debugging your Scene with Custom Objects (Fixed Tilt 2-up with Torque Tube + CLEAN Routine + CustomObject).ipynb @@ -50,7 +50,7 @@ }, { "cell_type": "code", - "execution_count": 1, + "execution_count": 2, "metadata": {}, "outputs": [ { @@ -63,7 +63,9 @@ ], "source": [ "import os\n", - "testfolder = os.path.abspath(r'..\\..\\bifacial_radiance\\TEMP') \n", + "from pathlib import Path\n", + "\n", + "testfolder = Path().resolve().parent.parent / 'bifacial_radiance' / 'TEMP'\n", "\n", "print (\"Your simulation will be stored in %s\" % testfolder)\n", "\n", @@ -157,16 +159,11 @@ "output_type": "stream", "text": [ "path = C:\\Users\\sayala\\Documents\\GitHub\\bifacial_radiance\\bifacial_radiance\\TEMP\n", + "Loading albedo, 1 value(s), 0.280 avg\n", + "1 nonzero albedo values.\n", "Getting weather file: USA_VA_Richmond.Intl.AP.724010_TMY.epw\n", - " ... OK!\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "c:\\users\\sayala\\documents\\github\\bifacial_radiance\\bifacial_radiance\\main.py:2447: pvlibDeprecationWarning: The get_sun_rise_set_transit function was deprecated in pvlib 0.6.1 and will be removed in 0.7. Use sun_rise_set_transit_spa instead.\n", - " sunup= pvlib.irradiance.solarposition.get_sun_rise_set_transit(datetimetz, lat, lon) #only for pvlib <0.6.1\n" + " ... OK!\n", + "Saving file EPWs\\epw_temp.csv, # points: 8760\n" ] }, { @@ -181,7 +178,7 @@ } ], "source": [ - "demo = bifacial_radiance.RadianceObj(simulationname,path = testfolder) # Create a RadianceObj 'object'\n", + "demo = bifacial_radiance.RadianceObj(simulationname,path = str(testfolder)) # Create a RadianceObj 'object'\n", "demo.setGround(albedo) # input albedo number or material name like 'concrete'. To see options, run this without any input.\n", "epwfile = demo.getEPW(lat,lon) # pull TMY data for any global lat/lon\n", "metdata = demo.readEPW(epwfile) # read in the EPW weather data from above\n", @@ -219,10 +216,8 @@ "name": "stdout", "output_type": "stream", "text": [ - "getSingleTimestampTrackerAngle Warning: \n", - " This function does not correct for the weather file half hour displacement nor for sunrise/sunset sun position at the moment. IT just calculates the Tracker position at the specific timestamp passed.\n", "\n", - " NEW Calculated Tilt: -11.77 \n" + " NEW Calculated Tilt: -4.67 \n" ] } ], @@ -1509,7 +1504,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.7.4" + "version": "3.7.3" } }, "nbformat": 4, diff --git a/docs/tutorials/4 - Medium Level Example - Debugging your Scene with Custom Objects (Fixed Tilt 2-up with Torque Tube + CLEAN Routine + CustomObject).py b/docs/tutorials/4 - Medium Level Example - Debugging your Scene with Custom Objects (Fixed Tilt 2-up with Torque Tube + CLEAN Routine + CustomObject).py index e34e0bef..163dd37a 100644 --- a/docs/tutorials/4 - Medium Level Example - Debugging your Scene with Custom Objects (Fixed Tilt 2-up with Torque Tube + CLEAN Routine + CustomObject).py +++ b/docs/tutorials/4 - Medium Level Example - Debugging your Scene with Custom Objects (Fixed Tilt 2-up with Torque Tube + CLEAN Routine + CustomObject).py @@ -35,11 +35,13 @@ # ### 1. Specify Working Folder and Import Program # -# In[1]: +# In[2]: import os -testfolder = os.path.abspath(r'..\..\bifacial_radiance\TEMP') +from pathlib import Path + +testfolder = Path().resolve().parent.parent / 'bifacial_radiance' / 'TEMP' print ("Your simulation will be stored in %s" % testfolder) @@ -103,7 +105,7 @@ # In[4]: -demo = bifacial_radiance.RadianceObj(simulationname,path = testfolder) # Create a RadianceObj 'object' +demo = bifacial_radiance.RadianceObj(simulationname,path = str(testfolder)) # Create a RadianceObj 'object' demo.setGround(albedo) # input albedo number or material name like 'concrete'. To see options, run this without any input. epwfile = demo.getEPW(lat,lon) # pull TMY data for any global lat/lon metdata = demo.readEPW(epwfile) # read in the EPW weather data from above diff --git a/docs/tutorials/5 - Medium Level Example - Bifacial Carports and Canopies + sampling across a module!.ipynb b/docs/tutorials/5 - Medium Level Example - Bifacial Carports and Canopies + sampling across a module!.ipynb index ab3ed20a..d8e43b30 100644 --- a/docs/tutorials/5 - Medium Level Example - Bifacial Carports and Canopies + sampling across a module!.ipynb +++ b/docs/tutorials/5 - Medium Level Example - Bifacial Carports and Canopies + sampling across a module!.ipynb @@ -54,7 +54,7 @@ }, { "cell_type": "code", - "execution_count": 1, + "execution_count": 2, "metadata": {}, "outputs": [], "source": [ @@ -64,40 +64,29 @@ }, { "cell_type": "code", - "execution_count": 2, + "execution_count": 4, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ - "path = C:\\Users\\sayala\\Documents\\RadianceScenes\\Demo3\n", + "path = C:\\Users\\sayala\\Documents\\GitHub\\bifacial_radiance\\bifacial_radiance\\TEMP\n", + "Loading albedo, 1 value(s), 0.280 avg\n", + "1 nonzero albedo values.\n", "Getting weather file: USA_NJ_McGuire.AFB.724096_TMY3.epw\n", - " ... OK!\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "c:\\users\\sayala\\documents\\github\\bifacial_radiance\\bifacial_radiance\\main.py:2414: pvlibDeprecationWarning: The get_sun_rise_set_transit function was deprecated in pvlib 0.6.1 and will be removed in 0.7. Use sun_rise_set_transit_spa instead.\n", - " sunup= pvlib.irradiance.solarposition.get_sun_rise_set_transit(datetimetz, lat, lon) #only for pvlib <0.6.1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ + " ... OK!\n", + "Saving file EPWs\\epw_temp.csv, # points: 8760\n", "\n", "Module Name: PrismSolar\n", - "REWRITING pre-existing module file. \n", - "Module PrismSolar successfully created\n", + "Module PrismSolar updated in module.json\n", "Created HotelCarport.oct\n" ] } ], "source": [ - "testfolder = r'C:\\Users\\sayala\\Documents\\RadianceScenes\\Demo3'\n", + "from pathlib import Path\n", + "testfolder = str(Path().resolve().parent.parent / 'bifacial_radiance' / 'TEMP')\n", "\n", "timestamp = 4020 # Noon, June 17th. \n", "simulationname = 'HotelCarport'\n", @@ -175,18 +164,23 @@ }, { "cell_type": "code", - "execution_count": 2, + "execution_count": 5, "metadata": {}, "outputs": [ { - "ename": "NameError", - "evalue": "name 'x' is not defined", - "output_type": "error", - "traceback": [ - "\u001b[1;31m---------------------------------------------------------------------------\u001b[0m", - "\u001b[1;31mNameError\u001b[0m Traceback (most recent call last)", - "\u001b[1;32m\u001b[0m in \u001b[0;36m\u001b[1;34m\u001b[0m\n\u001b[1;32m----> 1\u001b[1;33m \u001b[0mxright\u001b[0m\u001b[1;33m=\u001b[0m \u001b[0mx\u001b[0m\u001b[1;33m*\u001b[0m\u001b[1;36m4\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m 2\u001b[0m \u001b[0mxleft\u001b[0m\u001b[1;33m=\u001b[0m \u001b[1;33m-\u001b[0m\u001b[0mxright\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 3\u001b[0m \u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 4\u001b[0m \u001b[1;31m#centerhubheight = (1.9*3+1.9/2)*np.sin(tilt*np.pi/180)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 5\u001b[0m \u001b[0my2nd\u001b[0m \u001b[1;33m=\u001b[0m \u001b[1;33m-\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0my\u001b[0m\u001b[1;33m*\u001b[0m\u001b[0mnumpanels\u001b[0m\u001b[1;33m/\u001b[0m\u001b[1;36m2\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m*\u001b[0m\u001b[0mnp\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mcos\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mtilt\u001b[0m\u001b[1;33m*\u001b[0m\u001b[0mnp\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mpi\u001b[0m\u001b[1;33m/\u001b[0m\u001b[1;36m180\u001b[0m\u001b[1;33m)\u001b[0m \u001b[1;33m+\u001b[0m \u001b[1;33m(\u001b[0m\u001b[0my\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m*\u001b[0m\u001b[0mnp\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mcos\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mtilt\u001b[0m\u001b[1;33m*\u001b[0m\u001b[0mnp\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mpi\u001b[0m\u001b[1;33m/\u001b[0m\u001b[1;36m180\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n", - "\u001b[1;31mNameError\u001b[0m: name 'x' is not defined" + "name": "stdout", + "output_type": "stream", + "text": [ + "! genbox black cuteBox 0.5 0.5 4.966939279485054 | xform -t -0.25 -0.25 0 -t -3.8 -1.8324006105325215 0\n", + "\n", + "Custom Object Name objects\\Post1.rad\n", + "\n", + "Custom Object Name objects\\Post2.rad\n", + "\n", + "Custom Object Name objects\\Post3.rad\n", + "\n", + "Custom Object Name objects\\Post4.rad\n", + "Created HotelCarport.oct\n" ] } ], @@ -292,7 +286,7 @@ "metadata": {}, "source": [ "This is the module analysis and an image of the results file\n", - "![This is the module analysed.](../images_wiki/Carport_analysis.png)\n", + "![This is the module analysed.](../images_wiki/Carport_analysis.PNG)\n", "\n", "You can repeat the analysis for any other module in the row:\n", "\n", @@ -442,8 +436,15 @@ "## rvu -vf views\\front.vp -e .01 -pe 0.019 -vp 1.5 -14 15 HotelCarport.oct\n", "\n", "\n", - "![Behold the Honda-fit sized cube](../images_wiki/Carport_with_car.png)" + "![Behold the Honda-fit sized cube](../images_wiki/Carport_with_car.PNG)" ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] } ], "metadata": { @@ -462,7 +463,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.7.4" + "version": "3.7.3" } }, "nbformat": 4, diff --git a/docs/tutorials/5 - Medium Level Example - Bifacial Carports and Canopies + sampling across a module!.py b/docs/tutorials/5 - Medium Level Example - Bifacial Carports and Canopies + sampling across a module!.py index dd9a506c..c188f421 100644 --- a/docs/tutorials/5 - Medium Level Example - Bifacial Carports and Canopies + sampling across a module!.py +++ b/docs/tutorials/5 - Medium Level Example - Bifacial Carports and Canopies + sampling across a module!.py @@ -39,17 +39,18 @@ # # The magic is that, for doing the carport we see in the figure, we are going to do a 4-up configuration of modules (**numpanels**), and we are going to repeat that 4-UP 7 times (**nMods**) -# In[1]: +# In[2]: from bifacial_radiance import * import numpy as np -# In[2]: +# In[4]: -testfolder = r'C:\Users\sayala\Documents\RadianceScenes\Demo3' +from pathlib import Path +testfolder = str(Path().resolve().parent.parent / 'bifacial_radiance' / 'TEMP') timestamp = 4020 # Noon, June 17th. simulationname = 'HotelCarport' @@ -110,7 +111,7 @@ # # We are calculating the location with some math geometry -# In[2]: +# In[5]: xright= x*4 @@ -181,7 +182,7 @@ # This is the module analysis and an image of the results file -# ![This is the module analysed.](../images_wiki/Carport_analysis.png) +# ![This is the module analysed.](../images_wiki/Carport_analysis.PNG) # # You can repeat the analysis for any other module in the row: # @@ -256,4 +257,10 @@ # ## rvu -vf views\front.vp -e .01 -pe 0.019 -vp 1.5 -14 15 HotelCarport.oct # # -# ![Behold the Honda-fit sized cube](../images_wiki/Carport_with_car.png) +# ![Behold the Honda-fit sized cube](../images_wiki/Carport_with_car.PNG) + +# In[ ]: + + + + diff --git a/docs/tutorials/6 - Advanced topics - Understanding trackerdict structure.ipynb b/docs/tutorials/6 - Advanced topics - Understanding trackerdict structure.ipynb index 090b7854..8b312687 100644 --- a/docs/tutorials/6 - Advanced topics - Understanding trackerdict structure.ipynb +++ b/docs/tutorials/6 - Advanced topics - Understanding trackerdict structure.ipynb @@ -35,37 +35,37 @@ }, { "cell_type": "code", - "execution_count": 1, + "execution_count": null, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ - "path = C:\\Users\\sayala\\Documents\\RadianceScenes\\Tutorials\\Journal2\n", + "path = C:\\Users\\sayala\\Documents\\GitHub\\bifacial_radiance\\bifacial_radiance\\TEMP\n", + "Loading albedo, 1 value(s), 0.213 avg\n", + "1 nonzero albedo values.\n", "Getting weather file: USA_VA_Richmond.Intl.AP.724010_TMY.epw\n", " ... OK!\n", "Saving file EPWs\\epw_temp.csv, # points: 8760\n", "\n", "Module Name: Custom_Cell-Level_Module\n", - "REWRITING pre-existing module file. \n", "Module was shifted by 0.078 in X to avoid sensors on air\n", "This is a Cell-Level detailed module with Packaging Factor of 0.81 %\n", - "Module Custom Cell-Level Module successfully created\n", - "Creating ~12 skyfiles. Takes 1-2 minutes" + "Module Custom Cell-Level Module updated in module.json\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ - "C:\\ProgramData\\Anaconda3\\lib\\site-packages\\pvlib\\tracking.py:449: RuntimeWarning: invalid value encountered in arccos\n", + "C:\\ProgramData\\Anaconda3\\lib\\site-packages\\pvlib\\tracking.py:437: RuntimeWarning: invalid value encountered in arccos\n", " wc = np.degrees(np.arccos(temp))\n", - "C:\\ProgramData\\Anaconda3\\lib\\site-packages\\pvlib\\tracking.py:473: RuntimeWarning: invalid value encountered in arccos\n", + "C:\\ProgramData\\Anaconda3\\lib\\site-packages\\pvlib\\tracking.py:461: RuntimeWarning: invalid value encountered in arccos\n", " aoi = np.degrees(np.arccos(np.abs(np.sum(sun_vec*panel_norm, axis=0))))\n", - "C:\\ProgramData\\Anaconda3\\lib\\site-packages\\pvlib\\tracking.py:568: RuntimeWarning: invalid value encountered in remainder\n", + "C:\\ProgramData\\Anaconda3\\lib\\site-packages\\pvlib\\tracking.py:556: RuntimeWarning: invalid value encountered in remainder\n", " surface_azimuth = surface_azimuth % 360\n", - "C:\\ProgramData\\Anaconda3\\lib\\site-packages\\pvlib\\tracking.py:572: RuntimeWarning: invalid value encountered in arccos\n", + "C:\\ProgramData\\Anaconda3\\lib\\site-packages\\pvlib\\tracking.py:560: RuntimeWarning: invalid value encountered in arccos\n", " surface_tilt = 90 - np.degrees(np.arccos(dotproduct))\n" ] }, @@ -73,466 +73,25 @@ "name": "stdout", "output_type": "stream", "text": [ - "\n", + "Creating ~12 skyfiles. Takes 1-2 minutes\n", "Created 10 skyfiles in /skies/\n", "\n", "Making ~10 .rad files for gendaylit 1-axis workflow (this takes a minute..)\n", "10 Radfiles created in /objects/\n", "\n", "Making 10 octfiles in root directory.\n", - "Created 1axis_11_06_08.oct\n", - "Created 1axis_11_06_09.oct\n", - "Created 1axis_11_06_10.oct\n", - "Created 1axis_11_06_11.oct\n", - "Created 1axis_11_06_12.oct\n", - "Created 1axis_11_06_13.oct\n", - "Created 1axis_11_06_14.oct\n", - "Created 1axis_11_06_15.oct\n", - "Created 1axis_11_06_16.oct\n", - "Created 1axis_11_06_17.oct\n", - "Linescan in process: 1axis_11_06_08_Front\n", - "Linescan in process: 1axis_11_06_08_Back\n", - "Saved: results\\irr_1axis_11_06_08.csv\n", - "Index: 11_06_08. Wm2Front: 99.89242333333333. Wm2Back: 9.009616851851852\n", - "Linescan in process: 1axis_11_06_09_Front\n", - "Linescan in process: 1axis_11_06_09_Back\n", - "Saved: results\\irr_1axis_11_06_09.csv\n", - "Index: 11_06_09. Wm2Front: 399.7332325925926. Wm2Back: 23.452134814814812\n", - "Linescan in process: 1axis_11_06_10_Front\n", - "Linescan in process: 1axis_11_06_10_Back\n", - "Saved: results\\irr_1axis_11_06_10.csv\n", - "Index: 11_06_10. Wm2Front: 493.9922848148148. Wm2Back: 37.100991111111114\n", - "Linescan in process: 1axis_11_06_11_Front\n", - "Linescan in process: 1axis_11_06_11_Back\n", - "Saved: results\\irr_1axis_11_06_11.csv\n", - "Index: 11_06_11. Wm2Front: 519.1255833333333. Wm2Back: 42.72666037037037\n", - "Linescan in process: 1axis_11_06_12_Front\n", - "Linescan in process: 1axis_11_06_12_Back\n", - "Saved: results\\irr_1axis_11_06_12.csv\n", - "Index: 11_06_12. Wm2Front: 508.99857037037043. Wm2Back: 48.27298703703703\n", - "Linescan in process: 1axis_11_06_13_Front\n", - "Linescan in process: 1axis_11_06_13_Back\n", - "Saved: results\\irr_1axis_11_06_13.csv\n", - "Index: 11_06_13. Wm2Front: 494.4731914814815. Wm2Back: 46.08777333333333\n", - "Linescan in process: 1axis_11_06_14_Front\n", - "Linescan in process: 1axis_11_06_14_Back\n", - "Saved: results\\irr_1axis_11_06_14.csv\n", - "Index: 11_06_14. Wm2Front: 418.27251148148144. Wm2Back: 37.46305814814814\n", - "Linescan in process: 1axis_11_06_15_Front\n", - "Linescan in process: 1axis_11_06_15_Back\n", - "Saved: results\\irr_1axis_11_06_15.csv\n", - "Index: 11_06_15. Wm2Front: 389.1312629629629. Wm2Back: 30.32024703703704\n", - "Linescan in process: 1axis_11_06_16_Front\n", - "Linescan in process: 1axis_11_06_16_Back\n", - "Saved: results\\irr_1axis_11_06_16.csv\n", - "Index: 11_06_16. Wm2Front: 207.47055814814817. Wm2Back: 18.489445185185183\n", - "Linescan in process: 1axis_11_06_17_Front\n", - "Linescan in process: 1axis_11_06_17_Back\n", - "Saved: results\\irr_1axis_11_06_17.csv\n", - "Index: 11_06_17. Wm2Front: 52.46523555555555. Wm2Back: 6.11090462962963\n", - "Saving a cumulative-results file in the main simulatoin folder.This adds up by sensor location the irradiance over all hours or configurations considered.\n", - "Warning: This file saving routine does not clean results, so if your setup has ygaps, or 2+modules or torque tubes, doing a deeper cleaning and working with the individual results files in the results folder is highly suggested.\n", - "\n", - "Saving Cumulative results\n", - "Saved: cumulative_results_.csv\n" + "Created 1axis_11_06_08.oct\n" ] - }, - { - "data": { - "text/plain": [ - "{'11_06_08': {'surf_azm': 90.0,\n", - " 'surf_tilt': 12.96,\n", - " 'theta': -12.96,\n", - " 'ghi': 76,\n", - " 'dhi': 70,\n", - " 'skyfile': 'skies\\\\sky2_37.5_-77.33_11_06_08.rad',\n", - " 'clearance_height': 1.8196120300464254,\n", - " 'radfile': 'objects\\\\1axis11_06_08_1.819_10_12.96_20x7_origin0,0.rad',\n", - " 'scene': ,\n", - " 'octfile': '1axis_11_06_08.oct',\n", - " 'AnalysisObj': ,\n", - " 'Wm2Front': [112.3098,\n", - " 18.742393333333332,\n", - " 113.9627,\n", - " 114.01853333333334,\n", - " 76.63301666666666,\n", - " 115.91313333333333,\n", - " 116.09366666666666,\n", - " 115.64063333333333,\n", - " 115.71793333333333],\n", - " 'Wm2Back': [9.150004666666668,\n", - " 8.867592,\n", - " 8.458989,\n", - " 8.124022666666667,\n", - " 11.90211,\n", - " 8.26887,\n", - " 8.569317666666667,\n", - " 8.764618,\n", - " 8.981027666666668],\n", - " 'backRatio': [0.0814703899061058,\n", - " 0.4731049411543765,\n", - " 0.07422529279059911,\n", - " 0.07125114819507535,\n", - " 0.15531105529507022,\n", - " 0.07133616723183597,\n", - " 0.07381318981061433,\n", - " 0.07579119861387869,\n", - " 0.07761070213805404]},\n", - " '11_06_09': {'surf_azm': 90.0,\n", - " 'surf_tilt': 42.17,\n", - " 'theta': -42.17,\n", - " 'ghi': 238,\n", - " 'dhi': 122,\n", - " 'skyfile': 'skies\\\\sky2_37.5_-77.33_11_06_09.rad',\n", - " 'clearance_height': 0.8620055432043234,\n", - " 'radfile': 'objects\\\\1axis11_06_09_0.862_10_42.17_20x7_origin0,0.rad',\n", - " 'scene': ,\n", - " 'octfile': '1axis_11_06_09.oct',\n", - " 'AnalysisObj': ,\n", - " 'Wm2Front': [480.51500000000004,\n", - " 39.83376666666666,\n", - " 492.63263333333333,\n", - " 498.9393,\n", - " 40.286593333333336,\n", - " 506.7908333333333,\n", - " 509.89813333333336,\n", - " 513.4703666666667,\n", - " 515.2324666666667],\n", - " 'Wm2Back': [22.799809999999997,\n", - " 21.891326666666668,\n", - " 22.198763333333336,\n", - " 20.185330000000004,\n", - " 20.8315,\n", - " 23.817553333333336,\n", - " 25.46732,\n", - " 26.66203333333333,\n", - " 27.215576666666664],\n", - " 'backRatio': [0.04744859692497232,\n", - " 0.5495532796727818,\n", - " 0.04506140432014082,\n", - " 0.040456403301156484,\n", - " 0.5170698539285625,\n", - " 0.04699671890266583,\n", - " 0.04994579973790895,\n", - " 0.05192506352674907,\n", - " 0.05282183403717822]},\n", - " '11_06_10': {'surf_azm': 90.0,\n", - " 'surf_tilt': 45.0,\n", - " 'theta': -45.0,\n", - " 'ghi': 385,\n", - " 'dhi': 121,\n", - " 'skyfile': 'skies\\\\sky2_37.5_-77.33_11_06_10.rad',\n", - " 'clearance_height': 0.7853772746984149,\n", - " 'radfile': 'objects\\\\1axis11_06_10_0.785_10_45.0_20x7_origin0,0.rad',\n", - " 'scene': ,\n", - " 'octfile': '1axis_11_06_10.oct',\n", - " 'AnalysisObj': ,\n", - " 'Wm2Front': [607.1116333333333,\n", - " 45.70557666666667,\n", - " 615.4454333333333,\n", - " 618.4997,\n", - " 37.54471999999999,\n", - " 626.4337999999999,\n", - " 629.0069333333334,\n", - " 632.2169333333333,\n", - " 633.9658333333333],\n", - " 'Wm2Back': [50.65249333333333,\n", - " 42.62933666666667,\n", - " 36.82739,\n", - " 34.75373666666667,\n", - " 17.62635,\n", - " 33.98077,\n", - " 36.93219333333334,\n", - " 39.40876666666667,\n", - " 41.097883333333336],\n", - " 'backRatio': [0.08343178934562336,\n", - " 0.9326740214555556,\n", - " 0.0598384977235766,\n", - " 0.056190294799450785,\n", - " 0.46946362994237434,\n", - " 0.05424470351902545,\n", - " 0.0587149881204466,\n", - " 0.06233414869914585,\n", - " 0.0648265511260973]},\n", - " '11_06_11': {'surf_azm': 90.0,\n", - " 'surf_tilt': 32.04,\n", - " 'theta': -32.04,\n", - " 'ghi': 496,\n", - " 'dhi': 105,\n", - " 'skyfile': 'skies\\\\sky2_37.5_-77.33_11_06_11.rad',\n", - " 'clearance_height': 1.1636450432149756,\n", - " 'radfile': 'objects\\\\1axis11_06_11_1.163_10_32.04_20x7_origin0,0.rad',\n", - " 'scene': ,\n", - " 'octfile': '1axis_11_06_11.oct',\n", - " 'AnalysisObj': ,\n", - " 'Wm2Front': [600.2457333333333,\n", - " 41.084516666666666,\n", - " 603.6895,\n", - " 605.0037666666667,\n", - " 386.7359333333333,\n", - " 607.2330999999999,\n", - " 608.0835333333333,\n", - " 609.6878333333333,\n", - " 610.3663333333334],\n", - " 'Wm2Back': [57.70891,\n", - " 48.83526333333333,\n", - " 42.97935666666666,\n", - " 39.65249666666667,\n", - " 12.52659,\n", - " 40.32577333333333,\n", - " 44.49417666666667,\n", - " 47.68282333333334,\n", - " 50.33455333333333],\n", - " 'backRatio': [0.09614198094761256,\n", - " 1.1886247830237013,\n", - " 0.07119435649006679,\n", - " 0.06554080042234378,\n", - " 0.032390467318525226,\n", - " 0.06640894069245014,\n", - " 0.0731710382810811,\n", - " 0.07820845770233069,\n", - " 0.08246600134782224]},\n", - " '11_06_12': {'surf_azm': 90.0,\n", - " 'surf_tilt': 9.27,\n", - " 'theta': -9.27,\n", - " 'ghi': 553,\n", - " 'dhi': 89,\n", - " 'skyfile': 'skies\\\\sky2_37.5_-77.33_11_06_12.rad',\n", - " 'clearance_height': 1.954951469221026,\n", - " 'radfile': 'objects\\\\1axis11_06_12_1.954_10_9.27_20x7_origin0,0.rad',\n", - " 'scene': ,\n", - " 'octfile': '1axis_11_06_12.oct',\n", - " 'AnalysisObj': ,\n", - " 'Wm2Front': [567.1552666666666,\n", - " 40.8776,\n", - " 567.3668666666666,\n", - " 567.5059666666667,\n", - " 567.5527000000001,\n", - " 567.6003999999999,\n", - " 567.6216333333333,\n", - " 567.6435333333333,\n", - " 567.6631666666667],\n", - " 'Wm2Back': [62.82298333333333,\n", - " 55.57665666666667,\n", - " 49.9862,\n", - " 44.02651666666666,\n", - " 11.44581,\n", - " 45.19238333333334,\n", - " 50.340606666666666,\n", - " 54.56071666666667,\n", - " 60.50501],\n", - " 'backRatio': [0.11076838435121468,\n", - " 1.3595538170746229,\n", - " 0.08810192282067908,\n", - " 0.07757881268887798,\n", - " 0.02016691988793307,\n", - " 0.07961992929075465,\n", - " 0.08868675015836519,\n", - " 0.09611775233044909,\n", - " 0.10658592448293225]},\n", - " '11_06_13': {'surf_azm': 90.0,\n", - " 'surf_tilt': -14.85,\n", - " 'theta': 14.85,\n", - " 'ghi': 552,\n", - " 'dhi': 73,\n", - " 'skyfile': 'skies\\\\sky2_37.5_-77.33_11_06_13.rad',\n", - " 'clearance_height': 1.751028162749121,\n", - " 'radfile': 'objects\\\\1axis11_06_13_1.751_10_-14.8_20x7_origin0,0.rad',\n", - " 'scene': ,\n", - " 'octfile': '1axis_11_06_13.oct',\n", - " 'AnalysisObj': ,\n", - " 'Wm2Front': [557.3015999999999,\n", - " 557.2810333333333,\n", - " 557.2589666666667,\n", - " 557.2369666666667,\n", - " 526.5033999999999,\n", - " 555.7447000000001,\n", - " 555.6383,\n", - " 28.702790000000004,\n", - " 554.5909666666666],\n", - " 'Wm2Back': [56.51825333333334,\n", - " 52.09686,\n", - " 47.985949999999995,\n", - " 41.914206666666665,\n", - " 15.914899999999998,\n", - " 41.703876666666666,\n", - " 46.23330000000001,\n", - " 51.81487666666667,\n", - " 60.607736666666675],\n", - " 'backRatio': [0.10141394160611014,\n", - " 0.09348383203453955,\n", - " 0.08611052806652358,\n", - " 0.0752177869670163,\n", - " 0.0302274776810982,\n", - " 0.07504129436659009,\n", - " 0.08320739731692847,\n", - " 1.8051580180410554,\n", - " 0.10928347381399144]},\n", - " '11_06_14': {'surf_azm': 90.0,\n", - " 'surf_tilt': -36.92,\n", - " 'theta': 36.92,\n", - " 'ghi': 459,\n", - " 'dhi': 83,\n", - " 'skyfile': 'skies\\\\sky2_37.5_-77.33_11_06_14.rad',\n", - " 'clearance_height': 1.013302032257105,\n", - " 'radfile': 'objects\\\\1axis11_06_14_1.013_10_-36.9_20x7_origin0,0.rad',\n", - " 'scene': ,\n", - " 'octfile': '1axis_11_06_14.oct',\n", - " 'AnalysisObj': ,\n", - " 'Wm2Front': [533.9251,\n", - " 533.2435999999999,\n", - " 531.8445,\n", - " 530.9629,\n", - " 24.37842333333333,\n", - " 527.4829,\n", - " 526.3041666666667,\n", - " 34.68351333333333,\n", - " 521.6275],\n", - " 'Wm2Back': [41.80316,\n", - " 38.056540000000005,\n", - " 36.01614,\n", - " 31.847466666666662,\n", - " 32.99628,\n", - " 32.652989999999996,\n", - " 35.9289,\n", - " 40.75914,\n", - " 47.10690666666667],\n", - " 'backRatio': [0.07829390621660937,\n", - " 0.07136788633208853,\n", - " 0.06771917784394152,\n", - " 0.05998047450432443,\n", - " 1.3534479281503378,\n", - " 0.06190329221422682,\n", - " 0.06826628784124293,\n", - " 1.1751394522473722,\n", - " 0.09030738670656735]},\n", - " '11_06_15': {'surf_azm': 90.0,\n", - " 'surf_tilt': -45.0,\n", - " 'theta': 45.0,\n", - " 'ghi': 345,\n", - " 'dhi': 88,\n", - " 'skyfile': 'skies\\\\sky2_37.5_-77.33_11_06_15.rad',\n", - " 'clearance_height': 0.7853772746984149,\n", - " 'radfile': 'objects\\\\1axis11_06_15_0.785_10_-45.0_20x7_origin0,0.rad',\n", - " 'scene': ,\n", - " 'octfile': '1axis_11_06_15.oct',\n", - " 'AnalysisObj': ,\n", - " 'Wm2Front': [501.3403333333333,\n", - " 499.7310333333333,\n", - " 496.7371,\n", - " 494.5678666666667,\n", - " 26.678123333333332,\n", - " 488.40406666666667,\n", - " 484.16246666666666,\n", - " 34.43751,\n", - " 476.12286666666665],\n", - " 'Wm2Back': [30.350936666666666,\n", - " 29.673240000000003,\n", - " 28.53509,\n", - " 26.077550000000002,\n", - " 29.2627,\n", - " 25.964943333333334,\n", - " 29.395139999999998,\n", - " 34.01358666666667,\n", - " 39.60903666666667],\n", - " 'backRatio': [0.06053946612554055,\n", - " 0.059378302811753596,\n", - " 0.05744493929497255,\n", - " 0.05272784390121336,\n", - " 1.0968388891339134,\n", - " 0.053162723127633406,\n", - " 0.0607132549722876,\n", - " 0.9876613903059879,\n", - " 0.08319061370304479]},\n", - " '11_06_16': {'surf_azm': 90.0,\n", - " 'surf_tilt': -31.58,\n", - " 'theta': 31.58,\n", - " 'ghi': 185,\n", - " 'dhi': 118,\n", - " 'skyfile': 'skies\\\\sky2_37.5_-77.33_11_06_16.rad',\n", - " 'clearance_height': 1.1782590931991657,\n", - " 'radfile': 'objects\\\\1axis11_06_16_1.178_10_-31.5_20x7_origin0,0.rad',\n", - " 'scene': ,\n", - " 'octfile': '1axis_11_06_16.oct',\n", - " 'AnalysisObj': ,\n", - " 'Wm2Front': [266.4102666666667,\n", - " 265.60103333333336,\n", - " 263.2660333333333,\n", - " 262.17143333333337,\n", - " 28.35643,\n", - " 255.79813333333334,\n", - " 253.60476666666668,\n", - " 29.056593333333335,\n", - " 242.97033333333334],\n", - " 'Wm2Back': [19.21666,\n", - " 18.480326666666667,\n", - " 18.060796666666665,\n", - " 17.372646666666665,\n", - " 28.16597,\n", - " 14.253173333333335,\n", - " 16.54876,\n", - " 16.91425333333333,\n", - " 17.392419999999998],\n", - " 'backRatio': [0.07213155900063285,\n", - " 0.06957901050205313,\n", - " 0.06860257601565761,\n", - " 0.06626420041873203,\n", - " 0.9932483303317684,\n", - " 0.055720178358696554,\n", - " 0.06525387895359372,\n", - " 0.5820940894623298,\n", - " 0.07158218939408488]},\n", - " '11_06_17': {'surf_azm': 90.0,\n", - " 'surf_tilt': -8.62,\n", - " 'theta': 8.62,\n", - " 'ghi': 52,\n", - " 'dhi': 48,\n", - " 'skyfile': 'skies\\\\sky2_37.5_-77.33_11_06_17.rad',\n", - " 'clearance_height': 1.9789560216643387,\n", - " 'radfile': 'objects\\\\1axis11_06_17_1.978_10_-8.62_20x7_origin0,0.rad',\n", - " 'scene': ,\n", - " 'octfile': '1axis_11_06_17.oct',\n", - " 'AnalysisObj': ,\n", - " 'Wm2Front': [56.796033333333334,\n", - " 56.79884333333333,\n", - " 56.801253333333335,\n", - " 56.803673333333336,\n", - " 20.434160000000002,\n", - " 56.139653333333335,\n", - " 56.13896,\n", - " 56.137836666666665,\n", - " 56.13670666666667],\n", - " 'Wm2Back': [6.076445333333333,\n", - " 5.891524333333333,\n", - " 5.7977300000000005,\n", - " 5.620718666666666,\n", - " 8.038074,\n", - " 5.583556000000001,\n", - " 5.8382890000000005,\n", - " 5.9875956666666665,\n", - " 6.164208666666667],\n", - " 'backRatio': [0.10698525920661349,\n", - " 0.10372430604708828,\n", - " 0.10206866206481481,\n", - " 0.09894817339559267,\n", - " 0.393345293112459,\n", - " 0.09945655542780764,\n", - " 0.10399524687940642,\n", - " 0.10665692454973684,\n", - " 0.10980513869703264]}}" - ] - }, - "execution_count": 1, - "metadata": {}, - "output_type": "execute_result" } ], "source": [ "import bifacial_radiance\n", + "from pathlib import Path\n", + "\n", + "testfolder = str(Path().resolve().parent.parent / 'bifacial_radiance' / 'TEMP')\n", "\n", "simulationName = 'Tutorial 3'\n", "moduletype = 'Custom Cell-Level Module' # We will define the parameters for this below in Step 4.\n", - "testfolder = r'C:\\Users\\sayala\\Documents\\RadianceScenes\\Tutorials\\Journal2'\n", "albedo = \"litesoil\" # this is one of the options on ground.rad\n", "lat = 37.5 \n", "lon = -77.6\n", @@ -684,13 +243,6 @@ "demo.exportTrackerDict(trackerdict = demo.trackerdict, savefile = 'results\\\\test_reindexTrue.csv', reindex = False)\n", "demo.save(savefile = 'results\\\\demopickle.pickle')\n" ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [] } ], "metadata": { diff --git a/docs/tutorials/6 - Advanced topics - Understanding trackerdict structure.py b/docs/tutorials/6 - Advanced topics - Understanding trackerdict structure.py index b9dccb95..0f569201 100644 --- a/docs/tutorials/6 - Advanced topics - Understanding trackerdict structure.py +++ b/docs/tutorials/6 - Advanced topics - Understanding trackerdict structure.py @@ -19,14 +19,16 @@ # ### 1. Create a short Simulation + tracker dictionary beginning to end for 1 day -# In[1]: +# In[ ]: import bifacial_radiance +from pathlib import Path + +testfolder = str(Path().resolve().parent.parent / 'bifacial_radiance' / 'TEMP') simulationName = 'Tutorial 3' moduletype = 'Custom Cell-Level Module' # We will define the parameters for this below in Step 4. -testfolder = r'C:\Users\sayala\Documents\RadianceScenes\Tutorials\Journal2' albedo = "litesoil" # this is one of the options on ground.rad lat = 37.5 lon = -77.6 @@ -133,9 +135,3 @@ demo.exportTrackerDict(trackerdict = demo.trackerdict, savefile = 'results\\test_reindexTrue.csv', reindex = False) demo.save(savefile = 'results\\demopickle.pickle') - -# In[ ]: - - - - diff --git a/docs/tutorials/7 - Advanced topics - Multiple SceneObjects Example.ipynb b/docs/tutorials/7 - Advanced topics - Multiple SceneObjects Example.ipynb index 527f3180..a123eb2e 100644 --- a/docs/tutorials/7 - Advanced topics - Multiple SceneObjects Example.ipynb +++ b/docs/tutorials/7 - Advanced topics - Multiple SceneObjects Example.ipynb @@ -48,7 +48,7 @@ }, { "cell_type": "code", - "execution_count": 3, + "execution_count": 1, "metadata": {}, "outputs": [ { @@ -62,7 +62,9 @@ "source": [ "import os\n", "import numpy as np\n", - "testfolder = os.path.abspath(r'..\\..\\bifacial_radiance\\TEMP') \n", + "from pathlib import Path\n", + "\n", + "testfolder = str(Path().resolve().parent.parent / 'bifacial_radiance' / 'TEMP')\n", "\n", "print (\"Your simulation will be stored in %s\" % testfolder)\n", " \n", @@ -517,8 +519,15 @@ "source": [ "Visualizing the coordinates and module analyzed with an image:\n", " \n", - "![multiple Scene Objects Example](..\\images_wiki\\AdvancedJournals\\MultipleSceneObject_AnalysingSceneObj2_Row1_Module4.PNG)\n" + "![multiple Scene Objects Example](../images_wiki/AdvancedJournals/MultipleSceneObject_AnalysingSceneObj2_Row1_Module4.PNG)\n" ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] } ], "metadata": { @@ -538,7 +547,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.7.4" + "version": "3.7.3" } }, "nbformat": 4, diff --git a/docs/tutorials/7 - Advanced topics - Multiple SceneObjects Example.py b/docs/tutorials/7 - Advanced topics - Multiple SceneObjects Example.py index 169518b4..2ae3c108 100644 --- a/docs/tutorials/7 - Advanced topics - Multiple SceneObjects Example.py +++ b/docs/tutorials/7 - Advanced topics - Multiple SceneObjects Example.py @@ -32,12 +32,14 @@ # ### 1. Generating the Setups -# In[3]: +# In[1]: import os import numpy as np -testfolder = os.path.abspath(r'..\..\bifacial_radiance\TEMP') +from pathlib import Path + +testfolder = str(Path().resolve().parent.parent / 'bifacial_radiance' / 'TEMP') print ("Your simulation will be stored in %s" % testfolder) @@ -224,5 +226,11 @@ # Visualizing the coordinates and module analyzed with an image: # -# ![multiple Scene Objects Example](..\images_wiki\AdvancedJournals\MultipleSceneObject_AnalysingSceneObj2_Row1_Module4.PNG) +# ![multiple Scene Objects Example](../images_wiki/AdvancedJournals/MultipleSceneObject_AnalysingSceneObj2_Row1_Module4.PNG) # + +# In[ ]: + + + +