Describing Riemann Surfaces
Solution 1:
The general procedure is: if $f$ is given by $p(f,z)=0$, where $p$ is a polynomial of degree $n$ in $f$ and a rational function in $z$, first find $z$'s where the equation for $f$ has less than $n$ roots, or where some of the coefficients are infinite. Those are the potential ramification points. In your case, $f^2-z(z^2+1)=0$, the bad points are $z=0,\pm i,\infty$, and $g^2-(z^2+1)/z=0$, the same bad points (in fact, $f=zg$, so the Riemann surfaces are the same).
Then you need to find out what happens, if you go along a little circle around a potential ramification point; if the $n$ values of $f$ get permuted, you have a true ramification point, and we need to know the permutation. See e.g. here how to do it quickly using Puisseaux series. In your case, $z(z^2+1)$ has a 1st order zero at $z=0,\pm i$, a 3dr order pole at $z=\infty$, so the two values of $f$ get permuted. So we have ramification at all $4$ points. (the same for $g$)
The final step can be more difficult. We need to choose branch cuts (non-intersecting curves connecting the branch points) in such a way that there is no nontrivial permutation of the values of $f$ (monodromy) if you move along a closed curve avoiding the branch cuts. A sure way is to connect $P_1$ to $P_2$, $P_2$ to $P_3$, ... , $P_{k-1}$ to $P_k$ (where $P_i$'s are the ramification points), as then the sphere minus the cuts is 1-connected, homeomorphic to a disc. Then you have $n$ discs flying over this disc, and you need to gue them together using the permutations you found before.
In your case its easier to connect $i$ to $-i$ and $0$ to $\infty$, get a cylinder after the cut, so you're gluing 2 cylinders and get a torus.
To find the genus $g$ of the surface, you can use the Riemann-Hurwitz formula: $2-2g=2n-w$, where $w$ is the ramification index (in our case it's 1 for every ramification point, i.e. $w=4$, $2-2g=2\times2-4=0$, $g=1$, i.e. a torus).