DESL


DESL Home | Website Outline | Commands | Examples | Download | Contacts

( BI) Details concerning the DESL merge command.


(See example(s) of the use of the merge command.)
[Jump to the list of available options.]
General description of the merge command :

The DESL "merge" command provides the capability to produce one new file per "group" of specified SIF files; ie, each new file will contain SIF variables which have been been extracted from respective files in each group of files. If "extend" is NOT specified, each of the files to be merged should have the same number of records OR should be able to be fit to achieve this state. If two or more files to be combined have an unequal number of records a "fit" of the required file(s) can be performed before the merge actually takes place.


The list of currently available options for the merge command is the following.

Any blinking names enclosed in brackets are required or are in a set of options, one of which must be specified. Any non-blinking names enclosed in brackets are optional or are in a set of options, only one of which can be specified.

In cases where the option name is one of a set each different set number is indicated by a red numeric set number superscript trailing the respectiveright bracket :

[align]1 [altvars] [backward] [cset] [curve] [delta] [elsek] [endifk] [eqtol] [extend] [files] [fit] [fitmethod] [group]1 [ifk] [names] [nameset] [newfiles] [newfilex] [nobias] [noop] [order] [pathfile] [paths] [setval] [sum] [tol] [values] [vfiles]

[Top][Bottom][Option list]

( BIalign) (Command :merge) Details for the align option.

[General syntax rules for this keyword.]

The presence of this option indicates that the user wishes to (1) have the files merged in groups of 2 and (2) imply the specification of "extend" during the combination of pairs of files, the first of which contains the desired values of an alignment variable and the second of which is to be merged according to its alignment variable's value.
.

(Begin modifications on 020303)

This option name is followed by one or more pairs of alignment variable names, in a 1:1 correspondence with the list of file name pairs.

(End modifications on 020303)

An exact match of the alignment variables must occur to have the information from the second file of the pair become part of the merged result. If no exact match is found, values of the merge variables from the second file of the pair will be set to the "setval" value.

There is an implicit assumption that both of the files in each pair of files is ALREADY ordered in an INCREASING manner with respect to the values of each of the two alignment variables. If either one is NOT so ordered the merge will still occur but the results will most likely be NOT what the user desired. No "fit" can be expressed or implied when "align" is specified because "align" implies "extend" and extend precludes a fit.

Example : align point pt

[Top][Bottom][Option list]

( BIaltvars) (Command :merge) Details for the altvars option.

[General syntax rules for this keyword.]

The presence of this option indicates that IF there is an active composite alternate SIF variable name file (as established via the "variables" DESL command) then this composite file will be used to attempt to assign an alternate SIF variable name if a SIF variable would otherwise not be found on the file(s) being processed.

[Top][Bottom][Option list]

( BIbackward) (Command :merge) Details for the backward option.

[General syntax rules for this keyword.]

Indicates that searching for SIF variables will be done from back to front in the SIF records. The default condition is to search from front to back.

[Top][Bottom][Option list]

( BIcset) (Command :merge) Details for the cset option.

[General syntax rules for this keyword.]

This option is used to specify "file-specific" conditions which, IN ADDITION to any other GLOBAL conditions which ALSO may have been specified, are to be applied to each SIF record processed from the respective SIF file. Just like global conditions, file-specific conditions act to limit the applicability of the DESL function being executed by requiring that ALL applicable "and" conditions be TRUE simultaneously or that at least ONE "or" condition be TRUE.

The item immediately following "cset" is the file sequence number in the "files" list for which the following up-to-20 conditions will be applicable.

Each file-specific 3-item condition, like its global 3-item condition counterpart, is made up of (1) a SIF variable name, (2) a 2-character logical conjunction, and (3) a second SIF variable name or a constant.

Example : cset 3 alpha gt phi mach lt 1.2

Here, the user has indicated that, along with whatever other GLOBAL conditions may have been specified, the pertinent DESL function, for the THIRD file specified or implied by the "files" list, will have its application ALSO limited to records which satisfy BOTH of the two conditions :

"ALPHA gt PHI" "MACH lt 1.2".

All file-specific conditions are implicitly joined by an "and" conjunction; ie, by default, all file-specific conditions would have to be true SIMULTANEOUSLY for the applicable record to be retained.

If one or more file-specific conditions following the file sequence number is to be connected to other file-specific conditions for the same file number by an "or" conjunction, then the 2-character item "or" must immediately follow the file number.

Example : cset 2 or alpha lt 0 alpha gt 4

Here, the user has indicated that, along with whatever other GLOBAL conditions may have been specified, the pertinent DESL function, for the SECOND file specified or implied by the "files" list, will have its application ALSO limited to records in which the value of the SIF variable "alpha" satisfies at least ONE of the conditions :

"ALPHA lt 0" "ALPHA gt 4".

Additionally, if the file number following the "cset" option is negative, the absolute value of this negative file number is used for the actual file number and the associated "and" or "or" condition(s) are NOT used in the traditional sense of filtering the records read but are ONLY used to indicate when READING of the associated file is to STOP. This ability is useful in preventing the reading of a long file when it is known that the data required is relatively near the beginning of the file.

Example : cset -1 or run eq 3 alpha gt 24

Here, the user has indicated that when a record is encountered for which either or both of the two conditions

"RUN = 3" "ALPHA gt 24",

is/are TRUE, reading of the current SIF file should end.

The file-specific (or global) conditions which are specified are NOT used in determining the values of the independent variables from another file, if a fit is to be done.

[Top][Bottom][Option list]

( BIcurve) (Command :merge) Details for the curve option.

[General syntax rules for this keyword.]

Indicates the type of curve fit desired. The item following "curve" should be either "poly", indicating a piecewise-polyno fit, or "lsq", indicating a least- squares fit. The default curve type is "poly". If "curve" is specified a fit is implied.

Example : curve lsq

[Top][Bottom][Option list]

( BIdelta) (Command :merge) Details for the delta option.

[General syntax rules for this keyword.]

Indicates up to 200 variables to define as a function of the difference of pairs of two other specified variables. Following the "delta" option should be collections of 3-item sets of variable names. Each set of names represents (1) the new variable being defined, (2) the name of the variable from the FIRST file of a pair of files being merged and (3) the name of the variable from the SECOND file of a pair of files being merged. Up to 200 sets of these three-item names can be specified. The second and third names are the names as they exist in the respective files before any renaming would occur via the use "nameset" options.

The "merge" command can deal with more than 2 files but the "delta" option will ONLY be applied to situations in which "merge" is dealing with 2 files or groups of 2 files at a time.

The new variable, after any desired alignment via fitting may be applied, is created from each pair of existing variables by the following : new_variable = exist_var#1 - exist_var#2.

The new file(s) produced by merge will contain one new variable for each set of "delta" names specified.

Example : delta dalpha alpha alpha

[Top][Bottom][Option list]

( BIeqtol) (Command :merge) Details for the eqtol option.

[General syntax rules for this keyword.]

Indicates the tolerance to be applied to any global or file-specific "eq" condition(s) which may have been specified. If the tolerance value specified is positive the value is in the units of the variable being used in the respective condition(s). If the tolerance value is negative the absolute value of the value is a PERCENT difference. The default value of tolerance is 0.

Example : eqtol .5

[Top][Bottom][Option list]

( BIextend) (Command :merge) Details for the extend option.

[General syntax rules for this keyword.]

If any of files 2-->n of a "group" of files does NOT contain enough data records to match 1:1 with those of the first file of the group and fitting is NOT also being done, then the 2nd through the nth file can be "extended", by inclusion of this option, to achieve this required 1:1 correspondence: ie, the LAST record read from a file with an inadequate number of records will effectively be replicated the required number of times.

[Top][Bottom][Option list]

( BIfiles) (Command :merge) Details for the files option.

[General syntax rules for this keyword.]

Indicates one or more group's worth of file(s) to be merged into one new file per "group" according to the other option and arguments specified. If the "values" and/or "vfiles" options are not specified, then the first existing file in each "group" of files in this list will determine (1) the set of independent variable values to use for any required fit calculations for the rest of the files in the group, OR (2) the NUMBER of records to be contained in each new merged file if NO FIT is being done. (See "extend".) The set of independent variable values determined in the process of fitting is NOT subject to any limitation(s) based any conditions which may have been specified.

This list of files can be implicitly extended via use of the <list argument which can appear among the specified file names. If one or more of the <list-type arguments are specified, where "list" is a currently defined file name list, the file names contained in the indicated file name list(s) will be included, at their respective point(s) of encounter, in the current file list. The referenced list(s) must have been produced by the "newfiles" and/or "newfilex" argument lists associated with one or more previously executed DESL commands. Each "list" name can be up to 15 characters long. File names can also include the {...} construct. This type specification within a file name implies that the list name given between the curly brackets ( {} ), is to be used to have each of its elements substituted in turn for the { ... }, inclusively, such that an implicit lengthening of the file list is accomplished, up to the maximum number of files allowed. Any time such a {...} usage occurs, all lists mentioned must exist; i.e., must have been previously defined in the current DESL session. Only one {...} construct can be included in a file name. Including more than one such construct will result in unpredictable results.

An example of this type of file name specification is the following :

t43r{runs}.sif

Here, the list "runs" will have its elements used, in turn, in place of the {runs} substring.

.

(Begin modifications on 052102)

Each file name, whether it includes the {...} or not, can be a maximum of 256 characters long. If a file name is more than 16 characters long it must be enclosed in question marks (?) .

(End modifications on 052102)

Up to 200 files can be explicitly or implicitly specified.

Example files run1 [Top][Bottom][Option list]

( BIfit) (Command :merge) Details for the fit option.

[General syntax rules for this keyword.]

Indicates that a fit is to be attempted before the merge takes place. If two or more of the files to be merged have different numbers of records a fit MUST be performed OR the "extend" option must also be specified. If no "values" are specified, the values of the independent variables (as indicated via "names") will be extracted from the first file of each group and used for the fit of the remainder of the files in that same group.

If no independent variable values are specified via the "values" argument list it is implied that these values will be obtained from the FIRST file in each group of files being merged; in effect, the "vfiles" file name(s) will be set, per group, to the FIRST file per group, unless explicit "vfiles" file names are also specified.

In any case, if "vfiles" file names are specified or implied and if one or more global and/or file-specific conditions are specified the conditions will NOT be used during this process of determining the independent variable values.

[Top][Bottom][Option list]

( BIfitmethod) (Command :merge) Details for the fitmethod option.

[General syntax rules for this keyword.]

The value following this option indicates which previous polynomial fitting method to use. The default method is the latest method. Method 1 was employed from the inception of DESL until approximately 1/25/99. This method involved, for the determination of the coefficients of a second or third order fit, the solution of two second or third order equations, respectively, and one or two lower order equations which governed the slopes of the piecewise line through the points in question. The latest method involves the solution of three or four second or third order equations without any governance of the slopes.

Example : fitmethod 1

[Top][Bottom][Option list]

( BIgroup) (Command :merge) Details for the group option.

[General syntax rules for this keyword.]

If "group" is specified then the following values indicate which specified files are to be considered to be contained in up to 100 groups being established. One new file is produced for each group defined. The default condition is for all files to be considered to exist in one group. The total number of files in all groups cannot be greater than 200.

Example : group 4 2 3

[Top][Bottom][Option list]

( BInames) (Command :merge) Details for the names option.

[General syntax rules for this keyword.]

Indicates the list of independent variable names to be used if a fit is specified or implied. There should be one variable name specified for each file of a group; ie, the number of independent variables must be the same as number of files in the longest "group" specified. If at least one but not enough such names are specified, the required names are set by extending the last specified independent variable name to complete the list. At least one independent variable must be specified if a fit is to be done.

Example names alpha alpha alpha

[Top][Bottom][Option list]

( BInameset) (Command :merge) Details for the nameset option.

[General syntax rules for this keyword.]

Indicates the variables to extract from a SIF file and carry into a file being produced in the current merge operation. The numeric "id" which must follow the "nameset" option indicates WHICH file in a "group" the associated "nameset" variable names are to apply to. The "id" value should not exceed the number of files specified and must never exceed the maximum allowable number of files, 200. The total number of variables specified or implied in all "nameset" argument list(s) cannot exceed 1000. The special name "all" can be included if it is desired that ALL variables from a particular group's SIF file should be included in the new file being produced.

In the case where a fit is NOT to be done also the number of variables on the file(s) which are to have "all" of their variables moved into the new file(s) does count toward the allowable maximum number of names, 1000.

If the special name "all" is specified AND a fit is to be done the implication is that the user wishes as many SIF variables as possible, up to the 200-name limit and including the name of the independent variable as specified via "names" to be included in the list of dependent variables. The "nameset" expansion via the use of "all" is done ONCE per GROUP of files being merged; the list of dependent variable names built via "all" is built from the names in the beginning of the FIRST file in each group of files being processed.

Variables can be renamed as they are moved into the new file(s) being produced : The nameset form "... name2 = name3 ..." indicates that the the variable "name3" is to be pulled out of a file being merged and have the name "name2" in the new file being produced.

Example : nameset 1 alpha1 = alpha cl1 = cl

[Top][Bottom][Option list]

( BInewfiles) (Command :merge) Details for the newfiles option.

[General syntax rules for this keyword.]

Indicates the desired names for new files being produced. There is an understood 1:1 correspondence between the number of groups and files in the "newfiles" list; one new file is created for each "group" of files specified. A new file name prefixed with the 4-character string "null" can be used as a place holder in the "newfiles" file names list. This type of name is converted to a blank string before it is used; ie, using a "null" prefixed name is equivalent to having not specified that name at all. By default, all files explicitly named via this "newfiles" list will be flagged as a file "to be RETAINED" at cleanup. (See the "cleanup" command.) The default file name generated for a new file not explicitly named via "newfiles" or "newfilex" is the 3-character string "gen" followed by a unique numeric suffix. Up to 200 new files can be specified.

The list of the names of the new files actually produced can be saved via the use of the ">list"- or ">>list"- type argument, which can appear among the specified new file names. If a ">list"- or ">>list"-type argument is specified, where "list" is the specified file name list, the names of the new files which DESL actually produces during the execution of the current command will be saved in the specified file name list.

This file name list can later be referenced by the "files"/"xfiles" options to imply the file names contained therein. Up to 200 new file names can be saved in any one list. If the ">list" argument is specified the named list will be created if it does not already exist, or will overwrite a like-named list if one exists. If the ">>list" argument is specified the named list will be appended to if it exists or will be created if it does not exist. All file name lists are in existence for the current DESL session only. Each "list" name can be up to 15 characters long.

In all but a few noted cases, it is acceptable to use the ">list" or ">>list"-type argument without specifying a full complement of actual new file names. Any new file produced whose NAME is GENERATED by DESL is ALWAYS marked as a file to "PURGE at cleanup".

A suffix which may be in effect as established via the filesuffix DESL command will be added to any expressed or implied new file name. New file names can also include the {...} construct. This type specification within a file name implies that the list name given between the curly brackets ( {} ), is to be used to have each of its elements substituted in turn for the { ... }, inclusively, such that an implicit lengthening of the new file list is accomplished, up to the maximum number of new files allowed. Any time such a {...} usage occurs, all lists mentioned must exist; i.e., must have been previously defined in the current DESL session. Only one {...} construct can be included in a new file name. Including more than one such construct will result in unpredictable results.

An example of this type of new file name specification is the following :

t43r{runs}.sif

Here, the list "runs" will have its elements used, in turn, in place of the {runs} substring.

.

(Begin modifications on 052102)

Each new file name, whether it includes the {...} or not can be a maximum of 256 characters long. If a newfile name is more than 16 characters long it must be enclosed in question marks (?).

(End modifications on 052102)

Example : newfiles >mlist file1 thru file4

[Top][Bottom][Option list]

( BInewfilex) (Command :merge) Details for the newfilex option.

[General syntax rules for this keyword.]

This option has exactly the same function as the option "newfiles" except that all new files created via a "newfilex" name are flagged as files to "PURGE at cleanup". (See "newfiles" option. See "cleanup" command.) Up to 200 new files can be specified.

Example : newfilex file1 thru file4

[Top][Bottom][Option list]

( BInobias) (Command :merge) Details for the nobias option.

[General syntax rules for this keyword.]

Normally, to try to account for circumstances in which the magnitude of the implied or expressed independent variable values is large, the independent variable values are "biased" by their mean value before the arithmetic is done to compute the fitted curves' coefficients. The accuracy of the resulting fitted values of dependent variable(s) is improved by biasing. If it is desired that no biasing be done in the process of determining the new values of dependent variable(s) the "nobias" option can be specified.

[Top][Bottom][Option list]

( BInoop) (Command :merge) Details for the noop option.

[General syntax rules for this keyword.]

A dummy option which allows one or more GLOBAL conditions to follow. This option has NO OTHER FUNCTION.

[Top][Bottom][Option list]

( BIorder) (Command :merge) Details for the order option.

[General syntax rules for this keyword.]

Indicates the highest order of curve fit allowed. The maximum order of fit when "curve" = "poly" is 3. The maximum order of fit when "curve" = "lsq" is 7. In some cases, when the situation regarding the number of existing data points in a file dictates it, this order may be temporarily reduced. The default order is one (linear). During extrapolation, the order is always one. If "order" is specified, a fit is IMPLIED.

Example : order 1

[Top][Bottom][Option list]

( BIpathfile) (Command :merge) Details for the pathfile option.

[General syntax rules for this keyword.]

If specified, any up-to-16-charact string specified via the "paths" option and argument list can be translated to an up-to-64-charact string. If a specified "paths" string matches a string in the left column in the path file, then the (potentially longer) string in the right column in the same line in the path file is substituted for the original string. The rules for the syntax of a path file are the following :

  1. all lines are ASCII
  2. any line beginning with "* " is a comment and is ignored (asterisk + one or more blanks)
  3. blank lines are ignored
  4. only 2 items per line per translation : the first up to 16 characters and the second up to 64 characters. Any string longer than 16 characters MUST be enclosed in question-mark (?) delimiters.
  5. free-field interpretation, therefore embedded blanks require the "?" delimiters
  6. first item is name to be translated; must match VERBATIM with path name specified or implied via "paths" argument list
  7. second item is the corresponding path name translation

An example of such a file is the following :



*
*  Example path file for test xxx
*
*  item  1 = path to be translated : MUST
*             match VERBATIM with name given
*             specified/implied via "paths"
*
*  item  2 = resulting name translation
*
data56    ? \usr\home2\ people\test56\ ?
up  ?..\?
way-up  ? ..\..\..\ Temp46\?


Example : pathfile pathA

[Top][Bottom][Option list]

( BIpaths) (Command :merge) Details for the paths option.

[General syntax rules for this keyword.]

Indicates, in a 1:1 correspondence with the list of files specified, directory locations for the specified files. These locations supersede the current directory. If a file location thus specified is not empty ("null...") a search for the respective file will be made at the indicated location before a search is made at any other alternate locations which have been made effective via a previous execution of the "path" command. By default, all path names are blank. Up to 200 path names can be specified.

Example : paths ..\ ..\Main\ sub1\

[Top][Bottom][Option list]

( BIsetval) (Command :merge) Details for the setval option.

[General syntax rules for this keyword.]

Indicates the value to use as the value for all variables in each MISSING record in the file(s) being "aligned".

Example : setval 8888

[Top][Bottom][Option list]

( BIsum) (Command :merge) Details for the sum option.

[General syntax rules for this keyword.]

The presence of this option indicates that the user wishes that the "delta" option, also specified, will cause the two pertinent data sets to be added together rather than subtracted .

[Top][Bottom][Option list]

( BItol) (Command :merge) Details for the tol option.

[General syntax rules for this keyword.]

Sets the allowable tolerance between adjacent independent variable values in each set of such variable values being used for the curve fit. Successive values of the independent variable are not used to determine the curve fit if they fall within the specified tolerance of the most previous retained independent variable value. If the specified tolerance value is negative, it is assumed to be a tolerance in percent, and the tolerance percent value is the absolute magnitude of the number specified. The default tolerance is 1 percent. The "set" of independent variable values is reordered to be monotonically increasing after it is produced.

Example : tol 2

[Top][Bottom][Option list]

( BIvalues) (Command :merge) Details for the values option.

[General syntax rules for this keyword.]

Indicates the set of independent variable values to use for each file being fit. The default set of independent variable values is that which is extracted from the first existing file of each "group" of files in the "files" list or the respective file named in the "vfiles" argument list per group of files. If both "values" AND "vfiles" are specified, "values" has precedence. Up to 2500 values can be specified. The independent variable values enter via "values" are NOT subject to limitation(s) based on any conditions which may have been specified.

Example : values 3.7 4.2 6.7 10 to 20 by 1

[Top][Bottom][Option list]

( BIvfiles) (Command :merge) Details for the vfiles option.

[General syntax rules for this keyword.]

Indicates, per "group" of files, the file(s) to access to attempt to extract values of the independent variable for each file being fit. If one or more global and/or file-specific conditions are specified they will NOT be used during this process of determining the independent variable values.

Example : vfiles set1 set2

[Top][Bottom][Option list]


DESL Home | Website Outline | Commands | Examples | Download | Contacts




ViGYAN, Inc.


DESL Manager at ViGYAN, Inc.

30 Research Drive
Hampton, VA 23666
Voice: (757) 865-1400
Toll Free: (800) 288-3998
FAX: (757) 865-8177

© 1998 ViGYAN, Inc.