Hoekieee
Hoekieee

Reputation: 391

how to calculate the effective irradiance with pvlib's pvwatts model?

I have a good working pvlib model, based on the standard sandia modules. However, since I would also like to model other modules (also not in cec) I want to use the pvwatts model instead of sapm. The dc power can be calculated with:

pvlib.pvsystem.pvwatts_dc(g_poa_effective, temp_cell, pdc0, gamma_pdc, temp_ref=25.0)

I was wondering how I would get the effective irradiance g_poa_effective when using the pvwatts model. With sapm it could be calculated as shown below, but this would not work for me, since I don't use a sandia module.

effective_irradiance = pvlib.pvsystem.sapm_effective_irradiance(poa_irrad.poa_direct, poa_irrad.poa_diffuse, airmass, aoi, sandia_module)

Upvotes: 1

Views: 1170

Answers (1)

Cliff H
Cliff H

Reputation: 349

Conceptually, effective irradiance is the irradiance that is converted to electrical current. In the modeling paradigm effective irradiance is broadband plane of array irradiance, reduced by reflections and soiling and adjusted for spectrum. The function pvlib.pvsystem.sapm_effective_irradiance applies spectral adjustment and reflections using functions for each effect.

The PVWatts model (described https://www.nrel.gov/docs/fy14osti/62641.pdf) accounts only for reflections using the physicaliam model.

To calculate effective irradiance from plane of array irradiance, you choose a reflection model (pvlib.pvsystem.physicaliam or pvlib.pvsystem.ashraeiam), and a spectral modifier model (if you want to account for spectrum, see pvlib.atmosphere.first_solar_spectral_correction for an option that does not require SAPM parameters).

spectral_modifier = atmosphere.first_solar_spectral_correction(…)
effective_irradiance = (poa_irrad.poa_direct * cos(aoi) * pvsystem.physicaliam(aoi) + poa_irrad.poa_diffuse) * spectral_modifier

Hope this helps.

Upvotes: 1

Related Questions