Is your feature request related to a problem? Please describe.
The current pvlib.snow.loss_townsend implementation is very useful, but there are several practical engineering situations where additional optional functionality could improve applicability for feasibility-stage PV modeling and PVsyst monthly soiling workflows.
In practice, users often need to account for bifacial systems, tracker configurations, multiple parallel source circuits, and situations where only total snow-event counts are available instead of the number of days with at least 1 inch of snowfall.
Describe the solution you'd like
I would like to propose an enhancement to the Townsend monthly snow loss workflow for discussion.
The intent would be to preserve backward compatibility while optionally extending the model to support:
- bifacial PV adjustments using front/rear contribution,
- tracker-oriented guidance for equivalent tilt and slant length,
- optional multiple parallel source-circuit correction (M = 0.75),
- handling of total snow-event counts when ≥1 inch snowfall-event data are unavailable.
These updates reflect more recent engineering guidance from Tim Townsend beyond the original 2011 publication and have already been prototyped externally in a research/web-tool setting. I would be happy to adapt the implementation to pvlib conventions and maintainer preferences.
My plan would be to first submit a small pull request focused only on the snow model, tests, and documentation. Any dust/soiling functionality would be proposed separately later.
Describe alternatives you've considered
An alternative is to keep these calculations external to pvlib in standalone tools, though integrating optional enhancements into pvlib may improve reproducibility and accessibility for practitioners already using the Townsend monthly snow model.
Additional context
Before beginning implementation, I wanted to ask whether maintainers would be interested in this direction and whether they have preferences regarding API design or architecture.
Is your feature request related to a problem? Please describe.
The current pvlib.snow.loss_townsend implementation is very useful, but there are several practical engineering situations where additional optional functionality could improve applicability for feasibility-stage PV modeling and PVsyst monthly soiling workflows.
In practice, users often need to account for bifacial systems, tracker configurations, multiple parallel source circuits, and situations where only total snow-event counts are available instead of the number of days with at least 1 inch of snowfall.
Describe the solution you'd like
I would like to propose an enhancement to the Townsend monthly snow loss workflow for discussion.
The intent would be to preserve backward compatibility while optionally extending the model to support:
These updates reflect more recent engineering guidance from Tim Townsend beyond the original 2011 publication and have already been prototyped externally in a research/web-tool setting. I would be happy to adapt the implementation to pvlib conventions and maintainer preferences.
My plan would be to first submit a small pull request focused only on the snow model, tests, and documentation. Any dust/soiling functionality would be proposed separately later.
Describe alternatives you've considered
An alternative is to keep these calculations external to pvlib in standalone tools, though integrating optional enhancements into pvlib may improve reproducibility and accessibility for practitioners already using the Townsend monthly snow model.
Additional context
Before beginning implementation, I wanted to ask whether maintainers would be interested in this direction and whether they have preferences regarding API design or architecture.