Upload
others
View
1
Download
0
Embed Size (px)
Citation preview
STATE OF WASHINGTON DEPARTMENT OF NATURAL RESOURCES
BRIAN J. BOYLE, Commissioner of Public Lands JAMES A. STEARNS, Department Supervisor
DIVISION OF GEOLOGY AND EARTH RESOURCES Raymond Lasmanis, State Geologist
PREPARATION OF RESIDUAL GRAVITY MAPS FOR THE SOUTHERN CASCADE f10UNTAINS, WASHINGTON
USING FOURIER ANALYSIS
by
Debra McLean Dishberger
Washington Department of Natural Resources Division of Geology and Earth Resources
Olympia, WA 98504
Open-File Report 83-4
April 1983
Introduction ...... .
Residual separation method
Program testing
Cutoff wavelength selection
Results
References cited
-i-
CONTENTS
Appendix A - FORTRAN Program RESIDUAL
Appendix B - FORTRAN Program SPECTRA.
Page
1
1
4
8
10
. 11
A-1
B-1
-ii-
ILLUSTRATIONS
Figure 1. Gravity profile for two spheres superimposed upon a planar field .....
2. Profile of test case regional field
3. Profile of test case residual field
4. Idealized power spectrum plot
5. Power spectrum of gravity data from the Southern Cascade Mountains, Washington
Plate l. Residual gravity map of the Southern Cascade Mountains, Washington - 85 kilo-
. . . . .
5
6
7
9
11
meter cutoff wavelength ............... Back Pocket
2. Residual gravity map of the Southern Cascade Mountains, Washington - 40 kilo-meter cutoff wavelength ............... Back Pocket
3. Res i dua·1 gravity map of the Southern Cascade Mountains, Washington - 20 kilo-meter cutoff wavelength ............... Back Pocket
-1-
INTRODUCTION
This report represents a continuation of gravity work in the Cascade
Mountains of Washington supported by the Division of Geology and Earth
Resources since 1974. The purpose of this research has been collection
of baseline gravity data for use in geothermal resource evaluation. Re
sults of the Division's gravity studies to date are given in Danes and
Phillips (1983a, 1983b).
One of the problems encountered when analyzing gravity data is dis
tinguishing between those parts of the data that represent geologic struc
tures of interest, and those that do not. In many cases, the features of
interest are relatively small, near-surface features, such as those sought
in mineral, petroleum, or geothermal exploration. Gravity anomalies caused
by such structures may be distorted or masked by anomalies caused by larger,
deeper geologic structures. Gravity anomalies caus.e.d by relatively shallow,
small geologic structures are termed residual anomalies. Those due to broad,
deep-seated features can be described as regional anomalies.
The purpose of this report is to describe a Fourier analysis method
for separating residual and regional gravity anomalies from a complete
Bouguer gravity anomaly field. The technique has been applied to gravity
data from the Southern Cascade Mountains, Washington. Residual gravity
anomaly maps at a scale of 1:250,000 are presented for various regional
wavelength filters, and a power spectrum of the frequency components in
the South Cascade gravity data is displayed. No attempt is made to in
terpret the results of this study in terms of geologic structures.
RESIDUAL SEPARATION METHOD
The method used here to separate regional and residual anomalies is
based on the assumption that regional anomalies are distinctly larger
-2-
than residual anomalies. This implies that the spatial wavelengths of
anomalies caused by regional features are longer than the wavelengths of
anomalies due to local structures. It also must be assumed that the two
do not overlap appreciably. If these assumptions are true, regional-re
sidual separations can be made by filtering out wavelengths of the gravity
field that represent undesired information. This filtering process is
carried out with Fourier analysis.
Detailed discussions of Fourier analysis and regional-residual sepa
ration of gravity fields are given in Clemont (1972), Cordell and Grauch
(1982), and Gupta and Ramani (1980). Briefly, Fourier analysis is based
on the fact that a periodic function can be expressed as the sum of a
series of sine and cosine waves of various frequencies. Each sine and
cosine wave making up a part of the sum is called a frequency component.
By using a procedure known as the Fourier transform, the magnitude of the
frequency components for a given function can be determined. Since fre
quency is the reciprocal of wavelength, each frequency component repre
sents a particular spatial wavelength present in the data. Thus, re
moval of a group of wavelengths form a data set can be accomplished by
setting the corresponding frequency components to zero.
A FORTRAN computer program, RESIDUAL, was developed to perform the
desired wavelength filtering. Source code and documentation for RESIDUAL
are presented in Appendix A. Much of the source code for the computer
program is after Pitts (1979). The routine to perform the Fourier trans
from is from IBM (1966).
The program RESIDUAL is designed to run on an IBM 3033 with a FORTRAN
G compiler. Users familiar with FORTRAN should have little trouble using
the program with other computer systems that support FORTRAN.
Program RESIDUAL takes a digitized grid of gravity data and filters
-3-
out anomalies with dimensions greater than the specified size. The
digitized data is read into the computer along with the cutoff wavelength.
Before the Fourier transform is performed, several steps are taken to
minimize distortions of the data caused by the transform process. Most
distortions are caused by abrupt changes in data values, either in the
function 1 s spatial or frequency representations.
The first step in reducing distortion is removal of a first.order
trend from the data. This is done to eliminate power in the zero fre
quency component of the frequency spectrum. Otherwise, this component
will be much greater than the other components, which could lead to in
accuracies in the inverse transform process. The first order trend is
restored to the data matrix following the inverse transform process.
To prevent unexpected results due to the abrupt termination of data
at the edge of the matrix, the data is extended on all sides of the map
area and values-tapered smoothly to zero. At this point, the Fourier
transform is performed. The spatial function described by the input
matrix is converted into a frequency representation. The filtering
process is carried out by setting to zero those frequency components
representing spatial wavelengths shorter than the specified cutoff wave
length. The frequency function thus obtained is the regional gravity
field.
An inverse Fourier transform is next performed to obtain a spatial
representation of the regional field. The regional field is extracted
from the center of the extended matrix and the first order trend removed
earlier is restored. The residual field is then computed by subtracting
the regional field from the input data. Program output consists of the
residual and regional data matrices. Rows and columns of each matrix are
labeled with latitude and longitude values or any other convenient coor-
-4-
dinate system. The program utility could be greatly enhanced by adding
a plotter routine for automated posting and contouring of the data.
PROGRAM TESTING
In order to be confident that the program actually separates the
various components of a gravity field as intended, a simple test case
was developed. This test case consisted of a theoretical gravity anomaly
caused by two spheres of varying density. The larger sphere was twice
as large as the smaller sphere and was buried three times as deeply.
Gravity effects from the spheres were superimposed on a planar regional
gravity field. A profile across the total gravity field is shown in
Figure 1.
The task of the computer program was defined to be separation of
gravity effects due to the smaller sphere from the remainder of the
theoretical field. Figure 2 shows a profile of the regional field pro
duced by the program RESIDUAL. Figure 3 is a profile of the residual
gravity anomaly calculated by the program. These results indicate that a
good separation of anomalies was achieved by the program.
Further testing of the program revealed that some distortion of the
data was occurring despite trend removal and elimination of edge effects.
The distortion is visible in contoured maps of regional fields as "ripples 11
symmetric about the map area, i.e. ripples tended to be present along
lines dividing the map area into quarters and eighths. The amplitude of
the distortion did not exceed several mgals. While the cause of the
distortion is not fully understood, a simple solution was devised.
Following production of the regional field, the data matrix is hand
smoothed by contouring. Data values corresponding to the distorted
areas are removed and replaced with values that permit smooth contouring.
Because regional maps have simple geometries, contouring is rapid and
9
8
7
6 ~ ,..... ro Ol E 5 ~ ,..... ro E
4 0 C ~
0 ..... 3 > ro ~
c..!)
2
1
0
0 1 2 3 4 5 6 7 8 9 10 11 12 13
Distance from Origin (miles)
Figure 1. ~ Gravity profile for two spheres superimposed upon a planar field.
14 15
I (J1 I
9
8
7
6
,,-... t/1
,-- 5 I'd Ol E ...........
>, 4 r-I'd E 0 s::: I'd 3 ~ .,... > I'd 2 ~
<.!J
1
0
0 1 2 3 4 5 6 7 8 9 10
Distance from Origin (miles)
Figure 2. ~ Profile of test case regional gravity field.
11 12 13 14 15
I 0) I
9
8
7
6
5 ,....... ~
..--m 4 0) E ........,
~ ..--3 m
E 0 C m
~ 2 .,... > m ~
1 <.!l
0 0 1 2 3 4 7 8
Distance from Origin (miles)
Figure 3. ~ Profile of test case residual field.
11 12 13 14
I -...J I
-8-
unambiguous. The corrected portion of the data is then subtracted from
the affected part of the total field matrix giving a corrected residual,
This process ensures that artifacts created by the filtering process
will not be interpreted as anomalies on a residual map.
CUTOFF WAVELENGTH SELECTION
The selection of the cutoff wavelength is a crucial part of the
residual-regional separation process. A variety of methods can be used
to select the cutoff wavelength. The simplest conceptually is visual
inspection of the data to be used as input. A contoured complete Bouguer
gravity map is the most suitable way of inspecting the data. By observing
the sizes of anomalies present, a decision can be made as to which fea
tures should be enhanced or suppressed, Desired anomaly size is, of
course, a function of the user's needs and expectations concerning the
shape, size, and density of geologic structures. Hence, a good knowledge
of the geology of the study area is very helpful.
Another useful tool for determining cutoff wavelengths is an ampli
tude power spectrum. A power spectrum is a plot of the square of the
amplitudes of the frequency components against frequency, Using the nat
ural logarithm of the amplitude squared permits easy plotting.
A power spectrum for gravity data ideally consists of three parts
(Figure 4). At the low frequency end of the spectrum, the plot has a very
steep slope. This steep area corresponds to the regional or long wave
length portion of the data. Towards the middle of the plot, the slope
is notably less. This represents the residual 11 signal. 11 The spectrum
plot becomes nearly horizontal in the high frequency range. The flat
area is often taken to represent 11 noise 11 present in the data. The noise
may correspond to errors in digitizing and gravity field measurement,
or simply very small wavelength anomalies.
N
co 0-,
E
::z:: .....l ........,.
s... QJ 3: 0
Cl..
::z:: .....l
C
Radial Frequency (cycles/km)
Figure 4. ~ Idealized power spectrum plot. A marks the position of the regional portion of the plot; B, the residual; and C, "noise".
I I.D I
-10-
Choice of a cutoff wavelength is made by· identifying the graph's
inflection point from the steep, regional slope to an intermediate,
residual value. Because the power spectrum is a smooth curve, this
decision is often somewhat arbitrary. However, a suitable range of
cutoff wavelengths can easily be obtained.
A FORTRAN computer program, SPECTRA, was developed to calculate
amplitude power spectrums. Source code and documentation for SPECTRA
are provided in Appendix B.
RESULTS
Gravity data contained in a complete Bouguer gravity anomaly map
of the Southern Cascade Mountains, Washington (Danes and Phillips, 1983a)
were used as input for programs RESIDUAL and SPECTRA. A digitized
representation of the map was made by placing a 64 x 64 grid over the
map and assigning values to grid points by interpolating between contour
lines. Values were estimated to the nearest mgal. A 64 x 64 grid was
chosen because the Fourier transform method used requires data matrices
to be a power of two. The resulting 4096-point matrix also represents
a good compromise between digitizing accuracy and rapid map production.
A power spectrum plot of the Southern Cascade gravity data is shown
in Figure 5. The plot suggests that the regional-residual cutoff wave
length falls somewhere between 90 km and 15 km. Since a unique wave
length filter was not defined, three residual maps of cutoff wavelengths
20 km, 40 km, and 85 km were produced. These maps are presented in Plates
1, 2, and 3. The residual maps are at the same scale (1:250,000) as the
original complete Bouguer anomaly map. The original map contour interval
of 5 mgals was also used in preparing the residual maps.
12
10
8
6
,-... N r-rO 01 E z J --...,
S-Q)
3: 0
0..
z ...J
2
0 0
I --' --'
0.02 0.04 0.08 0.12 0.16 0.20 0.24 0.26 0.32 0.36
Radial Frequency (cycles/km)
Figure 5. Power spectrum of gravity data from the Southern Cascade Mountains, Washington. Position of 85 km, 40 km, and 20 km cutoff wavelengths are indicated.
-12-
REFERENCES CITED
Clement, W.G., 1973, Basic principles of two~dimensional digital filtering: Geophysical Prospecting, v. 21, p. 125-145.
Cordell, Lindrith; Grauch, V.J.S., 1982, Reconciliation of the discrete and integral Fourier transforms: Geophysics, v. 47, no. 2, p. 237-243.
Danes, Z.F.; Phillips, W.M., 1983a, Complete Bouguer gravity anomaly map, Cascade Mountains, Washington: Washington Division of Geology and Earth Resources Geophysical Map GM-27, 2 sheets.
Danes, Z.F.; Phillips, W.M. 1983b, Principal facts and a discussion of terrain corrections for the complete Bouguer gravity anomaly map, Cascade Mountains, Washington: Washington Division of Geology and Earth .Resources, Open-file Report 83-1, 15 p., 145 gravity data sheets.
Gupta, V.K.; Ramani, N., 1980, Some aspects of regional-residual separation of.gravity anomalies in a Precambrian terrian: Geophysics, v. 45, no. 9, p. 1412-1426.
IBM, 1966, System/360 Scientific Subroutine Package (360 A-CM-03X) Programmer's Manual: International Business Machines, White Plains, New York. 454 p.
Pitts, G.S., 1979, Interpretation of gravity measurements made in the Cascade Mountains and adjoining Basin and Range Province in Central Oregon: Oregon State University Master of Science thesis, 186 p.
A-1
Appendix A
FORTRAN Program RESIDUAL
**** TSO FOREGROUND HAROCOPY **** OSNAHE=WPGG490.RESIDUAL.PRG
C C C C
PROGRAM RESIDUAL
BY DEBRA MCLEAN OISHBERGER
00000010 00000020 00000030 00000040
C 00000050 C APPENDIX A 00000060 C 00000061 C WASHINGTON DEPARTMENT OF NATURAL RESOURCES 00000062 C DIVISION OF GEOLOGY AtlD EARTH RESOURCES 00000070 C OLYt1PIA, WAS!IINGTOt1 98504 00000071 C 00000073 C OPEN-FILE REPORT 83-4 00000080 C 00000081 C APRIL 1983 00000082 C 00000083 C THIS PROGRAM SEPARATES A SET OF GRIDDED DATA (EG GRAVITY DATA) 00000090 C INIO A REGIOtlALC LOIJG-WAVELEtlGTH l Atm A RESIDUALCSHORT-WAVELEtlGTH) 00000100 C CottPONENT. THE REGIONAL CottPOtlENT IS CottPUTEO BY FILTERING OUT ALL 00000110 C l~AVELENSTHS SIIORTER THAN A CUTOFF ~!AVELEtlGTII SPECIFIED BY THE USER. 00000120 C THE RESIDUAL IS FOUND BY SUBTRACTING THE REGIONAL Cot1Pot!ENT FRot1 THE 00000130 C O'.IIGltll\L DATA. lHE FILTERittG PROCESS IS Ci\RRIED OUT IN THE FREQUEt~CY 00000140 C DOMAIN BY USING A 2-DIMENSIONAL COMPLEX FOURIER TRANSFORM. 00000150 C 00000160 C*****USING THIS PROGRAM***** 00000170 C 10 RON ltlIS PROGRAM THE FOLLOWING 'CARDS' MUST BE PLACED BEHIND 00000180 C TIIE STATEMENT GO.SYSIN AT THE END OF THE PROGRAM. A CARD IS A SINGLE 00000190 CLINE OF INPUT. 00000200 C COtHROL CARDS 00000210 c --CARD 1. Dif1EtlS!OtlS OF DATA GRID. EACH Dit1EtlSION MUST BE A Pot!ER OF 00000220 C mo. t1AXIt1Ut1 GRID SIZE IN O:lE DIRECTION IS 64. SIZE OF X DIRECTION 00000230 C IS IN 1ST 10 SPACES, AtlD SIZE OF Y DIRECTION IS HI 2HO 10 SPACES. 00000240 C FORMAT IS 2Il0. 00000250 c --CMIO 2. cOflTA!flS 1HE LEflGTfi OF THE CUTOFF MAVELEFlGTH IN THE 1ST 10 00000260--------------------------------
C SPACES, FOLLOl~ED BY Tl!E LENGTH OF THE DATA t1AP IN THE EAST-WEST 00000270 C DIRECTIOll IN TIIE 2tl0 10 SPACES,ANO THE LEMGTH OF THE DATA MAP IN THE 00000280 C NORTH-SOUTH DIRECTION IN THE 3RD 10 SPACES. THESE VALUES MAY BE IN ANY00000290 C umts DESIRED, AS [Ofl(:, AS THE SAtlE DtlIT:5 ARE USED FOR ALL 3 VALOt=-.-~0~0~0~0=0=3"""0""'0--------------------------------
c --CARD 3. LATITUDE, THEN LotlGTITUDE OF THE NW CORNER OF THE DATA HAP 00000310 C WRITE IN THIS FORMAT: 46 OEGREES,ZERO MIHUTES, ANO 27 SECONDS IS 00000320 C WRITTEN AS 460027. LATITUDE TAKES UP THE 1ST 10 SPACES OF LINE, AND 00000330 t LOtlGII UDE I AKFStJP NEX I 10 SPACES. I FOFIMA I Is-zrTU I OOOTI!~~--------------------------------C --CARD 4. LATITUDE AflO LONGITUDE OF SE CORNER OF HAP. SAME FORMAT 00000350 C AS CARO 3. 00000360 C --CARD 5. TITLE FOR RESIDUAL FIELD OUTPUT. IF NO TITLE IS DESIRED 00000370
-r:--'.rrsURE AtlD LEAVE A BLAflK LIME OR lflE FIRSI LlflE OF OAIA tl!LL BE 00000.:,l\O C MISTAKEN FOR A TITLE. 00000390 C-----DATA CARDS----- 00000400 C THE DATA IS STORED IN AN ARRAY THAT REPRESENTS THE WAY THE DATA 00000410 t l'Oltll!> wOOLO BE PO!>IIIOflED OM A tll\P. IHE ISi RO:! IS lllE llORlRl!OSI C ROI-I OF DATA AND TIIE LAST ROl4 IS THE sounntosT ROIi OF DATA. LIKEc IHSE, THE LEFTt!OST COLUt1M REPRESEtHS DATA OM THE llEST EDGE OF THE C t1AP AtlD THE RIGHTt!OST COLUt11l REPRESEtnS DATA ON THE EAST EDGE OF THE
-t rlAP. lftE ARRAY NEED no1 BE SQCTARE. lftt f10!1BER OF Gll!D POU:IS Ifl EACH C DIRECTIO~l tlUST BE A POl!ER OF HlOC 8,16,32,6'.J.IF A VALUE LJ,RGER THAM C 64 IS USED ARRAY DIHEMSIOtlS HUST BE CHAtlGED IN THE PROGRAtl. SEE C COtlttENTS PRECEDWG EACH ROUTWE IN PROGRAM FOR DIRECTiotlS ON ~lHAT TO
0000042 00000'+30 OOOOOt1t10 00000'150 000 t.
00000470 00000480 00000490
lL,
C CHAtlGE ANO HOW TO CHANGE IT. THE OATA ARRAY IS REAO IN STRIPS OF 8 C COLUtltlS AT A TIME. EACH OATA CARO HO LOS 8 VALUES IN A 8F7. 0 FORMAT. C FOR EXAMPLE, IF THERE 32 Rm~s OF DATA AND 64 COLUt1NS OF DATA, THE C 1ST 32 CARDS HOLD VALUES FOR COLUt1NS 1-8, THE 2ND 32 COLUt!NS HOLD C VALUES nm COLUMNS 9-16, AtlD so OM. Ill THIS CASE, THERE (lOULD BE C 8 SUCII SETS OF 32 CARDS. C
C
C
Dlt!ENSION SH LARY( 64 ,64 l ,BGARYC 2,128,128 l, TRHlDC 3 l ,HHARMC 3 l Dlt1Et1SI0tl SIGIH 4096 l, HNl 4096), TOT FLO C 64, 6(1 l ,RESTRN( 3) INTEGER GRIDX, GRIDY,TITLEC20),RECMVR Cot1t10N/DATA1/St1LARY /DATA2/BGARY /DATA3/SIGN, INV
READC5,10) GRIOX,GRIDY LARGEX = 2 * GRIDX LARGEY = 2 * GRIDY READ(5,5l CUTOFF, XSIZE, YSIZE
5 FORMAT(3Fl0.2) READ( 5, 10 l LA rnw, LOIIGNW READ(5,10l LATSE,LONGSE
10 FORMAT(2Il0) READC5,20l TIT E
20 FORMAT(20A4l 00 50 I= 1,GRIDX,8
DO 40 J = 1,GRIDY = +
READC5,55l(SHLARY(J,Kl,K=I,Ll 40 CONTitlUE 50 comrnuE
C SAVE ORIGINAL DATA DO 70 I= 1, GRIDX
TOTFLD(I,Jl = SHLARY(I,J) 60 CONTINUE 70 CotlTillUE
C COMPUTE DECIMAL EQUIVLANTS OF LATITUDE ANO LONGITUDE DLATtll~ = COIIVER( LATtl\~) DUlGNI~ = COIIVER( LONGtlt~ l
---u~L-A-r-sE==COflVERTIATSFT DLNGSE = CONVERCLONGSEl
C C INITIALIZE BGARY
C C C
C
00 ~00 1=1,LARGEX DO 100 J=l,LARGEY
BGARY(2,1,Jl = 0.0 100 CONTHlUE .:oo com rno
Cot1PUTE FAST FOURIER TRANSFORM OF GRIDDED DATA
CJ\.Ll FFISEII Ji.lENU,GRIOX,GRIOYJ
C SET THE PARAt1ETERS NEEDED TO ENTER HARH !OPT= 1
-C FTilO IIIE LUG BASE 2 OF GRIOX AtlU GRIOY DO 385 I= 1,10
M = 2**I IF ( H.EQ.LARGEX) HHARM(ll = I
00000500 00000510 00000520 00000530 00000540 00000550 00000560 00000570 00000580 00000590 00000600 00000610 00000620 00000630 00000640 00000650 00000660 00000670 00000680 00000690 00000700 00000710 00000720 00000730 00000740 00000750 00000760 00000770 00000780 00000790 00000800 00000810 00000820 00000830 00000840 00000850 00000860 00000870 00000880 00000890 '91~------------------------------000009 l O 00000920 00000930 00000940 00000950 00000960 00000970
00000990 00001000 00001010 00 00001030 00001040 00001050 00001060 00001070 00001080 00001090
385
C
IF ( M.EQ.LARGEY) MHARMC2l = I CONTINUE HHARtH 3) = 0
00001100 00001110 00001120 00001130
C
C
HARt1 IS THE ROUTINE THAT ACTUALLY CALCULATES THE FOURIER CALL HARM(tmARM,IOPT,IFGOOF) IFCIFGOOF.NE.01 CALL EXIT
TRANSFORM00001140 00001150 00001160 00001170
C
C
C C C400 C
450
C
475 500
525
1000
C
CAL[ FILTER([ARGEX,LARGEY,MHARM,CUTOFF,XSIZE,YSIZEl
CALL STRIPCGRIDX,GRIDY)
CALL RETREN(TREtlD,GRIDX,GRIDY)
~IRITE!6,4001 FORMAT!lfll,'INPUT DATA') CALL PRNIIAT(GRIDX,GRIDY,TOTFLD,DLATNW,DLNGNW,DLATSE,DLNGSE) WRITE!6,450) FORtlAT( lHl' I REGIOtlAL FIELD' ) CALL PRtlttAT! GRIDX ,GRIDY, SMLARY ,DLATtlW,DLNGNW,DLATSE ,DLNGSE l
CotlPUTE RESIDUAL--RESIOUAL= TOTAL FIELD-REGIONAL FIELD DO 500 I= 1,GRIDX
DO 475 J = 1,GRIOY SMLARY(I,J) = TOTFLD!I,Jl - SMLARY(I,Jl CONTitlUE
CONTINUE WRITE!6,525l TITLE FORMATC1Hl,27X,2DA4l CALL PRNMAT!GRIDX,GRIDY,SMLARY,DLATNW,DLNGNW,OLATSE,DLNGSEI CALL FTRENDIRESTRN,GRIDX,GRIDYl WRITE!6,1000) RESTRN FORMAl!lH-,'RES!DUAL TREND',3Fl0.3l STOP mo
C******************************************************** C
FUNCTION CONVER!LOCl INTEGER DEG, ttHISEC, HIN, SEC
C 11115 FOtlCT!Otl TAKES A lmlGIIOOE OR LATI10DE EXPRESSED !Fl TERMS C OF DEGREES, MINUTES, AtlD SECotlDS AND CONVERTS IT TO AN EQUIVLANT C AtlOUtlT IN DECIMAL DEGREES. FOR EXAMPLE, 453030, IE 45DEGREES, 30 C MINUTES, 30 SECONDS BECOMES 45.5083 DEGREES
DEG= LOC/10000 MINSEC = tlOD(LOC,10000) tl!tl = tl!NSEC/100 SEC= !IODCtlltlSEC,1001 CONVER= FLOAT(DEG) + IFLOAT!MINll/60. + IFLOAT(SECll/3600. RETURN mo
C******************************************************** C
It1TEGER FUllCTION RECtlVRIDLOC l REAL DEG,tllflSEC,IUtl,SEC
C THIS FUNCTION TAKES A LONGITUDE OR LATITUDE IM DECIMAL FORM AND C COtlVERTS IT BACK INTO DEGREES, MINUTES , AND SECotlDS. FOR EXAMPLE, C 45.5083 DEGREES BECOMES 453030
00001180 00001190 00001200 00001210 00001220 00001230 00001240 00001250 00001260 00001270 00001280 00001290 00001300 00001310 00001320 00001330 000013140 00001350 00001360 00001370 00001380 00001390 00001400 00001410 00001420 00001430 00001440 00001450 00001460 00001470 00001480 00001490 00001500 00001510 00001520 00001530
00001550 00001560 00001570 0000158 00001590 00001600 00001610
00001630 00001640 00001650 00001o60 00001670 00001680 00001690
C DEG = AHlT! DLOC) MINSEC = DLOC - DEG MIN= AINT(60.* MINSECl SEC= AINT(60. * ((60. * MINSECJ - MINI! RECtlVR = lOOOO*IFIX(DEGl t lOO•IFIX(MINl t IFIXCSEC) RETURN END
00001700 00001710 00001720 00001730 00001740 00001750 00001760 00001770
C 00001780 C******************************************************** 00001790
SUOROUTINE PRllt1AT! NX ,NY ,HAT ,DLATtlW,OLNGtlW,DLATSE ,DLNGSE l 00001800 ___ R_;_EAL LATitlC, LNGit:C,tlAT( 64,64 l 00001810
HllEGrn RECtlVR, LO~lG(8l , It1AT(64,64l 00001820 C SET 0It1EtlSI0tlS OF 11AT TO GRIOX,GRIDY 00001830 C THIS ROUTINE PRINTS OUT A MATRIX. 00001840 C PARAtlETERS ARE: NX, THE X 00001850 C DitlEtlSIONi tlY, THE Y DH1EtlSION; AND MAT, l~HICH SPECIFIES THE 00001860 C MATRIX TO BE PRINTED 00001870 C 00001880 C SET INCREMENTS FOR PRINTING LATITUDE ANO LONGITUDE 00001890
LATHIC = (DLATtUI - DLATSEl/FLOAT(NYl 00001900 UlGrnc = !DltlGHW - DLNGSE)/FlOATHlX) 00001910 00 100 K = 1,NY,8 00001920 L = K t 7 00001930
C PRINT LotlGITUDE HEADINGS 000019t10 DO 20 I= 1,8 00001950
J =Kt I - 1 00001960 LotlG( I l = RECNVR!DltlGNW-FLOAT( J-1 l*LtlGINC l 00001970
~2~0-~c~o~,1=1=rnuE 00001980
WRITEC6,1101 (lotlG(Il,I = 1,8) 00001990 DO 50 I= 1,NX 00002000
LAT= RECNVR!OlATtlW - CLATINC*FLOAT(I-llll 00002010 WRITE!6,150l LAT,IHATII,Jl,J =K,Ll 00002020
50 CotlTIIRJE 00002030 100 comrnuE 00002040
RETURN 00002050 110 FORf!i\rllll0,7X,8F7.ll 00002060 150 FORtlAT( HIO, IlO, 8F7 .1 l 00002070
END 00002080 C******************************************************** 00002090
S0DR00T1flE FFTSET!TRfm,llX,flY l 00002100 C 00002110 C THIS SUBROUTINE PREPARES THE DATA FOR THE FOURIER TRANSFORM PROCESS 00002120 C PARAMETERS ARE TRND, A 3-ELEMENT VECTOR THAT HOLDS A DESCRIPTION OF 00002130 C A f· IRS T OROERIRET:D SOR FACE fflAT FFTStrREf10VE'';S..:;..FR;.C,..;f..;.1 _;T;,;f;l;E;..::;,;D..;:A_;.T..;.A::... :.;E~I;.;S......;o,.;o,.;o;.o;:2;.1~--------------------------------
C A PREl~HITENrnG COEFFICIENT. NX Atm NY ARE THE X AND Y DIHEtlSIOllS OF 00002150 C THE DATA GRID. ACTIONS PERFORMED BY FFTSET: 00002160 C 1 l. FINDS A BEST FITTitlG 1ST ORDER TREtlD SURFACE THROUGH THE DATA 00002170 C AllD RHIOVES I l. lfl!S REflOVES rml::.R FRO!! lHE DC COflPotlrnrD_F_T_A~E--~o~o~o~0~2~lo~xo--------C FREQUENCY SPECTRUM. THE TREND IS ADDED BACK TO THE REGIONAL DATA 00002190 C AFTER THE FILTER PROCESS. 00002200 C 2 l. TAPERS THE DATA. THE FOURIER TRAtlSFORH mu HORE ACCURATLY 00002210 C REl'IH:!.>ENl IIIE OA!A If lliAI DAIA ODES llOl 'lHWP-UFF'"'ArlflE OO'!llR~~---------------------------C EDGE Of TIIE GRID. TIIE GRID IS EXTENDED BY TAPERIIIG THE VALUES C AT THE EDGE OF TIIE GRID TO ZERO usrnG A COSINE SQUARED WEIGIHING C FUtlCTIOtl. A PAD OF ZEROS IS PLACED AROUND THIS ENTIRE MATRIX TO
-::c--cREA IE A f ltlAL GIHO lflA l IS Hl!CE AS LARGE AS lflE ORIGIIIAL. IHIS C GRID IS CALLEO TAPER. C TIIE t1ATRIX SMLARY IS LINKED TO GRID VIA COM~10N BLOCK OATAl. THE C MATRIX BGARY FROM TIIE MAIN PROGRAM IS litlKED TO THE MATRIX TAPER
00002230 000022(10 00002250 00002260 00002270 00002280 00002290
C VIA COttMON BLOCK DATA2 C SET THE DIMENSION OF WTX TO BE GRIDX/4 C SET THE DIMENSION OF WTY TO BE GRIDY/4
DIMENSION S13,3l,G(3l,TRND(3l,WTXl16l,WTY(l6l C C SET THE DIMENSIONS OF GRD TO BE GRIDX,GRIDY C SET THE DH1EtlSiotlS OF TAPER TO BE 2, 2*GRIDX, 2*GRIDY
Cot1MON/OATA1/GRD( 64 ,64 l/DATA2/TAPER (2,128,128 l C !OP IS THE UtHT NmlElER FOR THE LIHE PRINTER
C
IOP = 6 NX2 = 2 * NX tlY2 = 2 * NY tlXf.l4 = tlX/4 tlYB4 = NY /4 NXB2 = NX/2 NY02 = NY/2 tlY34 = 3~NY /4 NYB2Pl = NYB2 + 1 NY32 = 3'1NY82 NXtll = tlX - 1 Ni'tll = tlY - 1 PI= 3.141592653 PIXB4 = PI/NXB4 PIYBt1 = PI/tlYB4
CALL FTRENDCTRND,NX,tlYl C C SET TAPERING PARAMETERS
DO 20 I = l ,NXBl1 D = IFLOATINXB4 - Ill/2. WTX(Il = 11 - C0SIPIXB4*Dl**2l
20 CotlTINUE D
D = (FLOATINYB4 - Ill/2. WTYIIl = 11 - COSIPIYB4*Dl**2l
30 CotHINUE
00002300 00002310 00002320 00002330 00002340 00002350 00002360 00002370 00002380 00002390 00002400 00002410 00002(,20 00002430 00002440 00002450' 00002460 00002470 00002480 00002490 00002500 00002510 00002520 00002530 00002540 00002550 00002560 00002570 00002580 00002590 00002600 00002610 00002620 00002630 00002640 00002650 00002660
C 00002670 C OETREND GRID A PROFILE AT A TIME 00002680 C Cot1PUTE VALUE OF TREND SURFACE AT EACH POINT, AND REMOVE IT 00002690
00 70 IY = 1,NY 00002700 Y = FLOAT(IYl 00002710 DO 60 IX= 1,NX 00002720
X = FLOATIIXl 00002730 ----~1~1?~E~n-0~=~1R~f-m~t~1~1~+~TRmN~o...,c~2~1~*~X"""""'"+-T~RmJ-...l0...,!'"'"3...,l'""*""'Y------------,,ooTI ..
GRDIIX,IYl = GRDIIX,IYl - TREND 00002750 60 CONTINUE 00002760 70 COtlTINUE 00002770
C P!Htll ltlt. l~tNU C0EFFIC1En1S 00002780 WRITE (!OP, 90 lTRNDI 1 l, TRtlD( 2 l, TRNDI 3 l 00002790
90 FORMATllH ,'TREND SURFACE=',F6.2,' + ',F6.2,'*X + ',F6.2,'*Y'l 00002800 C OETRENDING COMPLETE 00002810
Jl = NYBt1 * 7 DO 225 I= 1,NX
DO 220 J = 1,NYB4
TAPERll,I,Jl = 0.0 TAPER(l,I,J2l = 0.0
220 CotHitlUE
00002830 00002840 00002850
0.0002870 00002880 00002890
II C::
C C
225 CONTINUE DO 235 I= 1,NY
DO 230 J: 1,NXB4 J2 = J + Jl TAPER(l,I,Jl = 0.0 TAPER(l,I,J2l = 0.0
230 CONTINUE 235 CONTINUE
C PLACE MATRIX GRD Hl THE CENTER OF THE MATRIX TAPER 00 270 IYl = 1,NY
240
IY2 = IY1 + tlY02 00 240 IXl = 1,tlX
IX2 = IXl+ NXB2 TAPER(l,IX2,IY2): GRD( IXl, IYl l
C TAPER C
COtHitlUE EACH PROFILE
C
DO 250 I= 1,NXB4 IP= CtlXC2tll - I JP= (3*NXB2) t I TAPER(l,IP,IY2l = GRD(l,IYl) * WTX(Il TAPER(l,JP,IY2l = GRD(NX,IYl) * WTXCil
250 CotH!tlUE 270 CONTINUE
C TAPER PROFILES IN THEY DIRECTION
DO 280 J = 1,NYB4 L = 33 - J K=96+J lAPERll,I,LI = TAPER!l,I,NY82Pll*WTY!Jl TAPER(l,I,KI = TAPER(l,I,NY32l*WTY!Jl
280 CONTINUE 300 CONTINUE
rno C C******************************************************** C lflIS !>0t1R001INE COIIPIJT"E-s-111E BESI-FII llflG FIRST ORDER TREIID C SURFACE THROUGH THE ARRAY Itl corn1otl BLOCK OATAl. THE COEFFICIENTS C THAT DESCRIBE THE TREND SURFACE ARE IN TIIE MATRIX COEF. NX AllO NY C ARE THE OittEMSIOtlS OF THE ARRAY Hl OATAl, AllO SHOULD BE SET TO C lflE VALUES ormrrox Alm GRIOY. C
C
SUBROUTINE FTRENO(COEF,NX,NYl Cot1t10N/OAT A 1/GR ID ( 64, 64) OIIIEflSIOll COEF t 3 I, St 3, 3 J ,Gt 3 J
C SET DETRENO PARAMETERS BO 10 I= 1,3
Gt I J -COEF(Il = 0.0 00 9 J = 1,3
S(J,Il = 0.0
10 CONTINUE C C SET S( 1, ll
00002900 00002910 00002920 00002930 00002940 00002950 00002960 00002970 00002980 00002990 00003000 00003010 00003020 00003030 00003040 00003050 00003060 00003070 00003080 00003090 00003100 00003110 00003120 00003130 00003140 00003150 00003160 00003170 00003180 00003190 00003200 00003210 00003220 00003230 00003240 00003250 00003260 00003270 00003280 00003290 00003300 00003310 00003320 000033.~3~0~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ oomr:n 1
00003350 00003360 00003370 00003380 00003390 00003400 00003(110
00003430 00003440 00003450
·o 00003470 00003480 00003490
S(l,ll = FLOAT(NXl * FLOAT(NYl C FitlO FIRST ORDER TREtlO SURFACE C A PROFILE AT A TIME
C
C c
40 50
52
00 50 IY: 1,NY Y = FLOAT(IYl Y2 = Y * Y 00 40 IX= 1,NX
X = FLOAT( IX l = GRIO(IX,IY
S(l,2) = S(l,2) + X SC2,2l = SC2,2l + X*X SC3,2l = 5(3,2) + X*Y 5(1,3) = S 1,3) + Y 5(3,3) = 5(3,3) + Y2 G(ll = G(ll + Z G(2l = G(2l + Z*X G(3) = G(3l + Z*Y
CotlTitlUE CONTINUE
COMPLETE HIE S ARRAY s 2, ,2 S( 3,ll = S(l,3l 5(2,3) = S(3,2l
mm 111E TREf!O COEFFICIENTS 00 56 K = 1,3
SKK = S(K,Kl S( I( ,Kl = 1.0
= ' S(K,J) = S(K,Jl / SKK CONTWUE 00 56 I = 1,3
1,
54 SIK = S(I,Kl S!I,Kl = 0.0 00 56 J: 1,3
SlI,Jl = SCI,Jl -SIK*SlK,JJ 56 CONTINUE
00 58 I= 1,3 00 57 J = 1,3
COEFlil = COEFl!l + SII,Jl*G(Jl 57 COtHINLJE 58 comrnuE
RETURN
00003500 00003510 00003520 00003530 000035(-10 00003550 00003560 00003570 00003580 00003590 00003600 00003610 00003620 00003630 00003640 00003650 00003660 00003670 00003680 00003690 00003700 00003710 00003720 . 00003730 000037(10 00003750 00003760 00003770 00003780 00003790 00003800 00003810 00003820 00003830 00003840 00003850 0 00003870 00003880 00003890 00003900 00003910 00003920 00003930
C***************************************************************** 00003950 CTHIS SUBROUTINE PERFORMS A DISCRETE COMPLEX FOURIER TRANSFORM ON 00003960 CA THREE DIMENSIONAL ARRAY. IT CAN BE DONE ON A 2-0 ARRAY AS WELL 00003970 C 1-lilltll IS WIIAI OOfk !fl llilS CASE. lfllS IS FR0,·1 IRE IBfl SYSIErlhoO 0000.5980 C SUBROUTINE PACKAGE, EDITION 1120-0166-2 00003990 C PARAtlETERS PASSED THROUGH THE SUBROUTINE CALL ARE: M, A 3 VALUE 00004000 C VECTOR DEFINING THE SIZR OF THE INPUT ARRAY, IFSET,AN INTEGER 00004010 C lll(JICAI murmrntrn A FOOIHER IRMbrnRr1 OR i\N rnvrnsE ll(AflSfOlm IS OITTJUZilJZ"n--------------------------------c TO OE rERFOfmED, ANO !FERR, Atl ERROR FLAG. PAR/\t(ETERS PASSED VIA 00004030 C COttt10N BLOCKS ARE: A, A 1-0 ARRAY THAT HOLDS TIIE DATA. IT IS Litll<ED 00004040
_c __ V....,I""A....,..o_,,A..,.T.,,.A_2_T,...O.,.,_B.,..GARY IN THE tlAIN PROGRAt1. ~lHEN THE TR>'Jl0MS~F~OR~t-·1~I~S,.....,=----Om0"'0""0'""4,..,.0r.:5-n0c--------------------------------
-C COIIPLEIE, lhE RtmARE Ill A, S, A 1-0 >1RRAI !HAI HOLDS A SINE 0000-tOoO C TABLE; ANO !NV, A WORK AREA FOR THE ROUTINE. 00004070 C SET THE OltlENSION OF A TO 8*GRIOX*GRIOY 00004080 C SET THE DntENSION OF S, AtlD OF INV TO GRIDX*GfHDY 00004090
A-7
C
C
SUBROlJTHIE HARH(H,IFSET,IFERR) COt1HON/DATA2/A( 32768 )/DATA3/S( 4096), INV( 4096) Dit1EtlSI0tl N( 3) ,tH 3) ,NP( 3) ,l•H 2) ,W2( 2) ,W3( 2) EQllIVALEt1CE (In, IH 1)), !N2, N( 2) l, ( N3 ,N( 3) l
10 IF (IABS(IFSET) - ll 900,900,12 12 HTT = MAXO(M(ll,H(2l,H13)) - 2
ROOT2 = SClRTl2.) IF IMTT - MT) 14,14,13
13 IFERR = 1 WRITE( 6 ,8)
8 FOP.ttAT!H!O,'ERROR HI HARM. PROBLEM IS AT STHT 13') RElUfitl
14 IFERR:: 0 Ml = HI 1) tt2 = ti( 2 ) t13 = tl(3) Nl = 2**t1l N2 :: 21ott2 IB :: 2**t13
l6 IF (IFSET) 18,18,20 18 NX :: Nl *ll2*N3
FN = NX DO 19 I= 1,NX
A(2NI-ll= A(2*I-ll/FN A(2*Il = -A(2*I)/FN
19 COtlTHlUE 20 NP! 1) :: Ill *2
llP!2) = F!P!1l*fl2 NP!31 = NPl21MN3 DO 250 ID= 1,3
IL = llP( 3) - NP( ID l +
MI = Ml ID l IF !Mil 250,250,30
30 IDIF = NP(IDl
t1EV = 2* ( MI/2 I IF (HI - HEVI 60,60,40
C IF 11 IS OIJO , 00 L = I 40 KBIT = KBIT/2
KL = KBIT - 2 DO 50 I= 1,ILl,IDIF
DO 50 K = I,KLAST,2 KO= Kt KBIT
C DO A STEP WITH L=l, J:O
00004100 00004110 00004120 00004130 00004140 00004150 00()04160 00004170 COOOl;l80 00004190 00004200 00004210 00004220 00004230 00004240 0000(1250 00004260 00004270 00004280 0000lt290 00004300 00004310 00004320 OOOOt1330 000043(;0 00004350 00004360 00004370 0000!;380 00004390 00004400 00004410 00004420 00004430 00004440 00004450 0000 60 00004470 00004480 00004490
00004510 00004520 00004530
00004550 00004560 00004570
C C
AIKI - AtKI + AIKO! A(KD) = A!KI - A(KD) T :: A(KD I A!KDl = A!Kl - T
IHIS IS IRE EFFECI Of IRE NEXI 6 LINES 00004580 00004590 00004600 00004610
- :>
52 C
T = A(KOtl) A(KOtll = A(K+l) - T A(Ktll:: A(K+ll t T
IF (MI - 11 250,250,52 LFIRST = 3
"lo
0000(16 30 0000(16(10 0000%50
'1 0
00004670 00004680 0000%90
A-8
C DEF - JLAST = 2**(l-2) - 1 JLAST = 1 GOTO 70
C IF HIS EVEN
C
60 LFIRST = 2 JLAST = 0
70 DO 240 L = LFIRST, HI, 2 JJOIF = KBIT KBIT = KBIT/ KL = KBIT - 2
C FOR J=O
C
DO 80 I=l,Ill,IOIF KLAST = I + KL 00 80 K = I, KLAST, 2
Kl = K + KBIT K2 = Kl + KBIT K3 = K2 + KBIT
C DO TWO STEPS WITH J=O
C
C
80
T = A(K2l ACK2l = A(Kl -T A(Kl = ACK) + T T = ACK2+ll ACK2tll = A(K+ll - T ACK+l) = A<K+ll + T
T = ACK3l
A(Kll = A(Kl) + T T = A!K3+ll A(K3+ll = A(Kl+ll - T AIKI+ll = AIKI+l) +T
T = A<Kll AIKll = A(Kl - T
+ T = A(Kl+ll AIKl+ll = A!K+ll - T A(K+ll = A!K+l) + T
R = -A(K3+ll T = AIK3l A(K3l = ACK2) - R
+ A<K3+ll = A!K2+1) T A(K2+ll = A!K2+ll + T
CONTIMUE lt I J LAS I J 2 35 , 2 35, 82
82 JJ = JJDIF + 1 C C FOR J = 1
DO 85 I = JJ, !LAST, IDIF KLAST = KL + I DO 85 K = I,KLAST,2
00004700 00004710 00004720 0000(1730 00004740 00004750 00004760 00004770 00004780 00004790 00004800 0000(1810 00004820 Q0004830 00004840 0000(1850 00004860 00004870 00004880 0000(1890 00004900 00004910 00004920 00004930 00004940 00004950 00004960 00004970 00004980 00004990 00005000 00005010 00005020 00005030 00005040 00005050 00005060 00005070 00005080 00005090
0 00005110 00005120 00005130
00005150 00005160 00005170 00005180 00005190 00005200 00005210
00005230 000052(10 00005250
-.-.-----------------------rrrrrro K2 = Kl K3 = K2
C
+ KBIT + KBIT
00005270 00005280 00005290
A-9
C LETTING W=Cl+Il/ROOT2, W3=C-l+Il/ROOT2,W2=1 R:: -A!K2+1)
00005300 00005310 00005320 00005330
C
C
T:: ACK2l A(K2l = ACK) - R A(Kl:: A!Kl + R ACK2+ll = ACK+ll - T A!K+ll = A!K+ll + T
AllR = AC Kl l - ACKl+l l AWI = A(Kl+ll +A!Kll R:: -A(K3l - A(K3 + ll T = ACK3l - A<K3+ll A(K3l = CAWR - Rl/RCOT2 ACK3+ll = <AWI - Tl/ROOT2 A(Kl) = CAWR + Rl/ROOT2 A!Kl+l) = (AWI + Tl/ROOT2 T = A(Kl) A!Kll:: A(Kl - T A(Kl = A(Kl + T T = A( Kl+ll A(Kl+ll:: A!K+ll - T A(K+ll = A(K+ll + T R = -A(K3+ll T = A!K3l A(K3l = A(K2l - R ACK2l = A(K2l + R A!K3+ll = A(K2+ll -T A!K2+ll = A(K2+ll + T
85 COfHitlUE IF (JLAST - ll 235,235,90
90 JJ:: JJ + JJDIF
'
00005340 00005350 00005360 00005370 00005380 00005390 00005(100 00005410 00005420 00005430 000054(10 00005450 00005f160 00005470 00005480 00005490 00005500 00005510 00005520 00005530 000055(10 00005550 00005560 00005570 00005580 00005590 00005600 00005610
C DEF--W=WuHIV(Jl, W2 = W**2, W3 :: W**3 00005620 00005630 000056t10 00005650
96 I= INV(J+ll 98 IC= NT - l
00005 60 W(2) = S(Il 00005670 I2:: 2*I 00005680 I2C:: NT - I2 00005690
-----~1~F~t~1~:.:c~1-1~2~0~.~1-1-o-,~--------------------,,.,,.oo5-........x--------------------------------
c 2*I IN FIRST QUADRANT 00005710 100 W2(ll = S(I2Cl 00005720
110
W2(2l = S(I2l 00005730
112 Cl l = 0. 0 W2C 2 l = 1.0 GOTO 130
00005750 00005760 00005770
C 2*1 IN SECOND QOAORANI 00005780 120 I2CC = I2C + NT 00005790
I2C = -I2C 00005800 W2(ll:: -S(I2Cl 00005810 ------wzc 2, = :.,110::c rr2--------------------------------
130 13 = I + I2 00005830 13C = NT - I3. 000058t10 IFCI3Cl 160,150,140 00005550
-~c-1~3........,1....,r~1 ""F..,.I'"R .... :., ..... , ..,Q""'"'"'",.,.,..,.....,....-----------------------,,.uo :; o 140 W3( 1 l :: 5( 13C l 00005870
W3C2l = SC13l 00005880 GOTO 200 00005890
A-10
150
160
C I3 IN 170
180
C 3*I IN 190
200
W311) = 0.0 W312l = 1.0 GOTO 200 I3CC = I3C + NT IF(I3CCl 190,180,170
SECOND QUADRANT nc = -nc W311 l = -s1 nc 1 W3(2 = SI I3CC l GOTO 200 1-B( 1) = -1. 0 W312l = 0.0 GOTO 200
THIRD QUADRAtlT I3CCC = NT + nee nee = -nee W3(ll = -S(I3CCC) W3( 21 = -s( nee 1 HAST = IL t JJ 00 220 I= JJ,ILAST,IDIF
KLAST = Kl + I DO 220 K = I,KLAST,2
Kl = K t KBIT K2: Kl t KBIT K3 = K2 + WIT
C DO TWO STEPS WITH J NOT ZERO
~20
230
- ~.)
2l10 250
C
R = AIK2l*H21ll - A(K2tll*W2(2) T: A(K2l*W212l t A(K2tll•W211)
A!Kl = A(Kl t R AIK2+ll = A(K+ll - T AIK+ll = A(K+ll + T
R = AIK3l*W3(1) - AIK3+ll*W3(2) T = AIK3l*W3(2) t AIK3+ll*W3Cl) A~!R = ACKl)+H-l(ll A(Kl+ll*~H2l AIU = Al Kll*IH 2 I + Al Kl+ll*lH 1) AIK3) = AWR - R A!K3+ll = AWI - T A!Kll: AWR + R
Kl+l J = AW! + T : AIKU A!Kll = ACK) - T A!Kl = A!Kl + T
t
A!Kltll = A(K+ll - T AIK+ll: A(K+ll t T R = -AIK3+ll
A(K3l = AIK2l - R A(K2 l = ACK2 l + R A!K3+ll = AIK2+ll AlK.:+I l - AlKZ+ll +
T
CONTINUE JJ = JJDIF + JJ
CONTitlUE ;j
CONTINUE CONTHlUE
00005900 00005910 00005920 00005930 00005940 00005950 00005960 00005970 00005980 00005990 00006000 00006010 00006020 00006030 00006040 00006050 00006060 00006070 00006080 00006090 00006100 00006110 00006120 00006130 000061(10 00006150 00006160 00006170 00006180 00006190 00006200 00006210 00006220 00006230 00006240 00006250 00006260 00006270 00006280 00006290
00006310 00006320 00006330
I
00006350 00006360 00006370
;:)
00006390 00006400 00006410 0000642 00006430 00006440 00006450
0 0
00006470 00006480 00006490
A-11
C C
350 C C
360
C 370
380
450 C C
460
THE COMPLEX FOURIER ARE NOW COMPUTED, BUT THEIR ADDRESSES ARE BIT-REVERSED. THE FOLLOWitlG PUTS THEM IN ORDER NTSQ =NT* NT H3MT = H3 - MT IF (M3MT) 370,360,360
H3 GREATER OR EQUAL HT IG03 = l I 3Vtn = N3/NT tm~tn = NT GOTO 380 tl3 LESS THAN HT IG03 = 2 N3VNT = 1 NTVN3 = NT/N3 HINN3 = N3 JJD3 = NTSQ/IB t12MT = M2 - HT IF IM2MTl 470,460,460
M2 GREATER OR EQUAL HT IG02 = 1 N2VNT = N2/NT HINN2 = NT
--~G=o=10 80 C
470
480
550 C C
560
C
!,UO 600
610
620 630 700
M2 LESS THAN HT IG02 = 2 112Vtff = 1
11INtl2 = N2 JJ02 = NTSQ/N2 tllt!T = Hl - tlT IFtHIHTl 570,560,560
IF Hl IS GREATER THAN OR EQUAL TO HT IGOl = 1
tlINtH=NT GOTO 580 IF t1l IS LESS THAN HT
= NlVNT = 1 IHVIU = NT /Nl t1WN1 = Nl JJOI :: NIStllN JJ3 = 1 J :: 1 DO 880 JPP3 = l,N3VNT IPP3:: rnvtJJ3) 00 870 JP3 = 1,HINN3
GOTO 1610,6201, IG03 IP3 = ItlVI JP3 l*N3VNT GOIO 6 IP3 = !MV( JP3 l/NTVtB I3 = IIPP3 t IP3l*N2 JJ2 = 1
0 870 JPP2 - 1,N2vNI IPP2 = INV(JJ2J t I3 DO 860 JP2 :: 1,HIIUl2
GOTO (710,720l,IG02
00006500 00006510 00006520 00006530 00006540 00006550 00006560 00006570 00006580 00006590 00006600 00006610 00006620 00006630 00006640 00006650 00006660 00006670 00006680 00006690 00006700 00006710 00006720 00006730 00006740 00006750 00006760 00006770 00006780 00006790 00006800 00006810 00006820 00006830 000068l!O 00006850 00006860 00006870 00006880 00006890 0 0 00 00006910 00006920 00006930
00006950 00006960 00006970 00006980 00006990 00007000 00007010
00007030 000070l10 00007050 000 00007070 00007080 00007090
A-12
C C C
C
710 IP2 = INVIJP2) * N2VNT GOTO 730
720 IP2 = INV(JP2l / NTVN2 730 I2 = CIPP2 + IP2) * Nl 800 JJl = 1
DO 860 JPPl = 1,HlVNT IPPl = INVIJJll + I2 DO 850 JPl = 1,MINNl
GOTO (810,820), IGOl 810 !Pl= INV(JPll * NlVNT
GOTO 830 820 !Pl= INV(JPll / NTVNl 830 I= 2 * (IPPl +!Pl)+ 1
IF IJ - I) 840,845,845 840 T = A(II
All)= A(Jl A( J l = T T = Al I+ll AII+ll = AIJ+ll Al J+l l = T
MS CotHIIJUE J = J + 2
850 CONTINUE JJl = JJl + JJDl
860 COtHINUE JJ2 = JJ2 + JJD2
870 CONTINUE JJ3 = JJ3 + JJD3
880 CotlTINUE 890 IF I IFSETI 891,895,895 891 DO 892 I= 1,NX 892 A(2*I1 = -AC2*Il
900
904 905
902
906
TIIE srn Atm INV MATRICES ARE COMPUTED HERE
fir= ffAXO!ff(lJ,fll2J,fll3J) - 2 MT= MAXOl2,MTI IF fMT - 20) 906,906,905 IFERR = 1 WHTEl6,9021 FORl·IATllllO,'ERROR IN HARN. PROBLEM AT STMT 905'1 RETURN !FERR = 0 NI = 2 NTV2 = NT/2
SET UP THE SINE TABLE
00007100 00007110 00007120 00007130 00007140 00007150 00007160 00007170 00007180 00007190 00007200 00007210 00007220 00007230 00007240 00007250 00007260 00007270 00007280 00007290 00007300 00007310 00007320 00007330 000073(10 00007350 00007360 00007370 00007380 00007390 00007400 00007410 .00007420 00007430 00007440 00007450 00007460 00007470 00007480 00007490 00007500 00007510 00007520 00007530 00 0 0 00007550 00007560 00007570 ---,-1-1E-1-A-=-r-1E-;-2-*~*-c-c-+~1-,-F-o~R~L-=~1-----------------,..o..-0""'007';.5;.8.;;.0 _________________________________ _ C
C 910 THETA = . 7853981634 00007590
JSTEP = NT 00007600
JOIF = MTV2 0000~76~1~0;----------------------------------5-(-.-,o-1-F-1-=::~5-1~N-1-1~11~E-1~A-l---------------------.,,-07'fOITT:f DO 950 L = 2,MT 00007630
Tl!ETA = TIIETA/2 00007640 JSTEP2 = JSTEP 00007650
JDIF = JSTEP/2 SIJDIFl = SINITHETAl JCl = NT - JDIF
00007670 00007680 00007690
IL 1 ".l
S(JCl) = COS(THETA) JLAST = NT - JSTEP2 IF!JLAST - JSTEPl 950,920,920
920 DO 940 J = JSTEP,JLAST,JSTEP JC= NT - J JO: J + JDIF S(JO) = S(J) * S(JCl) + S(JDIF) * S(JCl
940 CotlTINUE 950 CONTINUE
C C SET UP THE INV TABLE
960 MTLEXP = NTV2 ltllEXP = 1 INV( 1) = 0 DO 980 L = 1,MT
INV!LMlEXP+ll = MTLEXP DO 970 J = 2,LMlEXP
JJ = J + LMlEXP INV(JJ) = ItlV!Jl + MTLEXP
970 CotlTitlUE tlTLEXP = tlTLEXP/2 LHlEXP = LMlEXP * 2
980 CotlTINUE 982 IF(IFSET) 12,999,12 999 RETURN
mo C ********************************************************** C C C C C C C C C C C C
TIIIS FILTERS A 2 DIMENSIONAL FREQUENCY SPECTRUM USING A PRESCRIBED ~!AVE NUl1BER AS THE CUTOFF POINT. FREQUENCY COMPOMENTS HAVING A RADIAL FREQUENCY HIGHER THAN THE FREQUENCY SPECIFIED BY THE CUTOFF POINT ARE SET TO ZERO. PARAflETERS ARE F!X,MY SIZE OF ARRAY floLDillG DATA TO FILTER; H, HHICli COtlTAINS INFORMATION otl SIZE OF Cl FOR HARtl;CUT, LEIIGTH OF CUTOFF l~AVELEIIGTH; XDIS AND YDIS ARE LEtlGTHS OF DATA MAP IN THE X ANO Y DIRECTIONS. MATRIX Cl IS LitmED TO BGARY VIA DATA2. rnrs PfiOCEOORE CALLS SUBROUTINE HAR/I 10 TAKE THE IMVERSE FOURIER TRANSFORM OF THE DATA
C SET DH1ENSiotlS OF Cl TO 2, 2¥GRIDX, 2*GRIDY r--:>E I OIIIENSIClN OF Sfl AllO IVR 10 GRIOX*GRIOY
150 C C
C
SUOROUTitlE FILTER!NX,tlY,M,CUT,XDIS,YDIS) Olt!EtlSION NI 2), M( 3 l COtlrlON /DATA2/Cl( 2,128,128 )/DATA3/SNI 4096), IVR( 4096 l
= NX2 MtlX 11tlY =
= 2*NX = XDIS/CUT
YDIS/CUT R~IIE(IOP,1501 WNX,WNV FORHAT(lHO,'CUTOFF WAVE
BEGitl FILTER PROCESS SET YOUR PARAMETERS
N\:02 = tlX/2 tlYB2 = NY/2 IIXP2 = NX + 2
IHQX = NXB2 + 1 IHQY = NYB2 + 1 FILTER TIIE FIRST PROFILE
NUt18ER IS ' , 2F7. 2 l
00007700 00007710 00007720 00007730 00007740 00007750 00007760 00007770 00007780 00007790 00007800 00007810 00007820 00007830 00007840 00007850' 00007660 00007870 00007880 00007890 00007900 00007910 00007920 00007930 00007940 00007950 00007960 00007970 00007980 00007990 00008000 00008010 00008020 00008030 00008040 00008050 00008060 00008070 00008080 00008090 00008100 00008110 00008120 00008130
00008150 00008160 00008170 00008180 00008190 00008200 00008210
00008230 00008240 00008250
00008270 00008280 00008290
I
C !XO= 1 DO 520 IX= 2,NXB2
IFIIXO.EQ.Ol GOTO 510 X = FLOATIIX-ll IF I X.LE.WNXl GOTO 520 IXO = 0
510 JX = NXP2 - IX ClCl,JX,1 = 0.0 Cl12,JX,ll = 0.0 Clll,IX,ll = 0.0 ClC2,IX,ll = 0.0
520 CotHitlUE C ASSUt1E THE NYQUIST FREQUENCY IS ZAPPED
ClCl,NIQX,ll = 0.0 Cl12,NIQX,ll = 0.0
C C FILTER PROFILES 2 THROUGH NYB2
IYO= 1
525
530
540
550
DO 570 IY = 2,NYB2 IY1 = I IY2 = NYP2 - IY IFIIYO.EQ.Ol GOTO 525 Y = FLOATIIY-11
* IF I Y.LE.WNYl GOTO 540 IYO = 0 DO 530 IX= I,NX
Cl(l,IX,IYll = 0.0 Cll2,IX,IYll = 0.0 Clll,IX,IY2l = 0.0 Cll2,IX,IY2l = 0.0
cOfll IflOE GOTO 570 CONTitlUE IXO = 1
IF ( IXO.EQ.Ol GOTO 550 X = FLOATIIX - 11 R2 = X*X + Y2 IF lF12. LE .I.Jf12 J GOIO IXO = 0 JX = NXP2 - IX Clll,JX,IYll = 0.0
00008300 00008310 00008320 00008330 00008340 00008350 00008360 00008370 00008380 00008390 00008400 00008410 00008420 00008430 00008440 00008450 00006460 00008470 00008480 00008490 00008500 00008510 00008520 00008530 000085(10 00008550 00008560 00008570 00008580 00008590 00008600 00008610 00008620 00008630 00008640 00008650 00 086 0 00008670 00008680 00008690
00008710 00008720 00008730
-----r..,.-,-...---,v--r-,,.,....,r--=--n--n---------------------71"!:fU I I
560 C
570 C C
Clll,IX,IY2l = o.o Cll2,IX,IY2l = 0.0 Clll,JX,IY2l = o.o Cit c: ,JX,IY2 J - o.o Clll,IX,IY1l = 0.0 Cll2,IX,IY1l = o.o
COllTitlUE ZIT.Ui11E flYllOISI Ff/EllOEFICY Clll,NIQX,IYll = 0.0 Cll2,t1IQX,IY1l = 0.0 Clll,NIQX,IY2l = 0.0
CotlTINUE ZERO TllE FOLDING PROFILE IFIIYO.EQ.Ol GOTO 580
00008750 00008760 00008770 00008780 00008790 00008800 00008810 OOOOUU20 00008830 000088{10 00008850
0
00008870 00008880 00008890
A-15
C
DO 580 IX= 1,NX Cl(l,IX,NIQY) = 0.0 Cl(2,IX,NIQYl = 0.0
580 CONTitlUE CALL HARM(M,-2,IFMISS) IF I IFHISS.EQ.O) GOTO 590 l~RITE( 6,585) WRITE( 6,586) CA E IT
585 FORMAT( HIO, 'SUBROUTINE HARM RETURNED AN ERROR CODE WHEN CALLED') 586 FORt1AT( HI ' BY SUBROUTINE FILTER. EXECUTION HAS HALTED' ) 590 CONTINUE
RETURN ENO
C *********************************************************** C C C C c C
THIS SUBROUTINE EXTRACTS THE DATA FROM THE CENTER OF THE FOLDED AtID TAPERED MATRIX
SET DH1EtlSI0f1S OF SttGRID TO GRIOX,GRIOY SET OH1EMSI0tlS OF BIGRIO TO 2,2*GRIDX,2*GRIOY
SUBROUTIME STRIP(NX,NY) C0:1!10N/Oi\TA1/SHGRID( 64 ,64 )/DATA2/BIGRID12, 128,128)
NXOFF = NX/2 NYOFF = NY/2
C STRIP FOLDED ANO TAPERED PORTION FROM THE BIGGRIO
80
JY = IY + llYOFF DO 80 IX= 1,NX
JX =IX+ NXOFF StlGR!OIIX,IYl = BIGRIDll,JX,JYI
CONTINUE 90 CONTINUE
RETURN
C
C************************************************************** C C lfllS ROOl!flt REIORFIS IFIE FIRSI O!!DER IREflO 10 !FIE DATA THAT C l~AS REtlOVEO DURH/G THE FFTSET ROUTINE C C SET Dit1EtlSIOHS OF ARRAY TO GRIDX, GRIDY
suo:mo I lflE RE I REN( IREfl,NX .m) Cotlt10N/OATA1/ARRAY( 64 ,64) DIMENSION TREN(3l
00008900 00008910 00008920 00008930 OOOC8940 00008950 00008960 00008970 00008980 00008990 00009000 00009010 00009020 00009030 00009040 00009050 00009060 00009070 00009080 00009090 00009100 00009110 00009120 00009130 00009140 00009150 00009160 00009170 00009180 00009190 00009200 00009210 00009220 00009230 00009240 00009250
0 00009270 00009280 00009290 00009300 00009310 00009320 00009330 000093210 00009350 00009360
C 00009370 -·.:.:__--o-o~,-u-1~1--........ 1-,1~1-v-----------------------,o.-rornomo..,.,-9-r3amo,r--------·------------------------
y = FLOAT(!Yl 00009390 00 60 IX = 1,NX 00009400
X = FLOATCIX) 00009410 rnrno - IREN!IJ + IREN(21*X 'f IREN131*f OU 1
ARRAY(IX,IYl = ARRAY(IX,IY) + TREND 00009(130 60 CotlTWUE 00009440 70 CONTitlUE 00009450
ENO 00009470
B-1
Appendix B
FORTRAN Program SPECTRA
**** TSO FOREGROUND HARDCOPY **** DSNAHE=llPGGt190. SPECTRA. PRG
C PROGRAM SPECTRA 00000000 C 00000010 C BY 00000020 C DEBRA MCLEAN DISHBERGER 00000030 C 00000040 C APPENDIX B 00000041 C 00000042 C PREPARATION OF RESIDUAL GRAVITY MAPS FOR THE OOOOOOt13 C SOUTHERtl CACADE t1oum AIils, llASHINGTON 00000044 C USING FOURIER ANALYSIS 00000045 C 00000046 C 00000047 C OPEN-FILE REPORT 83-4 00000048 C 00000049 C WASHINGTON DEPARTMENT OF NATURAL RESOURCES 00000050 C DIVISIOM OF GEOLOGY AllD EARTH RESOURCES 0000006-"'0-------------------------------C Ol YtlPIA, WASHHITotl 98504 00000070 C 00000080 C 00000085 c •••••••••••••••••••••••.•••••••••••••••••••••••••.••••••••••••••••••• 000~0~00~9~0~------------------------------~ C 00000100 C THIS PROGRAM CALCULATES THE POWER SPECTRUM FOR A GIVEN DATASET 00000110 C THE POMER SPECTRU!1 U:DICATES THE RELATIVE MAGtlITUDES OF THE VARIOUS 00000120 C FREQUEtlCY COMPotlENTS PRESEtlT IM A SET OF GRIDDED, THO-DIMEtlSIONA L DA T:..,A..:..:O:..::Oc.=:0..::.0.::..0=--13::.cO=--------------------------------C FOR EXWPLE, GRAVITY OR AEROl1AG DATA. . 00000140 C ----------------TO RUM THIS PROGRAM----------------- 00000150 C All THAT IS NEEDED IS A nm-DIMENSIONAL MATRIX OF DATA POINTS 00000160 C TIIAT REPRESENTS A GRIDDED tlAP OF SOilE GEOLOGIC OR GEOPHYSICAL 00000170 C QUAtHITY, FOR EXAMPLE GRAVITY OR AEROi1AGtlETIC DATA 00000180 C THE DATA VALUES ARE PRECEDED BY ONE COtlTROL CARD. THIS CARD COMTAINS 00000190 C TIIE DISTANCE ACROSS THE 11AP AREA IN THE EAST-WEST AND NORTH-SOUTH 00000200 C DIRECTIONS, AND THE DIMENSIONS OF THE INPUT tlATRIX. IN COLUMNS 1-10 00000210 C PLACE THE DISTANCE ACROSS THE MAP AREA IN THE EAST-~!EST DIRECTION IN 00000220 C KILOMETERS. IN COLUt~S 11-20 PLACE THE DISTANCE ACROSS THE MAP AREA 00000230 C It1 THE NORTII-SOUTH DIRECTION nt KILOMETERS. nt COLU~l~lS 21-30 PLACE 00000240 C TIIE NUMBER OF DATA VALUES IN THE X DIP.ECTIO~l IN THE DATA MATRIX. IN 00000250 CCOLUtltlS31-40 PLACE THE MUIIOER OF DATA VALUES IN THE Y DIRECTC,.IO-,l~l~I~N----ooc__o'--o-co-c2~6~0-------------------------------c THE DATA MATRIX. THE LAST rno VALUES llUST BE PQl,lERS OF nm. 00000270 C THE DATA VALUES ARE READ IN THE SAME MANNER AS IS USED IN THE 00000280 C RESIDUAL-REGIO:IAL SEPARAT!otl PROGRAM. THAT IS, TIIE MATRIX IS READ 00000290 clTiSTFHPS-OF 8 COLUlltlS AT A THIE. Tl!US, FIRST TIIE FIRSTEIGHTCOLUl1:ls 0000030-'-o------------------·--------------c ARE READ, A ROW AT A THIE, THEN THE NEXT 8 COLUtttlS, AND SO ON. EACH 00000310 C DATA LINE CONTAINS EIGIIT VALUES, EACH VALUE OCCUPYING SEVEN!71 SPACES 00000320 C ( FORTRAtl 8F7. 3 FORMAT l 000003~3~0---------------------------------C ••••••..••••••••.••••••••••••••••••••••••••••••••••••••••••••••••••••• 00000340 C 00000350
DIMENSION GRAV!2,64,64l,MHARM!3l 00000360 DIHEtlSION SPEC( 100 l ,RAD( 100 l 00000370 --~nrrnrrn;irro~rnv ,A ,B ,c ooooo-=3.,,.3-=-0--------------------------------
REAL POWER!2,7000l,MIN ,INC 00000390 LOGICAL*l GRAPII! 100) ,BLANK/' '/,STAR/'ll'/ OOOOOt100
C 00000410 COf!f!Ofl/OATAl/GRf.V READ!S,5) XSIZE, YSIZE, GRIDX, GRIDY
5 FORMAT!2Fl0.0, 2Il0l DO 50 I= 1,GRIDX,8
000001120 00000430 00000440 00000450
B-1
DO 40 J = 1,GRIOY 00000460 L = I + 7 00000470 READ(5,55)(GRAV(l,J,Kl,K=I,L) 00000480
40 comn:uE _________________________ -=ooQ_Q0~2"--------------------------------5o CCllTitllJE 00000500 55 FORltAT! 8F7. 3 l 00000510
C HIITIALIZE THE REST OF GRAV 00000520 00 200 I=l, GRIDX 0000053~0-------------------------------
00 100 J=l,GRIOY 00000540 GRAV(2,I,Jl = 0.0 00000550
100 COIHINUE 00000560 200 COtlTitlUE 00000570
C C COMPUTE FAST FOURIER TRANSFORM OF GRIDDED DATA C SET THE PARAMETERS NEEDED TO ENTER HARM
00000580 00000590 00000600 00000610
C IOPT = l FIND THE LOG BASE 2 OF GRIOX Alm GRIOY 00 385 I= 1,10
M = 2**I ----=I, F.,.....-,(_11_. EQ. GRIOX l MHARM( l l = I
IF ( t1. EQ. GRIOY) IIHARM( 2 l = I 385 COtHrnUE
00000620 00000630 00000640 00000650 00000660 00000670 00000680 tlHARM( 3) = 0
~c _______________________________ -"0000069.~o----------.~--------------------c HARt1 IS THE ROUTitlE THAT ACTUALLY CALCULATES THE FOURIER TRANSFORt100000700
C C C C C
CALL HARM(t?HARtl,IOPT,IFGOOFl 00000710 IF(IFGOOF.NE.Ol CALL EXIT 00000720
00000730 FIND THE Pot~ER OF EACH FREQUENCY COMPOtlENT ANO THE RADIAL 00000740 FREQUEtlCY OF EACH COt1Pot~ENT. POWER( 1,X l HOLDS A PO!JER VALUE AtlD 00000750 POllER!2,Xl HOLDS THE THE RADIAL FREQUENCY OF THE PotlER VALUE IN 00000760 PC!lER( 1, X;,l .....,.~-,--=-----------------------c-00::_:0::...:0:...:0'=7:-:-7..::.0 ______________________________ _ NYQX = (GRIDX/2ltl 00000780 NYQY = !GRIDY/2l+l 00000790 K = l 00000800 00 500 I: l,NYQX 00000810
---00 450 J = l,NYQY 00000820
450 500
POllER!l,Kl = (GRAVfl,I,J)H2tGRAV!2,I,J)lflf2) 00000830 POIJER( 2 ,K )=SQRT(! FLOAT( I-1 l/XSIZE )**2 00000840
$+(FLOAT(J-l)/YSIZEl**2) 00000850 K = K + 1 00000860 CONTINUE 00000870 COIITitlUE 00000880 NUIIRUN : K-1 00000:::.89.:._:0:._ _______________________________ _
=c-------------------------------~0~0000900
C BREAK THE RANGE OF FREQUENCIES PRESENT INTO Tl~ENTY SUBDIVISIONS. 00000910 C FWD THE AVERAGE POWER OF FREQUEtlCY COl1POllENTS WITHIN EACH 00000920 C SUBDIVISION. ZERO RADIAL FREQUENCY IS TREATED AS A SEPARATE CASE. 00000930 - C;.---=-:=.::.:..::.=.::.::.:..:_:__.::;.:::.:..:.::_:..:.:..:::..::.....:..::.....:..~...:.::..::.:..:.::..:_..::.=._;_;...=;,..;.;::.::.....c..;.;:__;_;.cc.::.;__:_:c.:c.;.;..::_.::.c.;..:..::..;__--;;O"O"O 0;,;0"9"t1:,;0;---------------------------
SPEC(ll = ALOG(POWER(l,lll RAOCll = POWER(2,ll
00000950 00000960
C 00000970 ..;.__~I~N~c-=~p=o=n-E'WR~(~2~,N~u~fm!R~O"FlT)7~2~0-.-------------------o.;;-00009~8~0_;_; _____________________________ _
00 700 A= 1,20 00000990 LOW= FLOAT!A-ll*IIIC 00001000 HIGH : FLOAT! A )*INC 0000101.;.0 ______________________________ _
00001020 COUNT= 0.0 DO 650 8 = 1,Nu:muH
IF((POWER(2,Bl.LE.LOWl.OR.(POWER!2,Bl.GT.HIGHlJ
00001030 00001040 00001050
B-2
$ GOTO 650 00001060 SUM= SUN+ POWER(l,Bl 00001070 COUNT= COUNT+ 1 00001080
650 COIIH!~lU~E~--------------------------'~=lJ29.~--------------------------------IF ISUM.GT.O.Ol GOTO 660 00001100 SPEC(A+ll = 0.0 00001110 GOTO 6 70 00001120
660 SPEC( A+ll = ALOG( SUN/COUNT! 00001=-P:=~0=--------------------------------670 RAOIA+ll = (FLOAT(Al-.5l*INC 00001140 700 CONTHlUE 00001150
C 00001160 ---~-lR_I_T_E( 6, 90-:-0--:-l --,---------------------------~0~0~00=1=1=7~0~--------------------------------
900 FORMAT( 1110,' RADIAL FREQUENCY' ,lOX, 'POWER') 00001180 DO 950 I= 1,21 00001190 WRITE(6,975l RAD(Il,SPEC(I) 00001200
950 COtlTINU_; 00001.,,.2=1.,,_0 _______________________________ _ 975 FORMATClH ,10X,F6.3,10X,F7.2l 00001220
C 00001230 C 00001240 _C __ H~A~K~E=-=A,-,---:-P_LO~T-=--=-O~F~P~O_W_~E~R~SP_E~C~T~R~U~N~----------------~O~O.Q01=25~0~--------------------------------
WRITEl6,990l 00001260 990 FOR11AT( HI-, 'PLOT OF POWER SPECTRUM' l 00001270
DO 1000 N= 1,100 00001280 ____ G_RAPIIIN l = BLANK 000012,,_9_,__0"-----------------------------------
1000 CONTINUE 00001300 C 00001310
N = IFIX(SPEC(ll*lO. l 00001320 GRAPll(Nl = STAR 00001330
---~-lR_I_T-E!6,1200~lR~A~D-(_l_l_,_G_R_A-PH--------------------~0~0~0~0=1=34=0=----------------------------------
GRAPH(Nl = BLAt~ 00001350 C 00001360
DO 1100 I= 2,21 00001370 N = IFIX!SPEC(Il•lO.l 00001380 GRAP!HNl = STAR 00001390 llRITEI 6, 1200 l RAD( I l, GRAPH OOOOFIOO WRITE(6,1250l 00001410
-----,G=RAFll(N) = B_;_LA-,-,~,.,,IKc-------------------------'o'-'o'-o':..::oc::1'c'4-=2-=-o--------------------------------
1100 COtHHJUE 00001430 1200 FOR11AT(lll ,F6.3,100All 00001440 1250 FORMAT(lll l 00001450
STOP 00001460 mo 00001470
C 00001480 C******************************************************** 00001490 C SU8ROUTINE PRN11AT!MX,NY,NATl 00001500 C COHtlON/OATAl/SMGRID( 64 ,64 l/DATA2/BGGRID( 2,128,128 l 00001510 C 00001520 C THIS ROUTINE PRINTS OUT A MATRIX, EITHER THE ORIGINAL DATA MATRIX 00001530
-C OR THE FOLDED AMO TAPEf~ED MATRIX. PARAt!ETERS ARE: NX, THE X 00001540 C DIMENSION; NY, THE Y OIMEtlSIOI~; ANO 11AT, ~lHICH SPECIFIES IF 00001550 C TIIE LARGE OR SMALL MATRIX IS TO BE PRINTED 00001560 C 00001570 -,a-c---.0<70~1_,,o-,aco-,.,-1<-c==--1r-,-.-N=v.-, .... 1"T6-----------------------,:-o-,,-00=015;..a;--o;---------------------------------
c L = K + 15 00001590 C 00 50 I = 1,NX 00001600 C IF (MAT.EQ.ll GOTO 25 00001610
-C t·!R!~1G1rn'.5( I ,JI ,J =K, LI oooof-~6~2~0--------------------------------
c GOTO 50 00001630 C25 IJRITE (6,150 )( BGGRID ( 1, I, J l, J=K, L) 00001640 C50 CotlTit{UE 00001650
B-3
ClOO CONTitlUE 00001660 C RETURN 00001670 Cl50 FORMAT(lH ,16(F7.l)) 00001680 ~C __ ~E~tl~O---------------------------~QQllJ.fl..9_,,_ ______________________________ _ C 00001700 C***************************************************************** cnns SUBROUTillE PERFORMS A DISCRETE COMPLEX FOURIER TRAtlSFORH ON C A HIREE 0It1ENSI011AL ARRAY. IT CAN BE DotlE ON A 2-0 ARRAY AS WELL C llflICH IS rntAT DOME IM THIS CASE. THIS IS FROM THE IBM SYSTEM/360 C SUBROUTINE PACKAGE, EDITION H20-0166-2 C
00001710 00001720 0000.173;.,,0,__ _____________________________ _
00001740 00001750 00001760
--~S.o;:,UBROUTINE HARM( M, IFS~E~T.J..:I.!-F.:2ERc!.!R~)'-------------------"oooo.,._7~0,._ _____________________________ _ COllllON/OATAl/AC 32768 l/DATA3/S( 4096) ,ItNI 4096) 00001780 DH1EtlSI0N NI 3 l ,M( 3) ,NP( 3) ,1-H 2 J ,1~2( 2) ,W3C 2 l 00001790 E~UIVALEt!CECIH ,tH 1)), ( N2 ,N( 2)), I N3,N( 3)) 00001800
10 IF II8.BS(IFSETJ - 1) 900 1 900,12 00001810 12 IITT = tlAXO(tHll,Ml2),M(3)J - 2 00001820
ROOT2 = SQRT(2. l 00001830 IF (MTT - MT) 14,14,13 00001840
13 !FERR = 1 OOOO}.ld8d.5.lL.O ______________________________ _ ~miTE!6,8l 00001860
8 FORIIATClllO, 'ERROR IN HARM. PROBLEM IS AT STMT 13' l 00001870 RETURll 00001880
14 !FERR= 0 00001.890L-______________________________ _ Ill=- H( 1) 00001900 M2 = MC2) 00001910 M3: M(3l 00001920 Nl: 2Htll 00001,..,9.:!3_,,_0 ______________________________ _
N2: 2*~M2 00001940 tB : 2Htl3 00001950
16 IF (IFSETl 18,18,20 00001960 18 NX: Nl•N2•N3 00001970
FN = tlX 00001930 DO 19 I: 1,NX 0000199~
A(2*I-ll= A(2*I-ll/FN 00002000 A( 2*I l : -A( 2*I l/FN 00002~0c:l~O-------------------------------
l 9 CotlTitlUE 00002020 20 NP(ll = Nl*2 00002030
NP12l: NP!ll•N2 00002040 __ _ctc:.:.w.c 3 l : NP( 2 l*N3 0000205.~0 ______________________________ _
DO 250 ID= 1,3 00002060 IL: NP(3l - NPCIDl 00002070 Ill = IL + 1 00002080
t1I = MC ID l 0000209.~0~--------------------------------IF cmi 250,250,30 ooooffoo
30 IDIF = NPCIOJ 00002110 KBIT = NPIIDJ 00002120 NEV= 2*(MI/2) 00002130 IF (t!I - MEVl 60,60,40 00002140
C 00002150 C IF M IS ODD , 00 L = l CASE 00002160
40 KBIT = KB:;;.:I::..:T:.!./..:;2~---------------------~0~0002.::l.!...7~0-------------------------------KL = KBIT - 2 00002180 DO 50 I= 1,ILl,IDIF 00002190
KLAST: KL+ I 00002200 DO 50 K = I,KLAST,2 00002210 KO= K + KBIY 00002220
C DO A STEP IHTH L=l, J:O 00002230 C ACK)= ACK)+ AIKO) THIS IS THE EFFECT OF THE NEXT 6 LINES 00002240 C AC KO J = ACK) - A!l<D l 00002250
B-4
•
T = AIKO) 00002260 AIKO)= AIK) - T 00002270 AIK) =ACK)+ T 00002280 T = Al KD+l.2.l ______________________ -'l.\.l . .!lll2'"-Z.l'-------------------------------AIKO+ll = A(K+l) - T 00002300 A(K+l) = ACK+l) + T 00002310
50 COtlTrnUE 00002320 ----=-IF ( tlI - 1) 250,250 ,52 OOQ.Q.2=30,.__ _____________________________ _
52 C C DEF
C IF M 60
LFIRST = 3 00002340 0_0002350
- JLAST = 2**(l-2) - 1 00002360 JLAST = 1 000 0 GOTO 70 00002380
IS EVEN 00002390 LFIRST = 2 00002400·
___ _,:cJ_,::LAcc.:S"-'T'--=~o ________________________ .,,_o.,,_o,.,__,,0024~1:,..0 ______________________________ _ 70 DO 240 L = LFIRST, MI, 2 00002420
JJDIF = KBIT 00002430 KBIT = KBIT/4 00002440 KL= KBIT - 2 00002450
C C FOR J=O
00002460 00002!170
DO 80 I=l,Ill,IDIF 00002480 _____ -.:K..:clcccAc;;S,~T-=-'I::......c+--'-'K-=L--------------------~09-00g_,_4..,_90"---------------------------------
C C
C
00 80 r = I, KLAST, 2 00002500 Kl= K + KBIT 00002510 K2 =Kl+ KBIT 00002520 K3 = K2 + KBIT 00002530
00 TWO STEPS WITH J=O T = ACK2) AIK2) = AIK) -T AIK> = A(K) + T T = AIK2+ll AIK2+1) = ACK+l) - T AIK+ll = A(K+l) + T
00002540 00002550 00002560 00002570 00002530 00002590 00002600 00002610 00002620
T = AIK3) 00002630 ACK3l = AIKll - T 00002640 Al Kl l = Al Kl) + T 0000265 . ..::0 ______________________________ _
-------T'-'-'=--=--A-(K-3-'-+--l--)--=------'------------------~00002660 A(K3+ll = AIKl+l) - T 00002670 A(Kl+ll = A(Kl+ll +T 00002680
C 00002690 =------~T-=-A-cK~,1~>-----------------------=0~0-::-::-00210·..::o _______________ . _______________ _
AIKl) = AIK) - T 00002710 Al Kl = Al Kl + T 00002720 T = A(Kl+l) 00002730 A(Kl+ll = A(K+ll - T 00002740 AIK+ll = AIK+ll + T 00002750
C 00002760 R: -AIK3+ll 00002;.77;.:0~-------------------------------T = ACK3~l.:_::_::...._ ___________________ -,;-00002780
Al K3 l = Al K2 l - R 00002790 A(K2) = A(K2l + R 00002800 Al K3+1) = AIK2+1) - T 00002810:__ _____________________________ _
------~·K!+ll = AIK2+ll + T 00002820 80 CONTINUE 00002830
IF IJLAST) 235,235,82 00002840 82 JJ = JJDIF + l 00002850
B-5
C 00002860 C FOR J = 1 00002870
ILAST =IL+ JJ 00002880 -----'D"-'0=---:8,=5'-"'I--_-_,J"-'J,..,,""I""l.c:.AS"'-T.,__,,._,I,.,,D"'I"-F-----------------_,,OOJHl2.a.-'-"'--------------------------------
KLAST =Kl+ I 00002900 DO 85 K = I,KLAST,2 00002910
Kl= K + KBIT 00002920 K2 =Kl+ KBIT 00002930 K3 = K2 + KBIT 000029~0
C 00002950 C LETTING W=(l+Il/ROOT2, W3=(-l+Il/ROOT2,W2=1 00002960 -----~R-=_-~AIK=2~tl~l'----------------------~0~0~0~0.~2~9~70,,__ _____________________________ ~
T = AIK2l 00002980 AIK2l = A(Kl - R 00002990 A!Kl = A!Kl + R 00003000
_____ _,A~l~K0=2~t=l~l_=__,_A~l~K~+=l~l_-__,T _________________ __,,0=0003010
A( K+l l = A( K+l l + T 00003020 C 00003030
AllR = A( Kll - A( Kl+ 1l 00003040 -----~A~ll~I_=__:ccA.CKl+ll +A!Kll 00003050
R = -AC K3 l - A( K3 + 1 l 00003060 T = Al K3 l - A( K3tll 00003070 A(K3l = (AWR - Rl/ROOT2 00003080
_____ _,A~l~K~3~+=l~l_=__:<~A~W~I_-_T~l0~/~R~O~OT~2=------------------"'-000030.~9=0----------·---------------------A!Kll = (AWR + Rl/ROOT2 00003100 A!Kl+ll = (AWI + Tl/ROOT2 00003110 T = A(Kll 00003120 A!Kll = ACK) - T 00003130 A!Kl = A(Kl + T 00003140 T = A(Kl+ll 00003150 Al Kl+ll = AC K+ll - T 00003160
_____ _,A~l~K~t~l~l_=__:A~(~K~+~l~l_+'---T'---------------------'-00003170 R = -A(K3+ll 00003180 T = A(K3l 00003190 A(K3l = A(K2l - R 00003200 A(K2l = AIK2l + R 00003210
------'A~(,~K~3~+-l-l-'=-'-A~(~K-2_+_l~l---T------------------00003220
85
90 C
Al K2+ll = Al K2+1 l + T 00003230 cmnrnuE 00003240 IF (JLAST - ll 235,235,90 00003250 JJ = JJ + JJDIF 00003260
00003270 DO 230 J = 2,JLAST 00003280
C DEF--W=l~lt*INV!Jl, H2 = ~Ju2, W3: W**3 00003:;29.:..:0:__ _____________________________ _ ::..._9~6::.:_-..:.-'--I::.:.c_=--'I~N~v-'1J~+~1-1-'--CC..:..-'..:.:-'--~--'c.....--------------o-0003300
98 IC = tlT - 1 00003310 Will= S(ICl 00003320 W(2l = S(Il 00003330 I2 = *I 00003340 I2C = NT - I2 00003350 IF ( I2C l 120,110,100 00003350
C 2*I IN FIRST QUADRANT 00003370 --i:uo 11~rrf::sr-~--------------------~000033"'"a~o--------------------------------w2121 = SII2l 00003390 GOTO 130 00003400
110 ll2(ll = 0.0 00003:;_4;..:l;.;O;..,._ _____________________________ _ 00003420
GOTO 130 00003(130 C 2*I IN SECOND QUADRANT 00003440
120 I2CC = I2C t NT 00003450
B-6
•
I2e = -I2e 00003460 W2(ll = -S(I2el 00003470 W2(2l = S(I2eCJ 00003480
-=-13::..:0::._ __ __,I"'3'--=-=-r_+:......=r:.=::2'-----------------------"'-'oooo~_,_9,,_o ______________________________ _ I3e = NT - I3 00003500 IF(I3el 160,150,140 00003510
e I3 IN FIRST QUARDRANT 00003520 140 W3(ll = S(I3eJ 00003530
W312l = SII3l 00003540 GOTO 200 00003550
150 W3( l) = 0. 0 00003560 W3(2l = 1.0 00003570 GOTO 200 00003580
160 I3ee = I3e + NT 00003590 IFCI3eCJ 190,180,170 00003600
e !3 IN SECOND QUADRANT 00003610 170 I3e = -I3e 00003620
W3(1) = -SCI3el 00003630 W3(2l = S(I3Ce) 00003640 GOTO 200 00003650
180 W3C ll = -1.0 00003660 W3£2l = 0.0 00003670 · GOTO 200 00003680
e 3*I IN THIRD QUADRANc.:T _____________________ ~0~0003~'-'9'-"0'---------------------------------l90 ficce"'"=in + nee 00003700
I3ee = -I3Ce 00003710 W3(ll = -SCI3eee) 00003720 W3(2) = -S(I3eel 00003730
200 !LAST =IL+ JJ 00003740 DO 220 I= JJ,ILAST,IDIF 00003750
KLAST = KL + I 00003760 DO 220 K = I,KLAST,2 00003770 Kl= K + KBIT 00003780 K2 =Kl+ KBIT 00003790 K3 = K2 + KBIT 00003800
e DO TWO STEPS WITH J NOT ZERO 00003810 R = A(K2l*W2(ll - A(K2+ll*W2!2l 00003820 T = A(K2l*W2(2l + A(K2+ll*W2(1) 00003830 ACK2) = A(Kl - R 00003840 ACK) = ACK) + R 00003850 ACK2+ll = ACK+ll - T 00003860 A(Ktl) = A(K+ll + T 00003870
e 00003880 R = AIK3l*W3(ll - A(K3+ll*W312) 00003890
------~rR3~lTJl:2l + ACK3+i·~l-*~~1~31~l~l-------------cc-=0000390 . .;0-------------------------------AWR = AIKll*Wlll - A!Kl+ll*Wl2l 00003910 AWI = A1Kll*W(2) + A(Kl+ll*W(ll 00003920 Al K3 l = Al~R - R 00003930 AIK3+1 l = All! - T 00003940 Al Kl) = Al~R + R 00003950 A!Kl+ll = AWI + T 00003960 T = Al Kl l 000039;.7;..0;_ __________________________ -----At Kll = Al Kl - T 00003980 AIK) = ACK) + T 00003990 T = AIKl+l) 00004000 A( Kl tl) = A( KH) - T 00004010;,_ _____________________________ _ A!K+II = A!K+ll + T 00004020 R = -A(K3+1) 00004030 T = A!K3) 00004040 A(K31 = A(K2) - R 00004050
B-7
A( K2 l = A( K2 l + R 00004060 A< K3tl) = A( K2+1 l T 00004070 A(K2+ll = A(K2+ll + T 00004000
_c2;;.:2;._;;o ___ __::.co;:c.:t.ffitlUE, _______________________ .,,_o,c;OOe:..,O~l~fOc.,9_,,0 ______________________________ _
C C C
230 235 240 250
350 C C
360
C 370
JJ = JJDIF + JJ 00004100 CONTINUE 00004110 JLAST = 4•JLAST + 3 00b04120
COHTHIUE 00004130 CONTitlUE O O O 04140
TllE COMPLEX FOURIER ARE NOW COMPUTED, BUT THEIR ADDRESSES ARE BIT-REVERSED. TllE FOLLOWitlG PUTS THEM HI ORDER tnSQ = tH * NT H3tlT = M3 - MT IF (M3MTI 370,360,360
M3 GREATER OR EQUAL MT IG03 = 1 N3VtH = N3/NT MnltB : HT GOTO 380 t13 LESS THAN MT IG03 = 2
00004150 00004160 00004170 00004180 00004190 OOOOtt200 00004210 00004220 00004230 00004240 0000(1250
N3Wff : 1 ----'-tfrvm = NT /N3
MitUB = tB
0000(1260 00004270 00004280 0000lf290 0000(1300 00004310 00004320 00004330 00004340
380
450 C C
460
C 470
JJD3 = tHSQ/N3 H2t1T = H2 - 11T IF <t12MTI 470,460,460
00004350 M2 GREATER OR EQUAL MT 00004360 IG02 = 1 00004370 N2VNT = N2/NT 00004380 MINt~2 = NT 00004390 GOTO 480 00004400 H2 LESS THAN HT 00004410 IG02 = 2 00004420 N2Vtff = 1 00004430 NTVtl2 = NT/N2 00004440 HINN2 = N2 00004450
~4e~o~~J~Jo2---=-1Tt:~s=1.....,....,2~----------------------.;;o~o.;,..oic-04;.-;,4;..::,6C-i;oc--------------------------------
M1MT = tll - MT 00004470 550 IF(HlHTI 570,560,560 00004480
C 00004490 ~c ___ I_F_fl_l_l_S~G-R-E-AT_E_R~r-n-A_N_O_R~E-Q'-u~A-L-T=o-M=r---------------,0'""0004500:-----------------~---------------560 IGOl = 1 00004510
C 570
NlVNT: Nl/NT 00004520 MitltH=NT 00004530 GOTO 5~ 00004540 IF Hl IS LESS THAN HT 00004550 IGOl = 2 00004560 N1 VNT = l 00004570
--~N~1~v~11~=~~rrr-----------------------,,00;00Zis8;..0-------------------------------
580 600
HINNI = Nl 00004590 JJDl = NTSQ/Nl 00004600 JJ3 = l 00004610
= DO 880 JPP3 = l,N3VNT IPP3 = HIV( JJ3 I DO 870 JP3 = l,11INN3
0000(1630 00004640 00004650
R-R
GOTO (610,620), IG03 00004660 610 IP3 = !IN( JP3 l*N3VNT 0000% 70
GOTO 630 00004680 6_20 ___ I~P_3_=-~It_1V_(~J~P~3~l~/~N~T~VN~3"----------------------=<00004=6~9~0--------------------------------630 I3 = (IPP3 + IP3l*N2 00004700 700 JJ2.. = l 00004710
710
720 730 800
810
820 830
DO 870 JPP2 = 1,N2VNT 00004720 IPP2 = INV(JJ2l + I3 00004730 DO 860 JP2 = 1,MIWl2 00004740
GOTO !710,720),IG02 00004750 IP2 = INV(JP2) * N2VNT 00004760 GOTO 730 00004770 IP2 = INV( JP2) / NTVN2 00004 780 I2 = (IPP2 + IP2) * Nl 00004790 JJl = 1 00004800 DO 860 JPPl = 1,NlVNT 00004810
IPPl = !IN( JJl l + I2 00004820 DO 850 JPl = 1,HI1Ull 00004830
GOTO (810,8201, IGOl 00004840 !Pl= INV(JPl) * NlVNT 00004850 GOTO 830 00004860 !Pl = ItN! JPl) / NTVtn 00004870 I= 2 * (IPPl +!Pl)+ l 00004880
________ I~F--'(~J_--=I~l_8~t~10~,~8~4~5~,~8~45"--------------------"09004890 840 T = A(Il 00004900
A(Il = A(J) 00004910 A(Jl = T 00004920 T = A(I+ll 00004930 A( I+ll = A( J+ll 00004940 A!J+l) = T 00004950
845 COIHINUE 00004960 J = J + 2 00004970
-55~0-----c~o=1=nrnuE 000049ao JJl = JJl + JJDl 00004990
860 CONTINUE 00005000 JJ2 = JJ2 + JJD2 0000501
70 _______________________________ _
-8 7=0~-=c=m'"7n' rnuE o o o o5 o 2 o JJ3 = JJ3 + JJ03 00005030
880 CONTINUE 00005040 890 IF ( IFSETl 891,895,895 00005050
~5=9~1~0~0·~2 I= 1,NX 00005060 892 A(2*I) = -A(2*I) 00005070 895 RETURN 00005080
C 00005090 ~c--~r~,1~E.-..S~I~N-A~1~~0.--.I~n~vr-nftTA-rR~I~c~E~S.-.AMR~E-;<co~1m1p~u"T~E~D.--nfl~E~R~E-----------;,-;oooos1-o~o----------~------c 00005110
900 HT= HAXOCHC1l,H(2J,H(3)) - 2 00005120 HT= HAX0!2,HTl 00005130
-9~04~-.:.I;~F......,.!.,,fl;.;.T~-.:..,2;...:0~1 .:;9...,;0'"'6-,""'9.,,06.,.....,, 9"'0'"5~------------------,,0·0 o 05140 905 !FERR : 1 00005150
l~RITE(6,902l 00005160 902 FORMAT<lHO, 'ERROR IN HARM. PROBLEM AT STMT 905') 000051;:..;7~0:_ _____________________________ _ _:_:.=_~~~;;,,:,.:...:::.:..:...:...:._;:___ ________________________ ~00005180
906 IFERR = O 00005190 NT= 2**HT 00005200 NTV2 = NT/2 00005210 --c-~s~E.:..:r;..:..;:u;...,P~l;.;A~E:_;S~I~F~lE ........ ,.,.A.,.,B"T"[ ... E---------------------7roinoo0!;-22:.:;;o _______________________________ _
c 00005230 C TIIETA = PIE/2**( L+l) FOR L = l 00005240
910 THETA = , 7853981634 00005250
B-9
JSTEP = NT 00005260 JDIF = NTV2 00005270 S(JDIF) = SIN(THETAl 00005280 DO 950 L = 2,NT OO°Oo5290
THETA= THETA/2 00005300 JSTEP2 = JSTEP 00005310 JSTEP = JDIF 00005320 JDIF = JSTEP/2 00005330 SCJDIFI = SINCTHETA) 00005340 JCl = NT - JDIF 00005350 S(JCll = COSCTHETAl 00005360 JLAST = NT - JSTEP2 00005370 IFCJLAST - JSTEPI 950,920,920 00005380
920 DO 940 J = JSTEP,JLAST,JSTEP 00005390 JC= NT - J 00005400 JD= J + JDIF 00005410 S(JDl = S(Jl * S(JCll + S(JD!Fl * S(JCl 00005420
940 CONTINUE 00005430 950 CONTINUE 00005440
C 00005450 C SET UP THE INV TABLE 00005460
960 tlTLEXP = NTV2 00005470 LMlEXP = 1 00005480 INV( l l = 0 00005490 DO 980 L = l,MT 00005500
INVCLHlEXP+ll = HTLEXP 00005510 DO 970 J = 2,LNlEXP 00005520
JJ = J + LHlEXP 00005530 INVCJJl = INVCJl + HTLEXP 00005540
970 COHTitlUE 00005550 MTLEXP = HTLEXP/2 00005560 LNlEXP = LHlEXP * 2 00005570
980 corn ii.uE 00005580 982 IF( IFSETl 12,999,12 00005590 999 RETURN 00005600
END 00005610
B-10
I
I I I I
I I I
I I
~
w w ·
gr c~ 0~ o, "' .":
45•
WASH INGTON STATE. DEPA RTM ENT OF NATURAL RESOURCES
BRIAN J. BOYLE, Comm iss ioner of Pub lic La nds
ART STEARNS, Superv iso r
I I f"O ~
I C
I 1. I " 9
30'
r. ,,,
15'
I l ' ' . ' ,.Y ,....:.,
.,, (
·1. .,.. .,. .
: ~ 'ff~
~ ,.
' "
Topographic base map f rom po rtions of the Hoqu iam, T he
Dalles , Vancouver, and Yakima 1 :250,000 USGS map series.
MAP LOCATIO N
·~·· 116• ... .... . .- -· - ·· - ·· .- · : •9"
WASHI NG TON
OREGON
' "",-,_!,,,---'L - - - ~----'--- - ~-"'----;',,,: ....
.. l!>"ALUJP r4 M l
N
I
SOUTHERN CASCADES, WASHINGTON - Hit
,-NUMCL A W ;p Ml
' ' "
000 FE.E.T lREG
RESIDUAL GRAVITY MAP OF
DI V ISION OF GEO LOGY AND EARTH RESOURCES RAY MOND LASMANIS. Stat e Geologist
l e>
OPEN FILE O F 83-4 Sheet 1 of 3
"5
I ' '
/,' M
-"
b r [; I
'
l 45'
Ir [
I L- L
THE SOUTHERN CASCADE MOUNTAINS, WASHINGTON
Th is ma p is designed to serve as a compan ion work to the Complete Bouguer Gravity Map, Cascade Mountains, Washington (Sheet 2, Southern Cascade Mounta ins), by Z. F.
Danes and W. M. Ph ill ips, Wash ington Di vision of Geo logy and Ea rth Resources Geo
physical Map GM -27 , 1983.
,
85 KILOMETER CUTOFF WAVELENGTH
, 0
a
BY
DEBRA MCLEAN DISHBERGER
1983
Scale 1 250,000 , 10
, 10 15 ,a
15
25
T o pogra phic co ntour interval 2 00 feet with supplementary co ntours at JOO-foo t interva ls
Transverse Mercator Projection
Gravi t y con tour interva l 5 m gals H ach ured contour ind icates low gravity
20 St.a!ute Mill"~
3 0 Kilo met ers
OFR
j,
WASHINGTON STATE DEPA RTMENT OF NATURAL RESOURCES BRI A N J . BOY LE , Comm iss ioner of Publ ic Lands ART STEA RN S, Supervisor
r
I I
I." I I I I I' i
'-' 15'
'-'
12 I
0 8I
I
I
I 45'
1-
; '• 'I If
"9
Topographic base map
Da lles, Vancouver, and
" ' " . •
from portions of the Hoquiam, The
Yakima 1 :250,000 USGS map .series.
MAP LOCATI ON
116• ·· ,- ·· - ··- ··r · - ·: - ·--: 4,•
WASHINGTON
I • ;
' ,10•~ _ . .r - - · - -, ., _
'· " "' ,--~L _ _ _ _._ _ ___ ._ ___ ~ _ .,_____ ,:.i:."'
""
TACD M .. 17 Ml.
FEET
N
I
SOUTHERN CASCADES, WASHINGTON
' FEET ' . "
RESIDUAL GRAVITY MAP OF
DIVI SION OF GEOLOGY AND EARTH RESOURCES RAYMO ND LASMAN IS, State Geo logist
)
-".
,-
'
,-
1, C
• ,if' q
\ :\ " C
~ 12
OPEN FILE OF 83-4 Sheet 2 of 3
"6
<0'
"5
/, :i; = . ,~ ;/T .,..:~-;' ....
"
'
"
A "2
," 'i I ~/ 'd
,•}
,(1
.J , I \, f -.v. r- '
'
' J "I
.. '
-1 -- .
' I, 0
l O'.~ -~- 'I
' \/ ("- ·tn,&i" ',, / '
,'AC,NI_I :,-, '·"
" (1\c
~ '{
J l'' .I_,, 1-'lr 1 ,! (V
~ ''0 -,\" I r • t' ' - .... G!J}d Jfa\
--- -,- ..i- _b.
' Gol llfl;
lfbl~(,1,u"- r
' { ' ' I l
,! . 45'
;. , I ( '
""'"" h,
r,.c
' \ lO'
{Let ' ,o
THE SOUTHERN CASCADE MOUNTAINS, WASHINGTON
Th is map is designed to serve as a companion work to the Complete Bouguer Gravity
Map, Cascade Mountains, Wash ington (Sheet 2, Southern Cascade Mountains), by Z . F. Danes and W. M . Phill ips , Washington Divis ion of Geology and Earth Resources Geo
physical Map GM-27, 1983.
5
40 KILOMETER CUTOFF WAVELENGTH
5
0
0
BY
DEBRA MCLEAN DISHBERGER
1983
Scale 1250.000 5 10
5 10 15 20
15
25
Topographic co ntour inte rval 200 fee t with suppleme n tar y conto urs at 100-foot intervals
Transverse Mercator Proj ection
G raVlty contour inter-val 5 mgals Hachured con to ur indica tes 1ow g-ravity
20 Stal vte M,le~
30 K,lome1 er~
OFR I
WASHINGTON STATE DEPARTMENT OF NATURAL RESOURCES BRIAN J. BOYLE, Commissioner of Public Lands ART STEARNS, Supervisor
,,
,,
1"0 ~
I
I
I f, ,, " I
"9
IT 14
I, 516
'<
s14
15'
'11
' '
Topographic base map from portions of t he Hoquiam. The
Da lles, Vancouver, and Yak ima 1 :250,000 USGS map series.
MAP LOCATION
·r· ·- ·· - ·· T" ·
WASHIN GT ON
0"[G0N
'·
..... .... ,.
,\ A 't-1
4~8l.,-~~L---~----'--- -~-"--7.,~~
r•COMA I 1 Ml
[ T p "
56
15' ' "
N
I
SOUTHERN CASCADES, WASHINGTON DIVISION OF GEOLOGY AND EARTH RESOURCES RAYMOND LASMANIS, State Geologist
OPEN FI LE OF 83-4 Sheet 3 of 3
~ h'I t
f R H
122·00· ' ' ' ' Hll ·~ rH . ,-I)
RESIDUAL GRAVITY MAP OF
30
THE SOUTHERN CASCADE MOUNTAINS, WASHINGTON 20 KILOMETER CUTOFF WAVELENGTH
' 5
0
0
BY
DEBRA MCLEAN DISHBERGER
1983
Scafe l 250,000
' IO
' 10 15 20
15
" Topographic contour interval 200 feet with supplementuy contours at lOO·fo o t intervals
Transverse Mercator Projectio n
Gravity contour interval 5 mgals Hachured contour indicates low gravity
30 Kdome!er.!.
,,
-, 2
'
' ,, ~,.r·'r
I
' :,
\'- -
·~
,,,
i
1 i
,- D
" D
" ,J: ,,, t
• ' -
Jr;;,,~ ' ,;,
~
~dm,11' j,
J •' ' J
""
)
' I It ~
,1.t " Y'
51)
I I I
I I
>1 6
!O' , I
,1 5
"I
514
" , I
51]
" ',,
I
' ..
I 51 J
J
'
,,l[:1N! , ',
f "'4i ~
t l
.... ,g,dej,dd\
,- _11-,_ C-oldel"J
) /
~··" ~ ~ ·"' r 1
' ,f
·1
This map is designed ttl serve as a compan ion work to the Complete Bouguer Gravity Map, Cascade Mountains, Wash ington (Sheet 2, Southern Cascade Mountains). by Z. F . Danes and W. M. Phillips, Washington Di vision of Geology and Earth Resources Geophysical Map GM,27 , 1983,
I OFR
00 0