===== GED ===== Ged function provides the main interface to the ged system. **NOTE:** The filename(s) set via keyword FILENAMES, should be of the form: (nbsp)(nbsp)+'.l0//n//.f//m//0.//datatype// (nbsp)(nbsp)where: (nbsp)(nbsp)(bcircle) //n//: level, 2 or 3\\ (nbsp)(nbsp)(bcircle) //m//: format, 1, 3, 4 or 5\\ (nbsp)(nbsp)(bcircle) //datatype//: see the quick reference tables on the [[ged_docs|main page]] \\ [[ged_examples|Examples]] ==== IDL doc_library comment ==== Function GED - Get Erne Data (lev-2 and lev-3) Version: 1.5 Description: This is a general envelope routine for reading and pre-processing of various ERNE data. Typically GED will open various GUI-windows to let user interactively specify data and preprocessing. This can be modified by keywords. Calling sequence: d=ged() Output: Typically an array of structures. The exact structure type depends on the input data type in question and the set of possible filter functions. Keywords: FILENAMES = List of input file names If not set the 'datafilename'-procedure is started letting the user select the files interactively. GED_FFUNCS = List of filter functions After the data is read we have an array of data records of a specific ERNE data type. If required this data set will be fed through series of caller supplied filter functions. The filtering is done stepwise by feeding each filter function with the output of the previous one. The first filter function in the list must naturally accept an array of records of the nominal ERNE data type as read from the data files. The return of the last filter function is used as the output of this ged -function. Each filter function has to be of the type: ff(din,[KEYWORDS]), where din is the input data (typically an array of records). Keywords (if any) are relayed to the filter functions using IDL:s '_REF_EXTRA'-keyword. Thus they can be issued in the ged-function call as any other keyword. Requirement is of course that the keyword identifiers are unique (or compatible) between various procedures that will be called. There are two schemes for filter function execution: 1) 'PHA-schema' - filtering is done after each file is read. There is a memory problem when analysing long periods of PHA-data. With a suitable filter, unnecessary PHA-events can be discarded at this stage keeping the resulting output data array at a reasonable size. 2) 'Spectral-schema' - filtering is done only after the whole data set has been read. Spectral data usually needs to cross file boundaries when time- integrating data. The typical filtering in this case consists of energy-integration, which will be done on the time-integrated data i.e., after all the data has been read. Spectral data is much less space consuming than PHA-data and the time integration further reduces the size of the data set, so this should work fairly well. The scheme is automatically desided based on the data type in question. GED_NFILERECS = Returns the number of data records from each input file This is primarily meant for assisting in finding corresponding PHA-events between lev-2 and lev-3 PHA data. Not implemented for spectral data. GED_CATCHERR = If set (to nonzero) the errors will be catched by ged. The reason for this option is the handling of IDL errors when ged is called via a batch file by the java web interface. The error handling is very simple: in case of errors the copy of !ERROR_STATE system variable structure is returned. It is assumed that when the keyword has been set the caller checks the type of the result and acts accordingly. For example: d = ged(/GED_CATCHERR) if tag_names(d,/structure_name) EQ '!ERROR_STATE' then ... Note: this will not affect the handling of the non fatal math errors. Version history: 1.5 2007-01-31 (ER) 1) Updated the naming of the LED level-3 direction spectra reader functions. 2) Updated the file-iteration scheme for the led direction spectra. 3) Removed checking fo file types '.pha' from lev-3 reader function name construction. There are no such file types. 1.4 2004-12-14 (ER) Added new internal keyword flag 'GED_1ST' that will be set on first call of a reader and filter functions. Specifically this is for the readers like 'ged_l3_corr', that on request returns auxiliarity paramaters as a keyword array. This will enable clearing of the array on first call and adding the data at the end of the array on subsequent calls. 1.3 2004-10-07 (ER) Changed to take use of the ERNE-error messages. Specifically in case there are no files found as a result to call of the function 'datafilename'. 1.2 2002-06-28 (ER) Correction for error catching mechanism. It appeared that the '!ERROR_STATUS' contains fields (especially the message fields) that seem to be implicit pointers. When we copied those fields straight to the output error record, their contents were sometimes changed with further errors and warnings. 1.1 2002-06-26 (ER) - Added keyword 'GED_CATCHERR' and the accompanying code. - Changed names of the other ged specific keywords 'GED_...' format in accordance to the general naming convention. 1.0 2002-05-21 (ER) Original version.