Skip to content

v2: Swap shadow_raycaster for NREL bifacial_radiance #5

Description

@mokahlo

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

  • Install bifacial_radiance (Radiance engine required, non-trivial on Windows)
  • Define Wattplot scene: bed rectangle, panel tilted at 0-90 deg, soil as ground with measured albedo
  • Run baseline simulation for Phoenix 2025 with 5 tilt schedules
  • Compare DLI and kWh from bifacial_radiance vs our shadow_raycaster
  • If significantly different, swap the simulator to use bifacial_radiance
  • Document the new sim approach in README

Done when

Differences between our raycaster and bifacial_radiance are documented and the more accurate one is in use.

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions