  A common approach to studying the performance of quantum error correcting
codes is to assume independent and identically distributed single-qubit errors.
However, the available experimental data shows that realistic errors in modern
multi-qubit devices are typically neither independent nor identical across
qubits. In this work, we develop and investigate the properties of topological
surface codes adapted to a known noise structure by Clifford conjugations. We
show that the surface code locally tailored to non-uniform single-qubit noise
in conjunction with a scalable matching decoder yields an increase in error
thresholds and exponential suppression of sub-threshold failure rates when
compared to the standard surface code. Furthermore, we study the behaviour of
the tailored surface code under local two-qubit noise and show the role that
code degeneracy plays in correcting such noise. The proposed methods do not
require additional overhead in terms of the number of qubits or gates and use a
standard matching decoder, hence come at no extra cost compared to the standard
surface-code error correction.
