CPS188 : Term Project : Winter 2024 Introduction: This project is conceived as a group project. It is required that the project be worked on in groups of two to four students (no more, no less, no exceptions). Group members can be from different lab sections but must be from the same professor (Dr. Hamelin: sections 01-09; Dr. Woungang: sections 10-13; Dr. Mustafiz: sections 14-17; Dr. Davoudpour: sections 18-22). Each group will appoint a group leader that will submit the project on behalf of the group. Only one submission per group will be permitted so make sure the cover page clearly indicates the members of the group. Recommended cover page: CPS 188 Term Project - Standardized Cover Page Start working on the project early! Past experiences have found that the end of semesters can be hectic and communications between group members might become more difficult. Description: In this project you will make calculations, graphs and conclusions based on real data collected by various weather monitoring systems around the world. The data file contains land and ocean temperatures collected monthly between the years 1750 and 2015. You can download the actual data file by following this link: https://drive.google.com/file/d/1BiAa4d5BuqLIS13PBBh_2Du-oaiPORUr/view?usp=sharing The file format is CSV (comma spaced values). It is up to you to import the data from the file into your C program. This operation must be done within your C program. Do not copy and enter data by hand! The data in the file is in string format so some numerical values will have to be converted. You are to make a report showing tables, graphs and conclusions based on data using C programming and GNUPlot functionalities. Requirements: The entire project must be presented as one single program (including the parts that generate the output file for the graphs) . Divide your code into sections, one for each question. Add comments in your program to identify which question is answered in that section. Make sure your C and GNUPlot codes are well documented (comments) and well presented (style and indentation). All computations and determinations are to be done in C using the imported data file. For the graphs, all the labels, legends and titles must be generated by the GNUPlot script. Nothing can be done by hand. The submission package will include the following files: The project report in PDF format including the standard cover page. A .zip file containing the assets of the project (the .c file of your program and the 6 GNUPlot scripts (use .gnu as the file extension). The problems to solve: Based on the land average temperature column, calculate the yearly averages for each year between 1760 and 2015 (the average of the twelve months of each year). One average per year. Ignore the years 1750-1759. Based on the land average temperature column, calculate the average land temperature for the different centuries: 18th century (1760-1799), 19th century (1800-1899), 20th century (1900-1999) and 21st century (2000-2015). One average per century. Based on the land average temperature column, calculate the monthly averages for each month for all years combined between 1900 and 2015. A total of twelve averages. One average per month. Based on the land average temperature column, what was the hottest month recorded and what was the coldest month recorded (month and year in each case). In case of a tie, mention only one (doesn't matter which one). Based on your answer in question 1, what year was the hottest and what year was the coldest? Based on your answer in question 1, generate a GNUPlot data file and use GNUPlot to make a graph (line plot) of the yearly temperatures for the years 1760 to 2015. Label the axes clearly and add a title and legend to your graph. Generate a GNUPlot data file and use GNUPlot to make a graph (line plots) of the average land temperatures for the 19th and 20th centuries. Put both lines on the same figure. Ensure that you have the same x-axis scale (for example 1852 and 1952 would both have an x-value of 52). Have your two line plots with different colours. Label the axes clearly and add a title and legend to your graph. Using the columns LandAverageTemperature, LandMaxTemperature and LandMinTemperature, generate a GNUPlot data file and use GNUPlot to make line plots that show all three temperatures on the same figure. Use the years for the x-axis (use only the years between 1850 and 2015) and the yearly averages for the y-axis. Use three different colours (or different line styles) for the three lines. Make sure that the line plotting LandAverageTemperature stands out from the other two (ex: make that line thicker). Make sure your graph has a title, axes labels and a legend that explicitly tells which line is which. Using the columns LandAverageTemperature, LandMaxTemperature and LandMinTemperature, generate a GNUPlot data file and use GNUPlot to make 3 bar plots (box or histogram plots) that show the average, low and high temperatures for each of the 19th (after 1850), 20th and 21st centuries. Put all 3 plots on the same figure displayed as subplots (multiplots). Each plot will show the boxes with different colours (one colour per century). Have a title to your figure and have the low or average or high as the title on each subplot. For the years 2000 to 2015, generate a GNUPlot data file and use GNUPlot to make an error bar plot of the average land temperature by month. Use the uncertainty column for land temperatures to draw the error bars. Generate a GNUPlot data file and use GNUPlot to do a plot similar to what you did in question 6 (LandAverageTemperature) but only for the years 1850 to 2015 and add the data for the LandAndOceanAverageTemperatures column. Have the two lines on the same figure. Label the axes clearly and add a title and legend to your graph.. Important notes about the report and its submission: I. All computations and plots are to be done with C and GNUPlot only. II. You are to write a report. Your report must have an introduction about the purpose of the report and its intended audience. III. The report must be detailed, well presented and attractive. Don't be afraid to use colours to emphasize parts of the report. Be creative in the use of tables, graphs and images. Points will be awarded to the exactness of the computations, appearance, ease of reading (use font sizes that are easy to read and use adequate line spacing and margins), and the quality of the English language. The report consists of the answers provided by each of the program requirements (the actual outputs from the program as cut/paste and screenshots - like you did in the labs - no need to copy/paste the .c code as you will attach those files separately) and one short conclusion paragraph to describe the C and GNUPlot operations that you used to answer the question. For question #1, due to the large output, you can show only a few (10-20) of the first and last results in your report instead of the full 256 results. Be original! Plagiarism will be dealt with severely to the full extent of TMU academic integrity regulations. The Turnitin system will be used to help the markers in their assessment of originality. IV. Your report must have a conclusion. In this section, you will provide some scientific insights on the results and plots you created with C and GNUPlot. Finally, talk about your experience doing this project and how you would do things differently if you had to do this again. V. Your report must have a cover page that clearly shows your names and section numbers. VI. Projects must be submitted on or before the date specified in the D2L dropbox. Late assignments will not be accepted for marking. If you are concerned about getting the assignment in on time, submit it early. Technical excuses will not be accepted.
-
Notifications
You must be signed in to change notification settings - Fork 2
License
Javezki/CPS188-Term-Project
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
About
No description, website, or topics provided.
Resources
License
Stars
Watchers
Forks
Releases
No releases published
Packages 0
No packages published