Small Group Tutorials

Here to help students catch up, keep up, and move ahead. Book a consultation here.

PSLE Science Reality Lab Vol No.453 | “NoData = −9999” — Did the Sensor Measure Minus 9999?

PSLE-SCI-REALITY-0453

Wait, What? The coldest reading in the table is −9999°C.

A Primary 6 learner opens a scientific data file. Most temperatures sit between 24.1°C and 31.7°C. One row says −9999. If that number is treated like an ordinary measurement, the station appears to have experienced a temperature colder than anything physically sensible for the setting. The average collapses. The graph shoots downward. A dramatic story seems to appear.

But the instrument did not necessarily measure −9999°C. In many scientific datasets, a special number can be a NoData value, fill value or missing-value marker. Its job is not to describe the world. Its job is to tell software and readers that a usable measurement is absent at that position. That distinction turns a strange number into a powerful PSLE Science evidence lesson: before calculating with a value, ask what kind of evidence the value actually is.

This Reality Lab applies the same habits assessed in Primary Science—interpreting information, evaluating observations and methods, and communicating a reasoned explanation—to a real scientific communication object: a dataset containing a numeric-looking missing-data code. The learner job is not to memorise −9999. Different datasets can use different markers. The job is to read the metadata, protect the valid range, separate absence of evidence from a measured zero, and refuse to let a placeholder become a scientific observation.

Quick Answer

No. A displayed −9999 may be a real measurement only if the dataset defines it as a valid observation. If the metadata defines −9999 as NoData or a fill value, it means that the data value is missing or invalid for that record. You should exclude it from calculations that require real observations, while keeping track of the fact that something is missing. Never change it to zero unless the dataset documentation explicitly says zero is scientifically appropriate.

The Owned Learner Job

Owned here: deciding whether a numeric-looking value is evidence about the measured world or a code that marks missing/invalid data, then limiting calculations and claims accordingly.

Not owned here: generic graph-reading, general measurement uncertainty, sampling design, averages, sensor calibration or all forms of missing-data analysis. Those skills already belong to the wider Primary Science estate. Reality Lab uses them inside one unmistakable communication problem.

Case File 1: The Weather Station That “Froze” to −9999°C

TimeTemperature fieldQuality note
12:0030.2°Cvalid
12:1030.5°Cvalid
12:20−9999NoData
12:3030.9°Cvalid
12:4031.1°Cvalid

Everything important is already in the table, but not everything is in the temperature column. The row at 12:20 has two pieces of information: the numeric token −9999 and the quality meaning “NoData”. If you read only the number, you create a false observation. If you read the row as a whole, the evidence says: no usable temperature value is available for this time in this dataset.

The difference matters because a calculation can be mathematically correct and scientifically wrong. Averaging 30.2, 30.5, −9999, 30.9 and 31.1 gives a number, but that number answers no sensible temperature question. The arithmetic has obeyed the symbols while violating the meaning of one symbol.

Three Layers: Observed, Encoded, Inferred

  • Observed: the valid rows contain recorded temperature values around 30–31°C.
  • Encoded: the dataset uses −9999 as a special marker at 12:20.
  • Inferred: because the metadata defines that marker as NoData, no usable temperature observation is available for that record.

Notice what we have not inferred. We do not yet know why the value is missing. The sensor might have failed, a communication packet might have been lost, a quality-control rule might have rejected the reading, or a processing step might have masked it. “NoData” tells us the status of the value, not automatically the cause of the absence.

Why Scientists Use a Number to Mean “Not a Number We Can Use”

Scientific data often live in grids, tables and computer files that expect one entry in every cell. A dataset therefore needs a consistent way to represent places or times where a valid value is unavailable. Some systems use a special numeric sentinel such as −9999 or 65535. Others use NaN, a separate mask, a flag field, a blank or another defined convention.

NASA Earth science data guidance recommends that a fill value be outside a variable’s valid range and warns that zero can be confusing because zero may also be a physically realistic value. USGS geospatial documentation likewise uses explicitly defined NoData values in raster products. The general lesson is not “scientists always use −9999”. The lesson is that metadata gives the code its meaning.

The Metadata Check

Before using an unfamiliar scientific value, look for four pieces of information:

  • Variable: What is being reported—temperature, elevation, rainfall, reflectance, concentration?
  • Units: °C, m, mm, %, mg/L, or something else?
  • Valid range: Which numerical values can represent actual observations in this product?
  • Missing-value rule: Which token, mask or flag means a value is absent or invalid?

If −9999 is outside the documented valid range and explicitly named as the fill value, that is strong evidence that it is not an observation. If the documentation says valid values can genuinely include −9999, the interpretation changes. Scientific reasoning follows the documented definition, not the learner’s expectation.

A Crucial Distinction: Missing Is Not Zero

A zero can be meaningful evidence. Zero millimetres of recorded rainfall can mean no measurable rainfall in the stated interval. Zero organisms observed in a defined sample can mean none were observed under that sampling method. Zero displacement can describe no measured change. Replacing a missing value with zero can therefore invent evidence that the dataset never supplied.

Suppose a rain gauge table reads 12 mm, 0 mm, NoData, 8 mm. The zero and the missing entry are not interchangeable. The zero is a reported amount. The missing entry says the amount for that interval is not available from this record. A learner who replaces NoData with zero silently claims “no rain” when the real status is “we do not have a usable value here”.

Case File 2: The Elevation Map With a Bottomless Pit

Imagine a digital elevation map of a coastal hill. Most grid cells lie between 0 m and 180 m. A rectangular patch has value −999999. A dramatic colour palette turns it into the darkest possible colour. Someone posts: “Scientists discovered a giant depression almost one million metres below sea level.”

The screenshot alone is not enough. The correct next move is to inspect the dataset definition. USGS documentation for a raster specification, for example, explicitly assigns −999999 as the NoData value. In that setting, the number is a code for cells without data, not an elevation. The apparent “pit” was created by treating file structure as geography.

This is a representation check. The colour map converted a sentinel into a visual feature because the plotting software was told—or allowed—to colour every number. A good scientific visualisation masks NoData before applying the scientific colour scale. A good reader checks whether the legend and metadata make that distinction visible.

The Representation Trap

Once a missing-data code is drawn on a graph or map, it can look more persuasive than it did in a spreadsheet. A line graph may plunge. A heat map may create a bright patch. A colour bar may assign the sentinel a dramatic colour. The picture feels physical even when the underlying value is administrative.

Ask: Was the special value excluded before the representation was built? If not, the visual can manufacture a false pattern. The error is not necessarily dishonesty; it can be a software-default problem, a metadata mistake or a rushed workflow. Scientific scepticism means checking the evidence path before judging intent.

Case File 3: Two Sensors, One Missing Interval

MinuteSensor ASensor B
17.27.1
27.37.2
3−99997.4
47.57.5
57.67.7

A tempting claim is: “Sensor A gave a much lower reading at minute 3, so it is unstable.” That claim treats a status code as a measurement. A defensible statement is narrower: “Sensor A has no valid value at minute 3 in this dataset, while Sensor B reports 7.4.” The missing value may still matter to evaluating the sensor—but as evidence about data availability or reliability, not as a measurement of the scientific quantity.

That distinction shows why NoData should not simply be erased from memory. Excluding it from the numerical mean is correct, but the pattern of missingness can still carry information. If one sensor loses half its readings whenever conditions become humid, that absence may point to a method limitation. Missing values are not measurements, but missingness can itself be evidence about the data-collection process.

What Would Strengthen the Claim That the Gap Is Harmless?

  • The missing interval is rare and not concentrated under one condition.
  • An independent nearby sensor shows no unusual event during the gap.
  • The dataset explains the cause, such as a short telemetry interruption.
  • The scientific conclusion does not depend on the missing interval.
  • A sensitivity check shows the conclusion remains similar under reasonable treatments of the gap.

What Would Weaken It?

  • Missing values occur exactly when conditions become extreme.
  • The missing period contains a large fraction of the study.
  • Different instruments fail under the same unexamined condition.
  • The reported average ignores many missing values without disclosure.
  • The conclusion requires knowing what happened inside the gap.

Case File 4: The Missing Pixel That Became a Real Zero

An original satellite-style vegetation grid uses valid values from 0.00 to 1.00 and a fill value of −9999. A student imports the grid into a simple app that cannot handle the fill value, so the student replaces all −9999 cells with 0. The resulting map now shows bare ground in every cloudy or unavailable area.

The problem is not merely numerical. The replacement changes the scientific claim. “No usable observation” becomes “measured value equals zero”. If zero represents genuine absence of vegetation in this constructed example, the map now confuses missing observations with observed bare ground. Any total, average or area estimate can be biased.

A better approach is to keep a mask: valid cells stay in the calculation, missing cells stay marked as unavailable, and the number of valid observations is reported. If a later method estimates the missing cells, those estimated values should remain distinguishable from direct observations. A clean-looking map is not automatically a more truthful map.

Tempting Reasoning That Fails

Tempting thoughtWhy it failsBetter question
“It is a number, so it must be measured.”Files can use numbers as codes.What does the metadata define this value to mean?
“Missing means zero.”Zero can be a valid observation.Is zero inside the valid range, and how is missingness encoded?
“Delete all strange values.”A strange value may be valid evidence.Is it outside the documented valid range or specifically flagged?
“If we remove NoData, the dataset is fine.”Patterns of missingness can affect conclusions.When and where are values missing?
“The graph proves an extreme event.”The plot may have graphed the fill value.Was missing data masked before plotting?

How Far Can the Conclusion Travel?

From a documented NoData code, you may conclude that the record does not contain a valid observation for that cell or time under the dataset’s rules. You may not automatically conclude why the value is missing, what the true value would have been, whether the instrument failed, whether conditions were extreme, or whether the whole dataset is unreliable.

This is a classic boundary-of-evidence problem. The code supports a status claim. Additional evidence is required for a causal claim.

Model and Measurement Limits

Even after you handle NoData correctly, the remaining values still have ordinary scientific limits. They may have measurement uncertainty, calibration limits, sampling limits, spatial resolution limits or model assumptions. Removing a placeholder does not turn every remaining value into perfect truth. It simply stops one category error: confusing a missing-value code with measured evidence.

PSLE-Style Transfer Case

A fictional environmental logger records water level every hour. Its documentation says valid readings are 0.00 m to 8.00 m and that 9999 means “measurement unavailable”. The values are 1.25, 1.29, 9999, 1.34 and 1.38 m. A learner says, “The water level suddenly rose to 9999 m and then fell.”

Reasoned response: The statement is not supported. The documentation defines 9999 as a missing-value marker outside the valid measurement range, so it is not evidence that the water reached 9999 m. The usable readings show an increase from 1.25 m to 1.38 m across the available times, but the exact water level during the missing hour is unknown from this logger record.

Notice the answer does not invent what happened in the gap. It corrects the false interpretation and preserves the uncertainty.

Explained Practice

1. Air-quality file

Valid concentration range: 0–500 µg/m³. Fill value: −999. A row contains −999. Is the air concentration negative?

Answer: No. Under the supplied metadata, −999 is a fill value and therefore not a concentration observation. We need other evidence to know the concentration at that time.

2. Rainfall table

The table contains 0, 4, blank, 2 mm. The note says blank = missing. Which entry shows no recorded rainfall?

Answer: The 0 mm entry. The blank does not show zero rainfall; it shows that the rainfall value is unavailable.

3. Map colour

A mapping program colours −9999 cells dark purple because they are numerically smallest. What should be checked first?

Answer: Check whether −9999 is the dataset’s NoData/fill value. If it is, those cells should be masked or separately represented rather than interpreted using the scientific colour scale.

4. Missing pattern

A humidity sensor has NoData in 2% of ordinary conditions but 60% of very humid periods. Can the missing values simply be ignored?

Answer: They should not be used as humidity readings, but the pattern of missingness matters. Because missing values cluster under one condition, the dataset may under-represent that condition and the method should be investigated.

Delayed Return: Same Habit, Different Object

A month later you meet a wildlife dataset in which “999” means species not surveyed, while “0” means surveyed and none observed. Without remembering this article’s examples, what habit should return?

Return habit: Find the codebook before interpreting the number. Preserve the difference between “looked and found none” and “did not obtain a usable observation”.

Routes to the Existing PSLE Science Owners

This page applies existing skills rather than replacing them. For graph, table and evidence work, continue with the Primary 5 Data, Graphs & Evidence Application Lab. For method and variable evaluation, use the Primary 5 Experimental Design & Evaluation Application Lab. For uncertainty and strength-of-evidence boundaries, use the Primary 6 Confidence, Uncertainty, Anomalies & Strength of Evidence guide. Return to the PSLE Science Reality Lab for other real-world claim objects.

Parent and Tutor Teaching Guide

Do not begin by teaching the code −9999. Begin with a table containing a physically plausible range and one impossible-looking value. Ask the learner to make a claim. Then reveal the metadata. The learning event is the change in interpretation: the same printed token moves from “extreme measurement” to “missing-data marker” because provenance has changed its meaning.

Next, change the sentinel. Use 9999, −1, 65535, blank and NaN in separate fictional datasets. Keep asking, “What does the documentation say?” This prevents a new misconception in which the child memorises that one particular number always means missing. Finally, contrast a genuine zero with a missing value so the learner has to protect both meanings.

A useful oral check is: “If I remove the NoData row from the average, have I solved every data-quality problem?” The desired answer is no. The remaining values still need evaluation, and the pattern of missingness can itself affect how far a conclusion travels.

Authoritative Reality Check

Quiet Return

The important habit is smaller than the software and bigger than the code: do not ask what a number says until you know what the number is allowed to mean. A value can look precise, sit neatly in a table and still be only a signpost saying, “No usable observation here.” Scientific reasoning begins when we keep the signpost separate from the landscape.