diff --git a/src/sand-wedge.cc b/src/sand-wedge.cc
index c985b1f13aba9560983b5c7f5a9df6bf2fc21a55..33be5768821928696e823cabc602329ff82bb4ec 100644
--- a/src/sand-wedge.cc
+++ b/src/sand-wedge.cc
@@ -201,6 +201,11 @@ int main(int argc, char *argv[]) {
     Dune::BitSetVector<1> frictionalNodes(fineVertexCount);
     frictionalBoundary.getVertices(frictionalNodes);
 
+    // Surface
+    BoundaryPatch<GridView> const &surface = myFaces.upper;
+    Dune::BitSetVector<1> surfaceNodes(fineVertexCount);
+    surface.getVertices(surfaceNodes);
+
     // Dirichlet Boundary
     Dune::BitSetVector<dims> noNodes(fineVertexCount);
     Dune::BitSetVector<dims> dirichletNodes(fineVertexCount);
@@ -353,17 +358,28 @@ int main(int argc, char *argv[]) {
         vertexCoordinates[vertexMapper.map(*it)] = geometry.corner(0);
       }
     }
+
     FrictionWriter<ScalarVector, Vector> frictionWriter(
         vertexCoordinates, frictionalNodes, "friction",
         [](LocalVector const &x) { return x[0]; });
-    auto const reportFriction = [&](Vector const &_u, Vector const &_v,
-                                    ScalarVector const &_alpha) {
+    BoundaryWriter<ScalarVector, Vector> verticalSurfaceWriter(
+        vertexCoordinates, surfaceNodes, "verticalSurface",
+        MyGeometry::verticalProjection);
+    BoundaryWriter<ScalarVector, Vector> horizontalSurfaceWriter(
+        vertexCoordinates, surfaceNodes, "horizontalSurface",
+        MyGeometry::horizontalProjection);
+
+    auto const report = [&](Vector const &_u, Vector const &_v,
+                            ScalarVector const &_alpha) {
+      horizontalSurfaceWriter.writeKinetics(_u, _v);
+      verticalSurfaceWriter.writeKinetics(_u, _v);
+
       ScalarVector c;
       myGlobalNonlinearity->coefficientOfFriction(_v, c);
       frictionWriter.writeKinetics(_u, _v);
       frictionWriter.writeOther(c, _alpha);
     };
-    reportFriction(u_initial, v_initial, alpha_initial);
+    report(u_initial, v_initial, alpha_initial);
 
     MyVTKWriter<typename MyAssembler::VertexBasis,
                 typename MyAssembler::CellBasis> const
@@ -510,7 +526,7 @@ int main(int argc, char *argv[]) {
       if (printProgress)
         std::cout << std::endl;
 
-      reportFriction(u, v, alpha);
+      report(u, v, alpha);
       iterationWriter << std::endl;
       relaxationWriter << std::endl;