def METHOD_NAME(
    self, rox, gname, bwname, wname, lognames, ijk, realisation
):  # pylint: disable=too-many-statements
    """Private function for ROXAPI well import (get well from Roxar)"""
    if gname in rox.project.grid_models:
        gmodel = rox.project.grid_models[gname]
        logger.info("RMS grid model <%s> OK", gname)
    else:
        raise ValueError(f"No such grid name present: {gname}")
    if bwname in gmodel.blocked_wells_set:
        bwset = gmodel.blocked_wells_set[bwname]
        logger.info("Blocked well set <%s> OK", bwname)
    else:
        raise ValueError(f"No such blocked well set: {bwname}")
    if wname in bwset.get_well_names(realisation=realisation):
        self._wname = wname
    else:
        raise WellNotFoundError(f"No such well in blocked well set: {wname}")
    # pylint: disable=unnecessary-comprehension
    bwprops = [item for item in bwset.properties]
    bwnames = [item.name for item in bwset.properties]
    bw_cellindices = bwset.get_cell_numbers(realisation=realisation)
    dind = bwset.get_data_indices([wname], realisation=realisation)
    cind = bw_cellindices[dind]
    xyz = np.transpose(gmodel.get_grid(realisation=realisation).get_cell_centers(cind))
    logs = OrderedDict()
    logs["X_UTME"] = xyz[0].astype(np.float64)
    logs["Y_UTMN"] = xyz[1].astype(np.float64)
    logs["Z_TVDSS"] = xyz[2].astype(np.float64)
    if ijk:
        ijk = np.transpose(
            gmodel.get_grid(realisation=realisation).grid_indexer.get_indices(cind)
        )
        logs["I_INDEX"] = ijk[0].astype(np.float64)
        logs["J_INDEX"] = ijk[1].astype(np.float64)
        logs["K_INDEX"] = ijk[2].astype(np.float64)
    usenames = []
    if lognames and lognames == "all":
        usenames = bwnames
    elif lognames:
        usenames = lognames
    for bwprop in bwprops:
        lname = bwprop.name
        if lname not in usenames:
            continue
        propvalues = bwprop.get_values(realisation=realisation)
        tmplog = propvalues[dind].astype(np.float64)
        tmplog = npma.filled(tmplog, fill_value=np.nan)
        tmplog[tmplog == -999] = np.nan
        if "discrete" in str(bwprop.type):
            self._wlogtypes[lname] = "DISC"
            self._wlogrecords[lname] = bwprop.code_names
        else:
            self._wlogtypes[lname] = "CONT"
            self._wlogrecords[lname] = None
        logs[lname] = tmplog
    self._df = pd.DataFrame.from_dict(logs)
    self._gname = gname
    self._filesrc = None
    # finally get some other metadata like RKB and topside X Y; as they
    # seem to miss for the BW in RMS, try and get them from the
    # well itself...
    if wname in rox.project.wells:
        self._rkb = rox.project.wells[wname].rkb
        self._xpos, self._ypos = rox.project.wells[wname].wellhead
    else:
        self._rkb = None
        self._xpos, self._ypos = self._df["X_UTME"][0], self._df["Y_UTMN"][0]