Tomas built limiting magnitude up from the physics in @dust/limiting-magnitude-from-first-principles, and the part I could not stop turning over was that he had produced a number for one place. One eyepiece, one backyard, one sky, honestly derived. I make maps, so I asked the obvious follow-up (what does the field look like) and then spent four months finding out I had asked it badly.
The plan was simple: a 1 km grid over Lisbon in ETRS89 / Portugal TM06 (EPSG:3763), a Unihedron SQM-L at the zenith at each node, moonless nights, no cloud, readings between 23:00 and 01:00 so the commercial lighting was in a consistent state. The SQM-L has a 20 degree field of view, a bandwidth of roughly 390 to 600 nm, and a quoted systematic uncertainty of 0.1 magnitudes per square arcsecond, which I noted at the start and then treated as zero.
The instrument reports magnitudes per square arcsecond, a logarithmic scale running backwards: bigger number, darker sky. Which makes the first thing nearly everyone does with a grid of SQM readings invalid. You cannot average magnitudes, or interpolate between them linearly, because the physical quantity is luminance and the relation is
Two nodes reading 20.0 and 18.0. The naive midpoint is 19.0. Properly: the 18.0 node is times brighter, the mean luminance is 3.65 in units of the darker node, and converting back gives 18.59.1 The naive figure is 0.41 mag out and understates the brightness by a factor of 1.46. Note the direction, because it is always the same direction. Averaging magnitudes makes your city look better than it is.
Convert to linear, interpolate, convert back. That fixes the units, not the interpolation.
Shepard's method gives the value at an unsampled point as a weighted average of the observations,
with positive weights normalised by that denominator. So the output is a convex combination of your data, and the interpolated surface can never exceed your brightest reading nor fall below your darkest. Your map's maximum is wherever you happened to stand. If the genuinely brightest patch of Lisbon is 400 m from a node it does not exist on your map, and no choice of will summon it. IDW does not model anything. It smears.
For a field that really is local, that trade is defensible: soil pH, groundwater head, rainfall over a small catchment. Sky brightness is not that sort of quantity, and the reason is physics rather than statistics.
What the SQM sees at the zenith is not a property of the ground beneath it. It is an integral along the line of sight of light scattered into that line of sight: Rayleigh scattering off nitrogen and oxygen molecules, Mie scattering off aerosols. The source term is the whole illuminated surface for a very long way in every direction, and the kernel is the atmosphere, weighted by scattering angle, aerosol load, and how much air the light had to cross.
The scale of that non-locality is the number that ended my project. When Falchi and colleagues built the world atlas of artificial night sky brightness in 2016, the modelled zenith brightness at each site came from integrating light arriving from sources out to 195 km. Not 5 km. One hundred and ninety-five, which from my roof takes in Setúbal, Santarém and a long stretch of the Alentejo coast. (I have not stopped enjoying that number since I found it. My little rooftop reading contains Sines.) The falloff does not save you either: the rule of thumb for a single distant source, usually credited to Walker, is that its contribution goes roughly as , steepening past about 50 km where extinction and the curvature of the Earth start eating the geometry. Sky glow does not switch off at the city boundary.
So my method collapses. The field I sampled at 1 km spacing has already been convolved, by the atmosphere, with a kernel tens of kilometres wide. It is smooth by construction, and there is very little at 1 km scale for a 1 km grid to resolve. Worse, the kernel is not fixed: aerosol optical depth changed between my nights, so the one term I had implicitly held constant was the most variable thing in the experiment.
| Source of variation | Rough size in my data | Under my control |
|---|---|---|
| Spatial, centre to outer suburbs | 2.5 mag/arcsec² | yes, this is the signal |
| Same node, different night | up to 0.5 mag | no, I recorded no aerosol data |
| Instrument systematic | 0.1 mag quoted | no, one unit, never checked against a reference |
I have two readings 0.5 mag apart from the same paving slab in Alvalade, eleven days apart. That is larger than the difference between adjacent nodes across most of the grid, which is a polite way of saying my noise sits above my signal gradient at the spacing I chose. So I did not measure a surface. I sampled a space-time field along an arbitrary path through it and then projected the whole thing onto space alone, which is a reduction I would refuse to sign off if a colleague handed it to me.
The correct move is the one Falchi's group made and I did not. Do not interpolate the observations at all. Take an emission field you can obtain everywhere, which here means upward radiance from the VIIRS day-night band, push it through a scattering model, and get a brightness surface out of the physics. Then use the ground readings as residuals against that model rather than as the source of the map. The propagation model supplies the non-local structure the interpolator cannot know about, and the SQM points become what they are good for, which is telling you where the model is wrong.2
I have the satellite composites. I have not written the propagation model. It is the most interesting unfinished thing on my desk and it has been there since May.
Meanwhile there is a map on my wall, A1, on good paper, and it is genuinely beautiful. Warm greys, gold isolines at half magnitude intervals, the Tagus doing what rivers always do to a filled contour map. It is also partly false and I can tell you which parts. The nodes are true to about 0.1 mag on the night I stood there. Everything between them is a convex combination that cannot contain a peak, so the bright spots of my own city are missing from a map of the brightness of my own city. The dark corner past the western edge is probably an artefact of my sampling it in March when the air was cleaner. And the whole surface is a slice through a four-month volume presented as an instant.
Tomas got a number and knows exactly what it means. I got a picture and worked backwards for months to find out what it meant, which is the standard failure mode of my profession, and I would rather say so than hang it unlabelled. He also has the better sequel: @dust/my-sky-is-not-dark-and-i-have-the-numbers is what it looks like when you take a measurement seriously enough to argue with your own site.
In full: , mean , and , so . The 0.41 mag gap sounds trivial until you notice it is wider than the whole of Bortle class 3, which the scale places between 21.3 and 21.6. ↩
Whether the arithmetic mean of luminance is even the quantity you want is a separate argument I have had with myself and lost twice. For estimating wasted light, yes. For predicting what a dark-adapted eye will see, no. ↩