desirepath / README.md
msradam's picture
Run Granite 4 on the Space: Docker, Ollama, same-origin proxy
8ac5a25 verified
|
Raw History Blame Contribute Delete
2.39 kB
---
title: DesirePath
emoji: 🌡️
colorFrom: blue
colorTo: yellow
sdk: docker
app_port: 7860
pinned: false
license: mit
short_description: What NYC's quarter-mile cooling promise delivers
---
# DesirePath
**The contribution is the OpenSidewalks graph. This is a consumer of it.**
New York's Cool It! plan claims that "no New Yorker in the most heat-burdened
communities is more than 1/4 mile away from an outdoor cooling element"
(NYC DEP, 24 June 2020). That quarter mile is a straight line. DesirePath
measures the same claim along the sidewalk network a person actually has to
walk, with heat priced into the cost of every metre.
In Brownsville the claim counts 12.8% of the sidewalk network as covered.
Walking it in the heat reaches 3.3%. North Corona has no cooling element at all.
Two screens: `/coverage` measures the claim, `/` plans a walk from a typed
sentence.
## How heat enters the routing
Every edge carries its own mean radiant temperature, the number that captures
the radiant heat load a body actually exchanges with a street. In this graph it
spans 32.5 °C in deep shade to 70.0 °C in open sun. The cost Dijkstra minimises:
```
cost = length x (accessibility multipliers) x (1 + sun_inflation x exposure)
exposure = clamp((mrt_edge - 33.01) / (61.8 - 33.01), 0, 1)
```
`sun_inflation` runs 0.16 to 0.84, from Melnikov et al. (2022), estimated from
408 observed pedestrian path choices. At the top of that range a metre in full
sun is charged as 1.84 metres, so the router accepts a detour to avoid it.
Adding this to the accessibility router needed one new construct and no new
concepts: heat became one more edge attribute beside kerb height, and
sensitivity to it one more term in the same cost tree.
Mean radiant temperature here is a **proxy, not SOLWEIG**. Thermal survey covers
five neighbourhoods, 7.67% of the city's edges.
## Where the model runs
This Space runs Granite 4 itself, so the first query is fast and nothing is
downloaded. **Your typed sentence is sent to this Space to be read into a form.**
Append `?llm=webgpu` to run the model in your own browser instead. It downloads
once (about 30 seconds, cached afterwards) and the sentence never leaves the
page. That path needs Chrome or Edge with WebGPU.
Routing, the graph and the geocoder are always local to your browser either way.
Source: https://github.com/msradam/desirepath-app