import graph3;
size(200,0);
currentlight=Viewport;
triple f(pair t) {
real u=log(abs(tan(t.y/2)));
return (10*sin(t.y),cos(t.x)*(cos(t.y)+u),sin(t.x)*(cos(t.y)+u));
}
surface s=surface(f,(0,pi/2),(2pi,pi-0.1),7,15,Spline);
draw(s,olive+0.25*white,render(compression=Low,merge=true));