AG) Details concerning the DESL
copy command.The DESL "copy" function will, for each SIF file specified, produce a new SIF file containing all or part of each of the files being copied. New files can contain any combination of the following :
Any 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 :
AGaltvars)
(Command :copy) Details for the altvars option.
AGavg)
(Command :copy) Details for the avg option.The procedural sequence of (1) voiding, then (2) accounting for frequency via "dfreq", and then (3) averaging, is always maintained. If the number of consecutive data records to average is greater than the total number of data records in the file, the number of data records to average is effectively reset to the total number of data records in the file; at least ONE average record will be created. After at least one average record is written to a new file, if the file ends before another average record can be written, the average which was in the process of being computed will be abandoned. If one or more of the "names" specified are not found SOMEWHERE in the SIF file being processed - ie, the SIF file has multiple NAMEs records, and at least one of them does NOT contain at least one of the "names" specified - then the processing of the current file will abandoned, with an attendant message to the screen and log file.
If "collapse" or "expand" is also specified no record averaging will occur.
Example : avg 1 1 4 2
AGbackward)
(Command :copy) Details for the backward option.
AGcfiles)
(Command :copy) Details for the cfiles option.The primary intent of the capability provided via "cfiles" is to allow the inclusion of information which is considered to be CONSTANT; ie, information which would normally be the SAME in ALL SIF DATA records read. An example of this type of data would be pressure port location information.
If specified, and an adjunct file is found and is of a type consistent with the "cfrom" specified or default file type specifier, the contents of the NAMEs record and the FIRST DATA record on the named "cfiles" file is effectively merged into the NAMEs and DATA records, respectively, to result in read SIF records which are as if they had contained the adjunct information originally. Up to 1000 SIF items can be added from an adjunct file.
Example : cfiles add1 add2
AGcfrom)
(Command :copy) Details for the cfrom option.Example : from ffsif sif rep 3 ffsif
AGcollapse)
(Command :copy) Details for the collapse option.Example : collapse
AGcpaths)
(Command :copy) Details for the cpaths option.Example : cpaths ..\ ..\Main\ sub1\
AGcset)
(Command :copy) Details for the cset option.
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
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 :
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 :
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
is/are TRUE, reading of the current SIF file should end.
AGcount)
(Command :copy) Details for the count option.Example : count
AGcurvedata)
(Command :copy) Details for the curvedata option.The general syntax of the "curvedata" argument list is the following, where a "set" is enclosed by {} :
curvedata { # # ( to # ( by # ) )
fn cn ( x x_base ) ( y y_base ) ( z z_base ) }1
{ }2 ... { }20
The VALUES found in the "xlist, "ylist"
and/or "zlist" sequences
on a curve definition file are assigned
names constructed from
a respective "base name", as specified
after the "x", "y", and/or
"z" characters, by adding the corresponding
numeric suffixes to
the base names. SIF names can be up
to 8 characters long.
If the combination of the base name
and the numeric suffix
would produce a name greater than 8 characters
long, the left
side of the base name is truncated such
that the 8-character
limit is maintained.
The LOWEST number of items encountered when processing the
sequence of suffix numbers and the "xlist", "ylist" and/or
"clist" curve file sequences will be used as the number of
new SIF variables generated per set.
All sets specified will
be added, if possible, to each SIF
record processed just after
the SIF record is read.
Example : curvedata 1 to 16 fn1 cn1 x xloc y yloc
AGdfreq)
(Command :copy) Details for the dfreq option.The procedural sequence of (1) voiding, then (2) accounting for frequency via "dfreq", and then (3) averaging is always maintained.
Example : dfreq 4 1 1 6
AGeqtol)
(Command :copy) Details for the eqtol option.Example : eqtol .5
AGexclude)
(Command :copy) Details for the exclude option.
AGexpand)
(Command :copy) Details for the expand option.
Example : expand LHS = RHS1 thru RHS2
The idea here is to force files containing records which
contain "pressure" type information; ie, variables such
as RHS1, RHS2, ... to be reconfigured such that for each
record in a named file as many new records are generated
as there are "right-hand side" (RHS) names expressed or
implied after "expand". Each new record generated will
contain all of the variables specified after the "names"
option, or, if no "names" variable names were specified,
all of the original names, PLUS the NEXT expressed or
implied "right-hand side" (RHS) "expand" variable in the
complete list of RHS variables. In all cases the NAME
of the respective RHS variable will be the same as the
FIRST LHS variable specified. If there is no expressed
LHS name the first LHS name is the same as the first RHS
name. Any numeric suffix which would appear on the first
expressed or implied LHS name will be removed.
If both "collapse" and "expand" are specified "collapse"
will have precedence. No record averaging will occur
if "expand" is specified.
See the "mexpand" option.
Example : expand xcp = cp101 thru cp120
AGfiles)
(Command :copy) Details for the files option.Up to 200 files can be explicitly or implicitly specified. 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) |
| WARNING : This DESL command can only process SIF files. Attempts to process other file types will likely lead to abortion of the program. |
Example : files c19 thru c12 <flist1 c15
AGmakelist)
(Command :copy) Details for the makelist option.The arguments which follow the "makelist" option should be specified in pairs. Each pair is composed of a list name and a SIF variable name. There can be up to 200 pairs of these names - each pair in a 1:1 correspondence with the files named via the "files" option. The list names can be up to 16 characters long while the SIF variable names can be up to 8 characters long. During the processing of each SIF file, whether or not the "nonewfiles" has been specified, the records which could be copied onto any new SIF files being produced will have the values of the named "makelist" SIF variable saved in a buffer. Up to 500 values can be saved in this buffer. At the end of the file's processing the buffer is used to create the desired list name. Any list creation(s) will be reported.
The string "null" can be used to skip a position in the position-depende "makelist" argument order if it desired that an intermediate SIF file being processed NOT be used to produce a list. Since the "makelist" arguments must be supplied in pairs, the "null" place-skipping arguments must also be specified in pairs.
Example : makelist listA alpha listB beta
AGmexpand)
(Command :copy) Details for the mexpand option.
Example : mexpand set_number LHS = RHS1 thru RHS2
The idea here is to force files containing records which
contain "pressure" type information; ie, variables such
as RHS1, RHS2, ... to be reconfigured such that for each
record in a named file as many new records are generated
as there are "right-hand side" (RHS) names expressed or
implied after all "mexpand" specifications. The item
which must follow "mexpand" is the set number. The set
number is just a unique numeric identification number
from 1 to 10 indication which set of expansion names
is being defined. Each new record generated will
contain all of the variables specified after the "names"
option, or, if no "names" variable names were specified,
all of the original names, PLUS the NEXT expressed or
implied "right-hand side" (RHS) "mexpand" variable in all
of the (up to 10) sets of RHS variables. In all cases the
NAME of the respective RHS variables will be the same as
the FIRST LHS variable specified for each "mexpand" set.
Normally if more than one "mexpand" set of names is
specified all of the expansions are done simultaneously.
If, however, all of the lists are NOT the same length,
or if the number of names actually found for each list
is not the same, the length of the shortest list will
determine the number of new records which will be
generated per existing record.
If there is no expressed LHS name the first LHS name is
the same as the first RHS name. Any numeric suffix which
would appear on the first expressed or implied LHS name
will be removed. If both "collapse" and "expand" are
specified "collapse" will have precedence. No record
averaging will occur if "expand" is specified. See the
"expand" option.
Example : mexpand 2 xcp = cp101 thru cp120
AGnames)
(Command :copy) Details for the names option.Example : names alpha betax = beta cl cd
AGneofs)
(Command :copy) Details for the neofs option.Example : neofs 1
AGnewfiles)
(Command :copy) Details for the newfiles option.
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 >flist4 new1 thru new4 new21
AGnewfilex)
(Command :copy) Details for the newfilex option.Example : newfilex newr1 thru newr4 newr201
AGnonewfiles)
(Command :copy) Details for the nonewfiles option.Example : nonewfiles
AGnrecord)
(Command :copy) Details for the nrecord option.Example : nrecord 1 2 1 3
AGnoop)
(Command :copy) Details for the noop option.
AGonce)
(Command :copy) Details for the once option.Example : once run test config
AGpathfile)
(Command :copy) Details for the pathfile option.
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
AGpaths)
(Command :copy) Details for the paths option.Example : paths ..\ ..\Main\ sub1\
AGregset)
(Command :copy) Details for the regset option.
The general form of the "regset" argument list is :
regset file_no ( name reg_no rec_no )1 ( )2 ... ( )10
The "file_no" argument, which MUST follow "regset", is
(1) a number representing the "files" file sequence number
of the file whose values to access, or (2) is the string
"last", implying the last file in the sequence of files
which were specified. Following the "file_no" argument
are up to 10 sets of three-item groups.
The items in each specified group are, respectively,
(1) the name of the SIF variable to access,
(2) the User Register number to set (11 to 99), and (3) the
record number to access from which to extract the value
for the SIF variable specified. This third item in the
three-item group can also be "last" or "all". Any other
string is equivalent to having specified "all".
In the case wherein an actual record number is specified,
if the record number is larger than the number of records
which successfully pass through the possible filters
(void, averaging, etc), then the respective register is
NOT set. If "last" is specified, the record number is
effectively set to the last record which would be written
to the new file being produced. If "all" is specified
the value which will be set into the User Register is
an average of all of the records which would be written
to the new file being produced.
Example : regset 2 alpha 1 last point 2 1
AGsetvoid)
(Command :copy) Details for the setvoid option.Example : setvoid 880
AGstddev)
(Command :copy) Details for the stddev option."new_name = old_name"
construct, where the "new" name is the computed standard deviation variable name and the "old" name is the name of the corresponding SIF variable from which the standard deviation is calculated. If the "new_name =" part of the construct is absent then the existing SIF variable, which would normally contain the computed average value, will be overstored with the standard deviation value. If the "names" option and argument string is specified ONLY those standard deviation variables named as the "old" names which are ALSO in the "names" list will be written to the new file being created.
If one or more of the "old_names" specified are not found SOMEWHERE in the SIF file being processed - ie, the SIF file has multiple NAMEs records, and at least one of them does NOT contain at least one of the "old_names" specified - then the processing of the current file will abandoned, with an attendant message to the screen and log file.
The formula for the sample standard deviation is :
std_dev = sqrt [ ( Sum i=1,n {Xi-Xavg} ) / (n-1) ],
where,
Xi is each value of the X in the sample for
which the std. deviation is being calculated,
Xavg is the mean of all values of Xi in the sample
n is the number of values in the sample.
Example : stddev alphadev = alpha mach
AGsystem)
(Command :copy) Details for the system option.
11 .... Number of new files produced; sets *V1 1 ..... Name of first new file produced; sets *N1 2 ..... Name of last new file produced; sets *N2 12 .... Number of data records in first new file produced; sets *V2 13 .... Number of data records in last new file produced; sets *V3
Example : system 1 11 12
AGvfile)
(Command :copy) Details for the vfile option."Voiding" in these two cases means two different things:
All variables in the SIF record are available at the time the voiding is done, even if some subset of names have been specified via the names option.
The structure of a valid void file must adhere to the following rules :
Before the void file is used, by specifying "vfile" rather than "vfilen", and if the DESL session is purely interactive, the user will have the opportunity to edit the void file.
An EXAMPLE of a void file is the following :* * a comment line * * assign "ple" and "re" abbreviations * abbr ple ?point le? re ?run =? run=10 point ge 101 point le 120 re 10 point ge 153 ple 156 un32 * * deassign "ple" abbreviation * abbr ple null re 12 point ge 101 point le 120 * *
An EXAMPLE of a "keep" file is the following :
* * a comment line * keep * * assign "ple" and "re" abbreviations * abbr ple ?point le? re ?run =? run=10 point ge 101 ple 120 re 12 point ge 101 point le 120 * *
The procedural sequence of (1) voiding, then (2) accounting for frequency via "dfreq", and then (3) averaging is always maintained.
Example : vfile void1
AGvfilen)
(Command :copy) Details for the vfilen option.Example : vfilen void1
DESL Manager at ViGYAN, Inc.
30 Research Drive
Hampton, VA 23666
Voice: (757) 865-1400
Toll Free: (800) 288-3998
FAX: (757) 865-8177