def get_rprof(step, var):
    """Extract or compute and rescale requested radial profile.

    Args:
        step (:class:`~stagpy.stagyydata._Step`): a step of a StagyyData
            instance.
        var (str): radial profile name, a key of :data:`stagpy.phyvars.RPROF`
            or :data:`stagpy.phyvars.RPROF_EXTRA`.
    Returns:
        tuple of :class:`numpy.array` and :class:`stagpy.phyvars.Varr`:
        rprof, rad, meta
            rprof is the requested profile, rad the radial position at which it
            is evaluated (set to None if it is the position of profiles output
            by StagYY), and meta is a :class:`stagpy.phyvars.Varr` instance
            holding metadata of the requested variable.
    """
    if var in step.rprof.columns:
        rprof = step.rprof[var]
        rad = None
        if var in phyvars.RPROF:
            meta = phyvars.RPROF[var]
        else:
            meta = phyvars.Varr(var, None, '1')
    elif var in phyvars.RPROF_EXTRA:
        meta = phyvars.RPROF_EXTRA[var]
        rprof, rad = meta.description(step)
        meta = phyvars.Varr(misc.baredoc(meta.description),
                            meta.kind, meta.dim)
    else:
        raise UnknownRprofVarError(var)
    rprof, _ = step.sdat.scale(rprof, meta.dim)
    if rad is not None:
        rad, _ = step.sdat.scale(rad, 'm')

    return rprof, rad, meta