Goal
Replace the simplified 2D shadow_raycaster in models/shadow_raycaster.py with NREL's bifacial_radiance for research-grade accuracy.
Why
Our current raycaster does a 2D projection of the panel polygon onto the ground and intersects with the bed rectangle. This is good enough for v1 but misses:
- Bifacial back-face gain — we approximate as a flat 10%. Real value depends on ground albedo (bed soil) and rear-side illumination. bifacial_radiance handles this properly.
- Ground-reflected light to bed — bed DLI currently treats panel shadow as total block. Real DLI includes diffuse + reflected light even in shade.
- Time-of-day geometry — our projection assumes thin panel. bifacial_radiance does proper 3D scene ray-tracing.
Reference
Scope
Done when
Differences between our raycaster and bifacial_radiance are documented and the more accurate one is in use.
Goal
Replace the simplified 2D shadow_raycaster in models/shadow_raycaster.py with NREL's bifacial_radiance for research-grade accuracy.
Why
Our current raycaster does a 2D projection of the panel polygon onto the ground and intersects with the bed rectangle. This is good enough for v1 but misses:
Reference
Scope
Done when
Differences between our raycaster and bifacial_radiance are documented and the more accurate one is in use.