The biggest thing I researched before beginning was how others approached ice materials. I wasn’t sure if I wanted to work with a translucent material, or if there was a better way to approach it. I decided ultimately to fake the depth of the ice with BumpOffset nodes.
I started with the subsurface in the material, and I wanted to make that work before working on the overall look.
From there I worked on the surface texture. I wanted the oce to be smoother on the bottom and rougher on the top, so I used a WorldAlignedNormal node to work this in. When I got to the base colors and adding in black striations and tiny bubbles, I worked in the BumpOffset to put these on different layers of motion to achieve the faked depth/translucency I wanted.
At the end I wanted snow on top and used a WorldAlignedTexture to achieve this.