{
 "cells": [
  {
   "cell_type": "markdown",
   "id": "8eb32c33",
   "metadata": {},
   "source": [
    "# 115 kWp commercial rooftop, Islamabad: energy yield estimate\n",
    "\n",
    "How much energy will the rooftop system produce each month and over a year? This notebook works it out from PVGIS solar data for Islamabad, and compares a simple hand calculation with the PVGIS model.\n",
    "\n",
    "- **System:** 198 Jinko JKM580N-72HL4-V modules (580 W) on one Huawei SUN2000-100KTL-M2 inverter\n",
    "- **Data:** PVGIS 5.3 (European Commission, Joint Research Centre), ERA5 solar data for 2005 to 2023\n",
    "- **Assumed:** modules facing south at 20° tilt, 14% system losses (the PVGIS default)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "id": "fc4a9977",
   "metadata": {
    "execution": {
     "iopub.execute_input": "2026-09-22T03:40:43.394809Z",
     "iopub.status.busy": "2026-09-22T03:40:43.394555Z",
     "iopub.status.idle": "2026-09-22T03:40:44.923241Z",
     "shell.execute_reply": "2026-09-22T03:40:44.921679Z"
    }
   },
   "outputs": [],
   "source": [
    "import pandas as pd\n",
    "import matplotlib.pyplot as plt"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "bfe4345f",
   "metadata": {},
   "source": [
    "## Step 1: System size\n",
    "\n",
    "The size of a PV system is the number of modules times the power of one module, in kilowatts peak (kWp)."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "id": "e4d168a2",
   "metadata": {
    "execution": {
     "iopub.execute_input": "2026-09-22T03:40:44.926791Z",
     "iopub.status.busy": "2026-09-22T03:40:44.926323Z",
     "iopub.status.idle": "2026-09-22T03:40:44.933778Z",
     "shell.execute_reply": "2026-09-22T03:40:44.932138Z"
    }
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "System size: 114.84 kWp\n"
     ]
    }
   ],
   "source": [
    "modules = 198\n",
    "module_watts = 580\n",
    "\n",
    "system_kwp = modules * module_watts / 1000\n",
    "print(\"System size:\", system_kwp, \"kWp\")"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "669bf8d5",
   "metadata": {},
   "source": [
    "## Step 2: Load the solar data\n",
    "\n",
    "One row per month:\n",
    "- **irradiation_kwh_m2:** the sunlight that falls on one square metre of the tilted modules in the month\n",
    "- **pvgis_kwh_per_kwp:** the energy PVGIS expects from each kWp of modules in the month, after all losses"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "id": "5d5f5e34",
   "metadata": {
    "execution": {
     "iopub.execute_input": "2026-09-22T03:40:44.938220Z",
     "iopub.status.busy": "2026-09-22T03:40:44.937834Z",
     "iopub.status.idle": "2026-09-22T03:40:44.958980Z",
     "shell.execute_reply": "2026-09-22T03:40:44.957414Z"
    }
   },
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>month</th>\n",
       "      <th>irradiation_kwh_m2</th>\n",
       "      <th>pvgis_kwh_per_kwp</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>Jan</td>\n",
       "      <td>139.93</td>\n",
       "      <td>111.70</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>Feb</td>\n",
       "      <td>138.95</td>\n",
       "      <td>109.32</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>Mar</td>\n",
       "      <td>179.54</td>\n",
       "      <td>136.21</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>Apr</td>\n",
       "      <td>200.87</td>\n",
       "      <td>147.22</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>May</td>\n",
       "      <td>217.65</td>\n",
       "      <td>154.15</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>5</th>\n",
       "      <td>Jun</td>\n",
       "      <td>202.50</td>\n",
       "      <td>143.25</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>6</th>\n",
       "      <td>Jul</td>\n",
       "      <td>171.50</td>\n",
       "      <td>124.70</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>7</th>\n",
       "      <td>Aug</td>\n",
       "      <td>170.97</td>\n",
       "      <td>126.29</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>8</th>\n",
       "      <td>Sep</td>\n",
       "      <td>177.20</td>\n",
       "      <td>130.64</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>9</th>\n",
       "      <td>Oct</td>\n",
       "      <td>180.81</td>\n",
       "      <td>135.51</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>10</th>\n",
       "      <td>Nov</td>\n",
       "      <td>151.64</td>\n",
       "      <td>117.28</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>11</th>\n",
       "      <td>Dec</td>\n",
       "      <td>146.64</td>\n",
       "      <td>116.29</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "   month  irradiation_kwh_m2  pvgis_kwh_per_kwp\n",
       "0    Jan              139.93             111.70\n",
       "1    Feb              138.95             109.32\n",
       "2    Mar              179.54             136.21\n",
       "3    Apr              200.87             147.22\n",
       "4    May              217.65             154.15\n",
       "5    Jun              202.50             143.25\n",
       "6    Jul              171.50             124.70\n",
       "7    Aug              170.97             126.29\n",
       "8    Sep              177.20             130.64\n",
       "9    Oct              180.81             135.51\n",
       "10   Nov              151.64             117.28\n",
       "11   Dec              146.64             116.29"
      ]
     },
     "execution_count": 3,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "data = pd.read_csv(\"pvgis_islamabad_monthly.csv\")\n",
    "data"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "ba3feb79",
   "metadata": {},
   "source": [
    "## Step 3: Energy per month\n",
    "\n",
    "Two ways to estimate it:\n",
    "- **Simple estimate:** system size x irradiation x performance ratio (PR). A PR of 0.80 is a common first guess; it covers losses from heat, cables, the inverter and dirt.\n",
    "- **PVGIS model:** system size x PVGIS energy per kWp. PVGIS works out the heat losses month by month from real temperatures.\n",
    "\n",
    "The last column is the PR that PVGIS's numbers imply for each month."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "id": "6cee284d",
   "metadata": {
    "execution": {
     "iopub.execute_input": "2026-09-22T03:40:44.963144Z",
     "iopub.status.busy": "2026-09-22T03:40:44.962654Z",
     "iopub.status.idle": "2026-09-22T03:40:44.984321Z",
     "shell.execute_reply": "2026-09-22T03:40:44.983257Z"
    }
   },
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>month</th>\n",
       "      <th>irradiation_kwh_m2</th>\n",
       "      <th>pvgis_kwh_per_kwp</th>\n",
       "      <th>simple_kwh</th>\n",
       "      <th>pvgis_kwh</th>\n",
       "      <th>pvgis_pr</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>Jan</td>\n",
       "      <td>139.93</td>\n",
       "      <td>111.70</td>\n",
       "      <td>12856.0</td>\n",
       "      <td>12828.0</td>\n",
       "      <td>0.80</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>Feb</td>\n",
       "      <td>138.95</td>\n",
       "      <td>109.32</td>\n",
       "      <td>12766.0</td>\n",
       "      <td>12554.0</td>\n",
       "      <td>0.79</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>Mar</td>\n",
       "      <td>179.54</td>\n",
       "      <td>136.21</td>\n",
       "      <td>16495.0</td>\n",
       "      <td>15642.0</td>\n",
       "      <td>0.76</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>Apr</td>\n",
       "      <td>200.87</td>\n",
       "      <td>147.22</td>\n",
       "      <td>18454.0</td>\n",
       "      <td>16907.0</td>\n",
       "      <td>0.73</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>May</td>\n",
       "      <td>217.65</td>\n",
       "      <td>154.15</td>\n",
       "      <td>19996.0</td>\n",
       "      <td>17703.0</td>\n",
       "      <td>0.71</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>5</th>\n",
       "      <td>Jun</td>\n",
       "      <td>202.50</td>\n",
       "      <td>143.25</td>\n",
       "      <td>18604.0</td>\n",
       "      <td>16451.0</td>\n",
       "      <td>0.71</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>6</th>\n",
       "      <td>Jul</td>\n",
       "      <td>171.50</td>\n",
       "      <td>124.70</td>\n",
       "      <td>15756.0</td>\n",
       "      <td>14321.0</td>\n",
       "      <td>0.73</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>7</th>\n",
       "      <td>Aug</td>\n",
       "      <td>170.97</td>\n",
       "      <td>126.29</td>\n",
       "      <td>15707.0</td>\n",
       "      <td>14503.0</td>\n",
       "      <td>0.74</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>8</th>\n",
       "      <td>Sep</td>\n",
       "      <td>177.20</td>\n",
       "      <td>130.64</td>\n",
       "      <td>16280.0</td>\n",
       "      <td>15003.0</td>\n",
       "      <td>0.74</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>9</th>\n",
       "      <td>Oct</td>\n",
       "      <td>180.81</td>\n",
       "      <td>135.51</td>\n",
       "      <td>16611.0</td>\n",
       "      <td>15562.0</td>\n",
       "      <td>0.75</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>10</th>\n",
       "      <td>Nov</td>\n",
       "      <td>151.64</td>\n",
       "      <td>117.28</td>\n",
       "      <td>13931.0</td>\n",
       "      <td>13468.0</td>\n",
       "      <td>0.77</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>11</th>\n",
       "      <td>Dec</td>\n",
       "      <td>146.64</td>\n",
       "      <td>116.29</td>\n",
       "      <td>13472.0</td>\n",
       "      <td>13355.0</td>\n",
       "      <td>0.79</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "   month  irradiation_kwh_m2  pvgis_kwh_per_kwp  simple_kwh  pvgis_kwh  \\\n",
       "0    Jan              139.93             111.70     12856.0    12828.0   \n",
       "1    Feb              138.95             109.32     12766.0    12554.0   \n",
       "2    Mar              179.54             136.21     16495.0    15642.0   \n",
       "3    Apr              200.87             147.22     18454.0    16907.0   \n",
       "4    May              217.65             154.15     19996.0    17703.0   \n",
       "5    Jun              202.50             143.25     18604.0    16451.0   \n",
       "6    Jul              171.50             124.70     15756.0    14321.0   \n",
       "7    Aug              170.97             126.29     15707.0    14503.0   \n",
       "8    Sep              177.20             130.64     16280.0    15003.0   \n",
       "9    Oct              180.81             135.51     16611.0    15562.0   \n",
       "10   Nov              151.64             117.28     13931.0    13468.0   \n",
       "11   Dec              146.64             116.29     13472.0    13355.0   \n",
       "\n",
       "    pvgis_pr  \n",
       "0       0.80  \n",
       "1       0.79  \n",
       "2       0.76  \n",
       "3       0.73  \n",
       "4       0.71  \n",
       "5       0.71  \n",
       "6       0.73  \n",
       "7       0.74  \n",
       "8       0.74  \n",
       "9       0.75  \n",
       "10      0.77  \n",
       "11      0.79  "
      ]
     },
     "execution_count": 4,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "pr_assumed = 0.80\n",
    "\n",
    "data[\"simple_kwh\"] = system_kwp * data[\"irradiation_kwh_m2\"] * pr_assumed\n",
    "data[\"pvgis_kwh\"] = system_kwp * data[\"pvgis_kwh_per_kwp\"]\n",
    "data[\"pvgis_pr\"] = data[\"pvgis_kwh_per_kwp\"] / data[\"irradiation_kwh_m2\"]\n",
    "\n",
    "data.round({\"simple_kwh\": 0, \"pvgis_kwh\": 0, \"pvgis_pr\": 2})"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "657d5eaa",
   "metadata": {},
   "source": [
    "## Step 4: Results for the year"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "id": "7f1b18c8",
   "metadata": {
    "execution": {
     "iopub.execute_input": "2026-09-22T03:40:44.988399Z",
     "iopub.status.busy": "2026-09-22T03:40:44.987998Z",
     "iopub.status.idle": "2026-09-22T03:40:44.996845Z",
     "shell.execute_reply": "2026-09-22T03:40:44.995577Z"
    }
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Energy per year (PVGIS):   178,296 kWh\n",
      "Simple estimate (PR 0.80): 190,928 kWh\n",
      "Specific yield:            1,553 kWh per kWp\n",
      "Performance ratio (year):  0.75\n",
      "Best month:  May, 17,703 kWh\n",
      "Worst month: Feb, 12,554 kWh\n"
     ]
    }
   ],
   "source": [
    "year_kwh = data[\"pvgis_kwh\"].sum()\n",
    "simple_year_kwh = data[\"simple_kwh\"].sum()\n",
    "specific_yield = year_kwh / system_kwp\n",
    "year_pr = year_kwh / (system_kwp * data[\"irradiation_kwh_m2\"].sum())\n",
    "\n",
    "best = data.loc[data[\"pvgis_kwh\"].idxmax()]\n",
    "worst = data.loc[data[\"pvgis_kwh\"].idxmin()]\n",
    "\n",
    "print(f\"Energy per year (PVGIS):   {year_kwh:,.0f} kWh\")\n",
    "print(f\"Simple estimate (PR 0.80): {simple_year_kwh:,.0f} kWh\")\n",
    "print(f\"Specific yield:            {specific_yield:,.0f} kWh per kWp\")\n",
    "print(f\"Performance ratio (year):  {year_pr:.2f}\")\n",
    "print(f\"Best month:  {best['month']}, {best['pvgis_kwh']:,.0f} kWh\")\n",
    "print(f\"Worst month: {worst['month']}, {worst['pvgis_kwh']:,.0f} kWh\")"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "4f7e8f4b",
   "metadata": {},
   "source": [
    "## Step 5: Chart"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "id": "20d10246",
   "metadata": {
    "execution": {
     "iopub.execute_input": "2026-09-22T03:40:45.000758Z",
     "iopub.status.busy": "2026-09-22T03:40:45.000455Z",
     "iopub.status.idle": "2026-09-22T03:40:46.637198Z",
     "shell.execute_reply": "2026-09-22T03:40:46.635649Z"
    }
   },
   "outputs": [
    {
     "data": {
      "image/png": "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SiUnT57UT8c41KNHj7bm+hERERERETm1cAVlI0eOlBUrVsj48eODDCq9aNEia60bERERERGR0wtXUHbt2jUpUaKE+t/NzU0/PWHChPLkyRPrrR0REREREZGTC1dQliRJErl69WqQoGzXrl2SNm1a660dERERERGRkwtXUNa6dWtp27atSo2PoOz+/fvy+++/q2l4EBERERERUQSOUzZgwAB59uyZFClSRAICAiRlypTi7u4uP/zwg/z444/hWSQREREREZFLCldQhgBs0qRJMnjwYDlz5owEBgZKzpw5JVGiRNZfQyIiIiIiIicWrqBMEz9+fClTpoz11oaIiIiIiMjFhCsow3hkq1evloMHD8rz58+DzJ8/f7411o2IiIiIiMjphSvRR58+faRp06Zy5coV8ff3D/IgIiIiIiKiCKwpQ03Yjh07pHjx4uF5OREREREREX1NTRmaL+bJkyc8LyUiIiIiIqKvDcpKly4tW7ZsCc9LiYiIiIiI6GubLyZPnlz1KUNgljFjRjWAtKG+ffuGZ7FEREREREQuJ1xBGbIuZs+eXY1RhocpBmVEREREREQRGJQdP348PC8jIiIiIiIia/QpIyIiIiIiIhsEZaYp8Hv16hWkTMqUKb9+rYiIiIiIiFxElLD2JTM0bty4IGXu37//9WtFRERERETkIth8kYiIiIiIyIYYlBEREREREdkQgzIiIiIiIiJHSolfq1atEJ9bW58+fcTPzy/I9CJFikjDhg3V/ytWrAjS3y1ZsmTqtYYeP34sS5YsUX9z5MihXu/h4RHmMkRERERERDapKatZs2aIz4Ob9jXSpEkjadOm1T88PT1l0qRJ8uzZM32ZXbt2yd69e43KpUiRwmg5165dU0HW1q1bJWrUqDJ48GCpXLmyBAQEhKkMERERERGRNYWpCmjt2rUS2Tp16mT0fOTIkRIjRgz57rvvjKZnzJhRunfvHuxyUGv2zTffyJYtWyRKlCjStm1b9RrUijVr1sziMkRERERERC7dp2zevHnSoEED8fb2Npp+48YN6d+/v4wePVoOHTpkNO/Tp0+yefNmadKkiQq2IHXq1FK6dGl9oGlJGSIiIiIiIpcOytBE8fr166oGy5Cbm5vEjx9fNW28efOmlCtXTrp06aKff+fOHdUvLUOGDEavw3M0WbS0jDl4zatXr4weRERERERElnKoDBa///67ZMmSRYoVK2Y0vW/fvqrvmaZRo0ZStmxZ1b+tfPny8u7dOzU9Tpw4Rq/z8vLSz7OkjDloTjl06FArbB0REREREbkih6kp8/X1lVWrVgWpJQPDgAzKlCkjqVKlkgMHDhgFWi9fvjQq9+LFC/08S8qY069fP7Vu2uPu3bvh3kYiIiIiInI9DhOUIdlGYGCgNG/e3KLyHz9+VP3EtL5hsWPHlsuXLxuVwfOsWbNaXMac6NGjq9o0wwcREREREZHTBWVouli7dm1JkCCB0XR/f3/Zt2+f0TRtnLGKFSuq50jcUbduXZk/f758+PBBTTt79qwa2wxJQywtQ0RERERE5JJ9ys6cOSMnTpyQ3377Lcg8JPkYMWKEakaYLVs2lbBj//798uuvv0qpUqX05UaNGqWeFyhQQPLkyaMyLTZt2tRoXDVLyhAREREREblcUIbasClTpqi+Yqbc3d1l27ZtcvLkSTl16pRUqVJF1aqlTJnSqFzSpEnl9OnTagwy1KK1a9dOihcvHuYyRERERERELheU5cuXTz1CkjdvXvUICQadrlOnzleXISIiIiIicrk+ZURERERERM6IQRkREREREZENMSgjIiIiIiKyIQZlRERERERENsSgjIiIiIiIyIYYlBEREREREdkQgzIiIiIiIiIbYlBGRERERERkQwzKiIiIiIiIbIhBGRERERERkQ0xKCMiIiIiIrIhBmVEREREREQ2xKCMiIiIiIjIhhiUERERERER2RCDMiIiIiIiIhtiUEZERERERGRDDMqIiIiIiIhsiEEZERERERGRDTEoIyIiIiIisiEGZURERERERDbEoIyIiIiIiMiGGJQRERERERHZEIMyIiIiIiIiG2JQRkREREREZEMMyoiIiIiIiGyIQRkREREREZENMSgjIiIiIiKyIQZlRERERERENsSgjIiIiIiIyIY8xM6dO3dObt++bTTNy8tLSpYsabbs48ePJWvWrJI8efJgl2eNMkRERERERC4RlE2bNk3WrVsn+fLl009LkyaNUVD25s0bqVmzppw5c0YyZcokp0+flgEDBsjAgQOtXoaIiIiIiMilgjIoVqyYrFy5Mtj5gwYNklu3bsmVK1ckQYIEsmPHDqlYsaIK3LTgzVpliIiIiIiIXK5P2evXr2X37t1y4sQJef/+vdE8nU4nCxculDZt2qhACipUqCB58+aVP//806pliIiIiIiIXLKm7NChQzJkyBB58OCBvHz5UqZPny4NGjRQ8+7fvy/Pnj2TXLlyGb0md+7cqhmiNcuY4+fnpx6aV69eWWGLiYiIiIjIVdh9TVnt2rVVwLR//365fv269OjRQ5o1ayaXLl1S8xGkQfz48Y1eh9oubZ61ypgzcuRI8fb21j9SpUplha0mIiIiIiJXYfdBWaVKlVS2RU3//v0lVqxYsmnTJvU8WrRo6u+7d++MXofn2jxrlTGnX79+4uvrq3/cvXv3q7aXiIiIiIhci0M0XzTk5uYmcePGlUePHqnnqVOnFnd3d7l3755ROQRH6dKls2oZc6JHj64eRERERERETldTFhgYGKTpoDZuGRJwgKenp5QqVUpWr16tL4PX7Nq1SypXrmzVMkRERERERC5VUxYQECCFCxdWST2yZcsmd+7ckfHjx6vgqX79+kb9upCyvmPHjlKkSBGZOXOmpE2bVlq3bm31MkRERERERC5TUxY1alQ5fPiwxI4dW9auXavGEENQhtorzNMULFhQjh49qpo2YqBpjC124MABiREjhtXLEBERERERuUxNGaD/2E8//RRquZw5c6pU+ZFRhoiIiIiIyCVqyoiIiIiIiJwdgzIiIiIiIiIbYlBGRERERERkQwzKiIiIiIiIbIhBGRERERERkQ0xKCMiIiIiIrIhBmVEREREREQ2xKCMiIiIiIjIhhiUERERERER2RCDMiIiIiIiIhtiUEZERERERGRDDMqIiIiIiIhsiEEZERERERGRDTEoIyIiIiIisiEGZURERERERDbEoIyIiIiIiMiGGJQRERERERHZEIMyIiIiIiIiG2JQRkREREREZEMMyoiIiIiIiGyIQRkREREREZENMSgjIiIiIiKyIQZlRERERERENsSgjIiIiIiIyIYYlBEREREREdkQgzIiIiIiIiIbYlBGRERERERkQwzKiIiIiIiIbIhBGRERERERkQ15iIMIDAyUKFHMx5B+fn7y6dMno2nu7u4SI0YMs+VRNmrUqCG+nyVliIiIiIiInL6mbNOmTVKmTBnx8vKS2LFjS6VKleT8+fNGZbp16yZx48aVpEmT6h+lSpUKsqxff/1VEiRIIJ6enpIlSxbZuXNnuMoQERERERG5RFAWEBAgM2bMkCFDhsiTJ0/k7t27Ej9+fKlYsaL4+voa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",
      "text/plain": [
       "<Figure size 1000x450 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "fig, ax = plt.subplots(figsize=(10, 4.5))\n",
    "ax.bar(data[\"month\"], data[\"pvgis_kwh\"], color=\"#F2A900\", label=\"PVGIS model\")\n",
    "ax.plot(data[\"month\"], data[\"simple_kwh\"], color=\"#1F3864\", marker=\"o\", label=\"Simple estimate (PR 0.80)\")\n",
    "ax.set_title(\"115 kWp rooftop, Islamabad: energy per month\")\n",
    "ax.set_ylabel(\"Energy (kWh)\")\n",
    "ax.legend()\n",
    "\n",
    "fig.savefig(\"monthly_energy.png\", dpi=150, bbox_inches=\"tight\")\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "dd694f98",
   "metadata": {},
   "source": [
    "## What the numbers show\n",
    "\n",
    "- The system should produce about **178,300 kWh a year**, or **1,553 kWh for every kWp**: about 490 kWh a day on average.\n",
    "- **May** is the best month (17,703 kWh) and **February** the lowest (12,554 kWh).\n",
    "- The simple estimate comes out **7% high** over the year. The gap is under 2% in winter but about 11% from May to August: the modules run hot, and the PR falls to 0.71 in May and June, against 0.80 in January.\n",
    "- So in a hot climate like Islamabad's, a flat PR of 0.80 overstates the yield. A monthly model that uses real temperatures, such as PVGIS, is the better basis for a yield estimate.\n",
    "\n",
    "**Data source:** PVGIS 5.3 PVcalc, downloaded on 22 Sep 2026 for latitude 33.684, longitude 73.048: 1 kWp of crystalline silicon, free-standing, 20° tilt, facing south, 14% system losses."
   ]
  }
 ],
 "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.13.14"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 5
}
