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

snow.coverage_nrel not fully implemented according to reference #1171

Open
belagoof opened this issue Feb 18, 2021 · 10 comments · May be fixed by #2292
Open

snow.coverage_nrel not fully implemented according to reference #1171

belagoof opened this issue Feb 18, 2021 · 10 comments · May be fixed by #2292
Labels

Comments

@belagoof
Copy link

belagoof commented Feb 18, 2021

The implemented snow coverage and losses functionality refers to Ryberg and Freeman (2017) for implemented improvements to the model by Marion (2013). However Ryberg & Freeman describe a check where snow coverage is set to zero when snow cover on ground (external input data) is zero (otherwise arrays with low tilt angles are estimated to be snow covered for very lonog periods, and horizontal arrays eternally).
Since Ryberg & Freeman are referenced one could assume this functionality is implemented.

My suggestion is that either:

  1. The docstring is adapted to clearly state that described functionality is not implemented.
  2. This is implemented. It basically requires the input to the function to be ground snow depth rather than accumulated snow fall, along with some minor changes. (For compatibility issues the snowfall option could co-exist)

I would be able to fix this myself, but have no experience of Git/GitHub and how to contribute. If anyone can guide me I might take care of the issue - after confirmation by others?

Update Feb 19: I have given it a chance with GitHub and have forked and implemented suggestion 2. Waiting for feedback before proceeding.

@garciaev
Copy link

garciaev commented May 24, 2021

Bumping this. From the documentation by Ryberg & Freeman et al. 2017, page 10 of the PDF, "Implementation in SAM" section, they detail the following - is this what you're referring to?

Second, when calculating the snow coverage at the beginning of each time step,
we included an additional check for zero snow depth at that time. We assume that if the snow
depth at that time is zero, then the coverage percentage on the PV array should also be zero. This
check accounts for zero-degree fixed-tilt PV arrays on which, in the original model, snow would
never slide off once it had accumulated. This second check was not required in Marion’s original
model since that model was designed for system tilts between 10° and 45°. However, as we will
discuss in the validation section, with this override the implemented PV snow coverage model is
also effective for flat systems

@cwhanse
Copy link
Member

cwhanse commented May 24, 2021

@belagoof I hope we didn't miss something. I haven't seen a pull request on this issue.

I favor # 2.

@belagoof
Copy link
Author

Bumping this. From the documentation by Ryberg & Freeman et al. 2017, page 10 of the PDF, "Implementation in SAM" section, they detail the following - is this what you're referring to?

@garciaev Yes, that is correct

@belagoof
Copy link
Author

@belagoof I hope we didn't miss something. I haven't seen a pull request on this issue.

I favor # 2.

@cwhanse I was unsure about the process and waited for confirmation that this was relevant. Will send a pull request soon.

@cwhanse
Copy link
Member

cwhanse commented May 28, 2021

Thanks @belagoof, I think we dropped the ball on this one.

@garciaev
Copy link

garciaev commented May 28, 2021

Hi @cwhanse @belagoof hmm I am curious to see this "erroneous permanent snow coverage effect" in action. Maybe I could find a rooftop site or two in our database that has low tilt and gets hit with snow and see how that compares to the predictions. If someone else already has done this validation let me know!

That being said though, to test this new code, I would need access to snow depth not just SnowfallCentimeters. I am guessing this check wouldn't work if you don't have access to snow depth?

@cwhanse
Copy link
Member

cwhanse commented May 28, 2021

That being said though, to test this new code, I would need access to snow depth not just SnowfallCentimeters. I am guessing this check wouldn't work if you don't have access to snow depth?

Right. I hesitated to speak in favor, because of this point. In the U.S. the weather records include both snow depth and snow fall, so I thought it would be OK to extend the pvlib function to expect snow depth as input.

@garciaev
Copy link

Yeah I am in the US as well - I think I should look up a snow depth data source then rather than just rely on IBM/The Weather Company's snowfall in cm for some validation, but I agree this additional check won't work without snow depth as input

@cwhanse
Copy link
Member

cwhanse commented Nov 6, 2024

@janinefreeman @mjprilliman I'm fixing this bug and came across another issue: should the snow fall data be left- or right-aligned? Left-aligned would mean that a timestamp's value is the snowfall that will happen in the next interval, right-aligned means happened in the last interval. From the description of the SAM implementation, I couldn't tell but could have missed it.

@cwhanse cwhanse added the bug label Nov 6, 2024
@cwhanse cwhanse linked a pull request Nov 6, 2024 that will close this issue
8 tasks
@janinefreeman
Copy link

I think right-aligned would be the best choice, as that number is being used to determine what's happening with the current timestep, but I'm not sure the model formulation actually specifies.

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

Successfully merging a pull request may close this issue.

4 participants