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

import os
from logging import info
from .....utils import path


[docs] def forward( transform, inout_datastore, controlvect, obsvect, mapper, di, df, mode, runsubdir, workdir, do_simu=True, onlyinit=False, **kwargs ): overwrite = getattr(transform, 'overwrite') # Forwarding data for next transforms ddi = min(di, df) for trid in mapper["outputs"]: inout_datastore["outputs"][trid][ddi] = \ inout_datastore["inputs"][trid][ddi] # Output directory out_dir = getattr(transform, 'dump_dir', runsubdir) if not os.path.isdir(out_dir): path.init_dir(out_dir) # Now dump the data datastore = inout_datastore["inputs"] for trid in mapper["inputs"]: name = trid[1] file_name = ddi.strftime(os.path.join(out_dir, transform.dump_file)) if os.path.isfile(file_name) and not overwrite: info(f"'{file_name}' already exists, skipping {trid} dumping") else: info(f"Dumping {trid} to '{file_name}'") transform.dump_plg.write( name, file_name, datastore[trid][ddi]["spec"], metadata=mapper["inputs"][trid] )