XMAG MANUAL
Version 97.0430
Table of Contents
NAME
Xmag - interactive Magnetic Modeling software
VERSION
These notes pertain to version 97.0430
SYNOPSIS
Xmag ( data_files ) [-S] [-h]
DESCRIPTION
Xmag is a program used to interactively model magnetic anomalies
with 2.5 dimensional subsurface bodies. Xmag is written in C and
uses X windows
Xmag was developed on a SUN SPARCstation LX running Solaris 2.3,
and compatibility with other environments should not be assumed. It is
a fairly straightforward program, however, so modifications should not
be extensive. Xmag also requires a color monitor to work
properly.
ARGUMENTS
- data_files
-
specifies the data files to be read in for modeling.
OPTIONS
-S | Sort the data into ascending x-order
|
-h | Prints out the usage summary.
|
SOME BASIC USAGE NOTES
Getting Started
To start Xmag, type "Xmag" and return. A window will
appear after a short time, composed of three main elements: a section
at the top with several buttons that generate windows for user input, a
section on the left side used to set options for the various files that
are read in, and a "canvas" on which pictures are drawn. The data
will be plotted in the upper half of the canvas, and the model in the
lower half.
Generally, you will want to use Xmag to model magnetic data, or
simply to investigate the types of anomalies produced by different
kinds of bodies. A typical session will begin by reading in some data
and/or a trial model, testing out various hypotheses, and then saving a
result to an new file to be analyzed later or to a PostScript file for
printing.
Reading in Data and Models
Data and model files are read in by selecting the "READ" button in
the upper left corner and filing in the appropriate information in the
window that appears. Fill in the name of the file and the directory (if
different from the one where you started the program) and click on
either "Read Model" or "Read Data" depending on
which type of file it is (the format of files is discussed below ). You
can also scale and offset the numbers in the file by filling in the x
or y scale and offset lines. Note that x is the distance axis and y is
either the magnetic reading (for data) for depth (for model). The unit
of distance is kilometers, and milligals for magnetic. Scaling can be
used if different units are used in the data files.
Drawing on the Screen
A screen plot of the model and data can be made by selecting the
"DRAW" button. The data files will be shown on the upper half
of the canvas, and the model files on the lower half. Prior to drawing,
an input window will appear that allows you to modify the appearance of
the plot. The program tries to make a reasonable decision about how the
plot should look, but often it is useful to adjust these manually.
Calculating Anomalies
Once a model has been input, for example by a file being read in, an
anomaly can be calculated by selecting the "CALC ANOM"
button. The magnetic field will be calculated at all points in the data
files. If no data files have been entered, you will be shown a default
station spacing which you can change by editing. The anomaly will
appear in the data (upper part) of the canvas.
Saving Your Work
At any time you can save models and anomalies to files for future
reference using the "WRITE MODEL" and "WRITE DATA"
buttons. These write out the current model or data arrays to a file
that can be read in by Xmag later.
You can also make a hard copy of what you see on the screen by
selecting "PS-DUMP" which will generate a PostScript file
that you can later send to the printer. If you want to modify the
printed file options select "PS-PREF" prior to dumping.
Quitting
You can quit Xmag at any time by selecting the "QUIT"
button.
More Advanced Stuff You Can Do
In addition to the basic tasks outlined above, Xmag allows you
to modify the model extensively. You can change the shape of bodies,
enter new bodies, move bodies, change the susceptibility or halfwidth
of any body, and delete bodies. You can modify the susceptibility or
shape automatically to best-fit the data using a least-squares
procedure. You can also continue the data upwards (or downwards, though
this is not advised) any distance.
There are also many options for changing the appearance of the plot,
both on the screen and on paper. You can change fonts, add labels,
shade bodies or fill them with patterns. Data can be plotted with
different symbols and connected with different types of lines. You can
even use color shading.
All of these options are defined systematically and in detail below.
First, however, we need to discuss how data files and model files are
treated.
TYPES OF FILES
Xmag manages two types of files: data sets and model
descriptions.
Data Files
Data files consist of ASCII files with up to two columns of
information, with each row corresponding to a given point. One column
is a distance (X) and the other is a magnetic value (Y). The default is
that the first column is X and the second Y, but this can be reversed
if the "Reverse Y and X Columns" button is selected when the
file is read in.
Calculated and Continued Anomalies are also stored as data files in the
program, but are distinguished from data files (as "anomaly
files") for purposes of optimizing susceptibility or offsetting
files.
Currently, the program will accept up to 50 data files with a total of
20000 points each (probably much more that you really need!).
The "Current File"
When you read in a data set or calculate an anomaly, the name of the
data file will appear in the top panel along with it's position in the
stack of files (e.g., 2/3 means the second of three files in memory).
The file appearing in the panel is called the "current data
set" and will have the characteristics shown in both the top and
left panels. File plotting characteristics can be changed by altering
the selections while the desired file is current.
A file automatically becomes current when it is created or read in. You
can alter which file is current by using the "DATA++" or
"DATA--" buttons to move forward or backward in the stack.
Selected Files
Selected files are those files which are plotted or used in various
calculations. Those which are not selected remain in memory but are
"dormant". Selecting subsets of files allows them to be more
easily viewed or plotted and also allows deletion of files to be more
rapid.
A file automatically is selected when it is created or read in. You can
delselect or reselect a file by using the "SEL DAT"
option.
Model Files
Models are ASCII files containing points that define a set of bodies. A
body is defined by a susceptibility, a half width, and, optionally, a
dip and strike of an induced field. The outline of the body is
described by a sequential set of points. The format of a model file is
as follows:
The first line is in integer indicating the number of bodies are in the
model.
The next line contains the number of points that describe the first
body, along with it's susceptibility, halfwidth (in km), and,
optionally, the stike and dip (in degrees) of the induced field. Note
that if the halfwidth is positive, the strike and dip values are not
used, and the induced field is presumed to line up with the main field
(which can be adjusted interactivley). If the halfwidth is negative,
the induced field is taken to be in the direction indicated by the
strike and dip, and with a strength determined by the suscptibility
times the main field.
This line is followed by (X,Y) ordered pairs giving the location
(Distance, Depth) of the points of the polygon that defines the body.
Note that the last point should equal the first point! Also, note that
the depth cannot be negative. The program will prevent this from
occuring. These lines are repeated for the total number of bodies in
the model.
Note on directions: A consistent way to view directions in this program
is to think of the right side of the screen as rotational north and the
left side as rotational south. Dips and Declination are the angle with
respect to the horizontal, which positive being down into the ground.
Strike and inclination are clockwise positive azimuths of the fields
with respect to rotational north.
As an example, the following lines could be read in as a model file for
two rectangular prisms:
2
5 0.1 -10000. 20. 30.
0. 0.
0. 1.
1. 1.
1. 0.
0. 0.
5 0.2 50. 0. 0.
-1. 1.
-1. 2.
2. 2.
2. 1.
-1. 1.
There are 2 bodies in this model. The first has 5 points, a
susceptibility of 0.1 and a halfwidth of 10000. km. Because this value
is negative, the dip and strike of the induced field is taken to be 20
and 30 degrees, respectively. The second body has 5 points, a
susceptibility of 0.2 and a halfwidth of 50 km. Because the half width
is positive, the values for dip and strike are ignored.
The program will allow up to 50 models, each of which can have up to 20
bodies. The total number of points in the model cannot exceed 20000.
Bodies joined together as models have the following characteristics:
- They are read in, selected, and deleted together.
- Their susceptibilities are optimized together.
Bodies within a model may be modified in many ways, as discussed below.
THE BUTTONS ON THE TOP PANEL
In the upper window there are several buttons which, when selected,
will pop up a window for user input.
- READ
- Brings up a window for inputing the names of data
and model files to be read in. The file name and directory are typed in
the first two input rows, and the file type and column order are
selected in the buttons above. The lower four lines allow the user to
offset and scale the x and y values in the dataset. Note that this
scaling is irreversible so that the dataset needs to be read in again
if a mistake is made.
When the information is correct select "OK", or, if you want to
quit, select "CANCEL". Up to 50 data sets and 50 models can be
stored. Note that once a file is read in it becomes the
"Current" data set or model.
After a model or data file is read in, the extremal values of Y (depth
or gammas) and X (distance) are shown in the top panel.
- DRAW
- Draws a picture on the screen, using the selected
models and data sets. The program will determine the maximum and
minimum values for the plot based on the files used, but these can be
changed by typing in new ones. There are several options for setting
ticks (the program tries to make an intelligent choice, but this can
always be overruled). The Header and X label will be shown at the
bottom of the screen, but the Y labels will not (thanks to some problem
with X Windows handling vertical text).
- DEL DAT
- Delete some set of data sets, either only the
current data set of all of the selected data sets.
- SEL DAT
- Select which datasets to plot on the screen (or
to delete).
- DATA++
-
Makes the next data set in the list the current data set.
- DATA--
- Makes
the previous data set the current data set.
- DEL MOD
- Delete some set of models, either only the
current model of all of the selected models.
- SEL MOD
- Select which models to plot on the screen (or to
delete).
- MOD++
-
Makes the next model in the list the current model.
- MOD--
- Makes
the previous model the current model.
- CALC ANOM
- Calculate the magnetic anomaly produced by the
selected models. After calculation the anomaly is plotted on the
screen. If a data file has been read in, the anomaly is calculated at
all points at which data exists. The resulting file type is
"anomaly". If no data file has been read in, the program computes
an anomaly at a regular spacing which the user can modify in a pop-up
window prior to the calculation. The resulting file is treated as
"data".
- OFFSET
- Add an offset to the data files so that the means
of the data and anomaly files are equal. All selected data sets are
used in the calculation.
- RESET
- Undoes the OFFSET command, and restores the data
to its original values.
- OPT AMP
- Attempts to optimize the susceptibility in the
selected models to minimize the difference between observed and
calculated magnetic profiles. Susceptibilities in all bodies in the
selected models are treated as variables. Currently, a variation limit
of +-4 is hardwired into the code.
- PS-DUMP
- Creates a PostScript file that can be sent to
the printer
- PS-PREF
- Select various options for the PostScript file
such as the file name and orientation of plot.
- WRITE DATA
- Output current data file to another ASCII
file.
- WRITE MODEL
- Output current model file to another ASCII
file.
- NEW MIN/MAX
-
Resets the minimum and maximum values used in plotting by determining
the miniums and maximum values in the selected data sets. This is a
useful option if several model modifications have been made.
- EDIT MAIN FIELD
- Change the amplitude, inclination, and
declination of the main field.
- CONTINUATION
- Calulates what the data in the CURRENT data
set would look like if viewed at a different elevation by using up/down
continuation. When selected, you are asked for an data set name to
reference the anomaly, and a continuation distance. This distance is
the elevation of the new data set with respect to the current data set,
in the distance units of the current data set. For example, suppose the
data was collected at one kilometer elevation, and you would like to
see what it would look like at 3 kilometers elevation. To do this,
enter "2" (i.e., 3-1) into the blank after "Continuation
Distance:". Downward continuation can be tried but is not recommended
because of numerical problems. This is due to the exponential nature of
the continuation filter, the arguement to which depends not only on the
distance of continuation but on the spacing of the dataset! Upward
continuation is always stable, however.
- READ PAL
- Read in a pallette to be used in relating
colors to shades.
- QUIT
- Stop the program.
PLOT MODE OPTIONS
In the window on the left side are a number of options that can be set
for the overall plot. These are:
- Gridding
-
Draws a grid on major or major and minor ticks or no grid at all.
Default is no grid.
- x positive right/y postive up
-
Use these to reverse the directions of the plot.
- Show labels
-
if you have entered labels in the plot, you can select this option to
remove them temporarily.
- Equal X-Y Scaling/Full Screen
-
this sets the scaling for the plot. If Full Screen, the entire screen
is used, and for Equal X-Y Scaling the units in x and y are scaled
equally from the values in the model files.
- Font (Several Choices) This is the font to use in the
PostScript plot. No effect on the screen.
- Annotation Fonsize
-
This is the size of the font for axes to use in the PostScript plot.
No effect on the screen.
- # decimals in x/y annotation
-
This is the number of decimal places in the axis labels. This will
also change on the screen.
- Header fontsize
-
This is the size of the font for the header to use in the PostScript
plot. No effect on the screen.
CURRENT MODEL OPTIONS
There are several options that can be set for each model file that is
read in. Note that the options that appear in this area are for the
CURRENT MODEL FILE. To reset the options for any other file you need to
use the MOD++ and MOD-- buttons to set the file you wish to be the
current file and then change the options for it.
- Symbol type
-
this is the type of symbol used in plotting. In addition to 5 shapes
(cross, circle, square, diamond, triangle), you can choose "no
symbol" to not have any point or "item number" to plot
the point number of the item in the file. "Item number" is a
useful option to determine if the order of the points is clockwise or
counterclockwise, since this will effect the sign of the anomaly
calculated. The default is "no symbol".
- Symbol Size
-
just like it sounds. Affects size of symbol both on screen and paper
plot. Default is medium (0.05) size.
- Penwidth
-
the width of the line to draw. Default is thinest line (= 1).
- Solid/Dotted/Dot-Dash/Dashed line
-
The type of line to use. Default is Solid line.
- Shade
-
the shade used to fill in the bodies. Default is No Shading.
- Pattern
-
Bodies in a model may optionally be filled with one of several
patterns, but only if No Shading is used. Default is No Pattern.
CURRENT DATA OPTIONS
There are several options that can be set for each data file that is
read in. Note that the options that appear in this area are for the
CURRENT DATA FILE. To reset the options for any other file you need to
use the DAT++ and DAT-- buttons to set the file you wish to be the
current file and then change the options for it.
- Symbol type
-
this is the type of symbol used in plotting. In addition to 5 shapes
(cross, circle, square, diamond, triangle), you can choose "no
symbol" to not have any point or "item number" to plot
the point number of the item in the file. The default is "cross".
Note that as anomalies are calculated and added to the data file list,
the symbol and line style used automatically cycles for ease in
identification.
- Plotting ID's
-
This is not used at present, so ignore it.
- Connect Points
-
Select this if you want to draw lines between points in the order they
were read in. There is an option "Connect every second
point" which is useful for drawing lines. The default is
"Connect points".
- Symbol Size
-
just like it sounds. Affects size of symbol both on screen and paper
plot. Default is medium (0.05) size.
- Penwidth
-
the width of the line to draw. Default is thinest line (= 1).
- Shade
-
the shade used to fill in the symbols. Default is No Shading.
- Solid/Dotted/Dot-Dash/Dashed line
-
The type of line to use. Default is Solid line.
- File Type
-
Data files are considered to be either "Data" or
"Anomalies" for purposes of calculating offsets, optimizing,
or calculating anomalies. By default, files that are read in are
considered "Data" and those that are calculated are
"Anomalies", with the exception of an anomaly calculated when no
data file has been read in, in which case it is assigned as
"Data". The File Type switch is provided to allow the user to
override these defaults.
CANVAS ACTIVITY
There are a variety of functions that can be performed on the Canvas.
These are selected using the switch in the middle of the panel on the
left side of the window.
Note that there are "Canvas Activity Help Windows" that can
be switched on and off using the button on the top panel. These are to
help the user remember how to use the different activities.
Note that there are "Canvas Activity Help Windows" that can
be switched on and off. These are to help the user remember how to use
the different activities.
- Locate points on the screen
-
This allows numbers to appear on the screen showing the location of
the cursor in the local coordinate frame. Pressing and holding down
either right or left mouse button will cause numbers to appear on the
screen below a cursor. Letting go of the button will leave the number
stationary on the screen. Hitting the middle key will erase the number
from the screen.
- Zoom
- This allows the user to zoom in on a section of
the MODEL. Move cursor on screen to any corner of the desired zoom
area, and then press the left mouse button. If you decide not to use
this point and want to start over, press the middle mouse button.
Otherwise, hold down the left mouse button and a box will appear. When
the box covers the desired area, click the right mouse button and the
program will zoom to that area.
- Zoom-out
-
This will "un-zoom" to the previous zoom level. Just put the
cursor on the canvas and press the left mouse button.
- Enter Body
-
A body can be added by drawing a closed polygon on the screen. This is
done as follows:
- Select the first point by clicking the left mouse button.
- Enter subsequent points by dragging with the left mouse button depressed and then clicking the right mouse button.
- Finsh the body by returning to the starting point.
Bodies are considered subsets of models, so upon finishing the body you will be asked if you want to add another body to the model or finish the model. You can add up to 20 bodies to the model.
- Delete Body
-
You can delete a body by moving the cursor to any of the points of the
body and clicking the left mouse button. When the body is deleted, it
will disappear from the screen.
- Move a Body
-
You can move a body by moving the cursor to any of the points of the
body and clicking the left mouse button, and then dragging it to a new
location with the left mouse button depressed. When you have reached
the new position, click the right mouse button to complete the move.
The old body will disappear when this action is completed.
- Add a Point
-
You can add a point to an existing body by first moving the cursor to
any of the points of the body and clicking the left mouse button. A
new point will be added between this selected point and the next point
in the sequence. Drag the left mouse button to where you want the new
point located. When you have reached the desired position, click the
right mouse button to enter the point. The old boundaries will
disappear when this action is completed.
- Delete a Point
-
You can delete a point from an existing body by moving the cursor to
the desired point of the body and clicking the left mouse button. The
body will be redrawn when this action is completed. Note that at least
three points are required to define a body, so deleting a point from a
triangle will delete the body.
- Move a Point
-
You can move a point in an existing body by moving the cursor to the
desired point of the body and clicking the left mouse button, and then
dragging the point to a new postion with the left mouse button
depressed. When you have reached the desired position, click the right
mouse button to complete the move.
- Auto Move Point
-
If you are trying to explain an observed magnetic anomaly, you can get
the program to try adjusting the postion of a point automatically.
Click the left mouse button over the point in question, and the
program will determine a new position for the point which will
minimize the misfit in a least squares sense.
- Reverse a Body
-
Anomalies are calculated by evaluating edges of the polygon in
sequence. You can reverse the sequence by moving the cursor to the
desired point of the body and clicking the left mouse button. If you
have drawn the body with the "item number" option, you will
see the order of the numbers reverse.
- Edit a Body
-
You can edit (view and/or change) the susceptibility and halfwidth of
any body by moving the cursor to the desired point of the body and
clicking the left mouse button. A pop-up window will appear showing
the current values. Simply type in new numbers to change these.
- Enter a label
-
Labels may be entered on the plot by moving the cursor to the place
where the label is desired and pushing the left mouse button. This
point will be the beginning position of the label. If you want to
start over, push the middle mouse button. Otherwise, depress the left
mouse button and a rubber line will appear, which you can use to
specify the angle of the label. When you are satisfied with the angle,
click the right mouse button. At this point a window will appear in
which you enter the label. You can also change the value of the angle
and the font size if you wish. Note that the label will be written on
the screen but not at the proper angle. Don't worry - it will be ok on
the plot.
- Delete a label
-
Labels can be deleted by moving the cursor to the endpoint of the
label and clicking the left mouse button.
SEE ALSO
Xgrav
Xprofile
AUTHOR
Steve Roecker
roecker@harold.geo.rpi.edu
ACKNOWLEDGMENTS
Thanks to the many students in the Applied Geophysics classes who have
pointed out bugs and improvements over the years.
BUG REPORTS
Send bug reports to: roecker@harold.geo.rpi.edu
Go to Table of Contents