def METHOD_NAME(first, other):
    """Determine if two ssr files are compatible for combining together.
    Parameters
    ----------
    first, other : SurfSrc objects
        Two ssr files to be compared.
    Returns
    -------
    int
        0 if all comparisons are valid, else the result of cmp() which was
        determined to be invald.
    """
    # Same code version/build used
    if other.kod != first.kod:  # code name
        return cmp(other.kod, first.kod)
    if other.ver != first.ver:  # major code version
        return cmp(other.ver, first.ver)
    if other.loddat != first.loddat:  # code version date
        return cmp(other.loddat, first.loddat)
    # Particle type
    if other.mipts != first.mipts:  # par type
        return cmp(other.mipts, first.mipts)
    # Geometry features
    if other.njsw != first.njsw:  # num of surfaces
        return cmp(other.njsw, first.njsw)
    if other.niwr != first.niwr:  # cells
        return cmp(other.niwr, first.niwr)
    if other.kjaq != first.kjaq:  # macrobody facet flag
        return cmp(other.kjaq, first.kjaq)
    for surf in range(len(first.surflist)):
        if other.surflist[surf].id != first.surflist[surf].id:
            # ID doesn't match
            return cmp(other.surflist[surf].id, first.surflist[surf].id)
        if other.surflist[surf].facet_id != first.surflist[surf].facet_id:
            # facet_id doesn't match
            return cmp(other.surflist[surf].facet_id, first.surflist[surf].facet_id)
        if other.surflist[surf].type != first.surflist[surf].type:
            # type doesn't match
            return cmp(other.surflist[surf].type, first.surflist[surf].type)
        if other.surflist[surf].num_params != first.surflist[surf].num_params:
            # num_params ddoesn't match
            return cmp(other.surflist[surf].num_params, first.surflist[surf].num_params)
        if other.surflist[surf].surf_params != first.surflist[surf].surf_params:
            # surf_params doesn't match
            return cmp(
                other.surflist[surf].surf_params, first.surflist[surf].surf_params
            )
    return 0