Source code for pycif.plugins.transforms.system.dump2inputs.forward

from ....models.satwetch4.io.native2inputs import native2inputs as satwet_native2inputs


[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"] trids_in = list(mapper["inputs"].keys()) # Retrieve reference configuration if batch sampling trids_in_ref = list(set( [(trid[0], trid[1].split("__sample#")[0]) for trid in trids_in])) for trid in trids_in_ref: input_type = trid[0] trids2dump = [ tr for tr in trids_in if tr[1].split("__sample#")[0] == trid[1] ] # Create new data to extract data2dump = { tr: {"data": datastore.get(tr, {di: {}}), **mapper["inputs"][tr]} for tr in trids2dump } # If the model does not need to compute a simulation, # just skip this step transform.native2inputs( data2dump, input_type, di, df, runsubdir, mode, onlyinit, do_simu, check_transforms=check_transforms ) # Dumping data from the datastore for t in data2dump: if t not in datastore: continue if "spec" in datastore[t][di]: del datastore[t][di]["spec"] if "incr" in datastore[t]: del datastore[t][di]["incr"] # Update outputs for t in trids2dump: inout_datastore["outputs"][t].update(data2dump[t]["data"])