Running MORSE



Running MORSE

MORSE is run in the same way as any other program under unix/linux. Assuming an executable called morse has been compiled in relative directory ./exe/, to run MORSE type
When run, MORSE attempts to open a file called morse.drv (the "driver table") in the local directory which determines which other files are required and controls subsequent operations. No terminal input is required.

A typical terminal output for a successful (nadir-viewing) run would then be something like

R-MORSE: Running MORSE v01APR18                                                 
I-MORSE: Processing Pixel#    1 of 5954                     
I-MORSE: Processing Pixel#    2 of 5954 
R-MORSE: Successful completion

The messages R-MORSE:... are always the first and (if successful) last messages, the first message also confirming the version of the software

The messages I-MORSE: Processing ... indicate each pixel, microwindow, sweep as it is processed.

An unsuccessful run will terminate with an error message, which will usually happen before the I-MORSE: Processing ... messages start to appear.

Fatal Errors

MORSE should intercept any error condition arising from user-input and print a helpful message to the terminal and the morse.log file.

If, when running MORSE instead of the standard set of messages to the terminal beginning 'R-...' or 'I-...' you get a message beginning 'F-...' a fatal error has been detected and the program stops at that point. The same error message will have been printed as the last record in the morse.log file so you don't need to remember it (unless, of course, the error occurred while writing a different message to the log file itself).

These messages always start with F-ABCDEF:... where ABCDEF (usually 6 characters) is the subroutine module abcdef_sub.f90 where the error was detected.

Almost always fatal errors will occur while the driver table is being read or the calculations are being set up, ie before the first message I-MORSE: Processing ... gets printed to the screen.

Most errors will either be due to

F-DRVKEY: Error reading driver table: ...
Incorrectly structured driver table.
Error attempting to read the *XYZ section of driver table
F-OPNFIL: I/O failure on file. IOSTAT= 29 (or some other number than 29, depending on machine and problem).
Error finding/reading file, check morse.log for the file that it was attempting to open
If the message isn't self-evident, it is usually useful to read the file morse.log to check the most recently attempted operation, eg which section of the driver table was being read or file was being opened.

There are a further class of error messages of the form

F-ABCDEF: Logical Error
Which refer to unexpected conditions which have arisen (eg falling off the end of a DO loop) due to an internal coding error rather than any user-input. Please inform me if you encounter such an error message.