To test whether a tag name exists in a structure.
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).
status = TAG_EXIST(str, tag, [ INDEX =, /TOP_LEVEL, /QUIET ] )
str - structure variable to search
tag - tag name to search for, scalar string
Function returns 1b if tag name exists or 0b if it does not.
Optional Input Keyword
/TOP_LEVEL = If set, then only the top level of the structure is
/QUIET - if set, then do not print messages if invalid parameters given
/RECURSE - does nothing but kept for compatibility with the
Solarsoft version for which recursion is not the default
Optional Output Keyword
INDEX = index of matching tag, scalar longward, -1 if tag name does
Determine if the tag 'THICK' is in the !P system variable
Written, C D Pike, RAL, 18-May-94
Passed out index of matching tag, D Zarro, ARC/GSFC, 27-Jan-95
William Thompson, GSFC, 6 March 1996 Added keyword TOP_LEVEL
Zarro, GSFC, 1 August 1996 Added call to help
Use SIZE(/TNAME) rather than DATATYPE() W. Landsman October 2001
Added /RECURSE and /QUIET for compatibility with Solarsoft version
W. Landsman March 2009
Slightly faster algorithm W. Landsman July 2009
July 2009 update was not setting Index keyword W. L Sep 2009.
Use V6.0 notation W.L. Jan 2012
Not setting index again, sigh W.L./ K. Allers Jan 2012