There a a lot of different ways that you could log this information:
- Tasks
- Ticket Tag
- Order Tag
- Text file
- Entity State Log
I would suggest using Tasks. They are naturally built for logging things, and you can store a lot of information in a Task.
First, you need to choose a Weather Provider, learn their API, register with them (API Key) and use Script Automation to pull weather information from their site. This usually comes in the form of XML or often better, JSON.
You would use something like that ^ to log weather information to a Task, and when you you close a Ticket, maybe do something like Tag the Ticket with the Task ID so you have a relation between the Weather Task and the Ticket.
That is 1 idea anyway, and probably the approach I would start with to see how well it works for Reporting purposes.