Ecological & Climate Indicators

These streams represent the foundational physical and atmospheric forces that govern planetary life—from the quality of the air we breathe to the thermodynamic state of the atmosphere. They are the abiotic inputs that shape the organism's baseline metabolism.


aqi — AMBIENT PM2.5 PARTICLE CONCENTRATION

What it does: Fetches the current hourly PM2.5 (Particulate Matter < 2.5 micrometers) concentration in µg/m³ from the Open-Meteo Air Quality API and maps this value to the particle field's intensity.

How location is fetched: Uses the getLandBiasedCoordinates() function. This has a 70% chance of selecting a point within major landmass zones to avoid oceans, and a 30% chance of selecting a completely random point on the globe.

Source of the data: Open-Meteo Air Quality API — hourly PM2.5

API or JSON: API

Description: Air quality is a primary vector of interspecies vulnerability, affecting respiration, reproduction, and ecosystem stability. As an input, it provides a reliable scalar driver for visual complexity, mapping a widely monitored pollutant to the system’s particle field.


UV — ULTRAVIOLET INDEX

What it does: Fetches the current hourly UV index from the Open-Meteo API and maps the value to the particle scale, using a rawMax of 11 (the standard top of the index).

How location is fetched: Uses the getLandBiasedCoordinates() function, which has a 70% chance of selecting a land-biased point and a 30% chance of selecting a random global point.

Source of the data: Open-Meteo Forecast API — hourly=uv_index

API or JSON: API

Description: UV radiation is a planetary-scale actor that mediates the health of all photosynthetic and epidermal surfaces, from planktonic blooms to human skin.


temp — AMBIENT AIR TEMPERATURE (2 M)

What it does: Fetches the hourly air temperature for the current day. It uses the value for the current hour, with a fallback to nearby hours if the data is null. The value is then remapped from a range of −10 to 40 °C to the particle scale.

How location is fetched: Uses the getLandBiasedCoordinates() function (70% land-biased, 30% random global point).

Source of the data: Open-Meteo Forecast API — hourly=temperature_2m

API or JSON: API

Description: Temperature governs metabolic rates, seasonal rhythms, and habitat viability across species. Temperature anomalies mark the edge of habitability zones, triggering cascading failures in coupled human-natural systems.


flood — RIVER DISCHARGE / FLOOD SIGNAL

What it does: Calls the Open-Meteo Flood API to gather daily river discharge data (past, mean, and max forecast). It averages the positive values and applies a logarithmic scale (log10(avg + 1)) to compress the extreme range of the data, preventing massive flood events from dominating the visualization while still capturing meaningful signals.

How location is fetched: The first attempt uses getLandBiasedCoordinates(). If this fails, a second attempt is made using a curated list of historically flood-prone coordinates.

Curated list of hotspots:

Source of the data: Open-Meteo Flood API

API or JSON: API

Description: Flood data represents the hydrological extremes of a warming world, where altered precipitation and sea-level rise destabilize human and nonhuman habitats alike. This variable embodies dynamic, disruptive forces, linking to design ecologies. It emphasizes the planetary politics of water redistribution under climate stress.