def field_valid(field):
    """
    Utility to exclude fields not user added
    :param field: arcpy field object
    :return: boolean
    """
    # exclude object id
    if field.type == 'OID':
        return False

    # exclude global id field
    elif field.type == 'GlobalID':
        return False

    # exclude the geometry field
    elif field.type == 'Geometry':
        return False

    # exclude the autogenerated length field
    elif field.name == 'Shape_Length':
        return False

    # exclude the autogenerated area field
    elif field.name == 'Shape_Area':
        return False

    # exclude the reach id feature class...if it is needed, add it explicitly
    elif field.name == 'reach_id':
        return False

    # if it falls through this far, it must be good to go
    else:
        return True