Reputation: 391
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
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