Historical Weather Data Transcription: Getting the Numbers Off the Page Without Losing the Grid

Converting handwritten weather observations from station registers, ship logbooks and observatory ledgers into structured data without losing the grid, and how volunteer and machine methods compare on that task.

Leo Team

August 18, 2026

Contents

This is a working guide to historical weather data transcription — the stage where handwritten station registers, ship logbooks and observatory ledgers become structured data. It covers what a complete observation actually requires, what volunteer transcription and machine methods each do well, and how to validate either on your own pages. If your project ends in an ingest to a climate database, this is the stage that decides whether the values downstream can be defended.

What the task actually requires

Historical weather data transcription is the work of converting handwritten instrumental observations — station registers, ship logbooks, observatory ledgers — into structured, machine-readable data that can be quality-controlled and ingested into climate databases. The hard part is not reading digits. It is keeping each digit attached to its row, column, header, unit, time and location, because a numeral separated from that context is not an observation at all: it can be assigned to the wrong variable, the wrong hour, or the wrong scale, and it becomes impossible to validate. Any method you choose — volunteers, OCR, HTR, or a hybrid — has to be judged on both counts: character accuracy and structural accuracy, which fail independently.

That last point is the one most often missed, and it shapes everything below.

Two recognition problems, not one

Character recognition asks which glyph is on the page. Table-structure recognition asks which row, column, cell, span and header that glyph belongs to. They are separate tasks with separate error modes, and a system can do one well while quietly failing the other.

Consider what a shifted column does. Every digit is read correctly. The dry-bulb temperature lands in the wet-bulb field. A barometric pressure in inches of mercury sits under a header that a downstream script reads as hectopascals. The character error rate is zero. The dataset is wrong in a way that range checks may not catch, because 29.8 is a plausible number in several columns of a nineteenth-century register.

Blanks make this worse. In a weather register, an empty cell is information — the observation was not taken, or not recorded, or the ship was in port. A pipeline that silently collapses empty cells shifts everything below or beside it. So the working rule for the transcription stage is straightforward: preserve layout, blanks, spans and coordinates, then validate headers before you map anything to an exchange format.

The measurement literature reflects the separation. Structure is scored with exact structure match, cell precision and recall, and tree-similarity measures like TEDS, on benchmarks including PubTabNet, PubTables-1M, ICDAR-2013 and OmniDocBench. Those figures are also sensitive to what the model was trained on: one alignment study reports Table Transformer exact-match accuracy of 65% on ICDAR-2013 when trained on PubTables-1M and 42% when trained on FinTabNet — the same model, the same test set, a 23-point spread from training distribution alone. Neither number tells you anything about a faded 1840s ship log with an unruled grid. It tells you how far performance can move when the material changes.

What counts as a complete observation

Before choosing a method, be precise about the output you owe. A usable observation carries:

  • Date — with the calendar and day convention identified (nautical versus civil day matters in logbooks).
  • Time — and whether it is local, mean or apparent.
  • Station or ship, and location — latitude and longitude as written, not as inferred.
  • Variable identity — from the column header, not from a guess about magnitude.
  • Value — exactly as written, including the original notation.
  • Unit or scale — Fahrenheit, Celsius, Réaumur; inches of mercury or millibars. Historical records use all of these.
  • Provenance — page image, coordinates on the page, the source series.
  • Quality and status flags — including "blank" and "illegible" as first-class values.

This list is why "the numbers look plausible" is not an acceptance criterion. It is also why the C3S Station Exchange Format for newly digitized fixed-station data and the IMMA format for marine records are structured the way they are: they demand the context, not just the value. Downstream, NOAA's 20th Century Reanalysis assimilates only surface synoptic pressure observations, producing eight-times-daily estimates on a 75 km grid for 1836–2015 with an experimental 1806–1835 extension. A pressure value with an ambiguous timestamp is not a contribution to that; it is a liability in it.

The WMO's updated Guidelines on Good Practices for Data Rescue set the surrounding stages — preserving original media, imaging, digitization, archiving both images and data — and the joint C3S–WMO data rescue portal, launched in July 2024, supplies the coordination layer and format conventions. Transcription sits between them, and it is where the fidelity of everything downstream is decided. If you are scoping a project from inventory through ingest, the broader historical climate and scientific data rescue pipeline is worth reading alongside this.

What crowdsourcing proves — and what it costs

Volunteer transcription is the current default for weather data rescue, and it deserves respect rather than the dismissal it sometimes gets. The programme results are strong, and they are strong for a specific structural reason: they do not rely on one person's reading.

Rainfall Rescue put more than 66,000 uniform paper sheets — 5.28 million handwritten monthly observations spanning 1677–1960 — in front of more than 16,000 volunteers, who completed the whole set in sixteen days, typing roughly 23 million rainfall amounts. Each value was keyed four times, with provisional acceptance when at least three agreed; about 98% reached consensus initially and about 99.5% after further transcription.

Old Weather: World War II processed over 28,000 logbook images from the US Navy Pacific Fleet at Hawai'i, 1941–1945, with 4,050 volunteers producing more than 630,000 records and over three million individual observations. Every task went to at least three volunteers; matching values were accepted, all-different fields were left blank and flagged. Meteorological values reached about 95% full agreement, with under 1% having no match. Dates were markedly harder — about 53% agreed exactly at first, rising to about 94% after processing.

Two lessons travel out of these numbers, and both are easy to get wrong.

First, these are throughput and internal-agreement figures, not blinded accuracy against a gold standard. The Old Weather authors are explicit that obviously erroneous values can survive consensus checking, sometimes because the original observer misread or misrecorded the instrument. Agreement is not truth.

Second, the redundancy that produces the agreement is also the cost. Four independent keyings of every value is four times the human effort. Southern Weather Discovery makes the tradeoff visible from the other direction: in an analyzed pool of just over 46,200 values, 56% were classified low-risk, 7% medium, 1% high and 36% blank — and raising the consensus requirement from 60% to 90% reduced the fraction of tasks that could be retired. Tighten the standard and throughput falls.

Rainfall Rescue's sixteen days also had preconditions: a single uniform sheet design, which let one fixed set of questions be asked of every volunteer, and a pandemic-era surge of attention. Neither generalizes to a heterogeneous series of station registers in five hands and three languages. This is the honest limit of the crowdsourcing route — not quality, but scale, form-consistency and volunteer supply. The trade-offs are worth mapping series by series, which is the argument in our note on what crowdsourced transcription does best and where machines should take the first pass.

Why general OCR and general chatbots break on a weather grid

Document AI platforms — Textract, Google Document AI, ABBYY, Tesseract — advertise text, table and form extraction, and on clean modern documents they deliver it. What their documentation establishes is capability, not archival-weather performance. The specific conditions that break them are the conditions of this material: faded iron-gall ink, unruled or irregular grids, marginalia written across columns, empty and merged cells, and pages that mix printed form structure with dense handwriting. Test on that material or you are testing nothing relevant.

General vision-language models are the other reflex, and here the failure mode is more dangerous because it is invisible. These systems downsample images and lean on text priors, which on a dense numeric grid produces plausible completion: a digit substituted for a likelier digit, a value regularized toward the column's typical range, a unit quietly converted. Degraded-document evaluation work is beginning to measure this — one 2025 study of OCR hallucination in multimodal models reports a 4.29% hallucination rate in its own extraction setting, which is not a climate-table figure and should not be read as one. The general point stands regardless of the number: an error you can see is recoverable, and an error that reads like a real observation is not. Our longer treatment of why fluent LLM output is the hardest kind of transcription error to catch sets out the mechanism.

The consequence is procedural. If a general model touches your grid, treat its output as candidate extraction only: require explicit blank and unknown values, cell coordinates, per-field confidence, an image crop link, and a strict schema — then verify every accepted numeric field against the image or by independent double-keying. Silent normalization or unit conversion is not acceptable at this stage.

Specialist HTR, and the training question

Specialist handwritten text recognition tools are the closer comparison. Transkribus offers trainable recognition, layout and table models; eScriptorium needs images plus transcriptions or layout segmentations; OCR4all chains preprocessing, LAREX layout and line segmentation, Calamari recognition and work-specific training. All three can read historical hands. All three, in the standard workflow, ask you to produce ground truth first — Transkribus's own guidance suggests roughly 15–30 pages for a consistent single hand and 50–100 pages across multiple hands, as indicative rather than guaranteed figures, and notes that condition, handwriting consistency and training data all move the result. On top of that, you configure regions and cells, inspect failures and manage structured export.

For a grant-funded rescue project, that ground-truth labour is a real budget line, and one worth costing honestly before you commit to it. It is also, on many series, avoidable — whether you need a custom model at all is worth testing before you assume the answer.

It is also worth saying plainly what the field has not established. A 2025 review of automation in historical weather data rescue notes that automatic transcription has not been reliable or sufficiently accurate on handwritten data, which is why most records remain untranscribed. And no representative public benchmark exists for real logbook tables — faded ship logs and station registers with irregular grids, blanks, merged cells, marginalia, mixed print and hand, in multiple vernacular languages. Anyone quoting a single figure for "table HTR accuracy on weather records" is quoting something that does not exist yet. Which means the only benchmark that counts is the one you run on your own pages.

Where a specialist model fits in this pipeline

The realistic role for machine transcription in weather data rescue is the first pass: producing a layout-faithful base transcription from the image, so that human effort moves from keying to verification. That reframes the redundancy problem. Instead of four independent keyings from scratch, you have a draft to check against the image, with volunteer or staff attention concentrated on the fields that actually carry risk — dates, coordinates, and any value near a range boundary. Old Weather's date-agreement figures show exactly where that attention belongs.

This is the stage Leo is built for. ATR-1, Leo's transcription model, is a specialist Transformer trained on images of historical documents rather than a wrapper around a general chatbot, and it runs zero-shot: no ground-truth preparation, no per-corpus model training, no segmentation step before you can read a page. It preserves tables and layout, and it is trained to transcribe what is on the page rather than to normalize it — the archaic notation stays, the original unit abbreviation stays, the marginal note stays where the scribe put it. It reads any language written in the Latin alphabet, which is the relevant scope for this material: English, Dutch, Spanish, French, German, Italian and Danish station registers and logs are all in scope, and CLIWOC's multilingual dictionary work is a reminder that source-language wind-force terms and remarks need to survive transcription before anyone standardizes them. Non-Latin scripts — Greek, Cyrillic, Hebrew, Arabic, Indic, East Asian — are not. Transcription is not translation: translating a Dutch log is a separate operation that writes to a new tab, leaving the base transcription untouched.

Two things about how it behaves matter to a data-rescue team specifically. First, the failure handling is a shipped mechanism rather than a claim: output showing failure patterns, such as a line repeating over and over, is hidden from you, retried automatically with varied parameters, and if it still cannot succeed the job stops and refunds the credit. Errors that do get through tend to be the recoverable kind — a wrong character you catch against the image displayed beside the text — rather than a fluent fabrication. Second, the workflow around it is built for series work: folder organization, per-document archival metadata, fuzzy search across every transcription, and export to TEI XML, Word, HTML or PDF as the input to your own structuring step.

On head-to-head transcription accuracy, the cleared figure is a manuscript prose benchmark, not a table one: on a randomized 97-image sample of early-modern English manuscripts from the Folger Shakespeare Library, at ATR-1's release, Leo scored approximately 5% character error rate against Transkribus/Text Titan I at ~13%, Claude Opus at ~23.3%, Gemini 2.5 Pro at ~24.8% and GPT-4.1 at ~56.7% — 61% fewer errors than the next-best model, with the full comparison published here. That is prose CER, and CER is not cell accuracy. Two honest limits belong beside it: complex tabular layouts vary in quality, and the sharpest known weak spot is pages where dominant printed structure sits over dense handwriting — pre-printed ledger and register forms, where a model can favour the printed headers over the manuscript entries. If your series is heavily pre-printed, that is precisely the thing to test on a sample before committing a work plan to it. Corrections users make in the app feed back into training, so the model improves across releases, but that is a reason to test now rather than a reason to assume.

For material that is specifically maritime — nautical day conventions, position columns, log-slate structure — the genre-specific reading is in our guide to recovering weather and navigation observations from ship logbooks. For turning a verified transcription into analysable tables while keeping every value traceable back to the page, see how to derive CSV and JSON from transcribed records. And if this pipeline is going into a funding application, the validation and cost lines that survive review are treated separately in our note on writing HTR into a data rescue grant proposal.

A validation design you can defend

Whatever mix of volunteers and machines you use, the acceptance test should measure both failure modes on your own material:

  1. Draw a random sample across the series — not the legible pages, and deliberately including the faded, the unruled and the marginalia-heavy.
  2. Key it independently to build local ground truth, including blanks and illegibles as explicit values.
  3. Score characters and structure separately. Report CER for the values and cell-assignment accuracy for the grid. A method can pass one and fail the other.
  4. Score high-risk fields on their own. Date, time, position, unit. Aggregate accuracy hides exactly the fields whose errors are unrecoverable.
  5. Keep the base layer untouched. Preserve the image, the verbatim transcription, page coordinates and provenance. Publish unit conversions, calendar harmonization and time-standardization as documented derivatives, so any value can be traced back to the mark on the page.
  6. Then run the science checks — range, internal consistency, spatial and temporal — and flag rather than silently correct, verifying flags against the image.

Digit confusions worth testing explicitly include 1/7, 0/6/8 and 3/5, along with decimal and column drift, transposition, and unit ambiguity. These are appropriate test categories, not measured frequencies; no field-wide rate for them has been established, and stating one would mean inventing evidence.

The discipline underneath

What survives a hundred years of reanalysis work is not a clean number. It is a number you can walk back — to a cell, on a row, under a header, on an imaged page, in a named series, with the reading you rejected still on record. That is why the transcription stage rewards conservatism: transcribe the mark, keep the blank, leave the unit in the notation the observer used, and put every act of interpretation in a separate, documented layer where a later researcher can disagree with you.

The observers who filled these registers were themselves careful about provenance. They wrote down the instrument, the time convention, the correction applied. Matching that care is the work.

Frequently Asked Questions

What is historical weather data transcription?

Historical weather data transcription is the work of converting handwritten instrumental observations — station registers, ship logbooks, observatory ledgers — into structured, machine-readable data that can be quality-controlled and ingested into climate databases. The difficulty is not reading digits. It is keeping each digit attached to its row, column, header, unit, time and location, because a numeral separated from that context can be assigned to the wrong variable, the wrong hour or the wrong scale, and cannot be validated afterwards. Any method — volunteers, OCR, HTR or a hybrid — has to be judged on character accuracy and structural accuracy, which fail independently of each other.

Why is a shifted column worse than a misread digit?

Because a misread digit is visible and a shifted column is not. If every digit is read correctly but the grid is misaligned, a dry-bulb temperature lands in the wet-bulb field, or a pressure in inches of mercury sits under a header a downstream script reads as hectopascals. The character error rate is zero and the dataset is still wrong, in a way range checks may miss — 29.8 is plausible in several columns of a nineteenth-century register. Blanks compound it: an empty cell carries information, and a pipeline that collapses empty cells shifts everything below or beside it.

How accurate is crowdsourced weather transcription like Rainfall Rescue and Old Weather?

Those projects report internal agreement rather than blinded accuracy against a gold standard, and the distinction matters. Rainfall Rescue keyed each of 5.28 million monthly observations four times, accepting values provisionally when at least three agreed; about 98% reached consensus initially and about 99.5% after further transcription. Old Weather: World War II sent every task to at least three volunteers and saw about 95% full agreement on meteorological values, but only about 53% exact agreement on dates at first, rising to about 94% after processing. The Old Weather authors note that obviously erroneous values can survive consensus checking. Agreement is not truth.

Can general OCR tools or AI chatbots transcribe handwritten weather registers?

Not reliably on this material, and general vision-language models fail in the more dangerous way. Document AI platforms perform well on clean modern documents, but archival weather pages bring faded iron-gall ink, unruled grids, marginalia across columns, blank and merged cells, and printed forms filled with dense handwriting. General multimodal models downsample images and lean on text priors, which on a numeric grid produces plausible completion: a likelier digit substituted, a value regularized toward the column's range, a unit quietly converted. An error you can see is recoverable; one that reads like a real observation is not. Treat such output as candidate extraction requiring verification against the image.

How should I test transcription accuracy on my own weather records?

Run the test on your own pages, because no representative public benchmark exists for real logbook tables. Draw a random sample across the series, deliberately including faded, unruled and marginalia-heavy pages. Key it independently to build local ground truth, recording blanks and illegibles as explicit values. Score characters and structure separately — CER for the values, cell-assignment accuracy for the grid — since a method can pass one and fail the other. Score date, time, position and unit on their own, as aggregate accuracy hides the fields whose errors are unrecoverable. Then run range, consistency, spatial and temporal checks, flagging rather than silently correcting.

Share this article

© 2026 Leo Technologies Limited. All rights reserved