Off-Nadir Delta
Satellite measurement

Night-Light Anomalies: A City’s Lights Against Its Own Usual Level

A city is darker from orbit on some nights than on others: cloud, smoke and moonlight all change what a satellite measures. Off-Nadir Delta keeps the nights on which a city’s measured lights were below half of that city’s own usual level while most of the city could be seen, and puts each one on the same map as the reporting. It records that the light fell. It does not say why.

Quick answer — what a night-light anomaly is here

A night-light anomaly is a record that the satellite-measured night lights over a city were below half of that city’s own usual level on a night. The data is NASA Black Marble, made from the VIIRS Day/Night Band on NOAA-20. Only a fixed list of cities is measured (30 in the first list). A night is judged only when at least 70% of the city’s area could be observed, and the usual level is the median of the most recent earlier nights that met the same condition (at least 5, at most 30). Recent nights come from the near-real-time product, which is provisional. The record never states a cause: a power cut, an evacuation or damage lowers the measured light, and so does leftover error from cloud, smoke or the correction for moonlight. Records are events on the Watchfloor map under the category Night-Light Anomalies.

What is a night-light anomaly?

Satellites measure the light the Earth’s surface gives off at night. NASA’s Black Marble products are made from the Day/Night Band of the VIIRS instrument, which NASA describes as “a specialized sensor with variable gain settings designed to capture low-light imagery of Earth at night”, and are corrected “for atmospheric, terrain, lunar bidirectional reflectance distribution function (BRDF), and stray light effects to generate an Earth surface radiance measure” (NASA Earthdata: Black Marble).

A single night’s value says little on its own. A city is partly under cloud on many nights, and the correction for moonlight is not perfect. What is worth recording is a night that is far below the city’s own recent nights and on which most of the city was actually seen.

That is the narrow sense used here: a night-light anomaly is one city, one night (or a run of nights), below half of that city’s own usual level. It is not a map of outages and it is not a statement about electricity.

How a night is judged

  • Only cities on a fixed list are measured (30 in the first list). A city outside the list never produces a record.
  • The area is a box around the city centre. The figure is the average brightness of the part of the box that could be observed that night.
  • A night is judged only when at least 70% of the box could be observed. Cloudy nights are not judged and do not enter the usual level.
  • The usual level is the median of the most recent earlier nights that met the same condition: at least 5 are required and at most 30 are used.
  • A record is made when the night is below half of that usual level.
  • Cities whose usual level is very dim are still measured, but no record is made for them: at low brightness the leftover error from moonlight is as large as the signal.
  • A run of low nights for the same city is one record, not one per night.

Data: NASA Black Marble daily night lights from the VIIRS Day/Night Band on NOAA-20 (NASA LAADS DAAC: VJ146A2), processed by Off-Nadir Delta. Credit shown on the map: Night lights: NASA Black Marble.

What a record states

  • Which city, and the night (as a UTC date).
  • The measured light as a percentage of the city’s own usual level.
  • How many earlier nights the usual level was made from.
  • How much of the city’s area could be observed that night.
  • Whether the value comes from the near-real-time product, which is provisional.
  • Any earlier nights in the same run that were also below the line.

What it does not state

  • A cause. A power cut, an evacuation or damage can lower the measured light. So can leftover error from cloud, smoke or the correction for moonlight. The record does not tell these apart.
  • That there was a blackout. The figure compares brightness seen from orbit. It is not a measurement of the electricity supply.
  • The whole night. The product is daily: the satellite gives one look at a place per night, and the figure is that look.
  • That other nights were normal. A night with no record was not necessarily normal. A night is only judged when most of the city could be seen.
  • A final value. A provisional value can change when the standard product for the same night arrives about nine days later. A record already made is not withdrawn.
  • A severity. These records carry no severity. An empty severity means not assessed, not minor.

Measurement and reporting, side by side

A report says a city lost power. A measurement says the city was much dimmer than usual from orbit that night. Neither proves the other, and they come from sources that do not depend on each other.

A night-light anomaly is kept as its own event, placed at the city, and is never merged into a reported event about the same city. Its title and summary are written by a fixed rule from the measured values, not by a model, and the two kinds are always shown as different kinds of evidence.

Night-light anomalies over the API

Night-light anomalies are events, so they come back from the events endpoint with their category. A page costs 3 tokens.

curl "https://offnadir-delta.com/api/v1/signals?categories=nightlight_anomaly" \
  -H "Authorization: Bearer ond_..."

Each one carries measured: true and measured_kind: nightlight. The same query works through the MCP tool query_signals. A reader for this kind alone is GET /api/v1/nightlight-anomalies, and client.nightlight_anomalies in the Python SDK. Parameters and response fields are in the API reference. The nightly values for these cities are not offered as data; only the records are.

What each plan sees

On every plan, the Watchfloor map shows that a night-light anomaly was recorded, when, and where. The crescent marks are there without paying.

Which city it was, by how much the light fell and on which nights are part of the full account of each event, in the app, through the Delta Agent and over the API. Pricing shows which plan opens it.

How It Works

1

Open the Watchfloor

Night-light anomalies are on the map next to reported events. To see only these, pick “Night-Light Anomalies” under Category in the filters.

2

Find the crescent marks

Each crescent is one city whose measured night lights fell below half of its usual level.

3

Open one

Read what was measured: the percentage, the night, how much of the city was observed and whether the value is provisional.

4

Check it against reporting

Reported events about the same city are on the same map. The record gives no cause; reporting and imagery are where a cause comes from.

Frequently Asked Questions

What is a night-light anomaly?▼
A record that satellite-measured night lights over a city were below half of that city’s own usual level on a night when at least 70% of the city’s area could be observed. The usual level is the median of the city’s most recent earlier nights that could be observed as well.
Does a night-light anomaly mean a blackout?▼
Not on its own. A power cut, an evacuation or damage lowers the measured light, and so does leftover error from cloud, smoke or the correction for moonlight. The record states that the light fell and by how much. Cause comes from reporting and other evidence.
Which satellite data is used?▼
NASA Black Marble daily night lights, made from the Day/Night Band of the VIIRS instrument on NOAA-20. NASA corrects the product for atmospheric, terrain, lunar and stray-light effects. Recent nights come from the near-real-time product, which is provisional and is replaced by the standard product about nine days later.
Which cities are covered?▼
A fixed list of cities, 30 in the first list. A city that is not on the list never produces a night-light anomaly, so no record there says nothing about that city.
Why was there no record on a night when the lights went out?▼
Several reasons are possible. The city may not be on the list. The night may have been too cloudy: a night is judged only when at least 70% of the city’s area could be observed. The city may be too dim for the comparison to be reliable. Or the fall may not have reached half of the usual level at the time of the satellite’s look.
How many records does one episode make?▼
One. Low nights for the same city that follow each other are kept as one record, which lists the earlier nights. A cloudy night in between does not split it, as long as the low nights are within a few days of each other.
Is there a night-light anomaly API?▼
Night-light anomalies are events: GET /api/v1/signals with categories=nightlight_anomaly returns them, each with measured: true and measured_kind: nightlight, at 3 tokens a page. A reader for this kind alone is GET /api/v1/nightlight-anomalies, and client.nightlight_anomalies in the Python SDK; the API reference has the parameters. The nightly values for these cities are not offered as data.
What does each plan see?▼
Every plan sees that a night-light anomaly was recorded, when, and where on the map. Which city, the percentage and the nights are part of the full account of each event, which not every plan includes. The Pricing page shows which plan opens it.

See Night-Light Anomalies on the Map

The crescent marks are on the Watchfloor for every account. The detail of each record and the API are plan-dependent; see Pricing.

From headline to satellite evidence

One connected intelligence workflow across four surfaces — free to start, no GIS software or remote-sensing background required.