|
35 | 35 | }
|
36 | 36 | },
|
37 | 37 | "source": [
|
38 |
| - "### Steps:\n", |
| 38 | + "## Steps:\n", |
39 | 39 | "- [Weather data in PV performance models](#Weather-Data-&-PV)\n",
|
40 | 40 | "- Looking at a sample weather data file\n",
|
41 | 41 | "- Where to get weather data from? \n",
|
42 | 42 | "- Weather data to API\n",
|
43 | 43 | "\n",
|
44 |
| - "### PV Concepts:\n", |
| 44 | + "## PV Concepts:\n", |
45 | 45 | "- TMY\n",
|
46 | 46 | "- GHI, DNI, DHI\n",
|
47 | 47 | "- DryBulb, Wspd\n",
|
48 | 48 | "- Irradiance vs. Insolation\n",
|
49 | 49 | "\n",
|
50 |
| - "### Python Concepts:\n", |
| 50 | + "## Python Concepts:\n", |
51 | 51 | "- Exploring a Pandas dataframe (`df`): `len()`, `df.head()`, `df.keys()`\n",
|
52 | 52 | "- [pvlib input-output tools](https://pvlib-python.readthedocs.io/en/stable/api.html#io-tools)\n",
|
53 | 53 | "- Ploting a Pandas dataframe (`df`): `df.plot()`\n",
|
|
63 | 63 | }
|
64 | 64 | },
|
65 | 65 | "source": [
|
66 |
| - "# Weather Data & PV \n", |
| 66 | + "## Weather Data & PV \n", |
67 | 67 | "\n",
|
68 | 68 | "Weather and irradiance data are used as input to PV performance models. \n",
|
69 | 69 | "\n",
|
|
120 | 120 | }
|
121 | 121 | },
|
122 | 122 | "source": [
|
123 |
| - "#### First Step: Import Libraries\n", |
| 123 | + "## First Step: Import Libraries\n", |
124 | 124 | "\n",
|
125 | 125 | "In Python, some functions are builtin like `print()` but others must be imported before they can be used. For this notebook we're going to import three packages:\n",
|
126 | 126 | "* [pvlib](https://pvlib-python.readthedocs.io/en/stable/) - library for simulating performance of photovoltaic energy systems. \n",
|
|
725 | 725 | }
|
726 | 726 | },
|
727 | 727 | "source": [
|
728 |
| - "# Irradiance \n", |
| 728 | + "## Irradiance \n", |
729 | 729 | "\n",
|
730 | 730 | "Irradiance is an instantaneous measurement of solar power over some area. For practical purposes of measurement and interpretation, irradiance is expressed and separated into different components.\n",
|
731 | 731 | "\n",
|
|
742 | 742 | }
|
743 | 743 | },
|
744 | 744 | "source": [
|
745 |
| - "### Wind\n", |
| 745 | + "## Wind\n", |
746 | 746 | "\n",
|
747 | 747 | "Wind speed is measured with an anemometer. The most common type is a the cup-type anemometer, shown on the right side of the picture below. The number of rotations per time interval is used to calculate the wind speed. The vane on the left is used to measure the direction of the wind. Wind direction is reported as the direction from which the wind is blowing.\n",
|
748 | 748 | "\n",
|
|
757 | 757 | }
|
758 | 758 | },
|
759 | 759 | "source": [
|
760 |
| - "### Air temperature \n", |
| 760 | + "## Air temperature \n", |
761 | 761 | "\n",
|
762 | 762 | "Also known as dry-bulb temperature, is the temperature of the ambient air when the measurement device is shielded from radiation and moisture. The most common method of air temperature measurement uses a resistive temperature device (RTD) or thermocouple within a radiation shield. The shield blocks sunlight from reaching the sensor (avoiding radiative heating), yet allows natural air flow around the sensor. More accurate temperature measurement devices utilize a shield which forces air across the sensor.\n",
|
763 | 763 | "\n",
|
|
776 | 776 | }
|
777 | 777 | },
|
778 | 778 | "source": [
|
779 |
| - "#### Downselect columns \n", |
| 779 | + "## Downselect columns \n", |
780 | 780 | "\n",
|
781 | 781 | "There are a lot more weather data in that file that you can access. To investigate all the column headers, we used `.keys()` above. Always read the [Instruction Manual](https://www.nrel.gov/docs/fy08osti/43156.pdf) for the weather files to get more details on how the data is aggregated, units, etc.\n",
|
782 | 782 | "\n",
|
|
1138 | 1138 | "cell_type": "markdown",
|
1139 | 1139 | "metadata": {},
|
1140 | 1140 | "source": [
|
1141 |
| - "## Temperature\n", |
| 1141 | + "### Temperature\n", |
1142 | 1142 | "\n",
|
1143 | 1143 | "Next up is temperature:"
|
1144 | 1144 | ]
|
|
1299 | 1299 | "cell_type": "markdown",
|
1300 | 1300 | "metadata": {},
|
1301 | 1301 | "source": [
|
1302 |
| - "#### Exercise\n", |
| 1302 | + "### Exercise\n", |
1303 | 1303 | "\n",
|
1304 | 1304 | "Plot the Average DNI per Day"
|
1305 | 1305 | ]
|
|
1333 | 1333 | }
|
1334 | 1334 | },
|
1335 | 1335 | "source": [
|
1336 |
| - "# Where to get Solar Irradiance Data?\n", |
| 1336 | + "## Where to get Solar Irradiance Data?\n", |
1337 | 1337 | "\n",
|
1338 | 1338 | "There are many different sources of solar irradiance data. For your projects, these are some of the most common:\n",
|
1339 | 1339 | "\n",
|
|
1368 | 1368 | }
|
1369 | 1369 | },
|
1370 | 1370 | "source": [
|
1371 |
| - "### Fetching TMYs from the NSRDB\n", |
| 1371 | + "## Fetching TMYs from the NSRDB\n", |
1372 | 1372 | "\n",
|
1373 | 1373 | "The example TMY dataset used here is from an airport in North Carolina, but what if we wanted to model a PV system somewhere else? The NSRDB, one of many sources of weather data intended for PV modeling, is free and easy to access using pvlib. As an example, we'll fetch a TMY dataset for Albuquerque, New Mexico at coordinates [(35.0844, -106.6504)](https://www.google.com/maps/@35.0844,-106.6504,9z). We use [`pvlib.iotools.get_psm3()`](https://pvlib-python.readthedocs.io/en/stable/generated/pvlib.iotools.get_psm3.html) which returns a Python dictionary of metadata and a Pandas dataframe of the timeseries weather data."
|
1374 | 1374 | ]
|
|
0 commit comments