Post on 07-Apr-2018
transcript
DRAFT
DRAFTGDL – GNU Data Language
a free/libre/open-source implementation of IDL/PV-WAVE*
developed by Marc Schellens and The GDL teamdocumentation maintained by Sylwester Arabas and Alain Coulais
January 3, 2012* IDL (Interactive Data Language) and PV-WAVE (Precision Visuals - Workstation Analysis and Visualization Environment)
are (were) registered trademarks of EXELIS VIS (ITT VIS; Research Systems, Inc.) and Rogue Wave Software (Visual Numerics; Precision Visuals), respectively
DRAFT
DRAFTContents
About GDL . . . . . . . . . . . . . . . . . . . . . 7License . . . . . . . . . . . . . . . . . . . . . . . 7Credits . . . . . . . . . . . . . . . . . . . . . . . 7Providing fedback . . . . . . . . . . . . . . . . . . 7Organization of this document . . . . . . . . . . . 8
I. User’s guideChapter 1. Obtaining, installing, and invoking GDL 11Requirements and supported environments . . . . 11Availability of pre-compiled packages . . . . . . . 11Compiling GDL from source . . . . . . . . . . . . 11Installation layout . . . . . . . . . . . . . . . . . . 11Command-line options . . . . . . . . . . . . . . . 11Influential environmental variables . . . . . . . . . 11
Chapter 2. Language reference . . . . . . . . . . . 12Syntax basics . . . . . . . . . . . . . . . . . . . . 12Datatypes . . . . . . . . . . . . . . . . . . . . . . 12Operators . . . . . . . . . . . . . . . . . . . . . . 12Flow control structures . . . . . . . . . . . . . . . 12Variable scoping rules . . . . . . . . . . . . . . . . 14Functions and procedures . . . . . . . . . . . . . . 14Argument passing . . . . . . . . . . . . . . . . . . 14Arrays . . . . . . . . . . . . . . . . . . . . . . . . 15Structures . . . . . . . . . . . . . . . . . . . . . . 15System variables (global) . . . . . . . . . . . . . . 15Heap variables (pointers) . . . . . . . . . . . . . . 15The HELP procedure . . . . . . . . . . . . . . . . 15Object-oriented programming . . . . . . . . . . . 15Handling Overflows, Floating Point Special Values 15Error handling . . . . . . . . . . . . . . . . . . . . 15Compile options . . . . . . . . . . . . . . . . . . . 15
Chapter 3. Interpreter commands and built-indebugging facilities . . . . . . . . . . . . . . . . 17
Chapter 4. Maths . . . . . . . . . . . . . . . . . . 18Basic Scalar, vector and array operations . . . . . 18Basic and special function library . . . . . . . . . 18Linear algebra . . . . . . . . . . . . . . . . . . . . 19Statistics . . . . . . . . . . . . . . . . . . . . . . 19Interpolation . . . . . . . . . . . . . . . . . . . . 19Polynomials . . . . . . . . . . . . . . . . . . . . . 19Geometric calculations . . . . . . . . . . . . . . . 19Bitwise operations . . . . . . . . . . . . . . . . . 19Function fitting . . . . . . . . . . . . . . . . . . . 19Fourier analysis . . . . . . . . . . . . . . . . . . . 20Multidimensional root-finding . . . . . . . . . . . 20Random numbers . . . . . . . . . . . . . . . . . . 20Ordinary differential equations . . . . . . . . . . . 20Wavelet analysis . . . . . . . . . . . . . . . . . . 20Mathematical and physical constants . . . . . . . 20
Chapter 5. Input/output, supported data formats 21Basics – accessing files and io streams . . . . . . . 21ASCII . . . . . . . . . . . . . . . . . . . . . . . . 21CSV . . . . . . . . . . . . . . . . . . . . . . . . . 21Binary data (raw access) . . . . . . . . . . . . . . 21FITS . . . . . . . . . . . . . . . . . . . . . . . . . 21netCDF . . . . . . . . . . . . . . . . . . . . . . . 21HDF4 . . . . . . . . . . . . . . . . . . . . . . . . 21HDF5 . . . . . . . . . . . . . . . . . . . . . . . . 21raster images (TIFF, PNG, JPEG, . . . ) . . . . . . 22DICOM . . . . . . . . . . . . . . . . . . . . . . . 22GRIB . . . . . . . . . . . . . . . . . . . . . . . . 22IDL save files . . . . . . . . . . . . . . . . . . . . 22
Chapter 6. Plotting and mapping . . . . . . . . . 232D plots . . . . . . . . . . . . . . . . . . . . . . . 233D plots . . . . . . . . . . . . . . . . . . . . . . . 23Plotting raster data . . . . . . . . . . . . . . . . . 23Managing multiple windows . . . . . . . . . . . . 23Map projections . . . . . . . . . . . . . . . . . . . 23Output terminals . . . . . . . . . . . . . . . . . . 23Working with colours . . . . . . . . . . . . . . . . 23Fonts, symbols and text formatting . . . . . . . . 24
Misc . . . . . . . . . . . . . . . . . . . . . . . . . 24Chapter 7. Interaction with host OS . . . . . . . . 25
Executing external commands (via shell or not) . . 25Filesystem operations . . . . . . . . . . . . . . . . 25Network operations . . . . . . . . . . . . . . . . . 25Command-line options and environmental variables 25
Chapter 8. Manipulating strings . . . . . . . . . . 26Chapter 9. Representing date & time . . . . . . . 27Chapter 10. Image processing . . . . . . . . . . . 28Chapter 11. Parallel processing . . . . . . . . . . . 29
Built-in features (OpenMP) . . . . . . . . . . . . 29Semaphores and shared memory (library routines) . 29ImageMagick’s features . . . . . . . . . . . . . . . 29MPI and GDL . . . . . . . . . . . . . . . . . . . . 29
Chapter 12. GUI programming (widgets) . . . . . 30Chapter 13. Dynamic loading . . . . . . . . . . . . 31Chapter 14. The Python bridge . . . . . . . . . . 32
calling Python code from GDL . . . . . . . . . . . 32calling GDL code from Python . . . . . . . . . . . 32
Chapter 15. Alphabetical list of library routines . 33ABS() function . . . . . . . . . . . . . . . . . . . 33ACOS() function . . . . . . . . . . . . . . . . . . 33ALOG() function . . . . . . . . . . . . . . . . . . 33ALOG10() function . . . . . . . . . . . . . . . . . 33APPLEMAN procedure . . . . . . . . . . . . . . . 33ARG_PRESENT() function . . . . . . . . . . . . 34ARRAY_EQUAL() function . . . . . . . . . . . . 34ARRAY_INDICES() function . . . . . . . . . . . . 34ASIN() function . . . . . . . . . . . . . . . . . . . 34ASSOC() function . . . . . . . . . . . . . . . . . 34ATAN() function . . . . . . . . . . . . . . . . . . 34AXIS procedure . . . . . . . . . . . . . . . . . . . 35BESELI() function . . . . . . . . . . . . . . . . . 35BESELJ() function . . . . . . . . . . . . . . . . . 35BESELK() function . . . . . . . . . . . . . . . . . 35BESELY() function . . . . . . . . . . . . . . . . . 35BETA() function . . . . . . . . . . . . . . . . . . 35BILINEAR() function . . . . . . . . . . . . . . . . 35
DRAFT
DRAFTContents 3
BINDGEN() function . . . . . . . . . . . . . . . . 35BROYDEN() function . . . . . . . . . . . . . . . 35BYTARR() function . . . . . . . . . . . . . . . . 35BYTE() function . . . . . . . . . . . . . . . . . . 35BYTEORDER procedure . . . . . . . . . . . . . . 36BYTSCL() function . . . . . . . . . . . . . . . . . 36CALDAT procedure . . . . . . . . . . . . . . . . . 36CALENDAR procedure . . . . . . . . . . . . . . . 36CALL_EXTERNAL() function . . . . . . . . . . . 36CALL_FUNCTION() function . . . . . . . . . . . 38CALL_METHOD procedure . . . . . . . . . . . . 38CALL_METHOD() function . . . . . . . . . . . . 38CALL_PROCEDURE procedure . . . . . . . . . . 38CATCH procedure . . . . . . . . . . . . . . . . . 38CD procedure . . . . . . . . . . . . . . . . . . . . 38CDF_EPOCH procedure . . . . . . . . . . . . . . 38CEIL() function . . . . . . . . . . . . . . . . . . . 39CHECK_MATH() function . . . . . . . . . . . . . 39CINDGEN() function . . . . . . . . . . . . . . . . 39CLOSE procedure . . . . . . . . . . . . . . . . . . 39COMMAND_LINE_ARGS() function . . . . . . . 39COMPLEX() function . . . . . . . . . . . . . . . 39COMPLEXARR() function . . . . . . . . . . . . . 39CONGRID() function . . . . . . . . . . . . . . . . 39CONJ() function . . . . . . . . . . . . . . . . . . 39CONTOUR procedure . . . . . . . . . . . . . . . 39CONVERT_COORD() function . . . . . . . . . . 39CONVOL() function . . . . . . . . . . . . . . . . 40CORRELATE() function . . . . . . . . . . . . . . 40COS() function . . . . . . . . . . . . . . . . . . . 40COSH() function . . . . . . . . . . . . . . . . . . 40CPU procedure . . . . . . . . . . . . . . . . . . . 41CREATE_STRUCT() function . . . . . . . . . . . 41CROSSP() function . . . . . . . . . . . . . . . . . 41CURSOR procedure . . . . . . . . . . . . . . . . . 41DBLARR() function . . . . . . . . . . . . . . . . 41DCINDGEN() function . . . . . . . . . . . . . . . 41DCOMPLEX() function . . . . . . . . . . . . . . 41DCOMPLEXARR() function . . . . . . . . . . . . 41DEFSYSV procedure . . . . . . . . . . . . . . . . 41DERIV() function . . . . . . . . . . . . . . . . . . 41
DETERM() function . . . . . . . . . . . . . . . . 41DEVICE procedure . . . . . . . . . . . . . . . . . 41DIALOG_MESSAGE() function . . . . . . . . . . 42DIALOG_PICKFILE() function . . . . . . . . . . 42DINDGEN() function . . . . . . . . . . . . . . . . 42DIST() function . . . . . . . . . . . . . . . . . . . 42DOUBLE() function . . . . . . . . . . . . . . . . 42EOF() function . . . . . . . . . . . . . . . . . . . 42ERASE procedure . . . . . . . . . . . . . . . . . . 42ERF() function . . . . . . . . . . . . . . . . . . . 42ERFC() function . . . . . . . . . . . . . . . . . . 43ERRORF() function . . . . . . . . . . . . . . . . 43ESCAPE_SPECIAL_CHAR() function . . . . . . 43EXECUTE() function . . . . . . . . . . . . . . . . 43EXIT procedure . . . . . . . . . . . . . . . . . . . 43EXP() function . . . . . . . . . . . . . . . . . . . 43EXPAND_PATH() function . . . . . . . . . . . . 43EXPINT() function . . . . . . . . . . . . . . . . . 43FACTORIAL() function . . . . . . . . . . . . . . . 43FFT() function . . . . . . . . . . . . . . . . . . . 44FILEPATH() function . . . . . . . . . . . . . . . . 44FILE_BASENAME() function . . . . . . . . . . . 44FILE_COPY procedure . . . . . . . . . . . . . . . 44FILE_DELETE procedure . . . . . . . . . . . . . 44FILE_DIRNAME() function . . . . . . . . . . . . 45FILE_EXPAND_PATH() function . . . . . . . . . 45FILE_INFO() function . . . . . . . . . . . . . . . 45FILE_LINES() function . . . . . . . . . . . . . . . 45FILE_MKDIR procedure . . . . . . . . . . . . . . 45FILE_SAME() function . . . . . . . . . . . . . . . 45FILE_SEARCH() function . . . . . . . . . . . . . 45FILE_TEST() function . . . . . . . . . . . . . . . 45FILE_WHICH() function . . . . . . . . . . . . . . 45FINDEX() function . . . . . . . . . . . . . . . . . 45FINDFILE() function . . . . . . . . . . . . . . . . 45FINDGEN() function . . . . . . . . . . . . . . . . 46FINITE() function . . . . . . . . . . . . . . . . . 46FIX() function . . . . . . . . . . . . . . . . . . . 46FLOAT() function . . . . . . . . . . . . . . . . . 46FLOOR() function . . . . . . . . . . . . . . . . . 46FLTARR() function . . . . . . . . . . . . . . . . . 46
FLUSH procedure . . . . . . . . . . . . . . . . . . 46FREE_LUN procedure . . . . . . . . . . . . . . . 46FSTAT() function . . . . . . . . . . . . . . . . . . 46GAMMA() function . . . . . . . . . . . . . . . . . 46GAUSSINT() function . . . . . . . . . . . . . . . 46GAUSS_CVF() function . . . . . . . . . . . . . . 46GAUSS_PDF() function . . . . . . . . . . . . . . 46GDL_ERFINV() function . . . . . . . . . . . . . . 47GETENV() function . . . . . . . . . . . . . . . . 47GET_DRIVE_LIST() function . . . . . . . . . . . 47GET_KBRD() function . . . . . . . . . . . . . . . 47GET_LOGIN_INFO() function . . . . . . . . . . 47GET_LUN procedure . . . . . . . . . . . . . . . . 47GET_SCREEN_SIZE() function . . . . . . . . . . 47GRIBAPI_CLONE() function . . . . . . . . . . . 47GRIBAPI_CLOSE_FILE procedure . . . . . . . . 47GRIBAPI_COUNT_IN_FILE() function . . . . . . 47GRIBAPI_GET procedure . . . . . . . . . . . . . 47GRIBAPI_GET_DATA procedure . . . . . . . . . 47GRIBAPI_GET_SIZE() function . . . . . . . . . . 48GRIBAPI_NEW_FROM_FILE() function . . . . . 48GRIBAPI_OPEN_FILE() function . . . . . . . . . 48GRIBAPI_RELEASE procedure . . . . . . . . . . 48GSL_EXP() function . . . . . . . . . . . . . . . . 48H5A_CLOSE procedure . . . . . . . . . . . . . . 48H5A_GET_NAME() function . . . . . . . . . . . 48H5A_GET_NUM_ATTRS() function . . . . . . . 48H5A_GET_SPACE() function . . . . . . . . . . . 48H5A_GET_TYPE() function . . . . . . . . . . . 48H5A_OPEN_IDX() function . . . . . . . . . . . . 48H5A_OPEN_NAME() function . . . . . . . . . . 48H5A_READ() function . . . . . . . . . . . . . . . 48H5D_CLOSE procedure . . . . . . . . . . . . . . 48H5D_GET_SPACE() function . . . . . . . . . . . 49H5D_GET_TYPE() function . . . . . . . . . . . 49H5D_OPEN() function . . . . . . . . . . . . . . . 49H5D_READ() function . . . . . . . . . . . . . . . 49H5F_CLOSE procedure . . . . . . . . . . . . . . 49H5F_IS_HDF5() function . . . . . . . . . . . . . 49H5F_OPEN() function . . . . . . . . . . . . . . . 49H5G_CLOSE procedure . . . . . . . . . . . . . . 49
DRAFT
DRAFT4 Contents
H5G_OPEN() function . . . . . . . . . . . . . . . 49H5S_CLOSE procedure . . . . . . . . . . . . . . 49H5S_GET_SIMPLE_EXTENT_DIMS() function . 49H5T_CLOSE procedure . . . . . . . . . . . . . . 49H5T_GET_SIZE() function . . . . . . . . . . . . 49H5_GET_LIBVERSION() function . . . . . . . . 50HDF_CLOSE procedure . . . . . . . . . . . . . . 50HDF_OPEN() function . . . . . . . . . . . . . . . 50HDF_SD_ADDDATA procedure . . . . . . . . . . 50HDF_SD_ATTRFIND() function . . . . . . . . . 50HDF_SD_ATTRINFO procedure . . . . . . . . . 50HDF_SD_CREATE() function . . . . . . . . . . . 50HDF_SD_DIMGET procedure . . . . . . . . . . . 50HDF_SD_DIMGETID() function . . . . . . . . . 50HDF_SD_END procedure . . . . . . . . . . . . . 50HDF_SD_ENDACCESS procedure . . . . . . . . 50HDF_SD_FILEINFO procedure . . . . . . . . . . 50HDF_SD_GETDATA procedure . . . . . . . . . . 51HDF_SD_GETINFO procedure . . . . . . . . . . 51HDF_SD_NAMETOINDEX() function . . . . . . 51HDF_SD_SELECT() function . . . . . . . . . . . 51HDF_SD_START() function . . . . . . . . . . . 51HDF_VD_ATTACH() function . . . . . . . . . . 51HDF_VD_DETACH procedure . . . . . . . . . . 51HDF_VD_FIND() function . . . . . . . . . . . . 51HDF_VD_GET procedure . . . . . . . . . . . . . 51HDF_VD_READ() function . . . . . . . . . . . . 51HDF_VG_ATTACH() function . . . . . . . . . . 51HDF_VG_DETACH procedure . . . . . . . . . . . 51HDF_VG_GETID() function . . . . . . . . . . . . 51HDF_VG_GETINFO procedure . . . . . . . . . . 51HDF_VG_GETTRS procedure . . . . . . . . . . . 52HEAP_GC procedure . . . . . . . . . . . . . . . . 52HELP procedure . . . . . . . . . . . . . . . . . . 52HELPFORM() function . . . . . . . . . . . . . . . 52HISTOGRAM() function . . . . . . . . . . . . . . 52HIST_2D() function . . . . . . . . . . . . . . . . 52HIST_ND() function . . . . . . . . . . . . . . . . 52IDENTITY() function . . . . . . . . . . . . . . . 53IDL_BASE64() function . . . . . . . . . . . . . . 53IDL_VALIDNAME() function . . . . . . . . . . . 53
IGAMMA() function . . . . . . . . . . . . . . . . 53IMAGE_STATISTICS procedure . . . . . . . . . . 53IMAGINARY() function . . . . . . . . . . . . . . 53IMSL_BINOMIALCOEF() function . . . . . . . . 53IMSL_CONSTANT() function . . . . . . . . . . . 54IMSL_ERF() function . . . . . . . . . . . . . . . 55IMSL_ZEROPOLY() function . . . . . . . . . . . 55IMSL_ZEROSYS() function . . . . . . . . . . . . 55INDGEN() function . . . . . . . . . . . . . . . . . 56INTARR() function . . . . . . . . . . . . . . . . . 56INTERPOL() function . . . . . . . . . . . . . . . 56INTERPOLATE() function . . . . . . . . . . . . . 56INVERT() function . . . . . . . . . . . . . . . . . 56ISHFT() function . . . . . . . . . . . . . . . . . . 56JOURNAL procedure . . . . . . . . . . . . . . . . 56KEYWORD_SET() function . . . . . . . . . . . . 56KURTOSIS() function . . . . . . . . . . . . . . . 56L64INDGEN() function . . . . . . . . . . . . . . . 56LAGUERRE() function . . . . . . . . . . . . . . . 56LAST_ITEM() function . . . . . . . . . . . . . . 56LA_TRIRED procedure . . . . . . . . . . . . . . . 56LEGENDRE() function . . . . . . . . . . . . . . . 57LINDGEN() function . . . . . . . . . . . . . . . . 57LINKIMAGE procedure . . . . . . . . . . . . . . . 57LL_ARC_DISTANCE() function . . . . . . . . . . 57LMGR() function . . . . . . . . . . . . . . . . . . 57LNGAMMA() function . . . . . . . . . . . . . . . 57LOADCT procedure . . . . . . . . . . . . . . . . 57LOADCT_INTERNALGDL procedure . . . . . . . 58LOCALE_GET() function . . . . . . . . . . . . . 58LOGICAL_AND() function . . . . . . . . . . . . . 59LOGICAL_OR() function . . . . . . . . . . . . . . 59LOGICAL_TRUE() function . . . . . . . . . . . . 59LON64ARR() function . . . . . . . . . . . . . . . 59LONARR() function . . . . . . . . . . . . . . . . 59LONG() function . . . . . . . . . . . . . . . . . . 59LONG64() function . . . . . . . . . . . . . . . . . 59LUDC procedure . . . . . . . . . . . . . . . . . . 59LUSOL() function . . . . . . . . . . . . . . . . . 59MACHAR() function . . . . . . . . . . . . . . . . 59MAGICK_ADDNOISE procedure . . . . . . . . . 59
MAGICK_CLOSE procedure . . . . . . . . . . . . 59MAGICK_COLORMAPSIZE() function . . . . . . 60MAGICK_COLUMNS() function . . . . . . . . . . 60MAGICK_CREATE() function . . . . . . . . . . . 60MAGICK_DISPLAY procedure . . . . . . . . . . . 60MAGICK_EXISTS() function . . . . . . . . . . . 60MAGICK_FLIP procedure . . . . . . . . . . . . . 60MAGICK_INDEXEDCOLOR() function . . . . . . 60MAGICK_INTERLACE procedure . . . . . . . . . 60MAGICK_MAGICK() function . . . . . . . . . . . 60MAGICK_MATTE procedure . . . . . . . . . . . 60MAGICK_OPEN() function . . . . . . . . . . . . 60MAGICK_PING() function . . . . . . . . . . . . . 60MAGICK_QUALITY procedure . . . . . . . . . . 60MAGICK_QUANTIZE procedure . . . . . . . . . 61MAGICK_READ() function . . . . . . . . . . . . 61MAGICK_READCOLORMAPRGB procedure . . . 61MAGICK_READINDEXES() function . . . . . . . 61MAGICK_ROWS() function . . . . . . . . . . . . 61MAGICK_WRITE procedure . . . . . . . . . . . . 61MAGICK_WRITECOLORTABLE procedure . . . . 61MAGICK_WRITEFILE procedure . . . . . . . . . 61MAGICK_WRITEINDEXES procedure . . . . . . 61MAKE_ARRAY() function . . . . . . . . . . . . . 61MAP_CLIP_SET procedure . . . . . . . . . . . . 61MAP_CONTINENTS procedure . . . . . . . . . . 61MATRIX_MULTIPLY() function . . . . . . . . . . 61MAX() function . . . . . . . . . . . . . . . . . . . 62MEAN() function . . . . . . . . . . . . . . . . . . 62MEANABSDEV() function . . . . . . . . . . . . . 62MEDIAN() function . . . . . . . . . . . . . . . . 62MEMORY() function . . . . . . . . . . . . . . . . 62MESSAGE procedure . . . . . . . . . . . . . . . . 62MIN() function . . . . . . . . . . . . . . . . . . . 62MOMENT() function . . . . . . . . . . . . . . . . 62NCDF_ATTCOPY() function . . . . . . . . . . . 62NCDF_ATTDEL procedure . . . . . . . . . . . . 62NCDF_ATTGET procedure . . . . . . . . . . . . 62NCDF_ATTINQ() function . . . . . . . . . . . . 62NCDF_ATTNAME() function . . . . . . . . . . . 62NCDF_ATTPUT procedure . . . . . . . . . . . . 62
DRAFT
DRAFTContents 5
NCDF_ATTRENAME procedure . . . . . . . . . . 63NCDF_CLOSE procedure . . . . . . . . . . . . . 63NCDF_CONTROL procedure . . . . . . . . . . . 63NCDF_CREATE() function . . . . . . . . . . . . 63NCDF_DIMDEF() function . . . . . . . . . . . . 63NCDF_DIMID() function . . . . . . . . . . . . . 63NCDF_DIMINQ procedure . . . . . . . . . . . . . 63NCDF_DIMRENAME procedure . . . . . . . . . . 63NCDF_EXISTS() function . . . . . . . . . . . . . 63NCDF_INQUIRE() function . . . . . . . . . . . . 63NCDF_OPEN() function . . . . . . . . . . . . . . 63NCDF_VARDEF() function . . . . . . . . . . . . 63NCDF_VARGET procedure . . . . . . . . . . . . 63NCDF_VARGET1 procedure . . . . . . . . . . . . 64NCDF_VARID() function . . . . . . . . . . . . . 64NCDF_VARINQ() function . . . . . . . . . . . . 64NCDF_VARPUT procedure . . . . . . . . . . . . 64NCDF_VARRENAME procedure . . . . . . . . . . 64NEWTON() function . . . . . . . . . . . . . . . . 64NORM() function . . . . . . . . . . . . . . . . . . 64N_ELEMENTS() function . . . . . . . . . . . . . 64N_PARAMS() function . . . . . . . . . . . . . . . 64N_TAGS() function . . . . . . . . . . . . . . . . 64OBJARR() function . . . . . . . . . . . . . . . . 64OBJ_CLASS() function . . . . . . . . . . . . . . 64OBJ_DESTROY procedure . . . . . . . . . . . . 65OBJ_ISA() function . . . . . . . . . . . . . . . . 65OBJ_NEW() function . . . . . . . . . . . . . . . 65OBJ_VALID() function . . . . . . . . . . . . . . . 66ON_ERROR procedure . . . . . . . . . . . . . . . 66OPENR procedure . . . . . . . . . . . . . . . . . 66OPENU procedure . . . . . . . . . . . . . . . . . 66OPENW procedure . . . . . . . . . . . . . . . . . 66OPLOT procedure . . . . . . . . . . . . . . . . . 66PARSE_URL() function . . . . . . . . . . . . . . 66PATH_SEP() function . . . . . . . . . . . . . . . 67PLOT procedure . . . . . . . . . . . . . . . . . . 67PLOTERR procedure . . . . . . . . . . . . . . . . 67PLOTS procedure . . . . . . . . . . . . . . . . . 67PM procedure . . . . . . . . . . . . . . . . . . . . 67POINT_LUN procedure . . . . . . . . . . . . . . 67
POLY() function . . . . . . . . . . . . . . . . . . 67POLYFILL procedure . . . . . . . . . . . . . . . . 67POLY_2D() function . . . . . . . . . . . . . . . . 68POLY_AREA() function . . . . . . . . . . . . . . 68POPD procedure . . . . . . . . . . . . . . . . . . 68PREWITT() function . . . . . . . . . . . . . . . . 68PRIMES() function . . . . . . . . . . . . . . . . . 68PRINT procedure . . . . . . . . . . . . . . . . . . 68PRINTD procedure . . . . . . . . . . . . . . . . . 68PRINTF procedure . . . . . . . . . . . . . . . . . 68PRODUCT() function . . . . . . . . . . . . . . . 68PTRARR() function . . . . . . . . . . . . . . . . 68PTR_FREE procedure . . . . . . . . . . . . . . . 68PTR_NEW() function . . . . . . . . . . . . . . . 69PTR_VALID() function . . . . . . . . . . . . . . 69PUSHD procedure . . . . . . . . . . . . . . . . . 69PYTHON procedure . . . . . . . . . . . . . . . . 69PYTHON() function . . . . . . . . . . . . . . . . 69PY_PLOT procedure . . . . . . . . . . . . . . . . 69PY_PRINT procedure . . . . . . . . . . . . . . . 69QUERY_BMP() function . . . . . . . . . . . . . 69QUERY_DICOM() function . . . . . . . . . . . . 69QUERY_GIF() function . . . . . . . . . . . . . . 70QUERY_IMAGE() function . . . . . . . . . . . . 70QUERY_JPEG() function . . . . . . . . . . . . . 70QUERY_PICT() function . . . . . . . . . . . . . 70QUERY_PNG() function . . . . . . . . . . . . . . 70QUERY_PPM() function . . . . . . . . . . . . . 70QUERY_TIFF() function . . . . . . . . . . . . . . 70RADON() function . . . . . . . . . . . . . . . . . 70RANDOMN() function . . . . . . . . . . . . . . . 70RANDOMU() function . . . . . . . . . . . . . . . 70READ procedure . . . . . . . . . . . . . . . . . . 70READF procedure . . . . . . . . . . . . . . . . . 70READS procedure . . . . . . . . . . . . . . . . . 70READU procedure . . . . . . . . . . . . . . . . . 70READ_ASCII() function . . . . . . . . . . . . . . 71READ_BINARY() function . . . . . . . . . . . . 71READ_BMP() function . . . . . . . . . . . . . . 71READ_DICOM() function . . . . . . . . . . . . . 71READ_GIF procedure . . . . . . . . . . . . . . . 71
READ_JPEG procedure . . . . . . . . . . . . . . 71READ_PICT procedure . . . . . . . . . . . . . . 71READ_PNG() function . . . . . . . . . . . . . . . 71READ_TIFF() function . . . . . . . . . . . . . . 71READ_XWD() function . . . . . . . . . . . . . . 71REAL_PART() function . . . . . . . . . . . . . . 71REBIN() function . . . . . . . . . . . . . . . . . . 71RECALL_COMMANDS() function . . . . . . . . 71REFORM() function . . . . . . . . . . . . . . . . 72REPLICATE() function . . . . . . . . . . . . . . . 72REPLICATE_INPLACE procedure . . . . . . . . . 72RESOLVE_ROUTINE procedure . . . . . . . . . . 72RESTORE procedure . . . . . . . . . . . . . . . . 72RETALL procedure . . . . . . . . . . . . . . . . . 72REVERSE() function . . . . . . . . . . . . . . . . 72RK4() function . . . . . . . . . . . . . . . . . . . 72RK4JMG() function . . . . . . . . . . . . . . . . 72ROBERTS() function . . . . . . . . . . . . . . . . 72ROTATE() function . . . . . . . . . . . . . . . . 72ROUND() function . . . . . . . . . . . . . . . . . 72ROUTINE_INFO() function . . . . . . . . . . . . 72ROUTINE_NAMES() function . . . . . . . . . . . 73RSTRPOS() function . . . . . . . . . . . . . . . . 74SAVE procedure . . . . . . . . . . . . . . . . . . 75SCOPE_VARFETCH() function . . . . . . . . . . 75SEM_CREATE() function . . . . . . . . . . . . . 75SEM_DELETE procedure . . . . . . . . . . . . . 75SEM_LOCK() function . . . . . . . . . . . . . . . 75SEM_RELEASE procedure . . . . . . . . . . . . . 75SETENV procedure . . . . . . . . . . . . . . . . . 75SET_PLOT procedure . . . . . . . . . . . . . . . 75SHIFT() function . . . . . . . . . . . . . . . . . . 75SHOWFONT procedure . . . . . . . . . . . . . . 75SIN() function . . . . . . . . . . . . . . . . . . . 83SINDGEN() function . . . . . . . . . . . . . . . . 83SINH() function . . . . . . . . . . . . . . . . . . . 83SIZE() function . . . . . . . . . . . . . . . . . . . 84SKEWNESS() function . . . . . . . . . . . . . . . 84SKIP_LUN procedure . . . . . . . . . . . . . . . 84SMOOTH() function . . . . . . . . . . . . . . . . 84SOBEL() function . . . . . . . . . . . . . . . . . 84
DRAFT
DRAFT6 Contents
SOCKET procedure . . . . . . . . . . . . . . . . . 84SORT() function . . . . . . . . . . . . . . . . . . 84SPAWN procedure . . . . . . . . . . . . . . . . . 84SPHER_HARM() function . . . . . . . . . . . . . 84SPL_INIT() function . . . . . . . . . . . . . . . . 84SPL_INIT_OLD() function . . . . . . . . . . . . 84SPL_INTERP() function . . . . . . . . . . . . . . 84SPL_INTERP_OLD() function . . . . . . . . . . 84SQRT() function . . . . . . . . . . . . . . . . . . 85STDDEV() function . . . . . . . . . . . . . . . . 85STOP procedure . . . . . . . . . . . . . . . . . . 85STRARR() function . . . . . . . . . . . . . . . . 85STRCMP() function . . . . . . . . . . . . . . . . 85STRCOMPRESS() function . . . . . . . . . . . . 85STREGEX() function . . . . . . . . . . . . . . . . 85STRING() function . . . . . . . . . . . . . . . . . 85STRJOIN() function . . . . . . . . . . . . . . . . 85STRLEN() function . . . . . . . . . . . . . . . . . 86STRLOWCASE() function . . . . . . . . . . . . . 86STRMATCH() function . . . . . . . . . . . . . . . 86STRMID() function . . . . . . . . . . . . . . . . . 86STRPOS() function . . . . . . . . . . . . . . . . . 86STRPUT procedure . . . . . . . . . . . . . . . . . 86STRSPLIT() function . . . . . . . . . . . . . . . . 86STRTOK() function . . . . . . . . . . . . . . . . 86STRTRIM() function . . . . . . . . . . . . . . . . 87STRUCT_ASSIGN procedure . . . . . . . . . . . 87STRUPCASE() function . . . . . . . . . . . . . . 87STR_SEP() function . . . . . . . . . . . . . . . . 87SURFACE procedure . . . . . . . . . . . . . . . . 87SVDC procedure . . . . . . . . . . . . . . . . . . 88SWAP_ENDIAN() function . . . . . . . . . . . . 88SWAP_ENDIAN_INPLACE procedure . . . . . . 88SYSTIME() function . . . . . . . . . . . . . . . . 88TAG_NAMES() function . . . . . . . . . . . . . . 88
TAN() function . . . . . . . . . . . . . . . . . . . 88TANH() function . . . . . . . . . . . . . . . . . . 88TEMPLATE procedure . . . . . . . . . . . . . . . 88TEMPLATE_BLANK procedure . . . . . . . . . . 89TEMPORARY() function . . . . . . . . . . . . . 89TEST procedure . . . . . . . . . . . . . . . . . . 89TOTAL() function . . . . . . . . . . . . . . . . . 89TRACE() function . . . . . . . . . . . . . . . . . 89TRANSPOSE() function . . . . . . . . . . . . . . 89TRIGRID() function . . . . . . . . . . . . . . . . 89TV procedure . . . . . . . . . . . . . . . . . . . . 89TVLCT procedure . . . . . . . . . . . . . . . . . 89TVRD() function . . . . . . . . . . . . . . . . . . 89TVSCL procedure . . . . . . . . . . . . . . . . . . 89T_PDF() function . . . . . . . . . . . . . . . . . 89UINDGEN() function . . . . . . . . . . . . . . . . 89UINT() function . . . . . . . . . . . . . . . . . . 90UINTARR() function . . . . . . . . . . . . . . . . 90UL64INDGEN() function . . . . . . . . . . . . . . 90ULINDGEN() function . . . . . . . . . . . . . . . 90ULON64ARR() function . . . . . . . . . . . . . . 90ULONARR() function . . . . . . . . . . . . . . . 90ULONG() function . . . . . . . . . . . . . . . . . 90ULONG64() function . . . . . . . . . . . . . . . . 90UNIQ() function . . . . . . . . . . . . . . . . . . 90USERSYM procedure . . . . . . . . . . . . . . . . 90VALUE_LOCATE() function . . . . . . . . . . . . 90VARIANCE() function . . . . . . . . . . . . . . . 90VOIGT() function . . . . . . . . . . . . . . . . . . 90WAIT procedure . . . . . . . . . . . . . . . . . . 90WDELETE procedure . . . . . . . . . . . . . . . . 91WHERE() function . . . . . . . . . . . . . . . . . 91WIDGET_BASE() function . . . . . . . . . . . . 91WIDGET_BUTTON() function . . . . . . . . . . 91WIDGET_CONTROL procedure . . . . . . . . . . 91
WIDGET_DROPLIST() function . . . . . . . . . 91WIDGET_EVENT() function . . . . . . . . . . . 91WIDGET_INFO() function . . . . . . . . . . . . . 91WIDGET_LABEL() function . . . . . . . . . . . . 92WIDGET_TEXT() function . . . . . . . . . . . . 92WINDOW procedure . . . . . . . . . . . . . . . . 92WRITEU procedure . . . . . . . . . . . . . . . . . 92WRITE_BMP procedure . . . . . . . . . . . . . . 92WRITE_GIF procedure . . . . . . . . . . . . . . . 92WRITE_JPEG procedure . . . . . . . . . . . . . . 92WRITE_PICT procedure . . . . . . . . . . . . . . 92WRITE_PNG procedure . . . . . . . . . . . . . . 92WSET procedure . . . . . . . . . . . . . . . . . . 92WSHOW procedure . . . . . . . . . . . . . . . . . 92WTN() function . . . . . . . . . . . . . . . . . . 93XYOUTS procedure . . . . . . . . . . . . . . . . 93
II. Developer’s guideChapter 16. General remarks and coding guidelines 95Chapter 17. The library-routine API . . . . . . . . 96Chapter 18. Extending the documentation . . . . 97Chapter 19. Extending the testsuite(testsuite/README) . . . . . . . . . . . . . . . 98
Chapter 20. A short overview of how GDL worksinternally . . . . . . . . . . . . . . . . . . . . . . 99
Chapter 21. How to make use of OpenMP in GDL 100Chapter 22. Notes for packagers . . . . . . . . . . 101
Optional features of PLplot and ImageMagick . . . 101The HDF4-netCDF conflict . . . . . . . . . . . . 101
III. IndicesSubject Index . . . . . . . . . . . . . . . . . . . . . 104Bibliography . . . . . . . . . . . . . . . . . . . . . 105
DRAFT
DRAFTCredits 7
About GDL
GNU Data Language (GDL) is a free/libre/open source incremental compiler compat-ible with IDL and to some extent with PV-WAVE. Together with its library routinesit serves as a tool for data analysis and visualization in such disciplines as astronomy,geosciences and medical imaging.GDL as a language is dynamically-typed, vectorized and has object-oriented program-ming capabilities. GDL library routines handle numerical calculations, data visual-isation, signal/image processing, interaction with host OS and data input/output.GDL supports several data formats such as netCDF, HDF4, HDF5, GRIB, PNG,TIFF, DICOM, etc. Graphical output is handled by X11, PostScript, SVG or z-bufferterminals, the last one allowing output graphics (plots) to be saved in a variety ofraster graphics formats. GDL features integrated debugging facilities. GDL has alsoa Python bridge (Python code can be called from GDL; GDL can be compiled as aPython module).Packaged versions of GDL are available for several Linux and BSD flavours as wellas Mac OS X. The source code compiles as well on other UNIX systems, includingSolaris. GDL source code is available for download from Sourceforge.net at: http://sourceforge.net/projects/gnudatalanguage/.Other open-source numerical data analysis tools similar to GDL include:— GNU Octave: http://www.gnu.org/software/octave/— NCL – NCAR Command Language: http://www.ncl.ucar.edu/— PDL – Perl Data Language: http://pdl.perl.org/— R: http://www.r-project.org/— Scilab: http://www.scilab.org/— SciPy: http://www.scipy.org/— Yorick: http://yorick.sourceforge.net/
License
GDL is a free, libre and open-source software released under the GNU General PublicLicense version 2 Fundation [1]. It basicaly means that any GDL user has the freedomto run, copy, distribute, study, change and improve GDL.
Credits
GDL have been developed by a team of volunteers led by Marc Schellens – theproject’s founder and maintainer. As of 2011 the core team consists additionally of(in alphabetical order) Sylwester Arabas, Alain Coulais and Jeol Gales.Among many good folks who provided patches and valuable feedback (in alphabeticalorder) there are: Médéric Bocquien, Justin Bronn, Pierre Chanial, Pedro Corona Romero,Gilles Duvert, Christoph Fuchs, Nicolas Galmiche, Greg Huey, Gaurav Khanna, Christo-pher Lee, Maxime Lenoir, Peter Messmer, Gregory Marchal, Thibaut Mermet, Lea Noreskal,Orion Poplawski, Rene Preusker, Mateusz Turcza, Joanna Woo, H Xu, . . .GDL contains snippets of code borrowed from other free and open-source projectscredited to: Deepak Bandyopadhyay, Sergio Gelato, Lutz Kettner, Craig B. Mark-wardt, Paul Ricchiazzi, Danny Smith, J.D. Smith, Richard Schwartz, Paul Wessel,Bob Withers, . . .Pre-compiled or pre-configured packages of GDL are available for numerous sys-tems thanks to: Juan A. Añel, Axel Beckert, Markus Dittrich, Takeshi Enomoto,Sébastien Fabbro, Orlando Garcia Feal, Gaurav Khanna, Justin Lecher, Sebastien Maret,Lea Noreskal, Orion Poplawski, Marius Schamschula, Gürkan Sengün, Thierry Thomas,. . .GDL is written in C++ using the Terence Parr’s ANTLR language-recognition frame-work. Most of the library routines are implemented as interfaces to open-sourcepackages such as GNU Scientific Library, PLPlot, FFTW, ImageMagick, and manymany more.Last but not least, we would like to acknowledge the designers of IDL and PV-WAVE.Please do report any missing name on the lists above in the same way as any otherbug in GDL (see section below).
Providing fedback
Your comments are welcome! Let us know what you use GDL for. Or if you don’t, whynot. Which functionality are you missing/would appreciate most for comming versions.Please send your bug reports, complaints, suggestions, comments and patches usingthe trackers or forums available at GDL’s project website at SourceForge: http://sourceforge.net/projects/gnudatalanguage/.
DRAFT
DRAFT8 Contents
Organization of this document
This document is divided into two parts:— User’s guide: intended for users developing programs written in GDL,— Developer’s guide: intended for those interested in developing or packaging GDL.Most of GDL functionalities are exemplified with short GDL scripts. For each suchscript there are two listings provided: a source code listing with line numbers to theleft and a log of output below, e.g.:
1 p r i n t , ’ H e l l o wor ld ! ’
H e l l o wor ld !
All scripts are run by invoking gdl script.pro what is equivalent to loading thescript with the @ operator or typing every line of script at the GDL’s interactive modecommand prompt.Often the scripts contain lines beginning with a dollar sign ”$” which is the GDLsyntax for executing shell commands, e.g.
1 $ echo " He l l o wor ld ! "
He l l o wor ld !
If a script involves creation of a plot, the resultant postscript file is displayed belowthe output listing, e.g.:
1 p lo t , wtn ( [ f l t a r r ( 9 ) , 1 , f l t a r r ( 1 0 14 ) ] , 4 , / i n v e r s e )2 xyouts , 480 , . 0 2 , ’ H e l l o wor ld ! ’ , c h a r s i z e=2
While GDL itself reached a beta status of development, the hereby documentation isfar from reaching an alpha status – help is very welcome!
DRAFT
DRAFTPart I
User’s guide
DRAFT
DRAFT
DRAFT
DRAFTChapter 1
Obtaining, installing, and invoking GDL
Requirements and supported environments
Availability of pre-compiled packages
Compiling GDL from source
Compiler requirements
GNU g++ clang Intel C++
Autotools
Cmake
Installation layout
Command-line options
Influential environmental variables
DRAFT
DRAFTChapter 2
Language reference
Syntax basics
IDL_VALIDNAME() TEMPORARY()
Datatypes
ASSOC()BYTE() COMPLEX(), DCOMPLEX() ( CONJ(), ATAN(), IMAGINARY(), REAL_PART())DOUBLE() FIX() FLOAT() LONG() LONG64() UINT() ULONG() ULONG64()SIZE()
Operators
LOGICAL_AND() LOGICAL_OR() LOGICAL_TRUE()SQRT()
Flow control structures
Conditional execution
IF
1 a = 102 i f a gt 5 then p r i n t , ’ a i s g r e a t e r than 5 ’
a i s g r e a t e r than 5
1 a = 102 i f a gt 5 then p r i n t , ’ a > 5 ’ e l s e p r i n t , ’ a <= 5 ’
a > 5
contrary to... cannot be used in interactive mode nor in batch scripts, but only within...
1 $ ca t r ep l ace_wi th_nans . pro2 x = [ 1 . 1 , 2 . 1 , −3.3 , 4 . 1 , −999, 6 ]3 r ep lace_with_nans , x , −9994 p r i n t , x
pro rep lace_with_nans , x , v a lwhr = where ( x eq va l , cnt )i f cnt gt 0 then beg in
x [ whr ] = !VALUES .F_NANmessage , ’ nan count : ’ + s t r t r i m ( cnt , 2 ) , / c o n t i
e n d i fend% Compi led module : REPLACE_WITH_NANS.% REPLACE_WITH_NANS: nan count : 1
1 .10000 2.10000 −3.30000 4.10000 nan 6.00000
DRAFT
DRAFTFlow control structures 13
data type size constants min max casting array allocation index array alloc. freeing
natural numbers incl. zero (unsigned)
8b 1b 0 255 BYTE() BYTARR() BINDGEN()
TEMPORARY()16b 1u 0 65535 UINT() UINTARR() UINDGEN()32b 1ul 0 4·109 ULONG() ULONARR() ULINDGEN()64b 1ull 0 1,8·1019 ULONG64() ULON64ARR() UL64INDGEN()
integer numbers (signed)16b 1 -32768 32767 FIX() INTARR() INDGEN()
TEMPORARY()32b 1l -2·109 2·109 LONG() LONARR() LINDGEN()64b 1ll -9·1018 9·1018 LONG64() LONG64ARR() L64INDGEN()
real numbers 32b 1. -1038 1038 FLOAT() FLTARR() FINDGEN() TEMPORARY()64b 1d -10308 10308 DOUBLE() DBLARR() DINDGEN()
complex numbers 64b complex(1,0) 2x float 2x float COMPLEX() COMPLEXARR() CINDGEN() TEMPORARY()128b dcomplex(1,0) 2x double 2x double DCOMPLEX() DCOMPLEXARR() DCINDGEN()character (byte) strings variable ’one’ – – STRING() STRARR() – TEMPORARY()structures variable {a:1, b:1} – – – REPLICATE() – TEMPORARY()pointers n/a ptr_new(1) – – – PTRARR() – PTR_FREE()objects n/a obj_new(’One’) – – – OBJARR() – OBJ_DESTROY()
CASE
SWITCH
Loops
FOR
FOREACH
FOREACH statement allows to simplify loop constructs when the array index is notused within the loop:
1 tocompare = [ ’ app l e s ’ , ’ o r r age s ’ ]2 f o r e a c h a , tocompare do he lp , a
A STRING = ’ app l e s ’A STRING = ’ o r r age s ’
As with index variables in FOR loops, the lifetime of the ”loop variables” in FOREACHstatements extends beyond the loop execution (see example below). Both BREAKand CONTINUE statements work in FOREACH in the same way as in other loopconstructs:
1 $ ca t example . pro2 example
pro examplel e t t e r s = [ ’ a ’ , ’ b ’ , ’ c ’ , ’ d ’ , ’ e ’ ]f o r e a c h l , l e t t e r s do beg in
i f l eq ’ c ’ then con t i nu ei f l eq ’ d ’ then breakp r i n t , ’ t r y i n g to r e p l a c e ’+ l + ’ w i th ’ ’ x ’ ’ ’l = ’ x ’
end f o r ea chp r i n t , l e t t e r sp r i n t , l
end% Warning : Ass ignment to l oop v a r i a b l e d e t e c t ed .
DRAFT
DRAFT14 Chapter 2. Language reference
% Compi led module : EXAMPLE.t r y i n g to r e p l a c e a wi th ’ x ’t r y i n g to r e p l a c e b wi th ’ x ’a b c d ed
Loop variables in FOREACH statements contain copies of the array elements thusassigning them a value within the loop does not change contents of the array and asa potentially bug-prone situation causes a compiler warning (see example above).
REPEAT
WHILE
Jumps
GOTO
Highly deprecated as it usually make the code difficult to read and prone to errors.Anyhow, the syntax is as follows
1 $ ca t example . pro2 example
pro examplex = 0goto , ax++a : p r i n t , ’ x = ’ , x
end% Compi led module : EXAMPLE.x = 0
As most of the flow control operator described in this section GOTO is usable onlywithin a GDL routine – not within a batch script which is equivalent to a series ofstatements in the interactive mode.
Other
EXECUTE()
Variable scoping rules
Functions and procedures
There may exist a function and a procedure of the same name (e.g. PYTHON()and PYTHON, CALL_METHOD() and CALL_METHOD)EXPAND_PATH(), FILEPATH()CALL_FUNCTION() CALL_PROCEDURE()
Argument passing
N_PARAMS() KEYWORD_SET() ARG_PRESENT() N_ELEMENTS() SIZE()_EXTRA _STRICT_EXTRA _REF_EXTRAwhen by reference, when by value...Keyword name abbreviations are allowed if unambiguous, e.g.:
1 he lp , s t r p o s ( ’ kayak ’ , ’ a ’ , / r e v e r s e_ s e a r c h )2 he lp , s t r p o s ( ’ kayak ’ , ’ a ’ , / r e v e r s e_ s )3 he lp , s t r p o s ( ’ kayak ’ , ’ a ’ , / r e v )4 he lp , s t r p o s ( ’ kayak ’ , ’ a ’ , 2 , / r e v e r s e_ s e a r c h , / r e v e r s e _ o f f s e t )
<Exp r e s s i on> LONG = 3<Exp r e s s i on> LONG = 3% STRPOS: Ambiguous keyword a b b r e v i a t i o n : REV% Execu t i on h a l t e d at : $MAIN$<Exp r e s s i on> LONG = 1
DRAFT
DRAFTObject-oriented programming 15
Arrays
PRINT ( TV) PMN_ELEMENTS() SIZE()REFORM() REBIN() REVERSE() ROTATE() TRANSPOSE()SORT() UNIQ()WHERE() ARRAY_INDICES()ARRAY_EQUAL()MAKE_ARRAY() REPLICATE() REPLICATE_INPLACEBYTARR() COMPLEXARR() DBLARR() DCOMPLEXARR() FLTARR() IN-TARR() LON64ARR() LONARR() OBJARR() PTRARR() STRARR() UIN-TARR() ULON64ARR() ULONARR()BINDGEN() CINDGEN() DCINDGEN() DINDGEN() FINDGEN() INDGEN()L64INDEGEN() LINDEGEN() SINDGEN() UINDGEN() UL64INDGEN() ULIND-GEN()IDENTITY()
Structures
CREATE_STRUCT() N_TAGS() STRUCT_ASSIGN TAG_NAMES()
System variables (global)
DEFSYSV (checking if running GDL)
Heap variables (pointers)
HEAP_GC PTRARR PTR_FREE PTR_NEW() PTR_VALID()
The HELP procedure
HELP
Object-oriented programming
CALL_METHON CALL_METHON() OBJARR()OBJ_CLASS() OBJ_DESTROY OBJ_ISA() OBJ_NEW() OBJ_VALID()
Handling Overflows, Floating Point Special Values
CHECK_MATH() FINITE() MACHAR()
Error handling
MESSAGE CATCH ON_ERROR ON_IOERROR EXECUTE
Compile options
1 $ ca t example . pro2 he lp , 13 example
pro examplecompi le_opt i d l 2he lp , 1
end<Exp r e s s i on> INT = 1% Compi led module : EXAMPLE.<Exp r e s s i on> LONG = 1
1 $cat example . pro2 example
pro examp le_he lpe rcompi l e_opt h iddenp r i n t , ’ example p rocedu r e h e l p e r ’
endpro example
DRAFT
DRAFT16 Chapter 2. Language reference
examp le_he lpe rend% Compi led module : EXAMPLE.example p rocedu r e h e l p e r
DRAFT
DRAFTChapter 3
Interpreter commands and built-in debugging facilities
MESSAGE RETALL STOP .COMPILE .STEP .CONTINUECHECK_MATHJOURNAL RECALL_COMMANDSMEMORY ( TEMPORARY())RESOLVE_ROUTINE ROUTINE_INFO() ROUTINE_NAMES() SCOPE_VARFETCH()
DRAFT
DRAFTChapter 4
MathsBasic Scalar, vector and array operations
TOTAL() SQRT() REVERSE() SHIFT() MAX() MIN() MEAN() NORM()CONVOL() PRODUCT() CROSSP() DERIV() INVERT() MATRIX_MULTIPLY()TRACE() TRANSPOSE() ( ROTATE())UNIQ()?
Basic and special function library
GDL has a built-in collection of mathematical functions that are listed below. A greatmajority of these routines accept both scalar and vector arguments of any numericaltype and return the result as scalars or vectors, respectively, preserving the type ofthe argument, e.g.:
1 he lp , abs (−1 l ) , abs ([ − ! PI , 0 , ! PI ] )
<Exp r e s s i on> LONG = 1<Exp r e s s i on> FLOAT = Array [ 3 ]
Some of the routines support a /DOUBLE keyword (flag) which enables one to forceGDL to perform the calculations in (if applicable) and return the value[s] as doubleprecision floating point numbers regardless of the type of the argument[s] passed,e.g:
1 he lp , gamma(36b ) , gamma(36b , / doub l e )
<Exp r e s s i on> FLOAT = i n f<Exp r e s s i on> DOUBLE = 1.0333148 e+40
Similarily, if a functions returns integer numbers, the /L64 keyword (flag) can be usedto force usage of 64-bit integers, e.g.:
1 he lp , round (1 d10 ) , round (1 d10 , / l 6 4 )
<Exp r e s s i on> LONG = −2147483648<Exp r e s s i on> LONG64 = 10000000000
If GDL was compiled with OpenMP support (which is the default if the compilersupports it, and most of them do nowadays), and if GDL is run on a multi-cpu (ormulti-core) system, and if the array[s] passed as the argument[s] are big enough (seechapter ... TODO) the computations are performed by multiple threads. Consult theindividual documentation entries of each of the routines for details.
ABS() returns the absolute value[s] of the real number[s] passed as the argument(integer or floating point) or the magnitude[s] in case of complex number[s]
CEIL() returns the smallest integer number[s] greater than or equal to the argumentFLOOR() returns the greatest integer number[s] less than or equal to the argument
(aka the Gauss’ symbol)ROUND() returns an integer value[s] closest to the argument
ERF()IMSL_ERF()ERFC()ERRORF()EXPINT()ALOG()ALOG10()EXP() ( GSL_EXP())
... the following trigonometric functions:
DRAFT
DRAFTStatistics 19
SIN() returns the sine of the argumentASIN() returns the cosine of the argumentCOS()ACOS()TAN()ATAN() ... complex! ...the following hyperbolic functions:SINH()COSH()TANH()as well as the following related functions:LL_ARC_DISTANCE()
BESELI()BESELJ()BESELK()BESELY()
SPHER_HARM()LAGUERRE()LEGENDRE()
GAUSSINT() GAUSS_CVF() GAUSS_PDF()T_PDF()FACTORIAL() GAMMA() BETA() IGAMMA() LNGAMMA()PRIMES()VOIGT()
Linear algebra
LA_TRIRED LUDC SVDCIDENTITY() REPLICATE() REPLICATE_INPLACE
Statistics
CORRELATE()HISTOGRAM() HIST_2D() (implemented using HIST_ND())IMSL_BINOMIALCOEF()GAUSSINT() GAUSS_CVF() GAUSS_PDF()T_PDF()KURTOSIS() SKEWNESS() MEAN() MIN() MAX() MEDIAN() MEANABS-DEV() MOMENT() STDDEV() VARIANCE()
Interpolation
INTERPOL() (implemented using FINDEX()) INTERPOLATE()REBIN()DERIV()SPL_INIT() SPL_INTERP()VALUE_LOCATE()
Polynomials
IMSL_ZEROPOLY() POLY()
Geometric calculations
POLY_AREA() TRIGRID()
Bitwise operations
ISHFT() BYTEORDER SWAP_ENDIAN() SWAP_ENDIAN_INPLACE
Function fitting
Markwardt [3]
DRAFT
DRAFT20 Chapter 4. Maths
Fourier analysis
FFT() DIST()
Multidimensional root-finding
BROYDEN() IMSL_ZEROPOLY() NEWTON()
Random numbers
RANDOMN() RANDOMU()
Ordinary differential equations
RK4()
Wavelet analysis
WTN()
Mathematical and physical constants
!PI !DPI IDL_CONSTANT()
DRAFT
DRAFTChapter 5
Input/output, supported data formats
Basics – accessing files and io streams
PRINT PM GET_KBRD READBYTEORDER CLOSE EOFREAD WRITEREADF READS READUGET_LUN FREE_LUN POINT_LUN SKIP_LUNOPENR OPENU OPENW
ASCII
PRINTF READF READ_ASCII
CSV
Binary data (raw access)
READ_BINARY()BYTEORDER SWAP_ENDIAN() SWAP_ENDIAN_INPLACE
FITS
Astron
netCDF
NCDF_ATTCOPY() NCDF_ATTDEL NCDF_ATTGET NCDF_ATTINQ() NCDF_ATTNAME()NCDF_ATTPUT NCDF_ATTRENAME NCDF_CLOSE NCDF_CONTROL NCDF_CREATE()NCDF_DIMDEF() NCDF_DIMID() NCDF_DIMINQ NCDF_DIMRENAME NCDF_EXISTS()NCDF_INQUIRE() NCDF_OPEN() NCDF_VARDEF() NCDF_VARGET NCDF_VARGET1NCDF_VARID() NCDF_VARINQ() NCDF_VARPUT NCDF_VARRENAME
HDF4
HDF_CLOSE HDF_OPEN()HDF_SD_ADDDATA HDF_SD_ATTRFIND() HDF_SD_ATTRINFO HDF_SD_CREATE()HDF_SD_DIMGET HDF_SD_DIMGETID() HDF_SD_END HDF_SD_ENDACCESSHDF_SD_FILEINFO HDF_SD_GETDATA HDF_SD_GETINFO HDF_SD_NAMETOINDEX()HDF_SD_SELECT() HDF_SD_START()HDF_VD_ATTACH() HDF_VD_DETACH HDF_VD_FIND() HDF_VD_GETHDF_VD_READ()HDF_VG_ATTACH() HDF_VG_DETACH HDF_VG_GETID() HDF_VG_GETINFOHDF_VG_GETTRS
HDF5
H5A_CLOSE H5A_GET_NAME() H5A_GET_NUM_ATTRS() H5A_GET_SPACE()H5A_GET_TYPE() H5A_OPEN_IDX() H5A_OPEN_NAME() H5A_READ()H5D_CLOSE H5D_GET_SPACE() H5D_GET_TYPE() H5D_OPEN() H5D_READ()H5F_CLOSE H5F_IS_HDF5() H5F_OPEN() H5G_CLOSE H5G_OPEN() H5S_CLOSEH5S_GET_SIMPLE_EXTENT_DIMS() H5T_CLOSE H5T_GET_SIZE() H5_GET_LIBVERSION()
DRAFT
DRAFT22 Chapter 5. Input/output, supported data formats
raster images (TIFF, PNG, JPEG, . . . )
see chapter in Image Processing
DICOM
GRIB
GRIBAPI_CLONE() GRIBAPI_CLOSE_FILE GRIBAPI_COUNT_IN_FILE() GRIB-API_GET GRIBAPI_GET_DATA GRIBAPI_GET_SIZE() GRIBAPI_NEW_FROM_FILE()GRIBAPI_OPEN_FILE() GRIBAPI_RELEASE
IDL save files
RESTORE SAVE
DRAFT
DRAFTChapter 6
Plotting and mapping
2D plots
AXIS CONTOUR OPLOT PLOT PLOTERR PLOTS POLYFILL XYOUTS
3D plots
SURFACE PLOTS
Plotting raster data
BYTSCL() TV() TVLCT() TVRD() TVSCL()
Managing multiple windows
WDELETE WINDOW WSHOW WSET
Map projections
MAP_CONTINENTS MAP_PROJ_FORWARD MAP_PROJ_INVERSELL_ARC_DISTANCE()MAP_CLIP_SET
Output terminals
SET_PLOT DEVICE CURSOR ERASE FLUSH
Working with colours
LOADCT
1 dev i c e , / co l o r , decomposed=02 l o adc t , 13 p lo t , [ 0 , 1 ] , t h i c k=204 op lo t , [ 1 , 0 ] , c o l o r =200 , t h i c k=20
% Compi led module : LOADCT.% LOADCT: Load ing t a b l e BLUE/WHITE
DRAFT
DRAFT24 Chapter 6. Plotting and mapping
1 dev i c e , / co l o r , decomposed=12 p lo t , [ 0 , 1 ] , t h i c k=203 op lo t , [ 1 , 0 ] , c o l o r =’ f f0000 ’ x , t h i c k=20
Fonts, symbols and text formatting
SHOWFONT Harshey fonts [8]
Misc
CONVERT_COORD() GET_SCREEN_SIZE()
DRAFT
DRAFTChapter 7
Interaction with host OSCD POPD PUSHD PRINTD EXIT WAIT
Executing external commands (via shell or not)
SPAWN (while EXECUTE() ...)
Filesystem operations
CD FILE_BASENAME() FILE_COPY FILE_DELETE FILE_DIRNAME() FILE_EXPAND_PATH()( EXPAND_PATH()) FILE_INFO() FILE_LINES() FILE_MKDIR FILE_SAME()FILE_SEARCH() FILE_TEST() FILE_WHICH() FINDFILE() FSTAT() PATH_SEP()
Network operations
SOCKET PARSE_URL()
Command-line options and environmental variables
COMMAND_LINE_ARGS() SETENV GETENV() LOCALE_GET()
DRAFT
DRAFTChapter 8
Manipulating strings
STRCMP() STRCOMPRESS() STREGEX() STRJOIN() STRLEN()STRLOWERCASE() STRUPCASE()STRMID() STRPOS() RSTRPOS() STRPUT() STRSPLIT() STRTOK() STR-TRIM() STR_SEP()READS()STRARR() STRING() SINDGEN()IDL_BASE64() IDL_VALIDANEM() SORT() UNIQ() PARSE_URL()
DRAFT
DRAFTChapter 9
Representing date & time
CALDAT CALENDAR SYSTIME()
DRAFT
DRAFTChapter 10
Image processing
QUERY_BMP() QUERY_DICOM() QUERY_GIF() QUERY_IMAGE() QUERY_JPEG()QUERY_PICT() QUERY_PNG() QUERY_PPM() QUERY_TIFF()READ_BMP() READ_DICOM() READ_JPEG READ_PICT READ_PNG() READ_TIFF()READ_XWD()WRITE_BMP WRITE_JPEG WRITE_PICT WRITE_PNGBYTSCL() CONVOL() MEDIAN() POLY_2D() PREWITT() RADON() ROBERTS()ROTATE() REBIN() SMOOTH() SOBEL()
DRAFT
DRAFTChapter 11
Parallel processing
Built-in features (OpenMP)
CPU
Semaphores and shared memory (library routines)
SEM_CREATE() SEM_DELETE SEM_LOCK() SEM_RELEASE
ImageMagick’s features
MPI and GDL
DRAFT
DRAFTChapter 12
GUI programming (widgets)
DIALOG_MESSAGE() DIALOG_PICKFILE()WIDGET_BASE() WIDGET_BUTTON() WIDGET_CONTROL WIDGET_DROPLIST()WIDGET_EVENT() WIDGET_INFO() WIDGET_LABEL() WIDGET_TEXT()
DRAFT
DRAFTChapter 13
Dynamic loading
CALL_EXTERNAL() LINKIMAGE()
DRAFT
DRAFTChapter 14
The Python bridge
van Rossum and Fred L. Drake [6]
calling Python code from GDL
PYTHON() PYTHON
calling GDL code from Python
DRAFT
DRAFTChapter 15
Alphabetical list of library routines
ABS() functionpositional arguments: 1keywords: none
Returns absolute value of a number passed as the first argument or an array of absolute valuesif argument is an array. For complex arguments the length of the argument in the complexplane is returned (the phase of a complex number may be obtained using ATAN()).
1 p r i n t , abs (−2.2)2 p r i n t , abs ( [ −1 ,1 ,0 ] )3 p r i n t , abs ( . 5 ∗ s q r t (2 ) ∗ complex (1 , 1 ) )
2 .200001 1 0
1.00000
multi-threading: this routine uses GDL thread pool if working on large array, see the...
ACOS() functionpositional arguments: 1keywords: none
multi-threading: this routine uses GDL thread pool if working on large array, see the...
ALOG() functionpositional arguments: 1keywords: none
ALOG10() function
positional arguments: 1keywords: none
APPLEMAN procedure
positional arguments: 2keywords: HELP, NODISPLAY, RESULT, TEST, XSIZE, YSIZE
Computes and optionally renders the Mandelbrot set. The two positional arguments areoptional and allow specification of the range over which the set is computed (default values:[-1.0,2.3] and [-1.3,1.3]).
RESULT keyword
Allows passing a variable into which the computed data will be sotred. If set, no renderingis done.
XSIZE keyword
Allows specification of the width of the domain over which the set is computed.
DRAFT
DRAFT34 Chapter 15. Alphabetical list of library routines
YSIZE keyword
Allows specification of the height of the domain over which the set is computed.
1 rng_x = [−1 , 2 . 3 ]2 rng_y = [ −1.3 , 1 . 3 ]3 appleman , rng_x , rng_y , r e s u l t=f r a c t a l , x s i z e =165 , y s i z e =1304 dev i c e , / c o l o r5 p lo t , [ 0 ] , / nodata , x range=rng_x , y range=rng_y6 l o adc t , 157 t v s c l , f r a c t a l , rng_x [ 0 ] , rng_y [ 0 ] , $8 x s i z e=rng_x [1]− rng_x [ 0 ] , y s i z e=rng_y [1]− rng_y [ 0 ]
% Compi led module : APPLEMAN.% Compi led module : LOADCT.% LOADCT: Load ing t a b l e BOW SPECIAL% Compi led module : TVSCL .
ARG_PRESENT() functionpositional arguments: 1
keywords: none
ARRAY_EQUAL() function
positional arguments: 2keywords: NO_TYPECONV
ARRAY_INDICES() function
positional arguments: 2keywords: none
see also: WHERE()
ASIN() function
positional arguments: 1keywords: none
multi-threading: this routine uses GDL thread pool if working on large array, see the...
ASSOC() function
positional arguments: 3keywords: PACKED
ATAN() function
positional arguments: 2keywords: PHASE
multi-threading: this routine uses GDL thread pool if working on large array, see the...
DRAFT
DRAFTAXIS procedure 35
AXIS procedure
positional arguments: 3keywords: CHARSIZE, CHARTHICK, COLOR, DATA, DEVICE, FONT, NODATA,
NOERASE, NORMAL, SAVE, SUBTITLE, T3D, THICK, TICKLEN, XAXIS,XCHARSIZE, XGRIDSTYLE, XLOG, XMARGIN, XMINOR, XRANGE, XSTYLE,XTHICK, XTICKFORMAT, XTICKINTERVAL, XTICKLEN, XTICKNAME, XTICKS,XTITLE, XTYPE, YAXIS, YCHARSIZE, YGRIDSTYLE, YLOG, YMARGIN, YMI-NOR, YNOZERO, YRANGE, YSTYLE, YTHICK, YTICKFORMAT, YTICKIN-TERVAL, YTICKLEN, YTICKNAME, YTICKS, YTITLE, YTYPE, ZCHARSIZE,ZGRIDSTYLE, ZMARGIN, ZMINOR, ZRANGE, ZSTYLE, ZTHICK, ZTICKFOR-MAT, ZTICKLEN, ZTICKNAME, ZTICKS, ZTITLE, ZVALUE
BESELI() function
positional arguments: 2keywords: DOUBLE, HELP, ITER
BESELJ() function
positional arguments: 2keywords: DOUBLE, HELP, ITER
BESELK() function
positional arguments: 2keywords: DOUBLE, HELP, ITER
BESELY() function
positional arguments: 2keywords: DOUBLE, HELP, ITER
BETA() function
positional arguments: 2keywords: DOUBLE
BILINEAR() function
positional arguments: 3keywords: MISSING
BINDGEN() function
positional arguments: 8keywords: none
BROYDEN() function
positional arguments: 2keywords: DOUBLE, ITMAX, TOLF, TOLX
BYTARR() function
positional arguments: 8keywords: NOZERO
BYTE() function
positional arguments: 10keywords: none
DRAFT
DRAFT36 Chapter 15. Alphabetical list of library routines
BYTEORDER procedure
positional arguments: any numberkeywords: DTOXDR, FTOXDR, HTONL, HTONS, L64SWAP, LSWAP, NTOHL,
NTOHS, SSWAP, SWAP_IF_BIG_ENDIAN, SWAP_IF_LITTLE_ENDIAN, XDR-TOD, XDRTOF
BYTSCL() function
positional arguments: 3keywords: MAX, MIN, NAN, TOP
CALDAT procedure
positional arguments: 7keywords: none
CALENDAR procedure
positional arguments: 2keywords: none
An interface to the UNIX cal command. Displays a calendar using the current graphicsdevice (i.e. X, PS, . . . ). The two optional arguments allow to specify a month, or a monthand a year.
1 ca l enda r , 9 , 1983
% Compi led module : CALENDAR.
CALL_EXTERNAL() function
positional arguments: any numberkeywords: ALL_GDL, ALL_VALUE, B_VALUE, D_VALUE, F_VALUE, I_VALUE,
L64_VALUE, L_VALUE, RETURN_TYPE, STRUCT_ALIGN_BYTES, S_VALUE,UI_VALUE, UL64_VALUE, UL_VALUE, UNLOAD, VALUE
Calls a routine from a sharable object library. The first argument should be a string containingthe filename of the sharable object to load (standard library paths are searched). The secondargument should be a string with the name of the routine in the image to ba called. Allsubsequent arguments are passed to the routine.Here is a, hopefully concise, example covering all the steps one could take to write, buildand call a C routine from GDL:
1 $ echo ’ $ ca t l i b e x amp l e . c ’2 $ ca t l i b e x amp l e . c3 $ echo ’ $ ca t CMakeLists . t x t ’4 $ ca t CMakeLists . t x t5 $ echo ’ $ cmake . ’6 $ cmake . | awk ’{ p r i n t ( l e n g t h ( $0)>50? s u b s t r ( $0 , 0 , 5 0 ) " . . . " : $0 )} ’7 $ echo
DRAFT
DRAFTCALL_EXTERNAL() function 37
8 $ echo ’ $ make ’9 $ make
10 $ echo11
12 img = ’ l i b e x amp l e . ’+( !VERSION .OS_NAME eq ’ darwin ’ ? " d y l i b " : " so ")13 message , ’1 d308 vs . a nex t r e p r e s e n t a b l e doub l e : ’ , / c on t i nu e14 p r i n t , fo rmat = ’(E ) ’ , 1d308 , $15 c a l l _ e x t e r n a l ( img , ’ c_nex t a f t e r ’ , 1d308 , 2d308 , / d_value )16
17 $ make c l e a n
$ ca t l i b e x amp l e . c#i n c l u d e <math . h>doub l e c_n e x t a f t e r ( i n t argc , v o i d ∗ a rgv [ ] ) {
r e t u r n n e x t a f t e r (∗ ( doub l e ∗) a rgv [ 0 ] , ∗( doub l e ∗) a rgv [ 1 ] ) ;}
$ ca t CMakeLists . t x tp r o j e c t ( l i b e x a p l e C)cmake_minimum_required (VERSION 2 . 0 )a dd_ l i b r a r y ( example SHARED l i b e x amp l e . c )s e t _ d i r e c t o r y _ p r o p e r t i e s (PROPERTIES ADDITIONAL_MAKE_CLEAN_FILES
" Make f i l e ; CMakeCache . t x t ; cmak e_ i n s t a l l . cmake ; CMakeFi les " )
$ cmake .−− The C comp i l e r i d e n t i f i c a t i o n i s GNU−− Check ing whether C comp i l e r has − i s y s r o o t−− Check ing whether C comp i l e r has − i s y s r o o t − ye s−− Check ing whether C comp i l e r s uppo r t s OSX dep l oy . . .−− Check ing whether C comp i l e r s uppo r t s OSX dep l oy . . .−− Check f o r work ing C comp i l e r : / u s r / b i n / gcc−− Check f o r work ing C comp i l e r : / u s r / b i n / gcc −− w . . .−− Dete c t i ng C comp i l e r ABI i n f o−− Dete c t i ng C comp i l e r ABI i n f o − done−− Con f i g u r i n g done−− Gene r a t i ng done−− Bu i l d f i l e s have been w r i t t e n to : / Use r s / s l a y o o . . .
$ makeScann ing dependenc i e s o f t a r g e t example[100%] Bu i l d i n g C ob j e c t CMakeFi les / example . d i r / l i b e x amp l e . o
L i n k i n g C sha r ed l i b r a r y l i b e x amp l e . d y l i b[100%] B u i l t t a r g e t example
% $MAIN$ : 1d308 vs . a nex t r e p r e s e n t a b l e doub l e :1 .0000000000000000E+3081.0000000000000002E+308
RETURN_TYPE keyword
Indicates the type of the return value of the called routine, this value will be returned byCALL_EXTERNAL to GDL. The value of the keyword is interpreted in the same way as thetype field of the SIZE() function. Possible values for it are those for numeric types exceptCOMPLEX and DCOMPLEX. The default value is 3 (GDL type LONG, which correspondsto C type int). Alternatively one of the following keywords may be used:
B_VALUE keyword
equivalent to RETURN_TYPE=1 (BYTE)
I_VALUE keyword
equivalent to RETURN_TYPE=2 (INTEGER)
L_VALUE keyword
equivalent to RETURN_TYPE=3 (LONG)This correspodns to the default behaviour.
F_VALUE keyword
equivalent to RETURN_TYPE=4 (FLOAT)
D_VALUE keyword
equivalent to RETURN_TYPE=5 (DOUBLE)
UI_VALUE keyword
equivalent to RETURN_TYPE=12 (UINT)
DRAFT
DRAFT38 Chapter 15. Alphabetical list of library routines
UL_VALUE keyword
equivalent to RETURN_TYPE=13 (ULONG)
L64_VALUE keyword
equivalent to RETURN_TYPE=14 (LONG64)
UL64_VALUE keyword
equivalent to RETURN_TYPE=15 (ULONG64)
S_VALUE keyword
equivalent to RETURN_TYPE=6 (STRING, the called function should return char*)
ALL_VALUE keyword
The default is to pass all parameters by reference. If this keyword is set, all parameters arepassed by value.
UNLOAD keyword
If set (/UNLOAD or UNLOAD=1) the shared object will be unloaded after calling the routine.
STRUCT_ALIGN_BYTES keyword
If set to an integer n, CALL_EXTERNAL assumes that structures in the shared object arealigned at boundaries of n bytes, where n should be a power of 2. If n=0 or if this keywordis not given, the default machine dependent alignment is assumed (normally 4/8 bytes on32/64 bit systems). It should only be necessary to use this keyword if the called sharedobject has been compiled with a different alignment, e.g. with #pragma pack(n)
implementation details: This routine uses the dlopen/dlsym/dlclose calls, and thus is avail-able only on systems that support them. It has been tested on Linux, Apple OS X andSolaris.
see also: LINKIMAGE
disclaimer: CALL_EXTERNAL was implemented in GDL by Christoph Fuchs, who alsowrote the documentation for it which was the base for this entry. Copyright: (C) 2010by Christoph Fuchs. The original file was licensed under GNU GPL v>=2.
CALL_FUNCTION() functionpositional arguments: any numberkeywords: _REF_EXTRA
CALL_METHOD procedurepositional arguments: any numberkeywords: _REF_EXTRA
CALL_METHOD() functionpositional arguments: any numberkeywords: _REF_EXTRA
CALL_PROCEDURE procedurepositional arguments: any numberkeywords: _REF_EXTRA
CATCH procedurepositional arguments: 1keywords: CANCEL
CD procedurepositional arguments: 1keywords: CURRENT
CDF_EPOCH procedurepositional arguments: 8keywords: BREAKDOWN_EPOCH, COMPUTE_EPOCH
DRAFT
DRAFTCEIL() function 39
CEIL() function
positional arguments: 1keywords: L64
multi-threading: this routine uses GDL thread pool if working on large array, see the...
CHECK_MATH() function
positional arguments: 2keywords: MASK, NOCLEAR, PRINT
CINDGEN() function
positional arguments: 8keywords: none
CLOSE procedure
positional arguments: any numberkeywords: ALL, EXIT_STATUS, FILE, FORCE
COMMAND_LINE_ARGS() function
positional arguments: nonekeywords: COUNT
COMPLEX() function
positional arguments: 10keywords: none
multi-threading: this routine uses GDL thread pool if working on large array, see the...
COMPLEXARR() functionpositional arguments: 8keywords: NOZERO
CONGRID() functionpositional arguments: 4keywords: CENTER, CUBIC, HELP, INTERP, MINUS_ONE, MISSING, TEST
CONJ() functionpositional arguments: 1keywords: none
multi-threading: this routine uses GDL thread pool if working on large array, see the...
CONTOUR procedurepositional arguments: 3keywords: BACKGROUND, CHARSIZE, CHARTHICK, CLIP, COLOR, C_CHARSIZE,
C_COLORS, C_LINESTYLE, DATA, DEVICE, FILL, FOLLOW, FONT,ISOTROPIC, LEVELS, MAX_VALUE, MIN_VALUE, NLEVELS, NOCLIP, NO-DATA, NOERASE, NORMAL, OVERPLOT, POSITION, SUBTITLE, T3D,THICK, TICKLEN, TITLE, XCHARSIZE, XGRIDSTYLE, XLOG, XMARGIN,XMINOR, XRANGE, XSTYLE, XTHICK, XTICKFORMAT, XTICKLEN, XTICK-NAME, XTICKS, XTICKV, XTICK_GET, XTITLE, XTYPE, YCHARSIZE, YGRID-STYLE, YLOG, YMARGIN, YMINOR, YRANGE, YSTYLE, YTHICK, YTICKFOR-MAT, YTICKLEN, YTICKNAME, YTICKS, YTICKV, YTICK_GET, YTITLE,YTYPE, ZCHARSIZE, ZGRIDSTYLE, ZLOG, ZMARGIN, ZMINOR, ZRANGE,ZSTYLE, ZTHICK, ZTICKFORMAT, ZTICKLEN, ZTICKNAME, ZTICKS, ZTICKV,ZTICK_GET, ZTITLE, ZTYPE, ZVALUE
CONVERT_COORD() functionpositional arguments: 3
DRAFT
DRAFT40 Chapter 15. Alphabetical list of library routines
keywords: DATA, DEVICE, DOUBLE, NORMAL, T3D, TO_DATA, TO_DEVICE,TO_NORMAL
CONVOL() function
positional arguments: 3keywords: CENTER, EDGE_TRUNCATE, EDGE_WRAP
CORRELATE() function
positional arguments: 2keywords: COVARIANCE, DOUBLE
When called with two vector arguments x and y it returns the correlation coefficient r definedas:
r = cov(x, y)stdev(x) · stdev(y) (15.1)
where
cov(x, y) = 1N − 1
N−1∑i=0
(x[i] − x) · (y[i] − y) (15.2)
stdev(x) =
√√√√ 1N − 1
N−1∑i=0
[x[i] − x]2 (15.3)
and
x =N−1∑i=0
x[i]N
(15.4)
(N is the length of the longer vector).
1 p r i n t , c o r r e l a t e ( [ −1 ,0 ,1 ] , [ 1 ,0 , −1 ] )
% Compi led module : CORRELATE.% Compi led module : MEAN.
−1.00000
DOUBLE keyword
Forces double-precision calculations and output value type.
1 x = [ 1 , 2 , 3 , 4 , 5 ]2 y = [ 1 . 1 , 1 . 9 , 3 . 1 , 3 . 9 , 5 , 6 , 7 , 8 , 9 ]3 he lp , c o r r e l a t e ( x , y )4 he lp , c o r r e l a t e ( x , y , / doub l e )
% Compi led module : CORRELATE.% Compi led module : MEAN.<Exp r e s s i on> FLOAT = 0.99813<Exp r e s s i on> DOUBLE = 0.9981310
COVARIANCE keyword
If called with the COVARIANCE keyword, the covariance cov(x, y) of the two vectors isreturned instead.
1 x = [−1 , 0 , 1 . ]2 y = [−2 , 0 , 2 . ]3 p r i n t , c o r r e l a t e ( x , y , / c o v a r i a n c e )
% Compi led module : CORRELATE.% Compi led module : MEAN.
2 .00000
COS() functionpositional arguments: 1keywords: none
multi-threading: this routine uses GDL thread pool if working on large array, see the...
COSH() functionpositional arguments: 1
DRAFT
DRAFTCPU procedure 41
keywords: none
multi-threading: this routine uses GDL thread pool if working on large array, see the...
CPU procedurepositional arguments: nonekeywords: RESET, RESTORE, TPOOL_MAX_ELTS, TPOOL_MIN_ELTS,
TPOOL_NTHREADS, VECTOR_ENABLE
CREATE_STRUCT() functionpositional arguments: any numberkeywords: NAME
CROSSP() functionpositional arguments: 2keywords: none
CURSOR procedurepositional arguments: 3keywords: CHANGE, DATA, DEVICE, DOWN, NORMAL, NOWAIT, UP, WAIT
DBLARR() functionpositional arguments: 8keywords: NOZERO
DCINDGEN() functionpositional arguments: 8keywords: none
DCOMPLEX() function
positional arguments: 10keywords: none
DCOMPLEXARR() function
positional arguments: 8keywords: NOZERO
DEFSYSV procedure
positional arguments: 3keywords: EXISTS
DERIV() function
positional arguments: 2keywords: HELP, NO_CHECK, TEST
DETERM() function
positional arguments: 1keywords: DOUBLE
DEVICE procedure
positional arguments: nonekeywords: CLOSE_FILE, COLOR, DECOMPOSED, ENCAPSULATED, FILE-
NAME, GET_DECOMPOSED, GET_SCREEN_SIZE, GET_VISUAL_DEPTH,INCHES, LANDSCAPE, PORTRAIT, SCALE_FACTOR, SET_CHARACTER_SIZE,SET_RESOLUTION, WINDOW_STATE, XOFFSET, XSIZE, YOFFSET, YSIZE,Z_BUFFERING
DRAFT
DRAFT42 Chapter 15. Alphabetical list of library routines
DIALOG_MESSAGE() function
positional arguments: 1keywords: CANCEL, CENTER, DEFAULT_CANCEL, DEFAULT_NO, DIA-
LOG_PARENT, DISPLAY_NAME, ERROR, HELP, INFORMATION, QUESTION,RESOURCE_NAME, TITLE, ZENITY_NAME, ZENITY_PATH
DIALOG_PICKFILE() function
positional arguments: nonekeywords: DEBUG, DEFAULT_EXTENSION, DIALOG_PARENT, DIRECTORY, DIS-
PLAY_NAME, FILE, FILTER, FIX_FILTER, GET_PATH, GROUP, HELP, MUL-TIPLE_FILES, MUST_EXIST, OVERWRITE_PROMPT, PATH, READ, RE-SOURCE_NAME, TEST, TITLE, VERBOSE, WRITE, ZENITY_NAME, ZEN-ITY_PATH, ZENITY_SEP
DINDGEN() function
positional arguments: 8keywords: none
DIST() function
positional arguments: 2keywords: none
1 s u r f a c e , d i s t (25)
% Compi led module : DIST .
DOUBLE() functionpositional arguments: 10keywords: none
EOF() functionpositional arguments: 1keywords: none
ERASE procedurepositional arguments: 1keywords: none
ERF() functionpositional arguments: 1keywords: DOUBLE
DRAFT
DRAFTERFC() function 43
ERFC() functionpositional arguments: 1keywords: DOUBLE
ERRORF() functionpositional arguments: 1keywords: DOUBLE
ESCAPE_SPECIAL_CHAR() functionpositional arguments: 1keywords: HELP, LIST_OF_SPECIAL_CHAR, SHOW_LIST, TEST, VERBOSE
EXECUTE() functionpositional arguments: 2keywords: none
Executes the statement passed in the first arguement, returns 1 if no error occured or 0 ifthe execution failed, e.g.
1 s t a t u s = execu t e ( ’ p r i n t , " He l l o wor ld ! " ’ )2 he lp , s t a t u s3 s t a t u s = execu t e ( ’ p r i n t , H e l l o wor ld ! ) ’ )4 he lp , s t a t u s
He l l o wor ld !STATUS INT = 1% Pa r s e r s yn tax e r r o r : unexpected token : HELLOSTATUS INT = 0
EXIT procedurepositional arguments: nonekeywords: NO_CONFIRM, STATUS
STATUS keyword
1 spawn , ’ . . / . . / . . / . . / s r c / gd l −qu i e t −e " e x i t , s t a t u s =44" 1>/dev/ nu l l ’ , $2 e x i t _ s t a t u s=s3 p r i n t , ’ spawned GDL p r o c e s s e x i t e d wi th code ’ , s t r t r i m ( s , 2)
spawned GDL p r o c e s s e x i t e d wi th code 44
EXP() functionpositional arguments: 1keywords: none
1 p r i n t , exp ( [ 0 , 1 , −!VALUES . F_INFINITY ] )2 p r i n t , a l og ( exp ( [ ! PI ] ) )
1 .00000 2.71828 0.000003.14159
multi-threading: this routine uses GDL thread pool if working on large array, see the...
EXPAND_PATH() functionpositional arguments: 1keywords: ALL_DIRS, ARRAY, COUNT
EXPINT() functionpositional arguments: 2keywords: DOUBLE
FACTORIAL() functionpositional arguments: 1keywords: STIRLING, UL64
DRAFT
DRAFT44 Chapter 15. Alphabetical list of library routines
FFT() functionpositional arguments: 2keywords: DIMENSION, DOUBLE, INVERSE, OVERWRITE
F [m] = 1N
∑k
f [k] · e− 2πiN
mk (15.5)
1 $ t a i l s t ddev ∗ . p ro2 x = [ 1 . 3 1 , 2 . 44 , 2 . 51 , 3 . 01 , 2 . 96 , 2 . 50 , 0 . 05 , 3 . 24 , 0 . 1 3 ]3 p r i n t , stddevsum ( x ) , s t d d e v f f t ( x )
==> s t d d e v f f t . pro <==f u n c t i o n s t d d e v f f t , x
r e t u rn , s q r t ( t o t a l ( ( abs ( f f t ( x ) ) ^2 ) [ 1 : −1 ] ) )end
==> stddevsum . pro <==fu n c t i o n stddevsum , x
r e tu rn , s q r t (mean ( x ^2) − mean ( x )^2)end% Compi led module : STDDEVSUM.% Compi led module : MEAN.% Compi led module : STDDEVFFT.
1 .15258 1.15258
multi-threading: this routine uses GDL thread pool if working on large array, see the...
implementation details: FFTW vs. GSL - TODO
FILEPATH() functionpositional arguments: 1keywords: ROOT_DIR, SUBDIRECTORY, TERMINAL, TMP
FILE_BASENAME() functionpositional arguments: 2keywords: FOLD_CASE, HELP
1 p r i n t , f i l e_basename ( ’/ e t c /passwd ’ )
% Compi led module : FILE_BASENAME .% Compi led module : ESCAPE_SPECIAL_CHAR .% Compi led module : STRSPLIT .% Compi led module : UNIQ .passwd
1 p r i n t , f i l e_basename ( ’/ e t c / r e s o l v . conf ’ , ’ . conf ’ )
% Compi led module : FILE_BASENAME .% Compi led module : ESCAPE_SPECIAL_CHAR .% Compi led module : STRSPLIT .% Compi led module : UNIQ .r e s o l v
1 p r i n t , f i l e_basename ( f i l e _ s e a r c h ( ’ . . / . . / . . / . . / s r c / gd l ∗ . g ’ ) )
% Compi led module : FILE_BASENAME .% Compi led module : ESCAPE_SPECIAL_CHAR .% Compi led module : STRSPLIT .% Compi led module : UNIQ .gd l c . g gd l c . i . g gd l c . t r e e . g
see also: FILE_DIRNAME(), PATH_SEP()
FILE_COPY procedurepositional arguments: 2keywords: ALLOW_SAME, HELP, NOEXPAND_PATH, OVERWRITE, QUIET, RE-
CURSIVE, REQUIRE_DIRECTORY, TEST, VERBOSE
FILE_DELETE procedurepositional arguments: 30keywords: ALLOW_NONEXISTENT, HELP, NOEXPAND_PATH, QUIET, RECUR-
SIVE, TEST, VERBOSE
DRAFT
DRAFTFILE_DIRNAME() function 45
FILE_DIRNAME() function
positional arguments: 1keywords: HELP, MARK_DIRECTORY
FILE_EXPAND_PATH() function
positional arguments: 1keywords: none
FILE_INFO() function
positional arguments: 2keywords: NOEXPAND_PATH
FILE_LINES() function
positional arguments: 1keywords: COMPRESS, NOEXPAND_PATH
1 p r i n t , f i l e _ l i n e s ( ’ . . / . . / . . / . . / ChangeLog ’ )
% Compi led module : FILE_LINES .6335
FILE_MKDIR procedure
positional arguments: any numberkeywords: NOEXPAND_PATH
implementation details: Current implementation uses the system() call and executes themkdir using using a shell subprocess
FILE_SAME() functionpositional arguments: 2keywords: NOEXPAND_PATH
FILE_SEARCH() functionpositional arguments: 2keywords: COUNT, EXPAND_ENVIRONMENT, EXPAND_TILDE, FOLD_CASE,
FULLY_QUALIFY_PATH, ISSUE_ACCESS_ERROR, MARK_DIRECTORY,MATCH_ALL_INITIAL_DOT, MATCH_INITIAL_DOT, NOSORT, QUOTE
FILE_TEST() functionpositional arguments: 1keywords: BLOCK_SPECIAL, CHARACTER_SPECIAL, DIRECTORY, EXECUTABLE,
GET_MODE, NAMED_PIPE, NOEXPAND_PATH, READ, REGULAR, SOCKET,SYMLINK, WRITE, ZERO_LENGTH
FILE_WHICH() functionpositional arguments: 2keywords: DEBUG, HELP, INCLUDE_CURRENT_DIR, TEST
FINDEX() functionpositional arguments: 2keywords: none
FINDFILE() functionpositional arguments: 1keywords: COUNT, HELP, QUIET, SH_LOCATION, SPAWN_OPTIONS, TEST, VER-
BOSE
DRAFT
DRAFT46 Chapter 15. Alphabetical list of library routines
FINDGEN() function
positional arguments: 8keywords: none
FINITE() function
positional arguments: 1keywords: INFINITY, NAN
FIX() function
positional arguments: 10keywords: PRINT, TYPE
FLOAT() function
positional arguments: 10keywords: none
FLOOR() function
positional arguments: 1keywords: L64
multi-threading: this routine uses GDL thread pool if working on large array, see the...
FLTARR() function
positional arguments: 8keywords: NOZERO
FLUSH procedurepositional arguments: any numberkeywords: none
FREE_LUN procedurepositional arguments: any numberkeywords: EXIT_STATUS, FORCE
FSTAT() functionpositional arguments: 1keywords: none
GAMMA() functionpositional arguments: 1keywords: DOUBLE
GAUSSINT() functionpositional arguments: 1keywords: DOUBLE
GAUSS_CVF() functionpositional arguments: 1keywords: none
GAUSS_PDF() functionpositional arguments: 1keywords: none
DRAFT
DRAFTGDL_ERFINV() function 47
GDL_ERFINV() function
positional arguments: 1keywords: DOUBLE
GETENV() function
positional arguments: 1keywords: ENVIRONMENT
GET_DRIVE_LIST() function
positional arguments: nonekeywords: COUNT
GET_KBRD() function
positional arguments: 1keywords: none
GET_LOGIN_INFO() function
positional arguments: nonekeywords: none
Returns a structure with current username and hostname:
1 he lp , g e t_ l o g i n_ i n f o ( ) , / s t r u c t u r e
∗∗ S t r u c t u r e <Anonymous>, 2 tags , data l e n g t h =16:MACHINE_NAME STRING ’ e y r i e . p rac . i g f ’USER_NAME STRING ’ s l ayoo ’
GET_LUN procedurepositional arguments: 1keywords: none
GET_SCREEN_SIZE() functionpositional arguments: 1keywords: RESOLUTION
GRIBAPI_CLONE() functionpositional arguments: 1keywords: none
GRIBAPI_CLOSE_FILE procedurepositional arguments: 1keywords: none
GRIBAPI_COUNT_IN_FILE() functionpositional arguments: 1keywords: none
GRIBAPI_GET procedurepositional arguments: 3keywords: none
GRIBAPI_GET_DATA procedurepositional arguments: 4keywords: none
DRAFT
DRAFT48 Chapter 15. Alphabetical list of library routines
GRIBAPI_GET_SIZE() functionpositional arguments: 2keywords: none
GRIBAPI_NEW_FROM_FILE() functionpositional arguments: 1keywords: none
GRIBAPI_OPEN_FILE() functionpositional arguments: 1keywords: none
GRIBAPI_RELEASE procedurepositional arguments: 1keywords: none
GSL_EXP() functionpositional arguments: 1keywords: none
H5A_CLOSE procedurepositional arguments: 1keywords: none
H5A_GET_NAME() functionpositional arguments: 1keywords: none
H5A_GET_NUM_ATTRS() functionpositional arguments: 1keywords: none
H5A_GET_SPACE() functionpositional arguments: 1keywords: none
H5A_GET_TYPE() functionpositional arguments: 1keywords: none
H5A_OPEN_IDX() functionpositional arguments: 2keywords: none
H5A_OPEN_NAME() functionpositional arguments: 2keywords: none
H5A_READ() functionpositional arguments: 1keywords: none
H5D_CLOSE procedurepositional arguments: 1keywords: none
DRAFT
DRAFTH5D_GET_SPACE() function 49
H5D_GET_SPACE() functionpositional arguments: 1keywords: none
H5D_GET_TYPE() functionpositional arguments: 1keywords: none
H5D_OPEN() functionpositional arguments: 2keywords: none
H5D_READ() functionpositional arguments: 1keywords: none
H5F_CLOSE procedurepositional arguments: 1keywords: none
H5F_IS_HDF5() functionpositional arguments: 1keywords: none
H5F_OPEN() functionpositional arguments: 1keywords: none
H5G_CLOSE procedure
positional arguments: 1keywords: none
H5G_OPEN() function
positional arguments: 2keywords: none
H5S_CLOSE procedure
positional arguments: 1keywords: none
H5S_GET_SIMPLE_EXTENT_DIMS() function
positional arguments: 1keywords: none
H5T_CLOSE procedure
positional arguments: 1keywords: none
H5T_GET_SIZE() function
positional arguments: 1keywords: none
DRAFT
DRAFT50 Chapter 15. Alphabetical list of library routines
H5_GET_LIBVERSION() functionpositional arguments: nonekeywords: none
Returns a string containing the version number of the HDF5 library.
1 he lp , h 5_g e t_ l i b v e r s i o n ( )
<Exp r e s s i on> STRING = ’ 1 . 8 . 8 ’
HDF_CLOSE procedurepositional arguments: 1keywords: none
HDF_OPEN() functionpositional arguments: 2keywords: ALL, CREATE, NUM_DD, RDWR, READ, WRITE
HDF_SD_ADDDATA procedurepositional arguments: 2keywords: COUNT, START, STRIDE
HDF_SD_ATTRFIND() functionpositional arguments: 2keywords: none
HDF_SD_ATTRINFO procedurepositional arguments: 2keywords: COUNT, DATA, HDF_TYPE, NAME, TYPE
HDF_SD_CREATE() function
positional arguments: 3keywords: BYTE, DFNT_CHAR, DFNT_FLOAT32, DFNT_FLOAT64, DFNT_INT16,
DFNT_INT32, DFNT_INT8, DFNT_UINT16, DFNT_UINT32, DFNT_UINT8,DOUBLE, FLOAT, HDF_TYPE, INT, LONG, SHORT, STRING
HDF_SD_DIMGET procedure
positional arguments: 1keywords: COUNT, NAME, NATTR, SCALE
HDF_SD_DIMGETID() function
positional arguments: 2keywords: none
HDF_SD_END procedure
positional arguments: 1keywords: none
HDF_SD_ENDACCESS procedure
positional arguments: 1keywords: none
HDF_SD_FILEINFO procedure
positional arguments: 3keywords: none
DRAFT
DRAFTHDF_SD_GETDATA procedure 51
HDF_SD_GETDATA procedurepositional arguments: 2keywords: COUNT, START, STRIDE
HDF_SD_GETINFO procedurepositional arguments: 1keywords: COORDSYS, DIMS, FORMAT, HDF_TYPE, LABEL, NAME, NATTS,
NDIMS, TYPE, UNIT
HDF_SD_NAMETOINDEX() functionpositional arguments: 2keywords: none
HDF_SD_SELECT() functionpositional arguments: 2keywords: none
HDF_SD_START() functionpositional arguments: 2keywords: CREATE, RDWR, READ
HDF_VD_ATTACH() functionpositional arguments: 2keywords: READ, WRITE
HDF_VD_DETACH procedurepositional arguments: 1keywords: none
HDF_VD_FIND() functionpositional arguments: 2keywords: none
HDF_VD_GET procedurepositional arguments: 1keywords: CLASS, COUNT, NAME, REF, TAG
HDF_VD_READ() functionpositional arguments: 2keywords: FIELDS, FULL_INTERLACE, NO_INTERLACE, NRECORDS
HDF_VG_ATTACH() functionpositional arguments: 2keywords: READ, WRITE
HDF_VG_DETACH procedurepositional arguments: 1keywords: none
HDF_VG_GETID() functionpositional arguments: 2keywords: none
HDF_VG_GETINFO procedurepositional arguments: 1keywords: CLASS, NAME, NENTRIES, REF, TAG
DRAFT
DRAFT52 Chapter 15. Alphabetical list of library routines
HDF_VG_GETTRS procedurepositional arguments: 3keywords: none
HEAP_GC procedurepositional arguments: nonekeywords: OBJ, PTR, VERBOSE
HELP procedurepositional arguments: any numberkeywords: BRIEF, CALLS, FUNCTIONS, INFO, LIB, MEMORY, OUTPUT, PROCE-
DURES, RECALL_COMMANDS, ROUTINES, STRUCTURES
HELPFORM() functionpositional arguments: 2keywords: FULL_STRUCT, SHORTFORM, SINGLE, SIZE, STRUCTURE_NAME,
TAGFORM, WIDTH
HISTOGRAM() functionpositional arguments: 1keywords: BINSIZE, INPUT, LOCATIONS, MAX, MIN, NAN, NBINS, OMAX, OMIN,
REVERSE_INDICES
HIST_2D() functionpositional arguments: 2keywords: BIN1, BIN2, MAX1, MAX2, MIN1, MIN2
implementation details: this routine is implemented as a wrapper to the HIST_ND()function
HIST_ND() functionpositional arguments: 2keywords: MAX, MIN, NBINS, REVERSE_INDICES
Performs an N-dimensional histogram, also known as the joint density function of N variables.The first argument is an N×P array representing P data points in N dimensions. The secondargument is optional, and it may be used to specify the size of the bin to use. Either an Npoint vector specifying a separate size for each dimension, or a scalar, which will be used forall dimensions. If BINSIZE is not passed, the NBINS keyword must be set (see below).The function returns the N-Dimensional histogram, an array of size N1×N2×N3×. . .×NDwhere the Ni’s are the number of bins implied by the data, and/or the optional inputs (seebelow).
MIN keyword
The minimum value for the histogram. Either a P point vector specifying a separate minimumfor each dimension, or a scalar, which will be used for all dimensions. If omitted, the naturalminimum within the dataset will be used.
MAX keyword
The maximum value for the histogram. Either a P point vector specifying a separate max-immum for each dimension, or a scalar, which will be used for all dimensions. If omitted,the natural maximum within the dataset will be used.
NBINS keyword
Rather than specifying the binsize, you can pass NBINS, the number of bins in each dimen-sion, which can be a P point vector, or a scalar. If BINSIZE it also passed, NBINS will beignored, otherwise BINSIZE will then be calculated as binsize=(max-min)/nbins.
REVERSE_INDICES keyword
Set to a named variable to receive the reverse indices, for mapping which points occurred ina given bin. Note that this is a 1-dimensional reverse index vector (see HISTOGRAM()).E.g., to find the indices of points which fell in a histogram bin [i,j,k], look up:
ind=[i+nx*(j+ny*k)]ri[ri[ind]:ri[ind+1]-1]
See also ARRAY_INDICES() for converting in the other direction.
DRAFT
DRAFTIDENTITY() function 53
see also: HISTOGRAM(), HIST_2D()
disclaimer: Entry based on J.D. Smith’s documentation for his implementation of HIST_NDwhich was included in GDL unchanged. Copyright (C) 2001-2007, J.D Smith. Thissoftware is provided as is without any warranty whatsoever. Permission to use, copy,modify, and distribute modified or unmodified copies is granted, provided this copyrightand disclaimer are included unchanged.
IDENTITY() functionpositional arguments: 1keywords: DOUBLE
IDL_BASE64() functionpositional arguments: 1keywords: none
disclaimer: the name of this GDL routine includes the IDL_ prefix for compatibility withIDL, it has no ...
IDL_VALIDNAME() functionpositional arguments: 1keywords: CONVERT_ALL, CONVERT_SPACES, HELP, TEST
IGAMMA() functionpositional arguments: 2keywords: DOUBLE
IMAGE_STATISTICS procedurepositional arguments: 1keywords: COUNT, DATA_SUM, HELP, LUT, MASK, MAXIMUM, MEAN, MINI-
MUM, STDDEV, SUM_OF_SQUARES, TEST, VARIANCE, VECTOR, VERBOSE,WEIGHTED, WEIGHT_SUM
IMAGINARY() function
positional arguments: 1keywords: none
multi-threading: this routine uses GDL thread pool if working on large array, see the...
IMSL_BINOMIALCOEF() function
positional arguments: 2keywords: DOUBLE
Returns the binomial coefficient defined as:(n
k
)= n!
k!(n − k)! for 0 ≤ k ≤ n (15.6)
where n and k are the first and second arguments, respectively.The routine can be used for example to construct the Pascal’s trangle:
1 $ ca t p a s c a l . pro2 pasca l , 8
pro pa s ca l , nt r i = r e p l i c a t e ( ’ ’ , 2 ∗ n − 1 , n )f o r i =0, n−1 do f o r j =0, i do t r i [ 2∗ j + (n− i )−1 , i ] = $
s t r i n g ( im s l_b i n om i a l c o e f ( i , j ) , f = ’( I 3 ) ’ )p r i n t , t r i
end% Compi led module : PASCAL .
11 1
1 2 11 3 3 1
1 4 6 4 11 5 10 10 5 1
1 6 15 20 15 6 11 7 21 35 35 21 7 1
DRAFT
DRAFT54 Chapter 15. Alphabetical list of library routines
DOUBLE keyword
Forces double precision:
1 he lp , im s l_b i n om i a l c o e f (1000 , 20)2 he lp , im s l_b i n om i a l c o e f (1000 , 20 , / doub l e )
<Exp r e s s i on> FLOAT = i n f<Exp r e s s i on> DOUBLE = 3.3948281 e+41
implementation details: this routine is a wrapper to the GSL’s gsl_sf_choose() function[2]
disclaimer: the name of this GDL routine includes the IMSL_ prefix for compatibility withIDL, it has no ...
IMSL_CONSTANT() functionpositional arguments: 2keywords: DOUBLE
1 p r i n t , ’ U n i f i e d atomic mass , amu . [ kg ] : ’ , $2 im s l_con s t an t ( ’ amu ’ )3 p r i n t , ’ P r e s s u r e o f 1 s t anda rd atmosphere [ Pa ] : ’ , $4 im s l_con s t an t ( ’ atm ’ )5 p r i n t , ’ −||− ’ , $6 im s l_con s t an t ( ’ S tanda rdPre s su r e ’ )7 p r i n t , ’ A s t r onom i ca l u n i t [m] : ’ , $8 im s l_con s t an t ( ’AU’ )9 p r i n t , " Avogadro ’ s number [1/ mole ] : " , $
10 im s l_con s t an t ( ’ Avogadro ’ )11 p r i n t , ’ Boltzmann con s t an t [ J/K ] : ’ , $12 im s l_con s t an t ( ’ Boltzman ’ )13 p r i n t , ’ Speed o f l i g h t i n vacuum [m/ s ] : ’ , $14 im s l_con s t an t ( ’C ’ )15 p r i n t , ’ −||− ’ , $16 im s l_con s t an t ( ’ Sp e ed l i g h t ’ )17 p r i n t , ’ Base o f the n a t u r a l l o g a r i t hm [ 1 ] : ’ , $18 im s l_con s t an t ( ’E ’ )19 p r i n t , ’ Charge o f the e l e c t r o n [C ] : ’ , $
20 im s l_con s t an t ( ’ E l e c t ronCharge ’ )21 p r i n t , ’Mass o f the e l e c t r o n [ kg ] : ’ , $22 im s l_con s t an t ( ’ E lect ronMass ’ )23 p r i n t , ’The ene rgy o f 1 e l e c t r o n vo l t , eV [ J ] : ’ , $24 im s l_con s t an t ( ’ E l e c t r onVo l t ’ )25 p r i n t , ’ Eu l e r−Mascheron i (gamma) con s t an t [ 1 ] : ’ , $26 im s l_con s t an t ( ’ Eu l e r ’ )27 p r i n t , ’ −||− ’ , $28 im s l_con s t an t ( ’Gamma’ )29 p r i n t , ’ Molar cha rge o f 1 Faraday [C/mole ] : ’ , $30 im s l_con s t an t ( ’ Faraday ’ )31 p r i n t , ’ E l e c t r omagne t i c f i n e s t r u c t u r e con s t an t [ 1 ] : ’ , $32 im s l_con s t an t ( ’ F i n eS t r u c t u r e ’ )33 p r i n t , ’The molar gas con s t an t [ J/mole/K ] : ’ , $34 im s l_con s t an t ( ’ Gas ’ )35 p r i n t , ’The g r a v i t a t i o n a l c on s t an t [N∗m2/kg2 ] : ’ , $36 im s l_con s t an t ( ’ G rav i t y ’ )37 p r i n t , " Planck ’ s c on s t an t d i v i d e d by 2 p i [ J∗ s ] : " , $38 im s l_con s t an t ( ’ Hbar ’ )39 p r i n t , ’The s t anda rd gas volume [m3 / mole ] : ’ , $40 im s l_con s t an t ( ’ Per fectGasVolume ’ )41 p r i n t , ’ P i [ 1 ] : ’ , $42 im s l_con s t an t ( ’ Pi ’ )43 p r i n t , " Planck ’ s c on s t an t [ J∗ s ] : " , $44 im s l_con s t an t ( ’ Planck ’ )45 p r i n t , ’Mass o f the p ro ton [ kg ] : ’ , $46 im s l_con s t an t ( ’ ProtonMass ’ )47 p r i n t , " Rydberg ’ s c on s t an t [1/m] : " , $48 im s l_con s t an t ( ’ Rydberg ’ )49 p r i n t , ’ Standard g r a v i t a t i o n a l acc . on Earth [m/ s2 ] : ’ , $50 im s l_con s t an t ( ’ S tanda rdGrav i t y ’ )51 p r i n t , ’ Ste fan−Boltzmann r a d i a t i o n con s t . [W/K4/m2 ] : ’ , $52 im s l_con s t an t ( ’ StefanBoltzman ’ )53 p r i n t , ’ T r i p l e p o i n t t empe ra tu r e f o r water [K ] : ’ , $54 im s l_con s t an t ( ’ Wate rTr ip l e ’ )
U n i f i e d atomic mass , amu . [ kg ] : 1 .66054 e−27P r e s s u r e o f 1 s t anda rd atmosphere [ Pa ] : 101325.
−||− 101325.As t r onom i ca l u n i t [m] : 1 .49598 e+11Avogadro ’ s number [1/ mole ] : 6 .02214 e+23
DRAFT
DRAFTIMSL_ERF() function 55
Boltzmann con s t an t [ J/K ] : 1 .38065 e−23Speed o f l i g h t i n vacuum [m/ s ] : 2 .99792 e+08
−||− 2.99792 e+08Base o f the n a t u r a l l o g a r i t hm [ 1 ] : 2 .71828Charge o f the e l e c t r o n [C ] : 1 .60218 e−19Mass o f the e l e c t r o n [ kg ] : 9 .10938 e−31The ene rgy o f 1 e l e c t r o n vo l t , eV [ J ] : 1 .60218 e−19Eu le r−Mascheron i (gamma) con s t an t [ 1 ] : 0 .57722
−||− 0.57722Molar cha rge o f 1 Faraday [C/mole ] : 96485.3E l e c t r omagne t i c f i n e s t r u c t u r e con s t an t [ 1 ] : 0 .00730The molar gas con s t an t [ J/mole/K ] : 8 .31447The g r a v i t a t i o n a l c on s t an t [N∗m2/kg2 ] : 6 .67300 e−11Planck ’ s c on s t an t d i v i d e d by 2 p i [ J∗ s ] : 1 .05457 e−34The s t anda rd gas volume [m3 / mole ] : 0 .02271Pi [ 1 ] : 3 .14159Planck ’ s c on s t an t [ J∗ s ] : 6 .62607 e−34Mass o f the p ro ton [ kg ] : 1 .67262 e−27Rydberg ’ s c on s t an t [1/m] : 1 .09737 e+07Standard g r a v i t a t i o n a l acc . on Earth [m/ s2 ] : 9 .80665Ste fan−Boltzmann r a d i a t i o n con s t . [W/K4/m2 ] : 5 .67040 e−08T r i p l e p o i n t t empe ra tu r e f o r water [K ] : 273 .160
implementation details: this routine uses the GSL’s constants catalogue [2], the unit con-version is implemented using the UDUNITS-2 library
disclaimer: the name of this GDL routine includes the IMSL_ prefix for compatibility withIDL, it has no ...
IMSL_ERF() functionpositional arguments: 1keywords: DOUBLE, INVERSE
IMSL_ZEROPOLY() functionpositional arguments: 1keywords: COMPANION, DOUBLE, JENKINS_TRAUB
1 c = [−1 ,2 ,3 ,−4]2 x = −1 + f i n dg en (100) / 403 dev i c e , / co l o r , /decomposed4 p lo t , x , c [ 0 ] + c [ 1 ] ∗ x + c [ 2 ] ∗ x^2 + c [ 3 ] ∗ x ^3 , $5 x t i t l e =’X’ , y t i t l e =’Y’ , t h i c k=36 op lo t , x , r e p l i c a t e (0 , n_elements ( x ) ) , c o l o r =’ f f0000 ’ x7 f o r e a c h z , im s l_ z e r opo l y ( c ) do $8 p l o t s , z , 0 . , psym=6, t h i c k =3, c o l o r = ’0000 f f ’ x
implementation details: this routine is a wrapper to the GSL’s gsl_poly_complex_solve()function [2]
disclaimer: the name of this GDL routine includes the IMSL_ prefix for compatibility withIDL, it has no ...
IMSL_ZEROSYS() functionpositional arguments: 2
DRAFT
DRAFT56 Chapter 15. Alphabetical list of library routines
keywords: DOUBLE, ERR_REL, FNORM, ITMAX, JACOBIAN, XGUESS
INDGEN() functionpositional arguments: 8keywords: BYTE, COMPLEX, DCOMPLEX, DOUBLE, FLOAT, L64, LONG, STRING,
TYPE, UINT, UL64, ULONG
INTARR() functionpositional arguments: 8keywords: NOZERO
INTERPOL() functionpositional arguments: 3keywords: LSQUADRATIC, QUADRATIC, SPLINE
INTERPOLATE() functionpositional arguments: 4keywords: CUBIC, GRID, MISSING
INVERT() functionpositional arguments: 2keywords: DOUBLE
ISHFT() functionpositional arguments: 2keywords: _EXTRA
JOURNAL procedurepositional arguments: 1keywords: none
KEYWORD_SET() functionpositional arguments: 1keywords: none
KURTOSIS() functionpositional arguments: 1keywords: DOUBLE, NAN
L64INDGEN() functionpositional arguments: 8keywords: none
LAGUERRE() functionpositional arguments: 3keywords: COEFFICIENTS, DOUBLE
LAST_ITEM() functionpositional arguments: 1keywords: none
LA_TRIRED procedurepositional arguments: 3keywords: DOUBLE, UPPER
DRAFT
DRAFTLEGENDRE() function 57
LEGENDRE() functionpositional arguments: 3keywords: DOUBLE
LINDGEN() functionpositional arguments: 8keywords: none
LINKIMAGE procedurepositional arguments: 4keywords: none
see also: CALL_EXTERNAL()
LL_ARC_DISTANCE() functionpositional arguments: 3keywords: DEGREES
Snyder [eqs. 5-5 and 5-6 in 5]
LMGR() functionpositional arguments: nonekeywords: CLIENTSERVER, DEMO, EMBEDDED, EXPIRE_DATE, FORCE_DEMO,
INSTALL_NUM, LMHOSTID, RUNTIME, SITE_NOTICE, STUDENT, TRIAL,VM
LNGAMMA() functionpositional arguments: 1keywords: DOUBLE
LOADCT procedure
positional arguments: 1keywords: BOTTOM, FILE, GET_NAMES, NCOLORS, SILENT
Loads a colour table that defines the RGB values corresponding to given colour indices (usedwhen a plotting terminal is not set to the decomposed mode). The first argument may beused to chose from one of the 41 predefined colour tables, see example below for a graphicallist of the colour predefined tables.
1 $ ca t l i s t c t . pro2 l i s t c t
pro l i s t c t!X . STYLE=5!Y . STYLE=5!P .MULTI=[0 ,3 ,14 ]!X .MARGIN=[10 ,0 ]!Y .MARGIN=[1 ,0 ]dev i c e , / c o l o rf o r i =0, 40 do beg in
l oadc t , i , / s i l e n tcontour , [ [ i ndgen ( 2 5 5 ) ] , [ i ndgen ( 2 5 5 ) ] ] , n l e v e l s =256 , / f i l lxyouts , −77, . 5 , s t rm id ( i , 2)
end f o rend% Compi led module : LISTCT .% Compi led module : LOADCT.
DRAFT
DRAFT58 Chapter 15. Alphabetical list of library routines
GET_NAMES keyword
When set to a variable, a list of colour table names (string array) is assigned to that variable.
1 l o adc t , get_names=names2 f o r i =0, n_elements ( names)−1 do $3 p r i n t , i , names [ i ] , fo rmat=’(%"%d : %s " ) ’
% Compi led module : LOADCT.0 : B−W LINEAR1 : BLUE/WHITE2 : GRN−RED−BLU−WHT3 : RED TEMPERATURE4 : BLUE/GREEN/RED/YELLOW5 : STD GAMMA− I I6 : PRISM7 : RED−PURPLE8 : GREEN/WHITE LINEAR9 : GRN/WHT EXPONENTIAL10 : GREEN−PINK11 : BLUE−RED
12 : 16 LEVEL13 : RAINBOW14 : STEPS15 : BOW SPECIAL16 : Haze17 : Blue − Pa s t e l − Red18 : P a s t e l s19 : Hue Sat L i g h t n e s s 120 : Hue Sat L i g h t n e s s 221 : Hue Sat Value 122 : Hue Sat Value 223 : Purp le−Red + S t r i p e s24 : Beach25 : Mac S t y l e26 : Eos A27 : Eos B28 : Hardcandy29 : Nature30 : Ocean31 : Peppermint32 : Plasma33 : Blue−Red34 : Rainbow35 : Blue Waves36 : Volcano37 : Waves38 : Rainbow1839 : Rainbow + whi t e40 : Rainbow + b l a ck
LOADCT_INTERNALGDL procedure
positional arguments: 1keywords: GET_NAMES
LOCALE_GET() function
positional arguments: none
DRAFT
DRAFTLOGICAL_AND() function 59
keywords: none
LOGICAL_AND() function
positional arguments: 2keywords: none
multi-threading: this routine uses GDL thread pool if working on large array, see the...
LOGICAL_OR() function
positional arguments: 2keywords: none
multi-threading: this routine uses GDL thread pool if working on large array, see the...
LOGICAL_TRUE() function
positional arguments: 1keywords: none
multi-threading: this routine uses GDL thread pool if working on large array, see the...
LON64ARR() function
positional arguments: 8keywords: NOZERO
LONARR() function
positional arguments: 8keywords: NOZERO
LONG() functionpositional arguments: 10keywords: none
LONG64() functionpositional arguments: 10keywords: none
LUDC procedurepositional arguments: 2keywords: COLUMN, DOUBLE, INTERCHANGES
LUSOL() functionpositional arguments: 3keywords: COLUMN, DOUBLE
MACHAR() functionpositional arguments: nonekeywords: DOUBLE
MAGICK_ADDNOISE procedurepositional arguments: 1keywords: GAUSSIANNOISE, IMPULSENOISE, LAPLACIANNOISE, MULTIPLICATIVE-
GAUSSIANNOISE, NOISE, POISSONNOISE, UNIFORMNOISE
MAGICK_CLOSE procedurepositional arguments: 1keywords: none
DRAFT
DRAFT60 Chapter 15. Alphabetical list of library routines
MAGICK_COLORMAPSIZE() functionpositional arguments: 2keywords: none
MAGICK_COLUMNS() functionpositional arguments: 1keywords: none
MAGICK_CREATE() functionpositional arguments: 3keywords: none
MAGICK_DISPLAY procedurepositional arguments: 1keywords: none
MAGICK_EXISTS() functionpositional arguments: nonekeywords: none
MAGICK_FLIP procedurepositional arguments: 1keywords: none
MAGICK_INDEXEDCOLOR() functionpositional arguments: 1keywords: none
MAGICK_INTERLACE procedure
positional arguments: 1keywords: LINEINTERLACE, NOINTERLACE, PLANEINTERLACE
MAGICK_MAGICK() function
positional arguments: 2keywords: none
MAGICK_MATTE procedure
positional arguments: 1keywords: none
MAGICK_OPEN() function
positional arguments: 1keywords: none
MAGICK_PING() function
positional arguments: 2keywords: CHANNELS, DIMENSIONS, GAUSSIANNOISE, HAS_PALETTE, IM-
AGE_INDEX, IMPULSENOISE, INFO, LAPLACIANNOISE, MULTIPLICATIVEG-AUSSIANNOISE, NOISE, NUM_IMAGES, PIXEL_TYPE, POISSONNOISE, TYPE,UNIFORMNOISE
MAGICK_QUALITY procedure
positional arguments: 2keywords: none
DRAFT
DRAFTMAGICK_QUANTIZE procedure 61
MAGICK_QUANTIZE procedurepositional arguments: 2keywords: DITHER, GRAYSCALE, TRUECOLOR, YUV
MAGICK_READ() functionpositional arguments: 1keywords: MAP, RGB, SUB_RECT
MAGICK_READCOLORMAPRGB procedurepositional arguments: 4keywords: none
MAGICK_READINDEXES() functionpositional arguments: 1keywords: none
MAGICK_ROWS() functionpositional arguments: 1keywords: none
MAGICK_WRITE procedurepositional arguments: 2keywords: RGB
MAGICK_WRITECOLORTABLE procedurepositional arguments: 4keywords: none
MAGICK_WRITEFILE procedurepositional arguments: 3keywords: none
MAGICK_WRITEINDEXES procedurepositional arguments: 2keywords: none
multi-threading: this routine uses GDL thread pool if working on large array, see the...
MAKE_ARRAY() functionpositional arguments: 8keywords: BYTE, COMPLEX, DCOMPLEX, DIMENSION, DOUBLE, FLOAT, INDEX,
INTEGER, L64, LONG, NOZERO, OBJ, PTR, SIZE, STRING, TYPE, UINT,UL64, ULONG, VALUE
MAP_CLIP_SET procedurepositional arguments: nonekeywords: CLIP_PLANE, CLIP_UV, RESET, SPLIT, TRANSFORM
MAP_CONTINENTS procedurepositional arguments: nonekeywords: COLOR, COUNTRIES, FILL_CONTINENTS, HIRES, RIVERS
Wessel and Smith [7]
MATRIX_MULTIPLY() functionpositional arguments: 2keywords: ATRANSPOSE, BTRANSPOSE
DRAFT
DRAFT62 Chapter 15. Alphabetical list of library routines
MAX() functionpositional arguments: 2keywords: DIMENSION, MIN, NAN, SUBSCRIPT_MIN
MEAN() functionpositional arguments: 1keywords: DOUBLE, NAN
MEANABSDEV() functionpositional arguments: 1keywords: DOUBLE, NAN
MEDIAN() functionpositional arguments: 2keywords: DIMENSION, DOUBLE, EVEN
MEMORY() functionpositional arguments: 1keywords: CURRENT, HIGHWATER, L64, NUM_ALLOC, NUM_FREE, STRUCTURE
MESSAGE procedurepositional arguments: 1keywords: CONTINUE, INFORMATIONAL, IOERROR, NONAME, NOPREFIX, NO-
PRINT, RESET, TRACEBACK
MIN() functionpositional arguments: 2keywords: DIMENSION, MAX, NAN, SUBSCRIPT_MAX
MOMENT() functionpositional arguments: 1keywords: DOUBLE, MAXMOMENT, MDEV, NAN, SDEV
NCDF_ATTCOPY() functionpositional arguments: 5keywords: IN_GLOBAL, OUT_GLOBAL
NCDF_ATTDEL procedurepositional arguments: 3keywords: GLOBAL
NCDF_ATTGET procedurepositional arguments: 4keywords: GLOBAL
NCDF_ATTINQ() functionpositional arguments: 3keywords: GLOBAL
NCDF_ATTNAME() functionpositional arguments: 3keywords: GLOBAL
NCDF_ATTPUT procedurepositional arguments: 4keywords: BYTE, CHAR, DOUBLE, FLOAT, GLOBAL, LENGTH, LONG, SHORT
DRAFT
DRAFTNCDF_ATTRENAME procedure 63
NCDF_ATTRENAME procedurepositional arguments: 4keywords: GLOBAL
NCDF_CLOSE procedurepositional arguments: 1keywords: none
NCDF_CONTROL procedurepositional arguments: 1keywords: ABORT, ENDEF, FILL, NOFILL, NOVERBOSE, OLDFILL, REDEF, SYNC,
VERBOSE
NCDF_CREATE() functionpositional arguments: 1keywords: CLOBBER, NOCLOBBER
NCDF_DIMDEF() functionpositional arguments: 3keywords: UNLIMITED
NCDF_DIMID() functionpositional arguments: 2keywords: none
NCDF_DIMINQ procedurepositional arguments: 4keywords: none
NCDF_DIMRENAME procedurepositional arguments: 3keywords: none
NCDF_EXISTS() functionpositional arguments: nonekeywords: none
1 p r i n t , ’GDL compi l ed wi th netCDF suppo r t : ’ $2 + ( n c d f_ e x i s t s ( ) ? ’ yes ’ : ’ no ’ )
GDL comp i l ed wi th netCDF suppo r t : y e s
NCDF_INQUIRE() functionpositional arguments: 1keywords: none
NCDF_OPEN() functionpositional arguments: 1keywords: NOWRITE, WRITE
NCDF_VARDEF() functionpositional arguments: 3keywords: BYTE, CHAR, DOUBLE, FLOAT, LONG, SHORT
NCDF_VARGET procedurepositional arguments: 3keywords: COUNT, OFFSET, STRIDE
DRAFT
DRAFT64 Chapter 15. Alphabetical list of library routines
NCDF_VARGET1 procedure
positional arguments: 3keywords: OFFSET
NCDF_VARID() function
positional arguments: 2keywords: none
NCDF_VARINQ() function
positional arguments: 2keywords: none
NCDF_VARPUT procedure
positional arguments: 3keywords: COUNT, OFFSET, STRIDE
NCDF_CONTROL with SYNC to force...
NCDF_VARRENAME procedure
positional arguments: 3keywords: none
NEWTON() function
positional arguments: 2keywords: DOUBLE, HYBRID, ITMAX, TOLF, TOLX
Galassi et al. [2]
NORM() functionpositional arguments: 1keywords: DOUBLE
N_ELEMENTS() functionpositional arguments: 1keywords: none
N_PARAMS() functionpositional arguments: 1keywords: none
N_TAGS() functionpositional arguments: 1keywords: DATA_LENGTH, LENGTH
OBJARR() functionpositional arguments: 8keywords: NOZERO
OBJ_CLASS() functionpositional arguments: 1keywords: COUNT, SUPERCLASS
Returns the name of the class of an object passed as the first argument.
SUPERCLASS keyword
Returns instead an array of all direct superclasses of the object passed as the first argument.In this case the first argument may be a string defining the object name.
DRAFT
DRAFTOBJ_DESTROY procedure 65
COUNT keyword
Allows to pass a reference to a variable into which the number of direct superclasses will bestored.
1 $ t a i l ∗__def ine . pro2 b o t t l e = obj_new ( ’ beer ’ )3 p r i n t , ’ b o t t l e i s a [ n ] ’ , o b j_ c l a s s ( b o t t l e )4 s p r = ob j_ c l a s s ( ’ beer ’ , / s u p e r c l a s s , count=cnt )5 p r i n t , ’ b ee r has ’ , s t r t r i m ( cnt , 2 ) , ’ d i r e c t s u p e r c l a s s [ e s ] : ’ , s t r j o i n ( spr , ’ , ’ )
==> a l c o h o l i c_d r i n k__de f i n e . pro <==pro a l c o h o l i c_d r i n k__de f i n e
s t r u c t = { a l c o h o l i c_d r i n k , p r oo f : 0 , i n h e r i t s d r i n k }end
==> bee r__de f i ne . pro <==pro bee r__de f i ne
s t r u c t = {beer , i n h e r i t s a l c o h o l i c _ d r i n k }end
==> dr i nk__de f i n e . pro <==pro d r i nk__de f i n e
s t r u c t = { dr i nk , c o l o r : 0}end% Compi led module : BEER__DEFINE .% Compi led module : ALCOHOLIC_DRINK__DEFINE .% Compi led module : DRINK__DEFINE .b o t t l e i s a [ n ] BEERbee r has 1 d i r e c t s u p e r c l a s s [ e s ] : ALCOHOLIC_DRINK
A list of all known classes is returned if called without any argument:
1 c l a s s e s = ob j_ c l a s s ( )2 he lp , c l a s s e s3 p r i n t , c l a s s e s
CLASSES STRING = Array [ 2 4 ]!PLT !GNUDATALANGUAGE ! AXIS !VERSION !MOUSE !ERROR_STATE !VALUES !MAP !CPU !WARN !USERSYM IDL_SIZE FSTAT64 FSTAT FILE_INFO IDL_MEMORYIDL_MEMORY64 MACHAR DMACHAR WIDGET_BUTTON WIDGET_DROPLIST WIDGET_TEXT WIDGET_VERSION !DEVICE
OBJ_DESTROY procedure
positional arguments: any numberkeywords: _REF_EXTRA
OBJ_ISA() function
positional arguments: 2keywords: none
OBJ_NEW() function
positional arguments: any numberkeywords: _REF_EXTRA
Beware that values of object fields may only be initialised in the constructor, and not whiledefining the object structure, i.e.:
1 $ ca t t e s t__de f i n e . pro2 a = obj_new ( ’ t e s t ’ )3 a−>pr intXY
pro t e s t : : pr intXYp r i n t , s e l f . x , s e l f . y
endf u n c t i o n t e s t : : i n i t
s e l f . x = 10r e tu rn , 1
endpro t e s t__de f i n e
s t r u c t = { t e s t , x : 5 , y : 5}end% Compi led module : TEST__DEFINE .
10 0
DRAFT
DRAFT66 Chapter 15. Alphabetical list of library routines
OBJ_VALID() function
positional arguments: 1keywords: CAST, COUNT
ON_ERROR procedure
positional arguments: 1keywords: none
OPENR procedure
positional arguments: 3keywords: APPEND, BINARY, BLOCK, BUFSIZE, COMPRESS, DELETE, ERROR,
F77_UNFORMATTED, GET_LUN, MORE, NOAUTOMODE, STDIO, STREAM,SWAP_ENDIAN, SWAP_IF_BIG_ENDIAN, SWAP_IF_LITTLE_ENDIAN,VAX_FLOAT, WIDTH, XDR
COMPRESS keyword
1 $ echo "GDL ro ck s ! " > f i l e . t x t2 $ g z i p −f f i l e . t x t3 openr , u , ’ f i l e . t x t . gz ’ , / get_lun , / compress4 s = ’ ’5 readu , u , s6 f r e e_ lun , u7 p r i n t , s8 $ rm f i l e . t x t . gz
GDL ro ck s !
OPENU procedure
positional arguments: 3
keywords: APPEND, BINARY, BLOCK, BUFSIZE, COMPRESS, DELETE, ERROR,F77_UNFORMATTED, GET_LUN, MORE, NOAUTOMODE, STDIO, STREAM,SWAP_ENDIAN, SWAP_IF_BIG_ENDIAN, SWAP_IF_LITTLE_ENDIAN,VAX_FLOAT, WIDTH, XDR
OPENW procedurepositional arguments: 3keywords: APPEND, BINARY, BLOCK, BUFSIZE, COMPRESS, DELETE, ERROR,
F77_UNFORMATTED, GET_LUN, MORE, NOAUTOMODE, STDIO, STREAM,SWAP_ENDIAN, SWAP_IF_BIG_ENDIAN, SWAP_IF_LITTLE_ENDIAN,VAX_FLOAT, WIDTH, XDR
OPLOT procedurepositional arguments: 2keywords: CLIP, COLOR, LINESTYLE, MAX_VALUE, MIN_VALUE, NOCLIP, NSUM,
POLAR, PSYM, SYMSIZE, T3D, THICK
PARSE_URL() functionpositional arguments: 1keywords: none
Returns a structure describing components of the URL passed as an argument, e.g.:
1 he lp , p a r s e_u r l ( ’ h t tp : // r oo t : qwerty@kgb . ru :666/? hack ’ ) , / s t r u
∗∗ S t r u c t u r e <Anonymous>, 7 tags , data l e n g t h =56:SCHEME STRING ’ http ’USERNAME STRING ’ root ’PASSWORD STRING ’ qwerty ’HOST STRING ’ kgb . ru ’PORT STRING ’666 ’PATH STRING ’/ ’QUERY STRING ’ hack ’
DRAFT
DRAFTPATH_SEP() function 67
PATH_SEP() function
positional arguments: nonekeywords: PARENT_DIRECTORY, SEARCH_PATH, TEST
PLOT procedure
positional arguments: 2keywords: BACKGROUND, CHARSIZE, CHARTHICK, CLIP, COLOR, DATA, DE-
VICE, LINESTYLE, MAX_VALUE, MIN_VALUE, NOCLIP, NODATA, NOERASE,NORMAL, POSITION, PSYM, SUBTITLE, SYMSIZE, THICK, TICKLEN, TI-TLE, XCHARSIZE, XLOG, XMARGIN, XMINOR, XRANGE, XSTYLE, XTHICK,XTICKFORMAT, XTICKLEN, XTICKS, XTITLE, XTYPE, YCHARSIZE, YLOG,YMARGIN, YMINOR, YNOZERO, YRANGE, YSTYLE, YTHICK, YTICKFORMAT,YTICKLEN, YTICKS, YTITLE, YTYPE, ZCHARSIZE, ZGRIDSTYLE, ZMARGIN,ZMINOR, ZRANGE, ZSTYLE, ZTHICK, ZTICKFORMAT, ZTICKLEN, ZTICKS,ZTITLE, ZVALUE
PLOTERR procedure
positional arguments: 4keywords: BAR_COLOR, HAT, HELP, LENGTH_OF_HAT, PSYM, TEST, TYPE,
XLOG, XRANGE, YLOG, YRANGE, _EXTRA
PLOTS procedure
positional arguments: 3keywords: CLIP, COLOR, CONTINUE, DATA, DEVICE, LINESTYLE, NOCLIP, NOR-
MAL, PSYM, SYMSIZE, T3D, THICK
PM procedure
positional arguments: any numberkeywords: FORMAT, TITLE
1 a r r = indgen (4 , 4 )2 fmt = ’ (4 I 3 ) ’3 p r i n t , ’PM’4 pm, a r r , fo rmat=fmt5 p r i n t , ’PRINT : ’6 p r i n t , a r r , fo rmat=fmt
PM0 4 8 121 5 9 132 6 10 143 7 11 15
PRINT :0 1 2 34 5 6 78 9 10 11
12 13 14 15
see also: ORDER keyword in TV, TVRD(), ... (TODO: section on # and ## ops.)
POINT_LUN procedurepositional arguments: 2keywords: none
POLY() functionpositional arguments: 2keywords: none
POLYFILL procedurepositional arguments: 3keywords: CLIP, COLOR, DATA, DEVICE, LINESTYLE, LINE_FILL, NOCLIP, NOR-
MAL, ORIENTATION, SPACING, THICK
DRAFT
DRAFT68 Chapter 15. Alphabetical list of library routines
POLY_2D() functionpositional arguments: 6keywords: CUBIC, MISSING
POLY_AREA() functionpositional arguments: 2keywords: DOUBLE, SIGNED
POPD procedurepositional arguments: nonekeywords: none
PREWITT() functionpositional arguments: 1keywords: HELP
PRIMES() functionpositional arguments: 1keywords: none
PRINT procedurepositional arguments: any numberkeywords: AM_PM, DAYS_OF_WEEK, FORMAT, MONTH, STDIO_NON_FINITE
PRINTD procedurepositional arguments: nonekeywords: none
PRINTF procedure
positional arguments: any numberkeywords: AM_PM, DAYS_OF_WEEK, FORMAT, MONTH, STDIO_NON_FINITE
PRODUCT() function
positional arguments: 2keywords: CUMULATIVE, INTEGER, NAN, PRESERVE_TYPE
multi-threading: this routine uses GDL thread pool if working on large array, see the...
PTRARR() function
positional arguments: 8keywords: ALLOCATE_HEAP, NOZERO
multi-threading: this routine uses GDL thread pool if working on large array, see the...
PTR_FREE procedure
positional arguments: any numberkeywords: none
PTR_FREE can also be used to deallocate a variable:
1 a = 12 p t r_ f r e e , ptr_new ( a , /no_copy )3 he lp , a
A UNDEFINED = <Undef ined>
see also: PTR_NEW(), PTR_VALID()
DRAFT
DRAFTPTR_NEW() function 69
PTR_NEW() function
positional arguments: 1keywords: ALLOCATE_HEAP, NO_COPY
PTR_VALID() function
positional arguments: 1keywords: CAST, COUNT
PUSHD procedure
positional arguments: 1keywords: none
PYTHON procedure
positional arguments: any numberkeywords: ARGV
PYTHON() function
positional arguments: any numberkeywords: ARGV, DEFAULTRETURNVALUE
Executes a python function whose name is specified using the second argument, the firstargument defines the package (e.g. numpy). All other argument are passed as positionalarguments to the function.
1 p r i n t , python ( ’ numpy ’ , ’ arange ’ , 4 . )
0 .0000000 1.0000000 2.0000000 3.0000000
PY_PLOT procedure
positional arguments: 2keywords: GRID, TITLE, XLABEL, YLABEL
PY_PRINT procedure
positional arguments: 1keywords: none
QUERY_BMP() function
positional arguments: 2keywords: none
1 $ wget −−qu i e t h t tp : // w i k i p e d i a . org / f a v i c o n . i c o2 $ conv e r t f a v i c o n . i c o f a v i c o n . bmp3 ok = query_bmp ( ’ f a v i c o n . bmp ’ , i n f o )4 i f ok then he lp , i n f o , / s t r u c t u r e e l s e p r i n t , ’ que ry f a i l e d ! ’5 $ rm f a v i c o n .∗
% Compi led module : QUERY_BMP.∗∗ S t r u c t u r e <Anonymous>, 7 tags , data l e n g t h =56:
CHANNELS LONG 4DIMENSIONS LONG Array [ 2 ]HAS_PALETTE INT 0IMAGE_INDEX LONG 0NUM_IMAGES LONG 1PIXEL_TYPE INT 1TYPE STRING ’BMP’
QUERY_DICOM() function
positional arguments: 2keywords: none
DRAFT
DRAFT70 Chapter 15. Alphabetical list of library routines
QUERY_GIF() functionpositional arguments: 2keywords: none
QUERY_IMAGE() functionpositional arguments: 2keywords: _REF_EXTRA
QUERY_JPEG() functionpositional arguments: 2keywords: none
QUERY_PICT() functionpositional arguments: 2keywords: none
QUERY_PNG() functionpositional arguments: 2keywords: none
QUERY_PPM() functionpositional arguments: 2keywords: none
QUERY_TIFF() functionpositional arguments: 2keywords: IMAGE_INDEX
RADON() functionpositional arguments: 1keywords: BACKPROJECT, DOUBLE, DRHO, DX, DY, GRAY, LINEAR, NRHO,
NTHETA, NX, NY, RHO, RMIN, THETA, XMIN, YMIN
RANDOMN() functionpositional arguments: 8keywords: BINOMIAL, DOUBLE, GAMMA, LONG, NORMAL, POISSON, UNIFORM
RANDOMU() functionpositional arguments: 8keywords: BINOMIAL, DOUBLE, GAMMA, LONG, NORMAL, POISSON, UNIFORM
READ procedurepositional arguments: any numberkeywords: AM_PM, DAYS_OF_WEEK, FORMAT, MONTH, PROMPT
READF procedurepositional arguments: any numberkeywords: AM_PM, DAYS_OF_WEEK, FORMAT, MONTH, PROMPT
READS procedurepositional arguments: any numberkeywords: AM_PM, DAYS_OF_WEEK, FORMAT, MONTH
READU procedurepositional arguments: any numberkeywords: TRANSFER_COUNT
DRAFT
DRAFTREAD_ASCII() function 71
READ_ASCII() function
positional arguments: 1keywords: COMMENT_SYMBOL, COUNT, DATA_START, DELIMITER, HEADER,
HELP, MISSING_VALUE, NUM_RECORDS, RECORD_START, TEMPLATE,TEST, VERBOSE
READ_BINARY() function
positional arguments: 1keywords: DATA_DIMS, DATA_START, DATA_TYPE, ENDIAN, TEMPLATE
READ_BMP() function
positional arguments: 4keywords: RGB
READ_DICOM() function
positional arguments: 4keywords: IMAGE_INDEX
READ_GIF procedure
positional arguments: 5keywords: DEBUG, HELP, TEST
READ_JPEG procedure
positional arguments: 3keywords: BUFFER, COLORS, DEBUG, DITHER, GRAYSCALE, HELP, ORDER,
TEST, TRUE, TWO_PASS_QUANTIZE, UNIT
READ_PICT procedurepositional arguments: 5keywords: none
READ_PNG() functionpositional arguments: 4keywords: HELP, ORDER, TEST, TRANSPARENT, VERBOSE
READ_TIFF() functionpositional arguments: 4keywords: CHANNELS, GEOTIFF, IMAGE_INDEX, INTERLEAVE, ORIENTATION,
PLANARCONFIG, SUB_RECT, VERBOSE
READ_XWD() functionpositional arguments: 4keywords: none
REAL_PART() functionpositional arguments: 1keywords: none
REBIN() functionpositional arguments: 9keywords: SAMPLE
RECALL_COMMANDS() functionpositional arguments: nonekeywords: none
DRAFT
DRAFT72 Chapter 15. Alphabetical list of library routines
REFORM() functionpositional arguments: 8keywords: OVERWRITE
REPLICATE() functionpositional arguments: 9keywords: none
REPLICATE_INPLACE procedurepositional arguments: 6keywords: none
RESOLVE_ROUTINE procedurepositional arguments: 1keywords: none
RESTORE procedurepositional arguments: 1keywords: DESCRIPTION, FILENAME, RELAXED_STRUCTURE_ASSIGNMENT, RE-
STORED_OBJECTS, VERBOSE
RETALL procedurepositional arguments: nonekeywords: RETALL
REVERSE() functionpositional arguments: 2keywords: OVERWRITE
RK4() function
positional arguments: 5keywords: DOUBLE, ITER
RK4JMG() function
positional arguments: 5keywords: DOUBLE
ROBERTS() function
positional arguments: 1keywords: HELP
ROTATE() function
positional arguments: 2keywords: none
ROUND() function
positional arguments: 1keywords: L64
multi-threading: this routine uses GDL thread pool if working on large array, see the...
ROUTINE_INFO() function
positional arguments: 1keywords: DISABLED, ENABLED, FUNCTIONS, PARAMETERS, SYSTEM
DRAFT
DRAFTROUTINE_NAMES() function 73
ROUTINE_NAMES() function
positional arguments: any numberkeywords: ARG_NAME, FETCH, LEVEL, STORE, S_FUNCTIONS, S_PROCEDURES,
VARIABLES
Examines variables and parameters of procedures and the call stack Using ROU-TINE_NAMES a subroutine can interrogate, and in some cases change, the values andnames of variables and parameters in its calling routine, or at the $MAIN$ level.ROUTINE_NAMES uses a notion of the current "call level," which is the numerical stackdepth of the currently executing routine. At each procedure or function call, the call levelbecomes one deeper, and upon each RETURN, the call level becomes one shallower. Thecall stack always begins at the $MAIN$ level. The current call stack can always be printedby executing HELP.When specifying the call level to ROUTINE_NAMES, one can use one of two numberingsystems, depending on whichever is most convenient. In the absolute numbering system,the $MAIN$ level starts at number 1, and becomes deeper with increasing numbers. In therelative numbering system, the current (deepest) call level is number 0, and becomes shal-lower with more negative numbers. Hence, if the deepest level is N, then the correspondenceis thus:VALUE MEANING1 or -N+1 $MAIN$ level2 or -N+2 NEXT deeper level. . . . . .N or 0 DEEPEST (currently executing) level
When called without any keyword ROUTINE_NAMES returns a string array containing alist of currently compiled functions and procedures, e.g.:
1 $ ca t l i b r a r y . pro2 . comp i l e l i b r a r y . pro3 p r i n t , rout ine_names ( )
pro a_procedurep r i n t , ’ H e l l o wor ld ! ’
endf u n c t i o n a_func t i on
r e tu rn , ’ H e l l o wor ld ! ’end% Compi led module : A_PROCEDURE.% Compi led module : A_FUNCTION.
$MAIN$ A_FUNCTION A_PROCEDURE
ROUTINE_NAMES can be invoked in several other ways, which are detailed below togetherwith keyword descriptions.
S_PROCEDURES keyword
The lists of system procedures is returned, as a string array. The list does not cover procedureswritten in GDL itself which are also part of GDL’s routine library (e.g. WRITE_PNG).
1 p r i n t , ( rout ine_names (/ s_pro ) ) [ 0 : 5 ]
AXIS BYTEORDER CALDAT CALL_METHOD CALL_PROCEDURE CATCH
S_FUNCTIONS keyword
The lists of system functions is returned, as a string array. The list does not cover functionswritten in GDL itself which are also part of GDL’s routine library (e.g. READ_PNG()).
1 he lp , rout ine_names (/ s_ f un c t i o n s )
<Exp r e s s i on> STRING = Array [ 2 5 0 ]
LEVEL keyword
The call level of the calling routine is returned, e.g.:
1 $ ca t func . pro2 p r i n t , rout ine_names (/ l e v e l ) , func ( )
f u n c t i o n funcr e tu rn , rout ine_names (/ l e v e l )
end% Compi led module : FUNC.
1 2
DRAFT
DRAFT74 Chapter 15. Alphabetical list of library routines
ARG_NAME keyword
The names of variables passed as positional arguments at call level specified with theARG_NAME keyword are returned, as a string array. Note that the arguments passedare the actual parameters, not strings containing their names. All of the arguments must beparameters that have been passed to the calling procedure. Variables that are unnamed atthe specified call level will return the empty string.
1 $ ca t p rocedu r e . pro2 a1 = 13 a2 = ’2 ’4 a3 = [3 b ]5 procedure , a1 , a2 , a3
pro procedure , arg0 , arg1 , arg2p r i n t , rout ine_names ( arg1 , arg2 , arg_name=0)p r i n t , rout ine_names ( arg1 , arg2 , arg_name=−1)
end% Compi led module : PROCEDURE.ARG1 ARG2A2 A3
VARIABLES keyword
The names of variables at call level specified with the VARIABLES keyword are returned, asa string array, e.g.:
1 $ ca t p rocedu r e . pro2 s t r = ’ He l l o wor ld ! ’3 a r r = [ ’ He l l o ’ , ’ wor ld ’ , ’ ! ’ ]4 i n t = 05 p rocedu r e
pro p rocedu r ep r i n t , rout ine_names ( v a r i a b l e s=−1)
end% Compi led module : PROCEDURE.STR ARR INT
FETCH keyword
The value of a variable which name is passed in the first argument (string) at call level spec-ified with the FETCH keyword is returned. If the value is undefined, then the assignmentwill cause an error. Therefore, the only safe way to retrieve a value is by using a variant ofthe following:
1 i f n_elements ( rout ine_names ( ’ a ’ , f e t c h =0)) gt 0 $2 then v a l u e = rout ine_names ( ’ a ’ , f e t c h =0) $3 e l s e message , ’ a i s not d e f i n e d ! ’
% $MAIN$ : a i s not d e f i n e d !% Execu t i on h a l t e d at : $MAIN$
STORE keyword
The value specified with the second argument is stored into the variable which name is passedin the first argument (string) at the call level specified with the STORE keyword. Note thatthere is no way to cause the named variable to become undefined. The value returned canbe ignored.
1 a = 12 dummy = rout ine_names ( ’ a ’ , 2 , s t o r e =0)3 p r i n t , a
2
see also: ROUTINE_INFO(), ARG_PRESENT(), SCOPE_VARFETCH()
disclaimer: Entry based on Craig Markwardt’s documentation for ROUTINE_NAMES:Copyright (C) 2000, Craig Markwardt. This software is provided as is without any war-ranty whatsoever. Permission to use, copy, modify, and distribute modified or unmodifiedcopies is granted, provided this copyright and disclaimer are included unchanged.
RSTRPOS() functionpositional arguments: 3keywords: none
DRAFT
DRAFTSAVE procedure 75
SAVE procedure
positional arguments: 30keywords: ALL, APPEND, COMPATIBLE, DATA, ERRMSG, FILENAME, MTIMES,
NAMES, NOCATCH, PASS_METHOD, QUIET, STATUS, TEST, USEUNIT,VARSTATUS, VERBOSE, XDR
SCOPE_VARFETCH() function
positional arguments: 1keywords: LEVEL
SEM_CREATE() function
positional arguments: 1keywords: DESTROY_SEMAPHORE
SEM_DELETE procedure
positional arguments: 1keywords: none
SEM_LOCK() function
positional arguments: 1keywords: none
SEM_RELEASE procedure
positional arguments: 1keywords: none
SETENV procedure
positional arguments: 1keywords: none
SET_PLOT procedure
positional arguments: 1keywords: COPY, INTERPOLATE
SHIFT() function
positional arguments: 9keywords: none
SHOWFONT procedure
positional arguments: 2keywords: BASE, BEG, ENCAPSULATED, FIN, TT_FONT
Displays a table of fonts for a give font number (first argument) in the current graphicsterminal, e.g.:
1 showfont , 3 , ’ S imp lex Roman ’
% Compi led module : SHOWFONT.
DRAFT
DRAFT76 Chapter 15. Alphabetical list of library routines
1 showfont , 4 , ’ S imp lex Greek ’
% Compi led module : SHOWFONT.
1 showfont , 5 , ’ Duplex Roman ’
% Compi led module : SHOWFONT.
DRAFT
DRAFTSHOWFONT procedure 77
1 showfont , 6 , ’ Complex Roman ’
% Compi led module : SHOWFONT.
1 showfont , 7 , ’ Complex Greek ’
% Compi led module : SHOWFONT.
DRAFT
DRAFT78 Chapter 15. Alphabetical list of library routines
1 showfont , 8 , ’ Complex I t a l i c ’
% Compi led module : SHOWFONT.
1 showfont , 9 , ’Math and Spe c i a l ’
% Compi led module : SHOWFONT.
DRAFT
DRAFTSHOWFONT procedure 79
1 showfont , 11 , ’ Goth i c Eng l i s h ’
% Compi led module : SHOWFONT.
1 showfont , 12 , ’ S imp lex S c r i p t ’
% Compi led module : SHOWFONT.
DRAFT
DRAFT80 Chapter 15. Alphabetical list of library routines
1 showfont , 13 , ’ Complex S c r i p t ’
% Compi led module : SHOWFONT.
1 showfont , 14 , ’ Goth i c I t a l i a n ’
% Compi led module : SHOWFONT.
DRAFT
DRAFTSHOWFONT procedure 81
1 showfont , 15 , ’ Goth i c German ’
% Compi led module : SHOWFONT.
1 showfont , 16 , ’ C y r i l i c ’
% Compi led module : SHOWFONT.
DRAFT
DRAFT82 Chapter 15. Alphabetical list of library routines
1 showfont , 17 , ’ T r i p l e x Roman ’
% Compi led module : SHOWFONT.
1 showfont , 18 , ’ T r i p l e x I t a l i c ’
% Compi led module : SHOWFONT.
DRAFT
DRAFTSIN() function 83
1 showfont , 20 , ’ M i s c e l l a n eou s ’
% Compi led module : SHOWFONT.
SIN() functionpositional arguments: 1keywords: none
multi-threading: this routine uses GDL thread pool if working on large array, see the...
SINDGEN() functionpositional arguments: 8keywords: none
SINH() functionpositional arguments: 1keywords: none
multi-threading: this routine uses GDL thread pool if working on large array, see the...
DRAFT
DRAFT84 Chapter 15. Alphabetical list of library routines
SIZE() function
positional arguments: 1keywords: DIMENSIONS, FILE_LUN, L64, N_DIMENSIONS, N_ELEMENTS, STRUC-
TURE, TNAME, TYPE
SKEWNESS() function
positional arguments: 1keywords: DOUBLE, NAN
SKIP_LUN procedure
positional arguments: 2keywords: EOF, HELP, LINES, TEST, TRANSFER_COUNT
SMOOTH() function
positional arguments: 2keywords: EDGE_TRUNCATE, HELP, NAN, TEST, VERBOSE
SOBEL() function
positional arguments: 1keywords: HELP
SOCKET procedure
positional arguments: 3keywords: CONNECT_TIMEOUT, ERROR, GET_LUN, READ_TIMEOUT, STDIO,
SWAP_ENDIAN, SWAP_IF_BIG_ENDIAN, SWAP_IF_LITTLE_ENDIAN, WIDTH,WRITE_TIMEOUT
SORT() functionpositional arguments: 1keywords: L64
SPAWN procedurepositional arguments: 3keywords: COUNT, EXIT_STATUS, NOSHELL, PID, SH, UNIT
SPHER_HARM() functionpositional arguments: 4keywords: DOUBLE
SPL_INIT() functionpositional arguments: 2keywords: DOUBLE, HELP, YP0, YPN_1
SPL_INIT_OLD() functionpositional arguments: 2keywords: DEBUG, DOUBLE, YP0, YPN_1
SPL_INTERP() functionpositional arguments: 4keywords: DOUBLE, HELP
SPL_INTERP_OLD() functionpositional arguments: 4keywords: DOUBLE
DRAFT
DRAFTSQRT() function 85
SQRT() function
positional arguments: 1keywords: none
multi-threading: this routine uses GDL thread pool if working on large array, see the...
STDDEV() function
positional arguments: 1keywords: DOUBLE, NAN
STOP procedure
positional arguments: any numberkeywords: AM_PM, DAYS_OF_WEEK, FORMAT, MONTH, STDIO_NON_FINITE
STRARR() function
positional arguments: 8keywords: NOZERO
STRCMP() function
positional arguments: 3keywords: FOLD_CASE
STRCOMPRESS() function
positional arguments: 1keywords: REMOVE_ALL
multi-threading: this routine uses GDL thread pool if working on large array, see the...
STREGEX() functionpositional arguments: 2keywords: BOOLEAN, EXTRACT, FOLD_CASE, LENGTH, SUBEXPR
STRING() functionpositional arguments: any numberkeywords: AM_PM, DAYS_OF_WEEK, FORMAT, MONTH, PRINT
PRINT keyword
1 he lp , s t r i n g (55b )2 he lp , s t r i n g (55b , / p r i n t )3 he lp , s t r i n g ( f i n d g en ( 2 , 2 ) )4 he lp , s t r i n g ( f i n d g en ( 2 , 2 ) , / p r i n t )5 he lp , s t r i n g ( f i n d g en ( 2 ) , / p r i n t )
<Exp r e s s i on> STRING = ’7 ’<Exp r e s s i on> STRING = ’ 55 ’<Exp r e s s i on> STRING = Array [ 2 , 2 ]<Exp r e s s i on> STRING = Array [ 2 ]<Exp r e s s i on> STRING = ’ 0.00000 1 .00000 ’
STRJOIN() functionpositional arguments: 2keywords: SINGLE
1 a r r = [ ’ a ’ , ’ b ’ , ’ c ’ ]2 s t r = s t r j o i n ( a r r )3 he lp , a r r , s t r
ARR STRING = Array [ 3 ]STR STRING = ’ abc ’
DRAFT
DRAFT86 Chapter 15. Alphabetical list of library routines
1 a r r = [ [ ’ a ’ , ’ b ’ , ’ c ’ ] , [ ’ d ’ , ’ e ’ , ’ f ’ ] ]2 s t r = s t r j o i n ( a r r , ’− ’)3 he lp , a r r , s t r4 p r i n t , s t r [ 0 ]5 p r i n t , s t r [ 1 ]
ARR STRING = Array [ 3 , 2 ]STR STRING = Array [ 2 ]a−b−cd−e−f
SINGLE keyword
1 a r r = [ [ ’ a ’ , ’ b ’ , ’ c ’ ] , [ ’ d ’ , ’ e ’ , ’ f ’ ] ]2 s t r = s t r j o i n ( a r r , ’− ’ , / s i n g l e )3 he lp , a r r , s t r
ARR STRING = Array [ 3 , 2 ]STR STRING = ’ a−b−c−d−e−f ’
STRLEN() function
positional arguments: 1keywords: none
multi-threading: this routine uses GDL thread pool if working on large array, see the...
STRLOWCASE() function
positional arguments: 1keywords: none
multi-threading: this routine uses GDL thread pool if working on large array, see the...
STRMATCH() functionpositional arguments: 2keywords: FOLD_CASE
STRMID() functionpositional arguments: 3keywords: REVERSE_OFFSET
multi-threading: this routine uses GDL thread pool if working on large array, see the...
STRPOS() functionpositional arguments: 3keywords: REVERSE_OFFSET, REVERSE_SEARCH
multi-threading: this routine uses GDL thread pool if working on large array, see the...
STRPUT procedurepositional arguments: 3keywords: none
multi-threading: this routine uses GDL thread pool if working on large array, see the...
STRSPLIT() functionpositional arguments: 2keywords: COUNT, ESCAPE, EXTRACT, FOLD_CASE, HELP, LENGTH, PRE-
SERVE_NULL, REGEX, TEST
STRTOK() functionpositional arguments: 2keywords: ESCAPE, EXTRACT, LENGTH, PRESERVE_NULL, REGEX
DRAFT
DRAFTSTRTRIM() function 87
STRTRIM() functionpositional arguments: 2keywords: none
multi-threading: this routine uses GDL thread pool if working on large array, see the...
STRUCT_ASSIGN procedurepositional arguments: 2keywords: NOZERO, VERBOSE
STRUPCASE() functionpositional arguments: 1keywords: none
multi-threading: this routine uses GDL thread pool if working on large array, see the...
STR_SEP() functionpositional arguments: 2keywords: ESC, HELP, REMOVE_ALL, TEST, TRIM
. . . STR_SEP separates the string on any of the characters of the 2nd string. . . .
SURFACE procedurepositional arguments: 3keywords: AX, AZ, BACKGROUND, CHARSIZE, CHARTHICK, CLIP, COLOR,
DATA, DEVICE, FONT, LINESTYLE, MAX_VALUE, MIN_VALUE, NO-CLIP, NODATA, NOERASE, NORMAL, POSITION, SUBTITLE, T3D, THICK,TICKLEN, TITLE, XCHARSIZE, XGRIDSTYLE, XLOG, XMARGIN, XMINOR,XRANGE, XSTYLE, XTHICK, XTICKFORMAT, XTICKINTERVAL, XTICKLAY-OUT, XTICKLEN, XTICKNAME, XTICKS, XTICKUNITS, XTICKV, XTICK_GET,XTITLE, XTYPE, YCHARSIZE, YGRIDSTYLE, YLOG, YMARGIN, YMINOR,YRANGE, YSTYLE, YTHICK, YTICKFORMAT, YTICKINTERVAL, YTICKLAY-OUT, YTICKLEN, YTICKNAME, YTICKS, YTICKUNITS, YTICKV, YTICK_GET,
YTITLE, YTYPE, ZCHARSIZE, ZGRIDSTYLE, ZLOG, ZMARGIN, ZMINOR,ZRANGE, ZSTYLE, ZTHICK, ZTICKFORMAT, ZTICKINTERVAL, ZTICKLAY-OUT, ZTICKLEN, ZTICKNAME, ZTICKS, ZTICKUNITS, ZTICKV, ZTICK_GET,ZTITLE, ZTYPE, ZVALUE
AX keyword
1 !P .MULTI = [ 0 , 3 , 3 ]2 d = d i s t (10)3 f o r ax = 0 , 90 , 11 do $4 s u r f a c e , d , ax=ax , t i t l e =’ax=’ + s t r t r i m ( ax , 2 )
% Compi led module : DIST .
DRAFT
DRAFT88 Chapter 15. Alphabetical list of library routines
AZ keyword
1 !P .MULTI = [ 0 , 3 , 3 ]2 d = d i s t (10)3 f o r az = 0 , 90 , 11 do $4 s u r f a c e , d , az=az , t i t l e =’az=’ + s t r t r i m ( az , 2 )
% Compi led module : DIST .
SVDC procedurepositional arguments: 4keywords: COLUMN, DOUBLE, ITMAX
SWAP_ENDIAN() functionpositional arguments: 1keywords: SWAP_IF_BIG_ENDIAN, SWAP_IF_LITTLE_ENDIAN
SWAP_ENDIAN_INPLACE procedure
positional arguments: 1keywords: SWAP_IF_BIG_ENDIAN, SWAP_IF_LITTLE_ENDIAN
SYSTIME() function
positional arguments: 2keywords: JULIAN, SECONDS, UTC
TAG_NAMES() function
positional arguments: 1keywords: STRUCTURE_NAME
TAN() function
positional arguments: 1keywords: none
multi-threading: this routine uses GDL thread pool if working on large array, see the...
TANH() function
positional arguments: 1keywords: none
multi-threading: this routine uses GDL thread pool if working on large array, see the...
TEMPLATE procedure
positional arguments: nonekeywords: none
DRAFT
DRAFTTEMPLATE_BLANK procedure 89
TEMPLATE_BLANK procedure
positional arguments: nonekeywords: none
TEMPORARY() function
positional arguments: 1keywords: none
TEST procedure
positional arguments: any numberkeywords: none
TOTAL() function
positional arguments: 2keywords: CUMULATIVE, DOUBLE, INTEGER, NAN, PRESERVE_TYPE
multi-threading: this routine uses GDL thread pool if working on large array, see the...
TRACE() function
positional arguments: 1keywords: DOUBLE
TRANSPOSE() function
positional arguments: 2keywords: none
TRIGRID() functionpositional arguments: 6keywords: MAP, MAX_VALUE, MISSING, NX, NY
TV procedurepositional arguments: 4keywords: CHANNEL, DATA, DEVICE, NORMAL, ORDER, TRUE, XSIZE, YSIZE
TVLCT procedurepositional arguments: 4keywords: GET, HLS, HSV
TVRD() functionpositional arguments: 5keywords: CHANNEL, ORDER, TRUE, WORDS
TVSCL procedurepositional arguments: 3keywords: NAN, _EXTRA
T_PDF() functionpositional arguments: 2keywords: none
UINDGEN() functionpositional arguments: 8keywords: none
DRAFT
DRAFT90 Chapter 15. Alphabetical list of library routines
UINT() functionpositional arguments: 10keywords: none
UINTARR() functionpositional arguments: 8keywords: NOZERO
UL64INDGEN() functionpositional arguments: 8keywords: none
ULINDGEN() functionpositional arguments: 8keywords: none
ULON64ARR() functionpositional arguments: 8keywords: NOZERO
ULONARR() functionpositional arguments: 8keywords: NOZERO
ULONG() functionpositional arguments: 10keywords: none
ULONG64() functionpositional arguments: 10keywords: none
UNIQ() functionpositional arguments: 2keywords: none
USERSYM procedurepositional arguments: 2keywords: COLOR, FILL, THICK
VALUE_LOCATE() functionpositional arguments: 2keywords: L64
VARIANCE() functionpositional arguments: 1keywords: DOUBLE, NAN
VOIGT() functionpositional arguments: 2keywords: DOUBLE, ITER
WAIT procedurepositional arguments: 1keywords: none
DRAFT
DRAFTWDELETE procedure 91
WDELETE procedurepositional arguments: any numberkeywords: none
WHERE() functionpositional arguments: 2keywords: COMPLEMENT, NCOMPLEMENT
see also: ARRAY_INDICES()
multi-threading: this routine uses GDL thread pool if working on large array, see the...
WIDGET_BASE() functionpositional arguments: 1keywords: ALIGN_BOTTOM, ALIGN_CENTER, ALIGN_LEFT, ALIGN_RIGHT,
ALIGN_TOP, BASE_ALIGN_BOTTOM, BASE_ALIGN_CENTER, BASE_ALIGN_LEFT,BASE_ALIGN_RIGHT, BASE_ALIGN_TOP, COLUMN, CONTEXT_EVENTS,CONTEXT_MENU, DISPLAY_NAME, EVENT_FUNC, EVENT_PRO, EX-CLUSIVE, FLOATING, FRAME, FUNC_GET_VALUE, GRID_LAYOUT,GROUP_LEADER, KBRD_FOCUS_EVENTS, KILL_NOTIFY, MAP, MBAR,MODAL, NONEXCLUSIVE, NOTIFY_REALIZE, NO_COPY, PRO_SET_VALUE,RESOURCE_NAME, RNAME_MBAR, ROW, SCROLL, SCR_XSIZE, SCR_YSIZE,SENSITIVE, SPACE, TITLE, TLB_FRAME_ATTR, TLB_ICONIFY_EVENTS,TLB_KILL_REQUEST_EVENTS, TLB_MOVE_EVENTS, TLB_SIZE_EVENTS,TOOLBAR, TRACKING_EVENTS, UNAME, UNITS, UVALUE, XOFFSET, XPAD,XSIZE, X_SCROLL_SIZE, YOFFSET, YPAD, YSIZE, Y_SCROLL_SIZE
WIDGET_BUTTON() functionpositional arguments: 1keywords: ACCELERATOR, ALIGN_CENTER, ALIGN_LEFT, ALIGN_RIGHT,
BITMAP, CHECKED_MENU, DYNAMIC_RESIZE, EVENT_FUNC, EVENT_PRO,FONT, FRAME, FUNC_GET_VALUE, GROUP_LEADER, HELP, KILL_NOTIFY,MENU, NOTIFY_REALIZE, NO_COPY, NO_RELEASE, PRO_SET_VALUE,PUSHBUTTON_EVENTS, SCR_XSIZE, SCR_YSIZE, SENSITIVE, SEPARATOR,
TAB_MODE, TOOLTIP, TRACKING_EVENTS, UNAME, UNITS, UVALUE,VALUE, XOFFSET, XSIZE, X_BITMAP_EXTRA, YOFFSET, YSIZE
WIDGET_CONTROL procedure
positional arguments: 1keywords: DESTROY, EVENT_PRO, FUNC_GET_VALUE, GET_UVALUE,
GET_VALUE, MANAGED, MAP, NO_COPY, PRO_SET_VALUE, REAL-IZE, SENSITIVE, SET_BUTTON, SET_DROPLIST_SELECT, SET_UNAME,SET_UVALUE, SET_VALUE, XMANAGER_ACTIVE_COMMAND
WIDGET_DROPLIST() function
positional arguments: 1keywords: DYNAMIC_RESIZE, EVENT_FUNC, EVENT_PRO, FONT, FRAME,
FUNC_GET_VALUE, GROUP_LEADER, KILL_NOTIFY, NOTIFY_REALIZE,NO_COPY, PRO_SET_VALUE, RESOURCE_NAME, SCR_XSIZE, SCR_YSIZE,SENSITIVE, TAB_MODE, TITLE, TRACKING_EVENTS, UNAME, UNITS,UVALUE, VALUE, XOFFSET, XSIZE, YOFFSET, YSIZE
WIDGET_EVENT() function
positional arguments: 1keywords: DESTROY, XMANAGER_BLOCK
WIDGET_INFO() function
positional arguments: 1keywords: CHILD, MANAGED, MODAL, VALID, VERSION, XMANAGER_BLOCK
DRAFT
DRAFT92 Chapter 15. Alphabetical list of library routines
WIDGET_LABEL() functionpositional arguments: 1keywords: ALL_EVENTS, CONTEXT_EVENTS, EDITABLE, EVENT_FUNC,
EVENT_PRO, FONT, FRAME, FUNC_GET_VALUE, GROUP_LEADER,IGNORE_ACCELERATORS, KBRD_FOCUS_EVENTS, KILL_NOTIFY, NO-TIFY_REALIZE, NO_COPY, NO_NEWLINE, PRO_SET_VALUE, RE-SOURCE_NAME, SCROLL, SCR_XSIZE, SCR_YSIZE, SENSITIVE, TAB_MODE,TRACKING_EVENTS, UNAME, UNITS, UVALUE, VALUE, WRAP, XOFFSET,XSIZE, YOFFSET, YSIZE
WIDGET_TEXT() functionpositional arguments: 1keywords: ALL_EVENTS, CONTEXT_EVENTS, EDITABLE, EVENT_FUNC,
EVENT_PRO, FONT, FRAME, FUNC_GET_VALUE, GROUP_LEADER,IGNORE_ACCELERATORS, KBRD_FOCUS_EVENTS, KILL_NOTIFY, NO-TIFY_REALIZE, NO_COPY, NO_NEWLINE, PRO_SET_VALUE, RE-SOURCE_NAME, SCROLL, SCR_XSIZE, SCR_YSIZE, SENSITIVE, TAB_MODE,TRACKING_EVENTS, UNAME, UNITS, UVALUE, VALUE, WRAP, XOFFSET,XSIZE, YOFFSET, YSIZE
WINDOW procedurepositional arguments: 1keywords: COLORS, FREE, PIXMAP, RETAIN, TITLE, XPOS, XSIZE, YPOS, YSIZE
WRITEU procedurepositional arguments: any numberkeywords: TRANSFER_COUNT
WRITE_BMP procedurepositional arguments: 5keywords: DEBUG, FOUR_BIT, HEADER_DEFINE, HELP, IHDR, RGB, TEST
WRITE_GIF procedure
positional arguments: 5keywords: BACKGROUND_COLOR, CLOSE, DEBUG, DELAY_TIME, DIS-
POSAL_METHOD, HELP, MULTIPLE, REPEAT_COUNT, TEST, TRANSPAR-ENT, USER_INPUT
WRITE_JPEG procedure
positional arguments: 2keywords: DEBUG, HELP, ORDER, PROGRESSIVE, QUALITY, TEST, TRUE, UNIT
WRITE_PICT procedure
positional arguments: 5keywords: DEBUG, HELP, TEST
WRITE_PNG procedure
positional arguments: 5keywords: DEBUG, HELP, ORDER, TEST, TRANSPARENT, VERBOSE
WSET procedure
positional arguments: 1keywords: none
WSHOW procedure
positional arguments: 2keywords: none
DRAFT
DRAFTWTN() function 93
WTN() function
positional arguments: 2keywords: COLUMN, DOUBLE, INVERSE, OVERWRITE
XYOUTS procedurepositional arguments: 3keywords: ALIGNMENT, CHARSIZE, CHARTHICK, CLIP, COLOR, DATA, DEVICE,
NOCLIP, NORMAL, ORIENTATION, WIDTH, Z
DRAFT
DRAFTPart II
Developer’s guide
DRAFT
DRAFTChapter 16
General remarks and coding guidelines
... such as the CERN C++ Coding Standard Specification [4] or other similar docu-ments.
DRAFT
DRAFTChapter 17
The library-routine API
TODO: extract it using Doxygen or some similar tool.
DRAFT
DRAFTChapter 18
Extending the documentation
LATEXgdldoc.styNatbib:
DRAFT
DRAFTChapter 19
Extending the testsuite (testsuite/README)
The list of GDL routines to be executed during the make-check run isdefined in the testsuite/Makefile.am file. After adding a new item(filename) to the list, please rerun "automake" being in the rootfolder of the source tree. CMake also uses the list in Makefile.am.
Each test routine is invoked using the GDL "-e" command-line optionby the "try" shell script in the testsuite directory (and in ananalogous manner for the case of CMake/CTest). "make" decideson the status of a test basing on the exit code of this script:- "success" for exit code 0- "ignorable failure" for code 77- "failure" for any other exit code, e.g. 1The "try" script should, in principle, exit with the GDL exit code.Therefore, a failure of a GDL test should be indicated by e.g.:
if ( ...true if test failed... ) beginmessage, ’reason for the failure’, /continueexit, status=1
endif
An ignorable failure can be indicated by e.g.:
if (!XXX_exists()) then beginmessage, ’GDL was built w/o support for XXX - skipping’, /contiexit, status=77
endif
Any GDL error (e.g. parser error or library-routine-triggered error)causing GDL to return to the $MAIN$ level will cause make to assume
_success_! (GDL exits normally in this case). Any GDL error causingGDL to stop execution on an other-than-$MAIN$ level will bring theGDL interpreter prompt.
The name of the file must match the name of the test routine, e.g.testsuite/test_dummy.pro for
pro test_dummy...
end
GDL segfaults, assertion-exits, std::terminate() exits, etc. arehandled as failures by make.
The "try" script always uses the gdl binary in the build tree -not the one installed in the system. The "try" script also setsappropriate env. variables so that the GDL-written library routinesare taken from the source tree as well (e.g. src/pro/mean.pro).
Regardless if the autotools or the CMake/CTest configurationmechanism, the testsuite run is invoked by "make check" (not thedefault CMakes’s "make test").
DRAFT
DRAFTChapter 20
A short overview of how GDL works internally
Programs (*.pro files) or command line input is parsed (GDLLexer.cpp, GDLParser.cppgenerated with ANTLR from gdlc.g). These results in an abstract syntax tree (AST)consisting of ’DNode’ (dnode.hpp). This systax tree is further manipulated (com-piled) with a tree parser (GDLTreeParser.cpp generated with ANTLR from gdlc.tree.g,dcompiler.hpp). Here the AST is splitted into the different functions/procedures andthe DNode(s) are annotated with further information and converted to ProgNode(s).Then these compiled (ProgNode) ASTs are interpreted (GDLInterpreter.cpp generatedwith ANTLR from gdlc.i.g, dinterpreter.cpp).
DRAFT
DRAFTChapter 21
How to make use of OpenMP in GDL
DRAFT
DRAFTChapter 22
Notes for packagers
Optional features of PLplot and ImageMagick
The HDF4-netCDF conflict
DRAFT
DRAFTPart III
Indices
DRAFT
DRAFT
DRAFT
DRAFTSubject Index.COMPILE, 17.CONTINUE, 17.STEP, 17$MAIN$, 73_EXTRA, 14_REF_EXTRA, 14_STRICT_EXTRA, 14_EXTRA keyword
in ISHFT() function, 56in PLOTERR procedure, 67in TVSCL procedure, 89
_REF_EXTRA keywordin CALL_FUNCTION() function, 38in CALL_METHOD procedure, 38in CALL_METHOD() function, 38in CALL_PROCEDURE procedure, 38in OBJ_DESTROY procedure, 65in OBJ_NEW() function, 65in QUERY_IMAGE() function, 70
abbreviated keyword names, 14ABORT keyword
in NCDF_CONTROL procedure, 63ABS() function, 18, 33ACCELERATOR keyword
in WIDGET_BUTTON() function, 91ACOS() function, 19, 33ALIGN_BOTTOM keyword
in WIDGET_BASE() function, 91ALIGN_CENTER keyword
in WIDGET_BASE() function, 91in WIDGET_BUTTON() function, 91
ALIGN_LEFT keywordin WIDGET_BASE() function, 91in WIDGET_BUTTON() function, 91
ALIGN_RIGHT keywordin WIDGET_BASE() function, 91in WIDGET_BUTTON() function, 91
ALIGN_TOP keywordin WIDGET_BASE() function, 91
ALIGNMENT keywordin XYOUTS procedure, 93
ALL_DIRS keywordin EXPAND_PATH() function, 43
ALL_EVENTS keywordin WIDGET_LABEL() function, 92in WIDGET_TEXT() function, 92
ALL_GDL keywordin CALL_EXTERNAL() function, 36
ALL_VALUE keywordin CALL_EXTERNAL() function, 36
ALL keywordin CLOSE procedure, 39in HDF_OPEN() function, 50in SAVE procedure, 75
ALLOCATE_HEAP keywordin PTR_NEW() function, 69in PTRARR() function, 68
ALLOW_NONEXISTENT keywordin FILE_DELETE procedure, 44
ALLOW_SAME keywordin FILE_COPY procedure, 44
ALOG() function, 18, 33ALOG10() function, 18, 33
AM_PM keywordin PRINT procedure, 68in PRINTF procedure, 68in READ procedure, 70in READF procedure, 70in READS procedure, 70in STOP procedure, 85in STRING() function, 85
APPEND keywordin OPENR procedure, 66in OPENU procedure, 66in OPENW procedure, 66in SAVE procedure, 75
APPLEMAN procedure, 33ARG_NAME keyword
in ROUTINE_NAMES() function, 73ARG_PRESENT() function, 14, 34, 74ARGV keyword
in PYTHON procedure, 69in PYTHON() function, 69
ARRAY_EQUAL() function, 15, 34ARRAY_INDICES() function, 15, 34, 52, 91ARRAY keyword
in EXPAND_PATH() function, 43ASIN() function, 19, 34ASSOC() function, 12, 34ATAN() function, 12, 19, 33, 34ATRANSPOSE keyword
in MATRIX_MULTIPLY() function, 61AX keyword
in SURFACE procedure, 87AXIS procedure, 35
DRAFT
DRAFT 105
AXISprocedure, 23AZ keyword
in SURFACE procedure, 87
B_VALUE keywordin CALL_EXTERNAL() function, 36
BACKGROUND_COLOR keywordin WRITE_GIF procedure, 92
BACKGROUND keywordin CONTOUR procedure, 39in PLOT procedure, 67in SURFACE procedure, 87
BACKPROJECT keywordin RADON() function, 70
BAR_COLOR keywordin PLOTERR procedure, 67
BASE_ALIGN_BOTTOM keywordin WIDGET_BASE() function, 91
BASE_ALIGN_CENTER keywordin WIDGET_BASE() function, 91
BASE_ALIGN_LEFT keywordin WIDGET_BASE() function, 91
BASE_ALIGN_RIGHT keywordin WIDGET_BASE() function, 91
BASE_ALIGN_TOP keywordin WIDGET_BASE() function, 91
BASE keywordin SHOWFONT procedure, 75
BEG keywordin SHOWFONT procedure, 75
BEGIN, 14in CASE statement, 13in FOR statement, 13in IF/THEN/ELSE statement, 12in SWITCH statement, 13in WHILE statement, 14
BESELI() function, 19, 35BESELJ() function, 19, 35BESELK() function, 19, 35BESELY() function, 19, 35BETA() function, 19, 35
BILINEAR() function, 35BIN1 keyword
in HIST_2D() function, 52BIN2 keyword
in HIST_2D() function, 52BINARY keyword
in OPENR procedure, 66in OPENU procedure, 66in OPENW procedure, 66
BINDGEN() function, 13, 15, 35BINOMIAL keyword
in RANDOMN() function, 70in RANDOMU() function, 70
BINSIZE keywordin HISTOGRAM() function, 52
BITMAP keywordin WIDGET_BUTTON() function, 91
BLOCK_SPECIAL keywordin FILE_TEST() function, 45
BLOCK keywordin OPENR procedure, 66in OPENU procedure, 66in OPENW procedure, 66
BOOLEAN keywordin STREGEX() function, 85
BOTTOM keywordin LOADCT procedure, 57
BREAKin CASE statement, 13in FOR statement, 13in FOREACH statement, 13in REPEAT statement, 14in SWITCH statement, 13in WHILE statement, 14
BREAKDOWN_EPOCH keywordin CDF_EPOCH procedure, 38
BRIEF keywordin HELP procedure, 52
BROYDEN() function, 20, 35BTRANSPOSE keyword
in MATRIX_MULTIPLY() function, 61
BUFFER keywordin READ_JPEG procedure, 71
BUFSIZE keywordin OPENR procedure, 66in OPENU procedure, 66in OPENW procedure, 66
BYTARR() function, 13, 15, 35BYTE() function, 12, 13, 35BYTE keyword
in HDF_SD_CREATE() function, 50in INDGEN() function, 56in MAKE_ARRAY() function, 61in NCDF_ATTPUT procedure, 62in NCDF_VARDEF() function, 63
BYTEORDER procedure, 36BYTEORDERprocedure, 19, 21BYTSCL() function, 23, 28, 36
C_CHARSIZE keywordin CONTOUR procedure, 39
C_COLORS keywordin CONTOUR procedure, 39
C_LINESTYLE keywordin CONTOUR procedure, 39
cal (UNIX), 36CALDAT procedure, 36CALDATprocedure, 27CALENDAR procedure, 36CALENDARprocedure, 27CALL_EXTERNAL() function, 31, 36, 57CALL_FUNCTION() function, 14, 38CALL_METHOD procedure, 38CALL_METHOD() function, 14, 38CALL_METHODprocedure, 14CALL_METHON() function, 15CALL_METHONprocedure, 15CALL_PROCEDURE procedure, 38CALL_PROCEDURE() function, 14CALLS keyword
in HELP procedure, 52CANCEL keyword
DRAFT
DRAFT106 Subject Index
in CATCH procedure, 38in DIALOG_MESSAGE() function, 42
CASE, 13CAST keyword
in OBJ_VALID() function, 66in PTR_VALID() function, 69
CATCH procedure, 38CATCHprocedure, 15CD procedure, 38CDF_EPOCH procedure, 38CDprocedure, 25CEIL() function, 18, 39CENTER keyword
in CONGRID() function, 39in CONVOL() function, 40in DIALOG_MESSAGE() function, 42
CHANGE keywordin CURSOR procedure, 41
CHANNEL keywordin TV procedure, 89in TVRD() function, 89
CHANNELS keywordin MAGICK_PING() function, 60in READ_TIFF() function, 71
CHAR keywordin NCDF_ATTPUT procedure, 62in NCDF_VARDEF() function, 63
CHARACTER_SPECIAL keywordin FILE_TEST() function, 45
CHARSIZE keywordin AXIS procedure, 35in CONTOUR procedure, 39in PLOT procedure, 67in SURFACE procedure, 87in XYOUTS procedure, 93
CHARTHICK keywordin AXIS procedure, 35in CONTOUR procedure, 39in PLOT procedure, 67in SURFACE procedure, 87in XYOUTS procedure, 93
CHECK_MATH() function, 15, 39CHECK_MATHprocedure, 17CHECKED_MENU keyword
in WIDGET_BUTTON() function, 91CHILD keyword
in WIDGET_INFO() function, 91CINDGEN() function, 13, 15, 39CLASS keyword
in HDF_VD_GET procedure, 51in HDF_VG_GETINFO procedure, 51
CLIENTSERVER keywordin LMGR() function, 57
CLIP_PLANE keywordin MAP_CLIP_SET procedure, 61
CLIP_UV keywordin MAP_CLIP_SET procedure, 61
CLIP keywordin CONTOUR procedure, 39in OPLOT procedure, 66in PLOT procedure, 67in PLOTS procedure, 67in POLYFILL procedure, 67in SURFACE procedure, 87in XYOUTS procedure, 93
CLOBBER keywordin NCDF_CREATE() function, 63
CLOSE procedure, 39CLOSE_FILE keyword
in DEVICE procedure, 41CLOSE keyword
in WRITE_GIF procedure, 92CLOSEprocedure, 21COEFFICIENTS keyword
in LAGUERRE() function, 56COLOR keyword
in AXIS procedure, 35in CONTOUR procedure, 39in DEVICE procedure, 41in MAP_CONTINENTS procedure, 61in OPLOT procedure, 66in PLOT procedure, 67
in PLOTS procedure, 67in POLYFILL procedure, 67in SURFACE procedure, 87in USERSYM procedure, 90in XYOUTS procedure, 93
COLORS keywordin READ_JPEG procedure, 71in WINDOW procedure, 92
COLUMN keywordin LUDC procedure, 59in LUSOL() function, 59in SVDC procedure, 88in WIDGET_BASE() function, 91in WTN() function, 93
COMMAND_LINE_ARGS() function, 25, 39COMMENT_SYMBOL keyword
in READ_ASCII() function, 71COMPANION keyword
in IMSL_ZEROPOLY() function, 55COMPATIBLE keyword
in SAVE procedure, 75COMPLEMENT keyword
in WHERE() function, 91complex numbers
magnitude, 18COMPLEX() function, 12, 13, 39COMPLEX keyword
in INDGEN() function, 56in MAKE_ARRAY() function, 61
COMPLEXARR() function, 13, 15, 39COMPRESS keyword
in FILE_LINES() function, 45in OPENR procedure, 66in OPENU procedure, 66in OPENW procedure, 66
COMPUTE_EPOCH keywordin CDF_EPOCH procedure, 38
CONGRID() function, 39CONJ() function, 12, 39CONNECT_TIMEOUT keyword
in SOCKET procedure, 84
DRAFT
DRAFT 107
CONTEXT_EVENTS keywordin WIDGET_BASE() function, 91in WIDGET_LABEL() function, 92in WIDGET_TEXT() function, 92
CONTEXT_MENU keywordin WIDGET_BASE() function, 91
CONTINUEin CONTINUE statement, 14in FOR statement, 13in FOREACH statement, 13in WHILE statement, 14
CONTINUE keywordin MESSAGE procedure, 62in PLOTS procedure, 67
CONTOUR procedure, 39CONTOURprocedure, 23CONVERT_ALL keyword
in IDL_VALIDNAME() function, 53CONVERT_COORD() function, 24, 40CONVERT_SPACES keyword
in IDL_VALIDNAME() function, 53CONVOL() function, 18, 28, 40COORDSYS keyword
in HDF_SD_GETINFO procedure, 51COPY keyword
in SET_PLOT procedure, 75CORRELATE() function, 19, 40COS() function, 19, 40COSH() function, 19, 41COUNT keyword
in COMMAND_LINE_ARGS() function, 39in EXPAND_PATH() function, 43in FILE_SEARCH() function, 45in FINDFILE() function, 45in GET_DRIVE_LIST() function, 47in HDF_SD_ADDDATA procedure, 50in HDF_SD_ATTRINFO procedure, 50in HDF_SD_DIMGET procedure, 50in HDF_SD_GETDATA procedure, 51in HDF_VD_GET procedure, 51in IMAGE_STATISTICS procedure, 53
in NCDF_VARGET procedure, 63in NCDF_VARPUT procedure, 64in OBJ_CLASS() function, 64in OBJ_VALID() function, 66in PTR_VALID() function, 69in READ_ASCII() function, 71in SPAWN procedure, 84in STRSPLIT() function, 86
COUNTRIES keywordin MAP_CONTINENTS procedure, 61
COVARIANCE keywordin CORRELATE() function, 40
CPU procedure, 41CPUprocedure, 29CREATE_STRUCT() function, 15, 41CREATE keyword
in HDF_OPEN() function, 50in HDF_SD_START() function, 51
CROSSP() function, 18, 41CUBIC keyword
in CONGRID() function, 39in INTERPOLATE() function, 56in POLY_2D() function, 68
CUMULATIVE keywordin PRODUCT() function, 68in TOTAL() function, 89
CURRENT keywordin CD procedure, 38in MEMORY() function, 62
CURSOR procedure, 41CURSORprocedure, 23
D_VALUE keywordin CALL_EXTERNAL() function, 36
DATA_DIMS keywordin READ_BINARY() function, 71
DATA_LENGTH keywordin N_TAGS() function, 64
DATA_START keywordin READ_ASCII() function, 71in READ_BINARY() function, 71
DATA_SUM keywordin IMAGE_STATISTICS procedure, 53
DATA_TYPE keywordin READ_BINARY() function, 71
DATA keywordin AXIS procedure, 35in CONTOUR procedure, 39in CONVERT_COORD() function, 40in CURSOR procedure, 41in HDF_SD_ATTRINFO procedure, 50in PLOT procedure, 67in PLOTS procedure, 67in POLYFILL procedure, 67in SAVE procedure, 75in SURFACE procedure, 87in TV procedure, 89in XYOUTS procedure, 93
DAYS_OF_WEEK keywordin PRINT procedure, 68in PRINTF procedure, 68in READ procedure, 70in READF procedure, 70in READS procedure, 70in STOP procedure, 85in STRING() function, 85
DBLARR() function, 13, 15, 41DCINDGEN() function, 13, 15, 41DCOMPLEX() function, 12, 13, 41DCOMPLEX keyword
in INDGEN() function, 56in MAKE_ARRAY() function, 61
DCOMPLEXARR() function, 13, 15, 41DEBUG keyword
in DIALOG_PICKFILE() function, 42in FILE_WHICH() function, 45in READ_GIF procedure, 71in READ_JPEG procedure, 71in SPL_INIT_OLD() function, 84in WRITE_BMP procedure, 92in WRITE_GIF procedure, 92in WRITE_JPEG procedure, 92
DRAFT
DRAFT108 Subject Index
in WRITE_PICT procedure, 92in WRITE_PNG procedure, 92
DECOMPOSED keywordin DEVICE procedure, 41
DEFAULT_CANCEL keywordin DIALOG_MESSAGE() function, 42
DEFAULT_EXTENSION keywordin DIALOG_PICKFILE() function, 42
DEFAULT_NO keywordin DIALOG_MESSAGE() function, 42
DEFAULTRETURNVALUE keywordin PYTHON() function, 69
DEFSYSV procedure, 41DEFSYSVprocedure, 15DEGREES keyword
in LL_ARC_DISTANCE() function, 57DELAY_TIME keyword
in WRITE_GIF procedure, 92DELETE keyword
in OPENR procedure, 66in OPENU procedure, 66in OPENW procedure, 66
DELIMITER keywordin READ_ASCII() function, 71
DEMO keywordin LMGR() function, 57
DERIV() function, 18, 19, 41DESCRIPTION keyword
in RESTORE procedure, 72DESTROY_SEMAPHORE keyword
in SEM_CREATE() function, 75DESTROY keyword
in WIDGET_CONTROL procedure, 91in WIDGET_EVENT() function, 91
DETERM() function, 41DEVICE procedure, 41DEVICE keyword
in AXIS procedure, 35in CONTOUR procedure, 39in CONVERT_COORD() function, 40in CURSOR procedure, 41
in PLOT procedure, 67in PLOTS procedure, 67in POLYFILL procedure, 67in SURFACE procedure, 87in TV procedure, 89in XYOUTS procedure, 93
DEVICEprocedure, 23DFNT_CHAR keyword
in HDF_SD_CREATE() function, 50DFNT_FLOAT32 keyword
in HDF_SD_CREATE() function, 50DFNT_FLOAT64 keyword
in HDF_SD_CREATE() function, 50DFNT_INT16 keyword
in HDF_SD_CREATE() function, 50DFNT_INT32 keyword
in HDF_SD_CREATE() function, 50DFNT_INT8 keyword
in HDF_SD_CREATE() function, 50DFNT_UINT16 keyword
in HDF_SD_CREATE() function, 50DFNT_UINT32 keyword
in HDF_SD_CREATE() function, 50DFNT_UINT8 keyword
in HDF_SD_CREATE() function, 50DIALOG_MESSAGE() function, 30, 42DIALOG_PARENT keyword
in DIALOG_MESSAGE() function, 42in DIALOG_PICKFILE() function, 42
DIALOG_PICKFILE() function, 30, 42DIMENSION keyword
in FFT() function, 44in MAKE_ARRAY() function, 61in MAX() function, 62in MEDIAN() function, 62in MIN() function, 62
DIMENSIONS keywordin MAGICK_PING() function, 60in SIZE() function, 84
DIMS keywordin HDF_SD_GETINFO procedure, 51
DINDGEN() function, 13, 15, 42DIRECTORY keyword
in DIALOG_PICKFILE() function, 42in FILE_TEST() function, 45
DISABLED keywordin ROUTINE_INFO() function, 72
DISPLAY_NAME keywordin DIALOG_MESSAGE() function, 42in DIALOG_PICKFILE() function, 42in WIDGET_BASE() function, 91
DISPOSAL_METHOD keywordin WRITE_GIF procedure, 92
DIST() function, 20, 42DITHER keyword
in MAGICK_QUANTIZE procedure, 61in READ_JPEG procedure, 71
DOin FOR statement, 13in FOREACH statement, 13in WHILE statement, 14
DOUBLE keyword, 18DOUBLE() function, 12, 13, 42DOUBLE keyword
in BESELI() function, 35in BESELJ() function, 35in BESELK() function, 35in BESELY() function, 35in BETA() function, 35in BROYDEN() function, 35in CONVERT_COORD() function, 40in CORRELATE() function, 40in DETERM() function, 41in ERF() function, 42in ERFC() function, 43in ERRORF() function, 43in EXPINT() function, 43in FFT() function, 44in GAMMA() function, 46in GAUSSINT() function, 46in GDL_ERFINV() function, 47in HDF_SD_CREATE() function, 50
DRAFT
DRAFT 109
in IDENTITY() function, 53in IGAMMA() function, 53in IMSL_BINOMIALCOEF() function, 53in IMSL_CONSTANT() function, 54in IMSL_ERF() function, 55in IMSL_ZEROPOLY() function, 55in IMSL_ZEROSYS() function, 56in INDGEN() function, 56in INVERT() function, 56in KURTOSIS() function, 56in LA_TRIRED procedure, 56in LAGUERRE() function, 56in LEGENDRE() function, 57in LNGAMMA() function, 57in LUDC procedure, 59in LUSOL() function, 59in MACHAR() function, 59in MAKE_ARRAY() function, 61in MEAN() function, 62in MEANABSDEV() function, 62in MEDIAN() function, 62in MOMENT() function, 62in NCDF_ATTPUT procedure, 62in NCDF_VARDEF() function, 63in NEWTON() function, 64in NORM() function, 64in POLY_AREA() function, 68in RADON() function, 70in RANDOMN() function, 70in RANDOMU() function, 70in RK4() function, 72in RK4JMG() function, 72in SKEWNESS() function, 84in SPHER_HARM() function, 84in SPL_INIT() function, 84in SPL_INIT_OLD() function, 84in SPL_INTERP() function, 84in SPL_INTERP_OLD() function, 84in STDDEV() function, 85in SVDC procedure, 88in TOTAL() function, 89
in TRACE() function, 89in VARIANCE() function, 90in VOIGT() function, 90in WTN() function, 93
DOWN keywordin CURSOR procedure, 41
DRHO keywordin RADON() function, 70
DTOXDR keywordin BYTEORDER procedure, 36
DX keywordin RADON() function, 70
DY keywordin RADON() function, 70
DYNAMIC_RESIZE keywordin WIDGET_BUTTON() function, 91in WIDGET_DROPLIST() function, 91
EDGE_TRUNCATE keywordin CONVOL() function, 40in SMOOTH() function, 84
EDGE_WRAP keywordin CONVOL() function, 40
EDITABLE keywordin WIDGET_LABEL() function, 92in WIDGET_TEXT() function, 92
ELSEin CASE statement, 13in IF/THEN/ELSE statement, 12in SWITCH statement, 13
EMBEDDED keywordin LMGR() function, 57
ENABLED keywordin ROUTINE_INFO() function, 72
ENCAPSULATED keywordin DEVICE procedure, 41in SHOWFONT procedure, 75
ENDCASE, 13ENDEF keyword
in NCDF_CONTROL procedure, 63ENDELSE, 12
ENDFOR, 13ENDFOREACH, 13ENDIAN keyword
in READ_BINARY() function, 71ENDIF, 12ENDREP, 14ENDSWITCH, 13ENDWHILE, 14ENVIRONMENT keyword
in GETENV() function, 47EOF() function, 42EOF keyword
in SKIP_LUN procedure, 84EOFprocedure, 21ERASE procedure, 42ERASEprocedure, 23ERF() function, 18, 42ERFC() function, 18, 43ERR_REL keyword
in IMSL_ZEROSYS() function, 56ERRMSG keyword
in SAVE procedure, 75ERROR keyword
in DIALOG_MESSAGE() function, 42in OPENR procedure, 66in OPENU procedure, 66in OPENW procedure, 66in SOCKET procedure, 84
ERRORF() function, 18, 43ESC keyword
in STR_SEP() function, 87ESCAPE_SPECIAL_CHAR() function, 43ESCAPE keyword
in STRSPLIT() function, 86in STRTOK() function, 86
EVEN keywordin MEDIAN() function, 62
EVENT_FUNC keywordin WIDGET_BASE() function, 91in WIDGET_BUTTON() function, 91in WIDGET_DROPLIST() function, 91
DRAFT
DRAFT110 Subject Index
in WIDGET_LABEL() function, 92in WIDGET_TEXT() function, 92
EVENT_PRO keywordin WIDGET_BASE() function, 91in WIDGET_BUTTON() function, 91in WIDGET_CONTROL procedure, 91in WIDGET_DROPLIST() function, 91in WIDGET_LABEL() function, 92in WIDGET_TEXT() function, 92
EXCLUSIVE keywordin WIDGET_BASE() function, 91
EXECUTABLE keywordin FILE_TEST() function, 45
EXECUTE() function, 14, 25, 43EXECUTEprocedure, 15EXISTS keyword
in DEFSYSV procedure, 41EXIT procedure, 43EXIT_STATUS keyword
in CLOSE procedure, 39in FREE_LUN procedure, 46in SPAWN procedure, 84
EXITprocedure, 25EXP() function, 18, 43EXPAND_ENVIRONMENT keyword
in FILE_SEARCH() function, 45EXPAND_PATH() function, 14, 25, 43EXPAND_TILDE keyword
in FILE_SEARCH() function, 45EXPINT() function, 18, 43EXPIRE_DATE keyword
in LMGR() function, 57EXTRACT keyword
in STREGEX() function, 85in STRSPLIT() function, 86in STRTOK() function, 86
F77_UNFORMATTED keywordin OPENR procedure, 66in OPENU procedure, 66in OPENW procedure, 66
F_VALUE keywordin CALL_EXTERNAL() function, 36
FACTORIAL() function, 19, 43FETCH keyword
in ROUTINE_NAMES() function, 73FFT() function, 20, 44FIELDS keyword
in HDF_VD_READ() function, 51FILE_BASENAME() function, 25, 44FILE_COPY procedure, 44FILE_COPYprocedure, 25FILE_DELETE procedure, 44FILE_DELETEprocedure, 25FILE_DIRNAME() function, 25, 44, 45FILE_EXPAND_PATH() function, 25, 45FILE_INFO() function, 25, 45FILE_LINES() function, 25, 45FILE_LUN keyword
in SIZE() function, 84FILE_MKDIR procedure, 45FILE_MKDIRprocedure, 25FILE_SAME() function, 25, 45FILE_SEARCH() function, 25, 45FILE_TEST() function, 25, 45FILE_WHICH() function, 25, 45FILE keyword
in CLOSE procedure, 39in DIALOG_PICKFILE() function, 42in LOADCT procedure, 57
FILENAME keywordin DEVICE procedure, 41in RESTORE procedure, 72in SAVE procedure, 75
FILEPATH() function, 14, 44FILL_CONTINENTS keyword
in MAP_CONTINENTS procedure, 61FILL keyword
in CONTOUR procedure, 39in NCDF_CONTROL procedure, 63in USERSYM procedure, 90
FILTER keyword
in DIALOG_PICKFILE() function, 42FIN keyword
in SHOWFONT procedure, 75FINDEX() function, 19, 45FINDFILE() function, 25, 45FINDGEN() function, 13, 15, 46FINITE() function, 15, 46FIX() function, 12, 13, 46FIX_FILTER keyword
in DIALOG_PICKFILE() function, 42FLOAT() function, 12, 13, 46FLOAT keyword
in HDF_SD_CREATE() function, 50in INDGEN() function, 56in MAKE_ARRAY() function, 61in NCDF_ATTPUT procedure, 62in NCDF_VARDEF() function, 63
FLOATING keywordin WIDGET_BASE() function, 91
FLOOR() function, 18, 46FLTARR() function, 13, 15, 46FLUSH procedure, 46FLUSHprocedure, 23FNORM keyword
in IMSL_ZEROSYS() function, 56FOLD_CASE keyword
in FILE_BASENAME() function, 44in FILE_SEARCH() function, 45in STRCMP() function, 85in STREGEX() function, 85in STRMATCH() function, 86in STRSPLIT() function, 86
FOLLOW keywordin CONTOUR procedure, 39
FONT keywordin AXIS procedure, 35in CONTOUR procedure, 39in SURFACE procedure, 87in WIDGET_BUTTON() function, 91in WIDGET_DROPLIST() function, 91in WIDGET_LABEL() function, 92
DRAFT
DRAFT 111
in WIDGET_TEXT() function, 92FOR, 13FORCE_DEMO keyword
in LMGR() function, 57FORCE keyword
in CLOSE procedure, 39in FREE_LUN procedure, 46
FOREACH, 13FORMAT keyword
in HDF_SD_GETINFO procedure, 51in PM procedure, 67in PRINT procedure, 68in PRINTF procedure, 68in READ procedure, 70in READF procedure, 70in READS procedure, 70in STOP procedure, 85in STRING() function, 85
FOUR_BIT keywordin WRITE_BMP procedure, 92
FRAME keywordin WIDGET_BASE() function, 91in WIDGET_BUTTON() function, 91in WIDGET_DROPLIST() function, 91in WIDGET_LABEL() function, 92in WIDGET_TEXT() function, 92
FREE_LUN procedure, 46FREE_LUNprocedure, 21FREE keyword
in WINDOW procedure, 92FSTAT() function, 25, 46FTOXDR keyword
in BYTEORDER procedure, 36FULL_INTERLACE keyword
in HDF_VD_READ() function, 51FULL_STRUCT keyword
in HELPFORM() function, 52FULLY_QUALIFY_PATH keyword
in FILE_SEARCH() function, 45FUNC_GET_VALUE keyword
in WIDGET_BASE() function, 91
in WIDGET_BUTTON() function, 91in WIDGET_CONTROL procedure, 91in WIDGET_DROPLIST() function, 91in WIDGET_LABEL() function, 92in WIDGET_TEXT() function, 92
FUNCTIONS keywordin HELP procedure, 52in ROUTINE_INFO() function, 72
GAMMA() function, 19, 46GAMMA keyword
in RANDOMN() function, 70in RANDOMU() function, 70
Gauss symbol, 18GAUSS_CVF() function, 19, 46GAUSS_PDF() function, 19, 46Gaussian probability function, 19GAUSSIANNOISE keyword
in MAGICK_ADDNOISE procedure, 59in MAGICK_PING() function, 60
GAUSSINT() function, 19, 46GDL_ERFINV() function, 47GEOTIFF keyword
in READ_TIFF() function, 71GET_DECOMPOSED keyword
in DEVICE procedure, 41GET_DRIVE_LIST() function, 47GET_KBRD() function, 47GET_KBRDprocedure, 21GET_LOGIN_INFO() function, 47GET_LUN procedure, 47GET_LUN keyword
in OPENR procedure, 66in OPENU procedure, 66in OPENW procedure, 66in SOCKET procedure, 84
GET_LUNprocedure, 21GET_MODE keyword
in FILE_TEST() function, 45GET_NAMES keyword
in LOADCT procedure, 57
in LOADCT_INTERNALGDL procedure, 58GET_PATH keyword
in DIALOG_PICKFILE() function, 42GET_SCREEN_SIZE() function, 24, 47GET_SCREEN_SIZE keyword
in DEVICE procedure, 41GET_UVALUE keyword
in WIDGET_CONTROL procedure, 91GET_VALUE keyword
in WIDGET_CONTROL procedure, 91GET_VISUAL_DEPTH keyword
in DEVICE procedure, 41GET keyword
in TVLCT procedure, 89GETENV() function, 25, 47GLOBAL keyword
in NCDF_ATTDEL procedure, 62in NCDF_ATTGET procedure, 62in NCDF_ATTINQ() function, 62in NCDF_ATTNAME() function, 62in NCDF_ATTPUT procedure, 62in NCDF_ATTRENAME procedure, 63
GOTO statement, 14GRAY keyword
in RADON() function, 70GRAYSCALE keyword
in MAGICK_QUANTIZE procedure, 61in READ_JPEG procedure, 71
GRIBAPI_CLONE() function, 22, 47GRIBAPI_CLOSE_FILE procedure, 47GRIBAPI_CLOSE_FILEprocedure, 22GRIBAPI_COUNT_IN_FILE() function, 22, 47GRIBAPI_GET procedure, 47GRIBAPI_GET_DATA procedure, 47GRIBAPI_GET_DATAprocedure, 22GRIBAPI_GET_SIZE() function, 22, 48GRIBAPI_GETprocedure, 22GRIBAPI_NEW_FROM_FILE() function, 22, 48GRIBAPI_OPEN_FILE() function, 22, 48GRIBAPI_RELEASE procedure, 48GRIBAPI_RELEASEprocedure, 22
DRAFT
DRAFT112 Subject Index
GRID_LAYOUT keywordin WIDGET_BASE() function, 91
GRID keywordin INTERPOLATE() function, 56in PY_PLOT procedure, 69
GROUP_LEADER keywordin WIDGET_BASE() function, 91in WIDGET_BUTTON() function, 91in WIDGET_DROPLIST() function, 91in WIDGET_LABEL() function, 92in WIDGET_TEXT() function, 92
GROUP keywordin DIALOG_PICKFILE() function, 42
GSL_EXP() function, 18, 48
H5_GET_LIBVERSION() function, 21, 50H5A_CLOSE procedure, 48H5A_CLOSEprocedure, 21H5A_GET_NAME() function, 21, 48H5A_GET_NUM_ATTRS() function, 21, 48H5A_GET_SPACE() function, 21, 48H5A_GET_TYPE() function, 21, 48H5A_OPEN_IDX() function, 21, 48H5A_OPEN_NAME() function, 21, 48H5A_READ() function, 21, 48H5D_CLOSE procedure, 48H5D_CLOSEprocedure, 21H5D_GET_SPACE() function, 21, 49H5D_GET_TYPE() function, 21, 49H5D_OPEN() function, 21, 49H5D_READ() function, 21, 49H5F_CLOSE procedure, 49H5F_CLOSEprocedure, 21H5F_IS_HDF5() function, 21, 49H5F_OPEN() function, 21, 49H5G_CLOSE procedure, 49H5G_CLOSEprocedure, 21H5G_OPEN() function, 21, 49H5S_CLOSE procedure, 49H5S_CLOSEprocedure, 21H5S_GET_SIMPLE_EXTENT_DIMS() function, 21, 49
H5T_CLOSE procedure, 49H5T_CLOSEprocedure, 21H5T_GET_SIZE() function, 21, 49HAS_PALETTE keyword
in MAGICK_PING() function, 60HAT keyword
in PLOTERR procedure, 67HDF_CLOSE procedure, 50HDF_CLOSEprocedure, 21HDF_OPEN() function, 21, 50HDF_SD_ADDDATA procedure, 50HDF_SD_ADDDATAprocedure, 21HDF_SD_ATTRFIND() function, 21, 50HDF_SD_ATTRINFO procedure, 50HDF_SD_ATTRINFOprocedure, 21HDF_SD_CREATE() function, 21, 50HDF_SD_DIMGET procedure, 50HDF_SD_DIMGETID() function, 21, 50HDF_SD_DIMGETprocedure, 21HDF_SD_END procedure, 50HDF_SD_ENDACCESS procedure, 50HDF_SD_ENDACCESSprocedure, 21HDF_SD_ENDprocedure, 21HDF_SD_FILEINFO procedure, 50HDF_SD_FILEINFOprocedure, 21HDF_SD_GETDATA procedure, 51HDF_SD_GETDATAprocedure, 21HDF_SD_GETINFO procedure, 51HDF_SD_GETINFOprocedure, 21HDF_SD_NAMETOINDEX() function, 21, 51HDF_SD_SELECT() function, 21, 51HDF_SD_START() function, 21, 51HDF_TYPE keyword
in HDF_SD_ATTRINFO procedure, 50in HDF_SD_CREATE() function, 50in HDF_SD_GETINFO procedure, 51
HDF_VD_ATTACH() function, 21, 51HDF_VD_DETACH procedure, 51HDF_VD_DETACHprocedure, 21HDF_VD_FIND() function, 21, 51HDF_VD_GET procedure, 51
HDF_VD_GETprocedure, 21HDF_VD_READ() function, 21, 51HDF_VG_ATTACH() function, 21, 51HDF_VG_DETACH procedure, 51HDF_VG_DETACHprocedure, 21HDF_VG_GETID() function, 21, 51HDF_VG_GETINFO procedure, 51HDF_VG_GETINFOprocedure, 21HDF_VG_GETTRS procedure, 52HDF_VG_GETTRSprocedure, 21HEADER_DEFINE keyword
in WRITE_BMP procedure, 92HEADER keyword
in READ_ASCII() function, 71HEAP_GC procedure, 52HEAP_GCprocedure, 15HELP procedure, 52HELP keyword
in APPLEMAN procedure, 33in BESELI() function, 35in BESELJ() function, 35in BESELK() function, 35in BESELY() function, 35in CONGRID() function, 39in DERIV() function, 41in DIALOG_MESSAGE() function, 42in DIALOG_PICKFILE() function, 42in ESCAPE_SPECIAL_CHAR() function, 43in FILE_BASENAME() function, 44in FILE_COPY procedure, 44in FILE_DELETE procedure, 44in FILE_DIRNAME() function, 45in FILE_WHICH() function, 45in FINDFILE() function, 45in IDL_VALIDNAME() function, 53in IMAGE_STATISTICS procedure, 53in PLOTERR procedure, 67in PREWITT() function, 68in READ_ASCII() function, 71in READ_GIF procedure, 71in READ_JPEG procedure, 71
DRAFT
DRAFT 113
in READ_PNG() function, 71in ROBERTS() function, 72in SKIP_LUN procedure, 84in SMOOTH() function, 84in SOBEL() function, 84in SPL_INIT() function, 84in SPL_INTERP() function, 84in STR_SEP() function, 87in STRSPLIT() function, 86in WIDGET_BUTTON() function, 91in WRITE_BMP procedure, 92in WRITE_GIF procedure, 92in WRITE_JPEG procedure, 92in WRITE_PICT procedure, 92in WRITE_PNG procedure, 92
HELPFORM() function, 52HELPprocedure, 15, 73HIGHWATER keyword
in MEMORY() function, 62HIRES keyword
in MAP_CONTINENTS procedure, 61HIST_2D() function, 19, 52, 53HIST_ND() function, 19, 52HISTOGRAM() function, 19, 52, 53HLS keyword
in TVLCT procedure, 89HSV keyword
in TVLCT procedure, 89HTONL keyword
in BYTEORDER procedure, 36HTONS keyword
in BYTEORDER procedure, 36HYBRID keyword
in NEWTON() function, 64hyperbolic functions, 19
I_VALUE keywordin CALL_EXTERNAL() function, 36
IDENTITY() function, 15, 19, 53IDL_BASE64() function, 26, 53IDL_CONSTANT() function, 20
IDL_VALIDANEM() function, 26IDL_VALIDNAME() function, 12, 53IF, 12IGAMMA() function, 19, 53IGNORE_ACCELERATORS keyword
in WIDGET_LABEL() function, 92in WIDGET_TEXT() function, 92
IHDR keywordin WRITE_BMP procedure, 92
IMAGE_INDEX keywordin MAGICK_PING() function, 60in QUERY_TIFF() function, 70in READ_DICOM() function, 71in READ_TIFF() function, 71
IMAGE_STATISTICS procedure, 53IMAGINARY() function, 12, 53IMPULSENOISE keyword
in MAGICK_ADDNOISE procedure, 59in MAGICK_PING() function, 60
IMSL_BINOMIALCOEF() function, 19, 53IMSL_CONSTANT() function, 54IMSL_ERF() function, 18, 55IMSL_ZEROPOLY() function, 19, 20, 55IMSL_ZEROSYS() function, 56IN_GLOBAL keyword
in NCDF_ATTCOPY() function, 62INCHES keyword
in DEVICE procedure, 41INCLUDE_CURRENT_DIR keyword
in FILE_WHICH() function, 45INDEX keyword
in MAKE_ARRAY() function, 61INDGEN() function, 13, 15, 56INFINITY keyword
in FINITE() function, 46INFO keyword
in HELP procedure, 52in MAGICK_PING() function, 60
INFORMATION keywordin DIALOG_MESSAGE() function, 42
INFORMATIONAL keyword
in MESSAGE procedure, 62INPUT keyword
in HISTOGRAM() function, 52INSTALL_NUM keyword
in LMGR() function, 57INT keyword
in HDF_SD_CREATE() function, 50INTARR() function, 13, 15, 56INTEGER keyword
in MAKE_ARRAY() function, 61in PRODUCT() function, 68in TOTAL() function, 89
INTERCHANGES keywordin LUDC procedure, 59
INTERLEAVE keywordin READ_TIFF() function, 71
INTERP keywordin CONGRID() function, 39
INTERPOL() function, 19, 56INTERPOLATE() function, 19, 56INTERPOLATE keyword
in SET_PLOT procedure, 75INVERSE keyword
in FFT() function, 44in IMSL_ERF() function, 55in WTN() function, 93
INVERT() function, 18, 56IOERROR keyword
in MESSAGE procedure, 62ISHFT() function, 19, 56ISOTROPIC keyword
in CONTOUR procedure, 39ISSUE_ACCESS_ERROR keyword
in FILE_SEARCH() function, 45ITER keyword
in BESELI() function, 35in BESELJ() function, 35in BESELK() function, 35in BESELY() function, 35in RK4() function, 72in VOIGT() function, 90
DRAFT
DRAFT114 Subject Index
ITMAX keywordin BROYDEN() function, 35in IMSL_ZEROSYS() function, 56in NEWTON() function, 64in SVDC procedure, 88
JACOBIAN keywordin IMSL_ZEROSYS() function, 56
JENKINS_TRAUB keywordin IMSL_ZEROPOLY() function, 55
joint density function, 52JOURNAL procedure, 56JOURNALprocedure, 17JULIAN keyword
in SYSTIME() function, 88
KBRD_FOCUS_EVENTS keywordin WIDGET_BASE() function, 91in WIDGET_LABEL() function, 92in WIDGET_TEXT() function, 92
KEYWORD_SET() function, 14, 56KILL_NOTIFY keyword
in WIDGET_BASE() function, 91in WIDGET_BUTTON() function, 91in WIDGET_DROPLIST() function, 91in WIDGET_LABEL() function, 92in WIDGET_TEXT() function, 92
KURTOSIS() function, 19, 56
L64 keyword, 18L64_VALUE keyword
in CALL_EXTERNAL() function, 36L64 keyword
in CEIL() function, 39in FLOOR() function, 46in INDGEN() function, 56in MAKE_ARRAY() function, 61in MEMORY() function, 62in ROUND() function, 72in SIZE() function, 84in SORT() function, 84in VALUE_LOCATE() function, 90
L64INDEGEN() function, 15L64INDGEN() function, 13, 56L64SWAP keyword
in BYTEORDER procedure, 36L_VALUE keyword
in CALL_EXTERNAL() function, 36LA_TRIRED procedure, 56LA_TRIREDprocedure, 19LABEL keyword
in HDF_SD_GETINFO procedure, 51LAGUERRE() function, 19, 56LANDSCAPE keyword
in DEVICE procedure, 41LAPLACIANNOISE keyword
in MAGICK_ADDNOISE procedure, 59in MAGICK_PING() function, 60
LAST_ITEM() function, 56LEGENDRE() function, 19, 57LENGTH_OF_HAT keyword
in PLOTERR procedure, 67LENGTH keyword
in N_TAGS() function, 64in NCDF_ATTPUT procedure, 62in STREGEX() function, 85in STRSPLIT() function, 86in STRTOK() function, 86
LEVEL keywordin ROUTINE_NAMES() function, 73in SCOPE_VARFETCH() function, 75
LEVELS keywordin CONTOUR procedure, 39
LIB keywordin HELP procedure, 52
LINDEGEN() function, 15LINDGEN() function, 13, 57LINE_FILL keyword
in POLYFILL procedure, 67LINEAR keyword
in RADON() function, 70LINEINTERLACE keyword
in MAGICK_INTERLACE procedure, 60
LINES keywordin SKIP_LUN procedure, 84
LINESTYLE keywordin OPLOT procedure, 66in PLOT procedure, 67in PLOTS procedure, 67in POLYFILL procedure, 67in SURFACE procedure, 87
LINKIMAGE procedure, 57LINKIMAGE() function, 31LINKIMAGEprocedure, 38LIST_OF_SPECIAL_CHAR keyword
in ESCAPE_SPECIAL_CHAR() function, 43LL_ARC_DISTANCE() function, 19, 23, 57LMGR() function, 57LMHOSTID keyword
in LMGR() function, 57LNGAMMA() function, 19, 57LOADCT procedure, 57LOADCT_INTERNALGDL procedure, 58LOADCTprocedure, 23LOCALE_GET() function, 25, 59LOCATIONS keyword
in HISTOGRAM() function, 52LOGICAL_AND() function, 12, 59LOGICAL_OR() function, 12, 59LOGICAL_TRUE() function, 12, 59LON64ARR() function, 15, 59LONARR() function, 13, 15, 59LONG() function, 12, 13, 59LONG64() function, 12, 13, 59LONG64ARR() function, 13LONG keyword
in HDF_SD_CREATE() function, 50in INDGEN() function, 56in MAKE_ARRAY() function, 61in NCDF_ATTPUT procedure, 62in NCDF_VARDEF() function, 63in RANDOMN() function, 70in RANDOMU() function, 70
LSQUADRATIC keyword
DRAFT
DRAFT 115
in INTERPOL() function, 56LSWAP keyword
in BYTEORDER procedure, 36LUDC procedure, 59LUDCprocedure, 19LUSOL() function, 59LUT keyword
in IMAGE_STATISTICS procedure, 53
MACHAR() function, 15, 59MAGICK_ADDNOISE procedure, 59MAGICK_CLOSE procedure, 59MAGICK_COLORMAPSIZE() function, 60MAGICK_COLUMNS() function, 60MAGICK_CREATE() function, 60MAGICK_DISPLAY procedure, 60MAGICK_EXISTS() function, 60MAGICK_FLIP procedure, 60MAGICK_INDEXEDCOLOR() function, 60MAGICK_INTERLACE procedure, 60MAGICK_MAGICK() function, 60MAGICK_MATTE procedure, 60MAGICK_OPEN() function, 60MAGICK_PING() function, 60MAGICK_QUALITY procedure, 60MAGICK_QUANTIZE procedure, 61MAGICK_READ() function, 61MAGICK_READCOLORMAPRGB procedure, 61MAGICK_READINDEXES() function, 61MAGICK_ROWS() function, 61MAGICK_WRITE procedure, 61MAGICK_WRITECOLORTABLE procedure, 61MAGICK_WRITEFILE procedure, 61MAGICK_WRITEINDEXES procedure, 61magnitude of a complex number, 18MAKE_ARRAY() function, 15, 61MANAGED keyword
in WIDGET_CONTROL procedure, 91in WIDGET_INFO() function, 91
Mandelbrot set, 33MAP_CLIP_SET procedure, 61
MAP_CLIP_SETprocedure, 23MAP_CONTINENTS procedure, 61MAP_CONTINENTSprocedure, 23MAP_PROJ_FORWARDprocedure, 23MAP_PROJ_INVERSEprocedure, 23MAP keyword
in MAGICK_READ() function, 61in TRIGRID() function, 89in WIDGET_BASE() function, 91in WIDGET_CONTROL procedure, 91
MARK_DIRECTORY keywordin FILE_DIRNAME() function, 45in FILE_SEARCH() function, 45
MASK keywordin CHECK_MATH() function, 39in IMAGE_STATISTICS procedure, 53
MATCH_ALL_INITIAL_DOT keywordin FILE_SEARCH() function, 45
MATCH_INITIAL_DOT keywordin FILE_SEARCH() function, 45
MATRIX_MULTIPLY() function, 18, 61MAX() function, 18, 19, 62MAX1 keyword
in HIST_2D() function, 52MAX2 keyword
in HIST_2D() function, 52MAX_VALUE keyword
in CONTOUR procedure, 39in OPLOT procedure, 66in PLOT procedure, 67in SURFACE procedure, 87in TRIGRID() function, 89
MAX keywordin BYTSCL() function, 36in HIST_ND() function, 52in HISTOGRAM() function, 52in MIN() function, 62
MAXIMUM keywordin IMAGE_STATISTICS procedure, 53
MAXMOMENT keywordin MOMENT() function, 62
MBAR keywordin WIDGET_BASE() function, 91
MDEV keywordin MOMENT() function, 62
MEAN() function, 18, 19, 62MEAN keyword
in IMAGE_STATISTICS procedure, 53MEANABSDEV() function, 19, 62MEDIAN() function, 19, 28, 62MEMORY() function, 62MEMORY keyword
in HELP procedure, 52MEMORYprocedure, 17MENU keyword
in WIDGET_BUTTON() function, 91MESSAGE procedure, 62MESSAGEprocedure, 15, 17MIN() function, 18, 19, 62MIN1 keyword
in HIST_2D() function, 52MIN2 keyword
in HIST_2D() function, 52MIN_VALUE keyword
in CONTOUR procedure, 39in OPLOT procedure, 66in PLOT procedure, 67in SURFACE procedure, 87
MIN keywordin BYTSCL() function, 36in HIST_ND() function, 52in HISTOGRAM() function, 52in MAX() function, 62
MINIMUM keywordin IMAGE_STATISTICS procedure, 53
MINUS_ONE keywordin CONGRID() function, 39
MISSING_VALUE keywordin READ_ASCII() function, 71
MISSING keywordin BILINEAR() function, 35in CONGRID() function, 39
DRAFT
DRAFT116 Subject Index
in INTERPOLATE() function, 56in POLY_2D() function, 68in TRIGRID() function, 89
MODAL keywordin WIDGET_BASE() function, 91in WIDGET_INFO() function, 91
MOMENT() function, 19, 62MONTH keyword
in PRINT procedure, 68in PRINTF procedure, 68in READ procedure, 70in READF procedure, 70in READS procedure, 70in STOP procedure, 85in STRING() function, 85
MORE keywordin OPENR procedure, 66in OPENU procedure, 66in OPENW procedure, 66
MTIMES keywordin SAVE procedure, 75
MULTIPLE_FILES keywordin DIALOG_PICKFILE() function, 42
MULTIPLE keywordin WRITE_GIF procedure, 92
MULTIPLICATIVEGAUSSIANNOISE keywordin MAGICK_ADDNOISE procedure, 59in MAGICK_PING() function, 60
multithreadingin ABS() function, 33in ACOS() function, 33in ASIN() function, 34in ATAN() function, 34in CEIL() function, 39in COMPLEX() function, 39in CONJ() function, 39in COS() function, 40in COSH() function, 41in EXP() function, 43in FFT() function, 44in FLOOR() function, 46
in IMAGINARY() function, 53in LOGICAL_AND() function, 59in LOGICAL_OR() function, 59in LOGICAL_TRUE() function, 59in MAGICK_WRITEINDEXES procedure, 61in PRODUCT() function, 68in PTRARR() function, 68in ROUND() function, 72in SIN() function, 83in SINH() function, 83in SQRT() function, 85in STRCOMPRESS() function, 85in STRLEN() function, 86in STRLOWCASE() function, 86in STRMID() function, 86in STRPOS() function, 86in STRPUT procedure, 86in STRTRIM() function, 87in STRUPCASE() function, 87in TAN() function, 88in TANH() function, 88in TOTAL() function, 89in WHERE() function, 91
MUST_EXIST keywordin DIALOG_PICKFILE() function, 42
N_DIMENSIONS keywordin SIZE() function, 84
N_ELEMENTS() function, 14, 15, 64N_ELEMENTS keyword
in SIZE() function, 84N_PARAMS() function, 14, 64N_TAGS() function, 15, 64NAME keyword
in CREATE_STRUCT() function, 41in HDF_SD_ATTRINFO procedure, 50in HDF_SD_DIMGET procedure, 50in HDF_SD_GETINFO procedure, 51in HDF_VD_GET procedure, 51in HDF_VG_GETINFO procedure, 51
NAMED_PIPE keyword
in FILE_TEST() function, 45NAMES keyword
in SAVE procedure, 75NAN keyword
in BYTSCL() function, 36in FINITE() function, 46in HISTOGRAM() function, 52in KURTOSIS() function, 56in MAX() function, 62in MEAN() function, 62in MEANABSDEV() function, 62in MIN() function, 62in MOMENT() function, 62in PRODUCT() function, 68in SKEWNESS() function, 84in SMOOTH() function, 84in STDDEV() function, 85in TOTAL() function, 89in TVSCL procedure, 89in VARIANCE() function, 90
NATTR keywordin HDF_SD_DIMGET procedure, 50
NATTS keywordin HDF_SD_GETINFO procedure, 51
NBINS keywordin HIST_ND() function, 52in HISTOGRAM() function, 52
NCDF_ATTCOPY() function, 21, 62NCDF_ATTDEL procedure, 62NCDF_ATTDELprocedure, 21NCDF_ATTGET procedure, 62NCDF_ATTGETprocedure, 21NCDF_ATTINQ() function, 21, 62NCDF_ATTNAME() function, 21, 62NCDF_ATTPUT procedure, 62NCDF_ATTPUTprocedure, 21NCDF_ATTRENAME procedure, 63NCDF_ATTRENAMEprocedure, 21NCDF_CLOSE procedure, 63NCDF_CLOSEprocedure, 21NCDF_CONTROL procedure, 63
DRAFT
DRAFT 117
NCDF_CONTROLprocedure, 21, 64NCDF_CREATE() function, 21, 63NCDF_DIMDEF() function, 21, 63NCDF_DIMID() function, 21, 63NCDF_DIMINQ procedure, 63NCDF_DIMINQprocedure, 21NCDF_DIMRENAME procedure, 63NCDF_DIMRENAMEprocedure, 21NCDF_EXISTS() function, 21, 63NCDF_INQUIRE() function, 21, 63NCDF_OPEN() function, 21, 63NCDF_VARDEF() function, 21, 63NCDF_VARGET procedure, 63NCDF_VARGET1 procedure, 64NCDF_VARGET1procedure, 21NCDF_VARGETprocedure, 21NCDF_VARID() function, 21, 64NCDF_VARINQ() function, 21, 64NCDF_VARPUT procedure, 64NCDF_VARPUTprocedure, 21NCDF_VARRENAME procedure, 64NCDF_VARRENAMEprocedure, 21NCOLORS keyword
in LOADCT procedure, 57NCOMPLEMENT keyword
in WHERE() function, 91NDIMS keyword
in HDF_SD_GETINFO procedure, 51NENTRIES keyword
in HDF_VG_GETINFO procedure, 51NEWTON() function, 20, 64NLEVELS keyword
in CONTOUR procedure, 39NO_CHECK keyword
in DERIV() function, 41NO_CONFIRM keyword
in EXIT procedure, 43NO_COPY keyword
in PTR_NEW() function, 69in WIDGET_BASE() function, 91in WIDGET_BUTTON() function, 91
in WIDGET_CONTROL procedure, 91in WIDGET_DROPLIST() function, 91in WIDGET_LABEL() function, 92in WIDGET_TEXT() function, 92
NO_INTERLACE keywordin HDF_VD_READ() function, 51
NO_NEWLINE keywordin WIDGET_LABEL() function, 92in WIDGET_TEXT() function, 92
NO_RELEASE keywordin WIDGET_BUTTON() function, 91
NO_TYPECONV keywordin ARRAY_EQUAL() function, 34
NOAUTOMODE keywordin OPENR procedure, 66in OPENU procedure, 66in OPENW procedure, 66
NOCATCH keywordin SAVE procedure, 75
NOCLEAR keywordin CHECK_MATH() function, 39
NOCLIP keywordin CONTOUR procedure, 39in OPLOT procedure, 66in PLOT procedure, 67in PLOTS procedure, 67in POLYFILL procedure, 67in SURFACE procedure, 87in XYOUTS procedure, 93
NOCLOBBER keywordin NCDF_CREATE() function, 63
NODATA keywordin AXIS procedure, 35in CONTOUR procedure, 39in PLOT procedure, 67in SURFACE procedure, 87
NODISPLAY keywordin APPLEMAN procedure, 33
NOERASE keywordin AXIS procedure, 35in CONTOUR procedure, 39
in PLOT procedure, 67in SURFACE procedure, 87
NOEXPAND_PATH keywordin FILE_COPY procedure, 44in FILE_DELETE procedure, 44in FILE_INFO() function, 45in FILE_LINES() function, 45in FILE_MKDIR procedure, 45in FILE_SAME() function, 45in FILE_TEST() function, 45
NOFILL keywordin NCDF_CONTROL procedure, 63
NOINTERLACE keywordin MAGICK_INTERLACE procedure, 60
NOISE keywordin MAGICK_ADDNOISE procedure, 59in MAGICK_PING() function, 60
NONAME keywordin MESSAGE procedure, 62
NONEXCLUSIVE keywordin WIDGET_BASE() function, 91
NOPREFIX keywordin MESSAGE procedure, 62
NOPRINT keywordin MESSAGE procedure, 62
NORM() function, 18, 64NORMAL keyword
in AXIS procedure, 35in CONTOUR procedure, 39in CONVERT_COORD() function, 40in CURSOR procedure, 41in PLOT procedure, 67in PLOTS procedure, 67in POLYFILL procedure, 67in RANDOMN() function, 70in RANDOMU() function, 70in SURFACE procedure, 87in TV procedure, 89in XYOUTS procedure, 93
NOSHELL keywordin SPAWN procedure, 84
DRAFT
DRAFT118 Subject Index
NOSORT keywordin FILE_SEARCH() function, 45
NOTIFY_REALIZE keywordin WIDGET_BASE() function, 91in WIDGET_BUTTON() function, 91in WIDGET_DROPLIST() function, 91in WIDGET_LABEL() function, 92in WIDGET_TEXT() function, 92
NOVERBOSE keywordin NCDF_CONTROL procedure, 63
NOWAIT keywordin CURSOR procedure, 41
NOWRITE keywordin NCDF_OPEN() function, 63
NOZERO keywordin BYTARR() function, 35in COMPLEXARR() function, 39in DBLARR() function, 41in DCOMPLEXARR() function, 41in FLTARR() function, 46in INTARR() function, 56in LON64ARR() function, 59in LONARR() function, 59in MAKE_ARRAY() function, 61in OBJARR() function, 64in PTRARR() function, 68in STRARR() function, 85in STRUCT_ASSIGN procedure, 87in UINTARR() function, 90in ULON64ARR() function, 90in ULONARR() function, 90
NRECORDS keywordin HDF_VD_READ() function, 51
NRHO keywordin RADON() function, 70
NSUM keywordin OPLOT procedure, 66
NTHETA keywordin RADON() function, 70
NTOHL keywordin BYTEORDER procedure, 36
NTOHS keywordin BYTEORDER procedure, 36
NUM_ALLOC keywordin MEMORY() function, 62
NUM_DD keywordin HDF_OPEN() function, 50
NUM_FREE keywordin MEMORY() function, 62
NUM_IMAGES keywordin MAGICK_PING() function, 60
NUM_RECORDS keywordin READ_ASCII() function, 71
NX keywordin RADON() function, 70in TRIGRID() function, 89
NY keywordin RADON() function, 70in TRIGRID() function, 89
OBJ_CLASS() function, 15, 64OBJ_DESTROY procedure, 65OBJ_DESTROY() function, 13OBJ_DESTROYprocedure, 15OBJ_ISA() function, 15, 65OBJ_NEW() function, 15, 65OBJ_VALID() function, 15, 66OBJ keyword
in HEAP_GC procedure, 52in MAKE_ARRAY() function, 61
OBJARR() function, 13, 15, 64OF
in CASE statement, 13in SWITCH statement, 13
OFFSET keywordin NCDF_VARGET procedure, 63in NCDF_VARGET1 procedure, 64in NCDF_VARPUT procedure, 64
OLDFILL keywordin NCDF_CONTROL procedure, 63
OMAX keywordin HISTOGRAM() function, 52
OMIN keywordin HISTOGRAM() function, 52
ON_ERROR procedure, 66ON_ERRORprocedure, 15ON_IOERRORprocedure, 15OPENR procedure, 66OPENRprocedure, 21OPENU procedure, 66OPENUprocedure, 21OPENW procedure, 66OPENWprocedure, 21OPLOT procedure, 66OPLOTprocedure, 23ORDER keyword
in READ_JPEG procedure, 71in READ_PNG() function, 71in TV procedure, 89in TVRD() function, 89in WRITE_JPEG procedure, 92in WRITE_PNG procedure, 92
ORIENTATION keywordin POLYFILL procedure, 67in READ_TIFF() function, 71in XYOUTS procedure, 93
OUT_GLOBAL keywordin NCDF_ATTCOPY() function, 62
OUTPUT keywordin HELP procedure, 52
OVERPLOT keywordin CONTOUR procedure, 39
OVERWRITE_PROMPT keywordin DIALOG_PICKFILE() function, 42
OVERWRITE keywordin FFT() function, 44in FILE_COPY procedure, 44in REFORM() function, 72in REVERSE() function, 72in WTN() function, 93
PACKED keywordin ASSOC() function, 34
DRAFT
DRAFT 119
PARAMETERS keywordin ROUTINE_INFO() function, 72
PARENT_DIRECTORY keywordin PATH_SEP() function, 67
PARSE_URL() function, 25, 26, 66Pascal’s triangle, 53PASS_METHOD keyword
in SAVE procedure, 75PATH_SEP() function, 25, 44, 67PATH keyword
in DIALOG_PICKFILE() function, 42PHASE keyword
in ATAN() function, 34PID keyword
in SPAWN procedure, 84PIXEL_TYPE keyword
in MAGICK_PING() function, 60PIXMAP keyword
in WINDOW procedure, 92PLANARCONFIG keyword
in READ_TIFF() function, 71PLANEINTERLACE keyword
in MAGICK_INTERLACE procedure, 60PLOT procedure, 67PLOTERR procedure, 67PLOTERRprocedure, 23PLOTprocedure, 23PLOTS procedure, 67PLOTSprocedure, 23PM procedure, 67PMprocedure, 15, 21POINT_LUN procedure, 67POINT_LUNprocedure, 21POISSON keyword
in RANDOMN() function, 70in RANDOMU() function, 70
POISSONNOISE keywordin MAGICK_ADDNOISE procedure, 59in MAGICK_PING() function, 60
POLAR keywordin OPLOT procedure, 66
POLY() function, 19, 67POLY_2D() function, 28, 68POLY_AREA() function, 19, 68POLYFILL procedure, 67POLYFILLprocedure, 23POPD procedure, 68POPDprocedure, 25PORTRAIT keyword
in DEVICE procedure, 41POSITION keyword
in CONTOUR procedure, 39in PLOT procedure, 67in SURFACE procedure, 87
PRESERVE_NULL keywordin STRSPLIT() function, 86in STRTOK() function, 86
PRESERVE_TYPE keywordin PRODUCT() function, 68in TOTAL() function, 89
PREWITT() function, 28, 68PRIMES() function, 19, 68PRINT procedure, 68PRINT keyword
in CHECK_MATH() function, 39in FIX() function, 46in STRING() function, 85
PRINTD procedure, 68PRINTDprocedure, 25PRINTF procedure, 68PRINTFprocedure, 21PRINTprocedure, 15, 21PRO_SET_VALUE keyword
in WIDGET_BASE() function, 91in WIDGET_BUTTON() function, 91in WIDGET_CONTROL procedure, 91in WIDGET_DROPLIST() function, 91in WIDGET_LABEL() function, 92in WIDGET_TEXT() function, 92
PROCEDURES keywordin HELP procedure, 52
PRODUCT() function, 18, 68
PROGRESSIVE keywordin WRITE_JPEG procedure, 92
PROMPT keywordin READ procedure, 70in READF procedure, 70
PSYM keywordin OPLOT procedure, 66in PLOT procedure, 67in PLOTERR procedure, 67in PLOTS procedure, 67
PTR_FREE procedure, 68PTR_FREE() function, 13PTR_FREEprocedure, 15PTR_NEW() function, 15, 68, 69PTR_VALID() function, 15, 68, 69PTR keyword
in HEAP_GC procedure, 52in MAKE_ARRAY() function, 61
PTRARR() function, 13, 15, 68PTRARRprocedure, 15PUSHBUTTON_EVENTS keyword
in WIDGET_BUTTON() function, 91PUSHD procedure, 69PUSHDprocedure, 25PY_PLOT procedure, 69PY_PRINT procedure, 69PYTHON procedure, 69PYTHON() function, 14, 32, 69PYTHONprocedure, 14, 32
QUADRATIC keywordin INTERPOL() function, 56
QUALITY keywordin WRITE_JPEG procedure, 92
QUERY_BMP() function, 28, 69QUERY_DICOM() function, 28, 69QUERY_GIF() function, 28, 70QUERY_IMAGE() function, 28, 70QUERY_JPEG() function, 28, 70QUERY_PICT() function, 28, 70QUERY_PNG() function, 28, 70
DRAFT
DRAFT120 Subject Index
QUERY_PPM() function, 28, 70QUERY_TIFF() function, 28, 70QUESTION keyword
in DIALOG_MESSAGE() function, 42QUIET keyword
in FILE_COPY procedure, 44in FILE_DELETE procedure, 44in FINDFILE() function, 45in SAVE procedure, 75
QUOTE keywordin FILE_SEARCH() function, 45
RADON() function, 28, 70RANDOMN() function, 20, 70RANDOMU() function, 20, 70RDWR keyword
in HDF_OPEN() function, 50in HDF_SD_START() function, 51
READ procedure, 70READ_ASCII() function, 71READ_ASCIIprocedure, 21READ_BINARY() function, 21, 71READ_BMP() function, 28, 71READ_DICOM() function, 28, 71READ_GIF procedure, 71READ_JPEG procedure, 71READ_JPEGprocedure, 28READ_PICT procedure, 71READ_PICTprocedure, 28READ_PNG() function, 28, 71, 73READ_TIFF() function, 28, 71READ_TIMEOUT keyword
in SOCKET procedure, 84READ_XWD() function, 28, 71READ keyword
in DIALOG_PICKFILE() function, 42in FILE_TEST() function, 45in HDF_OPEN() function, 50in HDF_SD_START() function, 51in HDF_VD_ATTACH() function, 51in HDF_VG_ATTACH() function, 51
READF procedure, 70READFprocedure, 21READprocedure, 21READS procedure, 70READS() function, 26READSprocedure, 21READU procedure, 70READUprocedure, 21REAL_PART() function, 12, 71REALIZE keyword
in WIDGET_CONTROL procedure, 91REBIN() function, 15, 19, 28, 71RECALL_COMMANDS() function, 71RECALL_COMMANDS keyword
in HELP procedure, 52RECALL_COMMANDSprocedure, 17RECORD_START keyword
in READ_ASCII() function, 71RECURSIVE keyword
in FILE_COPY procedure, 44in FILE_DELETE procedure, 44
REDEF keywordin NCDF_CONTROL procedure, 63
REF keywordin HDF_VD_GET procedure, 51in HDF_VG_GETINFO procedure, 51
REFORM() function, 15, 72REGEX keyword
in STRSPLIT() function, 86in STRTOK() function, 86
REGULAR keywordin FILE_TEST() function, 45
RELAXED_STRUCTURE_ASSIGNMENT keywordin RESTORE procedure, 72
REMOVE_ALL keywordin STR_SEP() function, 87in STRCOMPRESS() function, 85
REPEAT, 14REPEAT_COUNT keyword
in WRITE_GIF procedure, 92REPLICATE() function, 13, 15, 19, 72
REPLICATE_INPLACE procedure, 72REPLICATE_INPLACEprocedure, 15, 19REQUIRE_DIRECTORY keyword
in FILE_COPY procedure, 44RESET keyword
in CPU procedure, 41in MAP_CLIP_SET procedure, 61in MESSAGE procedure, 62
RESOLUTION keywordin GET_SCREEN_SIZE() function, 47
RESOLVE_ROUTINE procedure, 72RESOLVE_ROUTINEprocedure, 17RESOURCE_NAME keyword
in DIALOG_MESSAGE() function, 42in DIALOG_PICKFILE() function, 42in WIDGET_BASE() function, 91in WIDGET_DROPLIST() function, 91in WIDGET_LABEL() function, 92in WIDGET_TEXT() function, 92
RESTORE procedure, 72RESTORE keyword
in CPU procedure, 41RESTORED_OBJECTS keyword
in RESTORE procedure, 72RESTOREprocedure, 22RESULT keyword
in APPLEMAN procedure, 33RETAIN keyword
in WINDOW procedure, 92RETALL procedure, 72RETALL keyword
in RETALL procedure, 72RETALLprocedure, 17RETURN_TYPE keyword
in CALL_EXTERNAL() function, 36REVERSE() function, 15, 18, 72REVERSE_INDICES keyword
in HIST_ND() function, 52in HISTOGRAM() function, 52
REVERSE_OFFSET keywordin STRMID() function, 86
DRAFT
DRAFT 121
in STRPOS() function, 86REVERSE_SEARCH keyword
in STRPOS() function, 86RGB keyword
in MAGICK_READ() function, 61in MAGICK_WRITE procedure, 61in READ_BMP() function, 71in WRITE_BMP procedure, 92
RHO keywordin RADON() function, 70
RIVERS keywordin MAP_CONTINENTS procedure, 61
RK4() function, 20, 72RK4JMG() function, 72RMIN keyword
in RADON() function, 70RNAME_MBAR keyword
in WIDGET_BASE() function, 91ROBERTS() function, 28, 72ROOT_DIR keyword
in FILEPATH() function, 44ROTATE() function, 15, 18, 28, 72ROUND() function, 18, 72ROUTINE_INFO() function, 17, 72, 74ROUTINE_NAMES() function, 17, 73ROUTINES keyword
in HELP procedure, 52ROW keyword
in WIDGET_BASE() function, 91RSTRPOS() function, 26, 74RUNTIME keyword
in LMGR() function, 57
S_FUNCTIONS keywordin ROUTINE_NAMES() function, 73
S_PROCEDURES keywordin ROUTINE_NAMES() function, 73
S_VALUE keywordin CALL_EXTERNAL() function, 36
SAMPLE keywordin REBIN() function, 71
SAVE procedure, 75SAVE keyword
in AXIS procedure, 35SAVEprocedure, 22SCALE_FACTOR keyword
in DEVICE procedure, 41SCALE keyword
in HDF_SD_DIMGET procedure, 50SCOPE_VARFETCH() function, 17, 74, 75SCR_XSIZE keyword
in WIDGET_BASE() function, 91in WIDGET_BUTTON() function, 91in WIDGET_DROPLIST() function, 91in WIDGET_LABEL() function, 92in WIDGET_TEXT() function, 92
SCR_YSIZE keywordin WIDGET_BASE() function, 91in WIDGET_BUTTON() function, 91in WIDGET_DROPLIST() function, 91in WIDGET_LABEL() function, 92in WIDGET_TEXT() function, 92
SCROLL keywordin WIDGET_BASE() function, 91in WIDGET_LABEL() function, 92in WIDGET_TEXT() function, 92
SDEV keywordin MOMENT() function, 62
SEARCH_PATH keywordin PATH_SEP() function, 67
SECONDS keywordin SYSTIME() function, 88
SEM_CREATE() function, 29, 75SEM_DELETE procedure, 75SEM_DELETEprocedure, 29SEM_LOCK() function, 29, 75SEM_RELEASE procedure, 75SEM_RELEASEprocedure, 29SENSITIVE keyword
in WIDGET_BASE() function, 91in WIDGET_BUTTON() function, 91in WIDGET_CONTROL procedure, 91
in WIDGET_DROPLIST() function, 91in WIDGET_LABEL() function, 92in WIDGET_TEXT() function, 92
SEPARATOR keywordin WIDGET_BUTTON() function, 91
SET_BUTTON keywordin WIDGET_CONTROL procedure, 91
SET_CHARACTER_SIZE keywordin DEVICE procedure, 41
SET_DROPLIST_SELECT keywordin WIDGET_CONTROL procedure, 91
SET_PLOT procedure, 75SET_PLOTprocedure, 23SET_RESOLUTION keyword
in DEVICE procedure, 41SET_UNAME keyword
in WIDGET_CONTROL procedure, 91SET_UVALUE keyword
in WIDGET_CONTROL procedure, 91SET_VALUE keyword
in WIDGET_CONTROL procedure, 91SETENV procedure, 75SETENVprocedure, 25SH_LOCATION keyword
in FINDFILE() function, 45SH keyword
in SPAWN procedure, 84SHIFT() function, 18, 75SHORT keyword
in HDF_SD_CREATE() function, 50in NCDF_ATTPUT procedure, 62in NCDF_VARDEF() function, 63
SHORTFORM keywordin HELPFORM() function, 52
SHOW_LIST keywordin ESCAPE_SPECIAL_CHAR() function, 43
SHOWFONT procedure, 75SHOWFONTprocedure, 24SIGNED keyword
in POLY_AREA() function, 68SILENT keyword
DRAFT
DRAFT122 Subject Index
in LOADCT procedure, 57SIN() function, 19, 83SINDGEN() function, 15, 26, 83SINGLE keyword
in HELPFORM() function, 52in STRJOIN() function, 85
SINH() function, 19, 83SITE_NOTICE keyword
in LMGR() function, 57SIZE() function, 12, 14, 15, 37, 84SIZE keyword
in HELPFORM() function, 52in MAKE_ARRAY() function, 61
SKEWNESS() function, 19, 84SKIP_LUN procedure, 84SKIP_LUNprocedure, 21SMOOTH() function, 28, 84SOBEL() function, 28, 84SOCKET procedure, 84SOCKET keyword
in FILE_TEST() function, 45SOCKETprocedure, 25SORT() function, 15, 26, 84SPACE keyword
in WIDGET_BASE() function, 91SPACING keyword
in POLYFILL procedure, 67SPAWN procedure, 84SPAWN_OPTIONS keyword
in FINDFILE() function, 45SPAWNprocedure, 25SPHER_HARM() function, 19, 84SPL_INIT() function, 19, 84SPL_INIT_OLD() function, 84SPL_INTERP() function, 19, 84SPL_INTERP_OLD() function, 84SPLINE keyword
in INTERPOL() function, 56SPLIT keyword
in MAP_CLIP_SET procedure, 61SQRT() function, 12, 18, 85
SSWAP keywordin BYTEORDER procedure, 36
START keywordin HDF_SD_ADDDATA procedure, 50in HDF_SD_GETDATA procedure, 51
STATUS keywordin EXIT procedure, 43in SAVE procedure, 75
STDDEV() function, 19, 85STDDEV keyword
in IMAGE_STATISTICS procedure, 53STDIO_NON_FINITE keyword
in PRINT procedure, 68in PRINTF procedure, 68in STOP procedure, 85
STDIO keywordin OPENR procedure, 66in OPENU procedure, 66in OPENW procedure, 66in SOCKET procedure, 84
STIRLING keywordin FACTORIAL() function, 43
STOP procedure, 85STOPprocedure, 17STORE keyword
in ROUTINE_NAMES() function, 73STR_SEP() function, 26, 87STRARR() function, 13, 15, 26, 85STRCMP() function, 26, 85STRCOMPRESS() function, 26, 85STREAM keyword
in OPENR procedure, 66in OPENU procedure, 66in OPENW procedure, 66
STREGEX() function, 26, 85STRIDE keyword
in HDF_SD_ADDDATA procedure, 50in HDF_SD_GETDATA procedure, 51in NCDF_VARGET procedure, 63in NCDF_VARPUT procedure, 64
STRING() function, 13, 26, 85
STRING keywordin HDF_SD_CREATE() function, 50in INDGEN() function, 56in MAKE_ARRAY() function, 61
STRJOIN() function, 26, 85STRLEN() function, 26, 86STRLOWCASE() function, 86STRLOWERCASE() function, 26STRMATCH() function, 86STRMID() function, 26, 86STRPOS() function, 26, 86STRPUT procedure, 86STRPUT() function, 26STRSPLIT() function, 26, 86STRTOK() function, 26, 86STRTRIM() function, 26, 87STRUCT_ALIGN_BYTES keyword
in CALL_EXTERNAL() function, 36STRUCT_ASSIGN procedure, 87STRUCT_ASSIGNprocedure, 15STRUCTURE_NAME keyword
in HELPFORM() function, 52in TAG_NAMES() function, 88
STRUCTURE keywordin MEMORY() function, 62in SIZE() function, 84
STRUCTURES keywordin HELP procedure, 52
STRUPCASE() function, 26, 87STUDENT keyword
in LMGR() function, 57SUB_RECT keyword
in MAGICK_READ() function, 61in READ_TIFF() function, 71
SUBDIRECTORY keywordin FILEPATH() function, 44
SUBEXPR keywordin STREGEX() function, 85
SUBSCRIPT_MAX keywordin MIN() function, 62
SUBSCRIPT_MIN keyword
DRAFT
DRAFT 123
in MAX() function, 62SUBTITLE keyword
in AXIS procedure, 35in CONTOUR procedure, 39in PLOT procedure, 67in SURFACE procedure, 87
SUM_OF_SQUARES keywordin IMAGE_STATISTICS procedure, 53
SUPERCLASS keywordin OBJ_CLASS() function, 64
SURFACE procedure, 87SURFACEprocedure, 23SVDC procedure, 88SVDCprocedure, 19SWAP_ENDIAN() function, 19, 21, 88SWAP_ENDIAN_INPLACE procedure, 88SWAP_ENDIAN_INPLACEprocedure, 19, 21SWAP_ENDIAN keyword
in OPENR procedure, 66in OPENU procedure, 66in OPENW procedure, 66in SOCKET procedure, 84
SWAP_IF_BIG_ENDIAN keywordin BYTEORDER procedure, 36in OPENR procedure, 66in OPENU procedure, 66in OPENW procedure, 66in SOCKET procedure, 84in SWAP_ENDIAN() function, 88in SWAP_ENDIAN_INPLACE procedure, 88
SWAP_IF_LITTLE_ENDIAN keywordin BYTEORDER procedure, 36in OPENR procedure, 66in OPENU procedure, 66in OPENW procedure, 66in SOCKET procedure, 84in SWAP_ENDIAN() function, 88in SWAP_ENDIAN_INPLACE procedure, 88
SWITCH, 13SYMLINK keyword
in FILE_TEST() function, 45
SYMSIZE keywordin OPLOT procedure, 66in PLOT procedure, 67in PLOTS procedure, 67
SYNC keywordin NCDF_CONTROL procedure, 63
SYSTEM keywordin ROUTINE_INFO() function, 72
SYSTIME() function, 27, 88
T3D keywordin AXIS procedure, 35in CONTOUR procedure, 39in CONVERT_COORD() function, 40in OPLOT procedure, 66in PLOTS procedure, 67in SURFACE procedure, 87
T_PDF() function, 19, 89TAB_MODE keyword
in WIDGET_BUTTON() function, 91in WIDGET_DROPLIST() function, 91in WIDGET_LABEL() function, 92in WIDGET_TEXT() function, 92
TAG_NAMES() function, 15, 88TAG keyword
in HDF_VD_GET procedure, 51in HDF_VG_GETINFO procedure, 51
TAGFORM keywordin HELPFORM() function, 52
TAN() function, 19, 88TANH() function, 19, 88TEMPLATE procedure, 88TEMPLATE_BLANK procedure, 89TEMPLATE keyword
in READ_ASCII() function, 71in READ_BINARY() function, 71
TEMPORARY() function, 12, 13, 17, 89TERMINAL keyword
in FILEPATH() function, 44TEST procedure, 89TEST keyword
in APPLEMAN procedure, 33in CONGRID() function, 39in DERIV() function, 41in DIALOG_PICKFILE() function, 42in ESCAPE_SPECIAL_CHAR() function, 43in FILE_COPY procedure, 44in FILE_DELETE procedure, 44in FILE_WHICH() function, 45in FINDFILE() function, 45in IDL_VALIDNAME() function, 53in IMAGE_STATISTICS procedure, 53in PATH_SEP() function, 67in PLOTERR procedure, 67in READ_ASCII() function, 71in READ_GIF procedure, 71in READ_JPEG procedure, 71in READ_PNG() function, 71in SAVE procedure, 75in SKIP_LUN procedure, 84in SMOOTH() function, 84in STR_SEP() function, 87in STRSPLIT() function, 86in WRITE_BMP procedure, 92in WRITE_GIF procedure, 92in WRITE_JPEG procedure, 92in WRITE_PICT procedure, 92in WRITE_PNG procedure, 92
THEN, 12THETA keyword
in RADON() function, 70THICK keyword
in AXIS procedure, 35in CONTOUR procedure, 39in OPLOT procedure, 66in PLOT procedure, 67in PLOTS procedure, 67in POLYFILL procedure, 67in SURFACE procedure, 87in USERSYM procedure, 90
TICKLEN keywordin AXIS procedure, 35
DRAFT
DRAFT124 Subject Index
in CONTOUR procedure, 39in PLOT procedure, 67in SURFACE procedure, 87
TITLE keywordin CONTOUR procedure, 39in DIALOG_MESSAGE() function, 42in DIALOG_PICKFILE() function, 42in PLOT procedure, 67in PM procedure, 67in PY_PLOT procedure, 69in SURFACE procedure, 87in WIDGET_BASE() function, 91in WIDGET_DROPLIST() function, 91in WINDOW procedure, 92
TLB_FRAME_ATTR keywordin WIDGET_BASE() function, 91
TLB_ICONIFY_EVENTS keywordin WIDGET_BASE() function, 91
TLB_KILL_REQUEST_EVENTS keywordin WIDGET_BASE() function, 91
TLB_MOVE_EVENTS keywordin WIDGET_BASE() function, 91
TLB_SIZE_EVENTS keywordin WIDGET_BASE() function, 91
TMP keywordin FILEPATH() function, 44
TNAME keywordin SIZE() function, 84
TO_DATA keywordin CONVERT_COORD() function, 40
TO_DEVICE keywordin CONVERT_COORD() function, 40
TO_NORMAL keywordin CONVERT_COORD() function, 40
TOLF keywordin BROYDEN() function, 35in NEWTON() function, 64
TOLX keywordin BROYDEN() function, 35in NEWTON() function, 64
TOOLBAR keyword
in WIDGET_BASE() function, 91TOOLTIP keyword
in WIDGET_BUTTON() function, 91TOP keyword
in BYTSCL() function, 36TOTAL() function, 18, 89TPOOL_MAX_ELTS keyword
in CPU procedure, 41TPOOL_MIN_ELTS keyword
in CPU procedure, 41TPOOL_NTHREADS keyword
in CPU procedure, 41TRACE() function, 18, 89TRACEBACK keyword
in MESSAGE procedure, 62TRACKING_EVENTS keyword
in WIDGET_BASE() function, 91in WIDGET_BUTTON() function, 91in WIDGET_DROPLIST() function, 91in WIDGET_LABEL() function, 92in WIDGET_TEXT() function, 92
TRANSFER_COUNT keywordin READU procedure, 70in SKIP_LUN procedure, 84in WRITEU procedure, 92
TRANSFORM keywordin MAP_CLIP_SET procedure, 61
TRANSPARENT keywordin READ_PNG() function, 71in WRITE_GIF procedure, 92in WRITE_PNG procedure, 92
TRANSPOSE() function, 15, 18, 89TRIAL keyword
in LMGR() function, 57trigonometric functions, 18TRIGRID() function, 19, 89TRIM keyword
in STR_SEP() function, 87TRUE keyword
in READ_JPEG procedure, 71in TV procedure, 89
in TVRD() function, 89in WRITE_JPEG procedure, 92
TRUECOLOR keywordin MAGICK_QUANTIZE procedure, 61
TT_FONT keywordin SHOWFONT procedure, 75
TV procedure, 89TV() function, 23TVLCT procedure, 89TVLCT() function, 23TVprocedure, 15, 67TVRD() function, 23, 67, 89TVSCL procedure, 89TVSCL() function, 23TWO_PASS_QUANTIZE keyword
in READ_JPEG procedure, 71TYPE keyword
in FIX() function, 46in HDF_SD_ATTRINFO procedure, 50in HDF_SD_GETINFO procedure, 51in INDGEN() function, 56in MAGICK_PING() function, 60in MAKE_ARRAY() function, 61in PLOTERR procedure, 67in SIZE() function, 84
UI_VALUE keywordin CALL_EXTERNAL() function, 36
UINDGEN() function, 13, 15, 89UINT() function, 12, 13, 90UINT keyword
in INDGEN() function, 56in MAKE_ARRAY() function, 61
UINTARR() function, 13, 15, 90UL64_VALUE keyword
in CALL_EXTERNAL() function, 36UL64 keyword
in FACTORIAL() function, 43in INDGEN() function, 56in MAKE_ARRAY() function, 61
UL64INDGEN() function, 13, 15, 90
DRAFT
DRAFT 125
UL_VALUE keywordin CALL_EXTERNAL() function, 36
ULINDGEN() function, 13, 15, 90ULON64ARR() function, 13, 15, 90ULONARR() function, 13, 15, 90ULONG() function, 12, 13, 90ULONG64() function, 12, 13, 90ULONG keyword
in INDGEN() function, 56in MAKE_ARRAY() function, 61
UNAME keywordin WIDGET_BASE() function, 91in WIDGET_BUTTON() function, 91in WIDGET_DROPLIST() function, 91in WIDGET_LABEL() function, 92in WIDGET_TEXT() function, 92
UNIFORM keywordin RANDOMN() function, 70in RANDOMU() function, 70
UNIFORMNOISE keywordin MAGICK_ADDNOISE procedure, 59in MAGICK_PING() function, 60
UNIQ() function, 15, 18, 26, 90UNIT keyword
in HDF_SD_GETINFO procedure, 51in READ_JPEG procedure, 71in SPAWN procedure, 84in WRITE_JPEG procedure, 92
UNITS keywordin WIDGET_BASE() function, 91in WIDGET_BUTTON() function, 91in WIDGET_DROPLIST() function, 91in WIDGET_LABEL() function, 92in WIDGET_TEXT() function, 92
UNLIMITED keywordin NCDF_DIMDEF() function, 63
UNLOAD keywordin CALL_EXTERNAL() function, 36
UNTIL, 14UP keyword
in CURSOR procedure, 41
UPPER keywordin LA_TRIRED procedure, 56
USER_INPUT keywordin WRITE_GIF procedure, 92
USERSYM procedure, 90USEUNIT keyword
in SAVE procedure, 75UTC keyword
in SYSTIME() function, 88UVALUE keyword
in WIDGET_BASE() function, 91in WIDGET_BUTTON() function, 91in WIDGET_DROPLIST() function, 91in WIDGET_LABEL() function, 92in WIDGET_TEXT() function, 92
VALID keywordin WIDGET_INFO() function, 91
VALUE_LOCATE() function, 19, 90VALUE keyword
in CALL_EXTERNAL() function, 36in MAKE_ARRAY() function, 61in WIDGET_BUTTON() function, 91in WIDGET_DROPLIST() function, 91in WIDGET_LABEL() function, 92in WIDGET_TEXT() function, 92
VARIABLES keywordin ROUTINE_NAMES() function, 73
VARIANCE() function, 19, 90VARIANCE keyword
in IMAGE_STATISTICS procedure, 53VARSTATUS keyword
in SAVE procedure, 75VAX_FLOAT keyword
in OPENR procedure, 66in OPENU procedure, 66in OPENW procedure, 66
VECTOR_ENABLE keywordin CPU procedure, 41
VECTOR keywordin IMAGE_STATISTICS procedure, 53
VERBOSE keywordin DIALOG_PICKFILE() function, 42in ESCAPE_SPECIAL_CHAR() function, 43in FILE_COPY procedure, 44in FILE_DELETE procedure, 44in FINDFILE() function, 45in HEAP_GC procedure, 52in IMAGE_STATISTICS procedure, 53in NCDF_CONTROL procedure, 63in READ_ASCII() function, 71in READ_PNG() function, 71in READ_TIFF() function, 71in RESTORE procedure, 72in SAVE procedure, 75in SMOOTH() function, 84in STRUCT_ASSIGN procedure, 87in WRITE_PNG procedure, 92
VERSION keywordin WIDGET_INFO() function, 91
VM keywordin LMGR() function, 57
VOIGT() function, 19, 90
WAIT procedure, 90WAIT keyword
in CURSOR procedure, 41WAITprocedure, 25WDELETE procedure, 91WDELETEprocedure, 23WEIGHT_SUM keyword
in IMAGE_STATISTICS procedure, 53WEIGHTED keyword
in IMAGE_STATISTICS procedure, 53WHERE() function, 15, 34, 91WHILE, 14WIDGET_BASE() function, 30, 91WIDGET_BUTTON() function, 30, 91WIDGET_CONTROL procedure, 91WIDGET_CONTROLprocedure, 30WIDGET_DROPLIST() function, 30, 91WIDGET_EVENT() function, 30, 91
DRAFT
DRAFT126 Subject Index
WIDGET_INFO() function, 30, 91WIDGET_LABEL() function, 30, 92WIDGET_TEXT() function, 30, 92WIDTH keyword
in HELPFORM() function, 52in OPENR procedure, 66in OPENU procedure, 66in OPENW procedure, 66in SOCKET procedure, 84in XYOUTS procedure, 93
WINDOW procedure, 92WINDOW_STATE keyword
in DEVICE procedure, 41WINDOWprocedure, 23WORDS keyword
in TVRD() function, 89WRAP keyword
in WIDGET_LABEL() function, 92in WIDGET_TEXT() function, 92
WRITE_BMP procedure, 92WRITE_BMPprocedure, 28WRITE_GIF procedure, 92WRITE_JPEG procedure, 92WRITE_JPEGprocedure, 28WRITE_PICT procedure, 92WRITE_PICTprocedure, 28WRITE_PNG procedure, 92WRITE_PNGprocedure, 28, 73WRITE_TIMEOUT keyword
in SOCKET procedure, 84WRITE keyword
in DIALOG_PICKFILE() function, 42in FILE_TEST() function, 45in HDF_OPEN() function, 50in HDF_VD_ATTACH() function, 51in HDF_VG_ATTACH() function, 51in NCDF_OPEN() function, 63
WRITEprocedure, 21WRITEU procedure, 92WSET procedure, 92WSETprocedure, 23
WSHOW procedure, 92WSHOWprocedure, 23WTN() function, 20, 93
X_BITMAP_EXTRA keywordin WIDGET_BUTTON() function, 91
X_SCROLL_SIZE keywordin WIDGET_BASE() function, 91
XAXIS keywordin AXIS procedure, 35
XCHARSIZE keywordin AXIS procedure, 35in CONTOUR procedure, 39in PLOT procedure, 67in SURFACE procedure, 87
XDR keywordin OPENR procedure, 66in OPENU procedure, 66in OPENW procedure, 66in SAVE procedure, 75
XDRTOD keywordin BYTEORDER procedure, 36
XDRTOF keywordin BYTEORDER procedure, 36
XGRIDSTYLE keywordin AXIS procedure, 35in CONTOUR procedure, 39in SURFACE procedure, 87
XGUESS keywordin IMSL_ZEROSYS() function, 56
XLABEL keywordin PY_PLOT procedure, 69
XLOG keywordin AXIS procedure, 35in CONTOUR procedure, 39in PLOT procedure, 67in PLOTERR procedure, 67in SURFACE procedure, 87
XMANAGER_ACTIVE_COMMAND keywordin WIDGET_CONTROL procedure, 91
XMANAGER_BLOCK keyword
in WIDGET_EVENT() function, 91in WIDGET_INFO() function, 91
XMARGIN keywordin AXIS procedure, 35in CONTOUR procedure, 39in PLOT procedure, 67in SURFACE procedure, 87
XMIN keywordin RADON() function, 70
XMINOR keywordin AXIS procedure, 35in CONTOUR procedure, 39in PLOT procedure, 67in SURFACE procedure, 87
XOFFSET keywordin DEVICE procedure, 41in WIDGET_BASE() function, 91in WIDGET_BUTTON() function, 91in WIDGET_DROPLIST() function, 91in WIDGET_LABEL() function, 92in WIDGET_TEXT() function, 92
XPAD keywordin WIDGET_BASE() function, 91
XPOS keywordin WINDOW procedure, 92
XRANGE keywordin AXIS procedure, 35in CONTOUR procedure, 39in PLOT procedure, 67in PLOTERR procedure, 67in SURFACE procedure, 87
XSIZE keywordin APPLEMAN procedure, 33in DEVICE procedure, 41in TV procedure, 89in WIDGET_BASE() function, 91in WIDGET_BUTTON() function, 91in WIDGET_DROPLIST() function, 91in WIDGET_LABEL() function, 92in WIDGET_TEXT() function, 92in WINDOW procedure, 92
DRAFT
DRAFT 127
XSTYLE keywordin AXIS procedure, 35in CONTOUR procedure, 39in PLOT procedure, 67in SURFACE procedure, 87
XTHICK keywordin AXIS procedure, 35in CONTOUR procedure, 39in PLOT procedure, 67in SURFACE procedure, 87
XTICK_GET keywordin CONTOUR procedure, 39in SURFACE procedure, 87
XTICKFORMAT keywordin AXIS procedure, 35in CONTOUR procedure, 39in PLOT procedure, 67in SURFACE procedure, 87
XTICKINTERVAL keywordin AXIS procedure, 35in SURFACE procedure, 87
XTICKLAYOUT keywordin SURFACE procedure, 87
XTICKLEN keywordin AXIS procedure, 35in CONTOUR procedure, 39in PLOT procedure, 67in SURFACE procedure, 87
XTICKNAME keywordin AXIS procedure, 35in CONTOUR procedure, 39in SURFACE procedure, 87
XTICKS keywordin AXIS procedure, 35in CONTOUR procedure, 39in PLOT procedure, 67in SURFACE procedure, 87
XTICKUNITS keywordin SURFACE procedure, 87
XTICKV keywordin CONTOUR procedure, 39
in SURFACE procedure, 87XTITLE keyword
in AXIS procedure, 35in CONTOUR procedure, 39in PLOT procedure, 67in SURFACE procedure, 87
XTYPE keywordin AXIS procedure, 35in CONTOUR procedure, 39in PLOT procedure, 67in SURFACE procedure, 87
XYOUTS procedure, 93XYOUTSprocedure, 23
Y_SCROLL_SIZE keywordin WIDGET_BASE() function, 91
YAXIS keywordin AXIS procedure, 35
YCHARSIZE keywordin AXIS procedure, 35in CONTOUR procedure, 39in PLOT procedure, 67in SURFACE procedure, 87
YGRIDSTYLE keywordin AXIS procedure, 35in CONTOUR procedure, 39in SURFACE procedure, 87
YLABEL keywordin PY_PLOT procedure, 69
YLOG keywordin AXIS procedure, 35in CONTOUR procedure, 39in PLOT procedure, 67in PLOTERR procedure, 67in SURFACE procedure, 87
YMARGIN keywordin AXIS procedure, 35in CONTOUR procedure, 39in PLOT procedure, 67in SURFACE procedure, 87
YMIN keyword
in RADON() function, 70YMINOR keyword
in AXIS procedure, 35in CONTOUR procedure, 39in PLOT procedure, 67in SURFACE procedure, 87
YNOZERO keywordin AXIS procedure, 35in PLOT procedure, 67
YOFFSET keywordin DEVICE procedure, 41in WIDGET_BASE() function, 91in WIDGET_BUTTON() function, 91in WIDGET_DROPLIST() function, 91in WIDGET_LABEL() function, 92in WIDGET_TEXT() function, 92
YP0 keywordin SPL_INIT() function, 84in SPL_INIT_OLD() function, 84
YPAD keywordin WIDGET_BASE() function, 91
YPN_1 keywordin SPL_INIT() function, 84in SPL_INIT_OLD() function, 84
YPOS keywordin WINDOW procedure, 92
YRANGE keywordin AXIS procedure, 35in CONTOUR procedure, 39in PLOT procedure, 67in PLOTERR procedure, 67in SURFACE procedure, 87
YSIZE keywordin APPLEMAN procedure, 33in DEVICE procedure, 41in TV procedure, 89in WIDGET_BASE() function, 91in WIDGET_BUTTON() function, 91in WIDGET_DROPLIST() function, 91in WIDGET_LABEL() function, 92in WIDGET_TEXT() function, 92
DRAFT
DRAFT128 Subject Index
in WINDOW procedure, 92YSTYLE keyword
in AXIS procedure, 35in CONTOUR procedure, 39in PLOT procedure, 67in SURFACE procedure, 87
YTHICK keywordin AXIS procedure, 35in CONTOUR procedure, 39in PLOT procedure, 67in SURFACE procedure, 87
YTICK_GET keywordin CONTOUR procedure, 39in SURFACE procedure, 87
YTICKFORMAT keywordin AXIS procedure, 35in CONTOUR procedure, 39in PLOT procedure, 67in SURFACE procedure, 87
YTICKINTERVAL keywordin AXIS procedure, 35in SURFACE procedure, 87
YTICKLAYOUT keywordin SURFACE procedure, 87
YTICKLEN keywordin AXIS procedure, 35in CONTOUR procedure, 39in PLOT procedure, 67in SURFACE procedure, 87
YTICKNAME keywordin AXIS procedure, 35in CONTOUR procedure, 39in SURFACE procedure, 87
YTICKS keywordin AXIS procedure, 35in CONTOUR procedure, 39in PLOT procedure, 67in SURFACE procedure, 87
YTICKUNITS keywordin SURFACE procedure, 87
YTICKV keyword
in CONTOUR procedure, 39in SURFACE procedure, 87
YTITLE keywordin AXIS procedure, 35in CONTOUR procedure, 39in PLOT procedure, 67in SURFACE procedure, 87
YTYPE keywordin AXIS procedure, 35in CONTOUR procedure, 39in PLOT procedure, 67in SURFACE procedure, 87
YUV keywordin MAGICK_QUANTIZE procedure, 61
Z_BUFFERING keywordin DEVICE procedure, 41
Z keywordin XYOUTS procedure, 93
ZCHARSIZE keywordin AXIS procedure, 35in CONTOUR procedure, 39in PLOT procedure, 67in SURFACE procedure, 87
ZENITY_NAME keywordin DIALOG_MESSAGE() function, 42in DIALOG_PICKFILE() function, 42
ZENITY_PATH keywordin DIALOG_MESSAGE() function, 42in DIALOG_PICKFILE() function, 42
ZENITY_SEP keywordin DIALOG_PICKFILE() function, 42
ZERO_LENGTH keywordin FILE_TEST() function, 45
ZGRIDSTYLE keywordin AXIS procedure, 35in CONTOUR procedure, 39in PLOT procedure, 67in SURFACE procedure, 87
ZLOG keywordin CONTOUR procedure, 39
in SURFACE procedure, 87ZMARGIN keyword
in AXIS procedure, 35in CONTOUR procedure, 39in PLOT procedure, 67in SURFACE procedure, 87
ZMINOR keywordin AXIS procedure, 35in CONTOUR procedure, 39in PLOT procedure, 67in SURFACE procedure, 87
ZRANGE keywordin AXIS procedure, 35in CONTOUR procedure, 39in PLOT procedure, 67in SURFACE procedure, 87
ZSTYLE keywordin AXIS procedure, 35in CONTOUR procedure, 39in PLOT procedure, 67in SURFACE procedure, 87
ZTHICK keywordin AXIS procedure, 35in CONTOUR procedure, 39in PLOT procedure, 67in SURFACE procedure, 87
ZTICK_GET keywordin CONTOUR procedure, 39in SURFACE procedure, 87
ZTICKFORMAT keywordin AXIS procedure, 35in CONTOUR procedure, 39in PLOT procedure, 67in SURFACE procedure, 87
ZTICKINTERVAL keywordin SURFACE procedure, 87
ZTICKLAYOUT keywordin SURFACE procedure, 87
ZTICKLEN keywordin AXIS procedure, 35in CONTOUR procedure, 39
DRAFT
DRAFT 129
in PLOT procedure, 67in SURFACE procedure, 87
ZTICKNAME keywordin AXIS procedure, 35in CONTOUR procedure, 39in SURFACE procedure, 87
ZTICKS keywordin AXIS procedure, 35in CONTOUR procedure, 39in PLOT procedure, 67
in SURFACE procedure, 87ZTICKUNITS keyword
in SURFACE procedure, 87ZTICKV keyword
in CONTOUR procedure, 39in SURFACE procedure, 87
ZTITLE keywordin AXIS procedure, 35in CONTOUR procedure, 39in PLOT procedure, 67
in SURFACE procedure, 87ZTYPE keyword
in CONTOUR procedure, 39in SURFACE procedure, 87
ZVALUE keywordin AXIS procedure, 35in CONTOUR procedure, 39in PLOT procedure, 67in SURFACE procedure, 87
DRAFT
DRAFTBibliography
[1] Fundation, F. S.: GNU General Public License, version 2, URL http://www.gnu.org/licenses/old-licenses/gpl-2.0.html, 1991.
[2] Galassi, M., Davies, J., Theiler, J., Gough, B., Jungman, G., Alken, P., Booth, M., andRossi, F.: GNU Scientific Library Reference Manual - Third Edition (v1.12), NetworkTheory Ltd., URL http://www.gnu.org/software/gsl/manual/, 2009. {7}
[3] Markwardt, C.: Non-linear Least-squares Fitting in IDL with MPFIT, in: AstronomicalSociety of the Pacific Conference Series, edited by Bohlender, D., Durand, D., andDowler, P., vol. 411 of Astronomical Society of the Pacific Conference Series, URLhttp://cdsads.u-strasbg.fr/abs/2009ASPC..411..251M, 2009. {19}
[4] Paoli, S.: C++ Coding Standard Specification, Tech. rep., CERN European Labo-ratory for Particle Physics, URL http://pst.web.cern.ch/PST/HandBookWorkBook/Handbook/Programming/CodingStandard/c++standard.pdf, 2000. {95}
[5] Snyder, J.: Map projections–A working manual, Tech. Rep. 1395, U.S. Geological Survey,URL http://pubs.er.usgs.gov/djvu/PP/pp_1395.djvu, 1987. {57}
[6] van Rossum, G. and Fred L. Drake, J.: The Python Language Reference Manual, NetworkTheory Ltd., URL http://docs.python.org/reference/, 2006. {32}
[7] Wessel, P. and Smith, W. H. F.: A global, self-consistent, hierarchical, high-resolutionshoreline database, J. Geophys. Res., 101, 8741–8743, doi:10.1029/96JB00104, 1996.{61}
[8] Wolcott, N. and Hilsenrath, J.: Tables of coordinates for Hershey’s repertory of occidentaltype fonts and graphic symbols. A contribution to computer typesetting techniques., NBSspecial publication 424, National Bureau of Standards, 1975. {24}