Version: dev

Flatten

Turning a coupled document into a single system of variables and equations, and the errors coupling can raise.

OperationKindBindingsSummary
flattenfunctionJulia, TypeScript, Python, Rust, GoFlatten the coupled systems in file into a single symbolic representation per spec §4.7.5 (+ §4.7.6 for hybrid dimension-promoted cases).
flatten_template_registriesfunctionTypeScript, PythonThe flatten-time template-registry merge (esm-spec §9.6.4 rule 7, §10.7; esm-libraries-spec §4.7.5 step 4).
flatten_with_optionsfunctionRust, GoFlatten with explicit CouplingImportOptions controlling how coupling_import refs resolve (esm-spec §10.10.3).
flatten_metadatatypeJulia, TypeScript, Python, Rust, GoProvenance metadata for a flattened system.
flattened_equationtypeTypeScript, Python, GoA single equation of the flattened system, with dot-namespaced Expression TREES.
flattened_systemtypeJulia, TypeScript, Python, Rust, GoA coupled ESM file flattened into a single symbolic representation.
flattened_variabletypeTypeScript, Python, GoOne variable of the flattened system, carrying the COMPLETE declared metadata step 4 requires (“Full metadata, not names”): a consumer must be able to build a solver problem from…
conflicting_derivative_errorerrorJulia, TypeScript, Python, GoRaised when a species appears both as the left-hand side of an explicit differential equation (D(X, t) = ...) and as a substrate or product of any reaction in the same…
couple_multiplicative_no_tendency_errorerrorTypeScript, Python, GoA couple connector equation with transform: "multiplicative" targets something with no tendency to multiply.
cyclic_promotion_errorerrorJulia, PythonDefined for cross-language error-name parity.
dimension_promotion_errorerrorJulia, TypeScript, Python, GoRaised during flatten when a variable or equation cannot be promoted from its source domain to the target domain given the available Interface rules (§4.7.6).
domain_extent_mismatch_errorerrorJulia, PythonDefined for cross-language error-name parity with the Rust FlattenError taxonomy and the Python flatten() exception set.
domain_unit_mismatch_errorerrorJulia, TypeScript, PythonRaised when coupling across an Interface requires a unit conversion that was not declared by the user (§4.7.6).
flatten_errorerrorTypeScript, Python, RustBase class for every error flatten raises.
operator_compose_ambiguous_bare_name_errorerrorJulia, TypeScript, Python, GoRaised when the bare-name fallback would unify two STATE variables and the document has not said which spelling survives (esm-libraries-spec §4.7.1 step 3).
operator_compose_no_merge_errorerrorJulia, TypeScript, Python, GoRaised when an operator_compose entry merges NOTHING (esm-libraries-spec §4.7.1 step 5).
operator_compose_require_match_errorerrorJulia, TypeScript, Python, GoRaised when an operator_compose entry declares require_match: true and one of systems[2]’s equations found no equation of systems[1] to land on (esm-libraries-spec §4.7.1…
slice_out_of_domain_errorerrorJulia, PythonDefined for cross-language error-name parity; only raised if slice is ever implemented at a higher tier in the Julia flatten pipeline.
unmapped_domain_errorerrorJulia, PythonRaised when two systems on different domains are coupled without an Interface that defines their dimension mapping (§4.7.6).
unsupported_mapping_errorerrorJulia, PythonRaised when an Interface requests a dimension_mapping type or regridding strategy that is not supported by the current library tier (§4.7.6).

All topics