bluegreencity-ki

Albedo Criterion

Overview

The albedo criterion evaluates drought risk from satellite-derived surface reflectance around each tree. Albedo describes the fraction of incoming shortwave radiation that a surface reflects.

For urban trees, low-albedo surroundings are relevant because dark pavements, roofs, and sealed surfaces store more heat, raise near-surface temperatures, and increase atmospheric demand for evapotranspiration. The criterion therefore uses an inverse relationship:

This is not a direct measurement of tree condition. It is a physically interpretable site-exposure indicator that complements air temperature and NDVI.

Data Source

During implementation, the raster was inspected directly. The citywide distribution is plausible for urban albedo after applying the scale factor 0.001:

These values informed the default fallback thresholds in config.yaml.

Why Albedo Is Useful

Albedo adds a different signal than the existing raster criteria:

Together, the three layers form a useful cause-context-response chain:

  1. albedo: surface energy balance and sealing context
  2. air temperature: resulting thermal stress in the urban canopy layer
  3. ndvi: observed vegetation vitality signal

That combination is valuable for drought-risk detection because trees often deteriorate where heat-retaining urban materials, high modeled temperatures, and weak vegetation vigor co-occur.

Implementation

Location

Processing Logic

  1. Load the UrbanGreenEye albedo raster from ctx.raster.
  2. Sample raster values at tree locations using the standard point-sampling workflow used for raster criteria.
  3. Convert raw integer values to unitless albedo via scale_factor = 0.001.
  4. Filter physically implausible values outside the configured valid range.
  5. Map albedo to drought risk with an inverse linear transformation.

The resulting score is in the standard pipeline range [0, 1]:

Scoring Logic

With thresholds albedo_low and albedo_high:

Example with static thresholds 0.10 and 0.22:

Configuration

inputs:
  albedo_raster:
    type: "file"
    path: "UrbanGreenEye ILA/UrbanGreenEye_Hannover_ILA/Hannover/UGE_Hannover_Albedo_S2_2024.tif"

criteria:
  - name: "albedo"
    weight: 0.5  # example; current calibrated weight in config/config.yaml
    params:
      threshold_method: "sample_percentile"
      scale_factor: 0.001
      valid_min: 0.0
      valid_max: 1.2
      low_percentile: 5
      high_percentile: 95
      albedo_low: 0.10
      albedo_high: 0.22

Parameters

Parameter Type Default Description
threshold_method string sample_percentile static, sample_percentile, or spatial_percentile
scale_factor float 0.001 Converts UrbanGreenEye raster integers to unitless albedo
valid_min float 0.0 Minimum accepted albedo after scaling
valid_max float 1.2 Maximum accepted albedo after scaling
low_percentile int 5 Lower percentile for dynamic thresholding
high_percentile int 95 Upper percentile for dynamic thresholding
albedo_low float 0.10 Static low threshold
albedo_high float 0.22 Static high threshold

sample_percentile is the recommended default because it adapts to the tree sample that is actually scored. This avoids hard-coding one fixed reflectance range for all future raster updates.

Output Fields

The criterion produces:

Metadata includes:

Process and Design Decision

The discussion around issue #92 started from the broader question of how remote sensing should enter the drought-risk pipeline.

The chosen implementation deliberately uses an explicit raster criterion instead of a latent embedding feature. The practical process was:

  1. evaluate which remote-sensing products are already available for Hannover in a stable, local workflow
  2. prefer physically interpretable signals that can be sampled directly at tree locations
  3. implement them as transparent criteria that fit the existing static scoring pipeline

UrbanGreenEye albedo satisfies these requirements well:

Why Not Google Earth Satellite Embeddings

Issue #92 also raised the question whether the project should use satellite embeddings instead of explicit raster variables.

For the static criteria pipeline, the team decided against Google Earth based satellite embeddings for now. The reasons are pragmatic and methodological:

This does not mean embeddings are useless. They remain relevant for future ML experiments. But for the current criterion-based drought-risk pipeline, explicit remote-sensing variables are the better engineering choice.

Validation and Limitations

Strengths

Limitations

For that reason, albedo should be interpreted jointly with land use, air temperature, and NDVI, not as a standalone drought diagnosis.

Changelog

2026-04-01