pycif.plugins.transforms.basic.families — API reference#
Configuration reference: families plugin
- pycif.plugins.transforms.basic.families.adjoint.adjoint(transform, inout_datastore, controlvect, obsvect, mapper, di, df, mode, runsubdir, workdir, onlyinit=False, **kwargs)[source]#
Broadcast the output sensitivity to all input tracers.
The adjoint of summation: each input tracer gets a copy of the output sensitivity
adj_out(since \(\partial(\sum x_i)/\partial x_j = 1\) for all \(j\)). For sparse data, theparametermetadata field is updated to the input tracer name.- Parameters:
transform (Plugin) – families instance.
inout_datastore (dict) – mutable datastore.
controlvect – unused.
obsvect – unused.
mapper (dict) – transform mapper.
di (datetime) – sub-simulation start date.
df (datetime) – unused.
mode (str) –
'adj'.runsubdir (str) – unused.
workdir (str) – unused.
onlyinit (bool) – if
True(non-sparse), return immediately.**kwargs – unused.
- pycif.plugins.transforms.basic.families.forward.forward(transform, inout_datastore, controlvect, obsvect, mapper, di, df, mode, runsubdir, workdir, onlyinit=False, **kwargs)[source]#
Sum multiple input tracers into a single output tracer.
For gridded (array) data:
out["spec"] = sum(in_i["spec"] for i). For sparse (DataFrame) data:out["spec"] = sum(in_i["spec"] for i)row-wise using the first input as the template DataFrame. In TL mode the same summation is applied to'incr'.Supports ensemble (batch sampling)
__sample#Nnaming by routing each sample’s inputs to its matching output.- Parameters:
transform (Plugin) – families instance.
inout_datastore (dict) – mutable datastore.
controlvect – unused.
obsvect – unused.
mapper (dict) – transform mapper (carries
outputs2inputsfor ensemble routing andsparse_dataflag).di (datetime) – sub-simulation start date.
df (datetime) – unused.
mode (str) –
'fwd'or'tl'.runsubdir (str) – unused.
workdir (str) – unused.
onlyinit (bool) – if
Trueand sparse data, return immediately.**kwargs – unused.