SARAH-3 (Surface Solar Radiation Data Set — Heliosat, Edition 3) is the satellite record behind GeoRank's live sunshine map. Native 0.05° resolution, cloud-observed instead of cloud-modelled, covering the Meteosat disk since 1983. What it is, how it's built, and what running it in production actually involves.
The basics
SARAH-3 is a satellite-derived climate data record of surface solar radiation, produced by EUMETSAT's Climate Monitoring Satellite Application Facility (CM SAF). It's built from decades of imagery captured by the MVIRI and SEVIRI instruments aboard the Meteosat geostationary satellites — the same spacecraft that produce the weather-satellite loops you've seen on TV forecasts, repurposed for a 38-year climate record instead of a five-day forecast.
"SARAH" stands for Surface Solar Radiation Data Set — Heliosat. Heliosat is the retrieval method, not the satellite: it derives ground-level solar radiation from how bright a patch of Earth looks to a satellite in orbit, rather than from a physical cloud model. Edition 3 is the current version, and it added two parameters over Edition 2: photosynthetically active radiation (PAR) and daylight (DAL).
SARAH-3 isn't distributed as a plain public download URL — it comes through CM SAF's order system, which means an account and a specific product order rather than a direct file link. GeoRank's own build pulls product order ORD67765: the sunshine-duration (SDU) monthly-sum product, MVIRI/SEVIRI combined, 1991–2020.
At a glance
| Field | Value |
|---|---|
| Full name | Surface Solar Radiation Data Set — Heliosat, Edition 3 |
| Producer | EUMETSAT Climate Monitoring SAF (CM SAF) |
| Method | Heliosat (cloud-index retrieval from geostationary reflectance) |
| Instruments | MVIRI, SEVIRI (Meteosat satellites) |
| Native resolution | 0.05° (~5 km) |
| Coverage | Meteosat full disk — roughly 65°W–65°E, 65°S–65°N (Europe, Africa, part of South America, and the adjoining oceans) |
| Temporal range | 1983–2020 climate data record; operationally extended beyond 2020 with a few days' latency |
| Temporal resolution | 30-minute instantaneous, daily mean, monthly mean |
| Variables | Surface irradiance (SIS), direct irradiance (SID), direct normal irradiance (DNI), sunshine duration (SDU), daylight (DAL), photosynthetically active radiation (PAR), effective cloud albedo (CAL) |
| DOI | 10.5676/EUM_SAF_CM/SARAH/V003 |
GeoRank uses one variable — sunshine duration (SDU) — and only the 1991–2020 span of the record, aggregated into a monthly climatology. See what running it in production looks like below, and how satellite sunshine duration compares to ground-instrument measurement.
The method
Heliosat doesn't model clouds physically — it measures how bright the ground looks from orbit and infers cloud cover from that. For each 0.05° pixel, the algorithm compares today's observed reflectance against two references built up from the historical record at that exact pixel: the darkest reflectance ever seen there (its clear-sky reference) and the brightest (its fully-overcast reference). A pixel reading close to its clear-sky reference is treated as cloud-free; close to its overcast reference, as fully cloudy. That produces a cloud index, which scales a clear-sky radiative-transfer estimate down to the actual surface irradiance. Sunshine duration then comes from thresholding irradiance against the theoretical clear-sky value for that time and place.
The upshot: cloud effects are observed, not parameterized. That matters a lot for accuracy — see SARAH-3 vs ERA5 below — and it's also why the record's known error modes are almost all about the observation itself (viewing geometry, surface brightness) rather than about a cloud-physics scheme being wrong.
Independent validation in the SARAH-3 reference paper puts monthly surface-irradiance accuracy at a mean absolute difference of about 5 W/m² and an RMSE of about 7 W/m² against ground stations; daily-mean accuracy is looser, around 11 W/m² MAD.
Comparison
ERA5 is ECMWF's global atmospheric reanalysis — the workhorse dataset behind most climate tools, GeoRank's included, outside the Meteosat disk. It's global and goes back to 1940, but its sunshine values come from a physically modelled atmosphere, and that model's cloud scheme carries a systematic bias. GeoRank's own WMO-station validation puts raw ERA5 sunshine overestimation at roughly +5–16% in clear, dry climates, +20–40% in mid-latitude temperate climates, and +40–73% in cloudy high-latitude climates — see the full methodology for the correction formula that fixes this.
SARAH-3 doesn't have that problem inside the disk, because there's no cloud model to be wrong. A satellite-observed cell needs no cloud-model correction — which is exactly why SARAH-3 replaced modelled ERA5 as GeoRank's primary sunshine source within the Meteosat disk.
| SARAH-3 | ERA5 | |
|---|---|---|
| Data origin | Satellite-observed reflectance | Reanalysis (physically modelled atmosphere) |
| Resolution feeding GeoRank | 0.05° native (~5 km) | 0.1° via ERA5-Land (~9 km) |
| Geographic coverage | Meteosat disk only | Global |
| Cloud representation | Directly observed per pixel | Parameterized by the reanalysis cloud scheme |
| Systematic sunshine bias | None from cloud modelling (retrieval has its own error modes — see Limitations) | Overestimates, worse in cloudier climates (up to ~70%+) |
| Temporal range | 1983–2020 (CDR) | 1940–present |
In production
Documentation describes what SARAH-3 is. This is what it's like to actually pull it, merge it with another dataset, and ship it — the part nobody writes up.
CM SAF's HTTPS data server was firewalled off on the network GeoRank's pipeline runs from, so the SARAH-3 tar archive gets pulled over SFTP on port 2424 instead — a mundane detail, but it's the first thing that breaks if you assume "download a URL" and move on. The archive itself is a tar of monthly NetCDF granules, roughly 8 MB each. GeoRank's processing script streams it: read one granule into memory, accumulate it into a running sum, discard it, move to the next. For the 1991–2020 SDU product that's 360 granules expected — 30 years × 12 months — and peak memory stays in the low hundreds of megabytes (twelve running-sum arrays, ~27 MB apiece) instead of holding the whole archive at once. The output is a 12-band float32 GeoTIFF at native 0.05°, LZW-compressed, around 325 MB.
Meteosat sits geostationary over 0°E, 0°N. Near the sub-satellite point it looks straight down; toward the edge of its visible disk it's looking at the Earth increasingly obliquely. That's not a SARAH-specific flaw — it's geometry. At a high viewing angle, the satellite is seeing a given patch of ground through more atmosphere, from a more slanted angle, with a more stretched-out footprint, and the reflectance-based retrieval that Heliosat depends on gets correspondingly noisier the further you push toward the limb.
GeoRank's merge step handles this directly: it computes each pixel's angular distance from the sub-satellite point as a proxy for viewing zenith angle, treats anything under 55° as full-weight SARAH, and linearly fades SARAH's weight to zero by 65° — at which point the pixel is ERA5 only. That 55°–65° buffer isn't a number CM SAF publishes as an official accuracy curve; it's GeoRank's own conservative margin inside the disk's nominal ±65° boundary, built in because the outermost few degrees are exactly where a reflectance-based retrieval is weakest. Because the fade is linear rather than a hard cutoff, there's no visible seam in the output grid at the edge — it's a gradient, not a cliff.
Beyond the disk — the Americas, Asia-Pacific, the poles — there's no SARAH-3 data at all, full stop. ERA5-Land (which arrives in GeoRank's pipeline at 0.1°, bilinearly upsampled to match SARAH's 0.05° grid) fills every one of those cells. Every pixel in the merged grid carries a quality flag: 0 if it's ERA5, 1 if SARAH-3 dominates the blend (blend weight ≥ 0.5). That flag is what lets anyone downstream — including GeoRank itself — tell which physics actually produced a given number, instead of treating the merged grid as one uniform source.
The disk edge is a viewing-geometry problem. This one is a physics problem: Heliosat tells clouds apart from clear sky by reflectance, and the two surface types that can reflect about as much sunlight as a cloud does are fresh snow and hyperarid desert. That's not a SARAH-3-specific weakness — it's a known category of error for any reflectance-based cloud detector — and it's exactly why SARAH-3 ships a dedicated effective cloud albedo (CAL) parameter rather than folding surface brightness silently into the irradiance number.
The SARAH-3 reference paper documents a concrete version of this: snow-detection skill was weaker in the earliest years of the record, enough that the authors flag likely-overestimated solar-radiation trends across the Alps if you use the full 1983 start, and they recommend starting trend analysis from 1991 instead. That happens to be the same year GeoRank's own climatology window starts — 1991–2020 is also the WMO's standard 30-year climate-normal period, so the overlap is more "sensible convention" than coincidence, but it does mean GeoRank's SARAH-3 build already sits on the safer side of that particular limitation.
On the desert side: GeoRank's own bias-correction reference set — the 56-station IDW pass described in the methodology — deliberately includes several hyperarid stations (Yuma AZ, Death Valley CA, Aswan EG, Wadi Halfa SD, Al-Kufra LY) specifically to extend the correction into the extreme-sunshine range those regions produce. That's evidence GeoRank has had to grapple with bright-desert cells in calibration, not evidence that the underlying snow/desert retrieval ambiguity is solved — that ambiguity lives in the upstream Heliosat retrieval, and GeoRank hasn't independently re-validated CM SAF's handling of it.
Real pipelines guard against bad values, and the guards are worth naming because they say something about what actually shows up in the raw feed: GeoRank's ingest rejects any SDU reading outside 0–25 hours/day before it's accumulated into the climatology, the merge step re-checks the same 0–25 bound before blending SARAH against ERA5, and the final bias-corrected output is clipped to 0.05–24 hours/day. None of those bounds are exotic — they're just "a day has 24 hours" enforced in code, because satellite feeds occasionally hand you something that isn't physically possible and a climatology built on bad NetCDF decoding is worse than no climatology at all.
Known limits
Sources
This page is a secondary source. For the dataset itself, go to the producer:
To cite this explainer:
For how SARAH-3 fits into GeoRank's full data pipeline — ERA5 calibration, WMO stations, CHELSA climate data — see the full methodology. For the underlying temperature and rainfall data alongside sunshine, see climate & rain.
The live sunshine layer renders SARAH-3 at native 0.05° resolution inside the Meteosat disk, ERA5-filled everywhere else. Pan, zoom, and compare any two places.