DESL


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

( AG) Details concerning the DESL copy command.


(See example(s) of the use of the copy command.)
[Jump to the list of available options.]
General description of the 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 :

  1. shorter records, ie, records containing fewer variables than are contained in records being copied,
  2. records with newly-named variables,
  3. fewer records than are contained in the files being copied as a result of conditional record filtering, and
  4. more records than are contained in the files being copied as a result of record expansion.

The list of currently available options for the copy 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] [avg]1 [backward] [cfiles] [cfrom] [collapse]1 [count] [cpaths] [cset] [curvedata] [dfreq] [elsek] [endifk] [eqtol] [exclude] [expand]2 [files] [ifk] [makelist] [mexpand]2 [names] [neofs] [newfiles] [newfilex] [nonewfiles] [noop] [nrecord] [once] [pathfile] [paths] [regset] [setvoid] [stddev] [system] [vfile] [vfilen]

[Top][Bottom][Option list]

( AGaltvars) (Command :copy) 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]

( AGavg) (Command :copy) Details for the avg option.

[General syntax rules for this keyword.]

In a 1:1 correspondence with the files to be copied, indicates the number of consecutive records to average before proceeding. The default number of data records to average per file is one; ie, no average done.

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

[Top][Bottom][Option list]

( AGbackward) (Command :copy) Details for the backward option.

[General syntax rules for this keyword.]

Indicates that any 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]

( AGcfiles) (Command :copy) Details for the cfiles option.

[General syntax rules for this keyword.]

Indicates the adjunct SIF or FFSIF files to be used as effective EXTENSIONS to the files named or implied by the "files" option and argument list. There is a 1:1 correspondence between "cfiles" arguments and expressed or implied "files" arguments.

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

[Top][Bottom][Option list]

( AGcfrom) (Command :copy) Details for the cfrom option.

[General syntax rules for this keyword.]

Indicates, in a 1:1 correspondence with the expressed or implied "files" arguments, the types of files in the "cfiles" argument list. Allowable types are "sif" and "ffsif". Up to 20 "cfrom" file types can be specified. Strings beginning with "null" are essentially not reset from the default. The default type of "cfile" file is "sif".

Example : from ffsif sif rep 3 ffsif

[Top][Bottom][Option list]

( AGcollapse) (Command :copy) Details for the collapse option.

[General syntax rules for this keyword.]

If specified indicates that ALL records in each SIF file named will be combined into a single record in the corresponding new file. Unique suffixes of 1, 2, ... ,k will be appended to the specified and found variable names specified via "names". If no names are specified, no collapse is possible. Names will be shifted leftward to accommodate the suffix if adding the suffix would have made a name longer than the 8-character SIF variable name limit. (See "once".) If both "collapse" and "expand" are specified "collapse" will have precedence. No record averaging will occur if "collapse" is specified. If "collapse" is specified and, on a particular SIF file an intermediate NAMEs record is encountered, the copy operation will be abandoned for that file.

Example : collapse

[Top][Bottom][Option list]

( AGcpaths) (Command :copy) Details for the cpaths option.

[General syntax rules for this keyword.]

Indicates, in a 1:1 correspondence with the list of files specified, directory locations for the specified "cfiles". These locations supersede the current directory. If a "cfiles" 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 "cpath" paths are blank. Up to 20 path names can be specified.

Example : cpaths ..\ ..\Main\ sub1\

[Top][Bottom][Option list]

( AGcset) (Command :copy) 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]

( AGcount) (Command :copy) Details for the count option.

[General syntax rules for this keyword.]

The specification of this option, which has no arguments, indicates that an implicit SIF variable named "dxrecord" is to be added to the file(s) being read, if it does not already exist, in which case the value is overstored. This variable's values will be set a count of the total number of DATA records encountered. Then, after all explicit or implicit filters (conditions, etc) have been have been applied, "dxrecord" will be set to the the number of DATA records that survive the filtering. "dxrecord" can be used as any normal SIF variable; ie, as part of a condition, etc. Since "dxrecord" can take on two different values - before and after filtering - care, however, should be taken in the use of "dxrecord".

Example : count

[Top][Bottom][Option list]

( AGcurvedata) (Command :copy) Details for the curvedata option.

[General syntax rules for this keyword.]

Indicates the set(s) of information to pull from a curve definition file and make a part of each record of each SIF file processed. (See the discussion of the "curvefile" option in the "pubplot" documentation.) Up to 20 sets of items each can be added to each SIF record. The total number of items must NOT be more than 4000.

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

where, for each "set",

  • # : a numeric suffix value; the "to" and "by" conjunctions can be used to imply sequences of values, stepping by any amount; up to 200 suffix values can be expressed or implied
  • fn : the name of the "curve file"
  • cn : the name of the "curve" on the curve file
  • x : Optional item which indicates the "xlist" base name ("x_base") will follow
  • y : Optional item which indicates the "ylist" base name ("y_base") will follow
  • z : Optional item which indicates the "clist" base name ("z_base") will follow

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

[Top][Bottom][Option list]

( AGdfreq) (Command :copy) Details for the dfreq option.

[General syntax rules for this keyword.]

Indicates, in a 1:1 correspondence with the files to be copied, the desired frequency of data record retention from the group of data records which would normally have been processed from each SIF file being accessed. For example, if "dfreq" is 4, then ONLY every fourth data record will be processed from those data records which passed successfully through any filter(s) and voiding which could have also been imposed. The default situation is to retain all data records.

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

[Top][Bottom][Option list]

( AGeqtol) (Command :copy) 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]

( AGexclude) (Command :copy) Details for the exclude option.

[General syntax rules for this keyword.]

If specified, the "names" specified are the names NOT to include on any new SIF files; ie, all OTHER names WILL be included on new SIF files. Ignored if "collapse" also specified.

[Top][Bottom][Option list]

( AGexpand) (Command :copy) Details for the expand option.

[General syntax rules for this keyword.]

If specified indicates that EACH record in each SIF file named will be expanded into one or more new records in the corresponding new file.

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

[Top][Bottom][Option list]

( AGfiles) (Command :copy) Details for the files option.

[General syntax rules for this keyword.]

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.

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

[Top][Bottom][Option list]

( AGmakelist) (Command :copy) Details for the makelist option.

[General syntax rules for this keyword.]

If specified the following arguments indicate the names of one or more "lists" to produce and the SIF variables whose values to put into the lists. (See the "list" DESL command.) Whereas lists, for use by the "do" DESL command normally are defined via an explicit use of the "list" DESL command, it is possible through the "copy" DESL command to have lists generated as SIF files are processed.

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

[Top][Bottom][Option list]

( AGmexpand) (Command :copy) Details for the mexpand option.

[General syntax rules for this keyword.]

If specified indicates that EACH record in each SIF file named will be expanded into one or more new records in the corresponding new file. The action caused by the specification of this option is similar to that caused by the "expand" option, except that "mexpand" can cause more than one set of names to be expanded simultaneously.

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

[Top][Bottom][Option list]

( AGnames) (Command :copy) Details for the names option.

[General syntax rules for this keyword.]

Indicates the SIF variables to retain in each SIF record being copied. Variables can be renamed via the " new name = old name " construct. The default condition, ie, if no "names" are specified, is to retain all names in SIF records being copied. If the special name "all" is specified the implication is that all of the OTHER names in a file being processed are to be retained. The primary use of "all" along with explicit other names is to be able to merely rename some variables within the original SIF records. Up to 2000 names can be specified or implied.

Example : names alpha betax = beta cl cd

[Top][Bottom][Option list]

( AGneofs) (Command :copy) Details for the neofs option.

[General syntax rules for this keyword.]

If specified the following value is the number of allowable consecutive EOF marks which, when encountered on a file, will signal the true end of file; ie, "neofs"-1 consecutive EOF marks will be ignored. The default value for "neofs" is 2.

Example : neofs 1

[Top][Bottom][Option list]

( AGnewfiles) (Command :copy) 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 files in the "files" list and files in the "newfiles" list. 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 >flist4 new1 thru new4 new21

[Top][Bottom][Option list]

( AGnewfilex) (Command :copy) 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 newr1 thru newr4 newr201

[Top][Bottom][Option list]

( AGnonewfiles) (Command :copy) Details for the nonewfiles option.

[General syntax rules for this keyword.]

If it is desired that NO new files actually be created, as could be the case when the register setting actions are to occur (see "regset"), then this option should be specified.

Example : nonewfiles

[Top][Bottom][Option list]

( AGnrecord) (Command :copy) Details for the nrecord option.

[General syntax rules for this keyword.]

The "nrecord" option is followed by up to 200 values, in a 1:1 correspondence with the up to 200 file names which can also be specified. If a specified "nrecord" value is POSITIVE the value indicates the NAMEs record sequence number at which to begin the copy operation. The FIRST NAMEs record is NAMEs record sequence number 1, the second 2, and so on. If a specified "nrecord" value is NEGATIVE the absolute magnitude of the value indicates the minimum NAMEs record length at or beyond which, when encountered, which will cause the copy operation will begin for the file being processed. The default value of the "nrecord" values is 1, indicating that the copy operation will begin at the very first NAMEs record encountered for each file processed.

Example : nrecord 1 2 1 3

[Top][Bottom][Option list]

( AGnoop) (Command :copy) 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]

( AGonce) (Command :copy) Details for the once option.

[General syntax rules for this keyword.]

Used ONLY in conjunction with "collapse". Indicates that for each of the SIF variables specified ONLY the value which occurs in the FIRST data record in each of the files being copied should be retained in each of the new single-record files being produced.

Example : once run test config

[Top][Bottom][Option list]

( AGpathfile) (Command :copy) 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]

( AGpaths) (Command :copy) 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]

( AGregset) (Command :copy) Details for the regset option.

[General syntax rules for this keyword.]

This option and argument list provides the capability to the user to have one or more of the 10 available User Registers set to some specified value(s) of SIF variable(s) which exist in particular records in the SIF files being copied. Any voiding, averaging, data frequency actions and equations will be done BEFORE the records are identified from which to extract values which will be used to set the User Registers.

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

[Top][Bottom][Option list]

( AGsetvoid) (Command :copy) Details for the setvoid option.

[General syntax rules for this keyword.]

A option which assigns a value to be used to replace any SIF variable "voided" as a result of a void file condition being satisfied along with a suffix match. The default "setvoid" value is -888.

Example : setvoid 880

[Top][Bottom][Option list]

( AGstddev) (Command :copy) Details for the stddev option.

[General syntax rules for this keyword.]

Indicates the SIF variables for which to compute the sample standard deviation. The (sample) standard deviation values are computed for the SAME spans of records as are the average values. Therefore, the "avg" option and argument string MUST also be specified. The standard deviation is a rough measure of the amount by which values of the named parameters deviate from their mean. The names of the variables to contain the standard deviation values are established via the

"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

[Top][Bottom][Option list]

( AGsystem) (Command :copy) Details for the system option.

[General syntax rules for this keyword.]

Indicates the codes to be used by "copy" to set system registers during execution. The following indicates the currently defined code value-to-registe meaning correspondences.



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

[Top][Bottom][Option list]

( AGvfile) (Command :copy) Details for the vfile option.

[General syntax rules for this keyword.]

Indicates the name of the file containing the lines of
  • condition(s) and/or
  • condition(s)
AND a suffix to use to check for
  • SIF records or
  • SIF variables
to "void" (or keep, if "keep" is the first non-comment line in the void file) as each DATA record of each SIF file named in the "files" argument list is processed.

"Voiding" in these two cases means two different things:

  • If all conditions on the same line are TRUE and a suffix has NOT also been specified, then the entire SIF record which has satisfied the conditions is ignored (or kept if "keep" seen)
  • If all conditions on the same line are TRUE and a suffix HAS been specified as the last item on a void file line, the SIF record is NOT ignored but, rather, the values of up to 200 SIF variables whose names end in the suffix specified are changed to the value associated with the specified or default "setvoid" value
.

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 :

  1. Any line beginning with an asterisk followed by at least one blank space is considered a comment and is ignored.
  2. Blank lines are ignored.
  3. The string "keep" may be encountered as the first non-comment line.
  4. There may be an unlimited number of lines in a void file.
  5. From the point issued until "nulled", abbreviations, which can be included anywhere in the void file within a line containing conditions, can be used as a "shorthand" for any part of a condition. Abbreviations are defined in lines which BEGIN with at least the first 4 characters of the word "abbreviation" and are followed, on the same line, by PAIRS of items : the first in each pair IS the abbreviation and the second in each pair is the string to be substituted for an encountered abbreviation. Up to 1750 abbreviations can be defined. If strings to be substituted for abbreviations contain one of the 2-character logical operators (see below) any blanks which end this string will be ignored; ie, "conditions" should be constructed such that at least one blank will delimit items AFTER any substitutions have been made. Abbreviations can be activated and deactivated or replaced as the void file is processed. If an abbreviation is encountered which is the same as one which has already been defined, the new one replaces the old one unless the string to be substituted for the abbreviation is the string "null". In this case the existing abbreviation is eliminated.
  6. Each line which is not blank, not a comment, not "keep" and does not contain one or more abbreviations can contain up to 20 "conditions" and an optional suffix or it will be ignored.
  7. A "condition" is a three-item group of items which is of the form : name/value logical name/value where, "name/value" represents either a SIF name OR a constant value, and "logical" represents one of the allowable 9 1- or 2-character logical operators : eq, =, lt. <, le, ge, gt, >, or ne. An illegally formed condition will cause the line containing it to be skipped and cause a message to be issued to this effect.
  8. A suffix is any string which will be used to try to match the END of up to 200 SIF names corresponding to values in the pertinent SIF record.

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

[Top][Bottom][Option list]

( AGvfilen) (Command :copy) Details for the vfilen option.

[General syntax rules for this keyword.]

This option has the same meaning as "vfile" except that the user is NOT given the opportunity to edit the void file before it is used.

Example : vfilen void1

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