Compiling test_shallowwater gives
test_shallowwater.cc:52: error: cannot declare variable surface to be of abstract type main(int, char**)::Surface
planebottom.hh:13: note: because the following virtual functions are pure within main(int, char**)::Surface:
../../dumux/shallowwater/bottomproperties.hh:63: note: void Dune::BottomProperties<GridView, Scalar>::calcVertexElevation() [with GridView = Dune::GridView<Dune::DefaultLeafGridViewTraits<const Dune::SGrid<2, 2, double>, All_Partition> >, Scalar = double]
../../dumux/shallowwater/bottomproperties.hh:66: note: Scalar Dune::BottomProperties<GridView, Scalar>::vertexElevation(const Dune::FieldVector<Scalar, Dune::BottomProperties<GridView, Scalar>::dim>&, const typename GridView::Traits::Codim<2>::Entity&, const Dune::FieldVector<Scalar, Dune::BottomProperties<GridView, Scalar>::dim>&) [with GridView = Dune::GridView<Dune::DefaultLeafGridViewTraits<const Dune::SGrid<2, 2, double>, All_Partition> >, Scalar = double]
../../dumux/shallowwater/bottomproperties.hh:70: note: Scalar Dune::BottomProperties<GridView, Scalar>::avgIntersectionElevation(const Dune::FieldVector<Scalar, Dune::BottomProperties<GridView, Scalar>::dim>&, const typename GridView::Traits::Codim<0>::Entity&, const Dune::FieldVector<Scalar, Dune::BottomProperties<GridView, Scalar>::dim>&, int) [with GridView = Dune::GridView<Dune::DefaultLeafGridViewTraits<const Dune::SGrid<2, 2, double>, All_Partition> >, Scalar = double]
../../dumux/shallowwater/bottomproperties.hh:73: note: Scalar Dune::BottomProperties<GridView, Scalar>::avgElementElevation(const Dune::FieldVector<Scalar, Dune::BottomProperties<GridView, Scalar>::dim>&, const typename GridView::Traits::Codim<0>::Entity&, const Dune::FieldVector<Scalar, Dune::BottomProperties<GridView, Scalar>::dim>&) [with GridView = Dune::GridView<Dune::DefaultLeafGridViewTraits<const Dune::SGrid<2, 2, double>, All_Partition> >, Scalar = double]
../../dumux/shallowwater/bottomproperties.hh:77: note: Dune::FieldVector<Scalar, Dune::BottomProperties<GridView, Scalar>::dim> Dune::BottomProperties<GridView, Scalar>::avgElementSlopes(const Dune::FieldVector<Scalar, Dune::BottomProperties<GridView, Scalar>::dim>&, const typename GridView::Traits::Codim<0>::Entity&, const Dune::FieldVector<Scalar, Dune::BottomProperties<GridView, Scalar>::dim>&) [with GridView = Dune::GridView<Dune::DefaultLeafGridViewTraits<const Dune::SGrid<2, 2, double>, All_Partition> >, Scalar = double]
../../dumux/shallowwater/bottomproperties.hh:79: note: Dune::FrictionModelType::flag Dune::BottomProperties<GridView, Scalar>::frictionModelType() [with GridView = Dune::GridView<Dune::DefaultLeafGridViewTraits<const Dune::SGrid<2, 2, double>, All_Partition> >, Scalar = double]
../../dumux/shallowwater/bottomproperties.hh:82: note: Scalar Dune::BottomProperties<GridView, Scalar>::frictionCoeff(const Dune::FieldVector<Scalar, Dune::BottomProperties<GridView, Scalar>::dim>&, const typename GridView::Traits::Codim<0>::Entity&, const Dune::FieldVector<Scalar, Dune::BottomProperties<GridView, Scalar>::dim>&) const [with GridView = Dune::GridView<Dune::DefaultLeafGridViewTraits<const Dune::SGrid<2, 2, double>, All_Partition> >, Scalar = double]