.; ********************************************************************* .; .; PLTPRG Documentation - This document requires .; the Bonner lab version of RUNOFF. .; .; Written By Steven C. Fisher, DTRC Code 1522 .; .; ********************************************************************* .; .require "sys$sysprg:lno3.rno" .lo 3,1 .spr 5,0,1,1 .ps 60,89,9 .ap .lm .rm .half spacing 3 .ft;^~INTRODUCTION\~ .fg 4 .b4 .tt5 .c;^~^4INTRODUCTION^3\~ .b PLTPRG is a computer program for plotting and analyzing general data. PLTPRG was written to enable the user to generate plots of data with a minimum amount of effort, while having the capability to, with a small effort by the user, turn a simple plot into a formal report quality plot. PLTPRG is available for both the PDP (under TSX+) and the VAX (under VMS). In addition to plotting data, PLTPRG can be used in the analysis of the data. Data can be fitted with various types of curve fits, and intermediate values interpolated. Equations, containing both log and trig functions, can be entered by the user to compute new data values from the data in the program. Tables of the users data can be created for reports. Also, viewgraphs for presentations can be made using PLTPRG. The plots are created using the Multiware MGSP plotting subroutines, a product of Multiware, Inc. Below are descriptions of the various options available with PLTPRG. Appendix A describes the curve fit routines used in PLTPRG, and Appendix B describes the limits to PLTPRG, such as the maximum number of columns, etc. .b5 .t;^~RUNNING PLTPRG\~ .tt5 .c;^&^~^4RUNNING PLTPRG^3\~\& .b The command to run PLTPRG depends upon the type of terminal you are using. The commands to run PLTPRG on various terminals is given below. These commands are for both the PDP and VAX. The terminal ^&must\& emulate a DEC VT-100 or VT-200 type terminal. Do not use "R PLTPRG" to run the program, since various crucial device assignments would not be made. .b2 .nf .half spacing 2 .col "|" 20,60 |^&TERMINAL TYPE\& |^&RUN COMMAND\& .b |DEC VT-240 |PLTPRG |HDS 2200GX |PLTPRG HDS |Tektronix 4111 |PLTPRG 411 |Other terminals |PLTPRG NON .nocol .b2 .f .half spacing 3 The value to the left of "PLTPRG" refers a files containing the curve selections menu used when creating a plot and when adding curves to a plot. You can run PLTPRG using the NON suffix on all terminals, since it uses a non-graphics curve selection menu display. Terminals that use ReGis graphics may be able to use the VT-240 command, and terminals that use Tektronix 4010/4014 graphics and have the ability to display text and graphics simultaneously may be able to use the HDS 2200GX command (The HDS 2200GX must have the text/graphics overlay set to yes). PDP: If you have data in files on subdevices, the subdevices must be mounted prior to running PLTPRG. If your disk space is limited, it may be a good idea to squeeze your disk space prior to running the program. VAX: If you have files on devices that must be mounted, you must mount them prior to running PLTPRG. If you have limits on the maximum number of versions allowed, make certain that it will not be exceeded. .b5 .t;^~MAIN MENU\~ .tt5 .c;^&^~^4DESCRIPTION OF OPTIONS^3\&\~ .b .c;^&^~^4MAIN MENU^3\&\~ .b The main menu of PLTPRG is displayed when the program starts, and can be reprinted by typing "ME", for menu, when not using other options. Below is the menu. .b4 .lm+3 .rm+8 .half spacing 2 .nf .nopro ^1^~** SELECT NEXT OPTION **\~ me .b2 .c;^~P L T P R G - F O R D A T A P L O T T I N G A N D A N A L Y S I S .b2 .c;Written by Steven C. Fisher, Code 1522 .b .c;O P T I O N S M E N U .b ME - Display this menu RP - Read presentation from a file IN - Input data from keyboard SP - Store presentation in a file (or PS) MD - Modify a single data column LD - List the data RD - Read data from a file SC - Scale the data SD - (or SB) Store the data in a file AC - Add, subtract, etc, two columns CP - Create presentation DC - Delete data columns PL - Plot the presentation QP - Quick plot MP - Modify the presentation CV - Convert datafiles to PLTPRG format LC - (or LR) List data column titles ID - Integrate/differentiate data IT - Interpolate values from the data DI - File Directory TA - Table menu VI - Viewgraphs EQ - Equation evaluation MC - Modify multiple data columns MS - Merge, sort, and move columns VM - Spawn a VMS subprocess AR - Users analysis routines ST - Stop .b ** SELECT NEXT OPTION **\~^3 .pro .t;^~INPUTTING DATA INTO PLTPRG\~ .st;KEYBOARD INPUT .b4 .lm .rm .half spacing 3 .f .tt2 .c;^~^&^4INPUTTING DATA INTO PLTPRG^3\&\~ .b There are three ways to input data into PLTPRG. The first way is to enter data from the keyboard. The second way is to read PLTPRG datafiles that were saved from prior sessions. The third way is to read datafiles written by other programs. The program will hold only 150 data columns having a maximum of 300 points per column each. .b .tt3 ^~^&^4KEYBOARD INPUT^3\&\~ .b To input data from the keyboard, the user must select option "IN" from the main menu. At this point the user will be prompted on the type of keyboard input to use. The choices are: .b .half spacing 2 .col "|" 14 |1) Input of a single column |2) Input of an X-Y pair |3) Input of a group of columns |4) Input of a column by giving a first, last, and increment .nocol .half spacing 3 .b After the user selects the type of input, they will be prompted for titles for the column(s), and then the data values. .b2 .tt2 ^&INPUT OF A SINGLE COLUMN:\& The program will prompt the user for a column title, and then prompt for the data values. The user can enter the values by entering one value at each prompt, or by entering multiple values at each prompt. When all of the data for that column has been entered, enter a "S" to stop the input. Example: .half spacing 2 .lm+3 .nf .nopro ^1^~** SELECT NEXT OPTION ** in .b INPUT DATA ROUTINE .b Do you want to: .b 1) Enter data as a single column 2) Enter data as X-Y Pairs 3) Enter up to 7 columns 4) Single column, only inputting an initial, final, and increment value .b Enter 1, 2, 3, or 4:\~ 1 .b .b ^~Input the data title:\~ Ship Speed, Knots .b ^~Input the data - enter "S" to stop Point No. 1 Value = ?\~ 10 ^~Point No. 2 Value = ?\~ 11 ^~Point No. 3 Value = ?\~ 12,13,14,15 ^~Point No. 7 Value = ? \~s .b ^~Added columns: .b Col. _#Pts Title .b 1 6 Ship Speed, Knots .b ** SELECT NEXT OPTION **\~^3 .f .pro .lm .half spacing 3 .b4 .tt2 ^&INPUT OF AN X-Y PAIR:\& The program will prompt the user for a single title; for the X column, the program will append a "(X)" to the title, and for the Y column, the program will append a "(Y)" to the title. The program will then prompt the user for the values. The X and Y values must be entered as a pair; if only one value, or more than two values, are entered, the program will re-prompt the user for the data. When all of the data has been entered, enter a "S" to stop the input. Note - If the user wants individual titles for the X and Y columns, use the multiple column entry suboption instead. Example: .half spacing 2 .b .lm+3 .nf .nopro ^1^~ INPUT DATA ROUTINE .b Do you want to: .b 1) Enter data as a single column 2) Enter data as X-Y Pairs 3) Enter up to 7 columns 4) Single column, only inputting an initial, final, and increment value .b Enter 1, 2, 3, or 4:\~ 2 .b ^~Input the data title:\~ Ship Powering Curve .b ^~Input the data - enter "S" to stop Point no: 1 Values?\~ 10 500 ^~Point no: 2 Values?\~ 11 650 ^~Point no: 3 Values?\~ 12 795 ^~Point no: 4 Values?\~ 13 1030 ^~Point no: 5 Values?\~ s .b ^~Added columns: .b Col. _#Pts Title .b 2 4 Ship Powering Curve (X) 3 4 Ship Powering Curve (Y)\~^3 .f .pro .lm .half spacing 3 .b4 .tt2 ^&INPUT OF A GROUP OF COLUMNS:\& The program will prompt the user for column titles. There are two types of column titles: global and individual. For the global title, the user enters only one title; to each column title a "(N)" is appended, where N is the Nth column to be entered. For the individual titles, the user must enter a title for each of the columns to be entered. The program will then prompt the user for the values. The values must be entered together on the same line; if fewer values, or too many values, are entered, the program will re-prompt the user for the data. When all of the data has been entered, enter a "S" to stop the input. Example: .b .half spacing 2 .lm+3 .nf .nopro ^1^~ INPUT DATA ROUTINE .b Do you want to: .b 1) Enter data as a single column 2) Enter data as X-Y Pairs 3) Enter up to 7 columns 4) Single column, only inputting an initial, final, and increment value .b Enter 1, 2, 3, or 4:\~ 3 ^~Enter the number of columns to be input (maximum 7):\~ 4 .b ^~Do you want to enter: .b 1) One global title 2) Individual titles for each column .b Enter 1 or 2:\~ 2 ^~Enter the title for column number 1:\~ Ship Speed ^~Enter the title for column number 2:\~ EHP ^~Enter the title for column number 3:\~ Resistance ^~Enter the title for column number 4:\~ CTS .b ^~Input the data - enter "S" to stop Point no: 1 Values?\~ 10 500 16382 .024 ^~Point no: 2 Values?\~ 12 780 21296 .027 ^~Point no: 3 Values?\~ 14 1020 23870 .031 ^~Point no: 4 Values?\~ s .b ^~Added columns: .b Col. _#Pts Title .b 4 3 Ship Speed 5 3 EHP 6 3 Resistance 7 3 CTS\~^3 .f .pro .lm .half spacing 3 .b4 .tt2 ^&INPUT OF A COLUMN USING FIRST, LAST, AND INCREMENT VALUES:\& The program will first prompt the user for the column title, and then ask for the first value, last value, and increment. It then computes the data values for the column. If the resultant column would contain more than 300 elements, a warning will be given, and new values prompted for. Example: .b .half spacing 2 .lm+3 .nf .nopro ^1^~INPUT DATA ROUTINE .b Do you want to: .b 1) Enter data as a single column 2) Enter data as X-Y Pairs 3) Enter up to 7 columns 4) Single column, only inputting an initial, final, and increment value .b Enter 1, 2, 3, or 4:\~ 4 .b ^~Input the data title:\~ Ship Speed ^~Input the first, last, and increment values for this column\~ 10 17 1 .b ^~Added columns: .b Col. _#Pts Title .b 8 8 Ship Speed\~^3 .f .pro .lm .half spacing 3 .st;READING PLTPRG SAVED DATA FILES .b4 .tt3 ^~^&^4READING PLTPRG SAVED DATA FILES:^3\~\& .b To recall data from previous sessions with PLTPRG, use option "RD" (read data) to read in data from files created using the save data options "SD" and "SB". The user will then be prompted for the file name containing the data. After entering the file name to read, the PLTPRG will ask if the data is to be added to the existing data. If the user enters "Y", then the data is added to the data in the program; if before there were N columns in the program, the first column read in would become column N+1, the second, N+2, etc. Note: if the number of columns in the datafile and the number of columns already in the program would exceed 150, only the first 150-N columns would be read in from the datafile. Example: .b .half spacing 2 .nf .nopro .lm+3 ^1^~** SELECT NEXT OPTION **\~ rd ^~ READ DATA ROUTINE .b Enter the file name containing the data\~ temp.dat ^~Do you want to add to the existing data? (y/n)\~ n .b ^~CURRENT DATA COLUMN TITLES: .b _# Pts TITLE .b 1 4 Speed (Knots) Model 9876 Full Load 2 4 Resistance Model 9876 Full Load 3 4 Cr Model 9876 Full Load 4 4 Cf Model 9876 Full Load 5 5 Speed (Knots) Model 9876 Ballast Condition 6 5 Resistance Model 9876 Ballast Condition 7 5 Cr Model 9876 Ballast Condition 8 5 Cf Model 9876 Ballast Condition 9 3 Speed (Knots) Model 9876 Trimmed by the bow 10 3 Resistance Model 9876 Trimmed by the bow 11 3 Cr Model 9876 Trimmed by the bow 12 3 Cf Model 9876 Trimmed by the bow .b ** SELECT NEXT OPTION **\~^3 .b3 .f .pro .half spacing 3 .lm If the user does not want to add the data to the data already in the program, the first column read in becomes column 1, the second, 2, etc. Example: .b .half spacing 2 .nf .nopro .lm+3 ^1^~** SELECT NEXT OPTION **\~ rd .b ^~ READ DATA ROUTINE .b Enter the file name containing the data\~ temp1.dat ^~Do you want to add to the existing data? (y/n)\~ y .b ^~ ADDED DATA COLUMN TITLES: .b _# Pts TITLE .b 10 5 Speed (Knots) Model 9877 Ballast Condition 11 5 Resistance Model 9877 Ballast Condition 12 5 Cr Model 9877 Ballast Condition 13 5 Cf Model 9877 Ballast Condition .b ** SELECT NEXT OPTION ** \~^3 .b3 .f .pro .half spacing 3 .lm After the data has been read in, the column titles are listed on the screen. .b Note: If the user reads in a datafile using the "RD" option, and is not adding the data to the data already in the program, the plot presentation and table presentation will be updated. Any curve in the plot presentation that uses column numbers higher than the new largest column number will be deleted, and any table presentation column that corresponds to a column number higher than the new largest column number will be deleted. .st;READING IN NON-PLTPRG DATAFILES .b2 .tt3 ^~^&^4READING IN NON-PLTPRG DATAFILES:^3\~\& .b The routine to read in non-PLTPRG written datafiles is "CV" (convert datafiles). This routine is useful for reading datafiles from other programs written in tabular form. The files must be in ASCII form, and can have a maximum of 132 characters per line. The files can contain more than one "BLOCK" (a block is like a table) of columns. Typically, the datafile must be modified by the user to strip out excess information such as text, etc., and to add in information such as column titles, title addendums, and block separators. The user has the choice of entering the column titles and title addendums from the keyboard, or can be in the datafile to be read. The titles for the columns can be individual, or a global title can be used. If the global title is used, the titles for each column are followed by a "(N)", where N is the Nth column in that block. The form of the datafile must be as follows. If the titles and title addendums are in the files, The first N lines must contain the titles for the N columns in the given block, with each title on a separate line. If the user wants an addendum to the titles, it must be the next line after the last title. There must not be any blank lines between the top of the file or the last block separator, and the titles, and no blank lines between the titles (unless the title is blank, which is NOT recommended). The data must come next. The data must be in column form, with N values on each line. The values must be separated by blanks, commas, etc. There can be blank lines between the lines containing the data. After the last set of data values in the block, there must be a block separator if there are more blocks to follow. The block separator is a dollar sign "$" in column 1. .b Below is the general format:^1 .b .half spacing 2 .lt _______________________________________________________________________________ Title 1 | Title 2 | . | . | First block of data Title N | Title addendum (optional) | [DATA] | { col 1} { col 2} .................. { col N} { col 1} { col 2} .................. { col N} $ [block separator] Title 1 | Title 2 | . | . | Second block of data Title M | Title addendum (optional) | [DATA] | { col 1} { col 2} .................. { col M} { col 1} { col 2} .................. { col M} $ [block separator] . . . ________________________________________________________________________________ .eli .half spacing 3 .b3 ^3The title addendum is optional, and is text added to the end of every title in that current block of data. If the number of columns in a block are the same as the previous block, and only the title addendum changes, the user only needs to add a new title addendum, and does not need to repeat the titles. .b As an example, we have:^1 .b .half spacing 2 .lt ________________________________________________________________________________ Speed (Knots) Resistance Cr Cf Model 9876 Full Load 20 4.56 1.234 3.201 24 8.32 1.832 3.101 28 21.21 2.702 2.991 32 35.32 3.921 2.754 $ Model 9876 Ballast Condition 18 2.12 0.707 3.531 20 3.96 1.012 3.201 24 7.77 1.621 3.101 28 19.23 2.456 2.991 32 33.56 3.516 2.754 $ Model 9876 Trimmed by the bow 22 6.78 1.335 3.150 26 12.45 2.045 3.046 30 23.58 2.994 2.834 ________________________________________________________________________________ .eli .b3 .half spacing 3 ^3The following is an example using the "CV" option to read in a set of data from a file called TEST.DAT: .half spacing 2 .b2 .lm+3 .nf .nopro ^1^~** SELECT NEXT OPTION **\~ cv .b ^~SUBROUTINE CONVRT .b To convert datafiles to a PLTPRG compatible format .b Enter the filename containing your data\~ test.dat ^~Do you want to add to the existing data? (y/n)\~ n .b ^~Are the column titles stored in the file? (y/n)\~ y .b ^~Enter the number of columns stored in block number 1 (enter 0 to skip block, or "S" to stop)\~ 4 .b ^~Do you want to enter: .b 1) One global title 2) Individual titles for each column .b Enter 1 or 2:\~ 2 ^~Is there an addendum to these titles? (y/n)\~ y .b ^~Added Columns: .b Col. _#Pts Title .b 1 4 Speed (Knots) Model 9876 Full Load 2 4 Resistance Model 9876 Full Load 3 4 Cr Model 9876 Full Load 4 4 Cf Model 9876 Full Load .b Enter the number of columns stored in block number 2 (enter 0 to skip block, or "S" to stop)\~ 4 .b ^~Do you want to enter: .b 1) One global title 2) Individual titles for each column 3) Same titles as last block .b Enter 1 - 3:\~ 3 ^~Is there an addendum to these titles? (y/n)\~ y ^~Is there an addendum to these titles? (y/n)\~ y .b ^~Added Columns: .b Col. _#Pts Title .b 5 5 Speed (Knots) Model 9876 Ballast Condition 6 5 Resistance Model 9876 Ballast Condition 7 5 Cr Model 9876 Ballast Condition 8 5 Cf Model 9876 Ballast Condition .b Enter the number of columns stored in block number 3 (enter 0 to skip block, or "S" to stop)\~ 4 .b ^~Do you want to enter: .b 1) One global title 2) Individual titles for each column 3) Same titles as last block .b Enter 1 - 3:\~ 3 ^~Is there an addendum to these titles? (y/n)\~ y .b ^~Added Columns: .b Col. _#Pts Title .b 9 3 Speed (Knots) Model 9876 Trimmed by the bow 10 3 Resistance Model 9876 Trimmed by the bow 11 3 Cr Model 9876 Trimmed by the bow 12 3 Cf Model 9876 Trimmed by the bow .b ** SELECT NEXT OPTION **\~^3 .f .pro .lm .half spacing 3 .b3 .tt4 The resulting data columns would be:^1 .b2 .half spacing 2 .lt Col# # pts Title 1 4 Speed (Knots) Model 9876 Full Load 2 4 Resistance Model 9876 Full Load 3 4 Cr Model 9876 Full Load 4 4 Cf Model 9876 Full Load 5 5 Speed (Knots) Model 9876 Ballast Condition 6 5 Resistance Model 9876 Ballast Condition 7 5 Cr Model 9876 Ballast Condition 8 5 Cf Model 9876 Ballast Condition 9 3 Speed (Knots) Model 9876 Trimmed by the bow 10 3 Resistance Model 9876 Trimmed by the bow 11 3 Cr Model 9876 Trimmed by the bow 12 3 Cf Model 9876 Trimmed by the bow .eli .half spacing 3 .b3 ^3The user can skip blocks by entering in zero as the number of columns in a given block, and can stop reading in any additional data blocks by entering in "S" when prompted for the number of columns in a block. If there are more columns in the datablock than what the user inputted, warnings will be given. If there are fewer columns in the datablock than what the user inputted, the values for the extra columns will be set to 10^>20^<. If the number of columns in the program,N plus the the number of columns in the datafile to be used exceed 150, only the first 150-N columns will be used. .st;SAVING DATA .b .tt3 ^~^&^4SAVING DATA^3\~\& .b At some point when running PLTPRG, you will need to save your data values in a file. This should be done periodically when running PLTPRG, and not just before you finish running the program. To save the data, use option "SD" or "SB". "SD" will save your data in ASCII form, and "SB" will save your data in binary form. You will prompted for a file name to store the data to. After you enter a file name, you will be queried if you want to save all of the data columns. If you only want to save certain data columns, enter N, for no. The current data column titles will then be listed, and you will be prompted to enter the column numbers to save. To save ^&ALL\& of the data: .b .half spacing 2 .nf .nopro .lm+3 ^1^~** SELECT NEXT OPTION **\~ sd ^~ SAVE DATA ROUTINE .b Enter the file name to store the data\~ temp.dat ^~Do you want to save all of the data? (y/n)\~ y .b ^~** SELECT NEXT OPTION **\~^3 .b3 .lm .f .pro To save certain data columns: .lm+3 .nf .nopro .b2 ^1^~ SAVE DATA ROUTINE .b Enter the file name to store the data\~ test.dat ^~Do you want to save all of the data? (y/n)\~ n ^~current data column titles: .b _# Pts TITLE .b 1 4 Speed (Knots) Model 9876 Full Load 2 4 Resistance Model 9876 Full Load 3 4 Cr Model 9876 Full Load 4 4 Cf Model 9876 Full Load 5 5 Speed (Knots) Model 9876 Ballast Condition 6 5 Resistance Model 9876 Ballast Condition 7 5 Cr Model 9876 Ballast Condition 8 5 Cf Model 9876 Ballast Condition 9 3 Speed (Knots) Model 9876 Trimmed by the bow 10 3 Resistance Model 9876 Trimmed by the bow 11 3 Cr Model 9876 Trimmed by the bow 12 3 Cf Model 9876 Trimmed by the bow .b Enter the data columns to save. (Enter "S" to stop)\~ 5 6 7 8s .b ^~** SELECT NEXT OPTION ** \~^3 .b3 .lm .f .pro .half spacing 3 If you don't have sufficient file space to save your data, a warning will be given and none of your data will be saved. If you are using "SD" to save your data, you could then try option "SB". The binary datafiles take roughly one third to one quarter of the file space that the ASCII datafiles use, which may be small enough to fit in your available filespace. It should be noted that binary datafiles are read in and written out much faster than the ASCII datafiles, too. On the PDP, if you give an existing file name to save the data to, a warning will be given, and the user prompted to ensure that the user wants to use that file name, since the previous data stored in the old file will be lost. On the VAX, if you give an existing file name to save the data to, a file with a higher version number will be created. .t;^~DISPLAYING CURRENT DATA COLUMN INFORMATION\~ .st;LISTING COLUMN TITLES .b6 .tt5 .c;^&^~^4DISPLAYING CURRENT DATA COLUMN INFORMATION^3\&\~ .b .tt3 ^&^~^4LISTING COLUMN TITLES^3\~\& .b There are two options used to display the current data column information. The first option, "LC", is used to list all of the data column titles, and the number of points in each of the columns. The second option, "LR", is similar to "LC", but the user is prompted for the range of data columns to show (the first and last column number). This is useful when there are a large number of data columns in PLTPRG. Below is an example using the list columns "LC" option: .b3 .lm+3 .half spacing 2 .nf .nopro ^1^~** SELECT NEXT OPTION **\~ lc .b ^~current data column titles: .b _# Pts TITLE .b 1 4 Speed (Knots) Model 9876 Full Load 2 4 Resistance Model 9876 Full Load 3 4 Cr Model 9876 Full Load 4 4 Cf Model 9876 Full Load 5 5 Speed (Knots) Model 9876 Ballast Condition 6 5 Resistance Model 9876 Ballast Condition 7 5 Cr Model 9876 Ballast Condition 8 5 Cf Model 9876 Ballast Condition 9 3 Speed (Knots) Model 9876 Trimmed by the bow 10 3 Resistance Model 9876 Trimmed by the bow 11 3 Cr Model 9876 Trimmed by the bow 12 3 Cf Model 9876 Trimmed by the bow 13 5 CFS Model 9876 Ballast Condition 14 5 RTS Model 9876 Ballast Condition 15 5 PE Ship Model 9876 Ballast Condition .b ** SELECT NEXT OPTION **\~^3 .b4 .lm .f .pro .half spacing 3 Below is an example using the list range "LR" option: .b3 .lm+3 .half spacing 2 .nf .nopro ^1^~** SELECT NEXT OPTION **\~ lr ^~Enter the column number range [first, last] to print out:\~ 5,8 .b ^~CURRENT DATA COLUMN TITLES: .b _# Pts TITLE .b 5 5 Speed (Knots) Model 9876 Ballast Condition 6 5 Resistance Model 9876 Ballast Condition 7 5 Cr Model 9876 Ballast Condition 8 5 Cf Model 9876 Ballast Condition .b ** SELECT NEXT OPTION **\~^3 .st;LISTING COLUMN DATA VALUES .b4 .lm .half spacing 3 .f .pro .tt3 ^&^~^4LISTING COLUMN DATA VALUES^3\&\~ .b Option "LD", list data, is used to list the data in the columns onto the terminal screen. A maximum of 8 columns can be listed at a time (if more than 5 columns are listed, the data is listed in 132 column mode). The columns do not need to have the same number of points. Columns with fewer points than the column with the maximum number of points will have dashed lines printed in place of numbers after the last point in that column has been printed. Below is an example of the listing column data "LD" option: .b3 .lm+3 .half spacing 2 .nf .nopro ^1^~** SELECT NEXT OPTION **\~ ld ^~Data listing routine... Enter the column numbers to list (8 maximum)\~ 1 5 9 .b ^~Column labels: .b Column 1: Speed (Knots) Model 9876 Full Load Column 5: Speed (Knots) Model 9876 Ballast Condition Column 9: Speed (Knots) Model 9876 Trimmed by the bow .b pt Column Column Column no. 1 5 9 .b 1 20.00000 18.00000 22.00000 2 24.00000 20.00000 26.00000 3 28.00000 24.00000 30.00000 4 32.00000 28.00000 ---- 5 ---- 32.00000 ---- .b ** SELECT NEXT OPTION **\~^3 .pro .lm .t;^~PLOT PRESENTATIONS\~ .st;QUICK PLOTS USING PLTPRG .b6 .half spacing 3 .f .tt3 .c;^~^&^4PLOT PRESENTATIONS^3\~\& .b PLTPRG enables the user to create plots and plot them on various devices such as terminals, plotters, and printers. The user can create a plot presentation, modify it, save the plot presentation, and then plot it on the desired device. The user can also read in previously created plot presentations modify it, and then plot it. .b .tt3 ^~^&^4QUICK PLOTS USING PLTPRG^3\~\& .b For simple plots, or a quick look at the data, PLTPRG contains a quick plotting option, "QP". Quick plots require a minimum of input; the number of curves to plot, the data columns corresponding to the X and Y coordinates for each curve, and the curve fit to use on each curve. The quick plots can be plotted on the same plotting devices used with the regular plot presentations. The size of the plot, the axes scaling, and other plotting information is automatically done by PLTPRG. Quick plots are not saved, and have to be re-created each time. Below is an example of creating a quick plot, and the resulting quick plot is shown in Figure 1. It should be noted that the devices to plot on vary from system to system, and may be different than those listed below in the example. .b3 .half spacing 2 .lm+3 .nf .nopro ^1^~** SELECT NEXT OPTION **\~ qp .b2 ^~DATA PLOTTING ROUTINE .b Enter the number of curves to plot\~ 1 ^~Enter the column numbers corresponding to the X and Y values for curve no. 1\~ .b 5 6 ^~X column title: Speed (Knots) Model 9876 Ballast Condition Y column title: Resistance Model 9876 Ballast Condition Are these column numbers correct? (y/n)\~ y ^~Enter the curve fit to interpolate: .b 0) Draw points only 1) Straight line 2) Least squares polynomial 3) Cubic spline 4) Parametric spline - type A 5) Parametric spline - type B 6) Parametric spline - type C 7) Least squares cubic spline fit (Type A) 8) Least squares cubic spline fit (Type B) .b Enter 0 - 8\~ 4 .b2 ^~Select the device to plot to: .b 1 VT 240 Terminal 2 HP Plotter 3 Terminal w/ Tektronix 4010/4014 emulation 4 Tektronix 4105/7/9 5 LA 50 Printer (connected to the terminal) .b Select 1-5\~ 2 ^~Plot is being done as a detached job .b ** SELECT NEXT OPTION **\~^3 .lm .half spacing 3 .f .pro .b3 On the VAX, the response to the device to plot to would instead be: .fgd120 .b3 .lm+3 .nf .nopro .half spacing 2 ^1^~Job PLOTFLBATCH (queue SYS$BATCH, entry 824) started on SYS$BATCH Plot is being done as a batch job\~^3 .pro .st;PLOTTING A PLOT PRESENTATION .b4 .lm .half spacing 3 .f .tt3 ^~^&^4PLOTTING A PLOT PRESENTATION^3\~\& .b To plot a presentation either residing currently within PLTPRG, option "PL" is used. The plot presentation is then checked to make sure that the plot presentation information is correct. If it is correct, the user is prompted for the device to send the plot to; if not, the user must correct the plot presentation before it will be plotted. If the plot is larger than the device it is to be plotted on, it will automatically be reduced in size to fit. If a plot appears to be extremely small, it may be due to a label being positioned far above or far below the plot by accident. If the plot device is a plotter, laser printer, etc. attached to the computer and not your terminal, the plot will be done as a detached job (PDP) or a batch job (VAX). If the plot is done as a detached or batch job, the plot will not appear immediately on these devices; the plot must first be computed, and then it will be plotted. If the plot is being done as a batch or detached job, you will not have to wait for the plot to finish, to continue working; but if on the PDP, there are no detached lines available (all are being used), you will have to wait for the plot to finish. If your plot uses colors other than black, the colors may be different than what you had asked for. In some cases, part of a plot may not show up due to that part having a color that is not visable on that plotting device. Below is an example of plotting a plot presentation, and the resulting plot is shown in Figure 2. It should be noted that the devices to plot on vary from system to system, and may be different than those listed in the example below. .b3 .half spacing 2 .lm+3 .nf .nopro ^1^~** SELECT NEXT OPTION **\~ pl .b2 ^~Select the device to plot to: .b 1 VT 240 Terminal 2 HP Plotter 3 Terminal w/ Tektronix 4010/4014 emulation 4 Tektronix 4105/7/9 5 LA 50 Printer (connected to the terminal) 6 HP Plotter w/ graph paper .b Select 1-6\~ 2 ^~Plot is being done as a detached job .b ^~** SELECT NEXT OPTION **\~^3 .lm .half spacing 3 .f .pro .b3 On the VAX, the response to the device to plot to would instead be: .b3 .lm+3 .nf .nopro .half spacing 2 ^1^~Job PLOTFLBATCH (queue SYS$BATCH, entry 824) started on SYS$BATCH Plot is being done as a batch job\~^3 .b3 .lm .half spacing 3 .f .pro .tt2 PLOTTING ON GRAPH PAPER If the plot is to be done on graph paper, the user will need to measure the paper to determine the location of the grid on the paper. Currently, this option can only be used with a plotter such as the HP 7550 plotter, that can use graph paper, and position the paper with high accuracy. The user will need to enter the location of the grid relative to the corner of the paper. For the 8.5 * 11 paper, the X and Y distances (in inches) from the lower left hand corner of the paper to the lower left hand corner of the grid, when the paper is held with the long edge horizontal, are needed. Also, the spacing of the grid, in inches, is needed. Metric paper can be used by entering the grid spacing in inches (0.3937 for centimeter paper). It should be noted that the grid position on graph paper may vary from sheet to sheet; it may be necessary to try plotting a number of times, varying the grid location dimensions slightly to get the grid and plot to align. The plot itself will be in the center of the grid, and ^¬\& with the primary X and Y axes along the left edge of the grid. If the plot is too large for the plotter, the plot will not be reduced in size, as is with a regular plot, so some of the plot may not fit on the paper. The user may have to load graph paper into the plotter themselves - but do not forget to remove the graph paper when finished so that other users will be inconvenienced. Below is an example of plotting on a device using graph paper. .lm+3 .b3 .nf .nopro .half spacing 2 ^1^~** SELECT NEXT OPTION **\~ pl .b2 ^~Select the device to plot to: .b 1 VT 240 Terminal 2 HP Plotter 3 Terminal w/ Tektronix 4010/4014 emulation 4 Tektronix 4105/7/9 5 LA 50 Printer (connected to the terminal) 6 HP Plotter w/ graph paper .b Select 1-6\~ 6 ^~First, place grid paper in the plotter. Then, enter the X and Y distance of the paper corner to the lower left corner of the grid, and the grid spacing (inches)\~ 0.57,0.456,0.5 ^~Plot is being done as a detached job .b ** SELECT NEXT OPTION **\~^3 .pro .st;CREATING A PLOT PRESENTATION .b4 .lm .half spacing 3 .f .tt3 ^~^&^4CREATING A PLOT PRESENTATION^3\~\& .b To create a plot presentation, use option "CP". If a plot presentation already exists, it will be destroyed, and replaced by the new presentation. PLTPRG will warn the user if a plot presentation already exists. The plot presentation enables the user to set the lengths of the axes; set the maximum, minimum, and increment values along each axis; add secondary X and Y axes; set the size of the text labeling the axes; label the axes; add data curves; add plot labels; add a grid; and add a legend to define the curves. All of above can be changed by the user in the plot modification option. In addition, the user can add other features to their plot in the modification option. These features include text fonts, line thicknesses, blocks of text, symbol size, etc. The program was written this way to minimize the number of inputs that the user would have to enter to create a basic plot. Figure 2 shows the plot that is created using the examples given below. .fgd120 To create a plot, the user first sets the primary X axes values. The primary X axis is the bottom edge of the plot. The user inputs a minimum, maximum, and increment value. At the increments, tick marks will be drawn on the plot. The X axes will be numbered at the tick marks, if the tick marks are not too close together for the numbers to be written (if the tick marks are too close, the numbers will be written at every Nth tick mark, with a larger tick mark drawn at these locations). The user then inputs the X axis title, which can be up to 80 characters long. The user can have superscripts and subscripts, scientific symbols, and different text fonts in the axis title. These options are discussed in the section on advanced text features. After the user has set the primary X axis, the user can add in a secondary X axis. The secondary X axis is located along the top of the plot. The user then sets the primary Y axis, located along the left edge of the plot. The Y axis numbers will be horizontal, while the Y axis text will be rotated 90 degrees counterclockwise. After the user has set the primary Y axis, the user can add in a secondary Y axis. The secondary Y axis is located along the right edge of the plot. The X and Y axes lengths are entered next. The axes lengths are in inches, and will be to scale on the various plot devices, as long as the plot is not too large to fit in the maximum plotting areas of these devices. If the plot is too large, the plot will automatically be scaled down to fit in the plotting area. The plot grid is set next (if desired). The user supplies major and minor grid increments along both the X and Y axes. The grid increments are in terms of the primary axes information. By having major and minor grids, the user can (using the plot modification option) set the major grid to be a different color and/or line thickness from the minor grid. The axis text size must be selected. The text size value ranges from 1 to 10, with a value of 3 to 4 typical for most plots. .b .half spacing 2 .nf .nopro .lm+3 ^1^~** SELECT NEXT OPTION **\~ cp ^~PLOT SETUP ROUTINE .b Previous plot presentation exists - OK to destroy? (y/n)\~ y .b ^~Plot axes setup.... .b X Axis information: Enter the minimum, maximum, and increment values:\~ 16 34 2 .b ^~Input the X Axis title:\~ Ship Speed, Knots .b ^~Do you want a secondary X axis? (y/n)\~ n .b ^~Y Axis information: Enter the minimum, maximum, and increment values:\~ 0 40 5 .b ^~Input the Y Axis title:\~ Resistance (Lbs) .b ^~Do you want a secondary Y axis? (y/n)\~ n .b ^~Enter the X and Y axes lengths (in inches)\~ 5 7 .b ^~Do you want a grid on the plot? (y/n)\~ n .b ^~Enter the axes text size (0-10)\~ 4^3 .b3 .half spacing 3 .f .pro .lm The curve selection then comes next. The user enters the data column numbers corresponding to the X and Y components of a curve. The two columns must have the same number of points. Then the user selects the line pattern style, the symbol to plot at each datapoint, the color to use for the line and symbols, and the curve fit to use. If there are secondary X and/or Y axes, the user must indicate which axes are used to plot the curve with. To stop entering curves, enter an "S" when prompted for the data column numbers for the next curve. .b3 .half spacing 2 .nf .nopro .lm+3 ^1^~ .tt16 .lt Curve Color Line Type Symbol Type for HP Plotter Curve Fit 1 _____________ 0 None 1 Black 0 No Curve Drawn 2 __ __ __ _ 1 Triangle 2 Red 1 Straight Line 3 ___ ___ ___ 2 Box 3 Dk. Green 2 Least Squares Fit 4 __ . __ . __ 3 Diamond 4 Blue 3 Cubic Spline Fit 5 __ __ __ _ 4 Hexagon 5 Orange 4 Parametric Spline (Type A) 6 _ _ _ _ _ _ _ 5 X 6 Purple 5 Parametric Spline (Type B) 7 ___ __ ___ __ 6 Cross 7 Lt. Green 6 Parametric Spline (Type C) 8 ............. 7 Circle 8 Brown 7 Least Sqrs Spline (Type A) 9 __.__.__.__._ 8 Dot 8 Least Sqrs Spline (Type B) 10 __ _ __ _ __ 9 Star 10 Hourglass 11 Down Triangle .eli .b2 ^~Enter the X and Y column numbers for curve number 1 (Enter "S" to stop)\~ 1 2 ^~X column title: Speed (Knots) Model 9876 Full Load Y column title: Resistance Model 9876 Full Load Are the column numbers correct? (y/n)\~ y .b ^~Enter the line pattern, symbol pattern, curve color, and curve fit\~ 1 1 1 4 ^~Is the curve data correct? (y/n)\~ y .b ^~Enter the X and Y column numbers for curve number\~ 2 ^~(Enter "S" to stop)\~ s^3 .b3 .half spacing 3 .lm .f .pro The labels for the plot are input next. The user must first decide on the coordinate system used to locate the labels (and text blocks and legend). The two coordinate systems are local and global. With the local coordinate system, the lower left corner, where the axes meet, has the value of the X and Y primary axes minimum values, and the upper right corner has the value of the X and Y primary axes maximum values. With the global coordinate system, the lower left corner has the value of 0,0 and the upper right corner has the value of 1,1. Usually the global coordinate system is easier to work with. If you select one coordinate system, and input the labels and legend in the other coordinate system, the mistake can be corrected later in the modify presentation option. The user first enters a label, and then enters the X and Y coordinates for the label, the text size for the label (a value between 1 and 10), and the text justification. The user can have superscripts and subscripts, scientific symbols, and different text fonts in the label. These options are discussed in the section on advanced text features. The justification refers to the location of the label relative to the X and Y coordinates entered. Left justification means that the label will be to the left of (and above) the X and Y coordinate; center justification, centered (and above) the X and Y coordinate; and right justification, to the right of (and above) the X and Y coordinate. All labels written in the plotting area defined by the X and Y axes will not be drawn over by the grid, curves, and any label that is written after it (unless the label protection is turned off, which can be done by the user in the modify presentation option) After the last label has been entered, press return to finish adding labels. .b .half spacing 2 .nf .nopro .lm+3 .rm+8 ^1^~Do you wish to enter labels for the plot? (y/n)\~ y .b ^~Label coordinate system... Are the label coordinates in the same coordinate system as the primary X and Y axes? (y/n)\~ n .b ^~Labels are then assumed to lie in a coordinate system having the lower left corner as 0,0; and the upper right corner as 1,1. .b Enter label no. 1 (press return to stop)\~ Demonstration of PLTPRG .b ^~Enter the letter size for the label (1-10)\~ 6 .b ^~Enter L, C, or R, for (L)eft, (C)enter, or (R)ight justification of the label\~ c .b ^~Enter the X and Y coordinates for the label at the Center point:\~ 0.5,1.1 .b .tt2 ^~Enter label no. 2 (press return to stop)\~ ^3 .b3 .half spacing 3 .f .pro .rm .lm The user next can choose to enter a legend to describe the curves. The user enters the X and Y coordinate of the legend. This coordinate can be a corner of the legend, the center of the legend, or the middle of a side of the legend. The user then enters which of the above locations on the legend does the X-Y coordinate refer to. The user is then asked if they want a box drawn around the legend. The user enters a legend title, if desired. The user then inputs the legend text. The user can have superscripts and subscripts, scientific symbols, and different text fonts in the legend text and title. These options are discussed in the section on advanced text features. For each legend line, the user can add a preceeding line and/or symbol, and give it a color. The user can choose to have the corresponding curve information displayed for each legend line. When the user has entered the last line for the legend, press return. .b .half spacing 2 .lm+3 .nf .nopro ^1^~Do you want a legend on the plot? (y/n)\~ y .b ^~Enter the letter size for the legend text (0-10)\~ 3 .b ^~Enter the X, Y coordinate of the legend\~ 0 1 .b ^~Is that X-Y pair corresponding to the legend: .b 1 Upper left 2 Lower left 3 Upper right 4 Lower right 5 Center 6 Left center 7 Right center 8 Upper center 9 Lower center .b Enter 1-9:\~ 1 .b ^~Do you want a box around the legend? (y/n)\~ y .b ^~Enter the text for the legend title (return for no title)\~ Curve Legend .b ^~LEGEND LABELS: Do you want to have the corresponding curve data displayed? (y/n)\~ y .b ^~Enter the text for legend label 1 (return to stop) (Corresponding curve is: X (column 1): Speed (Knots) Model 9876 Full Load Y (Column 2): Resistance Model 9876 Full Load )\~ Model 9876 .b ^~Do you want a SYMBOL preceeding this Label? (y/n) (Curve 1 has symbol no. 1)\~ y ^~Enter the symbol number\~ 1 .b ^~Do you want a LINE preceeding this label? (y/n) (Curve 1 has line pattern 1)\~ y ^~Enter the line pattern number\~ 1 ^~Do you want the line and/or symbol a special color? (y/n) (Curve 1 is Black )\~ n .b .tt2 ^~Enter the text for legend label 2 (return to stop)\~ .b ^~** SELECT NEXT OPTION **\~^3 .half spacing 3 .lm .f .pro .st;PLOT MODIFICATION .b4 .tt3 ^&^~^4PLOT MODIFICATION^3\~\& .b After a plot has been created, or read back in from a file, the user can modify the plot parameters, by using the "Modify Plot" (MP) option, or the "Interactive Plot Modification" (IP) option. The interactive plot modification option allows the user to add, move, and change labels, and move legends and text blocks using the terminal crosshairs with the presentation plotted on the screen, while the modify plot option allows the user to modify all of the plot parameters using a series of menus. .st;INTERACTIVE PLOT MODIFICATION .b2 .tt3 ^~^&^4INTERACTIVE PLOT MODIFICATION^3\~\& .b The interactive plot modification option plots the current presentation on the screen. It should be noted that there is no text protection, or legend and text block protection enabled when using this option. The legend text and text block text are not plotted, to simplify the plot. Also, the plot is somewhat smaller than the normal plot to the terminal to leave room for labels that may be added (or moved) outside of the current plot boundaries. The user is then prompted to select which to change; the label data, the legend, or text blocks. After the user finishes modifying the plot, the user can keep the changes if they are correct. The labels can be added, deleted, moved, and changed. To add a label, the user enters the label text, the label justification, and the text size. Then the user is prompted to move the crosshairs on the screen to the position where the label is to be placed. To delete, move, and change a label, the user must first indicate which label is to be modified by placing the terminal crosshairs on the label, and pressing return. A box is then drawn around the label, and the user queried if this label is the correct one to use. If the label is to be moved, a cross appears at the bottom of the label, at the point representing the label coordinate. This will appear on the left, center, or right, corresponding to the labels' justification. The user will then be prompted to move the crosshairs to the new location for the label. The label will then be erased and then redrawn at the new location. The label change suboption enables the user to edit the label text, and change the label justification, text size, and rotation angle. The label will be erased and redrawn. The redraw option is useful when a label is partially erased when modifying the plot. The user places the crosshairs on the label to be redrawn, and the label is then redrawn. The legend option enables the user to move the legend, and to change the text size of the legend. To move the legend, the user must select which point on the legend is the move to be in reference to. This is done by placing the crosshairs on or near one of the following places on the legend: .b2 .col "|",45 .half spacing 2 |1 Upper left |2 Lower left |3 Upper right |4 Lower right |5 Center |6 Left center |7 Right center |8 Upper center |9 Lower center .half spacing 3 .nocol .b2 The user is then prompted to move the crosshairs to the location to redraw the legend at. To change the legend text size, the user enters the new text size to use, and the legend box is redrawn to the new legend size. The move text block option is similar to the move legend option. Since there may be more than one text block, the text block to move is selected when the text block reference point is chosen by the crosshairs. .st;PLOT MODIFICATION .b3 .tt3 ^~^&^4PLOT MODIFICATION^3\~\& .b For the Modify Plot (MP) option, a menu is provided for the user to select which of the plot items to modify. The items include the axis data, curve data, label data, text blocks, legend data, and the default plot parameter data. Figure 3 shows a plot created using the plot creation routine examples above, and the plot modification examples below. If the user wishes to modify their plot to enhance the style of the plot, many of the modifications will be found in the change default values suboption. The plot characteristics that can be modified there include: the axes, label and legend fonts and colors; axes, grid, and curve line thicknesses; and axis type and tick direction. .b2 .fgd120 .st;PLOT MODIFICATION (Axis) .b .tt2 ^&AXIS DATA\& When the axis data suboption is selected, the current axis data is displayed. The user is asked to enter the number corresponding to the axis data item in the list that they wish to change. Then the user is prompted for the corresponding value (or text for the axes labels). If the user decides to add a secondary X and/or Y axis, the user will also have to input the secondary axis minimum, maximum, and increment values. If the user decides to remove a secondary X and/or Y axis, the minimum, maximum, increment values and axes titles are not deleted, but are meaningless, so are not displayed. If the user deletes the secondary axes, but still has curves that are using the secondary axes scales, the curves will then be drawn using the primary axes scales automatically. If the axis text size is changed to zero, no axis numbering or labeling will occur (during the plot creation, the user has to give a text size value between 1 and 10). The axis label can be made by the user to take up two lines. This is done by entering in _@_< where you want the label text to start on the next line. Both lines are centered about the middle of the axis. As an example, if you had a axis label "SHAFT ROTATION (DEGREES)", and you wanted "(DEGREES)" on the second line, you would enter "SHAFT ROTATION_@_<(DEGREES)". After the user is finished modifying the axis data, warning messages will be printed if the axis data has conflicting values. If the user does not correct these errors, PLTPRG will not allow the user to plot the presentation. There are additional modifications to the axes that can be made using the modify defaults suboption instead of the axis data option. These include the axis line thickness, axis text font, axis line color, axis text color, tick direction, grid line thickness and color, and setting the axes to either normal or logarithmic scaling. Below is an example of adding a secondary Y axis to the plot. It should be noted that the axis parameter menu is updated after every change; below, only the initial and final axes parameter menus are shown to save space. .b3 .lm+2 .half spacing 2 .nf .nopro ^1^~** SELECT NEXT OPTION **\~ mp .b ^~ PLOT MODIFICATION ROUTINE .b Modify: .b A (A)xis data C (C)urve data L (L)abel data E L(E)gend data T (T)ext blocks D (D)efault values R (R)eset the default values S (S)top .b Enter A, C, L, E, T, D, R, or S:\~ a .b ^~CURRENT AXIS DATA: .b PRIMARY AXES: 1) X axis length: 5.000 2) Y axis length: 7.000 .b 3) X min: 16.000 4) X max: 34.000 5) X increment: 2.0000 6) Y Min: 0.00000 7) Y max: 40.000 8) Y increment: 5.0000 .b 9) X axis title: Speed (Knots) 10) Y axis title: Model Resistance (Lbs) .b SECONDARY AXES: 11) X axis: No 12) Y axis: No .b 21) Axes text size: 4 22) X grid major incr: 0.00000 23) X grid minor incr: 0.00000 24) Y grid major incr: 0.00000 25) Y grid minor incr: 0.00000 .b Enter the number to change, or "S" to stop:\~ 12 .b ^~Enter the number to change, or "S" to stop:\~ 17 ^~Enter the new value:\~ 40 .b ^~Enter the number to change, or "S" to stop:\~ 18 ^~Enter the new value:\~ 5 .b ^~Enter the number to change, or "S" to stop:\~ 20 ^~Edit the current axis title:\~ Model Resistance (Lbs) .b ^~CURRENT AXIS DATA: .b PRIMARY AXES: 1) X axis length: 5.000 2) Y axis length: 7.000 .b 3) X min: 16.000 4) X max: 34.000 5) X increment: 2.0000 6) Y Min: 0.00000 7) Y max: 40.000 8) Y increment: 5.0000 .b 9) X axis title: Speed (Knots) 10) Y axis title: Model Resistance (Lbs) .b SECONDARY AXES: 11) X axis: No 12) Y axis: Yes .b 16) Y min: 0.00000 17) Y max: 40.000 18) Y increment: 5.0000 .b 20) Y axis title: Model Resistance (Lbs) .b 21) Axes text size: 4 22) X grid major incr: 0.00000 23) X grid minor incr: 0.00000 24) Y grid major incr: 0.00000 25) Y grid minor incr: 0.00000 .b Enter the number to change, or "S" to stop:\~ s^3 .pro .st;PLOT MODIFICATION (Curves) .b4 .lm .half spacing 3 .f .tt2 ^&CURVE DATA\& In the modify curve data option, the user can add, delete, and change the curves and the curve parameters. Also, the user can change the size of the data symbols used. The curve line thickness can be changed in the change defaults option, and not in this option. The add curve suboption operates the same way as when creating the plot initially, so it is not shown here. The list curve suboption lists the curve parameters, including the curve data column numbers and titles, the line type, symbol type, color, curve fit information, and the axes the curve is plotted with. Below is an example. .b4 .lm+3 .nf .nopro .half spacing 2 ^1^~PLOT MODIFICATION ROUTINE .b Modify: .b A (A)xis data C (C)urve data L (L)abel data E L(E)gend data T (T)ext blocks D (D)efault values R (R)eset the default values S (S)top .b Enter A, C, L, E, T, D, R, or S:\~ c .b ^~CURVE DATA MODIFICATION ROUTINE Options: .b A - (A)dd new curves C - (C)hange existing curves L - (L)ist curves D - (D)elete curves H - C(H)ange symbol size (current value is 1.00000 ) S - (S)top .b Enter A, C, L, D, H, or S\~ l .b ^~****************************** Curve 1 ****************************** X (Col 1) Title: Speed (Knots) Model 9876 Full Load Y (Col 2) Title: Resistance Model 9876 Full Load Current line type = 1, Symbol = 1, Color = 1, Curve Fit = 4 Press Return to continue \~ ^3 .b4 .lm .half spacing 3 .f .pro The change symbol size suboption enables the user to change the size of the symbols for all of the curves. The symbol size factor has a value of 1.0, which corresponds to a symbol size of roughly 0.1 inches. Below is an example of changing the symbol size. .b4 .lm+3 .nf .nopro .half spacing 2 ^1^~Options: .b A - (A)dd new curves C - (C)hange existing curves L - (L)ist curves D - (D)elete curves H - C(H)ange symbol size (current value is 1.00000 ) S - (S)top .b Enter A, C, L, D, H, or S\~ h .b ^~Enter the new symbol size ( standard size = 1.0)\~ 0.7^3 .b4 .lm .half spacing 3 .f .pro In the change curve parameters suboption, the user can change the column numbers corresponding to the curve, the curve fit, line type, color, symbol type, and, if secondary axes are used, which axes correspond to the the X and Y values. Below is shown an example of the curve modification suboption. .b3 .lm+3 .nf .nopro .half spacing 2 ^1^~CURVE DATA MODIFICATION ROUTINE Options: .b A - (A)dd new curves C - (C)hange existing curves L - (L)ist curves D - (D)elete curves H - C(H)ange symbol size (current vale is 0.70000 ) S - (S)top .b Enter A, C, L, D, H, or S\~ c ^~Display the curve options menu?\~ n .b ^~Enter the curve number to change (Enter "S" to stop):\~ 1 .b ^~Original line type = 1, Symbol = 1, Color = 1, Curve Fit = 4 X (Col 1) Title: Speed (Knots) Model 9876 Full Load Y (Col 2) Title: Resistance Model 9876 Full Load .b2 Curve change options for curve number 1 D (D)ata columns | L (L)ine type F curve (F)it | Y s(Y)mbol type C (C)olor of the line | A (A)xis to use Enter D, L, F, Y, C, A, or S (to stop)\~ d ^~Enter the X and Y column numbers\~ 5 6 .b ^~Original line type = 1, Symbol = 1, Color = 1, Curve Fit = 4 X (Col 5) Title: Speed (Knots) Model 9876 Ballast Condition Y (Col 6) Title: Resistance Model 9876 Ballast Condition .b2 Curve change options for curve number 1 D (D)ata columns | L (L)ine type F curve (F)it | Y s(Y)mbol type C (C)olor of the line | A (A)xis to use Enter D, L, F, Y, C, A, or S (to stop)\~ f .b ^~Avaliable curve fits: 4) Parametric Spline (Type A) 0) No Curve Drawn 5) Parametric Spline (Type B) 1) Straight Lines 6) Parametric Spline (Type C) 2) Least Squares Fit 7) Least Squares Spline (type A) 3) Cubic Spline Fit 8) Least Squares Spline (type B) Enter the curve fit number (0-8)\~ 3 .b ^~Enter D, L, F, Y, C, A, or S (to stop)\~ c .b ^~Select colors: 1 Black 2 Red 3 Dk. Green 4 Blue 5 Orange 6 Purple 7 Lt. Green 8 Brown Enter 1-8\~ 2 .b ^~Enter D, L, F, Y, C, A, or S (to stop)\~ l ^~Enter the line type number:\~ 3 .b ^~Enter D, L, F, Y, C, A, or S (to stop)\~ y .b ^~Select the new symbol to use: 0 None 1 Triangle 2 Square 3 Diamond 4 Hexagon 5 X shape 6 Cross 7 Circle 8 Dot 9 Star 10 Hourglass 11 Down Tri. Enter the symbol number to use\~ 4 .b ^~Enter D, L, F, Y, C, A, or S (to stop)\~ a ^~Enter 1 for the primary Y axis, 2 for the secondary Y axis\~ 2 .b ^~Enter D, L, F, Y, C, A, or S (to stop)\~ s .b ^~Enter the curve number to change (Enter "S" to stop):\~ s^3 .b3 .lm .half spacing 3 .f .pro The delete curve suboption enables the user to delete one or more curves from the presentation. Below is an example. .b4 .lm+3 .nf .nopro .half spacing 2 ^1^~CURVE DATA MODIFICATION ROUTINE Options: .b A - (A)dd new curves C - (C)hange existing curves L - (L)ist curves D - (D)elete curves H - C(H)ange symbol size (current value is 0.70000 ) S - (S)top .b Enter A, C, L, D, H, or S\~ d ^~Enter the curve number(s) to delete\~ 1^3 .pro .st;PLOT MODIFICATION (Labels) .b4 .lm .half spacing 3 .f .tt2 ^&LABEL DATA\& In the modify label data option, the user can add, delete, and change the labels. Also, the user can change the label coordinate system to use. The add label suboption is the same as when adding labels when the plot is created. The label color and character font can be changed by the user in the change defaults option, and not in this option. In the change label suboption, the user can change the label text, text size, and justification. Additional parameters include the angle at which the text is written at (text is rotated counterclockwise from horizontal), and if the text protection is on or off. Text protection is used to keep the labels from being overwritten by the curves or the grid. If the label is not in the plot area, or if there is no curves or grid drawn, the label protection is ignored, even if the text protection was set to on. Below is an example of changing a label. .b4 .lm+3 .nf .nopro .rm+8 .half spacing 2 ^1^~LABEL MODIFICATIONS .b Select one: .b A (A)dd labels C (C)hange labels L (L)ist labels D (D)elete labels O C(O)ordinate system of labels and legend (currently Global) S (S)top .b Enter A, C, L, D, O, or S:\~ c ^~Enter the label number to change (enter "S" to stop)\~ 1 .b ^~Select to change: .b L (L)abel: Demonstration of PLTPRG X (X) location = 0.50000 Y (Y) location = 1.1000 J (J)ustification = Center T (T)ext Size = 6 P (P)rotection = On R (R)otation angle = 0 A (A)ll S (S)top .b Enter L, X, Y, J, T, P, R, A or S :\~ l ^~Edit label no. 1\~ Demonstration of PLTPRG labels ^~Enter L, X, Y, J, T, P, R, A or S :\~ y ^~Enter the new Y Coordinate\~ 1.15 ^~Enter L, X, Y, J, T, P, R, A or S :\~ j ^~Enter L, C, or R, for (L)eft, (C)enter, or (R)ight justification of the label\~ l ^~Enter L, X, Y, J, T, P, R, A or S :\~ r ^~Enter the angle for the text (degrees):\~ 10 ^~Enter L, X, Y, J, T, P, R, A or S :\~ s^3 .b3 .lm .rm .f .pro .half spacing 3 The resultant label characteristics are: .b4 .lm+3 .half spacing 2 .nf .nopro ^1^~L (L)abel: Demonstration of PLTPRG labels X (X) location = 0.50000 Y (Y) location = 1.1500 J (J)ustification = Left T (T)ext Size = 6 P (P)rotection = On R (R)otation angle = 10 A (A)ll S (S)top\~^3 .b3 .lm .half spacing 3 .f .pro The list labels suboption lists the labels and their parameters, including label size, justification, protection, and rotation angle. Below is an example. .b3 .lm+3 .rm+8 .half spacing 2 .nf .nopro ^1^~Enter A, C, L, D, O, or S:\~ l .b ^~****************************** Label no. 1 ****************************** Text: Demonstration of PLTPRG labels X= 0.50000 Y= 1.1500 Left Just Textsize= 6 Protect=On Rot= 10 ****************************** Label no. 2 ****************************** Text: Another Label X= 0.50000 Y= 0.95000 Center Just Textsize= 4 Protect=On Rot= 0 .tt2 Press Return to continue \~ ^3 .b3 .lm .rm .half spacing 3 .f .pro The delete labels suboption enables the user to delete one or more labels from the presentation. Below is an example. .b3 .lm+3 .half spacing 2 .nf .nopro ^1^~Select one: .b A (A)dd labels C (C)hange labels L (L)ist labels D (D)elete labels O C(O)ordinate system of labels and legend (currently Global) S (S)top .b Enter A, C, L, D, O, or S:\~ d ^~Label deletion routine...enter the label number(s) to delete\~ 2^3 .b3 .lm .half spacing 3 .f .pro The label coordinate system suboption changes the coordinate system from global to local, or visa versa. When the user changes the coordinate system, the existing label, legend, and text block coordinates are translated into the new coordinate system. If, by accident, the user input the coordinates in one coordinate system when they should have been put into the other coordinate system, the user can correct this here. This only changes a flag in the program indicating which coordinate system is being used, and does not change the coordinates of the labels, legend, and text blocks. Below are examples. .b3 .half spacing 2 .lm+3 .nf .nopro ^1^~LABEL MODIFICATIONS .b Select one: .b A (A)dd labels C (C)hange labels L (L)ist labels D (D)elete`labels O C(O)ordinate system of labels and legend (currently Global) S (S)top .b Enter A, C, L, D, O, or S:\~ o ^~Label and legend coordinate system...Did user: .b 1 Wish to switch to a Local coordinate system 2 Selected one coordinate system, and entered the locations in another? 3 Stop .b Enter 1-3\~ 1 .b ^~Labels and legend are now assumed to lie in a Local coordinate system having the lower left corner as the primary axes Xmin, Ymin; and the upper right corner as Xmax, Ymax\~^3 .b2 .lm .f .pro .half spacing 3 If the label coordinate system was originally local, the coordinate system would now be global, and the message would then be: .b2 .nf .nopro .lm+3 .half spacing 2 ^1^~Labels and legend are now assumed to lie in a Global coordinate system having the lower left corner as 0,0; and the upper right corner as 1,1.\~^3 .b2 .lm .f .pro .half spacing 3 To change the coordinate system without having the labels, legend, and text block coordinates translated: If switching from global to local; .b2 .nf .nopro .lm+3 .half spacing 2 ^1^~Enter 1-3\~ 2 ^~Label and legend coordinate system is now Local\~^3 .b3 .lm .f .pro .half spacing 3 Or, if switching from local to global; .b2 .nf .nopro .lm+3 .half spacing 2 ^1Enter 1-3\~ 2 ^~Label and legend coordinate system is now Global\~^3 .pro .st;PLOT MODIFICATION (Legend) .b4 .half spacing 3 .lm .f .tt2 ^&LEGEND DATA\& The change legend data suboption enables the user to add, delete, change, and insert labels into the legend, and to change the legend characteristics such as legend coordinates, legend title, text size, legend border on/off, and the reference point of the legend coordinates. The legend font and legend color are not changed using this suboption; they can be changed using the change default values suboption. If there was no previous legend, attempting to add a label into the legend will create the legend, and the basic information for the legend, like location, text size, etc. will be prompted for. Below is an example of adding a legend label. .b3 .nf .nopro .half spacing 2 .lm+3 ^1^~Legend modification routine .b MODIFY: .b A (A)dd legend labels I (I)nsert legend labels C (C)hange legend labels L (L)ist legend labels D (D)elete legend labels B Change (B)ox data S (S)top .b Enter A, C, L, D, B, or S:\~ a .b ^~Enter the text for legend label 2 (return to stop)\~ Second Curve .b ^~Do you want a SYMBOL preceeding this Label? (y/n)\~ y ^~Enter the symbol number\~ 2 .b ^~Do you want a LINE preceeding this label? (y/n)\~ y ^~Enter the line pattern number\~ 4 ^~Do you want the line and/or symbol a special color? (y/n)\~ n .b .tt2 ^~Enter the text for legend label 3 (return to stop)\~ ^3 .b3 .lm .half spacing 3 .f .pro The label insert suboption enables the user to insert a label into the legend between other legend labels. Below is an example. .b3 .lm+3 .half spacing 2 .nf .nopro ^1^~Legend modification routine .b MODIFY: .b A (A)dd legend labels I (I)nsert legend labels C (C)hange legend labels L (L)ist legend labels D (D)elete legend labels B Change (B)ox data S (S)top .b Enter A, C, L, D, B, or S:\~ i ^~Enter the label number to insert after\~ 1 .b ^~Enter the text for legend label 2 (return to stop)\~ Inserted .b ^~Do you want a SYMBOL preceeding this Label? (y/n)\~ y ^~Enter the symbol number\~ 2 .b ^~Do you want a LINE preceeding this label? (y/n)\~ y ^~Enter the line pattern number\~ 5 ^~Do you want the line and/or symbol a special color? (y/n)\~ n^3 .b3 .lm .half spacing 3 .f .pro The change legend text suboption enables the user to change the legend label, and the line, symbol, and color preceeding the legend label. Below is an example of changing a legend label. .lm+3 .b4 .half spacing 2 .nf .nopro ^1^~Change legend labels...Enter the label number to change\~ 1 .b ^~Current Legend Label Data: .b T (T)ext: Model 9876 Y s(Y)mbol (no symbol = 0) = 1 L (L)ine Pattern (no line = 0) = 1 C (C)olor of the line and symbol = Black A (A)ll S (S)top .b Enter T, Y, L, C, A, or S:\~ y ^~Enter the symbol to proceed the text (0-11)\~ 4 .b ^~Enter T, Y, L, C, A, or S:\~ l ^~Enter the line pattern to proceed the text (0-10)\~ 2 .b ^~Enter T, Y, L, C, A, or S:\~ c ^~Enter the new color: .b 1 Black 2 Red 3 Dk. Green 4 Blue 5 Orange 6 Purple 7 Lt. Green 8 Brown .b Enter 1-8:\~ 2 .b ^~Current Legend Label Data: .b T (T)ext: Model 9876 Y s(Y)mbol (no symbol = 0) = 4 L (L)ine Pattern (no line = 0) = 2 C (C)olor of the line and symbol = Red A (A)ll S (S)top .b ^~Enter T, Y, L, C, A, or S:\~ s^3 .b3 .lm .half spacing 3 .f .pro The list legend labels suboption lists the legend labels and their parameters. These parameters include the line type and symbol type preceeding the labels. The other legend data such as location is shown using the change box data suboption. Below are examples. .b4 .lm+3 .nf .nopro .half spacing 2 ^1^~MODIFY: .b A (A)dd legend labels I (I)nsert legend labels C (C)hange legend labels L (L)ist legend labels D (D)elete legend labels B Change (B)ox data S (S)top .b ^~Enter A, C, L, D, B, or S:\~ l ^~****************************** Label 1 ****************************** Text: Model 9876 Symbol (none = 0) = 4 Line Pattern (none = 0) = 2 Color: Red ****************************** Label 2 ****************************** Text: Inserted Symbol (none = 0) = 2 Line Pattern (none = 0) = 5 Color: Black ****************************** Label 3 ****************************** Text: Second Curve Symbol (none = 0) = 2 Line Pattern (none = 0) = 4 Color: Black Press Return to continue \~^3 .b3 .lm .f .pro .half spacing 3 The delete legend labels suboption enables the user to delete one or more legend labels from the legend. Below are examples. .b4 .lm+3 .nf .nopro .half spacing 2 ^1^~MODIFY: .b A (A)dd legend labels I (I)nsert legend labels C (C)hange legend labels L (L)ist legend labels D (D)elete legend labels B Change (B)ox data S (S)top .b Enter A, C, L, D, B, or S:\~ d ^~Legend deletion routine...enter the label number(s) to delete\~ 2^3 .b3 .lm .half spacing 3 .f .pro The change legend box data suboption enables the user to change the location of the legend, the legend title, text size, and if a border is to be drawn about the legend. If the legend text size is set to zero, the legend will not be drawn. This enables the user to temporarily remove the legend from the plot without having to permanently delete the legend data. Below is an example of changing the legend box parameters. .b3 .lm+3 .half spacing 2 .nf .nopro ^1^~Changing Legend Box Data: .b H (H)eader title: Curve Legend X (X) location = 0.00000 Y (Y) location = 1.0000 C (C)oordinate reference: Upper left T (T)ext size index = 3 B (B)ox border: on S (S)top .b Enter H, X, Y, C, T, B, or S:\~ h ^~Edit the header text:\~ Demo Legend .b ^~Enter H, X, Y, C, T, B, or S:\~ c .b ^~Is that X-Y pair corresponding to the legend: .b 1 Upper left 2 Lower left 3 Upper right 4 Lower right 5 Center 6 Left center 7 Right center 8 Upper center 9 Lower center .b Enter 1-9:\~ 3 .b ^~Enter H, X, Y, C, T, B, or S:\~ x ^~Enter the Legend X location:\~ 1 .b ^~Changing Legend Box Data: .b H (H)eader title: Demo Legend X (X) location = 1.0000 Y (Y) location = 1.0000 C (C)oordinate reference: Upper right T (T)ext size index = 3 B (B)ox border: on S (S)top .b ^~Enter H, X, Y, C, T, B, or S:\~ s^3 .pro .st;PLOT MODIFICATION (Text Blocks) .b4 .lm .half spacing 3 .f .b .tt2 ^&TEXT BLOCKS\& A text block refers to a set of labels that are spaced vertically, in a group. The set of labels might be used to describe the circumstances under which the information in the plot were calculated, measured, etc. Instead of trying to input a series of labels using the label option to create such a set, you can use a text block. .b2 .tt2 ^&ADDING TEXT BLOCKS\& This option enables the user to add blocks of text to the presentation. A text block is a group of labels. The user inputs little information about the labels; the label text, justification (left, center, or right), and the letter size. The user selects the text block location in the same way as with the legend; the user supplies the X and Y coordinate, and defines where the coordinates are relative to the text block. The sizing of the text block is done automatically. Up to 10 text blocks are allowed. Below is an example of adding a text block. .b3 .lm+3 .nf .nopro .rm+8 .half spacing 2 ^1^~TEXT BLOCK MODIFICATIONS .b 0 Text blocks in use .b Select one: .b A (A)dd Text blocks C (C)hange text blocks D (D)elete text blocks S (S)top .b Enter A, C, D, or S:\~ a ^~Adding text block number 1 Enter the X and Y location of the text block\~ 0.5,0.85 ^~Does the X and Y values correspond to the: .b 1) Upper left 2) Lower left 3) Upper right 4) Lower right 5) Center 6) Left center 7) Right center 8) Upper center 9) Lower center .b Enter 1-9:\~ 8 .b ^~Do you want a border drawn around the text block? (y/n)\~ y ^~Enter the text for text block label number 1 (press return to stop)\~ Model 9876 ^~Enter the text size for the label (1-10)\~ 5 ^~Enter L, C, or R, for (L)eft, (C)enter, or (R)ight justification of the label\~ c ^~Enter the text for text block label number 2 (press return to stop)\~ Model Resistance ^~Enter the text size for the label (1-10)\~ 4 ^~Enter L, C, or R, for (L)eft, (C)enter, or (R)ight justification of the label\~ c ^~Enter the text for text block label number 3 (press return to stop)\~ January 1995 ^~Enter the text size for the label (1-10)\~ 5 ^~Enter L, C, or R, for (L)eft, (C)enter, or (R)ight justification of the label\~ c ^~Enter the text for text block label number 4 .tt2 (press return to stop)\~ ^3 .b4 .half spacing 3 .lm .rm .f .pro ^&CHANGING TEXT BLOCKS\& In addition to adding text blocks, this option allows the user to change or delete the text blocks. Under the change text block suboption, the user can add, delete, change, and insert labels, and change the text block parameters. In changing the labels, the user can change the label text, letter size, justification, and the vertical spacing factor (the distance between a label and the label above it). .b INSERTING LABELS The insert labels suboption inserts labels between two existing labels in the text block. The user must first state which label number they will insert after, and then give the label, the text size, and the justification for the label. To insert a label at the top of the text block, insert the label after 0. Below is an example of inserting a label. .b3 .half spacing 2 .nf .nopro .lm+3 .rm+8 ^1^~Select to change: .b I (I)nsert labels A (A)dd labels C (C)hange labels L (L)ist labels D (D)elete labels B (B)ox data S (S)top .b Enter I, A, C, L, D, B, or S:\~ i ^~Enter the label number to insert the label after\~ 1 ^~Enter the label text:\~ Ballast Condition Trim ^~Enter the text size (1-10)\~ 4 ^~Enter L, C, or R, for (L)eft, (C)enter, or (R)ight justification of the label\~ l^3 .lm .rm .half spacing 3 .f .pro .b4 .tt2 ADDING LABELS The add labels suboption adds labels after the last label in the text block. The user inputs a label, the text size, and the justification for the label. Below is an example of adding a label. .b3 .lm+3 .rm+8 .half spacing 2 .nf .nopro ^1^~Select to change: .b I (I)nsert labels A (A)dd labels C (C)hange labels L (L)ist labels D (D)elete labels B (B)ox data S (S)top .b Enter I, A, C, L, D, B, or S:\~ a ^~Enter the label text:\~ DTRC ^~Enter the text size (1-10)\~ 7 ^~Enter L, C, or R, for (L)eft, (C)enter, or (R)ight justification of the label\~ r^3 .lm .rm .half spacing 3 .f .pro .b4 .tt2 CHANGING LABELS The change labels suboption enables the user to change a label and its parameters. The user can change the label text, the text size, and the justification. Another value that can be changed is the vertical spacing between this label and the label preceeding it. The size of the space is equal to: (the vertical spacing factor value * the text size of this label). The default value chosen when the label is added, inserted, or the viewgraph created is equal to the maximum of 1.0 or (text size of preceeding label + text size of this label)/ (2 * text size of this label). If the spacing value is changed to -1.0, then this label will appear on the same line as the proceeding label. This is useful when one label is set to one justification, the other label set to a different justification, and both labels are very short. Below is an example of changing a label. .b4 .lm+3 .rm+8 .nf .nopro .half spacing 2 ^1^~Select to change: .b I (I)nsert labels A (A)dd labels C (C)hange labels L (L)ist labels D (D)elete labels B (B)ox data S (S)top .b ^~Enter I, A, C, L, D, B, or S\~: c ^~Enter the number of the line of text to change\~ 5 ^~Select to change: .b L (L)abel = DTRC .b J (J)ustification = Right T (T)ext size = 3 V (V)ertical distance = 1.00 S (S)top .b Enter L, J, T, V, or S:\~ l ^~Edit label number 5\~ Code 1522 .b ^~Enter L, J, T, V, or S:\~ j ^~Enter L, C, or R, for (L)eft, (C)enter, or (R)ight justification of the label\~ c .b ^~Enter L, J, T, V, or S:\~ t ^~Enter the text size (0-10)\~ 3 .b ^~Enter L, J, T, V, or S:\~ v ^~Enter the vertical spacing factor\~ 2 .b ^~Select to change: .b L (L)abel = Code 1522 .b J (J)ustification = Center T (T)ext size = 3 V (V)ertical distance = 2.00 S (S)top .b Enter L, J, T, V, or S:\~ s^3 .lm .rm .half spacing 3 .f .pro .b3 The list text block labels suboption lists the labels and their parameters, including justification, text size, and vertical distance factor. Below is an example. .b4 .lm+3 .nf .nopro .half spacing 2 ^1^~Select to change: .b I (I)nsert labels A (A)dd labels C (C)hange labels L (L)ist labels D (D)elete labels B (B)ox data S (S)top .b Enter I, A, C, L, D, B, or S:\~ l ^~LISTING OF TEXT BLOCK NUMBER 1 .b ****************************** Label no. 1 ****************************** Text: Model 9876 Justification = Center Size = 5 Vert. Spacing = 0.00 ****************************** Label no. 2 ****************************** Text: Ballast Condition Trim Justification = Left Size = 4 Vert. Spacing = 1.13 ****************************** Label no. 3 ****************************** Text: Model Resistance Justification = Center Size = 4 Vert. Spacing = 1.13 ****************************** Label no. 4 ****************************** Text: January 1995 Justification = Center Size = 5 Vert. Spacing = 1.00 ****************************** Label no. 5 ****************************** Text: Code 1522 Justification = Right Size = 6 Vert. Spacing = 2.00 Press Return to continue\~ ^3 .b3 .lm .half spacing 3 .f .pro The delete labels suboption enables the user to delete one or more labels from the text block. Below is an example. .b4 .lm+3 .nf .nopro .half spacing 2 ^1^~Select to change: .b I (I)nsert labels A (A)dd labels C (C)hange labels L (L)ist labels D (D)elete labels B (B)ox data S (S)top .b Enter I, A, C, L, D, B, or S:\~ d ^~Enter the label numbers to delete:\~ 6 7 8^3 .b4 .f .pro .half spacing 3 .lm .tt2 CHANGING TEXT BLOCK PARAMETERS The change text block parameters suboption enables the user to change the text block coordinates, coordinate reference point, color, text font, global spacing factor, and the border on/off. By default the text block color and font is the same as that as the normal labels. The global spacing factor is used to alter the vertical spacing factor for each label. The actual vertical spacing between the labels is equal to: (text size of label * vertical spacing factor * global spacing factor). However, if the vertical spacing factor value for a label is less than zero, the global spacing factor is ignored, and the vertical spacing is: (text size of label * vertical spacing factor). Below is an example of changing the text block parameters. .b3 .half spacing 2 .lm+3 .nf .nopro ^1^~Select to change: .b I (I)nsert labels A (A)dd labels C (C)hange labels L (L)ist labels D (D)elete labels B (B)ox data S (S)top .b Enter I, A, C, L, D, B, or S:\~ b .b ^~BOX DATA FOR NUMBER 1 .b C (C)olor = same as for labels F (F)ont for the text = same as for labels L (L)ocation coordinate reference = Upper center B (B)ox border = On X (X) location = 0.50000 Y (Y) location = 0.85000 G (G)lobal line spacing factor = 1.0000 S (S)top .b Enter C, F, L, B, X, Y, G, or S:\~ c ^~Select the color: .b 0) same as for labels 1) Black 2) Red 3) Dk. Green 4) Blue 5) Orange 6) Purple 7) Lt. Green 8) Brown .b Enter 0-8:\~ 2 .b ^~ Enter C, F, L, B, X, Y, G, or S:\~ f ^~Select the text font: .b -1) same as for labels 0) Hardware 1) Simplex Roman 2) Duplex Roman 3) Complex Roman 4) Triplex Roman 5) Complex Italic 6) Triplex Italic 7) Complex Script 8) Gothic English .b Enter -1 to 8:\~ 2 .b ^~Enter C, F, L, B, X, Y, G, or S:\~ l ^~Select the text block coordinate system .b 1) Upper left 2) Lower left 3) Upper right 4) Lower right 5) Center 6) Left center 7) Right center 8) Upper center 9) Lower center .b Enter 1-9:\~ 3 .b ^~Enter C, F, L, B, X, Y, G, or S:\~ g ^~Enter the global line spacing factor value\~ .75 .b ^~C (C)olor = Red F (F)ont for the text = Duplex Roman L (L)ocation coordinate reference = Upper right B (B)ox border = On X (X) location = 0.50000 Y (Y) location = 0.85000 G (G)lobal line spacing factor = 0.75000 S (S)top .b Enter C, F, L, B, X, Y, G, or S:\~ s^3 .lm .half spacing 3 .f .pro .st;PLOT MODIFICATION (Default Values) .b4 .tt2 ^&DEFAULT VALUES\& This option allows the user to change various default values. The values that can be changed include the following: .b .half spacing 2 .nf .tt3 .col "|" 12,25,70 ||^&ITEM\& |^&DEFAULT\& .b |Axis tick direction (inward, outward, and none) ||Inward |Axis type (normal or logarithmic) ||Normal |Axes thickness ||0.01 inches |Axes line color ||Black |Axes text color ||Black |Axes text font ||Simplex Roman |Grid line thickness (major and minor individually) ||0.01 inches |Grid line color (major and minor individually) ||Black |Curve thickness ||0.01 inches |Label text font ||Simplex Roman |Label color ||Black |Legend text font ||Simplex Roman |Legend color ||Black |Text spacing (uniform or proportional) ||Proportional .nocol .b2 .tt7 .col "|" 15,40 |The text fonts include: .b |0) Hardware |5) Complex Italic |1) Simplex Roman |6) Triplex Italic |2) Duplex Roman |7) Complex Script |3) Complex Roman |8) Gothic English |4) Triplex Roman .b2 |The colors include: |1) Black |5) Orange |2) Red |6) Purple |3) Dk. Green |7) Lt. Green |4) Blue |8) Brown .nocol .b3 .f .half spacing 3 The hardware font is the fastest to draw; however, since the text font size is device dependent, the text on a terminal will look different in size and shape than the text on a plotter; also, some devices cannot rotate text 90 degrees, so the Y axis labels might be difficult to read. The next fastest font to hardware is simplex roman; that is why it is used as the default font. If the user chooses logarithmic axes, and has set the major grid increment to some nonzero value, the major grid will occur at intervals of 10^>N^<, regardless of the major grid increment value. If the user has set the minor grid increment to some nonzero value, the minor grid will occur at intervals of M * 10^>N^< (9`>M`>2), regardless of the minor grid increment value. Below is an example of changing the default parameters. Only the first and last default parameter menus are shown below, to conserve space. .lm+3 .nf .nopro .half spacing 2 .b3 ^1^~** SELECT NEXT OPTION **\~ mp .b2 ^~PLOT MODIFICATION ROUTINE .b Modify: .b A (A)xis data C (C)urve data L (L)abel data E L(E)gend data T (T)ext blocks D (D)efault values R (R)eset the default values S (S)top .b Enter A, C, L, E, T, D, R, or S:\~ d .b ^~SECONDARY PARAMETERS MENU .b 1) Axis Thickness: 0.01000 2) Axis tick direction: Inward 3) X axis type: Normal 4) Y axis type: Normal .b 5) Curve line thickness: 0.01000 .b 6) Major grid line thickness: 0.01000 7) Minor grid line thickness: 0.00500 8) Major grid line color: Black 9) Minor grid line color: Black .b 10) Text character spacing: Proportional 11) Axis character set no.: Simplex Roman 12) Label character set no.: Simplex Roman 13) Legend character set no.: Simplex Roman 14) Axis color: Black 15) Axis text color: Black 16) Label color: Black 17) Legend color: Black .b Enter the value to change (enter S to stop)\~ 12 .b2 ^~Available character sets: .b 0) Hardware 1) Simplex Roman 2) Duplex Roman 3) Complex Roman 4) Triplex Roman 5) Complex Italic 6) Triplex Italic 7) Complex Script 8) Gothic English .b Select 0-8:\~ 3 .b ^~Enter the value to change (enter S to stop)\~ 17 .b2 ^~Color Selection: .b 1) Black 2) Red 3) Dk. Green 4) Blue 5) Orange 6) Purple 7) Lt. Green 8) Brown .b Enter 1-8:\~ 4 .b ^~Enter the value to change (enter S to stop)\~ 1 ^~Enter the new line thickness\~ .03 .b ^~Enter the value to change (enter S to stop)\~ 2 .b2 ^~SECONDARY PARAMETERS MENU .b 1) Axis Thickness: 0.03000 2) Axis tick direction: Outward 3) X axis type: Normal 4) Y axis type: Normal .b 5) Curve line thickness: 0.01000 .b 6) Major grid line thickness: 0.01000 7) Minor grid line thickness: 0.00500 8) Major grid line color: Black 9) Minor grid line color: Black .b 10) Text character spacing: Proportional 11) Axis character set no.: Simplex Roman 12) Label character set no.: Complex Roman 13) Legend character set no.: Simplex Roman 14) Axis color: Black 15) Axis text color: Black 16) Label color: Black 17) Legend color: Blue .b Enter the value to change (enter S to stop)\~ s^3 .half spacing 3 .lm .f .pro .st;PLOT MODIFICATION (Reset Default Values) .b5 .tt2 ^&RESET DEFAULT VALUES\& By using the reset default values option, all of the values changed by the user using the change default values option will be reset to the default values. .b3 .lm+3 .half spacing 2 .nf .nopro ^1^~ PLOT MODIFICATION ROUTINE .b Modify: .b A (A)xis data C (C)urve data L (L)abel data E L(E)gend data T (T)ext blocks D (D)efault values R (R)eset the default values S (S)top .b Enter A, C, L, E, T, D, R, or S:\~ r ^~Do you really want to reset the default values? (y/n)\~ y^3 .f .pro .lm .half spacing 3 .st;SAVING PLOT PRESENTATIONS .b4 .tt4 ^~^&^4SAVING PLOT PRESENTATIONS^3\&\~ .b The user can save their plot presentations to files by selecting option "SP" or "PS". Option "SP" saves the plot parameters and the datapoints used in the plot; option "PS" saves the plot parameters only. If the user wishes to replot a plot stored using option "PS", the user must read in the original datafile in first; if the user wishes to replot a plot stored using option "SP", it is not necessary to read in the original datafile. Since the datapoints are not stored in a plot saved using option "PS", the corresponding file may be much smaller then the plot file created using "SP". Below is an example of saving a plot presentation using option "SP". .b3 .half spacing 2 .lm+3 .nf .nopro ^1^~** SELECT NEXT OPTION **\~ sp .b ^~SAVE PRESENTATION ROUTINE .b2 ^~Enter the file name to store the data\~ test.plt .b2 ^~** SELECT NEXT OPTION **\~^3 .lm .half spacing 3 .f .pro .b3 Below is an example of saving a plot presentation using option "PS". .b3 .half spacing 2 .lm+3 .nf .nopro ^1^~** SELECT NEXT OPTION **\~ ps .b2 ^~SAVE PRESENTATION ROUTINE (Short Form - Datapoints Not Included) Enter the file name to store the data\~ temp.plt .b2 ^~** SELECT NEXT OPTION **\~^3 .lm .half spacing 3 .f .pro .st;RECALLING PLOT PRESENTATIONS .b4 .tt4 ^~^&^4RECALLING PLOT PRESENTATIONS^3\&\~ .b Plot presentations, saved previously using option "SP" or "PS" are recalled using option "RP" (recall presentation). The user does not have to indicate which option was used to save the plot presentation, and has only to provide a file name. If the plot was stored using option "SP", the column data stored in the presentation file is compared with the data currently in PLTPRG. If there is a match, the plot curve data column numbers are adjusted to their matching data columns in PLTPRG. If there is no match, the user is asked if they wish to add the non matching data columns stored in the plot presentation file to the program. If the user does not wish to add this data, then the curve data column number is not adjusted; and if either of the two curve data column numbers are greater than the highest data column number currently in PLTPRG, the curve is deleted from the plot. Since the data in the plot presentation file (stored using "SP") can be added into the program, it is possible to recall a plot presentation without having any data currently in PLTPRG. If the plot was stored using option "PS", the curve data column numbers are not adjusted; if either of the curve data column numbers are greater than the highest data column number currently in PLTPRG, the curve is deleted from the plot. Below is an example of reading in a plot presentation, when the data for the plot is currently not in PLTPRG. .b3 .half spacing 2 .lm+3 .nf .nopro ^1^~** SELECT NEXT OPTION **\~ rp .b2 ^~RECALL PRESENTATION ROUTINE .b Enter the file name to read the data from\~ temp.plt .b2 ^~^&CAUTION\&... The data points for some of the curves did not match the current data loaded in the program. Do you wish to add this data to the program?\~ y .b2 ^~** SELECT NEXT OPTION **\~^3 .lm .half spacing 3 .f .pro .t;^~MODIFYING THE DATA\~ .st;MODIFYING A SINGLE COLUMN .b6 .tt4 .c;^~^&^4MODIFYING THE DATA^3\&\~ .b The users' data within PLTPRG can be modified using a number of different options. The first option, "MD", allows the user to modify the data within a single data column. The second option, "MC", allows the user to modify a group of data columns (all having the same number of points) at the same time. The third option, "SC", allows the user to scale all of the datapoints in a single column by multiplying by one constant, and adding another constant. .b .tt3 ^~^&^4MODIFYING A SINGLE COLUMN^3\&\~ .b Option "MD" allows the user to insert, delete, and change the data values in a single column. After entering in "MD", the program prompts the user for the data column number to modify. If the user enters a number larger than the last column currently in PLTPRG, the last column will be selected. The data column title and values will then be displayed. The data values are numbered, starting with one with the first data value. The user is prompted to select one of the suboptions: insert, delete, change, and stop. It should be noted that with option "MD", the data in the column is not permanently changed until the user exits this option, at which time the user will be asked if they wish to make these changes permanent. The insert data option allows the user to insert a group of data after any of the current data values. The user is prompted for the data value number to insert the new data after, and then for the new data values. A data value number of 0 is used to insert the new data ahead of the current first data value. .b .half spacing 2 .nf .nopro .lm+3 ^1^~** SELECT NEXT OPTION **\~ md .b ^~Modify and/or display data .b Enter the data column number\~ 5 ^~Column Number 5 Current data: .b 0 Data Title : Speed (Knots) Model 9876 Ballast Condition 1 18.000 2 20.000 4 28.000 5 32.000 .b Enter (I)nsert, (C)hange, (D)elete, or (S)top\~ i ^~Enter the number to insert data after\~ 2 ^~Input the values to insert - Enter "S" to stop\~ 21,22,23,24s .b ^~ Column Number 5 Current data: .b 0 Data Title : Speed (Knots) Model 9876 Ballast Condition 1 18.000 2 20.000 3 21.000 4 22.000 5 23.000 6 24.000 7 28.000 8 32.000 .b Enter (I)nsert, (C)hange, (D)elete, or (S)top\~ i ^~Enter the number to insert data after\~ 0 ^~Input the values to insert - Enter "S" to stop\~ 16s .b ^~Column Number 5 Current data: .b 0 Data Title : Speed (Knots) Model 9876 Trimmed by Bow 1 16.000 2 18.000 3 20.000 4 21.000 5 22.000 6 23.000 7 24.000 8 28.000 9 32.000\~^3 .b3 .half spacing 3 .f .pro .lm The delete data option allows the user to delete a single data value, or a range of data values. If the user deletes all of the data in the column, the column is deleted from PLTPRG, any curves in the current plot presentation which use that column are deleted from the plot presentation, any table columns corresponding to this data column are deleted, and the remaining data columns are renumbered. .b2 .half spacing 2 .nf .nopro .lm+3 ^1^~Enter (I)nsert, (C)hange, (D)elete, or (S)top\~ d ^~Enter one point number to delete, or a range [First, Last] to delete\~ 4 6 .b ^~Column Number 5 Current data: .b 0 Data Title : Speed (Knots) Model 9876 Trimmed by Bow 1 16.000 2 18.000 3 20.000 4 24.000 5 28.000 6 32.000 .b Enter (I)nsert, (C)hange, (D)elete, or (S)top\~ d ^~Enter one point number to delete, or a range [First, Last] to delete\~ 1 .b ^~Column Number 5 Current data: .b 0 Data Title : Speed (Knots) Model 9876 Ballast Condition 1 18.000 2 20.000 3 24.000 4 28.000 5 32.000\~^3 .b3 .half spacing 3 .f .pro .lm After using the insert and delete options, the data column values are redisplayed, with updated data value numbers. The change data values option is used to change the individual data values. The user is prompted for the data value number to change. The current data value is displayed, and the user prompted for the new data value. To change the data column title, a data value number of zero is entered. The current title is displayed, and the user can edit the title. After the user is finished changing the data values (by entering "S" instead of a data column number to change), all of the data column values are redisplayed. .b .nf .nopro .lm+3 .half spacing 2 ^1^~Column Number 5 Current data: .b 0 Data Title : Speed (Knots) Model 9876 Ballast Condition 1 18.000 2 20.000 3 24.000 4 28.000 5 32.000 .b Enter (I)nsert, (C)hange, (D)elete, or (S)top\~ c ^~Enter the number (not value) to change, or (S)top\~ 3 ^~Current value is 24.0000 , New value is?\~ 25.1 ^~Enter the number (not value) to change, or (S)top\~ 0 ^~Edit the old title:\~ Speed (Knots) Model 9876 Trimmed by Bow ^~Enter the number (not value) to change, or (S)top\~ s .b ^~Column Number 5 Current data: .b 0 Data Title : Speed (Knots) Model 9876 Trimmed by Bow 1 18.000 2 20.000 3 25.100 4 28.000 5 32.000 .b Enter (I)nsert, (C)hange, (D)elete, or (S)top\~ s ^~Do you wish to save the modifications? (y/n)\~ y .b ^~** SELECT NEXT OPTION **\~^3 .b3 .half spacing 3 .f .pro .lm The stop option is used to exit the "MD" option. The user is prompted if they wish to make the modifications to the column permanent. If the user enters "N", none of the modifications are saved, and the data column values are as prior to entering option "MD". .st;MODIFYING MULTIPLE COLUMNS .b2 .tt3 ^~^&^4MODIFYING MULTIPLE COLUMNS^3\&\~ .b The modify multiple columns option, "MC", enables the user to modify up to nine data columns at once. Upon selecting option "MC", the user will be prompted for the data column numbers to use. If the user enters more than 9 columns, only the first 9 will be used (if the user selects more than 5, the terminal will switch to 132 column mode) . All of the data columns must have the same number of points. PLTPRG will then display the number and titles of the columns to modify. The user can add, insert, delete, change, and list the data values. It should be noted that unlike the "MD" option, the data modifications are permanent, so that it is a good idea to save the column data prior to using this option. The add data option adds the new data after the last current data values. The user must add multiples of N values if there are N columns to modify (an equal number of values for each column). .b2 .lm+3 .half spacing 2 .nf .nopro ^1^~** SELECT NEXT OPTION **\~ mc .b ^~ MODIFY COLUMNS IN GROUPS .b Enter the column numbers to modify, or "S" to stop\~ 5 6 7 8 ^~Selected columns: .b Column 5: Speed (Knots) Model 9876 Ballast Condition Column 6: Resistance Model 9876 Ballast Condition Column 7: Cr Model 9876 Ballast Condition Column 8: Cf Model 9876 Ballast Condition .b Are the column numbers correct? (y/n)\~ y ^~Select: .b I (I)nsert data A (A)dd data C (C)hange data D (D)elete data L (L)ist data S (S)top Enter I, A, C, D, L, or S:\~ a .b ^~Data Column Column Column Column Pt 5 6 7 8 .b 2 20.000 3.9600 1.0120 3.2010 3 24.000 7.7700 1.6210 3.1010 4 28.000 19.230 2.4560 2.9910 5 32.000 33.560 3.5160 2.7540 6 ************** New data values ************** .b Enter the values for point number 6, or "S" to stop\~ 34,37.25,4.112,2.643 .b ^~Data Column Column Column Column Pt 5 6 7 8 .b 2 20.000 3.9600 1.0120 3.2010 3 24.000 7.7700 1.6210 3.1010 4 28.000 19.230 2.4560 2.9910 5 32.000 33.560 3.5160 2.7540 6 34.000 37.250 4.1120 2.6430 7 ************** New data values ************** .b Enter the values for point number 7, or "S" to stop\~ 36,42.12,4.732,2.553 .b ^~Data Column Column Column Column Pt 5 6 7 8 .b 2 20.000 3.9600 1.0120 3.2010 3 24.000 7.7700 1.6210 3.1010 4 28.000 19.230 2.4560 2.9910 5 32.000 33.560 3.5160 2.7540 6 34.000 37.250 4.1120 2.6430 7 36.000 42.120 4.7320 2.5530 8 ************** New data values ************** .b Enter the values for point number 8, or "S" to stop\~ s^3 .b3 .lm .half spacing 3 .f .pro The insert data option enables the user to insert new data values after any of the current data values. The user is prompted for the data value number to insert the data after, and then the new values. The user must add multiples of N values if there are N columns to modify (an equal number of values for each column). .b2 .lm+3 .half spacing 2 .nf .nopro ^1^~Select: .b I (I)nsert data A (A)dd data C (C)hange data D (D)elete data L (L)ist data S (S)top Enter I, A, C, D, L, or S:\~ i ^~Enter the point number to insert after:\~ 4 .b ^~Data Column Column Column Column Pt 5 6 7 8 .b 1 18.000 2.1200 0.70700 3.5310 2 20.000 3.9600 1.0120 3.2010 3 24.000 7.7700 1.6210 3.1010 4 28.000 19.230 2.4560 2.9910 5 ************** New data values ************** 6 32.000 33.560 3.5160 2.7540 7 34.000 37.250 4.1120 2.6430 8 36.000 42.120 4.7320 2.5530 .b Enter the values for point number 5, or "S" to stop\~ 30.0,25.43,2.995,2.871 .b ^~Data Column Column Column Column Pt 5 6 7 8 .b 1 18.000 2.1200 0.70700 3.5310 2 20.000 3.9600 1.0120 3.2010 3 24.000 7.7700 1.6210 3.1010 4 28.000 19.230 2.4560 2.9910 5 30.000 25.430 2.9950 2.8710 6 ************** New data values ************** 7 32.000 33.560 3.5160 2.7540 8 34.000 37.250 4.1120 2.6430 9 36.000 42.120 4.7320 2.5530 .b Enter the values for point number 6, or "S" to stop\~ s^3 .b3 .lm .half spacing 3 .f .pro The delete data option allows the user to delete a single data value in each column, or a range of data values in each column. If the user deletes all of the data in the columns, the columns are deleted from PLTPRG, any curves in the current plot presentation which use these columns are deleted from the plot presentation, any table columns corresponding to these data columns are deleted, and the remaining data columns within PLTPRG are renumbered. .b2 .lm+3 .half spacing 2 .nf .nopro ^1^~Select: .b I (I)nsert data A (A)dd data C (C)hange data D (D)elete data L (L)ist data S (S)top Enter I, A, C, D, L, or S:\~ d ^~Enter the point number to delete, or a range [first, last] to delete, or "S" to stop:\~ 4 6 .b ^~Points to delete: .b Data Column Column Column Column Pt 5 6 7 8 .b 4 28.000 19.230 2.4560 2.9910 5 30.000 25.430 2.9950 2.8710 6 32.000 33.560 3.5160 2.7540 .b Are these the correct points to delete?\~ y^3 .b3 .lm .half spacing 3 .f .pro The change data values option is used to change the individual data values. The user is prompted for the data value number to change. The current data values are displayed, and the user prompted for the new data values. .b2 .lm+3 .half spacing 2 .nf .nopro ^1^~Select: .b I (I)nsert data A (A)dd data C (C)hange data D (D)elete data L (L)ist data S (S)top Enter I, A, C, D, L, or S:\~ c ^~Enter the point to change, or "S" to stop\~ 4 .b ^~Data Column Column Column Column Pt 5 6 7 8 .b 1 18.000 2.1200 0.70700 3.5310 2 20.000 3.9600 1.0120 3.2010 3 24.000 7.7700 1.6210 3.1010 4 34.000 37.250 4.1120 2.6430 5 36.000 42.120 4.7320 2.5530 .b Enter the new values:\~ 32,29.95,3.45,2.845 .b ^~Data Column Column Column Column Pt 5 6 7 8 .b 1 18.000 2.1200 0.70700 3.5310 2 20.000 3.9600 1.0120 3.2010 3 24.000 7.7700 1.6210 3.1010 4 32.000 29.950 3.4500 2.8450 5 36.000 42.120 4.7320 2.5530 .b Enter the point to change, or "S" to stop\~ s^3 .b3 .half spacing 3 .lm .f .pro The list data values option enables the user to list a range [first, last] of data values for all of the data columns being modified. .b2 .lm+3 .half spacing 2 .nf .nopro ^1^~Select: .b I (I)nsert data A (A)dd data C (C)hange data D (D)elete data L (L)ist data S (S)top .b Enter I, A, C, D, L, or S:\~ l .b ^~Enter the point range [first, last] to list:\~ 1 5 .b ^~Data Column Column Column Column Pt 5 6 7 8 .b 1 18.000 2.1200 0.70700 3.5310 2 20.000 3.9600 1.0120 3.2010 3 24.000 7.7700 1.6210 3.1010 4 32.000 29.950 3.4500 2.8450 5 36.000 42.120 4.7320 2.5530 Select: .b I (I)nsert data A (A)dd data C (C)hange data D (D)elete data L (L)ist data S (S)top Enter I, A, C, D, L, or S:\~ s .b ^~** SELECT NEXT OPTION **\~^3 .pro .st;DELETING DATA COLUMNS .b4 .lm .half spacing 3 .f .tt3 ^~^&^4DELETING DATA COLUMNS^3\&\~ The data columns can be deleted from PLTPRG in a number of ways. One way is to modify the data columns by deleting all of the columns' data points. Another way is to read in a new set of data (using "RD" or "CV"), without adding it to the existing data, which deletes all of the previous data columns. The final way to delete data columns from the program is the delete columns option, "DC". The "DC" option enables the user to delete individual columns, delete a range of columns, or delete all of the columns. It should be noted that when the data columns are deleted, the plot presentation is updated (curve column numbers are adjusted, and curves deleted if columns used in the curve are deleted), and the table presentation updated (table column numbers adjusted, and table columns deleted if their corresponding data columns are deleted). For the delete individual data columns suboption, the user enters the column number to delete. The corresponding column titles are then displayed, and the user prompted to respond if these columns are correct. For the delete a range of columns suboption, the user enters the first and last column numbers to delete. The corresponding column titles are then displayed, and the user prompted to respond if these columns are correct. For the delete all of the columns suboption, the user is prompted to verify that they wish to delete all of the columns. For deleting individual data columns: .b2 .nf .nopro .lm+3 .half spacing 2 ^1^~** SELECT NEXT OPTION **\~ dc .b ^~DELETE DATA COLUMN ROUTINE .b 1) Delete individual data columns 2) Delete a range [first,last] of data columns 3) Delete all data columns Enter 1-3, or S to stop:\~ 1 ^~Enter the data column numbers to delete - enter an "S" to stop\~ 4 8 12 .b ^~COLUMNS TO BE DELETED: .b No. Title .b 4 Cf Model 9876 Full Load 8 Cf Model 9876 Ballast Condition 12 Cf Model 9876 Trimmed by the bow .b Are the columns correct? (y/n)\~ y .b ^~CHANGED DATA COLUMN TITLES: .b _# Pts TITLE .b 4 5 Speed (Knots) Model 9876 Ballast Condition 5 5 Resistance Model 9876 Ballast Condition 6 5 Cr Model 9876 Ballast Condition 7 3 Speed (Knots) Model 9876 Trimmed by the bow 8 3 Resistance Model 9876 Trimmed by the bow 9 3 Cr Model 9876 Trimmed by the bow .b THE ABOVE ARE THE ONLY COLUMNS WHOSE NUMBERS HAVE CHANGED .b ** SELECT NEXT OPTION **\~^3 .b3 .half spacing 2 .f .pro .lm For deleting a range of data columns: .b2 .nf .nopro .lm+3 .half spacing 2 ^1^~** SELECT NEXT OPTION **\~ dc .b ^~DELETE DATA COLUMN ROUTINE .b 1) Delete individual data columns 2) Delete a range [first,last] of data columns 3) Delete all data columns Enter 1-3, or S to stop:\~ 2 ^~Enter the range of columns [first,last] to delete:\~ 5 8 .b ^~COLUMNS TO BE DELETED: .b No. Title .b 5 Speed (Knots) Model 9876 Ballast Condition 6 Resistance Model 9876 Ballast Condition 7 Cr Model 9876 Ballast Condition 8 Cf Model 9876 Ballast Condition .b Are the columns correct? (y/n)\~ y .b ^~CHANGED DATA COLUMN TITLES: .b _# Pts TITLE .b 5 3 Speed (Knots) Model 9876 Trimmed by the bow 6 3 Resistance Model 9876 Trimmed by the bow 7 3 Cr Model 9876 Trimmed by the bow 8 3 Cf Model 9876 Trimmed by the bow .b THE ABOVE ARE THE ONLY COLUMNS WHOSE NUMBERS HAVE CHANGED .b ** SELECT NEXT OPTION **\~^3 .b3 .f .pro .half spacing 3 .lm For deleting ^&ALL\& of the data columns in PLTPRG: .b2 .nf .nopro .lm+3 .half spacing 2 ^1^~** SELECT NEXT OPTION **\~ dc .b ^~DELETE DATA COLUMN ROUTINE .b 1) Delete individual data columns 2) Delete a range [first,last] of data columns 3) Delete all data columns Enter 1-3, or S to stop:\~ 3 ^~Do you really want to delete ^&ALL\& of the data columns? (y/n)\~ y .b ^~** SELECT NEXT OPTION **\~^3 .pro .st;SCALING A DATA COLUMN .b4 .f .half spacing 3 .lm .tt3 ^~^&^4SCALING A DATA COLUMN^3\&\~ .b A data column can be scaled using option "SC". This scaling consists of multiplying the data values in the column by one value, and adding a second constant to the values. When this option is selected, the user is prompted for the column number to scale. The column title is displayed, and the user queried if it is the correct column to use. If it is, the user is prompted for the two constants to multiply the values by and add to the values, respectively. The original values and the scaled values are then displayed. The user then has the option to save the scaled data. If the user wishes to, they have the option of replacing the original data with the scaled data, or saving the scaled data as a new data column. If the data is saved as a new data column, the user must provide a new column title. .b2 .lm+3 .half spacing 2 .nf .nopro ^1^~** SELECT NEXT OPTION **\~ sc .b ^~ SCALE DATA ROUTINE .b Enter the data column number to scale\~ 6 .b ^~Title is: Resistance Model 9876 Ballast Condition .b Is the title correct? (y/n)\~ y ^~Enter the calibration values A and B, where the new values = A * (old values) + B\~ .b 1000,50 .b ^~Column number 6 Title: Resistance Model 9876 Ballast Condition .b New Values = 1000.00 * (old values) + 50.0000 .b No. Original New .b 1 2.12000 2170.00 2 3.96000 4010.00 3 7.77000 7820.00 4 19.2300 19280.0 5 33.5600 33610.0 .b Do you wish to save the calibrated data values? (y/n)\~ y ^~Do you want to save the data as a new column? (y/n)\~ y ^~Enter the title for the new data column\~ Modified Resistance Model 9876 Ballast Condition .b ^~** SELECT NEXT OPTION **\~^3 .b2 .lm .half spacing 3 .f .pro This option can be used to duplicate data columns by multiplying an existing column by 1.0 and adding 0.0, and saving the result as a new column. This is useful if the user needs to modify a column, yet still needs to keep the original data intact. .t;^~DATA ANALYSIS ROUTINES\~ .st;DATA INTERPOLATION .b5 .tt3 .c;^~^&^4DATA ANALYSIS ROUTINES^3\&\~ .b PLTPRG contains numerous routines that assist the user in analyzing their data. These routines include interpolation, integration, differentiation, and computing values using the column data in equations. .b .tt3 ^&^~^4DATA INTERPOLATION^3\~\& .b A user can fit their data with various types of curve fits and interpolate values from the curve fits using the interpolate data "IT" option. The user is prompted for the data columns corresponding to the X and Y components of the data to fit the "curve" to. The columns must have the same number of points. The column titles are displayed, and the user queried if these are the correct columns to use. If not, the user provides new column numbers. The next information the user is asked for are the X values to interpolate at. These values can be: individual values; a minimum, maximum, and increment; or the number of a data column containing the X values to interpolate at. If the data is in a data column, the user will be prompted for the column number. Next, the user must select the curve fit to use. If the user selects a straight line, cubic spline, or parametric spline fit, no additional information is needed. If the user selects a least squares curve fit, the user will be queried for the order of the least squares polynomial to use. If the user selects a least squares segment fit, the user will be prompted for the range and weighing factor to use. Finally, if the user selects a least squares cubic spline fit, the user will be prompted for the juncture points. The juncture points can be either input from the keyboard, or in a data column. A more detailed description of the various curve fits are given in Appendix A. The interpolated X and Y values will then be displayed on the screen. If a least squares curve fit was used, the coefficients of the polynomial will be given. After the results are printed out, the user will be prompted for a title for the new data columns. If the user does not provide a title, the interpolated data will not be kept. Below are examples using the interpolation option. .b3 .lm+3 .half spacing 2 .nf .nopro ^1^~** SELECT NEXT OPTION **\~ it .b ^~DATA INTERPOLATION ROUTINE .b Enter the column numbers corresponding to the X and Y values\~ .b 5 14 ^~X column title: Speed (Knots) Model 9876 Ballast Condition Y column title: RTS Model 9876 Ballast Condition Are these column numbers correct? (y/n)\~ y .b ^~Enter Either .b 1) Specific X values 2) Minimum, maximum, and increment values 3) X values stored in a column .b Enter 1-3\~ 2 ^~Enter the minimum, maximum, and increment X values\~ 18 32 2 ^~Enter the curve fit to interpolate: .b 1) Straight line 2) Least squares polynomial 3) Cubic spline 4) Parametric spline - type A 5) Parametric spline - type B 6) Parametric spline - type C 7) Least squares segments 8) Least squares cubic spline fit (type A) 9) Least squares cubic spline fit (type B) .b Enter 1 - 9\~ 4 .b ^~X column title: Speed (Knots) Model 9876 Ballast Condition Y column title: RTS Model 9876 Ballast Condition .b X Y .b 18.000 35756. 20.000 49232. 22.000 65877. 24.000 85677. 26.000 0.11092E+06 28.000 0.14481E+06 30.000 0.18810E+06 32.000 0.23639E+06 Do you wish to keep the computed values? (y/n)\~ y ^~Enter a title for the values\~ Interpolated RTS values .b ^~** SELECT NEXT OPTION **\~^3 .lm .b4 .half spacing 3 .f .pro A second example, with the X values to interpolate at in a data column, and using a least squares cubic spline curve fit is shown below. .b3 .lm+3 .half spacing 2 .nf .nopro ^1^~** SELECT NEXT OPTION **\~ it .b ^~DATA INTERPOLATION ROUTINE .b Enter the column numbers corresponding to the X and Y values\~ .b 5 15 ^~X column title: Speed (Knots) Model 9876 Ballast Condition Y column title: PE Ship Model 9876 Ballast Condition Are these column numbers correct? (y/n)\~ y .b ^~Enter Either .b 1) Specific X values 2) Minimum, maximum, and increment values 3) X values stored in a column .b Enter 1-3\~ 3 ^~Enter the column number containing the X values to interpolate\~ 20 ^~Column title is:\~ Speed range ^~Is it correct? (y/n)\~ y ^~ Enter the curve fit to interpolate: .b 1) Straight line 2) Least squares polynomial 3) Cubic spline 4) Parametric spline - type A 5) Parametric spline - type B 6) Parametric spline - type C 7) Least squares segments 8) Least squares cubic spline fit (type A) 9) Least squares cubic spline fit (type B) .b Enter 1 - 9\~ 9 .b ^~Least Squares Cubic Spline Fit: Enter the X values of the junction points and end points of the spline segments .b Select: .b 1) X values input by keyboard 2) X values stored in a column 3) Stop .b Enter 1-3:\~ 2 ^~Enter the column number containing the X values to interpolate\~ 23 ^~Column title is:\~ Speed Juncture Points ^~Is it correct? (y/n)\~ y .b ^~X column title: Speed (Knots) Model 9876 Ballast Condition Y column title: PE Ship Model 9876 Ballast Condition .b X Y .b 18.000 1975.1 19.000 2463.4 20.000 3021.6 21.000 3667.5 22.000 4418.9 23.000 5293.8 24.000 6310.1 25.000 7485.6 26.000 8871.9 27.000 10519. 28.000 12443. 29.000 14658. 30.000 17182. 31.000 20028. 32.000 23213. Do you wish to keep the computed values? (y/n)\~ y ^~Enter a title for the values\~ PE Interpolated Values .b ^~** SELECT NEXT OPTION **\~^3 .lm .pro .st;INTEGRATION AND DIFFERENTIATION .b4 .half spacing 3 .f .tt3 ^&^~^4INTEGRATION AND DIFFERENTIATION^3\&\~ .b The user can fit a curve to their data, and the curve integrated or differentiated, using option "ID". The integral is a definite integral, and represents the "area under the curve" - it is not the integral of the equation defining the local curve fit, evaluated at some X - so the result of the first X value is always zero. The user is prompted for the data columns corresponding to the X and Y components of the data to fit the "curve" to. The columns must have the same number of points. The column titles are displayed, and the user queried if these are the correct columns to use. If not, the user provides new column numbers. Then the user is asked if it is to perform an integration or differentiation. The next information the user is asked for are the X values to evaluate the integral or derivatives at. These values can be: the same X values as the curve is fitted to; individual values to be input; a minimum, maximum, and increment; or the number of a data column containing the X values to interpolate at. If the data is in a data column, the the column number displayed and the user queried if it is the correct column to use. Next, the user must select the curve fit to use. If the user selects a straight line, cubic spline, or parametric spline fit, no additional information is needed. If the user selects a least squares curve fit, the user will be queried for the order of the least squares polynomial to use. If the user selects a least squares cubic spline fit, the user will be prompted for the juncture points. The juncture points can be either input from the keyboard, or in a data column. A more detailed description of the various curve fits are given in Appendix A. The integrated values or derivative values, and their corresponding X values will next be displayed on the screen. If a least squares curve fit was used, the coefficients of the polynomial will be given. After the results are printed out, the user will be prompted if they wish to keep the new values. Below are examples using the integration/differentiation option .b3 .lm+3 .nf .nopro .half spacing 2 ^1^~** SELECT NEXT OPTION **\~ id .b ^~DATA INTEGRATION/DIFFERENTIATION ROUTINE .b Enter the column numbers corresponding to the X and Y values\~ .b 5 6 ^~X column title: X locations Y column title: Y values Are these column numbers correct? (y/n)\~ y ^~Select the calculus operation: .b 1) Integration 2) First Derivative .b Enter 1-2\~ 1 ^~X Location Selection....Enter Either .b 1) X values stored in the given X column 2) Specific X values 3) Minimum, maximum, and increment values 4) X values stored in a different column .b Enter 1-4\~ 1 ^~Enter the curve fit to integrate/differentiate: .b 1) Straight line 2) Least squares polynomial 3) Cubic spline 4) Parametric spline - type A 5) Parametric spline - type B 6) Parametric spline - type C 7) Least squares cubic spline (type A) 8) Least squares cubic spline (type B) .b Enter 1 - 8\~ 4 .b2 ^~X column title: X locations Y column title: Y values .b X Y .b 18.000 0.00000 20.000 6.3102 24.000 28.222 28.000 79.822 32.000 185.27 Do you wish to keep the computed values? (y/n)\~ y ^~Enter a title for the values\~ Resultant Integrated Values .b ^~** SELECT NEXT OPTION **\~^3 .b4 .lm .half spacing 3 .f .pro Below is an example of the differentiation option, and using a least squares curve fit. .b3 .rm+8 .lm+3 .nf .nopro .half spacing 2 ^1^~** SELECT NEXT OPTION **\~ id .b ^~DATA INTEGRATION/DIFFERENTIATION ROUTINE .b Enter the column numbers corresponding to the X and Y values\~ .b 5 6 ^~X column title: X locations Y column title: Y values ^~Are these column numbers correct? (y/n)\~ y ^~Select the calculus operation: .b 1) Integration 2) First Derivative .b Enter 1-2\~ 2 ^~X Location Selection....Enter Either .b 1) X values stored in the given X column 2) Specific X values 3) Minimum, maximum, and increment values 4) X values stored in a different column .b Enter 1-4\~ 3 ^~Enter the minimum, maximum, and increment X values\~ 18 32 2 ^~Enter the curve fit to integrate/differentiate: .b 1) Straight line 2) Least squares polynomial 3) Cubic spline 4) Parametric spline - type A 5) Parametric spline - type B 6) Parametric spline - type C 7) Least squares cubic spline (type A) 8) Least squares cubic spline (type B) .b Enter 1 - 8\~ 2 ^~Enter the degree of the polynomial (3 = cubic)\~ 5 .b ^~X column title: X locations Y column title: Y values .b X Y .b 18.000 1.3989 20.000 0.62485 22.000 0.83766 24.000 1.7359 26.000 2.9064 28.000 3.8247 30.000 3.8546 32.000 2.2482 .b Least Squares Fit Coefficients: .b 47.2890 - 1.9451 * X_^1 - 0.2657 * X_^2 + 0.018126 * X_^3 - 0.29055E-03 * X_^4 .b Do you wish to keep the computed values? (y/n)\~ y ^~Enter a title for the values\~ Derivative Values .b ^~** SELECT NEXT OPTION **\~^3 .pro .st;USER ANALYSIS ROUTINES .b6 .lm .rm .half spacing 3 .f .tt5 ^&^~^4USER ANALYSIS ROUTINES^3\&\~ .b The user analysis routines allow the user to "create" and "execute" programs that will perform mathematical operations on the data. As an example, a user may wish to add three columns together, and divide by a constant. If the user would be doing this often, or if other users would need to do it, the user could create an analysis routine for it, which could prompt users for the column numbers and constant values to use. An example of a useful analysis routine would be a routine to compute the effective power of a ship from model experiment data. .st;USER ANALYSIS ROUTINES (Creating) .b .tt2 ^&CREATING A USER ANALYSIS ROUTINE\& The user analysis routines consist of five parts; a header explaining what it is, a part defining the data columns to use, a part to get user defined "constant" values, the equations themselves, and a part for saving the results from the equations. The header is text that is printed out at the start of the analysis routine to tell the user what the routine is for, and any other information that you need to pass to that user. There is no limit to the number of lines in the header. After the you have finished entering the header, you will be asked how many data columns you will use. Next, you will be asked for a variable name for a column, and then asked for a prompt that will be used to ask a user, when executing the analysis routine, the data column number corresponding to the variable. The prompt can be more than one line long. After the you have finished entering the data column variables, you will be asked how many constants you will use. Next, you will be asked for a variable name for a constant, and then asked for a prompt that will be used to ask a user, when executing the analysis routine, the constant value corresponding to the variable. The prompt can be more than one line long. Next, you will be asked for the number of equations you will use, and then the equations themselves. The equations use the above variables (constants and data columns) to compute with. The equations are of the form VARIABLE=......... . Also, the results from previous equations can be used in new equations. Scientific functions are supported - SIN, COS, TAN, ASIN, ACOS, ATAN (in degrees), LOG, LN, INT, SQRT, ABS, and "_^" (to raise to a power). The trigonometric functions use degrees. Also, you can use parenthesis - this routine follows standard parenthesis hierarchy. Finally, you will be asked how many data column results you want saved. You will then be prompted for the the names of the variables from the results the equations that you wish save, and then asked for a prompt that will be used to ask a user, when executing the analysis routine, a title for the data column containing the results. If a column title is not given by a user when executing the user analysis routine, that data will not be retained. If you make a mistake when creating the analysis routine, such as an error in the syntax of an equation, or trying to save a variable you haven't defined, an warning will be given, and a correction requested. It should be noted that there is no feature in PLTPRG to enable you to go back and "edit" your analysis routine after you have created it. Therefore, you should be prepared before you create it. You can use the standard text editor on your file that you have saved your analysis routine in to modify it. .b Below is an example of creating a user analysis routine. .b2 .lm+3 .rm+8 .nf .nopro .half spacing 2 ^1^~** SELECT NEXT OPTION **\~ ar .b ^~USER WRITTEN DATA ANALYSIS ROUTINES .b SELECT: .b 1) Execute a routine 2) Create a routine 3) Stop .b Enter 1-3\~ 2 .b ^~DATA ANALYSIS CREATION ROUTINE .b Enter the file name to store the compute routine (Press return to stop)\~ Ehp.prg .b ^~Enter the heading text for the routine. Press return twice to end the header .b \~Analysis Routine To Compute The Effective Power of A Ship This routine will require the model resistance in lbs, the model length, the scale ratio, model wetted surface, kinematic viscosity and density for the model and ship, and the correlation allowance .b ^~Enter the number of data columns you will use\~ 2 ^~Enter the name for column variable number 1:\~ RTM ^~Enter the prompt text for this column. Press return twice to end the prompt \~Enter the column containing the model resistance in lbs .b ^~Enter the name for column variable number 2:\~ VM ^~Enter the prompt text for this column. Press return twice to end the prompt \~Enter the column containing the model speed in ft/sec .b ^~Enter the number of input constants you will use\~ 8 ^~Enter the name for constant 1:\~ MLEN ^~Enter the prompt text for this constant. Press return twice to end the prompt \~Enter the model length in feet: .b ^~Enter the name for constant 2:\~ LAMBDA ^~Enter the prompt text for this constant. Press return twice to end the prompt \~Enter the scale ratio: .b ^~Enter the name for constant 3:\~ WET ^~Enter the prompt text for this constant. Press return twice to end the prompt \~Enter the Model wetted surface (ft_^2): .b ^~Enter the name for constant 4:\~ ROM ^~Enter the prompt text for this constant. Press return twice to end the prompt \~Enter the model water density (Slugs/ft_^3): .b ^~Enter the name for constant 5:\~ NUM ^~Enter the prompt text for this constant. Press return twice to end the prompt \~Enter the ship water density: .b ^~Enter the name for constant 6:\~ NUS ^~Enter the prompt text for this constant. Press return twice to end the prompt \~Enter the model kinematic viscosity: .b ^~Enter the name for constant 7:\~ ROS ^~Enter the prompt text for this constant. Press return twice to end the prompt \~Enter the ship kinematic viscosity: .b ^~Enter the name for constant 8:\~ CA ^~Enter the prompt text for this constant. Press return twice to end the prompt \~Enter the correlation allowance: .b ^~Enter the number of equations you will use:\~ 6 ^~Enter equation number 1:\~ CFM=0.075/((LOG(MLEN*VM/NUM) - 2)_^2) ^~Enter equation number 2:\~ CFS=0.075/((LOG(MLEN*VM*LAMBDA_^1.5/NUS) - 2)_^2) ^~Enter equation number 3:\~ CR=RTM/(0.5*ROM*VM*VM*WET)-CFM ^~Enter equation number 4:\~ CTS=CR+CFS+CA ^~Enter equation number 5:\~ RTS=CTS*(0.5*ROS*VM*VM*WET*LAMBDA_^3) ^~Enter equation number 6:\~ PE=RTS*VM*LAMBDA_^1.5/550 .b ^~Enter the number of new columns to save:\~ 2 ^~Enter the name of the variable representing the column to save\~ RTS ^~Enter the prompt text for a title for this variable (Return twice to finish) \~Enter a title for the ship resistance (lbs): .b ^~Enter the name of the variable representing the column to save\~ PE ^~Enter the prompt text for a title for this variable (Return twice to finish) \~Enter a title for the ship effective power data: .b2 ^~** SELECT NEXT OPTION **\~^3 .pro .st;USER ANALYSIS ROUTINES (Executing) .b4 .lm .rm .half spacing 3 .f .tt2 ^&EXECUTING A USER ANALYSIS ROUTINE\& To execute a user analysis routine, the user must first have all the data columns that are needed by the analysis routine, in PLTPRG. Below is an example of executing the analysis routine created above: .b3 .lm+3 .half spacing 2 .nf .nopro ^1^~** SELECT NEXT OPTION **\~ ar .b ^~USER WRITTEN DATA ANALYSIS ROUTINES .b SELECT: .b 1) Execute a routine 2) Create a routine 3) Stop .b Enter 1-3\~ 1 .b2 ^~DATA ANALYSIS ROUTINE .b Enter the file name containing the compute routine (Press return to stop)\~ ehp.prg .b3 ^~Analysis Routine To Compute The Effective Power of A Ship This routine will require the model resistance in lbs, the model length, the scale ratio, model wetted surface, kinematic viscosity and density for the model and ship, and the correlation allowance .b Enter the column containing the model resistance in lbs\~ 1 ^~Column 1: Resistance (lbs) Model 4567 Is the column number correct? (y/n)\~ y .b ^~Enter the column containing the model speed in ft/sec\~ 2 ^~Column 2: Speed (ft/sec) Model 4567 Is the column number correct? (y/n)\~ y .b ^~Enter the model length in feet:\~ 25 .b ^~Enter the scale ratio:\~ 20.25 .b ^~Enter the Model wetted surface (ft_^2):\~ 135.5 .b ^~Enter the model water density (Slugs/ft_^3):\~ 1.9363 .b ^~Enter the ship water density:\~ 1.9905 .b ^~Enter the model kinematic viscosity:\~ 1.021E-5 .b ^~Enter the ship kinematic viscosity:\~ 1.2817E-5 .b ^~Enter the correlation allowance:\~ 0.0004 .b ^~Enter f title for the ship resistance (lbs):\~ Ship Resistance (lbs) for model 4567 .b ^~Enter a title for the ship effective power data:\~ Effective Power for Model 4567 .b ^~ADDED COLUMNS: .b Col_# Title .b 5 Ship Resistance (lbs) for model 4567 6 Effective Power for Model 4567 .b ** SELECT NEXT OPTION **\~^3 .pro .st;USER ANALYSIS ROUTINES (Modifying) .b4 .lm .f .half spacing 3 .tt2 ^&MODIFYING A USER ANALYSIS ROUTINE\& As mentioned previously, the only way to change a user analysis routine, short of recreating it, is to edit the file that it is stored in. The structure of a file is as follows: .b3 .nf .nopro .lm+3 .tt4 .half spacing 2 ^1------------------------------------------------------------------------- . . Header describing what this analysis routine is for. . . $VAR:variable name prompt to get the column number to correspond to the above "variable" . . $CON:constant name prompt for the above constant . . $EQN:new variable=equation . . $SAV:variable name prompt for a title for a data column containing the above variable values . . -------------------------------------------------------------------------^3 .b4 .f .pro .lm .half spacing 3 Below is a listing of the file containing the analysis routine created above. .b4 .half spacing 2 .lm+3 .nf .nopro .tt3 ^1-------------------------------------------------------------------------- Analysis Routine To Compute The Effective Power of A Ship This routine will require the model resistance in lbs, the model length, the scale ratio, model wetted surface, kinematic viscosity and density for the model and ship, and the correlation allowance $VAR:RTM Enter the column containing the model resistance in lbs $VAR:VM Enter the column containing the model speed in ft/sec $CON:MLEN Enter the model length in feet: $CON:LAMBDA Enter the scale ratio: $CON:WET Enter the Model wetted surface (ft_^2): $CON:ROM Enter the model water density (Slugs/ft_^3): $CON:NUM Enter the ship water density: $CON:NUS Enter the model kinematic viscosity: $CON:ROS Enter the ship kinematic viscosity: $CON:CA Enter the correlation allowance: $EQN:CFM=0.075/(LOG(MLEN*VM/NUM)-2)_^2 $EQN:CFS=0.075/((LOG(MLEN*VM*LAMBDA_^1.5/NUS)-2)_^2) $EQN:CR=RTM/(0.5*ROM*VM*VM*WET)-CFM $EQN:CTS=CR+CFS+CA $EQN:RTS=CTS*(0.5*ROS*VM*VM*WET*LAMBDA_^3) $EQN:PE=RTS*VM*LAMBDA_^1.5/550 $SAV:RTS Enter a title for the ship resistance (lbs): $SAV:PE Enter a title for the ship effective power data: ------------------------------------------------------------------------^3 .b4 .f .pro .lm .half spacing 3 The user can add, delete, and modify variables (data columns), constants, equations, and data columns to save. It should be noted that you can alter the order of the variables, constants, equations, and "saves", as long as any variables and constants needed for an equation have been previously defined, and any data to save has previously been defined. .st;EQUATION EVALUATION .b2 .tt3 ^~^&^4EQUATION EVALUATION^3\&\~ The equation evaluation option, "EQ", enables the user to write equations using the column data. The equations can include trig and log functions, and raising numbers to powers. The results from these equations can be saved as new columns within PLTPRG. To use this option, the user gives the numbers of the data columns that they will use in the equations. These columns will then be associated with a single letter, starting with A. All of the columns must have the same number of points. The user can then write an equation, using the letters to represent the data column values. If there are N points in each data column, the equation will be executed N times, each time using the Ith element in each column. The results from the equation will be displayed, and the user prompted for a title for the new data. If the user gives a title, the data will be saved, and assigned a letter, so that it can be used in the next equations. Errors in the equations, such as syntax, using a undefined symbol (letter not associated with a data column, misspelled scientific functions), infinite values (dividing by zero, tangent of 90 degrees, log of 0), or resulting values too large (greater than +/- 1E29) will cause a warning. If this occurs, the user can edit their equation to correct it. Below is an example using the equation evaluation option to compute the effective power of a ship, given the model data. .b3 .lm+3 .half spacing 2 .nf .nopro ^1^~** SELECT NEXT OPTION **\~ eq .b ^~EQUATION SOLVER .b Enter the column numbers to use in the equation, or "S" to stop\~ 5 7 ^~Selected columns: .b A = Column 5: Speed (Knots) Model 9876 Ballast Condition B = Column 7: Cr Model 9876 Ballast Condition .b Are the column numbers correct? (y/n)\~ y ^~Enter in computations, or $ to quit, _# to list\~ 0.075/((LOG(567.6*A*1.6878/1.2817E-5)-2)_^2) .b ^~A = Column 5: Speed (Knots) Model 9876 Ballast Condition .b pt Column Results no. 5 .b 1 18.00000 0.1475782E-02 2 20.00000 0.1457018E-02 3 24.00000 0.1425383E-02 4 28.00000 0.1399432E-02 5 32.00000 0.1377521E-02 .b Enter the title of the new column to save (or return to not save it)\~ CFS Model 9876 Ballast Condition ^~C = Column 13: CFS Model 9876 Ballast Condition Enter in computations, or $ to quit, _# to list\~ 0.5*1.9905*15678*(B/1000.+C+.0003)*((A*1.6878)_^2) ^~B = Column 7: Cr Model 9876 Ballast Condition .b C = Column 13: CFS Model 9876 Ballast Condition A = Column 5: Speed (Knots) Model 9876 Ballast Condition .b pt Column Column Column Results no. 7 13 5 .b 1 0.7070000 0.1475782E-02 18.00000 35755.97 2 1.012000 0.1457018E-02 20.00000 49232.35 3 1.621000 0.1425383E-02 24.00000 85676.77 4 2.456000 0.1399432E-02 28.00000 144809.5 5 3.516000 0.1377521E-02 32.00000 236388.7 .b Enter the title of the new column to save (or return to not save it)\~ RTS Model 9876 Ballast Condition ^~D = Column 14: RTS Model 9876 Ballast Condition Enter in computations, or $ to quit, _# to list\~ D*A*1.6878/550 .b ^~D = Column 14: RTS Model 9876 Ballast Condition A = Column 5: Speed (Knots) Model 9876 Ballast Condition .b pt Column Column Results no. 14 5 .b 1 35755.97 18.00000 1975.056 2 49232.35 20.00000 3021.614 3 85676.77 24.00000 6310.047 4 144809.5 28.00000 12442.66 5 236388.7 32.00000 23213.20 .b Enter the title of the new column to save (or return to not save it)\~ PE Ship Model 9876 Ballast Condition ^~E = Column 15: PE Ship Model 9876 Ballast Condition Enter in computations, or $ to quit, _# to list\~^3 .b3 .lm .half spacing 3 .f .pro If you need to see what the current columns you can use are, or to see which scientific functions are available, enter a _# to list the current information. .lm+3 .half spacing 2 .b3 .nf .nopro ^1^~Enter in computations, or $ to quit, _# to list\~ _# ^~Selected columns: .b A = Column 5: Speed (Knots) Model 9876 Ballast Condition B = Column 7: Cr Model 9876 Ballast Condition C = Column 13: CFS Model 9876 Ballast Condition D = Column 14: RTS Model 9876 Ballast Condition E = Column 15: PE Ship Model 9876 Ballast Condition .b Available scientific functions: SIN COS TAN ASIN ACOS ATAN LOG LN ABS INT EXP SQRT ----- Trig functions use degrees ----- ----- to raise to a power, use "_^" .... 10_^3 ----- .b Enter in computations, or $ to quit, _# to list\~ $ .b ^~** SELECT NEXT OPTION ** \~^3 .b3 .lm .f .pro .half spacing 3 The available scientific functions are: SIN, COS, TAN, ASIN, ACOS, ATAN, LOG (base 10), LN (base e), ABS, INT (integer), EXP (e raised to a power), and SQRT. The trigonometric functions use degrees instead of radians. To raise a number to a power, use a "_^" (example: 10_^3). .st;COLUMN ARITHMETIC .b3 .tt3 ^~^&^4COLUMN ARITHMETIC^3\&\~ .b Option "AC" enables the user to add, subtract, multiply, or divide two columns. The user selects which two columns to use and the operation to perform - add, subtract, multiply, or divide. The results are displayed on the terminal, and can be saved as a new column. The columns must have the same number of points. .t;^~TABLE PRESENTATIONS\~ .st;CREATING A TABLE PRESENTATION .b5 .tt3 .c;^~^&^4TABLE PRESENTATIONS^3\&\~ .b The user can make table presentations to print out their data in neat, report quality format. The table presentation option is "TA". Under the main table option, the user can create, modify, print, save, and recall the table presentations. Below are descriptions of the various table options in PLTPRG. It should be noted that, if the user deletes a data column from PLTPRG, and the data column is used in a table presentation, that table column corresponding to that data column is automatically deleted. Also, if the user reads in a new set of data into PLTPRG, and there are fewer data columns than before, the table columns with corresponding data column numbers greater than the current highest data column number will be deleted from the table presentation. .b2 .tt3 ^&^~^4CREATING A TABLE PRESENTATION^3\~\& .b To create a table presentation, use the create table suboption. The data for the table must be already in PLTPRG before you create the table. Within the create table option, the user can input a main header for the table, headers for each column, specify which columns of data to use in the table, and how many decimal places to show (up to 9). Default spacing between the table columns is automatically computed, but the user can input their own spacings if desired. It should be noted that there are additional parameters the user can set for the way the table columns are printed; these include using commas in large numbers, rounding the data to a user-specified roundoff value, and adding scientific notation. These additional parameters are set in the modify table suboption. Below is an example of creating a table presentation. .b2 .lm+3 .nf .nopro .half spacing 2 ^1^~** SELECT NEXT OPTION **\~ ta .b ^~PLTPRG DATA TABLE OPTIONS: .b C (C)reate Table M (M)odify Table P (P)rint Table A S(A)ve Table R (R)ecall Table S (S)top .b Enter C, M, P, A, R, or S\~ c ^~DATA TABLE CREATION ROUTINE .b Enter the table title (enter a backslash "_\" to stop)\~ .b Results From Experiments With Model 9876 Ballast Condition_\ .b ^~Enter the column number for table column 1 (enter "s" to stop)\~ 5 ^~Column title is: Speed (Knots) Model 9876 Ballast Condition Is it ok? (y/n)\~ y .b ^~Enter the corresponding column header (enter a backslash "_\"to stop)\~ Speed .b Knots_\ .b ^~Enter the number of decimal places to show:\~ 1 .b ^~Enter the column number for table column 2 (enter "s" to stop)\~ 6 ^~Column title is: Resistance Model 9876 Ballast Condition Is it ok? (y/n)\~ y .b ^~Enter the corresponding column header (enter a backslash "_\"to stop)\~ Resistance .b Model (Lbs)_\ .b ^~Enter the number of decimal places to show:\~ 2 .b ^~Enter the column number for table column 3 (enter "s" to stop)\~ 7 ^~Column title is: Cr Model 9876 Ballast Condition Is it ok? (y/n)\~ y .b ^~Enter the corresponding column header (enter a backslash "_\"to stop)\~ CR .b (*1000)_\ .b ^~Enter the number of decimal places to show:\~ 3 .b ^~Enter the column number for table column 4 (enter "s" to stop)\~ 8 ^~Column title is: Cf Model 9876 Ballast Condition Is it ok? (y/n)\~ y .b ^~Enter the corresponding column header (enter a backslash "_\"to stop)\~ CF Model .b (*1000)_\ .b ^~Enter the number of decimal places to show:\~ 3 .b ^~Enter the column number for table column 5 (enter "s" to stop)\~ s .b ^~Currently, the table takes up 38 columns Current number of spaces between each column: .b Between columns 1 and 2: 6 spaces Between columns 2 and 3: 6 spaces Between columns 3 and 4: 5 spaces .b Do you wish to change the number of spaces? (y/n)\~ n^3 .lm .b3 .half spacing 3 .f .pro The current table looks like: .half spacing 2 .nf .nopro .lm+3 .b2 ^1Results From Experiments With Model 9876 Ballast Condition .b2 Speed Resistance CR CF Model Knots Model (Lbs) (*1000) (*1000) .b 18.0 2.12 0.707 3.531 20.0 3.96 1.012 3.201 24.0 7.77 1.621 3.101 28.0 19.23 2.456 2.991 32.0 33.56 3.516 2.754^3 .st;MODIFYING THE TABLE PRESENTATION (Adding Columns) .b4 .lm .f .pro .half spacing 3 .tt3 ^~^&^4MODIFYING THE TABLE PRESENTATION^3\&\~ .b The table presentation can be modified using the modify table presentation option. This option allows the user to add and insert columns into the table; change the table column parameters; delete columns out of the table; and change the spacing between the table columns. .b .tt2 ^&ADDING COLUMNS TO THE TABLE PRESENTATION\& To add columns to a table, use the add table column suboption. This option adds the new table column to the right of the last column in the table - if the new column needs to be placed elsewhere, use the insert columns suboption. Below is an example of adding a column to the table. .b3 .lm+3 .nf .nopro .half spacing 2 ^1^~PLTPRG DATA TABLE OPTIONS: .b C (C)reate Table M (M)odify Table P (P)rint Table A S(A)ve Table R (R)ecall Table S (S)top .b Enter C, M, P, A, R, or S\~ m .b ^~MODIFY TABLE PRESENTATION .b A (A)dd columns to table I (I)nsert columns to table C (C)hange column parameters D (D)elete table columns L (L)ist the current column parameters P Modify s(P)aces between columns S (S)top .b Enter A, C, D, L, P, or S\~ a .b ^~Enter the column number for table column 5 (enter "s" to stop)\~ 15 ^~Column title is: PE Ship Model 9876 Ballast Condition Is it ok? (y/n)\~ y .b ^~Enter the corresponding column header (enter a backslash "_\"to stop)\~ PE .b (HP)_\ .b ^~Enter the number of decimal places to show:\~ 0 .b ^~Enter the column number for table column 6 (enter "s" to stop)\~ s^3 .pro .st;MODIFYING THE TABLE PRESENTATION (Inserting Columns) .b4 .lm .f .half spacing 3 .tt2 ^&INSERTING COLUMNS INTO THE TABLE\& To insert columns between existing columns in the table, use the insert columns suboption. It should be noted that it may be necessary to modify the spaces between the columns after inserting a column. Below is an example of inserting a column into a table. .b3 .lm+3 .nf .nopro .half spacing 2 ^1^~MODIFY TABLE PRESENTATION .b A (A)dd columns to table I (I)nsert columns to table C (C)hange column parameters D (D)elete table columns L (L)ist the current column parameters P Modify s(P)aces between columns S (S)top .b Enter A, C, D, L, P, or S\~ i ^~Enter the table column number to insert after\~ 4 ^~Enter the data column number for table column\~ 5 ^~Data column title is: RTS Model 9876 Ballast Condition Is it ok? (y/n)\~ y ^~Enter the new title (Enter "_\" to stop)\~ RTS .b (Lbs)_\ .b ^~Enter the number of decimal places to show\~ 0^3 .b2 .lm .f .pro .half spacing 3 .b3 The current table presentation, after adding and inserting the columns as above, are: .lm+3 .nf .nopro .half spacing 2 .b2 ^1Results From Experiments With Model 9876 Ballast Condition .b2 Speed Resistance CR CF Model RTS PE Knots Model (Lbs) (*1000) (*1000) (Lbs) (HP) .b 18.0 2.12 0.707 3.531 35755 1975 20.0 3.96 1.012 3.201 49232 3021 24.0 7.77 1.621 3.101 85676 6310 28.0 19.23 2.456 2.991 144809 12442 32.0 33.56 3.516 2.754 236388 23213^3 .pro .st;MODIFYING THE TABLE PRESENTATION (Listing Parameters) .b4 .lm .f .half spacing 3 .tt2 ^&LISTING THE CURRENT TABLE PRESENTATION PARAMETERS\& To list out the current table presentation parameters, use the list parameters suboption. Each line of the table and column headers are enclosed in brackets "{" and "}", to indicate that the header text is on more than one line. .b3 .lm+3 .nf .nopro .half spacing 2 ^1^~MODIFY TABLE PRESENTATION .b A (A)dd columns to table I (I)nsert columns to table C (C)hange column parameters D (D)elete table columns L (L)ist the current column parameters P Modify s(P)aces between columns S (S)top .b Enter A, C, D, L, P, or S\~ l .b ^~Table title: {Results From Experiments With Model 9876}{Ballast Condition} .b Header for table column 1 {Speed}{Knots} ** Number of data column = 5 ** title is Speed (Knots) Model 9876 Ballast Condition ** Decimal places: 1, Commas? No , Sci. exponent = 0, Rounded to 0.00000 .b Header for table column 2 {Resistance}{Model (Lbs)} ** Number of data column = 6 ** title is Resistance Model 9876 Ballast Condition ** Decimal places: 2, Commas? No , Sci. exponent = 0, Rounded to 0.00000 .b Header for table column 3 {CR}{(*1000)} ** Number of data column = 7 ** title is Cr Model 9876 Ballast Condition ** Decimal places: 3, Commas? No , Sci. exponent = 0, Rounded to 0.00000 .b Header for table column 4 {CF Model}{(*1000)} ** Number of data column = 8 ** title is Cf Model 9876 Ballast Condition ** Decimal places: 3, Commas? No , Sci. exponent = 0, Rounded to 0.00000 .b Header for table column 5 {RTS}{(Lbs)} ** Number of data column = 14 ** title is RTS Model 9876 Ballast Condition ** Decimal places: 0, Commas? No , Sci. exponent = 0, Rounded to 0.00000 .b Header for table column 6 {PE}{(HP)} ** Number of data column = 15 ** title is PE Ship Model 9876 Ballast Condition ** Decimal places: 0, Commas? No , Sci. exponent = 0, Rounded to 0.00000 .b Press Return to continue\~ ^3 .pro .st;MODIFYING THE TABLE PRESENTATION (Changing Columns) .b4 .lm .f .half spacing 3 .tt2 ^&CHANGING TABLE COLUMN PARAMETERS\& To change a table column's parameters, use the change column suboption. This suboption allows the user to change the column header, the corresponding column number, and the number of decimal places to show, whether commas should separate the numbers, if the numbers should be rounded to a user defined value, and if the number is to be given with scientific notation following it. It should be noted that, if scientific notation is used, the actual value is not changed - if a number was 0.001, and an exponent of 3 is selected, it would be printed as 0.001 * 10_^3. This suboption is also used to change the table header. If the user wishes to change either the table header, or an individual table column header, a whole new header must be entered - the old header cannot be edited. It may be necessary to modify the spaces between the columns after changing the column parameters. .b3 .lm+3 .nf .nopro .half spacing 2 ^1^~MODIFY TABLE PRESENTATION .b A (A)dd columns to table I (I)nsert columns to table C (C)hange column parameters D (D)elete table columns L (L)ist the current column parameters P Modify s(P)aces between columns S (S)top .b Enter A, C, D, L, P, or S\~ c ^~Enter the table column number to change, or "s" to stop (Enter 0 to change the table header)\~ 5 .b ^~(H)eader: {RTS}{(Lbs)} (N)umber of data column = 14 (title is: RTS Model 9876 Ballast Condition ) (D)ecimal places: 0 (C)ommas? No (E)xponent for Scientific Notation = 0 (R)oundoff value = 0.00000 (S)top .b Enter H, N, D, C, E, R, or S\~ c .b ^~(H)eader: {RTS}{(Lbs)} (N)umber of data column = 14 (title is: RTS Model 9876 Ballast Condition ) (D)ecimal places: 0 (C)ommas? Yes (E)xponent for Scientific Notation = 0 (R)oundoff value = 0.00000 (S)top .b Enter H, N, D, C, E, R, or S\~ r ^~Enter the value to round the values to\~ 50 .b ^~(H)eader: {RTS}{(Lbs)} (N)umber of data column = 14 (title is: RTS Model 9876 Ballast Condition ) (D)ecimal places: 0 (C)ommas? Yes (E)xponent for Scientific Notation = 0 (R)oundoff value = 50.00000 (S)top .b Enter H, N, D, C, E, R, or S\~ s^3 .b3 .lm .f .pro .half spacing 3 The table below was created using appropriate roundoff values and activating the comma flags, set by changing table columns 2 through 6: .b3 .lm+3 .nf .nopro .half spacing 2 ^1Results From Experiments With Model 9876 Ballast Condition .b Speed Resistance CR CF Model RTS PE Knots Model (Lbs) (*1000) (*1000) (Lbs) (HP) .b 18.0 2.10 0.705 3.530 35,750 2,000 20.0 3.95 1.010 3.200 49,250 3,000 24.0 7.75 1.620 3.100 85,700 6,300 28.0 19.25 2.455 2.990 144,800 12,450 32.0 33.55 3.515 2.755 236,400 23,200^3 .pro .st;MODIFYING THE TABLE PRESENTATION (Column Spacing) .b4 .lm .f .half spacing 3 .tt2 ^&MODIFYING THE NUMBER OF SPACES BETWEEN THE TABLE COLUMNS\& To modify the spacing between the table columns, use the modify spaces suboption. This may be necessary after adding, deleting, or inserting columns, or changing a table columns' parameters. If the user changes the data in a column that is in the table, the spacing might also need to be modified. Also, if the user is using the same table presentation format for a number of tables, the spacing might need to be modified for each individual table. If the user selects the default spacing, the spacing will be set such that there will be two spaces between the columns in the table or between the column headers. Below is an example of modifying the spacing between the columns. .b3 .nf .nopro .half spacing 2 .lm+3 ^1^~MODIFY TABLE PRESENTATION .b A (A)dd columns to table I (I)nsert columns to table C (C)hange column parameters D (D)elete table columns L (L)ist the current column parameters P Modify s(P)aces between columns S (S)top .b Enter A, C, D, L, P, or S\~ p ^~Currently, the table takes up 54 spaces .b Current number of spaces between each column: .b Between columns 1 and 2: 6 spaces Between columns 2 and 3: 6 spaces Between columns 3 and 4: 5 spaces Between columns 4 and 5: 2 spaces Between columns 5 and 6: 2 spaces .b Do you wish to: 1) Change the number of spaces 2) Get the default spacing values 3) Stop .b Enter 1-3\~ 1 ^~Enter the number of spaces between columns 1 and 2:\~ 6 ^~Enter the number of spaces between columns 2 and 3:\~ 5 ^~Currently, the table takes up 53 spaces .b Enter the number of spaces between columns 3 and 4:\~ 4 ^~Currently, the table takes up 52 spaces .b Enter the number of spaces between columns 4 and 5:\~ 3 ^~Currently, the table takes up 53 spaces .b Enter the number of spaces between columns 5 and 6:\~ 3 ^~Currently, the table takes up 54 spaces .b Press Return to continue\~ ^3 .b4 .lm .half spacing 3 .f .pro The table prior to the modification of the number of spaces is the same as shown previously, and the table after the modification to the number of spaces is as shown below: .b3 .lm+3 .nf .nopro .half spacing 2 ^1Results From Experiments With Model 9876 Ballast Condition .b Speed Resistance CR CF Model RTS PE Knots Model (Lbs) (*1000) (*1000) (Lbs) (HP) .b 18.0 2.10 0.705 3.530 35,750 2,000 20.0 3.95 1.010 3.200 49,250 3,000 24.0 7.75 1.620 3.100 85,700 6,300 28.0 19.25 2.455 2.990 144,800 12,450 32.0 33.55 3.515 2.755 236,400 23,200^3 .pro .st;MODIFYING THE TABLE PRESENTATION (Deleting Columns) .b4 .lm .f .half spacing 3 .tt2 ^&DELETING A TABLE COLUMN\& To delete a table column out of a table presentation, use the delete table column option. This option does not delete the data column from PLTPRG; only the table column from the table. Below is an example of deleting a table column: .b3 .half spacing 2 .lm+3 .nf .nopro ^1^~MODIFY TABLE PRESENTATION .b A (A)dd columns to table I (I)nsert columns to table C (C)hange column parameters D (D)elete table columns L (L)ist the current column parameters P Modify s(P)aces between columns S (S)top .b Enter A, C, D, L, P, or S\~ d ^~Enter the table column number to delete\~ 4^3 .b3 .lm .f .pro .half spacing 3 After all of the table columns have been deleted, the user should use the modify spaces between columns suboption to ensure that there are sufficient spaces between the remaining table columns. The resulting table, after the above column was deleted and the spacing set to the default, is now: .b3 .lm+3 .nf .nopro .half spacing 2 ^1Results From Experiments With Model 9876 Ballast Condition .b2 Speed Resistance CR RTS PE Knots Model (Lbs) (*1000) (Lbs) (HP) .b 18.0 2.10 0.705 35,755 2,000 20.0 3.95 1.010 49,232 3,000 24.0 7.75 1.620 85,676 6,300 28.0 19.25 2.455 144,809 12,450 32.0 33.55 3.515 236,388 23,200^3 .pro .st;PRINTING THE TABLE .b4 .f .half spacing 3 .lm .tt3 ^~^&^4PRINTING THE TABLE^3\&\~ .b To print the table, use the print table option. This option allows the user to print the table to the terminal screen, the system printer, a printer attached to the terminal, or a disk file. The examples in this report, showing the tables were printed using this option. Below is an example of printing the table on the terminal screen. .b3 .nf .nopro .half spacing 2 .lm+3 ^1^~PLTPRG DATA TABLE OPTIONS: .b C (C)reate Table M (M)odify Table P (P)rint Table A S(A)ve Table R (R)ecall Table S (S)top .b Enter C, M, P, A, R, or S\~ p .b ^~Select the device to print the table to: .b 1) Screen 2) System printer 3) Printer attached to terminal (LA50) 4) Disk File .b Enter 1-4\~ 1 .b2 ^~Results From Experiments With Model 9876 Ballast Condition .b2 Speed Resistance CR CF Model RTS PE Knots Model (Lbs) (*1000) (*1000) (Lbs) (HP) .b 18.0 2.12 0.707 3.531 35755 1975 20.0 3.96 1.012 3.201 49232 3021 24.0 7.77 1.621 3.101 85676 6310 28.0 19.23 2.456 2.991 144809 12442 32.0 33.56 3.516 2.754 236388 23213 .b2 Press Return to continue\~ ^3 .b3 .f .pro .lm .half spacing 3 .b The table can also be printed out on the system printer(s). If there are more than one system printer, the user is prompted to select which one. Also, if the printer supports multiple line widths (number of characters/line), the user can select which line width to use (The Diablo 630 does not support multiple line widths, for example). Below is an example. .b3 .nf .nopro .half spacing 2 .lm+3 ^1^~Select the device to print the table to: .b 1) Screen 2) System printer 3) Printer attached to terminal (LA50) 4) Disk File .b Enter 1-4\~ 2 .b ^~Select the printer to use: .b 1) Laser Printer 2) Diablo Printer .b Enter 1-2\~ 1 .b ^~Select the page width: .b 1) 80 Characters 2) 96 Characters 3) 132 Characters .b Enter 1-3\~ 2^3 .b3 .f .pro .lm .half spacing 3 The table can also be printed out to a printer attached to the terminal. Different line widths can be selected, if the printer supports different line widths. .b3 .nf .nopro .half spacing 2 .lm+3 ^1^~Select the device to print the table to: .b 1) Screen 2) System printer 3) Printer attached to terminal (LA50) 4) Disk File b Enter 1-4\~ 2 .b ^~Select the page width: .b 1) 80 Characters 2) 96 Characters 3) 132 Characters .b Enter 1-3\~ 2^3 .b3 .f .pro .lm .half spacing 3 .b In some cases, the user may wish to write a table to a disk file. The user could then edit the table, making modifications to the table that cannot be done within PLTPRG. After the user has edited the table, it can be copied to a printer. It should be noted that any table sent to a disk file using this option cannot be read back into PLTPRG. To save the table presentation for later reading back into PLTPRG, use the Save Presentation option described in the next section. Below is an example of writing a table to a disk file. .b3 .nf .nopro .half spacing 2 .lm+3 ^1^~Select the device to print the table to: .b 1) Screen 2) System printer 3) Printer attached to terminal (LA50) 4) Disk File .b Enter 1-4\~ 4 .b ^~Enter the file name to write to:\~ temp.tbl .b ^~There is scientific notation used - select: .b 1) Dec printer type 2) Diablo printer type 3) Screen "^" symbol .b Select 1-3\~ 1^3 .pro .st;SAVING A TABLE PRESENTATION .b4 .half spacing 3 .f .lm .tt3 ^~^&^4SAVING A TABLE PRESENTATION^3\&\~ .b To save a table presentation, use the save table option. Only the table presentation parameters are saved, and not the actual data values. Below is an example of saving the table presentation. .b3 .lm+3 .half spacing 2 .nf .nopro ^1^~PLTPRG DATA TABLE OPTIONS: .b C (C)reate Table M (M)odify Table P (P)rint Table A S(A)ve Table R (R)ecall Table S (S)top .b Enter C, M, P, A, R, or S\~ a .b ^~SAVE TABLE PRESENTATION ROUTINE .b Enter the file name to store the data\~ vals.tab^3 .lm .f .pro .half spacing 3 .st;RECALLING A TABLE PRESENTATION .b4 .tt3 ^~^&^4RECALLING A TABLE PRESENTATION^3\&\~ .b To recall the table presentation, use the recall table presentation suboption. This recalls only the presentation information stored using the save table presentation routine, and does not read tables printed to disk files using the print table suboption. The data for the table must be already within PLTPRG prior to reading in the table presentation; if a table column uses a data column number greater than the highest data column number currently in PLTPRG, that table column will be deleted from the table presentation. Below is an example of reading in a table presentation. .lm+3 .nf .nopro .half spacing 2 .b3 ^1^~PLTPRG DATA TABLE OPTIONS: .b C (C)reate Table M (M)odify Table P (P)rint Table A S(A)ve Table R (R)ecall Table S (S)top .b Enter C, M, P, A, R, or S\~ r .b ^~RECALL TABLE PRESENTATION ROUTINE .b Enter the file name containing the data\~ vals.tab .b ^~** SELECT NEXT OPTION **\~^3 .pro .lm .t;^~VIEWGRAPHS\~ .st;CREATING A VIEWGRAPH .b6 .half spacing 3 .f .tt3 .c;^&^~^4VIEWGRAPHS^3\&\~ .b The viewgraph option, "VI", enables the user to make viewgraphs using the various fonts available in PLTPRG. The viewgraph is actually a plot, with the viewgraph a single text block, and the plot presentation parameters initialized to certain values. To plot the viewgraph, use the plot option "PL"; to save the viewgraph, use the save presentation "SP" or "PS" options; and to recall a viewgraph, use the recall presentation option "RP". Viewgraphs can also be created from normal text files using the read and convert text file suboption. This suboption reads the users' file of text, and creates a viewgraph. .b .tt3 ^&^~^4CREATING A VIEWGRAPH^3\&\~ .b To create a viewgraph, use the make viewgraph suboption of the viewgraph option "VI". If there is a plot presentation currently within PLTPRG, that plot presentation will be destroyed. There is relatively little information for the user to provide for a viewgraph; the user is prompted for a line of text, the text size, and the justification of the text. Below is an example of creating a viewgraph, and Figure 4 shows the resulting viewgraph. .fgd120 .b3 .half spacing 2 .nf .nopro .lm+3 .rm+8 ^1^~** SELECT NEXT OPTION **\~ vi .b ^~VIEWGRAPHS .b2 Select Viewgraph option: .b M (M)ake a viewgraph C (C)hange a viewgraph R (R)ead and convert a text file to a viewgraph S (S)top .b Enter M, C, R, or S:\~ m ^~Enter the text for viewgraph line number 1 (press return to stop)\~ This is an example of a ^~Enter the text size for the line (1-10)\~ 8 ^~Enter L, C, or R, for (L)eft, (C)enter, or (R)ight justification of the line\~ l ^~Enter the text for viewgraph line number 2 (press return to stop)\~ viewgraph ^~Enter the text size for the line (1-10)\~ 8 ^~Enter L, C, or R, for (L)eft, (C)enter, or (R)ight justification of the line\~ l ^~Enter the text for viewgraph line number 3 (press return to stop)\~ created using PLTPRG ^~Enter the text size for the line (1-10)\~ 10 ^~Enter L, C, or R, for (L)eft, (C)enter, or (R)ight justification of the line\~ l ^~Enter the text for viewgraph line number 4 .tt2 (press return to stop)\~ ^3 .pro .st;READING AND CONVERTING TEXT FILES TO VIEWGRAPHS .b4 .half spacing 3 .f .lm .rm .tt3 ^&^~^4READING AND CONVERTING TEXT FILES TO VIEWGRAPHS^3\&\~ .b This suboption enables the user to take text files, created using the editor. and convert them into viewgraphs. The user only specifies the text size; the other viewgraph parameters are set to default values, which can be later changed using the change viewgraph suboption. The text is set to the same size, and all text are left justified. Blank lines in the file are treated as zero length labels. The global spacing factor is set to a value of 0.5, so that the lines are spaced vertically closer together than if the viewgraph is created using the create viewgraph suboption. Below is an example of creating a viewgraph. .b4 .nf .nopro .lm+3 .half spacing 2 ^1^~** SELECT NEXT OPTION **\~ vi ^~VIEWGRAPHS .b2 Select Viewgraph option: .b M (M)ake a viewgraph C (C)hange a viewgraph R (R)ead and convert a text file to a viewgraph S (S)top .b Enter M, C, R, or S:\~ r ^~Plot presentation exists - OK to destroy? (y/n)\~ y .b2 ^~Text file to viewgraph conversion .b Enter the file name containing the viewgraph text\~ view.txt ^~Enter the text size for the viewgraph (1-10)\~ 5 .b2 ^~** SELECT NEXT OPTION **\~^3 .b3 .lm .pro An example of a typical file that can be converted is: .b3 .lm20 .tt7 .nopro ^1------------------------------------------------ This is an example of the PLTPRG read in text file viewgraph routine. .b The viewgraph can be enhanced by using the viewgraph change suboption. ------------------------------------------------^3 .pro .st;MODIFYING A VIEWGRAPH (Adding Labels) .b4 .half spacing 3 .f .lm .rm .tt3 ^&^~^4MODIFYING A VIEWGRAPH^3\~\& .b To modify a viewgraph, use the modify viewgraph suboption of the viewgraph option "VI". The options available to the user include adding, inserting, deleting, and changing the labels, listing the viewgraph label parameters, and changing the overall viewgraph parameters. Figure 6 shows a viewgraph created using the above viewgraph creation examples, and modified using the modification examples below. .fgd120 .b .tt2 ^&ADDING LABELS\& The add labels suboption adds labels to the bottom of the viewgraph. The user inputs a label, the text size, and the justification for the label. Below is an example of adding a label. .b3 .lm+3 .rm+8 .half spacing 2 .nf .nopro ^1^~Select Viewgraph option: .b M (M)ake a viewgraph C (C)hange a viewgraph R (R)ead and convert a text file to a viewgraph S (S)top .b Enter M, C, R, or S:\~ c .b ^~Select to change: .b I (I)nsert labels A (A)dd labels C (C)hange labels L (L)ist labels D (D)elete labels V (V)iewgraph parameters S (S)top .b Enter I, A, C, L, D, V, or S:\~ a ^~Enter the label text:\~ Added label ^~Enter the text size (1-10)\~ 5 ^~Enter L, C, or R, for (L)eft, (C)enter, or (R)ight justification of the label\~ r^3 .pro .st;MODIFYING A VIEWGRAPH (Inserting Labels) .b4 .half spacing 3 .f .lm .rm .tt2 ^&INSERTING LABELS\& The insert labels suboption inserts labels between two existing labels in the viewgraph. The user must first state which label number they will insert after, and then give the label, the text size, and the justification for the label. To insert a label at the top of the viewgraph, insert the label after 0. Below is an example of inserting a label. .b3 .half spacing 2 .nf .nopro .lm+3 .rm+8 ^1^~Select to change: .b I (I)nsert labels A (A)dd labels C (C)hange labels L (L)ist labels D (D)elete labels V (V)iewgraph parameters S (S)top .b Enter I, A, C, L, D, V, or S:\~ i ^~Enter the label number to insert the label after\~ 1 ^~Enter the label text:\~ Inserted label ^~Enter the text size (1-10)\~ 6 ^~Enter L, C, or R, for (L)eft, (C)enter, or (R)ight justification of the label\~ c^3 .pro .st;MODIFYING A VIEWGRAPH (Changing Labels) .b4 .half spacing 3 .f .lm .rm .tt2 ^&CHANGING THE LABEL\& The change labels suboption enables the user to change a label and its parameters. The user can change the label text, the text size, and the justification. Another value that can be changed is the vertical spacing between this label and the label preceeding it. The size of the space is equal to: (the vertical spacing factor value * the text size of this label). The default value chosen when the label is added, inserted, or the viewgraph created is equal to the maximum of 1.0 or (text size of preceeding label + text size of this label)/ (2 * text size of this label). If the spacing value is changed to -1.0, then this label will appear on the same line as the proceeding label. This is useful when one label is set to one justification, the other label set to a different justification, and both labels are very short. Below is an example of changing a label. .b3 .half spacing 2 .nf .nopro .lm+3 ^1^~Select to change: .b I (I)nsert labels A (A)dd labels C (C)hange labels L (L)ist labels D (D)elete labels V (V)iewgraph parameters S (S)top .b Enter I, A, C, L, D, V, or S:\~ c ^~Enter the number of the line of text to change\~ 4 ^~Select to change: .b L (L)abel = created using PLTPRG .b J (J)ustification = Left T (T)ext size = 10 V (V)ertical distance = 1.00 S (S)top .b Enter L, J, T, V, or S:\~ v ^~Enter the vertical spacing factor\~ 2 ^~Select to change: .b L (L)abel = created using PLTPRG .b J (J)ustification = Left T (T)ext size = 10 V (V)ertical distance = 2.00 S (S)top .b Enter L, J, T, V, or S:\~ s^3 .pro .st;MODIFYING A VIEWGRAPH (Listing Labels) .b4 .half spacing 3 .f .lm .tt2 ^&LISTING THE LABEL PARAMETERS\& Below is an example of listing the label parameters. .b3 .lm+3 .half spacing 2 .nf .nopro ^1^~Select to change: .b I (I)nsert labels A (A)dd labels C (C)hange labels L (L)ist labels D (D)elete labels V (V)iewgraph parameters S (S)top .b Enter I, A, C, L, D, V, or S:\~ l ^~Listing of Viewgraph Text .b ****************************** Label no. 1 ****************************** Text: This is an example of a Justification = Left Size = 8 Vert. Spacing = 0.00 ****************************** Label no. 2 ****************************** Text: Inserted label Justification = Center Size = 6 Vert. Spacing = 1.17 ****************************** Label no. 3 ****************************** Text: viewgraph Justification = Left Size = 8 Vert. Spacing = 1.00 ****************************** Label no. 4 ****************************** Text: created using PLTPRG Justification = Left Size = 10 Vert. Spacing = 2.00 ****************************** Label no. 5 ****************************** Text: Added label Justification = Right Size = 5 Vert. Spacing = 1.50 Press Return to continue\~ ^3 .pro .st;MODIFYING A VIEWGRAPH (Deleting Labels) .b4 .half spacing 3 .lm .f .tt2 ^&DELETING VIEWGRAPH LABELS\& This option deletes the labels from the viewgraph. Below is an example. .b3 .half spacing 2 .lm+3 .nf .nopro ^1^~Select to change: .b I (I)nsert labels A (A)dd labels C (C)hange labels L (L)ist labels D (D)elete labels V (V)iewgraph parameters S (S)top .b Enter I, A, C, L, D, V, or S:\~ d ^~Enter the label numbers to delete:\~ 5^3 .pro .st;MODIFYING A VIEWGRAPH (Changing Parameters) .b4 .half spacing 3 .lm .f .tt2 ^&CHANGING THE VIEWGRAPH PARAMETERS\& The change viewgraph parameters suboption enables the user to change the viewgraph color, the viewgraph default font, and the global spacing factor. The global spacing factor is used to alter the vertical spacing factor for each label. The actual vertical spacing between the labels is equal to: (text size of label * vertical spacing factor * global spacing factor). However, if the vertical spacing factor value for a label is less than zero, the global spacing factor is ignored, so the vertical spacing is: (text size of label * vertical spacing factor). .b3 .half spacing 2 .lm+3 .nf .nopro ^1^~Select to change: .b I (I)nsert labels A (A)dd labels C (C)hange labels L (L)ist labels D (D)elete labels V (V)iewgraph parameters S (S)top .b Enter I, A, C, L, D, V, or S:\~ v .b ^~Current Viewgraph Parameters .b C (C)olor is Black F (F)ont is Simplex Roman G (G)lobal spacing factor = 1.000 S (S)top .b Enter C, F, G, or S:\~ c ^~Select the new Viewgraph color: .b 1) Black 2) Red 3) Dk. Green 4) Blue 5) Orange 6) Purple 7) Lt. Green 8) Brown .b Enter 1-8:\~ 2 .b ^~Current Viewgraph Parameters .b C (C)olor is Red F (F)ont is Simplex Roman G (G)lobal spacing factor = 1.000 S (S)top .b Enter C, F, G, or S:\~ f ^~Select the new Viewgraph text font: .b 0) Hardware 1) Simplex Roman 2) Duplex Roman 3) Complex Roman 4) Triplex Roman 5) Complex Italic 6) Triplex Italic 7) Complex Script 8) Gothic English .b Enter 0-8:\~ 3 .b ^~Current Viewgraph Parameters .b C (C)olor is Red F (F)ont is Complex Roman G (G)lobal spacing factor = 1.000 S (S)top\~^3 .pro .st;MODIFYING A VIEWGRAPH (Reducing) .b4 .half spacing 3 .f .lm .tt2 ^&REDUCING THE SIZE OF THE VIEWGRAPH\& In plotting a plot presentation, PLTPRG will reduce the scale of a plot if the plot is larger than the plotting device can make, so that the plot can fit on the paper or screen. The reduction in plot size also results in a reduced text size. To reduce the size of a viewgraph, use the modify plot presentation, "MP", axis parameters suboption, and increase the length of the X and/or Y axes to larger than the plot media size. If the plot is to be done on a device that supports plot rotation, such as a HP plotter, and you wish to rotate the viewgraph 90 degrees, make the Y axis length long, and the X axis length shorter than the Y axis. .t;^~FILE DIRECTORIES\~ .st; .b5 .tt3 .c;^&^~^4FILE DIRECTORIES^3\&\~ .b The file directory option, "DI", enables the user to list their file directories. The files can be on a floppy, a mounted logical disk, etc. .b .tt2 ^&PDP:\& To get files on devices or logical disks other than your default directory (DK:), you must give the device (DY:, DR1:, etc) or logical disk name (LD1:, LD2:, etc). You must include the colon, or it will assume it is a file on your default directory. You can include filenames with wildcards (asterisks) to get only certain files (DY:F*.DAT, LD3:P*.RNO, WIND*.DAT, etc). Included in the directory listing is the number of files, number of blocks in each file, the total number of blocks used by the files listed, and the number of free blocks left on that device. Below are examples done on the PDP. .b3 .lm+3 .half spacing 2 .nf .nopro ^1^~** SELECT NEXT OPTION **\~ di ^~ Enter the device to get the directory for, or return for the current directory \~ld0:.dat .b2 ^~Directory Device LD0:*.DAT 20 Files 270 Blocks 77 Free Blocks .b DDG51 .DAT 53 | LGFLAT.DAT 3 | UWEDGE.DAT 2 | DDG51A.DAT 24 WINDFS.DAT 22 | NEWAKE.DAT 1 | GABWA .DAT 3 | GAB .DAT 17 ANG .DAT 3 | LENGTH.DAT 2 | PAP .DAT 47 | GABTAB.DAT 3 PAPCR .DAT 10 | CRTAB .DAT 3 | CRTBL .DAT 3 | WIND .DAT 22 SMOKE .DAT 3 | WEDVEL.DAT 24 | NEWIND.DAT 19 | PLTPRG.DAT 6 .b2 ^~** SELECT NEXT OPTION **\~ di ^~ .tt2 Enter the device to get the directory for, or return for the current directory \~ .b2 ^~Directory Device DK:*.* 11 Files 531 Blocks 443 Free Blocks .b FIX .RUN 45 | FIX .DIC 1 | LAST .FST 1 | PLTPRG.DIC 2 VALS .TAB 1 | TEMP .DAT 4 | TEMP .TBL 2 | PLTPRG.BAK 234 TEMP .VI 3 | PLTPRG.PLT 3 | PLTPRG.RNO 235 .b ** SELECT NEXT OPTION **\~^3 .b3 .f .pro .lm .half spacing 3 .tt2 ^&VAX:\& To get files on on directories other than your default directory, you must give the directory name ([USER.FILES], etc). You must include the brackets, or it will assume the directory name is a file on your current default directory. You can include filenames with wildcards (asterisks) to get only certain files ([USER.FILES]F*.DAT, [PROG.TEST]P*.RNO, WIND*.DAT, etc). Only the last version of the files are given unless you specify which version or all versions to use (*.PLT;2 , *.DAT;* , etc.). Below are examples done on the VAX. .b3 .lm+3 .half spacing 2 .nf .nopro ^1^~** SELECT NEXT OPTION **\~ di ^~Directory listing routine - Enter the directory name: (Press return for the current directory)\~ *.for .b2 ^~Directory $DISK1:[FISHER] .b BACKFIX.FOR;1 BADNEWHRVE.FOR;1 CALCOMP1.FOR;2 CALCOMP2.FOR;2 CEU.FOR;2 COMP.FOR;1 DESQUEZE.FOR;3 DOUBLEHARP.FOR;6 FIXDEV7.FOR;1 HCBS.FOR;1 HULIMP.FOR;1 INT.FOR;3 MAT.FOR;1 RUNNER.FOR;4 SQUEEZE.FOR;2 TEST.FOR;11 TTLOCK.FOR;14 WAVES.FOR;25 WAVESPECTRA.FOR;1 .b2 ^~** SELECT NEXT OPTION **\~ di ^~Directory listing routine - Enter the directory name: (Press return for the current directory)\~ [graphics] .b2 ^~Directory $DISK1:[GRAPHICS] .b CHRWID.DAF;4 DI3000.DIR;1 GDDLIB.FOR;1 GDDLIO.FOR;1 GPDFLT.FOR;1 HEADER.PST;1 LAMETA.DAT;6 LAMETA.EXE;8 LASRHP.EXE;2 MGSP.DIR;1 MGSPLB.OLB;1 MLTIPC.FOR;1 MLTIPC.MET;1 PLOTFL.COM;1 PLTMET.EXE;2 PXMETA.EXE;2 SCSFIL.DAF;1 .b2 ** SELECT NEXT OPTION **\~^3 .lm .half spacing 3 .f .pro .t;^~MERGING, SORTING, AND MOVING DATA COLUMNS\~ .st;MERGING DATA COLUMNS .b6 .tt2 .c;^&^~^4MERGING, SORTING, AND MOVING DATA COLUMNS^3\~\& Merging data columns together, sorting data column values, and moving data columns from one position in the list of data column to another position, are done using the merge, sort, and move column option, "MS". When "MS" is selected, the merging, sorting, and moving columns suboptions can be selected. .st;MERGING DATA COLUMNS .b2 .lm .half spacing 3 .f .pro .tt3 ^&^~^4MERGING DATA COLUMNS^3\&\~ .b The merge column suboption of "MS" enables the user to merge columns together. There are two ways data columns are merged. The first way, the columns are merged in order (the last element of the first column is followed by the first element of the next column, etc.). The results are saved in a new data column. Many columns can be merged into one column at one time using this way. Below is an example. .b4 .lm+3 .nf .nopro .half spacing 2 ^1^~** SELECT NEXT OPTION **\~ ms .b2 ^~MERGE, SORT, AND MOVE COLUMNS .b Select: .b 1) Merge Data Columns Together 2) Sort Data Columns 3) Move Data Columns 4) Stop .b Select 1-4:\~ 1 .b ^~MERGE DATA COLUMNS TOGETHER .b Do you wish to: .b 1 Merge groups of columns together 2 Insert a second column into a first column 3 Stop .b Enter 1, 2, or 3:\~ 1 ^~Enter the column numbers to merge (or "S" to stop): \~ 1 5 9 ^~Selected columns: .b Column 1: Speed (Knots) Model 9876 Full Load Column 5: Speed (Knots) Model 9876 Ballast Condition Column 9: Speed (Knots) Model 9876 Trimmed by the bow .b Are the column numbers correct? (y/n)\~ y ^~Enter the title for the resultant data column:\~ merged columns .b ^~** SELECT NEXT OPTION **\~^3 .b3 .f .pro .lm .half spacing 3 The second way to merge columns allows one column to be inserted into the middle of another column. The results are saved in a new column. Below is an example. .b3 .lm+3 .nf .nopro .half spacing 2 .b ^1^~MERGE DATA COLUMNS TOGETHER .b Do you wish to: .b 1 Merge groups of columns together 2 Insert a second column into a first column 3 Stop .b Enter 1, 2, or 3:\~ 2 ^~Enter the column numbers to merge (or "S" to stop): \~ 5 9 ^~Selected columns: .b Column 5: Speed (Knots) Model 9876 Ballast Condition Column 9: Speed (Knots) Model 9876 Trimmed by the bow .b Are the column numbers correct? (y/n)\~ y ^~Enter the title for the resultant data column:\~ new merged values ^~Enter the point number in the first column to insert the second column after: \~2 .b ^~** SELECT NEXT OPTION **\~^3 .lm .f .pro .half spacing 3 .st;SORTING DATA COLUMNS .b4 .tt3 ^&^~^4SORTING DATA COLUMNS^3\&\~ .b Data columns can be sorted in ascending or descending order using option "SO". The user enters the columns to sort, with the first column being the column to sort all the columns by. It should be noted that the original, unsorted data is replaced by the sorted data. Below is an example. .b4 .lm+3 .nf .nopro .half spacing 2 ^1^~** SELECT NEXT OPTION **\~ ms .b2 ^~MERGE, SORT, AND MOVE COLUMNS .b Select: .b 1) Merge Data Columns Together 2) Sort Data Columns 3) Move Data Columns 4) Stop .b Select 1-4:\~ 2 .b ^~Data Column Sorting Routine .b Enter the data columns numbers to sort, with the first column the column to sort by:\~ 1 2 3 4 ^~Selected columns: .b Column 1: Speed (Knots) Model 9876 Full Load Column 2: Resistance Model 9876 Full Load Column 3: Cr Model 9876 Full Load Column 4: Cf Model 9876 Full Load .b Are the column numbers correct? (y/n)\~ y .b ^~Select sorting direction: .b 1) Increasing 2) Decreasing 3) Stop .b Enter 1-3:\~ 1 .b ^~** SELECT NEXT OPTION **\~^3 .f .pro .half spacing 3 .lm .st;MOVING DATA COLUMNS .b3 .tt3 ^&^~^4MOVING DATA COLUMNS^3\&\~ .b The move data columns suboption enables the user to move one or more columns from one position in the data set to another position. This is very useful if there are a large number of columns in the program, since columns can be kept near each other. The user can move a single column, or a range of columns. Below is an example: .b4 .lm+3 .nf .nopro .half spacing 2 ^1^~** SELECT NEXT OPTION **\~ ms .b2 ^~MERGE, SORT, AND MOVE COLUMNS .b Select: .b 1) Merge Data Columns Together 2) Sort Data Columns 3) Move Data Columns 4) Stop .b Select 1-4:\~ 3 .b2 ^~MOVE DATA COLUMN ROUTINE .b Enter the column number or range [first,last] to move\~ 16 17 .b2 ^~COLUMNS TO BE MOVED: .b No. Title .b 16 Interpolated RTS values (X) 17 Interpolated RTS values (Y) .b Are the columns correct? (y/n)\~ y ^~Enter the column number to insert after\~ 20 .b2 ^~COLUMN INSERTION LOCATION: .b No. Title .b 18 Interpolated PE values (X) 19 Interpolated PE values (Y) 20 Speed range **** Insertion Location **** 21 Interpolated PE values (X) 22 Interpolated PE values (Y) 23 Speed Juncture Points .b Is the insertion location correct? (y/n)\~ y .b2 ^~CHANGED DATA COLUMN TITLES: .b # Pts TITLE .b 16 5 Interpolated PE values (X) 17 5 Interpolated PE values (Y) 18 15 Speed range 19 15 Interpolated RTS values (X) 20 15 Interpolated RTS values (Y) .b THE ABOVE ARE THE ONLY COLUMNS WHOSE NUMBERS HAVE CHANGED .b ** SELECT NEXT OPTION **\~^3 .pro .t;^~VAX/VMS COMMANDS FROM WITHIN PLTPRG\~ .st; .b6 .lm .f .half spacing 3 .tt3 .c; ^&^~^4VAX/VMS COMMANDS FROM WITHIN PLTPRG^3\&\~ .b In the VAX version of PLTPRG, an additional option is available under the main option menu, "VM", to enable the user to give VMS commands without exiting from PLTPRG. This option actually spawns a subprocess for the user. The user can issue VMS commands, but cannot change the default directory of the main process which is running PLTPRG. When the user is finished issuing VMS commands, the subprocess is deleted. The user can finish issuing VMS commands by entering "S" to stop, LOG, or EXIT. Ctrl-C and Ctrl-Y will not return the user to the main process. Below is an example of the VM option. .b3 .lm+3 .nf .nopro .half spacing 2 ^1^~** SELECT NEXT OPTION **\~ vm .b ^~PLTPRG spawned subprocess - Enter your VAX/VMS Commands (or S to return) .b PLTPRG>:\~ show users ^~VAX/VMS Interactive Users 17-APR-1987 14:42:48.63 Total number of interactive users = 3 .b Username Process Name PID Terminal XXXXX XXXXX 00000153 TXA4: YYYYY YYYYY 00000155 TXA5: ZZZZZ ZZZZZ 00000199 TXA6: PLTPRG>:\~ s ^~Are You Finished With the subprocess? (y/n):\~ y .b ^~** SELECT NEXT OPTION **\~^3 .lm .f .pro .half spacing 3 .t;^~ABORTING FROM THE PROGRAM\~ .st; .tt2 .b6 .c;^&^~^4ABORTING FROM THE PROGRAM^3\&\~ .b If the user wishes to exit the current option and return to the main program, or exit the program immediately, use a CTRL-C. Below is an example using the CTRL-C to return to the main menu. .b4 .lm+3 .half spacing 2 .nf .nopro ^1^~Are the column numbers correct? (y/n)\~ _^C ^~Do you wish to abort? (y/n)\~ n ^~Do you want to start back at the main menu? (y/n)\~ y ^~** SELECT NEXT OPTION **\~^3 .b3 .lm .half spacing 3 .f .pro If the user wishes to abort the program, they may or not be asked if they wish to save their information. When PLTPRG makes a plot, and the plot is not done as a batch or detached job (like a plot to the terminal), the plotting information is written to temporary files PLTPRG.DAT, PLTPRG.PLT, and PLTPRG.TBL. If the user aborts the program using the CTRL-C, and the data, plot presentation, and table presentation in PLTPRG is different than that in the above files, the user will be prompted if they wish to save their information. If the data in the above temporary files are current, the data does not need to be saved since PLTPRG reads these files when it starts up, so the data is not lost. It should be noted that if the stop option "ST" is used to leave the program, these temporary files are ^&deleted\&. .b4 .lm+3 .nf .nopro .half spacing 2 ^1^~Are the column numbers correct? (y/n)\~ _^C ^~Do you wish to abort? (y/n)\~ y .b ^~Do you want to save your information? (y/n)\~ y .b ^~Do you want to save the data values? (y/n)\~ y .b ^~SAVE DATA ROUTINE .b ^~Enter the file name to store the data\~ data.dat ^~Do you want to save all of the data? (y/n)\~ y .b ^~Do you want to save the presentation? (y/n)\~ y .b ^~SAVE PRESENTATION ROUTINE (Short Form - Datapoints Not Included) Enter the file name to store the data\~ data.plt .b ^~Do you want to save the table data? (y/n)\~ y .b ^~SAVE TABLE PRESENTATION ROUTINE .b Enter the file name to store the data\~ data.tab^3 .pro .t;^~NOTES ON THE LABELS, COLUMN TITLES, ETC\~ .st;EDITING LABELS .b6 .lm .half spacing 3 .f .tt5 .c;^&^~^4NOTES ON THE LABELS, COLUMN TITLES, ETC^3\&\~ .b .tt3 ^&^~^4EDITING LABELS^3\&\~ .b The labels for the plot, including axes labels, labels, legend labels, and text block labels, the viewgraph labels, and the data column titles can be edited. The editing means you can insert and delete characters in the text. The table headers cannot be edited when they are changed, and the filenames cannot be edited. Below is a description of what the keys can do. .b3 .lm .nf .col "|" 13,40 |Left arrow key |Moves cursor left |Right arrow key |Moves cursor right |Up arrow key |Moves cursor to the start of the line |Down arrow key |Moves cursor to the end to the line |CTRL-U |Deletes characters to the left of the cursor |CTRL-K |Deletes characters to the right of the cursor |Delete Key |Deletes a single character to the right of the || cursor. If cursor is on the left edge, it || will delete the character it is on. .nocol .st;CHANGING THE LETTER FONT .b3 .lm .f .tt3 ^&^~^4CHANGING THE LETTER FONT^3\&\~ .b Another feature is that for the labels in the plot and viewgraph, you can change fonts, and add superscripts and subscripts. The fonts are changed by adding an _@N, where the font number is N. To return to the current font, add an _@_\ to the label. One of the font sets is greek/math symbols. Since the terminal keyboard is not layed out in greek/math, the user enters a character representing the code for the greek/math symbol. Table 1 shows the greek/math symbols, and the keyboard characters corresponding to the symbols. Below are the available fonts. .fgd120 .b3 .lm36 .nf .half spacing 2 1) Simplex Roman 2) Duplex Roman 3) Complex Roman 4) Triplex Roman 5) Complex Italic 6) Triplex Italic 7) Complex Script 8) Gothic English 9) Greek/math .half spacing 3 .b2 .lm .f An example would be: .b .c;THIS IS _@5AN EXAMPLE_@_\ CASE .b2 The resulting text is: .b1 ^0 .c;THIS IS ^{AN EXAMPLE\{ CASE .b2 .st;SUPERSCRIPTS AND SUBSCRIPTS .b2 .tt3 ^&^~^4SUPERSCRIPTS AND SUBSCRIPTS^3\&\~ .b To get superscripts and subscripts, add a _@_^ to get a superscript, and a _@_` to get a subscript. To return to the regular position, add a _@_@. The superscripts and subscripts are smaller in size than the current letter size. An example of the superscripts and subscripts are; .b2 .nf .c;THIS_@_^IS A_@_@ DEMO_@_`NSTRAT_@_@ION .b2 The resulting text is: .b2 .c;THIS^>^2IS A^3^< DEMO^<^2NSTRAT^3^>ION .f .b The fonts and superscripts and subscripts are automatically reset after every label. .t;^~DESCRIPTION OF CURVE FITS\~ .st;STRAIGHT LINE FIT .pg .b6 .tt7 .c;^&^~^4APPENDIX A^3\&\~ .b2 .c;^&^~^4DESCRIPTION OF CURVE FITS^3\&\~ .b2 The curve fits used in PLTPRG are described below. Unless otherwise noted, they are the same for the curve plotting, interpolation, and integration/differentiation routines. It should be noted that the straight line, cubic spline, and parametric spline fits do not fair the data; the curves are drawn through every point. .b .tt3 ^&^~^4STRAIGHT LINE FIT^3\&\~ .b Prior to fitting, the data are sorted in ascending X order. The data are connected by straight lines. .st;LEAST SQUARES FIT .b .tt3 ^&^~^4LEAST SQUARES FIT^3\&\~ .b This is a standard least squares polynomial fit to the data. A maximum order of 20 is allowed, but is not recommended. Most descriptions of least squares fits suggest that a order of (_#points-1)/2 should be used. An order of _#points-1 results in an exact fit to the data. If the highest term of the polynomial is very small (less than 1E-20), the order will be decremented by one, and the polynomial recomputed. This feature improves the accuracy of the fit because it reduces the effects due to roundoff error (the polynomial is solved for using double precision variables to minimize roundoff errors). The terms of the polynomial can be printed out by using the interpolation option, "IT". .st;CUBIC SPLINE FIT .b .tt3 ^&^~^4CUBIC SPLINE FIT^3\&\~ .b The cubic spline fit puts cubic polynomials between each set of two points. The data is ordered in increasing X values, and if there are more than one X-Y pair having the identical X value, only one X value is used, with the corresponding Y value the average of all the Y values for that X value. The resulting number of points N are fitted with N-1 cubic splines having point, slope, and second derivative continuity where they meet. Since with N-1 cubic splines, there are 4*(N-1) unknowns, and the above continuity conditions provide a total of 4*(N-2)+2 equations, 2 more equations are needed to solve for the cubic spline equations. The two additional conditions that are used here are that the second derivative values at the first and last points are zero. .st;PARAMETRIC SPLINE FIT .b .tt3 ^&^~^4PARAMETRIC SPLINE FITS^3\&\~ .b The parametric spline fit puts parametric cubic polynomials between each set of two points. A parametric polynomial is .b .nf .nopro ^1X = A + B*T + C*T^>2^< + D*T^>3^< Y = E + F*T + G*T^>2^< + H*T^>3^<^3 .b .f .pro where, for a given X and Y value on the curve, T is identical. To make a parametric polynomial, the variable T must be known. For the parametric spline fits type A and C, T is set to 0 at the first X-Y point, 1 at the next X-Y pair, and N-1 at the Nth X-Y point. For the parametric spline fit type B, T based on the straight line path length between the X-Y points. T is 0 at the first X-Y point, ((X(2)-X(1))^>2^< + (Y(2)-Y(1))^>2^<)^>0.5^< at the next X-Y pair, and T(N-1) + ((X(N)-X(N-1))^>2^< + (Y(N)-Y(N-1))^>2^<)^>0.5^< at the Nth X-Y pair. Next, the data sets T-X, and T-Y are fitted using the cubic spline fits described above. The resulting cubic splines are a function of T, and are the parametric splines. The difference between fits type A and B is how T is defined. The difference between fits type A and C is that, for fits A and B, the X-Y data is sorted in ascending X order, while for type C, the data is not sorted. With type C, a set of data that is double valued in X (like a circle) can be fit. Other than the sorting of the data, fit type C is identical to fit type A. If the interpolation or integration/differentiation option is used on data that are double-valued, and a type C fit is used, the result at a given X value ^&may\& actually be the result at the first X value along that curve. .st;LEAST SQUARES SPLINES .b .tt3 ^&^~^4LEAST SQUARES SPLINES^3\&\~ .b The least squares splines use a combination of least squares polynomial and cubic spline methods. The splines are a series of cubic polynomials which have point and slope continuity at their end points with their neighboring splines. The endpoints of each polynomial are the juncture points that the user must supply along with the X-Y datapoints. If there are M splines, we need a total of 4*M equations to solve for the coefficients. The point and slope continuity conditions provide 2*(M-1) equations. The four equations for a least squares cubic polynomial are: .b2 .half spacing 2 .nf .nopro .lm28 .tt7 | N `S `SX^>2^< `SX^>3^< | |A| |`SY | | | | | | | | `SX `SX^>2^< `SX^>3^< `SX^>4^< | |B| |`SYX | | | | | = | | | `SX^>2^< `SX^>3^< `SX^>4^< `SX^>5^< | |C| |`SYX^>2^<| | | | | | | | `SX^>3^< `SX^>4^< `SX^>5^< `SX^>6^< | |D| |`SYX^>3^<| .lm .b3 .f .pro .half spacing 3 By using the first two equations for each of the M least squares splines, we have an additional 2*M equations. Since there are still two more unknowns than equations, two more equations must be used. For fit type A, the two equations that are used to set the second derivative to zero at the first and last juncture points. This was selected in an effort to keep the splines well mannered at both ends of the data. For fit type B, the two additional equations that are used are the above third least squares equations for the leftmost and rightmost splines. The differences between the type A and B fits are the greatest over the first and last spline segments, and decrease with the spline segments closer to the middle. To use the least squares splines, the user must supply the juncture points. The juncture points are the endpoints for the least squares splines; if the user wants M least squares splines, they must give M+1 juncture points. If the least squares spline fit is not acceptable, the fit can be improved by varying the number of least squares splines, and/or the location of the juncture points. It should be noted that, for fit type A, the location of the first and last juncture points will have an effect on the fit since the second derivatives at those two points will be zero. .st;LEAST SQUARES SEGMENTS .b .tt3 ^&^~^4LEAST SQUARES SEGMENTS^3\&\~ .b This fit, only available using the interpolation option "IT", fits a least squares polynomial to a small group of points that are a part of a larger group of points, and interpolates a Y value from the least squares polynomial. The user must supply the number of points to fit the least squares polynomial to, the weight factor for the centerpoint, and the order of the polynomial to use. For example, if the curve has 88 points, we might decide to fit a group of 11 points in the curve at a time with a least squares polynomial of degree 3 (cubic), with the point in the center having a weight of 5 (and the endpoints of the group of 11 points with a weight of 1). So the 6 points to the left of, and 5 points to the right of the X value to interpolate at will be fitted with a cubic least squares polynomial, with the point to the left of the X value given a weight of 5, decreasing to 1 for the leftmost and rightmost points of the 11 points. If there are M X values to interpolate at, the above calculations are repeated M times. The fewer the number of points in the set to fit, the larger the order of the least squares polynomial, and the larger the weight factor, the closer the interpolated values will be to the original values. .t;^~LIMITS TO PLTPRG\~ .st; .pg .b6 .tt7 .c;^&^~^4APPENDIX B^3\&\~ .b2 .tt3 .c;^~^4LIMITS TO PLTPRG^3\~ .b PLTPRG was written to provide sufficient resources for the majority of users. This refers to such resources as the total number of data columns allowed, the maximum number of points allowed, etc. The following are the limitations for PLTPRG. It should be noted that in later versions of PLTPRG, these limitations may have changed. To see what the current limits are, select option "PV" (not shown in the main menu listing). The limits differ for the PDP and VAX. .b .tt2 ^&DATA\& There are a maximum of 150 data columns allowed, with a maximum of 300 points per column. The maximum total number of points is 15000. The column titles are limited to 70 characters, and the maximum total number of characters in all of the column titles combined is 8000. When interpolating, integrating, or differentiating, the resultant values are limited to a maximum of 300 in the PDP, and 2001 on the VAX. The values of the data can range in magnitude from +/- 1E29. On the VAX, the maximum number of data column are 250, with the maximum total of 25000 points, and the maximum total number of characters in all of the column titles combined is 8000. .b .tt2 ^&PLOTS\& There is a maximum of 20 curves allowed with the regular and quick plotting options. If least squares spline fits are used, there is a limit of 60 juncture points. The axes titles are limited to 80 characters. The labels are limited to 80 characters. The total number of labels plus the total number of lines in all of the text blocks combined is limited to 50, and the total number of characters to 1750. The total number of text blocks is limited to 10. The legend is limited to 25 labels (including the legend title), and the legend labels limited to 70 characters, with the total number of characters to 500. .b .tt2 ^&TABLES\& There is a maximum of 20 table columns allowed, with a maximum of 50 lines allowed for the table header and the column headers combined. The maximum number of characters for all of the above lines combined is 500. .b .tt2 ^&VIEWGRAPHS\& There is a maximum of 50 lines allowed, with a maximum length of 80 characters for each line. The maximum total number of characters in all of the lines is 1750. .b .tt2 ^&EQUATION EVALUATION\& The total number of columns, both initially defined by the user and those from the results from equations, is limited to 20. The maximum number of functions (SIN, etc.), columns, and numbers in a single equation is limited to 20. .b .tt2 ^&USER ANALYSIS ROUTINES\& The total number of columns used, user defined constants, and equations is 50. The combined lengths of the variable names is limited to 500 characters. The maximum number of functions (SIN, etc.), columns, user constants, numbers, and other variables in a single equation is limited to 20.