Function DATAFILENAME returns the data file names of the highest version numbers during a given time period. If there are several files with the same date and version then the normal string comparison is used, so the file in the older data system version in the .01cd-directory is selected over .01-directory and .DAT-file is selected over .dat1-file. Notice that empty files are discarded. There are two versions of this same function. The recent one should works in both data system versions, but it is not very exhaustedly tested. Actually this version works only with the latest data directory structure (e.g. /data/soho/
FUNCTION DataFileName
Example:
datfiles=DataFileName(title='File Selection',root='/data/cepac/')
Parameters:
None
Keywords:
TITLE The title of the main window. String.
ROOT The root directory of the data directory tree. String
or array of strings. Default is '/data/soho/' if
DSVERSION > "1" else default is '/dat/cepac/'.
START Start time of the time period. String. E.g. '130496'
or '13041996'.
STOP Stopping time of the time period in format 'ddmmyy' or
'ddmmyyyy'. String. E.g. '140496' or '14041996'.
DATATYPE The type of the data. String. Fixed type strings e.g.
'LED Light Raw' or a sub string in a file name that
isolates the data type without contradiction among all of
the data type file names.
UNDERCOVER Set this keyword and the process goes without widgets,
IF at least the keywords START, STOP and DATATYPE are given.
Default values are used for other parameters if not given.
RROOT Return the root directory of the data directory tree. Only
with widget.
RSTART Return the start time of the time period. String. E.g. '130496'
or '13041996'. Only with widget.
RSTOP Return stopping time of the time period. String.
E.g. '140496' or '14041996'. Only with widget.
RDATATYPE Return the type of the data. String. Fixed type strings e.g.
'LED Light Raw' or a sub string in a file name that
isolates the data type without contradiction among all of
the data type file names. Only with widget.
DSVERSION Data system version. Default depends on the running
machine (host). "Old" system version is "1" (helium) and
all the others are new ("2" (xenon, castor ...)).
RDSVERSION Return data system version used.
DLEVEL Data level (1, 2 or 3). String. Default is "3" if
DSVERSION > "1".
RDLEVEL Return data level used. String.
DFORMAT Data format (10, 30, 40 or 50). String. Default is "10" if
DSVERSION > "1".
RDFORMAT Data format used. String.
DSOURCE Data source ('cd', 'rl', 'tm', 'ql'). String. Default is "cd".
RDSOURCE Returns the data source used. String.
MUTE Suppresses on-screen messages.
Restrictions:
Assumes that there are 'which'- and 'tcsh'-commands to be called
from the os-level.
Notices:
One wolf pit is the name and the location of the data type file.
The procedure "DataFileName" in helium and in xenon are the same
except the data type file names and the directory it resides are
different. This is not a pleasant situation. I know that the code
should be the same in both computers and the information of the
name of the file should be somewhere outside of this procedure.
Parameter files are read from the directory: '/usr/srl/pro/para/'.
Uses unix commands: 'ls', 'grep', 'cut', 'echo', 'chmod', 'which'
and 'tcsh'.
Modifications:
Jun 9, 1997 Export Level 2 data types added. MT
Jun 19, 1997 In some occasions several files for the same day was
returned. Fixed. MT
Oct 17, 1997 Keywords RSTART, RSTOP, RROOT and RDATATYPE for
the selections returning added. MT
Mar 10, 1998 Root may be an array of strings. MT.
Mar 24, 2000 Works for new and old dataversions. The default
data system version is determined by deducing
the name of the computer (host). MT.
Jun 26, 2000 New keywords: DLEVEL, RDLEVEL, DFORMAT and RDFORMAT.
MT. Data types put into several files depending on the
level and format.
Mar 02, 2001 New keywords: DSOURCE, RDSOURCE. More data sources.
Works only in data version higher than 1. MT.
Mar 05, 2001 Added some default parametres and help texts in widget
mode. MT.
Nov 23, 2001 Default data format made to work also under cover.
Feb 17, 2005 Added keyword 'MUTE' (ER).