The editing part of solo is command driven so as to make it easier to do batch editing as well as interactive and to form a human readable record of editing steps for possible reuse or edification.
The interactive editing process usually involves bringing up the main edit widget and generating the appropriate set of commands in the CURRENT COMMANDS widget and perhaps defining a set of boundaries for these operations. A pass through the data is then commenced by clicking on the START PASS THROUGH DATA button and finally clicking on the "=" button in the appropriate frame causes a replot of the field of interest. Sets of editing commands are accumulated in the sweepfile and are visible in the EXAMINE widget. Solo stops accumulating editing commands when the total size exceeds 64K bytes.
Clicking on EDITOR in the pull down menu in each frame brings up the MAIN EDIT WIDGET which facilitates assembling a set of editing commands and defining sets of boundaries. THE FRAME FROM WHICH YOU ACCESS THE EDITOR WIDGET DETERMINES WHICH SWEEPFILE WILL BE EDITED unless you use the EDIT SOURCE INFORMATION WIDGET to modify the sweepfile set on which the editor will operate.
Clicking on the example operations button
produces a list of files
containing commands to perform the indicated operation. Clicking on
the left side of a line in this list causes an example set of commands
to be loaded into the CURRENT COMMANDS list. You can also set an
environment variable
setenv CANNED_COMMANDS "/your_example_ops_dir"
to bring up your own set of files into this list.
Clicking on the clear current cmds button clears the list in the CURRENT COMMANDS list.
Clicking on the list current commands button pops up or pops down the CURRENT COMMANDS widget. This is where the set of commands is assembled to control the next pass through the data. See the current commands example.
Clicking in the various lists with the left button most often causes the entry to be reproduced in the command buffer of the EDIT COMMAND BUFFER widget. This is where the command can be edited. Clicking the right button on a line in the CURRENT COMMANDS list causes the contents of the command buffer to be inserted in front of the line clicked on in the CURRENT_COMMANDS list.
In the CURRENT COMMANDS list clicking with the left button will extract/delete the item from the list and reproduce it in the command buffer either to be modified or truly deleted.
Clicking on the list all commands button pops up the ALL COMMANDS widget which contains an exhaustive list of commands. These commands can be clicked into the command buffer with the left mouse button.
Clicking on the boundary widget causes the BOUNDARY WIDGET to pop up if it has been dismissed.
Clicking on the list help info button causes a help list to pop up. Either the default help list is displayed if there is nothing in the command buffer or if a help file search finds a match for the contents in the command buffer, then that help list is displayed.
Clicking on a help file identifier in the help display will cause it to be displayed immediately. Clicking the right mouse button will cause previously displayed help files to appear. Clicking on any line in the help display causes it to appear in the command buffer. Clicking on items that begin with "!*" will bring an example command set into the help display.
It is also possible to create and point your own directory of help files with
an environment variable.
setenv SOLO_HELP_DIR "/your_own_help_files_dir"
Check the directory ../solo/editor/help_files
for naming conventions.
Clicking on the START PASS THROUGH DATA button starts the editing of the data based on the commands in the CURRENT_COMMANDS list and the information in the EDIT SOURCE INFORMATION WIDGET. At the end of each pass the entries in the EDIT SOURCE INFORMATION WIDGET and the associated internal structure are reset to operate on the sweepfile displayed in the frame from which the edting widget was popped up. Also at the end of each pass if a set of boundaries are active, they will be saved on a circular queue accessed from prev BND set button in the BOUNDARY WIDGET and then the boundary set will be cleared. This feature can be defeated if the proper environment variable is set prior to starting up solo. See BOUNDARY WIDGET. As a default the pass through the data will be restricted to the sweep displayed in the frame from which the user popped up the MAIN EDIT WIDGET.
Clicking on the extend edit button pops up the EDIT SOURCE INFORMATION WIDGET which permits the user to extend the edit to more than just the current sweep.
for-each-ray must be present in a line
to seperate one time only
commands from commands executed for each ray.
In this case the
command to use the aircraft wind is commented out and the next command
says to initialize on the the velocity average
on the first non-flagged gate it
encounters. For each ray a copy is made in a field called VG, the A/C
motion is removed from the velocities, this field is duplicated in VU and
then the actual Bargen-Brown unfolding algorithm is applied.
CURRENT COMMANDS WIDGET
The "^" in the command buffer indicates the location of the cursor. See Editing Text In Widgets.
EDIT COMMAND BUFFER WIDGET
Currently the only way we can detect a change in this widget is if there has been a selection from either the radar lists or the sweep lists. It is possible to clear out the list of radar names and regenerated the list from the radar names list. After a pass through the data this information reverts back to referencing the current sweep in the frame where you popped up the MAIN EDIT WIDGET. The user can pull back the last state of the EDIT SOURCE INFORMATION WIDGET by clicking in USE LAST SWEEP SET.
EDIT SOURCE INFORMATION WIDGET

If the user does not specify "new_version" the modified data will be in a file with the same name as the source file. When data are modified they are first written to a temporary file and on successful completion of a particular source file, the temporary file is renamed back to the source file name.
If "new version" is selected another file is created with a different version number. The verson number of a file is multiplexed with the milliseconds in the fourth field of the file name. Thus if the fourth field contains the number 2345, this is version 2 of the file and the milliseconds are 345.
The BOUNDARY WIDGET allows the user to create and manipulate boundaries. When this widget is popped up you are automatically in the boundary mode and clicking in the data portion of a frame causes the point to be entered as a boundary point. The field values widgets are not updated in this mode and centering on the last click is also inactive. Dismiss the BOUNDARY WIDGET if you wish to exercise either of these options. To pop up the BOUNDARY WIDGET after dismissing it just click the boundary widget button of the MAIN EDIT WIDGET.
If there is a current set of boundaries, they will be used by the editing commands. The command "unconditional-delete" only works if a set of complete boundaries are present. A complete boundary has at least three points.
A boundary is active and will be used by the editing commands if you have drawn a boundary and not cleared it or if you have read in a boundary by clicking on an entry in the list of boundaries in the BOUNDARY FILE INFORMATION WIDGET. If you wish to disable the boundary for certain number of commands insert the "dont-use-boundary" command into the current commands list. "use-boundary" turns the boundary back on for subsequent commands. Some commands such as "duplicate" and "establish-and-reset" ignore the boundary altogether.
After each pass through the data the current boundary set is saved on a circular queue if it is different from the last pass and the current set is cleared and contains no active boundaries. If this behavior is undesirable, then an environment variable can be set to circumvent this behavior.
setenv SOLO_DONT_CLEAR_BOUNDARIES ""
The last boundary set may be called back by clicking on the prev BND set button. The queue currently holds the last 7 unique boundaries.
Boundaries for aircraft data and RHI data are relative to the radar whereas boundaries for ground based radars have earth relative coordinates and are drawn in their earth relative locations for each radar displayed.
Clicking on new BND causes the boundary logic to cycle throught the current set of boundaries. If the user has completed one boundary and wishes to draw another, clicking new_BND will facilitate the drawing of the next boundary. If new_BND is clicked again without drawing any points in the new boundary then the boundary logic will cycle back to the first boundary which can then be modified. If there are more boundaries in the set, clicking again will move the emphasis to the next boundary, etc. It is therefore possible to cycle through all the boundaries any number of times and make modifications to each boundary. Clicking on save boundary causes the current set of boundaries to be saved to a file. This will also cause the directory, file_name and comment areas int the BOUNDARY FILE INFORMATION WIDGET to update and reference the file just created. The file name in this case will have the form:
bnd.950619193022.CP3-RP7.6714.no_commentThe file is stamped with a "bnd" prefix to indicate boundary information, the time GMT when the file was created, the radar, your user information code, and finally a comment. Users can change the directory where the file is to be written and the comment that is attached to the file name.
Retrieving boundary sets happens when the user clicks in the list_boundary_files button of the BOUNDARY FILE INFORMATION WIDGET and clicks in the left half of a boundary file name.
Clicking on boundary file info pops up the BOUNDARY FILE INFORMATION WIDGET which permits the user the change the directory for saving or retrieving boundarys, change the comment attached to the next boundary file name, or pop up a list of boundary file names and select one of them to be the current set of boundaries.
BOUNDARY FILE INFORMATION WIDGET

Clicking on redraw boundary the first time
causes all the boundaries in the set to be redrawn. Clicking again
causes only the current boundary to be redrawn. Clicking again causes
all the boundaries to be redrawn, etc.
Clicking on the list points button causes a list of the (x,y) locations of the current boundary points to be displayed. Clicking again will cause the list to pop down.
Clicking on the delete last point button causes the last point to be removed from the current boundary. Typing "d" from the keyboard will also have the same effect.
Clicking on the prev BND set button causes the boundary set from the last pass through the data to become the current boundary set.
Clicking on the clear boundary button causes the current boundary to be cleared. Clicking again will cause all boundaries in the current boundary set to be cleared.
"dd_write error" usually means a the user's disk file system is full or they don't have write permission for the directory into which you are trying to write. The same is true for ddcat_write errors.