DESL


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

( CC) Details concerning the DESL stack command.


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

The DESL "stack" command provides the capability to the user to append existing SIF file(s) onto a single new SIF file. If a list of variable names is specified via the "names" option then this specified list of variables retaining the names which are actually on the SIF file being processed WILL be the names record of the new file being produced. The default condition (without "names" specified) is for the new file to contain everything on the files being stacked but without superfluous NAMEs records.


The list of currently available options for the stack 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] [backward] [constant] [cset] [elsek] [endifk] [eqtol] [files] [ifk] [incrfile] [incrrec] [names] [newfiles] [newfilex] [noappend] [nominal] [noop] [pathfile] [paths] [setval]

[Top][Bottom][Option list]

( CCaltvars) (Command :stack) 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]

( CCbackward) (Command :stack) 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.

[Top][Bottom][Option list]

( CCconstant) (Command :stack) Details for the constant option.

[General syntax rules for this keyword.]

constant name value ( [ name value ] ... ) .

Allows the user to add constant names/values, indicated in the above by pairs of "name" and "value", to the new file being produced by the current stack operation. Up to 200 constant name-value pairs can be specified.

Example : constant flap1 15 slat2 2.5

[Top][Bottom][Option list]

( CCcset) (Command :stack) 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]

( CCeqtol) (Command :stack) 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]

( CCfiles) (Command :stack) Details for the files option.

[General syntax rules for this keyword.]

Indicates the file(s) to be stacked into a single new file. The first existing file in the list of file(s) will establish the names record for the new SIF file being created unless the "names" option/argument list is also specified. With or without "names" specified, and WITH the "noappend" option, any variable which does NOT exist in the file being copied will have its corresponding value set to the "setval" value. WITHOUT the "noappend" option specified, each file will be, in effect, concatenated to the end of the accumulating new SIF file, without regard to whether the SIF files' NAMEs records change or not.

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 500 files can be explicitly or implicitly specified.

Example : files x10 thru x18 <fxlist5

[Top][Bottom][Option list]

( CCincrfile) (Command :stack) Details for the incrfile option.

[General syntax rules for this keyword.]

incrfile name value1 value2 ( [ name value1 value2 ]...)

Allows the user to add new names/values to the new file being produced by the current stack operation. The variable names, indicated by "name" above, will have associated values which begin with "value1" for the first existing file being stacked and increase by "value2" for every existing file being stacked thereafter. Up to 200 "incrfile" sets can be specified.

Example : incrfile newrun 1 1

[Top][Bottom][Option list]

( CCincrrec) (Command :stack) Details for the incrrec option.

[General syntax rules for this keyword.]

incrrec name value1 value2 ( [ name value1 value2 ]...)

Allows the user to add new names/values to the new file being produced by the current stack operation. The variable names, indicated by "name" above, will have associated values which begin with "value1" for the first record in each existing file being stacked and will increment by "value2" for each record stacked. Up to 200 "incrrec" sets can be specified.

Example : incrrec newpoint 1 1 seq 10 10

[Top][Bottom][Option list]

( CCnames) (Command :stack) Details for the names option.

[General syntax rules for this keyword.]

Indicates the list of names to be the names record of the file being created, assuming all of the specified names are actually on the incoming SIF files. Any names not found on the files will be neglected. Up to 3500 names can be specified.

Example : names run mach alpha beta cl

[Top][Bottom][Option list]

( CCnewfiles) (Command :stack) Details for the newfiles option.

[General syntax rules for this keyword.]

Indicates the desired name for the new file being produced. The new file named via "newfiles" will be flagged as a file "to be RETAINED" at cleanup. (See the "cleanup" command.) The default file name generated for the new file not explicitly named via "newfiles" or "newfilex" is the 3-character string "gen" followed by a unique numeric suffix.

The name of the new file 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. If a ">list"- or ">>list"-type argument is specified, where "list" is the specified file name list, the name of the new file 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.

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

(Begin modifications on 052102)

The 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 new1 thru new10 >stlist3

[Top][Bottom][Option list]

( CCnewfilex) (Command :stack) Details for the newfilex option.

[General syntax rules for this keyword.]

This option has exactly the same function as the option "newfiles" except that the new file created with a "newfilex" name is flagged as a file to "PURGE at cleanup". (See "newfiles" option. See "cleanup" command.)

Example : newfilex new1 thru new10

[Top][Bottom][Option list]

( CCnoappend) (Command :stack) Details for the noappend option.

[General syntax rules for this keyword.]

The presence of this option forces ALL SIF records in the "stacked" file being generated to the width of the FIRST NAMEs record in the FIRST file being stacked; ie, to force ALL records in the NEW file to contain the SAME variables that were contained at the beginning of the FIRST SIF file stacked. This option has no effect if a list of "names" is also specified. Any of the first file's set of variables NOT found in subsequent record will be included on the SIF file being produced but will have an associated value equal to the "setval" value.

The default situation is to, in effect, concatenate all mentioned SIF files, regardless of the "widths" of such files; ie, the resulting SIF file will not necessarily have all of the same variables defined in all records. To the "base" of variables set established, whether the "noappend" option is specified or not, is added any new "nominal" variables actually found in the corresponding ORIGINAL sif names record(s) as the files to stack are processed.

[Top][Bottom][Option list]

( CCnominal) (Command :stack) Details for the nominal option.

[General syntax rules for this keyword.]

Up to 10 new "nominal" SIF variables can be added to each SIF file based on the existing values of other SIF variables. Following the "nominal" option there can be up to 10 SETS of arguments defining the parameters used in the determination of these new nominal values. Each argument set must contain two SIF variable names and from 1 to 100 triplets of values. The FIRST SIF variable name of each set is the name of a new, nominal-value variable. The values assigned to this variable are based on the values of the SECOND variable name in the argument set. Each of the up-to-100 three-value groups of values which must follow the SECOND SIF variable name defines respectively (1) a new nominal value, (2) a lower range value, and (3) an upper range value.

As each SIF file is processed the values assigned to new each nominal variable will be that "new nominal value", as defined in (1) above, which falls between the lower and upper ranges of values, as defined in (2) and (3) above, which contains the values of the SECOND SIF variable in the records of the SIF file being processed. If there is no match between the file's value and any specified range the nominal-value variable will be assigned the "setval" value.

Example : nominal newmach mach .2 .19 .21

[Top][Bottom][Option list]

( CCnoop) (Command :stack) 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]

( CCpathfile) (Command :stack) 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]

( CCpaths) (Command :stack) 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]

( CCsetval) (Command :stack) Details for the setval option.

[General syntax rules for this keyword.]

Indicates the value to use as the default value for variables which do not exist in the file(s) being stacked. Also, the "setval" value will be used to define "nominal-value" variables which would otherwise be undefined.

Example : setval 7000

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