Source code for pycif.plugins.transforms.basic.vertical_interpolation.forward
import copy
from logging import warning
import numpy as np
import pandas as pd
import xarray as xr
from .....utils.classes.domains import Domain
try:
import cPickle as pickle
except ImportError:
import pickle
from .utils.array.forward import array_forward
from .utils.sparse.forward import sparse_forward
[docs]
def forward(
transf,
inout_datastore,
controlvect,
obsvect,
mapper,
di,
df,
mode,
runsubdir,
workdir,
onlyinit=False,
save_debug=False,
**kwargs
):
ddi = min(di, df)
for trid in mapper["outputs"]:
is_sparse_out = mapper["outputs"][trid].get("sparse_data", False)
is_sampled_out = mapper["outputs"][trid]["sampled"]
# is_sparse_in = mapper["inputs"][trid].get("sparse_data", False)
# is_sampled_in = mapper["inputs"][trid]["sampled"]
# WARNING: for sparse data as targets, do nothing at the moment
if is_sparse_out or is_sampled_out:
sparse_forward(transf, mapper, inout_datastore,
trid, ddi, onlyinit, mode, **kwargs)
continue
# Deal with full data
inout_datastore["outputs"][trid] = {ddi: {}}
array_forward(transf, mapper, inout_datastore,
trid, ddi, mode, onlyinit, **kwargs)