Matlab code for 5011CEM 21/22
This repository contains the code files for 5011CEM, delivered in semester 2 starting January 2022.
See the "Post CW Note" at the bottom of this README for a review of the code in this repository.
Project Folders
Common Files
contains code that is required by multiple files.Loading
contains files required to load the data.Processing
holds the main functions for Sequential and Parallel processing.Testing
has functions for automated testing of parallel and sequential processing and includes two subdirectories:
TestDatatypes
contains code which tests data for NaN and Text datatypes.
GenerateTestData
holds files which will generate NetCDF files with errors and save them in theModelTesting
directory.Graphing
includes code related to the plotting of outputs from the processing and automated tests.Comparison
contains scripts to compare parallel and sequential processing and plot results onto a graph.Other
holds files related to code planning and other files that are not related to the execution of the code.
Files Ignored From Git
Model
is a space for data which needs processing.
NOTE: Data files must be placed there manually once cloned.ModelTesting
is a space for data files which have been generated using code.Logs
stores any .log files generated from the code.
Required Files
The only required file is o3_surface_20180701000000.nc
which should be stored in the Model
directory once cloned. Erroneous NetCDF files used for testing are generated using this file.
Installation Instructions
Below are instructions on how to clone and prepare this repository for the project. The commands are valid for a system running Windows 10 using git bash.
MATLAB R2021a is required to install and run the code and the /bin
directory must be added to the PATH
system variable (Example: E:\Program Files\MATLAB\R2021a\bin
)
- Navigate to the Documents/MATLAB folder and open a terminal
You can use theGit Bash Here
option in the context menu to do this. - Clone the repository
Copy and pastegit clone https://github.coventry.ac.uk/5011CEM-2122JanMay/5011CEM2022_masudm6.git --depth 1
into the terminal.
The option--depth 1
reduces the size of the download from ~300MB to ~60KB. - Switch into the newly cloned repository's directory
Typecd 5011CEM2022_masudm6/
to change the current directory. - Open MATLAB from this directory
Typematlab
into the terminal. - Paste the file
o3_surface_20180701000000.nc
into theModel
directory. - (Optional) Generate the Text and NaN testing files ready for use
RunCreateTestData_Text
andCreateTestData_NaN
in the MATLAB command window.
MATLAB will now load all files ready for use using the startup.m
script.
Post CW Note
This was my first time using gantt charts and SMART targets, and even MATLAB, but they were all necessary for the coursework. In the end, I grew used to how they work, but still did not enjoy using them.
My final grade for this report was 75%, based off of the coursework brief provided.
I learned a lot of additional things during this coursework which were not required of me, such as using GitHub issues, pull requests and projects. This improved my project management and organisation skills and motivated me to work more frequently.
Using MATLAB software was difficult at the start, but became easier over time as I embarked on personal projects, making use of some of the toolboxes (e.g. Computer Vision Toolbox). The documentation for MATLAB (MATLAB Help Center) was especially useful for this project as it is neatly organised. This boosted my "documentation reading" skills as a result.