GPUs open the potential to forecast urban weather for drones and air taxis
news.ucar.edu
news.ucar.edu
It seems like FastEddy mostly replaces WRF-LES, which is used for high-resolution localized modeling.
The errors in the weather forecast are not the result of chaos: they are the result of the errors in the measurements (recorded in the observation covariance) and the sparsity of the measurements themselves vs the size of Earth, for example, and limitations in model resolution (consider a FEM grid over the entire surface of Earth). The effect of chaos just compounds these errors near bifurcations around fixed points.
Perturbations are not used in the way you think; think of Taylor series approximations around specific points of interest.
Anyway, I work on compilers/auto-vectorization now (lol), so I'll defer to The Expert, if such person wants to chime in.
The data itself is noisy. Bad readings aren’t uncommon. Common hygrometers (humidity sensors) have hysteresis, wind is turbulent, radiosondes stop transmitting in midair. Some data is really weird, like GPS occultation data, which gives temperature mixed with humidity along a 200km long cylinder. Suffice to say that while higher order approximations in modeling have helped, DA is super important because measurements are both sparse and flaky.
But that’s why I asked: numerical errors are typically dwarfed by measurement errors. So it shouldn’t be worse than a member of an ensemble model, right?
If so, wouldn't it be relatively simple to swap-in a CUDA implementation of this solver?
> The Navier–Stokes equations are nonlinear partial differential equations in the general case and so remain in almost every real situation. In some cases, such as one-dimensional flow and Stokes flow (or creeping flow), the equations can be simplified to linear equations. The nonlinearity makes most problems difficult or impossible to solve and is the main contributor to the turbulence that the equations model.
I thought the advantage of the GPU is not speed but parallelism or are modern power saving processors also slow compared to GPUs on non-parallel tasks?
Also, is it common to use Registered Trademarks (FastEddy) in a paper these days. I know a lot of universities try to commercialize research, is this the reason for the trademark?
Fast and parallel are two ways to say the same thing, or in other words, the wide parallelism of the GPU's many math cores is what makes it faster than CPU's relatively small capability to do math in parallel. (The x-factor is so large, the power saving features don't really make a meaningful difference.) The tradeoff is you need a highly parallel workload to be efficient and that much faster on the GPU.
GPU clock speeds are lower in general and the CPU has a much wider super scalar pipeline. Can be 4-8 wide vs single or double wide for most GPUs. It also has many latency-hiding techniques for a single thread. The GPU has none, it uses multiple threads to hide latency.
That makes GPUs generally good at arithmetic tasks, but horrible at control or logic tasks since those usually involve lots of branching.
In numerical fluid mechanics, you rather want to apply the same formula to the nearest 27 (3x3x3) or 125 (5x5x5) pixels in the 3-dimensional array. And then store the result to another 3-dimensional array.
Or maybe for calculating a value in a 3d array A, you need to apply a formula that looks at the nearest 27 values in both array A itself and also in another 3d array B. Maybe also C.
There's some cleverness in the programming model however: the code the programmer writes is executed on a single SIMD lane so 32 or 64 copies of it can be run in lockstep. In total, to keep every lane of every logical thread of every core busy requires thousands of concurrent threads.
(There is also some special purpose hardware for graphics related tasks, but that is less relevant to GPGPU workloads)
with an interest in hyperlocal weather forecasting.
I didn't see much about forecast accuracy in this article, but, still, extremely cool. I do wonder how much accuracy is possible - you cannot necessarily know how trucks and other human-caused short-term atmosphere changes will affect the weather.
Of course that's if you can predict the weather with good enough temporal and spatial resolution to be useful. But to me it seems potentially useful.
Considering the idea of flying a drone with something valuable on it is a theft / vandalism / collision nuisance already that will probably never be used outside of a few test markets, I find it highly unlikely that "running out of power" will be a concern. Assuming hypothetically that they were allowed to operate on a larger scale than they are today which, again, is a dubious assumption to begin with, they will have similar reserve requirements that are easy to calculate based on observed wind conditions at a nearby airport.
Weather is chaotic, which is why forecast accuracy rapidly drops off the further out in time you make predictions. But still, they can be accurate enough far enough out into the future to be extremely useful.
For example, in London iPhone gives you almost real-time "current weather" state. Stuff like "it's raining now and it's going to stop raining in the next 5 minutes". You can only do that via collecting the radar data in real-time and correlating it with GPS. Not so much prediction.
But getting more-and-more accurate predictions is the goal of any weather modeler. If the exponential error bounds gives you currently 1-day worth of predictions before the models go to crap... maybe an improved algorithm (or 10x more compute power) can get you 2-days worth of predictions instead.
Even if you don't get a major change (maybe going from 1 day worth of predictions to 1.1 days of predictions), you might be able to convert that into 1/10th the compute power needed (ex: lower the accuracy down to 1-day prediction but cut back dramatically on the compute-power needed to perform the simulation).