GEOM-499 · Lesson 11 of 12 · 21 min

Final report

The final report is the record of the project. The clients will keep it long after the team has graduated; a geotechnical engineer will read it before inspecting the slope; a consultant hired to repeat the monitoring in five years will open it to find out exactly how the baseline was made. The report has to serve all of them. It must state the findings clearly at the start for readers who will go no further, explain the methods in enough detail for a professional to repeat them, present the evidence for each accuracy claim, and package the data so it can be found and used. This lesson follows the Coulee Watch team as it plans, writes, reviews and delivers that report and its data.

Who reads the report and how

Readers of technical reports rarely read from front to back. Most read the summary and stop. Some read the summary, the findings and the recommendations. A few, usually specialists, read the methods and the quality sections closely and check the appendices. The structure should serve all three. The Coulee Watch report opens with a one-page summary, written last, that states the question, what was done, the four findings with their uncertainties and the main recommendations. A reader who stops there should still make a sound decision.

Writing for two clients with different questions adds a twist. Claire's question is about the slope below the houses; Marta's is about the canal bank. The summary answers both, each in its own paragraph, so that each client finds their answer in the first page without having to read about the other's.

Structure and word budget

Nadia sets a target of about 9,000 words for the main body, with appendices for detailed tables. She divides the budget by section before anyone writes, so that no section grows at the expense of the others. The largest shares go to data and methods, acquisition and processing, and results, because those are what a future team needs to repeat the work and what the clients need to act on.

A horizontal bar divided into eight sections from summary at 6 percent to professional and data matters at 6 percent, with results and acquisition at 20 percent each, and a list of word counts below.
The report structure and its word budget.
The main sections of the Coulee Watch report.
SectionContent
SummaryQuestion, approach, findings with uncertainty, recommendations
Introduction and requirementsClients, site, scope, the nine requirements
Data and methodsExisting data, methods chosen and why, reference frame
Acquisition and processingControl, drone, scans, targets; adjustments and processing settings
ResultsChange map, volumes, target movement, radar comparison, cross-sections
QualityCheckpoint tests, accuracy statements, change detection tests, review
RecommendationsMonitoring program, inspections, specialist assessment
Professional and data mattersScope and limitations, licenses, privacy, data handover

Writing results and findings

The results section presents the evidence; the findings and recommendations interpret it. Mixing the two weakens both. In the results, every number comes with its uncertainty and its source: 'Targets T7 and T8 moved 20.8 and 17.2 mm toward about 235 degrees between epochs; the 95 percent significance threshold for this survey is 14 mm.' Every figure has a caption that says what it shows and what the reader should notice. Every map has a legend, scale, date and coordinate system.

Plain language helps every reader, including specialists. The team avoids nominalizations and passive constructions where they hide who did what: 'the team leveled the loop twice' rather than 'leveling of the loop was performed'. It defines each technical term the first time it is used and keeps a glossary. It replaces vague words such as significant, which in everyday speech means large, with precise ones; when it uses significant, it means statistically significant at a stated level, and says so.

Recommendations

Recommendations are actions, each linked to a finding. The team makes five. Repeat the drone, scan and target surveys twice a year, in October and April, using the same procedures, so that seasonal and long-term movement can be separated. Add two targets on the slope between T7 and T8 and the canal, and one above T7 near the crest, to define the moving block. Have a geotechnical engineer assess the slope above stations 0+625 to 0+700 before the next irrigation season. Inspect the canal liner and toe in that reach and consider protection. And extend the radar analysis with the ascending orbit and with corner reflectors on stable ground to strengthen the regional view. Each recommendation names who would act on it and why.

Accuracy statements and metadata

The quality section ends with formal accuracy statements, one per product, in the form recommended by the standard. Nadia generates them from the quality results so that the numbers in the text, the tables and the metadata cannot drift apart.

Accuracy statements, a checksum manifest and the section word budget.
# Coulee Watch: accuracy statements and a checksum manifest for the handover
import hashlib
results = {"orthomosaic, epoch 1": ("RMSEH", "horizontal", 2.7, 4.0),
           "terrain model, epoch 1": ("RMSEV", "vertical", 3.6, 5.0),
           "terrain model, epoch 2": ("RMSEV", "vertical", 3.4, 5.0)}
for prod, (sym, kind, tested, cls) in results.items():
    print(f"{prod}: tested {tested:.1f} cm {sym} against the {cls:.0f} cm "
          f"{kind} accuracy class; {'meets' if tested <= cls else 'does not meet'} the class")
files = {"ortho_e1.tif": b"ortho epoch 1", "dtm_e1.tif": b"terrain epoch 1",
         "dtm_e2.tif": b"terrain epoch 2", "dod_e1_e2.tif": b"difference",
         "targets.csv": b"T1,T2,T3", "report.pdf": b"final report"}
print()
for name, data in files.items():
    print(f"{hashlib.sha256(data).hexdigest()[:16]}  {name}")
# a later copy with one changed byte fails the check
tampered = b"T1,T2,T4"
ok = hashlib.sha256(tampered).hexdigest() == hashlib.sha256(files["targets.csv"]).hexdigest()
print("targets.csv check after copy:", "match" if ok else "MISMATCH, recopy the file")
# section word budget for a 9,000-word report
plan = {"summary": 6, "introduction and requirements": 10, "data and methods": 18,
        "acquisition and processing": 20, "results": 20, "quality": 12, "recommendations": 8,
        "professional and data matters": 6}
print({k: round(v / 100 * 9000) for k, v in plan.items()})
Output
orthomosaic, epoch 1: tested 2.7 cm RMSEH against the 4 cm horizontal accuracy class; meets the class
terrain model, epoch 1: tested 3.6 cm RMSEV against the 5 cm vertical accuracy class; meets the class
terrain model, epoch 2: tested 3.4 cm RMSEV against the 5 cm vertical accuracy class; meets the class

6b87334e4e2b7727  ortho_e1.tif
11a1d3d0948cabb9  dtm_e1.tif
0eed312a5ea3bda9  dtm_e2.tif
69ea741e98fdc758  dod_e1_e2.tif
602dbc601a011dbb  targets.csv
7fd5f79ebca3fa0f  report.pdf
targets.csv check after copy: MISMATCH, recopy the file
{'summary': 540, 'introduction and requirements': 900, 'data and methods': 1620, 'acquisition and processing': 1800, 'results': 1800, 'quality': 1080, 'recommendations': 720, 'professional and data matters': 540}

Metadata describe each dataset so that someone who was not on the project can understand and use it. The team uses the ISO 19115 family of geographic metadata standards, which US federal agencies increasingly use alongside the older FGDC content standard, with a short readme in plain language. For each dataset, the metadata record the title, abstract, purpose, extent, reference frame and epoch, height system, resolution, accuracy statement, lineage, processing software and version, date of capture, license, contact and any access restrictions. Lineage is the part most often left thin, and it is the part a future team needs most: it says how the dataset was made from its inputs, step by step.

Worked problem

Writing a lineage entry

Write the core of a lineage entry for the epoch 2 terrain model.

Show solution
  1. Inputs: 1,286 drone images of 2026-04-14 and 2026-04-16; 14 control targets surveyed by network RTK from CW1 to CW6; four terrestrial scans of 2026-04-15.
  2. Processing: bundle adjustment with self-calibration; dense matching; cloth-simulation ground filter with epoch 1 parameters; scans merged on the toe; gridded at 10 cm.
  3. Tests: 32 independent checkpoints; RMSEV 3.4 cm in non-vegetated terrain.

Answer: A good lineage entry lets a reader trace the product back to its raw inputs and repeat the process. Listing the same filter parameters as epoch 1 shows the two epochs are comparable.

Packaging and handing over the data

The data handover is a deliverable in its own right. The team organizes the files in a documented folder structure: raw data, processed data, products, metadata, reports and code. Each product comes with its metadata file and a license file. A manifest lists every file with its size and its SHA-256 checksum. When the clients copy the data to their own systems, they rerun the checksums and compare them with the manifest. Any mismatch means a file was corrupted or changed in transfer, and that file is copied again. The script above shows a mismatch being caught for a target file that had a single character changed.

The team also hands over the code: the processing scripts, the analysis scripts and the map-building scripts, with a short guide to running them. A monitoring program that will be repeated needs reproducible processing; the spatial data science course showed how version control, environment files and checksums make that possible. Theo Martel reviews the code before handover and asks the team to replace two hard-coded file paths with configuration settings.

Review before release

The draft report goes through three reviews. Nadia, as quality lead, checks every number in the text against the analysis outputs. Leah and Ruth review it as the mentor and the professional of record for anything touching the datum and boundaries. Dr. Marsh reviews it as the advisor, mainly for structure, clarity and whether it meets the course outcomes. Each reviewer's comments go into a single comment log with the team's response to each: accepted and changed, or not accepted with a reason. The log is kept with the project records.

Two review comments change the report in important ways. Ruth notes that the summary says the slope 'is moving', which a reader might take as a statement about the whole slope; it is changed to 'a block of slope above canal stations 0+625 to 0+700 moved about 2 cm'. Dr. Marsh notes that the radar comparison is buried in the results; the team moves a short version into the findings, because the disagreement is itself an important result.

Professional matters in the report

The report includes the scope and limitations statement from lesson 10, the licenses of the data used and delivered, the privacy and confidentiality measures, and a list of everyone who contributed and in what role. It is signed by the four students and reviewed by the advisor. Because it is a student report, it carries no professional seal; it says so plainly, and it names the licensed professionals who reviewed the parts relevant to their practice. Being clear about who is responsible for what is part of the honesty a professional report owes its readers.

Figures, tables and appendices

Figures and tables carry much of a technical report, and they are often what a busy reader looks at after the summary. Each figure in the Coulee Watch report is numbered, referred to in the text before it appears, and given a caption that can stand alone: it says what the figure shows, where and when, and what the reader should notice. Each table has units in its column headings and a source note. Maps follow the conventions from lesson 9. The team checks that every figure is legible when printed in black and white, because some readers will print it that way.

The appendices hold the material that supports the findings but would interrupt the main text: the full adjustment reports, the checkpoint tables, the target coordinates in both epochs, the cross-section plots, the metadata records, the data manifest, the review comment log and the field log scans. Each appendix is listed in the table of contents and referred to from the section it supports. A good test is whether a specialist could check any number in the main text by following a reference to an appendix and recomputing it; the team runs that test on ten randomly chosen numbers before release.

Common mistakes

  • MistakeWriting the summary first and never revising it.

    InsteadWrite the summary last, from the final findings, and check every number in it.

  • MistakeMixing evidence and interpretation in the results section.

    InsteadPresent results with uncertainty first; interpret them in the findings and recommendations.

  • MistakeLeaving lineage as 'processed in software X'.

    InsteadRecord inputs, steps, settings, versions and tests so the product can be repeated.

  • MistakeCopying data to the client without a manifest.

    InsteadDeliver a checksum manifest so the client can verify every file arrived intact.

Summary and key terms

  • The report serves readers who stop at the summary, readers who want findings and specialists who check the methods.
  • A section word budget keeps the report balanced and focused.
  • Results present evidence with uncertainty; findings and recommendations interpret it and name actions.
  • Accuracy statements and ISO 19115 metadata, especially lineage, let others understand and repeat the work.
  • The data handover includes a documented structure, licenses, code and a checksum manifest.
  • Structured reviews with a comment log improve the report and keep a record of decisions.
Executive summary
A short opening section stating the question, approach, findings and recommendations.
Lineage
The metadata element describing how a dataset was produced from its inputs.
ISO 19115
The international standard for describing geographic datasets with metadata.
Manifest
A list of delivered files with their sizes and checksums.
SHA-256
A cryptographic hash function used to produce checksums that detect any change in a file.
Comment log
A record of review comments and the author's response to each.

Practice problems

Work each problem on paper first, then reveal the answer to check.

  1. Why is the summary written last?

    Show answer

    It must reflect the final findings and numbers, which are only known at the end.

  2. Rewrite 'leveling of the loop was performed' in plain active language.

    Show answer

    'The team leveled the loop.'

  3. What does a checksum mismatch after copying tell the client?

    Show answer

    The file was corrupted or changed in transfer and must be copied again.

  4. Name four items recorded in each dataset's metadata.

    Show answer

    Any four of title, extent, reference frame, epoch, height system, resolution, accuracy, lineage, license, contact.

  5. Why was 'the slope is moving' changed in the summary?

    Show answer

    It could be read as the whole slope; only a block above stations 0+625 to 0+700 moved.

  6. Why does the report carry no professional seal?

    Show answer

    It is a student report; it names the licensed professionals who reviewed relevant parts instead.

Lesson quiz · 5 questions

Score 60% or more to complete this lesson.

Take the quiz