def Open(pathfileext=None,
         shot=None, t=None, Dt=None, Mesh=None, Deg=None, Deriv=None,
         Sep=True, Pos=True, OutPath=None, ReplacePath=None, Ves=None,
         out='full', Verb=False, Print=True):
    """ Open a ToFu object saved file

    This generic open function identifies the required loading routine by detecting how the object was saved from the file name extension.
    Also, it uses :meth:`~tofu.pathfile.FindSolFile()` to identify the relevant file in case key criteria such as shot, Deg... are provided instead of the file name itself.
    Finally, once all the relevant data is loaded from the file, a ToFu object is re-created, if necessary by implicitly loading all other objects it may depend on (i.e.: vessel, apertures...)

    If pathfileext is not provided (None), then the following keyword arguments are fed to :meth:`~tofu.pathfile.FindSolFile()`: shot, t, Dt, Mesh, Deg, Deriv, Sep, Pos

    Parameters
    ----------
    pathfileext :   None / str
        If provided, the name of the file to load
    OutPath :       None / str
        If provided, the absolute path where the file is to be found
    ReplacePath :   str
        If provided, ? (to finish)
    Ves :           None /
        If provided, the :class:`tofu.geom.Ves` object that shall be used to reconstruct the object (if not provided, the appropriate vessel will be loaded).
    out :           str
        Flag indicating whether the object should be loaded completely ('full'), in a light dismissing the heaviest attributes ('light') or whether only the Id or a list of Id should be returned ('Id'), valid only for '.npz'
    Verb :          bool
        Flag indicating whether to pring intermediate comments on the loading procedure

    Returns
    -------
    obj             ToFu object
        The loaded and re-created ToFu object

    """
    assert None in [pathfileext,shot] and not (pathfileext is None and shot is None), "Arg pathfileext or shot must be None, but not both !"
    if pathfileext is None:
        File = FindSolFile(shot=shot, t=t, Dt=Dt, Mesh=Mesh, Deg=Deg,
                           Deriv=Deriv, Sep=Sep, Pos=Pos, OutPath=OutPath)
        if File is None:
            return File
        pathfileext = os.path.join(OutPath,File)
    C = any([ss in pathfileext for ss in ['.npz']])
    assert C, "Arg pathfileext must contain '.npz' !"

    if '.npz' in pathfileext:
        obj = _open_np(pathfileext, Ves=Ves, ReplacePath=ReplacePath,
                       out=out, Verb=Verb, Print=Print)
    if Print:
        print("Loaded :  "+pathfileext)
    return obj
Open a ToFu object saved file

    This generic open function identifies the required loading routine by detecting how the object was saved from the file name extension.
    Also, it uses :meth:`~tofu.pathfile.FindSolFile()` to identify the relevant file in case key criteria such as shot, Deg... are provided instead of the file name itself.
    Finally, once all the relevant data is loaded from the file, a ToFu object is re-created, if necessary by implicitly loading all other objects it may depend on (i.e.: vessel, apertures...)

    If pathfileext is not provided (None), then the following keyword arguments are fed to :meth:`~tofu.pathfile.FindSolFile()`: shot, t, Dt, Mesh, Deg, Deriv, Sep, Pos

    Parameters
    ----------
    pathfileext :   None / str
        If provided, the name of the file to load
    OutPath :       None / str
        If provided, the absolute path where the file is to be found
    ReplacePath :   str
        If provided, ? (to finish)
    Ves :           None /
        If provided, the :class:`tofu.geom.Ves` object that shall be used to reconstruct the object (if not provided, the appropriate vessel will be loaded).
    out :           str
        Flag indicating whether the object should be loaded completely ('full'), in a light dismissing the heaviest attributes ('light') or whether only the Id or a list of Id should be returned ('Id'), valid only for '.npz'
    Verb :          bool
        Flag indicating whether to pring intermediate comments on the loading procedure

    Returns
    -------
    obj             ToFu object
        The loaded and re-created ToFu object