readme.aa

来自「c源码」· AA 代码 · 共 497 行 · 第 1/2 页

AA
497
字号
                    AA.ARC v5.5   This program computes the orbital positions of planetarybodies and performs rigorous coordinate reductions to apparentgeocentric and topocentric place (local altitude and azimuth).It also reduces star catalogue positions given in either the FK4or FK5 system.  Most of the algorithms employed are from TheAstronomical Almanac (AA) published by the U.S. GovernmentPrinting Office.   Source code listings in C language are supplied in the fileaa.arc.  The file aaexe.arc contains an IBM PC executableversion.              Reduction of Celestial Coordinates   aa.exe follows the rigorous algorithms for reduction ofcelestial coordinates exactly as laid out in current editions ofthe Astronomical Almanac.  The reduction to apparent geocentricplace has been checked by a special version of the program (aa200)that takes planetary positions directly from the Jet PropulsionLaboratory DE200 numerical integration of the solar system. Theresults agree exactly with the Astronomical Almanac tables from1987 onward (earlier Almanacs used slightly different reductionmethods).   Certain computations, such as the correction for nutation,are not given explicitly in the AA but are referenced there. Inthese cases the program performs the full computations that areused to construct the Almanac tables (see the references at theend of this document).              Running the Program   Command input to aa.exe is by single line responses toprogrammed prompts. The program requests date, time, and whichof a menu of things to do.  Menu item 0 is the Sun, 3 is theMoon.  The other values 1-9 are planets; 99 opens an orbitcatalogue file; 88 opens a star catalogue. Each prompt indicatesthe last response you entered; this will be kept if you enterjust a carriage return.    Input can also be redirected to come from an ASCII file.  For example,invoking the program by "aa <command.txt >answer.txt" reads commandsfrom the file command.txt and writes answers to answer.txt.  Menuitem -1 causes the program to exit gracefully, closing the outputfile.   Entering line 0 for a star catalogue causes a jump back to thetop of the program.              Initialization         The following items will be read in automatically from a disc filenamed aa.ini, if one is provided.  The file contains one ASCIIstring number per line so is easily edited.  A sample initializationfile is supplied.Terrestrial longitude of observer, degrees East of GreenwichGeodetic latitude of observer (program calculates astronomical latitude)Height above sea level, metersAtmospheric temperature, degrees CentigradeAtmospheric pressure, millibarsInput time type: 1 = TDT, 2 = UT, 0 = TDT set equal to UTValue to use for deltaT, seconds; if 0 then the program will compute it.              Orbit Computations   Several methods of calculating the positions of the planetshave been provided for in the program source code.  These rangein accuracy from a built-in computation using perturbation formulaeto a solution from precise orbital elements that you supply froman almanac.   The program uses as a default a set of trigonometricexpansions for the position of the Earth and planets.  These havebeen adjusted to match the Jet Propulsion Laboratory's DE404 LongEphemeris (1995) with a precision ranging from about 0.1" for theEarth to 1" for Pluto. The adjustment was carried out on theinterval from 3000 B.C. to 3000 A.D. for the outer planets.  Theadjustment for the inner planets is strictly valid only from 1350B.C. to 3000 A.D., but may be used to 3000 B.C. with some loss ofprecision.  See "readme.404" for additional information.  The trueaccuracy of positions calculated for prehistoric or future datesis of course unknown.   The Moon's position is calculated by a modified version of thelunar theory of Chapront-Touze' and Chapront.  This has a precisionof 0.5 arc second relative to DE404 for all dates between1369 B.C. and 3000 A.D.  The real position of the Moon in ancienttimes is not actually known this accurately, due to uncertaintyin the tidal acceleration of the Moon's orbit.   In the absence of an interpolated polynomial ephemeris suchas the DE200, the highest accuracy for current planetarypositions is achieved by using the heliocentric orbital elementsthat are published in the Astronomical Almanac. If preciseorbital elements are provided for the desired epoch then theapparent place should be found to agree very closely withAlmanac tabulations.   Entering 99 for the planet number generates a prompt for thename of a file containing human-readable ASCII strings specifyingthe elements of orbits. The items in the specification are(see also the example file orbit.cat):   First line of entry:epoch of orbital elements (Julian date)inclinationlongitude of the ascending nodeargument of the perihelionmean distance (semimajor axis) in audaily motion   Second line of entry:eccentricitymean anomalyepoch of equinox and ecliptic, Julian datevisual magnitude B(1,0) at 1AU from earth and sunequatorial semidiameter at 1au, arc secondsname of the object, up to 15 charactersAngles in the above are in degrees except as noted.  Severalsample orbits are supplied in the file orbit.cat.  If you readin an orbit named "Earth" the program will install the Earthorbit, then loop back and ask for an orbit number again.  The entry for daily motion is optional.  It will be calculatedby the program if it is set equal to 0.0 in your catalogue.Almanac values of daily motion recognize the nonzero mass of theorbiting planet; the program's calculation will assume the massis zero.  Mean distance, for an elliptical orbit, is the length of thesemi-major axis of the ellipse. If the eccentricity is given tobe 1.0, the orbit is parabolic and the "mean distance" item istaken to be the perihelion distance.  Similarly a hyperbolicorbit has eccentricity > 1.0 and "mean distance" is againinterpreted to mean perihelion distance.  In both these cases,the "epoch" is the perihelion date, and the mean anomaly isset to 0.0 in your catalogue.  Elliptical cometary orbits are usually catalogued in terms ofperihelion distance also, but you must convert this to meandistance to be understood by the program. Use the formula  mean distance = perihelion distance / (1 - eccentricity)to calculate the value to be entered in your catalogue for anelliptical orbit.  The epoch of the orbital elements refers particularly to thedate to which the given mean anomaly applies.  Published datafor comets often give the time of perihelion passage as acalendar date and fraction of a day in Ephemeris Time.  Totranslate this into a Julian date for your catalogue entry, runaa.exe, type in the published date and decimal fraction of aday, and note the displayed Julian date. This is the correctJulian Ephemeris Date of the epoch for your catalogue entry.Example (Sky & Telescope, March 1991, page 297): Comet Levy1990c had a perihelion date given as 1990 Oct 24.68664 ET.  Asyou are prompted separately for the year, month, and day, enter1990, 10, 24.68664 into the program. This date and fractiontranslates to JED 2448189.18664.  For comparison purposes, notethat published ephemerides for comets usually give astrometricpositions, not apparent positions.              Ephemeris Time and Other Time Scales   Exercise care about time scales when comparing results againstan almanac.  The orbit program assumes input date is EphemerisTime (ET or TDT).  Topocentric altitude and azimuth arecalculated from Universal Time (UT).  The program convertsbetween the two as required, but you must indicate whether yourinput entry is TDT or UT.  This is done by the entry for inputtime type in aa.ini.  If you are comparing positions againstalmanac values, you probably want TDT.  If you are looking up atthe sky, you probably want UT.  Ephemeris transit times can beobtained by declaring TDT = UT.  The adjustment for deltaT = ETminus UT is accurate for the years 1620 through 2011, as thecomplete tabulation from the Astronomical Almanac is included inthe program. Outside this range of years, approximate formulasare used to estimate deltaT.  These formulas are based onanalyses of eclipse records going back to ancient times(Stephenson and Houlden, 1986; Borkowski, 1988) but they do notpredict future values very accurately.  For precise calculations,you should update the table in deltat.c from the current year'sAlmanac. Note the civil time of day is UTC, which is adjusted byintegral leap seconds to be within 0.9 second of UT.   Updated deltaT predictions can be obtained from this network archive:       ftp://maia.usno.navy.mil/ser7/deltat.preds   In addition, the IAU has adopted several other definitions oftime, but this program does not distinguish among them.  TheInternational Earth Rotation Service is in charge of UT. Precisedata on Earth orientation are available at the IERS anonymous ftpsite mesiom.obspm.fr.              Rise and Set Times   Each calculation of the time of local rising, meridian transit, andsetting includes a first order correction for the motion in rightascension and declination of the object between the entered input timeand the time of the event.  Even so, the calculation has to beiterated, or repeated with successively closer estimates of the eventtime.  In view of the first order correction the iteration has asecond-order convergence characteristic and arrives at a preciseresult in just two or three steps.   The program reports the transit that is nearest to the input time.Rise and set times ordinarily precede and follow the transit.  Checkthe date displayed next to the rise, set, or transit time to be surethe results are for the desired date and not for the previous or nextcalendar day.  For the Sun and Moon, rise and set times are for theupper limb of the disc; but the indicated topocentric altitude alwaysrefers to the center of the disc.  The computed event times includethe effects of diurnal aberration and parallax.   Age of the Moon, in days from the nearest Quarter, also has acorrection for orbital motion, but does not get the benefit ofiterative improvement and may be off by 0.1 day (the stated Quarter isalways correct, however). The estimated time can be made much moreprecise by entering the input date and time of day to be near the timeof the event.  In other words, the rigorous calculation requiresiterating on the time; in this case the program does not do soautomatically, hence if you want maximum accuracy you must do theiteration by hand.              Ocean Tides   The time of high tide is easy to estimate with an accuracy of a fewminutes.  The tide occurs slightly ahead of the local meridian transitof the Moon.  The time difference between tide and transit does notvary much at a fixed location.  You can calibrate this difference foryour location by checking the local newspaper for tide times andsubtracting off the time of the meridian transit.  Then the tides onany other date bear the same time offsets to the transit on that date.    Predicting the height of the tide is much more difficult.The calculations are about as complicated as planetary theory.              Stars   Positions and proper motions of the 57 navigational starswere taken from the Fifth Fundamental Catalogue (FK5). They arein the file star.cat.  For all of these, the program's output ofastrometric position agreed with the 1986 AA to the precision of

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?