ToolPythonIntermediate Continuous wavelet transform with PyWavelets: when El Niño went quiet cs = ax.contourf(t, periods, np.log2(power), levels=np.arange(-1, 5), extend="both", cmap="cividis")
ToolPythonIntermediate Parallel runs with concurrent.futures: a parameter sweep on every core y_ticks = 2.0 ** np.arange(np.floor(np.log2(short_speedup.min())), np.ceil(np.log2(k[-1])) + 1)