124 subroutine kcelei(tlat, tlon, dtgmt, height)
132 implicit real*8 (
a-
h,
o-
z)
150 entry kceleq(tla, tlo, dt,
h)
161 subroutine kgcrc(fai, al, h, u, v, w)
168 implicit real*8 (
a-
h,
o-
z)
172 data ae/6377.397155d03/
173 data e2/0.006674372230614
d0/
176 n=
ae/sqrt(1.
d0 - e2*sinf**2)
178 u=(n+
h)*cosf * kcosd(al)
179 v=(n+
h)*cosf * ksind(al)
180 w=(n*(1.
d0-e2)+
h) * sinf
200 subroutine ksidet(year, month, day, time, st)
203 integer*4 year, month, day
205 call ktu(year, month, day, ed)
209 std= st0 +
tlons + sidcor* et
222 subroutine kmjd(year, month, day, time, mjd)
225 integer*4 year, month, day
227 call ktu(year, month, day, ed)
248 subroutine ksided(time, st0, st)
253 std= st0 +
tlons + sidcor* et
262 subroutine kside0(ed, st0)
267 2 c2= 8640184.542
d0/3600.
d0 *15.
d0,
268 3 c3= 0.0929
d0/3600.
d0*15.
d0 )
272 sd=( c3*tu + c2)* tu + c1
281 subroutine ktu(iyear, month, day, ed)
283 integer*4 year, month, day
284 year=mod(iyear, 1900)
285 if(month .le. 2)
then 292 ed= 365*iy + 30*im + day + int(3*(im+1)/5) + int(iy/4)
311 subroutine khtoe(st, hx, hy, hz, ex, ey, ez)
320 subroutine ketoh(st, ex, ey, ez, hx, hy, hz)
326 hy=-ex*sins + ey*coss
329 subroutine ketod( delta, alfa, ex, ey, ez)
337 cosd=
cos(delta*torad)
338 sind=sin(delta*torad)
344 entry khtod(
h,
a, hx, hy, hz)
353 subroutine kdtoe(ex, ey, ez, delta, alfa)
359 alfa=mod(
f+360.
d0, 360.
d0)
361 subroutine kdtoh(hx, hy, hz, teta, fai)
365 fai=mod(360.
d0-
f, 360.
d0)
381 sinsx=sin(astox*torad)
383 subroutine kadth(ax, ay, az, hx, hy, hz)
391 subroutine khtad(hx, hy, hz, ax, ay, az)
407 subroutine kdhtoh(del, h, w1, w2, w3)
409 implicit real*8 (
a-
h,
o-
z)
412 save delsv, cosd, sind
414 if(del .ne. delsv)
then 434 subroutine kdztoh(del, w3, h, icon)
437 implicit real*8 (
a-
h,
o-
z)
440 save delsv, cosd, sind
442 if(del .ne. delsv)
then 447 if(cosd .eq. 0. .or.
coslat .eq. 0.)
then 448 if(abs(w3-
sinlat*sind) .le. 1.
d-5)
then 456 if(abs(cosx) .le. 1.
d0)
then 460 elseif(abs(w3-
sinlat*sind) .le. 1.
d-5)
then 487 subroutine kdzth2(del, w3, h, icon)
490 implicit real*8 (
a-
h,
o-
z)
493 save delsv, cosd, sind
495 if(del .ne. delsv)
then 501 if(abs(w3-
sinlat*sind) .le. 1.
d-5)
then 504 elseif(w3 .lt.
sinlat*sind)
then 513 if(abs(cosx) .le. 1.
d0)
then 517 elseif(abs(w3-
sinlat*sind) .le. 1.
d-5)
then 520 elseif(w3 .lt.
sinlat*sind)
then 537 subroutine keqtog(dec, ra, glat, glon)
540 call ketod(dec, ra, ex, ey, ez)
541 call kedtgd(ex, ey, ez, gx, gy, gz)
542 call kdtoa(gx, gy, gz, glat, glon)
544 glon=mod(glon+360.
d0, 360.
d0)
547 subroutine kgtoeq(glat, glon, dec, ra)
549 call ketod(glat, glon, gx, gy, gz)
550 call kgdted(gx, gy, gz, ex, ey, ez)
551 call kdtoe(ex, ey, ez, dec, ra)
559 subroutine kgdted(gx, gy, gz, ex, ey, ez)
561 implicit real*8 (
a-
h,
o-
z)
563 logical first/.true./
569 cos33=
cos(33.
d0*torad)
570 sin33=sin(33.
d0*torad)
592 gxp=cos33*gx + sin33*gy
593 gyp=-sin33*gx + cos33*gy
595 ex=a11*gxp +a12*gyp + a13*gzp
596 ey=a21*gxp +a22*gyp + a23*gzp
597 ez= a32*gyp + a33*gzp
600 entry kedtgd(ex, ey, ez, gx, gy, gz)
603 cos33=
cos(33.
d0*torad)
604 sin33=sin(33.
d0*torad)
627 gyp=b21*ex + b22*ey + b23*ez
628 gzp=b31*ex + b32*ey + b33*ez
629 gx= cos33*gxp -sin33*gyp
630 gy= sin33*gxp + cos33*gyp
640 subroutine kmjdym(mjd, y, m, d, time)
642 implicit real*8 (
a-
h,
o-
z)
644 integer*4 y, m, d, a, b, c, e, f, g, h
645 time=(mjd- int(mjd))*24.
d0 649 c=a - int(36524.25
d0*b+0.75
d0)
650 e=int( (c+1)/365.2425
d0)
651 f= c - int(365.25
d0*e)+31
653 d=f -int(30.59
d0*g)+ 0.5
d0 + (jd -int(jd))
694 subroutine kdcmjd(mjd,iy,im,id,ihr,imn,sec)
700 time =(mjd- int(mjd))*24.0
d0 706 jd= int(mjd + 2400001.0
d0)
709 l = l - (146097*
n+3)/4
710 iy = 4000*(l+1)/1461001
716 iy = 100*(
n-49) + iy + l
749 subroutine kmjdst(mjd, st)
754 * c2=8640184.812866
d0/3600.
d0,
755 * c3=0.0931047
d0/3600.
d0, c4=-0.0000062
d0/3600.
d0)
758 am= ((c4*
t+ c3)*
t + c2)*
t + c1
760 ut1=( mjd - int(mjd) )*24.
d0 763 if(st .lt. 0.
d0)
then 767 subroutine kmjdtj(mjd, jd)
771 subroutine kjtmjd(jd, mjd)
840 subroutine kpmtrx(mjd, pij)
845 * torad=
pi/3600.
d0/180.
d0)
852 zeta = 2306.2181
d0*
t + 0.30188
d0*t2 + 0.017998
d0*t3
853 za = 2306.2181
d0*
t + 1.09468
d0*t2 + 0.018203
d0*t3
854 teta = 2004.3109
d0*
t - 0.42665
d0*t2 - 0.041833
d0*t3
860 pij(1,1) =
cos(zeta)*
cos(teta)*
cos(za) -sin(zeta)*sin(za)
861 pij(1,2) =-sin(zeta)*
cos(teta)*
cos(za) -
cos(zeta)*sin(za)
862 pij(1,3) = -sin(teta)*
cos(za)
863 pij(2,1) =
cos(zeta)*
cos(teta)*sin(za) +sin(zeta)*
cos(za)
864 pij(2,2) =-sin(zeta)*
cos(teta)*sin(za) +
cos(zeta)*
cos(za)
865 pij(2,3) = -sin(teta)*sin(za)
866 pij(3,1) =
cos(zeta)*sin(teta)
867 pij(3,2) =-sin(zeta)*sin(teta)
874 t = (mjd - 51544.5
d0)/36525
d0 884 subroutine kj2tox(pij, ex2, ey2, ez2, ex, ey, ez)
890 implicit real*8 (
a-
h,
o-
z)
893 ex= pij(1,1)*ex2 + pij(1,2)*ey2 + pij(1,3)*ez2
894 ey= pij(2,1)*ex2 + pij(2,2)*ey2 + pij(2,3)*ez2
895 ez= pij(3,1)*ex2 + pij(3,2)*ey2 + pij(3,3)*ez2
905 subroutine kxtoj2(pij, ex, ey, ez, ex2, ey2, ez2)
911 implicit real*8 (
a-
h,
o-
z)
914 ex2= pij(1,1)*ex + pij(2,1)*ey + pij(3,1)*ez
915 ey2= pij(1,2)*ex + pij(2,2)*ey + pij(3,2)*ez
916 ez2= pij(1,3)*ex + pij(2,3)*ey + pij(3,3)*ez
954 subroutine kmoon(mjd, elat, elon, rmoon)
957 real*8 mjd, ksind, kcosd
959 real*8 c(62), d(62), e(62)
960 real*8 f(46), g(46), h(46)
963 1 1.2740
d0, 0.6583
d0, 0.2136
d0, 0.1856
d0,
964 2 0.1143
d0, 0.0588
d0, 0.0572
d0, 0.0533
d0, 0.0459
d0,
965 3 0.0410
d0, 0.0348
d0, 0.0305
d0, 0.0153
d0, 0.0125
d0,
966 4 0.0110
d0, 0.0107
d0, 0.0100
d0, 0.0085
d0, 0.0079
d0,
967 5 0.0068
d0, 0.0052
d0, 0.0050
d0, 0.0048
d0, 0.0040
d0,
968 6 0.0040
d0, 0.0040
d0, 0.0039
d0, 0.0037
d0, 0.0027
d0,
969 7 0.0026
d0, 0.0024
d0, 0.0024
d0, 0.0022
d0, 0.0021
d0,
970 8 0.0021
d0, 0.0021
d0, 0.0020
d0, 0.0018
d0, 0.0016
d0,
971 9 0.0012
d0, 0.0011
d0, 0.0009
d0, 0.0008
d0, 0.0008
d0,
972 a 0.0007
d0, 0.0007
d0, 0.0007
d0, 0.0006
d0, 0.0005
d0,
973 b 0.0005
d0, 0.0005
d0, 0.0005
d0, 0.0004
d0, 0.0004
d0,
974 c 0.0004
d0, 0.0004
d0, 0.0003
d0, 0.0003
d0, 0.0003
d0,
975 d 0.0003
d0, 0.0003
d0, 0.0003
d0/
978 1 107.248
d0, 51.668
d0, 317.831
d0, 176.531
d0,
979 2 292.463
d0, 86.16
d0, 103.78
d0, 30.58
d0, 124.86
d0,
980 3 342.38
d0, 25.83
d0, 155.45
d0, 240.79
d0, 271.38
d0,
981 4 226.45
d0, 55.58
d0, 296.75
d0, 34.5
d0, 290.7
d0,
982 5 228.2
d0, 133.1
d0, 202.4
d0, 68.6
d0, 34.1
d0,
983 6 9.5
d0, 93.8
d0, 103.3
d0, 65.1
d0, 321.3
d0,
984 7 174.8
d0, 82.7
d0, 4.7
d0, 121.4
d0, 134.4
d0,
985 8 173.1
d0, 100.3
d0, 248.6
d0, 98.1
d0, 344.1
d0,
986 9 52.1
d0, 250.3
d0, 81.0
d0, 207.0
d0, 31.0
d0,
989 c 181.0
d0, 18.0
d0, 60.0
d0, 13.0
d0, 13.0
d0,
990 d 152.0
d0, 317.0
d0, 348.0
d0/
993 1 -4133.3536
d0, 8905.3422
d0, 9543.9773
d0, 359.9905
d0,
994 2 9664.0404
d0, 638.635
d0, -3773.363
d0,13677.331
d0, -8545.352
d0,
995 3 4411.998
d0, 4452.671
d0, 5131.979
d0, 758.698
d0, 14436.029
d0,
996 4 -4892.052
d0,-13038.696
d0,14315.966
d0,-8266.71
d0, -4493.34
d0,
997 5 9265.33
d0, 319.32
d0, 4812.66
d0, -19.34
d0,13317.34
d0,
998 6 18449.32
d0, -1.33
d0, 17810.68
d0, 5410.62
d0, 9183.99
d0,
999 7 -13797.39
d0, 998.63
d0, 9224.66
d0, -8185.36
d0, 9903.97
d0,
1000 8 719.98
d0, -3413.37
d0, -19.34
d0, 4013.29
d0, 18569.38
d0,
1001 9 -12678.71
d0, 19208.02
d0, - 8586.0
d0, 14037.3
d0,-7906.7
d0,
1002 a 4052.0
d0, -4853.3
d0, 278.6
d0, 1118.7
d0, 22582.7
d0,
1003 b 19088.0
d0, -17450.7
d0, 5091.3
d0, -398.7
d0, -120.1
d0,
1004 c 9584.7
d0, 720.
d0, -3814.0
d0, -3494.7
d0,18089.3
d0,
1005 d 5492.0
d0, -40.7
d0, 23221.3
d0/
1008 1 0.2806
d0, 0.2777
d0, 0.1732
d0, 0.0554
d0,
1009 2 0.0463
d0, 0.0326
d0, 0.0172
d0, 0.0093
d0, 0.0088
d0,
1010 3 0.0082
d0, 0.0043
d0, 0.0042
d0, 0.0034
d0, 0.0025
d0,
1011 4 0.0022
d0, 0.0021
d0, 0.0019
d0, 0.0018
d0, 0.0018
d0,
1012 5 0.0017
d0, 0.0016
d0, 0.0015
d0, 0.0015
d0, 0.0014
d0,
1013 6 0.0013
d0, 0.0013
d0, 0.0012
d0, 0.0012
d0, 0.0011
d0,
1014 7 0.0010
d0, 0.0008
d0, 0.0008
d0, 0.0007
d0, 0.0006
d0,
1015 8 0.0006
d0, 0.0005
d0, 0.0005
d0, 0.0004
d0, 0.0004
d0,
1016 9 0.0004
d0, 0.0004
d0, 0.0004
d0, 0.0003
d0, 0.0003
d0,
1017 a 0.0003
d0, 0.0003
d0/
1020 1 215.147
d0, 77.316
d0, 4.563
d0, 308.98
d0,
1021 2 343.48
d0, 287.90
d0, 194.06
d0, 25.6
d0, 98.4
d0,
1022 3 1.1
d0, 322.4
d0, 266.8
d0, 188.0
d0, 312.5
d0,
1023 4 291.4
d0, 340.0
d0, 218.6
d0, 291.8
d0, 52.8
d0,
1024 5 168.7
d0, 73.8
d0, 262.1
d0, 31.7
d0, 260.8
d0,
1025 6 239.7
d0, 30.4
d0, 304.9
d0, 12.4
d0, 173.0
d0,
1026 7 312.9
d0, 1.0
d0, 190.0
d0, 22.0
d0, 117.0
d0,
1027 8 47.0
d0, 22.0
d0, 150.0
d0, 119.0
d0, 246.0
d0,
1028 9 301.0
d0, 126.0
d0, 104.0
d0, 340.0
d0, 270.0
d0,
1029 a 358.0
d0, 148.0
d0/
1032 1 9604.0088
d0, 60.0316
d0, -4073.3220
d0, 8965.374
d0,
1033 2 698.667
d0, 13737.362
d0,14375.997
d0, -8845.31
d0,-4711.96
d0,
1034 3 -3713.33
d0, 5470.66
d0, 18509.35
d0, -4433.31
d0, 8605.38
d0,
1035 4 13377.37
d0, 1058.66
d0, 9244.02
d0, -8206.68
d0, 5192.01
d0,
1036 5 14496.06
d0, 420.02
d0, 9284.69
d0, 9964.00
d0, - 299.96
d0,
1037 6 4472.03
d0, 379.35
d0, 4812.68
d0, -4851.36
d0,19147.99
d0,
1038 7 -12978.66
d0, 17870.7
d0, 9724.1
d0, 13098.7
d0, 5590.7
d0,
1039 8 -13617.3
d0, -8485.3
d0, 4193.4
d0, -9483.9
d0, 23282.3
d0,
1040 9 10242.6
d0, 9325.4
d0, 14097.4
d0, 22642.7
d0,18149.4
d0,
1041 a -3353.3
d0, 19268.0
d0/
1043 t=(mjd-42412.
d0)/365.25
d0 1044 t=
t + (0.0317
d0*
t+1.43
d0)*1.d-6
1046 a = 0.0040
d0*ksind(93.8
d0 - 1.33
d0*
t)
1047 * +0.0020
d0*ksind(248.6
d0 - 19.34
d0*
t)
1048 * +0.0006
d0*ksind(66.
d0 + 0.2
d0*
t)
1049 * +0.0006
d0*ksind(249.
d0 -19.3
d0*
t)
1051 b= 0.0267
d0*ksind(68.64
d0 - 19.341
d0*
t)
1052 * +0.0043
d0*ksind(342.
d0 - 19.36
d0*
t)
1053 * +0.0040
d0*ksind( 93.8
d0 - 1.33
d0*
t)
1054 * +0.0020
d0*ksind(248.6
d0 - 19.34
d0*
t)
1055 * +0.0005
d0*ksind(358.
d0 - 19.4
d0*
t)
1057 tmp=124.8754
d0+4812.67881
d0*
t +
1058 * 6.2887
d0*ksind(338.915
d0+ 4771.9886
d0*
t+
a)
1061 tmp=tmp+ c(
i)*ksind( d(
i) + e(
i)*
t )
1063 elon=mod(tmp,360.
d0)
1065 tmp=5.1282
d0*ksind(236.231
d0 + 4832.0202
d0*
t+
b)
1068 tmp=tmp+ f(
i)*ksind( g(
i) + h(
i)*
t )
1073 * + 0.0518
d0*kcosd(338.92
d0 + 4771.989
d0*
t)
1074 * + 0.0095
d0*kcosd(287.2
d0 - 4133.35
d0*
t)
1075 * + 0.0078
d0*kcosd( 51.7
d0 + 8905.34
d0*
t)
1076 * + 0.0028
d0*kcosd(317.8
d0 + 9543.98
d0*
t)
1077 * + 0.0009
d0*kcosd( 31.0
d0 +13677.3
d0*
t)
1078 * + 0.0005
d0*kcosd(305.0
d0 - 8545.4
d0*
t)
1079 * + 0.0004
d0*kcosd(284.0
d0 - 3773.4
d0*
t)
1080 * + 0.0003
d0*kcosd(342.0
d0 + 4412.0
d0*
t)
1082 rmoon=
ae/(sinpi*torad)
1084 real*8 function ksind(x)
1086 implicit real*8 (
a-
h,
o-
z)
1090 real*8 function kcosd(x)
1092 implicit real*8 (
a-
h,
o-
z)
1107 subroutine kctoq(mjd, cx, cy, cz, ex, ey, ez)
1109 implicit real*8 (
a-
h,
o-
z)
1112 call kmobec(mjd, cose, sine)
1114 ey=cy*cose - cz*sine
1115 ez=cy*sine + cz*cose
1119 subroutine kqtoc(mjd, ex, ey, ez, cx, cy, cz)
1123 call kmobec(mjd, cose, sine)
1125 cy=ey*cose + ez*sine
1126 cz=-ey*sine + ez*cose
1139 subroutine kmobec(mjd, cose, sine)
1148 eps=(((0.0000005036
d0*
t -0.00000164
d0)*
t - 0.01300417
d0)*
t 1149 * +23.439291
d0)*torad
1174 subroutine ksuneq(mjd, ex, ey, ez)
1178 call ksun(mjd, slon, rsun)
1180 call ketod(0.
d0,slon, cx, cy, cz)
1182 call kctoq(mjd, cx, cy, cz, ex, ey, ez)
1211 subroutine ksun(mjd, slon, rsun)
1214 real*8 mjd, ksind, kcosd
1216 t=(mjd-42412.
d0)/365.25
d0 1218 tmp = 279.0358
d0 +360.00769
d0*
t 1219 1 +(1.9159
d0-0.00005
d0*
t)*ksind(356.531
d0+359.991
d0*
t)
1220 2 + 0.02
d0 *ksind(353.06
d0 + 719.981
d0*
t)
1221 3 - 0.0048
d0 *ksind(248.64
d0 - 19.341
d0*
t)
1222 4 + 0.0020
d0 *ksind(285.0
d0 + 329.64
d0*
t)
1223 5 + 0.0018
d0 *ksind(334.2
d0 -4452.67
d0*
t)
1224 6 + 0.0018
d0 *ksind(293.7
d0 - 0.20
d0*
t)
1225 7 + 0.0015
d0 *ksind(242.4
d0 + 450.37
d0*
t)
1226 8 + 0.0013
d0 *ksind(211.1
d0 + 225.18
d0*
t)
1227 9 + 0.0008
d0 *ksind(208.0
d0 + 659.29
d0*
t)
1228 a + 0.0007
d0 *ksind( 53.5
d0 + 90.38
d0*
t)
1229 b + 0.0007
d0 *ksind( 12.1
d0 - 30.35
d0*
t)
1230 c + 0.0006
d0 *ksind(239.1
d0 + 337.18
d0*
t)
1231 d + 0.0005
d0 *ksind( 10.1
d0 - 1.50
d0*
t)
1232 e + 0.0005
d0 *ksind( 99.1
d0 - 22.81
d0*
t)
1233 f + 0.0004
d0 *ksind(264.8
d0 + 315.56
d0*
t)
1234 g + 0.0004
d0 *ksind(233.8
d0 + 299.30
d0*
t)
1235 h + 0.0004
d0 *ksind(198.1
d0 + 720.02
d0*
t)
1236 i + 0.0003
d0 *ksind(349.6
d0 + 1079.97
d0*
t)
1237 k + 0.0003
d0 *ksind(241.2
d0 -44.43
d0*
t)
1239 slon=mod(tmp, 360.
d0)
1241 q=(-0.007261
d0+0.0000002
d0*
t)*kcosd(356.53
d0 + 359.991
d0*
t)
1243 1 - 0.000091
d0 * kcosd(353.1
d0 + 719.98
d0*
t)
1244 2 + 0.000013
d0 * kcosd(205.8
d0 + 4452.67
d0*
t)
1245 3 + 0.000007
d0 * kcosd( 62.
d0 + 450.4
d0*
t)
1246 4 + 0.000007
d0 * kcosd(105.
d0 + 329.6
d0*
t)
1250 subroutine kadbp(nftch,dx,dy,dz,dt,wt,u,v,w,tz,icon)
1252 dimension dt(nftch),
dx(nftch),dy(nftch),dz(nftch),wt(nftch)
1272 sxy=sxy+
dx(
i)*dy(
i)*wt(
i)
1273 syz=syz+dy(
i)*dz(
i)*wt(
i)
1274 szx=szx+dz(
i)*
dx(
i)*wt(
i)
1275 sxt=sxt+
dx(
i)*dt(
i)*wt(
i)
1276 syt=syt+dy(
i)*dt(
i)*wt(
i)
1278 sy2=sy2+dy(
i)*dy(
i)*wt(
i)
1290 if(abs(ab).gt.1.
d-6)
then 1297 cc=0.09*(q*q+s*s)-1.0
d0 1305 t2=0.5
d0*sqrt(t2)/aa
1307 if(w.lt.0.
d0) w=t1-t2
1310 tz=(u*swx+v*swy+w*swz+0.3
d0*swt)/(0.3
d0*sww)
1311 if(abs(u).le.1.0
d0 .and. abs(v).le.1.0
d0)
then 1326 subroutine knormv(a1, b1, c1, fn1)
1327 real*8 a1, b1, c1, fn1
1328 fn1=sqrt( a1**2+b1**2+c1**2)
1334 subroutine kvtoa(vx, vy, vz, teta, fai)
1337 d=sqrt( vx**2 + vy**2 + vz**2)
1338 call kdtoa(vx/
d, vy/
d, vz/
d, teta, fai)
1341 subroutine kdtoa(vx, vy, vz, teta, fai)
1344 if(vz .gt. 1.
d0)
then 1349 if(abs(teta) .lt. 1.
d-4)
then 1365 subroutine kdifva(a1, a2, b1, b2, c1, c2, difax,
1367 implicit real*8 (
a-
h,
o-
z)
1370 tetap(ww1, ww2)= asin( ww1/ sqrt(abs(1.
d0-ww2**2)))* todeg
1372 tmp= a1*a2+b1*b2+c1*c2
1373 if(tmp .ge. 1.00
d0)
then 1376 difax= tetap(a1,b1) - tetap(a2, b2)
1377 difay= tetap(b1,a1) - tetap(b2, a2)
1378 difa=acos( tmp )*todeg
1398 subroutine komeg0(odec, ora)
1403 call ketod(odec, ora, ex, ey, ez)
1405 entry
komega(dec, ra, omega)
1406 call ketod(dec, ra, rx, ry, rz)
1407 cost=ex*rx + ey*ry + ez*rz
1408 omega= coeff * (1.
d0- cost)
1410 entry komeg1(dec, ra, teta)
1411 call ketod(dec, ra, rx, ry, rz)
1412 cost=ex*rx + ey*ry + ez*rz
1413 teta=acos(cost)* todeg
1422 subroutine koangl(odec, ora, dec, ra, teta)
1425 call ketod(odec, ora, ex, ey, ez)
1426 call ketod(dec, ra, rx, ry, rz)
1427 cost=ex*rx + ey*ry + ez*rz
1428 teta=acos(cost)* todeg
1480 subroutine kgcttc(mjd, ex, ey, ez, rs, tex, tey, tez)
1483 real*8 mjd, ksind, kcosd
1499 call knormv(da, db, dc, dummy)
1539 subroutine kmoont(mjd, ex, ey, ez)
1544 call kmoon(mjd, elat, elon, rmoon)
1546 call ketod( elat, elon, cx, cy, cz)
1548 call kctoq(mjd, cx, cy, cz, ex, ey, ez)
1557 call kgcttc(mjd, ex, ey, ez, rmoon, ex, ey, ez)
1571 subroutine kb50j2(dec, ra, dec2, ra2)
1573 call ketod(dec, ra, ex, ey, ez)
1575 ex2=.9999256782
d0*ex-0.011182061
d0*ey-0.0048579477
d0*ez
1576 ey2=0.0111820609
d0*ex+.9999374784
d0*ey-0.0000271765
d0*ez
1577 ez2=0.0048579479
d0*ex-0.0000271474
d0*ey+.9999881997
d0*ez
1579 call kdtoe(ex2, ey2, ez2, dec2, ra2)
1583 subroutine kj2b50(dec2, ra2, dec, ra)
1585 call ketod(dec2, ra2, ex2, ey2, ez2)
1587 ex=.9999257080
d0*ex2+0.0111789382
d0*ey2+0.0048590039
d0*ez2
1588 ey=-0.0111789382
d0*ex2+.9999375133
d0*ey2-0.0000271579
d0*ez2
1589 ez=-0.0048590038
d0*ex2-0.0000271626
d0*ey2+.9999881946
d0*ez2
1591 call kdtoe(ex, ey, ez, dec, ra)
1603 subroutine kj90j2(dec, ra, dec2, ra2)
1605 call ketod(dec, ra, ex, ey, ez)
1607 ex2=.99999732
d0*ex-0.00212430
d0*ey-0.00092315
d0*ez
1608 ey2=0.00212430
d0*ex+.99999774
d0*ey-0.00000098
d0*ez
1609 ez2=0.00092315
d0*ex-0.00000098
d0*ey+.99999957
d0*ez
1611 call kdtoe(ex2, ey2, ez2, dec2, ra2)
1615 subroutine kj2j90(dec2, ra2, dec, ra)
1617 call ketod(dec2, ra2, ex2, ey2, ez2)
1619 ex=.99999732
d0*ex2+0.00212430
d0*ey2+0.00092315
d0*ez2
1620 ey=-0.00212430
d0*ex2+.99999774
d0*ey2-0.00000098
d0*ez2
1621 ez=-0.00092315
d0*ex2-0.00000098
d0*ey2+.99999957
d0*ez2
1623 call kdtoe(ex, ey, ez, dec, ra)
1641 subroutine kjxjy(mjd1, mjd2, dec1, ra1, dec2, ra2)
1644 dimension pij1(3,3), pij2(3,3)
1657 call ketod(dec1, ra1, ex1, ey1, ez1)
1659 call kxtoj2(pij1, ex1, ey1, ez1, ex2, ey2, ez2)
1661 call kj2tox(pij2, ex2, ey2, ez2, ex, ey, ez)
1663 call kdtoe(ex, ey, ez, dec2, ra2)
integer npitbl real *nx parameter(n=101, npitbl=46, nx=n-1) real *8 uconst
subroutine kdifva(a1, a2, b1, b2, c1, c2, difax,
subroutine kgdted(gx, gy, gz, ex, ey, ez)
subroutine ktu(iyear, month, day, ed)
real *8 function kcosd(x)
subroutine knormv(a1, b1, c1, fn1)
subroutine kcelei(tlat, tlon, dtgmt, height)
subroutine ketoh(st, ex, ey, ez, hx, hy, hz)
subroutine kmoon(mjd, elat, elon, rmoon)
dE dx *! Nuc Int sampling table e
subroutine kdhtoh(del, h, w1, w2, w3)
! Zkcele h ! unit here is aunit parameter pi real sinlat
! Zkcele h ! unit here is aunit parameter pi real dtgmts
*Zfirst p fm *Zfirst p Zfirst p Zfirst p *Zfirst p *Zfirst pos xyz r
! for length to thickness conversion or v v ! integer maxnodes real Hinf ! This is used when making table for dim simulation ! The slant length for vertical height to km is ! divided by LenStep m steps ! It can cover the slant length of about km for cos
integer npitbl real *nx dx real dx
subroutine kjtmjd(jd, mjd)
subroutine komeg0(odec, ora)
! Zkcele h ! unit here is aunit parameter pi real sinsx
subroutine kdcmjd(mjd, iy, im, id, ihr, imn, sec)
subroutine khtoe(st, hx, hy, hz, ex, ey, ez)
subroutine keqtog(dec, ra, glat, glon)
! Zkcele h ! unit here is tofai
! Zkcele h ! unit here is aunit parameter pi real * heighs
subroutine kdtoa(vx, vy, vz, teta, fai)
subroutine kqtoc(mjd, ex, ey, ez, cx, cy, cz)
subroutine kgtoeq(glat, glon, dec, ra)
subroutine ksuneq(mjd, ex, ey, ez)
subroutine kb50j2(dec, ra, dec2, ra2)
subroutine kdzth2(del, w3, h, icon)
max ptcl codes in the komega
subroutine kmobec(mjd, cose, sine)
! Zkcele h ! unit here is ae
subroutine kjxjy(mjd1, mjd2, dec1, ra1, dec2, ra2)
subroutine kgcrc(fai, al, h, u, v, w)
********************block data cblkHeavy ********************integer j data *HeavyG2symbol p
subroutine ketod(delta, alfa, ex, ey, ez)
! Zkcele h ! unit here is aunit parameter pi real tlats
! Zkcele h ! unit here is aunit parameter pi real ug
block data cblkEvhnp ! currently usable models data RegMdls ad *special data *Cekaon d0
subroutine kmjdym(mjd, y, m, d, time)
*Zfirst p fm *Zfirst p Zfirst p Zfirst p *Zfirst p *Zfirst pos xyz Zfirst pos xyz *Zfirst pos *Zfirst pos Zfirst pos height
subroutine kvtoa(vx, vy, vz, teta, fai)
subroutine kpmtrx(mjd, pij)
subroutine kctoq(mjd, cx, cy, cz, ex, ey, ez)
! constants thru Cosmos real * pi
subroutine kj2tox(pij, ex2, ey2, ez2, ex, ey, ez)
subroutine kj2b50(dec2, ra2, dec, ra)
subroutine kmjdst(mjd, st)
subroutine ksun(mjd, slon, rsun)
dE dx *! Nuc Int sampling table d
subroutine kdtoe(ex, ey, ez, delta, alfa)
subroutine khtad(hx, hy, hz, ax, ay, az)
subroutine kdztoh(del, w3, h, icon)
subroutine kdtoh(hx, hy, hz, teta, fai)
dE dx *! Nuc Int sampling table b
! Zkcele h ! unit here is aunit parameter pi real * tlons
subroutine kadth(ax, ay, az, hx, hy, hz)
subroutine kgcttc(mjd, ex, ey, ez, rs, tex, tey, tez)
! Zkcele h ! unit here is aunit parameter pi real coslat
! Zkcele h ! unit here is aunit parameter pi real vg
subroutine kj90j2(dec, ra, dec2, ra2)
block data cblkElemag data *AnihiE ! Eposi< 1 TeV, anihilation considered *X0/365.667/, ! radiation length of air in kg/m2 *Ecrit/81.e-3/, ! critical energy of air in GeV *MaxComptonE/1./, ! compton is considered below 1 GeV *MaxPhotoE/1.e-3/, ! above this, PhotoElectric effect neg. *MinPhotoProdE/153.e-3/, ! below 153 MeV, no gp --> hadrons ! scattering const not MeV *Knockon ! knockon is considered Obsolete *PhotoProd false
dE dx *! Nuc Int sampling table h
subroutine ksided(time, st0, st)
dE dx *! Nuc Int sampling table g
subroutine kadbp(nftch, dx, dy, dz, dt, wt, u, v, w, tz, icon)
subroutine ksidet(year, month, day, time, st)
subroutine kj2j90(dec2, ra2, dec, ra)
subroutine kside0(ed, st0)
! Zkcele h ! unit here is toh
! Zkcele h ! unit here is aunit parameter pi real cossx
real *8 function ksind(x)
subroutine koangl(odec, ora, dec, ra, teta)
subroutine kxtoj2(pij, ex, ey, ez, ex2, ey2, ez2)
subroutine kmjdtj(mjd, jd)
subroutine kmjd(year, month, day, time, mjd)
! structure defining a particle at production ! Basic idea of what is to be contained in ! the particle structue is that dynamical ones should be included those derivable from the particle code ! is not included ******************************************************type fmom momentum sequence union map real e endmap map real * x
dE dx *! Nuc Int sampling table f
subroutine kmtoj2(mjd, t)
subroutine kmoont(mjd, ex, ey, ez)
dE dx *! Nuc Int sampling table c