Source code for pycif.plugins.transforms.system.loadfromoutputs.forward
import pandas as pd
[docs]
def forward(
transform,
inout_datastore,
controlvect,
obsvect,
mapper,
di,
df,
mode,
runsubdir,
workdir,
do_simu=True,
onlyinit=False,
check_transforms=False,
**kwargs
):
datastore = inout_datastore["inputs"]
ds = {}
for trid in mapper["inputs"]:
input_type = trid[0]
# If input parameter is '',
# load all available parameters of this component
if trid[1] == "":
toload = [t for t in datastore if t[0] == input_type]
# Otherwise simply loads the parameter
else:
toload = [trid]
# Create new data to dump
data2load = {t: datastore.get(t, {}) for t in toload}
data2load = transform.outputs2native(
data2load, input_type, di, df, runsubdir, mode,
onlyinit=onlyinit, check_transforms=check_transforms,
)
# De-aggregate if data were coming from several transforms
for tr in data2load:
ds[tr] = {}
for di in datastore[tr]:
ds[tr][di] = data2load[tr]
# Update outputs and inputs as well
inout_datastore["outputs"].update(ds)
inout_datastore["inputs"].update(ds)