@J.M I tried the following nn = 16;
u = GaussianRandomField[nn, 3, Function[k, Exp[-k^2/2]/k]] // Re;
uf = ListInterpolation[u];
fx = Function[{x, y, z}, D[uf[x, y, z], x] // Evaluate];
fy = Function[{x, y, z}, D[uf[x, y, z], y] // Evaluate];
fz = Function[{x, y, z}, D[uf[x, y, z], z] // Evaluate];
ContourPlot3D[{fx[x, y, z], fy[x, y, z]}, {x, 1, nn}, {y, 1, nn}, {z,
1, nn}, Contours -> {0}, ContourStyle -> Opacity[0], Mesh -> None,
BoundaryStyle -> {2 -> None, {1, 2} -> {{Green, Tube[.1]}}},