Return to dataset_naming_proposal.doc CVS log Up to [Development] / JSOC / base / drms / doc File: [Development] / JSOC / base / drms / doc / dataset_naming_proposal.doc (download) / (as text) Revision: 1.1, Tue Oct 16 21:48:16 2007 UTC (8 years, 8 months ago) by arta Branch: MAIN CVS Tags: Ver_LATEST, Ver_DRMSLATEST, Ver_8-8, Ver_8-7, Ver_8-6, Ver_8-5, Ver_8-4, Ver_8-3, Ver_8-2, Ver_8-11, Ver_8-10, Ver_8-1, Ver_8-0, Ver_7-1, Ver_7-0, Ver_6-4, Ver_6-3, Ver_6-2, Ver_6-1, Ver_6-0, Ver_5-9, Ver_5-8, Ver_5-7, Ver_5-6, Ver_55, Ver_5-3, Ver_5-2, Ver_5-14, Ver_5-13, Ver_5-12, Ver_5-11, Ver_5-10, Ver_5-1, Ver_50, Ver_4-7, Ver_4-6, Ver_4-5, Ver_4-4, Ver_4-3, Ver_4-2, Ver_4-1, Ver_4-0, NewTree01_cp09_JSOC, NewTree01_cp08_JSOC, NewTree01_cp07_JSOC, NewTree01_cp06_JSOC, NewTree01_cp05_JSOC, NetDRMS_Ver_LATEST, NetDRMS_Ver_9-9, NetDRMS_Ver_8-8, NetDRMS_Ver_8-7, NetDRMS_Ver_8-6, NetDRMS_Ver_8-5, NetDRMS_Ver_8-4, NetDRMS_Ver_8-3, NetDRMS_Ver_8-2, NetDRMS_Ver_8-11, NetDRMS_Ver_8-10, NetDRMS_Ver_8-1, NetDRMS_Ver_8-0, NetDRMS_Ver_7-1, NetDRMS_Ver_7-0, NetDRMS_Ver_6-4, NetDRMS_Ver_6-3, NetDRMS_Ver_6-2, NetDRMS_Ver_6-1, NetDRMS_Ver_6-0, NetDRMS_Ver_4-6, NetDRMS_Ver_2-7, NetDRMS_Ver_2-5, NetDRMS_Ver_2-4, NetDRMS_Ver_2-3, NetDRMS_Ver_2-2, NetDRMS_Ver_2-1, NetDRMS_Ver_2-0b1, NetDRMS_Ver_2-0b, NetDRMS_Ver_2-0a2, NetDRMS_Ver_2-0a1, NetDRMS_Ver_2-0a, NetDRMS_Ver_2-0, NetDRMS_Ver_1-1, NetDRMS_Ver_1-0, NetDRMS_Ver_0-9, NetDRMS_Ver_0-8, NetDRMS_Ver_0-7, HEAD Move JSOC/src/base to JSOC/base and JSOC/src/proj to JSOC/proj. ÐÏ à¡± á > 86 JSOC/src. þÿ ˆ Š þÿÿÿ † ‡ ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿì¥Á @ ø ¿ Êq bjbjîFîF @ "š Œ, Œ, õh Ô ÿÿ ÿÿ ÿÿ ˆ 6 6 6 L L L ; ; ; c: k+ L ` ; ˆ( ˆ( ˆ( ˆ( L Ô( T ` ”; h 4) 4) 4) J) J) %* %* %* ; ; ; $ ü<R N? • 9; L k+ %* %* k+ k+ 9; L L J) J) Û N; c: c: L J) L J) ; c: k+ ; c: c: L L c: J) () ÒàØw5Å ˆ( ·4 c: ; d; 0 ”; c: Þ? ·8 œ Þ? c: ` ` L L L L Þ? L c: ° %* 0 U* " c: w* “* Ø %* %* %* 9; 9; ` ` D ¤" ä S: ` ` ¤" Dataset naming convention for use with the JSOC DRMS, version 4, 30 March 2005 This document is concerned with the identification of data sets. Not so much with the logical or physical layout of the data or its storage or use but simply with naming conventions and the use of those naming conventions to identify data for purposes of processing. The naming convention of course should be consistent with the expected use. In the JSOC a dataset is a set of data records. A record is the smallest unit of data for which we provide named attributes in the form of keyword-value pairs. The JSOC supports data maintained in several “catalogs”. At least the DRMS, DSDS, local_fits, and VOTable catalogs are supported. In the DRMS system a dataset is the result of a query. In the MDI DSDS system a dataset is the contents of a directory and is usually a structured set of records from a single dataseries. In the local fits system a dataset is a collection of records in a directory structure maintained with a template. In the VOTable system a dataset is a combination of an XML table containing keyword information and pointers to the associated data files. The “name” of a dataset must imply the specifics of a query sufficiently to produce the expected set of records. The naming scheme described here provides a userfriendly dataset naming convention that supports mappings into the several supported catalogs. In the JSOC terminology a “dataset” is a descriptor of a set of records which is written in the form of a “query”. The query resolves to a set of records. So the in terminology used here the description of a list of records is called a dataset sometimes interchangeably with the set of records itself. A dataset can be managed as a list of records or as a query in the form of a “name” that implies a list of records. In the case where the record list is specified as a name query the “name” describes either a simplified SQL-like query or a simple ordered subset of a series identified by values of the series prime index. The dataset is thus a text description of the set of records. This text description may be directly given or contained in a file whose name then stands for the dataset. If a record list is stored in a file it could be one record per line or one record range per line for example. A file could contain a set of queries or a set of lists of specific records or a mixture. It could also contain the name of another file, etc. (This is TBD – implies the need for control of depth of recursion). The dataset name should be in such a form that it can be published in documents in a way so that the same data (possibly of later version) may be extracted at a later time. In DRMS data is organized into “data series” where each series contains a set of like-structured records. A dataset may consist of records from multiple series. Examples of series would be a series of HMI level-1 magnetograms, a series of MDI medium-l Dopplergrams collected into 6-hour blocks, MDI spherical harmonic amplitudes of line-of-sight velocity for l=0, etc. For MDI a series is identified by its three-part (prog-name, level-name, seriesname) name. For JSOC a series is identified by its one-part series name. For exported data or data in simple FITS files outside the DRMS or DSDS catalogs a series is likely identified simply by its pathname. To bring order to this flexible description of what a dataset is, a hierarchy of naming concepts is established as: Catalog – A collection of data series managed by a server Series – a collection of like-structured data records Dataset – an ordered set or records from one or more series Record set – an ordered set of records from a single series from a single Catalog Record query – a restricted SQL-like query on key-values in a single series Record list – a comma delimited list of record ranges from a single series Record range – An ordered list of contiguous or evenly spaced records A proposed JSOC and DRMS naming scheme is described here in a formal syntax. The following syntax is described using a BNF format where entities are in angle brackets “<>” and literals are not enclosed except isolated nonalphanumeric characters which may be enclosed in “”. Variants are separated by “|”. Optional elements are in curly brackets “{}”. Recursion is explicit where allowed. The common use of square brackets “[]” for single options is not used here to avoid confusion with the use of “[]” as literals. Each entity is defined after it is first used. An ellipsis “...” is used to show either an incomplete list or a set of any text depending on context. “::=” is pronounced “is defined as a”. “C”-like notation is used for non-printing characters. Catalog The term “catalog” is used here to denote an entire data collection. All of the MDI and solar group data managed by the MDI DSDS system is part of the DSDS catalog. Similarly all of the HMI and AIA data managed in the JSOC Science Data Processing at Stanford will be part of the DRMS catalog. Series The DSDS and DRMS catalogs each rely on the concept of a data series. In both cases a series is a set of data records where each record in the series has the same keyword attributes and the data stored in files has the same structure for each record in the series. In the DSDS case a blocking into DSDS datasets is also enforced. In both cases a record is the smallest unit that has named attributes. An example of a DRMS record would be a single raw filtergram or level-1 Dopplergram. DSDS records contain at most a single data array of a single variable or observable. DRMS records will be allowed to contain multiple data segments each of which is an n-dimensional array of data. DRMS Series names will be similar to MDI dataset names but with underscores to separate the various factors. The first section, up to the first underscore, will be used to determine the program or project. The space of names in this first section will contain some reserved names, such as mdi, hmi, aia, wso, etc. For these reserved names the default ownership and permissions will be maintained in a table of reserved project names. Subsequent name parts should indicate the observable, the mapping or region size, the reduction level, etc., as appropriate. The cadence should also be specified if it differs from the normal value for that observable. DSDS data series have the concept of a series_number which identifies a block of records. Series may be of general type or “conforming” to one of several types (e.g. TS_EQ) for which the series number is an index onto a structured “axis” such as time. Thus the series number is an alternate way of specifying a time, or actually a block of time. DRMS series also have a “prime index” which is defined in its series definition by a list of keyword names. The attributes named will be used to construct a database index to allow rapid location of records identified by a value of its prime index. An example might well be using the attribute “T_OBS” as a prime index. Each keyword used as a prime index component will have an identified type (e.g. time or latitude-bin) and depending on type some additional attributes to enable mapping of user-level convenient shorthand notation into prime index values. For time types these would include a reference epoch and in the case of a slotted-time (i.e. TS_EQ) a step size or cadence. Some more details of the prime index associated keywords will be given later in this document. DSDS datasets have the concept of version numbers (stored as level-numbers) such that there may be more than one version of a dataset identified by series and series-number. The same concept is implemented in the DRMS catalog but on the record level instead of on the dataset (or record block) level. So each record in a DRMS series may have multiple versions. Each record has an absolute internal record number and a record number in the prime index space. Each “slot” in the prime index space may have multiple versions. A given record may be identified by either its prime index (in which case the most recently created version is referenced) or by its absolute record number. Dataset A dataset is a list of record sets. A dataset name is a description of that collection. In the description here the term “dataset” is used interchangeably with “dataset name” where the meaning is obvious from the context. A dataset may contain records from one or more data series. A subset of the dataset that can be simply described as a group of records from a single data series is called a “record_set”. With this description, a dataset is a collection of record_sets specifiers separated by white space or a comma or a comment in the form of “#” through to the first instance of another “#” or newline character. <dataset> ::= <record_set>{<dataset_sep>{<record_set>}}<ds_endmark> <dataset_sep> ::= <ds_delim>{<dataset_sep>} <ds_delim> ::= “,” | “#”...\n | “#”...“#” | \b | \t | \n <ds_endmark> ::= “\0” | <end-of-file> Record Set A dataset is a list of record sets. A record_set is a set of records from a single series from a single catalog. While a dataset will usually be drawn from a single series one may be a collection of record_sets from multiple series possibly from multiple catalogs. As used here a “catalog” is the toplevel collection of data. The DRMS system implements the DRMS catalog. The MDI DSDS system is another catalog. JSOC exported FITS datasets will be considered as belonging to yet a third catalog. A record_set may be described by a name appropriate to its catalog or may be the name of a file containing a list of record sets. The expectation is be given in a file, perhaps one record_set can be used where a record set is needed. space will usually need to be in quotes or command line or in a script. that a complex set of records can per line, and that that filename A dataset name containing whiteother protection when used on a Record_sets of differing types coming from different “catalogs” as described below may be intermixed in a dataset. The first few characters of each record_set will be used to determine the associated catalog. The rule (so far) is: examine the leading substring terminated by the first instance of an “@”, “:”, “/”, “[“, whitespace or “\0”. If an “@” is found the name after the “@” is a file pathname containing record sets using these same naming rules. If a “:” is found it is a non-drms structured dataset. If “prog:” is it s DSDS dataset, if “vot:” then a VOTable based dataset. If a “/” is found it is a plain file or simple directory record_set. A simple directory containing an overview.fits file is treated as a DSDS dataset. Finally, and usually, if the substring is terminated by a “[“ or whitespace or end of string it is a DRMS record_set. <record_set> ::= <record_listfile_pathname> | <dsds_record_set> | <vot_record_set> | <pf_record_set> | <drms_record_set> <recordset_listfile_pathname> ::= “@”<pathname> Record sets may be provided in a text file using the same rules as on a command line. In particular they may be a compact query-like structure as described below or they may be a simple list of individual records. I.e. the “@filename” construct acts like an “include” file. Some levels of recursion should allowed but be limited in depth to prevent infinite looping. Example: A file named “/home/phil/magpair” containing the two lines: prog:mdi,level:lev1.8,series:fd_M_96m_01d[5599] hmi_M_lev1[2008.05.01/1d:96m] used in a command line like: Compare_mags in=@/home/phil/mapgair would result in 15 magnetograms from MDI and 15 from HMI from 1 May 2008 in the dataset referenced by the command line keyword “in”. Non-DRMS Record Sets Most of the rest of this document is used to describe <drms_record_set>s. But first the “external” types will be briefly described. A <dsds_record_set> is an MDI DSDS conforming TS or TS_EQ dataset. Note that other DSDS datasets may be accessed with manual intervention as <pf_record_set>s. A <pf_record_set> is a Plain File collection of one or more data files in one of several supported formats – at least simple FITS files. A <jpf_record_set> is a JSOC plain FITS file record set maintained with the aid of template providing the path into a directory structure. A votable record set is a collection of records described in a VOTable. The details of this are TBD. In summary: A DSDS dataset will be treated as in the MDI DSDS system. If the dataset is conforming the richer set of naming described below should function OK. If a plain directory is found rather than a “prog:” type name it must contain an “overview.fits” file to be treated as a DSDS dataset. <dsds_record_set> ::= <progspec>,<levelspec>,<dsds_seriesspec> | “/”<directory_pathname>{“/”} <progspec> ::= prog:<progname> <levelspec> ::= level:<levname>{[<version>]} <dsds_seriesspec> ::= series:<dsds_seriesname>{[<sn_range>]} <sn_range> ::= <integer>{-<integer>}{,<sn_range> The VOTable XML file contains the keywords and directions to the data records. We will decide at some point if the VOT are allowed to be redundant with FITS headers as the DSDS record.rdb files are now. <vot_record_set> ::= vot:{“/”}<directory_pathname>{”/”} If a <record_set_pathname> is specified by a full pathname naming a directory it will be taken as a directory containing a set of records stored as simple FITS files. All of the files identifiable as data records will be used. If a <record_pathname> is specified as a pathname not ending in a “/” a single record will be assumed to be specified. These will be called “plain file record sets”. <pf_record_set> ::= “/”<directory_pathname>{”/”} | “/”<file_pathname> DRMS Record Set Definition DRMS record sets are a subset of a single series and are specified by a seriesname and a record set specifier. If no record set specifier is present the record set consists of the entire series. <drms_record_set> ::= <seriesname>{<record_set_specifier>} <seriesname> ::= <name> A record set specifier identifies an ordered sequence of records. The specific sequence is described in square brackets. The use of square brackets to delimit the record set specification is to be reminiscent of array indices in languages such as “c”. The records may be specified by an SQL-like query or by a “record_list” which is a specification of a sequence on the prime index of the series. In the case of a general SQL query a subset of SQL will be used, possibly only when DRMS is available (this refers to the use of DRMS names by users outside the DRMS environment). The query case will not be further described here (yet). A record_list is a set of records identified by values of that series prime index. A record list is then a set of prime index keyvalue lists. Each such index_list may be comma separated set of record ranges. There may be up to one index_list for each keyword in the prime index. Some examples will help – see below. <record_set_specifier> ::= [<record_query>] | <record_list> <record_query> ::= $<sql_like_query>$ <record_list> ::= [{<index_key>=}<index_list>]{<record_list>} <index_key> ::= <prime_index_keyword_indicator> <index_list> ::= <record_range>{“,”<index_list>} For a record_list, any or all of the elements of the prime index may be used to identify the records. If the prime index contains more keys than are specified, the selection will include ALL matching records. Thus if the series is a set of lat-lon tiles as a function of time and only a range of times is specified then the selection will include all of the lat-lon tiles for each given time. Similarly if a subrange of one or more keys is specified then the selected set will include only that range for each of the prime keys. I.e. a specification acts as a filter limiting the range of records to be selected. An empty record set specifier selects the entire series. When multiple keys constitute the prime index the particular keys used in a record specifier must be clear either by direct identification or by context. In general in the case of a compound prime index each keyword must be present. However if only one time type keyword is in the prime index and the index_list is a string of type time that is sufficient. If only one type time key is used it may also be abbreviated by the generic time indicator “T” in the cases where the index_list string does not otherwise uniquely parse to a time. Finally, we get down to a range of records specified by a range of values of a particular prime index component. The record_range may be given as a single record, as a “first” and “last” record in an interval, or as a “first” record and interval duration. In the case of an interval the minimum increment may also be specified. <record_range> ::= <record_interval>{“:”<minimum_increment>} <record_interval> ::= <record_id>{“-”<record_id>} | <record_id>“/”<interval_duration> A record interval is a “dash” separated first and last record id or in the case of a time axis it may be a set of records starting at a given record id and continuing “over” a duration of time. An example of full disk MDI magnetograms in the DRMS catalog for say march 17, 2005 would be: mdi_fd_M_96m[2005.05.17/1d] Note here that omitted time parts (hours, minutes, seconds) default to an obvious value. Then using the record_id axis_increment method described below we could have: mdi_fd_V_lev1.8[3000d/1d] which would mean the records for the day 3000 in the mdi epoch. In the DSDS catalog this would be specified as: prog:mdi,level:lev1.8,series:fd_V_01h[72000-72023] The epoch default is defined in the series definition. In the MDI case the above spec expands to 24 datasets of 60 records each. In the DRMS case it expands to 1440 records. Of course the DRMS spec could just as well have been: mdi_fd_V_lev1.8[72000h/24h] The optional minimum_increment defines a minimum time step to allow undersampling of the target data series. Note this is unwise for oscillation studies which are observed with critical sampling. However a rotation of 96minute spaced magnetograms from HMI could be expressed as: hmi_fd_M_lev1[2008.05.01/27d:96m] or equivalently as hmi_fd_M_lev1[2008.05.01-2008.05.26_22h:24m:96m] (OOPS the ”:” is overused As can be seen in the examples here, there are several ways to specify a particular record. The record id may be by prime index record (i.e. slot) number, by value on the prime index equivalent axis is real space (i.e. a time), by an increment along the prime index axis, or by absolute record number. In all but the absolute record number the highest version at the time of the record_id lookup is used. <record_id> ::= <index_value> | <axis_value> | <axis_increment> | <record_number> Thus individual records may be specified in several ways: by index value which is an integer specifying the nth record along the prime index; by axis value which is an explicit value along the prime index axis; by specifying an increment since the series epoch along the prime index axis; or by specifying an absolute record number in the series. These record_id variants will be described in order below. The index_value is the position on the prime axis. It may be a basic step (cadence) in time for a time series, a bin number for latitude or longitude tiles, or a filter number, or NOAA AR number for examples. Good usage would dictate that a cadence in the prime index that is different from the “standard” step for a particular instrument/observable will be indicated in the series name. <index_value> ::= <integer> An explicit absolute value on a prime index axis may be specified. The format allowed depends on the type of the key associated with the prime axis component. <axis_value> ::= <time_specifier> | <longitude_specifier> | <latitude_specifier> | ... <time_specifier> ::= <time> <longitude_specifier> ::= L<integer> <latitude_specifier> ::= B<integer>[n|s] ... The record may be specified by a distance along the prime axis by an axis increment (usually time interval). An example would be, for the MDI epoch of 1 Jan 1993, that a record given as [2000d] would correspond to 24 June 1998 at 0h TAI. This type of record_id may only make sense for some types of prime index components. In particular, those with an epoch defined in the series definition. <axis_increment> ::= <integer><time_increment_specifier> <time_increment_specifier> ::= s | m | h | d Finally, the record may be specified by an explicit DRMS record number. This will seldom be done in normal usage since the record number, starting at 0 for each series, maps to creation order rather than axis order. This method is used when a particular version of a given record is required (assuming there is some way to learn the record number – probably by coming back to a record that was used before where the record number was recorded). The special record number “$” refers to the last record added to the series. This method could also be used to scan all existing records in a particular series. <record_number> ::= “#”<integer> | #$ The record number is assigned by the DRMS system and is an integer indicating the order in which records are added to the series. For each series it starts with 0. Prime Index Notes Some additional discussion is useful for the time type of prime index component. The index “space” is referred to here as an “axis”. Since many of the JSOC datasets are by nature time series a flexible method for specifying records for specific times is provided. If a prime axis is specified by a keyword of type time then the time corresponding to an index position on that axis is given as: axis_value == axis_epoch + axis_increment and axis_index == axis_increment / axis_step or axis_index == axis_value – axis_epoch) / axis_step where <axis_type> :: = TIME | LONGITUDE | LATITUDE | ENUM | LIST | ... <axis_step> ::= <axis_increment> <axis_epoch> ::= <axis_value> | <epoch_name> <epoch_name> ::= MDI_EPOCH WSO_EPOCH TAI_EPOCH GPS_EPOCH ... MDI_EPOCH WSO_EPOCH TAI_EPOCH GPS_EPOCH MJD_EPOCH == == == == == | | | | 1993.01.01_00h:00m:00s_TAI 1601.01.01_00h:00m:00s_UT 1958.01.01_00h:00m:00s_TAI 1980.01.06_00h:00m:19s_TAI 1858.11.17_00h:00m:00s_UT For example the axis_increment for 24 June 1998 would be MDI_EPOCH. 2000d in the The dataseries definition must contain supplementary keywords when a time keyword is selected as a prime index. These keywords could have names formed as: <prime_axis_def> ::= <prime_key>{,<prime_key>} <prime_key_name> ::= <key_name> <type_key_name> ::= <prime_key_name>_TYPE <step_key_name> ::= <prime_key_name>_STEP <epoch_key_name> ::= <prime_key_name>_EPOCH A step_key value is an axis_step and an epoch_key value is axis_epoch as defined above. NOTE: we should discuss whether or not interval type addressing should be restricted to TS_EQ type series where the mapping to series index is simple based on the step size and given time interval, or allow “TS” types where there is no simple mapping and a “find the nearest match within some maximum distance” type of search must be used. <enum_key_name> ::= <prime_key_name>_ENUM An keyword whose value range is an enumerated list may also be used as a prime axis index. In this case the supporting keyword will have as a value a comma separated list of strings. An example would be if AIA tracked tiles would be stored as separate records in a dataseries rather than as data segments within compound records. Then the prime index might be formed as a join of NOAA region and filter where filter might be given as an element from a standard list such as 171,195,304. Then a standard tile might be specified as something like: aia_artile_lev1[10720][171] which would yield all records of line 171 that were tracked for NOAA region 10720. _________________________________________________________________________ JSOC dataset support programs. There need to be several programs to support the mapping of dataset names into a set of records. These should be available as user commands as well as being built into user callable functions. Expand record set name This program takes a dataset name consisting of a single record set name and expands it into a list of record specifications with record number determined. Some ancillary information can be returned as a comment. This program needs an ancilalry data table which lists the primary index information for all dataseries but it does not result in a query of actual records. For example the call of expand_records –v mdi_fd_V_lev1.5[2000d/10m] with the following values set in the series definition for mdi_fd_V_lev1.5: Primary_Index = T_REC T_REC_TYPE = TIME T_REC_STEP = 60s T_REC_EPOCH = MDI_EPOCH will product the output: mdi_fd_V_lev1.5[2880000] # mdi_fd_V_lev1.5[$T_REC=1998.06.14_00h:00m:00s_TAI$] mdi_fd_V_lev1.5[2880000] # mdi_fd_V_lev1.5[$T_REC=1998.06.14_00h:01m:00s_TAI$] mdi_fd_V_lev1.5[2880000] # mdi_fd_V_lev1.5[$T_REC=1998.06.14_00h:02m:00s_TAI$] mdi_fd_V_lev1.5[2880000] # mdi_fd_V_lev1.5[$T_REC=1998.06.14_00h:03m:00s_TAI$] mdi_fd_V_lev1.5[2880000] # mdi_fd_V_lev1.5[$T_REC=1998.06.14_00h:04m:00s_TAI$] mdi_fd_V_lev1.5[2880000] # mdi_fd_V_lev1.5[$T_REC=1998.06.14_00h:05m:00s_TAI$] mdi_fd_V_lev1.5[2880000] # mdi_fd_V_lev1.5[$T_REC=1998.06.14_00h:06m:00s_TAI$] mdi_fd_V_lev1.5[2880000] # mdi_fd_V_lev1.5[$T_REC=1998.06.14_00h:07m:00s_TAI$] mdi_fd_V_lev1.5[2880000] # mdi_fd_V_lev1.5[$T_REC=1998.06.14_00h:08m:00s_TAI$] mdi_fd_V_lev1.5[2880000] # mdi_fd_V_lev1.5[$T_REC=1998.06.14_00h:09m:00s_TAI$] Some flags should be present. For example a “-v” could be used to force the provision of a comment containing the user view of the record spec. A “-f” could be used to to produce a full comment with all available key values needed to specify the record. Expand Dataset Name This program will just call Expand Record Set for all of the record sets in a dataset specification. It will produce a line per record. This list of records will be in a format acceptable for use in places where a dataset specification is required. I.e. the expanded version may be used as well as the terse version. This will allow a user to re-order the records to a particular order a program may require, or to delete certain records, or to add certain records, etc. There are many “BNF” formats. See e.g. HYPERLINK "http://www.cs.man.ac.uk/~pjj/bnf/ebnf.html" http://www.cs.man.ac.uk/~pjj/bnf/ebnf.html . Therefore the conventions used here must be explicitly defined. > ] a x y • ‚ µ ¾ Ó ý ? A C P Q « ¸ Û K ( ê ó / [ 0 c 1 d † ¶ ¬  ° à í î • > Ä / £ ¤ Ý Þ - w x ¾ ¿ 4 6 9 : ž µ ý ÀÎÕÎÀÎÕÎÕÎÝñ¼ñÙñ²ñÕñÕñ L ` j úõúõúñíéñéñéñåñåñåñéñéñéáéñáÝÙÝÙáÙáÕíáíÕÎÕÎÇÕÀÎÕ h $Ù 0J U h¬ h¥ @ hñMG h¥ @ h¥ @ h¥ @ h dÜ h¥ @ h) h dÜ hñMG h»fM hJ1» h5w° á 5 • hyc 5 • F P Q ª « Œ ¼ hyc ‹ hã ½ î ï œ • £ ¤ ß [ ¶ g ¾ ¿ Á Â Ê Ë ò ó ý ý ý ý ý ý ý ý ý ý ý ý ý ø ø ø ø ø ø ø ø ø ý ý ý ý ý ý gd dÜ õp Éq ýý ` À Á Â Ê r ñ ò ó ú & • «- ²- 1 ; >! Þ# ª% «% Y( Z( b( c( Ü) Ý) Ñ* Ò* + + + 9+ D+ G+ üøíäàÜàÕäÜÑÍÑàÑàÍÉÍɶ¨ü¤üœ‘†‘tbt # h¬ L h¬ L 5 •OJ QJ ^J mH sH # h¬ L hyc 5 •OJ QJ ^J mH sH h¬ L 5 •OJ QJ ^J hyc 5 •OJ QJ ^J h $Ù h $Ù 5 • •OJ QJ ^J hŸ? h $Ù 5 •CJ aJ h¥ @ h $Ù h $Ù 5 hC[p h pù h pù hC[p h²W‚ hºrŒ h•0• h•0• hºrŒ hºrŒ 5 •CJ aJ h $Ù 5 •OJ QJ ^J hyc h $Ù !ó ú û ¬- - ?! @! œ" •" «% ¬% Y( Z( b( c( Ñ* Ò* à* + G+ •+ §+ ¨+ ³+ ´+ b/ c/ Á2 Í2 ý ý ý ý ý ý ý ý ý ý ý ý ý ý ø ý ð ð ð ð ð ý ý ý ý ý ý ý dh gdŸ? gd $Ù G+ H+ P+ V+ s+ €+ •+ ¦+ §+ ¨+ ²+ ³+ ´+ &, ©,. s. t. u. |. •. š. Ÿ. ¨. ¬. Á. Ë. ÷. ø. ]/ a/ c/ t/ 0 0 X0 `0 ’0 “0 — 0 ˜0 œ0 •0 ¡0 ¢0 ¥0 ¯0 ´0 ¶0 º0 Á0 ñæñØñÍæØƺ±º©¥¡•–•¡•¡•¡¡’¡‹¥‹¡¥¡‡¡•¡•¡•¡•¡•¡•¡¥ hù-™ hyc 5 • h¥+ê hŸ? hyc h5w° L hÀ û hÀ û hÀ û hyc hŸ? hŸ? 5 •CJ aJ h¹C÷ hŸ? h¬ hŸ? 5 •CJ aJ h¬ L h $Ù hyc 5 •OJ QJ ^J h¬ L h¬ L 5 •OJ QJ ^J h¬ L 5 •OJ QJ ^J h¬ L hyc 5 •OJ QJ ^J 2Á0 Â0 41 51 j1 o1 ‹1 •1 °1 ¶1 ·1 Õ1 é1 ö1 2 $2 `2 p2 r2 „2 …2 Š2 ”2 Á2 Í2 þ2 3 3 y3 ’3 –3 ª3 5 5 S5 a5 d5 e5 f5 – 5 ˜5 µ5 ¶5 ÷5 ø5 ü5 6 ?6 z6 ÷ó÷ó÷ó÷óïçïóïóßóïóïçïçïÕÊ¿Ê¿Ê¿Êﶫ£«£”…”…£«£z£«£ h–c h–c CJ aJ h–c h¥+ê CJ aJ mH sH h–c h– c CJ aJ mH sH h–c CJ aJ h– c h¥+ê CJ aJ h¥+ê 6 •CJ aJ h¥+ê 5 •OJ QJ ^J hyc 5 •OJ QJ ^J hyc OJ QJ ^J h¹C÷ h¹C÷ 5 • hù-™ hyc 5 • hyc h¹C÷ hù™ h¹C÷ 5 • 0Í2 ß2 3 $3 A3 ]3 y3 z3 ª3 «3 5 5 c5 •5 µ5 Ò5 ÷5 |6 }6 ’6 “6 B 9 C9 `: a: x: ú ú ú ú ú ú ò ò ð ð ç ç ç ç ç ç ç ð ð ð ð ð â â Ú dh gd– c gd–c „Ð ^„Ð gd¥+ê dh gd¥+ê gd¥+ê z6 |6 }6 †6 ’6 —6 7 7 C9 a: Ç: È: Ë: Ì: X; Y; z; †; ‡; Õ; R<S<T<†<‹<Œ<•< > >0>3>4>>>?>g>v>w>y>õñè ÜØñÔñÔɾɾɳɳɬ¨ñ ’„’ ¨}oaoao’ao} ha G h– c 5 •OJ QJ ^J ha G hyc 5 •OJ QJ ^J ha G hyc ha G a G 5 • hÌvþ hÌvþ 5 •OJ QJ ^J ha G ha G 5 •OJ QJ ^J ha G h ha G hÌvþ h– c 5 •OJ QJ ^J ha G 5 •OJ QJ ^J hyc 5 •OJ QJ ^J h– c h Gñ h–c h Gñ 5 •CJ aJ h–c 5 •CJ aJ hyc h– c h¥+ê CJ aJ %x: ª: Í: ì: ; V; ‡; S<T<Œ<•< > >O>w>x>y>•>–>Z? [? – ? ®? ¯? kC lC ÷ ÷ ÷ ÷ ÷ ÷ ò í í í ò ë ã ã ë ë ë ë ò ò Û Û ë ë ë dh gdÌvþ dh gda G gda G gdÌvþ dh gd–c y>”>•>– > ? Y? Z? [? ®? ¯? ç@ A £A ðA õA üA +B ,B ×B üB jC kC lC ‡C ™C šC •C §C ÀC ÅC ÍC ÎC D )D 1D :D <D =D GD `D jD mD ÒD áE õE F #F G AH KH ÆH óêáÝÙÝÙÎÊÝÆÝÂݾݷ³Æ³Ê¯¤Î™Î™Ž¤Ž¤™ƒ™ƒ™¤™¤™¤¾Ê¾Ê¾Ê¾•¾ h¬Lá h ¬Lá 5 •OJ QJ ^J h E 5 •OJ QJ ^J hÏ:! 5 •OJ QJ ^J hÚ'§ 5 •OJ QJ ^J h E hÏ:! hÚ'§ hÚ'§ hÌvþ 5 •CJ hXaf h pù hÚ'§ aJ hyc 5 •CJ aJ hyc hyc 5 •OJ QJ ^J hC[p hÌvþ hyc 5 •CJ aJ 2lC ¨C ÎC hÌvþ D <D mD G 1I 2I |J }J ºJ ïJ 'K (K IL fL M 'M —M ÊM °N ÍN èO P -P ÷ ÷ ÷ ÷ ÷ õ õ õ õ õ í í í õ õ í õ á õ á õ í õ í Ü gd‡|þ „Ð dh `„Ð gd>?‚ dh gd>?‚ dh gdÚ'§ ÆH ÔH ðH úH .I 1I {J |J } J •J ÐJ ïJ K K K K %K 'K 1K 9K ØK àK L 'L ¾L ¿L M 'M nM zM ÜM ÞM ±N ÍN ;O çO èO éO êO P P P PP QP iP üøüøôüíôâ×âÌâ×â×âôÈôÈôÈôÈôÀôÈôÈôÀ¹µôµ¢š’‹|t * h‡|þ h‡|þ j ßð * h‡|þ h‡|þ mH sH h‡|þ h‡|þ h‡|þ mH sH h Gñ mH sH h Gñ h Gñ mH sH h>?‚ mH sH h Gñ h Gñ h Gñ J hyc mH sH QJ ^J h>?‚ h>?‚ 5 •OJ QJ ^J h¬Lá 5 •OJ QJ ^J hyc 5 •O hÚ'§ h¬Lá hyc hXaf h¬Lá ,-P jP T !T ¨U ©U ÅU eV fV ŠV ³V ÛV ðV R R $R ER iR ‰R ŠR W 1W ZW ^W éX êX ÷ ò ð è è è è ð ð ð ã ã Û ã ð Û Û Û Û Û Û Û Û ð ð dh gd ZSW gdZSW dh gd_w7 gd‡|þ dh gd>?‚ iP ˜Q R R R 4R UR ‰R ŠR •R ÂR ÃR ÄR S S %S AS GS VS \S ]S äS åS T òT óT ©U ÄU ÅU eV fV ^W èX êX QY RY ³[ ´[ Ú[ •\ ‚\ ”\ •\ ½\ ¾\ Ï\ ç\ ] ] ] "^ #^ ¸^ ,` üøñêßÔßÐøÐøÐøÐøÐøÐøÐøÐøÌÅ̺¬ÌÐßÌÐßÐÌÐßÐÌ£—ЕÐ̉ЉÐÌÐß h 'G hyc OJ QJ ^J hZSW hZSW 5 •CJ 5 •OJ QJ ^J hZSW 5 •OJ QJ ^J aJ hZSW 5 •CJ aJ hZSW hZSW hZSW hZSW hZSW hyc h_w7 5 •OJ QJ ^J hyc 5 •OJ QJ ^J h‡|þ hyc h‡|þ h‡|þ h_w7 h‡|þ 5êX #Y QY RY ³[ ´[ Ú[ Û[ •\ ‚\ ”\ •\ "^ #^ M^ Q^ z^ }^ °^ ·^ ¸^ Ð^ í^ _ !_ 9_ N_ ÷ ÷ õ ð õ õ õ õ õ õ õ õ õ ç ð ç ð ç ÷ õ ß ß ß ß ß ß dh gd 'G „Ð ^„Ð gdZSW gdZSW {` £` Ë` ò` ó` Ea Fa âa ãa dh gdZSW N_ o_ •_ ž_ ¼_ Ú_ ø_ b 2b 3b ]b ‡b ³b ´b ` +` ,` T` c c ÷ ÷ ÷ ÷ ÷ ÷ ÷ õ õ õ õ õ õ õ õ õ õ õ õ õ õ õ õ õ õ õ õ õ dh gd 'G ,` Ë` ò` ó` ø` þ` a a Da Åa Ëa âa ãa ³b c c ad bd Œd *e 3e Ûf àf qg •g Th kh o o õp öp q q ,q Vq Xq Yq Zq „q …q Çq Èq Éq Êq ñß×ÓÏÓÏÓÏÓÏźÏӲϺÏÓÏÓϦϡϡϗ “‹“„“y‹p‹“„“Ï hÜ ¢ hã á 0J • j hã á U h $Ù hã á j hã á U hã á j hã á 0J U hyc 5 • hF{Ê hyc 5 •CJ aJ h 'G h 'G 6 • hyc 5 •OJ QJ ^J hyc OJ QJ ^J hyc h 'G hyc mH sH # h 'G hyc 5 •OJ QJ ^J mH sH h 'G hyc 5 •OJ QJ ^J + c ad bd Œd •d ³f Ïf "g #g mg ng og pg qg •g ‘g Sh Th kh lh øi ùi 'j œj ý ý ý ý ø ì ý ý ý ý ý ý ý ý ý ý ý ý ý ý ý æ ý ý æ æ „Ð ^„Ð „Ð dh ^„Ð gdF{Ê gdF{Ê œj j Åj Æj ßj /k €k Ðk !l ql Ál m am ²m n n o o o o õp Èq Éq Êq ÷ ÷ ÷ ÷ ÷ ÷ ÷ ÷ ÷ ÷ ÷ ÷ ÷ ÷ ÷ õ ÷ ÷ „Ð ^„Ð 1•h °Ð/ °à=!° "° #• $• %° ! D ÐÉêyùºÎ Œ‚ ª K© + h t t p : / / w w w . c s . m a n . a c . u k / ~ p j j / b n f . h t m l àÉêyùºÎ Œ‚ ª K© V h t t p : / / w w w . c s . m a n . a c . u k / ~ p j j / b n f / h t m l œ @ @ñÿ @ (j tj Šj ù ù ÷ ÷ ÷ f / e b n e b n f . N o r m a l CJ _H aJ mH sH tH D A@òÿ¡ D D e f a u l t P a r a g r a p h F o n t R i@óÿ³ R T a b l e N o r m a l ö l 4Ö aö ( k@ôÿÁ ( N o L i s t 4Ö H ™ ò H B a l l o o n T e x t CJ OJ QJ ^J aJ > @ > $Ù F o o t n o t e T e x t CJ aJ @ &@¢ @ $Ù F o o t n o t e R e f e r e n c e H* 6 U@¢ ! 6 $Ù H y p e r l i n k >* B* ph ÿ 9 • £ ¤ ß Êi Ó Ö Êi š ÿÿÿÿ P Q ª « ‹ Œ ¼ ½ îï œ [ ¶ g ¾ ¿ Á Â Ê Ë ò ó ú û ¬ ? @ œ • « ¬ Y Z b c Ñ" Ò" à" # G# •# §# ¨# ³# ´# b' c' Á* Í* ß* + $+ A+ ]+ y+ z+ ª+ «+ - - c•- µ- Ò- ÷|. }. ’. “. B1 C1 `2 a2 x2 ª2 Í2 ì2 3 V3 ‡3 S4 T4 Œ4 •4 6 6 O6 w6 x6 y6 • 6 –6 Z7 [7 –7 ®7 ¯7 k; l; ¨; Î; <<<m< ? 1A 2A |B }B ºB ïB 'C (C ID fD E 'E —E ÊE °F ÍF èG H -H jH J J $J EJ iJ ‰J ŠJ L !L ¨M ©M ÅM eN fN ŠN ³N ÛN ðN O 1O ZO ^O éP êP #Q QQ RQ ³S ´S ÚS ÛS •T ‚T ”T •T "V #V MV QV zV }V °V ·V ¸V ÐV íV W !W 9W NW oW •W žW ¼W ÚW øW X +X ,X TX {X £X ËX òX óX EY FY âY ãY Z 2Z 3Z ]Z ‡Z ³Z ´Z [ [ a\ b\ Œ\ •\ ³^ Ï^ "_ #_ m_ n_ o_ p_ q_ •_ ‘_ S` T` k` l` øa ùa 'b (b tb Šb œb b Åb Æb ßb /c €c Ðc !d qd Ád e ae ²e f f g g g g õh Èi Ëi ˜ 0 € € ° ˜ 0 € € ˜ 0 € € 0 ˜ 0 € € ˜ 0 € € x ˜@ 0 € € ˜ 0 € € ˜@ 0 € € ˜ 0 € € ˜ 0 € € x ˜ 0 € € ˜ 0 € € x ˜ 0 € € ˜ 0 € € x ˜ 0 € € x ˜ 0 € € ˜ 0 € € ˜ 0 € € ˜ 0 € € ˜ 0 € € ˜ 0 € € ˜ 0 € € 0 ˜ 0 € € ˜ 0 € € ˜ 0 € € ˜ 0 € € ˜ 0 € € ˜ 0 € € ˜ 0 € € x ˜ 0 € € ˜ 0 € € ° ˜ 0 € € ˜ 0 € € ˜ 0 € € x ˜ 0 € € x ˜ 0 € € x ˜ 0 € € ˜ 0 € € 0 ˜ 0 € € ˜ 0 € € ˜ 0 € € ˜ 0 € € x ˜ 0 € € ˜ 0 € € ˜ 0 € € ˜ 0 € € ˜ 0 € € ˜ 0 € € ˜ 0 € € ˜ 0 € € 0 ˜ 0 € € ˜ 0 € € 0 ˜ 0 € € ˜ 0 € € x ˜ 0 € € ˜@ 0 € € ˜@ 0 € € ˜ 0 € € ˜ 0 € € ˜ 0 € € ˜ 0 € € ˜ 0 € € 0 ˜ 0 € € ˜ 0 € € ˜@ 0 € € ˜ 0 € € ˜ 0 € € 0 ˜ 0 € € 0 ˜ 0 € € ˜ 0 € € ˜ 0 € € ˜ 0 € € x ˜ 0 € € ˜@ 0 € € ˜ 0 € € ˜ 0 € € x ˜ 0 € € ° ˜@ 0 € € ˜ 0 € € ˜ 0 € € x ˜ 0 € € x ˜@ 0 € € € ˜ 0 € € ˜@ 0 € € ˜@ 0 € € ˜ 0 € € ˜ 0 € € ˜ 0 € € ˜ 0 € € x ˜ 0 € € ˜@ 0 € € ˜ 0 € € 0 ˜ 0 € € 0 ˜ 0 € € ˜ 0 € € 0 ˜ 0 € € ˜ 0 € € 0 ˜ 0 € € ˜ 0 € € 0 ˜ 0 € € 0 ˜ 0 € € x ˜ 0 € € x ˜@ 0 € € ˜@ 0 € € ˆ ˜ 0 € € 8 ˜ 0 € € x ˜ 0 € € ˜ 0 € € 8 ˜ 0 € € 8 ˜ 0 € € 8 ˜ 0 € € 8 ˜ 0 € € 8 ˜ 0 € € 8 ˜ 0 € € @ ˜ 0 € € @ ˜ 0 € € @ ˜ 0 € € @ ˜ 0 € € @ ˜ 0 € € @ ˜@ 0 € € ˜ 0 € € ˜@ 0 € € ˜ 0 € € @ ˜@ 0 € € ˜ 0 € € ˜@ 0 € € ˜ 0 € € @ ˜@ 0 € € ˆ ˜ 0 € € ( ˜ 0 € € ˜ 0 € € ˜ 0 € € 0 ˜ 0 € € H ˜@ 0 € € p ˜ 0 € € H ˜ 0 € € H ˜ 0 € € x ˜@ 0 € € ˜@ 0 € € ˜ 0 € € ˜ 0 € € ˜ 0 € € P ˜ 0 € € ˜ 0 € € x ˜ 0 € € P ˜ 0 € € ˜@ 0 € € ˜@ 0 € € ˜@ 0 € € ˜@ 0 € € ˜@ 0 € € ˜@ 0 € € ˜@ 0 € € ˜@ 0 € € ˜ 0 € € 0 ˜ 0 € € P ˜@ 0 € € ˜@ 0 € € ˜@ 0 € € ˜ 0 € € P ˜ 0 € € P ˜@ 0 € € ˆ ˜@ 0 € € ˜ 0 € € P ˜ 0 € € P ˜ 0 € € ˜ 0 € € ˜ 0 € € P ˜ 0 € € x ˜@ 0 € € ˆ ˜ @ 0 € € ˆ ˜@ 0 € € ˆ ˜@ 0 € € ˆ ˜@ 0 € € p ˜@ 0 € € ˜@ 0 € € p ˜@ 0 € € ˜@ 0 € € ˜@ 0 € € ˜@ 0 € € ˜@ 0 € € ˜@ 0 € € p ˜@ 0 € € ˜@ 0 € € ˜@ 0 € € ˜@ 0 € € ˜@ 0 € € ˜@ 0 € € ˜@ 0 € € ˜@ 0 € € ˜@ 0 € € ˜@ 0 € € ˜@ 0 € € ˜@ 0 € € ˜@ 0 € € ˜@ 0 € € ˜@ 0 € € ˜ 0 € € X ˜@ 0 € € € ˜ 0 € € 0 ˜@ 0 € € p ˜@ 0 € € ˜@ 0 € € ˜@ 0 € € € ˜@ 0 € € ˜@ 0 € € ˜@ 0 € € ˜@ 0 € € ˜ 0 € € X ˜ 0 € € X ˜ 0 € € X ˜@ 0 € € ˜@ 0 € € ˜@ 0 € € ˜ 0 € € 0 ˜@ 0 € € ˜ 0 € € 0 ˜@ 0 € € ˜@ 0 € € ˜@ 0 € € ˜@ 0 € € ˜@ 0 € € ˜@ 0 € € ˜@ 0 € € x ˜@ 0 € € p ˜@ 0 € € p ˜@ 0 € € p ˜ @ 0 € € p ˜@ 0 € € p ˜@ 0 € € ( ˜@ 0 € € ˜@ 0 € € ˜@ 0 € € ˜@ 0 € € ˜@ 0 € € ˜@ 0 € € ( ˜@ 0 € € p ˜@ 0 € € p ˜@ 0 € € ˜@ 0 € € ˜@ 0 € € ( ˜@ 0 € € ( ˜@ 0 € € ( ˜@ 0 € € ( ˜@ 0 € € ( ˜@ 0 € € ( ˜@ 0 € € ˆ ˜@ 0 € € ˆ ˜@ 0 € € ( ˜@ 0 € € ˆ ˜@ 0 € € ( ˜@ 0 € € ˆ ˜@ 0 € € ˆ ˜@ 0 € € € ˜@ 0 € € € ˜ 0 € € 0 ˜@ 0 € € x 0 ÜyÓ P Q ‹ Œ ¼ ½ g ¾ ¿ G# §# Á* Í* ß* + y+ z+ ª+ «+ |. }. B1 C1 Í2 ì2 3 V3 ‡3 S4 T4 Œ4 •4 6 6 O6 w 6 x6 y6 –7 ®7 èG H -H J õh Èi Ëi Oy 0 0 ¤ ˜ < › ^~ 0 0 ^~ 0 0 \~ 0 0 Oy 0 0 € ^~ 0 0 ^> 0 0 è › sœ ^> 0 0 € \> 0 0 € ^~ 0 0 ^~ 0 0 € @ ÿÿÿÿ @ ÿÿÿÿ ^~ 0 0 € ^~ 0 0 € ^~ 0 0 € ^~ 0 0 € @ 0 H › ` € ^~ 0 0 € ^~ 0 0 € ^~ 0 0 € ^~ 0 0 € ^~ 0 0 € ^~ 0 0 € Oy 0-0 € Oy 00 € ^~ 0 0 € \~ 0 0 € ^> 0 0 € Oy 040 € My 040 € My 040 € Oy 030 € V> 0!0 € ^~ 0 0 € ^~ 0 0 € Oy 040 € Oy 040 € ^~ 0 0 € \~ 0 0 € \> 0,0 ø › fÉ \> 0,0 € \> 0,0 € š 0 € € H š 0 € € ì• Ü › ^~ 0 0 0 › TwÓ _ ` G+ Á0 z6 y>ÆH iP ,` Êq 9 <>? A C E G J ó Í2 x: lC -P êX N c œj Êq : = @ B D F H I K L ÿÿ ÿ €€€ ÷ ð’ ð ð ðB ð Éq ; * d • Ö ð0 ð( X ÿ € ð ð8 ð @ -ñ S ð- ¿ Ë ÿ ? ð ÿÿ 1Ù— ¦ 2Ù— ÄÞ¥ 3Ù— ´ ¦ ÖL ÖL ÛL Ëi ÚL ÝL ÝL Ëi 9 *€urn:schemasmicrosoft-com:office:smarttags €place €8 *€urn:schemas-microsoftcom:office:smarttags €City €9 *€urn:schemas-microsoftcom:office:smarttags €State € ž ¨ ® µ A E Ð Ø Ú Ý ß â g t ñ! û! 2" =" >" H" ½" Ä" æ" ð" ó" þ" # # *# .# D# H# P# ‚# Œ# Ú# ä# |$ ‡$ «% µ% •&‹&c' n' ø' ( ¥( ¯( L) P) j) n) ‹) Ž) ˜) Ÿ) é) ó) * $* Š* ”* ³* ½* Î* Ø* ê* + + + /+ =+ L+ Y+ h+ w+ {+ –+ ;- G- e- •- —- µ- Ó- ß- ê- öÊ. Ù. / +/ ¨/ µ/ ½/ Ê/ G0 U0 Ñ0 Ø0 # Ó # Õ # 1 1 2 2 +2 82 b2 q2 •2 ‡2 Š2 “2 –2 ¥2 ´2 Æ2 Î2 Ö2 Ü2 à2 â2 ê2 í2 ö2 3 3 3 )3 73 F3 J3 R3 W3 _3 }3 …3 ‹3 ’3 94 C4 U4 c4 i4 l4 s4 …4 “4 ¦4 y5 ˆ5 6 )6 46 F6 h6 u6 Þ6 è6 ú6 7 7 7 \7 k7 r7 |7 •7 “7 — 7 ¡7 ¼7 Å7 è8 ó8 .: 9: ª: ²: Å: Ï: ; ; m; •; ‰; •; ›; ¦; ©; µ; ½; Ë; Ï; Ú; ã; ì; ð; ú; þ; < < < <:<=<G<N<Z<`<j<s<~<b= e= Ø= Û= > >ê>ó>e? n? A@ K@ ð@ ú@ ¨A ´A ~B ŠB ‘B B ¦B ·B »B ÊB ÑB ÚB àB éB C C C %C ÎD ×D ØD æD E 'E \E _E ±F ÍF ÚF ëF G G éG H H -H çI ðI J J J -J 5J ?J VJ dJ zJ ‡J ëK ôK %L 0L ªM µM gN qN xN †N œN ¯N ÅN ×N ñN ÿN O O 2O DO UO XO [P dP ëP ùP Q !Q $Q <Q µS ÂS #V V 1V ;V >V LV QV [V _V mV pV yV }V ‡V ‹V •V ˜V ¢V ¦V ¯V ¹V ÂV OW XW _W mW pW zW •W ‹W •W šW ŸW ©W ËX òX Y Y äY òY ùY Z Z Z Z !Z (Z 0Z 4Z AZ HZ VZ ^Z kZ rZ €Z ˆZ – Z •Z «Z ¶Z ¾Z ËZ ÔZ ÜZ åZ ïZ ùZ c\ p\ w\ …\ Ya ba ùa b tb •b ®f °f õh Ëi X ^ c f Ó" Ú" ð" ò" # F# P# S# Œ# •# Ž( •( ½( ¿( …* ‰* Ø* Û* –+ ™+ e- ”- —´- µ- ¹- ÷- ü- q2 t2 ˆ2 Š2 Æ2 È2 Î2 Ö2 í2 ö2 )3 ,3 _3 b3 c4 f4 )6 ,6 k7 n7 — 7 ¡7 •; „; µ; ¸; Ú; Ý; < <G<J<ŠB •B ÊB ÍB ÖC àC ™D D E &E 'E ,E —E œE ±F ÌF ôF þF éG H H H (H -H J J ?J CJ µM ¸M qN tN ÿN O O #O DO GO ùP üP <Q ?Q ÂS ÅS ÂV ÅV XW [W zW }W ©W ¬W KX OX sX wX šX žX ÂX ÆX ËX ñX )Y 2Y òY õY !Z $Z AZ DZ kZ nZ – Z ™Z p\ s\ •\ •\ ¾^ Ã^ Ï^ Ô^ b b èb ïb 8c ?c ‰c •c Ùc àc *d 1d zd •d Êd Ñd e !e je qe »e Âe õh Ëi 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 K … ô # Â Ê ó ú Z c G# q# Á* Í* ß* + $+ K+ ]+ «+ }. “. Þ. / a2 ~2 ª2 Í2 d6 w6 F; l; H -H UJ yJ fN ›N ´S ÛS ‚T ”T MV PV zV }V W JW žW ÍW ·Y ãY #_ ‘_ T` k` àa ùa Šb œb b Åb €c Ðc g g õh Ëi E ) Ÿ? õh Ëi Ï:! - & å % <6 _w7 ¥ @ a G 'G ñMG ¬ L »fM ZSW Xaf C[p >?‚ á ¬Lá ¥+ê Gñ «-÷ ¹C÷ o w n ÿÿ ÿÿ ÿÿ R o m a n 5 • ‡z € ÿ A r N e w ; • € W i ‡z a € ÿ T 7 ª KY 5 ¾ ª 3ƒQ ð H d a t a s e t i s a S c h e r r e r þÿ , 8 T ` ²W‚ ºrŒ •0• yc Ú'§ 5w° J1» –c F{Ê ç*Õ $Ù dÜ pù À û Ìvþ ‡|þ ÿ@ € ,™ Êi p @ ÿÿ ÿÿ ÿÿ ÿÿ G • ‡z € ÿ T i m e s € S y m b o l 3&• i a l ?5• ‡z € ÿ C o u r i e r n g d i n g s 5& a h o m a " q ˆ ðÐ h úE“Fœó“fÁ “† KY 5 ¾ ! ð ´ ´ •• 4 d Àh Àh ðÿ ? ä ÿÿÿ•ÿÿÿ•ÿÿÿ•ÿÿÿ•ÿÿÿ•ÿÿÿ•ÿÿÿ• Gñ ÿÿ s e t o f d a t a r e c o r d s P h i à…ŸòùOh «‘ +'³Ù0 ¤ ˜ Ì Ø ä ã U n k n N e w " A l i p ð ü l x „ Œ ” œ ä - # A dataset is a set of data records rdadadadaNormal.dot sPhilip Scherrer t o10 iMicrosoft Word 10.0 @ €5O @ >¬V# Å @ tl¶}$Å @ ¹ºw5Å ª KY þÿ ÕÍÕœ. “— +,ù®D ÕÍÕœ. “— +,ù®d h ° Ð p ¸ • À ˜ È ¨ ÿ - ä - Stanford University a ¾ 5 # A dataset is a set of data records Àh : - Title Ø 8 @ _PID_HLINKS ä A • • 3 + h t t p : / / w w w . c s . m a n . a c . u k / ~ p j j / b n f / e b n f . h t m l ! " # $ % &' ( ) * + , . / 0 1 2 3 4 5 6 7 8 9 : ; <= >? @ A B C D E F G H I J K L M þÿÿÿO P Q R S T U þÿÿÿW X Y Z [ \ ] ^ _ ` a b c d e f g h i j k l m n o p q r s t u þÿÿÿw x y z { | } þÿÿÿ• € • ‚ ƒ „ … þÿÿÿýÿÿÿýÿÿÿ‰ þÿÿÿþÿÿÿþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿR o o t E n t r y ÿÿÿÿÿÿÿÿ À F À ûØw5Å ‹ € D a t a ÿÿÿÿÿÿÿÿÿÿÿÿ N 1 T a b l e ÿÿÿÿ V Þ? W o r d D o c u m e n t ÿÿÿÿ "š S u m m a r y I n f o r m a t i o n ( ÿÿÿÿÿÿÿÿÿÿÿÿ v D o c u m e n t S u m m a r y I n f o r m a t i o n 8 ÿÿÿÿÿÿÿÿ ~ C o m p O b j ÿÿÿÿÿÿÿÿÿÿÿÿ j ÿÿÿÿÿÿÿ ÿÿÿÿÿ þÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ þÿ ÿÿÿÿ À F Microsoft Word Document MSWordDoc Word.Document.8 ô9²q Karen Tian Powered by ViewCVS 0.9.4