How to weight a piece of data?
I don’t think you want to use weights here. Unless you have a robust statistic for reliability that applies to all stations, just assigning arbitrary weightings based on class does not sound reasonable.
How about using a simpler approach? Break the distances from the counties to their weather stations into three categories:

Near, say < 50 mi / 80 km
Medium distance, say 50 mi to 100 mi
Far, say > 100 mi

(Note, these distances are most likely not right for your data set. You’ll have to play around with them to get something appropriate.)
Then, have a matrix of class x distance and discard whichever combinations make sense. It might be that Medium x Class 3 is bad but Far x Class 2 is okay.
So I have a CSV file of weather stations that have a class (class 1 being the most reliable data to class 3 being the worst). I then have distances from the closest weather station to each county. I am attempting to eliminate station-county relationships that might have unreliable data i.e(class 3 station far from a county). 
I am struggling to come up with a very general way to do this. 
I tried assigned weight to the classes i.e (class 1 = 1, class 2 = .5, class 3 = .1) and then multiplying by distance but that then brings the issue of a close station to a low class give an unreliable read.
If anyone has any thoughts or suggestions on this it would be much appreciated!