def get_unchanged(src_list, npred_dict_new,
                  npred_dict_old,
                  npred_threshold=1e4,
                  frac_threshold=0.9):
    """Compare two dictionarys of npreds, and get the list of sources
    than have changed less that set thresholds

    Parameters
    ----------

    src_list : list
        List of sources to examine

    npred_dict_new : dict
        Dictionary mapping source name to npred for the current weights file

    npred_dict_old : dict
        Dictionary mapping source name to npred for the previous weights file

    npred_threshold : float
        Minimum value of npred above which to consider sources changed

    frac_threshold : float
        Value of npred_old / npred_new above which to consider sources unchanged


    Returns
    -------

    l : list
       Names of 'unchanged' sources

    """
    o = []
    for s in src_list:
        npred_new = npred_dict_new[s]
        if npred_new < npred_threshold:
            o += [s]
            continue
        if npred_dict_old is None:
            npred_old = 0.
        else:
            npred_old = npred_dict_old[s]
        frac = npred_old / npred_new
        if frac > frac_threshold:
            o += [s]
    return o