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)