Recently, following Beauville's book (exercises iv.(1),(2)) I have been working on Hirzebruch surfaces (from the algebraic geometry point of view) and I had to compute the space of global sections of several linear systems. For instance, if $h$ is a section of $\mathbb{P}^1$ and $f$ is a fibre, then I would be looking for $h^0(\mathbb{F}_n,\vert h+kf\vert),\ k\geq 0$. The reason to do this was to find morphisms into projective space.
Also I was interested in knowing the usual stuff: whether the linear system had fixed points, whether it separated points and tangents, in which points it didn't...
My approach was to do it for $\mathbb{F}_0\cong \mathbb{P}^1\times \mathbb{P}^1$ and then by induction find it for the rest of $\mathbb{F}_n$ using elementary transformations.
It seemed to me a bit 'ad hoc' and I feel the only reason I could do this is because I had a very explicit knowledge of $P^1\times P^1$ and how to find the other surfaces from this one. If I had started with the image via that linear system into projective space, even with lots of information about it, I doubt I had been able to find so much information or even understand which curves were linearly equivalent.
Question: Are there methods to find information (dimension, base points, incidence) about linear systems of divisors in a surface given (some) explicit information about the geometry of that surface? By information I mean configuration of lines, degree, whether it has curves embedded inside, intersection of particular curves...
I am aware this is a bit of a vague question, but that is precisely the point, I do not seek solutions to particular examples but tools that work for as many surfaces as possible.
Also, I do not look for methods that apply to rational surfaces by looking at curves in the plane.
Answers which are general to higher dimensions are valuable too.