import math

def test_corrected_bifacial():
    """Test corrected bifacial calculation"""
    
    bifaciality_factor = 0.80
    
    print("=== Corrected Bifacial Effect ===")
    print("More vertical = better bifacial effect")
    print()
    
    tilts = [20, 30, 45, 60, 70, 90]
    
    for tilt in tilts:
        # Corrected calculation
        angle_from_vertical = abs(90 - tilt)  # 0° for vertical, 70° for 20° tilt
        bifacial_factor = 1.0 - (angle_from_vertical / 90.0)  # 1.0 for vertical, 0.22 for 20° tilt
        effective_bifaciality = bifaciality_factor * (0.3 + 0.7 * bifacial_factor)  # 0.24 to 0.8 range
        
        print(f"Tilt {tilt}°:")
        print(f"  Angle from vertical: {angle_from_vertical}°")
        print(f"  Bifacial factor: {bifacial_factor:.3f}")
        print(f"  Effective bifaciality: {effective_bifaciality:.3f}")
        print()

test_corrected_bifacial()

print("Expected behavior:")
print("- Vertical (90°): Maximum bifacial effect (0.800)")
print("- Tilt 70°: Good bifacial effect (> 0.7)")
print("- Tilt 20°: Poor bifacial effect (< 0.3)")