Source: https://guthlabs.ai/docs/instruments/solar-elevation-shadow-length-calculator/mechanism/

instrument mechanism / verified-clean

# Solar Elevation Shadow-Length Calculator mechanism

The inspectable method record for Solar Elevation Shadow-Length Calculator, kept separate from implementation and qualification.

Status: **VERIFIED_CLEAN**Lifecycle: **verified-clean**

## Model scope

The core formula is correct under the stated geometric assumptions, but the spec needs explicit angle and length units, domain validation, boundary behavior, and an honest label before it can receive PASS.

- The formula shadow = height/tan(elevation) is the standard geometric formula for a vertical object casting a shadow on level, horizontal ground, but those geometric assumptions are not stated.

- The valid input domain is not specified: sun elevation must be greater than 0° and less than 90° for the direct formula to be numerically well-defined.

- The angle unit is ambiguous; the implementation must define whether elevation is entered in degrees and convert it to radians before calling a typical JavaScript tan() function.

- Object-height and shadow-length units are unspecified, although the output inherits the height unit.

## Units and conventions

- Test vectors treat sun elevation as degrees; JavaScript Math.tan requires radians, so an input angle in degrees must be converted as radians = degrees × π/180.

- Object height and shadow length use the same linear unit.

- The object is vertical, the ground is level and horizontal, and atmospheric refraction, terrain slope, object width, and penumbra are ignored.

## Inspectable vector

One of 4 source-bound review vectors:

````
{
  "inputs": {
    "object_height": 1.8,
    "height_unit": "m",
    "sun_elevation": 45,
    "angle_unit": "degrees"
  },
  "expected_outputs": {
    "shadow_length": 1.8,
    "unit": "m"
  },
  "working": "tan(45°) = 1. shadow = 1.8 m / 1 = 1.8 m."
}
````

## Failure boundary

**BREAK_CLAIMED** · SELF_FLAGGED

The specification does not state validation for zero elevation, elevations beyond the physical solar domain, or below-horizon sign handling. Direct arithmetic can yield Infinity at 0° and a negative or physically meaningless shadow for invalid or convention-dependent angles.

## Other records

[01**Overview**](<https://guthlabs.ai/docs/instruments/solar-elevation-shadow-length-calculator/>)[03**Implementation**](<https://guthlabs.ai/docs/instruments/solar-elevation-shadow-length-calculator/implementation/>)[04**Qualification**](<https://guthlabs.ai/docs/instruments/solar-elevation-shadow-length-calculator/qualification/>)

## Sources and evidence

These pointers bind the page to evidence. They do not grant authority or collapse verification into deployment.

- `VERIFIED_LEDGER.json`

- `evidence-tranche5/tranche5-results.json`

- `BOUNDARY_HAZARD_CATALOG.json`
