pure function flux2d_LinearShallowWater2D_t(this,s,dsdx) result(flux)
class(LinearShallowWater2D_t),intent(in) :: this
real(prec),intent(in) :: s(1:this%solution%nvar)
real(prec),intent(in) :: dsdx(1:this%solution%nvar,1:2)
real(prec) :: flux(1:this%solution%nvar,1:2)
flux(1,1) = this%g*s(3)
flux(1,2) = 0.0_prec
flux(2,1) = 0.0_prec
flux(2,2) = this%g*s(3)
flux(3,1) = this%H*s(1)
flux(3,2) = this%H*s(2)
if(.false.) flux(1,1) = flux(1,1)+dsdx(1,1) ! suppress unused-dummy-argument warning
endfunction flux2d_LinearShallowWater2D_t