Skip to content
This repository was archived by the owner on Oct 31, 2023. It is now read-only.

Commit 13ee2da

Browse files
committed
responding to wholmgren suggestions
1 parent 102169a commit 13ee2da

4 files changed

+37
-34
lines changed

Tutorial 2 - POA Irradiance.ipynb

Lines changed: 23 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -248,7 +248,7 @@
248248
"source": [
249249
"The two values needed here are the solar zenith (how close the sun is to overhead) and azimuth (what direction along the horizon the sun is, like panel azimuth). The difference between `apparent_zenith` and `zenith` is that `apparent_zenith` includes the effect of atmospheric refraction.\n",
250250
"\n",
251-
"Now that we have a time series of solar position that matches our irradiance data, let's run a transposition model. The more complex transposition models like Perez and Hay Davies require additional weather inputs, so for simplicity we'll just use the basic `isotropic` model here. As an example, we'll model a fixed array tilted South at 20 degrees."
251+
"Now that we have a time series of solar position that matches our irradiance data, let's run a transposition model using the convenient wrapper function [`pvlib.irradiance.get_total_irradiance`](https://pvlib-python.readthedocs.io/en/latest/generated/pvlib.irradiance.get_total_irradiance.html). The more complex transposition models like Perez and Hay Davies require additional weather inputs, so for simplicity we'll just use the basic `isotropic` model here, which is the default if nothing is passed for `model` keyword argument. As an example, we'll model a fixed array tilted south at 20 degrees."
252252
]
253253
},
254254
{
@@ -264,13 +264,15 @@
264264
"metadata": {},
265265
"outputs": [],
266266
"source": [
267-
"df_poa = pvlib.irradiance.get_total_irradiance(surface_tilt=20, # tilted 20 degrees from horizontal\n",
268-
" surface_azimuth=180, # facing South\n",
269-
" dni=df_tmy['DNI'],\n",
270-
" ghi=df_tmy['GHI'],\n",
271-
" dhi=df_tmy['DHI'],\n",
272-
" solar_zenith=solar_position['apparent_zenith'],\n",
273-
" solar_azimuth=solar_position['azimuth'])"
267+
"df_poa = pvlib.irradiance.get_total_irradiance(\n",
268+
" surface_tilt=20, # tilted 20 degrees from horizontal\n",
269+
" surface_azimuth=180, # facing South\n",
270+
" dni=df_tmy['DNI'],\n",
271+
" ghi=df_tmy['GHI'],\n",
272+
" dhi=df_tmy['DHI'],\n",
273+
" solar_zenith=solar_position['apparent_zenith'],\n",
274+
" solar_azimuth=solar_position['azimuth'],\n",
275+
" model='isotropic')"
274276
]
275277
},
276278
{
@@ -434,11 +436,11 @@
434436
}
435437
],
436438
"source": [
437-
"tracker_data = pvlib.tracking.singleaxis(solar_position['apparent_zenith'],\n",
438-
" solar_position['azimuth'],\n",
439-
" axis_azimuth=180, # axis is aligned N-S\n",
440-
" # leave the rest of the singleaxis parameters as default\n",
441-
" )\n",
439+
"tracker_data = pvlib.tracking.singleaxis(\n",
440+
" solar_position['apparent_zenith'],\n",
441+
" solar_position['azimuth'],\n",
442+
" axis_azimuth=180, # axis is aligned N-S\n",
443+
" ) # leave the rest of the singleaxis parameters like backtrack and gcr at their defaults\n",
442444
"tilt = tracker_data['surface_tilt'].fillna(0)\n",
443445
"azimuth = tracker_data['surface_azimuth'].fillna(0)\n",
444446
"\n",
@@ -462,13 +464,14 @@
462464
"metadata": {},
463465
"outputs": [],
464466
"source": [
465-
"df_poa_tracker = pvlib.irradiance.get_total_irradiance(surface_tilt=tilt, # time series for tracking array\n",
466-
" surface_azimuth=azimuth, # time series for tracking array\n",
467-
" dni=df_tmy['DNI'],\n",
468-
" ghi=df_tmy['GHI'],\n",
469-
" dhi=df_tmy['DHI'],\n",
470-
" solar_zenith=solar_position['apparent_zenith'],\n",
471-
" solar_azimuth=solar_position['azimuth'])\n",
467+
"df_poa_tracker = pvlib.irradiance.get_total_irradiance(\n",
468+
" surface_tilt=tilt, # time series for tracking array\n",
469+
" surface_azimuth=azimuth, # time series for tracking array\n",
470+
" dni=df_tmy['DNI'],\n",
471+
" ghi=df_tmy['GHI'],\n",
472+
" dhi=df_tmy['DHI'],\n",
473+
" solar_zenith=solar_position['apparent_zenith'],\n",
474+
" solar_azimuth=solar_position['azimuth'])\n",
472475
"tracker_poa = df_poa_tracker['poa_global']"
473476
]
474477
},

Tutorial 3 - Module Temperature.ipynb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,7 @@
3939
"source": [
4040
"## What affects module temperature?\n",
4141
"\n",
42-
"If PV modules were 100% efficient, they would convert 100% of collected irradiance into electrical energy. However, today's PV modules are on the order of 20% efficient, meaning the other 80% of sunlight is converted to thermal enregy. This thermal energy causes the temperature of the module to rise above ambient conditions, eventually reaching a steady state defined by a heat balance of power in (solar irradiance) vs power out (thermal radiation, convective cooling, etc). With that in mind, the primary drivers of module temperature are POA irradiance, ambient temperature, and wind speed. \n",
42+
"If PV modules were 100% efficient, they would convert 100% of collected irradiance into electrical energy. However, today's PV modules are on the order of 20% efficient, meaning that after accounting for reflection, soiling, spectral mismatch, and the glass, the other 80% of sunlight collected is converted to thermal energy. This thermal energy causes the temperature of the module to rise above ambient conditions, eventually reaching a steady state defined by a heat balance of power in (solar irradiance) vs power out (thermal radiation, convective cooling, etc). With that in mind, the primary drivers of module temperature are POA irradiance, ambient temperature, and wind speed. \n",
4343
"\n",
4444
"A distinction that is often ignored is the difference between module temperature and cell temperature. In theory, the temperature of the P-N junction inside the cell is what affects conversion efficiency, but this is difficult to measure. In practice, the temperature of the module backsheet is often a usable approximation, though it is often 1-2 degrees Celsius cooler than the junction temperature.\n",
4545
"\n",

Tutorial 4 - Model a Module's Performance.ipynb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -878,7 +878,7 @@
878878
"source": [
879879
"## Conclusions\n",
880880
"\n",
881-
"So is this what you expected? What do you notice about the relation between voltage and temperature? What about the relation between current and irradiance? What other patterns do you observe"
881+
"So is this what you expected? What do you notice about the relation between voltage and temperature? What about the relation between current and irradiance? What other patterns do you observe?"
882882
]
883883
},
884884
{

0 commit comments

Comments
 (0)