Commit 062549c5 authored by thomas.forbriger's avatar thomas.forbriger

master|sleeman [MERGE]: make coherency analysis available on master

Merge remote-tracking branch 'origin/sleeman'

Programs now ready for compilation with gfortran:
software/sleeman/bandnois.f
software/sleeman/tri2db.f
software/sleeman/tricrosp.f
software/sleeman/twocrosp.f
parents 84ddb8b0 83965b72
......@@ -16,8 +16,8 @@
#
# programs will be installed in $LOCBINDIR
PROGRAMS=seife/seife calex/calex calex/calex10 \
calex/trical calex/qcalex \
PROGRAMS=seife/seife calex/calex calex/calex10 calex/trical calex/qcalex \
sleeman/bandnois sleeman/tri2db sleeman/tricrosp sleeman/twocrosp \
dispcal/dispcal tiltcal/tiltcal
.PHONY: all
......@@ -63,6 +63,7 @@ clean: ;
# ---------------------------
dispcal/dispcal tiltcal/tiltcal \
sleeman/bandnois sleeman/tri2db sleeman/tricrosp sleeman/twocrosp \
seife/makeseifehelp calex/makecalexhelp: %: %.o
$(FC) -o $@ $<
......
......@@ -6,8 +6,10 @@ c
c max. ndim punkte je serie
c
c Version Dez. 2005
c
c - 13/09/2016 T.F.: adjust code to satisfy gfortran
c
program bandnois
use nas_system
parameter (nexp=21)
parameter(ndim=2**nexp)
real*4 x(ndim),y(ndim)
......@@ -89,7 +91,7 @@ c determine next higher power of 2 for FFT
call trend(x,np,ndim)
call sft(x,y,np2,-2,ndim)
call trenn2(x,y,x,y,nfft,ndim)
2 call bandf(x,nfft,dt,nband,ndim,ts,hs)
call bandf(x,nfft,dt,nband,ndim,ts,hs)
close(8)
write(6,'(/"Results were saved as file bandnois.out")')
stop
......@@ -135,7 +137,7 @@ c kernprogramm.dreifache schleife ueber schritt/index/teilserie
c normierung
if(iabs(is).eq.1.or.iabs(is).eq.4) go to 10
if(iabs(is).eq.3) gn=sqrt(gn)
5 do 6 l=1,ng
do 6 l=1,ng
y(l) = y(l)*gn
6 x(l)=x(l)*gn
c umordnung nach "bitreversed" indizes
......@@ -218,7 +220,7 @@ c----------------------------------------------------------------------
c0=ico/float(nband)
co=10.**c0
c1=u*co
jo=t/co
jo=nint(t/co)
bbrel=10.**(0.5/nband)-10.**(-0.5/nband)
write(6,25) bbrel
write(6,26)
......@@ -300,7 +302,7 @@ c read data in SEIFE format
write(6,*) ' header: ',trim(text)
21 read(7,'(a)') zeile
if(zeile(1:1).eq.'%') goto 21
20 read(zeile,1) nn,iform,dt,tmin,tsec
read(zeile,1) nn,iform,dt,tmin,tsec
1 format(i10,a20,3f10.3)
if(nn.gt.n) then
write(*,*) 'sorry, too many data points. can handle only ', n
......
c
c - 13/09/2016 T.F.: adjust code to satisfy gfortran
c
program tri2db
parameter(nd=1001)
dimension bandm(nd),amp(nd),rn1(nd),rn2(nd),rn3(nd)
dimension bandm2(nd),bandbr(nd),amp1(nd),amp2(nd),amp3(nd)
dimension bandm2(nd),bandbr(nd),amp1(nd)
dimension rld(nd),rldm(nd),dif(nd),t2(nd),t3(nd)
character text*72
write(*,*) 'TRI2DB reads the output files of TRICROSP and'
write(*,*) 'BANDNOIS and converts the signal levels into'
......@@ -21,7 +23,7 @@
read(7,*,end=101) bandm(i),amp(i),t2(i),t3(i),rn1(i),rn2(i),
& rn3(i)
c write(*,100) bandm(i),amp(i),t2(i),t3(i),rn1(i),rn2(i),rn3(i)
100 format(7f9.3)
c 100 format(7f9.3)
enddo
101 close(7)
n=i-1
......
......@@ -5,15 +5,15 @@ c
c Albuquerque, Mai 2006 EW
c
c max. ndim punkte je serie
c
c - 13/09/2016 T.F.: adjust code to satisfy gfortran
c
program tricrosp
use nas_system
parameter (nexp=21)
parameter(ndim=2**nexp)
real*4 x(ndim),y(ndim),z(ndim),u(ndim)
character filein1*24,filein2*24,filein3*24,
& text1*72,text2*72,text3*72
logical repeat
narg=iargc()
......@@ -155,7 +155,7 @@ c beginn der analyse
y(i)=y(i)*fa
z(i)=z(i)*fa
end do
2 call bandf(x,y,z,nmax,dt1,nband,ndim)
call bandf(x,y,z,nmax,dt1,nband,ndim)
close(8)
write(6,*)
write(6,'("results were stored in file tricrosp.out")')
......@@ -202,7 +202,7 @@ c kernprogramm.dreifache schleife ueber schritt/index/teilserie
c normierung
if(iabs(is).eq.1.or.iabs(is).eq.4) go to 10
if(iabs(is).eq.3) gn=sqrt(gn)
5 do 6 l=1,ng
do 6 l=1,ng
y(l) = y(l)*gn
6 x(l)=x(l)*gn
c umordnung nach "bitreversed" indizes
......@@ -285,7 +285,7 @@ c----------------------------------------------------------------------
c0=ico/float(nband)
co=10.**c0
c1=u*co
jo=t/co
jo=nint(t/co)
bbrel=10.**(0.5/nband)-10.**(-0.5/nband)
write(6,25)
write(6,26)
......@@ -406,7 +406,7 @@ c read data in SEIFE format
write(6,*) ' header: ',trim(text)
21 read(7,'(a)') zeile
if(zeile(1:1).eq.'%') goto 21
20 read(zeile,1) nn,iform,dt,tmin,tsec
read(zeile,1) nn,iform,dt,tmin,tsec
1 format(i10,a20,3f10.3)
if(nn.gt.n) then
write(*,*) 'sorry, too many data points. can handle only ', n
......
......@@ -7,8 +7,10 @@ c
c created: <840118.1411>
c Einfach-Version fuer SUN 1991
c an NAS-Fortran angepasst Nov. 2005
c
c - 13/09/2016 T.F.: adjust code to satisfy gfortran
c
program twocrosp
use nas_system
parameter (nexp=21)
parameter(ndim=2**nexp)
real*4 x(ndim),y(ndim)
......@@ -154,7 +156,7 @@ c kernprogramm.dreifache schleife ueber schritt/index/teilserie
c normierung
if(iabs(is).eq.1.or.iabs(is).eq.4) go to 10
if(iabs(is).eq.3) gn=sqrt(gn)
5 do 6 l=1,ng
do 6 l=1,ng
y(l) = y(l)*gn
6 x(l)=x(l)*gn
c umordnung nach "bitreversed" indizes
......@@ -242,7 +244,7 @@ c----------------------------------------------------------------------
c0=ico/float(nband)
co=10.**c0
c1=u*co
jo=t/co
jo=nint(t/co)
bbrel=10.**(0.5/nband)-10.**(-0.5/nband)
write(6,25) bbrel
write(6,26)
......@@ -354,7 +356,7 @@ c read data in SEIFE format
write(6,*) ' header: ',trim(text)
21 read(7,'(a)') zeile
if(zeile(1:1).eq.'%') goto 21
20 read(zeile,1) nn,iform,dt,tmin,tsec
read(zeile,1) nn,iform,dt,tmin,tsec
1 format(i10,a20,3f10.3)
if(nn.gt.n) then
write(*,*) 'sorry, too many data points. can handle only ', n
......@@ -403,4 +405,4 @@ c read data in ASL format (such as written by Quanterra's Cimarron)
26 format(' Input error at sample # ',i8)
stop
end
\ No newline at end of file
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment