Problem
The mru_transform CMakeLists.txt downloads VDatum grids (~1.7GB) and PROJ geoid data during cmake configure time. This makes builds:
- Slow — first build downloads ~1.7GB over the network
- Non-reproducible — depends on external server availability
- Offline-hostile — fails in air-gapped or field environments with spotty internet
- Surprising — unexpected disk usage and network activity during a
colcon build
Proposed Solution
Change the CMake build to check and warn instead of downloading:
- Check if grids exist in
~/.cache/mru_transform/ (or a configurable path)
- If missing,
message(WARNING "VDatum grids not found — run download_vdatum_grids.sh") and skip the install step
- If present, install them into the share directory as today
The existing scripts/download_vdatum_grids.sh already handles the download — make it the documented way to pre-populate the cache. The chart_datum_node should log an error and stay inactive if grids are missing at runtime.
This treats grid data as a deployment step, not a build dependency — similar to ENC charts or firmware.
Authored-By: Claude Code Agent
Model: Claude Opus 4.6
Problem
The mru_transform CMakeLists.txt downloads VDatum grids (~1.7GB) and PROJ geoid data during
cmakeconfigure time. This makes builds:colcon buildProposed Solution
Change the CMake build to check and warn instead of downloading:
~/.cache/mru_transform/(or a configurable path)message(WARNING "VDatum grids not found — run download_vdatum_grids.sh")and skip the install stepThe existing
scripts/download_vdatum_grids.shalready handles the download — make it the documented way to pre-populate the cache. The chart_datum_node should log an error and stay inactive if grids are missing at runtime.This treats grid data as a deployment step, not a build dependency — similar to ENC charts or firmware.
Authored-By:
Claude Code AgentModel:
Claude Opus 4.6