  In this paper, we will introduce a high order numerical method to solve the
scattering problems with non-periodic incident fields and (locally perturbed)
periodic surfaces. For the problems we are considering, the classical methods
to treat quasi-periodic scattering problems no longer work, while a Bloch
transform based numerical method was proposed in [LZ17b]. This numerical
method, on one hand, is able to solve this kind of problems convergently; on
the other hand, it takes up a lot of time and memory during the computation.
The motivation of this paper is to improve this numerical method, from the
regularity results of the Bloch transform of the total field, which have been
studied in [Zha17]. As the set of the singularities of the total field is
discrete in $\R$, and finite in one periodic cell, we are able to improve the
numerical method by designing a proper integration contour with special
conditions at the singularities. With a good choice of the transformation, we
can prove that the new numerical method could possess a super algebraic
convergence rate. \high{This new method improves the efficient significantly.
At the end of this paper, several numerical results will be provided to show
the fast convergence of the new method.} The method also provides a possibility
to solve more complicated problems efficiently, e.g., three dimensional
problems, or electromagnetic scattering problems.
