This assignment is to complete a program to read and process weather station date as available from the Met Office website, for ex this file for the Durham weather station.
The data files consist of monthly readings of data. The data consist of:
• Mean daily maximum temperature (“tmax”)
• Mean daily minimum temperature (“tmin”)
• Days of air frost (“af”)
• Total rainfall (“rain”)
• Total sunshine duration (“sun”)
Missing data (more than two days missing in a month) have been indicated by “--”. Estimated data (where available) are been indicated by “*” after the value. The monthly mean temperature can be estimated from the average of the mean daily maximum and mean daily minimum temperature i.e. (tmax+tmin)/2. Each data file also contains:
• The name of the weather station
• The position of the weather station (latitude, longitude and altitude)
The number of data points in each file is not fixed. It varies from station to station (some go back further than others, some have closed) and also varies as time progresses (extra data are added each month).
Your task is to prepare software to meet the following requirements:
1. Read a data file (you may download ex files from the web site to your computer beforehand).
2. Store the set of measurements internally accounting for the fact that the number of elements is not predictable in advance.
(a) The monthly mean temperature.
(b) The monthly running average (over the previous 12 months) of temperature, rainfall, and sunshine data.
4. prepare the enhanced data (including the monthly mean temperature and running averages) to a new data file.
5. Plot monthly maximum, minimum and mean temperatures, and their running averages, on the computer screen.
6. Implement a simple graphical user interface to support these tasks.
2 Learning outcomes
This assignment contributes to the following learning outcomes for the module:
• Develop appropriate programming solutions to technological problems.
• Effectively exploit the programming language and development environments.
• To develop software using APIs and third party libraries.