Speed and accuracy are paramount in the fast-paced world of weather forecasting and data visualization. Enter Terrier, our cutting-edge front-end display toolkit that’s turning heads in the industry. When we demonstrate Terrier to new customers or business partners, their reaction is almost always the same: “Wow, that’s fast!” But what makes Terrier stand out in a crowded field of data visualization tools? Let’s explore the technology behind Terrier and why it’s revolutionizing real-time data visualization for weather displays.
What is Terrier? A Pioneer in Real-Time Data Visualization
Terrier is our front-end display toolkit for mobile and web, designed specifically for real-time data visualization. While it covers both platforms, most of our customers and partners focus on the web version.
TerrierJS is a Javascript SDK with a substantial WebAssembly component handling complex computations. Its straightforward integration makes it ideal for developers seeking efficient real-time data visualization solutions.

To use the data in your Boxer stack, you only need to switch between variables, and Terrier intelligently determines what to display, showcasing its prowess in real-time data visualization.
The Power of Organized Data
It drives me nuts when a data source is just kind of ready every 5 minutes. I prefer to know exactly what I’m going to show a user. If I can get a proper notification of when there’s new data, that’s even better.
Organized data is crucial in real-time data visualization. Terrier excels in this area by periodically querying our back end for available data for a given display. For instance, when a user examines 2m temperature across HRRR, RTMA, and GFS, Terrier retrieves a Boxer manifest for each source.
These manifests are essential to Terrier’s efficient real-time data visualization capabilities. They explicitly inform Terrier about available time slices, their respective forecasts, and how to access them. This allows Terrier to fetch only the necessary data for a specific display and update only when new data is available.
Navigating Map Projections for Seamless Real-Time Visualization
If you want to combine RTMA for the past, HRRR for the future, and GFS for the background, how would you go about that since they’re in different coordinate systems? Many folks would have to make mosaics. They might reproject the data into a common coordinate system and combine it on the front end if they’re clever. We don’t do any of that.
One of the challenges in real-time data visualization for weather displays is handling different coordinate systems. Terrier tackles this challenge uniquely:

Instead of creating mosaics or reprojecting data on the back end, Terrier keeps the data in its native coordinate system in Boxer and reprojects it into the display system on the front end. This means the web browser handles reprojection, resampling, and coloring of data in real time, contributing to Terrier’s impressive speed and flexibility in data visualization.
Does that sound complicated? It was! But once the work was done, it was effortless to use.
The Real Challenge: Data Management
While many focus on Terrier’s WebGL aspects, particularly the custom shaders for coloring temperature, precipitation, and wind particles, the true challenge lies in data management.
It gets complicated once you’ve got the WebGL aspects under control, and you can render efficiently and pump out 60 frames per second.
Beyond Standard Solutions: Terrier’s Approach to Real-Time Visualization
Most display toolkits have a layer for displaying tile pyramids. Sometimes WMTS, sometimes just TMS, but you probably know these. They’re a big pile of tiles addressed as {z}/{x}/{y} or one of the many variants. The basis of modern image and vector maps.
Now you add frames like this: {time}/{z}/{x}/{y}. How do you display that?
There are two standard solutions, and they’re both terrible.
- Create N layers, switch between them, and do some opacity for blending!
- Create one layer and have it switch between sources to animate.
You can tell what they’re doing if you’re a connoisseur of weather displays. It’s probably the second if you have to carefully change the time. If you hit play and it pops up a loading symbol, it’s probably the first.
Poking around with that display, you can usually get it to do one or more of:
- Tearing as a layer tries to react quickly to a change it wasn’t designed for
- Loading artifacts as layers don’t load in sync
- Overwhelming your network as 40 layers all try to pull in data at once
- Not handling missing tiles at all gracefully
- Using a disturbing amount of memory to do any of it.
Animating that mess over time looks like…. a mess. There’s a better way, but it takes work.
Terrier’s Animated Layer Awareness
The display layers have to know what they’re displaying. If it’s time series data, they need to know that. Ours do. They even know what time it is, down to our custom shaders. It solves a lot of problems.
Terrier’s display layers are designed with time series data in mind. This awareness allows for:
- Displaying lower resolutions while higher ones load
- Interpolating between unmatched tile groups
- Prioritizing loading based on the user’s current view time
- Logically filling gaps for missing tiles or entire periods
- Recalculating all of this when the user moves
That last one is interesting. Weather displays often abandon the animation when you move because this is much harder. They’re not wrong.
Attention to Detail: Perfecting Real-Time Data Visualization
How do you do bicubic interpolation on the fly? Some radar users like it, and you can do it if you feed in the right data.
Some data sets have gaps. Do you draw them over the underlying data set or treat those as empty values?
A few effects, like particles, need actual data. Is that a separate path?
There are dozens of these, and they all have to be carefully considered and solved. Many of them affect the data formats, making it complicated.
While complex to implement, these details contribute to Terrier’s superior real-time weather data visualization performance. If you want to tackle all this yourself, you’ll need multiple person-years of effort. We’ve been doing this for more than a decade. That’s why it’s so fast.
The Future of Weather Data Visualization
Terrier’s real-time data visualization capabilities represent a significant leap forward in weather display technology. By addressing common challenges such as data organization, map projections, and efficient rendering, Terrier offers a fast, flexible, and user-friendly solution.
Years of development and careful consideration of complex issues have resulted in a toolkit that can easily handle diverse data sets, seamless animations, and intricate visualizations.
As we continue to push the boundaries of what’s possible in weather data visualization, Terrier stands as a testament to the power of innovative thinking and dedicated engineering in creating truly revolutionary tools for the meteorological community. With Terrier, the future of real-time weather data visualization is not just a possibility—it’s here and faster than ever.