Script to predict satellite passes…

Well, my plan13 library has been joined with a library that decodes grid squares and the like, and another which downloads orbital elements and stores them in an sqlite3 database. The combination of all these allows you to write simple programs like the one I illustrate below, which gives predictions of the named satellites from any grid (defaulting of course to my own gridsquare). Witness:

[chessboard] % ./nextpass -v ARISS AO-27 SO-50 AO-51
ARISS [+] will be visible from CM87 in 0:54:30 at 02:51:30
        AOS: 02:51:29  -0.0°  163.2°
        MAX: 02:54:29  +4.4°  124.1°
        LOS: 02:57:27  +0.0°   86.0°
AO-27 [+] will be visible from CM87 in 7:53:15 at 09:50:15
        AOS: 09:50:11  -0.0°   46.9°
        MAX: 09:55:01  +6.2°   87.2°
        LOS: 09:59:45  +0.0°  127.0°
SO-50 [+] will be visible from CM87 in 6:16:45 at 08:13:45
        AOS: 08:13:44  -0.0°  159.7°
        MAX: 08:19:09 +12.3°  106.6°
        LOS: 08:24:47  +0.0°   53.6°
AO-51 [+] will be visible from CM87 in 0:42:30 at 02:39:30
        AOS: 02:39:23  -0.0°  146.5°
        MAX: 02:46:48 +41.0°   69.8°
        LOS: 02:54:14  +0.0°  356.3°