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

Dynamic Snow Loss Model #2044

Open
kylefmacdonald opened this issue May 10, 2024 · 7 comments
Open

Dynamic Snow Loss Model #2044

kylefmacdonald opened this issue May 10, 2024 · 7 comments

Comments

@kylefmacdonald
Copy link

kylefmacdonald commented May 10, 2024

Is your feature request related to a problem? Please describe.
Snow loss modelling is difficult and currently the only model available on pvlib at an hourly timestep is the Marion model:

https://pvlib-python.readthedocs.io/en/v0.10.4/reference/generated/pvlib.snow.coverage_nrel.html

However this model does not account for the movement of a tracker and the snow pile that may accumulate.

Describe the solution you'd like
In 2018, Defne Gun, Mike Anderson, Greg Kimball, and Ben Bourne developed a dynamic snow loss model:

https://gregorykimball.me/wp-content/uploads/2018/07/mewcpec1079_0614162840_snow_2018.pdf

My solution would be to contribute this code to pvlib so the industry may model snow losses accounted for the dynamic nature of Horizontal Single Axis Tracker (HSAT) systems. I wrote code 2 years ago when I was relatively new to python. I would appreciate any feedback and advice you have however in the meantime I will also review my code as I am sure it can be improved. After an initial look I will start by refactoring to functional programming (I can also refactor to OOP if that is what you would prefer). In addition I will also update the code to follow the pvlib guidelines.

Describe alternatives you've considered
No other dynamic model currently exists in pvlib, I am simply using a model that has already been developed and released publicly.

Thank you in advance for the guidance and help on this, looking forward to contributing!

@echedey-ls
Copy link
Contributor

Now that's what I call well commented code! The functional programming is perfectly fine. OOP can be tackled down in another PR.

Just a heads up, that's a pretty big model, so be patient to get it all working and reviewed. In any case, that's gonna be a nice contribution!

Recommended readings and tips:

@kylefmacdonald
Copy link
Author

kylefmacdonald commented May 10, 2024 via email

@echedey-ls
Copy link
Contributor

echedey-ls commented May 10, 2024

Feel free to do what you need, although I'd leave this open at least as a possible addition.

In any case, if you go further with the code, opening a pull request is possibly a better fit!

(Btw, I'm just a contributor, I wouldn't be able to close your issue)

@echedey-ls
Copy link
Contributor

It would be too boring if I told you everything that must be done. It's a requirement to figure out some of the changes ;). What's more, isn't open source just another form of human creativity? I'd say it's the finest one.

Seriously, lurk over the repo, it will also help you be confident with it.

@cwhanse
Copy link
Member

cwhanse commented May 14, 2024 via email

@kylefmacdonald
Copy link
Author

kylefmacdonald commented May 14, 2024 via email

@cwhanse
Copy link
Member

cwhanse commented May 14, 2024

I understand. Just to be clear, opening the issue doesn't obligate you to provide code.

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