{ "cells": [ { "attachments": {}, "cell_type": "markdown", "id": "42b98e89-0100-4c1d-b89a-811af907b566", "metadata": {}, "source": [ "# pvlib with PySAM financial model example\n", "\n", "\n", "## Run pvlib modelchain, pass power and energy results to SAM financial models for technoeconomic analysis\n", "## Steps:\n", "### 1. Setup [pvlib](https://pvlib-python.readthedocs.io/en/stable/index.html)\n", "### 2. Generate kW, kWh results from pvlib modelchain\n", "### 3. Setup [PySAM](https://nrel-pysam.readthedocs.io/en/main/index.html), relevant financial parameters\n", "### 4. Run financial model\n", "### 5. Analyze project cashflows, project success metrics" ] }, { "cell_type": "code", "execution_count": 11, "id": "2528b10c-e8f0-44b1-8dba-8900f9a43dcd", "metadata": {}, "outputs": [], "source": [ "import pvlib\n", "\n", "import pandas as pd\n", "\n", "import matplotlib.pyplot as plt\n", "\n", "#Salt Lake City coordinates and weather data\n", "coordinates = [\n", " (40.7608, -111.8910, 'Salt Lake City', 1319, 'Etc/GMT-7')\n", "]\n", "\n", "\n", "\n", "sandia_modules = pvlib.pvsystem.retrieve_sam('SandiaMod')\n", "\n", "sapm_inverters = pvlib.pvsystem.retrieve_sam('cecinverter')\n", "\n", "module = sandia_modules['Canadian_Solar_CS5P_220M___2009_']\n", "modules_per_string = 21\n", "strings_per_inverter = 250\n", "\n", "inverter = sapm_inverters['Sungrow_Power_Supply_Co___Ltd___SC1000KU__540V_']\n", "\n", "\n", "temperature_model_parameters = pvlib.temperature.TEMPERATURE_MODEL_PARAMETERS['sapm']['open_rack_glass_glass']" ] }, { "cell_type": "code", "execution_count": 12, "id": "49ae96f2-c97b-4c46-8a67-e2d67cf99968", "metadata": {}, "outputs": [], "source": [ "tmys = []\n", "\n", "for location in coordinates:\n", " latitude, longitude, name, altitude, timezone = location\n", " weather = pvlib.iotools.get_pvgis_tmy(latitude, longitude)[0]\n", " weather.index.name = \"utc_time\"\n", " tmys.append(weather)" ] }, { "cell_type": "markdown", "id": "2539f877-e685-4686-a076-3fa6e9a5a8d7", "metadata": {}, "source": [ "## PVLib ModelChain\n", "- Run models as different objects\n", "- More information at https://pvlib-python.readthedocs.io/en/stable/user_guide/introtutorial.html" ] }, { "cell_type": "code", "execution_count": 13, "id": "51190348-fe4a-4bb2-bca8-d7a0d5b1d949", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Salt Lake City 1.973942e+06\n", "dtype: float64\n", "utc_time\n", "2012-01-01 00:00:00+00:00 -3.003918e+02\n", "2012-01-01 01:00:00+00:00 -3.003918e+02\n", "2012-01-01 02:00:00+00:00 -3.003918e+02\n", "2012-01-01 03:00:00+00:00 -3.003918e+02\n", "2012-01-01 04:00:00+00:00 -3.003918e+02\n", " ... \n", "2005-12-31 19:00:00+00:00 1.001306e+06\n", "2005-12-31 20:00:00+00:00 1.001306e+06\n", "2005-12-31 21:00:00+00:00 6.466355e+05\n", "2005-12-31 22:00:00+00:00 5.047714e+05\n", "2005-12-31 23:00:00+00:00 1.675182e+05\n", "Length: 8760, dtype: float64\n" ] }, { "data": { "text/plain": [ "Text(0, 0.5, 'Power (W)')" ] }, "execution_count": 13, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAjcAAAHACAYAAABeV0mSAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjkuMCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy80BEi2AAAACXBIWXMAAA9hAAAPYQGoP6dpAABTIUlEQVR4nO3deXQUVcIF8NtJSMIeIBIWg2yKIAgBBMMioFFQXJhxZhhEQRx0UPhEIy6AgooQRgVhFGVEARllkZFFBYEYCQgEAglhDQQIkLAkIYSQfet+3x+RhibdSS/VXa+q7+8cjqa6uup1La9uvXpVZRBCCBARERHphI/aBSAiIiJSEsMNERER6QrDDREREekKww0RERHpCsMNERER6QrDDREREekKww0RERHpCsMNERER6QrDDREREekKww0RERHpileHm+3bt+Oxxx5DixYtYDAYsG7dOoenIYTAxx9/jDvuuAMBAQFo2bIlZs6cqXxhiYiIyC5+ahdATYWFhejatSuee+45/PnPf3ZqGhMnTsSWLVvw8ccfo0uXLsjJyUFOTo7CJSUiIiJ7GfjizEoGgwFr167FsGHDzMNKS0sxdepUrFixArm5uejcuTP+9a9/YeDAgQCA5ORk3H333Th8+DA6dOigTsGJiIjIgldflqrJhAkTEBcXh5UrV+LgwYP461//iiFDhuDEiRMAgJ9++glt27bFzz//jDZt2qB169YYO3YsW26IiIhUxHBjQ1paGpYsWYLVq1ejf//+aNeuHSZNmoR+/fphyZIlAIDU1FScPXsWq1evxrJly7B06VIkJCTgL3/5i8qlJyIi8l5e3eemOocOHYLRaMQdd9xhMby0tBRNmjQBAJhMJpSWlmLZsmXm8b7++mv06NEDx48f56UqIiIiFTDc2FBQUABfX18kJCTA19fX4rN69eoBAJo3bw4/Pz+LANSxY0cAlS0/DDdERESex3BjQ1hYGIxGI7KystC/f3+r4/Tt2xcVFRU4deoU2rVrBwBISUkBANx2220eKysRERFd59V3SxUUFODkyZMAKsPM3LlzMWjQIDRu3BitWrXC008/jZ07d2LOnDkICwvDpUuXEBMTg7vvvhtDhw6FyWTCPffcg3r16mHevHkwmUwYP348GjRogC1btqj864iIiLyTV4eb2NhYDBo0qMrw0aNHY+nSpSgvL8cHH3yA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i4ic46d2AYhIO+rWrYv27dtbDDt37pzD0zEYDBA33ahprcNw3bp1HZ62s8aOHYtu3brh3LlzWLJkCe6//37cdtttAICCggL4+voiISEBvr6+Ft+rV68eAOCjjz7C/PnzMW/ePHTp0gV169bFK6+8UqXTsCd/E5G3YrghIkV17NgRO3futBi2c+dO3HHHHeZgcMstt+DixYvmz0+cOIGioiKn5pWeno709HRz683Ro0eRm5uLTp06OTStLl26oGfPnli0aBGWL1+Ozz77zPxZWFgYjEYjsrKy0L9/f6vf37lzJ5544gk8/fTTACr7A6WkpDhcDiJyHS9LEZGiXnvtNcTExGDGjBlISUnBN998g88++wyTJk0yj3P//ffjs88+w/79+7Fv3z6MGzcOtWrVcnheERER6NKlC0aOHInExETEx8dj1KhRGDBgQI2XtKwZO3YsZs+eDSEE/vSnP5mH33HHHRg5ciRGjRqFNWvW4PTp04iPj0dUVBQ2bNgAALj99tsRHR2NXbt2ITk5Gf/85z/Nd20RkWcx3BCRorp3747vv/8eK1euROfOnTFt2jS8//775v4rADBnzhyEhoaif//+eOqppzBp0iSnnj9jMBiwfv16NGrUCPfddx8iIiLQtm1brFq1yqmyjxgxAn5+fhgxYgQCAwMtPluyZAlGjRqF1157DR06dMCwYcOwd+9etGrVCgDw9ttvo3v37hg8eDAGDhyIZs2aYdiwYU6Vg4hcwycUExH94cyZM2jXrh327t2L7t27q10cInISww0Reb3y8nJcvnwZkyZNwunTp6v0GSIibeFlKSLyejt37kTz5s2xd+9ePliPSAfYckNERES6wpYbIiIi0hWGGyIiItIVhhsiIiLSFYYbIiIi0hWGGyIiItIVhhsiIiLSFYYbIiIi0hWGGyIiItIVhhsiIiLSlf8HTgWyeEk2nogAAAAASUVORK5CYII=", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "from pvlib.pvsystem import PVSystem, Array, FixedMount\n", "\n", "from pvlib.location import Location\n", "\n", "from pvlib.modelchain import ModelChain\n", "\n", "energies = {}\n", "\n", "for location, weather in zip(coordinates, tmys):\n", " latitude, longitude, name, altitude, timezone = location\n", " location = Location(\n", " latitude,\n", " longitude,\n", " name=name,\n", " altitude=altitude,\n", " tz=timezone,\n", " )\n", " mount = FixedMount(surface_tilt=latitude, surface_azimuth=180)\n", " array = Array(\n", " mount=mount,\n", " module_parameters=module,\n", " temperature_model_parameters=temperature_model_parameters,\n", " modules_per_string=modules_per_string,\n", " strings=strings_per_inverter\n", " )\n", " system = PVSystem(arrays=[array], inverter_parameters=inverter)\n", " mc = ModelChain(system, location)\n", " mc.run_model(weather)\n", " annual_energy = mc.results.ac.sum() #AC power series\n", " energies[name] = annual_energy\n", "\n", "\n", "energies = pd.Series(energies)/1000\n", "\n", "\n", "print(energies)\n", "print(mc.results.ac)\n", "\n", "\n", "\n", "\n", "\n", "\n", "plt.plot(range(0,8760,1), mc.results.ac)\n", "plt.xlabel('Hour of year')\n", "plt.ylabel('Power (W)')" ] }, { "attachments": { "24ac810a-3ec2-4f60-8946-5f01bebf64f8.png": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAA2MAAACECAYAAAAdmPOuAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAABsiSURBVHhe7d3fyyTZXcfx+UO80T9AhHjjcyFEIgiCYtB4pwjhUZRNQIgsEzbmIuv4I1l7o3iR8R/QCzVu0igoLCFmYRzUNRm9eG7GK+OsCavDXLgzs+X5nh9V3/Ozqvvp7qruer/gzHTVqd91qro+XfV03+kAAAAAACdHGAMAAACAGRDGAAAAAGAG08LY9rq7c+eOKtfd1ldV+XGuNje+xw5uM27RtrsOy3616fRUt9dhna66XWd3s7my416PbgwAAAAAiI2HsZtNdyVhRSWO7fWBw5gftp/FMcNYFLpq/achjAEAAADY12gYC4Fj52C0Q6AKd6eOF2pc6Lq6StbFLuOV6U8YAwAAAHBa43fGfKiqBitVHw2jw1gSzHSIGR4T9MX1jIYfm8cdE7Ls3Tv7On4M0fF3wK6v/f8uPdnlMMNv7DKoMFabnxGWXZc+jIW7iKEUlwUAAAAAVBi7d+9eVoI0gGRhSIcb0207daDSr9PhjOzOWGHc1jxC6EmnOwhhbOvnJY9Z3nQbuSPW9/NhbMr8fF283MM8rOTxztL2pVAoFAqFQqFQKOddbiMKY2NCMAnBJQtROoAUAtU+YWzKPELgCdMN8xmooOTHud646bheMo/xdUrrikEtLf2EAAAAAFySk4YxoQPIlKC0uDDmX7u/H3NfROLmcbswVp83AAAAgEt09DB2s7ke/pYqPNqXPNJXDFmFMBZCUyvUWIVxW/PYLYwN84+7x9cpnn7YFn5ZQmjTX/u/3ahtBwAAAOCSnCCMuQAyFB9aghCIfOmDUBRqhuBi+/lvNfRZyPBhSYr0TALR2Dx2DWNhvKFTpqvWqzY/ow9yqvTr0QeyUJJtBQAAAOBiHD2MAQAAAAByhDEAAAAAmAFhDAAAAABmQBgDAAAYk/1dd+lvzPeU/q37VPuOV6X+Bl+V/m/bARwcYQwAAGBMCGNXm+7g3601NVQlXyB2vDAWvtk57W5Ilw3AJIQxAACAMQsIY+lP+xxeHr6yb4yuOP6yAZeJMAYAADCmGsaSR/tCGkkea7RBK33UMUxLh7HKMNlP48h80hDnu0PJ+l9dDdMuhsokjIVlqaxTc9kawwMYEMYAAADGpMHCFJeH5HVy5ygM2wofOkiloSpI+md3nwrTCEEo/Haq7Qx1fnmiukgSLIvDeGPLFqYVeqTBDoBFGAMAAPBeffXVrFiVgBWCjQ4moV8WrkQS6nSQ6ocvDWO0wlhWp8NPJajly6fvjN10myt5XQmavowtW1b8AKXtTKFccqkhjAEAAIyphDFLBw9Tv63ceQqBxQYYHcAKoSobRo2fBh49Xl936zAmnX48v867LFszkALoEcYAAADGtMKY5YOM1BeHje80RWGlDzbb+jAyhTTk6UCUhKNo2BCqdg1j/TLLdBrLL0Omy9bfQRu+DMSk1PguGwDCGAAAwKg+XKhikke4I+SKeqQvGV4HJtt9pcJMIVRlw1ghLJkiqScJYHrcYv+dw5jRT9P022XZRLbNkkceARDGACB4+PDhqgrW4+7du6sqAHAuFh3G/ulfvt195rUvdD/5s7/YfeTHf8r+L93SHwAObU0BhTC2LmsKKIQxAOdkkWHsxYsX3etffLP75V/7dLf927/vvvvkSffBB8/t/9It/aX++fPnfgwAuL0QUN5///2LLoIwti6EMQBYpkWGsc/f+1J3740/6j788EPfJyb9f/cP/9gOVxQ9M62eez4U+wy0eu45zK/6R70pea46LJd6xtqX/o9fm3UADo0whktFGAOWQ9romgraFhfG/vnd73S/9Kuf8l1tMpwMH7FBSQUw0705aoBxgWm3kJSGsTTYTanTkuGO6pTzAk6LMIZLtaYLIi7+sHQcj9AWF8Z+63Ovd1//m7/zXW0ynPwNWUQCy+Q7VIewTziRcSqBK+pu1Wm1/sdwynkBp0UYw6Xi4g9YDo5HaIsLYx/96Z/v/vv73/ddbf/13nvdx37mE74rkLBQ+7pWEyK2w9esRsNEX7+q7z4Nv7ExPCYYAombV6gLvw8S3SUrhkMZr3H3qx++VRfEyxC+Tjb6qt1+gdz0rq/l62j9/NV6X2028fyybVKeF9ZI2oJuw6pdmDI0jVbd8pxdGHvnfvfKK/e7d6b290WkYezGf9V1uo/kXLKcfXaZ7e4UzumCSL9/Re/T9umQQv8EF39YOsIYtMWFsR/+sY/5V+PkSz3kWxZz+kcKfa/w5hzCjA0aIXhIXRx63IneTaca7Crj6pBSvpCRcSoXFNHArTotWYaIrnPTG9bHdYfJuoux+nq58VrzwnpIO9BtOG4r5/qo7fmEsZvuq194pXvl/v3ufhS6av3jIuIwZraJ/hBInyer5505yL67vHZ3CmdzQWTa3PCnBXqbyevK/k1w8YelI4xBu8A7Y4q/s+OuJfKTdx+UojtAKvjY/mNv4Ol0kzeM7E6WSIYJ42fza9VparjAXnyE9aksq0wzWr50fmp7SLEbqzAvrJC0g0IbtnR3q06r9T+G+rzOJ4yF8k4ldNX6uyLGw5h8GFU758xF9t3ltbtTOM8LImmDfpvJe5r6YEA+PKzdHePiD0tHGIO2uDAmfwMmX18/hQyX/c1YQk7Y5RDh7noNYaxw0VENQHpa+RtseJOov1nIOOULinicVp2WLEO03OrNrDRcM4yNrTvWS9pBuQ3biyZ9YV+tC2SYNPTLoHm/ML1jPWr7cLVhTDZV/JiidCebZwFk/11au1PvRYFe3mxazuTl9M7zgkjWx61H9v4n2yjaaIN1XfwlbUu3w2bdwLalyrbcmW2v5fkshztOdlrGA6/XxbRROQ6Tc00qXdf0vSbob5CkGsf6pVhcGJMfdJbfEXv58qXvUyb1Mlz2A9DbjTpY3JucO4G7k1J/MrcHVmhASV1Pj6/pA7lwUMu0r6676z4EpWQcPW89XGvahXlZSf/sjbw1vaHxuwNEDzu27lgvaQfx8dO/4UcnzVad1mpXus5Nb2iXrrvehtU0zXHhxqvP6+GKw1jMbKMsvCyB7LvLa3fpxcZwUVKblqaHccuVD3OeF3+yHcK6yDaO1ivZZtr6wtjQRmxbrHwoEdd5o9crlyg5roqmDLO/82+j7vr4zrVpOzuFMbNddfvU16rF41nfULhciwtj4ne+9GX7O2JjvzMmw+XkACq9CbsDy31i6Oqi/W5DS228ob/r7ablGod+PWh/0iTj1MKYLEo4YbbqYnZ+/XL7g0S6o5NsYVnlDc2vW/vTXVP8+sTzwjpV2rBtM/rE3KrT2m2zeqEr04yOh3R+YXxfbJstzMt7SBiztuY8KdvHnm/8tlvG4S777vLanatT66UvUIrTMqYsp3JeF3/5B6HSFgljJek+192tOids12z7XrT6cTKYMsz+LqeNynaqnV+d8TAmx3tlGnIOXMabz1EtMow9f/68e/2Lb9o7X/IoovxtmHxZh/wv3dJf6mW46Y57YKWGTzbPSPOiBdD0CTg+tuI39VadlhyfUVvUn4wVhmteFJfaczIN5SFhzG23EB6yN825yb67vHYnwjJGy1qb1tTlVM7n4k+vj5KEr/o+JYwN3a06obZ11qY1P17x26hd3fBobGke4UMDdV1k23DoXzpejOIwlelV+vcfHkvpB46XMR9G6kv91HpFy6aXww+3GT4sKbXT9YYx2XTxh3zSPWy/2FDn9m80nJwTQputtKfW/i89zj2XRYaxQB5BlL8Jky/pkG9NlP+lO3s0cZLkQDqm5kltuWyjPcPlxhz0CTg9tnR3q05L+mcn2db0hhO0O8nrYUtvhLVlIIy5Nzy1X/vzgX49J9l3l9fuLPu+kT4uVpnW5OUcnM3FXxK6enY9a/s+tuYwZtuiPm6rdYZtc6Fbjv3aNnXtsN7m8nDmOt0F9OixYPb55GGK7aM2H01PL5l2rzVMWqeCQWF79Msoy1u44F9zGIuZ8XWbjCTTTvb9cNNDhlP7arQ9yeux9nJaiw5jh5XsrKNwJ4ThTXnpwvKG0j6ggIE+SebH1vCm36qL9Z9g2bOrapsnfNT24crDmOwb/QZl95XfdsmmmslltrvA1qd1xWntsJzeuVz86TYXSt8m1TavbEJrfWFMby/9Pt6qc9s6O96LGzZvV9JW3aBpneq2bbdwXZG2aSlj7T4M4/tHF9K1+QjVZqqP804ZZmS9Jm0PhTDmNB+JN/slDkx6XuZ1OJ+32tOkfTu/FYUxABev9aY8wcOzC2P7FRHWFQdwy3YXDBd0h7emgLK+MFa7sByrUxevfSm143Q67sOA0fBROy6mHC8jw4SLd7sMk+YjyxyWs7aMlWGs9noRxuqq6yrb0W40M43+g7LwWu+Lgex3CWjhf99z//2/EIQxABfD3lko3P2YijCGfdy23Vly4XDbaTQQxi5V68KyUSd3DLL2pkOWJtNRd6Oii9x0HrrbTS++uyGS6RWNDzNckFfmo9fRLnNYLrWMU4axdLdbtn47Td4eA8KY7DO1zfq26F/LNs0botvWR3ycey6EMQBnzL0Jtz/VnY4whmkO2e7CtI57cUAYu1StC8t6nXyAUAo6EnDyRxXddMrfRp3Oo9Q9HCtxgBn6Fx+PLA0TPXamj7vSfNRxWn2ctzaMzMr3txNL1itatnR9W93O2sPYEKQd2+789pTNLd2lJiHsfkkri+1pyv5fBsIYAHghoJQCzCUVEdYV60AYw/6Wd/F67jgeW0x76++U5SSM1YLauSKMAYC3poBCGFsXLv6wP8LYoXE87knugDWC2rkijAGAJwFlTQXrIRdEayo4JMLYoa2pjR5mXU/zOPdcCGMAAADAiRDGoC06jD34t8fdr7/xZ92PfvIPuh/6xOft/9It/QEAAIBzQxiDtsgw9vzly+7uV97qPv7Z+91ffuPd7j+/9z/d/z1/bv+Xbukv9R+8eOHHAAAAAJZPAsqaCtoWGcY+8yd/1b32p1/vPvzQ90hI/8+ZehmuqPrVpwdiv0JTPbca5jf5jwrl+euwfFL0M7CtOqf4tZ77StcFWBlzmB2tlN6U1loAAEBucWHsH//9P7qfu3vfd3XdX3/z291PfPrL9jFF+V+6AxlOho/YcKECmOneHPUrMF142i0bxX8MeyO/r9AHuVadYb9JJv3BOwD7SgPUIQshxGE7AABQtrgw9htv/Hn3F994177+2rcedT/w8deyEgKZDCd/QxbRv7h9EnF4miYdR3e36lw4kx/KC/8DuB0JTXIomUPKhSjz/43pvvKBKhRzWpHPQqJ+Y4UQ4rAdAAAoW1wY+5Ff+b3uvfef2tdyJ6wUxqS/+O73/rf7yCd/374eSHgp/bK8DzVbuXPmHgGMhrF31MKjgfrRRvUL3qa4O2AhILl5hbqrzdYOG90lK4bDOGDF3a06WRb/2t4hq4VOP05xXV2d+yV9Wc90fqX1ld617QOcN9OkbdCSRh1e29B1LUeDszGvQ39db8eR8OYGGwKdL4QQh+0AAEDZ4sKYhK1AHk1Mg5gU6S/kSz3C69gQKIZgJKHD9AsBxoaLEEKSQGIClAsvbjrVYFcZV/89V/mXwuNxJj+mKMvcD6eCWUam0VrXPJy5zinrK51h+wDnT0KTFDlMzeHa/2+afLf1zVyHsPB/CGPxhy/D9KQQQhy2AwAAZRd4Z0yxISS9m2VrrD4o+eHC3SBbpML2L90F0tNKpyvdYRzzug9Pmgyj56fnUa9LH020QS1Peka6TKZPHwrTOtVdW9/a9gEugGnOtkiT3kqzNqXvNqHrOglh+n8Z1g6n7pyF6UkhhDhsBwAAyhYXxuRvwOTr68Vb//CdYhj76jf/1dbLcNnfjCWGwJKGEHcXyFbZsFELIYX+0bTy4BNCUxqeBvk4g1qd9E8CkS1jyyfUumZ1qnvn7QCcP3MYuSJ3ugwJVtJtw5Yhfz8mIasPW3446S8HhTl83Acu5h97R02VRYUQuWtvFkpK9c72yDD2fGo2hKtx55UwvDu/lBHGAAAoW1wYkx90lt8Re+m/116C10c/9Wb3g7/w2/b/EMSkXobLfgB6u8lCiLuocGGmv8CIAkZS15vy2F4abgyZdvMbDwvj9Cp1cpHUXwQFOmRpyfpk66qnr7tb61vqD5w/07SPVpYTQuQYrp0DgrFh3HlAP1Jt7ySK6ByTK24HM85xv+kWODZ9zIwIH3TY46d2DDbYY2zHcXayxzJdnLm2wW3nK+MPH4zt+nNJgp9Mmtfiwpj47P2v2d8RG/udMRkulzS8vnG5xu6+uMLVRe3ONp7aeEN/19tNyzU0/XrQbtjlcZz69EphqPyooptGeV3T6Ze60/U1qtsH6xG3jUs54ZvFPVpZTBiTC0G13Yt37UeGke7rjdnm2YdCQvb/DmFM3YHLP2Qy+mVJz0/O8Nh1UBhuZBrA7bXb/UCGa70Pl5y63S71ODnlcu06r32XLR3vtusYjx8/wdCq8+S9lJ9MmtUiw9gHL150d7/ylr3zJY8iyt+GyZd1yP/SLf2lXoab7raNfTf5xcIpnXZdsRaXecIPwekYZSlhTPZHFL6S4CWaw8i+k9d2H7bCU1m8HaStmAtYMy25M3az3SbTkzv0oY1UzmXp/GS5zAZPw6Pr5nyIY/Ft2XfVpW1wSps8dbtd6nFyyuXadV77Lls63m3XsTW98XmFc2X2HoCTWWQYC+QRRPmbMPmSDvnWRPlfurNHEye5bWPfQe2C5WROuK5YkdZJvVXnLPWEnwaoQ5bLCGMqHCXnNhnH3t1qBDERbYcwDR/GMlLfT69yLissh71r1483IdABtyZtK4Qx38425riRY8IUdzxJf38XOOo3tEn7xEAYxrbheJyhn2rHcgyoYYZDsLYcBWoaV+b4mTZ9I6oL6+/+zKE4vDWyXMX5lbZDLN92tq+bV+PnfZp1N25dotnJ+TC6rqssW2u7WaXxWstkFLe3Fpbbd0bdrTpRP7/HWsvo6vjJpP0tOowdVto4jiE0uGPPZ8wp1hXrk7Yr3d2qE8s94ZveRyuXEMai/rV9J8NG+yKW3xkz+8dc/JXCmA1WfX+9j914brlVe+pfS33Yv+lrU1+70AH2lraz0D6lU46JpA32zS7tDnT/1jjyOj3HxXXl5dDiachxNxzDY9NXy2Wmb48nf76oay3XDvOr0sP5eYVzVWn7VOv862R9yk87pcvmpl1eD608Xr9M2bZRw4btHYmHsfuyP0+36gxZxr5bn1dTyTIWtumwXHqe7n15bJnL67UeKwpjAG6ndVJv1RkLPuG//fbbRytLCWP2zV1dScj+ybZVcRj5tNzsj7Tofeu1Hs3Ot4Pfz9lFovTX/cL+c/tXT3+YnxnGL8/WBHW7WtG6+HmFZZa64sUpsCvdXkNbtR2G7m7VSae0yXB8TRjHnhfjNhwdD615BdE5WUycvq0Ly+qLVPj+9QvqQ61PYtK2a0+vXCev1b4tnPOyaTXXQ0uXodFd294RGV4Po5ehVSeTj98L7Ht3vsBGuoymT3Wbpssfz9OatF7rQRgDMNFlnvBLIepQZTFhLNo+ejvWtmG+HywZpg81cm8yqAzvFbeDmdbmOglG5sIqvphz070qBe0QuML/RmhncXtLl629rMB00pZqx4zubtRFx53+oGrqOM6k86Smj2Vr4vQLdZo9t5vzbHKaNQ61Pko0Xmvb6Q9zpteVzydaMq3memjpMjS6R7a3k46vjdUl74+2lOaXTqe1TVV3bfknrdd6EMYATDR2Uj/PE34fnh487p5Jj2dPukcqUIXy4PGz7tnjB1n/rDx60nVPHtnXiwljQn2CPFwcJNu0OIwi2zNcwNltO+zP4vBeNYyZcYaLFX0xFbi2c2X6Z+HdL8vWXCj1VdLv2kw3mk6j3QC3Im0pnF9a7axRJ8dcdExNGMe+VsecHW/KcmjxNFyImjr91h0wN628vrVcY/MrLb/R3HZqGVvL35qX1O30M0Vu2uX10Erj1brdNFvbOx9fa9Tp7dfT77lashyt7RZ1u+mV20Otf21dLhdhDMBErZNko26RJ/xBCFEStiREuSxl+oVwZv59/MDXP3N9SvUSwqTbDrLEMDajaDuYfWr/Vsz+rwKY7OusQQz7WEJbvB/dPo//Vs3t7/yuba3dALchbWnK+alVF9qxKcmFv7R5298eF8k07LnR11enLdJuRX340v4Cj2T8qM4UWT41rWkftE1dH5m075+dH2rbzk279fM+0376x887m+8gW7bWdlOa+7a5bcI4Wr7cg3qdLEPpvdEG88o8jv+TSfXlvWSEMQATtU6S9bplnvAHIYy9/faj7vGTZyZMPekemXDVhzJ/pyvcGdOhradDnB+eMDaIt4O6gDIltA1pD1lziPaxH08Fe9uGkqCfXzyNtRsAl6V1jO92/Mv5JD8vrRHnzWMijAFYkNOf8EMY02FL/q+FsdAd6mvDE8YGxe1gQvLwbYpmv2d3TwFgHwcKY/JBHucljzB2TIQxAAsyXxjLHjssPKaow1j2N2amv3TzmGKO7QDgdG4bxkqPQK8dYeyYCGMAFmTGMHaEQghx2A4AAJQRxgCsWilEHaoQQhy2AwAAZYQxAKtWClGHKoQQh+0AAEAZYQzAqpVC1KEKIcRhOwAAUEYYA7BqpRB1qCIhhOIKAADIEcYAAAAAYAaEMQAAAACYAWEMAAAAAGZAGAMAAACAGRDGAAAAAGAGhDEAAAAAmAFhDAAAAABmQBgDAAAAgBkQxgAAAABgBoQxAAAAAJgBYQwAAAAAZkAYAwAAAIAZEMYAAAAAYAaEMQAAAACYAWEMAAAAAGZAGAMAAACAGRDGAAAAAGAGhDEAAAAAmAFhDAAAAABmQBgDAAAAgBkQxgAAAABgBoQxAAAAAJgBYQwAAAAAZkAYAwAAAIAZEMYAAAAAYAaEMQAAAACYAWEMAAAAAGZAGAMAAACAGRDGAAAAAGAGhDEAAAAAmAFhDAAAAABmQBgDAAAAgBkQxgAAAABgBoQxAAAAAJgBYQwAAAAAZkAYAwAAAIAZEMYAAAAAYAaEMQAAAACYAWEMAAAAAGZAGAMAAACAGRDGAAAAAGAGhDEAAAAAmAFhDAAAAABmQBgDAAAAgBkQxgAAAABgBoQxAAAAAJgBYQwAAAAAZkAYAwAAAIAZEMYAAAAAYAaEMQAAAACYAWEMAAAAAGZAGAMAAACAGRDGAAAAAGAGhDEAAAAAmMFBwxiFQqFQKBQKhUKhUKaX2+jDGAAAAADgdAhjAAAAADADwhgAAAAAzIAwBgAAAAAzuHPnN7/VzV2ePn1KoVAoFAqFQqFQKCsqT7v/B7rD4ElN92ifAAAAAElFTkSuQmCC" }, "51969d1d-10d1-49d8-9528-585ab7337f82.png": { "image/png": "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" } }, "cell_type": "markdown", "id": "f4e8c2a6-ef15-4b24-9bdc-e59f463fd8b6", "metadata": {}, "source": [ "## SAM PPA Financial Models\n", "- Front of meter, single entity selling generated power at agreed upon Power Purchase Agreement (PPA) price\n", "- Includes project Capex, Opex, Revenue (PPA), Debt, Incentives (Investment Tax Credit), and Depreciation\n", "- Setup inputs in desktop tool, export [PySAM JSON's](https://nrel-pysam.readthedocs.io/en/main/getting-started.html#example-1-build-a-model-from-sam), iterate in PySAM\n", " \n", " ![ppa_revenue.png](attachment:24ac810a-3ec2-4f60-8946-5f01bebf64f8.png)\n", " ![itc.png](attachment:51969d1d-10d1-49d8-9528-585ab7337f82.png)" ] }, { "cell_type": "code", "execution_count": 14, "id": "c5552346-3fe3-41f4-befa-f9d96fee11fe", "metadata": {}, "outputs": [], "source": [ "import json\n", "import PySAM.Singleowner as so # import the Single Owner module from PySAM\n", "import PySAM.Cashloan as co #Residential/Commercial BTM financial, covered in next section\n", "\n", "# create a new instance of the Singleowner module\n", "so_model = so.new()\n", "\n", "#Setup model in SAM, export JSON files with inputs\n", "#For more information on PySAM input json's, see https://nrel-pysam.readthedocs.io/en/main/getting-started.html\n", "\n", "#Alternatively, start with default inputs to financial model (may not be accurate for your case)\n", "\n", "so_model = so.default(\"FlatPlatePVSingleOwner\")\n", "\n", "\n", "# get the inputs from the JSON file\n", "with open( 'Tutorial_E_data/SO_example_singleowner.json', 'r') as f:\n", " so_inputs = json.load( f )\n", "\n", "# iterate through the input key-value pairs and set the module inputs\n", "for k, v in so_inputs.items():\n", " if k != 'number_inputs':\n", " so_model.value(k, v)" ] }, { "cell_type": "code", "execution_count": 15, "id": "033b2ad2-ff91-4382-b8bf-e62fb16c9a72", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "{'Revenue': {'dispatch_factors_ts': (0.7,\n", " 0.7,\n", " 0.7,\n", " 0.7,\n", " 0.7,\n", " 0.7,\n", " 0.8,\n", " 0.8,\n", " 1.1,\n", " 1.1,\n", " 1.1,\n", " 1.1,\n", " 1.1,\n", " 1.1,\n", " 1.1,\n", " 1.1,\n", " 1.1,\n", " 1.1,\n", " 1.1,\n", " 1.1,\n", " 1.1,\n", " 0.8,\n", " 0.8,\n", " 0.8,\n", " 0.7,\n", " 0.7,\n", " 0.7,\n", " 0.7,\n", " 0.7,\n", " 0.7,\n", " 0.8,\n", " 0.8,\n", " 1.1,\n", " 1.1,\n", " 1.1,\n", " 1.1,\n", " 1.1,\n", " 1.1,\n", " 1.1,\n", " 1.1,\n", " 1.1,\n", " 1.1,\n", " 1.1,\n", " 1.1,\n", " 1.1,\n", " 0.8,\n", " 0.8,\n", " 0.8,\n", " 0.7,\n", " 0.7,\n", " 0.7,\n", " 0.7,\n", " 0.7,\n", " 0.7,\n", " 0.8,\n", " 0.8,\n", " 1.1,\n", " 1.1,\n", " 1.1,\n", " 1.1,\n", " 1.1,\n", " 1.1,\n", " 1.1,\n", " 1.1,\n", " 1.1,\n", " 1.1,\n", " 1.1,\n", " 1.1,\n", " 1.1,\n", " 0.8,\n", " 0.8,\n", " 0.8,\n", " 0.7,\n", " 0.7,\n", " 0.7,\n", " 0.7,\n", " 0.7,\n", " 0.7,\n", " 0.8,\n", " 0.8,\n", " 1.1,\n", " 1.1,\n", " 1.1,\n", " 1.1,\n", " 1.1,\n", " 1.1,\n", " 1.1,\n", " 1.1,\n", " 1.1,\n", " 1.1,\n", " 1.1,\n", " 1.1,\n", " 1.1,\n", " 0.8,\n", " 0.8,\n", " 0.8,\n", " 0.7,\n", " 0.7,\n", " 0.7,\n", " 0.7,\n", " 0.7,\n", " 0.7,\n", " 0.8,\n", " 0.8,\n", " 1.1,\n", " 1.1,\n", " 1.1,\n", " 1.1,\n", " 1.1,\n", " 1.1,\n", " 1.1,\n", " 1.1,\n", " 1.1,\n", " 1.1,\n", " 1.1,\n", " 1.1,\n", " 1.1,\n", " 0.8,\n", " 0.8,\n", " 0.8,\n", " 0.7,\n", " 0.7,\n", " 0.7,\n", " 0.7,\n", " 0.7,\n", " 0.7,\n", " 0.8,\n", " 0.8,\n", " 0.8,\n", " 0.8,\n", " 0.8,\n", " 0.8,\n", " 0.8,\n", " 0.8,\n", " 0.8,\n", " 0.8,\n", " 0.8,\n", " 0.8,\n", " 0.8,\n", " 0.8,\n", " 0.8,\n", " 0.8,\n", " 0.8,\n", " 0.8,\n", " 0.7,\n", " 0.7,\n", " 0.7,\n", " 0.7,\n", " 0.7,\n", " 0.7,\n", " 0.8,\n", " 0.8,\n", " 0.8,\n", " 0.8,\n", " 0.8,\n", " 0.8,\n", " 0.8,\n", " 0.8,\n", " 0.8,\n", " 0.8,\n", " 0.8,\n", " 0.8,\n", " 0.8,\n", " 0.8,\n", " 0.8,\n", " 0.8,\n", " 0.8,\n", " 0.8,\n", " 0.7,\n", " 0.7,\n", " 0.7,\n", " 0.7,\n", " 0.7,\n", " 0.7,\n", " 0.8,\n", " 0.8,\n", " 1.1,\n", " 1.1,\n", " 1.1,\n", " 1.1,\n", " 1.1,\n", " 1.1,\n", " 1.1,\n", " 1.1,\n", " 1.1,\n", " 1.1,\n", " 1.1,\n", " 1.1,\n", " 1.1,\n", " 0.8,\n", " 0.8,\n", " 0.8,\n", " 0.7,\n", " 0.7,\n", " 0.7,\n", " 0.7,\n", " 0.7,\n", " 0.7,\n", " 0.8,\n", " 0.8,\n", " 1.1,\n", " 1.1,\n", " 1.1,\n", " 1.1,\n", " 1.1,\n", " 1.1,\n", " 1.1,\n", " 1.1,\n", " 1.1,\n", " 1.1,\n", " 1.1,\n", " 1.1,\n", " 1.1,\n", " 0.8,\n", " 0.8,\n", " 0.8,\n", " 0.7,\n", " 0.7,\n", " 0.7,\n", " 0.7,\n", " 0.7,\n", " 0.7,\n", " 0.8,\n", " 0.8,\n", " 1.1,\n", " 1.1,\n", " 1.1,\n", " 1.1,\n", " 1.1,\n", " 1.1,\n", " 1.1,\n", " 1.1,\n", " 1.1,\n", " 1.1,\n", " 1.1,\n", " 1.1,\n", " 1.1,\n", " 0.8,\n", " 0.8,\n", " 0.8,\n", " 0.7,\n", " 0.7,\n", " 0.7,\n", " 0.7,\n", " 0.7,\n", " 0.7,\n", " 0.8,\n", " 0.8,\n", " 1.1,\n", " 1.1,\n", " 1.1,\n", " 1.1,\n", " 1.1,\n", " 1.1,\n", " 1.1,\n", " 1.1,\n", " 1.1,\n", " 1.1,\n", " 1.1,\n", " 1.1,\n", " 1.1,\n", " 0.8,\n", " 0.8,\n", " 0.8,\n", " 0.7,\n", " 0.7,\n", " 0.7,\n", " 0.7,\n", " 0.7,\n", " 0.7,\n", " 0.8,\n", " 0.8,\n", " 1.1,\n", " 1.1,\n", " 1.1,\n", " 1.1,\n", " 1.1,\n", " 1.1,\n", " 1.1,\n", " 1.1,\n", " 1.1,\n", " 1.1,\n", " 1.1,\n", " 1.1,\n", " 1.1,\n", " 0.8,\n", " 0.8,\n", " 0.8,\n", " 0.7,\n", " 0.7,\n", " 0.7,\n", " 0.7,\n", " 0.7,\n", " 0.7,\n", " 0.8,\n", " 0.8,\n", " 0.8,\n", " 0.8,\n", " 0.8,\n", " 0.8,\n", " 0.8,\n", " 0.8,\n", " 0.8,\n", " 0.8,\n", " 0.8,\n", " 0.8,\n", " 0.8,\n", " 0.8,\n", " 0.8,\n", " 0.8,\n", " 0.8,\n", " 0.8,\n", " 0.7,\n", " 0.7,\n", " 0.7,\n", " 0.7,\n", " 0.7,\n", " 0.7,\n", " 0.8,\n", " 0.8,\n", " 0.8,\n", " 0.8,\n", " 0.8,\n", " 0.8,\n", " 0.8,\n", " 0.8,\n", " 0.8,\n", " 0.8,\n", " 0.8,\n", " 0.8,\n", " 0.8,\n", " 0.8,\n", " 0.8,\n", " 0.8,\n", " 0.8,\n", " 0.8,\n", " 0.7,\n", " 0.7,\n", " 0.7,\n", " 0.7,\n", " 0.7,\n", " 0.7,\n", " 0.8,\n", " 0.8,\n", " 1.1,\n", " 1.1,\n", " 1.1,\n", " 1.1,\n", " 1.1,\n", " 1.1,\n", " 1.1,\n", " 1.1,\n", " 1.1,\n", " 1.1,\n", " 1.1,\n", " 1.1,\n", " 1.1,\n", " 0.8,\n", " 0.8,\n", " 0.8,\n", " 0.7,\n", " 0.7,\n", " 0.7,\n", " 0.7,\n", " 0.7,\n", " 0.7,\n", " 0.8,\n", " 0.8,\n", " 1.1,\n", " 1.1,\n", " 1.1,\n", " 1.1,\n", " 1.1,\n", " 1.1,\n", " 1.1,\n", " 1.1,\n", " 1.1,\n", " 1.1,\n", " 1.1,\n", " 1.1,\n", " 1.1,\n", " 0.8,\n", " 0.8,\n", " 0.8,\n", " 0.7,\n", " 0.7,\n", " 0.7,\n", " 0.7,\n", " 0.7,\n", " 0.7,\n", " 0.8,\n", " 0.8,\n", " 1.1,\n", " 1.1,\n", " 1.1,\n", " 1.1,\n", " 1.1,\n", " 1.1,\n", " 1.1,\n", " 1.1,\n", " 1.1,\n", " 1.1,\n", " 1.1,\n", " 1.1,\n", " 1.1,\n", " 0.8,\n", " 0.8,\n", " 0.8,\n", " 0.7,\n", " 0.7,\n", " 0.7,\n", " 0.7,\n", " 0.7,\n", " 0.7,\n", " 0.8,\n", " 0.8,\n", " 1.1,\n", " 1.1,\n", " 1.1,\n", " 1.1,\n", " 1.1,\n", " 1.1,\n", " 1.1,\n", " 1.1,\n", " 1.1,\n", " 1.1,\n", " 1.1,\n", " 1.1,\n", " 1.1,\n", " 0.8,\n", " 0.8,\n", " 0.8,\n", " 0.7,\n", " 0.7,\n", " 0.7,\n", " 0.7,\n", " 0.7,\n", " 0.7,\n", " 0.8,\n", " 0.8,\n", " 1.1,\n", " 1.1,\n", " 1.1,\n", " 1.1,\n", " 1.1,\n", " 1.1,\n", " 1.1,\n", " 1.1,\n", " 1.1,\n", " 1.1,\n", " 1.1,\n", " 1.1,\n", " 1.1,\n", " 0.8,\n", " 0.8,\n", " 0.8,\n", " 0.7,\n", " 0.7,\n", " 0.7,\n", " 0.7,\n", " 0.7,\n", " 0.7,\n", " 0.8,\n", " 0.8,\n", " 0.8,\n", " 0.8,\n", " 0.8,\n", " 0.8,\n", " 0.8,\n", " 0.8,\n", " 0.8,\n", " 0.8,\n", " 0.8,\n", " 0.8,\n", " 0.8,\n", " 0.8,\n", " 0.8,\n", " 0.8,\n", " 0.8,\n", " 0.8,\n", " 0.7,\n", " 0.7,\n", " 0.7,\n", " 0.7,\n", " 0.7,\n", " 0.7,\n", " 0.8,\n", " 0.8,\n", " 0.8,\n", " 0.8,\n", " 0.8,\n", " 0.8,\n", " 0.8,\n", " 0.8,\n", " 0.8,\n", " 0.8,\n", " 0.8,\n", " 0.8,\n", " 0.8,\n", " 0.8,\n", " 0.8,\n", " 0.8,\n", " 0.8,\n", " 0.8,\n", " 0.7,\n", " 0.7,\n", " 0.7,\n", " 0.7,\n", " 0.7,\n", " 0.7,\n", " 0.8,\n", " 0.8,\n", " 1.1,\n", " 1.1,\n", " 1.1,\n", " 1.1,\n", " 1.1,\n", " 1.1,\n", " 1.1,\n", " 1.1,\n", " 1.1,\n", " 1.1,\n", " 1.1,\n", " 1.1,\n", " 1.1,\n", " 0.8,\n", " 0.8,\n", " 0.8,\n", " 0.7,\n", " 0.7,\n", " 0.7,\n", " 0.7,\n", " 0.7,\n", " 0.7,\n", " 0.8,\n", " 0.8,\n", " 1.1,\n", " 1.1,\n", " 1.1,\n", " 1.1,\n", " 1.1,\n", " 1.1,\n", " 1.1,\n", " 1.1,\n", " 1.1,\n", " 1.1,\n", " 1.1,\n", " 1.1,\n", " 1.1,\n", " 0.8,\n", " 0.8,\n", " 0.8,\n", " 0.7,\n", " 0.7,\n", " 0.7,\n", " 0.7,\n", " 0.7,\n", " 0.7,\n", " 0.8,\n", " 0.8,\n", " 1.1,\n", " 1.1,\n", " 1.1,\n", " 1.1,\n", " 1.1,\n", " 1.1,\n", " 1.1,\n", " 1.1,\n", " 1.1,\n", " 1.1,\n", " 1.1,\n", " 1.1,\n", " 1.1,\n", " 0.8,\n", " 0.8,\n", " 0.8,\n", " 0.7,\n", " 0.7,\n", " 0.7,\n", " 0.7,\n", " 0.7,\n", " 0.7,\n", " 0.8,\n", " 0.8,\n", " 1.1,\n", " 1.1,\n", " 1.1,\n", " 1.1,\n", " 1.1,\n", " 1.1,\n", " 1.1,\n", " 1.1,\n", " 1.1,\n", " 1.1,\n", " 1.1,\n", " 1.1,\n", " 1.1,\n", " 0.8,\n", " 0.8,\n", " 0.8,\n", " 0.7,\n", " 0.7,\n", " 0.7,\n", " 0.7,\n", " 0.7,\n", " 0.7,\n", " 0.8,\n", " 0.8,\n", " 1.1,\n", " 1.1,\n", " 1.1,\n", " 1.1,\n", " 1.1,\n", " 1.1,\n", " 1.1,\n", " 1.1,\n", " 1.1,\n", " 1.1,\n", " 1.1,\n", " 1.1,\n", " 1.1,\n", " 0.8,\n", " 0.8,\n", " 0.8,\n", " 0.7,\n", " 0.7,\n", " 0.7,\n", " 0.7,\n", " 0.7,\n", " 0.7,\n", " 0.8,\n", " 0.8,\n", " 0.8,\n", " 0.8,\n", " 0.8,\n", " 0.8,\n", " 0.8,\n", " 0.8,\n", " 0.8,\n", " 0.8,\n", " 0.8,\n", " 0.8,\n", " 0.8,\n", " 0.8,\n", " 0.8,\n", " 0.8,\n", " 0.8,\n", " 0.8,\n", " 0.7,\n", " 0.7,\n", " 0.7,\n", " 0.7,\n", " 0.7,\n", " 0.7,\n", " 0.8,\n", " 0.8,\n", " 0.8,\n", " 0.8,\n", " 0.8,\n", " 0.8,\n", " 0.8,\n", " 0.8,\n", " 0.8,\n", " 0.8,\n", " 0.8,\n", " 0.8,\n", " 0.8,\n", " 0.8,\n", " 0.8,\n", " 0.8,\n", " 0.8,\n", " 0.8,\n", " 0.7,\n", " 0.7,\n", " 0.7,\n", " 0.7,\n", " 0.7,\n", " 0.7,\n", " 0.8,\n", " 0.8,\n", " 1.1,\n", " 1.1,\n", " 1.1,\n", " 1.1,\n", " 1.1,\n", " 1.1,\n", " 1.1,\n", " 1.1,\n", " 1.1,\n", " 1.1,\n", " 1.1,\n", " 1.1,\n", " 1.1,\n", " 0.8,\n", " 0.8,\n", " 0.8,\n", " 0.7,\n", " 0.7,\n", " 0.7,\n", " 0.7,\n", " 0.7,\n", " 0.7,\n", " 0.8,\n", " 0.8,\n", " 1.1,\n", " 1.1,\n", " 1.1,\n", " 1.1,\n", " 1.1,\n", " 1.1,\n", " 1.1,\n", " 1.1,\n", " 1.1,\n", " 1.1,\n", " 1.1,\n", " 1.1,\n", " 1.1,\n", " 0.8,\n", " 0.8,\n", " 0.8,\n", " 0.7,\n", " 0.7,\n", " 0.7,\n", " 0.7,\n", " 0.7,\n", " 0.7,\n", " 0.8,\n", " 0.8,\n", " 1.1,\n", " 1.1,\n", " 1.1,\n", " 1.1,\n", " 1.1,\n", " 1.1,\n", " 1.1,\n", " 1.1,\n", " 1.1,\n", " 1.1,\n", " 1.1,\n", " 1.1,\n", " 1.1,\n", " 0.8,\n", " 0.8,\n", " 0.8,\n", " 0.7,\n", " 0.7,\n", " 0.7,\n", " 0.7,\n", " 0.7,\n", " 0.7,\n", " 0.8,\n", " 0.8,\n", " 1.1,\n", " 1.1,\n", " 1.1,\n", " 1.1,\n", " 1.1,\n", " 1.1,\n", " 1.1,\n", " 1.1,\n", " 1.1,\n", " 1.1,\n", " 1.1,\n", " 1.1,\n", " 1.1,\n", " 0.8,\n", " 0.8,\n", " 0.8,\n", " 0.7,\n", " 0.7,\n", " 0.7,\n", " 0.7,\n", " 0.7,\n", " 0.7,\n", " 0.8,\n", " 0.8,\n", " 1.1,\n", " 1.1,\n", " 1.1,\n", " 1.1,\n", " 1.1,\n", " 1.1,\n", " 1.1,\n", " 1.1,\n", " 1.1,\n", " 1.1,\n", " 1.1,\n", " 1.1,\n", " 1.1,\n", " 0.8,\n", " 0.8,\n", " 0.8,\n", " 0.7,\n", " 0.7,\n", " 0.7,\n", " 0.7,\n", " 0.7,\n", " 0.7,\n", " 0.8,\n", " 0.8,\n", " 0.8,\n", " 0.8,\n", " 0.8,\n", " 0.8,\n", " 0.8,\n", " 0.8,\n", " 0.8,\n", " 0.8,\n", " 0.8,\n", " 0.8,\n", " 0.8,\n", " 0.8,\n", " 0.8,\n", " 0.8,\n", " 0.8,\n", " 0.8,\n", " 0.7,\n", " 0.7,\n", " 0.7,\n", " 0.7,\n", " 0.7,\n", " 0.7,\n", " 0.8,\n", " 0.8,\n", " 0.8,\n", " 0.8,\n", " 0.8,\n", " 0.8,\n", " 0.8,\n", " 0.8,\n", " 0.8,\n", " 0.8,\n", " 0.8,\n", " 0.8,\n", " 0.8,\n", " 0.8,\n", " 0.8,\n", " 0.8,\n", " 0.8,\n", " 0.8,\n", " 0.7,\n", " 0.7,\n", " 0.7,\n", " 0.7,\n", " 0.7,\n", " 0.7,\n", " 0.8,\n", " 0.8,\n", " 1.1,\n", " 1.1,\n", " 1.1,\n", " 1.1,\n", " 1.1,\n", " 1.1,\n", " 1.1,\n", " 1.1,\n", " 1.1,\n", " 1.1,\n", " 1.1,\n", " 1.1,\n", " 1.1,\n", " 0.8,\n", " 0.8,\n", " 0.8,\n", " 0.7,\n", " 0.7,\n", " 0.7,\n", " 0.7,\n", " 0.7,\n", " 0.7,\n", " 0.8,\n", " 0.8,\n", " 1.1,\n", " 1.1,\n", " 1.1,\n", " 1.1,\n", " 1.1,\n", " 1.1,\n", " 1.1,\n", " 1.1,\n", " 1.1,\n", " 1.1,\n", " 1.1,\n", " 1.1,\n", " 1.1,\n", " 0.8,\n", " 0.8,\n", " 0.8,\n", " 0.7,\n", " 0.7,\n", " 0.7,\n", " 0.7,\n", " 0.7,\n", " 0.7,\n", " 0.8,\n", " 0.8,\n", " 1.1,\n", " 1.1,\n", " 1.1,\n", " 1.1,\n", " 1.1,\n", " 1.1,\n", " 1.1,\n", " 1.1,\n", " 1.1,\n", " 1.1,\n", " 1.1,\n", " 1.1,\n", " 1.1,\n", " 0.8,\n", " 0.8,\n", " 0.8,\n", " 0.7,\n", " 0.7,\n", " 0.7,\n", " 0.7,\n", " 0.7,\n", " 0.7,\n", " 0.8,\n", " 0.8,\n", " 1.1,\n", " 1.1,\n", " 1.1,\n", " 1.1,\n", " 1.1,\n", " 1.1,\n", " 1.1,\n", " 1.1,\n", " 1.1,\n", " 1.1,\n", " 1.1,\n", " 1.1,\n", " 1.1,\n", " 0.8,\n", " 0.8,\n", " 0.8,\n", " 0.7,\n", " 0.7,\n", " 0.7,\n", " 0.7,\n", " 0.7,\n", " 0.7,\n", " 0.8,\n", " 0.8,\n", " 1.1,\n", " 1.1,\n", " 1.1,\n", " 1.1,\n", " 1.1,\n", " 1.1,\n", " 1.1,\n", " 1.1,\n", " 1.1,\n", " 1.1,\n", " 1.1,\n", " 1.1,\n", " 1.1,\n", " 0.8,\n", " 0.8,\n", " 0.8,\n", " 0.7,\n", " 0.7,\n", " 0.7,\n", " 0.7,\n", " 0.7,\n", " 0.7,\n", " 0.8,\n", " 0.8,\n", " 0.8,\n", " 0.8,\n", " 0.8,\n", " 0.8,\n", " 0.8,\n", " 0.8,\n", " 0.8,\n", " 0.8,\n", " 0.8,\n", " 0.8,\n", " 0.8,\n", " 0.8,\n", " 0.8,\n", " 0.8,\n", " 0.8,\n", " 0.8,\n", " 0.7,\n", " 0.7,\n", " 0.7,\n", " 0.7,\n", " 0.7,\n", " 0.7,\n", " 0.8,\n", " 0.8,\n", " 0.8,\n", " 0.8,\n", " 0.8,\n", " 0.8,\n", " 0.8,\n", " 0.8,\n", " 0.8,\n", " 0.8,\n", " ...),\n", " 'dispatch_sched_weekday': ((1.0,\n", " 1.0,\n", " 1.0,\n", " 1.0,\n", " 1.0,\n", " 1.0,\n", " 1.0,\n", " 1.0,\n", " 1.0,\n", " 1.0,\n", " 1.0,\n", " 1.0,\n", " 1.0,\n", " 1.0,\n", " 1.0,\n", " 1.0,\n", " 1.0,\n", " 1.0,\n", " 1.0,\n", " 1.0,\n", " 1.0,\n", " 1.0,\n", " 1.0,\n", " 1.0),\n", " (1.0,\n", " 1.0,\n", " 1.0,\n", " 1.0,\n", " 1.0,\n", " 1.0,\n", " 1.0,\n", " 1.0,\n", " 1.0,\n", " 1.0,\n", " 1.0,\n", " 1.0,\n", " 1.0,\n", " 1.0,\n", " 1.0,\n", " 1.0,\n", " 1.0,\n", " 1.0,\n", " 1.0,\n", " 1.0,\n", " 1.0,\n", " 1.0,\n", " 1.0,\n", " 1.0),\n", " (1.0,\n", " 1.0,\n", " 1.0,\n", " 1.0,\n", " 1.0,\n", " 1.0,\n", " 1.0,\n", " 1.0,\n", " 1.0,\n", " 1.0,\n", " 1.0,\n", " 1.0,\n", " 1.0,\n", " 1.0,\n", " 1.0,\n", " 1.0,\n", " 1.0,\n", " 1.0,\n", " 1.0,\n", " 1.0,\n", " 1.0,\n", " 1.0,\n", " 1.0,\n", " 1.0),\n", " (1.0,\n", " 1.0,\n", " 1.0,\n", " 1.0,\n", " 1.0,\n", " 1.0,\n", " 1.0,\n", " 1.0,\n", " 1.0,\n", " 1.0,\n", " 1.0,\n", " 1.0,\n", " 1.0,\n", " 1.0,\n", " 1.0,\n", " 1.0,\n", " 1.0,\n", " 1.0,\n", " 1.0,\n", " 1.0,\n", " 1.0,\n", " 1.0,\n", " 1.0,\n", " 1.0),\n", " (1.0,\n", " 1.0,\n", " 1.0,\n", " 1.0,\n", " 1.0,\n", " 1.0,\n", " 1.0,\n", " 1.0,\n", " 1.0,\n", " 1.0,\n", " 1.0,\n", " 1.0,\n", " 1.0,\n", " 1.0,\n", " 1.0,\n", " 1.0,\n", " 1.0,\n", " 1.0,\n", " 1.0,\n", " 1.0,\n", " 1.0,\n", " 1.0,\n", " 1.0,\n", " 1.0),\n", " (1.0,\n", " 1.0,\n", " 1.0,\n", " 1.0,\n", " 1.0,\n", " 1.0,\n", " 1.0,\n", " 1.0,\n", " 1.0,\n", " 1.0,\n", " 1.0,\n", " 1.0,\n", " 1.0,\n", " 1.0,\n", " 1.0,\n", " 1.0,\n", " 1.0,\n", " 1.0,\n", " 1.0,\n", " 1.0,\n", " 1.0,\n", " 1.0,\n", " 1.0,\n", " 1.0),\n", " (1.0,\n", " 1.0,\n", " 1.0,\n", " 1.0,\n", " 1.0,\n", " 1.0,\n", " 1.0,\n", " 1.0,\n", " 1.0,\n", " 1.0,\n", " 1.0,\n", " 1.0,\n", " 1.0,\n", " 1.0,\n", " 1.0,\n", " 1.0,\n", " 1.0,\n", " 1.0,\n", " 1.0,\n", " 1.0,\n", " 1.0,\n", " 1.0,\n", " 1.0,\n", " 1.0),\n", " (1.0,\n", " 1.0,\n", " 1.0,\n", " 1.0,\n", " 1.0,\n", " 1.0,\n", " 1.0,\n", " 1.0,\n", " 1.0,\n", " 1.0,\n", " 1.0,\n", " 1.0,\n", " 1.0,\n", " 1.0,\n", " 1.0,\n", " 1.0,\n", " 1.0,\n", " 1.0,\n", " 1.0,\n", " 1.0,\n", " 1.0,\n", " 1.0,\n", " 1.0,\n", " 1.0),\n", " (1.0,\n", " 1.0,\n", " 1.0,\n", " 1.0,\n", " 1.0,\n", " 1.0,\n", " 1.0,\n", " 1.0,\n", " 1.0,\n", " 1.0,\n", " 1.0,\n", " 1.0,\n", " 1.0,\n", " 1.0,\n", " 1.0,\n", " 1.0,\n", " 1.0,\n", " 1.0,\n", " 1.0,\n", " 1.0,\n", " 1.0,\n", " 1.0,\n", " 1.0,\n", " 1.0),\n", " (1.0,\n", " 1.0,\n", " 1.0,\n", " 1.0,\n", " 1.0,\n", " 1.0,\n", " 1.0,\n", " 1.0,\n", " 1.0,\n", " 1.0,\n", " 1.0,\n", " 1.0,\n", " 1.0,\n", " 1.0,\n", " 1.0,\n", " 1.0,\n", " 1.0,\n", " 1.0,\n", " 1.0,\n", " 1.0,\n", " 1.0,\n", " 1.0,\n", " 1.0,\n", " 1.0),\n", " (1.0,\n", " 1.0,\n", " 1.0,\n", " 1.0,\n", " 1.0,\n", " 1.0,\n", " 1.0,\n", " 1.0,\n", " 1.0,\n", " 1.0,\n", " 1.0,\n", " 1.0,\n", " 1.0,\n", " 1.0,\n", " 1.0,\n", " 1.0,\n", " 1.0,\n", " 1.0,\n", " 1.0,\n", " 1.0,\n", " 1.0,\n", " 1.0,\n", " 1.0,\n", " 1.0),\n", " (1.0,\n", " 1.0,\n", " 1.0,\n", " 1.0,\n", " 1.0,\n", " 1.0,\n", " 1.0,\n", " 1.0,\n", " 1.0,\n", " 1.0,\n", " 1.0,\n", " 1.0,\n", " 1.0,\n", " 1.0,\n", " 1.0,\n", " 1.0,\n", " 1.0,\n", " 1.0,\n", " 1.0,\n", " 1.0,\n", " 1.0,\n", " 1.0,\n", " 1.0,\n", " 1.0)),\n", " 'dispatch_sched_weekend': ((1.0,\n", " 1.0,\n", " 1.0,\n", " 1.0,\n", " 1.0,\n", " 1.0,\n", " 1.0,\n", " 1.0,\n", " 1.0,\n", " 1.0,\n", " 1.0,\n", " 1.0,\n", " 1.0,\n", " 1.0,\n", " 1.0,\n", " 1.0,\n", " 1.0,\n", " 1.0,\n", " 1.0,\n", " 1.0,\n", " 1.0,\n", " 1.0,\n", " 1.0,\n", " 1.0),\n", " (1.0,\n", " 1.0,\n", " 1.0,\n", " 1.0,\n", " 1.0,\n", " 1.0,\n", " 1.0,\n", " 1.0,\n", " 1.0,\n", " 1.0,\n", " 1.0,\n", " 1.0,\n", " 1.0,\n", " 1.0,\n", " 1.0,\n", " 1.0,\n", " 1.0,\n", " 1.0,\n", " 1.0,\n", " 1.0,\n", " 1.0,\n", " 1.0,\n", " 1.0,\n", " 1.0),\n", " (1.0,\n", " 1.0,\n", " 1.0,\n", " 1.0,\n", " 1.0,\n", " 1.0,\n", " 1.0,\n", " 1.0,\n", " 1.0,\n", " 1.0,\n", " 1.0,\n", " 1.0,\n", " 1.0,\n", " 1.0,\n", " 1.0,\n", " 1.0,\n", " 1.0,\n", " 1.0,\n", " 1.0,\n", " 1.0,\n", " 1.0,\n", " 1.0,\n", " 1.0,\n", " 1.0),\n", " (1.0,\n", " 1.0,\n", " 1.0,\n", " 1.0,\n", " 1.0,\n", " 1.0,\n", " 1.0,\n", " 1.0,\n", " 1.0,\n", " 1.0,\n", " 1.0,\n", " 1.0,\n", " 1.0,\n", " 1.0,\n", " 1.0,\n", " 1.0,\n", " 1.0,\n", " 1.0,\n", " 1.0,\n", " 1.0,\n", " 1.0,\n", " 1.0,\n", " 1.0,\n", " 1.0),\n", " (1.0,\n", " 1.0,\n", " 1.0,\n", " 1.0,\n", " 1.0,\n", " 1.0,\n", " 1.0,\n", " 1.0,\n", " 1.0,\n", " 1.0,\n", " 1.0,\n", " 1.0,\n", " 1.0,\n", " 1.0,\n", " 1.0,\n", " 1.0,\n", " 1.0,\n", " 1.0,\n", " 1.0,\n", " 1.0,\n", " 1.0,\n", " 1.0,\n", " 1.0,\n", " 1.0),\n", " (1.0,\n", " 1.0,\n", " 1.0,\n", " 1.0,\n", " 1.0,\n", " 1.0,\n", " 1.0,\n", " 1.0,\n", " 1.0,\n", " 1.0,\n", " 1.0,\n", " 1.0,\n", " 1.0,\n", " 1.0,\n", " 1.0,\n", " 1.0,\n", " 1.0,\n", " 1.0,\n", " 1.0,\n", " 1.0,\n", " 1.0,\n", " 1.0,\n", " 1.0,\n", " 1.0),\n", " (1.0,\n", " 1.0,\n", " 1.0,\n", " 1.0,\n", " 1.0,\n", " 1.0,\n", " 1.0,\n", " 1.0,\n", " 1.0,\n", " 1.0,\n", " 1.0,\n", " 1.0,\n", " 1.0,\n", " 1.0,\n", " 1.0,\n", " 1.0,\n", " 1.0,\n", " 1.0,\n", " 1.0,\n", " 1.0,\n", " 1.0,\n", " 1.0,\n", " 1.0,\n", " 1.0),\n", " (1.0,\n", " 1.0,\n", " 1.0,\n", " 1.0,\n", " 1.0,\n", " 1.0,\n", " 1.0,\n", " 1.0,\n", " 1.0,\n", " 1.0,\n", " 1.0,\n", " 1.0,\n", " 1.0,\n", " 1.0,\n", " 1.0,\n", " 1.0,\n", " 1.0,\n", " 1.0,\n", " 1.0,\n", " 1.0,\n", " 1.0,\n", " 1.0,\n", " 1.0,\n", " 1.0),\n", " (1.0,\n", " 1.0,\n", " 1.0,\n", " 1.0,\n", " 1.0,\n", " 1.0,\n", " 1.0,\n", " 1.0,\n", " 1.0,\n", " 1.0,\n", " 1.0,\n", " 1.0,\n", " 1.0,\n", " 1.0,\n", " 1.0,\n", " 1.0,\n", " 1.0,\n", " 1.0,\n", " 1.0,\n", " 1.0,\n", " 1.0,\n", " 1.0,\n", " 1.0,\n", " 1.0),\n", " (1.0,\n", " 1.0,\n", " 1.0,\n", " 1.0,\n", " 1.0,\n", " 1.0,\n", " 1.0,\n", " 1.0,\n", " 1.0,\n", " 1.0,\n", " 1.0,\n", " 1.0,\n", " 1.0,\n", " 1.0,\n", " 1.0,\n", " 1.0,\n", " 1.0,\n", " 1.0,\n", " 1.0,\n", " 1.0,\n", " 1.0,\n", " 1.0,\n", " 1.0,\n", " 1.0),\n", " (1.0,\n", " 1.0,\n", " 1.0,\n", " 1.0,\n", " 1.0,\n", " 1.0,\n", " 1.0,\n", " 1.0,\n", " 1.0,\n", " 1.0,\n", " 1.0,\n", " 1.0,\n", " 1.0,\n", " 1.0,\n", " 1.0,\n", " 1.0,\n", " 1.0,\n", " 1.0,\n", " 1.0,\n", " 1.0,\n", " 1.0,\n", " 1.0,\n", " 1.0,\n", " 1.0),\n", " (1.0,\n", " 1.0,\n", " 1.0,\n", " 1.0,\n", " 1.0,\n", " 1.0,\n", " 1.0,\n", " 1.0,\n", " 1.0,\n", " 1.0,\n", " 1.0,\n", " 1.0,\n", " 1.0,\n", " 1.0,\n", " 1.0,\n", " 1.0,\n", " 1.0,\n", " 1.0,\n", " 1.0,\n", " 1.0,\n", " 1.0,\n", " 1.0,\n", " 1.0,\n", " 1.0)),\n", " 'dispatch_tod_factors': (1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0),\n", " 'flip_target_percent': 11.0,\n", " 'flip_target_year': 20.0,\n", " 'ppa_escalation': 1.0,\n", " 'ppa_multiplier_model': 0.0,\n", " 'ppa_price_input': (0.043,),\n", " 'ppa_soln_mode': 1.0},\n", " 'FinancialParameters': {'analysis_period': 25.0,\n", " 'construction_financing_cost': 35244.49152156341,\n", " 'cost_debt_closing': 0.0,\n", " 'cost_debt_fee': 2.75,\n", " 'cost_other_financing': 0.0,\n", " 'debt_option': 1.0,\n", " 'debt_percent': 60.0,\n", " 'dscr': 1.3,\n", " 'dscr_limit_debt_fraction': 0.0,\n", " 'dscr_maximum_debt_fraction': 100.0,\n", " 'dscr_reserve_months': 6.0,\n", " 'equip1_reserve_cost': 0.1,\n", " 'equip1_reserve_freq': 15.0,\n", " 'equip2_reserve_cost': 0.0,\n", " 'equip2_reserve_freq': 15.0,\n", " 'equip3_reserve_cost': 0.0,\n", " 'equip3_reserve_freq': 3.0,\n", " 'equip_reserve_depr_fed': 0.0,\n", " 'equip_reserve_depr_sta': 0.0,\n", " 'federal_tax_rate': (21.0,),\n", " 'inflation_rate': 2.5,\n", " 'insurance_rate': 0.0,\n", " 'loan_moratorium': 0.0,\n", " 'months_receivables_reserve': 0.0,\n", " 'months_working_reserve': 6.0,\n", " 'payment_option': 0.0,\n", " 'prop_tax_assessed_decline': 0.0,\n", " 'prop_tax_cost_assessed_percent': 100.0,\n", " 'property_tax_rate': 0.0,\n", " 'real_discount_rate': 6.4,\n", " 'reserves_interest': 1.75,\n", " 'salvage_percentage': 0.0,\n", " 'state_tax_rate': (7.0,),\n", " 'system_capacity': 100003.0,\n", " 'term_int_rate': 7.0,\n", " 'term_tenor': 18.0},\n", " 'SystemCosts': {'om_capacity': (15.0,),\n", " 'om_capacity_escal': 0.0,\n", " 'om_fixed': (0.0,),\n", " 'om_fixed_escal': 0.0,\n", " 'om_production': (0.0,),\n", " 'om_production_escal': 0.0,\n", " 'total_installed_cost': 1342647.2960595584},\n", " 'LandLease': {'land_area': 7.355702940057229,\n", " 'om_land_lease': (0.0,),\n", " 'om_land_lease_escal': 0.0},\n", " 'TaxCreditIncentives': {'itc_fed_amount': (0.0,),\n", " 'itc_fed_amount_deprbas_fed': 1.0,\n", " 'itc_fed_amount_deprbas_sta': 1.0,\n", " 'itc_fed_percent': (0.0,),\n", " 'itc_fed_percent_deprbas_fed': 1.0,\n", " 'itc_fed_percent_deprbas_sta': 1.0,\n", " 'itc_fed_percent_maxvalue': (1e+38,),\n", " 'itc_sta_amount': (0.0,),\n", " 'itc_sta_amount_deprbas_fed': 0.0,\n", " 'itc_sta_amount_deprbas_sta': 0.0,\n", " 'itc_sta_percent': (0.0,),\n", " 'itc_sta_percent_deprbas_fed': 0.0,\n", " 'itc_sta_percent_deprbas_sta': 0.0,\n", " 'itc_sta_percent_maxvalue': (1e+38,),\n", " 'ptc_fed_amount': (0.0275,),\n", " 'ptc_fed_escal': 2.5,\n", " 'ptc_fed_term': 10.0,\n", " 'ptc_sta_amount': (0.0,),\n", " 'ptc_sta_escal': 0.0,\n", " 'ptc_sta_term': 10.0},\n", " 'Depreciation': {'depr_alloc_custom_percent': 0.0,\n", " 'depr_alloc_macrs_15_percent': 1.5,\n", " 'depr_alloc_macrs_5_percent': 90.0,\n", " 'depr_alloc_sl_15_percent': 2.5,\n", " 'depr_alloc_sl_20_percent': 3.0,\n", " 'depr_alloc_sl_39_percent': 0.0,\n", " 'depr_alloc_sl_5_percent': 0.0,\n", " 'depr_bonus_fed': 0.0,\n", " 'depr_bonus_fed_custom': 0.0,\n", " 'depr_bonus_fed_macrs_15': 1.0,\n", " 'depr_bonus_fed_macrs_5': 1.0,\n", " 'depr_bonus_fed_sl_15': 0.0,\n", " 'depr_bonus_fed_sl_20': 0.0,\n", " 'depr_bonus_fed_sl_39': 0.0,\n", " 'depr_bonus_fed_sl_5': 0.0,\n", " 'depr_bonus_sta': 0.0,\n", " 'depr_bonus_sta_custom': 0.0,\n", " 'depr_bonus_sta_macrs_15': 1.0,\n", " 'depr_bonus_sta_macrs_5': 1.0,\n", " 'depr_bonus_sta_sl_15': 0.0,\n", " 'depr_bonus_sta_sl_20': 0.0,\n", " 'depr_bonus_sta_sl_39': 0.0,\n", " 'depr_bonus_sta_sl_5': 0.0,\n", " 'depr_custom_schedule': (0.0,),\n", " 'depr_fedbas_method': 1.0,\n", " 'depr_itc_fed_custom': 0.0,\n", " 'depr_itc_fed_macrs_15': 0.0,\n", " 'depr_itc_fed_macrs_5': 1.0,\n", " 'depr_itc_fed_sl_15': 0.0,\n", " 'depr_itc_fed_sl_20': 0.0,\n", " 'depr_itc_fed_sl_39': 0.0,\n", " 'depr_itc_fed_sl_5': 0.0,\n", " 'depr_itc_sta_custom': 0.0,\n", " 'depr_itc_sta_macrs_15': 0.0,\n", " 'depr_itc_sta_macrs_5': 1.0,\n", " 'depr_itc_sta_sl_15': 0.0,\n", " 'depr_itc_sta_sl_20': 0.0,\n", " 'depr_itc_sta_sl_39': 0.0,\n", " 'depr_itc_sta_sl_5': 0.0,\n", " 'depr_stabas_method': 1.0},\n", " 'PaymentIncentives': {'cbi_fed_amount': 0.0,\n", " 'cbi_fed_deprbas_fed': 0.0,\n", " 'cbi_fed_deprbas_sta': 0.0,\n", " 'cbi_fed_maxvalue': 1e+38,\n", " 'cbi_fed_tax_fed': 1.0,\n", " 'cbi_fed_tax_sta': 1.0,\n", " 'cbi_oth_amount': 0.0,\n", " 'cbi_oth_deprbas_fed': 0.0,\n", " 'cbi_oth_deprbas_sta': 0.0,\n", " 'cbi_oth_maxvalue': 1e+38,\n", " 'cbi_oth_tax_fed': 1.0,\n", " 'cbi_oth_tax_sta': 1.0,\n", " 'cbi_sta_amount': 0.0,\n", " 'cbi_sta_deprbas_fed': 0.0,\n", " 'cbi_sta_deprbas_sta': 0.0,\n", " 'cbi_sta_maxvalue': 1e+38,\n", " 'cbi_sta_tax_fed': 1.0,\n", " 'cbi_sta_tax_sta': 1.0,\n", " 'cbi_uti_amount': 0.0,\n", " 'cbi_uti_deprbas_fed': 0.0,\n", " 'cbi_uti_deprbas_sta': 0.0,\n", " 'cbi_uti_maxvalue': 1e+38,\n", " 'cbi_uti_tax_fed': 1.0,\n", " 'cbi_uti_tax_sta': 1.0,\n", " 'ibi_fed_amount': 0.0,\n", " 'ibi_fed_amount_deprbas_fed': 0.0,\n", " 'ibi_fed_amount_deprbas_sta': 0.0,\n", " 'ibi_fed_amount_tax_fed': 1.0,\n", " 'ibi_fed_amount_tax_sta': 1.0,\n", " 'ibi_fed_percent': 0.0,\n", " 'ibi_fed_percent_deprbas_fed': 0.0,\n", " 'ibi_fed_percent_deprbas_sta': 0.0,\n", " 'ibi_fed_percent_maxvalue': 1e+38,\n", " 'ibi_fed_percent_tax_fed': 1.0,\n", " 'ibi_fed_percent_tax_sta': 1.0,\n", " 'ibi_oth_amount': 0.0,\n", " 'ibi_oth_amount_deprbas_fed': 0.0,\n", " 'ibi_oth_amount_deprbas_sta': 0.0,\n", " 'ibi_oth_amount_tax_fed': 1.0,\n", " 'ibi_oth_amount_tax_sta': 1.0,\n", " 'ibi_oth_percent': 0.0,\n", " 'ibi_oth_percent_deprbas_fed': 0.0,\n", " 'ibi_oth_percent_deprbas_sta': 0.0,\n", " 'ibi_oth_percent_maxvalue': 1e+38,\n", " 'ibi_oth_percent_tax_fed': 1.0,\n", " 'ibi_oth_percent_tax_sta': 1.0,\n", " 'ibi_sta_amount': 0.0,\n", " 'ibi_sta_amount_deprbas_fed': 0.0,\n", " 'ibi_sta_amount_deprbas_sta': 0.0,\n", " 'ibi_sta_amount_tax_fed': 1.0,\n", " 'ibi_sta_amount_tax_sta': 1.0,\n", " 'ibi_sta_percent': 0.0,\n", " 'ibi_sta_percent_deprbas_fed': 0.0,\n", " 'ibi_sta_percent_deprbas_sta': 0.0,\n", " 'ibi_sta_percent_maxvalue': 1e+38,\n", " 'ibi_sta_percent_tax_fed': 1.0,\n", " 'ibi_sta_percent_tax_sta': 1.0,\n", " 'ibi_uti_amount': 0.0,\n", " 'ibi_uti_amount_deprbas_fed': 0.0,\n", " 'ibi_uti_amount_deprbas_sta': 0.0,\n", " 'ibi_uti_amount_tax_fed': 1.0,\n", " 'ibi_uti_amount_tax_sta': 1.0,\n", " 'ibi_uti_percent': 0.0,\n", " 'ibi_uti_percent_deprbas_fed': 0.0,\n", " 'ibi_uti_percent_deprbas_sta': 0.0,\n", " 'ibi_uti_percent_maxvalue': 1e+38,\n", " 'ibi_uti_percent_tax_fed': 1.0,\n", " 'ibi_uti_percent_tax_sta': 1.0,\n", " 'pbi_fed_amount': (0.0,),\n", " 'pbi_fed_escal': 0.0,\n", " 'pbi_fed_for_ds': 0.0,\n", " 'pbi_fed_tax_fed': 1.0,\n", " 'pbi_fed_tax_sta': 1.0,\n", " 'pbi_fed_term': 10.0,\n", " 'pbi_oth_amount': (0.0,),\n", " 'pbi_oth_escal': 0.0,\n", " 'pbi_oth_for_ds': 0.0,\n", " 'pbi_oth_tax_fed': 1.0,\n", " 'pbi_oth_tax_sta': 1.0,\n", " 'pbi_oth_term': 10.0,\n", " 'pbi_sta_amount': (0.0,),\n", " 'pbi_sta_escal': 0.0,\n", " 'pbi_sta_for_ds': 0.0,\n", " 'pbi_sta_tax_fed': 1.0,\n", " 'pbi_sta_tax_sta': 1.0,\n", " 'pbi_sta_term': 10.0,\n", " 'pbi_uti_amount': (0.0,),\n", " 'pbi_uti_escal': 0.0,\n", " 'pbi_uti_for_ds': 0.0,\n", " 'pbi_uti_tax_fed': 1.0,\n", " 'pbi_uti_tax_sta': 1.0,\n", " 'pbi_uti_term': 10.0},\n", " 'BatterySystem': {'en_batt': 0.0, 'en_wave_batt': 0.0},\n", " 'ElectricityRates': {'en_electricity_rates': 0.0, 'rate_escalation': (0.0,)},\n", " 'SystemOutput': {'degradation': (0.0,),\n", " 'gen': (0.0,),\n", " 'system_capacity': 100003.0},\n", " 'UtilityBill': {},\n", " 'Lifetime': {'system_use_lifetime_output': 1.0},\n", " 'FuelCell': {},\n", " 'CapacityPayments': {'cp_battery_nameplate': 0.0,\n", " 'cp_capacity_credit_percent': (0.0,),\n", " 'cp_capacity_payment_amount': (0.0,),\n", " 'cp_capacity_payment_esc': 0.0,\n", " 'cp_capacity_payment_type': 0.0,\n", " 'cp_system_nameplate': 1.1535315638278083},\n", " 'GridLimits': {'grid_curtailment_price': (0.0,),\n", " 'grid_curtailment_price_esc': 0.0},\n", " 'LCOS': {'batt_salvage_percentage': 0.0},\n", " 'ChargesByMonth': {},\n", " 'HybridFin': {},\n", " 'Monthly': {},\n", " 'Outputs': {'flip_target_year': 20.0, 'ppa_escalation': 1.0}}" ] }, "execution_count": 15, "metadata": {}, "output_type": "execute_result" } ], "source": [ "so_model.export() #View inputs" ] }, { "cell_type": "markdown", "id": "c5d9f756-1ff5-44a1-a32c-5fac75ef7f52", "metadata": {}, "source": [ "## Energy input to Financial Model\n", "- Financial model needs timeseries power production (kWAC)\n", "- SAM calculates for annual degradation, set system_use_lifetime_output to 0 for single year of results\n", "- system_use_lifetime_output = 0 for AC degradation, = 1 for DC degradation (multi-year time series)\n", "- Set annual degradation as a flat %/yr or annual schedule" ] }, { "cell_type": "code", "execution_count": 16, "id": "13884504-bb6e-47a2-b7f4-27e2126b4c23", "metadata": {}, "outputs": [], "source": [ "so_model.SystemOutput.gen = mc.results.ac / 1000 #kWAC\n", "so_model.Lifetime.system_use_lifetime_output = 0 \n", "so_model.SystemOutput.degradation = [0.5] #%/yr\n", "so_model.FinancialParameters.system_capacity = 1153.53 #DC capacity, needed for O&M scaling" ] }, { "attachments": { "1f105896-7daf-4f0c-880d-7adc729a9e52.png": { "image/png": "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" } }, "cell_type": "markdown", "id": "e3644f6e-cc8d-4bed-864f-b0bd6d5870a1", "metadata": {}, "source": [ "## Costs\n", "- SAM has various cost categories used to calculate total capex, opex\n", "- Only total capex is passed to financial model\n", "- opex categories ( / kW/yr, $/yr, $/kWh/yr) are passed to financial model\n", "\n", "![capex.png](attachment:1f105896-7daf-4f0c-880d-7adc729a9e52.png)" ] }, { "cell_type": "code", "execution_count": 17, "id": "a54f2051-82fc-44fb-8bb0-dca8b75ba99e", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "(0.0,)\n" ] } ], "source": [ "#Modify cost values\n", "so_model.SystemCosts.total_installed_cost = 1350000 #$ (Capex)\n", "#Capacity based OM - can be single value or annual schedule, enter as an array of size 1 for fixed input\n", "so_model.SystemCosts.om_capacity = [15] #$/kW/yr (Opex)\n", "print(so_model.SystemCosts.om_fixed) #Show that fixed O&M costs are $0, only capacity based OM in this example" ] }, { "attachments": { "abd4d492-7481-4e86-985c-ce1f7f5c64a3.png": { "image/png": "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" } }, "cell_type": "markdown", "id": "b522f0fc-3da1-4667-97e9-deb948904652", "metadata": {}, "source": [ "## Revenue\n", "- ppa_soln_mode: 2 different solution modes\n", " 1. Specify IRR target: PPA price is unknown, iteratively solve for PPA price that gives desired IRR target in target year\n", " 2. Specify PPA price: PPA price is known, is used to calculate IRR of project\n", "\n", "![ppa_revenue.png](attachment:abd4d492-7481-4e86-985c-ce1f7f5c64a3.png)" ] }, { "cell_type": "code", "execution_count": 18, "id": "3aeea3c7-037e-4f76-a1c5-1a4fcf670e41", "metadata": {}, "outputs": [], "source": [ "#Modify revenue, PPA\n", "so_model.Revenue.ppa_soln_mode = 1 #Specify PPA Price\n", "#PPA price can be single value, annual schedule\n", "#Can also add an escalation rate, inflation does not apply\n", "so_model.Revenue.ppa_price_input = [0.055] #5.5 cents/kWh\n", "\n", "#Alternate - Specify IRR target\n", "#so_model.Revenue.ppa_soln_mode = 0 #Specify IRR target\n", "# so_model.Revenue.flip_target_percent = 11 #%\n", "# so_model.Revenue.flip_target_year = 20\n", "# so_model.Revenue.ppa_escalation = 1 #%/yr\n" ] }, { "cell_type": "markdown", "id": "827f0427-e5f9-41a2-81da-eb615428dee0", "metadata": {}, "source": [ "## Financing\n", "- Project term debt\n", "- Inflation rate\n", "- Analysis period (period of performance)\n", "- Construction financing" ] }, { "cell_type": "code", "execution_count": 19, "id": "15ea6952-822f-44f8-b62c-196be13d9991", "metadata": {}, "outputs": [], "source": [ "so_model.FinancialParameters.inflation_rate = 2.5 #%/yr\n", "so_model.FinancialParameters.term_int_rate = 7 #%, annual interest rate\n", "so_model.FinancialParameters.analysis_period = 25 #yrs, analysis period\n", "so_model.FinancialParameters.construction_financing_cost = 35244.49 #$, total construction financing cost\n", "so_model.FinancialParameters.real_discount_rate = 6.4 #%/yr\n", "#Construction financing cost linked to total installed cost, any changes to total installed cost should include updates to any construction financing costs" ] }, { "cell_type": "markdown", "id": "f4149c9e-aa41-4bd0-a87c-379c98eed9b5", "metadata": {}, "source": [ "## Incentives\n", "- Investment Tax Credit\n", "- Production Tax Credit\n", "- Other investment based incentives (IBI), capacity based incentives (CBI), production based incentives (PBI)" ] }, { "cell_type": "code", "execution_count": 20, "id": "e0f0b378-4673-4722-b594-f04548ca51d8", "metadata": {}, "outputs": [], "source": [ "#Set investment tax credit\n", "so_model.TaxCreditIncentives.itc_fed_percent = [0] #%\n", "so_model.TaxCreditIncentives.ptc_fed_amount = [0.0275] #$/kWh\n", "so_model.TaxCreditIncentives.ptc_fed_term = 10 #years\n", "so_model.TaxCreditIncentives.ptc_fed_escal = 2.5 #%/yr\n", "so_model.PaymentIncentives.ibi_fed_amount = 0 #$ Federal investment based incentives" ] }, { "cell_type": "markdown", "id": "b5d8384d-5ef1-4d51-a26d-3f0fc0e0f8c3", "metadata": {}, "source": [ "## Results\n", "- Annual cashflows\n", "- Net Present Value\n", "- Internal Rate of Return\n", "- Levelized Cost of Energy\n", "- Other metrics and annual cashflow information" ] }, { "cell_type": "code", "execution_count": 21, "id": "e0b193a8-d4e1-49df-a07e-4fefb968c306", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Net Present Value: -20558.617404061835\n", "Internal Rate of Return: 7.176400789734087\n", "Levelized cost of energy (nominal): 4.83350644904887 cents/kWh\n" ] }, { "data": { "text/plain": [ "Text(0.5, 1.0, 'Project After-tax Cash Flow')" ] }, "execution_count": 21, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAmEAAAHHCAYAAAD3WI8lAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjkuMCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy80BEi2AAAACXBIWXMAAA9hAAAPYQGoP6dpAABD1ElEQVR4nO3df3zP9f7/8ft7Y7+wDZvNMgxlMVGTmVDYx/zKEfUlTtEhKfJjwqjjR6dyolNSfpw6n2PqEEc6/UDT2vyKRU0KsYMIMfJjezNstj2/f/Td++udmfe0ebXtdr1cXpf2fr0er9fr8X6d1+l97/V6vZ9vmzHGCAAAADeVm9UNAAAAVEaEMAAAAAsQwgAAACxACAMAALAAIQwAAMAChDAAAAALEMIAAAAsQAgDAACwACEMAADAAoQwAC5r2LChhgwZYnUbN+Srr75Su3btVK1aNdlsNu3YscPqliqN9evXy2az6f333y/T/ZTn8xOVEyEMKOcSEhJks9kck5eXl2677TaNGjVKJ06csLq9EnnppZf04Ycflni9PXv2ON57ZmbmVcsvX76shx56SGfOnNFrr72md999Vw0aNND8+fOVkJDwm/t21ffff6/p06fr0KFDN22fRdmxY4f++Mc/KjQ0VJ6enqpVq5ZiYmK0aNEi5efnW9pbUX59jl85xcfHW90ecMOqWN0AgNLx/PPPKywsTJcuXdIXX3yhBQsWaM2aNdq1a5d8fHxKZR/p6elycyu7/3Z76aWX9OCDD6pPnz4lWu9f//qXgoODdfbsWb3//vsaNmyY0/IDBw7oxx9/1Ntvv+20bP78+QoICLhpV0++//57zZgxQ/fdd58aNmx4U/b5a//4xz80YsQIBQUF6ZFHHtGtt96qc+fOKTk5WUOHDtXx48c1ZcoUS3q7nsJz/EoREREWdQP8doQwoILo3r27WrduLUkaNmyYateurVdffVUfffSRHn744SLXyc7OVrVq1Vzeh6enZ6n0WpqMMVq6dKkGDhyogwcPasmSJVeFsJMnT0qS/P39y7yfvLw8FRQUyMPDo8z3VVJffvmlRowYoejoaK1Zs0Y1atRwLBs7dqy+/vpr7dq1y8IOi3flOQ5UBNyOBCqozp07S5IOHjwoSRoyZIiqV6+uAwcOqEePHqpRo4YGDRok6ZcwNn78eMftqaZNm+qVV16RMcZpm0U9c5OZmamxY8c61m3SpIlefvllFRQUONUVFBTo9ddfV4sWLeTl5aXAwEB169ZNX3/9tSTJZrMpOztbixcvdtxqcuUK1ebNm3Xo0CENGDBAAwYM0MaNG3X06FHH8iFDhujee++VJD300EOy2WyOK1G7d+/Whg0bHPu77777SvS+Dh06JJvNpldeeUVz5sxR48aN5enpqe+///6qPhMSEvTQQw9Jkjp16uTY5/r16yVJH330kXr27KmQkBB5enqqcePG+stf/uJ0e3DPnj3y9vbWo48+6rTtL774Qu7u7po0aVKxx2rGjBmy2WxasmSJUwAr1Lp1a6dj/sorr6hdu3aqXbu2vL29FRkZWeRzXUlJSWrfvr38/f1VvXp1NW3atMiraQUFBXrxxRdVr149eXl5qUuXLtq/f3+xPf9WP/zwgx566CHVqlVLPj4+atu2rVavXu1YboxRQECA4uLinPr09/eXu7u70+3tl19+WVWqVNH58+fLtGdUHlwJAyqoAwcOSJJq167tmJeXl6fY2Fi1b99er7zyinx8fGSMUe/evbVu3ToNHTpUrVq10tq1azVhwgT99NNPeu211665jwsXLujee+/VTz/9pCeeeEL169fXli1bNHnyZB0/flxz5sxx1A4dOlQJCQnq3r27hg0bpry8PG3atElffvmlWrdurXfffVfDhg1TmzZtNHz4cElS48aNr/s+lyxZosaNG+vuu+9WRESEfHx89N5772nChAmSpCeeeEK33HKLXnrpJY0ePVp33323goKClJ2draefflrVq1fXs88+K0kKCgoq8fuSpEWLFunSpUsaPny44xmrX+vYsaNGjx6tuXPnasqUKbr99tslyfHPhIQEVa9eXXFxcapevbpSUlI0depU2e12zZ4921H7l7/8RRMmTNCDDz6o3r17Kzs7W0OGDFF4eLief/75Yv+3Sk5OVseOHVW/fv3rHldJev3119W7d28NGjRIubm5WrZsmR566CGtWrVKPXv2lCTt3r1bvXr10h133KHnn39enp6e2r9/vzZv3nzV9v7617/Kzc1NzzzzjLKysjRr1iwNGjRIW7dudamfrKwsnTp1ymleQEDANetPnDihdu3a6cKFCxo9erRq166txYsXq3fv3nr//ff1wAMPyGaz6Z577tHGjRsd63333XfKysqSm5ubNm/e7HivmzZt0p133qnq1au71C9wXQZAubZo0SIjyXz++efm559/NkeOHDHLli0ztWvXNt7e3ubo0aPGGGMGDx5sJJn4+Hin9T/88EMjybzwwgtO8x988EFjs9nM/v37HfMaNGhgBg8e7Hj9l7/8xVSrVs3897//dVo3Pj7euLu7m8OHDxtjjElJSTGSzOjRo6/qv6CgwPF3tWrVnLZ/Pbm5uaZ27drm2WefdcwbOHCgadmypVPdunXrjCSzYsUKp/nNmzc3995771XbdfV9HTx40Egyvr6+5uTJk9ftd8WKFUaSWbdu3VXLLly4cNW8J554wvj4+JhLly455uXn55v27duboKAgc+rUKTNy5EhTpUoV89VXXxW772+//dZIMmPGjLlun9fqKTc310RERJjOnTs75r322mtGkvn555+vuZ3C43/77bebnJwcx/zXX3/dSDI7d+4sto/Cc7yo6Uq/Pj/Hjh1rJJlNmzY55p07d86EhYWZhg0bmvz8fGOMMbNnzzbu7u7GbrcbY4yZO3euadCggWnTpo2ZNGmSMeaX4+7v72/GjRtXbK9ASXA7EqggYmJiFBgYqNDQUA0YMEDVq1fXf/7zH91yyy1OdU8++aTT6zVr1sjd3V2jR492mj9+/HgZY/Tpp59ec58rVqxQhw4dVLNmTZ06dcoxxcTEKD8/33F1YeXKlbLZbJo2bdpV27DZbDf6lvXpp5/q9OnTTs+8Pfzww/r222+1e/fuG96uq++rUL9+/RQYGHjD+5Mkb29vx9/nzp3TqVOn1KFDB124cEF79+51LHNzc1NCQoLOnz+v7t27a/78+Zo8efJ1n5Wy2+2SVORtSFd6Onv2rLKystShQwdt377dMb/wObuPPvroqlvQv/bYY485PSvXoUMHSb/cMnTFvHnzlJSU5DQVZ82aNWrTpo3at2/vmFe9enUNHz5chw4dctw27tChg/Lz87VlyxZJv1zx6tChgzp06KBNmzZJknbt2qXMzExHz0Bp4HYkUEHMmzdPt912m6pUqaKgoCA1bdr0qm8yVqlSRfXq1XOa9+OPPyokJOSqD+fC22Q//vjjNfe5b98+fffdd9cMIIUPxB84cEAhISFF3qb7Lf71r38pLCzMcQtM+uUWpo+Pj5YsWaKXXnrphrbr6vsq9Otv7GVkZDi99vPzcwo0Rdm9e7eee+45paSkOAJToaysLKfXjRs31vTp0zVhwgRFREToz3/+c7HbliRfX19JvwQ8V61atUovvPCCduzYoZycHMf8K4Nz//799Y9//EPDhg1TfHy8unTpor59++rBBx+86vz79W3QmjVrSvol4LmiTZs2JXow/8cff1RUVNRV8688tyMiInTXXXfJx8dHmzZtUmxsrDZt2qQZM2YoODhYb7zxhi5duuQIY1cGOuC3IoQBFYQrH1Cenp6lOsREQUGB/ud//kcTJ04scvltt91Wavv6Nbvdrk8++USXLl3SrbfeetXypUuX6sUXX7yhK20lfV+/Dlh169Z1er1o0aJiv2SQmZmpe++9V76+vnr++efVuHFjeXl5afv27Zo0aVKRV5g+++wzSdKxY8d0+vRpBQcHF/uemjRpoipVqmjnzp3F1hXatGmTevfurY4dO2r+/PmqW7euqlatqkWLFmnp0qWOOm9vb23cuFHr1q3T6tWrlZiYqOXLl6tz58767LPP5O7u7qi98u8rmV99AeRmq1q1qqKiorRx40bt379fGRkZ6tChg4KCgnT58mVt3bpVmzZtUnh4+G++4glciRAGVHINGjTQ559/rnPnzjldDSu8BdagQYNrrtu4cWOdP39eMTExxe6jcePGWrt2rc6cOVPs1bCSBKYPPvhAly5d0oIFC656ODs9PV3PPfecNm/eXOyVi2vtz9X3dS2/vk3WvHnzYve3fv16nT59Wh988IE6duzomF/4zdZfW7hwoZKSkvTiiy9q5syZeuKJJ/TRRx8V25OPj486d+6slJQUHTlyRKGhocXWr1y5Ul5eXlq7dq3T0CSLFi26qtbNzU1dunRRly5d9Oqrr+qll17Ss88+q3Xr1t3wMSwNDRo0UHp6+lXzizq3O3TooJdfflmff/65AgICFB4eLpvNpubNm2vTpk3atGmTevXqddN6R+XAM2FAJdejRw/l5+frzTffdJr/2muvyWazqXv37tdc9//8n/+j1NRUrV279qplmZmZysvLk/TLM1PGGM2YMeOquiuvglSrVq3IEe+L8q9//UuNGjXSiBEj9OCDDzpNzzzzjKpXr64lS5YUu41r7c/V93UtMTExTlPhlbHCMdl+vc/CK0RXHovc3FzNnz//qm0fPHhQEyZMUL9+/TRlyhS98sor+vjjj/XOO+8U25MkTZs2TcYYPfLII0UOs5CWlqbFixc7erLZbE5DZBw6dOiqXzQ4c+bMVdtp1aqVJDndwrRCjx49tG3bNqWmpjrmZWdn66233lLDhg3VrFkzx/wOHTooJydHc+bMUfv27R2BuUOHDnr33Xd17NgxngdDqeNKGFDJ3X///erUqZOeffZZHTp0SC1bttRnn32mjz76SGPHji12mIgJEybo448/Vq9evTRkyBBFRkYqOztbO3fu1Pvvv69Dhw4pICBAnTp10iOPPKK5c+dq37596tatmwoKCrRp0yZ16tRJo0aNkiRFRkbq888/16uvvqqQkBCFhYUV+UzPsWPHtG7duqu+TFDI09NTsbGxWrFihebOnXvN/iMjI7VgwQK98MILatKkierUqaPOnTu7/L5KqlWrVnJ3d9fLL7+srKwseXp6qnPnzmrXrp1q1qypwYMHa/To0bLZbHr33Xevuk1njNGf/vQneXt7a8GCBZJ+GYJj5cqVGjNmjGJiYhQSEnLN/bdr107z5s3TU089pfDwcKcR89evX6+PP/5YL7zwgiSpZ8+eevXVV9WtWzcNHDhQJ0+e1Lx589SkSRN99913jm0+//zz2rhxo3r27KkGDRro5MmTmj9/vurVq2f581Px8fF677331L17d40ePVq1atXS4sWLdfDgQa1cudLp1nx0dLSqVKmi9PR0xxAp0i9DixQea0IYSp11X8wEUBoKv75/vSEKBg8ebKpVq1bksnPnzplx48aZkJAQU7VqVXPrrbea2bNnOw0fYczVQwAUrjt58mTTpEkT4+HhYQICAky7du3MK6+8YnJzcx11eXl5Zvbs2SY8PNx4eHiYwMBA0717d5OWluao2bt3r+nYsaPx9vY2kq45XMXf/vY3I8kkJydf8/0mJCQYSeajjz665hAVGRkZpmfPnqZGjRpGktNwFa68r8IhKmbPnn3NPn7t7bffNo0aNTLu7u5Ow1Vs3rzZtG3b1nh7e5uQkBAzceJEs3btWqeawiEdVq5c6bTNw4cPG19fX9OjRw+XekhLSzMDBw50/O9ds2ZN06VLF7N48WLHsA3GGPO///u/5tZbbzWenp4mPDzcLFq0yEybNs1paIjk5GTzhz/8wYSEhBgPDw8TEhJiHn74YafhPa51/AuP36JFi4rt19VzvKjz88CBA+bBBx80/v7+xsvLy7Rp08asWrWqyPXvvvtuI8ls3brVMe/o0aNGkgkNDS1238CN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BgAAYAFCGAAAgAUIYQAAABYghAEAAFiAEAYAAGABQhgAAIAFCGEAAAAWIIQBAABYgBAGAABgAUIYAACABQhhAAAAFiCEAQAAWIAQBgAAYAFCGAAAgAUIYQAAABYghAEAAFiAEAYAAGCBchXCVq9eraioKHl7e6tmzZrq06eP0/LDhw+rZ8+e8vHxUZ06dTRhwgTl5eU51axfv1533XWXPD091aRJEyUkJFy1n3nz5qlhw4by8vJSVFSUtm3b5rT80qVLGjlypGrXrq3q1aurX79+OnHiRIl7AQAAlVe5CWErV67UI488oscee0zffvutNm/erIEDBzqW5+fnq2fPnsrNzdWWLVu0ePFiJSQkaOrUqY6agwcPqmfPnurUqZN27NihsWPHatiwYVq7dq2jZvny5YqLi9O0adO0fft2tWzZUrGxsTp58qSjZty4cfrkk0+0YsUKbdiwQceOHVPfvn1L1AsAAKjcbMYYY3UT15OXl6eGDRtqxowZGjp0aJE1n376qXr16qVjx44pKChIkrRw4UJNmjRJP//8szw8PDRp0iStXr1au3btcqw3YMAAZWZmKjExUZIUFRWlu+++W2+++aYkqaCgQKGhoXr66acVHx+vrKwsBQYGaunSpXrwwQclSXv37tXtt9+u1NRUtW3b1qVeXGG32+Xn56esrCz5+vre2MG7hobxq29ovUN/7VmqfQAAUNG4+vldLq6Ebd++XT/99JPc3Nx05513qm7duurevbtTmEpNTVWLFi0coUeSYmNjZbfbtXv3bkdNTEyM07ZjY2OVmpoqScrNzVVaWppTjZubm2JiYhw1aWlpunz5slNNeHi46tev76hxpZei5OTkyG63O00AAKBiKhch7IcffpAkTZ8+Xc8995xWrVqlmjVr6r777tOZM2ckSRkZGU6hR5LjdUZGRrE1drtdFy9e1KlTp5Sfn19kzZXb8PDwkL+/f7E11+ulKDNnzpSfn59jCg0NLf7AAACAcsvSEBYfHy+bzVbstHfvXhUUFEiSnn32WfXr10+RkZFatGiRbDabVqxYYeVbKFWTJ09WVlaWYzpy5IjVLQEAgDJSxcqdjx8/XkOGDCm2plGjRjp+/LgkqVmzZo75np6eatSokQ4fPixJCg4OvupbjIXfWAwODnb889ffYjxx4oR8fX3l7e0td3d3ubu7F1lz5TZyc3OV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rMYD9gAAWMyUAz///LOpXbu26du3r9mxY4dJT083zzzzjKlatarZsWOHMcaYvLw8ExERYbp27Wp27NhhEhMTTWBgoJk8ebJjOz/88IPx8fExEyZMMHv27DHz5s0z7u7uJjEx0VGzbNky4+npaRISEsz3339vhg8fbvz9/U1GRoajZsSIEaZ+/fomJSXFfP311yY6OtpER0c7lrvSiyuysrKMJJOVlXWjhw4AANxkrn5+l4sQZowxX331lenataupVauWqVGjhmnbtq1Zs2aNU82hQ4dM9+7djbe3twkICDDjx483ly9fdqpZt26dadWqlfHw8DCNGjUyixYtumpfb7zxhqlfv77x8PAwbdq0MV9++aXT8osXL5qnnnrK1KxZ0/j4+JgHHnjAHD9+vMS9XA8hDACA8sfVz+9yMU5YZVWW44QBAICyUaHGCQMAAKhoCGEAAAAWIIQBAABYgBAGAABgAUIYAACABQhhAAAAFiCEAQAAWIAQBgAAYAFCGAAAgAUIYQAAABYghAEAAFiAEAYAAGCBKlY3gGsr/G11u91ucScAAMBVhZ/bhZ/j10II+x07d+6cJCk0NNTiTgAAQEmdO3dOfn5+11xuM9eLabBMQUGBjh07pho1ashms92UfdrtdoWGhurIkSPy9fW9KfusLDi2ZYvjW3Y4tmWL41t2rDq2xhidO3dOISEhcnO79pNfXAn7HXNzc1O9evUs2bevry//MigjHNuyxfEtOxzbssXxLTtWHNviroAV4sF8AAAACxDCAAAALEAIgxNPT09NmzZNnp6eVrdS4XBsyxbHt+xwbMsWx7fs/N6PLQ/mAwAAWIArYQAAABYghAEAAFiAEAYAAGABQhgAAIAFCGFwMm/ePDVs2FBeXl6KiorStm3brG6p3Js+fbpsNpvTFB4ebnVb5dbGjRt1//33KyQkRDabTR9++KHTcmOMpk6dqrp168rb21sxMTHat2+fNc2WM9c7tkOGDLnqXO7WrZs1zZYzM2fO1N13360aNWqoTp066tOnj9LT051qLl26pJEjR6p27dqqXr26+vXrpxMnTljUcfnhyrG97777rjp3R4wYYVHH/x8hDA7Lly9XXFycpk2bpu3bt6tly5aKjY3VyZMnrW6t3GvevLmOHz/umL744gurWyq3srOz1bJlS82bN6/I5bNmzdLcuXO1cOFCbd26VdWqVVNsbKwuXbp0kzstf653bCWpW7duTufye++9dxM7LL82bNigkSNH6ssvv1RSUpIuX76srl27Kjs721Ezbtw4ffLJJ1qxYoU2bNigY8eOqW/fvhZ2XT64cmwl6fHHH3c6d2fNmmVRx1cwwP/Tpk0bM3LkSMfr/Px8ExISYmbOnGlhV+XftGnTTMuWLa1uo0KSZP7zn/84XhcUFJjg4GAze/Zsx7zMzEzj6elp3nvvPQs6LL9+fWyNMWbw4MHmD3/4gyX9VDQnT540ksyGDRuMMb+cp1WrVjUrVqxw1OzZs8dIMqmpqVa1WS79+tgaY8y9995rxowZY11T18CVMEiScnNzlZaWppiYGMc8Nzc3xcTEKDU11cLOKoZ9+/YpJCREjRo10qBBg3T48GGrW6qQDh48qIyMDKfz2M/PT1FRUZzHpWT9+vWqU6eOmjZtqieffFKnT5+2uqVyKSsrS5JUq1YtSVJaWpouX77sdO6Gh4erfv36nLsl9OtjW2jJkiUKCAhQRESEJk+erAsXLljRnhN+wBuSpFOnTik/P19BQUFO84OCgrR3716LuqoYoqKilJCQoKZNm+r48eOaMWOGOnTooF27dqlGjRpWt1ehZGRkSFKR53HhMty4bt26qW/fvgoLC9OBAwc0ZcoUde/eXampqXJ3d7e6vXKjoKBAY8eO1T333KOIiAhJv5y7Hh4e8vf3d6rl3C2Zoo6tJA0cOFANGjRQSEiIvvvuO02aNEnp6en64IMPLOyWEAaUue7duzv+vuOOOxQVFaUGDRro3//+t4YOHWphZ0DJDBgwwPF3ixYtdMcdd6hx48Zav369unTpYmFn5cvIkSO1a9cung0tA9c6tsOHD3f83aJFC9WtW1ddunTRgQMH1Lhx45vdpgO3IyFJCggIkLu7+1XfxDlx4oSCg4Mt6qpi8vf312233ab9+/db3UqFU3iuch7fHI0aNVJAQADncgmMGjVKq1at0rp161SvXj3H/ODgYOXm5iozM9OpnnPXddc6tkWJioqSJMvPXUIYJEkeHh6KjIxUcnKyY15BQYGSk5MVHR1tYWcVz/nz53XgwAHVrVvX6lYqnLCwMAUHBzudx3a7XVu3buU8LgNHjx7V6dOnOZddYIzRqFGj9J///EcpKSkKCwtzWh4ZGamqVas6nbvp6ek6fPgw5+51XO/YFmXHjh2SZPm5y+1IOMTFxWnw4MFq3bq12rRpozlz5ig7O1uPPfaY1a2Va88884zuv/9+NWjQQMeOHdO0adPk7u6uhx9+2OrWyqXz5887/dfrwYMHtWPHDtWqVUv169fX2LFj9cILL+jWW29VWFiY/vznPyskJER9+vSxrulyorhjW6tWLc2YMUP9+vVTcHCwDhw4oIkTJ6pJkyaKjY21sOvyYeTIkVq6dKk++ugj1ahRw/Gcl5+fn7y9veXn56ehQ4cqLi5OtWrVkq+vr55++mlFR0erbdu2Fnf/+3a9Y3vgwAEtXbpUPXr0UO3atfXdd99p3Lhx6tixo+644w5rm7f665n4fXnjjTdM/fr1jYeHh2nTpo358ssvrW6p3Ovfv7+pW7eu8fDwMLfccovp37+/2b9/v9VtlVvr1q0zkq6aBg8ebIz5ZZiKP//5zyYoKMh4enqaLl26mPT0dGubLieKO7YXLlwwXbt2NYGBgaZq1aqmQYMG5vHHHzcZGRlWt10uFHVcJZlFixY5ai5evGieeuopU7NmTePj42MeeOABc/z4ceuaLieud2wPHz5sOnbsaGrVqmU8PT1NkyZNzIQJE0xWVpa1jRtjbMYYczNDHwAAAHgmDAAAwBKEMAAAAAsQwgAAACxACAMAALAAIQwAAMAChDAAAAALEMIAAAAsQAgDAACwACEMAH4DY4xiYmKK/Ome+fPny9/fX0ePHrWgMwC/d4QwAPgNbDabFi1apK1bt+rvf/+7Y/7Bgwc1ceJEvfHGG6pXr16p7vPy5culuj0A1iCEAcBvFBoaqtdff13PPPOMDh48KGOMhg4dqq5du+rOO+9U9+7dVb16dQUFBemRRx7RqVOnHOsmJiaqffv28vf3V+3atdWrVy8dOHDAsfzQoUOy2Wxavny57r33Xnl5eWnJkiVWvE0ApYzfjgSAUtKnTx9lZWWpb9+++stf/qLdu3erefPmGjZsmB599FFdvHhRkyZNUl5enlJSUiRJK1eulM1m0x133KHz589r6tSpOnTokHbs2CE3NzcdOnRIYWFhatiwof72t7/pzjvvlJeXl+rWrWvxuwXwWxHCAKCUnDx5Us2bN9eZM2e0cuVK7dq1S5s2bdLatWsdNUePHlVoaKjS09N12223XbWNU6dOKTAwUDt37lRERIQjhM2ZM0djxoy5mW8HQBnjdiQAlJI6deroiSee0O23364+ffro22+/1bp161S9enXHFB4eLkmOW4779u3Tww8/rEaNGsnX11cNGzaUJB0+fNhp261bt76p7wVA2atidQMAUJFUqVJFVar88q/W8+fP6/7779fLL798VV3h7cT7779fDRo00Ntvv62QkBAVFBQoIiJCubm5TvXVqlUr++YB3FSEMAAoI3fddZdWrlyphg0bOoLZlU6fPq309HS9/fbb6tChgyTpiy++uNltArAItyMBoIyMHDlSZ86c0cMPP6yvvvpKBw4c0Nq1a/XYY48pPz9fNWvWVO3atfXWW29p//79SklJUVxcnNVtA7hJCGEAUEZCQkK0efNm5efnq2vXrmrRooXGjh0rf39/ubm5yc3NTcuWLVNaWpoiIiI0btw4zZ492+q2AdwkfDsSAADAAlwJAwAAsAAhDAAAwAKEMAAAAAsQwgAAACxACAMAALAAIQwAAMAChDAAAAALEMIAAAAsQAgDAACwACEMAADAAoQwAAAACxDCAAAALPB/AV/OlotHQgCGAAAAAElFTkSuQmCC", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "so_model.execute() #Run model\n", "print(\"Net Present Value: \", so_model.Outputs.project_return_aftertax_npv)\n", "print(\"Internal Rate of Return: \", so_model.Outputs.flip_actual_irr)\n", "print(\"Levelized cost of energy (nominal): \", so_model.Outputs.lcoe_real, \" cents/kWh\")\n", "plt.bar(range(0,int(so_model.FinancialParameters.analysis_period+1),1),so_model.Outputs.cf_project_return_aftertax)\n", "plt.xlabel('Year')\n", "plt.ylabel('Dollars ($)')\n", "plt.title('Project After-tax Cash Flow')" ] } ], "metadata": { "kernelspec": { "display_name": "Python 3 (ipykernel)", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.11.7" } }, "nbformat": 4, "nbformat_minor": 5 }