{
  "purpose": "Preliminary GIS-based seasonal geometric direct-sun screening, not a current-site irradiance or plant-level certificate",
  "date": "2026-09-23",
  "receiver_height_m": 0.3,
  "azimuth_step_deg": 0.5,
  "time_step_minutes": 5,
  "ray_range_m": [
    0.75,
    700
  ],
  "dsm_resolution_m": 0.5,
  "registration": "GIS frontage outside mapped roof bays; approximate local scan registration; nine XY perturbations within2m at -5,0,+5degree rotation about E27,N-12; invalid building-interior samples excluded. North direction established by City footprint frontage, no surveyed scan control.",
  "canopy": "Opaque 2023 envelope. Managed street canopy suppressed for renewal scenario; ALL park canopy retained. New mature replacement crowns not yet included. No leaf-off, porosity, fog, cloud, growth/removal since2023, reflected/diffuse light, walls below roof overhangs or hourly weather simulation.",
  "sites": [
    {
      "name": "rail_corner",
      "group": "rail",
      "xy": [
        20.3978,
        -9.3386
      ],
      "ground_plus_plant_height_m": 87.33797912597656,
      "existing_2023_surface_hours": {
        "March20": 0.0,
        "June21": 0.0,
        "September22": 0.0,
        "December21": 0.0
      },
      "frontage_trees_removed_park_retained_hours": {
        "March20": 7.083333333333333,
        "June21": 7.583333333333333,
        "September22": 7.166666666666667,
        "December21": 1.25
      },
      "terrain_and_building_only_hours": {
        "March20": 9.666666666666666,
        "June21": 8.833333333333334,
        "September22": 9.666666666666666,
        "December21": 6.5
      },
      "terrain_only_hours": {
        "March20": 11.416666666666666,
        "June21": 14.583333333333334,
        "September22": 11.666666666666666,
        "December21": 7.083333333333333
      },
      "registration_2m_sensitivity_hours": {
        "March20": [
          5.583333333333333,
          7.083333333333333
        ],
        "June21": [
          7.0,
          8.666666666666666
        ],
        "September22": [
          5.75,
          7.25
        ],
        "December21": [
          0.5,
          1.4166666666666667
        ]
      },
      "valid_sensitivity_samples": 20
    },
    {
      "name": "rail_middle",
      "group": "rail",
      "xy": [
        26.8798,
        -11.9776
      ],
      "ground_plus_plant_height_m": 88.22948913574218,
      "existing_2023_surface_hours": {
        "March20": 1.25,
        "June21": 1.5,
        "September22": 1.25,
        "December21": 0.0
      },
      "frontage_trees_removed_park_retained_hours": {
        "March20": 7.416666666666667,
        "June21": 8.916666666666666,
        "September22": 7.5,
        "December21": 1.4166666666666667
      },
      "terrain_and_building_only_hours": {
        "March20": 9.583333333333334,
        "June21": 8.916666666666666,
        "September22": 9.583333333333334,
        "December21": 6.583333333333333
      },
      "terrain_only_hours": {
        "March20": 11.5,
        "June21": 14.583333333333334,
        "September22": 11.5,
        "December21": 7.333333333333333
      },
      "registration_2m_sensitivity_hours": {
        "March20": [
          7.166666666666667,
          7.5
        ],
        "June21": [
          8.833333333333334,
          9.5
        ],
        "September22": [
          7.416666666666667,
          7.666666666666667
        ],
        "December21": [
          0.8333333333333334,
          1.4166666666666667
        ]
      },
      "valid_sensitivity_samples": 15
    },
    {
      "name": "rail_uphill",
      "group": "rail",
      "xy": [
        34.2878,
        -14.993599999999999
      ],
      "ground_plus_plant_height_m": 89.18915252685547,
      "existing_2023_surface_hours": {
        "March20": 5.333333333333333,
        "June21": 3.8333333333333335,
        "September22": 5.25,
        "December21": 2.1666666666666665
      },
      "frontage_trees_removed_park_retained_hours": {
        "March20": 7.333333333333333,
        "June21": 9.333333333333334,
        "September22": 7.666666666666667,
        "December21": 2.1666666666666665
      },
      "terrain_and_building_only_hours": {
        "March20": 9.5,
        "June21": 9.333333333333334,
        "September22": 9.583333333333334,
        "December21": 6.583333333333333
      },
      "terrain_only_hours": {
        "March20": 11.333333333333334,
        "June21": 14.333333333333334,
        "September22": 11.333333333333334,
        "December21": 7.5
      },
      "registration_2m_sensitivity_hours": {
        "March20": [
          6.833333333333333,
          7.583333333333333
        ],
        "June21": [
          6.25,
          10.916666666666666
        ],
        "September22": [
          7.0,
          7.666666666666667
        ],
        "December21": [
          0.75,
          2.75
        ]
      },
      "valid_sensitivity_samples": 20
    },
    {
      "name": "curb_corner",
      "group": "curb",
      "xy": [
        19.3422,
        -11.9314
      ],
      "ground_plus_plant_height_m": 87.23946838378906,
      "existing_2023_surface_hours": {
        "March20": 0.0,
        "June21": 0.0,
        "September22": 0.0,
        "December21": 0.0
      },
      "frontage_trees_removed_park_retained_hours": {
        "March20": 7.083333333333333,
        "June21": 7.583333333333333,
        "September22": 7.0,
        "December21": 0.4166666666666667
      },
      "terrain_and_building_only_hours": {
        "March20": 9.833333333333334,
        "June21": 10.083333333333334,
        "September22": 9.75,
        "December21": 6.416666666666667
      },
      "terrain_only_hours": {
        "March20": 11.333333333333334,
        "June21": 14.333333333333334,
        "September22": 11.5,
        "December21": 6.833333333333333
      },
      "registration_2m_sensitivity_hours": {
        "March20": [
          6.833333333333333,
          7.416666666666667
        ],
        "June21": [
          6.166666666666667,
          9.833333333333334
        ],
        "September22": [
          6.75,
          7.333333333333333
        ],
        "December21": [
          0.0,
          1.1666666666666667
        ]
      },
      "valid_sensitivity_samples": 27
    },
    {
      "name": "curb_middle",
      "group": "curb",
      "xy": [
        25.824199999999998,
        -14.570400000000001
      ],
      "ground_plus_plant_height_m": 88.14841156005859,
      "existing_2023_surface_hours": {
        "March20": 2.5833333333333335,
        "June21": 2.4166666666666665,
        "September22": 2.5833333333333335,
        "December21": 0.0
      },
      "frontage_trees_removed_park_retained_hours": {
        "March20": 7.25,
        "June21": 9.5,
        "September22": 7.333333333333333,
        "December21": 0.5
      },
      "terrain_and_building_only_hours": {
        "March20": 9.75,
        "June21": 10.25,
        "September22": 9.833333333333334,
        "December21": 6.5
      },
      "terrain_only_hours": {
        "March20": 11.25,
        "June21": 14.333333333333334,
        "September22": 11.416666666666666,
        "December21": 7.083333333333333
      },
      "registration_2m_sensitivity_hours": {
        "March20": [
          6.666666666666667,
          7.583333333333333
        ],
        "June21": [
          8.833333333333334,
          10.083333333333334
        ],
        "September22": [
          7.25,
          7.583333333333333
        ],
        "December21": [
          0.0,
          1.25
        ]
      },
      "valid_sensitivity_samples": 27
    },
    {
      "name": "curb_uphill",
      "group": "curb",
      "xy": [
        33.2322,
        -17.586399999999998
      ],
      "ground_plus_plant_height_m": 89.08363037109375,
      "existing_2023_surface_hours": {
        "March20": 6.833333333333333,
        "June21": 7.083333333333333,
        "September22": 7.0,
        "December21": 0.0
      },
      "frontage_trees_removed_park_retained_hours": {
        "March20": 6.833333333333333,
        "June21": 10.583333333333334,
        "September22": 7.0,
        "December21": 0.5833333333333334
      },
      "terrain_and_building_only_hours": {
        "March20": 9.666666666666666,
        "June21": 11.25,
        "September22": 9.666666666666666,
        "December21": 6.416666666666667
      },
      "terrain_only_hours": {
        "March20": 11.166666666666666,
        "June21": 14.333333333333334,
        "September22": 11.416666666666666,
        "December21": 7.25
      },
      "registration_2m_sensitivity_hours": {
        "March20": [
          6.5,
          7.5
        ],
        "June21": [
          9.5,
          11.25
        ],
        "September22": [
          6.583333333333333,
          7.583333333333333
        ],
        "December21": [
          0.0,
          2.0
        ]
      },
      "valid_sensitivity_samples": 27
    },
    {
      "name": "wall_corner",
      "group": "wall",
      "xy": [
        25,
        2.0
      ],
      "ground_plus_plant_height_m": 84.90749816894531,
      "existing_2023_surface_hours": {
        "March20": 0.0,
        "June21": 3.5833333333333335,
        "September22": 0.0,
        "December21": 0.0
      },
      "frontage_trees_removed_park_retained_hours": {
        "March20": 0.8333333333333334,
        "June21": 8.0,
        "September22": 1.0833333333333333,
        "December21": 0.0
      },
      "terrain_and_building_only_hours": {
        "March20": 2.75,
        "June21": 10.416666666666666,
        "September22": 2.75,
        "December21": 0.0
      },
      "terrain_only_hours": {
        "March20": 11.583333333333334,
        "June21": 14.416666666666666,
        "September22": 11.75,
        "December21": 6.833333333333333
      },
      "registration_2m_sensitivity_hours": {
        "March20": [
          0.3333333333333333,
          1.5
        ],
        "June21": [
          3.8333333333333335,
          12.333333333333334
        ],
        "September22": [
          0.3333333333333333,
          1.5833333333333333
        ],
        "December21": [
          0.0,
          0.0
        ]
      },
      "valid_sensitivity_samples": 23
    },
    {
      "name": "wall_east",
      "group": "wall",
      "xy": [
        32,
        3.1
      ],
      "ground_plus_plant_height_m": 84.32149963378906,
      "existing_2023_surface_hours": {
        "March20": 0.0,
        "June21": 3.1666666666666665,
        "September22": 0.0,
        "December21": 0.0
      },
      "frontage_trees_removed_park_retained_hours": {
        "March20": 0.4166666666666667,
        "June21": 4.666666666666667,
        "September22": 0.5,
        "December21": 0.0
      },
      "terrain_and_building_only_hours": {
        "March20": 1.6666666666666667,
        "June21": 10.666666666666666,
        "September22": 1.75,
        "December21": 0.0
      },
      "terrain_only_hours": {
        "March20": 11.5,
        "June21": 14.333333333333334,
        "September22": 11.75,
        "December21": 6.583333333333333
      },
      "registration_2m_sensitivity_hours": {
        "March20": [
          0.0,
          1.0833333333333333
        ],
        "June21": [
          0.0,
          10.5
        ],
        "September22": [
          0.0,
          1.0833333333333333
        ],
        "December21": [
          0.0,
          0.0
        ]
      },
      "valid_sensitivity_samples": 22
    }
  ],
  "sources": {
    "source": "https://s3-us-west-2.amazonaws.com/usgs-lidar-public/CA_SanFrancisco_1_B23",
    "site_reference_wgs84": [
      -122.440258252407,
      37.77082822876
    ],
    "mercator_origin": [
      -13629987.20125486,
      4547101.921167003
    ],
    "mercator_to_ground_scale": 0.7904669675634096,
    "coordinates": "Local true east/north approximate metres relative to Census geocode; z original NAVD88 metre elevations",
    "points": 22030699,
    "classes": {
      "1.0": 17451975,
      "2.0": 4525198,
      "7.0": 53488,
      "18.0": 38
    },
    "nodes": 472,
    "node_depths": {
      "0": 1,
      "1": 4,
      "2": 3,
      "3": 6,
      "4": 9,
      "5": 15,
      "6": 45,
      "7": 154,
      "8": 45,
      "9": 178,
      "10": 12
    },
    "radius_m": 800,
    "sample_description": "EPT hierarchy through depth7 within800m; depth9 within180m; depth10 within60m. Points adaptively subsampled from original61.8pts/m2 cloud."
  }
}