def _plot_relative_error(ax, error: ma.MaskedArray, ax_values: tuple): pl = ax.pcolorfast(*ax_values, error[:-1, :-1].T, cmap="RdBu", vmin=-30, vmax=30) colorbar = _init_colorbar(pl, ax) colorbar.set_label("%", fontsize=13) median_error = ma.median(error.compressed()) median_error = np.round(median_error, 3) ax.set_title(f"Median relative error: {median_error} %", fontsize=14)
def _unwrap_ma(x: ma.MaskedArray): idx = ma.array(np.arange(0, x.shape[0]), mask=x.mask) idxc = idx.compressed() xc = x.compressed() dd = np.diff(xc) ddmod = np.mod(dd + np.pi, 2 * np.pi) - np.pi ddmod[(ddmod == -np.pi) & (dd > 0)] = np.pi phc_correct = ddmod - dd phc_correct[np.abs(dd) < np.pi] = 0 ph_correct = np.zeros(x.shape) ph_correct[idxc[1:]] = phc_correct up = x + ph_correct.cumsum() return up