def METHOD_NAME(self, table):
    """
    Initialise polar
    Args:
        table (np.ndarray): 4-column array containing ``aoa`` (rad), ``cl``, ``cd`` and ``cm``
    """
    # Store the table
    if (np.diff(table[:, 0]) > 0.).all():
        self.table = table[~np.isnan(table).any(axis=1), :]
    else:
        raise RuntimeError("ERROR: angles of attack not ordered")
    # Look for aoa where CL=0
    npoints = self.table.shape[0]
    matches = []
    for ipoint in range(npoints - 1):
        if self.table[ipoint, 1] == 0.:
            matches.append(self.table[ipoint, 0])
        elif (self.table[ipoint, 1] < 0. and self.table[ipoint + 1, 1] > 0):
        # elif ((self.table[ipoint, 1] < 0. and self.table[ipoint + 1, 1] > 0) or
        #       (self.table[ipoint, 1] > 0. and self.table[ipoint + 1, 1] < 0)):
            if (self.table[ipoint, 0] <= 0.):
                matches.append(np.interp(0,
                                         self.table[ipoint:ipoint+2, 1],
                                         self.table[ipoint:ipoint+2, 0]))
            # else:
            #     print("WARNING: Be careful negative camber airfoil not supported")
    iaoacl0 = 0
    aux = np.abs(matches[0])
    for imin in range(len(matches)):
        if np.abs(matches[imin]) < aux:
            aux = np.abs(matches[imin])
            iaoacl0 = imin
    self.aoa_cl0_deg = matches[iaoacl0]
    self.cl_interp = interp1d(self.table[:, 0], self.table[:, 1])
    self.cd_interp = interp1d(self.table[:, 0], self.table[:, 2])
    self.cm_interp = interp1d(self.table[:, 0], self.table[:, 3])