Skip to content

FDB-528: FamCatalogue and FamStore backends via OpenFAM / OpenFAM Mock#250

Draft
mcakircali wants to merge 111 commits intodevelopfrom
feature/FDB-528-FAM-catalogue
Draft

FDB-528: FamCatalogue and FamStore backends via OpenFAM / OpenFAM Mock#250
mcakircali wants to merge 111 commits intodevelopfrom
feature/FDB-528-FAM-catalogue

Conversation

@mcakircali
Copy link
Copy Markdown
Contributor

@mcakircali mcakircali commented Mar 16, 2026

Description

Implements FamCatalogue for FAM catalogue stack (reader/writer wiring, index persistence, engine discovery), and tests. It uses eckit::FamList and eckit::FamMap.

Persists and loads DB key from FAM map storage.
Index listing by iterating catalogue map entries.
per-DB catalogue map and global FAM DB registry.
FamIndex: lazy creation/selection and archive writes.
Flush behavior sorts index axes in batch.
Axis computation by merging axes from loaded indexes.

FamIndex: lookup, iteration, and axis reconstruction from persisted fam.
Entries in FamMap with payload:

  • timestamp
  • polymorphic FieldLocation
  • datum Key

FamEngine:
Read root FAM URI from config fam_roots.
Implements canHandle and visitableLocations via FAM registry.
Discover catalogue locations from both Key and MarsRequest queries.

Notes:
Catalogue & index map names are truncated because of OpenFAM object-name limits.
The catalogue map uses underscore-prefixed reserved keys for internal metadata filtering.
Catalogue registration is done by a global FAM registry map for engine discovery.

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.

🌈🌦️📖🚧 Documentation FDB 🚧📖🌦️🌈
https://sites.ecmwf.int/docs/fdb/pull-requests/PR-250

@mcakircali mcakircali force-pushed the feature/FDB-528-FAM-catalogue branch from a46ad53 to cd15661 Compare March 25, 2026 12:25
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.

2 participants