-
Notifications
You must be signed in to change notification settings - Fork 1.1k
Description
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!
Activity
echedey-ls commentedon May 10, 2024
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:
test
optional packages in a virtual environmentkylefmacdonald commentedon May 10, 2024
echedey-ls commentedon 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 commentedon May 11, 2024
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 commentedon May 14, 2024
kylefmacdonald commentedon May 14, 2024
cwhanse commentedon May 14, 2024
I understand. Just to be clear, opening the issue doesn't obligate you to provide code.