Weather Radar in California: What It Actually Shows You
Most people think weather radar is just those colorful loops you see on the news. It's more complicated than that, especially here in California where the terrain completely scrambles the signal. I spent years working with NEXRAD data and CalOES alerts during fire season, and let me tell you—the stuff you see on your phone app is already filtered, smoothed, and sometimes misleading. California's weather radar network relies on three main NEXRAD sites: San Francisco (KOKX) covers the northern half and Bay Area, Oakland (also KOKX, but the actual antenna is at Mount Hamilton for better coverage), Sacramento (KSNY), and San Diego (KNRC). There's also a newer S-band dual-polarization site near Fresno that helps with the Central Valley. When a winter storm hits the Sierra Nevada, the mountains create massive shadow zones behind ridges above 8,000 feet. I've seen forecasters miss entire bands of heavy rain because they were looking at composite reflectivity instead of base reflectivity at low elevation angles. The dual-pol capability is what actually changed how we interpret precipitation. Before 2013, everything was just reflectivity—how much energy bounced back. Now we get differential reflectivity (Zdr), correlation coefficient (RhoV), and specific differential phase (Kdp). Zdr tells you whether raindrops are flat like pancakes or long like cigars. During atmospheric rivers, you'll see high Zdr values indicating large, oblate drops falling from deep convective clouds. That's your signal for heavy rainfall rates, not just "it's raining hard." RhoV drops when you have mixed phases—rain and hail or rain and snow. I learned this the hard way during the 2017 Christmas storm when hail was falling at 4,000 feet in the Sacramento Valley and the old single-pol radar was painting it as extreme rain.
Base reflectivity vs. composite reflectivity is the first thing beginners get wrong. Composite is the maximum reflectivity at any elevation angle, which means it can show you precipitation that's 30,000 feet above your head while your street is completely dry. During summer thunderstorms in the Southern Plains, this is constant. In California, it's worse because the dry air means the rain often evaporates before hitting the ground. That's called virga, and the radar sees it just fine. If you're driving and the sky looks clear but your GPS says "heavy rain 2 miles ahead," you're looking at composite. Switch to lowest elevation beam (0.5 degrees) and base reflectivity. You'll usually see nothing. The rain never made it down. Here's a practical problem I ran into during the 2019 March atmospheric river event. The KSNY radar was showing a beautiful band of 60 dBZ echoing over the Sacramento area, and everyone was preparing for flash flooding. But when I pulled the velocity data, I saw the inbound velocities were only 15 mph and the outbound were negative 10. The storm was moving directly away from the radar at that beam angle, which meant the Doppler shift was minimal and the reflectivity was being underestimated by about 8 dBZ. The real rain rate was closer to 2 inches per hour, not the 0.8 inches the algorithm was spitting out. I switched to using the Kdp-based rainfall estimate instead, which gave me a much more accurate picture. That decision meant the difference between telling emergency managers to hold position or to stage resources downtown. Radome clutter is another thing that will drive you crazy if you don't know how to identify it. These are stationary returns that look like precipitation but are actually the radar dish housing reflecting energy back. They show up at fixed ranges and elevations, never move, and have near-zero velocity. I worked a winter in Bakersfield where the radome on the KNRC site started cracking from thermal stress, and we got these persistent circular echoes every time the beam passed through at 1-degree elevation. For three weeks, every "storm track" app was showing false precipitation over the city because the data vendors didn't filter it out properly. The fix was to cross-reference with the nearest rain gauge network and apply a clutter filter mask in the processing pipeline. Most consumer apps skip that step entirely.
Reading the Data Like a Professional
Base velocity shows you wind moving toward or away from the radar. Red is inbound, green is outbound (in the US standard color table). A couple of quick patterns to watch for: a tight red-green couplet side by side means rotation, which is your tornado warning signal. A broad area of red next to green with no sharp boundary usually means wind shear, not rotation. I once spent forty-five minutes arguing with a NWS meteorologist over whether a couplet near Stockton was supercell rotation or just frontal boundary convergence. The gauge data settled it—no hail, no damage reports, and the couplet was moving apart rather than rotating. Just shear. Storm Relative Motion (SRM) mode is what you want during severe weather. It subtracts the storm's movement from the raw velocity data, so you see the wind relative to the storm itself rather than relative to the radar. This makes rotation much easier to spot because the storm is now the reference frame. The downside is that SRM requires the radar to accurately track the storm's motion, and during fast-moving winter storms in the Central Valley, the tracking algorithms sometimes lag by 10 to 15 knots. That lag creates artificial velocity signatures that look like rotation. Cross-check with any available spotter reports before calling it a hook echo. Reflectivity has a scale from 0 to 75+ dBZ. Light rain is 20-30, moderate is 35-45, heavy is 50-60, and anything above 65 is likely hail or very heavy rain. But here's the catch: cold rain (snow, sleet, very cold rain) reflects less energy than warm rain at the same intensity. A winter storm in the Sierras might show 45 dBZ on the radar but produce 2 inches of snow per hour, which is a whiteout condition. The algorithm underestimates because snowflakes are less dense than raindrops. If you're forecasting winter weather in the mountains, always run the reflectivity through a temperature-corrected model. The NWS does this automatically, but their freeze frame outputs sometimes lag by 20 minutes during rapidly changing conditions.
Get the Full Details

One counter-intuitive thing about California radar: the best data during summer comes from the mountain sites, not the valley ones. Mount Lassen, Mount Hamilton, and the new Mount Palomar site all sit above 8,000 feet. During summer afternoons, the valley gets thermals and dust that create biological scatterers and insect returns. These show up on the radar as widespread low-level echoes that look like drizzle but are actually just bugs and dust. The mountain radars see right through it because the beam is already above the boundary layer. I've seen entire forecast conferences derailed by people misidentifying a bug echo as a developing stratiform layer. The giveaway is the velocity—bugs have near-zero velocity in all directions. Real precipitation has a systematic wind direction.
Where to Access the Raw Data
NOAAPort feeds are available through most weather satellite receivers and give you raw NEXRAD Level II data in near-real-time. The latency is about 3 to 5 minutes from scan completion. If you're building your own processing pipeline, the data format is well-documented on the NSSL website. It's not pretty—text files with headers and binary payloads—but it's free and you own every decision in the chain. For quick visual access without setting up anything, the National Weather Service website at weather.gov gives you the official radar products with clutter filters applied and the proper quality control. The mesoscale products there are usually a couple minutes behind live data, but they're more reliable than most third-party apps. The RadarScope app is what professionals use. It costs about $40 a year but gives you base reflectivity, velocity, and spectrum width at every elevation angle, plus the ability to pull SRM and composite. The free apps on your phone? They're showing you interpolated data that's been through multiple smoothing filters. Useful for casual viewing. Not useful when you need to make a decision in the next five minutes. The biggest limitation you need to accept: radar cannot see through heavy precipitation. When you have a deep convective system with reflectivity above 55 dBZ, the beam gets attenuated. The signal bounces off the front of the storm and never reaches the center. This is called beam blockage and it's why the NWS issues radar degradation warnings during intense thunderstorm complexes. During the 2021 August monsoon surge, we had a line of storms moving through the Imperial Valley with 70 dBZ cores. The KnRC radar was completely blind past the first 40 kilometers because the attenuation was so severe. We had to rely on satellite-derived rainfall estimates and ground truth from the Desert Rain Gauge Network to fill in the gaps. If you're depending on radar alone during intense summer convection, you're going to underestimate the rainfall by 30 to 50 percent in the storm core.
Another hard limit is the curvature of the Earth. At 200 miles from the radar, the beam is already about 12 miles above the ground even at the lowest elevation angle. So if you're in San Luis Obispo and looking at the KSOX radar product, you're seeing precipitation that's 10 miles up in the atmosphere. It might be snowing at 30,000 feet over the mountains while your street is bone dry. This is why California has so many microburst and dry microburst events—especially in the autumn when the first storms hit the warming valley floor. The radar shows a nice rain shaft, but by the time it reaches the ground, it's evaporated into a patch of damaging wind and zero precipitation. These are the events that cause the most airport closures and car accidents on Highway 99. The radar doesn't lie. It just doesn't show you the whole story. If you want to dig deeper, the NOAA National Centers for Environmental Information (NCEI) archives every NEXRAD scan going back to 1988. The data is in HDF5 format and runs about 2 terabytes per year for a single site. Useful for research. The California Department of Water Resources also maintains a real-time radar mosaic that combines KSNY, KNRC, and KOKX data with terrain masking applied. That's probably the most accurate single-source view you'll get without running your own processing pipeline. The latency is 6 to 8 minutes, but the quality control is solid. I've been running my own Python script that pulls the KSNY Level II data every 5 minutes, applies the dual-pol rainfall estimate, and flags attenuation corrections. Takes about 90 seconds to process a full volume scan. The output isn't pretty—just text tables and CSV files—but it's more accurate than anything I've seen in the commercial apps during the tricky winter storms. If you're doing this for fun or for a project, start with the NSSL NEXRAD documentation. It's dense but thorough. You'll learn more from actually reading the data structure than from any YouTube tutorial.

The bottom line is that weather radar in California is powerful, but it's not a crystal ball. The mountains, the dry air, the seasonal shifts in storm type, and the hardware limitations all conspire to make interpretation a skill you develop over years of watching the data fail you. The people who understand that are the ones who end up right when the forecast matters. Everything else is just looking at colors on a screen.