Appendix B  


A Makefile is used to control the compilation of a program. It defines the location of source libraries and include files, compilation flags, and the source files required for each particular program. Below is the Makefile for plotgraph. NOTE: Makefile's are non-standard between UNIX platforms so this file may need some modification.

Makefile:

A Makefile is used to control the compilation of a program. It defines the location of source libraries and include files, compilation flags, and the source files required for each particular program. Below is an example Makefile. Makefile's for each UNCERT program may be found in there respective src directories. NOTE: Makefile's are non-standard between UNIX platforms so this file may need some modification.

INC=../../inc/
WTLIBS   = -lXm -lXt -lX11 -lXext ../../lib/libXs.a -lc -lm

CCOPTS= -g -c -I$(INC)
FCOPTS= -g -c -qextname
LDOPTS= -g -qextname -o

CC    = cc
F77   = xlf
CCF77 = xlf

OBJS  = axis.o files.o fonts.o graph_tools.o log.o menu.o messages.o mouse3d.o \
	 normal.o parse.o pref.o print.o rotated.o uncertmisc.o widget_tools.o \
	 xcolors.o zoom.o

LOBJS = dgeco.o regres.o sort.o

plotgraph: graphmenu.o graphio.o graphplot.o $(LOBJS) $(OBJS)
	$(CCF77) $(LDOPTS) plotgraph graphmenu.o graphio.o graphplot.o \
	$(LOBJS) $(OBJS) $(WTLIBS)

.c.o:
	$(CC) $(CCOPTS) $*.c

.f.o:
	$(F77) $(FCOPTS) $*.f

This Makefile is for an IBM RS6000 running AIX (IBM's version of UNIX). Other platforms may need to include additional libraries, libraries with slightly different names, or a PATH to the libraries of interest. These changes should be made to the WTLIB variable. CC is used to define the ANSI C compile. This variable will usually be set to cc or gcc. F77 is used to define the name of the FORTRAN compiler; this is often f77. If you don't have a FORTRAN compiler, there is a program called f2c which converts FORTRAN source code to ANSI C code (See Chapter 2, comments are made there for retrieving this software). If f2c is used, several changes need to be made, the effected lines are shown below:

CCOPTS= -DF2C -g -c -I$(INC)
FCOPTS= -g -c 
LDOPTS= -DF2C -g -o

F77   = f2c
CCF77 = cc

.f.o:
	$(F77) $(FCOPTS) $*.f
	$(CC) $(CCOPTS) $*.c
	\rm $*.c

Source Code:

Module Specific Files:

arraymenu.c			array main and menu control.
arraystat.c			array control for simulation statistics.

blockmenu.c			block main and menu control
blockio.c			block I/O
blockplot.c			block screen plot and printer control

calc.c				calc main and menu control

contourmenu.c			contour main and menu control
contourio.c			contour I/O
contourplot.c			contour screen plot and printer control
blanking.c	blanking.h	blanks areas on contour map
gradient.c	gradient.h	calcualtes the cell gradients for contour
gmt_contour.c	gmt.h		contouring algorithm (Wessel and Smith,
			    	1991).
gmt_extra.c			spline algorithms, etc. (Wessel and Smith,
			    	1991).
plane.c		plane.h		enable mapping on X-Y, X-Z, and Y-Z planes.
post.c		post.h		posts labels on contour map
profile.c	profile.h	creates profile lines on contour map.

editor.c			editor main and menu control.

gridmenu.c	grid.h		grid main and menu control    .
gridcalc.c			Controls calculation algorithm selection.
gridio.c			grid I/O.
invdist_menu.c			inverse-distance module.
kt3d.c		kt3d.h		GSLIB kriging utility module
ktb3d.c		kt3d.h		GSLIB kriging solver module
ktb3dm.c	kt3d.h		GSLIB kriging main module
ord_menu.o			ordinary kriging module.
trend_menu.c			trend-surface analysis module.

histomenu.c			histo main and menu control
histoio.c				histo I/O
histoplot.c			histo screen plot and printer control

lpr_ps.c				lpr_ps main control.

mainmenu.c			mainmenu main and menu control.

modmenu.c	modflow.h	modmenu main and menu control.
basic.c				basic input package module.
block.c				block centered flow input package module.
drain.c				drain input package module.
evt.c				evapotranspiration input package module.
ghb.c				general head boundary input package module.
oc.c				output control input package module.
pcg.c				PCG2 input package module.
recharge.c			recharge input package module.
river.c				river input package module.
sip.c				SIP input package module.
ssor.c				SSOR input package module.
well.c				well input package module.
modplot.c			array editor input package module.
modutil.c			utility input package module.
modview.c			visualization output package module.

mt3dmenu.c	mt3d.h		mt3dmenu main and menu control.
basic.c				basic input package module.
advection.c			block centered flow input package module.
dispersion.c			drain input package module.
mixing.c				evapotranspiration input package module.
reaction.c			general head boundary input package module.
modplot.c			array editor input package module.
modutil.c			utility input package module.
modview.c			visualization output package module.

graphmenu.c			plotgraph main and menu control
graphio.c			plotgraph I/O
graphplot.c			plotgraph screen plot and printer control
regres.o				calculates least-squares regression

ps_merge.c			ps_merge main control.

sisimmenu.c			sisim main and menu control.
sisimstat.c			sisim statistics.
sisimview.c			sisim output/display.

smain22.c	shead.h		sisim3d main.
ssim22.c			sisim3d simulation calculations.
simio22.c			sisim3d I/O

surfacemenu.c			surface main and menu control
surfaceio.c			surface I/O
surfaceplot.c			surface screen plot and printer control
gradient.c	gradient.h	calcualtes the cell gradients for surface
plane.c		plane.h		enable mapping on X-Y, X-Z, and Y-Z planes.

variomenu.c	vario.h		vario main and menu control and I/O
variocalc.c			vario calculator
variocalc3d.c			vario 3D control
varioio.c			vario I/O
varioplot.c			vario screen plot and printer control
calc_grid_vario.c		vario 3d calculator.
jack.c		jack.h		vario jackknifing calculator.
params.c	params.h	displays vario parameters on graph.
softcalc.c			vario soft data calculator.
var_statistic.c			vario calculator.

variofitmenu.c	vario.h		variofit main and menu control and I/O
variofitplot.c			variofit screen plot and printer control
fitmenu.c			variofit automatic solver
gam_series.c	gam_series.h	variofit series display tools.
jackfit.c	jackfit.h	variofit jackknife details
latin.c		latin.h		variofit latin-hypercube solver
params.c	params.h	displays variofit parameters on graph.

Shared Files:

		uncert.h	UNCERT data structures, #define's.
axis.c		axis.h		Axes drawing subroutines.
files.c		files.h		Files handling subroutines.
fonts.c		fonts.h		Font handing subroutines.
graph_tools.c	graph_tools.h	Graph menu option subroutines.
inet.c		inet.h		Internet interprocess communications.
				    	(based on Curry, 1988)
log.c		log.h		Logs data in log/status windows.
messages.c	messages.h	Messages subroutines.
mouse3d.c	mouse3d.h	Displays position and value of map location
net.c				Network communication routines.
normal.c	normal.h	Normal Gaussian distribution data.
parse.c		parse.h		Command line parsing subroutines.
pref.c		pref.h		Preference file parsing subroutines.
print.c		print.h		Print specification subroutines.
rotated.c 	rotated.h	Subroutines for rotating text 
			    		(Richardson, 1993).
socket.c	socket.h	Handles UNIX socket communication
		    			(based on Curry, 1988)
sort.c				Data sorting subroutines.
statistic.c			Statistical subroutines.
uncertmisc.c	uncertmisc.h	Miscelanious UNCERT subroutines.
widget_tools.c	widget_tools.h	Widget creation subroutines.
xcolors.c	xcolors.h	X-windows color definition subroutines.
zoom.c		zoom.h		Used to zoom into graph using mouse.

libXs.a		libXs.h		Young's (1991) X-windows/Motif subroutines.
libhtmlw.a	HTML.h & HTMLP.h NCSA's (1993) Hyper-Text 
					Meta-Language.

dgeco.f				gaussian substitution (Molar, 1978).
dgefa.f				gaussian substitution (Molar, 1978).
dgesl.f				back substitution (Molar, 1978).

Included Example Data Files:

block:

Standard data files:

map.bck : sample map
hanford_tm_ind.bck : indicator map, Hanford Reservation, Washington

well.bck well.bblk

wtstr.striped.dat : 3D spatial water-table and stream data

contour:

Standard data files:

conc3.srf
conc.blk
conc.lbl
conc3.prf
head.srf
conc.blk
conc.lbl
mirror.srf
dig.grd
building.blk
label.lbl

grid:

Standard data files:

conc3.dat : time-concentration data from X-Z CFEST model.
water.dat : digitized contour elevation data.

histo:

Standard data files:

data1.dat : Au assay values - log-normal distribution.

Variable length data files:

finfac.dat : sonic velocity data related to material type.

modmain:

Example MODFLOW calibration problem

f93.prj : calibration project file.
f93.bas : basic package.
f93.bcf : block centered flow package.
f93.csh : execution script.
f93.oc : output control package.
f93.rch : recharge package.
f93.riv : river package.
f93.sip : strongly implicit solver package.

f93cor.prj : corrected calibration project file.
f93cor.bcf : corrected basic package.
f93cor.csh : corrected executoin script.
f93cor.rch : corrected recharge package.
f93cor.riv : corrected river package.

f93.blk : blanking file for map area; used in contour.

contour.prf : preference file for contour to match this example.

mt3dmain:

js.prj : simple model project file.
js.bas : basic package.
js.bcf : block centered flow package.
js.csh : execution script.
js.oc : output control package.
js.pcg : PCG2 package.
js.well : well package.

jsmt.prj : simple model project file.
jsmt.adv : advection package.
jsmt.btn : basic package.
jsmt.csh : execution script.
jsmt.dsp : dispersion package.
jsmt.ssm : sink & source mixing package.

plotgraph:

Two-column X-Y data file:

test.dat : simple one line X-Y graph

Multi-column X-Y data file:

data1.dat : four column data set of gold (Au) assay values.

MULTIPLE LINE formatted data files:

clark.dat : three line graph showing variance, experimental semivariogram, and nested model semivariogram
log.dat : three line graph showing variance, experimental semivariogram, and model semivariogram

X AND MANY Y formatted data files:

temple.dat : multi-line graph of water chemistry constituents
newline.dat : multi-line graph of water chemistry constituents

sisim:

Standard data files:

three.prj : Example isim project file.
three.dat : sisim formatted X, Y, Z, hard indicator data file.
three.geom : sisim formatted geometry data file.
three.var : sisim formatted semivariogram data file.
three.set : sisim formatted configuration data file.
three.unc : sisim formatted uncertainty data file.
example.aniso.4.lhc : Latin-Hypercube semivariogram data file.
computer.net : Example list of networkable computers.

surface:

Input data files:

map.srf
dig.grd

vario:

Scattered point data files:

water.dat
well.dat

Gridded data files:

geo.iso.1.sim - geo.iso.10.sim

variofit:

Input data files:

clark.gam
well.gam
well.jack.gam

Gridded input data files:

geo.iso.1.gam - geo.iso.10.gam

Output data files:

clark.out
well.aniso.2.lhc

[TOP]
Table of Contents
Previous Appendix
Beginning of this Appendix
Next Appendix