solar-positioning 0.5.2

High-accuracy solar positioning algorithms (SPA and Grena3) for calculating sun position and sunrise/sunset/twilight times
Documentation
# Reference civil twilight data obtained from the US Naval Observatory website.
# format: date lat lon type sunrise sunset
# Anchorage US
2020-01-05T12:00:00Z,61.21666666666667,-149.86666666666667,NORMAL,18:11,01:58
2020-01-15T12:00:00Z,61.21666666666667,-149.86666666666667,NORMAL,18:01,02:15
2020-01-25T12:00:00Z,61.21666666666667,-149.86666666666667,NORMAL,17:45,02:37
2020-02-05T12:00:00Z,61.21666666666667,-149.86666666666667,NORMAL,17:22,03:04
2020-02-15T12:00:00Z,61.21666666666667,-149.86666666666667,NORMAL,16:57,03:29
2020-02-25T12:00:00Z,61.21666666666667,-149.86666666666667,NORMAL,16:29,03:55
2020-03-05T12:00:00Z,61.21666666666667,-149.86666666666667,NORMAL,16:02,04:18
2020-03-15T12:00:00Z,61.21666666666667,-149.86666666666667,NORMAL,15:31,04:44
2020-03-25T12:00:00Z,61.21666666666667,-149.86666666666667,NORMAL,14:59,05:11
2020-04-05T12:00:00Z,61.21666666666667,-149.86666666666667,NORMAL,14:22,05:41
2020-04-15T12:00:00Z,61.21666666666667,-149.86666666666667,NORMAL,13:48,06:10
2020-04-25T12:00:00Z,61.21666666666667,-149.86666666666667,NORMAL,13:13,06:41
2020-05-05T12:00:00Z,61.21666666666667,-149.86666666666667,NORMAL,12:37,07:15
2020-05-15T12:00:00Z,61.21666666666667,-149.86666666666667,NORMAL,12:00,07:52
2020-05-25T12:00:00Z,61.21666666666667,-149.86666666666667,NORMAL,11:20,08:32
2020-06-05T12:00:00Z,61.21666666666667,-149.86666666666667,NORMAL,10:24,09:32
2020-06-15T12:00:00Z,61.21666666666667,-149.86666666666667,ALL_DAY,,
2020-06-25T12:00:00Z,61.21666666666667,-149.86666666666667,ALL_DAY,,
2020-07-05T12:00:00Z,61.21666666666667,-149.86666666666667,NORMAL,10:21,09:48
2020-07-15T12:00:00Z,61.21666666666667,-149.86666666666667,NORMAL,11:21,08:51
2020-07-25T12:00:00Z,61.21666666666667,-149.86666666666667,NORMAL,12:02,08:10
2020-08-05T12:00:00Z,61.21666666666667,-149.86666666666667,NORMAL,12:42,07:29
2020-08-15T12:00:00Z,61.21666666666667,-149.86666666666667,NORMAL,13:15,06:53
2020-08-25T12:00:00Z,61.21666666666667,-149.86666666666667,NORMAL,13:46,06:18
2020-09-05T12:00:00Z,61.21666666666667,-149.86666666666667,NORMAL,14:17,05:40
2020-09-15T12:00:00Z,61.21666666666667,-149.86666666666667,NORMAL,14:44,05:06
2020-09-25T12:00:00Z,61.21666666666667,-149.86666666666667,NORMAL,15:10,04:34
2020-10-05T12:00:00Z,61.21666666666667,-149.86666666666667,NORMAL,15:35,04:02
2020-10-15T12:00:00Z,61.21666666666667,-149.86666666666667,NORMAL,16:00,03:32
2020-10-25T12:00:00Z,61.21666666666667,-149.86666666666667,NORMAL,16:25,03:04
2020-11-05T12:00:00Z,61.21666666666667,-149.86666666666667,NORMAL,16:52,02:36
2020-11-15T12:00:00Z,61.21666666666667,-149.86666666666667,NORMAL,17:15,02:14
2020-11-25T12:00:00Z,61.21666666666667,-149.86666666666667,NORMAL,17:37,01:57
2020-12-05T12:00:00Z,61.21666666666667,-149.86666666666667,NORMAL,17:55,01:46
2020-12-15T12:00:00Z,61.21666666666667,-149.86666666666667,NORMAL,18:08,01:42
2020-12-25T12:00:00Z,61.21666666666667,-149.86666666666667,NORMAL,18:13,01:46
# Auckland NZ
2023-01-05T12:00:00Z,-36.833333333333336,174.8,NORMAL,16:38,08:14
2023-01-15T12:00:00Z,-36.833333333333336,174.8,NORMAL,16:49,08:12
2023-01-25T12:00:00Z,-36.833333333333336,174.8,NORMAL,17:00,08:06
2023-02-05T12:00:00Z,-36.833333333333336,174.8,NORMAL,17:13,07:57
2023-02-15T12:00:00Z,-36.833333333333336,174.8,NORMAL,17:25,07:45
2023-02-25T12:00:00Z,-36.833333333333336,174.8,NORMAL,17:36,07:32
2023-03-05T12:00:00Z,-36.833333333333336,174.8,NORMAL,17:44,07:21
2023-03-15T12:00:00Z,-36.833333333333336,174.8,NORMAL,17:54,07:07
2023-03-25T12:00:00Z,-36.833333333333336,174.8,NORMAL,18:03,06:52
2023-04-05T12:00:00Z,-36.833333333333336,174.8,NORMAL,18:12,06:36
2023-04-15T12:00:00Z,-36.833333333333336,174.8,NORMAL,18:20,06:22
2023-04-25T12:00:00Z,-36.833333333333336,174.8,NORMAL,18:29,06:10
2023-05-05T12:00:00Z,-36.833333333333336,174.8,NORMAL,18:37,05:59
2023-05-15T12:00:00Z,-36.833333333333336,174.8,NORMAL,18:45,05:50
2023-05-25T12:00:00Z,-36.833333333333336,174.8,NORMAL,18:52,05:44
2023-06-05T12:00:00Z,-36.833333333333336,174.8,NORMAL,18:58,05:40
2023-06-15T12:00:00Z,-36.833333333333336,174.8,NORMAL,19:03,05:40
2023-06-25T12:00:00Z,-36.833333333333336,174.8,NORMAL,19:05,05:42
2023-07-05T12:00:00Z,-36.833333333333336,174.8,NORMAL,19:05,05:45
2023-07-15T12:00:00Z,-36.833333333333336,174.8,NORMAL,19:02,05:51
2023-07-25T12:00:00Z,-36.833333333333336,174.8,NORMAL,18:57,05:58
2023-08-05T12:00:00Z,-36.833333333333336,174.8,NORMAL,18:48,06:06
2023-08-15T12:00:00Z,-36.833333333333336,174.8,NORMAL,18:37,06:13
2023-08-25T12:00:00Z,-36.833333333333336,174.8,NORMAL,18:25,06:21
2023-09-05T12:00:00Z,-36.833333333333336,174.8,NORMAL,18:10,06:29
2023-09-15T12:00:00Z,-36.833333333333336,174.8,NORMAL,17:55,06:37
2023-09-25T12:00:00Z,-36.833333333333336,174.8,NORMAL,17:40,06:45
2023-10-05T12:00:00Z,-36.833333333333336,174.8,NORMAL,17:24,06:54
2023-10-15T12:00:00Z,-36.833333333333336,174.8,NORMAL,17:10,07:03
2023-10-25T12:00:00Z,-36.833333333333336,174.8,NORMAL,16:56,07:13
2023-11-05T12:00:00Z,-36.833333333333336,174.8,NORMAL,16:43,07:25
2023-11-15T12:00:00Z,-36.833333333333336,174.8,NORMAL,16:34,07:36
2023-11-25T12:00:00Z,-36.833333333333336,174.8,NORMAL,16:27,07:48
2023-12-05T12:00:00Z,-36.833333333333336,174.8,NORMAL,16:24,07:58
2023-12-15T12:00:00Z,-36.833333333333336,174.8,NORMAL,16:25,08:06
2023-12-25T12:00:00Z,-36.833333333333336,174.8,NORMAL,16:30,08:12
# Brasilia BR
2023-01-05T12:00:00Z,-15.8,-47.85,NORMAL,08:22,22:11
2023-01-15T12:00:00Z,-15.8,-47.85,NORMAL,08:28,22:13
2023-01-25T12:00:00Z,-15.8,-47.85,NORMAL,08:35,22:13
2023-02-05T12:00:00Z,-15.8,-47.85,NORMAL,08:41,22:10
2023-02-15T12:00:00Z,-15.8,-47.85,NORMAL,08:45,22:06
2023-02-25T12:00:00Z,-15.8,-47.85,NORMAL,08:49,22:00
2023-03-05T12:00:00Z,-15.8,-47.85,NORMAL,08:51,21:55
2023-03-15T12:00:00Z,-15.8,-47.85,NORMAL,08:53,21:47
2023-03-25T12:00:00Z,-15.8,-47.85,NORMAL,08:55,21:40
2023-04-05T12:00:00Z,-15.8,-47.85,NORMAL,08:56,21:32
2023-04-15T12:00:00Z,-15.8,-47.85,NORMAL,08:57,21:25
2023-04-25T12:00:00Z,-15.8,-47.85,NORMAL,08:59,21:20
2023-05-05T12:00:00Z,-15.8,-47.85,NORMAL,09:01,21:15
2023-05-15T12:00:00Z,-15.8,-47.85,NORMAL,09:04,21:12
2023-05-25T12:00:00Z,-15.8,-47.85,NORMAL,09:06,21:10
2023-06-05T12:00:00Z,-15.8,-47.85,NORMAL,09:10,21:10
2023-06-15T12:00:00Z,-15.8,-47.85,NORMAL,09:13,21:11
2023-06-25T12:00:00Z,-15.8,-47.85,NORMAL,09:15,21:13
2023-07-05T12:00:00Z,-15.8,-47.85,NORMAL,09:16,21:16
2023-07-15T12:00:00Z,-15.8,-47.85,NORMAL,09:16,21:19
2023-07-25T12:00:00Z,-15.8,-47.85,NORMAL,09:15,21:21
2023-08-05T12:00:00Z,-15.8,-47.85,NORMAL,09:11,21:24
2023-08-15T12:00:00Z,-15.8,-47.85,NORMAL,09:07,21:25
2023-08-25T12:00:00Z,-15.8,-47.85,NORMAL,09:01,21:27
2023-09-05T12:00:00Z,-15.8,-47.85,NORMAL,08:53,21:28
2023-09-15T12:00:00Z,-15.8,-47.85,NORMAL,08:45,21:28
2023-09-25T12:00:00Z,-15.8,-47.85,NORMAL,08:37,21:29
2023-10-05T12:00:00Z,-15.8,-47.85,NORMAL,08:30,21:30
2023-10-15T12:00:00Z,-15.8,-47.85,NORMAL,08:22,21:32
2023-10-25T12:00:00Z,-15.8,-47.85,NORMAL,08:16,21:35
2023-11-05T12:00:00Z,-15.8,-47.85,NORMAL,08:11,21:39
2023-11-15T12:00:00Z,-15.8,-47.85,NORMAL,08:08,21:44
2023-11-25T12:00:00Z,-15.8,-47.85,NORMAL,08:07,21:50
2023-12-05T12:00:00Z,-15.8,-47.85,NORMAL,08:08,21:56
2023-12-15T12:00:00Z,-15.8,-47.85,NORMAL,08:11,22:02
2023-12-25T12:00:00Z,-15.8,-47.85,NORMAL,08:16,22:07
# Singapore SG
2023-01-05T12:00:00Z,1.2833333333333332,103.83333333333333,NORMAL,22:46,11:34
2023-01-15T12:00:00Z,1.2833333333333332,103.83333333333333,NORMAL,22:50,11:38
2023-01-25T12:00:00Z,1.2833333333333332,103.83333333333333,NORMAL,22:53,11:41
2023-02-05T12:00:00Z,1.2833333333333332,103.83333333333333,NORMAL,22:55,11:42
2023-02-15T12:00:00Z,1.2833333333333332,103.83333333333333,NORMAL,22:55,11:42
2023-02-25T12:00:00Z,1.2833333333333332,103.83333333333333,NORMAL,22:54,11:41
2023-03-05T12:00:00Z,1.2833333333333332,103.83333333333333,NORMAL,22:52,11:40
2023-03-15T12:00:00Z,1.2833333333333332,103.83333333333333,NORMAL,22:50,11:37
2023-03-25T12:00:00Z,1.2833333333333332,103.83333333333333,NORMAL,22:46,11:35
2023-04-05T12:00:00Z,1.2833333333333332,103.83333333333333,NORMAL,22:43,11:32
2023-04-15T12:00:00Z,1.2833333333333332,103.83333333333333,NORMAL,22:39,11:30
2023-04-25T12:00:00Z,1.2833333333333332,103.83333333333333,NORMAL,22:37,11:29
2023-05-05T12:00:00Z,1.2833333333333332,103.83333333333333,NORMAL,22:35,11:28
2023-05-15T12:00:00Z,1.2833333333333332,103.83333333333333,NORMAL,22:34,11:28
2023-05-25T12:00:00Z,1.2833333333333332,103.83333333333333,NORMAL,22:34,11:29
2023-06-05T12:00:00Z,1.2833333333333332,103.83333333333333,NORMAL,22:35,11:31
2023-06-15T12:00:00Z,1.2833333333333332,103.83333333333333,NORMAL,22:37,11:34
2023-06-25T12:00:00Z,1.2833333333333332,103.83333333333333,NORMAL,22:39,11:36
2023-07-05T12:00:00Z,1.2833333333333332,103.83333333333333,NORMAL,22:41,11:37
2023-07-15T12:00:00Z,1.2833333333333332,103.83333333333333,NORMAL,22:43,11:39
2023-07-25T12:00:00Z,1.2833333333333332,103.83333333333333,NORMAL,22:44,11:39
2023-08-05T12:00:00Z,1.2833333333333332,103.83333333333333,NORMAL,22:44,11:37
2023-08-15T12:00:00Z,1.2833333333333332,103.83333333333333,NORMAL,22:43,11:35
2023-08-25T12:00:00Z,1.2833333333333332,103.83333333333333,NORMAL,22:41,11:32
2023-09-05T12:00:00Z,1.2833333333333332,103.83333333333333,NORMAL,22:39,11:28
2023-09-15T12:00:00Z,1.2833333333333332,103.83333333333333,NORMAL,22:36,11:24
2023-09-25T12:00:00Z,1.2833333333333332,103.83333333333333,NORMAL,22:32,11:20
2023-10-05T12:00:00Z,1.2833333333333332,103.83333333333333,NORMAL,22:29,11:17
2023-10-15T12:00:00Z,1.2833333333333332,103.83333333333333,NORMAL,22:27,11:14
2023-10-25T12:00:00Z,1.2833333333333332,103.83333333333333,NORMAL,22:25,11:12
2023-11-05T12:00:00Z,1.2833333333333332,103.83333333333333,NORMAL,22:25,11:12
2023-11-15T12:00:00Z,1.2833333333333332,103.83333333333333,NORMAL,22:26,11:13
2023-11-25T12:00:00Z,1.2833333333333332,103.83333333333333,NORMAL,22:28,11:15
2023-12-05T12:00:00Z,1.2833333333333332,103.83333333333333,NORMAL,22:31,11:19
2023-12-15T12:00:00Z,1.2833333333333332,103.83333333333333,NORMAL,22:36,11:24
2023-12-25T12:00:00Z,1.2833333333333332,103.83333333333333,NORMAL,22:41,11:29