Problems with m_proj for specific area of the world
18 views (last 30 days)
Show older comments
Hi,
I have recently switched from python and R to Matlab to use certain features that Matlab offers and Python doesn't. I have been looking at a lot of tutorials and info on my specific problem but cannot solve it.
I basically have Mean Sea Level Pressure data in a NetCDF file stored as lon lat and my data. I need to plot my data over and around Antarctica and also add coastlines using the m_map package but I keep getting error messages such as:
>> Output argument "ncst" (and maybe others) not assigned during call to
"\\filestore\MyFiles\StudentPG1\jb16006\Documents\MATLAB\private\mu_coast.m>mu_coast".
>> Error in m_coast (line 28)
h=mu_coast('default',varargin{:},'tag','m_coast');
Undefined function 'checkellipsoid' for input arguments of type 'double'.
>> Error in resetmstruct (line 29)
checkellipsoid(mstruct.geoid, 'resetmstruct', 'mstruct.geoid');
>> Error in axesm (line 139)
mstruct = resetmstruct(mstruct);
My code at the moment (which plots my data correctly but for the whole word) is as follows:
% Create overal world view of MSLP data
% ---------------------------------------
nc = netcdf.open('MSLP_lagged_15.nc','NC_NOWRITE');
high_15 = netcdf.getVar(nc,15,[0 0],[480 241],'double'); %(file, var number, Dim start, Dim end
lon = netcdf.getVar(nc,0,0,480) % (File, VarID, Start = 0 , End = 480)
lat = netcdf.getVar(nc,1,0,241) % (File, VarID, Start = 0 , End = 241)
for p = 1:480
for q = 1:241
if abs(high_15(p,q)) > 99 % get rid of 99 values if any and replace by NaN
high_15(p,q) = nan;
end
map(q,p) = high_15(p,q);
end
end
pcolor(lon,lat,map)
shading interp
h=colorbar('h')
%set(get(h,'title'),'string','ENSO MSLP Correlation');
hold on
contourf(lon,lat,map)
% ---------------------------------------
When I try to add:
>> m_coast('line');
m_grid('xaxis','bottom');
m_proj('stereographic','lats',90,'lons',45);
to get a focus on Antarctica, my data disappears completely and leaves me with a half white and half green figure of Antarctica's coastline but my data has disappeared completely. Is it an problem of ordering my code so that m_proj comes first before my data? And any idea why I always have error messages when I try to use packages such as m_coast? My Matlab version is MATLAB R2012b x64 and I have already reset my path just in case using:
>> restoredefaultpath;
rehash toolboxcache;
Any help on this would be useful.
Thanks.
0 Comments
Accepted Answer
Chad Greene
on 7 Jul 2017
pcolorps(lat,lon,map)
antbounds('coast')
I'm not sure how your lat,lon data are formatted, but you might need to do
[Lon,Lat] = meshgrid(lon,lat);
or
[Lat,Lon] = meshgrid(lat,lon);
before calling pcolorps.
0 Comments
More Answers (1)
Silver
on 25 Sep 2018
I have the same problem @Julien Bodart , did you get the solution ? If you did , pease share it so it helps.
0 Comments
See Also
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!