Skip to content

Introduction

Overview

Curious about photovoltaic performance ? This is an introduction into the estimation of photovoltaic power over a location and a moment or period in time.

We will explore solar radiation components and photovoltaic power estimates, by stepping through :

  • the calculation of the position of the sun in the sky
  • the measurement of sun-to-surface angles
  • the analysis of solar irradiance components
  • and the derivation of the effective amount of global irradiance.

Example

Before skimming through the tutorial, (see sections in the left table of content) we'll run a simple example. We want to estimate the photovoltaic power output for a specific location and a short period of time.

The following command will return the requested output for a single day at hourly frequency (which is the default frequency for timestamps)

pvgis-prototype power broadband \
    8.628 45.812 214 \
    --start-time '2010-01-27' \
    --end-time '2010-01-28' \
    --global-horizontal-irradiance sarah2_sis_over_esti_jrc.nc \
    --direct-horizontal-irradiance sarah2_sid_over_esti_jrc.nc \
    --neighbor-lookup nearest
0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,321.262,483.812,600.882,662.13,591.87,624.339,421.793,116.661,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0

Tip

Just copy-and-paste the commands and follow along. This is one way to practice through this tutorial!

Let us now silence the command output (i.e. hide the photovoltaic power time series output) via the --quiet option though plot the output time series right in the terminal via the --uniplot option.

pvgis-prototype power broadband \
    8.628 45.812 214 \
    --start-time '2010-01-27' \
    --end-time '2010-01-28' \
    --global-horizontal-irradiance sarah2_sis_over_esti_jrc.nc \
    --direct-horizontal-irradiance sarah2_sid_over_esti_jrc.nc \
    --neighbor-lookup nearest \
    --uniplot \
    --quiet
Uniplot
                                Power observed from (longitude, latitude) 0.15058700786207074, 0.7995702369236423
┌────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐
│                                                               ▄▄▀▀▄▖                                                                           │
│                                                           ▗▄▀▀     ▝▀▄▄▄▄▄▄▀▀▚                                                                 │ 600 W
│                                                         ▗▞▘            ▘      ▚                                                                │
│                                                       ▗▞▘                      ▚▖                                                              │
│                                                     ▗▞▘                         ▝▖                                                             │
│                                                    ▄▘                            ▝▖                                                            │
│                                                  ▗▞                               ▝▖                                                           │ 400 W
│                                                 ▄▘                                 ▝▖                                                          │
│                                                ▞                                    ▐                                                          │
│                                               ▞                                      ▚                                                         │
│                                              ▗▘                                       ▌                                                        │
│                                             ▗▘                                        ▝▖                                                       │ 200 W
│                                             ▞                                          ▝▖                                                      │
│                                            ▞                                            ▚                                                      │
│                                           ▗▘                                             ▀▚▖                                                   │
│                                          ▗▘                                                ▝▚▖                                                 │
│▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▞▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▝▚▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄│ 0 W
└────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘
2010-01-27 2010-01-27T03:00  2010-01-27T06:00  2010-01-27T09:00  2010-01-27T12:00 2010-01-27T15:00  2010-01-27T18:00  2010-01-27T21:00     2010-01-28
                                                             ██ ⌁ Photovoltaic Power

By the way, the --neighbor-lookup option set to nearest is important : it will pick these time series from the input data that are nearest to the requested coordinates, in which case longitude and latitude 8.628 45.812. In other words, if a requested pair of coordinates does not exist in the data, PVGIS will not select a location for convenience. Such a selection without the user being informed may lead to unpredictable results.

Analysis

We'd want, however, to make sense of the numbers. What are they and what is the context, i.e. what other variables come into play ?

Let's break-down the result via -v flags :

pvgis-prototype power broadband \
    8.628 45.812 214 180 0.0001 \
    --start-time '2010-01-27' \
    --end-time '2010-01-28' \
    --global-horizontal-irradiance sarah2_sis_over_esti_jrc.nc \
    --direct-horizontal-irradiance sarah2_sid_over_esti_jrc.nc \
    --neighbor-lookup nearest \
    -vv
                                                        Power series [W]                                                        

  Time                  Power ⌁    Power ⌁ without Loss   Sun-Horizon ⛰   Shading state 🮞   In-shade 🮞   Horizon ⛰   Visible 👁  
 ────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────── 
  2010-01-27 00:00:00   0.0        0.0                    Below           Unset             True         0.0         False      
  2010-01-27 01:00:00   0.0        0.0                    Below           Unset             True         0.0         False      
  2010-01-27 02:00:00   0.0        0.0                    Below           Unset             True         0.0         False      
  2010-01-27 03:00:00   0.0        0.0                    Below           Unset             True         0.0         False      
  2010-01-27 04:00:00   0.0        0.0                    Below           Unset             True         0.0         False      
  2010-01-27 05:00:00   0.0        0.0                    Below           Unset             True         0.0         False      
  2010-01-27 06:00:00   0.0        0.0                    Below           Unset             True         0.0         False      
  2010-01-27 07:00:00   0.0        0.0                    Low angle       Unset             False        0.0         True       
  2010-01-27 08:00:00   459.399    534.185                Above           Unset             False        0.0         True       
  2010-01-27 09:00:00   536.939    624.348                Above           Unset             False        0.0         True       
  2010-01-27 10:00:00   578.435    672.598                Above           Unset             False        0.0         True       
  2010-01-27 11:00:00   593.646    690.286                Above           Unset             False        0.0         True       
  2010-01-27 12:00:00   520.878    605.672                Above           Unset             False        0.0         True       
  2010-01-27 13:00:00   597.361    694.606                Above           Unset             False        0.0         True       
  2010-01-27 14:00:00   449.867    523.101                Above           Unset             False        0.0         True       
  2010-01-27 15:00:00   148.948    173.196                Above           Unset             False        0.0         True       
  2010-01-27 16:00:00   0.0        0.0                    Above           Unset             False        0.0         True       
  2010-01-27 17:00:00   0.0        0.0                    Below           Unset             True         0.0         False      
  2010-01-27 18:00:00   0.0        0.0                    Below           Unset             True         0.0         False      
  2010-01-27 19:00:00   0.0        0.0                    Below           Unset             True         0.0         False      
  2010-01-27 20:00:00   0.0        0.0                    Below           Unset             True         0.0         False      
  2010-01-27 21:00:00   0.0        0.0                    Below           Unset             True         0.0         False      
  2010-01-27 22:00:00   0.0        0.0                    Below           Unset             True         0.0         False      
  2010-01-27 23:00:00   0.0        0.0                    Below           Unset             True         0.0         False      
  2010-01-28 00:00:00   0.0        0.0                    Below           Unset             True         0.0         False      

  ⅀ / μ                 3885.473   4517.992                                                                                     

╭──────────────────────────────────────────────────────────────────────────────────────────────────────────────────╮
│ Location  Longitude ϑ, Latitude ϕ = 0.151, 0.8, Elevation: 214.0 m  Angular units radians                        │
│ Definitions  UTC, Incidence angle: Sun-Vector-to-Surface-Normal, Sun-to-Horizon: ['Low angle', 'Below', 'Above'] │
│ Algorithms  Shading : PVGIS, Shading states : ['all']                                                            │
╰────────────────────────────────────────────────────────────────────────────────────────────────────── Reference ─╯
╭───────────────────────────────────────────────────────────────╮                                                   
│  ⌁  Power   ⯐  Positioning  ⦥  Tilt       🮞  Shading          │                                                   
│  -  Loss    ⛰  Horizon      ⭸  Incidence  ⅀  N-ary Summation  │                                                   
│  ⏲  Timing  ↻  Orientation  👁  Visible    μ  Mean             │                                                   
╰────────────────────────────────────────────────────── Legend ─╯                                                   

and break-it-down even more by instructing more -vs

pvgis-prototype power broadband \
    8.628 45.812 214 180 0.0001 \
    --start-time '2010-01-27' \
    --end-time '2010-01-28' \
    --global-horizontal-irradiance sarah2_sis_over_esti_jrc.nc \
    --direct-horizontal-irradiance sarah2_sid_over_esti_jrc.nc \
    --neighbor-lookup nearest \
    -vvvv
                                                                        Power series [W]                                                                        

                               Pow…                                                                                                                             
                               ⌁                                         Spe…   Spe…          Lin…                 Ecc…         Sha…                            
                        Pow…   wit…   Eff…   Glo…   Dir…   Sky…   Gro…   eff…   eff…   Spe…   Tur…   Alt…   Inc…   Pha…   Su…   sta…   In…   Hor…   Vi…         
  Time                  ⌁      Loss   ⋅      ⤋ ⭍    ⇣ ⭍    🗤 ⭍    ⭞ ⭍    ±      ± %   fac…   ⋅      ⦩      ⭸      Off…   ⛰     🮞      🮞     ⛰      👁           
 ────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────── 
  2010-01-27 00:00:00   0.0    0.0    1.0    0.0    -0.0   0.0    -0.0   0.0    0.0    1.0    uns…   2.0    -1.…   0.0    0.…   Bel…   Un…   True   0.0   Fal…  
  2010-01-27 01:00:00   0.0    0.0    1.0    0.0    -0.0   0.0    -0.0   0.0    0.0    1.0    uns…   2.0    -1.…   0.0    0.…   Bel…   Un…   True   0.0   Fal…  
  2010-01-27 02:00:00   0.0    0.0    1.0    0.0    -0.0   0.0    -0.0   0.0    0.0    1.0    uns…   2.0    -0.…   0.0    0.…   Bel…   Un…   True   0.0   Fal…  
  2010-01-27 03:00:00   0.0    0.0    1.0    0.0    -0.0   0.0    -0.0   0.0    0.0    1.0    uns…   2.0    -0.…   0.0    0.…   Bel…   Un…   True   0.0   Fal…  
  2010-01-27 04:00:00   0.0    0.0    1.0    0.0    -0.0   0.0    -0.0   0.0    0.0    1.0    uns…   2.0    -0.…   0.0    0.…   Bel…   Un…   True   0.0   Fal…  
  2010-01-27 05:00:00   0.0    0.0    1.0    0.0    -0.0   0.0    -0.0   0.0    0.0    1.0    uns…   2.0    -0.…   0.0    0.…   Bel…   Un…   True   0.0   Fal…  
  2010-01-27 06:00:00   0.0    0.0    1.0    0.0    -0.0   0.0    -0.0   0.0    0.0    1.0    uns…   2.0    -0.…   0.0    0.…   Bel…   Un…   True   0.0   Fal…  
  2010-01-27 07:00:00   0.0    0.0    1.0    0.0    0.0    0.0    -0.0   0.0    0.0    1.0    uns…   2.0    0.01   1.5…   0.…   Low    Un…   Fal…   0.0   True  
                                                                                                                                ang…                            
  2010-01-27 08:00:00   459…   534…   0.9…   534…   479…   54.…   -0.0   0.0    0.0    1.0    uns…   2.0    0.1…   1.4…   0.…   Abo…   Un…   Fal…   0.0   True  
  2010-01-27 09:00:00   536…   624…   0.9…   624…   538…   85.…   -0.0   0.0    0.0    1.0    uns…   2.0    0.2…   1.2…   0.…   Abo…   Un…   Fal…   0.0   True  
  2010-01-27 10:00:00   578…   672…   0.9…   672…   572…   99.…   -0.0   0.0    0.0    1.0    uns…   2.0    0.3…   1.19   0.…   Abo…   Un…   Fal…   0.0   True  
  2010-01-27 11:00:00   593…   690…   0.9…   690…   587…   102…   -0.0   0.0    0.0    1.0    uns…   2.0    0.4…   1.1…   0.…   Abo…   Un…   Fal…   0.0   True  
  2010-01-27 12:00:00   520…   605…   0.9…   605…   472…   133…   -0.0   0.0    0.0    1.0    uns…   2.0    0.4…   1.1…   0.…   Abo…   Un…   Fal…   0.0   True  
  2010-01-27 13:00:00   597…   694…   0.9…   694…   618…   75.…   -0.0   0.0    0.0    1.0    uns…   2.0    0.4    1.1…   0.…   Abo…   Un…   Fal…   0.0   True  
  2010-01-27 14:00:00   449…   523…   0.9…   523…   432…   90.…   -0.0   0.0    0.0    1.0    uns…   2.0    0.3…   1.2…   0.…   Abo…   Un…   Fal…   0.0   True  
  2010-01-27 15:00:00   148…   173…   0.95   173…   106…   66.…   -0.0   0.0    0.0    1.0    uns…   2.0    0.1…   1.3…   0.…   Abo…   Un…   Fal…   0.0   True  
  2010-01-27 16:00:00   0.0    0.0    1.0    0.0    0.0    0.0    -0.0   0.0    0.0    1.0    uns…   2.0    0.0…   1.5…   0.…   Abo…   Un…   Fal…   0.0   True  
  2010-01-27 17:00:00   0.0    0.0    1.0    0.0    -0.0   0.0    -0.0   0.0    0.0    1.0    uns…   2.0    -0.…   0.0    0.…   Bel…   Un…   True   0.0   Fal…  
  2010-01-27 18:00:00   0.0    0.0    1.0    0.0    -0.0   0.0    -0.0   0.0    0.0    1.0    uns…   2.0    -0.…   0.0    0.…   Bel…   Un…   True   0.0   Fal…  
  2010-01-27 19:00:00   0.0    0.0    1.0    0.0    -0.0   0.0    -0.0   0.0    0.0    1.0    uns…   2.0    -0.…   0.0    0.…   Bel…   Un…   True   0.0   Fal…  
  2010-01-27 20:00:00   0.0    0.0    1.0    0.0    -0.0   0.0    -0.0   0.0    0.0    1.0    uns…   2.0    -0.…   0.0    0.…   Bel…   Un…   True   0.0   Fal…  
  2010-01-27 21:00:00   0.0    0.0    1.0    0.0    -0.0   0.0    -0.0   0.0    0.0    1.0    uns…   2.0    -0.…   0.0    0.…   Bel…   Un…   True   0.0   Fal…  
  2010-01-27 22:00:00   0.0    0.0    1.0    0.0    -0.0   0.0    -0.0   0.0    0.0    1.0    uns…   2.0    -0.…   0.0    0.…   Bel…   Un…   True   0.0   Fal…  
  2010-01-27 23:00:00   0.0    0.0    1.0    0.0    -0.0   0.0    -0.0   0.0    0.0    1.0    uns…   2.0    -1.…   0.0    0.…   Bel…   Un…   True   0.0   Fal…  
  2010-01-28 00:00:00   0.0    0.0    1.0    0.0    -0.0   0.0    -0.0   0.0    0.0    1.0    uns…   2.0    -1.…   0.0    0.…   Bel…   Un…   True   0.0   Fal…  

  ⅀ / μ                 388…   451…   0.9…   451…   380…   709…   0.0    0.0    0.0    1.0                                                                      

╭──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╮
│ Location  Longitude ϑ, Latitude ϕ = 0.151, 0.8, Elevation: 214.0 m  Angular units radians                                                        │
│ Module  Type: Mono-Facial, Technology: cSi, Mount: Free standing, Peak Power: 1.0 kWp                                                            │
│ Definitions  Azimuth origin : Not Required!, UTC, Incidence angle: Sun-Vector-to-Surface-Normal, Sun-to-Horizon: ['Below', 'Above', 'Low angle'] │
│ Algorithms  Power model ⌁: Huld 2011, Shading : PVGIS, Shading states : ['all']                                                                  │
│ Radiation model ⸾ : Hofierka 2002, Irradiance units W                                                                                            │
│ Equation : P(G₀, T₀) = G₀(P₀ₛₜ₃, m + k₁G₀) + k₂G₀)² + k₃T₀ + k₄T₀G₀ + k₅T₀G₀² + k₆T₀²                                                            │
│ Constants Solar constant : 1367.0, Eccentricity Offset : 0.048869, Eccentricity Amplitude ⋅⬭ : 0.03344                                           │
╰────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────── Reference ─╯
╭────────────────────────────────────────────────────────────────────────╮                                                                          
│  ⌁  Power         🗤  Diffuse      ↻   Orientation  ⅀  N-ary Summation  │                                                                          
│  ⸾  Irradiance    ⭞  Reflected    ⦥   Tilt         μ  Mean             │                                                                          
│  ⭍  Effective     ⏲  Timing       ⭸   Incidence                        │                                                                          
│  -  Loss          ⦩  Altitude     👁   Visible                          │                                                                          
│  ⇣  Direct        󱦥  Azimuth      🮞   Shading                          │                                                                          
│  ⍖  Extra Normal  ⯐  Positioning  ⋅   Factor                           │                                                                          
│  ⦜  Normal        ⛰  Horizon      %  Percentage                       │                                                                          
╰─────────────────────────────────────────────────────────────── Legend ─╯                                                                          

For each hour during the period in question, we calculated the photovoltaic power output based on satellite-based observations of the terrestrial radiation and a predefined efficiency and other parameters. The more verbose output reveals many of the input and intermediate factors and variables that come into play.

Symbols

The photovoltaic Power ⌁ (output column) is the result of the effective global irradiance Global ⤋ ⭍ multiplied by the overall Efficiency ⋅. In fact, the effective global irradiance can be broken down in its effective components Direct ⇣ ⭍, Sky-Diffuse 🗤 ⭍ and Ground-Diffuse ⭞ ⭍. Likewise, the global inclined irradiance is broken down in its inclined components. Just add more -vs to the command !

See the complete list of symbols at Symbols