Commit Graph

2227 Commits

Author SHA1 Message Date
Don Cross
c9b4434af2 Removed obsolete batch file. 2019-05-23 07:44:27 -04:00
Don Cross
4982da4307 Added unit tests for C functions SearchRiseSet, SearchHourAngle. 2019-05-22 13:44:46 -04:00
Don Cross
eef7900b65 Parsing rise/set data but not doing anything with it yet. 2019-05-21 21:46:42 -04:00
Don Cross
442b07b7c2 Work in progress: adding C riseset test. 2019-05-21 21:37:17 -04:00
Don Cross
04f79df33c Minor tidying of output format in VSOP, Chebyshev searches. 2019-05-21 21:29:27 -04:00
Don Cross
329e78bca3 Updated C unit tests for Windows. 2019-05-21 21:18:26 -04:00
Don Cross
83d909751e Implemented C function SearchRiseSet, but not yet implemented. 2019-05-21 21:09:59 -04:00
Don Cross
9dfc3dee69 Implemented C function SearchHourAngle, but not yet tested. 2019-05-21 20:17:59 -04:00
Don Cross
a81c214514 CheckTestOutput no longer prints summaries when there is only one body row. 2019-05-21 19:53:46 -04:00
Don Cross
608d0c6477 JS output files in temp directory now all begin with js_. 2019-05-21 19:45:39 -04:00
Don Cross
dbd8c60e15 Added more unit tests for C function SearchRelativeLongitude. 2019-05-21 17:16:44 -04:00
Don Cross
86dad96ef0 Validated C functions: EclipticLongitude, SearchMaxElongation, SearchRelativeLongitude, Elongation, AngleFromSun.
Also realized I was only verifying JS max elongation angles to be within 1 degree.
Tightened that to 4 arcmin.
2019-05-21 16:22:51 -04:00
Don Cross
bc3f4513e8 Forgot to increment line number in TestElongFile. 2019-05-21 15:24:54 -04:00
Don Cross
09fc1a5d4d Updated comments. 2019-05-21 15:21:18 -04:00
Don Cross
daf2dddcce Validated C function SearchRelativeLongitude. 2019-05-21 15:20:18 -04:00
Don Cross
3557d3b8af Implemented C functions EclipticLongitude, SearchMaxElongation, SearchRelativeLongitude.
Work in progress. Not yet tested.
2019-05-21 14:21:44 -04:00
Don Cross
76527b5453 Implemented C function Elongation, but not yet tested. 2019-05-21 12:37:20 -04:00
Don Cross
27058b85ee Added time error verification for C unit tests of SearchMoonQuarter, NextMoonQuarter. 2019-05-21 12:17:34 -04:00
Don Cross
665be9c516 Fixed bug calculating moon phases in new C code. 2019-05-21 12:00:55 -04:00
Don Cross
80e4fb8b00 Work in progress: C functions SearchMoonQuarter, NextMoonQuarter. 2019-05-21 11:42:55 -04:00
Don Cross
020e12d8ce C function SearchMoonPhase in progress. Refactored Search so functions can return errors. 2019-05-21 11:22:51 -04:00
Don Cross
fb99989231 Validated C functions MoonPhase, LongitudeFromSun, Ecliptic. 2019-05-21 10:27:12 -04:00
Don Cross
e798e1bb80 Work in progress: C moon phase unit test. 2019-05-21 10:17:59 -04:00
Don Cross
4513036af0 Added C function MoonPhase, but not tested yet. 2019-05-21 08:36:58 -04:00
Don Cross
bf92445e5a Simplified moon_phase_test.js.
Call MoonPhase instead of doing the same calculations in the unit test.
This increases test coverage and eliminates redundant logic.
2019-05-21 08:34:23 -04:00
Don Cross
2a55fec838 Fixed bug causing bogus ctest failure. 2019-05-20 21:52:56 -04:00
Don Cross
d918c641d0 Fixed output filename js_check.txt 2019-05-20 21:48:53 -04:00
Don Cross
1ccfae71c8 Updated Windows run.bat for C seasons test. 2019-05-20 21:46:17 -04:00
Don Cross
4ac847676a Implemented C function LongitudeFromSun, but not tested yet. 2019-05-20 17:07:08 -04:00
Don Cross
10aa2d7317 Implemented C function Ecliptic, but not tested yet. 2019-05-20 16:51:53 -04:00
Don Cross
aacc680b0e Implemented C function AngleFromSun, but not tested yet. 2019-05-20 16:41:54 -04:00
Don Cross
9e9b9420f3 Implemented unit test for C function Seasons.
This also validates the Search function and Sun longitude calculation.
2019-05-20 16:00:21 -04:00
Don Cross
78e46bdaad Starting to implement C seasons test. Work in progress. 2019-05-20 15:37:48 -04:00
Don Cross
87e65b43d7 Implemented C function Seasons, but not yet tested. 2019-05-20 15:23:15 -04:00
Don Cross
468319b71d Implemented C function SearchSunLongitude, but not tested yet. 2019-05-20 15:08:17 -04:00
Don Cross
999583a989 Implemented C function Search. Not yet tested. 2019-05-20 14:53:51 -04:00
Don Cross
528dad54cf Implemented C function SunPosition. Not yet tested. 2019-05-20 14:02:29 -04:00
Don Cross
d2cab3eb2b Compare C check output with JS check output. Fail if they differ significantly. 2019-05-20 12:37:29 -04:00
Don Cross
42945d08b6 Instead of searching for executables, generate them in a known location.
I found out by accident that OUTDIR environment variable tells msbuild
where to put executables. Taking advantage of this so I can control
where generate.exe and ctest.exe end up, instead of having to search for them.
2019-05-19 21:49:40 -04:00
Don Cross
57a4f3d694 Fixed problem with second call to build.bat.
I didn't know that OUTDIR is a magic environment variable
that changes where msbuild puts executables.
That could be handy to know. In fact, maybe I should just use
that instead of searching for executables.
2019-05-19 21:40:36 -04:00
Don Cross
7d4047429a Fixed #38 - Run C unit tests on Windows. 2019-05-19 21:29:31 -04:00
Don Cross
2e9f2918bd JS: Replaced SkyPos with Equator function.
This is a refactoring to follow suit with what I did in the C
version of the code. It improves accuracy by using different
geocentric vector calculations for j2000 and ofdate equatorial
coordinates. Allow optional aberration corrections.
2019-05-19 18:12:01 -04:00
Don Cross
5f5d67d8da C: Eliminated SkyPos and added Equator function to do its work.
SkyPos was doing 2 different calculations and mashing them together.
Created a more general Equator function that does both jobs one at a time.
Equator can enable/disable rotation to of-date coordinates (precession+nutation)
and enable/disable aberration correction.

Equatorial coordinate type astro_equatorial_t now has a status field
just like astro_vector_t, so we can report errors.
2019-05-19 17:15:19 -04:00
Don Cross
d48759bd35 Fixing SkyPos to have lower error compared with NOVAS.
I have figured out how to make a simple correction for aberration
when calculating geocentric vectors.
To include aberration, not only do I back-date the heliocentric
position of the observed body, but I also backdate the
heliocentric position of the Earth by the same amount of time.
This works because for time periods of a few hours or less,
it is a very good approximation for the aberration angle asin(v/c).

To match NOVAS, astrometric coordinates used for J2000 return value
must exclude the aberration correction, while of-date coordinates
must include aberration.

This requires changing the parameters passed in to SkyPos.
I will have to circle back and make the same changes in the
JavaScript code.

This significantly reduces horizontal angular errors for the planets.
2019-05-19 15:54:14 -04:00
Don Cross
c5d2beb40b Break out error stats by remote body. 2019-05-19 14:04:27 -04:00
Don Cross
2007c2f673 Data check prints RMS angular errors in addition to max angular errors. 2019-05-19 12:34:28 -04:00
Don Cross
dd86ee5dfe Improved error summary output. Renamed variables to be more precise. 2019-05-19 10:13:09 -04:00
Don Cross
5294318074 Data checker now provides more detailed breakdown of angular errors.
Instead of lumping all angular errors together, tally maximum errors
separately for heliocentric vectors, geocentric vectors, horizontal
angular coordinates, and ecliptic angular coordinates.

This is to help me ensure that as I make improvements for aberration,
I don't make other things worse.
2019-05-19 09:56:38 -04:00
Don Cross
f8bb7f1faf C version: implemented heliocentric calculation of Moon's position. 2019-05-19 09:18:13 -04:00
Don Cross
7eb8691e5a C version of GeoVector now works for the Moon. 2019-05-19 08:23:32 -04:00