Plotting a worldmap with MLT instead of Geographic Latitude

64 views Asked by At

I am using MATLAB and was trying to plot energy distribution of ions as a Magnetic Latitude (MLAT) vs Magnetic Local Time (MLT) plot above Antarctica.

I have the energy distribution data as a function of MLAT-MLT co-ordinates so wanted to overplot this as a scatter plot on top of a polar plot (something similar to a geoplot with coastlines outlined as well). This is what I have tried:

all_data = load('struct.mat');   % loading the data
all_data = all_data.struct;
lat = all_data.lat;              % MLAT data
mlt = all_data.mlt;              % MLT data
heat = all_data.heat;            % energy data

load coastlines
worldmap([-90,-40],[-180,100])
sc = scatterm(lat,mlt,75,heat,'filled','s');
geoshow(coastlat,coastlon,"DisplayType","polygon", "FaceColor", 'none', "EdgeColor", 'k');
colormap('parula')
caxis([0 40000])
col = colorbar();

Figure(A): plot obtained after running the above block of codes

Clearly the scatter plot is compressed into a tiny region of 0-24 longitude values as the worldmap and geoshow have co-ordinates as latitude and longitude. I would however like to have the plot with MLT as the label that runs from 0-24 instead of longitude running from -180 to +180 so that the plot accurately reflects the MLT values.

Ideally, I am looking for something like the Figures 1, 2, 3 in the attached images below (obtained from - http://vt.superdarn.org/plot/quickconvection). Figure1, Figure2, Figure3

Those figures are MLAT-MLT plots with the Antartica coastlines overplotted on top as well. Additionally, as time passes Antartica should rotate in the MLAT-MLT co-ordinate grid as seen in those figures.

Thank you for any tips. P.S: Something similar in Python would also help if python can do a better job here.

0

There are 0 answers