def load(fl, normalise=False):
    """
    load airfoil

    args:
        fl (str): filename

    kwargs:
        normalise (bool): flag determining whether the airfoil is normalised to
        unit length

    returns:
        [(x,y),...] airfoil point coordinates

    """
    d = []
    print("loading airfoil %s" % fl)
    for i in open(fl, "r").readlines():
        try:
            xy = [float(j) for j in i.split()]
            if len(xy) in [2, 3]:
                d.append(xy)
        except:
            pass
    x, y = list(zip(*d))
    if normalise:
        mx = min(x)
        dx = max(x) - min(x)
        print("normalise factor %f" % dx)
        x = [(i - mx) / dx for i in x]
        y = [i / dx for i in y]

    return list(zip(x, y))