Laserfiche WebLink
<br />001163 <br /> <br />1.0 Description at the Programmer Level <br /> <br />This section is intended to explain some of the low-level or internal actions that occur <br />during the operation of the interface. The first section is grouped by the four major mod- <br />ules of the interface. Please refer to Volume I -- User Documentation for a description of <br />each module's functionality. <br /> <br />1.1 FILE module <br /> <br />Since the FILE module controls the file management, most of the underlying file opera- <br />tions n copying files, removing files, etc n are done in this module. These operations are <br />accomplished by issuing UNIX commands from the 24MSI code. Specifically, the system <br />commands are passed from the inteface to the UNIX operating system via one of three <br />calls. The standard method is to use the FORTRAN "SYSTEM" call and pass the string <br />of the desired command to the SYSTEM routine. As documented in the routine <br />SHELL.C, there is all incompatability between the GKS software and the operating sys- <br />tem. Effectively, the sub-processes that are spawned by FORTRAN "SYSTEM" calls get <br />killed before they execute, so the command called from the inteface does not work. If a <br />command does not work in the interface, a notification of such a non-occurence should be <br />placed in the message box. Thus, a routine SHELL.C was used to replace the FORTRAN <br />"SYSTEM" call and works successfully for the computers at CADSWES and at the Lower <br />Colorado Region. However, this fix was not successful at the Upper Colorado Region. <br />Therefore, a third routine call is used there called "CSYS" which is a fix recommended by <br />SUN Microsystems support. This routine fixed the Upper Colorado Region's problems. <br />The system call that will be used can be controlled by the user by setting the appropriate <br />string in the "setup.file": "SYSTEM" for the FORTRAN SYSTEM routine, "SHELL" for <br />the SHELL.C routine, and CSYST" for SUN's fix.GKS routines set a timer when a new <br />process is called. <br /> <br />When the "select" option is pressed, a command is given to the computer to do a directory <br />listing, and save those filenames so that they can be selected from. This is accomplished <br />by the UNIX command "Is -1 files24mo/*.IN > listing". Thus, the files ending in .IN in the <br />fiIes24mo directory are found, and piped to the file listing. The "-f' flag modifies the list- <br />ing to include the date stamp. The routine RSCLIST is next invoked, to parse out the file- <br />name and the date stamp. Currently, there is a limitation of ten files that can be stored -- <br />this is based on the fact that there is room on the screen to legibly place only 10 strings <br />(vertically). If this limit is reached, either delete the files (if undesired) or relocate them <br />into another directory for storage. A useful extension to the current functionality would be <br />to put this listing into a scrolling table. <br /> <br />Once a file is selected, the files * .IN, * .OUT, * .POW; * .HIS, * .WES, and * LB are copied <br />. from thefiles24mo directory into the "working" directory, to files prefixed by MODEL <br />(e.g MODEL1N). Please refer to Appendix I for the "Directory Structure Flow Chart" to <br />trace the path of the files across directories. <br /> <br />When a file is saved by selecting the SA VB menu option, the contents of the virtual mem- <br />ory where all parameters for the input file are located, are written to a file in the files24mo <br /> <br />24 Monlh Study Proiect Documenlation Volume n <br /> <br />618191 <br /> <br />3 <br />