Skip to content

Commit 2b27227

Browse files
committed
Update documentation
1 parent 860f7a3 commit 2b27227

6 files changed

Lines changed: 304 additions & 100 deletions

File tree

PBL 1 - Repowering a Commercial Site.html

Lines changed: 130 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -454,10 +454,60 @@ <h1>PBL 1 - Repowering a Commercial Site<a class="headerlink" href="#pbl-1-repow
454454
<p>A commercial building owner seeking advice on what to do with their PV systems as their rooftop ages: decommissioning the system, reinstalling the current setup after roof maintenance, or repowering with newer, more efficient technology</p>
455455
<section id="python-imports">
456456
<h2>0. Python Imports<a class="headerlink" href="#python-imports" title="Link to this heading">#</a></h2>
457-
<p>If running on google colab, uncomment (remove the # sign) from the next cell and execute it to install the dependencies and prevent “ModuleNotFoundError” in later cells.</p>
457+
<p>If running on google colab, the below cell will Install the requirements as well as download the files into your working space.</p>
458458
<div class="cell docutils container">
459459
<div class="cell_input docutils container">
460-
<div class="highlight-ipython3 notranslate"><div class="highlight"><pre><span></span><span class="c1"># !pip install -r https://raw.githubusercontent.com/PV-Tutorials/2025_PVPMC_PV_Repowering/main/requirements.txt</span>
460+
<div class="highlight-ipython3 notranslate"><div class="highlight"><pre><span></span><span class="kn">import</span> <span class="nn">os</span>
461+
462+
<span class="k">def</span> <span class="nf">is_colab</span><span class="p">():</span>
463+
<span class="k">try</span><span class="p">:</span>
464+
<span class="kn">import</span> <span class="nn">google.colab</span>
465+
<span class="k">return</span> <span class="kc">True</span>
466+
<span class="k">except</span> <span class="ne">ImportError</span><span class="p">:</span>
467+
<span class="k">return</span> <span class="kc">False</span>
468+
469+
<span class="k">if</span> <span class="n">is_colab</span><span class="p">():</span>
470+
<span class="nb">print</span><span class="p">(</span><span class="s2">&quot;Running in Google Colab — Installing and Downloading files...&quot;</span><span class="p">)</span>
471+
<span class="o">!</span>pip<span class="w"> </span>install<span class="w"> </span>-r<span class="w"> </span>https://raw.githubusercontent.com/PV-Tutorials/2025_PVPMC_PV_Repowering/main/requirements.txt
472+
473+
<span class="n">base_url</span> <span class="o">=</span> <span class="s2">&quot;https://raw.githubusercontent.com/PV-Tutorials/2025_PVPMC_PV_Repowering/main/data/&quot;</span>
474+
<span class="n">files</span> <span class="o">=</span> <span class="p">[</span><span class="s2">&quot;CA_weather_data.csv&quot;</span><span class="p">,</span> <span class="s2">&quot;CO_weather_data.csv&quot;</span><span class="p">,</span> <span class="s2">&quot;repower_weather_file.csv&quot;</span><span class="p">,</span> <span class="s2">&quot;weather_file.csv&quot;</span><span class="p">]</span>
475+
476+
<span class="n">folder_name</span> <span class="o">=</span> <span class="s2">&quot;data&quot;</span>
477+
<span class="n">os</span><span class="o">.</span><span class="n">makedirs</span><span class="p">(</span><span class="n">folder_name</span><span class="p">,</span> <span class="n">exist_ok</span><span class="o">=</span><span class="kc">True</span><span class="p">)</span>
478+
479+
<span class="c1"># Download each file into the folder</span>
480+
<span class="k">for</span> <span class="n">file</span> <span class="ow">in</span> <span class="n">files</span><span class="p">:</span>
481+
<span class="o">!</span>wget<span class="w"> </span>-q<span class="w"> </span>-O<span class="w"> </span><span class="o">{</span>os.path.join<span class="o">(</span>folder_name,<span class="w"> </span>file<span class="o">)}</span><span class="w"> </span><span class="o">{</span>base_url<span class="w"> </span>+<span class="w"> </span>file<span class="o">}</span>
482+
483+
<span class="c1"># List the files to confirm</span>
484+
<span class="o">!</span>ls<span class="w"> </span><span class="o">{</span>folder_name<span class="o">}</span>
485+
486+
487+
488+
<span class="n">base_url</span> <span class="o">=</span> <span class="s2">&quot;https://raw.githubusercontent.com/PV-Tutorials/2025_PVPMC_PV_Repowering/main/PBL%201_Data/&quot;</span>
489+
<span class="n">files</span> <span class="o">=</span> <span class="p">[</span><span class="s2">&quot;reinstall_-_upfront_cost_cashloan.json&quot;</span><span class="p">,</span>
490+
<span class="s2">&quot;reinstall_-_upfront_cost_grid.json&quot;</span><span class="p">,</span>
491+
<span class="s2">&quot;reinstall_-_upfront_cost_pvsamv1.json&quot;</span><span class="p">,</span>
492+
<span class="s2">&quot;reinstall_-_upfront_cost_utilityrate5.json&quot;</span><span class="p">]</span>
493+
494+
<span class="n">folder_name</span> <span class="o">=</span> <span class="s2">&quot;PBL_1_Data&quot;</span>
495+
<span class="n">os</span><span class="o">.</span><span class="n">makedirs</span><span class="p">(</span><span class="n">folder_name</span><span class="p">,</span> <span class="n">exist_ok</span><span class="o">=</span><span class="kc">True</span><span class="p">)</span>
496+
497+
<span class="c1"># Download each file into the folder</span>
498+
<span class="k">for</span> <span class="n">file</span> <span class="ow">in</span> <span class="n">files</span><span class="p">:</span>
499+
<span class="o">!</span>wget<span class="w"> </span>-q<span class="w"> </span>-O<span class="w"> </span><span class="o">{</span>os.path.join<span class="o">(</span>folder_name,<span class="w"> </span>file<span class="o">)}</span><span class="w"> </span><span class="o">{</span>base_url<span class="w"> </span>+<span class="w"> </span>file<span class="o">}</span>
500+
501+
<span class="c1"># List the files to confirm</span>
502+
<span class="o">!</span>ls<span class="w"> </span><span class="o">{</span>folder_name<span class="o">}</span>
503+
504+
<span class="k">else</span><span class="p">:</span>
505+
<span class="nb">print</span><span class="p">(</span><span class="s2">&quot;Not in Colab — skipping Install and downloads.&quot;</span><span class="p">)</span>
506+
</pre></div>
507+
</div>
508+
</div>
509+
<div class="cell_output docutils container">
510+
<div class="output stream highlight-myst-ansi notranslate"><div class="highlight"><pre><span></span>Not in Colab — skipping Install and downloads.
461511
</pre></div>
462512
</div>
463513
</div>
@@ -504,6 +554,84 @@ <h2>0. Python Imports<a class="headerlink" href="#python-imports" title="Link to
504554
</div>
505555
</div>
506556
</div>
557+
<div class="cell docutils container">
558+
<div class="cell_input docutils container">
559+
<div class="highlight-ipython3 notranslate"><div class="highlight"><pre><span></span><span class="n">base_url</span> <span class="o">=</span> <span class="s2">&quot;https://raw.githubusercontent.com/PV-Tutorials/2025_PVPMC_PV_Repowering/main/data/&quot;</span>
560+
<span class="n">files</span> <span class="o">=</span> <span class="p">[</span><span class="s2">&quot;CA_weather_data.csv&quot;</span><span class="p">,</span> <span class="s2">&quot;CO_weather_data.csv&quot;</span><span class="p">,</span> <span class="s2">&quot;repower_weather_file.csv&quot;</span><span class="p">,</span> <span class="s2">&quot;weather_file.csv&quot;</span><span class="p">]</span>
561+
562+
<span class="n">folder_name</span> <span class="o">=</span> <span class="s2">&quot;data&quot;</span>
563+
<span class="n">os</span><span class="o">.</span><span class="n">makedirs</span><span class="p">(</span><span class="n">folder_name</span><span class="p">,</span> <span class="n">exist_ok</span><span class="o">=</span><span class="kc">True</span><span class="p">)</span>
564+
565+
<span class="c1"># Download each file into the folder</span>
566+
<span class="k">for</span> <span class="n">file</span> <span class="ow">in</span> <span class="n">files</span><span class="p">:</span>
567+
<span class="o">!</span>wget<span class="w"> </span>-q<span class="w"> </span>-O<span class="w"> </span><span class="o">{</span>os.path.join<span class="o">(</span>folder_name,<span class="w"> </span>file<span class="o">)}</span><span class="w"> </span><span class="o">{</span>base_url<span class="w"> </span>+<span class="w"> </span>file<span class="o">}</span>
568+
569+
<span class="c1"># List the files to confirm</span>
570+
<span class="o">!</span>ls<span class="w"> </span><span class="o">{</span>folder_name<span class="o">}</span>
571+
572+
573+
574+
<span class="n">base_url</span> <span class="o">=</span> <span class="s2">&quot;https://raw.githubusercontent.com/PV-Tutorials/2025_PVPMC_PV_Repowering/main/PBL%201_Data/&quot;</span>
575+
<span class="n">files</span> <span class="o">=</span> <span class="p">[</span><span class="s2">&quot;reinstall_-_upfront_cost_cashloan.json&quot;</span><span class="p">,</span>
576+
<span class="s2">&quot;reinstall_-_upfront_cost_grid.json&quot;</span><span class="p">,</span>
577+
<span class="s2">&quot;reinstall_-_upfront_cost_pvsamv1.json&quot;</span><span class="p">,</span>
578+
<span class="s2">&quot;reinstall_-_upfront_cost_utilityrate5.json&quot;</span><span class="p">]</span>
579+
580+
<span class="n">folder_name</span> <span class="o">=</span> <span class="s2">&quot;PBL_1_Data&quot;</span>
581+
<span class="n">os</span><span class="o">.</span><span class="n">makedirs</span><span class="p">(</span><span class="n">folder_name</span><span class="p">,</span> <span class="n">exist_ok</span><span class="o">=</span><span class="kc">True</span><span class="p">)</span>
582+
583+
<span class="c1"># Download each file into the folder</span>
584+
<span class="k">for</span> <span class="n">file</span> <span class="ow">in</span> <span class="n">files</span><span class="p">:</span>
585+
<span class="o">!</span>wget<span class="w"> </span>-q<span class="w"> </span>-O<span class="w"> </span><span class="o">{</span>os.path.join<span class="o">(</span>folder_name,<span class="w"> </span>file<span class="o">)}</span><span class="w"> </span><span class="o">{</span>base_url<span class="w"> </span>+<span class="w"> </span>file<span class="o">}</span>
586+
587+
<span class="c1"># List the files to confirm</span>
588+
<span class="o">!</span>ls<span class="w"> </span><span class="o">{</span>folder_name<span class="o">}</span>
589+
</pre></div>
590+
</div>
591+
</div>
592+
<div class="cell_output docutils container">
593+
<div class="output stderr highlight-myst-ansi notranslate"><div class="highlight"><pre><span></span>&#39;wget&#39; is not recognized as an internal or external command,
594+
operable program or batch file.
595+
</pre></div>
596+
</div>
597+
<div class="output stderr highlight-myst-ansi notranslate"><div class="highlight"><pre><span></span>&#39;wget&#39; is not recognized as an internal or external command,
598+
operable program or batch file.
599+
</pre></div>
600+
</div>
601+
<div class="output stderr highlight-myst-ansi notranslate"><div class="highlight"><pre><span></span>&#39;wget&#39; is not recognized as an internal or external command,
602+
operable program or batch file.
603+
</pre></div>
604+
</div>
605+
<div class="output stderr highlight-myst-ansi notranslate"><div class="highlight"><pre><span></span>&#39;wget&#39; is not recognized as an internal or external command,
606+
operable program or batch file.
607+
</pre></div>
608+
</div>
609+
<div class="output stderr highlight-myst-ansi notranslate"><div class="highlight"><pre><span></span>&#39;ls&#39; is not recognized as an internal or external command,
610+
operable program or batch file.
611+
</pre></div>
612+
</div>
613+
<div class="output stderr highlight-myst-ansi notranslate"><div class="highlight"><pre><span></span>&#39;wget&#39; is not recognized as an internal or external command,
614+
operable program or batch file.
615+
</pre></div>
616+
</div>
617+
<div class="output stderr highlight-myst-ansi notranslate"><div class="highlight"><pre><span></span>&#39;wget&#39; is not recognized as an internal or external command,
618+
operable program or batch file.
619+
</pre></div>
620+
</div>
621+
<div class="output stderr highlight-myst-ansi notranslate"><div class="highlight"><pre><span></span>&#39;wget&#39; is not recognized as an internal or external command,
622+
operable program or batch file.
623+
</pre></div>
624+
</div>
625+
<div class="output stderr highlight-myst-ansi notranslate"><div class="highlight"><pre><span></span>&#39;wget&#39; is not recognized as an internal or external command,
626+
operable program or batch file.
627+
</pre></div>
628+
</div>
629+
<div class="output stderr highlight-myst-ansi notranslate"><div class="highlight"><pre><span></span>&#39;ls&#39; is not recognized as an internal or external command,
630+
operable program or batch file.
631+
</pre></div>
632+
</div>
633+
</div>
634+
</div>
507635
</section>
508636
<section id="set-up-base-case">
509637
<h2>1. Set up base case<a class="headerlink" href="#set-up-base-case" title="Link to this heading">#</a></h2>

0 commit comments

Comments
 (0)