DESL


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

( CB) Details concerning the DESL spawn command.


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

The DESL "spawn" function allows the user to split each of one or more SIF files into new files based on changing values of a named SIF variable. Additionally, the names of the new files produced can be constructed based upon the values of specified SIF variables contained therein.


The list of currently available options for the spawn 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 :

[altvars] [at] [backward] [cset] [elsek] [endifk] [eqtol] [files] [ifk] [names] [newforms]1 [newformx]1 [noop] [pathfile] [paths] [sortnames]

[Top][Bottom][Option list]

( CBaltvars) (Command :spawn) 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]

( CBat) (Command :spawn) Details for the at option.

[General syntax rules for this keyword.]

The "at" option is followed by the variable name which will serve as a parameter upon which to determine the positions in the specified files to spawn new SIF files. The variable name can be followed by a tolerance value. The default tolerance value is -5, meaning 5 percent. The tolerance value, specified or default, is the maximum amount by which the specified variable's values can vary from record to record without triggering the generation of a new file. If the tolerance value is specified as a positive number, the magnitude is in the units of the "at" parameter.

If the tolerance value is specified as a negative number, the absolute magnitude of the value is in percent. If the value of the specified variable, from record to record as each file is read, changes by more than the tolerance value, in parameter units or percent, a new file is spawned and the creation of another new file begins. If the "at" option is NOT specified all files being processed will NOT be subdivided. The absence of "at" is most useful when executing "spawn" ONLY in order to sort the records of the files being processed.

Example : at run 1

[Top][Bottom][Option list]

( CBbackward) (Command :spawn) 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. This option has no effect if "names" is not also given or if "sort" is not specified.

Example : backward

[Top][Bottom][Option list]

( CBcset) (Command :spawn) 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.

[Top][Bottom][Option list]

( CBeqtol) (Command :spawn) 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]

( CBfiles) (Command :spawn) Details for the files option.

[General syntax rules for this keyword.]

Indicates the names of the file(s) to be read and split up into new files based on the value of the "at" variable values.

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 c19 thru c12 <flist1 c15

[Top][Bottom][Option list]

( CBnames) (Command :spawn) Details for the names option.

[General syntax rules for this keyword.]

Indicates the SIF variables to retain in each SIF record of each SIF file being spawned. The default condition, ie, if no "names" are specified, is to retain all of the names in each of the SIF records in the SIF files being spawned. Up to 500 names can be specified.

Example : names alpha beta cl cd

[Top][Bottom][Option list]

( CBnewforms) (Command :spawn) Details for the newforms option.

[General syntax rules for this keyword.]

The arguments following the "newforms" option indicate the components of the names of the new files which will be produced. The general form of the "newforms" argument list is the following, where the square bracketed enclosures are required and the parenthetical enclosures are optional :

newforms ( [ "string" ] / [SIF_name (digits) ] )1 ()2 ...

In the example above, the bracketed items are separated by a slash which indicates that ONE of the bracketed sets of input is required.

By default new files named via this "newforms" list will be flagged as files "to be RETAINED" at cleanup. (See the "cleanup" command.) The default file names generated for the new files not able to overstore existing files by the same name is the 3-character string "gen" followed by a unique numeric suffix.

If a "string" is specified, via enclosing a string in double quotation marks, then the literal string, without the quotation marks, will be made a part of the new file name(s). If a SIF variable name is specified (string NOT enclosed in double quotation marks) then the value which that variable had in the LAST record of the new file being spawned is encoded in the respective new file name. The number of digits which are extracted from the SIF variable's value is governed by the value which can follow the SIF name. If no value is specified, the number of digits is +8.

If the number of digits is positive, then this number represents the MAXIMUM number of digits of the integral part of the value which will be encoded in the new file name. If LESS than the allowable number of digits are required to contain the value, less digits will be used. If MORE than the allowable number of digits are required to contain the value, the value is truncated ON THE LEFT SIDE to produce a new value which can be encoded in the allowable number of digits. If the maximum number of characters which the new file name can be, 256, is reached before one or more desired values has been encoded in the file name, the last value which partially fits will be truncated, also on the left end, and encoded in the new file name. No additional strings or values will be encoded.

If the number of digits is negative, the same rules governing file name value/string encoding apply except that the absolute value of the number of digits specified will be the EXACT number of digits used to encode a respective value. In this manner, sections of new file names can be composed of numbers with leading zeros. Example : run034

.

(Begin modifications on 052102)

Up to 20 strings and/or SIF names and number-of-digits specifications can follow "newforms". Up to 256 characters will be encoded into any one new file name.

(End modifications on 052102)

The name of the new files actually produced can be saved via the use of the ">list"- or ">>list"-type argument, which can appear along with the specified new file name components. 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 name contained therein. 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.

Example : newforms "T" test 4 "R" run -4

[Top][Bottom][Option list]

( CBnewformx) (Command :spawn) Details for the newformx option.

[General syntax rules for this keyword.]

This option has exactly the same function as the option "newforms" except that the new files created with a "newformx" option are flagged as files to "PURGE at cleanup". (See "newforms" option. See "cleanup" command.)

Example : newformx "T" test 4 "R" run -4

[Top][Bottom][Option list]

( CBnoop) (Command :spawn) 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]

( CBpathfile) (Command :spawn) 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]

( CBpaths) (Command :spawn) 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]

( CBsortnames) (Command :spawn) Details for the sortnames option.

[General syntax rules for this keyword.]

If specified, the field following "sortnames" is the primary sort variable. The primary sort variable is used to reorder each SIF file being read BEFORE data filtering via optional conditions has occurred. The type of reordering which is done is governed by the item following the primary sort variable name. The string "incr" or "decr", following the primary sort variable name, implies that the data should be reordered to be increasing or decreasing, respectively, based on the values of the primary sort variable in each file being read.

It may be desired that, after a file has been reordered based on the primary sort variable, it should be further reordered based on the values of a secondary sort variable. This would normally be done for sorted files which contain groups of records which correspond to constant values of the primary sort variable. If a secondary sort variable is to be used, its name should follow the "incr" or "decr" primary sort variable direction argument. If the secondary sorting is to cause pertinent records to be reordered in a decreasing order, the "decr" argument should follow the secondary sort variable name. Otherwise, the secondary sort will be incrementing. Only the first 10,000 DATA records in each file will be read when sorting. If "sortnames" is specified a limit of 3500-element SIF records is (still) imposed. (The limit of 100000 elements is suspended in this case only.)

Example : sortnames run incr alpha decr

[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.