def compare_solutions(dict_1, dict_2, keys):
    """
    Compare solution obtained from NEMDE approximation with observed NEMDE
    solution. Keys and values in dict_1 are used as the basis. For each key
    specified in 'keys' the model and acutal NEMDE solution is compared. Keys
    in dict_1 but not in 'keys' have their value set corresponding values in
    dict_1.

    Parameters
    ----------
    dict_1 : dict
        Model solution

    dict_2 : dict
        NEMDE solution

    keys : list
        Keys on which to compare solution.
    """

    # Container for output
    out = {}
    for k, v in dict_1.items():
        if k in keys:
            out[k] = {
                'model': v,
                'actual': float(dict_2[k]),
                'difference': v - float(dict_2[k]),
                'abs_difference': abs(v - float(dict_2[k]))
            }
        else:
            out[k] = v

    return out