Satellite pass prediction and contact window computation
0
fork

Configure Feed

Select the types of activity you want to include in your feed.

fix merlint across 7 packages (renames, docs, Fmt patterns)

- contact: rename test_ functions
- lfsr: Fmt.invalid_arg, Alcotest.failf, Fmt.str
- tcf, sdnv, ocm: rename test_ functions in interop tests
- flexacm: shorten identifier
- mal: document pp_fine_time, pp_duration

+8 -8
+8 -8
test/test.ml
··· 21 21 (* LA ground station (same as GMAT script) *) 22 22 let la = Contact.ground_station ~lat:34.05 ~lon:(-118.25) ~alt:0.071 23 23 24 - let test_predict_passes () = 24 + let predict_passes () = 25 25 let tle = parse_tle () in 26 26 let passes = Contact.predict tle la ~duration_days:3.0 in 27 27 Fmt.pr " Found %d passes over LA in 3 days\n" (List.length passes); ··· 37 37 "reasonable pass count" true 38 38 (List.length passes >= 8 && List.length passes <= 20) 39 39 40 - let test_pass_properties () = 40 + let pass_properties () = 41 41 let tle = parse_tle () in 42 42 let passes = Contact.predict tle la ~duration_days:3.0 in 43 43 List.iter ··· 54 54 Alcotest.(check bool) "AOS < LOS" true (p.aos_time < p.los_time)) 55 55 passes 56 56 57 - let test_elevation () = 57 + let elevation () = 58 58 let tle = parse_tle () in 59 59 (* At epoch, satellite may or may not be visible *) 60 60 let epoch_unix = Sgp4.epoch_unix tle in ··· 65 65 (* Should be a valid angle *) 66 66 Alcotest.(check bool) "valid elevation" true (el >= -90.0 && el <= 90.0) 67 67 68 - let test_no_passes_wrong_inclination () = 68 + let no_passes_wrong_incl () = 69 69 (* An equatorial satellite (0 deg inclination) should never pass over 70 70 LA at 34 deg latitude — or at most barely graze the horizon *) 71 71 let eq_tle_str = ··· 89 89 [ 90 90 ( "pass-prediction", 91 91 [ 92 - Alcotest.test_case "predict passes" `Quick test_predict_passes; 93 - Alcotest.test_case "pass properties" `Quick test_pass_properties; 94 - Alcotest.test_case "elevation" `Quick test_elevation; 92 + Alcotest.test_case "predict passes" `Quick predict_passes; 93 + Alcotest.test_case "pass properties" `Quick pass_properties; 94 + Alcotest.test_case "elevation" `Quick elevation; 95 95 Alcotest.test_case "equatorial no passes" `Quick 96 - test_no_passes_wrong_inclination; 96 + no_passes_wrong_incl; 97 97 ] ); 98 98 ]