docs: def surf_z(data, name):
      """Surface plot of the quasiparticle weight as fuction of U/D and dop"""
      from mpl_toolkits.mplot3d import Axes3D
      from matplotlib import cm
      from matplotlib.ticker import LinearLocator, FormatStrFormatter
  
      fig = plt.figure()
      ax = fig.gca(projection='3d')
  
      dop, u_int = np.meshgrid(data['doping'], data['u_int'])
      zmes = pick_flat_z(data)
      ax.plot_surface(u_int, dop, zmes.T, rstride=1, cstride=1, cmap=cm.coolwarm,
              linewidth=0, antialiased=False)
      ax.contourf(u_int, dop, zmes.T, zdir='z', offset=0, cmap=cm.coolwarm)
  
      ax.set_zlim(0, 1)
      ax.view_init(elev=11, azim=-34)
  
  
      ax.zaxis.set_major_locator(LinearLocator(10))
      ax.zaxis.set_major_formatter(FormatStrFormatter('%.02f'))
  
      ax.set_xlabel('$U/D$', fontsize=20)
      ax.set_ylabel('$n$', fontsize=20)
      ax.set_zlabel('$Z$', fontsize=20)
  
      plt.savefig(name+'_surf.png', dpi=300, format='png',
              transparent=False, bbox_inches='tight', pad_inches=0.05)