←SunsetVue

How the SunsetVue forecast works

This page describes what the model measures, where it looks, and how a sunset or sunrise ends up with a rating out of five. It also says what the model does not know — including the honest answer about terrain, which is near the bottom and worth reading before you trust a verdict in the mountains.

The forecast running in production is model 1.32.0. Every forecast you have ever run is stored with the version that produced it, and no release ever re-scores an old one.

The idea in one paragraph

The colour in a sunset does not come from the sky above you. It comes from sunlight that has travelled hundreds of kilometres nearly parallel to the ground, losing its blue on the way, before it hits the underside of the clouds over your head and turns them red. That gives a good sunset two separate requirements, and they are in different places: a clear path near the horizon for the light to arrive through, and cloud above you for it to land on. Either one alone gives you nothing. This is why an overcast sky at your house can still produce the best evening of the month, and why a perfectly clear sky usually produces a pale, forgettable one.

Almost everything below is the consequence of taking that one sentence seriously.

Where we look

For each forecast we work out exactly where the sun will set (or rise) for your location and date, then sample the weather at 10 points along that bearing — real coordinates on a great circle, not an approximation. They fall into two groups that do two different jobs.

The canvas — what the light lands on

4 points — 5 km behind you, your own location, 5 km and 20 km toward the sun — covering the cloud you will actually photograph. Here we read how much cloud sits in each layer, how high its base is, how humid and how clear the air is, and how likely rain is.

The point behind you is not a mistake. At sunset the clouds over your shoulder are lit head-on rather than from beneath, and are often the better picture.

The light corridor — what the light has to get through

Points from 50 km out to 350 km toward the sun. Out here we are not asking what the sky looks like; nobody is going to see it. We are asking one question: does the light get through?

Because the Earth curves away, a ray arriving at your horizon was higher up when it passed over each of those distant points. So at each one we only look at the cloud layer the ray actually passes through. Cloud below the ray is ignored — it is under the light, not in front of it.

Cloud above the ray is ignored too, and that half surprises people more. A sheet of high cirrus over a point 50 km away sits 8 km up or more, while the ray is only 0.2 km up there — the light passes underneath it. So the corridor can report an open path on an evening when the whole western sky looks covered, and it is describing the ray rather than the view. What that cirrus does to your own sky is judged separately, by the canvas points above.

DistanceHeight of the ray thereLayer we check
50 km0.2 km uplow cloud
100 km0.8 km uplow cloud
150 km1.8 km uplow cloud
200 km3.1 km upmid-level cloud
300 km7.1 km upmid-level cloud
350 km9.6 km uphigh cloud

This is why a low bank of cloud on the horizon 50 km away kills a sunset while the same bank 350 km away does not: by then the ray is well above it.

A further 4 points — 2.5 km behind you, 2.5 km, 10 km and 30 km — are sampled for the cross-section chart only. They make the drawing honest at short range and are deliberately excluded from every calculation, so the picture can be denser than the model without changing it.

In time, as well as in space

A sunset is a window, not an instant, and each cloud has its own. A cloud overhead can catch the light from the moment the sun crosses the horizon until it falls into the Earth’s shadow — about 1.8° below the horizon for cloud 3 km up, about 2.9° for cloud 8 km up. The headline number checks every cloud over you across its own window, in 0.25° steps, and counts it lit if the light reaches it at any of them. We also score the sky an hour either side of the crossing, and a fixed moment a few minutes after it; that moment and a second weather model are folded into the rating you see.

What data it uses

Commercial Open-Meteo forecast data, refreshed hourly. At every sample point we buy:

  • Cloud cover in three layers — low (0–3 km), mid (3–8 km) and high (8–12 km), plus total cover.
  • Cloud cover at 12 pressure levels, from near the ground to about 12 km up. This is what lets us find the base of a cloud deck rather than just knowing that cloud exists somewhere in a band, and it is what the cross-section draws.
  • Where those levels actually are. Pressure is not height, and the textbook conversion is wrong by 60–480 m depending on the weather. We buy the real heights for the forecast hour instead of calculating them.
  • Humidity, visibility and precipitation probability — how clean the air is and whether it is about to rain on you.
  • Aerosol optical depth at your location: dust, smoke and haze. A moderate amount is what makes reds saturated; too much just makes everything grey.
  • A second, independent weather model (ECMWF) over the same geometry. It never changes the engine’s own score — it is there so we can tell you when two forecasts disagree instead of projecting false confidence.

The primary source is Open-Meteo’s best available model for your coordinates, so in the Alps you are usually being served a 2.2 km high-resolution model and in the middle of an ocean a global one. We do not pick per country by hand.

How the rating is calculated

The score is a chain, not a checklist. Four factors multiply together:

score = cloud canvas × light reach × lit share × air quality

Multiplication is the point. If the light cannot arrive, it does not matter how beautiful the cloud overhead is — anything times zero is zero. An earlier version added and subtracted points, which meant a sky with no evidence of light reaching anything still started at “Fair” and only had to avoid penalties. Nothing starts at Fair now; a forecast begins at zero and has to earn its way up.

1. Is there a surface worth lighting? (cloud canvas)

What this sky would be worth if the light arrived. The best case is a broken mid- and high-level canvas — roughly a quarter to three-quarters cover. Too little and you get a clean but pale glow with nothing to catch colour; too much and you get a closed lid, where colour only reaches the edges. A thick low deck overhead is the worst case of all, because it hides the coloured undersides completely — unless you are standing above it, in which case the same deck becomes the subject and scores higher.

2. Can the light get here at all? (light reach)

This is the corridor, combined into a single figure for how much of the light path is blocked. Below about 30% the corridor counts as open; above about 55% it counts as shut, with a sliding scale between.

Two refinements matter. The corridor is weighted by the length of path each sample represents, so adding or moving a sample cannot quietly change the answer. And cover is not the same as opacity: a completely covered layer of thin, high cirrus does not stop a sunset the way a completely covered bank of low stratus does. So a fully covered layer is treated as blocking 100% of the light if it is low, 80% if mid-level and 50% if high.

Those last three figures are the least certain thing in the model. No weather model we can reach publishes cloud optical depth, so they began as estimates from published ranges. We have since checked them against the models’ own forecast of direct sunlight and they held up, but they remain the number most likely to move.

3. Are those clouds actually lit? (lit share)

Having cloud overhead and having a clear corridor is still not enough: the specific deck above you has to be able to see the sun. For each cloud in the scene we trace the ray back toward the horizon and ask whether something closer to the sun is in the way — including other cloud. A canvas whose undersides are all in shadow is not a canvas, it is grey cloud, and no amount of clean air rescues it.

This factor saturates at half: a sky with half its undersides lit is not half a sunset. The lit half is the subject and the shadowed half is usually the contrast that makes the photograph.

4. What is the air like? (air quality)

A modifier on light that has already arrived, deliberately kept close to 1. Moderate aerosol and good visibility saturate the reds and earn a small bonus; heavy haze or very humid air mutes them and costs a little. Clean air never creates a sunset and dirty air never entirely destroys one, so this scales the result — it does not decide it.

Softening rather than zeroing

Two situations used to wipe a forecast out completely and no longer do. A high chance of rain somewhere on the canvas now reduces the score hard instead of zeroing it, because a broken showery sky is exactly the weather that produces the best evenings — we had verified photographs of sunsets the model had called impossible on one rain probability reading. Only overcast at every single sample point still zeroes outright.

What the number means

The raw result is clamped to 0–5 and rounded. The wording you see — Skip, Likely Skip, Maybe, Probably Go, Go — comes from combining the sunset rating (80%) with the Golden Hour rating (20%), when both are available.

The sunset rating itself is the average of every scenario we have: the moment of the event, the predicted best-light moment, and the second weather model. If those disagree, the card says so rather than hiding it behind an average.

The other two ratings

Golden Hour asks a different question — whether warm, usable sunlight will actually reach you and the landscape in front of you while the sun is still low. It is a near-field judgement: it looks only at the cloud close enough to stand between you and the low sun, and ignores the far corridor entirely. Distant cloud can make a spectacular sunset without affecting the golden hour at all, and the reverse happens too.

Sky & clouds rates how visually interesting the weather around you is regardless of whether anything turns red — layering, texture, depth, an undercast below a summit viewpoint. It is shown separately and does not change the Go/Skip recommendation, on purpose: we want to check it against real photographs before letting it move a verdict.

Alongside those, five optical phenomena are evaluated in-app when the conditions and the landscape allow: rainbows, alpenglow, crepuscular rays, valley mist and exceptional clarity.

Daytime and night: two more engines

Everything above describes one moment: the sun crossing the horizon. Two further engines describe the rest of the day — a daytime engine for the hours when the sun is well up, and a night engine for the blue hours and the darkness between them. They are separate from the sunset model, they run at their own versions (daytime engine 0.7.3, night engine 0.14.2), and they answer in words rather than numbers. There is no score out of five for a Tuesday afternoon, and there is no percentage.

What they read

One column of weather at your coordinate, hour by hour. Not the 10-point line toward the sun described above — that geometry exists because a sunset is lit from hundreds of kilometres away, and it is bought for the sunset forecast alone. A midday sky is lit from overhead and a dark sky is not lit at all, so the observer’s own column is the honest place to read them. It is also much cheaper, which is why a whole day can be checked without spending a forecast. What that column carries:

  • Cloud in the same three layers — cloud_cover_low, cloud_cover_mid and cloud_cover_high, plus total cover.
  • Rain, and specifically showers — precipitation and showers. The difference matters: uniform rain is a wet afternoon, showers with sun behind them are the best light of the week.
  • Instability — cape and lifted_index, bought as two independent reads because CAPE alone fires on humid summer afternoons that never build anything.
  • How much sun actually reaches the ground — sunshine_duration, which counts the minutes of direct beam in an hour, with direct_radiation as the fallback.
  • Visibility, the dew point and wind — visibility, dew_point_2m and wind_speed_10m. These decide fog and inversions, and at night they decide whether your lens will dew over or the wind will blur an exposure.
  • Aerosol optical depth — haze by day, transparency by night, from the same source the sunset model uses.
  • The moon and the galactic centre, for the night engine only. These are computed rather than forecast: where the moon is, how much of it is lit, how much light that actually puts on the ground, and whether the Milky Way’s core is above the horizon at all from your latitude. Astronomy is the one input here that is not a forecast and cannot be wrong.

How a phase gets an answer

The day is cut into phases by the sun’s altitude, never by sunrise and sunset times. That is not pedantry: it is what makes a polar summer and a polar winter ordinary answers rather than errors. Above the Arctic circle in June there is simply no night phase to describe, and in December there is no daytime one.

PhaseSun altitudeWhich engine answers
Daytimeabove 6°daytime
Sunrise, sunset and golden hourthe windows described abovethe sunset model
Blue hour-4° down to -6°night
Nightbelow -6°night
Astronomical darknessbelow -18°night

A photographer’s day runs from the moment you ask to the end of the following morning blue hour. The sunrise after that opens the next day, not this one.

Inside a phase we look for a named situation, which we call a regime: there are 10 of them for daylight and 12 for the night, and each one lists the signals that decide it and the signals that refuse it. Storm light, for instance, is decided by CAPE over 300 J/kg with a negative lifted index, showers in the hour and some direct sun in the same hour or the next, and refused by no direct sun at all and uniform rain rather than showers. At night, astronomical darkness is decided by sun below −18°, total cloud at or under 10% in every hour — a CLEAR dark sky, not merely a dark one and the moon out of the way — under 10° up, under 25% lit, or no brighter on the ground than a 25%-lit moon overhead, and refused by total cloud over 10% — the hour is dark but the sky is not clear, and no window is claimed and humidity over 90%.

The regime then produces one of the same five steps the sunset card uses — Skip, Probably skip, Maybe, Probably go and Go — and every regime carries a ceiling it may not pass. A soft overcast afternoon cannot become a Go however clean the air is, because soft overcast is not what a Go describes.

The bottom of that ladder is deliberately hard to reach. Of the 10 daylight regimes only 2 may produce a Skip at all, and of the 12 night regimes only 1 may. No moon phase, no dew point and no haze reading can tell you to stay in. A wrong Skip costs you an evening you would have enjoyed and you find out by looking out of the window, and Skip is already the verdict our own readers dispute most often on the sunset card.

The night engine’s cloud thresholds are not ours. They are the published stargazing cloud scale, which bands total cover as excellent up to 10%, very good to 25%, fair to 50%, poor to 75% and unsuitable above that — five bands that map onto the five steps without anyone having to invent a boundary. Two further limits act as caps rather than verdicts: a dew-point spread under 3 °C at the lens costs a long exposure one step — under a clear, calm sky a lens radiates up to 2 °C below the air around it, a risk a hood or a dew heater can meet — and air already under 1 °C from its dew point holds it at Probably skip, because then everything fogs; wind over 20 km/h, or gusts of 35 km/h, will blur a long exposure. Neither of those is a reason to stay at home.

A blue hour is not graded like a starry night. With the sun 4° to 6° below the horizon every cloud overhead is already in the Earth’s shadow, so what hides the blue is the opaque low and mid cloud, and the same bands are read on that instead of on the total: open up to 25%, broken to 50%, a cloudy night above 75%. High cloud never shuts a blue hour; over 50% it veils the gradient and holds it at Maybe. Fog (visibility under 10 km at over 90% humidity) and haze (under 20 km) hold it back too. Snow on the ground — 5 cm or more, deep enough that the ground stops showing through — lifts it one step, and that is the only way a blue hour reaches Go: with opaque cloud at or under 10% and 10–50% high cloud to catch the last colour. Wind costs a blue hour less than a star field, because its exposures are seconds.

A moon behind broken cloud is graded on what makes a moon ray, not on the stargazing scale, which would count the very cloud the scene needs against it. Three things score. The moon’s own brightness from its phase: two points at 40% of a full moon’s brightness or more, one at 20% or more — the brightness falls much faster than the lit fraction in the days around full. A screen of mid cloud at 30% or more, one point, because it casts real shadows where cirrus casts faint ones. And something in the air for the beams to light, one point: aerosol optical depth from 0.08 to under 0.4, humidity at 70% or more, or visibility from 5 to 30 km. Four points is Probably go, two or three Maybe, fewer Probably skip, and a reading that did not arrive scores nothing. Low cloud over 50% costs a step, and very hazy air (optical depth 0.4 or more, or visibility under 5 km) holds it at Maybe. It never reaches Go: whether a ray actually forms depends on the gaps in the cloud, which no forecast carries.

Two things that hold a verdict back

  • A short window — shortened: the window is briefer than this regime usually runs. Measured against each regime’s own natural length, never a blanket rule: half an hour is an entire blue hour and a fraction of an astronomy window, and the two must not be judged by one number.
  • A stale run — held back: the forecast run behind this is past its refresh.

Terrain moves a verdict by one step at most, and only where published guidance says it should. There are 3 such adjustments — 2 downward, 1 naming a subject without moving the verdict:

  • Names a subject, moves nothing — at the coast a high sun is what gives the sea its colour.
  • One step worse — midday in the mountains drowns the shadows that show the relief.
  • One step worse — on open ground the sky is the subject, and a clear one is empty.

A terrain flag we could not measure changes nothing at all, rather than being guessed at. And standing above a low cloud deck instead of under it is not treated as an adjustment: it changes what the measurement means, which is a different thing from changing how good it is. The same low cloud is a sea of clouds from a summit and a grey morning in the valley.

What these two engines do not know

  • One model, and no second opinion. The sunset forecast buys a second, independent weather model over the same geometry, which is what lets it tell you when two forecasts disagree. A daytime or night phase has no second model, no ensemble and no probability — one run of one model, and nothing in it that could honestly become a percentage or the word “agree”. Where the sunset card shows agreement, a day or night phase shows the run it read and how old that run is, which answers the question you actually have in that position: is this still true?
  • No horizon except straight up. The light corridor points at the sun and is bought for the sunset. A daytime or night verdict reads only the column over your head, so a front arriving from a direction nobody sampled is weather these engines did not see.
  • They do not know when your ridge puts you in shade. The terrain flags say whether a place is mountainous, coastal or standing above the valley floor. Nothing in them says at what time a particular ridge shades a particular valley — which on a winter afternoon in the Alps is often the entire question.

And the honest thing that covers all three: these engines are new. They carry their own version numbers, separate from the sunset model’s 1.32.0, precisely because they have no rated days behind them yet. Every threshold in them is either a scale somebody else published — the stargazing cloud bands, the dew-point tool’s levels, the meteorological definition of an hour of sunshine — or a stated judgement of ours, labelled as one in the code. Nothing in them has been tuned against outcomes, because there are no outcomes to tune against. That is why each phase can be rated separately, and why nothing either engine says moves the Go or Skip on the sunset card.

Terrain: what we use, and what we do not

This is the most important limitation on the page, and it has three parts, because “terrain” means three different things here.

Elevation for pressure and cloud levels

Every sample point carries the elevation of the ground beneath it, and the model uses it. It is how a cloud base measured in pressure becomes a height above your head; it is how we tell a cloud sea below a summit from you standing inside the fog that makes it; and it is why setting your viewpoint’s real altitude on a saved spot changes the result. A cloud layer at 4.2 km is a spectacular undercast from a 3.8 km summit and an ordinary overcast from the valley floor, and the model gets that right only because it knows where you are standing.

The shape of the land — to determine if you are in mountains or not

We also read an elevation profile along the sun bearing to work out whether the landscape can support certain phenomena at all: alpenglow needs mountain faces in the opposite direction, valley mist needs valleys. That profile decides which phenomena are even offered at your location. It does not touch the sunset, Golden Hour or Sky & clouds ratings.

Mountains blocking the light — no, and this is a real gap

The ratings do not check whether a mountain stands between you and the cloud the model says is lit. When the model traces a ray from a distant cloud back toward the setting sun, it asks whether other cloud is in the way. It never asks whether rock is.

We know what this costs, because we have photographed it. At an Alpine viewpoint the model has drawn a lit cloud deck whose underside sat several hundred metres below the ridges standing between the photographer and the sun — the light could not physically have arrived. The same applies to the horizon: when the forecast says the sun should be visible at the horizon, that is a statement about cloud, not about the ridge to your west.

We have built the fix and measured it against our archive of rated forecasts, twice. Both times it changed almost no verdicts while risking real ones, so it has not shipped. What it affects most is the underlight drawn on the cross-section chart, which is why the ground line on that chart carries its own note.

The practical version: in mountains, check your horizon yourself. The model is describing the sky, and it assumes you can see it.

The ground line on the chart

The terrain drawn under the cross-section is real elevation data, sampled along the sun bearing — finely close to you, where one ridge decides the view, and more coarsely far out. It is there so you can judge the geometry the model cannot. It is drawn, and nothing more: no rating reads it.

Other things the model does not know

  • It cannot see thickness. The weather models we can reach report how much of the sky a layer covers, not how thick or how bright it is. 100% thin cirrus and 100% dense altostratus look identical to the inputs, and the per-layer figures above are our partial answer to that.
  • Its resolution is kilometres, not metres. A grid cell is a few kilometres across. A valley-scale fog bank, a single convective cell, or a cloud that clears your ridge and nothing else is below what the input can describe.
  • Cloud beside the line is only partly seen. We sample along the bearing to the sun. A cloud system just off that line, which may well be in your frame, is not directly measured.
  • It cannot tell you a spot is safe. SunsetVue forecasts light. It says nothing about trail conditions, avalanche risk, road access or whether you can get back down in the dark. Check the official sources.

When we do not know, we say so

A weather provider sometimes returns nothing for a point. The single most dangerous thing a forecast can do is treat a missing measurement as a good one — an absent cloud reading silently counted as “clear” makes the sky look better, which is the direction that sends someone out to a dead sky.

So a point that did not report is excluded rather than replaced by a plausible number. If part of the light path could not be measured, the card tells you that instead of claiming the corridor is open, the chart draws a gap instead of a line, you are not charged for the forecast, and we do not send a notification on a verdict that rests on something nobody measured.

How we check ourselves

A sunset forecast is a probability, not a promise, and we would rather show our working than our confidence. Every forecast is stored with the exact model version that produced it and can be rated afterwards — the sunset, the golden hour and the sky, separately — and those ratings are what model changes are judged against. Several of the mechanisms described above were found by pointing a webcam archive at a forecast we had got wrong.

Two rules follow from that and are worth stating. Old forecasts are never re-scored: your rating answers “how was the forecast?”, and rewriting the forecast afterwards would destroy the only evidence we have. And the model version moves rarely and deliberately. Thirteen versions in two months, every one of them an improvement, left no single version with enough rated evenings to measure against, so a change now has to earn its place: it is replayed against every rated forecast before it ships. The version serving today is 1.32.0.

Sources and credit

Weather data by Open-Meteo (CC BY 4.0). Elevation from Terrain Tiles on AWS Open Data, produced using Copernicus data funded by the European Union (EU-DEM) and SRTM data courtesy of the U.S. Geological Survey.

Questions about what a particular rating meant are best answered from the forecast itself — every rating on the card opens an explanation of how that specific number was reached. See also the Terms of Service, which set out what you are and are not being promised.

How the forecast worksPrivacy PolicyTerms of ServiceCookie PolicyPhoto locationsApp by SwissPhotoSpots.com

Weather data by Open-Meteo.

Elevation data from Terrain Tiles (AWS Open Data). Produced using Copernicus data and information funded by the European Union — EU-DEM layers. SRTM data courtesy of the U.S. Geological Survey.

SunsetVue · Built for photographers who chase light