Skip to content

Release: MRVPP ATBD v2 and PUM v1 - #67

Closed
MatMatt wants to merge 105 commits into
mainfrom
develop
Closed

Release: MRVPP ATBD v2 and PUM v1#67
MatMatt wants to merge 105 commits into
mainfrom
develop

Conversation

@MatMatt

@MatMatt MatMatt commented Jul 28, 2026

Copy link
Copy Markdown
Collaborator

Content

Promoting the two MRVPP documents from to :

  • MRVPP ATBD v2 — Algorithm Theoretical Basis Document for MR-VPP (Methane Retrieval – Vegetation Photosynthetic Potential)
  • MRVPP PUM v1 — Product User Manual for MR-VPP

Both documents have been reviewed and tested on .

History

mckeea and others added 30 commits June 3, 2026 08:41
Updated metadata description
…cts for the 11 pre-converted CLMS EEA manuals
MatMatt and others added 25 commits July 20, 2026 09:32
docs: fix grammar in migration status table sentence
Add the Medium Resolution Vegetation Phenology and Productivity (MRVPP)
Algorithm Theoretical Basis Document, converted from PDF via pdf2md and
manually repaired to render cleanly:

- Rebuilt the BOX 1 / BOX 2 code blocks (a GDAL mosaic script and TOC had
  leaked into the BOX 1 fence; the script was split in two).
- Removed ~20 leaked PDF page-footer artifacts and a duplicated
  top-of-document block, and dropped trailing duplicate content.
- Reconstructed Figure 10 from its three real panels (SOSD, EOSD+AMPL,
  TPROD), grouped in a layout div with the caption bound to the figure.
- Included only the 14 images the document references.

Verified: validate_qmd_files.py passes and quarto render produces HTML
and PDF without errors.
docs: add MRVPP ATBD v2 document
Add the cleaned and reformatted Medium Resolution Vegetation Phenology and Productivity (MR-VPP) Product User Manual under DOCS/MRVPP/MRVPP_PUM_v1, converted from the source document.
docs: add MR-VPP Product User Manual v1
Restore Figure 9's caption as an inline figure caption. It had been left
as a bare image followed by a label table and an italic paragraph, which
put the caption out of reach of the build's promote_bare_captions rewrite
(it only folds a caption into an immediately adjacent empty-alt image),
so it would have rendered as ordinary body text in HTML and the PDF. The
a)/b) panel labels move into the caption, matching Figures 10-12.

Also reformat the applicable/reference document lists as tables, tidy
BOX code blocks, and clean doubled-DOI and stray endnote-manager URLs in
the reference list.
Align the PUM frontmatter with the ATBD, which already credits the
European Environment Agency as author.
Renamed DOCS/MRVPP/MRVPP-ATBD_v2/ -> DOCS/MRVPP/MRVPP_ATBD_v2/ (folder,
.qmd, and -media/ folder) so the ATBD matches the underscore-separated
naming already used by the sibling MRVPP_PUM_v1 document. Updated the
14 internal media-path references inside the .qmd accordingly.

Not yet published to main/gh-pages, so no public URL is broken by this
rename.
fix: align MR-VPP ATBD filename separator with PUM
ATBD: drop a duplicated header row from the middle of the Table 1
HTML block. PUM: blank line after each table caption so the caption
div closes before the pipe table, and tag the gdal_calc.py block as
bash.
pdf2md extraction included the figure caption inside the image
bounding box and clipped it at the bottom edge, so the tail of the
baked-in text bled through above the real Quarto figcaption.

Cropped the truncated caption band from 7 PNGs (ATBD Figures 2, 4, 5,
6, 7; PUM Figures 3, 4), keeping the original whitespace gap as the
bottom margin. Pixel data above the cut is unchanged; sizes drop
because png::writePNG re-compresses.

All 21 media files in both documents were screened; the reliable
signature is ink present in the final pixel row.
pdf2md appended a second image link to Figure 7's, pointing at the
same file with the extractor's placeholder text as its caption, so
Figure 7's map rendered twice. No body text references a Figure 8;
Figure 7 is the document's last figure.
fix: remaining MR-VPP PUM figure defects
@MatMatt
MatMatt requested a review from mckeea as a code owner July 28, 2026 04:09
@MatMatt MatMatt closed this Jul 28, 2026

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 51b6c3d79f

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

@@ -0,0 +1,930 @@
---

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P1 Badge Keep published QMD filenames stable

This replaces the published CLMS_PUM_HRLSLF_v1.qmd URL, and the same commit renames both CLC+Core_User_Manual... QMDs. A repo-wide search found no references or redirects for the old names, while update_url_mappings.py starts with an empty mapping on a fresh CI checkout, so existing HTML/PDF links will return 404. Revise these documents under their original filenames or add persistent redirects before renaming them.

AGENTS.md reference: AGENTS.md:L128-L131

Useful? React with 👍 / 👎.

author: "Copernicus Land Monitoring Service"
date: 2026-07-16
category: non-browsable
type: dashboard

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P1 Badge Reconcile type with the source-frontmatter contract

The dashboard depends on this author-supplied field, but the canonical contract says source frontmatter contains exactly title, subtitle, category, date, and optional author, with every other field forbidden. This leaves the new document-type feature contradictory: agents following the contract will remove or refuse type, after which the dashboard falls back to the ordinary document configuration and regains PDF/GFM, TOC, contact, version, and changelog output. Either make type pipeline-derived or update the canonical contract as part of this feature.

AGENTS.md reference: AGENTS.md:L65-L76

Useful? React with 👍 / 👎.


# resume: a completed .qmd means this file is done. checked before estimating
# so a resume run doesn't even estimate files it'll skip.
if out_dir.exists() and (out_dir / f"{stem}.qmd").exists() and not force:

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 Badge Resume only conversions that actually completed

When a run fails after Phase 2 has written the QMD—for example because table fixing, Quarto invocation, or verification raises—the exception records status="fail", but the next normal invocation treats the mere presence of that partial QMD as completed and returns ok without rerunning the failed stages. Resume should inspect the persisted result/status or require all requested terminal artifacts rather than using QMD existence alone.

Useful? React with 👍 / 👎.

tracked = (entry or {}).get("current_version")

if tracked and tracked.split(".")[0] == str(major):
if tracked and (mj is None or tracked.split(".")[0] == str(mj)):

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 Badge Preserve tracked 1.x versions for _v0 documents

For a _v0.qmd source, the new floor correctly computes baseline_major == 1, and the version updater can subsequently track values such as 1.0.1; however, this condition still compares that tracked major against the raw filename major 0. Every build therefore rejects the tracked value and emits 1.0.0, losing all minor and patch bumps for the legacy _v0 case this change explicitly supports. Compare against baseline_major instead.

AGENTS.md reference: AGENTS.md:L92-L93

Useful? React with 👍 / 👎.


# Drop .llms.md for llms-off types (dashboard), before the llm sitemap so it
# falls back to the HTML URL.
python3 ../.github/scripts/build/strip_llms_sidecars.py . _site

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 Badge Run the new post-render LLMS cleaner

The newly added clean_llms_md.py documents that Quarto injects residual <div> wrappers after Pandoc filters run, but the inspected build-docs.sh post-render sequence only strips disabled sidecars and never invokes that cleaner. Consequently every deployed .llms.md companion still contains the wrapper noise that the new script was introduced to remove before RAG ingestion; call it on _site before generating the LLM sitemap.

Useful? React with 👍 / 👎.

@MatMatt
MatMatt deleted the develop branch July 28, 2026 04:15
@mckeea
mckeea restored the develop branch July 28, 2026 07:55
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants