Skip to content

This is a program made to process a massive amount of weather data. The key point is the data structure, how it stores the data read from the files, process and display them according to user's option.

Notifications You must be signed in to change notification settings

victorkpimen/Massive_weather_process

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Massive_weather_process

Description:

This program was designed to read in a massive amount of weather data, store, and process them. The data structure design plays a crucial role here since it makes difficult to read in tons of data with a bad design. This program has ten sample files, each of them contains data such as Date, Wind speed, Temperature, Solar radiation, and etc. of every ten minutes of a whole year (they are massive).

Files included in this project:

BST.H, Collect.H, Date.H, Date.CPP, Time.H, Time.CPP, Vector.H, main.CPP,

Data files (folder:data) - MetData_Jan01-2007-Dec31-2007-ALL.csv MetData_Jan01-2008-Dec31-2008-ALL.csv MetData_Jan01-2009-Dec31-2009-ALL.csv MetData_Jan01-2010-Jan01-2011-ALL.csv MetData_Jan01-2011-Jan01-2012-ALL.csv MetData_Jan01-2012-Jan01-2013-ALL.csv MetData_Jan01-2013-Jan01-2014-ALL.csv MetData_Jan01-2016-Dec31-2016-ALL.csv MetData_Mar01-2014-Mar01-2015-ALL.csv MetData_Mar01-2015-Mar01-2016-ALL.csv

How to run "Massive_weather_process":

Once you create a project with all the .H and .CPP files, you can run it through the main.cpp program (please do not forget to include the data file in the same directory as the source codes).

Design and implementation:

In this program, I have 10 sample data files, each containing weather data of a whole year of every ten minutes. The structure used here is, map<Date,BST> and Vector. That is, a BST contains stores data of one day and the map gives a key, which is Date, to each BST. Once, all the data is read, they are stored into a Vector, which makes it easier to access the data later on (also because I already had this Vector.h from a different project). This design manages duplicates and invalid data such as NULL and NaN.

What the program does:

-It reads in the data from the files at the beginning of the program. -Display a menu for the user: 1. The average wind speed and sample standard deviation for this speed for selected month and year 2. The average ambient air temperature and sample standard deviation for each month of selected year 3. Total solar radiation in kWh/m2 for each month of selected year 4. Average wind speed (km/h), average ambient air temperature and total solar radiation in kWh/m2 for each month of selected year (standar deviation next to average) 5. The time of the highest solar radiation of a given day 6. Press 'q' to quit

-User enters the option, the month or year as required. -Grab the data needed for the given month/year and do the calculation -Display the results

About

This is a program made to process a massive amount of weather data. The key point is the data structure, how it stores the data read from the files, process and display them according to user's option.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages