0% found this document useful (0 votes)
35 views17 pages

Windseer: Real-Time Volumetric Wind Prediction Over Complex Terrain Aboard A Small Uncrewed Aerial Vehicle

Uploaded by

zyf20001219
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
35 views17 pages

Windseer: Real-Time Volumetric Wind Prediction Over Complex Terrain Aboard A Small Uncrewed Aerial Vehicle

Uploaded by

zyf20001219
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 17

Article https://doi.org/10.

1038/s41467-024-47778-4

WindSeer: real-time volumetric wind


prediction over complex terrain aboard a
small uncrewed aerial vehicle
Received: 31 December 2023 Florian Achermann 1 , Thomas Stastny1 , Bogdan Danciu 1
,
Andrey Kolobov2, Jen Jen Chung 1,3, Roland Siegwart1 &
Accepted: 12 April 2024
Nicholas Lawrance 1,4

Check for updates Real-time high-resolution wind predictions are beneficial for various applica-
1234567890():,;
1234567890():,;

tions including safe crewed and uncrewed aviation. Current weather models
require too much compute and lack the necessary predictive capabilities as
they are valid only at the scale of multiple kilometers and hours – much lower
spatial and temporal resolutions than these applications require. Our work
demonstrates the ability to predict low-altitude time-averaged wind fields in
real time on limited-compute devices, from only sparse measurement data. We
train a deep neural network-based model, WindSeer, using only synthetic data
from computational fluid dynamics simulations and show that it can suc-
cessfully predict real wind fields over terrain with known topography from just
a few noisy and spatially clustered wind measurements. WindSeer can gen-
erate accurate predictions at different resolutions and domain sizes on pre-
viously unseen topography without retraining. We demonstrate that the
model successfully predicts historical wind data collected by weather stations
and wind measured by drones during flight.

Accurate modelling of the wind is crucial for applications such as wind weather prediction (NWP) can accurately model only relatively large-
farm layout optimization (WFLO) or safe crewed and uncrewed avia- scale wind patterns, with resolutions on the order of kilometers8.
tion. The energy generated by wind turbines is proportional to the Computational fluid dynamics (CFD) simulations generate high-
cubic power of the wind speed; thus, micrositing turbines relies on resolution wind flows around terrain at smaller scales, on the order
accurate flow models1. Adverse wind poses a challenge for crewed of meters or less, but require knowing well-defined boundary condi-
aviation close to the ground at airports with challenging surrounding tions reflecting the overall weather situation9,10. Both of these classes of
terrain, such as Madeira International Airport2. Finally, winds in simulation-based methods numerically solve the underlying system of
mountainous regions can easily exceed 10 ms−1, a speed comparable to partial differential equations (PDEs). Because of this, they are com-
the normal cruise speed of small uncrewed aerial vehicles (sUAVs)3,4, putationally expensive, taking compute times on the order of hours,
resulting in poor tracking of the planned flight path5. If an sUAV knew and do not provide real-time wind field estimates. Onsite wind mea-
the wind in advance, it would be able to plan its path so as to avoid surements with a Doppler Lidar11 or measurement masts9,10,12–14 provide
areas of unfavorable winds and high turbulence6. real-time wind information, but at a limited resolution and a high
Chaotic fluid-dynamic effects due to local steep terrain result in setup cost.
large spatial variations of wind around complex terrain7 that require A broad category of methods relevant to our targeted near-terrain
models with high spatial resolution to capture faithfully. Numerical wind prediction setting is data assimilation. Data assimilation

1
Autonomous Systems Lab, ETH Zurich, Leonhardstrasse 21, Zurich, 8092 Zurich, Switzerland. 2Microsoft Research, One Microsoft Way, Redmond WA-98052,
USA. 3School of Electrical Engineering and Computer Science, The University of Queensland, Staff House Road, Brisbane 4072 QLD, Australia. 4CSIRO
Robotics, Data61, 1 Technology Court, Brisbane 4069 QLD, Australia. e-mail: acfl[email protected]; [email protected]; [email protected]

Nature Communications | (2024)15:3507 1


Article https://doi.org/10.1038/s41467-024-47778-4

approaches combine models (such as traditional CFD solutions) with (DNN)-based approaches demonstrated weather prediction at a
observations to refine prediction based on observed data. global scale, essentially replacing NWP with much faster compute
Optimization-based methods such as expectation maximization and time in the order of seconds35–38. But the resolution of these models,
variational methods use a cost function (generally a metric between on the order of kilometers, is too low to accurately model the wind
the model prediction and observation values) to adapt a model to around complex terrain.
integrate noisy and sparse observations15. Extensive previous work in In this work, we present WindSeer, an approach for predicting the
the NWP domain has focused on temporal (4D-Var) methods that volumetric time-averaged wind and turbulence in real-time at meter-
select initial conditions of a model simulation in order to best match scale based on the topography and sparse, noisy wind observations
temporally and spatially distributed observations16–18. However, while without needing bulky specialized equipment or assuming access to
assimilation methods can be relatively fast computationally, they privileged information. WindSeer’s ability to predict real wind stems
require high amounts of input observation data19, extensive prior from its encoder-decoder convolutional neural network (CNN) archi-
model solutions (such as CFD runs covering the complete area of tecture trained offline using synthetic flow data generated by com-
interest with multiple wind speeds and directions)20–22, and/or putationally expensive steady-state Reynolds-averaged Navier–Stokes
mesoscale models to act as input boundary conditions23. These data (RANS) CFD simulations. The CFD simulations are run offline over real
and computation requirements are generally unsuitable for online terrain patches that are available from web services39,40. The core
estimation on-board an sUAV due to limited storage and compute that contribution of our method is in training WindSeer to produce CFD-
sUAVs tend to carry. like predictions from only sparse, in-situ observations – without
AI-based methods have been used to accelerate the computa- requiring privileged information such as global boundary conditions.
tion of flow fields by assisting or replacing numerical PDE-based Access to these boundary conditions would be equivalent to measur-
solvers in different settings. Examples include modelling fluid flows ing the wind along the full boundary of the prediction region, which is
for visual rendering24,25 and replacing CFD simulations in aero- simply not available in real-time, nor at the required meter-scale. Once
dynamic shape optimization26–30. However, these models rely on trained, our network-based prediction approach allows for fast,
privileged information, such as boundary conditions and consider constant-time inference with limited computational and storage
much simpler geometries compared to the topography of complex resources. An overview of our wind prediction pipeline is presented in
terrain. Super-resolution flow analysis closely aligns with our Fig. 1 as well as Supplementary Movie 1. We evaluated WindSeer in a
approach, yet previous studies in this field assume complete, uni- series of experiments, whose results show WindSeer’s ability to make
form coverage of measurements over the entire region31–34. They accurate dense wind and turbulence predictions based on local noisy
either exclusively investigate two-dimensional flows31–33 or require wind measurements, across a wide range of spatial resolutions without
dense low-resolution data31,33,34. Various deep neural network retraining the model.

Fig. 1 | Overview of the wind prediction pipeline. A First we generate labelled C During deployment the wind estimates from the UAV or wind measurement
flows utilizing a CFD simulation. B Then WindSeer is trained with measurements towers together with the known topography serve as the input to WindSeer.
along randomly sampled piecewise linear trajectories to predict the dense flow.

Nature Communications | (2024)15:3507 2


Article https://doi.org/10.1038/s41467-024-47778-4

Results relative velocity norm error reduces from 14.5% to 11.5% and the
We evaluated WindSeer in a sequence of increasingly challenging median relative TKE error from 11.2% to 8.3%. The high correlation
experiments to demonstrate its real-time wind prediction capabilities: values (Pearson correlation coefficient) in the voxel-wise comparison
1. We demonstrated on held-out CFD-simulated flows that WindSeer of the prediction to the CFD labels shown in Fig. 2D show that Wind-
is expressive enough to represent the complex flow patterns Seer can qualitatively capture the different flow regimes. The bias
around real terrain. We analysed several network training (average error) is close to zero for all channels and the root mean
approaches on this dataset as it provides dense labels with a squared error (RMSE) is also low compared to the overall magnitude.
wide array of topographies. Together, this underlines WindSeer’s prediction quality. The scatter
2. We demonstrated the ability of WindSeer to predict real wind data density plots for the terrains presented in Fig. 2A (1) and (3) are
using measurements gathered from masts as part of large-scale available in Fig. 3.
measurement campaigns over different terrains across We evaluated three individual terrains in more detail (Fig. 2A) to
Europe9,10,12–14, thereby validating both the complete pipeline assess the sensitivity of the prediction quality to the sampled input
and our approach of using CFD as a teacher model. These datasets data locations. For each terrain we randomly sampled 2000 trajec-
offer good spatial coverage with measurement from different flow tories and evaluated the prediction error (Fig. 2C) green). No noise or
regions. bias was added to the input data in this experiment to focus solely on
3. On data from several multi-sUAV flights over mountainous terrain the impact of the trajectory location. Whenever the input data was
we illustrate WindSeer’s ability to predict the time-averaged wind sampled in regions where the model could not predict the prevailing
when using noisy onboard wind measurements as input. These flow well, e.g. the lee side of the hill (Fig. 2A) (3b)), WindSeer per-
input measurements were subject to high noise due to the formed poorly. If such a region is large enough, multi-modal error
uncertainty of the estimated sUAV’s pose and errors in the airflow distributions can be observed as seen in Fig. 2C (3) where prediction
sensing, all of which complicated the prediction problem faced by failed for input wind samples on the right (lee) side of the hill.
WindSeer. The CFD-simulated flows are computed on a finer grid close to
4. Finally, we showed WindSeer’s real-time prediction capability on terrain to account for the high spatial variation of the flow in these
flight-grade hardware. regions. Interpolating the flow to the coarser fixed-size grid of Wind-
Seer, as visible in Fig. 1A), leads to a loss of information and flow
WindSeer model artifacts close to the ground. Such confounding factors make learning
WindSeer is a CNN with four-channel input. The input is composed of these low-altitude flows especially challenging, offering an explanation
a binary mask indicating cells containing input measurements, the for the performance difference between predicting the low-altitude
terrain model stored as a distance field, and the sparse horizontal and high-altitude winds. However, the experiments with the real wind
wind speed measurements (two channels). Note that vertical wind data show that the wind close to the ground can be accurately mod-
speed measurements are not an input to the model, since weather elled if the grid resolution is increased.
stations typically measure only the horizontal wind and the vertical
wind is not observable with a standard fixed-wing sUAV sensor set. In Experiment group 2: evaluation on wind measurement cam-
Supplementary Note 3 we show empirically that adding vertical wind paign datasets
as an input, if it were available, has a limited impact on prediction We evaluated WindSeer on real time-averaged wind data available
quality. The percentage of observed cells in the input data varies from three published measurement campaigns. The long measure-
across experiments ranging from 3.5 × 10−6 % to 0.1%, thus WindSeer ment periods allow filtering out short-term effects such as wind gusts
always operates on highly sparse observations. and reduces the overall measurement noise, enabling an evaluation of
The four-channel output of WindSeer has the same spatial WindSeer with clean input wind measurements over larger-scale
dimension and resolution as the input. The first three channels contain domains.
the three-dimensional volumetric time-averaged wind prediction The in-situ wind and TKE measurements were collected via wind
(Wx, Wy, Wz) and the fourth channel contains the turbulence kinetic velocity sensor suites (sonic or cup anemometers) mounted on masts
energy (TKE) prediction — a metric for the strength of the turbulent providing data from 2 m to 100 m altitude above ground level14. For
velocity fluctuations in the wind field that is proportional to the sum of each terrain, varying wind flow directions and magnitudes are available
the variances in each dimension. Thus, the prediction contains prop- from different measurement periods (Fig. 4). The terrain in these
erties (Wz, TKE) that are not available as input measurements. campaigns varies in complexity and size – from the 11 m high Bolund
hill (Fig. 4A)9,10 to the gently-sloped 116 m high Askervein hill
Experiment group 1: predicting CFD-simulated flows (Fig. 4C)12,13. Both Bolund and Askervein have limited vegetation while
We evaluated WindSeer on held-out CFD-simulated flows. The dense the Perdigão region in Portugal represents the most complex test case
label data allowed for evaluation over the full domain, thus evaluating with two lightly-forested parallel ridges roughly 300 m high (Fig. 4E).
the influence of different measurement locations as well as qualita- The varying geometric extents of the sites together with the low
tively characterizing the prediction quality. We used CFD-simulated altitude wind measurements required a larger grid size (384 × 384 × 192
flows over previously unobserved terrains and sampled the input instead of 643 cells) paired with higher resolution to obtain meaningful
measurements and noise from the same distributions as observed predictions. Accordingly, the grid resolutions were increased 2 × , 4 × ,
during training. and 30 × for the Perdigão, Askervein, and Bolund terrains, respectively.
Three terrain and input pairs together with the prediction error These changes in the prediction grid were enabled by the fully con-
cloud are shown in Fig. 2A, B. While the highest prediction errors volutional architecture of WindSeer and the distance field representa-
occurred either close to the ground or on the lee side of the terrain, tion of the terrain that indirectly provides the cell size and resulted in
this trend is mitigated by the fact that, due to practical considerations around 100 × sparser input data compared to the training density.
such as payload configuration and safety, the operating altitude for We compared WindSeer against an averaging baseline (AVG) that
sUAVs is typically over 50 m above ground level41,42 and the wind tur- assumes the wind and TKE are constant and predicts the average of all
bine hub heights are typically higher than 80 m above ground43. The measurements over the full domain. This is a widely accepted
distribution of the average normalized prediction errors over all non- assumption for sUAV flights5,44,45, moreover, the state of the art in
terrain cells over the full test set is displayed in Fig. 2C in blue. When planning large-scale missions relies on NWP forecasts that remain
scoring the network output only above an altitude of 46 m the median constant at the spatial resolution of the mission46. Each method

Nature Communications | (2024)15:3507 3


Article https://doi.org/10.1038/s41467-024-47778-4

Fig. 2 | CFD experiment. A Terrain and input wind measurements (red arrows) with indicated by the red box in (3). Boxes extend from the first to the third quartiles of
their respective prediction error. B High prediction errors can be observed close to data. Median is indicated by a line and mean by a star. Whiskers extend to the
the ground or on the lee side of the terrain. C Wind and turbulence prediction extrema data inside 1.5 times the interquartile range beyond the first and third
performance on the CFD dataset over the full test set containing 4764 samples quartiles. Outliers (outside the whiskers) are individually plotted. D Density scatter
(blue) and with 2000 random trajectories for the three different terrains shown in plots (N = 643) comparing the label and the predictions for each predicted property
(A). While most of the terrains result in uni-modal error distributions (1,2), more using the terrain and input pair presented in (A) (2). Source data are provided as a
complex ones can have a second mode for samples from a complex flow region, Source Data file.

predicted the wind based on the measurements from a single mast, For each wind case we averaged the metrics over the ensemble of
yielding an ensemble of predictions for each wind case, while mea- predictions and report the absolute errors of the wind magnitude,
surements from the remaining masts were used to validate the vertical wind, and TKE in Table 1. In most cases WindSeer out-
predictions. performed the averaging baseline (AVG). In the other cases, the wind

Nature Communications | (2024)15:3507 4


Article https://doi.org/10.1038/s41467-024-47778-4

Fig. 3 | CFD experiment. Density scatter plots (N = 643) comparing the label and the predictions for each predicted property using the terrain and input pair presented in
Fig. 2A. Panel (A) corresponds to case (1), B to case (3a), and C to case (3b).

direction usually aligned with the ridge/terrain, causing only small correlation demonstrate that WindSeer handles different wind condi-
variations across the measurements of the different masts. The aver- tions well. The best predictions are obtained for the simpler Askervein
age prediction errors of WindSeer are 17%, 43%, and 39% lower than the terrain and the errors grow with increasing terrain complexity. In
baseline for the velocity magnitude, vertical wind and TKE general the model under-predicts the downdrafts in the wind fields for
respectively. the Bolund and Perdigao cases (Fig. 5A, C) but the Askervein experi-
To assess whether WindSeer can predict flow trends well, we also ment (Fig. 5B) shows that WindSeer is capable of representing strong
report the correlation between the wind predictions and measure- downdrafts.
ments in Table 1. The correlation for the AVG baseline is undefined, due For the Bolund hill a study of different CFD simulation was con-
to the constant, location-invariant wind prediction. Averaged over all ducted and the speed up errors for one wind direction (239°) are
cases, WindSeer yielded strong positive correlations for all metrics reported10. The average speedup prediction error for WindSeer is
suggesting that it was able to predict the observed trends well, such as 20.3% while the best performing RANS-CFD models achieve an error of
up- and downdrafts, high wind and turbulence, thus providing a 15% but with runtimes in the order of hours. The models with a runtime
valuable contribution to planning safer and more efficient sUAV tra- of less than 15 min have errors of 26.5% to 32.4%, comparable to our
jectories or WFLO. averaging baseline with error 33.5%.
In Fig. 5A–C we compare the measurements to the WindSeer The RANS CFD simulations compute the time-averaged solution
predictions. Analogous to the previous experiment we use the wind of the Navier-Stokes equation, thus WindSeer is trained to operate on
measurements from one mast as input resulting in 32 predictions for these static flows. However, in the real world, wind changes constantly.
the Bolund [8 masts and 4 wind cases], 182 predictions for the Asker- The Perdigão campaign provides measurements as 5 min averages
vein [14 masts and 13 wind cases], and 9120 predictions for the Per- allowing us to compare the performance of WindSeer operating with
digão campaigns [38 masts and 240 wind cases (one hour averaged high- and low-frequency data as shown in Fig. 5D. Averaged over a day,
data for ten different days [2017-05-09, 2017-05-11, 2017-05-12, 2017- the performance is consistent across the two time windows with
05-16, 2017-05-18, 2017-05-20, 2017-05-26, 2017-06-02, 2017-06-03, slightly better results using the hourly averages. One exception is the
2017-06-08)]. Overall, the low bias and RMSE together with the high large difference in the correlation scores observed between 06:00 and

Nature Communications | (2024)15:3507 5


Article https://doi.org/10.1038/s41467-024-47778-4

Fig. 4 | Measurement campaigns experiment. The mast locations and elevation did not provide a valid measurement for that experiment. (B, D, F) show the wind
maps for the Bolund (A), Askervein (C), and Perdigão (E) campaigns. The tower directions for the different experiments for each terrain. Source data are provided
positions are colored by the average prediction error when using that specific mast as a Source Data file.
as the input to predict the wind. In the Askervein and Perdigão cases some masts

Nature Communications | (2024)15:3507 6


Article https://doi.org/10.1038/s41467-024-47778-4

Table 1 | Real world wind results


S [m/s] W [m/s] TKE [m2/s2]
AVG WindSeer AVG WindSeer AVG WindSeer
Terrain Case ϵ ϵ ρ ϵ ϵ ρ ϵ ϵ ρ
Bolund 90 1.80 1.58 0.72 0.85 0.58 0.50 1.91 1.33 0.58
239 2.80 2.50 0.68 0.66 0.34 0.76 2.67 1.68 0.86
255 3.24 2.47 0.82 0.85 0.44 0.72 3.43 2.12 0.82
270 3.77 2.79 0.85 0.95 0.51 0.78 5.14 3.43 0.73
Askervein TU25 2.58 2.39 0.65 1.10 0.37 0.90 0.61 0.41 0.89
TU30A 1.14 0.98 0.62 0.41 0.26 0.58 1.38 0.72 0.42
TU30B 1.80 1.46 0.73 0.51 0.41 0.64 2.82 1.40 0.23
TU01A 3.26 2.83 0.77 1.41 0.52 0.91 1.89 1.06 0.85
TU01B 3.24 2.74 0.79 1.37 0.48 0.92 1.64 0.98 0.87
TU01C 3.55 3.08 0.78 1.23 0.45 0.92 1.17 0.72 0.90
TU01D 4.21 3.71 0.79 1.26 0.47 0.93 1.62 1.17 0.93
TU03A 5.29 4.70 0.78 1.74 0.64 0.93 2.04 1.31 0.98
TU03B 4.90 4.41 0.77 1.54 0.54 0.92 1.82 1.21 0.90
TU05A 1.91 1.89 0.62 0.76 0.31 0.89 1.73 0.99 0.40
TU05B 1.18 1.00 0.79 0.31 0.26 0.48 1.40 0.63 0.04
TU05C 0.93 0.93 0.66 0.34 0.25 0.58 1.09 0.43 0.14
TU07B 3.42 3.27 0.70 1.59 0.49 0.90 2.44 1.85 0.40
Perdigão 2017-05-09 13:30–13:35 2.91 2.27 0.82 0.85 0.57 0.53 - - -
17:10:17:15 4.41 3.33 0.48 1.22 0.88 0.35 - - -
17:00–18:00 3.06 2.37 0.77 0.80 0.56 0.50 - - -
Perdigão 2017-05-12 01:00–02:00 2.82 2.31 0.76 0.52 0.42 0.45 - - -
17:00–18:00 2.76 2.23 0.81 0.70 0.57 0.57 - - -
19:45–19:50 1.15 0.90 0.71 0.21 0.16 0.57 - - -
Perdigão 2017-05-16 07:00–08:00 1.58 1.16 0.65 0.27 0.27 0.67 - - -
11:40–11:45 0.85 0.77 0.51 0.33 0.27 0.22 - - -
12:40–12:45 0.86 0.75 0.48 0.29 0.22 0.30 - - -
20:00–21:00 1.35 0.97 0.68 0.22 0.31 0.21 - - -
Perdigão 2017-05-18 14:35–14:40 2.14 1.82 0.70 0.41 0.36 0.33 - - -
20:00–21:00 1.54 1.08 0.84 0.17 0.19 0.12 - - -
22:00–23:00 1.52 1.13 0.74 0.17 0.17 0.42 - - -
Perdigão 2017-05-20 03:15–03:20 3.59 2.63 0.61 0.41 0.55 0.30 - - -
10:00–11:00 2.20 1.84 0.71 0.51 0.42 0.46 - - -
12:20–12:25 1.93 1.71 0.66 0.58 0.43 0.45 - - -
Perdigão 2017-06-08 00:00–01:00 2.68 1.87 0.69 0.35 0.38 0.44 - - -
12:40–12:45 1.20 0.90 0.77 0.31 0.22 0.46 - - -
14:00–15:00 2.49 1.77 0.82 0.74 0.42 0.58 - - -
All campaigns 2.50 2.07 0.71 0.72 0.41 0.59 2.05 1.26 0.64
Chasseral Flight 1 0.61 0.85 0.33 0.54 0.38 0.95 - - -
Flight 2 0.57 0.77 0.48 0.50 0.32 0.80 - - -
Flight 3 0.53 0.71 0.37 0.49 0.30 0.84 - - -
Oberalp Flight 1 0.56 0.82 −0.46 0.54 0.33 0.78 - - -
Gotthard Flight 1 0.99 1.13 0.33 0.21 0.18 0.88 - - -
All flights 0.65 0.86 0.21 0.46 0.30 0.85 - - -
Absolute prediction errors (ϵ) and correlation between the measurements and predictions (ρ) for the velocity magnitude (S), vertical wind component (W), and turbulence kinetic energy (TKE) on the
measurement campaign datasets and flight experiments of WindSeer compared to the averaging baseline (AVG). The best performing model for each case is highlighted bold. Note that the AVG
baseline does not offer correlations as it produces a constant signal.

10:00, a time period characterized by low wind magnitudes and rapidly In Fig. 4 the masts are colored by the averaged wind magnitude
changing wind direction as evident from the TSE04 tower measure- error of the WindSeer prediction when using the measurements from
ments. These dynamic conditions do not match the RANS CFD simu- that respective mast as inputs. Lighter colors indicate input measure-
lation offering an explanation for the poorer prediction performance ment mast locations that yielded more accurate predictions. In Fig. 5D
on the 5-minute averaged data compared to the hourly averages that we show the prediction errors and correlation using the TNW11 and
filter out these unsteady flow features. V01 tower data in addition to the averaged errors over all tower

Nature Communications | (2024)15:3507 7


Article https://doi.org/10.1038/s41467-024-47778-4

Fig. 5 | Measurement campaign results. Measured wind compared to the pre- WindSeer (WS) using the 5 min and 1 h averaged data together with the measure-
dictions aggregated over all predictions for the Bolund (A, 32 predictions [4 ments from the TSE04 tower as a reference are shown. We show the results
experiments, 8 masts]), Askervein (B, 182 predictions [13 experiments, 14 masts]), aggregated over all the 38 predictions using the different masts as input and the
and Perdigão (C, 9120 predictions [240 experiments, 38 masts]) campaigns. In (D) scores using only the TNW11 and V01 tower data for the prediction. Source data are
the evolution of the prediction error and correlation of the wind norm S for provided as a Source Data file.

predictions. Consistent with the findings from our previous experi- In each campaign the masts were arranged along multiple straight
ments, using measurements from the hill top or the upwind side lines enabling us to qualitatively assess whether the models could
generally resulted in lower-error predictions than measurements from capture expected flow trends along these lines. We selected cases
the lee side, nevertheless, the correlation is consistently high. where the wind and the line direction are parallel, as the measurements

Nature Communications | (2024)15:3507 8


Article https://doi.org/10.1038/s41467-024-47778-4

Fig. 6 | Measurement campaign results. Predictions and measurements along available for that respective mast at the queried height and the closest one was
characteristic lines with a constant height for a Bolund hill case (A), Askervein hill picked. The uncertainty of the measurements is displayed by the standard devia-
case (B), and two Perdigão cases (C, D) with the baseline averaging method (AVG) tion of the raw high-rate data. In (D) the measurements indicate a rotor between the
and WindSeer (WS). Three predictions using different input masts are shown for two ridges, a flow pattern not present in the training data. Thus, WindSeer struggles
each model and experiment. The asterisk * indicates that no measurement was to accurately represent the flow for the towers TNW06-TNW10.

show higher variation in these scenarios, and present the WindSeer WindSeer successfully predicted the speed changes and up-/
and baseline predictions in Fig. 6. Refer to Fig. 4 for the wind direction downdrafts unless the measurement tower was located on the lee side
and the mast locations. For each method and case we show three of a hill, e.g. Bolund: M8, Askervein: ANE40, Perdigão: V01/TNW07.
predictions using the measurements from different masts as the input. Wherever TKE measurements were available, WindSeer predicted TKE
The error bars for wind speed measurements report the 1σ uncertainty. trends well. WindSeer struggles to predict flow patterns not observed

Nature Communications | (2024)15:3507 9


Article https://doi.org/10.1038/s41467-024-47778-4

during training, such as a lee side rotor which occurs when flow WindSeer inference time
detaches on the downwind side and causes a recirculating pattern We evaluated prediction times of WindSeer on an NVIDIA Jetson Orin
(Supplementary Note 1). Such a case is shown in Fig. 6D. AGX, a light-weight and low-power single-board computer, to show
real-time performance on sUAV flight-grade hardware. The average
Experiment group 3: Predicting the wind along sUAV inference times over 100 runs on a 643 and 384 × 384 × 192 prediction
trajectories domain were 0.021 ± 0.002 s and 3.577 ± 0.015 s respectively. Mixed-
We evaluated WindSeer on noisy, local wind measurements collected precision inference reduced the inference times to 0.021 ± 0.005 s and
by multiple fixed-wing sUAVs. This mirrors the targeted use case of 1.700 ± 0.005 s. These inference times show that WindSeer is capable
WindSeer and challenges it with high input noise levels due to real of low-latency wind predictions over large domains with limited
sensor noise and short term wind effects such as gusts or turbulence. compute to quickly recalculate predictions in response to new
We flew multiple fixed-wing sUAVs simultaneously in the Swiss measurements.
Jura (Chasseral) and the Swiss Alps (Oberalppass and Gotthardpass).
The flight plans for each sUAV consisted of multiple circular loiter Discussion
patterns. We generated the sparse input from the point-cloud of In this work, we have proposed an approach to train a CNN, WindSeer,
measurements to WindSeer by binning the observations along the for predicting low-altitude time-averaged wind and TKE around com-
flight path from one sUAV into the discretized prediction grid and plex terrain in real-time based on sparse and noisy wind measurements
averaging all measurements falling in a single cell. We used the native and known topography. We trained WindSeer solely on simulated
training grid size and resolution with the grid center at the first steady-state RANS CFD flows over terrain patches from Switzerland
observed sUAV position estimate. and evaluated it on held-back CFD data and real wind measurements.
We first evaluated WindSeer on time-averaged data, similar to the In the first experiment on previously unobserved CFD solutions we
previous experiment group with the static masts, to reduce the noise demonstrated that WindSeer is capable of replicating the dense flows
and sensitivity to sensor calibration on the input measurements. We based on sparse and noisy observations with high accuracy (median
generated this data by averaging the measurements over one loiter relative error below 10%).
pattern to a single wind measurement. The observations from the In the next experiments we demonstrated zero-shot sim-to-real
different sUAVs and multiple loiters enabled us to compute the aver- transfer by evaluating WindSeer on real wind measurements without
age prediction error and the correlation for each flight experiment. We retraining. On the historic measurement campaign datasets we
present the error metrics for all flights in Table 1. For the wind mag- showed that WindSeer was able to reconstruct real wind flows of dif-
nitude, the baseline outperforms WindSeer which also only yields a ferent scales, at up to 30 times higher resolution than the training data.
slightly positive correlation averaged over all flights. Nevertheless, the This corresponds to larger prediction domains containing up to 108
high correlations and significantly lower errors for the vertical wind times more cells than those used for network training and to much
compared to the baseline indicate that WindSeer can better predict the sparser input data compared to training. The distance field repre-
locations of dangerous downdrafts, as well as favourable updraft sentation enabled this multi-resolution property of WindSeer as it
regions, based solely on wind measurements taken from one sUAV. provided a sense of scale to the model. In summary, this allows for
We further evaluated WindSeer in a sequential time-windowed customized prediction grids to suit various scenarios based on the
manner using the wind data from a 120 s window to predict the wind necessary resolution and extent.
along the flight trajectory for the next window. The corresponding Finally, the performance of WindSeer on the flight data is com-
predictions for the test flight are displayed in Figs. 7, 8. Note that the parable to the average baseline assumption, with less accurate pre-
prediction between successive windows can be discontinuous due to dictions of the horizontal wind but superior performance when
the different measurements used by WindSeer. The model was able to predicting the vertical wind, which is the key factor when assessing the
accurately predict the magnitude difference in the vertical wind safety and efficiency of flight plans. The flight data exhibits much
between the two sUAVs for all Chasseral flights. It slightly under- higher measurement noise due to the noise of the low-cost sensors
predicted the downwind on the lee side for the validation sUAV, which used to estimate the sUAV pose and wind. Therefore, until better wind
can be explained by the generally worse performance of the models on sensing is available on sUAVs, we envision the onboard deployment of
the lee-side wind predictions, as shown in the previous experiments. WindSeer by using the weather data from nearby weather stations.
Although the measurements were averaged over time the noise Previous work has shown the ability of DNNs to predict fluid flows
due to wind gusts and measurement errors was comparable to the for well-defined geometries paired with well-known inflow
variation of the measured wind magnitude as outlined in Supple- conditions26–28,47,48. We demonstrated the capability of DNNs to work
mentary Note 4. Thus, the averaging already offered a good baseline with sparse and noisy input data on realistic complex terrain. This
prediction of the wind magnitude. As the wind on the vertical axis enables real-time wind prediction using data that is feasible to
varied much more between the different sUAVs and throughout a obtain aboard an sUAV. The sparsity of the input data (0.19% down to
flight, WindSeer could predict these variations and outperform the 3.5 × 10−6 %) exceeds previous research of sparse-to-dense DNNs that
baseline. usually assume denser data around 0.75%49,50, 0.2%51, or 6.5 × 10−3%52.
The Oberalppass and Gotthardpass are especially challenging In these previous examples the sparse input data was distributed over
prediction terrains, as they exhibit large altitude changes (1500 m) due the whole prediction domain while in our case we showed WindSeer
to valleys and peaks within 4 km of our flight locations. High sur- still performs well even if the samples are located within a spatially
rounding peaks can cause high gust levels, explaining the high varia- constrained sub-region.
tion in the measured wind. Furthermore, terrain outside the prediction
area can significantly influence the wind features observed in the val- Limitations and future work
ley. In contrast, our CFD simulation setup for generating the WindSeer Training domain. In our data generation pipeline we restricted the
training data was limited to well-defined inflow conditions and a CFD simulation domain to 1.5 km × 1.5 km based on the initial
domain size of 1.5 km × 1.5 km, which did not allow simulating the flow assumption that the large scale NWP would be used in the network
over multiple large scale mountains or ridges. Thus, during training input (Supplementary Note 2). This domain size restricted the terrain
WindSeer did not observe such complex wind flows, explaining the to mostly contain one single major geographical feature such as a
performance difference between the Chasseral and Oberalppass/Got- mountain or a ridge. Therefore the current CFD training data does
thardpass flights. not contain samples that include wind phenomena such as lee-side

Nature Communications | (2024)15:3507 10


Article https://doi.org/10.1038/s41467-024-47778-4

Fig. 7 | sUAV flight experiment. Prediction results and flight paths for two flight of the ZD6 WindSeer variant along the flight paths using the data from EZG A as
tests: Chasseral (A–C) and Oberalppass (D–F). The predictions along a slice are input. Every 120 s a prediction is made using the wind data from the previous
shown for the AD4 and ZD6 models (B, E). C, F Show the sliding window predictions window.

rotors, which arise in the presence of multiple mountains/ridges. A exposing the network to more examples from the lee-side flow
larger simulation domain in the order of 10 km × 10 km could allow a regime during training.
better representation of such complex flows and possibly increase
the wind prediction performance for complex terrains inside Temporal wind variation. Changing the CFD simulation from a time-
mountain ranges. A biased sampling strategy when composing the averaged RANS solution to a time-varying model such as large eddy
input could also help to solve the sample imbalance problem by simulation (LES) or a mesoscale weather prediction, such as the WRF

Nature Communications | (2024)15:3507 11


Article https://doi.org/10.1038/s41467-024-47778-4

Fig. 8 | sUAV sliding window predictions. Additional sliding window predictions of the ZD6 WindSeer variant along the flight paths for the second (A) and third
(B) Chasseral flights and the Gotthardpass flight (C) using the data from EZG A as input. Every 120 s a prediction is made using the wind data from the previous window.

model53, could have multiple advantages. First, the DNN could be Fluid flow assumptions. Currently the CFD simulations used to train
trained using the time-varying wind data to construct the input but still WindSeer model the air as an incompressible fluid with uniform tem-
predict the time-averaged solution. This could result in the model perature. By including temperature differences in the compressible
learning wind gust characteristics and thus increase robustness to fluid and terrain the CFD simulation could model complex flow phe-
noisy wind estimates from the sUAV. Second, a model could be trained nomena such as thermals55, updrafts caused by temperature variations
to predict the time-varying flow representing wind gusts and short on the ground, or mountain waves56,57, which are large scale oscilla-
term weather evolution in the predicted wind. However, whether the tions of the wind direction and magnitude behind large ridges. How-
information from the noisy measurements is sufficient to uniquely ever, simulating these phenomena would require far more input data
determine the flow state still needs to be carefully analyzed. Depend- and ultimately we would still need to verify whether these simulations
ing on the sparsity of the data there are likely to be multiple possible provide realistic flows that reflect the true airflow characteristics.
flow solutions matching the observations. Further, time varying
methods like LES require significantly more computational resources Wind estimation. Our current wind sensing setup onboard the sUAV is
than RANS solvers, further increasing the cost of generating training prone to calibration errors and noise resulting in relatively large wind
data54. estimation errors. Alternative sensors, such as a five-hole probe58

Nature Communications | (2024)15:3507 12


Article https://doi.org/10.1038/s41467-024-47778-4

paired with an improved calibration procedure or better sensor pla- The subdomains are constructed by sampling from a range of rota-
cement could improve the wind estimates. tions and origin translation offsets inside the full domain. In a first step
the horizontal shift and a rotation around the z-axis are sampled from
Methods bounded uniform distributions to ensure that the shifted and rotated
Overview 642 subdomain is fully contained within the full 912 domain. Then in a
We developed a pipeline (Fig. 1) to train and deploy a CNN, WindSeer, second step the vertical shift is sampled from a triangle distribution
that predicts the dense time-averaged wind and turbulence around with lower limit and mode of 0 and an upper limit of 32. Smaller
complex terrain. The network training consists of two steps: First we vertical offsets are favoured to focus on the complex flow regions
generated a dataset of dense flows over terrain patches from Swit- closer to the terrain. The flow data is linearly interpolated to the
zerland using a RANS CFD solver (Fig. 1A). We then trained WindSeer coordinates of the subdomain grid, which is the same spatial resolu-
using the label flows to simulate local wind measurements along ran- tion as the full grid.
domly generated piecewise-linear trajectories, robustifying the pre-
dictions by adding noise to the measurements along the trajectories Input and label composition
(Fig. 1B). The trained WindSeer was evaluated on (i) held back CFD- The input to WindSeer consists of four volumetric channels, one of
simulated flows on previously unobserved terrains, (ii) real wind data which corresponds to the terrain encoding T created as a Euclidean
gathered in measurement campaigns9,10,12–14, and (iii) real wind data distance transform with zeros inside the terrain. That representation
measured by multiple sUAVs around mountainous terrain. propagates the terrain information over the full domain and even
allows us to include terrain features outside of the domain if they are
CFD wind data accounted for in the distance field calculation. The remaining three
We generated flow data over real terrain patches with a pipeline based channels include the sparse and noisy horizontal wind measurements
on the open source solver OpenFOAM59,60 with the steady-state RANS (Ux,in, Uy,in) and a binary mask B indicating cells containing measure-
model and the popular k − ϵ two-equation turbulence closure61. The ments. Previous work has shown the value of providing binary input
automated pipeline ingests terrain patches and outputs the time- masks to CNNs handling sparse input data64,65.
averaged flow solutions for multiple wind speeds62. We extracted 563 Measurements from weather stations or realistic flight scenarios
terrain patches each with an extent of 1.5 km × 1.5 km from the GeoVite only cover a small percentage of the prediction volume along a con-
service (https://geovite.ethz.ch/), which provides access to the swis- nected path, e.g. a 30 s flight segment with our sUAV covers approxi-
sALTI3D digital elevation map (DEM) for Swiss researchers, with a lateral mately 20 cells at the default grid resolution. Consequently, for a
resolution of 0.5 m, recently also available on ArcGIS (https://elevation. practical onboard wind prediction scenario, we expect the available
arcgis.com/arcgis/rest/services/WorldElevation/Terrain/ImageServer). input wind data to be very sparse and thus construct our network input
The terrain patches exhibit at least one side with near-constant elevation to reflect this sparsity. We create the input based on the augmented
allowing us to simulate a formed boundary layer flow (logarithmic dense flow by creating a mask and then selecting the measurements
profile) entering into the domain from that face. Some terrains allowed based on the mask. We emulate the characteristics of an sUAV flight
for multiple flow directions leading to 866 terrain/flow direction pairs. path by filling the mask along sequential randomly-selected piecewise
The vertical extent of the simulation domain was three times the height linear segments with a length of 3 to 500 cells.
difference of the terrain with a lower bound of 1100 m minimizing the Noise is added to the sampled wind data in order to account for
boundary effects on the flow. Each case was simulated with up to 15 fluctuations in the wind and sensor errors that are not captured by the
different wind speeds if the automatic meshing succeeded, resulting in RANS CFD simulations. Two types of disturbance are added,  white

7361 executed CFD runs. We initialized the subsequent simulation for Gaussian noise (sampled i.i.d. at each measurement from N 0,σ 2g )
the higher wind speed cases with the previous solution to speed up and measurement bias (sampled from U ð0:1,0:1Þ and applied to all
computation. Only solutions that met a required optimization tolerance measurements). The first has the purpose of simulating noise due to
were accepted as fully converged solutions, which was the case in 92.9% sensor measurements66, while the latter simulates the effects of sensor
of the runs. We enhanced our dataset with one zero-velocity flow for miscalibration. The standard deviation for the Gaussian noise σg itself
each terrain that had at least one converged CFD simulation, resulting in is drawn from a uniform distribution: σ g ∼ U ð0,0:1Þ, simulating differ-
a total of 7285 flows. ent noise levels. All the noise values are scaled with the mean wind
The CFD solutions are computed on an automatically generated velocity for each sample in the training set to have coherent noise
irregular mesh with OpenFOAM’s SnappyHexMesh utility. We resam- levels from low to high velocity samples. Note that noise is only added
pled each case up to a height of 1100 m to a regular 91 × 91 × 96 grid to the training inputs and not to the CFD ground truth labels used to
resulting in a resolution of 16.5 m horizontally and 11.5 m verti- compute the network training losses.
cally (Fig. 1A). The sparse input implies that for most cells in the input wind
velocity channels (Ux,in, Uy,in) the values are undefined since they do
Data augmentation not contain a measurement. We test and evaluate two approaches to
Generating CFD flows is a computationally and labor-intensive task. For filling the missing information. The first naïve approach simply places
reference, our 7361 CFD runs required 9168 h CPU compute time (782 h zeros in all voxels without a measurement. This results in large gra-
creating the meshes and 8386 h solving the flow, average compute time: dients of the input for high magnitude wind. The second approach
1.25 h). Unfortunately, deep networks are notoriously data-hungry and, uses the per-channel-average of all measurements as the fill value
for a complex modeling problem such as wind prediction, would typi- resulting in a smoother input and propagating the information over
cally require orders of magnitude more training data to achieve good the whole domain.
performance. In computer vision, image augmentation methods are The labels are constructed by stacking the four volumetric
widely used when training deep CNNs63. These methods aim to improve channels corresponding to the three-dimensional predicted velocity
the quality and size of the datasets when only limited data is available to (Ux,out, Uy,out, Uz,out) as well as the TKE at each cell from the CFD ground
prevent the networks from over-fitting. In this work, we showed, for the truth flows.
first time, that geometric transformations can be applied to CFD flows to
augment the WindSeer training data. Model training
We randomize the locations of terrain features and flow directions The wind prediction model is an encoder-decoder CNN with skip
by generating 643 subdomains sampled from each full 91 × 91 × 96 grid. connections based on the U-Net architecture67. The WindSeer encoder

Nature Communications | (2024)15:3507 13


Article https://doi.org/10.1038/s41467-024-47778-4

is composed of single 3D convolutions with kernel size 3 and reflection (https://www.bolund.vindenergi.dtu.dk/blind_comparison). As Bolund
padding to preserve the size. Using skip connections, the information hill exhibits only a small elevation change of 11 m, the default predic-
at each depth is relayed to the decoder before utilizing a max-pooling tion resolution is not sufficient to account for its near-ground mea-
layer with kernel size of 2 to down-sample the feature map. The ori- surement locations. As mentioned above, we exploit the multi-scale
ginal domain size is restored by pairing the information from the skip property of WindSeer and increase the resolution of the prediction
connection with a nearest-neighbor up-sampled feature map followed grid thirty-fold resulting in a domain ∼ 211 m × 211 m wide and ∼ 73 m
by two 3D convolutions with kernel size 4. This decoder structure tall, giving a corresponding horizontal resolution of 0.55 m and vertical
removes checkerboard artifacts sometimes experienced when using resolution of 0.38 m.
an encoder-decoder CNN68. Each convolution, except the final one, is
followed by the nonlinear ReLu layer with negative slope 0.169. Askervein hill. While a digitized version of the Askervein hill topo-
A majority of the cells in the wind speed input channels contain no graphy is available (https://zenodo.org/record/4095052) the wind and
measurements. Our first approach was to set the values of all these TKE measurements had to be manually extracted from the field
cells to zero. However, this resulted in a network overfitting to the report12. We selected 13 runs measuring the turbulent wind, where the
number of observed cells and did not generalize to larger domains and data from most towers is provided (in certain runs data is not reported
different resolutions as demonstrated in Supplementary Note 3. In the for all towers). The measurements are averaged over one- to four-hour
end, we ended up filling the unobserved cells with the average of all intervals with varying flow magnitudes and directions. The domain size
measurements per channel which results in a smoother input and of 1584 m × 1584 m wide and 552 m tall results in a four-fold resolution
helps to propagate the information over the full domain. increase.
A scaled version of the mean squared error (MSE) loss is applied to
train the model balancing the loss L( ⋅ ) between the samples and Perdigão. The Perdigão dataset consists of multiple measurement
channels: posts of different heights ranging from 10 m up to 100 m across the
valley or along the ridges (https://perdigao.fe.up.pt/). We used the five
!2
1 X Xc  Yc minute averages and tilt corrected measurements that were recorded
Lð X ,Y ,N Þ = , ð1Þ throughout the measurement campaign and we consider data from six
N c Y^ c
different days in our evaluation. The tower positions were not stored
with sufficient precision in the dataset requiring us to manually correct
where X is the network prediction, Y the label flow, Y^ c the label average the positions. We extracted the topography of the hills from the World
per channel of the non-terrain cells, and N the number of non-terrain Elevation Terrain layer provided by Esri using ArcGIS. Perdigão
cells. Normalizing the error by the average label value balances the loss required the largest prediction domain size, 3168 m × 3168 m wide and
for flows of different magnitudes. Without accounting for the number 1104 m tall, showcasing the wind prediction performance at double the
of terrain cells in the loss, a sample with a high ratio of terrain cells original resolution.
would not contribute much to the overall loss. Thus, scaling according
to N prevents these cases from being underrepresented in the training. Inference time experiments setup
The model is trained using the Adam optimizer70 for 3000 epochs. We ran the inference time experiments on an Orin AGX, a low power,
The initial learning rate of 1.0 × 10−5 is quartered every 700 epochs. light weight (623 g including the carrier board and heatsink) and small
scale (105 mm × 105 mm × 60 mm) single-board computer that can be
Measurement campaign datasets carried by a small scale sUAV. We set up the Orin AGX with the Jetpack
Each of the three measurement campaign datasets that we used for 5.1 software kit that includes CUDA 11.4 and cuDNN 8.6.0 and installed
evaluation are publicly available but require some preprocessing to PyTorch 2.0. During the evaluation we ran the Orin in the maximum
enable direct comparison with our wind prediction outputs. We con- power mode (60 W) using all 12 CPU cores.
vert the data from the different file formats for each measurement
campaign to the same gridded format that we use to store the CFD sUAV flight tests
solutions. Each experiment provides terrain data as well as wind We used three Multiplex EasyGlider4 airframes equipped with the
measurements collected using static masts equipped with airflow Pixhawk 4 autopilot72 using the high quality ADIS16448 inertial mea-
sensors at various heights. The terrain is discretized by querying the surement unit (IMU) and the u-blox M9N GNSS module for autono-
raw data using bilinear interpolation in the center of the respective cell. mous navigation. We configured the main height source of our
The location of each measurement is converted into the cell modified PX4 autopilot73 to the GPS height and use the barometric
coordinates. pressure as a fallback. An extension to the guidance law adjusting the
WindSeer predicts the wind using the measurements from one airspeed ensured safety during strong wind conditions5. We used a
mast. The measurements are filled into the corresponding cell and custom designed pitot tube with the Sensirion SDP31 differential
averaged in case of multiple measurements in one cell. The predic- pressure sensor and Hall sensor airflow vanes to enable measuring the
tions, which are obtained with trilinear interpolation at the sensing 3D wind vector. Refer to Supplementary Note 4 for more details about
locations, are then compared to the measured wind. CNNs allow for the airflow sensing setup and calibration procedure. We used a ground
variable input sizes, a trait we exploit to predict at a higher spatial station computer with QGroundControl to control and navigate the
resolution for domains with smaller length scales (see Bolund Hill sUAV. While the default PX4 state estimator could be extended to
below) at an increased domain size of 384 × 384 × 192 cells. Since the estimate the 3D wind we opted for an offline flight path reconstruction
terrain is represented as a Euclidean distance field, this gives WindSeer (FPR) pipeline using an iterated extended Kalman filter (see a similar
a sense of the grid resolution and thus the scale of the flow, enabling us problem definition in74). The offline FPR pipeline allowed us to gen-
to predict the wind at different scales. erate high quality estimates for validating our approach and to adjust
The error bars for Fig. 6 are calculated using error propagation the estimation pipeline post flight.
from the standard deviations of each axis if not reported for the We gathered wind data from flights at three test sites in Switzer-
magnitude71. land. The first test site at Chasseral is one of the most topographically
isolated mountains in Switzerland and is located in the Jura mountains
Bolund hill. The data for the Bolund hill experiment containing time- (47° 07’ 38” N, 7° 02’ 47” E, 1548 m above mean sea level (AMSL)). The
averaged wind velocities and TKE measurements is publicly available other test sites are located on the ridges of the Oberalppass (46° 39’ 24”

Nature Communications | (2024)15:3507 14


Article https://doi.org/10.1038/s41467-024-47778-4

N, 8° 40’ 21” E, 2069 m AMSL) and Gotthardpass (46° 34’ 17” N, 8° 33’ 33” where sz agl is the speed at the mast location and s0,z agl is the reference
E, 1960 m AMSL) in the Central Swiss Alps. These were chosen to speed at the same height above ground zagl. These speeds can either be
evaluate the prediction performance for domains surrounded by predictions from WindSeer (in the case of Sp) or measurements (Sm).
complex terrain. The spatial constraints allowed for two sUAVs to
simultaneously collect wind data at Oberalppass and Gotthardpass and Data availability
three sUAVs at Chasseral. The sUAVs were flown simultaneously in The processed CFD data and real campaign and sUAV flight measure-
circular loiter patterns with a radius of 100 m leading to lateral ments are available at https://projects.asl.ethz.ch/datasets/doku.php?
separation between the planes of up to 800 m and measurements in id=nature_2024_windseer and the ETH Research Collection75: https://
different flow regimes. We planned the flights based on NWP forecasts www.research-collection.ethz.ch/handle/20.500.11850/658323. The
ensuring good flight (no precipitation, fog or clouds) and stable wind underlying data for the figures and tables can be either obtained in the
conditions (wind magnitude below the cruise speed of 10 ms−1, direc- Source Data file or step by step instructions in Supplementary Note 5
tion and magnitude near-constant over multiple hours). on how to extract the data are provided. Source data are provided with
We use two modes to convert the raw wind estimates to the this paper.
WindSeer input. In the first mode we generated the input by averaging
the measurements over one loiter pattern to generate a single wind Code availability
estimate. This time-averaged data, similar to the averaged data in the The code is available on github: https://github.com/ethz-asl/WindSeer
measurement campaigns with static masts, helped to reduce the noise or Zenodo76: https://doi.org/10.5281/zenodo.10844690.
and sensitivity to sensor calibration on the input measurements. The
observations from the different sUAVs and multiple loiters enabled us References
to compute the average prediction error and the correlation for each 1. Mattuella, J., Loredo-Souza, A., Oliveira, M. & Petry, A. Wind tunnel
flight experiment to see if the flow trends are well predicted. In the experimental analysis of a complex terrain micrositing. Renew.
second mode the input is composed of the wind data from a 120 s Sustain. Energy Rev. 54, 110–119 (2016).
window of one sUAV to predict the wind along the flight path within 2. Belo-Pereira, M. & Santos, J. A. Air-traffic restrictions at the madeira
the next 120 s window for both the input (itself) and the validation international airport due to adverse winds: Links to synoptic-scale
sUAVs. This sequential time-windowed setup allowed us to qualita- patterns and orographic effects. Atmosphere 11, 1257 (2020).
tively evaluate the WindSeer performance along the flight paths. A 3. Schlegel, T., Geissmann, M., Hertach, M. & Kröpfli, D. Windatlas
high-resolution elevation map provided by SwissTopo40 was used to Schweiz: Jahresmittel der modellierten windgeschwindigkeit und
construct the terrain for the WindSeer input. windrichtung. Tech. Rep. COO.2207.110.2.1073455, Federal
Department of Environment, Transport, Energy and Communica-
Error metrics tions (UVEK) (2016).
In our experiments, we use a range of metrics to evaluate the perfor- 4. Oettershagen, P. et al. A solar-powered hand-launchable uav for
mance of WindSeer. Aside from commonly used metrics such as MSE, low-altitude multi-day continuous flight. In 2015 IEEE International
RMSE, Pearson correlation coefficient (r) and bias, in this section we Conference on Robotics and Automation (ICRA), 3986–3993 (2015).
define the less common error metrics used in this work. 5. Stastny, T. & Siegwart, R. On flying backwards: Preventing run-away
In the CFD experiments we compute the relative error ϵrel for a of small, low-speed, fixed-wing uavs in strong winds. In 2019 IEEE/
property P over all non-terrain cells as follows: RSJ International Conference on Intelligent Robots and Systems
(IROS), 5198–5205 (2019).
1 X k P W indSeer  P CFD k 6. Chakrabarty, A. & Langelaan, J. Uav flight path planning in time
ϵrel = , ð2Þ
N wind N k P CFD k varying complex wind-fields. In 2013 American Control Conference,
wind
2568–2574 (2013).
where Nwind is the number of non-terrain cells, and ∥ ⋅ ∥ indicates ℓ2- 7. Buizza, R. Chaos and weather prediction. https://www.ecmwf.int/
norm. This ensures the metric is not skewed by the number of terrain node/16927 (2002).
cells in a sample as there the error is not defined. The properties we 8. Voudouri, A. et al. Optimization of high resolution cosmo model
report are the TKE and velocity magnitude (ℓ2-norm of a 3D wind performance over Switzerland and northern Italy. Atmos. Res. 213,
vector (u, v, w)). 70–85 (2018).
The averaged speedup error ϵspeedup as presented in Bechmann 9. Berg, J., Mann, J., Bechmann, A., Courtney, M. & Jørgensen, H. E.
et al.10 is defined as the average of the speedup error RS over all mea- The Bolund experiment, part I: flow over a steep, three-dimensional
surements: hill. Bound.-layer. Meteorol. 141, 219 (2011).
10. Bechmann, A., Sørensen, N. N., Berg, J., Mann, J. & Réthoré, P.-E. The
1X Bolund experiment, part II: blind comparison of microscale flow
ϵspeedup = k RS k : ð3Þ
N N models. Bound.-Layer. Meteorol. 141, 245 (2011).
11. Vasiljević, N. et al. Long-range windscanner system. Remote Sens.
The speedup error is the difference of the predicted fractional 8, 896 (2016).
speedup ΔSp and the measured fractional speedup ΔSm for that loca- 12. Taylor, P. & Teunissen, H. Askervein’82: Report on the September/
tion: October 1982 Experiment to Study Boundary Layer Flow over
  Askervein, South Uist (Meteorological Services Research Branch,
RS = 100 ΔSp  ΔSm : ð4Þ Atmospheric Environment Service, 1983).
13. Taylor, P. A. & Teunissen, H. W. The askervein hill project: Overview
The fractional speedup ΔS is computed as the velocity difference at a and background data. Bound.-Layer. Meteorol. 39, 15–39 (1987).
certain location to a reference speed normalized by the reference 14. Fernando, H. J. S. et al. The perdigão: Peering into microscale
speed: details of mountain winds. Bull. Am. Meteorol. Soc. 100, 799 –
819 (2019).
sz agl  s0, z agl 15. Sasaki, Y. Some basic formalisms in numerical variational analysis.
ΔS = , ð5Þ
s0, z agl Monthly Weather Rev. 98, 875–883 (1970).

Nature Communications | (2024)15:3507 15


Article https://doi.org/10.1038/s41467-024-47778-4

16. Anthes, R. A. Data assimilation and initialization of hurricane pre- 37. Bi, K. et al. Accurate medium-range global weather forecasting with
diction models. J. Atmos. Sci. 31, 702–719 (1974). 3D neural networks. Nature 619, 533–538 (2023).
17. Rabier, F. Overview of global data assimilation developments in 38. Lam, R. et al. Learning skillful medium-range global weather fore-
numerical weather-prediction centres. Q. J. R. Meteorol. Soc. 131, casting. Science 382, 1416–1421 (2023).
3215–3233 (2005). 39. USGS. 3d elevation program. https://www.usgs.gov/3d-elevation-
18. Blum, J., Dimet, F.-X. L. & Navon, I. M. Data assimilation for geo- program (2021).
physical fluids. In Temam, R. M. & Tribbia, J. J. (eds) Special Volume: 40. SwissTopo. 3d elevation program. https://www.geo.admin.ch/en/
Computational Methods for the Atmosphere and the Oceans, vol. 14 geo-information-switzerland/geodata-index-inspire/surface-
of Handbook of Numerical Analysis, 385–441 (Elsevier, 2009). representation/elevation.html (2021).
19. Leroux, R., Chatellier, L. & David, L. Maximum likelihood estimation 41. Oettershagen, P. et al. Design of small hand-launched solar-pow-
of missing data applied to flow reconstruction around naca profiles. ered uavs: From concept study to a multi-day world endurance
Fluid Dyn. Res. 47, 051406 (2015). record flight. J. Field Robot. 34, 1352–1377 (2017).
20. Fairbairn, D., Pring, S. R., Lorenc, A. C. & Roulstone, I. A comparison 42. Ellis, S. L., Taylor, M. L., Schiele, M. & Letessier, T. B. Influence of
of 4dvar with ensemble data assimilation methods. Q. J. R. altitude on tropical marine habitat classification using imagery from
Meteorol. Soc. 140, 281–294 (2014). fixed-wing, water-landing uavs. Remote Sens. Ecol. Conserv. 7,
21. Sousa, J., García-Sánchez, C. & Gorlé, C. Improving urban flow 50–63 (2021).
predictions through data assimilation. Build. Environ. 132, 43. Lantz, E. J. et al. Increasing wind turbine tower heights: Opportu-
282–290 (2018). nities and challenges. Tech. Rep., National Renewable Energy
22. Aristodemou, E. et al. Enhancing cfd-les air pollution prediction Lab.(NREL), Golden, CO (United States) (2019).
accuracy using data assimilation. Build. Environ. 165, 106383 (2019). 44. Jayaweera, H. M. P. C. & Hanoun, S. Path planning of unmanned
23. Zajaczkowski, F. J., Haupt, S. E. & Schmehl, K. J. A preliminary study aerial vehicles (uavs) in windy environments. Drones 6, 101 (2022).
of assimilating numerical weather prediction data into computa- 45. Coombes, M., Chen, W.-H. & Liu, C. Flight testing boustrophedon
tional fluid dynamics models for wind prediction. J. Wind Eng. Ind. coverage path planning for fixed wing uavs in wind. In 2019
Aerodyn. 99, 320–329 (2011). International Conference on Robotics and Automation (ICRA),
24. Xie, Y., Franz, E., Chu, M. & Thuerey, N. tempoGAN: A temporally 711–717 (2019).
coherent, volumetric GAN for super-resolution fluid flow. ACM 46. Oettershagen, P. et al. Meteorology-aware multi-goal path planning
Trans. Graph. (TOG) 37, 95 (2018). for large-scale inspection missions with solar-powered aircraft. J.
25. Kim, B. et al. Deep fluids: A generative network for parameterized Aerosp. Inf. Syst. 16, 390–408 (2019).
fluid simulations. Computer Graph. Forum 38, 59–70 (2019). 47. Kashefi, A., Rempe, D. & Guibas, L. J. A point-cloud deep learning
26. Ribeiro, M. D., Rehman, A., Ahmed, S. & Dengel, A. DeepCFD: Effi- framework for prediction of fluid flow fields on irregular geome-
cient steady-state laminar flow approximation with deep convolu- tries. Phys. Fluids 33, 027104 (2021).
tional neural networks. arXiv preprint arXiv:2004.08826 (2020). 48. Zhang, J. & Zhao, X. Machine-learning-based surrogate modeling of
27. Bhatnagar, S., Afshar, Y., Pan, S., Duraisamy, K. & Kaushik, S. Pre- aerodynamic flow around distributed structures. AIAA J. 59,
diction of aerodynamic flow fields using convolutional neural net- 868–879 (2021).
works. Comput. Mech. 64, 525–545 (2019). 49. Ma, F. & Karaman, S. Sparse-to-dense: Depth prediction from sparse
28. Umetani, N. & Bickel, B. Learning three-dimensional flow for depth samples and a single image. In 2018 IEEE International Con-
interactive aerodynamic design. ACM Trans. Graph. 37, ference on Robotics and Automation (ICRA), 4796–4803 (2018).
89:1–89:10 (2018). 50. Jaritz, M., de Charette, R., Wirbel, E., Perrotton, X. & Nashashibi, F.
29. Baqué, P., Remelli, E., Fleuret, F. & Fua, P. Geodesic convolutional Sparse and Dense Data with CNNs: Depth Completion and
shape optimization. International Conference on Machine Learning, Semantic Segmentation. arXiv e-prints arXiv:1808.00769 (2018).
472–481 (2018). 51. Lu, K., Barnes, N., Anwar, S. & Zheng, L. From depth what can you
30. Le, T.-T.-H., Kang, H. & Kim, H. Towards incompressible laminar flow see? depth completion via auxiliary image reconstruction. In 2020
estimation based on interpolated feature generation and deep IEEE/CVF Conference on Computer Vision and Pattern Recognition
learning. Sustainability 14, 11996 (2022). (CVPR), 11303–11312 (2020).
31. Güemes, A., Sanmiguel Vila, C. & Discetti, S. Super-resolution 52. Huang, Z. et al. HMS-Net: Hierarchical Multi-scale Sparsity-
generative adversarial networks of randomly-seeded fields. Nat. invariant Network for Sparse Depth Completion. arXiv e-prints
Mach. Intell. 4, 1165–1173 (2022). arXiv:1808.08685 (2018).
32. Fukami, K., Maulik, R., Ramachandra, N., Fukagata, K. & Taira, K. 53. Skamarock, W. C. et al. A description of the advanced research wrf
Global field reconstruction from sparse sensors with voronoi model version 4. Natl Cent. Atmos. Res.: Boulder, CO, USA 145,
tessellation-assisted deep learning. Nat. Mach. Intell. 3, 550 (2019).
945–951 (2021). 54. Blocken, B. 50 years of computational wind engineering: Past,
33. Fukami, K., Fukagata, K. & Taira, K. Super-resolution analysis via present and future. J. Wind Eng. Ind. Aerodyn. 129, 69–102 (2014).
machine learning: a survey for fluid flows. Theor. Comput. Fluid 55. Akos, Z., Nagy, M., Leven, S. & Vicsek, T. Thermal soaring flight of
Dyn. 37, 421–444 (2023). birds and unmanned aerial vehicles. Bioinspiration Biomim. 5,
34. Yang, Z., Yang, H. & Yin, Z. Super-resolution reconstruction for the 045003 (2010).
three-dimensional turbulence flows with a back-projection net- 56. Durran, D. R. Mountain Waves, 472–492 (American Meteorological
work. Phys. Fluids 35, 055123 (2023). Society, Boston, MA, 1986).
35. Wandel, N., Weinmann, M. & Klein, R. Unsupervised deep learning 57. Chang, C.-Y., Schmidt, J., Dörenkämper, M. & Stoevesandt, B. A
of incompressible fluid dynamics. CoRRabs/2006.08762. https:// consistent steady state cfd simulation method for stratified atmo-
arxiv.org/abs/2006.08762 (2020). spheric boundary layer flows. J. Wind Eng. Ind. Aerodyn. 172,
36. Kurth, T. et al. FourCastNet: Accelerating Global High-Resolution 55–67 (2018).
Weather Forecasting Using Adaptive Fourier Neural Operators. 58. Sankaralingam, L. & Ramprasadh, C. Angle of attack measurement
Proceedings of the Platform for Advanced Scientific Computing using low-cost 3d printed five hole probe for uav applications.
Conference (2023). Measurement 168, 108379 (2021).

Nature Communications | (2024)15:3507 16


Article https://doi.org/10.1038/s41467-024-47778-4

59. Weller, H. G., Tabor, G., Jasak, H. & Fureby, C. A tensorial approach Dosovitskiy, Debadeepta Dey, and René Ranftl for their valuable inputs
to computational continuum mechanics using object-oriented throughout the project. This project was funded, in part, by Microsoft
techniques. Computers Phys. 12, 620–631 (1998). Swiss Joint Research Center under Contract No. 2019-038 “Project
60. Jasak, H., Jemcov, A., Tuković, v. et al. OpenFOAM: A C++ library Altair: Infrared Vision and AI Decision-Making for Longer Drone Flights”
for complex physics simulations. In International workshop on (FA and NL), the Intel Network on Intelligent Systems (FA and NL), and by
coupled methods in numerical dynamics, 1–20 (IUC Dubrovnik, the ETH Research Grant AvalMapper ETH-10 20-1 (FA and NL). The model
Croatia, 2007). training and evaluations were performed on the ETH Zürich Euler com-
61. Launder, B. E. & Sharma, B. Application of the energy-dissipation puting cluster.
model of turbulence to the calculation of flow near a spinning disc.
Lett. heat. mass Transf. 1, 131–137 (1974). Author contributions
62. Achermann, F. et al. Learning to predict the wind for safe aerial F.A., T.S., A.K., J.J.C., N.L., and R.S. realized the overall concept. T.S.,
vehicle planning. In 2019 International Conference on Robotics and A.K., J.J.C., N.L., and R.S. aquired the funding and supervised the project.
Automation (ICRA), 2311–2317 (2019). F.A. and N.L. curated and analyzed the data. F.A., B.D., and N.L. designed
63. Shorten, C. & Khoshgoftaar, T. M. A survey on image data aug- and developed the machine learning algorithm. F.A., T.S., J.J.C., and N.L
mentation for deep learning. J. Big Data 6, 1–48 (2019). conducted the experiments. F.A., A.K., J.J.C., N.L. wrote the initial
64. Köhler, R., Schuler, C., Schölkopf, B. & Harmeling, S. Mask-specific manuscript. All authors reviewed and revised the manuscript.
inpainting with deep neural networks. 523–534 (2014).
65. Uhrig, J. et al. Sparsity invariant cnns. In 2017 International Con- Funding
ference on 3D Vision (3DV), 11–20 (2017). Open access funding provided by Swiss Federal Institute of Technology
66. Nirmal, K. et al. Noise modeling and analysis of an IMU-based atti- Zurich.
tude sensor: improvement of performance by filtering and sensor
fusion. arXiv e-prints arXiv:1608.07053 (2016). Competing interests
67. Ronneberger, O., Fischer, P. & Brox, T. U-net: Convolutional net- The authors declare competing interests.
works for biomedical image segmentation. In International Con-
ference on Medical image computing and computer-assisted Additional information
intervention, 234–241 (Springer, 2015). Supplementary information The online version contains
68. Odena, A., Dumoulin, V. & Olah, C. Deconvolution and checker- supplementary material available at
board artifacts. Distill 1, e3 (2016). https://doi.org/10.1038/s41467-024-47778-4.
69. Maas, A. L., Hannun, A. Y. & Ng, A. Y. Rectifier nonlinearities improve
neural network acoustic models. In in ICML Workshop on Deep Correspondence and requests for materials should be addressed to
Learning for Audio, Speech and Language Processing (2013). Florian Achermann, Thomas Stastny or Nicholas Lawrance.
70. Kingma, D. P. & Ba, J. Adam: A method for stochastic optimization. In
3rd International Conference for Learning Representations (2015). Peer review information Nature Communications thanks the anon-
71. Ku, H.H. Notes on the use of propagation of error formulas. J. Res. ymous reviewer(s) for their contribution to the peer review of this work. A
Natl Bur. Stand. Sect. C: Eng. Instrum. 70C, 263–273 (1966). peer review file is available.
72. Meier, L., Tanskanen, P., Fraundorfer, F. & Pollefeys, M. Pixhawk: A
system for autonomous flight using onboard computer vision. In Reprints and permissions information is available at
2011 IEEE International Conference on Robotics and Automation, http://www.nature.com/reprints
2992–2997 (IEEE, 2011).
73. Meier, L., Honegger, D. & Pollefeys, M. Px4: A node-based multi- Publisher’s note Springer Nature remains neutral with regard to jur-
threaded open source robotics framework for deeply embedded isdictional claims in published maps and institutional affiliations.
platforms. In 2015 IEEE international conference on robotics and
automation (ICRA), 6235–6240 (IEEE, 2015). Open Access This article is licensed under a Creative Commons
74. Mulder, J. A., Chu, Q. P., Sridhar, J. K., Breeman, J. H. & Laban, M. Attribution 4.0 International License, which permits use, sharing,
Non-linear aircraft flight path reconstruction review and new adaptation, distribution and reproduction in any medium or format, as
advances. Prog. Aerosp. Sci. 35, 673–726 (1999). long as you give appropriate credit to the original author(s) and the
75. Achermann, F. Dataset for “real-time volumetric wind prediction source, provide a link to the Creative Commons licence, and indicate if
over complex terrain aboard a small uav” (2024-02-22). changes were made. The images or other third party material in this
76. Achermann, F. et al. ethz-asl/windseer: v1.0.1. https://doi.org/10. article are included in the article’s Creative Commons licence, unless
5281/zenodo.10844690 (2024). indicated otherwise in a credit line to the material. If material is not
included in the article’s Creative Commons licence and your intended
Acknowledgements use is not permitted by statutory regulation or exceeds the permitted
We would like to thank our drone pilots David Rohr, Jaeyoung Lim, Jonas use, you will need to obtain permission directly from the copyright
Langenegger, Tizian Steiger, and Yves Allenspach for ensuring the holder. To view a copy of this licence, visit http://creativecommons.org/
safety of our drones during the experiments. The arduous task of setting licenses/by/4.0/.
up the drones and the respective sensing devices was supported by
Himmet Kaplan, Jonas Langenegger, Michael Riner, Thomas Mantel, © The Author(s) 2024
Tizian Steiger, and Yves Allenspach. Last we would like to thank Alexey

Nature Communications | (2024)15:3507 17

You might also like