Data from: Induced flow cools hovering bumble bees
Data files
Dec 05, 2025 version files 5.03 GB
-
anemHSVfinal.csv
9.41 KB
-
BillardonDarveau2019JEB.csv
10.20 KB
-
cc_processed.csv
10.46 KB
-
GlassetalInducedFlow.R
41.65 KB
-
hmvar1000.csv
5.03 GB
-
InducedFlowFunctions.R
7.36 KB
-
README.md
3.72 KB
Abstract
Understanding how flying insects manage heat exchange is critical for predicting their survival in dynamic thermal environments. To fly, insects propel air downwards to offset body weight, inducing airflow over their bodies. Remarkably, the potential cooling effect of this self-generated airflow is largely unstudied. We measured induced airflow and wingbeat kinematics for hovering bumble bees (Bombus impatiens) across a range of body sizes and then measured the cooling effect of flows of the same magnitude in a vertical wind tunnel. We combined these data in heat balance models to predict transient and equilibrium body temperatures of hovering bumble bees with and without self-generated wind. Measured self-induced airflow was substantial (up to 1 m s-1), and varied with body size and wingbeat kinematics, contributing significantly to thermal stability. Without this self-induced airflow, bees of all sizes rapidly overheated across a range of environmental conditions, highlighting the importance of this overlooked heat-loss mechanism in the heat budget of flying insects. Our findings suggest that shifts in wingbeat kinematics required for altered force production not only affect energetics and, therefore, heat production but also alter the induced flow and associated convective heat loss.
Glass, Petranek, Dillon
Data files:
anemHSVfinal.csv
readings from hot wire anemometer and associated high-speed video data
- date: experiment date
- video.top: name of high-speed video recorded from above used for kinematic analyses
- timecode: timepoint in the video used for kinematic analyses
- anem.csv: name of the anemometer csv file
- mass.g: bee mass in grams, measured immediately after a flight recording
- max.anem: maximum anemometer reading (0-1024 for Arduino DAC) during the flight sequence
- wbf: wingbeat frequency measured from high-speed video
- str.amp.L: stroke amplitude of left wing
- str.amp.R: stroke amplitude of right wing
- tc.s: time constant for anemometer
- bee.color: marked color of bee (to keep track of multiple flights)
- sus: whether flight was "sus"tained (stable, minimal pitch, yaw, rotation): yes, no, maybe
- bee.id: unique number of the measured bee
- slide.id: identity of the glass slide holding the mounted wing
- winglen.mm: length of the mounted wing in mm
- keep: whether or not to include in final analysis
BillardonDarveau2019JEB.csv
raw data provided by the authors for CO2 production and body mass for B. impatiens workers (not included with the original paper). The only columns we use are:
- Mass(mg): mass in mg
- VCO2: rate of CO2 production, mL/hour
cc_processed.csv
data from cooling curves of freshly killed bees in a vertical wind tunnel. The estimated slope is used for subsequent hc and Nu estimates
- date: date of trial
- csv: file containing per second temperatures for the bee core and the surrounding air
- bee: unique id (for cooling curve experiments)
- mass.g: mass in gram, measured just prior to experiment
- flow.ms: the velocity of flow in the vertical wind tunnel (m/s)
- trt.order: order in which a given bee experienced different flow settings
- bee.tc: thermocouple implanted in bee
- ambient.inside.tc: thermocouple in wind tunnel just above bee
- ambient.outside.tc: thermocouple outside wind tunnel in room
- notes:
- readfile: (see csv, this is just a coding convenience)
- Ta.mean: mean temperature (K) for inside thermocouple (again a coding convenience)
- int: intercept of the cooling curve fit
- slope: slope of the cooling curve fit
- r2: R-squared of the cooling curve fit
hmvar1000.csv
model outputs for estimated heat exchange (different modes and net), change in temperature, and body temperature through time for 1000 simulated bees at each combination of 6 masses (50,100,150,200,250,300 mg), 3 ambient temperatures (15, 25, 35 C), and 2 levels of solar radiation (200, 1000 W/m2) for 10 minutes (600 seconds). Note that these data are generated by code in GlassInducedFlow.R but the output is provided here as a convenience because the simulations take a while to run (~19 hours on a fast desktop).
- met: metabolic heat production (W)
- sol: solar heat load (W)
- lwr: long wavelength radiation (W)
- con: convective heat exchange due to induced flow (W)
- net: net heat exchange (met+sol+lwr+con), W
- netnocon: net heat exchange without induced flow (met+sol+lwr)
- sec: seconds
- dT: change in body temperature (C)
- Tb: body temperature (C)
- dT.nc: change in body temperature (C) under netnocon conditions
- Tb.nc: body temperature (C) under netnocon conditions
- mass: mass, mg, one of 6 levels
- Ta: ambient temperature (C), one of 3 levels
- solar: W/m2, one of 2 levels
- bee: bee number (1000 per combination of levels)
Scripts:
GlassetalInducedFlow.R
-main script that does all analyses
InducedFlowFunctions.R
-functions used by the main script, which sources this script
