objects
DESCRIPTION
A quick overview of Object-oriented, Distributed, Network-based software. objects. Anthony Lomax Anthony Lomax Scientific Software Mouans-Sartoux, France [email protected] www.alomax.net. program horrible(tr,gr,t,g,dist) - PowerPoint PPT PresentationTRANSCRIPT
objectsobjects
A quick overview ofObject-oriented,
Distributed, Network-based
software
A quick overview ofObject-oriented,
Distributed, Network-based
software
Anthony Lomax Anthony Lomax Scientific Software Mouans-Sartoux, France
[email protected] www.alomax.net
Anthony Lomax Anthony Lomax Scientific Software Mouans-Sartoux, France
[email protected] www.alomax.net
program horrible(tr,gr,t,g,dist) common/mess/t,g,h,p,str,ctr,r1,r2 real*8 d,tr,gr,t,g,h,p,str,ctr,r1,r2,st,ct,cdg, &sdg,q,x,y,z,az12,az21,p0,horrible if(tr.eq.t.and.gr.eq.g) goto 100 h=.006722653d0 p=.006768153d0 str=dsin(tr) ctr=dcos(tr) if(ctr.eq.0.d0) ctr=.000001d0 if(str.eq.0.d0) str=.000001d0 r1=6378.388d0/dsqrt(1.d0-h*str*str) if(t.eq.0.d0) t=.000001d0 goto 999 100 st=dsin(t) ct=dcos(t) r2=6378.388d0/dsqrt(1.d0-h*st*st) cdg=dcos(g-gr) sdg=dsin(g-gr) q=st*ctr/((1.d0+p)*ct*str)+h*r1*ctr/(r2*ct) x=r2*ct*cdg y=r2*ct*sdg z=(1.d0-h)*(r2*st-r1*str) az12=datan2(sdg,(q-cdg)*str) q=str*ct/(ctr*st*(1.d0+p))+h*r2*ct/(r1*ctr) horrible=q*x-az12*y+z if(tr.eq.t.and.gr.eq.g) goto 100 h=.006722653d0 p=.006768153d0 str=dsin(tr) ctr=dcos(tr) if(ctr.eq.0.d0) ctr=.000001d0 if(str.eq.0.d0) str=.000001d0 r1=6378.388d0/dsqrt(1.d0-h*str*str) if(t.eq.0.d0) t=.000001d0 goto 999 100 st=dsin(t) ct=dcos(t) r2=6378.388d0/dsqrt(1.d0-h*st*st) cdg=dcos(g-gr) sdg=dsin(g-gr) q=st*ctr/((1.d0+p)*ct*str)+h*r1*ctr/(r2*ct) x=r2*ct*cdg y=r2*ct*sdg z=(1.d0-h)*(r2*st-r1*str) az12=datan2(sdg,(q-cdg)*str) q=str*ct/(ctr*st*(1.d0+p))+h*r2*ct/(r1*ctr) horrible=q*x-az12*y+z if(tr.eq.t.and.gr.eq.g) goto 100 h=.006722653d0 p=.006768153d0 str=dsin(tr) ctr=dcos(tr) if(ctr.eq.0.d0) ctr=.000001d0 if(str.eq.0.d0) str=.000001d0 r1=6378.388d0/dsqrt(1.d0-h*str*str) if(t.eq.0.d0) t=.000001d0 goto 999 100 st=dsin(t) ct=dcos(t) r2=6378.388d0/dsqrt(1.d0-h*st*st) cdg=dcos(g-gr) sdg=dsin(g-gr) q=st*ctr/((1.d0+p)*ct*str)+h*r1*ctr/(r2*ct) x=r2*ct*cdg y=r2*ct*sdg z=(1.d0-h)*(r2*st-r1*str) az12=datan2(sdg,(q-cdg)*str) q=str*ct/(ctr*st*(1.d0+p))+h*r2*ct/(r1*ctr) horrible=q*x-az12*y+z if(tr.eq.t.and.gr.eq.g) goto 100 h=.006722653d0 p=.006768153d0 str=dsin(tr) ctr=dcos(tr) if(ctr.eq.0.d0) ctr=.000001d0 if(str.eq.0.d0) str=.000001d0 r1=6378.388d0/dsqrt(1.d0-h*str*str) if(t.eq.0.d0) t=.000001d0 goto 999100 st=dsin(t) ct=dcos(t) r2=6378.388d0/dsqrt(1.d0-h*st*st) cdg=dcos(g-gr) sdg=dsin(g-gr) q=st*ctr/((1.d0+p)*ct*str)+h*r1*ctr/(r2*ct) x=r2*ct*cdg y=r2*ct*sdg z=(1.d0-h)*(r2*st-r1*str) az12=datan2(sdg,(q-cdg)*str) q=str*ct/(ctr*st*(1.d0+p))+h*r2*ct/(r1*ctr) horrible=q*x-az12*y+z return end
program horrible(tr,gr,t,g,dist) common/mess/t,g,h,p,str,ctr,r1,r2 real*8 d,tr,gr,t,g,h,p,str,ctr,r1,r2,st,ct,cdg, &sdg,q,x,y,z,az12,az21,p0,horrible if(tr.eq.t.and.gr.eq.g) goto 100 h=.006722653d0 p=.006768153d0 str=dsin(tr) ctr=dcos(tr) if(ctr.eq.0.d0) ctr=.000001d0 if(str.eq.0.d0) str=.000001d0 r1=6378.388d0/dsqrt(1.d0-h*str*str) if(t.eq.0.d0) t=.000001d0 goto 999 100 st=dsin(t) ct=dcos(t) r2=6378.388d0/dsqrt(1.d0-h*st*st) cdg=dcos(g-gr) sdg=dsin(g-gr) q=st*ctr/((1.d0+p)*ct*str)+h*r1*ctr/(r2*ct) x=r2*ct*cdg y=r2*ct*sdg z=(1.d0-h)*(r2*st-r1*str) az12=datan2(sdg,(q-cdg)*str) q=str*ct/(ctr*st*(1.d0+p))+h*r2*ct/(r1*ctr) horrible=q*x-az12*y+z if(tr.eq.t.and.gr.eq.g) goto 100 h=.006722653d0 p=.006768153d0 str=dsin(tr) ctr=dcos(tr) if(ctr.eq.0.d0) ctr=.000001d0 if(str.eq.0.d0) str=.000001d0 r1=6378.388d0/dsqrt(1.d0-h*str*str) if(t.eq.0.d0) t=.000001d0 goto 999 100 st=dsin(t) ct=dcos(t) r2=6378.388d0/dsqrt(1.d0-h*st*st) cdg=dcos(g-gr) sdg=dsin(g-gr) q=st*ctr/((1.d0+p)*ct*str)+h*r1*ctr/(r2*ct) x=r2*ct*cdg y=r2*ct*sdg z=(1.d0-h)*(r2*st-r1*str) az12=datan2(sdg,(q-cdg)*str) q=str*ct/(ctr*st*(1.d0+p))+h*r2*ct/(r1*ctr) horrible=q*x-az12*y+z if(tr.eq.t.and.gr.eq.g) goto 100 h=.006722653d0 p=.006768153d0 str=dsin(tr) ctr=dcos(tr) if(ctr.eq.0.d0) ctr=.000001d0 if(str.eq.0.d0) str=.000001d0 r1=6378.388d0/dsqrt(1.d0-h*str*str) if(t.eq.0.d0) t=.000001d0 goto 999 100 st=dsin(t) ct=dcos(t) r2=6378.388d0/dsqrt(1.d0-h*st*st) cdg=dcos(g-gr) sdg=dsin(g-gr) q=st*ctr/((1.d0+p)*ct*str)+h*r1*ctr/(r2*ct) x=r2*ct*cdg y=r2*ct*sdg z=(1.d0-h)*(r2*st-r1*str) az12=datan2(sdg,(q-cdg)*str) q=str*ct/(ctr*st*(1.d0+p))+h*r2*ct/(r1*ctr) horrible=q*x-az12*y+z if(tr.eq.t.and.gr.eq.g) goto 100 h=.006722653d0 p=.006768153d0 str=dsin(tr) ctr=dcos(tr) if(ctr.eq.0.d0) ctr=.000001d0 if(str.eq.0.d0) str=.000001d0 r1=6378.388d0/dsqrt(1.d0-h*str*str) if(t.eq.0.d0) t=.000001d0 goto 999100 st=dsin(t) ct=dcos(t) r2=6378.388d0/dsqrt(1.d0-h*st*st) cdg=dcos(g-gr) sdg=dsin(g-gr) q=st*ctr/((1.d0+p)*ct*str)+h*r1*ctr/(r2*ct) x=r2*ct*cdg y=r2*ct*sdg z=(1.d0-h)*(r2*st-r1*str) az12=datan2(sdg,(q-cdg)*str) q=str*ct/(ctr*st*(1.d0+p))+h*r2*ct/(r1*ctr) horrible=q*x-az12*y+z return end
program horrible(tr,gr,t,g,dist) common/mess/t,g,h,p,str,ctr,r1,r2 real*8 d,tr,gr,t,g,h,p,str,ctr,r1,r2,st,ct,cdg, &sdg,q,x,y,z,az12,az21,p0,horrible if(tr.eq.t.and.gr.eq.g) goto 100 h=.006722653d0 p=.006768153d0 str=dsin(tr) ctr=dcos(tr) if(ctr.eq.0.d0) ctr=.000001d0 if(str.eq.0.d0) str=.000001d0 r1=6378.388d0/dsqrt(1.d0-h*str*str) if(t.eq.0.d0) t=.000001d0 goto 999 100 st=dsin(t) ct=dcos(t) r2=6378.388d0/dsqrt(1.d0-h*st*st) cdg=dcos(g-gr) sdg=dsin(g-gr) q=st*ctr/((1.d0+p)*ct*str)+h*r1*ctr/(r2*ct) x=r2*ct*cdg y=r2*ct*sdg z=(1.d0-h)*(r2*st-r1*str) az12=datan2(sdg,(q-cdg)*str) q=str*ct/(ctr*st*(1.d0+p))+h*r2*ct/(r1*ctr) horrible=q*x-az12*y+z if(tr.eq.t.and.gr.eq.g) goto 100 h=.006722653d0 p=.006768153d0 str=dsin(tr) ctr=dcos(tr) if(ctr.eq.0.d0) ctr=.000001d0 if(str.eq.0.d0) str=.000001d0 r1=6378.388d0/dsqrt(1.d0-h*str*str) if(t.eq.0.d0) t=.000001d0 goto 999 100 st=dsin(t) ct=dcos(t) r2=6378.388d0/dsqrt(1.d0-h*st*st) cdg=dcos(g-gr) sdg=dsin(g-gr) q=st*ctr/((1.d0+p)*ct*str)+h*r1*ctr/(r2*ct) x=r2*ct*cdg y=r2*ct*sdg z=(1.d0-h)*(r2*st-r1*str) az12=datan2(sdg,(q-cdg)*str) q=str*ct/(ctr*st*(1.d0+p))+h*r2*ct/(r1*ctr) horrible=q*x-az12*y+z if(tr.eq.t.and.gr.eq.g) goto 100 h=.006722653d0 p=.006768153d0 str=dsin(tr) ctr=dcos(tr) if(ctr.eq.0.d0) ctr=.000001d0 if(str.eq.0.d0) str=.000001d0 r1=6378.388d0/dsqrt(1.d0-h*str*str) if(t.eq.0.d0) t=.000001d0 goto 999100 st=dsin(t) ct=dcos(t) r2=6378.388d0/dsqrt(1.d0-h*st*st) cdg=dcos(g-gr) sdg=dsin(g-gr) q=st*ctr/((1.d0+p)*ct*str)+h*r1*ctr/(r2*ct) x=r2*ct*cdg y=r2*ct*sdg z=(1.d0-h)*(r2*st-r1*str) az12=datan2(sdg,(q-cdg)*str) q=str*ct/(ctr*st*(1.d0+p))+h*r2*ct/(r1*ctr) horrible=q*x-az12*y+z if(tr.eq.t.and.gr.eq.g) goto 100 h=.006722653d0 p=.006768153d0 str=dsin(tr) ctr=dcos(tr) if(ctr.eq.0.d0) ctr=.000001d0 if(str.eq.0.d0) str=.000001d0 r1=6378.388d0/dsqrt(1.d0-h*str*str) if(t.eq.0.d0) t=.000001d0 goto 999 100 st=dsin(t) ct=dcos(t) r2=6378.388d0/dsqrt(1.d0-h*st*st) cdg=dcos(g-gr) sdg=dsin(g-gr) q=st*ctr/((1.d0+p)*ct*str)+h*r1*ctr/(r2*ct) x=r2*ct*cdg y=r2*ct*sdg z=(1.d0-h)*(r2*st-r1*str) az12=datan2(sdg,(q-cdg)*str) q=str*ct/(ctr*st*(1.d0+p))+h*r2*ct/(r1*ctr) horrible=q*x-az12*y+z if(tr.eq.t.and.gr.eq.g) goto 100 h=.006722653d0 p=.006768153d0 str=dsin(tr) ctr=dcos(tr) if(ctr.eq.0.d0) ctr=.000001d0 if(str.eq.0.d0) str=.000001d0 r1=6378.388d0/dsqrt(1.d0-h*str*str) if(t.eq.0.d0) t=.000001d0 goto 999 100 st=dsin(t) ct=dcos(t) r2=6378.388d0/dsqrt(1.d0-h*st*st) cdg=dcos(g-gr) sdg=dsin(g-gr) q=st*ctr/((1.d0+p)*ct*str)+h*r1*ctr/(r2*ct) x=r2*ct*cdg y=r2*ct*sdg z=(1.d0-h)*(r2*st-r1*str) az12=datan2(sdg,(q-cdg)*str) q=str*ct/(ctr*st*(1.d0+p))+h*r2*ct/(r1*ctr) horrible=q*x-az12*y+z return end
program horrible(tr,gr,t,g,dist) common/mess/t,g,h,p,str,ctr,r1,r2 real*8 d,tr,gr,t,g,h,p,str,ctr,r1,r2,st,ct,cdg, &sdg,q,x,y,z,az12,az21,p0,horrible if(tr.eq.t.and.gr.eq.g) goto 100 h=.006722653d0 p=.006768153d0 str=dsin(tr) ctr=dcos(tr) if(ctr.eq.0.d0) ctr=.000001d0 if(str.eq.0.d0) str=.000001d0 r1=6378.388d0/dsqrt(1.d0-h*str*str) if(t.eq.0.d0) t=.000001d0 goto 999 100 st=dsin(t) ct=dcos(t) r2=6378.388d0/dsqrt(1.d0-h*st*st) cdg=dcos(g-gr) sdg=dsin(g-gr) q=st*ctr/((1.d0+p)*ct*str)+h*r1*ctr/(r2*ct) x=r2*ct*cdg y=r2*ct*sdg z=(1.d0-h)*(r2*st-r1*str) az12=datan2(sdg,(q-cdg)*str) q=str*ct/(ctr*st*(1.d0+p))+h*r2*ct/(r1*ctr) horrible=q*x-az12*y+z if(tr.eq.t.and.gr.eq.g) goto 100 h=.006722653d0 p=.006768153d0 str=dsin(tr) ctr=dcos(tr) if(ctr.eq.0.d0) ctr=.000001d0 if(str.eq.0.d0) str=.000001d0 r1=6378.388d0/dsqrt(1.d0-h*str*str) if(t.eq.0.d0) t=.000001d0 goto 999 100 st=dsin(t) ct=dcos(t) r2=6378.388d0/dsqrt(1.d0-h*st*st) cdg=dcos(g-gr) sdg=dsin(g-gr) q=st*ctr/((1.d0+p)*ct*str)+h*r1*ctr/(r2*ct) x=r2*ct*cdg y=r2*ct*sdg z=(1.d0-h)*(r2*st-r1*str) az12=datan2(sdg,(q-cdg)*str) q=str*ct/(ctr*st*(1.d0+p))+h*r2*ct/(r1*ctr) horrible=q*x-az12*y+z if(tr.eq.t.and.gr.eq.g) goto 100 h=.006722653d0 p=.006768153d0 str=dsin(tr) ctr=dcos(tr) if(ctr.eq.0.d0) ctr=.000001d0 if(str.eq.0.d0) str=.000001d0 r1=6378.388d0/dsqrt(1.d0-h*str*str) if(t.eq.0.d0) t=.000001d0 goto 999100 st=dsin(t) ct=dcos(t) r2=6378.388d0/dsqrt(1.d0-h*st*st) cdg=dcos(g-gr) sdg=dsin(g-gr) q=st*ctr/((1.d0+p)*ct*str)+h*r1*ctr/(r2*ct) x=r2*ct*cdg y=r2*ct*sdg z=(1.d0-h)*(r2*st-r1*str) az12=datan2(sdg,(q-cdg)*str) q=str*ct/(ctr*st*(1.d0+p))+h*r2*ct/(r1*ctr) horrible=q*x-az12*y+z if(tr.eq.t.and.gr.eq.g) goto 100 h=.006722653d0 p=.006768153d0 str=dsin(tr) ctr=dcos(tr) if(ctr.eq.0.d0) ctr=.000001d0 if(str.eq.0.d0) str=.000001d0 r1=6378.388d0/dsqrt(1.d0-h*str*str) if(t.eq.0.d0) t=.000001d0 goto 999 100 st=dsin(t) ct=dcos(t) r2=6378.388d0/dsqrt(1.d0-h*st*st) cdg=dcos(g-gr) sdg=dsin(g-gr) q=st*ctr/((1.d0+p)*ct*str)+h*r1*ctr/(r2*ct) x=r2*ct*cdg y=r2*ct*sdg z=(1.d0-h)*(r2*st-r1*str) az12=datan2(sdg,(q-cdg)*str) q=str*ct/(ctr*st*(1.d0+p))+h*r2*ct/(r1*ctr) horrible=q*x-az12*y+z if(tr.eq.t.and.gr.eq.g) goto 100 h=.006722653d0 p=.006768153d0 str=dsin(tr) ctr=dcos(tr) if(ctr.eq.0.d0) ctr=.000001d0 if(str.eq.0.d0) str=.000001d0 r1=6378.388d0/dsqrt(1.d0-h*str*str) if(t.eq.0.d0) t=.000001d0 goto 999 100 st=dsin(t) ct=dcos(t) r2=6378.388d0/dsqrt(1.d0-h*st*st) cdg=dcos(g-gr) sdg=dsin(g-gr) q=st*ctr/((1.d0+p)*ct*str)+h*r1*ctr/(r2*ct) x=r2*ct*cdg y=r2*ct*sdg z=(1.d0-h)*(r2*st-r1*str) az12=datan2(sdg,(q-cdg)*str) q=str*ct/(ctr*st*(1.d0+p))+h*r2*ct/(r1*ctr) horrible=q*x-az12*y+z return end
program horrible(tr,gr,t,g,dist) common/mess/t,g,h,p,str,ctr,r1,r2 real*8 d,tr,gr,t,g,h,p,str,ctr,r1,r2,st,ct,cdg, &sdg,q,x,y,z,az12,az21,p0,horrible if(tr.eq.t.and.gr.eq.g) goto 100 h=.006722653d0 p=.006768153d0 str=dsin(tr) ctr=dcos(tr) if(ctr.eq.0.d0) ctr=.000001d0 if(str.eq.0.d0) str=.000001d0 r1=6378.388d0/dsqrt(1.d0-h*str*str) if(t.eq.0.d0) t=.000001d0 goto 999 100 st=dsin(t) ct=dcos(t) r2=6378.388d0/dsqrt(1.d0-h*st*st) cdg=dcos(g-gr) sdg=dsin(g-gr) q=st*ctr/((1.d0+p)*ct*str)+h*r1*ctr/(r2*ct) x=r2*ct*cdg y=r2*ct*sdg z=(1.d0-h)*(r2*st-r1*str) az12=datan2(sdg,(q-cdg)*str) q=str*ct/(ctr*st*(1.d0+p))+h*r2*ct/(r1*ctr) horrible=q*x-az12*y+z if(tr.eq.t.and.gr.eq.g) goto 100 h=.006722653d0 p=.006768153d0 str=dsin(tr) ctr=dcos(tr) if(ctr.eq.0.d0) ctr=.000001d0 if(str.eq.0.d0) str=.000001d0 r1=6378.388d0/dsqrt(1.d0-h*str*str) if(t.eq.0.d0) t=.000001d0 goto 999 100 st=dsin(t) ct=dcos(t) r2=6378.388d0/dsqrt(1.d0-h*st*st) cdg=dcos(g-gr) sdg=dsin(g-gr) q=st*ctr/((1.d0+p)*ct*str)+h*r1*ctr/(r2*ct) x=r2*ct*cdg y=r2*ct*sdg z=(1.d0-h)*(r2*st-r1*str) az12=datan2(sdg,(q-cdg)*str) q=str*ct/(ctr*st*(1.d0+p))+h*r2*ct/(r1*ctr) horrible=q*x-az12*y+z if(tr.eq.t.and.gr.eq.g) goto 100 h=.006722653d0 p=.006768153d0 str=dsin(tr) ctr=dcos(tr) if(ctr.eq.0.d0) ctr=.000001d0 if(str.eq.0.d0) str=.000001d0 r1=6378.388d0/dsqrt(1.d0-h*str*str) if(t.eq.0.d0) t=.000001d0 goto 999100 st=dsin(t) ct=dcos(t) r2=6378.388d0/dsqrt(1.d0-h*st*st) cdg=dcos(g-gr) sdg=dsin(g-gr) q=st*ctr/((1.d0+p)*ct*str)+h*r1*ctr/(r2*ct) x=r2*ct*cdg y=r2*ct*sdg z=(1.d0-h)*(r2*st-r1*str) az12=datan2(sdg,(q-cdg)*str) q=str*ct/(ctr*st*(1.d0+p))+h*r2*ct/(r1*ctr) horrible=q*x-az12*y+z if(tr.eq.t.and.gr.eq.g) goto 100 h=.006722653d0 p=.006768153d0 str=dsin(tr) ctr=dcos(tr) if(ctr.eq.0.d0) ctr=.000001d0 if(str.eq.0.d0) str=.000001d0 r1=6378.388d0/dsqrt(1.d0-h*str*str) if(t.eq.0.d0) t=.000001d0 goto 999 100 st=dsin(t) ct=dcos(t) r2=6378.388d0/dsqrt(1.d0-h*st*st) cdg=dcos(g-gr) sdg=dsin(g-gr) q=st*ctr/((1.d0+p)*ct*str)+h*r1*ctr/(r2*ct) x=r2*ct*cdg y=r2*ct*sdg z=(1.d0-h)*(r2*st-r1*str) az12=datan2(sdg,(q-cdg)*str) q=str*ct/(ctr*st*(1.d0+p))+h*r2*ct/(r1*ctr) horrible=q*x-az12*y+z if(tr.eq.t.and.gr.eq.g) goto 100 h=.006722653d0 p=.006768153d0 str=dsin(tr) ctr=dcos(tr) if(ctr.eq.0.d0) ctr=.000001d0 if(str.eq.0.d0) str=.000001d0 r1=6378.388d0/dsqrt(1.d0-h*str*str) if(t.eq.0.d0) t=.000001d0 goto 999 100 st=dsin(t) ct=dcos(t) r2=6378.388d0/dsqrt(1.d0-h*st*st) cdg=dcos(g-gr) sdg=dsin(g-gr) q=st*ctr/((1.d0+p)*ct*str)+h*r1*ctr/(r2*ct) x=r2*ct*cdg y=r2*ct*sdg z=(1.d0-h)*(r2*st-r1*str) az12=datan2(sdg,(q-cdg)*str) q=str*ct/(ctr*st*(1.d0+p))+h*r2*ct/(r1*ctr) horrible=q*x-az12*y+z return end
program horrible(tr,gr,t,g,dist) common/mess/t,g,h,p,str,ctr,r1,r2 real*8 d,tr,gr,t,g,h,p,str,ctr,r1,r2,st,ct,cdg, &sdg,q,x,y,z,az12,az21,p0,horrible if(tr.eq.t.and.gr.eq.g) goto 100 h=.006722653d0 p=.006768153d0 str=dsin(tr) ctr=dcos(tr) if(ctr.eq.0.d0) ctr=.000001d0 if(str.eq.0.d0) str=.000001d0 r1=6378.388d0/dsqrt(1.d0-h*str*str) if(t.eq.0.d0) t=.000001d0 goto 999 100 st=dsin(t) ct=dcos(t) r2=6378.388d0/dsqrt(1.d0-h*st*st) cdg=dcos(g-gr) sdg=dsin(g-gr) q=st*ctr/((1.d0+p)*ct*str)+h*r1*ctr/(r2*ct) x=r2*ct*cdg y=r2*ct*sdg z=(1.d0-h)*(r2*st-r1*str) az12=datan2(sdg,(q-cdg)*str) q=str*ct/(ctr*st*(1.d0+p))+h*r2*ct/(r1*ctr) horrible=q*x-az12*y+z if(tr.eq.t.and.gr.eq.g) goto 100 h=.006722653d0 p=.006768153d0 str=dsin(tr) ctr=dcos(tr) if(ctr.eq.0.d0) ctr=.000001d0 if(str.eq.0.d0) str=.000001d0 r1=6378.388d0/dsqrt(1.d0-h*str*str) if(t.eq.0.d0) t=.000001d0 goto 999 100 st=dsin(t) ct=dcos(t) r2=6378.388d0/dsqrt(1.d0-h*st*st) cdg=dcos(g-gr) sdg=dsin(g-gr) q=st*ctr/((1.d0+p)*ct*str)+h*r1*ctr/(r2*ct) x=r2*ct*cdg y=r2*ct*sdg z=(1.d0-h)*(r2*st-r1*str) az12=datan2(sdg,(q-cdg)*str) q=str*ct/(ctr*st*(1.d0+p))+h*r2*ct/(r1*ctr) horrible=q*x-az12*y+z if(tr.eq.t.and.gr.eq.g) goto 100 h=.006722653d0 p=.006768153d0 str=dsin(tr) ctr=dcos(tr) if(ctr.eq.0.d0) ctr=.000001d0 if(str.eq.0.d0) str=.000001d0 r1=6378.388d0/dsqrt(1.d0-h*str*str) if(t.eq.0.d0) t=.000001d0 goto 999100 st=dsin(t) ct=dcos(t) r2=6378.388d0/dsqrt(1.d0-h*st*st) cdg=dcos(g-gr) sdg=dsin(g-gr) q=st*ctr/((1.d0+p)*ct*str)+h*r1*ctr/(r2*ct) x=r2*ct*cdg y=r2*ct*sdg z=(1.d0-h)*(r2*st-r1*str) az12=datan2(sdg,(q-cdg)*str) q=str*ct/(ctr*st*(1.d0+p))+h*r2*ct/(r1*ctr) horrible=q*x-az12*y+z if(tr.eq.t.and.gr.eq.g) goto 100 h=.006722653d0 p=.006768153d0 str=dsin(tr) ctr=dcos(tr) if(ctr.eq.0.d0) ctr=.000001d0 if(str.eq.0.d0) str=.000001d0 r1=6378.388d0/dsqrt(1.d0-h*str*str) if(t.eq.0.d0) t=.000001d0 goto 999 100 st=dsin(t) ct=dcos(t) r2=6378.388d0/dsqrt(1.d0-h*st*st) cdg=dcos(g-gr) sdg=dsin(g-gr) q=st*ctr/((1.d0+p)*ct*str)+h*r1*ctr/(r2*ct) x=r2*ct*cdg y=r2*ct*sdg z=(1.d0-h)*(r2*st-r1*str) az12=datan2(sdg,(q-cdg)*str) q=str*ct/(ctr*st*(1.d0+p))+h*r2*ct/(r1*ctr) horrible=q*x-az12*y+z if(tr.eq.t.and.gr.eq.g) goto 100 h=.006722653d0 p=.006768153d0 str=dsin(tr) ctr=dcos(tr) if(ctr.eq.0.d0) ctr=.000001d0 if(str.eq.0.d0) str=.000001d0 r1=6378.388d0/dsqrt(1.d0-h*str*str) if(t.eq.0.d0) t=.000001d0 goto 999 100 st=dsin(t) ct=dcos(t) r2=6378.388d0/dsqrt(1.d0-h*st*st) cdg=dcos(g-gr) sdg=dsin(g-gr) q=st*ctr/((1.d0+p)*ct*str)+h*r1*ctr/(r2*ct) x=r2*ct*cdg y=r2*ct*sdg z=(1.d0-h)*(r2*st-r1*str) az12=datan2(sdg,(q-cdg)*str) q=str*ct/(ctr*st*(1.d0+p))+h*r2*ct/(r1*ctr) horrible=q*x-az12*y+z return end
program horrible(tr,gr,t,g,dist) common/mess/t,g,h,p,str,ctr,r1,r2 real*8 d,tr,gr,t,g,h,p,str,ctr,r1,r2,st,ct,cdg, &sdg,q,x,y,z,az12,az21,p0,horrible if(tr.eq.t.and.gr.eq.g) goto 100 h=.006722653d0 p=.006768153d0 str=dsin(tr) ctr=dcos(tr) if(ctr.eq.0.d0) ctr=.000001d0 if(str.eq.0.d0) str=.000001d0 r1=6378.388d0/dsqrt(1.d0-h*str*str) if(t.eq.0.d0) t=.000001d0 goto 999 100 st=dsin(t) ct=dcos(t) r2=6378.388d0/dsqrt(1.d0-h*st*st) cdg=dcos(g-gr) sdg=dsin(g-gr) q=st*ctr/((1.d0+p)*ct*str)+h*r1*ctr/(r2*ct) x=r2*ct*cdg y=r2*ct*sdg z=(1.d0-h)*(r2*st-r1*str) az12=datan2(sdg,(q-cdg)*str) q=str*ct/(ctr*st*(1.d0+p))+h*r2*ct/(r1*ctr) horrible=q*x-az12*y+z if(tr.eq.t.and.gr.eq.g) goto 100 h=.006722653d0 p=.006768153d0 str=dsin(tr) ctr=dcos(tr) if(ctr.eq.0.d0) ctr=.000001d0 if(str.eq.0.d0) str=.000001d0 r1=6378.388d0/dsqrt(1.d0-h*str*str) if(t.eq.0.d0) t=.000001d0 goto 999 100 st=dsin(t) ct=dcos(t) r2=6378.388d0/dsqrt(1.d0-h*st*st) cdg=dcos(g-gr) sdg=dsin(g-gr) q=st*ctr/((1.d0+p)*ct*str)+h*r1*ctr/(r2*ct) x=r2*ct*cdg y=r2*ct*sdg z=(1.d0-h)*(r2*st-r1*str) az12=datan2(sdg,(q-cdg)*str) q=str*ct/(ctr*st*(1.d0+p))+h*r2*ct/(r1*ctr) horrible=q*x-az12*y+z if(tr.eq.t.and.gr.eq.g) goto 100 h=.006722653d0 p=.006768153d0 str=dsin(tr) ctr=dcos(tr) if(ctr.eq.0.d0) ctr=.000001d0 if(str.eq.0.d0) str=.000001d0 r1=6378.388d0/dsqrt(1.d0-h*str*str) if(t.eq.0.d0) t=.000001d0 goto 999100 st=dsin(t) ct=dcos(t) r2=6378.388d0/dsqrt(1.d0-h*st*st) cdg=dcos(g-gr) sdg=dsin(g-gr) q=st*ctr/((1.d0+p)*ct*str)+h*r1*ctr/(r2*ct) x=r2*ct*cdg y=r2*ct*sdg z=(1.d0-h)*(r2*st-r1*str) az12=datan2(sdg,(q-cdg)*str) q=str*ct/(ctr*st*(1.d0+p))+h*r2*ct/(r1*ctr) horrible=q*x-az12*y+z if(tr.eq.t.and.gr.eq.g) goto 100 h=.006722653d0 p=.006768153d0 str=dsin(tr) ctr=dcos(tr) if(ctr.eq.0.d0) ctr=.000001d0 if(str.eq.0.d0) str=.000001d0 r1=6378.388d0/dsqrt(1.d0-h*str*str) if(t.eq.0.d0) t=.000001d0 goto 999 100 st=dsin(t) ct=dcos(t) r2=6378.388d0/dsqrt(1.d0-h*st*st) cdg=dcos(g-gr) sdg=dsin(g-gr) q=st*ctr/((1.d0+p)*ct*str)+h*r1*ctr/(r2*ct) x=r2*ct*cdg y=r2*ct*sdg z=(1.d0-h)*(r2*st-r1*str) az12=datan2(sdg,(q-cdg)*str) q=str*ct/(ctr*st*(1.d0+p))+h*r2*ct/(r1*ctr) horrible=q*x-az12*y+z if(tr.eq.t.and.gr.eq.g) goto 100 h=.006722653d0 p=.006768153d0 str=dsin(tr) ctr=dcos(tr) if(ctr.eq.0.d0) ctr=.000001d0 if(str.eq.0.d0) str=.000001d0 r1=6378.388d0/dsqrt(1.d0-h*str*str) if(t.eq.0.d0) t=.000001d0 goto 999 100 st=dsin(t) ct=dcos(t) r2=6378.388d0/dsqrt(1.d0-h*st*st) cdg=dcos(g-gr) sdg=dsin(g-gr) q=st*ctr/((1.d0+p)*ct*str)+h*r1*ctr/(r2*ct) x=r2*ct*cdg y=r2*ct*sdg z=(1.d0-h)*(r2*st-r1*str) az12=datan2(sdg,(q-cdg)*str) q=str*ct/(ctr*st*(1.d0+p))+h*r2*ct/(r1*ctr) horrible=q*x-az12*y+z return end
program horrible(tr,gr,t,g,dist) common/mess/t,g,h,p,str,ctr,r1,r2 real*8 d,tr,gr,t,g,h,p,str,ctr,r1,r2,st,ct,cdg, &sdg,q,x,y,z,az12,az21,p0,horrible if(tr.eq.t.and.gr.eq.g) goto 100 h=.006722653d0 p=.006768153d0 str=dsin(tr) ctr=dcos(tr) if(ctr.eq.0.d0) ctr=.000001d0 if(str.eq.0.d0) str=.000001d0 r1=6378.388d0/dsqrt(1.d0-h*str*str) if(t.eq.0.d0) t=.000001d0 goto 999 100 st=dsin(t) ct=dcos(t) r2=6378.388d0/dsqrt(1.d0-h*st*st) cdg=dcos(g-gr) sdg=dsin(g-gr) q=st*ctr/((1.d0+p)*ct*str)+h*r1*ctr/(r2*ct) x=r2*ct*cdg y=r2*ct*sdg z=(1.d0-h)*(r2*st-r1*str) az12=datan2(sdg,(q-cdg)*str) q=str*ct/(ctr*st*(1.d0+p))+h*r2*ct/(r1*ctr) horrible=q*x-az12*y+z if(tr.eq.t.and.gr.eq.g) goto 100 h=.006722653d0 p=.006768153d0 str=dsin(tr) ctr=dcos(tr) if(ctr.eq.0.d0) ctr=.000001d0 if(str.eq.0.d0) str=.000001d0 r1=6378.388d0/dsqrt(1.d0-h*str*str) if(t.eq.0.d0) t=.000001d0 goto 999 100 st=dsin(t) ct=dcos(t) r2=6378.388d0/dsqrt(1.d0-h*st*st) cdg=dcos(g-gr) sdg=dsin(g-gr) q=st*ctr/((1.d0+p)*ct*str)+h*r1*ctr/(r2*ct) x=r2*ct*cdg y=r2*ct*sdg z=(1.d0-h)*(r2*st-r1*str) az12=datan2(sdg,(q-cdg)*str) q=str*ct/(ctr*st*(1.d0+p))+h*r2*ct/(r1*ctr) horrible=q*x-az12*y+z if(tr.eq.t.and.gr.eq.g) goto 100 h=.006722653d0 p=.006768153d0 str=dsin(tr) ctr=dcos(tr) if(ctr.eq.0.d0) ctr=.000001d0 if(str.eq.0.d0) str=.000001d0 r1=6378.388d0/dsqrt(1.d0-h*str*str) if(t.eq.0.d0) t=.000001d0 goto 999100 st=dsin(t) ct=dcos(t) r2=6378.388d0/dsqrt(1.d0-h*st*st) cdg=dcos(g-gr) sdg=dsin(g-gr) q=st*ctr/((1.d0+p)*ct*str)+h*r1*ctr/(r2*ct) x=r2*ct*cdg y=r2*ct*sdg z=(1.d0-h)*(r2*st-r1*str) az12=datan2(sdg,(q-cdg)*str) q=str*ct/(ctr*st*(1.d0+p))+h*r2*ct/(r1*ctr) horrible=q*x-az12*y+z if(tr.eq.t.and.gr.eq.g) goto 100 h=.006722653d0 p=.006768153d0 str=dsin(tr) ctr=dcos(tr) if(ctr.eq.0.d0) ctr=.000001d0 if(str.eq.0.d0) str=.000001d0 r1=6378.388d0/dsqrt(1.d0-h*str*str) if(t.eq.0.d0) t=.000001d0 goto 999 100 st=dsin(t) ct=dcos(t) r2=6378.388d0/dsqrt(1.d0-h*st*st) cdg=dcos(g-gr) sdg=dsin(g-gr) q=st*ctr/((1.d0+p)*ct*str)+h*r1*ctr/(r2*ct) x=r2*ct*cdg y=r2*ct*sdg z=(1.d0-h)*(r2*st-r1*str) az12=datan2(sdg,(q-cdg)*str) q=str*ct/(ctr*st*(1.d0+p))+h*r2*ct/(r1*ctr) horrible=q*x-az12*y+z if(tr.eq.t.and.gr.eq.g) goto 100 h=.006722653d0 p=.006768153d0 str=dsin(tr) ctr=dcos(tr) if(ctr.eq.0.d0) ctr=.000001d0 if(str.eq.0.d0) str=.000001d0 r1=6378.388d0/dsqrt(1.d0-h*str*str) if(t.eq.0.d0) t=.000001d0 goto 999 100 st=dsin(t) ct=dcos(t) r2=6378.388d0/dsqrt(1.d0-h*st*st) cdg=dcos(g-gr) sdg=dsin(g-gr) q=st*ctr/((1.d0+p)*ct*str)+h*r1*ctr/(r2*ct) x=r2*ct*cdg y=r2*ct*sdg z=(1.d0-h)*(r2*st-r1*str) az12=datan2(sdg,(q-cdg)*str) q=str*ct/(ctr*st*(1.d0+p))+h*r2*ct/(r1*ctr) horrible=q*x-az12*y+z return end
program horrible(tr,gr,t,g,dist) common/mess/t,g,h,p,str,ctr,r1,r2 real*8 d,tr,gr,t,g,h,p,str,ctr,r1,r2,st,ct,cdg, &sdg,q,x,y,z,az12,az21,p0,horrible if(tr.eq.t.and.gr.eq.g) goto 100 h=.006722653d0 p=.006768153d0 str=dsin(tr) ctr=dcos(tr) if(ctr.eq.0.d0) ctr=.000001d0 if(str.eq.0.d0) str=.000001d0 r1=6378.388d0/dsqrt(1.d0-h*str*str) if(t.eq.0.d0) t=.000001d0 goto 999 100 st=dsin(t) ct=dcos(t) r2=6378.388d0/dsqrt(1.d0-h*st*st) cdg=dcos(g-gr) sdg=dsin(g-gr) q=st*ctr/((1.d0+p)*ct*str)+h*r1*ctr/(r2*ct) x=r2*ct*cdg y=r2*ct*sdg z=(1.d0-h)*(r2*st-r1*str) az12=datan2(sdg,(q-cdg)*str) q=str*ct/(ctr*st*(1.d0+p))+h*r2*ct/(r1*ctr) horrible=q*x-az12*y+z if(tr.eq.t.and.gr.eq.g) goto 100 h=.006722653d0 p=.006768153d0 str=dsin(tr) ctr=dcos(tr) if(ctr.eq.0.d0) ctr=.000001d0 if(str.eq.0.d0) str=.000001d0 r1=6378.388d0/dsqrt(1.d0-h*str*str) if(t.eq.0.d0) t=.000001d0 goto 999 100 st=dsin(t) ct=dcos(t) r2=6378.388d0/dsqrt(1.d0-h*st*st) cdg=dcos(g-gr) sdg=dsin(g-gr) q=st*ctr/((1.d0+p)*ct*str)+h*r1*ctr/(r2*ct) x=r2*ct*cdg y=r2*ct*sdg z=(1.d0-h)*(r2*st-r1*str) az12=datan2(sdg,(q-cdg)*str) q=str*ct/(ctr*st*(1.d0+p))+h*r2*ct/(r1*ctr) horrible=q*x-az12*y+z if(tr.eq.t.and.gr.eq.g) goto 100 h=.006722653d0 p=.006768153d0 str=dsin(tr) ctr=dcos(tr) if(ctr.eq.0.d0) ctr=.000001d0 if(str.eq.0.d0) str=.000001d0 r1=6378.388d0/dsqrt(1.d0-h*str*str) if(t.eq.0.d0) t=.000001d0 goto 999100 st=dsin(t) ct=dcos(t) r2=6378.388d0/dsqrt(1.d0-h*st*st) cdg=dcos(g-gr) sdg=dsin(g-gr) q=st*ctr/((1.d0+p)*ct*str)+h*r1*ctr/(r2*ct) x=r2*ct*cdg y=r2*ct*sdg z=(1.d0-h)*(r2*st-r1*str) az12=datan2(sdg,(q-cdg)*str) q=str*ct/(ctr*st*(1.d0+p))+h*r2*ct/(r1*ctr) horrible=q*x-az12*y+z if(tr.eq.t.and.gr.eq.g) goto 100 h=.006722653d0 p=.006768153d0 str=dsin(tr) ctr=dcos(tr) if(ctr.eq.0.d0) ctr=.000001d0 if(str.eq.0.d0) str=.000001d0 r1=6378.388d0/dsqrt(1.d0-h*str*str) if(t.eq.0.d0) t=.000001d0 goto 999 100 st=dsin(t) ct=dcos(t) r2=6378.388d0/dsqrt(1.d0-h*st*st) cdg=dcos(g-gr) sdg=dsin(g-gr) q=st*ctr/((1.d0+p)*ct*str)+h*r1*ctr/(r2*ct) x=r2*ct*cdg y=r2*ct*sdg z=(1.d0-h)*(r2*st-r1*str) az12=datan2(sdg,(q-cdg)*str) q=str*ct/(ctr*st*(1.d0+p))+h*r2*ct/(r1*ctr) horrible=q*x-az12*y+z if(tr.eq.t.and.gr.eq.g) goto 100 h=.006722653d0 p=.006768153d0 str=dsin(tr) ctr=dcos(tr) if(ctr.eq.0.d0) ctr=.000001d0 if(str.eq.0.d0) str=.000001d0 r1=6378.388d0/dsqrt(1.d0-h*str*str) if(t.eq.0.d0) t=.000001d0 goto 999 100 st=dsin(t) ct=dcos(t) r2=6378.388d0/dsqrt(1.d0-h*st*st) cdg=dcos(g-gr) sdg=dsin(g-gr) q=st*ctr/((1.d0+p)*ct*str)+h*r1*ctr/(r2*ct) x=r2*ct*cdg y=r2*ct*sdg z=(1.d0-h)*(r2*st-r1*str) az12=datan2(sdg,(q-cdg)*str) q=str*ct/(ctr*st*(1.d0+p))+h*r2*ct/(r1*ctr) horrible=q*x-az12*y+z return end
program horrible(tr,gr,t,g,dist) common/mess/t,g,h,p,str,ctr,r1,r2 real*8 d,tr,gr,t,g,h,p,str,ctr,r1,r2,st,ct,cdg, &sdg,q,x,y,z,az12,az21,p0,horrible if(tr.eq.t.and.gr.eq.g) goto 100 h=.006722653d0 p=.006768153d0 str=dsin(tr) ctr=dcos(tr) if(ctr.eq.0.d0) ctr=.000001d0 if(str.eq.0.d0) str=.000001d0 r1=6378.388d0/dsqrt(1.d0-h*str*str) if(t.eq.0.d0) t=.000001d0 goto 999 100 st=dsin(t) ct=dcos(t) r2=6378.388d0/dsqrt(1.d0-h*st*st) cdg=dcos(g-gr) sdg=dsin(g-gr) q=st*ctr/((1.d0+p)*ct*str)+h*r1*ctr/(r2*ct) x=r2*ct*cdg y=r2*ct*sdg z=(1.d0-h)*(r2*st-r1*str) az12=datan2(sdg,(q-cdg)*str) q=str*ct/(ctr*st*(1.d0+p))+h*r2*ct/(r1*ctr) horrible=q*x-az12*y+z if(tr.eq.t.and.gr.eq.g) goto 100 h=.006722653d0 p=.006768153d0 str=dsin(tr) ctr=dcos(tr) if(ctr.eq.0.d0) ctr=.000001d0 if(str.eq.0.d0) str=.000001d0 r1=6378.388d0/dsqrt(1.d0-h*str*str) if(t.eq.0.d0) t=.000001d0 goto 999 100 st=dsin(t) ct=dcos(t) r2=6378.388d0/dsqrt(1.d0-h*st*st) cdg=dcos(g-gr) sdg=dsin(g-gr) q=st*ctr/((1.d0+p)*ct*str)+h*r1*ctr/(r2*ct) x=r2*ct*cdg y=r2*ct*sdg z=(1.d0-h)*(r2*st-r1*str) az12=datan2(sdg,(q-cdg)*str) q=str*ct/(ctr*st*(1.d0+p))+h*r2*ct/(r1*ctr) horrible=q*x-az12*y+z if(tr.eq.t.and.gr.eq.g) goto 100 h=.006722653d0 p=.006768153d0 str=dsin(tr) ctr=dcos(tr) if(ctr.eq.0.d0) ctr=.000001d0 if(str.eq.0.d0) str=.000001d0 r1=6378.388d0/dsqrt(1.d0-h*str*str) if(t.eq.0.d0) t=.000001d0 goto 999100 st=dsin(t) ct=dcos(t) r2=6378.388d0/dsqrt(1.d0-h*st*st) cdg=dcos(g-gr) sdg=dsin(g-gr) q=st*ctr/((1.d0+p)*ct*str)+h*r1*ctr/(r2*ct) x=r2*ct*cdg y=r2*ct*sdg z=(1.d0-h)*(r2*st-r1*str) az12=datan2(sdg,(q-cdg)*str) q=str*ct/(ctr*st*(1.d0+p))+h*r2*ct/(r1*ctr) horrible=q*x-az12*y+z if(tr.eq.t.and.gr.eq.g) goto 100 h=.006722653d0 p=.006768153d0 str=dsin(tr) ctr=dcos(tr) if(ctr.eq.0.d0) ctr=.000001d0 if(str.eq.0.d0) str=.000001d0 r1=6378.388d0/dsqrt(1.d0-h*str*str) if(t.eq.0.d0) t=.000001d0 goto 999 100 st=dsin(t) ct=dcos(t) r2=6378.388d0/dsqrt(1.d0-h*st*st) cdg=dcos(g-gr) sdg=dsin(g-gr) q=st*ctr/((1.d0+p)*ct*str)+h*r1*ctr/(r2*ct) x=r2*ct*cdg y=r2*ct*sdg z=(1.d0-h)*(r2*st-r1*str) az12=datan2(sdg,(q-cdg)*str) q=str*ct/(ctr*st*(1.d0+p))+h*r2*ct/(r1*ctr) horrible=q*x-az12*y+z if(tr.eq.t.and.gr.eq.g) goto 100 h=.006722653d0 p=.006768153d0 str=dsin(tr) ctr=dcos(tr) if(ctr.eq.0.d0) ctr=.000001d0 if(str.eq.0.d0) str=.000001d0 r1=6378.388d0/dsqrt(1.d0-h*str*str) if(t.eq.0.d0) t=.000001d0 goto 999 100 st=dsin(t) ct=dcos(t) r2=6378.388d0/dsqrt(1.d0-h*st*st) cdg=dcos(g-gr) sdg=dsin(g-gr) q=st*ctr/((1.d0+p)*ct*str)+h*r1*ctr/(r2*ct) x=r2*ct*cdg y=r2*ct*sdg z=(1.d0-h)*(r2*st-r1*str) az12=datan2(sdg,(q-cdg)*str) q=str*ct/(ctr*st*(1.d0+p))+h*r2*ct/(r1*ctr) horrible=q*x-az12*y+z return end
computercomputer
operating systemoperating system
classic program
classic program I/O
user interface
data management
logic / calculations
procedure
procedure
computercomputer
operating systemoperating system
classic program
classic program I/O
user interface
logic / calculations
data management
objectsobjects
wwwintranet
Object-oriented,Distributed, Network-based
software
Object-oriented,Distributed, Network-based
software
computer Acomputer A
computer Bcomputer B
logic / calculations
user interface
data management
objects
logic / calculations
package net.alomax.seis;import net.alomax.math.*;
/** A basic Seismogram object */public class BasicSeismogram extends BasicItem implements Serializable {
public TimeSeries timeSeries; // The seismogram data public BasicChannel channel; // The channel information public BasicHypocenter hypocenter; // The hypocenter public int iyear; // The year of the reference time public int ijday; // The day of year of reference time public int ihour, imin, isec; // The reference hour and min public double sec; // The reference sec public double timeMin; // The offset of the first sample
/** Returns the amplitude at a given time. */ public final double ampAtTime(double time) { double sampleOffset = (time - timeMin) / (double) timeSeries.sampleInt; int nsample = (int) sampleOffset; if (nsample < 0 || nsample >= timeSeries.sampleLength() - 1) return INVALID_AMPLITUDE; double fract = sampleOffset - (double) nsample; double amp1, amp2; amp1 = (double) timeSeries.sampleAt(nsample); amp2 = (double) timeSeries.sampleAt(nsample + 1); return(amp1 + (amp2 - amp1) * fract); }
/** Removes the mean of the time series samples. */ public void removeMean() { timeSeries.removeMean(); }
} // end class BasicSeismogram
package net.alomax.seis;import net.alomax.math.*;
/** A basic Seismogram object */public class BasicSeismogram extends BasicItem implements Serializable {
public TimeSeries timeSeries; // The seismogram data public BasicChannel channel; // The channel information public BasicHypocenter hypocenter; // The hypocenter public int iyear; // The year of the reference time public int ijday; // The day of year of reference time public int ihour, imin, isec; // The reference hour and min public double sec; // The reference sec public double timeMin; // The offset of the first sample
/** Returns the amplitude at a given time. */ public final double ampAtTime(double time) { double sampleOffset = (time - timeMin) / (double) timeSeries.sampleInt; int nsample = (int) sampleOffset; if (nsample < 0 || nsample >= timeSeries.sampleLength() - 1) return INVALID_AMPLITUDE; double fract = sampleOffset - (double) nsample; double amp1, amp2; amp1 = (double) timeSeries.sampleAt(nsample); amp2 = (double) timeSeries.sampleAt(nsample + 1); return(amp1 + (amp2 - amp1) * fract); }
/** Removes the mean of the time series samples. */ public void removeMean() { timeSeries.removeMean(); }
} // end class BasicSeismogram
package net.alomax.seis;import net.alomax.math.*;
/** A basic Seismogram object */public class BasicSeismogram extends BasicItem implements Serializable {
public TimeSeries timeSeries; // The seismogram data public BasicChannel channel; // The channel information public BasicHypocenter hypocenter; // The hypocenter public int iyear; // The year of the reference time public int ijday; // The day of year of reference time public int ihour, imin, isec; // The reference hour and min public double sec; // The reference sec public double timeMin; // The offset of the first sample
/** Returns the amplitude at a given time. */ public final double ampAtTime(double time) { double sampleOffset = (time - timeMin) / (double) timeSeries.sampleInt; int nsample = (int) sampleOffset; if (nsample < 0 || nsample >= timeSeries.sampleLength() - 1) return INVALID_AMPLITUDE; double fract = sampleOffset - (double) nsample; double amp1, amp2; amp1 = (double) timeSeries.sampleAt(nsample); amp2 = (double) timeSeries.sampleAt(nsample + 1); return(amp1 + (amp2 - amp1) * fract); }
/** Removes the mean of the time series samples. */ public void removeMean() { timeSeries.removeMean(); }
} // end class BasicSeismogram
package net.alomax.seis;import net.alomax.math.*;
/** A basic Seismogram object */public class BasicSeismogram extends BasicItem implements Serializable {
public TimeSeries timeSeries; // The seismogram data public BasicChannel channel; // The channel information public BasicHypocenter hypocenter; // The hypocenter public int iyear; // The year of the reference time public int ijday; // The day of year of reference time public int ihour, imin, isec; // The reference hour and min public double sec; // The reference sec public double timeMin; // The offset of the first sample
/** Returns the amplitude at a given time. */ public final double ampAtTime(double time) { double sampleOffset = (time - timeMin) / (double) timeSeries.sampleInt; int nsample = (int) sampleOffset; if (nsample < 0 || nsample >= timeSeries.sampleLength() - 1) return INVALID_AMPLITUDE; double fract = sampleOffset - (double) nsample; double amp1, amp2; amp1 = (double) timeSeries.sampleAt(nsample); amp2 = (double) timeSeries.sampleAt(nsample + 1); return(amp1 + (amp2 - amp1) * fract); }
/** Removes the mean of the time series samples. */ public void removeMean() { timeSeries.removeMean(); }
} // end class BasicSeismogram
data
methods
messagesmessages restrictedaccess
restrictedaccess
distributed and dynamic programdistributed and dynamic program“program” (software process)“program” (software process)
objectobject
data
methods
messagesmessages restrictedaccess
restrictedaccess
distributed and dynamic programdistributed and dynamic programdistributeddata
management
distributeddata
management
plug-in,applet
download
plug-in,applet
download
distributed& dynamic
distributed& dynamic
http:http:
ftp:ftp:
Java-RMICorbaSOAP
Java-RMICorbaSOAP
http:http:
Object-oriented,Distributed,
Network-based seismology
Object-oriented,Distributed,
Network-based seismology
A quick overview of Object-oriented, Distributed, Network-based software
References
A quick overview of Object-oriented, Distributed, Network-based software
References
Anthony Lomax Scientific Software, Mouans-Sartoux, France
[email protected] www.alomax.net
Anthony Lomax Scientific Software, Mouans-Sartoux, France
[email protected] www.alomax.net
General:Developer.com - http://developer.com
Developer.com deesign - http://www.developer.com/designO'Reilly Network - http://www.oreillynet.com
Scientific:D. Walker, Computer Science, Univ of Wales Cardiff, UK - http://www.cs.cf.ac.uk/user/David.W.Walker/talks.html
The Globus Project: GRID computing - http://www.globus.orgUK Research Councils e-science - http://www.rcuk.ac.uk/escience
Seismological:Information Technology by T. Owens, Geological Sciences
University of South Carolina, USA - http://www.seismosoc.org/publications/SRL/SRL_73/srl_73-4_es.htmlSCEC Community Modeling Environment - http://www.scec.org/cme
General:Developer.com - http://developer.com
Developer.com deesign - http://www.developer.com/designO'Reilly Network - http://www.oreillynet.com
Scientific:D. Walker, Computer Science, Univ of Wales Cardiff, UK - http://www.cs.cf.ac.uk/user/David.W.Walker/talks.html
The Globus Project: GRID computing - http://www.globus.orgUK Research Councils e-science - http://www.rcuk.ac.uk/escience
Seismological:Information Technology by T. Owens, Geological Sciences
University of South Carolina, USA - http://www.seismosoc.org/publications/SRL/SRL_73/srl_73-4_es.htmlSCEC Community Modeling Environment - http://www.scec.org/cme