Version: dev

Streaming writer

Streaming a run's output into a sharded Zarr v3 store: region writes from many ranks without a gather, commit tokens delivered to one owner, indexed records, statics, blobs, read-back and resume.

OperationKindBindingsSummary
read_blobfunctionJulia, RustRead the committed blob key of writer under scope (:static or (:record, i)).
read_output_manifestfunctionJulia, RustRead a store’s output manifest.
read_recordfunctionJulia, RustRead committed record index of streaming variable var straight from the store (a directory or file:// URL; never through the cache).
read_staticfunctionJulia, RustRead the committed static name (dims order, region-sized, stored dtype).
schema_fingerprintfunctionJulia, RustThe stream-schema fingerprint of spec/writer.md §3.1: the sha256 of the canonical JSON of dims (time length 0 in append mode, n_records in indexed mode), time_dim,…
write_blobfunctionJuliaStore a small rank-local payload: scope is :static or (:record, i).
write_closefunctionJuliaFlush any pending data and finalize: a :single writer commits and rewrites the manifest; the owner commits its own token plus the other writers’ tokens; a contributor only…
write_commitfunctionJuliaOwner only: verify one token per writer (spec/writer.md §5.3) and commit them; raises [CommitError] (writing nothing) when they do not tile the store.
write_flushfunctionJuliaWrite every dirty shard of this writer’s region and return the token naming what was written since the last token.
write_invalidatefunctionJuliaOwner/single, indexed mode: mark committed records uncommitted so they may be rewritten (bumps commit_seq).
write_openfunctionJuliaOpen an output store at base_url and return an opaque write handle threaded through the other write_* calls.
write_recordfunctionJuliaAppend ONE time record (append mode): t is the time coordinate value, arrays maps each variable this writer supplies to its gridded Array (the variable’s non-time dims, in…
write_record_atfunctionJuliaWrite record index (0-based) in indexed mode, in any order; t must equal the schema’s times[index] bitwise.
write_resumefunctionJuliaReopen a store after preemption (spec/writer.md §7); in append mode committed records with t > at are discarded.
write_staticfunctionJuliaWrite the time-less variable name (region-shaped when it is partitioned, full shape when replicated — owner/single only).
commit_receipttypeRustWhat a successful commit did.
commit_tokentypeJulia, RustWhat one writer wrote since its previous token (spec/writer.md §5.2), returned by [write_flush!] and handed (by the caller — EarthSciIO is MPI-free) to the owner’s…
indexed_timetypeJulia, RustThe indexed time mode (spec/writer.md §6.2): the time axis has a fixed length n_records = length(times) from [write_open!], the owner writes times as the time coordinate…
regiontypeRustA block of the non-time dims, dim → start..stop (0-based, half-open).
stream_schematypeJulia, RustThe input to [write_open!] — a plain struct in this repo (the EarthSciAST OutputSchema maps onto it at the binding layer; no EarthSciAST dependency here).
stream_writertypeJulia, RustThe zarr streaming writer (sharded Zarr v3).
writer_roletypeRustA writer’s role in a store (spec/writer.md §5).

All topics