Replies: 5 comments 3 replies
-
I favor Option 3. If "I like the simplicity of
that can be achieved via
Does this include models with existing public implementations (pvfactors, bifacial_vf)? I don't think I see much value in replacing a pvfactors wrapper with a re-implementation of the algorithm.
+1 to not implementing ray tracers in pvlib. For something as complex as bifacial_radiance I'm not sure even a wrapper is a good idea. |
Beta Was this translation helpful? Give feedback.
-
I didn't mean to imply re-implementing existing code like bifacial_vf in pvlib. I meant implementing 2D view factor models in general, because a) they are most popular and b) I think they can be maintained in pvlib. The existence of bifacial_vf doesn't mean that a pvlib-native 2D v.f. model isn't valuable, but we can discuss critiques of bifacial_vf elsewhere.
neither do I. |
Beta Was this translation helpful? Give feedback.
-
I like making a folder and adapting the API in the dunder file as Kevin suggested |
Beta Was this translation helpful? Give feedback.
-
@cwhanse I assume the model in question is this one (code, reference). It is now, or will it ever be, considered "finished" enough to be suitable for porting to pvlib-python? Also curious if you know of any other published 3D vf models we might consider implementing in pvlib-python. I have been daydreaming about numba-accelerated VF models but have not kept up with the literature. |
Beta Was this translation helpful? Give feedback.
-
I would ❤️ to see less new code for this and more of an effort to reuse blender, unity, lightstudio, or any other tool that is already designed to calculate diffuse light on oblique surfaces in complex multi-surface 3D images. |
Beta Was this translation helpful? Give feedback.
-
How should we organize
pvlib.bifacial
to accommodate more bifacial irradiance models? Options appear to be:Current structure
Currently,
pvlib.bifacial
contains one functionpvfactors_timeseries
, which is a convenience wrapper for using pvfactors from pvlibpvlib.bifacial
's module description is "Thebifacial
module contains functions for modeling back surface plane-of-array irradiance under various conditions."I like the simplicity of
pvlib.bifacial.pvfactors_timeseries
etc. This is Option #1 above. But I am concerned about the likely large file length.Bifacial modeling approaches
There are two types of bifacial irradiance models:
I think implementing (rather than wrapping) 2D view factor bifacial models in pvlib makes sense. PR #717, #914 and #1187 are attempts to add 2D view factor models. I don’t think implementing anything more than a wrapper for ray tracing models makes sense for pvlib.
Beta Was this translation helpful? Give feedback.
All reactions