Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

For some context, WRF (https://github.com/wrf-model/WRF), the current state-of-the-art weather modeling system (also developed by NCAR) can (to my limited knowledge) only run on CPU. There have been efforts to run it on GPU (https://wrfg.net)... though it doesn't look like it's been kept up to date.

It seems like FastEddy mostly replaces WRF-LES, which is used for high-resolution localized modeling.



There have been at least 2 cuda implementations of WRF ARW afaik, and it seems they are not widely recommended because of numerical differences from the reference implementation. However having run ARW a lot, I would definitely not do it again on CPU.


I’ve been out of the field for a decade now, but I’m not surprised WRF is still the dominant model. So how different is ARW from the reference implementation? Model physics are not quite real physics anyway, and your initial conditions have some garbage and low sig figs anyway. Is the error propagation measurable — does it make long term forecasts significantly worse?


I'm not a domain expert but I would expect weather patterns to be chaotic and thus even small perturbations (errors) can lead to significant divergence.


I'm a level above an amatuer in this, having studied data assimilation in college (I was a Math major). Numerical errors are a given, errors in general too, actually, especially in the measurements used to train the hidden parameters (it is very similar to supervised ML). Data assimilation is a collection of techniques used to tackle that issue: 3dvar, 4dvar, kalman filter, extended kalman filter, ensemble kalman filter, particle filters, and so many others are used to find the most likely (minimum energy etc) hidden state (the mean and covariance) from a given set of measurements+associated covariances and then that resulting hidden state is used to run the model "forward" (generally in time). AIUI, DA was specifically developed for weather modeling. It is definitely true that weather modeling is a heavy employer in anycase. This is on top of the methods used to solve PDEs ie so that they are forward/backward stable etc.

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.


I was an atmospheric scientist, but I never got in too deep in the modeling — if I had, I’d have actually received the PhD lol. But yes, data assimilation very important in weather models. You know what’s going on out in the oceans where instruments are sparse, because land measurements are advected (blown) over the ocean. You still need to assimilate to correct to IRL physics.

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?


I've mostly been out of it for 7 years or so as well and only been looking at it from a far as these things have changed. Waiting for something like the model in the original article to come into existance.


What's at the heart of it? Is it solving large sparse linear equations?

If so, wouldn't it be relatively simple to swap-in a CUDA implementation of this solver?


https://en.m.wikipedia.org/wiki/Navier–Stokes_equations#Nonl...

> 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.


It is not strange to find a linear equation solver at the heart of a nonlinear equation solver, though.




Consider applying for YC's Fall 2026 batch! Applications are open till July 27.

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: