Objects A quick overview of Object-oriented, Distributed, Network-based software A quick overview of...
-
Upload
maximilian-bruce -
Category
Documents
-
view
212 -
download
0
Transcript of Objects A quick overview of Object-oriented, Distributed, Network-based software A quick overview of...
![Page 1: Objects A quick overview of Object-oriented, Distributed, Network-based software A quick overview of Object-oriented, Distributed, Network-based software.](https://reader035.fdocuments.net/reader035/viewer/2022072015/56649ec95503460f94bd6e2e/html5/thumbnails/1.jpg)
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
![Page 2: Objects A quick overview of Object-oriented, Distributed, Network-based software A quick overview of Object-oriented, Distributed, Network-based software.](https://reader035.fdocuments.net/reader035/viewer/2022072015/56649ec95503460f94bd6e2e/html5/thumbnails/2.jpg)
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
![Page 3: Objects A quick overview of Object-oriented, Distributed, Network-based software A quick overview of Object-oriented, Distributed, Network-based software.](https://reader035.fdocuments.net/reader035/viewer/2022072015/56649ec95503460f94bd6e2e/html5/thumbnails/3.jpg)
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
![Page 4: Objects A quick overview of Object-oriented, Distributed, Network-based software A quick overview of Object-oriented, Distributed, Network-based software.](https://reader035.fdocuments.net/reader035/viewer/2022072015/56649ec95503460f94bd6e2e/html5/thumbnails/4.jpg)
logic / calculations
user interface
data management
objects
![Page 5: Objects A quick overview of Object-oriented, Distributed, Network-based software A quick overview of Object-oriented, Distributed, Network-based software.](https://reader035.fdocuments.net/reader035/viewer/2022072015/56649ec95503460f94bd6e2e/html5/thumbnails/5.jpg)
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
![Page 6: Objects A quick overview of Object-oriented, Distributed, Network-based software A quick overview of Object-oriented, Distributed, Network-based software.](https://reader035.fdocuments.net/reader035/viewer/2022072015/56649ec95503460f94bd6e2e/html5/thumbnails/6.jpg)
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
![Page 7: Objects A quick overview of Object-oriented, Distributed, Network-based software A quick overview of Object-oriented, Distributed, Network-based software.](https://reader035.fdocuments.net/reader035/viewer/2022072015/56649ec95503460f94bd6e2e/html5/thumbnails/7.jpg)
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:
![Page 8: Objects A quick overview of Object-oriented, Distributed, Network-based software A quick overview of Object-oriented, Distributed, Network-based software.](https://reader035.fdocuments.net/reader035/viewer/2022072015/56649ec95503460f94bd6e2e/html5/thumbnails/8.jpg)
Object-oriented,Distributed,
Network-based seismology
Object-oriented,Distributed,
Network-based seismology
![Page 9: Objects A quick overview of Object-oriented, Distributed, Network-based software A quick overview of Object-oriented, Distributed, Network-based software.](https://reader035.fdocuments.net/reader035/viewer/2022072015/56649ec95503460f94bd6e2e/html5/thumbnails/9.jpg)
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