Files
astro/basic/moon_test.go
T

826 lines
54 KiB
Go
Raw Normal View History

2019-10-24 10:44:21 +08:00
package basic
import (
2026-05-01 22:38:44 +08:00
"errors"
"math"
2019-10-24 10:44:21 +08:00
"testing"
)
2022-01-04 14:24:44 +08:00
func Benchmark_MoonRiseBench(b *testing.B) {
jde := GetNowJDE()
for i := 0; i < b.N; i++ {
2022-05-12 15:55:48 +08:00
GetMoonRiseTime(jde, 105, 40, 8, 0, 10)
2022-01-04 14:24:44 +08:00
}
2025-09-15 20:55:38 +08:00
}
// MoonRiseSetTestCase 月出月落测试用例
type MoonRiseSetTestCase struct {
Year int
Month int
Day float64
Longitude float64
Latitude float64
TimeZone float64
ZenithShift float64
Height float64
ExpectedRise float64
ExpectedSet float64
}
// moonRiseSetTestData 月出月落测试数据。ZenithShift=1 的数值来自旧的固定
// -0.83333 度口径,仅用于防止事件跳到相邻周期;动态折射精度由外部基线测试约束。
2025-09-15 20:55:38 +08:00
var moonRiseSetTestData = []MoonRiseSetTestCase{
{2023, 1, 15.0, 116.4074, 39.9042, 8.0, 0, 0, 2459959.512554, 2459959.985385},
{2023, 1, 15.0, 116.4074, 39.9042, 8.0, 0, 100, 2459959.511326, 2459959.986593},
{2023, 1, 15.0, 116.4074, 39.9042, 8.0, 0, 1000, 2459959.508675, 2459959.989201},
{2023, 1, 15.0, 116.4074, 39.9042, 8.0, 1, 0, 2459959.509370, 2459959.988518},
{2023, 1, 15.0, 116.4074, 39.9042, 8.0, 1, 100, 2459959.508144, 2459959.989724},
{2023, 1, 15.0, 116.4074, 39.9042, 8.0, 1, 1000, 2459959.505497, 2459959.992326},
{2023, 3, 20.0, 116.4074, 39.9042, 8.0, 0, 0, 2460023.743580, 2460024.190959},
{2023, 3, 20.0, 116.4074, 39.9042, 8.0, 0, 100, 2460023.742322, 2460024.192231},
{2023, 3, 20.0, 116.4074, 39.9042, 8.0, 0, 1000, 2460023.739608, 2460024.194976},
{2023, 3, 20.0, 116.4074, 39.9042, 8.0, 1, 0, 2460023.740319, 2460024.194257},
{2023, 3, 20.0, 116.4074, 39.9042, 8.0, 1, 100, 2460023.739065, 2460024.195525},
{2023, 3, 20.0, 116.4074, 39.9042, 8.0, 1, 1000, 2460023.736362, 2460024.198261},
{2023, 6, 21.0, 116.4074, 39.9042, 8.0, 0, 0, 2460116.797519, 2460117.432130},
{2023, 6, 21.0, 116.4074, 39.9042, 8.0, 0, 100, 2460116.796079, 2460117.433504},
{2023, 6, 21.0, 116.4074, 39.9042, 8.0, 0, 1000, 2460116.792947, 2460117.436489},
{2023, 6, 21.0, 116.4074, 39.9042, 8.0, 1, 0, 2460116.793770, 2460117.435705},
{2023, 6, 21.0, 116.4074, 39.9042, 8.0, 1, 100, 2460116.792316, 2460117.437090},
{2023, 6, 21.0, 116.4074, 39.9042, 8.0, 1, 1000, 2460116.789151, 2460117.440100},
{2023, 9, 23.0, 116.4074, 39.9042, 8.0, 0, 0, 2460211.101734, 2460211.459607},
{2023, 9, 23.0, 116.4074, 39.9042, 8.0, 0, 100, 2460211.100176, 2460211.461165},
{2023, 9, 23.0, 116.4074, 39.9042, 8.0, 0, 1000, 2460211.096833, 2460211.464509},
{2023, 9, 23.0, 116.4074, 39.9042, 8.0, 1, 0, 2460211.097706, 2460211.463636},
{2023, 9, 23.0, 116.4074, 39.9042, 8.0, 1, 100, 2460211.096167, 2460211.465175},
{2023, 9, 23.0, 116.4074, 39.9042, 8.0, 1, 1000, 2460211.092862, 2460211.468480},
{2023, 12, 22.0, 116.4074, 39.9042, 8.0, 0, 0, 2460301.062707, 2460300.593974},
{2023, 12, 22.0, 116.4074, 39.9042, 8.0, 0, 100, 2460301.061475, 2460300.595223},
{2023, 12, 22.0, 116.4074, 39.9042, 8.0, 0, 1000, 2460301.058806, 2460300.597927},
{2023, 12, 22.0, 116.4074, 39.9042, 8.0, 1, 0, 2460301.059506, 2460300.597218},
{2023, 12, 22.0, 116.4074, 39.9042, 8.0, 1, 100, 2460301.058270, 2460300.598470},
{2023, 12, 22.0, 116.4074, 39.9042, 8.0, 1, 1000, 2460301.055591, 2460300.601184},
{2024, 2, 29.0, 116.4074, 39.9042, 8.0, 0, 0, 2460370.449849, 2460369.861099},
{2024, 2, 29.0, 116.4074, 39.9042, 8.0, 0, 100, 2460370.448553, 2460369.862331},
{2024, 2, 29.0, 116.4074, 39.9042, 8.0, 0, 1000, 2460370.445759, 2460369.864987},
{2024, 2, 29.0, 116.4074, 39.9042, 8.0, 1, 0, 2460370.446490, 2460369.864292},
{2024, 2, 29.0, 116.4074, 39.9042, 8.0, 1, 100, 2460370.445200, 2460369.865519},
{2024, 2, 29.0, 116.4074, 39.9042, 8.0, 1, 1000, 2460370.442419, 2460369.868167},
{2025, 7, 4.0, 116.4074, 39.9042, 8.0, 0, 0, 2460861.081077, 2460860.500281},
{2025, 7, 4.0, 116.4074, 39.9042, 8.0, 0, 100, 2460861.079798, 2460860.501500},
{2025, 7, 4.0, 116.4074, 39.9042, 8.0, 0, 1000, 2460861.077040, 2460860.504131},
{2025, 7, 4.0, 116.4074, 39.9042, 8.0, 1, 0, 2460861.077761, 2460860.503442},
{2025, 7, 4.0, 116.4074, 39.9042, 8.0, 1, 100, 2460861.076488, 2460860.504658},
{2025, 7, 4.0, 116.4074, 39.9042, 8.0, 1, 1000, 2460861.073741, 2460860.507283},
{2023, 1, 15.0, -0.1276, 51.5074, 0.0, 0, 0, 2459959.528216, 2459959.967427},
{2023, 1, 15.0, -0.1276, 51.5074, 0.0, 0, 100, 2459959.526661, 2459959.968948},
{2023, 1, 15.0, -0.1276, 51.5074, 0.0, 0, 1000, 2459959.523310, 2459959.972225},
{2023, 1, 15.0, -0.1276, 51.5074, 0.0, 1, 0, 2459959.524188, 2459959.971367},
{2023, 1, 15.0, -0.1276, 51.5074, 0.0, 1, 100, 2459959.522641, 2459959.972879},
{2023, 1, 15.0, -0.1276, 51.5074, 0.0, 1, 1000, 2459959.519304, 2459959.976140},
{2023, 3, 20.0, -0.1276, 51.5074, 0.0, 0, 0, 2460023.756521, 2460024.185921},
{2023, 3, 20.0, -0.1276, 51.5074, 0.0, 0, 100, 2460023.754972, 2460024.187506},
{2023, 3, 20.0, -0.1276, 51.5074, 0.0, 0, 1000, 2460023.751635, 2460024.190922},
{2023, 3, 20.0, -0.1276, 51.5074, 0.0, 1, 0, 2460023.752509, 2460024.190027},
{2023, 3, 20.0, -0.1276, 51.5074, 0.0, 1, 100, 2460023.750969, 2460024.191604},
{2023, 3, 20.0, -0.1276, 51.5074, 0.0, 1, 1000, 2460023.747652, 2460024.195001},
{2023, 6, 21.0, -0.1276, 51.5074, 0.0, 0, 0, 2460116.767646, 2460117.458741},
{2023, 6, 21.0, -0.1276, 51.5074, 0.0, 0, 100, 2460116.765687, 2460117.460530},
{2023, 6, 21.0, -0.1276, 51.5074, 0.0, 0, 1000, 2460116.761396, 2460117.464434},
{2023, 6, 21.0, -0.1276, 51.5074, 0.0, 1, 0, 2460116.762529, 2460117.463404},
{2023, 6, 21.0, -0.1276, 51.5074, 0.0, 1, 100, 2460116.760527, 2460117.465222},
{2023, 6, 21.0, -0.1276, 51.5074, 0.0, 1, 1000, 2460116.756138, 2460117.469192},
{2023, 9, 23.0, -0.1276, 51.5074, 0.0, 0, 0, 2460211.152717, 2460211.418335},
{2023, 9, 23.0, -0.1276, 51.5074, 0.0, 0, 100, 2460211.150373, 2460211.420681},
{2023, 9, 23.0, -0.1276, 51.5074, 0.0, 0, 1000, 2460211.145408, 2460211.425649},
{2023, 9, 23.0, -0.1276, 51.5074, 0.0, 1, 0, 2460211.146698, 2460211.424358},
{2023, 9, 23.0, -0.1276, 51.5074, 0.0, 1, 100, 2460211.144431, 2460211.426627},
{2023, 9, 23.0, -0.1276, 51.5074, 0.0, 1, 1000, 2460211.139618, 2460211.431444},
{2023, 12, 22.0, -0.1276, 51.5074, 0.0, 0, 0, 2460301.041742, 2460300.614710},
{2023, 12, 22.0, -0.1276, 51.5074, 0.0, 0, 100, 2460301.040171, 2460300.616310},
{2023, 12, 22.0, -0.1276, 51.5074, 0.0, 0, 1000, 2460301.036759, 2460300.619784},
{2023, 12, 22.0, -0.1276, 51.5074, 0.0, 1, 0, 2460301.037657, 2460300.618870},
{2023, 12, 22.0, -0.1276, 51.5074, 0.0, 1, 100, 2460301.036073, 2460300.620481},
{2023, 12, 22.0, -0.1276, 51.5074, 0.0, 1, 1000, 2460301.032632, 2460300.623982},
{2024, 2, 29.0, -0.1276, 51.5074, 0.0, 0, 0, 2460370.478098, 2460369.838275},
{2024, 2, 29.0, -0.1276, 51.5074, 0.0, 0, 100, 2460370.476374, 2460369.839850},
{2024, 2, 29.0, -0.1276, 51.5074, 0.0, 0, 1000, 2460370.472673, 2460369.843240},
{2024, 2, 29.0, -0.1276, 51.5074, 0.0, 1, 0, 2460370.473641, 2460369.842353},
{2024, 2, 29.0, -0.1276, 51.5074, 0.0, 1, 100, 2460370.471937, 2460369.843916},
{2024, 2, 29.0, -0.1276, 51.5074, 0.0, 1, 1000, 2460370.468277, 2460369.847281},
{2025, 7, 4.0, -0.1276, 51.5074, 0.0, 0, 0, 2460861.106509, 2460861.487755},
{2025, 7, 4.0, -0.1276, 51.5074, 0.0, 0, 100, 2460861.104828, 2460861.489419},
{2025, 7, 4.0, -0.1276, 51.5074, 0.0, 0, 1000, 2460861.101215, 2460861.492993},
{2025, 7, 4.0, -0.1276, 51.5074, 0.0, 1, 0, 2460861.102160, 2460861.492058},
{2025, 7, 4.0, -0.1276, 51.5074, 0.0, 1, 100, 2460861.100496, 2460861.493705},
{2025, 7, 4.0, -0.1276, 51.5074, 0.0, 1, 1000, 2460861.096919, 2460861.497243},
{2023, 1, 15.0, -74.0060, 40.7128, -5.0, 0, 0, 2459959.524373, 2459959.980659},
{2023, 1, 15.0, -74.0060, 40.7128, -5.0, 0, 100, 2459959.523111, 2459959.981906},
{2023, 1, 15.0, -74.0060, 40.7128, -5.0, 0, 1000, 2459959.520387, 2459959.984594},
{2023, 1, 15.0, -74.0060, 40.7128, -5.0, 1, 0, 2459959.521100, 2459959.983890},
{2023, 1, 15.0, -74.0060, 40.7128, -5.0, 1, 100, 2459959.519842, 2459959.985133},
{2023, 1, 15.0, -74.0060, 40.7128, -5.0, 1, 1000, 2459959.517125, 2459959.987813},
{2023, 3, 20.0, -74.0060, 40.7128, -5.0, 0, 0, 2460023.742268, 2460024.205728},
{2023, 3, 20.0, -74.0060, 40.7128, -5.0, 0, 100, 2460023.741027, 2460024.206990},
{2023, 3, 20.0, -74.0060, 40.7128, -5.0, 0, 1000, 2460023.738347, 2460024.209716},
{2023, 3, 20.0, -74.0060, 40.7128, -5.0, 1, 0, 2460023.739049, 2460024.209002},
{2023, 3, 20.0, -74.0060, 40.7128, -5.0, 1, 100, 2460023.737811, 2460024.210262},
{2023, 3, 20.0, -74.0060, 40.7128, -5.0, 1, 1000, 2460023.735139, 2460024.212982},
{2023, 6, 21.0, -74.0060, 40.7128, -5.0, 0, 0, 2460116.805629, 2460117.432448},
{2023, 6, 21.0, -74.0060, 40.7128, -5.0, 0, 100, 2460116.804200, 2460117.433805},
{2023, 6, 21.0, -74.0060, 40.7128, -5.0, 0, 1000, 2460116.801091, 2460117.436752},
{2023, 6, 21.0, -74.0060, 40.7128, -5.0, 1, 0, 2460116.801908, 2460117.435978},
{2023, 6, 21.0, -74.0060, 40.7128, -5.0, 1, 100, 2460116.800465, 2460117.437345},
{2023, 6, 21.0, -74.0060, 40.7128, -5.0, 1, 1000, 2460116.797326, 2460117.440314},
{2023, 9, 23.0, -74.0060, 40.7128, -5.0, 0, 0, 2460211.112676, 2460211.469717},
{2023, 9, 23.0, -74.0060, 40.7128, -5.0, 0, 100, 2460211.111105, 2460211.471288},
{2023, 9, 23.0, -74.0060, 40.7128, -5.0, 0, 1000, 2460211.107733, 2460211.474659},
{2023, 9, 23.0, -74.0060, 40.7128, -5.0, 1, 0, 2460211.108613, 2460211.473779},
{2023, 9, 23.0, -74.0060, 40.7128, -5.0, 1, 100, 2460211.107061, 2460211.475330},
{2023, 9, 23.0, -74.0060, 40.7128, -5.0, 1, 1000, 2460211.103729, 2460211.478661},
{2023, 12, 22.0, -74.0060, 40.7128, -5.0, 0, 0, 2460301.058919, 2460300.608173},
{2023, 12, 22.0, -74.0060, 40.7128, -5.0, 0, 100, 2460301.057640, 2460300.609464},
{2023, 12, 22.0, -74.0060, 40.7128, -5.0, 0, 1000, 2460301.054868, 2460300.612263},
{2023, 12, 22.0, -74.0060, 40.7128, -5.0, 1, 0, 2460301.055595, 2460300.611528},
{2023, 12, 22.0, -74.0060, 40.7128, -5.0, 1, 100, 2460301.054311, 2460300.612825},
{2023, 12, 22.0, -74.0060, 40.7128, -5.0, 1, 1000, 2460301.051524, 2460300.615638},
{2024, 2, 29.0, -74.0060, 40.7128, -5.0, 0, 0, 2460370.461953, 2460369.855473},
{2024, 2, 29.0, -74.0060, 40.7128, -5.0, 0, 100, 2460370.460601, 2460369.856749},
{2024, 2, 29.0, -74.0060, 40.7128, -5.0, 0, 1000, 2460370.457690, 2460369.859501},
{2024, 2, 29.0, -74.0060, 40.7128, -5.0, 1, 0, 2460370.458451, 2460369.858781},
{2024, 2, 29.0, -74.0060, 40.7128, -5.0, 1, 100, 2460370.457108, 2460369.860051},
{2024, 2, 29.0, -74.0060, 40.7128, -5.0, 1, 1000, 2460370.454214, 2460369.862791},
{2025, 7, 4.0, -74.0060, 40.7128, -5.0, 0, 0, 2460861.092187, -3.000000},
{2025, 7, 4.0, -74.0060, 40.7128, -5.0, 0, 100, 2460861.090857, -3.000000},
{2025, 7, 4.0, -74.0060, 40.7128, -5.0, 0, 1000, 2460861.087993, -3.000000},
{2025, 7, 4.0, -74.0060, 40.7128, -5.0, 1, 0, 2460861.088742, -3.000000},
{2025, 7, 4.0, -74.0060, 40.7128, -5.0, 1, 100, 2460861.087420, -3.000000},
{2025, 7, 4.0, -74.0060, 40.7128, -5.0, 1, 1000, 2460861.084572, 2460860.501630},
{2023, 1, 15.0, 151.2093, -33.8688, 10.0, 0, 0, 2459960.490958, 2459960.006349},
{2023, 1, 15.0, 151.2093, -33.8688, 10.0, 0, 100, 2459960.489835, 2459960.007484},
{2023, 1, 15.0, 151.2093, -33.8688, 10.0, 0, 1000, 2459960.487402, 2459960.009941},
{2023, 1, 15.0, 151.2093, -33.8688, 10.0, 1, 0, 2459960.488040, 2459960.009297},
{2023, 1, 15.0, 151.2093, -33.8688, 10.0, 1, 100, 2459960.486913, 2459960.010434},
{2023, 1, 15.0, 151.2093, -33.8688, 10.0, 1, 1000, 2459960.484475, 2459960.012896},
{2023, 3, 20.0, 151.2093, -33.8688, 10.0, 0, 0, 2460023.660858, 2460024.225393},
{2023, 3, 20.0, 151.2093, -33.8688, 10.0, 0, 100, 2460023.659673, 2460024.226523},
{2023, 3, 20.0, 151.2093, -33.8688, 10.0, 0, 1000, 2460023.657104, 2460024.228972},
{2023, 3, 20.0, 151.2093, -33.8688, 10.0, 1, 0, 2460023.657778, 2460024.228330},
{2023, 3, 20.0, 151.2093, -33.8688, 10.0, 1, 100, 2460023.656588, 2460024.229464},
{2023, 3, 20.0, 151.2093, -33.8688, 10.0, 1, 1000, 2460023.654010, 2460024.231918},
{2023, 6, 21.0, 151.2093, -33.8688, 10.0, 0, 0, 2460116.898588, 2460117.306637},
{2023, 6, 21.0, 151.2093, -33.8688, 10.0, 0, 100, 2460116.897300, 2460117.307923},
{2023, 6, 21.0, 151.2093, -33.8688, 10.0, 0, 1000, 2460116.894525, 2460117.310693},
{2023, 6, 21.0, 151.2093, -33.8688, 10.0, 1, 0, 2460116.895250, 2460117.309969},
{2023, 6, 21.0, 151.2093, -33.8688, 10.0, 1, 100, 2460116.893970, 2460117.311247},
{2023, 6, 21.0, 151.2093, -33.8688, 10.0, 1, 1000, 2460116.891213, 2460117.314000},
{2023, 9, 23.0, 151.2093, -33.8688, 10.0, 0, 0, 2460210.945165, 2460210.537830},
{2023, 9, 23.0, 151.2093, -33.8688, 10.0, 0, 100, 2460210.943814, 2460210.539180},
{2023, 9, 23.0, 151.2093, -33.8688, 10.0, 0, 1000, 2460210.940878, 2460210.542112},
{2023, 9, 23.0, 151.2093, -33.8688, 10.0, 1, 0, 2460210.941649, 2460210.541342},
{2023, 9, 23.0, 151.2093, -33.8688, 10.0, 1, 100, 2460210.940287, 2460210.542703},
{2023, 9, 23.0, 151.2093, -33.8688, 10.0, 1, 1000, 2460210.937326, 2460210.545660},
{2023, 12, 22.0, 151.2093, -33.8688, 10.0, 0, 0, 2460301.101636, 2460300.535995},
{2023, 12, 22.0, 151.2093, -33.8688, 10.0, 0, 100, 2460301.100469, 2460300.537113},
{2023, 12, 22.0, 151.2093, -33.8688, 10.0, 0, 1000, 2460301.097951, 2460300.539529},
{2023, 12, 22.0, 151.2093, -33.8688, 10.0, 1, 0, 2460301.098609, 2460300.538896},
{2023, 12, 22.0, 151.2093, -33.8688, 10.0, 1, 100, 2460301.097446, 2460300.540013},
{2023, 12, 22.0, 151.2093, -33.8688, 10.0, 1, 1000, 2460301.094934, 2460300.542424},
{2024, 2, 29.0, 151.2093, -33.8688, 10.0, 0, 0, 2460370.367704, 2460369.898000},
{2024, 2, 29.0, 151.2093, -33.8688, 10.0, 0, 100, 2460370.366562, 2460369.899150},
{2024, 2, 29.0, 151.2093, -33.8688, 10.0, 0, 1000, 2460370.364086, 2460369.901641},
{2024, 2, 29.0, 151.2093, -33.8688, 10.0, 1, 0, 2460370.364735, 2460369.900988},
{2024, 2, 29.0, 151.2093, -33.8688, 10.0, 1, 100, 2460370.363588, 2460369.902141},
{2024, 2, 29.0, 151.2093, -33.8688, 10.0, 1, 1000, 2460370.361104, 2460369.904640},
{2025, 7, 4.0, 151.2093, -33.8688, 10.0, 0, 0, 2460861.005763, 2460860.530709},
{2025, 7, 4.0, 151.2093, -33.8688, 10.0, 0, 100, 2460861.004631, 2460860.531850},
{2025, 7, 4.0, 151.2093, -33.8688, 10.0, 0, 1000, 2460861.002179, 2460860.534321},
{2025, 7, 4.0, 151.2093, -33.8688, 10.0, 1, 0, 2460861.002822, 2460860.533674},
{2025, 7, 4.0, 151.2093, -33.8688, 10.0, 1, 100, 2460861.001687, 2460860.534818},
{2025, 7, 4.0, 151.2093, -33.8688, 10.0, 1, 1000, 2460860.999227, 2460860.537296},
{2023, 1, 15.0, 139.6503, 35.6762, 9.0, 0, 0, -3.000000, 2459959.964451},
{2023, 1, 15.0, 139.6503, 35.6762, 9.0, 0, 100, -3.000000, 2459959.965589},
{2023, 1, 15.0, 139.6503, 35.6762, 9.0, 0, 1000, -3.000000, 2459959.968047},
{2023, 1, 15.0, 139.6503, 35.6762, 9.0, 1, 0, -3.000000, 2459959.967403},
{2023, 1, 15.0, 139.6503, 35.6762, 9.0, 1, 100, -3.000000, 2459959.968539},
{2023, 1, 15.0, 139.6503, 35.6762, 9.0, 1, 1000, -3.000000, 2459959.970994},
{2023, 3, 20.0, 139.6503, 35.6762, 9.0, 0, 0, 2460023.713965, 2460024.169037},
{2023, 3, 20.0, 139.6503, 35.6762, 9.0, 0, 100, 2460023.712778, 2460024.170233},
{2023, 3, 20.0, 139.6503, 35.6762, 9.0, 0, 1000, 2460023.710218, 2460024.172814},
{2023, 3, 20.0, 139.6503, 35.6762, 9.0, 1, 0, 2460023.710888, 2460024.172139},
{2023, 3, 20.0, 139.6503, 35.6762, 9.0, 1, 100, 2460023.709705, 2460024.173331},
{2023, 3, 20.0, 139.6503, 35.6762, 9.0, 1, 1000, 2460023.707153, 2460024.175905},
{2023, 6, 21.0, 139.6503, 35.6762, 9.0, 0, 0, 2460116.781452, 2460117.399206},
{2023, 6, 21.0, 139.6503, 35.6762, 9.0, 0, 100, 2460116.780120, 2460117.400487},
{2023, 6, 21.0, 139.6503, 35.6762, 9.0, 0, 1000, 2460116.777226, 2460117.403268},
{2023, 6, 21.0, 139.6503, 35.6762, 9.0, 1, 0, 2460116.777986, 2460117.402538},
{2023, 6, 21.0, 139.6503, 35.6762, 9.0, 1, 100, 2460116.776643, 2460117.403828},
{2023, 6, 21.0, 139.6503, 35.6762, 9.0, 1, 1000, 2460116.773726, 2460117.406627},
{2023, 9, 23.0, 139.6503, 35.6762, 9.0, 0, 0, 2460211.064104, 2460211.445733},
{2023, 9, 23.0, 139.6503, 35.6762, 9.0, 0, 100, 2460211.062683, 2460211.447154},
{2023, 9, 23.0, 139.6503, 35.6762, 9.0, 0, 1000, 2460211.059628, 2460211.450209},
{2023, 9, 23.0, 139.6503, 35.6762, 9.0, 1, 0, 2460211.060426, 2460211.449411},
{2023, 9, 23.0, 139.6503, 35.6762, 9.0, 1, 100, 2460211.059018, 2460211.450820},
{2023, 9, 23.0, 139.6503, 35.6762, 9.0, 1, 1000, 2460211.055989, 2460211.453848},
{2023, 12, 22.0, 139.6503, 35.6762, 9.0, 0, 0, 2460301.042677, 2460300.564798},
{2023, 12, 22.0, 139.6503, 35.6762, 9.0, 0, 100, 2460301.041519, 2460300.565969},
{2023, 12, 22.0, 139.6503, 35.6762, 9.0, 0, 1000, 2460301.039011, 2460300.568505},
{2023, 12, 22.0, 139.6503, 35.6762, 9.0, 1, 0, 2460301.039668, 2460300.567840},
{2023, 12, 22.0, 139.6503, 35.6762, 9.0, 1, 100, 2460301.038507, 2460300.569014},
{2023, 12, 22.0, 139.6503, 35.6762, 9.0, 1, 1000, 2460301.035991, 2460300.571557},
{2024, 2, 29.0, 139.6503, 35.6762, 9.0, 0, 0, 2460370.418603, 2460369.841484},
{2024, 2, 29.0, 139.6503, 35.6762, 9.0, 0, 100, 2460370.417394, 2460369.842641},
{2024, 2, 29.0, 139.6503, 35.6762, 9.0, 0, 1000, 2460370.414788, 2460369.845138},
{2024, 2, 29.0, 139.6503, 35.6762, 9.0, 1, 0, 2460370.415470, 2460369.844484},
{2024, 2, 29.0, 139.6503, 35.6762, 9.0, 1, 100, 2460370.414266, 2460369.845638},
{2024, 2, 29.0, 139.6503, 35.6762, 9.0, 1, 1000, 2460370.411669, 2460369.848129},
{2025, 7, 4.0, 139.6503, 35.6762, 9.0, 0, 0, 2460861.050487, 2460861.497293},
{2025, 7, 4.0, 139.6503, 35.6762, 9.0, 0, 100, 2460861.049292, 2460861.498481},
{2025, 7, 4.0, 139.6503, 35.6762, 9.0, 0, 1000, 2460861.046715, -3.000000},
{2025, 7, 4.0, 139.6503, 35.6762, 9.0, 1, 0, 2460861.047389, -3.000000},
{2025, 7, 4.0, 139.6503, 35.6762, 9.0, 1, 100, 2460861.046199, -3.000000},
{2025, 7, 4.0, 139.6503, 35.6762, 9.0, 1, 1000, 2460861.043629, -3.000000},
{2023, 1, 15.0, 2.3522, 48.8566, 1.0, 0, 0, 2459959.559715, 2459960.005821},
{2023, 1, 15.0, 2.3522, 48.8566, 1.0, 0, 100, 2459959.558253, 2459960.007254},
{2023, 1, 15.0, 2.3522, 48.8566, 1.0, 0, 1000, 2459959.555099, 2459960.010344},
{2023, 1, 15.0, 2.3522, 48.8566, 1.0, 1, 0, 2459959.555926, 2459960.009534},
{2023, 1, 15.0, 2.3522, 48.8566, 1.0, 1, 100, 2459959.554469, 2459960.010961},
{2023, 1, 15.0, 2.3522, 48.8566, 1.0, 1, 1000, 2459959.551327, 2459960.014038},
{2023, 3, 20.0, 2.3522, 48.8566, 1.0, 0, 0, 2460023.786892, 2460024.223745},
{2023, 3, 20.0, 2.3522, 48.8566, 1.0, 0, 100, 2460023.785433, 2460024.225234},
{2023, 3, 20.0, 2.3522, 48.8566, 1.0, 0, 1000, 2460023.782289, 2460024.228444},
{2023, 3, 20.0, 2.3522, 48.8566, 1.0, 1, 0, 2460023.783113, 2460024.227603},
{2023, 3, 20.0, 2.3522, 48.8566, 1.0, 1, 100, 2460023.781662, 2460024.229086},
{2023, 3, 20.0, 2.3522, 48.8566, 1.0, 1, 1000, 2460023.778534, 2460024.232282},
{2023, 6, 21.0, 2.3522, 48.8566, 1.0, 0, 0, 2460116.811624, 2460117.485433},
{2023, 6, 21.0, 2.3522, 48.8566, 1.0, 0, 100, 2460116.809837, 2460117.487087},
{2023, 6, 21.0, 2.3522, 48.8566, 1.0, 0, 1000, 2460116.805935, 2460117.490692},
{2023, 6, 21.0, 2.3522, 48.8566, 1.0, 1, 0, 2460116.806964, 2460117.489742},
{2023, 6, 21.0, 2.3522, 48.8566, 1.0, 1, 100, 2460116.805147, 2460117.491418},
{2023, 6, 21.0, 2.3522, 48.8566, 1.0, 1, 1000, 2460116.801173, 2460117.495072},
{2023, 9, 23.0, 2.3522, 48.8566, 1.0, 0, 0, 2460211.173470, 2460211.466396},
{2023, 9, 23.0, 2.3522, 48.8566, 1.0, 0, 100, 2460211.171407, 2460211.468460},
{2023, 9, 23.0, 2.3522, 48.8566, 1.0, 0, 1000, 2460211.167013, 2460211.472855},
{2023, 9, 23.0, 2.3522, 48.8566, 1.0, 1, 0, 2460211.168157, 2460211.471711},
{2023, 9, 23.0, 2.3522, 48.8566, 1.0, 1, 100, 2460211.166145, 2460211.473725},
{2023, 9, 23.0, 2.3522, 48.8566, 1.0, 1, 1000, 2460211.161854, 2460211.478018},
{2023, 12, 22.0, 2.3522, 48.8566, 1.0, 0, 0, 2460301.081101, 2460300.645199},
{2023, 12, 22.0, 2.3522, 48.8566, 1.0, 0, 100, 2460301.079625, 2460300.646700},
{2023, 12, 22.0, 2.3522, 48.8566, 1.0, 0, 1000, 2460301.076421, 2460300.649956},
{2023, 12, 22.0, 2.3522, 48.8566, 1.0, 1, 0, 2460301.077264, 2460300.649100},
{2023, 12, 22.0, 2.3522, 48.8566, 1.0, 1, 100, 2460301.075778, 2460300.650610},
{2023, 12, 22.0, 2.3522, 48.8566, 1.0, 1, 1000, 2460301.072551, 2460300.653887},
{2024, 2, 29.0, 2.3522, 48.8566, 1.0, 0, 0, -3.000000, 2460369.877903},
{2024, 2, 29.0, 2.3522, 48.8566, 1.0, 0, 100, -3.000000, 2460369.879381},
{2024, 2, 29.0, 2.3522, 48.8566, 1.0, 0, 1000, -3.000000, 2460369.882564},
{2024, 2, 29.0, 2.3522, 48.8566, 1.0, 1, 0, -3.000000, 2460369.881731},
{2024, 2, 29.0, 2.3522, 48.8566, 1.0, 1, 100, -3.000000, 2460369.883199},
{2024, 2, 29.0, 2.3522, 48.8566, 1.0, 1, 1000, 2460370.496899, 2460369.886363},
{2025, 7, 4.0, 2.3522, 48.8566, 1.0, 0, 0, 2460861.135112, 2460860.518313},
{2025, 7, 4.0, 2.3522, 48.8566, 1.0, 0, 100, 2460861.133547, 2460860.519769},
{2025, 7, 4.0, 2.3522, 48.8566, 1.0, 0, 1000, 2460861.130181, 2460860.522905},
{2025, 7, 4.0, 2.3522, 48.8566, 1.0, 1, 0, 2460861.131061, 2460860.522084},
{2025, 7, 4.0, 2.3522, 48.8566, 1.0, 1, 100, 2460861.129509, 2460860.523531},
{2025, 7, 4.0, 2.3522, 48.8566, 1.0, 1, 1000, 2460861.126170, 2460860.526651},
{2023, 1, 15.0, -118.2437, 34.0522, -8.0, 0, 0, 2459959.522258, 2459959.987657},
{2023, 1, 15.0, -118.2437, 34.0522, -8.0, 0, 100, 2459959.521109, 2459959.988797},
{2023, 1, 15.0, -118.2437, 34.0522, -8.0, 0, 1000, 2459959.518627, 2459959.991259},
{2023, 1, 15.0, -118.2437, 34.0522, -8.0, 1, 0, 2459959.519277, 2459959.990615},
{2023, 1, 15.0, -118.2437, 34.0522, -8.0, 1, 100, 2459959.518130, 2459959.991752},
{2023, 1, 15.0, -118.2437, 34.0522, -8.0, 1, 1000, 2459959.515653, 2459959.994209},
{2023, 3, 20.0, -118.2437, 34.0522, -8.0, 0, 0, 2460023.736766, 2460024.214227},
{2023, 3, 20.0, -118.2437, 34.0522, -8.0, 0, 100, 2460023.735638, 2460024.215370},
{2023, 3, 20.0, -118.2437, 34.0522, -8.0, 0, 1000, 2460023.733201, 2460024.217839},
{2023, 3, 20.0, -118.2437, 34.0522, -8.0, 1, 0, 2460023.733839, 2460024.217193},
{2023, 3, 20.0, -118.2437, 34.0522, -8.0, 1, 100, 2460023.732713, 2460024.218334},
{2023, 3, 20.0, -118.2437, 34.0522, -8.0, 1, 1000, 2460023.730281, 2460024.220800},
{2023, 6, 21.0, -118.2437, 34.0522, -8.0, 0, 0, 2460116.822110, 2460117.421317},
{2023, 6, 21.0, -118.2437, 34.0522, -8.0, 0, 100, 2460116.820847, 2460117.422529},
{2023, 6, 21.0, -118.2437, 34.0522, -8.0, 0, 1000, 2460116.818107, 2460117.425158},
{2023, 6, 21.0, -118.2437, 34.0522, -8.0, 1, 0, 2460116.818826, 2460117.424469},
{2023, 6, 21.0, -118.2437, 34.0522, -8.0, 1, 100, 2460116.817555, 2460117.425687},
{2023, 6, 21.0, -118.2437, 34.0522, -8.0, 1, 1000, 2460116.814798, 2460117.428329},
{2023, 9, 23.0, -118.2437, 34.0522, -8.0, 0, 0, 2460211.097066, 2460211.491497},
{2023, 9, 23.0, -118.2437, 34.0522, -8.0, 0, 100, 2460211.095704, 2460211.492857},
{2023, 9, 23.0, -118.2437, 34.0522, -8.0, 0, 1000, 2460211.092773, 2460211.495784},
{2023, 9, 23.0, -118.2437, 34.0522, -8.0, 1, 0, 2460211.093538, 2460211.495019},
{2023, 9, 23.0, -118.2437, 34.0522, -8.0, 1, 100, 2460211.092187, 2460211.496369},
{2023, 9, 23.0, -118.2437, 34.0522, -8.0, 1, 1000, 2460211.089278, 2460211.499274},
{2023, 12, 22.0, -118.2437, 34.0522, -8.0, 0, 0, 2460301.067938, 2460300.604730},
{2023, 12, 22.0, -118.2437, 34.0522, -8.0, 0, 100, 2460301.066770, 2460300.605903},
{2023, 12, 22.0, -118.2437, 34.0522, -8.0, 0, 1000, 2460301.064240, 2460300.608446},
{2023, 12, 22.0, -118.2437, 34.0522, -8.0, 1, 0, 2460301.064903, 2460300.607780},
{2023, 12, 22.0, -118.2437, 34.0522, -8.0, 1, 100, 2460301.063731, 2460300.608957},
{2023, 12, 22.0, -118.2437, 34.0522, -8.0, 1, 1000, 2460301.061191, 2460300.611510},
{2024, 2, 29.0, -118.2437, 34.0522, -8.0, 0, 0, 2460370.454456, 2460369.864161},
{2024, 2, 29.0, -118.2437, 34.0522, -8.0, 0, 100, 2460370.453239, 2460369.865324},
{2024, 2, 29.0, -118.2437, 34.0522, -8.0, 0, 1000, 2460370.450613, 2460369.867834},
{2024, 2, 29.0, -118.2437, 34.0522, -8.0, 1, 0, 2460370.451300, 2460369.867178},
{2024, 2, 29.0, -118.2437, 34.0522, -8.0, 1, 100, 2460370.450087, 2460369.868337},
{2024, 2, 29.0, -118.2437, 34.0522, -8.0, 1, 1000, 2460370.447473, 2460369.870839},
{2025, 7, 4.0, -118.2437, 34.0522, -8.0, 0, 0, 2460861.085408, 2460860.502124},
{2025, 7, 4.0, -118.2437, 34.0522, -8.0, 0, 100, 2460861.084207, 2460860.503275},
{2025, 7, 4.0, -118.2437, 34.0522, -8.0, 0, 1000, 2460861.081618, 2460860.505757},
{2025, 7, 4.0, -118.2437, 34.0522, -8.0, 1, 0, 2460861.082295, 2460860.505108},
{2025, 7, 4.0, -118.2437, 34.0522, -8.0, 1, 100, 2460861.081100, 2460860.506255},
{2025, 7, 4.0, -118.2437, 34.0522, -8.0, 1, 1000, 2460861.078521, 2460860.508731},
{2023, 1, 15.0, 37.6176, 55.7558, 3.0, 0, 0, 2459959.547954, 2459959.980053},
{2023, 1, 15.0, 37.6176, 55.7558, 3.0, 0, 100, 2459959.546225, 2459959.981737},
{2023, 1, 15.0, 37.6176, 55.7558, 3.0, 0, 1000, 2459959.542499, 2459959.985364},
{2023, 1, 15.0, 37.6176, 55.7558, 3.0, 1, 0, 2459959.543476, 2459959.984414},
{2023, 1, 15.0, 37.6176, 55.7558, 3.0, 1, 100, 2459959.541756, 2459959.986087},
{2023, 1, 15.0, 37.6176, 55.7558, 3.0, 1, 1000, 2459959.538049, 2459959.989690},
{2023, 3, 20.0, 37.6176, 55.7558, 3.0, 0, 0, 2460023.784142, 2460024.192397},
{2023, 3, 20.0, 37.6176, 55.7558, 3.0, 0, 100, 2460023.782392, 2460024.194191},
{2023, 3, 20.0, 37.6176, 55.7558, 3.0, 0, 1000, 2460023.778627, 2460024.198052},
{2023, 3, 20.0, 37.6176, 55.7558, 3.0, 1, 0, 2460023.779613, 2460024.197041},
{2023, 3, 20.0, 37.6176, 55.7558, 3.0, 1, 100, 2460023.777878, 2460024.198821},
{2023, 3, 20.0, 37.6176, 55.7558, 3.0, 1, 1000, 2460023.774146, 2460024.202652},
{2023, 6, 21.0, 37.6176, 55.7558, 3.0, 0, 0, 2460116.763250, 2460117.493183},
{2023, 6, 21.0, 37.6176, 55.7558, 3.0, 0, 100, 2460116.760849, 2460117.495298},
{2023, 6, 21.0, 37.6176, 55.7558, 3.0, 0, 1000, 2460116.755549, 2460117.499936},
{2023, 6, 21.0, 37.6176, 55.7558, 3.0, 1, 0, 2460116.756956, 2460117.498709},
{2023, 6, 21.0, 37.6176, 55.7558, 3.0, 1, 100, 2460116.754470, -3.000000},
{2023, 6, 21.0, 37.6176, 55.7558, 3.0, 1, 1000, 2460116.748967, -3.000000},
{2023, 9, 23.0, 37.6176, 55.7558, 3.0, 0, 0, 2460211.198752, 2460211.403480},
{2023, 9, 23.0, 37.6176, 55.7558, 3.0, 0, 100, 2460211.195553, 2460211.406681},
{2023, 9, 23.0, 37.6176, 55.7558, 3.0, 0, 1000, 2460211.188905, 2460211.413333},
{2023, 9, 23.0, 37.6176, 55.7558, 3.0, 1, 0, 2460211.190618, 2460211.411619},
{2023, 9, 23.0, 37.6176, 55.7558, 3.0, 1, 100, 2460211.187616, 2460211.414624},
{2023, 9, 23.0, 37.6176, 55.7558, 3.0, 1, 1000, 2460211.181340, 2460211.420904},
{2023, 12, 22.0, 37.6176, 55.7558, 3.0, 0, 0, 2460301.052400, 2460300.635733},
{2023, 12, 22.0, 37.6176, 55.7558, 3.0, 0, 100, 2460301.050654, 2460300.637519},
{2023, 12, 22.0, 37.6176, 55.7558, 3.0, 0, 1000, 2460301.046856, 2460300.641402},
{2023, 12, 22.0, 37.6176, 55.7558, 3.0, 1, 0, 2460301.047856, 2460300.640379},
{2023, 12, 22.0, 37.6176, 55.7558, 3.0, 1, 100, 2460301.046092, 2460300.642182},
{2023, 12, 22.0, 37.6176, 55.7558, 3.0, 1, 1000, 2460301.042253, 2460300.646102},
{2024, 2, 29.0, 37.6176, 55.7558, 3.0, 0, 0, -3.000000, 2460369.848656},
{2024, 2, 29.0, 37.6176, 55.7558, 3.0, 0, 100, -3.000000, 2460369.850414},
{2024, 2, 29.0, 37.6176, 55.7558, 3.0, 0, 1000, 2460370.498678, 2460369.854191},
{2024, 2, 29.0, 37.6176, 55.7558, 3.0, 1, 0, 2460370.499778, 2460369.853202},
{2024, 2, 29.0, 37.6176, 55.7558, 3.0, 1, 100, 2460370.497843, 2460369.854943},
{2024, 2, 29.0, 37.6176, 55.7558, 3.0, 1, 1000, 2460370.493697, 2460369.858685},
{2025, 7, 4.0, 37.6176, 55.7558, 3.0, 0, 0, 2460861.132171, 2460861.495059},
{2025, 7, 4.0, 37.6176, 55.7558, 3.0, 0, 100, 2460861.130266, 2460861.496940},
{2025, 7, 4.0, 37.6176, 55.7558, 3.0, 0, 1000, 2460861.126181, -3.000000},
{2025, 7, 4.0, 37.6176, 55.7558, 3.0, 1, 0, 2460861.127249, 2460861.499917},
{2025, 7, 4.0, 37.6176, 55.7558, 3.0, 1, 100, 2460861.125370, -3.000000},
{2025, 7, 4.0, 37.6176, 55.7558, 3.0, 1, 1000, 2460861.121338, 2460860.500525},
{2023, 1, 15.0, 31.2357, 30.0444, 2.0, 0, 0, 2459959.503783, 2459959.983754},
{2023, 1, 15.0, 31.2357, 30.0444, 2.0, 0, 100, 2459959.502699, 2459959.984830},
{2023, 1, 15.0, 31.2357, 30.0444, 2.0, 0, 1000, 2459959.500355, 2459959.987154},
{2023, 1, 15.0, 31.2357, 30.0444, 2.0, 1, 0, 2459959.500968, 2459959.986546},
{2023, 1, 15.0, 31.2357, 30.0444, 2.0, 1, 100, -3.000000, 2459959.987621},
{2023, 1, 15.0, 31.2357, 30.0444, 2.0, 1, 1000, -3.000000, 2459959.989941},
{2023, 3, 20.0, 31.2357, 30.0444, 2.0, 0, 0, 2460023.724925, 2460024.198124},
{2023, 3, 20.0, 31.2357, 30.0444, 2.0, 0, 100, 2460023.723830, 2460024.199227},
{2023, 3, 20.0, 31.2357, 30.0444, 2.0, 0, 1000, 2460023.721465, 2460024.201608},
{2023, 3, 20.0, 31.2357, 30.0444, 2.0, 1, 0, 2460023.722084, 2460024.200985},
{2023, 3, 20.0, 31.2357, 30.0444, 2.0, 1, 100, 2460023.720991, 2460024.202086},
{2023, 3, 20.0, 31.2357, 30.0444, 2.0, 1, 1000, 2460023.718631, 2460024.204463},
{2023, 6, 21.0, 31.2357, 30.0444, 2.0, 0, 0, 2460116.813976, 2460117.406515},
{2023, 6, 21.0, 31.2357, 30.0444, 2.0, 0, 100, 2460116.812765, 2460117.407686},
{2023, 6, 21.0, 31.2357, 30.0444, 2.0, 0, 1000, 2460116.810138, 2460117.410224},
{2023, 6, 21.0, 31.2357, 30.0444, 2.0, 1, 0, 2460116.810826, 2460117.409559},
{2023, 6, 21.0, 31.2357, 30.0444, 2.0, 1, 100, 2460116.809609, 2460117.410735},
{2023, 6, 21.0, 31.2357, 30.0444, 2.0, 1, 1000, 2460116.806967, 2460117.413285},
{2023, 9, 23.0, 31.2357, 30.0444, 2.0, 0, 0, 2460211.072502, 2460211.482464},
{2023, 9, 23.0, 31.2357, 30.0444, 2.0, 0, 100, 2460211.071214, 2460211.483751},
{2023, 9, 23.0, 31.2357, 30.0444, 2.0, 0, 1000, 2460211.068441, 2460211.486521},
{2023, 9, 23.0, 31.2357, 30.0444, 2.0, 1, 0, 2460211.069165, 2460211.485798},
{2023, 9, 23.0, 31.2357, 30.0444, 2.0, 1, 100, 2460211.067886, 2460211.487076},
{2023, 9, 23.0, 31.2357, 30.0444, 2.0, 1, 1000, 2460211.065130, 2460211.489830},
{2023, 12, 22.0, 31.2357, 30.0444, 2.0, 0, 0, 2460301.063991, 2460300.583881},
{2023, 12, 22.0, 31.2357, 30.0444, 2.0, 0, 100, 2460301.062895, 2460300.584984},
{2023, 12, 22.0, 31.2357, 30.0444, 2.0, 0, 1000, 2460301.060520, 2460300.587371},
{2023, 12, 22.0, 31.2357, 30.0444, 2.0, 1, 0, 2460301.061142, 2460300.586746},
{2023, 12, 22.0, 31.2357, 30.0444, 2.0, 1, 100, 2460301.060043, 2460300.587851},
{2023, 12, 22.0, 31.2357, 30.0444, 2.0, 1, 1000, 2460301.057662, 2460300.590245},
{2024, 2, 29.0, 31.2357, 30.0444, 2.0, 0, 0, 2460370.433571, 2460369.861825},
{2024, 2, 29.0, 31.2357, 30.0444, 2.0, 0, 100, 2460370.432435, 2460369.862917},
{2024, 2, 29.0, 31.2357, 30.0444, 2.0, 0, 1000, 2460370.429986, 2460369.865277},
{2024, 2, 29.0, 31.2357, 30.0444, 2.0, 1, 0, 2460370.430626, 2460369.864660},
{2024, 2, 29.0, 31.2357, 30.0444, 2.0, 1, 100, 2460370.429494, 2460369.865751},
{2024, 2, 29.0, 31.2357, 30.0444, 2.0, 1, 1000, 2460370.427052, 2460369.868106},
{2025, 7, 4.0, 31.2357, 30.0444, 2.0, 0, 0, 2460861.065701, -3.000000},
{2025, 7, 4.0, 31.2357, 30.0444, 2.0, 0, 100, 2460861.064578, 2460860.500804},
{2025, 7, 4.0, 31.2357, 30.0444, 2.0, 0, 1000, 2460861.062156, 2460860.503144},
{2025, 7, 4.0, 31.2357, 30.0444, 2.0, 1, 0, 2460861.062789, 2460860.502532},
{2025, 7, 4.0, 31.2357, 30.0444, 2.0, 1, 100, 2460861.061670, 2460860.503613},
{2025, 7, 4.0, 31.2357, 30.0444, 2.0, 1, 1000, 2460861.059253, 2460860.505949},
{2023, 1, 15.0, -43.1729, -22.9068, -3.0, 0, 0, -3.000000, 2459960.019691},
{2023, 1, 15.0, -43.1729, -22.9068, -3.0, 0, 100, -3.000000, 2459960.020719},
{2023, 1, 15.0, -43.1729, -22.9068, -3.0, 0, 1000, -3.000000, 2459960.022945},
{2023, 1, 15.0, -43.1729, -22.9068, -3.0, 1, 0, -3.000000, 2459960.022363},
{2023, 1, 15.0, -43.1729, -22.9068, -3.0, 1, 100, -3.000000, 2459960.023393},
{2023, 1, 15.0, -43.1729, -22.9068, -3.0, 1, 1000, -3.000000, 2459960.025623},
{2023, 3, 20.0, -43.1729, -22.9068, -3.0, 0, 0, 2460023.694539, 2460024.230455},
{2023, 3, 20.0, -43.1729, -22.9068, -3.0, 0, 100, 2460023.693504, 2460024.231460},
{2023, 3, 20.0, -43.1729, -22.9068, -3.0, 0, 1000, 2460023.691264, 2460024.233634},
{2023, 3, 20.0, -43.1729, -22.9068, -3.0, 1, 0, 2460023.691850, 2460024.233066},
{2023, 3, 20.0, -43.1729, -22.9068, -3.0, 1, 100, 2460023.690813, 2460024.234072},
{2023, 3, 20.0, -43.1729, -22.9068, -3.0, 1, 1000, 2460023.688569, 2460024.236249},
{2023, 6, 21.0, -43.1729, -22.9068, -3.0, 0, 0, 2460116.892457, 2460117.344413},
{2023, 6, 21.0, -43.1729, -22.9068, -3.0, 0, 100, 2460116.891351, 2460117.345514},
{2023, 6, 21.0, -43.1729, -22.9068, -3.0, 0, 1000, 2460116.888965, 2460117.347889},
{2023, 6, 21.0, -43.1729, -22.9068, -3.0, 1, 0, 2460116.889589, 2460117.347268},
{2023, 6, 21.0, -43.1729, -22.9068, -3.0, 1, 100, 2460116.888486, 2460117.348365},
{2023, 6, 21.0, -43.1729, -22.9068, -3.0, 1, 1000, 2460116.886107, 2460117.350733},
{2023, 9, 23.0, -43.1729, -22.9068, -3.0, 0, 0, 2460210.989373, 2460210.536707},
{2023, 9, 23.0, -43.1729, -22.9068, -3.0, 0, 100, 2460210.988203, 2460210.537878},
{2023, 9, 23.0, -43.1729, -22.9068, -3.0, 0, 1000, 2460210.985665, 2460210.540418},
{2023, 9, 23.0, -43.1729, -22.9068, -3.0, 1, 0, 2460210.986329, 2460210.539753},
{2023, 9, 23.0, -43.1729, -22.9068, -3.0, 1, 100, 2460210.985153, 2460210.540929},
{2023, 9, 23.0, -43.1729, -22.9068, -3.0, 1, 1000, 2460210.982604, 2460210.543480},
{2023, 12, 22.0, -43.1729, -22.9068, -3.0, 0, 0, 2460301.112866, 2460300.554780},
{2023, 12, 22.0, -43.1729, -22.9068, -3.0, 0, 100, 2460301.111809, 2460300.555803},
{2023, 12, 22.0, -43.1729, -22.9068, -3.0, 0, 1000, 2460301.109528, 2460300.558013},
{2023, 12, 22.0, -43.1729, -22.9068, -3.0, 1, 0, 2460301.110124, 2460300.557435},
{2023, 12, 22.0, -43.1729, -22.9068, -3.0, 1, 100, 2460301.109070, 2460300.558457},
{2023, 12, 22.0, -43.1729, -22.9068, -3.0, 1, 1000, 2460301.106793, 2460300.560664},
{2024, 2, 29.0, -43.1729, -22.9068, -3.0, 0, 0, 2460370.388808, 2460369.907357},
{2024, 2, 29.0, -43.1729, -22.9068, -3.0, 0, 100, 2460370.387764, 2460369.908399},
{2024, 2, 29.0, -43.1729, -22.9068, -3.0, 0, 1000, 2460370.385504, 2460369.910654},
{2024, 2, 29.0, -43.1729, -22.9068, -3.0, 1, 0, 2460370.386096, 2460369.910064},
{2024, 2, 29.0, -43.1729, -22.9068, -3.0, 1, 100, 2460370.385049, 2460369.911108},
{2024, 2, 29.0, -43.1729, -22.9068, -3.0, 1, 1000, 2460370.382784, 2460369.913369},
{2025, 7, 4.0, -43.1729, -22.9068, -3.0, 0, 0, 2460861.025137, 2460860.540702},
{2025, 7, 4.0, -43.1729, -22.9068, -3.0, 0, 100, 2460861.024103, 2460860.541735},
{2025, 7, 4.0, -43.1729, -22.9068, -3.0, 0, 1000, 2460861.021865, 2460860.543972},
{2025, 7, 4.0, -43.1729, -22.9068, -3.0, 1, 0, 2460861.022451, 2460860.543387},
{2025, 7, 4.0, -43.1729, -22.9068, -3.0, 1, 100, 2460861.021415, 2460860.544422},
{2025, 7, 4.0, -43.1729, -22.9068, -3.0, 1, 1000, 2460861.019173, 2460860.546664},
{2023, 1, 15.0, 103.8198, 1.3521, 8.0, 0, 0, 2459959.533880, 2459960.042576},
{2023, 1, 15.0, 103.8198, 1.3521, 8.0, 0, 100, 2459959.532956, 2459960.043506},
{2023, 1, 15.0, 103.8198, 1.3521, 8.0, 0, 1000, 2459959.530959, 2459960.045518},
{2023, 1, 15.0, 103.8198, 1.3521, 8.0, 1, 0, 2459959.531480, 2459960.044992},
{2023, 1, 15.0, 103.8198, 1.3521, 8.0, 1, 100, 2459959.530557, 2459960.045923},
{2023, 1, 15.0, 103.8198, 1.3521, 8.0, 1, 1000, 2459959.528559, 2459960.047934},
{2023, 3, 20.0, 103.8198, 1.3521, 8.0, 0, 0, 2460023.744657, 2460024.255338},
{2023, 3, 20.0, 103.8198, 1.3521, 8.0, 0, 100, 2460023.743704, 2460024.256280},
{2023, 3, 20.0, 103.8198, 1.3521, 8.0, 0, 1000, 2460023.741642, 2460024.258316},
{2023, 3, 20.0, 103.8198, 1.3521, 8.0, 1, 0, 2460023.742180, 2460024.257784},
{2023, 3, 20.0, 103.8198, 1.3521, 8.0, 1, 100, 2460023.741227, 2460024.258726},
{2023, 3, 20.0, 103.8198, 1.3521, 8.0, 1, 1000, 2460023.739164, 2460024.260762},
{2023, 6, 21.0, 103.8198, 1.3521, 8.0, 0, 0, 2460116.896576, 2460117.411038},
{2023, 6, 21.0, 103.8198, 1.3521, 8.0, 0, 100, 2460116.895561, 2460117.412039},
{2023, 6, 21.0, 103.8198, 1.3521, 8.0, 0, 1000, 2460116.893367, 2460117.414204},
{2023, 6, 21.0, 103.8198, 1.3521, 8.0, 1, 0, 2460116.893940, 2460117.413639},
{2023, 6, 21.0, 103.8198, 1.3521, 8.0, 1, 100, 2460116.892925, 2460117.414640},
{2023, 6, 21.0, 103.8198, 1.3521, 8.0, 1, 1000, 2460116.890729, 2460117.416806},
{2023, 9, 23.0, 103.8198, 1.3521, 8.0, 0, 0, 2460211.061459, 2460210.529853},
{2023, 9, 23.0, 103.8198, 1.3521, 8.0, 0, 100, 2460211.060403, 2460210.530906},
{2023, 9, 23.0, 103.8198, 1.3521, 8.0, 0, 1000, 2460211.058121, 2460210.533182},
{2023, 9, 23.0, 103.8198, 1.3521, 8.0, 1, 0, 2460211.058717, 2460210.532587},
{2023, 9, 23.0, 103.8198, 1.3521, 8.0, 1, 100, 2460211.057662, 2460210.533640},
{2023, 9, 23.0, 103.8198, 1.3521, 8.0, 1, 1000, 2460211.055380, 2460210.535917},
{2023, 12, 22.0, 103.8198, 1.3521, 8.0, 0, 0, 2460301.128315, 2460300.607529},
{2023, 12, 22.0, 103.8198, 1.3521, 8.0, 0, 100, 2460301.127369, 2460300.608465},
{2023, 12, 22.0, 103.8198, 1.3521, 8.0, 0, 1000, 2460301.125324, 2460300.610488},
{2023, 12, 22.0, 103.8198, 1.3521, 8.0, 1, 0, 2460301.125859, 2460300.609960},
{2023, 12, 22.0, 103.8198, 1.3521, 8.0, 1, 100, 2460301.124913, 2460300.610896},
{2023, 12, 22.0, 103.8198, 1.3521, 8.0, 1, 1000, 2460301.122867, 2460300.612920},
{2024, 2, 29.0, 103.8198, 1.3521, 8.0, 0, 0, 2460370.448575, 2460369.926627},
{2024, 2, 29.0, 103.8198, 1.3521, 8.0, 0, 100, 2460370.447624, 2460369.927566},
{2024, 2, 29.0, 103.8198, 1.3521, 8.0, 0, 1000, 2460370.445566, 2460369.929597},
{2024, 2, 29.0, 103.8198, 1.3521, 8.0, 1, 0, 2460370.446104, 2460369.929066},
{2024, 2, 29.0, 103.8198, 1.3521, 8.0, 1, 100, 2460370.445152, 2460369.930006},
{2024, 2, 29.0, 103.8198, 1.3521, 8.0, 1, 1000, 2460370.443095, 2460369.932037},
{2025, 7, 4.0, 103.8198, 1.3521, 8.0, 0, 0, 2460861.083480, 2460860.562274},
{2025, 7, 4.0, 103.8198, 1.3521, 8.0, 0, 100, 2460861.082535, 2460860.563208},
{2025, 7, 4.0, 103.8198, 1.3521, 8.0, 0, 1000, 2460861.080493, 2460860.565226},
{2025, 7, 4.0, 103.8198, 1.3521, 8.0, 1, 0, 2460861.081027, 2460860.564699},
{2025, 7, 4.0, 103.8198, 1.3521, 8.0, 1, 100, 2460861.080082, 2460860.565633},
{2025, 7, 4.0, 103.8198, 1.3521, 8.0, 1, 1000, 2460861.078040, 2460860.567652},
{2023, 1, 15.0, -149.9003, 61.2181, -9.0, 0, 0, 2459959.611543, 2459959.989213},
{2023, 1, 15.0, -149.9003, 61.2181, -9.0, 0, 100, 2459959.609382, 2459959.991323},
{2023, 1, 15.0, -149.9003, 61.2181, -9.0, 0, 1000, 2459959.604747, 2459959.995844},
{2023, 1, 15.0, -149.9003, 61.2181, -9.0, 1, 0, 2459959.605960, 2459959.994661},
{2023, 1, 15.0, -149.9003, 61.2181, -9.0, 1, 100, 2459959.603827, 2459959.996741},
{2023, 1, 15.0, -149.9003, 61.2181, -9.0, 1, 1000, 2459959.599248, 2459960.001201},
{2023, 3, 20.0, -149.9003, 61.2181, -9.0, 0, 0, 2460023.818712, 2460024.240379},
{2023, 3, 20.0, -149.9003, 61.2181, -9.0, 0, 100, 2460023.816729, 2460024.242440},
{2023, 3, 20.0, -149.9003, 61.2181, -9.0, 0, 1000, 2460023.812466, 2460024.246878},
{2023, 3, 20.0, -149.9003, 61.2181, -9.0, 1, 0, 2460023.813583, 2460024.245714},
{2023, 3, 20.0, -149.9003, 61.2181, -9.0, 1, 100, 2460023.811618, 2460024.247761},
{2023, 3, 20.0, -149.9003, 61.2181, -9.0, 1, 1000, 2460023.807392, 2460024.252168},
{2023, 6, 21.0, -149.9003, 61.2181, -9.0, 0, 0, 2460116.779861, 2460116.541522},
{2023, 6, 21.0, -149.9003, 61.2181, -9.0, 0, 100, 2460116.776671, 2460116.544697},
{2023, 6, 21.0, -149.9003, 61.2181, -9.0, 0, 1000, 2460116.769512, 2460116.551826},
{2023, 6, 21.0, -149.9003, 61.2181, -9.0, 1, 0, 2460116.771431, 2460116.549915},
{2023, 6, 21.0, -149.9003, 61.2181, -9.0, 1, 100, 2460116.768034, 2460116.553298},
{2023, 6, 21.0, -149.9003, 61.2181, -9.0, 1, 1000, 2460116.760356, 2460116.560948},
{2023, 9, 23.0, -149.9003, 61.2181, -9.0, 0, 0, 2460211.309866, 2460211.381231},
{2023, 9, 23.0, -149.9003, 61.2181, -9.0, 0, 100, 2460211.300793, 2460211.390310},
{2023, 9, 23.0, -149.9003, 61.2181, -9.0, 0, 1000, 2460211.285614, 2460211.405503},
{2023, 9, 23.0, -149.9003, 61.2181, -9.0, 1, 0, 2460211.289218, 2460211.401895},
{2023, 9, 23.0, -149.9003, 61.2181, -9.0, 1, 100, 2460211.283007, 2460211.408113},
{2023, 9, 23.0, -149.9003, 61.2181, -9.0, 1, 1000, 2460211.271258, 2460211.419877},
{2023, 12, 22.0, -149.9003, 61.2181, -9.0, 0, 0, 2460301.058948, 2460300.705285},
{2023, 12, 22.0, -149.9003, 61.2181, -9.0, 0, 100, 2460301.056692, 2460300.707584},
{2023, 12, 22.0, -149.9003, 61.2181, -9.0, 0, 1000, 2460301.051751, 2460300.712617},
{2023, 12, 22.0, -149.9003, 61.2181, -9.0, 1, 0, 2460301.053058, 2460300.711286},
{2023, 12, 22.0, -149.9003, 61.2181, -9.0, 1, 100, 2460301.050753, 2460300.713633},
{2023, 12, 22.0, -149.9003, 61.2181, -9.0, 1, 1000, 2460301.045697, 2460300.718777},
{2024, 2, 29.0, -149.9003, 61.2181, -9.0, 0, 0, 2460369.516019, 2460369.852765},
{2024, 2, 29.0, -149.9003, 61.2181, -9.0, 0, 100, 2460369.513700, 2460369.855045},
{2024, 2, 29.0, -149.9003, 61.2181, -9.0, 0, 1000, 2460369.508748, 2460369.859912},
{2024, 2, 29.0, -149.9003, 61.2181, -9.0, 1, 0, 2460369.510042, 2460369.858641},
{2024, 2, 29.0, -149.9003, 61.2181, -9.0, 1, 100, 2460369.507768, 2460369.860875},
{2024, 2, 29.0, -149.9003, 61.2181, -9.0, 1, 1000, 2460369.502907, 2460369.865648},
{2025, 7, 4.0, -149.9003, 61.2181, -9.0, 0, 0, 2460861.205621, 2460861.493577},
{2025, 7, 4.0, -149.9003, 61.2181, -9.0, 0, 100, 2460861.203007, 2460861.496163},
{2025, 7, 4.0, -149.9003, 61.2181, -9.0, 0, 1000, 2460861.197464, 2460860.503626},
{2025, 7, 4.0, -149.9003, 61.2181, -9.0, 1, 0, 2460861.198907, 2460860.502401},
{2025, 7, 4.0, -149.9003, 61.2181, -9.0, 1, 100, 2460861.196373, 2460860.504555},
{2025, 7, 4.0, -149.9003, 61.2181, -9.0, 1, 1000, 2460861.190989, 2460860.509166},
{2023, 1, 15.0, -42.6043, 71.7069, -3.0, 0, 0, 2459959.583098, 2459959.895869},
{2023, 1, 15.0, -42.6043, 71.7069, -3.0, 0, 100, 2459959.579404, 2459959.899437},
{2023, 1, 15.0, -42.6043, 71.7069, -3.0, 0, 1000, 2459959.571589, 2459959.906971},
{2023, 1, 15.0, -42.6043, 71.7069, -3.0, 1, 0, 2459959.573623, 2459959.905012},
{2023, 1, 15.0, -42.6043, 71.7069, -3.0, 1, 100, 2459959.570055, 2459959.908447},
{2023, 1, 15.0, -42.6043, 71.7069, -3.0, 1, 1000, 2459959.562482, 2459959.915724},
{2023, 3, 20.0, -42.6043, 71.7069, -3.0, 0, 0, 2460023.817900, 2460024.130839},
{2023, 3, 20.0, -42.6043, 71.7069, -3.0, 0, 100, 2460023.814313, 2460024.134573},
{2023, 3, 20.0, -42.6043, 71.7069, -3.0, 0, 1000, 2460023.806740, 2460024.142474},
{2023, 3, 20.0, -42.6043, 71.7069, -3.0, 1, 0, 2460023.808709, 2460024.140418},
{2023, 3, 20.0, -42.6043, 71.7069, -3.0, 1, 100, 2460023.805257, 2460024.144025},
{2023, 3, 20.0, -42.6043, 71.7069, -3.0, 1, 1000, 2460023.797947, 2460024.151680},
2025-09-15 20:55:38 +08:00
{2023, 6, 21.0, -42.6043, 71.7069, -3.0, 0, 0, -1.000000, -1.000000},
{2023, 6, 21.0, -42.6043, 71.7069, -3.0, 0, 100, -1.000000, -1.000000},
{2023, 6, 21.0, -42.6043, 71.7069, -3.0, 0, 1000, -1.000000, -1.000000},
{2023, 6, 21.0, -42.6043, 71.7069, -3.0, 1, 0, -1.000000, -1.000000},
{2023, 6, 21.0, -42.6043, 71.7069, -3.0, 1, 100, -1.000000, -1.000000},
{2023, 6, 21.0, -42.6043, 71.7069, -3.0, 1, 1000, -1.000000, -1.000000},
{2023, 9, 23.0, -42.6043, 71.7069, -3.0, 0, 0, -2.000000, -2.000000},
{2023, 9, 23.0, -42.6043, 71.7069, -3.0, 0, 100, -2.000000, -2.000000},
{2023, 9, 23.0, -42.6043, 71.7069, -3.0, 0, 1000, -2.000000, -2.000000},
{2023, 9, 23.0, -42.6043, 71.7069, -3.0, 1, 0, -2.000000, -2.000000},
{2023, 9, 23.0, -42.6043, 71.7069, -3.0, 1, 100, -2.000000, -2.000000},
{2023, 9, 23.0, -42.6043, 71.7069, -3.0, 1, 1000, -2.000000, -2.000000},
{2023, 12, 22.0, -42.6043, 71.7069, -3.0, 0, 0, 2460300.951496, 2460300.689381},
{2023, 12, 22.0, -42.6043, 71.7069, -3.0, 0, 100, 2460300.947245, 2460300.693741},
{2023, 12, 22.0, -42.6043, 71.7069, -3.0, 0, 1000, 2460300.937621, 2460300.703591},
{2023, 12, 22.0, -42.6043, 71.7069, -3.0, 1, 0, 2460300.940215, 2460300.700939},
{2023, 12, 22.0, -42.6043, 71.7069, -3.0, 1, 100, 2460300.935621, 2460300.705636},
{2023, 12, 22.0, -42.6043, 71.7069, -3.0, 1, 1000, 2460300.925100, 2460300.716374},
{2024, 2, 29.0, -42.6043, 71.7069, -3.0, 0, 0, 2460369.510360, 2460369.738945},
{2024, 2, 29.0, -42.6043, 71.7069, -3.0, 0, 100, 2460369.505703, 2460369.743510},
{2024, 2, 29.0, -42.6043, 71.7069, -3.0, 0, 1000, -3.000000, 2460369.752915},
{2024, 2, 29.0, -42.6043, 71.7069, -3.0, 1, 0, -2.000000, 2460369.750498},
{2024, 2, 29.0, -42.6043, 71.7069, -3.0, 1, 100, -3.000000, 2460369.754725},
{2024, 2, 29.0, -42.6043, 71.7069, -3.0, 1, 1000, -3.000000, 2460369.763512},
{2025, 7, 4.0, -42.6043, 71.7069, -3.0, 0, 0, 2460861.253475, 2460861.326785},
{2025, 7, 4.0, -42.6043, 71.7069, -3.0, 0, 100, 2460861.241516, 2460861.338678},
{2025, 7, 4.0, -42.6043, 71.7069, -3.0, 0, 1000, 2460861.222342, 2460861.357705},
{2025, 7, 4.0, -42.6043, 71.7069, -3.0, 1, 0, 2460861.226848, 2460861.353239},
{2025, 7, 4.0, -42.6043, 71.7069, -3.0, 1, 100, 2460861.219103, 2460861.360914},
{2025, 7, 4.0, -42.6043, 71.7069, -3.0, 1, 1000, 2460861.204571, 2460861.375294},
2025-09-15 20:55:38 +08:00
{2023, 1, 15.0, 0.0000, -85.0000, 0.0, 0, 0, -1.000000, -1.000000},
{2023, 1, 15.0, 0.0000, -85.0000, 0.0, 0, 100, -1.000000, -1.000000},
{2023, 1, 15.0, 0.0000, -85.0000, 0.0, 0, 1000, -1.000000, -1.000000},
{2023, 1, 15.0, 0.0000, -85.0000, 0.0, 1, 0, -1.000000, -1.000000},
{2023, 1, 15.0, 0.0000, -85.0000, 0.0, 1, 100, -1.000000, -1.000000},
{2023, 1, 15.0, 0.0000, -85.0000, 0.0, 1, 1000, -1.000000, -1.000000},
{2023, 3, 20.0, 0.0000, -85.0000, 0.0, 0, 0, -1.000000, -1.000000},
{2023, 3, 20.0, 0.0000, -85.0000, 0.0, 0, 100, -1.000000, -1.000000},
{2023, 3, 20.0, 0.0000, -85.0000, 0.0, 0, 1000, -1.000000, -1.000000},
{2023, 3, 20.0, 0.0000, -85.0000, 0.0, 1, 0, -1.000000, -1.000000},
{2023, 3, 20.0, 0.0000, -85.0000, 0.0, 1, 100, -1.000000, -1.000000},
{2023, 3, 20.0, 0.0000, -85.0000, 0.0, 1, 1000, -1.000000, -1.000000},
{2023, 6, 21.0, 0.0000, -85.0000, 0.0, 0, 0, -2.000000, -2.000000},
{2023, 6, 21.0, 0.0000, -85.0000, 0.0, 0, 100, -2.000000, -2.000000},
{2023, 6, 21.0, 0.0000, -85.0000, 0.0, 0, 1000, -2.000000, -2.000000},
{2023, 6, 21.0, 0.0000, -85.0000, 0.0, 1, 0, -2.000000, -2.000000},
{2023, 6, 21.0, 0.0000, -85.0000, 0.0, 1, 100, -2.000000, -2.000000},
{2023, 6, 21.0, 0.0000, -85.0000, 0.0, 1, 1000, -2.000000, -2.000000},
{2023, 9, 23.0, 0.0000, -85.0000, 0.0, 0, 0, -1.000000, -1.000000},
{2023, 9, 23.0, 0.0000, -85.0000, 0.0, 0, 100, -1.000000, -1.000000},
{2023, 9, 23.0, 0.0000, -85.0000, 0.0, 0, 1000, -1.000000, -1.000000},
{2023, 9, 23.0, 0.0000, -85.0000, 0.0, 1, 0, -1.000000, -1.000000},
{2023, 9, 23.0, 0.0000, -85.0000, 0.0, 1, 100, -1.000000, -1.000000},
{2023, 9, 23.0, 0.0000, -85.0000, 0.0, 1, 1000, -1.000000, -1.000000},
{2023, 12, 22.0, 0.0000, -85.0000, 0.0, 0, 0, -2.000000, -2.000000},
{2023, 12, 22.0, 0.0000, -85.0000, 0.0, 0, 100, -2.000000, -2.000000},
{2023, 12, 22.0, 0.0000, -85.0000, 0.0, 0, 1000, -2.000000, -2.000000},
{2023, 12, 22.0, 0.0000, -85.0000, 0.0, 1, 0, -2.000000, -2.000000},
{2023, 12, 22.0, 0.0000, -85.0000, 0.0, 1, 100, -2.000000, -2.000000},
{2023, 12, 22.0, 0.0000, -85.0000, 0.0, 1, 1000, -2.000000, -2.000000},
{2024, 2, 29.0, 0.0000, -85.0000, 0.0, 0, 0, -1.000000, -1.000000},
{2024, 2, 29.0, 0.0000, -85.0000, 0.0, 0, 100, -1.000000, -1.000000},
{2024, 2, 29.0, 0.0000, -85.0000, 0.0, 0, 1000, -1.000000, -1.000000},
{2024, 2, 29.0, 0.0000, -85.0000, 0.0, 1, 0, -1.000000, -1.000000},
{2024, 2, 29.0, 0.0000, -85.0000, 0.0, 1, 100, -1.000000, -1.000000},
{2024, 2, 29.0, 0.0000, -85.0000, 0.0, 1, 1000, -1.000000, -1.000000},
{2025, 7, 4.0, 0.0000, -85.0000, 0.0, 0, 0, -1.000000, -1.000000},
{2025, 7, 4.0, 0.0000, -85.0000, 0.0, 0, 100, -1.000000, -1.000000},
{2025, 7, 4.0, 0.0000, -85.0000, 0.0, 0, 1000, -1.000000, -1.000000},
{2025, 7, 4.0, 0.0000, -85.0000, 0.0, 1, 0, -1.000000, -1.000000},
{2025, 7, 4.0, 0.0000, -85.0000, 0.0, 1, 100, -1.000000, -1.000000},
{2025, 7, 4.0, 0.0000, -85.0000, 0.0, 1, 1000, -1.000000, -1.000000},
}
// TestMoonRiseSetRegression 月出月落回归测试
func TestMoonRiseSetRegression(t *testing.T) {
beforeDeltaT := defDeltaTFn
2026-02-17 23:23:52 +08:00
SetDeltaTFn(DefaultDeltaTv2)
2025-09-15 20:55:38 +08:00
defer SetDeltaTFn(beforeDeltaT)
const (
geometricTolerance = 0.00011574074
dynamicCycleTolerance = 10.0 / 1440
dynamicResidualDegrees = 0.01
)
2025-09-15 20:55:38 +08:00
for i, testCase := range moonRiseSetTestData {
julianDay := JDECalc(testCase.Year, testCase.Month, testCase.Day)
// 测试月出时间
2026-02-17 23:23:52 +08:00
2026-05-01 22:38:44 +08:00
actualRise, riseErr := GetMoonRiseTime(julianDay, testCase.Longitude, testCase.Latitude,
2025-09-15 20:55:38 +08:00
testCase.TimeZone, testCase.ZenithShift, testCase.Height)
riseMatches := moonRiseSetMatches(actualRise, riseErr, testCase.ExpectedRise, geometricTolerance)
if testCase.ZenithShift != 0 {
riseMatches = moonRiseSetDynamicMatches(actualRise, riseErr, testCase, testCase.ExpectedRise,
dynamicCycleTolerance, dynamicResidualDegrees)
}
if !riseMatches {
2025-09-15 20:55:38 +08:00
t.Errorf("测试用例 %d 月出时间不匹配:\n"+
" 日期: %d-%d-%.1f, 经纬度: (%.4f, %.4f), 时区: %.1f, 天顶修正: %.0f, 海拔: %.0f\n"+
2026-05-01 22:38:44 +08:00
" 期望月出: %s, 实际月出: %.6f, 实际错误: %v, 差值: %.9f",
2025-09-15 20:55:38 +08:00
i, testCase.Year, testCase.Month, testCase.Day,
testCase.Longitude, testCase.Latitude, testCase.TimeZone,
testCase.ZenithShift, testCase.Height,
2026-05-01 22:38:44 +08:00
moonRiseSetExpectation(testCase.ExpectedRise), actualRise, riseErr, math.Abs(actualRise-testCase.ExpectedRise))
2025-09-15 20:55:38 +08:00
}
// 测试月落时间
2026-05-01 22:38:44 +08:00
actualSet, setErr := GetMoonSetTime(julianDay, testCase.Longitude, testCase.Latitude,
2025-09-15 20:55:38 +08:00
testCase.TimeZone, testCase.ZenithShift, testCase.Height)
setMatches := moonRiseSetMatches(actualSet, setErr, testCase.ExpectedSet, geometricTolerance)
if testCase.ZenithShift != 0 {
setMatches = moonRiseSetDynamicMatches(actualSet, setErr, testCase, testCase.ExpectedSet,
dynamicCycleTolerance, dynamicResidualDegrees)
}
if !setMatches {
2025-09-15 20:55:38 +08:00
t.Errorf("测试用例 %d 月落时间不匹配:\n"+
" 日期: %d-%d-%.1f, 经纬度: (%.4f, %.4f), 时区: %.1f, 天顶修正: %.0f, 海拔: %.0f\n"+
2026-05-01 22:38:44 +08:00
" 期望月落: %s, 实际月落: %.6f, 实际错误: %v, 差值: %.9f",
2025-09-15 20:55:38 +08:00
i, testCase.Year, testCase.Month, testCase.Day,
testCase.Longitude, testCase.Latitude, testCase.TimeZone,
testCase.ZenithShift, testCase.Height,
2026-05-01 22:38:44 +08:00
moonRiseSetExpectation(testCase.ExpectedSet), actualSet, setErr, math.Abs(actualSet-testCase.ExpectedSet))
2025-09-15 20:55:38 +08:00
}
}
t.Logf("月出月落回归测试通过,共测试 %d 个用例", len(moonRiseSetTestData))
}
// TestMoonRiseSetSpecialCases 测试特殊情况
func TestMoonRiseSetSpecialCases(t *testing.T) {
beforeDeltaT := defDeltaTFn
2026-02-17 23:23:52 +08:00
SetDeltaTFn(DefaultDeltaTv2)
2025-09-15 20:55:38 +08:00
defer SetDeltaTFn(beforeDeltaT)
testCases := []struct {
name string
year int
month int
day float64
longitude float64
latitude float64
timeZone float64
zenithShift float64
height float64
expectedRiseCode float64 // -1=拱, -2=沉, -3=明日
expectedSetCode float64
}{
{
name: "极地地区极昼测试",
year: 2023, month: 6, day: 21,
longitude: 0, latitude: 85,
timeZone: 0, zenithShift: 1, height: 0,
expectedRiseCode: -1, // 可能出现拱的情况
expectedSetCode: -1,
},
{
name: "极地地区极夜测试",
year: 2023, month: 12, day: 22,
longitude: 0, latitude: -85,
timeZone: 0, zenithShift: 1, height: 0,
expectedRiseCode: -2, // 可能出现沉的情况
expectedSetCode: -2,
},
}
for _, tc := range testCases {
t.Run(tc.name, func(t *testing.T) {
julianDay := JDECalc(tc.year, tc.month, tc.day)
2026-05-01 22:38:44 +08:00
actualRise, riseErr := GetMoonRiseTime(julianDay, tc.longitude, tc.latitude,
2025-09-15 20:55:38 +08:00
tc.timeZone, tc.zenithShift, tc.height)
2026-05-01 22:38:44 +08:00
actualSet, setErr := GetMoonSetTime(julianDay, tc.longitude, tc.latitude,
2025-09-15 20:55:38 +08:00
tc.timeZone, tc.zenithShift, tc.height)
2026-05-01 22:38:44 +08:00
t.Logf("特殊情况测试结果: 月出=%.6f err=%v, 月落=%.6f err=%v", actualRise, riseErr, actualSet, setErr)
2025-09-15 20:55:38 +08:00
2026-05-01 22:38:44 +08:00
if !errors.Is(riseErr, moonRiseSetExpectedError(tc.expectedRiseCode)) {
t.Errorf("月出特殊情况错误不匹配: got %v want %v", riseErr, moonRiseSetExpectedError(tc.expectedRiseCode))
2025-09-15 20:55:38 +08:00
}
2026-05-01 22:38:44 +08:00
if !errors.Is(setErr, moonRiseSetExpectedError(tc.expectedSetCode)) {
t.Errorf("月落特殊情况错误不匹配: got %v want %v", setErr, moonRiseSetExpectedError(tc.expectedSetCode))
2025-09-15 20:55:38 +08:00
}
})
}
}
2026-05-01 22:38:44 +08:00
func moonRiseSetExpectedError(code float64) error {
switch code {
case -1:
return ErrNeverSet
case -2:
return ErrNeverRise
case -3:
return ErrNotOnThisDate
default:
return nil
}
}
func moonRiseSetExpectation(code float64) string {
if err := moonRiseSetExpectedError(code); err != nil {
return err.Error()
}
return JDE2Date(code).String()
}
func moonRiseSetMatches(actual float64, err error, expected float64, tolerance float64) bool {
expectedErr := moonRiseSetExpectedError(expected)
if expectedErr != nil {
return errors.Is(err, expectedErr)
}
if err != nil {
return false
}
return floatEquals(actual, expected, tolerance)
}
func moonRiseSetDynamicMatches(actual float64, err error, testCase MoonRiseSetTestCase, legacyExpected, cycleTolerance, residualTolerance float64) bool {
if expectedErr := moonRiseSetExpectedError(legacyExpected); expectedErr != nil {
if errors.Is(expectedErr, ErrNotOnThisDate) && err == nil {
return moonRiseSetNearCivilBoundary(actual, testCase, cycleTolerance) &&
moonRiseSetDynamicResidualMatches(actual, testCase, residualTolerance)
}
return errors.Is(err, expectedErr)
}
if errors.Is(err, ErrNotOnThisDate) {
return moonRiseSetNearCivilBoundary(legacyExpected, testCase, cycleTolerance)
}
if err != nil || math.Abs(actual-legacyExpected) > cycleTolerance {
return false
}
return moonRiseSetDynamicResidualMatches(actual, testCase, residualTolerance)
}
func moonRiseSetDynamicResidualMatches(actual float64, testCase MoonRiseSetTestCase, residualTolerance float64) bool {
localTimeZone := testCase.Longitude / 15
localJD := actual + localTimeZone/24 - testCase.TimeZone/24
residual := moonRiseSetResidual(localJD, testCase.Longitude, testCase.Latitude, localTimeZone,
testCase.ZenithShift, testCase.Height, -1)
return math.Abs(residual) <= residualTolerance
}
func moonRiseSetNearCivilBoundary(jd float64, testCase MoonRiseSetTestCase, tolerance float64) bool {
dayStart := math.Floor(JDECalc(testCase.Year, testCase.Month, testCase.Day)) + 0.5
return math.Abs(jd-dayStart) <= tolerance || math.Abs(jd-(dayStart+1)) <= tolerance
}
2025-09-15 20:55:38 +08:00
// floatEquals 比较两个浮点数是否在给定容差内相等
func floatEquals(a, b, tolerance float64) bool {
return math.Abs(a-b) <= tolerance
}
// BenchmarkMoonRiseTime 月出时间计算性能测试
func BenchmarkMoonRiseTime(b *testing.B) {
julianDay := JDECalc(2023, 6, 21)
longitude, latitude := 116.4074, 39.9042
timeZone, zenithShift, height := 8.0, 1.0, 0.0
b.ResetTimer()
for i := 0; i < b.N; i++ {
2026-05-01 22:38:44 +08:00
_, _ = GetMoonRiseTime(julianDay, longitude, latitude, timeZone, zenithShift, height)
2025-09-15 20:55:38 +08:00
}
}
// BenchmarkMoonSetTime 月落时间计算性能测试
func BenchmarkMoonSetTime(b *testing.B) {
julianDay := JDECalc(2023, 6, 21)
longitude, latitude := 116.4074, 39.9042
timeZone, zenithShift, height := 8.0, 1.0, 0.0
b.ResetTimer()
for i := 0; i < b.N; i++ {
2026-05-01 22:38:44 +08:00
_, _ = GetMoonSetTime(julianDay, longitude, latitude, timeZone, zenithShift, height)
2025-09-15 20:55:38 +08:00
}
}