forcing_names
Stable function · Differentiate a model
Tier: stable · Kind: function · Topic: Differentiate a model
| Julia | Python | Rust |
|---|---|---|
forcing_names | forcing_names | forcing_names |
Julia
forcing_names(sv::SysView)
forcing_names(sv::SysView, forcing)
forcing_names(sv::SysView, forcing = nothing) -> Vector{String}
The forcing set of a system, sorted by name: the parameters whose cells are
the columns of the wrt = :forcing axis (esm-jacobian-spec.md §4.3). With
forcing = nothing the set is inferred — every ARRAY-valued parameter with an
update of kind "data" (a live buffer a data provider refills). An explicit
list is what a planner that builds the providers itself passes (a document
need not declare the update), and every name in it must be a parameter of the
system: a name that resolves to no buffer throws, never yields an empty axis.
forcing may be one name (a String or Symbol) or a collection of them.
Python
forcing_names(sv: SysView, forcing=None) -> list[str]
The forcing set of a system, sorted by name: the parameters whose cells
are the columns of the wrt="forcing" axis (esm-jacobian-spec.md §4.3).
With forcing=None the set is inferred — every ARRAY-valued parameter
with an update of kind "data" (a live buffer a data provider
refills). An explicit list must name only parameters of the system: a
name that resolves to no buffer raises ValueError, never yields an
empty axis. forcing may be one name (a str) or a collection.
Rust
pub fn forcing_names(sv: &SysView<'_>, forcing: Option<&[String]>) -> Result<Vec<String>, BandError>
The forcing set of a system, sorted by name: the parameters whose cells
are the columns of the Wrt::Forcing axis (spec §4.3). With forcing = None the set is inferred — every ARRAY-valued parameter with an update
of kind "data" (a live buffer a data provider refills). An explicit list
is what a planner that builds the providers itself passes, and every name
in it must be a parameter of the system: a name that resolves to no buffer
is an error, never an empty axis.