The application mmArchive provides automated vector field and data table storage services. Although mmDisp and mmGraph are able to save such data under the direction of the user, there are situations where it is more convenient to write data to disk without interactive control.
mmArchive does not present a user interface window of its own, but like the Oxs solvers relies on mmLaunch to provide an interface on its behalf. Because mmArchive does not require a window, it is possible on Unix systems to bring down the X (window) server and still keep mmArchive running in the background.
mmArchive may be started either by selecting the mmArchive button on mmLaunch by Oxsii/Boxsi via a Destination command in a MIF 2 file, or from the command line via
tclsh oommf.tcl mmArchive [standard options]
When the mmArchive button of mmLaunch is invoked, mmArchive is launched with the -tk 0 option. This allows mmArchive to continue running if the X window server is killed. The -tk 1 option is useful only for enabling the -console option for debugging.
As noted above, mmArchive depends upon mmLaunch to provide an interface. The entry for an instance of mmArchive in the Threads column of any running copy of mmLaunch has a checkbutton next to it. This button toggles the presence of a user interface window through which the user may control that instance of mmArchive.
mmArchive accepts vector field and data table style input from client applications (typically running solvers) on its network (socket) interface.
The client applications that send data to mmArchive control the flow of data. mmArchive copies the data it receives into files specified by the client. There is no interactive control to select the names of these output files. A simple status line shows the most recent vector file save, or data table file open/close event.
For data table output, if the output file already exists then the new data is appended to the end of the file. The data records for each session are sandwiched between ``Table Start'' and ``Table End'' records. See the ODT format documentation for explanation of the data table file structure. It is the responsibility of the user to insure that multiple data streams are not directed to the same data table file at the same time.
For vector field output, if the output file already exists then the old data is deleted and replaced with the current data. See the OVF documentation for information about the vector field output format.
The display area inside the mmArchive window displays a log of mmArchive activity. The menu selection File|Close interface closes the mmArchive window without terminating mmArchive. Use the File|Exit mmArchive option or the window close button to terminate mmArchive.
If the Options|Wrap lines option is selected, then each log entry is line wrapped. Otherwise, each entry is on one line, and a horizontal slider is provided at the bottom of the display window to scroll through line. The Options|Clear buffer command clears the log display area. This clears the buffer in that mmArchive display window only. If a new display window is opened for the same mmArchive instance, the new display will show the entire log backing store. The last two items on the Options menu, Enlarge font and Reduce font, adjust the size of the font used in the log display area.
mmArchive appends data table output to the file specified by the source client application (e.g., a running solver). If, at the same time, more than one source specifies the same file, or if the the same source sends data table output to more than one instance of mmArchive, then concurrent writes to the same file may corrupt the data in that file. It is the responsibility of the user to ensure this does not happen; there is at present no file locking mechanism in OOMMF to protect against this situation.