{"id":"v001","input":{"lat":39.7392,"lon":-104.9903,"date":"2026-06-21","offset":"-06:00"},"expect":{"result.civil_dawn":"2026-06-21 05:00 local (2026-06-21 1100Z)","result.sunrise":"2026-06-21 05:32 local (2026-06-21 1132Z)","result.solar_noon":"2026-06-21 13:02 local (2026-06-21 1902Z)","result.sunset":"2026-06-21 20:31 local (2026-06-22 0231Z)","result.civil_dusk":"2026-06-21 21:04 local (2026-06-22 0304Z)","ok":true},"source":"USNO Astronomical Applications API rstt/oneday, retrieved 2026-09-18","sourceVersion":"API 4.0.1","tolerance":{}}
{"id":"v002","input":{"lat":40.4406,"lon":-79.9959,"date":"2026-09-18","offset":"-04:00"},"expect":{"result.civil_dawn":"2026-09-18 06:36 local (2026-09-18 1036Z)","result.sunrise":"2026-09-18 07:04 local (2026-09-18 1104Z)","result.solar_noon":"2026-09-18 13:14 local (2026-09-18 1714Z)","result.sunset":"2026-09-18 19:24 local (2026-09-18 2324Z)","result.civil_dusk":"2026-09-18 19:51 local (2026-09-18 2351Z)","ok":true},"source":"USNO Astronomical Applications API rstt/oneday, retrieved 2026-09-18","sourceVersion":"API 4.0.1","tolerance":{}}
{"id":"v003","input":{"lat":-33.8688,"lon":151.2093,"date":"2026-12-21","offset":"+11:00"},"expect":{"result.sunrise":"2026-12-21 05:41 local (2026-12-20 1841Z)","result.solar_noon":"2026-12-21 12:53 local (2026-12-21 0153Z)","result.sunset":"2026-12-21 20:05 local (2026-12-21 0905Z)","ok":true},"source":"USNO Astronomical Applications API rstt/oneday, retrieved 2026-09-18","sourceVersion":"API 4.0.1","tolerance":{}}
{"id":"v004","input":{"lat":71.29,"lon":-156.79,"date":"2026-12-21","offset":"-09:00"},"expect":{"result.state":"polar-night","result.sunrise":"polar-night","result.day_minutes":0.0,"ok":true},"source":"USNO Astronomical Applications API rstt/oneday, retrieved 2026-09-18","sourceVersion":"API 4.0.1","tolerance":{"result.day_minutes":{"rel":0,"abs":1e-09}}}
{"id":"v005","input":{"lat":69.65,"lon":18.96,"date":"2026-06-21","offset":"+02:00"},"expect":{"result.state":"polar-day","result.civil_dusk":"no-civil-twilight-end","result.solar_noon":"2026-06-21 12:46 local (2026-06-21 1046Z)","ok":true},"source":"USNO Astronomical Applications API rstt/oneday, retrieved 2026-09-18","sourceVersion":"API 4.0.1","tolerance":{}}
{"id":"v006","input":{"lat":51.5074,"lon":-0.1278,"date":"2026-01-15","offset":"+00:00"},"expect":{"result.solar_noon":"2026-01-15 12:10 local (2026-01-15 1210Z)","result.sunset":"2026-01-15 16:21 local (2026-01-15 1621Z)","result.civil_dusk":"2026-01-15 16:59 local (2026-01-15 1659Z)","ok":true},"source":"USNO Astronomical Applications API rstt/oneday, retrieved 2026-09-18","sourceVersion":"API 4.0.1","tolerance":{}}
{"id":"v007","input":{"lat":39.7392,"lon":-104.9903,"date":"2026-06-21","offset":"America/Denver"},"expect":{"ok":false,"error.code":"UNSUPPORTED"},"source":"add-practitioner-essentials scenarios","sourceVersion":"2026","tolerance":{},"supersededBy":"v009","reason":"Named IANA zones are now supported, so America/Denver resolves instead of returning UNSUPPORTED"}
{"id":"v009","input":{"lat":39.7392,"lon":-104.9903,"date":"2026-06-21","offset":"America/Denver"},"expect":{"result.sunset":"2026-06-21 20:31 local (2026-06-22 0231Z)","ok":true},"source":"USNO Astronomical Applications API rstt/oneday, retrieved 2026-09-18","sourceVersion":"API 4.0.1","tolerance":{}}
{"id":"v008","input":{"lat":39.7392,"lon":-104.9903,"date":"2026-06-21","offset":"Mars/Olympus"},"expect":{"ok":false,"error.code":"INVALID_INPUT"},"source":"add-practitioner-essentials scenarios","sourceVersion":"2026","tolerance":{}}
{"id":"v010","input":{"lat":58.7834,"lon":12.6764,"date":"2026-12-25","offset":"+01:00"},"expect":{"result.day_minutes":375.0,"ok":true},"source":"USNO Astronomical Applications API rstt/oneday, retrieved 2026-09-19 (tools/vectors/gen_usno_sun.py)","sourceVersion":"API 4.0.1","tolerance":{"result.day_minutes":{"rel":0,"abs":2.0}}}
{"id":"v011","input":{"lat":-42.551,"lon":173.4172,"date":"2026-01-22","offset":"+12:00"},"expect":{"result.day_minutes":884.0,"ok":true},"source":"USNO Astronomical Applications API rstt/oneday, retrieved 2026-09-19 (tools/vectors/gen_usno_sun.py)","sourceVersion":"API 4.0.1","tolerance":{"result.day_minutes":{"rel":0,"abs":2.0}}}
{"id":"v012","input":{"lat":-52.4228,"lon":-96.7791,"date":"2026-12-15","offset":"-06:00"},"expect":{"result.day_minutes":1007.0,"ok":true},"source":"USNO Astronomical Applications API rstt/oneday, retrieved 2026-09-19 (tools/vectors/gen_usno_sun.py)","sourceVersion":"API 4.0.1","tolerance":{"result.day_minutes":{"rel":0,"abs":2.0}}}
{"id":"v013","input":{"lat":5.7587,"lon":-106.2256,"date":"2026-10-03","offset":"-07:00"},"expect":{"result.day_minutes":723.0,"ok":true},"source":"USNO Astronomical Applications API rstt/oneday, retrieved 2026-09-19 (tools/vectors/gen_usno_sun.py)","sourceVersion":"API 4.0.1","tolerance":{"result.day_minutes":{"rel":0,"abs":2.0}}}
{"id":"v014","input":{"lat":-45.2315,"lon":97.2892,"date":"2026-07-11","offset":"+06:00"},"expect":{"result.day_minutes":537.0,"ok":true},"source":"USNO Astronomical Applications API rstt/oneday, retrieved 2026-09-19 (tools/vectors/gen_usno_sun.py)","sourceVersion":"API 4.0.1","tolerance":{"result.day_minutes":{"rel":0,"abs":2.0}}}
{"id":"v015","input":{"lat":-68.6969,"lon":34.8684,"date":"2026-04-07","offset":"+02:00"},"expect":{"result.day_minutes":594.0,"ok":true},"source":"USNO Astronomical Applications API rstt/oneday, retrieved 2026-09-19 (tools/vectors/gen_usno_sun.py)","sourceVersion":"API 4.0.1","tolerance":{"result.day_minutes":{"rel":0,"abs":2.0}}}
{"id":"v016","input":{"lat":30.4968,"lon":-30.1184,"date":"2026-11-18","offset":"-02:00"},"expect":{"result.day_minutes":633.0,"ok":true},"source":"USNO Astronomical Applications API rstt/oneday, retrieved 2026-09-19 (tools/vectors/gen_usno_sun.py)","sourceVersion":"API 4.0.1","tolerance":{"result.day_minutes":{"rel":0,"abs":2.0}}}
{"id":"v017","input":{"lat":-52.4934,"lon":-161.4371,"date":"2026-03-12","offset":"-11:00"},"expect":{"result.day_minutes":762.0,"ok":true},"source":"USNO Astronomical Applications API rstt/oneday, retrieved 2026-09-19 (tools/vectors/gen_usno_sun.py)","sourceVersion":"API 4.0.1","tolerance":{"result.day_minutes":{"rel":0,"abs":2.0}}}
{"id":"v018","input":{"lat":-43.1574,"lon":-126.855,"date":"2026-07-01","offset":"-08:00"},"expect":{"result.day_minutes":543.0,"ok":true},"source":"USNO Astronomical Applications API rstt/oneday, retrieved 2026-09-19 (tools/vectors/gen_usno_sun.py)","sourceVersion":"API 4.0.1","tolerance":{"result.day_minutes":{"rel":0,"abs":2.0}}}
{"id":"v019","input":{"lat":-49.2359,"lon":11.244,"date":"2026-08-21","offset":"+01:00"},"expect":{"result.day_minutes":617.0,"ok":true},"source":"USNO Astronomical Applications API rstt/oneday, retrieved 2026-09-19 (tools/vectors/gen_usno_sun.py)","sourceVersion":"API 4.0.1","tolerance":{"result.day_minutes":{"rel":0,"abs":2.0}}}
{"id":"v020","input":{"lat":41.1093,"lon":-105.2134,"date":"2026-07-24","offset":"-07:00"},"expect":{"result.day_minutes":876.0,"ok":true},"source":"USNO Astronomical Applications API rstt/oneday, retrieved 2026-09-19 (tools/vectors/gen_usno_sun.py)","sourceVersion":"API 4.0.1","tolerance":{"result.day_minutes":{"rel":0,"abs":2.0}}}
{"id":"v021","input":{"lat":65.6747,"lon":-6.4461,"date":"2026-05-11","offset":"+00:00"},"expect":{"result.day_minutes":1111.0,"ok":true},"source":"USNO Astronomical Applications API rstt/oneday, retrieved 2026-09-19 (tools/vectors/gen_usno_sun.py)","sourceVersion":"API 4.0.1","tolerance":{"result.day_minutes":{"rel":0,"abs":2.0}}}
{"id":"v022","input":{"lat":-67.19,"lon":-88.2887,"date":"2026-02-01","offset":"-06:00"},"expect":{"result.civil_dawn":"no-civil-twilight-begin","result.civil_dusk":"2026-02-01 23:59 local (2026-02-02 0559Z)","result.sunset":"2026-02-01 21:24 local (2026-02-02 0324Z)","ok":true},"source":"USNO Astronomical Applications API rstt/oneday, retrieved 2026-09-19 (tools/vectors/gen_usno_sun.py)","sourceVersion":"API 4.0.1","tolerance":{}}
{"id":"v023","input":{"lat":61.2181,"lon":-149.9003,"date":"2026-06-21","offset":"America/Anchorage"},"expect":{"result.civil_dawn":"no-civil-twilight-begin","result.civil_dusk":"no-civil-twilight-end","display.civil_dawn":"None: the sun does not get low enough for civil twilight to begin","display.civil_dusk":"None: the sun does not get low enough for civil twilight to end","ok":true},"source":"Hand computation of the sun's lowest altitude, latitude + declination − 90°: at Anchorage (61.22° N) on the June solstice (declination 23.44°) it is −5.34°, above the −6° civil twilight limit, so civil twilight neither begins nor ends","sourceVersion":"Meeus, Astronomical Algorithms, 2nd edition","tolerance":{}}
{"id":"v024","input":{"lat":71.29,"lon":-156.79,"date":"2026-06-21","offset":"America/Anchorage"},"expect":{"result.sunrise":"polar-day","result.state":"polar-day","display.sunrise":"Polar day: the sun stays up all day","summary":"The sun stays up all day, so there is no sunrise or sunset.","ok":true},"source":"Hand computation of the sun's lowest altitude, latitude + declination − 90°: at Utqiagvik (71.29° N) on the June solstice (declination 23.44°) it is +4.73°, above the −0.833° sunrise altitude, so the sun does not set","sourceVersion":"Meeus, Astronomical Algorithms, 2nd edition","tolerance":{}}
