Skip to content
Permalink
master
Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?
Go to file
 
 
Cannot retrieve contributors at this time
%%Open nc file which is used to extract the date
ncfile = 'o3_surface_20180701000000.nc';
clc;
%%Welcome message
disp('Hi, welcome to my ensemble visualization program')
x = input('Press any key to move to the next page')
clc;
disp('This program allows you to view the ozone layer on different map models in a european map')
disp('This program has accessiblity support for colour blind users')
colorblind = input("if you're colourblind please enter 1, if not enter 0 ..");
clc;
%%This section of code let's the user pick which ozone model they want to
%%use
disp('Pick 1 of the 3 ozone map models')
disp('1: Match Ozone map model')
disp('2: Mocage Ozone map model')
disp('3: Emep Ozone map model')
MenuMapChoice = input('Enter the map model number you want to use')
if MenuMapChoice == 1
ozoneModel = 'match_ozone'
clc;
disp('Match Ozone map model will be used to display the ozone effect')
pause(2)
elseif MenuMapChoice == 2
ozoneModel = 'mocage_ozone'
clc;
disp('Mocage Ozone map model will be used to display the ozone effect')
pause(2)
elseif MenuMapChoice == 3
ozoneModel = 'emep_ozone'
clc;
disp('Emep Ozone map model will be used to display the ozone effect')
pause(2)
end
disp('Extracting map data ...')
%%Extract data from the nc file to create the ensemble
lon = ncread(ncfile,'lon');
lat = ncread(ncfile,'lat');
time = ncread(ncfile,'hour');
SelectedOzone = ncread(ncfile,ozoneModel); %%this extracts the user selected Ozone model
[X,Y] = meshgrid(lon,lat);
clc;
%%adjusting the colourscheme of the map for colourblindness
if colorblind == 0
colormap default
elseif colorblind == 1
colormap gray
disp("Now the map has a greyscale colour theme")
end
disp('The map in the figure will load shortly ..')
%%Loops over the hours and shows the ozone layer for that hour
for k = 1 : length(time)
clf; %%clear figure window
matrix = pcolor(X,Y,SelectedOzone(:,:,k)');
matrix.EdgeAlpha = 0;
matrix.FaceAlpha = 0.8;
load coast %%loads the coastlines on map
cities = shaperead('worldcities', 'UseGeoCoords', true);%%loads the cities
bar = colorbar; %%creating the colour bar on the side which indicates the ozone levels
bar.Label.String = 'Ozone Level';
geoshow(cities, 'Marker', '+', 'Color', 'red') %%shows the cities on the map
hold on;
plot(long,lat,'k')
title(sprintf('Ensemble Data on Europe'))
annotation('textbox' , [0.2, 0.2, 0.5, 0], 'string', "Major European cities outlined by '+' symbol", 'EdgeColor','none')
pause(0.1)
end