Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Front-side irradiance is not affected by horizon_band_angle #14

Open
kandersolar opened this issue Aug 14, 2023 · 0 comments
Open

Front-side irradiance is not affected by horizon_band_angle #14

kandersolar opened this issue Aug 14, 2023 · 0 comments
Labels
bug Something isn't working

Comments

@kandersolar
Copy link
Member

Originally posted in SunPower/pvfactors#131:

Changing the horizon_band_angle input to HybridPerezOrdered doesn't seem to affect front-side irradiance nearly as much as it does rear-side. Code to reproduce:

from pvfactors.geometry import OrderedPVArray
from pvfactors.engine import PVEngine
from pvfactors.irradiance.models import HybridPerezOrdered
import pandas as pd
import numpy as np

times = pd.to_datetime(['2019-06-01 12:00'])
dni = np.array([600])
dhi = np.array([100])
solar_zenith = np.array([45])
solar_azimuth = np.array([270])
surface_tilt = np.array([45])
surface_azimuth = np.array([270])
albedo = np.array([0.25])

def build_report(pvarray):
    row = pvarray.ts_pvrows[1]
    return {
        'front': row.front.get_param_weighted('qabs')[0],
        'back': row.back.get_param_weighted('qabs')[0],
    }

for band_angle in [5, 15]:
    irradiance_model = HybridPerezOrdered(horizon_band_angle=band_angle)
    pvarray = OrderedPVArray(n_pvrows=3, pvrow_height=1, pvrow_width=1, axis_azimuth=180, gcr=0.5)
    engine = PVEngine(pvarray, irradiance_model=irradiance_model)
    engine.fit(times, dni, dhi, solar_zenith, solar_azimuth, surface_tilt, surface_azimuth, albedo)
    out = engine.run_full_mode(fn_build_report=build_report)
    print(f'band_angle = {band_angle}\t-->', out)
band_angle = 5  --> {'front': 737.1206177322375, 'back': 43.08209190810574}
band_angle = 15 --> {'front': 737.1517229315606, 'back': 50.38605014260793}

Looking at HybridPerezOrdered.transform, I guess the horizon band shading calculation for the front is done differently from the rear. In fact it's not clear to me that horizon band shading is calculated at all for the front side, but maybe I'm missing it. If it is, I would naively expect horizon band shading loss to be more or less the same for front and rear side.

@kandersolar kandersolar added the bug Something isn't working label Aug 14, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests

1 participant