About Forecast Italy
Italy's own models, taken seriously. Agenzia ItaliaMeteo publishes an unusually generous set of open forecasts through MeteoHub — free, with no key, no account and no quota — and they come from five different institutes rather than one modelling chain. This site renders six of them on one instrument, plus the national radar: ICON-2I at 2.2 km, MOLOCH at 1.2 km, the WRF chain at 1.5 km, WRF-DA at 2.5 km with radar assimilation, BOLAM at 8 km across the Mediterranean, the WW3 sea state, and the Civil Protection radar mosaic.
Navigate by place, not by zoom. Macro-aree, the twenty regioni, towns, the mountain passes, the sea areas — each is a framing you press a button for, and the finest model covering that place answers. Flipping between models holds the valid time, so what changes on screen is the forecast, not the camera.
Not a warning service. Nothing here is an alert, and nothing here is official. For warnings, the allerte meteo-idro of the Dipartimento della Protezione Civile and your regional ARPA are always the authority.
The models
| Model | Grid | Run by | Runs | Reach |
|---|---|---|---|---|
| ICON-2I | 2.2 km lat/lon, 761 × 761 | ItaliaMeteo / Arpae | 00, 12 UTC | T+72, hourly |
| MOLOCH | 1.2 km rotated, 1154 × 1154 | CNR-ISAC | 03 UTC | T+45, hourly |
| WRF | 1.5 km Lambert, 1399 × 1399 | ItaliaMeteo / CIMA / LaMMA | 00, 12 UTC | T+72, hourly |
| WRF-DA | 2.5 km Mercator, 429 × 468 | CIMA Foundation | 00, 12 UTC | T+48, hourly |
| BOLAM | 8 km rotated, 578 × 418 | CNR-ISAC | 00 UTC | T+72, hourly |
| WW3 MEDITA | Mediterranean, 7 °W – 36 °E | ItaliaMeteo / Arpae | 00 UTC | T+72, hourly |
| Radar SRI | 1 km national composite | Protezione Civile | every 5 min | the last three hours |
Not every model publishes every field. WRF ships no cloud cover and BOLAM and MOLOCH ship no mean sea-level pressure, whatever the dataset catalogue says — those were established by inventorying the files rather than by reading the metadata. WRF-DA publishes specific humidity instead of a dewpoint, and converting it would need a surface pressure the package does not carry, so that model has no humidity fields rather than wrong ones.
The colours are Italy's
MeteoHub draws its own maps server-side, through a GeoServer whose styles are public. Those styles are the exact colours and the exact breakpoints — not a legend image to be sampled — and they are unusually well made: a temperature ramp that runs violet through blue, green, yellow and deep red and then back to pink past 36 °C, so both ends of a scale that has to cover the Alps in January and Sicily in July announce themselves; a rainfall ramp that changes hue rather than shade at 20 mm in an hour, which is where a nuisance becomes a warning; a zero-degree-level table drawn as a hypsometric tint, which reads like a relief map because that is what a freezing level is.
Twenty-two of them are carried here, and they are the defaults. The one real conversion is worth stating: GeoServer's interval colour maps are upper-bounded — a stop at −26 is the colour of everything up to −26 — and this network's ramps are lower-bounded, so every band has to shift one place against its numbers. Copied straight across, the map still looks completely plausible and every band is wrong. The build checks each band against the original rather than trusting the reasoning.
They sit alongside the network's other eleven hundred tables — the AWIPS, ecCharts and NDFD packs — and any of them can be swapped onto any field with matching units without re-rendering anything: the frames are palettised, so a colour table is 387 bytes inside the file and changing it is a splice in the browser.
How it is made
Each model publishes one GRIB2 file per run holding every lead time — 58 MB for WRF-DA, a gigabyte for MOLOCH, about 4.7 GB a day in total. A render box in the same part of Europe fetches each package whole, decodes only the records it needs in a single sweep, warps them from four different native projections onto one Web Mercator raster, and writes palettised PNGs with label and vector sidecars. The web host stores none of the imagery; it proxies it from object storage.
The picture is the data. Every frame is 128 quantisation levels through a fixed palette, which makes it a reversible encoding of the field: point anywhere and the value comes back out of the pixel, with no extra bytes published per frame. Ramps are pinned to absolute values, never to a frame's own range, so a loop shows the weather changing rather than the palette re-fitting itself.
Two products are banded, and say so. The wave model and the radar are published as data only behind an access key, so they come instead from the public map server — whose output for these layers is a palettised image whose palette is exactly the published colour map. Recovering the band is a lookup that is either right or fails loudly, but it is a band and not a number, so the readout quotes the interval: “2.5–3.25 m”, not a figure inside it that nobody measured.
Credit
Data from Agenzia ItaliaMeteo, Italy's national meteorological agency, and Arpae Emilia-Romagna, with CNR-ISAC, CIMA Foundation, LaMMA and CINECA, under CC BY 4.0 via MeteoHub. The radar composite is the Dipartimento della Protezione Civile's. Basemap © OpenStreetMap contributors; boundaries and place points from Natural Earth. Not affiliated with any of them.