Mark Piper is the IDL Product Manager. He has been at Exelis Visual Information Solutions for over 13 years and has been working with IDL for almost 20. Mark has a PhD in Astrophysical, Planetary and Atmospheric Sciences from the University of Colorado at Boulder. He loves to solve scientific programming and visualization problems with IDL and play Ultimate Frisbee. Follow him on Twitter: @TheIDLGuy.
Resources
-
Recent Posts
Recent Tweets
- Attend VISualize & take advantage of our #Landsat 8 one-day seminar w/ Jim Irons from LDCM! ow.ly/lcULP 1 day ago
- Read “#Landsat 8 Data Reader Included in ENVI 5 Service Pack 3” & find out what’s coming soon! ow.ly/lhT2T 1 day ago
- You down with NPP? Dave G’s down with NPP! Read his latest post on ImagerySpeaks today! ow.ly/lftxd 1 day ago
Like Exelis VIS
Tags
(New) Graphics AGU arrays Atle Borsholm code performance control statements Direct Graphics ENVI 5 ENVI programming GRIB guest post hashes HDF5 IDL 8 IDL 8.1 IDL 8.2 IDL 8.2.1 IDL 8.2.2 IDLffVideoWrite image implicit Get/SetProperty Jim Pendleton keyword inheritance Linux lists map projections movies MPEG-4 NAME property netCDF NPP Object Graphics OOP PNG PostScript Ron Kneusel science! sorting user group VIIRS VISualize web welcome widget programming WIDGET_WINDOW

Mark,
I am trying to read an ECMWF GRIB2 file with some of your returns. I am using IDL 8.2. No matter which routine I try, it always seg faults. The file is huge; it is a ~T990 output from the ecmwf forecast, and comes in at 1.5 GB. It has hundreds of fields and thousands of records. I imagine there is a memory problem somewhere, though my machine should have plenty. I can read it with wgrib2, but not the IDL routines. Can you help?
Check out this post for (what I think is) a solution: http://idldatapoint.com/2012/09/06/updates-to-the-grib-helper-routines-2/.
Very beautiful … Thank you for this wonderful effort
Hi Mark, I keep getting the following error when trying to use new graphics to plot something to the screen, any tips?
Thank you.
======================================
% Internal error: Unable to set pixel format.
% IDLITWINDOW::ONEXPOSE: Unable to acquire device context.
% Unable to acquire device context.
% Execution halted at: $MAIN$
======================================
I’ve seen this error message on Linux. This Help Article may help.
Pingback: ENVI and IDL User Group at 2012 AGU Fall Meeting | The IDL Data Point
Hi Mark, I get the following error when trying to import some grib data using your “grib_get_record” routine:
GRIB_API ERROR : unable to get values as double array (Function not yet implemented)
GRIB_API ERROR : unable to create iterator
% GRIB_GET_RECORD: GRIB_GET: Function not yet implemented
Do you know if there is a way to deal with it or do I have to wait for an update from IDL guys ?
Thanks,
Guillaume
Mark,
I have matching data, longitude, and latitude arrays. These data can be geographically displayed using the map_patch function. However, I need a geoTIFF file. In the past, I have been able to resample data onto a linear longitude/latitude array and use geotrags you provided me with the simple projection to write a geoTIFF file. However, I now have data cross the poles. Hence, I cannot easily map into a linear long/lat grid. Is there a general way that will allow me to write a use the arrays of data, longitude, and latitude into a geoTIFF file of arbitrary projection. Thanks for any guidance you can provide.
Frank Monaldo,
Johns Hopkins APL.
Hi Mark,
I’ve been playing with polar stereographic projections with the new MAP function. Using box axes, it takes a bit of manipulating, but I can get the labels oriented sensibly. However, while I want a box style axis for longitude, I do NOT want one for latitudes in this projection for maps centered at the pole. Is there a way to keep the one, and delete the other? FWIW, here’s the code used to generate the image I’m looking at.
;…Basic Polar-stereographic map of the Arctic region.
map = MAP( ‘Polar Stereographic’, $
ELLIPSOID=’WGS84′, $
LIMIT=[55, 0, 90, 360], $
CENTER_LONGITUDE=315, $
TRUE_SCALE_LATITUDE=70, $
FILL_COLOR = “light blue”, $
POSITION=[0.15,0.15,0.85,0.85], $
FONT_SIZE=10 )
mc = MAPCONTINENTS( /COUNTRIES,FILL_COLOR=”light green”, COMBINE=0 )
;…Convert the grid to box axes
grid = map.MAPGRID
grid.BOX_AXES = 1
grid.LINESTYLE = “dotted”
grid.GRID_LONGITUDE=45
grid.LABEL_POSITION = 0
;…Erase the latitude labels so they don’t cover data
latitudes = grid.latitudes
FOR i=0,N_ELEMENTS(Latitudes)-1 DO Latitudes[i].Label_Show = 0
;…BUT HOW DO YOU ERASE THE LATITUDE PART OF THE BOX AXES?
;…Change the orientation of the longitudes that are upside down. This
;…requires changing their positions as well.
longitudes = grid.longitudes
; 0 degs
Longitudes[0].Label_Angle = -45
Longitudes[0].Label_Align = -0.4
Longitudes[0].Label_VAlign = 0.5
; 360 degs at same location as 0 deg.
Longitudes[8].Label_Show = 0
; 45 deg E
Longitudes[1].Label_Angle = 0
Longitudes[1].Label_Align = -0.4
Longitudes[1].Label_VAlign = 0.5
; 90 deg E
Longitudes[2].Label_Angle = 45
Longitudes[2].Label_Align = -0.4
Longitudes[2].Label_VAlign = 0.5
; 135 deg E (top)
Longitudes[3].Label_Angle = 0
Longitudes[3].Label_Align = 0.5
Longitudes[3].Label_VAlign = -0.8
; 45 deg W (bottom)
Longitudes[7].Label_Angle = 0
Longitudes[7].Label_Align = 0.5
Longitudes[7].Label_VAlign = 1.8
end