Source code for pycif.plugins.transforms.complex.conc2ratio.utils
import pandas as pd
[docs]
def propagate_incompatible_input_dates(self, trans_mapper, trid_in, mode="backward"):
# Modify input dates as concatenation of output dates
input_dates = {}
list_ddi = []
for trid_out in trans_mapper["outputs"]:
input_dates[trid_out] = trans_mapper["outputs"][trid_out].get(
"input_dates", {})
list_ddi.extend(input_dates[trid_out].keys())
# Stop here if all output dates are empty
if list_ddi == []:
return
new_input_dates = {
ddi: pd.concat(
[input_dates[trid_out].get(ddi, pd.DataFrame())
for trid_out in input_dates], axis=0)
for ddi in set(list_ddi)
}
trans_mapper["inputs"][trid_in]["input_dates"] = new_input_dates
# Now update subsimulations
trans_mapper["subsimus"] = {
ddi: {
"inputs": {
trid_in: {ddi: []}
for trid_in in trans_mapper["inputs"]
},
"outputs": {
trid_out: {
ddi: []
}
for trid_out in trans_mapper["outputs"]
if ddi in trans_mapper["outputs"][trid_out].get("input_dates", {})
}
}
for ddi in new_input_dates}