Here is a starting point.
\documentclass[border=5pt]{standalone}
\usepackage{tikz}
\usetikzlibrary{shadings}
\usepackage{pgfplots}
\pgfplotsset{width=12cm,compat=1.15,view={10}{10},
/pgfplots/colormap={blue}{rgb255(0)=(140,156,180) rgb255(10)=(50,114,180)}
}
\begin{document}
\begin{tikzpicture}[declare function={f(\x,\y)=4+0.3*sin(108*\x);}]
\begin{axis}[domain=0:10,domain y=0:2,samples=50,hide axis,shader=interp]
\addplot3[white] plot coordinates{(0,0,5) (0,0,0)};
\draw[fill=gray,opacity=0.4] (0,2,0) -- (0,2,5) -- (0,0,5) -- (0,0,0) -- cycle;
\draw[fill=gray,opacity=0.4] (0,2,0) -- (10,2,0) -- (10,2,5) -- (0,2,5) -- cycle;
\draw (10,0,0) -- (10,2,0);
\addplot3 [surf] {f(x,y)};
\draw[fill=gray,opacity=0.4] (0,0,0) -- (10,0,0) -- (10,0,5) -- (0,0,5) -- cycle;
\shade[top color=blue!50!gray,bottom color=blue!20!white,opacity=0.6] plot[variable=\x,domain=0:10] ({\x},0,{f(\x,0)}) -- (10,0,0) -- (0,0,0) -- cycle;
\shade[top color=blue!50!gray,bottom color=blue!20!white,opacity=0.6] plot[variable=\x,domain=0:10] (10,2,0) -- (10,2,4) -- (10,0,4) -- (10,0,0) -- cycle;
\end{axis}
\end{tikzpicture}
\end{document}
Once I know what the essential features are, i.e. if you really want to have the scattered grays spots, or if you prefer shading for the water, I'll be happy to add this feature. (And I can't wait seeing Phelype Oleinik convert this to PSTricks. ;-)
UPDATE: In the above, I missed the most important ingredient -- the duck!
\documentclass[border=5pt]{standalone} %\duck[book=\scalebox{0.5}{\TeX}]
\usepackage{tikz}
\usetikzlibrary{shadings}
\usepackage{tikzducks}
\usepackage{pgfplots}
\pgfplotsset{width=12cm,compat=1.15,view={10}{10},
/pgfplots/colormap={blue}{rgb255(0)=(140,156,180) rgb255(10)=(50,114,180)}
}
\begin{document}
\begin{tikzpicture}[declare function={f(\x,\y)=4+0.3*sin(108*\x);}]
\begin{axis}[domain=0:10,domain y=0:2,samples=50,hide axis,shader=interp]
\addplot3[white] plot coordinates{(0,0,5) (0,0,0)};
\draw[fill=gray,opacity=0.4] (0,2,0) -- (0,2,5) -- (0,0,5) -- (0,0,0) -- cycle;
\draw[fill=gray,opacity=0.4] (0,2,0) -- (10,2,0) -- (10,2,5) -- (0,2,5) -- cycle;
\draw (10,0,0) -- (10,2,0);
\addplot3 [surf] {f(x,y)};
\coordinate (duck) at (5,1,5);
\coordinate (tl) at (0,0,5);
\coordinate (tr) at (10,0,5);
\coordinate (bl) at (0,0,0);
\coordinate (br) at (10,0,0);
\shade[top color=blue!50!gray,bottom color=blue!20!white,opacity=0.6] plot[variable=\x,domain=0:10] ({\x},0,{f(\x,0)}) -- (10,0,0) -- (0,0,0) -- cycle;
\shade[top color=blue!50!gray,bottom color=blue!20!white,opacity=0.6] plot[variable=\x,domain=0:10] (10,2,0) -- (10,2,4) -- (10,0,4) -- (10,0,0) -- cycle;
\end{axis}
\node at (duck) {\parbox[c][][t]{2cm}{\tikz{\duck}}};
\draw[fill=gray,opacity=0.4] (tl) -- (tr) -- (br) -- (bl) -- cycle;
\end{tikzpicture}
\end{document}
:)
.