POA irradiance data inconsistency

91 views
Skip to first unread message

erika saretta

unread,
Jan 16, 2023, 8:57:30 AM1/16/23
to pvlib-python
Hello,

I am calculating POA irradiance data calculated for a facade with east orientation.

I compared poa_direct and poa_diffuse obtained with Perez model with poa_direct and poa_diffuse calculated with PVSyst. Input file is the same, as well as albedo coefficient.
From this comparison, it arises that monthly values differ up to 36% (more than 10 kWh/m2/month).

However, facade with south orientation are quite well estimated.

Attached is the code for POA irradiance calculation on east facade.

Thanks in advance for your help.

Best regards,
Erika

question.txt

Stein, Joshua Stephenson

unread,
Jan 16, 2023, 10:10:33 AM1/16/23
to erika saretta, pvlib-python

HI Erika,

                The output of get_total_irradiance would be POA irradiance (not just direct irradiance) if the albedo was set to a realistic value.  This function calculates the sum of the three components of POA (direct, diffuse, and ground reflected)  Why are you setting albedo to equal zero?  Doing this means that what you are calling perez_direct is actually POA direct + POA diffuse.

 

Josh

 

From: <pvlib-...@googlegroups.com> on behalf of erika saretta <erika....@gmail.com>
Date: Monday, January 16, 2023 at 6:59 AM
To: pvlib-python <pvlib-...@googlegroups.com>
Subject: [EXTERNAL] POA irradiance data inconsistency

 

Some people who received this message don't often get email from erika....@gmail.com. Learn why this is important

--
You received this message because you are subscribed to the Google Groups "pvlib-python" group.
To unsubscribe from this group and stop receiving emails from it, send an email to pvlib-python...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/pvlib-python/53f06a49-4ac9-4065-a27a-db2b8a38f18fn%40googlegroups.com.

erika saretta

unread,
Jan 19, 2023, 3:44:46 AM1/19/23
to pvlib-python
Dear Joshua,

thanks for your kind reply.

I set albedo = 0, in order to avoid errors due to different methods to compute reflected irradiance so that I will have only POA_dir, and POA_dif for the comparison with other tools.
Actually, the "get_total_irradiance" function provides the different components.
image.png
 
However, only south orientation provides consistent results when compared with PVSyst. Other orientations are not consistent and provide huge differences.

Do you have any suggestion?

Thanks for you help,
Erika

erika saretta

unread,
Jan 19, 2023, 3:46:31 AM1/19/23
to pvlib-python
get total irradiance_results.png
These are the POA_components of "get_total_irradiace" 

cwh...@sandia.gov

unread,
Jan 19, 2023, 10:45:33 AM1/19/23
to pvlib-python
Erika,

Can you post the input tilt, azimuth, GHI and DHI, and the solar zenith, for that time period? The timestamps might be misaligned.

Cliff

erika saretta

unread,
Jan 19, 2023, 11:27:11 AM1/19/23
to pvlib-python
Dear Cliff, 

attached is the code for the east facade (tilt = 90°, azimuth = 90°).
GHI and DHI are provided by EPW (downloaded from PVGIS). Solar zenith is calculated assuming data from EPW.

Thanks in advance for your help!

Erika

test.py
Zurigo.epw
zurigo_est.csv

cwh...@sandia.gov

unread,
Jan 19, 2023, 11:36:54 AM1/19/23
to pvlib-python
Which quantities are you comparing to PVsyst, so that I am looking at the same differences you are?

Cliff

Silvana Ayala

unread,
Jan 19, 2023, 2:09:44 PM1/19/23
to pvlib-python
Not sure if relevant but, last time I checked pvsyst calculates by default sun position at +30 mins from the timestamp (just like SAM), which can give up to 7.5 degrees of difference from sun position to calculating it AT the timestamp, which I don't know then how much affects the poa difference then but, just a note. Also they define azimuth differently (pvlib is North =0 clockwise, and I think PVsyst is South = 0).

S.

erika saretta

unread,
Jan 23, 2023, 11:02:13 AM1/23/23
to pvlib-python
I am comparing the following quantities:
  • POA_direct (from PVLIB) vs BeamEff (from PVSYST)
  • POA_diffuse (from PVLIB) vs [CircEff + DiffEff] (from PVSYST)
Attached are the .py file for the comparison of results, the file including results from PVSYST (both east and south), and the weather file.
As you can see, south is working well. Instead, east orientation shows huge differences.
South Zurich comparison_DIRECT.pngEast Zurich comparison_DIRECT.png
Looking forward to hearing from you.

Best regards,
Erika
PVSYST_zurich_SUD_month.CSV
Zurigo.epw
PVSYST_zurich_EST_month.CSV
POA comparison PVLIB PVSYST.py

cwh...@sandia.gov

unread,
Jan 23, 2023, 4:03:36 PM1/23/23
to pvlib-python
The "Eff" suffix in PVsyst refers to "Effective", i.e., irradiance reaching the cells. The beam (and perhaps diffuse) irradiance would be reduced to account for surface reflections, and both quantities adjusted for spectral mismatch. There might also be reductions due to shading (horizon and array). Search for the below page in the PVsyst help file. Because the pvlib figures are always greater than PVsyst, I wonder if that is because we are comparing Effective irradiance quantities (from PVsyst) to different quantities from pvlib.

The 90-degree tilt at 47 latitude would increase reflection losses as compared to lower tilts or latitudes, I think.

Navigation:  Project design > Simulation >

Simulation process: Irradiances and PV-array

cwh...@sandia.gov

unread,
Jan 23, 2023, 4:05:05 PM1/23/23
to pvlib-python
Silvana is correct - PVsyst calculates solar position at the midpoint of each time interval. The pvlib function "read_epw" returns timestamps at the beginning of each hour. The difference narrows if you shift the timestamps by 30 minutes before doing any other calculations:

tmy3_data.index += pd.Timedelta(minutes=30)

Reply all
Reply to author
Forward
0 new messages