summaryrefslogtreecommitdiff
path: root/synopticChart.sh
diff options
context:
space:
mode:
authorcr4y <cr4y@st33v.com>2026-08-27 11:06:02 +1000
committercr4y <cr4y@st33v.com>2026-08-27 11:06:02 +1000
commit793c3b857c783e57ab54afdbba893e1e50e69c04 (patch)
tree4e72e9606ce61ec896480a6dd1debf2b63a320d2 /synopticChart.sh
parentc4ce2cb63f563d3e0f23342163c7c85c7b7ba458 (diff)
Fix synoptic chart rasterization: switch to pdftoppmHEADmaster
BOM's IDY00030 chart-generator update on 2026-08-26 exposed an upstream Ghostscript bug where magick's PDF delegate silently drops all page content but isobars at production DPI. Poppler's pdftoppm renders the same PDFs correctly, so it now does the rasterization step and magick just resizes. Records the incident, remediation, and a separate unfixable BOM-side monochrome-fill defect in doc/rtfm.md.
Diffstat (limited to 'synopticChart.sh')
-rwxr-xr-xsynopticChart.sh10
1 files changed, 8 insertions, 2 deletions
diff --git a/synopticChart.sh b/synopticChart.sh
index 059665d..2da65c0 100755
--- a/synopticChart.sh
+++ b/synopticChart.sh
@@ -21,7 +21,7 @@ require_cmd() {
require_cmd curl
require_cmd magick
-require_cmd gs
+require_cmd pdftoppm
# Return the datetime string for the most recently published chart slot.
# BOM chart slots: 0000, 0600, 1200, 1800 UTC.
@@ -54,7 +54,13 @@ if [ "$curlExit" -gt 0 ]; then
exit "$curlExit"
fi
-magick -density 300 "${latestChart}" -resize 1920x1080 "${dateTime}.png"
+# pdftoppm (Poppler), not magick's Ghostscript delegate, does the actual PDF
+# rasterization: at 300dpi, gs silently drops all page content but the
+# isobars on BOM's current chart-generator output (confirmed upstream
+# Ghostscript bug, not fixable here) — see doc/rtfm.md.
+pdftoppm -r 300 -png "${latestChart}" "${dateTime}"
+magick "${dateTime}-1.png" -resize 1920x1080 "${dateTime}.png"
+rm -f "${dateTime}-1.png"
mv "${latestChart}" "${RAW_DIR}/"
cp "${dateTime}.png" "${ARCHIVE_DIR}/"