After a few weeks of running the weather station close to my office, I was able to find out what might be causing it to crash so often. Well, actually, whatever I did in the code made no difference and the crash seemed to be entirely random. This could only mean that there was a problem with the track routing on the PCB, so the design was improved to give logical precedence to the wind instrument data lines, particularly the anemometer, which carries a pulse:
Rebuilding the PCB also gave me the opportunity to incorporate a simple watchdog circuit which would reset the MCU after a crash.
Fortunately, after the rebuild, the frequency of crashes diminished to greater than 3 days. Next step is to implement the watch dog.