Skip to content

Forecasted GHI is greater than clear sky GHI #206

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

Closed
willhobbs opened this issue Jun 30, 2016 · 5 comments
Closed

Forecasted GHI is greater than clear sky GHI #206

willhobbs opened this issue Jun 30, 2016 · 5 comments
Milestone

Comments

@willhobbs
Copy link

Using GFS as the forecast model, I am seeing GHI values as much as 13% higher than what ModelChain calculates when no irradiance data is provided (default ineichen clearsky model).

@cwhanse
Copy link
Member

cwhanse commented Jun 30, 2016

I’ve seen the same thing from NAM, compared to Ineichen’s clear sky model.

@wholmgren
Copy link
Member

There are two reasons why the forecast module's irradiance data will be different from the ineichen model's:

  1. The forecast module uses the Liu Jordan model to convert a cloud cover forecast to an irradiance forecast. It's going to give different results even in clear sky conditions.
  2. The forecast module fails to supply the Liu Jordan model with a time-varying top-of-atmosphere irradiance. I'll fix this later today.

@cwhanse are you referring to the raw NAM data or the forecast module's processed version of it?

@cwhanse
Copy link
Member

cwhanse commented Jun 30, 2016

I’m referring to the GHI values in the NAM forecast downloaded from NOAA.

@wholmgren
Copy link
Member

wholmgren commented Jul 14, 2016

@willhobbs I wrote a new cloud cover to irradiance algorithm that's based on the ineichen function and the turbidity file. It's basically this...

solpos = location.get_solarposition(cloud_cover.index)
cs = location.get_clearsky(cloud_cover.index, model='ineichen')
# offset and cloud cover in decimal units here
ghi = (offset + (1 - offset) * (1 - cloud_cover)) * ghi_clear
dni = disc(ghi, solpos['zenith'], cloud_cover.index)['dni']
dhi = ghi - dni * np.cos(np.radians(solpos['zenith']))

See the updated documentation for more.

Lot's of room for experimentation and likely improvements. I have no idea how the accuracy of the two methods ('clearsky_scaling' and 'liujordan') compares.

I pushed those changes to both pvlib's and my own forecast branches.

@wholmgren wholmgren added this to the 0.4.0 milestone Jul 21, 2016
@wholmgren
Copy link
Member

Closed by #180.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants