Solution (source code)

= Solution

For the zero-angular-momentum curves, the fiber term in the induced <metric tensor> vanishes along the tangent, leaving
$$
0=-\frac f h\dot t^2+\frac{\dot r^2}{f}
$$
for a <null geodesic>. In the exterior, a future <geodesic> has positive conserved <energy> $E=(f/h)\dot t$. Its equations are
$$
\dot r=\pm E\sqrt h,\qquad \dot t=\frac{Eh}{f},\qquad
\frac{dt}{dr}=\pm\frac{\sqrt h}{f}.
$$
Define the <tortoise coordinate>, separately on intervals bounded by horizon radii, by
$$
\boxed{r_*(r)=\int^r\frac{\sqrt{h(s)}}{f(s)}\,ds.}
$$
For an outgoing curve $\dot r=+E\sqrt h$,
$$
\frac d{d\lambda}(t-r_*)=\dot t-r_*'\dot r=0;
$$
for an ingoing curve $\dot r=-E\sqrt h$, $d(t+r_*)/d\lambda=0$. Thus $u=t-r_*$ and $v=t+r_*$ are the respective constant labels. The <derivative> $\sqrt h/f$, with its sign, is required for continuation; taking $\sqrt h/|f|$ would give the wrong labels between the horizons.

For a nonextremal horizon $r=r_H$, the <tortoise coordinate> has leading behavior
$$
r_*\sim\frac{\sqrt{h(r_H)}}{f'(r_H)}\log|r-r_H|.
$$
At the double root of the <extremal black hole> it instead has a pole. These singularities are coordinate effects at a regular <Killing horizon>; they are not the <curvature singularity> at $r=0$. To cross the future horizon, the ingoing coordinates
$$
v=t+r_*,\qquad \psi_+=\psi+\int^r\frac{\Omega(s)\sqrt{h(s)}}{f(s)}\,ds
$$
give the regular induced <metric tensor>
$$
ds_3^2=-\frac f h\,dv^2+\frac2{\sqrt h}\,dv\,dr
+r^2h(d\psi_+-\Omega\,dv)^2.
$$
This also fixes the future branch used in the causal argument below.