Each hyrax carries its own body temperature Tb, exchanged with the environment by a simple heat-balance model, close to Newton's law of cooling:
dTb/dt = (Tambient − Tb)·lossRate·(1 − huddleReduction)
+ basking ? sunGain : 0
+ sheltering ? (Tshade − Tb)·coolRate : 0
"Ambient cold" sets the baseline air temperature (and how fast heat drains away). "Sun intensity" sets how quickly a hyrax warms up while pressed against a sunlit rock. "Shade coverage" sets how many shaded overhangs exist to retreat to when overheating. A hyrax below 35.5°C heads for the nearest sunlit rock; above 39°C it heads for the nearest shade; in between it rests, and — because huddleReduction grows with nearby neighbours — cold hyraxes drift toward the group for the same reason real hyrax colonies pile together on cold mornings.
- Basking glow — a hyrax lit up on a rock is actively gaining heat from direct sun exposure.
- Huddle density — the fraction of the colony currently within huddling range of at least one neighbour.
- Currently stressed — the fraction of the colony outside the 35.5–39°C comfort band right now.