def remove_states(sys, dE):
    """
    Remove the states with energy dE larger than the ground state
    for the transport calculations.

    Parameters
    ----------
    sys : Approach, Approach2vN, or Builder
        The system given as Approach, Approach2vN, or Builder object.
    dE : float
        Energy above the ground state.

    Modifies:
    sys.si.statesdm : list
        List containing indices of many-body state under consideration.
    """
    Emax = min(sys.qd.Ea) + dE
    statesdm = [[] for i in range(sys.si.nsingle + 1)]
    for charge in range(sys.si.ncharge):
        for b in sys.si.chargelst[charge]:
            if sys.qd.Ea[b] < Emax:
                statesdm[charge].append(b)
    sys.si.set_statesdm(statesdm)
