Use enumerate to avoid separate counter
Seems like there should be a station object

We're manipulating vectors of length num_stations and using indexing to get the right station.  Each vector has one attribute of a station.  This feels like there should be a station object that contains all the attributes you need.
Initialize to zeros instead of random numbers
Remove matplotlib requirement for code review

I'm having installation issues with matplotlib, so ignoring that for now.
simplify syntax
fix to readme to indicate actual usage
Condense distance function

We can make this a lot more readable by only calling np.radians once per function call.  We'd also appreciate more comments of the function being implemented & especially the constant R - what is that?
This simpler syntax appears to have the same result
beef up docstring