def METHOD_NAME(osmid, tags, ref):
    """Add a new river to the list of rivers."""
    if 'waterway' in tags:
        settingsSection = Settings.get_section('waterway', tags['waterway'])
        if settingsSection is None:
            return
        river = River()
        river.OSMID = osmid
        river.type = tags['waterway']
        river.ref = ref
        if 'name' in tags:
            river.name = clean_string(tags['name'])
        if 'width' in tags:
            river.width = extract_float_from_string(tags['width'])
        elif Settings.has_option(settingsSection, 'width'):
            river.width = Settings.getfloat(settingsSection, 'width')
        if WebotsObject.enable3D:
            river.ref = River.add_intermediate_point_where_needed(river.ref)
        River.list.append(river)