Source code for pycif.plugins.models.chimere.io.outputs2native_adj
from .inputs.make_obs import make_obs
from .inputs.make_endconcs import make_endconcs
[docs]
def outputs2native_adj(
self, data2dump, input_type, di, df, runsubdir, mode="fwd",
dump=True, onlyinit=False, do_simu=True, check_transforms=False, **kwargs
):
"""Reads outputs to pyCIF objects.
If the mode is 'fwd' or 'tl', only observation-like outputs are extracted.
For the 'adj' mode, all outputs relative to model sensitivity are extracted.
Dumps to a NetCDF file with output concentrations if needed"""
ddi = min(di, df)
ddf = max(di, df)
# Manage endconcs
for trid in data2dump:
mod_input = trid[0]
if mod_input == "endconcs":
if not onlyinit:
make_endconcs(
self, data2dump, runsubdir, mode, ddi, ddf,
onlyinit=onlyinit,
check_transforms=check_transforms
)
# Now manage other inputs
data2dump_tmp = {
trid[1].replace("__sample#", ""): data2dump[trid][ddi]
for trid in data2dump
if trid[0] != "endconcs"
}
list_trcr = [
trid[1].replace("__sample#", "")
for trid in data2dump
if trid[0] != "endconcs"
]
# Make obs.txt
make_obs(
self, ddi, data2dump_tmp,
runsubdir, "fwd" if onlyinit else "adj",
list_trcr, input_type, do_simu)