Top Banner
A GRAPHICAL KERNEL SYSTEM (GKS) VERSION OF COMPUTER PROGRAM MODPATH-PLOT FOR DISPLAYING PATH LINES GENERATED FROM THE U.S. GEOLOGICAL SURVEY THREE- DIMENSIONAL GROUND-WATER FLOW MODEL by David W. Pollock U.S. GEOLOGICAL SURVEY Open File Report 89-622 Reston, Virginia 1990
54

A GRAPHICAL KERNEL SYSTEM (GKS) VERSION OF …This report describes a new version of the particle tracking graphics program MODPATH-PLOT that uses the Graphical Kernel System (GKS)

Feb 18, 2020

Download

Documents

dariahiddleston
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: A GRAPHICAL KERNEL SYSTEM (GKS) VERSION OF …This report describes a new version of the particle tracking graphics program MODPATH-PLOT that uses the Graphical Kernel System (GKS)

A GRAPHICAL KERNEL SYSTEM (GKS) VERSION OF COMPUTER PROGRAM MODPATH-PLOT FOR DISPLAYING PATH LINES GENERATED FROM THE U.S. GEOLOGICAL SURVEY THREE- DIMENSIONAL GROUND-WATER FLOW MODEL

by David W. Pollock

U.S. GEOLOGICAL SURVEY

Open File Report 89-622

Reston, Virginia 1990

Page 2: A GRAPHICAL KERNEL SYSTEM (GKS) VERSION OF …This report describes a new version of the particle tracking graphics program MODPATH-PLOT that uses the Graphical Kernel System (GKS)

DEPARTMENT OF THE INTERIOR

MANUEL LUJAN, JR., Secretary

U. S. GEOLOGICAL SURVEY

Dallas L. Peck, Director

For additional information write to:

i>»avia w. roiiock U. S. Geological Survey 411 National Center Reston, VA 22092 (703) 648-5007

This report can be purchased from:

U. S. Geological SurveyBooks and Open-File Report SectionFederal Center, Box 25425Denver, CO 80225(303)236-7476

11

Page 3: A GRAPHICAL KERNEL SYSTEM (GKS) VERSION OF …This report describes a new version of the particle tracking graphics program MODPATH-PLOT that uses the Graphical Kernel System (GKS)

Preface

This report describes a new version of the particle tracking graphics program

MODPATH-PLOT that uses the Graphical Kernel System (GKS) graphics standard. The

user is requested to notify the originating office of any errors found in this report or in the

computer programs. Updates may occasionally be made to both the report and the computer

program. Users who wish to be added to the mailing list to receive updates, if any, may

send a request to the following address:

David W. Pollock U.S. Geological Survey Office of Ground Water

411 National CenterReston, VA 22092

The FORTRAN source code for the computer program is available at cost of

processing from:

U.S. Geological SurveyWATSTORE Program Office

437 National CenterReston, VA 22092

Telephone: (703)648-5686

111

Page 4: A GRAPHICAL KERNEL SYSTEM (GKS) VERSION OF …This report describes a new version of the particle tracking graphics program MODPATH-PLOT that uses the Graphical Kernel System (GKS)

IV

Page 5: A GRAPHICAL KERNEL SYSTEM (GKS) VERSION OF …This report describes a new version of the particle tracking graphics program MODPATH-PLOT that uses the Graphical Kernel System (GKS)

Contentspage

Abstract.............................................................................................!

Introduction.........................................................................................!

Changes to Input and Output.....................................................................2

Graphical devices.........................................................................2

Plot scaling ................................................................................4

Log file.....................................................................................4

Program Portability................................................................................5

Provision for short integers..............................................................5

Terminating graphics mode..............................................................6

Program testing...........................................................................6

Summary............................................................................................?

References..........................................................................................8

Appendix Listing of Computer Code.........................................................9

Page 6: A GRAPHICAL KERNEL SYSTEM (GKS) VERSION OF …This report describes a new version of the particle tracking graphics program MODPATH-PLOT that uses the Graphical Kernel System (GKS)

A GRAPHICAL KERNEL SYSTEM (GKS) VERSION OF COMPUTER PROGRAMMODPATH-PLOT FOR DISPLAYING PATH LINES GENERATED FROMTHE U.S. GEOLOGICAL SURVEY MODULAR THREE-DIMENSIONAL

GROUND-WATER FLOW MODEL

by

David W. Pollock

Abstract

The computer program MODPATH-PLOT graphically displays results generated by

the three-dimensional particle tracking program MODPATH. A new version of the

computer program MODPATH-PLOT has been developed that uses the Graphical Kernel

System (GKS) to generate graphical output The Graphical Kernel System is a set of

standardized graphics functions adopted by the American National Standards Institute

(ANSI). GKS functions are widely available and can be obtained from many sources. The

use of GKS in MODPATH-PLOT improves the program's portability between computers

and makes the program accessible to a much broader cross section of ground-water

hydrologists. The computer programs MODPATH and MODPATH-PLOT are described in

U.S. Geological Survey Open File Report 89-381, tided "Documentation of computer

programs to compute and display path lines using results from the U.S. Geological Survey

modular three-dimensional finite-difference ground-water flow model" by David W.

Pollock.

Introduction

A particle tracking post-processing package (Pollock, 1989) was developed to

cc . three-dimensional path lines from output generated from steady-stai~ .u^uLtauu*

using the U.S. Geological Survey modular three-dimensional finite-difference ground-

water flow model (McDonald and Harbaugh, 1988). The particle tracking post-processing

package consists of two computer programs: (1) MODPATH, which calculates path lines,

and (2) MODPATH-PLOT, which presents results graphically. The graphics program,

Page 7: A GRAPHICAL KERNEL SYSTEM (GKS) VERSION OF …This report describes a new version of the particle tracking graphics program MODPATH-PLOT that uses the Graphical Kernel System (GKS)

MODPATH-PLOT, was originally developed for use with the DISSPLA1 graphics

subroutine library (Computer Associates, 1981). A new version of the graphics program

has been developed that uses GKS graphics subroutines. The Graphical Kernel System is a

set of standardized graphics functions adopted by the American National Standards Institute

(American National Standards Institute, 1985). GKS software is available from a variety of

software vendors and for most computers. As a result, the program is now available to a

broader group of ground water hydrologists, especially those using small personal

computers.

The primary reason for converting to a GKS-based program was to make the

computer program as independent as possible of specific graphics software packages. Most

changes to MODPATH-PLOT simply involved a one-to-one replacement of calls to

DISSPLA subroutines with calls to standard GKS subroutines performing the identical

function. However, some of the changes designed to improve the program's "portability"

resulted in minor changes in interactive input and data files. This report describes only

those aspects of the program that differ from the original version of MODPATH-PLOT.

For a complete description of the computer program, the reader is referred to the

documentation provided in the original report (Pollock, 1989).

Changes to Input and Output

Graphical devices

In the original version of MODPATH-PLOT, the choices for graphical output

device were expJ^tjy specified in the program source code. Adding or deleting graphical

devices to the menu displayed on the computer monitor required that the FORTRAN source

code be modified. The GKS version of MODPATH-PLOT was changed to allow the

program to accommodate a wide variety of graphical output devices without the need to

1 The use of trade and firm names in this report is for identification purposes only and does not constitute endorsement by the U.S. Geological Survey.

Page 8: A GRAPHICAL KERNEL SYSTEM (GKS) VERSION OF …This report describes a new version of the particle tracking graphics program MODPATH-PLOT that uses the Graphical Kernel System (GKS)

modify the FORTRAN source code. The GKS version of MODPATH-PLOT requires an

additional data file that contains information about the graphical output devices that are

available. The new data file must be named "DEVICE.DAT". The information in

DEVICEJDAT is used to generate a customized menu from which the user can select a

graphical output device. The file is of format-free structure and contains one line of data for

each graphical output device that will appear in the menu, up to a maximum of 10 output

devices. Each line contains the following information in the order shown: (1) graphical

device type, (2) output medium, and (3) character string prompt to be displayed in the

menu. These items are defined as:

(1) graphical device type an integer corresponding to a graphical devicesupported by the GKS software package. Device type numbers for a given device are specific to the GKS package that is used.

(2) output medium an integer equal to 0 or 1. If the graphical device is ahard copy device (printer or plotter), this parameter should be set equal to 1. If the graphical device is a computer display monitor, it should be set equal to 0.

(3) character string prompt -- a character string placed in single quotes. Thestring will appear next to one of the choices in the menu.

If DEVICE.DAT contains:

1 0 'COMPUTER CONSOLE 16 1 'PRINTER'7 1 'PLOTTER'

the following menu would be displayed on the monitor

ENTER i. PE OF GRAPHICS OUTPUT DEVICE:1 = COMPUTER CONSOLE2 = PRINTER3 = PLOTTER

Entering the number "2" would select item 2 from the menu and cause graphical device type

6 to be opened by the GKS package. Because the program requires a graphical output

device of some kind, the file DEVICE.DAT must contain information for at least one

Page 9: A GRAPHICAL KERNEL SYSTEM (GKS) VERSION OF …This report describes a new version of the particle tracking graphics program MODPATH-PLOT that uses the Graphical Kernel System (GKS)

device. If it does not, a message to that effect is written to the monitor and program

execution is terminated. If DEVICEJDAT contains information for only one device, that

device is nominated automatically and no prompt is written to the screen. DEVICEJDAT is

opened to FORTRAN unit 98. The unit number can be changed in the main program, if

necessary.

Plot scaling

The original version of MODPATH-PLOT determined a plot scale that would result

in the largest possible plot for the device. The user was then allowed to change the plot

scale interactively. The GKS version of MODPATH-PLOT handles plot scaling somewhat

differendy. When using hard copy output devices such as plotters and printers a user may

want to specify the scale to be used in order to produce a plot of a certain size. On video

display monitors the goal generally is to make the plot as large as possible. If the chosen

device is a video display monitor, the GKS version of MODPATH-PLOT determines a

scale that will produce the largest possible plot for that device, and the user is not given an

opportunity to adjust the scale of the plot interactively. In that case, no information is

printed to the screen concerning plot scaling. If the chosen device is a hard copy device, the

program computes the plot scale and then allows the user to adjust the scale interactively,

just as in the original version of the program. The program uses the information supplied in

DEVICE.DAT to determine if the graphical device is a display monitor or a hard copy unit

Log file

The GKS version of the program produces an additional output file named

"GKS .LOG". This file is required by GKS to log error messages. Information about the

the type of graphical device being used is recorded in this file. It also contains any error

messages generated by GKS during execution. If desired, the source code can be modified

to write additional information to GKS .LOG. If GKS .LOG does not already exist, a file

named GKS.LOG is generated automatically by MODPATH-PLOT. The file is opened on

Page 10: A GRAPHICAL KERNEL SYSTEM (GKS) VERSION OF …This report describes a new version of the particle tracking graphics program MODPATH-PLOT that uses the Graphical Kernel System (GKS)

FORTRAN unit number 99. The unit number can be changed in the main program, if

necessary.

Program Portability

The GKS standard allows software developers some latitude in implementing

graphics subroutines. That fact, combined with the variability in hardware and operating

system requirements of individual computers, means that some customizing of the source

code is usually necessary. In developing the GKS version of MODPATH-PLOT, an effort

was made to anticipate the types of changes that might be necessary. The program was

designed so that those changes could be implemented as easily as possible.

Provision for short integers

Some GKS packages (especially those designed for small computers) require that

integers passed to the GKS subroutines be short (2 byte) integers rather than standard long

(4 byte) integers. However, in MODPATH-PLOT, some integers must be long integers.

To accommodate both requirements, those integers in MODPATH-PLOT that must be long

integers are explicitly declared using the INTEGER*4 statement. That allows the program

to be compiled using short integer as the default, if necessary. When the program is

compiled with long integer as the default, all integers are treated as long integers. The use

of explicit INTEGER*4 declarations is not standard FORTRAN 77 (ANSI, 1978),

however nearly all compilers support INTEGER*4 as an extension to FORTRAN 77.

If MODPATH-PLOT is compiled using the short integer default option, the

maximum number of particles cannot exceed 16,000 (eve~ ^ough the master array may be

dimensioned large enough to accommodate more than 16,000 particles). To allow for this

possibility, an integer variable "LIMIT' is defined in the main program. If "LIMIT = 1",

the maximum number of particles is not allowed to exceed 16,000. If "LIMIT = 0", the

maximum number of particles is allowed to be as large as can be accommodated by the size

Page 11: A GRAPHICAL KERNEL SYSTEM (GKS) VERSION OF …This report describes a new version of the particle tracking graphics program MODPATH-PLOT that uses the Graphical Kernel System (GKS)

of the master array. If the GKS package requires short integers, LIMIT must be set to 1.

Otherwise, LIMIT should be set to 0.

Terminating graphics mode

GKS packages differ in the way the graphics system is closed at the end of the

program. Some GKS packages clear the monitor immediately, causing the plot to be erased

from the monitor as soon as it is complete. Other GKS packages automatically wait for

some input at the keyboard from the user (usually a carriage return) before closing the

graphics system. In order to accommodate both types of packages, an integer variable

"NWATT" is set in the main program. When "NWATT = 1", the program is forced to wait

for the user to enter a carriage return before calling the GKS subroutine that closes the

graphics system. That allows the plot to remain undisturbed on the monitor for as long as

desired. When "NWATT = 0" the program does not pause before calling the GKS close

routines. If the GKS package erases the monitor or overwrites the plot with unwanted text

without waiting for a response from the user, NWAIT should be set equal to 1. If the GKS

package automatically waits for a response before erasing the monitor, NWATT should be

set to 0. A trial run of the program usually is necessary to determine which setting is

appropriate for a given combination of GKS package and computer.

Program testing

The GKS version has been tested with two GKS software packages on two types

of computers:

1. PRIME computer using ISSCO-GKS (Computer Associates, 1985).

2. IBM-compatible personal computers using GSS*GKS (Graphic Software Systems, 1985).

ISSCO-GKS on the PRIME computer requires that LIMIT = 0 and NWATT = 0.

GSS*GKS for IBM-compatible personal computers requires that LIMIT = 1 and that

NWATT = 1. The program must be compiled using short integer as the default condition

when GSS*GKS is used.

Page 12: A GRAPHICAL KERNEL SYSTEM (GKS) VERSION OF …This report describes a new version of the particle tracking graphics program MODPATH-PLOT that uses the Graphical Kernel System (GKS)

These results are presented only to illustrate the types of changes that may be

necessary when customizing MODPATH-PLOT for a specific GKS package. Other GKS

packages and other computers may require different combinations of settings or, possibly,

additional changes to the program. The version of the code that accompanies this report sets

NWAIT=1 andLIMTT=l. These flags will need to be changed for certain combinations of

GKS packages and computers.

Summary

The GKS version of MODPATH-PLOT can be used with a wide variety of GKS

software packages on a range of computers. This report only describes changes in the GKS

version of MODPATH-PLOT. Readers are referred to the original documentation for a

complete description of the theory and the use of computer programs MODPATH and

MODPATH-PLOT. Although the program was designed to be independent of hardware

and the choice of GKS software, some minor changes are usually required to customize the

program to a specific GKS package on a specific computer.

Page 13: A GRAPHICAL KERNEL SYSTEM (GKS) VERSION OF …This report describes a new version of the particle tracking graphics program MODPATH-PLOT that uses the Graphical Kernel System (GKS)

References

American National Standards Institute, 1978, Programming Language FORTRAN, ANSI, X3.9-1978, chs. 1-18.

American National Standards Institute, 1985, Computer Graphics Graphical Kernel System (GKS) functional description, ANSI X3.124-1985,106 p.

Computer Associates, 1981, DISSPLA, (Display Integrated Software System and Plotting LAnguage) User's Manual.

Computer Associates, 1985, ISSCO-GKS command reference guide, 60 p.

Graphic Software Systems, 1985, GSS*GKS kernel system - programmer's guide, Graphic Software Systems, Inc., 25117 SW Parkway, Wilsonville, Oregon, 97070.

McDonald, M.G. and A.W. Harbaugh, 1988, A modular three-dimensional finite- difference ground-water flow model, U.S. Geological Survey Techniques of Water Resources Investigations, Book 6, chapter Al, 586 p.

Pollock, David W., 1989, Documentation of computer programs to compute and display pathlines using results from the U.S. Geological Survey modular three-dimensional finite-difference ground-water flow model, U.S. Geological Survey Open File Report 89-381,188 p.

8

Page 14: A GRAPHICAL KERNEL SYSTEM (GKS) VERSION OF …This report describes a new version of the particle tracking graphics program MODPATH-PLOT that uses the Graphical Kernel System (GKS)

Appendix - Listing of Computer Code

IMPORTANT -- This version of the code sets NWAIT=1 and LIMIT=1. These flags will need to be reset for some combinations of GKS software and computers.

C GKS Version 1.0 March 1, 1990C*

CCCCCCCCC

C \*

C \*

\*

CCC

C

C

C

C

C

C

CCCCCCCCCCC

CCCCC

**********************************************************************

MODPATH-PLOT (GKS version)programmed by David W. Pollock

Plotting program for results from the particle tracking programMODPATH. This version of MODPATH-PLOT uses the Graphical KernelSystem (GKS) graphics subroutines. It is a modification of theoriginal version documented in Open File Report 89-381 that usedthe DISSPLA graphics subroutine library. Supplemental documentationfor this GKS version is available in Open File Report 89-622.**********************************************************************

INTEGER*4 LCIBOD, LCXMX, LCXMN, LCDX, LCYMX, LCYMN, LCDY, LCZBOT, LCZTOP,2LCDZ, LCZMX,LCZMN,LCHEAD, LCLAYC, LCNCON, LCDZCB, LCIBOF,3LCION, LCIBYZ, LCIBXZ, LCIZN, LENA

_ 13 T T^ T lUTC* W C TfMfl MAGTITD &DORV QV f*Hi W^11 TM^"1 'PHI? WlTVT1 *FUf^ CTK TITMlJ'WI'C ______KJliUlrlJjWolVjri MAO 1 CjK AKKAI O I UnANolWLi ±D.SL JN&Al 1 WVJ O l/\ HjPuIjW 1 0

M&fflr cnDP TU^T T ITlttA TO CPT IPf^n^T Tf\ TUP T PW^TU fttP TUP & HD'D&V _____rOAIVcj oUKCj InAJ. JjCjJNA Xo o£j 1 c*UUAij iV-' J.nCj JjCjJNuin VJr ln£j A AlvKAI

COMMON A (44 000)LENA=44000

SET DNIT NDMBERS

A00020A00030A00040A00050A00060A00070A00080A00090A00100A00110A00120A00130 A00140A00150A00160 A00170A00180A00190 A00200A00210 A00220A00230A00240

10 = DNIT NDMBER OF FILE CONTAINING FILE NAMES AND DNIT NDMBERS I A0025010=101 t A00260

12 - DNIT NDMBER FOR THE "PATHLINE" FILE 1 A0027012-102

13 - DNIT NDMBER FOR THE "ENDPOINT" FILE13=103

14 = DNIT NDMBER FOR THE "TIMESERS" FILE14=104

17 - DNIT NDMBER FOR THE "SDMMARY.PLT" FILE17=107

IOGKS = DNIT NDMBER FOR THE GKS LOG FILE "GKS. LOG"IDGKS =99

IUDEV = DNIT NDMBER FOR THE GKS DEVICE DATA FILE "DEVICE.DAT"IDDEV = 98

SET INTEGER FLAG "NWAIT"IF NWAIT=1 MODPATH-PLOT WAITS FOR THE DSER TO ENTER <RETDRN>

BEFORE CALLING THE GKS RODTINE TO CLOSE THE GRAPHICSSYSTEM.

IF NWAIT=0 MODPaTH-PLOT CALLS THE GKS RODTINES TO CLOSE THEGRAPHICS SYSTEM AS SOON AS THE PLOT IS FINISHED.

A TRIAL RON IS DSDALLY REQDIRED TO DETERMINE THE APPROPRIATE SETTINGFOR SPECIFIC COMPOTERS.

NWAIT=1

SET INTEGER FLAG "LIMIT". IF "LIMIT-1", MAXIMDM NDMBER OF PARTICLESIS NOT ALLOWED TO EXCEED 16000. IF "LIMIT-0", MAXIMDM NDMBER OF

A00280A00290A00300A00310A00320A00330A00340A00350A00360A00370A00380 A00390A00400A00410A00420A00430A00440A00450A00460A00470A00480A00490A00500A00510A00520A00530A00540

PARTICLES IS LIMITED ONLY BY AVAILABLE SPACE IN THE MASTER ARRAY. t A00550t A00560

LIMIT-1 # A00570

Page 15: A GRAPHICAL KERNEL SYSTEM (GKS) VERSION OF …This report describes a new version of the particle tracking graphics program MODPATH-PLOT that uses the Graphical Kernel System (GKS)

c

ccc

ccc

ccc

c

ccc

c

WRITE (*,*)

WRITE(*,*) 1' MODPATH-PLOT GKS Graphics Version 1.0 March 1, 1990 ' WRITE (*,*)

OPEN STANDARD INPUT AND OUTPUT FILES

CALL FILES (10,11,17)

WRITE VERSION NUMBER AND DATE TO FILE SUMMARY. PLT

WRITE(I7,*) ' 'WRITE (17,*)

1* MODPATH-PLOT GKS Graphics Version 1.0 March 1, 1990 WRITE(I7,*) '

ALLOCATE SPACE FOR ARRAYS

CALL SPACE (LENA, NCOL, NROW, NLAY, NCBL, IGRID, NZDIM, NUNIT,ILCIBOU, LCXMX, LCXMN, LCDX, LCYMX, LCYMN, LCDY, LCZBOT, LCZTOP,2LCDZ, LC2MX, LC2MN, LCHEAD, LCLAYC, LCNCON, LCDZCB, LCIBUF,3LCIUN, LCIBYZ, LCIBXZ, LCIZN,NPART, 11, 17, LIMIT)

NPART2=2*NPART

TRANSFER CONTROL TO MAIN SUBROUTINE

CALL DRIVER (A(LCIBOU) , A(LCXMX) , A(LCXMN) , A(LCDX) , A(LCYMX) ,lA(LCYMN) ,A(LCDY) , A (LCZBOT) , A (LCZTOP) ,A(LCDZ) ,A(LCZMX) ,2A(LCZMN), A (LCHEAD) , A(LCLAYC) , A(LCNCON) ,A(LCDZCB) ,3A(LCIBUF) , A(LCIUN) , A(LCIBYZ) , A (LCIBXZ ), NCOL, NROW, NLAY, NZDIM, NUNIT,4NCBL, IGRID, 11, 12, 13, 14, 17,NPART,NPART2, A(LCIZN) ,NWAIT, IUGKS,5IUDEV)

STOPEND

# A00580 # A00590 # A00600 # A00610 # A00620 # A00630 * A00640* A00650* A00660# A00670* A00680# A00690# A00700# A00710# A00720# A00730# A00740# A00750# A00760# A00770# A00780# A00790# A00800# A00810* A00820t A00830I A00840# A00850I A00860# A00870I A00880# A00890# A00900# A00910# A00920# A00930I A00940# A00950* A00960 .& inncnn

10

Page 16: A GRAPHICAL KERNEL SYSTEM (GKS) VERSION OF …This report describes a new version of the particle tracking graphics program MODPATH-PLOT that uses the Graphical Kernel System (GKS)

c tC GKS Version 1.0 March 1, 1990 tQ**************1r********************************************************^

C tC DRIVER tC tC THIS ROUTINE CONTROLS THE OVERALL SEQUENCE OF OPERATIONS AND tC HANDLES MOST OF THE INTERACTIVE I/O #C tQ***********************************************************************^

C tSUBROUTINE DRIVER (IBOUND,XMX,XMN,DELR,YMX,YMN,DELC,ZBOT,ZTOP, t1DELZ,ZMX,ZMN,HEAD,LAYCON,NCON,DELZCB,IBUFF,IUNIT,IBYZ,IBXZ, t2NCOL,NROW,NLAY,NZDIM,NUNIT,NCBL,IGRID,II,12,13,14,I7,NPART, t3NPART2,IZPART,NWAIT,IUGKS,IDDEV) #

C fDIMENSION LAYCON(NLAY),NCON(NLAY),DELR(NCOL),DELC(NROW),DELZ(NLAY)t1,DELZCB(NLAY),XMX(NCOL),YMX(NROW),ZTOP(NZDIM),ZBOT(NZDIM), t2HEAD(NCOL,NROW,NLAY),IBOUND(NCOL,NROW,NLAY),XMN(NCOL),YMN(NROW),4IUNIT(NUNIT),IBUFF(NCOL,NROW,NLAY),ZMN(NLAY) ,SZMX(NLAY),IBYZ(NROW,NLAY),IBXZ(NCOL,NLAY),IZPART(NPART2)

DIMENSION ISPLOT(51)DIMENSION XBRDR(5),YBRDR(5)

CCHARACTER*80 FNAME,TITLECHARACTER*?9 MESDIMENSION LASF(13)DATA LASF/13*!/

CDO 10 N-1,51

10 ISPLOT(N)-0 CC READ MODPATH DATA SET C

CALL DATIN (LAYCON,NCON,HEAD,XMX,XMN,YMX,YMN,DELR, 1DELC, DELZ, DELZCB,ZTOP,ZBOT,ZMN,ZMX,IBOUND,IUNIT,NCOL,NROW,NLAY, 2NUNIT,NZDIM,IGRID,NCBL, II, 17)

C C

WRITE (*,*)'ENTER TITLE (80 CHARACTERS OR LESS): 1READ (*,5000) TITLE

5000 FORMAT(A) C

CALL DEVICE (MODEL,KIND,NWAIT, IWAIT, IUDEV, 17) C

MES= 'DRAW INTERIOR GRID LINES ? CALL YESNO (MES,IGL)

WRITE (*,*)'ENTER THE TYPE OF GRAPH:' WRITE (*,*) ' 1 «= FLOW LINE PLOT'

2 = MAP VIEW OF STARTING LOCATIONS (FORWARD TRACKIff

3 - MAP VIEW OF FINAL LOCATIONS (FORWARD TRACKING)!t

4 = MAP VIEW OF FINAL LOCATIONS (BACKWARD TRACKING!t

5 - TIME SERIES PLOT' tt

WRITE (*,*)'

ING) 'WRITE (*,*) '

1'WRITE (*,*)'

1) '

WRITE (*,*) 'READ (*,*) ITYPEIVIEW=1LAYER=1IF(ITYPE.EQ.1.0R.ITYPE.EQ.5) THENWRITE (*,*)'WHAT IS THE ORIENTATION OF THE PLOT ?'WRITE (*,*)' 1 = MAP VIEW'

B00010 B00020 B00030 B00040 B00050 B00060 B00070 B00080 B00090 B00100 B00110 B00120 B00130 B00140 B00150 B00160 B00170 B00180 B00190 B00200 B00210 B00220 B00230 B00240 B00250 B00260 B00270 B00280 B00290 B00300 B00310 B00320 B00330 B00340 B00350 B00360 B00370 B00380 B00390 B00400 B00410 B00420 B00430 B00440 B00450 B00460 B00470 B00480 B00490 B00500 B00510 B00520 B00530 B00540 B00550 B00560 B00570 B00580 B00590 B00600 B00610 B00620 B00630 B00640

11

Page 17: A GRAPHICAL KERNEL SYSTEM (GKS) VERSION OF …This report describes a new version of the particle tracking graphics program MODPATH-PLOT that uses the Graphical Kernel System (GKS)

CROSS SECTION VIEW ALONG A COLUMN 1 CROSS SECTION VIEW ALONG A ROW 1

THEN

WRITE (*,*)' 2WRITE (*,*)' 3READ (*,*) IVIEWIIPRJ=0IF(IVIEW.EQ.l.AND.NLAY.EQ.l) THENIIPRJ=1LAYER-1IPROJ-0ELSE IF(IVIEW.EQ.2.AND.NCOL.EQ.1)IIPRJ=1JCOL"=1

IPROJ-0ELSE IF(IVIEW.EQ.3.AND.NROW.EQ.l) THENIIPRJ=1IROW=1IPROJ-0END IFIF(IIPRJ.EQ.O) THENWRITE (*,*)'WHAT DATA SHODLD BE PLOTTED ?'WRITE (*,*)' 0 - PLOT ALL DATA BY PROJECTION ONTO THE 2D SLICEIF(IVIEW.EQ.l) THENWRITE (*,*)' 1 - PLOT ONLY THE DATA WITHIN THE LAYER CORRESPONDI ING TO THE 2D SLICE 1READ (*,*) IPROJLAYER=1IF(IPROJ.GT.O) THENWRITE (*,*)'ALONG WHAT LAYER SHODLD THE 2D SLICE BE TAKEN ?'READ (*,*) LAYEREND IFELSE IF (IVIEW.EQ.2) THENWRITE (*,*) 1 - PLOT ONLY THE DATA WITHIN THE COLUMN CORRESPOND 1ING TO THE CROSS SECTION 1READ (*,*) IPROJWRITE (*,*) ENTER THE COLUMN ALONG WHICH CROSS SECTION IS TAKEN: 1READ (*,*) JCOLELSE IF (IVIEW.EQ.3) THENWRITE (*,*) 1 - PLOT ONLY THE DATA WITHIN THE ROW CORRESPONDING

1 TO THE CROSS SECTION 1READ (*,*) IPROJWRITE (*,*)'ALONG WHAT ROW SHOULD THE CROSS SECTION BE TAKENREAD (*,*) IROWEND IFEND IFEND IFIF(ITYPE.EQ.l) THENWRITE (*,*)'WERE THE FLOWLINES GENERATED BY FORWARD OR BACKWARD TR 1ACKING ?'WRITE (*,*)' 0 - FORWARD'WRITE (*,*)' 1 - BACKWARD'READ (*,*) IDIRIF (IDIR.EQ.O) THENMES- 'DO YOU WANT TO SKIP OVER PATH LINES THAT DISC0 " 1"^1 |mwp }

1 ?'

CALL YESNO (MES,ISKIP)END IFMES- 'DO YOU WANT TO PLOT POINTS AT SPECIFIED TIME INTERVALS ?'CALL YESNO (MES,IPTS)MES- 'DO YOU WANT TO STOP DRAWING PATH LINES AT A SPECIFIED TIME?'CALL YESNO (MES,IANS)TMAX- l.OE+30IF (IANS.EQ.1) THENWRITE (*,*)1'ENTER: THE TIME, AND A FACTOR FOR CONVERTING TO UNITS USED IN THE* 1 MODEL' *

B00650 B00660 B00670 B00680 B00690 B00700 B00710 B00720 B00730 B00740 B00750 B00760 B00770 B00780 B00790 B00800 B00810 B00820 B00830 B00840 B00850 B00860 B00870 B00880 B00890 B00900 B00910 B00920 BOO930 B00940 B00950 B00960 B00970 B00980 B00990 B01000 B01010 B01020 B01030 B01040 B01050 B01060 B01070 B01080 B01090 B01100 B01110 B01120 B01130 B01140 B01150 B01160 B01170 B01180 B01190 B01200 B01210 B01220 B01230 B01240 B01250 B01260 B01270 B01280

12

Page 18: A GRAPHICAL KERNEL SYSTEM (GKS) VERSION OF …This report describes a new version of the particle tracking graphics program MODPATH-PLOT that uses the Graphical Kernel System (GKS)

READ (*,*) TMAX,UCFACTMAX- 1.00001*TMAX*UCFACEND IFEND IF

5010 FORMAT(A)IPLOT=0IFaTYPE.EQ.3.0R.ITYPE.EQ.4) THENMES~ 'DO YOU WANT TO PLOT ONLY THOSE POINTS THAT TERMINATE IN ONE 1SPECIFIC ZONE ?'CALL YESNO (MES,IANS)IF(IANS.EQ.l) THENWRITE (*,*) 'ENTER THE ZONE CODE:'READ (*,*) IPLOTEND IFEND IFWRITE (*,*) 'ENTER NAME OF ENDPOINT FILE (<CR>-"ENDPOINT 11 ) : 'READ (*,5010) FNAMEIF (FNAME.EQ.' ') FNAME='ENDPOINT'IUCF=I3CALL OPNFIL (13,FNAME,1,17,0,1)IF(ITYPE.EQ.l) THENWRITE (*,*)'ENTER NAME OF PATHLINE FILE «CR>~nPATHLINE"):'READ (*,501Q) FNAMEIF (FNAME.EQ. 1 ') FNAME='PATHLINE'IUL=I2CALL OPNFIL (12,FNAME,1,17,0,1)CALL COUNTP (I3,NPART)END IFIF(ITYPE.EQ.S) THENWRITE (*,*)'ENTER NAME OF TIMESERIES FILE (<CR>="TIMESERS"):'READ (*,5010) FNAMEIF (FNAME.EQ.' ') FNAME='TIMESERS'CALL OPNFIL (14,FNAME,1,17,0,1)WRITE (*,*)'HOW MANY TIME STEPS DO YOU WANT TO PLOT ?'WRITE (*,*)' (YOU MAY PLOT UP TO 50 TIME STEPS)'WRITE (*,*)' (TO PLOT ALL OF THE TIME STEPS, ENTER A NEGATIVE NUM 1BER)'READ (*,*) NPSTPSIF(NPSTPS.GT.O) THENWRITE (*,*)'ENTER THE TIME STEP NUMBERS THAT YOU WANT TO PLOT:'READ (*,*) (ISPLOT(N),N-1,NPSTPS)END IFEND IF

CMES='DO YOU WANT THE PLOT TO INCLUDE THE ENTIRE GRID ?'CALL YESNO (MES,IALL)IF(IVIEW.EQ.l) THENJMIN=1JMAX=NCOLIMIN=1IMAX=NROWIF (IALL.EQ.O) THENWRITE (*,*)'ENTER GRID COORDINATES:'WRITE (*,*)' MINIMUM COLUMN VALUE, MAXIMUM COLUMN VALUE'READ (*,*) JMIN,JMAXIF (JMAX.LT.I.OR.JMAX.GT.NCOL) JMAX-NCOLWRITE (*,*)' MINIMUM ROW VALUE, MAXIMUM ROW VALUE'READ (*,*) IMIN,IMAXIF (IMAX.LT.l.OR.IMAX.GT.NROW) IMAX-NROWEND IFXMIN- XMN(JMIN)XMAX= XMX(JMAX)YMIN= YMN(IMAX)YMAX= YMX(IMIN)

B01290 B01300 B01310 B01320 B01330 B01340 B01350 B01360 B01370 B01380 B01390 B01400 B01410 B01420 B01430 B01440 B01450 B01460 B01470 B01480 B01490 B01500 B01510 B01520 B01530 B01540 B01550 B01560 B01570 B01580 B01590 B01600 B01610 B01620 B01630 B01640 B01650 B01660 B01670 B01680 B01690 B01700 B01710 B01720 B01730 B01740 B01750 B01760 B01770 B01780 B01790

B01810 B01820 B01830 B01840 B01850 B01860 B01870 B01880 B01890 B01900 B01910 B01920

13

Page 19: A GRAPHICAL KERNEL SYSTEM (GKS) VERSION OF …This report describes a new version of the particle tracking graphics program MODPATH-PLOT that uses the Graphical Kernel System (GKS)

20

30

VEX=1.0E+0ELSE IF(IVIEW.EQ.2) THENIMIN=1IMAX=NROWKMIN=1KMAX=NLAYIF (IALL.EQ.O) THENWRITE (*,*)"ENTER GRID COORDINATES:'WRITE <*,*)' MINIMUM ROW VALUE, MAXIMUM ROW VALUE READ (*,*) IMIN.IMAXIF (IMAX.LT.l.OR.IMAX.GT.NROW) IMAX=NROWWRITE (*,*)' MINIMUM LAYER VALUE, MAXIMUM LAYER VALUE'READ (*,*) KMIN.KMAXIF (KMAX.LT.l.OR.KMAX.GT.NLAY) KMAX=NLAYEND IFWRITE (*,*) WHAT IS THE VERTICAL EXAGGERATION ?'READ (*,*) VEXDO 20 N=1,NLAYZMN(N)=VEX*ZMN(N)ZMX(N)=VEX*ZMX(N)YMIN= YMN(IMAX)YMAX= YMX(IMIN)ZMIN= ZMN(KMAX)ZMAX= ZMX(KMIN)CALL NEWIB (2,IBODND,IBYZ,NCOL,NROW,NLAY,NROW,JCOL,HEAD)ELSE IF(IVIEW.EQ.3) THENJMIN=1JMAX=NCOLKMIN=1KMAX=NLAYIF (IALL.EQ.O) THENWRITE (*,*)'ENTER GRID COORDINATES:'WRITE (*,*)' MINIMUM COLUMN VALUE, MAXIMUM COLUMN VALUE'READ (*,*) JMIN,JMAXIF (JMAX.LT.I.OR.JMAX.GT.NCOL) JMAX=NCOLWRITE (*,*)' MINIMUM LAYER VALUE, MAXIMUM LAYER VALUE 1READ (*,*) KMIN,KMAXIF (KMAX.LT.l.OR.KMAX.GT.NLAY) KMAX=NLAYEND IFWRITE (*,*)'WHAT IS THE VERTICAL EXAGGERATION ? READ (*,*) VEXDO 30 N=1,NLAYZMN(N)=VEX*ZMN(N)ZMX(N)=VEX*ZMX(N)XMIN= XMN(JMIN)XMAX= XMX(JMAX)ZMIN= ZMN(KMAX)ZMAX= ZMX(KMIN)CALL NEWIB (3,IBOUND,IBXZ,NCOL,NROW,NLAY,NCOL,IROW,HEAD)END IF

CHANGE ZO*" sr>ES IN IBOUND ARRAY

40

IF (ITYPE.NE.5) THEN MES= 'DO YOU WANT TO CHANGE ANY OF THE ZONE CODES IN THE IBOUND AR 1RAY ?'CALL YESNO (MES,IANS) IF (IANS.EQ.1) THEN

'WHAT TYPE OF CHANGE DO YOU WANT TO MAKE ?'1 1 = CHANGE AN ENTIRE LAYER 11 2 = CHANGE AN INDIVIDUAL CELL 11 3 - CHANGE ALL CELLS IN A BLOCK OF CELLS'

WRITE ('WRITE ('WRITE ('WRITE ('READ (*,*) IANSIF (IANS.EQ.1) THEN

B01930 B01940 B01950 B01960 B01970 B01980 B01990 B02000 B02010 B02020 B02030 B02040 B02050 B02060 B02070 B02080 B02090 B02100 B02110 B02120 B02130 B02140 B02150 B02160 B02170 B02180 B02190 B02200 B02210 B02220 B02230 B02240 B02250 B02260 B02270 B02280 B02290 B02300 B02310 B02320 B02330 B02340 B02350 B02360 B02370 B02380 B02390 B02400 B02410 B02420 B02430 B02440 B02450 B02460 B02470 B02480 B02490 B02500 B02510 B02520 B02530 B02540 B02550 B02560

14

Page 20: A GRAPHICAL KERNEL SYSTEM (GKS) VERSION OF …This report describes a new version of the particle tracking graphics program MODPATH-PLOT that uses the Graphical Kernel System (GKS)

WRITE (*,*) 'ENTER THE LAYER NUMBER:' # B02570READ (*,*) NLAYER # B02580WRITE (*,*) 'ENTER THE NEW ZONE CODE:' t B02590READ (*,*) NDM B02600DO 50 I-1,NROW B02610DO 50 J-1,NCOL B02620ITEMP-IBOUND(J,I,NLAYER) B02630IF(ITEMP.NE.O) THEN B02640IBOUND(J,I,NLAYER)-NOM B02650 IF(ITEMP.LT.O) IBODND(J,I,NLAYER)- -IBOUND(J,I,NLAYER) B02660END IF B02670

50 CONTINUE B02680ELSE IF (IANS.EQ.2) THEN B02690WRITE (*,*) 'ENTER THE CELL INDICES: J I K' # B02700READ (*,*) J,I,K # B02710WRITE (*,*) 'ENTER THE NEW ZONE CODE:' # B02720READ (*,*) NUM # B02730ITEMP-IBOUND(J,I,K) # B02740IF(ITEMP.NE.O) THEN # B02750IBOUND(J,I,K)-NDM # B02760 IF(ITEMP.LT.O) IBOOND(J,I,K)- -IBOUND(J,I,K) # B02770END IF # B02780ELSE IF (IANS.EQ.3) THEN # B02790WRITE (*,*) 'ENTER THE BOUNDARIES OF THE BLOCK OF CELLS:' # B02800WRITE (*,*) ' MIN COLUMN, MAX COLUMN, MIN ROW, MAX ROW, MIN LAY* B028101ER, MAX LAYER' # B02820READ (*,*) JJ1,JJ2,II1,II2,KK1,KK2 # B02830IF (JJ2.LT.1.0R.JJ2.GT.NCOL) JJ2-NCOL # B02840IF (II2.LT.1.0R.II2.GT.NROW) II2-NROW # B02850IF (KK2.LT.1.0R.KK2.GT.NLAY) KK2=NLAY # B02860WRITE (*,*) 'ENTER THE NEW ZONE CODE:' # B02870READ (*,*) NUM # B02880DO 60 K-KK1,KK2 # B02890DO 60 1=111,112 # B02900DO 60 J-JJ1,JJ2 # B02910ITEMP-IBOUND(J,I,K) # B02920IF(ITEMP.NE.O) THEN # B02930IBODND(J,I,K)-NDM # B02940 IF(ITEMP.LT.O) IBOUND(J,I,K)- -IBOUND(J,I,K) # B02950END IF # B02960

60 CONTINUE # B02970END IF f B02980 MES= 'DO YOU WANT TO CHANGE SOME MORE ZONE CODES ?' # B02990CALL YESNO (MES,IANS) # B03000IF (IANS.EQ.1) GO TO 40 # B03010END IF # B03020END IF # B03030

C # B03040MES= 'DO YOU WANT A COLOR PLOT ?' # B03050CALL YESNO (MES,IANS) f B03060NCLR- -1 # B03070IF (IANS.EQ.O.AND. T " ~-EQ.l) THEN # B03080 WRITE (*,*)'WHAT TYPL or LINE PATTERNS SHOOLD BE DSED ?' # B03090 WRITE (*,*)' 0 - CYCLE THROOGH LINE PATTERNS (SOLID, DASH, DOT) 1 * B03100 WRITE (*,*)' 1 - USE A SINGLE LINE PATTERN FOR ALL PATH LINES 1 # B03110READ (*,*) NNN # B03120IF(NNN.EQ.O) THEN # B03130NCLR- -4 #803140ELSE # B03150WRITE (*,*)'ENTER THE LINE PATTERN:' # B03160WRITE (*,*)' 1 - SOLID 1 # B03170WRITE (*,*)' 2 - DASHED' # B03180WRITE (*,*)' 3 - DOTTED' # B03190READ (*,*) NNN # B03200

15

Page 21: A GRAPHICAL KERNEL SYSTEM (GKS) VERSION OF …This report describes a new version of the particle tracking graphics program MODPATH-PLOT that uses the Graphical Kernel System (GKS)

IF(NNN.LT.1.OR.NNN.GT.3) NNN=1NCLR= -NNNEND IFELSE IF(IANS.EQ.l) THENWRITE (*,*)'HOW SHOULD COLORS BE CHOSEN FOR DIFFERENT DATA GROUPS

1?'

WRITE (*,*)' 0 - CYCLE THROUGH COLORS'WRITE (*,*)' 1 - ALL LINES AND (OR) DATA POINTS PLOTTED IN ONE 1COLOR'READ (*,*) NCLRIF(NCLR.GT.O) THENWRITE (*,*)'ENTER THE COLOR:'WRITE (*,*)' 1 = BLACK/WHITE'WRITE (*,*)' 2 - RED 1WRITE (*,*)' 3 - GREEN'WRITE (*,*)' 4 - BLUE'READ (*,*) NCLRIF(NCLR.LT.1.0R.NCLR.GT.4) NCLR=1END IFEND IF

MES= 'DRAW THE PAGE BORDER ?' CALL YESNO (MES,IBRDR)

OPEN GKS LOG/ERR FILECALL OPNFIL (IUGKS,'GKS.LOG',4,17,0, 3)

OPEN GKS

CALL GOPKS(IUGKS, 1000) CALL GOPWK(1,1,MODEL) CALL GACWK(l)

DETERMINE IF DEVICE HAS COLORDETERMIN DIMENSIONS OF DEVICE C SET PAGE SIZE

CALL GQCF(MODEL,IERR,NCOLI,ICOLA,NPCI)CALL GQDSP(MODEL,IERDSP,IDCUN,RXM,RYM,NPIXX,NPIXY)WRITE (IUGKS,9005) MODEL

9005 FORMAT('OUTPUT DEVICE MODEL -',19) IF (ICOLA.EQ.l) THEN WRITE (IUGKS,*) 'COLOR DEVICE' ELSE IF (ICOLA.EQ.O) THEN WRITE (IUGKS,*) 'MONOCHROME DEVICE' END IFIF(IDCUN.EQ.O) THENWRITE (IUGKS,*) 'DEVICE COORDINATES ARE IN METERS.' WRITE (IUGKS,9006) RXM,RYM

9006 FORMAT('SCREEN DIMENSIONS IN METERS:'/I 1 X DIMENSION -',F9.6,' Y DIMENSION -',F9.6)ELSE IF (IDCUN.EQ.l) THENWRITE (IUGKS,*) 'DEVICE COORDINJ"^ ARE IN ARBITRARY SCREEN COORDI 1NATES.'WRITE (IUGKS,9007) RXM,RYM

9007 FORMAT('SCREEN DIMENSIONS IN DEVICE COORDINATES:'/ 1' X DIMENSION -',F10.3,' Y DIMENSION -',F10.3) END IF WRITE (IUGKS,9008) NPIXX,NPIXY

9008 FORMAT(I7,' PIXELS IN X DIRECTION'/ 117,' PIXELS IN Y DIRECTION')CNVICH-39.3701

C IF DEVICE COORDINATES ARE IN METERS, CONVERT PAGE SIZE TO INCHESIF(IDCUN.EQ.O) THENPLONG=RXM*CNVICH

B03210 B03220 B03230 B03240 B03250 B03260 B03270 B03280 B03290 B03300 B03310 B03320 B03330 B03340 B03350 B03360 B03370 B03380 B03390 B03400 B03410 B03420 B03430 B03440 B03450 B03460 B03470 B03480 B03490 B03500 B03510 B03520 B03530 B03540 B03550 B03560 B03570 B03580 B03590 B03600 B03610 B03620 B03630 B03640 B03650 B03660 B03670 B03680 B03690 B03700 B03710 B03720 B03730 B03740 B03750 B03760 B03770 B03780 B03790 B03800 B03810 B03820 B03830 B03840

16

Page 22: A GRAPHICAL KERNEL SYSTEM (GKS) VERSION OF …This report describes a new version of the particle tracking graphics program MODPATH-PLOT that uses the Graphical Kernel System (GKS)

PSHORT=RYM*CNVICHC OTHERWISE, SET PAGE DIMENSIONS TO THEIR DIMENSIONS IN THE C DEVICE COORDINATES RETURNED BY THE GKS QDERY.

ELSEPLONG=RXMPSHORT=RYMEND IF

C IF DEVICE HAS COLOR, SET THE COLORS TO RED, GREEN, AND BLUEIF (ICOLA.EQ.l) THENCALL GSCR(MODEL,2,1.0,0.0,0.0)CALL GSCR(MODEL,3,0.0,1.0, 0.0)CALL GSCR(MODEL,4,0.0,0.0,1.0>END IF

C DETERMINE THE SIZE OF THE PLOT, AND SET SCALING FACTORS.IF(IVIEW.EQ.l) THENCALL SCPLOT (PLONG,PL,PSHORT,PS,IPAGE,XMIN,XMAX, YMIN,YMAX,XL, 1XR,YB,YT,JUNITS,KIND)ELSE IF(IVIEW.EQ.2) THENCALL SCPLOT (PLONG,PL,PSHORT,PS,IPAGE,YMIN,YMAX, ZMIN,ZMAX,XL, 1XR,YB,YT,JUNITS,KIND)ELSE IF(IVIEW.EQ.3) THENCALL SCPLOT (PLONG,PL,PSHORT,PS,IPAGE,XMIN,XMAX, ZMIN,ZMAX,XL, 1XR,YB,YT,JUNITS,KIND)END IF

C ADD SPACE FOR A BORDER AROUND THE ACTIVE DRAWING RECTANGLE FOR THE C PLOT. TITLE AND SCALE BAR WILL BE PUT IN THE BORDER REGION AT BOTTOM C OF PAGE.

WCDC= (XR-XD/PLXLL-XL-0.068*WCDC*PLONGXRR-XR+0.068*WCDC*PLONGYBB=YB-0.176*WCDC*PSHORTYTT=YT+0.118*WCDC*PSHORTWRITE (IDGKS,*) 'COORDINATES OF DEVICE IN WORLD COORDINATES: 1WRITE(IUGKS,9001) XLL,YBB,XRR,YTT

9001 FORMATC (XLEFT, Y BOTTOM) = (MPE12.5, 1 , > ,E12.5, 1 )'/ 1' (X RIGHT, Y TOP) = (',£12.5,' , I ,E12.5,') 1 )WRITE (IDGKS,*) 'COORDINATES OF THE ACTIVE PLOT RECTANGLE (WC): WRITE(IDGKS,9001) XL,YB,XR,YT

C SET SIZE OF ATIVE PLOT WINDOW IN WORLD COORDINATES (WC)SIZEX=XRR-XLLSIZEY=YTT-YBBSIZE=SIZEXIF(SIZEY.GT.SIZEX) SIZE=SIZEYCALL GSWN(1,XLL,XRR,YBB,YTT)XNC=SIZEX/SIZEYNC-SIZEY/SIZE

C SET GLOBAL VIEWPORT IN NORMALIZED TRANSFORMED COORDINATES (NTC)CALL GSVP(1,0.,XNC,0.,YNC)

C SET WORKSTATION WINDOW SIZE (NTC)CALL GSWKWN(l,0.,XNC,0. r YNC)

C SET WORKSTATION VIEWPORT IN DEVICE COORDINATES (DC)CALL GSWKVP(1,0.,RXM,0., RYM)CALL GSELNT(l)CALL GSASF(LASF)

C SET TEXT FONT AND CHARACTER EXPANSION FACTORCALL GSTXFP(1,1)CALL GSCHXP(L)

CPX=PLPY=PSIF(IBRDR.NE.O) THENXBRDR(1)=XLLYBRDR(1)=YBBXBRDR(2)=XRR

B03850 B03860 B03870 B03880 B03890 B03900 B03910 B03920 B03930 B03940 B03950 B03960 B03970 B03980 B03990 B04000 B04010 B04020 B04030 B04040 B04050 B04060 B04070 B04080 B04090 B04100 B04110 B04120 B04130 B04140 B04150 B04160 B04170 B04180 B04190 B04200 B04210 B04220 B04230 B04240 B04250 B04260 B04270 B04280 B04290 B04300 B04310 B04320 B04330 B04340 B04350 B04360 B04370 B04380 B04390 B04400 B04410 B04420 B04430 B04440 B04450 B04460 B04470 B04480

17

Page 23: A GRAPHICAL KERNEL SYSTEM (GKS) VERSION OF …This report describes a new version of the particle tracking graphics program MODPATH-PLOT that uses the Graphical Kernel System (GKS)

YBRDR(2)=YBRDR(1)XBRDR(3)=XBRDR(2)YBRDR(3)=YTTXBRDR(4)=XBRDR(1)YBRDR(4)=YBRDR(3)XBRDR(5)=XBRDR(1)YBRDR(5)-YBRDR(1)CALL GPL(5,XBRDR,YBRDR)END IF

IF < IVIEW. EQ.l) THENCALL DGRID (IMIN, IMAX,JMIN, JMAX, XMN, XMX, YMN, YMX, IBOOND (1, 1, LAYER)

1 NCOL, NROW, IGL,0) IF(IUNIT(6) .GT.O) CALL PGHB (IMIN, IMAX, JMIN, JMAX, 1, NLAY,

1 XMN, XMX, YMN, YMX, ZMN, ZMX, NCOL, NROW, NLAY, IVIEW, IUNIT ( 6) , NCLR, 17 ,2 IPROJ, LAYER) IF(IUNIT(5) .GT.O) CALL PDRAIN (IMIN, IMAX, JMIN, JMAX, 1, NLAY,

1 XMN, XMX, YMN, YMX, ZMN, ZMX, NCOL, NROW, NLAY, IVIEW, IUNIT (5) , NCLR, 17,2 IPROJ, LAYER) IF(IUNIT(4) .GT.O) CALL PRIVER (IMIN, IMAX, JMIN, JMAX, 1, NLAY,

1 XMN, XMX, YMN, YMX, NCOL, NROW, NLAY, IUNIT ( 4 ) , NCLR, IVIEW,2 IBUFF, 17) IF(IUNIT(2) .GT.O) CALL PWELLS (IMIN, IMAX, JMIN, JMAX, 1, NLAY,

1 XMN, XMX, YMN, YMX, ZMN, ZMX, NCOL, NROW, NLAY, IVIEW, IUNIT ( 2 ) , NCLR, 17 ,2 IPROJ, LAYER) ELSE IF(IVIEW.EQ.2) THEN CALL DGRID (KMIN,KMAX, IMIN, IMAX, YMN, YMX, ZMN, ZMX, IBYZ, NROW, NLAY,

CALL PCBEDS (NCON, NLAY, ZMN, ZMX, IMIN, IMAX, YMN, YMX, NROW, IBYZ, 1 KMIN,KMAX) IF(IUNIT(6) .GT.O) CALL PGHB (IMIN, IMAX, JCOL,JCOL, KMIN,KMAX, XMN,

1 XMX, YMN, YMX, ZMN, ZMX, NCOL, NROW, NLAY, IVIEW, IUNIT ( 6) , NCLR, 17 ,2 IPROJ, JCOL) IF(IUNIT(5) .GT.O) CALL PDRAIN (IMIN, IMAX, JCOL, JCOL, KMIN, KMAX, XMN,

1 XMX, YMN, YMX, ZMN, ZMX, NCOL, NROW, NLAY, IVIEW, IUNIT (5) , NCLR, 17 ,2 IPROJ, JCOL)IF(IUNIT(4) .GT.O) CALL PRIVER (IMIN, IMAX, JCOL, JCOL, KMIN, KMAX, XMN,

1 XMX, YMN, YMX, NCOL, NROW, NLAY, IUNIT ( 4 ) , NCLR, IVIEW, IBUFF, 17 )IF(IUNIT(2) .GT.O) CALL PWELLS ( TMIN, IMAX, JCOL, JCOL, KMIN, KMAX, XMN,

1 XMX, YMN, YMX, ZMN, ZMX, NCOL, NROW, NLAY, IVIEW, IUNIT (2 ) , NCLR, 17 ,2 IPROJ, JCOL)ELSE IF(IVIEW.EQ.3) THENCALL DGRID (KMIN, KMAX, JMIN, JMAX, XMN, XMX, ZMN, ZMX, IBXZ, NCOL, NLAY, 1IGL,0)CALL PCBEDS (NCON, NLAY, ZMN, ZMX, JMIN, JMAX, XMN, XMX, NCOL, IBXZ,

1 KMIN, KMAX)IF (IUNIT (6) .GT.O) CALL PGHB ( IROW, IROW, JMIN, JMAX, KMIN, KMAX, XMN,

1 XMX, YMN, YMX, ZMN, ZMX, NCOL, NROW, NLAY, IVIEW, IUNIT ( 6) , NCLR, 17 , 5 IPROJ, IROW)IF (IUNIT (5) .GT.O) CALL PDRAIN (IROW, IROW, JMIN, JMAX, KMIN, KMAX, XMN,

1 XMX, YMN, YMX, ZMN, ZMX, NCOL, NROW, NLAY, IVIEW, IUNIT (5) , NCLR, 17 , 5 IPROJ, IROW)IF(IUNIT(4) .GT.O) CALL PRIVER (IROW, IROW, JMIN, JMAX, KMIN, KMA/I, XMN,

1 XMX, YMN, YMX, NCOL, NROW, NLAY, IUNIT ( 4 ) , NCLR, IVIEW, IBUFF, 17 )IF(IUNIT(2) .GT.O) CALL PWELLS (IROW, IROW, JMIN, JMAX, KMIN, KMAX, XMN,

1 XMX, YMN, YMX, ZMN, ZMX, NCOL, NROW, NLAY, IVIEW, IUNIT (2 ) , NCLR, 17, 5 IPROJ, IROW)END IF

IF (ITYPE. EQ.l. AND. IVIEW. EQ.l) CALL LINES (IUL, IUCF,XMIN, XMAX, 1YMIN, YMAX, ZMN, ZMX, IDIR, I BOUND, NCOL, NROW, NLAY, IVIEW, IPTS, 2 IPROJ, LAYER, NCLR, ISKIP, TMAX, IZPART, NPART2 )IF (ITYPE. EQ.l. AND. IVIEW. EQ. 2) CALL LINES (IUL, IUCF, YMIN, YMAX,

1ZMIN, ZMAX,ZMN, ZMX, IDIR, IBOUND, NCOL, NROW, NLAY, IVIEW, IPTS,

B04490 B04500 B04510 B04520 B04530 B04540 B04550 B04560 B04570 B04580 B04590 B04600 B04610 B04620 B04630 B04640 B04650 B04660 B04670 B04680 B04690 B04700 B04710 B04720 B04730 B04740 B04750 B04760 B04770 B04780 B04790 B04800 B04810 B04820 B04830 B04840 B04850 B04860 B04870 B04880 B04890 B04900 B04910 B04920 B04930 B04940 B04950 B04960 B04970 B04980 B04990 B05000 B05010 B05020 B05030 B05040 B05050 B05060 B05070 B05080 B05090 B05100 B05110 B05120

18

Page 24: A GRAPHICAL KERNEL SYSTEM (GKS) VERSION OF …This report describes a new version of the particle tracking graphics program MODPATH-PLOT that uses the Graphical Kernel System (GKS)

2IPROJ,JCOL,NCLR,ISKIP,TMAX,IZPART r NPART2)IF(ITYPE.EQ.1.AND.IVIEW.EQ.3) CALL LINES(IUL,IUCFr XMIN,XMAX,

IZMIN,ZMAX,ZMN,ZMX,IDIR,IBOUND,NCOL,NROW,NLAY,IVIEW,IPTS, 2IPROJ, IROW,NCLR,ISKIP,TMAX,IZPART,NPART2)IF(ITYPE.EQ.2) CALL POINTS (IUCF,1,0,IMIN,IMAX,JMIN,JMAX,XMN,

1YMN,YMX,IBOUND,NCOL,NROW,NLAY,IPLOT, NCLR)IF(ITYPE.EQ.3) CALL POINTS (IUCF,1,1,IMIN,IMAX,JMIN,JMAX,XMN,

1YMN,YMX,IBOUND,NCOL,NROW,NLAY,IPLOT,NCLR)IF(ITYPE.EQ.4) CALL POINTS (IUCF,0,1,IMIN,IMAX,JMIN,JMAX,XMN,

1YMN,YMX,IBOUND,NCOL,NROW,NLAY,IPLOT, NCLR)IF(ITYPE.EQ.S) THENIF(IVIEW.EQ.l) THENCALL PTIMS (I4,XMIN,XMAX,YMIN,YMAX,ZMN,ZMX, INLAY,IVIEW,NPSTPS,ISPLOT,51,IPROJ,LAYER,NCLR)ELSE IF (IVIEW.EQ.2) THENCALL PTIMS (I4,YMIN,YMAX,ZMIN,ZMAX,ZMN,ZMX, INLAY,IVIEW,NPSTPS,ISPLOT,51,IPROJ,JCOL,NCLR)ELSE IF (IVIEW.EQ.3) THENCALL PTIMS (I4,XMIN,XMAX,ZMIN,ZMAX,ZMN,ZMX, INLAY,IVIEW,NPSTPS,ISPLOT,51,IPROJ,IROW,NCLR)END IFEND IFCALL PKCLR(l)CALL NOTATE (XL,XR,YB,YT,PX,PY,JUNITS,TITLE,VEX,IVIEW)

CLOSE GKS

IF (IWAIT.EQ.l) READ(*, ' (A) ) QUITCALL GDAWK(l)CALL GCLWK(l)CALL GCLKSRETURNEND-END OF ROUTINE-C-

CC GKS Version 1.0 March 1, 1990

t t t t

XMX, t*

XMX, #t

XMX, t** t t t t t t t t t t t t t t t t* t t t*t

t

t t

C***********************************************************************f

POINTS

THIS ROUTINE PLOTS POINTS

10

SUBROUTINE POINTS (IU,IZN,IEPT,IMIN,IMAX,JMIN,JMAX,XMN, XMX, t1YMN,YMX,IBOUND,NCOL,NROW,NLAY,IPLOT,NCLR) t DIMENSION XMN(NCOL),XMX(NCOL),YMN(NROW),YMX(NROW), #

1 IBOUND(NCOL,NROW,NLAY) tIOLD=1 tCALL GSMK(l) *CALL GSMKSC(.l) fIF(NCLR.GT.O) THEN fKCLR-NCLR tCALL PKCLR(KCLR) tEND IF t READ(IU,*,END=40) IZL,JLAST,ILAST,KLAST,XLAST,YLAST,ZLAST,ZLLAST,t

IT,XFRST,YFRST,ZLFRST,JFRST,IFRST,KFRST,IZF fIZL= ABS(IBOUND(JLAST,ILAST,KLAST)) fIZF= ABS(IBOUND(JFRST,IFRST,KFRST)) tX=XLAST tY=YLAST tJ=JLAST fI=ILAST tK=KLAST t

B05130 B05140 B05150 B05160 B05170 B05180 B05190 B05200 B05210 B05220 B05230 B05240 B05250 B05260 B05270 B05280 B05290 B05300 B05310 B05320 B05330 B05340 B05350 B05360 B05370 B05380 B05390 B05400 B05410 B05420 B05430 B05440 B05450 B05460 C00010 C00020 C00030 C00040 C00050 C00060 C00070 C00080 C00090 C00100 C00110 C00120 C00130 C00140 C00150 C00160 C00170

C00200 C00210 C00220 C00230 C00240 C00250 C00260 C00270 C00280 C00290 C00300

19

Page 25: A GRAPHICAL KERNEL SYSTEM (GKS) VERSION OF …This report describes a new version of the particle tracking graphics program MODPATH-PLOT that uses the Graphical Kernel System (GKS)

IZONE=IZFIF(IZN.EQ.l) IZONE=IZLDLR=XMX(J)-XMN(J)DLC=YMX(I)-YMN(I)IF(IEPT.EQ.O) THENX-XFRSTY-YFRSTJ-JFRSTI-IFRSTK-KFRSTDLR= (XMX ( J) -XMN ( J) ) /4 .5DU> (YMX (I) -YMN (I) ) /4 . 5END IFISKIP«0IF(IZONE.LE.l.AND.IEPT.EQ.O) ISKIP=1IF(ISKIP.EQ.O) THENIF(J.LT.JMIN.OR.J.GT.JMAX) GO TO 10IF(I.LT.IMIN.OR.I.GT.IMAX) GO TO 10IF(NCLR.EQ.O) THENKCLR=IZONEIF(IZONE.NE.IOLD) CALL PKCLR (KCLR)END IFIF(IEPT.EQ.O) THENISYM=IZONE+1

20 IF(ISYM.LE.5) GO TO 30ISYM=ISYM-4GO TO 20

30 CONTINUECALL SYMBL (X, Y,DLR,DLC, ISYM)ELSEIPLT=1IF(IPLOT.GT.O) THENIF ( IBOUND ( JLAST, I LAST, KLAST) . NE . I PLOT)END IFIF(IPLT.EQ.l) CALL GPM(1,X,Y)END IFIOLD=IZONEEND IFGO TO 10

40 CONTINUEKCLR=1CALL PKCLR (KCLR)RETURNEND

C END OF ROUTINE

IPLT=0

C GKS Version 1.0 March 1, 1990C** ************************************************************ *********$

C #

LINES

. TV?»MC PATH

CCC THI" ^^fC tC** ******************************************************************* **f

C t*** f**** I

SUBROUTINE LINES (IU,IUEP,XMIN,XMAXr YMIN,YMAX,ZMN,ZMX,IDIR, 1IBOUND,NCOL,NROW,NLAY,IVIEW,IPTS,IPROJ,NSEC,NCLR,ISKIP,TMAX, 2IZPART,NPART2)DIMENSION IBOUND(NCOL,NROW,NLAY),ZMN(NLAY),ZMX(NLAY), 1IZPART(NPART2)DIMENSION X(2),Y(2)

ISKP=0CALL EZONES (IBOUND,IZPART,NCOL,NROW,NLAY,NPART2,IUEP)

C00310 C00320 C00330 C00340 C00350 C00360 C00370 C00380 C00390 C00400 C00410 C00420 C00430 C00440 C00450 C00460 C00470 C00480 C00490 C00500 C00510 C00520 C00530 C00540 C00550 C00560 C00570 C00580 C00590 C00600 C00610 C00620 C00630 C00640 C00650 C00660 C00670 C00680 C00690 C00700 C00710 C00720 C00730 C00740 C00750 D00010 D00020 D00030 D00040 D00050 D00060 D00070 D00080 D00090 D00100 D00110 D00120 D00130 D00140 D00150 D00160 D00170 D00180 D00190

20

Page 26: A GRAPHICAL KERNEL SYSTEM (GKS) VERSION OF …This report describes a new version of the particle tracking graphics program MODPATH-PLOT that uses the Graphical Kernel System (GKS)

10

O) KCLR (KCLR)

THEN

IF (IDIR.EQ.O.AND.ISKIP.EQ.l) ISKP=1

CALCULATE SIZE OF MARKER

SMARKl-XMAX-XMINSMARK2 - YMAX-YMINIFCSMARK2.GT.SMARK1) THENSMARK1-SMARK2ELSESMARK2-SMARK1END IFSMARK1- 0.007*SMARK1SMARK2- 0.007*SMARK2

IOLD-1IF(NCLR.GE.O) THENKCLR-NCLRIF(KCLR.EQ.CALL PKCLREND IFIF (NCLR.LT.-1.AND.NCLR.GT.-4)NNN= -NCLRCALL PKPAT (NNN)END IFIC=0

IPC-1CONTINUEIF(IVIEW.EQ.l) THENREADUU, *, END-30) IP,X(2) , Y (2) , ZZL, ZZ, TT, J, I,K LL=K

ELSE IF (IVIEW.EQ.2) THENREAD(IU,*,END=30) IP,XX,X (2) , ZZL, ZZ, TT, J, I,K LL=J

IF(ZZL.GE.O.O) Y(2) = (1.0-ZZL) *ZMN(K) + ZZL*ZMX(K) IF(ZZL.LT.O.O) Y(2)= (l.OE+0+ZZL) *ZMN (K) - ZZL*ZMX(K+1) ELSE IF (IVIEW.EQ.3) THENREAD(IU,*, END-30) IP, X(2) , YY, ZZL, ZZ, TT, J, I,K LL-I

IF(ZZL.GE.O.O) Y(2)= (1. 0-ZZL) *ZMN(K) + ZZL*ZMX(K) IF(ZZL.LT.O.O) Y(2)= (1. OE+O+ZZL) *ZMN (K) - ZZL*ZMX(K+1) END IFIF(IC.EQ.O.OR.IP.NE.IPC) THEN IF(IDIR.EQ.I) THEN IZONE<= IZPART(2*IP-1) ELSEIZONE« IZPART(2*IP) END IFIZONE= ABS(IZONE) IF(NCLR.EQ.O) THENIF(IZONE.NE.IOLD.OR.IC.EQ.O) CALL PKCLR (IZONE) ELSE IF (NCLR.EQ.-4) THENIFdZONE.NE TOLn.OR.TC.EQ.O) CALL PKPAT (IZONE) END IF IOLD-IZONE

LSEC-LL IC-1

GO TO 10END IFIF(X(2).GT.XMAX.OR.X(l).GT.XMAX) GO TO 20IF(X(2).LT.XMIN.OR.X(l).LT.XMIN) GO TO 20IF(Y(2) .GT.YMAX.OR.Yd) .GT.YMAX) GO TO 20

D00200 D00210 D00220 D00230 D00240 D00250 D00260 D00270 D00280 D00290 D00300 D00310 D00320 D00330 D00340 D00350 D00360 D00370 D00380 D00390 D00400 D00410 D00420 D00430 D00440 D00450 D00460 D00470 D00480 D00490 D00500 D00510 D00520 D00530 D00540 D00550 D00560 D00570 n00580 D00590 D00600 D00610 D00620 D00630 D00640 D00650 D00660 D00670 D00680 D00690 D00700 D00710 D00720 D00730 D00740 D00750 D00760 D00770 D00780 D00790 D00800 D00810 D00820 D00830

21

Page 27: A GRAPHICAL KERNEL SYSTEM (GKS) VERSION OF …This report describes a new version of the particle tracking graphics program MODPATH-PLOT that uses the Graphical Kernel System (GKS)

IF(Y(2).LT.YMIN.OR.Y(l).LT.YMIN) GO TO 20IF (ISKP.EQ.O.OR.IZONE.GT.l) THENIF (IPROJ.EQ.l) THENIF (LSEC.EQ.NSEC) THENIF (ABS(TT).LE.TMAX) THENCALL GPL(2,X,Y)IF(TT.LT.O.O.AND.IPTS.EQ.l) CALL SYMBL(X(2),Y(2) , SMARK1, SMARK2,6)END IFEND IFELSE IF(IPROJ.EQ.O) THENIF (ABS(TT).LE.TMAX) THENCALL GPL(2,X,Y)IF(TT.LT.O.O.AND.IPTS.EQ.l) CALL SYMBL(X(2),Y(2),SMARK1,SMARK2,6)END IFEND IFEND IFX(1)=X(2)20

LSEC-LLGO TO 10

30 CONTINUEIF (NCLR.LT.O) THENCALL GSLN(l)END IFRETURNEND

C END OF ROUTINE C C GKS Version 1.0 March 1, 1990

t******************************i r********

CC EZONESCC THIS ROUTINE READS THE ENDPOINT FILE TO GET THE ZONE CODESC FOR THE INITIAL AND FINAL PARTICLE LOCATIONS. IT PUTS THE ZONEC CODES IN THE ARRAY "IZPART"C

********************************

SUBROUTINE EZONES (IBOUND,IZPART,NCOL,NROW,NLAY,NPART2, IUEP) DIMENSION IBOUND(NCOL,NROW,NLAY),IZPART(NPART2)

C

10KOUNT-0READ(IUEP,*,END»20 ) IZL,JLAST,ILAST,KLAST,XLAST,YLAST,ZLAST, IZLLAST,T,XFRST,YFRST,ZLFRST,JFRST,IFRST,KFRST, IZFKOUNT-KOUNT+1N- 2*KOUNT - 1IZPART(N)« IBOUND (JFRST,IFRST,KFRST)IZPART(N+1)- IBOUND (JLAST,ILAST,KLAST)GO TO 10

20 CONTINUERETURNEND

c END OF ROUTINE C GKS Version 1.0 March 1, 1990£***************<

CC PWELLSCC THIS ROUTINE READS WELL DATA AND PLOTS WELLSCC****i

CSUBROUTINE PWELLS (IMIN,IMAX,JMIN,JMAX,KMIN,KMAX,XMN,XMX,

D00840 D00850 D00860 D00870 D00880 D00890 D00900 D00910 D00920 D00930 D00940 D00950 D00960 D00970 D00980 D00990 D01000 D01010 D01020 D01030 D01040 D01050 D01060 D01070 D01080 D01090 D01100 E00010 E00020 E00030 E00040 E00050 E00060 E00070 E00080 E00090 E00100 E00110 E00120 E00130 E00140 E00150 E00160 E00170 E00180 E00190 E00200 E00210 E00220 E00230 E00240 E00250 E00260 E00270 F00010 F00020 F00030 F00040 F00050 F00060 F00070 F00080 F00090 F00100

22

Page 28: A GRAPHICAL KERNEL SYSTEM (GKS) VERSION OF …This report describes a new version of the particle tracking graphics program MODPATH-PLOT that uses the Graphical Kernel System (GKS)

5000

5010

1YMN, YMX, ZMN, ZMX, NCOL, NROW, NLAY, IVIEW, IOWELL, NCLR, 17 , IPROJ, ISLICE)DIMENSION XMN (NCOL) , XMX (NCOL) , YMN (NROW) , YMX (NROW) , ZMN (NLAY) , IZMX(NLAY)

IV= IVIEW*IPROJ IF(NCLR.GE.O) THEN CALL PKCLR (2) END IFWRITE (17, 5000) FORMAT (

105020

ISLICE)

101010

TO 10 GO TO GO TO

1010

WRITE(I7,*) 'WELL DATA BEING READ.. READ (IUWELL, 5010) MXW, ID READ (IUWELL, 5010) NWELLFORMAT (2110)

DO 10 N-l, NWELLREAD (IDWELL, 5020) K, I, J,Q, IFACE IF(IFACE.NE.O) GO TO 10 IF(I.LT.IMIN.OR.I.GT.IMAX) GO TO IF(J.LT.JMIN.OR.J.GT.JMAX) GO TO IF(K.LT.KMIN.OR.K.GT.KMAX) GO TO IF (IV. EQ.l. AND. K.NE. ISLICE) GO IF (IVIEW. EQ. 2. AND. J.NE. ISLICE) IF ( IVIEW. EQ. 3. AND. I. NE IF (IVIEW. EQ.l) THEN X- (XMX ( J) +XMN ( J) ) 12 . 0 Y- (YMX ( I) +YMN ( I) ) 12 . 0 DX=XMX(J)-XMN(J) DY- YMX (I) -YMN (I) ELSE IF(IVIEW.EQ.2) X=(YMX(I)+YMN(I))/2 Y= (ZMX (K) +ZMN (K) ) /2 DX- YMX (I) -YMN (I) DY-ZMX(K)-ZMN(K) ELSE IF(IVIEW.EQ.3) X- (XMX ( J) +XMN ( J) ) /2 Y- (ZMX (K) +ZMN (K) ) /2 DX=XMX(J)-XMN(J) DY-ZMX(K)-ZMN(K) END IFIF (IVIEW. EQ.l) THEN CALL SYMBL (X, Y,DX,DY, 1) ELSECALL SYMBL (X, Y,DX,DY, 0) END IF CONTINUEFORMAT (3110, F10. 0,110)

WRITE (17,*) ' WELL DATA HAS BEEN READ. IF (NCLR.GE.O) CALL PKCLR (1) RETURN END END OF ROUTINE

THEN .0 . 0

THEN00

C-

CC GKS Version 1.0£*******************

C

C C

March 1, 1990************************************************** **f

* SYMBL #

*C THIS ROUTINE DRAWS SYMBOLS # C *£***********************************************************************£

C *SUBROUTINE SYMBL (XC,YC,DELR,DELC,ISYM) #DIMENSION X(20),Y(20) #

F00110 F00120 F00130 F00140 F00150 F00160 F00170 F00180 F00190 F00200 F00210 F00220 F00230 F00240 F00250 F00260 F00270 F00280 F00290 F00300 F00310 F00320 F00330 F00340 F00350 F00360 F00370 F00380 F00390 F00400 F00410 F00420 F00430 F00440 F00450 F00460 F00470 F00480 F00490 F00500 F00510 F00520 F00530 F00540 F00550 F00560 F00570 F00580 F00590 F00600 F00610 F00620 G00010 G00020 G00030 G00040 G00050 G00060 G00070 G00080 G00090 G00100 G00110 G00120

23

Page 29: A GRAPHICAL KERNEL SYSTEM (GKS) VERSION OF …This report describes a new version of the particle tracking graphics program MODPATH-PLOT that uses the Graphical Kernel System (GKS)

X(2) Y<2)

DMIN=DELRIF(DELC.LT.DELR) DMIN=DELC IF(ISYM.EQ.O) THEN

= XC-0.45*DELR= YC-0.45*DELC = XC+0.45*DELR = Yd)

X(2)«= YC+0.45*DELC

X(4) = Y(4)^

X(5) Y<5)<CALL GPL(5,X,Y) ELSE IF(ISYM.EQ.l) THEN X(l)-= XC-0.1625*DMIN Y(l)« YC-0.25*DMIN X(2)- XC+0.1625*DMIN

Y(3)

Y(l)

X(3)-

Y(3)

Y(5)

X(7)

X(8)

XC+0.25*DMINYC-0.1 25*DMINX(3)YC+0.1625*DMINXC+0.1625*DMINYC+0.25*DMINXC-0.1625*DMINY(5)XC-0.25*DMINYC+0.1625*DMINX(7)YC-0.1625*DMIN

X(9) Y(9)« Yd) CALL GPL(9 r X,Y) ELSE IF(ISYM.EQ.2)

XC-0.5*DMIN YC+0.5*DMIN

X(2)« XC+0.5*DMIN Y(2)« YC-0.5*DMIN CALL GPL(2,X,Y) YTEMP=Y(1)

THEN

Y(2)«YTEMP CALL GPL(2 r X,Y) ELSE IFdSYM.EQ.3) XI- XC-0.5*DMIN Yl-= YC-0.433*DMIN

XC+0.5*DMINYlXC

THEN

X2Y2 X3 Y3 YC+0.433*DMIN

Yd)-Yl

Y(2)«Y2CALL GPL(2,X,Y)Xd)-=X2

Y(1)-Y2X(2)=X3Y(2)=Y3CALL GPL(2,X,Y)X(1)«X3Y(1)-Y3X(2)=X1

G00130 G00140 G00150 G00160 G00170 G00180 G00190 G00200 G00210 G00220 G00230 G00240 G00250 G00260 G00270 G00280 G00290 G00300 G00310 G00320 G00330 G00340 G00350 G00360 G00370 G00380 G00390 G00400 G00410 G00420 G00430 G00440 G00450 G00460 G00470 G00480 G00490 G00500 G00510 G00520 G00530 G00540 G00550 G00560 G00570 G00580 G00590 G00600 G00610 G00620 G00630 G00640 G00650 G00660 G00670 G00680 G00690 G00700 G00710 G00720 G00730 G00740 G00750 G00760

24

Page 30: A GRAPHICAL KERNEL SYSTEM (GKS) VERSION OF …This report describes a new version of the particle tracking graphics program MODPATH-PLOT that uses the Graphical Kernel System (GKS)

C

Y(2)=Y1CALL GPL(2,X,Y)ELSE IF (ISYM.EQ.4) THENX(1)=XCX(2)-XCY(1)=YC-0.5*DMINY(2)-YC+0.5*DMINCALL GPL(2,X,Y)X(1)-XC-0.5*DMINX(2)=XC+0.5*DMINY(1)-YCY(2)-YCCALL GPL(2,X,Y)X(1)-XC-0.5*DMINY(1)-=YC-0.5*DMINX(2)-OCC+0.5*DMINY(2)-Y(1)CALL GPL(2,X,Y)X(1)=X{2)Y(2)=YC+0.5*DMINCALL GPL(2,X,Y)Y(1)=Y{2)X(2)-XC-0.5*DMINCALL GPL(2,X,Y)X d ) "X ( 2 )Y(2)=YC-0.5*DMINCALL GPL(2,X,Y)ELSE IF (ISYM.EQ.5) THENX(1)-XCX(2)=XCY(1)-YC-0.5*DMINY(2)=YC+0.5*DMINCALL GPL(2,X,Y)X(1)-XC-0.5*DMINX(2)-XC+0.5*DMINY(l) -YCY(2)-YCCALL GPL(2,X,Y)ELSE IF (ISYM.EQ.6) THENX(1)-XC-0.5*DMINY(1)-YC-0.5*DMINX(2)-XC+0.5*DMINY(2)-Y{1)CALL GPL(2,X,Y)X ( 1 ) -X ( 2 )Y(2)=YC+0.5*DMINCALL GPL(2,X,Y)Y ( 1 ) -Y ( 2 )X(2)-XC-0.5*DMINCALL GPL(2,X,Y)X ( 1 ) -=X ( 2 )Y (2«- '^-Q.5*DMIN

CALL GPL(2,X,Y)END IFRETURNENDTrwn r>v unnTTMT?

G00770G00780G00790G00800G00810G00820G00830G00840G00850G00860G00870G00880G00890G00900G00910G00920G00930G00940G00950G00960G00970G00980G00990G01000G01010G01020G01030G01040G01050G01060G01070G01080G01090G01100G01110G01120G01130G01140G01150G01160G01170G01180G01190G01200G01210G01220G01230G01240G01250G01260G01270G0128"G01290G01300G01310G01320rtfii T*n

25

Page 31: A GRAPHICAL KERNEL SYSTEM (GKS) VERSION OF …This report describes a new version of the particle tracking graphics program MODPATH-PLOT that uses the Graphical Kernel System (GKS)

C #C GKS Version 1.0 March 1, 1990 #^***********************************************************************^C #C YESNO #C *C THIS ROUTINE PRINTS QUESTION PROMPT REQUIRING Y OR N ANSWER. Y AND N #C ARE CONVERTED TO NUMERICAL 0 AND 1 RESPONSE #C *c** ********** ************************** ******************************** ****$C *

SUBROUTINE YESNO(MES,IANS) # CHARACTER*79 MES # CHARACTER*! IA # CHARACTER*10 ANSWR #

10 WRITE(*,5000) MES # WRITE(*,*) t Y - YES; N OR <CR> - NO ] # READ(*, (A10)') ANSWR #

5000 FORMAT(IX,A79) # IA= ' ' *

DO 20 N=l,10 # IF (ANSWR(N:N).NE.' ') THEN # IA= ANSWR(N:N) # GO TO 30 # END IF #

20 CONTINUE #30 CONTINUE t

IANS= -1 t IF(IA.EQ.'Y 1 .OR.IA.EQ.'y') IANS=1 t IFdA.EQ.'N'.OR.IA.EQ.'n'.OR.IA.EQ. ' ) IANS-0 t IF(IANS.EQ.-l) GO TO 10 t RETURN END

C END OF ROUTINE

CC GKS Version 1.0 March 1, 1990C***********************************************************************

CC DGRIDCC THIS ROUTINE DRAWS THE GRIDCQ***********************************************************************

CSUBROUTINE DGRID(IMIN,IMAX,JMIN,JMAX,XMN,XMX,YMN,YMX,IBOUND,NCOL,

1NROW,IGL,IXS)DIMENSION IBOUND(NCOL,NROW),XMN(NCOL),XMX(NCOL),YMN(NROW), 1YMX(NROW)DIMENSION XS(2),YS(2)

CDO 10 I=IMIN,IMAXDO 10 J-JMIN,JM£"ITOP=0IFd.GT.l) ITOP=IBOUND(J,I-1)XS(1)= XMN(J)YS(1)« YMX(I)XS(2)= XMX(J)YS(2)=YS(1)IF (ITOP.EQ.O.AND.IBOUND(J,I).EQ.O) GO TO 10IF(ITOP.EQ.O.OR.IBOUND(J,I).EQ.O) THENCALL GSLN(l)CALL GPL(2,XS,YS)ELSE IF(IGL.EQ.l.OR.I.EQ.IMIN) THENIF(I.NE.IMIN) CALL GSLN(l)

H00010 H00020 H00030 H00040 H00050 H00060 H00070 H00080 H00090 H00100 H00110 H00120 H00130 H00140 H00150 H00160 H00170 H00180 H00190 H00200 H00210 H00220 H00230 H00240 H00250 H00260 H00270 H00280 H00290 H00300 H00310 H00320 H00330 H00340 100010 100020 100030 100040 100050 100060 100070 100080 100090 100100 100110 100120 100130 100140 100150 100160 100170 100180 100190 100200 100210 100220 100230 100240 100250 100260 100270 100280 100290 100300

26

Page 32: A GRAPHICAL KERNEL SYSTEM (GKS) VERSION OF …This report describes a new version of the particle tracking graphics program MODPATH-PLOT that uses the Graphical Kernel System (GKS)

IF(I.EQ.IMIN) CALL GPL(2 r XS,YS) END IF

10 CONTINUEDO 20 J=JMIN,JMAXIBOT=0IFdMAX.LT.NFXS(1)= XMN(J)YS(1)= YMK(IMAX)XS(2)= XMX(J)YS(2)=YS(1)IF(IBOT.EQ.O.IFdBOT.EQ.O.CALL GSLN(l)CALL GPL(2,XS,YS)ELSECALL GSLN(2)CALL GPL(2,XS,YS)END IF

20 CONTINUEDO 30 J=JMIN,JMAX DO 30 I=IMIN,IMAX JLEFT=0 IF(J.GT.l) JI XS<1)= XMN(J) IF(IXS.EQ.l) YS(1)= YMX(I) XS(2)~XS(1) YS(2)-YMN(I) IF(JLEFT.EQ.O IF(JLEFT.EQ.O CALL GSLN(l) CALL GPL(2,XS,YS) ELSE IF(IGL.E IF(J.NE.JMIN) IF(J.EQ.JMIN) CALL GPL(2,XS,YS) END IF

30 CONTINUEDO 40 I=IMIN,IMAXJRIGHT=0IF(JMAX.LT,XS(1)= XMX(JMAX)IFdXS.EQ.l) XYS(1)- YMXd)XS(2)=XS(1)YS(2)=YMNd)IF(JRIGHT.EQ.OIF(JRIGHT.EQ.OCALL GSLN(l)CALL GPL(2 r XS r YS)ELSECALL GSLN(2)CALL GPL(2,XS,YS)END IF

40 CONTINUECALL GSLN(l) CALL PKCLR (1) RETURN END

C END OF ROUTINE

CALL GSLN(2)YS)

MAX

)W) IBOT=IBOUND(J

IX)

,IMAX+1)

LND.IBOUND(J, IMAX) .EQ.O) GO TO 20>R.IBOOND(J, IMAX)

YS)

YS)

(MAXMAX

FT=IBOUND(J-1,I)

S(1)=XMX(J)

AND.IBOUND(J,I) .

.EQ.O) THEN

100310100320100330100340100350100360100370100380100390100400100410100420100430100440100450100460100470100480100490100500100510100520100530100540

# 100550# 100560# 100570t 100580# 100590

EQ.O) GO TO 30 # 100600OR.IBOUND(J, I) .EQ.O) THEN # 100610

YS)M.OR.J.EQ.JMIN)CALL GSLNd)CALL GSLN(2)YS)

MAX

# 100620# 100630

THEN # 100640# 1006504 100660# 100670t 1006804 100690# 100700# 100710

)L) JRIGHT=IBOUND(JMAX+1,I) # 100720tX)S(1)=XMN(JMAX)

.AND.IBOOND(JMAX

.OR.IBOUND(JMAX,

YS)

YS)

# 100730# 100740# 100750# 100760# 100770

, I) .EQ.O) GO TO 40 # 100780I) .EQ.O) THEN # 100790

4 100800# 1008104 1008204 1008304 1008404 1008504 100860t 100870t 1008804 100890# 100900

jt rnnoi n

27

Page 33: A GRAPHICAL KERNEL SYSTEM (GKS) VERSION OF …This report describes a new version of the particle tracking graphics program MODPATH-PLOT that uses the Graphical Kernel System (GKS)

C GKS Version 1.0 March 1, 1990£**********************************************************************

CC SCPLOTCC THIS ROUTINE DETERMINES THE SIZE OF THE PLOT AND COMPOTES THE SCALEC OF THE PLOTC£******************************************** ************************

5000

10

5010

SUBROUTINE SCPLOT (PLONG,PL,PSHORT,PS,IPAGE,XMIN,XMAX,YMIN,YMAX, 1XL,XR,YB,YT,JUNITS,KIND) CHARACTER*?9 MES IPAGE=1IF (KIND.NE.O) THENWRITE (*,*)'WHAT ARE THE UNITS OF DISTANCE IN THE MODEL ?' WRITE (*,*)' 1 - FEET 1 WRITE (*,*)' 2 - METERS' READ (*,*) JUNITS ELSE JUNITS=1 END IFUNITS=12.0 t IF(JUNITS.EQ.2) UNITS=39.0 t PL=(1.0-0.136)*PLONG # PS=(1.0-0.294)*PSHORT XLNG=XMAX-XMIN YLNG=YMAX-YMIN

R=YLNG/XLNGPSPL=PS/PLIF(R.LE.PSPL) THENSCA=XLNG*UNITS/PL t YLNG=PSPL*XLNG t

ELSE t SCA=YLNG*UNITS/PS t XLNG=YLNG/PSPL t

END IF t SCMAX=SCA t IF (KIND.NE.O) THEN t WRITE (*,5000) SCMAX t FORMAT(' MAXIMUM SIZE PLOT IS AT SCALE OF (1:',F11.0, ) ) MES= 'IS THIS SCALE ACCEPTABLE ?' CALL YESNO(MES,IANS) ELSE IANS=1 END IFIF(IANS.EQ.O) THEN WRITE (*,*)'ENTER NEW SCALE (1:M)' t WRITE (*,*)' ENTER: M' t READ (*,*) SCA # IF(SCA.LT.SCMAX) THEN t WRITE (*,5010) SCMAX # FORMAT(' VALUE OF M MUST BE LARGER THAN ',F11.0) t

GO TO 10 # END IF t XLNG=XLNG*SCA/SCMAX t YLNG=YLNG*SCA/SCMAX t END IF t XL= ((XMAX+XMIN) 12. ) - XLNG/2.0 t XR= XL + XLNG t YB= ((YMAX+YMIN)/2.) - YLNG/2.0 t YT= YB +YLNG t CALL GCLRWK (1,0) t

J00010 J00020 J00030 J00040 J00050 J00060 J00070 J00080 J00090 J00100 J00110 J00120 J00130 J00140 J00150 J00160 J00170 J00180 J00190 J00200 J00210 J00220 J00230 J00240 J00250 J00260 J00270 J00280 J00290 J00300 J00310 J00320 J00330 J00340 J00350 J00360 J00370 J00380 J00390 J00400 J00410 J00420 J00430 J00440 J00450 J00460 J00470 J00480 J00490 J00500 J00510 J00520 J00530 J00540 J00550 J00560 J00570 J00580 J00590 J00600 J00610 J00620 J00630 J00640

28

Page 34: A GRAPHICAL KERNEL SYSTEM (GKS) VERSION OF …This report describes a new version of the particle tracking graphics program MODPATH-PLOT that uses the Graphical Kernel System (GKS)

RETURNEND

CC GKS Version 1.0 March 1, 1990

CC PRIVERC

f J00650f J00660

. f J00670

* K00010* K00020

*****************$ K00030

* K00040# K00050# K00060

C THIS ROUTINE READS 1IVER DATA AND PLOTS RIVER CELL LOCATIONS # K00070Cc******************************************************C

SUBROUTINE PRIVER (IMIN, IMAX, JMIN, JMAX, KMIN,KMAX,1 YMX, NCOL, NROW, NLAY, IURIV, NCLR, IVIEW, IBUFF, 17)DIMENSION XMN (NCOL) , XMX (NCOL) , YMX (NROW) , YMN (NROW)

1 I BUFF (NCOL, NROW, NLAY)C

DO 10 K=1,NLAYDO 10 1=1, NROWDO 10 J=1,NCOL

10 IBUFF (J, I,K)-0IF (NCLR.GE.O) THENCALL PKCLR (4)END IFWRITE (17, 5000)

1 . ,

WRITE (17,*) 'RIVER DATA NOW BEING READ...'READ (IURIV, 5010) MX, IRREAD (IURIV, 5010) ITMP

5010 FORMAT (3110, 3F10. 0,110)IF(ITMP.EQ.O) GO TO 30DO 20 N=1,ITMPREAD (IURIV, 5010) K, I, J, H, C, RB, IFACEIF(I.LT.IMIN.OR.I.GT.IMAX) GO TO 20IF(J.LT. JMIN. OR. J.GT. JMAX) GO TO 20IF(K.LT.KMIN.OR.K.GT.KMAX) GO TO 20IF (IBUFF(J, I,K) .EQ.l) GO T<"» 20IBUFF(J,I,K)=1IF (IFACE. GT. 6) GO TO 20IF (IVIEW. EQ.l) THENDX=XMX(J)-XMN(J)DY=YMX(I)-YMN(I)X= (XMX(J)+XMN(J))/2.0Y= (YMX(I)+YMN(I))/2.0CALL SYMBL (X, Y,DX,DY, 0)END IF

20 CONTINUE30 CONTINUE

WRITE (I 7,*) ' RIVER DATA HAS BEEN READ'IF (NCLR.GE.O) CALL PKCLR (1)RETURNEND

r* _____ T?un oir orMTPTMi? ______ ______ ____ ___

# K00080*****************f K00090

# K00100XMN, XMX, YMN, # K00110

# K00120# K00130* K00140f K00150f K00160# K00170* K00180# K00190* K00200* K00210* K00220# K00230

f K00240

* K00250t K00260# K00270t K00280t K00290t K00300t K00310* K00320t K00330t K00340t K00350t K00360# K00370* K00380t K00390t K00400# K00410t K00420* K00430t K00440t K00450t K00460# K00470t K00480* K00490t K00500t K00510

_ ____ t vnn^on

29

Page 35: A GRAPHICAL KERNEL SYSTEM (GKS) VERSION OF …This report describes a new version of the particle tracking graphics program MODPATH-PLOT that uses the Graphical Kernel System (GKS)

cC GKS Version 1.0 March 1, 1990

CCCCC

SPACE

THIS ROUTINE ALOCATES SPACE IN THE MASTER ARRAY AND COMPOTESPOINTERS FOR ARRAY LOCATIONS WITHIN THE MASTER ARRAY

C

C

C

C

CCC

SUBROUTINE SPACE (LENA, NCOL, NROW, NLAY, NCBL, IGRID, NZDIM, NUNIT,1LCIBOU, LCXMX, LCXMN, LCDX, LCYMX, LCYMN, LCDY, LCZBOT, LCZTOP,2LCDZ, LCZMX, LCZMN, LCHEAD, LCLAYC, LCNCON, LCDZCB, LCIBUF,3LCIUN, LCIBYZ, LCIBXZ, LCIZN, NPART, IU, 17, LIMIT)

INTEGER*4 LENA, ISUM, ISMl,NDIFINTEGER*4 LCIBOU, LCXMX, LCXMN, LCDX, LCYMX, LCYMN, LCDY, LCZBOT, LCZTOP,

2LCDZ, LCZMX, LCZMN, LCHEAD, LCLAYC, LCNCON, LCDZCB, LCIBUF,3LCIUN, LCIBYZ, LCIBXZ, LCIZN

NUNIT=8

ENTER DIMENSION DATA

READ ( IU, 5000) NCOL, NROW, NLAY, NCBL, IGRID5000 FORMAT(SIIO)C

C

C

NCRL=NCOL*NROW*NLAY

IF ( IGRID. EQ.l) THENNZDIM=NLAYELSENZDIM=NCRLEND IF

ISUM=1LCIBOU=ISUMISUM=ISUM+NCRLLCXMX=ISUMISUM=ISUM+NCOLLCXMN=ISUMISUM=ISUM+NCOLLCDX=ISUMISUM=ISUM+NCOLLCYMX-ISUMISUM=ISUM+NROWLCYMN=ISUMISUM=ISUM+NROWLCDY=ISUMISUM=ISUM+NROWLCZBOT=ISUMISUM=ISUM+NZDIMLCZTOP=ISUMISUM-ISUM+NZDIMLCDZ=ISUMISUM=ISUM+NLAYLCZMX-ISUMISUM=ISUM+NLAYLCZMN-ISUMISUM=ISUM+NLAYLCHEAD=ISUMISUM=ISUM+NCRLLCLAYC=ISUM

# L00010 f L00020

*t L00030 *# L00040*t L00050*# L00060# L00070# L00080t L00090

*t L00100 # L00110# L00120# L00130f L00140# L00150# L00160t L00170# L00180f L00190f L00200# L00210t L00220* L00230f L00240# L00250# L00260# L00270# L00280t L00290t L00300# L00310# L00320# L00330t L00340# L00350# L00360# L00370# L00380# L00390# L00400t L00410t L00420t L00430f L00440f L00450# L00460t L00470f L00480f L00490# L00500# L00510* T 00520t L00530f L00540* L00550t L00560# L00570f L00580# L00590t L00600t L00610t L00620# L00630t L00640

30

Page 36: A GRAPHICAL KERNEL SYSTEM (GKS) VERSION OF …This report describes a new version of the particle tracking graphics program MODPATH-PLOT that uses the Graphical Kernel System (GKS)

ISUM=ISUM+NLAYLCNCON=ISUMISUM=ISUM+NLAYLCDZCB=ISUMISUM=ISUM+NLAYLCIBUF-ISUMISOM-ISDM + NCRLLCIUN=ISUMISUM=ISOM + NDNITLCIBYZ=ISUMISUM=ISUM + (NROW*NLAY)LCIBXZ=ISUMISUM=ISUM + (NCOL*NLAY)ISM1=ISUM-1NDIF=LENA-ISM1IF(LIMIT.EQ.l) THENIF (NDIF.GT.32000) NDIF-32000END IFNPART= NDIF/2IF (NPART.LT.l) THENWRITE (*,*) 1'THE SIZE OF THE MASTER ARRAY IS NOT LARGE ENOUGH.'WRITE (*,*) 'DIMENSION THE MASTER ARRAY: A(LENA)'WRITE (*,5010) ISM1WRITE (17,*) 1'THE SIZE OF THE MASTER ARRAY IS NOT LARGE ENOUGH.'WRITE (17,*) 'DIMENSION THE MASTER ARRAY: A(LENA)'WRITE (17,5010) ISM1

5010 FORMAT (' WITH LENA -',18,' + 2 X (NUMBER OF PARTICLES)')STOPEND IFLCIZN=ISUMISUM=ISUM + (2*NPART)ISM1=ISUM-1WRITE (*,5020) NPART

5020 FORMAT (' THE MAXIMUM NUMBER OF PARTICLES FOR THIS RUN ISWRITE (17,5030) NPART

5030 FORMAT(' MAXIMUM NUMBER OF PARTICLES IS ',18)WRITE (17,5040) ISMl,LENA

5040 FORMAT(I8,' ELEMENTS OUT OF ',18,' USED IN "A" ARRAY')IF(ISMl.GT.LENA) STOPRETURNEND

C END OF ROUTINE

CC GKS Version 1.0 March l f 1990

',18)

CC DATINCC THIS ROUTINE READS IN DATAC #Q*****+*****************************************************************$

C #SUBROUTINE DATIN (LAYCON,NCON,HEAD,XMX,XMN,YMX,YMN,DELR, #IDELC,DELZ,DELZCB,ZTOP,ZBOT,ZMN,ZMX,IBOUND,IUNIT, NCOL,NROW,NLAY, #2NUNIT,NZDIM,IGRID,NCBL,II,17) #

C *CHARACTER*16 TEXT #INTEGER*4 KSTP,KPER,NC,NR,K #DIMENSION LAYCON(NLAY),NCON(NLAY),DELR(NCOL),DELC(NROW),DELZ(NLAY)#1,DELZCB(NLAY),XMX(NCOL),YMX(NROW),ZTOP(NZDIM),ZBOT(NZDIM), #2HEAD(NCOL,NROW,NLAY),IBOUND(NCOL,NROW,NLAY),XMN(NCOL),YMN(NROW), #4IUNIT(NUNIT),ZMN(NLAY), ZMX(NLAY) #

L00650 L00660 L00670 L00680 L00690 L00700 L00710 L00720 L00730 L00740 L00750 L00760 L00770 L00780 L00790 L00800 L00810 L00820 L00830 L00840 L00850 L00860 L00870 L00880 L00890 L00900 L00910 L00920 L00930 L00940 L00950 L00960 L00970 L00980 L00990 L01000 L01010 L01020 L01030 L01040 L01050 L01060 L01070 L01080 M00010 M00020 M00030 M00040 M00050 M00060 M00070 M00080 M00090 M00100 M00110 M00120 M00130 M00140 M00150 M00160 M00170 M00180 M00190 M00200

31

Page 37: A GRAPHICAL KERNEL SYSTEM (GKS) VERSION OF …This report describes a new version of the particle tracking graphics program MODPATH-PLOT that uses the Graphical Kernel System (GKS)

IU=I1WRITE (*,*) 'READING MODPATH DATA FILES... 1 WRITE (17, 5000)

5000 FORMAT ('

WRITE (17, 5010) NCOL, NROW, NLAY, NCBL 5010 FORMAT(I5, f COLUMNS ',15, ' ROWS', 15,' LAYERS', 15, CONFINING LAYERS

1'J

WRITE (17, 5020) IGRID5020 FORMAT (' IGRID (GRID TYPE CODE) IS ',12) CC READ UNIT NUMBERS FOR INPUT FILES C

READ(ID,5030) (IUNIT(N) ,N=1,NUNIT) 5030 FORMAT(16I5)

WRITE (17, 5000)WRITE (17, 5040) (IUNIT<N) ,N=1, 8)

5040 FORMAT (' IUNIT ARRAY: ',814) CC LAYER TYPE CODES C

READ(I1,5050) (LAYCON (N) ,N=1,NLAY) 5050 FORMAT (4 012)

WRITE (17, 5000)WRITE (17,*) -LAYCON (LAYER TYPE CODES) :'WRITE (17, 5060) (LAYCON (N) ,N=1, NLAY)

5060 FORMAT (2513) CC CONFINING BED CODES C

IF(NCBL.GT.O) THENREAD (II, 5050) (NCON (N) ,N=1,NLAY)ELSEDO 10 N=1,NLAYNCON(N)=0END IFIF (NCBL. EQ.O) THENWRITE (17, 5000)WRITE (17,*) -NO CONFINING LAYERS. NCON - 0 FOR ALL LAYERS.'ELSEWRITE (17, 5000)WRITE (17,*) 'NCON (CONFINING LAYER CODES) :'WRITE (17, 5060) (NCON (N) ,N=1, NLAY)END IFIF(NCBL.GT.O) THEN

DO 20 N=1,NLAYIF (NCON (N) .EQ.O) GO TO 20NN=NN+1NCON(N)=NNCONTINUEEND IF

10

20

CC DELR, GRID SPACING ALONG A ROW (X-DIRECTION)C

WRITE (17, 5000)WRITE (17,*) 'DELR ARRAY NOW BEING READ...'CALL IN1DR (IU, DELR, NCOL, 17)

COMPUTE XMAX ARRAY

XMX(1)=DELR(1) XMN(1)=0.0

M00210 M00220 M00230 M00240 M00250 M00260 M00270 M00280 M00290 M00300 M00310 M00320 M00330 M00340 M00350 M00360 M00370 M00380 M00390 M00400 M00410 M00420 M00430 M00440 M00450 M00460 M00470 M00480 M00490 M00500 M00510 M00520 M00530 M00540 M00550 M00560 M00570 M00580 M00590 M00600 M00610 M00620 M00630 M00640 M00650 M00660 M00670 M00680 M00690 M00700 M00710 M00720 M00730 M00740 M00750 M00760 M00770 M00780 M00790 M00800 M00810 M00820 M00830 M00840

32

Page 38: A GRAPHICAL KERNEL SYSTEM (GKS) VERSION OF …This report describes a new version of the particle tracking graphics program MODPATH-PLOT that uses the Graphical Kernel System (GKS)

DO 30 J=2,NCOLXMN(J)=XMX(J-1)

30 XMX(J)-XMX(J-1)+DELR(J) CC DELC, GRID SPACING ALONG A COLUMN (Y-DIRECTION) C

WRITE(17,5000)WRITE(17,*) 'DELC ARRAY NOW BEING READ...'CALL IN1DR (ID,DELC,BROW,17J

40 C C C

COMPOTE YMAX ARRAY

YMX(NROW)-DELC(NROW) YMN(NROW)-0.0 DO 40 1-2,NROW II-NROW+1-I YMN(II)-YMX(II+1) YMX(II)-YMX(II-H)+DELC(II)

READ VERTICAL COORDINATE DATA

50

IF (IGRID.EQ.l) THENWRITE(17, 5000)WRITE(17,*) 'DELZ ARRAY NOW BEING READ...'CALL IN1DR (ID,DELZ,NLAY,I7)IF(NCBL.GT.O) THENWRITE(17, 5000)WRITE(17,*) 'DELZCB ARRAY NOW BEING READ...'CALL IN1DR (ID,DELZCB,NLAY,17)ELSEDO 50 N-1,NLAYDELZCB(N)=0.0END IFREAD(ID,5070) ZBL1

5070 FORMAT(FIO.O)ZBOT(1)-ZBL1WRITE(17,5000)WRITE(17,5080) ZBOT(l)

5080 FORMAT(' BOTTOM ELEVATION OF LAYER 1 IS',E13.5)ZTOP(l)- ZBOT(l) + DELZ(l)DO 60 K=2,NLAYZTOP(K)- ZBOT(K-l) - DELZCB(K-l)ZBOT(K)- ZTOP(K) - DELZ(K)

60 CONTINUEELSEDO 70 K=1,NLAYKP- 1 + (K-1)*NCOL*NROWIF(LAYCON(K).NE.1) THENWRITE(17,5000)WRITE(17,5090) K

5090 FORMAT(' TOP ELEVATION OF LAYER',14, 1 NOW BEING READ... 1 )CALL IN2DR (ID, ZTOP {""" """OL,NPOW, 17)END IFWRITE(17,5000)WRITE(17,5100) K

5100 FORMAT(' BOTTOM ELEVATION OF LAYER',14,' NOW BEING READ..CALL IN2DR (ID,ZBOT(KP),NCOL,NROW,17)CONTINUEEND IF

IBOUND DATA

DO 80 K=1,NLAY WRITE(I7,5000)

70

C C C

M00850 M00860 M00870 M00880 M00890 M00900 M00910 M00920 M00930 M00940 M00950 M00960 M00970 M00980 M00990 M01000 M01010 M01020 M01030 M01040 M01050 M01060 M01070 M01080 M01090 M01100 M01110 M01120 M01130 M01140 M01150 M01160 M01170 M01180 M01190 M01200 M01210 M01220 M01230 M01240 M01250 M01260 M01270 M01280 M01290 M01300 M01310 M01320 M01330 M01340 M01350 M01360 M01370 M01380 M01390 M01400 M01410 M01420 M01430 M01440 M01450 M01460 M01470 M01480

33

Page 39: A GRAPHICAL KERNEL SYSTEM (GKS) VERSION OF …This report describes a new version of the particle tracking graphics program MODPATH-PLOT that uses the Graphical Kernel System (GKS)

WRITE(17,5110) K5110 FORMAT( IBODND ARRAY FOR LAYER 1 ,14, NOW BEING READ... 1 )

CALL IN2DI (ID,IBOUND(1,1,K),NCOL,NROW,17) CONTINUE80

C C C

READ HEADS

DO 90 K-1,NLAYDO 90 I-1,NROWDO 90 J=1,NCOL

90 HEAD(J, I,K)-0.IUHED-IUNIT(8)IF (IOHED.NE.O) THEN

100 CONTINUEREAD (IDHED,END*110) KSTP,KPER,PERTIM,TOTIM, TEXT, NC,NR, KIF (TEXT.NE. 1 HEAD 1 ) THENWRITE (*,*) 'HEAD FILE DOES NOT CONTAIN HEAD DATA. 1WRITE (17,*) 'HEAD FILE DOES NOT CONTAIN HEAD DATA. 1STOPEND IFWRITE(17,5000)WRITE(17,5120) K

5120 FORMAT(' HEADS NOW BEING READ FOR LAYER 1 ,14)READ(IDHED) ((HEAD(J,I,K),J«1,NCOL) , I«1,NROW)GO TO 100END IF

110 CONTINUEWRITE(17,*) 'HEADS HAVE BEEN READ 1IF(IGRID.EQ.O) THENDO 140 K=1,NLAYDELZ(K)-0.0COUNT-0.0DO 120 I-1,NROWDO 120 J-1,NCOLIF(IBOUND(J,I,K).EQ.O.OR.HEAD(J,I,K).GT.l.OE+29) GO TO 120COUNT-COUNT*1.OE+0JIK- (K-1)*NCOL*NROW + (I-1)*NCOL + JIF(LAYCON(K).NE.l) THENDELZ(K)-DELZ(K) + (ZTOP(JIK)-ZBOT(JIK))ELSEDELZ(K)«DELZ(K) + (HEAD(J,I,K)-ZBOT(JIK))END IF

120 CONTINUEDELZ(K)=DELZ(K)/COUNTDELZCB(K)«0.0COUNT-0.0IF(NCON(K).EQ.O) GO TO 140DO 130 I«1,NROWDO 130 J-1,NCOLIF(IBODND(J,I,K).EQ.O) GO TO 130COUNT-COUNT*1.OE+0JIK- (K-1)*NCOL*NROW + (I-1)*NCOL + JJIK1-JIK+(NCOL*NROW)DELZCB(K)- DELZCB(K) + (ZBOT(JIK)-ZTOP(JIK1))

130 CONTINUEDELZCB(K)-DELZCB(K)/COUNT

140 CONTINUEZMX(NLAY)-DELZ(NLAY)ZMN(NLAY)-0.0DO 150 K-2,NLAYKK-NLAY+1-KZMN(KK)-ZMX(KK+1)+DELZCB(KK)ZMX(KK)-ZMN(KK)+DELZ(KK)

150 CONTINUE

M01490 M01500 M01510 M01520 M01530 M01540 M01550 M01560 M01570 M01580 M01590 M01600 M01610 M01620 M01630 M01640 M01650 M01660 M01670 M01680 M01690 M01700 M01710 M01720 M01730 M01740 M01750 M01760 M01770 M01780 M01790 M01800 M01810 M01820 M01830 M01840 M01850 M01860 M01870 M01880 M01890 M01900 M01910 M01920 M01930 M01940 M01950 M01960 M01970 M01980 M01990 M02000 M02010 M02020 M02030 M02040 M02050 M02060 M02070 M02080 M02090 M02100 M02110 M02120

34

Page 40: A GRAPHICAL KERNEL SYSTEM (GKS) VERSION OF …This report describes a new version of the particle tracking graphics program MODPATH-PLOT that uses the Graphical Kernel System (GKS)

160

170

C

C

END IFIF (IGRID.EQ.l) THENIF(LAYCONU) .EQ.l) THENDELZ(1)=0.0COUNT=0 . 0DO 160 I=1,NROWDO 160 J=1,NCOLIF(IBOOND(J,I,1) .EQ.O.OR.HEAD(J, 1,1) .GT.l.OE+29) GO TO 160COUNT=COUNT+1 . OE+0DELZ(1)=DELZ(1) + (HEAD ( J, I, 1) -ZBOT (1) )CONTINUEDELZ ( 1 ) =DELZ ( 1 ) /COUNTEND IFZMX(1)=ZBOT(1) + DELZ(l)ZMN(1)=ZBOT(1)DO 170 K=2,NLAYZMX(K)=ZTOP(K)ZMN(K)-ZBOT(K)CONTINUEEND IFRETURNENDWMTN f*\V* TJ/^TTPTMC* _ _ ____ _

C GKS Version 1.0 March 1, 1990

CCC

IN2DR

C THIS SUBROUTINE READS A TWO DIMENSIONAL ARRAY OF REAL NUMBERS.Cc****

C

C

5000

10

5010

C

20

30

40

SUBROUTINE IN2DR (IU, X, JJ, II, 17)DIMENSION X(JJ, II)CHARACTER*20 FMT

READ (IU, 5000) LOCAT, CNSTNT, FMT, IPRNFORMAT ( 110, F10.0,A20, 110)IF ( LOCAT. LE.O) THENDO 10 1=1,11DO 10 J=1,JJX(J, I)= CNSTNTWRITE (17, 5010) CNSTNTFORMAT (' CONSTANT VALUE OF',E13.5)RETURNEND IF

IF(FMT.EQ.' ') THENDO 20 1=1,11READ(LOCAT,*) (X( J, I) , J=l, JJ)CONTINUEELSEDO 30 1=1,11RE AD (LOG AT, FMT) (X ( J, I) , J=l, JJ)CONTINUEEND IFIF (CNSTNT. GT. O.O.OR.CNSTNT.LT.O.O) THENDO 40 1=1,11DO 40 J=1,JJX(J, I)= CNSTNT*X(J, I)END IFIF(IPRN.GT.O) THENDO 50 1=1,11

M02130M02140M02150M02160M02170M02180M02190M02200M02210M02220M02230M02240M02250M02260M02270M02280M02290M02300M02310M02320M02330M02340

N00010N00020N00030 N00040N00050N00060N00070N00080N00090 N00100N00110N00120N00130N00140N00150N00160N00170N00180N00190N00200N00210N00220N00230N00240N00250N00260N00270N00280N00290N00300N00310N00320N00330N00340N00350N00360N00370N00380N00390N00400N00410

35

Page 41: A GRAPHICAL KERNEL SYSTEM (GKS) VERSION OF …This report describes a new version of the particle tracking graphics program MODPATH-PLOT that uses the Graphical Kernel System (GKS)

WRITE(17,5020) (X {J, I), J=l, JJ) 50 CONTINUE

ELSEWRITE(17,*) ' DATA WAS READ BUT NOT PRINTED'END IF

5020 FORMAT(10E13.5) C

RETURNEND

C END OF ROUTINE

CC GKS Version 1.0 March 1, 1990Q*********************************************************

CC IN1DRCC THIS SUBROUTINE READS A ONE DIMENSIONAL ARRAY OF REAL NUMBERS.C

SUBROUTINE IN1DR (IU,X,JJ,17)DIMENSION X(JJ)CHARACTER*20 FMT

CREAD(IU,5000) LOGAT,CNSTNT,FMT,IPRN

5000 FORMAT(I10,F10.0,A20,I10)IF(LOCAT.LE.O) THENDO 10 J-1,JJ

10 X(J>- CNSTNTWRITE(17,5010) CNSTNT

5010 FORMAT(' CONSTANT VALUE OF',E13.5)RETURNEND IF

CIF(FMT.EQ.« ') THENREAD(LOCAT,*) (X(J),J=l,JJ)ELSEREAD(LOGAT,FMT) (X(J),J=l,JJ)END IFIF (CNSTNT.GT.O.O.OR.CNSTNT.LT.O.O) THENDO 20 J=1,JJX(J)«= CNSTNT*X(J)END IF

***********

20

CIF(IPRN.GT.O) THENWRITE(17,5020) (X(J),J=l,JJ)

5020 FORMAT(10E13.5)ELSEWRITE(17,*) DATA WAS READ BUT NOT PRINTED'END IFRETURNEND

C END OF ROUTINE

C C GKS Version 1.0 March 1, 1990

CC IN2DICC THIS SUBROUTINE READS A TWO DIMENSIONAL ARRAY OF INTEGERS.C

SUBROUTINE IN2DI (IU,N,JJ,II,17)

N00420 N00430 N00440 N00450 N00460 N00470 N00480 N00490 N00500 N00510 000010 000020 000030 000040 000050 000060 O00070 000080 O00090 000100 O00110 000120 O00130 000140 000150 000160 000170 O00180 000190 O00200 000210 000220 000230 000240 000250 000260 000270 000280 000290 000300 000310 000320 O00330 000340 000350 000360 O00370 000380 O00390 000400 O00410 000420 O00430 P00010 P00020 P00030 P00040 P00050 P00060 P00070 P00080 P00090 P00100 P00110

36

Page 42: A GRAPHICAL KERNEL SYSTEM (GKS) VERSION OF …This report describes a new version of the particle tracking graphics program MODPATH-PLOT that uses the Graphical Kernel System (GKS)

DIMENSION N(JJ,II) #CHARACTER*20 FMT #

CREAD(ID,5000) LOCAT,ICON,FMT,IPRN

5000 FORMAT(2110,A20,110)IF(LOCAT.LE.O) THENDO 10 1-1,11DO 10 J=1,JJ

10 N(J,IJ- ICONWRITE(17,5010) ICON

5010 FORMAT(' CONSTANT VALUE OF'.IIO)RETURNEND IF

CIF(FMT.EQ.' ') THENDO 20 1-1,11READ(LOCAT,*) <N(J,I),J-l,JJ)

20 CONTINUEELSEDO 30 1-1,11READ(LOGAT,FMT) (N(J,I) , J-l,JJ)

30 CONTINUEEND IFIF (ICON.NE.O) THENDO 40 1=1,11DO 40 J-1,JJ

40 N(J, I)- ICON*N(J, I)END IFIF(IPRN.GT.O) THENDO 50 1=1,11WRITE(17,5020) (N(J,I),J-l,JJ)

50 CONTINUEELSEWRITEU7,*) DATA WAS READ BUT NOT PRINTED 1END IF

5020 FORMAT(2515) C

RETURNEND

C END OF ROUTINE

C C GKS Version 1.0 March 1, 1990Q*******************************************************

C

C IN1DICC THIS SUBROUTINE READS A ONE DIMENSIONAL ARRAY OF INTEGERS.CQ***********************************************************************

CSUBROUTINE IN1DI (IU,N,JJ,17)"" T'SION N(JJ)CR«RJ-.CTER*20 FMT

CREAD(IU,5000) LOCAT,ICON,FMT, IPRN

5000 FORMAT(2110,A20,110)IF(LOCAT.LE.O) THENDO 10 J=1,JJ

10 N(J)- ICONWRITE(17,5010) ICON

5010 FORMAT(' CONSTANT VALUE OF',110)RETURNEND IF

C

P00120 P00130 P00140 P00150 P00160 P00170 P00180 P00190 P00200 P00210 P00220 P00230 P00240 P00250 P00260 P00270 P00280 P00290 P00300 P00310 P00320 P00330 P00340 P00350 P00360 P00370 P00380 P00390 P00400 P00410 P00420 P00430 P00440 P00450 P00460 P00470 P00480 P00490 P00500 P00510 Q00010 Q00020 Q00030 Q00040 Q00050 Q00060 Q00070 Q00080 Q00090 Q00100 Q00110 Q001?0 Q00130 Q00140 Q00150 Q00160 Q00170 Q00180 Q00190 Q00200 Q00210 Q00220 Q00230 Q00240

37

Page 43: A GRAPHICAL KERNEL SYSTEM (GKS) VERSION OF …This report describes a new version of the particle tracking graphics program MODPATH-PLOT that uses the Graphical Kernel System (GKS)

20

IF(FMT.EQ.' ') THENREAD(LOCAT, *) (N( J) , J-l, JJ)ELSEREAD (LOG AT, FMT) (N ( J) , J-l, JJ)END IFIF (ICON.NE.O) THENDO 20 J=1,JJK(J)= ICON*N(J)END IFIF(IPRN.GT.O) THENWRITE (17, 5020) (N( J) , J-l, JJ)ELSEWRITE (I 7,*) ' DATA WAS READ BUT NOT PRINTED'END IF

5020 FORMAT (2515) C

RETURNEND

C END OF ROUTINE -------------------------------

C GKS Version 1.0 March 1, 1990Q***********************************************************************

CC NEWIBCC THIS ROUTINE FILLS A NEW TWO DIMENSIONAL "IBOUND" ARRAY FOR CROSSC SECTIONAL SLICE THROUGH THE 3-D GRIDCC***********************************************************************

CSUBROUTINE NEWIB (IVIEW,IBOUND,IB,NCOL,NROW,NLAY,NH,L,HEAD) DIMENSION IBOUND(NCOL,NROW,NLAY),IB(NH,NLAY),

1 HEAD(NCOL,NROW,NLAY)

IF(IVIEW.EQ.2) THENDO 10 K=1,NLAYDO 10 1=1,NROWIB(I,K)- IBOUND (L, I, K)IF(HEAD(L,I,K).GT.l.OE+29) IB(I,K)=0

10 CONTINUEELSE IF(IVIEW.EQ.3) THENDO 20 K=1,NLAYDO 20 J=1,NCOLIB (J, K) -IBOUND (J, L, K)IF(HEAD(J,L,K).GT.l.OE+29) IB(J,K)=0

20 CONTINUEEND IFRETURNEND

C END OF ROUTINE

C C GKS Version 1.0 "*rch 1, 1990£******************.. IT'KV.-***********************************!

CC PCBEDSCC THIS ROUTINE DRAWS CONFINING LAYERSC

SUBROUTINE PCBEDS (NCON, NLAY,ZMN,ZMX,JMIN,JMAX,XMN,XMX,NH,IB,KMIN, 1 KMAX)DIMENSION ZMN(NLAY),ZMX(NLAY),NCON(NLAY),XMN(NH),XMX(NH),

1 IB(NH,NLAY)

Q00250 Q00260 Q00270 Q00280 Q00290 Q00300 Q00310 Q00320 Q00330 Q00340 Q00350 Q00360 Q00370 Q00380 Q00390 Q00400 Q00410 Q00420 Q00430 R00010 R00020 R00030 R00040 R00050 R00060 R00070 R00080 R00090 R00100 R00110 R00120 R00130 R00140 R00150 R00160 R00170 R00180 R00190 R00200 R00210 R00220 R00230 R00240 R00250 R00260 R00270 R00280 R00290 R00300 R00310 S00010 S00020 S00030 S00040 S00050 S00060 S00070 S00080 S00090 S00100 S00110 S00120 S00130 S00140

38

Page 44: A GRAPHICAL KERNEL SYSTEM (GKS) VERSION OF …This report describes a new version of the particle tracking graphics program MODPATH-PLOT that uses the Graphical Kernel System (GKS)

oeeoox08COOXOLCOOX09COOXoseoox

oeeoox 02eoox oieoox ooeoox06200X 08200X OZ.200X 09200XOS200X05-2001oe20ox O22ooxOT200I 002001 06IOOX 08IOOX OZ.IOOX 09IOOX OSTOOX OfrTOOX OCTOOX 02TOOX OTIOOX OOIOOX 06000X 08000X OLOOOX 09000X OSOOOX OfrOOOXoeooox020001 OIOOOXoeeoos oeeoosOZ.COOS 09COOS 05COOS OfrCOOSoeeoos ozeoos oieoos ooeoos06ZOOS 08ZOOS OL200S 09200S 05200S OfrZOOS OC200S 02200S OI200S OOZOOS 06TOOS 08IOOS OLTOOS 09TOOS OSIOOS

(OTIXI)XVOU -XX(OTlX)XIjII -OT1XI

(X)OT901V -OT1X(NIWX-XVHX)*2*0 =X

(NIWX-XVWX)*9*0 + NIWX -QIWXji ana

(XH3H)HHOS3 TIYDMONMO/XH3H*M3NMO -XH3H

N3HX (MONMD'XTMaNMO) JI0'08/(NIWX-XVWX) -M3NMD(MONMD'HH3I) MH009 TIVO

(XH3H)HHDSO 11VD

(NIWX-XVWX)*SIO'0 -XH3HXd/(NIWX-XVWX) -XdXAd/ (NIWA-XVWJO =AdA

SI NOIXVH333VX3 1YOIXH3A, =9VX3.SH3X3H -20P

X33J i =TQT

XVONOO Ofr*H3XOYHVHO9NIHXS 02*H3XOVHVHO

9YX3 S2*H3XOVHVHO31XIX 08*H3XOVHVHD

2QT L*H3XOVHYHDTOT 9*H3XOVHVHC

(C)VA'(e)VX NOISN3WIQ(M3IAI I

'XA'31XIX'SXItmr'Xd'Xd'XVWA'NIWA'XVWX'NIWX) 3XVXON

^**********************************************************************o0

NOIXVXONNV XOld S3XIHM QNY HV3 31VOS 3HX SMVHd 3NIXQOH SIHX OO

3XVXON OO

***********************************************************************O0661 'I MO^BW 0*T uojsaaA SX3 D

O 3NIXQOH JO QN3 O

QN3NHHX3H

SHNIXNOD 02

JI QN3 (A'X'2)IdS TIV3

N3HX (0*3N*

02 OX 03

(f)XWX-(2)X (DNWX-(T)X

JI QN3 (A'X'2)ld3 71VD

(DXWX«(2)X(DNHX-(I)X

N3HX (0'3N* (H'Dei) JIxvwr'Niwr-r ot oa

02 OX 03 (0*03' (X) NOON) JI XYWH'NIWH-OI 02 Oa

(2)A'(2)X NOISN3WIQ

Page 45: A GRAPHICAL KERNEL SYSTEM (GKS) VERSION OF …This report describes a new version of the particle tracking graphics program MODPATH-PLOT that uses the Graphical Kernel System (GKS)

XMAN= XL10-XX XXX= 10.0**(XMAN) IXXX= IFIX(XXX) XINC= 10.0**(IXL10) NINC= IXXXYP5= YMIN-(YPY*0.20*PY) YP4- YMIN-(YPY*0.05*PY) YP3= YMIN-(YPY*0.058*PY) YP2= YMIN-(YPY*0.083*PY) YP1= YMIN-(YPY*0.133*PY) CALL GTX(XMIN,YP5, TITLE) XAU)- XMID XA(2)-XMID XA(3)-XMID YA(1)-YP3 YA{2)=YP2 YA(3)-YP2 CALL GPL(3,XA,YA) XA(1)=XMID YA(1)=YP2 YA(2)=YP2 YA(3)=YP3 DO 10 N=1,NINC XA(2)=XMID + (XINC*N) XA(3)=XA(2) CALL GPL(3,XA,YA) XA(1)=XA(2)

10 CONTINUE INUM=0 ZTMP=INDMCALL NUMCNV(ZTMP,-1,STRING,NCHARS) CALL GTX(XMID,YP4,STRING(1rNCHARS)) XVAL= XMID + XINCCALL NUMCNV(XINC,-1,STRING,NCHARS) CALL GTX(XVAL,YP4,STRING(1:NCHARS)) XVAL- XINC*NINCCALL NUMCNV(XVAL,-1,STRING,NCHARS) XVAL-XVAL + XMID IF(JUNITS.EQ.l) THEN STRING=STRING(1:NCHARS)//JD1 NCHARS=NCHARS+5CALL GTX(XVAL,YP4,STRING(1:NCHARS)) ELSECONCAT=STRING(1:NCHARS)//JD2 NCHARS-NCHARS+7CALL GTX(XVAL,YP4,CONCAT(1:NCHARS)) END IFIF (IVIEW.NE.l) THENIF(VX.GE.l.O) CALL NUMCNV(VX,1,STRING,NCHARS) IF(VX.LT.l.O) CALL NUMCNV(VX,4,STRING,NCHARS) CONCAT«EXAG//STRING(1:NCHARS) NCHARS-2 5+NCHARSCALL GTX(XMID,YPI,CONCAT(1:NCHARS)) END IFYP3S= YP2 + (YP3-YP2)/2.0 IF(NINC.LE.3) THEN XINC-XIKC/5.0 XA(1)«XMID YA(1)= YP2 YA(2)=YP2 YA(3)= YP3S DO 20 N=l,4 XA(2)= XMID + (XINC*N) XA(3)= XA(2)

T00400 T00410 T00420 T00430 T00440 T00450 T00460 T00470 T00480 T00490 T00500 T00510 T00520 T00530 T00540 T00550 T00560 T00570 T00580 T00590 T00600 T00610 T00620 T00630 T00640 T00650 T00660 T00670 T00680 T00690 T00700 T00710 T00720 T00730 T00740 T00750 T00760 T00770 T00780 T00790 T00800 T00810 T00820 T00830 T00840 T00850 T00860 T00870 T00880 T00890 T00900 T00910 T00920 T00930 T00940 T00950 T00960 T00970 T00980 T00990 T01000 T01010 T01020 T01030

40

Page 46: A GRAPHICAL KERNEL SYSTEM (GKS) VERSION OF …This report describes a new version of the particle tracking graphics program MODPATH-PLOT that uses the Graphical Kernel System (GKS)

CALL GPL(3,XA,YA)XA(1)=XA(2)

20 CONTINUEEND IFRETURNEND

C END OF ROUTINE -

CC GKS Version 1.0 March 1, 1990 Q*********I

CC PTIMSCC THIS ROUTINE PLOTS TIMESERIES DATAC

SUBROUTINE PTIMS (IU,XMIN,XMAX,YMIN,YMAX,ZMN,ZMX,NLAY,1 IVIEW r NPSTPS r ISPLOT,NISP,IPROJ,NSEC,NCLR)DIMENSION ZMN(NLAY),ZMX(NLAY) , ISPLOT(NISP)

CNN=1

IF(NPSTPS.LT.O) THENKSTP-0NEXT=1ELSEKSTP-ISPLOT (NN)NEXT- ISPLOT(NN+1)END IFCALL GSMK(l)CALL GSMKSC(.l)IF(NCLR.GE.O) THENKCLR-NCLRIF(KCLR.EQ.O) KCLR=1CALL PKCLR (KCLR)END IF

10 CONTINUEIF (IVIEW.EQ.l) THENREAD(IU,*,END=20) KNT,N,J,I r K r XPT r YPT,ZLr ZLL,TIMELSEC=KELSE IF (IVIEW.EQ.2) THENREAD(IU r *,END-20) KNT,N r J r I,K,XX,XPT,ZL r ZLL,TIMELSEC-JIF(ZLL.GE.O.O) YPT= (1.0-ZLL)*ZMN(K) + ZLL*ZMX(K)IF(ZLL.LT.O.O) YPT- (l.OE+0+ZLL)*ZMN(K) - ZLL*ZMX(K+1)ELSE IF (IVIEW.EQ.3) THENREAD(IU r *,END-20) KNT r N r J, I,K,XPT,YY r ZL r ZLL,TIMELSEC-IIF(ZLL.GE.O.O) YPT= (1.0-ZLL)*ZMN(K) + ZLL*ZMX(K)IF(ZLL.LT.O.O) YPT= (1.OE+O+ZLL)*ZMN(K) - ZLL*ZMX(K+1)END IFICK=0IF(XPT.GT.XMAX.OR.XPT.LT.XMIN) ICK=1IF(YPT.GT.YMAX.OR.YPT.LT.YMIN) ICK-1IF(IPROJ.EQ.I.AND.LSEC.NE.NSEC) ICK=1IF (KNT.EQ.KSTP) THENIF(ICK.EQ.O) CALL GPM(1,XPT,YPT)GO TO 10ELSE IF (KNT.EQ.NEXT.AND.KNT.NE.O) THENKSTP-NEXTIF(NCLR.EQ.O) THENKCLR-KCLR+1CALL PKCLR (KCLR)END IF

T01040 T01050 T01060 T01070 T01080 T01090 T01100 U00010 U00020 U00030 U00040 U00050 U00060 U00070 U00080 U00090 000100 U00110 000120 U00130 D00140 U00150 U00160 U00170 U00180 U00190 U00200 U00210 000220 U00230 U00240 U00250 000260 000270 000280 000290 U00300 U00310 000320 000330 U00340 U00350 U00360 U00370 000380 000390 U00400 U00410 U00420 000430 000440 U00450 000460 000470 000480 000490 000500 000510 000520 000530 000540 000550 000560 U00570

41

Page 47: A GRAPHICAL KERNEL SYSTEM (GKS) VERSION OF …This report describes a new version of the particle tracking graphics program MODPATH-PLOT that uses the Graphical Kernel System (GKS)

20

~

IF(NPSTPS.LT.O) THENNEXT=KSTP+1IF(ICK.EQ.O) CALL GPM (1ELSENN=NN+1NEXT- ISPLOT(NN-H)IF(ICK.EQ.O) CALL GPM(1,END IFELSE IF (KNT.GT.KSTP. ANDGO TO 20END IFGO TO 10CONTINUERETURNEND

,XPT,YPT)

XPT,YPT)

.NEXT. EQ.O) THEN

CC GKS Version 1.0 March 1c****CCc

*************************, 1990******************************************

PKCLR

C THIS ROUTINE SELECTS A PENCc****C

10

20

C C

*************************

SUBROUTINE PKCLR (KCLR)IF(KCLR.LE.4) GO TO 20KCLR=KCLR-4IF (KCLR. LE. 4) GO TO 20GO TO 10CONTINUECALL GSTXCI(KCLR)CALL GSPLCI(KCLR)CALL GSPMCI(KCLR)RETURNEND

C GKS Version 1.0 March 1Q****

C

Cc

*************************

COLOR

******************************************

, 1990******************************************

PKPAT

C THIS ROUTINE SELECTS A PENCc****c

10

20

*************************

SUBROUTINE PKPAT (IPAT)IF(IPAT.LE.3) GO TO 20IPAT=IPAT-3IF (IPAT. LE. 3) GO TO 20GO TO 10CONTINUEIF (IPAT.EQ.l) THENCALL GSLN(l)ELSE IF (IPAT.EQ.2) THENCALL GSLN(2)ELSE IF (IPAT.EQ.3) THENCALL GSLN(3)END IFRETURNEND

U00580U00590U00600U00610U00620U00630U00640U00650U00660U00670U00680U00690U00700U00710U00720U00730V00010V00020V00030V00040V00050V00060V00070V00080V00090V00100V00110V00120V00130V00140V00150V00160V00170V00180V00190V00200V00210 V00220W00010W00020W00030W00040W00050

* W00060PATTERN # W00070

1 W00080******************************************{ WOOD 90

* W00100# W00110* W001201 W00130* W00140

T1OC150

W00160W00170W00180W00190W00200W00210W00220W00230H00240W00250

42

Page 48: A GRAPHICAL KERNEL SYSTEM (GKS) VERSION OF …This report describes a new version of the particle tracking graphics program MODPATH-PLOT that uses the Graphical Kernel System (GKS)

March 1, 1990I t

*********£

FILES

t*******

C GKS Version 1.0£******************!

CCCC THIS ROUTINE OPENS FILESCQ*A******************************!

CSDBRODTINE FILES 410,11,17) CHARACTER*80 FNAME

C CREATE AND OPEH STANDARD OUTPUT AND SCRATCH FILES C

FNAME= SUMMARY.PLT 1CALL OPNFIL (17,FNAME,4,17,0,3)

CC OPEN FILE CONTAINING FILE NAMES AND FORTRAN UNITS C

WRITE (*,*) 'ENTER NAME OF FILE CONTAINING NAMES AND UNITS OF DAT 1A FILES: 1READ (*,5000) FNAME

5000 FORMAT (A) C

CALL OPNFIL (10,FNAME,1,17, 0,1) C

KFIRST«0 10 READ (IO,*,END=20 ) ID,FNAME

IF (KFIRST.EQ.O) I1=IUKFIRST=1

CC OPEN DATA FILES C

CALL OPNFIL (ID,FNAME,1,17, 0,1) C

WRITE(17,5010) IU,FNAME 5010 FORMATC FORTRAN UNIT ',13,' *> f ,A60)

GO TO 10 20 CONTINUE

RETURNEND

C END OF ROUTINE

CC GKS Version 1.0 March 1, 1990Q**********************************************************************

CC COUNTPCC THIS ROUTINE READS THE ENDPOINT FILE AND COUNTS THE NUMBER OFC PARTICLES RECORDED IN THE FILE. IT REWINDS THE FILE WHEN THEC COUNT IS FINISHEDCC***********************************************************************

CSUBROUTINE COUNTP (IU,NPART)N=0

10 READ (IU,5000,END=20 ) 5000 FORMAT(IIO)

N=N+1GO TO 10

20 CONTINUEREWIND (IU)IF (N.GT.NPART) THEN

X00010 X00020 X00030 X00040 X00050 X00060 X00070 X00080 X00090 X00100 X00110 X00120 X00130 X00140 X00150 X00160 X00170 X00180 X00190 X00200 X00210 X00220 X00230 X00240 X00250 X00260 X00270 X00280 X00290 X00300 X00310 X00320 X00330 X00340 X00350 X00360 X00370 X00380 X00390 X00400 X00410 X00420 X00430 Y00010 Y00020 Y00030 Y00040 Y00050 Y00060 Y00070 Y00080 Y00090 Y00100 Y00110 Y00120 Y00130 Y00140 Y00150 Y00160 Y00170 Y00180 Y00190 Y00200 Y00210

43

Page 49: A GRAPHICAL KERNEL SYSTEM (GKS) VERSION OF …This report describes a new version of the particle tracking graphics program MODPATH-PLOT that uses the Graphical Kernel System (GKS)

WRITE (*,5010) N,NPART5010 FORMAT (16, PARTICLES IN ENDPOINT FILE (MAXIMUM ALLOWED IS 1 , 16,

1') ')

WRITE (*,5020) NPART 5020 FORMAT ( RERUN PROGRAM AND SPECIFY NUMBER OF PARTICLES >= ',16)

STOPEND IFRETURNEND

c END OF ROUTINE

CC GKS Version 1.0 March 1, 1990 C** *********************************************************************

CC PDRAINCC THIS ROUTINE READS DRAIN DATA AND PLOTS DRAINSCC** *********************************************************************

CSUBROUTINE PDRAIN (IMIN, IMAX, JMIN, JMAX, KMIN, KMAX, XMN, XMX,

1 YMN, YMX, ZMN, ZMX, NCOL, NROW, NLAY, IVIEW, IUDRAI, NCLR, 17 , IPROJ, ISLICE)DIMENSION XMN (NCOL) , XMX (NCOL) , YMN (NROW) , YMX (NROW) , ZMN (NLAY),

IZMX(NLAY) C

IV= IVIEW*IPROJIF(NCLR.GE.O) THENCALL PKCLR (2)END IFWRITE (17, 5000)

5000 FORMAT (

5010

WRITE(I7,*) 'DRAIN DATA BEING READ... ' READ (IUDRAI, 5 010) MXW,ID READ (IUDRAI, 5010) NDRAIFORMAT (2110)

DO 10 N=l, NDRAIREAD (IUDRAI, 5020) K, I, J,H, C, IFACE IF(IFACE.NE.O) GO TO 10 IF(I.LT.IMIN.OR.I.GT.IMAX) GO TO 10 IF(J.LT. JMIN. OR. J.GT. JMAX) GO TO 10 IF(K.LT. KMIN. OR. K.GT. KMAX) GO TO 10 IF (IV. EQ.l. AND. K.NE. ISLICE) GO TO 10

(IVIEW.EQ.2.AND.J.NE.ISLICE) GO TO 10 NE.ISLICE) GO TO 10

IFIF (IVIEW.EQ.3.AND.IIF(IVIEW.EQ.l) THENX=(XMX(J)+XMN(J))/2.0Y=(YMX(I)+YMN(I) ) /2.0DX=XMX(J)-XMN(J)DY=YMX(I)-YMN(I)ELSE IF(IVIEW.EQ.2) THENX=(YMX?T>+yMN(T))/2,0Y-(ZMX(K)+ZMN(K))/2.0DX-YMX(I)-YMNd)DY=ZMX(K)-ZMN(K)ELSE IF(IVIEW.EQ.3) THENX=(XMX(J)+XMN(J))/2.0Y=(ZMX(K)+ZMN(K))/2.0DX=XMX(J)-XMN(J)DY=ZMX(K)-ZMN(K)END IFIF (IVIEW.EQ.l) THENCALL SYMBL (X,Y,DX,DY,1)ELSE

Y00220 Y00230 Y00240 Y00250 Y00260 Y00270 Y00280 Y00290 Y00300 Y00310 Z00010 Z00020 Z00030 Z00040 Z00050 Z00060 Z00070 Z00080 Z00090 Z00100 Z00110 Z00120 Z00130 Z00140 Z00150 Z00160 Z00170 Z00180 Z00190 Z00200 Z00210 Z00220 Z00230 Z00240 Z00250 Z00260 Z00270 Z00280 Z00290 Z00300 Z00310 Z00320 Z00330 Z00340 Z00350 Z00360 Z00370 Z00380 Z00390 Z00400 Z00410 Z00420 Z00430 Z00440 Z00450 Z00460 Z00470 Z00480 Z00490 Z00500 Z00510 Z00520 Z00530 Z00540

44

Page 50: A GRAPHICAL KERNEL SYSTEM (GKS) VERSION OF …This report describes a new version of the particle tracking graphics program MODPATH-PLOT that uses the Graphical Kernel System (GKS)

CALL SYMBL (X,Y,DX,DY,0)END IF

10 CONTINUE 5020 FORMAT(3110,2F10.0,110)

WRITE(17,*) DRAIN DATA HAS BEEN READ...'IF (NCLR.GE.O) CALL PKCLR (1)RETURNEND

C END OF ROUTINE

C C GKS Version 1.0 March 1, 1990£**********************************************************************

CC PGHBCC THIS ROUTINE READS GHB DATA AND PLOTS GENERAL HEAD BOUNDARIESCC**********************************************************************

CSUBROUTINE PGHB (IMIN,IMAX,JMIN,JMAX,KMIN,KMAX,XMN,XMX, 1YMN,YMX,ZMN,ZMX,NCOL,NROW,NLAY,IVIEW,IUGHB,NCLR, 17,IPROJ, ISLICE)DIMENSION XMN(NCOL),XMX(NCOL),YMN(NROW),YMX(NROW),ZMN(NLAY),

1ZMX(NLAY) C

IV= IVIEW*IPROJIF(NCLR.GE.O) THENCALL PKCLR (2)END IFWRITE(17,5000)

5000 FORMAT('

5010

WRITE(I7,*) GHB DATA BEING READ. ..' READ (IUGHB, 5010) MXW, ID READ(IUGHB,5010) NGHBFORMAT (2110)

DO 10 N-1,NGHBREAD (IUGHB, 5020) K, I, J, H,C, IFACE IF(IFACE.NE.O) GO TO 10 IF(I.LT.IMIN.OR.I.GT.IMAX) GO TO 10 IF(J.LT.JMIN.OR.J.GT.JMAX) GO TO 10 IF(K.LT.KMIN.OR.K.GT.KMAX) GO TO 10 IF (IV. EQ.l. AND. K.NE. ISLICE) GO TO 10 IF (IVIEW. EQ. 2. AND. J.NE. ISLICE) GO TO 10 IF (IVIEW. EQ. 3. AND. I. NE. ISLICE) GO TO 10 IF (IVIEW. EQ.l) THEN X= (XMX ( J) +XMN ( J) ) /2 . 0 Y-(YMX(I)+YMN(I))/2.0 DX-XMX(J)-XMN(J) DY=YMX(I)-YMN(I) ELSE IFUVIEW.EQ.2) THEN X-(YMX(I)+YMN(I))/2.0 Y- (ZMX (K) +ZMN (K) ) /? . 0 DX-YMX(I)-YMN(I) DY-ZMX(K)-ZMN(K) ELSE IF(IVIEW.EQ.3) THEN X- (XMX ( J) +XMN ( J) ) /2 . 0 Y- (ZMX (K) +ZMN (K) ) /2 . 0 DX-XMX(J)-XMN(J) DY=ZMX(K)-ZMN(K) END IFIF (IVIEW. EQ.l) THEN CALL SYMBL (X, Y,DX,DY, 1) ELSE CALL SYMBL (X, Y,DX, DY,0)

Z00550 Z00560 Z00570 Z00580 Z00590 Z00600 Z00610 Z00620 Z00630

fAAOOOlO IAA00020**AA00030 IAA00040 fAAOOOSO fAAOOOSO IAA00070 fAAOOOSO**AA00090 fAAOOlOO fAAOOllO IAA00120 IAA00130#AA00140#AA00150 IAA00160 tAA00170 fAAOOlSO IAA00190 IAA00200*tAA00210 4AA00220 4AA00230 IAA00240 IAA00250 «AA00260#AA00270 IAA00280 IAA00290 «AA00300#AA00310 IAA00320 IAA00330 «AA00340 4AA00350 IAA00360#AA00370 IAA00380 IAA00390 «AA00400 IAA00410 IAA00420 «AA00430 IAA00440 «AA00450 IAA00460 IAA00470#AA00480 IAA00490 4AA00500#AA00510 IAA00520 IAA00530 «AA00540 IAA00550

45

Page 51: A GRAPHICAL KERNEL SYSTEM (GKS) VERSION OF …This report describes a new version of the particle tracking graphics program MODPATH-PLOT that uses the Graphical Kernel System (GKS)

105020

#AA00560 IAA00570 IAA00580 IAA00590#AA00600 IAA00610 tAA00620

. #AA00630

fABOOOlO fABO0020

t**********************************fAB00030

fABO0040 tABOOOSO fABO0060 IAB00070 fABOOOSO

***********************************************************************fAB00090

fABOOlOO

END IFCONTINUE FORMAT (3110, 2F10. 0,110)

WRITE (I 7,*) GHB DATA HAS BEEN READ.IF (NCLR.GE.O) CALL PKCLR (1)RETURNEND

C END OF ROUTINE

C C GKS Version 1.0 March 1, 1930

k**********1

OPNFIL

THIS ROUTINE OPENS A SINGLE FILE.

CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC

SUBROUTINE OPNFIL (IU, FILNAM, NSTAT, IOUT, IBATCH, NACT)CHARACTER* (*) FILNAMCHARACTER* 80 FNAME,FMT,FMLOGICAL*4 EX

VARIABLES

IU - FORTRAN ONIT NUMBER OF FILEFILNAM - FILE NAMENSTAT - STATUS OF FILE

1 -=> OLD FILE2 -=> NEW FILE3 -=> SCRATCH FILE (DELETED AUTOMATICALLY WHEN RUN ENDS)4 -=> UNDETERMINED STATUS (MAY OR MAY NOT EXIST)

IF IT DOES NOT EXIST, IT IS CREATED BY OPEN STATEMENTIF IT DOES EXIST, IT IS OPENED AS 'OLD 1 FILE

IOUT = UNIT NUMBER FOR OUTPUT FILE TO WRITE ERROR MESSAGE TOIF NECESSARY

IBATCH - FLAG INDICATING IF THERE IS INTERACTIVE DIALOGUE ATTERMINAL

0 -> THERE IS INTERACTIVE DIALOGUE1 -=> THERE IS NOT INTERACTIVE DIALOGUE (BATCH MODE)

NACT - VARIABLE DENOTING IF A FILE IS READ ONLY, WRITE ONLY, ORREAD AND WRITE.

1 -> READ ONLY2 -=> WRITE ONLY3 -=> READ AND WRITE

"NACT" IS NOT USED IN THIS SUBROUTINE. ALL FILES ARE OPENED FORREADING AND WRITING. OPENING "READ w«iA" Ai\iD : ' SRI IE ONLY" FILESIS MACHINE DEPENDENT. THE VARIABLE "NACT" IS PASSED TO THISROUTINE TO MAKE IT EASY TO MODIFY THE OPEN STATEMENTS TO ALLOWFOR READ AND WRITE ONLY FILES ON ANY GIVEN MACHINE. THE CALLS TOTHIS SUBROUTINE ARE CURRENTLY SET UP SO THAT ANY FILE THAT ISWRITTEN TO IS GIVEN "NACT - 3" AND ANY FILE THAT IS READ FROM BUTNOT WRITTEN TO IS GIVEN "NACT - 1". NO FILES ARE GIVEN "WRITE ONLY"STATUS. "READ ONLY" STATUS IS USEFUL IF A NUMBER OF USERS WANTTO SIMULTANEOUSLY SHARE INPUT FILES.

IF THE FILE DOES NOT CURRENTLY EXIST, A NEGATIVE UNIT NUMBER ISUSED AS A FLAG TO INDICATED THAT A NEW FILE SHOULD BE CREATED AS

fABOOHOf ABO 0120IAB00130IAB00140fABOOlSOfAB00160#AB00170«AB00180IAB00190# ABO 02 00IAB00210IAB00220IAB00230IAB00240IAB00250IAB00260IAB00270IAB00280IAB00290tAB00300fAB00310IAB00320#AB00330# ABO 0340# ABO 0350*AB00360*AB00370#AB00380fAB00390tAB00400fAB00410fAB00420tAB00430JAB00440

«AB00460tAB00470JAB00480t ABO 04 90tABOOSOOtABOOSlOtAB00520#AB00530tAB00540*AB00550tAB00560

46

Page 52: A GRAPHICAL KERNEL SYSTEM (GKS) VERSION OF …This report describes a new version of the particle tracking graphics program MODPATH-PLOT that uses the Graphical Kernel System (GKS)

c c c

10c

20

C C C

30

AN UNFORMATTED (BINARY) FILE.

IBIN=0IF (ID.LT.O) THEN10= -ID

IBIN=1END IF

CHECK TO SEE IF A FILE IS OPENED TO UNIT-IOUT SO THAT ERROR MESSAGES CAN BE WRITTEN.

INQOIRE (UNIT-IOUT,OPENED-EX)10-0

IF (EX) 10=1

FNAME=FILNAM

OPEN AN EXISTING FILE

IF (NSTAT.EQ.l) THENINQUIRE (FILE-FNAME,EXIST-EX,UNFORMATTED-FM)

CHECK TO SEE IF FILE EXISTS IF (EX) GO TO 20 IF (IBATCH.EQ.O) THEN WRITE (*,*) 'FILE DOES NOT EXIST.'WRITE (*,*) 'ENTER THE NAME OF AN EXISTING FILE «CR>-QUIT) READ (* r '(A)') FNAME IF (FNAME.EQ.' ') STOP GO TO 10 ELSEIF (IO.EQ.1) IF (IO.EQ.1) STOP END IF CONTINUE FMT- 1 FORMATTED 1IF (IBIN.EQ.I.OR.FM.EQ.'YES') FMT-'UNFORMATTED' OPEN <IU,FILE=FNAME,STATUS='OLD' ,FORM-FMT, IOSTAT=IERR) IF (IERR.GT.O) GO TO 40 RETURN END IF

OPEN A NEW FILE

IF (NSTAT.EQ.2) THENINQUIRE <FILE=FNAME,EXIST-EX)IF (EX) THENIF (IBATCH.EQ.O) THENWRITE (*,*) 'FILE ALREADY EXISTS. 1WRITE (*,*) 'ENTER THE NAME OF A NEW FILE «CR>-QUIT) : 'READ (*,'(A)') FNAME

') STOP

WRITE WRITE

(IOUT,*) 'FILE DOES NOT EXIST:' (IOUT,'(A)') FNAME

(IOUT,*) 'FILE ALREADY EXISTS:' (IOUT, ' (A) ') FNAME

IF (FNAME.EQGO TO 30ELSEIF (IO.EQ.1) WRITEIF (IO.EQ.1) WRITESTOPEND IFEND IFFMT='FORMATTED 1IF (IBIN.EQ.l) FMT-'UNFORMATTED OPEN (IU,FILE=FNAME,STATUS='NEW I ,FORM=FMT,IOSTAT=IERR)IF (IERR.GT.O) GO TO 40RETURNEND IF

#AB00570 IAB00580#AB00590 4AB00600#AB00610#ABO0620 IAB00630# ABO 0640 4AB00650 4AB00660#AB00670 fAB00680 4AB00690#AB00700#AB00710#AB00720#AB00730 tAB00740#AB00750#AB00760#AB00770#AB00780#AB00790 4AB00800#AB00810 IAB00820 IAB00830#ABO0840 tABOOSSO IAB00860#AB00870 4AB00880 4AB00890 «AB00900#AB00910#AB00920#ABO0930 «ABO0940#AB00950 4AB00960#AB00970 4AB00980#AB00990 fABOlOOO#AB01010#AB01020#AB01030 «ABO1040#ABO1050#ABO1060#AB01070 IAB01080#AB01090#AB01100 fABOlllO#ABO1120#AB01130#AB01140#ABO1150#AB01160#AB01170#AB01180#AB01190#AB01200

47

Page 53: A GRAPHICAL KERNEL SYSTEM (GKS) VERSION OF …This report describes a new version of the particle tracking graphics program MODPATH-PLOT that uses the Graphical Kernel System (GKS)

OI=QN

/.68^.99frC2IO./33a VIVO/ (x*02J)!/iwj vxva

330 OI*H3I3VHVH3IWJ ^.*H3I3VHVH3

JD8 02*H3I3VHVH39NIHIS 02*H3I3VHVH3

(HVH3N '9NIHIS '33QN 'Z) AN3WHN 3NIXnOH8nS

092003V*0&2003V*OC2003V*022003V*OI2003V*002003V*06I003V*08I003V*OJ.T003V*09I003V*09I003V*OM003V*OCI003V*02I003V*OII003V*OOIOOOV* 3060003V************************************************************************3080003V* 3OJ.0003V* 'xx3i sv Hsawnn ivan v sxndxno SNIXHOH SIHX 3090003V* 3 090003V* AN3WDN 3 0&0003V* 3 0CO003V************************************************************************3 020003V* 0661 'I qo^W 0*1 UOTSJ3A SM9 3 OI0003V* 3 069I03V* 3NIXQOH dO QN3 3

089I08V* QN3 0^.9I09V* dOXS 099I09V* (ei't XINH OX 31IJ 9NIN3dO HOHH3 ) XVWHOJ 0009099IOSV* ni (0009'xnoi) SIIHM (1*03*01) Ji ofr9ioav* ni (0009'*) SXIHM (o*03'H3xvai) Ji o^OC9I03V* 3029I08V* 311d 9NIN3dO W318OHd 9NIXV3iaNI 39VSS3W 3XIHM 3OI9I03V* 3009I03V* JI QN306^IOaV* NHOX3HOSfrTOaV* JI QN3

Ofr OX O3 (0*X3'HH3I) JI

09H08V* Q3XXVWHO JNH =XWJ (I'03'Niai) JI

(HH3I=IVISOI '

oenoav*02H03V*oifrioav* oonoav* oeeioav* oaeioav* o^cioav* ogeioav*09CI03V*

occioav*02CI03V*oicioav* oocioav*062I03V* 082I03V*

092I03V* 092I03V*

OC2I08V* 022I03V* OI2I03V*

3S1301 O3 (0*I3'HH3I) JI

I) N3dOdS3Ai '

(WJ-Q3IXVWHOJNQ 'X3-XSIX3 'N3HX

N3HI (X3)

(HH3I=XVXSOI '

SnXVXS NMONHNQ JO 31IJ V N3dO 33

JI QN3 NHOX3H

Ofr OI 09 (0*X3*HH3I) JI (HH3I=XVXSOl'XWJ=WHO.3'ai) N3dO 3

:3SH NVHXHOJ XJOSOHOIH HOJ 3 ' H3XVH3S =SnXVXS 'DI ) N3dO

IWJ (I'03*Niai) JI , Q3IIVWHO J , =IWJ

N3HX (C*03'XVXSN) JI3

31 I J H3XVH3S V N3dO 3 3

Page 54: A GRAPHICAL KERNEL SYSTEM (GKS) VERSION OF …This report describes a new version of the particle tracking graphics program MODPATH-PLOT that uses the Graphical Kernel System (GKS)

10c20

DO 10 ISTART=1,20IF(BUF(ISTART:ISTART).NE. 1 ') GO TO 20 CONTINUE

ISTOP-20IF(NDEC.LT.O) ISTOP=19NCHAR-ISTOP-ISTART+1STRING(1:NCHAR)-BUF(ISTART:ISTOP)RETURNEND

C END OF ROUTINE

CC Version 1.0 July 21, 1989C********************************************************************

CC DEVICECC THIS ROUTINE SELECTS THE GRAPHICS OUTPUT DEVICECC********************************************************************

CSUBROUTINE DEVICE (MODEL,KIND,NWAIT,IWAIT,IU,17)DIMENSION IDEV(10),ITP(10)CHARACTER*60 LABEL(10)

C OPEN GRAPHICS DEVICE DATA FILECALL OPNFIL (ID,'DEVICE.DAT 1 ,1,17, 0, 3)

CREAD(IU,*,END=20,ERR=20) MD,MTP,LABEL(1)NDEV=1IDEV(1)=MDITP(1)=MTPDO 30 N-2,10READ(IU,*,END=40,ERR=20) MD,MTP,LABEL(N)NDEV=NIDEV(NDEV)-MDITP(NDEV)=MTP

30 CONTINUE 40 CONTINUE

IF(NDEV.EQ.l) THENIM=1

ELSEWRITE(*,*) 'ENTER THE TYPE OF GRAPHICS OUTPUT DEVICE: 1DO 45 N=1,NDEVWRITE(*,5000) N,LABEL(N)

45 CONTINUE 50 READ(*,*) IM

IF (IM.LT.I.OR.IM.GT.NDEV) THENWRITE(*,*) 'THE NUMBER IS OUT OF RANGE. CHOOSE AGAIN.'GO TO 50END IFEND IFMODEL - IDEV(IM)IWAIT=0IF (ITP(IM).EQ.O) IWAIT=NWAITKIND-ITP(IM)RETURN

20 WRITE(*,*) 'THE FILE DEVICE.DAT IS EMPTY OR HAS BAD DATA 1STOP

5000 FORMAT(1X,15, ' - ',A60)END

C END OF ROUTINE

4AC00260 JAC00270 4AC00280 JAC00290 JAC00300#AC00310 JAC00320 JAC00330 4AC00340#AC00350

#AC00360 4AD00010 4AD00020

***#AD00030

4AD00040 JAD00050 IAD00060 IAD00070 IAD00080

****AD00090

#AD00100 tADOOHO 4AD00120 4AD00130 4AD00140#AD00150 «AD00160 fAD00170 IAD00180#AD00190 4AD00200#AD00210#AD00220#AD00230 IAD00240 «AD00250#AD00260 4AD00270#AD00280 4AD00290 4AD00300 IAD00310 «AD00320 4AD00330 4AD00340 JAD00350#AD00360#AD00370#AD00380 IAD00390 4AD00400#AD00410 «AD00420 4AD00430 4AD00440 «AD00450 «AD00460 4AD00470 «AD00480 4AD00490

#AD00500

49