equationoftime 3.0.0 → 4.0.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.buildpath +5 -0
- data/.project +17 -0
- data/.rvmrc +1 -0
- data/.settings/org.eclipse.ltk.core.refactoring.prefs +2 -0
- data/Makefile +238 -0
- data/Rakefile +40 -3
- data/analemma_data.yml +2925 -0
- data/equationoftime.gemspec +6 -3
- data/examples/analemma_data_generator.rb +12 -12
- data/examples/celes_parts/.RUBYARCHDIR.time +0 -0
- data/examples/celes_parts/.cproject +56 -0
- data/examples/celes_parts/.project +78 -0
- data/examples/celes_parts/a2af.c +120 -0
- data/examples/celes_parts/a2tf.c +116 -0
- data/examples/celes_parts/af2a.c +107 -0
- data/examples/celes_parts/anp.c +82 -0
- data/examples/celes_parts/anpm.c +82 -0
- data/examples/celes_parts/bi00.c +116 -0
- data/examples/celes_parts/bp00.c +173 -0
- data/examples/celes_parts/bp06.c +136 -0
- data/examples/celes_parts/bpn2xy.c +100 -0
- data/examples/celes_parts/c2i00a.c +139 -0
- data/examples/celes_parts/c2i00b.c +139 -0
- data/examples/celes_parts/c2i06a.c +136 -0
- data/examples/celes_parts/c2ibpn.c +142 -0
- data/examples/celes_parts/c2ixy.c +131 -0
- data/examples/celes_parts/c2ixys.c +123 -0
- data/examples/celes_parts/c2s.c +96 -0
- data/examples/celes_parts/c2t00a.c +154 -0
- data/examples/celes_parts/c2t00b.c +150 -0
- data/examples/celes_parts/c2t06a.c +152 -0
- data/examples/celes_parts/c2tcio.c +122 -0
- data/examples/celes_parts/c2teqx.c +122 -0
- data/examples/celes_parts/c2tpe.c +167 -0
- data/examples/celes_parts/c2txy.c +159 -0
- data/examples/celes_parts/cal2jd.c +139 -0
- data/examples/celes_parts/celes_core.c +2522 -0
- data/examples/celes_parts/cp.c +80 -0
- data/examples/celes_parts/cpv.c +82 -0
- data/examples/celes_parts/cr.c +83 -0
- data/examples/celes_parts/d2dtf.c +206 -0
- data/examples/celes_parts/d2tf.c +160 -0
- data/examples/celes_parts/dat.c +289 -0
- data/examples/celes_parts/depend +25 -0
- data/examples/celes_parts/dtdb.c +1213 -0
- data/examples/celes_parts/dtf2d.c +196 -0
- data/examples/celes_parts/ee00.c +128 -0
- data/examples/celes_parts/ee00a.c +135 -0
- data/examples/celes_parts/ee00b.c +141 -0
- data/examples/celes_parts/ee06a.c +122 -0
- data/examples/celes_parts/eect00.c +282 -0
- data/examples/celes_parts/eform.c +147 -0
- data/examples/celes_parts/eo06a.c +131 -0
- data/examples/celes_parts/eors.c +108 -0
- data/examples/celes_parts/epb.c +96 -0
- data/examples/celes_parts/epb2jd.c +91 -0
- data/examples/celes_parts/epj.c +93 -0
- data/examples/celes_parts/epj2jd.c +91 -0
- data/examples/celes_parts/epv00.c +2589 -0
- data/examples/celes_parts/eqeq94.c +131 -0
- data/examples/celes_parts/era00.c +136 -0
- data/examples/celes_parts/extconf.rb +4 -0
- data/examples/celes_parts/fad03.c +103 -0
- data/examples/celes_parts/fae03.c +102 -0
- data/examples/celes_parts/faf03.c +106 -0
- data/examples/celes_parts/faju03.c +102 -0
- data/examples/celes_parts/fal03.c +103 -0
- data/examples/celes_parts/falp03.c +103 -0
- data/examples/celes_parts/fama03.c +102 -0
- data/examples/celes_parts/fame03.c +102 -0
- data/examples/celes_parts/fane03.c +99 -0
- data/examples/celes_parts/faom03.c +104 -0
- data/examples/celes_parts/fapa03.c +103 -0
- data/examples/celes_parts/fasa03.c +102 -0
- data/examples/celes_parts/faur03.c +99 -0
- data/examples/celes_parts/fave03.c +102 -0
- data/examples/celes_parts/fk52h.c +143 -0
- data/examples/celes_parts/fk5hip.c +126 -0
- data/examples/celes_parts/fk5hz.c +160 -0
- data/examples/celes_parts/fw2m.c +134 -0
- data/examples/celes_parts/fw2xy.c +120 -0
- data/examples/celes_parts/gc2gd.c +134 -0
- data/examples/celes_parts/gc2gde.c +200 -0
- data/examples/celes_parts/gd2gc.c +134 -0
- data/examples/celes_parts/gd2gce.c +138 -0
- data/examples/celes_parts/gmst00.c +145 -0
- data/examples/celes_parts/gmst06.c +136 -0
- data/examples/celes_parts/gmst82.c +151 -0
- data/examples/celes_parts/gst00a.c +138 -0
- data/examples/celes_parts/gst00b.c +146 -0
- data/examples/celes_parts/gst06.c +140 -0
- data/examples/celes_parts/gst06a.c +131 -0
- data/examples/celes_parts/gst94.c +131 -0
- data/examples/celes_parts/h2fk5.c +148 -0
- data/examples/celes_parts/hfk5z.c +175 -0
- data/examples/celes_parts/ir.c +83 -0
- data/examples/celes_parts/jd2cal.c +155 -0
- data/examples/celes_parts/jdcalf.c +161 -0
- data/examples/celes_parts/num00a.c +121 -0
- data/examples/celes_parts/num00b.c +121 -0
- data/examples/celes_parts/num06a.c +125 -0
- data/examples/celes_parts/numat.c +109 -0
- data/examples/celes_parts/nut00a.c +2047 -0
- data/examples/celes_parts/nut00b.c +372 -0
- data/examples/celes_parts/nut06a.c +153 -0
- data/examples/celes_parts/nut80.c +325 -0
- data/examples/celes_parts/nutm80.c +117 -0
- data/examples/celes_parts/obl06.c +118 -0
- data/examples/celes_parts/obl80.c +118 -0
- data/examples/celes_parts/p06e.c +321 -0
- data/examples/celes_parts/p2pv.c +83 -0
- data/examples/celes_parts/p2s.c +91 -0
- data/examples/celes_parts/pap.c +139 -0
- data/examples/celes_parts/pas.c +96 -0
- data/examples/celes_parts/pb06.c +144 -0
- data/examples/celes_parts/pdp.c +84 -0
- data/examples/celes_parts/pfw06.c +165 -0
- data/examples/celes_parts/plan94.c +514 -0
- data/examples/celes_parts/pm.c +83 -0
- data/examples/celes_parts/pmat00.c +118 -0
- data/examples/celes_parts/pmat06.c +122 -0
- data/examples/celes_parts/pmat76.c +141 -0
- data/examples/celes_parts/pmp.c +85 -0
- data/examples/celes_parts/pn.c +109 -0
- data/examples/celes_parts/pn00.c +177 -0
- data/examples/celes_parts/pn00a.c +162 -0
- data/examples/celes_parts/pn00b.c +162 -0
- data/examples/celes_parts/pn06.c +187 -0
- data/examples/celes_parts/pn06a.c +152 -0
- data/examples/celes_parts/pnm00a.c +121 -0
- data/examples/celes_parts/pnm00b.c +121 -0
- data/examples/celes_parts/pnm06a.c +124 -0
- data/examples/celes_parts/pnm80.c +126 -0
- data/examples/celes_parts/pom00.c +115 -0
- data/examples/celes_parts/ppp.c +85 -0
- data/examples/celes_parts/ppsp.c +94 -0
- data/examples/celes_parts/pr00.c +142 -0
- data/examples/celes_parts/prec76.c +148 -0
- data/examples/celes_parts/pv2p.c +81 -0
- data/examples/celes_parts/pv2s.c +144 -0
- data/examples/celes_parts/pvdpv.c +102 -0
- data/examples/celes_parts/pvm.c +86 -0
- data/examples/celes_parts/pvmpv.c +87 -0
- data/examples/celes_parts/pvppv.c +87 -0
- data/examples/celes_parts/pvstar.c +207 -0
- data/examples/celes_parts/pvu.c +93 -0
- data/examples/celes_parts/pvup.c +88 -0
- data/examples/celes_parts/pvxpv.c +107 -0
- data/examples/celes_parts/pxp.c +94 -0
- data/examples/celes_parts/rm2v.c +111 -0
- data/examples/celes_parts/rv2m.c +118 -0
- data/examples/celes_parts/rx.c +110 -0
- data/examples/celes_parts/rxp.c +99 -0
- data/examples/celes_parts/rxpv.c +86 -0
- data/examples/celes_parts/rxr.c +99 -0
- data/examples/celes_parts/ry.c +110 -0
- data/examples/celes_parts/rz.c +110 -0
- data/examples/celes_parts/s00.c +371 -0
- data/examples/celes_parts/s00a.c +143 -0
- data/examples/celes_parts/s00b.c +143 -0
- data/examples/celes_parts/s06.c +368 -0
- data/examples/celes_parts/s06a.c +145 -0
- data/examples/celes_parts/s2c.c +85 -0
- data/examples/celes_parts/s2p.c +88 -0
- data/examples/celes_parts/s2pv.c +103 -0
- data/examples/celes_parts/s2xpv.c +87 -0
- data/examples/celes_parts/sepp.c +105 -0
- data/examples/celes_parts/seps.c +93 -0
- data/examples/celes_parts/sofa.h +379 -0
- data/examples/celes_parts/sofam.h +155 -0
- data/examples/celes_parts/sp00.c +118 -0
- data/examples/celes_parts/starpm.c +205 -0
- data/examples/celes_parts/starpv.c +264 -0
- data/examples/celes_parts/sxp.c +84 -0
- data/examples/celes_parts/sxpv.c +85 -0
- data/examples/celes_parts/taitt.c +110 -0
- data/examples/celes_parts/taiut1.c +112 -0
- data/examples/celes_parts/taiutc.c +182 -0
- data/examples/celes_parts/tcbtdb.c +132 -0
- data/examples/celes_parts/tcgtt.c +109 -0
- data/examples/celes_parts/tdbtcb.c +137 -0
- data/examples/celes_parts/tdbtt.c +122 -0
- data/examples/celes_parts/test_celes.rb +48 -0
- data/examples/celes_parts/tf2a.c +107 -0
- data/examples/celes_parts/tf2d.c +107 -0
- data/examples/celes_parts/tr.c +93 -0
- data/examples/celes_parts/trxp.c +93 -0
- data/examples/celes_parts/trxpv.c +93 -0
- data/examples/celes_parts/tttai.c +110 -0
- data/examples/celes_parts/tttcg.c +112 -0
- data/examples/celes_parts/tttdb.c +121 -0
- data/examples/celes_parts/ttut1.c +110 -0
- data/examples/celes_parts/ut1tai.c +111 -0
- data/examples/celes_parts/ut1tt.c +110 -0
- data/examples/celes_parts/ut1utc.c +193 -0
- data/examples/celes_parts/utctai.c +163 -0
- data/examples/celes_parts/utcut1.c +151 -0
- data/examples/celes_parts/xy06.c +2758 -0
- data/examples/celes_parts/xys00a.c +133 -0
- data/examples/celes_parts/xys00b.c +133 -0
- data/examples/celes_parts/xys06a.c +133 -0
- data/examples/celes_parts/zp.c +77 -0
- data/examples/celes_parts/zpv.c +79 -0
- data/examples/celes_parts/zr.c +83 -0
- data/examples/check_date_type.rb +2 -4
- data/examples/compare_geoc_long_ra.rb +19 -11
- data/examples/data_table_for_astro_dog.rb +40 -0
- data/examples/earth_rotation.rb +28 -3
- data/examples/eot.c +15 -0
- data/examples/eot.h +2 -0
- data/examples/eot_methods_list.rb +30 -3
- data/examples/eot_suntimes.rb +99 -95
- data/examples/extconf.rb +2 -0
- data/examples/{read_nutation_data.rb → gmst_gast_non_sofa.rb} +103 -98
- data/examples/nutation_table5_3a.yaml +1658 -1658
- data/examples/rbeot.c +24 -0
- data/examples/test_eot.rb +17 -0
- data/examples/test_poly_eval.rb +6 -17
- data/examples/time_scales.rb +4 -7
- data/examples/times_year.rb +50 -0
- data/examples/usage_example.rb +15 -5
- data/examples/use_angles.rb +151 -87
- data/lib/eot/angles.rb +130 -177
- data/lib/eot/constants.rb +41 -44
- data/lib/eot/displays.rb +40 -37
- data/lib/eot/geo_lat_lng_smt.rb +7 -6
- data/lib/eot/init.rb +62 -39
- data/lib/eot/nutation.rb +53 -45
- data/lib/eot/times.rb +32 -41
- data/lib/eot/utilities.rb +11 -90
- data/lib/eot/version.rb +3 -2
- data/rise_set_data.yml +1461 -0
- data/run_tests_eclipse.rb +1 -0
- data/tests/minitest/aliased_angles_spec.rb +119 -165
- data/tests/minitest/aliased_displays_spec.rb +41 -39
- data/tests/minitest/aliased_utilities_spec.rb +11 -22
- data/tests/minitest/angles_spec.rb +134 -181
- data/tests/minitest/constants_spec.rb +4 -10
- data/tests/minitest/delta_epsilon_spec.rb +13 -16
- data/tests/minitest/displays_spec.rb +39 -37
- data/tests/minitest/geo_spec.rb +15 -11
- data/tests/minitest/init_spec.rb +30 -16
- data/tests/minitest/nutation_spec.rb +19 -13
- data/tests/minitest/times_spec.rb +77 -75
- data/tests/minitest/utilities_spec.rb +10 -94
- data/wiki.md +7 -9
- metadata +218 -26
- data/examples/data_table.rb +0 -26
- data/lib/eot/nutation_table5_3a.yaml +0 -9532
- data/tests/minitest/aliased_times_spec.rb +0 -36
@@ -0,0 +1,372 @@
|
|
1
|
+
#include "sofam.h"
|
2
|
+
|
3
|
+
void iauNut00b(double date1, double date2, double *dpsi, double *deps)
|
4
|
+
/*
|
5
|
+
** - - - - - - - - - -
|
6
|
+
** i a u N u t 0 0 b
|
7
|
+
** - - - - - - - - - -
|
8
|
+
**
|
9
|
+
** Nutation, IAU 2000B model.
|
10
|
+
**
|
11
|
+
** Status: canonical model.
|
12
|
+
**
|
13
|
+
** Given:
|
14
|
+
** date1,date2 double TT as a 2-part Julian Date (Note 1)
|
15
|
+
**
|
16
|
+
** Returned:
|
17
|
+
** dpsi,deps double nutation, luni-solar + planetary (Note 2)
|
18
|
+
**
|
19
|
+
** Notes:
|
20
|
+
**
|
21
|
+
** 1) The TT date date1+date2 is a Julian Date, apportioned in any
|
22
|
+
** convenient way between the two arguments. For example,
|
23
|
+
** JD(TT)=2450123.7 could be expressed in any of these ways,
|
24
|
+
** among others:
|
25
|
+
**
|
26
|
+
** date1 date2
|
27
|
+
**
|
28
|
+
** 2450123.7 0.0 (JD method)
|
29
|
+
** 2451545.0 -1421.3 (J2000 method)
|
30
|
+
** 2400000.5 50123.2 (MJD method)
|
31
|
+
** 2450123.5 0.2 (date & time method)
|
32
|
+
**
|
33
|
+
** The JD method is the most natural and convenient to use in
|
34
|
+
** cases where the loss of several decimal digits of resolution
|
35
|
+
** is acceptable. The J2000 method is best matched to the way
|
36
|
+
** the argument is handled internally and will deliver the
|
37
|
+
** optimum resolution. The MJD method and the date & time methods
|
38
|
+
** are both good compromises between resolution and convenience.
|
39
|
+
**
|
40
|
+
** 2) The nutation components in longitude and obliquity are in radians
|
41
|
+
** and with respect to the equinox and ecliptic of date. The
|
42
|
+
** obliquity at J2000.0 is assumed to be the Lieske et al. (1977)
|
43
|
+
** value of 84381.448 arcsec. (The errors that result from using
|
44
|
+
** this function with the IAU 2006 value of 84381.406 arcsec can be
|
45
|
+
** neglected.)
|
46
|
+
**
|
47
|
+
** The nutation model consists only of luni-solar terms, but
|
48
|
+
** includes also a fixed offset which compensates for certain long-
|
49
|
+
** period planetary terms (Note 7).
|
50
|
+
**
|
51
|
+
** 3) This function is an implementation of the IAU 2000B abridged
|
52
|
+
** nutation model formally adopted by the IAU General Assembly in
|
53
|
+
** 2000. The function computes the MHB_2000_SHORT luni-solar
|
54
|
+
** nutation series (Luzum 2001), but without the associated
|
55
|
+
** corrections for the precession rate adjustments and the offset
|
56
|
+
** between the GCRS and J2000.0 mean poles.
|
57
|
+
**
|
58
|
+
** 4) The full IAU 2000A (MHB2000) nutation model contains nearly 1400
|
59
|
+
** terms. The IAU 2000B model (McCarthy & Luzum 2003) contains only
|
60
|
+
** 77 terms, plus additional simplifications, yet still delivers
|
61
|
+
** results of 1 mas accuracy at present epochs. This combination of
|
62
|
+
** accuracy and size makes the IAU 2000B abridged nutation model
|
63
|
+
** suitable for most practical applications.
|
64
|
+
**
|
65
|
+
** The function delivers a pole accurate to 1 mas from 1900 to 2100
|
66
|
+
** (usually better than 1 mas, very occasionally just outside
|
67
|
+
** 1 mas). The full IAU 2000A model, which is implemented in the
|
68
|
+
** function iauNut00a (q.v.), delivers considerably greater accuracy
|
69
|
+
** at current dates; however, to realize this improved accuracy,
|
70
|
+
** corrections for the essentially unpredictable free-core-nutation
|
71
|
+
** (FCN) must also be included.
|
72
|
+
**
|
73
|
+
** 5) The present function provides classical nutation. The
|
74
|
+
** MHB_2000_SHORT algorithm, from which it is adapted, deals also
|
75
|
+
** with (i) the offsets between the GCRS and mean poles and (ii) the
|
76
|
+
** adjustments in longitude and obliquity due to the changed
|
77
|
+
** precession rates. These additional functions, namely frame bias
|
78
|
+
** and precession adjustments, are supported by the SOFA functions
|
79
|
+
** iauBi00 and iauPr00.
|
80
|
+
**
|
81
|
+
** 6) The MHB_2000_SHORT algorithm also provides "total" nutations,
|
82
|
+
** comprising the arithmetic sum of the frame bias, precession
|
83
|
+
** adjustments, and nutation (luni-solar + planetary). These total
|
84
|
+
** nutations can be used in combination with an existing IAU 1976
|
85
|
+
** precession implementation, such as iauPmat76, to deliver GCRS-
|
86
|
+
** to-true predictions of mas accuracy at current epochs. However,
|
87
|
+
** for symmetry with the iauNut00a function (q.v. for the reasons),
|
88
|
+
** the SOFA functions do not generate the "total nutations"
|
89
|
+
** directly. Should they be required, they could of course easily
|
90
|
+
** be generated by calling iauBi00, iauPr00 and the present function
|
91
|
+
** and adding the results.
|
92
|
+
**
|
93
|
+
** 7) The IAU 2000B model includes "planetary bias" terms that are
|
94
|
+
** fixed in size but compensate for long-period nutations. The
|
95
|
+
** amplitudes quoted in McCarthy & Luzum (2003), namely
|
96
|
+
** Dpsi = -1.5835 mas and Depsilon = +1.6339 mas, are optimized for
|
97
|
+
** the "total nutations" method described in Note 6. The Luzum
|
98
|
+
** (2001) values used in this SOFA implementation, namely -0.135 mas
|
99
|
+
** and +0.388 mas, are optimized for the "rigorous" method, where
|
100
|
+
** frame bias, precession and nutation are applied separately and in
|
101
|
+
** that order. During the interval 1995-2050, the SOFA
|
102
|
+
** implementation delivers a maximum error of 1.001 mas (not
|
103
|
+
** including FCN).
|
104
|
+
**
|
105
|
+
** References:
|
106
|
+
**
|
107
|
+
** Lieske, J.H., Lederle, T., Fricke, W., Morando, B., "Expressions
|
108
|
+
** for the precession quantities based upon the IAU /1976/ system of
|
109
|
+
** astronomical constants", Astron.Astrophys. 58, 1-2, 1-16. (1977)
|
110
|
+
**
|
111
|
+
** Luzum, B., private communication, 2001 (Fortran code
|
112
|
+
** MHB_2000_SHORT)
|
113
|
+
**
|
114
|
+
** McCarthy, D.D. & Luzum, B.J., "An abridged model of the
|
115
|
+
** precession-nutation of the celestial pole", Cel.Mech.Dyn.Astron.
|
116
|
+
** 85, 37-49 (2003)
|
117
|
+
**
|
118
|
+
** Simon, J.-L., Bretagnon, P., Chapront, J., Chapront-Touze, M.,
|
119
|
+
** Francou, G., Laskar, J., Astron.Astrophys. 282, 663-683 (1994)
|
120
|
+
**
|
121
|
+
** This revision: 2010 September 4
|
122
|
+
**
|
123
|
+
** Original version 2012-03-01
|
124
|
+
**
|
125
|
+
** Copyright (C) 2013 Naoki Arita. See notes at end.
|
126
|
+
*/
|
127
|
+
{
|
128
|
+
double t, el, elp, f, d, om, arg, dp, de, sarg, carg,
|
129
|
+
dpsils, depsls, dpsipl, depspl;
|
130
|
+
int i;
|
131
|
+
|
132
|
+
/* Units of 0.1 microarcsecond to radians */
|
133
|
+
static const double U2R = DAS2R / 1e7;
|
134
|
+
|
135
|
+
/* ---------------------------------------- */
|
136
|
+
/* Fixed offsets in lieu of planetary terms */
|
137
|
+
/* ---------------------------------------- */
|
138
|
+
|
139
|
+
static const double DPPLAN = -0.135 * DMAS2R;
|
140
|
+
static const double DEPLAN = 0.388 * DMAS2R;
|
141
|
+
|
142
|
+
/* --------------------------------------------------- */
|
143
|
+
/* Luni-solar nutation: argument and term coefficients */
|
144
|
+
/* --------------------------------------------------- */
|
145
|
+
|
146
|
+
/* The units for the sine and cosine coefficients are */
|
147
|
+
/* 0.1 microarcsec and the same per Julian century */
|
148
|
+
|
149
|
+
static const struct {
|
150
|
+
int nl,nlp,nf,nd,nom; /* coefficients of l,l',F,D,Om */
|
151
|
+
double ps,pst,pc; /* longitude sin, t*sin, cos coefficients */
|
152
|
+
double ec,ect,es; /* obliquity cos, t*cos, sin coefficients */
|
153
|
+
|
154
|
+
} x[] = {
|
155
|
+
|
156
|
+
/* 1-10 */
|
157
|
+
{ 0, 0, 0, 0,1,
|
158
|
+
-172064161.0, -174666.0, 33386.0, 92052331.0, 9086.0, 15377.0},
|
159
|
+
{ 0, 0, 2,-2,2,
|
160
|
+
-13170906.0, -1675.0, -13696.0, 5730336.0, -3015.0, -4587.0},
|
161
|
+
{ 0, 0, 2, 0,2,-2276413.0,-234.0, 2796.0, 978459.0,-485.0,1374.0},
|
162
|
+
{ 0, 0, 0, 0,2,2074554.0, 207.0, -698.0,-897492.0, 470.0,-291.0},
|
163
|
+
{ 0, 1, 0, 0,0,1475877.0,-3633.0,11817.0, 73871.0,-184.0,-1924.0},
|
164
|
+
{ 0, 1, 2,-2,2,-516821.0, 1226.0, -524.0, 224386.0,-677.0,-174.0},
|
165
|
+
{ 1, 0, 0, 0,0, 711159.0, 73.0, -872.0, -6750.0, 0.0, 358.0},
|
166
|
+
{ 0, 0, 2, 0,1,-387298.0, -367.0, 380.0, 200728.0, 18.0, 318.0},
|
167
|
+
{ 1, 0, 2, 0,2,-301461.0, -36.0, 816.0, 129025.0, -63.0, 367.0},
|
168
|
+
{ 0,-1, 2,-2,2, 215829.0, -494.0, 111.0, -95929.0, 299.0, 132.0},
|
169
|
+
|
170
|
+
/* 11-20 */
|
171
|
+
{ 0, 0, 2,-2,1, 128227.0, 137.0, 181.0, -68982.0, -9.0, 39.0},
|
172
|
+
{-1, 0, 2, 0,2, 123457.0, 11.0, 19.0, -53311.0, 32.0, -4.0},
|
173
|
+
{-1, 0, 0, 2,0, 156994.0, 10.0, -168.0, -1235.0, 0.0, 82.0},
|
174
|
+
{ 1, 0, 0, 0,1, 63110.0, 63.0, 27.0, -33228.0, 0.0, -9.0},
|
175
|
+
{-1, 0, 0, 0,1, -57976.0, -63.0, -189.0, 31429.0, 0.0, -75.0},
|
176
|
+
{-1, 0, 2, 2,2, -59641.0, -11.0, 149.0, 25543.0, -11.0, 66.0},
|
177
|
+
{ 1, 0, 2, 0,1, -51613.0, -42.0, 129.0, 26366.0, 0.0, 78.0},
|
178
|
+
{-2, 0, 2, 0,1, 45893.0, 50.0, 31.0, -24236.0, -10.0, 20.0},
|
179
|
+
{ 0, 0, 0, 2,0, 63384.0, 11.0, -150.0, -1220.0, 0.0, 29.0},
|
180
|
+
{ 0, 0, 2, 2,2, -38571.0, -1.0, 158.0, 16452.0, -11.0, 68.0},
|
181
|
+
|
182
|
+
/* 21-30 */
|
183
|
+
{ 0,-2, 2,-2,2, 32481.0, 0.0, 0.0, -13870.0, 0.0, 0.0},
|
184
|
+
{-2, 0, 0, 2,0, -47722.0, 0.0, -18.0, 477.0, 0.0, -25.0},
|
185
|
+
{ 2, 0, 2, 0,2, -31046.0, -1.0, 131.0, 13238.0, -11.0, 59.0},
|
186
|
+
{ 1, 0, 2,-2,2, 28593.0, 0.0, -1.0, -12338.0, 10.0, -3.0},
|
187
|
+
{-1, 0, 2, 0,1, 20441.0, 21.0, 10.0, -10758.0, 0.0, -3.0},
|
188
|
+
{ 2, 0, 0, 0,0, 29243.0, 0.0, -74.0, -609.0, 0.0, 13.0},
|
189
|
+
{ 0, 0, 2, 0,0, 25887.0, 0.0, -66.0, -550.0, 0.0, 11.0},
|
190
|
+
{ 0, 1, 0, 0,1, -14053.0, -25.0, 79.0, 8551.0, -2.0, -45.0},
|
191
|
+
{-1, 0, 0, 2,1, 15164.0, 10.0, 11.0, -8001.0, 0.0, -1.0},
|
192
|
+
{ 0, 2, 2,-2,2, -15794.0, 72.0, -16.0, 6850.0, -42.0, -5.0},
|
193
|
+
|
194
|
+
/* 31-40 */
|
195
|
+
{ 0, 0,-2, 2,0, 21783.0, 0.0, 13.0, -167.0, 0.0, 13.0},
|
196
|
+
{ 1, 0, 0,-2,1, -12873.0, -10.0, -37.0, 6953.0, 0.0, -14.0},
|
197
|
+
{ 0,-1, 0, 0,1, -12654.0, 11.0, 63.0, 6415.0, 0.0, 26.0},
|
198
|
+
{-1, 0, 2, 2,1, -10204.0, 0.0, 25.0, 5222.0, 0.0, 15.0},
|
199
|
+
{ 0, 2, 0, 0,0, 16707.0, -85.0, -10.0, 168.0, -1.0, 10.0},
|
200
|
+
{ 1, 0, 2, 2,2, -7691.0, 0.0, 44.0, 3268.0, 0.0, 19.0},
|
201
|
+
{-2, 0, 2, 0,0, -11024.0, 0.0, -14.0, 104.0, 0.0, 2.0},
|
202
|
+
{ 0, 1, 2, 0,2, 7566.0, -21.0, -11.0, -3250.0, 0.0, -5.0},
|
203
|
+
{ 0, 0, 2, 2,1, -6637.0, -11.0, 25.0, 3353.0, 0.0, 14.0},
|
204
|
+
{ 0,-1, 2, 0,2, -7141.0, 21.0, 8.0, 3070.0, 0.0, 4.0},
|
205
|
+
|
206
|
+
/* 41-50 */
|
207
|
+
{ 0, 0, 0, 2,1, -6302.0, -11.0, 2.0, 3272.0, 0.0, 4.0},
|
208
|
+
{ 1, 0, 2,-2,1, 5800.0, 10.0, 2.0, -3045.0, 0.0, -1.0},
|
209
|
+
{ 2, 0, 2,-2,2, 6443.0, 0.0, -7.0, -2768.0, 0.0, -4.0},
|
210
|
+
{-2, 0, 0, 2,1, -5774.0, -11.0, -15.0, 3041.0, 0.0, -5.0},
|
211
|
+
{ 2, 0, 2, 0,1, -5350.0, 0.0, 21.0, 2695.0, 0.0, 12.0},
|
212
|
+
{ 0,-1, 2,-2,1, -4752.0, -11.0, -3.0, 2719.0, 0.0, -3.0},
|
213
|
+
{ 0, 0, 0,-2,1, -4940.0, -11.0, -21.0, 2720.0, 0.0, -9.0},
|
214
|
+
{-1,-1, 0, 2,0, 7350.0, 0.0, -8.0, -51.0, 0.0, 4.0},
|
215
|
+
{ 2, 0, 0,-2,1, 4065.0, 0.0, 6.0, -2206.0, 0.0, 1.0},
|
216
|
+
{ 1, 0, 0, 2,0, 6579.0, 0.0, -24.0, -199.0, 0.0, 2.0},
|
217
|
+
|
218
|
+
/* 51-60 */
|
219
|
+
{ 0, 1, 2,-2,1, 3579.0, 0.0, 5.0, -1900.0, 0.0, 1.0},
|
220
|
+
{ 1,-1, 0, 0,0, 4725.0, 0.0, -6.0, -41.0, 0.0, 3.0},
|
221
|
+
{-2, 0, 2, 0,2, -3075.0, 0.0, -2.0, 1313.0, 0.0, -1.0},
|
222
|
+
{ 3, 0, 2, 0,2, -2904.0, 0.0, 15.0, 1233.0, 0.0, 7.0},
|
223
|
+
{ 0,-1, 0, 2,0, 4348.0, 0.0, -10.0, -81.0, 0.0, 2.0},
|
224
|
+
{ 1,-1, 2, 0,2, -2878.0, 0.0, 8.0, 1232.0, 0.0, 4.0},
|
225
|
+
{ 0, 0, 0, 1,0, -4230.0, 0.0, 5.0, -20.0, 0.0, -2.0},
|
226
|
+
{-1,-1, 2, 2,2, -2819.0, 0.0, 7.0, 1207.0, 0.0, 3.0},
|
227
|
+
{-1, 0, 2, 0,0, -4056.0, 0.0, 5.0, 40.0, 0.0, -2.0},
|
228
|
+
{ 0,-1, 2, 2,2, -2647.0, 0.0, 11.0, 1129.0, 0.0, 5.0},
|
229
|
+
|
230
|
+
/* 61-70 */
|
231
|
+
{-2, 0, 0, 0,1, -2294.0, 0.0, -10.0, 1266.0, 0.0, -4.0},
|
232
|
+
{ 1, 1, 2, 0,2, 2481.0, 0.0, -7.0, -1062.0, 0.0, -3.0},
|
233
|
+
{ 2, 0, 0, 0,1, 2179.0, 0.0, -2.0, -1129.0, 0.0, -2.0},
|
234
|
+
{-1, 1, 0, 1,0, 3276.0, 0.0, 1.0, -9.0, 0.0, 0.0},
|
235
|
+
{ 1, 1, 0, 0,0, -3389.0, 0.0, 5.0, 35.0, 0.0, -2.0},
|
236
|
+
{ 1, 0, 2, 0,0, 3339.0, 0.0, -13.0, -107.0, 0.0, 1.0},
|
237
|
+
{-1, 0, 2,-2,1, -1987.0, 0.0, -6.0, 1073.0, 0.0, -2.0},
|
238
|
+
{ 1, 0, 0, 0,2, -1981.0, 0.0, 0.0, 854.0, 0.0, 0.0},
|
239
|
+
{-1, 0, 0, 1,0, 4026.0, 0.0, -353.0, -553.0, 0.0,-139.0},
|
240
|
+
{ 0, 0, 2, 1,2, 1660.0, 0.0, -5.0, -710.0, 0.0, -2.0},
|
241
|
+
|
242
|
+
/* 71-77 */
|
243
|
+
{-1, 0, 2, 4,2, -1521.0, 0.0, 9.0, 647.0, 0.0, 4.0},
|
244
|
+
{-1, 1, 0, 1,1, 1314.0, 0.0, 0.0, -700.0, 0.0, 0.0},
|
245
|
+
{ 0,-2, 2,-2,1, -1283.0, 0.0, 0.0, 672.0, 0.0, 0.0},
|
246
|
+
{ 1, 0, 2, 2,1, -1331.0, 0.0, 8.0, 663.0, 0.0, 4.0},
|
247
|
+
{-2, 0, 2, 2,2, 1383.0, 0.0, -2.0, -594.0, 0.0, -2.0},
|
248
|
+
{-1, 0, 0, 0,2, 1405.0, 0.0, 4.0, -610.0, 0.0, 2.0},
|
249
|
+
{ 1, 1, 2,-2,2, 1290.0, 0.0, 0.0, -556.0, 0.0, 0.0}
|
250
|
+
};
|
251
|
+
|
252
|
+
/* Number of terms in the series */
|
253
|
+
const int NLS = (int) (sizeof x / sizeof x[0]);
|
254
|
+
|
255
|
+
/*--------------------------------------------------------------------*/
|
256
|
+
|
257
|
+
/* Interval between fundamental epoch J2000.0 and given date (JC). */
|
258
|
+
t = ((date1 - DJ00) + date2) / DJC;
|
259
|
+
|
260
|
+
/* --------------------*/
|
261
|
+
/* LUNI-SOLAR NUTATION */
|
262
|
+
/* --------------------*/
|
263
|
+
|
264
|
+
/* Fundamental (Delaunay) arguments from Simon et al. (1994) */
|
265
|
+
|
266
|
+
/* Mean anomaly of the Moon. */
|
267
|
+
el = fmod(485868.249036 + (1717915923.2178) * t, TURNAS) * DAS2R;
|
268
|
+
|
269
|
+
/* Mean anomaly of the Sun. */
|
270
|
+
elp = fmod(1287104.79305 + (129596581.0481) * t, TURNAS) * DAS2R;
|
271
|
+
|
272
|
+
/* Mean argument of the latitude of the Moon. */
|
273
|
+
f = fmod(335779.526232 + (1739527262.8478) * t, TURNAS) * DAS2R;
|
274
|
+
|
275
|
+
/* Mean elongation of the Moon from the Sun. */
|
276
|
+
d = fmod(1072260.70369 + (1602961601.2090) * t, TURNAS) * DAS2R;
|
277
|
+
|
278
|
+
/* Mean longitude of the ascending node of the Moon. */
|
279
|
+
om = fmod(450160.398036 + (-6962890.5431) * t, TURNAS) * DAS2R;
|
280
|
+
|
281
|
+
/* Initialize the nutation values. */
|
282
|
+
dp = 0.0;
|
283
|
+
de = 0.0;
|
284
|
+
|
285
|
+
/* Summation of luni-solar nutation series (smallest terms first). */
|
286
|
+
for (i = NLS-1; i >= 0; i--) {
|
287
|
+
|
288
|
+
/* Argument and functions. */
|
289
|
+
arg = fmod( (double)x[i].nl * el +
|
290
|
+
(double)x[i].nlp * elp +
|
291
|
+
(double)x[i].nf * f +
|
292
|
+
(double)x[i].nd * d +
|
293
|
+
(double)x[i].nom * om, D2PI );
|
294
|
+
sarg = sin(arg);
|
295
|
+
carg = cos(arg);
|
296
|
+
|
297
|
+
/* Term. */
|
298
|
+
dp += (x[i].ps + x[i].pst * t) * sarg + x[i].pc * carg;
|
299
|
+
de += (x[i].ec + x[i].ect * t) * carg + x[i].es * sarg;
|
300
|
+
}
|
301
|
+
|
302
|
+
/* Convert from 0.1 microarcsec units to radians. */
|
303
|
+
dpsils = dp * U2R;
|
304
|
+
depsls = de * U2R;
|
305
|
+
|
306
|
+
/* ------------------------------*/
|
307
|
+
/* IN LIEU OF PLANETARY NUTATION */
|
308
|
+
/* ------------------------------*/
|
309
|
+
|
310
|
+
/* Fixed offset to correct for missing terms in truncated series. */
|
311
|
+
dpsipl = DPPLAN;
|
312
|
+
depspl = DEPLAN;
|
313
|
+
|
314
|
+
/* --------*/
|
315
|
+
/* RESULTS */
|
316
|
+
/* --------*/
|
317
|
+
|
318
|
+
/* Add luni-solar and planetary components. */
|
319
|
+
*dpsi = dpsils + dpsipl;
|
320
|
+
*deps = depsls + depspl;
|
321
|
+
|
322
|
+
return;
|
323
|
+
|
324
|
+
/*----------------------------------------------------------------------
|
325
|
+
**
|
326
|
+
** Celes is a wrapper of the SOFA Library for Ruby.
|
327
|
+
**
|
328
|
+
** This file is redistributed and relicensed in accordance with
|
329
|
+
** the SOFA Software License (http://www.iausofa.org/tandc.html).
|
330
|
+
**
|
331
|
+
** The original library is available from IAU Standards of
|
332
|
+
** Fundamental Astronomy (http://www.iausofa.org/).
|
333
|
+
**
|
334
|
+
**
|
335
|
+
**
|
336
|
+
**
|
337
|
+
**
|
338
|
+
** Copyright (C) 2013, Naoki Arita
|
339
|
+
** All rights reserved.
|
340
|
+
**
|
341
|
+
** Redistribution and use in source and binary forms, with or without
|
342
|
+
** modification, are permitted provided that the following conditions
|
343
|
+
** are met:
|
344
|
+
**
|
345
|
+
** 1 Redistributions of source code must retain the above copyright
|
346
|
+
** notice, this list of conditions and the following disclaimer.
|
347
|
+
**
|
348
|
+
** 2 Redistributions in binary form must reproduce the above copyright
|
349
|
+
** notice, this list of conditions and the following disclaimer in
|
350
|
+
** the documentation and/or other materials provided with the
|
351
|
+
** distribution.
|
352
|
+
**
|
353
|
+
** 3 Neither the name of the Standards Of Fundamental Astronomy Board,
|
354
|
+
** the International Astronomical Union nor the names of its
|
355
|
+
** contributors may be used to endorse or promote products derived
|
356
|
+
** from this software without specific prior written permission.
|
357
|
+
**
|
358
|
+
** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
359
|
+
** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
360
|
+
** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
|
361
|
+
** FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
|
362
|
+
** COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
|
363
|
+
** INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
|
364
|
+
** BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
365
|
+
** LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
|
366
|
+
** CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
|
367
|
+
** LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
|
368
|
+
** ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
369
|
+
** POSSIBILITY OF SUCH DAMAGE.
|
370
|
+
**
|
371
|
+
**--------------------------------------------------------------------*/
|
372
|
+
}
|
@@ -0,0 +1,153 @@
|
|
1
|
+
#include "sofam.h"
|
2
|
+
|
3
|
+
void iauNut06a(double date1, double date2, double *dpsi, double *deps)
|
4
|
+
/*
|
5
|
+
** - - - - - - - - - -
|
6
|
+
** i a u N u t 0 6 a
|
7
|
+
** - - - - - - - - - -
|
8
|
+
**
|
9
|
+
** IAU 2000A nutation with adjustments to match the IAU 2006
|
10
|
+
** precession.
|
11
|
+
**
|
12
|
+
** Given:
|
13
|
+
** date1,date2 double TT as a 2-part Julian Date (Note 1)
|
14
|
+
**
|
15
|
+
** Returned:
|
16
|
+
** dpsi,deps double nutation, luni-solar + planetary (Note 2)
|
17
|
+
**
|
18
|
+
** Status: canonical model.
|
19
|
+
**
|
20
|
+
** Notes:
|
21
|
+
**
|
22
|
+
** 1) The TT date date1+date2 is a Julian Date, apportioned in any
|
23
|
+
** convenient way between the two arguments. For example,
|
24
|
+
** JD(TT)=2450123.7 could be expressed in any of these ways,
|
25
|
+
** among others:
|
26
|
+
**
|
27
|
+
** date1 date2
|
28
|
+
**
|
29
|
+
** 2450123.7 0.0 (JD method)
|
30
|
+
** 2451545.0 -1421.3 (J2000 method)
|
31
|
+
** 2400000.5 50123.2 (MJD method)
|
32
|
+
** 2450123.5 0.2 (date & time method)
|
33
|
+
**
|
34
|
+
** The JD method is the most natural and convenient to use in
|
35
|
+
** cases where the loss of several decimal digits of resolution
|
36
|
+
** is acceptable. The J2000 method is best matched to the way
|
37
|
+
** the argument is handled internally and will deliver the
|
38
|
+
** optimum resolution. The MJD method and the date & time methods
|
39
|
+
** are both good compromises between resolution and convenience.
|
40
|
+
**
|
41
|
+
** 2) The nutation components in longitude and obliquity are in radians
|
42
|
+
** and with respect to the mean equinox and ecliptic of date,
|
43
|
+
** IAU 2006 precession model (Hilton et al. 2006, Capitaine et al.
|
44
|
+
** 2005).
|
45
|
+
**
|
46
|
+
** 3) The function first computes the IAU 2000A nutation, then applies
|
47
|
+
** adjustments for (i) the consequences of the change in obliquity
|
48
|
+
** from the IAU 1980 ecliptic to the IAU 2006 ecliptic and (ii) the
|
49
|
+
** secular variation in the Earth's dynamical form factor J2.
|
50
|
+
**
|
51
|
+
** 4) The present function provides classical nutation, complementing
|
52
|
+
** the IAU 2000 frame bias and IAU 2006 precession. It delivers a
|
53
|
+
** pole which is at current epochs accurate to a few tens of
|
54
|
+
** microarcseconds, apart from the free core nutation.
|
55
|
+
**
|
56
|
+
** Called:
|
57
|
+
** iauNut00a nutation, IAU 2000A
|
58
|
+
**
|
59
|
+
** References:
|
60
|
+
**
|
61
|
+
** Chapront, J., Chapront-Touze, M. & Francou, G. 2002,
|
62
|
+
** Astron.Astrophys. 387, 700
|
63
|
+
**
|
64
|
+
** Lieske, J.H., Lederle, T., Fricke, W. & Morando, B. 1977,
|
65
|
+
** Astron.Astrophys. 58, 1-16
|
66
|
+
**
|
67
|
+
** Mathews, P.M., Herring, T.A., Buffet, B.A. 2002, J.Geophys.Res.
|
68
|
+
** 107, B4. The MHB_2000 code itself was obtained on 9th September
|
69
|
+
** 2002 from ftp//maia.usno.navy.mil/conv2000/chapter5/IAU2000A.
|
70
|
+
**
|
71
|
+
** Simon, J.-L., Bretagnon, P., Chapront, J., Chapront-Touze, M.,
|
72
|
+
** Francou, G., Laskar, J. 1994, Astron.Astrophys. 282, 663-683
|
73
|
+
**
|
74
|
+
** Souchay, J., Loysel, B., Kinoshita, H., Folgueira, M. 1999,
|
75
|
+
** Astron.Astrophys.Supp.Ser. 135, 111
|
76
|
+
**
|
77
|
+
** Wallace, P.T., "Software for Implementing the IAU 2000
|
78
|
+
** Resolutions", in IERS Workshop 5.1 (2002)
|
79
|
+
**
|
80
|
+
** This revision: 2011 April 3
|
81
|
+
**
|
82
|
+
** Original version 2012-03-01
|
83
|
+
**
|
84
|
+
** Copyright (C) 2013 Naoki Arita. See notes at end.
|
85
|
+
*/
|
86
|
+
{
|
87
|
+
double t, fj2, dp, de;
|
88
|
+
|
89
|
+
|
90
|
+
/* Interval between fundamental date J2000.0 and given date (JC). */
|
91
|
+
t = ((date1 - DJ00) + date2) / DJC;
|
92
|
+
|
93
|
+
/* Factor correcting for secular variation of J2. */
|
94
|
+
fj2 = -2.7774e-6 * t;
|
95
|
+
|
96
|
+
/* Obtain IAU 2000A nutation. */
|
97
|
+
iauNut00a(date1, date2, &dp, &de);
|
98
|
+
|
99
|
+
/* Apply P03 adjustments (Wallace & Capitaine, 2006, Eqs.5). */
|
100
|
+
*dpsi = dp + dp * (0.4697e-6 + fj2);
|
101
|
+
*deps = de + de * fj2;
|
102
|
+
|
103
|
+
return;
|
104
|
+
|
105
|
+
/*----------------------------------------------------------------------
|
106
|
+
**
|
107
|
+
** Celes is a wrapper of the SOFA Library for Ruby.
|
108
|
+
**
|
109
|
+
** This file is redistributed and relicensed in accordance with
|
110
|
+
** the SOFA Software License (http://www.iausofa.org/tandc.html).
|
111
|
+
**
|
112
|
+
** The original library is available from IAU Standards of
|
113
|
+
** Fundamental Astronomy (http://www.iausofa.org/).
|
114
|
+
**
|
115
|
+
**
|
116
|
+
**
|
117
|
+
**
|
118
|
+
**
|
119
|
+
** Copyright (C) 2013, Naoki Arita
|
120
|
+
** All rights reserved.
|
121
|
+
**
|
122
|
+
** Redistribution and use in source and binary forms, with or without
|
123
|
+
** modification, are permitted provided that the following conditions
|
124
|
+
** are met:
|
125
|
+
**
|
126
|
+
** 1 Redistributions of source code must retain the above copyright
|
127
|
+
** notice, this list of conditions and the following disclaimer.
|
128
|
+
**
|
129
|
+
** 2 Redistributions in binary form must reproduce the above copyright
|
130
|
+
** notice, this list of conditions and the following disclaimer in
|
131
|
+
** the documentation and/or other materials provided with the
|
132
|
+
** distribution.
|
133
|
+
**
|
134
|
+
** 3 Neither the name of the Standards Of Fundamental Astronomy Board,
|
135
|
+
** the International Astronomical Union nor the names of its
|
136
|
+
** contributors may be used to endorse or promote products derived
|
137
|
+
** from this software without specific prior written permission.
|
138
|
+
**
|
139
|
+
** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
140
|
+
** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
141
|
+
** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
|
142
|
+
** FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
|
143
|
+
** COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
|
144
|
+
** INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
|
145
|
+
** BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
146
|
+
** LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
|
147
|
+
** CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
|
148
|
+
** LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
|
149
|
+
** ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
150
|
+
** POSSIBILITY OF SUCH DAMAGE.
|
151
|
+
**
|
152
|
+
**--------------------------------------------------------------------*/
|
153
|
+
}
|