How can I plot polar stereographic projection?

49 visualizaciones (últimos 30 días)
BD
BD el 26 de Feb. de 2016
Comentada: strange_charm el 17 de Jun. de 2019
Hello, I have concentration, latitude and longitude data as [m x n] matrices from NSIDC (<http://nsidc.org/data/docs/daac/nsidc0079_bootstrap_seaice.gd.html)>. The data are gridded over polar stereographic grid. Can someone help me to plot sea ice concentration over the Arctic?
Thanks very much, BD

Respuesta aceptada

Chad Greene
Chad Greene el 26 de Feb. de 2016
I did this for the Antarctic in a function called seaice.
You'll want to download psn25lats_v3.dat and pss25lats_v3.dat, which contain lat,lon grid information. The seaice function imports lat,lon grids for the southern hemisphere like this:
fid = fopen('pss25lons_v3.dat');
lon = fread(fid,[316 332],'long','ieee-le')/100000;
fclose(fid);
fid = fopen('pss25lats_v3.dat');
lat = fread(fid,[316 332],'long','ieee-le')/100000;
fclose(fid);
You can then use Andrew Bliss' polarstereo_fwd to convert lat,lon to x,y and plot with pcolor or imagesc.
Hope this helps.
  3 comentarios
Chad Greene
Chad Greene el 1 de Mzo. de 2016
What are the values in x and y after they're defined by polarstereo_fwd? They should be on the order of 10^6 meters.
Chad Greene
Chad Greene el 4 de Mayo de 2016
I have now written a function for the arctic as well. It's called arcticseaice.

Iniciar sesión para comentar.

Más respuestas (1)

Chad Greene
Chad Greene el 6 de Ag. de 2018
One option is to use Arctic Mapping Tools for Matlab, which includes functions to transform between geo coordinates and polar stereographic coordinates. Also includes many functions such as plotpsn and pcolorpsn which plot lat,lon data in polar stereographic (north) coordinates.
  3 comentarios
Chad Greene
Chad Greene el 17 de Jun. de 2019
You'll need to turn your vectors into grids, and you can do that with one step. It will probably be either:
[Lat,Lon] = meshgrid(lat,lon);
pcolorpsn(Lat,Lon,Z)
or possibly
[Lon,Lat] = meshgrid(lon,lat);
pcolorps(Lat,Lon,Z);
That should be all you need. If you try one of this and it seems to work except that the results are upside down, you might need to do fliplr(lon) or flipud(lon) or fliplr(lat) or flipud(lat) inside the call to meshgrid.
strange_charm
strange_charm el 17 de Jun. de 2019
Thank you! I also saw your comment at the same time (both upvoted).

Iniciar sesión para comentar.

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by