Skip to content

Release/2.0.5#15

Merged
cristian-codorean merged 40 commits into
mainfrom
release/2.0.5
May 15, 2026
Merged

Release/2.0.5#15
cristian-codorean merged 40 commits into
mainfrom
release/2.0.5

Conversation

@cristian-codorean
Copy link
Copy Markdown
Collaborator

Description

Contributor Declaration

By opening this pull request, I affirm the following:

  • All authors agree to the Contributor License Agreement.
  • The code follows the project's coding standards.
  • I have performed self-review and added comments where needed.
  • I have added or updated tests to verify that my changes are effective and functional.
  • I have run all existing tests and confirmed they pass.

cristian-codorean and others added 30 commits March 30, 2026 12:35
…eek was wrongly checked against days of the month, instead of the day of the month.

As a consequence, generated MARS requests could end up with wrong dates, which remained unnoticed mainly due to luck.
…pdating a hardcoded list of knows roman numerals whenever there is a new subset added.
…asets scda / scwv, and od enfo / waef cf as of 50r1.
…, streams wave and waef, and missing test for already existing AIFS enfo em pl.

Because of missing representations, the new AIFS 2.0 datasets ended up matching existing IFS datasets and wrongly used their costing parameters. IFS datasets have higher resolution, so the AIFS datasets would have been greatly overestimated.
…wrongly-set entries that have been live since 2.0.0, with the default grid wrongly O1280, of N256. CAMS products have much lower resolution.
…I-iii-{a,b} representations.yaml entry into two single-dataset entries.
The (class=ai, stream=enfo, type=em, levtype=pl) combo for dataset X-vi-b is now covered by 0261.req, added in an earlier commit.
…isting representations.yaml entries, most likely added manually.
…variant fields.

LSM and Z are auxiliary metadata for the seasonal mmsf forecast, not standalone products. Modeling them as separate subsets caused a 3-way matcher ambiguity with VII-v-a; they're now costed as part of it.
Inadvertently dropped in commit 34b7eaa ("fix error with seasonal 13-months"), which is unrelated to enfo extreme probability. Without 2tl273 here, set-III-iii-b requests fail with "Request matches many sets": the request mixes params from III-iii-b and III-iii-e (which both then match), but 2tl273 itself is claimed by neither of those two matches, so the split leaves the 2tl273 fields uncovered.
…eady existing representations.yaml entries, added manually.
Replaces dataset-keyed and class-less entries with class=od/ai/mc as appropriate. Functionally equivalent in most cases.

Manually re-added `model_levels: 137` to the two enfh ml entries missing it, for now.
The regen pipeline (ecquote-tools/create-representations-yaml.sh) could not produce enfh ml entries: the hindcast block silently rewrote every retrieve to levtype=sfc, and FDB-served ml data rejects the default param=all probe. Both had to be patched up by hand-editing representations.yaml after each regen. Drop the sfc override and extend the existing param=q/z special case to enfh cf/pf ml so the sampler retrieves real ml gribs end-to-end.
XIII-iii-a/b had a bogus free_with=XIII-i-a — likely a workaround for missing EPU factors that were keyed XII-iii-a/b (typo) in epu-based.yaml. Fix the factor keys and drop the free_with so they become independent like III-iii-a/b. Also split XIII-i-a (cf+pf lumped together) into XIII-i-a (pf) plus XIII-i-a-cf, mirroring X-i-a / X-i-a-cf. Regenerated representations.yaml.
Functionally inert (wave data is sfc-only) but defensive against requests that omit levtype, and aligns the indent with the rest of the file.
Cosmetic only — reindent the CAMS XI-i-a-an / XI-i-a-fc blocks to match the file convention, plus a trailing-whitespace sweep.
Match the hyphen-only naming convention used by every other reference test file (test_XIII-i-a.req, test_VII-iii-a.req, etc.).
cristian-codorean and others added 10 commits May 14, 2026 17:37
Leftover from 34b7eaa — YAML picked the second (real) mars: block so it worked, but the dead key was misleading.
set-III-v-b's tagging file lists 8 step offsets at time=06/18 that neither the ECMWF PRC nor www.ecmwf.int advertise. Add them anyway so the tagging test passes; inline comment records the discrepancy.
Standalone enwh requests had nowhere to match — only IV-i.free_data declared them, which can't match in isolation. Mirror XX-x-o/p (weeh under VI-v-c), drop the now-redundant enwh free_data from IV-i, and add sample .req files for the representations.yaml regen.
IFS (od), CAMS (mc) and AIFS (ai) all had experimental expvers — 0080 for od/mc and 0105 for ai — which have now gone operational and no longer produce data. Any future regen of representations.yaml without a cached grib hit would fail under the old expvers. Update all 13 affected .req files under tests/representations/ to expver=0001.

representations.yaml is unchanged — the cached samples we already have remain valid for sizing.
… new od2 / o3d and fl datsets which included unexpected changes to this file.
…port for new od2 / o3d and fl datsets which included unexpected changes to this file."

This reverts commit 1f59c9e.
@cristian-codorean cristian-codorean merged commit 1746e93 into main May 15, 2026
15 checks passed
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.

1 participant