From fc9bd4ad976783390df4d00b8b3ec697f33a1023 Mon Sep 17 00:00:00 2001 From: "Faiza Bibi (bibif5)" Date: Sun, 2 Aug 2020 17:31:03 +0100 Subject: [PATCH 1/9] Create code.m --- code.m | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) create mode 100644 code.m diff --git a/code.m b/code.m new file mode 100644 index 0000000..eb5077e --- /dev/null +++ b/code.m @@ -0,0 +1,16 @@ +%Printing information of the file in command window +ncinfo(FileNC) +%Longitude +long = ncread(FileNC,'lon'); +%Length of longitude +nx = length(long) ; +%Latitude +lat = ncread(FileNC,'lat'); +%Length of Latitude +ny = length(lat) ; +%Total number of time hours in a day +time = ncread(FileNC,'hour'); + +%Longitude and latitude for plotting. Converting it to double values +lon=double(long); +lat=double(lat); From 06c16aa48b84693871fbdf82045480e665d16e9e Mon Sep 17 00:00:00 2001 From: "Faiza Bibi (bibif5)" Date: Sun, 2 Aug 2020 17:32:23 +0100 Subject: [PATCH 2/9] userinterface.m This collects user inputs --- Userinterface.m | 6 ++++++ 1 file changed, 6 insertions(+) create mode 100644 Userinterface.m diff --git a/Userinterface.m b/Userinterface.m new file mode 100644 index 0000000..254935d --- /dev/null +++ b/Userinterface.m @@ -0,0 +1,6 @@ +disp('Please select which climate model you would like to view: '); +type=input('1- chimere_ozone \n2- emep_ozone \n3- ensemble_ozone \n4- eurad_ozone \n5- lotoseuros_ozone \n6- match_ozone \n7- mocage_ozone \n8- silam_ozone \n'); + +disp('Please select your desired format: ') +userInput = ('a - Standard Display (Trichromacy)\nb - Monochromacy Display \nc - Protanopia Display \n'); +option = input(userInput,'s'); From 408b554928ded2494ec1b208fccb8066ee4b4256 Mon Sep 17 00:00:00 2001 From: "Faiza Bibi (bibif5)" Date: Sun, 2 Aug 2020 18:03:11 +0100 Subject: [PATCH 3/9] 3rdVersion.m This version includes opening nc file along with extracting the data and user inputs --- 3rdVersion.m | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) create mode 100644 3rdVersion.m diff --git a/3rdVersion.m b/3rdVersion.m new file mode 100644 index 0000000..1e628b0 --- /dev/null +++ b/3rdVersion.m @@ -0,0 +1,29 @@ +%Reading the .nc file +FileNC = 'o3_surface_20180701000000.nc' ; + +%Printing information of the file in command window +ncinfo(FileNC) +%Longitude +long = ncread(FileNC,'lon'); +%Length of longitude +nx = length(long) ; +%Latitude +lat = ncread(FileNC,'lat'); +%Length of Latitude +ny = length(lat) ; +%Total number of time hours in a day +time = ncread(FileNC,'hour'); + +%Longitude and latitude for plotting. Converting it to double values +lon=double(long); +lat=double(lat); + +%Selecting the data type +disp('Please select which climate model you would like to view: '); +type=input('1- chimere_ozone \n2- emep_ozone \n3- ensemble_ozone \n4- eurad_ozone \n5- lotoseuros_ozone \n6- match_ozone \n7- mocage_ozone \n8- silam_ozone \n'); + + + +% user interface - allows the user to select an option to their needs +disp('Please select your desired format: ') +userInput = ('a - Standard Display (Trichromacy)\nb - Monochromacy Display \nc - Protanopia Display \n'); From d9f9d2fe8d2c01d4e591306c1cfe309f16f05764 Mon Sep 17 00:00:00 2001 From: "Faiza Bibi (bibif5)" Date: Sun, 2 Aug 2020 19:10:24 +0100 Subject: [PATCH 4/9] 4thVersion.m This has if-statements added for first user inputs --- 4thVersion.m | 45 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 45 insertions(+) create mode 100644 4thVersion.m diff --git a/4thVersion.m b/4thVersion.m new file mode 100644 index 0000000..7d64832 --- /dev/null +++ b/4thVersion.m @@ -0,0 +1,45 @@ +%Reading the .nc file +FileNC = 'o3_surface_20180701000000.nc' ; + +%Printing information of the file in command window +ncinfo(FileNC) +%Longitude +long = ncread(FileNC,'lon'); + +%Latitude +lat = ncread(FileNC,'lat'); + +%Total number of time hours in a day +time = ncread(FileNC,'hour'); + +%Longitude and latitude for plotting. Converting it to double values +lon=double(long); +lat=double(lat); + +%Selecting the data type +disp('Please select which climate model you would like to view: '); +type=input('1- chimere_ozone \n2- emep_ozone \n3- ensemble_ozone \n4- eurad_ozone \n5- lotoseuros_ozone \n6- match_ozone \n7- mocage_ozone \n8- silam_ozone \n'); + +%Data having all the data in it +if type==1 +Data = ncread(FileNC,'chimere_ozone') ; +elseif type==2 +Data = ncread(FileNC,'emep_ozone') ; +elseif type==3 +Data = ncread(FileNC,'ensemble_ozone') ; +elseif type==4 +Data = ncread(FileNC,'eurad_ozone') ; +elseif type==5 +Data = ncread(FileNC,'lotoseuros_ozone') ; +elseif type==6 +Data = ncread(FileNC,'match_ozone') ; +elseif type==7 +Data = ncread(FileNC,'mocage_ozone') ; +elseif type==8 +Data = ncread(FileNC,'silam_ozone') ; + +end + +% user interface - allows the user to select an option to their needs +disp('Please select your desired format: ') +userInput = ('a - Standard Display (Trichromacy)\nb - Monochromacy Display \nc - Protanopia Display \n'); From ee092a940770f050eca101ba1789bbd021d81a89 Mon Sep 17 00:00:00 2001 From: "Faiza Bibi (bibif5)" Date: Sun, 2 Aug 2020 21:10:58 +0100 Subject: [PATCH 5/9] 5th Version In this version I have added on code to be able to open a europe map once option a is selected (for normal vision) the other two features, when selected, 'not coded yet' --- 5thVersion | 81 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 81 insertions(+) create mode 100644 5thVersion diff --git a/5thVersion b/5thVersion new file mode 100644 index 0000000..5bb7e18 --- /dev/null +++ b/5thVersion @@ -0,0 +1,81 @@ +%Reading the .nc file +FileNC = 'o3_surface_20180701000000.nc' ; + +%Printing information of the file in command window +ncinfo(FileNC) +%Longitude +long = ncread(FileNC,'lon'); +%Length of longitude +nx = length(long) ; +%Latitude +lat = ncread(FileNC,'lat'); +%Length of Latitude +ny = length(lat) ; +%Total number of time hours in a day +time = ncread(FileNC,'hour'); + +%Longitude and latitude for plotting. Converting it to double values +lon=double(long); +lat=double(lat); + +%Selecting the data type +disp('Please select which climate model you would like to view: '); +type=input('1- chimere_ozone \n2- emep_ozone \n3- ensemble_ozone \n4- eurad_ozone \n5- lotoseuros_ozone \n6- match_ozone \n7- mocage_ozone \n8- silam_ozone \n'); + +%Data having all the data in it +if type==1 +Data = ncread(FileNC,'chimere_ozone') ; +elseif type==2 +Data = ncread(FileNC,'emep_ozone') ; +elseif type==3 +Data = ncread(FileNC,'ensemble_ozone') ; +elseif type==4 +Data = ncread(FileNC,'eurad_ozone') ; +elseif type==5 +Data = ncread(FileNC,'lotoseuros_ozone') ; +elseif type==6 +Data = ncread(FileNC,'match_ozone') ; +elseif type==7 +Data = ncread(FileNC,'mocage_ozone') ; +elseif type==8 +Data = ncread(FileNC,'silam_ozone') ; + +end + +% user interface - allows the user to select an option to their needs +disp('Please select your desired format: ') +userInput = ('a - Standard Display (Trichromacy)\nb - Monochromacy Display \nc - Protanopia Display \n'); +option = input(userInput,'s'); +%Creating meshgrid +[X,Y] = meshgrid(lat,lon); +figure (1) +%Trichromacy: Ozone Overlay +if (option == 'a' || option == 'A') % this figure will display if a is selected + + % Creating the map of EUROPE + worldmap('Europe'); % Part of Earth to be displayed + + load coastlines % loading coastlines on map + plotm(coastlat,coastlon); %plotting coast data + land = shaperead('landareas', 'UseGeoCoords', true);%Plotting Land + geoshow(gca, land, 'FaceColor', [0.5 0.7 0.5]); + lakes = shaperead('worldlakes', 'UseGeoCoords', true); %Plotting Lakes + geoshow(lakes, 'FaceColor', 'blue'); + rivers = shaperead('worldrivers', 'UseGeoCoords', true); %Plotting rivers + geoshow(rivers, 'Color', 'blue'); + cities = shaperead('worldcities', 'UseGeoCoords', true); % Plotting cities + geoshow(cities, 'Marker', '.', 'Color', 'red'); + + +% Monochromacy: Ozone Overlay +elseif (option == 'b' || option == 'B') % this figure will display if c is selected + disp('Not coded yet'); +% Protanopia: Ozone Overlay +elseif (option == 'c' || option == 'C') % this figure will display if c is selected + disp('Not coded yet'); +else + %Error Message if no option selected + disp('Sorry that is not an option from above! Please run the program again') + +end + From e4a313135a659b1754991de4944b36925f06b107 Mon Sep 17 00:00:00 2001 From: "Faiza Bibi (bibif5)" Date: Mon, 3 Aug 2020 00:07:05 +0100 Subject: [PATCH 6/9] 6thVersion.m This version displays the data points over the map for the 24th hour --- 6thVersion.m | 91 ++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 91 insertions(+) create mode 100644 6thVersion.m diff --git a/6thVersion.m b/6thVersion.m new file mode 100644 index 0000000..df54fdb --- /dev/null +++ b/6thVersion.m @@ -0,0 +1,91 @@ +%Reading the .nc file +FileNC = 'o3_surface_20180701000000.nc' ; + +%Printing information of the file in command window +ncinfo(FileNC) +%Longitude +long = ncread(FileNC,'lon'); +%Length of longitude +nx = length(long) ; +%Latitude +lat = ncread(FileNC,'lat'); +%Length of Latitude +ny = length(lat) ; +%Total number of time hours in a day +time = ncread(FileNC,'hour'); + +%Longitude and latitude for plotting. Converting it to double values +lon=double(long); +lat=double(lat); + +%Selecting the data type +disp('Please select which climate model you would like to view: '); +type=input('1- chimere_ozone \n2- emep_ozone \n3- ensemble_ozone \n4- eurad_ozone \n5- lotoseuros_ozone \n6- match_ozone \n7- mocage_ozone \n8- silam_ozone \n'); + +%Data having all the data in it +if type==1 +Data = ncread(FileNC,'chimere_ozone') ; +elseif type==2 +Data = ncread(FileNC,'emep_ozone') ; +elseif type==3 +Data = ncread(FileNC,'ensemble_ozone') ; +elseif type==4 +Data = ncread(FileNC,'eurad_ozone') ; +elseif type==5 +Data = ncread(FileNC,'lotoseuros_ozone') ; +elseif type==6 +Data = ncread(FileNC,'match_ozone') ; +elseif type==7 +Data = ncread(FileNC,'mocage_ozone') ; +elseif type==8 +Data = ncread(FileNC,'silam_ozone') ; + +end + +% user interface - allows the user to select an option to their needs +disp('Please select your desired format: ') +userInput = ('a - Standard Display (Trichromacy)\nb - Monochromacy Display \nc - Protanopia Display \n'); +option = input(userInput,'s'); +%Creating meshgrid +[X,Y] = meshgrid(lat,lon); +figure (1) +%Trichromacy: Ozone Overlay +if (option == 'a' || option == 'A') % this figure will display if a is selected + + for i = 1:24 %Loop for iterating + clf; % figure is cleared to display following hour + + % Creating the map of EUROPE + worldmap('Europe'); % Part of Earth to be displayed + + load coastlines % loading coastlines on map + plotm(coastlat,coastlon); %plotting coast data + land = shaperead('landareas', 'UseGeoCoords', true);%Plotting Land + geoshow(gca, land, 'FaceColor', [0.5 0.7 0.5]); + lakes = shaperead('worldlakes', 'UseGeoCoords', true); %Plotting Lakes + geoshow(lakes, 'FaceColor', 'blue'); + rivers = shaperead('worldrivers', 'UseGeoCoords', true); %Plotting rivers + geoshow(rivers, 'Color', 'blue'); + cities = shaperead('worldcities', 'UseGeoCoords', true); % Plotting cities + geoshow(cities, 'Marker', '.', 'Color', 'red'); + + % Plots the data and sets transparency and edges + surfm(X, Y, Data(:,:,i)', 'EdgeColor', 'none',... + 'FaceAlpha', 0.7); % edge colour outlines the edges, 'FaceAlpha', sets the transparency + colormap default; % Normal vision mode + colorbar % Displaying colour bar + title(sprintf("Standard View: Hour " + i + "\n" )); % title (displays hour and the type of view) + end + +% Monochromacy: Ozone Overlay +elseif (option == 'b' || option == 'B') % this figure will display if c is selected + disp('Not coded yet'); +% Protanopia: Ozone Overlay +elseif (option == 'c' || option == 'C') % this figure will display if c is selected + disp('Not coded yet'); +else + %Error Message if no option selected + disp('Sorry that is not an option from above! Please run the program again') + +end + From 79d02dda23a290ec6c052f11c9db51aafc7b906a Mon Sep 17 00:00:00 2001 From: "Faiza Bibi (bibif5)" Date: Mon, 3 Aug 2020 00:12:40 +0100 Subject: [PATCH 7/9] Version6.2 Added on pause command to make it iterate through the hours --- 6thVersion.m | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/6thVersion.m b/6thVersion.m index df54fdb..1bd51bd 100644 --- a/6thVersion.m +++ b/6thVersion.m @@ -1,3 +1,7 @@ +clear all +close all +clc + %Reading the .nc file FileNC = 'o3_surface_20180701000000.nc' ; @@ -75,6 +79,7 @@ if (option == 'a' || option == 'A') % this figure will display if a is selected colormap default; % Normal vision mode colorbar % Displaying colour bar title(sprintf("Standard View: Hour " + i + "\n" )); % title (displays hour and the type of view) + pause(0.1); % time for each hour - pauses for 1 second end % Monochromacy: Ozone Overlay @@ -88,4 +93,3 @@ else disp('Sorry that is not an option from above! Please run the program again') end - From e3795fdc1e089e6fe3d1cba256fc1e1bb98c2dfb Mon Sep 17 00:00:00 2001 From: "Faiza Bibi (bibif5)" Date: Mon, 3 Aug 2020 01:10:24 +0100 Subject: [PATCH 8/9] Version7 This version includes the monochromacy option so a monochromatic display is successfully displayed when selected --- Version7 | 120 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 120 insertions(+) create mode 100644 Version7 diff --git a/Version7 b/Version7 new file mode 100644 index 0000000..c60dce0 --- /dev/null +++ b/Version7 @@ -0,0 +1,120 @@ +clear all +close all +clc + +%Reading the .nc file +FileNC = 'o3_surface_20180701000000.nc' ; + +%Printing information of the file in command window +ncinfo(FileNC) +%Longitude +long = ncread(FileNC,'lon'); +%Length of longitude +nx = length(long) ; +%Latitude +lat = ncread(FileNC,'lat'); +%Length of Latitude +ny = length(lat) ; +%Total number of time hours in a day +time = ncread(FileNC,'hour'); + +%Longitude and latitude for plotting. Converting it to double values +lon=double(long); +lat=double(lat); + +%Selecting the data type +disp('Please select which climate model you would like to view: '); +type=input('1- chimere_ozone \n2- emep_ozone \n3- ensemble_ozone \n4- eurad_ozone \n5- lotoseuros_ozone \n6- match_ozone \n7- mocage_ozone \n8- silam_ozone \n'); + +%Data having all the data in it +if type==1 +Data = ncread(FileNC,'chimere_ozone') ; +elseif type==2 +Data = ncread(FileNC,'emep_ozone') ; +elseif type==3 +Data = ncread(FileNC,'ensemble_ozone') ; +elseif type==4 +Data = ncread(FileNC,'eurad_ozone') ; +elseif type==5 +Data = ncread(FileNC,'lotoseuros_ozone') ; +elseif type==6 +Data = ncread(FileNC,'match_ozone') ; +elseif type==7 +Data = ncread(FileNC,'mocage_ozone') ; +elseif type==8 +Data = ncread(FileNC,'silam_ozone') ; + +end + +% user interface - allows the user to select an option to their needs +disp('Please select your desired format: ') +userInput = ('a - Standard Display (Trichromacy)\nb - Monochromacy Display \nc - Protanopia Display \n'); +option = input(userInput,'s'); +%Creating meshgrid +[X,Y] = meshgrid(lat,lon); +figure (1) +%Trichromacy: Ozone Overlay +if (option == 'a' || option == 'A') % this figure will display if a is selected + + for i = 1:24 %Loop for iterating + clf; % figure is cleared to display following hour + + % Creating the map of EUROPE + worldmap('Europe'); % Part of Earth to be displayed + + load coastlines % loading coastlines on map + plotm(coastlat,coastlon); %plotting coast data + land = shaperead('landareas', 'UseGeoCoords', true);%Plotting Land + geoshow(gca, land, 'FaceColor', [0.5 0.7 0.5]); + lakes = shaperead('worldlakes', 'UseGeoCoords', true); %Plotting Lakes + geoshow(lakes, 'FaceColor', 'blue'); + rivers = shaperead('worldrivers', 'UseGeoCoords', true); %Plotting rivers + geoshow(rivers, 'Color', 'blue'); + cities = shaperead('worldcities', 'UseGeoCoords', true); % Plotting cities + geoshow(cities, 'Marker', '.', 'Color', 'red'); + + % Plots the data and sets transparency and edges + surfm(X, Y, Data(:,:,i)', 'EdgeColor', 'none',... + 'FaceAlpha', 0.7); % edge colour outlines the edges, 'FaceAlpha', sets the transparency + colormap default; % Normal vision mode + colorbar % Displaying colour bar + title(sprintf("Standard View: Hour " + i + "\n" )); % title (displays hour and the type of view) + pause(5); % time for each hour - pauses for 1 second + end + +% Monochromacy: Ozone Overlay +elseif (option == 'b' || option == 'B') % this figure will display if c is selected + for i = 1:24 %Loop for iterating + clf; % figure is cleared to display following hour + + % Creating the map of EUROPE + worldmap('Europe'); % Part of Earth to be displayed + + load coastlines % loading coastlines on map + plotm(coastlat,coastlon); %plotting coast data + land = shaperead('landareas', 'UseGeoCoords', true);%Plotting Land + geoshow(gca, land, 'FaceColor', [0.5 0.7 0.5]); + lakes = shaperead('worldlakes', 'UseGeoCoords', true); %Plotting Lakes + geoshow(lakes, 'FaceColor', 'blue'); + rivers = shaperead('worldrivers', 'UseGeoCoords', true); %Plotting rivers + geoshow(rivers, 'Color', 'blue'); + cities = shaperead('worldcities', 'UseGeoCoords', true); % Plotting cities + geoshow(cities, 'Marker', '.', 'Color', 'red'); + + % Plotting the data + surfm(X, Y, Data(:,:,i), 'EdgeColor', 'none',... + 'FaceAlpha', 0.7) % edge colour outlines the edges, 'FaceAlpha', sets the transparency + colormap gray; %ColorBlindness mode for monachromatic vision + colorbar % Displaying colour bar + title(sprintf("Monochromacy View: Hour " + i + "\n" )) % title + pause(0.1) % time for each hour + end + +% Protanopia: Ozone Overlay +elseif (option == 'c' || option == 'C') % this figure will display if c is selected + disp('Not coded yet'); +else + %Error Message if no option selected + disp('Sorry that is not an option from above! Please run the program again') + +end From d0c62f11dcc10405988b40afbfe9fdaef39ccc2b Mon Sep 17 00:00:00 2001 From: "Faiza Bibi (bibif5)" Date: Mon, 3 Aug 2020 01:27:29 +0100 Subject: [PATCH 9/9] Version8 In this version the Protonopia view has been implemented and the program is complete. --- Version8 | 144 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 144 insertions(+) create mode 100644 Version8 diff --git a/Version8 b/Version8 new file mode 100644 index 0000000..f661b4b --- /dev/null +++ b/Version8 @@ -0,0 +1,144 @@ +clear all %clears and closes previously open figures +close all +clc + +%Reading the .nc file +FileNC = 'o3_surface_20180701000000.nc' ; + +%Printing information of the file in command window +ncinfo(FileNC) +%Longitude +long = ncread(FileNC,'lon'); +%Length of longitude +nx = length(long) ; +%Latitude +lat = ncread(FileNC,'lat'); +%Length of Latitude +ny = length(lat) ; +%Total number of time hours in a day +time = ncread(FileNC,'hour'); + +%Longitude and latitude for plotting. Converting it to double values +lon=double(long); +lat=double(lat); + +%Selecting the data type +disp('Please select which climate model you would like to view: '); +type=input('1- chimere_ozone \n2- emep_ozone \n3- ensemble_ozone \n4- eurad_ozone \n5- lotoseuros_ozone \n6- match_ozone \n7- mocage_ozone \n8- silam_ozone \n'); + +%Data having all the data in it +if type==1 +Data = ncread(FileNC,'chimere_ozone') ; +elseif type==2 +Data = ncread(FileNC,'emep_ozone') ; +elseif type==3 +Data = ncread(FileNC,'ensemble_ozone') ; +elseif type==4 +Data = ncread(FileNC,'eurad_ozone') ; +elseif type==5 +Data = ncread(FileNC,'lotoseuros_ozone') ; +elseif type==6 +Data = ncread(FileNC,'match_ozone') ; +elseif type==7 +Data = ncread(FileNC,'mocage_ozone') ; +elseif type==8 +Data = ncread(FileNC,'silam_ozone') ; + +end + +% user interface - allows the user to select an option to their needs +disp('Please select your desired format: ') +userInput = ('a - Standard Display (Trichromacy)\nb - Monochromacy Display \nc - Protanopia Display \n'); +option = input(userInput,'s'); +%Creating meshgrid +[X,Y] = meshgrid(lat,lon); +figure (1) +%Trichromacy: Ozone Overlay +if (option == 'a' || option == 'A') % this figure will display if a is selected + + for i = 1:24 %Loop for iterating + clf; % figure is cleared to display following hour + + % Creating the map of EUROPE + worldmap('Europe'); % Part of Earth to be displayed + + load coastlines % loading coastlines on map + plotm(coastlat,coastlon); %plotting coast data + land = shaperead('landareas', 'UseGeoCoords', true);%Plotting Land + geoshow(gca, land, 'FaceColor', [0.5 0.7 0.5]); + lakes = shaperead('worldlakes', 'UseGeoCoords', true); %Plotting Lakes + geoshow(lakes, 'FaceColor', 'blue'); + rivers = shaperead('worldrivers', 'UseGeoCoords', true); %Plotting rivers + geoshow(rivers, 'Color', 'blue'); + cities = shaperead('worldcities', 'UseGeoCoords', true); % Plotting cities + geoshow(cities, 'Marker', '.', 'Color', 'red'); + + % Plots the data and sets transparency and edges + surfm(X, Y, Data(:,:,i)', 'EdgeColor', 'none',... + 'FaceAlpha', 0.7); % edge colour outlines the edges, 'FaceAlpha', sets the transparency + colormap default; % Normal vision mode + colorbar % Displaying colour bar + title(sprintf("Standard View: Hour " + i + "\n" )); % title (displays hour and the type of view) + pause(0.1); % time for each hour - pauses for 1 second + end + +% Monochromacy: Ozone Overlay +elseif (option == 'b' || option == 'B') % this figure will display if c is selected + for i = 1:24 %Loop for iterating + clf; % figure is cleared to display following hour + + % Creating the map of EUROPE + worldmap('Europe'); % Part of Earth to be displayed + + load coastlines % loading coastlines on map + plotm(coastlat,coastlon); %plotting coast data + land = shaperead('landareas', 'UseGeoCoords', true);%Plotting Land + geoshow(gca, land, 'FaceColor', [0.5 0.7 0.5]); + lakes = shaperead('worldlakes', 'UseGeoCoords', true); %Plotting Lakes + geoshow(lakes, 'FaceColor', 'blue'); + rivers = shaperead('worldrivers', 'UseGeoCoords', true); %Plotting rivers + geoshow(rivers, 'Color', 'blue'); + cities = shaperead('worldcities', 'UseGeoCoords', true); % Plotting cities + geoshow(cities, 'Marker', '.', 'Color', 'red'); + + % Plotting the data + surfm(X, Y, Data(:,:,i), 'EdgeColor', 'none',... + 'FaceAlpha', 0.7) % edge colour outlines the edges, 'FaceAlpha', sets the transparency + colormap gray; %ColorBlindness mode for monachromatic vision + colorbar % Displaying colour bar + title(sprintf("Monochromacy View: Hour " + i + "\n" )) % title + pause(0.1) % time for each hour + end +% Protanopia: Ozone Overlay +elseif (option == 'c' || option == 'C') % this figure will display if c is selected + for i = 1:24 %Loop for iterating + clf; % figure is cleared to display following hour + + % Creating the map of EUROPE + worldmap('Europe'); % Part of Earth to be displayed + + load coastlines % loading coastlines on map + plotm(coastlat,coastlon); %plotting coast data + land = shaperead('landareas', 'UseGeoCoords', true);%Plotting Land + geoshow(gca, land, 'FaceColor', [0.5 0.7 0.5]); + lakes = shaperead('worldlakes', 'UseGeoCoords', true); %Plotting Lakes + geoshow(lakes, 'FaceColor', 'blue'); + rivers = shaperead('worldrivers', 'UseGeoCoords', true); %Plotting rivers + geoshow(rivers, 'Color', 'blue'); + cities = shaperead('worldcities', 'UseGeoCoords', true); % Plotting cities + geoshow(cities, 'Marker', '.', 'Color', 'red'); + + % Plot the data + surfm(X, Y, Data(:,:,i), 'EdgeColor', 'none',... + 'FaceAlpha', 0.7) % edge colour outlines the edges, 'FaceAlpha', sets the transparency + colormap Jet ; % ColorBlindness mode for protanopes + colorbar % diaplaying colorbar + title(sprintf("Protanopia View: Hour " + i + "\n" )) % title + pause(0.1) % time for each hour + end + +else + %Error Message if no option selected + disp('Sorry that is not an option from above! Please run the program again') + +end