This page was created by the IDL library routine
mk_html_help2
.
Last modified: Thu Oct 24 15:35:45 2019.
NAME: bits2 PURPOSE: Given a byte or integer, return a vector of 8 or 16 values which are the binary representation of the value. INPUT: invalue - The byte or integer value to check OUTPUT: bitarr - The 8-element array with values set if the bit is set HISTORY: Written 19-dec-1996, RAS after BITS by M.Morrison but correcting negative integer problems and returning 32 byte arrays for longwords regardless of maximum value 17-feb-2001 loop index long. 9-apr-2009, jmm, replaced datatype call with size and case statement hacked from bitplot.pro
(See general/misc/SSW/bits2.pro)
NAME: BSORT PURPOSE: Function to sort data into ascending order, like a simple bubble sort. EXPLANATION: Original subscript order is maintained when values are equal (FIFO). (This differs from the IDL SORT routine alone, which may rearrange order for equal values) NOTE: this routine is originally from the NASA GSFC IDL Astro Library. http://idlastro.gsfc.nasa.gov/ CALLING SEQUENCE: result = bsort( array, [ asort, /INFO, /REVERSE ] ) INPUT: Array - array to be sorted OUTPUT: result - sort subscripts are returned as function value OPTIONAL OUTPUT: Asort - sorted array OPTIONAL KEYWORD INPUTS: /REVERSE - if this keyword is set, and non-zero, then data is sorted in descending order instead of ascending order. /INFO = optional keyword to cause brief message about # equal values. HISTORY written by F. Varosi Oct.90: uses WHERE to find equal clumps, instead of looping with IF ( EQ ). compatible with string arrays, test for degenerate array 20-MAY-1991 JKF/ACC via T AKE- return indexes if the array to be sorted has all equal values. Aug - 91 Added REVERSE keyword W. Landsman Always return type LONG W. Landsman August 1994 Converted to IDL V5.0 W. Landsman September 1997 Added to TDAS P.Cruce Jun 2008 $LastChangedBy: pcruce $ $LastChangedDate: 2008-07-01 14:43:50 -0700 (Tue, 01 Jul 2008) $ $LastChangedRevision: 3230 $ $URL: svn+ssh://thmsvn@ambrosia.ssl.berkeley.edu/repos/spdsoft/tags/spedas_3_2/general/misc/SSW/bsort.pro $
(See general/misc/SSW/bsort.pro)
NAME: dir_str_replace PURPOSE: take all of the files in a given directory and replace strings works recursively. Also renames files CALLING SEQUENCE: dir_str_replace, directory, string, replacement, filter=filter INPUT: directory = a directory name, scalar string = a string to replace, can be vector replacement = the replacement string, can be a vector the same size as the input string no_svn = if set, do the string replacement to the output filename, but don't mess with svn. move_it = if set, use svn mv, and not svn cp HISTORY: 5-Jan-2010, jmm, jimm@ssl.berkeley.edu
(See general/misc/SSW/dir_str_replace.pro)
PROJECT: General Purpose SOHO - CDS/SUMER THEMIS NAME: DPRINT PURPOSE: Diagnostic PRINT (activated only when DEBUG reaches DLEVEL) EXPLANATION: This routine acts similarly to the PRINT command, except that it is activated only when the common block variable DEBUG is set to be equal to or greater than the debugging level set by DLEVEL (default to 0). It is useful for debugging. If DLEVEL is not provided it uses a persistent (common block) value set with the keyword SETDEBUG. CALLING SEQUENCE (typically written into code): DPRINT, v1 [,v2 [,v3...]]] [,format=format] [,dlevel=dlevel] [,verbose=verbose] The values of v1,v2,v3 will only be printed if verbose >= dlevel CALLING SEQUENCE to change options (typically typed from IDL command line - Don't put these lines in code!!!) DPRINT, setdebug=2 ; define persistent debug level (2 is typical level) DPRINT, SETVERBOSE=2 ; Same as above DPRINT, print_trace=[0,1,2,3, or 4] ; Display program trace info in subsequent calls to DPRINT DPRINT, /print_dlevel ; Display current dlevel and verbose settings. DPRINT, /print_dtime ; Display delta time between DPRINT statements. INPUTS: V1, V2, ... - List of variables to be printed out (20 max). OPTIONAL INPUTS: None. OUTPUTS: All input variables are printed out on the screen (or the given unit) OPTIONAL Keywords: FORMAT - Output format to be used UNIT - Output unit through which the variables are printed. If missing, the standard output (i.e., your terminal) is used. KEYWORD PARAMETERS: DLEVEL = DLEVEL - An integer indicating the debugging level; defaults to 0 VERBOSE = VERBOSE - An integer indicating current verbosity level, If verbose is set it will override the current value of SETVERBOSE, for the specific call of dprint in which it is set. SETVERBOSE=value - Set debug level to value SETDEBUG=value - Same as SETVERBOSE GETDEBUG=named variable - Get current debug level DWAIT = NSECONDS ; provides an additional constraint on printing. It will only print if more than NSECONDS has elapsed since last dprint. CHECK_EVENTS= [0,1] - If set then WIDGET events are captured and processed within DPRINT BREAK_DETECTED= named variable - Used to break out of user routines (see DPRINTTOOL) COMMON BLOCKS: DPRINT_COM. RESTRICTIONS: - Changed see SETDEBUG above Can print out a maximum of 20 variables (depending on how many is listed in the code) SIDE EFFECTS: Generally None. CATEGORY: Utility, miscellaneous PREVIOUS HISTORY: Written March 18, 1995, Liyun Wang, GSFC/ARC MODIFICATION HISTORY: Version 1, Liyun Wang, GSFC/ARC, March 18, 1995 Version 2, Zarro, SM&A, 30 November 1998 - added error checking Version 3, Zarro, (EIT/GSFC), 23 Aug 2000 - removed DATATYPE calls Version 4, Larson (2007) stripped out calls to "execute" so that it can be called from IDL VM Fixed bug that allows format keyword to be used. Added SETDEBUG keyword and GETDEBUG keyword Added DWAIT keyword Added PRINT_TRACE,PRINT_DTIME,PRINT_DLEVEL Added Widget options $LastChangedBy: davin-mac $ $LastChangedDate: 2018-05-13 16:17:36 -0700 (Sun, 13 May 2018) $ $LastChangedRevision: 25214 $ $URL: svn+ssh://thmsvn@ambrosia.ssl.berkeley.edu/repos/spdsoft/tags/spedas_3_2/general/misc/SSW/dprint.pro $
(See general/misc/SSW/dprint.pro)
NAME: file_str_replace PURPOSE: read a file, find a substring and replace it in an SVN working copy using str_replace function. Only do this for files with '.txt', '.pro' extensions. CALLING SEQUENCE: file_str_replace, file, string, replacement, out_filename=out_filename INPUT: file = a filename, note that the file will be rewritten unless the out_filename is set string = a string to replace, can be a vector replacement = the replacement string, can be a vector, with the same number of elements as the other string. KEYWORDS: out_filename = if set, then write to this file if not set, svn cp the original file to the output file prior to replacement. In this case the string in will be replaced in the filename by the new string, if present. no_svn = if set, do the string replacement to the output filename, but don't mess with svn. move_it = if set, use svn mv, and not svn cp HISTORY: 1-aug-2013, jmm, jimm@ssl.berkeley.edu
(See general/misc/SSW/file_str_replace.pro)
function: in_set purpose: simple boolean function to check whether an element is a member of a set(array). It is mainly syntactic sugar for a frequently repeated operation. inputs: ele: The element to be searched for set: The set to be searched output: 1=yes, 0=no $LastChangedBy: pcruce $ $LastChangedDate: 2008-11-10 12:47:28 -0800 (Mon, 10 Nov 2008) $ $LastChangedRevision: 3952 $ $URL: svn+ssh://thmsvn@ambrosia.ssl.berkeley.edu/repos/spdsoft/tags/spedas_3_2/general/misc/SSW/in_set.pro $
(See general/misc/SSW/in_set.pro)
Name: is_array Purpose: determines if input is an array Inputs: input: the input can of any type Outputs: 1:yes 0:no $LastChangedBy: pcruce $ $LastChangedDate: 2008-09-15 16:21:35 -0700 (Mon, 15 Sep 2008) $ $LastChangedRevision: 3498 $ $URL: svn+ssh://thmsvn@ambrosia.ssl.berkeley.edu/repos/spdsoft/tags/spedas_3_2/general/misc/SSW/is_array.pro $
(See general/misc/SSW/is_array.pro)
Name: is_num Purpose: determines if input is a number Inputs: num: the number can be single element or array Outputs: 1:yes 0:no Keywords: unsigned: set this if you only want to know if it is unsigned signed: set this if you only want to know if it is signed real: set this if you want to know only if it is real complex: set this if want to know only if it is complex floating: set this if you want to know if it is floating point integer: set this is you want to know if it is not floating point single: set this if you want to know if it is single precision floating point double: set this if you want to know if it is double precision floating point NOTES: if you can think of other classes of number worth testing that involve more than one idl type feel free to add if you specify and impossible numerical class like: b = is_num(1,/signed,/unsigned) -or- b = is_num(1,/unsigned,/complex) it will return 0 LAST MODIFICATION: 02/11/01 $LastChangedBy: davin-win $ $LastChangedDate: 2007-10-22 07:26:16 -0700 (Mon, 22 Oct 2007) $ $LastChangedRevision: 1758 $ $URL: svn+ssh://thmsvn@ambrosia.ssl.berkeley.edu/repos/ssl_general/trunk/tplot/tplot.pro $
(See general/misc/SSW/is_num.pro)
Project : HESSI Name : IS_STRING Purpose : return true is input is a non-blank string Category : string utility Syntax : IDL> a=is_string(input) Inputs : INPUT_STR = input variable to check Outputs : 0/1 if blank/nonblank Keywords : return true (1), even if string is blank Opt. Outputs: NONBLANK = noblank copies of input (if input is array, then nonblanks are filtered out) History : 17-Nov-1999, Zarro (SM&A/GSFC) 5-Feb-2003, Zarro (EER/GSFC) - added /BLANK Contact : dzarro@solar.stanford.edu
(See general/misc/SSW/is_string.pro)
Project : HESSI Name : is_struct Purpose : returns, 1/0 if valid/invalid input structure Category : Structure handling Syntax : IDL> output=is_struct(input) Inputs : INPUT = input structure array Outputs : OUTPUT = 1/0 Written : Zarro (EITI/GSFC), 17 Sept 2001 Contact : dzarro@solar.stanford.edu
(See general/misc/SSW/is_struct.pro)
function: Logical_xor Purpose: IDL has logical_and, and logical_or, but not logical_xor This routine add this capability $LastChangedBy: pcruce $ $LastChangedDate: 2009-06-12 11:33:39 -0700 (Fri, 12 Jun 2009) $ $LastChangedRevision: 6178 $ $URL: svn+ssh://thmsvn@ambrosia.ssl.berkeley.edu/repos/spdsoft/tags/spedas_3_2/general/misc/SSW/logical_xor.pro $
(See general/misc/SSW/logical_xor.pro)
NAME: ssl_newline PURPOSE: Returns a cross-platform newline character. Specifically, used in the dialog_message boxes, which tend to print junk characters if character 13 is used on non-windows platforms CALLING SEQUENCE: newline = ssl_newline() string = line1 + ssl_newline() + line2 INPUT: none OUTPUT: Newline character HISTORY: $LastChangedBy: aaflores $ $LastChangedDate: 2013-10-28 12:44:04 -0700 (Mon, 28 Oct 2013) $ $LastChangedRevision: 13414 $ $URL: svn+ssh://thmsvn@ambrosia.ssl.berkeley.edu/repos/spdsoft/tags/spedas_3_2/general/misc/SSW/ssl_newline.pro $
(See general/misc/SSW/ssl_newline.pro)
NAME: sswhere_arr CALLING SEQUENCE: ss=sswhere_arr(arr1, arr2) PURPOSE: gives the subscripts in the array arr1 that are for elements of arr2. INPUT: arr1, arr2 = two arrays OUTPUT: ss = the subscripts of arr1 that are also in arr2 KEYWORD: notequal = if set, return the array elements of arr1 that are not in arr2 HISTORY Spring '92 JMcT Added notequal, extra, jun 2007, jmm Testing SVN, 20-jan-2009, jmm
(See general/misc/SSW/sswhere_arr.pro)
Name: ssw_str_replace Purpose: replace all occurences of a substring with a replacement if no replacement string is specified, a NULL is inserted Input Parameters: source - source string (vector ok) insub - target string for replace outsub - replacement string - default is NULL String (per 2001 mod) (pre 2001 default was a BLANK) Calling Example: new=ssw_str_replace(strings,'old','new') ; new=ssw_str_replace(strings,'asdfa,' ') ; replace 'asdfa' with ' ' new=ssw_str_replace(strings,'x','') ; remove 'x' (-> null) new=ssw_str_replace(strings,'x') ; same (default=NULL) History: slf, 11/19/91 slf, 19-mar-93 ; optimize case where insub and outsub ; are each 1 character in length mdm, 21-Jul-97 ; patch to handle big arrays fz, 12-May-98 ; change loop variable to long Zarro (EITI/GSFC), 17-Mar-01, used STRPOS instead of WHERE when checking for delimiters 26-Jul-2005 - S.L.Freeland - DOCUMENTATION ONLY changed Documented default delimiter from blank to null since the CODE default was changed in the 2001 modification Zarro (L-3Com/GSFC), 23-Oct-05; protect against insub/outsub coming in as vectors Zarro (ADNET), 30-Jan-09; added additional checks for insub/outsub coming in as vectors Zarro (ADNET), 11-June-10, increased string limit to 200000 jmm, 23-sep-2013, renamed to avoid name conflict with ssl_general str_replace.pro, replaced str2arr and arr2str with strsplit, strjoin.
(See general/misc/SSW/ssw_str_replace.pro)
Project : SOHO - CDS Name : TAG_EXIST() Purpose : To test whether a tag name exists in a structure. Explanation : Routine obtains a list of tagnames and tests whether the requested one exists or not. The search is recursive so if any tag names in the structure are themselves structures the search drops down to that level. (However, see the keyword TOP_LEVEL). Use : IDL> status = tag_exist(str, tag) Inputs : str - structure variable to search tag - tag name to search for Opt. Inputs : None Outputs : Function returns 1 if tag name exists or 0 if it does not. Opt. Outputs: None Keywords : INDEX = Index of matching tag TOP_LEVEL = If set, then only the top level of the structure is searched. RECURSE = set to recurse on nested structures Category : Util, structure Written : C D Pike, RAL, 18-May-94 Modified : Version 1.1, D Zarro, ARC/GSFC, 27-Jan-95 Passed out index of matching tag Version 2, William Thompson, GSFC, 6 March 1996 Added keyword TOP_LEVEL Version 2.1, Zarro, GSFC, 1 August 1996 Added call to help Version 3, Zarro, EIT/GSFC, 3 June 2000 added check for input array structure Version 4, Zarro, EIT/GSFC, 23 Aug 2000 removed calls to DATATYPE Version 5, Zarro, EIT/GSFC, 29 Sept 2000 added /quiet Version 6, Zarro (EER/GSC), 22 Dec 2002 made recursion NOT the default Removed datatype calls, jmm, 4-jun-2007
(See general/misc/SSW/tag_exist.pro)
NAME: UNDEFINE PURPOSE: The purpose of this program is to delete or undefine an IDL program variable from within an IDL program or at the IDL command line. It is a more powerful DELVAR. AUTHOR: FANNING SOFTWARE CONSULTING David Fanning, Ph.D. 1642 Sheely Drive Fort Collins, CO 80526 USA Phone: 970-221-0438 E-mail: davidf@dfanning.com Coyote's Guide to IDL Programming: http://www.dfanning.com CATEGORY: Utilities. CALLING SEQUENCE: UNDEFINE, variable REQUIRED INPUTS: variable: The variable to be deleted. Up to 10 variables may be specified as arguments. SIDE EFFECTS: The variable no longer exists. EXAMPLE: To delete the variable "info", type: IDL> Undefine, info MODIFICATION HISTORY: Written by David Fanning, 8 June 97, from an original program given to me by Andrew Cool, DSTO, Adelaide, Australia. Simplified program so you can pass it an undefined variable. :-) 17 May 2000. DWF Simplified it even more by removing the unnecessary SIZE function. 28 June 2002. DWF. Added capability to delete up to 10 variables at suggestion of Craig Markwardt. 10 Jan 2008. DWF.
(See general/misc/SSW/undefine.pro)
Project : Solar-B Name : widget_valid Purpose : check if variable is a valid widget id Category : utility widgets Syntax : IDL> s=widget_valid(id) Inputs : ID = id to check Outputs : 1/0 if it is or isn't Keywords : None History : 12-Jan-2006, Zarro (L-3Com/GSFC) - written Contact : DZARRO@SOLAR.STANFORD.EDU
(See general/misc/SSW/widget_valid.pro)