Routines: A-B
  • ADDDATE - Add days to a date. Tries to return string in same form as input
  • ADDLABELNODES - Add LABEL sub-nodes to MDSplus signal nodes reading info from a file
  • ADDMDSTAGS - Add tags to MDSplus nodes
  • ADDSIGNODES - Add signal nodes and tags to a MDSplus tree for many shots
  • ADDTREETOTAG - Return tags with trees merged in
  • ADD_TAG - Add a new tag to the structure. NOTE: if you want to add more than one tag at once, use ADD_TAGS
  • ALPHAMOVIE10 - Plot every 10th frame in time, and overlay 10 d-alpha traces. Have a marching vertical line indicating time in a plot indicating the Strike Point Radius.
  • AMEDIAN - Works the same as MEDIAN, but the effect tapers off at the edges.
  • ANIM2CINE - Create an mpeg or avi movie from two .cin files from Phantom Cameras. The data can be color or monochrome
  • ANIMXYPLOT - Animate X-Y plot of a 2-D array
  • ARRAYMASK - Return an array mask where values are 1 if within the drawn polygon and 0 if outside.
  • ARRAY_EQ - Return TRUE if two arrays are equal, else false.
  • BADPAR - (one line) Validate an input parameter against valid entries.
  • BAD_PTDATA_ERROR - Return a logical true IF the PTDATA error is serious
  • BANGPW - Widget to set interactively some !P values. Lists colors by name, if mk_color used; otherwise finds "closest" index to named colors. Allows selection of several custom plotting symbols (see PLOTSYM).
  • BELL - Ring terminal bell.
  • BETTERRAINBOW - Loads a rainbow color palette with 6 evenly-spaced (roughly) colors
  • BETTERTICKLABELS - Tick labels are made a little cleaner. E.g., shorter exponentials, no unnecessary trailing zeroes, accurate numbers when tick values are small differences between large numbers, etc.
  • BIN2D - Create a density image (2D histogram) from arrays of (x,y) points, or create an image of a function from arrays of ( x, y, f(x,y) ) data. In first case each pixel counts # of (x,y) points falling into a 2D bin (box), thus forming an image of counters. In optional case, each pixel is the average of all f(x,y) data falling into the box. Boxes are determined by dividing the (x,y) range into a uniform grid.
  • BITMAPBUTTONS - Illustrate use of bitmapbuttons in IDL
  • BITS - Given a byte or integer, return a vector of 8 or 16 values which are the binary representation of the value.
  • BLOBBINRANGES - Plot bins of one variable vs another from blob database and drawn ranges, of say 90%, in Y for each binned point. See http://nstx.pppl.gov/nstx/Software/Applications/blobDBdefs.txt for an explanation of variables and units of database variables.
  • BLOBTRAILS - Draw trails of blob trajectories that go through a certain region of the image. Data comes from a database of blob characteristics for a given shot, and perhaps just part of a shot (see populateblobs.pro).
  • BPASS - Implements a real-space bandpass filter which suppress pixel noise and slow-scale image variations while retaining information of a characteristic size.
  • BPWFEDIT - Read, Edit, & Plot Breakpoint Waveform files used in ppcc system on TFTR
  • BREAKMDSNAME - Break an MDS pathname near the middle, if too long
  • BREAKSTRING - Break a string up and return a string array
  • BREAKTEXT - break up (justify) text so lines not longer than a certain length.
  • BREAK_PATH - Breaks up a path string into its component directories.
  • BTEST - To test bit N in FIX(X)
Routines: CA
  • CACHECKMONITOR - This function returns a non-zero value if there is a new (unread) monitor for this process variable, otherwise it returns zero. This function is particularly useful when a caGet() operation is expensive in time, e.g. reading large arrays.
  • CACLEARMONITOR - This procedure clears a monitor on the specified process variable. It cancels the effect of caSetMonitor().
  • CADEBUG - This procedure turns the EZCA debugging flag on or off. Turning on the debugging flag prints lots of information, which is mainly useful to developers.
  • CAENDGROUP - This function ends an "asynchronous group". See caStartGroup for more information on asynchronous groups. caEndGroup flushes the queue of caGet and caPut calls and waits for replies from the channel access servers.
  • CAERROR - This procedure controls error printing and returns error strings.
  • CAGET - This function reads the value of a Channel Access process variable.
  • CAGETARRAY - This function reads values for a list of Channel Access process variable. It returns 0 if successful, returns -1 if failed.
  • CAGETCONTROLLIMITS - This procedure reads the control limits for the specified channel access process variable.
  • CAGETCOUNTANDTYPE - This function returns the number of elements and data type of a Channel Access process variable.
  • CAGETENUMSTRINGS - This function returns all of the choice strings associated with a Channel Access "enum" process variable. It is particularly useful for building menus of options.
  • CAGETERROR - This function get CA return codes for a list of process variable names. Return code can be 0 or -1, 0 for success, -1 for failure.
  • CAGETGRAPHICLIMITS - This procedure reads the graphic limits for the specified channel access process variable.
  • CAGETPRECISION - This procedure reads the precision for the specified channel access process variable.
  • CAGETRETRYCOUNT - This function returns the value of the EZCA retry count parameter. In conjunction with the EZCA Timeout parameter it determines how long EZCA will try to connect to a process variable before giving up.
  • CAGETSTATUS - This procedure reads the status parameters for a channel access process variable.
  • CAGETTIMEOUT - This function returns the value of the EZCA Timeout parameter. This value determines the time parameter passed to ca_pend_io() in EZCA. In conjunction with the EZCA RetryCount parameter it determines how long EZCA will try to connect to a process variable before giving up.
  • CAGETUNITS - This procedure reads the units string for the specified channel access process variable.
  • CAINIT - This routine sets the channel access timeout used by list array functions defined in ezcaScan library.
  • CALCBTBP - Calculates toroidal and poloidal magnetic field values (Bt & Bp) at desired R & Z and desired time by reading data from the EFIT (or similar) MDS+ tree. (Bt is also refered to as B-phi.)
  • CAMAC_HERE - Return 1 if CAMAC on this computer (if environmental variable "camac_server" is non-blank)
  • CAMONITOR - This function provides Add/Get/Check/Clear monitor features on a single PV or a list of PV names.
  • CAPENDEVENT - This function causes the Ezca to call channel access ca_pend_event function.
  • CAPENDIO - This routine sets the timeout used by ca_pend_io in array get/ put used in ezcaScan library.
  • CAPUT - This procedure writes a new value to a channel access process variable.
  • CAPUTARRAY - This function writes an array of data to a list of Channel Access process variable. It returns 0 if successful, else retuns -1.
  • CASCAN - This function provides add/get/zero/clear monitor features on a scan record and a set of PV names.
  • CASEARCH - This function searches for a list of process variable names. It returns 0 if successful, returns -1 if failed.
  • CASETMONITOR - This procedure sets a monitor on the specified process variable. This causes a channel access callback to execute whenever the value of that process variable changes. Subsequent calls to caGet() after calling caSetMonitor will read the values provided by the callbacks, rather than reading from the IOC.
  • CASETRETRYCOUNT - This procedure sets the value of the EZCA RetryCount parameter. In conjunction with the EZCA Timeout parameter it determines how long EZCA will try to connect to a process variable before giving up.
  • CASETTIMEOUT - This procedure sets the value of the EZCA Timeout parameter. This value determines the time parameter passed to ca_pend_io() in EZCA. In conjunction with the EZCA RetryCount parameter it determines how long EZCA will try to connect to a process variable before giving up.
  • CAST - Generalized type casting. Converts variables whose type code is out of the range [LOW,HIGH] into this range.
  • CASTARTGROUP - This procedure starts an "asynchronous group". Within an asynchronous group all calls to caGet and caPut are asynchronous, i.e. they queue a request and return immediately without waiting for a reply from the channel access servers. Calling caEndGroup causes the queue to be flushed and waits for the replies. The use of asynchronous groups can greatly improve the efficiency of channel access. The user must be aware of the restrictions on caGet outlined under the description of that routine.
  • CATIMESTAMP - This function returns the time stamp of corresponding value for the specified record name.
  • CATRACE - This procedure turns the EZCA trace flag on or off. Turning on the trace flag prints lots of information which is mainly useful to developers. Setting the trace flag results in less verbose output than setting the debug flag (see caDebug).
  • CAVERSION - This function returns the string of current version information about ezcaIDL
Routines: CH-CW
  • CHARSIZE2FIT - compute charsize for a string to fit in horizontal # of pixels
  • CHECKMDSTREE - Check MDS trees, say after a transfer. Produce a file with a list of nodes and checksum of contents of each numerical node or first element of non-numeric nodes.
  • CHECKSIG - checks for existence of a signal in MDSplus for current shot and optionally declares an event. It can also execute and IDL string when it sees the event. It will then start watching for the next shot.
  • CH_EXAMPLE - a simple example using the GA Crosshair routines
  • CH_REGISTER - register window for crosshair routines
  • CINE2MPEG - Create a movie from a .cin files from Phantom Fast Cameras. Will default to writing jpegs and spawning jmovie to create a QuickTime movie. If /MPEGout keyword set, will write an MPEG. The data can be color or monochrome,
  • CINEAVE - Produce an average frame from a time ranged from .cin files from Phantom Fast Cameras. This frame is typically used to divide GPI images by to get normalized image.
  • CINELOAD - Read a frame from a .cin file from a Phantom 7 camera. File is opened only the first time (or when filename is new), and pointers and things are remembered from one call to the next.
  • CINERATE - Return framing rate from a .cin file from a Phantom 7 camera.
  • CINETHUMBNAILS - Plot thumbnails of many frames from a .cin file
  • CINE_LOAD - Read a frame from a .cin file from a Phantom 7 camera.
  • CINE_SNUM - Return camera serial number from a .cin file from a Phantom camera.
  • CINE_TIME - Read time from a .cin file from a Phantom 7 camera.
  • CLEANPLOT - Reset all system variables (!P,!X,!Y,!Z) to their default values
  • CLEARPLT - This procedure will clear or zero all or a selection of the system plot variables
  • CLICKONW - Allow recording of click locations on Tiff files. e.g., can be used for tracking dust particles from fast camera images of plasmas
  • COLORBAR - The purpose of this routine is to add a color bar to the current graphics window.
  • COLORBARBD - The purpose of this routine is to add a color bar to the current graphics window. (this is a mod by BD to handle veritcal plot ticknames better)
  • COLORSEARCH - Return color index (or closest available) from the color name.
  • COLOR_RESOURCE_EXAMPLE - Example of color buttons on a widget.
  • COLOR_STATUS_EXAMPLE - Example of color status fields on a widget.
  • COMBINE_STRUCTS - Takes two arrays of structures str1,str2 which have the same number of elements but possibly different tags and makes another structure which has the same number of elements but the tags of both str1,str2 and has their respective tags values copied into it
  • COMPW - Plot two signals and the difference.
  • CONVANGLE - Convert angle from one scheme to another. For example, some routines have 0 horizontally to the left, with angles increasing in a clockwise direction. and others have zero to the right, with angles increasing in a counter-clockwise direction.
  • CONVOLVE - Convolution of an image with a Point Spread Function (PSF)
  • COPY_STRUCT - Copy all fields with matching tag names from one structure to another
  • CP2JSCOPEFILE - Copy an MDSplus Scope input file to one that will work with jScope
  • CREATE_LOCUS_TABLE - Create a table in the Locus database following the convention of data columns named xx0, xx1, xx2, etc.
  • CW_ANIMATE_DUPS - This widget displays an animated sequence of images using X-windows Pixmaps. This is a compound widget, based on the XINTERANIMATE procedure, with the following advantages: - It can be included in other applications. - Multiple copies can be run simultaneously. The speed and direction of the display can be adjusted using the widget interface.
  • CW_BGROUP3_6 - CW_BGROUP3_6 is a compound widget that simplifies creating a base of buttons. It handles the details of creating the proper base (standard, exclusive, or non-exclusive) and filling in the desired buttons. Events for the individual buttons are handled transparently, and a CW_BGROUP3_6 event returned. This event can return any one of the following: - The Index of the button within the base. - The widget ID of the button. - The name of the button. - An arbitrary value taken from an array of User values.
  • CW_FIELD - This widget cluster function manages a data entry field widget. The field consists of a label and a text widget. CW_FIELD's can be string fields, integer fields or floating-point fields. The default is an editable string field.
  • CW_FIELD_BD - This widget cluster function manages a data entry field widget. The field consists of a label and a text widget. CW_FIELD's can be string fields, integer fields or floating-point fields. The default is an editable string field.
  • CW_PDLIST - A compound widget that simplifies creating pulldown menus. It has a simpler interface than the XPDMENU procedure, which it is intended to replace. Events for the individual buttons are handled transparently, and a CW_PDList event returned. This event can return any one of the following: - The Index of the button within the base. - The widget ID of the button. - The name of the button. - The fully qualified name of the button. This allows different sub-menus to contain buttons with the same name in an unambiguous way.
  • CW_PDMENU - CW_PDMENU is a compound widget that simplifies creating pulldown menus. It has a simpler interface than the XPDMENU procedure, which it is intended to replace. Events for the individual buttons are handled transparently, and a CW_PDMENU event returned. This event can return any one of the following: - The Index of the button within the base. - The widget ID of the button. - The name of the button. - The fully qualified name of the button. This allows different sub-menus to contain buttons with the same name in an unambiguous way.
Routines: D-F
  • DATATYPE - Datatype of variable as a string (3 char or spelled out).
  • DATE2JD - Convert a date string to Julian Day number.
  • DATE2YMD - Date text string to the numbers year, month, day.
  • DB_COLUMNS - List database tables and columns in which the column name contains a string.
  • DB_LIST - List info from an NSTX Database Table; especially to be displayed in output from a Web Tool database, like http://nstx.pppl.gov/nstx/Software/WebTools/searchefitdb.html. Searches from a database will be MUCH faster than from MDSplus trees.
  • DECODE_GRAY - Convert a gray-code value to an integer
  • DECOMPOSEDCOLOR - This function is used to determine, in a device independent way, if the current graphics device is using color decomposition. The function returns a 1 if color decomposition is turned on, and a 0 if it is turned off. When color decomposition is turned on, we say the device is using a true-color display. If color decomposition is turned off, we say the device is using an indexed color display.
  • DELFROMLIST - Delete ith element from a list
  • DIALOG_INPUT - A modal (blocking) dialog widget to input a line of text. The dialog must be dismissed, by entering text and pressing the Return key, or by clicking on the 'Ok' or 'Cancel' button before execution of the calling program can continue.
  • DIALOG_MENU - A modal (blocking) dialog widget to display a selectable menu. The dialog must be dismissed by selecting a menu item before execution of the calling program can continue.
  • DISPLAYFCTIFFS - Animate Fast Camera images with the time overlayed
  • DOMAINNAME - Return TCP/IP domain name from Unix systems
  • DRAWCIRCLE - Draw a circle centered on [x0, y0]. YOU HAVE TO HAVE YOUR AXES ESTABLISHED BEFORE CALLING THIS. Return out arrays for later drawing on a surface, too. These are in two parts, so you won't have a line down the middle when drawing.
  • DRAWDIAMOND - Draw a diamond in data coordinates
  • DRAWELLIPSE - Draw an ellipse centered on [x0, y0]. YOU HAVE TO HAVE YOUR AXES ESTABLISHED BEFORE CALLING THIS.
  • DRAWNSTXINSIDES - Provide a drawnstxinsides for IDL routines to be used by others
  • DRAWRECTANGLE - Draw a rectangle in data coordinates
  • DT_NICENUMBER - Makes nice delta time numbers, by rounding to 3 significant digits Can be used if you want to know if you have a constant timebase.
  • EDITTABLE - Edit a structure with a table where the second item in the structure is on/off. You can set all items (but the first) on, off, or to a specific value. If there are more rows than will fit on your screen, it will make new columns.
  • EFITMOVIES - Plot EFIT field lines, Thomson Scattering Density and Temperature and, optionally, Fast Camera images. Instead of Fast Camera, can plot H-alpha (or another) signal vs. time.
  • ERROR_MESSAGE -
  • EVENTSPAWN - When a designated MDSplus event is detected, spawn an IDL procedure, first killing any versions that are running.
  • EXECONEVENT - Widget to spawn an executable (with shot as argument) when an MDSplus event occurs. An IDL routine can also be spawned with shot as the only argument, or any IDL command string executed.
  • FACTOR - Find prime factors of a given number.
  • FANCY_TITLE - write a title at top of screen, with option to use Hershey fonts
  • FCDCMOVIES - Plot Fast Camera and Divertor Camera images along with EFIT field lines, and, optionally, Thomson Scattering Density and Temperature. You may also plot H-alpha (or another) signal vs. time.
  • FCPLAYER - Also displays files from the Phantom or color Miro cameras (.cin files) and optionally save frames as JPEG, png or TIFF files. Allows recording of click locations on .cin files from a Phantom 4 or 7 camera (for tracking dust, e.g.). Also trackes "blobs" from images of edge turbulence.
  • FCTIFFSVCR - animate Fast Camera tiffs with VCR-like controls. from the resulting widget, you may write an Mpeg file
  • FCVCR - Plot Fast Camera images with a VCR-like interface
  • FDECOMP - Routine to decompose a file name for any operating system
  • FEATURE - Finds and measures roughly circular 'features' within an image.
  • FILE2STRUCT - return a structure where elements are named with column headings, and arrays are the columns
  • FILEONEVENT - When a designated MDSplus event is detected, write a file containing a shot number, first deleting existing file.
  • FILESHOTDATE - Print time and date of an NSTX shot, but get data from a file
  • FILETIME2DBTIME - Return times in filetimes format in database format
  • FILTER_IMAGE - Identical to MEDIAN or SMOOTH but handle edges and allow iterations.
  • FINDALLCHAR - Find all appearances of a character in a scalar string
  • FINDCAMFILES - Find camera files in various directories Environmental/System variable FC_DATA_DIR will be used, if set, to look for files containing the string in 'filename'
  • FINDDISKS - return a list of disks shown in the df command on Linux
  • FINDMDSNODES - Search for MDSplus nodes or tags with a name containing a string
  • FINDMDSTIME - find a time within an MDSplus shot, correspoding to the time of Max Ip, time of Max W-tot, etc. signals come from the EFIT tree when possible.
  • FINDPEAKS - Find peaks in a data array. To be a peak a local maximum must have a 25% higher range than the first and last quarter of the peak range.
  • FINDRATZ - find the r of desired Z, but on the outer part of curve, if there is more than one point that would cross Z=desiredZ. Use spline interpolation.
  • FINDVALIDSHOTS - Search MDS Plus Trees for valid shot numbers with data in a particular node
  • FIND_COMMON() - : Find which elements are common to the input vectors.
  • FIND_FONT - Select a Unix hardware font for IDL graphics.
  • FIRSTSIGNAME - Return the first signal name in a TDI expression. Needed when you want the xaxis from a combination of signals.
  • FITSRUN - Quickly tell which EFITs and LRDFITs exist for an MDSplus shot
  • FLUXCOORDS - Return flux coordinates for input R values at a given Z
  • FOLLOWCONTOUR - Follow a contour line to find where it intersects a desired Y and return the X value. I.e., where the 2D input array has the same value as at specified coordinates. This is used to find the R value at Z=0 with the same Psi value as a specified point on the flux surface. So, it can be used for plotting things in relation to flux surfaces.
  • FOUNDSUBTREE - determine if sub trees like efit05, lrdfit06, etc. exist
  • FROMIDLSECONDS - Convert from IDL-syle time (output from SYSTIME(1), to form of '06/14/2004 11:04:52'
  • FROMIDLTIME - Convert from IDL-syle time (output from SYSTIME(0), to form of '06/14/2004 11:04:52'
  • FSC_COLOR - The purpose of this function is to obtain drawing colors by name and in a device/decomposition independent way. The color names and values may be read in as a file, or 192 color names and values are supplied with the program. These colors were obtained from the file rgb.txt, found on most X-Window distributions, and from colors in the Brewer color tables (http://colorbrewer2.org/). Representative colors were chosen from across the color spectrum. To see a list of colors available, type: Print, FSC_Color(/Names), Format='(6A18)' If the color names '0', '1', '2', ..., '255' are used, they will correspond to the colors in the current color table in effect at the time the FSC_Color program is called.
  • FSC_COLORBAR - The purpose of this routine is to add a color bar to the current graphics window.
  • FULLMDSPATH - Return an MDSplus path for a tag
Routines: GA
  • GAMMA_RAISE - Apply gamma correction to an array, presumably an image.
  • GAUSSIAN - Compute the 1-d Gaussian function and optionally the derivative
  • GA_DATA - A GA_Data object defines a dataset Y as a function of X. It can be drawn on a Plot defined by a GA_Plot object.
  • GA_DATA::ADD_TEXT - Add a text annotation defined by GA_AnnotateText object that will be drawn together with this data object onto the plot object.
  • GA_DATA::DELETE_TEXT - Deletes a text member from the data object.
  • GA_DATA::DRAW - Overplots this data set onto a Plot that has been established by a GA_Plot object.
  • GA_DATA::GETCOLOR - Retrieves the color index associated with this data set.
  • GA_DATA::GETFLAGAUTOLABEL - Retrieves value of FlagAutoLabel
  • GA_DATA::GETLABEL - Retrieves the label of this dataset. If not set, use YName. Can be overridden by subclasses to supply automatically generated label. FlagAutoLabel is provided to facilitate this.
  • GA_DATA::GETLINESTYLE -
  • GA_DATA::GETLINESTYLENONE - Retrieves linestyle index for 'NONE' (no line).
  • GA_DATA::GETPLOT - Retrieves the GA_Plot object that contains this data object.
  • GA_DATA::GETSYMBOL -
  • GA_DATA::GETSYMBOLSIZE -
  • GA_DATA::GETXDATA - Retrieves abscissa vector X.
  • GA_DATA::GETXNAME - Retrieves the name of X vector.
  • GA_DATA::GETXRANGE - Retrieves the range of X data.
  • GA_DATA::GETYDATA - Retrieves ordinate vector Y.
  • GA_DATA::GETYNAME - Retrieves the name of Y vector.
  • GA_DATA::GETYRANGE - Retrieves the range of Y data.
  • GA_DATA::INIT - Initializes the GA_Data object.
  • GA_DATA::SETPROPERTY - Sets the value of a property or group of properties for the GA_Data.
  • GA_DATA::SET_TEXT_PROPERTY - Sets the parameters associated with a text annotation object.
  • GA_PLOT - A GA_Plot object draws graphs of its data members. It is a container of GA_Data objects. If it has more than one data object member, the data members are overlayed. A plot object can be thought as a wrapper to IDL's PLOT command, keyword values to the PLOT command are preserved as plot object's or data objects' members. A plot object is plotted on a window created by a GA_Plot_Window object which may contain several plot objects.
  • GA_PLOT::ADD_DATA - This method allows you to add another data object to the plot object. Properties of the data object may be set with the method's keywords. Extra carries any keywords acceptable by Ga_Data[3]::Init. A new data object will be created and the reference is returned. See also GA_Plot::Add_Data_Object
  • GA_PLOT::ADD_DATA_OBJECT - This method allows you to add a GA_DATA or GA_DATA3 object to the plot object. The data object reference is returned. See also GA_Plot::Add_Data
  • GA_PLOT::ADD_TEXT - This method adds a text annotation to a specified location on the plot.
  • GA_PLOT::AUTO_RANGE - Set data ranges automatically according to data. This is needed for multiple data sets. Set both xrange and yrange by default.
  • GA_PLOT::DELETE_DATA - This method allows you to delete a data set member from the Plot Object. The data set may be specified by indicating its NAME, by indicating its POSITION (index number), or by the data OBJECT itself. (See the Select_Data method for more details about a data set's NAME and POSITION.)
  • GA_PLOT::DRAW - This method draws the Plot Object, including all of the data members included in the Plot Object.
  • GA_PLOT::GETDATAOBJECTS - The method returns the array of data objects stored in this plot object.
  • GA_PLOT::GETDATASELECTED - Retrieves the selected data object. A data object can be selected by clicking near to the data points with Left-Mouse-Button in 'Select' mode.
  • GA_PLOT::GETWINDOW - This method returns the GA_Plot_Window object that the plot object belongs to, for EditCallBack purpose.
  • GA_PLOT::GET_DATA_PROPERTY - This method allows you to retrieve the properties of a data member belonging to the plot. Data member is identified by passing its object reference (which can be obtained with the Select_Data method). If a data member is not specified, the first data memeber is used as a default.
  • GA_PLOT::GET_PLOT_PROPERTY - This method allows you to obtain the standard Plot properties from the Plot Object. (See the Init Method for a more complete explanation of these Plot properties.)
  • GA_PLOT::INIT - This method initializes a GA_Plot object. Standard properties are set with positional and keyword parameters. The routine makes GA_DATA objects from the data passed into the method. Use the Add_Data method to add additional data sets and the Delete_Data method to remove data sets from the Plot Object. Data inside the data objects can be modified with the Set_Data_Property method. Think of this initialization routine as a wrapper for the PLOT command. Use keywords appropriate for the PLOT command in making the call.
  • GA_PLOT::SELECT_DATA - This method retrieves a particular data object associated with this plot object. A data can be selected by name or by index number.
  • GA_PLOT::SETSLICEMODE - Set mode for data slicing. For a GA_Plot object, the plot can be used as a slicer to slice through other GA_Plot3 objects in the same window. The data in this plot will not be sliced because there is no third dimension. See also GA_Plot3::SetSliceMode
  • GA_PLOT::SET_DATA_PROPERTY - This method allows you to change the parameters associated with a particular data object. You must specify a particular data set by passing the object reference to the data set. (This can be obtained with the GA_Plot::Select_Data method.) If a data set object is not specified as the data member, the first data set is used by default.
  • GA_PLOT::SET_PLOT_PROPERTY - This method allows you to set the standard Plot properties. If the DRAW keyword is set, the plot will be drawn after the new properties are set. (See the Init Method for a more complete explanation of these Plot properties.)
  • GA_PLOT::SET_TEXT_PROPERTY - This method allows you to change the parameters associated with a text annotaion object. The textMember is the index number of the text object. All text members are used by default if no textMember is specified.
  • GA_PLOTW - Plot widget for "table" of data, or input X & Y arrays.
  • GA_PLOT_WINDOW - A GA_Plot_Window is a compound widget with a draw window that contains one or several GA_Plot[3] objects. Plots can be added or deleted. The window object handles plot layout, coordinates, preference and properties configurations, mouse events and draws all the plots through their own draw methods.
  • GA_PLOT_WINDOW::ADD_PLOT - This method adds a plot to the window. A new column of plots will be created if necessary to accomodate the new plot. A plot object is required. If NoDuplicate keyword is set, check if newPlot belongs to the window already. If so, return.
  • GA_PLOT_WINDOW::CHECKPLOTNUMBERS - Goes through member plots and checks to ensure that they are sequentially numbered. Renumbers them if they are not. Plots having the same number are overlayed and can cause confusing display results. This routine is optional - to be used by the parent application if needed. It returns 0 if no plot has been renumbered, returns 1 otherwise.
  • GA_PLOT_WINDOW::DELETE_PLOT - This method deletes a plot from the list of plots within the window. Plots are numbered from 1 to N and are in column order in the window. NO EDITCALLBACK is generated by this method! For an EDITCALLBACK use GA_Plot_Window::RemovePlot.
  • GA_PLOT_WINDOW::DRAW - Draws all the plots in this window by calling the plot objects Draw method.
  • GA_PLOT_WINDOW::DUMP - Prints out pointers to plot objects and their associated data objects. For debugging purposes.
  • GA_PLOT_WINDOW::EDITCALLBACK - Perform an IDL procedure call upon certain editing action, CALL_PROCEDURE,ProName,Parent,oData,oPlot,Action ProName is the procedure name specified by keyword EDITCALLBACK when the window object is created (see GA_Plot_Window::Init). This procedure should expect four arguments. Parent The parent widget of the PARENT argument specified in GA_Plot_Window::Init. If the GA_Plot_Window is created through CW_GAWindow, Parent will be the PARENT argument passed to CW_GAWindow. oData A GA_Data object or a null object. oPlot A GA_Plot object or a null object. Action An action string such as 'ADD_DATA','DELETE_DATA', 'DELETE_PLOT','REFERENCE_POINT',etc.
  • GA_PLOT_WINDOW::GETCURRENTTOOL - Retrieves the name of the current mouse mode. Possible modes are ['Select','Zoom','Edit','Cursor','Slice','Mark','Vector'] plus those defined by MOUSEMODES.
  • GA_PLOT_WINDOW::GETPLOT - Retrieves a plot object specified by its index number.
  • GA_PLOT_WINDOW::GETPLOTLIST - Retrieves the names of plots in this window object. A name is specified or a default is given when a plot object is created.
  • GA_PLOT_WINDOW::INIT - Initializes a GA_Plot_Window object. The window is conceived as a compound widget via CW_GAWindow. When you get the "value" of the compound widget, you are returned the window object. Instead of "setting values" to the compound widget, you call window object methods.
  • GA_PLOT_WINDOW::INSERT_PLOT - Inserts a new plot at a specified index number. The plot numbers are shifted by 1 (+1) from the inserted plot.
  • GA_PLOT_WINDOW::REMOVE_PLOT - If the PLOT tag in EDITFLAGS structure is set, this method deletes the plot object specified by the index number. A GA_Plot_Window::EditCallBack is generated.
  • GA_PLOT_WINDOW::REPLACE_PLOT - This method replaces a current plot in the window with another plot.
  • GA_PLOT_WINDOW::RESTOREPREFERENCES - Restore user's preferences from file specified by PreferencesFile. This file is always in user's HOME directory.
  • GA_PLOT_WINDOW::SAVEPREFERENCES - Save the current settings to user's preferences file specified by PreferencesFile. This file is always in user's HOME directory.
  • GA_PLOT_WINDOW::SETAUTOGRID - Turn on or off the automatic grid layout calculation.
  • GA_PLOT_WINDOW::SETCHARSIZE -
  • GA_PLOT_WINDOW::SETCOLORFLAG - Resetting the color table.
  • GA_PLOT_WINDOW::SETCURRENTTOOL - This method sets the current tool(mouse mode) to be used in the window. 'SELECT' - Seleting a data or a plot for manipulation, copying and deletion, etc. 'ZOOM' - Zoom and reset a plot, switch between multiple and single-plot displays. 'EDIT' - Add, delete or move data points. 'CURSOR' - Mark reference points, switch cursor readout from absolute to relative. 'SLICE' - Change the slices of the 3D data being plotted. 'MARK' - Mark a data point with a special symbol. 'VECTOR' - Change vector magnitute, data point resampling rate, etc.
  • GA_PLOT_WINDOW::SETMAXGRID - Set the maximum number of columns and rows for determining grid layout of plots automatically.
  • GA_PLOT_WINDOW::SET_CROSSHAIRS - This method turns cursor crosshair tracking on or off.
  • GA_PLOT_WINDOW::SET_STATUS_WINDOW - This method assigns a text or label widget ID to be the status window. Cursor tracking reports are sent to the status window.
  • GA_PLOT_WINDOW::USERSETGRID - Allows manually setting the grid layout of the plots. If howeve, the total number of plots is greater than GRID[0]*GRID[1], the grid is recalculated automatically.
Routines: GE-L
  • GETCMODEFIT - Get efit data from CMOD for separatrix and limiter locations
  • GETEFIT - Procedure to get efit data from A0 and G0 file or from MDSPLUS. This can be used as a front end to the usual reada and readg. It prints out a message if the efit data does not occur for the desired value of DELTIME. It does not return any data unless time window requirements are met.
  • GETFILETIME - return creation date and time of a file (not sure atime and ctime are right, for files from a PC)
  • GETIMAGE - The purpose of this function is to allow the user to open either regular or XDR binary image files of two or three dimensions.
  • GETMDSLABEL - return a label for an MDSplus signal. If there is a :LABEL sub-node, use that string, else if there is a :COMMENT sub-node, use that, else return the MDSplus signal name.
  • GETNEXTFILE - get next file in a directory, defaulting to alphabetic search
  • GETPOS - Get the values for the POSITION keyword after a plot
  • GETSCOPENAMES - return signal names and plot settings from an MDSplus Scope input file
  • GETSEP - Get the separtrix (last closed flux surface) R & Z values from EFIT or LRDfit for a particular NSTX or CMOD shot. Interpolate surfaces in time. Can also return R & Z of limiter interior. Also works for CMOD shots (tree opened elsewhere).
  • GETTOK - Function to retrieve the first part of the string until the character char is encountered.
  • GETWRD - Return the n'th word from a text string.
  • GET_DELIM - returns file delimiter that is appropriate to VMS, UNIX or Windows
  • GET_NEBAR - Get Ne Bar (line-averaged plasma density at the midplane) from Multi-point Thomson Scattering data and EFIT gap data.
  • GET_TEXT_INPUT - Prompt the user for input with a question and return the text string typed by user. For X-windows the input is through a text widget, in the middle of the screen, and the text widget waits until carriage return is entered. Otherwise input is in the terminal window, with a beep to alert user.
  • GET_WEBPLOTSUM - Creates summary plots vs time with plasma current, D-alpha, injected power and stored energy (W-mhd).
  • GOOD_IP - Determine if plasma current (Ip) was good for a shot and, optionally declare an event.
  • GPICONT - plot GPI data (an average of a center strip vs. time) as a color contour with the separatrix overlayed
  • GPIMOUNTAIN - plot GPI data (an average of a center strip vs. time) as a surface with the separatrix overlayed
  • GREEK - This function returns the string needed to draw the specified greek character using either the vector graphics font no. 4, or PostScript font 9. If (!d.name eq 'PS') and (!p.font eq 0), then the PostScript font will be used. Otherwise, the vector font will be used.
  • GRIDPLOT - Widget for plotting a grid of data from MDSplus or gadat This is an interactive version of ShotLoop. If at GA, assume that access will be through gadat only. When a plot on the grid is clicked on, it is expanded into a separate window.
  • H5DFROMTEXT - create a H5D file from a text file with columns of data
  • HIGHESTEFITRUN - find highest efit version run (in the MDSplus tree) Checks up to 5, and contigously after that
  • HOURS2TIME - Return time string like 23:59:05 from floating point hour value
  • IDLV4_TO_V5 - Modify an IDL V4.0 (or earlier) procedure such that variables are indexed using square brackets, as allowed (and suggested) within IDL V5.0 and later
  • IJ2RZ - Convert from fast GPI camera pixels at CMOD or NSTX to R & Z
  • IMAGEPROC - Demonstrate a few of IDL's image processing features: Fourier filtering, pixel scaling, pixel distribution (histogram), edge enhancement, dilate & erode, convolution, and zooming.
  • INTERP2D - Perform bilinear 2d interpolation using the IDL intrinsic interpolate procedure
  • INTERP2DFIT - fit irregularly-spaced x, y, & z points by fitting a 2-D surface using SFIT, and, using the returned coefficients, compute new values at other irregularly-spaced locations.
  • INTERPEDGE - Interpolate separatrix in time. From EFIT or LRDfit, find R and Z values of last closed flux surface (separatrix) for a particular NSTX or CMOD shot. Can also return R & Z of limiter interior. Also works for CMOD shots (tree opened elsewhere).
  • INTERPWF - Interpolate MDS signal, or array, to 1 KHz.
  • INT_DEFINED - see if a value is defined and is an integer
  • ISARRAY - Tests if the argument is an array.
  • ISFUNCTION() - Determine whether the IDL program(s) in a file are procedures or functions. Needed because the intrinisc RESOLVE_ROUTINE and ROUTINE_INFO() procedures require the user to know beforehand whether to supply the /IS_FUNCTION or /FUNCTION keywords.
  • ISNUM - Checks whether the input is a number.
  • ISNUMBER - Determine if a text string is a valid number.
  • ISOTIME - Return time in ISO 8601 standard, assuming US East Coast. (handles Daylight Savings time)
  • JD2DATE - Convert a Julian Day number to a date string.
  • JD2YMD - Find year, month, day from julian day number.
  • KEYBRDANIM - Animate frames of plots with keyboard controls. Plot commands can be passed into the routine. By default a vertical dashed red line shows the time. Keyboard controls over animation: 'H': See this Help 'P' or : Toggle Pause 'C': Continue 'F': Faster 'S': Slower 'R' or '>' or : move forward 1 frame 'L' or '<' or : move backward 1 frame 'J' or : Jump forward 10 frames 'B' or : move backward 10 frames 'M': Mouse-click time desired 'Q': to quit
  • LABELEVERYOTHERTICK - Only label every other major tic mark. The format of the numbers is customized.
  • LABELFIT - determine character size to make a label fit in a space
  • LASTMDSSHOT - get the last (current) MDS shot
  • LEAFNAME - Return leaf name from MDSplus pathname(s)
  • LEGEND - Create an annotation legend for a plot.
  • LINESOUT - Write lines out to an X window. Works like xyouts, but uses line #'s (from the top) and /right if you want to right justify text.
  • LINT - Find the intersection of two lines in the XY plane.
  • LINTERP - Linearly interpolate tabulated 1-d data from one grid to a new one.
  • LISTFROMPERL - Called from a Perl Script to list MDSplus data from a Web Page
  • LISTSHOTS - List shot numbers with signal over/under a certain amount
  • LIST_PRINTER_UNIX - LIST available printers from lpstat -a
  • LOADBLOBS - calls many routines used for loading blob tracking info into a database and making plots and output files
  • LOAD_FC - Load summary Waveforms for Phantom Fast Cameras into MDSplus.
  • LOAD_NEBAR - Load Ne-bar Waveform into MDSplus.
  • LOGBOOK_LIST - List info from the NSTX logbook (to a screen or file)
  • LOGBOOK_LIST_PLUS - List info from the NSTX logbook (to a screen or file)
  • LOGBOOK_OPTIONS (COPIED FROM LOGBOOK_OPTIONS) - List info from the NSTX logbook (to a screen or file)
  • LONG64DATE2STR - Return date from a 64-bit longword, like 1112308040, as returned from file_info, in a more conventional format.
  • LONGDATE2STR - Return date from a longword, like 20060218, in a more conventional format
Routines: M
  • MAKEN - Make an array of N values, linear between two given limits.
  • MAKENXY - Make 2-d x and y coordinate arrays of specified dimensions.
  • MATCH - Routine to match values in two vectors.
  • MAXSTRUCT - find the maximum of a structure (ignores structures within the input structure)
  • MDIR - Directory listing of MDSplus data files with wild cards
  • MDSDAT - "replacement" for gadat.pro. Get MDSplus signal data without having to open a tree (much faster, if a tree is specified)
  • MDSDATAVSSHOT - Print single values of MDSplus signals vs. shot number. The value can be the max or min, or at a specific time, including time of Max Ip, Max Neutrons, etc. The shot list may be reduced by certain qualifiers, such as to shots where the max of an arbitrary signal is > a given value. Output can be in a format suitable for importing into Kaleidograph, Excel, etc.
  • MDSDECLAREEVENT - set an MDS event with shot number associated with the event
  • MDSEDITBRANCH - Read a branch of MDSplus values, allow editing of scalar values in a widget and write back out.
  • MDSEVENTWAIT - Widget to Wait for an MDSplus event, or the user clicks the CANCEL button.
  • MDSGETSIG - Get a signal, units and axes values easily from MDSplus
  • MDSLARGESTNODE - find largest node in a tree
  • MDSLIST - Print ASCII file containing data for MDSplus signal(s). The "dimension" of one of the signals (typically time) is in the first column, followed by data values at that time. Output may be in the format suitable for importing into Kaleidograph, Excel, etc.
  • MDSLOADSCALAR - Load MDSplus scalar with one simple call (after opening shot)
  • MDSLOADSIG - Load MDSplus signals with one simple call (after opening shot) Optionally add node and/or tag to a shot tree.
  • MDSMKFILE - Write an ascii file containing time and data for MDSplus signal(s). Time is in the first column, followed by data values at that time. Output may be in the format suitable for importing into Kaleidograph, Excel, etc.
  • MDSNODECHANGES - Print times when the last change was made to an MDSplus node.
  • MDSSCALARS - Print ASCII file containing values of MDSplus scalars(s) for a list of shots.
  • MDSSETEVENT - Generates an MDSplus event
  • MDSSHOTDATE - Print time and date of an NSTX shot.
  • MDSSIGINTERP - call TDI to interpolate signals, but handle expressions in which multiple signals are included. (assumes all same timebase within a given TDI expression)
  • MDSTIME2DBTIME - Convert date & time from MDSplus to database format
  • MDSTREECHANGES - Print times when the last change was made to an MDSplus tree, and who did it.
  • MDSUNITS - return units of an MDS tag, or the time, or time units
  • MDSW - Interactively plot MDS signals with Crosshairs and many options
  • MDSW_NOCH - Plot one MDS signal simply (without Crosshairs)
  • MEDSMOOTH - Median smoothing of a vector, including point near it's ends.
  • MEDSMOOTHEDGE - Median smoothing of an array, including handling edges.
  • MINMAX - print the min and the max of an array
  • MKDATEDIR - Make a directory of the form YYYYMMDD (if it doesnt't exist) and move files there if the files were last modified on that date.
  • MK_BITARRAY - Create an array of 1's & 0's corresponding to input bits set (works for negative numbers, too, unlike similar routines)
  • MK_COLOR - Create color tables with 12 fixed colors at the top. These colors can be referenced by name.
  • MK_FILENAME - File names with system independent symbolic directories.
  • MK_HTML_HELP - Given a list of IDL procedure files (.PRO), VMS text library files (.TLB), or directories that contain such files, this procedure generates a file in the HTML format that contains the documentation for those routines that contain a DOC_LIBRARY style documentation template. The output file is compatible with World Wide Web browsers.
  • MK_JPEG - make a bit-map color jpeg file of an IDL window for (viewable) insertion into MS Word, or Powerpoint documents.
  • MK_MPEG - Write a sequence of images from a 3-D array, or a series of tiff files, as an mpeg movie.
  • MK_PDMENU - make a structure for a pull down menu for CW_PDMENU routine
  • MK_PNG - make a bit-map color png file of an IDL window for (viewable) insertion into MS Word, or Powerpoint documents.
  • MK_SCOPE_GIF - make gif files from scope-like output, using a scope file as input
  • MK_SHOTLIST - Parse an input string for shots into an array of shots
  • MONEVENTS - Widget to monitor occurrence of MDSplus events & optional Shot #, if passed with the event declaration. The time of the event can also be displayed.
  • MONEVENTS VERSION TO RUN IN BATCH MODE. - Widget to monitor occurrence of MDSplus events & optional Shot #, if passed with the event declaration. The time of the event can also be displayed.
  • MONITORJOB - Monitor an IDL job, and restart it if not present
  • MONTHNAMES - Returns a string array of month names.
  • MONTHNUMBER - Returns a month number given a month name.
  • MPCURVEFIT - Perform Levenberg-Marquardt least-squares fit (replaces CURVEFIT)
  • MPEG_FROM_SCREEN - Example of creating a color Mpeg animation with text overlayed. Works on both 8-bit and 24-bit monitors. Can read from files, but those returning 24-bit data will not have the text overlaying option.
  • MPFIT - Perform Levenberg-Marquardt least-squares minimization (MINPACK-1)
  • MPFIT2DFUN - Perform Levenberg-Marquardt least-squares fit to a 2-D IDL function
  • MPFIT2DPEAK - Fit a gaussian, lorentzian or Moffat model to data
  • MPFITELLIPSE - Approximate fit to points forming an ellipse
  • MPFITEXPR - Perform Levenberg-Marquardt least-squares fit to arbitrary expression
  • MPFITFUN - Perform Levenberg-Marquardt least-squares fit to IDL function
  • MPFITPEAK - Fit a gaussian, lorentzian or Moffat model to data
  • MPLOTTITLE - write a plot title with NSTX label and a list of shots on left
  • MPTSCAM - Animate several plots, including MPTS variables
  • MPTSOUT - write a table of MPTS data and errors from the edge along with GPI average
  • MPTSSURFACE - A graphical interface for plotting shaded surfaces of NSTX Multi-point Thomson Scattering data (MPTS) from MDSplus. Summary plots of Ip, D-alpha, Neutral Beam and RF input power, and stored energy (W-mhd from EFIT). Times of NB and RF heating are indicated on the surfaces by darker shading. Different controls are provided to change the viewing angle and other plot parameters. Projection of data maxima vs. radius may be projected on the "back wall". (For critical accuracy of values, especially on the edges, please check with the Thomson diagnosticians personally.)
  • MSG_BELL - Print a message to the IDL session and ring a bell
  • MULTIPLOT - Create multiple plots with shared axes.
  • MVSHOTRANGEDIR - Put files fitting a certain partern into a sub-directory of the form nnnn00s, where nnnn00 represents a shot range, e.g., 114100s whould contain shots 114100-114199.
Routines: N-P
  • NDECIMALS - returns the number of non-zero digits after decimal point. ignores insigificant bits (in principle)
  • NEARESTI - Return index of input array closest to the value of "pt"
  • NEARESTI_ARRAY - Return indices of big input array closest to the values in the little input array.
  • NEXTGOODSHOT - find the next shot that has more than a certain Ip.
  • NICENUMBER - Find a "nice" number close to the given number. Actually, this is for older digitizers, so "rounds" to numbers like 1, 2, 2.5, 5, etc.
  • NNET.PRO - Neural network classifier. This is a standard 3-layer back-propagation net.
  • NODENAME - Return nodename on Linux computer
  • NODESEARCH - Search MDS Plus Trees for a node
  • NONALPHANUM - find position of first character which are not alphanumeric (0-9, a-z, A-Z & _) if none found, returns strlen(input)
  • NONNUMBER - find position of first character which is not a number (0-9). if none found, returns -1.
  • NONVARPOS - find position of characters which are not valid for MDSplus names
  • NSEARCH - Search MDS Plus Trees for a node
  • NSTXCORNER - write NSTX in upper left-hand corner of a plot
  • NSTXLOGO - draw NSTX logo in upper left-hand corner of a plot
  • NSTXLOGS_GET - Get info on NSTX shots from the ENTRIES table in the NSTXLOGS database
  • NSTX_XP - return the NSTX XP for an NSTX shot
  • NUMBERPOS - find position of first character which is a number if none found, returns strlen(input)
  • NUMLINES - Return the number of lines in a file
  • NWORDS - Return the number of words in the given text string or string array.
  • ONALPHA - Tests for running on an alpha computer. You can specify the the desired Alpha computer. Optionally beeps, and prints a message and returns an error if not on the desired Alpha computer.
  • ONCOMPUTER - Return 1 if on the specified computer. First uses enironmental variable HOST has the computer name.
  • ONESURF -
  • OPLOTDASH - Overplot a variety of dashed lines, even if terminal emulator doesn't for different linestyles
  • OPLOTSEP - Overplot separatrix and limiter onto grid with GPI images already drawn. Works with 2010 NSTX shots.
  • OS_FAMILY - Return the current operating system as in !VERSION.OS_FAMILY
  • OVPLOT - Just like oplot, except it calls vcomp to "visually compress" an array for faster delivery of graphs at the expense of CPU time. All data spikes should be retained.
  • PADSTRINGS - pad column widths so each text field takes up same amount of space. Remove any tabs.
  • PARCHECK - To check that a procedure has been called with the minimum of allowed number of parameters.
  • PDSURFACE - This routine provides a graphical interface to the SURFACE and SHADE_SurfRangeACE commands. Different controls are provided to change the viewing angle and other plot parameters. The command used to generate the resulting surface plot is shown in a text window.
  • PECOMP - Interactively compare PCS and EFIT signals for a shot
  • PICKCOLORNAME - The purpose of this program is to provide a blocking or modal widget interface for selecting a color "name". The program uses colors familiar to the FSC_COLOR program, and is often used to select a color name for passing to FSC_COLOR.
  • PICKPLOT - This function allows the user to interactively pick a plot file. It will be plotted in a separate window. Postscript files (with a "ps" extenstion will go to a gv window, and others will be plotted with xv.
  • PINGPLOT - plot ping times to various computers (from sunfire13, probably).
  • PLASMAEDGE - From EFIT or LRDfit, find R and Z values of last closed flux surface (separatrix) for a particular NSTX shot and time. Optionally save to a file.Also will plot limiters and last closed flux surface with axes. Can also return R & Z of limiter interior.
  • PLOT0CHECK - Plots blank axis if no data in !x.range or !y.range
  • PLOT1SIG - plot 1 NSTX signal for many shots stacked vertically
  • PLOT3_MPTS - Make 3 Multi-point Thomson Scattering Plots: 2-D plots of electron Temp and Density and a time history.
  • PLOT7 - plot 7 (or any number) NSTX signals on the same x-axis
  • PLOTBLOBVYVSBIN - plot a series of vertical velocity traces vs. time from the blob database. Each trace will be from a horizontal range
  • PLOTCOLORFILL - Plots colorful bar charts
  • PLOTDASH - Plot a variety of dashed lines, even if terminal emulator doesn't for different linestyles
  • PLOTHIST - Plot the histogram of an array with the corresponding abcissa.
  • PLOTNORMAL - plot a normal curve on top of a histogram of data
  • PLOTNSHOTS - make scope-like plots with overlays from multiple shots.
  • PLOTNSIGS - make scope-like plots with overlays from multiple signals. this is the version of plotnshots that overlays different signals on the same axes
  • PLOTSCOPE - make scope-like plots, optionally with overlays from multiple shots.
  • PLOTSIG1VSSIG2 - plot 1 MDSplus signal vs. another
  • PLOTSUMMARY - Plot vs. time a summary of a shot (Ip, D-alpha, Pinj) in a small frame
  • PLOTSUMMARY4 - Plot vs. time a summary of a shot (Ip, D-alpha, Pinj, Wmhd) in a small frame
  • PLOTSYM - Define useful plotting symbols not in the standard !PSYM definitions.
  • PLOTTSFONT0 - This procedure will plot the fitted profiles of electron temperature,density, and presssure from the NSTX Multi-Pulse Thomson Scattering (MPTS) diagnostic.
  • PLOTTSWALL - This procedure will plot the fitted profiles of electron temperature and density from the NSTX Multi-Pulse Thomson Scattering (MPTS) diagnostic.
  • POLY_SMOOTH - Reduce noise in 1-D data (e.g. time-series, spectrum) but retain dynamic range of variations in the data by applying a least squares smoothing polynomial filter, also called the Savitzky-Golay smoothing filter. The low-pass filter coefficients are computed by effectively least-squares fitting a polynomial in moving window, centered on each data point, so the new value will be the zero-th coefficient of the polynomial. Approximate first derivates of the data can be computed by using first degree coefficient of each polynomial, and so on. The filter coefficients for a specified polynomial degree and window width are computed independent of any data, and stored in a common block. The filter is then convolved with the data array to result in smoothed data with reduced noise, but retaining higher order variations (better than averaging).
  • POPULATEBLOBS - Read a file created from fcplayer.pro with columns of blob characteristics vs time. compute frame-to-frame statistics like x & y velocity and duration, based on "reasonableness" factors, like maximum movement per frame allowed. Velocities are recomputed after parent-child relationships determined, so the velocity tracks can be smoothed. (loadblobs.pro can be used for all the steps needed to populate the database.)
  • PPPL_PRINTERS - return an array of strings of printer descriptions at PPPL
  • PRIME - Return an array with the specified number of prime numbers.
  • PRINTSCOPE - print scope-like output, using a scope file as input
  • PRINT_PATH - prints component directories of an IDL path string.
  • PROGRESSW - show progress bar until done, or the user clicks the STOP button.
  • PRONAME - This function retrieves the name of the currently active procedure.
  • PSF_GAUSSIAN - Create a 1-d, 2-d, or 3-d Gaussian with specified FWHM, center
  • PSIINTERP - From EFIT or LRDfit, get psi of a flux surface contour at a particular shot and time and R & Z. Then, find the R position of that same psi value at Z=0.
  • PSWINDOW - This function is used to calculate the size of a PostScript window that has the same aspect ratio (ratio of height to width) as the current display graphics window. It creates the largest possible PostScript output window with the desired aspect ratio. This assures that graphics output looks similar, if not identical, to PostScript output.
  • PS_FORM - This function displays a form the user can interactively manipulate to configure the PostScript device driver (PS) setup. The function returns a structure of keywords that can be sent directly to the DEVICE command via its _EXTRA keyword
  • PTR_FREE_RECURSIVELY - This routine when passed a pointer will free up any memory associated with that pointer. This includes structures, which could contain pointers, or other structures which could in turn contain more pointers. It also destroys objects it comes across. It can also cope with null pointers that are found on its travels.
  • PWD - print the current working directory
Routines: Q-S
  • QUICKDESPIKE - Quick way (execution-wise) to remove single-element spikes.
  • READCOL - Read a free-format ASCII data file with columns of data into IDL variables. Lines of data not meeting the specified format (e.g. comments) are ignored. Columns may be separated by commas or spaces. Use READFMT to read a fixed-format ASCII file. Use RDFLOAT for much faster I/O (but less flexibility).
  • READ_ARRAY - Read a numeric array (1-D) from a text file
  • READ_FLOATS - Read a list from a text file and return a floating-point array
  • READ_GENERIC - read an image from a variety of types of files
  • READ_LIST - Read a list from a text file and return a string array. Will ignore lines beginning with a semicolon, but will will return blank lines.
  • READ_NUMBERS - Read a numeric array (1-D) from a text file
  • READ_QUOTED - Reads a file and returns anything between first two quotes.
  • READ_TABLE - Reads a table file, like from a spreadsheet.
  • REMCHAR - Remove all appearances of character (char) from string (st)
  • REMOVE - Contract a vector or up to 7 vectors by removing specified elements
  • REM_ELEM - return subscripts of input array remaining after elements in a second array are removed
  • REPCHR - Replace all occurrences of one character with another in a text string.
  • REPSTR - Replace all occurences of one substring by another.
  • RESAMPLE - Resample a vector with triangular smoothing.
  • RESETPLT - This procedure will reset all or a selection of the system plot variables to their initial values
  • RIGHTYAXISLIMITS - Widget to set some Y Axis values for the right-hand axis in mdsw
  • RIGHT_ASPECT - Allow contour (or x-y) plots to have the aspect ratio of the data
  • RMFILESBYDATE - Remove files not modified since a certain date
  • ROUNDEDAXISLIMITS - Find "nice" axis values, like IDL plot routine does.
  • RUNTOT - compute a running total of an array by calling an external routine (this is inefficient in normal IDL)
  • SAMETYPE - make two variables the same numerical type
  • SAVEBLOBS - Save blob tracks, just like FCplayer, but easier and faster. Usually called from LoadBlobs.pro.
  • SCREENDUMP - Postscript file from an IDL window, whether 8- or 24-bit graphics
  • SCREEN_TITLE - write a plot title with shot date and time and NSTX label
  • SDEV - Returns standard deviation of an array.
  • SEARCHMDSNODES - Search MDSplus nodes for string contents
  • SEARCHTEXTNODES - Search MDS Plus Trees for Textual Data
  • SELECT_FONT - Select a Unix hardware font for IDL graphics.
  • SEPVSTIME - Get the separtrix (last closed flux surface) R & Z values vs. time. from EFIT or LRDfit for a particular NSTX or CMOD shot. Can also return R & Z of limiter interior.
  • SETMDSSHOTEVENT - set an MDS event with shot number associated with the event
  • SETPMULTI - partition the screen into different graphs if 7 or less plot boxes, then 1 column of plots if more than 7 plot boxes, then 2 columns of plots
  • SETUP_PS - open postscript file and set system variables for postscript device
  • SETUP_TEK - Set system variables for tektronix device. Use to direct plots to the Tek window in Versaterm, or to XTC.
  • SETUP_XPC - Use to direct postscript plots to the X-windows Plot Controller (XPC).
  • SHADE_SURFRANGE - make SHADE_SURF plots with x & y ranges (correctly)
  • SHOCKVSTIME - Stack plots of a line from the center of .cin file image at various times See http://nstx.pppl.gov/nstx/Software/Help/shockwaves.html for sample images. After plotting, ou will be prompted for times for which calculate the speed of the leading edge of the shockwave.
  • SHOTATTIME - find the NSTX shot number closest to a certain time
  • SHOTDURATION - Return the Shot Duration in seconds
  • SHOTSOFFILES - Return MDSplus shots (based on creation time) of files
  • SHOW3M - Show a 2D array three ways in a display that combines SURFACE, CONTOUR, and an image (color/gray scale pixels).
  • SHOWBITS - Given a byte or integer, return a vector of 8 or 16 values which are the binary representation of the value.
  • SIGN - Gives the sign of X, i.e. 1 for positive, -1 for negative, 0 for 0.
  • SIMP - Does Simpson numerical integration on an array of y values.
  • SIZE_STRUCT - Obtain the size in bytes of an IDL structure definition.
  • SMOOTH2 - Do multiple smoothing. Gives near Gaussian smoothing.
  • SMOOTHEDGE - smooth a 2-D array using /edge_truncate, but then smooth the remaining rows and columns within width/2 of the edge even more.
  • SMOOTHTRUECOLOR - smooth a true color array 1 component at a time.
  • SPAWNPRINT - Spawn command on VMS or Unix to print a Postscript file
  • SPEC_DIR - Provide a complete file specification by appending a default disk or directory if necessary.
  • SQLFIXSPECIALCHARS - Encapsulate special characters so they can work in SQL text insertions The special characters are '%', '^', '$', '*', '@', '#', '(', '!', ')', '?'
  • STACKPLOT - An example of X-window widgets for plotting some GA data
  • STRARRAYSAME - Returns TRUE if two strings, or string arrays, are identical, else FALSE
  • STRCONCAT - Concatenate a string array into single string, or a matrix of strings into a string array.
  • STREP - Edit a string by position. Precede, Follow, Replace, Delete.
  • STRESS - String edit by sub-string. Precede, Follow, Delete, Replace.
  • STRETCHSTEPS - stretch parts of the color tables into steps.
  • STRMATCH - check for string match to a wild card specification
  • STRNUMBER - Function to determine if a string is a valid numeric value.
  • STRPARSE - Parses the string LINE using the characters in DELIM as delimiters. Puts individual pieces into consecutive locations in LIST.
  • STRUCEDIT - Widget to edit a structure of scalars from an IDL save file. The names of the input fields are the names of the structure elements.
  • STRWHERE - a "where" operator for strings matching a set of string wild cards
  • SURFRANGE - make SURF plots with x & y ranges (correctly)
  • SURF_CONTOUR - The purpose of this program is to demonstrate how to create a shaded surface and coutour plot in the same object graphics window. The contour plot should be able to be translated independently of the surface.
  • SYB_ENTRY - : Display/modify/create entries in the NSTX logbook database.
Routines: T-Z
  • TABINV - To find the effective index of a function value in an ordered vector.
  • TAGRANKOF - Return a list of MDSplus signals with a certain rank (that contain data)
  • TAGSEARCH - Search MDS Plus Trees for a tag
  • TAG_EXIST - To test whether a tag name exists in a structure.
  • TDIS - Search MDS Plus Trees for TDI DATA
  • TEMPLATE - Provide a template for IDL routines to be used by others
  • TESTCMD - test batch execution
  • TEXTLINES - Form lines of text for outputing (say, in a table form). If formats are not input, then guess about good formatting for variables of different types.
  • TH_IMAGE_CONT - Plot contours of Images with both contour lines and colors
  • TIME2SEC - Return times in seconds since Ja. 1, 1970
  • TIMESOFSHOTS - return dates and times, like 12:26PM, of NSTX shot
  • TOIDLTIME - Convert a date string to IDL time (output from SYSTIME(1), i.e., seconds since 1/1/1970
  • TOTSTRUCT - find the total of numerical values in a structure (handles structures within the input structure)
  • TREE_EXISTS - Return a true if an MDSplus tree exists for a given shot number
  • TRIMTAGNAMES - Trim tree info from an MDSplus tag name
  • TRISMOOTH - Triangular smoothing of a vector, including points near the ends.
  • TRUNS_GET - List info (in a database) on NSTX TRANSP runs (to a screen or file)
  • TVIMAGE - This purpose of TVIMAGE is to create a device-independent TV command with the power and functionality to be used in sophisticated graphics programs, as well as at the IDL command line. It can be thought of as a "smart" TV command.
  • TVIMAGE_CONGRID - Shrink or expand the size of an array by an arbitrary amount. This IDL procedure simulates the action of the VAX/VMS CONGRID/CONGRIDI function. This function is similar to "REBIN" in that it can resize a one, two, or three dimensional array. "REBIN", however, requires that the new array size must be an integer multiple of the original size. CONGRID will resize an array to any arbitrary size (REBIN is somewhat faster, however). REBIN averages multiple points when shrinking an array, while CONGRID just resamples the array.
  • TVRD_24 - This function reads a 24-bit image from a 24-bit or 8-bit display device, returning a pixel-interleaved byte array of type BYTARR(3, xsize, ysize), where xsize and ysize are the dimensions of the current graphics device.
  • TV_24 - This procedure displays a 24-bit image on the current graphics device, constructing a custom colour table if the device supports less than 257 colours.
  • TWOSCOMPLEMENT - Taking the Two's Complement of an integer
  • TWOSURF -
  • TYPE - Finds the type class of a variable.
  • UNSETUP_PS - close a postscript file (opened by setup_ps) and re-set system variables for previous device.
  • UNSETUP_TEK - undo system variables from setup_tek call.
  • UNSETUP_XPC - Close plots file opened with setup_xpc, and send to the X-windows Plot Controller (XPC) by figuring out next file in the sequence it is looking for.
  • USESIGMATH - parse an MDSplus TDI string, substituting Brian Nelson's Signal Math TDI routines for +,-,* and /, so timebases get adjusted, if necessary.
  • USINGXWINDOWS - Prompt user for switching Plot device to X.
  • VAXIS - shell around AXIS procedure that sees if number of minor y tick marks need to be reduced, and if the number of y tick labels need to be cut in half.
  • VCOMP - "visually compress" (resample) an array for faster plotting of lines. All data spikes should be retained. Will return y points for each x -- the min & max values. IF nFinal GE N_ELEMENTS(inData)*2 will just return inputs
  • VECTORSURF - Shows a fancy way to plot irregulary spaced data from x,y & z vectors.
  • VGDS_TITLE - write a plot title with shot date and time and NSTX label
  • VIEWTEXT - View a string, or string array, of text in a scrollable text widget.
  • VPLOT - Just like plot, except it calls vcomp to "visually compress" an array for faster delivery of graphs at the expense of CPU time. All data spikes should be retained.
  • VT100 - Define the TEK and VT100 commands for use in IDL. Especially useful for MAC users who use Versaterm or users who otherwise want to do Tektronix plots while connected to their UNIX platform of choice.
  • WATCHEVENTS - Widget to monitor occurrence of MDSplus events. If all events do not happen before next occurance of first event, send e-mail.
  • WEBDISPLAY - Display web pages from IDL for Help, or other purposes.
  • WEBPLOTSUM - Plot vs. time a summary of a shot in a small frame Ip, D-alpha, stored energy, NB & RF power are plotted.
  • WEEKDAY - Compute weekday given year, month, day.
  • WFMDSSHOTEVENT - Wait for an MDSplus event, with shot number coming in
  • WHERE_ARR - Return the subscripts where a given set of values equal the values in the input array. It is basically an expansion of IDL where in which the condition to match can be an array.
  • WHICH - Like Unix which, prints the path of an IDL routine.
  • WHICHCOMPUTER - Return name of Linux computer you are running on. First uses enironmental variable HOST, then uname -n
  • WHITEOUT - white-out a portion of the color table -- defaults to the 5 lowest locs.
  • WIDGET_BOTTOM - Move a widget to the bottom of the screen or base widget.
  • WITHRANKOF - Return a list of MDSplus signals with a certain rank (that contain data)
  • WORDARRAY - Convert text string or string array to a 1-d array of words.
  • WRITECAMAVG - For camera files that exist for a particular shot, check for \CAMERAS::TOP.FC_n.RAWDATA:FRAMES_MAX and \CAMERAS::TOP.FC_n.RAWDATA:FRAMES_AVG (tags \PH7_n_FMAX and \PH7_n_FAVG) and write them if need be.
  • WRITELOG - Provide a writeLog for IDL routines to be used by others
  • WRITE_GENERIC - write an image to the appropriate type of file, based on file extension
  • WRITE_IN_BOX - Writes a text message within a box in a graphics window.
  • WRITE_MPEG - Write a sequence of images as an mpeg movie
  • WRITE_TEXT - Write data to a text file
  • XANIMJPEG - animate jpegs (or other image files) in a VCR-like widget, which can make an MPEG Movie.
  • XAXISW - Widget to set some X Axis values via the system variable !X
  • XCDEDIT - A table editor modified from XVAREDIT for ppcc c.d file.
  • XCOLORS - The purpose of this routine is to interactively change color tables in a manner similar to XLOADCT. No common blocks are used so multiple copies of XCOLORS can be on the display at the same time (if each has a different TITLE). XCOLORS has the ability to notify a widget event handler, an object method, or an IDL procedure if and when a new color table has been loaded. Brewer color tables can also be accessed from this program, if the file fsc_brewer.tbl can be found somewhere in your IDL path.
  • XEASYANIM - animate 3-D array and optionally make MPEG Movie
  • XFONT_4 - XFONT_4 is a modal widget for selecting and viewing an X Windows font.
  • XIA - Display an animated sequence of images using X-windows Pixmaps. The speed and direction of the display can be adjusted using the widget interface.
  • XPC - This function allows to interactively pick a plot file. It will be plotted in a separate gv window.
  • XSECTIONW - Widget to display an image and x-y plots of cross-sections. Color palettes may be loaded, adjusted and saved. Images can be saved as 'jpg','tif','tif','bmp','jpeg,'png', 'ppm', 'pgm', or 'gif'
  • XVAREDIT - This routine provides an editor for any IDL variable.
  • XY2RMRSEP - transform pixel locations (say, from a Fast 2-D Camera image) to distance from the Separatrix and distance along field line parallel to flux lines
  • XYANIM - Animate a series of X-Y plots. Makes an animation in a XINTERANIMATE window. An MPEG file can then be saved, or the movie can be played with VCR-like controls
  • X_COMPLAIN - Pops up a one line complaint.
  • YAXISW - Widget to set some Y Axis values via the system variable !Y
  • YMD2DATE - Convert from year, month, day numbers to date string.
  • YMD2JD - From Year, Month, and Day compute Julian Day number.
  • YRMONTHDAY - Return a string of YYYYMMDD from a date string.
  • ZAXISW - Widget to set some Z Axis values via the system variable !Y