I have some data of type `{{x1, y1, f1}, {x2, y2, f2}, ...}` and want to do `ListContourPlot`. However, there is a problem that the data `f` is not smooth enough and has small errors. 

Here is a toy example illustrating the problem:

 data = Flatten[ 
 Table[{i (1 + RandomReal[0.1]), j (1 + RandomReal[0.1]), 
 i + j}, {i, 0, 100}, {j, 0, 100}], 1];
 ListContourPlot[data, Contours -> {80, 120}, ContourShading -> None]

![enter image description here][1]

I would need to smooth the lines in the above curve, to get something like

![enter image description here][2]

Any ideas to get this kind of smoothed plot? Thanks!

And here is the figure from real data (which is too large to paste here), which I need to smooth:

![enter image description here][3]

I find this thread http://mathematica.stackexchange.com/questions/2928/interpolationorder-for-contourplot related. But I was unable to get the method work in my case because of (I guess) different input. 


 [1]: https://i.sstatic.net/g4ndv.png
 [2]: https://i.sstatic.net/ueqyd.png
 [3]: https://i.sstatic.net/zSztT.png