grid_plan
Stable type · Runtime I/O
Tier: stable · Kind: type · Topic: Runtime I/O
| Julia | TypeScript | Python | Rust | Go |
|---|---|---|---|---|
GridPlan | outside profile | not exported | GridPlan | outside profile |
Julia
struct GridPlan
GridPlan(dims::Vector{Pair{String, Int64}}, time_dim::String, coords::Vector{DimCoord}, vars::Vector{VarPlan})
GridPlan(dims, time_dim, coords, vars)
GridPlan(dims, time_dim, coords, vars)
One emergent grid (RFC §9): the ordered SPATIAL dims (name => length; empty
for the scalar grid — the record axis is not included, see time_dim), the
record-axis name, the grid’s CF dimension DimCoord
s, and its
VarPlan
s. The record COUNT is deliberately not part of the plan: a plan
is derived once and stays valid however many records get written.
TypeScript
Not available in TypeScript. TypeScript is outside the runtime I/O capability profile (Julia, Python, Rust): data-source providers, refresh cadence, output sinks, checkpoints.
Python
Python does not export this type.
Rust
pub struct GridPlan {
pub dims: Vec<(String, usize)>,
pub time_dim: String,
pub coords: Vec<CoordPlan>,
pub vars: Vec<VarPlan>,
}
impl GridPlan { pub fn dim_len(&self, dim: &str) -> Option<usize> }
One grid: a set of variables sharing a spatial-dim signature, with the coordinates and dimension lengths that describe it (RFC §9). The RFC’s recommended decomposition is one Sink — one store or group — per grid.
Converting to earthsciio::format::OutputSchema is mechanical:
OutputSchema::dims is [(time_dim, n_records)] followed by
Self::dims; coords is Self::coords plus a WriteCoord for the
time axis built from the output times; vars is one WriteVar per
VarPlan
whose data is VarPlan::gridding scattered across every
record. The record count is deliberately NOT part of the plan: a plan is
derived once and stays valid however many records get written.
Go
Not available in Go. Go is outside the runtime I/O capability profile (Julia, Python, Rust): data-source providers, refresh cadence, output sinks, checkpoints.