88 DAFTAR PUSTAKA Admiranto, A.G. 2000. Tata Surya dan Alam

Transcription

88 DAFTAR PUSTAKA Admiranto, A.G. 2000. Tata Surya dan Alam
DAFTAR PUSTAKA
Admiranto, A.G. 2000. Tata Surya dan Alam Semesta. Penerbit Kanisius, Yogyakarta.
Alvarez, W. dan R. A. Muller 1984. Evidence from crater ages for periodic impacts on the
earth. Nature 308, 718-720.
Alvarez, L.W. 1983. Experimental evidence that an asteroid impact led to the extinction of
many species 65 million years ago. PNAS 80, 627-642.
Atkinson, H., C. Tickell, dan D. Williams 2000. Report of the Task Force on potentially
hazardous near earth objects. British National Space Center, London
(http://www.nearearthobjects.co.uk).
Becker, L., R.J. Poreda, A.R, Basu, K.O. Pope, T. M. Harrison, C. Nicholson dan R. Lasky
2004. Bedout: A possible end-Permian impact crater offshore of northwestern
Australia. Science 304, 1469-1476. (www.sciencemag.org).
Binzel, R.P., D.F. Lupishko, M. Di Martino, R.J. Whiteley, G.J. Hahn 2002. Physical
properties of Near-Earth Object. Dalam Asteroids III, W.F. Bottke Jr. A. Cellino, P.
Paolicchi, dan R.P. Binzel, ed., University of Arizona Press, Tucson, hlm. 255-271.
Binzel, R.P., M.S. Hanner, dan D.I. Steel 2000. Solar system small bodies. Dalam Allen’s
astrophysical quantities fourth edition, A. N. Cox., ed., AIP PRESS SpringerVerlag Inc, New York, hlm. 315-337.
Bowell, E., B. Hapke, D. Domingue, K. Lumme, J. Peltoniemi dan A.W. Harris 1989.
Application of photometric models to asteroids. Dalam Asteroids II, R.P. Binzel, T.
Gehrels, dan M.S. Matthews, ed., The University of Arizona Press, Tucson, hlm.
524-556.
Britt, D.T., D.K. Yeomans, K. Housen, dan G. Consolmagno 2002. Asteroid density,
porosity, and structure. Dalam Asteroids III, W.F. Bottke Jr. A. Cellino, P.
Paolicchi, dan R.P. Binzel, ed., University of Arizona Press, Tucson, hlm. 485-500.
Chapman, C.R. 2004. The hazard of near-Earth asteroid impacts on earth. Earth and
Planetary Science Letters 222, 1-15.
Chapman, C.R., dan D. Morrison 1994. Impacts on the earth by asteroids and comets:
assessing the hazard. Nature 367, 33-40.
Chesley, S.R., P.W. Chodas, A. Milani, G. B. Valsecchi, dan D. K. Yeomans 2002.
Quantifying the risk posed by potential Earth impacts. Icarus 159, 423-432.
88
Cox, A.N. 2000. General constants and units. Dalam Allen’s astrophysical quantities
fourth edition, A. N. Cox., ed., AIP PRESS Springer-Verlag Inc, New York, hlm.
7-25.
Corliss, W.R. 1996. Target: south america. Science Frontiers Online No. 103: Jan – Feb
1996 . (http://www.science-frontiers.com/sf103/sf103g08.htm).
Cunningham, C.J. 1988. Introduction to Asteroids. Willmann-Bell Inc, USA.
De Pater, I. dan J.J. Lissauer 2005. Planetary Sciences. Cambridge University Press,
United Kingdom.
Dermawan, B. 2004. Impact hazard of asteroids in this century. 13th Indonesian scientific
conference in Japan proceedings, hlm 1-7.
Earle, S. 2004. Double jeopardy at the end of the Permian - new evidence for a large
impact. (http://www.mala.bc.ca/~earles/bedout-jun04.htm).
Farinella, P., L. Foschini, Ch. Froesché, R. Gonczi, T.J. Jopek, G. Longo, dan P. Michel
2001. Probable asteroidal origin of the Tunguska Cosmic Body. Astronomy and
Astrophysics 377, 1081-1097.
Harris, A.W. 2004. Scientific requirements for understanding the near-Earth asteroid
population. Dalam Mitigation of hazardous comets and asteroids, M.J.S. Belton,
T.H. Morgan, N. Samarasinha, D.K. Yeomans, ed., Cambridge University Press,
United Kingdom, hlm. 141-152.
Hilton, J.L. 2002. Asteroid masses and densities. Dalam Asteroids III, W.F. Bottke Jr. A.
Cellino, P. Paolicchi, dan R.P. Binzel, ed., University of Arizona Press, Tucson,
hlm. 103-112.
McFarland, J. 2001. The Day the Earth Trembled. (http://www.arm.ac.uk/another
Tunguska/Brazil.html).
Morrison, D., C.R. Chapman, D. Steel, dan R.P. Binzel 2004. Impact and the public:
communicating the nature of the impact hazard. Dalam Mitigation of hazardous
comets and asteroids, M.J.S. Belton, T.H. Morgan, N. Samarasinha, D.K. Yeomans,
ed., Cambridge University Press, United Kingdom, hlm. 353-390.
Morrison, D., C.R. Chapman, dan P. Slovic 1994. The impact hazard. Dalam Hazards due
to comets and asteroids, T. Gehrels, ed., University of Arizona Press, Tucson, hlm.
59-91.
Near-Earth Object Science Definition Team 2003. Study to determine the feasibility of
extending the search for Near-Earth Objects to smaller limiting diameters. Report
of the Near-Earth Object science definition team. NASA Office of Space Science
Solar System Exploration Div., Washington DC (http://neo.jpl.nasa.gov/neo/
neoreport030825.pdf)
89
Norton, O.R. 2002. The Cambridge Encyclopedia of Meteorites. Cambridge University
Press, United Kingdom.
Paine, M.P. 1999. Asteroid Impacts: The extra hazard due to tsunami. Science of Tsunami
Hazards. 17, No. 3, 155-166.
Philip’s Astronomy Encyclopedia, 2002, Sir Patrick Moore, ed., Philip’s, London, hlm. 318.
Raup, D.M. dan J.J. Sepkosky 1986. Periodic extinction of families and genera. Science
231, 833-836.
Roy, A.E., dan D Clarke. 1977. Astronomy: Principles and Practise. Adam Hilger ltd,
Bristol.
Schubert, G. dan R.L. Walterscheid 2000. Earth. Dalam Allen’s astrophysical quantities
fourth edition, A. N. Cox., ed., AIP PRESS Springer-Verlag Inc, New York, hlm.
239-292.
Tholen, D.J., V.G. Tejfel, dan A.N. Cox 2000. Planets and satellites. Dalam Allen’s
astrophysical quantities fourth edition, A. N. Cox., ed., AIP PRESS SpringerVerlag Inc, New York, hlm. 293-313.
Post Report. April, 1999. Post Report 126: Near Earth Objects - NEOs. Parliamentary
Office of Science and Technology, London.
Steel, D. 1996. A "Tunguska" Event in British Guyana in 1935?. (http://homepages.
ihug.co.nz/~afs/A Tunguska Event in British Guyana in 1935.htm).
http://earn.dlr.de/nea/J98S27T.htm.
http://en.wikipedia.org/wiki/Tunguska_event.htm.
http://en.wikipedia.org/wiki/Atomic_bombings_of_Hiroshima_and_Nagasaki.htm.
http://en.wikipedia.org/wiki/Ground_zero.htm.
http://en.wikipedia.org/wiki/Potentially_hazardous_asteroid.
http://neo.jpl.nasa.gov/neo.html.
http://neo.jpl.nasa.gov/elements.
http://neo.jpl.nasa.gov/palermo_scale.html.
http://neo.jpl.nasa.gov/pha.html
http://solarsystem.nasa.gov/kuiper/profile.cfm.htm.
http://spaceguard.esa.int/NScience/com-kuiper.htm.
http://spaceguard.esa.int/NScience/com-oort.htm.
90
http://ssd.jpl.nasa.gov/ horizons.cgi#top
http://www.anomalist.com/reports/tunguska.html.
http://www.citymayors.com/statistics/largest-cities-area-125.html
http://www.nasm.edu/ceps/etp/asteroids/AST_near.html
http://www.scn.org/~bh162/Iridium Layer.html
91
Lampiran A
Contoh bentuk data NEA dan PHA yang didapatkan dari http://neo.jpl.nasa.gov/elements
Epoch
(TDB)
a
(AU)
433 Eros
719 Albert
54000
54000
1.45814310
2.62924159
887 Alinda
1036 Ganymed
1221 Amor
1566 Icarus
1580 Betulia
1620 Geographos
1627 Ivar
1685 Toro
1862 Apollo
1863 Antinous
1864 Daedalus
1865 Cerberus
54000
54000
54000
54000
54000
54000
54000
54000
54000
54000
54000
54000
1866 Sisyphus
1915 Quetzalcoatl
1916 Boreas
1917 Cuyo
1943 Anteros
1980 Tezcatlipoca
1981 Midas
2059 Baboquivari
2061 Anza
54000
54000
54000
54000
54000
54000
54000
54000
54000
Object
Q
(AU)
P
(yr)
H
(mag)
MOID
(AU)
ref
class
0.222725172 10.8288323 178.6500472 304.3859173 352.0850200 1.1334
0.551935846 11.5478230 155.7635776 184.0885077 66.5600972 1.1781
1.78
4.08
1.76
4.26
11.16
15.80
0.147716
0.185659
219
27
AMO
AMO
2.48575138
2.66569071
1.91979422
1.07791679
2.19687595
1.24539113
1.86339064
1.36698407
1.47063291
2.25941313
1.46105660
1.08004004
0.563638701
0.533709556
0.434535506
0.826811100
0.487911221
0.335484419
0.396838450
0.436070583
0.559881884
0.606782317
0.614477305
0.466892630
9.3166094
26.6751805
11.8779853
22.8525805
52.0971049
13.3412477
8.4467523
9.3798139
6.3551384
18.4001032
22.1931716
16.0924321
350.1604552
132.4393933
26.4862263
31.2947374
159.5066769
276.8024208
167.6103216
127.0378358
285.7810299
267.9783961
325.5264913
325.1812123
110.6190054
215.6219555
171.4098601
88.0792429
62.3287896
337.2888803
133.1975881
274.3532248
35.7693156
346.6023480
6.7182497
212.9955741
112.1333958
310.9923683
345.7254486
108.9936970
121.4545625
289.6617201
118.9377207
88.0378588
204.1396061
58.3295883
310.4177041
292.6408719
1.0847
1.2430
1.0856
0.1867
1.1250
0.8276
1.1239
0.7709
0.6473
0.8884
0.5633
0.5758
3.89
4.09
2.75
1.97
3.27
1.66
2.60
1.96
2.29
3.63
2.36
1.58
3.92
4.35
2.66
1.12
3.26
1.39
2.54
1.60
1.78
3.40
1.77
1.12
13.76
9.45
17.70
16.90
14.52
15.60
13.20
14.23
16.25
15.54
14.85
16.84
0.102693
0.342828
0.107373
0.034878
0.133662
0.030305
0.111269
0.051157
0.025557
0.181572
0.268138
0.156045
60 AMO
171 AMO
23 AMO
54 APO*
73 AMO
138 APO*
149 AMO
110 APO
115 APO*
19 APO
116 APO
27 APO
1.89369327
2.54092596
2.27300483
2.14973693
1.43031833
1.70968103
1.77607136
2.64595563
2.26364732
0.538445706
0.571840563
0.449027176
0.504827740
0.255901121
0.364873515
0.650154677
0.529262610
0.537733443
41.1870414
20.4219508
12.8748973
23.9572910
8.7046792
26.8610874
39.8382715
11.0303357
3.7733392
293.0501445
347.9053059
335.8084298
194.3472798
338.2573800
115.3986102
267.7352410
191.2620854
156.4712357
63.5963755
162.9923690
340.7548912
188.4085965
246.4048316
246.6603085
357.0359673
201.0145520
207.6739101
12.8999613
120.2213279
181.4254650
131.6906127
187.4409011
4.8847399
30.7465058
341.5153880
175.5510557
0.8740
1.0879
1.2524
1.0645
1.0643
1.0859
0.6214
1.2456
1.0464
2.91
3.99
3.29
3.23
1.80
2.33
2.93
4.05
3.48
2.61
4.05
3.43
3.15
1.71
2.24
2.37
4.30
3.41
13.00
18.97
14.93
13.90
15.75
13.92
15.50
15.80
16.56
0.103279
0.102246
0.253559
0.073615
0.061309
0.244992
0.002004
0.252444
0.051214
100 APO
5
AMO
31 AMO
54 AMO
47 AMO
53 AMO
39 APO*
22 AMO
10 AMO
e
i
(deg)
w
(deg)
Node
(deg)
92
M
(deg)
q
(AU)
Keterangan judul-judul kolom (elemen-elemen orbit dalam referensi frame J2000
heliosentris-ekliptik):
Epoch (TDB): Epoch osilasi dari elemen-elemen asteroid dalam modified Julian date
(Julian date - 2400000.5) TDB
a (AU): Sumbu setengah panjang orbit asteroid dalam AU
e: Eksentrisitas orbit
i (deg): Inklinasi orbit terhadap bidang ekliptika dan ekuinok J2000 (J2000-Ekliptik) dalam
derajat
w (deg): Argumen perihelion (J2000-Ekliptik) dalam derajat
Node (deg): Longitude dari ascending node (J2000-Ekliptik) dalam derajat
M (deg): Mean anomali asteroid pada epoch, dalam derajat
q (AU): Jarak perihelion orbit dalam AU
Q (AU): Jarak aphelion orbit dalam AU
P (yr): Periode orbit dalam tahun Julian
H (mag): Magnitudo mutlak V asteroid
MOID (AU): Minimum orbit intersection distance (jarak minimum antara orbit-orbit yang
berosilasi dari NEO dan Bumi)
Ref: Referensi solusi orbit
Class: Klasifikasi asteroid: NEA = "Near-Earth Asteroid", AMO = "Amor", APO =
"Apollo", ATE = "Aten", atau IEO = "Interior Earth Object". Tanda "*"
menandakan kalau asteroid tersebut juga merupakan potentially hazardous asteroid.
93
LAMPIRAN B
Data-data fisis (1998 ST27 )
Discovery Circumstances:
LINEAR - Lincoln Laboratory ETS, New Mexico
24 Sep 1998
(1)
Orbital Type:
AT
(*)
Taxonomic Type:
-
-
Albedo:
m;0.05
( 2)( 3)
Diameter:
0.4;0.8 km
( 4)( 5)
H:
19.50
(#)
G:
0.15
(#)
U-B:
-
-
B-V:
-
-
Rotation Period:
~3.1+~100 hr
( 6)
Quality:
BR
( 6)
Lightcurve Amplitude:
low mag
( 6)
Spin Vector:
-
-
Radar Observations:
Y
( 7)( 8)
( 9)
Spectral Observations:
-
-
IR Observations:
-
-
Keterangan:
* - tipe orbit diturunkan dari elemen orbit yang berosilasi
94
# - magnitudo mutlak H diturunkan dari observasi astrometri melalui penentuan orbit,
dengan nilai G di asumsikan sebesar 0.15
B - binary asteroid
R - observasi radar
Kolom paling kanan merupakan referensi data, dimana:
(1) M.P.E.C. 1998-S34
(2) Binzel, R.P. et al. 2002. Physical Properties of NEOs. Dalam Asteroids III, W.F.Bottke
et al, ed., Univ.Ariz.Press, Tucson, USA, hlm. 255-271.
(3) Benner, L. et al. .2003. Radar imaging of binary near-Earth asteroid 1998 ST27. DPS
35, 24.01.
(4) Binzel, R.P. et al. 2002. Physical Properties of NEOs. Dalam Asteroids III, W.F.Bottke
et al, ed., Univ.Ariz.Press, Tucson, USA, hlm. 255-271.
(5) Benner, L. et al. .2003. Radar imaging of binary near-Earth asteroid 1998 ST27. DPS
35, 24.01.
(6) Petr Pravec's Ondrejov NEO Photometric Program Webpage
(7) JPL's NEO Radar Detection Program Webpage
(8) Benner, L.A.M. et al. 2001. 1998 ST27 Binary asteroid detection. I.A.U. Circ 7730.
(9) Benner, L. et al. .2003. Radar imaging of binary near-Earth asteroid 1998 ST27. DPS
35, 24.01.
95
Lampiran C
I. Elemen-elemen Keplerian dan laju perubahannya, terhadap ekliptik rata-rata dan ekuinok J2000,
berlaku untuk selang waktu 1800-2050 M.
96
II. Elemen-elemen Keplerian dan laju perubahannya, terhadap ekliptik rata-rata dan ekuinok J2000,
berlaku untuk selang waktu 3000 SM-3000 M. Perhitungan M untuk Yupiter sampai Pluto harus
ditambahkan dengan suku tambahan seperti pada persamaan (3.27) yang nilai-nilainya diberikan
pada tabel C III.
III. Suku-suku tambahan yang harus ditambahkan pada perhitungan M untuk planet Yupiter sampai
Pluto, pada selang waktu 3000 SM-3000 M.
97
LAMPIRAN D
PROGRAM AsCaO
I. Source Code Program AsCaO
/* AsCaO: A Program of (Simple) Asteroid Close-approach Orbit Computation*/
/* Ver. 7.3; B. Dermawan */
/* This program runs interactively. Before employing this program the user should prepare
the asteroids and planetary (Earth) data with the following orders (notice that MJD = JD 2400000.5).
The asteroid data file (*.???) must have 8 columns, i.e.
Column 1 -> Calculation epoch of asteroid's data (t0 --MJD),
Column 2 -> Asteroid's semimajor axes (a --AU),
Column 3 -> Asteroid's eccentricities (e),
Column 4 -> Asteroid's inclinations (inc --deg),
Column 5 -> Longitude of asteroid's ascending nodes (node --deg),
Column 6 -> Argument of asteroid's perihelions (w --deg),
Column 7 -> Asteroid's mean anomalies (m0 --deg), and
Column 8 -> Asteroid's orbital periods (per --year).
Assumption: the above asteroids orbital elements are at the epoch of calculation,
instead of their osculating elements.
The planetary (Earth) data file (*.???) must have 7 columns, i.e.
Column 1 -> Calculation epoch of planetary data (pt0 --MJD),
Column 2 -> Planetary's semimajor axis (pa --AU),
Column 3 -> Planetary's eccentricity (pe),
Column 4 -> Planetary's inclination (pinc --deg),
Column 5 -> Longitude of planetary's ascending node (pnode --deg),
Column 6 -> Argument of the planetary's perihelion (pw --deg),
Column 7 -> Planetary's true anomaly (pta --deg).
The asteroids and planetary data are available and can be extracted from the JPL-NASA.
The output files:
*.pos: Coordinate position (cartesian) of the Earth and asteroids, including
the asteroid's distances from the Earth (Delta). Number of asteroids whose distances
shorter than the close-approach criteria (crit) will be provided. This program
computes
asteroid's positions at the same MJD as that of the planetary data, which can be
propagated within about +/- two years from the data epoch.
*.orb: Orbital paths of the asteroids. An asteroid orbital path consists of 100 points.
Each of the output files consists of maximum 60 asteroids. */
/*This code is free and no warranty, freely improved and distributed.*/
#include <stdio.h>
#include <stdlib.h>
#include <stddef.h>
#include <math.h>
98
#include <string.h>
#include <ctype.h>
#define NR_END 1
/*Constants*/
#define FREE_ARG char*
#define ORBP 100
#define TWOPID 6.2831853071795865
#define EPS 1.0e-6
#define SWAP(a,b) {swap=(a);(a)=(b);(b)=swap;}
int *ivector(long nl, long nh);
/*Subroutine Names*/
double *dvector(long nl, long nh);
double **dmatrix(long nrl, long nrh, long ncl, long nch);
void free_ivector(int *v, long nl, long nh);
void free_dvector(double *v, long nl, long nh);
void free_dmatrix(double **m, long nrl, long nrh, long ncl, long nch);
float SQR(float);
void Sort(int *varb, int n);
main()
/* ### MAIN PROGRAM ### */
{
char *forb, *fpos, b, c, buf[80], fas[80], fpla[80], fout[80], orbf[]=".orb", posf[]=".pos";
int ca=1, *caob, ic, nas=1, npla=1, OBJ, nfile, point, i, j=0, k=0, l;
double aa, bb ,cc, dd, ee, ff, gg, hh, eao, ea, xa, ya, za, delta, t1, tini, tend, tstep, crit;
double *t0, *a, *e, *inc, *node, *w, *m0, *per, *pt0, *pa, *pe, *pinc, *pnode, *pw, *pta;
double *t, *xe, *ye, *ze, **m1, **d, **xob, **yob, **zob, **x, **y, **z;
FILE *asPtr, *plaPtr, *orbPtr, *posPtr;
printf("\nAsCaO: A Program of (Simple) Asteroid Close-approach Orbit
Computation\n");
printf("\nAsteroids data file (*.\?\?\?): ");
/*Filename Assemblages*/
while((c=getchar()) != '\n') fas[j++]=c; fas[j]='\0';
for (i=0;i<=j-5;i++) fout[i]=fas[i]; fout[i]='\0';
if ((asPtr = fopen(fas,"r")) == NULL) {
printf("Asteroid data file could not be opened\n"); return 0;
}
else {
/*Checking number of asteroids data*/
fscanf(asPtr,"%lf %lf %lf %lf %lf %lf %lf %lf", &aa, &bb, &cc, &dd, &ee, &ff, &gg,
&hh);
while (!feof(asPtr)) {
fscanf(asPtr,"%lf %lf %lf %lf %lf %lf %lf %lf", &aa, &bb, &cc, &dd, &ee, &ff,
&gg, &hh); nas++;
}
}
printf("Planetary data file (*.\?\?\?): ");
/*Filename Assemblages*/
while((b=getchar()) != '\n') fpla[k++]=b; fpla[k]='\0';
if ((plaPtr = fopen(fpla,"r")) == NULL) {
printf("Planetary data file could not be opened\n"); return 0;
}
99
else {
/*Checking number of planetary data*/
fscanf(plaPtr,"%lf %lf %lf %lf %lf %lf %lf", &aa, &bb, &cc, &dd, &ee, &ff, &gg);
while (!feof(plaPtr)) {
fscanf(plaPtr,"%lf %lf %lf %lf %lf %lf %lf", &aa, &bb, &cc, &dd, &ee, &ff, &gg);
npla++;
}
}
printf("\nNumber of asteroids data = %4d\n",nas-=1);
printf("Number of asteroids [max 60] stored in a file: "); scanf("%d",&OBJ);
if ((OBJ > 60) || (OBJ < 1)) OBJ = 60;
if ((nas-(nas/OBJ)*OBJ) != 0) {nfile = 1+ nas/OBJ;} else nfile = nas/OBJ;
/* forb = (char *)malloc(1+nas/OBJ); fpos = (char *)malloc(1+nas/OBJ);*/
/*Allocation of number of file*/
forb = (char *)malloc((size_t) (nfile*sizeof(char))); fpos = (char *)malloc((size_t)
(nfile*sizeof(char)));
x=dmatrix(1,nas,1,ORBP); y=dmatrix(1,nas,1,ORBP); z=dmatrix(1,nas,1,ORBP);
t0=dvector(1,nas); a=dvector(1,nas); e=dvector(1,nas); inc=dvector(1,nas);
node=dvector(1,nas); w=dvector(1,nas); m0=dvector(1,nas); per=dvector(1,nas);
asPtr = fopen(fas,"r");
for (i=1;i<=nas;i++) {
fscanf(asPtr, "%lf %lf %lf %lf %lf %lf %lf %lf",
&t0[i], &a[i], &e[i], &inc[i], &node[i], &w[i], &m0[i], &per[i]);
/*Reading the asteroid data file*/
inc[i] = inc[i]*TWOPID/360.0; node[i] = node[i]*TWOPID/360.0; w[i] =
w[i]*TWOPID/360.0;
m0[i] = m0[i]*TWOPID/360.0;
}
/* fprintf(stdout, "\nPlanetary data file (*.\?\?\?): "); strncpy(fpla, fgets(buf, 79, stdin),
79);*/
printf("Number of planetary data: %4d\n",npla-=1);
pt0=dvector(1,npla); pa=dvector(1,npla); pe=dvector(1,npla); pinc=dvector(1,npla);
pnode=dvector(1,npla); pw=dvector(1,npla); pta=dvector(1,npla);
plaPtr = fopen(fpla,"r");
for (i=1;i<=npla;i++) {
fscanf(plaPtr, "%lf %lf %lf %lf %lf %lf %lf",
&pt0[i], &pa[i], &pe[i], &pinc[i], &pnode[i], &pw[i], &pta[i]);
/*Reading the planetary data file*/
pinc[i] = pinc[i]*TWOPID/360.0; pnode[i] = pnode[i]*TWOPID/360.0; pw[i] =
pw[i]*TWOPID/360.0;
pta[i] = pta[i]*TWOPID/360.0;
}
tini = pt0[1]; tend = pt0[npla]; tstep = pt0[2] - pt0[1];
printf("\n The start MJD = %11.5f\n",tini);
printf("
stop MJD = %11.5f\n",tend);
printf("
Time-step = %4.2f%s",tstep," day(s)\n");
100
point = 1 + (tend - tini)/tstep;
t=dvector(1,point); xe=dvector(1,point); ye=dvector(1,point); ze=dvector(1,point);
m1=dmatrix(1,nas,1,point); d=dmatrix(1,nas,1,point);
xob=dmatrix(1,nas,1,point); yob=dmatrix(1,nas,1,point); zob=dmatrix(1,nas,1,point);
printf("\nClose-approach distance (AU): "); scanf("%lf",&crit); /*user-defined closeapproach distance*/
/* printf("Asteroid's time-span/-step are same as that of the planetary data\n");*/
for (i=1;i<=nas;i++) {
for (l=1;l<=point;l++) {
t[l] = tini + (l-1)*tstep; if (l == point) t[l] = tend;
ea = m1[i][l] = xob[i][l] = yob[i][l] = zob[i][l] = 0.0;
m1[i][l] = m0[i] + TWOPID*(t[l]-t0[i])/(per[i]*365.25);
ea = m1[i][l] + e[i]*sin(m1[i][l]); delta = 10.0;
while (delta > EPS) {
/*Iteration step to solve Kepler equation;*/
eao = ea;
ea = ea + (m1[i][l] - (ea-e[i]*sin(ea)))/(1.0-e[i]*cos(ea));
delta = fabs((ea-eao)/ea);
}
xa = a[i]*(cos(ea)-e[i]); ya = a[i]*sqrt(1-e[i]*e[i])*sin(ea);
xob[i][l] = (cos(w[i])*cos(node[i])-sin(w[i])*sin(node[i])*cos(inc[i]))*xa
- (sin(w[i])*cos(node[i])-cos(w[i])*sin(node[i])*cos(inc[i]))*ya;
yob[i][l] = (cos(w[i])*sin(node[i])+sin(w[i])*cos(node[i])*cos(inc[i]))*xa
- (sin(w[i])*sin(node[i])+cos(w[i])*cos(node[i])*cos(inc[i]))*ya;
zob[i][l] = (sin(w[i])*sin(inc[i]))*xa + (cos(w[i])*sin(inc[i]))*ya;
if (i == 1) {
xe[l] = (cos(pw[l]+pta[l])*cos(pnode[l])sin(pw[l]+pta[l])*sin(pnode[l])*cos(pinc[l]))*
(pa[l]*(1.0-pe[l]*pe[l]))/(1.0+pe[l]*cos(pta[l]));
ye[l] =
(cos(pw[l]+pta[l])*sin(pnode[l])+sin(pw[l]+pta[l])*cos(pnode[l])*cos(pinc[l]))*
(pa[l]*(1.0-pe[l]*pe[l]))/(1.0+pe[l]*cos(pta[l]));
ze[l] = (sin(pw[l]+pta[l])*sin(pinc[l]))*(pa[l]*(1.0pe[l]*pe[l]))/(1.0+pe[l]*cos(pta[l]));
}
}
ea = xa = ya = za = 0.0;
for (j=1;j<=ORBP;j++) {
xa = a[i]*(cos(ea)-e[i]); ya = a[i]*sqrt(1-e[i]*e[i])*sin(ea);
x[i][j] = (cos(w[i])*cos(node[i])-sin(w[i])*sin(node[i])*cos(inc[i]))*xa
- (sin(w[i])*cos(node[i])-cos(w[i])*sin(node[i])*cos(inc[i]))*ya;
y[i][j] = (cos(w[i])*sin(node[i])+sin(w[i])*cos(node[i])*cos(inc[i]))*xa
- (sin(w[i])*sin(node[i])+cos(w[i])*cos(node[i])*cos(inc[i]))*ya;
z[i][j] = (sin(w[i])*sin(inc[i]))*xa + (cos(w[i])*sin(inc[i]))*ya;
ea = ea + TWOPID/ORBP;
}
101
}
caob=ivector(1,nas); fclose(asPtr); free_dvector(t,1,point);
free_dvector(t0,1,nas); free_dvector(a,1,nas); free_dvector(e,1,nas);
free_dvector(inc,1,nas);
free_dvector(node,1,nas); free_dvector(w,1,nas); free_dvector(m0,1,nas);
free_dvector(per,1,nas);
for (k=1;k<=nfile;k++) {
sprintf(forb,"%s_%02d%s",fout,k,orbf);
orbPtr=fopen(forb,"w");
for (j=0;j<=ORBP;j++) {
if (k < nfile) {
ic = k*OBJ;
} else ic = nas;
for (i=(k-1)*OBJ+1;i<=ic;i++) {
if (j == 0) {
fprintf(orbPtr,"%s%04d%s", "#", i, "--X
Y
Z ");
} else fprintf(orbPtr,"%11.7f %11.7f %11.7f ", x[i][j], y[i][j], z[i][j]);
if (i == ic) fprintf(orbPtr,"\n");
}
}
fclose(orbPtr);
}
for (k=1;k<=nfile;k++) {
sprintf(fpos,"%s_%02d%s",fout,k,posf);
posPtr=fopen(fpos,"w");
for (l=0;l<=point;l++) {
if (k < nfile) {
ic = k*OBJ;
} else ic = nas;
for (i=(k-1)*OBJ+1;i<=ic;i++) {
if (l == 0) {
if (i == (k-1)*OBJ+1) fprintf(posPtr,"%s","#---MJD
XEarth
YEarth
ZEarth ");
fprintf(posPtr,"%s%04d%s","#", i, "-X
Y
Z
D
");
} else {
d[i][l] = sqrt(SQR(xob[i][l]-xe[l]) + SQR(yob[i][l]-ye[l]) + SQR(zob[i][l]ze[l]));
if (i == (k-1)*OBJ+1) fprintf(posPtr,"%11.5f %11.7f %11.7f %11.7f", pt0[l],
xe[l], ye[l], ze[l]);
fprintf(posPtr," %11.7f %11.7f %11.7f %11.7f", xob[i][l], yob[i][l], zob[i][l],
d[i][l]);
if (d[i][l] <= crit) {
for (j=1;j<=1;j++) caob[ca] = i;
ca = ca+1;
}
102
}
if (i == ic) fprintf(posPtr,"\n");
}
}
fclose(posPtr);
}
Sort(caob,ca-1);
printf("\n%s","Close-approach asteroid(s): "); k = 1;
for (j=1;j<=ca-1;j++) {
if (j > 1) if ((caob[j]-caob[j-1]) != 0) k++;
printf("%s%04d ","#",caob[j]);
}
if (ca == 1) k = 0; printf("\n%4d%s",k," object(s) found\n");
free_ivector(caob,1,nas);
free_dvector(pt0,1,npla); free_dvector(pa,1,npla); free_dvector(pe,1,npla);
free_dvector(pinc,1,npla);
free_dvector(pnode,1,npla); free_dvector(pw,1,npla); free_dvector(pta,1,npla);
free_dvector(xe,1,point); free_dvector(ye,1,point); free_dvector(ze,1,point);
free_dmatrix(m1,1,nas,1,point); free_dmatrix(d,1,nas,1,point);
free_dmatrix(xob,1,nas,1,point); free_dmatrix(yob,1,nas,1,point);
free_dmatrix(zob,1,nas,1,point);
free_dmatrix(x,1,nas,1,ORBP); free_dmatrix(y,1,nas,1,ORBP);
free_dmatrix(z,1,nas,1,ORBP);
free(forb); free(fpos);
printf("\n%s","Done!\n\n"); return 0;
}
/* ### SUBROUTINES ### */
float SQR(float var)
/* Square function */
{
return var*var;
}
void Sort(int *varb, int n)
{
int j,k,swap;
for (k=1;k<=n-1;k++)
for (j=1;j<=n-1;j++)
if (varb[j] > varb[j+1]) SWAP(varb[j],varb[j+1]);
}
int *ivector(long nl, long nh)
/* allocate an int vector with subscript range v[nl..nh] */
{
int *v;
103
v=(int *)malloc((size_t) ((nh-nl+1+NR_END)*sizeof(int)));
if (!v) {
/*nrerror ("Allocation failure in ivector()");*/
printf("Allocation failure in ivector()\n"); return 0;
}
return v-nl+NR_END;
}
double *dvector(long nl, long nh)
/* allocate a double vector with subscript range v[nl..nh] */
{
double *v;
v=(double *)malloc((size_t) ((nh-nl+1+NR_END)*sizeof(double)));
if (!v) {
/*nrerror("Allocation failure in dvector()");*/
printf("Allocation failure in dvector()\n"); return 0;
}
return v-nl+NR_END;
}
double **dmatrix(long nrl, long nrh, long ncl, long nch)
/* allocate a double matrix with subscript range m[nrl..nrh][ncl..nch] */
{
long i, nrow=nrh-nrl+1,ncol=nch-ncl+1;
double **m;
/* allocate pointers to rows */
m=(double **) malloc((size_t)((nrow+NR_END)*sizeof(double*)));
if (!m) { /*nrerror("allocation failure 1 in matrix()");*/
printf("Allocation failure 1 in matrix()\n"); return 0;
}
m += NR_END;
m -= nrl;
/* allocate rows and set pointers to them */
m[nrl]=(double *) malloc((size_t)((nrow*ncol+NR_END)*sizeof(double)));
if (!m[nrl]) { /*nrerror ("Allocation failure 2 in matrix()");*/
printf("Allocation failure 2 in matrix()\n"); return 0;
}
m[nrl] += NR_END;
m[nrl] -= ncl;
for(i=nrl+1;i<=nrh;i++) m[i]=m[i-1]+ncol;
/* return pointer to array of pointers to rows */
return m;
}
void free_ivector(int *v, long nl, long nh)
/* free an int vector allocated with ivector() */
{
free((FREE_ARG) (v+nl-NR_END));
}
104
void free_dvector(double *v, long nl, long nh)
/* free a double vector allocated with dvector() */
{
free((FREE_ARG) (v+nl-NR_END));
}
void free_dmatrix(double **m, long nrl, long nrh, long ncl, long nch)
/* free a double matrix allocated by dmatrix() */
{
free((FREE_ARG) (m[nrl]+ncl-NR_END));
free((FREE_ARG) (m+nrl-NR_END));
}
II. Tampilan Program AsCaO
AsCaO: A Program of (Simple) Asteroid Close-approach Orbit Computation
Asteroids data file (*.???):
Planetary data file (*.???):
Number of asteroids data = 4091
Number of asteroids [max 60] stored in a file: 60
Number of planetary data: 365
The start MJD = 54101.00000
stop MJD = 54465.00000
Time-step = 1.00 day(s)
Close-approach distance (AU):
Close-approach asteroid(s):
Asteroids data file dan Planetary data file diisi dengan nama file dan format
penyimpanan file (dat, txt, dsb). Pilih jarak di Close-approach distance (AU). Keluaran dari
Close-approach asteroid adalah berupa nomor urut asteroid yang disimpan pada file dan
jumlah asteroid yang memiliki jarak ≤ jarak yang telah dipilih pada Close-approach
distance (AU).
105
III. Bentuk Keluaran Program AsCaO
AsCaO: A Program of (Simple) Asteroid Close-approach Orbit Computation
Asteroids data file (*.???): NEA25juli1.txt
Planetary data file (*.???):earth2007.DAT
Number of asteroids data = 4091
Number of asteroids [max 60] stored in a file: 60
Number of planetary data: 365
The start MJD = 54101.00000
stop MJD = 54465.00000
Time-step = 1.00 day(s)
Close-approach distance (AU): 0.03 AU
Close-approach asteroid(s): #307 #399 #573 #750 #921 #923 #928 #960 #989 #1117
#1190 #1771 #2001 #2422 #2422 #2717 #2749 #3051 #3115 #3471 #3471 #3940
20 object(s) found
Done!
106
LAMPIRAN E
ORBIT 32 ASTEROID NEA DAN PHA YANG AKAN MEMILIKI JARAK TERDEKAT DENGAN BUMI < 0,05 AU
DAN POSISI ASTEROID NEA DAN PHA TERSEBUT DENGAN BUMI SAAT BERADA DI JARAK TERDEKAT DI TAHUN
2007
107
Gambar E-1a
108
Gambar E-1a
109
Gambar E-2a
110
Gambar E-2b
111
Gambar E-3a
112
Gambar E-3b
113
Gambar E-4a
114
Gambar E-4b
115
Gambar E-5a
116
Gambar E-5b
117
Gambar E-6a
118
Gambar E-6b
119
Gambar E-7a
120
Gambar E-7b
121
Gambar E-8a
122
Gambar E-8b
123
Gambar E-9a Orbit 4 PHA yang akan memiliki jarak terdekat dengan Bumi < 0,05 AU di tahun 2007
124
Gambar E-9b Posisi 4 PHA dan posisi Bumi untuk masing-masing PHA pada saat jarak terdekat
125
Keterangan gambar:
Gambar –gambar (a) Merupakan orbit asteroid-asteroid selama tahun 2007
Gambar-gambar (b) Merupakan posisi asteroid-asteroid (lingkaran berwarna) dengan posisi Bumi untuk masing-masing asteroid
(tanda silang dengan warna disesuaikan dengan warna lingkaran asteroid yang dimaksud) saat berada di jarak terdekat.
Gambar E1 sampai E8 merupakan asteroid-asteroid NEA, gambar E9 merupakan empat asteroid-asteroid NEA yang termasuk ke dalam
anggota PHA
126