\documentclass{standalone}
\usepackage{tikz}
\usepackage{pgfplots}
\usetikzlibrary{patterns,calc,positioning,shapes}
\usepgfplotslibrary{fillbetween}
\begin{document}
\begin{tikzpicture}[ thick]
\draw[name path=A] (-7.5,-1) .. controls (-3,5.5) and (3,5.5) .. (7.5,-1) ;%controls-1
\draw [name path=B](-6,-1) .. controls (-2,4) and (2,4) .. (6,-1);%controls-2
\tikzfillbetween[of=A and B]{pattern=bricks,pattern color=black!50}
\path[name path=C,dashed] (-5.8,-1) .. controls (-2,3.7) and (2,3.7) .. (5.8,-1);%controls-3
\tikzfillbetween[of=B and C]{fill=red!50}
\draw[name path=D] (-5.5,-1) .. controls (-2,3.5) and (2,3.5) .. (5.5,-1);%controls-4
\tikzfillbetween[of=C and D]{yellow=purple}
\draw[name path=E] (-5,-1) .. controls (-2,3) and (2,3) .. (5,-1);%controls-5
\tikzfillbetween[of=D and E]{pattern=crosshatch dots }
\draw [name path=F](-4,-1) .. controls (-2,2) and (2,2) .. (4,-1);%controls-6
\path[name path=line1,yshift=1.5cm] (-3,0) -- +(7,0);%line 1
\path[name path=line2,yshift=1.25cm] (-3,0) -- +(7,0); %line 2
\path [name intersections={of=E and line1 ,by={A1,B1}}];
\path [name intersections={of=E and line2 ,by={A2,B2}}];
\tikzfillbetween[of=F and E]{cyan}
\draw[yshift=15mm,fill=cyan!10] (A1).. controls (-1,0.7) and (1,0.7) .. (B1)--cycle;
\draw[fill=red!70!black](A1)--(B1)--(B2)--(A2)--cycle; %rectangle
\draw[dashed] (-5.8,-1) .. controls (-2,3.7) and (2,3.7) .. (5.8,-1);%controls-3
\node at (0,1.7) {gaz};
\node at (-3.7,0) {eau};
\node at (3.7,0) {eau};
\node [draw](P1)at (0,-1.5) {couches impermeable};
\draw[->,very thick,red](P1.40)--(30:3.2);
\draw[->,very thick,red](P1)--(170:4.3);
\node (P2)at (0,0.5) {huile};
\draw[->,very thick,red](P2.40)--(60:1.7);
\fill[pattern=dots] (-7.5,-1) .. controls (-3,5.5) and (3,5.5) .. (7.5,-1)--(7.5,5)--(-7.5,5)--cycle;
\end{tikzpicture}
\end{document}
\path [pattern=checkerboard,pattern color=black!30] (0,0) rectangle (2,1);