As you will probably want to eventually do some reporting on the data, e.g. print a temperature average from this month last year in area X, I’d opt for custom tables from the beginning. I’m saying tables, because I don’t see a reason why you wouldn’t put the locations into a custom table as well. If you ever want to do something like calculate distances (and you have the lat & long for your locations stored), this will make your SQL much cleaner and easier to write.
Post meta data isn’t normalized, and will be painful to work with if you have more complex scenarios. It also doesn’t contain useful indexes, as it has no data type associated. This might not be a problem initially, though, as your data set is still quite small.
The only thing FOR meta fields in this scenario is that you could use WP_Query directly and without a lot of hassle. But I’m rather confident that you could add some functionality to wp_query via filters – and you’d have to use those fore advanced stuff anyhow in order to manipulate the auto generated SQL.
That said, it also depends on how quick you (and any other people that might work on it with you) are when developing with a special table vs some pure WP based solution. You could always start with 3, and if the project takes off, you invest a bit more time to make it nice and clean and go for 2. The data conversion shouldn’t be that big of a problem.