From 244acd2cab896d70b0e73d9f18d39e8442fbea9c Mon Sep 17 00:00:00 2001 From: Don Cross Date: Fri, 4 Nov 2022 20:58:50 -0400 Subject: [PATCH 01/16] Custom sort for rise/set data. When parsing the rise/set data, the Linux `sort` utility had weird behavior. Fixed it by making parse_riseset.py do its own sorting in an order that makes sense, before writing to riseset.txt. --- generate/riseset/README.md | 15 +- generate/riseset/parse | 2 - generate/riseset/parse_riseset.py | 41 +- generate/riseset/riseset.txt | 1460 ++++++++++++++--------------- 4 files changed, 776 insertions(+), 742 deletions(-) delete mode 100755 generate/riseset/parse diff --git a/generate/riseset/README.md b/generate/riseset/README.md index e210d10f..765f03f3 100644 --- a/generate/riseset/README.md +++ b/generate/riseset/README.md @@ -1,6 +1,17 @@ # Moon and Sun rise/set test data -Obtained from: - +Data originally obtained from: https://aa.usno.navy.mil/data/docs/RS_OneYear.php +That link is now broken. The calculator moved to: +https://aa.usno.navy.mil/data/RS_OneYear + +To add more test cases: + +1. Visit the second link above. Enter year, latitude, longitude. +2. Generate a year's worth of rise/set data. +3. View page source. +4. Copy and paste just the preformatted calendar section. +5. Save as an html file. +6. Run the script ./parse_riseset.py +7. Verify that the new data has been inserted into riseset.txt. diff --git a/generate/riseset/parse b/generate/riseset/parse deleted file mode 100755 index 263978a6..00000000 --- a/generate/riseset/parse +++ /dev/null @@ -1,2 +0,0 @@ -#!/bin/bash -./parse_riseset.py | sort > riseset.txt diff --git a/generate/riseset/parse_riseset.py b/generate/riseset/parse_riseset.py index f6152979..c80c1035 100755 --- a/generate/riseset/parse_riseset.py +++ b/generate/riseset/parse_riseset.py @@ -3,18 +3,38 @@ import os import re -def Emit(event, body, lon, lat, year, month, day, time): +class Event: + def __init__(self, kind, body, lon, lat, utc): + self.kind = kind + self.body = body + self.lon = lon + self.lat = lat + self.utc = utc + + def __lt__(self, other): + if self.body != other.body: + return self.body < other.body + if self.lat != other.lat: + return self.lat < other.lat + if self.lon != other.lon: + return self.lon < other.lon + return self.utc < other.utc + + def __str__(self): + return '{:4s} {:4.0f} {:3.0f} {} {}'.format(self.body, self.lon, self.lat, self.utc, self.kind) + +def Emit(evtlist, kind, body, lon, lat, year, month, day, time): if re.match(r'\d{4}', time): hour = int(time[0:2]) minute = int(time[2:4]) utc = '{:04d}-{:02d}-{:02d}T{:02d}:{:02d}Z'.format(year, month, day, hour, minute) - print('{:4s} {:4.0f} {:3.0f} {} {}'.format(body, lon, lat, utc, event)) + evtlist.append(Event(kind, body, lon, lat, utc)) -def Convert(infilename): +def Convert(infilename, evtlist): with open(infilename, 'rt') as infile: - for line in infile: + for line in infile: line = line.strip() - # Location: E075 00, N15 00 Rise and Set for the Sun for 1750 U. S. Naval Observatory + # Location: E075 00, N15 00 Rise and Set for the Sun for 1750 U. S. Naval Observatory m = re.match(r'^Location:\s*([EW]?)(\d+)\s+(\d+),\s*([NS]?)(\d+)\s+(\d+)\s+Rise and Set for the (\S+) for (\d{4})', line) if m: lon = int(m.group(2)) + int(m.group(3))/60.0 @@ -35,14 +55,19 @@ def Convert(infilename): month = 0 for (r, s) in data: month += 1 - Emit('r', body, lon, lat, year, month, dayOfMonth, r) - Emit('s', body, lon, lat, year, month, dayOfMonth, s) + Emit(evtlist, 'r', body, lon, lat, year, month, dayOfMonth, r) + Emit(evtlist, 's', body, lon, lat, year, month, dayOfMonth, s) continue def ConvertAll(): + evtlist = [] for fn in os.listdir(): if fn.endswith('.html'): - Convert(fn) + Convert(fn, evtlist) + evtlist.sort() + with open('riseset.txt', 'wt') as outfile: + for evt in evtlist: + outfile.write(str(evt) + '\n') if __name__ == '__main__': ConvertAll() diff --git a/generate/riseset/riseset.txt b/generate/riseset/riseset.txt index a853b92e..d8f505af 100644 --- a/generate/riseset/riseset.txt +++ b/generate/riseset/riseset.txt @@ -2117,736 +2117,6 @@ Moon -81 29 2019-12-30T01:57Z s Moon -81 29 2019-12-30T15:39Z r Moon -81 29 2019-12-31T02:52Z s Moon -81 29 2019-12-31T16:13Z r -Sun 0 60 2019-01-01T09:02Z r -Sun 0 60 2019-01-01T15:05Z s -Sun 0 60 2019-01-02T09:02Z r -Sun 0 60 2019-01-02T15:06Z s -Sun 0 60 2019-01-03T09:01Z r -Sun 0 60 2019-01-03T15:08Z s -Sun 0 60 2019-01-04T09:01Z r -Sun 0 60 2019-01-04T15:09Z s -Sun 0 60 2019-01-05T09:00Z r -Sun 0 60 2019-01-05T15:11Z s -Sun 0 60 2019-01-06T08:59Z r -Sun 0 60 2019-01-06T15:13Z s -Sun 0 60 2019-01-07T08:58Z r -Sun 0 60 2019-01-07T15:15Z s -Sun 0 60 2019-01-08T08:57Z r -Sun 0 60 2019-01-08T15:16Z s -Sun 0 60 2019-01-09T08:56Z r -Sun 0 60 2019-01-09T15:18Z s -Sun 0 60 2019-01-10T08:55Z r -Sun 0 60 2019-01-10T15:20Z s -Sun 0 60 2019-01-11T08:54Z r -Sun 0 60 2019-01-11T15:22Z s -Sun 0 60 2019-01-12T08:52Z r -Sun 0 60 2019-01-12T15:25Z s -Sun 0 60 2019-01-13T08:51Z r -Sun 0 60 2019-01-13T15:27Z s -Sun 0 60 2019-01-14T08:50Z r -Sun 0 60 2019-01-14T15:29Z s -Sun 0 60 2019-01-15T08:48Z r -Sun 0 60 2019-01-15T15:31Z s -Sun 0 60 2019-01-16T08:47Z r -Sun 0 60 2019-01-16T15:33Z s -Sun 0 60 2019-01-17T08:45Z r -Sun 0 60 2019-01-17T15:36Z s -Sun 0 60 2019-01-18T08:43Z r -Sun 0 60 2019-01-18T15:38Z s -Sun 0 60 2019-01-19T08:42Z r -Sun 0 60 2019-01-19T15:40Z s -Sun 0 60 2019-01-20T08:40Z r -Sun 0 60 2019-01-20T15:43Z s -Sun 0 60 2019-01-21T08:38Z r -Sun 0 60 2019-01-21T15:45Z s -Sun 0 60 2019-01-22T08:36Z r -Sun 0 60 2019-01-22T15:48Z s -Sun 0 60 2019-01-23T08:34Z r -Sun 0 60 2019-01-23T15:50Z s -Sun 0 60 2019-01-24T08:32Z r -Sun 0 60 2019-01-24T15:53Z s -Sun 0 60 2019-01-25T08:30Z r -Sun 0 60 2019-01-25T15:55Z s -Sun 0 60 2019-01-26T08:28Z r -Sun 0 60 2019-01-26T15:58Z s -Sun 0 60 2019-01-27T08:26Z r -Sun 0 60 2019-01-27T16:00Z s -Sun 0 60 2019-01-28T08:24Z r -Sun 0 60 2019-01-28T16:03Z s -Sun 0 60 2019-01-29T08:21Z r -Sun 0 60 2019-01-29T16:06Z s -Sun 0 60 2019-01-30T08:19Z r -Sun 0 60 2019-01-30T16:08Z s -Sun 0 60 2019-01-31T08:17Z r -Sun 0 60 2019-01-31T16:11Z s -Sun 0 60 2019-02-01T08:15Z r -Sun 0 60 2019-02-01T16:13Z s -Sun 0 60 2019-02-02T08:12Z r -Sun 0 60 2019-02-02T16:16Z s -Sun 0 60 2019-02-03T08:10Z r -Sun 0 60 2019-02-03T16:19Z s -Sun 0 60 2019-02-04T08:07Z r -Sun 0 60 2019-02-04T16:21Z s -Sun 0 60 2019-02-05T08:05Z r -Sun 0 60 2019-02-05T16:24Z s -Sun 0 60 2019-02-06T08:02Z r -Sun 0 60 2019-02-06T16:27Z s -Sun 0 60 2019-02-07T08:00Z r -Sun 0 60 2019-02-07T16:29Z s -Sun 0 60 2019-02-08T07:57Z r -Sun 0 60 2019-02-08T16:32Z s -Sun 0 60 2019-02-09T07:55Z r -Sun 0 60 2019-02-09T16:35Z s -Sun 0 60 2019-02-10T07:52Z r -Sun 0 60 2019-02-10T16:37Z s -Sun 0 60 2019-02-11T07:50Z r -Sun 0 60 2019-02-11T16:40Z s -Sun 0 60 2019-02-12T07:47Z r -Sun 0 60 2019-02-12T16:42Z s -Sun 0 60 2019-02-13T07:44Z r -Sun 0 60 2019-02-13T16:45Z s -Sun 0 60 2019-02-14T07:42Z r -Sun 0 60 2019-02-14T16:48Z s -Sun 0 60 2019-02-15T07:39Z r -Sun 0 60 2019-02-15T16:50Z s -Sun 0 60 2019-02-16T07:36Z r -Sun 0 60 2019-02-16T16:53Z s -Sun 0 60 2019-02-17T07:34Z r -Sun 0 60 2019-02-17T16:56Z s -Sun 0 60 2019-02-18T07:31Z r -Sun 0 60 2019-02-18T16:58Z s -Sun 0 60 2019-02-19T07:28Z r -Sun 0 60 2019-02-19T17:01Z s -Sun 0 60 2019-02-20T07:25Z r -Sun 0 60 2019-02-20T17:03Z s -Sun 0 60 2019-02-21T07:22Z r -Sun 0 60 2019-02-21T17:06Z s -Sun 0 60 2019-02-22T07:20Z r -Sun 0 60 2019-02-22T17:09Z s -Sun 0 60 2019-02-23T07:17Z r -Sun 0 60 2019-02-23T17:11Z s -Sun 0 60 2019-02-24T07:14Z r -Sun 0 60 2019-02-24T17:14Z s -Sun 0 60 2019-02-25T07:11Z r -Sun 0 60 2019-02-25T17:16Z s -Sun 0 60 2019-02-26T07:08Z r -Sun 0 60 2019-02-26T17:19Z s -Sun 0 60 2019-02-27T07:05Z r -Sun 0 60 2019-02-27T17:21Z s -Sun 0 60 2019-02-28T07:02Z r -Sun 0 60 2019-02-28T17:24Z s -Sun 0 60 2019-03-01T06:59Z r -Sun 0 60 2019-03-01T17:26Z s -Sun 0 60 2019-03-02T06:57Z r -Sun 0 60 2019-03-02T17:29Z s -Sun 0 60 2019-03-03T06:54Z r -Sun 0 60 2019-03-03T17:32Z s -Sun 0 60 2019-03-04T06:51Z r -Sun 0 60 2019-03-04T17:34Z s -Sun 0 60 2019-03-05T06:48Z r -Sun 0 60 2019-03-05T17:37Z s -Sun 0 60 2019-03-06T06:45Z r -Sun 0 60 2019-03-06T17:39Z s -Sun 0 60 2019-03-07T06:42Z r -Sun 0 60 2019-03-07T17:42Z s -Sun 0 60 2019-03-08T06:39Z r -Sun 0 60 2019-03-08T17:44Z s -Sun 0 60 2019-03-09T06:36Z r -Sun 0 60 2019-03-09T17:47Z s -Sun 0 60 2019-03-10T06:33Z r -Sun 0 60 2019-03-10T17:49Z s -Sun 0 60 2019-03-11T06:30Z r -Sun 0 60 2019-03-11T17:52Z s -Sun 0 60 2019-03-12T06:27Z r -Sun 0 60 2019-03-12T17:54Z s -Sun 0 60 2019-03-13T06:24Z r -Sun 0 60 2019-03-13T17:57Z s -Sun 0 60 2019-03-14T06:21Z r -Sun 0 60 2019-03-14T17:59Z s -Sun 0 60 2019-03-15T06:18Z r -Sun 0 60 2019-03-15T18:01Z s -Sun 0 60 2019-03-16T06:15Z r -Sun 0 60 2019-03-16T18:04Z s -Sun 0 60 2019-03-17T06:12Z r -Sun 0 60 2019-03-17T18:06Z s -Sun 0 60 2019-03-18T06:09Z r -Sun 0 60 2019-03-18T18:09Z s -Sun 0 60 2019-03-19T06:06Z r -Sun 0 60 2019-03-19T18:11Z s -Sun 0 60 2019-03-20T06:03Z r -Sun 0 60 2019-03-20T18:14Z s -Sun 0 60 2019-03-21T06:00Z r -Sun 0 60 2019-03-21T18:16Z s -Sun 0 60 2019-03-22T05:57Z r -Sun 0 60 2019-03-22T18:19Z s -Sun 0 60 2019-03-23T05:54Z r -Sun 0 60 2019-03-23T18:21Z s -Sun 0 60 2019-03-24T05:51Z r -Sun 0 60 2019-03-24T18:23Z s -Sun 0 60 2019-03-25T05:48Z r -Sun 0 60 2019-03-25T18:26Z s -Sun 0 60 2019-03-26T05:45Z r -Sun 0 60 2019-03-26T18:28Z s -Sun 0 60 2019-03-27T05:42Z r -Sun 0 60 2019-03-27T18:31Z s -Sun 0 60 2019-03-28T05:39Z r -Sun 0 60 2019-03-28T18:33Z s -Sun 0 60 2019-03-29T05:36Z r -Sun 0 60 2019-03-29T18:36Z s -Sun 0 60 2019-03-30T05:33Z r -Sun 0 60 2019-03-30T18:38Z s -Sun 0 60 2019-03-31T05:29Z r -Sun 0 60 2019-03-31T18:41Z s -Sun 0 60 2019-04-01T05:26Z r -Sun 0 60 2019-04-01T18:43Z s -Sun 0 60 2019-04-02T05:23Z r -Sun 0 60 2019-04-02T18:45Z s -Sun 0 60 2019-04-03T05:20Z r -Sun 0 60 2019-04-03T18:48Z s -Sun 0 60 2019-04-04T05:17Z r -Sun 0 60 2019-04-04T18:50Z s -Sun 0 60 2019-04-05T05:14Z r -Sun 0 60 2019-04-05T18:53Z s -Sun 0 60 2019-04-06T05:11Z r -Sun 0 60 2019-04-06T18:55Z s -Sun 0 60 2019-04-07T05:08Z r -Sun 0 60 2019-04-07T18:58Z s -Sun 0 60 2019-04-08T05:05Z r -Sun 0 60 2019-04-08T19:00Z s -Sun 0 60 2019-04-09T05:02Z r -Sun 0 60 2019-04-09T19:03Z s -Sun 0 60 2019-04-10T04:59Z r -Sun 0 60 2019-04-10T19:05Z s -Sun 0 60 2019-04-11T04:56Z r -Sun 0 60 2019-04-11T19:07Z s -Sun 0 60 2019-04-12T04:53Z r -Sun 0 60 2019-04-12T19:10Z s -Sun 0 60 2019-04-13T04:51Z r -Sun 0 60 2019-04-13T19:12Z s -Sun 0 60 2019-04-14T04:48Z r -Sun 0 60 2019-04-14T19:15Z s -Sun 0 60 2019-04-15T04:45Z r -Sun 0 60 2019-04-15T19:17Z s -Sun 0 60 2019-04-16T04:42Z r -Sun 0 60 2019-04-16T19:20Z s -Sun 0 60 2019-04-17T04:39Z r -Sun 0 60 2019-04-17T19:22Z s -Sun 0 60 2019-04-18T04:36Z r -Sun 0 60 2019-04-18T19:25Z s -Sun 0 60 2019-04-19T04:33Z r -Sun 0 60 2019-04-19T19:27Z s -Sun 0 60 2019-04-20T04:30Z r -Sun 0 60 2019-04-20T19:30Z s -Sun 0 60 2019-04-21T04:27Z r -Sun 0 60 2019-04-21T19:32Z s -Sun 0 60 2019-04-22T04:24Z r -Sun 0 60 2019-04-22T19:35Z s -Sun 0 60 2019-04-23T04:21Z r -Sun 0 60 2019-04-23T19:37Z s -Sun 0 60 2019-04-24T04:18Z r -Sun 0 60 2019-04-24T19:40Z s -Sun 0 60 2019-04-25T04:16Z r -Sun 0 60 2019-04-25T19:42Z s -Sun 0 60 2019-04-26T04:13Z r -Sun 0 60 2019-04-26T19:45Z s -Sun 0 60 2019-04-27T04:10Z r -Sun 0 60 2019-04-27T19:47Z s -Sun 0 60 2019-04-28T04:07Z r -Sun 0 60 2019-04-28T19:50Z s -Sun 0 60 2019-04-29T04:04Z r -Sun 0 60 2019-04-29T19:52Z s -Sun 0 60 2019-04-30T04:02Z r -Sun 0 60 2019-04-30T19:55Z s -Sun 0 60 2019-05-01T03:59Z r -Sun 0 60 2019-05-01T19:57Z s -Sun 0 60 2019-05-02T03:56Z r -Sun 0 60 2019-05-02T20:00Z s -Sun 0 60 2019-05-03T03:54Z r -Sun 0 60 2019-05-03T20:02Z s -Sun 0 60 2019-05-04T03:51Z r -Sun 0 60 2019-05-04T20:04Z s -Sun 0 60 2019-05-05T03:48Z r -Sun 0 60 2019-05-05T20:07Z s -Sun 0 60 2019-05-06T03:46Z r -Sun 0 60 2019-05-06T20:09Z s -Sun 0 60 2019-05-07T03:43Z r -Sun 0 60 2019-05-07T20:12Z s -Sun 0 60 2019-05-08T03:40Z r -Sun 0 60 2019-05-08T20:14Z s -Sun 0 60 2019-05-09T03:38Z r -Sun 0 60 2019-05-09T20:17Z s -Sun 0 60 2019-05-10T03:35Z r -Sun 0 60 2019-05-10T20:19Z s -Sun 0 60 2019-05-11T03:33Z r -Sun 0 60 2019-05-11T20:22Z s -Sun 0 60 2019-05-12T03:30Z r -Sun 0 60 2019-05-12T20:24Z s -Sun 0 60 2019-05-13T03:28Z r -Sun 0 60 2019-05-13T20:26Z s -Sun 0 60 2019-05-14T03:26Z r -Sun 0 60 2019-05-14T20:29Z s -Sun 0 60 2019-05-15T03:23Z r -Sun 0 60 2019-05-15T20:31Z s -Sun 0 60 2019-05-16T03:21Z r -Sun 0 60 2019-05-16T20:34Z s -Sun 0 60 2019-05-17T03:19Z r -Sun 0 60 2019-05-17T20:36Z s -Sun 0 60 2019-05-18T03:16Z r -Sun 0 60 2019-05-18T20:38Z s -Sun 0 60 2019-05-19T03:14Z r -Sun 0 60 2019-05-19T20:40Z s -Sun 0 60 2019-05-20T03:12Z r -Sun 0 60 2019-05-20T20:43Z s -Sun 0 60 2019-05-21T03:10Z r -Sun 0 60 2019-05-21T20:45Z s -Sun 0 60 2019-05-22T03:08Z r -Sun 0 60 2019-05-22T20:47Z s -Sun 0 60 2019-05-23T03:06Z r -Sun 0 60 2019-05-23T20:49Z s -Sun 0 60 2019-05-24T03:04Z r -Sun 0 60 2019-05-24T20:51Z s -Sun 0 60 2019-05-25T03:02Z r -Sun 0 60 2019-05-25T20:53Z s -Sun 0 60 2019-05-26T03:00Z r -Sun 0 60 2019-05-26T20:56Z s -Sun 0 60 2019-05-27T02:58Z r -Sun 0 60 2019-05-27T20:58Z s -Sun 0 60 2019-05-28T02:56Z r -Sun 0 60 2019-05-28T21:00Z s -Sun 0 60 2019-05-29T02:55Z r -Sun 0 60 2019-05-29T21:01Z s -Sun 0 60 2019-05-30T02:53Z r -Sun 0 60 2019-05-30T21:03Z s -Sun 0 60 2019-05-31T02:51Z r -Sun 0 60 2019-05-31T21:05Z s -Sun 0 60 2019-06-01T02:50Z r -Sun 0 60 2019-06-01T21:07Z s -Sun 0 60 2019-06-02T02:48Z r -Sun 0 60 2019-06-02T21:09Z s -Sun 0 60 2019-06-03T02:47Z r -Sun 0 60 2019-06-03T21:10Z s -Sun 0 60 2019-06-04T02:46Z r -Sun 0 60 2019-06-04T21:12Z s -Sun 0 60 2019-06-05T02:45Z r -Sun 0 60 2019-06-05T21:13Z s -Sun 0 60 2019-06-06T02:43Z r -Sun 0 60 2019-06-06T21:15Z s -Sun 0 60 2019-06-07T02:42Z r -Sun 0 60 2019-06-07T21:16Z s -Sun 0 60 2019-06-08T02:41Z r -Sun 0 60 2019-06-08T21:18Z s -Sun 0 60 2019-06-09T02:40Z r -Sun 0 60 2019-06-09T21:19Z s -Sun 0 60 2019-06-10T02:39Z r -Sun 0 60 2019-06-10T21:20Z s -Sun 0 60 2019-06-11T02:39Z r -Sun 0 60 2019-06-11T21:21Z s -Sun 0 60 2019-06-12T02:38Z r -Sun 0 60 2019-06-12T21:22Z s -Sun 0 60 2019-06-13T02:37Z r -Sun 0 60 2019-06-13T21:23Z s -Sun 0 60 2019-06-14T02:37Z r -Sun 0 60 2019-06-14T21:24Z s -Sun 0 60 2019-06-15T02:36Z r -Sun 0 60 2019-06-15T21:25Z s -Sun 0 60 2019-06-16T02:36Z r -Sun 0 60 2019-06-16T21:26Z s -Sun 0 60 2019-06-17T02:36Z r -Sun 0 60 2019-06-17T21:26Z s -Sun 0 60 2019-06-18T02:36Z r -Sun 0 60 2019-06-18T21:27Z s -Sun 0 60 2019-06-19T02:36Z r -Sun 0 60 2019-06-19T21:27Z s -Sun 0 60 2019-06-20T02:36Z r -Sun 0 60 2019-06-20T21:27Z s -Sun 0 60 2019-06-21T02:36Z r -Sun 0 60 2019-06-21T21:28Z s -Sun 0 60 2019-06-22T02:36Z r -Sun 0 60 2019-06-22T21:28Z s -Sun 0 60 2019-06-23T02:36Z r -Sun 0 60 2019-06-23T21:28Z s -Sun 0 60 2019-06-24T02:37Z r -Sun 0 60 2019-06-24T21:28Z s -Sun 0 60 2019-06-25T02:37Z r -Sun 0 60 2019-06-25T21:28Z s -Sun 0 60 2019-06-26T02:38Z r -Sun 0 60 2019-06-26T21:28Z s -Sun 0 60 2019-06-27T02:38Z r -Sun 0 60 2019-06-27T21:27Z s -Sun 0 60 2019-06-28T02:39Z r -Sun 0 60 2019-06-28T21:27Z s -Sun 0 60 2019-06-29T02:40Z r -Sun 0 60 2019-06-29T21:26Z s -Sun 0 60 2019-06-30T02:41Z r -Sun 0 60 2019-06-30T21:26Z s -Sun 0 60 2019-07-01T02:42Z r -Sun 0 60 2019-07-01T21:25Z s -Sun 0 60 2019-07-02T02:43Z r -Sun 0 60 2019-07-02T21:24Z s -Sun 0 60 2019-07-03T02:44Z r -Sun 0 60 2019-07-03T21:24Z s -Sun 0 60 2019-07-04T02:45Z r -Sun 0 60 2019-07-04T21:23Z s -Sun 0 60 2019-07-05T02:47Z r -Sun 0 60 2019-07-05T21:22Z s -Sun 0 60 2019-07-06T02:48Z r -Sun 0 60 2019-07-06T21:21Z s -Sun 0 60 2019-07-07T02:49Z r -Sun 0 60 2019-07-07T21:19Z s -Sun 0 60 2019-07-08T02:51Z r -Sun 0 60 2019-07-08T21:18Z s -Sun 0 60 2019-07-09T02:53Z r -Sun 0 60 2019-07-09T21:17Z s -Sun 0 60 2019-07-10T02:54Z r -Sun 0 60 2019-07-10T21:15Z s -Sun 0 60 2019-07-11T02:56Z r -Sun 0 60 2019-07-11T21:14Z s -Sun 0 60 2019-07-12T02:58Z r -Sun 0 60 2019-07-12T21:12Z s -Sun 0 60 2019-07-13T02:59Z r -Sun 0 60 2019-07-13T21:11Z s -Sun 0 60 2019-07-14T03:01Z r -Sun 0 60 2019-07-14T21:09Z s -Sun 0 60 2019-07-15T03:03Z r -Sun 0 60 2019-07-15T21:08Z s -Sun 0 60 2019-07-16T03:05Z r -Sun 0 60 2019-07-16T21:06Z s -Sun 0 60 2019-07-17T03:07Z r -Sun 0 60 2019-07-17T21:04Z s -Sun 0 60 2019-07-18T03:09Z r -Sun 0 60 2019-07-18T21:02Z s -Sun 0 60 2019-07-19T03:11Z r -Sun 0 60 2019-07-19T21:00Z s -Sun 0 60 2019-07-20T03:13Z r -Sun 0 60 2019-07-20T20:58Z s -Sun 0 60 2019-07-21T03:15Z r -Sun 0 60 2019-07-21T20:56Z s -Sun 0 60 2019-07-22T03:17Z r -Sun 0 60 2019-07-22T20:54Z s -Sun 0 60 2019-07-23T03:19Z r -Sun 0 60 2019-07-23T20:52Z s -Sun 0 60 2019-07-24T03:22Z r -Sun 0 60 2019-07-24T20:50Z s -Sun 0 60 2019-07-25T03:24Z r -Sun 0 60 2019-07-25T20:48Z s -Sun 0 60 2019-07-26T03:26Z r -Sun 0 60 2019-07-26T20:45Z s -Sun 0 60 2019-07-27T03:28Z r -Sun 0 60 2019-07-27T20:43Z s -Sun 0 60 2019-07-28T03:31Z r -Sun 0 60 2019-07-28T20:41Z s -Sun 0 60 2019-07-29T03:33Z r -Sun 0 60 2019-07-29T20:38Z s -Sun 0 60 2019-07-30T03:35Z r -Sun 0 60 2019-07-30T20:36Z s -Sun 0 60 2019-07-31T03:38Z r -Sun 0 60 2019-07-31T20:34Z s -Sun 0 60 2019-08-01T03:40Z r -Sun 0 60 2019-08-01T20:31Z s -Sun 0 60 2019-08-02T03:42Z r -Sun 0 60 2019-08-02T20:29Z s -Sun 0 60 2019-08-03T03:45Z r -Sun 0 60 2019-08-03T20:26Z s -Sun 0 60 2019-08-04T03:47Z r -Sun 0 60 2019-08-04T20:24Z s -Sun 0 60 2019-08-05T03:49Z r -Sun 0 60 2019-08-05T20:21Z s -Sun 0 60 2019-08-06T03:52Z r -Sun 0 60 2019-08-06T20:18Z s -Sun 0 60 2019-08-07T03:54Z r -Sun 0 60 2019-08-07T20:16Z s -Sun 0 60 2019-08-08T03:57Z r -Sun 0 60 2019-08-08T20:13Z s -Sun 0 60 2019-08-09T03:59Z r -Sun 0 60 2019-08-09T20:10Z s -Sun 0 60 2019-08-10T04:01Z r -Sun 0 60 2019-08-10T20:08Z s -Sun 0 60 2019-08-11T04:04Z r -Sun 0 60 2019-08-11T20:05Z s -Sun 0 60 2019-08-12T04:06Z r -Sun 0 60 2019-08-12T20:02Z s -Sun 0 60 2019-08-13T04:09Z r -Sun 0 60 2019-08-13T20:00Z s -Sun 0 60 2019-08-14T04:11Z r -Sun 0 60 2019-08-14T19:57Z s -Sun 0 60 2019-08-15T04:13Z r -Sun 0 60 2019-08-15T19:54Z s -Sun 0 60 2019-08-16T04:16Z r -Sun 0 60 2019-08-16T19:51Z s -Sun 0 60 2019-08-17T04:18Z r -Sun 0 60 2019-08-17T19:48Z s -Sun 0 60 2019-08-18T04:21Z r -Sun 0 60 2019-08-18T19:46Z s -Sun 0 60 2019-08-19T04:23Z r -Sun 0 60 2019-08-19T19:43Z s -Sun 0 60 2019-08-20T04:25Z r -Sun 0 60 2019-08-20T19:40Z s -Sun 0 60 2019-08-21T04:28Z r -Sun 0 60 2019-08-21T19:37Z s -Sun 0 60 2019-08-22T04:30Z r -Sun 0 60 2019-08-22T19:34Z s -Sun 0 60 2019-08-23T04:33Z r -Sun 0 60 2019-08-23T19:31Z s -Sun 0 60 2019-08-24T04:35Z r -Sun 0 60 2019-08-24T19:28Z s -Sun 0 60 2019-08-25T04:37Z r -Sun 0 60 2019-08-25T19:25Z s -Sun 0 60 2019-08-26T04:40Z r -Sun 0 60 2019-08-26T19:22Z s -Sun 0 60 2019-08-27T04:42Z r -Sun 0 60 2019-08-27T19:19Z s -Sun 0 60 2019-08-28T04:45Z r -Sun 0 60 2019-08-28T19:16Z s -Sun 0 60 2019-08-29T04:47Z r -Sun 0 60 2019-08-29T19:13Z s -Sun 0 60 2019-08-30T04:49Z r -Sun 0 60 2019-08-30T19:11Z s -Sun 0 60 2019-08-31T04:52Z r -Sun 0 60 2019-08-31T19:08Z s -Sun 0 60 2019-09-01T04:54Z r -Sun 0 60 2019-09-01T19:05Z s -Sun 0 60 2019-09-02T04:56Z r -Sun 0 60 2019-09-02T19:02Z s -Sun 0 60 2019-09-03T04:59Z r -Sun 0 60 2019-09-03T18:59Z s -Sun 0 60 2019-09-04T05:01Z r -Sun 0 60 2019-09-04T18:56Z s -Sun 0 60 2019-09-05T05:03Z r -Sun 0 60 2019-09-05T18:53Z s -Sun 0 60 2019-09-06T05:06Z r -Sun 0 60 2019-09-06T18:50Z s -Sun 0 60 2019-09-07T05:08Z r -Sun 0 60 2019-09-07T18:47Z s -Sun 0 60 2019-09-08T05:11Z r -Sun 0 60 2019-09-08T18:44Z s -Sun 0 60 2019-09-09T05:13Z r -Sun 0 60 2019-09-09T18:40Z s -Sun 0 60 2019-09-10T05:15Z r -Sun 0 60 2019-09-10T18:37Z s -Sun 0 60 2019-09-11T05:18Z r -Sun 0 60 2019-09-11T18:34Z s -Sun 0 60 2019-09-12T05:20Z r -Sun 0 60 2019-09-12T18:31Z s -Sun 0 60 2019-09-13T05:22Z r -Sun 0 60 2019-09-13T18:28Z s -Sun 0 60 2019-09-14T05:25Z r -Sun 0 60 2019-09-14T18:25Z s -Sun 0 60 2019-09-15T05:27Z r -Sun 0 60 2019-09-15T18:22Z s -Sun 0 60 2019-09-16T05:29Z r -Sun 0 60 2019-09-16T18:19Z s -Sun 0 60 2019-09-17T05:32Z r -Sun 0 60 2019-09-17T18:16Z s -Sun 0 60 2019-09-18T05:34Z r -Sun 0 60 2019-09-18T18:13Z s -Sun 0 60 2019-09-19T05:36Z r -Sun 0 60 2019-09-19T18:10Z s -Sun 0 60 2019-09-20T05:39Z r -Sun 0 60 2019-09-20T18:07Z s -Sun 0 60 2019-09-21T05:41Z r -Sun 0 60 2019-09-21T18:04Z s -Sun 0 60 2019-09-22T05:43Z r -Sun 0 60 2019-09-22T18:01Z s -Sun 0 60 2019-09-23T05:46Z r -Sun 0 60 2019-09-23T17:58Z s -Sun 0 60 2019-09-24T05:48Z r -Sun 0 60 2019-09-24T17:55Z s -Sun 0 60 2019-09-25T05:50Z r -Sun 0 60 2019-09-25T17:52Z s -Sun 0 60 2019-09-26T05:53Z r -Sun 0 60 2019-09-26T17:49Z s -Sun 0 60 2019-09-27T05:55Z r -Sun 0 60 2019-09-27T17:46Z s -Sun 0 60 2019-09-28T05:57Z r -Sun 0 60 2019-09-28T17:43Z s -Sun 0 60 2019-09-29T06:00Z r -Sun 0 60 2019-09-29T17:40Z s -Sun 0 60 2019-09-30T06:02Z r -Sun 0 60 2019-09-30T17:37Z s -Sun 0 60 2019-10-01T06:05Z r -Sun 0 60 2019-10-01T17:34Z s -Sun 0 60 2019-10-02T06:07Z r -Sun 0 60 2019-10-02T17:31Z s -Sun 0 60 2019-10-03T06:09Z r -Sun 0 60 2019-10-03T17:28Z s -Sun 0 60 2019-10-04T06:12Z r -Sun 0 60 2019-10-04T17:25Z s -Sun 0 60 2019-10-05T06:14Z r -Sun 0 60 2019-10-05T17:22Z s -Sun 0 60 2019-10-06T06:17Z r -Sun 0 60 2019-10-06T17:19Z s -Sun 0 60 2019-10-07T06:19Z r -Sun 0 60 2019-10-07T17:16Z s -Sun 0 60 2019-10-08T06:21Z r -Sun 0 60 2019-10-08T17:13Z s -Sun 0 60 2019-10-09T06:24Z r -Sun 0 60 2019-10-09T17:10Z s -Sun 0 60 2019-10-10T06:26Z r -Sun 0 60 2019-10-10T17:07Z s -Sun 0 60 2019-10-11T06:29Z r -Sun 0 60 2019-10-11T17:04Z s -Sun 0 60 2019-10-12T06:31Z r -Sun 0 60 2019-10-12T17:01Z s -Sun 0 60 2019-10-13T06:34Z r -Sun 0 60 2019-10-13T16:58Z s -Sun 0 60 2019-10-14T06:36Z r -Sun 0 60 2019-10-14T16:55Z s -Sun 0 60 2019-10-15T06:38Z r -Sun 0 60 2019-10-15T16:52Z s -Sun 0 60 2019-10-16T06:41Z r -Sun 0 60 2019-10-16T16:49Z s -Sun 0 60 2019-10-17T06:43Z r -Sun 0 60 2019-10-17T16:46Z s -Sun 0 60 2019-10-18T06:46Z r -Sun 0 60 2019-10-18T16:43Z s -Sun 0 60 2019-10-19T06:48Z r -Sun 0 60 2019-10-19T16:41Z s -Sun 0 60 2019-10-20T06:51Z r -Sun 0 60 2019-10-20T16:38Z s -Sun 0 60 2019-10-21T06:53Z r -Sun 0 60 2019-10-21T16:35Z s -Sun 0 60 2019-10-22T06:56Z r -Sun 0 60 2019-10-22T16:32Z s -Sun 0 60 2019-10-23T06:58Z r -Sun 0 60 2019-10-23T16:29Z s -Sun 0 60 2019-10-24T07:01Z r -Sun 0 60 2019-10-24T16:27Z s -Sun 0 60 2019-10-25T07:03Z r -Sun 0 60 2019-10-25T16:24Z s -Sun 0 60 2019-10-26T07:06Z r -Sun 0 60 2019-10-26T16:21Z s -Sun 0 60 2019-10-27T07:08Z r -Sun 0 60 2019-10-27T16:18Z s -Sun 0 60 2019-10-28T07:11Z r -Sun 0 60 2019-10-28T16:16Z s -Sun 0 60 2019-10-29T07:14Z r -Sun 0 60 2019-10-29T16:13Z s -Sun 0 60 2019-10-30T07:16Z r -Sun 0 60 2019-10-30T16:10Z s -Sun 0 60 2019-10-31T07:19Z r -Sun 0 60 2019-10-31T16:08Z s -Sun 0 60 2019-11-01T07:21Z r -Sun 0 60 2019-11-01T16:05Z s -Sun 0 60 2019-11-02T07:24Z r -Sun 0 60 2019-11-02T16:02Z s -Sun 0 60 2019-11-03T07:26Z r -Sun 0 60 2019-11-03T16:00Z s -Sun 0 60 2019-11-04T07:29Z r -Sun 0 60 2019-11-04T15:57Z s -Sun 0 60 2019-11-05T07:32Z r -Sun 0 60 2019-11-05T15:55Z s -Sun 0 60 2019-11-06T07:34Z r -Sun 0 60 2019-11-06T15:52Z s -Sun 0 60 2019-11-07T07:37Z r -Sun 0 60 2019-11-07T15:50Z s -Sun 0 60 2019-11-08T07:39Z r -Sun 0 60 2019-11-08T15:47Z s -Sun 0 60 2019-11-09T07:42Z r -Sun 0 60 2019-11-09T15:45Z s -Sun 0 60 2019-11-10T07:44Z r -Sun 0 60 2019-11-10T15:43Z s -Sun 0 60 2019-11-11T07:47Z r -Sun 0 60 2019-11-11T15:40Z s -Sun 0 60 2019-11-12T07:49Z r -Sun 0 60 2019-11-12T15:38Z s -Sun 0 60 2019-11-13T07:52Z r -Sun 0 60 2019-11-13T15:36Z s -Sun 0 60 2019-11-14T07:55Z r -Sun 0 60 2019-11-14T15:33Z s -Sun 0 60 2019-11-15T07:57Z r -Sun 0 60 2019-11-15T15:31Z s -Sun 0 60 2019-11-16T08:00Z r -Sun 0 60 2019-11-16T15:29Z s -Sun 0 60 2019-11-17T08:02Z r -Sun 0 60 2019-11-17T15:27Z s -Sun 0 60 2019-11-18T08:04Z r -Sun 0 60 2019-11-18T15:25Z s -Sun 0 60 2019-11-19T08:07Z r -Sun 0 60 2019-11-19T15:23Z s -Sun 0 60 2019-11-20T08:09Z r -Sun 0 60 2019-11-20T15:21Z s -Sun 0 60 2019-11-21T08:12Z r -Sun 0 60 2019-11-21T15:19Z s -Sun 0 60 2019-11-22T08:14Z r -Sun 0 60 2019-11-22T15:17Z s -Sun 0 60 2019-11-23T08:16Z r -Sun 0 60 2019-11-23T15:15Z s -Sun 0 60 2019-11-24T08:19Z r -Sun 0 60 2019-11-24T15:14Z s -Sun 0 60 2019-11-25T08:21Z r -Sun 0 60 2019-11-25T15:12Z s -Sun 0 60 2019-11-26T08:23Z r -Sun 0 60 2019-11-26T15:10Z s -Sun 0 60 2019-11-27T08:26Z r -Sun 0 60 2019-11-27T15:09Z s -Sun 0 60 2019-11-28T08:28Z r -Sun 0 60 2019-11-28T15:07Z s -Sun 0 60 2019-11-29T08:30Z r -Sun 0 60 2019-11-29T15:06Z s -Sun 0 60 2019-11-30T08:32Z r -Sun 0 60 2019-11-30T15:04Z s -Sun 0 60 2019-12-01T08:34Z r -Sun 0 60 2019-12-01T15:03Z s -Sun 0 60 2019-12-02T08:36Z r -Sun 0 60 2019-12-02T15:02Z s -Sun 0 60 2019-12-03T08:38Z r -Sun 0 60 2019-12-03T15:01Z s -Sun 0 60 2019-12-04T08:40Z r -Sun 0 60 2019-12-04T15:00Z s -Sun 0 60 2019-12-05T08:42Z r -Sun 0 60 2019-12-05T14:59Z s -Sun 0 60 2019-12-06T08:44Z r -Sun 0 60 2019-12-06T14:58Z s -Sun 0 60 2019-12-07T08:45Z r -Sun 0 60 2019-12-07T14:57Z s -Sun 0 60 2019-12-08T08:47Z r -Sun 0 60 2019-12-08T14:56Z s -Sun 0 60 2019-12-09T08:49Z r -Sun 0 60 2019-12-09T14:55Z s -Sun 0 60 2019-12-10T08:50Z r -Sun 0 60 2019-12-10T14:55Z s -Sun 0 60 2019-12-11T08:52Z r -Sun 0 60 2019-12-11T14:54Z s -Sun 0 60 2019-12-12T08:53Z r -Sun 0 60 2019-12-12T14:54Z s -Sun 0 60 2019-12-13T08:54Z r -Sun 0 60 2019-12-13T14:54Z s -Sun 0 60 2019-12-14T08:56Z r -Sun 0 60 2019-12-14T14:53Z s -Sun 0 60 2019-12-15T08:57Z r -Sun 0 60 2019-12-15T14:53Z s -Sun 0 60 2019-12-16T08:58Z r -Sun 0 60 2019-12-16T14:53Z s -Sun 0 60 2019-12-17T08:59Z r -Sun 0 60 2019-12-17T14:53Z s -Sun 0 60 2019-12-18T09:00Z r -Sun 0 60 2019-12-18T14:53Z s -Sun 0 60 2019-12-19T09:00Z r -Sun 0 60 2019-12-19T14:53Z s -Sun 0 60 2019-12-20T09:01Z r -Sun 0 60 2019-12-20T14:54Z s -Sun 0 60 2019-12-21T09:02Z r -Sun 0 60 2019-12-21T14:54Z s -Sun 0 60 2019-12-22T09:02Z r -Sun 0 60 2019-12-22T14:55Z s -Sun 0 60 2019-12-23T09:03Z r -Sun 0 60 2019-12-23T14:55Z s -Sun 0 60 2019-12-24T09:03Z r -Sun 0 60 2019-12-24T14:56Z s -Sun 0 60 2019-12-25T09:03Z r -Sun 0 60 2019-12-25T14:57Z s -Sun 0 60 2019-12-26T09:03Z r -Sun 0 60 2019-12-26T14:57Z s -Sun 0 60 2019-12-27T09:03Z r -Sun 0 60 2019-12-27T14:58Z s -Sun 0 60 2019-12-28T09:03Z r -Sun 0 60 2019-12-28T14:59Z s -Sun 0 60 2019-12-29T09:03Z r -Sun 0 60 2019-12-29T15:01Z s -Sun 0 60 2019-12-30T09:03Z r -Sun 0 60 2019-12-30T15:02Z s -Sun 0 60 2019-12-31T09:03Z r -Sun 0 60 2019-12-31T15:03Z s Sun -150 -60 2019-01-01T07:24Z s Sun -150 -60 2019-01-01T12:43Z r Sun -150 -60 2019-01-02T07:23Z s @@ -5037,3 +4307,733 @@ Sun -81 29 2019-12-30T12:17Z r Sun -81 29 2019-12-30T22:36Z s Sun -81 29 2019-12-31T12:17Z r Sun -81 29 2019-12-31T22:37Z s +Sun 0 60 2019-01-01T09:02Z r +Sun 0 60 2019-01-01T15:05Z s +Sun 0 60 2019-01-02T09:02Z r +Sun 0 60 2019-01-02T15:06Z s +Sun 0 60 2019-01-03T09:01Z r +Sun 0 60 2019-01-03T15:08Z s +Sun 0 60 2019-01-04T09:01Z r +Sun 0 60 2019-01-04T15:09Z s +Sun 0 60 2019-01-05T09:00Z r +Sun 0 60 2019-01-05T15:11Z s +Sun 0 60 2019-01-06T08:59Z r +Sun 0 60 2019-01-06T15:13Z s +Sun 0 60 2019-01-07T08:58Z r +Sun 0 60 2019-01-07T15:15Z s +Sun 0 60 2019-01-08T08:57Z r +Sun 0 60 2019-01-08T15:16Z s +Sun 0 60 2019-01-09T08:56Z r +Sun 0 60 2019-01-09T15:18Z s +Sun 0 60 2019-01-10T08:55Z r +Sun 0 60 2019-01-10T15:20Z s +Sun 0 60 2019-01-11T08:54Z r +Sun 0 60 2019-01-11T15:22Z s +Sun 0 60 2019-01-12T08:52Z r +Sun 0 60 2019-01-12T15:25Z s +Sun 0 60 2019-01-13T08:51Z r +Sun 0 60 2019-01-13T15:27Z s +Sun 0 60 2019-01-14T08:50Z r +Sun 0 60 2019-01-14T15:29Z s +Sun 0 60 2019-01-15T08:48Z r +Sun 0 60 2019-01-15T15:31Z s +Sun 0 60 2019-01-16T08:47Z r +Sun 0 60 2019-01-16T15:33Z s +Sun 0 60 2019-01-17T08:45Z r +Sun 0 60 2019-01-17T15:36Z s +Sun 0 60 2019-01-18T08:43Z r +Sun 0 60 2019-01-18T15:38Z s +Sun 0 60 2019-01-19T08:42Z r +Sun 0 60 2019-01-19T15:40Z s +Sun 0 60 2019-01-20T08:40Z r +Sun 0 60 2019-01-20T15:43Z s +Sun 0 60 2019-01-21T08:38Z r +Sun 0 60 2019-01-21T15:45Z s +Sun 0 60 2019-01-22T08:36Z r +Sun 0 60 2019-01-22T15:48Z s +Sun 0 60 2019-01-23T08:34Z r +Sun 0 60 2019-01-23T15:50Z s +Sun 0 60 2019-01-24T08:32Z r +Sun 0 60 2019-01-24T15:53Z s +Sun 0 60 2019-01-25T08:30Z r +Sun 0 60 2019-01-25T15:55Z s +Sun 0 60 2019-01-26T08:28Z r +Sun 0 60 2019-01-26T15:58Z s +Sun 0 60 2019-01-27T08:26Z r +Sun 0 60 2019-01-27T16:00Z s +Sun 0 60 2019-01-28T08:24Z r +Sun 0 60 2019-01-28T16:03Z s +Sun 0 60 2019-01-29T08:21Z r +Sun 0 60 2019-01-29T16:06Z s +Sun 0 60 2019-01-30T08:19Z r +Sun 0 60 2019-01-30T16:08Z s +Sun 0 60 2019-01-31T08:17Z r +Sun 0 60 2019-01-31T16:11Z s +Sun 0 60 2019-02-01T08:15Z r +Sun 0 60 2019-02-01T16:13Z s +Sun 0 60 2019-02-02T08:12Z r +Sun 0 60 2019-02-02T16:16Z s +Sun 0 60 2019-02-03T08:10Z r +Sun 0 60 2019-02-03T16:19Z s +Sun 0 60 2019-02-04T08:07Z r +Sun 0 60 2019-02-04T16:21Z s +Sun 0 60 2019-02-05T08:05Z r +Sun 0 60 2019-02-05T16:24Z s +Sun 0 60 2019-02-06T08:02Z r +Sun 0 60 2019-02-06T16:27Z s +Sun 0 60 2019-02-07T08:00Z r +Sun 0 60 2019-02-07T16:29Z s +Sun 0 60 2019-02-08T07:57Z r +Sun 0 60 2019-02-08T16:32Z s +Sun 0 60 2019-02-09T07:55Z r +Sun 0 60 2019-02-09T16:35Z s +Sun 0 60 2019-02-10T07:52Z r +Sun 0 60 2019-02-10T16:37Z s +Sun 0 60 2019-02-11T07:50Z r +Sun 0 60 2019-02-11T16:40Z s +Sun 0 60 2019-02-12T07:47Z r +Sun 0 60 2019-02-12T16:42Z s +Sun 0 60 2019-02-13T07:44Z r +Sun 0 60 2019-02-13T16:45Z s +Sun 0 60 2019-02-14T07:42Z r +Sun 0 60 2019-02-14T16:48Z s +Sun 0 60 2019-02-15T07:39Z r +Sun 0 60 2019-02-15T16:50Z s +Sun 0 60 2019-02-16T07:36Z r +Sun 0 60 2019-02-16T16:53Z s +Sun 0 60 2019-02-17T07:34Z r +Sun 0 60 2019-02-17T16:56Z s +Sun 0 60 2019-02-18T07:31Z r +Sun 0 60 2019-02-18T16:58Z s +Sun 0 60 2019-02-19T07:28Z r +Sun 0 60 2019-02-19T17:01Z s +Sun 0 60 2019-02-20T07:25Z r +Sun 0 60 2019-02-20T17:03Z s +Sun 0 60 2019-02-21T07:22Z r +Sun 0 60 2019-02-21T17:06Z s +Sun 0 60 2019-02-22T07:20Z r +Sun 0 60 2019-02-22T17:09Z s +Sun 0 60 2019-02-23T07:17Z r +Sun 0 60 2019-02-23T17:11Z s +Sun 0 60 2019-02-24T07:14Z r +Sun 0 60 2019-02-24T17:14Z s +Sun 0 60 2019-02-25T07:11Z r +Sun 0 60 2019-02-25T17:16Z s +Sun 0 60 2019-02-26T07:08Z r +Sun 0 60 2019-02-26T17:19Z s +Sun 0 60 2019-02-27T07:05Z r +Sun 0 60 2019-02-27T17:21Z s +Sun 0 60 2019-02-28T07:02Z r +Sun 0 60 2019-02-28T17:24Z s +Sun 0 60 2019-03-01T06:59Z r +Sun 0 60 2019-03-01T17:26Z s +Sun 0 60 2019-03-02T06:57Z r +Sun 0 60 2019-03-02T17:29Z s +Sun 0 60 2019-03-03T06:54Z r +Sun 0 60 2019-03-03T17:32Z s +Sun 0 60 2019-03-04T06:51Z r +Sun 0 60 2019-03-04T17:34Z s +Sun 0 60 2019-03-05T06:48Z r +Sun 0 60 2019-03-05T17:37Z s +Sun 0 60 2019-03-06T06:45Z r +Sun 0 60 2019-03-06T17:39Z s +Sun 0 60 2019-03-07T06:42Z r +Sun 0 60 2019-03-07T17:42Z s +Sun 0 60 2019-03-08T06:39Z r +Sun 0 60 2019-03-08T17:44Z s +Sun 0 60 2019-03-09T06:36Z r +Sun 0 60 2019-03-09T17:47Z s +Sun 0 60 2019-03-10T06:33Z r +Sun 0 60 2019-03-10T17:49Z s +Sun 0 60 2019-03-11T06:30Z r +Sun 0 60 2019-03-11T17:52Z s +Sun 0 60 2019-03-12T06:27Z r +Sun 0 60 2019-03-12T17:54Z s +Sun 0 60 2019-03-13T06:24Z r +Sun 0 60 2019-03-13T17:57Z s +Sun 0 60 2019-03-14T06:21Z r +Sun 0 60 2019-03-14T17:59Z s +Sun 0 60 2019-03-15T06:18Z r +Sun 0 60 2019-03-15T18:01Z s +Sun 0 60 2019-03-16T06:15Z r +Sun 0 60 2019-03-16T18:04Z s +Sun 0 60 2019-03-17T06:12Z r +Sun 0 60 2019-03-17T18:06Z s +Sun 0 60 2019-03-18T06:09Z r +Sun 0 60 2019-03-18T18:09Z s +Sun 0 60 2019-03-19T06:06Z r +Sun 0 60 2019-03-19T18:11Z s +Sun 0 60 2019-03-20T06:03Z r +Sun 0 60 2019-03-20T18:14Z s +Sun 0 60 2019-03-21T06:00Z r +Sun 0 60 2019-03-21T18:16Z s +Sun 0 60 2019-03-22T05:57Z r +Sun 0 60 2019-03-22T18:19Z s +Sun 0 60 2019-03-23T05:54Z r +Sun 0 60 2019-03-23T18:21Z s +Sun 0 60 2019-03-24T05:51Z r +Sun 0 60 2019-03-24T18:23Z s +Sun 0 60 2019-03-25T05:48Z r +Sun 0 60 2019-03-25T18:26Z s +Sun 0 60 2019-03-26T05:45Z r +Sun 0 60 2019-03-26T18:28Z s +Sun 0 60 2019-03-27T05:42Z r +Sun 0 60 2019-03-27T18:31Z s +Sun 0 60 2019-03-28T05:39Z r +Sun 0 60 2019-03-28T18:33Z s +Sun 0 60 2019-03-29T05:36Z r +Sun 0 60 2019-03-29T18:36Z s +Sun 0 60 2019-03-30T05:33Z r +Sun 0 60 2019-03-30T18:38Z s +Sun 0 60 2019-03-31T05:29Z r +Sun 0 60 2019-03-31T18:41Z s +Sun 0 60 2019-04-01T05:26Z r +Sun 0 60 2019-04-01T18:43Z s +Sun 0 60 2019-04-02T05:23Z r +Sun 0 60 2019-04-02T18:45Z s +Sun 0 60 2019-04-03T05:20Z r +Sun 0 60 2019-04-03T18:48Z s +Sun 0 60 2019-04-04T05:17Z r +Sun 0 60 2019-04-04T18:50Z s +Sun 0 60 2019-04-05T05:14Z r +Sun 0 60 2019-04-05T18:53Z s +Sun 0 60 2019-04-06T05:11Z r +Sun 0 60 2019-04-06T18:55Z s +Sun 0 60 2019-04-07T05:08Z r +Sun 0 60 2019-04-07T18:58Z s +Sun 0 60 2019-04-08T05:05Z r +Sun 0 60 2019-04-08T19:00Z s +Sun 0 60 2019-04-09T05:02Z r +Sun 0 60 2019-04-09T19:03Z s +Sun 0 60 2019-04-10T04:59Z r +Sun 0 60 2019-04-10T19:05Z s +Sun 0 60 2019-04-11T04:56Z r +Sun 0 60 2019-04-11T19:07Z s +Sun 0 60 2019-04-12T04:53Z r +Sun 0 60 2019-04-12T19:10Z s +Sun 0 60 2019-04-13T04:51Z r +Sun 0 60 2019-04-13T19:12Z s +Sun 0 60 2019-04-14T04:48Z r +Sun 0 60 2019-04-14T19:15Z s +Sun 0 60 2019-04-15T04:45Z r +Sun 0 60 2019-04-15T19:17Z s +Sun 0 60 2019-04-16T04:42Z r +Sun 0 60 2019-04-16T19:20Z s +Sun 0 60 2019-04-17T04:39Z r +Sun 0 60 2019-04-17T19:22Z s +Sun 0 60 2019-04-18T04:36Z r +Sun 0 60 2019-04-18T19:25Z s +Sun 0 60 2019-04-19T04:33Z r +Sun 0 60 2019-04-19T19:27Z s +Sun 0 60 2019-04-20T04:30Z r +Sun 0 60 2019-04-20T19:30Z s +Sun 0 60 2019-04-21T04:27Z r +Sun 0 60 2019-04-21T19:32Z s +Sun 0 60 2019-04-22T04:24Z r +Sun 0 60 2019-04-22T19:35Z s +Sun 0 60 2019-04-23T04:21Z r +Sun 0 60 2019-04-23T19:37Z s +Sun 0 60 2019-04-24T04:18Z r +Sun 0 60 2019-04-24T19:40Z s +Sun 0 60 2019-04-25T04:16Z r +Sun 0 60 2019-04-25T19:42Z s +Sun 0 60 2019-04-26T04:13Z r +Sun 0 60 2019-04-26T19:45Z s +Sun 0 60 2019-04-27T04:10Z r +Sun 0 60 2019-04-27T19:47Z s +Sun 0 60 2019-04-28T04:07Z r +Sun 0 60 2019-04-28T19:50Z s +Sun 0 60 2019-04-29T04:04Z r +Sun 0 60 2019-04-29T19:52Z s +Sun 0 60 2019-04-30T04:02Z r +Sun 0 60 2019-04-30T19:55Z s +Sun 0 60 2019-05-01T03:59Z r +Sun 0 60 2019-05-01T19:57Z s +Sun 0 60 2019-05-02T03:56Z r +Sun 0 60 2019-05-02T20:00Z s +Sun 0 60 2019-05-03T03:54Z r +Sun 0 60 2019-05-03T20:02Z s +Sun 0 60 2019-05-04T03:51Z r +Sun 0 60 2019-05-04T20:04Z s +Sun 0 60 2019-05-05T03:48Z r +Sun 0 60 2019-05-05T20:07Z s +Sun 0 60 2019-05-06T03:46Z r +Sun 0 60 2019-05-06T20:09Z s +Sun 0 60 2019-05-07T03:43Z r +Sun 0 60 2019-05-07T20:12Z s +Sun 0 60 2019-05-08T03:40Z r +Sun 0 60 2019-05-08T20:14Z s +Sun 0 60 2019-05-09T03:38Z r +Sun 0 60 2019-05-09T20:17Z s +Sun 0 60 2019-05-10T03:35Z r +Sun 0 60 2019-05-10T20:19Z s +Sun 0 60 2019-05-11T03:33Z r +Sun 0 60 2019-05-11T20:22Z s +Sun 0 60 2019-05-12T03:30Z r +Sun 0 60 2019-05-12T20:24Z s +Sun 0 60 2019-05-13T03:28Z r +Sun 0 60 2019-05-13T20:26Z s +Sun 0 60 2019-05-14T03:26Z r +Sun 0 60 2019-05-14T20:29Z s +Sun 0 60 2019-05-15T03:23Z r +Sun 0 60 2019-05-15T20:31Z s +Sun 0 60 2019-05-16T03:21Z r +Sun 0 60 2019-05-16T20:34Z s +Sun 0 60 2019-05-17T03:19Z r +Sun 0 60 2019-05-17T20:36Z s +Sun 0 60 2019-05-18T03:16Z r +Sun 0 60 2019-05-18T20:38Z s +Sun 0 60 2019-05-19T03:14Z r +Sun 0 60 2019-05-19T20:40Z s +Sun 0 60 2019-05-20T03:12Z r +Sun 0 60 2019-05-20T20:43Z s +Sun 0 60 2019-05-21T03:10Z r +Sun 0 60 2019-05-21T20:45Z s +Sun 0 60 2019-05-22T03:08Z r +Sun 0 60 2019-05-22T20:47Z s +Sun 0 60 2019-05-23T03:06Z r +Sun 0 60 2019-05-23T20:49Z s +Sun 0 60 2019-05-24T03:04Z r +Sun 0 60 2019-05-24T20:51Z s +Sun 0 60 2019-05-25T03:02Z r +Sun 0 60 2019-05-25T20:53Z s +Sun 0 60 2019-05-26T03:00Z r +Sun 0 60 2019-05-26T20:56Z s +Sun 0 60 2019-05-27T02:58Z r +Sun 0 60 2019-05-27T20:58Z s +Sun 0 60 2019-05-28T02:56Z r +Sun 0 60 2019-05-28T21:00Z s +Sun 0 60 2019-05-29T02:55Z r +Sun 0 60 2019-05-29T21:01Z s +Sun 0 60 2019-05-30T02:53Z r +Sun 0 60 2019-05-30T21:03Z s +Sun 0 60 2019-05-31T02:51Z r +Sun 0 60 2019-05-31T21:05Z s +Sun 0 60 2019-06-01T02:50Z r +Sun 0 60 2019-06-01T21:07Z s +Sun 0 60 2019-06-02T02:48Z r +Sun 0 60 2019-06-02T21:09Z s +Sun 0 60 2019-06-03T02:47Z r +Sun 0 60 2019-06-03T21:10Z s +Sun 0 60 2019-06-04T02:46Z r +Sun 0 60 2019-06-04T21:12Z s +Sun 0 60 2019-06-05T02:45Z r +Sun 0 60 2019-06-05T21:13Z s +Sun 0 60 2019-06-06T02:43Z r +Sun 0 60 2019-06-06T21:15Z s +Sun 0 60 2019-06-07T02:42Z r +Sun 0 60 2019-06-07T21:16Z s +Sun 0 60 2019-06-08T02:41Z r +Sun 0 60 2019-06-08T21:18Z s +Sun 0 60 2019-06-09T02:40Z r +Sun 0 60 2019-06-09T21:19Z s +Sun 0 60 2019-06-10T02:39Z r +Sun 0 60 2019-06-10T21:20Z s +Sun 0 60 2019-06-11T02:39Z r +Sun 0 60 2019-06-11T21:21Z s +Sun 0 60 2019-06-12T02:38Z r +Sun 0 60 2019-06-12T21:22Z s +Sun 0 60 2019-06-13T02:37Z r +Sun 0 60 2019-06-13T21:23Z s +Sun 0 60 2019-06-14T02:37Z r +Sun 0 60 2019-06-14T21:24Z s +Sun 0 60 2019-06-15T02:36Z r +Sun 0 60 2019-06-15T21:25Z s +Sun 0 60 2019-06-16T02:36Z r +Sun 0 60 2019-06-16T21:26Z s +Sun 0 60 2019-06-17T02:36Z r +Sun 0 60 2019-06-17T21:26Z s +Sun 0 60 2019-06-18T02:36Z r +Sun 0 60 2019-06-18T21:27Z s +Sun 0 60 2019-06-19T02:36Z r +Sun 0 60 2019-06-19T21:27Z s +Sun 0 60 2019-06-20T02:36Z r +Sun 0 60 2019-06-20T21:27Z s +Sun 0 60 2019-06-21T02:36Z r +Sun 0 60 2019-06-21T21:28Z s +Sun 0 60 2019-06-22T02:36Z r +Sun 0 60 2019-06-22T21:28Z s +Sun 0 60 2019-06-23T02:36Z r +Sun 0 60 2019-06-23T21:28Z s +Sun 0 60 2019-06-24T02:37Z r +Sun 0 60 2019-06-24T21:28Z s +Sun 0 60 2019-06-25T02:37Z r +Sun 0 60 2019-06-25T21:28Z s +Sun 0 60 2019-06-26T02:38Z r +Sun 0 60 2019-06-26T21:28Z s +Sun 0 60 2019-06-27T02:38Z r +Sun 0 60 2019-06-27T21:27Z s +Sun 0 60 2019-06-28T02:39Z r +Sun 0 60 2019-06-28T21:27Z s +Sun 0 60 2019-06-29T02:40Z r +Sun 0 60 2019-06-29T21:26Z s +Sun 0 60 2019-06-30T02:41Z r +Sun 0 60 2019-06-30T21:26Z s +Sun 0 60 2019-07-01T02:42Z r +Sun 0 60 2019-07-01T21:25Z s +Sun 0 60 2019-07-02T02:43Z r +Sun 0 60 2019-07-02T21:24Z s +Sun 0 60 2019-07-03T02:44Z r +Sun 0 60 2019-07-03T21:24Z s +Sun 0 60 2019-07-04T02:45Z r +Sun 0 60 2019-07-04T21:23Z s +Sun 0 60 2019-07-05T02:47Z r +Sun 0 60 2019-07-05T21:22Z s +Sun 0 60 2019-07-06T02:48Z r +Sun 0 60 2019-07-06T21:21Z s +Sun 0 60 2019-07-07T02:49Z r +Sun 0 60 2019-07-07T21:19Z s +Sun 0 60 2019-07-08T02:51Z r +Sun 0 60 2019-07-08T21:18Z s +Sun 0 60 2019-07-09T02:53Z r +Sun 0 60 2019-07-09T21:17Z s +Sun 0 60 2019-07-10T02:54Z r +Sun 0 60 2019-07-10T21:15Z s +Sun 0 60 2019-07-11T02:56Z r +Sun 0 60 2019-07-11T21:14Z s +Sun 0 60 2019-07-12T02:58Z r +Sun 0 60 2019-07-12T21:12Z s +Sun 0 60 2019-07-13T02:59Z r +Sun 0 60 2019-07-13T21:11Z s +Sun 0 60 2019-07-14T03:01Z r +Sun 0 60 2019-07-14T21:09Z s +Sun 0 60 2019-07-15T03:03Z r +Sun 0 60 2019-07-15T21:08Z s +Sun 0 60 2019-07-16T03:05Z r +Sun 0 60 2019-07-16T21:06Z s +Sun 0 60 2019-07-17T03:07Z r +Sun 0 60 2019-07-17T21:04Z s +Sun 0 60 2019-07-18T03:09Z r +Sun 0 60 2019-07-18T21:02Z s +Sun 0 60 2019-07-19T03:11Z r +Sun 0 60 2019-07-19T21:00Z s +Sun 0 60 2019-07-20T03:13Z r +Sun 0 60 2019-07-20T20:58Z s +Sun 0 60 2019-07-21T03:15Z r +Sun 0 60 2019-07-21T20:56Z s +Sun 0 60 2019-07-22T03:17Z r +Sun 0 60 2019-07-22T20:54Z s +Sun 0 60 2019-07-23T03:19Z r +Sun 0 60 2019-07-23T20:52Z s +Sun 0 60 2019-07-24T03:22Z r +Sun 0 60 2019-07-24T20:50Z s +Sun 0 60 2019-07-25T03:24Z r +Sun 0 60 2019-07-25T20:48Z s +Sun 0 60 2019-07-26T03:26Z r +Sun 0 60 2019-07-26T20:45Z s +Sun 0 60 2019-07-27T03:28Z r +Sun 0 60 2019-07-27T20:43Z s +Sun 0 60 2019-07-28T03:31Z r +Sun 0 60 2019-07-28T20:41Z s +Sun 0 60 2019-07-29T03:33Z r +Sun 0 60 2019-07-29T20:38Z s +Sun 0 60 2019-07-30T03:35Z r +Sun 0 60 2019-07-30T20:36Z s +Sun 0 60 2019-07-31T03:38Z r +Sun 0 60 2019-07-31T20:34Z s +Sun 0 60 2019-08-01T03:40Z r +Sun 0 60 2019-08-01T20:31Z s +Sun 0 60 2019-08-02T03:42Z r +Sun 0 60 2019-08-02T20:29Z s +Sun 0 60 2019-08-03T03:45Z r +Sun 0 60 2019-08-03T20:26Z s +Sun 0 60 2019-08-04T03:47Z r +Sun 0 60 2019-08-04T20:24Z s +Sun 0 60 2019-08-05T03:49Z r +Sun 0 60 2019-08-05T20:21Z s +Sun 0 60 2019-08-06T03:52Z r +Sun 0 60 2019-08-06T20:18Z s +Sun 0 60 2019-08-07T03:54Z r +Sun 0 60 2019-08-07T20:16Z s +Sun 0 60 2019-08-08T03:57Z r +Sun 0 60 2019-08-08T20:13Z s +Sun 0 60 2019-08-09T03:59Z r +Sun 0 60 2019-08-09T20:10Z s +Sun 0 60 2019-08-10T04:01Z r +Sun 0 60 2019-08-10T20:08Z s +Sun 0 60 2019-08-11T04:04Z r +Sun 0 60 2019-08-11T20:05Z s +Sun 0 60 2019-08-12T04:06Z r +Sun 0 60 2019-08-12T20:02Z s +Sun 0 60 2019-08-13T04:09Z r +Sun 0 60 2019-08-13T20:00Z s +Sun 0 60 2019-08-14T04:11Z r +Sun 0 60 2019-08-14T19:57Z s +Sun 0 60 2019-08-15T04:13Z r +Sun 0 60 2019-08-15T19:54Z s +Sun 0 60 2019-08-16T04:16Z r +Sun 0 60 2019-08-16T19:51Z s +Sun 0 60 2019-08-17T04:18Z r +Sun 0 60 2019-08-17T19:48Z s +Sun 0 60 2019-08-18T04:21Z r +Sun 0 60 2019-08-18T19:46Z s +Sun 0 60 2019-08-19T04:23Z r +Sun 0 60 2019-08-19T19:43Z s +Sun 0 60 2019-08-20T04:25Z r +Sun 0 60 2019-08-20T19:40Z s +Sun 0 60 2019-08-21T04:28Z r +Sun 0 60 2019-08-21T19:37Z s +Sun 0 60 2019-08-22T04:30Z r +Sun 0 60 2019-08-22T19:34Z s +Sun 0 60 2019-08-23T04:33Z r +Sun 0 60 2019-08-23T19:31Z s +Sun 0 60 2019-08-24T04:35Z r +Sun 0 60 2019-08-24T19:28Z s +Sun 0 60 2019-08-25T04:37Z r +Sun 0 60 2019-08-25T19:25Z s +Sun 0 60 2019-08-26T04:40Z r +Sun 0 60 2019-08-26T19:22Z s +Sun 0 60 2019-08-27T04:42Z r +Sun 0 60 2019-08-27T19:19Z s +Sun 0 60 2019-08-28T04:45Z r +Sun 0 60 2019-08-28T19:16Z s +Sun 0 60 2019-08-29T04:47Z r +Sun 0 60 2019-08-29T19:13Z s +Sun 0 60 2019-08-30T04:49Z r +Sun 0 60 2019-08-30T19:11Z s +Sun 0 60 2019-08-31T04:52Z r +Sun 0 60 2019-08-31T19:08Z s +Sun 0 60 2019-09-01T04:54Z r +Sun 0 60 2019-09-01T19:05Z s +Sun 0 60 2019-09-02T04:56Z r +Sun 0 60 2019-09-02T19:02Z s +Sun 0 60 2019-09-03T04:59Z r +Sun 0 60 2019-09-03T18:59Z s +Sun 0 60 2019-09-04T05:01Z r +Sun 0 60 2019-09-04T18:56Z s +Sun 0 60 2019-09-05T05:03Z r +Sun 0 60 2019-09-05T18:53Z s +Sun 0 60 2019-09-06T05:06Z r +Sun 0 60 2019-09-06T18:50Z s +Sun 0 60 2019-09-07T05:08Z r +Sun 0 60 2019-09-07T18:47Z s +Sun 0 60 2019-09-08T05:11Z r +Sun 0 60 2019-09-08T18:44Z s +Sun 0 60 2019-09-09T05:13Z r +Sun 0 60 2019-09-09T18:40Z s +Sun 0 60 2019-09-10T05:15Z r +Sun 0 60 2019-09-10T18:37Z s +Sun 0 60 2019-09-11T05:18Z r +Sun 0 60 2019-09-11T18:34Z s +Sun 0 60 2019-09-12T05:20Z r +Sun 0 60 2019-09-12T18:31Z s +Sun 0 60 2019-09-13T05:22Z r +Sun 0 60 2019-09-13T18:28Z s +Sun 0 60 2019-09-14T05:25Z r +Sun 0 60 2019-09-14T18:25Z s +Sun 0 60 2019-09-15T05:27Z r +Sun 0 60 2019-09-15T18:22Z s +Sun 0 60 2019-09-16T05:29Z r +Sun 0 60 2019-09-16T18:19Z s +Sun 0 60 2019-09-17T05:32Z r +Sun 0 60 2019-09-17T18:16Z s +Sun 0 60 2019-09-18T05:34Z r +Sun 0 60 2019-09-18T18:13Z s +Sun 0 60 2019-09-19T05:36Z r +Sun 0 60 2019-09-19T18:10Z s +Sun 0 60 2019-09-20T05:39Z r +Sun 0 60 2019-09-20T18:07Z s +Sun 0 60 2019-09-21T05:41Z r +Sun 0 60 2019-09-21T18:04Z s +Sun 0 60 2019-09-22T05:43Z r +Sun 0 60 2019-09-22T18:01Z s +Sun 0 60 2019-09-23T05:46Z r +Sun 0 60 2019-09-23T17:58Z s +Sun 0 60 2019-09-24T05:48Z r +Sun 0 60 2019-09-24T17:55Z s +Sun 0 60 2019-09-25T05:50Z r +Sun 0 60 2019-09-25T17:52Z s +Sun 0 60 2019-09-26T05:53Z r +Sun 0 60 2019-09-26T17:49Z s +Sun 0 60 2019-09-27T05:55Z r +Sun 0 60 2019-09-27T17:46Z s +Sun 0 60 2019-09-28T05:57Z r +Sun 0 60 2019-09-28T17:43Z s +Sun 0 60 2019-09-29T06:00Z r +Sun 0 60 2019-09-29T17:40Z s +Sun 0 60 2019-09-30T06:02Z r +Sun 0 60 2019-09-30T17:37Z s +Sun 0 60 2019-10-01T06:05Z r +Sun 0 60 2019-10-01T17:34Z s +Sun 0 60 2019-10-02T06:07Z r +Sun 0 60 2019-10-02T17:31Z s +Sun 0 60 2019-10-03T06:09Z r +Sun 0 60 2019-10-03T17:28Z s +Sun 0 60 2019-10-04T06:12Z r +Sun 0 60 2019-10-04T17:25Z s +Sun 0 60 2019-10-05T06:14Z r +Sun 0 60 2019-10-05T17:22Z s +Sun 0 60 2019-10-06T06:17Z r +Sun 0 60 2019-10-06T17:19Z s +Sun 0 60 2019-10-07T06:19Z r +Sun 0 60 2019-10-07T17:16Z s +Sun 0 60 2019-10-08T06:21Z r +Sun 0 60 2019-10-08T17:13Z s +Sun 0 60 2019-10-09T06:24Z r +Sun 0 60 2019-10-09T17:10Z s +Sun 0 60 2019-10-10T06:26Z r +Sun 0 60 2019-10-10T17:07Z s +Sun 0 60 2019-10-11T06:29Z r +Sun 0 60 2019-10-11T17:04Z s +Sun 0 60 2019-10-12T06:31Z r +Sun 0 60 2019-10-12T17:01Z s +Sun 0 60 2019-10-13T06:34Z r +Sun 0 60 2019-10-13T16:58Z s +Sun 0 60 2019-10-14T06:36Z r +Sun 0 60 2019-10-14T16:55Z s +Sun 0 60 2019-10-15T06:38Z r +Sun 0 60 2019-10-15T16:52Z s +Sun 0 60 2019-10-16T06:41Z r +Sun 0 60 2019-10-16T16:49Z s +Sun 0 60 2019-10-17T06:43Z r +Sun 0 60 2019-10-17T16:46Z s +Sun 0 60 2019-10-18T06:46Z r +Sun 0 60 2019-10-18T16:43Z s +Sun 0 60 2019-10-19T06:48Z r +Sun 0 60 2019-10-19T16:41Z s +Sun 0 60 2019-10-20T06:51Z r +Sun 0 60 2019-10-20T16:38Z s +Sun 0 60 2019-10-21T06:53Z r +Sun 0 60 2019-10-21T16:35Z s +Sun 0 60 2019-10-22T06:56Z r +Sun 0 60 2019-10-22T16:32Z s +Sun 0 60 2019-10-23T06:58Z r +Sun 0 60 2019-10-23T16:29Z s +Sun 0 60 2019-10-24T07:01Z r +Sun 0 60 2019-10-24T16:27Z s +Sun 0 60 2019-10-25T07:03Z r +Sun 0 60 2019-10-25T16:24Z s +Sun 0 60 2019-10-26T07:06Z r +Sun 0 60 2019-10-26T16:21Z s +Sun 0 60 2019-10-27T07:08Z r +Sun 0 60 2019-10-27T16:18Z s +Sun 0 60 2019-10-28T07:11Z r +Sun 0 60 2019-10-28T16:16Z s +Sun 0 60 2019-10-29T07:14Z r +Sun 0 60 2019-10-29T16:13Z s +Sun 0 60 2019-10-30T07:16Z r +Sun 0 60 2019-10-30T16:10Z s +Sun 0 60 2019-10-31T07:19Z r +Sun 0 60 2019-10-31T16:08Z s +Sun 0 60 2019-11-01T07:21Z r +Sun 0 60 2019-11-01T16:05Z s +Sun 0 60 2019-11-02T07:24Z r +Sun 0 60 2019-11-02T16:02Z s +Sun 0 60 2019-11-03T07:26Z r +Sun 0 60 2019-11-03T16:00Z s +Sun 0 60 2019-11-04T07:29Z r +Sun 0 60 2019-11-04T15:57Z s +Sun 0 60 2019-11-05T07:32Z r +Sun 0 60 2019-11-05T15:55Z s +Sun 0 60 2019-11-06T07:34Z r +Sun 0 60 2019-11-06T15:52Z s +Sun 0 60 2019-11-07T07:37Z r +Sun 0 60 2019-11-07T15:50Z s +Sun 0 60 2019-11-08T07:39Z r +Sun 0 60 2019-11-08T15:47Z s +Sun 0 60 2019-11-09T07:42Z r +Sun 0 60 2019-11-09T15:45Z s +Sun 0 60 2019-11-10T07:44Z r +Sun 0 60 2019-11-10T15:43Z s +Sun 0 60 2019-11-11T07:47Z r +Sun 0 60 2019-11-11T15:40Z s +Sun 0 60 2019-11-12T07:49Z r +Sun 0 60 2019-11-12T15:38Z s +Sun 0 60 2019-11-13T07:52Z r +Sun 0 60 2019-11-13T15:36Z s +Sun 0 60 2019-11-14T07:55Z r +Sun 0 60 2019-11-14T15:33Z s +Sun 0 60 2019-11-15T07:57Z r +Sun 0 60 2019-11-15T15:31Z s +Sun 0 60 2019-11-16T08:00Z r +Sun 0 60 2019-11-16T15:29Z s +Sun 0 60 2019-11-17T08:02Z r +Sun 0 60 2019-11-17T15:27Z s +Sun 0 60 2019-11-18T08:04Z r +Sun 0 60 2019-11-18T15:25Z s +Sun 0 60 2019-11-19T08:07Z r +Sun 0 60 2019-11-19T15:23Z s +Sun 0 60 2019-11-20T08:09Z r +Sun 0 60 2019-11-20T15:21Z s +Sun 0 60 2019-11-21T08:12Z r +Sun 0 60 2019-11-21T15:19Z s +Sun 0 60 2019-11-22T08:14Z r +Sun 0 60 2019-11-22T15:17Z s +Sun 0 60 2019-11-23T08:16Z r +Sun 0 60 2019-11-23T15:15Z s +Sun 0 60 2019-11-24T08:19Z r +Sun 0 60 2019-11-24T15:14Z s +Sun 0 60 2019-11-25T08:21Z r +Sun 0 60 2019-11-25T15:12Z s +Sun 0 60 2019-11-26T08:23Z r +Sun 0 60 2019-11-26T15:10Z s +Sun 0 60 2019-11-27T08:26Z r +Sun 0 60 2019-11-27T15:09Z s +Sun 0 60 2019-11-28T08:28Z r +Sun 0 60 2019-11-28T15:07Z s +Sun 0 60 2019-11-29T08:30Z r +Sun 0 60 2019-11-29T15:06Z s +Sun 0 60 2019-11-30T08:32Z r +Sun 0 60 2019-11-30T15:04Z s +Sun 0 60 2019-12-01T08:34Z r +Sun 0 60 2019-12-01T15:03Z s +Sun 0 60 2019-12-02T08:36Z r +Sun 0 60 2019-12-02T15:02Z s +Sun 0 60 2019-12-03T08:38Z r +Sun 0 60 2019-12-03T15:01Z s +Sun 0 60 2019-12-04T08:40Z r +Sun 0 60 2019-12-04T15:00Z s +Sun 0 60 2019-12-05T08:42Z r +Sun 0 60 2019-12-05T14:59Z s +Sun 0 60 2019-12-06T08:44Z r +Sun 0 60 2019-12-06T14:58Z s +Sun 0 60 2019-12-07T08:45Z r +Sun 0 60 2019-12-07T14:57Z s +Sun 0 60 2019-12-08T08:47Z r +Sun 0 60 2019-12-08T14:56Z s +Sun 0 60 2019-12-09T08:49Z r +Sun 0 60 2019-12-09T14:55Z s +Sun 0 60 2019-12-10T08:50Z r +Sun 0 60 2019-12-10T14:55Z s +Sun 0 60 2019-12-11T08:52Z r +Sun 0 60 2019-12-11T14:54Z s +Sun 0 60 2019-12-12T08:53Z r +Sun 0 60 2019-12-12T14:54Z s +Sun 0 60 2019-12-13T08:54Z r +Sun 0 60 2019-12-13T14:54Z s +Sun 0 60 2019-12-14T08:56Z r +Sun 0 60 2019-12-14T14:53Z s +Sun 0 60 2019-12-15T08:57Z r +Sun 0 60 2019-12-15T14:53Z s +Sun 0 60 2019-12-16T08:58Z r +Sun 0 60 2019-12-16T14:53Z s +Sun 0 60 2019-12-17T08:59Z r +Sun 0 60 2019-12-17T14:53Z s +Sun 0 60 2019-12-18T09:00Z r +Sun 0 60 2019-12-18T14:53Z s +Sun 0 60 2019-12-19T09:00Z r +Sun 0 60 2019-12-19T14:53Z s +Sun 0 60 2019-12-20T09:01Z r +Sun 0 60 2019-12-20T14:54Z s +Sun 0 60 2019-12-21T09:02Z r +Sun 0 60 2019-12-21T14:54Z s +Sun 0 60 2019-12-22T09:02Z r +Sun 0 60 2019-12-22T14:55Z s +Sun 0 60 2019-12-23T09:03Z r +Sun 0 60 2019-12-23T14:55Z s +Sun 0 60 2019-12-24T09:03Z r +Sun 0 60 2019-12-24T14:56Z s +Sun 0 60 2019-12-25T09:03Z r +Sun 0 60 2019-12-25T14:57Z s +Sun 0 60 2019-12-26T09:03Z r +Sun 0 60 2019-12-26T14:57Z s +Sun 0 60 2019-12-27T09:03Z r +Sun 0 60 2019-12-27T14:58Z s +Sun 0 60 2019-12-28T09:03Z r +Sun 0 60 2019-12-28T14:59Z s +Sun 0 60 2019-12-29T09:03Z r +Sun 0 60 2019-12-29T15:01Z s +Sun 0 60 2019-12-30T09:03Z r +Sun 0 60 2019-12-30T15:02Z s +Sun 0 60 2019-12-31T09:03Z r +Sun 0 60 2019-12-31T15:03Z s From 1bc61f714e1dc4c04ba88c3227a62010c3e57393 Mon Sep 17 00:00:00 2001 From: Don Cross Date: Fri, 4 Nov 2022 21:06:41 -0400 Subject: [PATCH 02/16] BROKEN BUILD: added failing data for rise/set. Added sunrise/sunset test data for locations at or near the poles. This causes rise/set tests to fail. I need to fix these cases! Observations: 1. Sunrise/sunset at the poles has nothing to do with the Earth's rotation. It is based only on the Sun's declination. Therefore, it makes no sense to look at hour angles there. 2. At the poles, there is no such thing as a meridian. For example, at the north pole, no matter which way you turn, you are facing south! So the very notion of hour angles is meaningless. 3. At the poles, there is a single sunrise and a single sunset per calendar year. The sun rises near the spring solstice for that hemisphere, and sets near the autumn solstice. 4. Near the poles, sunrise/sunset behavior gets more complicated. It is possible for there to be more than one sunset or sunrise per 24-hour period, because of changes of Sun declination. --- generate/riseset/riseset.txt | 68 ++++++++++++++++++++++++++ generate/riseset/sun_2022_E0_N90.html | 46 +++++++++++++++++ generate/riseset/sun_2022_E0_S90.html | 46 +++++++++++++++++ generate/riseset/sun_2022_E30_N89.html | 47 ++++++++++++++++++ generate/riseset/sun_2022_E45_S88.html | 45 +++++++++++++++++ 5 files changed, 252 insertions(+) create mode 100644 generate/riseset/sun_2022_E0_N90.html create mode 100644 generate/riseset/sun_2022_E0_S90.html create mode 100644 generate/riseset/sun_2022_E30_N89.html create mode 100644 generate/riseset/sun_2022_E45_S88.html diff --git a/generate/riseset/riseset.txt b/generate/riseset/riseset.txt index d8f505af..70500ef6 100644 --- a/generate/riseset/riseset.txt +++ b/generate/riseset/riseset.txt @@ -2117,6 +2117,50 @@ Moon -81 29 2019-12-30T01:57Z s Moon -81 29 2019-12-30T15:39Z r Moon -81 29 2019-12-31T02:52Z s Moon -81 29 2019-12-31T16:13Z r +Sun 0 -90 2022-03-22T18:07Z s +Sun 0 -90 2022-09-20T21:52Z r +Sun 45 -88 2022-03-17T20:13Z s +Sun 45 -88 2022-03-17T22:18Z r +Sun 45 -88 2022-03-18T18:35Z s +Sun 45 -88 2022-03-18T23:56Z r +Sun 45 -88 2022-03-19T17:34Z s +Sun 45 -88 2022-03-20T00:58Z r +Sun 45 -88 2022-03-20T16:43Z s +Sun 45 -88 2022-03-21T01:50Z r +Sun 45 -88 2022-03-21T15:57Z s +Sun 45 -88 2022-03-22T02:38Z r +Sun 45 -88 2022-03-22T15:12Z s +Sun 45 -88 2022-03-23T03:24Z r +Sun 45 -88 2022-03-23T14:28Z s +Sun 45 -88 2022-03-24T04:11Z r +Sun 45 -88 2022-03-24T13:42Z s +Sun 45 -88 2022-03-25T05:02Z r +Sun 45 -88 2022-03-25T12:53Z s +Sun 45 -88 2022-03-26T06:00Z r +Sun 45 -88 2022-03-26T11:56Z s +Sun 45 -88 2022-03-27T07:19Z r +Sun 45 -88 2022-03-27T10:37Z s +Sun 45 -88 2022-09-16T07:08Z r +Sun 45 -88 2022-09-16T10:56Z s +Sun 45 -88 2022-09-17T05:56Z r +Sun 45 -88 2022-09-17T12:09Z s +Sun 45 -88 2022-09-18T05:01Z r +Sun 45 -88 2022-09-18T13:05Z s +Sun 45 -88 2022-09-19T04:13Z r +Sun 45 -88 2022-09-19T13:54Z s +Sun 45 -88 2022-09-20T03:28Z r +Sun 45 -88 2022-09-20T14:40Z s +Sun 45 -88 2022-09-21T02:44Z r +Sun 45 -88 2022-09-21T15:26Z s +Sun 45 -88 2022-09-22T02:00Z r +Sun 45 -88 2022-09-22T16:13Z s +Sun 45 -88 2022-09-23T01:14Z r +Sun 45 -88 2022-09-23T17:04Z s +Sun 45 -88 2022-09-24T00:24Z r +Sun 45 -88 2022-09-24T18:06Z s +Sun 45 -88 2022-09-24T23:23Z r +Sun 45 -88 2022-09-25T19:43Z s +Sun 45 -88 2022-09-25T21:45Z r Sun -150 -60 2019-01-01T07:24Z s Sun -150 -60 2019-01-01T12:43Z r Sun -150 -60 2019-01-02T07:23Z s @@ -5037,3 +5081,27 @@ Sun 0 60 2019-12-30T09:03Z r Sun 0 60 2019-12-30T15:02Z s Sun 0 60 2019-12-31T09:03Z r Sun 0 60 2019-12-31T15:03Z s +Sun 30 89 2022-03-16T08:11Z r +Sun 30 89 2022-03-16T12:37Z s +Sun 30 89 2022-03-17T06:11Z r +Sun 30 89 2022-03-17T14:42Z s +Sun 30 89 2022-03-18T04:40Z r +Sun 30 89 2022-03-18T16:21Z s +Sun 30 89 2022-03-19T03:14Z r +Sun 30 89 2022-03-19T18:02Z s +Sun 30 89 2022-03-20T01:39Z r +Sun 30 89 2022-03-20T20:31Z s +Sun 30 89 2022-03-20T23:14Z r +Sun 30 89 2022-09-22T20:14Z s +Sun 30 89 2022-09-23T00:01Z r +Sun 30 89 2022-09-23T18:07Z s +Sun 30 89 2022-09-24T02:12Z r +Sun 30 89 2022-09-24T16:35Z s +Sun 30 89 2022-09-25T03:50Z r +Sun 30 89 2022-09-25T15:11Z s +Sun 30 89 2022-09-26T05:28Z r +Sun 30 89 2022-09-26T13:40Z s +Sun 30 89 2022-09-27T07:37Z r +Sun 30 89 2022-09-27T11:35Z s +Sun 0 90 2022-03-18T13:02Z r +Sun 0 90 2022-09-25T04:13Z s diff --git a/generate/riseset/sun_2022_E0_N90.html b/generate/riseset/sun_2022_E0_N90.html new file mode 100644 index 00000000..c6bb1355 --- /dev/null +++ b/generate/riseset/sun_2022_E0_N90.html @@ -0,0 +1,46 @@ +https://aa.usno.navy.mil/calculated/rstt/year?ID=AA&year=2022&task=0&lat=90&lon=0.0000&label=North+Pole&tz=0.00&tz_sign=-1&submit=Get+Data + + o , o , NORTH POLE Astronomical Applications Dept. +Location: 000 00, N90 00 Rise and Set for the Sun for 2022 U. S. Naval Observatory + Washington, DC 20392-5420 + Universal Time + + +Jan. Feb. Mar. Apr. May June July Aug. Sept. Oct. Nov. Dec. +Day Rise Set Rise Set Rise Set Rise Set Rise Set Rise Set Rise Set Rise Set Rise Set Rise Set Rise Set Rise Set +h m h m h m h m h m h m h m h m h m h m h m h m h m h m h m h m h m h m h m h m h m h m h m h m +01 ---- ---- ---- ---- ---- ---- **** **** **** **** **** **** **** **** **** **** **** **** ---- ---- ---- ---- ---- ---- +02 ---- ---- ---- ---- ---- ---- **** **** **** **** **** **** **** **** **** **** **** **** ---- ---- ---- ---- ---- ---- +03 ---- ---- ---- ---- ---- ---- **** **** **** **** **** **** **** **** **** **** **** **** ---- ---- ---- ---- ---- ---- +04 ---- ---- ---- ---- ---- ---- **** **** **** **** **** **** **** **** **** **** **** **** ---- ---- ---- ---- ---- ---- +05 ---- ---- ---- ---- ---- ---- **** **** **** **** **** **** **** **** **** **** **** **** ---- ---- ---- ---- ---- ---- +06 ---- ---- ---- ---- ---- ---- **** **** **** **** **** **** **** **** **** **** **** **** ---- ---- ---- ---- ---- ---- +07 ---- ---- ---- ---- ---- ---- **** **** **** **** **** **** **** **** **** **** **** **** ---- ---- ---- ---- ---- ---- +08 ---- ---- ---- ---- ---- ---- **** **** **** **** **** **** **** **** **** **** **** **** ---- ---- ---- ---- ---- ---- +09 ---- ---- ---- ---- ---- ---- **** **** **** **** **** **** **** **** **** **** **** **** ---- ---- ---- ---- ---- ---- +10 ---- ---- ---- ---- ---- ---- **** **** **** **** **** **** **** **** **** **** **** **** ---- ---- ---- ---- ---- ---- +11 ---- ---- ---- ---- ---- ---- **** **** **** **** **** **** **** **** **** **** **** **** ---- ---- ---- ---- ---- ---- +12 ---- ---- ---- ---- ---- ---- **** **** **** **** **** **** **** **** **** **** **** **** ---- ---- ---- ---- ---- ---- +13 ---- ---- ---- ---- ---- ---- **** **** **** **** **** **** **** **** **** **** **** **** ---- ---- ---- ---- ---- ---- +14 ---- ---- ---- ---- ---- ---- **** **** **** **** **** **** **** **** **** **** **** **** ---- ---- ---- ---- ---- ---- +15 ---- ---- ---- ---- ---- ---- **** **** **** **** **** **** **** **** **** **** **** **** ---- ---- ---- ---- ---- ---- +16 ---- ---- ---- ---- ---- ---- **** **** **** **** **** **** **** **** **** **** **** **** ---- ---- ---- ---- ---- ---- +17 ---- ---- ---- ---- ---- ---- **** **** **** **** **** **** **** **** **** **** **** **** ---- ---- ---- ---- ---- ---- +18 ---- ---- ---- ---- 1302 **** **** **** **** **** **** **** **** **** **** **** **** ---- ---- ---- ---- ---- ---- +19 ---- ---- ---- ---- **** **** **** **** **** **** **** **** **** **** **** **** **** **** ---- ---- ---- ---- ---- ---- +20 ---- ---- ---- ---- **** **** **** **** **** **** **** **** **** **** **** **** **** **** ---- ---- ---- ---- ---- ---- +21 ---- ---- ---- ---- **** **** **** **** **** **** **** **** **** **** **** **** **** **** ---- ---- ---- ---- ---- ---- +22 ---- ---- ---- ---- **** **** **** **** **** **** **** **** **** **** **** **** **** **** ---- ---- ---- ---- ---- ---- +23 ---- ---- ---- ---- **** **** **** **** **** **** **** **** **** **** **** **** **** **** ---- ---- ---- ---- ---- ---- +24 ---- ---- ---- ---- **** **** **** **** **** **** **** **** **** **** **** **** **** **** ---- ---- ---- ---- ---- ---- +25 ---- ---- ---- ---- **** **** **** **** **** **** **** **** **** **** **** **** 0413 ---- ---- ---- ---- ---- ---- +26 ---- ---- ---- ---- **** **** **** **** **** **** **** **** **** **** **** **** ---- ---- ---- ---- ---- ---- ---- ---- +27 ---- ---- ---- ---- **** **** **** **** **** **** **** **** **** **** **** **** ---- ---- ---- ---- ---- ---- ---- ---- +28 ---- ---- ---- ---- **** **** **** **** **** **** **** **** **** **** **** **** ---- ---- ---- ---- ---- ---- ---- ---- +29 ---- ---- **** **** **** **** **** **** **** **** **** **** **** **** ---- ---- ---- ---- ---- ---- ---- ---- +30 ---- ---- **** **** **** **** **** **** **** **** **** **** **** **** ---- ---- ---- ---- ---- ---- ---- ---- +31 ---- ---- **** **** **** **** **** **** **** **** ---- ---- ---- ---- + +(**** object continuously above horizon) (---- object continuously below horizon) + +Add one hour for daylight time, if and when in use. diff --git a/generate/riseset/sun_2022_E0_S90.html b/generate/riseset/sun_2022_E0_S90.html new file mode 100644 index 00000000..109f0bb6 --- /dev/null +++ b/generate/riseset/sun_2022_E0_S90.html @@ -0,0 +1,46 @@ +https://aa.usno.navy.mil/calculated/rstt/year?ID=AA&year=2022&task=0&lat=-90&lon=0.0000&label=South+Pole&tz=0.00&tz_sign=-1&submit=Get+Data + + o , o , SOUTH POLE Astronomical Applications Dept. +Location: 000 00, S90 00 Rise and Set for the Sun for 2022 U. S. Naval Observatory + Washington, DC 20392-5420 + Universal Time + + + Jan. Feb. Mar. Apr. May June July Aug. Sept. Oct. Nov. Dec. +Day Rise Set Rise Set Rise Set Rise Set Rise Set Rise Set Rise Set Rise Set Rise Set Rise Set Rise Set Rise Set + h m h m h m h m h m h m h m h m h m h m h m h m h m h m h m h m h m h m h m h m h m h m h m h m +01 **** **** **** **** **** **** ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- **** **** **** **** **** **** +02 **** **** **** **** **** **** ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- **** **** **** **** **** **** +03 **** **** **** **** **** **** ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- **** **** **** **** **** **** +04 **** **** **** **** **** **** ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- **** **** **** **** **** **** +05 **** **** **** **** **** **** ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- **** **** **** **** **** **** +06 **** **** **** **** **** **** ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- **** **** **** **** **** **** +07 **** **** **** **** **** **** ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- **** **** **** **** **** **** +08 **** **** **** **** **** **** ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- **** **** **** **** **** **** +09 **** **** **** **** **** **** ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- **** **** **** **** **** **** +10 **** **** **** **** **** **** ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- **** **** **** **** **** **** +11 **** **** **** **** **** **** ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- **** **** **** **** **** **** +12 **** **** **** **** **** **** ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- **** **** **** **** **** **** +13 **** **** **** **** **** **** ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- **** **** **** **** **** **** +14 **** **** **** **** **** **** ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- **** **** **** **** **** **** +15 **** **** **** **** **** **** ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- **** **** **** **** **** **** +16 **** **** **** **** **** **** ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- **** **** **** **** **** **** +17 **** **** **** **** **** **** ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- **** **** **** **** **** **** +18 **** **** **** **** **** **** ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- **** **** **** **** **** **** +19 **** **** **** **** **** **** ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- **** **** **** **** **** **** +20 **** **** **** **** **** **** ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- 2152 **** **** **** **** **** **** +21 **** **** **** **** **** **** ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- **** **** **** **** **** **** **** **** +22 **** **** **** **** 1807 ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- **** **** **** **** **** **** **** **** +23 **** **** **** **** ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- **** **** **** **** **** **** **** **** +24 **** **** **** **** ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- **** **** **** **** **** **** **** **** +25 **** **** **** **** ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- **** **** **** **** **** **** **** **** +26 **** **** **** **** ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- **** **** **** **** **** **** **** **** +27 **** **** **** **** ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- **** **** **** **** **** **** **** **** +28 **** **** **** **** ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- **** **** **** **** **** **** **** **** +29 **** **** ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- **** **** **** **** **** **** **** **** +30 **** **** ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- **** **** **** **** **** **** **** **** +31 **** **** ---- ---- ---- ---- ---- ---- ---- ---- **** **** **** **** + +(**** object continuously above horizon) (---- object continuously below horizon) + +Add one hour for daylight time, if and when in use. diff --git a/generate/riseset/sun_2022_E30_N89.html b/generate/riseset/sun_2022_E30_N89.html new file mode 100644 index 00000000..3e3321ef --- /dev/null +++ b/generate/riseset/sun_2022_E30_N89.html @@ -0,0 +1,47 @@ +https://aa.usno.navy.mil/calculated/rstt/year?ID=AA&year=2022&task=0&lat=89&lon=30&label=Almost+North+Pole&tz=0.00&tz_sign=-1&submit=Get+Data + +o , o , ALMOST NORTH POLE Astronomical Applications Dept. +Location: E030 00, N89 00 Rise and Set for the Sun for 2022 U. S. Naval Observatory + Washington, DC 20392-5420 + Universal Time + + + Jan. Feb. Mar. Apr. May June July Aug. Sept. Oct. Nov. Dec. +Day Rise Set Rise Set Rise Set Rise Set Rise Set Rise Set Rise Set Rise Set Rise Set Rise Set Rise Set Rise Set + h m h m h m h m h m h m h m h m h m h m h m h m h m h m h m h m h m h m h m h m h m h m h m h m +01 ---- ---- ---- ---- ---- ---- **** **** **** **** **** **** **** **** **** **** **** **** ---- ---- ---- ---- ---- ---- +02 ---- ---- ---- ---- ---- ---- **** **** **** **** **** **** **** **** **** **** **** **** ---- ---- ---- ---- ---- ---- +03 ---- ---- ---- ---- ---- ---- **** **** **** **** **** **** **** **** **** **** **** **** ---- ---- ---- ---- ---- ---- +04 ---- ---- ---- ---- ---- ---- **** **** **** **** **** **** **** **** **** **** **** **** ---- ---- ---- ---- ---- ---- +05 ---- ---- ---- ---- ---- ---- **** **** **** **** **** **** **** **** **** **** **** **** ---- ---- ---- ---- ---- ---- +06 ---- ---- ---- ---- ---- ---- **** **** **** **** **** **** **** **** **** **** **** **** ---- ---- ---- ---- ---- ---- +07 ---- ---- ---- ---- ---- ---- **** **** **** **** **** **** **** **** **** **** **** **** ---- ---- ---- ---- ---- ---- +08 ---- ---- ---- ---- ---- ---- **** **** **** **** **** **** **** **** **** **** **** **** ---- ---- ---- ---- ---- ---- +09 ---- ---- ---- ---- ---- ---- **** **** **** **** **** **** **** **** **** **** **** **** ---- ---- ---- ---- ---- ---- +10 ---- ---- ---- ---- ---- ---- **** **** **** **** **** **** **** **** **** **** **** **** ---- ---- ---- ---- ---- ---- +11 ---- ---- ---- ---- ---- ---- **** **** **** **** **** **** **** **** **** **** **** **** ---- ---- ---- ---- ---- ---- +12 ---- ---- ---- ---- ---- ---- **** **** **** **** **** **** **** **** **** **** **** **** ---- ---- ---- ---- ---- ---- +13 ---- ---- ---- ---- ---- ---- **** **** **** **** **** **** **** **** **** **** **** **** ---- ---- ---- ---- ---- ---- +14 ---- ---- ---- ---- ---- ---- **** **** **** **** **** **** **** **** **** **** **** **** ---- ---- ---- ---- ---- ---- +15 ---- ---- ---- ---- ---- ---- **** **** **** **** **** **** **** **** **** **** **** **** ---- ---- ---- ---- ---- ---- +16 ---- ---- ---- ---- 0811 1237 **** **** **** **** **** **** **** **** **** **** **** **** ---- ---- ---- ---- ---- ---- +17 ---- ---- ---- ---- 0611 1442 **** **** **** **** **** **** **** **** **** **** **** **** ---- ---- ---- ---- ---- ---- +18 ---- ---- ---- ---- 0440 1621 **** **** **** **** **** **** **** **** **** **** **** **** ---- ---- ---- ---- ---- ---- +19 ---- ---- ---- ---- 0314 1802 **** **** **** **** **** **** **** **** **** **** **** **** ---- ---- ---- ---- ---- ---- +20 ---- ---- ---- ---- 0139 2031 **** **** **** **** **** **** **** **** **** **** **** **** ---- ---- ---- ---- ---- ---- +20 2314 +21 ---- ---- ---- ---- **** **** **** **** **** **** **** **** **** **** **** **** **** **** ---- ---- ---- ---- ---- ---- +22 ---- ---- ---- ---- **** **** **** **** **** **** **** **** **** **** **** **** 2014 ---- ---- ---- ---- ---- ---- +23 ---- ---- ---- ---- **** **** **** **** **** **** **** **** **** **** **** **** 0001 1807 ---- ---- ---- ---- ---- ---- +24 ---- ---- ---- ---- **** **** **** **** **** **** **** **** **** **** **** **** 0212 1635 ---- ---- ---- ---- ---- ---- +25 ---- ---- ---- ---- **** **** **** **** **** **** **** **** **** **** **** **** 0350 1511 ---- ---- ---- ---- ---- ---- +26 ---- ---- ---- ---- **** **** **** **** **** **** **** **** **** **** **** **** 0528 1340 ---- ---- ---- ---- ---- ---- +27 ---- ---- ---- ---- **** **** **** **** **** **** **** **** **** **** **** **** 0737 1135 ---- ---- ---- ---- ---- ---- +28 ---- ---- ---- ---- **** **** **** **** **** **** **** **** **** **** **** **** ---- ---- ---- ---- ---- ---- ---- ---- +29 ---- ---- **** **** **** **** **** **** **** **** **** **** **** **** ---- ---- ---- ---- ---- ---- ---- ---- +30 ---- ---- **** **** **** **** **** **** **** **** **** **** **** **** ---- ---- ---- ---- ---- ---- ---- ---- +31 ---- ---- **** **** **** **** **** **** **** **** ---- ---- ---- ---- + +(**** object continuously above horizon) (---- object continuously below horizon) + +Add one hour for daylight time, if and when in use. diff --git a/generate/riseset/sun_2022_E45_S88.html b/generate/riseset/sun_2022_E45_S88.html new file mode 100644 index 00000000..b39681fe --- /dev/null +++ b/generate/riseset/sun_2022_E45_S88.html @@ -0,0 +1,45 @@ + o , o , ALMOST NORTH POLE Astronomical Applications Dept. +Location: E045 00, S88 00 Rise and Set for the Sun for 2022 U. S. Naval Observatory + Washington, DC 20392-5420 + Universal Time + + + Jan. Feb. Mar. Apr. May June July Aug. Sept. Oct. Nov. Dec. +Day Rise Set Rise Set Rise Set Rise Set Rise Set Rise Set Rise Set Rise Set Rise Set Rise Set Rise Set Rise Set + h m h m h m h m h m h m h m h m h m h m h m h m h m h m h m h m h m h m h m h m h m h m h m h m +01 **** **** **** **** **** **** ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- **** **** **** **** **** **** +02 **** **** **** **** **** **** ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- **** **** **** **** **** **** +03 **** **** **** **** **** **** ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- **** **** **** **** **** **** +04 **** **** **** **** **** **** ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- **** **** **** **** **** **** +05 **** **** **** **** **** **** ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- **** **** **** **** **** **** +06 **** **** **** **** **** **** ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- **** **** **** **** **** **** +07 **** **** **** **** **** **** ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- **** **** **** **** **** **** +08 **** **** **** **** **** **** ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- **** **** **** **** **** **** +09 **** **** **** **** **** **** ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- **** **** **** **** **** **** +10 **** **** **** **** **** **** ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- **** **** **** **** **** **** +11 **** **** **** **** **** **** ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- **** **** **** **** **** **** +12 **** **** **** **** **** **** ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- **** **** **** **** **** **** +13 **** **** **** **** **** **** ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- **** **** **** **** **** **** +14 **** **** **** **** **** **** ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- **** **** **** **** **** **** +15 **** **** **** **** **** **** ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- **** **** **** **** **** **** +16 **** **** **** **** **** **** ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- 0708 1056 **** **** **** **** **** **** +17 **** **** **** **** 2218 2013 ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- 0556 1209 **** **** **** **** **** **** +18 **** **** **** **** 2356 1835 ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- 0501 1305 **** **** **** **** **** **** +19 **** **** **** **** 1734 ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- 0413 1354 **** **** **** **** **** **** +20 **** **** **** **** 0058 1643 ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- 0328 1440 **** **** **** **** **** **** +21 **** **** **** **** 0150 1557 ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- 0244 1526 **** **** **** **** **** **** +22 **** **** **** **** 0238 1512 ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- 0200 1613 **** **** **** **** **** **** +23 **** **** **** **** 0324 1428 ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- 0114 1704 **** **** **** **** **** **** +24 **** **** **** **** 0411 1342 ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- 0024 1806 **** **** **** **** **** **** +24 2323 +25 **** **** **** **** 0502 1253 ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- 2145 1943 **** **** **** **** **** **** +26 **** **** **** **** 0600 1156 ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- **** **** **** **** **** **** **** **** +27 **** **** **** **** 0719 1037 ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- **** **** **** **** **** **** **** **** +28 **** **** **** **** ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- **** **** **** **** **** **** **** **** +29 **** **** ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- **** **** **** **** **** **** **** **** +30 **** **** ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- **** **** **** **** **** **** **** **** +31 **** **** ---- ---- ---- ---- ---- ---- ---- ---- **** **** **** **** + +(**** object continuously above horizon) (---- object continuously below horizon) + +Add one hour for daylight time, if and when in use. From 0674d6923763e4e1a26352139941f23ddd1dc811 Mon Sep 17 00:00:00 2001 From: Don Cross Date: Sat, 5 Nov 2022 20:58:04 -0400 Subject: [PATCH 03/16] C RiseSet: starting algorithm without hour angles. The rise/set search based on hour angles is complicated, and doesn't handle oddities that happen close to the poles. I'm starting to rework rise/set as a more brute force solution that iterates through finite time steps. I also added a series of Moon data for the arctic circle, which includes some of the more painful special cases. For example: Moon 130 80 2034-05-16T13:21Z s Moon 130 80 2034-05-16T13:51Z r Here the Moon sets, then rises 30 minutes later. So now I'm trying to figure out how to discover arbitrarily brief intervals like this. I want the time increments to scale intelligently so that we don't waste time during long periods of inactivity (body above or below the horizon continuously), but without missing examples like the one above. --- generate/ctest.c | 2 +- generate/riseset/moon_2022_E140_N85.html | 50 ++ generate/riseset/moon_2023_E140_N85.html | 49 ++ generate/riseset/moon_2026_E135_N85.html | 51 ++ generate/riseset/moon_2030_E105_N83.html | 49 ++ generate/riseset/moon_2034_E130_N80.html | 50 ++ generate/riseset/moon_2037_E125_N84.html | 51 ++ generate/riseset/riseset.txt | 802 +++++++++++++++++++++++ generate/template/astronomy.c | 273 ++------ source/c/astronomy.c | 273 ++------ 10 files changed, 1181 insertions(+), 469 deletions(-) create mode 100644 generate/riseset/moon_2022_E140_N85.html create mode 100644 generate/riseset/moon_2023_E140_N85.html create mode 100644 generate/riseset/moon_2026_E135_N85.html create mode 100644 generate/riseset/moon_2030_E105_N83.html create mode 100644 generate/riseset/moon_2034_E130_N80.html create mode 100644 generate/riseset/moon_2037_E125_N84.html diff --git a/generate/ctest.c b/generate/ctest.c index a8b60be3..83602b2a 100644 --- a/generate/ctest.c +++ b/generate/ctest.c @@ -1715,7 +1715,7 @@ static int RiseSet(void) if (error_minutes > max_minutes) max_minutes = error_minutes; - if (error_minutes > 0.57) + if (error_minutes > 1.16) FAIL("C RiseSet(%s line %d): excessive prediction time error = %lg minutes.\n", filename, lnum, error_minutes); } diff --git a/generate/riseset/moon_2022_E140_N85.html b/generate/riseset/moon_2022_E140_N85.html new file mode 100644 index 00000000..e55ab607 --- /dev/null +++ b/generate/riseset/moon_2022_E140_N85.html @@ -0,0 +1,50 @@ + o , o , Astronomical Applications Dept. +Location: E140 00, N85 00 Rise and Set for the Moon for 2022 U. S. Naval Observatory + Washington, DC 20392-5420 + Universal Time + + + Jan. Feb. Mar. Apr. May June July Aug. Sept. Oct. Nov. Dec. +Day Rise Set Rise Set Rise Set Rise Set Rise Set Rise Set Rise Set Rise Set Rise Set Rise Set Rise Set Rise Set + h m h m h m h m h m h m h m h m h m h m h m h m h m h m h m h m h m h m h m h m h m h m h m h m +01 ---- ---- ---- ---- ---- ---- 1736 1050 **** **** **** **** **** **** **** **** ---- ---- ---- ---- ---- ---- ---- ---- +02 ---- ---- ---- ---- ---- ---- **** **** **** **** **** **** **** **** 1312 ---- ---- ---- ---- ---- ---- 0630 1558 +03 ---- ---- ---- ---- ---- ---- **** **** **** **** **** **** **** **** 0216 0937 ---- ---- ---- ---- ---- ---- 0255 +04 ---- ---- ---- ---- 0119 0841 **** **** **** **** **** **** **** **** ---- ---- ---- ---- ---- ---- ---- ---- **** **** +04 2140 +05 ---- ---- 0117 1337 **** **** **** **** **** **** **** **** 2301 1806 ---- ---- ---- ---- ---- ---- 0708 1958 **** **** +05 2150 +06 ---- ---- **** **** **** **** **** **** **** **** **** **** 1406 ---- ---- ---- ---- ---- ---- 0321 **** **** +07 ---- ---- **** **** **** **** **** **** **** **** **** **** 0655 0914 ---- ---- ---- ---- ---- ---- **** **** **** **** +08 0527 1132 **** **** **** **** **** **** **** **** 1811 ---- ---- ---- ---- ---- ---- 1149 1703 **** **** **** **** +09 0146 1906 **** **** **** **** **** **** **** **** 0329 1440 ---- ---- ---- ---- ---- ---- 0734 **** **** **** **** +09 2057 +10 **** **** **** **** **** **** **** **** **** **** ---- ---- ---- ---- ---- ---- ---- ---- **** **** **** **** **** **** +11 **** **** **** **** **** **** **** **** **** **** ---- ---- ---- ---- ---- ---- 1119 2228 **** **** **** **** **** **** +12 **** **** **** **** **** **** **** **** 1822 ---- ---- ---- ---- ---- ---- 0737 **** **** **** **** **** **** +13 **** **** **** **** **** **** **** **** 0842 1415 ---- ---- ---- ---- ---- ---- **** **** **** **** **** **** **** **** +14 **** **** **** **** **** **** 2205 ---- ---- ---- ---- ---- ---- 1557 1959 **** **** **** **** **** **** **** **** +15 **** **** **** **** **** **** 0641 1825 ---- ---- ---- ---- ---- ---- 1126 **** **** **** **** **** **** **** **** +16 **** **** **** **** **** **** ---- ---- ---- ---- ---- ---- ---- ---- **** **** **** **** **** **** **** **** **** **** +17 **** **** **** **** **** **** ---- ---- ---- ---- ---- ---- ---- ---- **** **** **** **** **** **** **** **** 1722 0408 +18 **** **** **** **** 2205 ---- ---- ---- ---- ---- ---- 1518 **** **** **** **** **** **** **** **** 0028 +19 **** **** 0904 0225 1154 1810 ---- ---- ---- ---- ---- ---- 1148 0121 **** **** **** **** **** **** 1518 0811 ---- ---- +19 2241 +20 **** **** ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- **** **** **** **** **** **** **** **** 0429 ---- ---- +21 **** **** ---- ---- ---- ---- ---- ---- ---- ---- 1551 **** **** **** **** **** **** **** **** ---- ---- ---- ---- +22 **** **** ---- ---- ---- ---- ---- ---- ---- ---- 1210 0534 **** **** **** **** **** **** **** **** ---- ---- ---- ---- +23 1252 0257 ---- ---- ---- ---- ---- ---- ---- ---- **** **** **** **** **** **** **** **** 2029 0803 ---- ---- ---- ---- +23 2333 +24 ---- ---- ---- ---- ---- ---- ---- ---- 2028 **** **** **** **** **** **** **** **** 0422 ---- ---- ---- ---- +25 ---- ---- ---- ---- ---- ---- ---- ---- 1640 0230 **** **** **** **** **** **** 1815 1214 ---- ---- ---- ---- ---- ---- +26 ---- ---- ---- ---- ---- ---- ---- ---- **** **** **** **** **** **** **** **** 0822 ---- ---- ---- ---- ---- ---- +27 ---- ---- ---- ---- ---- ---- 2049 **** **** **** **** **** **** **** **** ---- ---- ---- ---- ---- ---- ---- ---- +28 ---- ---- ---- ---- ---- ---- 1724 0629 **** **** **** **** **** **** **** **** ---- ---- ---- ---- ---- ---- ---- ---- +29 ---- ---- ---- ---- **** **** **** **** **** **** **** **** 2234 1223 ---- ---- ---- ---- ---- ---- 0613 1154 +30 ---- ---- ---- ---- **** **** **** **** **** **** **** **** 0857 ---- ---- ---- ---- ---- ---- 0207 +31 ---- ---- 2118 **** **** **** **** ---- ---- ---- ---- **** **** + Note: Blank spaces in the table indicate that a rising or a setting did not occur during that 24 hr interval. + +(**** object continuously above horizon) (---- object continuously below horizon) + +Add one hour for daylight time, if and when in use. \ No newline at end of file diff --git a/generate/riseset/moon_2023_E140_N85.html b/generate/riseset/moon_2023_E140_N85.html new file mode 100644 index 00000000..c65192ca --- /dev/null +++ b/generate/riseset/moon_2023_E140_N85.html @@ -0,0 +1,49 @@ + o , o , Astronomical Applications Dept. +Location: E140 00, N85 00 Rise and Set for the Moon for 2023 U. S. Naval Observatory + Washington, DC 20392-5420 + Universal Time + + + Jan. Feb. Mar. Apr. May June July Aug. Sept. Oct. Nov. Dec. +Day Rise Set Rise Set Rise Set Rise Set Rise Set Rise Set Rise Set Rise Set Rise Set Rise Set Rise Set Rise Set + h m h m h m h m h m h m h m h m h m h m h m h m h m h m h m h m h m h m h m h m h m h m h m h m +01 **** **** **** **** **** **** **** **** 2211 ---- ---- ---- ---- ---- ---- 1205 2244 **** **** **** **** **** **** +02 **** **** **** **** **** **** **** **** 0314 1810 ---- ---- ---- ---- ---- ---- 0800 **** **** **** **** **** **** +03 **** **** **** **** **** **** **** **** 1119 1302 ---- ---- ---- ---- ---- ---- **** **** **** **** **** **** **** **** +04 **** **** **** **** **** **** 2157 ---- ---- ---- ---- ---- ---- ---- ---- **** **** **** **** **** **** **** **** +05 **** **** **** **** **** **** 0806 1830 ---- ---- ---- ---- ---- ---- 1201 **** **** **** **** **** **** **** **** +06 **** **** **** **** **** **** ---- ---- ---- ---- ---- ---- ---- ---- **** **** **** **** **** **** **** **** 1338 0702 +07 **** **** **** **** **** **** ---- ---- ---- ---- ---- ---- ---- ---- **** **** **** **** **** **** **** **** 0325 +08 **** **** **** **** 2227 ---- ---- ---- ---- ---- ---- 1620 **** **** **** **** **** **** **** **** ---- ---- +09 **** **** 0929 0255 1225 1841 ---- ---- ---- ---- ---- ---- 1229 0106 **** **** **** **** **** **** 1808 0711 ---- ---- +09 2317 +10 **** **** ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- **** **** **** **** **** **** **** **** 0347 ---- ---- +11 **** **** ---- ---- ---- ---- ---- ---- ---- ---- 1655 **** **** **** **** **** **** **** **** ---- ---- ---- ---- +12 **** **** ---- ---- ---- ---- ---- ---- ---- ---- 1305 0505 **** **** **** **** **** **** 1526 1204 ---- ---- ---- ---- +13 1312 0330 ---- ---- ---- ---- ---- ---- ---- ---- **** **** **** **** **** **** **** **** 2249 0739 ---- ---- ---- ---- +14 0009 ---- ---- ---- ---- ---- ---- ---- ---- **** **** **** **** **** **** **** **** 0335 ---- ---- ---- ---- +15 ---- ---- ---- ---- ---- ---- ---- ---- 1741 **** **** **** **** **** **** 2006 1144 ---- ---- ---- ---- ---- ---- +16 ---- ---- ---- ---- ---- ---- ---- ---- 1247 0944 **** **** **** **** **** **** 0818 ---- ---- ---- ---- ---- ---- +17 ---- ---- ---- ---- ---- ---- 2206 **** **** **** **** **** **** **** **** ---- ---- ---- ---- ---- ---- ---- ---- +18 ---- ---- ---- ---- ---- ---- 1807 0600 **** **** **** **** **** **** **** **** ---- ---- ---- ---- ---- ---- ---- ---- +19 ---- ---- ---- ---- ---- ---- **** **** **** **** **** **** **** **** 2350 1222 ---- ---- ---- ---- ---- ---- ---- ---- +20 ---- ---- ---- ---- ---- ---- **** **** **** **** **** **** **** **** 0901 ---- ---- ---- ---- ---- ---- 0328 1821 +20 2257 +21 ---- ---- ---- ---- 2155 **** **** **** **** **** **** **** **** ---- ---- ---- ---- ---- ---- ---- ---- **** **** +22 ---- ---- 0151 0926 1738 1137 **** **** **** **** **** **** 2023 1750 ---- ---- ---- ---- ---- ---- 0841 1401 **** **** +22 2149 +23 ---- ---- **** **** **** **** **** **** **** **** **** **** 1313 ---- ---- ---- ---- ---- ---- 0416 **** **** +24 ---- ---- **** **** **** **** **** **** **** **** **** **** 0342 0926 ---- ---- ---- ---- ---- ---- **** **** **** **** +25 ---- ---- **** **** **** **** **** **** **** **** 1728 ---- ---- ---- ---- ---- ---- ---- ---- **** **** **** **** +26 0135 1457 **** **** **** **** **** **** **** **** 0105 1358 ---- ---- ---- ---- ---- ---- 0830 1901 **** **** **** **** +26 2135 +27 **** **** **** **** **** **** **** **** **** **** ---- ---- ---- ---- ---- ---- ---- ---- 0428 **** **** **** **** +28 **** **** **** **** **** **** **** **** **** **** ---- ---- ---- ---- ---- ---- ---- ---- **** **** **** **** **** **** +29 **** **** **** **** **** **** 1748 ---- ---- ---- ---- ---- ---- 0822 **** **** **** **** **** **** +30 **** **** **** **** **** **** 0527 1420 ---- ---- ---- ---- ---- ---- **** **** **** **** **** **** **** **** +31 **** **** **** **** ---- ---- ---- ---- ---- ---- **** **** **** **** + Note: Blank spaces in the table indicate that a rising or a setting did not occur during that 24 hr interval. + +(**** object continuously above horizon) (---- object continuously below horizon) + +Add one hour for daylight time, if and when in use. \ No newline at end of file diff --git a/generate/riseset/moon_2026_E135_N85.html b/generate/riseset/moon_2026_E135_N85.html new file mode 100644 index 00000000..975b0f2f --- /dev/null +++ b/generate/riseset/moon_2026_E135_N85.html @@ -0,0 +1,51 @@ + o , o , Astronomical Applications Dept. +Location: E135 00, N85 00 Rise and Set for the Moon for 2026 U. S. Naval Observatory + Washington, DC 20392-5420 + Universal Time + + + Jan. Feb. Mar. Apr. May June July Aug. Sept. Oct. Nov. Dec. +Day Rise Set Rise Set Rise Set Rise Set Rise Set Rise Set Rise Set Rise Set Rise Set Rise Set Rise Set Rise Set + h m h m h m h m h m h m h m h m h m h m h m h m h m h m h m h m h m h m h m h m h m h m h m h m +01 **** **** **** **** **** **** 1230 1513 ---- ---- ---- ---- ---- ---- 1622 2000 **** **** **** **** **** **** **** **** +02 **** **** **** **** **** **** ---- ---- ---- ---- ---- ---- ---- ---- 1151 **** **** **** **** **** **** 1755 0431 +03 **** **** **** **** **** **** ---- ---- ---- ---- ---- ---- ---- ---- 0659 0418 **** **** **** **** **** **** 0043 +04 **** **** **** **** 0922 0003 ---- ---- ---- ---- ---- ---- ---- ---- **** **** **** **** **** **** 1408 0948 ---- ---- +04 2023 +05 **** **** 1439 0005 ---- ---- ---- ---- ---- ---- ---- ---- 1620 **** **** **** **** **** **** 2255 0526 ---- ---- +05 1959 2358 +06 **** **** ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- 1240 0019 **** **** **** **** **** **** ---- ---- ---- ---- +07 **** **** ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- **** **** **** **** **** **** **** **** ---- ---- ---- ---- +08 1227 0358 ---- ---- ---- ---- ---- ---- ---- ---- 1655 **** **** **** **** **** **** 1833 0948 ---- ---- ---- ---- +09 0021 ---- ---- ---- ---- ---- ---- ---- ---- 1314 0418 **** **** **** **** **** **** 0606 ---- ---- ---- ---- +10 ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- **** **** **** **** **** **** **** **** ---- ---- ---- ---- ---- ---- +11 ---- ---- ---- ---- ---- ---- ---- ---- 2233 **** **** **** **** **** **** 2328 0959 ---- ---- ---- ---- ---- ---- +12 ---- ---- ---- ---- ---- ---- ---- ---- 1723 0040 **** **** **** **** **** **** 0558 ---- ---- ---- ---- ---- ---- +13 ---- ---- ---- ---- ---- ---- ---- ---- 1202 1007 **** **** **** **** **** **** ---- ---- ---- ---- ---- ---- ---- ---- +14 ---- ---- ---- ---- ---- ---- 2117 **** **** **** **** **** **** 2116 1401 ---- ---- ---- ---- ---- ---- ---- ---- +15 ---- ---- ---- ---- ---- ---- 1726 0651 **** **** **** **** **** **** 1005 ---- ---- ---- ---- ---- ---- ---- ---- +16 ---- ---- ---- ---- ---- ---- **** **** **** **** **** **** **** **** ---- ---- ---- ---- ---- ---- ---- ---- 0717 1052 +17 ---- ---- ---- ---- ---- ---- **** **** **** **** **** **** **** **** ---- ---- ---- ---- ---- ---- ---- ---- 0255 1830 +17 2237 +18 ---- ---- ---- ---- 2111 **** **** **** **** **** **** 1348 ---- ---- ---- ---- ---- ---- ---- ---- **** **** +19 ---- ---- 0114 0951 1608 1309 **** **** **** **** **** **** 0232 1000 ---- ---- ---- ---- ---- ---- 0659 1544 **** **** +19 2123 +20 ---- ---- **** **** **** **** **** **** **** **** 2350 1820 ---- ---- ---- ---- ---- ---- ---- ---- 0325 **** **** +21 ---- ---- **** **** **** **** **** **** **** **** 1415 ---- ---- ---- ---- ---- ---- ---- ---- **** **** **** **** +22 ---- ---- **** **** **** **** **** **** **** **** ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- **** **** **** **** +23 0137 1408 **** **** **** **** **** **** **** **** ---- ---- ---- ---- ---- ---- ---- ---- 0709 2054 **** **** **** **** +23 2145 +24 **** **** **** **** **** **** **** **** 1831 ---- ---- ---- ---- ---- ---- ---- ---- 0308 **** **** **** **** +25 **** **** **** **** **** **** **** **** 0402 1501 ---- ---- ---- ---- ---- ---- 1108 1841 **** **** **** **** **** **** +26 **** **** **** **** **** **** **** **** ---- ---- ---- ---- ---- ---- ---- ---- 0720 **** **** **** **** **** **** +27 **** **** **** **** **** **** 1919 ---- ---- ---- ---- ---- ---- ---- ---- **** **** **** **** **** **** **** **** +28 **** **** **** **** **** **** 0743 1542 ---- ---- ---- ---- ---- ---- ---- ---- **** **** **** **** **** **** **** **** +29 **** **** **** **** ---- ---- ---- ---- ---- ---- ---- ---- 1113 2326 **** **** **** **** **** **** 1349 0355 +30 **** **** **** **** ---- ---- ---- ---- ---- ---- ---- ---- 0729 **** **** **** **** **** **** 0015 +31 **** **** 0413 0037 ---- ---- ---- ---- **** **** **** **** ---- ---- +31 2002 + Note: Blank spaces in the table indicate that a rising or a setting did not occur during that 24 hr interval. + +(**** object continuously above horizon) (---- object continuously below horizon) + +Add one hour for daylight time, if and when in use. \ No newline at end of file diff --git a/generate/riseset/moon_2030_E105_N83.html b/generate/riseset/moon_2030_E105_N83.html new file mode 100644 index 00000000..05b545bc --- /dev/null +++ b/generate/riseset/moon_2030_E105_N83.html @@ -0,0 +1,49 @@ + o , o , Astronomical Applications Dept. +Location: E105 00, N83 00 Rise and Set for the Moon for 2030 U. S. Naval Observatory + Washington, DC 20392-5420 + Universal Time + + + Jan. Feb. Mar. Apr. May June July Aug. Sept. Oct. Nov. Dec. +Day Rise Set Rise Set Rise Set Rise Set Rise Set Rise Set Rise Set Rise Set Rise Set Rise Set Rise Set Rise Set + h m h m h m h m h m h m h m h m h m h m h m h m h m h m h m h m h m h m h m h m h m h m h m h m +01 ---- ---- ---- ---- ---- ---- 1939 1124 **** **** **** **** **** **** 2309 1529 ---- ---- ---- ---- ---- ---- 0826 1333 +02 ---- ---- ---- ---- ---- ---- **** **** **** **** **** **** **** **** 1325 ---- ---- ---- ---- ---- ---- 0602 1754 +03 ---- ---- ---- ---- ---- ---- **** **** **** **** **** **** **** **** 0325 1121 ---- ---- ---- ---- ---- ---- 0414 2245 +04 ---- ---- 0359 0950 0041 1036 **** **** **** **** **** **** **** **** ---- ---- ---- ---- ---- ---- 0916 1653 0114 +04 2245 +05 ---- ---- 0135 1411 2024 1452 **** **** **** **** **** **** 1629 ---- ---- ---- ---- ---- ---- 0717 2053 **** **** +05 2338 +06 ---- ---- **** **** **** **** **** **** **** **** **** **** 0221 1434 ---- ---- ---- ---- ---- ---- 0525 **** **** +07 ---- ---- **** **** **** **** **** **** **** **** 2008 0649 1206 ---- ---- ---- ---- ---- ---- **** **** **** **** +08 0425 1352 **** **** **** **** **** **** **** **** 0058 1737 ---- ---- ---- ---- ---- ---- 1026 1954 **** **** **** **** +09 0227 1804 **** **** **** **** **** **** **** **** 0529 1540 ---- ---- ---- ---- ---- ---- 0834 **** **** **** **** +10 0011 **** **** **** **** **** **** **** **** ---- ---- ---- ---- ---- ---- 1411 1833 0627 0002 **** **** **** **** +11 **** **** **** **** **** **** **** **** 2049 ---- ---- ---- ---- ---- ---- 1133 2310 **** **** **** **** **** **** +12 **** **** **** **** **** **** **** **** 0435 1842 ---- ---- ---- ---- ---- ---- 0940 **** **** **** **** **** **** +13 **** **** **** **** **** **** **** **** 0904 1628 ---- ---- ---- ---- ---- ---- 0628 0417 **** **** **** **** **** **** +14 **** **** **** **** **** **** 2138 ---- ---- ---- ---- ---- ---- 1433 2238 **** **** **** **** **** **** **** **** +15 **** **** **** **** **** **** 0823 1935 ---- ---- ---- ---- ---- ---- 1229 **** **** **** **** **** **** **** **** +16 **** **** **** **** **** **** 1425 1542 ---- ---- ---- ---- ---- ---- 1025 0254 **** **** **** **** **** **** 1343 0639 +17 **** **** **** **** **** **** ---- ---- ---- ---- ---- ---- 1811 2136 **** **** **** **** **** **** **** **** 1741 0440 +18 **** **** **** **** 0747 0046 ---- ---- ---- ---- ---- ---- 1514 **** **** **** **** **** **** **** **** 0249 +18 2227 +19 **** **** 1152 0121 1234 2008 ---- ---- ---- ---- ---- ---- 1320 0231 **** **** **** **** **** **** 1706 0735 ---- ---- +19 2315 +20 **** **** 1734 1941 ---- ---- ---- ---- ---- ---- 1811 1024 0721 **** **** **** **** **** **** 2122 0544 ---- ---- +21 **** **** ---- ---- ---- ---- ---- ---- ---- ---- 1608 0204 **** **** **** **** **** **** **** **** 0329 ---- ---- +22 1048 0443 ---- ---- ---- ---- ---- ---- ---- ---- 1409 0610 **** **** **** **** **** **** 1624 1051 ---- ---- ---- ---- +23 1527 0216 ---- ---- ---- ---- ---- ---- 2235 **** **** **** **** **** **** **** **** 2047 0833 ---- ---- ---- ---- +24 0006 ---- ---- ---- ---- ---- ---- 1905 0008 **** **** **** **** **** **** **** **** 0638 ---- ---- ---- ---- +25 ---- ---- ---- ---- ---- ---- ---- ---- 1714 0527 **** **** **** **** **** **** 2023 1127 ---- ---- ---- ---- ---- ---- +26 ---- ---- ---- ---- ---- ---- 2237 1456 0938 **** **** **** **** **** **** 0929 ---- ---- ---- ---- ---- ---- +27 ---- ---- ---- ---- ---- ---- 2019 0415 **** **** **** **** **** **** **** **** 0049 0712 ---- ---- ---- ---- ---- ---- +28 ---- ---- ---- ---- ---- ---- 1829 0825 **** **** **** **** **** **** 1923 1458 ---- ---- ---- ---- ---- ---- ---- ---- +29 ---- ---- ---- ---- 1502 1338 **** **** **** **** **** **** 1221 ---- ---- ---- ---- ---- ---- 0505 1429 +30 ---- ---- 2339 **** **** **** **** **** **** **** **** 0002 1025 ---- ---- ---- ---- ---- ---- 0311 1842 +31 ---- ---- 2137 0722 **** **** **** **** ---- ---- ---- ---- 0102 + Note: Blank spaces in the table indicate that a rising or a setting did not occur during that 24 hr interval. + +(**** object continuously above horizon) (---- object continuously below horizon) + +Add one hour for daylight time, if and when in use. \ No newline at end of file diff --git a/generate/riseset/moon_2034_E130_N80.html b/generate/riseset/moon_2034_E130_N80.html new file mode 100644 index 00000000..a6619f1d --- /dev/null +++ b/generate/riseset/moon_2034_E130_N80.html @@ -0,0 +1,50 @@ + o , o , Astronomical Applications Dept. +Location: E130 00, N80 00 Rise and Set for the Moon for 2034 U. S. Naval Observatory + Washington, DC 20392-5420 + Universal Time + + + Jan. Feb. Mar. Apr. May June July Aug. Sept. Oct. Nov. Dec. +Day Rise Set Rise Set Rise Set Rise Set Rise Set Rise Set Rise Set Rise Set Rise Set Rise Set Rise Set Rise Set + h m h m h m h m h m h m h m h m h m h m h m h m h m h m h m h m h m h m h m h m h m h m h m h m +01 **** **** **** **** **** **** 0541 2100 1020 1707 ---- ---- ---- ---- ---- ---- 1003 0001 **** **** **** **** **** **** +02 **** **** **** **** **** **** 0806 2018 1419 1441 ---- ---- ---- ---- 1410 2113 0854 0307 **** **** **** **** 1200 0643 +03 **** **** **** **** **** **** 1027 1933 ---- ---- ---- ---- ---- ---- 1311 **** **** **** **** **** **** 1449 0534 +04 **** **** **** **** 0535 0026 1303 1830 ---- ---- ---- ---- ---- ---- 1222 0004 **** **** **** **** **** **** 1716 0446 +04 2319 +05 **** **** 0834 0142 0820 2233 ---- ---- ---- ---- ---- ---- 1700 2046 1128 0252 **** **** **** **** 1456 0755 1944 0401 +06 **** **** 1107 0047 1043 2150 ---- ---- ---- ---- ---- ---- 1532 0958 0615 **** **** **** **** 1729 0700 2257 0309 +07 **** **** 1329 0002 1307 2101 ---- ---- ---- ---- ---- ---- 1439 0001 **** **** **** **** **** **** 1953 0615 0129 +07 2318 +08 0843 0414 1559 2221 1600 1941 ---- ---- ---- ---- 1804 2348 1350 0245 **** **** **** **** 1433 1042 2227 0530 ---- ---- +09 1136 0259 ---- ---- ---- ---- ---- ---- ---- ---- 1656 1250 0538 **** **** **** **** 1735 0920 0430 ---- ---- +10 1401 0210 ---- ---- ---- ---- ---- ---- ---- ---- 1606 0245 **** **** **** **** **** **** 2004 0831 ---- ---- ---- ---- +11 1624 0127 ---- ---- ---- ---- ---- ---- 2131 2245 1514 0532 **** **** **** **** 1732 1153 2230 0747 ---- ---- ---- ---- +12 1911 0039 ---- ---- ---- ---- ---- ---- 1917 1359 0843 **** **** **** **** 2017 1049 0659 ---- ---- ---- ---- +12 2323 +13 ---- ---- ---- ---- ---- ---- ---- ---- 1819 0248 **** **** **** **** **** **** 2244 1002 0117 0547 ---- ---- ---- ---- +14 ---- ---- ---- ---- ---- ---- 2150 1729 0541 **** **** **** **** 1642 1517 0918 ---- ---- ---- ---- ---- ---- +15 ---- ---- ---- ---- ---- ---- 2034 0248 1630 0840 **** **** **** **** 2032 1311 0114 0825 ---- ---- ---- ---- ---- ---- +16 ---- ---- ---- ---- ---- ---- 1941 0600 1351 1321 **** **** **** **** 2307 1216 0437 0638 ---- ---- ---- ---- ---- ---- +17 ---- ---- ---- ---- ---- ---- 1848 0858 **** **** **** **** **** **** 1131 ---- ---- ---- ---- ---- ---- 0544 1118 +18 ---- ---- ---- ---- 2253 1731 1218 **** **** **** **** 2042 1540 0134 1045 ---- ---- ---- ---- ---- ---- 0436 1411 +19 ---- ---- 0125 0629 2153 0621 **** **** **** **** **** **** 2334 1429 0412 0942 ---- ---- ---- ---- 0906 1024 0346 1654 +20 ---- ---- 0008 0943 2102 0922 **** **** **** **** 2000 1901 1341 ---- ---- ---- ---- ---- ---- 0656 1421 0255 1956 +20 2315 +21 ---- ---- 2223 1238 2002 1226 **** **** **** **** 2358 1645 0202 1257 ---- ---- ---- ---- ---- ---- 0558 1710 0145 +22 ---- ---- 2109 1550 **** **** **** **** **** **** 1550 0429 1206 ---- ---- ---- ---- ---- ---- 0508 2004 **** **** +23 0231 0948 **** **** **** **** **** **** **** **** 0231 1506 0733 1035 ---- ---- ---- ---- 0923 1429 0410 **** **** +24 0131 1242 **** **** **** **** **** **** 1912 0454 1420 ---- ---- ---- ---- ---- ---- 0810 1736 0205 0009 **** **** +25 0041 1534 **** **** **** **** **** **** 0006 1802 0727 1320 ---- ---- ---- ---- 1247 1346 0718 2029 **** **** **** **** +25 2345 +26 2159 1914 **** **** **** **** **** **** 0254 1715 ---- ---- ---- ---- ---- ---- 1027 1759 0625 2345 **** **** **** **** +27 **** **** **** **** **** **** 2024 0517 1632 ---- ---- ---- ---- ---- ---- 0929 2055 0510 **** **** **** **** +28 **** **** **** **** **** **** 0302 1929 0740 1543 ---- ---- ---- ---- ---- ---- 0839 2353 **** **** **** **** **** **** +29 **** **** **** **** 0533 1845 1030 1425 ---- ---- ---- ---- 1259 1804 0740 **** **** **** **** 0800 0623 +30 **** **** 2316 0753 1801 ---- ---- ---- ---- ---- ---- 1145 2111 0512 0422 **** **** **** **** 1151 0418 +31 **** **** 0238 2150 ---- ---- ---- ---- 1054 **** **** 1428 0322 + Note: Blank spaces in the table indicate that a rising or a setting did not occur during that 24 hr interval. + +(**** object continuously above horizon) (---- object continuously below horizon) + +Add one hour for daylight time, if and when in use. \ No newline at end of file diff --git a/generate/riseset/moon_2037_E125_N84.html b/generate/riseset/moon_2037_E125_N84.html new file mode 100644 index 00000000..4fb02d79 --- /dev/null +++ b/generate/riseset/moon_2037_E125_N84.html @@ -0,0 +1,51 @@ + o , o , Astronomical Applications Dept. +Location: E125 00, N84 00 Rise and Set for the Moon for 2037 U. S. Naval Observatory + Washington, DC 20392-5420 + Universal Time + + + Jan. Feb. Mar. Apr. May June July Aug. Sept. Oct. Nov. Dec. +Day Rise Set Rise Set Rise Set Rise Set Rise Set Rise Set Rise Set Rise Set Rise Set Rise Set Rise Set Rise Set + h m h m h m h m h m h m h m h m h m h m h m h m h m h m h m h m h m h m h m h m h m h m h m h m +01 **** **** **** **** **** **** ---- ---- ---- ---- ---- ---- ---- ---- 1416 **** **** **** **** **** **** 1150 1054 +02 **** **** **** **** **** **** ---- ---- ---- ---- ---- ---- ---- ---- 1217 0252 **** **** **** **** **** **** 1834 0632 +03 **** **** **** **** 0925 0158 ---- ---- ---- ---- ---- ---- ---- ---- **** **** **** **** **** **** **** **** 0404 +03 2326 +04 **** **** 1346 0224 1447 2044 ---- ---- ---- ---- ---- ---- 1721 **** **** **** **** **** **** 1717 0957 ---- ---- +05 **** **** 0010 ---- ---- ---- ---- ---- ---- ---- ---- 1519 0212 **** **** **** **** **** **** 2305 0714 ---- ---- +06 **** **** ---- ---- ---- ---- ---- ---- ---- ---- 2052 1304 0622 **** **** **** **** **** **** 0408 ---- ---- +07 1235 0546 ---- ---- ---- ---- ---- ---- ---- ---- 1811 0115 **** **** **** **** **** **** **** **** ---- ---- ---- ---- +08 1727 0318 ---- ---- ---- ---- ---- ---- ---- ---- 1613 0544 **** **** **** **** **** **** 2158 1012 ---- ---- ---- ---- +09 0059 ---- ---- ---- ---- ---- ---- ---- ---- 1219 1125 **** **** **** **** **** **** 0740 ---- ---- ---- ---- +10 ---- ---- ---- ---- ---- ---- ---- ---- 2111 **** **** **** **** **** **** 2110 1321 ---- ---- ---- ---- ---- ---- +11 ---- ---- ---- ---- ---- ---- ---- ---- 1905 0514 **** **** **** **** **** **** 1043 ---- ---- ---- ---- ---- ---- +12 ---- ---- ---- ---- ---- ---- ---- ---- 1656 0923 **** **** **** **** **** **** 0300 0734 ---- ---- ---- ---- ---- ---- +13 ---- ---- ---- ---- ---- ---- 0111 0344 **** **** **** **** **** **** **** **** ---- ---- ---- ---- ---- ---- ---- ---- +13 2201 +14 ---- ---- ---- ---- ---- ---- 2005 0840 **** **** **** **** **** **** 1350 ---- ---- ---- ---- ---- ---- ---- ---- +15 ---- ---- ---- ---- ---- ---- 1719 1316 **** **** **** **** **** **** 0128 1126 ---- ---- ---- ---- ---- ---- 0712 1435 +16 ---- ---- ---- ---- ---- ---- **** **** **** **** **** **** **** **** ---- ---- ---- ---- ---- ---- ---- ---- 0457 1848 +17 ---- ---- ---- ---- 0122 0742 **** **** **** **** **** **** 2358 1724 ---- ---- ---- ---- ---- ---- ---- ---- 0247 +17 2308 +18 ---- ---- 0220 1052 2111 1149 **** **** **** **** **** **** 1446 ---- ---- ---- ---- ---- ---- 0753 1812 **** **** +19 ---- ---- 0022 1453 **** **** **** **** **** **** **** **** 0509 1213 ---- ---- ---- ---- ---- ---- 0551 2251 **** **** +19 2217 +20 ---- ---- **** **** **** **** **** **** **** **** 1809 ---- ---- ---- ---- ---- ---- ---- ---- 0302 **** **** +21 0630 0909 **** **** **** **** **** **** **** **** 0328 1550 ---- ---- ---- ---- ---- ---- 1113 1719 **** **** **** **** +22 0326 1358 **** **** **** **** **** **** **** **** 0901 1235 ---- ---- ---- ---- ---- ---- 0850 2135 **** **** **** **** +23 0134 1820 **** **** **** **** **** **** 2258 ---- ---- ---- ---- ---- ---- ---- ---- 0647 **** **** **** **** +23 2300 +24 **** **** **** **** **** **** **** **** 0043 1905 ---- ---- ---- ---- ---- ---- 1202 2040 **** **** **** **** **** **** +25 **** **** **** **** **** **** **** **** 0655 1645 ---- ---- ---- ---- ---- ---- 0958 **** **** **** **** **** **** +26 **** **** **** **** **** **** 2228 ---- ---- ---- ---- ---- ---- ---- ---- 0743 0050 **** **** **** **** **** **** +27 **** **** **** **** **** **** 0538 1954 ---- ---- ---- ---- ---- ---- 1626 1841 **** **** **** **** **** **** **** **** +28 **** **** **** **** **** **** 1102 1710 ---- ---- ---- ---- ---- ---- 1308 2344 **** **** **** **** **** **** **** **** +29 **** **** **** **** ---- ---- ---- ---- ---- ---- ---- ---- 1110 **** **** **** **** **** **** 1503 0537 +30 **** **** 2251 ---- ---- ---- ---- ---- ---- ---- ---- 0827 0415 **** **** **** **** **** **** 2116 0311 +30 2317 +31 **** **** 1005 2030 ---- ---- 1636 2241 **** **** **** **** ---- ---- + Note: Blank spaces in the table indicate that a rising or a setting did not occur during that 24 hr interval. + +(**** object continuously above horizon) (---- object continuously below horizon) + +Add one hour for daylight time, if and when in use. \ No newline at end of file diff --git a/generate/riseset/riseset.txt b/generate/riseset/riseset.txt index 70500ef6..6881977e 100644 --- a/generate/riseset/riseset.txt +++ b/generate/riseset/riseset.txt @@ -2117,6 +2117,808 @@ Moon -81 29 2019-12-30T01:57Z s Moon -81 29 2019-12-30T15:39Z r Moon -81 29 2019-12-31T02:52Z s Moon -81 29 2019-12-31T16:13Z r +Moon 130 80 2034-01-08T04:14Z s +Moon 130 80 2034-01-08T08:43Z r +Moon 130 80 2034-01-09T02:59Z s +Moon 130 80 2034-01-09T11:36Z r +Moon 130 80 2034-01-10T02:10Z s +Moon 130 80 2034-01-10T14:01Z r +Moon 130 80 2034-01-11T01:27Z s +Moon 130 80 2034-01-11T16:24Z r +Moon 130 80 2034-01-12T00:39Z s +Moon 130 80 2034-01-12T19:11Z r +Moon 130 80 2034-01-12T23:23Z s +Moon 130 80 2034-01-23T02:31Z r +Moon 130 80 2034-01-23T09:48Z s +Moon 130 80 2034-01-24T01:31Z r +Moon 130 80 2034-01-24T12:42Z s +Moon 130 80 2034-01-25T00:41Z r +Moon 130 80 2034-01-25T15:34Z s +Moon 130 80 2034-01-25T23:45Z r +Moon 130 80 2034-01-26T19:14Z s +Moon 130 80 2034-01-26T21:59Z r +Moon 130 80 2034-02-05T01:42Z s +Moon 130 80 2034-02-05T08:34Z r +Moon 130 80 2034-02-06T00:47Z s +Moon 130 80 2034-02-06T11:07Z r +Moon 130 80 2034-02-07T00:02Z s +Moon 130 80 2034-02-07T13:29Z r +Moon 130 80 2034-02-07T23:18Z s +Moon 130 80 2034-02-08T15:59Z r +Moon 130 80 2034-02-08T22:21Z s +Moon 130 80 2034-02-19T01:25Z r +Moon 130 80 2034-02-19T06:29Z s +Moon 130 80 2034-02-20T00:08Z r +Moon 130 80 2034-02-20T09:43Z s +Moon 130 80 2034-02-20T23:15Z r +Moon 130 80 2034-02-21T12:38Z s +Moon 130 80 2034-02-21T22:23Z r +Moon 130 80 2034-02-22T15:50Z s +Moon 130 80 2034-02-22T21:09Z r +Moon 130 80 2034-03-04T00:26Z s +Moon 130 80 2034-03-04T05:35Z r +Moon 130 80 2034-03-04T23:19Z s +Moon 130 80 2034-03-05T08:20Z r +Moon 130 80 2034-03-05T22:33Z s +Moon 130 80 2034-03-06T10:43Z r +Moon 130 80 2034-03-06T21:50Z s +Moon 130 80 2034-03-07T13:07Z r +Moon 130 80 2034-03-07T21:01Z s +Moon 130 80 2034-03-08T16:00Z r +Moon 130 80 2034-03-08T19:41Z s +Moon 130 80 2034-03-18T22:53Z r +Moon 130 80 2034-03-19T06:21Z s +Moon 130 80 2034-03-19T21:53Z r +Moon 130 80 2034-03-20T09:22Z s +Moon 130 80 2034-03-20T21:02Z r +Moon 130 80 2034-03-21T12:26Z s +Moon 130 80 2034-03-21T20:02Z r +Moon 130 80 2034-03-30T23:16Z s +Moon 130 80 2034-03-31T02:38Z r +Moon 130 80 2034-03-31T21:50Z s +Moon 130 80 2034-04-01T05:41Z r +Moon 130 80 2034-04-01T21:00Z s +Moon 130 80 2034-04-02T08:06Z r +Moon 130 80 2034-04-02T20:18Z s +Moon 130 80 2034-04-03T10:27Z r +Moon 130 80 2034-04-03T19:33Z s +Moon 130 80 2034-04-04T13:03Z r +Moon 130 80 2034-04-04T18:30Z s +Moon 130 80 2034-04-14T21:50Z r +Moon 130 80 2034-04-15T02:48Z s +Moon 130 80 2034-04-15T20:34Z r +Moon 130 80 2034-04-16T06:00Z s +Moon 130 80 2034-04-16T19:41Z r +Moon 130 80 2034-04-17T08:58Z s +Moon 130 80 2034-04-17T18:48Z r +Moon 130 80 2034-04-18T12:18Z s +Moon 130 80 2034-04-18T17:31Z r +Moon 130 80 2034-04-27T20:24Z s +Moon 130 80 2034-04-28T03:02Z r +Moon 130 80 2034-04-28T19:29Z s +Moon 130 80 2034-04-29T05:33Z r +Moon 130 80 2034-04-29T18:45Z s +Moon 130 80 2034-04-30T07:53Z r +Moon 130 80 2034-04-30T18:01Z s +Moon 130 80 2034-05-01T10:20Z r +Moon 130 80 2034-05-01T17:07Z s +Moon 130 80 2034-05-02T14:19Z r +Moon 130 80 2034-05-02T14:41Z s +Moon 130 80 2034-05-11T21:31Z r +Moon 130 80 2034-05-11T22:45Z s +Moon 130 80 2034-05-12T19:17Z r +Moon 130 80 2034-05-13T02:48Z s +Moon 130 80 2034-05-13T18:19Z r +Moon 130 80 2034-05-14T05:41Z s +Moon 130 80 2034-05-14T17:29Z r +Moon 130 80 2034-05-15T08:40Z s +Moon 130 80 2034-05-15T16:30Z r +Moon 130 80 2034-05-16T13:21Z s +Moon 130 80 2034-05-16T13:51Z r +Moon 130 80 2034-05-24T19:12Z s +Moon 130 80 2034-05-25T00:06Z r +Moon 130 80 2034-05-25T18:02Z s +Moon 130 80 2034-05-26T02:54Z r +Moon 130 80 2034-05-26T17:15Z s +Moon 130 80 2034-05-27T05:17Z r +Moon 130 80 2034-05-27T16:32Z s +Moon 130 80 2034-05-28T07:40Z r +Moon 130 80 2034-05-28T15:43Z s +Moon 130 80 2034-05-29T10:30Z r +Moon 130 80 2034-05-29T14:25Z s +Moon 130 80 2034-06-08T18:04Z r +Moon 130 80 2034-06-08T23:48Z s +Moon 130 80 2034-06-09T16:56Z r +Moon 130 80 2034-06-10T02:45Z s +Moon 130 80 2034-06-10T16:06Z r +Moon 130 80 2034-06-11T05:32Z s +Moon 130 80 2034-06-11T15:14Z r +Moon 130 80 2034-06-12T08:43Z s +Moon 130 80 2034-06-12T13:59Z r +Moon 130 80 2034-06-20T19:01Z s +Moon 130 80 2034-06-20T20:00Z r +Moon 130 80 2034-06-21T16:45Z s +Moon 130 80 2034-06-21T23:58Z r +Moon 130 80 2034-06-22T15:50Z s +Moon 130 80 2034-06-23T02:31Z r +Moon 130 80 2034-06-23T15:06Z s +Moon 130 80 2034-06-24T04:54Z r +Moon 130 80 2034-06-24T14:20Z s +Moon 130 80 2034-06-25T07:27Z r +Moon 130 80 2034-06-25T13:20Z s +Moon 130 80 2034-07-05T17:00Z r +Moon 130 80 2034-07-05T20:46Z s +Moon 130 80 2034-07-06T15:32Z r +Moon 130 80 2034-07-07T00:01Z s +Moon 130 80 2034-07-07T14:39Z r +Moon 130 80 2034-07-08T02:45Z s +Moon 130 80 2034-07-08T13:50Z r +Moon 130 80 2034-07-09T05:38Z s +Moon 130 80 2034-07-09T12:50Z r +Moon 130 80 2034-07-18T15:40Z s +Moon 130 80 2034-07-18T20:42Z r +Moon 130 80 2034-07-19T14:29Z s +Moon 130 80 2034-07-19T23:34Z r +Moon 130 80 2034-07-20T13:41Z s +Moon 130 80 2034-07-21T02:02Z r +Moon 130 80 2034-07-21T12:57Z s +Moon 130 80 2034-07-22T04:29Z r +Moon 130 80 2034-07-22T12:06Z s +Moon 130 80 2034-07-23T07:33Z r +Moon 130 80 2034-07-23T10:35Z s +Moon 130 80 2034-08-02T14:10Z r +Moon 130 80 2034-08-02T21:13Z s +Moon 130 80 2034-08-03T13:11Z r +Moon 130 80 2034-08-04T00:04Z s +Moon 130 80 2034-08-04T12:22Z r +Moon 130 80 2034-08-05T02:52Z s +Moon 130 80 2034-08-05T11:28Z r +Moon 130 80 2034-08-06T06:15Z s +Moon 130 80 2034-08-06T09:58Z r +Moon 130 80 2034-08-14T15:17Z s +Moon 130 80 2034-08-14T16:42Z r +Moon 130 80 2034-08-15T13:11Z s +Moon 130 80 2034-08-15T20:32Z r +Moon 130 80 2034-08-16T12:16Z s +Moon 130 80 2034-08-16T23:07Z r +Moon 130 80 2034-08-17T11:31Z s +Moon 130 80 2034-08-18T01:34Z r +Moon 130 80 2034-08-18T10:45Z s +Moon 130 80 2034-08-19T04:12Z r +Moon 130 80 2034-08-19T09:42Z s +Moon 130 80 2034-08-29T12:59Z r +Moon 130 80 2034-08-29T18:04Z s +Moon 130 80 2034-08-30T11:45Z r +Moon 130 80 2034-08-30T21:11Z s +Moon 130 80 2034-08-31T10:54Z r +Moon 130 80 2034-09-01T00:01Z s +Moon 130 80 2034-09-01T10:03Z r +Moon 130 80 2034-09-02T03:07Z s +Moon 130 80 2034-09-02T08:54Z r +Moon 130 80 2034-09-11T11:53Z s +Moon 130 80 2034-09-11T17:32Z r +Moon 130 80 2034-09-12T10:49Z s +Moon 130 80 2034-09-12T20:17Z r +Moon 130 80 2034-09-13T10:02Z s +Moon 130 80 2034-09-13T22:44Z r +Moon 130 80 2034-09-14T09:18Z s +Moon 130 80 2034-09-15T01:14Z r +Moon 130 80 2034-09-15T08:25Z s +Moon 130 80 2034-09-16T04:37Z r +Moon 130 80 2034-09-16T06:38Z s +Moon 130 80 2034-09-25T12:47Z r +Moon 130 80 2034-09-25T13:46Z s +Moon 130 80 2034-09-26T10:27Z r +Moon 130 80 2034-09-26T17:59Z s +Moon 130 80 2034-09-27T09:29Z r +Moon 130 80 2034-09-27T20:55Z s +Moon 130 80 2034-09-28T08:39Z r +Moon 130 80 2034-09-28T23:53Z s +Moon 130 80 2034-09-29T07:40Z r +Moon 130 80 2034-09-30T04:22Z s +Moon 130 80 2034-09-30T05:12Z r +Moon 130 80 2034-10-08T10:42Z s +Moon 130 80 2034-10-08T14:33Z r +Moon 130 80 2034-10-09T09:20Z s +Moon 130 80 2034-10-09T17:35Z r +Moon 130 80 2034-10-10T08:31Z s +Moon 130 80 2034-10-10T20:04Z r +Moon 130 80 2034-10-11T07:47Z s +Moon 130 80 2034-10-11T22:30Z r +Moon 130 80 2034-10-12T06:59Z s +Moon 130 80 2034-10-13T01:17Z r +Moon 130 80 2034-10-13T05:47Z s +Moon 130 80 2034-10-23T09:23Z r +Moon 130 80 2034-10-23T14:29Z s +Moon 130 80 2034-10-24T08:10Z r +Moon 130 80 2034-10-24T17:36Z s +Moon 130 80 2034-10-25T07:18Z r +Moon 130 80 2034-10-25T20:29Z s +Moon 130 80 2034-10-26T06:25Z r +Moon 130 80 2034-10-26T23:45Z s +Moon 130 80 2034-10-27T05:10Z r +Moon 130 80 2034-11-05T07:55Z s +Moon 130 80 2034-11-05T14:56Z r +Moon 130 80 2034-11-06T07:00Z s +Moon 130 80 2034-11-06T17:29Z r +Moon 130 80 2034-11-07T06:15Z s +Moon 130 80 2034-11-07T19:53Z r +Moon 130 80 2034-11-08T05:30Z s +Moon 130 80 2034-11-08T22:27Z r +Moon 130 80 2034-11-09T04:30Z s +Moon 130 80 2034-11-19T09:06Z r +Moon 130 80 2034-11-19T10:24Z s +Moon 130 80 2034-11-20T06:56Z r +Moon 130 80 2034-11-20T14:21Z s +Moon 130 80 2034-11-21T05:58Z r +Moon 130 80 2034-11-21T17:10Z s +Moon 130 80 2034-11-22T05:08Z r +Moon 130 80 2034-11-22T20:04Z s +Moon 130 80 2034-11-23T04:10Z r +Moon 130 80 2034-11-24T00:09Z s +Moon 130 80 2034-11-24T02:05Z r +Moon 130 80 2034-12-02T06:43Z s +Moon 130 80 2034-12-02T12:00Z r +Moon 130 80 2034-12-03T05:34Z s +Moon 130 80 2034-12-03T14:49Z r +Moon 130 80 2034-12-04T04:46Z s +Moon 130 80 2034-12-04T17:16Z r +Moon 130 80 2034-12-05T04:01Z s +Moon 130 80 2034-12-05T19:44Z r +Moon 130 80 2034-12-06T03:09Z s +Moon 130 80 2034-12-06T22:57Z r +Moon 130 80 2034-12-07T01:29Z s +Moon 130 80 2034-12-17T05:44Z r +Moon 130 80 2034-12-17T11:18Z s +Moon 130 80 2034-12-18T04:36Z r +Moon 130 80 2034-12-18T14:11Z s +Moon 130 80 2034-12-19T03:46Z r +Moon 130 80 2034-12-19T16:54Z s +Moon 130 80 2034-12-20T02:55Z r +Moon 130 80 2034-12-20T19:56Z s +Moon 130 80 2034-12-21T01:45Z r +Moon 130 80 2034-12-29T06:23Z s +Moon 130 80 2034-12-29T08:00Z r +Moon 130 80 2034-12-30T04:18Z s +Moon 130 80 2034-12-30T11:51Z r +Moon 130 80 2034-12-31T03:22Z s +Moon 130 80 2034-12-31T14:28Z r +Moon 105 83 2030-01-08T04:25Z r +Moon 105 83 2030-01-08T13:52Z s +Moon 105 83 2030-01-09T02:27Z r +Moon 105 83 2030-01-09T18:04Z s +Moon 105 83 2030-01-10T00:11Z r +Moon 105 83 2030-01-22T04:43Z s +Moon 105 83 2030-01-22T10:48Z r +Moon 105 83 2030-01-23T02:16Z s +Moon 105 83 2030-01-23T15:27Z r +Moon 105 83 2030-01-24T00:06Z s +Moon 105 83 2030-02-04T03:59Z r +Moon 105 83 2030-02-04T09:50Z s +Moon 105 83 2030-02-05T01:35Z r +Moon 105 83 2030-02-05T14:11Z s +Moon 105 83 2030-02-05T23:38Z r +Moon 105 83 2030-02-19T01:21Z s +Moon 105 83 2030-02-19T11:52Z r +Moon 105 83 2030-02-19T23:15Z s +Moon 105 83 2030-02-20T17:34Z r +Moon 105 83 2030-02-20T19:41Z s +Moon 105 83 2030-03-04T00:41Z r +Moon 105 83 2030-03-04T10:36Z s +Moon 105 83 2030-03-04T22:45Z r +Moon 105 83 2030-03-05T14:52Z s +Moon 105 83 2030-03-05T20:24Z r +Moon 105 83 2030-03-18T00:46Z s +Moon 105 83 2030-03-18T07:47Z r +Moon 105 83 2030-03-18T22:27Z s +Moon 105 83 2030-03-19T12:34Z r +Moon 105 83 2030-03-19T20:08Z s +Moon 105 83 2030-03-30T23:39Z r +Moon 105 83 2030-03-31T07:22Z s +Moon 105 83 2030-03-31T21:37Z r +Moon 105 83 2030-04-01T11:24Z s +Moon 105 83 2030-04-01T19:39Z r +Moon 105 83 2030-04-14T21:38Z s +Moon 105 83 2030-04-15T08:23Z r +Moon 105 83 2030-04-15T19:35Z s +Moon 105 83 2030-04-16T14:25Z r +Moon 105 83 2030-04-16T15:42Z s +Moon 105 83 2030-04-26T22:37Z r +Moon 105 83 2030-04-27T04:15Z s +Moon 105 83 2030-04-27T20:19Z r +Moon 105 83 2030-04-28T08:25Z s +Moon 105 83 2030-04-28T18:29Z r +Moon 105 83 2030-04-29T13:38Z s +Moon 105 83 2030-04-29T15:02Z r +Moon 105 83 2030-05-11T20:49Z s +Moon 105 83 2030-05-12T04:35Z r +Moon 105 83 2030-05-12T18:42Z s +Moon 105 83 2030-05-13T09:04Z r +Moon 105 83 2030-05-13T16:28Z s +Moon 105 83 2030-05-23T22:35Z r +Moon 105 83 2030-05-24T00:08Z s +Moon 105 83 2030-05-24T19:05Z r +Moon 105 83 2030-05-25T05:27Z s +Moon 105 83 2030-05-25T17:14Z r +Moon 105 83 2030-05-26T09:38Z s +Moon 105 83 2030-05-26T14:56Z r +Moon 105 83 2030-06-07T20:08Z s +Moon 105 83 2030-06-08T00:58Z r +Moon 105 83 2030-06-08T17:37Z s +Moon 105 83 2030-06-09T05:29Z r +Moon 105 83 2030-06-09T15:40Z s +Moon 105 83 2030-06-20T18:11Z r +Moon 105 83 2030-06-21T02:04Z s +Moon 105 83 2030-06-21T16:08Z r +Moon 105 83 2030-06-22T06:10Z s +Moon 105 83 2030-06-22T14:09Z r +Moon 105 83 2030-07-05T16:29Z s +Moon 105 83 2030-07-06T02:21Z r +Moon 105 83 2030-07-06T14:34Z s +Moon 105 83 2030-07-07T06:49Z r +Moon 105 83 2030-07-07T12:06Z s +Moon 105 83 2030-07-17T18:11Z r +Moon 105 83 2030-07-17T21:36Z s +Moon 105 83 2030-07-18T15:14Z r +Moon 105 83 2030-07-19T02:31Z s +Moon 105 83 2030-07-19T13:20Z r +Moon 105 83 2030-07-20T07:21Z s +Moon 105 83 2030-07-20T10:24Z r +Moon 105 83 2030-08-01T15:29Z s +Moon 105 83 2030-08-01T23:09Z r +Moon 105 83 2030-08-02T13:25Z s +Moon 105 83 2030-08-03T03:25Z r +Moon 105 83 2030-08-03T11:21Z s +Moon 105 83 2030-08-14T14:33Z r +Moon 105 83 2030-08-14T22:38Z s +Moon 105 83 2030-08-15T12:29Z r +Moon 105 83 2030-08-16T02:54Z s +Moon 105 83 2030-08-16T10:25Z r +Moon 105 83 2030-08-28T14:58Z s +Moon 105 83 2030-08-28T19:23Z r +Moon 105 83 2030-08-29T12:21Z s +Moon 105 83 2030-08-30T00:02Z r +Moon 105 83 2030-08-30T10:25Z s +Moon 105 83 2030-09-10T14:11Z r +Moon 105 83 2030-09-10T18:33Z s +Moon 105 83 2030-09-11T11:33Z r +Moon 105 83 2030-09-11T23:10Z s +Moon 105 83 2030-09-12T09:40Z r +Moon 105 83 2030-09-13T04:17Z s +Moon 105 83 2030-09-13T06:28Z r +Moon 105 83 2030-09-25T11:27Z s +Moon 105 83 2030-09-25T20:23Z r +Moon 105 83 2030-09-26T09:29Z s +Moon 105 83 2030-09-27T00:49Z r +Moon 105 83 2030-09-27T07:12Z s +Moon 105 83 2030-10-08T10:26Z r +Moon 105 83 2030-10-08T19:54Z s +Moon 105 83 2030-10-09T08:34Z r +Moon 105 83 2030-10-10T00:02Z s +Moon 105 83 2030-10-10T06:27Z r +Moon 105 83 2030-10-22T10:51Z s +Moon 105 83 2030-10-22T16:24Z r +Moon 105 83 2030-10-23T08:33Z s +Moon 105 83 2030-10-23T20:47Z r +Moon 105 83 2030-10-24T06:38Z s +Moon 105 83 2030-11-04T09:16Z r +Moon 105 83 2030-11-04T16:53Z s +Moon 105 83 2030-11-05T07:17Z r +Moon 105 83 2030-11-05T20:53Z s +Moon 105 83 2030-11-06T05:25Z r +Moon 105 83 2030-11-19T07:35Z s +Moon 105 83 2030-11-19T17:06Z r +Moon 105 83 2030-11-20T05:44Z s +Moon 105 83 2030-11-20T21:22Z r +Moon 105 83 2030-11-21T03:29Z s +Moon 105 83 2030-12-01T08:26Z r +Moon 105 83 2030-12-01T13:33Z s +Moon 105 83 2030-12-02T06:02Z r +Moon 105 83 2030-12-02T17:54Z s +Moon 105 83 2030-12-03T04:14Z r +Moon 105 83 2030-12-03T22:45Z s +Moon 105 83 2030-12-04T01:14Z r +Moon 105 83 2030-12-16T06:39Z s +Moon 105 83 2030-12-16T13:43Z r +Moon 105 83 2030-12-17T04:40Z s +Moon 105 83 2030-12-17T17:41Z r +Moon 105 83 2030-12-18T02:49Z s +Moon 105 83 2030-12-29T05:05Z r +Moon 105 83 2030-12-29T14:29Z s +Moon 105 83 2030-12-30T03:11Z r +Moon 105 83 2030-12-30T18:42Z s +Moon 105 83 2030-12-31T01:02Z r +Moon 125 84 2037-01-07T05:46Z s +Moon 125 84 2037-01-07T12:35Z r +Moon 125 84 2037-01-08T03:18Z s +Moon 125 84 2037-01-08T17:27Z r +Moon 125 84 2037-01-09T00:59Z s +Moon 125 84 2037-01-21T06:30Z r +Moon 125 84 2037-01-21T09:09Z s +Moon 125 84 2037-01-22T03:26Z r +Moon 125 84 2037-01-22T13:58Z s +Moon 125 84 2037-01-23T01:34Z r +Moon 125 84 2037-01-23T18:20Z s +Moon 125 84 2037-01-23T23:00Z r +Moon 125 84 2037-02-04T02:24Z s +Moon 125 84 2037-02-04T13:46Z r +Moon 125 84 2037-02-05T00:10Z s +Moon 125 84 2037-02-18T02:20Z r +Moon 125 84 2037-02-18T10:52Z s +Moon 125 84 2037-02-19T00:22Z r +Moon 125 84 2037-02-19T14:53Z s +Moon 125 84 2037-02-19T22:17Z r +Moon 125 84 2037-03-03T01:58Z s +Moon 125 84 2037-03-03T09:25Z r +Moon 125 84 2037-03-03T23:26Z s +Moon 125 84 2037-03-04T14:47Z r +Moon 125 84 2037-03-04T20:44Z s +Moon 125 84 2037-03-17T01:22Z r +Moon 125 84 2037-03-17T07:42Z s +Moon 125 84 2037-03-17T23:08Z r +Moon 125 84 2037-03-18T11:49Z s +Moon 125 84 2037-03-18T21:11Z r +Moon 125 84 2037-03-30T22:51Z s +Moon 125 84 2037-03-31T10:05Z r +Moon 125 84 2037-03-31T20:30Z s +Moon 125 84 2037-04-13T01:11Z r +Moon 125 84 2037-04-13T03:44Z s +Moon 125 84 2037-04-13T22:01Z r +Moon 125 84 2037-04-14T08:40Z s +Moon 125 84 2037-04-14T20:05Z r +Moon 125 84 2037-04-15T13:16Z s +Moon 125 84 2037-04-15T17:19Z r +Moon 125 84 2037-04-26T22:28Z s +Moon 125 84 2037-04-27T05:38Z r +Moon 125 84 2037-04-27T19:54Z s +Moon 125 84 2037-04-28T11:02Z r +Moon 125 84 2037-04-28T17:10Z s +Moon 125 84 2037-05-10T21:11Z r +Moon 125 84 2037-05-11T05:14Z s +Moon 125 84 2037-05-11T19:05Z r +Moon 125 84 2037-05-12T09:23Z s +Moon 125 84 2037-05-12T16:56Z r +Moon 125 84 2037-05-23T22:58Z s +Moon 125 84 2037-05-24T00:43Z r +Moon 125 84 2037-05-24T19:05Z s +Moon 125 84 2037-05-25T06:55Z r +Moon 125 84 2037-05-25T16:45Z s +Moon 125 84 2037-06-06T20:52Z r +Moon 125 84 2037-06-07T01:15Z s +Moon 125 84 2037-06-07T18:11Z r +Moon 125 84 2037-06-08T05:44Z s +Moon 125 84 2037-06-08T16:13Z r +Moon 125 84 2037-06-09T11:25Z s +Moon 125 84 2037-06-09T12:19Z r +Moon 125 84 2037-06-20T18:09Z s +Moon 125 84 2037-06-21T03:28Z r +Moon 125 84 2037-06-21T15:50Z s +Moon 125 84 2037-06-22T09:01Z r +Moon 125 84 2037-06-22T12:35Z s +Moon 125 84 2037-07-04T17:21Z r +Moon 125 84 2037-07-05T02:12Z s +Moon 125 84 2037-07-05T15:19Z r +Moon 125 84 2037-07-06T06:22Z s +Moon 125 84 2037-07-06T13:04Z r +Moon 125 84 2037-07-17T17:24Z s +Moon 125 84 2037-07-17T23:58Z r +Moon 125 84 2037-07-18T14:46Z s +Moon 125 84 2037-07-19T05:09Z r +Moon 125 84 2037-07-19T12:13Z s +Moon 125 84 2037-07-31T16:36Z r +Moon 125 84 2037-07-31T22:41Z s +Moon 125 84 2037-08-01T14:16Z r +Moon 125 84 2037-08-02T02:52Z s +Moon 125 84 2037-08-02T12:17Z r +Moon 125 84 2037-08-14T13:50Z s +Moon 125 84 2037-08-15T01:28Z r +Moon 125 84 2037-08-15T11:26Z s +Moon 125 84 2037-08-27T16:26Z r +Moon 125 84 2037-08-27T18:41Z s +Moon 125 84 2037-08-28T13:08Z r +Moon 125 84 2037-08-28T23:44Z s +Moon 125 84 2037-08-29T11:10Z r +Moon 125 84 2037-08-30T04:15Z s +Moon 125 84 2037-08-30T08:27Z r +Moon 125 84 2037-09-10T13:21Z s +Moon 125 84 2037-09-10T21:10Z r +Moon 125 84 2037-09-11T10:43Z s +Moon 125 84 2037-09-12T03:00Z r +Moon 125 84 2037-09-12T07:34Z s +Moon 125 84 2037-09-24T12:02Z r +Moon 125 84 2037-09-24T20:40Z s +Moon 125 84 2037-09-25T09:58Z r +Moon 125 84 2037-09-26T00:50Z s +Moon 125 84 2037-09-26T07:43Z r +Moon 125 84 2037-10-08T10:12Z s +Moon 125 84 2037-10-08T21:58Z r +Moon 125 84 2037-10-09T07:40Z s +Moon 125 84 2037-10-21T11:13Z r +Moon 125 84 2037-10-21T17:19Z s +Moon 125 84 2037-10-22T08:50Z r +Moon 125 84 2037-10-22T21:35Z s +Moon 125 84 2037-10-23T06:47Z r +Moon 125 84 2037-11-04T09:57Z s +Moon 125 84 2037-11-04T17:17Z r +Moon 125 84 2037-11-05T07:14Z s +Moon 125 84 2037-11-05T23:05Z r +Moon 125 84 2037-11-06T04:08Z s +Moon 125 84 2037-11-18T07:53Z r +Moon 125 84 2037-11-18T18:12Z s +Moon 125 84 2037-11-19T05:51Z r +Moon 125 84 2037-11-19T22:51Z s +Moon 125 84 2037-11-20T03:02Z r +Moon 125 84 2037-12-01T10:54Z s +Moon 125 84 2037-12-01T11:50Z r +Moon 125 84 2037-12-02T06:32Z s +Moon 125 84 2037-12-02T18:34Z r +Moon 125 84 2037-12-03T04:04Z s +Moon 125 84 2037-12-15T07:12Z r +Moon 125 84 2037-12-15T14:35Z s +Moon 125 84 2037-12-16T04:57Z r +Moon 125 84 2037-12-16T18:48Z s +Moon 125 84 2037-12-17T02:47Z r +Moon 125 84 2037-12-29T05:37Z s +Moon 125 84 2037-12-29T15:03Z r +Moon 125 84 2037-12-30T03:11Z s +Moon 125 84 2037-12-30T21:16Z r +Moon 125 84 2037-12-30T23:17Z s +Moon 135 85 2026-01-08T03:58Z s +Moon 135 85 2026-01-08T12:27Z r +Moon 135 85 2026-01-09T00:21Z s +Moon 135 85 2026-01-23T01:37Z r +Moon 135 85 2026-01-23T14:08Z s +Moon 135 85 2026-01-23T21:45Z r +Moon 135 85 2026-02-05T00:05Z s +Moon 135 85 2026-02-05T14:39Z r +Moon 135 85 2026-02-05T19:59Z s +Moon 135 85 2026-02-19T01:14Z r +Moon 135 85 2026-02-19T09:51Z s +Moon 135 85 2026-02-19T21:23Z r +Moon 135 85 2026-03-04T00:03Z s +Moon 135 85 2026-03-04T09:22Z r +Moon 135 85 2026-03-04T20:23Z s +Moon 135 85 2026-03-18T21:11Z r +Moon 135 85 2026-03-19T13:09Z s +Moon 135 85 2026-03-19T16:08Z r +Moon 135 85 2026-03-31T00:37Z s +Moon 135 85 2026-03-31T04:13Z r +Moon 135 85 2026-03-31T20:02Z s +Moon 135 85 2026-04-01T12:30Z r +Moon 135 85 2026-04-01T15:13Z s +Moon 135 85 2026-04-14T21:17Z r +Moon 135 85 2026-04-15T06:51Z s +Moon 135 85 2026-04-15T17:26Z r +Moon 135 85 2026-04-27T19:19Z s +Moon 135 85 2026-04-28T07:43Z r +Moon 135 85 2026-04-28T15:42Z s +Moon 135 85 2026-05-11T22:33Z r +Moon 135 85 2026-05-12T00:40Z s +Moon 135 85 2026-05-12T17:23Z r +Moon 135 85 2026-05-13T10:07Z s +Moon 135 85 2026-05-13T12:02Z r +Moon 135 85 2026-05-24T18:31Z s +Moon 135 85 2026-05-25T04:02Z r +Moon 135 85 2026-05-25T15:01Z s +Moon 135 85 2026-06-08T16:55Z r +Moon 135 85 2026-06-09T04:18Z s +Moon 135 85 2026-06-09T13:14Z r +Moon 135 85 2026-06-20T18:20Z s +Moon 135 85 2026-06-20T23:50Z r +Moon 135 85 2026-06-21T14:15Z s +Moon 135 85 2026-07-05T16:20Z r +Moon 135 85 2026-07-06T00:19Z s +Moon 135 85 2026-07-06T12:40Z r +Moon 135 85 2026-07-18T13:48Z s +Moon 135 85 2026-07-19T02:32Z r +Moon 135 85 2026-07-19T10:00Z s +Moon 135 85 2026-08-01T16:22Z r +Moon 135 85 2026-08-01T20:00Z s +Moon 135 85 2026-08-02T11:51Z r +Moon 135 85 2026-08-03T04:18Z s +Moon 135 85 2026-08-03T06:59Z r +Moon 135 85 2026-08-14T14:01Z s +Moon 135 85 2026-08-14T21:16Z r +Moon 135 85 2026-08-15T10:05Z s +Moon 135 85 2026-08-29T11:13Z r +Moon 135 85 2026-08-29T23:26Z s +Moon 135 85 2026-08-30T07:29Z r +Moon 135 85 2026-09-11T09:59Z s +Moon 135 85 2026-09-11T23:28Z r +Moon 135 85 2026-09-12T05:58Z s +Moon 135 85 2026-09-25T11:08Z r +Moon 135 85 2026-09-25T18:41Z s +Moon 135 85 2026-09-26T07:20Z r +Moon 135 85 2026-10-08T09:48Z s +Moon 135 85 2026-10-08T18:33Z r +Moon 135 85 2026-10-09T06:06Z s +Moon 135 85 2026-10-23T07:09Z r +Moon 135 85 2026-10-23T20:54Z s +Moon 135 85 2026-10-24T03:08Z r +Moon 135 85 2026-11-04T09:48Z s +Moon 135 85 2026-11-04T14:08Z r +Moon 135 85 2026-11-05T05:26Z s +Moon 135 85 2026-11-05T22:55Z r +Moon 135 85 2026-11-05T23:58Z s +Moon 135 85 2026-11-19T06:59Z r +Moon 135 85 2026-11-19T15:44Z s +Moon 135 85 2026-11-20T03:25Z r +Moon 135 85 2026-12-02T04:31Z s +Moon 135 85 2026-12-02T17:55Z r +Moon 135 85 2026-12-03T00:43Z s +Moon 135 85 2026-12-16T07:17Z r +Moon 135 85 2026-12-16T10:52Z s +Moon 135 85 2026-12-17T02:55Z r +Moon 135 85 2026-12-17T18:30Z s +Moon 135 85 2026-12-17T22:37Z r +Moon 135 85 2026-12-29T03:55Z s +Moon 135 85 2026-12-29T13:49Z r +Moon 135 85 2026-12-30T00:15Z s +Moon 140 85 2022-01-08T05:27Z r +Moon 140 85 2022-01-08T11:32Z s +Moon 140 85 2022-01-09T01:46Z r +Moon 140 85 2022-01-09T19:06Z s +Moon 140 85 2022-01-09T20:57Z r +Moon 140 85 2022-01-23T02:57Z s +Moon 140 85 2022-01-23T12:52Z r +Moon 140 85 2022-01-23T23:33Z s +Moon 140 85 2022-02-05T01:17Z r +Moon 140 85 2022-02-05T13:37Z s +Moon 140 85 2022-02-05T21:50Z r +Moon 140 85 2022-02-19T02:25Z s +Moon 140 85 2022-02-19T09:04Z r +Moon 140 85 2022-02-19T22:41Z s +Moon 140 85 2022-03-04T01:19Z r +Moon 140 85 2022-03-04T08:41Z s +Moon 140 85 2022-03-04T21:40Z r +Moon 140 85 2022-03-18T22:05Z s +Moon 140 85 2022-03-19T11:54Z r +Moon 140 85 2022-03-19T18:10Z s +Moon 140 85 2022-03-31T21:18Z r +Moon 140 85 2022-04-01T10:50Z s +Moon 140 85 2022-04-01T17:36Z r +Moon 140 85 2022-04-14T22:05Z s +Moon 140 85 2022-04-15T06:41Z r +Moon 140 85 2022-04-15T18:25Z s +Moon 140 85 2022-04-27T20:49Z r +Moon 140 85 2022-04-28T06:29Z s +Moon 140 85 2022-04-28T17:24Z r +Moon 140 85 2022-05-12T18:22Z s +Moon 140 85 2022-05-13T08:42Z r +Moon 140 85 2022-05-13T14:15Z s +Moon 140 85 2022-05-24T20:28Z r +Moon 140 85 2022-05-25T02:30Z s +Moon 140 85 2022-05-25T16:40Z r +Moon 140 85 2022-06-08T18:11Z s +Moon 140 85 2022-06-09T03:29Z r +Moon 140 85 2022-06-09T14:40Z s +Moon 140 85 2022-06-21T15:51Z r +Moon 140 85 2022-06-22T05:34Z s +Moon 140 85 2022-06-22T12:10Z r +Moon 140 85 2022-07-05T18:06Z s +Moon 140 85 2022-07-05T23:01Z r +Moon 140 85 2022-07-06T14:06Z s +Moon 140 85 2022-07-07T06:55Z r +Moon 140 85 2022-07-07T09:14Z s +Moon 140 85 2022-07-18T15:18Z r +Moon 140 85 2022-07-19T01:21Z s +Moon 140 85 2022-07-19T11:48Z r +Moon 140 85 2022-08-02T13:12Z s +Moon 140 85 2022-08-03T02:16Z r +Moon 140 85 2022-08-03T09:37Z s +Moon 140 85 2022-08-14T15:57Z r +Moon 140 85 2022-08-14T19:59Z s +Moon 140 85 2022-08-15T11:26Z r +Moon 140 85 2022-08-29T12:23Z s +Moon 140 85 2022-08-29T22:34Z r +Moon 140 85 2022-08-30T08:57Z s +Moon 140 85 2022-09-11T11:19Z r +Moon 140 85 2022-09-11T22:28Z s +Moon 140 85 2022-09-12T07:37Z r +Moon 140 85 2022-09-25T12:14Z s +Moon 140 85 2022-09-25T18:15Z r +Moon 140 85 2022-09-26T08:22Z s +Moon 140 85 2022-10-08T11:49Z r +Moon 140 85 2022-10-08T17:03Z s +Moon 140 85 2022-10-09T07:34Z r +Moon 140 85 2022-10-23T08:03Z s +Moon 140 85 2022-10-23T20:29Z r +Moon 140 85 2022-10-24T04:22Z s +Moon 140 85 2022-11-05T07:08Z r +Moon 140 85 2022-11-05T19:58Z s +Moon 140 85 2022-11-06T03:21Z r +Moon 140 85 2022-11-19T08:11Z s +Moon 140 85 2022-11-19T15:18Z r +Moon 140 85 2022-11-20T04:29Z s +Moon 140 85 2022-12-02T06:30Z r +Moon 140 85 2022-12-02T15:58Z s +Moon 140 85 2022-12-03T02:55Z r +Moon 140 85 2022-12-17T04:08Z s +Moon 140 85 2022-12-17T17:22Z r +Moon 140 85 2022-12-18T00:28Z s +Moon 140 85 2022-12-29T06:13Z r +Moon 140 85 2022-12-29T11:54Z s +Moon 140 85 2022-12-30T02:07Z r +Moon 140 85 2023-01-13T03:30Z s +Moon 140 85 2023-01-13T13:12Z r +Moon 140 85 2023-01-14T00:09Z s +Moon 140 85 2023-01-26T01:35Z r +Moon 140 85 2023-01-26T14:57Z s +Moon 140 85 2023-01-26T21:35Z r +Moon 140 85 2023-02-09T02:55Z s +Moon 140 85 2023-02-09T09:29Z r +Moon 140 85 2023-02-09T23:17Z s +Moon 140 85 2023-02-22T01:51Z r +Moon 140 85 2023-02-22T09:26Z s +Moon 140 85 2023-02-22T21:49Z r +Moon 140 85 2023-03-08T22:27Z s +Moon 140 85 2023-03-09T12:25Z r +Moon 140 85 2023-03-09T18:41Z s +Moon 140 85 2023-03-21T21:55Z r +Moon 140 85 2023-03-22T11:37Z s +Moon 140 85 2023-03-22T17:38Z r +Moon 140 85 2023-04-04T21:57Z s +Moon 140 85 2023-04-05T08:06Z r +Moon 140 85 2023-04-05T18:30Z s +Moon 140 85 2023-04-17T22:06Z r +Moon 140 85 2023-04-18T06:00Z s +Moon 140 85 2023-04-18T18:07Z r +Moon 140 85 2023-05-01T22:11Z s +Moon 140 85 2023-05-02T03:14Z r +Moon 140 85 2023-05-02T18:10Z s +Moon 140 85 2023-05-03T11:19Z r +Moon 140 85 2023-05-03T13:02Z s +Moon 140 85 2023-05-15T17:41Z r +Moon 140 85 2023-05-16T09:44Z s +Moon 140 85 2023-05-16T12:47Z r +Moon 140 85 2023-05-29T17:48Z s +Moon 140 85 2023-05-30T05:27Z r +Moon 140 85 2023-05-30T14:20Z s +Moon 140 85 2023-06-11T16:55Z r +Moon 140 85 2023-06-12T05:05Z s +Moon 140 85 2023-06-12T13:05Z r +Moon 140 85 2023-06-25T17:28Z s +Moon 140 85 2023-06-26T01:05Z r +Moon 140 85 2023-06-26T13:58Z s +Moon 140 85 2023-07-08T16:20Z r +Moon 140 85 2023-07-09T01:06Z s +Moon 140 85 2023-07-09T12:29Z r +Moon 140 85 2023-07-22T17:50Z s +Moon 140 85 2023-07-22T20:23Z r +Moon 140 85 2023-07-23T13:13Z s +Moon 140 85 2023-07-24T03:42Z r +Moon 140 85 2023-07-24T09:26Z s +Moon 140 85 2023-08-05T12:01Z r +Moon 140 85 2023-08-19T12:22Z s +Moon 140 85 2023-08-19T23:50Z r +Moon 140 85 2023-08-20T09:01Z s +Moon 140 85 2023-09-01T12:05Z r +Moon 140 85 2023-09-01T22:44Z s +Moon 140 85 2023-09-02T08:00Z r +Moon 140 85 2023-09-15T11:44Z s +Moon 140 85 2023-09-15T20:06Z r +Moon 140 85 2023-09-16T08:18Z s +Moon 140 85 2023-09-29T08:22Z r +Moon 140 85 2023-10-12T12:04Z s +Moon 140 85 2023-10-12T15:26Z r +Moon 140 85 2023-10-13T07:39Z s +Moon 140 85 2023-10-13T22:49Z r +Moon 140 85 2023-10-14T03:35Z s +Moon 140 85 2023-10-26T08:30Z r +Moon 140 85 2023-10-26T19:01Z s +Moon 140 85 2023-10-27T04:28Z r +Moon 140 85 2023-11-09T07:11Z s +Moon 140 85 2023-11-09T18:08Z r +Moon 140 85 2023-11-10T03:47Z s +Moon 140 85 2023-11-22T08:41Z r +Moon 140 85 2023-11-22T14:01Z s +Moon 140 85 2023-11-23T04:16Z r +Moon 140 85 2023-12-06T07:02Z s +Moon 140 85 2023-12-06T13:38Z r +Moon 140 85 2023-12-07T03:25Z s +Moon 140 85 2023-12-20T03:28Z r +Moon 140 85 2023-12-20T18:21Z s +Moon 140 85 2023-12-20T22:57Z r Sun 0 -90 2022-03-22T18:07Z s Sun 0 -90 2022-09-20T21:52Z r Sun 45 -88 2022-03-17T20:13Z s diff --git a/generate/template/astronomy.c b/generate/template/astronomy.c index 7045ae58..c8dfd8d1 100644 --- a/generate/template/astronomy.c +++ b/generate/template/astronomy.c @@ -6403,237 +6403,62 @@ typedef struct } context_search_altitude_t; +#define CALC_ALTITUDE(altitude,time) \ + do { \ + astro_func_result_t result = altitude_error_func(altitude_error_context, time); \ + if (result.status != ASTRO_SUCCESS) \ + return SearchError(result.status); \ + altitude = searchDir * result.value; \ + } while (0) + +#define OUT_OF_BOUNDS(u) \ + ((limitDays < 0.0) ? (u < startTime.ut + limitDays) : (u > startTime.ut + limitDays)) + /** @endcond */ -static astro_search_result_t ForwardSearchAltitude( +static astro_search_result_t InternalSearchAltitude( astro_body_t body, astro_observer_t observer, - astro_direction_t direction, astro_time_t startTime, double limitDays, astro_search_func_t altitude_error_func, void *altitude_error_context) { - double ha_before, ha_after; - astro_time_t time_before; - astro_func_result_t alt_before, alt_after; - astro_hour_angle_t evt_before, evt_after; - - /* We cannot possibly satisfy a forward search without a positive time limit. */ - if (limitDays <= 0.0) - return SearchError(ASTRO_SEARCH_FAILURE); + astro_search_result_t result; + astro_time_t t1, t2, st1, st2; + double a1, a2; + const double searchDir = (limitDays < 0.0) ? -1.0 : +1.0; + const double deltaDays = searchDir / 100.0; if (body == BODY_EARTH) return SearchError(ASTRO_EARTH_NOT_ALLOWED); - switch (direction) - { - case DIRECTION_RISE: - ha_before = 12.0; /* minimum altitude (bottom) happens BEFORE the body rises. */ - ha_after = 0.0; /* maximum altitude (culmination) happens AFTER the body rises. */ - break; - - case DIRECTION_SET: - ha_before = 0.0; /* culmination happens BEFORE the body sets. */ - ha_after = 12.0; /* bottom happens AFTER the body sets. */ - break; - - default: - return SearchError(ASTRO_INVALID_PARAMETER); - } - - /* - See if the body is currently above/below the horizon. - If we are looking for next rise time and the body is below the horizon, - we use the current time as the lower time bound and the next culmination - as the upper bound. - If the body is above the horizon, we search for the next bottom and use it - as the lower bound and the next culmination after that bottom as the upper bound. - The same logic applies for finding set times; altitude_error_func and - altitude_error_context ensure that the desired event is represented - by ascending through zero, so the Search function works correctly. - */ - - alt_before = altitude_error_func(altitude_error_context, startTime); - if (alt_before.status != ASTRO_SUCCESS) - return SearchError(alt_before.status); - - if (alt_before.value > 0.0) - { - /* We are past the sought event, so we have to wait for the next "before" event (culm/bottom). */ - evt_before = Astronomy_SearchHourAngleEx(body, observer, ha_before, startTime, +1); - if (evt_before.status != ASTRO_SUCCESS) - return SearchError(evt_before.status); - - time_before = evt_before.time; - - alt_before = altitude_error_func(altitude_error_context, time_before); - if (alt_before.status != ASTRO_SUCCESS) - return SearchError(alt_before.status); - } - else - { - /* We are before or at the sought event, so we find the next "after" event (bottom/culm), */ - /* and use the current time as the "before" event. */ - time_before = startTime; - } - - evt_after = Astronomy_SearchHourAngleEx(body, observer, ha_after, time_before, +1); - if (evt_after.status != ASTRO_SUCCESS) - return SearchError(evt_after.status); - - alt_after = altitude_error_func(altitude_error_context, evt_after.time); - if (alt_after.status != ASTRO_SUCCESS) - return SearchError(alt_after.status); - + t1 = startTime; + CALC_ALTITUDE(a1, t1); for(;;) { - if (alt_before.value <= 0.0 && alt_after.value > 0.0) + t2 = Astronomy_AddDays(t1, deltaDays); + CALC_ALTITUDE(a2, t2); + if (a1 <= 0.0 && a2 > 0.0) { - /* Search between evt_before and evt_after for the desired event. */ - astro_search_result_t result = Astronomy_Search( - altitude_error_func, - altitude_error_context, - time_before, - evt_after.time, - 1.0); - - if (result.status == ASTRO_SUCCESS) + /* If we are searching backwards in time, we have to reverse time endpoints. */ + /* This causes the function to ascend through zero in the forward time direction. */ + if (limitDays < 0.0) { - /* If we found the rise/set event, but it falls outside limitDays, fail the search. */ - if (result.time.ut > startTime.ut + limitDays) - return SearchError(ASTRO_SEARCH_FAILURE); - - /* The search succeeded. */ - return result; + st1 = t2; + st2 = t1; } - - /* ASTRO_SEARCH_FAILURE is a special error that indicates a normal lack of finding a solution. */ - /* We keep attempting to find a rise/set event in that case. */ - if (result.status != ASTRO_SEARCH_FAILURE) - return result; /* The search failed in an unexpected way. */ - } - - /* If we didn't find the desired event, use evt_after.time to find the next before-event. */ - evt_before = Astronomy_SearchHourAngleEx(body, observer, ha_before, evt_after.time, +1); - if (evt_before.status != ASTRO_SUCCESS) - return SearchError(evt_before.status); - - evt_after = Astronomy_SearchHourAngleEx(body, observer, ha_after, evt_before.time, +1); - if (evt_after.status != ASTRO_SUCCESS) - return SearchError(evt_after.status); - - if (evt_before.time.ut >= startTime.ut + limitDays) - return SearchError(ASTRO_SEARCH_FAILURE); - - time_before = evt_before.time; - - alt_before = altitude_error_func(altitude_error_context, evt_before.time); - if (alt_before.status != ASTRO_SUCCESS) - return SearchError(alt_before.status); - - alt_after = altitude_error_func(altitude_error_context, evt_after.time); - if (alt_after.status != ASTRO_SUCCESS) - return SearchError(alt_after.status); - } -} - - -static astro_search_result_t BackwardSearchAltitude( - astro_body_t body, - astro_observer_t observer, - astro_direction_t direction, - astro_time_t startTime, - double limitDays, - astro_search_func_t altitude_error_func, - void *altitude_error_context) -{ - double ha_before, ha_after; - astro_time_t time_after; - astro_func_result_t alt_before, alt_after; - astro_hour_angle_t evt_before, evt_after; - - /* We cannot possibly satisfy a backward search without a negative time limit. */ - if (limitDays >= 0.0) - return SearchError(ASTRO_SEARCH_FAILURE); - - if (body == BODY_EARTH) - return SearchError(ASTRO_EARTH_NOT_ALLOWED); - - switch (direction) - { - case DIRECTION_RISE: - ha_before = 12.0; /* minimum altitude (bottom) happens BEFORE the body rises. */ - ha_after = 0.0; /* maximum altitude (culmination) happens AFTER the body rises. */ - break; - - case DIRECTION_SET: - ha_before = 0.0; /* culmination happens BEFORE the body sets. */ - ha_after = 12.0; /* bottom happens AFTER the body sets. */ - break; - - default: - return SearchError(ASTRO_INVALID_PARAMETER); - } - - /* - See if the body is currently above/below the horizon. - If we are looking for previous rise time and the body is above the horizon, - we use the current time as the upper time bound and the previous bottom as the lower time bound. - If the body is below the horizon, we search for the previous culmination and use it - as the upper time bound. Then we search for the bottom before that culmination and - use it as the lower time bound. - The same logic applies for finding set times; altitude_error_func and - altitude_error_context ensure that the desired event is represented - by ascending through zero, so the Search function works correctly. - */ - - alt_after = altitude_error_func(altitude_error_context, startTime); - if (alt_after.status != ASTRO_SUCCESS) - return SearchError(alt_after.status); - - if (alt_after.value < 0.0) - { - evt_after = Astronomy_SearchHourAngleEx(body, observer, ha_after, startTime, -1); - if (evt_after.status != ASTRO_SUCCESS) - return SearchError(evt_after.status); - - time_after = evt_after.time; - - alt_after = altitude_error_func(altitude_error_context, time_after); - if (alt_after.status != ASTRO_SUCCESS) - return SearchError(alt_after.status); - } - else - { - time_after = startTime; - } - - evt_before = Astronomy_SearchHourAngleEx(body, observer, ha_before, time_after, -1); - if (evt_before.status != ASTRO_SUCCESS) - return SearchError(evt_before.status); - - alt_before = altitude_error_func(altitude_error_context, evt_before.time); - if (alt_before.status != ASTRO_SUCCESS) - return SearchError(alt_before.status); - - for(;;) - { - if (alt_before.value <= 0.0 && alt_after.value > 0.0) - { - /* Search the time window for the desired event. */ - astro_search_result_t result = Astronomy_Search( - altitude_error_func, - altitude_error_context, - evt_before.time, - time_after, - 1.0); - + else + { + st1 = t1; + st2 = t2; + } + result = Astronomy_Search(altitude_error_func, altitude_error_context, st1, st2, 1.0); if (result.status == ASTRO_SUCCESS) { /* If we found the rise/set event, but it falls outside limitDays, fail the search. */ - if (result.time.ut < startTime.ut + limitDays) + if (OUT_OF_BOUNDS(result.time.ut)) return SearchError(ASTRO_SEARCH_FAILURE); /* The search succeeded. */ @@ -6646,27 +6471,11 @@ static astro_search_result_t BackwardSearchAltitude( return result; /* The search failed in an unexpected way. */ } - /* If we didn't find the desired event, use "before" time to find next "after" event. */ - evt_after = Astronomy_SearchHourAngleEx(body, observer, ha_after, evt_before.time, -1); - if (evt_after.status != ASTRO_SUCCESS) - return SearchError(evt_after.status); - - if (evt_after.time.ut <= startTime.ut + limitDays) + if (OUT_OF_BOUNDS(t2.ut)) return SearchError(ASTRO_SEARCH_FAILURE); - time_after = evt_after.time; - - evt_before = Astronomy_SearchHourAngleEx(body, observer, ha_before, evt_after.time, -1); - if (evt_before.status != ASTRO_SUCCESS) - return SearchError(evt_before.status); - - alt_before = altitude_error_func(altitude_error_context, evt_before.time); - if (alt_before.status != ASTRO_SUCCESS) - return SearchError(alt_before.status); - - alt_after = altitude_error_func(altitude_error_context, evt_after.time); - if (alt_after.status != ASTRO_SUCCESS) - return SearchError(alt_after.status); + t1 = t2; + a1 = a2; } } @@ -6792,9 +6601,7 @@ astro_search_result_t Astronomy_SearchRiseSet( default: context.body_radius_au = 0.0; break; } - return (limitDays < 0.0) - ? BackwardSearchAltitude(body, observer, direction, startTime, limitDays, peak_altitude, &context) - : ForwardSearchAltitude( body, observer, direction, startTime, limitDays, peak_altitude, &context); + return InternalSearchAltitude(body, observer, startTime, limitDays, peak_altitude, &context); } @@ -6868,9 +6675,7 @@ astro_search_result_t Astronomy_SearchAltitude( context.observer = observer; context.altitude = altitude; - return (limitDays < 0.0) - ? BackwardSearchAltitude(body, observer, direction, startTime, limitDays, altitude_error, &context) - : ForwardSearchAltitude( body, observer, direction, startTime, limitDays, altitude_error, &context); + return InternalSearchAltitude(body, observer, startTime, limitDays, altitude_error, &context); } diff --git a/source/c/astronomy.c b/source/c/astronomy.c index f8e7ca04..e6eb2334 100644 --- a/source/c/astronomy.c +++ b/source/c/astronomy.c @@ -7642,237 +7642,62 @@ typedef struct } context_search_altitude_t; +#define CALC_ALTITUDE(altitude,time) \ + do { \ + astro_func_result_t result = altitude_error_func(altitude_error_context, time); \ + if (result.status != ASTRO_SUCCESS) \ + return SearchError(result.status); \ + altitude = searchDir * result.value; \ + } while (0) + +#define OUT_OF_BOUNDS(u) \ + ((limitDays < 0.0) ? (u < startTime.ut + limitDays) : (u > startTime.ut + limitDays)) + /** @endcond */ -static astro_search_result_t ForwardSearchAltitude( +static astro_search_result_t InternalSearchAltitude( astro_body_t body, astro_observer_t observer, - astro_direction_t direction, astro_time_t startTime, double limitDays, astro_search_func_t altitude_error_func, void *altitude_error_context) { - double ha_before, ha_after; - astro_time_t time_before; - astro_func_result_t alt_before, alt_after; - astro_hour_angle_t evt_before, evt_after; - - /* We cannot possibly satisfy a forward search without a positive time limit. */ - if (limitDays <= 0.0) - return SearchError(ASTRO_SEARCH_FAILURE); + astro_search_result_t result; + astro_time_t t1, t2, st1, st2; + double a1, a2; + const double searchDir = (limitDays < 0.0) ? -1.0 : +1.0; + const double deltaDays = searchDir / 100.0; if (body == BODY_EARTH) return SearchError(ASTRO_EARTH_NOT_ALLOWED); - switch (direction) - { - case DIRECTION_RISE: - ha_before = 12.0; /* minimum altitude (bottom) happens BEFORE the body rises. */ - ha_after = 0.0; /* maximum altitude (culmination) happens AFTER the body rises. */ - break; - - case DIRECTION_SET: - ha_before = 0.0; /* culmination happens BEFORE the body sets. */ - ha_after = 12.0; /* bottom happens AFTER the body sets. */ - break; - - default: - return SearchError(ASTRO_INVALID_PARAMETER); - } - - /* - See if the body is currently above/below the horizon. - If we are looking for next rise time and the body is below the horizon, - we use the current time as the lower time bound and the next culmination - as the upper bound. - If the body is above the horizon, we search for the next bottom and use it - as the lower bound and the next culmination after that bottom as the upper bound. - The same logic applies for finding set times; altitude_error_func and - altitude_error_context ensure that the desired event is represented - by ascending through zero, so the Search function works correctly. - */ - - alt_before = altitude_error_func(altitude_error_context, startTime); - if (alt_before.status != ASTRO_SUCCESS) - return SearchError(alt_before.status); - - if (alt_before.value > 0.0) - { - /* We are past the sought event, so we have to wait for the next "before" event (culm/bottom). */ - evt_before = Astronomy_SearchHourAngleEx(body, observer, ha_before, startTime, +1); - if (evt_before.status != ASTRO_SUCCESS) - return SearchError(evt_before.status); - - time_before = evt_before.time; - - alt_before = altitude_error_func(altitude_error_context, time_before); - if (alt_before.status != ASTRO_SUCCESS) - return SearchError(alt_before.status); - } - else - { - /* We are before or at the sought event, so we find the next "after" event (bottom/culm), */ - /* and use the current time as the "before" event. */ - time_before = startTime; - } - - evt_after = Astronomy_SearchHourAngleEx(body, observer, ha_after, time_before, +1); - if (evt_after.status != ASTRO_SUCCESS) - return SearchError(evt_after.status); - - alt_after = altitude_error_func(altitude_error_context, evt_after.time); - if (alt_after.status != ASTRO_SUCCESS) - return SearchError(alt_after.status); - + t1 = startTime; + CALC_ALTITUDE(a1, t1); for(;;) { - if (alt_before.value <= 0.0 && alt_after.value > 0.0) + t2 = Astronomy_AddDays(t1, deltaDays); + CALC_ALTITUDE(a2, t2); + if (a1 <= 0.0 && a2 > 0.0) { - /* Search between evt_before and evt_after for the desired event. */ - astro_search_result_t result = Astronomy_Search( - altitude_error_func, - altitude_error_context, - time_before, - evt_after.time, - 1.0); - - if (result.status == ASTRO_SUCCESS) + /* If we are searching backwards in time, we have to reverse time endpoints. */ + /* This causes the function to ascend through zero in the forward time direction. */ + if (limitDays < 0.0) { - /* If we found the rise/set event, but it falls outside limitDays, fail the search. */ - if (result.time.ut > startTime.ut + limitDays) - return SearchError(ASTRO_SEARCH_FAILURE); - - /* The search succeeded. */ - return result; + st1 = t2; + st2 = t1; } - - /* ASTRO_SEARCH_FAILURE is a special error that indicates a normal lack of finding a solution. */ - /* We keep attempting to find a rise/set event in that case. */ - if (result.status != ASTRO_SEARCH_FAILURE) - return result; /* The search failed in an unexpected way. */ - } - - /* If we didn't find the desired event, use evt_after.time to find the next before-event. */ - evt_before = Astronomy_SearchHourAngleEx(body, observer, ha_before, evt_after.time, +1); - if (evt_before.status != ASTRO_SUCCESS) - return SearchError(evt_before.status); - - evt_after = Astronomy_SearchHourAngleEx(body, observer, ha_after, evt_before.time, +1); - if (evt_after.status != ASTRO_SUCCESS) - return SearchError(evt_after.status); - - if (evt_before.time.ut >= startTime.ut + limitDays) - return SearchError(ASTRO_SEARCH_FAILURE); - - time_before = evt_before.time; - - alt_before = altitude_error_func(altitude_error_context, evt_before.time); - if (alt_before.status != ASTRO_SUCCESS) - return SearchError(alt_before.status); - - alt_after = altitude_error_func(altitude_error_context, evt_after.time); - if (alt_after.status != ASTRO_SUCCESS) - return SearchError(alt_after.status); - } -} - - -static astro_search_result_t BackwardSearchAltitude( - astro_body_t body, - astro_observer_t observer, - astro_direction_t direction, - astro_time_t startTime, - double limitDays, - astro_search_func_t altitude_error_func, - void *altitude_error_context) -{ - double ha_before, ha_after; - astro_time_t time_after; - astro_func_result_t alt_before, alt_after; - astro_hour_angle_t evt_before, evt_after; - - /* We cannot possibly satisfy a backward search without a negative time limit. */ - if (limitDays >= 0.0) - return SearchError(ASTRO_SEARCH_FAILURE); - - if (body == BODY_EARTH) - return SearchError(ASTRO_EARTH_NOT_ALLOWED); - - switch (direction) - { - case DIRECTION_RISE: - ha_before = 12.0; /* minimum altitude (bottom) happens BEFORE the body rises. */ - ha_after = 0.0; /* maximum altitude (culmination) happens AFTER the body rises. */ - break; - - case DIRECTION_SET: - ha_before = 0.0; /* culmination happens BEFORE the body sets. */ - ha_after = 12.0; /* bottom happens AFTER the body sets. */ - break; - - default: - return SearchError(ASTRO_INVALID_PARAMETER); - } - - /* - See if the body is currently above/below the horizon. - If we are looking for previous rise time and the body is above the horizon, - we use the current time as the upper time bound and the previous bottom as the lower time bound. - If the body is below the horizon, we search for the previous culmination and use it - as the upper time bound. Then we search for the bottom before that culmination and - use it as the lower time bound. - The same logic applies for finding set times; altitude_error_func and - altitude_error_context ensure that the desired event is represented - by ascending through zero, so the Search function works correctly. - */ - - alt_after = altitude_error_func(altitude_error_context, startTime); - if (alt_after.status != ASTRO_SUCCESS) - return SearchError(alt_after.status); - - if (alt_after.value < 0.0) - { - evt_after = Astronomy_SearchHourAngleEx(body, observer, ha_after, startTime, -1); - if (evt_after.status != ASTRO_SUCCESS) - return SearchError(evt_after.status); - - time_after = evt_after.time; - - alt_after = altitude_error_func(altitude_error_context, time_after); - if (alt_after.status != ASTRO_SUCCESS) - return SearchError(alt_after.status); - } - else - { - time_after = startTime; - } - - evt_before = Astronomy_SearchHourAngleEx(body, observer, ha_before, time_after, -1); - if (evt_before.status != ASTRO_SUCCESS) - return SearchError(evt_before.status); - - alt_before = altitude_error_func(altitude_error_context, evt_before.time); - if (alt_before.status != ASTRO_SUCCESS) - return SearchError(alt_before.status); - - for(;;) - { - if (alt_before.value <= 0.0 && alt_after.value > 0.0) - { - /* Search the time window for the desired event. */ - astro_search_result_t result = Astronomy_Search( - altitude_error_func, - altitude_error_context, - evt_before.time, - time_after, - 1.0); - + else + { + st1 = t1; + st2 = t2; + } + result = Astronomy_Search(altitude_error_func, altitude_error_context, st1, st2, 1.0); if (result.status == ASTRO_SUCCESS) { /* If we found the rise/set event, but it falls outside limitDays, fail the search. */ - if (result.time.ut < startTime.ut + limitDays) + if (OUT_OF_BOUNDS(result.time.ut)) return SearchError(ASTRO_SEARCH_FAILURE); /* The search succeeded. */ @@ -7885,27 +7710,11 @@ static astro_search_result_t BackwardSearchAltitude( return result; /* The search failed in an unexpected way. */ } - /* If we didn't find the desired event, use "before" time to find next "after" event. */ - evt_after = Astronomy_SearchHourAngleEx(body, observer, ha_after, evt_before.time, -1); - if (evt_after.status != ASTRO_SUCCESS) - return SearchError(evt_after.status); - - if (evt_after.time.ut <= startTime.ut + limitDays) + if (OUT_OF_BOUNDS(t2.ut)) return SearchError(ASTRO_SEARCH_FAILURE); - time_after = evt_after.time; - - evt_before = Astronomy_SearchHourAngleEx(body, observer, ha_before, evt_after.time, -1); - if (evt_before.status != ASTRO_SUCCESS) - return SearchError(evt_before.status); - - alt_before = altitude_error_func(altitude_error_context, evt_before.time); - if (alt_before.status != ASTRO_SUCCESS) - return SearchError(alt_before.status); - - alt_after = altitude_error_func(altitude_error_context, evt_after.time); - if (alt_after.status != ASTRO_SUCCESS) - return SearchError(alt_after.status); + t1 = t2; + a1 = a2; } } @@ -8031,9 +7840,7 @@ astro_search_result_t Astronomy_SearchRiseSet( default: context.body_radius_au = 0.0; break; } - return (limitDays < 0.0) - ? BackwardSearchAltitude(body, observer, direction, startTime, limitDays, peak_altitude, &context) - : ForwardSearchAltitude( body, observer, direction, startTime, limitDays, peak_altitude, &context); + return InternalSearchAltitude(body, observer, startTime, limitDays, peak_altitude, &context); } @@ -8107,9 +7914,7 @@ astro_search_result_t Astronomy_SearchAltitude( context.observer = observer; context.altitude = altitude; - return (limitDays < 0.0) - ? BackwardSearchAltitude(body, observer, direction, startTime, limitDays, altitude_error, &context) - : ForwardSearchAltitude( body, observer, direction, startTime, limitDays, altitude_error, &context); + return InternalSearchAltitude(body, observer, startTime, limitDays, altitude_error, &context); } From bf20fb1c44f2927062039ab8e2dfa5541ecdd12c Mon Sep 17 00:00:00 2001 From: Don Cross Date: Thu, 10 Nov 2022 15:10:28 -0500 Subject: [PATCH 04/16] C: InternalSearchAltitude owns func + context. Refactored so there is a single altitude function/context pair instead of separate ones for SearchAltitude and SearchRiseSet. This allows InternalSearchAltitude to fully understand the problem to be solved, and also makes the code smaller. InternalSearchAltitude will need to perform min/max altitude calculations, which means it needs to know all the parameters of the altitude search directly. They are no longer hidden inside an opaque function pointer and context. So now SearchAltitude and SearchRiseSet no longer create contexts, nor pass in a function pointer. They just pass the correct numeric parameters to the generic solver InternalSearchAltitude, which packs the parameters into the context for Search(). Unified the two context types into a single context type, and the two callback functions into a single callback function. --- generate/template/astronomy.c | 118 +++++++++++----------------------- source/c/astronomy.c | 118 +++++++++++----------------------- 2 files changed, 78 insertions(+), 158 deletions(-) diff --git a/generate/template/astronomy.c b/generate/template/astronomy.c index c8dfd8d1..f92ed766 100644 --- a/generate/template/astronomy.c +++ b/generate/template/astronomy.c @@ -6385,27 +6385,20 @@ astro_hour_angle_t Astronomy_SearchHourAngleEx( } /** @cond DOXYGEN_SKIP */ -typedef struct -{ - astro_body_t body; - int direction; - astro_observer_t observer; - double body_radius_au; -} -context_peak_altitude_t; typedef struct { astro_body_t body; - int direction; + int direction; // search option: +1 = rise, -1 = set astro_observer_t observer; - double altitude; + double body_radius_au; + double altitude_bias; } -context_search_altitude_t; +context_altitude_t; #define CALC_ALTITUDE(altitude,time) \ do { \ - astro_func_result_t result = altitude_error_func(altitude_error_context, time); \ + astro_func_result_t result = altitude_diff(&context, time); \ if (result.status != ASTRO_SUCCESS) \ return SearchError(result.status); \ altitude = searchDir * result.value; \ @@ -6416,16 +6409,35 @@ context_search_altitude_t; /** @endcond */ +static astro_func_result_t altitude_diff(void *context, astro_time_t time) +{ + astro_func_result_t result; + astro_equatorial_t ofdate; + astro_horizon_t hor; + const context_altitude_t *p = (const context_altitude_t *)context; + + ofdate = Astronomy_Equator(p->body, &time, p->observer, EQUATOR_OF_DATE, ABERRATION); + if (ofdate.status != ASTRO_SUCCESS) + return FuncError(ofdate.status); + + hor = Astronomy_Horizon(&time, p->observer, ofdate.ra, ofdate.dec, REFRACTION_NONE); + result.value = p->direction * (hor.altitude + RAD2DEG*(p->body_radius_au / ofdate.dist) + p->altitude_bias); + result.status = ASTRO_SUCCESS; + return result; +} + static astro_search_result_t InternalSearchAltitude( astro_body_t body, astro_observer_t observer, + astro_direction_t direction, astro_time_t startTime, double limitDays, - astro_search_func_t altitude_error_func, - void *altitude_error_context) + double bodyRadiusAu, + double altitudeBias) { astro_search_result_t result; + context_altitude_t context; astro_time_t t1, t2, st1, st2; double a1, a2; const double searchDir = (limitDays < 0.0) ? -1.0 : +1.0; @@ -6434,6 +6446,12 @@ static astro_search_result_t InternalSearchAltitude( if (body == BODY_EARTH) return SearchError(ASTRO_EARTH_NOT_ALLOWED); + context.body = body; + context.direction = (int)direction; + context.observer = observer; + context.body_radius_au = bodyRadiusAu; + context.altitude_bias = altitudeBias; + t1 = startTime; CALC_ALTITUDE(a1, t1); for(;;) @@ -6454,7 +6472,7 @@ static astro_search_result_t InternalSearchAltitude( st1 = t1; st2 = t2; } - result = Astronomy_Search(altitude_error_func, altitude_error_context, st1, st2, 1.0); + result = Astronomy_Search(altitude_diff, &context, st1, st2, 1.0); if (result.status == ASTRO_SUCCESS) { /* If we found the rise/set event, but it falls outside limitDays, fail the search. */ @@ -6480,53 +6498,6 @@ static astro_search_result_t InternalSearchAltitude( } -static astro_func_result_t peak_altitude(void *context, astro_time_t time) -{ - astro_func_result_t result; - astro_equatorial_t ofdate; - astro_horizon_t hor; - const context_peak_altitude_t *p = (const context_peak_altitude_t *) context; - - /* - Return the angular altitude above or below the horizon - of the highest part (the peak) of the given object. - This is defined as the apparent altitude of the center of the body plus - the body's angular radius. - The 'direction' parameter controls whether the angle is measured - positive above the horizon or positive below the horizon, - depending on whether the caller wants rise times or set times, respectively. - */ - - ofdate = Astronomy_Equator(p->body, &time, p->observer, EQUATOR_OF_DATE, ABERRATION); - if (ofdate.status != ASTRO_SUCCESS) - return FuncError(ofdate.status); - - /* We calculate altitude without refraction, then add fixed refraction near the horizon. */ - /* This gives us the time of rise/set without the extra work. */ - hor = Astronomy_Horizon(&time, p->observer, ofdate.ra, ofdate.dec, REFRACTION_NONE); - result.value = p->direction * (hor.altitude + RAD2DEG*(p->body_radius_au / ofdate.dist) + REFRACTION_NEAR_HORIZON); - result.status = ASTRO_SUCCESS; - return result; -} - -static astro_func_result_t altitude_error(void *context, astro_time_t time) -{ - astro_func_result_t result; - astro_equatorial_t ofdate; - astro_horizon_t hor; - const context_search_altitude_t *p = (const context_search_altitude_t *) context; - - ofdate = Astronomy_Equator(p->body, &time, p->observer, EQUATOR_OF_DATE, ABERRATION); - if (ofdate.status != ASTRO_SUCCESS) - return FuncError(ofdate.status); - - hor = Astronomy_Horizon(&time, p->observer, ofdate.ra, ofdate.dec, REFRACTION_NONE); - result.value = p->direction * (hor.altitude - p->altitude); - result.status = ASTRO_SUCCESS; - return result; -} - - /** * @brief * Searches for the next time a celestial body rises or sets as seen by an observer on the Earth. @@ -6585,23 +6556,19 @@ astro_search_result_t Astronomy_SearchRiseSet( astro_time_t startTime, double limitDays) { - context_peak_altitude_t context; + double body_radius_au; if (body == BODY_EARTH) return SearchError(ASTRO_EARTH_NOT_ALLOWED); - /* Set up the context structure for the search function 'peak_altitude'. */ - context.body = body; - context.direction = (int)direction; - context.observer = observer; switch (body) { - case BODY_SUN: context.body_radius_au = SUN_RADIUS_AU; break; - case BODY_MOON: context.body_radius_au = MOON_EQUATORIAL_RADIUS_AU; break; - default: context.body_radius_au = 0.0; break; + case BODY_SUN: body_radius_au = SUN_RADIUS_AU; break; + case BODY_MOON: body_radius_au = MOON_EQUATORIAL_RADIUS_AU; break; + default: body_radius_au = 0.0; break; } - return InternalSearchAltitude(body, observer, startTime, limitDays, peak_altitude, &context); + return InternalSearchAltitude(body, observer, direction, startTime, limitDays, body_radius_au, REFRACTION_NEAR_HORIZON); } @@ -6668,14 +6635,7 @@ astro_search_result_t Astronomy_SearchAltitude( double limitDays, double altitude) { - context_search_altitude_t context; - - context.body = body; - context.direction = direction; - context.observer = observer; - context.altitude = altitude; - - return InternalSearchAltitude(body, observer, startTime, limitDays, altitude_error, &context); + return InternalSearchAltitude(body, observer, direction, startTime, limitDays, 0.0, altitude); } diff --git a/source/c/astronomy.c b/source/c/astronomy.c index e6eb2334..a5b78ded 100644 --- a/source/c/astronomy.c +++ b/source/c/astronomy.c @@ -7624,27 +7624,20 @@ astro_hour_angle_t Astronomy_SearchHourAngleEx( } /** @cond DOXYGEN_SKIP */ -typedef struct -{ - astro_body_t body; - int direction; - astro_observer_t observer; - double body_radius_au; -} -context_peak_altitude_t; typedef struct { astro_body_t body; - int direction; + int direction; // search option: +1 = rise, -1 = set astro_observer_t observer; - double altitude; + double body_radius_au; + double altitude_bias; } -context_search_altitude_t; +context_altitude_t; #define CALC_ALTITUDE(altitude,time) \ do { \ - astro_func_result_t result = altitude_error_func(altitude_error_context, time); \ + astro_func_result_t result = altitude_diff(&context, time); \ if (result.status != ASTRO_SUCCESS) \ return SearchError(result.status); \ altitude = searchDir * result.value; \ @@ -7655,16 +7648,35 @@ context_search_altitude_t; /** @endcond */ +static astro_func_result_t altitude_diff(void *context, astro_time_t time) +{ + astro_func_result_t result; + astro_equatorial_t ofdate; + astro_horizon_t hor; + const context_altitude_t *p = (const context_altitude_t *)context; + + ofdate = Astronomy_Equator(p->body, &time, p->observer, EQUATOR_OF_DATE, ABERRATION); + if (ofdate.status != ASTRO_SUCCESS) + return FuncError(ofdate.status); + + hor = Astronomy_Horizon(&time, p->observer, ofdate.ra, ofdate.dec, REFRACTION_NONE); + result.value = p->direction * (hor.altitude + RAD2DEG*(p->body_radius_au / ofdate.dist) + p->altitude_bias); + result.status = ASTRO_SUCCESS; + return result; +} + static astro_search_result_t InternalSearchAltitude( astro_body_t body, astro_observer_t observer, + astro_direction_t direction, astro_time_t startTime, double limitDays, - astro_search_func_t altitude_error_func, - void *altitude_error_context) + double bodyRadiusAu, + double altitudeBias) { astro_search_result_t result; + context_altitude_t context; astro_time_t t1, t2, st1, st2; double a1, a2; const double searchDir = (limitDays < 0.0) ? -1.0 : +1.0; @@ -7673,6 +7685,12 @@ static astro_search_result_t InternalSearchAltitude( if (body == BODY_EARTH) return SearchError(ASTRO_EARTH_NOT_ALLOWED); + context.body = body; + context.direction = (int)direction; + context.observer = observer; + context.body_radius_au = bodyRadiusAu; + context.altitude_bias = altitudeBias; + t1 = startTime; CALC_ALTITUDE(a1, t1); for(;;) @@ -7693,7 +7711,7 @@ static astro_search_result_t InternalSearchAltitude( st1 = t1; st2 = t2; } - result = Astronomy_Search(altitude_error_func, altitude_error_context, st1, st2, 1.0); + result = Astronomy_Search(altitude_diff, &context, st1, st2, 1.0); if (result.status == ASTRO_SUCCESS) { /* If we found the rise/set event, but it falls outside limitDays, fail the search. */ @@ -7719,53 +7737,6 @@ static astro_search_result_t InternalSearchAltitude( } -static astro_func_result_t peak_altitude(void *context, astro_time_t time) -{ - astro_func_result_t result; - astro_equatorial_t ofdate; - astro_horizon_t hor; - const context_peak_altitude_t *p = (const context_peak_altitude_t *) context; - - /* - Return the angular altitude above or below the horizon - of the highest part (the peak) of the given object. - This is defined as the apparent altitude of the center of the body plus - the body's angular radius. - The 'direction' parameter controls whether the angle is measured - positive above the horizon or positive below the horizon, - depending on whether the caller wants rise times or set times, respectively. - */ - - ofdate = Astronomy_Equator(p->body, &time, p->observer, EQUATOR_OF_DATE, ABERRATION); - if (ofdate.status != ASTRO_SUCCESS) - return FuncError(ofdate.status); - - /* We calculate altitude without refraction, then add fixed refraction near the horizon. */ - /* This gives us the time of rise/set without the extra work. */ - hor = Astronomy_Horizon(&time, p->observer, ofdate.ra, ofdate.dec, REFRACTION_NONE); - result.value = p->direction * (hor.altitude + RAD2DEG*(p->body_radius_au / ofdate.dist) + REFRACTION_NEAR_HORIZON); - result.status = ASTRO_SUCCESS; - return result; -} - -static astro_func_result_t altitude_error(void *context, astro_time_t time) -{ - astro_func_result_t result; - astro_equatorial_t ofdate; - astro_horizon_t hor; - const context_search_altitude_t *p = (const context_search_altitude_t *) context; - - ofdate = Astronomy_Equator(p->body, &time, p->observer, EQUATOR_OF_DATE, ABERRATION); - if (ofdate.status != ASTRO_SUCCESS) - return FuncError(ofdate.status); - - hor = Astronomy_Horizon(&time, p->observer, ofdate.ra, ofdate.dec, REFRACTION_NONE); - result.value = p->direction * (hor.altitude - p->altitude); - result.status = ASTRO_SUCCESS; - return result; -} - - /** * @brief * Searches for the next time a celestial body rises or sets as seen by an observer on the Earth. @@ -7824,23 +7795,19 @@ astro_search_result_t Astronomy_SearchRiseSet( astro_time_t startTime, double limitDays) { - context_peak_altitude_t context; + double body_radius_au; if (body == BODY_EARTH) return SearchError(ASTRO_EARTH_NOT_ALLOWED); - /* Set up the context structure for the search function 'peak_altitude'. */ - context.body = body; - context.direction = (int)direction; - context.observer = observer; switch (body) { - case BODY_SUN: context.body_radius_au = SUN_RADIUS_AU; break; - case BODY_MOON: context.body_radius_au = MOON_EQUATORIAL_RADIUS_AU; break; - default: context.body_radius_au = 0.0; break; + case BODY_SUN: body_radius_au = SUN_RADIUS_AU; break; + case BODY_MOON: body_radius_au = MOON_EQUATORIAL_RADIUS_AU; break; + default: body_radius_au = 0.0; break; } - return InternalSearchAltitude(body, observer, startTime, limitDays, peak_altitude, &context); + return InternalSearchAltitude(body, observer, direction, startTime, limitDays, body_radius_au, REFRACTION_NEAR_HORIZON); } @@ -7907,14 +7874,7 @@ astro_search_result_t Astronomy_SearchAltitude( double limitDays, double altitude) { - context_search_altitude_t context; - - context.body = body; - context.direction = direction; - context.observer = observer; - context.altitude = altitude; - - return InternalSearchAltitude(body, observer, startTime, limitDays, altitude_error, &context); + return InternalSearchAltitude(body, observer, direction, startTime, limitDays, 0.0, altitude); } From eede9083146a8aa12109d60311f34e008cb05773 Mon Sep 17 00:00:00 2001 From: Don Cross Date: Thu, 10 Nov 2022 15:20:04 -0500 Subject: [PATCH 05/16] Arcsine of (radius/dist) for more accuracy. Finding apparent angular radius by dividing body radius by distance is not quite as accurate as taking the arcsine of the same ratio. Changed this for a slightly more accurate answer. --- generate/template/astronomy.c | 2 +- source/c/astronomy.c | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/generate/template/astronomy.c b/generate/template/astronomy.c index f92ed766..1a53bdc0 100644 --- a/generate/template/astronomy.c +++ b/generate/template/astronomy.c @@ -6421,7 +6421,7 @@ static astro_func_result_t altitude_diff(void *context, astro_time_t time) return FuncError(ofdate.status); hor = Astronomy_Horizon(&time, p->observer, ofdate.ra, ofdate.dec, REFRACTION_NONE); - result.value = p->direction * (hor.altitude + RAD2DEG*(p->body_radius_au / ofdate.dist) + p->altitude_bias); + result.value = p->direction * (hor.altitude + RAD2DEG*asin(p->body_radius_au / ofdate.dist) + p->altitude_bias); result.status = ASTRO_SUCCESS; return result; } diff --git a/source/c/astronomy.c b/source/c/astronomy.c index a5b78ded..8450a08c 100644 --- a/source/c/astronomy.c +++ b/source/c/astronomy.c @@ -7660,7 +7660,7 @@ static astro_func_result_t altitude_diff(void *context, astro_time_t time) return FuncError(ofdate.status); hor = Astronomy_Horizon(&time, p->observer, ofdate.ra, ofdate.dec, REFRACTION_NONE); - result.value = p->direction * (hor.altitude + RAD2DEG*(p->body_radius_au / ofdate.dist) + p->altitude_bias); + result.value = p->direction * (hor.altitude + RAD2DEG*asin(p->body_radius_au / ofdate.dist) + p->altitude_bias); result.status = ASTRO_SUCCESS; return result; } From 4602f619d34091406c8200177174e4a1e66488ed Mon Sep 17 00:00:00 2001 From: Don Cross Date: Sat, 12 Nov 2022 21:40:20 -0500 Subject: [PATCH 06/16] C: Rise/set that works near the poles! This is a whole new algorithm that efficiently finds all rise/set events, even near the poles. It uses a recursive bisection search that limits recursion depth by knowing the maximum possible |da/dt| = change in altitude with respect to time. --- demo/browser/astronomy.browser.js | 2 +- demo/nodejs/astronomy.js | 2 +- demo/python/astronomy.py | 4 +- generate/ctest.c | 8 +- generate/template/astronomy.c | 271 +++++++++++++++--- generate/template/astronomy.cs | 4 +- generate/template/astronomy.kt | 4 +- generate/template/astronomy.py | 4 +- generate/template/astronomy.ts | 2 +- source/c/README.md | 2 +- source/c/astronomy.c | 271 +++++++++++++++--- source/csharp/README.md | 2 +- source/csharp/astronomy.cs | 4 +- source/js/astronomy.browser.js | 2 +- source/js/astronomy.js | 2 +- source/js/astronomy.ts | 2 +- source/js/esm/astronomy.js | 2 +- .../github/cosinekitty/astronomy/astronomy.kt | 4 +- source/python/README.md | 2 +- source/python/astronomy/astronomy.py | 4 +- 20 files changed, 478 insertions(+), 120 deletions(-) diff --git a/demo/browser/astronomy.browser.js b/demo/browser/astronomy.browser.js index ed408236..df6732cc 100644 --- a/demo/browser/astronomy.browser.js +++ b/demo/browser/astronomy.browser.js @@ -2357,7 +2357,7 @@ function Horizon(date, observer, ra, dec, refraction) { let une = [-sinlat * coslon, -sinlat * sinlon, coslat]; let uwe = [sinlon, -coslon, 0]; // Correct the vectors uze, une, uwe for the Earth's rotation by calculating - // sideral time. Call spin() for each uncorrected vector to rotate about + // sidereal time. Call spin() for each uncorrected vector to rotate about // the Earth's axis to yield corrected unit vectors uz, un, uw. // Multiply sidereal hours by -15 to convert to degrees and flip eastward // rotation of the Earth to westward apparent movement of objects with time. diff --git a/demo/nodejs/astronomy.js b/demo/nodejs/astronomy.js index 3bd02543..24e6ba41 100644 --- a/demo/nodejs/astronomy.js +++ b/demo/nodejs/astronomy.js @@ -2356,7 +2356,7 @@ function Horizon(date, observer, ra, dec, refraction) { let une = [-sinlat * coslon, -sinlat * sinlon, coslat]; let uwe = [sinlon, -coslon, 0]; // Correct the vectors uze, une, uwe for the Earth's rotation by calculating - // sideral time. Call spin() for each uncorrected vector to rotate about + // sidereal time. Call spin() for each uncorrected vector to rotate about // the Earth's axis to yield corrected unit vectors uz, un, uw. // Multiply sidereal hours by -15 to convert to degrees and flip eastward // rotation of the Earth to westward apparent movement of objects with time. diff --git a/demo/python/astronomy.py b/demo/python/astronomy.py index f3778846..2d9276d9 100644 --- a/demo/python/astronomy.py +++ b/demo/python/astronomy.py @@ -1733,7 +1733,7 @@ def SiderealTime(time): ---------- time : Time The date and time for which to find GAST. - As an optimization, this function caches the sideral time value in `time`, + As an optimization, this function caches the sidereal time value in `time`, unless it has already been cached, in which case the cached value is reused. Returns @@ -5206,7 +5206,7 @@ def Horizon(time, observer, ra, dec, refraction): uwe = [sinlon, -coslon, 0.0] # Correct the vectors uze, une, uwe for the Earth's rotation by calculating - # sideral time. Call spin() for each uncorrected vector to rotate about + # sidereal time. Call spin() for each uncorrected vector to rotate about # the Earth's axis to yield corrected unit vectors uz, un, uw. # Multiply sidereal hours by -15 to convert to degrees and flip eastward # rotation of the Earth to westward apparent movement of objects with time. diff --git a/generate/ctest.c b/generate/ctest.c index 83602b2a..3bbef19a 100644 --- a/generate/ctest.c +++ b/generate/ctest.c @@ -1620,7 +1620,7 @@ static int RiseSet(void) double error_minutes, rms_minutes; double sum_minutes = 0.0; double max_minutes = 0.0; - const double nudge_days = 0.01; + const double nudge_days = 1.0e-5; /* just under 1 second */ observer.latitude = observer.longitude = observer.height = NAN; current_body = BODY_INVALID; @@ -1707,9 +1707,6 @@ static int RiseSet(void) s_search_date = Astronomy_AddDays(s_evt.time, nudge_days); } - if (a_dir != direction) - FAIL("C RiseSet(%s line %d): expected dir=%d but found %d\n", filename, lnum, a_dir, direction); - error_minutes = (24.0 * 60.0) * ABS(a_evt.time.tt - correct_date.tt); sum_minutes += error_minutes * error_minutes; if (error_minutes > max_minutes) @@ -1717,6 +1714,9 @@ static int RiseSet(void) if (error_minutes > 1.16) FAIL("C RiseSet(%s line %d): excessive prediction time error = %lg minutes.\n", filename, lnum, error_minutes); + + if (a_dir != direction) + FAIL("C RiseSet(%s line %d): expected dir=%d but found %d\n", filename, lnum, direction, a_dir); } rms_minutes = V(sqrt(sum_minutes / lnum)); diff --git a/generate/template/astronomy.c b/generate/template/astronomy.c index 1a53bdc0..15ff89eb 100644 --- a/generate/template/astronomy.c +++ b/generate/template/astronomy.c @@ -1572,7 +1572,7 @@ static double era(double ut) /* Earth Rotation Angle */ * @param time * The date and time for which to find GAST. * The parameter is passed by address because it can be modified by the call: - * As an optimization, this function caches the sideral time value in `time`, + * As an optimization, this function caches the sidereal time value in `time`, * unless it has already been cached, in which case the cached value is reused. * * @returns {number} @@ -4933,7 +4933,7 @@ astro_horizon_t Astronomy_Horizon( /* Correct the vectors uze, une, uwe for the Earth's rotation by calculating - sideral time. Call spin() for each uncorrected vector to rotate about + sidereal time. Call spin() for each uncorrected vector to rotate about the Earth's axis to yield corrected unit vectors uz, un, uw. Multiply sidereal hours by -15 to convert to degrees and flip eastward rotation of the Earth to westward apparent movement of objects with time. @@ -6392,21 +6392,33 @@ typedef struct int direction; // search option: +1 = rise, -1 = set astro_observer_t observer; double body_radius_au; - double altitude_bias; + double target_altitude; } context_altitude_t; -#define CALC_ALTITUDE(altitude,time) \ +#define ALTDIFF(altitude, time, context) \ do { \ - astro_func_result_t result = altitude_diff(&context, time); \ - if (result.status != ASTRO_SUCCESS) \ - return SearchError(result.status); \ - altitude = searchDir * result.value; \ + astro_func_result_t altdiff_result = altitude_diff(context, time); \ + if (altdiff_result.status != ASTRO_SUCCESS) \ + return SearchError(altdiff_result.status); \ + altitude = altdiff_result.value; \ } while (0) #define OUT_OF_BOUNDS(u) \ ((limitDays < 0.0) ? (u < startTime.ut + limitDays) : (u > startTime.ut + limitDays)) +static const double RISE_SET_DT = 0.42; /* 10.08 hours: Nyquist-safe for 22-hour period. */ + +typedef struct +{ + astro_status_t status; + astro_time_t tx; + astro_time_t ty; + double ax; + double ay; +} +ascent_t; + /** @endcond */ static astro_func_result_t altitude_diff(void *context, astro_time_t time) @@ -6414,6 +6426,7 @@ static astro_func_result_t altitude_diff(void *context, astro_time_t time) astro_func_result_t result; astro_equatorial_t ofdate; astro_horizon_t hor; + double altitude; const context_altitude_t *p = (const context_altitude_t *)context; ofdate = Astronomy_Equator(p->body, &time, p->observer, EQUATOR_OF_DATE, ABERRATION); @@ -6421,12 +6434,98 @@ static astro_func_result_t altitude_diff(void *context, astro_time_t time) return FuncError(ofdate.status); hor = Astronomy_Horizon(&time, p->observer, ofdate.ra, ofdate.dec, REFRACTION_NONE); - result.value = p->direction * (hor.altitude + RAD2DEG*asin(p->body_radius_au / ofdate.dist) + p->altitude_bias); + altitude = hor.altitude + RAD2DEG*asin(p->body_radius_au / ofdate.dist); + result.value = p->direction*(altitude - p->target_altitude); result.status = ASTRO_SUCCESS; return result; } +static ascent_t FindAscent( + context_altitude_t *context, + double max_deriv_alt, + astro_time_t t1, + astro_time_t t2, + double a1, + double a2) +{ + ascent_t ascent; + double da; + astro_time_t tm; + astro_func_result_t alt; + + /* See if we can find any time interval where the altitude-diff function */ + /* rises from non-positive to positive. */ + /* Return ASTRO_SUCCESS if we do, ASTRO_SEARCH_FAILURE if we don't, or some other status for error cases. */ + + if (a1 < 0.0) + { + if (a2 >= 0.0) + { + /* Trivial success case: the endpoints already rise through zero. */ + ascent.status = ASTRO_SUCCESS; + ascent.tx = t1; + ascent.ty = t2; + ascent.ax = a1; + ascent.ay = a2; + return ascent; + } + + /* + Search for a convex curve that ascends, then descends, through zero. + But first try to prune based on maximum altitude slope. + Both altitudes are negative. Is it possible to rise to a positive value in + from the higher of the two altitudes in half the time interval? + */ + da = fabs((a1 > a2) ? a1 : a2); + } + else /* a1 >= 0.0*/ + { + if (a2 < 0.0) + { + /* Trivial failure case: Assume Nyquist condition prevents an ascent. */ + memset(&ascent, 0, sizeof(ascent)); + ascent.status = ASTRO_SEARCH_FAILURE; + return ascent; + } + + /* + Search for concave curve that descends through zero, then rises again through zero. + See the mirror image case above for more details. + */ + da = fabs((a1 < a2) ? a1 : a2); + } + + if (da > max_deriv_alt*(t2.ut - t1.ut)/2) + { + /* Prune: the altitude cannot change fast enough to reach zero. */ + memset(&ascent, 0, sizeof(ascent)); + ascent.status = ASTRO_SEARCH_FAILURE; + return ascent; + } + + /* Bisect the time interval and evaluate the altitude at the midpoint. */ + tm = Astronomy_TimeFromDays((t1.ut + t2.ut)/2); + alt = altitude_diff(context, tm); + if (alt.status != ASTRO_SUCCESS) + { + memset(&ascent, 0, sizeof(ascent)); + ascent.status = alt.status; + return ascent; + } + + /* Recurse to the left interval. */ + ascent = FindAscent(context, max_deriv_alt, t1, tm, a1, alt.value); + if (ascent.status == ASTRO_SEARCH_FAILURE) + { + /* Recurse to the right interval. */ + ascent = FindAscent(context, max_deriv_alt, tm, t2, alt.value, a2); + } + + return ascent; +} + + static astro_search_result_t InternalSearchAltitude( astro_body_t body, astro_observer_t observer, @@ -6434,66 +6533,146 @@ static astro_search_result_t InternalSearchAltitude( astro_time_t startTime, double limitDays, double bodyRadiusAu, - double altitudeBias) + double targetAltitude) { astro_search_result_t result; context_altitude_t context; - astro_time_t t1, t2, st1, st2; - double a1, a2; + ascent_t ascent; + astro_time_t t1, t2; + double a1 = 0.0, a2 = 0.0; + double deriv_ra, deriv_dec, max_deriv_alt, latrad; const double searchDir = (limitDays < 0.0) ? -1.0 : +1.0; - const double deltaDays = searchDir / 100.0; + const double deltaDays = searchDir * RISE_SET_DT; - if (body == BODY_EARTH) + /* + Calculate the maximum possible rate that this body's altitude + could change [degrees/day] as seen by this observer. + First use experimentally determined extreme bounds by body + of how much topocentric RA and DEC can change per rate of time. + We need minimum possible d(RA)/dt, and maximum possible magnitude of d(DEC)/dt. + Conservatively, we round d(RA)/dt down, d(DEC)/dt up. + */ + switch (body) + { + case BODY_MOON: + deriv_ra = +4.5; + deriv_dec = +8.2; + break; + + case BODY_SUN: + deriv_ra = +0.8; + deriv_dec = +0.5; + break; + + case BODY_MERCURY: + deriv_ra = -1.6; + deriv_dec = +1.0; + break; + + case BODY_VENUS: + deriv_ra = -0.8; + deriv_dec = +0.6; + break; + + case BODY_MARS: + deriv_ra = -0.5; + deriv_dec = +0.4; + break; + + case BODY_JUPITER: + case BODY_SATURN: + case BODY_URANUS: + case BODY_NEPTUNE: + case BODY_PLUTO: + deriv_ra = -0.2; + deriv_dec = +0.2; + break; + + case BODY_EARTH: return SearchError(ASTRO_EARTH_NOT_ALLOWED); + default: + return SearchError(ASTRO_INVALID_BODY); + } + + latrad = DEG2RAD * observer.latitude; + max_deriv_alt = fabs(((360.0 / SOLAR_DAYS_PER_SIDEREAL_DAY) - deriv_ra)*cos(latrad)) + fabs(deriv_dec*sin(latrad)); + context.body = body; context.direction = (int)direction; context.observer = observer; context.body_radius_au = bodyRadiusAu; - context.altitude_bias = altitudeBias; + context.target_altitude = targetAltitude; + + /* We allow searching forward or backward in time. */ + /* But we want to keep t1 < t2, so we need a few if/else statements. */ + if (deltaDays < 0.0) + { + t2 = startTime; + ALTDIFF(a2, t2, &context); + } + else + { + t1 = startTime; + ALTDIFF(a1, t1, &context); + } - t1 = startTime; - CALC_ALTITUDE(a1, t1); for(;;) { - t2 = Astronomy_AddDays(t1, deltaDays); - CALC_ALTITUDE(a2, t2); - if (a1 <= 0.0 && a2 > 0.0) + if (deltaDays < 0.0) { - /* If we are searching backwards in time, we have to reverse time endpoints. */ - /* This causes the function to ascend through zero in the forward time direction. */ - if (limitDays < 0.0) - { - st1 = t2; - st2 = t1; - } - else - { - st1 = t1; - st2 = t2; - } - result = Astronomy_Search(altitude_diff, &context, st1, st2, 1.0); + t1 = Astronomy_AddDays(t2, deltaDays); + ALTDIFF(a1, t1, &context); + } + else + { + t2 = Astronomy_AddDays(t1, deltaDays); + ALTDIFF(a2, t2, &context); + } + + ascent = FindAscent(&context, max_deriv_alt, t1, t2, a1, a2); + if (ascent.status == ASTRO_SUCCESS) + { + /* We found a time interval [t1, t2] that contains an alt-diff */ + /* rising from negative a1 to non-negative a2. */ + /* Search for the time where the root occurs. */ + result = Astronomy_Search(altitude_diff, &context, ascent.tx, ascent.ty, 0.1); if (result.status == ASTRO_SUCCESS) { - /* If we found the rise/set event, but it falls outside limitDays, fail the search. */ + /* Now that we have a solution, we have to check whether it goes outside the time bounds. */ if (OUT_OF_BOUNDS(result.time.ut)) return SearchError(ASTRO_SEARCH_FAILURE); - /* The search succeeded. */ - return result; + return result; /* success! */ } - /* ASTRO_SEARCH_FAILURE is a special error that indicates a normal lack of finding a solution. */ - /* We keep attempting to find a rise/set event in that case. */ - if (result.status != ASTRO_SEARCH_FAILURE) - return result; /* The search failed in an unexpected way. */ + /* The search should have succeeded. Something is wrong with the ascent finder! */ + return SearchError(ASTRO_INTERNAL_ERROR); + } + else if (ascent.status == ASTRO_SEARCH_FAILURE) + { + /* There is no ascent in this interval, so keep searching. */ + } + else + { + /* An unexpected error occurred. Fail the search. */ + return SearchError(ascent.status); } - if (OUT_OF_BOUNDS(t2.ut)) - return SearchError(ASTRO_SEARCH_FAILURE); - - t1 = t2; - a1 = a2; + if (deltaDays < 0.0) + { + if (t1.ut < startTime.ut + limitDays) + return SearchError(ASTRO_SEARCH_FAILURE); + t2 = t1; + a2 = a1; + } + else + { + if (t2.ut > startTime.ut + limitDays) + return SearchError(ASTRO_SEARCH_FAILURE); + t1 = t2; + a1 = a2; + } } } @@ -6568,7 +6747,7 @@ astro_search_result_t Astronomy_SearchRiseSet( default: body_radius_au = 0.0; break; } - return InternalSearchAltitude(body, observer, direction, startTime, limitDays, body_radius_au, REFRACTION_NEAR_HORIZON); + return InternalSearchAltitude(body, observer, direction, startTime, limitDays, body_radius_au, -REFRACTION_NEAR_HORIZON); } diff --git a/generate/template/astronomy.cs b/generate/template/astronomy.cs index c44bddfd..7dc49ce9 100644 --- a/generate/template/astronomy.cs +++ b/generate/template/astronomy.cs @@ -3782,7 +3782,7 @@ private static double era(double ut) // Earth Rotation Angle /// /// /// The date and time for which to find GAST. - /// As an optimization, this function caches the sideral time value in `time`, + /// As an optimization, this function caches the sidereal time value in `time`, /// unless it has already been cached, in which case the cached value is reused. /// /// GAST in sidereal hours. @@ -5096,7 +5096,7 @@ public static Topocentric Horizon( var uwe = new AstroVector(sinlon, -coslon, 0.0, time); // Correct the vectors uze, une, uwe for the Earth's rotation by calculating - // sideral time. Call spin() for each uncorrected vector to rotate about + // sidereal time. Call spin() for each uncorrected vector to rotate about // the Earth's axis to yield corrected unit vectors uz, un, uw. // Multiply sidereal hours by -15 to convert to degrees and flip eastward // rotation of the Earth to westward apparent movement of objects with time. diff --git a/generate/template/astronomy.kt b/generate/template/astronomy.kt index 1badf8cc..b152815e 100644 --- a/generate/template/astronomy.kt +++ b/generate/template/astronomy.kt @@ -4075,7 +4075,7 @@ private fun earthRotationAngle(time: Time): Double { * * @param time * The date and time for which to find GAST. - * As an optimization, this function caches the sideral time value in `time`, + * As an optimization, this function caches the sidereal time value in `time`, * unless it has already been cached, in which case the cached value is reused. */ fun siderealTime(time: Time): Double { @@ -5183,7 +5183,7 @@ fun horizon( val uwe = Vector(sinlon, -coslon, 0.0, time) // Correct the vectors uze, une, uwe for the Earth's rotation by calculating - // sideral time. Call spin() for each uncorrected vector to rotate about + // sidereal time. Call spin() for each uncorrected vector to rotate about // the Earth's axis to yield corrected unit vectors uz, un, uw. // Multiply sidereal hours by -15 to convert to degrees and flip eastward // rotation of the Earth to westward apparent movement of objects with time. diff --git a/generate/template/astronomy.py b/generate/template/astronomy.py index 2239f8fb..1e396fa1 100644 --- a/generate/template/astronomy.py +++ b/generate/template/astronomy.py @@ -1197,7 +1197,7 @@ def SiderealTime(time): ---------- time : Time The date and time for which to find GAST. - As an optimization, this function caches the sideral time value in `time`, + As an optimization, this function caches the sidereal time value in `time`, unless it has already been cached, in which case the cached value is reused. Returns @@ -3164,7 +3164,7 @@ def Horizon(time, observer, ra, dec, refraction): uwe = [sinlon, -coslon, 0.0] # Correct the vectors uze, une, uwe for the Earth's rotation by calculating - # sideral time. Call spin() for each uncorrected vector to rotate about + # sidereal time. Call spin() for each uncorrected vector to rotate about # the Earth's axis to yield corrected unit vectors uz, un, uw. # Multiply sidereal hours by -15 to convert to degrees and flip eastward # rotation of the Earth to westward apparent movement of objects with time. diff --git a/generate/template/astronomy.ts b/generate/template/astronomy.ts index 3ff2d95f..24a22977 100644 --- a/generate/template/astronomy.ts +++ b/generate/template/astronomy.ts @@ -1745,7 +1745,7 @@ export function Horizon(date: FlexibleDateTime, observer: Observer, ra: number, let uwe: ArrayVector = [sinlon, -coslon, 0]; // Correct the vectors uze, une, uwe for the Earth's rotation by calculating - // sideral time. Call spin() for each uncorrected vector to rotate about + // sidereal time. Call spin() for each uncorrected vector to rotate about // the Earth's axis to yield corrected unit vectors uz, un, uw. // Multiply sidereal hours by -15 to convert to degrees and flip eastward // rotation of the Earth to westward apparent movement of objects with time. diff --git a/source/c/README.md b/source/c/README.md index bfd8358a..251ce337 100644 --- a/source/c/README.md +++ b/source/c/README.md @@ -2873,7 +2873,7 @@ Given a date and time, this function calculates the rotation of the Earth, repre | Type | Parameter | Description | | --- | --- | --- | -| astro_time_t * | `time` | The date and time for which to find GAST. The parameter is passed by address because it can be modified by the call: As an optimization, this function caches the sideral time value in `time`, unless it has already been cached, in which case the cached value is reused. | +| astro_time_t * | `time` | The date and time for which to find GAST. The parameter is passed by address because it can be modified by the call: As an optimization, this function caches the sidereal time value in `time`, unless it has already been cached, in which case the cached value is reused. | diff --git a/source/c/astronomy.c b/source/c/astronomy.c index 8450a08c..fb2f5323 100644 --- a/source/c/astronomy.c +++ b/source/c/astronomy.c @@ -1656,7 +1656,7 @@ static double era(double ut) /* Earth Rotation Angle */ * @param time * The date and time for which to find GAST. * The parameter is passed by address because it can be modified by the call: - * As an optimization, this function caches the sideral time value in `time`, + * As an optimization, this function caches the sidereal time value in `time`, * unless it has already been cached, in which case the cached value is reused. * * @returns {number} @@ -6172,7 +6172,7 @@ astro_horizon_t Astronomy_Horizon( /* Correct the vectors uze, une, uwe for the Earth's rotation by calculating - sideral time. Call spin() for each uncorrected vector to rotate about + sidereal time. Call spin() for each uncorrected vector to rotate about the Earth's axis to yield corrected unit vectors uz, un, uw. Multiply sidereal hours by -15 to convert to degrees and flip eastward rotation of the Earth to westward apparent movement of objects with time. @@ -7631,21 +7631,33 @@ typedef struct int direction; // search option: +1 = rise, -1 = set astro_observer_t observer; double body_radius_au; - double altitude_bias; + double target_altitude; } context_altitude_t; -#define CALC_ALTITUDE(altitude,time) \ +#define ALTDIFF(altitude, time, context) \ do { \ - astro_func_result_t result = altitude_diff(&context, time); \ - if (result.status != ASTRO_SUCCESS) \ - return SearchError(result.status); \ - altitude = searchDir * result.value; \ + astro_func_result_t altdiff_result = altitude_diff(context, time); \ + if (altdiff_result.status != ASTRO_SUCCESS) \ + return SearchError(altdiff_result.status); \ + altitude = altdiff_result.value; \ } while (0) #define OUT_OF_BOUNDS(u) \ ((limitDays < 0.0) ? (u < startTime.ut + limitDays) : (u > startTime.ut + limitDays)) +static const double RISE_SET_DT = 0.42; /* 10.08 hours: Nyquist-safe for 22-hour period. */ + +typedef struct +{ + astro_status_t status; + astro_time_t tx; + astro_time_t ty; + double ax; + double ay; +} +ascent_t; + /** @endcond */ static astro_func_result_t altitude_diff(void *context, astro_time_t time) @@ -7653,6 +7665,7 @@ static astro_func_result_t altitude_diff(void *context, astro_time_t time) astro_func_result_t result; astro_equatorial_t ofdate; astro_horizon_t hor; + double altitude; const context_altitude_t *p = (const context_altitude_t *)context; ofdate = Astronomy_Equator(p->body, &time, p->observer, EQUATOR_OF_DATE, ABERRATION); @@ -7660,12 +7673,98 @@ static astro_func_result_t altitude_diff(void *context, astro_time_t time) return FuncError(ofdate.status); hor = Astronomy_Horizon(&time, p->observer, ofdate.ra, ofdate.dec, REFRACTION_NONE); - result.value = p->direction * (hor.altitude + RAD2DEG*asin(p->body_radius_au / ofdate.dist) + p->altitude_bias); + altitude = hor.altitude + RAD2DEG*asin(p->body_radius_au / ofdate.dist); + result.value = p->direction*(altitude - p->target_altitude); result.status = ASTRO_SUCCESS; return result; } +static ascent_t FindAscent( + context_altitude_t *context, + double max_deriv_alt, + astro_time_t t1, + astro_time_t t2, + double a1, + double a2) +{ + ascent_t ascent; + double da; + astro_time_t tm; + astro_func_result_t alt; + + /* See if we can find any time interval where the altitude-diff function */ + /* rises from non-positive to positive. */ + /* Return ASTRO_SUCCESS if we do, ASTRO_SEARCH_FAILURE if we don't, or some other status for error cases. */ + + if (a1 < 0.0) + { + if (a2 >= 0.0) + { + /* Trivial success case: the endpoints already rise through zero. */ + ascent.status = ASTRO_SUCCESS; + ascent.tx = t1; + ascent.ty = t2; + ascent.ax = a1; + ascent.ay = a2; + return ascent; + } + + /* + Search for a convex curve that ascends, then descends, through zero. + But first try to prune based on maximum altitude slope. + Both altitudes are negative. Is it possible to rise to a positive value in + from the higher of the two altitudes in half the time interval? + */ + da = fabs((a1 > a2) ? a1 : a2); + } + else /* a1 >= 0.0*/ + { + if (a2 < 0.0) + { + /* Trivial failure case: Assume Nyquist condition prevents an ascent. */ + memset(&ascent, 0, sizeof(ascent)); + ascent.status = ASTRO_SEARCH_FAILURE; + return ascent; + } + + /* + Search for concave curve that descends through zero, then rises again through zero. + See the mirror image case above for more details. + */ + da = fabs((a1 < a2) ? a1 : a2); + } + + if (da > max_deriv_alt*(t2.ut - t1.ut)/2) + { + /* Prune: the altitude cannot change fast enough to reach zero. */ + memset(&ascent, 0, sizeof(ascent)); + ascent.status = ASTRO_SEARCH_FAILURE; + return ascent; + } + + /* Bisect the time interval and evaluate the altitude at the midpoint. */ + tm = Astronomy_TimeFromDays((t1.ut + t2.ut)/2); + alt = altitude_diff(context, tm); + if (alt.status != ASTRO_SUCCESS) + { + memset(&ascent, 0, sizeof(ascent)); + ascent.status = alt.status; + return ascent; + } + + /* Recurse to the left interval. */ + ascent = FindAscent(context, max_deriv_alt, t1, tm, a1, alt.value); + if (ascent.status == ASTRO_SEARCH_FAILURE) + { + /* Recurse to the right interval. */ + ascent = FindAscent(context, max_deriv_alt, tm, t2, alt.value, a2); + } + + return ascent; +} + + static astro_search_result_t InternalSearchAltitude( astro_body_t body, astro_observer_t observer, @@ -7673,66 +7772,146 @@ static astro_search_result_t InternalSearchAltitude( astro_time_t startTime, double limitDays, double bodyRadiusAu, - double altitudeBias) + double targetAltitude) { astro_search_result_t result; context_altitude_t context; - astro_time_t t1, t2, st1, st2; - double a1, a2; + ascent_t ascent; + astro_time_t t1, t2; + double a1 = 0.0, a2 = 0.0; + double deriv_ra, deriv_dec, max_deriv_alt, latrad; const double searchDir = (limitDays < 0.0) ? -1.0 : +1.0; - const double deltaDays = searchDir / 100.0; + const double deltaDays = searchDir * RISE_SET_DT; - if (body == BODY_EARTH) + /* + Calculate the maximum possible rate that this body's altitude + could change [degrees/day] as seen by this observer. + First use experimentally determined extreme bounds by body + of how much topocentric RA and DEC can change per rate of time. + We need minimum possible d(RA)/dt, and maximum possible magnitude of d(DEC)/dt. + Conservatively, we round d(RA)/dt down, d(DEC)/dt up. + */ + switch (body) + { + case BODY_MOON: + deriv_ra = +4.5; + deriv_dec = +8.2; + break; + + case BODY_SUN: + deriv_ra = +0.8; + deriv_dec = +0.5; + break; + + case BODY_MERCURY: + deriv_ra = -1.6; + deriv_dec = +1.0; + break; + + case BODY_VENUS: + deriv_ra = -0.8; + deriv_dec = +0.6; + break; + + case BODY_MARS: + deriv_ra = -0.5; + deriv_dec = +0.4; + break; + + case BODY_JUPITER: + case BODY_SATURN: + case BODY_URANUS: + case BODY_NEPTUNE: + case BODY_PLUTO: + deriv_ra = -0.2; + deriv_dec = +0.2; + break; + + case BODY_EARTH: return SearchError(ASTRO_EARTH_NOT_ALLOWED); + default: + return SearchError(ASTRO_INVALID_BODY); + } + + latrad = DEG2RAD * observer.latitude; + max_deriv_alt = fabs(((360.0 / SOLAR_DAYS_PER_SIDEREAL_DAY) - deriv_ra)*cos(latrad)) + fabs(deriv_dec*sin(latrad)); + context.body = body; context.direction = (int)direction; context.observer = observer; context.body_radius_au = bodyRadiusAu; - context.altitude_bias = altitudeBias; + context.target_altitude = targetAltitude; + + /* We allow searching forward or backward in time. */ + /* But we want to keep t1 < t2, so we need a few if/else statements. */ + if (deltaDays < 0.0) + { + t2 = startTime; + ALTDIFF(a2, t2, &context); + } + else + { + t1 = startTime; + ALTDIFF(a1, t1, &context); + } - t1 = startTime; - CALC_ALTITUDE(a1, t1); for(;;) { - t2 = Astronomy_AddDays(t1, deltaDays); - CALC_ALTITUDE(a2, t2); - if (a1 <= 0.0 && a2 > 0.0) + if (deltaDays < 0.0) { - /* If we are searching backwards in time, we have to reverse time endpoints. */ - /* This causes the function to ascend through zero in the forward time direction. */ - if (limitDays < 0.0) - { - st1 = t2; - st2 = t1; - } - else - { - st1 = t1; - st2 = t2; - } - result = Astronomy_Search(altitude_diff, &context, st1, st2, 1.0); + t1 = Astronomy_AddDays(t2, deltaDays); + ALTDIFF(a1, t1, &context); + } + else + { + t2 = Astronomy_AddDays(t1, deltaDays); + ALTDIFF(a2, t2, &context); + } + + ascent = FindAscent(&context, max_deriv_alt, t1, t2, a1, a2); + if (ascent.status == ASTRO_SUCCESS) + { + /* We found a time interval [t1, t2] that contains an alt-diff */ + /* rising from negative a1 to non-negative a2. */ + /* Search for the time where the root occurs. */ + result = Astronomy_Search(altitude_diff, &context, ascent.tx, ascent.ty, 0.1); if (result.status == ASTRO_SUCCESS) { - /* If we found the rise/set event, but it falls outside limitDays, fail the search. */ + /* Now that we have a solution, we have to check whether it goes outside the time bounds. */ if (OUT_OF_BOUNDS(result.time.ut)) return SearchError(ASTRO_SEARCH_FAILURE); - /* The search succeeded. */ - return result; + return result; /* success! */ } - /* ASTRO_SEARCH_FAILURE is a special error that indicates a normal lack of finding a solution. */ - /* We keep attempting to find a rise/set event in that case. */ - if (result.status != ASTRO_SEARCH_FAILURE) - return result; /* The search failed in an unexpected way. */ + /* The search should have succeeded. Something is wrong with the ascent finder! */ + return SearchError(ASTRO_INTERNAL_ERROR); + } + else if (ascent.status == ASTRO_SEARCH_FAILURE) + { + /* There is no ascent in this interval, so keep searching. */ + } + else + { + /* An unexpected error occurred. Fail the search. */ + return SearchError(ascent.status); } - if (OUT_OF_BOUNDS(t2.ut)) - return SearchError(ASTRO_SEARCH_FAILURE); - - t1 = t2; - a1 = a2; + if (deltaDays < 0.0) + { + if (t1.ut < startTime.ut + limitDays) + return SearchError(ASTRO_SEARCH_FAILURE); + t2 = t1; + a2 = a1; + } + else + { + if (t2.ut > startTime.ut + limitDays) + return SearchError(ASTRO_SEARCH_FAILURE); + t1 = t2; + a1 = a2; + } } } @@ -7807,7 +7986,7 @@ astro_search_result_t Astronomy_SearchRiseSet( default: body_radius_au = 0.0; break; } - return InternalSearchAltitude(body, observer, direction, startTime, limitDays, body_radius_au, REFRACTION_NEAR_HORIZON); + return InternalSearchAltitude(body, observer, direction, startTime, limitDays, body_radius_au, -REFRACTION_NEAR_HORIZON); } diff --git a/source/csharp/README.md b/source/csharp/README.md index 7d023a13..1a112007 100644 --- a/source/csharp/README.md +++ b/source/csharp/README.md @@ -2183,7 +2183,7 @@ To convert to degrees, multiply the return value by 15. | Type | Parameter | Description | | --- | --- | --- | -| [`AstroTime`](#AstroTime) | `time` | The date and time for which to find GAST. As an optimization, this function caches the sideral time value in `time`, unless it has already been cached, in which case the cached value is reused. | +| [`AstroTime`](#AstroTime) | `time` | The date and time for which to find GAST. As an optimization, this function caches the sidereal time value in `time`, unless it has already been cached, in which case the cached value is reused. | **Returns:** GAST in sidereal hours. diff --git a/source/csharp/astronomy.cs b/source/csharp/astronomy.cs index eedfdc1e..90c4783a 100644 --- a/source/csharp/astronomy.cs +++ b/source/csharp/astronomy.cs @@ -4994,7 +4994,7 @@ private static double era(double ut) // Earth Rotation Angle /// /// /// The date and time for which to find GAST. - /// As an optimization, this function caches the sideral time value in `time`, + /// As an optimization, this function caches the sidereal time value in `time`, /// unless it has already been cached, in which case the cached value is reused. /// /// GAST in sidereal hours. @@ -6308,7 +6308,7 @@ public static Topocentric Horizon( var uwe = new AstroVector(sinlon, -coslon, 0.0, time); // Correct the vectors uze, une, uwe for the Earth's rotation by calculating - // sideral time. Call spin() for each uncorrected vector to rotate about + // sidereal time. Call spin() for each uncorrected vector to rotate about // the Earth's axis to yield corrected unit vectors uz, un, uw. // Multiply sidereal hours by -15 to convert to degrees and flip eastward // rotation of the Earth to westward apparent movement of objects with time. diff --git a/source/js/astronomy.browser.js b/source/js/astronomy.browser.js index ed408236..df6732cc 100644 --- a/source/js/astronomy.browser.js +++ b/source/js/astronomy.browser.js @@ -2357,7 +2357,7 @@ function Horizon(date, observer, ra, dec, refraction) { let une = [-sinlat * coslon, -sinlat * sinlon, coslat]; let uwe = [sinlon, -coslon, 0]; // Correct the vectors uze, une, uwe for the Earth's rotation by calculating - // sideral time. Call spin() for each uncorrected vector to rotate about + // sidereal time. Call spin() for each uncorrected vector to rotate about // the Earth's axis to yield corrected unit vectors uz, un, uw. // Multiply sidereal hours by -15 to convert to degrees and flip eastward // rotation of the Earth to westward apparent movement of objects with time. diff --git a/source/js/astronomy.js b/source/js/astronomy.js index 3bd02543..24e6ba41 100644 --- a/source/js/astronomy.js +++ b/source/js/astronomy.js @@ -2356,7 +2356,7 @@ function Horizon(date, observer, ra, dec, refraction) { let une = [-sinlat * coslon, -sinlat * sinlon, coslat]; let uwe = [sinlon, -coslon, 0]; // Correct the vectors uze, une, uwe for the Earth's rotation by calculating - // sideral time. Call spin() for each uncorrected vector to rotate about + // sidereal time. Call spin() for each uncorrected vector to rotate about // the Earth's axis to yield corrected unit vectors uz, un, uw. // Multiply sidereal hours by -15 to convert to degrees and flip eastward // rotation of the Earth to westward apparent movement of objects with time. diff --git a/source/js/astronomy.ts b/source/js/astronomy.ts index 76888444..794b46f6 100644 --- a/source/js/astronomy.ts +++ b/source/js/astronomy.ts @@ -2556,7 +2556,7 @@ export function Horizon(date: FlexibleDateTime, observer: Observer, ra: number, let uwe: ArrayVector = [sinlon, -coslon, 0]; // Correct the vectors uze, une, uwe for the Earth's rotation by calculating - // sideral time. Call spin() for each uncorrected vector to rotate about + // sidereal time. Call spin() for each uncorrected vector to rotate about // the Earth's axis to yield corrected unit vectors uz, un, uw. // Multiply sidereal hours by -15 to convert to degrees and flip eastward // rotation of the Earth to westward apparent movement of objects with time. diff --git a/source/js/esm/astronomy.js b/source/js/esm/astronomy.js index d0dbd4e8..dc1cdd25 100644 --- a/source/js/esm/astronomy.js +++ b/source/js/esm/astronomy.js @@ -2333,7 +2333,7 @@ export function Horizon(date, observer, ra, dec, refraction) { let une = [-sinlat * coslon, -sinlat * sinlon, coslat]; let uwe = [sinlon, -coslon, 0]; // Correct the vectors uze, une, uwe for the Earth's rotation by calculating - // sideral time. Call spin() for each uncorrected vector to rotate about + // sidereal time. Call spin() for each uncorrected vector to rotate about // the Earth's axis to yield corrected unit vectors uz, un, uw. // Multiply sidereal hours by -15 to convert to degrees and flip eastward // rotation of the Earth to westward apparent movement of objects with time. diff --git a/source/kotlin/src/main/kotlin/io/github/cosinekitty/astronomy/astronomy.kt b/source/kotlin/src/main/kotlin/io/github/cosinekitty/astronomy/astronomy.kt index 2247d88e..1e643038 100644 --- a/source/kotlin/src/main/kotlin/io/github/cosinekitty/astronomy/astronomy.kt +++ b/source/kotlin/src/main/kotlin/io/github/cosinekitty/astronomy/astronomy.kt @@ -4075,7 +4075,7 @@ private fun earthRotationAngle(time: Time): Double { * * @param time * The date and time for which to find GAST. - * As an optimization, this function caches the sideral time value in `time`, + * As an optimization, this function caches the sidereal time value in `time`, * unless it has already been cached, in which case the cached value is reused. */ fun siderealTime(time: Time): Double { @@ -5183,7 +5183,7 @@ fun horizon( val uwe = Vector(sinlon, -coslon, 0.0, time) // Correct the vectors uze, une, uwe for the Earth's rotation by calculating - // sideral time. Call spin() for each uncorrected vector to rotate about + // sidereal time. Call spin() for each uncorrected vector to rotate about // the Earth's axis to yield corrected unit vectors uz, un, uw. // Multiply sidereal hours by -15 to convert to degrees and flip eastward // rotation of the Earth to westward apparent movement of objects with time. diff --git a/source/python/README.md b/source/python/README.md index 663732bb..88f48d12 100644 --- a/source/python/README.md +++ b/source/python/README.md @@ -3242,7 +3242,7 @@ To convert to degrees, multiply the return value by 15. | Type | Parameter | Description | | --- | --- | --- | -| [`Time`](#Time) | `time` | The date and time for which to find GAST. As an optimization, this function caches the sideral time value in `time`, unless it has already been cached, in which case the cached value is reused. | +| [`Time`](#Time) | `time` | The date and time for which to find GAST. As an optimization, this function caches the sidereal time value in `time`, unless it has already been cached, in which case the cached value is reused. | **Returns**: `float` GAST expressed in sidereal hours. diff --git a/source/python/astronomy/astronomy.py b/source/python/astronomy/astronomy.py index f3778846..2d9276d9 100644 --- a/source/python/astronomy/astronomy.py +++ b/source/python/astronomy/astronomy.py @@ -1733,7 +1733,7 @@ def SiderealTime(time): ---------- time : Time The date and time for which to find GAST. - As an optimization, this function caches the sideral time value in `time`, + As an optimization, this function caches the sidereal time value in `time`, unless it has already been cached, in which case the cached value is reused. Returns @@ -5206,7 +5206,7 @@ def Horizon(time, observer, ra, dec, refraction): uwe = [sinlon, -coslon, 0.0] # Correct the vectors uze, une, uwe for the Earth's rotation by calculating - # sideral time. Call spin() for each uncorrected vector to rotate about + # sidereal time. Call spin() for each uncorrected vector to rotate about # the Earth's axis to yield corrected unit vectors uz, un, uw. # Multiply sidereal hours by -15 to convert to degrees and flip eastward # rotation of the Earth to westward apparent movement of objects with time. From bfc7c80309d7033bca5ea8fe76eb892710d6de66 Mon Sep 17 00:00:00 2001 From: Don Cross Date: Sat, 12 Nov 2022 21:52:38 -0500 Subject: [PATCH 07/16] C: Cleanup of new function FindAscent(). --- generate/template/astronomy.c | 58 ++++++++++++++--------------------- source/c/astronomy.c | 58 ++++++++++++++--------------------- 2 files changed, 46 insertions(+), 70 deletions(-) diff --git a/generate/template/astronomy.c b/generate/template/astronomy.c index 15ff89eb..3cfe7a2f 100644 --- a/generate/template/astronomy.c +++ b/generate/template/astronomy.c @@ -6450,7 +6450,7 @@ static ascent_t FindAscent( double a2) { ascent_t ascent; - double da; + double da, dt, abs_a1, abs_a2; astro_time_t tm; astro_func_result_t alt; @@ -6458,45 +6458,33 @@ static ascent_t FindAscent( /* rises from non-positive to positive. */ /* Return ASTRO_SUCCESS if we do, ASTRO_SEARCH_FAILURE if we don't, or some other status for error cases. */ - if (a1 < 0.0) + if (a1 < 0.0 && a2 >= 0.0) { - if (a2 >= 0.0) - { - /* Trivial success case: the endpoints already rise through zero. */ - ascent.status = ASTRO_SUCCESS; - ascent.tx = t1; - ascent.ty = t2; - ascent.ax = a1; - ascent.ay = a2; - return ascent; - } - - /* - Search for a convex curve that ascends, then descends, through zero. - But first try to prune based on maximum altitude slope. - Both altitudes are negative. Is it possible to rise to a positive value in - from the higher of the two altitudes in half the time interval? - */ - da = fabs((a1 > a2) ? a1 : a2); + /* Trivial success case: the endpoints already rise through zero. */ + ascent.status = ASTRO_SUCCESS; + ascent.tx = t1; + ascent.ty = t2; + ascent.ax = a1; + ascent.ay = a2; + return ascent; } - else /* a1 >= 0.0*/ - { - if (a2 < 0.0) - { - /* Trivial failure case: Assume Nyquist condition prevents an ascent. */ - memset(&ascent, 0, sizeof(ascent)); - ascent.status = ASTRO_SEARCH_FAILURE; - return ascent; - } - /* - Search for concave curve that descends through zero, then rises again through zero. - See the mirror image case above for more details. - */ - da = fabs((a1 < a2) ? a1 : a2); + if (a1 >= 0.0 && a2 < 0.0) + { + /* Trivial failure case: Assume Nyquist condition prevents an ascent. */ + memset(&ascent, 0, sizeof(ascent)); + ascent.status = ASTRO_SEARCH_FAILURE; + return ascent; } - if (da > max_deriv_alt*(t2.ut - t1.ut)/2) + /* Is it possible to reach zero from the altitude that is closer to zero? */ + abs_a1 = fabs(a1); + abs_a2 = fabs(a2); + da = (abs_a1 < abs_a2) ? abs_a1 : abs_a2; + + /* Tricky: dt = half the interval, because the farther altitude would take at least as long. */ + dt = (t2.ut - t1.ut) / 2.0; + if (da > max_deriv_alt * dt) { /* Prune: the altitude cannot change fast enough to reach zero. */ memset(&ascent, 0, sizeof(ascent)); diff --git a/source/c/astronomy.c b/source/c/astronomy.c index fb2f5323..8a7e55d6 100644 --- a/source/c/astronomy.c +++ b/source/c/astronomy.c @@ -7689,7 +7689,7 @@ static ascent_t FindAscent( double a2) { ascent_t ascent; - double da; + double da, dt, abs_a1, abs_a2; astro_time_t tm; astro_func_result_t alt; @@ -7697,45 +7697,33 @@ static ascent_t FindAscent( /* rises from non-positive to positive. */ /* Return ASTRO_SUCCESS if we do, ASTRO_SEARCH_FAILURE if we don't, or some other status for error cases. */ - if (a1 < 0.0) + if (a1 < 0.0 && a2 >= 0.0) { - if (a2 >= 0.0) - { - /* Trivial success case: the endpoints already rise through zero. */ - ascent.status = ASTRO_SUCCESS; - ascent.tx = t1; - ascent.ty = t2; - ascent.ax = a1; - ascent.ay = a2; - return ascent; - } - - /* - Search for a convex curve that ascends, then descends, through zero. - But first try to prune based on maximum altitude slope. - Both altitudes are negative. Is it possible to rise to a positive value in - from the higher of the two altitudes in half the time interval? - */ - da = fabs((a1 > a2) ? a1 : a2); + /* Trivial success case: the endpoints already rise through zero. */ + ascent.status = ASTRO_SUCCESS; + ascent.tx = t1; + ascent.ty = t2; + ascent.ax = a1; + ascent.ay = a2; + return ascent; } - else /* a1 >= 0.0*/ - { - if (a2 < 0.0) - { - /* Trivial failure case: Assume Nyquist condition prevents an ascent. */ - memset(&ascent, 0, sizeof(ascent)); - ascent.status = ASTRO_SEARCH_FAILURE; - return ascent; - } - /* - Search for concave curve that descends through zero, then rises again through zero. - See the mirror image case above for more details. - */ - da = fabs((a1 < a2) ? a1 : a2); + if (a1 >= 0.0 && a2 < 0.0) + { + /* Trivial failure case: Assume Nyquist condition prevents an ascent. */ + memset(&ascent, 0, sizeof(ascent)); + ascent.status = ASTRO_SEARCH_FAILURE; + return ascent; } - if (da > max_deriv_alt*(t2.ut - t1.ut)/2) + /* Is it possible to reach zero from the altitude that is closer to zero? */ + abs_a1 = fabs(a1); + abs_a2 = fabs(a2); + da = (abs_a1 < abs_a2) ? abs_a1 : abs_a2; + + /* Tricky: dt = half the interval, because the farther altitude would take at least as long. */ + dt = (t2.ut - t1.ut) / 2.0; + if (da > max_deriv_alt * dt) { /* Prune: the altitude cannot change fast enough to reach zero. */ memset(&ascent, 0, sizeof(ascent)); From 8498d23c73f17dfa43c1e9aa1b4f662acf05e68d Mon Sep 17 00:00:00 2001 From: Don Cross Date: Sun, 13 Nov 2022 09:36:48 -0500 Subject: [PATCH 08/16] C RiseSet: print performance stats. Track the maximum recursion depth in FindAscent. Count the number of times the altitude_diff function is called. These are important performance statistics that I want to measure, so I can try a few optimization ideas. Current results: don@spearmint:~/github/astronomy/generate $ ./generate source && ./ctbuild && ./ctest -v riseset ./ctbuild: C compiler = gcc ./ctbuild: Built 'ctest' program. C RiseSet: Moon lat=-61.0 lon=103.0 C RiseSet: Moon lat=-45.0 lon=150.0 C RiseSet: Moon lat=29.0 lon=-81.0 C RiseSet: Moon lat=80.0 lon=130.0 C RiseSet: Moon lat=83.0 lon=105.0 C RiseSet: Moon lat=84.0 lon=125.0 C RiseSet: Moon lat=85.0 lon=135.0 C RiseSet: Moon lat=85.0 lon=140.0 C RiseSet: Sun lat=-90.0 lon=0.0 C RiseSet: Sun lat=-88.0 lon=45.0 C RiseSet: Sun lat=-60.0 lon=-150.0 C RiseSet: Sun lat=15.0 lon=75.0 C RiseSet: Sun lat=29.0 lon=-81.0 C RiseSet: Sun lat=60.0 lon=0.0 C RiseSet: Sun lat=89.0 lon=30.0 C RiseSet: Sun lat=90.0 lon=0.0 C RiseSet: passed 5909 lines: time errors in minutes: rms=0.2904, max=1.1541, recur=19, altcount=171438 --- generate/ctest.c | 7 ++++++- generate/template/astronomy.c | 16 +++++++++++++--- source/c/astronomy.c | 16 +++++++++++++--- 3 files changed, 32 insertions(+), 7 deletions(-) diff --git a/generate/ctest.c b/generate/ctest.c index 3bbef19a..0b71bad2 100644 --- a/generate/ctest.c +++ b/generate/ctest.c @@ -1621,6 +1621,11 @@ static int RiseSet(void) double sum_minutes = 0.0; double max_minutes = 0.0; const double nudge_days = 1.0e-5; /* just under 1 second */ + extern int _AltitudeDiffCallCount; /* undocumented global var used for performance testing only */ + extern int _FindAscentMaxRecursionDepth; /* undocumented global var used for performance testing only */ + + _AltitudeDiffCallCount = 0; + _FindAscentMaxRecursionDepth = -1; observer.latitude = observer.longitude = observer.height = NAN; current_body = BODY_INVALID; @@ -1720,7 +1725,7 @@ static int RiseSet(void) } rms_minutes = V(sqrt(sum_minutes / lnum)); - printf("C RiseSet: passed %d lines: time errors in minutes: rms=%0.4lf, max=%0.4lf\n", lnum, rms_minutes, max_minutes); + printf("C RiseSet: passed %d lines: time errors in minutes: rms=%0.4lf, max=%0.4lf, recur=%d, altcount=%d\n", lnum, rms_minutes, max_minutes, _FindAscentMaxRecursionDepth, _AltitudeDiffCallCount); error = 0; fail: if (infile != NULL) fclose(infile); diff --git a/generate/template/astronomy.c b/generate/template/astronomy.c index 3cfe7a2f..20c8c5a9 100644 --- a/generate/template/astronomy.c +++ b/generate/template/astronomy.c @@ -6419,6 +6419,9 @@ typedef struct } ascent_t; +int _AltitudeDiffCallCount; +int _FindAscentMaxRecursionDepth; + /** @endcond */ static astro_func_result_t altitude_diff(void *context, astro_time_t time) @@ -6429,6 +6432,8 @@ static astro_func_result_t altitude_diff(void *context, astro_time_t time) double altitude; const context_altitude_t *p = (const context_altitude_t *)context; + ++_AltitudeDiffCallCount; /* for internal performance testing */ + ofdate = Astronomy_Equator(p->body, &time, p->observer, EQUATOR_OF_DATE, ABERRATION); if (ofdate.status != ASTRO_SUCCESS) return FuncError(ofdate.status); @@ -6442,6 +6447,7 @@ static astro_func_result_t altitude_diff(void *context, astro_time_t time) static ascent_t FindAscent( + int depth, context_altitude_t *context, double max_deriv_alt, astro_time_t t1, @@ -6454,6 +6460,10 @@ static ascent_t FindAscent( astro_time_t tm; astro_func_result_t alt; + /* For internal performance testing. */ + if (depth > _FindAscentMaxRecursionDepth) + _FindAscentMaxRecursionDepth = depth; + /* See if we can find any time interval where the altitude-diff function */ /* rises from non-positive to positive. */ /* Return ASTRO_SUCCESS if we do, ASTRO_SEARCH_FAILURE if we don't, or some other status for error cases. */ @@ -6503,11 +6513,11 @@ static ascent_t FindAscent( } /* Recurse to the left interval. */ - ascent = FindAscent(context, max_deriv_alt, t1, tm, a1, alt.value); + ascent = FindAscent(1+depth, context, max_deriv_alt, t1, tm, a1, alt.value); if (ascent.status == ASTRO_SEARCH_FAILURE) { /* Recurse to the right interval. */ - ascent = FindAscent(context, max_deriv_alt, tm, t2, alt.value, a2); + ascent = FindAscent(1+depth, context, max_deriv_alt, tm, t2, alt.value, a2); } return ascent; @@ -6618,7 +6628,7 @@ static astro_search_result_t InternalSearchAltitude( ALTDIFF(a2, t2, &context); } - ascent = FindAscent(&context, max_deriv_alt, t1, t2, a1, a2); + ascent = FindAscent(0, &context, max_deriv_alt, t1, t2, a1, a2); if (ascent.status == ASTRO_SUCCESS) { /* We found a time interval [t1, t2] that contains an alt-diff */ diff --git a/source/c/astronomy.c b/source/c/astronomy.c index 8a7e55d6..afcbce99 100644 --- a/source/c/astronomy.c +++ b/source/c/astronomy.c @@ -7658,6 +7658,9 @@ typedef struct } ascent_t; +int _AltitudeDiffCallCount; +int _FindAscentMaxRecursionDepth; + /** @endcond */ static astro_func_result_t altitude_diff(void *context, astro_time_t time) @@ -7668,6 +7671,8 @@ static astro_func_result_t altitude_diff(void *context, astro_time_t time) double altitude; const context_altitude_t *p = (const context_altitude_t *)context; + ++_AltitudeDiffCallCount; /* for internal performance testing */ + ofdate = Astronomy_Equator(p->body, &time, p->observer, EQUATOR_OF_DATE, ABERRATION); if (ofdate.status != ASTRO_SUCCESS) return FuncError(ofdate.status); @@ -7681,6 +7686,7 @@ static astro_func_result_t altitude_diff(void *context, astro_time_t time) static ascent_t FindAscent( + int depth, context_altitude_t *context, double max_deriv_alt, astro_time_t t1, @@ -7693,6 +7699,10 @@ static ascent_t FindAscent( astro_time_t tm; astro_func_result_t alt; + /* For internal performance testing. */ + if (depth > _FindAscentMaxRecursionDepth) + _FindAscentMaxRecursionDepth = depth; + /* See if we can find any time interval where the altitude-diff function */ /* rises from non-positive to positive. */ /* Return ASTRO_SUCCESS if we do, ASTRO_SEARCH_FAILURE if we don't, or some other status for error cases. */ @@ -7742,11 +7752,11 @@ static ascent_t FindAscent( } /* Recurse to the left interval. */ - ascent = FindAscent(context, max_deriv_alt, t1, tm, a1, alt.value); + ascent = FindAscent(1+depth, context, max_deriv_alt, t1, tm, a1, alt.value); if (ascent.status == ASTRO_SEARCH_FAILURE) { /* Recurse to the right interval. */ - ascent = FindAscent(context, max_deriv_alt, tm, t2, alt.value, a2); + ascent = FindAscent(1+depth, context, max_deriv_alt, tm, t2, alt.value, a2); } return ascent; @@ -7857,7 +7867,7 @@ static astro_search_result_t InternalSearchAltitude( ALTDIFF(a2, t2, &context); } - ascent = FindAscent(&context, max_deriv_alt, t1, t2, a1, a2); + ascent = FindAscent(0, &context, max_deriv_alt, t1, t2, a1, a2); if (ascent.status == ASTRO_SUCCESS) { /* We found a time interval [t1, t2] that contains an alt-diff */ From a5995e2ee0e63a26c11f4c7ba6473f9e678f7914 Mon Sep 17 00:00:00 2001 From: Don Cross Date: Sun, 13 Nov 2022 10:32:47 -0500 Subject: [PATCH 09/16] C RiseSet: improved efficiency. Do not recurse deeper when any solution would have a rise+set or a set+rise consecutively within one second. This would risk confusing the search, which has a 0.1 second tolerance for convergence. For practical reasons, such events are dubious anyway, being swamped by unpredictable atmospheric refraction. Plus it's just faster to not have to recurse so deeply. Add a safety valve that fails the search if recursion gets deeper than the above tolerance would ever allow to happen in the first place. This change improves performance significantly: C RiseSet: passed 5909 lines: time errors in minutes: rms=0.2904, max=1.1541, recur=15, altcount=156881 Added helper function AscentError for cleaner code in error cases. --- generate/ctest.c | 4 +-- generate/template/astronomy.c | 63 +++++++++++++++++++++++++++-------- source/c/astronomy.c | 63 +++++++++++++++++++++++++++-------- 3 files changed, 100 insertions(+), 30 deletions(-) diff --git a/generate/ctest.c b/generate/ctest.c index 0b71bad2..6ed59863 100644 --- a/generate/ctest.c +++ b/generate/ctest.c @@ -1685,11 +1685,11 @@ static int RiseSet(void) { r_evt = Astronomy_SearchRiseSet(body, observer, DIRECTION_RISE, r_search_date, 366.0); if (r_evt.status != ASTRO_SUCCESS) - FAIL("C RiseSet(%s line %d): did not find %s rise event.\n", filename, lnum, name); + FAIL("C RiseSet(%s line %d): did not find %s rise event: status = %d\n", filename, lnum, name, r_evt.status); s_evt = Astronomy_SearchRiseSet(body, observer, DIRECTION_SET, s_search_date, 366.0); if (s_evt.status != ASTRO_SUCCESS) - FAIL("C RiseSet(%s line %d): did not find %s set event.\n", filename, lnum, name); + FAIL("C RiseSet(%s line %d): did not find %s set event: status = %d\n", filename, lnum, name, s_evt.status); /* Expect the current event to match the earlier of the found dates. */ if (r_evt.time.tt < s_evt.time.tt) diff --git a/generate/template/astronomy.c b/generate/template/astronomy.c index 20c8c5a9..8e20f324 100644 --- a/generate/template/astronomy.c +++ b/generate/template/astronomy.c @@ -6446,6 +6446,16 @@ static astro_func_result_t altitude_diff(void *context, astro_time_t time) } +static ascent_t AscentError(astro_status_t status) +{ + ascent_t ascent; + ascent.ax = ascent.ay = NAN; + ascent.tx = ascent.ty = TimeError(); + ascent.status = status; + return ascent; +} + + static ascent_t FindAscent( int depth, context_altitude_t *context, @@ -6479,38 +6489,63 @@ static ascent_t FindAscent( return ascent; } + if (depth > 17) + { + /* + Safety valve: do not allow unlimited recursion. + This should never happen if the rest of the logic is working correctly, + so fail the whole search if it does happen. It's a bug! + */ + return AscentError(ASTRO_NO_CONVERGE); + } + if (a1 >= 0.0 && a2 < 0.0) { /* Trivial failure case: Assume Nyquist condition prevents an ascent. */ - memset(&ascent, 0, sizeof(ascent)); - ascent.status = ASTRO_SEARCH_FAILURE; - return ascent; + return AscentError(ASTRO_SEARCH_FAILURE); } + /* + Both altitudes are on the same side of zero: both are negative, or both are non-negative. + There could be a convex "hill" or a concave "valley" that passes through zero. + In polar regions sometimes there is a rise/set or set/rise pair within minutes of each other. + For example, the Moon can be below the horizon, then the very top of it becomes + visible (moonrise) for a few minutes, then it moves sideways and down below + the horizon again (moonset). We want to catch these cases. + However, for efficiency and practicality concerns, because the rise/set search itself + has a 0.1 second threshold, we do not worry about rise/set pairs that are less than + one second apart. These are marginal cases that are rendered highly uncertain + anyway, due to unpredictable atmospheric refraction conditions (air temperature and pressure). + */ + dt = (t2.ut - t1.ut) / 2; + if (dt * SECONDS_PER_DAY < 1.0) + return AscentError(ASTRO_SEARCH_FAILURE); + /* Is it possible to reach zero from the altitude that is closer to zero? */ abs_a1 = fabs(a1); abs_a2 = fabs(a2); da = (abs_a1 < abs_a2) ? abs_a1 : abs_a2; - /* Tricky: dt = half the interval, because the farther altitude would take at least as long. */ - dt = (t2.ut - t1.ut) / 2.0; - if (da > max_deriv_alt * dt) + /* + Without loss of generality, assume |a1| <= |a2|. + (Reverse the argument in the case |a2| < |a1|.) + Imagine you have to "drive" from a1 to 0, then back to a2. + You can't go faster than max_deriv_alt. If you can't reach 0 in half the time, + you certainly don't have time to reach 0, turn around, and still make your way + back up to a2 (which is at least as far from 0 than a1 is) in the time interval dt. + Therefore, the time threshold is half the time interval, or dt/2. + */ + if (da > max_deriv_alt*(dt / 2)) { /* Prune: the altitude cannot change fast enough to reach zero. */ - memset(&ascent, 0, sizeof(ascent)); - ascent.status = ASTRO_SEARCH_FAILURE; - return ascent; + return AscentError(ASTRO_SEARCH_FAILURE); } /* Bisect the time interval and evaluate the altitude at the midpoint. */ tm = Astronomy_TimeFromDays((t1.ut + t2.ut)/2); alt = altitude_diff(context, tm); if (alt.status != ASTRO_SUCCESS) - { - memset(&ascent, 0, sizeof(ascent)); - ascent.status = alt.status; - return ascent; - } + return AscentError(ASTRO_SEARCH_FAILURE); /* Recurse to the left interval. */ ascent = FindAscent(1+depth, context, max_deriv_alt, t1, tm, a1, alt.value); diff --git a/source/c/astronomy.c b/source/c/astronomy.c index afcbce99..ac1d9c1e 100644 --- a/source/c/astronomy.c +++ b/source/c/astronomy.c @@ -7685,6 +7685,16 @@ static astro_func_result_t altitude_diff(void *context, astro_time_t time) } +static ascent_t AscentError(astro_status_t status) +{ + ascent_t ascent; + ascent.ax = ascent.ay = NAN; + ascent.tx = ascent.ty = TimeError(); + ascent.status = status; + return ascent; +} + + static ascent_t FindAscent( int depth, context_altitude_t *context, @@ -7718,38 +7728,63 @@ static ascent_t FindAscent( return ascent; } + if (depth > 17) + { + /* + Safety valve: do not allow unlimited recursion. + This should never happen if the rest of the logic is working correctly, + so fail the whole search if it does happen. It's a bug! + */ + return AscentError(ASTRO_NO_CONVERGE); + } + if (a1 >= 0.0 && a2 < 0.0) { /* Trivial failure case: Assume Nyquist condition prevents an ascent. */ - memset(&ascent, 0, sizeof(ascent)); - ascent.status = ASTRO_SEARCH_FAILURE; - return ascent; + return AscentError(ASTRO_SEARCH_FAILURE); } + /* + Both altitudes are on the same side of zero: both are negative, or both are non-negative. + There could be a convex "hill" or a concave "valley" that passes through zero. + In polar regions sometimes there is a rise/set or set/rise pair within minutes of each other. + For example, the Moon can be below the horizon, then the very top of it becomes + visible (moonrise) for a few minutes, then it moves sideways and down below + the horizon again (moonset). We want to catch these cases. + However, for efficiency and practicality concerns, because the rise/set search itself + has a 0.1 second threshold, we do not worry about rise/set pairs that are less than + one second apart. These are marginal cases that are rendered highly uncertain + anyway, due to unpredictable atmospheric refraction conditions (air temperature and pressure). + */ + dt = (t2.ut - t1.ut) / 2; + if (dt * SECONDS_PER_DAY < 1.0) + return AscentError(ASTRO_SEARCH_FAILURE); + /* Is it possible to reach zero from the altitude that is closer to zero? */ abs_a1 = fabs(a1); abs_a2 = fabs(a2); da = (abs_a1 < abs_a2) ? abs_a1 : abs_a2; - /* Tricky: dt = half the interval, because the farther altitude would take at least as long. */ - dt = (t2.ut - t1.ut) / 2.0; - if (da > max_deriv_alt * dt) + /* + Without loss of generality, assume |a1| <= |a2|. + (Reverse the argument in the case |a2| < |a1|.) + Imagine you have to "drive" from a1 to 0, then back to a2. + You can't go faster than max_deriv_alt. If you can't reach 0 in half the time, + you certainly don't have time to reach 0, turn around, and still make your way + back up to a2 (which is at least as far from 0 than a1 is) in the time interval dt. + Therefore, the time threshold is half the time interval, or dt/2. + */ + if (da > max_deriv_alt*(dt / 2)) { /* Prune: the altitude cannot change fast enough to reach zero. */ - memset(&ascent, 0, sizeof(ascent)); - ascent.status = ASTRO_SEARCH_FAILURE; - return ascent; + return AscentError(ASTRO_SEARCH_FAILURE); } /* Bisect the time interval and evaluate the altitude at the midpoint. */ tm = Astronomy_TimeFromDays((t1.ut + t2.ut)/2); alt = altitude_diff(context, tm); if (alt.status != ASTRO_SUCCESS) - { - memset(&ascent, 0, sizeof(ascent)); - ascent.status = alt.status; - return ascent; - } + return AscentError(ASTRO_SEARCH_FAILURE); /* Recurse to the left interval. */ ascent = FindAscent(1+depth, context, max_deriv_alt, t1, tm, a1, alt.value); From 480e0c3ab57a28707a5b20b50793163cbaa063f4 Mon Sep 17 00:00:00 2001 From: Don Cross Date: Sun, 13 Nov 2022 12:25:10 -0500 Subject: [PATCH 10/16] C#: Overhauled altitude search for polar regions. The C# version of the altitude searches now work correctly near the Earth's poles. This is a port of the C version. Cleaned up a little code in the C version. --- demo/csharp/correct/riseset.txt | 6 +- generate/ctest.c | 4 +- generate/dotnet/csharp_test/csharp_test.cs | 10 +- generate/template/astronomy.c | 40 +- generate/template/astronomy.cs | 417 +++++++++++---------- source/c/astronomy.c | 40 +- source/csharp/astronomy.cs | 417 +++++++++++---------- 7 files changed, 498 insertions(+), 436 deletions(-) diff --git a/demo/csharp/correct/riseset.txt b/demo/csharp/correct/riseset.txt index 9c80491a..33773328 100644 --- a/demo/csharp/correct/riseset.txt +++ b/demo/csharp/correct/riseset.txt @@ -1,5 +1,5 @@ search : 2019-06-14T21:45:25.000Z -sunrise : 2019-06-15T10:12:42.721Z +sunrise : 2019-06-15T10:12:42.728Z sunset : 2019-06-15T01:48:00.374Z -moonrise : 2019-06-14T23:02:43.343Z -moonset : 2019-06-15T09:12:25.416Z +moonrise : 2019-06-14T23:02:43.360Z +moonset : 2019-06-15T09:12:25.423Z diff --git a/generate/ctest.c b/generate/ctest.c index 6ed59863..6cc2f15f 100644 --- a/generate/ctest.c +++ b/generate/ctest.c @@ -1758,7 +1758,7 @@ static int RiseSetSlot(double ut1, double ut2, astro_direction_t dir, astro_obse diff = SECONDS_PER_DAY * ABS(result.time.ut - ut2); if (diff > maxDiff) maxDiff = diff; } - if (maxDiff > 0.9) + if (maxDiff > 0.13) FAIL("C RiseSetSlot(dir=%d): EXCESSIVE slot-test discrepancy = %0.6lf seconds.\n", dir, maxDiff); DEBUG("C RiseSetSlot(dir=%d): slot discrepancy = %0.6lf seconds.\n", dir, maxDiff); error = 0; @@ -1822,7 +1822,7 @@ static int RiseSetReverse(void) if (diff > maxDiff) maxDiff = diff; time = Astronomy_AddDays(result.time, -nudge); } - if (maxDiff > 0.982) + if (maxDiff > 0.1) FAIL("C RiseSetReverse: EXCESSIVE forward/backward discrepancy = %0.6lf seconds.\n", maxDiff); DEBUG("C RiseSetReverse: forward/backward discrepancy = %0.6lf seconds.\n", maxDiff); diff --git a/generate/dotnet/csharp_test/csharp_test.cs b/generate/dotnet/csharp_test/csharp_test.cs index f7b8a99a..8e6f63cc 100644 --- a/generate/dotnet/csharp_test/csharp_test.cs +++ b/generate/dotnet/csharp_test/csharp_test.cs @@ -780,7 +780,7 @@ static int RiseSetTest() AstroTime r_evt = null, s_evt = null; // rise event, set event: search results AstroTime a_evt = null, b_evt = null; // chronologically first and second events Direction a_dir = Direction.Rise, b_dir = Direction.Rise; - const double nudge_days = 0.01; + const double nudge_days = 1.0e-5; // just under 1 second double sum_minutes = 0.0; double max_minutes = 0.0; @@ -872,7 +872,7 @@ static int RiseSetTest() if (a_dir != direction) { - Console.WriteLine("C# RiseSetTest({0} line {1}): expected dir={2} but found {3}", filename, lnum, a_dir, direction); + Console.WriteLine("C# RiseSetTest({0} line {1}): expected dir={2} but found {3}", filename, lnum, direction, a_dir); return 1; } @@ -881,7 +881,7 @@ static int RiseSetTest() if (error_minutes > max_minutes) max_minutes = error_minutes; - if (error_minutes > 0.57) + if (error_minutes > 1.16) { Console.WriteLine("C# RiseSetTest({0} line {1}): excessive prediction time error = {2} minutes.", filename, lnum, error_minutes); return 1; @@ -932,7 +932,7 @@ static int RiseSetSlot(double ut1, double ut2, Direction dir, Observer observer) diff = SECONDS_PER_DAY * abs(result.ut - ut2); if (diff > maxDiff) maxDiff = diff; } - if (maxDiff > 0.9) + if (maxDiff > 0.13) { Console.WriteLine($"C# RiseSetSlot({dir}): EXCESSIVE slot-test discrepancy = {maxDiff:F6} seconds."); return 1; @@ -999,7 +999,7 @@ static int RiseSetReverseTest() time = result.AddDays(-nudge); } - if (maxDiff > 0.982) + if (maxDiff > 0.1) { Console.WriteLine($"C# RiseSetReverse: EXCESSIVE forward/backward discrepancy = {maxDiff:F6} seconds."); return 1; diff --git a/generate/template/astronomy.c b/generate/template/astronomy.c index 8e20f324..cafc41fd 100644 --- a/generate/template/astronomy.c +++ b/generate/template/astronomy.c @@ -6404,9 +6404,6 @@ context_altitude_t; altitude = altdiff_result.value; \ } while (0) -#define OUT_OF_BOUNDS(u) \ - ((limitDays < 0.0) ? (u < startTime.ut + limitDays) : (u > startTime.ut + limitDays)) - static const double RISE_SET_DT = 0.42; /* 10.08 hours: Nyquist-safe for 22-hour period. */ typedef struct @@ -6489,6 +6486,12 @@ static ascent_t FindAscent( return ascent; } + if (a1 >= 0.0 && a2 < 0.0) + { + /* Trivial failure case: Assume Nyquist condition prevents an ascent. */ + return AscentError(ASTRO_SEARCH_FAILURE); + } + if (depth > 17) { /* @@ -6499,12 +6502,6 @@ static ascent_t FindAscent( return AscentError(ASTRO_NO_CONVERGE); } - if (a1 >= 0.0 && a2 < 0.0) - { - /* Trivial failure case: Assume Nyquist condition prevents an ascent. */ - return AscentError(ASTRO_SEARCH_FAILURE); - } - /* Both altitudes are on the same side of zero: both are negative, or both are non-negative. There could be a convex "hill" or a concave "valley" that passes through zero. @@ -6574,8 +6571,6 @@ static astro_search_result_t InternalSearchAltitude( astro_time_t t1, t2; double a1 = 0.0, a2 = 0.0; double deriv_ra, deriv_dec, max_deriv_alt, latrad; - const double searchDir = (limitDays < 0.0) ? -1.0 : +1.0; - const double deltaDays = searchDir * RISE_SET_DT; /* Calculate the maximum possible rate that this body's altitude @@ -6639,7 +6634,7 @@ static astro_search_result_t InternalSearchAltitude( /* We allow searching forward or backward in time. */ /* But we want to keep t1 < t2, so we need a few if/else statements. */ - if (deltaDays < 0.0) + if (limitDays < 0.0) { t2 = startTime; ALTDIFF(a2, t2, &context); @@ -6652,14 +6647,14 @@ static astro_search_result_t InternalSearchAltitude( for(;;) { - if (deltaDays < 0.0) + if (limitDays < 0.0) { - t1 = Astronomy_AddDays(t2, deltaDays); + t1 = Astronomy_AddDays(t2, -RISE_SET_DT); ALTDIFF(a1, t1, &context); } else { - t2 = Astronomy_AddDays(t1, deltaDays); + t2 = Astronomy_AddDays(t1, +RISE_SET_DT); ALTDIFF(a2, t2, &context); } @@ -6673,9 +6668,16 @@ static astro_search_result_t InternalSearchAltitude( if (result.status == ASTRO_SUCCESS) { /* Now that we have a solution, we have to check whether it goes outside the time bounds. */ - if (OUT_OF_BOUNDS(result.time.ut)) - return SearchError(ASTRO_SEARCH_FAILURE); - + if (limitDays < 0.0) + { + if (result.time.ut < startTime.ut + limitDays) + return SearchError(ASTRO_SEARCH_FAILURE); + } + else + { + if (result.time.ut > startTime.ut + limitDays) + return SearchError(ASTRO_SEARCH_FAILURE); + } return result; /* success! */ } @@ -6692,7 +6694,7 @@ static astro_search_result_t InternalSearchAltitude( return SearchError(ascent.status); } - if (deltaDays < 0.0) + if (limitDays < 0.0) { if (t1.ut < startTime.ut + limitDays) return SearchError(ASTRO_SEARCH_FAILURE); diff --git a/generate/template/astronomy.cs b/generate/template/astronomy.cs index 7dc49ce9..2b8e20cc 100644 --- a/generate/template/astronomy.cs +++ b/generate/template/astronomy.cs @@ -1678,75 +1678,29 @@ public override double Eval(AstroTime time) } } - internal class SearchContext_AltitudeError: SearchContext + internal class SearchContext_Altitude: SearchContext { private readonly Body body; private readonly int direction; private readonly Observer observer; - private readonly double altitude; + private readonly double bodyRadiusAu; + private readonly double targetAltitude; - public SearchContext_AltitudeError(Body body, Direction direction, Observer observer, double altitude) + public SearchContext_Altitude(Body body, Direction direction, Observer observer, double bodyRadiusAu, double targetAltitude) { this.body = body; this.direction = (int)direction; this.observer = observer; - this.altitude = altitude; - } - - public override double Eval(AstroTime time) - { - Equatorial ofdate = Astronomy.Equator(body, time, observer, EquatorEpoch.OfDate, Aberration.Corrected); - Topocentric hor = Astronomy.Horizon(time, observer, ofdate.ra, ofdate.dec, Refraction.None); - return direction * (hor.altitude - altitude); - } - } - - internal class SearchContext_PeakAltitude: SearchContext - { - private readonly Body body; - private readonly int direction; - private readonly Observer observer; - private readonly double body_radius_au; - - public SearchContext_PeakAltitude(Body body, Direction direction, Observer observer) - { - this.body = body; - this.direction = (int)direction; - this.observer = observer; - - switch (body) - { - case Body.Sun: - this.body_radius_au = Astronomy.SUN_RADIUS_AU; - break; - - case Body.Moon: - this.body_radius_au = Astronomy.MOON_EQUATORIAL_RADIUS_AU; - break; - - default: - this.body_radius_au = 0.0; - break; - } + this.bodyRadiusAu = bodyRadiusAu; + this.targetAltitude = targetAltitude; } public override double Eval(AstroTime time) { - // Return the angular altitude above or below the horizon - // of the highest part (the peak) of the given object. - // This is defined as the apparent altitude of the center of the body plus - // the body's angular radius. - // The 'direction' parameter controls whether the angle is measured - // positive above the horizon or positive below the horizon, - // depending on whether the caller wants rise times or set times, respectively. - Equatorial ofdate = Astronomy.Equator(body, time, observer, EquatorEpoch.OfDate, Aberration.Corrected); - - // We calculate altitude without refraction, then add fixed refraction near the horizon. - // This gives us the time of rise/set without the extra work. Topocentric hor = Astronomy.Horizon(time, observer, ofdate.ra, ofdate.dec, Refraction.None); - - return direction * (hor.altitude + Astronomy.RAD2DEG*(body_radius_au / ofdate.dist) + Astronomy.REFRACTION_NEAR_HORIZON); + double altitude = hor.altitude + Astronomy.RAD2DEG*Math.Asin(bodyRadiusAu / ofdate.dist); + return direction*(altitude - targetAltitude); } } @@ -5799,187 +5753,252 @@ public static AstroTime SearchMoonPhase(double targetLon, AstroTime startTime, d return Search(moon_offset, t1, t2, 0.1); } - private static AstroTime ForwardSearchAltitude( - Body body, - Observer observer, - Direction direction, - AstroTime startTime, - double limitDays, - SearchContext context) + + private struct AscentInfo { - if (body == Body.Earth) - throw new EarthNotAllowedException(); + public bool valid; + public AstroTime tx; + public AstroTime ty; + public double ax; + public double ay; + + public static readonly AscentInfo Fail = new AscentInfo { valid = false }; + + public override string ToString() => + valid ? $"AscentInfo(tx={tx}, ty={ty}, ax={ax}, ay={ay})" : "AscentInfo.Fail"; + } - double ha_before, ha_after; - switch (direction) + + private static AscentInfo FindAscent( + int depth, + SearchContext_Altitude context, + double max_deriv_alt, + AstroTime t1, + AstroTime t2, + double a1, + double a2) + { + // See if we can find any time interval where the altitude-diff function + // rises from non-positive to positive. + + if (a1 < 0.0 && a2 >= 0.0) { - case Direction.Rise: - ha_before = 12.0; // minimum altitude (bottom) happens BEFORE the body rises. - ha_after = 0.0; // maximum altitude (culmination) happens AFTER the body rises. - break; + // Trivial success case: the endpoints already rise through zero. + return new AscentInfo { valid = true, tx = t1, ty = t2, ax = a1, ay = a2 }; + } - case Direction.Set: - ha_before = 0.0; // culmination happens BEFORE the body sets. - ha_after = 12.0; // bottom happens AFTER the body sets. - break; + if (a1 >= 0.0 && a2 < 0.0) + { + // Trivial failure case: Assume Nyquist condition prevents an ascent. + return AscentInfo.Fail; + } - default: - throw new ArgumentException(string.Format("Unsupported direction value {0}", direction)); + if (depth > 17) + { + // Safety valve: do not allow unlimited recursion. + // This should never happen if the rest of the logic is working correctly, + // so fail the whole search if it does happen. It's a bug! + throw new InternalError("Excessive recursion in rise/set ascent search."); } - // We cannot possibly satisfy a forward search without a positive time limit. - if (limitDays <= 0.0) - return null; + // Both altitudes are on the same side of zero: both are negative, or both are non-negative. + // There could be a convex "hill" or a concave "valley" that passes through zero. + // In polar regions sometimes there is a rise/set or set/rise pair within minutes of each other. + // For example, the Moon can be below the horizon, then the very top of it becomes + // visible (moonrise) for a few minutes, then it moves sideways and down below + // the horizon again (moonset). We want to catch these cases. + // However, for efficiency and practicality concerns, because the rise/set search itself + // has a 0.1 second threshold, we do not worry about rise/set pairs that are less than + // one second apart. These are marginal cases that are rendered highly uncertain + // anyway, due to unpredictable atmospheric refraction conditions (air temperature and pressure). + + double dt = (t2.ut - t1.ut) / 2; + if (dt * SECONDS_PER_DAY < 1.0) + return new AscentInfo { valid = false }; - // See if the body is currently above/below the horizon. - // If we are looking for next rise time and the body is below the horizon, - // we use the current time as the lower time bound and the next culmination - // as the upper bound. - // If the body is above the horizon, we search for the next bottom and use it - // as the lower bound and the next culmination after that bottom as the upper bound. - // The same logic applies for finding set times, only we swap the hour angles. + // Is it possible to reach zero from the altitude that is closer to zero? + double da = Math.Min(Math.Abs(a1), Math.Abs(a2)); - HourAngleInfo evt_before, evt_after; - double alt_before = context.Eval(startTime); - AstroTime time_before; - if (alt_before > 0.0) + // Without loss of generality, assume |a1| <= |a2|. + // (Reverse the argument in the case |a2| < |a1|.) + // Imagine you have to "drive" from a1 to 0, then back to a2. + // You can't go faster than max_deriv_alt. If you can't reach 0 in half the time, + // you certainly don't have time to reach 0, turn around, and still make your way + // back up to a2 (which is at least as far from 0 than a1 is) in the time interval dt. + // Therefore, the time threshold is half the time interval, or dt/2. + if (da > max_deriv_alt*(dt / 2)) { - // We are past the sought event, so we have to wait for the next "before" event (culm/bottom). - evt_before = SearchHourAngle(body, observer, ha_before, startTime, +1); - time_before = evt_before.time; - alt_before = context.Eval(time_before); + // Prune: the altitude cannot change fast enough to reach zero. + return AscentInfo.Fail; } - else + + // Bisect the time interval and evaluate the altitude at the midpoint. + var tmid = new AstroTime((t1.ut + t2.ut)/2); + double amid = context.Eval(tmid); + + // Recurse to the left interval. + AscentInfo ascent = FindAscent(1+depth, context, max_deriv_alt, t1, tmid, a1, amid); + if (!ascent.valid) { - // We are before or at the sought event, so we find the next "after" event (bottom/culm), - // and use the current time as the "before" event. - time_before = startTime; + // Recurse to the right interval. + ascent = FindAscent(1+depth, context, max_deriv_alt, tmid, t2, amid, a2); } - evt_after = SearchHourAngle(body, observer, ha_after, time_before, +1); - double alt_after = context.Eval(evt_after.time); + return ascent; + } + - for(;;) + private static double MaxAltitudeSlope(Body body, double latitude) + { + // Calculate the maximum possible rate that this body's altitude + // could change [degrees/day] as seen by this observer. + // First use experimentally determined extreme bounds by body + // of how much topocentric RA and DEC can change per rate of time. + // We need minimum possible d(RA)/dt, and maximum possible magnitude of d(DEC)/dt. + // Conservatively, we round d(RA)/dt down, d(DEC)/dt up. + + double deriv_ra; + double deriv_dec; + + switch (body) { - if (alt_before <= 0.0 && alt_after > 0.0) - { - // Search the time window for the desired event. - AstroTime time = Search(context, time_before, evt_after.time, 1.0); - if (time != null) - { - // If we found the rise/set time, but it falls outside limitDays, fail the search. - if (time.ut > startTime.ut + limitDays) - return null; + case Body.Moon: + deriv_ra = +4.5; + deriv_dec = +8.2; + break; - // The search succeeded. - return time; - } - } + case Body.Sun: + deriv_ra = +0.8; + deriv_dec = +0.5; + break; + + case Body.Mercury: + deriv_ra = -1.6; + deriv_dec = +1.0; + break; - // If we didn't find the desired event, use evt_after.time to find the next before-event. - evt_before = SearchHourAngle(body, observer, ha_before, evt_after.time, +1); + case Body.Venus: + deriv_ra = -0.8; + deriv_dec = +0.6; + break; - if (evt_before.time.ut >= startTime.ut + limitDays) - return null; + case Body.Mars: + deriv_ra = -0.5; + deriv_dec = +0.4; + break; - evt_after = SearchHourAngle(body, observer, ha_after, evt_before.time, +1); + case Body.Jupiter: + case Body.Saturn: + case Body.Uranus: + case Body.Neptune: + case Body.Pluto: + deriv_ra = -0.2; + deriv_dec = +0.2; + break; - time_before = evt_before.time; + case Body.Earth: + throw new EarthNotAllowedException(); - alt_before = context.Eval(evt_before.time); - alt_after = context.Eval(evt_after.time); + default: + throw new InvalidBodyException(body); } + + double latrad = DEG2RAD * latitude; + return Math.Abs(((360.0 / SOLAR_DAYS_PER_SIDEREAL_DAY) - deriv_ra)*Math.Cos(latrad)) + Math.Abs(deriv_dec*Math.Sin(latrad)); } - private static AstroTime BackwardSearchAltitude( + private const double RISE_SET_DT = 0.42; // 10.08 hours: Nyquist-safe for 22-hour period. + + private static AstroTime InternalSearchAltitude( Body body, Observer observer, Direction direction, AstroTime startTime, double limitDays, - SearchContext context) + double bodyRadiusAu, + double targetAltitude) { - if (body == Body.Earth) - throw new EarthNotAllowedException(); + double max_deriv_alt = MaxAltitudeSlope(body, observer.latitude); + var context = new SearchContext_Altitude(body, direction, observer, bodyRadiusAu, targetAltitude); - double ha_before, ha_after; - switch (direction) + // We allow searching forward or backward in time. + // But we want to keep t1 < t2, so we need a few if/else statements. + AstroTime t1, t2; + double a1, a2; + if (limitDays < 0.0) { - case Direction.Rise: - ha_before = 12.0; // minimum altitude (bottom) happens BEFORE the body rises. - ha_after = 0.0; // maximum altitude (culmination) happens AFTER the body rises. - break; - - case Direction.Set: - ha_before = 0.0; // culmination happens BEFORE the body sets. - ha_after = 12.0; // bottom happens AFTER the body sets. - break; - - default: - throw new ArgumentException(string.Format("Unsupported direction value {0}", direction)); - } - - // We cannot possibly satisfy a backward search without a negative time limit. - if (limitDays >= 0.0) - return null; - - // See if the body is currently above/below the horizon. - // If we are looking for previous rise time and the body is above the horizon, - // we use the current time as the upper time bound and the previous bottom as the lower time bound. - // If the body is below the horizon, we search for the previous culmination and use it - // as the upper time bound. Then we search for the bottom before that culmination and - // use it as the lower time bound. - // The same logic applies for finding set times; altitude_error_func and - // altitude_error_context ensure that the desired event is represented - // by ascending through zero, so the Search function works correctly. - - HourAngleInfo evt_before, evt_after; - double alt_after = context.Eval(startTime); - AstroTime time_after; - if (alt_after < 0.0) - { - evt_after = SearchHourAngle(body, observer, ha_after, startTime, -1); - time_after = evt_after.time; - alt_after = context.Eval(time_after); + t1 = null; + t2 = startTime; + a1 = double.NaN; + a2 = context.Eval(t2); } else { - time_after = startTime; + t1 = startTime; + t2 = null; + a1 = context.Eval(t1); + a2 = double.NaN; } - evt_before = SearchHourAngle(body, observer, ha_before, time_after, -1); - double alt_before = context.Eval(evt_before.time); - for(;;) { - if (alt_before <= 0.0 && alt_after > 0.0) + if (limitDays < 0.0) + { + t1 = t2.AddDays(-RISE_SET_DT); + a1 = context.Eval(t1); + } + else { - // Search the time window for the desired event. - AstroTime time = Search(context, evt_before.time, time_after, 1.0); + t2 = t1.AddDays(+RISE_SET_DT); + a2 = context.Eval(t2); + } + + AscentInfo ascent = FindAscent(0, context, max_deriv_alt, t1, t2, a1, a2); + if (ascent.valid) + { + // We found a time interval [t1, t2] that contains an alt-diff + // rising from negative a1 to non-negative a2. + // Search for the time where the root occurs. + AstroTime time = Search(context, ascent.tx, ascent.ty, 0.1); if (time != null) { - // If we found the rise/set time, but it falls outside limitDays, fail the search. - if (time.ut < startTime.ut + limitDays) - return null; - - // The search succeeded. - return time; + // Now that we have a solution, we have to check whether it goes outside the time bounds. + if (limitDays < 0.0) + { + if (time.ut < startTime.ut + limitDays) + return null; + } + else + { + if (time.ut > startTime.ut + limitDays) + return null; + } + return time; // success! } - } - evt_after = SearchHourAngle(body, observer, ha_after, evt_before.time, -1); - - if (evt_after.time.ut <= startTime.ut + limitDays) - return null; - - evt_before = SearchHourAngle(body, observer, ha_before, evt_after.time, -1); + // The search should have succeeded. Something is wrong with the ascent finder! + throw new InternalError($"Rise/set search failed after finding {ascent}"); + } - time_after = evt_after.time; - alt_before = context.Eval(evt_before.time); - alt_after = context.Eval(evt_after.time); + // There is no ascent in this interval, so keep searching. + if (limitDays < 0.0) + { + if (t1.ut < startTime.ut + limitDays) + return null; + t2 = t1; + a2 = a1; + } + else + { + if (t2.ut > startTime.ut + limitDays) + return null; + t1 = t2; + a1 = a2; + } } } + /// /// Searches for the next time a celestial body rises or sets as seen by an observer on the Earth. /// @@ -6036,10 +6055,23 @@ public static AstroTime SearchRiseSet( AstroTime startTime, double limitDays) { - var peak_altitude = new SearchContext_PeakAltitude(body, direction, observer); - return (limitDays < 0.0) - ? BackwardSearchAltitude(body, observer, direction, startTime, limitDays, peak_altitude) - : ForwardSearchAltitude( body, observer, direction, startTime, limitDays, peak_altitude); + double bodyRadiusAu; + switch (body) + { + case Body.Sun: + bodyRadiusAu = SUN_RADIUS_AU; + break; + + case Body.Moon: + bodyRadiusAu = MOON_EQUATORIAL_RADIUS_AU; + break; + + default: + bodyRadiusAu = 0.0; + break; + } + + return InternalSearchAltitude(body, observer, direction, startTime, limitDays, bodyRadiusAu, -REFRACTION_NEAR_HORIZON); } /// @@ -6103,10 +6135,7 @@ public static AstroTime SearchAltitude( double limitDays, double altitude) { - var altitude_error = new SearchContext_AltitudeError(body, direction, observer, altitude); - return (limitDays < 0.0) - ? BackwardSearchAltitude(body, observer, direction, startTime, limitDays, altitude_error) - : ForwardSearchAltitude( body, observer, direction, startTime, limitDays, altitude_error); + return InternalSearchAltitude(body, observer, direction, startTime, limitDays, 0.0, altitude); } /// diff --git a/source/c/astronomy.c b/source/c/astronomy.c index ac1d9c1e..43028643 100644 --- a/source/c/astronomy.c +++ b/source/c/astronomy.c @@ -7643,9 +7643,6 @@ context_altitude_t; altitude = altdiff_result.value; \ } while (0) -#define OUT_OF_BOUNDS(u) \ - ((limitDays < 0.0) ? (u < startTime.ut + limitDays) : (u > startTime.ut + limitDays)) - static const double RISE_SET_DT = 0.42; /* 10.08 hours: Nyquist-safe for 22-hour period. */ typedef struct @@ -7728,6 +7725,12 @@ static ascent_t FindAscent( return ascent; } + if (a1 >= 0.0 && a2 < 0.0) + { + /* Trivial failure case: Assume Nyquist condition prevents an ascent. */ + return AscentError(ASTRO_SEARCH_FAILURE); + } + if (depth > 17) { /* @@ -7738,12 +7741,6 @@ static ascent_t FindAscent( return AscentError(ASTRO_NO_CONVERGE); } - if (a1 >= 0.0 && a2 < 0.0) - { - /* Trivial failure case: Assume Nyquist condition prevents an ascent. */ - return AscentError(ASTRO_SEARCH_FAILURE); - } - /* Both altitudes are on the same side of zero: both are negative, or both are non-negative. There could be a convex "hill" or a concave "valley" that passes through zero. @@ -7813,8 +7810,6 @@ static astro_search_result_t InternalSearchAltitude( astro_time_t t1, t2; double a1 = 0.0, a2 = 0.0; double deriv_ra, deriv_dec, max_deriv_alt, latrad; - const double searchDir = (limitDays < 0.0) ? -1.0 : +1.0; - const double deltaDays = searchDir * RISE_SET_DT; /* Calculate the maximum possible rate that this body's altitude @@ -7878,7 +7873,7 @@ static astro_search_result_t InternalSearchAltitude( /* We allow searching forward or backward in time. */ /* But we want to keep t1 < t2, so we need a few if/else statements. */ - if (deltaDays < 0.0) + if (limitDays < 0.0) { t2 = startTime; ALTDIFF(a2, t2, &context); @@ -7891,14 +7886,14 @@ static astro_search_result_t InternalSearchAltitude( for(;;) { - if (deltaDays < 0.0) + if (limitDays < 0.0) { - t1 = Astronomy_AddDays(t2, deltaDays); + t1 = Astronomy_AddDays(t2, -RISE_SET_DT); ALTDIFF(a1, t1, &context); } else { - t2 = Astronomy_AddDays(t1, deltaDays); + t2 = Astronomy_AddDays(t1, +RISE_SET_DT); ALTDIFF(a2, t2, &context); } @@ -7912,9 +7907,16 @@ static astro_search_result_t InternalSearchAltitude( if (result.status == ASTRO_SUCCESS) { /* Now that we have a solution, we have to check whether it goes outside the time bounds. */ - if (OUT_OF_BOUNDS(result.time.ut)) - return SearchError(ASTRO_SEARCH_FAILURE); - + if (limitDays < 0.0) + { + if (result.time.ut < startTime.ut + limitDays) + return SearchError(ASTRO_SEARCH_FAILURE); + } + else + { + if (result.time.ut > startTime.ut + limitDays) + return SearchError(ASTRO_SEARCH_FAILURE); + } return result; /* success! */ } @@ -7931,7 +7933,7 @@ static astro_search_result_t InternalSearchAltitude( return SearchError(ascent.status); } - if (deltaDays < 0.0) + if (limitDays < 0.0) { if (t1.ut < startTime.ut + limitDays) return SearchError(ASTRO_SEARCH_FAILURE); diff --git a/source/csharp/astronomy.cs b/source/csharp/astronomy.cs index 90c4783a..a022c644 100644 --- a/source/csharp/astronomy.cs +++ b/source/csharp/astronomy.cs @@ -1678,75 +1678,29 @@ public override double Eval(AstroTime time) } } - internal class SearchContext_AltitudeError: SearchContext + internal class SearchContext_Altitude: SearchContext { private readonly Body body; private readonly int direction; private readonly Observer observer; - private readonly double altitude; + private readonly double bodyRadiusAu; + private readonly double targetAltitude; - public SearchContext_AltitudeError(Body body, Direction direction, Observer observer, double altitude) + public SearchContext_Altitude(Body body, Direction direction, Observer observer, double bodyRadiusAu, double targetAltitude) { this.body = body; this.direction = (int)direction; this.observer = observer; - this.altitude = altitude; - } - - public override double Eval(AstroTime time) - { - Equatorial ofdate = Astronomy.Equator(body, time, observer, EquatorEpoch.OfDate, Aberration.Corrected); - Topocentric hor = Astronomy.Horizon(time, observer, ofdate.ra, ofdate.dec, Refraction.None); - return direction * (hor.altitude - altitude); - } - } - - internal class SearchContext_PeakAltitude: SearchContext - { - private readonly Body body; - private readonly int direction; - private readonly Observer observer; - private readonly double body_radius_au; - - public SearchContext_PeakAltitude(Body body, Direction direction, Observer observer) - { - this.body = body; - this.direction = (int)direction; - this.observer = observer; - - switch (body) - { - case Body.Sun: - this.body_radius_au = Astronomy.SUN_RADIUS_AU; - break; - - case Body.Moon: - this.body_radius_au = Astronomy.MOON_EQUATORIAL_RADIUS_AU; - break; - - default: - this.body_radius_au = 0.0; - break; - } + this.bodyRadiusAu = bodyRadiusAu; + this.targetAltitude = targetAltitude; } public override double Eval(AstroTime time) { - // Return the angular altitude above or below the horizon - // of the highest part (the peak) of the given object. - // This is defined as the apparent altitude of the center of the body plus - // the body's angular radius. - // The 'direction' parameter controls whether the angle is measured - // positive above the horizon or positive below the horizon, - // depending on whether the caller wants rise times or set times, respectively. - Equatorial ofdate = Astronomy.Equator(body, time, observer, EquatorEpoch.OfDate, Aberration.Corrected); - - // We calculate altitude without refraction, then add fixed refraction near the horizon. - // This gives us the time of rise/set without the extra work. Topocentric hor = Astronomy.Horizon(time, observer, ofdate.ra, ofdate.dec, Refraction.None); - - return direction * (hor.altitude + Astronomy.RAD2DEG*(body_radius_au / ofdate.dist) + Astronomy.REFRACTION_NEAR_HORIZON); + double altitude = hor.altitude + Astronomy.RAD2DEG*Math.Asin(bodyRadiusAu / ofdate.dist); + return direction*(altitude - targetAltitude); } } @@ -7011,187 +6965,252 @@ public static AstroTime SearchMoonPhase(double targetLon, AstroTime startTime, d return Search(moon_offset, t1, t2, 0.1); } - private static AstroTime ForwardSearchAltitude( - Body body, - Observer observer, - Direction direction, - AstroTime startTime, - double limitDays, - SearchContext context) + + private struct AscentInfo { - if (body == Body.Earth) - throw new EarthNotAllowedException(); + public bool valid; + public AstroTime tx; + public AstroTime ty; + public double ax; + public double ay; + + public static readonly AscentInfo Fail = new AscentInfo { valid = false }; + + public override string ToString() => + valid ? $"AscentInfo(tx={tx}, ty={ty}, ax={ax}, ay={ay})" : "AscentInfo.Fail"; + } - double ha_before, ha_after; - switch (direction) + + private static AscentInfo FindAscent( + int depth, + SearchContext_Altitude context, + double max_deriv_alt, + AstroTime t1, + AstroTime t2, + double a1, + double a2) + { + // See if we can find any time interval where the altitude-diff function + // rises from non-positive to positive. + + if (a1 < 0.0 && a2 >= 0.0) { - case Direction.Rise: - ha_before = 12.0; // minimum altitude (bottom) happens BEFORE the body rises. - ha_after = 0.0; // maximum altitude (culmination) happens AFTER the body rises. - break; + // Trivial success case: the endpoints already rise through zero. + return new AscentInfo { valid = true, tx = t1, ty = t2, ax = a1, ay = a2 }; + } - case Direction.Set: - ha_before = 0.0; // culmination happens BEFORE the body sets. - ha_after = 12.0; // bottom happens AFTER the body sets. - break; + if (a1 >= 0.0 && a2 < 0.0) + { + // Trivial failure case: Assume Nyquist condition prevents an ascent. + return AscentInfo.Fail; + } - default: - throw new ArgumentException(string.Format("Unsupported direction value {0}", direction)); + if (depth > 17) + { + // Safety valve: do not allow unlimited recursion. + // This should never happen if the rest of the logic is working correctly, + // so fail the whole search if it does happen. It's a bug! + throw new InternalError("Excessive recursion in rise/set ascent search."); } - // We cannot possibly satisfy a forward search without a positive time limit. - if (limitDays <= 0.0) - return null; + // Both altitudes are on the same side of zero: both are negative, or both are non-negative. + // There could be a convex "hill" or a concave "valley" that passes through zero. + // In polar regions sometimes there is a rise/set or set/rise pair within minutes of each other. + // For example, the Moon can be below the horizon, then the very top of it becomes + // visible (moonrise) for a few minutes, then it moves sideways and down below + // the horizon again (moonset). We want to catch these cases. + // However, for efficiency and practicality concerns, because the rise/set search itself + // has a 0.1 second threshold, we do not worry about rise/set pairs that are less than + // one second apart. These are marginal cases that are rendered highly uncertain + // anyway, due to unpredictable atmospheric refraction conditions (air temperature and pressure). + + double dt = (t2.ut - t1.ut) / 2; + if (dt * SECONDS_PER_DAY < 1.0) + return new AscentInfo { valid = false }; - // See if the body is currently above/below the horizon. - // If we are looking for next rise time and the body is below the horizon, - // we use the current time as the lower time bound and the next culmination - // as the upper bound. - // If the body is above the horizon, we search for the next bottom and use it - // as the lower bound and the next culmination after that bottom as the upper bound. - // The same logic applies for finding set times, only we swap the hour angles. + // Is it possible to reach zero from the altitude that is closer to zero? + double da = Math.Min(Math.Abs(a1), Math.Abs(a2)); - HourAngleInfo evt_before, evt_after; - double alt_before = context.Eval(startTime); - AstroTime time_before; - if (alt_before > 0.0) + // Without loss of generality, assume |a1| <= |a2|. + // (Reverse the argument in the case |a2| < |a1|.) + // Imagine you have to "drive" from a1 to 0, then back to a2. + // You can't go faster than max_deriv_alt. If you can't reach 0 in half the time, + // you certainly don't have time to reach 0, turn around, and still make your way + // back up to a2 (which is at least as far from 0 than a1 is) in the time interval dt. + // Therefore, the time threshold is half the time interval, or dt/2. + if (da > max_deriv_alt*(dt / 2)) { - // We are past the sought event, so we have to wait for the next "before" event (culm/bottom). - evt_before = SearchHourAngle(body, observer, ha_before, startTime, +1); - time_before = evt_before.time; - alt_before = context.Eval(time_before); + // Prune: the altitude cannot change fast enough to reach zero. + return AscentInfo.Fail; } - else + + // Bisect the time interval and evaluate the altitude at the midpoint. + var tmid = new AstroTime((t1.ut + t2.ut)/2); + double amid = context.Eval(tmid); + + // Recurse to the left interval. + AscentInfo ascent = FindAscent(1+depth, context, max_deriv_alt, t1, tmid, a1, amid); + if (!ascent.valid) { - // We are before or at the sought event, so we find the next "after" event (bottom/culm), - // and use the current time as the "before" event. - time_before = startTime; + // Recurse to the right interval. + ascent = FindAscent(1+depth, context, max_deriv_alt, tmid, t2, amid, a2); } - evt_after = SearchHourAngle(body, observer, ha_after, time_before, +1); - double alt_after = context.Eval(evt_after.time); + return ascent; + } + - for(;;) + private static double MaxAltitudeSlope(Body body, double latitude) + { + // Calculate the maximum possible rate that this body's altitude + // could change [degrees/day] as seen by this observer. + // First use experimentally determined extreme bounds by body + // of how much topocentric RA and DEC can change per rate of time. + // We need minimum possible d(RA)/dt, and maximum possible magnitude of d(DEC)/dt. + // Conservatively, we round d(RA)/dt down, d(DEC)/dt up. + + double deriv_ra; + double deriv_dec; + + switch (body) { - if (alt_before <= 0.0 && alt_after > 0.0) - { - // Search the time window for the desired event. - AstroTime time = Search(context, time_before, evt_after.time, 1.0); - if (time != null) - { - // If we found the rise/set time, but it falls outside limitDays, fail the search. - if (time.ut > startTime.ut + limitDays) - return null; + case Body.Moon: + deriv_ra = +4.5; + deriv_dec = +8.2; + break; - // The search succeeded. - return time; - } - } + case Body.Sun: + deriv_ra = +0.8; + deriv_dec = +0.5; + break; + + case Body.Mercury: + deriv_ra = -1.6; + deriv_dec = +1.0; + break; - // If we didn't find the desired event, use evt_after.time to find the next before-event. - evt_before = SearchHourAngle(body, observer, ha_before, evt_after.time, +1); + case Body.Venus: + deriv_ra = -0.8; + deriv_dec = +0.6; + break; - if (evt_before.time.ut >= startTime.ut + limitDays) - return null; + case Body.Mars: + deriv_ra = -0.5; + deriv_dec = +0.4; + break; - evt_after = SearchHourAngle(body, observer, ha_after, evt_before.time, +1); + case Body.Jupiter: + case Body.Saturn: + case Body.Uranus: + case Body.Neptune: + case Body.Pluto: + deriv_ra = -0.2; + deriv_dec = +0.2; + break; - time_before = evt_before.time; + case Body.Earth: + throw new EarthNotAllowedException(); - alt_before = context.Eval(evt_before.time); - alt_after = context.Eval(evt_after.time); + default: + throw new InvalidBodyException(body); } + + double latrad = DEG2RAD * latitude; + return Math.Abs(((360.0 / SOLAR_DAYS_PER_SIDEREAL_DAY) - deriv_ra)*Math.Cos(latrad)) + Math.Abs(deriv_dec*Math.Sin(latrad)); } - private static AstroTime BackwardSearchAltitude( + private const double RISE_SET_DT = 0.42; // 10.08 hours: Nyquist-safe for 22-hour period. + + private static AstroTime InternalSearchAltitude( Body body, Observer observer, Direction direction, AstroTime startTime, double limitDays, - SearchContext context) + double bodyRadiusAu, + double targetAltitude) { - if (body == Body.Earth) - throw new EarthNotAllowedException(); + double max_deriv_alt = MaxAltitudeSlope(body, observer.latitude); + var context = new SearchContext_Altitude(body, direction, observer, bodyRadiusAu, targetAltitude); - double ha_before, ha_after; - switch (direction) + // We allow searching forward or backward in time. + // But we want to keep t1 < t2, so we need a few if/else statements. + AstroTime t1, t2; + double a1, a2; + if (limitDays < 0.0) { - case Direction.Rise: - ha_before = 12.0; // minimum altitude (bottom) happens BEFORE the body rises. - ha_after = 0.0; // maximum altitude (culmination) happens AFTER the body rises. - break; - - case Direction.Set: - ha_before = 0.0; // culmination happens BEFORE the body sets. - ha_after = 12.0; // bottom happens AFTER the body sets. - break; - - default: - throw new ArgumentException(string.Format("Unsupported direction value {0}", direction)); - } - - // We cannot possibly satisfy a backward search without a negative time limit. - if (limitDays >= 0.0) - return null; - - // See if the body is currently above/below the horizon. - // If we are looking for previous rise time and the body is above the horizon, - // we use the current time as the upper time bound and the previous bottom as the lower time bound. - // If the body is below the horizon, we search for the previous culmination and use it - // as the upper time bound. Then we search for the bottom before that culmination and - // use it as the lower time bound. - // The same logic applies for finding set times; altitude_error_func and - // altitude_error_context ensure that the desired event is represented - // by ascending through zero, so the Search function works correctly. - - HourAngleInfo evt_before, evt_after; - double alt_after = context.Eval(startTime); - AstroTime time_after; - if (alt_after < 0.0) - { - evt_after = SearchHourAngle(body, observer, ha_after, startTime, -1); - time_after = evt_after.time; - alt_after = context.Eval(time_after); + t1 = null; + t2 = startTime; + a1 = double.NaN; + a2 = context.Eval(t2); } else { - time_after = startTime; + t1 = startTime; + t2 = null; + a1 = context.Eval(t1); + a2 = double.NaN; } - evt_before = SearchHourAngle(body, observer, ha_before, time_after, -1); - double alt_before = context.Eval(evt_before.time); - for(;;) { - if (alt_before <= 0.0 && alt_after > 0.0) + if (limitDays < 0.0) + { + t1 = t2.AddDays(-RISE_SET_DT); + a1 = context.Eval(t1); + } + else { - // Search the time window for the desired event. - AstroTime time = Search(context, evt_before.time, time_after, 1.0); + t2 = t1.AddDays(+RISE_SET_DT); + a2 = context.Eval(t2); + } + + AscentInfo ascent = FindAscent(0, context, max_deriv_alt, t1, t2, a1, a2); + if (ascent.valid) + { + // We found a time interval [t1, t2] that contains an alt-diff + // rising from negative a1 to non-negative a2. + // Search for the time where the root occurs. + AstroTime time = Search(context, ascent.tx, ascent.ty, 0.1); if (time != null) { - // If we found the rise/set time, but it falls outside limitDays, fail the search. - if (time.ut < startTime.ut + limitDays) - return null; - - // The search succeeded. - return time; + // Now that we have a solution, we have to check whether it goes outside the time bounds. + if (limitDays < 0.0) + { + if (time.ut < startTime.ut + limitDays) + return null; + } + else + { + if (time.ut > startTime.ut + limitDays) + return null; + } + return time; // success! } - } - evt_after = SearchHourAngle(body, observer, ha_after, evt_before.time, -1); - - if (evt_after.time.ut <= startTime.ut + limitDays) - return null; - - evt_before = SearchHourAngle(body, observer, ha_before, evt_after.time, -1); + // The search should have succeeded. Something is wrong with the ascent finder! + throw new InternalError($"Rise/set search failed after finding {ascent}"); + } - time_after = evt_after.time; - alt_before = context.Eval(evt_before.time); - alt_after = context.Eval(evt_after.time); + // There is no ascent in this interval, so keep searching. + if (limitDays < 0.0) + { + if (t1.ut < startTime.ut + limitDays) + return null; + t2 = t1; + a2 = a1; + } + else + { + if (t2.ut > startTime.ut + limitDays) + return null; + t1 = t2; + a1 = a2; + } } } + /// /// Searches for the next time a celestial body rises or sets as seen by an observer on the Earth. /// @@ -7248,10 +7267,23 @@ public static AstroTime SearchRiseSet( AstroTime startTime, double limitDays) { - var peak_altitude = new SearchContext_PeakAltitude(body, direction, observer); - return (limitDays < 0.0) - ? BackwardSearchAltitude(body, observer, direction, startTime, limitDays, peak_altitude) - : ForwardSearchAltitude( body, observer, direction, startTime, limitDays, peak_altitude); + double bodyRadiusAu; + switch (body) + { + case Body.Sun: + bodyRadiusAu = SUN_RADIUS_AU; + break; + + case Body.Moon: + bodyRadiusAu = MOON_EQUATORIAL_RADIUS_AU; + break; + + default: + bodyRadiusAu = 0.0; + break; + } + + return InternalSearchAltitude(body, observer, direction, startTime, limitDays, bodyRadiusAu, -REFRACTION_NEAR_HORIZON); } /// @@ -7315,10 +7347,7 @@ public static AstroTime SearchAltitude( double limitDays, double altitude) { - var altitude_error = new SearchContext_AltitudeError(body, direction, observer, altitude); - return (limitDays < 0.0) - ? BackwardSearchAltitude(body, observer, direction, startTime, limitDays, altitude_error) - : ForwardSearchAltitude( body, observer, direction, startTime, limitDays, altitude_error); + return InternalSearchAltitude(body, observer, direction, startTime, limitDays, 0.0, altitude); } /// From e31be804979defe35130693d95d8effff5d6a1bd Mon Sep 17 00:00:00 2001 From: Don Cross Date: Sun, 13 Nov 2022 19:25:44 -0500 Subject: [PATCH 11/16] Kotlin: reworked rise/set to work in polar regions --- demo/kotlin/correct/riseset.txt | 8 +- generate/template/astronomy.c | 13 +- generate/template/astronomy.cs | 22 +- generate/template/astronomy.kt | 363 +++++++++--------- source/c/astronomy.c | 13 +- source/csharp/astronomy.cs | 22 +- source/kotlin/doc/sidereal-time.md | 2 +- .../github/cosinekitty/astronomy/astronomy.kt | 363 +++++++++--------- .../io/github/cosinekitty/astronomy/Tests.kt | 6 +- 9 files changed, 396 insertions(+), 416 deletions(-) diff --git a/demo/kotlin/correct/riseset.txt b/demo/kotlin/correct/riseset.txt index 6aa73b15..c240bf0e 100644 --- a/demo/kotlin/correct/riseset.txt +++ b/demo/kotlin/correct/riseset.txt @@ -1,6 +1,6 @@ -moonset : 2018-11-30T19:22:02.718Z -sunset : 2018-11-30T22:21:03.024Z -moonrise : 2018-12-01T06:49:33.192Z -sunrise : 2018-12-01T13:22:51.106Z +moonset : 2018-11-30T19:22:02.735Z +sunset : 2018-11-30T22:21:03.107Z +moonrise : 2018-12-01T06:49:32.983Z +sunrise : 2018-12-01T13:22:51.098Z moonculm : 2018-12-01T13:25:39.717Z altitude = 48.22 sunculm : 2018-12-01T17:51:53.358Z altitude = 22.57 diff --git a/generate/template/astronomy.c b/generate/template/astronomy.c index cafc41fd..59b1d450 100644 --- a/generate/template/astronomy.c +++ b/generate/template/astronomy.c @@ -6634,16 +6634,9 @@ static astro_search_result_t InternalSearchAltitude( /* We allow searching forward or backward in time. */ /* But we want to keep t1 < t2, so we need a few if/else statements. */ - if (limitDays < 0.0) - { - t2 = startTime; - ALTDIFF(a2, t2, &context); - } - else - { - t1 = startTime; - ALTDIFF(a1, t1, &context); - } + t1 = t2 = startTime; + ALTDIFF(a2, t2, &context); + a1 = a2; for(;;) { diff --git a/generate/template/astronomy.cs b/generate/template/astronomy.cs index 2b8e20cc..c1ecfeaf 100644 --- a/generate/template/astronomy.cs +++ b/generate/template/astronomy.cs @@ -5812,7 +5812,7 @@ private static AscentInfo FindAscent( // one second apart. These are marginal cases that are rendered highly uncertain // anyway, due to unpredictable atmospheric refraction conditions (air temperature and pressure). - double dt = (t2.ut - t1.ut) / 2; + double dt = t2.ut - t1.ut; if (dt * SECONDS_PER_DAY < 1.0) return new AscentInfo { valid = false }; @@ -5923,22 +5923,10 @@ private static AstroTime InternalSearchAltitude( // We allow searching forward or backward in time. // But we want to keep t1 < t2, so we need a few if/else statements. - AstroTime t1, t2; - double a1, a2; - if (limitDays < 0.0) - { - t1 = null; - t2 = startTime; - a1 = double.NaN; - a2 = context.Eval(t2); - } - else - { - t1 = startTime; - t2 = null; - a1 = context.Eval(t1); - a2 = double.NaN; - } + AstroTime t1 = startTime; + AstroTime t2 = t1; + double a1 = context.Eval(t1); + double a2 = a1; for(;;) { diff --git a/generate/template/astronomy.kt b/generate/template/astronomy.kt index b152815e..2f8dfe65 100644 --- a/generate/template/astronomy.kt +++ b/generate/template/astronomy.kt @@ -6166,202 +6166,217 @@ fun searchHourAngle( } } -private fun forwardSearchAltitude( - body: Body, - observer: Observer, - direction: Direction, - startTime: Time, - limitDays: Double, - context: SearchContext -): Time? { - if (body == Body.Earth) - throw EarthNotAllowedException() - // We cannot poswsibly satisfy a forward search without a positive time limit. - if (limitDays <= 0.0) - return null +private class AscentInfo( + public val tx: Time, + public val ty: Time, + public val ax: Double, + public val ay: Double +) - // Find the pair of hour angles that bound the desired event. - // When a body's hour angle is 0, it means it is at its highest point - // in the observer's sky, called culmination. - // If the body's hour angle is 12, it means it is at its lowest point in the sky. - // (Note that it is possible for a body to be above OR below the horizon in either case.) - // If the caller wants a rising event, we want the pair haBefore=12, haAfter=0. - // If the caller wants a setting event, the desired pair is haBefore=0, haAfter=12. - val haBefore: Double = when (direction) { - Direction.Rise -> 12.0 // minimum altitude (bottom) happens before the body rises - Direction.Set -> 0.0 // culmination happens before the body sets + +private fun findAscent( + depth: Int, + context: SearchContext_Altitude, + maxDerivAlt: Double, + t1: Time, + t2: Time, + a1: Double, + a2: Double +): AscentInfo? { + // See if we can find any time interval where the altitude-diff function + // rises from non-positive to positive. + if (a1 < 0.0 && a2 >= 0.0) { + // Trivial success case: the endpoints already rise through zero. + return AscentInfo(t1, t2, a1, a2) } - val haAfter: Double = 12.0 - haBefore - - // See if the body is currently above/below the horizon. - // If we are looking for next rise time and the body is below the horizon, - // we use the current time as the lower time bound and the next culmination - // as the upper bound. - // If the body is above the horizon, we search for the next bottom and use it - // as the lower bound and the next culmination after that bottom as the upper bound. - // The same logic applies for finding set times, only we swap the hour angles. - - var altBefore = context.eval(startTime) - var timeBefore: Time - if (altBefore > 0.0) { - // We are past the sought event, so we have to wait for the next "before" event (culm/bottom). - timeBefore = searchHourAngle(body, observer, haBefore, startTime, +1).time - altBefore = context.eval(timeBefore) - } else { - // We are before or at the sought event, so we find the next "after" event, - // and use the current time as the "before" event. - timeBefore = startTime + + if (a1 >= 0.0 && a2 < 0.0) { + // Trivial failure case: Assume Nyquist condition prevents an ascent. + return null } - var timeAfter = searchHourAngle(body, observer, haAfter, timeBefore, +1).time - var altAfter = context.eval(timeAfter) + if (depth > 17) { + // Safety valve: do not allow unlimited recursion. + // This should never happen if the rest of the logic is working correctly, + // so fail the whole search if it does happen. It's a bug! + throw InternalError("Excessive recursion in rise/set ascent search.") + } - while (true) { - if (altBefore <= 0.0 && altAfter > 0.0) { - // The body crosses the horizon during the time interval. - // Search between timeBefore and timeAfter for the desired event. - val time = search(timeBefore, timeAfter, 1.0, context) - if (time != null) { - // If we found the rise/set time, but it falls outside limitDays, fail the search. - if (time.ut > startTime.ut + limitDays) - return null + // Both altitudes are on the same side of zero: both are negative, or both are non-negative. + // There could be a convex "hill" or a concave "valley" that passes through zero. + // In polar regions sometimes there is a rise/set or set/rise pair within minutes of each other. + // For example, the Moon can be below the horizon, then the very top of it becomes + // visible (moonrise) for a few minutes, then it moves sideways and down below + // the horizon again (moonset). We want to catch these cases. + // However, for efficiency and practicality concerns, because the rise/set search itself + // has a 0.1 second threshold, we do not worry about rise/set pairs that are less than + // one second apart. These are marginal cases that are rendered highly uncertain + // anyway, due to unpredictable atmospheric refraction conditions (air temperature and pressure). + + val dt = t2.ut - t1.ut + if (dt * SECONDS_PER_DAY < 1.0) + return null - // The search succeeded. - return time - } - } + // Is it possible to reach zero from the altitude that is closer to zero? + val da = min(abs(a1), abs(a2)) + + // Without loss of generality, assume |a1| <= |a2|. + // (Reverse the argument in the case |a2| < |a1|.) + // Imagine you have to "drive" from a1 to 0, then back to a2. + // You can't go faster than max_deriv_alt. If you can't reach 0 in half the time, + // you certainly don't have time to reach 0, turn around, and still make your way + // back up to a2 (which is at least as far from 0 than a1 is) in the time interval dt. + // Therefore, the time threshold is half the time interval, or dt/2. + if (da > maxDerivAlt*(dt / 2)) { + // Prune: the altitude cannot change fast enough to reach zero. + return null + } - // If we didn't find the desired event, find the next hour angle bracket and try again. - val evtBefore = searchHourAngle(body, observer, haBefore, timeAfter, +1) - if (evtBefore.time.ut >= startTime.ut + limitDays) - return null + // Bisect the time interval and evaluate the altitude at the midpoint. + val tmid = Time((t1.ut + t2.ut)/2) + val amid = context.eval(tmid) - val evtAfter = searchHourAngle(body, observer, haAfter, timeBefore, +1) - timeBefore = evtBefore.time - timeAfter = evtAfter.time - altBefore = context.eval(timeBefore) - altAfter = context.eval(timeAfter) - } + // Use recursion to home in on the first ascending point we can find + return ( + findAscent(1+depth, context, maxDerivAlt, t1, tmid, a1, amid) ?: + findAscent(1+depth, context, maxDerivAlt, tmid, t2, amid, a2) + ) } -private fun backwardSearchAltitude( - body: Body, - observer: Observer, - direction: Direction, - startTime: Time, - limitDays: Double, - context: SearchContext -): Time? { - if (body == Body.Earth) - throw EarthNotAllowedException() - // We cannot poswsibly satisfy a backward search without a negative time limit. - if (limitDays >= 0.0) - return null +private fun maxAltitudeSlope(body: Body, latitude: Double): Double { + // Calculate the maximum possible rate that this body's altitude + // could change [degrees/day] as seen by this observer. + // First use experimentally determined extreme bounds by body + // of how much topocentric RA and DEC can change per rate of time. + // We need minimum possible d(RA)/dt, and maximum possible magnitude of d(DEC)/dt. + // Conservatively, we round d(RA)/dt down, d(DEC)/dt up. - // Find the pair of hour angles that bound the desired event. - // When a body's hour angle is 0, it means it is at its highest point - // in the observer's sky, called culmination. - // If the body's hour angle is 12, it means it is at its lowest point in the sky. - // (Note that it is possible for a body to be above OR below the horizon in either case.) - // If the caller wants a rising event, we want the pair haBefore=12, haAfter=0. - // If the caller wants a setting event, the desired pair is haBefore=0, haAfter=12. - val haBefore: Double = when (direction) { - Direction.Rise -> 12.0 // minimum altitude (bottom) happens before the body rises - Direction.Set -> 0.0 // culmination happens before the body sets - } - val haAfter: Double = 12.0 - haBefore - - // See if the body is currently above/below the horizon. - // If we are looking for previous rise time and the body is above the horizon, - // we use the current time as the upper time bound and the previous bottom as the lower time bound. - // If the body is below the horizon, we search for the previous culmination and use it - // as the upper time bound. Then we search for the bottom before that culmination and - // use it as the lower time bound. - // The same logic applies for finding set times; altitude_error_func and - // altitude_error_context ensure that the desired event is represented - // by ascending through zero, so the Search function works correctly. - - var altAfter = context.eval(startTime) - var timeAfter: Time - if (altAfter < 0.0) { - timeAfter = searchHourAngle(body, observer, haAfter, startTime, -1).time - altAfter = context.eval(timeAfter) - } else { - timeAfter = startTime - } + val derivRa: Double + val derivDec: Double - var timeBefore = searchHourAngle(body, observer, haBefore, timeAfter, -1).time - var altBefore = context.eval(timeBefore) + when (body) { + Body.Moon -> { + derivRa = +4.5 + derivDec = +8.2 + } - while (true) { - if (altBefore <= 0.0 && altAfter > 0.0) { - // The body crosses the horizon during the time interval. - // Search between timeBefore and timeAfter for the desired event. - val time = search(timeBefore, timeAfter, 1.0, context) - if (time != null) { - // If we found the rise/set time, but it falls outside limitDays, fail the search. - if (time.ut < startTime.ut + limitDays) - return null + Body.Sun -> { + derivRa = +0.8 + derivDec = +0.5 + } - // The search succeeded. - return time - } + Body.Mercury -> { + derivRa = -1.6 + derivDec = +1.0 } - // If we didn't find the desired event, find the next hour angle bracket and try again. - val evtAfter = searchHourAngle(body, observer, haAfter, timeBefore, -1) - if (evtAfter.time.ut <= startTime.ut + limitDays) - return null + Body.Venus -> { + derivRa = -0.8 + derivDec = +0.6 + } - val evtBefore = searchHourAngle(body, observer, haBefore, timeAfter, -1) + Body.Mars -> { + derivRa = -0.5 + derivDec = +0.4 + } + + Body.Jupiter, Body.Saturn, Body.Uranus, Body.Neptune, Body.Pluto -> { + derivRa = -0.2 + derivDec = +0.2 + } - timeAfter = evtAfter.time - timeBefore = evtBefore.time - altAfter = context.eval(timeAfter) - altBefore = context.eval(timeBefore) + Body.Earth -> throw EarthNotAllowedException() + else -> throw InvalidBodyException(body) } + + val latrad = latitude.degreesToRadians() + return abs((360.0 / SOLAR_DAYS_PER_SIDEREAL_DAY) - derivRa)*cos(latrad) + abs(derivDec*sin(latrad)) } -private class SearchContext_PeakAltitude( - private val direction: Direction, +private val RISE_SET_DT = 0.42 // 10.08 hours: Nyquist-safe for 22-hour period. + + +private class SearchContext_Altitude( private val body: Body, - private val observer: Observer + private val direction: Direction, + private val observer: Observer, + private val bodyRadiusAu: Double, + private val targetAltitude: Double ) : SearchContext { - private val bodyRadiusAu = when (body) { - Body.Sun -> SUN_RADIUS_AU - Body.Moon -> MOON_EQUATORIAL_RADIUS_AU - else -> 0.0 - } - public override fun eval(time: Time): Double { - // Return the angular altitude above or below the horizon - // of the highest part (the peak) of the given object. - // This is defined as the apparent altitude of the center of the body plus - // the body's angular radius. - // The 'direction' parameter controls whether the angle is measured - // positive above the horizon or positive below the horizon, - // depending on whether the caller wants rise times or set times, respectively. - val ofdate: Equatorial = equator(body, time, observer, EquatorEpoch.OfDate, Aberration.Corrected) val hor: Topocentric = horizon(time, observer, ofdate.ra, ofdate.dec, Refraction.None) - return direction.sign * (hor.altitude + (bodyRadiusAu / ofdate.dist).radiansToDegrees() + REFRACTION_NEAR_HORIZON) + val altitude = hor.altitude + asin(bodyRadiusAu / ofdate.dist).radiansToDegrees() + return direction.sign*(altitude - targetAltitude) } } -private class SearchContext_AltitudeError( - private val direction: Direction, - private val altitude: Double, - private val body: Body, - private val observer: Observer -) : SearchContext { - public override fun eval(time: Time): Double { - val ofdate = equator(body, time, observer, EquatorEpoch.OfDate, Aberration.Corrected) - val hor = horizon(time, observer, ofdate.ra, ofdate.dec, Refraction.None) - return direction.sign * (hor.altitude - altitude) +private fun internalSearchAltitude( + body: Body, + observer: Observer, + direction: Direction, + startTime: Time, + limitDays: Double, + bodyRadiusAu: Double, + targetAltitude: Double +): Time? { + val maxDerivAlt = maxAltitudeSlope(body, observer.latitude) + val context = SearchContext_Altitude(body, direction, observer, bodyRadiusAu, targetAltitude) + + // We allow searching forward or backward in time. + // But we want to keep t1 < t2, so we need a few if/else statements. + var t1: Time = startTime + var t2: Time = t1 + var a1: Double = context.eval(t1) + var a2: Double = a1 + + while (true) { + if (limitDays < 0.0) { + t1 = t2.addDays(-RISE_SET_DT) + a1 = context.eval(t1) + } else { + t2 = t1.addDays(+RISE_SET_DT) + a2 = context.eval(t2) + } + + val ascent = findAscent(0, context, maxDerivAlt, t1, t2, a1, a2) + if (ascent != null) { + // We found a time interval [t1, t2] that contains an alt-diff + // rising from negative a1 to non-negative a2. + // Search for the time where the root occurs. + val time = search(ascent.tx, ascent.ty, 0.1, context) + if (time != null) { + // Now that we have a solution, we have to check whether it goes outside the time bounds. + if (limitDays < 0.0) { + if (time.ut < startTime.ut + limitDays) + return null + } else { + if (time.ut > startTime.ut + limitDays) + return null + } + return time // success! + } + + // The search should have succeeded. Something is wrong with the ascent finder! + throw InternalError("Rise/set search failed after finding ascent: t1=$t1, t2=$t2, a1=$a1, a2=$a2") + } + + // There is no ascent in this interval, so keep searching. + if (limitDays < 0.0) { + if (t1.ut < startTime.ut + limitDays) + return null + t2 = t1 + a2 = a1 + } else { + if (t2.ut > startTime.ut + limitDays) + return null + t1 = t2 + a1 = a2 + } } } @@ -6421,11 +6436,12 @@ fun searchRiseSet( startTime: Time, limitDays: Double ): Time? { - val altitudeError = SearchContext_PeakAltitude(direction, body, observer) - return if (limitDays < 0.0) - backwardSearchAltitude(body, observer, direction, startTime, limitDays, altitudeError) - else - forwardSearchAltitude(body, observer, direction, startTime, limitDays, altitudeError) + val bodyRadiusAu = when (body) { + Body.Sun -> SUN_RADIUS_AU + Body.Moon -> MOON_EQUATORIAL_RADIUS_AU + else -> 0.0 + } + return internalSearchAltitude(body, observer, direction, startTime, limitDays, bodyRadiusAu, -REFRACTION_NEAR_HORIZON) } /** @@ -6482,15 +6498,8 @@ fun searchAltitude( direction: Direction, startTime: Time, limitDays: Double, - altitude: Double -): Time? { - val altitudeError = SearchContext_AltitudeError(direction, altitude, body, observer) - return if (limitDays < 0.0) - backwardSearchAltitude(body, observer, direction, startTime, limitDays, altitudeError) - else - forwardSearchAltitude(body, observer, direction, startTime, limitDays, altitudeError) -} - + altitude: Double): Time? = + internalSearchAltitude(body, observer, direction, startTime, limitDays, 0.0, altitude) /** * Returns the angle between the given body and the Sun, as seen from the Earth. diff --git a/source/c/astronomy.c b/source/c/astronomy.c index 43028643..5831c1f8 100644 --- a/source/c/astronomy.c +++ b/source/c/astronomy.c @@ -7873,16 +7873,9 @@ static astro_search_result_t InternalSearchAltitude( /* We allow searching forward or backward in time. */ /* But we want to keep t1 < t2, so we need a few if/else statements. */ - if (limitDays < 0.0) - { - t2 = startTime; - ALTDIFF(a2, t2, &context); - } - else - { - t1 = startTime; - ALTDIFF(a1, t1, &context); - } + t1 = t2 = startTime; + ALTDIFF(a2, t2, &context); + a1 = a2; for(;;) { diff --git a/source/csharp/astronomy.cs b/source/csharp/astronomy.cs index a022c644..9ff2e4ff 100644 --- a/source/csharp/astronomy.cs +++ b/source/csharp/astronomy.cs @@ -7024,7 +7024,7 @@ private static AscentInfo FindAscent( // one second apart. These are marginal cases that are rendered highly uncertain // anyway, due to unpredictable atmospheric refraction conditions (air temperature and pressure). - double dt = (t2.ut - t1.ut) / 2; + double dt = t2.ut - t1.ut; if (dt * SECONDS_PER_DAY < 1.0) return new AscentInfo { valid = false }; @@ -7135,22 +7135,10 @@ private static AstroTime InternalSearchAltitude( // We allow searching forward or backward in time. // But we want to keep t1 < t2, so we need a few if/else statements. - AstroTime t1, t2; - double a1, a2; - if (limitDays < 0.0) - { - t1 = null; - t2 = startTime; - a1 = double.NaN; - a2 = context.Eval(t2); - } - else - { - t1 = startTime; - t2 = null; - a1 = context.Eval(t1); - a2 = double.NaN; - } + AstroTime t1 = startTime; + AstroTime t2 = t1; + double a1 = context.Eval(t1); + double a2 = a1; for(;;) { diff --git a/source/kotlin/doc/sidereal-time.md b/source/kotlin/doc/sidereal-time.md index 5118ce49..eab0a507 100644 --- a/source/kotlin/doc/sidereal-time.md +++ b/source/kotlin/doc/sidereal-time.md @@ -12,4 +12,4 @@ Given a date and time, this function calculates the rotation of the Earth, repre | | | |---|---| -| time | The date and time for which to find GAST. As an optimization, this function caches the sideral time value in time, unless it has already been cached, in which case the cached value is reused. | +| time | The date and time for which to find GAST. As an optimization, this function caches the sidereal time value in time, unless it has already been cached, in which case the cached value is reused. | diff --git a/source/kotlin/src/main/kotlin/io/github/cosinekitty/astronomy/astronomy.kt b/source/kotlin/src/main/kotlin/io/github/cosinekitty/astronomy/astronomy.kt index 1e643038..ae913bb9 100644 --- a/source/kotlin/src/main/kotlin/io/github/cosinekitty/astronomy/astronomy.kt +++ b/source/kotlin/src/main/kotlin/io/github/cosinekitty/astronomy/astronomy.kt @@ -6166,202 +6166,217 @@ fun searchHourAngle( } } -private fun forwardSearchAltitude( - body: Body, - observer: Observer, - direction: Direction, - startTime: Time, - limitDays: Double, - context: SearchContext -): Time? { - if (body == Body.Earth) - throw EarthNotAllowedException() - // We cannot poswsibly satisfy a forward search without a positive time limit. - if (limitDays <= 0.0) - return null +private class AscentInfo( + public val tx: Time, + public val ty: Time, + public val ax: Double, + public val ay: Double +) - // Find the pair of hour angles that bound the desired event. - // When a body's hour angle is 0, it means it is at its highest point - // in the observer's sky, called culmination. - // If the body's hour angle is 12, it means it is at its lowest point in the sky. - // (Note that it is possible for a body to be above OR below the horizon in either case.) - // If the caller wants a rising event, we want the pair haBefore=12, haAfter=0. - // If the caller wants a setting event, the desired pair is haBefore=0, haAfter=12. - val haBefore: Double = when (direction) { - Direction.Rise -> 12.0 // minimum altitude (bottom) happens before the body rises - Direction.Set -> 0.0 // culmination happens before the body sets + +private fun findAscent( + depth: Int, + context: SearchContext_Altitude, + maxDerivAlt: Double, + t1: Time, + t2: Time, + a1: Double, + a2: Double +): AscentInfo? { + // See if we can find any time interval where the altitude-diff function + // rises from non-positive to positive. + if (a1 < 0.0 && a2 >= 0.0) { + // Trivial success case: the endpoints already rise through zero. + return AscentInfo(t1, t2, a1, a2) } - val haAfter: Double = 12.0 - haBefore - - // See if the body is currently above/below the horizon. - // If we are looking for next rise time and the body is below the horizon, - // we use the current time as the lower time bound and the next culmination - // as the upper bound. - // If the body is above the horizon, we search for the next bottom and use it - // as the lower bound and the next culmination after that bottom as the upper bound. - // The same logic applies for finding set times, only we swap the hour angles. - - var altBefore = context.eval(startTime) - var timeBefore: Time - if (altBefore > 0.0) { - // We are past the sought event, so we have to wait for the next "before" event (culm/bottom). - timeBefore = searchHourAngle(body, observer, haBefore, startTime, +1).time - altBefore = context.eval(timeBefore) - } else { - // We are before or at the sought event, so we find the next "after" event, - // and use the current time as the "before" event. - timeBefore = startTime + + if (a1 >= 0.0 && a2 < 0.0) { + // Trivial failure case: Assume Nyquist condition prevents an ascent. + return null } - var timeAfter = searchHourAngle(body, observer, haAfter, timeBefore, +1).time - var altAfter = context.eval(timeAfter) + if (depth > 17) { + // Safety valve: do not allow unlimited recursion. + // This should never happen if the rest of the logic is working correctly, + // so fail the whole search if it does happen. It's a bug! + throw InternalError("Excessive recursion in rise/set ascent search.") + } - while (true) { - if (altBefore <= 0.0 && altAfter > 0.0) { - // The body crosses the horizon during the time interval. - // Search between timeBefore and timeAfter for the desired event. - val time = search(timeBefore, timeAfter, 1.0, context) - if (time != null) { - // If we found the rise/set time, but it falls outside limitDays, fail the search. - if (time.ut > startTime.ut + limitDays) - return null + // Both altitudes are on the same side of zero: both are negative, or both are non-negative. + // There could be a convex "hill" or a concave "valley" that passes through zero. + // In polar regions sometimes there is a rise/set or set/rise pair within minutes of each other. + // For example, the Moon can be below the horizon, then the very top of it becomes + // visible (moonrise) for a few minutes, then it moves sideways and down below + // the horizon again (moonset). We want to catch these cases. + // However, for efficiency and practicality concerns, because the rise/set search itself + // has a 0.1 second threshold, we do not worry about rise/set pairs that are less than + // one second apart. These are marginal cases that are rendered highly uncertain + // anyway, due to unpredictable atmospheric refraction conditions (air temperature and pressure). + + val dt = t2.ut - t1.ut + if (dt * SECONDS_PER_DAY < 1.0) + return null - // The search succeeded. - return time - } - } + // Is it possible to reach zero from the altitude that is closer to zero? + val da = min(abs(a1), abs(a2)) + + // Without loss of generality, assume |a1| <= |a2|. + // (Reverse the argument in the case |a2| < |a1|.) + // Imagine you have to "drive" from a1 to 0, then back to a2. + // You can't go faster than max_deriv_alt. If you can't reach 0 in half the time, + // you certainly don't have time to reach 0, turn around, and still make your way + // back up to a2 (which is at least as far from 0 than a1 is) in the time interval dt. + // Therefore, the time threshold is half the time interval, or dt/2. + if (da > maxDerivAlt*(dt / 2)) { + // Prune: the altitude cannot change fast enough to reach zero. + return null + } - // If we didn't find the desired event, find the next hour angle bracket and try again. - val evtBefore = searchHourAngle(body, observer, haBefore, timeAfter, +1) - if (evtBefore.time.ut >= startTime.ut + limitDays) - return null + // Bisect the time interval and evaluate the altitude at the midpoint. + val tmid = Time((t1.ut + t2.ut)/2) + val amid = context.eval(tmid) - val evtAfter = searchHourAngle(body, observer, haAfter, timeBefore, +1) - timeBefore = evtBefore.time - timeAfter = evtAfter.time - altBefore = context.eval(timeBefore) - altAfter = context.eval(timeAfter) - } + // Use recursion to home in on the first ascending point we can find + return ( + findAscent(1+depth, context, maxDerivAlt, t1, tmid, a1, amid) ?: + findAscent(1+depth, context, maxDerivAlt, tmid, t2, amid, a2) + ) } -private fun backwardSearchAltitude( - body: Body, - observer: Observer, - direction: Direction, - startTime: Time, - limitDays: Double, - context: SearchContext -): Time? { - if (body == Body.Earth) - throw EarthNotAllowedException() - // We cannot poswsibly satisfy a backward search without a negative time limit. - if (limitDays >= 0.0) - return null +private fun maxAltitudeSlope(body: Body, latitude: Double): Double { + // Calculate the maximum possible rate that this body's altitude + // could change [degrees/day] as seen by this observer. + // First use experimentally determined extreme bounds by body + // of how much topocentric RA and DEC can change per rate of time. + // We need minimum possible d(RA)/dt, and maximum possible magnitude of d(DEC)/dt. + // Conservatively, we round d(RA)/dt down, d(DEC)/dt up. - // Find the pair of hour angles that bound the desired event. - // When a body's hour angle is 0, it means it is at its highest point - // in the observer's sky, called culmination. - // If the body's hour angle is 12, it means it is at its lowest point in the sky. - // (Note that it is possible for a body to be above OR below the horizon in either case.) - // If the caller wants a rising event, we want the pair haBefore=12, haAfter=0. - // If the caller wants a setting event, the desired pair is haBefore=0, haAfter=12. - val haBefore: Double = when (direction) { - Direction.Rise -> 12.0 // minimum altitude (bottom) happens before the body rises - Direction.Set -> 0.0 // culmination happens before the body sets - } - val haAfter: Double = 12.0 - haBefore - - // See if the body is currently above/below the horizon. - // If we are looking for previous rise time and the body is above the horizon, - // we use the current time as the upper time bound and the previous bottom as the lower time bound. - // If the body is below the horizon, we search for the previous culmination and use it - // as the upper time bound. Then we search for the bottom before that culmination and - // use it as the lower time bound. - // The same logic applies for finding set times; altitude_error_func and - // altitude_error_context ensure that the desired event is represented - // by ascending through zero, so the Search function works correctly. - - var altAfter = context.eval(startTime) - var timeAfter: Time - if (altAfter < 0.0) { - timeAfter = searchHourAngle(body, observer, haAfter, startTime, -1).time - altAfter = context.eval(timeAfter) - } else { - timeAfter = startTime - } + val derivRa: Double + val derivDec: Double - var timeBefore = searchHourAngle(body, observer, haBefore, timeAfter, -1).time - var altBefore = context.eval(timeBefore) + when (body) { + Body.Moon -> { + derivRa = +4.5 + derivDec = +8.2 + } - while (true) { - if (altBefore <= 0.0 && altAfter > 0.0) { - // The body crosses the horizon during the time interval. - // Search between timeBefore and timeAfter for the desired event. - val time = search(timeBefore, timeAfter, 1.0, context) - if (time != null) { - // If we found the rise/set time, but it falls outside limitDays, fail the search. - if (time.ut < startTime.ut + limitDays) - return null + Body.Sun -> { + derivRa = +0.8 + derivDec = +0.5 + } - // The search succeeded. - return time - } + Body.Mercury -> { + derivRa = -1.6 + derivDec = +1.0 } - // If we didn't find the desired event, find the next hour angle bracket and try again. - val evtAfter = searchHourAngle(body, observer, haAfter, timeBefore, -1) - if (evtAfter.time.ut <= startTime.ut + limitDays) - return null + Body.Venus -> { + derivRa = -0.8 + derivDec = +0.6 + } - val evtBefore = searchHourAngle(body, observer, haBefore, timeAfter, -1) + Body.Mars -> { + derivRa = -0.5 + derivDec = +0.4 + } + + Body.Jupiter, Body.Saturn, Body.Uranus, Body.Neptune, Body.Pluto -> { + derivRa = -0.2 + derivDec = +0.2 + } - timeAfter = evtAfter.time - timeBefore = evtBefore.time - altAfter = context.eval(timeAfter) - altBefore = context.eval(timeBefore) + Body.Earth -> throw EarthNotAllowedException() + else -> throw InvalidBodyException(body) } + + val latrad = latitude.degreesToRadians() + return abs((360.0 / SOLAR_DAYS_PER_SIDEREAL_DAY) - derivRa)*cos(latrad) + abs(derivDec*sin(latrad)) } -private class SearchContext_PeakAltitude( - private val direction: Direction, +private val RISE_SET_DT = 0.42 // 10.08 hours: Nyquist-safe for 22-hour period. + + +private class SearchContext_Altitude( private val body: Body, - private val observer: Observer + private val direction: Direction, + private val observer: Observer, + private val bodyRadiusAu: Double, + private val targetAltitude: Double ) : SearchContext { - private val bodyRadiusAu = when (body) { - Body.Sun -> SUN_RADIUS_AU - Body.Moon -> MOON_EQUATORIAL_RADIUS_AU - else -> 0.0 - } - public override fun eval(time: Time): Double { - // Return the angular altitude above or below the horizon - // of the highest part (the peak) of the given object. - // This is defined as the apparent altitude of the center of the body plus - // the body's angular radius. - // The 'direction' parameter controls whether the angle is measured - // positive above the horizon or positive below the horizon, - // depending on whether the caller wants rise times or set times, respectively. - val ofdate: Equatorial = equator(body, time, observer, EquatorEpoch.OfDate, Aberration.Corrected) val hor: Topocentric = horizon(time, observer, ofdate.ra, ofdate.dec, Refraction.None) - return direction.sign * (hor.altitude + (bodyRadiusAu / ofdate.dist).radiansToDegrees() + REFRACTION_NEAR_HORIZON) + val altitude = hor.altitude + asin(bodyRadiusAu / ofdate.dist).radiansToDegrees() + return direction.sign*(altitude - targetAltitude) } } -private class SearchContext_AltitudeError( - private val direction: Direction, - private val altitude: Double, - private val body: Body, - private val observer: Observer -) : SearchContext { - public override fun eval(time: Time): Double { - val ofdate = equator(body, time, observer, EquatorEpoch.OfDate, Aberration.Corrected) - val hor = horizon(time, observer, ofdate.ra, ofdate.dec, Refraction.None) - return direction.sign * (hor.altitude - altitude) +private fun internalSearchAltitude( + body: Body, + observer: Observer, + direction: Direction, + startTime: Time, + limitDays: Double, + bodyRadiusAu: Double, + targetAltitude: Double +): Time? { + val maxDerivAlt = maxAltitudeSlope(body, observer.latitude) + val context = SearchContext_Altitude(body, direction, observer, bodyRadiusAu, targetAltitude) + + // We allow searching forward or backward in time. + // But we want to keep t1 < t2, so we need a few if/else statements. + var t1: Time = startTime + var t2: Time = t1 + var a1: Double = context.eval(t1) + var a2: Double = a1 + + while (true) { + if (limitDays < 0.0) { + t1 = t2.addDays(-RISE_SET_DT) + a1 = context.eval(t1) + } else { + t2 = t1.addDays(+RISE_SET_DT) + a2 = context.eval(t2) + } + + val ascent = findAscent(0, context, maxDerivAlt, t1, t2, a1, a2) + if (ascent != null) { + // We found a time interval [t1, t2] that contains an alt-diff + // rising from negative a1 to non-negative a2. + // Search for the time where the root occurs. + val time = search(ascent.tx, ascent.ty, 0.1, context) + if (time != null) { + // Now that we have a solution, we have to check whether it goes outside the time bounds. + if (limitDays < 0.0) { + if (time.ut < startTime.ut + limitDays) + return null + } else { + if (time.ut > startTime.ut + limitDays) + return null + } + return time // success! + } + + // The search should have succeeded. Something is wrong with the ascent finder! + throw InternalError("Rise/set search failed after finding ascent: t1=$t1, t2=$t2, a1=$a1, a2=$a2") + } + + // There is no ascent in this interval, so keep searching. + if (limitDays < 0.0) { + if (t1.ut < startTime.ut + limitDays) + return null + t2 = t1 + a2 = a1 + } else { + if (t2.ut > startTime.ut + limitDays) + return null + t1 = t2 + a1 = a2 + } } } @@ -6421,11 +6436,12 @@ fun searchRiseSet( startTime: Time, limitDays: Double ): Time? { - val altitudeError = SearchContext_PeakAltitude(direction, body, observer) - return if (limitDays < 0.0) - backwardSearchAltitude(body, observer, direction, startTime, limitDays, altitudeError) - else - forwardSearchAltitude(body, observer, direction, startTime, limitDays, altitudeError) + val bodyRadiusAu = when (body) { + Body.Sun -> SUN_RADIUS_AU + Body.Moon -> MOON_EQUATORIAL_RADIUS_AU + else -> 0.0 + } + return internalSearchAltitude(body, observer, direction, startTime, limitDays, bodyRadiusAu, -REFRACTION_NEAR_HORIZON) } /** @@ -6482,15 +6498,8 @@ fun searchAltitude( direction: Direction, startTime: Time, limitDays: Double, - altitude: Double -): Time? { - val altitudeError = SearchContext_AltitudeError(direction, altitude, body, observer) - return if (limitDays < 0.0) - backwardSearchAltitude(body, observer, direction, startTime, limitDays, altitudeError) - else - forwardSearchAltitude(body, observer, direction, startTime, limitDays, altitudeError) -} - + altitude: Double): Time? = + internalSearchAltitude(body, observer, direction, startTime, limitDays, 0.0, altitude) /** * Returns the angle between the given body and the Sun, as seen from the Earth. diff --git a/source/kotlin/src/test/kotlin/io/github/cosinekitty/astronomy/Tests.kt b/source/kotlin/src/test/kotlin/io/github/cosinekitty/astronomy/Tests.kt index 157f4a3d..4cdcd889 100644 --- a/source/kotlin/src/test/kotlin/io/github/cosinekitty/astronomy/Tests.kt +++ b/source/kotlin/src/test/kotlin/io/github/cosinekitty/astronomy/Tests.kt @@ -1135,7 +1135,7 @@ class Tests { // Expect the current search result to match the earlier of the found dates. assertTrue(aDir == direction, "$filename line $lnum: expected direction $direction, bound found $aDir") val errorMinutes = (24.0 * 60.0) * abs(aEvt.tt - correctDate.tt) - assertTrue(errorMinutes < 0.57, "$filename line $lnum: excessive prediction time error = $errorMinutes minutes.") + assertTrue(errorMinutes < 1.16, "$filename line $lnum: excessive prediction time error = $errorMinutes minutes.") } } @@ -1157,7 +1157,7 @@ class Tests { result = searchRiseSet(Body.Sun, observer, dir, time, +1.0) ?: fail("Forward slot search failed for $dir after $time") diff = 86400.0 * abs(result.ut - ut2) - if (diff > 0.9) + if (diff > 0.13) fail("Forward slot search: excessive error = $diff seconds at i=$i, time=$time, dir=$dir") ++i @@ -1211,7 +1211,7 @@ class Tests { --i } - if (maxDiff > 0.982) + if (maxDiff > 0.1) fail("Excessive forward/reverse rise/set discrepancy = $maxDiff seconds.") // All even indexes in utList hold sunrise times. From e85863acf506e249cebc654e5c4ad14737f7159c Mon Sep 17 00:00:00 2001 From: Don Cross Date: Sun, 13 Nov 2022 20:45:00 -0500 Subject: [PATCH 12/16] JS: reworked rise/set to work in polar regions --- README.md | 2 +- demo/browser/astronomy.browser.js | 309 +- demo/nodejs/astronomy.js | 309 +- demo/nodejs/calendar/astronomy.ts | 355 +- demo/nodejs/calendar/correct/calendar.txt | 33028 ++++++++++---------- demo/nodejs/correct/riseset.txt | 8 +- generate/template/astronomy.ts | 353 +- generate/test.js | 6 +- source/js/astronomy.browser.js | 309 +- source/js/astronomy.browser.min.js | 459 +- source/js/astronomy.js | 309 +- source/js/astronomy.min.js | 11 +- source/js/astronomy.ts | 353 +- source/js/esm/astronomy.js | 305 +- 14 files changed, 18120 insertions(+), 17996 deletions(-) diff --git a/README.md b/README.md index e67144a5..4f9d7473 100644 --- a/README.md +++ b/README.md @@ -187,7 +187,7 @@ of complexity. So I decided to create Astronomy Engine with the following engine - Support JavaScript, C, C#, and Python with the same algorithms, and verify them to produce identical results. (Kotlin support was added in 2022.) - No external dependencies! The code must not require anything outside the standard library for each language. -- Minified JavaScript code less than 120K. (The current size is 117923 bytes.) +- Minified JavaScript code less than 120K. (The current size is 118019 bytes.) - Accuracy always within 1 arcminute of results from NOVAS. - It would be well documented, relatively easy to use, and support a wide variety of common use cases. diff --git a/demo/browser/astronomy.browser.js b/demo/browser/astronomy.browser.js index df6732cc..c84d1975 100644 --- a/demo/browser/astronomy.browser.js +++ b/demo/browser/astronomy.browser.js @@ -4801,23 +4801,7 @@ function BodyRadiusAu(body) { */ function SearchRiseSet(body, observer, direction, dateStart, limitDays) { const body_radius_au = BodyRadiusAu(body); - function peak_altitude(t) { - // Return the angular altitude above or below the horizon - // of the highest part (the peak) of the given object. - // This is defined as the apparent altitude of the center of the body plus - // the body's angular radius. - // The 'direction' variable in the enclosing function controls - // whether the angle is measured positive above the horizon or - // positive below the horizon, depending on whether the caller - // wants rise times or set times, respectively. - const ofdate = Equator(body, t, observer, true, true); - const hor = Horizon(t, observer, ofdate.ra, ofdate.dec); - const alt = hor.altitude + exports.RAD2DEG * (body_radius_au / ofdate.dist) + REFRACTION_NEAR_HORIZON; - return direction * alt; - } - return ((limitDays < 0) - ? BackwardSearchAltitude(body, observer, direction, dateStart, limitDays, peak_altitude) - : ForwardSearchAltitude(body, observer, direction, dateStart, limitDays, peak_altitude)); + return InternalSearchAltitude(body, observer, direction, dateStart, limitDays, body_radius_au, -REFRACTION_NEAR_HORIZON); } exports.SearchRiseSet = SearchRiseSet; /** @@ -4876,149 +4860,176 @@ exports.SearchRiseSet = SearchRiseSet; function SearchAltitude(body, observer, direction, dateStart, limitDays, altitude) { if (!Number.isFinite(altitude) || altitude < -90 || altitude > +90) throw `Invalid altitude angle: ${altitude}`; - function altitude_error(t) { - const ofdate = Equator(body, t, observer, true, true); - const hor = Horizon(t, observer, ofdate.ra, ofdate.dec); - return direction * (hor.altitude - altitude); - } - return ((limitDays < 0) - ? BackwardSearchAltitude(body, observer, direction, dateStart, limitDays, altitude_error) - : ForwardSearchAltitude(body, observer, direction, dateStart, limitDays, altitude_error)); + return InternalSearchAltitude(body, observer, direction, dateStart, limitDays, 0, altitude); } exports.SearchAltitude = SearchAltitude; -function ForwardSearchAltitude(body, observer, direction, dateStart, limitDays, altitude_error) { - VerifyObserver(observer); - VerifyNumber(limitDays); - if (body === Body.Earth) - throw 'Cannot find altitude event for the Earth.'; - let ha_before, ha_after; - if (direction === +1) { - ha_before = 12; // minimum altitude (bottom) happens BEFORE the body rises. - ha_after = 0; // maximum altitude (culmination) happens AFTER the body rises. - } - else if (direction === -1) { - ha_before = 0; // culmination happens BEFORE the body sets. - ha_after = 12; // bottom happens AFTER the body sets. - } - else { - throw `Invalid direction parameter ${direction} -- must be +1 or -1`; - } - // We cannot possibly satisfy a forward search without a positive time limit. - if (limitDays <= 0) +class AscentInfo { + constructor(tx, ty, ax, ay) { + this.tx = tx; + this.ty = ty; + this.ax = ax; + this.ay = ay; + } +} +function FindAscent(depth, altdiff, max_deriv_alt, t1, t2, a1, a2) { + // See if we can find any time interval where the altitude-diff function + // rises from non-positive to positive. + if (a1 < 0.0 && a2 >= 0.0) { + // Trivial success case: the endpoints already rise through zero. + return new AscentInfo(t1, t2, a1, a2); + } + if (a1 >= 0.0 && a2 < 0.0) { + // Trivial failure case: Assume Nyquist condition prevents an ascent. return null; - // See if the body is currently above/below the horizon. - // If we are looking for next rise time and the body is below the horizon, - // we use the current time as the lower time bound and the next culmination - // as the upper bound. - // If the body is above the horizon, we search for the next bottom and use it - // as the lower bound and the next culmination after that bottom as the upper bound. - // The same logic applies for finding set times, only we swap the hour angles. - // The peak_altitude() function already considers the 'direction' parameter. - let time_start = MakeTime(dateStart); - let time_before; - let evt_before; - let evt_after; - let error_before = altitude_error(time_start); - let error_after; - if (error_before > 0) { - // We are past the sought event, so we have to wait for the next "before" event (culm/bottom). - evt_before = SearchHourAngle(body, observer, ha_before, time_start, +1); - time_before = evt_before.time; - error_before = altitude_error(time_before); } - else { - // We are before or at the sought event, so we find the next "after" event (bottom/culm), - // and use the current time as the "before" event. - time_before = time_start; + if (depth > 17) { + // Safety valve: do not allow unlimited recursion. + // This should never happen if the rest of the logic is working correctly, + // so fail the whole search if it does happen. It's a bug! + throw `Excessive recursion in rise/set ascent search.`; + } + // Both altitudes are on the same side of zero: both are negative, or both are non-negative. + // There could be a convex "hill" or a concave "valley" that passes through zero. + // In polar regions sometimes there is a rise/set or set/rise pair within minutes of each other. + // For example, the Moon can be below the horizon, then the very top of it becomes + // visible (moonrise) for a few minutes, then it moves sideways and down below + // the horizon again (moonset). We want to catch these cases. + // However, for efficiency and practicality concerns, because the rise/set search itself + // has a 0.1 second threshold, we do not worry about rise/set pairs that are less than + // one second apart. These are marginal cases that are rendered highly uncertain + // anyway, due to unpredictable atmospheric refraction conditions (air temperature and pressure). + const dt = t2.ut - t1.ut; + if (dt * SECONDS_PER_DAY < 1.0) + return null; + // Is it possible to reach zero from the altitude that is closer to zero? + const da = Math.min(Math.abs(a1), Math.abs(a2)); + // Without loss of generality, assume |a1| <= |a2|. + // (Reverse the argument in the case |a2| < |a1|.) + // Imagine you have to "drive" from a1 to 0, then back to a2. + // You can't go faster than max_deriv_alt. If you can't reach 0 in half the time, + // you certainly don't have time to reach 0, turn around, and still make your way + // back up to a2 (which is at least as far from 0 than a1 is) in the time interval dt. + // Therefore, the time threshold is half the time interval, or dt/2. + if (da > max_deriv_alt * (dt / 2)) { + // Prune: the altitude cannot change fast enough to reach zero. + return null; } - evt_after = SearchHourAngle(body, observer, ha_after, time_before, +1); - error_after = altitude_error(evt_after.time); - while (true) { - if (error_before <= 0 && error_after > 0) { - // Search between evt_before and evt_after for the desired event. - let tx = Search(altitude_error, time_before, evt_after.time, { init_f1: error_before, init_f2: error_after }); - if (tx) { - // If we found the rise/set time, but it falls outside limitDays, fail the search. - if (tx.ut > time_start.ut + limitDays) - return null; - // The search succeeded. - return tx; - } - } - // If we didn't find the desired event, use time_after to find the next before-event. - evt_before = SearchHourAngle(body, observer, ha_before, evt_after.time, +1); - if (evt_before.time.ut >= time_start.ut + limitDays) - return null; - evt_after = SearchHourAngle(body, observer, ha_after, evt_before.time, +1); - time_before = evt_before.time; - error_before = altitude_error(evt_before.time); - error_after = altitude_error(evt_after.time); + // Bisect the time interval and evaluate the altitude at the midpoint. + const tmid = new AstroTime((t1.ut + t2.ut) / 2); + const amid = altdiff(tmid); + // Use recursive bisection to search for a solution bracket. + return (FindAscent(1 + depth, altdiff, max_deriv_alt, t1, tmid, a1, amid) || + FindAscent(1 + depth, altdiff, max_deriv_alt, tmid, t2, amid, a2)); +} +function MaxAltitudeSlope(body, latitude) { + // Calculate the maximum possible rate that this body's altitude + // could change [degrees/day] as seen by this observer. + // First use experimentally determined extreme bounds by body + // of how much topocentric RA and DEC can change per rate of time. + // We need minimum possible d(RA)/dt, and maximum possible magnitude of d(DEC)/dt. + // Conservatively, we round d(RA)/dt down, d(DEC)/dt up. + let deriv_ra; + let deriv_dec; + switch (body) { + case Body.Moon: + deriv_ra = +4.5; + deriv_dec = +8.2; + break; + case Body.Sun: + deriv_ra = +0.8; + deriv_dec = +0.5; + break; + case Body.Mercury: + deriv_ra = -1.6; + deriv_dec = +1.0; + break; + case Body.Venus: + deriv_ra = -0.8; + deriv_dec = +0.6; + break; + case Body.Mars: + deriv_ra = -0.5; + deriv_dec = +0.4; + break; + case Body.Jupiter: + case Body.Saturn: + case Body.Uranus: + case Body.Neptune: + case Body.Pluto: + deriv_ra = -0.2; + deriv_dec = +0.2; + break; + default: + throw `Body not allowed for altitude search: ${body}`; } + const latrad = exports.DEG2RAD * latitude; + return Math.abs(((360.0 / SOLAR_DAYS_PER_SIDEREAL_DAY) - deriv_ra) * Math.cos(latrad)) + Math.abs(deriv_dec * Math.sin(latrad)); } -function BackwardSearchAltitude(body, observer, direction, dateStart, limitDays, altitude_error) { +function InternalSearchAltitude(body, observer, direction, dateStart, limitDays, bodyRadiusAu, targetAltitude) { VerifyObserver(observer); VerifyNumber(limitDays); - if (body === Body.Earth) - throw 'Cannot find altitude event for the Earth.'; - let ha_before, ha_after; - if (direction === +1) { - ha_before = 12; // minimum altitude (bottom) happens BEFORE the body rises. - ha_after = 0; // maximum altitude (culmination) happens AFTER the body rises. - } - else if (direction === -1) { - ha_before = 0; // culmination happens BEFORE the body sets. - ha_after = 12; // bottom happens AFTER the body sets. - } - else { - throw `Invalid direction parameter ${direction} -- must be +1 or -1`; - } - // We cannot possibly satisfy a backward search without a negative time limit. - if (limitDays >= 0) - return null; - // See if the body is currently above/below the horizon. - // If we are looking for previous rise time and the body is above the horizon, - // we use the current time as the upper time bound and the previous bottom as the lower time bound. - // If the body is below the horizon, we search for the previous culmination and use it - // as the upper time bound. Then we search for the bottom before that culmination and - // use it as the lower time bound. - // The same logic applies for finding set times; altitude_error_func and - // altitude_error_context ensure that the desired event is represented - // by ascending through zero, so the Search function works correctly. - let time_start = MakeTime(dateStart); - let time_after; - let evt_before; - let evt_after; - let error_after = altitude_error(time_start); - let error_before; - if (error_after < 0) { - evt_after = SearchHourAngle(body, observer, ha_after, time_start, -1); - time_after = evt_after.time; - error_after = altitude_error(time_after); - } - else { - time_after = time_start; - } - evt_before = SearchHourAngle(body, observer, ha_before, time_after, -1); - error_before = altitude_error(evt_before.time); - while (true) { - if (error_before <= 0 && error_after > 0) { - // Search between evt_before and evt_after for the desired event. - let tx = Search(altitude_error, evt_before.time, time_after, { init_f1: error_before, init_f2: error_after }); - if (tx) { - // If we found the rise/set time, but it falls outside limitDays, fail the search. - if (tx.ut < time_start.ut + limitDays) - return null; - // The search succeeded. - return tx; + const RISE_SET_DT = 0.42; // 10.08 hours: Nyquist-safe for 22-hour period. + const max_deriv_alt = MaxAltitudeSlope(body, observer.latitude); + function altdiff(time) { + const ofdate = Equator(body, time, observer, true, true); + const hor = Horizon(time, observer, ofdate.ra, ofdate.dec); + const altitude = hor.altitude + exports.RAD2DEG * Math.asin(bodyRadiusAu / ofdate.dist); + return direction * (altitude - targetAltitude); + } + // We allow searching forward or backward in time. + // But we want to keep t1 < t2, so we need a few if/else statements. + const startTime = MakeTime(dateStart); + let t1 = startTime; + let t2 = startTime; + let a1 = altdiff(t1); + let a2 = a1; + for (;;) { + if (limitDays < 0.0) { + t1 = t2.AddDays(-RISE_SET_DT); + a1 = altdiff(t1); + } + else { + t2 = t1.AddDays(+RISE_SET_DT); + a2 = altdiff(t2); + } + const ascent = FindAscent(0, altdiff, max_deriv_alt, t1, t2, a1, a2); + if (ascent) { + // We found a time interval [t1, t2] that contains an alt-diff + // rising from negative a1 to non-negative a2. + // Search for the time where the root occurs. + const time = Search(altdiff, ascent.tx, ascent.ty, { + dt_tolerance_seconds: 0.1, + init_f1: ascent.ax, + init_f2: ascent.ay + }); + if (time) { + // Now that we have a solution, we have to check whether it goes outside the time bounds. + if (limitDays < 0.0) { + if (time.ut < startTime.ut + limitDays) + return null; + } + else { + if (time.ut > startTime.ut + limitDays) + return null; + } + return time; // success! } + // The search should have succeeded. Something is wrong with the ascent finder! + throw `Rise/set search failed after finding ascent: t1=${t1}, t2=${t2}, a1=${a1}, a2=${a2}`; + } + // There is no ascent in this interval, so keep searching. + if (limitDays < 0.0) { + if (t1.ut < startTime.ut + limitDays) + return null; + t2 = t1; + a2 = a1; + } + else { + if (t2.ut > startTime.ut + limitDays) + return null; + t1 = t2; + a1 = a2; } - evt_after = SearchHourAngle(body, observer, ha_after, evt_before.time, -1); - if (evt_after.time.ut <= time_start.ut + limitDays) - return null; - evt_before = SearchHourAngle(body, observer, ha_before, evt_after.time, -1); - time_after = evt_before.time; - error_before = altitude_error(evt_before.time); - error_after = altitude_error(evt_after.time); } } /** diff --git a/demo/nodejs/astronomy.js b/demo/nodejs/astronomy.js index 24e6ba41..cf451ae7 100644 --- a/demo/nodejs/astronomy.js +++ b/demo/nodejs/astronomy.js @@ -4800,23 +4800,7 @@ function BodyRadiusAu(body) { */ function SearchRiseSet(body, observer, direction, dateStart, limitDays) { const body_radius_au = BodyRadiusAu(body); - function peak_altitude(t) { - // Return the angular altitude above or below the horizon - // of the highest part (the peak) of the given object. - // This is defined as the apparent altitude of the center of the body plus - // the body's angular radius. - // The 'direction' variable in the enclosing function controls - // whether the angle is measured positive above the horizon or - // positive below the horizon, depending on whether the caller - // wants rise times or set times, respectively. - const ofdate = Equator(body, t, observer, true, true); - const hor = Horizon(t, observer, ofdate.ra, ofdate.dec); - const alt = hor.altitude + exports.RAD2DEG * (body_radius_au / ofdate.dist) + REFRACTION_NEAR_HORIZON; - return direction * alt; - } - return ((limitDays < 0) - ? BackwardSearchAltitude(body, observer, direction, dateStart, limitDays, peak_altitude) - : ForwardSearchAltitude(body, observer, direction, dateStart, limitDays, peak_altitude)); + return InternalSearchAltitude(body, observer, direction, dateStart, limitDays, body_radius_au, -REFRACTION_NEAR_HORIZON); } exports.SearchRiseSet = SearchRiseSet; /** @@ -4875,149 +4859,176 @@ exports.SearchRiseSet = SearchRiseSet; function SearchAltitude(body, observer, direction, dateStart, limitDays, altitude) { if (!Number.isFinite(altitude) || altitude < -90 || altitude > +90) throw `Invalid altitude angle: ${altitude}`; - function altitude_error(t) { - const ofdate = Equator(body, t, observer, true, true); - const hor = Horizon(t, observer, ofdate.ra, ofdate.dec); - return direction * (hor.altitude - altitude); - } - return ((limitDays < 0) - ? BackwardSearchAltitude(body, observer, direction, dateStart, limitDays, altitude_error) - : ForwardSearchAltitude(body, observer, direction, dateStart, limitDays, altitude_error)); + return InternalSearchAltitude(body, observer, direction, dateStart, limitDays, 0, altitude); } exports.SearchAltitude = SearchAltitude; -function ForwardSearchAltitude(body, observer, direction, dateStart, limitDays, altitude_error) { - VerifyObserver(observer); - VerifyNumber(limitDays); - if (body === Body.Earth) - throw 'Cannot find altitude event for the Earth.'; - let ha_before, ha_after; - if (direction === +1) { - ha_before = 12; // minimum altitude (bottom) happens BEFORE the body rises. - ha_after = 0; // maximum altitude (culmination) happens AFTER the body rises. - } - else if (direction === -1) { - ha_before = 0; // culmination happens BEFORE the body sets. - ha_after = 12; // bottom happens AFTER the body sets. - } - else { - throw `Invalid direction parameter ${direction} -- must be +1 or -1`; - } - // We cannot possibly satisfy a forward search without a positive time limit. - if (limitDays <= 0) +class AscentInfo { + constructor(tx, ty, ax, ay) { + this.tx = tx; + this.ty = ty; + this.ax = ax; + this.ay = ay; + } +} +function FindAscent(depth, altdiff, max_deriv_alt, t1, t2, a1, a2) { + // See if we can find any time interval where the altitude-diff function + // rises from non-positive to positive. + if (a1 < 0.0 && a2 >= 0.0) { + // Trivial success case: the endpoints already rise through zero. + return new AscentInfo(t1, t2, a1, a2); + } + if (a1 >= 0.0 && a2 < 0.0) { + // Trivial failure case: Assume Nyquist condition prevents an ascent. return null; - // See if the body is currently above/below the horizon. - // If we are looking for next rise time and the body is below the horizon, - // we use the current time as the lower time bound and the next culmination - // as the upper bound. - // If the body is above the horizon, we search for the next bottom and use it - // as the lower bound and the next culmination after that bottom as the upper bound. - // The same logic applies for finding set times, only we swap the hour angles. - // The peak_altitude() function already considers the 'direction' parameter. - let time_start = MakeTime(dateStart); - let time_before; - let evt_before; - let evt_after; - let error_before = altitude_error(time_start); - let error_after; - if (error_before > 0) { - // We are past the sought event, so we have to wait for the next "before" event (culm/bottom). - evt_before = SearchHourAngle(body, observer, ha_before, time_start, +1); - time_before = evt_before.time; - error_before = altitude_error(time_before); } - else { - // We are before or at the sought event, so we find the next "after" event (bottom/culm), - // and use the current time as the "before" event. - time_before = time_start; + if (depth > 17) { + // Safety valve: do not allow unlimited recursion. + // This should never happen if the rest of the logic is working correctly, + // so fail the whole search if it does happen. It's a bug! + throw `Excessive recursion in rise/set ascent search.`; + } + // Both altitudes are on the same side of zero: both are negative, or both are non-negative. + // There could be a convex "hill" or a concave "valley" that passes through zero. + // In polar regions sometimes there is a rise/set or set/rise pair within minutes of each other. + // For example, the Moon can be below the horizon, then the very top of it becomes + // visible (moonrise) for a few minutes, then it moves sideways and down below + // the horizon again (moonset). We want to catch these cases. + // However, for efficiency and practicality concerns, because the rise/set search itself + // has a 0.1 second threshold, we do not worry about rise/set pairs that are less than + // one second apart. These are marginal cases that are rendered highly uncertain + // anyway, due to unpredictable atmospheric refraction conditions (air temperature and pressure). + const dt = t2.ut - t1.ut; + if (dt * SECONDS_PER_DAY < 1.0) + return null; + // Is it possible to reach zero from the altitude that is closer to zero? + const da = Math.min(Math.abs(a1), Math.abs(a2)); + // Without loss of generality, assume |a1| <= |a2|. + // (Reverse the argument in the case |a2| < |a1|.) + // Imagine you have to "drive" from a1 to 0, then back to a2. + // You can't go faster than max_deriv_alt. If you can't reach 0 in half the time, + // you certainly don't have time to reach 0, turn around, and still make your way + // back up to a2 (which is at least as far from 0 than a1 is) in the time interval dt. + // Therefore, the time threshold is half the time interval, or dt/2. + if (da > max_deriv_alt * (dt / 2)) { + // Prune: the altitude cannot change fast enough to reach zero. + return null; } - evt_after = SearchHourAngle(body, observer, ha_after, time_before, +1); - error_after = altitude_error(evt_after.time); - while (true) { - if (error_before <= 0 && error_after > 0) { - // Search between evt_before and evt_after for the desired event. - let tx = Search(altitude_error, time_before, evt_after.time, { init_f1: error_before, init_f2: error_after }); - if (tx) { - // If we found the rise/set time, but it falls outside limitDays, fail the search. - if (tx.ut > time_start.ut + limitDays) - return null; - // The search succeeded. - return tx; - } - } - // If we didn't find the desired event, use time_after to find the next before-event. - evt_before = SearchHourAngle(body, observer, ha_before, evt_after.time, +1); - if (evt_before.time.ut >= time_start.ut + limitDays) - return null; - evt_after = SearchHourAngle(body, observer, ha_after, evt_before.time, +1); - time_before = evt_before.time; - error_before = altitude_error(evt_before.time); - error_after = altitude_error(evt_after.time); + // Bisect the time interval and evaluate the altitude at the midpoint. + const tmid = new AstroTime((t1.ut + t2.ut) / 2); + const amid = altdiff(tmid); + // Use recursive bisection to search for a solution bracket. + return (FindAscent(1 + depth, altdiff, max_deriv_alt, t1, tmid, a1, amid) || + FindAscent(1 + depth, altdiff, max_deriv_alt, tmid, t2, amid, a2)); +} +function MaxAltitudeSlope(body, latitude) { + // Calculate the maximum possible rate that this body's altitude + // could change [degrees/day] as seen by this observer. + // First use experimentally determined extreme bounds by body + // of how much topocentric RA and DEC can change per rate of time. + // We need minimum possible d(RA)/dt, and maximum possible magnitude of d(DEC)/dt. + // Conservatively, we round d(RA)/dt down, d(DEC)/dt up. + let deriv_ra; + let deriv_dec; + switch (body) { + case Body.Moon: + deriv_ra = +4.5; + deriv_dec = +8.2; + break; + case Body.Sun: + deriv_ra = +0.8; + deriv_dec = +0.5; + break; + case Body.Mercury: + deriv_ra = -1.6; + deriv_dec = +1.0; + break; + case Body.Venus: + deriv_ra = -0.8; + deriv_dec = +0.6; + break; + case Body.Mars: + deriv_ra = -0.5; + deriv_dec = +0.4; + break; + case Body.Jupiter: + case Body.Saturn: + case Body.Uranus: + case Body.Neptune: + case Body.Pluto: + deriv_ra = -0.2; + deriv_dec = +0.2; + break; + default: + throw `Body not allowed for altitude search: ${body}`; } + const latrad = exports.DEG2RAD * latitude; + return Math.abs(((360.0 / SOLAR_DAYS_PER_SIDEREAL_DAY) - deriv_ra) * Math.cos(latrad)) + Math.abs(deriv_dec * Math.sin(latrad)); } -function BackwardSearchAltitude(body, observer, direction, dateStart, limitDays, altitude_error) { +function InternalSearchAltitude(body, observer, direction, dateStart, limitDays, bodyRadiusAu, targetAltitude) { VerifyObserver(observer); VerifyNumber(limitDays); - if (body === Body.Earth) - throw 'Cannot find altitude event for the Earth.'; - let ha_before, ha_after; - if (direction === +1) { - ha_before = 12; // minimum altitude (bottom) happens BEFORE the body rises. - ha_after = 0; // maximum altitude (culmination) happens AFTER the body rises. - } - else if (direction === -1) { - ha_before = 0; // culmination happens BEFORE the body sets. - ha_after = 12; // bottom happens AFTER the body sets. - } - else { - throw `Invalid direction parameter ${direction} -- must be +1 or -1`; - } - // We cannot possibly satisfy a backward search without a negative time limit. - if (limitDays >= 0) - return null; - // See if the body is currently above/below the horizon. - // If we are looking for previous rise time and the body is above the horizon, - // we use the current time as the upper time bound and the previous bottom as the lower time bound. - // If the body is below the horizon, we search for the previous culmination and use it - // as the upper time bound. Then we search for the bottom before that culmination and - // use it as the lower time bound. - // The same logic applies for finding set times; altitude_error_func and - // altitude_error_context ensure that the desired event is represented - // by ascending through zero, so the Search function works correctly. - let time_start = MakeTime(dateStart); - let time_after; - let evt_before; - let evt_after; - let error_after = altitude_error(time_start); - let error_before; - if (error_after < 0) { - evt_after = SearchHourAngle(body, observer, ha_after, time_start, -1); - time_after = evt_after.time; - error_after = altitude_error(time_after); - } - else { - time_after = time_start; - } - evt_before = SearchHourAngle(body, observer, ha_before, time_after, -1); - error_before = altitude_error(evt_before.time); - while (true) { - if (error_before <= 0 && error_after > 0) { - // Search between evt_before and evt_after for the desired event. - let tx = Search(altitude_error, evt_before.time, time_after, { init_f1: error_before, init_f2: error_after }); - if (tx) { - // If we found the rise/set time, but it falls outside limitDays, fail the search. - if (tx.ut < time_start.ut + limitDays) - return null; - // The search succeeded. - return tx; + const RISE_SET_DT = 0.42; // 10.08 hours: Nyquist-safe for 22-hour period. + const max_deriv_alt = MaxAltitudeSlope(body, observer.latitude); + function altdiff(time) { + const ofdate = Equator(body, time, observer, true, true); + const hor = Horizon(time, observer, ofdate.ra, ofdate.dec); + const altitude = hor.altitude + exports.RAD2DEG * Math.asin(bodyRadiusAu / ofdate.dist); + return direction * (altitude - targetAltitude); + } + // We allow searching forward or backward in time. + // But we want to keep t1 < t2, so we need a few if/else statements. + const startTime = MakeTime(dateStart); + let t1 = startTime; + let t2 = startTime; + let a1 = altdiff(t1); + let a2 = a1; + for (;;) { + if (limitDays < 0.0) { + t1 = t2.AddDays(-RISE_SET_DT); + a1 = altdiff(t1); + } + else { + t2 = t1.AddDays(+RISE_SET_DT); + a2 = altdiff(t2); + } + const ascent = FindAscent(0, altdiff, max_deriv_alt, t1, t2, a1, a2); + if (ascent) { + // We found a time interval [t1, t2] that contains an alt-diff + // rising from negative a1 to non-negative a2. + // Search for the time where the root occurs. + const time = Search(altdiff, ascent.tx, ascent.ty, { + dt_tolerance_seconds: 0.1, + init_f1: ascent.ax, + init_f2: ascent.ay + }); + if (time) { + // Now that we have a solution, we have to check whether it goes outside the time bounds. + if (limitDays < 0.0) { + if (time.ut < startTime.ut + limitDays) + return null; + } + else { + if (time.ut > startTime.ut + limitDays) + return null; + } + return time; // success! } + // The search should have succeeded. Something is wrong with the ascent finder! + throw `Rise/set search failed after finding ascent: t1=${t1}, t2=${t2}, a1=${a1}, a2=${a2}`; + } + // There is no ascent in this interval, so keep searching. + if (limitDays < 0.0) { + if (t1.ut < startTime.ut + limitDays) + return null; + t2 = t1; + a2 = a1; + } + else { + if (t2.ut > startTime.ut + limitDays) + return null; + t1 = t2; + a1 = a2; } - evt_after = SearchHourAngle(body, observer, ha_after, evt_before.time, -1); - if (evt_after.time.ut <= time_start.ut + limitDays) - return null; - evt_before = SearchHourAngle(body, observer, ha_before, evt_after.time, -1); - time_after = evt_before.time; - error_before = altitude_error(evt_before.time); - error_after = altitude_error(evt_after.time); } } /** diff --git a/demo/nodejs/calendar/astronomy.ts b/demo/nodejs/calendar/astronomy.ts index 76888444..27947bbb 100644 --- a/demo/nodejs/calendar/astronomy.ts +++ b/demo/nodejs/calendar/astronomy.ts @@ -2556,7 +2556,7 @@ export function Horizon(date: FlexibleDateTime, observer: Observer, ra: number, let uwe: ArrayVector = [sinlon, -coslon, 0]; // Correct the vectors uze, une, uwe for the Earth's rotation by calculating - // sideral time. Call spin() for each uncorrected vector to rotate about + // sidereal time. Call spin() for each uncorrected vector to rotate about // the Earth's axis to yield corrected unit vectors uz, un, uw. // Multiply sidereal hours by -15 to convert to degrees and flip eastward // rotation of the Earth to westward apparent movement of objects with time. @@ -5275,7 +5275,7 @@ function BodyRadiusAu(body: Body): number { switch (body) { case Body.Sun: return SUN_RADIUS_AU; case Body.Moon: return MOON_EQUATORIAL_RADIUS_AU; - default: return 0; + default: return 0; } } @@ -5325,28 +5325,7 @@ export function SearchRiseSet( limitDays: number): AstroTime | null { const body_radius_au:number = BodyRadiusAu(body); - - function peak_altitude(t: AstroTime): number { - // Return the angular altitude above or below the horizon - // of the highest part (the peak) of the given object. - // This is defined as the apparent altitude of the center of the body plus - // the body's angular radius. - // The 'direction' variable in the enclosing function controls - // whether the angle is measured positive above the horizon or - // positive below the horizon, depending on whether the caller - // wants rise times or set times, respectively. - - const ofdate = Equator(body, t, observer, true, true); - const hor = Horizon(t, observer, ofdate.ra, ofdate.dec); - const alt = hor.altitude + RAD2DEG*(body_radius_au / ofdate.dist) + REFRACTION_NEAR_HORIZON; - return direction * alt; - } - - return ( - (limitDays < 0) - ? BackwardSearchAltitude(body, observer, direction, dateStart, limitDays, peak_altitude) - : ForwardSearchAltitude( body, observer, direction, dateStart, limitDays, peak_altitude) - ); + return InternalSearchAltitude(body, observer, direction, dateStart, limitDays, body_radius_au, -REFRACTION_NEAR_HORIZON); } /** @@ -5413,183 +5392,227 @@ export function SearchRiseSet( if (!Number.isFinite(altitude) || altitude < -90 || altitude > +90) throw `Invalid altitude angle: ${altitude}`; - function altitude_error(t: AstroTime): number { - const ofdate = Equator(body, t, observer, true, true); - const hor = Horizon(t, observer, ofdate.ra, ofdate.dec); - return direction * (hor.altitude - altitude); - } + return InternalSearchAltitude(body, observer, direction, dateStart, limitDays, 0, altitude); +} - return ( - (limitDays < 0) - ? BackwardSearchAltitude(body, observer, direction, dateStart, limitDays, altitude_error) - : ForwardSearchAltitude( body, observer, direction, dateStart, limitDays, altitude_error) - ); + +class AscentInfo { + constructor( + public tx: AstroTime, + public ty: AstroTime, + public ax: number, + public ay: number) + {} } -function ForwardSearchAltitude( - body: Body, - observer: Observer, - direction: number, - dateStart: FlexibleDateTime, - limitDays: number, - altitude_error: (t: AstroTime) => number): AstroTime | null +function FindAscent( + depth: number, + altdiff: (t: AstroTime) => number, + max_deriv_alt: number, + t1: AstroTime, + t2: AstroTime, + a1: number, + a2: number): AscentInfo | null { - VerifyObserver(observer); - VerifyNumber(limitDays); + // See if we can find any time interval where the altitude-diff function + // rises from non-positive to positive. - if (body === Body.Earth) - throw 'Cannot find altitude event for the Earth.'; - - let ha_before: number, ha_after: number; - if (direction === +1) { - ha_before = 12; // minimum altitude (bottom) happens BEFORE the body rises. - ha_after = 0; // maximum altitude (culmination) happens AFTER the body rises. - } else if (direction === -1) { - ha_before = 0; // culmination happens BEFORE the body sets. - ha_after = 12; // bottom happens AFTER the body sets. - } else { - throw `Invalid direction parameter ${direction} -- must be +1 or -1`; + if (a1 < 0.0 && a2 >= 0.0) { + // Trivial success case: the endpoints already rise through zero. + return new AscentInfo(t1, t2, a1, a2); } - // We cannot possibly satisfy a forward search without a positive time limit. - if (limitDays <= 0) + if (a1 >= 0.0 && a2 < 0.0) { + // Trivial failure case: Assume Nyquist condition prevents an ascent. return null; + } - // See if the body is currently above/below the horizon. - // If we are looking for next rise time and the body is below the horizon, - // we use the current time as the lower time bound and the next culmination - // as the upper bound. - // If the body is above the horizon, we search for the next bottom and use it - // as the lower bound and the next culmination after that bottom as the upper bound. - // The same logic applies for finding set times, only we swap the hour angles. - // The peak_altitude() function already considers the 'direction' parameter. - - let time_start = MakeTime(dateStart); - let time_before: AstroTime; - let evt_before: HourAngleEvent; - let evt_after: HourAngleEvent; - let error_before = altitude_error(time_start); - let error_after: number; - if (error_before > 0) { - // We are past the sought event, so we have to wait for the next "before" event (culm/bottom). - evt_before = SearchHourAngle(body, observer, ha_before, time_start, +1); - time_before = evt_before.time; - error_before = altitude_error(time_before); - } else { - // We are before or at the sought event, so we find the next "after" event (bottom/culm), - // and use the current time as the "before" event. - time_before = time_start; + if (depth > 17) { + // Safety valve: do not allow unlimited recursion. + // This should never happen if the rest of the logic is working correctly, + // so fail the whole search if it does happen. It's a bug! + throw `Excessive recursion in rise/set ascent search.`; } - evt_after = SearchHourAngle(body, observer, ha_after, time_before, +1); - error_after = altitude_error(evt_after.time); - while (true) { - if (error_before <= 0 && error_after > 0) { - // Search between evt_before and evt_after for the desired event. - let tx = Search(altitude_error, time_before, evt_after.time, {init_f1:error_before, init_f2:error_after}); - if (tx) { - // If we found the rise/set time, but it falls outside limitDays, fail the search. - if (tx.ut > time_start.ut + limitDays) - return null; - - // The search succeeded. - return tx; - } - } + // Both altitudes are on the same side of zero: both are negative, or both are non-negative. + // There could be a convex "hill" or a concave "valley" that passes through zero. + // In polar regions sometimes there is a rise/set or set/rise pair within minutes of each other. + // For example, the Moon can be below the horizon, then the very top of it becomes + // visible (moonrise) for a few minutes, then it moves sideways and down below + // the horizon again (moonset). We want to catch these cases. + // However, for efficiency and practicality concerns, because the rise/set search itself + // has a 0.1 second threshold, we do not worry about rise/set pairs that are less than + // one second apart. These are marginal cases that are rendered highly uncertain + // anyway, due to unpredictable atmospheric refraction conditions (air temperature and pressure). - // If we didn't find the desired event, use time_after to find the next before-event. - evt_before = SearchHourAngle(body, observer, ha_before, evt_after.time, +1); - if (evt_before.time.ut >= time_start.ut + limitDays) - return null; - evt_after = SearchHourAngle(body, observer, ha_after, evt_before.time, +1); + const dt = t2.ut - t1.ut; + if (dt * SECONDS_PER_DAY < 1.0) + return null; + + // Is it possible to reach zero from the altitude that is closer to zero? + const da = Math.min(Math.abs(a1), Math.abs(a2)); + + // Without loss of generality, assume |a1| <= |a2|. + // (Reverse the argument in the case |a2| < |a1|.) + // Imagine you have to "drive" from a1 to 0, then back to a2. + // You can't go faster than max_deriv_alt. If you can't reach 0 in half the time, + // you certainly don't have time to reach 0, turn around, and still make your way + // back up to a2 (which is at least as far from 0 than a1 is) in the time interval dt. + // Therefore, the time threshold is half the time interval, or dt/2. + if (da > max_deriv_alt*(dt / 2)) { + // Prune: the altitude cannot change fast enough to reach zero. + return null; + } + + // Bisect the time interval and evaluate the altitude at the midpoint. + const tmid = new AstroTime((t1.ut + t2.ut)/2); + const amid = altdiff(tmid); + + // Use recursive bisection to search for a solution bracket. + return ( + FindAscent(1+depth, altdiff, max_deriv_alt, t1, tmid, a1, amid) || + FindAscent(1+depth, altdiff, max_deriv_alt, tmid, t2, amid, a2) + ); +} + + + +function MaxAltitudeSlope(body: Body, latitude: number): number { + // Calculate the maximum possible rate that this body's altitude + // could change [degrees/day] as seen by this observer. + // First use experimentally determined extreme bounds by body + // of how much topocentric RA and DEC can change per rate of time. + // We need minimum possible d(RA)/dt, and maximum possible magnitude of d(DEC)/dt. + // Conservatively, we round d(RA)/dt down, d(DEC)/dt up. + + let deriv_ra : number; + let deriv_dec : number; - time_before = evt_before.time; - error_before = altitude_error(evt_before.time); - error_after = altitude_error(evt_after.time); + switch (body) + { + case Body.Moon: + deriv_ra = +4.5; + deriv_dec = +8.2; + break; + + case Body.Sun: + deriv_ra = +0.8; + deriv_dec = +0.5; + break; + + case Body.Mercury: + deriv_ra = -1.6; + deriv_dec = +1.0; + break; + + case Body.Venus: + deriv_ra = -0.8; + deriv_dec = +0.6; + break; + + case Body.Mars: + deriv_ra = -0.5; + deriv_dec = +0.4; + break; + + case Body.Jupiter: + case Body.Saturn: + case Body.Uranus: + case Body.Neptune: + case Body.Pluto: + deriv_ra = -0.2; + deriv_dec = +0.2; + break; + + default: + throw `Body not allowed for altitude search: ${body}`; } + + const latrad = DEG2RAD * latitude; + return Math.abs(((360.0 / SOLAR_DAYS_PER_SIDEREAL_DAY) - deriv_ra)*Math.cos(latrad)) + Math.abs(deriv_dec*Math.sin(latrad)); } -function BackwardSearchAltitude( +function InternalSearchAltitude( body: Body, observer: Observer, direction: number, dateStart: FlexibleDateTime, limitDays: number, - altitude_error: (t: AstroTime) => number): AstroTime | null + bodyRadiusAu: number, + targetAltitude: number): AstroTime | null { VerifyObserver(observer); VerifyNumber(limitDays); - if (body === Body.Earth) - throw 'Cannot find altitude event for the Earth.'; - - let ha_before: number, ha_after: number; - if (direction === +1) { - ha_before = 12; // minimum altitude (bottom) happens BEFORE the body rises. - ha_after = 0; // maximum altitude (culmination) happens AFTER the body rises. - } else if (direction === -1) { - ha_before = 0; // culmination happens BEFORE the body sets. - ha_after = 12; // bottom happens AFTER the body sets. - } else { - throw `Invalid direction parameter ${direction} -- must be +1 or -1`; - } - - // We cannot possibly satisfy a backward search without a negative time limit. - if (limitDays >= 0) - return null; + const RISE_SET_DT = 0.42; // 10.08 hours: Nyquist-safe for 22-hour period. + const max_deriv_alt = MaxAltitudeSlope(body, observer.latitude); - // See if the body is currently above/below the horizon. - // If we are looking for previous rise time and the body is above the horizon, - // we use the current time as the upper time bound and the previous bottom as the lower time bound. - // If the body is below the horizon, we search for the previous culmination and use it - // as the upper time bound. Then we search for the bottom before that culmination and - // use it as the lower time bound. - // The same logic applies for finding set times; altitude_error_func and - // altitude_error_context ensure that the desired event is represented - // by ascending through zero, so the Search function works correctly. - - let time_start = MakeTime(dateStart); - let time_after: AstroTime; - let evt_before: HourAngleEvent; - let evt_after: HourAngleEvent; - let error_after = altitude_error(time_start); - let error_before: number; - if (error_after < 0) { - evt_after = SearchHourAngle(body, observer, ha_after, time_start, -1); - time_after = evt_after.time; - error_after = altitude_error(time_after); - } else { - time_after = time_start; + function altdiff(time: AstroTime): number { + const ofdate = Equator(body, time, observer, true, true); + const hor = Horizon(time, observer, ofdate.ra, ofdate.dec); + const altitude = hor.altitude + RAD2DEG*Math.asin(bodyRadiusAu / ofdate.dist); + return direction*(altitude - targetAltitude); } - evt_before = SearchHourAngle(body, observer, ha_before, time_after, -1); - error_before = altitude_error(evt_before.time); + // We allow searching forward or backward in time. + // But we want to keep t1 < t2, so we need a few if/else statements. + const startTime = MakeTime(dateStart); + let t1 = startTime; + let t2 = startTime; + let a1 = altdiff(t1); + let a2 = a1; - while (true) { - if (error_before <= 0 && error_after > 0) { - // Search between evt_before and evt_after for the desired event. - let tx = Search(altitude_error, evt_before.time, time_after, {init_f1:error_before, init_f2:error_after}); - if (tx) { - // If we found the rise/set time, but it falls outside limitDays, fail the search. - if (tx.ut < time_start.ut + limitDays) - return null; - - // The search succeeded. - return tx; - } + for(;;) + { + if (limitDays < 0.0) { + t1 = t2.AddDays(-RISE_SET_DT); + a1 = altdiff(t1); + } else { + t2 = t1.AddDays(+RISE_SET_DT); + a2 = altdiff(t2); } - evt_after = SearchHourAngle(body, observer, ha_after, evt_before.time, -1); - if (evt_after.time.ut <= time_start.ut + limitDays) - return null; + const ascent = FindAscent(0, altdiff, max_deriv_alt, t1, t2, a1, a2); + if (ascent) { + // We found a time interval [t1, t2] that contains an alt-diff + // rising from negative a1 to non-negative a2. + // Search for the time where the root occurs. + const time = Search(altdiff, ascent.tx, ascent.ty, { + dt_tolerance_seconds: 0.1, + init_f1: ascent.ax, + init_f2: ascent.ay + }); + + if (time) { + // Now that we have a solution, we have to check whether it goes outside the time bounds. + if (limitDays < 0.0) { + if (time.ut < startTime.ut + limitDays) + return null; + } else { + if (time.ut > startTime.ut + limitDays) + return null; + } + return time; // success! + } - evt_before = SearchHourAngle(body, observer, ha_before, evt_after.time, -1); + // The search should have succeeded. Something is wrong with the ascent finder! + throw `Rise/set search failed after finding ascent: t1=${t1}, t2=${t2}, a1=${a1}, a2=${a2}`; + } - time_after = evt_before.time; - error_before = altitude_error(evt_before.time); - error_after = altitude_error(evt_after.time); + // There is no ascent in this interval, so keep searching. + if (limitDays < 0.0) { + if (t1.ut < startTime.ut + limitDays) + return null; + t2 = t1; + a2 = a1; + } else { + if (t2.ut > startTime.ut + limitDays) + return null; + t1 = t2; + a1 = a2; + } } } diff --git a/demo/nodejs/calendar/correct/calendar.txt b/demo/nodejs/calendar/correct/calendar.txt index 79255cc2..08767597 100644 --- a/demo/nodejs/calendar/correct/calendar.txt +++ b/demo/nodejs/calendar/correct/calendar.txt @@ -1,27121 +1,27121 @@ 2021-05-12T00:06:21.399Z sunset -2021-05-12T00:10:50.977Z moonset -2021-05-12T10:35:41.638Z sunrise -2021-05-12T11:09:19.759Z moonrise +2021-05-12T00:10:50.978Z moonset +2021-05-12T10:35:41.513Z sunrise +2021-05-12T11:09:19.683Z moonrise 2021-05-12T17:21:09.251Z Sun culminates 79.72 degrees above the horizon 2021-05-12T18:04:47.944Z Moon culminates 81.23 degrees above the horizon -2021-05-13T00:06:57.788Z sunset -2021-05-13T01:05:29.351Z moonset -2021-05-13T10:35:04.277Z sunrise -2021-05-13T11:47:09.734Z moonrise +2021-05-13T00:06:57.919Z sunset +2021-05-13T01:05:29.504Z moonset +2021-05-13T10:35:04.194Z sunrise +2021-05-13T11:47:09.623Z moonrise 2021-05-13T17:21:08.956Z Sun culminates 79.96 degrees above the horizon 2021-05-13T18:51:46.552Z Moon culminates 84.27 degrees above the horizon -2021-05-14T00:07:34.226Z sunset -2021-05-14T02:00:28.166Z moonset -2021-05-14T10:34:28.129Z sunrise -2021-05-14T12:29:34.810Z moonrise +2021-05-14T00:07:34.362Z sunset +2021-05-14T02:00:28.356Z moonset +2021-05-14T10:34:28.041Z sunrise +2021-05-14T12:29:34.663Z moonrise 2021-05-14T17:21:09.224Z Sun culminates 80.20 degrees above the horizon 2021-05-14T19:40:58.894Z Moon culminates 86.24 degrees above the horizon -2021-05-15T00:08:10.562Z sunset -2021-05-15T02:54:45.185Z moonset -2021-05-15T10:33:53.206Z sunrise -2021-05-15T13:16:57.825Z moonrise +2021-05-15T00:08:10.703Z sunset +2021-05-15T02:54:45.386Z moonset +2021-05-15T10:33:53.113Z sunrise +2021-05-15T13:16:57.651Z moonrise 2021-05-15T17:21:10.046Z Sun culminates 80.44 degrees above the horizon 2021-05-15T20:31:52.846Z Moon culminates 86.99 degrees above the horizon -2021-05-16T00:08:46.773Z sunset -2021-05-16T03:47:00.882Z moonset -2021-05-16T10:33:19.519Z sunrise -2021-05-16T14:09:05.204Z moonrise +2021-05-16T00:08:46.917Z sunset +2021-05-16T03:47:01.074Z moonset +2021-05-16T10:33:19.421Z sunrise +2021-05-16T14:09:05.016Z moonrise 2021-05-16T17:21:11.417Z Sun culminates 80.67 degrees above the horizon 2021-05-16T21:23:36.052Z Moon culminates 86.42 degrees above the horizon -2021-05-17T00:09:22.832Z sunset -2021-05-17T04:36:03.416Z moonset +2021-05-17T00:09:22.981Z sunset +2021-05-17T04:36:03.584Z moonset 2021-05-17T05:51:03.516Z Mercury max evening elongation: 22.02 degrees from Sun -2021-05-17T10:32:47.080Z sunrise -2021-05-17T15:05:05.832Z moonrise +2021-05-17T10:32:46.978Z sunrise +2021-05-17T15:05:05.650Z moonrise 2021-05-17T17:21:13.330Z Sun culminates 80.89 degrees above the horizon 2021-05-17T22:15:11.541Z Moon culminates 84.50 degrees above the horizon -2021-05-18T00:09:58.715Z sunset -2021-05-18T05:21:12.775Z moonset -2021-05-18T10:32:15.901Z sunrise -2021-05-18T16:03:47.616Z moonrise +2021-05-18T00:09:58.868Z sunset +2021-05-18T05:21:12.907Z moonset +2021-05-18T10:32:15.794Z sunrise +2021-05-18T16:03:47.468Z moonrise 2021-05-18T17:21:15.778Z Sun culminates 81.11 degrees above the horizon 2021-05-18T23:05:56.618Z Moon culminates 81.30 degrees above the horizon -2021-05-19T00:10:34.396Z sunset -2021-05-19T06:02:30.635Z moonset -2021-05-19T10:31:45.992Z sunrise -2021-05-19T17:04:04.785Z moonrise +2021-05-19T00:10:34.553Z sunset +2021-05-19T06:02:30.721Z moonset +2021-05-19T10:31:45.881Z sunrise +2021-05-19T17:04:04.697Z moonrise 2021-05-19T17:21:18.754Z Sun culminates 81.32 degrees above the horizon 2021-05-19T19:13:17.317Z first quarter 2021-05-19T23:55:35.915Z Moon culminates 76.96 degrees above the horizon -2021-05-20T00:11:09.851Z sunset -2021-05-20T06:40:34.634Z moonset -2021-05-20T10:31:17.366Z sunrise +2021-05-20T00:11:10.012Z sunset +2021-05-20T06:40:34.678Z moonset +2021-05-20T10:31:17.250Z sunrise 2021-05-20T17:21:22.252Z Sun culminates 81.53 degrees above the horizon -2021-05-20T18:05:20.195Z moonrise -2021-05-21T00:11:45.056Z sunset +2021-05-20T18:05:20.162Z moonrise +2021-05-21T00:11:45.221Z sunset 2021-05-21T00:44:24.531Z Moon culminates 71.64 degrees above the horizon -2021-05-21T07:16:26.281Z moonset -2021-05-21T10:30:50.033Z sunrise +2021-05-21T07:16:26.299Z moonset +2021-05-21T10:30:49.913Z sunrise 2021-05-21T17:21:26.265Z Sun culminates 81.73 degrees above the horizon -2021-05-21T19:07:33.041Z moonrise -2021-05-22T00:12:19.986Z sunset +2021-05-21T19:07:33.037Z moonrise +2021-05-22T00:12:20.155Z sunset 2021-05-22T01:33:03.796Z Moon culminates 65.59 degrees above the horizon -2021-05-22T07:51:21.324Z moonset -2021-05-22T10:30:24.005Z sunrise +2021-05-22T07:51:21.332Z moonset +2021-05-22T10:30:23.881Z sunrise 2021-05-22T17:21:30.787Z Sun culminates 81.93 degrees above the horizon -2021-05-22T20:11:13.160Z moonrise -2021-05-23T00:12:54.618Z sunset +2021-05-22T20:11:13.161Z moonrise +2021-05-23T00:12:54.791Z sunset 2021-05-23T02:22:34.030Z Moon culminates 59.09 degrees above the horizon -2021-05-23T08:26:45.581Z moonset -2021-05-23T10:29:59.293Z sunrise +2021-05-23T08:26:45.587Z moonset +2021-05-23T10:29:59.165Z sunrise 2021-05-23T17:21:35.813Z Sun culminates 82.12 degrees above the horizon -2021-05-23T21:17:06.126Z moonrise -2021-05-24T00:13:28.929Z sunset +2021-05-23T21:17:06.135Z moonrise +2021-05-24T00:13:29.105Z sunset 2021-05-24T03:14:05.808Z Moon culminates 52.51 degrees above the horizon -2021-05-24T09:04:14.592Z moonset -2021-05-24T10:29:35.908Z sunrise +2021-05-24T09:04:14.585Z moonset +2021-05-24T10:29:35.775Z sunrise 2021-05-24T17:21:41.335Z Sun culminates 82.30 degrees above the horizon -2021-05-24T22:25:49.303Z moonrise -2021-05-25T00:14:02.896Z sunset +2021-05-24T22:25:49.361Z moonrise +2021-05-25T00:14:03.076Z sunset 2021-05-25T04:08:47.066Z Moon culminates 46.30 degrees above the horizon -2021-05-25T09:45:32.379Z moonset -2021-05-25T10:29:13.858Z sunrise +2021-05-25T09:45:32.332Z moonset +2021-05-25T10:29:13.722Z sunrise 2021-05-25T17:21:47.348Z Sun culminates 82.48 degrees above the horizon -2021-05-25T23:37:16.170Z moonrise -2021-05-26T00:14:36.497Z sunset +2021-05-25T23:37:16.321Z moonrise +2021-05-26T00:14:36.680Z sunset 2021-05-26T01:49:10.699Z lunar perigee at 357303 km 2021-05-26T05:07:20.963Z Moon culminates 41.01 degrees above the horizon -2021-05-26T10:28:53.153Z sunrise -2021-05-26T10:32:21.051Z moonset +2021-05-26T10:28:53.013Z sunrise +2021-05-26T10:32:20.940Z moonset 2021-05-26T11:14:24.845Z full moon 2021-05-26T11:18:40.807Z total lunar eclipse 2021-05-26T17:21:53.843Z Sun culminates 82.65 degrees above the horizon -2021-05-27T00:15:09.708Z sunset -2021-05-27T00:49:55.585Z moonrise +2021-05-27T00:15:09.894Z sunset +2021-05-27T00:49:55.818Z moonrise 2021-05-27T06:09:33.870Z Moon culminates 37.16 degrees above the horizon -2021-05-27T10:28:33.801Z sunrise -2021-05-27T11:25:50.714Z moonset +2021-05-27T10:28:33.657Z sunrise +2021-05-27T11:25:50.535Z moonset 2021-05-27T17:22:00.812Z Sun culminates 82.82 degrees above the horizon -2021-05-28T00:15:42.504Z sunset -2021-05-28T02:00:40.099Z moonrise +2021-05-28T00:15:42.694Z sunset +2021-05-28T02:00:40.357Z moonrise 2021-05-28T07:13:50.628Z Moon culminates 35.19 degrees above the horizon -2021-05-28T10:28:15.807Z sunrise -2021-05-28T12:25:50.689Z moonset +2021-05-28T10:28:15.660Z sunrise +2021-05-28T12:25:50.459Z moonset 2021-05-28T17:22:08.248Z Sun culminates 82.98 degrees above the horizon -2021-05-29T00:16:14.862Z sunset -2021-05-29T03:05:47.118Z moonrise +2021-05-29T00:16:15.054Z sunset +2021-05-29T03:05:47.355Z moonrise 2021-05-29T08:17:31.364Z Moon culminates 35.22 degrees above the horizon -2021-05-29T10:27:59.180Z sunrise -2021-05-29T13:30:19.198Z moonset +2021-05-29T10:27:59.029Z sunrise +2021-05-29T13:30:18.948Z moonset 2021-05-29T17:22:16.138Z Sun culminates 83.13 degrees above the horizon -2021-05-30T00:16:46.754Z sunset -2021-05-30T04:02:46.410Z moonrise +2021-05-30T00:16:46.950Z sunset +2021-05-30T04:02:46.602Z moonrise 2021-05-30T09:17:57.678Z Moon culminates 37.09 degrees above the horizon -2021-05-30T10:27:43.923Z sunrise -2021-05-30T14:36:03.565Z moonset +2021-05-30T10:27:43.770Z sunrise +2021-05-30T14:36:03.340Z moonset 2021-05-30T17:22:24.474Z Sun culminates 83.28 degrees above the horizon -2021-05-31T00:17:18.153Z sunset -2021-05-31T04:51:14.520Z moonrise +2021-05-31T00:17:18.352Z sunset +2021-05-31T04:51:14.657Z moonrise 2021-05-31T10:13:37.225Z Moon culminates 40.42 degrees above the horizon -2021-05-31T10:27:30.041Z sunrise -2021-05-31T15:40:11.829Z moonset +2021-05-31T10:27:29.885Z sunrise +2021-05-31T15:40:11.674Z moonset 2021-05-31T17:22:33.241Z Sun culminates 83.42 degrees above the horizon -2021-06-01T00:17:49.033Z sunset -2021-06-01T05:32:22.684Z moonrise -2021-06-01T10:27:17.538Z sunrise +2021-06-01T00:17:49.234Z sunset +2021-06-01T05:32:22.765Z moonrise +2021-06-01T10:27:17.378Z sunrise 2021-06-01T11:04:17.930Z Moon culminates 44.78 degrees above the horizon -2021-06-01T16:41:13.104Z moonset +2021-06-01T16:41:13.029Z moonset 2021-06-01T17:22:42.429Z Sun culminates 83.55 degrees above the horizon -2021-06-02T00:18:19.363Z sunset -2021-06-02T06:07:58.158Z moonrise +2021-06-02T00:18:19.567Z sunset +2021-06-02T06:07:58.199Z moonrise 2021-06-02T07:25:04.037Z third quarter -2021-06-02T10:27:06.412Z sunrise +2021-06-02T10:27:06.250Z sunrise 2021-06-02T11:50:42.578Z Moon culminates 49.78 degrees above the horizon 2021-06-02T17:22:52.020Z Sun culminates 83.68 degrees above the horizon -2021-06-02T17:38:55.610Z moonset +2021-06-02T17:38:55.590Z moonset 2021-06-02T21:59:51.828Z Venus moves from Taurus to Gemini -2021-06-03T00:18:49.114Z sunset -2021-06-03T06:39:47.170Z moonrise -2021-06-03T10:26:56.662Z sunrise +2021-06-03T00:18:49.321Z sunset +2021-06-03T06:39:47.190Z moonrise +2021-06-03T10:26:56.498Z sunrise 2021-06-03T12:33:58.300Z Moon culminates 55.12 degrees above the horizon 2021-06-03T17:23:02.000Z Sun culminates 83.80 degrees above the horizon -2021-06-03T18:33:55.842Z moonset -2021-06-04T00:19:18.256Z sunset -2021-06-04T07:09:22.573Z moonrise -2021-06-04T10:26:48.286Z sunrise +2021-06-03T18:33:55.843Z moonset +2021-06-04T00:19:18.465Z sunset +2021-06-04T07:09:22.586Z moonrise +2021-06-04T10:26:48.119Z sunrise 2021-06-04T13:15:17.437Z Moon culminates 60.58 degrees above the horizon 2021-06-04T17:23:12.351Z Sun culminates 83.92 degrees above the horizon -2021-06-04T19:27:10.615Z moonset -2021-06-05T00:19:46.756Z sunset -2021-06-05T07:38:04.256Z moonrise -2021-06-05T10:26:41.276Z sunrise +2021-06-04T19:27:10.619Z moonset +2021-06-05T00:19:46.967Z sunset +2021-06-05T07:38:04.266Z moonrise +2021-06-05T10:26:41.107Z sunrise 2021-06-05T13:55:49.144Z Moon culminates 65.97 degrees above the horizon 2021-06-05T17:23:23.051Z Sun culminates 84.02 degrees above the horizon -2021-06-05T20:19:39.891Z moonset -2021-06-06T00:20:14.582Z sunset -2021-06-06T08:07:03.629Z moonrise -2021-06-06T10:26:35.625Z sunrise +2021-06-05T20:19:39.900Z moonset +2021-06-06T00:20:14.795Z sunset +2021-06-06T08:07:03.630Z moonrise +2021-06-06T10:26:35.454Z sunrise 2021-06-06T14:36:36.482Z Moon culminates 71.12 degrees above the horizon 2021-06-06T17:23:34.082Z Sun culminates 84.13 degrees above the horizon -2021-06-06T21:12:16.732Z moonset -2021-06-07T00:20:41.700Z sunset -2021-06-07T08:37:28.141Z moonrise -2021-06-07T10:26:31.322Z sunrise +2021-06-06T21:12:16.765Z moonset +2021-06-07T00:20:41.915Z sunset +2021-06-07T08:37:28.120Z moonrise +2021-06-07T10:26:31.149Z sunrise 2021-06-07T15:18:34.770Z Moon culminates 75.87 degrees above the horizon 2021-06-07T17:23:45.419Z Sun culminates 84.22 degrees above the horizon -2021-06-07T22:05:39.412Z moonset -2021-06-08T00:21:08.076Z sunset +2021-06-07T22:05:39.491Z moonset +2021-06-08T00:21:08.293Z sunset 2021-06-08T02:27:27.731Z lunar apogee at 406216 km 2021-06-08T08:32:52.235Z Mars moves from Gemini to Cancer -2021-06-08T09:10:23.880Z moonrise -2021-06-08T10:26:28.356Z sunrise +2021-06-08T09:10:23.825Z moonrise +2021-06-08T10:26:28.181Z sunrise 2021-06-08T16:02:28.490Z Moon culminates 80.02 degrees above the horizon 2021-06-08T17:23:57.040Z Sun culminates 84.31 degrees above the horizon -2021-06-08T23:00:02.742Z moonset -2021-06-09T00:21:33.675Z sunset -2021-06-09T09:46:54.523Z moonrise -2021-06-09T10:26:26.712Z sunrise +2021-06-08T23:00:02.877Z moonset +2021-06-09T00:21:33.893Z sunset +2021-06-09T09:46:54.425Z moonrise +2021-06-09T10:26:26.536Z sunrise 2021-06-09T16:48:45.503Z Moon culminates 83.37 degrees above the horizon 2021-06-09T17:24:08.919Z Sun culminates 84.39 degrees above the horizon -2021-06-09T23:55:09.116Z moonset -2021-06-10T00:21:58.462Z sunset +2021-06-09T23:55:09.297Z moonset +2021-06-10T00:21:58.681Z sunset 2021-06-10T01:00:23.435Z Mercury aphelion at 0.4667 AU -2021-06-10T10:26:26.375Z sunrise -2021-06-10T10:27:54.646Z moonrise +2021-06-10T10:26:26.197Z sunrise +2021-06-10T10:27:54.510Z moonrise 2021-06-10T10:53:20.687Z new moon 2021-06-10T17:24:21.032Z Sun culminates 84.47 degrees above the horizon 2021-06-10T17:37:29.327Z Moon culminates 85.73 degrees above the horizon -2021-06-11T00:22:22.402Z sunset -2021-06-11T00:50:04.353Z moonset +2021-06-11T00:22:22.622Z sunset +2021-06-11T00:50:04.553Z moonset 2021-06-11T01:07:36.505Z Mercury inferior conjunction -2021-06-11T10:26:27.328Z sunrise -2021-06-11T11:13:56.638Z moonrise +2021-06-11T10:26:27.149Z sunrise +2021-06-11T11:13:56.471Z moonrise 2021-06-11T17:24:33.351Z Sun culminates 84.53 degrees above the horizon 2021-06-11T18:28:13.417Z Moon culminates 86.89 degrees above the horizon -2021-06-12T00:22:45.459Z sunset -2021-06-12T01:43:26.367Z moonset -2021-06-12T10:26:29.553Z sunrise -2021-06-12T12:04:55.304Z moonrise +2021-06-12T00:22:45.681Z sunset +2021-06-12T01:43:26.563Z moonset +2021-06-12T10:26:29.372Z sunrise +2021-06-12T12:04:55.118Z moonrise 2021-06-12T17:24:45.850Z Sun culminates 84.59 degrees above the horizon 2021-06-12T17:34:35.375Z Venus perihelion at 0.7184 AU 2021-06-12T19:20:03.813Z Moon culminates 86.74 degrees above the horizon -2021-06-13T00:23:07.600Z sunset -2021-06-13T02:33:49.689Z moonset -2021-06-13T10:26:33.030Z sunrise -2021-06-13T13:00:01.390Z moonrise +2021-06-13T00:23:07.823Z sunset +2021-06-13T02:33:49.866Z moonset +2021-06-13T10:26:32.848Z sunrise +2021-06-13T13:00:01.203Z moonrise 2021-06-13T17:24:58.503Z Sun culminates 84.65 degrees above the horizon 2021-06-13T20:11:53.957Z Moon culminates 85.23 degrees above the horizon -2021-06-14T00:23:28.791Z sunset -2021-06-14T03:20:15.392Z moonset -2021-06-14T10:26:37.741Z sunrise -2021-06-14T13:57:54.979Z moonrise +2021-06-14T00:23:29.015Z sunset +2021-06-14T03:20:15.537Z moonset +2021-06-14T10:26:37.557Z sunrise +2021-06-14T13:57:54.817Z moonrise 2021-06-14T17:25:11.283Z Sun culminates 84.70 degrees above the horizon 2021-06-14T21:02:46.779Z Moon culminates 82.43 degrees above the horizon -2021-06-15T00:23:48.999Z sunset -2021-06-15T04:02:28.628Z moonset -2021-06-15T10:26:43.664Z sunrise -2021-06-15T14:57:15.332Z moonrise +2021-06-15T00:23:49.223Z sunset +2021-06-15T04:02:28.730Z moonset +2021-06-15T10:26:43.479Z sunrise +2021-06-15T14:57:15.223Z moonrise 2021-06-15T17:25:24.164Z Sun culminates 84.74 degrees above the horizon 2021-06-15T21:52:12.663Z Moon culminates 78.47 degrees above the horizon -2021-06-16T00:24:08.192Z sunset -2021-06-16T04:40:56.608Z moonset -2021-06-16T10:26:50.779Z sunrise -2021-06-16T15:57:09.274Z moonrise +2021-06-16T00:24:08.418Z sunset +2021-06-16T04:40:56.665Z moonset +2021-06-16T10:26:50.594Z sunrise +2021-06-16T15:57:09.225Z moonrise 2021-06-16T17:25:37.121Z Sun culminates 84.77 degrees above the horizon 2021-06-16T22:40:15.738Z Moon culminates 73.54 degrees above the horizon -2021-06-17T00:24:26.342Z sunset -2021-06-17T05:16:35.374Z moonset -2021-06-17T10:26:59.066Z sunrise -2021-06-17T16:57:23.782Z moonrise +2021-06-17T00:24:26.568Z sunset +2021-06-17T05:16:35.399Z moonset +2021-06-17T10:26:58.881Z sunrise +2021-06-17T16:57:23.772Z moonrise 2021-06-17T17:25:50.129Z Sun culminates 84.80 degrees above the horizon 2021-06-17T23:27:30.140Z Moon culminates 67.88 degrees above the horizon -2021-06-18T00:24:43.420Z sunset +2021-06-18T00:24:43.647Z sunset 2021-06-18T03:54:55.152Z first quarter -2021-06-18T05:50:37.111Z moonset -2021-06-18T10:27:08.505Z sunrise +2021-06-18T05:50:37.122Z moonset +2021-06-18T10:27:08.319Z sunrise 2021-06-18T17:26:03.164Z Sun culminates 84.82 degrees above the horizon -2021-06-18T17:58:22.740Z moonrise +2021-06-18T17:58:22.741Z moonrise 2021-06-19T00:14:52.273Z Moon culminates 61.71 degrees above the horizon -2021-06-19T00:24:59.400Z sunset -2021-06-19T06:24:23.564Z moonset -2021-06-19T10:27:19.074Z sunrise +2021-06-19T00:24:59.627Z sunset +2021-06-19T06:24:23.571Z moonset +2021-06-19T10:27:18.887Z sunrise 2021-06-19T17:26:16.204Z Sun culminates 84.83 degrees above the horizon -2021-06-19T19:00:54.681Z moonrise -2021-06-20T00:25:14.258Z sunset +2021-06-19T19:00:54.684Z moonrise +2021-06-20T00:25:14.484Z sunset 2021-06-20T01:03:32.968Z Moon culminates 55.34 degrees above the horizon -2021-06-20T06:59:25.187Z moonset -2021-06-20T10:27:30.753Z sunrise +2021-06-20T06:59:25.188Z moonset +2021-06-20T10:27:30.566Z sunrise 2021-06-20T17:26:29.227Z Sun culminates 84.84 degrees above the horizon -2021-06-20T20:05:54.827Z moonrise -2021-06-21T00:25:27.970Z sunset +2021-06-20T20:05:54.855Z moonrise +2021-06-21T00:25:28.197Z sunset 2021-06-21T01:54:48.822Z Moon culminates 49.11 degrees above the horizon 2021-06-21T03:31:54.546Z June solstice -2021-06-21T07:37:22.673Z moonset -2021-06-21T10:27:43.521Z sunrise +2021-06-21T07:37:22.649Z moonset +2021-06-21T10:27:43.334Z sunrise 2021-06-21T17:26:42.212Z Sun culminates 84.84 degrees above the horizon -2021-06-21T21:13:58.499Z moonrise -2021-06-22T00:25:40.518Z sunset +2021-06-21T21:13:58.600Z moonrise +2021-06-22T00:25:40.745Z sunset 2021-06-22T02:49:47.961Z Moon culminates 43.47 degrees above the horizon -2021-06-22T08:20:04.911Z moonset -2021-06-22T10:27:57.356Z sunrise +2021-06-22T08:20:04.833Z moonset +2021-06-22T10:27:57.169Z sunrise 2021-06-22T17:26:55.138Z Sun culminates 84.83 degrees above the horizon -2021-06-22T22:24:42.542Z moonrise -2021-06-23T00:25:51.882Z sunset +2021-06-22T22:24:42.737Z moonrise +2021-06-23T00:25:52.109Z sunset 2021-06-23T03:49:04.402Z Moon culminates 38.92 degrees above the horizon -2021-06-23T09:09:13.244Z moonset +2021-06-23T09:09:13.098Z moonset 2021-06-23T09:54:22.274Z lunar perigee at 359948 km -2021-06-23T10:28:12.237Z sunrise +2021-06-23T10:28:12.050Z sunrise 2021-06-23T17:27:07.985Z Sun culminates 84.82 degrees above the horizon -2021-06-23T23:36:07.288Z moonrise -2021-06-24T00:26:02.045Z sunset +2021-06-23T23:36:07.540Z moonrise +2021-06-24T00:26:02.271Z sunset 2021-06-24T04:52:03.348Z Moon culminates 35.98 degrees above the horizon -2021-06-24T10:05:41.251Z moonset -2021-06-24T10:28:28.140Z sunrise +2021-06-24T10:05:41.044Z moonset +2021-06-24T10:28:27.954Z sunrise 2021-06-24T17:27:20.734Z Sun culminates 84.79 degrees above the horizon 2021-06-24T18:40:15.190Z full moon -2021-06-25T00:26:10.991Z sunset -2021-06-25T00:44:42.583Z moonrise +2021-06-25T00:26:11.216Z sunset +2021-06-25T00:44:42.834Z moonrise 2021-06-25T05:56:42.291Z Moon culminates 34.97 degrees above the horizon -2021-06-25T10:28:45.044Z sunrise -2021-06-25T11:08:40.112Z moonset +2021-06-25T10:28:44.858Z sunrise +2021-06-25T11:08:39.867Z moonset 2021-06-25T12:31:30.053Z Venus moves from Gemini to Cancer 2021-06-25T17:27:33.365Z Sun culminates 84.77 degrees above the horizon -2021-06-26T00:26:18.703Z sunset -2021-06-26T01:46:52.653Z moonrise +2021-06-26T00:26:18.928Z sunset +2021-06-26T01:46:52.868Z moonrise 2021-06-26T07:00:04.592Z Moon culminates 35.97 degrees above the horizon -2021-06-26T10:29:02.926Z sunrise -2021-06-26T12:15:23.766Z moonset +2021-06-26T10:29:02.740Z sunrise +2021-06-26T12:15:23.521Z moonset 2021-06-26T17:27:45.859Z Sun culminates 84.73 degrees above the horizon -2021-06-27T00:26:25.167Z sunset -2021-06-27T02:40:41.744Z moonrise +2021-06-27T00:26:25.391Z sunset +2021-06-27T02:40:41.907Z moonrise 2021-06-27T07:59:37.323Z Moon culminates 38.71 degrees above the horizon -2021-06-27T10:29:21.762Z sunrise -2021-06-27T13:22:18.945Z moonset +2021-06-27T10:29:21.577Z sunrise +2021-06-27T13:22:18.752Z moonset 2021-06-27T17:27:58.198Z Sun culminates 84.69 degrees above the horizon -2021-06-28T00:26:30.367Z sunset -2021-06-28T03:26:21.060Z moonrise +2021-06-28T00:26:30.590Z sunset +2021-06-28T03:26:21.164Z moonrise 2021-06-28T08:54:08.184Z Moon culminates 42.76 degrees above the horizon -2021-06-28T10:29:41.529Z sunrise -2021-06-28T14:26:45.177Z moonset +2021-06-28T10:29:41.345Z sunrise +2021-06-28T14:26:45.068Z moonset 2021-06-28T17:28:10.362Z Sun culminates 84.64 degrees above the horizon -2021-06-29T00:26:34.291Z sunset -2021-06-29T04:05:19.313Z moonrise +2021-06-29T00:26:34.513Z sunset +2021-06-29T04:05:19.366Z moonrise 2021-06-29T09:43:44.681Z Moon culminates 47.67 degrees above the horizon -2021-06-29T10:30:02.202Z sunrise -2021-06-29T15:27:36.962Z moonset +2021-06-29T10:30:02.019Z sunrise +2021-06-29T15:27:36.923Z moonset 2021-06-29T17:28:22.332Z Sun culminates 84.59 degrees above the horizon -2021-06-30T00:26:36.926Z sunset -2021-06-30T04:39:26.852Z moonrise +2021-06-30T00:26:37.146Z sunset +2021-06-30T04:39:26.876Z moonrise 2021-06-30T10:29:21.768Z Moon culminates 53.04 degrees above the horizon -2021-06-30T10:30:23.757Z sunrise -2021-06-30T16:25:04.391Z moonset +2021-06-30T10:30:23.575Z sunrise +2021-06-30T16:25:04.387Z moonset 2021-06-30T17:28:34.089Z Sun culminates 84.52 degrees above the horizon -2021-07-01T00:26:38.258Z sunset -2021-07-01T05:10:27.100Z moonrise -2021-07-01T10:30:46.166Z sunrise +2021-07-01T00:26:38.477Z sunset +2021-07-01T05:10:27.113Z moonrise +2021-07-01T10:30:45.986Z sunrise 2021-07-01T11:12:12.294Z Moon culminates 58.60 degrees above the horizon -2021-07-01T17:19:57.311Z moonset +2021-07-01T17:19:57.315Z moonset 2021-07-01T17:28:45.614Z Sun culminates 84.46 degrees above the horizon 2021-07-01T21:11:20.205Z third quarter -2021-07-02T00:26:38.277Z sunset -2021-07-02T05:39:49.701Z moonrise -2021-07-02T10:31:09.402Z sunrise +2021-07-02T00:26:38.494Z sunset +2021-07-02T05:39:49.712Z moonrise +2021-07-02T10:31:09.222Z sunrise 2021-07-02T11:53:30.842Z Moon culminates 64.11 degrees above the horizon 2021-07-02T17:28:56.887Z Sun culminates 84.38 degrees above the horizon -2021-07-02T18:13:18.898Z moonset -2021-07-03T00:26:36.970Z sunset -2021-07-03T06:08:53.137Z moonrise -2021-07-03T10:31:33.433Z sunrise +2021-07-02T18:13:18.904Z moonset +2021-07-03T00:26:37.186Z sunset +2021-07-03T06:08:53.143Z moonrise +2021-07-03T10:31:33.255Z sunrise 2021-07-03T12:34:27.335Z Moon culminates 69.40 degrees above the horizon 2021-07-03T17:29:07.885Z Sun culminates 84.30 degrees above the horizon -2021-07-03T19:06:10.587Z moonset -2021-07-04T00:26:34.326Z sunset -2021-07-04T06:38:49.642Z moonrise -2021-07-04T10:31:58.230Z sunrise +2021-07-03T19:06:10.609Z moonset +2021-07-04T00:26:34.541Z sunset +2021-07-04T06:38:49.631Z moonrise +2021-07-04T10:31:58.054Z sunrise 2021-07-04T13:16:04.744Z Moon culminates 74.32 degrees above the horizon 2021-07-04T17:29:18.590Z Sun culminates 84.21 degrees above the horizon 2021-07-04T19:51:27.493Z Mercury max morning elongation: 21.55 degrees from Sun -2021-07-04T19:59:22.741Z moonset -2021-07-05T00:26:30.335Z sunset -2021-07-05T07:10:49.203Z moonrise -2021-07-05T10:32:23.759Z sunrise +2021-07-04T19:59:22.802Z moonset +2021-07-05T00:26:30.548Z sunset +2021-07-05T07:10:49.161Z moonrise +2021-07-05T10:32:23.585Z sunrise 2021-07-05T13:59:16.851Z Moon culminates 78.69 degrees above the horizon 2021-07-05T14:46:47.573Z lunar apogee at 405327 km 2021-07-05T17:29:28.978Z Sun culminates 84.11 degrees above the horizon -2021-07-05T20:53:26.143Z moonset +2021-07-05T20:53:26.259Z moonset 2021-07-05T22:40:55.758Z Earth aphelion at 1.0167 AU -2021-07-06T00:26:24.987Z sunset -2021-07-06T07:46:00.651Z moonrise -2021-07-06T10:32:49.988Z sunrise +2021-07-06T00:26:25.197Z sunset +2021-07-06T07:46:00.567Z moonrise +2021-07-06T10:32:49.816Z sunrise 2021-07-06T14:44:43.651Z Moon culminates 82.34 degrees above the horizon 2021-07-06T17:29:39.027Z Sun culminates 84.01 degrees above the horizon -2021-07-06T21:48:22.410Z moonset -2021-07-07T00:26:18.270Z sunset -2021-07-07T08:25:27.585Z moonrise -2021-07-07T10:33:16.882Z sunrise +2021-07-06T21:48:22.578Z moonset +2021-07-07T00:26:18.479Z sunset +2021-07-07T08:25:27.461Z moonrise +2021-07-07T10:33:16.712Z sunrise 2021-07-07T15:32:43.692Z Moon culminates 85.05 degrees above the horizon 2021-07-07T17:29:48.716Z Sun culminates 83.90 degrees above the horizon -2021-07-07T22:43:35.960Z moonset -2021-07-08T00:26:10.177Z sunset -2021-07-08T09:09:57.066Z moonrise -2021-07-08T10:33:44.405Z sunrise +2021-07-07T22:43:36.156Z moonset +2021-07-08T00:26:10.383Z sunset +2021-07-08T09:09:56.909Z moonrise +2021-07-08T10:33:44.237Z sunrise 2021-07-08T16:23:05.649Z Moon culminates 86.63 degrees above the horizon 2021-07-08T17:29:58.022Z Sun culminates 83.79 degrees above the horizon -2021-07-08T23:37:55.183Z moonset -2021-07-09T00:26:00.697Z sunset -2021-07-09T09:59:42.352Z moonrise -2021-07-09T10:34:12.522Z sunrise +2021-07-08T23:37:55.382Z moonset +2021-07-09T00:26:00.901Z sunset +2021-07-09T09:59:42.171Z moonrise +2021-07-09T10:34:12.356Z sunrise 2021-07-09T17:15:05.284Z Moon culminates 86.92 degrees above the horizon 2021-07-09T17:30:06.924Z Sun culminates 83.67 degrees above the horizon -2021-07-10T00:25:49.823Z sunset -2021-07-10T00:29:50.424Z moonset +2021-07-10T00:25:50.025Z sunset +2021-07-10T00:29:50.607Z moonset 2021-07-10T01:17:17.113Z new moon 2021-07-10T06:54:53.091Z Mercury moves from Taurus to Orion -2021-07-10T10:34:41.197Z sunrise -2021-07-10T10:54:08.920Z moonrise +2021-07-10T10:34:41.034Z sunrise +2021-07-10T10:54:08.731Z moonrise 2021-07-10T13:51:34.451Z Mars moves from Cancer to Leo 2021-07-10T17:30:15.399Z Sun culminates 83.54 degrees above the horizon 2021-07-10T18:07:34.755Z Moon culminates 85.82 degrees above the horizon -2021-07-11T00:25:37.549Z sunset -2021-07-11T01:18:05.135Z moonset -2021-07-11T10:35:10.394Z sunrise -2021-07-11T11:51:58.544Z moonrise +2021-07-11T00:25:37.748Z sunset +2021-07-11T01:18:05.289Z moonset +2021-07-11T10:35:10.234Z sunrise +2021-07-11T11:51:58.372Z moonrise 2021-07-11T17:30:23.427Z Sun culminates 83.40 degrees above the horizon 2021-07-11T18:59:24.233Z Moon culminates 83.38 degrees above the horizon 2021-07-11T21:39:34.282Z Venus moves from Cancer to Leo -2021-07-12T00:25:23.869Z sunset -2021-07-12T02:02:02.465Z moonset +2021-07-12T00:25:24.065Z sunset +2021-07-12T02:02:02.580Z moonset 2021-07-12T03:31:38.921Z Mercury moves from Orion to Gemini -2021-07-12T10:35:40.078Z sunrise -2021-07-12T12:51:36.478Z moonrise +2021-07-12T10:35:39.920Z sunrise +2021-07-12T12:51:36.352Z moonrise 2021-07-12T17:30:30.988Z Sun culminates 83.26 degrees above the horizon 2021-07-12T19:49:45.282Z Moon culminates 79.70 degrees above the horizon -2021-07-13T00:25:08.778Z sunset +2021-07-13T00:25:08.971Z sunset 2021-07-13T00:36:06.379Z Mars aphelion at 1.6660 AU -2021-07-13T02:41:52.055Z moonset -2021-07-13T10:36:10.214Z sunrise -2021-07-13T13:51:46.443Z moonrise +2021-07-13T02:41:52.124Z moonset +2021-07-13T10:36:10.059Z sunrise +2021-07-13T13:51:46.379Z moonrise 2021-07-13T17:30:38.063Z Sun culminates 83.12 degrees above the horizon 2021-07-13T20:38:23.816Z Moon culminates 75.01 degrees above the horizon -2021-07-14T00:24:52.273Z sunset -2021-07-14T03:18:19.438Z moonset -2021-07-14T10:36:40.769Z sunrise -2021-07-14T14:51:52.416Z moonrise +2021-07-14T00:24:52.463Z sunset +2021-07-14T03:18:19.470Z moonset +2021-07-14T10:36:40.617Z sunrise +2021-07-14T14:51:52.398Z moonrise 2021-07-14T17:30:44.634Z Sun culminates 82.96 degrees above the horizon 2021-07-14T21:25:39.864Z Moon culminates 69.54 degrees above the horizon -2021-07-15T00:24:34.354Z sunset -2021-07-15T03:52:31.070Z moonset -2021-07-15T10:37:11.711Z sunrise +2021-07-15T00:24:34.541Z sunset +2021-07-15T03:52:31.084Z moonset +2021-07-15T10:37:11.562Z sunrise 2021-07-15T15:52:00.739Z moonrise 2021-07-15T17:30:50.687Z Sun culminates 82.80 degrees above the horizon 2021-07-15T22:12:19.885Z Moon culminates 63.56 degrees above the horizon -2021-07-16T00:24:15.021Z sunset -2021-07-16T04:25:44.225Z moonset -2021-07-16T10:37:43.007Z sunrise -2021-07-16T16:52:49.520Z moonrise +2021-07-16T00:24:15.205Z sunset +2021-07-16T04:25:44.233Z moonset +2021-07-16T10:37:42.862Z sunrise +2021-07-16T16:52:49.522Z moonrise 2021-07-16T17:30:56.206Z Sun culminates 82.64 degrees above the horizon 2021-07-16T22:59:27.904Z Moon culminates 57.34 degrees above the horizon -2021-07-17T00:23:54.277Z sunset -2021-07-17T04:59:23.563Z moonset +2021-07-17T00:23:54.457Z sunset +2021-07-17T04:59:23.568Z moonset 2021-07-17T10:11:14.524Z first quarter -2021-07-17T10:38:14.630Z sunrise +2021-07-17T10:38:14.488Z sunrise 2021-07-17T17:31:01.180Z Sun culminates 82.47 degrees above the horizon -2021-07-17T17:55:12.612Z moonrise +2021-07-17T17:55:12.627Z moonrise 2021-07-17T22:30:37.119Z Pluto opposition 2021-07-17T23:48:17.422Z Moon culminates 51.18 degrees above the horizon -2021-07-18T00:23:32.127Z sunset -2021-07-18T05:35:02.065Z moonset -2021-07-18T10:38:46.551Z sunrise +2021-07-18T00:23:32.305Z sunset +2021-07-18T05:35:02.053Z moonset +2021-07-18T10:38:46.413Z sunrise 2021-07-18T17:31:05.597Z Sun culminates 82.29 degrees above the horizon -2021-07-18T18:59:59.019Z moonrise -2021-07-19T00:23:08.579Z sunset +2021-07-18T18:59:59.088Z moonrise +2021-07-19T00:23:08.753Z sunset 2021-07-19T00:40:01.624Z Moon culminates 45.46 degrees above the horizon -2021-07-19T06:14:22.046Z moonset -2021-07-19T10:39:18.743Z sunrise +2021-07-19T06:14:21.991Z moonset +2021-07-19T10:39:18.608Z sunrise 2021-07-19T17:31:09.450Z Sun culminates 82.11 degrees above the horizon -2021-07-19T20:07:24.047Z moonrise -2021-07-20T00:22:43.642Z sunset +2021-07-19T20:07:24.205Z moonrise +2021-07-20T00:22:43.812Z sunset 2021-07-20T01:35:36.632Z Moon culminates 40.59 degrees above the horizon -2021-07-20T06:59:09.237Z moonset -2021-07-20T10:39:51.180Z sunrise +2021-07-20T06:59:09.120Z moonset +2021-07-20T10:39:51.050Z sunrise 2021-07-20T17:31:12.730Z Sun culminates 81.92 degrees above the horizon -2021-07-20T21:16:33.233Z moonrise -2021-07-21T00:22:17.326Z sunset +2021-07-20T21:16:33.466Z moonrise +2021-07-21T00:22:17.492Z sunset 2021-07-21T02:35:14.216Z Moon culminates 37.03 degrees above the horizon -2021-07-21T07:50:49.393Z moonset +2021-07-21T07:50:49.211Z moonset 2021-07-21T10:24:32.275Z lunar perigee at 364511 km -2021-07-21T10:40:23.839Z sunrise +2021-07-21T10:40:23.712Z sunrise 2021-07-21T17:31:15.431Z Sun culminates 81.72 degrees above the horizon -2021-07-21T22:25:00.806Z moonrise -2021-07-22T00:21:49.643Z sunset +2021-07-21T22:25:01.062Z moonrise +2021-07-22T00:21:49.806Z sunset 2021-07-22T03:37:52.683Z Moon culminates 35.17 degrees above the horizon -2021-07-22T08:49:42.040Z moonset -2021-07-22T10:40:56.696Z sunrise +2021-07-22T08:49:41.809Z moonset +2021-07-22T10:40:56.574Z sunrise 2021-07-22T17:31:17.550Z Sun culminates 81.52 degrees above the horizon -2021-07-22T23:29:23.766Z moonrise -2021-07-23T00:21:20.608Z sunset +2021-07-22T23:29:24.000Z moonrise +2021-07-23T00:21:20.767Z sunset 2021-07-23T04:41:14.869Z Moon culminates 35.25 degrees above the horizon -2021-07-23T09:54:16.174Z moonset -2021-07-23T10:41:29.730Z sunrise +2021-07-23T09:54:15.923Z moonset +2021-07-23T10:41:29.612Z sunrise 2021-07-23T17:31:19.081Z Sun culminates 81.32 degrees above the horizon -2021-07-24T00:20:50.234Z sunset -2021-07-24T00:26:53.992Z moonrise +2021-07-24T00:20:50.389Z sunset +2021-07-24T00:26:54.181Z moonrise 2021-07-24T00:38:40.840Z Mercury perihelion at 0.3075 AU 2021-07-24T02:37:29.061Z full moon 2021-07-24T05:42:36.643Z Moon culminates 37.21 degrees above the horizon -2021-07-24T10:42:02.922Z sunrise -2021-07-24T11:01:24.962Z moonset +2021-07-24T10:42:02.808Z sunrise +2021-07-24T11:01:24.737Z moonset 2021-07-24T17:31:20.024Z Sun culminates 81.11 degrees above the horizon -2021-07-25T00:20:18.536Z sunset -2021-07-25T01:16:31.328Z moonrise +2021-07-25T00:20:18.687Z sunset +2021-07-25T01:16:31.458Z moonrise 2021-07-25T06:39:57.187Z Moon culminates 40.73 degrees above the horizon -2021-07-25T10:42:36.251Z sunrise -2021-07-25T12:07:51.471Z moonset +2021-07-25T10:42:36.142Z sunrise +2021-07-25T12:07:51.321Z moonset 2021-07-25T17:31:20.376Z Sun culminates 80.89 degrees above the horizon -2021-07-26T00:19:45.531Z sunset -2021-07-26T01:58:57.726Z moonrise +2021-07-26T00:19:45.677Z sunset +2021-07-26T01:58:57.799Z moonrise 2021-07-26T07:32:33.939Z Moon culminates 45.37 degrees above the horizon -2021-07-26T10:43:09.701Z sunrise -2021-07-26T13:11:29.669Z moonset +2021-07-26T10:43:09.596Z sunrise +2021-07-26T13:11:29.603Z moonset 2021-07-26T17:31:20.137Z Sun culminates 80.67 degrees above the horizon -2021-07-27T00:19:11.233Z sunset -2021-07-27T02:35:46.344Z moonrise +2021-07-27T00:19:11.376Z sunset +2021-07-27T02:35:46.377Z moonrise 2021-07-27T02:51:43.442Z Mercury moves from Gemini to Cancer 2021-07-27T08:20:49.880Z Moon culminates 50.69 degrees above the horizon -2021-07-27T10:43:43.254Z sunrise -2021-07-27T14:11:41.638Z moonset +2021-07-27T10:43:43.155Z sunrise +2021-07-27T14:11:41.623Z moonset 2021-07-27T17:31:19.307Z Sun culminates 80.44 degrees above the horizon -2021-07-28T00:18:35.661Z sunset -2021-07-28T03:08:39.752Z moonrise +2021-07-28T00:18:35.799Z sunset +2021-07-28T03:08:39.767Z moonrise 2021-07-28T09:05:43.383Z Moon culminates 56.32 degrees above the horizon -2021-07-28T10:44:16.895Z sunrise -2021-07-28T15:08:50.710Z moonset +2021-07-28T10:44:16.800Z sunrise +2021-07-28T15:08:50.711Z moonset 2021-07-28T17:31:17.886Z Sun culminates 80.21 degrees above the horizon -2021-07-29T00:17:58.832Z sunset -2021-07-29T03:39:12.000Z moonrise +2021-07-29T00:17:58.966Z sunset +2021-07-29T03:39:12.011Z moonrise 2021-07-29T09:48:24.903Z Moon culminates 62.00 degrees above the horizon -2021-07-29T10:44:50.607Z sunrise -2021-07-29T16:03:49.492Z moonset +2021-07-29T10:44:50.517Z sunrise +2021-07-29T16:03:49.496Z moonset 2021-07-29T17:31:15.875Z Sun culminates 79.97 degrees above the horizon -2021-07-30T00:17:20.762Z sunset -2021-07-30T04:08:45.991Z moonrise +2021-07-30T00:17:20.892Z sunset +2021-07-30T04:08:45.999Z moonrise 2021-07-30T10:30:05.019Z Moon culminates 67.49 degrees above the horizon -2021-07-30T10:45:24.374Z sunrise -2021-07-30T16:57:38.215Z moonset +2021-07-30T10:45:24.289Z sunrise +2021-07-30T16:57:38.228Z moonset 2021-07-30T17:31:13.275Z Sun culminates 79.73 degrees above the horizon -2021-07-31T00:16:41.471Z sunset -2021-07-31T04:38:36.833Z moonrise -2021-07-31T10:45:58.179Z sunrise +2021-07-31T00:16:41.597Z sunset +2021-07-31T04:38:36.829Z moonrise +2021-07-31T10:45:58.099Z sunrise 2021-07-31T11:11:49.592Z Moon culminates 72.63 degrees above the horizon 2021-07-31T13:16:41.852Z third quarter 2021-07-31T17:31:10.087Z Sun culminates 79.48 degrees above the horizon -2021-07-31T17:51:11.925Z moonset -2021-08-01T00:16:00.976Z sunset -2021-08-01T05:09:56.106Z moonrise -2021-08-01T10:46:32.005Z sunrise +2021-07-31T17:51:11.970Z moonset +2021-08-01T00:16:01.097Z sunset +2021-08-01T05:09:56.076Z moonrise +2021-08-01T10:46:31.930Z sunrise 2021-08-01T11:54:37.263Z Moon culminates 77.26 degrees above the horizon 2021-08-01T13:54:50.643Z Mercury superior conjunction 2021-08-01T17:31:06.310Z Sun culminates 79.23 degrees above the horizon -2021-08-01T18:45:11.297Z moonset -2021-08-02T00:15:19.294Z sunset -2021-08-02T05:43:54.476Z moonrise +2021-08-01T18:45:11.393Z moonset +2021-08-02T00:15:19.411Z sunset +2021-08-02T05:43:54.407Z moonrise 2021-08-02T06:02:00.626Z Saturn opposition 2021-08-02T07:35:59.952Z lunar apogee at 404396 km -2021-08-02T10:47:05.836Z sunrise +2021-08-02T10:47:05.766Z sunrise 2021-08-02T12:39:16.067Z Moon culminates 81.20 degrees above the horizon 2021-08-02T17:31:01.946Z Sun culminates 78.97 degrees above the horizon -2021-08-02T19:39:53.527Z moonset -2021-08-03T00:14:36.444Z sunset -2021-08-03T06:21:40.478Z moonrise -2021-08-03T10:47:39.655Z sunrise +2021-08-02T19:39:53.679Z moonset +2021-08-03T00:14:36.557Z sunset +2021-08-03T06:21:40.368Z moonrise +2021-08-03T10:47:39.590Z sunrise 2021-08-03T13:26:17.397Z Moon culminates 84.27 degrees above the horizon 2021-08-03T17:30:56.994Z Sun culminates 78.71 degrees above the horizon -2021-08-03T20:35:03.354Z moonset -2021-08-04T00:13:52.443Z sunset -2021-08-04T07:04:12.969Z moonrise -2021-08-04T10:48:13.444Z sunrise +2021-08-03T20:35:03.544Z moonset +2021-08-04T00:13:52.551Z sunset +2021-08-04T07:04:12.822Z moonrise +2021-08-04T10:48:13.384Z sunrise 2021-08-04T14:15:47.686Z Moon culminates 86.28 degrees above the horizon 2021-08-04T17:30:51.455Z Sun culminates 78.44 degrees above the horizon -2021-08-04T21:29:48.999Z moonset -2021-08-05T00:13:07.307Z sunset -2021-08-05T07:52:06.064Z moonrise -2021-08-05T10:48:47.186Z sunrise +2021-08-04T21:29:49.200Z moonset +2021-08-05T00:13:07.411Z sunset +2021-08-05T07:52:05.890Z moonrise +2021-08-05T10:48:47.131Z sunrise 2021-08-05T14:32:19.701Z Mercury moves from Cancer to Leo 2021-08-05T15:07:21.631Z Moon culminates 87.04 degrees above the horizon 2021-08-05T17:30:45.329Z Sun culminates 78.17 degrees above the horizon -2021-08-05T22:22:51.082Z moonset -2021-08-06T00:12:21.056Z sunset -2021-08-06T08:45:11.257Z moonrise -2021-08-06T10:49:20.864Z sunrise +2021-08-05T22:22:51.273Z moonset +2021-08-06T00:12:21.155Z sunset +2021-08-06T08:45:11.068Z moonrise +2021-08-06T10:49:20.814Z sunrise 2021-08-06T16:00:03.991Z Moon culminates 86.43 degrees above the horizon 2021-08-06T17:30:38.616Z Sun culminates 77.89 degrees above the horizon -2021-08-06T23:12:47.487Z moonset -2021-08-07T00:11:33.704Z sunset -2021-08-07T09:42:30.022Z moonrise -2021-08-07T10:49:54.461Z sunrise +2021-08-06T23:12:47.653Z moonset +2021-08-07T00:11:33.800Z sunset +2021-08-07T09:42:29.840Z moonrise +2021-08-07T10:49:54.417Z sunrise 2021-08-07T16:52:44.711Z Moon culminates 84.42 degrees above the horizon 2021-08-07T17:30:31.316Z Sun culminates 77.61 degrees above the horizon -2021-08-07T23:58:43.279Z moonset -2021-08-08T00:10:45.272Z sunset -2021-08-08T10:42:29.710Z moonrise -2021-08-08T10:50:27.961Z sunrise +2021-08-07T23:58:43.407Z moonset +2021-08-08T00:10:45.363Z sunset +2021-08-08T10:42:29.564Z moonrise +2021-08-08T10:50:27.923Z sunrise 2021-08-08T13:50:47.203Z new moon 2021-08-08T17:30:23.430Z Sun culminates 77.33 degrees above the horizon 2021-08-08T17:44:22.546Z Moon culminates 81.09 degrees above the horizon -2021-08-09T00:09:55.774Z sunset -2021-08-09T00:40:27.514Z moonset -2021-08-09T10:51:01.350Z sunrise -2021-08-09T11:43:37.842Z moonrise +2021-08-09T00:09:55.861Z sunset +2021-08-09T00:40:27.597Z moonset +2021-08-09T10:51:01.316Z sunrise +2021-08-09T11:43:37.757Z moonrise 2021-08-09T17:30:14.960Z Sun culminates 77.04 degrees above the horizon 2021-08-09T18:34:24.490Z Moon culminates 76.61 degrees above the horizon -2021-08-10T00:09:05.231Z sunset -2021-08-10T01:18:30.240Z moonset -2021-08-10T10:51:34.613Z sunrise -2021-08-10T12:44:53.166Z moonrise +2021-08-10T00:09:05.314Z sunset +2021-08-10T01:18:30.281Z moonset +2021-08-10T10:51:34.584Z sunrise +2021-08-10T12:44:53.137Z moonrise 2021-08-10T17:30:05.907Z Sun culminates 76.75 degrees above the horizon 2021-08-10T19:22:52.349Z Moon culminates 71.24 degrees above the horizon 2021-08-10T21:32:39.205Z Venus moves from Leo to Virgo -2021-08-11T00:08:13.660Z sunset -2021-08-11T01:53:48.755Z moonset -2021-08-11T10:52:07.736Z sunrise -2021-08-11T13:45:57.561Z moonrise +2021-08-11T00:08:13.738Z sunset +2021-08-11T01:53:48.772Z moonset +2021-08-11T10:52:07.713Z sunrise +2021-08-11T13:45:57.559Z moonrise 2021-08-11T17:29:56.276Z Sun culminates 76.45 degrees above the horizon 2021-08-11T20:10:18.162Z Moon culminates 65.28 degrees above the horizon -2021-08-12T00:07:21.079Z sunset -2021-08-12T02:27:34.918Z moonset -2021-08-12T10:52:40.710Z sunrise -2021-08-12T14:47:10.190Z moonrise +2021-08-12T00:07:21.154Z sunset +2021-08-12T02:27:34.926Z moonset +2021-08-12T10:52:40.691Z sunrise +2021-08-12T14:47:10.191Z moonrise 2021-08-12T17:29:46.071Z Sun culminates 76.15 degrees above the horizon 2021-08-12T20:57:35.190Z Moon culminates 59.02 degrees above the horizon -2021-08-13T00:06:27.510Z sunset -2021-08-13T03:01:08.575Z moonset -2021-08-13T10:53:13.524Z sunrise -2021-08-13T15:49:12.664Z moonrise +2021-08-13T00:06:27.580Z sunset +2021-08-13T03:01:08.581Z moonset +2021-08-13T10:53:13.510Z sunrise +2021-08-13T15:49:12.673Z moonrise 2021-08-13T17:29:35.297Z Sun culminates 75.84 degrees above the horizon 2021-08-13T21:45:48.873Z Moon culminates 52.79 degrees above the horizon -2021-08-14T00:05:32.972Z sunset -2021-08-14T03:35:56.340Z moonset -2021-08-14T10:53:46.171Z sunrise -2021-08-14T16:52:50.034Z moonrise +2021-08-14T00:05:33.039Z sunset +2021-08-14T03:35:56.335Z moonset +2021-08-14T10:53:46.162Z sunrise +2021-08-14T16:52:50.084Z moonrise 2021-08-14T17:29:23.961Z Sun culminates 75.53 degrees above the horizon 2021-08-14T22:36:07.603Z Moon culminates 46.94 degrees above the horizon -2021-08-15T00:04:37.488Z sunset -2021-08-15T04:13:32.298Z moonset -2021-08-15T10:54:18.643Z sunrise +2021-08-15T00:04:37.551Z sunset +2021-08-15T04:13:32.258Z moonset +2021-08-15T10:54:18.639Z sunrise 2021-08-15T15:20:09.381Z first quarter 2021-08-15T17:29:12.072Z Sun culminates 75.22 degrees above the horizon -2021-08-15T17:58:26.823Z moonrise +2021-08-15T17:58:26.955Z moonrise 2021-08-15T23:29:29.904Z Moon culminates 41.85 degrees above the horizon -2021-08-16T00:03:41.081Z sunset -2021-08-16T04:55:35.362Z moonset -2021-08-16T10:54:50.937Z sunrise +2021-08-16T00:03:41.141Z sunset +2021-08-16T04:55:35.264Z moonset +2021-08-16T10:54:50.938Z sunrise 2021-08-16T17:28:59.641Z Sun culminates 74.90 degrees above the horizon -2021-08-16T19:05:37.700Z moonrise -2021-08-17T00:02:43.776Z sunset +2021-08-16T19:05:37.915Z moonrise +2021-08-17T00:02:43.832Z sunset 2021-08-17T00:26:24.451Z Moon culminates 37.91 degrees above the horizon -2021-08-17T05:43:35.489Z moonset +2021-08-17T05:43:35.327Z moonset 2021-08-17T09:16:15.031Z lunar perigee at 369115 km -2021-08-17T10:55:23.049Z sunrise +2021-08-17T10:55:23.054Z sunrise 2021-08-17T17:28:46.677Z Sun culminates 74.58 degrees above the horizon -2021-08-17T20:12:43.820Z moonrise -2021-08-18T00:01:45.597Z sunset +2021-08-17T20:12:44.075Z moonrise +2021-08-18T00:01:45.649Z sunset 2021-08-18T01:26:25.584Z Moon culminates 35.50 degrees above the horizon -2021-08-18T06:38:21.584Z moonset -2021-08-18T10:55:54.978Z sunrise +2021-08-18T06:38:21.368Z moonset +2021-08-18T10:55:54.988Z sunrise 2021-08-18T17:28:33.194Z Sun culminates 74.26 degrees above the horizon -2021-08-18T21:17:03.020Z moonrise +2021-08-18T21:17:03.268Z moonrise 2021-08-18T22:20:32.487Z Jupiter moves from Aquarius to Capricornus -2021-08-19T00:00:46.571Z sunset +2021-08-19T00:00:46.620Z sunset 2021-08-19T02:28:00.947Z Moon culminates 34.88 degrees above the horizon -2021-08-19T07:39:19.515Z moonset -2021-08-19T10:56:26.724Z sunrise +2021-08-19T07:39:19.267Z moonset +2021-08-19T10:56:26.738Z sunrise 2021-08-19T17:28:19.205Z Sun culminates 73.93 degrees above the horizon -2021-08-19T22:15:51.140Z moonrise -2021-08-19T23:59:46.724Z sunset +2021-08-19T22:15:51.351Z moonrise +2021-08-19T23:59:46.769Z sunset 2021-08-20T00:15:18.108Z Jupiter opposition 2021-08-20T03:28:54.089Z Moon culminates 36.10 degrees above the horizon -2021-08-20T08:44:18.326Z moonset -2021-08-20T10:56:58.289Z sunrise +2021-08-20T08:44:18.083Z moonset +2021-08-20T10:56:58.307Z sunrise 2021-08-20T17:28:04.725Z Sun culminates 73.60 degrees above the horizon -2021-08-20T23:07:35.625Z moonrise -2021-08-20T23:58:46.083Z sunset +2021-08-20T23:07:35.783Z moonrise +2021-08-20T23:58:46.126Z sunset 2021-08-21T04:26:58.497Z Moon culminates 38.98 degrees above the horizon -2021-08-21T09:50:18.389Z moonset -2021-08-21T10:57:29.676Z sunrise +2021-08-21T09:50:18.202Z moonset +2021-08-21T10:57:29.699Z sunrise 2021-08-21T17:27:49.769Z Sun culminates 73.27 degrees above the horizon -2021-08-21T23:52:19.007Z moonrise -2021-08-21T23:57:44.676Z sunset +2021-08-21T23:52:19.105Z moonrise +2021-08-21T23:57:44.716Z sunset 2021-08-22T05:21:03.353Z Moon culminates 43.18 degrees above the horizon -2021-08-22T10:54:49.764Z moonset -2021-08-22T10:58:00.891Z sunrise +2021-08-22T10:54:49.662Z moonset +2021-08-22T10:58:00.917Z sunrise 2021-08-22T12:02:35.756Z full moon 2021-08-22T17:27:34.354Z Sun culminates 72.93 degrees above the horizon -2021-08-22T23:56:42.531Z sunset -2021-08-23T00:31:08.744Z moonrise +2021-08-22T23:56:42.567Z sunset +2021-08-23T00:31:08.792Z moonrise 2021-08-23T06:11:01.554Z Moon culminates 48.27 degrees above the horizon -2021-08-23T10:58:31.940Z sunrise -2021-08-23T11:56:35.991Z moonset +2021-08-23T10:58:31.970Z sunrise +2021-08-23T11:56:35.959Z moonset 2021-08-23T17:27:18.498Z Sun culminates 72.59 degrees above the horizon -2021-08-23T23:55:39.674Z sunset -2021-08-24T01:05:36.408Z moonrise +2021-08-23T23:55:39.707Z sunset +2021-08-24T01:05:36.428Z moonrise 2021-08-24T06:57:30.330Z Moon culminates 53.88 degrees above the horizon -2021-08-24T10:59:02.829Z sunrise -2021-08-24T12:55:28.379Z moonset +2021-08-24T10:59:02.863Z sunrise +2021-08-24T12:55:28.377Z moonset 2021-08-24T17:27:02.217Z Sun culminates 72.25 degrees above the horizon -2021-08-24T23:54:36.134Z sunset -2021-08-25T01:37:13.146Z moonrise +2021-08-24T23:54:36.165Z sunset +2021-08-25T01:37:13.158Z moonrise 2021-08-25T07:41:28.151Z Moon culminates 59.66 degrees above the horizon -2021-08-25T10:59:33.568Z sunrise -2021-08-25T13:51:59.357Z moonset +2021-08-25T10:59:33.606Z sunrise +2021-08-25T13:51:59.360Z moonset 2021-08-25T17:26:45.530Z Sun culminates 71.91 degrees above the horizon -2021-08-25T23:53:31.940Z sunset -2021-08-26T02:07:21.619Z moonrise +2021-08-25T23:53:31.968Z sunset +2021-08-26T02:07:21.628Z moonrise 2021-08-26T05:16:03.775Z Mercury moves from Leo to Virgo 2021-08-26T08:23:59.463Z Moon culminates 65.36 degrees above the horizon -2021-08-26T11:00:04.164Z sunrise -2021-08-26T14:46:58.458Z moonset +2021-08-26T11:00:04.205Z sunrise +2021-08-26T14:46:58.465Z moonset 2021-08-26T17:26:28.456Z Sun culminates 71.56 degrees above the horizon -2021-08-26T23:52:27.118Z sunset -2021-08-27T02:37:16.599Z moonrise +2021-08-26T23:52:27.144Z sunset +2021-08-27T02:37:16.601Z moonrise 2021-08-27T09:06:07.125Z Moon culminates 70.76 degrees above the horizon -2021-08-27T11:00:34.625Z sunrise -2021-08-27T15:41:16.519Z moonset +2021-08-27T11:00:34.670Z sunrise +2021-08-27T15:41:16.549Z moonset 2021-08-27T17:26:11.011Z Sun culminates 71.21 degrees above the horizon -2021-08-27T23:51:21.697Z sunset -2021-08-28T03:08:08.370Z moonrise +2021-08-27T23:51:21.721Z sunset +2021-08-28T03:08:08.351Z moonrise 2021-08-28T09:48:48.835Z Moon culminates 75.67 degrees above the horizon -2021-08-28T11:01:04.960Z sunrise -2021-08-28T16:35:35.204Z moonset +2021-08-28T11:01:05.008Z sunrise +2021-08-28T16:35:35.281Z moonset 2021-08-28T17:25:53.214Z Sun culminates 70.85 degrees above the horizon -2021-08-28T23:50:15.705Z sunset -2021-08-29T03:41:05.745Z moonrise +2021-08-28T23:50:15.726Z sunset +2021-08-29T03:41:05.691Z moonrise 2021-08-29T10:32:54.116Z Moon culminates 79.94 degrees above the horizon -2021-08-29T11:01:35.176Z sunrise +2021-08-29T11:01:35.227Z sunrise 2021-08-29T17:25:35.083Z Sun culminates 70.50 degrees above the horizon -2021-08-29T17:30:18.148Z moonset -2021-08-29T23:49:09.168Z sunset +2021-08-29T17:30:18.283Z moonset +2021-08-29T23:49:09.187Z sunset 2021-08-30T02:22:10.619Z lunar apogee at 404086 km -2021-08-30T04:17:16.558Z moonrise +2021-08-30T04:17:16.461Z moonrise 2021-08-30T07:13:51.908Z third quarter -2021-08-30T11:02:05.281Z sunrise +2021-08-30T11:02:05.334Z sunrise 2021-08-30T11:18:59.746Z Moon culminates 83.38 degrees above the horizon 2021-08-30T17:25:16.634Z Sun culminates 70.14 degrees above the horizon -2021-08-30T18:25:22.448Z moonset -2021-08-30T23:48:02.113Z sunset -2021-08-31T04:57:43.430Z moonrise -2021-08-31T11:02:35.281Z sunrise +2021-08-30T18:25:22.629Z moonset +2021-08-30T23:48:02.130Z sunset +2021-08-31T04:57:43.294Z moonrise +2021-08-31T11:02:35.337Z sunrise 2021-08-31T12:07:23.098Z Moon culminates 85.82 degrees above the horizon 2021-08-31T17:24:57.884Z Sun culminates 69.78 degrees above the horizon -2021-08-31T19:20:13.042Z moonset -2021-08-31T23:46:54.566Z sunset -2021-09-01T05:43:12.986Z moonrise -2021-09-01T11:03:05.183Z sunrise +2021-08-31T19:20:13.245Z moonset +2021-08-31T23:46:54.581Z sunset +2021-09-01T05:43:12.819Z moonrise +2021-09-01T11:03:05.242Z sunrise 2021-09-01T12:57:55.330Z Moon culminates 87.09 degrees above the horizon 2021-09-01T17:24:38.849Z Sun culminates 69.42 degrees above the horizon -2021-09-01T20:13:46.065Z moonset -2021-09-01T23:45:46.552Z sunset -2021-09-02T06:33:59.871Z moonrise -2021-09-02T11:03:34.992Z sunrise +2021-09-01T20:13:46.265Z moonset +2021-09-01T23:45:46.566Z sunset +2021-09-02T06:33:59.684Z moonrise +2021-09-02T11:03:35.053Z sunrise 2021-09-02T13:49:59.295Z Moon culminates 87.03 degrees above the horizon 2021-09-02T17:24:19.543Z Sun culminates 69.05 degrees above the horizon -2021-09-02T21:04:45.935Z moonset -2021-09-02T23:44:38.097Z sunset -2021-09-03T07:29:33.935Z moonrise -2021-09-03T11:04:04.715Z sunrise +2021-09-02T21:04:46.116Z moonset +2021-09-02T23:44:38.110Z sunset +2021-09-03T07:29:33.744Z moonrise +2021-09-03T11:04:04.778Z sunrise 2021-09-03T14:42:37.489Z Moon culminates 85.57 degrees above the horizon 2021-09-03T17:23:59.984Z Sun culminates 68.69 degrees above the horizon -2021-09-03T21:52:11.595Z moonset -2021-09-03T23:43:29.225Z sunset -2021-09-04T08:28:43.618Z moonrise -2021-09-04T11:04:34.356Z sunrise +2021-09-03T21:52:11.742Z moonset +2021-09-03T23:43:29.236Z sunset +2021-09-04T08:28:43.451Z moonrise +2021-09-04T11:04:34.421Z sunrise 2021-09-04T15:34:50.049Z Moon culminates 82.73 degrees above the horizon 2021-09-04T17:23:40.183Z Sun culminates 68.32 degrees above the horizon -2021-09-04T22:35:37.549Z moonset -2021-09-04T23:42:19.960Z sunset +2021-09-04T22:35:37.652Z moonset +2021-09-04T23:42:19.970Z sunset 2021-09-05T07:56:10.132Z Mars moves from Leo to Virgo -2021-09-05T09:30:00.159Z moonrise -2021-09-05T11:05:03.919Z sunrise +2021-09-05T09:30:00.046Z moonrise +2021-09-05T11:05:03.987Z sunrise 2021-09-05T16:25:54.735Z Moon culminates 78.62 degrees above the horizon 2021-09-05T17:23:20.158Z Sun culminates 67.95 degrees above the horizon -2021-09-05T23:15:18.641Z moonset -2021-09-05T23:41:10.326Z sunset +2021-09-05T23:15:18.697Z moonset +2021-09-05T23:41:10.335Z sunset 2021-09-06T00:16:13.743Z Mercury aphelion at 0.4667 AU -2021-09-06T10:32:09.575Z moonrise -2021-09-06T11:05:33.412Z sunrise +2021-09-06T10:32:09.525Z moonrise +2021-09-06T11:05:33.481Z sunrise 2021-09-06T17:15:38.966Z Moon culminates 73.46 degrees above the horizon 2021-09-06T17:22:59.921Z Sun culminates 67.57 degrees above the horizon -2021-09-06T23:40:00.346Z sunset -2021-09-06T23:52:01.122Z moonset +2021-09-06T23:40:00.354Z sunset +2021-09-06T23:52:01.146Z moonset 2021-09-07T00:52:22.998Z new moon -2021-09-07T11:06:02.838Z sunrise -2021-09-07T11:34:33.444Z moonrise +2021-09-07T11:06:02.909Z sunrise +2021-09-07T11:34:33.434Z moonrise 2021-09-07T17:22:39.487Z Sun culminates 67.20 degrees above the horizon 2021-09-07T18:04:20.668Z Moon culminates 67.53 degrees above the horizon -2021-09-07T23:38:50.045Z sunset -2021-09-08T00:26:50.286Z moonset -2021-09-08T11:06:32.203Z sunrise -2021-09-08T12:37:11.298Z moonrise +2021-09-07T23:38:50.051Z sunset +2021-09-08T00:26:50.296Z moonset +2021-09-08T11:06:32.276Z sunrise +2021-09-08T12:37:11.299Z moonrise 2021-09-08T17:22:18.871Z Sun culminates 66.82 degrees above the horizon 2021-09-08T18:52:41.756Z Moon culminates 61.14 degrees above the horizon -2021-09-08T23:37:39.444Z sunset -2021-09-09T01:01:01.926Z moonset -2021-09-09T11:07:01.515Z sunrise -2021-09-09T13:40:29.608Z moonrise +2021-09-08T23:37:39.449Z sunset +2021-09-09T01:01:01.933Z moonset +2021-09-09T11:07:01.590Z sunrise +2021-09-09T13:40:29.612Z moonrise 2021-09-09T17:21:58.088Z Sun culminates 66.44 degrees above the horizon 2021-09-09T19:41:39.154Z Moon culminates 54.67 degrees above the horizon -2021-09-09T23:36:28.567Z sunset +2021-09-09T23:36:28.572Z sunset 2021-09-10T01:35:58.965Z moonset -2021-09-10T11:07:30.780Z sunrise -2021-09-10T14:45:03.681Z moonrise +2021-09-10T11:07:30.856Z sunrise +2021-09-10T14:45:03.715Z moonrise 2021-09-10T17:21:37.154Z Sun culminates 66.07 degrees above the horizon 2021-09-10T20:32:14.986Z Moon culminates 48.51 degrees above the horizon -2021-09-10T23:35:17.439Z sunset -2021-09-11T02:13:10.850Z moonset +2021-09-10T23:35:17.443Z sunset +2021-09-11T02:13:10.823Z moonset 2021-09-11T10:04:06.779Z lunar perigee at 368453 km -2021-09-11T11:08:00.007Z sunrise -2021-09-11T15:51:14.492Z moonrise +2021-09-11T11:08:00.085Z sunrise +2021-09-11T15:51:14.601Z moonrise 2021-09-11T17:21:16.085Z Sun culminates 65.68 degrees above the horizon 2021-09-11T21:25:24.178Z Moon culminates 43.04 degrees above the horizon -2021-09-11T23:34:06.085Z sunset -2021-09-12T02:54:11.208Z moonset -2021-09-12T11:08:29.205Z sunrise -2021-09-12T16:58:41.305Z moonrise +2021-09-11T23:34:06.088Z sunset +2021-09-12T02:54:11.126Z moonset +2021-09-12T11:08:29.283Z sunrise +2021-09-12T16:58:41.505Z moonrise 2021-09-12T17:20:54.898Z Sun culminates 65.30 degrees above the horizon 2021-09-12T22:21:36.807Z Moon culminates 38.69 degrees above the horizon -2021-09-12T23:32:54.529Z sunset -2021-09-13T03:40:27.192Z moonset -2021-09-13T11:08:58.382Z sunrise +2021-09-12T23:32:54.532Z sunset +2021-09-13T03:40:27.045Z moonset +2021-09-13T11:08:58.462Z sunrise 2021-09-13T17:20:33.611Z Sun culminates 64.92 degrees above the horizon -2021-09-13T18:05:58.988Z moonrise +2021-09-13T18:05:59.241Z moonrise 2021-09-13T20:39:56.405Z first quarter 2021-09-13T23:20:36.954Z Moon culminates 35.81 degrees above the horizon -2021-09-13T23:31:42.798Z sunset +2021-09-13T23:31:42.800Z sunset 2021-09-14T04:26:12.490Z Mercury max evening elongation: 26.76 degrees from Sun -2021-09-14T04:32:54.163Z moonset +2021-09-14T04:32:53.958Z moonset 2021-09-14T09:12:11.225Z Neptune opposition -2021-09-14T11:09:27.551Z sunrise +2021-09-14T11:09:27.632Z sunrise 2021-09-14T17:20:12.244Z Sun culminates 64.54 degrees above the horizon -2021-09-14T19:10:42.851Z moonrise -2021-09-14T23:30:30.919Z sunset +2021-09-14T19:10:43.108Z moonrise +2021-09-14T23:30:30.920Z sunset 2021-09-15T00:21:10.518Z Moon culminates 34.66 degrees above the horizon -2021-09-15T05:31:19.943Z moonset -2021-09-15T11:09:56.722Z sunrise +2021-09-15T05:31:19.699Z moonset +2021-09-15T11:09:56.804Z sunrise 2021-09-15T17:19:50.816Z Sun culminates 64.15 degrees above the horizon -2021-09-15T20:10:18.140Z moonrise -2021-09-15T23:29:18.918Z sunset +2021-09-15T20:10:18.368Z moonrise +2021-09-15T23:29:18.920Z sunset 2021-09-16T01:21:20.463Z Moon culminates 35.31 degrees above the horizon -2021-09-16T06:34:06.172Z moonset -2021-09-16T11:10:25.910Z sunrise +2021-09-16T06:34:05.919Z moonset +2021-09-16T11:10:25.993Z sunrise 2021-09-16T17:19:29.347Z Sun culminates 63.77 degrees above the horizon -2021-09-16T21:03:07.186Z moonrise -2021-09-16T23:28:06.825Z sunset +2021-09-16T21:03:07.368Z moonrise +2021-09-16T23:28:06.826Z sunset 2021-09-17T02:19:10.259Z Moon culminates 37.65 degrees above the horizon -2021-09-17T07:38:38.575Z moonset -2021-09-17T11:10:55.128Z sunrise +2021-09-17T07:38:38.360Z moonset +2021-09-17T11:10:55.212Z sunrise 2021-09-17T17:19:07.859Z Sun culminates 63.38 degrees above the horizon -2021-09-17T21:48:59.329Z moonrise -2021-09-17T23:26:54.668Z sunset +2021-09-17T21:48:59.452Z moonrise +2021-09-17T23:26:54.669Z sunset 2021-09-18T03:13:26.321Z Moon culminates 41.37 degrees above the horizon 2021-09-18T08:06:03.293Z Venus moves from Virgo to Libra -2021-09-18T08:42:32.320Z moonset -2021-09-18T11:11:24.392Z sunrise +2021-09-18T08:42:32.184Z moonset +2021-09-18T11:11:24.476Z sunrise 2021-09-18T17:18:46.375Z Sun culminates 62.99 degrees above the horizon -2021-09-18T22:28:50.370Z moonrise -2021-09-18T23:25:42.475Z sunset +2021-09-18T22:28:50.437Z moonrise +2021-09-18T23:25:42.476Z sunset 2021-09-19T04:03:51.547Z Moon culminates 46.13 degrees above the horizon -2021-09-19T09:44:19.911Z moonset -2021-09-19T11:11:53.718Z sunrise +2021-09-19T09:44:19.855Z moonset +2021-09-19T11:11:53.803Z sunrise 2021-09-19T17:18:24.918Z Sun culminates 62.61 degrees above the horizon -2021-09-19T23:04:05.300Z moonrise -2021-09-19T23:24:30.276Z sunset +2021-09-19T23:04:05.330Z moonrise +2021-09-19T23:24:30.277Z sunset 2021-09-20T04:50:52.611Z Moon culminates 51.55 degrees above the horizon -2021-09-20T10:43:36.837Z moonset -2021-09-20T11:12:23.124Z sunrise +2021-09-20T10:43:36.827Z moonset +2021-09-20T11:12:23.210Z sunrise 2021-09-20T17:18:03.510Z Sun culminates 62.22 degrees above the horizon 2021-09-20T23:23:18.101Z sunset -2021-09-20T23:36:12.459Z moonrise +2021-09-20T23:36:12.473Z moonrise 2021-09-20T23:55:21.745Z full moon 2021-09-21T05:35:19.912Z Moon culminates 57.30 degrees above the horizon -2021-09-21T11:12:52.628Z sunrise -2021-09-21T11:40:42.101Z moonset +2021-09-21T11:12:52.715Z sunrise +2021-09-21T11:40:42.103Z moonset 2021-09-21T17:17:42.177Z Sun culminates 61.83 degrees above the horizon -2021-09-21T23:22:05.978Z sunset -2021-09-22T00:06:33.242Z moonrise +2021-09-21T23:22:05.979Z sunset +2021-09-22T00:06:33.252Z moonrise 2021-09-22T06:18:12.367Z Moon culminates 63.10 degrees above the horizon -2021-09-22T11:13:22.248Z sunrise -2021-09-22T12:36:15.937Z moonset +2021-09-22T11:13:22.336Z sunrise +2021-09-22T12:36:15.941Z moonset 2021-09-22T17:17:20.942Z Sun culminates 61.44 degrees above the horizon 2021-09-22T19:20:57.419Z September equinox -2021-09-22T23:20:53.939Z sunset -2021-09-23T00:36:21.105Z moonrise +2021-09-22T23:20:53.940Z sunset +2021-09-23T00:36:21.111Z moonrise 2021-09-23T07:00:28.922Z Moon culminates 68.71 degrees above the horizon -2021-09-23T11:13:52.003Z sunrise -2021-09-23T13:31:03.391Z moonset +2021-09-23T11:13:52.092Z sunrise +2021-09-23T13:31:03.409Z moonset 2021-09-23T17:16:59.829Z Sun culminates 61.05 degrees above the horizon 2021-09-23T23:19:42.013Z sunset -2021-09-24T01:06:44.154Z moonrise +2021-09-24T01:06:44.145Z moonrise 2021-09-24T07:43:04.239Z Moon culminates 73.91 degrees above the horizon -2021-09-24T11:14:21.911Z sunrise -2021-09-24T14:25:43.115Z moonset +2021-09-24T11:14:22.000Z sunrise +2021-09-24T14:25:43.172Z moonset 2021-09-24T17:16:38.863Z Sun culminates 60.66 degrees above the horizon 2021-09-24T23:18:30.230Z sunset -2021-09-25T01:38:48.032Z moonrise +2021-09-25T01:38:47.992Z moonrise 2021-09-25T08:26:45.664Z Moon culminates 78.52 degrees above the horizon -2021-09-25T11:14:51.990Z sunrise -2021-09-25T15:20:38.573Z moonset +2021-09-25T11:14:52.079Z sunrise +2021-09-25T15:20:38.688Z moonset 2021-09-25T17:16:18.067Z Sun culminates 60.27 degrees above the horizon -2021-09-25T23:17:18.619Z sunset -2021-09-26T02:13:37.076Z moonrise +2021-09-25T23:17:18.620Z sunset +2021-09-26T02:13:36.994Z moonrise 2021-09-26T09:12:09.443Z Moon culminates 82.35 degrees above the horizon -2021-09-26T11:15:22.256Z sunrise -2021-09-26T16:15:50.132Z moonset +2021-09-26T11:15:22.346Z sunrise +2021-09-26T16:15:50.302Z moonset 2021-09-26T17:15:57.464Z Sun culminates 59.89 degrees above the horizon 2021-09-26T21:43:05.543Z lunar apogee at 404627 km 2021-09-26T23:16:07.211Z sunset -2021-09-27T02:52:11.898Z moonrise +2021-09-27T02:52:11.774Z moonrise 2021-09-27T09:59:35.441Z Moon culminates 85.22 degrees above the horizon -2021-09-27T11:15:52.725Z sunrise -2021-09-27T17:10:49.519Z moonset +2021-09-27T11:15:52.816Z sunrise +2021-09-27T17:10:49.721Z moonset 2021-09-27T17:15:37.076Z Sun culminates 59.50 degrees above the horizon -2021-09-27T23:14:56.034Z sunset -2021-09-28T03:35:21.725Z moonrise +2021-09-27T23:14:56.035Z sunset +2021-09-28T03:35:21.567Z moonrise 2021-09-28T10:49:01.514Z Moon culminates 86.97 degrees above the horizon -2021-09-28T11:16:23.413Z sunrise +2021-09-28T11:16:23.505Z sunrise 2021-09-28T17:15:16.927Z Sun culminates 59.11 degrees above the horizon -2021-09-28T18:04:41.275Z moonset -2021-09-28T23:13:45.117Z sunset +2021-09-28T18:04:41.482Z moonset +2021-09-28T23:13:45.217Z sunset 2021-09-29T01:57:46.537Z third quarter -2021-09-29T04:23:31.762Z moonrise -2021-09-29T11:16:54.334Z sunrise +2021-09-29T04:23:31.579Z moonrise +2021-09-29T11:16:54.426Z sunrise 2021-09-29T11:40:01.056Z Moon culminates 87.46 degrees above the horizon 2021-09-29T17:14:57.036Z Sun culminates 58.72 degrees above the horizon -2021-09-29T18:56:15.798Z moonset -2021-09-29T23:12:34.489Z sunset -2021-09-30T05:16:30.852Z moonrise -2021-09-30T11:17:25.500Z sunrise +2021-09-29T18:56:15.992Z moonset +2021-09-29T23:12:34.587Z sunset +2021-09-30T05:16:30.657Z moonrise +2021-09-30T11:17:25.593Z sunrise 2021-09-30T12:31:48.040Z Moon culminates 86.60 degrees above the horizon 2021-09-30T17:14:37.423Z Sun culminates 58.33 degrees above the horizon -2021-09-30T19:44:31.900Z moonset -2021-09-30T23:11:24.176Z sunset -2021-10-01T06:13:29.536Z moonrise -2021-10-01T11:17:56.924Z sunrise +2021-09-30T19:44:32.067Z moonset +2021-09-30T23:11:24.274Z sunset +2021-10-01T06:13:29.351Z moonrise +2021-10-01T11:17:57.017Z sunrise 2021-10-01T13:23:30.635Z Moon culminates 84.37 degrees above the horizon 2021-10-01T17:14:18.109Z Sun culminates 57.94 degrees above the horizon -2021-10-01T20:28:57.783Z moonset -2021-10-01T23:10:14.207Z sunset -2021-10-02T07:13:15.309Z moonrise -2021-10-02T11:18:28.615Z sunrise +2021-10-01T20:28:57.910Z moonset +2021-10-01T23:10:14.303Z sunset +2021-10-02T07:13:15.165Z moonrise +2021-10-02T11:18:28.709Z sunrise 2021-10-02T14:14:28.314Z Moon culminates 80.83 degrees above the horizon 2021-10-02T17:13:59.112Z Sun culminates 57.56 degrees above the horizon -2021-10-02T21:09:39.263Z moonset -2021-10-02T23:09:04.607Z sunset +2021-10-02T21:09:39.343Z moonset +2021-10-02T23:09:04.702Z sunset 2021-10-03T00:06:16.919Z Venus aphelion at 0.7282 AU -2021-10-03T08:14:39.018Z moonrise -2021-10-03T11:19:00.583Z sunrise +2021-10-03T08:14:38.938Z moonrise +2021-10-03T11:19:00.678Z sunrise 2021-10-03T15:04:24.494Z Moon culminates 76.12 degrees above the horizon 2021-10-03T17:13:40.450Z Sun culminates 57.17 degrees above the horizon -2021-10-03T21:47:14.513Z moonset -2021-10-03T23:07:55.403Z sunset -2021-10-04T09:16:57.291Z moonrise -2021-10-04T11:19:32.838Z sunrise +2021-10-03T21:47:14.550Z moonset +2021-10-03T23:07:55.498Z sunset +2021-10-04T09:16:57.266Z moonrise +2021-10-04T11:19:32.934Z sunrise 2021-10-04T15:53:30.412Z Moon culminates 70.45 degrees above the horizon 2021-10-04T17:13:22.139Z Sun culminates 56.79 degrees above the horizon -2021-10-04T22:22:43.309Z moonset -2021-10-04T23:06:46.621Z sunset -2021-10-05T10:20:00.853Z moonrise -2021-10-05T11:20:05.386Z sunrise +2021-10-04T22:22:43.323Z moonset +2021-10-04T23:06:46.714Z sunset +2021-10-05T10:20:00.852Z moonrise +2021-10-05T11:20:05.483Z sunrise 2021-10-05T16:42:21.713Z Moon culminates 64.12 degrees above the horizon 2021-10-05T17:13:04.197Z Sun culminates 56.40 degrees above the horizon -2021-10-05T22:57:18.342Z moonset -2021-10-05T23:05:38.286Z sunset +2021-10-05T22:57:18.350Z moonset +2021-10-05T23:05:38.378Z sunset 2021-10-06T11:05:56.927Z new moon -2021-10-06T11:20:38.236Z sunrise -2021-10-06T11:24:08.946Z moonrise +2021-10-06T11:20:38.334Z sunrise +2021-10-06T11:24:08.947Z moonrise 2021-10-06T17:12:46.639Z Sun culminates 56.02 degrees above the horizon 2021-10-06T17:31:51.343Z Moon culminates 57.46 degrees above the horizon -2021-10-06T23:04:30.423Z sunset -2021-10-06T23:32:21.112Z moonset +2021-10-06T23:04:30.514Z sunset +2021-10-06T23:32:21.116Z moonset 2021-10-07T09:55:35.768Z Venus moves from Libra to Scorpius -2021-10-07T11:21:11.395Z sunrise -2021-10-07T12:29:54.087Z moonrise +2021-10-07T11:21:11.494Z sunrise +2021-10-07T12:29:54.104Z moonrise 2021-10-07T17:12:29.483Z Sun culminates 55.64 degrees above the horizon 2021-10-07T18:23:00.417Z Moon culminates 50.89 degrees above the horizon -2021-10-07T23:03:23.056Z sunset -2021-10-08T00:09:20.891Z moonset +2021-10-07T23:03:23.146Z sunset +2021-10-08T00:09:20.877Z moonset 2021-10-08T04:19:46.782Z Mars conjunction -2021-10-08T11:21:44.870Z sunrise -2021-10-08T13:37:39.044Z moonrise +2021-10-08T11:21:44.970Z sunrise +2021-10-08T13:37:39.122Z moonrise 2021-10-08T17:12:12.743Z Sun culminates 55.25 degrees above the horizon 2021-10-08T17:27:09.703Z lunar perigee at 363379 km 2021-10-08T19:16:45.665Z Moon culminates 44.87 degrees above the horizon -2021-10-08T23:02:16.212Z sunset -2021-10-09T00:49:52.712Z moonset -2021-10-09T11:22:18.666Z sunrise -2021-10-09T14:47:06.729Z moonrise +2021-10-08T23:02:16.300Z sunset +2021-10-09T00:49:52.652Z moonset +2021-10-09T11:22:18.668Z sunrise +2021-10-09T14:47:06.905Z moonrise 2021-10-09T16:12:30.107Z Mercury inferior conjunction 2021-10-09T17:11:56.435Z Sun culminates 54.88 degrees above the horizon 2021-10-09T20:13:40.739Z Moon culminates 39.87 degrees above the horizon -2021-10-09T23:01:09.914Z sunset -2021-10-10T01:35:27.843Z moonset -2021-10-10T11:22:52.791Z sunrise -2021-10-10T15:56:51.563Z moonrise +2021-10-09T23:01:10.002Z sunset +2021-10-10T01:35:27.715Z moonset +2021-10-10T11:22:52.793Z sunrise +2021-10-10T15:56:51.812Z moonrise 2021-10-10T17:11:40.576Z Sun culminates 54.50 degrees above the horizon 2021-10-10T21:13:32.641Z Moon culminates 36.34 degrees above the horizon -2021-10-10T23:00:04.190Z sunset -2021-10-11T02:27:09.444Z moonset -2021-10-11T11:23:27.251Z sunrise -2021-10-11T17:04:17.778Z moonrise +2021-10-10T23:00:04.275Z sunset +2021-10-11T02:27:09.252Z moonset +2021-10-11T11:23:27.253Z sunrise +2021-10-11T17:04:18.044Z moonrise 2021-10-11T17:11:25.182Z Sun culminates 54.12 degrees above the horizon 2021-10-11T22:15:06.115Z Moon culminates 34.59 degrees above the horizon -2021-10-11T22:58:59.064Z sunset -2021-10-12T03:24:55.253Z moonset -2021-10-12T11:24:02.052Z sunrise +2021-10-11T22:58:59.149Z sunset +2021-10-12T03:24:55.015Z moonset +2021-10-12T11:24:02.055Z sunrise 2021-10-12T17:11:10.269Z Sun culminates 53.75 degrees above the horizon -2021-10-12T18:06:29.524Z moonrise -2021-10-12T22:57:54.565Z sunset +2021-10-12T18:06:29.768Z moonrise +2021-10-12T22:57:54.648Z sunset 2021-10-12T23:16:17.346Z Moon culminates 34.71 degrees above the horizon 2021-10-13T03:25:45.503Z first quarter -2021-10-13T04:27:13.669Z moonset -2021-10-13T11:24:37.200Z sunrise +2021-10-13T04:27:13.411Z moonset +2021-10-13T11:24:37.203Z sunrise 2021-10-13T17:10:55.854Z Sun culminates 53.37 degrees above the horizon -2021-10-13T19:01:28.814Z moonrise -2021-10-13T22:56:50.721Z sunset +2021-10-13T19:01:29.015Z moonrise +2021-10-13T22:56:50.801Z sunset 2021-10-14T00:15:00.505Z Moon culminates 36.59 degrees above the horizon -2021-10-14T05:31:29.802Z moonset -2021-10-14T11:25:12.703Z sunrise +2021-10-14T05:31:29.566Z moonset +2021-10-14T11:25:12.707Z sunrise 2021-10-14T17:10:41.956Z Sun culminates 53.00 degrees above the horizon -2021-10-14T19:48:55.505Z moonrise -2021-10-14T22:55:47.559Z sunset +2021-10-14T19:48:55.650Z moonrise +2021-10-14T22:55:47.638Z sunset 2021-10-15T01:09:55.378Z Moon culminates 39.93 degrees above the horizon -2021-10-15T06:35:13.116Z moonset +2021-10-15T06:35:12.949Z moonset 2021-10-15T07:03:37.700Z Venus moves from Scorpius to Ophiuchus -2021-10-15T11:25:48.569Z sunrise +2021-10-15T11:25:48.573Z sunrise 2021-10-15T17:10:28.593Z Sun culminates 52.63 degrees above the horizon -2021-10-15T20:29:46.652Z moonrise -2021-10-15T22:54:45.108Z sunset +2021-10-15T20:29:46.738Z moonrise +2021-10-15T22:54:45.185Z sunset 2021-10-16T02:00:43.085Z Moon culminates 44.37 degrees above the horizon 2021-10-16T02:31:37.874Z Venus moves from Ophiuchus to Scorpius -2021-10-16T07:36:50.754Z moonset -2021-10-16T11:26:24.805Z sunrise +2021-10-16T07:36:50.673Z moonset +2021-10-16T11:26:24.811Z sunrise 2021-10-16T17:10:15.784Z Sun culminates 52.26 degrees above the horizon -2021-10-16T21:05:33.275Z moonrise -2021-10-16T22:53:43.398Z sunset +2021-10-16T21:05:33.317Z moonrise +2021-10-16T22:53:43.473Z sunset 2021-10-17T02:47:51.937Z Moon culminates 49.56 degrees above the horizon -2021-10-17T08:35:55.795Z moonset -2021-10-17T11:27:01.421Z sunrise +2021-10-17T08:35:55.774Z moonset +2021-10-17T11:27:01.428Z sunrise 2021-10-17T17:10:03.547Z Sun culminates 51.90 degrees above the horizon -2021-10-17T21:37:49.799Z moonrise -2021-10-17T22:52:42.459Z sunset +2021-10-17T21:37:49.818Z moonrise +2021-10-17T22:52:42.532Z sunset 2021-10-18T03:32:15.098Z Moon culminates 55.18 degrees above the horizon 2021-10-18T09:32:47.291Z moonset -2021-10-18T11:27:38.427Z sunrise +2021-10-18T11:27:38.434Z sunrise 2021-10-18T17:09:51.904Z Sun culminates 51.54 degrees above the horizon -2021-10-18T22:08:01.882Z moonrise -2021-10-18T22:51:42.321Z sunset +2021-10-18T22:08:01.893Z moonrise +2021-10-18T22:51:42.392Z sunset 2021-10-19T04:14:54.000Z Moon culminates 60.95 degrees above the horizon -2021-10-19T10:28:06.845Z moonset -2021-10-19T11:28:15.830Z sunrise +2021-10-19T10:28:06.849Z moonset +2021-10-19T11:28:15.839Z sunrise 2021-10-19T17:09:40.873Z Sun culminates 51.18 degrees above the horizon -2021-10-19T22:37:25.202Z moonrise -2021-10-19T22:50:43.014Z sunset +2021-10-19T22:37:25.211Z moonrise +2021-10-19T22:50:43.082Z sunset 2021-10-19T23:54:31.515Z Mercury perihelion at 0.3075 AU 2021-10-20T04:56:49.445Z Moon culminates 66.65 degrees above the horizon -2021-10-20T11:22:41.545Z moonset -2021-10-20T11:28:53.641Z sunrise +2021-10-20T11:22:41.556Z moonset +2021-10-20T11:28:53.651Z sunrise 2021-10-20T14:57:23.141Z full moon 2021-10-20T17:09:30.474Z Sun culminates 50.82 degrees above the horizon -2021-10-20T22:49:44.569Z sunset -2021-10-20T23:07:08.373Z moonrise +2021-10-20T22:49:44.635Z sunset +2021-10-20T23:07:08.371Z moonrise 2021-10-21T05:38:57.324Z Moon culminates 72.05 degrees above the horizon -2021-10-21T11:29:31.868Z sunrise -2021-10-21T12:17:12.520Z moonset +2021-10-21T11:29:31.879Z sunrise +2021-10-21T12:17:12.561Z moonset 2021-10-21T15:17:02.902Z Venus moves from Scorpius to Ophiuchus 2021-10-21T17:09:20.728Z Sun culminates 50.46 degrees above the horizon -2021-10-21T22:48:47.018Z sunset -2021-10-21T23:38:16.223Z moonrise +2021-10-21T22:48:47.081Z sunset +2021-10-21T23:38:16.196Z moonrise 2021-10-22T06:22:05.751Z Moon culminates 76.94 degrees above the horizon -2021-10-22T11:30:10.518Z sunrise -2021-10-22T13:12:05.977Z moonset +2021-10-22T11:30:10.531Z sunrise +2021-10-22T13:12:06.071Z moonset 2021-10-22T17:09:11.653Z Sun culminates 50.11 degrees above the horizon -2021-10-22T22:47:50.390Z sunset -2021-10-23T00:11:51.438Z moonrise +2021-10-22T22:47:50.451Z sunset +2021-10-23T00:11:51.371Z moonrise 2021-10-23T07:06:51.464Z Moon culminates 81.12 degrees above the horizon -2021-10-23T11:30:49.600Z sunrise -2021-10-23T14:07:24.979Z moonset +2021-10-23T11:30:49.614Z sunrise +2021-10-23T14:07:25.133Z moonset 2021-10-23T17:09:03.269Z Sun culminates 49.76 degrees above the horizon -2021-10-23T22:46:54.717Z sunset -2021-10-24T00:48:52.945Z moonrise +2021-10-23T22:46:54.776Z sunset +2021-10-24T00:48:52.835Z moonrise 2021-10-24T07:53:34.829Z Moon culminates 84.41 degrees above the horizon -2021-10-24T11:31:29.118Z sunrise -2021-10-24T15:02:43.266Z moonset +2021-10-24T11:31:29.133Z sunrise +2021-10-24T15:02:43.462Z moonset 2021-10-24T15:29:34.496Z lunar apogee at 405603 km 2021-10-24T17:08:55.593Z Sun culminates 49.42 degrees above the horizon -2021-10-24T22:46:00.030Z sunset -2021-10-25T01:30:09.587Z moonrise +2021-10-24T22:46:00.086Z sunset +2021-10-25T01:30:09.439Z moonrise 2021-10-25T05:27:45.569Z Mercury max morning elongation: 18.40 degrees from Sun 2021-10-25T08:42:14.534Z Moon culminates 86.62 degrees above the horizon -2021-10-25T11:32:09.076Z sunrise -2021-10-25T15:57:05.621Z moonset +2021-10-25T11:32:09.094Z sunrise +2021-10-25T15:57:05.831Z moonset 2021-10-25T17:08:48.642Z Sun culminates 49.07 degrees above the horizon -2021-10-25T22:45:06.358Z sunset -2021-10-26T02:16:09.119Z moonrise +2021-10-25T22:45:06.411Z sunset +2021-10-26T02:16:08.943Z moonrise 2021-10-26T09:32:25.261Z Moon culminates 87.61 degrees above the horizon -2021-10-26T11:32:49.479Z sunrise -2021-10-26T16:49:19.755Z moonset +2021-10-26T11:32:49.497Z sunrise +2021-10-26T16:49:19.959Z moonset 2021-10-26T17:08:42.434Z Sun culminates 48.73 degrees above the horizon -2021-10-26T22:44:13.732Z sunset -2021-10-27T03:06:46.686Z moonrise +2021-10-26T22:44:13.781Z sunset +2021-10-27T03:06:46.492Z moonrise 2021-10-27T10:23:22.398Z Moon culminates 87.30 degrees above the horizon -2021-10-27T11:33:30.325Z sunrise +2021-10-27T11:33:30.346Z sunrise 2021-10-27T17:08:36.981Z Sun culminates 48.39 degrees above the horizon -2021-10-27T17:38:18.689Z moonset -2021-10-27T22:43:22.179Z sunset -2021-10-28T04:01:21.634Z moonrise +2021-10-27T17:38:18.872Z moonset +2021-10-27T22:43:22.226Z sunset +2021-10-28T04:01:21.439Z moonrise 2021-10-28T11:14:14.990Z Moon culminates 85.65 degrees above the horizon -2021-10-28T11:34:11.615Z sunrise +2021-10-28T11:34:11.638Z sunrise 2021-10-28T17:08:32.299Z Sun culminates 48.06 degrees above the horizon -2021-10-28T18:23:23.214Z moonset +2021-10-28T18:23:23.364Z moonset 2021-10-28T20:05:51.429Z third quarter -2021-10-28T22:42:31.730Z sunset -2021-10-29T04:58:49.714Z moonrise -2021-10-29T11:34:53.346Z sunrise +2021-10-28T22:42:31.773Z sunset +2021-10-29T04:58:49.546Z moonrise +2021-10-29T11:34:53.370Z sunrise 2021-10-29T12:04:22.349Z Moon culminates 82.71 degrees above the horizon 2021-10-29T17:08:28.399Z Sun culminates 47.73 degrees above the horizon -2021-10-29T19:04:32.320Z moonset +2021-10-29T19:04:32.425Z moonset 2021-10-29T20:50:29.941Z Venus max evening elongation: 47.04 degrees from Sun -2021-10-29T22:41:42.410Z sunset -2021-10-30T05:58:06.867Z moonrise -2021-10-30T11:35:35.512Z sunrise +2021-10-29T22:41:42.450Z sunset +2021-10-30T05:58:06.755Z moonrise +2021-10-30T11:35:35.538Z sunrise 2021-10-30T12:53:26.751Z Moon culminates 78.59 degrees above the horizon 2021-10-30T17:08:25.291Z Sun culminates 47.40 degrees above the horizon -2021-10-30T19:42:19.245Z moonset -2021-10-30T22:40:54.247Z sunset -2021-10-31T06:58:31.474Z moonrise -2021-10-31T11:36:18.106Z sunrise +2021-10-30T19:42:19.303Z moonset +2021-10-30T22:40:54.284Z sunset +2021-10-31T06:58:31.425Z moonrise +2021-10-31T11:36:18.135Z sunrise 2021-10-31T13:41:37.921Z Moon culminates 73.45 degrees above the horizon 2021-10-31T17:08:22.986Z Sun culminates 47.08 degrees above the horizon -2021-10-31T20:17:40.667Z moonset -2021-10-31T22:40:07.266Z sunset -2021-11-01T07:59:54.830Z moonrise -2021-11-01T11:37:01.120Z sunrise +2021-10-31T20:17:40.692Z moonset +2021-10-31T22:40:07.300Z sunset +2021-11-01T07:59:54.821Z moonrise +2021-11-01T11:37:01.151Z sunrise 2021-11-01T14:29:30.623Z Moon culminates 67.49 degrees above the horizon 2021-11-01T17:08:21.491Z Sun culminates 46.76 degrees above the horizon -2021-11-01T20:51:47.371Z moonset -2021-11-01T22:39:21.493Z sunset +2021-11-01T20:51:47.381Z moonset +2021-11-01T22:39:21.523Z sunset 2021-11-02T00:23:56.362Z Venus moves from Ophiuchus to Sagittarius 2021-11-02T09:02:39.007Z moonrise -2021-11-02T11:37:44.543Z sunrise +2021-11-02T11:37:44.576Z sunrise 2021-11-02T15:17:59.013Z Moon culminates 60.97 degrees above the horizon 2021-11-02T17:08:20.813Z Sun culminates 46.45 degrees above the horizon -2021-11-02T21:25:59.873Z moonset -2021-11-02T22:38:36.951Z sunset -2021-11-03T10:07:25.582Z moonrise -2021-11-03T11:38:28.362Z sunrise +2021-11-02T21:25:59.880Z moonset +2021-11-02T22:38:36.977Z sunset +2021-11-03T10:07:25.586Z moonrise +2021-11-03T11:38:28.398Z sunrise 2021-11-03T16:08:09.618Z Moon culminates 54.25 degrees above the horizon 2021-11-03T17:08:20.956Z Sun culminates 46.13 degrees above the horizon -2021-11-03T22:01:48.217Z moonset -2021-11-03T22:37:53.662Z sunset -2021-11-04T11:14:56.127Z moonrise -2021-11-04T11:39:12.565Z sunrise +2021-11-03T22:01:48.215Z moonset +2021-11-03T22:37:53.685Z sunset +2021-11-04T11:14:56.167Z moonrise +2021-11-04T11:39:12.603Z sunrise 2021-11-04T17:01:11.291Z Moon culminates 47.77 degrees above the horizon 2021-11-04T17:08:21.925Z Sun culminates 45.83 degrees above the horizon 2021-11-04T21:15:08.705Z new moon -2021-11-04T22:37:11.649Z sunset -2021-11-04T22:40:52.462Z moonset +2021-11-04T22:37:11.668Z sunset +2021-11-04T22:40:52.428Z moonset 2021-11-04T23:45:05.068Z Uranus opposition -2021-11-05T11:39:57.135Z sunrise -2021-11-05T12:25:21.555Z moonrise +2021-11-05T11:39:57.176Z sunrise +2021-11-05T12:25:21.685Z moonrise 2021-11-05T17:08:23.722Z Sun culminates 45.52 degrees above the horizon 2021-11-05T17:57:57.560Z Moon culminates 42.03 degrees above the horizon 2021-11-05T22:18:33.574Z lunar perigee at 358835 km -2021-11-05T22:36:30.932Z sunset -2021-11-05T23:24:57.351Z moonset -2021-11-06T11:40:42.057Z sunrise -2021-11-06T13:37:41.817Z moonrise +2021-11-05T22:36:30.947Z sunset +2021-11-05T23:24:57.256Z moonset +2021-11-06T11:40:42.100Z sunrise +2021-11-06T13:37:42.044Z moonrise 2021-11-06T17:08:26.350Z Sun culminates 45.23 degrees above the horizon 2021-11-06T18:58:38.186Z Moon culminates 37.60 degrees above the horizon -2021-11-06T22:35:51.531Z sunset -2021-11-07T00:15:31.001Z moonset -2021-11-07T11:41:27.311Z sunrise -2021-11-07T14:49:19.410Z moonrise +2021-11-06T22:35:51.543Z sunset +2021-11-07T00:15:30.834Z moonset +2021-11-07T11:41:27.357Z sunrise +2021-11-07T14:49:19.681Z moonrise 2021-11-07T17:08:29.808Z Sun culminates 44.93 degrees above the horizon 2021-11-07T20:02:09.244Z Moon culminates 34.95 degrees above the horizon -2021-11-07T22:35:13.466Z sunset -2021-11-08T01:13:01.340Z moonset -2021-11-08T11:42:12.879Z sunrise -2021-11-08T15:56:33.236Z moonrise +2021-11-07T22:35:13.475Z sunset +2021-11-08T01:13:01.114Z moonset +2021-11-08T11:42:12.928Z sunrise +2021-11-08T15:56:33.494Z moonrise 2021-11-08T17:08:34.098Z Sun culminates 44.64 degrees above the horizon 2021-11-08T21:06:11.523Z Moon culminates 34.31 degrees above the horizon -2021-11-08T22:34:36.759Z sunset -2021-11-09T02:16:11.463Z moonset -2021-11-09T11:42:58.741Z sunrise -2021-11-09T16:56:18.929Z moonrise +2021-11-08T22:34:36.763Z sunset +2021-11-09T02:16:11.203Z moonset +2021-11-09T11:42:58.792Z sunrise +2021-11-09T16:56:19.148Z moonrise 2021-11-09T17:08:39.219Z Sun culminates 44.36 degrees above the horizon 2021-11-09T22:08:00.491Z Moon culminates 35.62 degrees above the horizon -2021-11-09T22:34:01.427Z sunset -2021-11-10T03:22:08.453Z moonset -2021-11-10T11:43:44.875Z sunrise +2021-11-09T22:34:01.428Z sunset +2021-11-10T03:22:08.200Z moonset +2021-11-10T11:43:44.929Z sunrise 2021-11-10T16:48:58.197Z Mercury moves from Virgo to Libra 2021-11-10T17:08:45.171Z Sun culminates 44.08 degrees above the horizon -2021-11-10T17:47:30.595Z moonrise -2021-11-10T22:33:27.493Z sunset +2021-11-10T17:47:30.760Z moonrise +2021-11-10T22:33:27.490Z sunset 2021-11-10T23:05:37.190Z Moon culminates 38.59 degrees above the horizon -2021-11-11T04:27:42.819Z moonset +2021-11-11T04:27:42.623Z moonset 2021-11-11T10:05:28.553Z Mars moves from Virgo to Libra -2021-11-11T11:44:31.260Z sunrise +2021-11-11T11:44:31.317Z sunrise 2021-11-11T12:46:41.629Z first quarter 2021-11-11T17:08:51.953Z Sun culminates 43.80 degrees above the horizon -2021-11-11T18:30:54.382Z moonrise -2021-11-11T22:32:54.976Z sunset +2021-11-11T18:30:54.487Z moonrise +2021-11-11T22:32:54.969Z sunset 2021-11-11T23:58:22.079Z Moon culminates 42.80 degrees above the horizon -2021-11-12T05:30:49.098Z moonset -2021-11-12T11:45:17.877Z sunrise +2021-11-12T05:30:48.990Z moonset +2021-11-12T11:45:17.936Z sunrise 2021-11-12T17:08:59.566Z Sun culminates 43.53 degrees above the horizon -2021-11-12T19:08:11.318Z moonrise -2021-11-12T22:32:23.896Z sunset +2021-11-12T19:08:11.372Z moonrise +2021-11-12T22:32:23.885Z sunset 2021-11-13T00:46:40.845Z Moon culminates 47.82 degrees above the horizon -2021-11-13T06:30:46.579Z moonset -2021-11-13T11:46:04.702Z sunrise +2021-11-13T06:30:46.543Z moonset +2021-11-13T11:46:04.764Z sunrise 2021-11-13T17:09:08.008Z Sun culminates 43.27 degrees above the horizon -2021-11-13T19:41:10.817Z moonrise -2021-11-13T22:31:54.273Z sunset +2021-11-13T19:41:10.841Z moonrise +2021-11-13T22:31:54.258Z sunset 2021-11-14T01:31:33.465Z Moon culminates 53.33 degrees above the horizon -2021-11-14T07:27:55.172Z moonset -2021-11-14T11:46:51.716Z sunrise +2021-11-14T07:27:55.169Z moonset +2021-11-14T11:46:51.781Z sunrise 2021-11-14T17:09:17.279Z Sun culminates 43.01 degrees above the horizon -2021-11-14T20:11:31.101Z moonrise -2021-11-14T22:31:26.127Z sunset +2021-11-14T20:11:31.115Z moonrise +2021-11-14T22:31:26.109Z sunset 2021-11-15T02:14:10.683Z Moon culminates 59.05 degrees above the horizon -2021-11-15T08:23:04.276Z moonset -2021-11-15T11:47:38.898Z sunrise +2021-11-15T08:23:04.279Z moonset +2021-11-15T11:47:38.965Z sunrise 2021-11-15T17:09:27.378Z Sun culminates 42.76 degrees above the horizon -2021-11-15T20:40:36.460Z moonrise -2021-11-15T22:30:59.477Z sunset +2021-11-15T20:40:36.470Z moonrise +2021-11-15T22:30:59.455Z sunset 2021-11-16T02:55:42.011Z Moon culminates 64.76 degrees above the horizon -2021-11-16T09:17:11.023Z moonset -2021-11-16T11:48:26.225Z sunrise +2021-11-16T09:17:11.029Z moonset +2021-11-16T11:48:26.295Z sunrise 2021-11-16T17:09:38.303Z Sun culminates 42.51 degrees above the horizon -2021-11-16T21:09:40.831Z moonrise -2021-11-16T22:30:34.343Z sunset +2021-11-16T21:09:40.834Z moonrise +2021-11-16T22:30:34.318Z sunset 2021-11-17T03:37:10.868Z Moon culminates 70.24 degrees above the horizon -2021-11-17T10:11:07.201Z moonset -2021-11-17T11:49:13.675Z sunrise +2021-11-17T10:11:07.228Z moonset +2021-11-17T11:49:13.748Z sunrise 2021-11-17T17:09:50.055Z Sun culminates 42.27 degrees above the horizon -2021-11-17T21:39:52.264Z moonrise -2021-11-17T22:30:10.743Z sunset +2021-11-17T21:39:52.248Z moonrise +2021-11-17T22:30:10.714Z sunset 2021-11-18T04:19:32.134Z Moon culminates 75.31 degrees above the horizon -2021-11-18T11:05:30.005Z moonset -2021-11-18T11:50:01.227Z sunrise +2021-11-18T11:05:30.078Z moonset +2021-11-18T11:50:01.302Z sunrise 2021-11-18T17:10:02.629Z Sun culminates 42.03 degrees above the horizon -2021-11-18T22:12:15.771Z moonrise -2021-11-18T22:29:48.696Z sunset +2021-11-18T22:12:15.720Z moonrise +2021-11-18T22:29:48.664Z sunset 2021-11-19T05:03:29.069Z Moon culminates 79.76 degrees above the horizon 2021-11-19T08:58:13.188Z full moon 2021-11-19T09:02:55.258Z partial lunar eclipse -2021-11-19T11:50:48.856Z sunrise -2021-11-19T12:00:33.286Z moonset +2021-11-19T11:50:48.934Z sunrise +2021-11-19T12:00:33.420Z moonset 2021-11-19T17:10:16.024Z Sun culminates 41.80 degrees above the horizon -2021-11-19T22:29:28.220Z sunset -2021-11-19T22:47:52.841Z moonrise +2021-11-19T22:29:28.184Z sunset +2021-11-19T22:47:52.746Z moonrise 2021-11-20T05:49:28.229Z Moon culminates 83.40 degrees above the horizon -2021-11-20T11:51:36.538Z sunrise -2021-11-20T12:55:59.473Z moonset +2021-11-20T11:51:36.619Z sunrise +2021-11-20T12:55:59.658Z moonset 2021-11-20T17:10:30.235Z Sun culminates 41.57 degrees above the horizon -2021-11-20T22:29:09.330Z sunset -2021-11-20T23:27:35.989Z moonrise +2021-11-20T22:29:09.291Z sunset +2021-11-20T23:27:35.853Z moonrise 2021-11-21T02:11:56.184Z lunar apogee at 406268 km 2021-11-21T06:37:33.112Z Moon culminates 86.02 degrees above the horizon -2021-11-21T11:52:24.247Z sunrise -2021-11-21T13:50:56.614Z moonset +2021-11-21T11:52:24.331Z sunrise +2021-11-21T13:50:56.823Z moonset 2021-11-21T17:10:45.257Z Sun culminates 41.35 degrees above the horizon -2021-11-21T22:28:52.044Z sunset -2021-11-22T00:11:57.796Z moonrise +2021-11-21T22:28:52.001Z sunset +2021-11-22T00:11:57.628Z moonrise 2021-11-22T07:27:19.983Z Moon culminates 87.46 degrees above the horizon -2021-11-22T11:53:11.957Z sunrise -2021-11-22T14:44:07.372Z moonset +2021-11-22T11:53:12.043Z sunrise +2021-11-22T14:44:07.581Z moonset 2021-11-22T17:11:01.085Z Sun culminates 41.14 degrees above the horizon -2021-11-22T22:28:36.375Z sunset -2021-11-23T01:00:57.878Z moonrise +2021-11-22T22:28:36.329Z sunset +2021-11-23T01:00:57.688Z moonrise 2021-11-23T08:18:01.035Z Moon culminates 87.61 degrees above the horizon -2021-11-23T11:53:59.638Z sunrise -2021-11-23T15:34:11.994Z moonset +2021-11-23T11:53:59.726Z sunrise +2021-11-23T15:34:12.187Z moonset 2021-11-23T17:11:17.710Z Sun culminates 40.93 degrees above the horizon -2021-11-23T22:28:22.337Z sunset -2021-11-24T01:53:56.940Z moonrise +2021-11-23T22:28:22.288Z sunset +2021-11-24T01:53:56.742Z moonrise 2021-11-24T09:08:37.611Z Moon culminates 86.44 degrees above the horizon -2021-11-24T11:54:47.260Z sunrise -2021-11-24T16:20:15.604Z moonset +2021-11-24T11:54:47.351Z sunrise +2021-11-24T16:20:15.770Z moonset 2021-11-24T17:11:35.123Z Sun culminates 40.73 degrees above the horizon 2021-11-24T19:28:57.170Z Mercury moves from Libra to Scorpius -2021-11-24T22:28:09.941Z sunset -2021-11-25T02:49:47.126Z moonrise +2021-11-24T22:28:09.889Z sunset +2021-11-25T02:49:46.944Z moonrise 2021-11-25T09:58:19.235Z Moon culminates 84.00 degrees above the horizon -2021-11-25T11:55:34.791Z sunrise -2021-11-25T17:02:04.234Z moonset +2021-11-25T11:55:34.884Z sunrise +2021-11-25T17:02:04.360Z moonset 2021-11-25T17:11:53.312Z Sun culminates 40.54 degrees above the horizon -2021-11-25T22:27:59.198Z sunset -2021-11-26T03:47:16.899Z moonrise +2021-11-25T22:27:59.143Z sunset +2021-11-26T03:47:16.763Z moonrise 2021-11-26T10:46:39.269Z Moon culminates 80.39 degrees above the horizon -2021-11-26T11:56:22.196Z sunrise +2021-11-26T11:56:22.292Z sunrise 2021-11-26T17:12:12.266Z Sun culminates 40.35 degrees above the horizon -2021-11-26T17:40:03.271Z moonset -2021-11-26T22:27:50.115Z sunset -2021-11-27T04:45:36.516Z moonrise +2021-11-26T17:40:03.350Z moonset +2021-11-26T22:27:50.058Z sunset +2021-11-27T04:45:36.443Z moonrise 2021-11-27T11:33:41.067Z Moon culminates 75.77 degrees above the horizon -2021-11-27T11:57:09.440Z sunrise +2021-11-27T11:57:09.538Z sunrise 2021-11-27T12:28:21.992Z third quarter 2021-11-27T17:12:31.968Z Sun culminates 40.17 degrees above the horizon -2021-11-27T18:15:05.528Z moonset -2021-11-27T22:27:42.699Z sunset -2021-11-28T05:44:31.510Z moonrise -2021-11-28T11:57:56.485Z sunrise +2021-11-27T18:15:05.567Z moonset +2021-11-27T22:27:42.639Z sunset +2021-11-28T05:44:31.488Z moonrise +2021-11-28T11:57:56.585Z sunrise 2021-11-28T12:19:55.715Z Moon culminates 70.32 degrees above the horizon 2021-11-28T17:12:52.402Z Sun culminates 39.99 degrees above the horizon -2021-11-28T18:48:19.496Z moonset -2021-11-28T22:27:36.953Z sunset +2021-11-28T18:48:19.511Z moonset +2021-11-28T22:27:36.890Z sunset 2021-11-29T04:21:41.857Z Mercury superior conjunction -2021-11-29T06:44:22.669Z moonrise -2021-11-29T11:58:43.291Z sunrise +2021-11-29T06:44:22.668Z moonrise +2021-11-29T11:58:43.393Z sunrise 2021-11-29T13:06:16.221Z Moon culminates 64.22 degrees above the horizon 2021-11-29T17:13:13.549Z Sun culminates 39.83 degrees above the horizon 2021-11-29T18:28:25.049Z Mercury moves from Scorpius to Ophiuchus -2021-11-29T19:21:03.168Z moonset -2021-11-29T22:27:32.879Z sunset -2021-11-30T07:45:57.548Z moonrise -2021-11-30T11:59:29.816Z sunrise +2021-11-29T19:21:03.177Z moonset +2021-11-29T22:27:32.814Z sunset +2021-11-30T07:45:57.550Z moonrise +2021-11-30T11:59:29.921Z sunrise 2021-11-30T13:53:51.622Z Moon culminates 57.75 degrees above the horizon 2021-11-30T17:13:35.387Z Sun culminates 39.67 degrees above the horizon -2021-11-30T19:54:43.589Z moonset -2021-11-30T22:27:30.476Z sunset -2021-12-01T08:50:16.402Z moonrise -2021-12-01T12:00:16.019Z sunrise +2021-11-30T19:54:43.593Z moonset +2021-11-30T22:27:30.408Z sunset +2021-12-01T08:50:16.417Z moonrise +2021-12-01T12:00:16.125Z sunrise 2021-12-01T14:44:00.641Z Moon culminates 51.21 degrees above the horizon 2021-12-01T17:13:57.895Z Sun culminates 39.51 degrees above the horizon -2021-12-01T20:30:59.628Z moonset -2021-12-01T22:27:29.740Z sunset -2021-12-02T09:58:09.354Z moonrise -2021-12-02T12:01:01.856Z sunrise +2021-12-01T20:30:59.616Z moonset +2021-12-01T22:27:29.670Z sunset +2021-12-02T09:58:09.429Z moonrise +2021-12-02T12:01:01.964Z sunrise 2021-12-02T15:38:00.567Z Moon culminates 45.06 degrees above the horizon 2021-12-02T17:14:21.047Z Sun culminates 39.36 degrees above the horizon -2021-12-02T21:11:43.268Z moonset -2021-12-02T22:27:30.666Z sunset +2021-12-02T21:11:43.209Z moonset +2021-12-02T22:27:30.594Z sunset 2021-12-02T23:32:04.164Z Mercury aphelion at 0.4667 AU -2021-12-03T11:09:38.274Z moonrise -2021-12-03T12:01:47.282Z sunrise +2021-12-03T11:09:38.452Z moonrise +2021-12-03T12:01:47.391Z sunrise 2021-12-03T16:36:44.076Z Moon culminates 39.83 degrees above the horizon 2021-12-03T17:14:44.817Z Sun culminates 39.22 degrees above the horizon -2021-12-03T21:58:49.973Z moonset -2021-12-03T22:27:33.245Z sunset +2021-12-03T21:58:49.844Z moonset +2021-12-03T22:27:33.171Z sunset 2021-12-04T07:43:37.124Z new moon 2021-12-04T10:05:08.067Z lunar perigee at 356787 km -2021-12-04T12:02:32.251Z sunrise -2021-12-04T12:23:07.543Z moonrise +2021-12-04T12:02:32.362Z sunrise +2021-12-04T12:23:07.799Z moonrise 2021-12-04T17:15:09.177Z Sun culminates 39.09 degrees above the horizon 2021-12-04T17:40:00.883Z Moon culminates 36.10 degrees above the horizon -2021-12-04T22:27:37.467Z sunset -2021-12-04T22:53:43.664Z moonset -2021-12-05T12:03:16.717Z sunrise -2021-12-05T13:35:04.323Z moonrise +2021-12-04T22:27:37.390Z sunset +2021-12-04T22:53:43.466Z moonset +2021-12-05T12:03:16.829Z sunrise +2021-12-05T13:35:04.593Z moonrise 2021-12-05T17:15:34.098Z Sun culminates 38.97 degrees above the horizon 2021-12-05T18:46:03.364Z Moon culminates 34.36 degrees above the horizon -2021-12-05T22:27:43.319Z sunset -2021-12-05T23:56:13.648Z moonset -2021-12-06T12:04:00.632Z sunrise -2021-12-06T14:41:09.775Z moonrise +2021-12-05T22:27:43.241Z sunset +2021-12-05T23:56:13.399Z moonset +2021-12-06T12:04:00.746Z sunrise +2021-12-06T14:41:10.014Z moonrise 2021-12-06T17:15:59.549Z Sun culminates 38.85 degrees above the horizon 2021-12-06T19:51:42.761Z Moon culminates 34.77 degrees above the horizon -2021-12-06T22:27:50.788Z sunset -2021-12-07T01:03:51.433Z moonset -2021-12-07T12:04:43.948Z sunrise -2021-12-07T15:38:32.681Z moonrise +2021-12-06T22:27:50.708Z sunset +2021-12-07T01:03:51.167Z moonset +2021-12-07T12:04:44.064Z sunrise +2021-12-07T15:38:32.869Z moonrise 2021-12-07T17:16:25.499Z Sun culminates 38.74 degrees above the horizon 2021-12-07T17:48:50.046Z Venus peak magnitude -4.89 in evening sky 2021-12-07T20:53:51.836Z Moon culminates 37.14 degrees above the horizon -2021-12-07T22:27:59.860Z sunset -2021-12-08T02:12:42.621Z moonset -2021-12-08T12:05:26.619Z sunrise -2021-12-08T16:26:53.554Z moonrise +2021-12-07T22:27:59.779Z sunset +2021-12-08T02:12:42.392Z moonset +2021-12-08T12:05:26.736Z sunrise +2021-12-08T16:26:53.680Z moonrise 2021-12-08T17:16:51.917Z Sun culminates 38.63 degrees above the horizon 2021-12-08T21:50:46.066Z Moon culminates 41.04 degrees above the horizon -2021-12-08T22:28:10.519Z sunset -2021-12-09T03:19:26.823Z moonset -2021-12-09T12:06:08.598Z sunrise -2021-12-09T17:07:39.204Z moonrise +2021-12-08T22:28:10.436Z sunset +2021-12-09T03:19:26.678Z moonset +2021-12-09T12:06:08.716Z sunrise +2021-12-09T17:07:39.273Z moonrise 2021-12-09T17:17:18.772Z Sun culminates 38.54 degrees above the horizon -2021-12-09T22:28:22.749Z sunset +2021-12-09T22:28:22.665Z sunset 2021-12-09T22:42:17.509Z Moon culminates 45.95 degrees above the horizon -2021-12-10T04:22:28.676Z moonset -2021-12-10T12:06:49.839Z sunrise +2021-12-10T04:22:28.617Z moonset +2021-12-10T12:06:49.958Z sunrise 2021-12-10T17:17:46.032Z Sun culminates 38.45 degrees above the horizon -2021-12-10T17:42:50.994Z moonrise -2021-12-10T22:28:36.532Z sunset +2021-12-10T17:42:51.025Z moonrise +2021-12-10T22:28:36.447Z sunset 2021-12-10T23:29:19.659Z Moon culminates 51.46 degrees above the horizon 2021-12-11T01:36:15.986Z first quarter -2021-12-11T05:21:46.045Z moonset -2021-12-11T12:07:30.299Z sunrise +2021-12-11T05:21:46.035Z moonset +2021-12-11T12:07:30.419Z sunrise 2021-12-11T14:05:49.326Z Mercury moves from Ophiuchus to Sagittarius 2021-12-11T17:18:13.667Z Sun culminates 38.37 degrees above the horizon -2021-12-11T18:14:24.318Z moonrise -2021-12-11T22:28:51.850Z sunset +2021-12-11T18:14:24.333Z moonrise +2021-12-11T22:28:51.763Z sunset 2021-12-12T00:13:09.925Z Moon culminates 57.21 degrees above the horizon -2021-12-12T06:18:07.668Z moonset -2021-12-12T12:08:09.935Z sunrise +2021-12-12T06:18:07.671Z moonset +2021-12-12T12:08:10.056Z sunrise 2021-12-12T17:18:41.646Z Sun culminates 38.29 degrees above the horizon -2021-12-12T18:43:57.605Z moonrise -2021-12-12T22:29:08.684Z sunset +2021-12-12T18:43:57.616Z moonrise +2021-12-12T22:29:08.596Z sunset 2021-12-13T00:55:08.208Z Moon culminates 62.98 degrees above the horizon -2021-12-13T07:12:39.658Z moonset -2021-12-13T12:08:48.705Z sunrise +2021-12-13T07:12:39.662Z moonset +2021-12-13T12:08:48.827Z sunrise 2021-12-13T17:19:09.939Z Sun culminates 38.23 degrees above the horizon -2021-12-13T19:12:54.579Z moonrise -2021-12-13T22:29:27.012Z sunset +2021-12-13T19:12:54.586Z moonrise +2021-12-13T22:29:26.924Z sunset 2021-12-14T01:36:28.350Z Moon culminates 68.54 degrees above the horizon -2021-12-14T08:06:26.596Z moonset -2021-12-14T12:09:26.570Z sunrise +2021-12-14T08:06:26.614Z moonset +2021-12-14T12:09:26.692Z sunrise 2021-12-14T16:42:57.605Z Jupiter moves from Capricornus to Aquarius 2021-12-14T17:19:38.514Z Sun culminates 38.17 degrees above the horizon -2021-12-14T19:42:29.788Z moonrise -2021-12-14T22:29:46.816Z sunset +2021-12-14T19:42:29.780Z moonrise +2021-12-14T22:29:46.726Z sunset 2021-12-15T02:18:15.273Z Moon culminates 73.74 degrees above the horizon -2021-12-15T09:00:20.665Z moonset -2021-12-15T12:10:03.491Z sunrise +2021-12-15T09:00:20.721Z moonset +2021-12-15T12:10:03.614Z sunrise 2021-12-15T14:50:58.285Z Mars moves from Libra to Scorpius 2021-12-15T17:20:07.342Z Sun culminates 38.12 degrees above the horizon -2021-12-15T20:13:53.168Z moonrise -2021-12-15T22:30:08.071Z sunset +2021-12-15T20:13:53.129Z moonrise +2021-12-15T22:30:07.981Z sunset 2021-12-16T03:01:22.737Z Moon culminates 78.39 degrees above the horizon -2021-12-16T09:54:52.765Z moonset -2021-12-16T12:10:39.431Z sunrise +2021-12-16T09:54:52.879Z moonset +2021-12-16T12:10:39.555Z sunrise 2021-12-16T17:20:36.393Z Sun culminates 38.08 degrees above the horizon -2021-12-16T20:48:11.542Z moonrise -2021-12-16T22:30:30.756Z sunset +2021-12-16T20:48:11.461Z moonrise +2021-12-16T22:30:30.666Z sunset 2021-12-17T03:46:29.072Z Moon culminates 82.29 degrees above the horizon -2021-12-17T10:50:03.329Z moonset -2021-12-17T12:11:14.354Z sunrise +2021-12-17T10:50:03.499Z moonset +2021-12-17T12:11:14.478Z sunrise 2021-12-17T17:21:05.638Z Sun culminates 38.04 degrees above the horizon -2021-12-17T21:26:25.137Z moonrise -2021-12-17T22:30:54.848Z sunset +2021-12-17T21:26:25.014Z moonrise +2021-12-17T22:30:54.756Z sunset 2021-12-18T02:16:23.448Z lunar apogee at 406309 km 2021-12-18T04:33:50.383Z Moon culminates 85.26 degrees above the horizon -2021-12-18T11:45:15.443Z moonset -2021-12-18T12:11:48.226Z sunrise +2021-12-18T11:45:15.647Z moonset +2021-12-18T12:11:48.350Z sunrise 2021-12-18T17:21:35.047Z Sun culminates 38.02 degrees above the horizon -2021-12-18T22:09:17.595Z moonrise -2021-12-18T22:31:20.321Z sunset +2021-12-18T22:09:17.437Z moonrise +2021-12-18T22:31:20.229Z sunset 2021-12-19T04:36:15.829Z full moon 2021-12-19T05:23:13.692Z Moon culminates 87.10 degrees above the horizon -2021-12-19T12:12:21.012Z sunrise -2021-12-19T12:39:17.565Z moonset +2021-12-19T12:12:21.137Z sunrise +2021-12-19T12:39:17.776Z moonset 2021-12-19T17:22:04.591Z Sun culminates 38.00 degrees above the horizon -2021-12-19T22:31:47.150Z sunset -2021-12-19T22:57:01.035Z moonrise +2021-12-19T22:31:47.058Z sunset +2021-12-19T22:57:00.852Z moonrise 2021-12-20T06:13:55.701Z Moon culminates 87.67 degrees above the horizon -2021-12-20T12:12:52.680Z sunrise -2021-12-20T13:30:42.244Z moonset +2021-12-20T12:12:52.805Z sunrise +2021-12-20T13:30:42.443Z moonset 2021-12-20T17:22:34.241Z Sun culminates 37.99 degrees above the horizon -2021-12-20T22:32:15.309Z sunset -2021-12-20T23:49:04.461Z moonrise +2021-12-20T22:32:15.217Z sunset +2021-12-20T23:49:04.264Z moonrise 2021-12-21T07:04:52.754Z Moon culminates 86.91 degrees above the horizon -2021-12-21T12:13:23.197Z sunrise -2021-12-21T14:18:16.236Z moonset +2021-12-21T12:13:23.322Z sunrise +2021-12-21T14:18:16.410Z moonset 2021-12-21T15:59:16.328Z December solstice 2021-12-21T17:23:03.965Z Sun culminates 37.98 degrees above the horizon -2021-12-21T22:32:44.770Z sunset -2021-12-22T00:44:17.952Z moonrise +2021-12-21T22:32:44.678Z sunset +2021-12-22T00:44:17.762Z moonrise 2021-12-22T07:55:00.976Z Moon culminates 84.85 degrees above the horizon -2021-12-22T12:13:52.532Z sunrise -2021-12-22T15:01:25.113Z moonset +2021-12-22T12:13:52.657Z sunrise +2021-12-22T15:01:25.252Z moonset 2021-12-22T17:23:33.734Z Sun culminates 37.99 degrees above the horizon -2021-12-22T22:33:15.503Z sunset -2021-12-23T01:41:16.647Z moonrise +2021-12-22T22:33:15.411Z sunset +2021-12-23T01:41:16.494Z moonrise 2021-12-23T08:43:36.975Z Moon culminates 81.60 degrees above the horizon -2021-12-23T12:14:20.654Z sunrise -2021-12-23T15:40:18.905Z moonset +2021-12-23T12:14:20.778Z sunrise +2021-12-23T15:40:18.999Z moonset 2021-12-23T17:24:03.517Z Sun culminates 38.00 degrees above the horizon -2021-12-23T22:33:47.477Z sunset -2021-12-24T02:38:51.681Z moonrise +2021-12-23T22:33:47.385Z sunset +2021-12-24T02:38:51.588Z moonrise 2021-12-24T09:30:29.053Z Moon culminates 77.34 degrees above the horizon -2021-12-24T12:14:47.531Z sunrise -2021-12-24T16:15:41.653Z moonset +2021-12-24T12:14:47.654Z sunrise +2021-12-24T16:15:41.704Z moonset 2021-12-24T17:24:33.283Z Sun culminates 38.02 degrees above the horizon 2021-12-24T17:26:33.500Z Mars moves from Scorpius to Ophiuchus -2021-12-24T22:34:20.661Z sunset -2021-12-25T03:36:30.406Z moonrise +2021-12-24T22:34:20.569Z sunset +2021-12-25T03:36:30.370Z moonrise 2021-12-25T10:15:57.068Z Moon culminates 72.24 degrees above the horizon -2021-12-25T12:15:13.133Z sunrise -2021-12-25T16:48:37.104Z moonset +2021-12-25T12:15:13.257Z sunrise +2021-12-25T16:48:37.127Z moonset 2021-12-25T17:25:02.999Z Sun culminates 38.05 degrees above the horizon -2021-12-25T22:34:55.019Z sunset -2021-12-26T04:34:20.062Z moonrise +2021-12-25T22:34:54.928Z sunset +2021-12-26T04:34:20.058Z moonrise 2021-12-26T11:00:46.127Z Moon culminates 66.51 degrees above the horizon -2021-12-26T12:15:37.431Z sunrise -2021-12-26T17:20:19.176Z moonset +2021-12-26T12:15:37.554Z sunrise +2021-12-26T17:20:19.187Z moonset 2021-12-26T17:25:32.633Z Sun culminates 38.08 degrees above the horizon -2021-12-26T22:35:30.516Z sunset +2021-12-26T22:35:30.425Z sunset 2021-12-27T02:24:26.798Z third quarter -2021-12-27T05:33:00.569Z moonrise +2021-12-27T05:33:00.571Z moonrise 2021-12-27T11:45:59.741Z Moon culminates 60.37 degrees above the horizon -2021-12-27T12:16:00.396Z sunrise +2021-12-27T12:16:00.518Z sunrise 2021-12-27T17:26:02.152Z Sun culminates 38.13 degrees above the horizon -2021-12-27T17:52:09.129Z moonset -2021-12-27T22:36:07.114Z sunset -2021-12-28T06:33:32.893Z moonrise -2021-12-28T12:16:21.998Z sunrise +2021-12-27T17:52:09.137Z moonset +2021-12-27T22:36:07.023Z sunset +2021-12-28T06:33:32.899Z moonrise +2021-12-28T12:16:22.120Z sunrise 2021-12-28T12:32:54.432Z Moon culminates 54.06 degrees above the horizon 2021-12-28T17:26:31.521Z Sun culminates 38.18 degrees above the horizon -2021-12-28T18:25:37.788Z moonset -2021-12-28T22:36:44.772Z sunset -2021-12-29T07:37:03.565Z moonrise -2021-12-29T12:16:42.210Z sunrise +2021-12-28T18:25:37.787Z moonset +2021-12-28T22:36:44.683Z sunset +2021-12-29T07:37:03.605Z moonrise +2021-12-29T12:16:42.331Z sunrise 2021-12-29T13:22:53.721Z Moon culminates 47.92 degrees above the horizon 2021-12-29T17:27:00.705Z Sun culminates 38.24 degrees above the horizon -2021-12-29T19:02:29.723Z moonset -2021-12-29T22:37:23.450Z sunset -2021-12-30T08:44:19.506Z moonrise -2021-12-30T12:17:01.005Z sunrise +2021-12-29T19:02:29.691Z moonset +2021-12-29T22:37:23.362Z sunset +2021-12-30T08:44:19.628Z moonrise +2021-12-30T12:17:01.125Z sunrise 2021-12-30T14:17:15.592Z Moon culminates 42.35 degrees above the horizon 2021-12-30T17:27:29.671Z Sun culminates 38.30 degrees above the horizon -2021-12-30T19:44:43.651Z moonset -2021-12-30T22:38:03.104Z sunset -2021-12-31T09:55:06.342Z moonrise -2021-12-31T12:17:18.358Z sunrise +2021-12-30T19:44:43.560Z moonset +2021-12-30T22:38:03.016Z sunset +2021-12-31T09:55:06.562Z moonrise +2021-12-31T12:17:18.477Z sunrise 2021-12-31T15:16:45.342Z Moon culminates 37.88 degrees above the horizon 2021-12-31T17:27:58.382Z Sun culminates 38.38 degrees above the horizon -2021-12-31T20:34:17.312Z moonset -2021-12-31T22:38:43.688Z sunset -2022-01-01T11:07:20.593Z moonrise -2022-01-01T12:17:34.242Z sunrise +2021-12-31T20:34:17.149Z moonset +2021-12-31T22:38:43.601Z sunset +2022-01-01T11:07:20.862Z moonrise +2022-01-01T12:17:34.360Z sunrise 2022-01-01T16:20:53.270Z Moon culminates 35.06 degrees above the horizon 2022-01-01T17:28:26.802Z Sun culminates 38.46 degrees above the horizon -2022-01-01T21:32:20.738Z moonset -2022-01-01T22:39:25.156Z sunset +2022-01-01T21:32:20.514Z moonset +2022-01-01T22:39:25.070Z sunset 2022-01-01T22:54:56.286Z lunar perigee at 358025 km 2022-01-02T00:19:32.380Z Mercury moves from Sagittarius to Capricornus -2022-01-02T12:17:07.715Z moonrise -2022-01-02T12:17:48.635Z sunrise +2022-01-02T12:17:07.973Z moonrise +2022-01-02T12:17:48.752Z sunrise 2022-01-02T17:27:24.941Z Moon culminates 34.31 degrees above the horizon 2022-01-02T17:28:54.897Z Sun culminates 38.55 degrees above the horizon 2022-01-02T18:34:06.535Z new moon -2022-01-02T22:38:04.492Z moonset -2022-01-02T22:40:07.459Z sunset -2022-01-03T12:18:01.512Z sunrise -2022-01-03T13:20:18.801Z moonrise +2022-01-02T22:38:04.228Z moonset +2022-01-02T22:40:07.375Z sunset +2022-01-03T12:18:01.628Z sunrise +2022-01-03T13:20:19.016Z moonrise 2022-01-03T17:29:22.631Z Sun culminates 38.65 degrees above the horizon 2022-01-03T18:32:55.024Z Moon culminates 35.71 degrees above the horizon -2022-01-03T22:40:50.551Z sunset -2022-01-03T23:48:12.650Z moonset +2022-01-03T22:40:50.468Z sunset +2022-01-03T23:48:12.393Z moonset 2022-01-04T05:36:25.045Z Earth perihelion at 0.9833 AU -2022-01-04T12:18:12.852Z sunrise -2022-01-04T14:14:40.708Z moonrise +2022-01-04T12:18:12.967Z sunrise +2022-01-04T14:14:40.863Z moonrise 2022-01-04T17:29:49.969Z Sun culminates 38.75 degrees above the horizon 2022-01-04T19:34:22.904Z Moon culminates 38.99 degrees above the horizon -2022-01-04T22:41:34.384Z sunset -2022-01-05T00:58:29.585Z moonset -2022-01-05T12:18:22.636Z sunrise -2022-01-05T15:00:28.791Z moonrise +2022-01-04T22:41:34.302Z sunset +2022-01-05T00:58:29.393Z moonset +2022-01-05T12:18:22.749Z sunrise +2022-01-05T15:00:28.882Z moonrise 2022-01-05T17:30:16.877Z Sun culminates 38.86 degrees above the horizon 2022-01-05T20:30:24.997Z Moon culminates 43.64 degrees above the horizon -2022-01-05T22:42:18.910Z sunset -2022-01-06T02:05:48.637Z moonset -2022-01-06T12:18:30.844Z sunrise -2022-01-06T15:39:24.723Z moonrise +2022-01-05T22:42:18.830Z sunset +2022-01-06T02:05:48.542Z moonset +2022-01-06T12:18:30.955Z sunrise +2022-01-06T15:39:24.764Z moonrise 2022-01-06T17:30:43.324Z Sun culminates 38.98 degrees above the horizon 2022-01-06T21:21:12.258Z Moon culminates 49.13 degrees above the horizon -2022-01-06T22:43:04.083Z sunset -2022-01-07T03:09:00.964Z moonset +2022-01-06T22:43:04.005Z sunset +2022-01-07T03:09:00.938Z moonset 2022-01-07T11:00:45.939Z Mercury max evening elongation: 19.22 degrees from Sun -2022-01-07T12:18:37.462Z sunrise -2022-01-07T16:13:30.393Z moonrise +2022-01-07T12:18:37.571Z sunrise +2022-01-07T16:13:30.410Z moonrise 2022-01-07T17:31:09.278Z Sun culminates 39.11 degrees above the horizon 2022-01-07T22:07:48.699Z Moon culminates 55.01 degrees above the horizon -2022-01-07T22:43:49.857Z sunset +2022-01-07T22:43:49.780Z sunset 2022-01-08T04:08:25.112Z moonset -2022-01-08T12:18:42.476Z sunrise -2022-01-08T16:44:37.017Z moonrise +2022-01-08T12:18:42.584Z sunrise +2022-01-08T16:44:37.028Z moonrise 2022-01-08T17:31:34.712Z Sun culminates 39.25 degrees above the horizon -2022-01-08T22:44:36.187Z sunset +2022-01-08T22:44:36.112Z sunset 2022-01-08T22:51:35.737Z Moon culminates 60.96 degrees above the horizon 2022-01-09T00:42:49.748Z Venus inferior conjunction -2022-01-09T05:05:00.748Z moonset -2022-01-09T12:18:45.876Z sunrise -2022-01-09T17:14:19.362Z moonrise +2022-01-09T05:05:00.751Z moonset +2022-01-09T12:18:45.982Z sunrise +2022-01-09T17:14:19.371Z moonrise 2022-01-09T17:31:59.598Z Sun culminates 39.39 degrees above the horizon 2022-01-09T18:12:00.711Z first quarter -2022-01-09T22:45:23.028Z sunset +2022-01-09T22:45:22.956Z sunset 2022-01-09T23:33:53.970Z Moon culminates 66.73 degrees above the horizon -2022-01-10T05:59:57.426Z moonset -2022-01-10T12:18:47.654Z sunrise +2022-01-10T05:59:57.436Z moonset +2022-01-10T12:18:47.759Z sunrise 2022-01-10T17:32:23.910Z Sun culminates 39.54 degrees above the horizon -2022-01-10T17:43:59.626Z moonrise -2022-01-10T22:46:10.338Z sunset +2022-01-10T17:43:59.625Z moonrise +2022-01-10T22:46:10.268Z sunset 2022-01-11T00:15:56.379Z Moon culminates 72.13 degrees above the horizon -2022-01-11T06:54:17.806Z moonset -2022-01-11T12:18:47.806Z sunrise +2022-01-11T06:54:17.847Z moonset +2022-01-11T12:18:47.908Z sunrise 2022-01-11T17:32:47.625Z Sun culminates 39.69 degrees above the horizon -2022-01-11T18:14:52.864Z moonrise -2022-01-11T22:46:58.075Z sunset +2022-01-11T18:14:52.837Z moonrise +2022-01-11T22:46:58.007Z sunset 2022-01-12T00:58:45.712Z Moon culminates 76.99 degrees above the horizon -2022-01-12T07:48:47.396Z moonset -2022-01-12T12:18:46.328Z sunrise +2022-01-12T07:48:47.491Z moonset +2022-01-12T12:18:46.429Z sunrise 2022-01-12T17:33:10.722Z Sun culminates 39.86 degrees above the horizon -2022-01-12T18:48:10.464Z moonrise -2022-01-12T22:47:46.198Z sunset +2022-01-12T18:48:10.398Z moonrise +2022-01-12T22:47:46.132Z sunset 2022-01-13T01:43:11.414Z Moon culminates 81.15 degrees above the horizon -2022-01-13T08:43:45.452Z moonset -2022-01-13T12:18:43.221Z sunrise +2022-01-13T08:43:45.606Z moonset +2022-01-13T12:18:43.319Z sunrise 2022-01-13T17:33:33.181Z Sun culminates 40.03 degrees above the horizon -2022-01-13T19:24:59.446Z moonrise -2022-01-13T22:48:34.668Z sunset +2022-01-13T19:24:59.336Z moonrise +2022-01-13T22:48:34.605Z sunset 2022-01-14T02:29:44.037Z Moon culminates 84.43 degrees above the horizon 2022-01-14T09:25:22.551Z lunar apogee at 405792 km -2022-01-14T09:38:56.497Z moonset -2022-01-14T12:18:38.485Z sunrise +2022-01-14T09:38:56.693Z moonset +2022-01-14T12:18:38.581Z sunrise 2022-01-14T17:33:54.985Z Sun culminates 40.20 degrees above the horizon -2022-01-14T20:06:15.413Z moonrise -2022-01-14T22:49:23.448Z sunset +2022-01-14T20:06:15.265Z moonrise +2022-01-14T22:49:23.387Z sunset 2022-01-15T03:18:27.699Z Moon culminates 86.65 degrees above the horizon -2022-01-15T10:33:27.424Z moonset -2022-01-15T12:18:32.125Z sunrise +2022-01-15T10:33:27.635Z moonset +2022-01-15T12:18:32.219Z sunrise 2022-01-15T17:34:16.117Z Sun culminates 40.39 degrees above the horizon -2022-01-15T20:52:28.613Z moonrise -2022-01-15T22:50:12.502Z sunset +2022-01-15T20:52:28.436Z moonrise +2022-01-15T22:50:12.444Z sunset 2022-01-15T23:10:22.189Z Mercury perihelion at 0.3075 AU 2022-01-16T04:08:54.788Z Moon culminates 87.63 degrees above the horizon -2022-01-16T11:25:58.067Z moonset -2022-01-16T12:18:24.147Z sunrise +2022-01-16T11:25:58.270Z moonset +2022-01-16T12:18:24.238Z sunrise 2022-01-16T14:51:11.731Z Pluto conjunction 2022-01-16T17:34:36.563Z Sun culminates 40.58 degrees above the horizon -2022-01-16T21:43:28.137Z moonrise -2022-01-16T22:51:01.796Z sunset +2022-01-16T21:43:27.942Z moonrise +2022-01-16T22:51:01.741Z sunset 2022-01-17T05:00:09.550Z Moon culminates 87.29 degrees above the horizon -2022-01-17T12:15:07.144Z moonset -2022-01-17T12:18:14.557Z sunrise +2022-01-17T12:15:07.327Z moonset +2022-01-17T12:18:14.646Z sunrise 2022-01-17T17:34:56.310Z Sun culminates 40.77 degrees above the horizon -2022-01-17T22:38:16.658Z moonrise -2022-01-17T22:51:51.296Z sunset +2022-01-17T22:38:16.462Z moonrise +2022-01-17T22:51:51.244Z sunset 2022-01-17T23:49:12.218Z full moon 2022-01-18T05:51:04.020Z Moon culminates 85.61 degrees above the horizon -2022-01-18T12:18:03.364Z sunrise -2022-01-18T13:00:01.641Z moonset +2022-01-18T12:18:03.451Z sunrise +2022-01-18T13:00:01.791Z moonset 2022-01-18T17:35:15.346Z Sun culminates 40.98 degrees above the horizon -2022-01-18T22:52:40.970Z sunset -2022-01-18T23:35:26.468Z moonrise +2022-01-18T22:52:40.921Z sunset +2022-01-18T23:35:26.300Z moonrise 2022-01-19T06:40:40.529Z Moon culminates 82.67 degrees above the horizon -2022-01-19T12:17:50.578Z sunrise -2022-01-19T13:40:32.024Z moonset +2022-01-19T12:17:50.662Z sunrise +2022-01-19T13:40:32.131Z moonset 2022-01-19T17:35:33.660Z Sun culminates 41.19 degrees above the horizon 2022-01-19T18:35:17.473Z Mars moves from Ophiuchus to Sagittarius -2022-01-19T22:53:30.786Z sunset -2022-01-20T00:33:31.329Z moonrise +2022-01-19T22:53:30.740Z sunset +2022-01-20T00:33:31.218Z moonrise 2022-01-20T07:28:29.064Z Moon culminates 78.63 degrees above the horizon -2022-01-20T12:17:36.209Z sunrise -2022-01-20T14:17:08.116Z moonset +2022-01-20T12:17:36.291Z sunrise +2022-01-20T14:17:08.177Z moonset 2022-01-20T17:35:51.243Z Sun culminates 41.40 degrees above the horizon -2022-01-20T22:54:20.715Z sunset -2022-01-21T01:31:34.803Z moonrise +2022-01-20T22:54:20.672Z sunset +2022-01-21T01:31:34.753Z moonrise 2022-01-21T08:14:32.582Z Moon culminates 73.71 degrees above the horizon -2022-01-21T12:17:20.270Z sunrise -2022-01-21T14:50:45.193Z moonset +2022-01-21T12:17:20.349Z sunrise +2022-01-21T14:50:45.222Z moonset 2022-01-21T17:36:08.086Z Sun culminates 41.63 degrees above the horizon -2022-01-21T22:55:10.727Z sunset -2022-01-22T02:29:21.622Z moonrise +2022-01-21T22:55:10.688Z sunset +2022-01-22T02:29:21.612Z moonrise 2022-01-22T08:59:22.713Z Moon culminates 68.14 degrees above the horizon -2022-01-22T12:17:02.772Z sunrise -2022-01-22T15:22:31.677Z moonset +2022-01-22T12:17:02.849Z sunrise +2022-01-22T15:22:31.690Z moonset 2022-01-22T17:36:24.180Z Sun culminates 41.85 degrees above the horizon -2022-01-22T22:56:00.792Z sunset -2022-01-23T03:27:13.843Z moonrise +2022-01-22T22:56:00.756Z sunset +2022-01-23T03:27:13.845Z moonrise 2022-01-23T06:20:50.896Z Venus perihelion at 0.7184 AU 2022-01-23T09:43:52.219Z Moon culminates 62.14 degrees above the horizon 2022-01-23T10:21:03.514Z Mercury inferior conjunction -2022-01-23T12:16:43.728Z sunrise -2022-01-23T15:53:43.133Z moonset +2022-01-23T12:16:43.802Z sunrise +2022-01-23T15:53:43.143Z moonset 2022-01-23T17:36:39.517Z Sun culminates 42.09 degrees above the horizon -2022-01-23T22:56:50.883Z sunset -2022-01-24T04:25:59.867Z moonrise +2022-01-23T22:56:50.850Z sunset +2022-01-24T04:25:59.870Z moonrise 2022-01-24T10:29:08.418Z Moon culminates 55.97 degrees above the horizon -2022-01-24T12:16:23.153Z sunrise -2022-01-24T16:25:42.107Z moonset +2022-01-24T12:16:23.224Z sunrise +2022-01-24T16:25:42.111Z moonset 2022-01-24T17:36:54.090Z Sun culminates 42.33 degrees above the horizon -2022-01-24T22:57:40.969Z sunset -2022-01-25T05:26:40.842Z moonrise +2022-01-24T22:57:40.941Z sunset +2022-01-25T05:26:40.866Z moonrise 2022-01-25T11:16:27.746Z Moon culminates 49.91 degrees above the horizon -2022-01-25T12:16:01.059Z sunrise +2022-01-25T12:16:01.128Z sunrise 2022-01-25T13:41:32.986Z third quarter 2022-01-25T13:43:08.140Z Mercury moves from Capricornus to Sagittarius -2022-01-25T17:00:01.401Z moonset +2022-01-25T17:00:01.382Z moonset 2022-01-25T17:37:07.892Z Sun culminates 42.58 degrees above the horizon -2022-01-25T22:58:31.024Z sunset -2022-01-26T06:30:12.693Z moonrise +2022-01-25T22:58:30.999Z sunset +2022-01-26T06:30:12.780Z moonrise 2022-01-26T12:07:08.219Z Moon culminates 44.28 degrees above the horizon -2022-01-26T12:15:37.461Z sunrise +2022-01-26T12:15:37.527Z sunrise 2022-01-26T17:37:20.916Z Sun culminates 42.83 degrees above the horizon -2022-01-26T17:38:27.180Z moonset -2022-01-26T22:59:21.018Z sunset -2022-01-27T07:36:58.050Z moonrise -2022-01-27T12:15:12.375Z sunrise +2022-01-26T17:38:27.113Z moonset +2022-01-26T22:59:20.996Z sunset +2022-01-27T07:36:58.233Z moonrise +2022-01-27T12:15:12.438Z sunrise 2022-01-27T13:02:13.765Z Moon culminates 39.50 degrees above the horizon 2022-01-27T17:37:33.154Z Sun culminates 43.09 degrees above the horizon -2022-01-27T18:22:54.947Z moonset -2022-01-27T23:00:10.922Z sunset -2022-01-28T08:46:06.839Z moonrise -2022-01-28T12:14:45.815Z sunrise +2022-01-27T18:22:54.813Z moonset +2022-01-27T23:00:10.905Z sunset +2022-01-28T08:46:07.094Z moonrise +2022-01-28T12:14:45.876Z sunrise 2022-01-28T14:02:04.969Z Moon culminates 36.03 degrees above the horizon 2022-01-28T17:37:44.601Z Sun culminates 43.35 degrees above the horizon -2022-01-28T19:15:05.755Z moonset -2022-01-28T23:01:00.709Z sunset -2022-01-29T09:55:07.329Z moonrise -2022-01-29T12:14:17.798Z sunrise +2022-01-28T19:15:05.557Z moonset +2022-01-28T23:01:00.695Z sunset +2022-01-29T09:55:07.598Z moonrise +2022-01-29T12:14:17.856Z sunrise 2022-01-29T15:05:43.177Z Moon culminates 34.34 degrees above the horizon 2022-01-29T17:37:55.250Z Sun culminates 43.62 degrees above the horizon -2022-01-29T20:15:32.455Z moonset -2022-01-29T23:01:50.350Z sunset +2022-01-29T20:15:32.207Z moonset +2022-01-29T23:01:50.339Z sunset 2022-01-30T07:11:02.284Z lunar perigee at 362243 km -2022-01-30T11:00:17.415Z moonrise -2022-01-30T12:13:48.338Z sunrise +2022-01-30T11:00:17.655Z moonrise +2022-01-30T12:13:48.393Z sunrise 2022-01-30T16:10:40.946Z Moon culminates 34.70 degrees above the horizon 2022-01-30T17:38:05.095Z Sun culminates 43.89 degrees above the horizon -2022-01-30T21:22:40.640Z moonset -2022-01-30T23:02:39.816Z sunset -2022-01-31T11:58:28.137Z moonrise -2022-01-31T12:13:17.453Z sunrise +2022-01-30T21:22:40.372Z moonset +2022-01-30T23:02:39.809Z sunset +2022-01-31T11:58:28.324Z moonrise +2022-01-31T12:13:17.505Z sunrise 2022-01-31T17:13:53.051Z Moon culminates 37.07 degrees above the horizon 2022-01-31T17:38:14.130Z Sun culminates 44.17 degrees above the horizon -2022-01-31T22:32:57.694Z moonset -2022-01-31T23:03:29.081Z sunset +2022-01-31T22:32:57.460Z moonset +2022-01-31T23:03:29.078Z sunset 2022-02-01T05:46:37.861Z new moon -2022-02-01T12:12:45.158Z sunrise -2022-02-01T12:48:31.035Z moonrise +2022-02-01T12:12:45.208Z sunrise +2022-02-01T12:48:31.158Z moonrise 2022-02-01T17:38:22.351Z Sun culminates 44.46 degrees above the horizon 2022-02-01T18:12:59.990Z Moon culminates 41.12 degrees above the horizon -2022-02-01T23:04:18.119Z sunset -2022-02-01T23:42:35.073Z moonset -2022-02-02T12:12:11.470Z sunrise -2022-02-02T13:31:12.426Z moonrise +2022-02-01T23:04:18.120Z sunset +2022-02-01T23:42:34.928Z moonset +2022-02-02T12:12:11.517Z sunrise +2022-02-02T13:31:12.488Z moonrise 2022-02-02T17:38:29.754Z Sun culminates 44.75 degrees above the horizon 2022-02-02T19:07:11.913Z Moon culminates 46.36 degrees above the horizon -2022-02-02T23:05:06.906Z sunset -2022-02-03T00:49:08.552Z moonset -2022-02-03T12:11:36.407Z sunrise -2022-02-03T14:08:14.171Z moonrise +2022-02-02T23:05:06.911Z sunset +2022-02-03T00:49:08.497Z moonset +2022-02-03T12:11:36.451Z sunrise +2022-02-03T14:08:14.195Z moonrise 2022-02-03T17:38:36.336Z Sun culminates 45.04 degrees above the horizon 2022-02-03T19:56:53.889Z Moon culminates 52.26 degrees above the horizon -2022-02-03T23:05:55.419Z sunset -2022-02-04T01:51:57.460Z moonset -2022-02-04T12:10:59.987Z sunrise -2022-02-04T14:41:26.527Z moonrise +2022-02-03T23:05:55.428Z sunset +2022-02-04T01:51:57.452Z moonset +2022-02-04T12:11:00.028Z sunrise +2022-02-04T14:41:26.539Z moonrise 2022-02-04T17:38:42.096Z Sun culminates 45.34 degrees above the horizon 2022-02-04T19:07:46.195Z Saturn conjunction 2022-02-04T20:43:09.877Z Moon culminates 58.41 degrees above the horizon -2022-02-04T23:06:43.638Z sunset -2022-02-05T02:51:29.613Z moonset -2022-02-05T12:10:22.229Z sunrise -2022-02-05T15:12:29.163Z moonrise +2022-02-04T23:06:43.651Z sunset +2022-02-05T02:51:29.615Z moonset +2022-02-05T12:10:22.269Z sunrise +2022-02-05T15:12:29.172Z moonrise 2022-02-05T17:38:47.034Z Sun culminates 45.64 degrees above the horizon 2022-02-05T21:27:15.460Z Moon culminates 64.47 degrees above the horizon -2022-02-05T23:07:31.544Z sunset -2022-02-06T03:48:42.192Z moonset -2022-02-06T12:09:43.156Z sunrise -2022-02-06T15:42:49.075Z moonrise +2022-02-05T23:07:31.560Z sunset +2022-02-06T03:48:42.198Z moonset +2022-02-06T12:09:43.193Z sunrise +2022-02-06T15:42:49.078Z moonrise 2022-02-06T17:38:51.152Z Sun culminates 45.95 degrees above the horizon 2022-02-06T22:10:24.173Z Moon culminates 70.19 degrees above the horizon -2022-02-06T23:08:19.118Z sunset -2022-02-07T04:44:36.340Z moonset -2022-02-07T12:09:02.788Z sunrise -2022-02-07T16:13:44.378Z moonrise +2022-02-06T23:08:19.138Z sunset +2022-02-07T04:44:36.367Z moonset +2022-02-07T12:09:02.823Z sunrise +2022-02-07T16:13:44.362Z moonrise 2022-02-07T17:38:54.454Z Sun culminates 46.26 degrees above the horizon 2022-02-07T22:53:41.793Z Moon culminates 75.39 degrees above the horizon -2022-02-07T23:09:06.345Z sunset -2022-02-08T05:40:02.483Z moonset -2022-02-08T12:08:21.151Z sunrise +2022-02-07T23:09:06.369Z sunset +2022-02-08T05:40:02.557Z moonset +2022-02-08T12:08:21.183Z sunrise 2022-02-08T13:50:52.586Z first quarter -2022-02-08T16:46:28.269Z moonrise +2022-02-08T16:46:28.217Z moonrise 2022-02-08T17:38:56.944Z Sun culminates 46.58 degrees above the horizon -2022-02-08T23:09:53.213Z sunset +2022-02-08T23:09:53.240Z sunset 2022-02-08T23:38:02.959Z Moon culminates 79.90 degrees above the horizon -2022-02-09T06:35:30.148Z moonset -2022-02-09T12:07:38.268Z sunrise +2022-02-09T06:35:30.284Z moonset +2022-02-09T12:07:38.298Z sunrise 2022-02-09T13:05:36.752Z Venus peak magnitude -4.86 in morning sky -2022-02-09T17:22:10.246Z moonrise +2022-02-09T17:22:10.149Z moonrise 2022-02-09T17:38:58.629Z Sun culminates 46.90 degrees above the horizon -2022-02-09T23:10:39.709Z sunset +2022-02-09T23:10:39.739Z sunset 2022-02-10T00:24:06.800Z Moon culminates 83.54 degrees above the horizon -2022-02-10T07:30:59.367Z moonset -2022-02-10T12:06:54.165Z sunrise +2022-02-10T07:30:59.554Z moonset +2022-02-10T12:06:54.193Z sunrise 2022-02-10T17:38:59.517Z Sun culminates 47.23 degrees above the horizon -2022-02-10T18:01:52.295Z moonrise -2022-02-10T23:11:25.824Z sunset +2022-02-10T18:01:52.158Z moonrise +2022-02-10T23:11:25.858Z sunset 2022-02-11T01:12:10.655Z Moon culminates 86.15 degrees above the horizon 2022-02-11T02:37:04.067Z lunar apogee at 404884 km -2022-02-11T08:25:55.631Z moonset -2022-02-11T12:06:08.870Z sunrise +2022-02-11T08:25:55.842Z moonset +2022-02-11T12:06:08.896Z sunrise 2022-02-11T17:38:59.618Z Sun culminates 47.55 degrees above the horizon -2022-02-11T18:46:18.462Z moonrise -2022-02-11T23:12:11.551Z sunset +2022-02-11T18:46:18.293Z moonrise +2022-02-11T23:12:11.589Z sunset 2022-02-12T02:02:03.983Z Moon culminates 87.58 degrees above the horizon -2022-02-12T09:19:14.453Z moonset -2022-02-12T12:05:22.410Z sunrise +2022-02-12T09:19:14.663Z moonset +2022-02-12T12:05:22.434Z sunrise 2022-02-12T17:38:58.944Z Sun culminates 47.89 degrees above the horizon -2022-02-12T19:35:39.632Z moonrise -2022-02-12T23:12:56.886Z sunset +2022-02-12T19:35:39.440Z moonrise +2022-02-12T23:12:56.927Z sunset 2022-02-13T02:53:07.484Z Moon culminates 87.70 degrees above the horizon -2022-02-13T10:09:39.964Z moonset -2022-02-13T12:04:34.814Z sunrise +2022-02-13T10:09:40.156Z moonset +2022-02-13T12:04:34.836Z sunrise 2022-02-13T17:38:57.506Z Sun culminates 48.22 degrees above the horizon -2022-02-13T20:29:22.247Z moonrise -2022-02-13T23:13:41.825Z sunset +2022-02-13T20:29:22.047Z moonrise +2022-02-13T23:13:41.869Z sunset 2022-02-14T03:44:22.454Z Moon culminates 86.47 degrees above the horizon -2022-02-14T10:56:11.976Z moonset -2022-02-14T12:03:46.111Z sunrise +2022-02-14T10:56:12.139Z moonset +2022-02-14T12:03:46.131Z sunrise 2022-02-14T17:38:55.320Z Sun culminates 48.56 degrees above the horizon -2022-02-14T21:26:13.362Z moonrise -2022-02-14T23:14:26.366Z sunset +2022-02-14T21:26:13.179Z moonrise +2022-02-14T23:14:26.413Z sunset 2022-02-15T00:02:34.502Z Mercury moves from Sagittarius to Capricornus 2022-02-15T04:34:49.403Z Moon culminates 83.91 degrees above the horizon -2022-02-15T11:38:26.456Z moonset -2022-02-15T12:02:56.331Z sunrise +2022-02-15T11:38:26.578Z moonset +2022-02-15T12:02:56.349Z sunrise 2022-02-15T17:38:52.399Z Sun culminates 48.91 degrees above the horizon -2022-02-15T22:24:45.258Z moonrise -2022-02-15T23:15:10.510Z sunset +2022-02-15T22:24:45.123Z moonrise +2022-02-15T23:15:10.560Z sunset 2022-02-16T05:23:47.334Z Moon culminates 80.17 degrees above the horizon -2022-02-16T12:02:05.504Z sunrise -2022-02-16T12:16:38.942Z moonset +2022-02-16T12:02:05.520Z sunrise +2022-02-16T12:16:39.017Z moonset 2022-02-16T16:57:14.831Z full moon 2022-02-16T17:38:48.760Z Sun culminates 49.25 degrees above the horizon 2022-02-16T21:00:07.224Z Mercury max morning elongation: 26.28 degrees from Sun -2022-02-16T23:15:54.258Z sunset -2022-02-16T23:23:46.167Z moonrise +2022-02-16T23:15:54.311Z sunset +2022-02-16T23:23:46.097Z moonrise 2022-02-17T06:11:04.429Z Moon culminates 75.42 degrees above the horizon -2022-02-17T12:01:13.660Z sunrise -2022-02-17T12:51:34.584Z moonset +2022-02-17T12:01:13.675Z sunrise +2022-02-17T12:51:34.620Z moonset 2022-02-17T17:38:44.418Z Sun culminates 49.60 degrees above the horizon -2022-02-17T23:16:37.613Z sunset -2022-02-18T00:22:39.697Z moonrise +2022-02-17T23:16:37.669Z sunset +2022-02-18T00:22:39.677Z moonrise 2022-02-18T06:56:58.149Z Moon culminates 69.90 degrees above the horizon -2022-02-18T12:00:20.830Z sunrise -2022-02-18T13:24:15.495Z moonset +2022-02-18T12:00:20.843Z sunrise +2022-02-18T13:24:15.510Z moonset 2022-02-18T17:38:39.391Z Sun culminates 49.96 degrees above the horizon -2022-02-18T23:17:20.578Z sunset +2022-02-18T23:17:20.637Z sunset 2022-02-19T01:21:27.519Z moonrise 2022-02-19T07:42:09.233Z Moon culminates 63.88 degrees above the horizon -2022-02-19T11:59:27.044Z sunrise -2022-02-19T13:55:52.498Z moonset +2022-02-19T11:59:27.056Z sunrise +2022-02-19T13:55:52.507Z moonset 2022-02-19T17:38:33.696Z Sun culminates 50.31 degrees above the horizon -2022-02-19T23:18:03.158Z sunset -2022-02-20T02:20:41.043Z moonrise +2022-02-19T23:18:03.220Z sunset +2022-02-20T02:20:41.045Z moonrise 2022-02-20T08:27:34.624Z Moon culminates 57.63 degrees above the horizon -2022-02-20T11:58:32.332Z sunrise -2022-02-20T14:27:42.598Z moonset +2022-02-20T11:58:32.342Z sunrise +2022-02-20T14:27:42.604Z moonset 2022-02-20T17:38:27.349Z Sun culminates 50.67 degrees above the horizon -2022-02-20T23:18:45.358Z sunset -2022-02-21T03:21:08.422Z moonrise +2022-02-20T23:18:45.422Z sunset +2022-02-21T03:21:08.437Z moonrise 2022-02-21T09:14:21.209Z Moon culminates 51.44 degrees above the horizon -2022-02-21T11:57:36.723Z sunrise -2022-02-21T15:01:10.440Z moonset +2022-02-21T11:57:36.733Z sunrise +2022-02-21T15:01:10.430Z moonset 2022-02-21T17:38:20.370Z Sun culminates 51.03 degrees above the horizon -2022-02-21T23:19:27.181Z sunset -2022-02-22T04:23:38.240Z moonrise +2022-02-21T23:19:27.247Z sunset +2022-02-22T04:23:38.306Z moonrise 2022-02-22T10:03:38.850Z Moon culminates 45.66 degrees above the horizon -2022-02-22T11:56:40.248Z sunrise -2022-02-22T15:37:50.789Z moonset +2022-02-22T11:56:40.257Z sunrise +2022-02-22T15:37:50.738Z moonset 2022-02-22T17:38:12.773Z Sun culminates 51.40 degrees above the horizon -2022-02-22T23:20:08.633Z sunset -2022-02-23T05:28:36.944Z moonrise +2022-02-22T23:20:08.701Z sunset +2022-02-23T05:28:37.102Z moonrise 2022-02-23T10:56:28.704Z Moon culminates 40.64 degrees above the horizon -2022-02-23T11:55:42.936Z sunrise -2022-02-23T16:19:27.121Z moonset +2022-02-23T11:55:42.943Z sunrise +2022-02-23T16:19:27.007Z moonset 2022-02-23T17:38:04.577Z Sun culminates 51.76 degrees above the horizon 2022-02-23T22:33:00.612Z third quarter -2022-02-23T23:20:49.717Z sunset -2022-02-24T06:35:38.468Z moonrise +2022-02-23T23:20:49.788Z sunset +2022-02-24T06:35:38.709Z moonrise 2022-02-24T11:53:22.644Z Moon culminates 36.80 degrees above the horizon -2022-02-24T11:54:44.815Z sunrise -2022-02-24T17:07:37.849Z moonset +2022-02-24T11:54:44.821Z sunrise +2022-02-24T17:07:37.669Z moonset 2022-02-24T17:37:55.797Z Sun culminates 52.13 degrees above the horizon -2022-02-24T23:21:30.438Z sunset -2022-02-25T07:42:57.531Z moonrise -2022-02-25T11:53:45.913Z sunrise +2022-02-24T23:21:30.510Z sunset +2022-02-25T07:42:57.804Z moonrise +2022-02-25T11:53:45.919Z sunrise 2022-02-25T12:53:55.825Z Moon culminates 34.53 degrees above the horizon 2022-02-25T17:37:46.450Z Sun culminates 52.50 degrees above the horizon -2022-02-25T18:03:20.801Z moonset -2022-02-25T23:22:10.798Z sunset -2022-02-26T08:47:38.911Z moonrise -2022-02-26T11:52:46.260Z sunrise +2022-02-25T18:03:20.567Z moonset +2022-02-25T23:22:10.873Z sunset +2022-02-26T08:47:39.168Z moonrise +2022-02-26T11:52:46.264Z sunrise 2022-02-26T13:56:30.515Z Moon culminates 34.13 degrees above the horizon 2022-02-26T17:37:36.551Z Sun culminates 52.88 degrees above the horizon -2022-02-26T19:06:03.241Z moonset +2022-02-26T19:06:02.975Z moonset 2022-02-26T22:25:36.488Z lunar perigee at 367780 km -2022-02-26T23:22:50.801Z sunset -2022-02-27T09:46:44.875Z moonrise -2022-02-27T11:51:45.881Z sunrise +2022-02-26T23:22:50.878Z sunset +2022-02-27T09:46:45.090Z moonrise +2022-02-27T11:51:45.885Z sunrise 2022-02-27T14:58:38.726Z Moon culminates 35.68 degrees above the horizon 2022-02-27T17:37:26.114Z Sun culminates 53.25 degrees above the horizon -2022-02-27T20:13:21.978Z moonset -2022-02-27T23:23:30.450Z sunset -2022-02-28T10:38:37.412Z moonrise -2022-02-28T11:50:44.805Z sunrise +2022-02-27T20:13:21.720Z moonset +2022-02-27T23:23:30.528Z sunset +2022-02-28T10:38:37.568Z moonrise +2022-02-28T11:50:44.808Z sunrise 2022-02-28T15:58:02.325Z Moon culminates 39.00 degrees above the horizon 2022-02-28T17:37:15.155Z Sun culminates 53.63 degrees above the horizon -2022-02-28T21:21:57.304Z moonset +2022-02-28T21:21:57.112Z moonset 2022-02-28T22:47:54.584Z Mercury aphelion at 0.4667 AU -2022-02-28T23:24:09.746Z sunset -2022-03-01T11:23:22.833Z moonrise -2022-03-01T11:49:43.056Z sunrise +2022-02-28T23:24:09.827Z sunset +2022-03-01T11:23:22.923Z moonrise +2022-03-01T11:49:43.058Z sunrise 2022-03-01T16:53:24.900Z Moon culminates 43.71 degrees above the horizon 2022-03-01T17:37:03.688Z Sun culminates 54.01 degrees above the horizon -2022-03-01T22:29:04.152Z moonset -2022-03-01T23:24:48.694Z sunset -2022-03-02T11:48:40.660Z sunrise -2022-03-02T12:02:16.196Z moonrise +2022-03-01T22:29:04.058Z moonset +2022-03-01T23:24:48.776Z sunset +2022-03-02T11:48:40.662Z sunrise +2022-03-02T12:02:16.235Z moonrise 2022-03-02T17:35:25.323Z new moon 2022-03-02T17:36:51.727Z Sun culminates 54.39 degrees above the horizon 2022-03-02T17:44:40.251Z Moon culminates 49.36 degrees above the horizon -2022-03-02T23:25:27.297Z sunset -2022-03-02T23:33:21.337Z moonset -2022-03-03T11:47:37.643Z sunrise -2022-03-03T12:36:56.121Z moonrise +2022-03-02T23:25:27.380Z sunset +2022-03-02T23:33:21.313Z moonset +2022-03-03T11:47:37.645Z sunrise +2022-03-03T12:36:56.136Z moonrise 2022-03-03T17:36:39.287Z Sun culminates 54.78 degrees above the horizon 2022-03-03T18:32:29.737Z Moon culminates 55.50 degrees above the horizon -2022-03-03T23:26:05.558Z sunset +2022-03-03T23:26:05.643Z sunset 2022-03-04T00:34:42.205Z moonset -2022-03-04T11:46:34.030Z sunrise -2022-03-04T13:08:59.126Z moonrise +2022-03-04T11:46:34.031Z sunrise +2022-03-04T13:08:59.135Z moonrise 2022-03-04T17:36:26.383Z Sun culminates 55.16 degrees above the horizon 2022-03-04T19:17:56.129Z Moon culminates 61.75 degrees above the horizon -2022-03-04T23:26:43.482Z sunset -2022-03-05T01:33:42.407Z moonset -2022-03-05T11:45:29.847Z sunrise -2022-03-05T13:39:51.964Z moonrise +2022-03-04T23:26:43.569Z sunset +2022-03-05T01:33:42.409Z moonset +2022-03-05T11:45:29.848Z sunrise +2022-03-05T13:39:51.970Z moonrise 2022-03-05T14:09:13.537Z Jupiter conjunction 2022-03-05T17:36:13.030Z Sun culminates 55.55 degrees above the horizon 2022-03-05T20:02:06.583Z Moon culminates 67.79 degrees above the horizon 2022-03-05T23:13:22.917Z Mars moves from Sagittarius to Capricornus -2022-03-05T23:27:21.075Z sunset -2022-03-06T02:31:11.969Z moonset -2022-03-06T11:44:25.119Z sunrise -2022-03-06T14:10:52.629Z moonrise +2022-03-05T23:27:21.163Z sunset +2022-03-06T02:31:11.983Z moonset +2022-03-06T11:44:25.120Z sunrise +2022-03-06T14:10:52.623Z moonrise 2022-03-06T17:35:59.245Z Sun culminates 55.94 degrees above the horizon 2022-03-06T20:46:03.983Z Moon culminates 73.39 degrees above the horizon -2022-03-06T23:27:58.342Z sunset +2022-03-06T23:27:58.431Z sunset 2022-03-07T01:02:14.798Z Venus moves from Sagittarius to Capricornus -2022-03-07T03:27:57.030Z moonset -2022-03-07T11:43:19.873Z sunrise -2022-03-07T14:43:13.513Z moonrise +2022-03-07T03:27:57.082Z moonset +2022-03-07T11:43:19.973Z sunrise +2022-03-07T14:43:13.476Z moonrise 2022-03-07T17:35:45.043Z Sun culminates 56.32 degrees above the horizon 2022-03-07T21:30:42.220Z Moon culminates 78.32 degrees above the horizon -2022-03-07T23:28:35.290Z sunset +2022-03-07T23:28:35.380Z sunset 2022-03-08T04:13:24.049Z Mercury moves from Capricornus to Aquarius -2022-03-08T04:24:27.704Z moonset -2022-03-08T11:42:14.136Z sunrise -2022-03-08T15:18:03.168Z moonrise +2022-03-08T04:24:27.818Z moonset +2022-03-08T11:42:14.235Z sunrise +2022-03-08T15:18:03.088Z moonrise 2022-03-08T17:35:30.442Z Sun culminates 56.71 degrees above the horizon 2022-03-08T22:16:41.921Z Moon culminates 82.41 degrees above the horizon -2022-03-08T23:29:11.928Z sunset -2022-03-09T05:20:48.853Z moonset -2022-03-09T11:41:07.934Z sunrise -2022-03-09T15:56:24.318Z moonrise +2022-03-08T23:29:12.019Z sunset +2022-03-09T05:20:49.027Z moonset +2022-03-09T11:41:08.032Z sunrise +2022-03-09T15:56:24.194Z moonrise 2022-03-09T17:35:15.460Z Sun culminates 57.11 degrees above the horizon 2022-03-09T23:04:25.120Z Moon culminates 85.49 degrees above the horizon -2022-03-09T23:29:48.263Z sunset -2022-03-10T06:16:34.303Z moonset +2022-03-09T23:29:48.355Z sunset +2022-03-10T06:16:34.511Z moonset 2022-03-10T10:46:08.996Z first quarter -2022-03-10T11:40:01.297Z sunrise -2022-03-10T16:39:06.365Z moonrise +2022-03-10T11:40:01.394Z sunrise +2022-03-10T16:39:06.205Z moonrise 2022-03-10T17:35:00.116Z Sun culminates 57.50 degrees above the horizon 2022-03-10T23:04:38.054Z lunar apogee at 404254 km -2022-03-10T23:30:24.306Z sunset +2022-03-10T23:30:24.399Z sunset 2022-03-10T23:53:49.864Z Moon culminates 87.41 degrees above the horizon -2022-03-11T07:10:48.912Z moonset -2022-03-11T11:38:54.252Z sunrise -2022-03-11T17:26:32.860Z moonrise +2022-03-11T07:10:49.127Z moonset +2022-03-11T11:38:54.348Z sunrise +2022-03-11T17:26:32.674Z moonrise 2022-03-11T17:34:44.430Z Sun culminates 57.89 degrees above the horizon -2022-03-11T23:31:00.069Z sunset +2022-03-11T23:31:00.163Z sunset 2022-03-12T00:44:28.371Z Moon culminates 88.05 degrees above the horizon -2022-03-12T08:02:22.883Z moonset -2022-03-12T11:37:46.828Z sunrise +2022-03-12T08:02:23.086Z moonset +2022-03-12T11:37:46.924Z sunrise 2022-03-12T17:34:28.423Z Sun culminates 58.28 degrees above the horizon -2022-03-12T18:18:29.560Z moonrise -2022-03-12T23:31:35.564Z sunset +2022-03-12T18:18:29.358Z moonrise +2022-03-12T23:31:35.659Z sunset 2022-03-13T01:35:32.988Z Moon culminates 87.34 degrees above the horizon -2022-03-13T08:50:15.485Z moonset -2022-03-13T11:36:39.056Z sunrise +2022-03-13T08:50:15.664Z moonset +2022-03-13T11:36:39.150Z sunrise 2022-03-13T11:50:05.040Z Neptune conjunction 2022-03-13T17:34:12.116Z Sun culminates 58.68 degrees above the horizon -2022-03-13T19:14:03.365Z moonrise -2022-03-13T23:32:10.805Z sunset +2022-03-13T19:14:03.168Z moonrise +2022-03-13T23:32:10.901Z sunset 2022-03-14T02:26:10.577Z Moon culminates 85.30 degrees above the horizon -2022-03-14T09:33:56.176Z moonset -2022-03-14T11:35:30.964Z sunrise +2022-03-14T09:33:56.319Z moonset +2022-03-14T11:35:31.058Z sunrise 2022-03-14T17:33:55.532Z Sun culminates 59.07 degrees above the horizon -2022-03-14T20:11:58.522Z moonrise -2022-03-14T23:32:45.807Z sunset +2022-03-14T20:11:58.360Z moonrise +2022-03-14T23:32:45.904Z sunset 2022-03-15T03:15:39.718Z Moon culminates 81.99 degrees above the horizon -2022-03-15T10:13:31.891Z moonset -2022-03-15T11:34:22.584Z sunrise +2022-03-15T10:13:31.987Z moonset +2022-03-15T11:34:22.677Z sunrise 2022-03-15T17:33:38.694Z Sun culminates 59.47 degrees above the horizon -2022-03-15T21:11:03.349Z moonrise -2022-03-15T23:33:20.586Z sunset +2022-03-15T21:11:03.250Z moonrise +2022-03-15T23:33:20.684Z sunset 2022-03-16T04:03:42.777Z Moon culminates 77.57 degrees above the horizon -2022-03-16T10:49:40.584Z moonset -2022-03-16T11:33:13.945Z sunrise +2022-03-16T10:49:40.634Z moonset +2022-03-16T11:33:14.038Z sunrise 2022-03-16T17:33:21.626Z Sun culminates 59.86 degrees above the horizon -2022-03-16T22:10:32.411Z moonrise -2022-03-16T23:33:55.158Z sunset +2022-03-16T22:10:32.373Z moonrise +2022-03-16T23:33:55.257Z sunset 2022-03-17T04:50:29.143Z Moon culminates 72.24 degrees above the horizon -2022-03-17T11:23:19.698Z moonset -2022-03-17T11:32:05.080Z sunrise +2022-03-17T11:23:19.719Z moonset +2022-03-17T11:32:05.172Z sunrise 2022-03-17T17:33:04.351Z Sun culminates 60.26 degrees above the horizon -2022-03-17T23:10:14.850Z moonrise -2022-03-17T23:34:29.542Z sunset +2022-03-17T23:10:14.846Z moonrise +2022-03-17T23:34:29.642Z sunset 2022-03-18T05:36:31.711Z Moon culminates 66.25 degrees above the horizon 2022-03-18T07:18:13.615Z full moon -2022-03-18T11:30:56.018Z sunrise -2022-03-18T11:55:37.203Z moonset +2022-03-18T11:30:56.109Z sunrise +2022-03-18T11:55:37.213Z moonset 2022-03-18T17:32:46.893Z Sun culminates 60.65 degrees above the horizon 2022-03-18T23:35:03.754Z sunset -2022-03-19T00:10:30.273Z moonrise +2022-03-19T00:10:30.274Z moonrise 2022-03-19T06:22:40.760Z Moon culminates 59.87 degrees above the horizon -2022-03-19T11:29:46.791Z sunrise -2022-03-19T12:27:47.732Z moonset +2022-03-19T11:29:46.881Z sunrise +2022-03-19T12:27:47.739Z moonset 2022-03-19T17:32:29.278Z Sun culminates 61.05 degrees above the horizon 2022-03-19T23:35:37.812Z sunset -2022-03-20T01:11:57.509Z moonrise +2022-03-20T01:11:57.516Z moonrise 2022-03-20T07:09:57.558Z Moon culminates 53.43 degrees above the horizon 2022-03-20T09:32:04.911Z Venus max morning elongation: 46.59 degrees from Sun -2022-03-20T11:28:37.428Z sunrise -2022-03-20T13:01:12.810Z moonset +2022-03-20T11:28:37.517Z sunrise +2022-03-20T13:01:12.807Z moonset 2022-03-20T15:33:24.472Z March equinox 2022-03-20T17:32:11.528Z Sun culminates 61.44 degrees above the horizon 2022-03-20T23:36:11.734Z sunset -2022-03-21T02:15:18.771Z moonrise +2022-03-21T02:15:18.817Z moonrise 2022-03-21T07:59:27.072Z Moon culminates 47.30 degrees above the horizon -2022-03-21T11:27:27.959Z sunrise -2022-03-21T13:37:22.568Z moonset +2022-03-21T11:27:28.048Z sunrise +2022-03-21T13:37:22.532Z moonset 2022-03-21T17:31:53.668Z Sun culminates 61.84 degrees above the horizon 2022-03-21T23:36:45.537Z sunset -2022-03-22T03:20:57.773Z moonrise +2022-03-22T03:20:57.905Z moonrise 2022-03-22T08:52:06.741Z Moon culminates 41.87 degrees above the horizon -2022-03-22T11:26:18.416Z sunrise -2022-03-22T14:17:54.651Z moonset +2022-03-22T11:26:18.504Z sunrise +2022-03-22T14:17:54.555Z moonset 2022-03-22T17:31:35.721Z Sun culminates 62.23 degrees above the horizon -2022-03-22T23:37:19.237Z sunset +2022-03-22T23:37:19.238Z sunset 2022-03-23T00:59:42.157Z Venus moves from Capricornus to Aquarius -2022-03-23T04:28:30.896Z moonrise +2022-03-23T04:28:31.123Z moonrise 2022-03-23T09:48:27.816Z Moon culminates 37.56 degrees above the horizon -2022-03-23T11:25:08.827Z sunrise -2022-03-23T15:04:23.123Z moonset +2022-03-23T11:25:08.914Z sunrise +2022-03-23T15:04:22.958Z moonset 2022-03-23T17:31:17.708Z Sun culminates 62.62 degrees above the horizon -2022-03-23T23:37:52.850Z sunset +2022-03-23T23:37:52.851Z sunset 2022-03-23T23:40:24.879Z lunar perigee at 369750 km -2022-03-24T05:36:21.221Z moonrise +2022-03-24T05:36:21.495Z moonrise 2022-03-24T10:48:10.990Z Moon culminates 34.78 degrees above the horizon -2022-03-24T11:23:59.221Z sunrise -2022-03-24T15:57:49.239Z moonset +2022-03-24T11:23:59.307Z sunrise +2022-03-24T15:57:49.017Z moonset 2022-03-24T17:30:59.653Z Sun culminates 63.02 degrees above the horizon -2022-03-24T23:38:26.390Z sunset +2022-03-24T23:38:26.391Z sunset 2022-03-25T05:37:50.281Z third quarter -2022-03-25T06:41:43.727Z moonrise +2022-03-25T06:41:43.996Z moonrise 2022-03-25T11:12:08.250Z Mercury moves from Aquarius to Pisces -2022-03-25T11:22:49.627Z sunrise +2022-03-25T11:22:49.713Z sunrise 2022-03-25T11:49:51.264Z Moon culminates 33.82 degrees above the horizon -2022-03-25T16:57:58.114Z moonset +2022-03-25T16:57:57.852Z moonset 2022-03-25T17:30:41.576Z Sun culminates 63.41 degrees above the horizon -2022-03-25T23:38:59.869Z sunset -2022-03-26T07:41:44.129Z moonrise -2022-03-26T11:21:40.073Z sunrise +2022-03-25T23:38:59.870Z sunset +2022-03-26T07:41:44.363Z moonrise +2022-03-26T11:21:40.158Z sunrise 2022-03-26T12:51:15.515Z Moon culminates 34.77 degrees above the horizon 2022-03-26T17:30:23.497Z Sun culminates 63.80 degrees above the horizon -2022-03-26T18:02:55.559Z moonset -2022-03-26T23:39:33.299Z sunset +2022-03-26T18:02:55.290Z moonset +2022-03-26T23:39:33.301Z sunset 2022-03-27T03:47:55.558Z Venus moves from Aquarius to Capricornus -2022-03-27T08:34:37.570Z moonrise -2022-03-27T11:20:30.587Z sunrise +2022-03-27T08:34:37.752Z moonrise +2022-03-27T11:20:30.671Z sunrise 2022-03-27T13:50:14.081Z Moon culminates 37.50 degrees above the horizon 2022-03-27T17:30:05.435Z Sun culminates 64.19 degrees above the horizon -2022-03-27T19:09:45.761Z moonset -2022-03-27T23:40:06.692Z sunset -2022-03-28T09:20:19.433Z moonrise -2022-03-28T11:19:21.196Z sunrise +2022-03-27T19:09:45.538Z moonset +2022-03-27T23:40:06.694Z sunset +2022-03-28T09:20:19.551Z moonrise +2022-03-28T11:19:21.279Z sunrise 2022-03-28T14:45:29.441Z Moon culminates 41.69 degrees above the horizon 2022-03-28T17:29:47.408Z Sun culminates 64.59 degrees above the horizon -2022-03-28T20:15:50.045Z moonset -2022-03-28T23:40:40.056Z sunset -2022-03-29T09:59:56.803Z moonrise -2022-03-29T11:18:11.924Z sunrise +2022-03-28T20:15:49.912Z moonset +2022-03-28T23:40:40.058Z sunset +2022-03-29T09:59:56.862Z moonrise +2022-03-29T11:18:12.006Z sunrise 2022-03-29T15:36:48.750Z Moon culminates 46.93 degrees above the horizon 2022-03-29T17:29:29.434Z Sun culminates 64.97 degrees above the horizon -2022-03-29T21:19:39.627Z moonset -2022-03-29T23:41:13.401Z sunset -2022-03-30T10:35:04.765Z moonrise -2022-03-30T11:17:02.799Z sunrise +2022-03-29T21:19:39.580Z moonset +2022-03-29T23:41:13.404Z sunset +2022-03-30T10:35:04.788Z moonrise +2022-03-30T11:17:02.880Z sunrise 2022-03-30T16:24:46.342Z Moon culminates 52.84 degrees above the horizon 2022-03-30T17:29:11.530Z Sun culminates 65.36 degrees above the horizon 2022-03-30T20:06:25.960Z Mercury moves from Pisces to Cetus -2022-03-30T22:20:56.395Z moonset -2022-03-30T23:41:46.736Z sunset -2022-03-31T11:07:18.979Z moonrise -2022-03-31T11:15:53.844Z sunrise +2022-03-30T22:20:56.389Z moonset +2022-03-30T23:41:46.739Z sunset +2022-03-31T11:07:18.990Z moonrise +2022-03-31T11:15:53.923Z sunrise 2022-03-31T17:10:19.967Z Moon culminates 59.05 degrees above the horizon 2022-03-31T17:28:53.712Z Sun culminates 65.75 degrees above the horizon -2022-03-31T23:20:06.949Z moonset -2022-03-31T23:42:20.067Z sunset +2022-03-31T23:20:06.951Z moonset +2022-03-31T23:42:20.071Z sunset 2022-04-01T06:25:02.406Z new moon 2022-04-01T09:25:37.647Z Mercury moves from Cetus to Pisces -2022-04-01T11:14:45.083Z sunrise -2022-04-01T11:38:06.171Z moonrise +2022-04-01T11:14:45.162Z sunrise +2022-04-01T11:38:06.179Z moonrise 2022-04-01T17:28:35.996Z Sun culminates 66.14 degrees above the horizon 2022-04-01T17:54:33.900Z Moon culminates 65.22 degrees above the horizon -2022-04-01T23:42:53.402Z sunset -2022-04-02T00:17:56.200Z moonset -2022-04-02T11:13:36.542Z sunrise -2022-04-02T12:08:44.109Z moonrise +2022-04-01T23:42:53.407Z sunset +2022-04-02T00:17:56.206Z moonset +2022-04-02T11:13:36.619Z sunrise +2022-04-02T12:08:44.110Z moonrise 2022-04-02T17:28:18.397Z Sun culminates 66.52 degrees above the horizon 2022-04-02T18:38:29.664Z Moon culminates 71.09 degrees above the horizon 2022-04-02T22:57:52.977Z Mercury superior conjunction -2022-04-02T23:43:26.748Z sunset -2022-04-03T01:15:08.510Z moonset -2022-04-03T11:12:28.243Z sunrise -2022-04-03T12:40:24.437Z moonrise +2022-04-02T23:43:26.754Z sunset +2022-04-03T01:15:08.542Z moonset +2022-04-03T11:12:28.318Z sunrise +2022-04-03T12:40:24.414Z moonrise 2022-04-03T17:28:00.930Z Sun culminates 66.90 degrees above the horizon 2022-04-03T18:33:45.535Z Venus moves from Capricornus to Aquarius 2022-04-03T19:23:00.754Z Moon culminates 76.41 degrees above the horizon -2022-04-03T23:44:00.111Z sunset -2022-04-04T02:12:14.519Z moonset -2022-04-04T11:11:20.211Z sunrise -2022-04-04T13:14:14.695Z moonrise +2022-04-03T23:44:00.117Z sunset +2022-04-04T02:12:14.607Z moonset +2022-04-04T11:11:20.285Z sunrise +2022-04-04T13:14:14.633Z moonrise 2022-04-04T17:27:43.611Z Sun culminates 67.29 degrees above the horizon 2022-04-04T20:08:48.155Z Moon culminates 80.95 degrees above the horizon -2022-04-04T23:44:33.496Z sunset -2022-04-05T03:09:20.942Z moonset -2022-04-05T11:10:12.471Z sunrise -2022-04-05T13:51:17.215Z moonrise +2022-04-04T23:44:33.503Z sunset +2022-04-05T03:09:21.096Z moonset +2022-04-05T11:10:12.543Z sunrise +2022-04-05T13:51:17.107Z moonrise 2022-04-05T17:27:26.454Z Sun culminates 67.67 degrees above the horizon 2022-04-05T20:56:15.101Z Moon culminates 84.53 degrees above the horizon -2022-04-05T23:45:06.910Z sunset -2022-04-06T04:06:03.600Z moonset -2022-04-06T11:09:05.047Z sunrise -2022-04-06T14:32:23.133Z moonrise +2022-04-05T23:45:06.918Z sunset +2022-04-06T04:06:03.801Z moonset +2022-04-06T11:09:05.117Z sunrise +2022-04-06T14:32:22.985Z moonrise 2022-04-06T17:27:09.476Z Sun culminates 68.04 degrees above the horizon 2022-04-06T21:45:21.798Z Moon culminates 86.97 degrees above the horizon -2022-04-06T23:45:40.359Z sunset -2022-04-07T05:01:27.786Z moonset -2022-04-07T11:07:57.964Z sunrise -2022-04-07T15:18:01.432Z moonrise +2022-04-06T23:45:40.368Z sunset +2022-04-07T05:01:28.004Z moonset +2022-04-07T11:07:58.032Z sunrise +2022-04-07T15:18:01.254Z moonrise 2022-04-07T17:26:52.692Z Sun culminates 68.42 degrees above the horizon 2022-04-07T19:09:58.882Z lunar apogee at 404425 km 2022-04-07T22:35:43.277Z Moon culminates 88.15 degrees above the horizon -2022-04-07T23:46:13.849Z sunset -2022-04-08T05:54:20.850Z moonset -2022-04-08T11:06:51.248Z sunrise -2022-04-08T16:08:07.226Z moonrise +2022-04-07T23:46:13.860Z sunset +2022-04-08T05:54:21.062Z moonset +2022-04-08T11:06:51.314Z sunrise +2022-04-08T16:08:07.027Z moonrise 2022-04-08T17:26:36.118Z Sun culminates 68.79 degrees above the horizon 2022-04-08T23:26:34.482Z Moon culminates 88.00 degrees above the horizon -2022-04-08T23:46:47.388Z sunset -2022-04-09T06:43:35.647Z moonset +2022-04-08T23:46:47.401Z sunset +2022-04-09T06:43:35.840Z moonset 2022-04-09T06:48:20.906Z first quarter -2022-04-09T11:05:44.926Z sunrise -2022-04-09T17:01:58.412Z moonrise +2022-04-09T11:05:44.989Z sunrise +2022-04-09T17:01:58.207Z moonrise 2022-04-09T17:26:19.772Z Sun culminates 69.16 degrees above the horizon -2022-04-09T23:47:20.983Z sunset +2022-04-09T23:47:20.998Z sunset 2022-04-10T00:17:03.618Z Moon culminates 86.51 degrees above the horizon -2022-04-10T07:28:33.641Z moonset -2022-04-10T11:04:39.023Z sunrise +2022-04-10T07:28:33.804Z moonset +2022-04-10T11:04:39.084Z sunrise 2022-04-10T15:30:29.725Z Mercury moves from Pisces to Aries 2022-04-10T17:26:03.670Z Sun culminates 69.53 degrees above the horizon -2022-04-10T17:58:27.974Z moonrise -2022-04-10T23:47:54.642Z sunset +2022-04-10T17:58:27.790Z moonrise +2022-04-10T23:47:54.659Z sunset 2022-04-11T01:06:28.901Z Moon culminates 83.75 degrees above the horizon -2022-04-11T08:09:14.961Z moonset -2022-04-11T11:03:33.567Z sunrise +2022-04-11T08:09:15.082Z moonset +2022-04-11T11:03:33.626Z sunrise 2022-04-11T13:50:10.524Z Mars moves from Capricornus to Aquarius 2022-04-11T17:25:47.832Z Sun culminates 69.90 degrees above the horizon -2022-04-11T18:56:28.037Z moonrise -2022-04-11T23:48:28.374Z sunset +2022-04-11T18:56:27.906Z moonrise +2022-04-11T23:48:28.392Z sunset 2022-04-12T01:54:30.957Z Moon culminates 79.82 degrees above the horizon -2022-04-12T08:46:13.384Z moonset -2022-04-12T11:02:28.587Z sunrise +2022-04-12T08:46:13.456Z moonset +2022-04-12T11:02:28.643Z sunrise 2022-04-12T17:25:32.274Z Sun culminates 70.27 degrees above the horizon -2022-04-12T19:55:12.314Z moonrise -2022-04-12T23:49:02.187Z sunset +2022-04-12T19:55:12.250Z moonrise +2022-04-12T23:49:02.208Z sunset 2022-04-13T02:41:16.832Z Moon culminates 74.90 degrees above the horizon -2022-04-13T09:20:24.488Z moonset -2022-04-13T11:01:24.110Z sunrise +2022-04-13T09:20:24.522Z moonset +2022-04-13T11:01:24.163Z sunrise 2022-04-13T17:25:17.017Z Sun culminates 70.63 degrees above the horizon -2022-04-13T20:54:26.863Z moonrise +2022-04-13T20:54:26.847Z moonrise 2022-04-13T22:26:12.863Z Mercury perihelion at 0.3075 AU -2022-04-13T23:49:36.092Z sunset +2022-04-13T23:49:36.114Z sunset 2022-04-14T03:27:17.321Z Moon culminates 69.17 degrees above the horizon 2022-04-14T07:29:43.026Z Jupiter moves from Aquarius to Pisces -2022-04-14T09:52:55.659Z moonset -2022-04-14T11:00:20.165Z sunrise +2022-04-14T09:52:55.673Z moonset +2022-04-14T11:00:20.215Z sunrise 2022-04-14T17:25:02.079Z Sun culminates 70.99 degrees above the horizon -2022-04-14T21:54:28.821Z moonrise -2022-04-14T23:50:10.096Z sunset +2022-04-14T21:54:28.822Z moonrise +2022-04-14T23:50:10.121Z sunset 2022-04-15T04:13:21.633Z Moon culminates 62.87 degrees above the horizon -2022-04-15T10:25:00.980Z moonset -2022-04-15T10:59:16.780Z sunrise +2022-04-15T10:25:01.401Z moonset +2022-04-15T10:59:16.827Z sunrise 2022-04-15T17:24:47.479Z Sun culminates 71.35 degrees above the horizon -2022-04-15T22:55:57.582Z moonrise -2022-04-15T23:50:44.211Z sunset +2022-04-15T22:55:57.584Z moonrise +2022-04-15T23:50:44.238Z sunset 2022-04-16T05:00:31.786Z Moon culminates 56.30 degrees above the horizon -2022-04-16T10:58:03.272Z moonset -2022-04-16T10:58:13.985Z sunrise +2022-04-16T10:58:03.275Z moonset +2022-04-16T10:58:14.029Z sunrise 2022-04-16T17:24:33.236Z Sun culminates 71.70 degrees above the horizon 2022-04-16T18:55:35.901Z full moon -2022-04-16T23:51:18.445Z sunset -2022-04-16T23:59:40.709Z moonrise +2022-04-16T23:51:18.474Z sunset +2022-04-16T23:59:40.733Z moonrise 2022-04-17T05:49:56.172Z Moon culminates 49.82 degrees above the horizon -2022-04-17T10:57:11.808Z sunrise -2022-04-17T11:33:32.158Z moonset +2022-04-17T10:57:11.848Z sunrise +2022-04-17T11:33:32.139Z moonset 2022-04-17T17:24:19.369Z Sun culminates 72.05 degrees above the horizon -2022-04-17T23:51:52.807Z sunset -2022-04-18T01:06:12.558Z moonrise +2022-04-17T23:51:52.839Z sunset +2022-04-18T01:06:12.653Z moonrise 2022-04-18T06:42:38.987Z Moon culminates 43.85 degrees above the horizon -2022-04-18T10:56:10.276Z sunrise -2022-04-18T12:13:08.549Z moonset +2022-04-18T10:56:10.313Z sunrise +2022-04-18T12:13:08.478Z moonset 2022-04-18T17:24:05.897Z Sun culminates 72.40 degrees above the horizon -2022-04-18T23:52:27.306Z sunset -2022-04-19T02:15:22.609Z moonrise +2022-04-18T23:52:27.340Z sunset +2022-04-19T02:15:22.808Z moonrise 2022-04-19T07:39:20.951Z Moon culminates 38.88 degrees above the horizon -2022-04-19T10:55:09.420Z sunrise -2022-04-19T12:58:33.822Z moonset +2022-04-19T10:55:09.453Z sunrise +2022-04-19T12:58:33.680Z moonset 2022-04-19T15:12:45.019Z lunar perigee at 365135 km 2022-04-19T17:23:52.837Z Sun culminates 72.75 degrees above the horizon -2022-04-19T23:53:01.947Z sunset -2022-04-20T03:25:40.425Z moonrise +2022-04-19T23:53:01.984Z sunset +2022-04-20T03:25:40.694Z moonrise 2022-04-20T08:39:51.080Z Moon culminates 35.39 degrees above the horizon -2022-04-20T10:54:09.265Z sunrise -2022-04-20T13:51:02.402Z moonset +2022-04-20T10:54:09.295Z sunrise +2022-04-20T13:51:02.195Z moonset 2022-04-20T17:23:40.205Z Sun culminates 73.09 degrees above the horizon -2022-04-20T23:53:36.735Z sunset -2022-04-21T04:34:08.274Z moonrise +2022-04-20T23:53:36.776Z sunset +2022-04-21T04:34:08.552Z moonrise 2022-04-21T09:42:44.255Z Moon culminates 33.76 degrees above the horizon -2022-04-21T10:53:09.840Z sunrise -2022-04-21T14:50:34.287Z moonset +2022-04-21T10:53:09.866Z sunrise +2022-04-21T14:50:34.033Z moonset 2022-04-21T17:23:28.018Z Sun culminates 73.43 degrees above the horizon -2022-04-21T23:54:11.675Z sunset -2022-04-22T05:37:18.789Z moonrise +2022-04-21T23:54:11.719Z sunset +2022-04-22T05:37:19.037Z moonrise 2022-04-22T10:45:34.276Z Moon culminates 34.13 degrees above the horizon -2022-04-22T10:52:11.172Z sunrise -2022-04-22T15:55:20.958Z moonset +2022-04-22T10:52:11.194Z sunrise +2022-04-22T15:55:20.683Z moonset 2022-04-22T17:23:16.289Z Sun culminates 73.77 degrees above the horizon -2022-04-22T23:54:46.768Z sunset -2022-04-23T06:32:52.537Z moonrise -2022-04-23T10:51:13.288Z sunrise +2022-04-22T23:54:46.815Z sunset +2022-04-23T06:32:52.737Z moonrise +2022-04-23T10:51:13.305Z sunrise 2022-04-23T11:45:51.390Z Moon culminates 36.38 degrees above the horizon 2022-04-23T11:56:56.726Z third quarter -2022-04-23T17:02:16.831Z moonset +2022-04-23T17:02:16.585Z moonset 2022-04-23T17:23:05.033Z Sun culminates 74.10 degrees above the horizon -2022-04-23T23:55:22.013Z sunset -2022-04-24T07:20:27.823Z moonrise -2022-04-24T10:50:16.212Z sunrise +2022-04-23T23:55:22.064Z sunset +2022-04-24T07:20:27.963Z moonrise +2022-04-24T10:50:16.225Z sunrise 2022-04-24T12:42:02.688Z Moon culminates 40.17 degrees above the horizon 2022-04-24T17:22:54.261Z Sun culminates 74.43 degrees above the horizon -2022-04-24T18:08:26.446Z moonset -2022-04-24T23:55:57.410Z sunset -2022-04-25T08:01:12.429Z moonrise -2022-04-25T10:49:19.971Z sunrise +2022-04-24T18:08:26.281Z moonset +2022-04-24T23:55:57.464Z sunset +2022-04-25T08:01:12.506Z moonrise +2022-04-25T10:49:19.980Z sunrise 2022-04-25T13:33:50.052Z Moon culminates 45.09 degrees above the horizon 2022-04-25T17:22:43.985Z Sun culminates 74.75 degrees above the horizon -2022-04-25T19:12:09.384Z moonset +2022-04-25T19:12:09.313Z moonset 2022-04-25T21:40:02.465Z Mercury moves from Aries to Taurus -2022-04-25T23:56:32.955Z sunset -2022-04-26T08:36:49.859Z moonrise -2022-04-26T10:48:24.588Z sunrise +2022-04-25T23:56:33.013Z sunset +2022-04-26T08:36:49.892Z moonrise +2022-04-26T10:48:24.592Z sunrise 2022-04-26T14:21:50.025Z Moon culminates 50.75 degrees above the horizon 2022-04-26T17:22:34.213Z Sun culminates 75.08 degrees above the horizon -2022-04-26T20:13:04.602Z moonset -2022-04-26T23:57:08.643Z sunset -2022-04-27T09:09:04.401Z moonrise -2022-04-27T10:47:30.086Z sunrise +2022-04-26T20:13:04.588Z moonset +2022-04-26T23:57:08.705Z sunset +2022-04-27T09:09:04.416Z moonrise +2022-04-27T10:47:30.085Z sunrise 2022-04-27T15:07:05.549Z Moon culminates 56.80 degrees above the horizon 2022-04-27T17:22:24.956Z Sun culminates 75.39 degrees above the horizon -2022-04-27T21:11:41.738Z moonset +2022-04-27T21:11:41.740Z moonset 2022-04-27T22:52:59.415Z Venus moves from Aquarius to Pisces -2022-04-27T23:57:44.468Z sunset -2022-04-28T09:39:28.981Z moonrise -2022-04-28T10:46:36.486Z sunrise +2022-04-27T23:57:44.534Z sunset +2022-04-28T09:39:28.991Z moonrise +2022-04-28T10:46:36.480Z sunrise 2022-04-28T15:50:46.453Z Moon culminates 62.94 degrees above the horizon 2022-04-28T17:22:16.218Z Sun culminates 75.71 degrees above the horizon -2022-04-28T22:08:51.732Z moonset -2022-04-28T23:58:20.423Z sunset +2022-04-28T22:08:51.736Z moonset +2022-04-28T23:58:20.492Z sunset 2022-04-29T08:06:53.922Z Mercury max evening elongation: 20.61 degrees from Sun -2022-04-29T10:09:25.095Z moonrise -2022-04-29T10:45:43.809Z sunrise +2022-04-29T10:09:25.101Z moonrise +2022-04-29T10:45:43.799Z sunrise 2022-04-29T16:33:59.481Z Moon culminates 68.89 degrees above the horizon 2022-04-29T17:22:08.007Z Sun culminates 76.02 degrees above the horizon -2022-04-29T23:05:26.645Z moonset -2022-04-29T23:58:56.496Z sunset -2022-04-30T10:40:06.473Z moonrise -2022-04-30T10:44:52.076Z sunrise +2022-04-29T23:05:26.664Z moonset +2022-04-29T23:58:56.570Z sunset +2022-04-30T10:40:06.462Z moonrise +2022-04-30T10:44:52.061Z sunrise 2022-04-30T17:17:43.273Z Moon culminates 74.42 degrees above the horizon 2022-04-30T17:22:00.327Z Sun culminates 76.33 degrees above the horizon 2022-04-30T20:28:46.177Z new moon -2022-04-30T23:59:32.678Z sunset -2022-05-01T00:02:06.075Z moonset -2022-05-01T10:44:01.306Z sunrise -2022-05-01T11:12:42.143Z moonrise +2022-04-30T23:59:32.756Z sunset +2022-05-01T00:02:06.139Z moonset +2022-05-01T10:44:01.285Z sunrise +2022-05-01T11:12:42.097Z moonrise 2022-05-01T17:21:53.181Z Sun culminates 76.63 degrees above the horizon 2022-05-01T18:02:44.216Z Moon culminates 79.30 degrees above the horizon -2022-05-02T00:00:08.957Z sunset -2022-05-02T00:59:06.181Z moonset -2022-05-02T10:43:11.517Z sunrise +2022-05-02T00:00:09.039Z sunset +2022-05-02T00:59:06.310Z moonset +2022-05-02T10:43:11.491Z sunrise 2022-05-02T11:18:17.011Z Neptune moves from Aquarius to Pisces -2022-05-02T11:48:16.476Z moonrise +2022-05-02T11:48:16.386Z moonrise 2022-05-02T17:21:46.573Z Sun culminates 76.93 degrees above the horizon 2022-05-02T18:49:31.061Z Moon culminates 83.30 degrees above the horizon -2022-05-03T00:00:45.319Z sunset -2022-05-03T01:56:10.598Z moonset -2022-05-03T10:42:22.728Z sunrise -2022-05-03T12:27:44.317Z moonrise +2022-05-03T00:00:45.405Z sunset +2022-05-03T01:56:10.785Z moonset +2022-05-03T10:42:22.697Z sunrise +2022-05-03T12:27:44.183Z moonrise 2022-05-03T17:21:40.504Z Sun culminates 77.22 degrees above the horizon 2022-05-03T19:38:08.690Z Moon culminates 86.23 degrees above the horizon -2022-05-04T00:01:21.749Z sunset -2022-05-04T02:52:27.318Z moonset -2022-05-04T10:41:34.957Z sunrise -2022-05-04T13:11:40.514Z moonrise +2022-05-04T00:01:21.840Z sunset +2022-05-04T02:52:27.534Z moonset +2022-05-04T10:41:34.921Z sunrise +2022-05-04T13:11:40.346Z moonrise 2022-05-04T17:21:34.977Z Sun culminates 77.51 degrees above the horizon 2022-05-04T20:28:14.277Z Moon culminates 87.93 degrees above the horizon -2022-05-05T00:01:58.234Z sunset -2022-05-05T03:46:38.196Z moonset +2022-05-05T00:01:58.329Z sunset +2022-05-05T03:46:38.414Z moonset 2022-05-05T07:24:39.820Z Uranus conjunction -2022-05-05T10:40:48.223Z sunrise +2022-05-05T10:40:48.182Z sunrise 2022-05-05T12:45:40.028Z lunar apogee at 405273 km -2022-05-05T14:00:07.068Z moonrise +2022-05-05T14:00:06.875Z moonrise 2022-05-05T17:21:29.993Z Sun culminates 77.80 degrees above the horizon 2022-05-05T21:19:00.807Z Moon culminates 88.31 degrees above the horizon -2022-05-06T00:02:34.758Z sunset -2022-05-06T04:37:22.839Z moonset -2022-05-06T10:40:02.544Z sunrise -2022-05-06T14:52:26.793Z moonrise +2022-05-06T00:02:34.858Z sunset +2022-05-06T04:37:23.043Z moonset +2022-05-06T10:40:02.498Z sunrise +2022-05-06T14:52:26.587Z moonrise 2022-05-06T17:21:25.555Z Sun culminates 78.08 degrees above the horizon 2022-05-06T22:09:30.410Z Moon culminates 87.35 degrees above the horizon -2022-05-07T00:03:11.307Z sunset -2022-05-07T05:23:46.572Z moonset -2022-05-07T10:39:17.939Z sunrise -2022-05-07T15:47:32.856Z moonrise +2022-05-07T00:03:11.411Z sunset +2022-05-07T05:23:46.751Z moonset +2022-05-07T10:39:17.887Z sunrise +2022-05-07T15:47:32.659Z moonrise 2022-05-07T17:21:21.663Z Sun culminates 78.35 degrees above the horizon 2022-05-07T22:58:53.102Z Moon culminates 85.11 degrees above the horizon -2022-05-08T00:03:47.864Z sunset -2022-05-08T06:05:36.391Z moonset -2022-05-08T10:38:34.425Z sunrise +2022-05-08T00:03:47.972Z sunset +2022-05-08T06:05:36.533Z moonset +2022-05-08T10:38:34.369Z sunrise 2022-05-08T14:46:07.497Z Venus moves from Pisces to Cetus -2022-05-08T16:44:12.927Z moonrise +2022-05-08T16:44:12.770Z moonrise 2022-05-08T17:21:18.319Z Sun culminates 78.62 degrees above the horizon 2022-05-08T23:46:41.965Z Moon culminates 81.69 degrees above the horizon -2022-05-09T00:04:24.414Z sunset +2022-05-09T00:04:24.527Z sunset 2022-05-09T00:22:05.740Z first quarter -2022-05-09T06:43:18.665Z moonset -2022-05-09T10:37:52.023Z sunrise +2022-05-09T06:43:18.759Z moonset +2022-05-09T10:37:51.962Z sunrise 2022-05-09T17:21:15.525Z Sun culminates 78.89 degrees above the horizon -2022-05-09T17:41:34.473Z moonrise -2022-05-10T00:05:00.942Z sunset +2022-05-09T17:41:34.380Z moonrise +2022-05-10T00:05:01.060Z sunset 2022-05-10T00:32:58.874Z Moon culminates 77.25 degrees above the horizon -2022-05-10T07:17:46.290Z moonset -2022-05-10T10:37:10.751Z sunrise +2022-05-10T07:17:46.340Z moonset +2022-05-10T10:37:10.685Z sunrise 2022-05-10T17:21:13.284Z Sun culminates 79.15 degrees above the horizon -2022-05-10T18:39:18.583Z moonrise -2022-05-11T00:05:37.434Z sunset +2022-05-10T18:39:18.549Z moonrise +2022-05-11T00:05:37.556Z sunset 2022-05-11T01:18:12.029Z Moon culminates 71.96 degrees above the horizon -2022-05-11T07:50:06.226Z moonset -2022-05-11T10:36:30.629Z sunrise +2022-05-11T07:50:06.248Z moonset +2022-05-11T10:36:30.557Z sunrise 2022-05-11T17:21:11.597Z Sun culminates 79.41 degrees above the horizon -2022-05-11T19:37:40.633Z moonrise -2022-05-12T00:06:13.875Z sunset +2022-05-11T19:37:40.630Z moonrise +2022-05-12T00:06:14.001Z sunset 2022-05-12T02:03:10.214Z Moon culminates 66.00 degrees above the horizon -2022-05-12T08:21:32.827Z moonset +2022-05-12T08:21:32.838Z moonset 2022-05-12T09:40:12.123Z Venus moves from Cetus to Pisces -2022-05-12T10:35:51.675Z sunrise +2022-05-12T10:35:51.598Z sunrise 2022-05-12T17:21:10.468Z Sun culminates 79.66 degrees above the horizon -2022-05-12T20:37:22.362Z moonrise -2022-05-13T00:06:50.249Z sunset +2022-05-12T20:37:23.056Z moonrise +2022-05-13T00:06:50.380Z sunset 2022-05-13T02:48:57.384Z Moon culminates 59.60 degrees above the horizon -2022-05-13T08:53:27.084Z moonset -2022-05-13T10:35:13.910Z sunrise +2022-05-13T08:53:27.091Z moonset +2022-05-13T10:35:13.828Z sunrise 2022-05-13T17:21:09.898Z Sun culminates 79.91 degrees above the horizon -2022-05-13T21:39:24.002Z moonrise -2022-05-14T00:07:26.543Z sunset +2022-05-13T21:39:24.010Z moonrise +2022-05-14T00:07:26.678Z sunset 2022-05-14T03:36:47.908Z Moon culminates 53.04 degrees above the horizon -2022-05-14T09:27:19.650Z moonset -2022-05-14T10:34:37.351Z sunrise +2022-05-14T09:27:19.645Z moonset +2022-05-14T10:34:37.265Z sunrise 2022-05-14T17:21:09.889Z Sun culminates 80.15 degrees above the horizon -2022-05-14T22:44:40.236Z moonrise -2022-05-15T00:08:02.741Z sunset +2022-05-14T22:44:40.288Z moonrise +2022-05-15T00:08:02.881Z sunset 2022-05-15T04:27:59.342Z Moon culminates 46.71 degrees above the horizon -2022-05-15T10:04:54.287Z moonset -2022-05-15T10:34:02.019Z sunrise +2022-05-15T10:04:54.245Z moonset +2022-05-15T10:34:01.927Z sunrise 2022-05-15T10:47:39.897Z Venus aphelion at 0.7282 AU 2022-05-15T17:21:10.443Z Sun culminates 80.38 degrees above the horizon -2022-05-15T23:53:37.977Z moonrise -2022-05-16T00:08:38.829Z sunset +2022-05-15T23:53:38.126Z moonrise +2022-05-16T00:08:38.973Z sunset 2022-05-16T04:11:25.341Z total lunar eclipse 2022-05-16T04:14:37.224Z full moon 2022-05-16T05:23:36.667Z Moon culminates 41.09 degrees above the horizon -2022-05-16T10:33:27.929Z sunrise -2022-05-16T10:48:05.298Z moonset +2022-05-16T10:33:27.833Z sunrise +2022-05-16T10:48:05.190Z moonset 2022-05-16T17:21:11.561Z Sun culminates 80.62 degrees above the horizon -2022-05-17T00:09:14.791Z sunset -2022-05-17T01:05:28.922Z moonrise +2022-05-17T00:09:14.938Z sunset +2022-05-17T01:05:29.169Z moonrise 2022-05-17T06:24:02.056Z Moon culminates 36.74 degrees above the horizon -2022-05-17T10:32:55.100Z sunrise -2022-05-17T11:38:36.864Z moonset +2022-05-17T10:32:54.999Z sunrise +2022-05-17T11:38:36.683Z moonset 2022-05-17T15:26:56.579Z lunar perigee at 360291 km 2022-05-17T17:21:13.243Z Sun culminates 80.84 degrees above the horizon -2022-05-18T00:09:50.608Z sunset -2022-05-18T02:17:32.832Z moonrise +2022-05-18T00:09:50.760Z sunset +2022-05-18T02:17:33.116Z moonrise 2022-05-18T07:28:16.683Z Moon culminates 34.17 degrees above the horizon -2022-05-18T10:32:23.547Z sunrise -2022-05-18T12:37:12.585Z moonset +2022-05-18T10:32:23.441Z sunrise +2022-05-18T12:37:12.345Z moonset 2022-05-18T17:21:15.488Z Sun culminates 81.06 degrees above the horizon -2022-05-19T00:10:26.264Z sunset -2022-05-19T03:25:43.958Z moonrise +2022-05-19T00:10:26.420Z sunset +2022-05-19T03:25:44.223Z moonrise 2022-05-19T08:33:48.943Z Moon culminates 33.71 degrees above the horizon -2022-05-19T10:31:53.287Z sunrise +2022-05-19T10:31:53.176Z sunrise 2022-05-19T10:38:05.900Z Mars moves from Aquarius to Pisces -2022-05-19T13:42:34.412Z moonset +2022-05-19T13:42:34.137Z moonset 2022-05-19T17:21:18.294Z Sun culminates 81.27 degrees above the horizon -2022-05-20T00:11:01.737Z sunset -2022-05-20T04:26:24.945Z moonrise +2022-05-20T00:11:01.897Z sunset +2022-05-20T04:26:25.164Z moonrise 2022-05-20T09:37:26.766Z Moon culminates 35.35 degrees above the horizon -2022-05-20T10:31:24.334Z sunrise -2022-05-20T14:51:22.338Z moonset +2022-05-20T10:31:24.219Z sunrise +2022-05-20T14:51:22.072Z moonset 2022-05-20T17:21:21.658Z Sun culminates 81.48 degrees above the horizon -2022-05-21T00:11:37.006Z sunset -2022-05-21T05:18:11.687Z moonrise -2022-05-21T10:30:56.701Z sunrise +2022-05-21T00:11:37.170Z sunset +2022-05-21T05:18:11.847Z moonrise +2022-05-21T10:30:56.582Z sunrise 2022-05-21T10:36:45.767Z Moon culminates 38.75 degrees above the horizon -2022-05-21T15:59:50.504Z moonset +2022-05-21T15:59:50.307Z moonset 2022-05-21T17:21:25.574Z Sun culminates 81.69 degrees above the horizon 2022-05-21T19:10:41.002Z Mercury inferior conjunction -2022-05-22T00:12:12.048Z sunset -2022-05-22T06:01:51.422Z moonrise -2022-05-22T10:30:30.403Z sunrise +2022-05-22T00:12:12.216Z sunset +2022-05-22T06:01:51.517Z moonrise +2022-05-22T10:30:30.279Z sunrise 2022-05-22T11:30:55.764Z Moon culminates 43.44 degrees above the horizon -2022-05-22T17:05:31.389Z moonset +2022-05-22T17:05:31.291Z moonset 2022-05-22T17:21:30.038Z Sun culminates 81.88 degrees above the horizon 2022-05-22T18:43:40.825Z third quarter -2022-05-23T00:12:46.837Z sunset -2022-05-23T06:39:14.888Z moonrise -2022-05-23T10:30:05.449Z sunrise +2022-05-23T00:12:47.009Z sunset +2022-05-23T06:39:14.932Z moonrise +2022-05-23T10:30:05.321Z sunrise 2022-05-23T12:20:24.750Z Moon culminates 48.97 degrees above the horizon 2022-05-23T17:21:35.040Z Sun culminates 82.07 degrees above the horizon -2022-05-23T18:07:41.227Z moonset -2022-05-24T00:13:21.349Z sunset -2022-05-24T07:12:21.413Z moonrise -2022-05-24T10:29:41.848Z sunrise +2022-05-23T18:07:41.200Z moonset +2022-05-24T00:13:21.524Z sunset +2022-05-24T07:12:21.431Z moonrise +2022-05-24T10:29:41.717Z sunrise 2022-05-24T13:06:20.553Z Moon culminates 54.94 degrees above the horizon 2022-05-24T17:21:40.573Z Sun culminates 82.26 degrees above the horizon 2022-05-24T19:06:47.191Z moonset -2022-05-25T00:13:55.556Z sunset -2022-05-25T07:42:57.040Z moonrise -2022-05-25T10:29:19.608Z sunrise +2022-05-25T00:13:55.735Z sunset +2022-05-25T07:42:57.051Z moonrise +2022-05-25T10:29:19.473Z sunrise 2022-05-25T13:50:02.275Z Moon culminates 61.04 degrees above the horizon 2022-05-25T17:21:46.625Z Sun culminates 82.44 degrees above the horizon -2022-05-25T20:03:47.941Z moonset -2022-05-26T00:14:29.428Z sunset -2022-05-26T08:12:32.299Z moonrise -2022-05-26T10:28:58.734Z sunrise +2022-05-25T20:03:47.944Z moonset +2022-05-26T00:14:29.611Z sunset +2022-05-26T08:12:32.308Z moonrise +2022-05-26T10:28:58.594Z sunrise 2022-05-26T14:32:46.240Z Moon culminates 67.02 degrees above the horizon 2022-05-26T17:21:53.183Z Sun culminates 82.61 degrees above the horizon -2022-05-26T20:59:47.401Z moonset -2022-05-27T00:15:02.936Z sunset -2022-05-27T08:42:26.611Z moonrise -2022-05-27T10:28:39.227Z sunrise +2022-05-26T20:59:47.412Z moonset +2022-05-27T00:15:03.122Z sunset +2022-05-27T08:42:26.608Z moonrise +2022-05-27T10:28:39.085Z sunrise 2022-05-27T15:15:40.268Z Moon culminates 72.64 degrees above the horizon 2022-05-27T17:22:00.233Z Sun culminates 82.78 degrees above the horizon -2022-05-27T21:55:39.273Z moonset +2022-05-27T21:55:39.319Z moonset 2022-05-27T22:03:45.003Z Mercury aphelion at 0.4667 AU -2022-05-28T00:15:36.048Z sunset -2022-05-28T09:13:52.954Z moonrise -2022-05-28T10:28:21.091Z sunrise +2022-05-28T00:15:36.237Z sunset +2022-05-28T09:13:52.922Z moonrise +2022-05-28T10:28:20.945Z sunrise 2022-05-28T15:59:40.240Z Moon culminates 77.71 degrees above the horizon 2022-05-28T17:22:07.758Z Sun culminates 82.94 degrees above the horizon -2022-05-28T22:51:55.771Z moonset -2022-05-29T00:16:08.731Z sunset -2022-05-29T09:47:59.796Z moonrise -2022-05-29T10:28:04.323Z sunrise +2022-05-28T22:51:55.877Z moonset +2022-05-29T00:16:08.923Z sunset +2022-05-29T09:47:59.721Z moonrise +2022-05-29T10:28:04.174Z sunrise 2022-05-29T16:45:25.451Z Moon culminates 82.00 degrees above the horizon 2022-05-29T17:22:15.742Z Sun culminates 83.10 degrees above the horizon -2022-05-29T23:48:37.358Z moonset -2022-05-30T00:16:40.950Z sunset -2022-05-30T10:25:48.155Z moonrise -2022-05-30T10:27:48.923Z sunrise +2022-05-29T23:48:37.527Z moonset +2022-05-30T00:16:41.145Z sunset +2022-05-30T10:25:48.036Z moonrise +2022-05-30T10:27:48.770Z sunrise 2022-05-30T11:31:00.673Z new moon 2022-05-30T17:22:24.166Z Sun culminates 83.24 degrees above the horizon 2022-05-30T17:33:11.924Z Moon culminates 85.31 degrees above the horizon -2022-05-31T00:17:12.671Z sunset -2022-05-31T00:45:05.679Z moonset +2022-05-31T00:17:12.869Z sunset +2022-05-31T00:45:05.888Z moonset 2022-05-31T03:40:35.236Z Venus moves from Pisces to Aries -2022-05-31T10:27:34.885Z sunrise -2022-05-31T11:08:02.278Z moonrise +2022-05-31T10:27:34.730Z sunrise +2022-05-31T11:08:02.120Z moonrise 2022-05-31T17:22:33.010Z Sun culminates 83.39 degrees above the horizon 2022-05-31T18:22:46.098Z Moon culminates 87.46 degrees above the horizon -2022-06-01T00:17:43.859Z sunset -2022-06-01T01:40:06.940Z moonset -2022-06-01T10:27:22.207Z sunrise -2022-06-01T11:54:55.472Z moonrise +2022-06-01T00:17:44.060Z sunset +2022-06-01T01:40:07.159Z moonset +2022-06-01T10:27:22.048Z sunrise +2022-06-01T11:54:55.286Z moonrise 2022-06-01T17:22:42.254Z Sun culminates 83.52 degrees above the horizon 2022-06-01T19:13:24.481Z Moon culminates 88.31 degrees above the horizon -2022-06-02T00:18:14.478Z sunset +2022-06-02T00:18:14.681Z sunset 2022-06-02T01:13:05.151Z lunar apogee at 406180 km -2022-06-02T02:32:11.940Z moonset -2022-06-02T10:27:10.882Z sunrise -2022-06-02T12:45:59.074Z moonrise +2022-06-02T02:32:12.149Z moonset +2022-06-02T10:27:10.720Z sunrise +2022-06-02T12:45:58.871Z moonrise 2022-06-02T17:22:51.877Z Sun culminates 83.65 degrees above the horizon 2022-06-02T20:04:04.374Z Moon culminates 87.81 degrees above the horizon -2022-06-03T00:18:44.492Z sunset +2022-06-03T00:18:44.698Z sunset 2022-06-03T01:06:43.360Z Mars moves from Pisces to Cetus -2022-06-03T03:20:07.267Z moonset -2022-06-03T10:27:00.903Z sunrise -2022-06-03T13:40:06.462Z moonrise +2022-06-03T03:20:07.456Z moonset +2022-06-03T10:27:00.739Z sunrise +2022-06-03T13:40:06.259Z moonrise 2022-06-03T17:23:01.859Z Sun culminates 83.77 degrees above the horizon 2022-06-03T20:53:43.935Z Moon culminates 86.01 degrees above the horizon -2022-06-04T00:19:13.866Z sunset -2022-06-04T04:03:19.874Z moonset -2022-06-04T10:26:52.263Z sunrise -2022-06-04T14:35:55.941Z moonrise +2022-06-04T00:19:14.074Z sunset +2022-06-04T04:03:20.031Z moonset +2022-06-04T10:26:52.097Z sunrise +2022-06-04T14:35:55.767Z moonrise 2022-06-04T17:23:12.177Z Sun culminates 83.89 degrees above the horizon 2022-06-04T21:41:41.952Z Moon culminates 83.03 degrees above the horizon -2022-06-05T00:19:42.566Z sunset -2022-06-05T04:42:01.694Z moonset -2022-06-05T10:26:44.956Z sunrise -2022-06-05T15:32:20.366Z moonrise +2022-06-05T00:19:42.776Z sunset +2022-06-05T04:42:01.807Z moonset +2022-06-05T10:26:44.787Z sunrise +2022-06-05T15:32:20.248Z moonrise 2022-06-05T17:23:22.811Z Sun culminates 84.00 degrees above the horizon 2022-06-05T22:27:47.969Z Moon culminates 79.01 degrees above the horizon -2022-06-06T00:20:10.557Z sunset -2022-06-06T05:16:58.085Z moonset -2022-06-06T10:26:38.972Z sunrise -2022-06-06T16:28:46.793Z moonrise +2022-06-06T00:20:10.769Z sunset +2022-06-06T05:16:58.153Z moonset +2022-06-06T10:26:38.802Z sunrise +2022-06-06T16:28:46.739Z moonrise 2022-06-06T17:23:33.741Z Sun culminates 84.10 degrees above the horizon 2022-06-06T23:12:21.601Z Moon culminates 74.12 degrees above the horizon -2022-06-07T00:20:37.807Z sunset -2022-06-07T05:49:12.827Z moonset -2022-06-07T10:26:34.304Z sunrise +2022-06-07T00:20:38.021Z sunset +2022-06-07T05:49:12.859Z moonset +2022-06-07T10:26:34.131Z sunrise 2022-06-07T14:49:10.327Z first quarter 2022-06-07T17:23:44.946Z Sun culminates 84.20 degrees above the horizon -2022-06-07T17:25:20.572Z moonrise +2022-06-07T17:25:20.560Z moonrise 2022-06-07T23:56:06.328Z Moon culminates 68.56 degrees above the horizon -2022-06-08T00:21:04.285Z sunset -2022-06-08T06:19:58.295Z moonset -2022-06-08T10:26:30.943Z sunrise +2022-06-08T00:21:04.501Z sunset +2022-06-08T06:19:58.309Z moonset +2022-06-08T10:26:30.768Z sunrise 2022-06-08T17:23:56.406Z Sun culminates 84.29 degrees above the horizon -2022-06-08T18:22:39.277Z moonrise -2022-06-09T00:21:29.959Z sunset +2022-06-08T18:22:39.279Z moonrise +2022-06-09T00:21:30.176Z sunset 2022-06-09T00:40:03.163Z Moon culminates 62.49 degrees above the horizon 2022-06-09T04:13:03.537Z Mars moves from Cetus to Pisces -2022-06-09T06:50:32.549Z moonset -2022-06-09T10:26:28.880Z sunrise +2022-06-09T06:50:32.558Z moonset +2022-06-09T10:26:28.703Z sunrise 2022-06-09T17:24:08.103Z Sun culminates 84.37 degrees above the horizon -2022-06-09T19:21:42.960Z moonrise -2022-06-10T00:21:54.800Z sunset +2022-06-09T19:21:42.963Z moonrise +2022-06-10T00:21:55.020Z sunset 2022-06-10T01:25:26.283Z Moon culminates 56.14 degrees above the horizon -2022-06-10T07:22:21.697Z moonset -2022-06-10T10:26:28.105Z sunrise +2022-06-10T07:22:21.701Z moonset +2022-06-10T10:26:27.927Z sunrise 2022-06-10T17:24:20.017Z Sun culminates 84.45 degrees above the horizon -2022-06-10T20:23:41.847Z moonrise -2022-06-11T00:22:18.782Z sunset +2022-06-10T20:23:41.871Z moonrise +2022-06-11T00:22:19.003Z sunset 2022-06-11T02:13:39.064Z Moon culminates 49.79 degrees above the horizon -2022-06-11T07:57:05.023Z moonset -2022-06-11T10:26:28.609Z sunrise +2022-06-11T07:57:05.003Z moonset +2022-06-11T10:26:28.430Z sunrise 2022-06-11T17:24:32.130Z Sun culminates 84.52 degrees above the horizon -2022-06-11T21:29:36.277Z moonrise -2022-06-12T00:22:41.878Z sunset +2022-06-11T21:29:36.372Z moonrise +2022-06-12T00:22:42.100Z sunset 2022-06-12T03:06:05.502Z Moon culminates 43.85 degrees above the horizon -2022-06-12T08:36:38.687Z moonset -2022-06-12T10:26:30.382Z sunrise +2022-06-12T08:36:38.615Z moonset +2022-06-12T10:26:30.201Z sunrise 2022-06-12T17:24:44.424Z Sun culminates 84.58 degrees above the horizon -2022-06-12T22:39:39.977Z moonrise -2022-06-13T00:23:04.062Z sunset +2022-06-12T22:39:40.178Z moonrise +2022-06-13T00:23:04.285Z sunset 2022-06-13T04:03:48.678Z Moon culminates 38.80 degrees above the horizon -2022-06-13T09:23:08.616Z moonset -2022-06-13T10:26:33.412Z sunrise +2022-06-13T09:23:08.472Z moonset +2022-06-13T10:26:33.230Z sunrise 2022-06-13T17:24:56.880Z Sun culminates 84.64 degrees above the horizon -2022-06-13T23:52:27.142Z moonrise -2022-06-14T00:23:25.311Z sunset +2022-06-13T23:52:27.416Z moonrise +2022-06-14T00:23:25.535Z sunset 2022-06-14T05:06:50.329Z Moon culminates 35.24 degrees above the horizon -2022-06-14T10:18:15.358Z moonset -2022-06-14T10:26:37.686Z sunrise +2022-06-14T10:18:15.146Z moonset +2022-06-14T10:26:37.503Z sunrise 2022-06-14T11:52:11.254Z full moon 2022-06-14T17:25:09.481Z Sun culminates 84.69 degrees above the horizon 2022-06-14T23:23:06.981Z lunar perigee at 357426 km -2022-06-15T00:23:45.599Z sunset -2022-06-15T01:04:22.892Z moonrise +2022-06-15T00:23:45.824Z sunset +2022-06-15T01:04:23.171Z moonrise 2022-06-15T06:13:27.868Z Moon culminates 33.69 degrees above the horizon -2022-06-15T10:26:43.191Z sunrise -2022-06-15T11:22:02.019Z moonset +2022-06-15T10:26:43.007Z sunrise +2022-06-15T11:22:01.756Z moonset 2022-06-15T17:25:22.207Z Sun culminates 84.73 degrees above the horizon -2022-06-16T00:24:04.904Z sunset -2022-06-16T02:10:50.061Z moonrise +2022-06-16T00:24:05.129Z sunset +2022-06-16T02:10:50.302Z moonrise 2022-06-16T07:20:21.482Z Moon culminates 34.39 degrees above the horizon -2022-06-16T10:26:49.913Z sunrise -2022-06-16T12:31:54.331Z moonset +2022-06-16T10:26:49.728Z sunrise +2022-06-16T12:31:54.051Z moonset 2022-06-16T14:50:05.946Z Mercury max morning elongation: 23.20 degrees from Sun 2022-06-16T17:25:35.039Z Sun culminates 84.76 degrees above the horizon -2022-06-17T00:24:23.201Z sunset -2022-06-17T03:08:36.282Z moonrise +2022-06-17T00:24:23.427Z sunset +2022-06-17T03:08:36.466Z moonrise 2022-06-17T08:06:46.377Z Venus moves from Aries to Taurus 2022-06-17T08:24:01.439Z Moon culminates 37.16 degrees above the horizon -2022-06-17T10:26:57.838Z sunrise -2022-06-17T13:43:29.780Z moonset +2022-06-17T10:26:57.652Z sunrise +2022-06-17T13:43:29.545Z moonset 2022-06-17T17:25:47.959Z Sun culminates 84.79 degrees above the horizon -2022-06-18T00:24:40.466Z sunset -2022-06-18T03:57:13.300Z moonrise +2022-06-18T00:24:40.692Z sunset +2022-06-18T03:57:13.417Z moonrise 2022-06-18T09:22:24.965Z Moon culminates 41.55 degrees above the horizon -2022-06-18T10:27:06.950Z sunrise -2022-06-18T14:52:58.433Z moonset +2022-06-18T10:27:06.764Z sunrise +2022-06-18T14:52:58.296Z moonset 2022-06-18T17:26:00.945Z Sun culminates 84.81 degrees above the horizon -2022-06-19T00:24:56.675Z sunset -2022-06-19T04:38:10.616Z moonrise +2022-06-19T00:24:56.901Z sunset +2022-06-19T04:38:10.673Z moonrise 2022-06-19T10:15:17.954Z Moon culminates 46.99 degrees above the horizon -2022-06-19T10:27:17.232Z sunrise -2022-06-19T15:58:31.044Z moonset +2022-06-19T10:27:17.046Z sunrise +2022-06-19T15:58:30.998Z moonset 2022-06-19T17:26:13.977Z Sun culminates 84.83 degrees above the horizon -2022-06-20T00:25:11.805Z sunset -2022-06-20T05:13:36.008Z moonrise -2022-06-20T10:27:28.666Z sunrise +2022-06-20T00:25:12.032Z sunset +2022-06-20T05:13:36.030Z moonrise +2022-06-20T10:27:28.479Z sunrise 2022-06-20T11:03:36.375Z Moon culminates 53.00 degrees above the horizon -2022-06-20T17:00:05.575Z moonset +2022-06-20T17:00:05.571Z moonset 2022-06-20T17:26:27.035Z Sun culminates 84.84 degrees above the horizon -2022-06-21T00:25:25.834Z sunset +2022-06-21T00:25:26.060Z sunset 2022-06-21T03:11:25.170Z third quarter -2022-06-21T05:45:30.915Z moonrise +2022-06-21T05:45:30.927Z moonrise 2022-06-21T09:13:42.944Z June solstice -2022-06-21T10:27:41.231Z sunrise +2022-06-21T10:27:41.044Z sunrise 2022-06-21T11:48:43.132Z Moon culminates 59.19 degrees above the horizon 2022-06-21T12:27:14.976Z Mars perihelion at 1.3813 AU 2022-06-21T17:26:40.097Z Sun culminates 84.84 degrees above the horizon -2022-06-21T17:58:36.381Z moonset -2022-06-22T00:25:38.737Z sunset -2022-06-22T06:15:38.846Z moonrise -2022-06-22T10:27:54.904Z sunrise +2022-06-21T17:58:36.383Z moonset +2022-06-22T00:25:38.964Z sunset +2022-06-22T06:15:38.855Z moonrise +2022-06-22T10:27:54.718Z sunrise 2022-06-22T12:32:03.393Z Moon culminates 65.28 degrees above the horizon 2022-06-22T17:26:53.139Z Sun culminates 84.83 degrees above the horizon -2022-06-22T18:55:14.723Z moonset -2022-06-23T00:25:50.493Z sunset -2022-06-23T06:45:28.067Z moonrise -2022-06-23T10:28:09.662Z sunrise +2022-06-22T18:55:14.730Z moonset +2022-06-23T00:25:50.719Z sunset +2022-06-23T06:45:28.068Z moonrise +2022-06-23T10:28:09.475Z sunrise 2022-06-23T13:14:54.587Z Moon culminates 71.04 degrees above the horizon 2022-06-23T17:27:06.137Z Sun culminates 84.82 degrees above the horizon -2022-06-23T19:51:06.701Z moonset -2022-06-24T00:26:01.078Z sunset -2022-06-24T07:16:17.320Z moonrise -2022-06-24T10:28:25.478Z sunrise +2022-06-23T19:51:06.734Z moonset +2022-06-24T00:26:01.304Z sunset +2022-06-24T07:16:17.299Z moonrise +2022-06-24T10:28:25.291Z sunrise 2022-06-24T13:58:22.514Z Moon culminates 76.28 degrees above the horizon 2022-06-24T17:27:19.066Z Sun culminates 84.80 degrees above the horizon -2022-06-24T20:47:00.308Z moonset -2022-06-25T00:26:10.470Z sunset -2022-06-25T07:49:19.772Z moonrise -2022-06-25T10:28:42.323Z sunrise +2022-06-24T20:47:00.395Z moonset +2022-06-25T00:26:10.695Z sunset +2022-06-25T07:49:19.711Z moonrise +2022-06-25T10:28:42.137Z sunrise 2022-06-25T10:53:20.303Z Jupiter moves from Pisces to Cetus 2022-06-25T14:43:17.773Z Moon culminates 80.79 degrees above the horizon 2022-06-25T17:27:31.901Z Sun culminates 84.77 degrees above the horizon -2022-06-25T21:43:14.978Z moonset -2022-06-26T00:26:18.646Z sunset -2022-06-26T08:25:42.605Z moonrise -2022-06-26T10:29:00.167Z sunrise +2022-06-25T21:43:15.129Z moonset +2022-06-26T00:26:18.870Z sunset +2022-06-26T08:25:42.498Z moonrise +2022-06-26T10:28:59.982Z sunrise 2022-06-26T15:30:09.956Z Moon culminates 84.39 degrees above the horizon 2022-06-26T17:27:44.615Z Sun culminates 84.74 degrees above the horizon -2022-06-26T22:39:32.595Z moonset -2022-06-27T00:26:25.583Z sunset -2022-06-27T09:06:20.192Z moonrise -2022-06-27T10:29:18.980Z sunrise +2022-06-26T22:39:32.795Z moonset +2022-06-27T00:26:25.807Z sunset +2022-06-27T09:06:20.045Z moonrise +2022-06-27T10:29:18.795Z sunrise 2022-06-27T16:19:00.360Z Moon culminates 86.89 degrees above the horizon 2022-06-27T17:27:57.182Z Sun culminates 84.70 degrees above the horizon -2022-06-27T23:34:55.255Z moonset -2022-06-28T00:26:31.261Z sunset -2022-06-28T09:51:40.603Z moonrise -2022-06-28T10:29:38.728Z sunrise +2022-06-27T23:34:55.474Z moonset +2022-06-28T00:26:31.484Z sunset +2022-06-28T09:51:40.425Z moonrise +2022-06-28T10:29:38.544Z sunrise 2022-06-28T17:09:17.783Z Moon culminates 88.15 degrees above the horizon 2022-06-28T17:28:09.573Z Sun culminates 84.65 degrees above the horizon -2022-06-29T00:26:35.657Z sunset -2022-06-29T00:27:57.928Z moonset +2022-06-29T00:26:35.879Z sunset +2022-06-29T00:27:58.141Z moonset 2022-06-29T02:52:58.705Z new moon 2022-06-29T06:08:38.290Z lunar apogee at 406571 km -2022-06-29T10:29:59.378Z sunrise -2022-06-29T10:41:30.870Z moonrise +2022-06-29T10:29:59.195Z sunrise +2022-06-29T10:41:30.671Z moonrise 2022-06-29T17:28:21.763Z Sun culminates 84.60 degrees above the horizon 2022-06-29T18:00:03.960Z Moon culminates 88.06 degrees above the horizon -2022-06-30T00:26:38.752Z sunset -2022-06-30T01:17:16.915Z moonset -2022-06-30T10:30:20.897Z sunrise -2022-06-30T11:34:53.277Z moonrise +2022-06-30T00:26:38.973Z sunset +2022-06-30T01:17:17.111Z moonset +2022-06-30T10:30:20.714Z sunrise +2022-06-30T11:34:53.072Z moonrise 2022-06-30T17:28:33.723Z Sun culminates 84.54 degrees above the horizon 2022-06-30T18:50:11.011Z Moon culminates 86.66 degrees above the horizon -2022-07-01T00:26:40.526Z sunset -2022-07-01T02:02:00.149Z moonset -2022-07-01T10:30:43.249Z sunrise -2022-07-01T12:30:22.279Z moonrise +2022-07-01T00:26:40.745Z sunset +2022-07-01T02:02:00.316Z moonset +2022-07-01T10:30:43.068Z sunrise +2022-07-01T12:30:22.094Z moonrise 2022-07-01T17:28:45.428Z Sun culminates 84.47 degrees above the horizon 2022-07-01T19:38:43.848Z Moon culminates 84.02 degrees above the horizon -2022-07-02T00:26:40.960Z sunset -2022-07-02T02:42:01.098Z moonset -2022-07-02T10:31:06.400Z sunrise -2022-07-02T13:26:35.568Z moonrise +2022-07-02T00:26:41.179Z sunset +2022-07-02T02:42:01.225Z moonset +2022-07-02T10:31:06.221Z sunrise +2022-07-02T13:26:35.432Z moonrise 2022-07-02T17:28:56.852Z Sun culminates 84.40 degrees above the horizon 2022-07-02T20:25:15.949Z Moon culminates 80.30 degrees above the horizon -2022-07-03T00:26:40.040Z sunset -2022-07-03T03:17:52.534Z moonset -2022-07-03T10:31:30.317Z sunrise -2022-07-03T14:22:40.615Z moonrise +2022-07-03T00:26:40.257Z sunset +2022-07-03T03:17:52.615Z moonset +2022-07-03T10:31:30.139Z sunrise +2022-07-03T14:22:40.543Z moonrise 2022-07-03T17:29:07.971Z Sun culminates 84.32 degrees above the horizon 2022-07-03T21:09:53.002Z Moon culminates 75.70 degrees above the horizon -2022-07-04T00:26:37.750Z sunset -2022-07-04T03:50:31.293Z moonset +2022-07-04T00:26:37.965Z sunset +2022-07-04T03:50:31.335Z moonset 2022-07-04T06:43:31.917Z Earth aphelion at 1.0167 AU -2022-07-04T10:31:54.966Z sunrise -2022-07-04T15:18:24.897Z moonrise +2022-07-04T10:31:54.789Z sunrise +2022-07-04T15:18:24.875Z moonrise 2022-07-04T17:29:18.760Z Sun culminates 84.23 degrees above the horizon 2022-07-04T21:53:07.910Z Moon culminates 70.41 degrees above the horizon -2022-07-05T00:26:34.078Z sunset -2022-07-05T04:21:05.580Z moonset -2022-07-05T10:32:20.312Z sunrise +2022-07-05T00:26:34.291Z sunset +2022-07-05T04:21:05.598Z moonset +2022-07-05T10:32:20.137Z sunrise 2022-07-05T11:52:18.885Z Mercury moves from Taurus to Gemini 2022-07-05T16:14:12.357Z moonrise 2022-07-05T17:29:29.199Z Sun culminates 84.14 degrees above the horizon 2022-07-05T22:35:53.595Z Moon culminates 64.61 degrees above the horizon -2022-07-06T00:26:29.013Z sunset -2022-07-06T04:50:49.127Z moonset -2022-07-06T10:32:46.325Z sunrise -2022-07-06T17:10:54.124Z moonrise +2022-07-06T00:26:29.224Z sunset +2022-07-06T04:50:49.139Z moonset +2022-07-06T10:32:46.152Z sunrise +2022-07-06T17:10:54.127Z moonrise 2022-07-06T17:29:39.266Z Sun culminates 84.04 degrees above the horizon 2022-07-06T23:19:17.556Z Moon culminates 58.51 degrees above the horizon -2022-07-07T00:26:22.547Z sunset +2022-07-07T00:26:22.756Z sunset 2022-07-07T02:14:47.688Z first quarter -2022-07-07T05:21:01.483Z moonset -2022-07-07T10:33:12.973Z sunrise +2022-07-07T05:21:01.490Z moonset +2022-07-07T10:33:12.802Z sunrise 2022-07-07T17:29:48.942Z Sun culminates 83.93 degrees above the horizon -2022-07-07T18:09:37.981Z moonrise +2022-07-07T18:09:37.993Z moonrise 2022-07-08T00:04:38.484Z Moon culminates 52.33 degrees above the horizon -2022-07-08T00:26:14.673Z sunset -2022-07-08T05:53:12.330Z moonset -2022-07-08T10:33:40.225Z sunrise +2022-07-08T00:26:14.880Z sunset +2022-07-08T05:53:12.324Z moonset +2022-07-08T10:33:40.056Z sunrise 2022-07-08T17:29:58.211Z Sun culminates 83.82 degrees above the horizon 2022-07-08T18:11:59.970Z Mars moves from Pisces to Aries -2022-07-08T19:11:34.903Z moonrise -2022-07-09T00:26:05.389Z sunset +2022-07-08T19:11:34.961Z moonrise +2022-07-09T00:26:05.593Z sunset 2022-07-09T00:53:22.117Z Moon culminates 46.36 degrees above the horizon -2022-07-09T06:29:07.266Z moonset -2022-07-09T10:34:08.052Z sunrise +2022-07-09T06:29:07.221Z moonset +2022-07-09T10:34:07.886Z sunrise 2022-07-09T17:30:07.056Z Sun culminates 83.70 degrees above the horizon -2022-07-09T20:17:35.494Z moonrise -2022-07-10T00:25:54.692Z sunset +2022-07-09T20:17:35.645Z moonrise +2022-07-10T00:25:54.894Z sunset 2022-07-10T01:46:50.150Z Moon culminates 41.01 degrees above the horizon -2022-07-10T07:10:49.725Z moonset -2022-07-10T10:34:36.426Z sunrise +2022-07-10T07:10:49.616Z moonset +2022-07-10T10:34:36.262Z sunrise 2022-07-10T17:30:15.464Z Sun culminates 83.57 degrees above the horizon -2022-07-10T21:27:28.263Z moonrise +2022-07-10T21:27:28.507Z moonrise 2022-07-10T21:42:03.535Z Mercury perihelion at 0.3075 AU -2022-07-11T00:25:42.583Z sunset +2022-07-11T00:25:42.782Z sunset 2022-07-11T02:45:53.341Z Moon culminates 36.77 degrees above the horizon -2022-07-11T08:00:26.654Z moonset -2022-07-11T10:35:05.317Z sunrise +2022-07-11T08:00:26.473Z moonset +2022-07-11T10:35:05.155Z sunrise 2022-07-11T17:30:23.420Z Sun culminates 83.44 degrees above the horizon -2022-07-11T22:39:09.100Z moonrise -2022-07-12T00:25:29.064Z sunset +2022-07-11T22:39:09.382Z moonrise +2022-07-12T00:25:29.261Z sunset 2022-07-12T03:50:06.582Z Moon culminates 34.20 degrees above the horizon -2022-07-12T08:59:18.883Z moonset -2022-07-12T10:35:34.699Z sunrise +2022-07-12T08:59:18.642Z moonset +2022-07-12T10:35:34.540Z sunrise 2022-07-12T17:30:30.913Z Sun culminates 83.30 degrees above the horizon -2022-07-12T23:48:36.526Z moonrise -2022-07-13T00:25:14.138Z sunset +2022-07-12T23:48:36.789Z moonrise +2022-07-13T00:25:14.332Z sunset 2022-07-13T04:57:13.712Z Moon culminates 33.76 degrees above the horizon 2022-07-13T09:04:50.934Z lunar perigee at 357256 km -2022-07-13T10:06:39.784Z moonset -2022-07-13T10:36:04.544Z sunrise +2022-07-13T10:06:39.506Z moonset +2022-07-13T10:36:04.388Z sunrise 2022-07-13T17:30:37.931Z Sun culminates 83.15 degrees above the horizon 2022-07-13T18:38:04.131Z full moon -2022-07-14T00:24:57.810Z sunset -2022-07-14T00:51:32.236Z moonrise +2022-07-14T00:24:58.001Z sunset +2022-07-14T00:51:32.450Z moonrise 2022-07-14T06:03:39.226Z Moon culminates 35.56 degrees above the horizon -2022-07-14T10:36:34.827Z sunrise -2022-07-14T11:18:59.749Z moonset +2022-07-14T10:36:34.674Z sunrise +2022-07-14T11:18:59.481Z moonset 2022-07-14T17:30:44.465Z Sun culminates 83.00 degrees above the horizon -2022-07-15T00:24:40.086Z sunset -2022-07-15T01:45:39.482Z moonrise +2022-07-15T00:24:40.274Z sunset +2022-07-15T01:45:39.630Z moonrise 2022-07-15T07:06:10.539Z Moon culminates 39.33 degrees above the horizon -2022-07-15T10:37:05.523Z sunrise -2022-07-15T12:31:40.770Z moonset +2022-07-15T10:37:05.374Z sunrise +2022-07-15T12:31:40.582Z moonset 2022-07-15T17:30:50.505Z Sun culminates 82.84 degrees above the horizon -2022-07-16T00:24:20.970Z sunset -2022-07-16T02:31:16.987Z moonrise +2022-07-16T00:24:21.154Z sunset +2022-07-16T02:31:17.066Z moonrise 2022-07-16T07:44:49.994Z Venus moves from Taurus to Orion 2022-07-16T08:03:18.147Z Moon culminates 44.51 degrees above the horizon -2022-07-16T10:37:36.608Z sunrise -2022-07-16T13:41:21.413Z moonset +2022-07-16T10:37:36.462Z sunrise +2022-07-16T13:41:21.331Z moonset 2022-07-16T17:30:56.042Z Sun culminates 82.68 degrees above the horizon 2022-07-16T19:24:59.164Z Mercury superior conjunction -2022-07-17T00:24:00.469Z sunset -2022-07-17T03:10:11.861Z moonrise +2022-07-17T00:24:00.651Z sunset +2022-07-17T03:10:11.893Z moonrise 2022-07-17T08:55:13.682Z Moon culminates 50.54 degrees above the horizon -2022-07-17T10:38:08.058Z sunrise -2022-07-17T14:46:50.130Z moonset +2022-07-17T10:38:07.916Z sunrise +2022-07-17T14:46:50.114Z moonset 2022-07-17T17:31:01.067Z Sun culminates 82.51 degrees above the horizon -2022-07-18T00:23:38.591Z sunset -2022-07-18T03:44:30.485Z moonrise +2022-07-18T00:23:38.769Z sunset +2022-07-18T03:44:30.497Z moonrise 2022-07-18T09:43:04.790Z Moon culminates 56.91 degrees above the horizon 2022-07-18T10:18:18.220Z Venus moves from Orion to Gemini -2022-07-18T10:38:39.850Z sunrise +2022-07-18T10:38:39.710Z sunrise 2022-07-18T13:35:45.268Z Mercury moves from Gemini to Cancer -2022-07-18T15:48:28.981Z moonset +2022-07-18T15:48:28.982Z moonset 2022-07-18T17:31:05.573Z Sun culminates 82.33 degrees above the horizon -2022-07-19T00:23:15.345Z sunset -2022-07-19T04:16:07.540Z moonrise +2022-07-19T00:23:15.519Z sunset +2022-07-19T04:16:07.549Z moonrise 2022-07-19T10:28:16.616Z Moon culminates 63.25 degrees above the horizon -2022-07-19T10:39:11.958Z sunrise -2022-07-19T16:47:21.384Z moonset +2022-07-19T10:39:11.823Z sunrise +2022-07-19T16:47:21.388Z moonset 2022-07-19T17:31:09.551Z Sun culminates 82.15 degrees above the horizon -2022-07-20T00:22:50.738Z sunset +2022-07-20T00:22:50.909Z sunset 2022-07-20T01:22:50.110Z Pluto opposition -2022-07-20T04:46:40.923Z moonrise -2022-07-20T10:39:44.359Z sunrise +2022-07-20T04:46:40.928Z moonrise +2022-07-20T10:39:44.227Z sunrise 2022-07-20T11:12:12.129Z Moon culminates 69.28 degrees above the horizon 2022-07-20T14:19:15.960Z third quarter 2022-07-20T17:31:12.996Z Sun culminates 81.97 degrees above the horizon -2022-07-20T17:44:37.457Z moonset -2022-07-21T00:22:24.781Z sunset -2022-07-21T05:17:35.918Z moonrise -2022-07-21T10:40:17.027Z sunrise +2022-07-20T17:44:37.478Z moonset +2022-07-21T00:22:24.948Z sunset +2022-07-21T05:17:35.905Z moonrise +2022-07-21T10:40:16.900Z sunrise 2022-07-21T11:56:04.313Z Moon culminates 74.79 degrees above the horizon 2022-07-21T17:31:15.897Z Sun culminates 81.77 degrees above the horizon -2022-07-21T18:41:15.056Z moonset -2022-07-22T00:21:57.482Z sunset -2022-07-22T05:50:10.107Z moonrise -2022-07-22T10:40:49.937Z sunrise +2022-07-21T18:41:15.124Z moonset +2022-07-22T00:21:57.646Z sunset +2022-07-22T05:50:10.058Z moonrise +2022-07-22T10:40:49.814Z sunrise 2022-07-22T12:40:52.253Z Moon culminates 79.58 degrees above the horizon 2022-07-22T17:31:18.247Z Sun culminates 81.57 degrees above the horizon -2022-07-22T19:37:47.827Z moonset -2022-07-23T00:21:28.852Z sunset -2022-07-23T06:25:35.181Z moonrise -2022-07-23T10:41:23.063Z sunrise +2022-07-22T19:37:47.961Z moonset +2022-07-23T00:21:29.012Z sunset +2022-07-23T06:25:35.088Z moonrise +2022-07-23T10:41:22.944Z sunrise 2022-07-23T13:27:16.507Z Moon culminates 83.48 degrees above the horizon 2022-07-23T17:31:20.039Z Sun culminates 81.37 degrees above the horizon -2022-07-23T20:34:15.730Z moonset -2022-07-24T00:20:58.900Z sunset -2022-07-24T07:04:53.140Z moonrise -2022-07-24T10:41:56.377Z sunrise +2022-07-23T20:34:15.920Z moonset +2022-07-24T00:20:59.056Z sunset +2022-07-24T07:04:53.004Z moonrise +2022-07-24T10:41:56.263Z sunrise 2022-07-24T14:15:32.583Z Moon culminates 86.33 degrees above the horizon 2022-07-24T17:31:21.263Z Sun culminates 81.16 degrees above the horizon -2022-07-24T21:29:59.951Z moonset -2022-07-25T00:20:27.636Z sunset -2022-07-25T07:48:45.423Z moonrise -2022-07-25T10:42:29.855Z sunrise +2022-07-24T21:30:00.167Z moonset +2022-07-25T00:20:27.787Z sunset +2022-07-25T07:48:45.253Z moonrise +2022-07-25T10:42:29.745Z sunrise 2022-07-25T15:05:25.087Z Moon culminates 87.96 degrees above the horizon 2022-07-25T17:31:21.911Z Sun culminates 80.94 degrees above the horizon -2022-07-25T22:23:49.076Z moonset -2022-07-26T00:19:55.069Z sunset -2022-07-26T08:37:17.584Z moonrise +2022-07-25T22:23:49.293Z moonset +2022-07-26T00:19:55.217Z sunset +2022-07-26T08:37:17.390Z moonrise 2022-07-26T10:23:29.428Z lunar apogee at 406264 km -2022-07-26T10:43:03.468Z sunrise +2022-07-26T10:43:03.362Z sunrise 2022-07-26T15:56:08.388Z Moon culminates 88.27 degrees above the horizon 2022-07-26T17:31:21.974Z Sun culminates 80.72 degrees above the horizon -2022-07-26T23:14:21.111Z moonset -2022-07-27T00:19:21.210Z sunset -2022-07-27T09:29:49.390Z moonrise -2022-07-27T10:43:37.190Z sunrise +2022-07-26T23:14:21.313Z moonset +2022-07-27T00:19:21.354Z sunset +2022-07-27T09:29:49.184Z moonrise +2022-07-27T10:43:37.089Z sunrise 2022-07-27T16:46:38.689Z Moon culminates 87.24 degrees above the horizon 2022-07-27T17:31:21.446Z Sun culminates 80.50 degrees above the horizon -2022-07-28T00:00:33.635Z moonset -2022-07-28T00:18:46.070Z sunset -2022-07-28T10:25:02.829Z moonrise -2022-07-28T10:44:10.996Z sunrise +2022-07-28T00:00:33.812Z moonset +2022-07-28T00:18:46.209Z sunset +2022-07-28T10:25:02.633Z moonrise +2022-07-28T10:44:10.900Z sunrise 2022-07-28T10:55:39.516Z Mercury moves from Cancer to Leo 2022-07-28T17:31:20.318Z Sun culminates 80.26 degrees above the horizon 2022-07-28T17:35:54.845Z Moon culminates 84.93 degrees above the horizon 2022-07-28T17:55:43.621Z new moon -2022-07-29T00:18:09.659Z sunset -2022-07-29T00:42:04.487Z moonset -2022-07-29T10:44:44.860Z sunrise -2022-07-29T11:21:29.100Z moonrise +2022-07-29T00:18:09.794Z sunset +2022-07-29T00:42:04.627Z moonset +2022-07-29T10:44:44.768Z sunrise +2022-07-29T11:21:28.946Z moonrise 2022-07-29T17:31:18.583Z Sun culminates 80.03 degrees above the horizon 2022-07-29T18:23:17.580Z Moon culminates 81.48 degrees above the horizon -2022-07-30T00:17:31.989Z sunset -2022-07-30T01:19:12.778Z moonset -2022-07-30T10:45:18.756Z sunrise -2022-07-30T12:17:59.074Z moonrise +2022-07-30T00:17:32.120Z sunset +2022-07-30T01:19:12.872Z moonset +2022-07-30T10:45:18.670Z sunrise +2022-07-30T12:17:58.984Z moonrise 2022-07-30T17:31:16.235Z Sun culminates 79.79 degrees above the horizon 2022-07-30T19:08:38.262Z Moon culminates 77.08 degrees above the horizon -2022-07-31T00:16:53.072Z sunset -2022-07-31T01:52:46.367Z moonset -2022-07-31T10:45:52.663Z sunrise -2022-07-31T13:14:00.609Z moonrise +2022-07-31T00:16:53.199Z sunset +2022-07-31T01:52:46.418Z moonset +2022-07-31T10:45:52.582Z sunrise +2022-07-31T13:14:00.575Z moonrise 2022-07-31T17:31:13.271Z Sun culminates 79.54 degrees above the horizon 2022-07-31T19:52:17.070Z Moon culminates 71.94 degrees above the horizon -2022-08-01T00:16:12.922Z sunset -2022-08-01T02:23:47.959Z moonset -2022-08-01T10:46:26.559Z sunrise -2022-08-01T14:09:39.754Z moonrise +2022-08-01T00:16:13.044Z sunset +2022-08-01T02:23:47.983Z moonset +2022-08-01T10:46:26.482Z sunrise +2022-08-01T14:09:39.751Z moonrise 2022-08-01T17:31:09.685Z Sun culminates 79.29 degrees above the horizon 2022-08-01T20:34:56.314Z Moon culminates 66.26 degrees above the horizon -2022-08-02T00:15:31.553Z sunset -2022-08-02T02:53:26.767Z moonset -2022-08-02T10:47:00.422Z sunrise -2022-08-02T15:05:32.928Z moonrise +2022-08-02T00:15:31.671Z sunset +2022-08-02T02:53:26.780Z moonset +2022-08-02T10:47:00.351Z sunrise +2022-08-02T15:05:32.931Z moonrise 2022-08-02T17:31:05.475Z Sun culminates 79.03 degrees above the horizon 2022-08-02T21:17:34.057Z Moon culminates 60.26 degrees above the horizon -2022-08-03T00:14:48.981Z sunset -2022-08-03T03:22:56.475Z moonset -2022-08-03T10:47:34.234Z sunrise -2022-08-03T16:02:36.659Z moonrise +2022-08-03T00:14:49.094Z sunset +2022-08-03T03:22:56.485Z moonset +2022-08-03T10:47:34.168Z sunrise +2022-08-03T16:02:36.665Z moonrise 2022-08-03T17:31:00.641Z Sun culminates 78.77 degrees above the horizon 2022-08-03T22:01:19.879Z Moon culminates 54.17 degrees above the horizon -2022-08-04T00:14:05.222Z sunset +2022-08-04T00:14:05.331Z sunset 2022-08-04T03:53:37.771Z moonset -2022-08-04T10:48:07.979Z sunrise -2022-08-04T17:01:56.193Z moonrise +2022-08-04T10:48:07.918Z sunrise +2022-08-04T17:01:56.230Z moonrise 2022-08-04T17:30:55.184Z Sun culminates 78.50 degrees above the horizon 2022-08-04T22:47:31.516Z Moon culminates 48.23 degrees above the horizon -2022-08-05T00:13:20.294Z sunset -2022-08-05T04:27:03.314Z moonset -2022-08-05T10:48:41.641Z sunrise +2022-08-05T00:13:20.399Z sunset +2022-08-05T04:27:03.286Z moonset +2022-08-05T10:48:41.586Z sunrise 2022-08-05T11:07:10.131Z first quarter 2022-08-05T17:30:49.106Z Sun culminates 78.23 degrees above the horizon -2022-08-05T18:04:29.112Z moonrise +2022-08-05T18:04:29.226Z moonrise 2022-08-05T23:37:28.597Z Moon culminates 42.77 degrees above the horizon -2022-08-06T00:12:34.219Z sunset -2022-08-06T05:05:01.992Z moonset -2022-08-06T10:49:15.208Z sunrise +2022-08-06T00:12:34.319Z sunset +2022-08-06T05:05:01.908Z moonset +2022-08-06T10:49:15.158Z sunrise 2022-08-06T17:30:42.411Z Sun culminates 77.96 degrees above the horizon -2022-08-06T19:10:37.210Z moonrise -2022-08-07T00:11:47.015Z sunset +2022-08-06T19:10:37.422Z moonrise +2022-08-07T00:11:47.112Z sunset 2022-08-07T00:32:17.066Z Moon culminates 38.19 degrees above the horizon -2022-08-07T05:49:35.332Z moonset -2022-08-07T10:49:48.668Z sunrise +2022-08-07T05:49:35.179Z moonset +2022-08-07T10:49:48.623Z sunrise 2022-08-07T17:30:35.104Z Sun culminates 77.68 degrees above the horizon -2022-08-07T20:19:25.264Z moonrise -2022-08-08T00:10:58.707Z sunset +2022-08-07T20:19:25.539Z moonrise +2022-08-08T00:10:58.799Z sunset 2022-08-08T01:32:18.249Z Moon culminates 34.97 degrees above the horizon -2022-08-08T06:42:31.891Z moonset -2022-08-08T10:50:22.011Z sunrise +2022-08-08T06:42:31.674Z moonset +2022-08-08T10:50:21.971Z sunrise 2022-08-08T17:30:27.193Z Sun culminates 77.40 degrees above the horizon -2022-08-08T21:28:10.976Z moonrise -2022-08-09T00:10:09.317Z sunset +2022-08-08T21:28:11.253Z moonrise +2022-08-09T00:10:09.405Z sunset 2022-08-09T02:36:29.789Z Moon culminates 33.59 degrees above the horizon 2022-08-09T05:58:37.378Z Mars moves from Aries to Taurus -2022-08-09T07:44:27.143Z moonset -2022-08-09T10:50:55.230Z sunrise +2022-08-09T07:44:26.878Z moonset +2022-08-09T10:50:55.195Z sunrise 2022-08-09T17:30:18.686Z Sun culminates 77.11 degrees above the horizon -2022-08-09T22:33:00.964Z moonrise -2022-08-10T00:09:18.870Z sunset +2022-08-09T22:33:01.204Z moonrise +2022-08-10T00:09:18.954Z sunset 2022-08-10T03:42:14.894Z Moon culminates 34.33 degrees above the horizon 2022-08-10T07:42:27.588Z Venus moves from Gemini to Cancer -2022-08-10T08:53:36.709Z moonset -2022-08-10T10:51:28.316Z sunrise +2022-08-10T08:53:36.426Z moonset +2022-08-10T10:51:28.287Z sunrise 2022-08-10T17:08:03.825Z lunar perigee at 359818 km 2022-08-10T17:30:09.593Z Sun culminates 76.82 degrees above the horizon -2022-08-10T23:30:43.315Z moonrise -2022-08-11T00:08:27.390Z sunset +2022-08-10T23:30:43.497Z moonrise +2022-08-11T00:08:27.470Z sunset 2022-08-11T04:46:18.254Z Moon culminates 37.18 degrees above the horizon -2022-08-11T10:06:08.223Z moonset -2022-08-11T10:52:01.267Z sunrise +2022-08-11T10:06:07.986Z moonset +2022-08-11T10:52:01.242Z sunrise 2022-08-11T17:29:59.922Z Sun culminates 76.52 degrees above the horizon -2022-08-12T00:07:34.903Z sunset -2022-08-12T00:20:16.642Z moonrise +2022-08-12T00:07:34.979Z sunset +2022-08-12T00:20:16.755Z moonrise 2022-08-12T01:36:14.724Z full moon 2022-08-12T05:46:16.378Z Moon culminates 41.76 degrees above the horizon -2022-08-12T10:52:34.078Z sunrise -2022-08-12T11:17:58.072Z moonset +2022-08-12T10:52:34.058Z sunrise +2022-08-12T11:17:57.938Z moonset 2022-08-12T17:29:49.686Z Sun culminates 76.22 degrees above the horizon -2022-08-13T00:06:41.434Z sunset -2022-08-13T01:02:37.257Z moonrise +2022-08-13T00:06:41.505Z sunset +2022-08-13T01:02:37.308Z moonrise 2022-08-13T06:41:22.357Z Moon culminates 47.55 degrees above the horizon -2022-08-13T10:53:06.747Z sunrise -2022-08-13T12:26:39.521Z moonset +2022-08-13T10:53:06.732Z sunrise +2022-08-13T12:26:39.480Z moonset 2022-08-13T17:29:38.897Z Sun culminates 75.91 degrees above the horizon -2022-08-14T00:05:47.008Z sunset -2022-08-14T01:39:34.537Z moonrise +2022-08-14T00:05:47.075Z sunset +2022-08-14T01:39:34.555Z moonrise 2022-08-14T07:32:07.112Z Moon culminates 53.99 degrees above the horizon -2022-08-14T10:53:39.274Z sunrise -2022-08-14T13:31:37.225Z moonset +2022-08-14T10:53:39.264Z sunrise +2022-08-14T13:31:37.222Z moonset 2022-08-14T16:57:24.629Z Saturn opposition 2022-08-14T17:29:27.567Z Sun culminates 75.61 degrees above the horizon -2022-08-15T00:04:51.650Z sunset -2022-08-15T02:13:03.449Z moonrise +2022-08-15T00:04:51.714Z sunset +2022-08-15T02:13:03.458Z moonrise 2022-08-15T08:19:39.944Z Moon culminates 60.59 degrees above the horizon -2022-08-15T10:54:11.659Z sunrise -2022-08-15T14:33:24.967Z moonset +2022-08-15T10:54:11.654Z sunrise +2022-08-15T14:33:24.969Z moonset 2022-08-15T17:29:15.709Z Sun culminates 75.30 degrees above the horizon -2022-08-16T00:03:55.387Z sunset -2022-08-16T02:44:47.046Z moonrise +2022-08-16T00:03:55.448Z sunset +2022-08-16T02:44:47.052Z moonrise 2022-08-16T09:05:19.834Z Moon culminates 66.98 degrees above the horizon 2022-08-16T10:54:43.902Z sunrise -2022-08-16T15:33:02.334Z moonset +2022-08-16T15:33:02.345Z moonset 2022-08-16T17:29:03.337Z Sun culminates 74.98 degrees above the horizon -2022-08-17T00:02:58.246Z sunset -2022-08-17T03:16:15.401Z moonrise +2022-08-17T00:02:58.302Z sunset +2022-08-17T03:16:15.396Z moonrise 2022-08-17T09:50:21.042Z Moon culminates 72.90 degrees above the horizon -2022-08-17T10:55:16.004Z sunrise -2022-08-17T16:31:27.061Z moonset +2022-08-17T10:55:16.008Z sunrise +2022-08-17T16:31:27.109Z moonset 2022-08-17T17:28:50.463Z Sun culminates 74.66 degrees above the horizon -2022-08-18T00:02:00.251Z sunset -2022-08-18T03:48:49.351Z moonrise +2022-08-18T00:02:00.304Z sunset +2022-08-18T03:48:49.317Z moonrise 2022-08-18T10:35:46.345Z Moon culminates 78.11 degrees above the horizon -2022-08-18T10:55:47.964Z sunrise +2022-08-18T10:55:47.972Z sunrise 2022-08-18T14:21:29.203Z Neptune moves from Pisces to Aquarius 2022-08-18T17:28:37.100Z Sun culminates 74.34 degrees above the horizon -2022-08-18T17:29:18.592Z moonset -2022-08-19T00:01:01.429Z sunset -2022-08-19T04:23:43.135Z moonrise +2022-08-18T17:29:18.704Z moonset +2022-08-19T00:01:01.478Z sunset +2022-08-19T04:23:43.057Z moonrise 2022-08-19T04:36:43.659Z third quarter -2022-08-19T10:56:19.782Z sunrise +2022-08-19T10:56:19.795Z sunrise 2022-08-19T11:22:22.118Z Moon culminates 82.42 degrees above the horizon 2022-08-19T17:28:23.262Z Sun culminates 74.01 degrees above the horizon -2022-08-19T18:26:47.028Z moonset -2022-08-20T00:00:01.805Z sunset -2022-08-20T05:02:02.781Z moonrise -2022-08-20T10:56:51.458Z sunrise +2022-08-19T18:26:47.204Z moonset +2022-08-20T00:00:01.851Z sunset +2022-08-20T05:02:02.657Z moonrise +2022-08-20T10:56:51.476Z sunrise 2022-08-20T12:10:32.646Z Moon culminates 85.68 degrees above the horizon 2022-08-20T17:28:08.960Z Sun culminates 73.68 degrees above the horizon -2022-08-20T19:23:26.682Z moonset -2022-08-20T23:59:01.403Z sunset -2022-08-21T05:44:38.231Z moonrise +2022-08-20T19:23:26.895Z moonset +2022-08-20T23:59:01.446Z sunset +2022-08-21T05:44:38.070Z moonrise 2022-08-21T06:32:16.796Z Mercury moves from Leo to Virgo -2022-08-21T10:57:22.992Z sunrise +2022-08-21T10:57:23.013Z sunrise 2022-08-21T13:00:14.498Z Moon culminates 87.74 degrees above the horizon 2022-08-21T17:27:54.207Z Sun culminates 73.35 degrees above the horizon -2022-08-21T20:18:18.776Z moonset -2022-08-21T23:58:00.249Z sunset -2022-08-22T06:31:49.913Z moonrise -2022-08-22T10:57:54.382Z sunrise +2022-08-21T20:18:18.997Z moonset +2022-08-21T23:58:00.289Z sunset +2022-08-22T06:31:49.724Z moonrise +2022-08-22T10:57:54.407Z sunrise 2022-08-22T13:50:55.116Z Moon culminates 88.48 degrees above the horizon 2022-08-22T17:27:39.013Z Sun culminates 73.01 degrees above the horizon -2022-08-22T21:10:08.148Z moonset +2022-08-22T21:10:08.358Z moonset 2022-08-22T21:52:30.920Z lunar apogee at 405407 km -2022-08-22T23:56:58.365Z sunset -2022-08-23T07:23:16.493Z moonrise -2022-08-23T10:58:25.627Z sunrise +2022-08-22T23:56:58.402Z sunset +2022-08-23T07:23:16.287Z moonrise +2022-08-23T10:58:25.656Z sunrise 2022-08-23T14:41:40.467Z Moon culminates 87.87 degrees above the horizon 2022-08-23T17:27:23.390Z Sun culminates 72.68 degrees above the horizon 2022-08-23T21:19:35.421Z Mercury aphelion at 0.4667 AU -2022-08-23T21:57:50.257Z moonset -2022-08-23T23:55:55.776Z sunset -2022-08-24T08:17:55.537Z moonrise -2022-08-24T10:58:56.725Z sunrise +2022-08-23T21:57:50.445Z moonset +2022-08-23T23:55:55.810Z sunset +2022-08-24T08:17:55.332Z moonrise +2022-08-24T10:58:56.759Z sunrise 2022-08-24T15:31:31.974Z Moon culminates 85.95 degrees above the horizon 2022-08-24T17:27:07.349Z Sun culminates 72.33 degrees above the horizon -2022-08-24T22:40:54.148Z moonset -2022-08-24T23:54:52.504Z sunset -2022-08-25T09:14:23.154Z moonrise -2022-08-25T10:59:27.677Z sunrise +2022-08-24T22:40:54.302Z moonset +2022-08-24T23:54:52.536Z sunset +2022-08-25T09:14:22.981Z moonrise +2022-08-25T10:59:27.714Z sunrise 2022-08-25T16:19:45.448Z Moon culminates 82.81 degrees above the horizon 2022-08-25T17:26:50.900Z Sun culminates 71.99 degrees above the horizon -2022-08-25T23:19:28.850Z moonset -2022-08-25T23:53:48.572Z sunset -2022-08-26T10:11:23.281Z moonrise -2022-08-26T10:59:58.480Z sunrise +2022-08-25T23:19:28.959Z moonset +2022-08-25T23:53:48.601Z sunset +2022-08-26T10:11:23.168Z moonrise +2022-08-26T10:59:58.520Z sunrise 2022-08-26T11:40:26.862Z Venus moves from Cancer to Leo 2022-08-26T17:06:02.944Z Moon culminates 78.63 degrees above the horizon 2022-08-26T17:26:34.056Z Sun culminates 71.64 degrees above the horizon -2022-08-26T23:52:44.002Z sunset -2022-08-26T23:54:14.569Z moonset +2022-08-26T23:52:44.029Z sunset +2022-08-26T23:54:14.632Z moonset 2022-08-27T08:17:47.750Z new moon -2022-08-27T11:00:29.134Z sunrise -2022-08-27T11:08:09.722Z moonrise +2022-08-27T11:00:29.178Z sunrise +2022-08-27T11:08:09.673Z moonrise 2022-08-27T16:07:35.172Z Mercury max evening elongation: 27.32 degrees from Sun 2022-08-27T17:26:16.825Z Sun culminates 71.29 degrees above the horizon 2022-08-27T17:50:34.417Z Moon culminates 73.62 degrees above the horizon -2022-08-27T23:51:38.817Z sunset -2022-08-28T00:26:09.244Z moonset -2022-08-28T11:00:59.640Z sunrise -2022-08-28T12:04:32.825Z moonrise +2022-08-27T23:51:38.841Z sunset +2022-08-28T00:26:09.274Z moonset +2022-08-28T11:00:59.687Z sunrise +2022-08-28T12:04:32.816Z moonrise 2022-08-28T17:25:59.221Z Sun culminates 70.94 degrees above the horizon 2022-08-28T18:33:52.802Z Moon culminates 67.99 degrees above the horizon -2022-08-28T23:50:33.039Z sunset -2022-08-29T00:56:18.770Z moonset -2022-08-29T11:01:29.997Z sunrise -2022-08-29T13:00:54.552Z moonrise +2022-08-28T23:50:33.061Z sunset +2022-08-29T00:56:18.784Z moonset +2022-08-29T11:01:30.047Z sunrise +2022-08-29T13:00:54.555Z moonrise 2022-08-29T17:25:41.254Z Sun culminates 70.58 degrees above the horizon 2022-08-29T19:16:47.648Z Moon culminates 61.97 degrees above the horizon -2022-08-29T23:49:26.691Z sunset -2022-08-30T01:25:53.124Z moonset -2022-08-30T11:02:00.208Z sunrise -2022-08-30T13:57:58.868Z moonrise +2022-08-29T23:49:26.711Z sunset +2022-08-30T01:25:53.134Z moonset +2022-08-30T11:02:00.261Z sunrise +2022-08-30T13:57:58.872Z moonrise 2022-08-30T17:25:22.937Z Sun culminates 70.22 degrees above the horizon 2022-08-30T20:00:20.079Z Moon culminates 55.81 degrees above the horizon -2022-08-30T23:48:19.796Z sunset -2022-08-31T01:56:07.249Z moonset -2022-08-31T11:02:30.276Z sunrise -2022-08-31T14:56:40.673Z moonrise +2022-08-30T23:48:19.814Z sunset +2022-08-31T01:56:07.253Z moonset +2022-08-31T11:02:30.332Z sunrise +2022-08-31T14:56:40.698Z moonrise 2022-08-31T17:25:04.284Z Sun culminates 69.86 degrees above the horizon 2022-08-31T20:45:38.952Z Moon culminates 49.76 degrees above the horizon -2022-08-31T23:47:12.378Z sunset -2022-09-01T02:28:24.692Z moonset +2022-08-31T23:47:12.394Z sunset +2022-09-01T02:28:24.674Z moonset 2022-09-01T09:53:42.894Z Jupiter moves from Cetus to Pisces -2022-09-01T11:03:00.205Z sunrise -2022-09-01T15:57:51.695Z moonrise +2022-09-01T11:03:00.263Z sunrise +2022-09-01T15:57:51.785Z moonrise 2022-09-01T17:24:45.309Z Sun culminates 69.50 degrees above the horizon 2022-09-01T21:33:55.655Z Moon culminates 44.15 degrees above the horizon -2022-09-01T23:46:04.460Z sunset -2022-09-02T03:04:21.473Z moonset -2022-09-02T11:03:30.000Z sunrise -2022-09-02T17:01:58.793Z moonrise +2022-09-01T23:46:04.475Z sunset +2022-09-02T03:04:21.406Z moonset +2022-09-02T11:03:30.060Z sunrise +2022-09-02T17:01:58.980Z moonrise 2022-09-02T17:24:26.028Z Sun culminates 69.14 degrees above the horizon 2022-09-02T22:26:13.122Z Moon culminates 39.32 degrees above the horizon -2022-09-02T23:44:56.069Z sunset -2022-09-03T03:45:45.427Z moonset -2022-09-03T11:03:59.667Z sunrise +2022-09-02T23:44:56.082Z sunset +2022-09-03T03:45:45.294Z moonset +2022-09-03T11:03:59.730Z sunrise 2022-09-03T17:24:06.455Z Sun culminates 68.77 degrees above the horizon 2022-09-03T18:08:17.338Z first quarter -2022-09-03T18:08:32.464Z moonrise +2022-09-03T18:08:32.728Z moonrise 2022-09-03T23:23:04.290Z Moon culminates 35.69 degrees above the horizon -2022-09-03T23:43:47.230Z sunset -2022-09-04T04:34:21.628Z moonset -2022-09-04T11:04:29.216Z sunrise +2022-09-03T23:43:47.241Z sunset +2022-09-04T04:34:21.429Z moonset +2022-09-04T11:04:29.281Z sunrise 2022-09-04T17:23:46.610Z Sun culminates 68.40 degrees above the horizon -2022-09-04T19:15:38.324Z moonrise +2022-09-04T19:15:38.608Z moonrise 2022-09-04T20:12:01.557Z Venus perihelion at 0.7184 AU -2022-09-04T23:42:37.969Z sunset +2022-09-04T23:42:37.979Z sunset 2022-09-05T00:24:01.993Z Moon culminates 33.67 degrees above the horizon -2022-09-05T05:31:12.600Z moonset -2022-09-05T11:04:58.654Z sunrise +2022-09-05T05:31:12.349Z moonset +2022-09-05T11:04:58.721Z sunrise 2022-09-05T17:23:26.511Z Sun culminates 68.03 degrees above the horizon -2022-09-05T20:20:08.221Z moonrise -2022-09-05T23:41:28.315Z sunset +2022-09-05T20:20:08.481Z moonrise +2022-09-05T23:41:28.324Z sunset 2022-09-06T01:27:20.560Z Moon culminates 33.59 degrees above the horizon -2022-09-06T06:35:41.063Z moonset -2022-09-06T11:05:27.992Z sunrise +2022-09-06T06:35:40.781Z moonset +2022-09-06T11:05:28.061Z sunrise 2022-09-06T17:23:06.176Z Sun culminates 67.66 degrees above the horizon -2022-09-06T21:18:55.556Z moonrise -2022-09-06T23:40:18.295Z sunset +2022-09-06T21:18:55.769Z moonrise +2022-09-06T23:40:18.303Z sunset 2022-09-07T02:30:20.916Z Moon culminates 35.55 degrees above the horizon -2022-09-07T07:45:07.842Z moonset -2022-09-07T11:05:57.242Z sunrise +2022-09-07T07:45:07.575Z moonset +2022-09-07T11:05:57.313Z sunrise 2022-09-07T17:22:45.626Z Sun culminates 67.29 degrees above the horizon 2022-09-07T18:19:04.993Z lunar perigee at 364481 km -2022-09-07T22:10:23.652Z moonrise -2022-09-07T23:39:07.938Z sunset +2022-09-07T22:10:23.800Z moonrise +2022-09-07T23:39:07.944Z sunset 2022-09-08T03:30:37.423Z Moon culminates 39.35 degrees above the horizon -2022-09-08T08:55:55.652Z moonset -2022-09-08T11:06:26.418Z sunrise +2022-09-08T08:55:55.465Z moonset +2022-09-08T11:06:26.490Z sunrise 2022-09-08T17:22:24.882Z Sun culminates 66.91 degrees above the horizon -2022-09-08T22:54:47.233Z moonrise -2022-09-08T23:37:57.272Z sunset +2022-09-08T22:54:47.312Z moonrise +2022-09-08T23:37:57.278Z sunset 2022-09-09T04:26:53.625Z Moon culminates 44.60 degrees above the horizon -2022-09-09T10:05:11.814Z moonset -2022-09-09T11:06:55.532Z sunrise +2022-09-09T10:05:11.734Z moonset +2022-09-09T11:06:55.607Z sunrise 2022-09-09T17:22:03.967Z Sun culminates 66.53 degrees above the horizon -2022-09-09T23:33:30.360Z moonrise -2022-09-09T23:36:46.327Z sunset +2022-09-09T23:33:30.390Z moonrise +2022-09-09T23:36:46.332Z sunset 2022-09-10T05:19:08.613Z Moon culminates 50.78 degrees above the horizon 2022-09-10T09:59:35.198Z full moon -2022-09-10T11:07:24.603Z sunrise -2022-09-10T11:11:38.078Z moonset +2022-09-10T11:07:24.678Z sunrise +2022-09-10T11:11:38.063Z moonset 2022-09-10T17:21:42.902Z Sun culminates 66.16 degrees above the horizon -2022-09-10T23:35:35.131Z sunset -2022-09-11T00:08:18.457Z moonrise +2022-09-10T23:35:35.135Z sunset +2022-09-11T00:08:18.468Z moonrise 2022-09-11T06:08:10.382Z Moon culminates 57.42 degrees above the horizon -2022-09-11T11:07:53.644Z sunrise -2022-09-11T12:15:14.739Z moonset +2022-09-11T11:07:53.721Z sunrise +2022-09-11T12:15:14.740Z moonset 2022-09-11T17:21:21.710Z Sun culminates 65.78 degrees above the horizon -2022-09-11T23:34:23.714Z sunset -2022-09-12T00:40:53.112Z moonrise +2022-09-11T23:34:23.718Z sunset +2022-09-12T00:40:53.120Z moonrise 2022-09-12T06:55:07.153Z Moon culminates 64.08 degrees above the horizon -2022-09-12T11:08:22.674Z sunrise -2022-09-12T13:16:42.650Z moonset +2022-09-12T11:08:22.752Z sunrise +2022-09-12T13:16:42.653Z moonset 2022-09-12T17:21:00.414Z Sun culminates 65.39 degrees above the horizon -2022-09-12T23:33:12.105Z sunset -2022-09-13T01:12:45.490Z moonrise +2022-09-12T23:33:12.108Z sunset +2022-09-13T01:12:45.492Z moonrise 2022-09-13T07:41:09.098Z Moon culminates 70.40 degrees above the horizon -2022-09-13T11:08:51.708Z sunrise -2022-09-13T14:16:51.819Z moonset +2022-09-13T11:08:51.788Z sunrise +2022-09-13T14:16:51.847Z moonset 2022-09-13T17:20:39.038Z Sun culminates 65.01 degrees above the horizon -2022-09-13T23:32:00.333Z sunset -2022-09-14T01:45:17.695Z moonrise +2022-09-13T23:32:00.336Z sunset +2022-09-14T01:45:17.675Z moonrise 2022-09-14T08:27:18.487Z Moon culminates 76.10 degrees above the horizon -2022-09-14T11:09:20.765Z sunrise -2022-09-14T15:16:20.640Z moonset +2022-09-14T11:09:20.845Z sunrise +2022-09-14T15:16:20.726Z moonset 2022-09-14T17:20:17.604Z Sun culminates 64.63 degrees above the horizon -2022-09-14T23:30:48.428Z sunset -2022-09-15T02:19:45.039Z moonrise +2022-09-14T23:30:48.430Z sunset +2022-09-15T02:19:44.979Z moonrise 2022-09-15T09:14:23.301Z Moon culminates 80.94 degrees above the horizon -2022-09-15T11:09:49.859Z sunrise -2022-09-15T16:15:21.967Z moonset +2022-09-15T11:09:49.941Z sunrise +2022-09-15T16:15:22.122Z moonset 2022-09-15T17:19:56.135Z Sun culminates 64.25 degrees above the horizon -2022-09-15T23:29:36.419Z sunset -2022-09-16T02:57:15.360Z moonrise +2022-09-15T23:29:36.420Z sunset +2022-09-16T02:57:15.252Z moonrise 2022-09-16T10:02:51.226Z Moon culminates 84.73 degrees above the horizon -2022-09-16T11:10:19.006Z sunrise -2022-09-16T17:13:34.635Z moonset +2022-09-16T11:10:19.089Z sunrise +2022-09-16T17:13:34.841Z moonset 2022-09-16T17:19:34.653Z Sun culminates 63.86 degrees above the horizon 2022-09-16T22:11:50.602Z Neptune opposition -2022-09-16T23:28:24.334Z sunset -2022-09-17T03:38:42.994Z moonrise +2022-09-16T23:28:24.335Z sunset +2022-09-17T03:38:42.845Z moonrise 2022-09-17T10:52:44.075Z Moon culminates 87.32 degrees above the horizon -2022-09-17T11:10:48.222Z sunrise +2022-09-17T11:10:48.306Z sunrise 2022-09-17T17:19:13.180Z Sun culminates 63.47 degrees above the horizon -2022-09-17T18:10:03.919Z moonset +2022-09-17T18:10:04.142Z moonset 2022-09-17T21:52:38.030Z third quarter -2022-09-17T23:27:12.202Z sunset -2022-09-18T04:24:37.221Z moonrise -2022-09-18T11:11:17.521Z sunrise +2022-09-17T23:27:12.203Z sunset +2022-09-18T04:24:37.040Z moonrise +2022-09-18T11:11:17.605Z sunrise 2022-09-18T11:43:35.817Z Moon culminates 88.58 degrees above the horizon 2022-09-18T17:18:51.736Z Sun culminates 63.09 degrees above the horizon -2022-09-18T19:03:35.653Z moonset -2022-09-18T23:26:00.050Z sunset -2022-09-19T05:14:49.898Z moonrise -2022-09-19T11:11:46.914Z sunrise +2022-09-18T19:03:35.871Z moonset +2022-09-18T23:26:00.051Z sunset +2022-09-19T05:14:49.695Z moonrise +2022-09-19T11:11:47.000Z sunrise 2022-09-19T12:34:38.498Z Moon culminates 88.47 degrees above the horizon 2022-09-19T14:44:37.547Z lunar apogee at 404544 km 2022-09-19T17:18:30.342Z Sun culminates 62.70 degrees above the horizon -2022-09-19T19:53:01.914Z moonset -2022-09-19T23:24:47.906Z sunset -2022-09-20T06:08:32.450Z moonrise -2022-09-20T11:12:16.416Z sunrise +2022-09-19T19:53:02.113Z moonset +2022-09-19T23:24:47.907Z sunset +2022-09-20T06:08:32.240Z moonrise +2022-09-20T11:12:16.502Z sunrise 2022-09-20T13:24:56.962Z Moon culminates 87.01 degrees above the horizon 2022-09-20T17:18:09.017Z Sun culminates 62.31 degrees above the horizon -2022-09-20T20:37:45.413Z moonset -2022-09-20T23:23:35.796Z sunset -2022-09-21T07:04:30.025Z moonrise -2022-09-21T11:12:46.037Z sunrise +2022-09-20T20:37:45.583Z moonset +2022-09-20T23:23:35.797Z sunset +2022-09-21T07:04:29.833Z moonrise +2022-09-21T11:12:46.124Z sunrise 2022-09-21T14:13:46.734Z Moon culminates 84.29 degrees above the horizon 2022-09-21T17:17:47.780Z Sun culminates 61.92 degrees above the horizon -2022-09-21T21:17:48.945Z moonset +2022-09-21T21:17:49.074Z moonset 2022-09-21T23:22:23.747Z sunset -2022-09-22T08:01:27.753Z moonrise -2022-09-22T11:13:15.789Z sunrise +2022-09-22T08:01:27.613Z moonrise +2022-09-22T11:13:15.876Z sunrise 2022-09-22T15:00:46.607Z Moon culminates 80.46 degrees above the horizon 2022-09-22T17:17:26.649Z Sun culminates 61.53 degrees above the horizon -2022-09-22T21:53:48.646Z moonset +2022-09-22T21:53:48.727Z moonset 2022-09-22T23:21:11.783Z sunset 2022-09-23T01:04:04.807Z September equinox 2022-09-23T06:43:36.400Z Mercury inferior conjunction -2022-09-23T08:58:34.119Z moonrise -2022-09-23T11:13:45.681Z sunrise +2022-09-23T08:58:34.046Z moonrise +2022-09-23T11:13:45.769Z sunrise 2022-09-23T15:46:01.926Z Moon culminates 75.69 degrees above the horizon 2022-09-23T17:17:05.642Z Sun culminates 61.15 degrees above the horizon -2022-09-23T22:26:40.612Z moonset +2022-09-23T22:26:40.652Z moonset 2022-09-23T23:19:59.931Z sunset 2022-09-24T03:30:29.323Z Venus moves from Leo to Virgo -2022-09-24T09:55:31.126Z moonrise -2022-09-24T11:14:15.722Z sunrise +2022-09-24T09:55:31.105Z moonrise +2022-09-24T11:14:15.811Z sunrise 2022-09-24T16:30:00.923Z Moon culminates 70.18 degrees above the horizon 2022-09-24T17:16:44.776Z Sun culminates 60.76 degrees above the horizon -2022-09-24T22:57:30.058Z moonset +2022-09-24T22:57:30.075Z moonset 2022-09-24T23:18:48.214Z sunset 2022-09-25T10:52:32.221Z moonrise -2022-09-25T11:14:45.923Z sunrise +2022-09-25T11:14:46.013Z sunrise 2022-09-25T17:13:28.809Z Moon culminates 64.16 degrees above the horizon 2022-09-25T17:16:24.068Z Sun culminates 60.37 degrees above the horizon 2022-09-25T21:55:10.031Z new moon -2022-09-25T23:17:36.657Z sunset -2022-09-25T23:27:26.237Z moonset -2022-09-26T11:15:16.293Z sunrise -2022-09-26T11:50:13.981Z moonrise +2022-09-25T23:17:36.658Z sunset +2022-09-25T23:27:26.248Z moonset +2022-09-26T11:15:16.383Z sunrise +2022-09-26T11:50:13.983Z moonrise 2022-09-26T17:16:03.534Z Sun culminates 59.98 degrees above the horizon 2022-09-26T17:57:22.584Z Moon culminates 57.87 degrees above the horizon 2022-09-26T19:20:00.963Z Jupiter opposition 2022-09-26T23:16:25.286Z sunset -2022-09-26T23:57:42.320Z moonset -2022-09-27T11:15:46.429Z sunrise -2022-09-27T12:49:25.367Z moonrise +2022-09-26T23:57:42.327Z moonset +2022-09-27T11:15:46.930Z sunrise +2022-09-27T12:49:25.381Z moonrise 2022-09-27T17:15:43.192Z Sun culminates 59.59 degrees above the horizon 2022-09-27T18:42:46.810Z Moon culminates 51.61 degrees above the horizon -2022-09-27T23:15:14.123Z sunset -2022-09-28T00:29:38.223Z moonset -2022-09-28T11:16:17.572Z sunrise -2022-09-28T13:50:53.978Z moonrise +2022-09-27T23:15:14.124Z sunset +2022-09-28T00:29:38.215Z moonset +2022-09-28T11:16:17.664Z sunrise +2022-09-28T13:50:54.045Z moonrise 2022-09-28T17:15:23.058Z Sun culminates 59.20 degrees above the horizon 2022-09-28T19:30:48.346Z Moon culminates 45.69 degrees above the horizon -2022-09-28T23:14:03.195Z sunset -2022-09-29T01:04:43.974Z moonset -2022-09-29T11:16:48.501Z sunrise -2022-09-29T14:55:05.773Z moonrise +2022-09-28T23:14:03.295Z sunset +2022-09-29T01:04:43.924Z moonset +2022-09-29T11:16:48.593Z sunrise +2022-09-29T14:55:05.934Z moonrise 2022-09-29T17:15:03.149Z Sun culminates 58.81 degrees above the horizon 2022-09-29T20:22:26.325Z Moon culminates 40.49 degrees above the horizon -2022-09-29T23:12:52.526Z sunset -2022-09-30T01:44:39.593Z moonset -2022-09-30T11:17:19.636Z sunrise -2022-09-30T16:01:36.317Z moonrise +2022-09-29T23:12:52.624Z sunset +2022-09-30T01:44:39.479Z moonset +2022-09-30T11:17:19.729Z sunrise +2022-09-30T16:01:36.568Z moonrise 2022-09-30T17:14:43.484Z Sun culminates 58.42 degrees above the horizon 2022-09-30T21:18:13.458Z Moon culminates 36.42 degrees above the horizon -2022-09-30T23:11:42.141Z sunset -2022-10-01T02:31:03.946Z moonset -2022-10-01T11:17:50.986Z sunrise -2022-10-01T17:08:43.733Z moonrise +2022-09-30T23:11:42.239Z sunset +2022-10-01T02:31:03.764Z moonset +2022-10-01T11:17:51.080Z sunrise +2022-10-01T17:08:44.021Z moonrise 2022-10-01T17:14:24.080Z Sun culminates 58.03 degrees above the horizon 2022-10-01T22:17:50.074Z Moon culminates 33.89 degrees above the horizon -2022-10-01T23:10:32.067Z sunset -2022-10-02T03:25:03.091Z moonset -2022-10-02T11:18:22.562Z sunrise +2022-10-01T23:10:32.164Z sunset +2022-10-02T03:25:02.854Z moonset +2022-10-02T11:18:22.657Z sunrise 2022-10-02T17:14:04.956Z Sun culminates 57.65 degrees above the horizon -2022-10-02T18:13:34.251Z moonrise -2022-10-02T23:09:22.331Z sunset +2022-10-02T18:13:34.525Z moonrise +2022-10-02T23:09:22.427Z sunset 2022-10-02T23:19:46.872Z Moon culminates 33.21 degrees above the horizon 2022-10-03T00:14:33.665Z first quarter -2022-10-03T04:26:21.660Z moonset -2022-10-03T11:18:54.376Z sunrise +2022-10-03T04:26:21.383Z moonset +2022-10-03T11:18:54.471Z sunrise 2022-10-03T17:13:46.131Z Sun culminates 57.26 degrees above the horizon -2022-10-03T19:13:05.547Z moonrise -2022-10-03T23:08:12.961Z sunset +2022-10-03T19:13:05.781Z moonrise +2022-10-03T23:08:13.055Z sunset 2022-10-04T00:21:42.869Z Moon culminates 34.50 degrees above the horizon -2022-10-04T05:32:56.018Z moonset -2022-10-04T11:19:26.438Z sunrise +2022-10-04T05:32:55.737Z moonset +2022-10-04T11:19:26.534Z sunrise 2022-10-04T16:32:54.786Z lunar perigee at 369315 km 2022-10-04T17:13:27.627Z Sun culminates 56.88 degrees above the horizon -2022-10-04T20:05:30.735Z moonrise -2022-10-04T23:07:03.985Z sunset +2022-10-04T20:05:30.912Z moonrise +2022-10-04T23:07:04.078Z sunset 2022-10-05T01:21:21.156Z Moon culminates 37.62 degrees above the horizon -2022-10-05T06:41:36.560Z moonset -2022-10-05T11:19:58.761Z sunrise +2022-10-05T06:41:36.335Z moonset +2022-10-05T11:19:58.858Z sunrise 2022-10-05T17:13:09.462Z Sun culminates 56.49 degrees above the horizon -2022-10-05T20:50:49.124Z moonrise -2022-10-05T23:05:55.432Z sunset +2022-10-05T20:50:49.233Z moonrise +2022-10-05T23:05:55.525Z sunset 2022-10-06T02:17:21.668Z Moon culminates 42.27 degrees above the horizon -2022-10-06T07:49:35.766Z moonset -2022-10-06T11:20:31.360Z sunrise +2022-10-06T07:49:35.643Z moonset +2022-10-06T11:20:31.457Z sunrise 2022-10-06T17:12:51.660Z Sun culminates 56.11 degrees above the horizon 2022-10-06T20:57:54.208Z Mercury perihelion at 0.3075 AU -2022-10-06T21:30:13.779Z moonrise -2022-10-06T23:04:47.333Z sunset +2022-10-06T21:30:13.828Z moonrise +2022-10-06T23:04:47.424Z sunset 2022-10-07T03:09:33.932Z Moon culminates 48.00 degrees above the horizon -2022-10-07T08:55:24.535Z moonset -2022-10-07T11:21:04.247Z sunrise +2022-10-07T08:55:24.499Z moonset +2022-10-07T11:21:04.346Z sunrise 2022-10-07T17:12:34.242Z Sun culminates 55.73 degrees above the horizon -2022-10-07T22:05:25.267Z moonrise -2022-10-07T23:03:39.716Z sunset +2022-10-07T22:05:25.285Z moonrise +2022-10-07T23:03:39.806Z sunset 2022-10-08T03:58:37.221Z Moon culminates 54.39 degrees above the horizon -2022-10-08T09:58:49.703Z moonset -2022-10-08T11:21:37.439Z sunrise +2022-10-08T09:58:49.702Z moonset +2022-10-08T11:21:37.539Z sunrise 2022-10-08T17:12:17.231Z Sun culminates 55.35 degrees above the horizon 2022-10-08T21:11:21.577Z Mercury max morning elongation: 17.98 degrees from Sun -2022-10-08T22:38:04.032Z moonrise -2022-10-08T23:02:32.612Z sunset +2022-10-08T22:38:04.041Z moonrise +2022-10-08T23:02:32.701Z sunset 2022-10-09T04:45:34.564Z Moon culminates 61.03 degrees above the horizon -2022-10-09T11:00:23.354Z moonset -2022-10-09T11:22:10.949Z sunrise +2022-10-09T11:00:23.356Z moonset +2022-10-09T11:22:11.050Z sunrise 2022-10-09T17:12:00.650Z Sun culminates 54.97 degrees above the horizon 2022-10-09T20:55:31.695Z full moon -2022-10-09T23:01:26.052Z sunset -2022-10-09T23:09:41.523Z moonrise +2022-10-09T23:01:26.140Z sunset +2022-10-09T23:09:41.529Z moonrise 2022-10-10T05:31:34.395Z Moon culminates 67.55 degrees above the horizon -2022-10-10T11:22:44.794Z sunrise -2022-10-10T12:00:52.729Z moonset +2022-10-10T11:22:44.796Z sunrise +2022-10-10T12:00:52.742Z moonset 2022-10-10T17:11:44.521Z Sun culminates 54.59 degrees above the horizon -2022-10-10T23:00:20.067Z sunset -2022-10-10T23:41:40.522Z moonrise +2022-10-10T23:00:20.153Z sunset +2022-10-10T23:41:40.515Z moonrise 2022-10-11T06:17:39.891Z Moon culminates 73.63 degrees above the horizon -2022-10-11T11:23:18.988Z sunrise -2022-10-11T13:00:58.242Z moonset +2022-10-11T11:23:18.990Z sunrise +2022-10-11T13:00:58.298Z moonset 2022-10-11T17:11:28.868Z Sun culminates 54.21 degrees above the horizon -2022-10-11T22:59:14.686Z sunset -2022-10-12T00:15:17.403Z moonrise +2022-10-11T22:59:14.771Z sunset +2022-10-12T00:15:17.362Z moonrise 2022-10-12T07:04:41.769Z Moon culminates 78.97 degrees above the horizon -2022-10-12T11:23:53.546Z sunrise -2022-10-12T14:00:57.314Z moonset +2022-10-12T11:23:53.549Z sunrise +2022-10-12T14:00:57.440Z moonset 2022-10-12T17:11:13.713Z Sun culminates 53.84 degrees above the horizon -2022-10-12T22:58:09.942Z sunset -2022-10-13T00:51:42.109Z moonrise +2022-10-12T22:58:10.025Z sunset +2022-10-13T00:51:42.021Z moonrise 2022-10-13T07:53:11.387Z Moon culminates 83.33 degrees above the horizon -2022-10-13T11:24:28.481Z sunrise -2022-10-13T15:00:32.748Z moonset +2022-10-13T11:24:28.485Z sunrise +2022-10-13T15:00:32.938Z moonset 2022-10-13T17:10:59.078Z Sun culminates 53.46 degrees above the horizon -2022-10-13T22:57:05.866Z sunset -2022-10-14T01:31:53.131Z moonrise +2022-10-13T22:57:05.947Z sunset +2022-10-14T01:31:52.997Z moonrise 2022-10-14T08:43:13.942Z Moon culminates 86.51 degrees above the horizon -2022-10-14T11:25:03.806Z sunrise -2022-10-14T15:58:49.386Z moonset +2022-10-14T11:25:03.810Z sunrise +2022-10-14T15:58:49.607Z moonset 2022-10-14T17:10:44.985Z Sun culminates 53.09 degrees above the horizon -2022-10-14T22:56:02.487Z sunset -2022-10-15T02:16:26.582Z moonrise +2022-10-14T22:56:02.567Z sunset +2022-10-15T02:16:26.412Z moonrise 2022-10-15T09:34:25.015Z Moon culminates 88.37 degrees above the horizon -2022-10-15T11:25:39.532Z sunrise -2022-10-15T16:54:25.652Z moonset +2022-10-15T11:25:39.536Z sunrise +2022-10-15T16:54:25.875Z moonset 2022-10-15T17:10:31.455Z Sun culminates 52.72 degrees above the horizon -2022-10-15T22:54:59.837Z sunset -2022-10-16T03:05:22.957Z moonrise +2022-10-15T22:54:59.915Z sunset +2022-10-16T03:05:22.761Z moonrise 2022-10-16T10:25:55.389Z Moon culminates 88.84 degrees above the horizon -2022-10-16T11:26:15.668Z sunrise +2022-10-16T11:26:15.673Z sunrise 2022-10-16T17:10:18.507Z Sun culminates 52.35 degrees above the horizon -2022-10-16T17:46:00.390Z moonset -2022-10-16T22:53:57.946Z sunset -2022-10-17T03:58:01.231Z moonrise +2022-10-16T17:46:00.599Z moonset +2022-10-16T22:53:58.022Z sunset +2022-10-17T03:58:01.020Z moonrise 2022-10-17T10:20:05.770Z lunar apogee at 404315 km 2022-10-17T11:16:45.901Z Moon culminates 87.92 degrees above the horizon -2022-10-17T11:26:52.223Z sunrise +2022-10-17T11:26:52.229Z sunrise 2022-10-17T17:10:06.161Z Sun culminates 51.99 degrees above the horizon 2022-10-17T17:15:47.323Z third quarter -2022-10-17T18:32:42.202Z moonset -2022-10-17T22:52:56.843Z sunset -2022-10-18T04:53:09.910Z moonrise -2022-10-18T11:27:29.203Z sunrise +2022-10-17T18:32:42.387Z moonset +2022-10-17T22:52:56.917Z sunset +2022-10-18T04:53:09.705Z moonrise +2022-10-18T11:27:29.211Z sunrise 2022-10-18T12:06:06.847Z Moon culminates 85.70 degrees above the horizon 2022-10-18T17:09:54.433Z Sun culminates 51.62 degrees above the horizon -2022-10-18T19:14:23.927Z moonset -2022-10-18T22:51:56.558Z sunset -2022-10-19T05:49:32.694Z moonrise -2022-10-19T11:28:06.615Z sunrise +2022-10-18T19:14:24.077Z moonset +2022-10-18T22:51:56.629Z sunset +2022-10-19T05:49:32.527Z moonrise +2022-10-19T11:28:06.624Z sunrise 2022-10-19T12:53:32.472Z Moon culminates 82.32 degrees above the horizon 2022-10-19T17:09:43.342Z Sun culminates 51.26 degrees above the horizon -2022-10-19T19:51:37.540Z moonset -2022-10-19T22:50:57.117Z sunset -2022-10-20T06:46:14.012Z moonrise -2022-10-20T11:28:44.461Z sunrise +2022-10-19T19:51:37.644Z moonset +2022-10-19T22:50:57.186Z sunset +2022-10-20T06:46:13.908Z moonrise +2022-10-20T11:28:44.471Z sunrise 2022-10-20T13:39:05.333Z Moon culminates 77.94 degrees above the horizon 2022-10-20T17:09:32.901Z Sun culminates 50.91 degrees above the horizon -2022-10-20T20:25:19.246Z moonset -2022-10-20T22:49:58.550Z sunset -2022-10-21T07:42:51.877Z moonrise -2022-10-21T11:29:22.744Z sunrise +2022-10-20T20:25:19.303Z moonset +2022-10-20T22:49:58.617Z sunset +2022-10-21T07:42:51.836Z moonrise +2022-10-21T11:29:22.754Z sunrise 2022-10-21T14:23:12.621Z Moon culminates 72.73 degrees above the horizon 2022-10-21T17:09:23.126Z Sun culminates 50.55 degrees above the horizon -2022-10-21T20:56:36.196Z moonset -2022-10-21T22:49:00.883Z sunset -2022-10-22T08:39:37.400Z moonrise -2022-10-22T11:30:01.463Z sunrise +2022-10-21T20:56:36.221Z moonset +2022-10-21T22:49:00.947Z sunset +2022-10-22T08:39:37.394Z moonrise +2022-10-22T11:30:01.475Z sunrise 2022-10-22T15:06:39.733Z Moon culminates 66.89 degrees above the horizon 2022-10-22T17:09:14.029Z Sun culminates 50.20 degrees above the horizon 2022-10-22T20:39:29.202Z Venus superior conjunction -2022-10-22T21:26:39.633Z moonset -2022-10-22T22:48:04.142Z sunset -2022-10-23T09:37:07.161Z moonrise -2022-10-23T11:30:40.617Z sunrise +2022-10-22T21:26:39.645Z moonset +2022-10-22T22:48:04.204Z sunset +2022-10-23T09:37:07.163Z moonrise +2022-10-23T11:30:40.631Z sunrise 2022-10-23T15:50:24.735Z Moon culminates 60.64 degrees above the horizon 2022-10-23T17:09:05.624Z Sun culminates 49.85 degrees above the horizon -2022-10-23T21:56:43.942Z moonset -2022-10-23T22:47:08.353Z sunset -2022-10-24T10:36:13.092Z moonrise -2022-10-24T11:31:20.205Z sunrise +2022-10-23T21:56:43.951Z moonset +2022-10-23T22:47:08.412Z sunset +2022-10-24T10:36:13.098Z moonrise +2022-10-24T11:31:20.220Z sunrise 2022-10-24T16:35:34.309Z Moon culminates 54.22 degrees above the horizon 2022-10-24T17:08:57.920Z Sun culminates 49.50 degrees above the horizon 2022-10-24T22:28:09.425Z moonset -2022-10-24T22:46:13.540Z sunset +2022-10-24T22:46:13.596Z sunset 2022-10-25T10:49:14.374Z new moon -2022-10-25T11:32:00.223Z sunrise -2022-10-25T11:37:49.649Z moonrise +2022-10-25T11:32:00.239Z sunrise +2022-10-25T11:37:49.689Z moonrise 2022-10-25T17:08:50.930Z Sun culminates 49.15 degrees above the horizon 2022-10-25T17:23:19.156Z Moon culminates 47.98 degrees above the horizon -2022-10-25T22:45:19.729Z sunset -2022-10-25T23:02:26.283Z moonset -2022-10-26T11:32:40.665Z sunrise -2022-10-26T12:42:34.058Z moonrise +2022-10-25T22:45:19.782Z sunset +2022-10-25T23:02:26.253Z moonset +2022-10-26T11:32:40.684Z sunrise +2022-10-26T12:42:34.182Z moonrise 2022-10-26T17:08:44.661Z Sun culminates 48.81 degrees above the horizon 2022-10-26T18:14:44.781Z Moon culminates 42.29 degrees above the horizon -2022-10-26T22:44:26.942Z sunset -2022-10-26T23:41:16.009Z moonset -2022-10-27T11:33:21.527Z sunrise -2022-10-27T13:50:15.466Z moonrise +2022-10-26T22:44:26.993Z sunset +2022-10-26T23:41:15.920Z moonset +2022-10-27T11:33:21.547Z sunrise +2022-10-27T13:50:15.694Z moonrise 2022-10-27T17:08:39.124Z Sun culminates 48.47 degrees above the horizon 2022-10-27T19:10:32.670Z Moon culminates 37.62 degrees above the horizon -2022-10-27T22:43:35.205Z sunset -2022-10-28T00:26:22.784Z moonset -2022-10-28T11:34:02.802Z sunrise -2022-10-28T14:59:19.951Z moonrise +2022-10-27T22:43:35.253Z sunset +2022-10-28T00:26:22.623Z moonset +2022-10-28T11:34:02.824Z sunrise +2022-10-28T14:59:20.237Z moonrise 2022-10-28T17:08:34.326Z Sun culminates 48.14 degrees above the horizon 2022-10-28T20:10:31.355Z Moon culminates 34.44 degrees above the horizon -2022-10-28T22:42:44.542Z sunset -2022-10-29T01:19:04.004Z moonset -2022-10-29T11:34:44.483Z sunrise +2022-10-28T22:42:44.586Z sunset +2022-10-29T01:19:03.781Z moonset +2022-10-29T11:34:44.507Z sunrise 2022-10-29T13:39:29.445Z Venus moves from Virgo to Libra 2022-10-29T14:36:21.750Z lunar perigee at 368281 km -2022-10-29T16:06:44.125Z moonrise +2022-10-29T16:06:44.408Z moonrise 2022-10-29T17:08:30.277Z Sun culminates 47.81 degrees above the horizon 2022-10-29T21:13:12.740Z Moon culminates 33.12 degrees above the horizon -2022-10-29T22:41:54.975Z sunset -2022-10-30T02:19:18.904Z moonset -2022-10-30T11:35:26.561Z sunrise +2022-10-29T22:41:55.016Z sunset +2022-10-30T02:19:18.636Z moonset +2022-10-30T11:35:26.587Z sunrise 2022-10-30T17:08:26.985Z Sun culminates 47.48 degrees above the horizon -2022-10-30T17:08:56.324Z moonrise +2022-10-30T17:08:56.573Z moonrise 2022-10-30T22:16:05.356Z Moon culminates 33.82 degrees above the horizon -2022-10-30T22:41:06.531Z sunset -2022-10-31T03:25:11.492Z moonset -2022-10-31T11:36:09.029Z sunrise +2022-10-30T22:41:06.569Z sunset +2022-10-31T03:25:11.206Z moonset +2022-10-31T11:36:09.057Z sunrise 2022-10-31T17:08:24.458Z Sun culminates 47.16 degrees above the horizon -2022-10-31T18:03:37.550Z moonrise -2022-10-31T22:40:19.234Z sunset +2022-10-31T18:03:37.747Z moonrise +2022-10-31T22:40:19.269Z sunset 2022-10-31T23:16:34.686Z Moon culminates 36.43 degrees above the horizon -2022-11-01T04:33:25.418Z moonset +2022-11-01T04:33:25.169Z moonset 2022-11-01T06:37:39.782Z first quarter -2022-11-01T11:36:51.878Z sunrise +2022-11-01T11:36:51.909Z sunrise 2022-11-01T17:08:22.704Z Sun culminates 46.84 degrees above the horizon -2022-11-01T18:50:30.210Z moonrise -2022-11-01T22:39:33.111Z sunset +2022-11-01T18:50:30.342Z moonrise +2022-11-01T22:39:33.142Z sunset 2022-11-02T00:13:06.371Z Moon culminates 40.62 degrees above the horizon -2022-11-02T05:40:58.585Z moonset -2022-11-02T11:37:35.100Z sunrise +2022-11-02T05:40:58.429Z moonset +2022-11-02T11:37:35.133Z sunrise 2022-11-02T17:08:21.734Z Sun culminates 46.52 degrees above the horizon -2022-11-02T19:30:46.562Z moonrise -2022-11-02T22:38:48.186Z sunset +2022-11-02T19:30:46.630Z moonrise +2022-11-02T22:38:48.214Z sunset 2022-11-03T01:05:24.314Z Moon culminates 45.96 degrees above the horizon -2022-11-03T06:46:11.023Z moonset -2022-11-03T11:38:18.687Z sunrise +2022-11-03T06:46:10.963Z moonset +2022-11-03T11:38:18.722Z sunrise 2022-11-03T13:21:52.559Z Mercury moves from Virgo to Libra 2022-11-03T17:08:21.555Z Sun culminates 46.21 degrees above the horizon -2022-11-03T20:06:13.572Z moonrise -2022-11-03T22:38:04.487Z sunset +2022-11-03T20:06:13.599Z moonrise +2022-11-03T22:38:04.511Z sunset 2022-11-04T01:54:09.015Z Moon culminates 52.05 degrees above the horizon -2022-11-04T07:48:46.670Z moonset -2022-11-04T11:39:02.630Z sunrise +2022-11-04T07:48:46.662Z moonset +2022-11-04T11:39:02.668Z sunrise 2022-11-04T17:08:22.177Z Sun culminates 45.90 degrees above the horizon -2022-11-04T20:38:38.535Z moonrise -2022-11-04T22:37:22.040Z sunset +2022-11-04T20:38:38.547Z moonrise +2022-11-04T22:37:22.060Z sunset 2022-11-05T02:40:27.937Z Moon culminates 58.50 degrees above the horizon -2022-11-05T08:49:21.057Z moonset -2022-11-05T11:39:46.922Z sunrise +2022-11-05T08:49:21.059Z moonset +2022-11-05T11:39:46.962Z sunrise 2022-11-05T17:08:23.609Z Sun culminates 45.60 degrees above the horizon -2022-11-05T21:09:37.860Z moonrise -2022-11-05T22:36:40.870Z sunset +2022-11-05T21:09:37.869Z moonrise +2022-11-05T22:36:40.887Z sunset 2022-11-06T03:25:35.118Z Moon culminates 64.97 degrees above the horizon -2022-11-06T09:48:49.150Z moonset -2022-11-06T11:40:31.554Z sunrise +2022-11-06T09:48:49.156Z moonset +2022-11-06T11:40:31.597Z sunrise 2022-11-06T17:08:25.860Z Sun culminates 45.30 degrees above the horizon -2022-11-06T21:40:37.501Z moonrise -2022-11-06T22:36:01.005Z sunset +2022-11-06T21:40:37.502Z moonrise +2022-11-06T22:36:01.018Z sunset 2022-11-07T04:10:40.227Z Moon culminates 71.17 degrees above the horizon -2022-11-07T10:48:02.577Z moonset -2022-11-07T11:41:16.518Z sunrise +2022-11-07T10:48:02.610Z moonset +2022-11-07T11:41:16.563Z sunrise 2022-11-07T17:08:28.939Z Sun culminates 45.00 degrees above the horizon -2022-11-07T22:12:56.381Z moonrise -2022-11-07T22:35:22.470Z sunset +2022-11-07T22:12:56.357Z moonrise +2022-11-07T22:35:22.480Z sunset 2022-11-08T04:56:41.880Z Moon culminates 76.81 degrees above the horizon 2022-11-08T10:59:07.538Z total lunar eclipse 2022-11-08T11:02:46.365Z full moon -2022-11-08T11:42:01.804Z sunrise -2022-11-08T11:47:32.905Z moonset +2022-11-08T11:42:01.852Z sunrise +2022-11-08T11:47:33.000Z moonset 2022-11-08T16:23:20.867Z Mercury superior conjunction 2022-11-08T17:08:32.854Z Sun culminates 44.71 degrees above the horizon -2022-11-08T22:34:45.292Z sunset -2022-11-08T22:47:48.028Z moonrise +2022-11-08T22:34:45.297Z sunset +2022-11-08T22:47:47.961Z moonrise 2022-11-09T05:44:20.928Z Moon culminates 81.61 degrees above the horizon 2022-11-09T08:13:10.917Z Uranus opposition -2022-11-09T11:42:47.401Z sunrise -2022-11-09T12:47:17.640Z moonset +2022-11-09T11:42:47.451Z sunrise +2022-11-09T12:47:17.806Z moonset 2022-11-09T17:08:37.612Z Sun culminates 44.43 degrees above the horizon -2022-11-09T22:34:09.496Z sunset -2022-11-09T23:26:17.312Z moonrise +2022-11-09T22:34:09.497Z sunset +2022-11-09T23:26:17.196Z moonrise 2022-11-10T06:33:52.356Z Moon culminates 85.33 degrees above the horizon -2022-11-10T11:43:33.297Z sunrise -2022-11-10T13:46:31.274Z moonset +2022-11-10T11:43:33.351Z sunrise +2022-11-10T13:46:31.487Z moonset 2022-11-10T17:08:43.220Z Sun culminates 44.15 degrees above the horizon -2022-11-10T22:33:35.107Z sunset -2022-11-11T00:09:10.313Z moonrise +2022-11-10T22:33:35.105Z sunset +2022-11-11T00:09:10.157Z moonrise 2022-11-11T07:24:58.482Z Moon culminates 87.78 degrees above the horizon -2022-11-11T11:44:19.480Z sunrise -2022-11-11T14:43:49.800Z moonset +2022-11-11T11:44:19.536Z sunrise +2022-11-11T14:43:50.025Z moonset 2022-11-11T17:08:49.683Z Sun culminates 43.87 degrees above the horizon -2022-11-11T22:33:02.150Z sunset -2022-11-12T00:56:39.119Z moonrise +2022-11-11T22:33:02.144Z sunset +2022-11-12T00:56:38.932Z moonrise 2022-11-12T08:16:49.799Z Moon culminates 88.84 degrees above the horizon -2022-11-12T11:45:05.934Z sunrise -2022-11-12T15:37:35.189Z moonset +2022-11-12T11:45:05.992Z sunrise +2022-11-12T15:37:35.405Z moonset 2022-11-12T17:08:57.007Z Sun culminates 43.60 degrees above the horizon -2022-11-12T22:32:30.650Z sunset -2022-11-13T01:48:10.690Z moonrise +2022-11-12T22:32:30.640Z sunset +2022-11-13T01:48:10.483Z moonrise 2022-11-13T09:08:18.479Z Moon culminates 88.49 degrees above the horizon -2022-11-13T11:45:52.642Z sunrise -2022-11-13T16:26:31.355Z moonset +2022-11-13T11:45:52.703Z sunrise +2022-11-13T16:26:31.552Z moonset 2022-11-13T17:09:05.193Z Sun culminates 43.33 degrees above the horizon -2022-11-13T22:32:00.628Z sunset -2022-11-14T02:42:32.807Z moonrise +2022-11-13T22:32:00.615Z sunset +2022-11-14T02:42:32.595Z moonrise 2022-11-14T06:39:54.892Z lunar apogee at 404911 km 2022-11-14T09:58:20.964Z Moon culminates 86.78 degrees above the horizon -2022-11-14T11:46:39.585Z sunrise +2022-11-14T11:46:39.649Z sunrise 2022-11-14T17:09:14.244Z Sun culminates 43.07 degrees above the horizon -2022-11-14T17:10:09.511Z moonset -2022-11-14T22:31:32.108Z sunset -2022-11-15T03:38:19.800Z moonrise +2022-11-14T17:10:09.678Z moonset +2022-11-14T22:31:32.091Z sunset +2022-11-15T03:38:19.613Z moonrise 2022-11-15T10:46:17.964Z Moon culminates 83.88 degrees above the horizon -2022-11-15T11:47:26.743Z sunrise +2022-11-15T11:47:26.810Z sunrise 2022-11-15T17:09:24.158Z Sun culminates 42.82 degrees above the horizon -2022-11-15T17:48:49.344Z moonset -2022-11-15T22:31:05.108Z sunset -2022-11-16T04:34:23.371Z moonrise +2022-11-15T17:48:49.469Z moonset +2022-11-15T22:31:05.088Z sunset +2022-11-16T04:34:23.239Z moonrise 2022-11-16T11:32:02.623Z Moon culminates 79.93 degrees above the horizon -2022-11-16T11:48:14.093Z sunrise +2022-11-16T11:48:14.162Z sunrise 2022-11-16T13:27:45.877Z third quarter 2022-11-16T17:09:34.935Z Sun culminates 42.57 degrees above the horizon -2022-11-16T18:23:23.354Z moonset -2022-11-16T22:30:39.649Z sunset +2022-11-16T18:23:23.431Z moonset +2022-11-16T22:30:39.625Z sunset 2022-11-17T01:32:19.728Z Mercury moves from Libra to Scorpius -2022-11-17T05:30:11.059Z moonrise -2022-11-17T11:49:01.608Z sunrise +2022-11-17T05:30:10.993Z moonrise +2022-11-17T11:49:01.681Z sunrise 2022-11-17T12:15:57.515Z Moon culminates 75.13 degrees above the horizon 2022-11-17T17:09:46.570Z Sun culminates 42.32 degrees above the horizon -2022-11-17T18:54:59.621Z moonset +2022-11-17T18:54:59.659Z moonset 2022-11-17T21:14:04.560Z Venus moves from Libra to Scorpius -2022-11-17T22:30:15.748Z sunset -2022-11-18T06:25:48.351Z moonrise -2022-11-18T11:49:49.263Z sunrise +2022-11-17T22:30:15.720Z sunset +2022-11-18T06:25:48.333Z moonrise +2022-11-18T11:49:49.338Z sunrise 2022-11-18T12:58:46.989Z Moon culminates 69.64 degrees above the horizon 2022-11-18T17:09:59.056Z Sun culminates 42.08 degrees above the horizon -2022-11-18T19:24:51.468Z moonset -2022-11-18T22:29:53.419Z sunset -2022-11-19T07:21:51.341Z moonrise -2022-11-19T11:50:37.026Z sunrise +2022-11-18T19:24:51.486Z moonset +2022-11-18T22:29:53.388Z sunset +2022-11-19T07:21:51.343Z moonrise +2022-11-19T11:50:37.104Z sunrise 2022-11-19T13:41:30.357Z Moon culminates 63.65 degrees above the horizon 2022-11-19T17:10:12.387Z Sun culminates 41.85 degrees above the horizon -2022-11-19T19:54:14.621Z moonset +2022-11-19T19:54:14.632Z moonset 2022-11-19T20:35:25.839Z Mercury aphelion at 0.4667 AU -2022-11-19T22:29:32.678Z sunset -2022-11-20T08:19:16.898Z moonrise -2022-11-20T11:51:24.867Z sunrise +2022-11-19T22:29:32.643Z sunset +2022-11-20T08:19:16.901Z moonrise +2022-11-20T11:51:24.948Z sunrise 2022-11-20T14:25:17.657Z Moon culminates 57.34 degrees above the horizon 2022-11-20T17:10:26.552Z Sun culminates 41.63 degrees above the horizon -2022-11-20T20:24:29.559Z moonset -2022-11-20T22:29:13.535Z sunset -2022-11-21T09:19:11.887Z moonrise -2022-11-21T11:52:12.753Z sunrise +2022-11-20T20:24:29.565Z moonset +2022-11-20T22:29:13.497Z sunset +2022-11-21T09:19:11.904Z moonrise +2022-11-21T11:52:12.836Z sunrise 2022-11-21T15:11:26.603Z Moon culminates 50.99 degrees above the horizon 2022-11-21T17:10:41.539Z Sun culminates 41.40 degrees above the horizon -2022-11-21T20:57:06.562Z moonset -2022-11-21T22:28:56.002Z sunset -2022-11-22T10:22:37.414Z moonrise -2022-11-22T11:53:00.648Z sunrise +2022-11-21T20:57:06.550Z moonset +2022-11-21T22:28:55.960Z sunset +2022-11-22T10:22:37.491Z moonrise +2022-11-22T11:53:00.733Z sunrise 2022-11-22T14:19:31.280Z Venus moves from Scorpius to Ophiuchus 2022-11-22T15:02:51.080Z Mercury moves from Scorpius to Ophiuchus 2022-11-22T16:01:16.757Z Moon culminates 44.95 degrees above the horizon 2022-11-22T17:10:57.336Z Sun culminates 41.19 degrees above the horizon -2022-11-22T21:33:50.386Z moonset -2022-11-22T22:28:40.085Z sunset -2022-11-23T11:30:00.500Z moonrise -2022-11-23T11:53:48.515Z sunrise +2022-11-22T21:33:50.327Z moonset +2022-11-22T22:28:40.040Z sunset +2022-11-23T11:30:00.681Z moonrise +2022-11-23T11:53:48.603Z sunrise 2022-11-23T16:55:54.376Z Moon culminates 39.65 degrees above the horizon 2022-11-23T17:11:13.927Z Sun culminates 40.98 degrees above the horizon -2022-11-23T22:16:38.145Z moonset -2022-11-23T22:28:25.791Z sunset +2022-11-23T22:16:38.017Z moonset +2022-11-23T22:28:25.743Z sunset 2022-11-23T22:57:46.053Z new moon -2022-11-24T11:54:36.316Z sunrise -2022-11-24T12:40:30.014Z moonrise +2022-11-24T11:54:36.407Z sunrise +2022-11-24T12:40:30.283Z moonrise 2022-11-24T17:11:31.295Z Sun culminates 40.78 degrees above the horizon 2022-11-24T17:55:41.640Z Moon culminates 35.64 degrees above the horizon -2022-11-24T22:28:13.126Z sunset -2022-11-24T23:07:17.480Z moonset -2022-11-25T11:55:24.013Z sunrise -2022-11-25T13:51:19.797Z moonrise +2022-11-24T22:28:13.075Z sunset +2022-11-24T23:07:17.282Z moonset +2022-11-25T11:55:24.106Z sunrise +2022-11-25T13:51:20.089Z moonrise 2022-11-25T17:11:49.423Z Sun culminates 40.58 degrees above the horizon 2022-11-25T18:59:37.014Z Moon culminates 33.43 degrees above the horizon -2022-11-25T22:28:02.092Z sunset -2022-11-26T00:06:32.097Z moonset +2022-11-25T22:28:02.038Z sunset +2022-11-26T00:06:31.843Z moonset 2022-11-26T01:31:34.031Z lunar perigee at 362815 km -2022-11-26T11:56:11.565Z sunrise -2022-11-26T14:58:18.942Z moonrise +2022-11-26T11:56:11.660Z sunrise +2022-11-26T14:58:19.206Z moonrise 2022-11-26T17:12:08.291Z Sun culminates 40.39 degrees above the horizon 2022-11-26T20:05:03.139Z Moon culminates 33.34 degrees above the horizon -2022-11-26T22:27:52.691Z sunset -2022-11-27T01:12:56.080Z moonset -2022-11-27T11:56:58.929Z sunrise -2022-11-27T15:57:50.869Z moonrise +2022-11-26T22:27:52.634Z sunset +2022-11-27T01:12:55.793Z moonset +2022-11-27T11:56:59.027Z sunrise +2022-11-27T15:57:51.085Z moonrise 2022-11-27T17:12:27.879Z Sun culminates 40.21 degrees above the horizon 2022-11-27T21:08:42.177Z Moon culminates 35.36 degrees above the horizon -2022-11-27T22:27:44.926Z sunset -2022-11-28T02:22:55.905Z moonset -2022-11-28T11:57:46.065Z sunrise -2022-11-28T16:48:37.554Z moonrise +2022-11-27T22:27:44.866Z sunset +2022-11-28T02:22:55.634Z moonset +2022-11-28T11:57:46.165Z sunrise +2022-11-28T16:48:37.706Z moonrise 2022-11-28T17:12:48.167Z Sun culminates 40.03 degrees above the horizon 2022-11-28T22:08:07.810Z Moon culminates 39.17 degrees above the horizon -2022-11-28T22:27:38.797Z sunset -2022-11-29T03:32:36.231Z moonset -2022-11-29T11:58:32.930Z sunrise +2022-11-28T22:27:38.735Z sunset +2022-11-29T03:32:36.042Z moonset +2022-11-29T11:58:33.032Z sunrise 2022-11-29T17:13:09.135Z Sun culminates 39.87 degrees above the horizon -2022-11-29T17:31:32.363Z moonrise -2022-11-29T22:27:34.305Z sunset +2022-11-29T17:31:32.447Z moonrise +2022-11-29T22:27:34.240Z sunset 2022-11-29T23:02:32.113Z Moon culminates 44.29 degrees above the horizon -2022-11-30T04:39:29.260Z moonset -2022-11-30T11:59:19.484Z sunrise +2022-11-30T04:39:29.176Z moonset +2022-11-30T11:59:19.587Z sunrise 2022-11-30T14:37:08.419Z first quarter 2022-11-30T17:13:30.761Z Sun culminates 39.70 degrees above the horizon -2022-11-30T18:08:29.655Z moonrise -2022-11-30T22:27:31.449Z sunset +2022-11-30T18:08:29.691Z moonrise +2022-11-30T22:27:31.382Z sunset 2022-11-30T23:52:27.297Z Moon culminates 50.22 degrees above the horizon -2022-12-01T05:42:56.935Z moonset -2022-12-01T12:00:05.684Z sunrise +2022-12-01T05:42:56.917Z moonset +2022-12-01T12:00:05.790Z sunrise 2022-12-01T17:13:53.025Z Sun culminates 39.55 degrees above the horizon -2022-12-01T18:41:30.845Z moonrise -2022-12-01T22:27:30.229Z sunset +2022-12-01T18:41:30.859Z moonrise +2022-12-01T22:27:30.160Z sunset 2022-12-02T00:39:05.672Z Moon culminates 56.56 degrees above the horizon -2022-12-02T06:43:33.384Z moonset -2022-12-02T12:00:51.492Z sunrise +2022-12-02T06:43:33.385Z moonset +2022-12-02T12:00:51.599Z sunrise 2022-12-02T17:14:15.906Z Sun culminates 39.40 degrees above the horizon -2022-12-02T19:12:24.157Z moonrise -2022-12-02T22:27:30.642Z sunset +2022-12-02T19:12:24.167Z moonrise +2022-12-02T22:27:30.570Z sunset 2022-12-03T01:23:50.472Z Moon culminates 62.97 degrees above the horizon -2022-12-03T07:42:22.727Z moonset -2022-12-03T12:01:36.867Z sunrise +2022-12-03T07:42:22.731Z moonset +2022-12-03T12:01:36.976Z sunrise 2022-12-03T17:14:39.383Z Sun culminates 39.26 degrees above the horizon -2022-12-03T19:42:43.374Z moonrise -2022-12-03T22:27:32.684Z sunset +2022-12-03T19:42:43.379Z moonrise +2022-12-03T22:27:32.611Z sunset 2022-12-04T02:08:01.419Z Moon culminates 69.18 degrees above the horizon -2022-12-04T08:40:31.080Z moonset -2022-12-04T12:02:21.770Z sunrise +2022-12-04T08:40:31.100Z moonset +2022-12-04T12:02:21.881Z sunrise 2022-12-04T16:27:23.447Z Mercury moves from Ophiuchus to Sagittarius 2022-12-04T17:15:03.434Z Sun culminates 39.12 degrees above the horizon -2022-12-04T20:13:52.426Z moonrise -2022-12-04T22:27:36.353Z sunset +2022-12-04T20:13:52.413Z moonrise +2022-12-04T22:27:36.277Z sunset 2022-12-05T02:52:48.004Z Moon culminates 74.93 degrees above the horizon -2022-12-05T09:38:48.736Z moonset -2022-12-05T12:03:06.164Z sunrise +2022-12-05T09:38:48.807Z moonset +2022-12-05T12:03:06.276Z sunrise 2022-12-05T17:15:28.038Z Sun culminates 38.99 degrees above the horizon -2022-12-05T20:47:09.276Z moonrise -2022-12-05T22:27:41.642Z sunset +2022-12-05T20:47:09.226Z moonrise +2022-12-05T22:27:41.565Z sunset 2022-12-06T03:39:04.043Z Moon culminates 79.97 degrees above the horizon -2022-12-06T10:37:35.840Z moonset -2022-12-06T12:03:50.009Z sunrise +2022-12-06T10:37:35.981Z moonset +2022-12-06T12:03:50.123Z sunrise 2022-12-06T17:15:53.172Z Sun culminates 38.87 degrees above the horizon -2022-12-06T21:23:45.527Z moonrise -2022-12-06T22:27:48.546Z sunset +2022-12-06T21:23:45.429Z moonrise +2022-12-06T22:27:48.467Z sunset 2022-12-07T04:27:20.200Z Moon culminates 84.06 degrees above the horizon 2022-12-07T10:24:52.149Z Venus moves from Ophiuchus to Sagittarius -2022-12-07T11:36:30.117Z moonset -2022-12-07T12:04:33.269Z sunrise +2022-12-07T11:36:30.316Z moonset +2022-12-07T12:04:33.384Z sunrise 2022-12-07T17:16:18.814Z Sun culminates 38.76 degrees above the horizon -2022-12-07T22:04:39.002Z moonrise -2022-12-07T22:27:57.058Z sunset +2022-12-07T22:04:38.859Z moonrise +2022-12-07T22:27:56.977Z sunset 2022-12-08T04:08:52.696Z full moon 2022-12-08T05:17:35.123Z Moon culminates 86.97 degrees above the horizon 2022-12-08T05:34:06.447Z Mars opposition -2022-12-08T12:05:15.904Z sunrise -2022-12-08T12:34:23.037Z moonset +2022-12-08T12:05:16.021Z sunrise +2022-12-08T12:34:23.260Z moonset 2022-12-08T17:16:44.942Z Sun culminates 38.66 degrees above the horizon -2022-12-08T22:28:07.169Z sunset -2022-12-08T22:50:18.724Z moonrise +2022-12-08T22:28:07.087Z sunset +2022-12-08T22:50:18.548Z moonrise 2022-12-09T06:09:10.699Z Moon culminates 88.55 degrees above the horizon -2022-12-09T12:05:57.877Z sunrise -2022-12-09T13:29:34.794Z moonset +2022-12-09T12:05:57.995Z sunrise +2022-12-09T13:29:35.015Z moonset 2022-12-09T17:17:11.531Z Sun culminates 38.56 degrees above the horizon -2022-12-09T22:28:18.870Z sunset -2022-12-09T23:40:28.456Z moonrise +2022-12-09T22:28:18.787Z sunset +2022-12-09T23:40:28.255Z moonrise 2022-12-10T07:00:59.310Z Moon culminates 88.72 degrees above the horizon -2022-12-10T12:06:39.151Z sunrise -2022-12-10T14:20:29.086Z moonset +2022-12-10T12:06:39.270Z sunrise +2022-12-10T14:20:29.290Z moonset 2022-12-10T17:17:38.557Z Sun culminates 38.47 degrees above the horizon -2022-12-10T22:28:32.150Z sunset -2022-12-11T00:34:03.185Z moonrise +2022-12-10T22:28:32.065Z sunset +2022-12-11T00:34:02.973Z moonrise 2022-12-11T07:51:45.142Z Moon culminates 87.50 degrees above the horizon -2022-12-11T12:07:19.686Z sunrise -2022-12-11T15:06:09.047Z moonset +2022-12-11T12:07:19.806Z sunrise +2022-12-11T15:06:09.225Z moonset 2022-12-11T17:18:05.995Z Sun culminates 38.39 degrees above the horizon -2022-12-11T22:28:46.996Z sunset +2022-12-11T22:28:46.909Z sunset 2022-12-12T00:29:15.534Z lunar apogee at 405857 km -2022-12-12T01:29:29.346Z moonrise +2022-12-12T01:29:29.147Z moonrise 2022-12-12T08:40:29.762Z Moon culminates 85.01 degrees above the horizon -2022-12-12T12:07:59.444Z sunrise -2022-12-12T15:46:31.330Z moonset +2022-12-12T12:07:59.565Z sunrise +2022-12-12T15:46:31.471Z moonset 2022-12-12T17:18:33.818Z Sun culminates 38.31 degrees above the horizon -2022-12-12T22:29:03.392Z sunset -2022-12-13T02:25:19.761Z moonrise +2022-12-12T22:29:03.305Z sunset +2022-12-13T02:25:19.606Z moonrise 2022-12-13T09:26:47.987Z Moon culminates 81.45 degrees above the horizon -2022-12-13T12:08:38.386Z sunrise -2022-12-13T16:22:15.689Z moonset +2022-12-13T12:08:38.507Z sunrise +2022-12-13T16:22:15.785Z moonset 2022-12-13T17:19:01.998Z Sun culminates 38.24 degrees above the horizon -2022-12-13T22:29:21.324Z sunset -2022-12-14T03:20:41.252Z moonrise +2022-12-13T22:29:21.236Z sunset +2022-12-14T03:20:41.162Z moonrise 2022-12-14T10:10:49.190Z Moon culminates 77.01 degrees above the horizon -2022-12-14T12:09:16.472Z sunrise -2022-12-14T16:54:25.518Z moonset +2022-12-14T12:09:16.594Z sunrise +2022-12-14T16:54:25.570Z moonset 2022-12-14T17:19:30.506Z Sun culminates 38.18 degrees above the horizon -2022-12-14T22:29:40.771Z sunset -2022-12-15T04:15:23.139Z moonrise +2022-12-14T22:29:40.682Z sunset +2022-12-15T04:15:23.107Z moonrise 2022-12-15T10:53:09.782Z Moon culminates 71.86 degrees above the horizon -2022-12-15T12:09:53.663Z sunrise +2022-12-15T12:09:53.786Z sunrise 2022-12-15T17:19:59.312Z Sun culminates 38.13 degrees above the horizon -2022-12-15T17:24:13.035Z moonset -2022-12-15T22:30:01.712Z sunset -2022-12-16T05:09:51.542Z moonrise +2022-12-15T17:24:13.059Z moonset +2022-12-15T22:30:01.622Z sunset +2022-12-16T05:09:51.539Z moonrise 2022-12-16T08:56:50.679Z third quarter 2022-12-16T11:34:44.618Z Moon culminates 66.19 degrees above the horizon -2022-12-16T12:10:29.918Z sunrise +2022-12-16T12:10:30.041Z sunrise 2022-12-16T17:20:28.385Z Sun culminates 38.09 degrees above the horizon -2022-12-16T17:52:52.964Z moonset -2022-12-16T22:30:24.124Z sunset -2022-12-17T06:04:59.170Z moonrise -2022-12-17T12:11:05.196Z sunrise +2022-12-16T17:52:52.977Z moonset +2022-12-16T22:30:24.034Z sunset +2022-12-17T06:04:59.173Z moonrise +2022-12-17T12:11:05.320Z sunrise 2022-12-17T12:16:41.314Z Moon culminates 60.17 degrees above the horizon 2022-12-17T17:20:57.690Z Sun culminates 38.05 degrees above the horizon -2022-12-17T18:21:42.976Z moonset -2022-12-17T22:30:47.981Z sunset -2022-12-18T07:01:55.537Z moonrise -2022-12-18T12:11:39.458Z sunrise +2022-12-17T18:21:42.985Z moonset +2022-12-17T22:30:47.890Z sunset +2022-12-18T07:01:55.544Z moonrise +2022-12-18T12:11:39.583Z sunrise 2022-12-18T13:00:17.575Z Moon culminates 53.98 degrees above the horizon 2022-12-18T17:21:27.194Z Sun culminates 38.02 degrees above the horizon 2022-12-18T18:52:08.326Z moonset -2022-12-18T22:31:13.254Z sunset -2022-12-19T08:01:56.186Z moonrise -2022-12-19T12:12:12.663Z sunrise +2022-12-18T22:31:13.162Z sunset +2022-12-19T08:01:56.227Z moonrise +2022-12-19T12:12:12.787Z sunrise 2022-12-19T13:46:58.897Z Moon culminates 47.89 degrees above the horizon 2022-12-19T17:21:56.861Z Sun culminates 38.00 degrees above the horizon -2022-12-19T19:25:48.461Z moonset -2022-12-19T22:31:39.911Z sunset -2022-12-20T09:06:04.164Z moonrise -2022-12-20T12:12:44.770Z sunrise +2022-12-19T19:25:48.429Z moonset +2022-12-19T22:31:39.819Z sunset +2022-12-20T09:06:04.289Z moonrise +2022-12-20T12:12:44.894Z sunrise 2022-12-20T14:38:11.268Z Moon culminates 42.25 degrees above the horizon 2022-12-20T17:22:26.654Z Sun culminates 37.99 degrees above the horizon -2022-12-20T20:04:41.770Z moonset -2022-12-20T22:32:07.919Z sunset -2022-12-21T10:14:34.110Z moonrise -2022-12-21T12:13:15.739Z sunrise +2022-12-20T20:04:41.679Z moonset +2022-12-20T22:32:07.827Z sunset +2022-12-21T10:14:34.339Z moonrise +2022-12-21T12:13:15.864Z sunrise 2022-12-21T15:26:08.872Z Mercury max evening elongation: 20.14 degrees from Sun 2022-12-21T15:35:00.203Z Moon culminates 37.55 degrees above the horizon 2022-12-21T17:22:56.536Z Sun culminates 37.98 degrees above the horizon -2022-12-21T20:50:58.914Z moonset +2022-12-21T20:50:58.751Z moonset 2022-12-21T21:47:58.189Z December solstice -2022-12-21T22:32:37.243Z sunset -2022-12-22T11:25:59.239Z moonrise -2022-12-22T12:13:45.531Z sunrise +2022-12-21T22:32:37.151Z sunset +2022-12-22T11:25:59.527Z moonrise +2022-12-22T12:13:45.656Z sunrise 2022-12-22T16:37:29.550Z Moon culminates 34.34 degrees above the horizon 2022-12-22T17:23:26.468Z Sun culminates 37.98 degrees above the horizon -2022-12-22T21:46:26.054Z moonset -2022-12-22T22:33:07.844Z sunset +2022-12-22T21:46:25.826Z moonset +2022-12-22T22:33:07.752Z sunset 2022-12-23T10:17:27.423Z new moon -2022-12-23T12:14:14.107Z sunrise -2022-12-23T12:36:41.971Z moonrise +2022-12-23T12:14:14.232Z sunrise +2022-12-23T12:36:42.252Z moonrise 2022-12-23T17:23:56.410Z Sun culminates 37.99 degrees above the horizon 2022-12-23T17:43:56.165Z Moon culminates 33.15 degrees above the horizon -2022-12-23T22:33:39.682Z sunset -2022-12-23T22:51:07.322Z moonset +2022-12-23T22:33:39.590Z sunset +2022-12-23T22:51:07.045Z moonset 2022-12-24T08:28:08.875Z lunar perigee at 358261 km -2022-12-24T12:14:41.429Z sunrise -2022-12-24T13:42:03.291Z moonrise +2022-12-24T12:14:41.553Z sunrise +2022-12-24T13:42:03.529Z moonrise 2022-12-24T17:24:26.325Z Sun culminates 38.01 degrees above the horizon 2022-12-24T18:50:55.565Z Moon culminates 34.24 degrees above the horizon -2022-12-24T22:34:12.718Z sunset -2022-12-25T00:02:19.384Z moonset -2022-12-25T12:15:07.460Z sunrise -2022-12-25T14:38:52.750Z moonrise +2022-12-24T22:34:12.626Z sunset +2022-12-25T00:02:19.095Z moonset +2022-12-25T12:15:07.584Z sunrise +2022-12-25T14:38:52.927Z moonrise 2022-12-25T17:24:56.172Z Sun culminates 38.04 degrees above the horizon 2022-12-25T19:54:52.009Z Moon culminates 37.44 degrees above the horizon -2022-12-25T22:34:46.909Z sunset -2022-12-26T01:15:24.824Z moonset +2022-12-25T22:34:46.817Z sunset +2022-12-26T01:15:24.592Z moonset 2022-12-26T03:07:15.911Z Venus aphelion at 0.7282 AU -2022-12-26T12:15:32.164Z sunrise -2022-12-26T15:26:46.367Z moonrise +2022-12-26T12:15:32.287Z sunrise +2022-12-26T15:26:46.474Z moonrise 2022-12-26T17:25:25.913Z Sun culminates 38.07 degrees above the horizon 2022-12-26T20:53:39.777Z Moon culminates 42.28 degrees above the horizon -2022-12-26T22:35:22.214Z sunset -2022-12-27T02:26:24.204Z moonset -2022-12-27T12:15:55.506Z sunrise -2022-12-27T16:07:17.100Z moonrise +2022-12-26T22:35:22.123Z sunset +2022-12-27T02:26:24.081Z moonset +2022-12-27T12:15:55.629Z sunrise +2022-12-27T16:07:17.147Z moonrise 2022-12-27T17:25:55.510Z Sun culminates 38.11 degrees above the horizon 2022-12-27T21:47:05.758Z Moon culminates 48.17 degrees above the horizon -2022-12-27T22:35:58.592Z sunset -2022-12-28T03:33:28.016Z moonset -2022-12-28T12:16:17.456Z sunrise -2022-12-28T16:42:34.774Z moonrise +2022-12-27T22:35:58.501Z sunset +2022-12-28T03:33:27.981Z moonset +2022-12-28T12:16:17.578Z sunrise +2022-12-28T16:42:34.791Z moonrise 2022-12-28T17:26:24.927Z Sun culminates 38.16 degrees above the horizon 2022-12-28T22:36:09.058Z Moon culminates 54.60 degrees above the horizon -2022-12-28T22:36:36.000Z sunset -2022-12-29T04:36:39.033Z moonset -2022-12-29T12:16:37.984Z sunrise -2022-12-29T17:14:42.605Z moonrise +2022-12-28T22:36:35.910Z sunset +2022-12-29T04:36:39.032Z moonset +2022-12-29T12:16:38.106Z sunrise +2022-12-29T17:14:42.615Z moonrise 2022-12-29T17:26:54.130Z Sun culminates 38.22 degrees above the horizon -2022-12-29T22:37:14.398Z sunset +2022-12-29T22:37:14.308Z sunset 2022-12-29T23:22:16.233Z Moon culminates 61.14 degrees above the horizon 2022-12-30T01:21:10.428Z first quarter -2022-12-30T05:36:56.902Z moonset -2022-12-30T12:16:57.064Z sunrise +2022-12-30T05:36:56.904Z moonset +2022-12-30T12:16:57.185Z sunrise 2022-12-30T17:27:23.083Z Sun culminates 38.29 degrees above the horizon -2022-12-30T17:45:26.630Z moonrise -2022-12-30T22:37:53.742Z sunset +2022-12-30T17:45:26.637Z moonrise +2022-12-30T22:37:53.653Z sunset 2022-12-31T00:06:55.715Z Moon culminates 67.49 degrees above the horizon -2022-12-31T06:35:35.906Z moonset -2022-12-31T12:17:14.673Z sunrise +2022-12-31T06:35:35.919Z moonset +2022-12-31T12:17:14.792Z sunrise 2022-12-31T17:27:51.754Z Sun culminates 38.36 degrees above the horizon -2022-12-31T18:16:18.769Z moonrise -2022-12-31T22:38:33.991Z sunset +2022-12-31T18:16:18.763Z moonrise +2022-12-31T22:38:33.903Z sunset 2023-01-01T00:51:26.949Z Moon culminates 73.38 degrees above the horizon -2023-01-01T07:33:40.763Z moonset -2023-01-01T12:17:30.789Z sunrise +2023-01-01T07:33:40.816Z moonset +2023-01-01T12:17:30.907Z sunrise 2023-01-01T17:28:20.113Z Sun culminates 38.44 degrees above the horizon -2023-01-01T18:48:42.167Z moonrise -2023-01-01T22:39:15.103Z sunset +2023-01-01T18:48:42.129Z moonrise +2023-01-01T22:39:15.017Z sunset 2023-01-02T01:36:55.048Z Moon culminates 78.61 degrees above the horizon -2023-01-02T08:31:51.239Z moonset -2023-01-02T12:17:45.393Z sunrise +2023-01-02T08:31:51.360Z moonset +2023-01-02T12:17:45.511Z sunrise 2023-01-02T17:28:48.129Z Sun culminates 38.53 degrees above the horizon -2023-01-02T19:23:53.618Z moonrise +2023-01-02T19:23:53.534Z moonrise 2023-01-02T20:04:41.469Z Venus moves from Sagittarius to Capricornus 2023-01-02T20:13:44.879Z Mercury perihelion at 0.3075 AU -2023-01-02T22:39:57.039Z sunset +2023-01-02T22:39:56.954Z sunset 2023-01-03T02:24:05.030Z Moon culminates 82.95 degrees above the horizon -2023-01-03T09:30:09.603Z moonset -2023-01-03T12:17:58.470Z sunrise +2023-01-03T09:30:09.787Z moonset +2023-01-03T12:17:58.586Z sunrise 2023-01-03T17:29:15.775Z Sun culminates 38.62 degrees above the horizon -2023-01-03T20:02:59.864Z moonrise -2023-01-03T22:40:39.756Z sunset +2023-01-03T20:02:59.734Z moonrise +2023-01-03T22:40:39.672Z sunset 2023-01-04T03:13:13.762Z Moon culminates 86.20 degrees above the horizon -2023-01-04T10:27:52.676Z moonset -2023-01-04T12:18:10.005Z sunrise +2023-01-04T10:27:52.895Z moonset +2023-01-04T12:18:10.120Z sunrise 2023-01-04T15:45:13.803Z Earth perihelion at 0.9833 AU 2023-01-04T17:29:43.023Z Sun culminates 38.73 degrees above the horizon -2023-01-04T20:46:45.724Z moonrise -2023-01-04T22:41:23.216Z sunset +2023-01-04T20:46:45.557Z moonrise +2023-01-04T22:41:23.134Z sunset 2023-01-05T04:04:02.552Z Moon culminates 88.19 degrees above the horizon -2023-01-05T11:23:37.362Z moonset -2023-01-05T12:18:19.987Z sunrise +2023-01-05T11:23:37.585Z moonset +2023-01-05T12:18:20.100Z sunrise 2023-01-05T17:30:09.848Z Sun culminates 38.84 degrees above the horizon -2023-01-05T21:35:16.613Z moonrise -2023-01-05T22:42:07.379Z sunset +2023-01-05T21:35:16.419Z moonrise +2023-01-05T22:42:07.298Z sunset 2023-01-06T04:55:37.679Z Moon culminates 88.79 degrees above the horizon -2023-01-06T12:15:46.507Z moonset -2023-01-06T12:18:28.404Z sunrise +2023-01-06T12:15:46.717Z moonset +2023-01-06T12:18:28.516Z sunrise 2023-01-06T17:30:36.226Z Sun culminates 38.95 degrees above the horizon -2023-01-06T22:27:46.881Z moonrise -2023-01-06T22:42:52.206Z sunset +2023-01-06T22:27:46.671Z moonrise +2023-01-06T22:42:52.127Z sunset 2023-01-06T23:08:38.767Z full moon 2023-01-07T05:46:45.013Z Moon culminates 88.00 degrees above the horizon -2023-01-07T12:18:35.248Z sunrise +2023-01-07T12:18:35.359Z sunrise 2023-01-07T12:49:37.651Z Mercury inferior conjunction -2023-01-07T13:03:05.896Z moonset +2023-01-07T13:03:06.084Z moonset 2023-01-07T17:31:02.134Z Sun culminates 39.08 degrees above the horizon -2023-01-07T22:43:37.659Z sunset -2023-01-07T23:22:49.062Z moonrise +2023-01-07T22:43:37.582Z sunset +2023-01-07T23:22:48.855Z moonrise 2023-01-08T06:36:14.982Z Moon culminates 85.90 degrees above the horizon 2023-01-08T09:17:44.455Z lunar apogee at 406448 km -2023-01-08T12:18:40.513Z sunrise -2023-01-08T13:45:09.243Z moonset +2023-01-08T12:18:40.622Z sunrise +2023-01-08T13:45:09.397Z moonset 2023-01-08T17:31:27.548Z Sun culminates 39.21 degrees above the horizon -2023-01-08T22:44:23.700Z sunset -2023-01-09T00:18:45.131Z moonrise +2023-01-08T22:44:23.625Z sunset +2023-01-09T00:18:44.959Z moonrise 2023-01-09T07:23:24.444Z Moon culminates 82.65 degrees above the horizon -2023-01-09T12:18:44.193Z sunrise -2023-01-09T14:22:18.036Z moonset +2023-01-09T12:18:44.300Z sunrise +2023-01-09T14:22:18.146Z moonset 2023-01-09T17:31:52.447Z Sun culminates 39.35 degrees above the horizon -2023-01-09T22:45:10.292Z sunset -2023-01-10T01:14:20.607Z moonrise +2023-01-09T22:45:10.219Z sunset +2023-01-10T01:14:20.497Z moonrise 2023-01-10T08:08:05.050Z Moon culminates 78.46 degrees above the horizon -2023-01-10T12:18:46.283Z sunrise -2023-01-10T14:55:25.018Z moonset +2023-01-10T12:18:46.388Z sunrise +2023-01-10T14:55:25.082Z moonset 2023-01-10T17:32:16.811Z Sun culminates 39.50 degrees above the horizon -2023-01-10T22:45:57.396Z sunset -2023-01-11T02:09:02.275Z moonrise +2023-01-10T22:45:57.325Z sunset +2023-01-11T02:09:02.227Z moonrise 2023-01-11T08:50:39.231Z Moon culminates 73.53 degrees above the horizon -2023-01-11T12:18:46.781Z sunrise -2023-01-11T15:25:37.016Z moonset +2023-01-11T12:18:46.884Z sunrise +2023-01-11T15:25:37.048Z moonset 2023-01-11T17:32:40.619Z Sun culminates 39.65 degrees above the horizon -2023-01-11T22:46:44.975Z sunset -2023-01-12T03:02:57.655Z moonrise +2023-01-11T22:46:44.906Z sunset +2023-01-12T03:02:57.646Z moonrise 2023-01-12T09:31:51.510Z Moon culminates 68.07 degrees above the horizon -2023-01-12T12:18:45.683Z sunrise -2023-01-12T15:54:05.107Z moonset +2023-01-12T12:18:45.784Z sunrise +2023-01-12T15:54:05.123Z moonset 2023-01-12T17:33:03.851Z Sun culminates 39.82 degrees above the horizon -2023-01-12T22:47:32.991Z sunset -2023-01-13T03:56:45.636Z moonrise +2023-01-12T22:47:32.924Z sunset +2023-01-13T03:56:45.639Z moonrise 2023-01-13T10:12:41.211Z Moon culminates 62.25 degrees above the horizon -2023-01-13T12:18:42.988Z sunrise -2023-01-13T16:22:02.234Z moonset +2023-01-13T12:18:43.087Z sunrise +2023-01-13T16:22:02.245Z moonset 2023-01-13T17:33:26.487Z Sun culminates 39.98 degrees above the horizon -2023-01-13T22:48:21.404Z sunset -2023-01-14T04:51:26.217Z moonrise +2023-01-13T22:48:21.340Z sunset +2023-01-14T04:51:26.221Z moonrise 2023-01-14T10:54:18.482Z Moon culminates 56.26 degrees above the horizon -2023-01-14T12:18:38.697Z sunrise -2023-01-14T16:50:45.922Z moonset +2023-01-14T12:18:38.793Z sunrise +2023-01-14T16:50:45.928Z moonset 2023-01-14T17:33:48.507Z Sun culminates 40.16 degrees above the horizon -2023-01-14T22:49:10.178Z sunset +2023-01-14T22:49:10.116Z sunset 2023-01-15T02:11:00.808Z third quarter -2023-01-15T05:48:11.267Z moonrise +2023-01-15T05:48:11.290Z moonrise 2023-01-15T11:38:02.544Z Moon culminates 50.29 degrees above the horizon -2023-01-15T12:18:32.808Z sunrise -2023-01-15T17:21:44.047Z moonset +2023-01-15T12:18:32.902Z sunrise +2023-01-15T17:21:44.032Z moonset 2023-01-15T17:34:09.892Z Sun culminates 40.34 degrees above the horizon -2023-01-15T22:49:59.271Z sunset -2023-01-16T06:48:12.900Z moonrise -2023-01-16T12:18:25.323Z sunrise +2023-01-15T22:49:59.213Z sunset +2023-01-16T06:48:12.983Z moonrise +2023-01-16T12:18:25.415Z sunrise 2023-01-16T12:25:18.992Z Moon culminates 44.61 degrees above the horizon 2023-01-16T17:34:30.623Z Sun culminates 40.53 degrees above the horizon -2023-01-16T17:56:41.559Z moonset -2023-01-16T22:50:48.645Z sunset -2023-01-17T07:52:21.853Z moonrise -2023-01-17T12:18:16.243Z sunrise +2023-01-16T17:56:41.498Z moonset +2023-01-16T22:50:48.590Z sunset +2023-01-17T07:52:22.035Z moonrise +2023-01-17T12:18:16.333Z sunrise 2023-01-17T13:17:30.102Z Moon culminates 39.58 degrees above the horizon 2023-01-17T17:34:50.681Z Sun culminates 40.72 degrees above the horizon -2023-01-17T18:37:43.346Z moonset -2023-01-17T22:51:38.260Z sunset -2023-01-18T09:00:27.865Z moonrise -2023-01-18T12:18:05.573Z sunrise +2023-01-17T18:37:43.217Z moonset +2023-01-17T22:51:38.207Z sunset +2023-01-18T09:00:28.131Z moonrise +2023-01-18T12:18:05.660Z sunrise 2023-01-18T14:15:29.373Z Moon culminates 35.69 degrees above the horizon 2023-01-18T14:44:39.420Z Pluto conjunction 2023-01-18T17:35:10.047Z Sun culminates 40.93 degrees above the horizon -2023-01-18T19:27:00.826Z moonset -2023-01-18T22:52:28.076Z sunset -2023-01-19T10:10:30.833Z moonrise -2023-01-19T12:17:53.314Z sunrise +2023-01-18T19:27:00.628Z moonset +2023-01-18T22:52:28.026Z sunset +2023-01-19T10:10:31.123Z moonrise +2023-01-19T12:17:53.399Z sunrise 2023-01-19T15:18:57.188Z Moon culminates 33.45 degrees above the horizon 2023-01-19T17:35:28.704Z Sun culminates 41.14 degrees above the horizon -2023-01-19T20:26:02.031Z moonset -2023-01-19T22:53:18.051Z sunset -2023-01-20T11:18:35.457Z moonrise -2023-01-20T12:17:39.471Z sunrise +2023-01-19T20:26:01.775Z moonset +2023-01-19T22:53:18.004Z sunset +2023-01-20T11:18:35.721Z moonrise +2023-01-20T12:17:39.554Z sunrise 2023-01-20T13:17:34.752Z Jupiter perihelion at 4.9510 AU 2023-01-20T16:25:43.424Z Moon culminates 33.34 degrees above the horizon 2023-01-20T17:35:46.632Z Sun culminates 41.35 degrees above the horizon -2023-01-20T21:34:06.359Z moonset -2023-01-20T22:54:08.145Z sunset -2023-01-21T12:17:24.050Z sunrise -2023-01-21T12:20:28.438Z moonrise +2023-01-20T21:34:06.067Z moonset +2023-01-20T22:54:08.102Z sunset +2023-01-21T12:17:24.130Z sunrise +2023-01-21T12:20:28.648Z moonrise 2023-01-21T17:32:14.609Z Moon culminates 35.50 degrees above the horizon 2023-01-21T17:36:03.815Z Sun culminates 41.57 degrees above the horizon 2023-01-21T20:53:50.241Z new moon 2023-01-21T20:57:06.735Z lunar perigee at 356562 km -2023-01-21T22:47:42.833Z moonset -2023-01-21T22:54:58.320Z sunset -2023-01-22T12:17:07.056Z sunrise -2023-01-22T13:13:54.583Z moonrise +2023-01-21T22:47:42.558Z moonset +2023-01-21T22:54:58.280Z sunset +2023-01-22T12:17:07.134Z sunrise +2023-01-22T13:13:54.724Z moonrise 2023-01-22T17:36:20.236Z Sun culminates 41.80 degrees above the horizon 2023-01-22T18:35:14.825Z Moon culminates 39.68 degrees above the horizon -2023-01-22T22:55:48.537Z sunset -2023-01-23T00:02:04.497Z moonset -2023-01-23T12:16:48.496Z sunrise -2023-01-23T13:59:11.901Z moonrise +2023-01-22T22:55:48.500Z sunset +2023-01-23T00:02:04.315Z moonset +2023-01-23T12:16:48.571Z sunrise +2023-01-23T13:59:11.971Z moonrise 2023-01-23T17:36:35.881Z Sun culminates 42.03 degrees above the horizon 2023-01-23T19:33:09.761Z Moon culminates 45.34 degrees above the horizon -2023-01-23T22:56:38.759Z sunset -2023-01-24T01:13:40.859Z moonset -2023-01-24T12:16:28.377Z sunrise -2023-01-24T14:38:06.641Z moonrise +2023-01-23T22:56:38.726Z sunset +2023-01-24T01:13:40.789Z moonset +2023-01-24T12:16:28.449Z sunrise +2023-01-24T14:38:06.666Z moonrise 2023-01-24T17:36:50.735Z Sun culminates 42.27 degrees above the horizon 2023-01-24T20:26:08.413Z Moon culminates 51.85 degrees above the horizon 2023-01-24T21:19:33.161Z Venus moves from Capricornus to Aquarius -2023-01-24T22:57:28.951Z sunset -2023-01-25T02:21:16.224Z moonset -2023-01-25T12:16:06.709Z sunrise -2023-01-25T15:12:45.346Z moonrise +2023-01-24T22:57:28.922Z sunset +2023-01-25T02:21:16.215Z moonset +2023-01-25T12:16:06.778Z sunrise +2023-01-25T15:12:45.356Z moonrise 2023-01-25T17:37:04.788Z Sun culminates 42.52 degrees above the horizon 2023-01-25T21:15:18.344Z Moon culminates 58.67 degrees above the horizon -2023-01-25T22:58:19.081Z sunset -2023-01-26T03:25:12.341Z moonset -2023-01-26T12:15:43.504Z sunrise -2023-01-26T15:45:04.257Z moonrise +2023-01-25T22:58:19.055Z sunset +2023-01-26T03:25:12.343Z moonset +2023-01-26T12:15:43.570Z sunrise +2023-01-26T15:45:04.264Z moonrise 2023-01-26T17:37:18.028Z Sun culminates 42.77 degrees above the horizon 2023-01-26T22:02:05.910Z Moon culminates 65.37 degrees above the horizon -2023-01-26T22:59:09.115Z sunset -2023-01-27T04:26:32.865Z moonset -2023-01-27T12:15:18.775Z sunrise -2023-01-27T16:16:44.188Z moonrise +2023-01-26T22:59:09.093Z sunset +2023-01-27T04:26:32.871Z moonset +2023-01-27T12:15:18.838Z sunrise +2023-01-27T16:16:44.187Z moonrise 2023-01-27T17:37:30.448Z Sun culminates 43.02 degrees above the horizon 2023-01-27T22:47:55.041Z Moon culminates 71.64 degrees above the horizon -2023-01-27T22:59:59.026Z sunset -2023-01-28T05:26:25.483Z moonset -2023-01-28T12:14:52.537Z sunrise +2023-01-27T22:59:59.007Z sunset +2023-01-28T05:26:25.521Z moonset +2023-01-28T12:14:52.598Z sunrise 2023-01-28T15:19:26.282Z first quarter -2023-01-28T16:49:14.201Z moonrise +2023-01-28T16:49:14.174Z moonrise 2023-01-28T17:37:42.042Z Sun culminates 43.29 degrees above the horizon -2023-01-28T23:00:48.784Z sunset +2023-01-28T23:00:48.769Z sunset 2023-01-28T23:33:57.651Z Moon culminates 77.22 degrees above the horizon -2023-01-29T06:25:39.952Z moonset -2023-01-29T12:14:24.808Z sunrise -2023-01-29T17:23:55.163Z moonrise +2023-01-29T06:25:40.053Z moonset +2023-01-29T12:14:24.866Z sunrise +2023-01-29T17:23:55.093Z moonrise 2023-01-29T17:37:52.805Z Sun culminates 43.55 degrees above the horizon -2023-01-29T23:01:38.364Z sunset +2023-01-29T23:01:38.353Z sunset 2023-01-30T00:21:07.551Z Moon culminates 81.90 degrees above the horizon 2023-01-30T05:58:07.293Z Mercury max morning elongation: 24.96 degrees from Sun -2023-01-30T07:24:33.804Z moonset -2023-01-30T12:13:55.606Z sunrise +2023-01-30T07:24:33.975Z moonset +2023-01-30T12:13:55.661Z sunrise 2023-01-30T17:38:02.735Z Sun culminates 43.83 degrees above the horizon -2023-01-30T18:01:58.826Z moonrise -2023-01-30T23:02:27.743Z sunset +2023-01-30T18:01:58.707Z moonrise +2023-01-30T23:02:27.735Z sunset 2023-01-31T01:09:53.757Z Moon culminates 85.50 degrees above the horizon -2023-01-31T08:22:43.327Z moonset -2023-01-31T12:13:24.951Z sunrise +2023-01-31T08:22:43.541Z moonset +2023-01-31T12:13:25.004Z sunrise 2023-01-31T17:38:11.831Z Sun culminates 44.10 degrees above the horizon -2023-01-31T18:44:19.737Z moonrise -2023-01-31T23:03:16.899Z sunset +2023-01-31T18:44:19.579Z moonrise +2023-01-31T23:03:16.895Z sunset 2023-02-01T02:00:13.582Z Moon culminates 87.86 degrees above the horizon -2023-02-01T09:19:04.751Z moonset -2023-02-01T12:12:52.866Z sunrise +2023-02-01T09:19:04.976Z moonset +2023-02-01T12:12:52.916Z sunrise 2023-02-01T17:38:20.094Z Sun culminates 44.39 degrees above the horizon -2023-02-01T19:31:20.312Z moonrise +2023-02-01T19:31:20.124Z moonrise 2023-02-01T23:04:05.813Z sunset 2023-02-02T02:51:30.366Z Moon culminates 88.87 degrees above the horizon -2023-02-02T10:12:12.423Z moonset -2023-02-02T12:12:19.373Z sunrise +2023-02-02T10:12:12.639Z moonset +2023-02-02T12:12:19.421Z sunrise 2023-02-02T17:38:27.527Z Sun culminates 44.68 degrees above the horizon -2023-02-02T20:22:36.484Z moonrise -2023-02-02T23:04:54.467Z sunset +2023-02-02T20:22:36.276Z moonrise +2023-02-02T23:04:54.471Z sunset 2023-02-03T03:42:42.092Z Moon culminates 88.48 degrees above the horizon -2023-02-03T11:00:50.726Z moonset -2023-02-03T12:11:44.496Z sunrise +2023-02-03T11:00:50.922Z moonset +2023-02-03T12:11:44.541Z sunrise 2023-02-03T17:38:34.136Z Sun culminates 44.97 degrees above the horizon -2023-02-03T21:16:57.976Z moonrise -2023-02-03T23:05:42.848Z sunset +2023-02-03T21:16:57.764Z moonrise +2023-02-03T23:05:42.856Z sunset 2023-02-04T04:32:41.388Z Moon culminates 86.74 degrees above the horizon 2023-02-04T08:56:48.811Z lunar apogee at 406466 km -2023-02-04T11:44:22.060Z moonset -2023-02-04T12:11:08.260Z sunrise +2023-02-04T11:44:22.226Z moonset +2023-02-04T12:11:08.303Z sunrise 2023-02-04T17:38:39.924Z Sun culminates 45.27 degrees above the horizon -2023-02-04T22:12:50.814Z moonrise -2023-02-04T23:06:30.942Z sunset +2023-02-04T22:12:50.627Z moonrise +2023-02-04T23:06:30.954Z sunset 2023-02-05T05:20:37.729Z Moon culminates 83.80 degrees above the horizon -2023-02-05T12:10:30.691Z sunrise -2023-02-05T12:22:54.471Z moonset +2023-02-05T12:10:30.731Z sunrise +2023-02-05T12:22:54.595Z moonset 2023-02-05T17:38:44.901Z Sun culminates 45.57 degrees above the horizon 2023-02-05T18:29:18.297Z full moon -2023-02-05T23:07:18.738Z sunset -2023-02-05T23:08:50.726Z moonrise +2023-02-05T23:07:18.753Z sunset +2023-02-05T23:08:50.595Z moonrise 2023-02-05T23:21:36.043Z Jupiter moves from Pisces to Cetus 2023-02-06T06:06:10.441Z Moon culminates 79.83 degrees above the horizon -2023-02-06T12:09:51.815Z sunrise -2023-02-06T12:57:10.487Z moonset +2023-02-06T12:09:51.852Z sunrise +2023-02-06T12:57:10.564Z moonset 2023-02-06T17:38:49.073Z Sun culminates 45.87 degrees above the horizon -2023-02-06T23:08:06.226Z sunset -2023-02-07T00:04:07.148Z moonrise +2023-02-06T23:08:06.245Z sunset +2023-02-07T00:04:07.083Z moonrise 2023-02-07T06:49:29.252Z Moon culminates 75.05 degrees above the horizon -2023-02-07T12:09:11.658Z sunrise -2023-02-07T13:28:10.633Z moonset +2023-02-07T12:09:11.693Z sunrise +2023-02-07T13:28:10.672Z moonset 2023-02-07T17:38:52.450Z Sun culminates 46.19 degrees above the horizon -2023-02-07T23:08:53.397Z sunset -2023-02-08T00:58:29.200Z moonrise +2023-02-07T23:08:53.419Z sunset +2023-02-08T00:58:29.183Z moonrise 2023-02-08T07:31:07.571Z Moon culminates 69.69 degrees above the horizon -2023-02-08T12:08:30.248Z sunrise -2023-02-08T13:57:01.747Z moonset +2023-02-08T12:08:30.281Z sunrise +2023-02-08T13:57:01.766Z moonset 2023-02-08T17:38:55.041Z Sun culminates 46.50 degrees above the horizon -2023-02-08T23:09:40.243Z sunset -2023-02-09T01:52:19.355Z moonrise +2023-02-08T23:09:40.269Z sunset +2023-02-09T01:52:19.357Z moonrise 2023-02-09T08:11:54.959Z Moon culminates 63.92 degrees above the horizon -2023-02-09T12:07:47.611Z sunrise -2023-02-09T14:24:52.369Z moonset +2023-02-09T12:07:47.642Z sunrise +2023-02-09T14:24:52.381Z moonset 2023-02-09T17:38:56.856Z Sun culminates 46.82 degrees above the horizon -2023-02-09T23:10:26.757Z sunset -2023-02-10T02:46:23.531Z moonrise +2023-02-09T23:10:26.787Z sunset +2023-02-10T02:46:23.535Z moonrise 2023-02-10T08:52:52.044Z Moon culminates 57.97 degrees above the horizon -2023-02-10T12:07:03.776Z sunrise -2023-02-10T14:52:53.537Z moonset +2023-02-10T12:07:03.804Z sunrise +2023-02-10T14:52:53.546Z moonset 2023-02-10T17:38:57.906Z Sun culminates 47.14 degrees above the horizon -2023-02-10T23:11:12.934Z sunset -2023-02-11T03:41:41.756Z moonrise +2023-02-10T23:11:12.967Z sunset +2023-02-11T03:41:41.770Z moonrise 2023-02-11T08:04:31.763Z Mercury moves from Sagittarius to Capricornus 2023-02-11T09:35:07.927Z Moon culminates 52.02 degrees above the horizon -2023-02-11T12:06:18.768Z sunrise -2023-02-11T15:22:22.902Z moonset +2023-02-11T12:06:18.795Z sunrise +2023-02-11T15:22:22.896Z moonset 2023-02-11T17:38:58.201Z Sun culminates 47.47 degrees above the horizon -2023-02-11T23:11:58.767Z sunset -2023-02-12T04:39:18.450Z moonrise +2023-02-11T23:11:58.803Z sunset +2023-02-12T04:39:18.509Z moonrise 2023-02-12T10:19:58.117Z Moon culminates 46.33 degrees above the horizon -2023-02-12T12:05:32.616Z sunrise -2023-02-12T15:54:50.419Z moonset +2023-02-12T12:05:32.640Z sunrise +2023-02-12T15:54:50.376Z moonset 2023-02-12T17:38:57.752Z Sun culminates 47.80 degrees above the horizon -2023-02-12T23:12:44.249Z sunset -2023-02-13T05:40:07.722Z moonrise +2023-02-12T23:12:44.289Z sunset +2023-02-13T05:40:07.869Z moonrise 2023-02-13T11:08:39.288Z Moon culminates 41.17 degrees above the horizon -2023-02-13T12:04:45.344Z sunrise +2023-02-13T12:04:45.367Z sunrise 2023-02-13T12:26:06.828Z Saturn moves from Capricornus to Aquarius 2023-02-13T16:01:21.114Z third quarter -2023-02-13T16:32:02.956Z moonset +2023-02-13T16:32:02.852Z moonset 2023-02-13T17:38:56.568Z Sun culminates 48.14 degrees above the horizon -2023-02-13T23:13:29.375Z sunset -2023-02-14T06:44:27.480Z moonrise +2023-02-13T23:13:29.418Z sunset +2023-02-14T06:44:27.720Z moonrise 2023-02-14T12:02:15.047Z Moon culminates 36.92 degrees above the horizon -2023-02-14T12:03:56.981Z sunrise -2023-02-14T17:16:01.153Z moonset +2023-02-14T12:03:57.001Z sunrise +2023-02-14T17:16:00.981Z moonset 2023-02-14T17:38:54.661Z Sun culminates 48.48 degrees above the horizon -2023-02-14T23:14:14.139Z sunset -2023-02-15T07:51:21.877Z moonrise -2023-02-15T12:03:07.552Z sunrise +2023-02-14T23:14:14.185Z sunset +2023-02-15T07:51:22.166Z moonrise +2023-02-15T12:03:07.571Z sunrise 2023-02-15T13:01:07.261Z Moon culminates 34.03 degrees above the horizon 2023-02-15T17:38:52.040Z Sun culminates 48.82 degrees above the horizon -2023-02-15T18:08:34.815Z moonset +2023-02-15T18:08:34.583Z moonset 2023-02-15T19:51:16.257Z Mercury aphelion at 0.4667 AU -2023-02-15T23:14:58.535Z sunset +2023-02-15T23:14:58.584Z sunset 2023-02-16T00:28:14.449Z Venus moves from Aquarius to Pisces -2023-02-16T08:58:15.316Z moonrise -2023-02-16T12:02:17.084Z sunrise +2023-02-16T08:58:15.598Z moonrise +2023-02-16T12:02:17.100Z sunrise 2023-02-16T14:04:19.391Z Moon culminates 32.95 degrees above the horizon 2023-02-16T16:50:12.195Z Saturn conjunction 2023-02-16T17:38:48.714Z Sun culminates 49.17 degrees above the horizon -2023-02-16T19:10:24.249Z moonset -2023-02-16T23:15:42.555Z sunset -2023-02-17T10:01:27.639Z moonrise -2023-02-17T12:01:25.601Z sunrise +2023-02-16T19:10:23.971Z moonset +2023-02-16T23:15:42.607Z sunset +2023-02-17T10:01:27.880Z moonrise +2023-02-17T12:01:25.616Z sunrise 2023-02-17T15:09:24.959Z Moon culminates 33.99 degrees above the horizon 2023-02-17T17:38:44.694Z Sun culminates 49.52 degrees above the horizon -2023-02-17T20:19:53.275Z moonset -2023-02-17T23:16:26.194Z sunset -2023-02-18T10:57:58.647Z moonrise -2023-02-18T12:00:33.129Z sunrise +2023-02-17T20:19:52.981Z moonset +2023-02-17T23:16:26.250Z sunset +2023-02-18T10:57:58.829Z moonrise +2023-02-18T12:00:33.143Z sunrise 2023-02-18T16:13:17.669Z Moon culminates 37.15 degrees above the horizon 2023-02-18T17:38:39.989Z Sun culminates 49.87 degrees above the horizon -2023-02-18T21:33:16.710Z moonset -2023-02-18T23:17:09.446Z sunset +2023-02-18T21:33:16.469Z moonset +2023-02-18T23:17:09.504Z sunset 2023-02-19T05:16:52.225Z Jupiter moves from Cetus to Pisces 2023-02-19T09:05:04.955Z lunar perigee at 358258 km -2023-02-19T11:46:50.901Z moonrise -2023-02-19T11:59:39.694Z sunrise +2023-02-19T11:46:51.008Z moonrise +2023-02-19T11:59:39.706Z sunrise 2023-02-19T17:13:36.841Z Moon culminates 42.11 degrees above the horizon 2023-02-19T17:38:34.609Z Sun culminates 50.22 degrees above the horizon -2023-02-19T22:46:32.508Z moonset -2023-02-19T23:17:52.306Z sunset +2023-02-19T22:46:32.380Z moonset +2023-02-19T23:17:52.367Z sunset 2023-02-20T07:06:26.316Z new moon -2023-02-20T11:58:45.319Z sunrise -2023-02-20T12:28:59.037Z moonrise +2023-02-20T11:58:45.330Z sunrise +2023-02-20T12:28:59.081Z moonrise 2023-02-20T17:38:28.564Z Sun culminates 50.58 degrees above the horizon 2023-02-20T18:09:33.606Z Moon culminates 48.34 degrees above the horizon -2023-02-20T23:18:34.769Z sunset -2023-02-20T23:57:11.031Z moonset -2023-02-21T11:57:50.029Z sunrise -2023-02-21T13:06:10.094Z moonrise +2023-02-20T23:18:34.832Z sunset +2023-02-20T23:57:10.997Z moonset +2023-02-21T11:57:50.038Z sunrise +2023-02-21T13:06:10.108Z moonrise 2023-02-21T17:38:21.864Z Sun culminates 50.94 degrees above the horizon 2023-02-21T19:01:36.211Z Moon culminates 55.24 degrees above the horizon -2023-02-21T23:19:16.832Z sunset -2023-02-22T01:04:33.259Z moonset -2023-02-22T11:56:53.848Z sunrise -2023-02-22T13:40:18.555Z moonrise +2023-02-21T23:19:16.898Z sunset +2023-02-22T01:04:33.258Z moonset +2023-02-22T11:56:53.857Z sunrise +2023-02-22T13:40:18.562Z moonrise 2023-02-22T17:38:14.520Z Sun culminates 51.31 degrees above the horizon 2023-02-22T19:50:52.442Z Moon culminates 62.30 degrees above the horizon -2023-02-22T23:19:58.494Z sunset -2023-02-23T02:09:09.568Z moonset -2023-02-23T11:55:56.802Z sunrise -2023-02-23T14:13:09.169Z moonrise +2023-02-22T23:19:58.562Z sunset +2023-02-23T02:09:09.570Z moonset +2023-02-23T11:55:56.809Z sunrise +2023-02-23T14:13:09.173Z moonrise 2023-02-23T17:38:06.546Z Sun culminates 51.67 degrees above the horizon 2023-02-23T20:38:40.354Z Moon culminates 69.07 degrees above the horizon -2023-02-23T23:20:39.753Z sunset -2023-02-24T03:11:54.522Z moonset -2023-02-24T11:54:58.917Z sunrise -2023-02-24T14:46:15.251Z moonrise +2023-02-23T23:20:39.824Z sunset +2023-02-24T03:11:54.541Z moonset +2023-02-24T11:54:58.923Z sunrise +2023-02-24T14:46:15.237Z moonrise 2023-02-24T17:37:57.953Z Sun culminates 52.04 degrees above the horizon 2023-02-24T21:26:12.025Z Moon culminates 75.20 degrees above the horizon -2023-02-24T23:21:20.610Z sunset -2023-02-25T04:13:35.955Z moonset -2023-02-25T11:54:00.218Z sunrise -2023-02-25T15:21:00.991Z moonrise +2023-02-24T23:21:20.683Z sunset +2023-02-25T04:13:36.030Z moonset +2023-02-25T11:54:00.224Z sunrise +2023-02-25T15:21:00.938Z moonrise 2023-02-25T17:37:48.756Z Sun culminates 52.41 degrees above the horizon 2023-02-25T22:14:24.271Z Moon culminates 80.44 degrees above the horizon -2023-02-25T23:22:01.066Z sunset +2023-02-25T23:22:01.141Z sunset 2023-02-26T03:57:32.769Z Venus moves from Pisces to Cetus -2023-02-26T05:14:35.337Z moonset -2023-02-26T11:53:00.734Z sunrise -2023-02-26T15:58:41.353Z moonrise +2023-02-26T05:14:35.487Z moonset +2023-02-26T11:53:00.739Z sunrise +2023-02-26T15:58:41.250Z moonrise 2023-02-26T17:37:38.970Z Sun culminates 52.79 degrees above the horizon 2023-02-26T23:03:51.119Z Moon culminates 84.57 degrees above the horizon -2023-02-26T23:22:41.124Z sunset -2023-02-27T06:14:35.929Z moonset +2023-02-26T23:22:41.201Z sunset +2023-02-27T06:14:36.135Z moonset 2023-02-27T08:06:16.319Z first quarter -2023-02-27T11:52:00.492Z sunrise +2023-02-27T11:52:00.496Z sunrise 2023-02-27T12:13:24.906Z Venus moves from Cetus to Pisces -2023-02-27T16:40:16.099Z moonrise +2023-02-27T16:40:15.952Z moonrise 2023-02-27T17:37:28.610Z Sun culminates 53.16 degrees above the horizon -2023-02-27T23:23:20.789Z sunset +2023-02-27T23:23:20.867Z sunset 2023-02-27T23:54:37.064Z Moon culminates 87.43 degrees above the horizon -2023-02-28T07:12:41.618Z moonset -2023-02-28T11:50:59.521Z sunrise -2023-02-28T17:26:17.231Z moonrise +2023-02-28T07:12:41.845Z moonset +2023-02-28T11:50:59.524Z sunrise +2023-02-28T17:26:17.051Z moonrise 2023-02-28T17:37:17.694Z Sun culminates 53.54 degrees above the horizon -2023-02-28T23:24:00.065Z sunset +2023-02-28T23:24:00.145Z sunset 2023-03-01T00:46:14.432Z Moon culminates 88.91 degrees above the horizon 2023-03-01T02:54:16.974Z Pluto moves from Sagittarius to Capricornus 2023-03-01T04:46:35.714Z Mercury moves from Capricornus to Aquarius -2023-03-01T08:07:32.060Z moonset -2023-03-01T11:49:57.850Z sunrise +2023-03-01T08:07:32.282Z moonset +2023-03-01T11:49:57.852Z sunrise 2023-03-01T17:37:06.241Z Sun culminates 53.92 degrees above the horizon -2023-03-01T18:16:35.005Z moonrise -2023-03-01T23:24:38.962Z sunset +2023-03-01T18:16:34.801Z moonrise +2023-03-01T23:24:39.044Z sunset 2023-03-02T01:37:49.962Z Moon culminates 88.96 degrees above the horizon -2023-03-02T08:57:52.145Z moonset -2023-03-02T11:48:55.508Z sunrise +2023-03-02T08:57:52.350Z moonset +2023-03-02T11:48:55.510Z sunrise 2023-03-02T17:36:54.269Z Sun culminates 54.30 degrees above the horizon -2023-03-02T19:10:14.315Z moonrise -2023-03-02T23:25:17.488Z sunset +2023-03-02T19:10:14.099Z moonrise +2023-03-02T23:25:17.571Z sunset 2023-03-03T02:28:21.783Z Moon culminates 87.63 degrees above the horizon -2023-03-03T09:43:00.401Z moonset -2023-03-03T11:47:52.527Z sunrise +2023-03-03T09:43:00.581Z moonset +2023-03-03T11:47:52.528Z sunrise 2023-03-03T17:36:41.799Z Sun culminates 54.68 degrees above the horizon 2023-03-03T18:00:16.881Z lunar apogee at 405878 km -2023-03-03T20:05:50.815Z moonrise -2023-03-03T23:25:55.653Z sunset +2023-03-03T20:05:50.613Z moonrise +2023-03-03T23:25:55.738Z sunset 2023-03-04T03:16:59.894Z Moon culminates 85.04 degrees above the horizon -2023-03-04T10:22:59.622Z moonset -2023-03-04T11:46:48.936Z sunrise +2023-03-04T10:22:59.763Z moonset +2023-03-04T11:46:48.937Z sunrise 2023-03-04T12:35:58.235Z Neptune moves from Aquarius to Pisces 2023-03-04T17:36:28.852Z Sun culminates 55.07 degrees above the horizon -2023-03-04T21:02:00.741Z moonrise -2023-03-04T23:26:33.471Z sunset +2023-03-04T21:02:00.586Z moonrise +2023-03-04T23:26:33.556Z sunset 2023-03-05T04:03:20.012Z Moon culminates 81.35 degrees above the horizon -2023-03-05T10:58:28.345Z moonset -2023-03-05T11:45:44.766Z sunrise +2023-03-05T10:58:28.439Z moonset +2023-03-05T11:45:44.767Z sunrise 2023-03-05T17:36:15.451Z Sun culminates 55.45 degrees above the horizon -2023-03-05T21:57:46.583Z moonrise -2023-03-05T23:27:10.953Z sunset +2023-03-05T21:57:46.495Z moonrise +2023-03-05T23:27:11.040Z sunset 2023-03-06T04:47:26.291Z Moon culminates 76.77 degrees above the horizon -2023-03-06T11:30:24.960Z moonset +2023-03-06T11:30:25.010Z moonset 2023-03-06T11:44:40.050Z sunrise 2023-03-06T17:36:01.617Z Sun culminates 55.84 degrees above the horizon -2023-03-06T22:52:47.133Z moonrise -2023-03-06T23:27:48.114Z sunset +2023-03-06T22:52:47.104Z moonrise +2023-03-06T23:27:48.202Z sunset 2023-03-07T05:29:46.244Z Moon culminates 71.50 degrees above the horizon -2023-03-07T11:43:34.817Z sunrise -2023-03-07T11:59:55.144Z moonset +2023-03-07T11:43:34.917Z sunrise +2023-03-07T11:59:55.168Z moonset 2023-03-07T12:41:04.264Z full moon 2023-03-07T17:35:47.374Z Sun culminates 56.23 degrees above the horizon -2023-03-07T23:28:24.969Z sunset -2023-03-07T23:47:14.140Z moonrise +2023-03-07T23:28:25.058Z sunset +2023-03-07T23:47:14.138Z moonrise 2023-03-08T06:11:03.659Z Moon culminates 65.75 degrees above the horizon -2023-03-08T11:42:29.100Z sunrise -2023-03-08T12:28:05.997Z moonset +2023-03-08T11:42:29.199Z sunrise +2023-03-08T12:28:06.010Z moonset 2023-03-08T17:35:32.745Z Sun culminates 56.62 degrees above the horizon -2023-03-08T23:29:01.533Z sunset -2023-03-09T00:41:43.386Z moonrise +2023-03-08T23:29:01.624Z sunset +2023-03-09T00:41:43.389Z moonrise 2023-03-09T06:52:13.109Z Moon culminates 59.74 degrees above the horizon -2023-03-09T11:41:22.929Z sunrise -2023-03-09T12:56:05.660Z moonset +2023-03-09T11:41:23.027Z sunrise +2023-03-09T12:56:05.670Z moonset 2023-03-09T17:35:17.754Z Sun culminates 57.01 degrees above the horizon -2023-03-09T23:29:37.822Z sunset -2023-03-10T01:37:05.291Z moonrise +2023-03-09T23:29:37.914Z sunset +2023-03-10T01:37:05.300Z moonrise 2023-03-10T07:34:16.676Z Moon culminates 53.68 degrees above the horizon -2023-03-10T11:40:16.336Z sunrise +2023-03-10T11:40:16.433Z sunrise 2023-03-10T13:25:06.334Z moonset 2023-03-10T17:35:02.423Z Sun culminates 57.40 degrees above the horizon -2023-03-10T23:30:13.851Z sunset -2023-03-11T02:34:15.393Z moonrise +2023-03-10T23:30:13.944Z sunset +2023-03-11T02:34:15.435Z moonrise 2023-03-11T08:18:21.544Z Moon culminates 47.83 degrees above the horizon -2023-03-11T11:39:09.350Z sunrise -2023-03-11T13:56:28.892Z moonset +2023-03-11T11:39:09.447Z sunrise +2023-03-11T13:56:28.862Z moonset 2023-03-11T17:34:46.775Z Sun culminates 57.79 degrees above the horizon -2023-03-11T23:30:49.636Z sunset -2023-03-12T03:34:01.645Z moonrise +2023-03-11T23:30:49.730Z sunset +2023-03-12T03:34:01.766Z moonrise 2023-03-12T09:05:35.615Z Moon culminates 42.47 degrees above the horizon -2023-03-12T11:38:02.003Z sunrise -2023-03-12T14:31:46.951Z moonset +2023-03-12T11:38:02.099Z sunrise +2023-03-12T14:31:46.865Z moonset 2023-03-12T17:34:30.834Z Sun culminates 58.19 degrees above the horizon -2023-03-12T23:31:25.192Z sunset -2023-03-13T04:36:44.006Z moonrise +2023-03-12T23:31:25.287Z sunset +2023-03-13T04:36:44.224Z moonrise 2023-03-13T09:56:57.038Z Moon culminates 37.94 degrees above the horizon -2023-03-13T11:36:54.324Z sunrise -2023-03-13T15:12:45.883Z moonset +2023-03-13T11:36:54.418Z sunrise +2023-03-13T15:12:45.730Z moonset 2023-03-13T17:34:14.620Z Sun culminates 58.58 degrees above the horizon -2023-03-13T23:32:00.531Z sunset -2023-03-14T05:41:45.382Z moonrise +2023-03-13T23:32:00.627Z sunset +2023-03-14T05:41:45.665Z moonrise 2023-03-14T10:52:53.698Z Moon culminates 34.62 degrees above the horizon -2023-03-14T11:35:46.342Z sunrise -2023-03-14T16:01:07.723Z moonset +2023-03-14T11:35:46.436Z sunrise +2023-03-14T16:01:07.509Z moonset 2023-03-14T17:33:58.156Z Sun culminates 58.97 degrees above the horizon -2023-03-14T23:32:35.668Z sunset +2023-03-14T23:32:35.765Z sunset 2023-03-15T02:08:51.801Z third quarter -2023-03-15T06:47:08.078Z moonrise -2023-03-15T11:34:38.085Z sunrise +2023-03-15T06:47:08.370Z moonrise +2023-03-15T11:34:38.179Z sunrise 2023-03-15T11:52:55.628Z Moon culminates 32.92 degrees above the horizon -2023-03-15T16:57:51.678Z moonset +2023-03-15T16:57:51.414Z moonset 2023-03-15T17:33:41.461Z Sun culminates 59.37 degrees above the horizon -2023-03-15T23:33:10.614Z sunset +2023-03-15T23:33:10.712Z sunset 2023-03-15T23:45:31.751Z Neptune conjunction 2023-03-16T03:21:34.574Z Venus moves from Pisces to Aries -2023-03-16T07:49:50.150Z moonrise -2023-03-16T11:33:29.808Z sunrise +2023-03-16T07:49:50.413Z moonrise +2023-03-16T11:33:29.676Z sunrise 2023-03-16T12:55:19.963Z Moon culminates 33.13 degrees above the horizon 2023-03-16T17:33:24.556Z Sun culminates 59.76 degrees above the horizon -2023-03-16T18:02:19.447Z moonset +2023-03-16T18:02:19.153Z moonset 2023-03-16T21:51:47.684Z Mercury moves from Aquarius to Pisces -2023-03-16T23:33:45.380Z sunset -2023-03-17T08:46:59.234Z moonrise +2023-03-16T23:33:45.479Z sunset +2023-03-17T08:46:59.447Z moonrise 2023-03-17T10:29:25.485Z Mercury superior conjunction -2023-03-17T11:32:20.863Z sunrise +2023-03-17T11:32:20.955Z sunrise 2023-03-17T13:57:36.588Z Moon culminates 35.37 degrees above the horizon 2023-03-17T17:33:07.459Z Sun culminates 60.16 degrees above the horizon -2023-03-17T19:11:56.569Z moonset -2023-03-17T23:34:19.978Z sunset -2023-03-18T09:37:11.916Z moonrise -2023-03-18T11:31:11.951Z sunrise +2023-03-17T19:11:56.294Z moonset +2023-03-17T23:34:20.077Z sunset +2023-03-18T09:37:12.062Z moonrise +2023-03-18T11:31:12.042Z sunrise 2023-03-18T14:57:30.510Z Moon culminates 39.46 degrees above the horizon 2023-03-18T17:32:50.189Z Sun culminates 60.55 degrees above the horizon -2023-03-18T20:23:15.291Z moonset -2023-03-18T23:34:54.415Z sunset -2023-03-19T10:20:49.156Z moonrise -2023-03-19T11:30:02.874Z sunrise +2023-03-18T20:23:15.104Z moonset +2023-03-18T23:34:54.416Z sunset +2023-03-19T10:20:49.230Z moonrise +2023-03-19T11:30:02.965Z sunrise 2023-03-19T15:12:51.422Z lunar perigee at 362686 km 2023-03-19T15:53:52.680Z Moon culminates 45.04 degrees above the horizon 2023-03-19T17:32:32.763Z Sun culminates 60.95 degrees above the horizon -2023-03-19T21:33:32.086Z moonset +2023-03-19T21:33:32.011Z moonset 2023-03-19T23:35:28.703Z sunset -2023-03-20T10:59:15.964Z moonrise -2023-03-20T11:28:53.658Z sunrise +2023-03-20T10:59:15.990Z moonrise +2023-03-20T11:28:53.748Z sunrise 2023-03-20T16:46:45.681Z Moon culminates 51.61 degrees above the horizon 2023-03-20T17:32:15.198Z Sun culminates 61.34 degrees above the horizon 2023-03-20T21:24:24.091Z March equinox -2023-03-20T22:41:34.313Z moonset -2023-03-20T23:36:02.848Z sunset -2023-03-21T11:27:44.328Z sunrise -2023-03-21T11:34:17.670Z moonrise +2023-03-20T22:41:34.303Z moonset +2023-03-20T23:36:02.849Z sunset +2023-03-21T11:27:44.417Z sunrise +2023-03-21T11:34:17.680Z moonrise 2023-03-21T17:23:44.262Z new moon 2023-03-21T17:31:57.512Z Sun culminates 61.74 degrees above the horizon 2023-03-21T17:36:59.064Z Moon culminates 58.66 degrees above the horizon -2023-03-21T23:36:36.861Z sunset -2023-03-21T23:47:24.480Z moonset -2023-03-22T11:26:34.907Z sunrise -2023-03-22T12:07:37.221Z moonrise +2023-03-21T23:36:36.862Z sunset +2023-03-21T23:47:24.481Z moonset +2023-03-22T11:26:34.996Z sunrise +2023-03-22T12:07:37.228Z moonrise 2023-03-22T17:31:39.722Z Sun culminates 62.13 degrees above the horizon 2023-03-22T18:25:39.454Z Mercury moves from Pisces to Cetus 2023-03-22T18:25:41.959Z Moon culminates 65.71 degrees above the horizon -2023-03-22T23:37:10.750Z sunset -2023-03-23T00:51:42.305Z moonset +2023-03-22T23:37:10.751Z sunset +2023-03-23T00:51:42.311Z moonset 2023-03-23T11:16:50.755Z Mercury moves from Cetus to Pisces -2023-03-23T11:25:25.422Z sunrise -2023-03-23T12:40:49.143Z moonrise +2023-03-23T11:25:25.510Z sunrise +2023-03-23T12:40:49.140Z moonrise 2023-03-23T17:31:21.843Z Sun culminates 62.53 degrees above the horizon 2023-03-23T19:14:04.227Z Moon culminates 72.36 degrees above the horizon -2023-03-23T23:37:44.524Z sunset -2023-03-24T01:55:11.299Z moonset -2023-03-24T11:24:15.896Z sunrise -2023-03-24T13:15:20.057Z moonrise +2023-03-23T23:37:44.525Z sunset +2023-03-24T01:55:11.344Z moonset +2023-03-24T11:24:15.983Z sunrise +2023-03-24T13:15:20.024Z moonrise 2023-03-24T17:31:03.893Z Sun culminates 62.92 degrees above the horizon 2023-03-24T20:03:04.377Z Moon culminates 78.23 degrees above the horizon -2023-03-24T23:38:18.191Z sunset -2023-03-25T02:58:14.341Z moonset -2023-03-25T11:23:06.355Z sunrise -2023-03-25T13:52:28.548Z moonrise +2023-03-24T23:38:18.192Z sunset +2023-03-25T02:58:14.458Z moonset +2023-03-25T11:23:06.441Z sunrise +2023-03-25T13:52:28.466Z moonrise 2023-03-25T17:30:45.888Z Sun culminates 63.32 degrees above the horizon 2023-03-25T20:53:19.916Z Moon culminates 83.04 degrees above the horizon -2023-03-25T23:38:51.760Z sunset -2023-03-26T04:00:36.860Z moonset -2023-03-26T11:21:56.824Z sunrise +2023-03-25T23:38:51.761Z sunset +2023-03-26T04:00:37.049Z moonset +2023-03-26T11:21:56.910Z sunrise 2023-03-26T11:56:15.232Z Mars moves from Taurus to Gemini -2023-03-26T14:33:19.946Z moonrise +2023-03-26T14:33:19.815Z moonrise 2023-03-26T17:30:27.846Z Sun culminates 63.71 degrees above the horizon 2023-03-26T21:44:58.728Z Moon culminates 86.57 degrees above the horizon -2023-03-26T23:39:25.239Z sunset -2023-03-27T05:01:20.901Z moonset -2023-03-27T11:20:47.329Z sunrise -2023-03-27T15:18:34.267Z moonrise +2023-03-26T23:39:25.241Z sunset +2023-03-27T05:01:21.126Z moonset +2023-03-27T11:20:47.414Z sunrise +2023-03-27T15:18:34.098Z moonrise 2023-03-27T17:30:09.784Z Sun culminates 64.10 degrees above the horizon 2023-03-27T22:37:34.664Z Moon culminates 88.67 degrees above the horizon -2023-03-27T23:39:58.639Z sunset -2023-03-28T05:58:57.511Z moonset -2023-03-28T11:19:37.897Z sunrise -2023-03-28T16:08:11.111Z moonrise +2023-03-27T23:39:58.641Z sunset +2023-03-28T05:58:57.738Z moonset +2023-03-28T11:19:37.980Z sunrise +2023-03-28T16:08:10.913Z moonrise 2023-03-28T17:29:51.721Z Sun culminates 64.49 degrees above the horizon 2023-03-28T23:30:13.092Z Moon culminates 89.29 degrees above the horizon -2023-03-28T23:40:31.970Z sunset +2023-03-28T23:40:31.972Z sunset 2023-03-29T02:33:04.833Z first quarter -2023-03-29T06:51:57.988Z moonset -2023-03-29T11:18:28.553Z sunrise -2023-03-29T17:01:22.969Z moonrise +2023-03-29T06:51:58.200Z moonset +2023-03-29T11:18:28.635Z sunrise +2023-03-29T17:01:22.753Z moonrise 2023-03-29T17:29:33.676Z Sun culminates 64.88 degrees above the horizon -2023-03-29T23:41:05.243Z sunset +2023-03-29T23:41:05.245Z sunset 2023-03-30T00:21:48.322Z Moon culminates 88.46 degrees above the horizon -2023-03-30T07:39:27.920Z moonset -2023-03-30T11:17:19.326Z sunrise +2023-03-30T07:39:28.111Z moonset +2023-03-30T11:17:19.407Z sunrise 2023-03-30T17:29:15.668Z Sun culminates 65.27 degrees above the horizon -2023-03-30T17:56:48.354Z moonrise -2023-03-30T23:41:38.469Z sunset +2023-03-30T17:56:48.141Z moonrise +2023-03-30T23:41:38.472Z sunset 2023-03-31T01:11:25.851Z Moon culminates 86.30 degrees above the horizon -2023-03-31T08:21:22.648Z moonset -2023-03-31T11:16:10.244Z sunrise +2023-03-31T08:21:22.806Z moonset +2023-03-31T11:16:10.324Z sunrise 2023-03-31T11:18:13.590Z lunar apogee at 404909 km 2023-03-31T17:28:57.717Z Sun culminates 65.66 degrees above the horizon -2023-03-31T18:53:01.397Z moonrise +2023-03-31T18:53:01.219Z moonrise 2023-03-31T19:29:35.550Z Mercury perihelion at 0.3075 AU -2023-03-31T23:42:11.661Z sunset +2023-03-31T23:42:11.664Z sunset 2023-04-01T01:58:37.930Z Moon culminates 82.98 degrees above the horizon -2023-04-01T08:58:19.397Z moonset -2023-04-01T11:15:01.335Z sunrise +2023-04-01T08:58:19.510Z moonset +2023-04-01T11:15:01.413Z sunrise 2023-04-01T17:28:39.845Z Sun culminates 66.04 degrees above the horizon -2023-04-01T19:48:59.907Z moonrise -2023-04-01T23:42:44.832Z sunset +2023-04-01T19:48:59.792Z moonrise +2023-04-01T23:42:44.836Z sunset 2023-04-02T02:43:26.928Z Moon culminates 78.69 degrees above the horizon -2023-04-02T09:31:19.010Z moonset -2023-04-02T11:13:52.627Z sunrise +2023-04-02T09:31:19.076Z moonset +2023-04-02T11:13:52.704Z sunrise 2023-04-02T17:28:22.073Z Sun culminates 66.43 degrees above the horizon -2023-04-02T20:44:17.955Z moonrise -2023-04-02T23:43:17.997Z sunset +2023-04-02T20:44:17.906Z moonrise +2023-04-02T23:43:18.002Z sunset 2023-04-03T03:26:19.862Z Moon culminates 73.63 degrees above the horizon 2023-04-03T09:57:23.361Z Mercury moves from Pisces to Aries -2023-04-03T10:01:30.686Z moonset -2023-04-03T11:12:44.151Z sunrise +2023-04-03T10:01:30.717Z moonset +2023-04-03T11:12:44.226Z sunrise 2023-04-03T17:28:04.422Z Sun culminates 66.81 degrees above the horizon -2023-04-03T21:39:03.689Z moonrise -2023-04-03T23:43:51.170Z sunset +2023-04-03T21:39:03.680Z moonrise +2023-04-03T23:43:51.176Z sunset 2023-04-04T04:08:00.547Z Moon culminates 67.99 degrees above the horizon -2023-04-04T10:30:04.390Z moonset -2023-04-04T11:11:35.935Z sunrise +2023-04-04T10:30:04.406Z moonset +2023-04-04T11:11:36.009Z sunrise 2023-04-04T17:27:46.914Z Sun culminates 67.19 degrees above the horizon -2023-04-04T22:33:50.469Z moonrise -2023-04-04T23:44:24.365Z sunset +2023-04-04T22:33:50.472Z moonrise +2023-04-04T23:44:24.372Z sunset 2023-04-05T04:49:23.464Z Moon culminates 61.98 degrees above the horizon -2023-04-05T10:58:09.680Z moonset -2023-04-05T11:10:28.009Z sunrise +2023-04-05T10:58:09.692Z moonset +2023-04-05T11:10:28.081Z sunrise 2023-04-05T17:27:29.573Z Sun culminates 67.57 degrees above the horizon -2023-04-05T23:29:27.196Z moonrise -2023-04-05T23:44:57.598Z sunset +2023-04-05T23:29:27.200Z moonrise +2023-04-05T23:44:57.606Z sunset 2023-04-06T04:35:10.129Z full moon 2023-04-06T05:31:30.102Z Moon culminates 55.81 degrees above the horizon -2023-04-06T11:09:20.403Z sunrise -2023-04-06T11:26:58.355Z moonset +2023-04-06T11:09:20.474Z sunrise +2023-04-06T11:26:58.360Z moonset 2023-04-06T17:27:12.420Z Sun culminates 67.95 degrees above the horizon -2023-04-06T23:45:30.882Z sunset -2023-04-07T00:26:48.724Z moonrise +2023-04-06T23:45:30.892Z sunset +2023-04-07T00:26:48.750Z moonrise 2023-04-07T04:29:52.241Z Venus moves from Aries to Taurus 2023-04-07T06:15:26.416Z Moon culminates 49.73 degrees above the horizon -2023-04-07T11:08:13.147Z sunrise -2023-04-07T11:57:48.857Z moonset +2023-04-07T11:08:13.215Z sunrise +2023-04-07T11:57:48.839Z moonset 2023-04-07T17:26:55.477Z Sun culminates 68.33 degrees above the horizon -2023-04-07T23:46:04.233Z sunset -2023-04-08T01:26:43.514Z moonrise +2023-04-07T23:46:04.244Z sunset +2023-04-08T01:26:43.606Z moonrise 2023-04-08T07:02:18.629Z Moon culminates 44.06 degrees above the horizon -2023-04-08T11:07:06.269Z sunrise -2023-04-08T12:32:10.282Z moonset +2023-04-08T11:07:06.336Z sunrise +2023-04-08T12:32:10.216Z moonset 2023-04-08T17:26:38.766Z Sun culminates 68.70 degrees above the horizon -2023-04-08T23:46:37.664Z sunset -2023-04-09T02:29:34.130Z moonrise +2023-04-08T23:46:37.676Z sunset +2023-04-09T02:29:34.322Z moonrise 2023-04-09T07:53:03.521Z Moon culminates 39.13 degrees above the horizon -2023-04-09T11:05:59.799Z sunrise -2023-04-09T13:11:42.114Z moonset +2023-04-09T11:05:59.864Z sunrise +2023-04-09T13:11:41.980Z moonset 2023-04-09T17:26:22.307Z Sun culminates 69.07 degrees above the horizon -2023-04-09T23:47:11.187Z sunset -2023-04-10T03:34:49.178Z moonrise +2023-04-09T23:47:11.201Z sunset +2023-04-10T03:34:49.451Z moonrise 2023-04-10T08:48:09.626Z Moon culminates 35.36 degrees above the horizon -2023-04-10T11:04:53.766Z sunrise -2023-04-10T13:58:01.974Z moonset +2023-04-10T11:04:53.828Z sunrise +2023-04-10T13:58:01.776Z moonset 2023-04-10T17:26:06.121Z Sun culminates 69.44 degrees above the horizon -2023-04-10T23:47:44.812Z sunset -2023-04-11T04:40:38.694Z moonrise +2023-04-10T23:47:44.828Z sunset +2023-04-11T04:40:38.991Z moonrise 2023-04-11T09:47:11.717Z Moon culminates 33.12 degrees above the horizon -2023-04-11T11:03:48.198Z sunrise -2023-04-11T14:52:12.168Z moonset +2023-04-11T11:03:48.258Z sunrise +2023-04-11T14:52:11.918Z moonset 2023-04-11T17:25:50.226Z Sun culminates 69.81 degrees above the horizon 2023-04-11T22:09:29.682Z Jupiter conjunction 2023-04-11T22:12:52.059Z Mercury max evening elongation: 19.49 degrees from Sun -2023-04-11T23:48:18.550Z sunset -2023-04-12T05:44:05.031Z moonrise +2023-04-11T23:48:18.568Z sunset +2023-04-12T05:44:05.307Z moonrise 2023-04-12T10:48:35.776Z Moon culminates 32.74 degrees above the horizon -2023-04-12T11:02:43.124Z sunrise -2023-04-12T15:53:50.546Z moonset +2023-04-12T11:02:43.180Z sunrise +2023-04-12T15:53:50.259Z moonset 2023-04-12T17:25:34.642Z Sun culminates 70.18 degrees above the horizon -2023-04-12T23:48:52.409Z sunset -2023-04-13T06:42:10.457Z moonrise +2023-04-12T23:48:52.429Z sunset +2023-04-13T06:42:10.690Z moonrise 2023-04-13T09:11:59.739Z third quarter -2023-04-13T11:01:38.569Z sunrise +2023-04-13T11:01:38.623Z sunrise 2023-04-13T11:50:00.255Z Moon culminates 34.32 degrees above the horizon -2023-04-13T17:00:47.314Z moonset +2023-04-13T17:00:47.026Z moonset 2023-04-13T17:25:19.384Z Sun culminates 70.54 degrees above the horizon -2023-04-13T23:49:26.395Z sunset -2023-04-14T07:33:18.355Z moonrise -2023-04-14T11:00:34.563Z sunrise +2023-04-13T23:49:26.417Z sunset +2023-04-14T07:33:18.530Z moonrise +2023-04-14T11:00:34.614Z sunrise 2023-04-14T12:49:12.912Z Moon culminates 37.74 degrees above the horizon 2023-04-14T17:25:04.469Z Sun culminates 70.90 degrees above the horizon -2023-04-14T18:09:52.917Z moonset -2023-04-14T23:50:00.513Z sunset -2023-04-15T08:17:37.172Z moonrise -2023-04-15T10:59:31.129Z sunrise +2023-04-14T18:09:52.692Z moonset +2023-04-14T23:50:00.536Z sunset +2023-04-15T08:17:37.275Z moonrise +2023-04-15T10:59:31.177Z sunrise 2023-04-15T13:45:01.082Z Moon culminates 42.68 degrees above the horizon 2023-04-15T17:24:49.912Z Sun culminates 71.26 degrees above the horizon -2023-04-15T19:18:26.886Z moonset -2023-04-15T23:50:34.765Z sunset +2023-04-15T19:18:26.770Z moonset +2023-04-15T23:50:34.792Z sunset 2023-04-16T02:23:13.826Z lunar perigee at 367956 km -2023-04-16T08:56:25.065Z moonrise -2023-04-16T10:58:28.295Z sunrise +2023-04-16T08:56:25.109Z moonrise +2023-04-16T10:58:28.340Z sunrise 2023-04-16T14:37:21.463Z Moon culminates 48.73 degrees above the horizon 2023-04-16T17:24:35.727Z Sun culminates 71.61 degrees above the horizon -2023-04-16T20:25:10.079Z moonset -2023-04-16T23:51:09.156Z sunset -2023-04-17T09:31:25.275Z moonrise -2023-04-17T10:57:26.085Z sunrise +2023-04-16T20:25:10.049Z moonset +2023-04-16T23:51:09.184Z sunset +2023-04-17T09:31:25.290Z moonrise +2023-04-17T10:57:26.126Z sunrise 2023-04-17T13:33:58.651Z Venus perihelion at 0.7184 AU 2023-04-17T15:26:59.315Z Moon culminates 55.46 degrees above the horizon 2023-04-17T17:24:21.926Z Sun culminates 71.97 degrees above the horizon -2023-04-17T21:29:58.484Z moonset -2023-04-17T23:51:43.684Z sunset -2023-04-18T10:04:20.958Z moonrise -2023-04-18T10:56:24.521Z sunrise +2023-04-17T21:29:58.483Z moonset +2023-04-17T23:51:43.715Z sunset +2023-04-18T10:04:20.966Z moonrise +2023-04-18T10:56:24.559Z sunrise 2023-04-18T16:15:02.762Z Moon culminates 62.43 degrees above the horizon 2023-04-18T17:24:08.521Z Sun culminates 72.32 degrees above the horizon -2023-04-18T22:33:30.721Z moonset -2023-04-18T23:52:18.350Z sunset -2023-04-19T10:36:47.773Z moonrise -2023-04-19T10:55:23.627Z sunrise +2023-04-18T22:33:30.723Z moonset +2023-04-18T23:52:18.385Z sunset +2023-04-19T10:36:47.777Z moonrise +2023-04-19T10:55:23.661Z sunrise 2023-04-19T17:02:44.355Z Moon culminates 69.25 degrees above the horizon 2023-04-19T17:23:55.523Z Sun culminates 72.66 degrees above the horizon -2023-04-19T23:36:36.147Z moonset -2023-04-19T23:52:53.153Z sunset +2023-04-19T23:36:36.168Z moonset +2023-04-19T23:52:53.190Z sunset 2023-04-20T04:13:06.247Z new moon -2023-04-20T10:54:23.426Z sunrise -2023-04-20T11:10:14.441Z moonrise +2023-04-20T10:54:23.456Z sunrise +2023-04-20T11:10:14.425Z moonrise 2023-04-20T17:23:42.942Z Sun culminates 73.01 degrees above the horizon 2023-04-20T17:51:08.993Z Moon culminates 75.53 degrees above the horizon -2023-04-20T23:53:28.090Z sunset -2023-04-21T00:39:49.443Z moonset -2023-04-21T10:53:23.938Z sunrise -2023-04-21T11:46:03.761Z moonrise +2023-04-20T23:53:28.130Z sunset +2023-04-21T00:39:49.523Z moonset +2023-04-21T10:53:23.964Z sunrise +2023-04-21T11:46:03.704Z moonrise 2023-04-21T17:23:30.788Z Sun culminates 73.35 degrees above the horizon 2023-04-21T18:41:03.645Z Moon culminates 80.93 degrees above the horizon -2023-04-21T23:54:03.157Z sunset -2023-04-22T01:43:09.876Z moonset -2023-04-22T10:52:25.186Z sunrise -2023-04-22T12:25:29.038Z moonrise +2023-04-21T23:54:03.201Z sunset +2023-04-22T01:43:10.035Z moonset +2023-04-22T10:52:25.208Z sunrise +2023-04-22T12:25:28.929Z moonrise 2023-04-22T17:23:19.068Z Sun culminates 73.68 degrees above the horizon 2023-04-22T19:32:46.442Z Moon culminates 85.15 degrees above the horizon -2023-04-22T23:54:38.350Z sunset -2023-04-23T02:45:47.573Z moonset -2023-04-23T10:51:27.192Z sunrise -2023-04-23T13:09:22.676Z moonrise +2023-04-22T23:54:38.397Z sunset +2023-04-23T02:45:47.787Z moonset +2023-04-23T10:51:27.210Z sunrise +2023-04-23T13:09:22.523Z moonrise 2023-04-23T17:23:07.791Z Sun culminates 74.02 degrees above the horizon 2023-04-23T20:25:57.795Z Moon culminates 87.97 degrees above the horizon -2023-04-23T23:55:13.664Z sunset -2023-04-24T03:46:07.029Z moonset -2023-04-24T10:50:29.977Z sunrise -2023-04-24T13:57:58.407Z moonrise +2023-04-23T23:55:13.714Z sunset +2023-04-24T03:46:07.258Z moonset +2023-04-24T10:50:29.990Z sunrise +2023-04-24T13:57:58.220Z moonrise 2023-04-24T17:22:56.966Z Sun culminates 74.35 degrees above the horizon 2023-04-24T21:19:41.146Z Moon culminates 89.27 degrees above the horizon -2023-04-24T23:55:49.093Z sunset -2023-04-25T04:42:16.360Z moonset -2023-04-25T10:49:33.563Z sunrise -2023-04-25T14:50:37.980Z moonrise +2023-04-24T23:55:49.146Z sunset +2023-04-25T04:42:16.579Z moonset +2023-04-25T10:49:33.573Z sunrise +2023-04-25T14:50:37.770Z moonrise 2023-04-25T17:22:46.600Z Sun culminates 74.68 degrees above the horizon 2023-04-25T22:12:39.423Z Moon culminates 89.04 degrees above the horizon -2023-04-25T23:56:24.631Z sunset -2023-04-26T05:32:51.057Z moonset -2023-04-26T10:48:37.974Z sunrise -2023-04-26T15:45:58.386Z moonrise +2023-04-25T23:56:24.688Z sunset +2023-04-26T05:32:51.258Z moonset +2023-04-26T10:48:37.979Z sunrise +2023-04-26T15:45:58.167Z moonrise 2023-04-26T17:22:36.704Z Sun culminates 75.00 degrees above the horizon 2023-04-26T23:03:41.995Z Moon culminates 87.39 degrees above the horizon -2023-04-26T23:57:00.273Z sunset -2023-04-27T06:17:23.130Z moonset +2023-04-26T23:57:00.334Z sunset +2023-04-27T06:17:23.303Z moonset 2023-04-27T10:47:43.231Z sunrise -2023-04-27T16:42:22.481Z moonrise +2023-04-27T16:42:22.284Z moonrise 2023-04-27T17:22:27.284Z Sun culminates 75.32 degrees above the horizon 2023-04-27T21:20:40.716Z first quarter 2023-04-27T23:52:07.014Z Moon culminates 84.50 degrees above the horizon -2023-04-27T23:57:36.014Z sunset +2023-04-27T23:57:36.078Z sunset 2023-04-28T06:43:15.103Z lunar apogee at 404287 km -2023-04-28T06:56:19.401Z moonset -2023-04-28T10:46:49.359Z sunrise +2023-04-28T06:56:19.533Z moonset +2023-04-28T10:46:49.354Z sunrise 2023-04-28T17:22:18.351Z Sun culminates 75.63 degrees above the horizon -2023-04-28T17:38:34.083Z moonrise -2023-04-28T23:58:11.848Z sunset +2023-04-28T17:38:33.939Z moonrise +2023-04-28T23:58:11.916Z sunset 2023-04-29T00:37:48.605Z Moon culminates 80.58 degrees above the horizon -2023-04-29T07:30:40.532Z moonset -2023-04-29T10:45:56.380Z sunrise +2023-04-29T07:30:40.617Z moonset +2023-04-29T10:45:56.371Z sunrise 2023-04-29T17:22:09.913Z Sun culminates 75.95 degrees above the horizon -2023-04-29T18:33:56.862Z moonrise -2023-04-29T23:58:47.770Z sunset +2023-04-29T18:33:56.787Z moonrise +2023-04-29T23:58:47.843Z sunset 2023-04-30T01:21:11.232Z Moon culminates 75.82 degrees above the horizon -2023-04-30T08:01:40.247Z moonset -2023-04-30T10:45:04.319Z sunrise +2023-04-30T08:01:40.291Z moonset +2023-04-30T10:45:04.305Z sunrise 2023-04-30T17:22:01.980Z Sun culminates 76.25 degrees above the horizon -2023-04-30T19:28:34.182Z moonrise -2023-04-30T23:59:23.776Z sunset +2023-04-30T19:28:34.160Z moonrise +2023-04-30T23:59:23.852Z sunset 2023-05-01T02:02:59.778Z Moon culminates 70.42 degrees above the horizon -2023-05-01T08:30:33.712Z moonset -2023-05-01T10:44:13.200Z sunrise +2023-05-01T08:30:33.733Z moonset +2023-05-01T10:44:13.180Z sunrise 2023-05-01T17:21:54.563Z Sun culminates 76.56 degrees above the horizon -2023-05-01T20:22:59.342Z moonrise +2023-05-01T20:22:59.343Z moonrise 2023-05-01T23:19:51.508Z Mercury inferior conjunction -2023-05-01T23:59:59.860Z sunset +2023-05-01T23:59:59.941Z sunset 2023-05-02T02:44:11.455Z Moon culminates 64.55 degrees above the horizon -2023-05-02T08:58:34.468Z moonset -2023-05-02T10:43:23.047Z sunrise +2023-05-02T08:58:34.480Z moonset +2023-05-02T10:43:23.022Z sunrise 2023-05-02T17:21:47.670Z Sun culminates 76.86 degrees above the horizon -2023-05-02T21:18:04.661Z moonrise -2023-05-03T00:00:36.019Z sunset +2023-05-02T21:18:04.664Z moonrise +2023-05-03T00:00:36.104Z sunset 2023-05-03T03:25:51.189Z Moon culminates 58.41 degrees above the horizon -2023-05-03T09:26:56.591Z moonset -2023-05-03T10:42:33.884Z sunrise +2023-05-03T09:26:56.599Z moonset +2023-05-03T10:42:33.855Z sunrise 2023-05-03T17:21:41.312Z Sun culminates 77.15 degrees above the horizon -2023-05-03T22:14:51.718Z moonrise -2023-05-04T00:01:12.246Z sunset +2023-05-03T22:14:51.731Z moonrise +2023-05-04T00:01:12.336Z sunset 2023-05-04T04:09:09.221Z Moon culminates 52.23 degrees above the horizon -2023-05-04T09:56:59.435Z moonset -2023-05-04T10:41:45.737Z sunrise +2023-05-04T09:56:59.430Z moonset +2023-05-04T10:41:45.703Z sunrise 2023-05-04T17:21:35.498Z Sun culminates 77.44 degrees above the horizon -2023-05-04T23:14:20.122Z moonrise -2023-05-05T00:01:48.539Z sunset +2023-05-04T23:14:20.181Z moonrise +2023-05-05T00:01:48.632Z sunset 2023-05-05T04:55:18.019Z Moon culminates 46.27 degrees above the horizon -2023-05-05T10:30:12.778Z moonset -2023-05-05T10:40:58.630Z sunrise +2023-05-05T10:30:12.734Z moonset +2023-05-05T10:40:58.590Z sunrise 2023-05-05T17:21:30.238Z Sun culminates 77.73 degrees above the horizon 2023-05-05T17:22:57.180Z penumbral lunar eclipse 2023-05-05T17:34:38.440Z full moon -2023-05-06T00:02:24.889Z sunset -2023-05-06T00:17:09.253Z moonrise +2023-05-06T00:02:24.987Z sunset +2023-05-06T00:17:09.406Z moonrise 2023-05-06T05:45:24.095Z Moon culminates 40.91 degrees above the horizon -2023-05-06T10:40:12.585Z sunrise -2023-05-06T11:08:18.823Z moonset +2023-05-06T10:40:12.540Z sunrise +2023-05-06T11:08:18.716Z moonset 2023-05-06T17:21:25.541Z Sun culminates 78.01 degrees above the horizon -2023-05-07T00:03:01.291Z sunset -2023-05-07T01:23:08.332Z moonrise +2023-05-07T00:03:01.394Z sunset +2023-05-07T01:23:08.582Z moonrise 2023-05-07T06:40:09.580Z Moon culminates 36.56 degrees above the horizon -2023-05-07T10:39:27.627Z sunrise -2023-05-07T11:53:03.532Z moonset +2023-05-07T10:39:27.577Z sunrise +2023-05-07T11:53:03.355Z moonset 2023-05-07T17:21:21.414Z Sun culminates 78.29 degrees above the horizon -2023-05-08T00:03:37.736Z sunset +2023-05-08T00:03:37.843Z sunset 2023-05-08T01:11:04.343Z Venus moves from Taurus to Gemini -2023-05-08T02:30:41.929Z moonrise +2023-05-08T02:30:42.225Z moonrise 2023-05-08T07:39:22.898Z Moon culminates 33.68 degrees above the horizon -2023-05-08T10:38:43.778Z sunrise -2023-05-08T12:45:45.779Z moonset +2023-05-08T10:38:43.723Z sunrise +2023-05-08T12:45:45.544Z moonset 2023-05-08T17:21:17.863Z Sun culminates 78.56 degrees above the horizon -2023-05-09T00:04:14.216Z sunset -2023-05-09T03:36:44.638Z moonrise +2023-05-09T00:04:14.327Z sunset +2023-05-09T03:36:44.924Z moonrise 2023-05-09T08:41:34.334Z Moon culminates 32.65 degrees above the horizon -2023-05-09T10:38:01.061Z sunrise -2023-05-09T13:46:23.220Z moonset +2023-05-09T10:38:01.000Z sunrise +2023-05-09T13:46:22.941Z moonset 2023-05-09T17:21:14.895Z Sun culminates 78.83 degrees above the horizon 2023-05-09T19:58:12.153Z Uranus conjunction -2023-05-10T00:04:50.717Z sunset -2023-05-10T04:37:44.299Z moonrise +2023-05-10T00:04:50.833Z sunset +2023-05-10T04:37:44.547Z moonrise 2023-05-10T09:44:09.468Z Moon culminates 33.65 degrees above the horizon -2023-05-10T10:37:19.496Z sunrise -2023-05-10T14:52:53.798Z moonset +2023-05-10T10:37:19.431Z sunrise +2023-05-10T14:52:53.503Z moonset 2023-05-10T17:21:12.514Z Sun culminates 79.09 degrees above the horizon -2023-05-11T00:05:27.228Z sunset +2023-05-11T00:05:27.349Z sunset 2023-05-11T05:06:56.858Z lunar perigee at 369333 km -2023-05-11T05:31:23.967Z moonrise -2023-05-11T10:36:39.105Z sunrise +2023-05-11T05:31:24.160Z moonrise +2023-05-11T10:36:39.034Z sunrise 2023-05-11T10:44:31.332Z Moon culminates 36.56 degrees above the horizon -2023-05-11T16:01:54.023Z moonset +2023-05-11T16:01:53.773Z moonset 2023-05-11T17:21:10.722Z Sun culminates 79.35 degrees above the horizon -2023-05-12T00:06:03.733Z sunset -2023-05-12T06:17:29.185Z moonrise -2023-05-12T10:35:59.907Z sunrise +2023-05-12T00:06:03.858Z sunset +2023-05-12T06:17:29.311Z moonrise +2023-05-12T10:35:59.831Z sunrise 2023-05-12T11:41:05.444Z Moon culminates 41.06 degrees above the horizon 2023-05-12T14:28:55.331Z third quarter -2023-05-12T17:10:18.984Z moonset +2023-05-12T17:10:18.836Z moonset 2023-05-12T17:21:09.522Z Sun culminates 79.60 degrees above the horizon -2023-05-13T00:06:40.216Z sunset -2023-05-13T06:57:14.765Z moonrise -2023-05-13T10:35:21.921Z sunrise +2023-05-13T00:06:40.346Z sunset +2023-05-13T06:57:14.826Z moonrise +2023-05-13T10:35:21.840Z sunrise 2023-05-13T12:33:38.063Z Moon culminates 46.74 degrees above the horizon 2023-05-13T17:21:08.912Z Sun culminates 79.85 degrees above the horizon -2023-05-13T18:16:31.620Z moonset -2023-05-14T00:07:16.658Z sunset -2023-05-14T07:32:29.721Z moonrise -2023-05-14T10:34:45.163Z sunrise +2023-05-13T18:16:31.570Z moonset +2023-05-14T00:07:16.791Z sunset +2023-05-14T07:32:29.743Z moonrise +2023-05-14T10:34:45.077Z sunrise 2023-05-14T13:22:53.694Z Moon culminates 53.15 degrees above the horizon 2023-05-14T17:21:08.893Z Sun culminates 80.09 degrees above the horizon 2023-05-14T19:07:06.673Z Mercury aphelion at 0.4667 AU -2023-05-14T19:20:22.187Z moonset -2023-05-15T00:07:53.038Z sunset -2023-05-15T08:05:03.927Z moonrise -2023-05-15T10:34:09.649Z sunrise +2023-05-14T19:20:22.183Z moonset +2023-05-15T00:07:53.176Z sunset +2023-05-15T08:05:03.937Z moonrise +2023-05-15T10:34:09.558Z sunrise 2023-05-15T14:10:04.739Z Moon culminates 59.92 degrees above the horizon 2023-05-15T17:21:09.459Z Sun culminates 80.33 degrees above the horizon -2023-05-15T20:22:33.279Z moonset -2023-05-16T00:08:29.335Z sunset -2023-05-16T08:36:37.828Z moonrise -2023-05-16T10:33:35.392Z sunrise +2023-05-15T20:22:33.280Z moonset +2023-05-16T00:08:29.478Z sunset +2023-05-16T08:36:37.835Z moonrise +2023-05-16T10:33:35.297Z sunrise 2023-05-16T14:56:30.531Z Moon culminates 66.66 degrees above the horizon 2023-05-16T17:21:10.608Z Sun culminates 80.56 degrees above the horizon -2023-05-16T21:24:05.384Z moonset -2023-05-17T00:09:05.526Z sunset +2023-05-16T21:24:05.393Z moonset +2023-05-17T00:09:05.673Z sunset 2023-05-17T03:09:50.452Z Mars moves from Gemini to Cancer -2023-05-17T09:08:43.298Z moonrise -2023-05-17T10:33:02.405Z sunrise +2023-05-17T09:08:43.293Z moonrise +2023-05-17T10:33:02.305Z sunrise 2023-05-17T15:43:25.295Z Moon culminates 73.05 degrees above the horizon 2023-05-17T17:21:12.331Z Sun culminates 80.79 degrees above the horizon -2023-05-17T22:25:51.138Z moonset -2023-05-18T00:09:41.585Z sunset -2023-05-18T09:42:46.657Z moonrise -2023-05-18T10:32:30.698Z sunrise +2023-05-17T22:25:51.189Z moonset +2023-05-18T00:09:41.736Z sunset +2023-05-18T09:42:46.619Z moonrise +2023-05-18T10:32:30.593Z sunrise 2023-05-18T16:31:49.153Z Moon culminates 78.76 degrees above the horizon 2023-05-18T17:21:14.621Z Sun culminates 81.01 degrees above the horizon 2023-05-18T23:01:43.607Z Jupiter moves from Pisces to Aries -2023-05-18T23:28:14.179Z moonset -2023-05-19T00:10:17.486Z sunset -2023-05-19T10:20:08.225Z moonrise -2023-05-19T10:32:00.280Z sunrise +2023-05-18T23:28:14.305Z moonset +2023-05-19T00:10:17.641Z sunset +2023-05-19T10:20:08.138Z moonrise +2023-05-19T10:32:00.170Z sunrise 2023-05-19T15:53:52.944Z new moon 2023-05-19T17:21:17.468Z Sun culminates 81.22 degrees above the horizon 2023-05-19T17:22:17.645Z Moon culminates 83.46 degrees above the horizon -2023-05-20T00:10:53.201Z sunset -2023-05-20T00:30:50.729Z moonset -2023-05-20T10:31:31.158Z sunrise -2023-05-20T11:01:54.170Z moonrise +2023-05-20T00:10:53.360Z sunset +2023-05-20T00:30:50.923Z moonset +2023-05-20T10:31:31.044Z sunrise +2023-05-20T11:01:54.035Z moonrise 2023-05-20T17:21:20.863Z Sun culminates 81.43 degrees above the horizon 2023-05-20T18:14:49.741Z Moon culminates 86.89 degrees above the horizon -2023-05-21T00:11:28.701Z sunset -2023-05-21T01:32:21.357Z moonset -2023-05-21T10:31:03.341Z sunrise -2023-05-21T11:48:38.905Z moonrise +2023-05-21T00:11:28.864Z sunset +2023-05-21T01:32:21.583Z moonset +2023-05-21T10:31:03.222Z sunrise +2023-05-21T11:48:38.732Z moonrise 2023-05-21T17:21:24.792Z Sun culminates 81.64 degrees above the horizon 2023-05-21T19:08:40.929Z Moon culminates 88.85 degrees above the horizon -2023-05-22T00:12:03.955Z sunset -2023-05-22T02:30:47.329Z moonset -2023-05-22T10:30:36.833Z sunrise -2023-05-22T12:40:04.779Z moonrise +2023-05-22T00:12:04.122Z sunset +2023-05-22T02:30:47.553Z moonset +2023-05-22T10:30:36.710Z sunrise +2023-05-22T12:40:04.577Z moonrise 2023-05-22T17:21:29.245Z Sun culminates 81.84 degrees above the horizon 2023-05-22T20:02:31.780Z Moon culminates 89.26 degrees above the horizon -2023-05-23T00:12:38.933Z sunset -2023-05-23T03:24:14.202Z moonset -2023-05-23T10:30:11.641Z sunrise -2023-05-23T13:34:57.148Z moonrise +2023-05-23T00:12:39.104Z sunset +2023-05-23T03:24:14.410Z moonset +2023-05-23T10:30:11.514Z sunrise +2023-05-23T13:34:56.931Z moonrise 2023-05-23T17:21:34.208Z Sun culminates 82.03 degrees above the horizon 2023-05-23T20:54:54.569Z Moon culminates 88.17 degrees above the horizon -2023-05-24T00:13:13.605Z sunset -2023-05-24T04:11:37.206Z moonset -2023-05-24T10:29:47.769Z sunrise -2023-05-24T14:31:28.876Z moonrise +2023-05-24T00:13:13.779Z sunset +2023-05-24T04:11:37.390Z moonset +2023-05-24T10:29:47.639Z sunrise +2023-05-24T14:31:28.666Z moonrise 2023-05-24T17:21:39.669Z Sun culminates 82.22 degrees above the horizon 2023-05-24T21:44:44.216Z Moon culminates 85.75 degrees above the horizon -2023-05-25T00:13:47.938Z sunset -2023-05-25T04:52:56.704Z moonset -2023-05-25T10:29:25.224Z sunrise -2023-05-25T15:28:02.062Z moonrise +2023-05-25T00:13:48.116Z sunset +2023-05-25T04:52:56.854Z moonset +2023-05-25T10:29:25.089Z sunrise +2023-05-25T15:28:01.895Z moonrise 2023-05-25T17:21:45.613Z Sun culminates 82.40 degrees above the horizon 2023-05-25T22:31:35.270Z Moon culminates 82.21 degrees above the horizon -2023-05-26T00:14:21.903Z sunset +2023-05-26T00:14:22.084Z sunset 2023-05-26T01:37:36.426Z lunar apogee at 404497 km -2023-05-26T05:29:01.977Z moonset -2023-05-26T10:29:04.008Z sunrise -2023-05-26T16:23:38.712Z moonrise +2023-05-26T05:29:02.081Z moonset +2023-05-26T10:29:03.870Z sunrise +2023-05-26T16:23:38.610Z moonrise 2023-05-26T17:21:52.029Z Sun culminates 82.57 degrees above the horizon 2023-05-26T23:15:40.464Z Moon culminates 77.79 degrees above the horizon -2023-05-27T00:14:55.468Z sunset -2023-05-27T06:01:05.644Z moonset -2023-05-27T10:28:44.126Z sunrise +2023-05-27T00:14:55.653Z sunset +2023-05-27T06:01:05.703Z moonset +2023-05-27T10:28:43.984Z sunrise 2023-05-27T15:23:01.246Z first quarter -2023-05-27T17:18:07.467Z moonrise +2023-05-27T17:18:07.427Z moonrise 2023-05-27T17:21:58.904Z Sun culminates 82.74 degrees above the horizon 2023-05-27T23:57:39.775Z Moon culminates 72.67 degrees above the horizon -2023-05-28T00:15:28.605Z sunset -2023-05-28T06:30:25.849Z moonset -2023-05-28T10:28:25.583Z sunrise +2023-05-28T00:15:28.793Z sunset +2023-05-28T06:30:25.877Z moonset +2023-05-28T10:28:25.437Z sunrise 2023-05-28T17:22:06.224Z Sun culminates 82.90 degrees above the horizon -2023-05-28T18:11:54.652Z moonrise -2023-05-29T00:16:01.284Z sunset +2023-05-28T18:11:54.647Z moonrise +2023-05-29T00:16:01.476Z sunset 2023-05-29T00:38:29.651Z Moon culminates 67.05 degrees above the horizon 2023-05-29T05:36:39.534Z Mercury max morning elongation: 24.89 degrees from Sun -2023-05-29T06:58:19.284Z moonset -2023-05-29T10:28:08.381Z sunrise +2023-05-29T06:58:19.299Z moonset +2023-05-29T10:28:08.232Z sunrise 2023-05-29T17:22:13.977Z Sun culminates 83.06 degrees above the horizon -2023-05-29T19:05:51.776Z moonrise -2023-05-30T00:16:33.477Z sunset +2023-05-29T19:05:51.779Z moonrise +2023-05-30T00:16:33.672Z sunset 2023-05-30T01:19:16.396Z Moon culminates 61.08 degrees above the horizon -2023-05-30T07:26:01.648Z moonset -2023-05-30T10:27:52.524Z sunrise +2023-05-30T07:26:01.659Z moonset +2023-05-30T10:27:52.372Z sunrise 2023-05-30T17:22:22.150Z Sun culminates 83.21 degrees above the horizon 2023-05-30T19:47:19.274Z Mars aphelion at 1.6659 AU -2023-05-30T20:01:05.006Z moonrise -2023-05-31T00:17:05.156Z sunset +2023-05-30T20:01:05.011Z moonrise +2023-05-31T00:17:05.354Z sunset 2023-05-31T02:01:13.287Z Moon culminates 54.96 degrees above the horizon -2023-05-31T07:54:52.111Z moonset -2023-05-31T10:27:38.015Z sunrise +2023-05-31T07:54:52.115Z moonset +2023-05-31T10:27:37.860Z sunrise 2023-05-31T17:22:30.732Z Sun culminates 83.35 degrees above the horizon -2023-05-31T20:58:45.536Z moonrise -2023-06-01T00:17:36.295Z sunset +2023-05-31T20:58:45.568Z moonrise +2023-06-01T00:17:36.495Z sunset 2023-06-01T02:45:38.907Z Moon culminates 48.92 degrees above the horizon -2023-06-01T08:26:19.502Z moonset -2023-06-01T10:27:24.856Z sunrise +2023-06-01T08:26:19.479Z moonset +2023-06-01T10:27:24.698Z sunrise 2023-06-01T17:22:39.711Z Sun culminates 83.49 degrees above the horizon -2023-06-01T21:59:55.536Z moonrise -2023-06-02T00:18:06.866Z sunset +2023-06-01T21:59:55.642Z moonrise +2023-06-02T00:18:07.069Z sunset 2023-06-02T03:33:52.542Z Moon culminates 43.25 degrees above the horizon -2023-06-02T09:02:07.598Z moonset -2023-06-02T10:27:13.048Z sunrise +2023-06-02T09:02:07.521Z moonset +2023-06-02T10:27:12.888Z sunrise 2023-06-02T17:22:49.073Z Sun culminates 83.62 degrees above the horizon -2023-06-02T23:05:02.032Z moonrise -2023-06-03T00:18:36.844Z sunset +2023-06-02T23:05:02.242Z moonrise +2023-06-03T00:18:37.049Z sunset 2023-06-03T04:27:00.370Z Moon culminates 38.36 degrees above the horizon 2023-06-03T07:02:53.131Z Venus moves from Gemini to Cancer -2023-06-03T09:44:13.478Z moonset -2023-06-03T10:27:02.593Z sunrise +2023-06-03T09:44:13.331Z moonset +2023-06-03T10:27:02.430Z sunrise 2023-06-03T17:22:58.806Z Sun culminates 83.74 degrees above the horizon -2023-06-04T00:13:15.932Z moonrise -2023-06-04T00:19:06.203Z sunset +2023-06-04T00:13:16.216Z moonrise +2023-06-04T00:19:06.410Z sunset 2023-06-04T03:42:15.013Z full moon 2023-06-04T05:25:26.385Z Moon culminates 34.74 degrees above the horizon -2023-06-04T10:26:53.491Z sunrise -2023-06-04T10:34:26.138Z moonset +2023-06-04T10:26:53.325Z sunrise +2023-06-04T10:34:25.926Z moonset 2023-06-04T11:00:38.401Z Venus max evening elongation: 45.40 degrees from Sun 2023-06-04T17:23:08.897Z Sun culminates 83.86 degrees above the horizon -2023-06-05T00:19:34.916Z sunset -2023-06-05T01:21:58.046Z moonrise +2023-06-05T00:19:35.126Z sunset +2023-06-05T01:21:58.341Z moonrise 2023-06-05T06:28:13.985Z Moon culminates 32.88 degrees above the horizon -2023-06-05T10:26:45.739Z sunrise -2023-06-05T11:33:32.124Z moonset +2023-06-05T10:26:45.571Z sunrise +2023-06-05T11:33:31.859Z moonset 2023-06-05T17:23:19.332Z Sun culminates 83.97 degrees above the horizon -2023-06-06T00:20:02.957Z sunset -2023-06-06T02:27:08.263Z moonrise +2023-06-06T00:20:03.169Z sunset +2023-06-06T02:27:08.526Z moonrise 2023-06-06T07:32:52.463Z Moon culminates 33.11 degrees above the horizon -2023-06-06T10:26:39.335Z sunrise -2023-06-06T12:40:08.635Z moonset +2023-06-06T10:26:39.165Z sunrise +2023-06-06T12:40:08.339Z moonset 2023-06-06T17:23:30.095Z Sun culminates 84.08 degrees above the horizon 2023-06-06T17:49:52.331Z Mercury moves from Aries to Taurus 2023-06-06T23:06:02.754Z lunar perigee at 364852 km -2023-06-07T00:20:30.299Z sunset -2023-06-07T03:25:18.209Z moonrise +2023-06-07T00:20:30.512Z sunset +2023-06-07T03:25:18.421Z moonrise 2023-06-07T08:36:08.128Z Moon culminates 35.43 degrees above the horizon -2023-06-07T10:26:34.277Z sunrise -2023-06-07T13:50:42.982Z moonset +2023-06-07T10:26:34.105Z sunrise +2023-06-07T13:50:42.709Z moonset 2023-06-07T17:23:41.171Z Sun culminates 84.18 degrees above the horizon -2023-06-08T00:20:56.913Z sunset -2023-06-08T04:15:11.078Z moonrise +2023-06-08T00:20:57.128Z sunset +2023-06-08T04:15:11.223Z moonrise 2023-06-08T09:35:34.026Z Moon culminates 39.56 degrees above the horizon -2023-06-08T10:26:30.559Z sunrise -2023-06-08T15:01:17.553Z moonset +2023-06-08T10:26:30.385Z sunrise +2023-06-08T15:01:17.370Z moonset 2023-06-08T17:23:52.543Z Sun culminates 84.27 degrees above the horizon -2023-06-09T00:21:22.771Z sunset -2023-06-09T04:57:36.971Z moonrise -2023-06-09T10:26:28.175Z sunrise +2023-06-09T00:21:22.988Z sunset +2023-06-09T04:57:37.046Z moonrise +2023-06-09T10:26:27.999Z sunrise 2023-06-09T10:30:19.242Z Moon culminates 45.02 degrees above the horizon -2023-06-09T16:09:21.748Z moonset +2023-06-09T16:09:21.674Z moonset 2023-06-09T17:24:04.194Z Sun culminates 84.35 degrees above the horizon -2023-06-10T00:21:47.843Z sunset -2023-06-10T05:34:26.959Z moonrise -2023-06-10T10:26:27.118Z sunrise +2023-06-10T00:21:48.062Z sunset +2023-06-10T05:34:26.988Z moonrise +2023-06-10T10:26:26.941Z sunrise 2023-06-10T11:20:54.048Z Moon culminates 51.31 degrees above the horizon -2023-06-10T17:14:16.842Z moonset +2023-06-10T17:14:16.831Z moonset 2023-06-10T17:24:16.103Z Sun culminates 84.43 degrees above the horizon 2023-06-10T19:31:58.002Z third quarter -2023-06-11T00:22:12.101Z sunset -2023-06-11T06:07:41.376Z moonrise -2023-06-11T10:26:27.378Z sunrise +2023-06-11T00:22:12.321Z sunset +2023-06-11T06:07:41.387Z moonrise +2023-06-11T10:26:27.198Z sunrise 2023-06-11T12:08:31.158Z Moon culminates 58.00 degrees above the horizon 2023-06-11T17:24:28.252Z Sun culminates 84.50 degrees above the horizon -2023-06-11T18:16:38.641Z moonset -2023-06-12T00:22:35.515Z sunset -2023-06-12T06:39:10.010Z moonrise -2023-06-12T10:26:28.941Z sunrise +2023-06-11T18:16:38.642Z moonset +2023-06-12T00:22:35.736Z sunset +2023-06-12T06:39:10.019Z moonrise +2023-06-12T10:26:28.761Z sunrise 2023-06-12T12:54:36.143Z Moon culminates 64.71 degrees above the horizon 2023-06-12T17:24:40.619Z Sun culminates 84.57 degrees above the horizon -2023-06-12T19:17:33.698Z moonset -2023-06-13T00:22:58.054Z sunset -2023-06-13T07:10:30.695Z moonrise -2023-06-13T10:26:31.794Z sunrise +2023-06-12T19:17:33.703Z moonset +2023-06-13T00:22:58.276Z sunset +2023-06-13T07:10:30.696Z moonrise +2023-06-13T10:26:31.613Z sunrise 2023-06-13T13:40:31.777Z Moon culminates 71.13 degrees above the horizon 2023-06-13T17:24:53.180Z Sun culminates 84.62 degrees above the horizon -2023-06-13T20:18:08.671Z moonset -2023-06-14T00:23:19.687Z sunset -2023-06-14T07:43:13.415Z moonrise -2023-06-14T10:26:35.921Z sunrise +2023-06-13T20:18:08.704Z moonset +2023-06-14T00:23:19.911Z sunset +2023-06-14T07:43:13.391Z moonrise +2023-06-14T10:26:35.738Z sunrise 2023-06-14T14:27:29.367Z Moon culminates 76.98 degrees above the horizon 2023-06-14T17:25:05.912Z Sun culminates 84.68 degrees above the horizon -2023-06-14T21:19:08.761Z moonset -2023-06-15T00:23:40.385Z sunset -2023-06-15T08:18:42.796Z moonrise -2023-06-15T10:26:41.300Z sunrise +2023-06-14T21:19:08.859Z moonset +2023-06-15T00:23:40.609Z sunset +2023-06-15T08:18:42.727Z moonrise +2023-06-15T10:26:41.116Z sunrise 2023-06-15T15:16:20.258Z Moon culminates 81.95 degrees above the horizon 2023-06-15T17:25:18.788Z Sun culminates 84.72 degrees above the horizon -2023-06-15T22:20:39.073Z moonset -2023-06-16T00:24:00.114Z sunset -2023-06-16T08:58:14.279Z moonrise -2023-06-16T10:26:47.912Z sunrise +2023-06-15T22:20:39.246Z moonset +2023-06-16T00:24:00.340Z sunset +2023-06-16T08:58:14.160Z moonrise +2023-06-16T10:26:47.728Z sunrise 2023-06-16T16:07:24.622Z Moon culminates 85.79 degrees above the horizon 2023-06-16T17:25:31.783Z Sun culminates 84.76 degrees above the horizon -2023-06-16T23:21:50.603Z moonset -2023-06-17T00:24:18.845Z sunset -2023-06-17T09:42:40.547Z moonrise -2023-06-17T10:26:55.734Z sunrise +2023-06-16T23:21:50.822Z moonset +2023-06-17T00:24:19.070Z sunset +2023-06-17T09:42:40.387Z moonrise +2023-06-17T10:26:55.549Z sunrise 2023-06-17T17:00:20.622Z Moon culminates 88.26 degrees above the horizon 2023-06-17T17:25:44.868Z Sun culminates 84.79 degrees above the horizon -2023-06-18T00:21:02.886Z moonset -2023-06-18T00:24:36.544Z sunset +2023-06-18T00:21:03.114Z moonset +2023-06-18T00:24:36.770Z sunset 2023-06-18T04:37:49.260Z new moon -2023-06-18T10:27:04.741Z sunrise -2023-06-18T10:32:09.980Z moonrise +2023-06-18T10:27:04.556Z sunrise +2023-06-18T10:32:09.789Z moonrise 2023-06-18T17:25:58.016Z Sun culminates 84.81 degrees above the horizon 2023-06-18T17:54:03.568Z Moon culminates 89.22 degrees above the horizon -2023-06-19T00:24:53.182Z sunset -2023-06-19T01:16:15.001Z moonset -2023-06-19T10:27:14.909Z sunrise -2023-06-19T11:25:50.867Z moonrise +2023-06-19T00:24:53.408Z sunset +2023-06-19T01:16:15.216Z moonset +2023-06-19T10:27:14.723Z sunrise +2023-06-19T11:25:50.654Z moonrise 2023-06-19T17:26:11.199Z Sun culminates 84.83 degrees above the horizon 2023-06-19T18:47:03.967Z Moon culminates 88.66 degrees above the horizon -2023-06-20T00:25:08.726Z sunset -2023-06-20T02:05:54.126Z moonset -2023-06-20T10:27:26.210Z sunrise +2023-06-20T00:25:08.953Z sunset +2023-06-20T02:05:54.320Z moonset +2023-06-20T10:27:26.024Z sunrise 2023-06-20T10:55:30.684Z Mars moves from Cancer to Leo -2023-06-20T12:22:01.671Z moonrise +2023-06-20T12:22:01.456Z moonrise 2023-06-20T17:26:24.388Z Sun culminates 84.84 degrees above the horizon 2023-06-20T19:37:59.401Z Moon culminates 86.71 degrees above the horizon -2023-06-21T00:25:23.148Z sunset -2023-06-21T02:49:28.403Z moonset -2023-06-21T10:27:38.619Z sunrise -2023-06-21T13:18:49.524Z moonrise +2023-06-21T00:25:23.375Z sunset +2023-06-21T02:49:28.566Z moonset +2023-06-21T10:27:38.432Z sunrise +2023-06-21T13:18:49.338Z moonrise 2023-06-21T14:57:21.801Z June solstice 2023-06-21T17:26:37.554Z Sun culminates 84.84 degrees above the horizon 2023-06-21T20:26:01.246Z Moon culminates 83.55 degrees above the horizon -2023-06-22T00:25:36.419Z sunset -2023-06-22T03:27:24.875Z moonset -2023-06-22T10:27:52.107Z sunrise -2023-06-22T14:14:51.184Z moonrise +2023-06-22T00:25:36.645Z sunset +2023-06-22T03:27:24.996Z moonset +2023-06-22T10:27:51.920Z sunrise +2023-06-22T14:14:51.059Z moonrise 2023-06-22T17:26:50.672Z Sun culminates 84.84 degrees above the horizon 2023-06-22T18:29:50.698Z lunar apogee at 405374 km 2023-06-22T21:11:02.569Z Moon culminates 79.42 degrees above the horizon -2023-06-23T00:25:48.511Z sunset -2023-06-23T04:00:46.069Z moonset -2023-06-23T10:28:06.647Z sunrise -2023-06-23T15:09:31.755Z moonrise +2023-06-23T00:25:48.737Z sunset +2023-06-23T04:00:46.143Z moonset +2023-06-23T10:28:06.460Z sunrise +2023-06-23T15:09:31.696Z moonrise 2023-06-23T17:27:03.713Z Sun culminates 84.82 degrees above the horizon 2023-06-23T21:53:30.508Z Moon culminates 74.56 degrees above the horizon -2023-06-24T00:25:59.400Z sunset -2023-06-24T04:30:47.501Z moonset -2023-06-24T10:28:22.211Z sunrise -2023-06-24T16:03:01.001Z moonrise +2023-06-24T00:25:59.626Z sunset +2023-06-24T04:30:47.538Z moonset +2023-06-24T10:28:22.024Z sunrise +2023-06-24T16:03:00.987Z moonrise 2023-06-24T17:27:16.651Z Sun culminates 84.81 degrees above the horizon 2023-06-24T22:34:14.224Z Moon culminates 69.16 degrees above the horizon -2023-06-25T00:26:09.061Z sunset -2023-06-25T04:58:45.715Z moonset -2023-06-25T10:28:38.771Z sunrise -2023-06-25T16:56:00.673Z moonrise +2023-06-25T00:26:09.286Z sunset +2023-06-25T04:58:45.734Z moonset +2023-06-25T10:28:38.585Z sunrise +2023-06-25T16:56:00.676Z moonrise 2023-06-25T17:27:29.462Z Sun culminates 84.78 degrees above the horizon 2023-06-25T23:14:15.851Z Moon culminates 63.40 degrees above the horizon -2023-06-26T00:26:17.473Z sunset -2023-06-26T05:25:55.636Z moonset +2023-06-26T00:26:17.698Z sunset +2023-06-26T05:25:55.649Z moonset 2023-06-26T07:50:26.438Z first quarter -2023-06-26T10:28:56.300Z sunrise +2023-06-26T10:28:56.115Z sunrise 2023-06-26T17:27:42.122Z Sun culminates 84.75 degrees above the horizon -2023-06-26T17:49:32.624Z moonrise +2023-06-26T17:49:32.629Z moonrise 2023-06-26T23:18:08.007Z Venus moves from Cancer to Leo 2023-06-26T23:54:46.045Z Moon culminates 57.44 degrees above the horizon -2023-06-27T00:26:24.617Z sunset +2023-06-27T00:26:24.842Z sunset 2023-06-27T05:35:51.280Z Mercury moves from Taurus to Gemini -2023-06-27T05:53:33.504Z moonset -2023-06-27T10:29:14.771Z sunrise +2023-06-27T05:53:33.512Z moonset +2023-06-27T10:29:14.586Z sunrise 2023-06-27T17:27:54.608Z Sun culminates 84.71 degrees above the horizon -2023-06-27T18:44:49.642Z moonrise +2023-06-27T18:44:49.659Z moonrise 2023-06-27T18:45:26.220Z Mercury perihelion at 0.3075 AU -2023-06-28T00:26:30.476Z sunset +2023-06-28T00:26:30.699Z sunset 2023-06-28T00:37:02.547Z Moon culminates 51.46 degrees above the horizon -2023-06-28T06:23:02.748Z moonset -2023-06-28T10:29:34.157Z sunrise +2023-06-28T06:23:02.739Z moonset +2023-06-28T10:29:33.972Z sunrise 2023-06-28T17:28:06.899Z Sun culminates 84.67 degrees above the horizon -2023-06-28T19:43:05.597Z moonrise -2023-06-29T00:26:35.034Z sunset +2023-06-28T19:43:05.664Z moonrise +2023-06-29T00:26:35.256Z sunset 2023-06-29T01:22:28.601Z Moon culminates 45.70 degrees above the horizon -2023-06-29T06:56:00.908Z moonset -2023-06-29T10:29:54.430Z sunrise +2023-06-29T06:56:00.859Z moonset +2023-06-29T10:29:54.247Z sunrise 2023-06-29T17:28:18.975Z Sun culminates 84.61 degrees above the horizon -2023-06-29T20:45:17.914Z moonrise -2023-06-30T00:26:38.277Z sunset +2023-06-29T20:45:18.075Z moonrise +2023-06-30T00:26:38.499Z sunset 2023-06-30T02:12:26.091Z Moon culminates 40.49 degrees above the horizon -2023-06-30T07:34:24.095Z moonset -2023-06-30T10:30:15.565Z sunrise +2023-06-30T07:34:23.981Z moonset +2023-06-30T10:30:15.383Z sunrise 2023-06-30T17:28:30.816Z Sun culminates 84.56 degrees above the horizon -2023-06-30T21:51:34.208Z moonrise -2023-07-01T00:26:40.196Z sunset +2023-06-30T21:51:34.463Z moonrise +2023-07-01T00:26:40.416Z sunset 2023-07-01T03:07:55.725Z Moon culminates 36.26 degrees above the horizon 2023-07-01T04:52:28.222Z Mercury superior conjunction -2023-07-01T08:20:19.698Z moonset -2023-07-01T10:30:37.535Z sunrise +2023-07-01T08:20:19.515Z moonset +2023-07-01T10:30:37.354Z sunrise 2023-07-01T17:28:42.405Z Sun culminates 84.49 degrees above the horizon -2023-07-01T23:00:25.738Z moonrise -2023-07-02T00:26:40.780Z sunset +2023-07-01T23:00:26.034Z moonrise +2023-07-02T00:26:40.999Z sunset 2023-07-02T04:08:59.124Z Moon culminates 33.52 degrees above the horizon -2023-07-02T09:15:29.774Z moonset -2023-07-02T10:31:00.313Z sunrise +2023-07-02T09:15:29.530Z moonset +2023-07-02T10:31:00.133Z sunrise 2023-07-02T17:28:53.723Z Sun culminates 84.42 degrees above the horizon -2023-07-03T00:08:26.697Z moonrise -2023-07-03T00:26:40.022Z sunset +2023-07-03T00:08:26.977Z moonrise +2023-07-03T00:26:40.239Z sunset 2023-07-03T05:13:58.609Z Moon culminates 32.76 degrees above the horizon -2023-07-03T10:19:56.633Z moonset -2023-07-03T10:31:23.873Z sunrise +2023-07-03T10:19:56.345Z moonset +2023-07-03T10:31:23.695Z sunrise 2023-07-03T11:39:08.830Z full moon 2023-07-03T17:29:04.754Z Sun culminates 84.34 degrees above the horizon -2023-07-04T00:26:37.913Z sunset -2023-07-04T01:11:22.460Z moonrise +2023-07-04T00:26:38.128Z sunset +2023-07-04T01:11:22.695Z moonrise 2023-07-04T06:19:43.834Z Moon culminates 34.21 degrees above the horizon -2023-07-04T10:31:48.189Z sunrise -2023-07-04T11:31:02.411Z moonset +2023-07-04T10:31:48.012Z sunrise +2023-07-04T11:31:02.116Z moonset 2023-07-04T17:29:15.480Z Sun culminates 84.25 degrees above the horizon 2023-07-04T22:25:37.759Z lunar perigee at 360140 km -2023-07-05T00:26:34.447Z sunset -2023-07-05T02:06:23.178Z moonrise +2023-07-05T00:26:34.661Z sunset +2023-07-05T02:06:23.349Z moonrise 2023-07-05T07:22:53.656Z Moon culminates 37.74 degrees above the horizon -2023-07-05T10:32:13.234Z sunrise -2023-07-05T12:44:20.979Z moonset +2023-07-05T10:32:13.058Z sunrise +2023-07-05T12:44:20.751Z moonset 2023-07-05T17:29:25.887Z Sun culminates 84.16 degrees above the horizon -2023-07-06T00:26:29.619Z sunset -2023-07-06T02:53:10.064Z moonrise +2023-07-06T00:26:29.831Z sunset +2023-07-06T02:53:10.162Z moonrise 2023-07-06T08:21:28.737Z Moon culminates 42.91 degrees above the horizon -2023-07-06T10:32:38.982Z sunrise -2023-07-06T13:56:01.433Z moonset +2023-07-06T10:32:38.808Z sunrise +2023-07-06T13:56:01.322Z moonset 2023-07-06T17:29:35.958Z Sun culminates 84.06 degrees above the horizon 2023-07-06T18:18:06.184Z Earth aphelion at 1.0167 AU -2023-07-07T00:26:23.423Z sunset -2023-07-07T03:33:11.036Z moonrise +2023-07-07T00:26:23.633Z sunset +2023-07-07T03:33:11.075Z moonrise 2023-07-07T09:15:14.830Z Moon culminates 49.16 degrees above the horizon -2023-07-07T10:33:05.407Z sunrise -2023-07-07T15:04:16.416Z moonset +2023-07-07T10:33:05.235Z sunrise +2023-07-07T15:04:16.390Z moonset 2023-07-07T17:29:45.677Z Sun culminates 83.96 degrees above the horizon -2023-07-08T00:26:15.855Z sunset -2023-07-08T04:08:29.760Z moonrise +2023-07-08T00:26:16.063Z sunset +2023-07-08T04:08:29.774Z moonrise 2023-07-08T09:53:37.512Z Pluto moves from Capricornus to Sagittarius 2023-07-08T10:05:07.822Z Moon culminates 55.95 degrees above the horizon -2023-07-08T10:33:32.481Z sunrise -2023-07-08T16:09:07.491Z moonset +2023-07-08T10:33:32.312Z sunrise +2023-07-08T16:09:07.492Z moonset 2023-07-08T17:29:55.029Z Sun culminates 83.84 degrees above the horizon -2023-07-09T00:26:06.911Z sunset -2023-07-09T04:41:06.368Z moonrise -2023-07-09T10:34:00.178Z sunrise +2023-07-09T00:26:07.116Z sunset +2023-07-09T04:41:06.376Z moonrise +2023-07-09T10:34:00.011Z sunrise 2023-07-09T10:52:32.284Z Moon culminates 62.83 degrees above the horizon -2023-07-09T17:11:32.436Z moonset +2023-07-09T17:11:32.438Z moonset 2023-07-09T17:30:03.999Z Sun culminates 83.73 degrees above the horizon -2023-07-10T00:25:56.588Z sunset +2023-07-10T00:25:56.791Z sunset 2023-07-10T01:48:26.480Z third quarter 2023-07-10T03:26:57.861Z Mercury moves from Gemini to Cancer -2023-07-10T05:12:47.427Z moonrise -2023-07-10T10:34:28.469Z sunrise +2023-07-10T05:12:47.431Z moonrise +2023-07-10T10:34:28.304Z sunrise 2023-07-10T11:38:56.171Z Moon culminates 69.44 degrees above the horizon 2023-07-10T11:41:54.500Z Venus peak magnitude -4.69 in evening sky 2023-07-10T17:30:12.570Z Sun culminates 83.60 degrees above the horizon -2023-07-10T18:12:42.612Z moonset -2023-07-11T00:25:44.885Z sunset -2023-07-11T05:45:08.312Z moonrise -2023-07-11T10:34:57.323Z sunrise +2023-07-10T18:12:42.634Z moonset +2023-07-11T00:25:45.085Z sunset +2023-07-11T05:45:08.297Z moonrise +2023-07-11T10:34:57.161Z sunrise 2023-07-11T12:25:38.420Z Moon culminates 75.49 degrees above the horizon 2023-07-11T17:30:20.727Z Sun culminates 83.47 degrees above the horizon -2023-07-11T19:13:35.951Z moonset -2023-07-12T00:25:31.799Z sunset -2023-07-12T06:19:37.100Z moonrise -2023-07-12T10:35:26.709Z sunrise +2023-07-11T19:13:36.030Z moonset +2023-07-12T00:25:31.996Z sunset +2023-07-12T06:19:37.045Z moonrise +2023-07-12T10:35:26.550Z sunrise 2023-07-12T13:13:40.875Z Moon culminates 80.70 degrees above the horizon 2023-07-12T17:30:28.453Z Sun culminates 83.33 degrees above the horizon -2023-07-12T20:14:37.648Z moonset -2023-07-13T00:25:17.329Z sunset -2023-07-13T06:57:34.126Z moonrise -2023-07-13T10:35:56.596Z sunrise +2023-07-12T20:14:37.802Z moonset +2023-07-13T00:25:17.524Z sunset +2023-07-13T06:57:34.020Z moonrise +2023-07-13T10:35:56.439Z sunrise 2023-07-13T14:03:39.068Z Moon culminates 84.85 degrees above the horizon 2023-07-13T17:30:35.731Z Sun culminates 83.19 degrees above the horizon -2023-07-13T21:15:25.142Z moonset -2023-07-14T00:25:01.474Z sunset -2023-07-14T07:40:03.122Z moonrise -2023-07-14T10:36:26.950Z sunrise +2023-07-13T21:15:25.352Z moonset +2023-07-14T00:25:01.666Z sunset +2023-07-14T07:40:02.972Z moonrise +2023-07-14T10:36:26.797Z sunrise 2023-07-14T14:55:31.689Z Moon culminates 87.70 degrees above the horizon 2023-07-14T17:30:42.545Z Sun culminates 83.04 degrees above the horizon -2023-07-14T22:14:43.983Z moonset -2023-07-15T00:24:44.233Z sunset -2023-07-15T08:27:32.947Z moonrise -2023-07-15T10:36:57.739Z sunrise +2023-07-14T22:14:44.211Z moonset +2023-07-15T00:24:44.421Z sunset +2023-07-15T08:27:32.763Z moonrise +2023-07-15T10:36:57.589Z sunrise 2023-07-15T15:48:35.112Z Moon culminates 89.11 degrees above the horizon 2023-07-15T17:30:48.877Z Sun culminates 82.88 degrees above the horizon -2023-07-15T23:10:46.496Z moonset -2023-07-16T00:24:25.605Z sunset -2023-07-16T09:19:38.017Z moonrise -2023-07-16T10:37:28.929Z sunrise +2023-07-15T23:10:46.716Z moonset +2023-07-16T00:24:25.790Z sunset +2023-07-16T09:19:37.809Z moonrise +2023-07-16T10:37:28.782Z sunrise 2023-07-16T16:41:32.551Z Moon culminates 89.01 degrees above the horizon 2023-07-16T17:30:54.710Z Sun culminates 82.72 degrees above the horizon -2023-07-17T00:01:52.879Z moonset -2023-07-17T00:24:05.590Z sunset -2023-07-17T10:14:56.142Z moonrise -2023-07-17T10:38:00.486Z sunrise +2023-07-17T00:01:53.080Z moonset +2023-07-17T00:24:05.773Z sunset +2023-07-17T10:14:55.924Z moonrise +2023-07-17T10:38:00.342Z sunrise 2023-07-17T17:31:00.029Z Sun culminates 82.55 degrees above the horizon 2023-07-17T17:32:59.761Z Moon culminates 87.48 degrees above the horizon 2023-07-17T18:32:31.679Z new moon -2023-07-18T00:23:44.190Z sunset -2023-07-18T00:47:10.444Z moonset -2023-07-18T10:38:32.377Z sunrise -2023-07-18T11:11:35.813Z moonrise +2023-07-18T00:23:44.369Z sunset +2023-07-18T00:47:10.619Z moonset +2023-07-18T10:38:32.237Z sunrise +2023-07-18T11:11:35.614Z moonrise 2023-07-18T17:31:04.816Z Sun culminates 82.38 degrees above the horizon 2023-07-18T18:21:54.240Z Moon culminates 84.68 degrees above the horizon -2023-07-19T00:23:21.405Z sunset -2023-07-19T01:26:44.882Z moonset -2023-07-19T10:39:04.570Z sunrise -2023-07-19T12:07:58.235Z moonrise +2023-07-19T00:23:21.580Z sunset +2023-07-19T01:26:45.017Z moonset +2023-07-19T10:39:04.433Z sunrise +2023-07-19T12:07:58.088Z moonrise 2023-07-19T17:31:09.058Z Sun culminates 82.20 degrees above the horizon 2023-07-19T19:07:51.164Z Moon culminates 80.83 degrees above the horizon -2023-07-20T00:22:57.237Z sunset -2023-07-20T02:01:24.599Z moonset +2023-07-20T00:22:57.409Z sunset +2023-07-20T02:01:24.687Z moonset 2023-07-20T06:55:24.363Z lunar apogee at 406279 km -2023-07-20T10:39:37.032Z sunrise -2023-07-20T13:03:06.142Z moonrise +2023-07-20T10:39:36.899Z sunrise +2023-07-20T13:03:06.063Z moonrise 2023-07-20T17:31:12.739Z Sun culminates 82.01 degrees above the horizon 2023-07-20T19:51:02.085Z Moon culminates 76.17 degrees above the horizon -2023-07-21T00:22:31.692Z sunset +2023-07-21T00:22:31.860Z sunset 2023-07-21T01:25:58.603Z Mercury moves from Cancer to Leo -2023-07-21T02:32:18.090Z moonset -2023-07-21T10:40:09.732Z sunrise -2023-07-21T13:56:48.725Z moonrise +2023-07-21T02:32:18.137Z moonset +2023-07-21T10:40:09.603Z sunrise +2023-07-21T13:56:48.700Z moonrise 2023-07-21T17:31:15.846Z Sun culminates 81.82 degrees above the horizon 2023-07-21T20:32:04.697Z Moon culminates 70.93 degrees above the horizon -2023-07-22T00:22:04.774Z sunset -2023-07-22T03:00:38.573Z moonset +2023-07-22T00:22:04.938Z sunset +2023-07-22T03:00:38.596Z moonset 2023-07-22T03:36:41.142Z Pluto opposition -2023-07-22T10:40:42.640Z sunrise +2023-07-22T10:40:42.516Z sunrise 2023-07-22T14:49:31.932Z moonrise 2023-07-22T17:31:18.369Z Sun culminates 81.62 degrees above the horizon 2023-07-22T21:11:52.724Z Moon culminates 65.30 degrees above the horizon -2023-07-23T00:21:36.489Z sunset -2023-07-23T03:27:38.176Z moonset -2023-07-23T10:41:15.729Z sunrise -2023-07-23T15:42:06.129Z moonrise +2023-07-23T00:21:36.650Z sunset +2023-07-23T03:27:38.190Z moonset +2023-07-23T10:41:15.609Z sunrise +2023-07-23T15:42:06.133Z moonrise 2023-07-23T17:31:20.297Z Sun culminates 81.42 degrees above the horizon 2023-07-23T21:51:29.760Z Moon culminates 59.45 degrees above the horizon -2023-07-24T00:21:06.847Z sunset -2023-07-24T03:54:28.714Z moonset -2023-07-24T10:41:48.972Z sunrise -2023-07-24T16:35:36.273Z moonrise +2023-07-24T00:21:07.004Z sunset +2023-07-24T03:54:28.725Z moonset +2023-07-24T10:41:48.856Z sunrise +2023-07-24T16:35:36.283Z moonrise 2023-07-24T17:31:21.623Z Sun culminates 81.21 degrees above the horizon 2023-07-24T22:32:06.842Z Moon culminates 53.56 degrees above the horizon -2023-07-25T00:20:35.857Z sunset -2023-07-25T04:22:26.170Z moonset -2023-07-25T10:42:22.342Z sunrise -2023-07-25T17:31:13.662Z moonrise +2023-07-25T00:20:36.010Z sunset +2023-07-25T04:22:26.171Z moonset +2023-07-25T10:42:22.231Z sunrise +2023-07-25T17:31:13.705Z moonrise 2023-07-25T17:31:22.338Z Sun culminates 81.00 degrees above the horizon 2023-07-25T22:07:27.366Z first quarter 2023-07-25T23:15:01.605Z Moon culminates 47.82 degrees above the horizon -2023-07-26T00:20:03.532Z sunset -2023-07-26T04:52:57.096Z moonset -2023-07-26T10:42:55.817Z sunrise +2023-07-26T00:20:03.680Z sunset +2023-07-26T04:52:57.066Z moonset +2023-07-26T10:42:55.711Z sunrise 2023-07-26T17:31:22.439Z Sun culminates 80.78 degrees above the horizon -2023-07-26T18:30:04.578Z moonrise +2023-07-26T18:30:04.699Z moonrise 2023-07-27T00:01:35.586Z Moon culminates 42.48 degrees above the horizon -2023-07-27T00:19:29.884Z sunset -2023-07-27T05:27:45.020Z moonset -2023-07-27T10:43:29.376Z sunrise +2023-07-27T00:19:30.029Z sunset +2023-07-27T05:27:44.934Z moonset +2023-07-27T10:43:29.274Z sunrise 2023-07-27T17:31:21.922Z Sun culminates 80.55 degrees above the horizon -2023-07-27T19:32:48.711Z moonrise -2023-07-28T00:18:54.930Z sunset +2023-07-27T19:32:48.931Z moonrise +2023-07-28T00:18:55.070Z sunset 2023-07-28T00:53:04.022Z Moon culminates 37.90 degrees above the horizon -2023-07-28T06:08:51.929Z moonset -2023-07-28T10:44:02.998Z sunrise +2023-07-28T06:08:51.774Z moonset +2023-07-28T10:44:02.901Z sunrise 2023-07-28T17:31:20.785Z Sun culminates 80.32 degrees above the horizon -2023-07-28T20:39:02.064Z moonrise -2023-07-29T00:18:18.686Z sunset +2023-07-28T20:39:02.351Z moonrise +2023-07-29T00:18:18.822Z sunset 2023-07-29T01:50:10.848Z Moon culminates 34.50 degrees above the horizon -2023-07-29T06:58:22.529Z moonset -2023-07-29T10:44:36.665Z sunrise +2023-07-29T06:58:22.312Z moonset +2023-07-29T10:44:36.573Z sunrise 2023-07-29T17:31:19.030Z Sun culminates 80.09 degrees above the horizon -2023-07-29T21:46:37.433Z moonrise -2023-07-30T00:17:41.170Z sunset +2023-07-29T21:46:37.726Z moonrise +2023-07-30T00:17:41.302Z sunset 2023-07-30T02:52:28.582Z Moon culminates 32.77 degrees above the horizon -2023-07-30T07:57:33.418Z moonset -2023-07-30T10:45:10.360Z sunrise +2023-07-30T07:57:33.148Z moonset +2023-07-30T10:45:10.272Z sunrise 2023-07-30T17:31:16.656Z Sun culminates 79.85 degrees above the horizon -2023-07-30T22:51:52.228Z moonrise -2023-07-31T00:17:02.402Z sunset +2023-07-30T22:51:52.488Z moonrise +2023-07-31T00:17:02.529Z sunset 2023-07-31T03:57:49.438Z Moon culminates 33.14 degrees above the horizon -2023-07-31T09:05:34.228Z moonset -2023-07-31T10:45:44.067Z sunrise +2023-07-31T09:05:33.927Z moonset +2023-07-31T10:45:43.985Z sunrise 2023-07-31T17:31:13.667Z Sun culminates 79.60 degrees above the horizon -2023-07-31T23:51:04.279Z moonrise -2023-08-01T00:16:22.401Z sunset +2023-07-31T23:51:04.483Z moonrise +2023-08-01T00:16:22.524Z sunset 2023-08-01T05:02:56.496Z Moon culminates 35.71 degrees above the horizon -2023-08-01T10:18:58.274Z moonset -2023-08-01T10:46:17.773Z sunrise +2023-08-01T10:18:58.000Z moonset +2023-08-01T10:46:17.695Z sunrise 2023-08-01T17:31:10.065Z Sun culminates 79.35 degrees above the horizon 2023-08-01T18:32:08.784Z full moon -2023-08-02T00:15:41.188Z sunset -2023-08-02T00:42:26.014Z moonrise +2023-08-02T00:15:41.307Z sunset +2023-08-02T00:42:26.146Z moonrise 2023-08-02T05:52:17.598Z lunar perigee at 357302 km 2023-08-02T06:04:55.071Z Moon culminates 40.26 degrees above the horizon -2023-08-02T10:46:51.464Z sunrise -2023-08-02T11:33:17.446Z moonset +2023-08-02T10:46:51.392Z sunrise +2023-08-02T11:33:17.276Z moonset 2023-08-02T17:31:05.856Z Sun culminates 79.09 degrees above the horizon -2023-08-03T00:14:58.785Z sunset -2023-08-03T01:26:24.989Z moonrise +2023-08-03T00:14:58.899Z sunset +2023-08-03T01:26:25.050Z moonrise 2023-08-03T07:02:24.146Z Moon culminates 46.26 degrees above the horizon -2023-08-03T10:47:25.130Z sunrise -2023-08-03T12:45:19.851Z moonset +2023-08-03T10:47:25.063Z sunrise +2023-08-03T12:45:19.793Z moonset 2023-08-03T17:31:01.043Z Sun culminates 78.83 degrees above the horizon -2023-08-04T00:14:15.211Z sunset -2023-08-04T02:04:44.606Z moonrise +2023-08-04T00:14:15.321Z sunset +2023-08-04T02:04:44.626Z moonrise 2023-08-04T07:55:36.258Z Moon culminates 53.13 degrees above the horizon -2023-08-04T10:47:58.761Z sunrise -2023-08-04T13:53:58.864Z moonset +2023-08-04T10:47:58.699Z sunrise +2023-08-04T13:53:58.859Z moonset 2023-08-04T17:30:55.634Z Sun culminates 78.57 degrees above the horizon -2023-08-05T00:13:30.488Z sunset -2023-08-05T02:39:26.296Z moonrise +2023-08-05T00:13:30.594Z sunset +2023-08-05T02:39:26.304Z moonrise 2023-08-05T08:45:37.846Z Moon culminates 60.29 degrees above the horizon -2023-08-05T10:48:32.346Z sunrise -2023-08-05T14:59:37.495Z moonset +2023-08-05T10:48:32.289Z sunrise +2023-08-05T14:59:37.496Z moonset 2023-08-05T17:30:49.633Z Sun culminates 78.30 degrees above the horizon -2023-08-06T00:12:44.639Z sunset -2023-08-06T03:12:23.805Z moonrise +2023-08-06T00:12:44.740Z sunset +2023-08-06T03:12:23.810Z moonrise 2023-08-06T09:33:53.302Z Moon culminates 67.29 degrees above the horizon -2023-08-06T10:49:05.878Z sunrise -2023-08-06T16:03:16.103Z moonset +2023-08-06T10:49:05.826Z sunrise +2023-08-06T16:03:16.115Z moonset 2023-08-06T17:30:43.048Z Sun culminates 78.03 degrees above the horizon -2023-08-07T00:11:57.685Z sunset +2023-08-07T00:11:57.782Z sunset 2023-08-07T01:00:33.385Z Mercury moves from Leo to Sextans -2023-08-07T03:45:18.851Z moonrise +2023-08-07T03:45:18.843Z moonrise 2023-08-07T10:21:44.288Z Moon culminates 73.75 degrees above the horizon -2023-08-07T10:49:39.347Z sunrise -2023-08-07T17:05:54.460Z moonset +2023-08-07T10:49:39.300Z sunrise +2023-08-07T17:05:54.519Z moonset 2023-08-07T17:30:35.885Z Sun culminates 77.75 degrees above the horizon 2023-08-07T18:54:54.031Z Mercury moves from Sextans to Leo -2023-08-08T00:11:09.648Z sunset +2023-08-08T00:11:09.741Z sunset 2023-08-08T00:20:58.100Z Venus aphelion at 0.7282 AU -2023-08-08T04:19:43.705Z moonrise +2023-08-08T04:19:43.663Z moonrise 2023-08-08T10:29:01.120Z third quarter -2023-08-08T10:50:12.743Z sunrise +2023-08-08T10:50:12.701Z sunrise 2023-08-08T11:10:18.257Z Moon culminates 79.37 degrees above the horizon 2023-08-08T17:30:28.151Z Sun culminates 77.47 degrees above the horizon -2023-08-08T18:08:06.989Z moonset -2023-08-09T00:10:20.552Z sunset -2023-08-09T04:57:02.121Z moonrise -2023-08-09T10:50:46.057Z sunrise +2023-08-08T18:08:07.124Z moonset +2023-08-09T00:10:20.641Z sunset +2023-08-09T04:57:02.028Z moonrise +2023-08-09T10:50:46.020Z sunrise 2023-08-09T12:00:19.163Z Moon culminates 83.92 degrees above the horizon 2023-08-09T17:30:19.851Z Sun culminates 77.18 degrees above the horizon -2023-08-09T19:09:45.813Z moonset -2023-08-10T00:09:30.418Z sunset +2023-08-09T19:09:46.014Z moonset +2023-08-10T00:09:30.502Z sunset 2023-08-10T01:47:34.986Z Mercury max evening elongation: 27.40 degrees from Sun -2023-08-10T05:38:23.683Z moonrise -2023-08-10T10:51:19.278Z sunrise +2023-08-10T05:38:23.543Z moonrise +2023-08-10T10:51:19.247Z sunrise 2023-08-10T12:51:57.976Z Moon culminates 87.18 degrees above the horizon 2023-08-10T17:30:10.992Z Sun culminates 76.89 degrees above the horizon 2023-08-10T18:22:57.089Z Mercury aphelion at 0.4667 AU -2023-08-10T20:09:54.028Z moonset -2023-08-11T00:08:39.267Z sunset -2023-08-11T06:24:29.376Z moonrise -2023-08-11T10:51:52.398Z sunrise +2023-08-10T20:09:54.256Z moonset +2023-08-11T00:08:39.347Z sunset +2023-08-11T06:24:29.200Z moonrise +2023-08-11T10:51:52.372Z sunrise 2023-08-11T13:44:46.540Z Moon culminates 89.00 degrees above the horizon 2023-08-11T17:30:01.580Z Sun culminates 76.59 degrees above the horizon -2023-08-11T21:06:58.217Z moonset -2023-08-12T00:07:47.120Z sunset -2023-08-12T07:15:12.912Z moonrise -2023-08-12T10:52:25.405Z sunrise +2023-08-11T21:06:58.442Z moonset +2023-08-12T00:07:47.197Z sunset +2023-08-12T07:15:12.709Z moonrise +2023-08-12T10:52:25.384Z sunrise 2023-08-12T14:37:42.430Z Moon culminates 89.33 degrees above the horizon 2023-08-12T17:29:51.619Z Sun culminates 76.29 degrees above the horizon -2023-08-12T21:59:22.631Z moonset +2023-08-12T21:59:22.840Z moonset 2023-08-12T23:36:58.232Z Venus moves from Leo to Cancer -2023-08-13T00:06:53.999Z sunset -2023-08-13T08:09:32.565Z moonrise -2023-08-13T10:52:58.289Z sunrise +2023-08-13T00:06:54.072Z sunset +2023-08-13T08:09:32.347Z moonrise +2023-08-13T10:52:58.273Z sunrise 2023-08-13T11:08:23.839Z Venus inferior conjunction 2023-08-13T15:29:28.701Z Moon culminates 88.19 degrees above the horizon 2023-08-13T17:29:41.114Z Sun culminates 75.99 degrees above the horizon -2023-08-13T22:46:07.666Z moonset -2023-08-14T00:05:59.924Z sunset -2023-08-14T09:05:48.296Z moonrise -2023-08-14T10:53:31.041Z sunrise +2023-08-13T22:46:07.852Z moonset +2023-08-14T00:05:59.993Z sunset +2023-08-14T09:05:48.085Z moonrise +2023-08-14T10:53:31.030Z sunrise 2023-08-14T16:19:00.636Z Moon culminates 85.73 degrees above the horizon 2023-08-14T17:29:30.072Z Sun culminates 75.68 degrees above the horizon -2023-08-14T23:27:07.442Z moonset -2023-08-15T00:05:04.916Z sunset -2023-08-15T10:02:18.743Z moonrise -2023-08-15T10:54:03.651Z sunrise +2023-08-14T23:27:07.592Z moonset +2023-08-15T00:05:04.980Z sunset +2023-08-15T10:02:18.575Z moonrise +2023-08-15T10:54:03.645Z sunrise 2023-08-15T17:05:44.570Z Moon culminates 82.16 degrees above the horizon 2023-08-15T17:29:18.498Z Sun culminates 75.37 degrees above the horizon -2023-08-16T00:03:00.653Z moonset -2023-08-16T00:04:08.993Z sunset +2023-08-16T00:03:00.756Z moonset +2023-08-16T00:04:09.054Z sunset 2023-08-16T09:38:53.971Z new moon -2023-08-16T10:54:36.110Z sunrise -2023-08-16T10:57:53.910Z moonrise +2023-08-16T10:54:36.108Z sunrise +2023-08-16T10:57:53.810Z moonrise 2023-08-16T11:54:07.565Z lunar apogee at 406625 km 2023-08-16T17:29:06.396Z Sun culminates 75.06 degrees above the horizon 2023-08-16T17:49:41.366Z Moon culminates 77.70 degrees above the horizon -2023-08-17T00:03:12.177Z sunset -2023-08-17T00:34:49.995Z moonset -2023-08-17T10:55:08.409Z sunrise -2023-08-17T11:52:07.095Z moonrise +2023-08-17T00:03:12.234Z sunset +2023-08-17T00:34:50.053Z moonset +2023-08-17T10:55:08.412Z sunrise +2023-08-17T11:52:07.056Z moonrise 2023-08-17T17:28:53.774Z Sun culminates 74.74 degrees above the horizon 2023-08-17T18:31:19.084Z Moon culminates 72.58 degrees above the horizon 2023-08-17T21:32:28.913Z Mars moves from Leo to Virgo -2023-08-18T00:02:14.488Z sunset -2023-08-18T01:03:45.539Z moonset -2023-08-18T10:55:40.542Z sunrise -2023-08-18T12:45:09.509Z moonrise +2023-08-18T00:02:14.542Z sunset +2023-08-18T01:03:45.568Z moonset +2023-08-18T10:55:40.549Z sunrise +2023-08-18T12:45:09.504Z moonrise 2023-08-18T17:28:40.638Z Sun culminates 74.42 degrees above the horizon 2023-08-18T19:11:23.292Z Moon culminates 67.01 degrees above the horizon -2023-08-19T00:01:15.947Z sunset -2023-08-19T01:30:56.844Z moonset -2023-08-19T10:56:12.501Z sunrise -2023-08-19T13:37:38.913Z moonrise +2023-08-19T00:01:15.997Z sunset +2023-08-19T01:30:56.860Z moonset +2023-08-19T10:56:12.513Z sunrise +2023-08-19T13:37:38.917Z moonrise 2023-08-19T17:28:26.996Z Sun culminates 74.09 degrees above the horizon 2023-08-19T19:50:50.048Z Moon culminates 61.19 degrees above the horizon -2023-08-20T00:00:16.574Z sunset -2023-08-20T01:57:31.991Z moonset -2023-08-20T10:56:44.282Z sunrise -2023-08-20T14:30:29.355Z moonrise +2023-08-20T00:00:16.621Z sunset +2023-08-20T01:57:32.003Z moonset +2023-08-20T10:56:44.299Z sunrise +2023-08-20T14:30:29.362Z moonrise 2023-08-20T17:28:12.856Z Sun culminates 73.76 degrees above the horizon 2023-08-20T20:30:42.450Z Moon culminates 55.30 degrees above the horizon -2023-08-20T23:59:16.393Z sunset -2023-08-21T02:24:40.675Z moonset -2023-08-21T10:57:15.882Z sunrise -2023-08-21T15:24:43.006Z moonrise +2023-08-20T23:59:16.437Z sunset +2023-08-21T02:24:40.680Z moonset +2023-08-21T10:57:15.902Z sunrise +2023-08-21T15:24:43.035Z moonrise 2023-08-21T17:27:58.228Z Sun culminates 73.43 degrees above the horizon 2023-08-21T21:12:09.369Z Moon culminates 49.53 degrees above the horizon -2023-08-21T23:58:15.425Z sunset -2023-08-22T02:53:39.427Z moonset -2023-08-22T10:57:47.297Z sunrise -2023-08-22T16:21:21.250Z moonrise +2023-08-21T23:58:15.466Z sunset +2023-08-22T02:53:39.409Z moonset +2023-08-22T10:57:47.322Z sunrise +2023-08-22T16:21:21.341Z moonrise 2023-08-22T17:27:43.122Z Sun culminates 73.10 degrees above the horizon 2023-08-22T21:56:23.890Z Moon culminates 44.12 degrees above the horizon -2023-08-22T23:57:13.695Z sunset -2023-08-23T03:25:57.489Z moonset -2023-08-23T10:58:18.528Z sunrise -2023-08-23T17:21:09.975Z moonrise +2023-08-22T23:57:13.733Z sunset +2023-08-23T03:25:57.423Z moonset +2023-08-23T10:58:18.556Z sunrise +2023-08-23T17:21:10.162Z moonrise 2023-08-23T17:27:27.552Z Sun culminates 72.76 degrees above the horizon 2023-08-23T22:44:37.701Z Moon culminates 39.33 degrees above the horizon -2023-08-23T23:56:11.226Z sunset -2023-08-24T04:03:20.610Z moonset +2023-08-23T23:56:11.261Z sunset +2023-08-24T04:03:20.480Z moonset 2023-08-24T09:57:52.006Z first quarter -2023-08-24T10:58:49.575Z sunrise +2023-08-24T10:58:49.607Z sunrise 2023-08-24T17:27:11.529Z Sun culminates 72.42 degrees above the horizon -2023-08-24T18:24:13.994Z moonrise +2023-08-24T18:24:14.263Z moonrise 2023-08-24T23:37:46.180Z Moon culminates 35.52 degrees above the horizon -2023-08-24T23:55:08.045Z sunset -2023-08-25T04:47:45.762Z moonset -2023-08-25T10:59:20.441Z sunrise +2023-08-24T23:55:08.077Z sunset +2023-08-25T04:47:45.568Z moonset +2023-08-25T10:59:20.477Z sunrise 2023-08-25T17:26:55.070Z Sun culminates 72.07 degrees above the horizon -2023-08-25T19:29:23.566Z moonrise -2023-08-25T23:54:04.176Z sunset +2023-08-25T19:29:23.864Z moonrise +2023-08-25T23:54:04.206Z sunset 2023-08-26T00:36:00.566Z Moon culminates 33.12 degrees above the horizon -2023-08-26T05:40:53.496Z moonset -2023-08-26T10:59:51.131Z sunrise +2023-08-26T05:40:53.248Z moonset +2023-08-26T10:59:51.170Z sunrise 2023-08-26T17:26:38.188Z Sun culminates 71.73 degrees above the horizon -2023-08-26T20:33:59.165Z moonrise -2023-08-26T23:52:59.648Z sunset +2023-08-26T20:33:59.444Z moonrise +2023-08-26T23:52:59.675Z sunset 2023-08-27T01:38:16.450Z Moon culminates 32.53 degrees above the horizon -2023-08-27T06:43:09.458Z moonset +2023-08-27T06:43:09.167Z moonset 2023-08-27T08:13:20.816Z Saturn opposition -2023-08-27T11:00:21.649Z sunrise +2023-08-27T11:00:21.692Z sunrise 2023-08-27T17:26:20.902Z Sun culminates 71.38 degrees above the horizon -2023-08-27T21:34:36.714Z moonrise -2023-08-27T23:51:54.487Z sunset +2023-08-27T21:34:36.950Z moonrise +2023-08-27T23:51:54.512Z sunset 2023-08-28T02:42:10.533Z Moon culminates 34.03 degrees above the horizon -2023-08-28T07:52:46.949Z moonset -2023-08-28T11:00:52.003Z sunrise +2023-08-28T07:52:46.650Z moonset +2023-08-28T11:00:52.049Z sunrise 2023-08-28T17:26:03.228Z Sun culminates 71.02 degrees above the horizon -2023-08-28T22:28:45.008Z moonrise -2023-08-28T23:50:48.723Z sunset +2023-08-28T22:28:45.181Z moonrise +2023-08-28T23:50:48.745Z sunset 2023-08-29T03:44:52.675Z Moon culminates 37.61 degrees above the horizon -2023-08-29T09:06:07.065Z moonset -2023-08-29T11:01:22.201Z sunrise +2023-08-29T09:06:06.832Z moonset +2023-08-29T11:01:22.250Z sunrise 2023-08-29T17:25:45.186Z Sun culminates 70.67 degrees above the horizon -2023-08-29T23:15:49.048Z moonrise -2023-08-29T23:49:42.383Z sunset +2023-08-29T23:15:49.145Z moonrise +2023-08-29T23:49:42.404Z sunset 2023-08-30T04:44:21.860Z Moon culminates 42.94 degrees above the horizon -2023-08-30T10:19:28.179Z moonset -2023-08-30T11:01:52.253Z sunrise +2023-08-30T10:19:28.067Z moonset +2023-08-30T11:01:52.305Z sunrise 2023-08-30T15:54:34.204Z lunar perigee at 357172 km 2023-08-30T17:25:26.794Z Sun culminates 70.31 degrees above the horizon -2023-08-30T23:48:35.496Z sunset -2023-08-30T23:56:51.309Z moonrise +2023-08-30T23:48:35.515Z sunset +2023-08-30T23:56:51.345Z moonrise 2023-08-31T01:36:08.472Z full moon 2023-08-31T05:40:02.502Z Moon culminates 49.53 degrees above the horizon -2023-08-31T11:02:22.169Z sunrise -2023-08-31T11:30:40.432Z moonset +2023-08-31T11:02:22.224Z sunrise +2023-08-31T11:30:40.408Z moonset 2023-08-31T17:25:08.073Z Sun culminates 69.95 degrees above the horizon -2023-08-31T23:47:28.091Z sunset -2023-09-01T00:33:38.115Z moonrise +2023-08-31T23:47:28.107Z sunset +2023-09-01T00:33:38.126Z moonrise 2023-09-01T06:32:28.530Z Moon culminates 56.79 degrees above the horizon -2023-09-01T11:02:51.963Z sunrise -2023-09-01T12:39:15.843Z moonset +2023-09-01T11:02:52.020Z sunrise +2023-09-01T12:39:15.844Z moonset 2023-09-01T17:24:49.043Z Sun culminates 69.59 degrees above the horizon -2023-09-01T23:46:20.195Z sunset -2023-09-02T01:08:02.133Z moonrise +2023-09-01T23:46:20.210Z sunset +2023-09-02T01:08:02.139Z moonrise 2023-09-02T07:22:49.197Z Moon culminates 64.16 degrees above the horizon -2023-09-02T11:03:21.646Z sunrise -2023-09-02T13:45:47.579Z moonset +2023-09-02T11:03:21.706Z sunrise +2023-09-02T13:45:47.582Z moonset 2023-09-02T17:24:29.724Z Sun culminates 69.23 degrees above the horizon -2023-09-02T23:45:11.838Z sunset -2023-09-03T01:41:48.592Z moonrise +2023-09-02T23:45:11.851Z sunset +2023-09-03T01:41:48.591Z moonrise 2023-09-03T08:12:21.996Z Moon culminates 71.16 degrees above the horizon -2023-09-03T11:03:51.232Z sunrise -2023-09-03T14:51:05.899Z moonset +2023-09-03T11:03:51.294Z sunrise +2023-09-03T14:51:05.933Z moonset 2023-09-03T17:24:10.138Z Sun culminates 68.86 degrees above the horizon -2023-09-03T23:44:03.047Z sunset -2023-09-04T02:16:33.811Z moonrise +2023-09-03T23:44:03.059Z sunset +2023-09-04T02:16:33.785Z moonrise 2023-09-04T09:02:15.789Z Moon culminates 77.39 degrees above the horizon -2023-09-04T11:04:20.732Z sunrise -2023-09-04T15:55:45.609Z moonset +2023-09-04T11:04:20.797Z sunrise +2023-09-04T15:55:45.716Z moonset 2023-09-04T17:23:50.305Z Sun culminates 68.49 degrees above the horizon -2023-09-04T23:42:53.853Z sunset -2023-09-05T02:53:45.522Z moonrise +2023-09-04T23:42:53.863Z sunset +2023-09-05T02:53:45.448Z moonrise 2023-09-05T09:53:18.725Z Moon culminates 82.56 degrees above the horizon -2023-09-05T11:04:50.161Z sunrise -2023-09-05T16:59:43.589Z moonset +2023-09-05T11:04:50.227Z sunrise +2023-09-05T16:59:43.773Z moonset 2023-09-05T17:23:30.245Z Sun culminates 68.12 degrees above the horizon -2023-09-05T23:41:44.283Z sunset -2023-09-06T03:34:38.387Z moonrise +2023-09-05T23:41:44.292Z sunset +2023-09-06T03:34:38.262Z moonrise 2023-09-06T10:45:47.494Z Moon culminates 86.40 degrees above the horizon 2023-09-06T11:02:09.084Z Mercury inferior conjunction -2023-09-06T11:05:19.528Z sunrise +2023-09-06T11:05:19.597Z sunrise 2023-09-06T17:23:09.978Z Sun culminates 67.75 degrees above the horizon -2023-09-06T18:02:07.839Z moonset +2023-09-06T18:02:08.065Z moonset 2023-09-06T19:48:20.981Z Mercury moves from Leo to Sextans 2023-09-06T22:21:42.724Z third quarter -2023-09-06T23:40:34.364Z sunset -2023-09-07T04:20:01.409Z moonrise -2023-09-07T11:05:48.846Z sunrise +2023-09-06T23:40:34.372Z sunset +2023-09-07T04:20:01.243Z moonrise +2023-09-07T11:05:48.916Z sunrise 2023-09-07T11:39:20.268Z Moon culminates 88.76 degrees above the horizon 2023-09-07T17:22:49.524Z Sun culminates 67.38 degrees above the horizon -2023-09-07T19:01:26.460Z moonset -2023-09-07T23:39:24.126Z sunset -2023-09-08T05:10:00.004Z moonrise -2023-09-08T11:06:18.124Z sunrise +2023-09-07T19:01:26.689Z moonset +2023-09-07T23:39:24.133Z sunset +2023-09-08T05:09:59.808Z moonrise +2023-09-08T11:06:18.197Z sunrise 2023-09-08T12:33:00.180Z Moon culminates 89.57 degrees above the horizon 2023-09-08T17:22:28.902Z Sun culminates 67.00 degrees above the horizon -2023-09-08T19:56:00.313Z moonset -2023-09-08T23:38:13.594Z sunset -2023-09-09T06:03:45.368Z moonrise -2023-09-09T11:06:47.374Z sunrise +2023-09-08T19:56:00.529Z moonset +2023-09-08T23:38:13.599Z sunset +2023-09-09T06:03:45.151Z moonrise +2023-09-09T11:06:47.447Z sunrise 2023-09-09T13:25:33.443Z Moon culminates 88.87 degrees above the horizon 2023-09-09T17:22:08.128Z Sun culminates 66.63 degrees above the horizon -2023-09-09T20:44:43.413Z moonset -2023-09-09T23:37:02.794Z sunset -2023-09-10T06:59:46.428Z moonrise -2023-09-10T11:07:16.603Z sunrise +2023-09-09T20:44:43.608Z moonset +2023-09-09T23:37:02.799Z sunset +2023-09-10T06:59:46.210Z moonrise +2023-09-10T11:07:16.678Z sunrise 2023-09-10T14:15:55.265Z Moon culminates 86.79 degrees above the horizon 2023-09-10T17:21:47.221Z Sun culminates 66.25 degrees above the horizon -2023-09-10T21:27:24.235Z moonset -2023-09-10T23:35:51.752Z sunset -2023-09-11T07:56:23.280Z moonrise -2023-09-11T11:07:45.822Z sunrise +2023-09-10T21:27:24.399Z moonset +2023-09-10T23:35:51.756Z sunset +2023-09-11T07:56:23.093Z moonrise +2023-09-11T11:07:45.898Z sunrise 2023-09-11T15:03:29.376Z Moon culminates 83.52 degrees above the horizon 2023-09-11T17:21:26.198Z Sun culminates 65.87 degrees above the horizon -2023-09-11T22:04:38.796Z moonset -2023-09-11T23:34:40.494Z sunset +2023-09-11T22:04:38.916Z moonset +2023-09-11T23:34:40.497Z sunset 2023-09-12T06:07:28.435Z Mercury moves from Sextans to Leo -2023-09-12T08:52:20.859Z moonrise -2023-09-12T11:08:15.038Z sunrise +2023-09-12T08:52:20.735Z moonrise +2023-09-12T11:08:15.116Z sunrise 2023-09-12T15:41:42.932Z lunar apogee at 406279 km 2023-09-12T15:48:12.976Z Moon culminates 79.29 degrees above the horizon 2023-09-12T17:21:05.076Z Sun culminates 65.49 degrees above the horizon -2023-09-12T22:37:29.758Z moonset -2023-09-12T23:33:29.043Z sunset -2023-09-13T09:47:04.431Z moonrise -2023-09-13T11:08:44.259Z sunrise +2023-09-12T22:37:29.830Z moonset +2023-09-12T23:33:29.046Z sunset +2023-09-13T09:47:04.374Z moonrise +2023-09-13T11:08:44.338Z sunrise 2023-09-13T16:30:30.490Z Moon culminates 74.32 degrees above the horizon 2023-09-13T17:20:43.870Z Sun culminates 65.11 degrees above the horizon -2023-09-13T23:07:08.259Z moonset -2023-09-13T23:32:17.424Z sunset -2023-09-14T10:40:36.988Z moonrise -2023-09-14T11:09:13.494Z sunrise +2023-09-13T23:07:08.296Z moonset +2023-09-13T23:32:17.427Z sunset +2023-09-14T10:40:36.976Z moonrise +2023-09-14T11:09:13.575Z sunrise 2023-09-14T17:11:04.060Z Moon culminates 68.82 degrees above the horizon 2023-09-14T17:20:22.596Z Sun culminates 64.72 degrees above the horizon -2023-09-14T23:31:05.661Z sunset -2023-09-14T23:34:44.593Z moonset +2023-09-14T23:31:05.663Z sunset +2023-09-14T23:34:44.612Z moonset 2023-09-15T01:40:30.487Z new moon -2023-09-15T11:09:42.751Z sunrise -2023-09-15T11:33:28.755Z moonrise +2023-09-15T11:09:42.833Z sunrise +2023-09-15T11:33:28.758Z moonrise 2023-09-15T17:20:01.271Z Sun culminates 64.34 degrees above the horizon 2023-09-15T17:50:46.095Z Moon culminates 63.00 degrees above the horizon -2023-09-15T23:29:53.778Z sunset -2023-09-16T00:01:26.215Z moonset -2023-09-16T11:10:12.038Z sunrise -2023-09-16T12:26:26.628Z moonrise +2023-09-15T23:29:53.780Z sunset +2023-09-16T00:01:26.228Z moonset +2023-09-16T11:10:12.120Z sunrise +2023-09-16T12:26:26.633Z moonrise 2023-09-16T17:19:39.911Z Sun culminates 63.95 degrees above the horizon 2023-09-16T18:30:35.139Z Moon culminates 57.05 degrees above the horizon -2023-09-16T23:28:41.799Z sunset -2023-09-17T00:28:20.034Z moonset +2023-09-16T23:28:41.800Z sunset +2023-09-17T00:28:20.043Z moonset 2023-09-17T03:15:14.623Z Venus peak magnitude -4.76 in morning sky -2023-09-17T11:10:41.362Z sunrise -2023-09-17T13:20:25.633Z moonrise +2023-09-17T11:10:41.446Z sunrise +2023-09-17T13:20:25.651Z moonrise 2023-09-17T17:19:18.531Z Sun culminates 63.57 degrees above the horizon 2023-09-17T19:11:34.059Z Moon culminates 51.17 degrees above the horizon -2023-09-17T23:27:29.747Z sunset -2023-09-18T00:56:36.830Z moonset -2023-09-18T11:11:10.734Z sunrise -2023-09-18T14:16:20.506Z moonrise +2023-09-17T23:27:29.748Z sunset +2023-09-18T00:56:36.822Z moonset +2023-09-18T11:11:10.818Z sunrise +2023-09-18T14:16:20.576Z moonrise 2023-09-18T17:18:57.149Z Sun culminates 63.18 degrees above the horizon 2023-09-18T19:54:48.457Z Moon culminates 45.60 degrees above the horizon 2023-09-18T23:26:17.648Z sunset -2023-09-19T01:27:36.313Z moonset +2023-09-19T01:27:36.264Z moonset 2023-09-19T11:07:37.217Z Neptune opposition -2023-09-19T11:11:40.162Z sunrise -2023-09-19T15:14:53.558Z moonrise +2023-09-19T11:11:40.247Z sunrise +2023-09-19T15:14:53.718Z moonrise 2023-09-19T17:18:35.782Z Sun culminates 62.79 degrees above the horizon 2023-09-19T20:41:22.402Z Moon culminates 40.59 degrees above the horizon -2023-09-19T23:25:05.525Z sunset -2023-09-20T02:02:50.800Z moonset -2023-09-20T11:12:09.657Z sunrise -2023-09-20T16:16:14.864Z moonrise +2023-09-19T23:25:05.526Z sunset +2023-09-20T02:02:50.690Z moonset +2023-09-20T11:12:09.743Z sunrise +2023-09-20T16:16:15.114Z moonrise 2023-09-20T17:18:14.448Z Sun culminates 62.40 degrees above the horizon 2023-09-20T21:32:07.709Z Moon culminates 36.48 degrees above the horizon 2023-09-20T23:23:53.405Z sunset -2023-09-21T02:44:02.887Z moonset -2023-09-21T11:12:39.230Z sunrise +2023-09-21T02:44:02.712Z moonset +2023-09-21T11:12:39.317Z sunrise 2023-09-21T17:17:53.164Z Sun culminates 62.02 degrees above the horizon -2023-09-21T17:19:35.970Z moonrise +2023-09-21T17:19:36.267Z moonrise 2023-09-21T22:27:23.961Z Moon culminates 33.61 degrees above the horizon -2023-09-21T23:22:41.313Z sunset -2023-09-22T03:32:48.204Z moonset -2023-09-22T11:13:08.893Z sunrise +2023-09-21T23:22:41.314Z sunset +2023-09-22T03:32:47.973Z moonset +2023-09-22T11:13:08.980Z sunrise 2023-09-22T13:17:24.230Z Mercury max morning elongation: 17.86 degrees from Sun 2023-09-22T17:17:31.951Z Sun culminates 61.63 degrees above the horizon -2023-09-22T18:22:53.544Z moonrise +2023-09-22T18:22:53.836Z moonrise 2023-09-22T19:32:21.462Z first quarter -2023-09-22T23:21:29.277Z sunset +2023-09-22T23:21:29.278Z sunset 2023-09-22T23:26:33.979Z Moon culminates 32.37 degrees above the horizon -2023-09-23T04:29:55.087Z moonset +2023-09-23T04:29:54.811Z moonset 2023-09-23T06:50:00.524Z September equinox -2023-09-23T11:13:38.657Z sunrise +2023-09-23T11:13:38.745Z sunrise 2023-09-23T17:17:10.830Z Sun culminates 61.24 degrees above the horizon 2023-09-23T18:01:16.890Z Mercury perihelion at 0.3075 AU -2023-09-23T19:23:14.098Z moonrise +2023-09-23T19:23:14.356Z moonrise 2023-09-23T23:20:17.324Z sunset 2023-09-24T00:27:54.496Z Moon culminates 33.02 degrees above the horizon -2023-09-24T05:34:34.757Z moonset -2023-09-24T11:14:08.538Z sunrise +2023-09-24T05:34:34.455Z moonset +2023-09-24T11:14:08.627Z sunrise 2023-09-24T17:16:49.819Z Sun culminates 60.85 degrees above the horizon -2023-09-24T20:18:06.483Z moonrise -2023-09-24T23:19:05.482Z sunset +2023-09-24T20:18:06.690Z moonrise +2023-09-24T23:19:05.483Z sunset 2023-09-25T01:29:05.147Z Moon culminates 35.65 degrees above the horizon 2023-09-25T03:21:42.721Z Venus moves from Cancer to Leo -2023-09-25T06:44:12.531Z moonset -2023-09-25T11:14:38.550Z sunrise +2023-09-25T06:44:12.258Z moonset +2023-09-25T11:14:38.639Z sunrise 2023-09-25T17:16:28.943Z Sun culminates 60.46 degrees above the horizon -2023-09-25T21:06:28.136Z moonrise +2023-09-25T21:06:28.272Z moonrise 2023-09-25T23:17:53.781Z sunset 2023-09-26T02:28:06.523Z Moon culminates 40.10 degrees above the horizon -2023-09-26T07:55:33.969Z moonset -2023-09-26T11:15:08.707Z sunrise +2023-09-26T07:55:33.796Z moonset +2023-09-26T11:15:08.797Z sunrise 2023-09-26T17:16:08.223Z Sun culminates 60.07 degrees above the horizon -2023-09-26T21:48:50.674Z moonrise +2023-09-26T21:48:50.738Z moonrise 2023-09-26T23:16:42.249Z sunset 2023-09-27T03:24:03.183Z Moon culminates 46.01 degrees above the horizon -2023-09-27T09:06:13.867Z moonset -2023-09-27T11:15:39.027Z sunrise +2023-09-27T09:06:13.806Z moonset +2023-09-27T11:15:39.118Z sunrise 2023-09-27T17:15:47.682Z Sun culminates 59.68 degrees above the horizon -2023-09-27T22:26:41.225Z moonrise +2023-09-27T22:26:41.246Z moonrise 2023-09-27T23:15:30.917Z sunset 2023-09-28T00:59:13.114Z lunar perigee at 359903 km 2023-09-28T04:17:05.979Z Moon culminates 52.92 degrees above the horizon -2023-09-28T10:15:13.859Z moonset -2023-09-28T11:16:09.528Z sunrise +2023-09-28T10:15:13.853Z moonset +2023-09-28T11:16:09.619Z sunrise 2023-09-28T17:15:27.345Z Sun culminates 59.29 degrees above the horizon -2023-09-28T23:01:44.754Z moonrise -2023-09-28T23:14:19.814Z sunset +2023-09-28T23:01:44.762Z moonrise +2023-09-28T23:14:19.914Z sunset 2023-09-29T05:08:08.825Z Moon culminates 60.31 degrees above the horizon 2023-09-29T09:58:02.608Z full moon -2023-09-29T11:16:40.226Z sunrise -2023-09-29T11:22:44.192Z moonset +2023-09-29T11:16:40.317Z sunrise +2023-09-29T11:22:44.193Z moonset 2023-09-29T17:15:07.234Z Sun culminates 58.91 degrees above the horizon -2023-09-29T23:13:08.970Z sunset -2023-09-29T23:35:45.392Z moonrise +2023-09-29T23:13:09.069Z sunset +2023-09-29T23:35:45.397Z moonrise 2023-09-30T05:58:23.224Z Moon culminates 67.65 degrees above the horizon -2023-09-30T11:17:11.140Z sunrise -2023-09-30T12:29:25.848Z moonset +2023-09-30T11:17:11.233Z sunrise +2023-09-30T12:29:25.861Z moonset 2023-09-30T17:14:47.376Z Sun culminates 58.52 degrees above the horizon -2023-09-30T23:11:58.416Z sunset -2023-10-01T00:10:21.582Z moonrise +2023-09-30T23:11:58.514Z sunset +2023-10-01T00:10:21.572Z moonrise 2023-10-01T03:32:59.194Z Mercury moves from Leo to Virgo 2023-10-01T06:48:59.205Z Moon culminates 74.48 degrees above the horizon -2023-10-01T11:17:42.289Z sunrise -2023-10-01T13:35:55.177Z moonset +2023-10-01T11:17:42.382Z sunrise +2023-10-01T13:35:55.246Z moonset 2023-10-01T17:14:27.792Z Sun culminates 58.13 degrees above the horizon -2023-10-01T23:10:48.182Z sunset -2023-10-02T00:47:05.496Z moonrise +2023-10-01T23:10:48.279Z sunset +2023-10-02T00:47:05.446Z moonrise 2023-10-02T07:40:50.475Z Moon culminates 80.37 degrees above the horizon -2023-10-02T11:18:13.690Z sunrise -2023-10-02T14:42:15.241Z moonset +2023-10-02T11:18:13.784Z sunrise +2023-10-02T14:42:15.394Z moonset 2023-10-02T17:14:08.509Z Sun culminates 57.74 degrees above the horizon -2023-10-02T23:09:38.297Z sunset -2023-10-03T01:27:19.165Z moonrise +2023-10-02T23:09:38.393Z sunset +2023-10-03T01:27:19.062Z moonrise 2023-10-03T08:34:20.540Z Moon culminates 84.99 degrees above the horizon -2023-10-03T11:18:45.360Z sunrise -2023-10-03T15:47:36.684Z moonset +2023-10-03T11:18:45.455Z sunrise +2023-10-03T15:47:36.899Z moonset 2023-10-03T17:13:49.548Z Sun culminates 57.36 degrees above the horizon -2023-10-03T23:08:28.793Z sunset -2023-10-04T02:12:02.385Z moonrise +2023-10-03T23:08:28.888Z sunset +2023-10-04T02:12:02.234Z moonrise 2023-10-04T09:29:11.639Z Moon culminates 88.10 degrees above the horizon -2023-10-04T11:19:17.314Z sunrise -2023-10-04T16:50:18.963Z moonset +2023-10-04T11:19:17.410Z sunrise +2023-10-04T16:50:19.195Z moonset 2023-10-04T17:13:30.933Z Sun culminates 56.97 degrees above the horizon -2023-10-04T23:07:19.700Z sunset -2023-10-05T03:01:32.906Z moonrise +2023-10-04T23:07:19.794Z sunset +2023-10-05T03:01:32.721Z moonrise 2023-10-05T10:24:24.625Z Moon culminates 89.57 degrees above the horizon -2023-10-05T11:19:49.569Z sunrise +2023-10-05T11:19:49.665Z sunrise 2023-10-05T17:13:12.687Z Sun culminates 56.59 degrees above the horizon -2023-10-05T17:48:22.047Z moonset -2023-10-05T23:06:11.048Z sunset -2023-10-06T03:55:10.696Z moonrise +2023-10-05T17:48:22.268Z moonset +2023-10-05T23:06:11.141Z sunset +2023-10-06T03:55:10.485Z moonrise 2023-10-06T11:18:36.892Z Moon culminates 89.43 degrees above the horizon -2023-10-06T11:20:22.136Z sunrise +2023-10-06T11:20:22.234Z sunrise 2023-10-06T13:48:24.382Z third quarter 2023-10-06T17:12:54.831Z Sun culminates 56.20 degrees above the horizon -2023-10-06T18:40:15.901Z moonset -2023-10-06T23:05:02.866Z sunset -2023-10-07T04:51:25.154Z moonrise -2023-10-07T11:20:55.029Z sunrise +2023-10-06T18:40:16.104Z moonset +2023-10-06T23:05:02.957Z sunset +2023-10-07T04:51:24.932Z moonrise +2023-10-07T11:20:55.128Z sunrise 2023-10-07T12:10:32.503Z Moon culminates 87.80 degrees above the horizon 2023-10-07T17:12:37.385Z Sun culminates 55.82 degrees above the horizon -2023-10-07T19:25:33.123Z moonset -2023-10-07T23:03:55.183Z sunset -2023-10-08T05:48:29.294Z moonrise -2023-10-08T11:21:28.260Z sunrise +2023-10-07T19:25:33.299Z moonset +2023-10-07T23:03:55.273Z sunset +2023-10-08T05:48:29.090Z moonrise +2023-10-08T11:21:28.359Z sunrise 2023-10-08T12:59:26.750Z Moon culminates 84.90 degrees above the horizon 2023-10-08T17:12:20.369Z Sun culminates 55.44 degrees above the horizon -2023-10-08T20:04:45.617Z moonset -2023-10-08T23:02:48.027Z sunset -2023-10-09T06:44:58.779Z moonrise -2023-10-09T11:22:01.837Z sunrise +2023-10-08T20:04:45.755Z moonset +2023-10-08T23:02:48.116Z sunset +2023-10-09T06:44:58.629Z moonrise +2023-10-09T11:22:01.938Z sunrise 2023-10-09T13:45:13.163Z Moon culminates 80.96 degrees above the horizon 2023-10-09T17:12:03.802Z Sun culminates 55.06 degrees above the horizon -2023-10-09T20:38:59.799Z moonset -2023-10-09T23:01:41.426Z sunset +2023-10-09T20:38:59.888Z moonset +2023-10-09T23:01:41.514Z sunset 2023-10-10T03:41:36.477Z lunar apogee at 405415 km -2023-10-10T07:40:11.915Z moonrise -2023-10-10T11:22:35.771Z sunrise +2023-10-10T07:40:11.835Z moonrise +2023-10-10T11:22:35.772Z sunrise 2023-10-10T14:28:16.229Z Moon culminates 76.21 degrees above the horizon 2023-10-10T17:11:47.703Z Sun culminates 54.68 degrees above the horizon -2023-10-10T21:09:33.171Z moonset -2023-10-10T23:00:35.407Z sunset -2023-10-11T08:34:08.155Z moonrise -2023-10-11T11:23:10.068Z sunrise +2023-10-10T21:09:33.219Z moonset +2023-10-10T23:00:35.494Z sunset +2023-10-11T08:34:08.131Z moonrise +2023-10-11T11:23:10.070Z sunrise 2023-10-11T15:09:19.895Z Moon culminates 70.86 degrees above the horizon 2023-10-11T17:11:32.087Z Sun culminates 54.30 degrees above the horizon -2023-10-11T21:37:41.780Z moonset -2023-10-11T22:59:29.997Z sunset +2023-10-11T21:37:41.803Z moonset +2023-10-11T22:59:30.082Z sunset 2023-10-12T09:27:16.626Z moonrise -2023-10-12T11:23:44.735Z sunrise +2023-10-12T11:23:44.737Z sunrise 2023-10-12T15:49:18.540Z Moon culminates 65.10 degrees above the horizon 2023-10-12T17:11:16.971Z Sun culminates 53.93 degrees above the horizon -2023-10-12T22:04:36.965Z moonset -2023-10-12T22:58:25.222Z sunset -2023-10-13T10:20:24.264Z moonrise -2023-10-13T11:24:19.776Z sunrise +2023-10-12T22:04:36.979Z moonset +2023-10-12T22:58:25.305Z sunset +2023-10-13T10:20:24.268Z moonrise +2023-10-13T11:24:19.779Z sunrise 2023-10-13T16:29:11.975Z Moon culminates 59.12 degrees above the horizon 2023-10-13T17:11:02.371Z Sun culminates 53.55 degrees above the horizon -2023-10-13T22:31:27.329Z moonset -2023-10-13T22:57:21.107Z sunset -2023-10-14T11:14:26.461Z moonrise -2023-10-14T11:24:55.198Z sunrise +2023-10-13T22:31:27.339Z moonset +2023-10-13T22:57:21.189Z sunset +2023-10-14T11:14:26.472Z moonrise +2023-10-14T11:24:55.201Z sunrise 2023-10-14T17:10:03.251Z Moon culminates 53.12 degrees above the horizon 2023-10-14T17:10:48.301Z Sun culminates 53.18 degrees above the horizon 2023-10-14T17:26:24.593Z partial solar eclipse peak at 52.98 degrees altitude 2023-10-14T17:55:48.311Z new moon -2023-10-14T22:56:17.678Z sunset -2023-10-14T22:59:23.068Z moonset -2023-10-15T11:25:31.002Z sunrise -2023-10-15T12:10:18.499Z moonrise +2023-10-14T22:56:17.758Z sunset +2023-10-14T22:59:23.067Z moonset +2023-10-15T11:25:31.007Z sunrise +2023-10-15T12:10:18.547Z moonrise 2023-10-15T17:10:34.775Z Sun culminates 52.81 degrees above the horizon 2023-10-15T17:52:57.026Z Moon culminates 47.34 degrees above the horizon -2023-10-15T22:55:14.959Z sunset -2023-10-15T23:29:40.932Z moonset -2023-10-16T11:26:07.193Z sunrise -2023-10-16T13:08:43.942Z moonrise +2023-10-15T22:55:15.037Z sunset +2023-10-15T23:29:40.898Z moonset +2023-10-16T11:26:07.198Z sunrise +2023-10-16T13:08:44.071Z moonrise 2023-10-16T17:10:21.809Z Sun culminates 52.44 degrees above the horizon 2023-10-16T18:38:55.622Z Moon culminates 42.04 degrees above the horizon -2023-10-16T22:54:12.977Z sunset -2023-10-17T00:03:47.906Z moonset -2023-10-17T11:26:43.773Z sunrise -2023-10-17T14:09:56.040Z moonrise +2023-10-16T22:54:13.053Z sunset +2023-10-17T00:03:47.816Z moonset +2023-10-17T11:26:43.779Z sunrise +2023-10-17T14:09:56.267Z moonrise 2023-10-17T17:10:09.415Z Sun culminates 52.08 degrees above the horizon 2023-10-17T19:28:49.283Z Moon culminates 37.57 degrees above the horizon -2023-10-17T22:53:11.755Z sunset -2023-10-18T00:43:19.733Z moonset -2023-10-18T11:27:20.743Z sunrise -2023-10-18T15:13:12.650Z moonrise +2023-10-17T22:53:11.830Z sunset +2023-10-18T00:43:19.576Z moonset +2023-10-18T11:27:20.750Z sunrise +2023-10-18T15:13:12.940Z moonrise 2023-10-18T17:09:57.607Z Sun culminates 51.71 degrees above the horizon 2023-10-18T20:22:58.151Z Moon culminates 34.27 degrees above the horizon -2023-10-18T22:52:11.321Z sunset -2023-10-19T01:29:46.875Z moonset -2023-10-19T11:27:58.107Z sunrise -2023-10-19T16:16:38.826Z moonrise +2023-10-18T22:52:11.393Z sunset +2023-10-19T01:29:46.660Z moonset +2023-10-19T11:27:58.115Z sunrise +2023-10-19T16:16:39.124Z moonrise 2023-10-19T17:09:46.399Z Sun culminates 51.35 degrees above the horizon 2023-10-19T21:20:50.043Z Moon culminates 32.51 degrees above the horizon -2023-10-19T22:51:11.699Z sunset -2023-10-20T02:24:00.690Z moonset +2023-10-19T22:51:11.769Z sunset +2023-10-20T02:24:00.427Z moonset 2023-10-20T05:19:54.839Z Mercury superior conjunction -2023-10-20T11:28:35.864Z sunrise +2023-10-20T11:28:35.874Z sunrise 2023-10-20T17:09:35.806Z Sun culminates 50.99 degrees above the horizon -2023-10-20T17:17:25.992Z moonrise +2023-10-20T17:17:26.264Z moonrise 2023-10-20T22:20:51.078Z Moon culminates 32.55 degrees above the horizon -2023-10-20T22:50:12.917Z sunset -2023-10-21T03:25:29.109Z moonset -2023-10-21T11:29:14.018Z sunrise +2023-10-20T22:50:12.984Z sunset +2023-10-21T03:25:28.814Z moonset +2023-10-21T11:29:14.029Z sunrise 2023-10-21T17:09:25.841Z Sun culminates 50.63 degrees above the horizon -2023-10-21T18:12:58.294Z moonrise -2023-10-21T22:49:15.001Z sunset +2023-10-21T18:12:58.522Z moonrise +2023-10-21T22:49:15.066Z sunset 2023-10-21T23:20:50.017Z Moon culminates 34.49 degrees above the horizon 2023-10-22T03:29:58.708Z first quarter -2023-10-22T04:32:02.660Z moonset -2023-10-22T11:29:52.571Z sunrise +2023-10-22T04:32:02.371Z moonset +2023-10-22T11:29:52.582Z sunrise 2023-10-22T17:09:16.521Z Sun culminates 50.28 degrees above the horizon -2023-10-22T19:02:00.496Z moonrise -2023-10-22T22:48:17.980Z sunset +2023-10-22T19:02:00.663Z moonrise +2023-10-22T22:48:18.042Z sunset 2023-10-23T00:18:50.529Z Moon culminates 38.22 degrees above the horizon -2023-10-23T05:40:45.351Z moonset -2023-10-23T11:30:31.523Z sunrise +2023-10-23T05:40:45.136Z moonset +2023-10-23T11:30:31.536Z sunrise 2023-10-23T17:09:07.859Z Sun culminates 49.93 degrees above the horizon -2023-10-23T19:44:51.468Z moonrise -2023-10-23T22:47:21.882Z sunset +2023-10-23T19:44:51.563Z moonrise +2023-10-23T22:47:21.941Z sunset 2023-10-23T23:14:59.787Z Venus max morning elongation: 46.41 degrees from Sun 2023-10-24T01:13:53.488Z Moon culminates 43.43 degrees above the horizon 2023-10-24T01:20:00.813Z Mars moves from Virgo to Libra -2023-10-24T06:49:15.317Z moonset -2023-10-24T11:31:10.878Z sunrise +2023-10-24T06:49:15.215Z moonset +2023-10-24T11:31:10.893Z sunrise 2023-10-24T17:08:59.872Z Sun culminates 49.58 degrees above the horizon -2023-10-24T20:22:50.344Z moonrise -2023-10-24T22:46:26.736Z sunset +2023-10-24T20:22:50.381Z moonrise +2023-10-24T22:46:26.793Z sunset 2023-10-25T02:06:03.441Z Moon culminates 49.76 degrees above the horizon -2023-10-25T07:56:28.218Z moonset -2023-10-25T11:31:50.639Z sunrise +2023-10-25T07:56:28.196Z moonset +2023-10-25T11:31:50.656Z sunrise 2023-10-25T17:08:52.576Z Sun culminates 49.24 degrees above the horizon -2023-10-25T20:57:38.472Z moonrise -2023-10-25T22:45:32.571Z sunset +2023-10-25T20:57:38.484Z moonrise +2023-10-25T22:45:32.625Z sunset 2023-10-26T02:56:09.706Z Moon culminates 56.78 degrees above the horizon 2023-10-26T03:02:53.036Z lunar perigee at 364863 km -2023-10-26T09:02:29.068Z moonset -2023-10-26T11:32:30.809Z sunrise +2023-10-26T09:02:29.069Z moonset +2023-10-26T11:32:30.827Z sunrise 2023-10-26T17:08:45.987Z Sun culminates 48.89 degrees above the horizon -2023-10-26T21:30:58.885Z moonrise -2023-10-26T22:44:39.418Z sunset +2023-10-26T21:30:58.892Z moonrise +2023-10-26T22:44:39.469Z sunset 2023-10-27T03:45:23.386Z Moon culminates 64.04 degrees above the horizon 2023-10-27T05:57:45.936Z Mercury moves from Virgo to Libra -2023-10-27T10:08:00.944Z moonset -2023-10-27T11:33:11.390Z sunrise +2023-10-27T10:08:00.947Z moonset +2023-10-27T11:33:11.410Z sunrise 2023-10-27T17:08:40.123Z Sun culminates 48.56 degrees above the horizon 2023-10-27T22:04:30.614Z moonrise -2023-10-27T22:43:47.306Z sunset +2023-10-27T22:43:47.354Z sunset 2023-10-28T04:34:59.625Z Moon culminates 71.10 degrees above the horizon -2023-10-28T11:13:52.259Z moonset -2023-10-28T11:33:52.386Z sunrise +2023-10-28T11:13:52.293Z moonset +2023-10-28T11:33:52.408Z sunrise 2023-10-28T17:08:34.998Z Sun culminates 48.22 degrees above the horizon 2023-10-28T20:13:57.079Z partial lunar eclipse 2023-10-28T20:24:33.233Z full moon -2023-10-28T22:39:48.978Z moonrise -2023-10-28T22:42:56.264Z sunset +2023-10-28T22:39:48.951Z moonrise +2023-10-28T22:42:56.309Z sunset 2023-10-29T05:26:03.415Z Moon culminates 77.51 degrees above the horizon -2023-10-29T11:34:33.799Z sunrise -2023-10-29T12:20:26.797Z moonset +2023-10-29T11:34:33.823Z sunrise +2023-10-29T12:20:26.907Z moonset 2023-10-29T17:08:30.628Z Sun culminates 47.89 degrees above the horizon -2023-10-29T22:42:06.323Z sunset -2023-10-29T23:18:24.133Z moonrise +2023-10-29T22:42:06.364Z sunset +2023-10-29T23:18:24.058Z moonrise 2023-10-30T06:19:14.567Z Moon culminates 82.86 degrees above the horizon -2023-10-30T11:35:15.630Z sunrise -2023-10-30T13:27:16.775Z moonset +2023-10-30T11:35:15.656Z sunrise +2023-10-30T13:27:16.965Z moonset 2023-10-30T17:08:27.030Z Sun culminates 47.56 degrees above the horizon -2023-10-30T22:41:17.511Z sunset -2023-10-31T00:01:31.493Z moonrise +2023-10-30T22:41:17.549Z sunset +2023-10-31T00:01:31.365Z moonrise 2023-10-31T07:14:31.366Z Moon culminates 86.80 degrees above the horizon -2023-10-31T11:35:57.878Z sunrise -2023-10-31T14:32:48.761Z moonset +2023-10-31T11:35:57.906Z sunrise +2023-10-31T14:32:48.990Z moonset 2023-10-31T17:08:24.217Z Sun culminates 47.23 degrees above the horizon -2023-10-31T22:40:29.858Z sunset -2023-11-01T00:49:50.736Z moonrise +2023-10-31T22:40:29.893Z sunset +2023-11-01T00:49:50.565Z moonrise 2023-11-01T08:11:01.020Z Moon culminates 89.09 degrees above the horizon -2023-11-01T11:36:40.543Z sunrise -2023-11-01T15:34:42.090Z moonset +2023-11-01T11:36:40.573Z sunrise +2023-11-01T15:34:42.317Z moonset 2023-11-01T17:08:22.204Z Sun culminates 46.91 degrees above the horizon -2023-11-01T22:39:43.394Z sunset -2023-11-02T01:43:00.993Z moonrise +2023-11-01T22:39:43.425Z sunset +2023-11-02T01:43:00.791Z moonrise 2023-11-02T09:07:10.393Z Moon culminates 89.68 degrees above the horizon -2023-11-02T11:37:23.621Z sunrise +2023-11-02T11:37:23.653Z sunrise 2023-11-02T16:23:08.977Z Venus moves from Leo to Virgo -2023-11-02T16:30:43.844Z moonset +2023-11-02T16:30:44.054Z moonset 2023-11-02T17:08:21.003Z Sun culminates 46.60 degrees above the horizon -2023-11-02T22:38:58.147Z sunset -2023-11-03T02:39:35.119Z moonrise +2023-11-02T22:38:58.175Z sunset +2023-11-03T02:39:34.898Z moonrise 2023-11-03T04:48:58.213Z Jupiter opposition 2023-11-03T10:01:19.546Z Moon culminates 88.64 degrees above the horizon -2023-11-03T11:38:07.106Z sunrise +2023-11-03T11:38:07.141Z sunrise 2023-11-03T17:08:20.625Z Sun culminates 46.28 degrees above the horizon -2023-11-03T17:19:44.777Z moonset -2023-11-03T22:38:14.146Z sunset -2023-11-04T03:37:30.541Z moonrise +2023-11-03T17:19:44.963Z moonset +2023-11-03T22:38:14.171Z sunset +2023-11-04T03:37:30.325Z moonrise 2023-11-04T10:52:18.576Z Moon culminates 86.20 degrees above the horizon -2023-11-04T11:38:50.993Z sunrise +2023-11-04T11:38:51.030Z sunrise 2023-11-04T17:08:21.081Z Sun culminates 45.97 degrees above the horizon -2023-11-04T18:01:53.925Z moonset -2023-11-04T22:37:31.418Z sunset -2023-11-05T04:34:59.132Z moonrise +2023-11-04T18:01:54.078Z moonset +2023-11-04T22:37:31.439Z sunset +2023-11-05T04:34:58.957Z moonrise 2023-11-05T08:37:32.577Z third quarter -2023-11-05T11:39:35.272Z sunrise +2023-11-05T11:39:35.311Z sunrise 2023-11-05T11:39:44.536Z Moon culminates 82.61 degrees above the horizon 2023-11-05T17:08:22.379Z Sun culminates 45.67 degrees above the horizon -2023-11-05T18:38:13.871Z moonset -2023-11-05T22:36:49.989Z sunset -2023-11-06T05:31:00.091Z moonrise -2023-11-06T11:40:19.932Z sunrise +2023-11-05T18:38:13.978Z moonset +2023-11-05T22:36:50.007Z sunset +2023-11-06T05:30:59.984Z moonrise +2023-11-06T11:40:19.974Z sunrise 2023-11-06T12:23:55.816Z Moon culminates 78.14 degrees above the horizon 2023-11-06T17:08:24.526Z Sun culminates 45.37 degrees above the horizon 2023-11-06T17:38:47.504Z Mercury aphelion at 0.4667 AU -2023-11-06T19:10:08.278Z moonset +2023-11-06T19:10:08.340Z moonset 2023-11-06T21:49:10.733Z lunar apogee at 404557 km -2023-11-06T22:36:09.885Z sunset -2023-11-07T06:25:23.295Z moonrise -2023-11-07T11:41:04.961Z sunrise +2023-11-06T22:36:09.899Z sunset +2023-11-07T06:25:23.252Z moonrise +2023-11-07T11:41:05.005Z sunrise 2023-11-07T13:05:37.184Z Moon culminates 73.01 degrees above the horizon 2023-11-07T17:08:27.529Z Sun culminates 45.07 degrees above the horizon -2023-11-07T19:39:01.688Z moonset -2023-11-07T22:35:31.129Z sunset -2023-11-08T07:18:36.155Z moonrise -2023-11-08T11:41:50.342Z sunrise +2023-11-07T19:39:01.718Z moonset +2023-11-07T22:35:31.139Z sunset +2023-11-08T07:18:36.149Z moonrise +2023-11-08T11:41:50.389Z sunrise 2023-11-08T13:45:46.947Z Moon culminates 67.40 degrees above the horizon 2023-11-08T17:08:31.390Z Sun culminates 44.78 degrees above the horizon -2023-11-08T20:06:12.636Z moonset -2023-11-08T22:34:53.745Z sunset -2023-11-09T08:11:28.686Z moonrise -2023-11-09T11:42:36.060Z sunrise +2023-11-08T20:06:12.652Z moonset +2023-11-08T22:34:53.751Z sunset +2023-11-09T08:11:28.690Z moonrise +2023-11-09T11:42:36.110Z sunrise 2023-11-09T14:25:29.691Z Moon culminates 61.50 degrees above the horizon 2023-11-09T17:08:36.111Z Sun culminates 44.49 degrees above the horizon -2023-11-09T20:32:54.628Z moonset -2023-11-09T22:34:17.753Z sunset +2023-11-09T20:32:54.640Z moonset +2023-11-09T22:34:17.756Z sunset 2023-11-10T01:35:57.828Z Mercury moves from Libra to Scorpius -2023-11-10T09:05:02.281Z moonrise -2023-11-10T11:43:22.094Z sunrise +2023-11-10T09:05:02.287Z moonrise +2023-11-10T11:43:22.146Z sunrise 2023-11-10T15:05:53.350Z Moon culminates 55.48 degrees above the horizon 2023-11-10T17:08:41.694Z Sun culminates 44.21 degrees above the horizon -2023-11-10T21:00:20.612Z moonset -2023-11-10T22:33:43.174Z sunset -2023-11-11T10:00:20.898Z moonrise -2023-11-11T11:44:08.423Z sunrise +2023-11-10T21:00:20.617Z moonset +2023-11-10T22:33:43.173Z sunset +2023-11-11T10:00:20.926Z moonrise +2023-11-11T11:44:08.478Z sunrise 2023-11-11T15:48:07.902Z Moon culminates 49.56 degrees above the horizon 2023-11-11T17:08:48.135Z Sun culminates 43.94 degrees above the horizon -2023-11-11T21:29:48.585Z moonset -2023-11-11T22:33:10.026Z sunset -2023-11-12T10:58:20.357Z moonrise -2023-11-12T11:44:55.024Z sunrise +2023-11-11T21:29:48.568Z moonset +2023-11-11T22:33:10.021Z sunset +2023-11-12T10:58:20.450Z moonrise +2023-11-12T11:44:55.082Z sunrise 2023-11-12T16:33:22.479Z Moon culminates 43.99 degrees above the horizon 2023-11-12T17:08:55.434Z Sun culminates 43.66 degrees above the horizon -2023-11-12T22:02:46.505Z moonset -2023-11-12T22:32:38.328Z sunset +2023-11-12T22:02:46.438Z moonset +2023-11-12T22:32:38.319Z sunset 2023-11-13T09:27:59.846Z new moon -2023-11-13T11:45:41.873Z sunrise -2023-11-13T11:59:30.390Z moonrise +2023-11-13T11:45:41.934Z sunrise +2023-11-13T11:59:30.583Z moonrise 2023-11-13T17:06:53.880Z Uranus opposition 2023-11-13T17:09:03.585Z Sun culminates 43.40 degrees above the horizon 2023-11-13T17:22:36.811Z Moon culminates 39.10 degrees above the horizon -2023-11-13T22:32:08.095Z sunset -2023-11-13T22:40:52.945Z moonset -2023-11-14T11:46:28.944Z sunrise -2023-11-14T13:03:26.916Z moonrise +2023-11-13T22:32:08.082Z sunset +2023-11-13T22:40:52.812Z moonset +2023-11-14T11:46:29.007Z sunrise +2023-11-14T13:03:27.190Z moonrise 2023-11-14T17:09:12.584Z Sun culminates 43.13 degrees above the horizon 2023-11-14T18:16:23.009Z Moon culminates 35.28 degrees above the horizon -2023-11-14T22:31:39.343Z sunset -2023-11-14T23:25:46.090Z moonset -2023-11-15T11:47:16.209Z sunrise -2023-11-15T14:08:25.093Z moonrise +2023-11-14T22:31:39.327Z sunset +2023-11-14T23:25:45.893Z moonset +2023-11-15T11:47:16.275Z sunrise +2023-11-15T14:08:25.393Z moonrise 2023-11-15T17:09:22.424Z Sun culminates 42.88 degrees above the horizon 2023-11-15T19:14:19.345Z Moon culminates 32.94 degrees above the horizon 2023-11-15T19:49:25.612Z Mercury moves from Scorpius to Ophiuchus -2023-11-15T22:31:12.087Z sunset -2023-11-16T00:18:31.408Z moonset -2023-11-16T11:48:03.639Z sunrise -2023-11-16T15:11:25.752Z moonrise +2023-11-15T22:31:12.067Z sunset +2023-11-16T00:18:31.159Z moonset +2023-11-16T11:48:03.708Z sunrise +2023-11-16T15:11:26.033Z moonrise 2023-11-16T17:09:33.098Z Sun culminates 42.63 degrees above the horizon 2023-11-16T20:14:52.946Z Moon culminates 32.40 degrees above the horizon -2023-11-16T22:30:46.341Z sunset -2023-11-17T01:18:51.876Z moonset -2023-11-17T11:48:51.204Z sunrise -2023-11-17T16:09:21.592Z moonrise +2023-11-16T22:30:46.317Z sunset +2023-11-17T01:18:51.589Z moonset +2023-11-17T11:48:51.276Z sunrise +2023-11-17T16:09:21.834Z moonrise 2023-11-17T17:09:44.597Z Sun culminates 42.38 degrees above the horizon 2023-11-17T21:15:39.188Z Moon culminates 33.80 degrees above the horizon -2023-11-17T22:30:22.119Z sunset -2023-11-18T02:24:41.367Z moonset +2023-11-17T22:30:22.092Z sunset +2023-11-18T02:24:41.072Z moonset 2023-11-18T06:04:47.917Z Mars conjunction -2023-11-18T11:49:38.876Z sunrise -2023-11-18T17:00:23.909Z moonrise +2023-11-18T11:49:38.950Z sunrise +2023-11-18T17:00:24.095Z moonrise 2023-11-18T17:09:56.915Z Sun culminates 42.14 degrees above the horizon 2023-11-18T22:14:19.982Z Moon culminates 37.02 degrees above the horizon -2023-11-18T22:29:59.435Z sunset -2023-11-19T03:32:49.866Z moonset -2023-11-19T11:50:26.622Z sunrise +2023-11-18T22:29:59.404Z sunset +2023-11-19T03:32:49.626Z moonset +2023-11-19T11:50:26.699Z sunrise 2023-11-19T17:10:10.041Z Sun culminates 41.91 degrees above the horizon -2023-11-19T17:44:33.288Z moonrise -2023-11-19T22:29:38.302Z sunset +2023-11-19T17:44:33.405Z moonrise +2023-11-19T22:29:38.268Z sunset 2023-11-19T23:09:37.917Z Moon culminates 41.77 degrees above the horizon -2023-11-20T04:40:34.517Z moonset +2023-11-20T04:40:34.383Z moonset 2023-11-20T10:50:27.291Z first quarter -2023-11-20T11:51:14.412Z sunrise +2023-11-20T11:51:14.492Z sunrise 2023-11-20T17:10:23.968Z Sun culminates 41.68 degrees above the horizon -2023-11-20T18:23:05.761Z moonrise -2023-11-20T22:29:18.735Z sunset +2023-11-20T18:23:05.814Z moonrise +2023-11-20T22:29:18.697Z sunset 2023-11-21T00:01:28.595Z Moon culminates 47.66 degrees above the horizon -2023-11-21T05:46:36.152Z moonset -2023-11-21T11:52:02.216Z sunrise +2023-11-21T05:46:36.112Z moonset +2023-11-21T11:52:02.298Z sunrise 2023-11-21T17:10:38.686Z Sun culminates 41.46 degrees above the horizon -2023-11-21T18:57:46.193Z moonrise +2023-11-21T18:57:46.212Z moonrise 2023-11-21T20:58:22.032Z lunar perigee at 369809 km -2023-11-21T22:29:00.744Z sunset +2023-11-21T22:29:00.704Z sunset 2023-11-22T00:50:40.070Z Moon culminates 54.30 degrees above the horizon -2023-11-22T06:50:55.372Z moonset -2023-11-22T11:52:50.002Z sunrise +2023-11-22T06:50:55.370Z moonset +2023-11-22T11:52:50.087Z sunrise 2023-11-22T17:10:54.187Z Sun culminates 41.24 degrees above the horizon -2023-11-22T19:30:21.475Z moonrise -2023-11-22T22:28:44.345Z sunset +2023-11-22T19:30:21.484Z moonrise +2023-11-22T22:28:44.300Z sunset 2023-11-23T01:38:26.650Z Moon culminates 61.28 degrees above the horizon -2023-11-23T07:54:20.275Z moonset -2023-11-23T11:53:37.740Z sunrise +2023-11-23T07:54:20.276Z moonset +2023-11-23T11:53:37.828Z sunrise 2023-11-23T17:11:10.461Z Sun culminates 41.03 degrees above the horizon -2023-11-23T20:02:32.883Z moonrise -2023-11-23T22:28:29.547Z sunset +2023-11-23T20:02:32.888Z moonrise +2023-11-23T22:28:29.499Z sunset 2023-11-24T02:26:10.202Z Moon culminates 68.24 degrees above the horizon -2023-11-24T08:57:53.766Z moonset -2023-11-24T11:54:25.401Z sunrise +2023-11-24T08:57:53.782Z moonset +2023-11-24T11:54:25.491Z sunrise 2023-11-24T17:11:27.499Z Sun culminates 40.83 degrees above the horizon -2023-11-24T20:35:57.374Z moonrise -2023-11-24T22:28:16.362Z sunset +2023-11-24T20:35:57.363Z moonrise +2023-11-24T22:28:16.311Z sunset 2023-11-25T03:15:07.613Z Moon culminates 74.78 degrees above the horizon 2023-11-25T05:00:04.553Z Mars moves from Libra to Scorpius -2023-11-25T10:02:25.550Z moonset -2023-11-25T11:55:12.952Z sunrise +2023-11-25T10:02:25.622Z moonset +2023-11-25T11:55:13.045Z sunrise 2023-11-25T17:11:45.291Z Sun culminates 40.63 degrees above the horizon -2023-11-25T21:12:09.476Z moonrise -2023-11-25T22:28:04.800Z sunset +2023-11-25T21:12:09.424Z moonrise +2023-11-25T22:28:04.747Z sunset 2023-11-26T04:06:18.412Z Moon culminates 80.53 degrees above the horizon -2023-11-26T11:08:04.862Z moonset -2023-11-26T11:56:00.365Z sunrise +2023-11-26T11:08:05.017Z moonset +2023-11-26T11:56:00.459Z sunrise 2023-11-26T17:12:03.826Z Sun culminates 40.44 degrees above the horizon -2023-11-26T21:52:37.103Z moonrise -2023-11-26T22:27:54.871Z sunset +2023-11-26T21:52:36.998Z moonrise +2023-11-26T22:27:54.815Z sunset 2023-11-27T05:00:08.390Z Moon culminates 85.10 degrees above the horizon 2023-11-27T09:16:52.648Z full moon -2023-11-27T11:56:47.606Z sunrise -2023-11-27T12:13:55.955Z moonset +2023-11-27T11:56:47.703Z sunrise +2023-11-27T12:13:56.171Z moonset 2023-11-27T17:12:23.092Z Sun culminates 40.25 degrees above the horizon -2023-11-27T22:27:46.582Z sunset -2023-11-27T22:38:25.311Z moonrise +2023-11-27T22:27:46.524Z sunset +2023-11-27T22:38:25.158Z moonrise 2023-11-28T05:56:12.298Z Moon culminates 88.16 degrees above the horizon -2023-11-28T11:57:34.644Z sunrise +2023-11-28T11:57:34.743Z sunrise 2023-11-28T12:34:35.491Z Venus perihelion at 0.7184 AU -2023-11-28T13:17:53.562Z moonset +2023-11-28T13:17:53.792Z moonset 2023-11-28T13:32:05.881Z Neptune moves from Pisces to Aquarius 2023-11-28T17:12:43.078Z Sun culminates 40.08 degrees above the horizon 2023-11-28T21:51:57.268Z Mercury moves from Ophiuchus to Sagittarius -2023-11-28T22:27:39.942Z sunset -2023-11-28T23:29:47.853Z moonrise +2023-11-28T22:27:39.881Z sunset +2023-11-28T23:29:47.665Z moonrise 2023-11-29T06:53:09.272Z Moon culminates 89.53 degrees above the horizon -2023-11-29T11:58:21.444Z sunrise -2023-11-29T14:17:20.181Z moonset +2023-11-29T11:58:21.545Z sunrise +2023-11-29T14:17:20.398Z moonset 2023-11-29T17:13:03.768Z Sun culminates 39.91 degrees above the horizon -2023-11-29T22:27:34.957Z sunset -2023-11-30T00:25:43.722Z moonrise +2023-11-29T22:27:34.893Z sunset +2023-11-30T00:25:43.508Z moonrise 2023-11-30T07:49:05.788Z Moon culminates 89.19 degrees above the horizon -2023-11-30T11:59:07.973Z sunrise -2023-11-30T15:10:14.045Z moonset +2023-11-30T11:59:08.077Z sunrise +2023-11-30T15:10:14.240Z moonset 2023-11-30T17:13:25.149Z Sun culminates 39.74 degrees above the horizon -2023-11-30T22:27:31.631Z sunset -2023-12-01T01:24:08.671Z moonrise +2023-11-30T22:27:31.565Z sunset +2023-12-01T01:24:08.450Z moonrise 2023-12-01T08:42:19.444Z Moon culminates 87.30 degrees above the horizon -2023-12-01T11:59:54.196Z sunrise -2023-12-01T15:55:55.782Z moonset +2023-12-01T11:59:54.301Z sunrise +2023-12-01T15:55:55.948Z moonset 2023-12-01T17:13:47.205Z Sun culminates 39.58 degrees above the horizon -2023-12-01T22:27:29.968Z sunset -2023-12-02T02:22:46.397Z moonrise +2023-12-01T22:27:29.899Z sunset +2023-12-02T02:22:46.201Z moonrise 2023-12-02T09:31:53.938Z Moon culminates 84.12 degrees above the horizon -2023-12-02T12:00:40.074Z sunrise -2023-12-02T16:35:02.516Z moonset +2023-12-02T12:00:40.181Z sunrise +2023-12-02T16:35:02.641Z moonset 2023-12-02T17:14:09.917Z Sun culminates 39.43 degrees above the horizon -2023-12-02T22:27:29.970Z sunset -2023-12-03T03:20:01.013Z moonrise +2023-12-02T22:27:29.899Z sunset +2023-12-03T03:20:00.878Z moonrise 2023-12-03T10:17:45.658Z Moon culminates 79.96 degrees above the horizon -2023-12-03T12:01:25.570Z sunrise -2023-12-03T17:08:52.504Z moonset +2023-12-03T12:01:25.678Z sunrise +2023-12-03T17:08:52.583Z moonset 2023-12-03T17:14:33.268Z Sun culminates 39.29 degrees above the horizon -2023-12-03T22:27:31.636Z sunset -2023-12-04T04:15:16.498Z moonrise +2023-12-03T22:27:31.563Z sunset +2023-12-04T04:15:16.432Z moonrise 2023-12-04T11:00:29.722Z Moon culminates 75.06 degrees above the horizon -2023-12-04T12:02:10.644Z sunrise +2023-12-04T12:02:10.755Z sunrise 2023-12-04T14:31:57.215Z Mercury max evening elongation: 21.27 degrees from Sun 2023-12-04T17:14:57.235Z Sun culminates 39.15 degrees above the horizon -2023-12-04T17:38:54.501Z moonset +2023-12-04T17:38:54.541Z moonset 2023-12-04T18:41:38.261Z lunar apogee at 404334 km -2023-12-04T22:27:34.963Z sunset -2023-12-05T05:08:47.057Z moonrise +2023-12-04T22:27:34.888Z sunset +2023-12-05T05:08:47.040Z moonrise 2023-12-05T05:49:58.993Z third quarter 2023-12-05T11:41:02.677Z Moon culminates 69.65 degrees above the horizon -2023-12-05T12:02:55.257Z sunrise +2023-12-05T12:02:55.369Z sunrise 2023-12-05T14:54:54.313Z Mars moves from Scorpius to Ophiuchus 2023-12-05T17:15:21.796Z Sun culminates 39.02 degrees above the horizon -2023-12-05T18:06:33.257Z moonset -2023-12-05T22:27:39.946Z sunset -2023-12-06T06:01:18.940Z moonrise -2023-12-06T12:03:39.366Z sunrise +2023-12-05T18:06:33.277Z moonset +2023-12-05T22:27:39.869Z sunset +2023-12-06T06:01:18.942Z moonrise +2023-12-06T12:03:39.479Z sunrise 2023-12-06T12:20:30.959Z Moon culminates 63.90 degrees above the horizon 2023-12-06T17:15:46.926Z Sun culminates 38.90 degrees above the horizon -2023-12-06T18:33:07.063Z moonset -2023-12-06T22:27:46.578Z sunset -2023-12-07T06:53:55.803Z moonrise -2023-12-07T12:04:22.927Z sunrise +2023-12-06T18:33:07.077Z moonset +2023-12-06T22:27:46.499Z sunset +2023-12-07T06:53:55.807Z moonrise +2023-12-07T12:04:23.042Z sunrise 2023-12-07T13:00:05.791Z Moon culminates 57.98 degrees above the horizon 2023-12-07T17:16:12.599Z Sun culminates 38.79 degrees above the horizon -2023-12-07T18:59:51.294Z moonset -2023-12-07T22:27:54.847Z sunset -2023-12-08T07:47:48.947Z moonrise -2023-12-08T12:05:05.897Z sunrise +2023-12-07T18:59:51.303Z moonset +2023-12-07T22:27:54.767Z sunset +2023-12-08T07:47:48.962Z moonrise +2023-12-08T12:05:06.013Z sunrise 2023-12-08T13:41:01.800Z Moon culminates 52.06 degrees above the horizon 2023-12-08T17:16:38.785Z Sun culminates 38.68 degrees above the horizon -2023-12-08T19:28:04.378Z moonset -2023-12-08T22:28:04.742Z sunset -2023-12-09T08:44:08.473Z moonrise -2023-12-09T12:05:48.230Z sunrise +2023-12-08T19:28:04.373Z moonset +2023-12-08T22:28:04.660Z sunset +2023-12-09T08:44:08.532Z moonrise +2023-12-09T12:05:48.348Z sunrise 2023-12-09T13:59:52.740Z Neptune moves from Aquarius to Pisces 2023-12-09T14:24:35.939Z Moon culminates 46.35 degrees above the horizon 2023-12-09T17:17:05.456Z Sun culminates 38.58 degrees above the horizon -2023-12-09T19:59:14.259Z moonset -2023-12-09T22:28:16.245Z sunset -2023-12-10T09:43:49.214Z moonrise -2023-12-10T12:06:29.881Z sunrise +2023-12-09T19:59:14.216Z moonset +2023-12-09T22:28:16.162Z sunset +2023-12-10T09:43:49.362Z moonrise +2023-12-10T12:06:30.000Z sunrise 2023-12-10T15:12:02.487Z Moon culminates 41.13 degrees above the horizon 2023-12-10T17:17:32.579Z Sun culminates 38.49 degrees above the horizon -2023-12-10T20:35:02.766Z moonset -2023-12-10T22:28:29.341Z sunset +2023-12-10T20:35:02.663Z moonset +2023-12-10T22:28:29.256Z sunset 2023-12-11T00:02:34.862Z Venus moves from Virgo to Libra -2023-12-11T10:47:05.095Z moonrise -2023-12-11T12:07:10.804Z sunrise +2023-12-11T10:47:05.340Z moonrise +2023-12-11T12:07:10.923Z sunrise 2023-12-11T16:04:18.589Z Moon culminates 36.79 degrees above the horizon 2023-12-11T17:18:00.121Z Sun culminates 38.40 degrees above the horizon -2023-12-11T21:17:21.624Z moonset -2023-12-11T22:28:44.007Z sunset -2023-12-12T11:52:52.939Z moonrise -2023-12-12T12:07:50.950Z sunrise +2023-12-11T21:17:21.452Z moonset +2023-12-11T22:28:43.921Z sunset +2023-12-12T11:52:53.235Z moonrise +2023-12-12T12:07:51.071Z sunrise 2023-12-12T17:01:36.402Z Moon culminates 33.76 degrees above the horizon 2023-12-12T17:18:28.047Z Sun culminates 38.33 degrees above the horizon -2023-12-12T22:07:48.011Z moonset -2023-12-12T22:29:00.221Z sunset +2023-12-12T22:07:47.781Z moonset +2023-12-12T22:29:00.134Z sunset 2023-12-12T23:32:34.487Z new moon -2023-12-13T12:08:30.275Z sunrise -2023-12-13T12:58:31.001Z moonrise +2023-12-13T12:08:30.397Z sunrise +2023-12-13T12:58:31.292Z moonrise 2023-12-13T17:18:56.322Z Sun culminates 38.26 degrees above the horizon 2023-12-13T18:02:50.893Z Moon culminates 32.46 degrees above the horizon -2023-12-13T22:29:17.959Z sunset -2023-12-13T23:06:50.879Z moonset -2023-12-14T12:09:08.732Z sunrise -2023-12-14T14:00:19.671Z moonrise +2023-12-13T22:29:17.871Z sunset +2023-12-13T23:06:50.602Z moonset +2023-12-14T12:09:08.854Z sunrise +2023-12-14T14:00:19.927Z moonrise 2023-12-14T17:19:24.910Z Sun culminates 38.20 degrees above the horizon 2023-12-14T19:05:35.775Z Moon culminates 33.17 degrees above the horizon -2023-12-14T22:29:37.194Z sunset -2023-12-15T00:12:55.021Z moonset -2023-12-15T12:09:46.273Z sunrise -2023-12-15T14:55:25.000Z moonrise +2023-12-14T22:29:37.105Z sunset +2023-12-15T00:12:54.721Z moonset +2023-12-15T12:09:46.396Z sunrise +2023-12-15T14:55:25.203Z moonrise 2023-12-15T17:19:53.774Z Sun culminates 38.14 degrees above the horizon 2023-12-15T20:06:56.099Z Moon culminates 35.87 degrees above the horizon -2023-12-15T22:29:57.899Z sunset -2023-12-16T01:22:34.601Z moonset -2023-12-16T12:10:22.854Z sunrise -2023-12-16T15:42:54.645Z moonrise +2023-12-15T22:29:57.810Z sunset +2023-12-16T01:22:34.335Z moonset +2023-12-16T12:10:22.977Z sunrise +2023-12-16T15:42:54.780Z moonrise 2023-12-16T17:20:22.877Z Sun culminates 38.10 degrees above the horizon 2023-12-16T18:51:18.122Z lunar perigee at 367891 km 2023-12-16T21:04:46.294Z Moon culminates 40.29 degrees above the horizon -2023-12-16T22:30:20.047Z sunset -2023-12-17T02:32:14.728Z moonset -2023-12-17T12:10:58.429Z sunrise -2023-12-17T16:23:44.189Z moonrise +2023-12-16T22:30:19.957Z sunset +2023-12-17T02:32:14.561Z moonset +2023-12-17T12:10:58.553Z sunrise +2023-12-17T16:23:44.256Z moonrise 2023-12-17T17:20:52.183Z Sun culminates 38.06 degrees above the horizon 2023-12-17T21:58:28.308Z Moon culminates 45.97 degrees above the horizon -2023-12-17T22:30:43.608Z sunset -2023-12-18T03:39:46.487Z moonset -2023-12-18T12:11:32.958Z sunrise -2023-12-18T16:59:39.750Z moonrise +2023-12-17T22:30:43.517Z sunset +2023-12-18T03:39:46.426Z moonset +2023-12-18T12:11:33.082Z sunrise +2023-12-18T16:59:39.774Z moonrise 2023-12-18T17:21:21.657Z Sun culminates 38.03 degrees above the horizon -2023-12-18T22:31:08.553Z sunset +2023-12-18T22:31:08.461Z sunset 2023-12-18T22:48:36.448Z Moon culminates 52.47 degrees above the horizon -2023-12-19T04:44:43.370Z moonset -2023-12-19T12:12:06.397Z sunrise +2023-12-19T04:44:43.363Z moonset +2023-12-19T12:12:06.522Z sunrise 2023-12-19T17:21:51.262Z Sun culminates 38.00 degrees above the horizon -2023-12-19T17:32:35.855Z moonrise +2023-12-19T17:32:35.865Z moonrise 2023-12-19T18:39:48.982Z first quarter -2023-12-19T22:31:34.851Z sunset +2023-12-19T22:31:34.759Z sunset 2023-12-19T23:36:23.783Z Moon culminates 59.35 degrees above the horizon -2023-12-20T05:47:46.362Z moonset -2023-12-20T12:12:38.710Z sunrise +2023-12-20T05:47:46.364Z moonset +2023-12-20T12:12:38.835Z sunrise 2023-12-20T17:17:07.559Z Mercury perihelion at 0.3075 AU 2023-12-20T17:22:20.964Z Sun culminates 37.99 degrees above the horizon -2023-12-20T18:04:19.948Z moonrise -2023-12-20T22:32:02.473Z sunset +2023-12-20T18:04:19.955Z moonrise +2023-12-20T22:32:02.381Z sunset 2023-12-21T00:23:16.419Z Moon culminates 66.24 degrees above the horizon -2023-12-21T06:50:03.972Z moonset -2023-12-21T12:13:09.860Z sunrise +2023-12-21T06:50:03.980Z moonset +2023-12-21T12:13:09.984Z sunrise 2023-12-21T17:22:50.731Z Sun culminates 37.98 degrees above the horizon -2023-12-21T18:36:31.933Z moonrise -2023-12-21T22:32:31.386Z sunset +2023-12-21T18:36:31.929Z moonrise +2023-12-21T22:32:31.294Z sunset 2023-12-22T01:10:38.802Z Moon culminates 72.79 degrees above the horizon 2023-12-22T03:27:34.528Z December solstice -2023-12-22T07:52:41.956Z moonset -2023-12-22T12:13:39.811Z sunrise +2023-12-22T07:52:42.005Z moonset +2023-12-22T12:13:39.936Z sunrise 2023-12-22T17:23:20.528Z Sun culminates 37.98 degrees above the horizon 2023-12-22T18:46:41.094Z Mercury inferior conjunction -2023-12-22T19:10:47.808Z moonrise -2023-12-22T22:33:01.558Z sunset +2023-12-22T19:10:47.772Z moonrise +2023-12-22T22:33:01.466Z sunset 2023-12-23T01:59:43.367Z Moon culminates 78.68 degrees above the horizon -2023-12-23T08:56:18.211Z moonset -2023-12-23T12:14:08.533Z sunrise +2023-12-23T08:56:18.337Z moonset +2023-12-23T12:14:08.658Z sunrise 2023-12-23T17:23:50.324Z Sun culminates 37.99 degrees above the horizon -2023-12-23T19:48:40.114Z moonrise -2023-12-23T22:33:32.958Z sunset +2023-12-23T19:48:40.027Z moonrise +2023-12-23T22:33:32.866Z sunset 2023-12-24T02:51:17.940Z Moon culminates 83.57 degrees above the horizon -2023-12-24T10:00:38.322Z moonset -2023-12-24T12:14:35.995Z sunrise +2023-12-24T10:00:38.520Z moonset +2023-12-24T12:14:36.119Z sunrise 2023-12-24T17:24:20.086Z Sun culminates 38.01 degrees above the horizon -2023-12-24T20:31:28.951Z moonrise -2023-12-24T22:34:05.551Z sunset +2023-12-24T20:31:28.815Z moonrise +2023-12-24T22:34:05.459Z sunset 2023-12-25T03:45:29.003Z Moon culminates 87.14 degrees above the horizon -2023-12-25T11:04:19.188Z moonset -2023-12-25T12:15:02.167Z sunrise +2023-12-25T11:04:19.416Z moonset +2023-12-25T12:15:02.291Z sunrise 2023-12-25T17:24:49.785Z Sun culminates 38.03 degrees above the horizon -2023-12-25T21:19:59.213Z moonrise -2023-12-25T22:34:39.304Z sunset +2023-12-25T21:19:59.038Z moonrise +2023-12-25T22:34:39.213Z sunset 2023-12-25T23:51:00.592Z Mercury moves from Sagittarius to Ophiuchus 2023-12-26T04:41:28.229Z Moon culminates 89.14 degrees above the horizon -2023-12-26T12:05:01.715Z moonset -2023-12-26T12:15:27.024Z sunrise +2023-12-26T12:05:01.938Z moonset +2023-12-26T12:15:27.147Z sunrise 2023-12-26T17:25:19.390Z Sun culminates 38.06 degrees above the horizon -2023-12-26T22:13:50.667Z moonrise -2023-12-26T22:35:14.184Z sunset +2023-12-26T22:13:50.462Z moonrise +2023-12-26T22:35:14.093Z sunset 2023-12-27T00:33:52.937Z full moon 2023-12-27T05:37:38.255Z Moon culminates 89.46 degrees above the horizon -2023-12-27T12:15:50.538Z sunrise -2023-12-27T13:00:23.515Z moonset +2023-12-27T12:15:50.661Z sunrise +2023-12-27T13:00:23.720Z moonset 2023-12-27T17:25:48.871Z Sun culminates 38.10 degrees above the horizon -2023-12-27T22:35:50.157Z sunset -2023-12-27T23:11:26.860Z moonrise +2023-12-27T22:35:50.066Z sunset +2023-12-27T23:11:26.638Z moonrise 2023-12-28T06:32:05.972Z Moon culminates 88.16 degrees above the horizon -2023-12-28T12:16:12.687Z sunrise -2023-12-28T13:49:00.681Z moonset +2023-12-28T12:16:12.809Z sunrise +2023-12-28T13:49:00.860Z moonset 2023-12-28T17:26:18.199Z Sun culminates 38.15 degrees above the horizon -2023-12-28T22:36:27.187Z sunset -2023-12-29T00:10:27.216Z moonrise +2023-12-28T22:36:27.097Z sunset +2023-12-29T00:10:27.006Z moonrise 2023-12-29T07:23:25.547Z Moon culminates 85.44 degrees above the horizon -2023-12-29T12:16:33.445Z sunrise -2023-12-29T14:30:50.470Z moonset +2023-12-29T12:16:33.567Z sunrise +2023-12-29T14:30:50.612Z moonset 2023-12-29T17:26:47.344Z Sun culminates 38.21 degrees above the horizon -2023-12-29T22:37:05.240Z sunset -2023-12-30T01:08:45.435Z moonrise +2023-12-29T22:37:05.151Z sunset +2023-12-30T01:08:45.274Z moonrise 2023-12-30T08:11:02.234Z Moon culminates 81.60 degrees above the horizon -2023-12-30T12:16:52.793Z sunrise -2023-12-30T15:06:49.479Z moonset +2023-12-30T12:16:52.913Z sunrise +2023-12-30T15:06:49.573Z moonset 2023-12-30T17:27:16.279Z Sun culminates 38.27 degrees above the horizon -2023-12-30T22:37:44.280Z sunset +2023-12-30T22:37:44.192Z sunset 2023-12-31T00:43:13.673Z Mars moves from Ophiuchus to Sagittarius -2023-12-31T02:05:09.743Z moonrise +2023-12-31T02:05:09.653Z moonrise 2023-12-31T08:55:09.050Z Moon culminates 76.93 degrees above the horizon -2023-12-31T12:17:10.707Z sunrise -2023-12-31T15:38:19.625Z moonset +2023-12-31T12:17:10.827Z sunrise +2023-12-31T15:38:19.677Z moonset 2023-12-31T17:27:44.973Z Sun culminates 38.34 degrees above the horizon -2023-12-31T22:38:24.270Z sunset +2023-12-31T22:38:24.182Z sunset 2023-12-31T22:55:33.449Z Venus moves from Libra to Scorpius -2024-01-01T02:59:27.255Z moonrise +2024-01-01T02:59:27.224Z moonrise 2024-01-01T09:36:30.320Z Moon culminates 71.68 degrees above the horizon -2024-01-01T12:17:27.169Z sunrise +2024-01-01T12:17:27.288Z sunrise 2024-01-01T15:29:10.138Z lunar apogee at 404897 km -2024-01-01T16:06:45.729Z moonset +2024-01-01T16:06:45.755Z moonset 2024-01-01T17:28:13.398Z Sun culminates 38.42 degrees above the horizon -2024-01-01T22:39:05.171Z sunset -2024-01-02T03:52:08.061Z moonrise +2024-01-01T22:39:05.085Z sunset +2024-01-02T03:52:08.059Z moonrise 2024-01-02T10:16:06.598Z Moon culminates 66.07 degrees above the horizon -2024-01-02T12:17:42.160Z sunrise -2024-01-02T16:33:27.411Z moonset +2024-01-02T12:17:42.277Z sunrise +2024-01-02T16:33:27.426Z moonset 2024-01-02T17:28:41.525Z Sun culminates 38.50 degrees above the horizon -2024-01-02T22:39:46.944Z sunset +2024-01-02T22:39:46.859Z sunset 2024-01-03T00:38:25.126Z Earth perihelion at 0.9833 AU 2024-01-03T03:08:48.677Z Pluto moves from Sagittarius to Capricornus -2024-01-03T04:44:07.661Z moonrise +2024-01-03T04:44:07.665Z moonrise 2024-01-03T10:55:06.120Z Moon culminates 60.25 degrees above the horizon -2024-01-03T12:17:55.660Z sunrise -2024-01-03T16:59:39.794Z moonset +2024-01-03T12:17:55.777Z sunrise +2024-01-03T16:59:39.806Z moonset 2024-01-03T17:29:09.325Z Sun culminates 38.60 degrees above the horizon -2024-01-03T22:40:29.549Z sunset +2024-01-03T22:40:29.465Z sunset 2024-01-04T03:31:10.022Z third quarter -2024-01-04T05:36:34.724Z moonrise +2024-01-04T05:36:34.732Z moonrise 2024-01-04T11:34:41.725Z Moon culminates 54.39 degrees above the horizon -2024-01-04T12:18:07.654Z sunrise -2024-01-04T17:26:38.377Z moonset +2024-01-04T12:18:07.769Z sunrise +2024-01-04T17:26:38.381Z moonset 2024-01-04T17:29:36.769Z Sun culminates 38.70 degrees above the horizon -2024-01-04T22:41:12.944Z sunset +2024-01-04T22:41:12.861Z sunset 2024-01-05T03:11:32.992Z Venus moves from Scorpius to Ophiuchus -2024-01-05T06:30:42.723Z moonrise +2024-01-05T06:30:42.759Z moonrise 2024-01-05T12:16:10.341Z Moon culminates 48.68 degrees above the horizon -2024-01-05T12:18:18.123Z sunrise +2024-01-05T12:18:18.237Z sunrise 2024-01-05T17:30:03.826Z Sun culminates 38.81 degrees above the horizon -2024-01-05T17:55:45.621Z moonset -2024-01-05T22:41:57.084Z sunset -2024-01-06T07:27:40.421Z moonrise -2024-01-06T12:18:27.053Z sunrise +2024-01-05T17:55:45.598Z moonset +2024-01-05T22:41:57.003Z sunset +2024-01-06T07:27:40.527Z moonrise +2024-01-06T12:18:27.165Z sunrise 2024-01-06T13:00:51.448Z Moon culminates 43.32 degrees above the horizon 2024-01-06T17:30:30.466Z Sun culminates 38.93 degrees above the horizon -2024-01-06T18:28:37.551Z moonset -2024-01-06T22:42:41.927Z sunset -2024-01-07T08:28:14.420Z moonrise -2024-01-07T12:18:34.428Z sunrise +2024-01-06T18:28:37.476Z moonset +2024-01-06T22:42:41.848Z sunset +2024-01-07T08:28:14.624Z moonrise +2024-01-07T12:18:34.538Z sunrise 2024-01-07T13:49:59.671Z Moon culminates 38.61 degrees above the horizon 2024-01-07T17:30:56.661Z Sun culminates 39.05 degrees above the horizon -2024-01-07T19:07:06.706Z moonset -2024-01-07T22:43:27.427Z sunset -2024-01-08T09:32:18.075Z moonrise -2024-01-08T12:18:40.235Z sunrise +2024-01-07T19:07:06.565Z moonset +2024-01-07T22:43:27.349Z sunset +2024-01-08T09:32:18.355Z moonrise +2024-01-08T12:18:40.344Z sunrise 2024-01-08T14:44:25.129Z Moon culminates 34.96 degrees above the horizon 2024-01-08T17:31:22.379Z Sun culminates 39.18 degrees above the horizon -2024-01-08T19:53:12.194Z moonset -2024-01-08T22:44:13.536Z sunset -2024-01-09T10:38:13.958Z moonrise -2024-01-09T12:18:44.461Z sunrise +2024-01-08T19:53:11.989Z moonset +2024-01-08T22:44:13.460Z sunset +2024-01-09T10:38:14.257Z moonrise +2024-01-09T12:18:44.568Z sunrise 2024-01-09T15:43:59.382Z Moon culminates 32.81 degrees above the horizon 2024-01-09T17:31:47.591Z Sun culminates 39.32 degrees above the horizon -2024-01-09T20:48:21.522Z moonset -2024-01-09T22:45:00.209Z sunset -2024-01-10T11:42:47.863Z moonrise -2024-01-10T12:18:47.095Z sunrise +2024-01-09T20:48:21.264Z moonset +2024-01-09T22:45:00.135Z sunset +2024-01-10T11:42:48.138Z moonrise +2024-01-10T12:18:47.201Z sunrise 2024-01-10T13:53:45.071Z Mercury moves from Ophiuchus to Sagittarius 2024-01-10T16:47:04.417Z Moon culminates 32.57 degrees above the horizon 2024-01-10T17:32:12.269Z Sun culminates 39.46 degrees above the horizon -2024-01-10T21:52:22.281Z moonset -2024-01-10T22:45:47.397Z sunset +2024-01-10T21:52:21.984Z moonset +2024-01-10T22:45:47.326Z sunset 2024-01-11T11:57:57.262Z new moon -2024-01-11T12:18:48.127Z sunrise -2024-01-11T12:42:19.571Z moonrise +2024-01-11T12:18:48.230Z sunrise +2024-01-11T12:42:19.798Z moonrise 2024-01-11T17:32:36.382Z Sun culminates 39.62 degrees above the horizon 2024-01-11T17:50:46.229Z Moon culminates 34.45 degrees above the horizon -2024-01-11T22:46:35.054Z sunset -2024-01-11T23:02:36.959Z moonset -2024-01-12T12:18:47.546Z sunrise -2024-01-12T13:34:33.952Z moonrise +2024-01-11T22:46:34.985Z sunset +2024-01-11T23:02:36.665Z moonset +2024-01-12T12:18:47.648Z sunrise +2024-01-12T13:34:34.114Z moonrise 2024-01-12T14:40:14.154Z Mercury max morning elongation: 23.50 degrees from Sun 2024-01-12T17:32:59.904Z Sun culminates 39.78 degrees above the horizon 2024-01-12T18:52:08.903Z Moon culminates 38.31 degrees above the horizon -2024-01-12T22:47:23.133Z sunset -2024-01-13T00:15:00.322Z moonset +2024-01-12T22:47:23.066Z sunset +2024-01-13T00:15:00.106Z moonset 2024-01-13T10:35:40.379Z lunar perigee at 362256 km -2024-01-13T12:18:45.346Z sunrise -2024-01-13T14:19:26.264Z moonrise +2024-01-13T12:18:45.445Z sunrise +2024-01-13T14:19:26.352Z moonrise 2024-01-13T17:33:22.808Z Sun culminates 39.94 degrees above the horizon 2024-01-13T19:49:31.319Z Moon culminates 43.75 degrees above the horizon -2024-01-13T22:48:11.589Z sunset -2024-01-14T01:26:06.705Z moonset -2024-01-14T12:18:41.520Z sunrise -2024-01-14T14:58:20.955Z moonrise +2024-01-13T22:48:11.524Z sunset +2024-01-14T01:26:06.609Z moonset +2024-01-14T12:18:41.618Z sunrise +2024-01-14T14:58:20.989Z moonrise 2024-01-14T17:33:45.068Z Sun culminates 40.12 degrees above the horizon 2024-01-14T20:42:44.983Z Moon culminates 50.25 degrees above the horizon -2024-01-14T22:49:00.376Z sunset -2024-01-15T02:34:23.235Z moonset -2024-01-15T12:18:36.065Z sunrise -2024-01-15T15:33:13.478Z moonrise +2024-01-14T22:49:00.314Z sunset +2024-01-15T02:34:23.216Z moonset +2024-01-15T12:18:36.160Z sunrise +2024-01-15T15:33:13.490Z moonrise 2024-01-15T17:34:06.662Z Sun culminates 40.30 degrees above the horizon 2024-01-15T21:32:44.474Z Moon culminates 57.27 degrees above the horizon -2024-01-15T22:49:49.452Z sunset -2024-01-16T03:39:55.475Z moonset -2024-01-16T12:18:28.979Z sunrise -2024-01-16T16:05:58.431Z moonrise +2024-01-15T22:49:49.393Z sunset +2024-01-16T03:39:55.476Z moonset +2024-01-16T12:18:29.072Z sunrise +2024-01-16T16:05:58.438Z moonrise 2024-01-16T17:34:27.567Z Sun culminates 40.48 degrees above the horizon 2024-01-16T22:20:51.990Z Moon culminates 64.36 degrees above the horizon -2024-01-16T22:50:38.776Z sunset -2024-01-17T04:43:40.388Z moonset -2024-01-17T12:18:20.264Z sunrise +2024-01-16T22:50:38.720Z sunset +2024-01-17T04:43:40.392Z moonset +2024-01-17T12:18:20.354Z sunrise 2024-01-17T16:38:21.438Z moonrise 2024-01-17T17:34:47.766Z Sun culminates 40.68 degrees above the horizon -2024-01-17T22:51:28.308Z sunset +2024-01-17T22:51:28.255Z sunset 2024-01-17T23:08:34.334Z Moon culminates 71.13 degrees above the horizon 2024-01-18T03:53:11.286Z first quarter -2024-01-18T05:46:46.083Z moonset -2024-01-18T12:18:09.922Z sunrise -2024-01-18T17:12:01.084Z moonrise +2024-01-18T05:46:46.117Z moonset +2024-01-18T12:18:10.010Z sunrise +2024-01-18T17:12:01.058Z moonrise 2024-01-18T17:35:07.240Z Sun culminates 40.88 degrees above the horizon -2024-01-18T22:52:18.009Z sunset +2024-01-18T22:52:17.959Z sunset 2024-01-18T23:57:09.669Z Moon culminates 77.25 degrees above the horizon -2024-01-19T06:50:02.913Z moonset -2024-01-19T12:17:57.961Z sunrise +2024-01-19T06:50:03.017Z moonset +2024-01-19T12:17:58.047Z sunrise 2024-01-19T17:35:25.974Z Sun culminates 41.09 degrees above the horizon -2024-01-19T17:48:31.140Z moonrise -2024-01-19T22:53:07.843Z sunset +2024-01-19T17:48:31.068Z moonrise +2024-01-19T22:53:07.795Z sunset 2024-01-20T00:47:36.430Z Moon culminates 82.41 degrees above the horizon -2024-01-20T07:53:39.876Z moonset -2024-01-20T12:17:44.388Z sunrise +2024-01-20T07:53:40.058Z moonset +2024-01-20T12:17:44.471Z sunrise 2024-01-20T12:54:56.546Z Venus moves from Ophiuchus to Sagittarius 2024-01-20T13:46:32.352Z Pluto conjunction 2024-01-20T17:35:43.954Z Sun culminates 41.30 degrees above the horizon -2024-01-20T18:29:16.446Z moonrise -2024-01-20T22:53:57.774Z sunset +2024-01-20T18:29:16.322Z moonrise +2024-01-20T22:53:57.730Z sunset 2024-01-21T01:40:19.865Z Moon culminates 86.33 degrees above the horizon -2024-01-21T08:56:46.978Z moonset -2024-01-21T12:17:29.213Z sunrise +2024-01-21T08:56:47.203Z moonset +2024-01-21T12:17:29.294Z sunrise 2024-01-21T17:36:01.171Z Sun culminates 41.52 degrees above the horizon -2024-01-21T19:15:17.301Z moonrise -2024-01-21T22:54:47.770Z sunset +2024-01-21T19:15:17.136Z moonrise +2024-01-21T22:54:47.729Z sunset 2024-01-22T02:34:58.635Z Moon culminates 88.78 degrees above the horizon -2024-01-22T09:57:36.751Z moonset -2024-01-22T12:17:12.449Z sunrise +2024-01-22T09:57:36.980Z moonset +2024-01-22T12:17:12.527Z sunrise 2024-01-22T17:36:17.612Z Sun culminates 41.74 degrees above the horizon -2024-01-22T20:06:43.425Z moonrise -2024-01-22T22:55:37.799Z sunset +2024-01-22T20:06:43.228Z moonrise +2024-01-22T22:55:37.761Z sunset 2024-01-23T03:30:22.408Z Moon culminates 89.61 degrees above the horizon -2024-01-23T10:53:59.022Z moonset -2024-01-23T12:16:54.109Z sunrise +2024-01-23T10:53:59.235Z moonset +2024-01-23T12:16:54.185Z sunrise 2024-01-23T17:36:33.272Z Sun culminates 41.98 degrees above the horizon -2024-01-23T21:02:33.949Z moonrise -2024-01-23T22:56:27.832Z sunset +2024-01-23T21:02:33.730Z moonrise +2024-01-23T22:56:27.798Z sunset 2024-01-24T04:24:51.774Z Moon culminates 88.83 degrees above the horizon -2024-01-24T11:44:16.250Z moonset -2024-01-24T12:16:34.208Z sunrise +2024-01-24T11:44:16.440Z moonset +2024-01-24T12:16:34.281Z sunrise 2024-01-24T17:36:48.144Z Sun culminates 42.21 degrees above the horizon -2024-01-24T22:00:49.491Z moonrise -2024-01-24T22:57:17.843Z sunset +2024-01-24T22:00:49.272Z moonrise +2024-01-24T22:57:17.812Z sunset 2024-01-25T05:16:55.008Z Moon culminates 86.57 degrees above the horizon -2024-01-25T12:16:12.763Z sunrise -2024-01-25T12:27:59.361Z moonset +2024-01-25T12:16:12.833Z sunrise +2024-01-25T12:27:59.517Z moonset 2024-01-25T17:37:02.223Z Sun culminates 42.46 degrees above the horizon 2024-01-25T17:54:44.610Z full moon -2024-01-25T22:58:07.805Z sunset -2024-01-25T22:59:18.984Z moonrise +2024-01-25T22:58:07.778Z sunset +2024-01-25T22:59:18.801Z moonrise 2024-01-26T06:05:38.555Z Moon culminates 83.08 degrees above the horizon -2024-01-26T12:15:49.790Z sunrise -2024-01-26T13:05:42.488Z moonset +2024-01-26T12:15:49.857Z sunrise +2024-01-26T13:05:42.600Z moonset 2024-01-26T17:37:15.507Z Sun culminates 42.71 degrees above the horizon -2024-01-26T22:58:57.694Z sunset -2024-01-26T23:56:27.642Z moonrise +2024-01-26T22:58:57.671Z sunset +2024-01-26T23:56:27.526Z moonrise 2024-01-27T06:50:54.794Z Moon culminates 78.65 degrees above the horizon -2024-01-27T12:15:25.309Z sunrise -2024-01-27T13:38:34.837Z moonset +2024-01-27T12:15:25.373Z sunrise +2024-01-27T13:38:34.903Z moonset 2024-01-27T17:37:27.991Z Sun culminates 42.96 degrees above the horizon -2024-01-27T22:59:47.489Z sunset -2024-01-28T00:51:35.990Z moonrise +2024-01-27T22:59:47.470Z sunset +2024-01-28T00:51:35.942Z moonrise 2024-01-28T07:33:11.848Z Moon culminates 73.55 degrees above the horizon -2024-01-28T12:14:59.338Z sunrise -2024-01-28T14:07:55.727Z moonset +2024-01-28T12:14:59.399Z sunrise +2024-01-28T14:07:55.760Z moonset 2024-01-28T17:37:39.677Z Sun culminates 43.22 degrees above the horizon -2024-01-28T23:00:37.168Z sunset -2024-01-29T01:44:52.393Z moonrise +2024-01-28T23:00:37.152Z sunset +2024-01-29T01:44:52.384Z moonrise 2024-01-29T08:13:19.068Z Moon culminates 68.01 degrees above the horizon 2024-01-29T08:15:12.366Z lunar apogee at 405765 km -2024-01-29T12:14:31.897Z sunrise -2024-01-29T14:35:02.230Z moonset +2024-01-29T12:14:31.956Z sunrise +2024-01-29T14:35:02.248Z moonset 2024-01-29T17:37:50.563Z Sun culminates 43.49 degrees above the horizon -2024-01-29T23:01:26.709Z sunset -2024-01-30T02:36:56.735Z moonrise +2024-01-29T23:01:26.697Z sunset +2024-01-30T02:36:56.739Z moonrise 2024-01-30T08:52:16.564Z Moon culminates 62.23 degrees above the horizon -2024-01-30T12:14:03.006Z sunrise -2024-01-30T15:01:06.758Z moonset +2024-01-30T12:14:03.063Z sunrise +2024-01-30T15:01:06.771Z moonset 2024-01-30T17:38:00.649Z Sun culminates 43.76 degrees above the horizon -2024-01-30T23:02:16.093Z sunset -2024-01-31T03:28:46.632Z moonrise +2024-01-30T23:02:16.085Z sunset +2024-01-31T03:28:46.638Z moonrise 2024-01-31T09:31:10.161Z Moon culminates 56.40 degrees above the horizon -2024-01-31T12:13:32.687Z sunrise -2024-01-31T15:27:20.003Z moonset +2024-01-31T12:13:32.741Z sunrise +2024-01-31T15:27:20.011Z moonset 2024-01-31T17:38:09.935Z Sun culminates 44.04 degrees above the horizon -2024-01-31T23:03:05.300Z sunset -2024-02-01T04:21:28.112Z moonrise +2024-01-31T23:03:05.296Z sunset +2024-02-01T04:21:28.134Z moonrise 2024-02-01T10:11:09.932Z Moon culminates 50.67 degrees above the horizon -2024-02-01T12:13:00.960Z sunrise -2024-02-01T15:54:56.336Z moonset +2024-02-01T12:13:01.011Z sunrise +2024-02-01T15:54:56.326Z moonset 2024-02-01T17:38:18.424Z Sun culminates 44.32 degrees above the horizon -2024-02-01T23:03:54.312Z sunset -2024-02-02T05:16:07.810Z moonrise +2024-02-01T23:03:54.311Z sunset +2024-02-02T05:16:07.885Z moonrise 2024-02-02T10:53:29.598Z Moon culminates 45.25 degrees above the horizon -2024-02-02T12:12:27.846Z sunrise -2024-02-02T16:25:20.119Z moonset +2024-02-02T12:12:27.895Z sunrise +2024-02-02T16:25:20.067Z moonset 2024-02-02T16:54:37.919Z Mercury aphelion at 0.4667 AU 2024-02-02T17:38:26.115Z Sun culminates 44.61 degrees above the horizon -2024-02-02T23:04:43.108Z sunset +2024-02-02T23:04:43.111Z sunset 2024-02-02T23:18:40.024Z third quarter -2024-02-03T06:13:41.650Z moonrise +2024-02-03T06:13:41.814Z moonrise 2024-02-03T11:39:23.388Z Moon culminates 40.35 degrees above the horizon -2024-02-03T12:11:53.367Z sunrise -2024-02-03T17:00:11.002Z moonset +2024-02-03T12:11:53.413Z sunrise +2024-02-03T17:00:10.888Z moonset 2024-02-03T17:38:33.011Z Sun culminates 44.90 degrees above the horizon -2024-02-03T23:05:31.669Z sunset -2024-02-04T07:14:34.307Z moonrise -2024-02-04T12:11:17.543Z sunrise +2024-02-03T23:05:31.676Z sunset +2024-02-04T07:14:34.561Z moonrise +2024-02-04T12:11:17.586Z sunrise 2024-02-04T12:29:55.552Z Moon culminates 36.30 degrees above the horizon 2024-02-04T17:38:39.111Z Sun culminates 45.19 degrees above the horizon -2024-02-04T17:41:23.224Z moonset -2024-02-04T23:06:19.978Z sunset +2024-02-04T17:41:23.045Z moonset +2024-02-04T23:06:19.989Z sunset 2024-02-05T00:25:21.968Z Mercury moves from Sagittarius to Capricornus -2024-02-05T08:18:07.995Z moonrise -2024-02-05T12:10:40.396Z sunrise +2024-02-05T08:18:08.294Z moonrise +2024-02-05T12:10:40.437Z sunrise 2024-02-05T13:25:37.564Z Moon culminates 33.47 degrees above the horizon 2024-02-05T17:38:44.417Z Sun culminates 45.50 degrees above the horizon -2024-02-05T18:30:47.802Z moonset -2024-02-05T23:07:08.016Z sunset -2024-02-06T09:22:16.650Z moonrise -2024-02-06T12:10:01.947Z sunrise +2024-02-05T18:30:47.567Z moonset +2024-02-05T23:07:08.030Z sunset +2024-02-06T09:22:16.941Z moonrise +2024-02-06T12:10:01.986Z sunrise 2024-02-06T14:25:55.831Z Moon culminates 32.29 degrees above the horizon 2024-02-06T17:38:48.932Z Sun culminates 45.80 degrees above the horizon -2024-02-06T19:29:24.658Z moonset -2024-02-06T23:07:55.763Z sunset -2024-02-07T10:23:45.691Z moonrise -2024-02-07T12:09:22.218Z sunrise +2024-02-06T19:29:24.377Z moonset +2024-02-06T23:07:55.781Z sunset +2024-02-07T10:23:45.945Z moonrise +2024-02-07T12:09:22.254Z sunrise 2024-02-07T15:28:53.727Z Moon culminates 33.10 degrees above the horizon 2024-02-07T17:38:52.656Z Sun culminates 46.11 degrees above the horizon -2024-02-07T20:36:17.641Z moonset -2024-02-07T23:08:43.201Z sunset -2024-02-08T11:19:36.250Z moonrise -2024-02-08T12:08:41.230Z sunrise +2024-02-07T20:36:17.335Z moonset +2024-02-07T23:08:43.223Z sunset +2024-02-08T11:19:36.449Z moonrise +2024-02-08T12:08:41.263Z sunrise 2024-02-08T16:31:43.102Z Moon culminates 36.00 degrees above the horizon 2024-02-08T17:38:55.591Z Sun culminates 46.43 degrees above the horizon -2024-02-08T21:48:19.314Z moonset -2024-02-08T23:09:30.315Z sunset -2024-02-09T12:07:59.004Z sunrise -2024-02-09T12:08:30.184Z moonrise +2024-02-08T21:48:19.045Z moonset +2024-02-08T23:09:30.340Z sunset +2024-02-09T12:07:59.035Z sunrise +2024-02-09T12:08:30.309Z moonrise 2024-02-09T17:31:58.700Z Moon culminates 40.79 degrees above the horizon 2024-02-09T17:38:57.739Z Sun culminates 46.75 degrees above the horizon 2024-02-09T22:59:43.176Z new moon -2024-02-09T23:01:36.034Z moonset -2024-02-09T23:10:17.085Z sunset -2024-02-10T12:07:15.561Z sunrise -2024-02-10T12:50:59.701Z moonrise +2024-02-09T23:01:35.876Z moonset +2024-02-09T23:10:17.114Z sunset +2024-02-10T12:07:15.590Z sunrise +2024-02-10T12:50:59.756Z moonrise 2024-02-10T17:38:59.105Z Sun culminates 47.07 degrees above the horizon 2024-02-10T18:28:34.191Z Moon culminates 47.02 degrees above the horizon 2024-02-10T18:53:03.142Z lunar perigee at 358079 km -2024-02-10T23:11:03.499Z sunset -2024-02-11T00:13:21.310Z moonset -2024-02-11T12:06:30.924Z sunrise -2024-02-11T13:28:39.900Z moonrise +2024-02-10T23:11:03.531Z sunset +2024-02-11T00:13:21.263Z moonset +2024-02-11T12:06:30.950Z sunrise +2024-02-11T13:28:39.917Z moonrise 2024-02-11T17:38:59.690Z Sun culminates 47.40 degrees above the horizon 2024-02-11T19:21:43.040Z Moon culminates 54.13 degrees above the horizon -2024-02-11T23:11:49.542Z sunset -2024-02-12T01:22:36.678Z moonset -2024-02-12T12:05:45.113Z sunrise -2024-02-12T14:03:23.602Z moonrise +2024-02-11T23:11:49.578Z sunset +2024-02-12T01:22:36.675Z moonset +2024-02-12T12:05:45.138Z sunrise +2024-02-12T14:03:23.609Z moonrise 2024-02-12T17:38:59.502Z Sun culminates 47.73 degrees above the horizon 2024-02-12T20:12:27.390Z Moon culminates 61.56 degrees above the horizon -2024-02-12T23:12:35.202Z sunset +2024-02-12T23:12:35.241Z sunset 2024-02-12T23:46:11.995Z Mars moves from Sagittarius to Capricornus -2024-02-13T02:29:42.892Z moonset -2024-02-13T12:04:58.153Z sunrise -2024-02-13T14:37:00.563Z moonrise +2024-02-13T02:29:42.894Z moonset +2024-02-13T12:04:58.176Z sunrise +2024-02-13T14:37:00.567Z moonrise 2024-02-13T17:38:58.545Z Sun culminates 48.06 degrees above the horizon 2024-02-13T21:02:07.475Z Moon culminates 68.80 degrees above the horizon -2024-02-13T23:13:20.470Z sunset -2024-02-14T03:35:33.725Z moonset -2024-02-14T12:04:10.067Z sunrise -2024-02-14T15:11:13.365Z moonrise +2024-02-13T23:13:20.512Z sunset +2024-02-14T03:35:33.744Z moonset +2024-02-14T12:04:10.088Z sunrise +2024-02-14T15:11:13.350Z moonrise 2024-02-14T17:38:56.828Z Sun culminates 48.40 degrees above the horizon 2024-02-14T21:52:01.432Z Moon culminates 75.44 degrees above the horizon -2024-02-14T23:14:05.335Z sunset -2024-02-15T04:40:58.117Z moonset -2024-02-15T12:03:20.881Z sunrise -2024-02-15T15:47:38.251Z moonrise +2024-02-14T23:14:05.381Z sunset +2024-02-15T04:40:58.197Z moonset +2024-02-15T12:03:20.900Z sunrise +2024-02-15T15:47:38.194Z moonrise 2024-02-15T17:38:54.359Z Sun culminates 48.74 degrees above the horizon 2024-02-15T22:43:11.177Z Moon culminates 81.10 degrees above the horizon -2024-02-15T23:14:49.793Z sunset -2024-02-16T05:46:11.679Z moonset -2024-02-16T12:02:30.621Z sunrise +2024-02-15T23:14:49.841Z sunset +2024-02-16T05:46:11.843Z moonset +2024-02-16T12:02:30.638Z sunrise 2024-02-16T15:01:32.900Z first quarter 2024-02-16T15:22:12.005Z Venus moves from Sagittarius to Capricornus -2024-02-16T16:27:42.482Z moonrise +2024-02-16T16:27:42.372Z moonrise 2024-02-16T17:38:51.150Z Sun culminates 49.09 degrees above the horizon -2024-02-16T23:15:33.836Z sunset +2024-02-16T23:15:33.888Z sunset 2024-02-16T23:36:08.973Z Moon culminates 85.51 degrees above the horizon -2024-02-17T06:50:36.844Z moonset -2024-02-17T12:01:39.314Z sunrise -2024-02-17T17:12:32.463Z moonrise +2024-02-17T06:50:37.064Z moonset +2024-02-17T12:01:39.329Z sunrise +2024-02-17T17:12:32.307Z moonrise 2024-02-17T17:38:47.212Z Sun culminates 49.43 degrees above the horizon -2024-02-17T23:16:17.462Z sunset +2024-02-17T23:16:17.516Z sunset 2024-02-18T00:30:44.999Z Moon culminates 88.42 degrees above the horizon -2024-02-18T07:52:40.882Z moonset -2024-02-18T12:00:46.988Z sunrise +2024-02-18T07:52:41.115Z moonset +2024-02-18T12:00:47.002Z sunrise 2024-02-18T17:38:42.557Z Sun culminates 49.79 degrees above the horizon -2024-02-18T18:02:31.883Z moonrise -2024-02-18T23:17:00.668Z sunset +2024-02-18T18:02:31.693Z moonrise +2024-02-18T23:17:00.725Z sunset 2024-02-19T01:26:03.796Z Moon culminates 89.72 degrees above the horizon -2024-02-19T08:50:23.973Z moonset -2024-02-19T11:59:53.672Z sunrise +2024-02-19T08:50:24.193Z moonset +2024-02-19T11:59:53.685Z sunrise 2024-02-19T17:38:37.201Z Sun culminates 50.14 degrees above the horizon -2024-02-19T18:57:01.363Z moonrise -2024-02-19T23:17:43.455Z sunset +2024-02-19T18:57:01.148Z moonrise +2024-02-19T23:17:43.515Z sunset 2024-02-20T02:20:39.168Z Moon culminates 89.39 degrees above the horizon -2024-02-20T09:42:09.180Z moonset -2024-02-20T11:58:59.396Z sunrise +2024-02-20T09:42:09.379Z moonset +2024-02-20T11:58:59.407Z sunrise 2024-02-20T17:38:31.159Z Sun culminates 50.50 degrees above the horizon -2024-02-20T19:54:21.989Z moonrise -2024-02-20T23:18:25.826Z sunset +2024-02-20T19:54:21.765Z moonrise +2024-02-20T23:18:25.889Z sunset 2024-02-21T03:13:05.257Z Moon culminates 87.55 degrees above the horizon -2024-02-21T10:27:20.188Z moonset -2024-02-21T11:58:04.188Z sunrise +2024-02-21T10:27:20.359Z moonset +2024-02-21T11:58:04.198Z sunrise 2024-02-21T15:52:48.393Z Mercury moves from Capricornus to Aquarius 2024-02-21T17:38:24.448Z Sun culminates 50.86 degrees above the horizon -2024-02-21T20:52:31.612Z moonrise -2024-02-21T23:19:07.784Z sunset +2024-02-21T20:52:31.412Z moonrise +2024-02-21T23:19:07.849Z sunset 2024-02-22T04:02:25.849Z Moon culminates 84.42 degrees above the horizon -2024-02-22T11:06:22.546Z moonset -2024-02-22T11:57:08.081Z sunrise +2024-02-22T11:06:22.676Z moonset +2024-02-22T11:57:08.090Z sunrise 2024-02-22T17:38:17.085Z Sun culminates 51.22 degrees above the horizon -2024-02-22T21:49:50.600Z moonrise -2024-02-22T23:19:49.335Z sunset +2024-02-22T21:49:50.459Z moonrise +2024-02-22T23:19:49.403Z sunset 2024-02-23T04:48:25.697Z Moon culminates 80.25 degrees above the horizon -2024-02-23T11:40:19.703Z moonset -2024-02-23T11:56:11.105Z sunrise +2024-02-23T11:40:19.783Z moonset +2024-02-23T11:56:11.112Z sunrise 2024-02-23T17:38:09.091Z Sun culminates 51.59 degrees above the horizon -2024-02-23T22:45:26.840Z moonrise -2024-02-23T23:20:30.486Z sunset +2024-02-23T22:45:26.771Z moonrise +2024-02-23T23:20:30.556Z sunset 2024-02-24T05:31:24.418Z Moon culminates 75.33 degrees above the horizon -2024-02-24T11:55:13.290Z sunrise -2024-02-24T12:10:28.169Z moonset +2024-02-24T11:55:13.297Z sunrise +2024-02-24T12:10:28.211Z moonset 2024-02-24T12:31:11.515Z full moon 2024-02-24T17:38:00.484Z Sun culminates 51.95 degrees above the horizon -2024-02-24T23:21:11.246Z sunset -2024-02-24T23:39:14.750Z moonrise +2024-02-24T23:21:11.318Z sunset +2024-02-24T23:39:14.732Z moonrise 2024-02-25T06:12:03.867Z Moon culminates 69.88 degrees above the horizon -2024-02-25T11:54:14.668Z sunrise -2024-02-25T12:38:03.490Z moonset +2024-02-25T11:54:14.674Z sunrise +2024-02-25T12:38:03.511Z moonset 2024-02-25T14:58:43.154Z lunar apogee at 406301 km 2024-02-25T17:37:51.284Z Sun culminates 52.32 degrees above the horizon -2024-02-25T23:21:51.623Z sunset -2024-02-26T00:31:41.849Z moonrise +2024-02-25T23:21:51.697Z sunset +2024-02-26T00:31:41.851Z moonrise 2024-02-26T06:51:17.573Z Moon culminates 64.12 degrees above the horizon -2024-02-26T11:53:15.271Z sunrise -2024-02-26T13:04:16.152Z moonset +2024-02-26T11:53:15.275Z sunrise +2024-02-26T13:04:16.166Z moonset 2024-02-26T17:37:41.513Z Sun culminates 52.70 degrees above the horizon -2024-02-26T23:22:31.628Z sunset -2024-02-27T01:23:35.103Z moonrise +2024-02-26T23:22:31.704Z sunset +2024-02-27T01:23:35.108Z moonrise 2024-02-27T07:30:04.810Z Moon culminates 58.25 degrees above the horizon -2024-02-27T11:52:15.128Z sunrise -2024-02-27T13:30:13.247Z moonset +2024-02-27T11:52:15.133Z sunrise +2024-02-27T13:30:13.258Z moonset 2024-02-27T17:37:31.190Z Sun culminates 53.07 degrees above the horizon -2024-02-27T23:23:11.270Z sunset -2024-02-28T02:15:51.031Z moonrise +2024-02-27T23:23:11.348Z sunset +2024-02-28T02:15:51.045Z moonrise 2024-02-28T08:09:28.304Z Moon culminates 52.45 degrees above the horizon 2024-02-28T08:26:13.159Z Mercury superior conjunction -2024-02-28T11:51:14.273Z sunrise -2024-02-28T13:57:02.808Z moonset +2024-02-28T11:51:14.276Z sunrise +2024-02-28T13:57:02.805Z moonset 2024-02-28T17:37:20.336Z Sun culminates 53.45 degrees above the horizon 2024-02-28T21:26:07.297Z Saturn conjunction -2024-02-28T23:23:50.560Z sunset -2024-02-29T03:09:28.147Z moonrise +2024-02-28T23:23:50.640Z sunset +2024-02-29T03:09:28.201Z moonrise 2024-02-29T08:50:33.419Z Moon culminates 46.91 degrees above the horizon -2024-02-29T11:50:12.733Z sunrise -2024-02-29T14:25:59.169Z moonset +2024-02-29T11:50:12.736Z sunrise +2024-02-29T14:25:59.133Z moonset 2024-02-29T17:37:08.972Z Sun culminates 53.83 degrees above the horizon -2024-02-29T23:24:29.508Z sunset -2024-03-01T04:05:18.072Z moonrise +2024-02-29T23:24:29.590Z sunset +2024-03-01T04:05:18.206Z moonrise 2024-03-01T09:34:26.222Z Moon culminates 41.85 degrees above the horizon -2024-03-01T11:49:10.541Z sunrise -2024-03-01T14:58:27.951Z moonset +2024-03-01T11:49:10.544Z sunrise +2024-03-01T14:58:27.859Z moonset 2024-03-01T17:36:57.118Z Sun culminates 54.21 degrees above the horizon -2024-03-01T23:25:08.125Z sunset -2024-03-02T05:03:51.010Z moonrise +2024-03-01T23:25:08.208Z sunset +2024-03-02T05:03:51.238Z moonrise 2024-03-02T10:22:07.131Z Moon culminates 37.53 degrees above the horizon -2024-03-02T11:48:07.726Z sunrise -2024-03-02T15:36:07.781Z moonset +2024-03-02T11:48:07.728Z sunrise +2024-03-02T15:36:07.624Z moonset 2024-03-02T17:36:44.793Z Sun culminates 54.59 degrees above the horizon -2024-03-02T23:25:46.419Z sunset -2024-03-03T06:04:53.328Z moonrise +2024-03-02T23:25:46.503Z sunset +2024-03-03T06:04:53.618Z moonrise 2024-03-03T11:14:16.511Z Moon culminates 34.26 degrees above the horizon -2024-03-03T11:47:04.316Z sunrise +2024-03-03T11:47:04.318Z sunrise 2024-03-03T15:24:07.707Z third quarter -2024-03-03T16:20:42.153Z moonset +2024-03-03T16:20:41.940Z moonset 2024-03-03T17:36:32.016Z Sun culminates 54.97 degrees above the horizon -2024-03-03T23:26:24.399Z sunset -2024-03-04T07:07:04.368Z moonrise -2024-03-04T11:46:00.341Z sunrise +2024-03-03T23:26:24.484Z sunset +2024-03-04T07:07:04.669Z moonrise +2024-03-04T11:46:00.342Z sunrise 2024-03-04T12:10:51.786Z Moon culminates 32.41 degrees above the horizon -2024-03-04T17:13:31.392Z moonset +2024-03-04T17:13:31.131Z moonset 2024-03-04T17:36:18.806Z Sun culminates 55.36 degrees above the horizon -2024-03-04T23:27:02.074Z sunset -2024-03-05T08:07:56.701Z moonrise -2024-03-05T11:44:55.829Z sunrise +2024-03-04T23:27:02.161Z sunset +2024-03-05T08:07:56.977Z moonrise +2024-03-05T11:44:55.830Z sunrise 2024-03-05T13:10:46.944Z Moon culminates 32.31 degrees above the horizon 2024-03-05T17:36:05.181Z Sun culminates 55.75 degrees above the horizon -2024-03-05T18:14:43.377Z moonset -2024-03-05T23:27:39.451Z sunset -2024-03-06T09:04:44.610Z moonrise -2024-03-06T11:43:50.807Z sunrise +2024-03-05T18:14:43.079Z moonset +2024-03-05T23:27:39.539Z sunset +2024-03-06T09:04:44.842Z moonrise +2024-03-06T11:43:50.907Z sunrise 2024-03-06T14:11:58.540Z Moon culminates 34.16 degrees above the horizon 2024-03-06T17:35:51.158Z Sun culminates 56.14 degrees above the horizon -2024-03-06T19:22:35.381Z moonset -2024-03-06T23:28:16.537Z sunset +2024-03-06T19:22:35.082Z moonset +2024-03-06T23:28:16.627Z sunset 2024-03-07T05:20:57.888Z Mercury moves from Aquarius to Pisces -2024-03-07T09:55:39.245Z moonrise -2024-03-07T11:42:45.302Z sunrise +2024-03-07T09:55:39.414Z moonrise +2024-03-07T11:42:45.401Z sunrise 2024-03-07T15:12:10.912Z Moon culminates 37.96 degrees above the horizon 2024-03-07T17:35:36.753Z Sun culminates 56.52 degrees above the horizon -2024-03-07T20:34:01.487Z moonset -2024-03-07T23:28:53.339Z sunset -2024-03-08T10:40:27.328Z moonrise -2024-03-08T11:41:39.340Z sunrise +2024-03-07T20:34:01.261Z moonset +2024-03-07T23:28:53.430Z sunset +2024-03-08T10:40:27.420Z moonrise +2024-03-08T11:41:39.438Z sunrise 2024-03-08T16:09:52.524Z Moon culminates 43.44 degrees above the horizon 2024-03-08T17:35:21.984Z Sun culminates 56.92 degrees above the horizon -2024-03-08T21:46:01.241Z moonset -2024-03-08T23:29:29.864Z sunset -2024-03-09T11:20:11.690Z moonrise -2024-03-09T11:40:32.948Z sunrise +2024-03-08T21:46:01.137Z moonset +2024-03-08T23:29:29.956Z sunset +2024-03-09T11:20:11.723Z moonrise +2024-03-09T11:40:33.045Z sunrise 2024-03-09T17:04:41.295Z Moon culminates 50.18 degrees above the horizon 2024-03-09T17:35:06.867Z Sun culminates 57.31 degrees above the horizon 2024-03-09T20:31:08.282Z Venus moves from Capricornus to Aquarius -2024-03-09T22:56:50.883Z moonset -2024-03-09T23:30:06.119Z sunset +2024-03-09T22:56:50.864Z moonset +2024-03-09T23:30:06.211Z sunset 2024-03-10T07:03:30.658Z lunar perigee at 356885 km 2024-03-10T09:00:58.308Z new moon -2024-03-10T11:39:26.151Z sunrise -2024-03-10T11:56:30.999Z moonrise +2024-03-10T11:39:26.247Z sunrise +2024-03-10T11:56:31.009Z moonrise 2024-03-10T17:34:51.417Z Sun culminates 57.70 degrees above the horizon 2024-03-10T17:57:12.736Z Moon culminates 57.63 degrees above the horizon -2024-03-10T23:30:42.109Z sunset -2024-03-11T00:06:10.779Z moonset -2024-03-11T11:38:18.973Z sunrise -2024-03-11T12:31:12.163Z moonrise +2024-03-10T23:30:42.203Z sunset +2024-03-11T00:06:10.780Z moonset +2024-03-11T11:38:19.069Z sunrise +2024-03-11T12:31:12.168Z moonrise 2024-03-11T17:34:35.651Z Sun culminates 58.09 degrees above the horizon 2024-03-11T18:48:33.688Z Moon culminates 65.25 degrees above the horizon -2024-03-11T23:31:17.844Z sunset -2024-03-12T01:14:32.282Z moonset -2024-03-12T11:37:11.440Z sunrise -2024-03-12T13:05:59.769Z moonrise +2024-03-11T23:31:17.939Z sunset +2024-03-12T01:14:32.288Z moonset +2024-03-12T11:37:11.535Z sunrise +2024-03-12T13:05:59.766Z moonrise 2024-03-12T17:34:19.585Z Sun culminates 58.49 degrees above the horizon 2024-03-12T19:39:58.841Z Moon culminates 72.50 degrees above the horizon -2024-03-12T23:31:53.331Z sunset -2024-03-13T02:22:37.314Z moonset -2024-03-13T11:36:03.578Z sunrise -2024-03-13T13:42:33.943Z moonrise +2024-03-12T23:31:53.426Z sunset +2024-03-13T02:22:37.361Z moonset +2024-03-13T11:36:03.672Z sunrise +2024-03-13T13:42:33.906Z moonrise 2024-03-13T17:34:03.237Z Sun culminates 58.88 degrees above the horizon 2024-03-13T20:32:32.401Z Moon culminates 78.91 degrees above the horizon -2024-03-13T23:32:28.578Z sunset -2024-03-14T03:30:42.856Z moonset -2024-03-14T11:34:55.412Z sunrise -2024-03-14T14:22:27.383Z moonrise +2024-03-13T23:32:28.674Z sunset +2024-03-14T03:30:42.988Z moonset +2024-03-14T11:34:55.505Z sunrise +2024-03-14T14:22:27.294Z moonrise 2024-03-14T17:33:46.623Z Sun culminates 59.27 degrees above the horizon 2024-03-14T21:26:51.313Z Moon culminates 84.07 degrees above the horizon -2024-03-14T23:33:03.594Z sunset -2024-03-15T04:38:13.557Z moonset -2024-03-15T11:33:46.968Z sunrise -2024-03-15T15:06:54.355Z moonrise +2024-03-14T23:33:03.691Z sunset +2024-03-15T04:38:13.764Z moonset +2024-03-15T11:33:47.061Z sunrise +2024-03-15T15:06:54.215Z moonrise 2024-03-15T17:33:29.763Z Sun culminates 59.67 degrees above the horizon 2024-03-15T22:22:49.852Z Moon culminates 87.70 degrees above the horizon -2024-03-15T23:33:38.388Z sunset -2024-03-16T05:43:32.770Z moonset -2024-03-16T11:32:38.274Z sunrise -2024-03-16T15:56:28.966Z moonrise +2024-03-15T23:33:38.487Z sunset +2024-03-16T05:43:33.004Z moonset +2024-03-16T11:32:38.366Z sunrise +2024-03-16T15:56:28.786Z moonrise 2024-03-16T17:33:12.673Z Sun culminates 60.06 degrees above the horizon 2024-03-16T23:19:33.432Z Moon culminates 89.62 degrees above the horizon -2024-03-16T23:34:12.971Z sunset +2024-03-16T23:34:13.070Z sunset 2024-03-17T04:11:21.732Z first quarter -2024-03-17T06:44:27.851Z moonset +2024-03-17T06:44:28.077Z moonset 2024-03-17T11:28:35.689Z Neptune conjunction -2024-03-17T11:31:29.357Z sunrise +2024-03-17T11:31:29.448Z sunrise 2024-03-17T16:32:58.227Z Mercury perihelion at 0.3075 AU -2024-03-17T16:50:42.262Z moonrise +2024-03-17T16:50:42.053Z moonrise 2024-03-17T17:32:55.373Z Sun culminates 60.46 degrees above the horizon 2024-03-17T23:34:47.354Z sunset 2024-03-18T00:15:32.643Z Moon culminates 89.82 degrees above the horizon -2024-03-18T07:39:05.251Z moonset -2024-03-18T11:30:20.245Z sunrise +2024-03-18T07:39:05.457Z moonset +2024-03-18T11:30:20.336Z sunrise 2024-03-18T17:32:37.885Z Sun culminates 60.86 degrees above the horizon -2024-03-18T17:48:01.258Z moonrise +2024-03-18T17:48:01.032Z moonrise 2024-03-18T23:35:21.549Z sunset 2024-03-19T01:09:16.274Z Moon culminates 88.42 degrees above the horizon -2024-03-19T08:26:37.070Z moonset -2024-03-19T11:29:10.967Z sunrise +2024-03-19T08:26:37.252Z moonset +2024-03-19T11:29:11.057Z sunrise 2024-03-19T15:37:50.953Z Mars moves from Capricornus to Aquarius 2024-03-19T17:32:20.228Z Sun culminates 61.25 degrees above the horizon -2024-03-19T18:46:23.069Z moonrise +2024-03-19T18:46:22.855Z moonrise 2024-03-19T22:20:15.419Z Venus aphelion at 0.7282 AU 2024-03-19T23:35:55.569Z sunset 2024-03-20T01:59:43.676Z Moon culminates 85.64 degrees above the horizon 2024-03-20T03:06:23.283Z March equinox -2024-03-20T09:07:26.187Z moonset -2024-03-20T11:28:01.551Z sunrise +2024-03-20T09:07:26.332Z moonset +2024-03-20T11:28:01.640Z sunrise 2024-03-20T17:32:02.424Z Sun culminates 61.65 degrees above the horizon -2024-03-20T19:44:02.973Z moonrise +2024-03-20T19:44:02.809Z moonrise 2024-03-20T23:36:29.430Z sunset 2024-03-21T02:46:37.593Z Moon culminates 81.77 degrees above the horizon -2024-03-21T09:42:39.655Z moonset -2024-03-21T11:26:52.027Z sunrise +2024-03-21T09:42:39.752Z moonset +2024-03-21T11:26:52.115Z sunrise 2024-03-21T17:31:44.495Z Sun culminates 62.04 degrees above the horizon -2024-03-21T20:40:03.104Z moonrise -2024-03-21T23:37:03.146Z sunset +2024-03-21T20:40:03.011Z moonrise +2024-03-21T23:37:03.147Z sunset 2024-03-22T03:30:17.561Z Moon culminates 77.06 degrees above the horizon -2024-03-22T10:13:39.547Z moonset -2024-03-22T11:25:42.424Z sunrise +2024-03-22T10:13:39.600Z moonset +2024-03-22T11:25:42.512Z sunrise 2024-03-22T17:31:26.465Z Sun culminates 62.43 degrees above the horizon -2024-03-22T21:34:13.360Z moonrise +2024-03-22T21:34:13.328Z moonrise 2024-03-22T23:37:36.735Z sunset 2024-03-23T04:11:26.065Z Moon culminates 71.75 degrees above the horizon -2024-03-23T10:41:46.173Z moonset -2024-03-23T11:24:32.773Z sunrise +2024-03-23T10:41:46.199Z moonset +2024-03-23T11:24:32.860Z sunrise 2024-03-23T15:45:03.181Z lunar apogee at 406284 km 2024-03-23T17:31:08.357Z Sun culminates 62.83 degrees above the horizon -2024-03-23T22:26:57.969Z moonrise -2024-03-23T23:38:10.212Z sunset +2024-03-23T22:26:57.967Z moonrise +2024-03-23T23:38:10.213Z sunset 2024-03-24T04:50:56.926Z Moon culminates 66.05 degrees above the horizon -2024-03-24T11:08:12.891Z moonset -2024-03-24T11:23:23.104Z sunrise +2024-03-24T11:08:12.907Z moonset +2024-03-24T11:23:23.190Z sunrise 2024-03-24T17:30:50.194Z Sun culminates 63.22 degrees above the horizon 2024-03-24T22:32:33.926Z Mercury max evening elongation: 18.70 degrees from Sun -2024-03-24T23:19:01.068Z moonrise -2024-03-24T23:38:43.596Z sunset +2024-03-24T23:19:01.072Z moonrise +2024-03-24T23:38:43.597Z sunset 2024-03-25T05:29:48.699Z Moon culminates 60.17 degrees above the horizon 2024-03-25T07:01:02.717Z full moon 2024-03-25T07:12:49.852Z penumbral lunar eclipse -2024-03-25T11:22:13.446Z sunrise -2024-03-25T11:34:07.420Z moonset +2024-03-25T11:22:13.532Z sunrise +2024-03-25T11:34:07.432Z moonset 2024-03-25T17:30:32.002Z Sun culminates 63.61 degrees above the horizon -2024-03-25T23:39:16.903Z sunset -2024-03-26T00:11:16.107Z moonrise +2024-03-25T23:39:16.904Z sunset +2024-03-26T00:11:16.116Z moonrise 2024-03-26T06:09:01.948Z Moon culminates 54.28 degrees above the horizon -2024-03-26T11:21:03.831Z sunrise -2024-03-26T12:00:35.933Z moonset +2024-03-26T11:21:03.916Z sunrise +2024-03-26T12:00:35.937Z moonset 2024-03-26T17:30:13.802Z Sun culminates 64.01 degrees above the horizon -2024-03-26T23:39:50.152Z sunset -2024-03-27T01:04:38.065Z moonrise +2024-03-26T23:39:50.153Z sunset +2024-03-27T01:04:38.102Z moonrise 2024-03-27T06:49:38.232Z Moon culminates 48.60 degrees above the horizon -2024-03-27T11:19:54.289Z sunrise -2024-03-27T12:28:48.053Z moonset +2024-03-27T11:19:54.372Z sunrise +2024-03-27T12:28:48.030Z moonset 2024-03-27T17:29:55.620Z Sun culminates 64.40 degrees above the horizon -2024-03-27T23:40:23.358Z sunset -2024-03-28T01:59:55.217Z moonrise +2024-03-27T23:40:23.360Z sunset +2024-03-28T01:59:55.323Z moonrise 2024-03-28T07:32:38.389Z Moon culminates 43.33 degrees above the horizon -2024-03-28T11:18:44.848Z sunrise -2024-03-28T13:00:01.410Z moonset +2024-03-28T11:18:44.931Z sunrise +2024-03-28T13:00:01.337Z moonset 2024-03-28T17:29:37.478Z Sun culminates 64.79 degrees above the horizon -2024-03-28T23:40:56.539Z sunset -2024-03-29T02:57:36.738Z moonrise +2024-03-28T23:40:56.542Z sunset +2024-03-29T02:57:36.939Z moonrise 2024-03-29T08:18:57.418Z Moon culminates 38.74 degrees above the horizon -2024-03-29T11:17:35.540Z sunrise -2024-03-29T13:35:43.595Z moonset +2024-03-29T11:17:35.622Z sunrise +2024-03-29T13:35:43.458Z moonset 2024-03-29T17:29:19.399Z Sun culminates 65.17 degrees above the horizon -2024-03-29T23:41:29.710Z sunset -2024-03-30T03:57:34.149Z moonrise +2024-03-29T23:41:29.713Z sunset +2024-03-30T03:57:34.425Z moonrise 2024-03-30T09:09:13.195Z Moon culminates 35.12 degrees above the horizon -2024-03-30T11:16:26.393Z sunrise -2024-03-30T14:17:26.811Z moonset +2024-03-30T11:16:26.474Z sunrise +2024-03-30T14:17:26.615Z moonset 2024-03-30T17:29:01.405Z Sun culminates 65.56 degrees above the horizon -2024-03-30T23:42:02.886Z sunset -2024-03-31T04:58:41.637Z moonrise +2024-03-30T23:42:02.890Z sunset +2024-03-31T04:58:41.940Z moonrise 2024-03-31T10:03:28.716Z Moon culminates 32.79 degrees above the horizon -2024-03-31T11:15:17.436Z sunrise -2024-03-31T15:06:27.977Z moonset +2024-03-31T11:15:17.516Z sunrise +2024-03-31T15:06:27.733Z moonset 2024-03-31T17:28:43.517Z Sun culminates 65.95 degrees above the horizon -2024-03-31T23:42:36.079Z sunset -2024-04-01T05:58:53.214Z moonrise +2024-03-31T23:42:36.083Z sunset +2024-04-01T05:58:53.503Z moonrise 2024-04-01T10:50:10.572Z Venus moves from Aquarius to Pisces 2024-04-01T11:00:55.357Z Moon culminates 32.05 degrees above the horizon -2024-04-01T11:14:08.698Z sunrise -2024-04-01T16:03:11.744Z moonset +2024-04-01T11:14:08.776Z sunrise +2024-04-01T16:03:11.459Z moonset 2024-04-01T17:28:25.756Z Sun culminates 66.33 degrees above the horizon -2024-04-01T23:43:09.301Z sunset +2024-04-01T23:43:09.306Z sunset 2024-04-02T03:15:20.042Z third quarter -2024-04-02T06:55:37.846Z moonrise -2024-04-02T11:13:00.205Z sunrise +2024-04-02T06:55:38.100Z moonrise +2024-04-02T11:13:00.282Z sunrise 2024-04-02T11:59:54.400Z Moon culminates 33.12 degrees above the horizon -2024-04-02T17:06:35.641Z moonset +2024-04-02T17:06:35.338Z moonset 2024-04-02T17:28:08.139Z Sun culminates 66.72 degrees above the horizon -2024-04-02T23:43:42.564Z sunset -2024-04-03T07:47:02.645Z moonrise -2024-04-03T11:11:51.986Z sunrise +2024-04-02T23:43:42.570Z sunset +2024-04-03T07:47:02.847Z moonrise +2024-04-03T11:11:52.061Z sunrise 2024-04-03T12:58:28.824Z Moon culminates 36.03 degrees above the horizon 2024-04-03T17:27:50.686Z Sun culminates 67.10 degrees above the horizon -2024-04-03T18:14:17.926Z moonset -2024-04-03T23:44:15.875Z sunset -2024-04-04T08:32:35.847Z moonrise -2024-04-04T11:10:44.066Z sunrise +2024-04-03T18:14:17.661Z moonset +2024-04-03T23:44:15.882Z sunset +2024-04-04T08:32:35.978Z moonrise +2024-04-04T11:10:44.139Z sunrise 2024-04-04T13:55:09.661Z Moon culminates 40.64 degrees above the horizon 2024-04-04T17:27:33.414Z Sun culminates 67.48 degrees above the horizon -2024-04-04T19:23:39.713Z moonset -2024-04-04T23:44:49.243Z sunset -2024-04-05T09:13:00.846Z moonrise -2024-04-05T11:09:36.473Z sunrise +2024-04-04T19:23:39.552Z moonset +2024-04-04T23:44:49.251Z sunset +2024-04-05T09:13:00.906Z moonrise +2024-04-05T11:09:36.544Z sunrise 2024-04-05T14:49:24.462Z Moon culminates 46.64 degrees above the horizon 2024-04-05T17:27:16.340Z Sun culminates 67.86 degrees above the horizon -2024-04-05T20:32:52.206Z moonset -2024-04-05T23:45:22.674Z sunset -2024-04-06T09:49:43.532Z moonrise -2024-04-06T11:08:29.230Z sunrise +2024-04-05T20:32:52.154Z moonset +2024-04-05T23:45:22.683Z sunset +2024-04-06T09:49:43.551Z moonrise +2024-04-06T11:08:29.299Z sunrise 2024-04-06T15:41:35.519Z Moon culminates 53.64 degrees above the horizon 2024-04-06T17:26:59.478Z Sun culminates 68.24 degrees above the horizon -2024-04-06T21:41:20.297Z moonset -2024-04-06T23:45:56.174Z sunset -2024-04-07T10:24:24.770Z moonrise -2024-04-07T11:07:22.362Z sunrise +2024-04-06T21:41:20.293Z moonset +2024-04-06T23:45:56.185Z sunset +2024-04-07T10:24:24.777Z moonrise +2024-04-07T11:07:22.429Z sunrise 2024-04-07T16:32:41.163Z Moon culminates 61.16 degrees above the horizon 2024-04-07T17:26:42.844Z Sun culminates 68.61 degrees above the horizon 2024-04-07T17:51:12.831Z lunar perigee at 358840 km -2024-04-07T22:49:25.154Z moonset -2024-04-07T23:46:29.750Z sunset -2024-04-08T10:58:47.763Z moonrise -2024-04-08T11:06:15.894Z sunrise +2024-04-07T22:49:25.155Z moonset +2024-04-07T23:46:29.762Z sunset +2024-04-08T10:58:47.766Z moonrise +2024-04-08T11:06:15.958Z sunrise 2024-04-08T17:23:55.314Z Moon culminates 68.68 degrees above the horizon 2024-04-08T17:26:26.452Z Sun culminates 68.98 degrees above the horizon 2024-04-08T18:21:25.179Z new moon 2024-04-08T19:03:49.559Z partial solar eclipse peak at 58.90 degrees altitude -2024-04-08T23:47:03.404Z sunset -2024-04-08T23:57:50.808Z moonset -2024-04-09T11:05:09.848Z sunrise -2024-04-09T11:34:35.053Z moonrise +2024-04-08T23:47:03.418Z sunset +2024-04-08T23:57:50.826Z moonset +2024-04-09T11:05:09.910Z sunrise +2024-04-09T11:34:35.037Z moonrise 2024-04-09T17:26:10.316Z Sun culminates 69.35 degrees above the horizon 2024-04-09T18:16:29.457Z Moon culminates 75.69 degrees above the horizon -2024-04-09T23:47:37.141Z sunset -2024-04-10T01:07:08.099Z moonset -2024-04-10T11:04:04.247Z sunrise -2024-04-10T12:13:26.698Z moonrise +2024-04-09T23:47:37.157Z sunset +2024-04-10T01:07:08.185Z moonset +2024-04-10T11:04:04.307Z sunrise +2024-04-10T12:13:26.637Z moonrise 2024-04-10T17:25:54.448Z Sun culminates 69.72 degrees above the horizon 2024-04-10T17:40:19.725Z Venus moves from Pisces to Cetus 2024-04-10T19:11:14.063Z Moon culminates 81.68 degrees above the horizon -2024-04-10T23:48:10.964Z sunset -2024-04-11T02:16:59.320Z moonset -2024-04-11T11:02:59.116Z sunrise -2024-04-11T12:56:51.293Z moonrise +2024-04-10T23:48:10.981Z sunset +2024-04-11T02:16:59.496Z moonset +2024-04-11T11:02:59.174Z sunrise +2024-04-11T12:56:51.176Z moonrise 2024-04-11T17:25:38.863Z Sun culminates 70.09 degrees above the horizon 2024-04-11T20:08:17.707Z Moon culminates 86.22 degrees above the horizon 2024-04-11T22:54:48.712Z Mercury inferior conjunction -2024-04-11T23:48:44.876Z sunset -2024-04-12T03:25:53.447Z moonset -2024-04-12T11:01:54.477Z sunrise -2024-04-12T13:45:43.631Z moonrise +2024-04-11T23:48:44.895Z sunset +2024-04-12T03:25:53.675Z moonset +2024-04-12T11:01:54.532Z sunrise +2024-04-12T13:45:43.468Z moonrise 2024-04-12T17:25:23.572Z Sun culminates 70.45 degrees above the horizon 2024-04-12T21:06:51.350Z Moon culminates 89.02 degrees above the horizon -2024-04-12T23:49:18.877Z sunset -2024-04-13T04:31:16.404Z moonset -2024-04-13T11:00:50.355Z sunrise -2024-04-13T14:39:53.789Z moonrise +2024-04-12T23:49:18.899Z sunset +2024-04-13T04:31:16.635Z moonset +2024-04-13T11:00:50.407Z sunrise +2024-04-13T14:39:53.592Z moonrise 2024-04-13T17:11:28.019Z Venus moves from Cetus to Pisces 2024-04-13T17:25:08.588Z Sun culminates 70.82 degrees above the horizon 2024-04-13T22:05:14.689Z Moon culminates 89.97 degrees above the horizon -2024-04-13T23:49:52.972Z sunset -2024-04-14T05:30:30.240Z moonset -2024-04-14T10:59:46.774Z sunrise -2024-04-14T15:37:53.094Z moonrise +2024-04-13T23:49:52.995Z sunset +2024-04-14T05:30:30.452Z moonset +2024-04-14T10:59:46.823Z sunrise +2024-04-14T15:37:52.873Z moonrise 2024-04-14T17:24:53.926Z Sun culminates 71.17 degrees above the horizon 2024-04-14T23:01:32.393Z Moon culminates 89.15 degrees above the horizon -2024-04-14T23:50:27.160Z sunset -2024-04-15T06:22:04.441Z moonset -2024-04-15T10:58:43.759Z sunrise -2024-04-15T16:37:23.891Z moonrise +2024-04-14T23:50:27.186Z sunset +2024-04-15T06:22:04.630Z moonset +2024-04-15T10:58:43.804Z sunrise +2024-04-15T16:37:23.668Z moonrise 2024-04-15T17:24:39.599Z Sun culminates 71.53 degrees above the horizon 2024-04-15T19:13:47.056Z first quarter -2024-04-15T23:51:01.446Z sunset +2024-04-15T23:51:01.474Z sunset 2024-04-15T23:54:19.379Z Moon culminates 86.80 degrees above the horizon -2024-04-16T07:06:00.834Z moonset -2024-04-16T10:57:41.335Z sunrise +2024-04-16T07:06:00.992Z moonset +2024-04-16T10:57:41.377Z sunrise 2024-04-16T17:24:25.621Z Sun culminates 71.88 degrees above the horizon -2024-04-16T17:36:18.488Z moonrise -2024-04-16T23:51:35.832Z sunset +2024-04-16T17:36:18.302Z moonrise +2024-04-16T23:51:35.863Z sunset 2024-04-17T00:43:03.931Z Moon culminates 83.25 degrees above the horizon -2024-04-17T07:43:26.185Z moonset -2024-04-17T10:56:39.528Z sunrise +2024-04-17T07:43:26.298Z moonset +2024-04-17T10:56:39.566Z sunrise 2024-04-17T17:24:12.007Z Sun culminates 72.23 degrees above the horizon -2024-04-17T18:33:21.357Z moonrise -2024-04-17T23:52:10.321Z sunset +2024-04-17T18:33:21.239Z moonrise +2024-04-17T23:52:10.355Z sunset 2024-04-18T01:28:02.070Z Moon culminates 78.77 degrees above the horizon -2024-04-18T08:15:52.097Z moonset -2024-04-18T10:55:38.364Z sunrise +2024-04-18T08:15:52.164Z moonset +2024-04-18T10:55:38.399Z sunrise 2024-04-18T17:23:58.771Z Sun culminates 72.58 degrees above the horizon -2024-04-18T19:28:14.596Z moonrise -2024-04-18T23:52:44.918Z sunset +2024-04-18T19:28:14.546Z moonrise +2024-04-18T23:52:44.954Z sunset 2024-04-19T02:09:59.299Z Moon culminates 73.64 degrees above the horizon -2024-04-19T08:44:49.700Z moonset -2024-04-19T10:54:37.870Z sunrise +2024-04-19T08:44:49.734Z moonset +2024-04-19T10:54:37.901Z sunrise 2024-04-19T17:23:45.930Z Sun culminates 72.92 degrees above the horizon -2024-04-19T20:21:21.982Z moonrise -2024-04-19T23:53:19.626Z sunset +2024-04-19T20:21:21.974Z moonrise +2024-04-19T23:53:19.666Z sunset 2024-04-20T02:09:35.605Z lunar apogee at 405613 km 2024-04-20T02:49:54.677Z Moon culminates 68.06 degrees above the horizon -2024-04-20T09:11:40.895Z moonset -2024-04-20T10:53:38.073Z sunrise +2024-04-20T09:11:40.913Z moonset +2024-04-20T10:53:38.100Z sunrise 2024-04-20T17:23:33.498Z Sun culminates 73.27 degrees above the horizon -2024-04-20T21:13:30.786Z moonrise -2024-04-20T23:53:54.450Z sunset +2024-04-20T21:13:30.790Z moonrise +2024-04-20T23:53:54.493Z sunset 2024-04-21T03:28:51.796Z Moon culminates 62.22 degrees above the horizon -2024-04-21T09:37:38.950Z moonset -2024-04-21T10:52:39.000Z sunrise +2024-04-21T09:37:38.963Z moonset +2024-04-21T10:52:39.023Z sunrise 2024-04-21T17:23:21.492Z Sun culminates 73.60 degrees above the horizon -2024-04-21T22:05:38.782Z moonrise -2024-04-21T23:54:29.395Z sunset +2024-04-21T22:05:38.788Z moonrise +2024-04-21T23:54:29.441Z sunset 2024-04-22T04:07:55.167Z Moon culminates 56.30 degrees above the horizon -2024-04-22T10:03:52.858Z moonset -2024-04-22T10:51:40.679Z sunrise +2024-04-22T10:03:52.866Z moonset +2024-04-22T10:51:40.698Z sunrise 2024-04-22T17:23:09.929Z Sun culminates 73.94 degrees above the horizon -2024-04-22T22:58:45.608Z moonrise -2024-04-22T23:55:04.464Z sunset +2024-04-22T22:58:45.631Z moonrise +2024-04-22T23:55:04.513Z sunset 2024-04-23T04:48:09.150Z Moon culminates 50.50 degrees above the horizon -2024-04-23T10:31:32.723Z moonset -2024-04-23T10:50:43.136Z sunrise +2024-04-23T10:31:32.711Z moonset +2024-04-23T10:50:43.151Z sunrise 2024-04-23T17:22:58.822Z Sun culminates 74.27 degrees above the horizon 2024-04-23T23:49:37.707Z full moon -2024-04-23T23:53:44.689Z moonrise -2024-04-23T23:55:39.661Z sunset +2024-04-23T23:53:44.767Z moonrise +2024-04-23T23:55:39.714Z sunset 2024-04-24T02:10:04.169Z Mars moves from Aquarius to Pisces 2024-04-24T05:30:36.616Z Moon culminates 45.03 degrees above the horizon -2024-04-24T10:49:46.400Z sunrise -2024-04-24T11:01:54.729Z moonset +2024-04-24T10:49:46.411Z sunrise +2024-04-24T11:01:54.674Z moonset 2024-04-24T17:22:48.188Z Sun culminates 74.60 degrees above the horizon -2024-04-24T23:56:14.990Z sunset -2024-04-25T00:51:11.503Z moonrise +2024-04-24T23:56:15.046Z sunset +2024-04-25T00:51:11.673Z moonrise 2024-04-25T06:16:14.455Z Moon culminates 40.14 degrees above the horizon -2024-04-25T10:48:50.498Z sunrise -2024-04-25T11:36:23.710Z moonset +2024-04-25T10:48:50.504Z sunrise +2024-04-25T11:36:23.594Z moonset 2024-04-25T17:22:38.042Z Sun culminates 74.92 degrees above the horizon -2024-04-25T23:56:50.452Z sunset -2024-04-26T01:51:05.349Z moonrise +2024-04-25T23:56:50.512Z sunset +2024-04-26T01:51:05.606Z moonrise 2024-04-26T07:05:43.019Z Moon culminates 36.15 degrees above the horizon -2024-04-26T10:47:55.456Z sunrise -2024-04-26T12:16:29.184Z moonset +2024-04-26T10:47:55.457Z sunrise +2024-04-26T12:16:29.006Z moonset 2024-04-26T17:22:28.398Z Sun culminates 75.24 degrees above the horizon -2024-04-26T23:57:26.048Z sunset -2024-04-27T02:52:28.197Z moonrise +2024-04-26T23:57:26.112Z sunset +2024-04-27T02:52:28.497Z moonrise 2024-04-27T07:59:08.769Z Moon culminates 33.38 degrees above the horizon -2024-04-27T10:47:01.300Z sunrise -2024-04-27T13:03:28.139Z moonset +2024-04-27T10:47:01.297Z sunrise +2024-04-27T13:03:27.908Z moonset 2024-04-27T17:22:19.268Z Sun culminates 75.56 degrees above the horizon -2024-04-27T23:58:01.779Z sunset -2024-04-28T03:53:17.494Z moonrise +2024-04-27T23:58:01.846Z sunset +2024-04-28T03:53:17.790Z moonrise 2024-04-28T08:55:46.892Z Moon culminates 32.15 degrees above the horizon -2024-04-28T10:46:08.058Z sunrise +2024-04-28T10:46:08.050Z sunrise 2024-04-28T12:46:39.391Z Jupiter moves from Aries to Taurus -2024-04-28T13:57:51.148Z moonset +2024-04-28T13:57:50.876Z moonset 2024-04-28T17:22:10.665Z Sun culminates 75.87 degrees above the horizon -2024-04-28T23:58:37.641Z sunset -2024-04-29T04:50:56.438Z moonrise +2024-04-28T23:58:37.712Z sunset +2024-04-29T04:50:56.704Z moonrise 2024-04-29T09:54:00.741Z Moon culminates 32.65 degrees above the horizon -2024-04-29T10:45:15.754Z sunrise -2024-04-29T14:58:47.277Z moonset +2024-04-29T10:45:15.741Z sunrise +2024-04-29T14:58:46.979Z moonset 2024-04-29T17:22:02.599Z Sun culminates 76.18 degrees above the horizon -2024-04-29T23:59:13.630Z sunset -2024-04-30T05:43:17.931Z moonrise +2024-04-29T23:59:13.706Z sunset +2024-04-30T05:43:18.152Z moonrise 2024-04-30T06:30:09.702Z Venus moves from Pisces to Aries -2024-04-30T10:44:24.413Z sunrise +2024-04-30T10:44:24.395Z sunrise 2024-04-30T10:51:51.540Z Moon culminates 34.94 degrees above the horizon -2024-04-30T16:04:05.657Z moonset +2024-04-30T16:04:05.376Z moonset 2024-04-30T16:10:28.333Z Mercury aphelion at 0.4667 AU 2024-04-30T17:21:55.080Z Sun culminates 76.48 degrees above the horizon -2024-04-30T23:59:49.741Z sunset -2024-05-01T06:29:34.883Z moonrise -2024-05-01T10:43:34.059Z sunrise +2024-04-30T23:59:49.821Z sunset +2024-05-01T06:29:35.041Z moonrise +2024-05-01T10:43:34.036Z sunrise 2024-05-01T11:27:50.775Z third quarter 2024-05-01T11:47:44.964Z Moon culminates 38.90 degrees above the horizon -2024-05-01T17:11:10.767Z moonset +2024-05-01T17:11:10.569Z moonset 2024-05-01T17:21:48.117Z Sun culminates 76.78 degrees above the horizon -2024-05-02T00:00:25.965Z sunset -2024-05-02T07:10:20.419Z moonrise -2024-05-02T10:42:44.714Z sunrise +2024-05-02T00:00:26.049Z sunset +2024-05-02T07:10:20.506Z moonrise +2024-05-02T10:42:44.686Z sunrise 2024-05-02T12:41:02.093Z Moon culminates 44.26 degrees above the horizon 2024-05-02T17:21:41.715Z Sun culminates 77.08 degrees above the horizon -2024-05-02T18:18:09.869Z moonset -2024-05-03T00:01:02.293Z sunset -2024-05-03T07:46:55.552Z moonrise -2024-05-03T10:41:56.400Z sunrise +2024-05-02T18:18:09.782Z moonset +2024-05-03T00:01:02.381Z sunset +2024-05-03T07:46:55.584Z moonrise +2024-05-03T10:41:56.367Z sunrise 2024-05-03T13:32:00.114Z Moon culminates 50.67 degrees above the horizon 2024-05-03T17:21:35.881Z Sun culminates 77.37 degrees above the horizon -2024-05-03T19:24:22.407Z moonset -2024-05-04T00:01:38.713Z sunset -2024-05-04T08:20:59.023Z moonrise -2024-05-04T10:41:09.139Z sunrise +2024-05-03T19:24:22.391Z moonset +2024-05-04T00:01:38.806Z sunset +2024-05-04T08:20:59.034Z moonrise +2024-05-04T10:41:09.101Z sunrise 2024-05-04T14:21:35.124Z Moon culminates 57.76 degrees above the horizon 2024-05-04T17:21:30.618Z Sun culminates 77.66 degrees above the horizon -2024-05-04T20:30:08.609Z moonset -2024-05-05T00:02:15.213Z sunset -2024-05-05T08:54:12.746Z moonrise -2024-05-05T10:40:22.950Z sunrise +2024-05-04T20:30:08.610Z moonset +2024-05-05T00:02:15.310Z sunset +2024-05-05T08:54:12.752Z moonrise +2024-05-05T10:40:22.906Z sunrise 2024-05-05T15:11:03.135Z Moon culminates 65.12 degrees above the horizon 2024-05-05T17:21:25.928Z Sun culminates 77.94 degrees above the horizon -2024-05-05T21:36:20.985Z moonset +2024-05-05T21:36:20.990Z moonset 2024-05-05T22:04:51.211Z lunar perigee at 363155 km -2024-05-06T00:02:51.778Z sunset -2024-05-06T09:28:18.929Z moonrise -2024-05-06T10:39:37.850Z sunrise +2024-05-06T00:02:51.879Z sunset +2024-05-06T09:28:18.926Z moonrise +2024-05-06T10:39:37.801Z sunrise 2024-05-06T16:01:44.517Z Moon culminates 72.28 degrees above the horizon 2024-05-06T17:21:21.813Z Sun culminates 78.22 degrees above the horizon -2024-05-06T22:43:52.656Z moonset -2024-05-07T00:03:28.391Z sunset -2024-05-07T10:05:00.935Z moonrise -2024-05-07T10:38:53.856Z sunrise +2024-05-06T22:43:52.701Z moonset +2024-05-07T00:03:28.497Z sunset +2024-05-07T10:05:00.900Z moonrise +2024-05-07T10:38:53.802Z sunrise 2024-05-07T16:54:48.445Z Moon culminates 78.76 degrees above the horizon 2024-05-07T17:21:18.273Z Sun culminates 78.49 degrees above the horizon -2024-05-07T23:53:02.890Z moonset -2024-05-08T00:04:05.036Z sunset +2024-05-07T23:53:03.020Z moonset +2024-05-08T00:04:05.146Z sunset 2024-05-08T03:22:28.287Z new moon -2024-05-08T10:38:10.985Z sunrise +2024-05-08T10:38:10.926Z sunrise 2024-05-08T10:42:34.172Z Mars perihelion at 1.3815 AU -2024-05-08T10:45:59.709Z moonrise +2024-05-08T10:45:59.620Z moonrise 2024-05-08T17:21:15.305Z Sun culminates 78.76 degrees above the horizon 2024-05-08T17:50:52.169Z Moon culminates 84.08 degrees above the horizon -2024-05-09T00:04:41.692Z sunset -2024-05-09T01:03:01.196Z moonset -2024-05-09T10:37:29.250Z sunrise -2024-05-09T11:32:36.993Z moonrise +2024-05-09T00:04:41.808Z sunset +2024-05-09T01:03:01.403Z moonset +2024-05-09T10:37:29.186Z sunrise +2024-05-09T11:32:36.852Z moonrise 2024-05-09T17:21:12.908Z Sun culminates 79.03 degrees above the horizon 2024-05-09T17:41:27.899Z Mars moves from Pisces to Cetus 2024-05-09T18:49:36.452Z Moon culminates 87.80 degrees above the horizon 2024-05-09T21:31:39.048Z Mercury max morning elongation: 26.36 degrees from Sun -2024-05-10T00:05:18.341Z sunset -2024-05-10T02:11:29.613Z moonset -2024-05-10T10:36:48.668Z sunrise -2024-05-10T12:25:21.265Z moonrise +2024-05-10T00:05:18.461Z sunset +2024-05-10T02:11:29.845Z moonset +2024-05-10T10:36:48.598Z sunrise +2024-05-10T12:25:21.083Z moonrise 2024-05-10T17:21:11.077Z Sun culminates 79.29 degrees above the horizon 2024-05-10T19:49:33.223Z Moon culminates 89.67 degrees above the horizon -2024-05-11T00:05:54.961Z sunset -2024-05-11T03:15:17.753Z moonset -2024-05-11T10:36:09.251Z sunrise -2024-05-11T13:23:13.348Z moonrise +2024-05-11T00:05:55.085Z sunset +2024-05-11T03:15:17.973Z moonset +2024-05-11T10:36:09.177Z sunrise +2024-05-11T13:23:13.136Z moonrise 2024-05-11T17:21:09.810Z Sun culminates 79.54 degrees above the horizon 2024-05-11T20:48:28.459Z Moon culminates 89.63 degrees above the horizon -2024-05-12T00:06:31.529Z sunset -2024-05-12T04:11:48.756Z moonset -2024-05-12T10:35:31.015Z sunrise -2024-05-12T14:23:52.392Z moonrise +2024-05-12T00:06:31.657Z sunset +2024-05-12T04:11:48.953Z moonset +2024-05-12T10:35:30.936Z sunrise +2024-05-12T14:23:52.166Z moonrise 2024-05-12T17:21:09.102Z Sun culminates 79.79 degrees above the horizon 2024-05-12T21:44:17.022Z Moon culminates 87.87 degrees above the horizon -2024-05-13T00:07:08.023Z sunset -2024-05-13T05:00:06.801Z moonset +2024-05-13T00:07:08.155Z sunset +2024-05-13T05:00:06.970Z moonset 2024-05-13T09:15:23.423Z Uranus conjunction -2024-05-13T10:34:53.974Z sunrise -2024-05-13T15:24:36.823Z moonrise +2024-05-13T10:34:53.889Z sunrise +2024-05-13T15:24:36.618Z moonrise 2024-05-13T16:33:34.740Z Mars moves from Cetus to Pisces 2024-05-13T17:21:08.949Z Sun culminates 80.03 degrees above the horizon 2024-05-13T22:35:49.304Z Moon culminates 84.71 degrees above the horizon -2024-05-14T00:07:44.420Z sunset -2024-05-14T05:40:53.012Z moonset -2024-05-14T10:34:18.141Z sunrise -2024-05-14T16:23:31.707Z moonrise +2024-05-14T00:07:44.557Z sunset +2024-05-14T05:40:53.141Z moonset +2024-05-14T10:34:18.051Z sunrise +2024-05-14T16:23:31.561Z moonrise 2024-05-14T17:21:09.346Z Sun culminates 80.27 degrees above the horizon 2024-05-14T23:22:59.719Z Moon culminates 80.50 degrees above the horizon -2024-05-15T00:08:20.698Z sunset -2024-05-15T06:15:38.549Z moonset -2024-05-15T10:33:43.530Z sunrise +2024-05-15T00:08:20.839Z sunset +2024-05-15T06:15:38.631Z moonset +2024-05-15T10:33:43.436Z sunrise 2024-05-15T11:48:42.859Z first quarter -2024-05-15T17:19:53.139Z moonrise +2024-05-15T17:19:53.066Z moonrise 2024-05-15T17:21:10.291Z Sun culminates 80.50 degrees above the horizon 2024-05-16T00:06:27.506Z Moon culminates 75.55 degrees above the horizon -2024-05-16T00:08:56.835Z sunset -2024-05-16T06:46:04.344Z moonset -2024-05-16T10:33:10.157Z sunrise +2024-05-16T00:08:56.980Z sunset +2024-05-16T06:46:04.386Z moonset +2024-05-16T10:33:10.057Z sunrise 2024-05-16T17:21:11.777Z Sun culminates 80.73 degrees above the horizon -2024-05-16T18:13:54.475Z moonrise -2024-05-17T00:09:32.808Z sunset +2024-05-16T18:13:54.455Z moonrise +2024-05-17T00:09:32.958Z sunset 2024-05-17T00:47:14.014Z Moon culminates 70.10 degrees above the horizon -2024-05-17T07:13:43.018Z moonset -2024-05-17T10:32:38.033Z sunrise +2024-05-17T07:13:43.039Z moonset +2024-05-17T10:32:37.929Z sunrise 2024-05-17T17:21:13.803Z Sun culminates 80.96 degrees above the horizon 2024-05-17T18:59:28.733Z lunar apogee at 404628 km -2024-05-17T19:06:22.673Z moonrise -2024-05-18T00:10:08.597Z sunset +2024-05-17T19:06:22.674Z moonrise +2024-05-18T00:10:08.751Z sunset 2024-05-18T01:26:28.221Z Moon culminates 64.34 degrees above the horizon 2024-05-18T03:26:31.089Z Mercury moves from Pisces to Cetus -2024-05-18T07:39:56.083Z moonset -2024-05-18T10:32:07.173Z sunrise +2024-05-18T07:39:56.097Z moonset +2024-05-18T10:32:07.065Z sunrise 2024-05-18T14:50:34.832Z Venus moves from Aries to Taurus 2024-05-18T17:21:16.363Z Sun culminates 81.17 degrees above the horizon 2024-05-18T18:48:59.371Z Jupiter conjunction -2024-05-18T19:58:20.363Z moonrise -2024-05-19T00:10:44.180Z sunset +2024-05-18T19:58:20.368Z moonrise +2024-05-19T00:10:44.338Z sunset 2024-05-19T02:05:20.529Z Moon culminates 58.46 degrees above the horizon -2024-05-19T08:05:57.817Z moonset -2024-05-19T10:31:37.591Z sunrise +2024-05-19T08:05:57.828Z moonset +2024-05-19T10:31:37.479Z sunrise 2024-05-19T17:21:19.454Z Sun culminates 81.38 degrees above the horizon -2024-05-19T20:50:54.954Z moonrise +2024-05-19T20:50:54.967Z moonrise 2024-05-19T21:23:29.609Z Mercury moves from Cetus to Aries -2024-05-20T00:11:19.536Z sunset +2024-05-20T00:11:19.698Z sunset 2024-05-20T02:45:01.115Z Moon culminates 52.61 degrees above the horizon -2024-05-20T08:33:01.191Z moonset -2024-05-20T10:31:09.300Z sunrise +2024-05-20T08:33:01.189Z moonset +2024-05-20T10:31:09.183Z sunrise 2024-05-20T17:21:23.072Z Sun culminates 81.59 degrees above the horizon -2024-05-20T21:45:10.542Z moonrise -2024-05-21T00:11:54.643Z sunset +2024-05-20T21:45:10.594Z moonrise +2024-05-21T00:11:54.809Z sunset 2024-05-21T03:26:39.244Z Moon culminates 47.00 degrees above the horizon -2024-05-21T09:02:23.826Z moonset -2024-05-21T10:30:42.313Z sunrise +2024-05-21T09:02:23.790Z moonset +2024-05-21T10:30:42.191Z sunrise 2024-05-21T17:21:27.212Z Sun culminates 81.79 degrees above the horizon -2024-05-21T22:41:57.405Z moonrise -2024-05-22T00:12:29.481Z sunset +2024-05-21T22:41:57.538Z moonrise +2024-05-22T00:12:29.651Z sunset 2024-05-22T04:11:20.208Z Moon culminates 41.86 degrees above the horizon -2024-05-22T09:35:32.226Z moonset -2024-05-22T10:30:16.642Z sunrise +2024-05-22T09:35:32.134Z moonset +2024-05-22T10:30:16.516Z sunrise 2024-05-22T17:21:31.872Z Sun culminates 81.98 degrees above the horizon -2024-05-22T23:41:34.485Z moonrise -2024-05-23T00:13:04.028Z sunset +2024-05-22T23:41:34.713Z moonrise +2024-05-23T00:13:04.202Z sunset 2024-05-23T04:59:56.248Z Moon culminates 37.49 degrees above the horizon 2024-05-23T09:00:51.292Z Uranus moves from Aries to Taurus -2024-05-23T10:14:00.622Z moonset -2024-05-23T10:29:52.298Z sunrise +2024-05-23T10:14:00.465Z moonset +2024-05-23T10:29:52.169Z sunrise 2024-05-23T13:53:43.373Z full moon 2024-05-23T17:21:37.044Z Sun culminates 82.17 degrees above the horizon -2024-05-24T00:13:38.263Z sunset -2024-05-24T00:43:24.814Z moonrise +2024-05-24T00:13:38.441Z sunset +2024-05-24T00:43:25.104Z moonrise 2024-05-24T05:52:48.880Z Moon culminates 34.24 degrees above the horizon -2024-05-24T10:29:29.294Z sunrise -2024-05-24T10:59:17.294Z moonset +2024-05-24T10:29:29.160Z sunrise +2024-05-24T10:59:17.080Z moonset 2024-05-24T17:21:42.724Z Sun culminates 82.35 degrees above the horizon -2024-05-25T00:14:12.163Z sunset -2024-05-25T01:45:37.376Z moonrise +2024-05-25T00:14:12.344Z sunset +2024-05-25T01:45:37.676Z moonrise 2024-05-25T06:49:26.527Z Moon culminates 32.46 degrees above the horizon -2024-05-25T10:29:07.638Z sunrise -2024-05-25T11:52:11.368Z moonset +2024-05-25T10:29:07.500Z sunrise +2024-05-25T11:52:11.108Z moonset 2024-05-25T17:21:48.905Z Sun culminates 82.53 degrees above the horizon -2024-05-26T00:14:45.704Z sunset -2024-05-26T02:45:24.441Z moonrise +2024-05-26T00:14:45.889Z sunset +2024-05-26T02:45:24.716Z moonrise 2024-05-26T07:48:14.719Z Moon culminates 32.41 degrees above the horizon -2024-05-26T10:28:47.340Z sunrise -2024-05-26T12:52:09.418Z moonset +2024-05-26T10:28:47.198Z sunrise +2024-05-26T12:52:09.125Z moonset 2024-05-26T17:21:55.578Z Sun culminates 82.70 degrees above the horizon -2024-05-27T00:15:18.862Z sunset -2024-05-27T03:40:07.009Z moonrise +2024-05-27T00:15:19.049Z sunset +2024-05-27T03:40:07.243Z moonrise 2024-05-27T08:47:00.453Z Moon culminates 34.21 degrees above the horizon -2024-05-27T10:28:28.407Z sunrise -2024-05-27T13:57:02.158Z moonset +2024-05-27T10:28:28.262Z sunrise +2024-05-27T13:57:01.867Z moonset 2024-05-27T17:22:02.735Z Sun culminates 82.86 degrees above the horizon -2024-05-28T00:15:51.610Z sunset -2024-05-28T04:28:24.432Z moonrise +2024-05-28T00:15:51.801Z sunset +2024-05-28T04:28:24.609Z moonrise 2024-05-28T09:43:45.366Z Moon culminates 37.71 degrees above the horizon -2024-05-28T10:28:10.846Z sunrise -2024-05-28T15:03:55.246Z moonset +2024-05-28T10:28:10.698Z sunrise +2024-05-28T15:03:55.022Z moonset 2024-05-28T17:22:10.365Z Sun culminates 83.02 degrees above the horizon -2024-05-29T00:16:23.921Z sunset -2024-05-29T05:10:30.636Z moonrise -2024-05-29T10:27:54.662Z sunrise +2024-05-29T00:16:24.115Z sunset +2024-05-29T05:10:30.741Z moonrise +2024-05-29T10:27:54.511Z sunrise 2024-05-29T10:37:29.135Z Moon culminates 42.66 degrees above the horizon -2024-05-29T16:10:29.540Z moonset +2024-05-29T16:10:29.425Z moonset 2024-05-29T17:22:18.456Z Sun culminates 83.17 degrees above the horizon -2024-05-30T00:16:55.767Z sunset -2024-05-30T05:47:41.601Z moonrise -2024-05-30T10:27:39.858Z sunrise +2024-05-30T00:16:55.964Z sunset +2024-05-30T05:47:41.646Z moonrise +2024-05-30T10:27:39.704Z sunrise 2024-05-30T11:28:16.568Z Moon culminates 48.70 degrees above the horizon 2024-05-30T17:13:12.993Z third quarter -2024-05-30T17:15:44.695Z moonset +2024-05-30T17:15:44.665Z moonset 2024-05-30T17:22:26.995Z Sun culminates 83.32 degrees above the horizon 2024-05-30T19:19:40.365Z Mercury moves from Aries to Taurus -2024-05-31T00:17:27.118Z sunset -2024-05-31T06:21:37.315Z moonrise -2024-05-31T10:27:26.437Z sunrise +2024-05-31T00:17:27.317Z sunset +2024-05-31T06:21:37.331Z moonrise +2024-05-31T10:27:26.279Z sunrise 2024-05-31T12:16:59.207Z Moon culminates 55.45 degrees above the horizon 2024-05-31T17:22:35.967Z Sun culminates 83.46 degrees above the horizon 2024-05-31T18:19:52.271Z moonset -2024-06-01T00:17:57.942Z sunset -2024-06-01T06:54:01.195Z moonrise -2024-06-01T10:27:14.396Z sunrise +2024-06-01T00:17:58.144Z sunset +2024-06-01T06:54:01.203Z moonrise +2024-06-01T10:27:14.236Z sunrise 2024-06-01T13:04:53.349Z Moon culminates 62.54 degrees above the horizon 2024-06-01T17:22:45.356Z Sun culminates 83.59 degrees above the horizon -2024-06-01T19:23:46.663Z moonset -2024-06-02T00:18:28.208Z sunset +2024-06-01T19:23:46.665Z moonset +2024-06-02T00:18:28.413Z sunset 2024-06-02T07:16:41.166Z lunar perigee at 368092 km -2024-06-02T07:26:35.119Z moonrise -2024-06-02T10:27:03.735Z sunrise +2024-06-02T07:26:35.122Z moonrise +2024-06-02T10:27:03.572Z sunrise 2024-06-02T13:53:23.958Z Moon culminates 69.58 degrees above the horizon 2024-06-02T17:22:55.144Z Sun culminates 83.72 degrees above the horizon -2024-06-02T20:28:34.761Z moonset -2024-06-03T00:18:57.884Z sunset -2024-06-03T08:01:01.481Z moonrise -2024-06-03T10:26:54.446Z sunrise +2024-06-02T20:28:34.785Z moonset +2024-06-03T00:18:58.091Z sunset +2024-06-03T08:01:01.463Z moonrise +2024-06-03T10:26:54.281Z sunrise 2024-06-03T14:43:52.095Z Moon culminates 76.18 degrees above the horizon 2024-06-03T17:23:05.311Z Sun culminates 83.83 degrees above the horizon -2024-06-03T21:35:06.162Z moonset -2024-06-04T00:19:26.936Z sunset -2024-06-04T08:39:04.362Z moonrise -2024-06-04T10:26:46.524Z sunrise +2024-06-03T21:35:06.253Z moonset +2024-06-04T00:19:27.145Z sunset +2024-06-04T08:39:04.298Z moonrise +2024-06-04T10:26:46.356Z sunrise 2024-06-04T14:57:59.993Z Venus superior conjunction 2024-06-04T15:37:19.261Z Moon culminates 81.89 degrees above the horizon 2024-06-04T17:23:15.836Z Sun culminates 83.95 degrees above the horizon -2024-06-04T22:43:19.349Z moonset -2024-06-05T00:19:55.328Z sunset -2024-06-05T09:22:21.536Z moonrise -2024-06-05T10:26:39.958Z sunrise +2024-06-04T22:43:19.527Z moonset +2024-06-05T00:19:55.540Z sunset +2024-06-05T09:22:21.417Z moonrise +2024-06-05T10:26:39.788Z sunrise 2024-06-05T16:34:04.366Z Moon culminates 86.28 degrees above the horizon 2024-06-05T17:23:26.696Z Sun culminates 84.05 degrees above the horizon -2024-06-05T23:51:49.847Z moonset -2024-06-06T00:20:23.028Z sunset -2024-06-06T10:11:58.720Z moonrise -2024-06-06T10:26:34.736Z sunrise +2024-06-05T23:51:50.073Z moonset +2024-06-06T00:20:23.241Z sunset +2024-06-06T10:11:58.555Z moonrise +2024-06-06T10:26:34.565Z sunrise 2024-06-06T12:38:15.842Z new moon 2024-06-06T17:23:37.869Z Sun culminates 84.15 degrees above the horizon 2024-06-06T17:33:19.827Z Moon culminates 88.97 degrees above the horizon -2024-06-07T00:20:49.997Z sunset -2024-06-07T00:57:49.539Z moonset -2024-06-07T10:26:30.848Z sunrise -2024-06-07T11:07:48.242Z moonrise +2024-06-07T00:20:50.212Z sunset +2024-06-07T00:57:49.765Z moonset +2024-06-07T10:26:30.674Z sunrise +2024-06-07T11:07:48.042Z moonrise 2024-06-07T17:23:49.328Z Sun culminates 84.25 degrees above the horizon 2024-06-07T18:33:09.602Z Moon culminates 89.77 degrees above the horizon -2024-06-08T00:21:16.201Z sunset -2024-06-08T01:58:07.239Z moonset -2024-06-08T10:26:28.278Z sunrise -2024-06-08T12:08:03.886Z moonrise +2024-06-08T00:21:16.418Z sunset +2024-06-08T01:58:07.445Z moonset +2024-06-08T10:26:28.102Z sunrise +2024-06-08T12:08:03.664Z moonrise 2024-06-08T17:24:01.050Z Sun culminates 84.33 degrees above the horizon 2024-06-08T19:31:08.738Z Moon culminates 88.73 degrees above the horizon -2024-06-09T00:21:41.603Z sunset -2024-06-09T02:50:39.608Z moonset -2024-06-09T10:26:27.012Z sunrise -2024-06-09T13:09:54.526Z moonrise +2024-06-09T00:21:41.822Z sunset +2024-06-09T02:50:39.788Z moonset +2024-06-09T10:26:26.835Z sunrise +2024-06-09T13:09:54.308Z moonrise 2024-06-09T17:24:13.008Z Sun culminates 84.41 degrees above the horizon 2024-06-09T20:25:24.096Z Moon culminates 86.10 degrees above the horizon -2024-06-10T00:22:06.168Z sunset +2024-06-10T00:22:06.388Z sunset 2024-06-10T01:37:30.551Z Mars moves from Pisces to Aries -2024-06-10T03:35:12.764Z moonset -2024-06-10T10:26:27.035Z sunrise -2024-06-10T14:10:42.351Z moonrise +2024-06-10T03:35:12.909Z moonset +2024-06-10T10:26:26.856Z sunrise +2024-06-10T14:10:42.178Z moonrise 2024-06-10T17:24:25.178Z Sun culminates 84.49 degrees above the horizon 2024-06-10T21:15:09.637Z Moon culminates 82.23 degrees above the horizon -2024-06-11T00:22:29.860Z sunset -2024-06-11T04:12:53.728Z moonset -2024-06-11T10:26:28.330Z sunrise -2024-06-11T15:08:58.822Z moonrise +2024-06-11T00:22:30.081Z sunset +2024-06-11T04:12:53.826Z moonset +2024-06-11T10:26:28.150Z sunrise +2024-06-11T15:08:58.723Z moonrise 2024-06-11T17:24:37.534Z Sun culminates 84.55 degrees above the horizon 2024-06-11T22:00:40.755Z Moon culminates 77.48 degrees above the horizon -2024-06-12T00:22:52.647Z sunset -2024-06-12T04:45:21.125Z moonset -2024-06-12T10:26:30.882Z sunrise -2024-06-12T16:04:28.659Z moonrise +2024-06-12T00:22:52.869Z sunset +2024-06-12T04:45:21.180Z moonset +2024-06-12T10:26:30.701Z sunrise +2024-06-12T16:04:28.623Z moonrise 2024-06-12T17:24:50.052Z Sun culminates 84.61 degrees above the horizon 2024-06-12T22:42:49.766Z Moon culminates 72.16 degrees above the horizon -2024-06-13T00:23:14.495Z sunset -2024-06-13T05:14:13.734Z moonset -2024-06-13T10:26:34.673Z sunrise +2024-06-13T00:23:14.719Z sunset +2024-06-13T05:14:13.761Z moonset +2024-06-13T10:26:34.491Z sunrise 2024-06-13T15:48:48.895Z Mercury perihelion at 0.3075 AU -2024-06-13T16:57:46.078Z moonrise +2024-06-13T16:57:46.075Z moonrise 2024-06-13T17:25:02.707Z Sun culminates 84.66 degrees above the horizon 2024-06-13T23:22:44.793Z Moon culminates 66.48 degrees above the horizon -2024-06-14T00:23:35.375Z sunset +2024-06-14T00:23:35.599Z sunset 2024-06-14T05:19:10.048Z first quarter -2024-06-14T05:40:59.959Z moonset -2024-06-14T10:26:39.686Z sunrise +2024-06-14T05:40:59.974Z moonset +2024-06-14T10:26:39.503Z sunrise 2024-06-14T13:35:07.726Z lunar apogee at 404064 km 2024-06-14T16:18:25.859Z Mercury superior conjunction 2024-06-14T17:25:15.476Z Sun culminates 84.71 degrees above the horizon -2024-06-14T17:49:50.901Z moonrise +2024-06-14T17:49:50.905Z moonrise 2024-06-15T00:01:38.554Z Moon culminates 60.64 degrees above the horizon -2024-06-15T00:23:55.257Z sunset -2024-06-15T06:06:58.826Z moonset -2024-06-15T10:26:45.903Z sunrise +2024-06-15T00:23:55.482Z sunset +2024-06-15T06:06:58.839Z moonset +2024-06-15T10:26:45.719Z sunrise 2024-06-15T17:25:28.335Z Sun culminates 84.75 degrees above the horizon -2024-06-15T18:41:53.333Z moonrise -2024-06-16T00:24:14.113Z sunset +2024-06-15T18:41:53.341Z moonrise +2024-06-16T00:24:14.339Z sunset 2024-06-16T00:40:44.545Z Moon culminates 54.79 degrees above the horizon -2024-06-16T06:33:25.413Z moonset -2024-06-16T10:26:53.306Z sunrise +2024-06-16T06:33:25.418Z moonset +2024-06-16T10:26:53.121Z sunrise 2024-06-16T17:25:41.264Z Sun culminates 84.78 degrees above the horizon -2024-06-16T19:35:04.873Z moonrise -2024-06-17T00:24:31.918Z sunset +2024-06-16T19:35:04.905Z moonrise +2024-06-17T00:24:32.144Z sunset 2024-06-17T01:21:16.459Z Moon culminates 49.11 degrees above the horizon -2024-06-17T07:01:37.422Z moonset -2024-06-17T10:27:01.877Z sunrise +2024-06-17T07:01:37.402Z moonset +2024-06-17T10:27:01.691Z sunrise 2024-06-17T14:32:36.865Z Mercury moves from Taurus to Gemini 2024-06-17T15:45:36.900Z Venus moves from Taurus to Gemini 2024-06-17T17:25:54.240Z Sun culminates 84.81 degrees above the horizon -2024-06-17T20:30:29.664Z moonrise -2024-06-18T00:24:48.648Z sunset +2024-06-17T20:30:29.761Z moonrise +2024-06-18T00:24:48.874Z sunset 2024-06-18T02:04:27.001Z Moon culminates 43.79 degrees above the horizon -2024-06-18T07:33:01.147Z moonset -2024-06-18T10:27:11.598Z sunrise +2024-06-18T07:33:01.079Z moonset +2024-06-18T10:27:11.411Z sunrise 2024-06-18T17:26:07.242Z Sun culminates 84.82 degrees above the horizon -2024-06-18T21:28:50.345Z moonrise -2024-06-19T00:25:04.280Z sunset +2024-06-18T21:28:50.537Z moonrise +2024-06-19T00:25:04.507Z sunset 2024-06-19T02:51:22.149Z Moon culminates 39.10 degrees above the horizon -2024-06-19T08:09:14.114Z moonset -2024-06-19T10:27:22.449Z sunrise +2024-06-19T08:09:13.982Z moonset +2024-06-19T10:27:22.263Z sunrise 2024-06-19T17:26:20.251Z Sun culminates 84.84 degrees above the horizon -2024-06-19T22:30:04.393Z moonrise -2024-06-20T00:25:18.793Z sunset +2024-06-19T22:30:04.664Z moonrise +2024-06-20T00:25:19.020Z sunset 2024-06-20T03:42:46.574Z Moon culminates 35.37 degrees above the horizon -2024-06-20T08:51:58.150Z moonset -2024-06-20T10:27:34.413Z sunrise +2024-06-20T08:51:57.957Z moonset +2024-06-20T10:27:34.226Z sunrise 2024-06-20T17:26:33.246Z Sun culminates 84.84 degrees above the horizon 2024-06-20T20:51:00.974Z June solstice -2024-06-20T23:32:56.409Z moonrise -2024-06-21T00:25:32.168Z sunset +2024-06-20T23:32:56.710Z moonrise +2024-06-21T00:25:32.395Z sunset 2024-06-21T04:38:39.212Z Moon culminates 32.98 degrees above the horizon -2024-06-21T09:42:32.917Z moonset -2024-06-21T10:27:47.468Z sunrise +2024-06-21T09:42:32.673Z moonset +2024-06-21T10:27:47.281Z sunrise 2024-06-21T17:26:46.209Z Sun culminates 84.84 degrees above the horizon -2024-06-22T00:25:44.385Z sunset -2024-06-22T00:34:51.939Z moonrise +2024-06-22T00:25:44.611Z sunset +2024-06-22T00:34:52.224Z moonrise 2024-06-22T01:08:24.981Z full moon 2024-06-22T05:37:50.307Z Moon culminates 32.27 degrees above the horizon -2024-06-22T10:28:01.595Z sunrise -2024-06-22T10:41:07.427Z moonset +2024-06-22T10:28:01.409Z sunrise +2024-06-22T10:41:07.142Z moonset 2024-06-22T17:26:59.118Z Sun culminates 84.83 degrees above the horizon -2024-06-23T00:25:55.426Z sunset -2024-06-23T01:32:45.127Z moonrise +2024-06-23T00:25:55.652Z sunset +2024-06-23T01:32:45.375Z moonrise 2024-06-23T06:38:06.830Z Moon culminates 33.45 degrees above the horizon -2024-06-23T10:28:16.774Z sunrise -2024-06-23T11:46:00.274Z moonset +2024-06-23T10:28:16.587Z sunrise +2024-06-23T11:45:59.975Z moonset 2024-06-23T17:27:11.956Z Sun culminates 84.81 degrees above the horizon -2024-06-24T00:26:05.273Z sunset -2024-06-24T02:24:23.827Z moonrise +2024-06-24T00:26:05.499Z sunset +2024-06-24T02:24:24.022Z moonrise 2024-06-24T07:37:01.506Z Moon culminates 36.48 degrees above the horizon -2024-06-24T10:28:32.981Z sunrise -2024-06-24T12:54:04.652Z moonset +2024-06-24T10:28:32.795Z sunrise +2024-06-24T12:54:04.399Z moonset 2024-06-24T17:27:24.703Z Sun culminates 84.79 degrees above the horizon -2024-06-25T00:26:13.910Z sunset -2024-06-25T03:09:19.548Z moonrise +2024-06-25T00:26:14.135Z sunset +2024-06-25T03:09:19.673Z moonrise 2024-06-25T08:32:54.392Z Moon culminates 41.12 degrees above the horizon -2024-06-25T10:28:50.196Z sunrise -2024-06-25T14:02:17.589Z moonset +2024-06-25T10:28:50.010Z sunrise +2024-06-25T14:02:17.441Z moonset 2024-06-25T17:27:37.338Z Sun culminates 84.76 degrees above the horizon -2024-06-26T00:26:21.319Z sunset -2024-06-26T03:48:29.551Z moonrise +2024-06-26T00:26:21.543Z sunset +2024-06-26T03:48:29.609Z moonrise 2024-06-26T09:25:19.979Z Moon culminates 46.96 degrees above the horizon -2024-06-26T10:29:08.395Z sunrise -2024-06-26T15:08:54.215Z moonset +2024-06-26T10:29:08.210Z sunrise +2024-06-26T15:08:54.168Z moonset 2024-06-26T17:27:49.842Z Sun culminates 84.72 degrees above the horizon -2024-06-27T00:26:27.483Z sunset -2024-06-27T04:23:31.562Z moonrise +2024-06-27T00:26:27.707Z sunset +2024-06-27T04:23:31.583Z moonrise 2024-06-27T10:14:54.269Z Moon culminates 53.60 degrees above the horizon -2024-06-27T10:29:27.554Z sunrise +2024-06-27T10:29:27.369Z sunrise 2024-06-27T11:29:02.827Z lunar perigee at 369276 km -2024-06-27T16:13:38.336Z moonset +2024-06-27T16:13:38.332Z moonset 2024-06-27T17:28:02.194Z Sun culminates 84.68 degrees above the horizon -2024-06-28T00:26:32.388Z sunset -2024-06-28T04:56:12.080Z moonrise -2024-06-28T10:29:47.647Z sunrise +2024-06-28T00:26:32.611Z sunset +2024-06-28T04:56:12.089Z moonrise +2024-06-28T10:29:47.463Z sunrise 2024-06-28T11:02:48.242Z Moon culminates 60.62 degrees above the horizon -2024-06-28T17:17:13.142Z moonset +2024-06-28T17:17:13.144Z moonset 2024-06-28T17:28:14.374Z Sun culminates 84.63 degrees above the horizon 2024-06-28T21:53:55.854Z third quarter -2024-06-29T00:26:36.017Z sunset -2024-06-29T05:28:15.044Z moonrise -2024-06-29T10:30:08.647Z sunrise +2024-06-29T00:26:36.238Z sunset +2024-06-29T05:28:15.050Z moonrise +2024-06-29T10:30:08.464Z sunrise 2024-06-29T11:50:26.764Z Moon culminates 67.63 degrees above the horizon 2024-06-29T17:28:26.359Z Sun culminates 84.57 degrees above the horizon -2024-06-29T18:20:46.542Z moonset -2024-06-30T00:26:38.355Z sunset -2024-06-30T06:01:22.126Z moonrise -2024-06-30T10:30:30.525Z sunrise +2024-06-29T18:20:46.555Z moonset +2024-06-30T00:26:38.576Z sunset +2024-06-30T06:01:22.117Z moonrise +2024-06-30T10:30:30.343Z sunrise 2024-06-30T12:39:14.877Z Moon culminates 74.28 degrees above the horizon 2024-06-30T17:28:38.128Z Sun culminates 84.51 degrees above the horizon -2024-06-30T19:25:21.351Z moonset -2024-07-01T00:26:39.389Z sunset -2024-07-01T06:37:15.673Z moonrise +2024-06-30T19:25:21.417Z moonset +2024-07-01T00:26:39.608Z sunset +2024-07-01T06:37:15.625Z moonrise 2024-07-01T09:02:49.836Z Mercury moves from Gemini to Cancer -2024-07-01T10:30:53.251Z sunrise +2024-07-01T10:30:53.070Z sunrise 2024-07-01T13:30:25.401Z Moon culminates 80.17 degrees above the horizon 2024-07-01T17:28:49.659Z Sun culminates 84.44 degrees above the horizon -2024-07-01T20:31:25.922Z moonset -2024-07-02T00:26:39.104Z sunset -2024-07-02T07:17:36.636Z moonrise -2024-07-02T10:31:16.791Z sunrise +2024-07-01T20:31:26.072Z moonset +2024-07-02T00:26:39.321Z sunset +2024-07-02T07:17:36.535Z moonrise +2024-07-02T10:31:16.612Z sunrise 2024-07-02T14:24:41.448Z Moon culminates 84.93 degrees above the horizon 2024-07-02T17:29:00.927Z Sun culminates 84.36 degrees above the horizon -2024-07-02T21:38:23.236Z moonset -2024-07-03T00:26:37.486Z sunset -2024-07-03T08:03:49.104Z moonrise -2024-07-03T10:31:41.113Z sunrise +2024-07-02T21:38:23.451Z moonset +2024-07-03T00:26:37.701Z sunset +2024-07-03T08:03:48.954Z moonrise +2024-07-03T10:31:40.935Z sunrise 2024-07-03T15:21:53.572Z Moon culminates 88.18 degrees above the horizon 2024-07-03T17:29:11.910Z Sun culminates 84.27 degrees above the horizon -2024-07-03T22:44:13.707Z moonset -2024-07-04T00:26:34.522Z sunset -2024-07-04T08:56:26.539Z moonrise -2024-07-04T10:32:06.181Z sunrise +2024-07-03T22:44:13.937Z moonset +2024-07-04T00:26:34.736Z sunset +2024-07-04T08:56:26.351Z moonrise +2024-07-04T10:32:06.005Z sunrise 2024-07-04T16:20:44.853Z Moon culminates 89.68 degrees above the horizon 2024-07-04T17:29:22.582Z Sun culminates 84.18 degrees above the horizon -2024-07-04T23:46:02.685Z moonset -2024-07-05T00:26:30.199Z sunset +2024-07-04T23:46:02.901Z moonset +2024-07-05T00:26:30.411Z sunset 2024-07-05T04:43:09.258Z Earth aphelion at 1.0167 AU -2024-07-05T09:54:34.519Z moonrise -2024-07-05T10:32:31.960Z sunrise +2024-07-05T09:54:34.304Z moonrise +2024-07-05T10:32:31.786Z sunrise 2024-07-05T17:19:06.886Z Moon culminates 89.33 degrees above the horizon 2024-07-05T17:29:32.921Z Sun culminates 84.09 degrees above the horizon 2024-07-05T22:57:59.122Z new moon -2024-07-06T00:26:24.505Z sunset -2024-07-06T00:41:16.740Z moonset -2024-07-06T10:32:58.415Z sunrise -2024-07-06T10:55:51.039Z moonrise +2024-07-06T00:26:24.715Z sunset +2024-07-06T00:41:16.931Z moonset +2024-07-06T10:32:58.243Z sunrise +2024-07-06T10:55:50.814Z moonrise 2024-07-06T17:29:42.901Z Sun culminates 83.98 degrees above the horizon 2024-07-06T18:14:49.994Z Moon culminates 87.29 degrees above the horizon -2024-07-07T00:26:17.427Z sunset -2024-07-07T01:28:51.142Z moonset -2024-07-07T10:33:25.509Z sunrise -2024-07-07T11:57:25.232Z moonrise +2024-07-07T00:26:17.635Z sunset +2024-07-07T01:28:51.303Z moonset +2024-07-07T10:33:25.339Z sunrise +2024-07-07T11:57:25.036Z moonrise 2024-07-07T17:29:52.501Z Sun culminates 83.87 degrees above the horizon 2024-07-07T19:06:33.138Z Moon culminates 83.86 degrees above the horizon -2024-07-08T00:26:08.957Z sunset -2024-07-08T02:09:14.308Z moonset -2024-07-08T10:33:53.207Z sunrise -2024-07-08T12:57:09.569Z moonrise +2024-07-08T00:26:09.162Z sunset +2024-07-08T02:09:14.425Z moonset +2024-07-08T10:33:53.039Z sunrise +2024-07-08T12:57:09.440Z moonrise 2024-07-08T17:30:01.696Z Sun culminates 83.75 degrees above the horizon 2024-07-08T19:53:59.313Z Moon culminates 79.38 degrees above the horizon -2024-07-09T00:25:59.084Z sunset -2024-07-09T02:43:47.509Z moonset -2024-07-09T10:34:21.473Z sunrise -2024-07-09T13:54:10.381Z moonrise +2024-07-09T00:25:59.287Z sunset +2024-07-09T02:43:47.578Z moonset +2024-07-09T10:34:21.308Z sunrise +2024-07-09T13:54:10.324Z moonrise 2024-07-09T17:30:10.466Z Sun culminates 83.63 degrees above the horizon 2024-07-09T20:37:40.261Z Moon culminates 74.21 degrees above the horizon -2024-07-10T00:25:47.801Z sunset +2024-07-10T00:25:48.002Z sunset 2024-07-10T03:13:12.444Z Venus moves from Gemini to Cancer -2024-07-10T03:14:05.962Z moonset +2024-07-10T03:14:05.997Z moonset 2024-07-10T05:28:02.354Z Venus perihelion at 0.7185 AU -2024-07-10T10:34:50.273Z sunrise -2024-07-10T14:48:36.207Z moonrise +2024-07-10T10:34:50.110Z sunrise +2024-07-10T14:48:36.196Z moonrise 2024-07-10T17:30:18.790Z Sun culminates 83.50 degrees above the horizon 2024-07-10T21:18:33.898Z Moon culminates 68.60 degrees above the horizon -2024-07-11T00:25:35.103Z sunset -2024-07-11T03:41:39.671Z moonset -2024-07-11T10:35:19.572Z sunrise +2024-07-11T00:25:35.301Z sunset +2024-07-11T03:41:39.689Z moonset +2024-07-11T10:35:19.412Z sunrise 2024-07-11T14:44:46.204Z Mars moves from Aries to Taurus -2024-07-11T15:41:13.130Z moonrise +2024-07-11T15:41:13.133Z moonrise 2024-07-11T17:30:26.649Z Sun culminates 83.37 degrees above the horizon 2024-07-11T21:57:48.566Z Moon culminates 62.78 degrees above the horizon -2024-07-12T00:25:20.985Z sunset -2024-07-12T04:07:49.458Z moonset +2024-07-12T00:25:21.181Z sunset +2024-07-12T04:07:49.471Z moonset 2024-07-12T08:10:15.416Z lunar apogee at 404349 km -2024-07-12T10:35:49.339Z sunrise -2024-07-12T16:33:05.298Z moonrise +2024-07-12T10:35:49.181Z sunrise +2024-07-12T16:33:05.303Z moonrise 2024-07-12T17:30:34.026Z Sun culminates 83.22 degrees above the horizon 2024-07-12T22:36:35.779Z Moon culminates 56.92 degrees above the horizon -2024-07-13T00:25:05.447Z sunset -2024-07-13T04:33:50.257Z moonset -2024-07-13T10:36:19.540Z sunrise -2024-07-13T17:25:23.191Z moonrise +2024-07-13T00:25:05.640Z sunset +2024-07-13T04:33:50.266Z moonset +2024-07-13T10:36:19.386Z sunrise +2024-07-13T17:25:23.210Z moonrise 2024-07-13T17:30:40.905Z Sun culminates 83.07 degrees above the horizon 2024-07-13T22:49:27.283Z first quarter 2024-07-13T23:16:08.223Z Moon culminates 51.19 degrees above the horizon -2024-07-14T00:24:48.489Z sunset -2024-07-14T05:00:57.049Z moonset -2024-07-14T10:36:50.145Z sunrise +2024-07-14T00:24:48.679Z sunset +2024-07-14T05:00:57.042Z moonset +2024-07-14T10:36:49.994Z sunrise 2024-07-14T14:16:11.268Z Mercury moves from Cancer to Leo 2024-07-14T17:30:47.272Z Sun culminates 82.92 degrees above the horizon -2024-07-14T18:19:15.522Z moonrise +2024-07-14T18:19:15.590Z moonrise 2024-07-14T23:57:39.350Z Moon culminates 45.76 degrees above the horizon -2024-07-15T00:24:30.114Z sunset -2024-07-15T05:30:31.341Z moonset -2024-07-15T10:37:21.126Z sunrise +2024-07-15T00:24:30.300Z sunset +2024-07-15T05:30:31.294Z moonset +2024-07-15T10:37:20.978Z sunrise 2024-07-15T17:30:53.115Z Sun culminates 82.76 degrees above the horizon -2024-07-15T19:15:39.062Z moonrise -2024-07-16T00:24:10.325Z sunset +2024-07-15T19:15:39.216Z moonrise +2024-07-16T00:24:10.508Z sunset 2024-07-16T00:42:20.891Z Moon culminates 40.84 degrees above the horizon -2024-07-16T06:04:06.338Z moonset -2024-07-16T10:37:52.454Z sunrise +2024-07-16T06:04:06.231Z moonset +2024-07-16T10:37:52.309Z sunrise 2024-07-16T17:30:58.422Z Sun culminates 82.59 degrees above the horizon -2024-07-16T20:15:00.845Z moonrise -2024-07-17T00:23:49.130Z sunset +2024-07-16T20:15:01.090Z moonrise +2024-07-17T00:23:49.310Z sunset 2024-07-17T01:31:14.000Z Moon culminates 36.72 degrees above the horizon -2024-07-17T06:43:26.703Z moonset -2024-07-17T10:38:24.102Z sunrise +2024-07-17T06:43:26.533Z moonset +2024-07-17T10:38:23.961Z sunrise 2024-07-17T17:31:03.184Z Sun culminates 82.42 degrees above the horizon -2024-07-17T21:16:51.262Z moonrise -2024-07-18T00:23:26.537Z sunset +2024-07-17T21:16:51.558Z moonrise +2024-07-18T00:23:26.713Z sunset 2024-07-18T02:24:49.995Z Moon culminates 33.74 degrees above the horizon -2024-07-18T07:30:14.126Z moonset -2024-07-18T10:38:56.045Z sunrise +2024-07-18T07:30:13.901Z moonset +2024-07-18T10:38:55.908Z sunrise 2024-07-18T17:31:07.394Z Sun culminates 82.24 degrees above the horizon -2024-07-18T22:19:21.075Z moonrise -2024-07-19T00:23:02.555Z sunset +2024-07-18T22:19:21.371Z moonrise +2024-07-19T00:23:02.728Z sunset 2024-07-19T03:22:43.145Z Moon culminates 32.29 degrees above the horizon -2024-07-19T08:25:28.441Z moonset -2024-07-19T10:39:28.259Z sunrise +2024-07-19T08:25:28.170Z moonset +2024-07-19T10:39:28.126Z sunrise 2024-07-19T17:31:11.045Z Sun culminates 82.06 degrees above the horizon -2024-07-19T23:19:35.406Z moonrise -2024-07-20T00:22:37.196Z sunset +2024-07-19T23:19:35.671Z moonrise +2024-07-20T00:22:37.365Z sunset 2024-07-20T04:23:14.386Z Moon culminates 32.66 degrees above the horizon -2024-07-20T09:28:32.933Z moonset -2024-07-20T10:40:00.722Z sunrise +2024-07-20T09:28:32.632Z moonset +2024-07-20T10:40:00.592Z sunrise 2024-07-20T17:31:14.132Z Sun culminates 81.87 degrees above the horizon -2024-07-21T00:14:43.804Z moonrise -2024-07-21T00:22:10.471Z sunset +2024-07-21T00:14:44.022Z moonrise +2024-07-21T00:22:10.636Z sunset 2024-07-21T05:23:54.789Z Moon culminates 34.99 degrees above the horizon 2024-07-21T10:17:40.740Z full moon -2024-07-21T10:36:54.520Z moonset -2024-07-21T10:40:33.410Z sunrise +2024-07-21T10:36:54.236Z moonset +2024-07-21T10:40:33.285Z sunrise 2024-07-21T17:31:16.649Z Sun culminates 81.67 degrees above the horizon -2024-07-22T00:21:42.394Z sunset -2024-07-22T01:03:19.171Z moonrise +2024-07-22T00:21:42.555Z sunset +2024-07-22T01:03:19.323Z moonrise 2024-07-22T06:22:27.576Z Moon culminates 39.13 degrees above the horizon 2024-07-22T06:43:00.752Z Mercury max evening elongation: 26.94 degrees from Sun -2024-07-22T10:41:06.303Z sunrise -2024-07-22T11:47:05.941Z moonset +2024-07-22T10:41:06.182Z sunrise +2024-07-22T11:47:05.746Z moonset 2024-07-22T17:31:18.595Z Sun culminates 81.47 degrees above the horizon -2024-07-23T00:21:12.978Z sunset -2024-07-23T01:45:36.868Z moonrise +2024-07-23T00:21:13.136Z sunset +2024-07-23T01:45:36.946Z moonrise 2024-07-23T05:22:02.928Z Pluto opposition 2024-07-23T07:17:41.483Z Moon culminates 44.74 degrees above the horizon -2024-07-23T10:41:39.382Z sunrise -2024-07-23T12:56:25.032Z moonset +2024-07-23T10:41:39.265Z sunrise +2024-07-23T12:56:24.952Z moonset 2024-07-23T17:31:19.964Z Sun culminates 81.26 degrees above the horizon -2024-07-24T00:20:42.237Z sunset -2024-07-24T02:22:58.086Z moonrise +2024-07-24T00:20:42.391Z sunset +2024-07-24T02:22:58.115Z moonrise 2024-07-24T05:40:57.587Z lunar perigee at 364906 km 2024-07-24T08:09:39.465Z Moon culminates 51.35 degrees above the horizon -2024-07-24T10:42:12.627Z sunrise -2024-07-24T14:03:44.151Z moonset +2024-07-24T10:42:12.514Z sunrise +2024-07-24T14:03:44.139Z moonset 2024-07-24T17:31:20.756Z Sun culminates 81.05 degrees above the horizon -2024-07-25T00:20:10.185Z sunset -2024-07-25T02:57:07.773Z moonrise +2024-07-25T00:20:10.335Z sunset +2024-07-25T02:57:07.783Z moonrise 2024-07-25T08:59:15.674Z Moon culminates 58.48 degrees above the horizon -2024-07-25T10:42:46.019Z sunrise -2024-07-25T15:09:16.055Z moonset +2024-07-25T10:42:45.911Z sunrise +2024-07-25T15:09:16.056Z moonset 2024-07-25T17:31:20.967Z Sun culminates 80.83 degrees above the horizon -2024-07-26T00:19:36.837Z sunset -2024-07-26T03:29:52.605Z moonrise +2024-07-26T00:19:36.983Z sunset +2024-07-26T03:29:52.612Z moonrise 2024-07-26T06:23:57.986Z Venus moves from Cancer to Leo 2024-07-26T09:47:48.672Z Moon culminates 65.69 degrees above the horizon -2024-07-26T10:43:19.539Z sunrise -2024-07-26T16:13:56.041Z moonset +2024-07-26T10:43:19.436Z sunrise +2024-07-26T16:13:56.047Z moonset 2024-07-26T17:31:20.598Z Sun culminates 80.61 degrees above the horizon -2024-07-27T00:19:02.209Z sunset -2024-07-27T04:02:55.825Z moonrise +2024-07-27T00:19:02.350Z sunset +2024-07-27T04:02:55.821Z moonrise 2024-07-27T10:36:42.519Z Moon culminates 72.57 degrees above the horizon -2024-07-27T10:43:53.170Z sunrise +2024-07-27T10:43:53.072Z sunrise 2024-07-27T15:26:18.746Z Mercury aphelion at 0.4667 AU -2024-07-27T17:18:46.613Z moonset +2024-07-27T17:18:46.661Z moonset 2024-07-27T17:31:19.645Z Sun culminates 80.38 degrees above the horizon -2024-07-28T00:18:26.316Z sunset +2024-07-28T00:18:26.454Z sunset 2024-07-28T02:52:03.032Z third quarter -2024-07-28T04:37:58.916Z moonrise -2024-07-28T10:44:26.892Z sunrise +2024-07-28T04:37:58.881Z moonrise +2024-07-28T10:44:26.799Z sunrise 2024-07-28T11:27:13.105Z Moon culminates 78.74 degrees above the horizon 2024-07-28T17:31:18.108Z Sun culminates 80.14 degrees above the horizon -2024-07-28T18:24:27.081Z moonset -2024-07-29T00:17:49.175Z sunset -2024-07-29T05:16:41.693Z moonrise -2024-07-29T10:45:00.686Z sunrise +2024-07-28T18:24:27.209Z moonset +2024-07-29T00:17:49.308Z sunset +2024-07-29T05:16:41.606Z moonrise +2024-07-29T10:45:00.597Z sunrise 2024-07-29T12:20:13.313Z Moon culminates 83.83 degrees above the horizon 2024-07-29T17:31:15.984Z Sun culminates 79.91 degrees above the horizon -2024-07-29T19:30:44.755Z moonset -2024-07-30T00:17:10.801Z sunset -2024-07-30T06:00:33.035Z moonrise -2024-07-30T10:45:34.530Z sunrise +2024-07-29T19:30:44.958Z moonset +2024-07-30T00:17:10.930Z sunset +2024-07-30T06:00:32.896Z moonrise +2024-07-30T10:45:34.447Z sunrise 2024-07-30T13:15:54.105Z Moon culminates 87.51 degrees above the horizon 2024-07-30T17:31:13.272Z Sun culminates 79.66 degrees above the horizon -2024-07-30T20:36:14.964Z moonset -2024-07-31T00:16:31.211Z sunset -2024-07-31T06:50:26.084Z moonrise -2024-07-31T10:46:08.406Z sunrise +2024-07-30T20:36:15.196Z moonset +2024-07-31T00:16:31.335Z sunset +2024-07-31T06:50:25.906Z moonrise +2024-07-31T10:46:08.328Z sunrise 2024-07-31T14:13:28.356Z Moon culminates 89.52 degrees above the horizon 2024-07-31T17:31:09.969Z Sun culminates 79.41 degrees above the horizon -2024-07-31T21:38:32.508Z moonset -2024-08-01T00:15:50.420Z sunset -2024-08-01T07:46:03.525Z moonrise -2024-08-01T10:46:42.293Z sunrise +2024-07-31T21:38:32.731Z moonset +2024-08-01T00:15:50.540Z sunset +2024-08-01T07:46:03.316Z moonrise +2024-08-01T10:46:42.220Z sunrise 2024-08-01T15:11:14.845Z Moon culminates 89.75 degrees above the horizon 2024-08-01T17:31:06.073Z Sun culminates 79.16 degrees above the horizon -2024-08-01T22:35:07.879Z moonset -2024-08-02T00:15:08.443Z sunset -2024-08-02T08:45:42.104Z moonrise -2024-08-02T10:47:16.171Z sunrise +2024-08-01T22:35:08.082Z moonset +2024-08-02T00:15:08.559Z sunset +2024-08-02T08:45:41.878Z moonrise +2024-08-02T10:47:16.103Z sunrise 2024-08-02T16:07:13.057Z Moon culminates 88.26 degrees above the horizon 2024-08-02T17:31:01.582Z Sun culminates 78.90 degrees above the horizon -2024-08-02T23:24:34.601Z moonset -2024-08-03T00:14:25.297Z sunset -2024-08-03T09:46:46.824Z moonrise -2024-08-03T10:47:50.020Z sunrise +2024-08-02T23:24:34.775Z moonset +2024-08-03T00:14:25.408Z sunset +2024-08-03T09:46:46.612Z moonrise +2024-08-03T10:47:49.957Z sunrise 2024-08-03T16:59:50.325Z Moon culminates 85.28 degrees above the horizon 2024-08-03T17:30:56.494Z Sun culminates 78.64 degrees above the horizon -2024-08-04T00:06:53.187Z moonset -2024-08-04T00:13:40.996Z sunset -2024-08-04T10:46:57.050Z moonrise -2024-08-04T10:48:23.821Z sunrise +2024-08-04T00:06:53.322Z moonset +2024-08-04T00:13:41.103Z sunset +2024-08-04T10:46:56.894Z moonrise +2024-08-04T10:48:23.763Z sunrise 2024-08-04T11:13:40.668Z new moon 2024-08-04T17:30:50.806Z Sun culminates 78.37 degrees above the horizon 2024-08-04T17:48:28.355Z Moon culminates 81.14 degrees above the horizon -2024-08-05T00:12:55.557Z sunset -2024-08-05T00:43:05.956Z moonset -2024-08-05T10:48:57.555Z sunrise -2024-08-05T11:44:51.987Z moonrise +2024-08-05T00:12:55.659Z sunset +2024-08-05T00:43:06.043Z moonset +2024-08-05T10:48:57.502Z sunrise +2024-08-05T11:44:51.905Z moonrise 2024-08-05T17:30:44.519Z Sun culminates 78.09 degrees above the horizon 2024-08-05T18:33:19.389Z Moon culminates 76.17 degrees above the horizon -2024-08-06T00:12:08.994Z sunset -2024-08-06T01:14:39.588Z moonset -2024-08-06T10:49:31.205Z sunrise -2024-08-06T12:40:14.469Z moonrise +2024-08-06T00:12:09.093Z sunset +2024-08-06T01:14:39.633Z moonset +2024-08-06T10:49:31.157Z sunrise +2024-08-06T12:40:14.445Z moonrise 2024-08-06T16:58:37.199Z Mercury moves from Leo to Sextans 2024-08-06T17:30:37.631Z Sun culminates 77.82 degrees above the horizon 2024-08-06T19:15:07.754Z Moon culminates 70.66 degrees above the horizon -2024-08-07T00:11:21.326Z sunset -2024-08-07T01:43:01.349Z moonset -2024-08-07T10:50:04.755Z sunrise -2024-08-07T13:33:31.941Z moonrise +2024-08-07T00:11:21.420Z sunset +2024-08-07T01:43:01.371Z moonset +2024-08-07T10:50:04.713Z sunrise +2024-08-07T13:33:31.942Z moonrise 2024-08-07T17:30:30.144Z Sun culminates 77.53 degrees above the horizon 2024-08-07T19:54:53.080Z Moon culminates 64.86 degrees above the horizon -2024-08-08T00:10:32.570Z sunset -2024-08-08T02:09:30.911Z moonset -2024-08-08T10:50:38.190Z sunrise -2024-08-08T14:25:36.259Z moonrise +2024-08-08T00:10:32.659Z sunset +2024-08-08T02:09:30.926Z moonset +2024-08-08T10:50:38.153Z sunrise +2024-08-08T14:25:36.263Z moonrise 2024-08-08T17:30:22.058Z Sun culminates 77.25 degrees above the horizon 2024-08-08T20:33:40.732Z Moon culminates 58.98 degrees above the horizon -2024-08-09T00:09:42.743Z sunset +2024-08-09T00:09:42.829Z sunset 2024-08-09T01:31:09.837Z lunar apogee at 405285 km -2024-08-09T02:35:21.154Z moonset -2024-08-09T10:51:11.496Z sunrise -2024-08-09T15:17:29.970Z moonrise +2024-08-09T02:35:21.165Z moonset +2024-08-09T10:51:11.464Z sunrise +2024-08-09T15:17:29.981Z moonrise 2024-08-09T17:30:13.378Z Sun culminates 76.96 degrees above the horizon 2024-08-09T21:12:38.121Z Moon culminates 53.18 degrees above the horizon -2024-08-10T00:08:51.865Z sunset -2024-08-10T03:01:42.772Z moonset -2024-08-10T10:51:44.661Z sunrise -2024-08-10T16:10:17.568Z moonrise +2024-08-10T00:08:51.947Z sunset +2024-08-10T03:01:42.773Z moonset +2024-08-10T10:51:44.634Z sunrise +2024-08-10T16:10:17.614Z moonrise 2024-08-10T17:30:04.107Z Sun culminates 76.66 degrees above the horizon 2024-08-10T21:52:53.817Z Moon culminates 47.64 degrees above the horizon -2024-08-11T00:07:59.958Z sunset -2024-08-11T03:29:50.109Z moonset -2024-08-11T10:52:17.675Z sunrise +2024-08-11T00:08:00.035Z sunset +2024-08-11T03:29:50.079Z moonset +2024-08-11T10:52:17.653Z sunrise 2024-08-11T12:56:42.680Z Mercury moves from Sextans to Leo -2024-08-11T17:04:57.309Z moonrise +2024-08-11T17:04:57.429Z moonrise 2024-08-11T17:29:54.251Z Sun culminates 76.37 degrees above the horizon 2024-08-11T22:35:36.423Z Moon culminates 42.56 degrees above the horizon -2024-08-12T00:07:07.041Z sunset -2024-08-12T04:01:06.740Z moonset -2024-08-12T10:52:50.530Z sunrise +2024-08-12T00:07:07.114Z sunset +2024-08-12T04:01:06.657Z moonset +2024-08-12T10:52:50.513Z sunrise 2024-08-12T15:19:24.209Z first quarter 2024-08-12T17:29:43.817Z Sun culminates 76.06 degrees above the horizon -2024-08-12T18:02:08.742Z moonrise +2024-08-12T18:02:08.956Z moonrise 2024-08-12T23:21:49.864Z Moon culminates 38.15 degrees above the horizon -2024-08-13T00:06:13.137Z sunset -2024-08-13T04:37:08.448Z moonset -2024-08-13T10:53:23.218Z sunrise +2024-08-13T00:06:13.207Z sunset +2024-08-13T04:37:08.302Z moonset +2024-08-13T10:53:23.206Z sunrise 2024-08-13T17:29:32.814Z Sun culminates 75.76 degrees above the horizon -2024-08-13T19:01:52.581Z moonrise -2024-08-14T00:05:18.271Z sunset +2024-08-13T19:01:52.864Z moonrise +2024-08-14T00:05:18.337Z sunset 2024-08-14T00:12:21.327Z Moon culminates 34.71 degrees above the horizon -2024-08-14T05:19:38.032Z moonset -2024-08-14T10:53:55.735Z sunrise +2024-08-14T05:19:37.828Z moonset +2024-08-14T10:53:55.728Z sunrise 2024-08-14T17:29:21.252Z Sun culminates 75.45 degrees above the horizon -2024-08-14T20:03:06.887Z moonrise -2024-08-15T00:04:22.467Z sunset +2024-08-14T20:03:07.190Z moonrise +2024-08-15T00:04:22.529Z sunset 2024-08-15T01:07:20.143Z Moon culminates 32.58 degrees above the horizon -2024-08-15T06:10:02.429Z moonset -2024-08-15T10:54:28.078Z sunrise +2024-08-15T06:10:02.177Z moonset +2024-08-15T10:54:28.076Z sunrise 2024-08-15T17:29:09.143Z Sun culminates 75.13 degrees above the horizon -2024-08-15T21:03:39.654Z moonrise -2024-08-16T00:03:25.751Z sunset +2024-08-15T21:03:39.938Z moonrise +2024-08-16T00:03:25.809Z sunset 2024-08-16T02:05:55.309Z Moon culminates 32.11 degrees above the horizon -2024-08-16T07:08:47.424Z moonset -2024-08-16T10:55:00.246Z sunrise +2024-08-16T07:08:47.132Z moonset +2024-08-16T10:55:00.248Z sunrise 2024-08-16T17:28:56.498Z Sun culminates 74.82 degrees above the horizon -2024-08-16T22:00:45.508Z moonrise -2024-08-17T00:02:28.148Z sunset +2024-08-16T22:00:45.752Z moonrise +2024-08-17T00:02:28.203Z sunset 2024-08-17T03:06:13.768Z Moon culminates 33.51 degrees above the horizon -2024-08-17T08:14:33.601Z moonset -2024-08-17T10:55:32.237Z sunrise +2024-08-17T08:14:33.298Z moonset +2024-08-17T10:55:32.244Z sunrise 2024-08-17T17:28:43.331Z Sun culminates 74.49 degrees above the horizon -2024-08-17T22:52:18.703Z moonrise -2024-08-18T00:01:29.686Z sunset +2024-08-17T22:52:18.890Z moonrise +2024-08-18T00:01:29.737Z sunset 2024-08-18T04:05:57.855Z Moon culminates 36.84 degrees above the horizon -2024-08-18T09:24:27.448Z moonset -2024-08-18T10:56:04.055Z sunrise +2024-08-18T09:24:27.199Z moonset +2024-08-18T10:56:04.066Z sunrise 2024-08-18T17:28:29.657Z Sun culminates 74.17 degrees above the horizon -2024-08-18T23:37:43.877Z moonrise -2024-08-19T00:00:30.392Z sunset +2024-08-18T23:37:43.989Z moonrise +2024-08-19T00:00:30.439Z sunset 2024-08-19T01:50:25.155Z Mercury inferior conjunction 2024-08-19T05:03:22.941Z Moon culminates 41.88 degrees above the horizon -2024-08-19T10:35:21.425Z moonset -2024-08-19T10:56:35.701Z sunrise +2024-08-19T10:35:21.291Z moonset +2024-08-19T10:56:35.716Z sunrise 2024-08-19T17:28:15.492Z Sun culminates 73.84 degrees above the horizon 2024-08-19T18:26:18.287Z full moon -2024-08-19T23:59:30.292Z sunset -2024-08-20T00:17:48.236Z moonrise +2024-08-19T23:59:30.337Z sunset +2024-08-20T00:17:48.282Z moonrise 2024-08-20T05:57:51.575Z Moon culminates 48.24 degrees above the horizon -2024-08-20T10:57:07.180Z sunrise -2024-08-20T11:45:14.508Z moonset +2024-08-20T10:57:07.200Z sunrise +2024-08-20T11:45:14.474Z moonset 2024-08-20T17:28:00.851Z Sun culminates 73.51 degrees above the horizon -2024-08-20T23:58:29.415Z sunset -2024-08-21T00:54:03.119Z moonrise +2024-08-20T23:58:29.457Z sunset +2024-08-21T00:54:03.133Z moonrise 2024-08-21T05:02:29.217Z lunar perigee at 360186 km 2024-08-21T06:49:48.683Z Moon culminates 55.44 degrees above the horizon -2024-08-21T10:57:38.497Z sunrise -2024-08-21T12:53:33.347Z moonset +2024-08-21T10:57:38.521Z sunrise +2024-08-21T12:53:33.346Z moonset 2024-08-21T17:27:45.750Z Sun culminates 73.18 degrees above the horizon -2024-08-21T23:57:27.788Z sunset -2024-08-22T01:28:13.160Z moonrise +2024-08-21T23:57:27.826Z sunset +2024-08-22T01:28:13.167Z moonrise 2024-08-22T07:40:17.456Z Moon culminates 62.94 degrees above the horizon -2024-08-22T10:58:09.659Z sunrise -2024-08-22T14:00:46.195Z moonset +2024-08-22T10:58:09.687Z sunrise +2024-08-22T14:00:46.197Z moonset 2024-08-22T17:27:30.206Z Sun culminates 72.84 degrees above the horizon -2024-08-22T23:56:25.437Z sunset -2024-08-23T02:02:03.202Z moonrise +2024-08-22T23:56:25.473Z sunset +2024-08-23T02:02:03.203Z moonrise 2024-08-23T08:30:36.028Z Moon culminates 70.25 degrees above the horizon -2024-08-23T10:58:40.671Z sunrise -2024-08-23T15:07:44.540Z moonset +2024-08-23T10:58:40.703Z sunrise +2024-08-23T15:07:44.569Z moonset 2024-08-23T17:27:14.237Z Sun culminates 72.50 degrees above the horizon -2024-08-23T23:55:22.391Z sunset -2024-08-24T02:37:16.150Z moonrise +2024-08-23T23:55:22.424Z sunset +2024-08-24T02:37:16.128Z moonrise 2024-08-24T09:09:29.002Z Venus moves from Leo to Virgo 2024-08-24T09:21:59.711Z Moon culminates 76.92 degrees above the horizon -2024-08-24T10:59:11.541Z sunrise -2024-08-24T16:15:07.547Z moonset +2024-08-24T10:59:11.576Z sunrise +2024-08-24T16:15:07.649Z moonset 2024-08-24T17:26:57.858Z Sun culminates 72.16 degrees above the horizon -2024-08-24T23:54:18.677Z sunset -2024-08-25T03:15:32.529Z moonrise +2024-08-24T23:54:18.707Z sunset +2024-08-25T03:15:32.458Z moonrise 2024-08-25T10:15:24.667Z Moon culminates 82.53 degrees above the horizon -2024-08-25T10:59:42.274Z sunrise -2024-08-25T17:22:50.218Z moonset +2024-08-25T10:59:42.312Z sunrise +2024-08-25T17:22:50.405Z moonset 2024-08-25T17:26:41.088Z Sun culminates 71.81 degrees above the horizon -2024-08-25T23:53:14.322Z sunset -2024-08-26T03:58:23.465Z moonrise +2024-08-25T23:53:14.349Z sunset +2024-08-26T03:58:23.340Z moonrise 2024-08-26T09:26:20.617Z third quarter -2024-08-26T11:00:12.875Z sunrise +2024-08-26T11:00:12.917Z sunrise 2024-08-26T11:11:09.570Z Moon culminates 86.74 degrees above the horizon 2024-08-26T17:26:23.942Z Sun culminates 71.46 degrees above the horizon -2024-08-26T18:29:40.692Z moonset -2024-08-26T23:52:09.352Z sunset -2024-08-27T04:46:50.482Z moonrise -2024-08-27T11:00:43.350Z sunrise +2024-08-26T18:29:40.923Z moonset +2024-08-26T23:52:09.377Z sunset +2024-08-27T04:46:50.313Z moonrise +2024-08-27T11:00:43.395Z sunrise 2024-08-27T12:08:39.752Z Moon culminates 89.27 degrees above the horizon 2024-08-27T17:26:06.435Z Sun culminates 71.11 degrees above the horizon -2024-08-27T19:33:25.714Z moonset -2024-08-27T23:51:03.795Z sunset -2024-08-28T05:40:54.415Z moonrise -2024-08-28T11:01:13.704Z sunrise +2024-08-27T19:33:25.944Z moonset +2024-08-27T23:51:03.818Z sunset +2024-08-28T05:40:54.213Z moonrise +2024-08-28T11:01:13.752Z sunrise 2024-08-28T13:06:28.088Z Moon culminates 89.99 degrees above the horizon 2024-08-28T17:25:48.583Z Sun culminates 70.76 degrees above the horizon -2024-08-28T20:31:38.966Z moonset -2024-08-28T23:49:57.676Z sunset -2024-08-29T06:39:15.856Z moonrise -2024-08-29T11:01:43.940Z sunrise +2024-08-28T20:31:39.178Z moonset +2024-08-28T23:49:57.697Z sunset +2024-08-29T06:39:15.632Z moonrise +2024-08-29T11:01:43.991Z sunrise 2024-08-29T14:02:43.426Z Moon culminates 89.01 degrees above the horizon 2024-08-29T17:25:30.401Z Sun culminates 70.40 degrees above the horizon -2024-08-29T21:22:46.703Z moonset -2024-08-29T23:48:51.019Z sunset -2024-08-30T07:39:36.994Z moonrise -2024-08-30T11:02:14.063Z sunrise +2024-08-29T21:22:46.889Z moonset +2024-08-29T23:48:51.038Z sunset +2024-08-30T07:39:36.771Z moonrise +2024-08-30T11:02:14.117Z sunrise 2024-08-30T14:55:53.643Z Moon culminates 86.47 degrees above the horizon 2024-08-30T17:25:11.903Z Sun culminates 70.04 degrees above the horizon -2024-08-30T22:06:38.526Z moonset -2024-08-30T23:47:43.850Z sunset -2024-08-31T08:39:39.090Z moonrise -2024-08-31T11:02:44.076Z sunrise +2024-08-30T22:06:38.677Z moonset +2024-08-30T23:47:43.867Z sunset +2024-08-31T08:39:38.910Z moonrise +2024-08-31T11:02:44.133Z sunrise 2024-08-31T15:45:14.128Z Moon culminates 82.68 degrees above the horizon 2024-08-31T17:24:53.103Z Sun culminates 69.68 degrees above the horizon -2024-08-31T22:44:09.048Z moonset -2024-08-31T23:46:36.192Z sunset -2024-09-01T09:37:51.181Z moonrise -2024-09-01T11:03:13.983Z sunrise +2024-08-31T22:44:09.153Z moonset +2024-08-31T23:46:36.208Z sunset +2024-09-01T09:37:51.073Z moonrise +2024-09-01T11:03:14.043Z sunrise 2024-09-01T16:30:48.762Z Moon culminates 77.97 degrees above the horizon 2024-09-01T17:24:34.014Z Sun culminates 69.32 degrees above the horizon -2024-09-01T23:16:41.795Z moonset -2024-09-01T23:45:28.069Z sunset -2024-09-02T10:33:42.181Z moonrise -2024-09-02T11:03:43.788Z sunrise +2024-09-01T23:16:41.853Z moonset +2024-09-01T23:45:28.083Z sunset +2024-09-02T10:33:42.141Z moonrise +2024-09-02T11:03:43.850Z sunrise 2024-09-02T17:13:14.567Z Moon culminates 72.61 degrees above the horizon 2024-09-02T17:24:14.650Z Sun culminates 68.95 degrees above the horizon -2024-09-02T23:44:19.504Z sunset -2024-09-02T23:45:43.453Z moonset +2024-09-02T23:44:19.516Z sunset +2024-09-02T23:45:43.481Z moonset 2024-09-03T01:56:13.047Z new moon -2024-09-03T11:04:13.496Z sunrise -2024-09-03T11:27:27.087Z moonrise +2024-09-03T11:04:13.560Z sunrise +2024-09-03T11:27:27.082Z moonrise 2024-09-03T17:23:55.025Z Sun culminates 68.58 degrees above the horizon 2024-09-03T17:53:25.445Z Moon culminates 66.88 degrees above the horizon -2024-09-03T23:43:10.520Z sunset -2024-09-04T00:12:33.491Z moonset -2024-09-04T11:04:43.109Z sunrise -2024-09-04T12:19:47.851Z moonrise +2024-09-03T23:43:10.530Z sunset +2024-09-04T00:12:33.507Z moonset +2024-09-04T11:04:43.175Z sunrise +2024-09-04T12:19:47.855Z moonrise 2024-09-04T17:23:35.153Z Sun culminates 68.21 degrees above the horizon 2024-09-04T18:32:21.815Z Moon culminates 60.98 degrees above the horizon -2024-09-04T23:42:01.140Z sunset -2024-09-05T00:38:23.495Z moonset +2024-09-04T23:42:01.149Z sunset +2024-09-05T00:38:23.508Z moonset 2024-09-05T02:33:28.778Z Mercury max morning elongation: 18.05 degrees from Sun -2024-09-05T11:05:12.633Z sunrise -2024-09-05T13:11:38.973Z moonrise +2024-09-05T11:05:12.701Z sunrise +2024-09-05T13:11:38.980Z moonrise 2024-09-05T14:54:09.145Z lunar apogee at 406199 km 2024-09-05T15:02:53.644Z Mars moves from Taurus to Gemini 2024-09-05T17:23:15.047Z Sun culminates 67.84 degrees above the horizon 2024-09-05T19:11:05.960Z Moon culminates 55.11 degrees above the horizon -2024-09-05T23:40:51.387Z sunset -2024-09-06T01:04:20.837Z moonset -2024-09-06T11:05:42.074Z sunrise -2024-09-06T14:03:58.208Z moonrise +2024-09-05T23:40:51.396Z sunset +2024-09-06T01:04:20.843Z moonset +2024-09-06T11:05:42.144Z sunrise +2024-09-06T14:03:58.238Z moonrise 2024-09-06T17:22:54.722Z Sun culminates 67.47 degrees above the horizon 2024-09-06T19:50:40.601Z Moon culminates 49.45 degrees above the horizon -2024-09-06T23:39:41.287Z sunset -2024-09-07T01:31:33.794Z moonset -2024-09-07T11:06:11.438Z sunrise -2024-09-07T14:57:39.103Z moonrise +2024-09-06T23:39:41.294Z sunset +2024-09-07T01:31:33.777Z moonset +2024-09-07T11:06:11.510Z sunrise +2024-09-07T14:57:39.195Z moonrise 2024-09-07T17:22:34.194Z Sun culminates 67.09 degrees above the horizon 2024-09-07T20:32:08.026Z Moon culminates 44.20 degrees above the horizon -2024-09-07T23:38:30.861Z sunset -2024-09-08T02:01:16.678Z moonset +2024-09-07T23:38:30.867Z sunset +2024-09-08T02:01:16.615Z moonset 2024-09-08T04:19:41.919Z Saturn opposition -2024-09-08T11:06:40.731Z sunrise -2024-09-08T15:53:21.354Z moonrise +2024-09-08T11:06:40.805Z sunrise +2024-09-08T15:53:21.536Z moonrise 2024-09-08T17:22:13.479Z Sun culminates 66.72 degrees above the horizon 2024-09-08T21:16:27.133Z Moon culminates 39.55 degrees above the horizon -2024-09-08T23:37:20.136Z sunset -2024-09-09T02:34:53.371Z moonset -2024-09-09T11:07:09.963Z sunrise +2024-09-08T23:37:20.141Z sunset +2024-09-09T02:34:53.247Z moonset +2024-09-09T11:07:10.039Z sunrise 2024-09-09T15:04:39.562Z Mercury perihelion at 0.3075 AU -2024-09-09T16:51:15.904Z moonrise +2024-09-09T16:51:16.168Z moonrise 2024-09-09T17:21:52.594Z Sun culminates 66.34 degrees above the horizon 2024-09-09T22:04:25.598Z Moon culminates 35.77 degrees above the horizon -2024-09-09T23:36:09.137Z sunset -2024-09-10T03:13:55.867Z moonset -2024-09-10T11:07:39.143Z sunrise +2024-09-09T23:36:09.141Z sunset +2024-09-10T03:13:55.683Z moonset +2024-09-10T11:07:39.220Z sunrise 2024-09-10T17:21:31.556Z Sun culminates 65.96 degrees above the horizon -2024-09-10T17:50:46.029Z moonrise +2024-09-10T17:50:46.332Z moonrise 2024-09-10T22:56:25.340Z Moon culminates 33.15 degrees above the horizon -2024-09-10T23:34:57.889Z sunset -2024-09-11T03:59:51.450Z moonset +2024-09-10T23:34:57.893Z sunset +2024-09-11T03:59:51.217Z moonset 2024-09-11T06:06:14.983Z first quarter -2024-09-11T11:08:08.281Z sunrise +2024-09-11T11:08:08.359Z sunrise 2024-09-11T17:21:10.384Z Sun culminates 65.58 degrees above the horizon -2024-09-11T18:50:15.859Z moonrise -2024-09-11T23:33:46.420Z sunset +2024-09-11T18:50:16.156Z moonrise +2024-09-11T23:33:46.423Z sunset 2024-09-11T23:52:04.374Z Moon culminates 31.98 degrees above the horizon -2024-09-12T04:53:32.433Z moonset -2024-09-12T11:08:37.390Z sunrise +2024-09-12T04:53:32.158Z moonset +2024-09-12T11:08:37.469Z sunrise 2024-09-12T17:20:49.098Z Sun culminates 65.20 degrees above the horizon -2024-09-12T19:47:27.311Z moonrise -2024-09-12T23:32:34.757Z sunset +2024-09-12T19:47:27.578Z moonrise +2024-09-12T23:32:34.760Z sunset 2024-09-13T00:50:07.887Z Moon culminates 32.51 degrees above the horizon -2024-09-13T05:54:36.325Z moonset -2024-09-13T11:09:06.481Z sunrise +2024-09-13T05:54:36.022Z moonset +2024-09-13T11:09:06.561Z sunrise 2024-09-13T17:20:27.719Z Sun culminates 64.81 degrees above the horizon -2024-09-13T20:40:12.118Z moonrise -2024-09-13T23:31:22.928Z sunset +2024-09-13T20:40:12.338Z moonrise +2024-09-13T23:31:22.930Z sunset 2024-09-14T01:48:45.355Z Moon culminates 34.89 degrees above the horizon -2024-09-14T07:01:10.720Z moonset -2024-09-14T11:09:35.569Z sunrise +2024-09-14T07:01:10.434Z moonset +2024-09-14T11:09:35.651Z sunrise 2024-09-14T17:20:06.268Z Sun culminates 64.43 degrees above the horizon -2024-09-14T21:27:26.037Z moonrise -2024-09-14T23:30:10.962Z sunset +2024-09-14T21:27:26.191Z moonrise +2024-09-14T23:30:10.964Z sunset 2024-09-15T02:46:12.609Z Moon culminates 39.05 degrees above the horizon -2024-09-15T08:10:34.629Z moonset -2024-09-15T11:10:04.670Z sunrise +2024-09-15T08:10:34.431Z moonset +2024-09-15T11:10:04.752Z sunrise 2024-09-15T17:19:44.767Z Sun culminates 64.05 degrees above the horizon -2024-09-15T22:09:23.477Z moonrise -2024-09-15T23:28:58.888Z sunset +2024-09-15T22:09:23.556Z moonrise +2024-09-15T23:28:58.890Z sunset 2024-09-16T03:41:31.213Z Moon culminates 44.74 degrees above the horizon -2024-09-16T09:20:31.379Z moonset -2024-09-16T11:10:33.799Z sunrise +2024-09-16T09:20:31.299Z moonset +2024-09-16T11:10:33.883Z sunrise 2024-09-16T17:19:23.239Z Sun culminates 63.66 degrees above the horizon -2024-09-16T22:47:14.226Z moonrise -2024-09-16T23:27:46.736Z sunset +2024-09-16T22:47:14.253Z moonrise +2024-09-16T23:27:46.737Z sunset 2024-09-17T04:34:40.517Z Moon culminates 51.60 degrees above the horizon -2024-09-17T10:29:54.070Z moonset -2024-09-17T11:11:02.974Z sunrise +2024-09-17T10:29:54.059Z moonset +2024-09-17T11:11:03.058Z sunrise 2024-09-17T17:19:01.709Z Sun culminates 63.27 degrees above the horizon -2024-09-17T23:22:33.458Z moonrise -2024-09-17T23:26:34.535Z sunset +2024-09-17T23:22:33.466Z moonrise +2024-09-17T23:26:34.536Z sunset 2024-09-18T02:34:56.991Z full moon 2024-09-18T02:44:11.310Z partial lunar eclipse 2024-09-18T05:26:25.213Z Moon culminates 59.12 degrees above the horizon -2024-09-18T11:11:32.213Z sunrise -2024-09-18T11:38:43.110Z moonset +2024-09-18T11:11:32.297Z sunrise +2024-09-18T11:38:43.111Z moonset 2024-09-18T13:23:43.026Z lunar perigee at 357276 km 2024-09-18T17:18:40.198Z Sun culminates 62.89 degrees above the horizon 2024-09-18T23:25:22.314Z sunset -2024-09-18T23:57:03.885Z moonrise +2024-09-18T23:57:03.890Z moonrise 2024-09-19T06:17:54.735Z Moon culminates 66.79 degrees above the horizon -2024-09-19T11:12:01.533Z sunrise -2024-09-19T12:47:36.418Z moonset +2024-09-19T11:12:01.619Z sunrise +2024-09-19T12:47:36.428Z moonset 2024-09-19T17:18:18.732Z Sun culminates 62.50 degrees above the horizon 2024-09-19T23:24:10.103Z sunset -2024-09-20T00:32:29.794Z moonrise +2024-09-20T00:32:29.786Z moonrise 2024-09-20T07:10:23.784Z Moon culminates 74.06 degrees above the horizon -2024-09-20T11:12:30.954Z sunrise -2024-09-20T13:57:12.423Z moonset +2024-09-20T11:12:31.040Z sunrise +2024-09-20T13:57:12.489Z moonset 2024-09-20T17:17:57.335Z Sun culminates 62.11 degrees above the horizon -2024-09-20T23:22:57.931Z sunset +2024-09-20T23:22:57.932Z sunset 2024-09-21T00:06:54.577Z Neptune opposition -2024-09-21T01:10:35.361Z moonrise +2024-09-21T01:10:35.313Z moonrise 2024-09-21T08:04:53.376Z Moon culminates 80.42 degrees above the horizon -2024-09-21T11:13:00.493Z sunrise -2024-09-21T15:07:32.372Z moonset +2024-09-21T11:13:00.581Z sunrise +2024-09-21T15:07:32.530Z moonset 2024-09-21T17:17:36.030Z Sun culminates 61.72 degrees above the horizon 2024-09-21T23:21:45.829Z sunset -2024-09-22T01:52:58.429Z moonrise +2024-09-22T01:52:58.324Z moonrise 2024-09-22T09:01:49.397Z Moon culminates 85.41 degrees above the horizon -2024-09-22T11:13:30.169Z sunrise +2024-09-22T11:13:30.257Z sunrise 2024-09-22T12:43:52.384Z September equinox -2024-09-22T16:17:28.607Z moonset +2024-09-22T16:17:28.830Z moonset 2024-09-22T17:17:14.840Z Sun culminates 61.33 degrees above the horizon 2024-09-22T18:34:05.965Z Mercury moves from Leo to Virgo 2024-09-22T23:20:33.826Z sunset -2024-09-23T02:40:51.564Z moonrise +2024-09-23T02:40:51.410Z moonrise 2024-09-23T10:00:42.359Z Moon culminates 88.67 degrees above the horizon -2024-09-23T11:13:59.997Z sunrise +2024-09-23T11:14:00.085Z sunrise 2024-09-23T17:16:53.790Z Sun culminates 60.95 degrees above the horizon -2024-09-23T17:24:40.174Z moonset -2024-09-23T23:19:21.950Z sunset -2024-09-24T03:34:29.601Z moonrise +2024-09-23T17:24:40.407Z moonset +2024-09-23T23:19:21.951Z sunset +2024-09-24T03:34:29.406Z moonrise 2024-09-24T11:00:03.787Z Moon culminates 89.94 degrees above the horizon -2024-09-24T11:14:29.993Z sunrise +2024-09-24T11:14:30.082Z sunrise 2024-09-24T17:16:32.900Z Sun culminates 60.56 degrees above the horizon -2024-09-24T18:26:19.083Z moonset +2024-09-24T18:26:19.304Z moonset 2024-09-24T18:50:25.815Z third quarter 2024-09-24T23:18:10.233Z sunset -2024-09-25T04:32:43.854Z moonrise -2024-09-25T11:15:00.171Z sunrise +2024-09-25T04:32:43.635Z moonrise +2024-09-25T11:15:00.261Z sunrise 2024-09-25T11:57:54.098Z Moon culminates 89.59 degrees above the horizon 2024-09-25T17:16:12.193Z Sun culminates 60.17 degrees above the horizon -2024-09-25T19:20:27.252Z moonset +2024-09-25T19:20:27.445Z moonset 2024-09-25T23:16:58.701Z sunset -2024-09-26T05:33:17.569Z moonrise -2024-09-26T11:15:30.546Z sunrise +2024-09-26T05:33:17.341Z moonrise +2024-09-26T11:15:30.636Z sunrise 2024-09-26T12:52:30.644Z Moon culminates 87.48 degrees above the horizon 2024-09-26T17:15:51.688Z Sun culminates 59.78 degrees above the horizon -2024-09-26T20:06:40.671Z moonset -2024-09-26T23:15:47.605Z sunset -2024-09-27T06:33:44.498Z moonrise -2024-09-27T11:16:01.129Z sunrise +2024-09-26T20:06:40.834Z moonset +2024-09-26T23:15:47.383Z sunset +2024-09-27T06:33:44.300Z moonrise +2024-09-27T11:16:01.220Z sunrise 2024-09-27T13:43:01.829Z Moon culminates 84.03 degrees above the horizon 2024-09-27T17:15:31.407Z Sun culminates 59.39 degrees above the horizon -2024-09-27T20:45:53.367Z moonset -2024-09-27T23:14:36.305Z sunset -2024-09-28T07:32:24.395Z moonrise -2024-09-28T11:16:31.934Z sunrise +2024-09-27T20:45:53.487Z moonset +2024-09-27T23:14:36.405Z sunset +2024-09-28T07:32:24.263Z moonrise +2024-09-28T11:16:32.026Z sunrise 2024-09-28T14:29:29.519Z Moon culminates 79.58 degrees above the horizon 2024-09-28T17:15:11.369Z Sun culminates 59.00 degrees above the horizon -2024-09-28T21:19:35.149Z moonset -2024-09-28T23:13:25.496Z sunset -2024-09-29T08:28:39.729Z moonrise -2024-09-29T11:17:02.971Z sunrise +2024-09-28T21:19:35.221Z moonset +2024-09-28T23:13:25.595Z sunset +2024-09-29T08:28:39.670Z moonrise +2024-09-29T11:17:03.063Z sunrise 2024-09-29T15:12:31.802Z Moon culminates 74.41 degrees above the horizon 2024-09-29T17:14:51.591Z Sun culminates 58.61 degrees above the horizon 2024-09-29T20:42:38.707Z Venus moves from Virgo to Libra -2024-09-29T21:49:19.956Z moonset -2024-09-29T23:12:14.980Z sunset -2024-09-30T09:22:42.210Z moonrise -2024-09-30T11:17:34.249Z sunrise +2024-09-29T21:49:19.992Z moonset +2024-09-29T23:12:15.078Z sunset +2024-09-30T09:22:42.198Z moonrise +2024-09-30T11:17:34.342Z sunrise 2024-09-30T15:53:04.446Z Moon culminates 68.80 degrees above the horizon 2024-09-30T17:14:32.092Z Sun culminates 58.22 degrees above the horizon 2024-09-30T20:53:12.683Z Mercury superior conjunction -2024-09-30T22:16:32.728Z moonset -2024-09-30T23:11:04.783Z sunset -2024-10-01T10:15:12.207Z moonrise -2024-10-01T11:18:05.779Z sunrise +2024-09-30T22:16:32.747Z moonset +2024-09-30T23:11:04.880Z sunset +2024-10-01T10:15:12.210Z moonrise +2024-10-01T11:18:05.873Z sunrise 2024-10-01T16:32:09.115Z Moon culminates 62.94 degrees above the horizon 2024-10-01T17:14:12.889Z Sun culminates 57.84 degrees above the horizon -2024-10-01T22:42:28.044Z moonset -2024-10-01T23:09:54.931Z sunset -2024-10-02T11:07:02.987Z moonrise -2024-10-02T11:18:37.569Z sunrise +2024-10-01T22:42:28.058Z moonset +2024-10-01T23:09:55.027Z sunset +2024-10-02T11:07:02.992Z moonrise +2024-10-02T11:18:37.663Z sunrise 2024-10-02T17:10:48.056Z Moon culminates 57.03 degrees above the horizon 2024-10-02T17:13:53.998Z Sun culminates 57.45 degrees above the horizon 2024-10-02T18:49:54.404Z new moon 2024-10-02T19:38:52.284Z lunar apogee at 406504 km -2024-10-02T23:08:13.722Z moonset -2024-10-02T23:08:45.448Z sunset -2024-10-03T11:19:09.626Z sunrise -2024-10-03T11:59:10.743Z moonrise +2024-10-02T23:08:13.732Z moonset +2024-10-02T23:08:45.543Z sunset +2024-10-03T11:19:09.722Z sunrise +2024-10-03T11:59:10.762Z moonrise 2024-10-03T17:13:35.437Z Sun culminates 57.06 degrees above the horizon 2024-10-03T17:50:02.409Z Moon culminates 51.27 degrees above the horizon -2024-10-03T23:07:36.360Z sunset -2024-10-03T23:34:55.897Z moonset -2024-10-04T11:19:41.960Z sunrise -2024-10-04T12:52:27.180Z moonrise +2024-10-03T23:07:36.454Z sunset +2024-10-03T23:34:55.890Z moonset +2024-10-04T11:19:42.056Z sunrise +2024-10-04T12:52:27.247Z moonrise 2024-10-04T17:13:17.222Z Sun culminates 56.68 degrees above the horizon 2024-10-04T18:30:51.382Z Moon culminates 45.85 degrees above the horizon -2024-10-04T23:06:27.691Z sunset -2024-10-05T00:03:43.955Z moonset -2024-10-05T11:20:14.577Z sunrise -2024-10-05T13:47:30.906Z moonrise +2024-10-04T23:06:27.784Z sunset +2024-10-05T00:03:43.909Z moonset +2024-10-05T11:20:14.674Z sunrise +2024-10-05T13:47:31.058Z moonrise 2024-10-05T17:12:59.368Z Sun culminates 56.29 degrees above the horizon 2024-10-05T19:14:09.856Z Moon culminates 40.97 degrees above the horizon -2024-10-05T23:05:19.467Z sunset -2024-10-06T00:35:54.010Z moonset -2024-10-06T11:20:47.484Z sunrise -2024-10-06T14:44:34.779Z moonrise +2024-10-05T23:05:19.559Z sunset +2024-10-06T00:35:53.907Z moonset +2024-10-06T11:20:47.583Z sunrise +2024-10-06T14:44:35.020Z moonrise 2024-10-06T17:12:41.893Z Sun culminates 55.91 degrees above the horizon 2024-10-06T20:00:42.115Z Moon culminates 36.90 degrees above the horizon -2024-10-06T23:04:11.712Z sunset -2024-10-07T01:12:48.396Z moonset -2024-10-07T11:21:20.690Z sunrise -2024-10-07T15:43:09.877Z moonrise +2024-10-06T23:04:11.803Z sunset +2024-10-07T01:12:48.231Z moonset +2024-10-07T11:21:20.790Z sunrise +2024-10-07T15:43:10.172Z moonrise 2024-10-07T17:12:24.813Z Sun culminates 55.53 degrees above the horizon 2024-10-07T20:50:50.335Z Moon culminates 33.88 degrees above the horizon -2024-10-07T23:03:04.454Z sunset -2024-10-08T01:55:46.595Z moonset -2024-10-08T11:21:54.203Z sunrise -2024-10-08T16:41:54.739Z moonrise +2024-10-07T23:03:04.543Z sunset +2024-10-08T01:55:46.379Z moonset +2024-10-08T11:21:54.303Z sunrise +2024-10-08T16:41:55.041Z moonrise 2024-10-08T17:12:08.144Z Sun culminates 55.15 degrees above the horizon 2024-10-08T21:44:20.146Z Moon culminates 32.20 degrees above the horizon -2024-10-08T23:01:57.717Z sunset -2024-10-09T02:45:42.904Z moonset -2024-10-09T11:22:28.029Z sunrise +2024-10-08T23:01:57.805Z sunset +2024-10-09T02:45:42.638Z moonset +2024-10-09T11:22:28.031Z sunrise 2024-10-09T17:11:51.906Z Sun culminates 54.77 degrees above the horizon -2024-10-09T17:38:46.524Z moonrise +2024-10-09T17:38:46.812Z moonrise 2024-10-09T22:40:12.597Z Moon culminates 32.10 degrees above the horizon -2024-10-09T23:00:51.530Z sunset -2024-10-10T03:42:34.762Z moonset -2024-10-10T11:23:02.179Z sunrise +2024-10-09T23:00:51.616Z sunset +2024-10-10T03:42:34.470Z moonset +2024-10-10T11:23:02.180Z sunrise 2024-10-10T17:11:36.115Z Sun culminates 54.39 degrees above the horizon -2024-10-10T18:31:42.444Z moonrise +2024-10-10T18:31:42.687Z moonrise 2024-10-10T18:55:43.621Z first quarter -2024-10-10T22:59:45.919Z sunset +2024-10-10T22:59:46.005Z sunset 2024-10-10T23:36:55.435Z Moon culminates 33.70 degrees above the horizon -2024-10-11T04:45:04.790Z moonset -2024-10-11T11:23:36.660Z sunrise +2024-10-11T04:45:04.493Z moonset +2024-10-11T11:23:36.662Z sunrise 2024-10-11T17:11:20.791Z Sun culminates 54.02 degrees above the horizon -2024-10-11T19:19:29.276Z moonrise -2024-10-11T22:58:40.915Z sunset +2024-10-11T19:19:29.465Z moonrise +2024-10-11T22:58:40.998Z sunset 2024-10-12T00:32:55.355Z Moon culminates 37.00 degrees above the horizon -2024-10-12T05:51:03.790Z moonset -2024-10-12T11:24:11.482Z sunrise +2024-10-12T05:51:03.548Z moonset +2024-10-12T11:24:11.485Z sunrise 2024-10-12T17:11:05.952Z Sun culminates 53.64 degrees above the horizon -2024-10-12T20:02:04.817Z moonrise -2024-10-12T22:57:36.545Z sunset +2024-10-12T20:02:04.933Z moonrise +2024-10-12T22:57:36.627Z sunset 2024-10-13T01:27:12.736Z Moon culminates 41.85 degrees above the horizon -2024-10-13T06:58:27.273Z moonset -2024-10-13T11:24:46.656Z sunrise +2024-10-13T06:58:27.139Z moonset +2024-10-13T11:24:46.660Z sunrise 2024-10-13T17:10:51.620Z Sun culminates 53.27 degrees above the horizon -2024-10-13T20:40:23.775Z moonrise -2024-10-13T22:56:32.839Z sunset +2024-10-13T20:40:23.824Z moonrise +2024-10-13T22:56:32.919Z sunset 2024-10-14T02:19:37.711Z Moon culminates 47.99 degrees above the horizon -2024-10-14T08:06:02.485Z moonset -2024-10-14T11:25:22.192Z sunrise +2024-10-14T08:06:02.448Z moonset +2024-10-14T11:25:22.196Z sunrise 2024-10-14T17:10:37.813Z Sun culminates 52.90 degrees above the horizon -2024-10-14T21:15:51.523Z moonrise -2024-10-14T22:55:29.828Z sunset +2024-10-14T21:15:51.539Z moonrise +2024-10-14T22:55:29.907Z sunset 2024-10-15T03:10:45.006Z Moon culminates 55.07 degrees above the horizon -2024-10-15T09:13:39.062Z moonset -2024-10-15T11:25:58.100Z sunrise +2024-10-15T09:13:39.061Z moonset +2024-10-15T11:25:58.105Z sunrise 2024-10-15T17:10:24.554Z Sun culminates 52.53 degrees above the horizon -2024-10-15T21:50:05.689Z moonrise -2024-10-15T22:54:27.543Z sunset +2024-10-15T21:50:05.696Z moonrise +2024-10-15T22:54:27.620Z sunset 2024-10-16T04:01:38.797Z Moon culminates 62.65 degrees above the horizon -2024-10-16T10:21:51.153Z moonset -2024-10-16T11:26:34.393Z sunrise +2024-10-16T10:21:51.155Z moonset +2024-10-16T11:26:34.399Z sunrise 2024-10-16T17:10:11.863Z Sun culminates 52.16 degrees above the horizon -2024-10-16T22:24:49.119Z moonrise -2024-10-16T22:53:26.014Z sunset +2024-10-16T22:24:49.120Z moonrise +2024-10-16T22:53:26.089Z sunset 2024-10-17T00:52:20.111Z lunar perigee at 357165 km 2024-10-17T04:53:36.359Z Moon culminates 70.21 degrees above the horizon 2024-10-17T11:26:55.422Z full moon -2024-10-17T11:27:11.081Z sunrise -2024-10-17T11:31:26.898Z moonset +2024-10-17T11:27:11.088Z sunrise +2024-10-17T11:31:26.927Z moonset 2024-10-17T12:06:18.807Z Venus moves from Libra to Scorpius 2024-10-17T17:09:59.762Z Sun culminates 51.80 degrees above the horizon -2024-10-17T22:52:25.272Z sunset -2024-10-17T23:01:48.853Z moonrise +2024-10-17T22:52:25.345Z sunset +2024-10-17T23:01:48.830Z moonrise 2024-10-18T05:47:50.680Z Moon culminates 77.22 degrees above the horizon -2024-10-18T11:27:48.176Z sunrise -2024-10-18T12:42:50.750Z moonset +2024-10-18T11:27:48.184Z sunrise +2024-10-18T12:42:50.859Z moonset 2024-10-18T17:09:48.270Z Sun culminates 51.44 degrees above the horizon -2024-10-18T22:51:25.347Z sunset -2024-10-18T23:42:52.880Z moonrise +2024-10-18T22:51:25.418Z sunset +2024-10-18T23:42:52.805Z moonrise 2024-10-19T03:10:24.928Z Mercury moves from Virgo to Libra 2024-10-19T06:45:07.612Z Moon culminates 83.10 degrees above the horizon -2024-10-19T11:28:25.688Z sunrise -2024-10-19T13:55:21.010Z moonset +2024-10-19T11:28:25.697Z sunrise +2024-10-19T13:55:21.208Z moonset 2024-10-19T17:09:37.409Z Sun culminates 51.08 degrees above the horizon -2024-10-19T22:50:26.271Z sunset -2024-10-20T00:29:34.618Z moonrise +2024-10-19T22:50:26.339Z sunset +2024-10-20T00:29:34.487Z moonrise 2024-10-20T07:45:17.407Z Moon culminates 87.36 degrees above the horizon -2024-10-20T11:29:03.625Z sunrise -2024-10-20T15:06:41.579Z moonset +2024-10-20T11:29:03.635Z sunrise +2024-10-20T15:06:41.813Z moonset 2024-10-20T17:09:27.197Z Sun culminates 50.72 degrees above the horizon -2024-10-20T22:49:28.074Z sunset -2024-10-21T01:22:37.882Z moonrise +2024-10-20T22:49:28.139Z sunset +2024-10-21T01:22:37.707Z moonrise 2024-10-21T08:46:55.993Z Moon culminates 89.66 degrees above the horizon -2024-10-21T11:29:41.995Z sunrise -2024-10-21T16:13:28.643Z moonset +2024-10-21T11:29:42.007Z sunrise +2024-10-21T16:13:28.866Z moonset 2024-10-21T17:09:17.655Z Sun culminates 50.37 degrees above the horizon -2024-10-21T22:48:30.787Z sunset -2024-10-22T02:21:15.570Z moonrise +2024-10-21T22:48:30.850Z sunset +2024-10-22T02:21:15.361Z moonrise 2024-10-22T09:47:43.229Z Moon culminates 89.94 degrees above the horizon -2024-10-22T11:30:20.804Z sunrise +2024-10-22T11:30:20.817Z sunrise 2024-10-22T17:09:08.800Z Sun culminates 50.02 degrees above the horizon -2024-10-22T17:12:42.251Z moonset -2024-10-22T22:47:34.441Z sunset -2024-10-23T03:23:06.321Z moonrise +2024-10-22T17:12:42.451Z moonset +2024-10-22T22:47:34.501Z sunset +2024-10-23T03:23:06.094Z moonrise 2024-10-23T10:45:20.891Z Moon culminates 88.37 degrees above the horizon -2024-10-23T11:31:00.057Z sunrise +2024-10-23T11:31:00.072Z sunrise 2024-10-23T14:42:09.159Z Mercury aphelion at 0.4667 AU 2024-10-23T17:09:00.650Z Sun culminates 49.67 degrees above the horizon -2024-10-23T18:03:09.666Z moonset -2024-10-23T22:46:39.065Z sunset -2024-10-24T04:25:15.272Z moonrise +2024-10-23T18:03:09.839Z moonset +2024-10-23T22:46:39.123Z sunset +2024-10-24T04:25:15.059Z moonrise 2024-10-24T08:03:44.673Z third quarter -2024-10-24T11:31:39.756Z sunrise +2024-10-24T11:31:39.772Z sunrise 2024-10-24T11:38:27.530Z Moon culminates 85.30 degrees above the horizon 2024-10-24T15:11:40.559Z Venus moves from Scorpius to Ophiuchus 2024-10-24T17:08:53.220Z Sun culminates 49.32 degrees above the horizon -2024-10-24T18:45:28.568Z moonset -2024-10-24T22:45:44.690Z sunset -2024-10-25T05:25:31.231Z moonrise -2024-10-25T11:32:19.903Z sunrise +2024-10-24T18:45:28.703Z moonset +2024-10-24T22:45:44.745Z sunset +2024-10-25T05:25:31.074Z moonrise +2024-10-25T11:32:19.921Z sunrise 2024-10-25T12:26:51.558Z Moon culminates 81.11 degrees above the horizon 2024-10-25T17:08:46.526Z Sun culminates 48.98 degrees above the horizon -2024-10-25T19:21:15.233Z moonset -2024-10-25T22:44:51.345Z sunset -2024-10-26T06:22:58.837Z moonrise -2024-10-26T11:33:00.497Z sunrise +2024-10-25T19:21:15.320Z moonset +2024-10-25T22:44:51.396Z sunset +2024-10-26T06:22:58.756Z moonrise +2024-10-26T11:33:00.516Z sunrise 2024-10-26T13:11:10.956Z Moon culminates 76.13 degrees above the horizon 2024-10-26T17:08:40.580Z Sun culminates 48.64 degrees above the horizon -2024-10-26T19:52:17.374Z moonset -2024-10-26T22:43:59.055Z sunset -2024-10-27T07:17:45.339Z moonrise -2024-10-27T11:33:41.536Z sunrise +2024-10-26T19:52:17.420Z moonset +2024-10-26T22:43:59.104Z sunset +2024-10-27T07:17:45.315Z moonrise +2024-10-27T11:33:41.557Z sunrise 2024-10-27T13:52:27.523Z Moon culminates 70.64 degrees above the horizon 2024-10-27T17:08:35.396Z Sun culminates 48.30 degrees above the horizon -2024-10-27T20:20:12.526Z moonset -2024-10-27T22:43:07.850Z sunset -2024-10-28T08:10:34.101Z moonrise -2024-10-28T11:34:23.015Z sunrise +2024-10-27T20:20:12.548Z moonset +2024-10-27T22:43:07.896Z sunset +2024-10-28T08:10:34.102Z moonrise +2024-10-28T11:34:23.038Z sunrise 2024-10-28T14:31:50.090Z Moon culminates 64.86 degrees above the horizon 2024-10-28T17:08:30.984Z Sun culminates 47.97 degrees above the horizon -2024-10-28T20:46:24.258Z moonset -2024-10-28T22:42:17.754Z sunset -2024-10-29T09:02:24.080Z moonrise -2024-10-29T11:35:04.928Z sunrise +2024-10-28T20:46:24.272Z moonset +2024-10-28T22:42:17.796Z sunset +2024-10-29T09:02:24.084Z moonrise +2024-10-29T11:35:04.953Z sunrise 2024-10-29T15:10:27.067Z Moon culminates 58.97 degrees above the horizon 2024-10-29T17:08:27.353Z Sun culminates 47.64 degrees above the horizon 2024-10-29T20:40:14.313Z Mars moves from Gemini to Cancer -2024-10-29T21:12:05.877Z moonset -2024-10-29T22:41:28.792Z sunset +2024-10-29T21:12:05.889Z moonset +2024-10-29T22:41:28.832Z sunset 2024-10-29T22:50:12.054Z lunar apogee at 406151 km -2024-10-30T09:54:17.619Z moonrise -2024-10-30T11:35:47.268Z sunrise +2024-10-30T09:54:17.631Z moonrise +2024-10-30T11:35:47.295Z sunrise 2024-10-30T14:26:03.966Z Venus aphelion at 0.7282 AU 2024-10-30T15:49:24.257Z Moon culminates 53.16 degrees above the horizon 2024-10-30T17:08:24.512Z Sun culminates 47.31 degrees above the horizon 2024-10-30T21:38:26.147Z moonset -2024-10-30T22:40:40.989Z sunset -2024-10-31T10:47:12.548Z moonrise -2024-10-31T11:36:30.025Z sunrise +2024-10-30T22:40:41.025Z sunset +2024-10-31T10:47:12.594Z moonrise +2024-10-31T11:36:30.054Z sunrise 2024-10-31T16:29:44.270Z Moon culminates 47.60 degrees above the horizon 2024-10-31T17:08:22.466Z Sun culminates 46.99 degrees above the horizon -2024-10-31T22:06:34.820Z moonset -2024-10-31T22:39:54.368Z sunset -2024-11-01T11:37:13.188Z sunrise -2024-11-01T11:41:53.911Z moonrise +2024-10-31T22:06:34.790Z moonset +2024-10-31T22:39:54.401Z sunset +2024-11-01T11:37:13.219Z sunrise +2024-11-01T11:41:54.032Z moonrise 2024-11-01T12:47:48.043Z new moon 2024-11-01T17:08:21.223Z Sun culminates 46.67 degrees above the horizon 2024-11-01T17:12:24.637Z Moon culminates 42.51 degrees above the horizon -2024-11-01T22:37:46.675Z moonset -2024-11-01T22:39:08.952Z sunset -2024-11-02T11:37:56.744Z sunrise -2024-11-02T12:38:41.790Z moonrise +2024-11-01T22:37:46.592Z moonset +2024-11-01T22:39:08.981Z sunset +2024-11-02T11:37:56.778Z sunrise +2024-11-02T12:38:42.003Z moonrise 2024-11-02T17:03:58.744Z Mercury moves from Libra to Scorpius 2024-11-02T17:08:20.787Z Sun culminates 46.36 degrees above the horizon 2024-11-02T17:58:12.149Z Moon culminates 38.14 degrees above the horizon -2024-11-02T22:38:24.763Z sunset -2024-11-02T23:13:21.817Z moonset -2024-11-03T11:38:40.680Z sunrise -2024-11-03T13:37:14.866Z moonrise +2024-11-02T22:38:24.788Z sunset +2024-11-02T23:13:21.671Z moonset +2024-11-03T11:38:40.716Z sunrise +2024-11-03T13:37:15.147Z moonrise 2024-11-03T17:08:21.161Z Sun culminates 46.05 degrees above the horizon 2024-11-03T18:47:31.749Z Moon culminates 34.76 degrees above the horizon -2024-11-03T22:37:41.822Z sunset -2024-11-03T23:54:38.097Z moonset -2024-11-04T11:39:24.981Z sunrise -2024-11-04T14:36:17.228Z moonrise +2024-11-03T22:37:41.844Z sunset +2024-11-03T23:54:37.896Z moonset +2024-11-04T11:39:25.020Z sunrise +2024-11-04T14:36:17.530Z moonrise 2024-11-04T17:08:22.349Z Sun culminates 45.74 degrees above the horizon 2024-11-04T19:40:11.892Z Moon culminates 32.66 degrees above the horizon -2024-11-04T22:37:00.152Z sunset -2024-11-05T00:42:30.971Z moonset -2024-11-05T11:40:09.631Z sunrise -2024-11-05T15:33:45.431Z moonrise +2024-11-04T22:37:00.171Z sunset +2024-11-05T00:42:30.726Z moonset +2024-11-05T11:40:09.673Z sunrise +2024-11-05T15:33:45.719Z moonrise 2024-11-05T17:08:24.355Z Sun culminates 45.44 degrees above the horizon 2024-11-05T20:35:15.374Z Moon culminates 32.06 degrees above the horizon -2024-11-05T22:36:19.774Z sunset -2024-11-06T01:37:03.405Z moonset -2024-11-06T11:40:54.615Z sunrise -2024-11-06T16:27:27.736Z moonrise +2024-11-05T22:36:19.789Z sunset +2024-11-06T01:37:03.124Z moonset +2024-11-06T11:40:54.659Z sunrise +2024-11-06T16:27:27.992Z moonrise 2024-11-06T17:08:27.180Z Sun culminates 45.14 degrees above the horizon 2024-11-06T21:31:09.113Z Moon culminates 33.12 degrees above the horizon -2024-11-06T22:35:40.710Z sunset -2024-11-07T02:37:06.111Z moonset -2024-11-07T11:41:39.914Z sunrise +2024-11-06T22:35:40.721Z sunset +2024-11-07T02:37:05.815Z moonset +2024-11-07T11:41:39.961Z sunrise 2024-11-07T17:08:30.827Z Sun culminates 44.85 degrees above the horizon -2024-11-07T17:15:57.108Z moonrise +2024-11-07T17:15:57.317Z moonrise 2024-11-07T22:26:15.938Z Moon culminates 35.82 degrees above the horizon -2024-11-07T22:35:02.981Z sunset -2024-11-08T03:40:35.678Z moonset -2024-11-08T11:42:25.513Z sunrise +2024-11-07T22:35:02.988Z sunset +2024-11-08T03:40:35.415Z moonset +2024-11-08T11:42:25.562Z sunrise 2024-11-08T17:08:35.299Z Sun culminates 44.56 degrees above the horizon -2024-11-08T17:58:58.851Z moonrise -2024-11-08T22:34:26.609Z sunset +2024-11-08T17:58:58.995Z moonrise +2024-11-08T22:34:26.612Z sunset 2024-11-08T23:19:30.517Z Moon culminates 40.02 degrees above the horizon 2024-11-08T23:26:23.317Z Venus moves from Ophiuchus to Sagittarius 2024-11-09T02:09:37.522Z Mercury moves from Scorpius to Ophiuchus -2024-11-09T04:45:27.648Z moonset +2024-11-09T04:45:27.477Z moonset 2024-11-09T05:56:04.634Z first quarter -2024-11-09T11:43:11.393Z sunrise +2024-11-09T11:43:11.445Z sunrise 2024-11-09T17:08:40.598Z Sun culminates 44.28 degrees above the horizon -2024-11-09T18:37:19.697Z moonrise +2024-11-09T18:37:19.771Z moonrise 2024-11-09T22:33:51.617Z sunset 2024-11-10T00:10:37.213Z Moon culminates 45.50 degrees above the horizon -2024-11-10T05:50:25.016Z moonset -2024-11-10T11:43:57.537Z sunrise +2024-11-10T05:50:24.949Z moonset +2024-11-10T11:43:57.592Z sunrise 2024-11-10T17:08:46.725Z Sun culminates 44.00 degrees above the horizon -2024-11-10T19:12:20.525Z moonrise -2024-11-10T22:33:18.027Z sunset +2024-11-10T19:12:20.552Z moonrise +2024-11-10T22:33:18.023Z sunset 2024-11-11T01:00:06.253Z Moon culminates 51.96 degrees above the horizon -2024-11-11T06:55:13.318Z moonset -2024-11-11T11:44:43.927Z sunrise +2024-11-11T06:55:13.309Z moonset +2024-11-11T11:44:43.985Z sunrise 2024-11-11T17:08:53.685Z Sun culminates 43.73 degrees above the horizon -2024-11-11T19:45:35.692Z moonrise -2024-11-11T22:32:45.861Z sunset +2024-11-11T19:45:35.702Z moonrise +2024-11-11T22:32:45.853Z sunset 2024-11-12T01:48:59.776Z Moon culminates 59.07 degrees above the horizon 2024-11-12T04:34:20.113Z Mercury moves from Ophiuchus to Scorpius -2024-11-12T08:00:27.876Z moonset -2024-11-12T11:45:30.546Z sunrise +2024-11-12T08:00:27.877Z moonset +2024-11-12T11:45:30.606Z sunrise 2024-11-12T17:09:01.478Z Sun culminates 43.46 degrees above the horizon -2024-11-12T20:18:44.883Z moonrise -2024-11-12T22:32:15.142Z sunset +2024-11-12T20:18:44.889Z moonrise +2024-11-12T22:32:15.130Z sunset 2024-11-13T02:38:37.725Z Moon culminates 66.45 degrees above the horizon -2024-11-13T09:07:09.401Z moonset -2024-11-13T11:46:17.376Z sunrise +2024-11-13T09:07:09.410Z moonset +2024-11-13T11:46:17.439Z sunrise 2024-11-13T17:09:10.107Z Sun culminates 43.20 degrees above the horizon -2024-11-13T20:53:33.189Z moonrise -2024-11-13T22:31:45.891Z sunset +2024-11-13T20:53:33.182Z moonrise +2024-11-13T22:31:45.875Z sunset 2024-11-14T03:30:24.787Z Moon culminates 73.63 degrees above the horizon -2024-11-14T10:16:13.619Z moonset +2024-11-14T10:16:13.679Z moonset 2024-11-14T11:16:21.302Z lunar perigee at 360099 km -2024-11-14T11:47:04.399Z sunrise +2024-11-14T11:47:04.464Z sunrise 2024-11-14T16:40:22.743Z Mercury moves from Scorpius to Ophiuchus 2024-11-14T17:09:19.574Z Sun culminates 42.94 degrees above the horizon -2024-11-14T21:31:52.506Z moonrise -2024-11-14T22:31:18.129Z sunset +2024-11-14T21:31:52.461Z moonrise +2024-11-14T22:31:18.110Z sunset 2024-11-15T04:25:33.039Z Moon culminates 80.09 degrees above the horizon -2024-11-15T11:27:51.236Z moonset -2024-11-15T11:47:51.595Z sunrise +2024-11-15T11:27:51.388Z moonset +2024-11-15T11:47:51.664Z sunrise 2024-11-15T17:09:29.880Z Sun culminates 42.69 degrees above the horizon 2024-11-15T21:29:02.348Z full moon -2024-11-15T22:15:34.936Z moonrise -2024-11-15T22:30:51.878Z sunset +2024-11-15T22:15:34.835Z moonrise +2024-11-15T22:30:51.855Z sunset 2024-11-16T05:24:34.028Z Moon culminates 85.25 degrees above the horizon 2024-11-16T08:11:39.270Z Mercury max evening elongation: 22.55 degrees from Sun -2024-11-16T11:48:38.946Z sunrise -2024-11-16T12:40:41.656Z moonset +2024-11-16T11:48:39.017Z sunrise +2024-11-16T12:40:41.877Z moonset 2024-11-16T17:09:41.023Z Sun culminates 42.44 degrees above the horizon -2024-11-16T22:30:27.156Z sunset -2024-11-16T23:06:05.948Z moonrise +2024-11-16T22:30:27.129Z sunset +2024-11-16T23:06:05.795Z moonrise 2024-11-17T02:29:44.821Z Uranus opposition 2024-11-17T06:26:44.507Z Moon culminates 88.63 degrees above the horizon -2024-11-17T11:49:26.430Z sunrise -2024-11-17T13:51:34.549Z moonset +2024-11-17T11:49:26.504Z sunrise +2024-11-17T13:51:34.779Z moonset 2024-11-17T17:09:53.004Z Sun culminates 42.20 degrees above the horizon -2024-11-17T22:30:03.983Z sunset -2024-11-18T00:03:33.487Z moonrise +2024-11-17T22:30:03.953Z sunset +2024-11-18T00:03:33.294Z moonrise 2024-11-18T07:29:53.960Z Moon culminates 89.92 degrees above the horizon -2024-11-18T11:50:14.024Z sunrise -2024-11-18T14:56:31.660Z moonset +2024-11-18T11:50:14.101Z sunrise +2024-11-18T14:56:31.869Z moonset 2024-11-18T17:10:05.820Z Sun culminates 41.96 degrees above the horizon -2024-11-18T22:29:42.378Z sunset -2024-11-19T01:06:07.065Z moonrise +2024-11-18T22:29:42.344Z sunset +2024-11-19T01:06:06.844Z moonrise 2024-11-19T08:31:07.532Z Moon culminates 89.16 degrees above the horizon -2024-11-19T11:51:01.704Z sunrise -2024-11-19T15:52:47.635Z moonset +2024-11-19T11:51:01.783Z sunrise +2024-11-19T15:52:47.817Z moonset 2024-11-19T17:10:19.468Z Sun culminates 41.73 degrees above the horizon -2024-11-19T22:29:22.358Z sunset -2024-11-20T02:10:28.998Z moonrise +2024-11-19T22:29:22.321Z sunset +2024-11-20T02:10:28.774Z moonrise 2024-11-20T09:28:05.167Z Moon culminates 86.62 degrees above the horizon -2024-11-20T11:51:49.442Z sunrise -2024-11-20T16:39:55.853Z moonset +2024-11-20T11:51:49.524Z sunrise +2024-11-20T16:39:56.000Z moonset 2024-11-20T17:10:33.942Z Sun culminates 41.51 degrees above the horizon -2024-11-20T22:29:03.940Z sunset -2024-11-21T03:13:31.757Z moonrise +2024-11-20T22:29:03.900Z sunset +2024-11-21T03:13:31.575Z moonrise 2024-11-21T10:19:50.044Z Moon culminates 82.74 degrees above the horizon -2024-11-21T11:52:37.212Z sunrise +2024-11-21T11:52:37.296Z sunrise 2024-11-21T17:10:49.237Z Sun culminates 41.29 degrees above the horizon -2024-11-21T17:19:13.920Z moonset -2024-11-21T22:28:47.140Z sunset -2024-11-22T04:13:30.928Z moonrise +2024-11-21T17:19:14.022Z moonset +2024-11-21T22:28:47.097Z sunset +2024-11-22T04:13:30.821Z moonrise 2024-11-22T11:06:40.415Z Moon culminates 77.94 degrees above the horizon -2024-11-22T11:53:24.984Z sunrise +2024-11-22T11:53:25.070Z sunrise 2024-11-22T17:11:05.344Z Sun culminates 41.08 degrees above the horizon -2024-11-22T17:52:37.336Z moonset -2024-11-22T22:28:31.971Z sunset +2024-11-22T17:52:37.393Z moonset +2024-11-22T22:28:31.924Z sunset 2024-11-23T01:28:38.353Z third quarter -2024-11-23T05:10:09.011Z moonrise +2024-11-23T05:10:08.971Z moonrise 2024-11-23T11:49:36.426Z Moon culminates 72.55 degrees above the horizon -2024-11-23T11:54:12.725Z sunrise +2024-11-23T11:54:12.814Z sunrise 2024-11-23T17:11:22.253Z Sun culminates 40.88 degrees above the horizon -2024-11-23T18:21:58.436Z moonset -2024-11-23T22:28:18.443Z sunset -2024-11-24T06:04:03.762Z moonrise -2024-11-24T11:55:00.403Z sunrise +2024-11-23T18:21:58.463Z moonset +2024-11-23T22:28:18.394Z sunset +2024-11-24T06:04:03.758Z moonrise +2024-11-24T11:55:00.495Z sunrise 2024-11-24T12:29:53.105Z Moon culminates 66.82 degrees above the horizon 2024-11-24T17:11:39.952Z Sun culminates 40.68 degrees above the horizon -2024-11-24T18:48:53.804Z moonset -2024-11-24T22:28:06.566Z sunset -2024-11-25T06:56:18.318Z moonrise -2024-11-25T11:55:47.982Z sunrise +2024-11-24T18:48:53.820Z moonset +2024-11-24T22:28:06.514Z sunset +2024-11-25T06:56:18.322Z moonrise +2024-11-25T11:55:48.076Z sunrise 2024-11-25T13:08:46.873Z Moon culminates 60.96 degrees above the horizon 2024-11-25T17:11:58.427Z Sun culminates 40.48 degrees above the horizon -2024-11-25T19:14:45.902Z moonset -2024-11-25T22:27:56.348Z sunset -2024-11-26T07:48:03.324Z moonrise +2024-11-25T19:14:45.915Z moonset +2024-11-25T22:27:56.292Z sunset +2024-11-26T07:48:03.332Z moonrise 2024-11-26T11:55:53.340Z lunar apogee at 405303 km -2024-11-26T11:56:35.425Z sunrise +2024-11-26T11:56:35.521Z sunrise 2024-11-26T13:47:31.207Z Moon culminates 55.12 degrees above the horizon 2024-11-26T17:12:17.661Z Sun culminates 40.30 degrees above the horizon -2024-11-26T19:40:49.185Z moonset -2024-11-26T22:27:47.791Z sunset -2024-11-27T08:40:27.171Z moonrise -2024-11-27T11:57:22.692Z sunrise +2024-11-26T19:40:49.191Z moonset +2024-11-26T22:27:47.733Z sunset +2024-11-27T08:40:27.201Z moonrise +2024-11-27T11:57:22.791Z sunrise 2024-11-27T14:27:16.021Z Moon culminates 49.48 degrees above the horizon 2024-11-27T17:12:37.636Z Sun culminates 40.12 degrees above the horizon -2024-11-27T20:08:16.709Z moonset -2024-11-27T22:27:40.900Z sunset -2024-11-28T09:34:28.096Z moonrise -2024-11-28T11:58:09.743Z sunrise +2024-11-27T20:08:16.692Z moonset +2024-11-27T22:27:40.839Z sunset +2024-11-28T09:34:28.187Z moonrise +2024-11-28T11:58:09.844Z sunrise 2024-11-28T15:09:06.803Z Moon culminates 44.22 degrees above the horizon 2024-11-28T17:12:58.332Z Sun culminates 39.95 degrees above the horizon -2024-11-28T20:38:25.542Z moonset -2024-11-28T22:27:35.674Z sunset -2024-11-29T10:30:42.997Z moonrise -2024-11-29T11:58:56.536Z sunrise +2024-11-28T20:38:25.479Z moonset +2024-11-28T22:27:35.611Z sunset +2024-11-29T10:30:43.178Z moonrise +2024-11-29T11:58:56.638Z sunrise 2024-11-29T15:54:00.346Z Moon culminates 39.58 degrees above the horizon 2024-11-29T17:13:19.727Z Sun culminates 39.78 degrees above the horizon -2024-11-29T21:12:39.054Z moonset -2024-11-29T22:27:32.112Z sunset -2024-11-30T11:29:10.302Z moonrise -2024-11-30T11:59:43.026Z sunrise +2024-11-29T21:12:38.930Z moonset +2024-11-29T22:27:32.046Z sunset +2024-11-30T11:29:10.565Z moonrise +2024-11-30T11:59:43.130Z sunrise 2024-11-30T16:42:34.394Z Moon culminates 35.83 degrees above the horizon 2024-11-30T17:13:41.797Z Sun culminates 39.62 degrees above the horizon -2024-11-30T21:52:22.084Z moonset -2024-11-30T22:27:30.208Z sunset +2024-11-30T21:52:21.901Z moonset +2024-11-30T22:27:30.140Z sunset 2024-12-01T06:22:05.824Z new moon -2024-12-01T12:00:29.169Z sunrise -2024-12-01T12:28:51.228Z moonrise +2024-12-01T12:00:29.276Z sunrise +2024-12-01T12:28:51.527Z moonrise 2024-12-01T17:14:04.517Z Sun culminates 39.47 degrees above the horizon 2024-12-01T17:34:51.166Z Moon culminates 33.28 degrees above the horizon -2024-12-01T22:27:29.958Z sunset -2024-12-01T22:38:43.024Z moonset -2024-12-02T12:01:14.920Z sunrise -2024-12-02T13:27:46.081Z moonrise +2024-12-01T22:27:29.888Z sunset +2024-12-01T22:38:42.792Z moonset +2024-12-02T12:01:15.028Z sunrise +2024-12-02T13:27:46.374Z moonrise 2024-12-02T17:14:27.860Z Sun culminates 39.32 degrees above the horizon 2024-12-02T18:30:02.179Z Moon culminates 32.20 degrees above the horizon -2024-12-02T22:27:31.355Z sunset -2024-12-02T23:32:01.396Z moonset -2024-12-03T12:02:00.232Z sunrise -2024-12-03T14:23:26.223Z moonrise +2024-12-02T22:27:31.282Z sunset +2024-12-02T23:32:01.124Z moonset +2024-12-03T12:02:00.342Z sunrise +2024-12-03T14:23:26.488Z moonrise 2024-12-03T17:14:51.800Z Sun culminates 39.19 degrees above the horizon 2024-12-03T19:26:30.692Z Moon culminates 32.77 degrees above the horizon -2024-12-03T22:27:34.388Z sunset -2024-12-04T00:31:18.126Z moonset -2024-12-04T12:02:45.060Z sunrise -2024-12-04T15:13:54.542Z moonrise +2024-12-03T22:27:34.314Z sunset +2024-12-04T00:31:17.832Z moonset +2024-12-04T12:02:45.171Z sunrise +2024-12-04T15:13:54.764Z moonrise 2024-12-04T17:15:16.307Z Sun culminates 39.05 degrees above the horizon 2024-12-04T20:22:22.479Z Moon culminates 35.03 degrees above the horizon -2024-12-04T22:27:39.049Z sunset -2024-12-05T01:34:23.143Z moonset -2024-12-05T12:03:29.356Z sunrise -2024-12-05T15:58:29.867Z moonrise +2024-12-04T22:27:38.972Z sunset +2024-12-05T01:34:22.868Z moonset +2024-12-05T12:03:29.469Z sunrise +2024-12-05T15:58:30.030Z moonrise 2024-12-05T17:15:41.354Z Sun culminates 38.93 degrees above the horizon 2024-12-05T21:16:09.878Z Moon culminates 38.83 degrees above the horizon -2024-12-05T22:27:45.326Z sunset +2024-12-05T22:27:45.247Z sunset 2024-12-06T02:10:26.245Z Mercury inferior conjunction -2024-12-06T02:38:50.302Z moonset -2024-12-06T12:04:13.076Z sunrise +2024-12-06T02:38:50.106Z moonset +2024-12-06T12:04:13.191Z sunrise 2024-12-06T14:20:30.228Z Mercury perihelion at 0.3075 AU -2024-12-06T16:37:45.116Z moonrise +2024-12-06T16:37:45.208Z moonrise 2024-12-06T17:16:06.912Z Sun culminates 38.82 degrees above the horizon 2024-12-06T20:06:26.739Z Venus moves from Sagittarius to Capricornus 2024-12-06T22:07:19.082Z Moon culminates 43.91 degrees above the horizon -2024-12-06T22:27:53.207Z sunset -2024-12-07T03:42:58.345Z moonset -2024-12-07T12:04:56.174Z sunrise -2024-12-07T17:12:57.227Z moonrise +2024-12-06T22:27:53.126Z sunset +2024-12-07T03:42:58.253Z moonset +2024-12-07T12:04:56.289Z sunrise +2024-12-07T17:12:57.265Z moonrise 2024-12-07T17:16:32.952Z Sun culminates 38.71 degrees above the horizon 2024-12-07T20:45:33.678Z Jupiter opposition -2024-12-07T22:28:02.679Z sunset +2024-12-07T22:28:02.597Z sunset 2024-12-07T22:56:09.529Z Moon culminates 49.97 degrees above the horizon -2024-12-08T04:46:15.534Z moonset -2024-12-08T12:05:38.605Z sunrise +2024-12-08T04:46:15.515Z moonset +2024-12-08T12:05:38.722Z sunrise 2024-12-08T15:27:12.956Z first quarter 2024-12-08T17:16:59.445Z Sun culminates 38.60 degrees above the horizon -2024-12-08T17:45:39.966Z moonrise -2024-12-08T22:28:13.729Z sunset +2024-12-08T17:45:39.980Z moonrise +2024-12-08T22:28:13.646Z sunset 2024-12-08T23:43:38.134Z Moon culminates 56.70 degrees above the horizon -2024-12-09T05:49:09.093Z moonset -2024-12-09T12:06:20.327Z sunrise +2024-12-09T05:49:09.094Z moonset +2024-12-09T12:06:20.445Z sunrise 2024-12-09T17:17:26.363Z Sun culminates 38.51 degrees above the horizon -2024-12-09T18:17:31.336Z moonrise -2024-12-09T22:28:26.344Z sunset +2024-12-09T18:17:31.345Z moonrise +2024-12-09T22:28:26.259Z sunset 2024-12-10T00:31:03.191Z Moon culminates 63.76 degrees above the horizon -2024-12-10T06:52:41.305Z moonset +2024-12-10T06:52:41.309Z moonset 2024-12-10T09:17:02.370Z Mercury moves from Ophiuchus to Scorpius -2024-12-10T12:07:01.298Z sunrise +2024-12-10T12:07:01.418Z sunrise 2024-12-10T17:17:53.678Z Sun culminates 38.42 degrees above the horizon -2024-12-10T18:50:12.344Z moonrise -2024-12-10T22:28:40.507Z sunset +2024-12-10T18:50:12.345Z moonrise +2024-12-10T22:28:40.421Z sunset 2024-12-11T01:19:52.457Z Moon culminates 70.79 degrees above the horizon -2024-12-11T07:58:03.723Z moonset -2024-12-11T12:07:41.478Z sunrise +2024-12-11T07:58:03.754Z moonset +2024-12-11T12:07:41.598Z sunrise 2024-12-11T17:18:21.361Z Sun culminates 38.35 degrees above the horizon -2024-12-11T19:25:30.456Z moonrise -2024-12-11T22:28:56.202Z sunset +2024-12-11T19:25:30.431Z moonrise +2024-12-11T22:28:56.115Z sunset 2024-12-12T02:11:31.530Z Moon culminates 77.35 degrees above the horizon -2024-12-12T09:06:06.625Z moonset -2024-12-12T12:08:20.828Z sunrise +2024-12-12T09:06:06.733Z moonset +2024-12-12T12:08:20.949Z sunrise 2024-12-12T13:21:42.748Z lunar perigee at 365351 km 2024-12-12T17:18:49.385Z Sun culminates 38.27 degrees above the horizon -2024-12-12T20:05:20.409Z moonrise -2024-12-12T22:29:13.411Z sunset +2024-12-12T20:05:20.334Z moonrise +2024-12-12T22:29:13.324Z sunset 2024-12-13T03:07:04.873Z Moon culminates 82.99 degrees above the horizon -2024-12-13T10:16:37.753Z moonset -2024-12-13T12:08:59.310Z sunrise +2024-12-13T10:16:37.947Z moonset +2024-12-13T12:08:59.432Z sunrise 2024-12-13T17:19:17.722Z Sun culminates 38.21 degrees above the horizon -2024-12-13T20:51:31.806Z moonrise -2024-12-13T22:29:32.117Z sunset +2024-12-13T20:51:31.675Z moonrise +2024-12-13T22:29:32.029Z sunset 2024-12-14T04:06:44.450Z Moon culminates 87.17 degrees above the horizon -2024-12-14T11:27:40.840Z moonset -2024-12-14T12:09:36.888Z sunrise +2024-12-14T11:27:41.071Z moonset +2024-12-14T12:09:37.010Z sunrise 2024-12-14T17:19:46.343Z Sun culminates 38.15 degrees above the horizon -2024-12-14T21:45:10.963Z moonrise -2024-12-14T22:29:52.300Z sunset +2024-12-14T21:45:10.788Z moonrise +2024-12-14T22:29:52.210Z sunset 2024-12-15T05:09:16.931Z Moon culminates 89.46 degrees above the horizon 2024-12-15T09:02:14.723Z full moon -2024-12-15T12:10:13.524Z sunrise -2024-12-15T12:35:39.635Z moonset +2024-12-15T12:10:13.647Z sunrise +2024-12-15T12:35:39.855Z moonset 2024-12-15T17:20:15.219Z Sun culminates 38.11 degrees above the horizon -2024-12-15T22:30:13.938Z sunset -2024-12-15T22:45:42.878Z moonrise +2024-12-15T22:30:13.848Z sunset +2024-12-15T22:45:42.669Z moonrise 2024-12-16T06:12:05.544Z Moon culminates 89.67 degrees above the horizon -2024-12-16T12:10:49.182Z sunrise -2024-12-16T13:36:47.979Z moonset +2024-12-16T12:10:49.306Z sunrise +2024-12-16T13:36:48.173Z moonset 2024-12-16T17:20:44.323Z Sun culminates 38.07 degrees above the horizon -2024-12-16T22:30:37.010Z sunset -2024-12-16T23:50:27.270Z moonrise +2024-12-16T22:30:36.919Z sunset +2024-12-16T23:50:27.043Z moonrise 2024-12-17T07:12:11.784Z Moon culminates 87.91 degrees above the horizon -2024-12-17T12:11:23.828Z sunrise -2024-12-17T14:29:05.259Z moonset +2024-12-17T12:11:23.952Z sunrise +2024-12-17T14:29:05.421Z moonset 2024-12-17T17:21:13.626Z Sun culminates 38.03 degrees above the horizon -2024-12-17T22:31:01.494Z sunset -2024-12-18T00:55:44.469Z moonrise +2024-12-17T22:31:01.403Z sunset +2024-12-18T00:55:44.263Z moonrise 2024-12-18T08:07:35.073Z Moon culminates 84.52 degrees above the horizon -2024-12-18T12:11:57.425Z sunrise -2024-12-18T15:12:46.113Z moonset +2024-12-18T12:11:57.549Z sunrise +2024-12-18T15:12:46.232Z moonset 2024-12-18T17:21:43.096Z Sun culminates 38.01 degrees above the horizon -2024-12-18T22:31:27.365Z sunset -2024-12-19T01:58:42.567Z moonrise +2024-12-18T22:31:27.273Z sunset +2024-12-19T01:58:42.427Z moonrise 2024-12-19T08:57:43.818Z Moon culminates 79.98 degrees above the horizon -2024-12-19T12:12:29.939Z sunrise -2024-12-19T15:49:25.949Z moonset +2024-12-19T12:12:30.063Z sunrise +2024-12-19T15:49:26.021Z moonset 2024-12-19T17:22:12.706Z Sun culminates 37.99 degrees above the horizon -2024-12-19T22:31:54.598Z sunset -2024-12-20T02:58:08.204Z moonrise +2024-12-19T22:31:54.506Z sunset +2024-12-20T02:58:08.141Z moonrise 2024-12-20T09:43:13.927Z Moon culminates 74.68 degrees above the horizon -2024-12-20T12:13:01.335Z sunrise -2024-12-20T16:21:00.537Z moonset +2024-12-20T12:13:01.460Z sunrise +2024-12-20T16:21:00.572Z moonset 2024-12-20T17:22:42.423Z Sun culminates 37.98 degrees above the horizon -2024-12-20T22:32:23.166Z sunset -2024-12-21T03:54:09.780Z moonrise +2024-12-20T22:32:23.074Z sunset +2024-12-21T03:54:09.766Z moonrise 2024-12-21T09:20:17.849Z December solstice 2024-12-21T10:25:14.168Z Moon culminates 68.97 degrees above the horizon -2024-12-21T12:13:31.581Z sunrise -2024-12-21T16:49:16.390Z moonset +2024-12-21T12:13:31.706Z sunrise +2024-12-21T16:49:16.408Z moonset 2024-12-21T17:23:12.218Z Sun culminates 37.98 degrees above the horizon -2024-12-21T22:32:53.038Z sunset +2024-12-21T22:32:52.946Z sunset 2024-12-22T02:30:17.849Z Mercury moves from Scorpius to Ophiuchus -2024-12-22T04:47:40.718Z moonrise +2024-12-22T04:47:40.721Z moonrise 2024-12-22T11:05:02.915Z Moon culminates 63.07 degrees above the horizon -2024-12-22T12:14:00.642Z sunrise -2024-12-22T17:15:44.782Z moonset +2024-12-22T12:14:00.766Z sunrise +2024-12-22T17:15:44.796Z moonset 2024-12-22T17:23:42.056Z Sun culminates 37.99 degrees above the horizon 2024-12-22T22:18:53.139Z third quarter -2024-12-22T22:33:24.184Z sunset -2024-12-23T05:39:52.282Z moonrise +2024-12-22T22:33:24.092Z sunset +2024-12-23T05:39:52.287Z moonrise 2024-12-23T11:43:58.119Z Moon culminates 57.18 degrees above the horizon -2024-12-23T12:14:28.485Z sunrise +2024-12-23T12:14:28.609Z sunrise 2024-12-23T17:24:11.905Z Sun culminates 38.00 degrees above the horizon -2024-12-23T17:41:45.809Z moonset -2024-12-23T22:33:56.570Z sunset -2024-12-24T06:31:58.803Z moonrise +2024-12-23T17:41:45.818Z moonset +2024-12-23T22:33:56.478Z sunset +2024-12-24T06:31:58.821Z moonrise 2024-12-24T07:25:15.556Z lunar apogee at 404474 km -2024-12-24T12:14:55.078Z sunrise +2024-12-24T12:14:55.202Z sunrise 2024-12-24T12:23:14.784Z Moon culminates 51.46 degrees above the horizon 2024-12-24T17:24:41.731Z Sun culminates 38.02 degrees above the horizon -2024-12-24T18:08:35.167Z moonset -2024-12-24T22:34:30.158Z sunset +2024-12-24T18:08:35.161Z moonset +2024-12-24T22:34:30.067Z sunset 2024-12-25T02:23:52.017Z Mercury max morning elongation: 22.05 degrees from Sun -2024-12-25T07:25:09.038Z moonrise -2024-12-25T12:15:20.387Z sunrise +2024-12-25T07:25:09.102Z moonrise +2024-12-25T12:15:20.511Z sunrise 2024-12-25T13:04:04.666Z Moon culminates 46.07 degrees above the horizon 2024-12-25T17:25:11.499Z Sun culminates 38.06 degrees above the horizon -2024-12-25T18:37:30.777Z moonset -2024-12-25T22:35:04.913Z sunset -2024-12-26T08:20:17.020Z moonrise -2024-12-26T12:15:44.382Z sunrise +2024-12-25T18:37:30.733Z moonset +2024-12-25T22:35:04.821Z sunset +2024-12-26T08:20:17.167Z moonrise +2024-12-26T12:15:44.504Z sunrise 2024-12-26T13:47:34.282Z Moon culminates 41.20 degrees above the horizon 2024-12-26T17:25:41.173Z Sun culminates 38.09 degrees above the horizon -2024-12-26T19:09:57.492Z moonset -2024-12-26T22:35:40.792Z sunset -2024-12-27T09:17:47.410Z moonrise -2024-12-27T12:16:07.029Z sunrise +2024-12-26T19:09:57.391Z moonset +2024-12-26T22:35:40.701Z sunset +2024-12-27T09:17:47.646Z moonrise +2024-12-27T12:16:07.152Z sunrise 2024-12-27T14:34:37.676Z Moon culminates 37.10 degrees above the horizon 2024-12-27T17:26:10.715Z Sun culminates 38.14 degrees above the horizon -2024-12-27T19:47:26.731Z moonset -2024-12-27T22:36:17.755Z sunset -2024-12-28T10:17:14.758Z moonrise -2024-12-28T12:16:28.300Z sunrise +2024-12-27T19:47:26.568Z moonset +2024-12-27T22:36:17.664Z sunset +2024-12-28T10:17:15.049Z moonrise +2024-12-28T12:16:28.422Z sunrise 2024-12-28T15:25:41.470Z Moon culminates 34.07 degrees above the horizon 2024-12-28T17:26:40.091Z Sun culminates 38.19 degrees above the horizon -2024-12-28T20:31:24.900Z moonset -2024-12-28T22:36:55.757Z sunset +2024-12-28T20:31:24.684Z moonset +2024-12-28T22:36:55.667Z sunset 2024-12-29T07:12:00.119Z Uranus moves from Taurus to Aries -2024-12-29T11:17:07.218Z moonrise -2024-12-29T12:16:48.164Z sunrise +2024-12-29T11:17:07.517Z moonrise +2024-12-29T12:16:48.285Z sunrise 2024-12-29T16:20:24.887Z Moon culminates 32.42 degrees above the horizon 2024-12-29T17:27:09.261Z Sun culminates 38.25 degrees above the horizon -2024-12-29T21:22:44.181Z moonset -2024-12-29T22:37:34.753Z sunset -2024-12-30T12:14:58.481Z moonrise -2024-12-30T12:17:06.592Z sunrise +2024-12-29T21:22:43.922Z moonset +2024-12-29T22:37:34.665Z sunset +2024-12-30T12:14:58.756Z moonrise +2024-12-30T12:17:06.712Z sunrise 2024-12-30T17:17:28.557Z Moon culminates 32.40 degrees above the horizon 2024-12-30T17:27:38.190Z Sun culminates 38.32 degrees above the horizon -2024-12-30T22:21:02.298Z moonset +2024-12-30T22:21:02.007Z moonset 2024-12-30T22:27:25.924Z new moon -2024-12-30T22:38:14.699Z sunset -2024-12-31T12:17:23.558Z sunrise -2024-12-31T13:08:21.397Z moonrise +2024-12-30T22:38:14.611Z sunset +2024-12-31T12:17:23.677Z sunrise +2024-12-31T13:08:21.634Z moonrise 2024-12-31T15:16:42.090Z Venus moves from Capricornus to Aquarius 2024-12-31T17:28:06.840Z Sun culminates 38.40 degrees above the horizon 2024-12-31T18:14:51.744Z Moon culminates 34.14 degrees above the horizon -2024-12-31T22:38:55.546Z sunset -2024-12-31T23:24:25.166Z moonset -2025-01-01T12:17:39.034Z sunrise -2025-01-01T13:55:51.535Z moonrise +2024-12-31T22:38:55.459Z sunset +2024-12-31T23:24:24.877Z moonset +2025-01-01T12:17:39.152Z sunrise +2025-01-01T13:55:51.715Z moonrise 2025-01-01T17:28:35.175Z Sun culminates 38.48 degrees above the horizon 2025-01-01T19:10:38.249Z Moon culminates 37.54 degrees above the horizon -2025-01-01T22:39:37.248Z sunset -2025-01-02T00:30:06.956Z moonset -2025-01-02T12:17:52.998Z sunrise -2025-01-02T14:37:29.690Z moonrise +2025-01-01T22:39:37.163Z sunset +2025-01-02T00:30:06.729Z moonset +2025-01-02T12:17:53.114Z sunrise +2025-01-02T14:37:29.800Z moonrise 2025-01-02T17:29:03.159Z Sun culminates 38.58 degrees above the horizon 2025-01-02T20:03:40.101Z Moon culminates 42.37 degrees above the horizon -2025-01-02T22:40:19.759Z sunset -2025-01-03T01:35:44.942Z moonset -2025-01-03T12:18:05.426Z sunrise -2025-01-03T15:14:18.712Z moonrise +2025-01-02T22:40:19.674Z sunset +2025-01-03T01:35:44.821Z moonset +2025-01-03T12:18:05.541Z sunrise +2025-01-03T15:14:18.762Z moonrise 2025-01-03T17:29:30.759Z Sun culminates 38.68 degrees above the horizon 2025-01-03T20:53:50.926Z Moon culminates 48.28 degrees above the horizon -2025-01-03T22:41:03.031Z sunset -2025-01-04T02:40:08.218Z moonset -2025-01-04T12:18:16.299Z sunrise +2025-01-03T22:41:02.948Z sunset +2025-01-04T02:40:08.185Z moonset +2025-01-04T12:18:16.413Z sunrise 2025-01-04T13:22:32.054Z Earth perihelion at 0.9833 AU -2025-01-04T15:47:49.464Z moonrise +2025-01-04T15:47:49.481Z moonrise 2025-01-04T17:29:57.941Z Sun culminates 38.78 degrees above the horizon 2025-01-04T21:41:52.904Z Moon culminates 54.91 degrees above the horizon -2025-01-04T22:41:47.019Z sunset -2025-01-05T03:43:18.467Z moonset -2025-01-05T12:18:25.598Z sunrise -2025-01-05T16:19:39.939Z moonrise +2025-01-04T22:41:46.938Z sunset +2025-01-05T03:43:18.466Z moonset +2025-01-05T12:18:25.711Z sunrise +2025-01-05T16:19:39.948Z moonrise 2025-01-05T17:30:24.675Z Sun culminates 38.90 degrees above the horizon 2025-01-05T22:28:56.876Z Moon culminates 61.88 degrees above the horizon -2025-01-05T22:42:31.679Z sunset +2025-01-05T22:42:31.599Z sunset 2025-01-05T23:50:04.001Z Mercury moves from Ophiuchus to Sagittarius -2025-01-06T04:46:05.325Z moonset -2025-01-06T12:18:33.311Z sunrise -2025-01-06T16:51:29.168Z moonrise +2025-01-06T04:46:05.327Z moonset +2025-01-06T12:18:33.422Z sunrise +2025-01-06T16:51:29.172Z moonrise 2025-01-06T17:30:50.931Z Sun culminates 39.02 degrees above the horizon -2025-01-06T22:43:16.965Z sunset +2025-01-06T22:43:16.887Z sunset 2025-01-06T23:16:26.933Z Moon culminates 68.85 degrees above the horizon 2025-01-06T23:56:50.795Z first quarter -2025-01-07T05:49:38.441Z moonset -2025-01-07T12:18:39.423Z sunrise -2025-01-07T17:24:59.235Z moonrise +2025-01-07T05:49:38.460Z moonset +2025-01-07T12:18:39.533Z sunrise +2025-01-07T17:24:59.221Z moonrise 2025-01-07T17:31:16.682Z Sun culminates 39.15 degrees above the horizon -2025-01-07T22:44:02.836Z sunset +2025-01-07T22:44:02.760Z sunset 2025-01-07T23:58:49.954Z lunar perigee at 370162 km 2025-01-08T00:05:49.208Z Moon culminates 75.45 degrees above the horizon -2025-01-08T06:55:00.285Z moonset -2025-01-08T12:18:43.928Z sunrise +2025-01-08T06:55:00.366Z moonset +2025-01-08T12:18:44.035Z sunrise 2025-01-08T17:31:41.903Z Sun culminates 39.28 degrees above the horizon -2025-01-08T18:01:58.413Z moonrise -2025-01-08T22:44:49.248Z sunset +2025-01-08T18:01:58.355Z moonrise +2025-01-08T22:44:49.174Z sunset 2025-01-09T00:58:18.711Z Moon culminates 81.26 degrees above the horizon -2025-01-09T08:02:33.986Z moonset -2025-01-09T12:18:46.817Z sunrise +2025-01-09T08:02:34.154Z moonset +2025-01-09T12:18:46.923Z sunrise 2025-01-09T17:32:06.569Z Sun culminates 39.43 degrees above the horizon -2025-01-09T18:44:17.373Z moonrise -2025-01-09T22:45:36.160Z sunset +2025-01-09T18:44:17.261Z moonrise +2025-01-09T22:45:36.088Z sunset 2025-01-10T01:54:37.470Z Moon culminates 85.86 degrees above the horizon 2025-01-10T04:57:09.667Z Venus max evening elongation: 47.17 degrees from Sun -2025-01-10T09:11:25.658Z moonset -2025-01-10T12:18:48.087Z sunrise +2025-01-10T09:11:25.882Z moonset +2025-01-10T12:18:48.191Z sunrise 2025-01-10T17:32:30.660Z Sun culminates 39.58 degrees above the horizon -2025-01-10T19:33:27.410Z moonrise -2025-01-10T22:46:23.532Z sunset +2025-01-10T19:33:27.250Z moonrise +2025-01-10T22:46:23.462Z sunset 2025-01-11T02:54:24.549Z Moon culminates 88.83 degrees above the horizon -2025-01-11T10:19:04.165Z moonset -2025-01-11T12:18:47.736Z sunrise +2025-01-11T10:19:04.393Z moonset +2025-01-11T12:18:47.838Z sunrise 2025-01-11T17:32:54.153Z Sun culminates 39.74 degrees above the horizon -2025-01-11T20:29:54.174Z moonrise -2025-01-11T22:47:11.325Z sunset +2025-01-11T20:29:53.977Z moonrise +2025-01-11T22:47:11.257Z sunset 2025-01-12T03:55:57.529Z Moon culminates 89.88 degrees above the horizon -2025-01-12T11:22:01.339Z moonset -2025-01-12T12:18:45.764Z sunrise +2025-01-12T11:22:01.546Z moonset +2025-01-12T12:18:45.864Z sunrise 2025-01-12T17:33:17.030Z Sun culminates 39.90 degrees above the horizon 2025-01-12T19:17:31.658Z Mars moves from Cancer to Gemini -2025-01-12T21:32:10.976Z moonrise -2025-01-12T22:47:59.501Z sunset +2025-01-12T21:32:10.753Z moonrise +2025-01-12T22:47:59.436Z sunset 2025-01-13T04:56:37.537Z Moon culminates 88.93 degrees above the horizon -2025-01-13T12:17:31.054Z moonset -2025-01-13T12:18:42.172Z sunrise +2025-01-13T12:17:31.231Z moonset +2025-01-13T12:18:42.270Z sunrise 2025-01-13T17:33:39.274Z Sun culminates 40.07 degrees above the horizon 2025-01-13T22:27:33.116Z full moon -2025-01-13T22:37:11.152Z moonrise -2025-01-13T22:48:48.023Z sunset +2025-01-13T22:37:10.930Z moonrise +2025-01-13T22:48:47.961Z sunset 2025-01-14T05:53:56.878Z Moon culminates 86.21 degrees above the horizon -2025-01-14T12:18:36.964Z sunrise -2025-01-14T13:04:42.052Z moonset +2025-01-14T12:18:37.059Z sunrise +2025-01-14T13:04:42.192Z moonset 2025-01-14T17:34:00.869Z Sun culminates 40.25 degrees above the horizon -2025-01-14T22:49:36.857Z sunset -2025-01-14T23:41:34.875Z moonrise +2025-01-14T22:49:36.797Z sunset +2025-01-14T23:41:34.701Z moonrise 2025-01-15T06:46:36.204Z Moon culminates 82.09 degrees above the horizon -2025-01-15T12:18:30.143Z sunrise -2025-01-15T13:44:25.926Z moonset +2025-01-15T12:18:30.236Z sunrise +2025-01-15T13:44:26.017Z moonset 2025-01-15T17:34:21.800Z Sun culminates 40.44 degrees above the horizon -2025-01-15T22:50:25.969Z sunset -2025-01-16T00:43:13.353Z moonrise +2025-01-15T22:50:25.911Z sunset +2025-01-16T00:43:13.258Z moonrise 2025-01-16T02:30:04.775Z Mars opposition 2025-01-16T07:34:31.964Z Moon culminates 77.01 degrees above the horizon -2025-01-16T12:18:21.716Z sunrise -2025-01-16T14:18:21.949Z moonset +2025-01-16T12:18:21.807Z sunrise +2025-01-16T14:18:21.997Z moonset 2025-01-16T17:34:42.053Z Sun culminates 40.63 degrees above the horizon -2025-01-16T22:51:15.324Z sunset -2025-01-17T01:41:28.092Z moonrise +2025-01-16T22:51:15.269Z sunset +2025-01-17T01:41:28.062Z moonrise 2025-01-17T08:18:30.439Z Moon culminates 71.35 degrees above the horizon -2025-01-17T12:18:11.689Z sunrise -2025-01-17T14:48:15.084Z moonset +2025-01-17T12:18:11.778Z sunrise +2025-01-17T14:48:15.106Z moonset 2025-01-17T17:35:01.615Z Sun culminates 40.83 degrees above the horizon -2025-01-17T22:52:04.890Z sunset -2025-01-18T02:36:44.615Z moonrise +2025-01-17T22:52:04.839Z sunset +2025-01-18T02:36:44.614Z moonrise 2025-01-18T08:59:40.068Z Moon culminates 65.41 degrees above the horizon -2025-01-18T12:18:00.071Z sunrise -2025-01-18T15:15:39.547Z moonset +2025-01-18T12:18:00.157Z sunrise +2025-01-18T15:15:39.561Z moonset 2025-01-18T17:35:20.475Z Sun culminates 41.03 degrees above the horizon -2025-01-18T22:52:54.635Z sunset -2025-01-19T03:30:00.845Z moonrise +2025-01-18T22:52:54.587Z sunset +2025-01-19T03:30:00.849Z moonrise 2025-01-19T09:39:15.155Z Moon culminates 59.42 degrees above the horizon -2025-01-19T12:17:46.870Z sunrise +2025-01-19T12:17:46.953Z sunrise 2025-01-19T13:57:59.571Z Mercury aphelion at 0.4667 AU -2025-01-19T15:41:57.819Z moonset +2025-01-19T15:41:57.830Z moonset 2025-01-19T17:35:38.620Z Sun culminates 41.25 degrees above the horizon -2025-01-19T22:53:44.526Z sunset -2025-01-20T04:22:26.258Z moonrise +2025-01-19T22:53:44.481Z sunset +2025-01-20T04:22:26.269Z moonrise 2025-01-20T10:18:29.442Z Moon culminates 53.57 degrees above the horizon -2025-01-20T12:17:32.095Z sunrise -2025-01-20T16:08:25.596Z moonset +2025-01-20T12:17:32.177Z sunrise +2025-01-20T16:08:25.598Z moonset 2025-01-20T17:35:56.039Z Sun culminates 41.46 degrees above the horizon -2025-01-20T22:54:34.532Z sunset +2025-01-20T22:54:34.491Z sunset 2025-01-21T04:55:24.704Z lunar apogee at 404287 km -2025-01-21T05:15:10.237Z moonrise +2025-01-21T05:15:10.280Z moonrise 2025-01-21T10:58:34.541Z Moon culminates 48.02 degrees above the horizon -2025-01-21T12:17:15.759Z sunrise +2025-01-21T12:17:15.837Z sunrise 2025-01-21T12:29:10.385Z Pluto conjunction -2025-01-21T16:36:18.173Z moonset +2025-01-21T16:36:18.147Z moonset 2025-01-21T17:36:12.722Z Sun culminates 41.69 degrees above the horizon 2025-01-21T20:31:25.389Z third quarter -2025-01-21T22:55:24.620Z sunset -2025-01-22T06:09:13.561Z moonrise +2025-01-21T22:55:24.582Z sunset +2025-01-22T06:09:13.674Z moonrise 2025-01-22T11:40:39.018Z Moon culminates 42.94 degrees above the horizon -2025-01-22T12:16:57.870Z sunrise -2025-01-22T17:06:56.195Z moonset +2025-01-22T12:16:57.946Z sunrise +2025-01-22T17:06:56.118Z moonset 2025-01-22T17:36:28.657Z Sun culminates 41.92 degrees above the horizon -2025-01-22T22:56:14.758Z sunset -2025-01-23T07:05:17.419Z moonrise +2025-01-22T22:56:14.723Z sunset +2025-01-23T07:05:17.624Z moonrise 2025-01-23T11:05:21.274Z Venus moves from Aquarius to Pisces -2025-01-23T12:16:38.440Z sunrise +2025-01-23T12:16:38.513Z sunrise 2025-01-23T12:25:44.584Z Moon culminates 38.54 degrees above the horizon 2025-01-23T17:36:43.835Z Sun culminates 42.16 degrees above the horizon -2025-01-23T17:41:48.654Z moonset -2025-01-23T22:57:04.914Z sunset -2025-01-24T08:03:26.575Z moonrise -2025-01-24T12:16:17.481Z sunrise +2025-01-23T17:41:48.514Z moonset +2025-01-23T22:57:04.882Z sunset +2025-01-24T08:03:26.851Z moonrise +2025-01-24T12:16:17.552Z sunrise 2025-01-24T13:14:36.157Z Moon culminates 35.07 degrees above the horizon 2025-01-24T17:36:58.245Z Sun culminates 42.40 degrees above the horizon -2025-01-24T18:22:28.677Z moonset -2025-01-24T22:57:55.054Z sunset -2025-01-25T09:02:49.841Z moonrise -2025-01-25T12:15:55.005Z sunrise +2025-01-24T18:22:28.481Z moonset +2025-01-24T22:57:55.026Z sunset +2025-01-25T09:02:50.143Z moonrise +2025-01-25T12:15:55.073Z sunrise 2025-01-25T14:07:24.600Z Moon culminates 32.82 degrees above the horizon 2025-01-25T17:37:11.877Z Sun culminates 42.65 degrees above the horizon -2025-01-25T19:10:14.891Z moonset -2025-01-25T22:58:45.148Z sunset -2025-01-26T10:01:33.804Z moonrise -2025-01-26T12:15:31.025Z sunrise +2025-01-25T19:10:14.648Z moonset +2025-01-25T22:58:45.124Z sunset +2025-01-26T10:01:34.092Z moonrise +2025-01-26T12:15:31.090Z sunrise 2025-01-26T15:03:28.439Z Moon culminates 32.09 degrees above the horizon 2025-01-26T17:37:24.722Z Sun culminates 42.90 degrees above the horizon -2025-01-26T20:05:34.935Z moonset -2025-01-26T22:59:35.164Z sunset -2025-01-27T10:57:11.973Z moonrise -2025-01-27T12:15:05.554Z sunrise +2025-01-26T20:05:34.654Z moonset +2025-01-26T22:59:35.143Z sunset +2025-01-27T10:57:12.228Z moonrise +2025-01-27T12:15:05.616Z sunrise 2025-01-27T16:01:11.775Z Moon culminates 33.09 degrees above the horizon 2025-01-27T17:37:36.770Z Sun culminates 43.16 degrees above the horizon -2025-01-27T21:07:28.616Z moonset +2025-01-27T21:07:28.316Z moonset 2025-01-27T21:29:50.685Z Mercury moves from Sagittarius to Capricornus -2025-01-27T23:00:25.070Z sunset -2025-01-28T11:47:45.569Z moonrise -2025-01-28T12:14:38.604Z sunrise +2025-01-27T23:00:25.053Z sunset +2025-01-28T11:47:45.775Z moonrise +2025-01-28T12:14:38.664Z sunrise 2025-01-28T16:58:33.428Z Moon culminates 35.85 degrees above the horizon 2025-01-28T17:37:48.013Z Sun culminates 43.42 degrees above the horizon -2025-01-28T22:13:31.875Z moonset -2025-01-28T23:01:14.835Z sunset -2025-01-29T12:14:10.191Z sunrise -2025-01-29T12:32:31.159Z moonrise +2025-01-28T22:13:31.610Z moonset +2025-01-28T23:01:14.822Z sunset +2025-01-29T12:14:10.248Z sunrise +2025-01-29T12:32:31.297Z moonrise 2025-01-29T12:36:34.877Z new moon 2025-01-29T17:37:58.443Z Sun culminates 43.69 degrees above the horizon 2025-01-29T17:53:54.995Z Moon culminates 40.25 degrees above the horizon -2025-01-29T23:02:04.431Z sunset -2025-01-29T23:20:57.916Z moonset -2025-01-30T12:13:40.328Z sunrise -2025-01-30T13:12:00.976Z moonrise +2025-01-29T23:02:04.422Z sunset +2025-01-29T23:20:57.749Z moonset +2025-01-30T12:13:40.382Z sunrise +2025-01-30T13:12:01.044Z moonrise 2025-01-30T17:38:08.055Z Sun culminates 43.97 degrees above the horizon 2025-01-30T18:46:33.843Z Moon culminates 45.95 degrees above the horizon -2025-01-30T23:02:53.830Z sunset -2025-01-31T00:27:48.321Z moonset -2025-01-31T12:13:09.032Z sunrise -2025-01-31T13:47:32.656Z moonrise +2025-01-30T23:02:53.825Z sunset +2025-01-31T00:27:48.261Z moonset +2025-01-31T12:13:09.084Z sunrise +2025-01-31T13:47:32.680Z moonrise 2025-01-31T17:38:16.841Z Sun culminates 44.25 degrees above the horizon 2025-01-31T19:36:44.621Z Moon culminates 52.58 degrees above the horizon -2025-01-31T23:03:43.006Z sunset -2025-02-01T01:33:21.502Z moonset -2025-02-01T12:12:36.319Z sunrise -2025-02-01T14:20:41.000Z moonrise +2025-01-31T23:03:43.004Z sunset +2025-02-01T01:33:21.495Z moonset +2025-02-01T12:12:36.368Z sunrise +2025-02-01T14:20:41.010Z moonrise 2025-02-01T17:38:24.799Z Sun culminates 44.54 degrees above the horizon 2025-02-01T20:25:21.823Z Moon culminates 59.70 degrees above the horizon -2025-02-01T23:04:31.934Z sunset -2025-02-02T02:37:58.768Z moonset +2025-02-01T23:04:31.936Z sunset +2025-02-02T02:37:58.770Z moonset 2025-02-02T02:45:58.932Z lunar perigee at 367447 km -2025-02-02T12:12:02.206Z sunrise -2025-02-02T14:53:04.481Z moonrise +2025-02-02T12:12:02.253Z sunrise +2025-02-02T14:53:04.487Z moonrise 2025-02-02T17:38:31.926Z Sun culminates 44.83 degrees above the horizon 2025-02-02T21:13:40.703Z Moon culminates 66.90 degrees above the horizon -2025-02-02T23:05:20.592Z sunset -2025-02-03T03:42:34.898Z moonset -2025-02-03T12:11:26.714Z sunrise -2025-02-03T15:26:23.053Z moonrise +2025-02-02T23:05:20.598Z sunset +2025-02-03T03:42:34.908Z moonset +2025-02-03T12:11:26.758Z sunrise +2025-02-03T15:26:23.046Z moonrise 2025-02-03T17:38:38.222Z Sun culminates 45.12 degrees above the horizon 2025-02-03T22:03:02.629Z Moon culminates 73.75 degrees above the horizon -2025-02-03T23:06:08.960Z sunset -2025-02-04T04:48:08.120Z moonset -2025-02-04T12:10:49.864Z sunrise -2025-02-04T16:02:20.101Z moonrise +2025-02-03T23:06:08.970Z sunset +2025-02-04T04:48:08.180Z moonset +2025-02-04T12:10:49.905Z sunrise +2025-02-04T16:02:20.056Z moonrise 2025-02-04T17:38:43.689Z Sun culminates 45.42 degrees above the horizon 2025-02-04T22:54:41.795Z Moon culminates 79.86 degrees above the horizon -2025-02-04T23:06:57.020Z sunset -2025-02-05T05:55:09.373Z moonset +2025-02-04T23:06:57.033Z sunset +2025-02-05T05:55:09.520Z moonset 2025-02-05T08:02:40.900Z first quarter -2025-02-05T12:10:11.677Z sunrise -2025-02-05T16:42:41.030Z moonrise +2025-02-05T12:10:11.715Z sunrise +2025-02-05T16:42:40.931Z moonrise 2025-02-05T17:38:48.328Z Sun culminates 45.73 degrees above the horizon -2025-02-05T23:07:44.754Z sunset +2025-02-05T23:07:44.772Z sunset 2025-02-05T23:49:27.517Z Moon culminates 84.82 degrees above the horizon -2025-02-06T07:03:09.300Z moonset -2025-02-06T12:09:32.177Z sunrise -2025-02-06T17:28:59.568Z moonrise +2025-02-06T07:03:09.516Z moonset +2025-02-06T12:09:32.214Z sunrise +2025-02-06T17:28:59.419Z moonrise 2025-02-06T17:38:52.145Z Sun culminates 46.04 degrees above the horizon -2025-02-06T23:08:32.150Z sunset +2025-02-06T23:08:32.171Z sunset 2025-02-07T00:47:20.425Z Moon culminates 88.26 degrees above the horizon -2025-02-07T08:10:16.096Z moonset -2025-02-07T12:08:51.391Z sunrise +2025-02-07T08:10:16.329Z moonset +2025-02-07T12:08:51.425Z sunrise 2025-02-07T17:38:55.147Z Sun culminates 46.35 degrees above the horizon -2025-02-07T18:22:04.294Z moonrise -2025-02-07T23:09:19.194Z sunset +2025-02-07T18:22:04.107Z moonrise +2025-02-07T23:09:19.218Z sunset 2025-02-08T01:47:13.460Z Moon culminates 89.89 degrees above the horizon -2025-02-08T09:13:35.633Z moonset -2025-02-08T12:08:09.344Z sunrise +2025-02-08T09:13:35.850Z moonset +2025-02-08T12:08:09.376Z sunrise 2025-02-08T17:38:57.340Z Sun culminates 46.67 degrees above the horizon -2025-02-08T19:21:15.755Z moonrise -2025-02-08T23:10:05.875Z sunset +2025-02-08T19:21:15.538Z moonrise +2025-02-08T23:10:05.903Z sunset 2025-02-09T02:47:01.242Z Moon culminates 89.61 degrees above the horizon -2025-02-09T10:10:25.341Z moonset +2025-02-09T10:10:25.533Z moonset 2025-02-09T11:51:37.429Z Mercury superior conjunction -2025-02-09T12:07:26.063Z sunrise +2025-02-09T12:07:26.092Z sunrise 2025-02-09T17:38:58.735Z Sun culminates 46.99 degrees above the horizon -2025-02-09T20:24:15.983Z moonrise -2025-02-09T23:10:52.187Z sunset +2025-02-09T20:24:15.755Z moonrise +2025-02-09T23:10:52.219Z sunset 2025-02-10T03:44:27.342Z Moon culminates 87.52 degrees above the horizon -2025-02-10T10:59:28.741Z moonset -2025-02-10T12:06:41.576Z sunrise +2025-02-10T10:59:28.899Z moonset +2025-02-10T12:06:41.603Z sunrise 2025-02-10T17:38:59.342Z Sun culminates 47.32 degrees above the horizon -2025-02-10T21:28:02.782Z moonrise -2025-02-10T23:11:38.123Z sunset +2025-02-10T21:28:02.583Z moonrise +2025-02-10T23:11:38.158Z sunset 2025-02-11T04:37:58.840Z Moon culminates 83.92 degrees above the horizon -2025-02-11T11:41:07.633Z moonset -2025-02-11T12:05:55.911Z sunrise +2025-02-11T11:41:07.746Z moonset +2025-02-11T12:05:55.936Z sunrise 2025-02-11T17:38:59.174Z Sun culminates 47.65 degrees above the horizon -2025-02-11T22:30:09.888Z moonrise -2025-02-11T23:12:23.680Z sunset +2025-02-11T22:30:09.759Z moonrise +2025-02-11T23:12:23.718Z sunset 2025-02-12T05:27:08.412Z Moon culminates 79.20 degrees above the horizon -2025-02-12T12:05:09.098Z sunrise -2025-02-12T12:16:42.581Z moonset +2025-02-12T12:05:09.121Z sunrise +2025-02-12T12:16:42.646Z moonset 2025-02-12T13:54:04.061Z full moon 2025-02-12T17:38:58.243Z Sun culminates 47.98 degrees above the horizon 2025-02-12T22:31:11.689Z Mercury moves from Capricornus to Aquarius -2025-02-12T23:13:08.853Z sunset -2025-02-12T23:29:27.471Z moonrise +2025-02-12T23:13:08.895Z sunset +2025-02-12T23:29:27.417Z moonrise 2025-02-13T06:12:21.606Z Moon culminates 73.73 degrees above the horizon -2025-02-13T12:04:21.165Z sunrise -2025-02-13T12:47:50.788Z moonset +2025-02-13T12:04:21.186Z sunrise +2025-02-13T12:47:50.819Z moonset 2025-02-13T17:38:56.563Z Sun culminates 48.32 degrees above the horizon -2025-02-13T23:13:53.644Z sunset -2025-02-14T00:25:53.527Z moonrise +2025-02-13T23:13:53.689Z sunset +2025-02-14T00:25:53.518Z moonrise 2025-02-14T06:54:33.024Z Moon culminates 67.83 degrees above the horizon -2025-02-14T12:03:32.141Z sunrise -2025-02-14T13:16:04.218Z moonset +2025-02-14T12:03:32.161Z sunrise +2025-02-14T13:16:04.234Z moonset 2025-02-14T17:38:54.149Z Sun culminates 48.66 degrees above the horizon -2025-02-14T23:14:38.051Z sunset -2025-02-15T01:20:07.093Z moonrise +2025-02-14T23:14:38.099Z sunset +2025-02-15T01:20:07.096Z moonrise 2025-02-15T07:34:48.365Z Moon culminates 61.78 degrees above the horizon -2025-02-15T12:02:42.058Z sunrise -2025-02-15T13:42:44.306Z moonset +2025-02-15T12:02:42.075Z sunrise +2025-02-15T13:42:44.318Z moonset 2025-02-15T17:38:51.017Z Sun culminates 49.00 degrees above the horizon -2025-02-15T23:15:22.076Z sunset -2025-02-16T02:13:05.723Z moonrise +2025-02-15T23:15:22.127Z sunset +2025-02-16T02:13:05.729Z moonrise 2025-02-16T08:14:15.399Z Moon culminates 55.80 degrees above the horizon -2025-02-16T12:01:50.944Z sunrise -2025-02-16T14:09:04.594Z moonset +2025-02-16T12:01:50.960Z sunrise +2025-02-16T14:09:04.601Z moonset 2025-02-16T17:38:47.182Z Sun culminates 49.35 degrees above the horizon -2025-02-16T23:16:05.719Z sunset -2025-02-17T03:05:51.531Z moonrise +2025-02-16T23:16:05.773Z sunset +2025-02-17T03:05:51.556Z moonrise 2025-02-17T08:54:00.735Z Moon culminates 50.07 degrees above the horizon 2025-02-17T10:02:11.900Z Venus peak magnitude -4.85 in evening sky -2025-02-17T12:00:58.829Z sunrise -2025-02-17T14:36:15.982Z moonset +2025-02-17T12:00:58.843Z sunrise +2025-02-17T14:36:15.969Z moonset 2025-02-17T17:38:42.659Z Sun culminates 49.70 degrees above the horizon -2025-02-17T23:16:48.984Z sunset +2025-02-17T23:16:49.041Z sunset 2025-02-18T01:11:32.657Z lunar apogee at 404871 km -2025-02-18T03:59:22.103Z moonrise +2025-02-18T03:59:22.186Z moonrise 2025-02-18T09:35:08.627Z Moon culminates 44.77 degrees above the horizon -2025-02-18T12:00:05.742Z sunrise -2025-02-18T15:05:32.148Z moonset +2025-02-18T12:00:05.755Z sunrise +2025-02-18T15:05:32.092Z moonset 2025-02-18T17:38:37.465Z Sun culminates 50.05 degrees above the horizon -2025-02-18T23:17:31.871Z sunset -2025-02-19T04:54:21.418Z moonrise +2025-02-18T23:17:31.930Z sunset +2025-02-19T04:54:21.589Z moonrise 2025-02-19T10:18:38.674Z Moon culminates 40.08 degrees above the horizon -2025-02-19T11:59:11.713Z sunrise -2025-02-19T15:38:13.469Z moonset +2025-02-19T11:59:11.725Z sunrise +2025-02-19T15:38:13.353Z moonset 2025-02-19T17:38:31.614Z Sun culminates 50.41 degrees above the horizon 2025-02-19T19:52:13.455Z Venus perihelion at 0.7185 AU -2025-02-19T23:18:14.382Z sunset -2025-02-20T05:51:07.182Z moonrise +2025-02-19T23:18:14.444Z sunset +2025-02-20T05:51:07.437Z moonrise 2025-02-20T11:05:19.679Z Moon culminates 36.24 degrees above the horizon -2025-02-20T11:58:16.770Z sunrise -2025-02-20T16:15:46.679Z moonset +2025-02-20T11:58:16.781Z sunrise +2025-02-20T16:15:46.504Z moonset 2025-02-20T17:33:10.618Z third quarter 2025-02-20T17:38:25.123Z Sun culminates 50.77 degrees above the horizon -2025-02-20T23:18:56.519Z sunset -2025-02-21T06:49:14.757Z moonrise +2025-02-20T23:18:56.583Z sunset +2025-02-21T06:49:15.056Z moonrise 2025-02-21T11:55:37.823Z Moon culminates 33.48 degrees above the horizon -2025-02-21T11:57:20.942Z sunrise -2025-02-21T16:59:35.160Z moonset +2025-02-21T11:57:20.951Z sunrise +2025-02-21T16:59:34.936Z moonset 2025-02-21T17:38:18.004Z Sun culminates 51.13 degrees above the horizon -2025-02-21T23:19:38.283Z sunset -2025-02-22T07:47:26.067Z moonrise -2025-02-22T11:56:24.257Z sunrise +2025-02-21T23:19:38.350Z sunset +2025-02-22T07:47:26.367Z moonrise +2025-02-22T11:56:24.265Z sunrise 2025-02-22T12:49:21.099Z Moon culminates 32.08 degrees above the horizon 2025-02-22T17:38:10.274Z Sun culminates 51.50 degrees above the horizon -2025-02-22T17:50:34.475Z moonset -2025-02-22T23:20:19.675Z sunset -2025-02-23T08:43:40.481Z moonrise -2025-02-23T11:55:26.741Z sunrise +2025-02-22T17:50:34.204Z moonset +2025-02-22T23:20:19.744Z sunset +2025-02-23T08:43:40.762Z moonrise +2025-02-23T11:55:26.748Z sunrise 2025-02-23T13:45:29.682Z Moon culminates 32.27 degrees above the horizon 2025-02-23T17:38:01.945Z Sun culminates 51.86 degrees above the horizon -2025-02-23T18:48:37.538Z moonset -2025-02-23T23:21:00.695Z sunset -2025-02-24T09:35:56.634Z moonrise -2025-02-24T11:54:28.421Z sunrise +2025-02-23T18:48:37.242Z moonset +2025-02-23T23:21:00.767Z sunset +2025-02-24T09:35:56.869Z moonrise +2025-02-24T11:54:28.427Z sunrise 2025-02-24T14:42:26.796Z Moon culminates 34.19 degrees above the horizon 2025-02-24T17:37:53.032Z Sun culminates 52.23 degrees above the horizon -2025-02-24T19:52:15.525Z moonset -2025-02-24T23:21:41.346Z sunset -2025-02-25T10:23:02.679Z moonrise -2025-02-25T11:53:29.324Z sunrise +2025-02-24T19:52:15.233Z moonset +2025-02-24T23:21:41.419Z sunset +2025-02-25T10:23:02.854Z moonrise +2025-02-25T11:53:29.329Z sunrise 2025-02-25T15:38:32.961Z Moon culminates 37.81 degrees above the horizon 2025-02-25T17:37:43.548Z Sun culminates 52.61 degrees above the horizon -2025-02-25T20:59:04.906Z moonset -2025-02-25T23:22:21.626Z sunset -2025-02-26T11:04:57.651Z moonrise -2025-02-26T11:52:29.476Z sunrise +2025-02-25T20:59:04.682Z moonset +2025-02-25T23:22:21.702Z sunset +2025-02-26T11:04:57.752Z moonrise +2025-02-26T11:52:29.480Z sunrise 2025-02-26T16:32:43.572Z Moon culminates 42.96 degrees above the horizon 2025-02-26T17:37:33.507Z Sun culminates 52.98 degrees above the horizon 2025-02-26T18:43:00.928Z Mercury moves from Aquarius to Pisces -2025-02-26T22:06:50.207Z moonset -2025-02-26T23:23:01.538Z sunset -2025-02-27T11:42:36.671Z moonrise -2025-02-27T11:51:28.902Z sunrise +2025-02-26T22:06:50.096Z moonset +2025-02-26T23:23:01.615Z sunset +2025-02-27T11:42:36.711Z moonrise +2025-02-27T11:51:28.905Z sunrise 2025-02-27T17:24:45.992Z Moon culminates 49.31 degrees above the horizon 2025-02-27T17:37:22.922Z Sun culminates 53.36 degrees above the horizon -2025-02-27T23:14:13.411Z moonset -2025-02-27T23:23:41.082Z sunset +2025-02-27T23:14:13.386Z moonset +2025-02-27T23:23:41.162Z sunset 2025-02-28T00:45:23.484Z new moon -2025-02-28T11:50:27.628Z sunrise -2025-02-28T12:17:24.221Z moonrise +2025-02-28T11:50:27.631Z sunrise +2025-02-28T12:17:24.234Z moonrise 2025-02-28T17:37:11.807Z Sun culminates 53.74 degrees above the horizon 2025-02-28T18:15:13.365Z Moon culminates 56.46 degrees above the horizon -2025-02-28T23:24:20.262Z sunset -2025-03-01T00:21:02.448Z moonset -2025-03-01T11:49:25.678Z sunrise -2025-03-01T12:50:55.653Z moonrise +2025-02-28T23:24:20.343Z sunset +2025-03-01T00:21:02.449Z moonset +2025-03-01T11:49:25.680Z sunrise +2025-03-01T12:50:55.660Z moonrise 2025-03-01T17:37:00.176Z Sun culminates 54.12 degrees above the horizon 2025-03-01T19:05:08.116Z Moon culminates 63.93 degrees above the horizon 2025-03-01T21:21:34.890Z lunar perigee at 361953 km -2025-03-01T23:24:59.080Z sunset -2025-03-02T01:27:50.649Z moonset -2025-03-02T11:48:23.079Z sunrise +2025-03-01T23:24:59.162Z sunset +2025-03-02T01:27:50.652Z moonset +2025-03-02T11:48:23.081Z sunrise 2025-03-02T13:24:50.287Z moonrise 2025-03-02T17:36:48.043Z Sun culminates 54.50 degrees above the horizon 2025-03-02T19:55:45.383Z Moon culminates 71.24 degrees above the horizon -2025-03-02T23:25:37.540Z sunset -2025-03-03T02:35:26.303Z moonset -2025-03-03T11:47:19.855Z sunrise -2025-03-03T14:00:50.882Z moonrise +2025-03-02T23:25:37.624Z sunset +2025-03-03T02:35:26.339Z moonset +2025-03-03T11:47:19.857Z sunrise +2025-03-03T14:00:50.853Z moonrise 2025-03-03T17:08:13.551Z Uranus moves from Aries to Taurus 2025-03-03T17:36:35.424Z Sun culminates 54.88 degrees above the horizon 2025-03-03T20:48:17.458Z Moon culminates 77.91 degrees above the horizon -2025-03-03T23:26:15.648Z sunset -2025-03-04T03:44:19.127Z moonset -2025-03-04T11:46:16.035Z sunrise +2025-03-03T23:26:15.734Z sunset +2025-03-04T03:44:19.245Z moonset +2025-03-04T11:46:16.036Z sunrise 2025-03-04T13:36:20.894Z Mercury perihelion at 0.3075 AU -2025-03-04T14:40:42.051Z moonrise +2025-03-04T14:40:41.971Z moonrise 2025-03-04T17:36:22.336Z Sun culminates 55.27 degrees above the horizon 2025-03-04T21:43:35.213Z Moon culminates 83.47 degrees above the horizon -2025-03-04T23:26:53.410Z sunset -2025-03-05T04:54:04.764Z moonset +2025-03-04T23:26:53.497Z sunset +2025-03-05T04:54:04.966Z moonset 2025-03-05T11:45:11.644Z sunrise -2025-03-05T15:25:58.903Z moonrise +2025-03-05T15:25:58.768Z moonrise 2025-03-05T17:36:08.795Z Sun culminates 55.65 degrees above the horizon 2025-03-05T22:41:44.663Z Moon culminates 87.51 degrees above the horizon -2025-03-05T23:27:30.832Z sunset -2025-03-06T06:02:59.094Z moonset -2025-03-06T11:44:06.710Z sunrise -2025-03-06T16:17:38.166Z moonrise +2025-03-05T23:27:30.920Z sunset +2025-03-06T06:02:59.328Z moonset +2025-03-06T11:44:06.711Z sunrise +2025-03-06T16:17:37.989Z moonrise 2025-03-06T16:32:11.152Z first quarter 2025-03-06T17:35:54.819Z Sun culminates 56.04 degrees above the horizon -2025-03-06T23:28:07.922Z sunset +2025-03-06T23:28:08.012Z sunset 2025-03-06T23:41:47.808Z Moon culminates 89.72 degrees above the horizon -2025-03-07T07:08:12.116Z moonset -2025-03-07T11:43:01.263Z sunrise -2025-03-07T17:15:18.237Z moonrise +2025-03-07T07:08:12.340Z moonset +2025-03-07T11:43:01.363Z sunrise +2025-03-07T17:15:18.028Z moonrise 2025-03-07T17:35:40.428Z Sun culminates 56.43 degrees above the horizon -2025-03-07T23:28:44.691Z sunset +2025-03-07T23:28:44.781Z sunset 2025-03-08T00:41:49.005Z Moon culminates 90.00 degrees above the horizon 2025-03-08T06:05:35.592Z Mercury max evening elongation: 18.25 degrees from Sun -2025-03-08T08:06:56.800Z moonset -2025-03-08T11:41:55.331Z sunrise +2025-03-08T08:06:57.000Z moonset +2025-03-08T11:41:55.430Z sunrise 2025-03-08T17:35:25.640Z Sun culminates 56.82 degrees above the horizon -2025-03-08T18:17:03.093Z moonrise -2025-03-08T23:29:21.148Z sunset +2025-03-08T18:17:02.865Z moonrise +2025-03-08T23:29:21.239Z sunset 2025-03-09T01:39:37.353Z Moon culminates 88.43 degrees above the horizon -2025-03-09T08:57:46.422Z moonset -2025-03-09T11:40:48.944Z sunrise +2025-03-09T08:57:46.594Z moonset +2025-03-09T11:40:49.042Z sunrise 2025-03-09T17:35:10.477Z Sun culminates 57.21 degrees above the horizon -2025-03-09T19:20:04.332Z moonrise -2025-03-09T23:29:57.305Z sunset +2025-03-09T19:20:04.116Z moonrise +2025-03-09T23:29:57.398Z sunset 2025-03-10T02:33:39.160Z Moon culminates 85.30 degrees above the horizon -2025-03-10T09:40:54.284Z moonset -2025-03-10T11:39:42.131Z sunrise +2025-03-10T09:40:54.415Z moonset +2025-03-10T11:39:42.228Z sunrise 2025-03-10T17:34:54.961Z Sun culminates 57.60 degrees above the horizon -2025-03-10T20:21:55.558Z moonrise -2025-03-10T23:30:33.177Z sunset +2025-03-10T20:21:55.401Z moonrise +2025-03-10T23:30:33.271Z sunset 2025-03-11T03:23:22.369Z Moon culminates 80.96 degrees above the horizon -2025-03-11T10:17:37.664Z moonset -2025-03-11T11:38:34.923Z sunrise +2025-03-11T10:17:37.746Z moonset +2025-03-11T11:38:35.019Z sunrise 2025-03-11T17:34:39.113Z Sun culminates 58.00 degrees above the horizon -2025-03-11T21:21:17.880Z moonrise -2025-03-11T23:31:08.778Z sunset +2025-03-11T21:21:17.803Z moonrise +2025-03-11T23:31:08.873Z sunset 2025-03-12T04:09:07.192Z Moon culminates 75.77 degrees above the horizon 2025-03-12T10:28:43.146Z Saturn conjunction -2025-03-12T10:49:34.173Z moonset -2025-03-12T11:37:27.351Z sunrise +2025-03-12T10:49:34.214Z moonset +2025-03-12T11:37:27.446Z sunrise 2025-03-12T17:34:22.957Z Sun culminates 58.39 degrees above the horizon -2025-03-12T22:17:58.530Z moonrise -2025-03-12T23:31:44.124Z sunset +2025-03-12T22:17:58.509Z moonrise +2025-03-12T23:31:44.220Z sunset 2025-03-13T04:51:43.877Z Moon culminates 70.04 degrees above the horizon -2025-03-13T11:18:17.252Z moonset -2025-03-13T11:36:19.444Z sunrise +2025-03-13T11:18:17.271Z moonset +2025-03-13T11:36:19.538Z sunrise 2025-03-13T17:34:06.516Z Sun culminates 58.78 degrees above the horizon -2025-03-13T23:12:27.587Z moonrise -2025-03-13T23:32:19.232Z sunset +2025-03-13T23:12:27.589Z moonrise +2025-03-13T23:32:19.328Z sunset 2025-03-14T05:32:14.707Z Moon culminates 64.04 degrees above the horizon 2025-03-14T06:55:19.814Z full moon 2025-03-14T06:58:42.343Z total lunar eclipse -2025-03-14T11:35:11.234Z sunrise -2025-03-14T11:45:09.159Z moonset +2025-03-14T11:35:11.327Z sunrise +2025-03-14T11:45:09.173Z moonset 2025-03-14T17:33:49.815Z Sun culminates 59.18 degrees above the horizon -2025-03-14T23:32:54.118Z sunset -2025-03-15T00:05:35.809Z moonrise +2025-03-14T23:32:54.216Z sunset +2025-03-15T00:05:35.813Z moonrise 2025-03-15T06:11:44.279Z Moon culminates 58.01 degrees above the horizon -2025-03-15T11:34:02.752Z sunrise -2025-03-15T12:11:22.719Z moonset +2025-03-15T11:34:02.844Z sunrise +2025-03-15T12:11:22.729Z moonset 2025-03-15T17:33:32.877Z Sun culminates 59.57 degrees above the horizon -2025-03-15T23:33:28.858Z sunset -2025-03-16T00:58:20.026Z moonrise +2025-03-15T23:33:28.899Z sunset +2025-03-16T00:58:20.041Z moonrise 2025-03-16T06:51:15.646Z Moon culminates 52.15 degrees above the horizon -2025-03-16T11:32:54.028Z sunrise -2025-03-16T12:38:06.042Z moonset +2025-03-16T11:32:54.120Z sunrise +2025-03-16T12:38:06.038Z moonset 2025-03-16T17:33:15.727Z Sun culminates 59.97 degrees above the horizon -2025-03-16T23:34:03.296Z sunset -2025-03-17T01:51:33.785Z moonrise +2025-03-16T23:34:03.395Z sunset +2025-03-17T01:51:33.843Z moonrise 2025-03-17T07:31:48.889Z Moon culminates 46.65 degrees above the horizon -2025-03-17T11:31:45.093Z sunrise -2025-03-17T13:06:27.585Z moonset +2025-03-17T11:31:45.185Z sunrise +2025-03-17T13:06:27.547Z moonset 2025-03-17T16:38:00.335Z lunar apogee at 405742 km 2025-03-17T17:32:58.388Z Sun culminates 60.36 degrees above the horizon -2025-03-17T23:34:37.623Z sunset -2025-03-18T02:45:59.059Z moonrise +2025-03-17T23:34:37.723Z sunset +2025-03-18T02:45:59.196Z moonrise 2025-03-18T08:14:19.286Z Moon culminates 41.71 degrees above the horizon -2025-03-18T11:30:35.978Z sunrise -2025-03-18T13:37:40.054Z moonset +2025-03-18T11:30:36.069Z sunrise +2025-03-18T13:37:39.961Z moonset 2025-03-18T17:32:40.885Z Sun culminates 60.76 degrees above the horizon 2025-03-18T23:35:11.796Z sunset -2025-03-19T03:41:55.748Z moonrise +2025-03-19T03:41:55.975Z moonrise 2025-03-19T08:59:32.777Z Moon culminates 37.53 degrees above the horizon -2025-03-19T11:29:26.713Z sunrise -2025-03-19T14:13:01.177Z moonset +2025-03-19T11:29:26.803Z sunrise +2025-03-19T14:13:01.023Z moonset 2025-03-19T17:32:23.239Z Sun culminates 61.15 degrees above the horizon 2025-03-19T23:31:13.377Z Neptune conjunction 2025-03-19T23:35:45.833Z sunset -2025-03-20T04:39:08.526Z moonrise +2025-03-20T04:39:08.814Z moonrise 2025-03-20T09:01:31.049Z March equinox 2025-03-20T09:47:57.260Z Moon culminates 34.36 degrees above the horizon -2025-03-20T11:28:17.326Z sunrise -2025-03-20T14:53:47.886Z moonset +2025-03-20T11:28:17.416Z sunrise +2025-03-20T14:53:47.680Z moonset 2025-03-20T17:32:05.474Z Sun culminates 61.55 degrees above the horizon -2025-03-20T23:36:19.747Z sunset -2025-03-21T05:36:36.526Z moonrise +2025-03-20T23:36:19.748Z sunset +2025-03-21T05:36:36.830Z moonrise 2025-03-21T10:39:30.734Z Moon culminates 32.43 degrees above the horizon -2025-03-21T11:27:07.848Z sunrise -2025-03-21T15:40:59.705Z moonset +2025-03-21T11:27:07.937Z sunrise +2025-03-21T15:40:59.452Z moonset 2025-03-21T17:31:47.611Z Sun culminates 61.94 degrees above the horizon -2025-03-21T23:36:53.554Z sunset -2025-03-22T06:32:38.310Z moonrise +2025-03-21T23:36:53.555Z sunset +2025-03-22T06:32:38.603Z moonrise 2025-03-22T09:34:43.103Z Venus moves from Pisces to Pegasus -2025-03-22T11:25:58.307Z sunrise +2025-03-22T11:25:58.395Z sunrise 2025-03-22T11:30:04.554Z third quarter 2025-03-22T11:33:32.489Z Moon culminates 31.95 degrees above the horizon -2025-03-22T16:34:52.207Z moonset +2025-03-22T16:34:51.924Z moonset 2025-03-22T17:31:29.671Z Sun culminates 62.34 degrees above the horizon -2025-03-22T23:37:27.266Z sunset +2025-03-22T23:37:27.267Z sunset 2025-03-23T01:00:53.205Z Venus inferior conjunction -2025-03-23T07:25:21.785Z moonrise -2025-03-23T11:24:48.730Z sunrise +2025-03-23T07:25:22.042Z moonrise +2025-03-23T11:24:48.817Z sunrise 2025-03-23T12:28:47.761Z Moon culminates 33.08 degrees above the horizon 2025-03-23T17:31:11.674Z Sun culminates 62.73 degrees above the horizon -2025-03-23T17:34:35.681Z moonset -2025-03-23T23:38:00.895Z sunset -2025-03-24T08:13:27.533Z moonrise +2025-03-23T17:34:35.383Z moonset +2025-03-23T23:38:00.896Z sunset +2025-03-24T08:13:27.742Z moonrise 2025-03-24T09:17:58.390Z Venus moves from Pegasus to Pisces -2025-03-24T11:23:39.145Z sunrise +2025-03-24T11:23:39.231Z sunrise 2025-03-24T13:23:51.004Z Moon culminates 35.85 degrees above the horizon 2025-03-24T17:30:53.639Z Sun culminates 63.12 degrees above the horizon -2025-03-24T18:38:23.636Z moonset +2025-03-24T18:38:23.373Z moonset 2025-03-24T19:40:53.658Z Mercury inferior conjunction -2025-03-24T23:38:34.451Z sunset -2025-03-25T08:56:36.162Z moonrise -2025-03-25T11:22:29.578Z sunrise +2025-03-24T23:38:34.452Z sunset +2025-03-25T08:56:36.303Z moonrise +2025-03-25T11:22:29.664Z sunrise 2025-03-25T14:17:37.275Z Moon culminates 40.18 degrees above the horizon 2025-03-25T17:30:35.584Z Sun culminates 63.52 degrees above the horizon -2025-03-25T19:44:16.162Z moonset -2025-03-25T23:39:07.946Z sunset -2025-03-26T09:35:24.659Z moonrise -2025-03-26T11:21:20.055Z sunrise +2025-03-25T19:44:15.993Z moonset +2025-03-25T23:39:07.947Z sunset +2025-03-26T09:35:24.728Z moonrise +2025-03-26T11:21:20.140Z sunrise 2025-03-26T15:09:42.979Z Moon culminates 45.87 degrees above the horizon 2025-03-26T17:30:17.526Z Sun culminates 63.91 degrees above the horizon -2025-03-26T20:50:48.115Z moonset -2025-03-26T23:39:41.386Z sunset -2025-03-27T10:11:05.484Z moonrise -2025-03-27T11:20:10.603Z sunrise +2025-03-26T20:50:48.053Z moonset +2025-03-26T23:39:41.388Z sunset +2025-03-27T10:11:05.507Z moonrise +2025-03-27T11:20:10.687Z sunrise 2025-03-27T16:00:27.874Z Moon culminates 52.60 degrees above the horizon 2025-03-27T17:29:59.484Z Sun culminates 64.30 degrees above the horizon -2025-03-27T21:57:30.885Z moonset -2025-03-27T23:40:14.782Z sunset -2025-03-28T10:45:07.931Z moonrise -2025-03-28T11:19:01.246Z sunrise +2025-03-27T21:57:30.878Z moonset +2025-03-27T23:40:14.784Z sunset +2025-03-28T10:45:07.940Z moonrise +2025-03-28T11:19:01.329Z sunrise 2025-03-28T16:50:44.698Z Moon culminates 59.99 degrees above the horizon 2025-03-28T17:29:41.473Z Sun culminates 64.69 degrees above the horizon -2025-03-28T23:04:44.902Z moonset -2025-03-28T23:40:48.141Z sunset +2025-03-28T23:04:44.903Z moonset +2025-03-28T23:40:48.143Z sunset 2025-03-29T10:58:23.580Z new moon -2025-03-29T11:17:52.008Z sunrise -2025-03-29T11:19:09.223Z moonrise +2025-03-29T11:17:52.090Z sunrise +2025-03-29T11:19:09.228Z moonrise 2025-03-29T17:29:23.509Z Sun culminates 65.08 degrees above the horizon 2025-03-29T17:41:45.258Z Moon culminates 67.58 degrees above the horizon -2025-03-29T23:41:21.471Z sunset -2025-03-30T00:13:15.879Z moonset +2025-03-29T23:41:21.474Z sunset +2025-03-30T00:13:15.892Z moonset 2025-03-30T05:25:20.025Z lunar perigee at 358118 km -2025-03-30T11:16:42.913Z sunrise -2025-03-30T11:54:52.875Z moonrise +2025-03-30T11:16:42.994Z sunrise +2025-03-30T11:54:52.863Z moonrise 2025-03-30T17:29:05.609Z Sun culminates 65.47 degrees above the horizon 2025-03-30T18:34:45.548Z Moon culminates 74.82 degrees above the horizon -2025-03-30T23:41:54.780Z sunset -2025-03-31T01:23:42.300Z moonset -2025-03-31T11:15:33.986Z sunrise -2025-03-31T12:34:07.911Z moonrise +2025-03-30T23:41:54.783Z sunset +2025-03-31T01:23:42.376Z moonset +2025-03-31T11:15:34.065Z sunrise +2025-03-31T12:34:07.857Z moonrise 2025-03-31T17:28:47.788Z Sun culminates 65.86 degrees above the horizon 2025-03-31T19:30:46.430Z Moon culminates 81.17 degrees above the horizon -2025-03-31T23:42:28.075Z sunset -2025-04-01T02:35:54.850Z moonset -2025-04-01T11:14:25.250Z sunrise -2025-04-01T13:18:39.823Z moonrise +2025-03-31T23:42:28.079Z sunset +2025-04-01T02:35:55.020Z moonset +2025-04-01T11:14:25.328Z sunrise +2025-04-01T13:18:39.711Z moonrise 2025-04-01T17:28:30.061Z Sun culminates 66.24 degrees above the horizon 2025-04-01T20:30:06.404Z Moon culminates 86.07 degrees above the horizon -2025-04-01T23:43:01.363Z sunset -2025-04-02T03:48:17.074Z moonset -2025-04-02T11:13:16.731Z sunrise -2025-04-02T14:09:42.816Z moonrise +2025-04-01T23:43:01.368Z sunset +2025-04-02T03:48:17.302Z moonset +2025-04-02T11:13:16.808Z sunrise +2025-04-02T14:09:42.655Z moonrise 2025-04-02T17:28:12.446Z Sun culminates 66.63 degrees above the horizon 2025-04-02T21:31:53.919Z Moon culminates 89.12 degrees above the horizon -2025-04-02T23:43:34.651Z sunset -2025-04-03T04:57:42.230Z moonset -2025-04-03T11:12:08.454Z sunrise -2025-04-03T15:07:14.067Z moonrise +2025-04-02T23:43:34.657Z sunset +2025-04-03T04:57:42.460Z moonset +2025-04-03T11:12:08.529Z sunrise +2025-04-03T15:07:13.862Z moonrise 2025-04-03T17:27:54.957Z Sun culminates 67.01 degrees above the horizon 2025-04-03T22:34:04.894Z Moon culminates 89.89 degrees above the horizon -2025-04-03T23:44:07.947Z sunset -2025-04-04T06:00:42.037Z moonset -2025-04-04T11:11:00.444Z sunrise -2025-04-04T16:09:24.262Z moonrise +2025-04-03T23:44:07.953Z sunset +2025-04-04T06:00:42.251Z moonset +2025-04-04T11:11:00.517Z sunrise +2025-04-04T16:09:24.037Z moonrise 2025-04-04T17:27:37.613Z Sun culminates 67.39 degrees above the horizon 2025-04-04T23:34:06.738Z Moon culminates 89.10 degrees above the horizon -2025-04-04T23:44:41.257Z sunset +2025-04-04T23:44:41.265Z sunset 2025-04-05T02:15:17.040Z first quarter -2025-04-05T06:55:09.096Z moonset -2025-04-05T11:09:52.728Z sunrise -2025-04-05T17:13:13.154Z moonrise +2025-04-05T06:55:09.277Z moonset +2025-04-05T11:09:52.800Z sunrise +2025-04-05T17:13:12.930Z moonrise 2025-04-05T17:27:20.430Z Sun culminates 67.77 degrees above the horizon -2025-04-05T23:45:14.592Z sunset +2025-04-05T23:45:14.601Z sunset 2025-04-06T00:30:03.977Z Moon culminates 86.40 degrees above the horizon -2025-04-06T07:40:58.631Z moonset -2025-04-06T11:08:45.333Z sunrise +2025-04-06T07:40:58.775Z moonset +2025-04-06T11:08:45.403Z sunrise 2025-04-06T17:27:03.426Z Sun culminates 68.15 degrees above the horizon -2025-04-06T18:15:54.418Z moonrise -2025-04-06T23:45:47.959Z sunset +2025-04-06T18:15:54.241Z moonrise +2025-04-06T23:45:47.969Z sunset 2025-04-07T01:21:13.323Z Moon culminates 82.38 degrees above the horizon -2025-04-07T08:19:30.804Z moonset -2025-04-07T11:07:38.286Z sunrise +2025-04-07T08:19:30.901Z moonset +2025-04-07T11:07:38.354Z sunrise 2025-04-07T17:26:46.620Z Sun culminates 68.52 degrees above the horizon -2025-04-07T19:15:54.926Z moonrise -2025-04-07T23:46:21.368Z sunset +2025-04-07T19:15:54.825Z moonrise +2025-04-07T23:46:21.380Z sunset 2025-04-08T02:07:54.261Z Moon culminates 77.43 degrees above the horizon -2025-04-08T08:52:34.424Z moonset -2025-04-08T11:06:31.615Z sunrise +2025-04-08T08:52:34.476Z moonset +2025-04-08T11:06:31.680Z sunrise 2025-04-08T17:26:30.031Z Sun culminates 68.89 degrees above the horizon -2025-04-08T20:12:56.907Z moonrise -2025-04-08T23:46:54.830Z sunset +2025-04-08T20:12:56.872Z moonrise +2025-04-08T23:46:54.844Z sunset 2025-04-09T02:51:01.501Z Moon culminates 71.89 degrees above the horizon -2025-04-09T09:21:53.817Z moonset -2025-04-09T11:05:25.348Z sunrise +2025-04-09T09:21:53.842Z moonset +2025-04-09T11:05:25.411Z sunrise 2025-04-09T17:26:13.679Z Sun culminates 69.27 degrees above the horizon -2025-04-09T21:07:31.283Z moonrise -2025-04-09T23:47:28.357Z sunset +2025-04-09T21:07:31.281Z moonrise +2025-04-09T23:47:28.371Z sunset 2025-04-10T03:31:42.643Z Moon culminates 66.01 degrees above the horizon -2025-04-10T09:48:58.946Z moonset -2025-04-10T11:04:19.513Z sunrise +2025-04-10T09:48:58.960Z moonset +2025-04-10T11:04:19.574Z sunrise 2025-04-10T17:25:57.583Z Sun culminates 69.63 degrees above the horizon -2025-04-10T22:00:31.774Z moonrise -2025-04-10T23:48:01.958Z sunset +2025-04-10T22:00:31.778Z moonrise +2025-04-10T23:48:01.975Z sunset 2025-04-11T04:11:06.509Z Moon culminates 60.02 degrees above the horizon -2025-04-11T10:15:07.001Z moonset -2025-04-11T11:03:14.139Z sunrise +2025-04-11T10:15:07.013Z moonset +2025-04-11T11:03:14.197Z sunrise 2025-04-11T17:25:41.763Z Sun culminates 70.00 degrees above the horizon -2025-04-11T22:52:58.402Z moonrise -2025-04-11T23:48:35.646Z sunset +2025-04-11T22:52:58.411Z moonrise +2025-04-11T23:48:35.664Z sunset 2025-04-12T04:50:18.810Z Moon culminates 54.12 degrees above the horizon -2025-04-12T10:41:27.629Z moonset -2025-04-12T11:02:09.256Z sunrise +2025-04-12T10:41:27.632Z moonset +2025-04-12T11:02:09.311Z sunrise 2025-04-12T17:25:26.240Z Sun culminates 70.36 degrees above the horizon 2025-04-12T21:56:57.797Z Mars moves from Gemini to Cancer -2025-04-12T23:45:47.664Z moonrise -2025-04-12T23:49:09.432Z sunset +2025-04-12T23:45:47.702Z moonrise +2025-04-12T23:49:09.452Z sunset 2025-04-13T00:22:54.682Z full moon 2025-04-13T05:30:20.865Z Moon culminates 48.50 degrees above the horizon -2025-04-13T11:01:04.891Z sunrise -2025-04-13T11:09:08.424Z moonset +2025-04-13T11:01:04.944Z sunrise +2025-04-13T11:09:08.400Z moonset 2025-04-13T17:25:11.034Z Sun culminates 70.73 degrees above the horizon 2025-04-13T22:47:49.871Z lunar apogee at 406282 km -2025-04-13T23:49:43.326Z sunset -2025-04-14T00:39:44.597Z moonrise +2025-04-13T23:49:43.349Z sunset +2025-04-14T00:39:44.703Z moonrise 2025-04-14T06:12:08.205Z Moon culminates 43.35 degrees above the horizon -2025-04-14T11:00:01.075Z sunrise -2025-04-14T11:39:19.168Z moonset +2025-04-14T11:00:01.124Z sunrise +2025-04-14T11:39:19.096Z moonset 2025-04-14T17:24:56.164Z Sun culminates 71.09 degrees above the horizon -2025-04-14T23:50:17.340Z sunset -2025-04-15T01:35:13.080Z moonrise +2025-04-14T23:50:17.365Z sunset +2025-04-15T01:35:13.277Z moonrise 2025-04-15T06:56:26.723Z Moon culminates 38.90 degrees above the horizon -2025-04-15T10:58:57.835Z sunrise -2025-04-15T12:13:13.193Z moonset +2025-04-15T10:58:57.882Z sunrise +2025-04-15T12:13:13.060Z moonset 2025-04-15T17:24:41.650Z Sun culminates 71.44 degrees above the horizon -2025-04-15T23:50:51.482Z sunset -2025-04-16T02:32:03.382Z moonrise +2025-04-15T23:50:51.509Z sunset +2025-04-16T02:32:03.653Z moonrise 2025-04-16T07:43:44.949Z Moon culminates 35.38 degrees above the horizon -2025-04-16T10:57:55.201Z sunrise -2025-04-16T12:52:03.027Z moonset +2025-04-16T10:57:55.244Z sunrise +2025-04-16T12:52:02.838Z moonset 2025-04-16T17:24:27.511Z Sun culminates 71.80 degrees above the horizon 2025-04-16T22:54:51.373Z Mars aphelion at 1.6661 AU -2025-04-16T23:51:25.760Z sunset -2025-04-17T03:29:21.426Z moonrise +2025-04-16T23:51:25.790Z sunset +2025-04-17T03:29:21.728Z moonrise 2025-04-17T08:34:03.303Z Moon culminates 33.02 degrees above the horizon -2025-04-17T10:56:53.201Z sunrise +2025-04-17T10:56:53.241Z sunrise 2025-04-17T13:13:49.983Z Mercury aphelion at 0.4667 AU -2025-04-17T13:36:46.799Z moonset +2025-04-17T13:36:46.566Z moonset 2025-04-17T17:24:13.763Z Sun culminates 72.15 degrees above the horizon -2025-04-17T23:52:00.182Z sunset -2025-04-18T04:25:31.083Z moonrise +2025-04-17T23:52:00.215Z sunset +2025-04-18T04:25:31.379Z moonrise 2025-04-18T09:26:45.755Z Moon culminates 32.03 degrees above the horizon -2025-04-18T10:55:51.862Z sunrise -2025-04-18T14:27:45.590Z moonset +2025-04-18T10:55:51.898Z sunrise +2025-04-18T14:27:45.320Z moonset 2025-04-18T17:24:00.424Z Sun culminates 72.49 degrees above the horizon -2025-04-18T23:52:34.753Z sunset +2025-04-18T23:52:34.789Z sunset 2025-04-19T03:28:21.857Z Saturn moves from Aquarius to Pisces -2025-04-19T05:18:39.984Z moonrise +2025-04-19T05:18:40.254Z moonrise 2025-04-19T10:20:43.254Z Moon culminates 32.57 degrees above the horizon -2025-04-19T10:54:51.213Z sunrise -2025-04-19T15:24:23.191Z moonset +2025-04-19T10:54:51.245Z sunrise +2025-04-19T15:24:22.898Z moonset 2025-04-19T17:23:47.509Z Sun culminates 72.84 degrees above the horizon -2025-04-19T23:53:09.476Z sunset -2025-04-20T06:07:21.224Z moonrise -2025-04-20T10:53:51.278Z sunrise +2025-04-19T23:53:09.515Z sunset +2025-04-20T06:07:21.455Z moonrise +2025-04-20T10:53:51.307Z sunrise 2025-04-20T11:14:34.154Z Moon culminates 34.68 degrees above the horizon -2025-04-20T16:25:09.418Z moonset +2025-04-20T16:25:09.139Z moonset 2025-04-20T17:23:35.033Z Sun culminates 73.18 degrees above the horizon -2025-04-20T23:53:44.354Z sunset +2025-04-20T23:53:44.395Z sunset 2025-04-21T01:36:08.427Z third quarter -2025-04-21T06:51:03.843Z moonrise -2025-04-21T10:52:52.085Z sunrise +2025-04-21T06:51:04.015Z moonrise +2025-04-21T10:52:52.110Z sunrise 2025-04-21T12:07:13.270Z Moon culminates 38.28 degrees above the horizon 2025-04-21T17:23:23.008Z Sun culminates 73.52 degrees above the horizon -2025-04-21T17:28:14.995Z moonset +2025-04-21T17:28:14.786Z moonset 2025-04-21T18:41:14.984Z Mercury max morning elongation: 27.39 degrees from Sun -2025-04-21T23:54:19.386Z sunset -2025-04-22T07:30:14.041Z moonrise -2025-04-22T10:51:53.659Z sunrise +2025-04-21T23:54:19.431Z sunset +2025-04-22T07:30:14.143Z moonrise +2025-04-22T10:51:53.679Z sunrise 2025-04-22T12:58:12.893Z Moon culminates 43.24 degrees above the horizon 2025-04-22T17:23:11.448Z Sun culminates 73.86 degrees above the horizon -2025-04-22T18:32:16.155Z moonset -2025-04-22T23:54:54.571Z sunset -2025-04-23T08:05:56.571Z moonrise -2025-04-23T10:50:56.023Z sunrise +2025-04-22T18:32:16.051Z moonset +2025-04-22T23:54:54.619Z sunset +2025-04-23T08:05:56.614Z moonrise +2025-04-23T10:50:56.039Z sunrise 2025-04-23T12:32:33.760Z Mercury moves from Pisces to Cetus 2025-04-23T13:47:47.126Z Moon culminates 49.31 degrees above the horizon 2025-04-23T17:23:00.362Z Sun culminates 74.19 degrees above the horizon -2025-04-23T19:36:40.082Z moonset -2025-04-23T23:55:29.906Z sunset +2025-04-23T19:36:40.057Z moonset +2025-04-23T23:55:29.958Z sunset 2025-04-24T03:21:17.857Z Venus peak magnitude -4.75 in morning sky -2025-04-24T08:39:35.626Z moonrise -2025-04-24T10:49:59.201Z sunrise +2025-04-24T08:39:35.640Z moonrise +2025-04-24T10:49:59.213Z sunrise 2025-04-24T14:36:44.256Z Moon culminates 56.22 degrees above the horizon 2025-04-24T17:22:49.761Z Sun culminates 74.52 degrees above the horizon 2025-04-24T20:41:44.253Z moonset -2025-04-24T23:56:05.386Z sunset -2025-04-25T09:12:44.832Z moonrise -2025-04-25T10:49:03.217Z sunrise +2025-04-24T23:56:05.441Z sunset +2025-04-25T09:12:44.839Z moonrise +2025-04-25T10:49:03.224Z sunrise 2025-04-25T15:26:15.526Z Moon culminates 63.60 degrees above the horizon 2025-04-25T17:22:39.652Z Sun culminates 74.84 degrees above the horizon -2025-04-25T21:48:19.590Z moonset -2025-04-25T23:56:41.005Z sunset +2025-04-25T21:48:19.593Z moonset +2025-04-25T23:56:41.064Z sunset 2025-04-26T09:47:05.653Z moonrise -2025-04-26T10:48:08.091Z sunrise +2025-04-26T10:48:08.093Z sunrise 2025-04-26T16:17:43.617Z Moon culminates 71.01 degrees above the horizon 2025-04-26T17:22:30.042Z Sun culminates 75.16 degrees above the horizon -2025-04-26T22:57:24.601Z moonset -2025-04-26T23:57:16.757Z sunset -2025-04-27T10:24:29.179Z moonrise -2025-04-27T10:47:13.844Z sunrise +2025-04-26T22:57:24.636Z moonset +2025-04-26T23:57:16.820Z sunset +2025-04-27T10:24:29.151Z moonrise +2025-04-27T10:47:13.842Z sunrise 2025-04-27T16:18:15.211Z lunar perigee at 357110 km 2025-04-27T17:12:27.555Z Moon culminates 77.92 degrees above the horizon 2025-04-27T17:22:20.939Z Sun culminates 75.48 degrees above the horizon 2025-04-27T19:31:41.653Z new moon -2025-04-27T23:57:52.633Z sunset -2025-04-28T00:09:28.321Z moonset -2025-04-28T10:46:20.496Z sunrise -2025-04-28T11:06:53.264Z moonrise +2025-04-27T23:57:52.699Z sunset +2025-04-28T00:09:28.441Z moonset +2025-04-28T10:46:20.489Z sunrise +2025-04-28T11:06:53.182Z moonrise 2025-04-28T17:22:12.347Z Sun culminates 75.79 degrees above the horizon 2025-04-28T18:11:17.080Z Moon culminates 83.71 degrees above the horizon -2025-04-28T23:58:28.623Z sunset -2025-04-29T01:23:40.464Z moonset -2025-04-29T10:45:28.066Z sunrise -2025-04-29T11:56:02.349Z moonrise +2025-04-28T23:58:28.694Z sunset +2025-04-29T01:23:40.670Z moonset +2025-04-29T10:45:28.054Z sunrise +2025-04-29T11:56:02.212Z moonrise 2025-04-29T17:22:04.271Z Sun culminates 76.10 degrees above the horizon 2025-04-29T18:21:23.765Z Mercury moves from Cetus to Pisces 2025-04-29T19:13:55.197Z Moon culminates 87.81 degrees above the horizon -2025-04-29T23:59:04.717Z sunset -2025-04-30T02:37:12.998Z moonset -2025-04-30T10:44:36.574Z sunrise -2025-04-30T12:52:38.935Z moonrise +2025-04-29T23:59:04.792Z sunset +2025-04-30T02:37:13.231Z moonset +2025-04-30T10:44:36.557Z sunrise +2025-04-30T12:52:38.754Z moonrise 2025-04-30T17:21:56.715Z Sun culminates 76.41 degrees above the horizon 2025-04-30T20:18:30.656Z Moon culminates 89.81 degrees above the horizon -2025-04-30T23:59:40.903Z sunset -2025-05-01T03:45:53.727Z moonset -2025-05-01T10:43:46.040Z sunrise -2025-05-01T13:55:26.716Z moonrise +2025-04-30T23:59:40.982Z sunset +2025-05-01T03:45:53.942Z moonset +2025-05-01T10:43:46.018Z sunrise +2025-05-01T13:55:26.501Z moonrise 2025-05-01T17:21:49.683Z Sun culminates 76.71 degrees above the horizon 2025-05-01T21:22:02.888Z Moon culminates 89.61 degrees above the horizon -2025-05-02T00:00:17.168Z sunset -2025-05-02T04:46:09.170Z moonset -2025-05-02T10:42:56.482Z sunrise -2025-05-02T15:01:13.741Z moonrise +2025-05-02T00:00:17.251Z sunset +2025-05-02T04:46:09.358Z moonset +2025-05-02T10:42:56.455Z sunrise +2025-05-02T15:01:13.513Z moonrise 2025-05-02T17:21:43.178Z Sun culminates 77.01 degrees above the horizon 2025-05-02T22:21:43.293Z Moon culminates 87.45 degrees above the horizon -2025-05-03T00:00:53.501Z sunset -2025-05-03T05:36:47.763Z moonset -2025-05-03T10:42:07.923Z sunrise -2025-05-03T16:06:25.596Z moonrise +2025-05-03T00:00:53.588Z sunset +2025-05-03T05:36:47.918Z moonset +2025-05-03T10:42:07.891Z sunrise +2025-05-03T16:06:25.398Z moonrise 2025-05-03T17:21:37.204Z Sun culminates 77.30 degrees above the horizon 2025-05-03T23:16:04.787Z Moon culminates 83.77 degrees above the horizon -2025-05-04T00:01:29.888Z sunset -2025-05-04T06:18:48.915Z moonset -2025-05-04T10:41:20.380Z sunrise +2025-05-04T00:01:29.979Z sunset +2025-05-04T06:18:49.025Z moonset +2025-05-04T10:41:20.343Z sunrise 2025-05-04T13:52:23.038Z first quarter -2025-05-04T17:08:42.938Z moonrise +2025-05-04T17:08:42.813Z moonrise 2025-05-04T17:21:31.765Z Sun culminates 77.59 degrees above the horizon -2025-05-05T00:02:06.316Z sunset +2025-05-05T00:02:06.412Z sunset 2025-05-05T00:05:08.040Z Moon culminates 79.03 degrees above the horizon -2025-05-05T06:54:10.146Z moonset -2025-05-05T10:40:33.877Z sunrise +2025-05-05T06:54:10.209Z moonset +2025-05-05T10:40:33.834Z sunrise 2025-05-05T17:21:26.865Z Sun culminates 77.87 degrees above the horizon -2025-05-05T18:07:24.545Z moonrise -2025-05-06T00:02:42.775Z sunset +2025-05-05T18:07:24.494Z moonrise +2025-05-06T00:02:42.875Z sunset 2025-05-06T00:49:47.644Z Moon culminates 73.60 degrees above the horizon -2025-05-06T07:24:52.482Z moonset -2025-05-06T10:39:48.432Z sunrise +2025-05-06T07:24:52.512Z moonset +2025-05-06T10:39:48.384Z sunrise 2025-05-06T17:21:22.509Z Sun culminates 78.15 degrees above the horizon -2025-05-06T19:02:57.084Z moonrise -2025-05-07T00:03:19.251Z sunset +2025-05-06T19:02:57.075Z moonrise +2025-05-07T00:03:19.356Z sunset 2025-05-07T01:31:18.905Z Moon culminates 67.80 degrees above the horizon -2025-05-07T07:52:40.407Z moonset -2025-05-07T10:39:04.066Z sunrise +2025-05-07T07:52:40.423Z moonset +2025-05-07T10:39:04.014Z sunrise 2025-05-07T17:21:18.701Z Sun culminates 78.43 degrees above the horizon -2025-05-07T19:56:19.469Z moonrise -2025-05-08T00:03:55.733Z sunset +2025-05-07T19:56:19.473Z moonrise +2025-05-08T00:03:55.843Z sunset 2025-05-08T02:10:59.612Z Moon culminates 61.85 degrees above the horizon -2025-05-08T08:19:01.172Z moonset -2025-05-08T10:38:20.801Z sunrise +2025-05-08T08:19:01.185Z moonset +2025-05-08T10:38:20.743Z sunrise 2025-05-08T17:21:15.446Z Sun culminates 78.70 degrees above the horizon -2025-05-08T20:48:40.101Z moonrise -2025-05-09T00:04:32.210Z sunset +2025-05-08T20:48:40.107Z moonrise +2025-05-09T00:04:32.324Z sunset 2025-05-09T02:50:03.321Z Moon culminates 55.95 degrees above the horizon -2025-05-09T08:45:10.539Z moonset -2025-05-09T10:37:38.657Z sunrise +2025-05-09T08:45:10.547Z moonset +2025-05-09T10:37:38.594Z sunrise 2025-05-09T17:21:12.748Z Sun culminates 78.96 degrees above the horizon -2025-05-09T21:41:04.698Z moonrise -2025-05-10T00:05:08.670Z sunset +2025-05-09T21:41:04.722Z moonrise +2025-05-10T00:05:08.788Z sunset 2025-05-10T03:29:37.848Z Moon culminates 50.26 degrees above the horizon -2025-05-10T09:12:19.332Z moonset -2025-05-10T10:36:57.655Z sunrise +2025-05-10T09:12:19.319Z moonset +2025-05-10T10:36:57.587Z sunrise 2025-05-10T17:21:10.612Z Sun culminates 79.22 degrees above the horizon -2025-05-10T22:34:28.196Z moonrise -2025-05-11T00:05:45.100Z sunset +2025-05-10T22:34:28.276Z moonrise +2025-05-11T00:05:45.223Z sunset 2025-05-11T00:47:06.457Z lunar apogee at 406233 km 2025-05-11T04:10:44.504Z Moon culminates 44.97 degrees above the horizon -2025-05-11T09:41:38.740Z moonset -2025-05-11T10:36:17.815Z sunrise +2025-05-11T09:41:38.686Z moonset +2025-05-11T10:36:17.742Z sunrise 2025-05-11T17:21:09.041Z Sun culminates 79.48 degrees above the horizon 2025-05-11T19:49:46.289Z Venus moves from Pisces to Cetus -2025-05-11T23:29:25.625Z moonrise -2025-05-12T00:06:21.490Z sunset +2025-05-11T23:29:25.791Z moonrise +2025-05-12T00:06:21.617Z sunset 2025-05-12T04:54:15.151Z Moon culminates 40.29 degrees above the horizon -2025-05-12T10:14:22.889Z moonset -2025-05-12T10:35:39.158Z sunrise +2025-05-12T10:14:22.776Z moonset +2025-05-12T10:35:39.080Z sunrise 2025-05-12T12:46:24.053Z Mercury moves from Pisces to Cetus 2025-05-12T13:58:25.716Z Mercury moves from Cetus to Aries 2025-05-12T16:56:33.438Z full moon 2025-05-12T17:21:08.041Z Sun culminates 79.73 degrees above the horizon -2025-05-13T00:06:57.824Z sunset -2025-05-13T00:25:59.570Z moonrise +2025-05-13T00:06:57.956Z sunset +2025-05-13T00:25:59.819Z moonrise 2025-05-13T05:40:45.104Z Moon culminates 36.46 degrees above the horizon 2025-05-13T10:15:09.781Z Venus moves from Cetus to Pisces -2025-05-13T10:35:01.704Z sunrise -2025-05-13T10:51:46.076Z moonset +2025-05-13T10:35:01.621Z sunrise +2025-05-13T10:51:45.904Z moonset 2025-05-13T17:21:07.613Z Sun culminates 79.97 degrees above the horizon -2025-05-14T00:07:34.091Z sunset -2025-05-14T01:23:27.007Z moonrise +2025-05-14T00:07:34.227Z sunset +2025-05-14T01:23:27.301Z moonrise 2025-05-14T06:30:21.910Z Moon culminates 33.73 degrees above the horizon -2025-05-14T10:34:25.472Z sunrise -2025-05-14T11:34:50.906Z moonset +2025-05-14T10:34:25.383Z sunrise +2025-05-14T11:34:50.686Z moonset 2025-05-14T17:21:07.760Z Sun culminates 80.21 degrees above the horizon -2025-05-15T00:08:10.274Z sunset -2025-05-15T02:20:16.268Z moonrise +2025-05-15T00:08:10.415Z sunset +2025-05-15T02:20:16.566Z moonrise 2025-05-15T07:22:34.699Z Moon culminates 32.32 degrees above the horizon -2025-05-15T10:33:50.480Z sunrise -2025-05-15T12:24:06.033Z moonset +2025-05-15T10:33:50.387Z sunrise +2025-05-15T12:24:05.775Z moonset 2025-05-15T17:21:08.484Z Sun culminates 80.45 degrees above the horizon -2025-05-16T00:08:46.358Z sunset -2025-05-16T03:14:28.040Z moonrise +2025-05-16T00:08:46.503Z sunset +2025-05-16T03:14:28.317Z moonrise 2025-05-16T08:16:14.271Z Moon culminates 32.40 degrees above the horizon -2025-05-16T10:33:16.747Z sunrise -2025-05-16T13:19:02.934Z moonset +2025-05-16T10:33:16.649Z sunrise +2025-05-16T13:19:02.649Z moonset 2025-05-16T17:21:09.784Z Sun culminates 80.68 degrees above the horizon -2025-05-17T00:09:22.324Z sunset -2025-05-17T04:04:18.761Z moonrise +2025-05-17T00:09:22.473Z sunset +2025-05-17T04:04:19.004Z moonrise 2025-05-17T09:09:52.072Z Moon culminates 34.02 degrees above the horizon -2025-05-17T10:32:44.289Z sunrise -2025-05-17T14:18:13.710Z moonset +2025-05-17T10:32:44.186Z sunrise +2025-05-17T14:18:13.425Z moonset 2025-05-17T17:21:11.659Z Sun culminates 80.90 degrees above the horizon 2025-05-17T23:34:04.242Z Uranus conjunction -2025-05-18T00:09:58.154Z sunset -2025-05-18T04:48:59.312Z moonrise +2025-05-18T00:09:58.307Z sunset +2025-05-18T04:48:59.504Z moonrise 2025-05-18T10:02:11.723Z Moon culminates 37.12 degrees above the horizon -2025-05-18T10:32:13.121Z sunrise -2025-05-18T15:19:43.179Z moonset +2025-05-18T10:32:13.014Z sunrise +2025-05-18T15:19:42.947Z moonset 2025-05-18T17:21:14.106Z Sun culminates 81.12 degrees above the horizon -2025-05-19T00:10:33.825Z sunset -2025-05-19T05:28:43.175Z moonrise -2025-05-19T10:31:43.259Z sunrise +2025-05-19T00:10:33.982Z sunset +2025-05-19T05:28:43.301Z moonrise +2025-05-19T10:31:43.148Z sunrise 2025-05-19T10:52:34.290Z Moon culminates 41.55 degrees above the horizon -2025-05-19T16:21:56.440Z moonset +2025-05-19T16:21:56.304Z moonset 2025-05-19T17:21:17.122Z Sun culminates 81.33 degrees above the horizon -2025-05-20T00:11:09.316Z sunset -2025-05-20T06:04:28.554Z moonrise -2025-05-20T10:31:14.715Z sunrise +2025-05-20T00:11:09.477Z sunset +2025-05-20T06:04:28.615Z moonrise +2025-05-20T10:31:14.599Z sunrise 2025-05-20T11:41:05.201Z Moon culminates 47.08 degrees above the horizon 2025-05-20T11:59:15.969Z third quarter 2025-05-20T17:21:20.700Z Sun culminates 81.54 degrees above the horizon -2025-05-20T17:24:09.518Z moonset -2025-05-21T00:11:44.600Z sunset -2025-05-21T06:37:36.198Z moonrise -2025-05-21T10:30:47.501Z sunrise +2025-05-20T17:24:09.472Z moonset +2025-05-21T00:11:44.766Z sunset +2025-05-21T06:37:36.220Z moonrise +2025-05-21T10:30:47.380Z sunrise 2025-05-21T12:28:26.895Z Moon culminates 53.47 degrees above the horizon 2025-05-21T17:21:24.832Z Sun culminates 81.74 degrees above the horizon -2025-05-21T18:26:32.506Z moonset -2025-05-22T00:12:19.653Z sunset -2025-05-22T07:09:36.369Z moonrise -2025-05-22T10:30:21.625Z sunrise +2025-05-21T18:26:32.503Z moonset +2025-05-22T00:12:19.822Z sunset +2025-05-22T07:09:36.379Z moonrise +2025-05-22T10:30:21.500Z sunrise 2025-05-22T13:15:47.496Z Moon culminates 60.43 degrees above the horizon 2025-05-22T17:21:29.511Z Sun culminates 81.94 degrees above the horizon -2025-05-22T19:29:55.844Z moonset -2025-05-23T00:12:54.446Z sunset +2025-05-22T19:29:55.845Z moonset +2025-05-23T00:12:54.619Z sunset 2025-05-23T00:18:55.835Z Mercury moves from Aries to Taurus -2025-05-23T07:42:05.917Z moonrise -2025-05-23T10:29:57.096Z sunrise +2025-05-23T07:42:05.923Z moonrise +2025-05-23T10:29:56.967Z sunrise 2025-05-23T14:04:30.966Z Moon culminates 67.62 degrees above the horizon 2025-05-23T17:21:34.724Z Sun culminates 82.13 degrees above the horizon -2025-05-23T20:35:30.000Z moonset -2025-05-24T00:13:28.951Z sunset -2025-05-24T08:16:51.256Z moonrise -2025-05-24T10:29:33.920Z sunrise +2025-05-23T20:35:30.013Z moonset +2025-05-24T00:13:29.127Z sunset +2025-05-24T08:16:51.245Z moonrise +2025-05-24T10:29:33.787Z sunrise 2025-05-24T14:56:07.152Z Moon culminates 74.61 degrees above the horizon 2025-05-24T17:21:40.461Z Sun culminates 82.31 degrees above the horizon -2025-05-24T21:44:18.013Z moonset -2025-05-25T00:14:03.136Z sunset -2025-05-25T08:55:51.251Z moonrise -2025-05-25T10:29:12.100Z sunrise +2025-05-24T21:44:18.085Z moonset +2025-05-25T00:14:03.316Z sunset +2025-05-25T08:55:51.198Z moonrise +2025-05-25T10:29:11.963Z sunrise 2025-05-25T15:51:54.719Z Moon culminates 80.90 degrees above the horizon 2025-05-25T17:21:46.705Z Sun culminates 82.49 degrees above the horizon -2025-05-25T22:56:33.173Z moonset -2025-05-26T00:14:36.971Z sunset +2025-05-25T22:56:33.338Z moonset +2025-05-26T00:14:37.154Z sunset 2025-05-26T00:34:52.099Z Mars moves from Cancer to Leo 2025-05-26T01:34:37.720Z lunar perigee at 359014 km -2025-05-26T09:41:09.880Z moonrise -2025-05-26T10:28:51.638Z sunrise +2025-05-26T09:41:09.770Z moonrise +2025-05-26T10:28:51.497Z sunrise 2025-05-26T16:52:28.678Z Moon culminates 85.87 degrees above the horizon 2025-05-26T17:21:53.443Z Sun culminates 82.66 degrees above the horizon -2025-05-27T00:10:43.899Z moonset -2025-05-27T00:15:10.423Z sunset +2025-05-27T00:10:44.124Z moonset +2025-05-27T00:15:10.609Z sunset 2025-05-27T03:02:51.612Z new moon -2025-05-27T10:28:32.534Z sunrise -2025-05-27T10:34:22.414Z moonrise +2025-05-27T10:28:32.390Z sunrise +2025-05-27T10:34:22.254Z moonrise 2025-05-27T17:22:00.658Z Sun culminates 82.82 degrees above the horizon 2025-05-27T17:56:56.432Z Moon culminates 88.96 degrees above the horizon -2025-05-28T00:15:43.458Z sunset -2025-05-28T01:23:08.627Z moonset -2025-05-28T10:28:14.788Z sunrise -2025-05-28T11:35:28.656Z moonrise +2025-05-28T00:15:43.648Z sunset +2025-05-28T01:23:08.853Z moonset +2025-05-28T10:28:14.641Z sunrise +2025-05-28T11:35:28.456Z moonrise 2025-05-28T17:22:08.331Z Sun culminates 82.98 degrees above the horizon 2025-05-28T19:02:39.474Z Moon culminates 89.83 degrees above the horizon -2025-05-29T00:16:16.041Z sunset -2025-05-29T02:29:11.803Z moonset -2025-05-29T10:27:58.398Z sunrise -2025-05-29T12:42:01.161Z moonrise +2025-05-29T00:16:16.234Z sunset +2025-05-29T02:29:12.001Z moonset +2025-05-29T10:27:58.248Z sunrise +2025-05-29T12:42:00.936Z moonrise 2025-05-29T17:22:16.444Z Sun culminates 83.14 degrees above the horizon 2025-05-29T20:06:08.465Z Moon culminates 88.50 degrees above the horizon -2025-05-30T00:16:48.138Z sunset -2025-05-30T03:25:52.643Z moonset +2025-05-30T00:16:48.334Z sunset +2025-05-30T03:25:52.810Z moonset 2025-05-30T03:58:26.893Z Mercury superior conjunction -2025-05-30T10:27:43.362Z sunrise -2025-05-30T13:49:54.890Z moonrise +2025-05-30T10:27:43.208Z sunrise +2025-05-30T13:49:54.674Z moonrise 2025-05-30T17:22:24.979Z Sun culminates 83.28 degrees above the horizon 2025-05-30T21:04:44.211Z Moon culminates 85.34 degrees above the horizon -2025-05-31T00:17:19.713Z sunset -2025-05-31T04:12:55.663Z moonset -2025-05-31T10:27:29.677Z sunrise +2025-05-31T00:17:19.912Z sunset +2025-05-31T04:12:55.788Z moonset +2025-05-31T10:27:29.520Z sunrise 2025-05-31T12:52:11.559Z Mercury perihelion at 0.3075 AU -2025-05-31T14:55:36.797Z moonrise +2025-05-31T14:55:36.641Z moonrise 2025-05-31T17:22:33.915Z Sun culminates 83.42 degrees above the horizon 2025-05-31T21:57:32.042Z Moon culminates 80.85 degrees above the horizon -2025-06-01T00:17:50.731Z sunset +2025-06-01T00:17:50.932Z sunset 2025-06-01T03:28:38.121Z Venus max morning elongation: 45.88 degrees from Sun -2025-06-01T04:51:57.646Z moonset -2025-06-01T10:27:17.339Z sunrise -2025-06-01T15:57:25.327Z moonrise +2025-06-01T04:51:57.723Z moonset +2025-06-01T10:27:17.180Z sunrise +2025-06-01T15:57:25.252Z moonrise 2025-06-01T17:22:43.236Z Sun culminates 83.56 degrees above the horizon 2025-06-01T22:45:02.957Z Moon culminates 75.52 degrees above the horizon -2025-06-02T00:18:21.158Z sunset -2025-06-02T05:25:08.157Z moonset -2025-06-02T10:27:06.346Z sunrise -2025-06-02T16:55:18.739Z moonrise +2025-06-02T00:18:21.362Z sunset +2025-06-02T05:25:08.195Z moonset +2025-06-02T10:27:06.184Z sunrise +2025-06-02T16:55:18.720Z moonrise 2025-06-02T17:22:52.922Z Sun culminates 83.69 degrees above the horizon 2025-06-02T23:28:29.954Z Moon culminates 69.73 degrees above the horizon -2025-06-03T00:18:50.961Z sunset +2025-06-03T00:18:51.168Z sunset 2025-06-03T03:41:35.817Z first quarter -2025-06-03T05:54:27.084Z moonset -2025-06-03T10:26:56.692Z sunrise +2025-06-03T05:54:27.102Z moonset +2025-06-03T10:26:56.528Z sunrise 2025-06-03T17:23:02.953Z Sun culminates 83.81 degrees above the horizon -2025-06-03T17:50:10.073Z moonrise +2025-06-03T17:50:10.074Z moonrise 2025-06-04T00:09:17.153Z Moon culminates 63.75 degrees above the horizon -2025-06-04T00:19:20.108Z sunset -2025-06-04T06:21:34.729Z moonset -2025-06-04T10:26:48.374Z sunrise +2025-06-04T00:19:20.317Z sunset +2025-06-04T06:21:34.742Z moonset +2025-06-04T10:26:48.207Z sunrise 2025-06-04T17:23:13.313Z Sun culminates 83.92 degrees above the horizon -2025-06-04T18:43:12.436Z moonrise -2025-06-05T00:19:48.569Z sunset +2025-06-04T18:43:12.440Z moonrise +2025-06-05T00:19:48.780Z sunset 2025-06-05T00:48:46.260Z Moon culminates 57.78 degrees above the horizon -2025-06-05T06:47:55.717Z moonset -2025-06-05T10:26:41.384Z sunrise +2025-06-05T06:47:55.727Z moonset +2025-06-05T10:26:41.215Z sunrise 2025-06-05T17:23:23.984Z Sun culminates 84.03 degrees above the horizon -2025-06-05T19:35:40.519Z moonrise -2025-06-06T00:20:16.312Z sunset +2025-06-05T19:35:40.535Z moonrise +2025-06-06T00:20:16.525Z sunset 2025-06-06T01:28:12.899Z Moon culminates 52.01 degrees above the horizon -2025-06-06T07:14:46.202Z moonset -2025-06-06T10:26:35.718Z sunrise +2025-06-06T07:14:46.198Z moonset +2025-06-06T10:26:35.547Z sunrise 2025-06-06T17:23:34.947Z Sun culminates 84.13 degrees above the horizon -2025-06-06T20:28:40.774Z moonrise -2025-06-07T00:20:43.310Z sunset +2025-06-06T20:28:40.832Z moonrise +2025-06-07T00:20:43.524Z sunset 2025-06-07T02:08:46.057Z Moon culminates 46.59 degrees above the horizon -2025-06-07T07:43:20.498Z moonset -2025-06-07T10:26:31.370Z sunrise +2025-06-07T07:43:20.459Z moonset +2025-06-07T10:26:31.197Z sunrise 2025-06-07T10:44:20.505Z lunar apogee at 405543 km 2025-06-07T17:23:46.186Z Sun culminates 84.23 degrees above the horizon -2025-06-07T21:23:02.867Z moonrise -2025-06-08T00:21:09.533Z sunset +2025-06-07T21:23:03.003Z moonrise +2025-06-08T00:21:09.750Z sunset 2025-06-08T02:51:26.417Z Moon culminates 41.72 degrees above the horizon -2025-06-08T08:14:55.403Z moonset -2025-06-08T10:26:28.332Z sunrise +2025-06-08T08:14:55.310Z moonset +2025-06-08T10:26:28.157Z sunrise 2025-06-08T17:23:57.683Z Sun culminates 84.31 degrees above the horizon -2025-06-08T22:19:07.925Z moonrise -2025-06-09T00:21:34.956Z sunset +2025-06-08T22:19:08.149Z moonrise +2025-06-09T00:21:35.174Z sunset 2025-06-09T03:37:00.761Z Moon culminates 37.61 degrees above the horizon 2025-06-09T05:03:53.349Z Mercury moves from Taurus to Gemini -2025-06-09T08:50:49.949Z moonset -2025-06-09T10:26:26.598Z sunrise +2025-06-09T08:50:49.795Z moonset +2025-06-09T10:26:26.421Z sunrise 2025-06-09T13:16:29.912Z Venus moves from Pisces to Cetus 2025-06-09T17:24:09.421Z Sun culminates 84.39 degrees above the horizon -2025-06-09T23:16:33.585Z moonrise -2025-06-10T00:21:59.552Z sunset +2025-06-09T23:16:33.869Z moonrise +2025-06-10T00:21:59.772Z sunset 2025-06-10T04:25:51.135Z Moon culminates 34.51 degrees above the horizon -2025-06-10T09:32:16.628Z moonset -2025-06-10T10:26:26.159Z sunrise +2025-06-10T09:32:16.422Z moonset +2025-06-10T10:26:25.981Z sunrise 2025-06-10T15:42:43.589Z Venus moves from Cetus to Aries 2025-06-10T17:24:21.384Z Sun culminates 84.47 degrees above the horizon -2025-06-11T00:14:03.964Z moonrise -2025-06-11T00:22:23.295Z sunset +2025-06-11T00:14:04.263Z moonrise +2025-06-11T00:22:23.516Z sunset 2025-06-11T05:17:41.400Z Moon culminates 32.67 degrees above the horizon 2025-06-11T07:44:26.531Z full moon -2025-06-11T10:20:00.548Z moonset -2025-06-11T10:26:27.007Z sunrise +2025-06-11T10:20:00.301Z moonset +2025-06-11T10:26:26.828Z sunrise 2025-06-11T17:24:33.553Z Sun culminates 84.54 degrees above the horizon -2025-06-12T00:22:46.160Z sunset +2025-06-12T00:22:46.382Z sunset 2025-06-12T00:53:59.548Z Jupiter moves from Taurus to Gemini -2025-06-12T01:09:40.480Z moonrise +2025-06-12T01:09:40.763Z moonrise 2025-06-12T02:53:57.780Z Venus aphelion at 0.7282 AU 2025-06-12T06:11:30.665Z Moon culminates 32.30 degrees above the horizon -2025-06-12T10:26:29.132Z sunrise -2025-06-12T11:13:51.482Z moonset +2025-06-12T10:26:28.951Z sunrise +2025-06-12T11:13:51.202Z moonset 2025-06-12T17:24:45.912Z Sun culminates 84.60 degrees above the horizon -2025-06-13T00:23:08.121Z sunset -2025-06-13T02:01:21.707Z moonrise +2025-06-13T00:23:08.344Z sunset +2025-06-13T02:01:21.959Z moonrise 2025-06-13T07:05:45.876Z Moon culminates 33.49 degrees above the horizon -2025-06-13T10:26:32.523Z sunrise -2025-06-13T12:12:30.190Z moonset +2025-06-13T10:26:32.341Z sunrise +2025-06-13T12:12:29.902Z moonset 2025-06-13T17:24:58.441Z Sun culminates 84.65 degrees above the horizon -2025-06-14T00:23:29.153Z sunset -2025-06-14T02:47:51.667Z moonrise +2025-06-14T00:23:29.377Z sunset +2025-06-14T02:47:51.873Z moonrise 2025-06-14T07:58:54.013Z Moon culminates 36.21 degrees above the horizon -2025-06-14T10:26:37.168Z sunrise -2025-06-14T13:13:52.184Z moonset +2025-06-14T10:26:36.985Z sunrise +2025-06-14T13:13:51.934Z moonset 2025-06-14T17:25:11.123Z Sun culminates 84.70 degrees above the horizon -2025-06-15T00:23:49.231Z sunset -2025-06-15T03:29:01.771Z moonrise +2025-06-15T00:23:49.456Z sunset +2025-06-15T03:29:01.914Z moonrise 2025-06-15T08:49:55.279Z Moon culminates 40.30 degrees above the horizon -2025-06-15T10:26:43.055Z sunrise -2025-06-15T14:15:59.807Z moonset +2025-06-15T10:26:42.871Z sunrise +2025-06-15T14:15:59.646Z moonset 2025-06-15T17:25:23.938Z Sun culminates 84.74 degrees above the horizon -2025-06-16T00:24:08.330Z sunset -2025-06-16T04:05:38.438Z moonrise +2025-06-16T00:24:08.555Z sunset +2025-06-16T04:05:38.514Z moonrise 2025-06-16T09:38:37.684Z Moon culminates 45.51 degrees above the horizon -2025-06-16T10:26:50.168Z sunrise -2025-06-16T15:17:44.637Z moonset +2025-06-16T10:26:49.983Z sunrise +2025-06-16T15:17:44.572Z moonset 2025-06-16T17:25:36.865Z Sun culminates 84.77 degrees above the horizon -2025-06-17T00:24:26.423Z sunset -2025-06-17T04:38:57.878Z moonrise +2025-06-17T00:24:26.649Z sunset +2025-06-17T04:38:57.910Z moonrise 2025-06-17T10:25:31.973Z Moon culminates 51.59 degrees above the horizon -2025-06-17T10:26:58.490Z sunrise -2025-06-17T16:18:58.213Z moonset +2025-06-17T10:26:58.305Z sunrise +2025-06-17T16:18:58.202Z moonset 2025-06-17T17:25:49.882Z Sun culminates 84.80 degrees above the horizon -2025-06-18T00:24:43.485Z sunset -2025-06-18T05:10:27.851Z moonrise -2025-06-18T10:27:08.005Z sunrise +2025-06-18T00:24:43.711Z sunset +2025-06-18T05:10:27.864Z moonrise +2025-06-18T10:27:07.819Z sunrise 2025-06-18T11:11:38.717Z Moon culminates 58.24 degrees above the horizon -2025-06-18T17:20:19.858Z moonset +2025-06-18T17:20:19.860Z moonset 2025-06-18T17:26:02.968Z Sun culminates 84.82 degrees above the horizon 2025-06-18T19:19:35.962Z third quarter -2025-06-19T00:24:59.490Z sunset -2025-06-19T05:41:41.073Z moonrise -2025-06-19T10:27:18.692Z sunrise +2025-06-19T00:24:59.716Z sunset +2025-06-19T05:41:41.081Z moonrise +2025-06-19T10:27:18.505Z sunrise 2025-06-19T11:58:16.912Z Moon culminates 65.18 degrees above the horizon 2025-06-19T17:26:16.100Z Sun culminates 84.83 degrees above the horizon -2025-06-19T18:22:57.228Z moonset -2025-06-20T00:25:14.412Z sunset -2025-06-20T06:14:16.837Z moonrise -2025-06-20T10:27:30.529Z sunrise +2025-06-19T18:22:57.234Z moonset +2025-06-20T00:25:14.638Z sunset +2025-06-20T06:14:16.835Z moonrise +2025-06-20T10:27:30.342Z sunrise 2025-06-20T12:46:55.462Z Moon culminates 72.06 degrees above the horizon 2025-06-20T17:26:29.253Z Sun culminates 84.84 degrees above the horizon -2025-06-20T19:28:04.410Z moonset -2025-06-21T00:25:28.225Z sunset +2025-06-20T19:28:04.453Z moonset +2025-06-21T00:25:28.452Z sunset 2025-06-21T02:42:19.310Z June solstice -2025-06-21T06:50:05.717Z moonrise -2025-06-21T10:27:43.491Z sunrise +2025-06-21T06:50:05.684Z moonrise +2025-06-21T10:27:43.304Z sunrise 2025-06-21T13:39:02.735Z Moon culminates 78.46 degrees above the horizon 2025-06-21T17:26:42.401Z Sun culminates 84.84 degrees above the horizon -2025-06-21T20:36:31.700Z moonset -2025-06-22T00:25:40.905Z sunset -2025-06-22T07:31:10.412Z moonrise -2025-06-22T10:27:57.552Z sunrise +2025-06-21T20:36:31.825Z moonset +2025-06-22T00:25:41.132Z sunset +2025-06-22T07:31:10.327Z moonrise +2025-06-22T10:27:57.365Z sunrise 2025-06-22T14:35:45.755Z Moon culminates 83.88 degrees above the horizon 2025-06-22T17:26:55.519Z Sun culminates 84.83 degrees above the horizon -2025-06-22T21:47:59.848Z moonset -2025-06-23T00:25:52.426Z sunset +2025-06-22T21:48:00.053Z moonset +2025-06-23T00:25:52.653Z sunset 2025-06-23T04:44:43.037Z lunar perigee at 363168 km -2025-06-23T08:19:30.189Z moonrise -2025-06-23T10:28:12.684Z sunrise +2025-06-23T08:19:30.049Z moonrise +2025-06-23T10:28:12.498Z sunrise 2025-06-23T15:37:13.012Z Moon culminates 87.78 degrees above the horizon 2025-06-23T17:27:08.580Z Sun culminates 84.82 degrees above the horizon -2025-06-23T23:00:12.302Z moonset -2025-06-24T00:26:02.763Z sunset -2025-06-24T09:16:12.712Z moonrise -2025-06-24T10:28:28.857Z sunrise +2025-06-23T23:00:12.532Z moonset +2025-06-24T00:26:02.989Z sunset +2025-06-24T09:16:12.529Z moonrise +2025-06-24T10:28:28.671Z sunrise 2025-06-24T15:21:38.610Z Jupiter conjunction 2025-06-24T16:41:54.730Z Moon culminates 89.67 degrees above the horizon 2025-06-24T17:27:21.556Z Sun culminates 84.79 degrees above the horizon -2025-06-25T00:09:03.124Z moonset -2025-06-25T00:26:11.892Z sunset +2025-06-25T00:09:03.336Z moonset +2025-06-25T00:26:12.117Z sunset 2025-06-25T08:44:39.215Z Mercury moves from Gemini to Cancer -2025-06-25T10:20:22.304Z moonrise -2025-06-25T10:28:46.039Z sunrise +2025-06-25T10:20:22.088Z moonrise +2025-06-25T10:28:45.853Z sunrise 2025-06-25T10:32:07.787Z new moon 2025-06-25T17:27:34.418Z Sun culminates 84.77 degrees above the horizon 2025-06-25T17:46:47.075Z Moon culminates 89.35 degrees above the horizon -2025-06-26T00:26:19.787Z sunset -2025-06-26T01:10:27.608Z moonset -2025-06-26T10:29:04.198Z sunrise -2025-06-26T11:28:38.303Z moonrise +2025-06-26T00:26:20.011Z sunset +2025-06-26T01:10:27.790Z moonset +2025-06-26T10:29:04.013Z sunrise +2025-06-26T11:28:38.077Z moonrise 2025-06-26T17:27:47.139Z Sun culminates 84.73 degrees above the horizon 2025-06-26T18:48:29.985Z Moon culminates 86.96 degrees above the horizon -2025-06-27T00:26:26.424Z sunset -2025-06-27T02:02:31.247Z moonset -2025-06-27T10:29:23.302Z sunrise -2025-06-27T12:36:47.893Z moonrise +2025-06-27T00:26:26.648Z sunset +2025-06-27T02:02:31.391Z moonset +2025-06-27T10:29:23.117Z sunrise +2025-06-27T12:36:47.705Z moonrise 2025-06-27T17:27:59.691Z Sun culminates 84.69 degrees above the horizon 2025-06-27T19:44:59.353Z Moon culminates 82.93 degrees above the horizon -2025-06-28T00:26:31.782Z sunset -2025-06-28T02:45:47.743Z moonset +2025-06-28T00:26:32.005Z sunset +2025-06-28T02:45:47.839Z moonset 2025-06-28T07:03:12.130Z Venus moves from Aries to Taurus -2025-06-28T10:29:43.318Z sunrise -2025-06-28T13:41:52.621Z moonrise +2025-06-28T10:29:43.134Z sunrise +2025-06-28T13:41:52.512Z moonrise 2025-06-28T17:28:12.046Z Sun culminates 84.64 degrees above the horizon 2025-06-28T20:35:53.572Z Moon culminates 77.80 degrees above the horizon -2025-06-29T00:26:35.838Z sunset -2025-06-29T03:22:08.398Z moonset -2025-06-29T10:30:04.214Z sunrise -2025-06-29T14:42:51.293Z moonrise +2025-06-29T00:26:36.060Z sunset +2025-06-29T03:22:08.448Z moonset +2025-06-29T10:30:04.031Z sunrise +2025-06-29T14:42:51.256Z moonrise 2025-06-29T17:28:24.178Z Sun culminates 84.58 degrees above the horizon 2025-06-29T21:22:01.151Z Moon culminates 72.03 degrees above the horizon -2025-06-30T00:26:38.573Z sunset -2025-06-30T03:53:37.408Z moonset -2025-06-30T10:30:25.957Z sunrise -2025-06-30T15:40:07.691Z moonrise +2025-06-30T00:26:38.794Z sunset +2025-06-30T03:53:37.430Z moonset +2025-06-30T10:30:25.775Z sunrise +2025-06-30T15:40:07.688Z moonrise 2025-06-30T17:28:36.062Z Sun culminates 84.52 degrees above the horizon 2025-06-30T22:04:40.249Z Moon culminates 65.96 degrees above the horizon -2025-07-01T00:26:39.970Z sunset -2025-07-01T04:22:04.811Z moonset -2025-07-01T10:30:48.514Z sunrise -2025-07-01T16:34:46.059Z moonrise +2025-07-01T00:26:40.189Z sunset +2025-07-01T04:22:04.824Z moonset +2025-07-01T10:30:48.334Z sunrise +2025-07-01T16:34:46.063Z moonrise 2025-07-01T17:28:47.673Z Sun culminates 84.45 degrees above the horizon 2025-07-01T22:45:14.613Z Moon culminates 59.87 degrees above the horizon -2025-07-02T00:26:40.014Z sunset -2025-07-02T04:49:03.409Z moonset -2025-07-02T10:31:11.855Z sunrise -2025-07-02T17:28:02.366Z moonrise +2025-07-02T00:26:40.231Z sunset +2025-07-02T04:49:03.420Z moonset +2025-07-02T10:31:11.675Z sunrise +2025-07-02T17:28:02.375Z moonrise 2025-07-02T17:28:58.989Z Sun culminates 84.38 degrees above the horizon 2025-07-02T19:30:50.501Z first quarter 2025-07-02T23:25:04.268Z Moon culminates 53.94 degrees above the horizon -2025-07-03T00:26:38.690Z sunset -2025-07-03T05:15:54.373Z moonset -2025-07-03T10:31:35.945Z sunrise +2025-07-03T00:26:38.906Z sunset +2025-07-03T05:15:54.375Z moonset +2025-07-03T10:31:35.768Z sunrise 2025-07-03T17:29:09.988Z Sun culminates 84.29 degrees above the horizon -2025-07-03T18:21:09.542Z moonrise +2025-07-03T18:21:09.581Z moonrise 2025-07-03T20:11:47.600Z Earth aphelion at 1.0166 AU 2025-07-04T00:05:23.296Z Moon culminates 48.36 degrees above the horizon -2025-07-04T00:26:35.989Z sunset +2025-07-04T00:26:36.204Z sunset 2025-07-04T04:31:44.837Z Mercury max evening elongation: 25.93 degrees from Sun -2025-07-04T05:43:54.311Z moonset -2025-07-04T10:32:00.756Z sunrise +2025-07-04T05:43:54.287Z moonset +2025-07-04T10:32:00.580Z sunrise 2025-07-04T17:29:20.650Z Sun culminates 84.21 degrees above the horizon -2025-07-04T19:15:08.259Z moonrise -2025-07-05T00:26:31.902Z sunset +2025-07-04T19:15:08.366Z moonrise +2025-07-05T00:26:32.115Z sunset 2025-07-05T00:47:18.873Z Moon culminates 43.27 degrees above the horizon 2025-07-05T02:29:43.446Z lunar apogee at 404616 km -2025-07-05T06:14:21.053Z moonset -2025-07-05T10:32:26.257Z sunrise +2025-07-05T06:14:20.980Z moonset +2025-07-05T10:32:26.082Z sunrise 2025-07-05T17:29:30.956Z Sun culminates 84.11 degrees above the horizon -2025-07-05T20:10:36.730Z moonrise -2025-07-06T00:26:26.422Z sunset +2025-07-05T20:10:36.927Z moonrise +2025-07-06T00:26:26.632Z sunset 2025-07-06T01:31:47.773Z Moon culminates 38.88 degrees above the horizon -2025-07-06T06:48:36.103Z moonset -2025-07-06T10:32:52.417Z sunrise +2025-07-06T06:48:35.969Z moonset +2025-07-06T10:32:52.244Z sunrise 2025-07-06T17:29:40.890Z Sun culminates 84.01 degrees above the horizon -2025-07-06T21:07:36.627Z moonrise -2025-07-07T00:26:19.544Z sunset +2025-07-06T21:07:36.897Z moonrise +2025-07-07T00:26:19.752Z sunset 2025-07-07T02:19:27.843Z Moon culminates 35.41 degrees above the horizon -2025-07-07T07:28:00.299Z moonset -2025-07-07T10:33:19.209Z sunrise +2025-07-07T07:28:00.110Z moonset +2025-07-07T10:33:19.038Z sunrise 2025-07-07T17:29:50.434Z Sun culminates 83.90 degrees above the horizon -2025-07-07T22:05:18.794Z moonrise -2025-07-08T00:26:11.265Z sunset +2025-07-07T22:05:19.093Z moonrise +2025-07-08T00:26:11.471Z sunset 2025-07-08T03:10:24.477Z Moon culminates 33.11 degrees above the horizon -2025-07-08T08:13:37.861Z moonset -2025-07-08T10:33:46.603Z sunrise +2025-07-08T08:13:37.626Z moonset +2025-07-08T10:33:46.435Z sunrise 2025-07-08T17:29:59.574Z Sun culminates 83.78 degrees above the horizon -2025-07-08T23:02:02.007Z moonrise -2025-07-09T00:26:01.585Z sunset +2025-07-08T23:02:02.298Z moonrise +2025-07-09T00:26:01.789Z sunset 2025-07-09T04:03:58.226Z Moon culminates 32.22 degrees above the horizon -2025-07-09T09:05:48.158Z moonset -2025-07-09T10:34:14.574Z sunrise +2025-07-09T09:05:47.887Z moonset +2025-07-09T10:34:14.408Z sunrise 2025-07-09T17:30:08.297Z Sun culminates 83.66 degrees above the horizon -2025-07-09T23:55:40.148Z moonrise -2025-07-10T00:25:50.503Z sunset +2025-07-09T23:55:40.412Z moonrise +2025-07-10T00:25:50.704Z sunset 2025-07-10T04:58:46.475Z Moon culminates 32.90 degrees above the horizon -2025-07-10T10:03:39.839Z moonset -2025-07-10T10:34:43.094Z sunrise +2025-07-10T10:03:39.548Z moonset +2025-07-10T10:34:42.930Z sunrise 2025-07-10T17:30:16.590Z Sun culminates 83.53 degrees above the horizon 2025-07-10T20:37:23.320Z full moon -2025-07-11T00:25:38.021Z sunset -2025-07-11T00:44:31.792Z moonrise +2025-07-11T00:25:38.219Z sunset +2025-07-11T00:44:32.014Z moonrise 2025-07-11T05:53:08.256Z Moon culminates 35.17 degrees above the horizon -2025-07-11T10:35:12.137Z sunrise -2025-07-11T11:05:16.048Z moonset +2025-07-11T10:35:11.976Z sunrise +2025-07-11T11:05:15.778Z moonset 2025-07-11T17:30:24.440Z Sun culminates 83.40 degrees above the horizon -2025-07-12T00:25:24.140Z sunset -2025-07-12T01:27:58.127Z moonrise +2025-07-12T00:25:24.336Z sunset +2025-07-12T01:27:58.289Z moonrise 2025-07-12T06:45:41.632Z Moon culminates 38.92 degrees above the horizon -2025-07-12T10:35:41.676Z sunrise -2025-07-12T12:08:20.595Z moonset +2025-07-12T10:35:41.518Z sunrise +2025-07-12T12:08:20.402Z moonset 2025-07-12T17:30:31.837Z Sun culminates 83.26 degrees above the horizon -2025-07-13T00:25:08.865Z sunset -2025-07-13T02:06:24.485Z moonrise +2025-07-13T00:25:09.058Z sunset +2025-07-13T02:06:24.579Z moonrise 2025-07-13T07:35:49.708Z Moon culminates 43.90 degrees above the horizon -2025-07-13T10:36:11.687Z sunrise -2025-07-13T13:11:12.887Z moonset +2025-07-13T10:36:11.532Z sunrise +2025-07-13T13:11:12.797Z moonset 2025-07-13T17:30:38.768Z Sun culminates 83.11 degrees above the horizon -2025-07-14T00:24:52.199Z sunset -2025-07-14T02:40:57.193Z moonrise +2025-07-14T00:24:52.389Z sunset +2025-07-14T02:40:57.234Z moonrise 2025-07-14T08:23:43.678Z Moon culminates 49.84 degrees above the horizon -2025-07-14T10:36:42.145Z sunrise +2025-07-14T10:36:41.993Z sunrise 2025-07-14T12:29:40.393Z Mercury aphelion at 0.4667 AU -2025-07-14T14:13:14.233Z moonset +2025-07-14T14:13:14.213Z moonset 2025-07-14T17:30:45.225Z Sun culminates 82.96 degrees above the horizon -2025-07-15T00:24:34.146Z sunset -2025-07-15T03:13:00.384Z moonrise +2025-07-15T00:24:34.333Z sunset +2025-07-15T03:13:00.400Z moonrise 2025-07-15T09:10:11.138Z Moon culminates 56.41 degrees above the horizon -2025-07-15T10:37:13.022Z sunrise -2025-07-15T15:14:42.342Z moonset +2025-07-15T10:37:12.874Z sunrise +2025-07-15T15:14:42.343Z moonset 2025-07-15T17:30:51.195Z Sun culminates 82.80 degrees above the horizon -2025-07-16T00:24:14.712Z sunset -2025-07-16T03:44:04.116Z moonrise +2025-07-16T00:24:14.895Z sunset +2025-07-16T03:44:04.125Z moonrise 2025-07-16T09:56:22.316Z Moon culminates 63.30 degrees above the horizon -2025-07-16T10:37:44.295Z sunrise -2025-07-16T16:16:31.746Z moonset +2025-07-16T10:37:44.149Z sunrise +2025-07-16T16:16:31.750Z moonset 2025-07-16T17:30:56.670Z Sun culminates 82.63 degrees above the horizon -2025-07-17T00:23:53.901Z sunset -2025-07-17T04:15:42.630Z moonrise -2025-07-17T10:38:15.936Z sunrise +2025-07-17T00:23:54.081Z sunset +2025-07-17T04:15:42.632Z moonrise +2025-07-17T10:38:15.794Z sunrise 2025-07-17T10:43:39.664Z Moon culminates 70.16 degrees above the horizon -2025-07-17T17:19:51.888Z moonset +2025-07-17T17:19:51.915Z moonset 2025-07-17T17:31:01.638Z Sun culminates 82.46 degrees above the horizon -2025-07-18T00:23:31.720Z sunset +2025-07-18T00:23:31.897Z sunset 2025-07-18T00:38:09.805Z third quarter -2025-07-18T04:49:37.884Z moonrise -2025-07-18T10:38:47.919Z sunrise +2025-07-18T04:49:37.863Z moonrise +2025-07-18T10:38:47.780Z sunrise 2025-07-18T11:33:28.822Z Moon culminates 76.62 degrees above the horizon 2025-07-18T17:31:06.089Z Sun culminates 82.29 degrees above the horizon -2025-07-18T18:25:42.153Z moonset -2025-07-19T00:23:08.175Z sunset -2025-07-19T05:27:42.740Z moonrise -2025-07-19T10:39:20.216Z sunrise +2025-07-18T18:25:42.250Z moonset +2025-07-19T00:23:08.348Z sunset +2025-07-19T05:27:42.672Z moonrise +2025-07-19T10:39:20.081Z sunrise 2025-07-19T12:27:04.643Z Moon culminates 82.27 degrees above the horizon 2025-07-19T17:31:10.014Z Sun culminates 82.10 degrees above the horizon -2025-07-19T19:34:17.268Z moonset -2025-07-20T00:22:43.273Z sunset -2025-07-20T06:11:55.156Z moonrise -2025-07-20T10:39:52.798Z sunrise +2025-07-19T19:34:17.451Z moonset +2025-07-20T00:22:43.443Z sunset +2025-07-20T06:11:55.033Z moonrise +2025-07-20T10:39:52.668Z sunrise 2025-07-20T13:25:05.329Z Moon culminates 86.64 degrees above the horizon 2025-07-20T13:56:13.265Z lunar perigee at 368031 km 2025-07-20T17:31:13.400Z Sun culminates 81.91 degrees above the horizon -2025-07-20T20:44:24.573Z moonset -2025-07-21T00:22:17.022Z sunset -2025-07-21T07:03:49.733Z moonrise -2025-07-21T10:40:25.638Z sunrise +2025-07-20T20:44:24.801Z moonset +2025-07-21T00:22:17.189Z sunset +2025-07-21T07:03:49.565Z moonrise +2025-07-21T10:40:25.512Z sunrise 2025-07-21T14:26:56.676Z Moon culminates 89.26 degrees above the horizon 2025-07-21T17:31:16.238Z Sun culminates 81.72 degrees above the horizon -2025-07-21T21:53:04.367Z moonset -2025-07-22T00:21:49.429Z sunset -2025-07-22T08:03:39.829Z moonrise -2025-07-22T10:40:58.705Z sunrise +2025-07-21T21:53:04.590Z moonset +2025-07-22T00:21:49.592Z sunset +2025-07-22T08:03:39.624Z moonrise +2025-07-22T10:40:58.583Z sunrise 2025-07-22T15:30:32.729Z Moon culminates 89.82 degrees above the horizon 2025-07-22T17:31:18.516Z Sun culminates 81.52 degrees above the horizon -2025-07-22T22:56:25.390Z moonset -2025-07-23T00:21:20.502Z sunset -2025-07-23T09:09:25.974Z moonrise -2025-07-23T10:41:31.970Z sunrise +2025-07-22T22:56:25.586Z moonset +2025-07-23T00:21:20.660Z sunset +2025-07-23T09:09:25.747Z moonrise +2025-07-23T10:41:31.853Z sunrise 2025-07-23T16:32:51.819Z Moon culminates 88.29 degrees above the horizon 2025-07-23T17:31:20.224Z Sun culminates 81.31 degrees above the horizon -2025-07-23T23:51:41.507Z moonset -2025-07-24T00:20:50.247Z sunset -2025-07-24T10:17:25.563Z moonrise -2025-07-24T10:42:05.405Z sunrise +2025-07-23T23:51:41.670Z moonset +2025-07-24T00:20:50.401Z sunset +2025-07-24T10:17:25.350Z moonrise +2025-07-24T10:42:05.291Z sunrise 2025-07-24T17:31:18.465Z Moon culminates 84.93 degrees above the horizon 2025-07-24T17:31:21.351Z Sun culminates 81.10 degrees above the horizon 2025-07-24T19:11:44.254Z new moon -2025-07-25T00:20:18.672Z sunset -2025-07-25T00:38:20.506Z moonset +2025-07-25T00:20:18.823Z sunset +2025-07-25T00:38:20.625Z moonset 2025-07-25T06:16:50.469Z Pluto opposition -2025-07-25T10:42:38.980Z sunrise -2025-07-25T11:24:04.075Z moonrise +2025-07-25T10:42:38.871Z sunrise +2025-07-25T11:24:03.928Z moonrise 2025-07-25T17:31:21.886Z Sun culminates 80.88 degrees above the horizon 2025-07-25T18:24:41.548Z Moon culminates 80.21 degrees above the horizon -2025-07-26T00:19:45.787Z sunset -2025-07-26T01:17:34.253Z moonset -2025-07-26T10:43:12.668Z sunrise -2025-07-26T12:27:21.230Z moonrise +2025-07-26T00:19:45.933Z sunset +2025-07-26T01:17:34.321Z moonset +2025-07-26T10:43:12.564Z sunrise +2025-07-26T12:27:21.165Z moonrise 2025-07-26T17:31:21.821Z Sun culminates 80.66 degrees above the horizon 2025-07-26T19:13:11.627Z Moon culminates 74.60 degrees above the horizon -2025-07-27T00:19:11.600Z sunset -2025-07-27T01:51:14.307Z moonset -2025-07-27T10:43:46.443Z sunrise -2025-07-27T13:26:55.364Z moonrise +2025-07-27T00:19:11.742Z sunset +2025-07-27T01:51:14.338Z moonset +2025-07-27T10:43:46.343Z sunrise +2025-07-27T13:26:55.351Z moonrise 2025-07-27T17:31:21.148Z Sun culminates 80.43 degrees above the horizon 2025-07-27T19:57:46.769Z Moon culminates 68.53 degrees above the horizon -2025-07-28T00:18:36.121Z sunset -2025-07-28T02:21:11.006Z moonset +2025-07-28T00:18:36.259Z sunset +2025-07-28T02:21:11.021Z moonset 2025-07-28T02:59:09.312Z Mars moves from Leo to Virgo -2025-07-28T10:44:20.280Z sunrise -2025-07-28T14:23:25.774Z moonrise +2025-07-28T10:44:20.185Z sunrise +2025-07-28T14:23:25.776Z moonrise 2025-07-28T17:31:19.859Z Sun culminates 80.20 degrees above the horizon 2025-07-28T20:39:42.611Z Moon culminates 62.31 degrees above the horizon -2025-07-29T00:17:59.363Z sunset -2025-07-29T02:49:00.605Z moonset +2025-07-29T00:17:59.497Z sunset +2025-07-29T02:49:00.616Z moonset 2025-07-29T08:42:05.035Z Venus moves from Taurus to Orion -2025-07-29T10:44:54.154Z sunrise -2025-07-29T15:17:57.672Z moonrise +2025-07-29T10:44:54.064Z sunrise +2025-07-29T15:17:57.677Z moonrise 2025-07-29T17:31:17.950Z Sun culminates 79.96 degrees above the horizon 2025-07-29T21:20:16.725Z Moon culminates 56.20 degrees above the horizon -2025-07-30T00:17:21.338Z sunset -2025-07-30T03:16:06.667Z moonset -2025-07-30T10:45:28.043Z sunrise -2025-07-30T16:11:41.298Z moonrise +2025-07-30T00:17:21.467Z sunset +2025-07-30T03:16:06.674Z moonset +2025-07-30T10:45:27.959Z sunrise +2025-07-30T16:11:41.322Z moonrise 2025-07-30T17:31:15.417Z Sun culminates 79.72 degrees above the horizon 2025-07-30T22:00:42.972Z Moon culminates 50.38 degrees above the horizon -2025-07-31T00:16:42.060Z sunset -2025-07-31T03:43:45.943Z moonset -2025-07-31T10:46:01.927Z sunrise +2025-07-31T00:16:42.185Z sunset +2025-07-31T03:43:45.931Z moonset +2025-07-31T10:46:01.847Z sunrise 2025-07-31T13:49:58.917Z Venus moves from Orion to Gemini -2025-07-31T17:05:40.163Z moonrise +2025-07-31T17:05:40.241Z moonrise 2025-07-31T17:31:12.256Z Sun culminates 79.47 degrees above the horizon 2025-07-31T22:42:09.753Z Moon culminates 45.04 degrees above the horizon 2025-07-31T23:33:20.130Z Mercury inferior conjunction -2025-08-01T00:16:01.545Z sunset -2025-08-01T04:13:14.421Z moonset -2025-08-01T10:46:35.786Z sunrise +2025-08-01T00:16:01.666Z sunset +2025-08-01T04:13:14.367Z moonset +2025-08-01T10:46:35.711Z sunrise 2025-08-01T12:41:59.406Z first quarter 2025-08-01T17:31:08.468Z Sun culminates 79.22 degrees above the horizon -2025-08-01T18:00:41.432Z moonrise +2025-08-01T18:00:41.597Z moonrise 2025-08-01T20:37:08.382Z lunar apogee at 404150 km 2025-08-01T23:25:37.759Z Moon culminates 40.35 degrees above the horizon -2025-08-02T00:15:19.811Z sunset -2025-08-02T04:45:51.369Z moonset -2025-08-02T10:47:09.602Z sunrise +2025-08-02T00:15:19.928Z sunset +2025-08-02T04:45:51.257Z moonset +2025-08-02T10:47:09.532Z sunrise 2025-08-02T17:31:04.052Z Sun culminates 78.96 degrees above the horizon -2025-08-02T18:57:04.015Z moonrise +2025-08-02T18:57:04.263Z moonrise 2025-08-03T00:11:54.215Z Moon culminates 36.51 degrees above the horizon -2025-08-03T00:14:36.877Z sunset -2025-08-03T05:22:58.770Z moonset -2025-08-03T10:47:43.360Z sunrise +2025-08-03T00:14:36.989Z sunset +2025-08-03T05:22:58.600Z moonset +2025-08-03T10:47:43.295Z sunrise 2025-08-03T17:30:59.010Z Sun culminates 78.70 degrees above the horizon -2025-08-03T19:54:24.527Z moonrise -2025-08-04T00:13:52.761Z sunset +2025-08-03T19:54:24.822Z moonrise +2025-08-04T00:13:52.869Z sunset 2025-08-04T01:01:22.220Z Moon culminates 33.74 degrees above the horizon -2025-08-04T06:05:51.837Z moonset -2025-08-04T10:48:17.046Z sunrise +2025-08-04T06:05:51.617Z moonset +2025-08-04T10:48:16.987Z sunrise 2025-08-04T17:30:53.348Z Sun culminates 78.43 degrees above the horizon -2025-08-04T20:51:29.136Z moonrise -2025-08-05T00:13:07.486Z sunset +2025-08-04T20:51:29.435Z moonrise +2025-08-05T00:13:07.589Z sunset 2025-08-05T01:53:47.587Z Moon culminates 32.28 degrees above the horizon -2025-08-05T06:55:16.885Z moonset -2025-08-05T10:48:50.649Z sunrise +2025-08-05T06:55:16.626Z moonset +2025-08-05T10:48:50.595Z sunrise 2025-08-05T17:30:47.070Z Sun culminates 78.16 degrees above the horizon -2025-08-05T21:46:25.918Z moonrise -2025-08-06T00:12:21.073Z sunset +2025-08-05T21:46:26.195Z moonrise +2025-08-06T00:12:21.172Z sunset 2025-08-06T02:48:12.251Z Moon culminates 32.33 degrees above the horizon -2025-08-06T07:51:02.035Z moonset -2025-08-06T10:49:24.159Z sunrise +2025-08-06T07:51:01.747Z moonset +2025-08-06T10:49:24.110Z sunrise 2025-08-06T17:30:40.182Z Sun culminates 77.88 degrees above the horizon -2025-08-06T22:37:23.720Z moonrise -2025-08-07T00:11:33.545Z sunset +2025-08-06T22:37:23.962Z moonrise +2025-08-07T00:11:33.640Z sunset 2025-08-07T03:43:06.151Z Moon culminates 33.99 degrees above the horizon -2025-08-07T08:51:43.443Z moonset -2025-08-07T10:49:57.566Z sunrise +2025-08-07T08:51:43.155Z moonset +2025-08-07T10:49:57.522Z sunrise 2025-08-07T17:30:32.693Z Sun culminates 77.60 degrees above the horizon -2025-08-07T23:23:16.721Z moonrise -2025-08-08T00:10:44.927Z sunset +2025-08-07T23:23:16.909Z moonrise +2025-08-08T00:10:45.018Z sunset 2025-08-08T04:36:58.413Z Moon culminates 37.22 degrees above the horizon -2025-08-08T09:55:10.865Z moonset -2025-08-08T10:50:30.864Z sunrise +2025-08-08T09:55:10.633Z moonset +2025-08-08T10:50:30.825Z sunrise 2025-08-08T17:30:24.611Z Sun culminates 77.32 degrees above the horizon -2025-08-09T00:04:02.978Z moonrise -2025-08-09T00:09:55.242Z sunset +2025-08-09T00:04:03.097Z moonrise +2025-08-09T00:09:55.328Z sunset 2025-08-09T05:28:50.012Z Moon culminates 41.85 degrees above the horizon 2025-08-09T07:55:39.133Z full moon -2025-08-09T10:51:04.048Z sunrise -2025-08-09T10:59:21.891Z moonset +2025-08-09T10:51:04.014Z sunrise +2025-08-09T10:59:21.760Z moonset 2025-08-09T17:30:15.946Z Sun culminates 77.03 degrees above the horizon -2025-08-10T00:09:04.515Z sunset -2025-08-10T00:40:31.568Z moonrise +2025-08-10T00:09:04.597Z sunset +2025-08-10T00:40:31.623Z moonrise 2025-08-10T06:18:28.558Z Moon culminates 47.61 degrees above the horizon -2025-08-10T10:51:37.112Z sunrise -2025-08-10T12:03:04.854Z moonset +2025-08-10T10:51:37.083Z sunrise +2025-08-10T12:03:04.814Z moonset 2025-08-10T17:30:06.709Z Sun culminates 76.73 degrees above the horizon -2025-08-11T00:08:12.771Z sunset -2025-08-11T01:13:58.904Z moonrise +2025-08-11T00:08:12.849Z sunset +2025-08-11T01:13:58.924Z moonrise 2025-08-11T07:06:23.484Z Moon culminates 54.16 degrees above the horizon -2025-08-11T10:52:10.053Z sunrise -2025-08-11T13:06:08.237Z moonset +2025-08-11T10:52:10.030Z sunrise +2025-08-11T13:06:08.235Z moonset 2025-08-11T17:29:56.909Z Sun culminates 76.44 degrees above the horizon -2025-08-12T00:07:20.034Z sunset -2025-08-12T01:45:52.003Z moonrise +2025-08-12T00:07:20.108Z sunset +2025-08-12T01:45:52.013Z moonrise 2025-08-12T07:53:32.821Z Moon culminates 61.15 degrees above the horizon -2025-08-12T10:52:42.870Z sunrise -2025-08-12T14:09:06.100Z moonset +2025-08-12T10:52:42.851Z sunrise +2025-08-12T14:09:06.102Z moonset 2025-08-12T17:29:46.558Z Sun culminates 76.14 degrees above the horizon -2025-08-13T00:06:26.329Z sunset -2025-08-13T02:17:42.407Z moonrise +2025-08-13T00:06:26.400Z sunset +2025-08-13T02:17:42.412Z moonrise 2025-08-13T08:41:10.637Z Moon culminates 68.19 degrees above the horizon -2025-08-13T10:53:15.559Z sunrise -2025-08-13T15:12:55.629Z moonset +2025-08-13T10:53:15.545Z sunrise +2025-08-13T15:12:55.645Z moonset 2025-08-13T17:29:35.668Z Sun culminates 75.83 degrees above the horizon -2025-08-14T00:05:31.682Z sunset -2025-08-14T02:51:07.141Z moonrise +2025-08-14T00:05:31.749Z sunset +2025-08-14T02:51:07.129Z moonrise 2025-08-14T09:30:36.547Z Moon culminates 74.90 degrees above the horizon -2025-08-14T10:53:48.118Z sunrise -2025-08-14T16:18:32.169Z moonset +2025-08-14T10:53:48.109Z sunrise +2025-08-14T16:18:32.243Z moonset 2025-08-14T17:29:24.250Z Sun culminates 75.52 degrees above the horizon 2025-08-14T17:58:01.110Z lunar perigee at 369277 km -2025-08-15T00:04:36.117Z sunset -2025-08-15T03:27:51.349Z moonrise +2025-08-15T00:04:36.180Z sunset +2025-08-15T03:27:51.296Z moonrise 2025-08-15T10:23:03.179Z Moon culminates 80.85 degrees above the horizon -2025-08-15T10:54:20.546Z sunrise -2025-08-15T17:26:18.566Z moonset +2025-08-15T10:54:20.542Z sunrise +2025-08-15T17:26:18.728Z moonset 2025-08-15T17:29:12.315Z Sun culminates 75.21 degrees above the horizon -2025-08-16T00:03:39.660Z sunset -2025-08-16T04:09:45.578Z moonrise +2025-08-16T00:03:39.719Z sunset +2025-08-16T04:09:45.470Z moonrise 2025-08-16T05:12:43.855Z third quarter -2025-08-16T10:54:52.838Z sunrise +2025-08-16T10:54:52.839Z sunrise 2025-08-16T11:19:15.832Z Moon culminates 85.61 degrees above the horizon 2025-08-16T17:28:59.874Z Sun culminates 74.89 degrees above the horizon -2025-08-16T18:35:28.441Z moonset -2025-08-17T00:02:42.334Z sunset -2025-08-17T04:58:27.175Z moonrise -2025-08-17T10:55:24.994Z sunrise +2025-08-16T18:35:28.664Z moonset +2025-08-17T00:02:42.389Z sunset +2025-08-17T04:58:27.018Z moonrise +2025-08-17T10:55:24.999Z sunrise 2025-08-17T12:19:03.746Z Moon culminates 88.76 degrees above the horizon 2025-08-17T17:28:46.939Z Sun culminates 74.57 degrees above the horizon -2025-08-17T19:43:42.804Z moonset -2025-08-18T00:01:44.164Z sunset -2025-08-18T05:54:37.324Z moonrise -2025-08-18T10:55:57.008Z sunrise +2025-08-17T19:43:43.035Z moonset +2025-08-18T00:01:44.216Z sunset +2025-08-18T05:54:37.129Z moonrise +2025-08-18T10:55:57.018Z sunrise 2025-08-18T13:20:58.766Z Moon culminates 89.98 degrees above the horizon 2025-08-18T17:28:33.518Z Sun culminates 74.25 degrees above the horizon -2025-08-18T20:47:40.668Z moonset -2025-08-19T00:00:45.174Z sunset -2025-08-19T06:57:10.818Z moonrise +2025-08-18T20:47:40.877Z moonset +2025-08-19T00:00:45.223Z sunset +2025-08-19T06:57:10.596Z moonrise 2025-08-19T09:46:05.071Z Mercury max morning elongation: 18.58 degrees from Sun -2025-08-19T10:56:28.878Z sunrise +2025-08-19T10:56:28.892Z sunrise 2025-08-19T14:22:31.769Z Moon culminates 89.17 degrees above the horizon 2025-08-19T17:28:19.623Z Sun culminates 73.92 degrees above the horizon -2025-08-19T21:44:30.659Z moonset -2025-08-19T23:59:45.387Z sunset -2025-08-20T08:03:14.750Z moonrise -2025-08-20T10:57:00.599Z sunrise +2025-08-19T21:44:30.838Z moonset +2025-08-19T23:59:45.433Z sunset +2025-08-20T08:03:14.524Z moonrise +2025-08-20T10:57:00.617Z sunrise 2025-08-20T15:21:13.333Z Moon culminates 86.49 degrees above the horizon 2025-08-20T17:28:05.262Z Sun culminates 73.59 degrees above the horizon -2025-08-20T22:33:09.017Z moonset -2025-08-20T23:58:44.826Z sunset -2025-08-21T09:09:25.273Z moonrise -2025-08-21T10:57:32.167Z sunrise +2025-08-20T22:33:09.157Z moonset +2025-08-20T23:58:44.868Z sunset +2025-08-21T09:09:25.094Z moonrise +2025-08-21T10:57:32.190Z sunrise 2025-08-21T16:15:33.752Z Moon culminates 82.31 degrees above the horizon 2025-08-21T17:27:50.445Z Sun culminates 73.26 degrees above the horizon -2025-08-21T23:14:17.586Z moonset -2025-08-21T23:57:43.512Z sunset -2025-08-22T10:13:17.644Z moonrise -2025-08-22T10:58:03.581Z sunrise +2025-08-21T23:14:17.676Z moonset +2025-08-21T23:57:43.552Z sunset +2025-08-22T10:13:17.546Z moonrise +2025-08-22T10:58:03.607Z sunrise 2025-08-22T17:05:18.309Z Moon culminates 77.05 degrees above the horizon 2025-08-22T17:27:35.181Z Sun culminates 72.92 degrees above the horizon -2025-08-22T23:49:31.947Z moonset -2025-08-22T23:56:41.469Z sunset +2025-08-22T23:49:31.992Z moonset +2025-08-22T23:56:41.505Z sunset 2025-08-23T06:07:08.168Z new moon -2025-08-23T10:58:34.835Z sunrise -2025-08-23T11:13:56.926Z moonrise +2025-08-23T10:58:34.866Z sunrise +2025-08-23T11:13:56.897Z moonrise 2025-08-23T17:27:19.480Z Sun culminates 72.58 degrees above the horizon 2025-08-23T17:51:05.582Z Moon culminates 71.14 degrees above the horizon -2025-08-23T23:55:38.716Z sunset -2025-08-24T00:20:37.230Z moonset +2025-08-23T23:55:38.750Z sunset +2025-08-24T00:20:37.250Z moonset 2025-08-24T08:09:56.708Z Venus moves from Gemini to Cancer -2025-08-24T10:59:05.930Z sunrise -2025-08-24T12:11:36.665Z moonrise +2025-08-24T10:59:05.964Z sunrise +2025-08-24T12:11:36.664Z moonrise 2025-08-24T17:27:03.351Z Sun culminates 72.24 degrees above the horizon 2025-08-24T18:33:59.460Z Moon culminates 64.92 degrees above the horizon -2025-08-24T23:54:35.277Z sunset -2025-08-25T00:49:08.982Z moonset -2025-08-25T10:59:36.862Z sunrise -2025-08-25T13:07:06.148Z moonrise +2025-08-24T23:54:35.308Z sunset +2025-08-25T00:49:08.994Z moonset +2025-08-25T10:59:36.899Z sunrise +2025-08-25T13:07:06.152Z moonrise 2025-08-25T17:26:46.806Z Sun culminates 71.89 degrees above the horizon 2025-08-25T19:15:10.868Z Moon culminates 58.69 degrees above the horizon -2025-08-25T23:53:31.173Z sunset -2025-08-26T01:16:30.537Z moonset -2025-08-26T11:00:07.631Z sunrise -2025-08-26T14:01:26.738Z moonrise +2025-08-25T23:53:31.201Z sunset +2025-08-26T01:16:30.547Z moonset +2025-08-26T11:00:07.672Z sunrise +2025-08-26T14:01:26.751Z moonrise 2025-08-26T17:26:29.854Z Sun culminates 71.54 degrees above the horizon 2025-08-26T19:55:49.443Z Moon culminates 52.67 degrees above the horizon 2025-08-26T23:18:49.216Z Mercury moves from Cancer to Leo -2025-08-26T23:52:26.427Z sunset -2025-08-27T01:43:57.041Z moonset -2025-08-27T11:00:38.237Z sunrise +2025-08-26T23:52:26.453Z sunset +2025-08-27T01:43:57.039Z moonset +2025-08-27T11:00:38.282Z sunrise 2025-08-27T12:08:02.223Z Mercury perihelion at 0.3075 AU -2025-08-27T14:55:37.843Z moonrise +2025-08-27T14:55:37.895Z moonrise 2025-08-27T17:26:12.509Z Sun culminates 71.19 degrees above the horizon 2025-08-27T20:37:00.497Z Moon culminates 47.07 degrees above the horizon -2025-08-27T23:51:21.063Z sunset -2025-08-28T02:12:40.896Z moonset -2025-08-28T11:01:08.683Z sunrise -2025-08-28T15:50:27.117Z moonrise +2025-08-27T23:51:21.086Z sunset +2025-08-28T02:12:40.862Z moonset +2025-08-28T11:01:08.731Z sunrise +2025-08-28T15:50:27.247Z moonrise 2025-08-28T17:25:54.782Z Sun culminates 70.84 degrees above the horizon 2025-08-28T21:19:43.017Z Moon culminates 42.06 degrees above the horizon -2025-08-28T23:50:15.103Z sunset -2025-08-29T02:43:56.193Z moonset -2025-08-29T11:01:38.970Z sunrise +2025-08-28T23:50:15.124Z sunset +2025-08-29T02:43:56.104Z moonset +2025-08-29T11:01:39.020Z sunrise 2025-08-29T15:33:09.754Z lunar apogee at 404537 km -2025-08-29T16:46:20.221Z moonrise +2025-08-29T16:46:20.441Z moonrise 2025-08-29T17:25:36.687Z Sun culminates 70.48 degrees above the horizon 2025-08-29T22:04:45.660Z Moon culminates 37.85 degrees above the horizon -2025-08-29T23:49:08.573Z sunset -2025-08-30T03:19:00.018Z moonset -2025-08-30T11:02:09.102Z sunrise +2025-08-29T23:49:08.592Z sunset +2025-08-30T03:18:59.869Z moonset +2025-08-30T11:02:09.155Z sunrise 2025-08-30T17:25:18.240Z Sun culminates 70.12 degrees above the horizon -2025-08-30T17:43:08.741Z moonrise +2025-08-30T17:43:09.025Z moonrise 2025-08-30T22:52:39.015Z Moon culminates 34.64 degrees above the horizon -2025-08-30T23:48:01.497Z sunset -2025-08-31T03:59:07.511Z moonset +2025-08-30T23:48:01.515Z sunset +2025-08-31T03:59:07.309Z moonset 2025-08-31T06:25:51.042Z first quarter -2025-08-31T11:02:39.085Z sunrise +2025-08-31T11:02:39.141Z sunrise 2025-08-31T17:24:59.455Z Sun culminates 69.76 degrees above the horizon -2025-08-31T18:40:00.704Z moonrise +2025-08-31T18:40:01.007Z moonrise 2025-08-31T23:43:24.878Z Moon culminates 32.63 degrees above the horizon -2025-08-31T23:46:53.902Z sunset -2025-09-01T04:45:16.963Z moonset -2025-09-01T11:03:08.925Z sunrise +2025-08-31T23:46:53.918Z sunset +2025-09-01T04:45:16.720Z moonset +2025-09-01T11:03:08.984Z sunrise 2025-09-01T17:24:40.349Z Sun culminates 69.40 degrees above the horizon -2025-09-01T19:35:24.550Z moonrise -2025-09-01T23:45:45.815Z sunset +2025-09-01T19:35:24.840Z moonrise +2025-09-01T23:45:45.829Z sunset 2025-09-02T00:36:27.954Z Moon culminates 32.03 degrees above the horizon -2025-09-02T05:37:45.641Z moonset -2025-09-02T11:03:38.632Z sunrise +2025-09-02T05:37:45.363Z moonset +2025-09-02T11:03:38.693Z sunrise 2025-09-02T17:24:20.941Z Sun culminates 69.04 degrees above the horizon -2025-09-02T20:27:35.553Z moonrise -2025-09-02T23:44:37.261Z sunset +2025-09-02T20:27:35.813Z moonrise +2025-09-02T23:44:37.274Z sunset 2025-09-03T01:30:39.325Z Moon culminates 32.98 degrees above the horizon -2025-09-03T06:35:49.335Z moonset -2025-09-03T11:04:08.214Z sunrise +2025-09-03T06:35:49.041Z moonset +2025-09-03T11:04:08.277Z sunrise 2025-09-03T17:24:01.250Z Sun culminates 68.67 degrees above the horizon -2025-09-03T21:15:15.754Z moonrise -2025-09-03T23:43:28.271Z sunset +2025-09-03T21:15:15.970Z moonrise +2025-09-03T23:43:28.282Z sunset 2025-09-04T02:24:36.992Z Moon culminates 35.50 degrees above the horizon -2025-09-04T07:37:48.077Z moonset -2025-09-04T11:04:37.683Z sunrise +2025-09-04T07:37:47.810Z moonset +2025-09-04T11:04:37.748Z sunrise 2025-09-04T17:23:41.295Z Sun culminates 68.30 degrees above the horizon -2025-09-04T21:58:01.292Z moonrise -2025-09-04T23:42:18.871Z sunset +2025-09-04T21:58:01.444Z moonrise +2025-09-04T23:42:18.881Z sunset 2025-09-05T03:17:15.114Z Moon culminates 39.52 degrees above the horizon -2025-09-05T08:41:44.550Z moonset -2025-09-05T11:05:07.051Z sunrise +2025-09-05T08:41:44.369Z moonset +2025-09-05T11:05:07.119Z sunrise 2025-09-05T17:23:21.097Z Sun culminates 67.93 degrees above the horizon -2025-09-05T22:36:21.739Z moonrise -2025-09-05T23:41:09.091Z sunset +2025-09-05T22:36:21.821Z moonrise +2025-09-05T23:41:09.100Z sunset 2025-09-06T04:08:04.963Z Moon culminates 44.84 degrees above the horizon -2025-09-06T09:46:10.120Z moonset -2025-09-06T11:05:36.332Z sunrise +2025-09-06T09:46:10.043Z moonset +2025-09-06T11:05:36.402Z sunrise 2025-09-06T17:23:00.678Z Sun culminates 67.56 degrees above the horizon -2025-09-06T23:11:21.706Z moonrise -2025-09-06T23:39:58.960Z sunset +2025-09-06T23:11:21.737Z moonrise +2025-09-06T23:39:58.968Z sunset 2025-09-07T04:57:18.824Z Moon culminates 51.17 degrees above the horizon -2025-09-07T10:50:28.705Z moonset -2025-09-07T11:06:05.540Z sunrise +2025-09-07T10:50:28.692Z moonset +2025-09-07T11:06:05.612Z sunrise 2025-09-07T17:22:40.059Z Sun culminates 67.18 degrees above the horizon 2025-09-07T18:09:23.907Z full moon 2025-09-07T18:11:41.503Z total lunar eclipse -2025-09-07T23:38:48.507Z sunset -2025-09-07T23:44:22.787Z moonrise +2025-09-07T23:38:48.514Z sunset +2025-09-07T23:44:22.799Z moonrise 2025-09-08T05:45:41.654Z Moon culminates 58.17 degrees above the horizon -2025-09-08T11:06:34.691Z sunrise -2025-09-08T11:54:53.514Z moonset +2025-09-08T11:06:34.764Z sunrise +2025-09-08T11:54:53.515Z moonset 2025-09-08T17:22:19.264Z Sun culminates 66.81 degrees above the horizon -2025-09-08T23:37:37.761Z sunset -2025-09-09T00:16:54.194Z moonrise +2025-09-08T23:37:37.767Z sunset +2025-09-09T00:16:54.201Z moonrise 2025-09-09T06:34:19.228Z Moon culminates 65.43 degrees above the horizon -2025-09-09T11:07:03.800Z sunrise -2025-09-09T13:00:08.575Z moonset +2025-09-09T11:07:03.874Z sunrise +2025-09-09T13:00:08.581Z moonset 2025-09-09T17:21:58.313Z Sun culminates 66.43 degrees above the horizon 2025-09-09T20:16:14.150Z Venus moves from Cancer to Leo -2025-09-09T23:36:26.751Z sunset -2025-09-10T00:50:31.103Z moonrise +2025-09-09T23:36:26.756Z sunset +2025-09-10T00:50:31.099Z moonrise 2025-09-10T07:24:26.632Z Moon culminates 72.53 degrees above the horizon -2025-09-10T11:07:32.883Z sunrise +2025-09-10T11:07:32.959Z sunrise 2025-09-10T12:09:43.098Z lunar perigee at 364766 km -2025-09-10T14:07:03.816Z moonset +2025-09-10T14:07:03.864Z moonset 2025-09-10T17:21:37.230Z Sun culminates 66.05 degrees above the horizon -2025-09-10T23:35:15.506Z sunset -2025-09-11T01:26:56.116Z moonrise +2025-09-10T23:35:15.510Z sunset +2025-09-11T01:26:56.080Z moonrise 2025-09-11T08:17:15.048Z Moon culminates 78.99 degrees above the horizon -2025-09-11T11:08:01.957Z sunrise -2025-09-11T15:16:03.811Z moonset +2025-09-11T11:08:02.035Z sunrise +2025-09-11T15:16:03.945Z moonset 2025-09-11T17:21:16.038Z Sun culminates 65.67 degrees above the horizon -2025-09-11T23:34:04.055Z sunset -2025-09-12T02:07:57.250Z moonrise +2025-09-11T23:34:04.059Z sunset +2025-09-12T02:07:57.160Z moonrise 2025-09-12T09:13:31.955Z Moon culminates 84.31 degrees above the horizon -2025-09-12T11:08:31.037Z sunrise -2025-09-12T16:26:30.188Z moonset +2025-09-12T11:08:31.116Z sunrise +2025-09-12T16:26:30.399Z moonset 2025-09-12T17:20:54.758Z Sun culminates 65.29 degrees above the horizon -2025-09-12T23:32:52.427Z sunset -2025-09-13T02:55:12.839Z moonrise +2025-09-12T23:32:52.430Z sunset +2025-09-13T02:55:12.696Z moonrise 2025-09-13T10:13:13.623Z Moon culminates 88.05 degrees above the horizon 2025-09-13T10:38:13.393Z Mercury superior conjunction -2025-09-13T11:09:00.137Z sunrise +2025-09-13T11:09:00.217Z sunrise 2025-09-13T17:20:33.412Z Sun culminates 64.91 degrees above the horizon -2025-09-13T17:36:14.244Z moonset -2025-09-13T23:31:40.650Z sunset -2025-09-14T03:49:34.532Z moonrise +2025-09-13T17:36:14.478Z moonset +2025-09-13T23:31:40.652Z sunset +2025-09-14T03:49:34.348Z moonrise 2025-09-14T10:33:27.374Z third quarter -2025-09-14T11:09:29.272Z sunrise +2025-09-14T11:09:29.353Z sunrise 2025-09-14T11:15:03.080Z Moon culminates 89.88 degrees above the horizon 2025-09-14T17:20:12.020Z Sun culminates 64.52 degrees above the horizon -2025-09-14T18:41:58.642Z moonset +2025-09-14T18:41:58.859Z moonset 2025-09-14T20:59:42.085Z Mercury moves from Leo to Virgo -2025-09-14T23:30:28.753Z sunset -2025-09-15T04:50:19.458Z moonrise -2025-09-15T11:09:58.453Z sunrise +2025-09-14T23:30:28.755Z sunset +2025-09-15T04:50:19.242Z moonrise +2025-09-15T11:09:58.535Z sunrise 2025-09-15T12:16:41.459Z Moon culminates 89.67 degrees above the horizon 2025-09-15T17:19:50.604Z Sun culminates 64.14 degrees above the horizon -2025-09-15T19:40:42.993Z moonset -2025-09-15T23:29:16.762Z sunset -2025-09-16T05:54:59.237Z moonrise -2025-09-16T11:10:27.694Z sunrise +2025-09-15T19:40:43.183Z moonset +2025-09-15T23:29:16.764Z sunset +2025-09-16T05:54:59.008Z moonrise +2025-09-16T11:10:27.777Z sunrise 2025-09-16T13:15:42.534Z Moon culminates 87.56 degrees above the horizon 2025-09-16T17:19:29.182Z Sun culminates 63.75 degrees above the horizon -2025-09-16T20:31:08.071Z moonset -2025-09-16T23:28:04.706Z sunset -2025-09-17T07:00:21.553Z moonrise -2025-09-17T11:10:57.005Z sunrise +2025-09-16T20:31:08.227Z moonset +2025-09-16T23:28:04.707Z sunset +2025-09-17T07:00:21.353Z moonrise +2025-09-17T11:10:57.089Z sunrise 2025-09-17T14:10:32.217Z Moon culminates 83.87 degrees above the horizon 2025-09-17T17:19:07.774Z Sun culminates 63.37 degrees above the horizon -2025-09-17T21:13:44.535Z moonset -2025-09-17T23:26:52.610Z sunset -2025-09-18T08:03:57.034Z moonrise -2025-09-18T11:11:26.399Z sunrise +2025-09-17T21:13:44.644Z moonset +2025-09-17T23:26:52.611Z sunset +2025-09-18T08:03:56.907Z moonrise +2025-09-18T11:11:26.483Z sunrise 2025-09-18T15:00:48.496Z Moon culminates 79.01 degrees above the horizon 2025-09-18T17:18:46.398Z Sun culminates 62.98 degrees above the horizon -2025-09-18T21:50:04.257Z moonset -2025-09-18T23:25:40.500Z sunset -2025-09-19T09:04:38.723Z moonrise -2025-09-19T11:11:55.884Z sunrise +2025-09-18T21:50:04.317Z moonset +2025-09-18T23:25:40.501Z sunset +2025-09-19T09:04:38.673Z moonrise +2025-09-19T11:11:55.969Z sunrise 2025-09-19T15:47:03.718Z Moon culminates 73.38 degrees above the horizon 2025-09-19T17:18:25.071Z Sun culminates 62.59 degrees above the horizon -2025-09-19T22:21:53.134Z moonset -2025-09-19T23:24:28.400Z sunset -2025-09-20T10:02:28.804Z moonrise -2025-09-20T11:12:25.471Z sunrise +2025-09-19T22:21:53.161Z moonset +2025-09-19T23:24:28.401Z sunset +2025-09-20T10:02:28.796Z moonrise +2025-09-20T11:12:25.558Z sunrise 2025-09-20T16:30:17.624Z Moon culminates 67.31 degrees above the horizon 2025-09-20T17:18:03.811Z Sun culminates 62.20 degrees above the horizon -2025-09-20T22:50:48.560Z moonset +2025-09-20T22:50:48.574Z moonset 2025-09-20T23:23:16.337Z sunset 2025-09-21T05:29:19.652Z Saturn opposition -2025-09-21T10:58:08.525Z moonrise -2025-09-21T11:12:55.170Z sunrise +2025-09-21T10:58:08.527Z moonrise +2025-09-21T11:12:55.257Z sunrise 2025-09-21T17:11:38.431Z Moon culminates 61.10 degrees above the horizon 2025-09-21T17:17:42.634Z Sun culminates 61.81 degrees above the horizon 2025-09-21T19:54:44.658Z new moon -2025-09-21T23:18:14.927Z moonset +2025-09-21T23:18:14.938Z moonset 2025-09-21T23:22:04.333Z sunset -2025-09-22T11:13:24.990Z sunrise -2025-09-22T11:52:34.164Z moonrise +2025-09-22T11:13:25.077Z sunrise +2025-09-22T11:52:34.170Z moonrise 2025-09-22T17:17:21.559Z Sun culminates 61.42 degrees above the horizon 2025-09-22T17:52:13.582Z Moon culminates 54.99 degrees above the horizon 2025-09-22T18:19:32.741Z September equinox -2025-09-22T23:20:52.413Z sunset -2025-09-22T23:45:26.827Z moonset -2025-09-23T11:13:54.939Z sunrise +2025-09-22T23:20:52.414Z sunset +2025-09-22T23:45:26.832Z moonset +2025-09-23T11:13:55.027Z sunrise 2025-09-23T12:43:44.512Z Neptune opposition -2025-09-23T12:46:42.122Z moonrise +2025-09-23T12:46:42.153Z moonrise 2025-09-23T17:17:00.600Z Sun culminates 61.04 degrees above the horizon 2025-09-23T18:33:06.115Z Moon culminates 49.20 degrees above the horizon 2025-09-23T23:19:40.602Z sunset -2025-09-24T00:13:34.167Z moonset -2025-09-24T11:14:25.028Z sunrise -2025-09-24T13:41:18.915Z moonrise +2025-09-24T00:13:34.148Z moonset +2025-09-24T11:14:25.116Z sunrise +2025-09-24T13:41:19.011Z moonrise 2025-09-24T17:16:39.775Z Sun culminates 60.65 degrees above the horizon 2025-09-24T19:15:12.638Z Moon culminates 43.93 degrees above the horizon 2025-09-24T23:18:28.924Z sunset -2025-09-25T00:43:46.597Z moonset -2025-09-25T11:14:55.264Z sunrise -2025-09-25T14:36:51.753Z moonrise +2025-09-25T00:43:46.531Z moonset +2025-09-25T11:14:55.354Z sunrise +2025-09-25T14:36:51.939Z moonrise 2025-09-25T17:16:19.102Z Sun culminates 60.26 degrees above the horizon 2025-09-25T19:59:20.105Z Moon culminates 39.39 degrees above the horizon -2025-09-25T23:17:17.403Z sunset -2025-09-26T01:17:15.492Z moonset +2025-09-25T23:17:17.404Z sunset +2025-09-26T01:17:15.366Z moonset 2025-09-26T09:46:21.352Z lunar apogee at 405538 km -2025-09-26T11:15:25.658Z sunrise -2025-09-26T15:33:17.907Z moonrise +2025-09-26T11:15:25.749Z sunrise +2025-09-26T15:33:18.170Z moonrise 2025-09-26T17:15:58.597Z Sun culminates 59.87 degrees above the horizon 2025-09-26T20:45:59.738Z Moon culminates 35.77 degrees above the horizon 2025-09-26T23:16:06.066Z sunset -2025-09-27T01:55:11.127Z moonset -2025-09-27T11:15:56.221Z sunrise -2025-09-27T16:29:55.685Z moonrise +2025-09-27T01:55:10.945Z moonset +2025-09-27T11:15:56.311Z sunrise +2025-09-27T16:29:55.985Z moonrise 2025-09-27T17:15:38.278Z Sun culminates 59.48 degrees above the horizon 2025-09-27T21:35:18.394Z Moon culminates 33.29 degrees above the horizon -2025-09-27T23:14:54.937Z sunset -2025-09-28T02:38:32.102Z moonset -2025-09-28T11:16:26.961Z sunrise +2025-09-27T23:14:54.938Z sunset +2025-09-28T02:38:31.875Z moonset +2025-09-28T11:16:27.053Z sunrise 2025-09-28T17:15:18.164Z Sun culminates 59.09 degrees above the horizon -2025-09-28T17:25:25.454Z moonrise +2025-09-28T17:25:25.752Z moonrise 2025-09-28T22:26:51.234Z Moon culminates 32.12 degrees above the horizon -2025-09-28T23:13:44.044Z sunset -2025-09-29T03:27:46.577Z moonset -2025-09-29T11:16:57.892Z sunrise +2025-09-28T23:13:44.143Z sunset +2025-09-29T03:27:46.314Z moonset +2025-09-29T11:16:57.984Z sunrise 2025-09-29T16:38:37.226Z Saturn moves from Pisces to Aquarius 2025-09-29T17:14:58.274Z Sun culminates 58.70 degrees above the horizon -2025-09-29T18:18:09.444Z moonrise -2025-09-29T23:12:33.413Z sunset +2025-09-29T18:18:09.719Z moonrise +2025-09-29T23:12:33.511Z sunset 2025-09-29T23:19:42.911Z Moon culminates 32.42 degrees above the horizon 2025-09-29T23:54:29.038Z first quarter -2025-09-30T04:22:33.330Z moonset -2025-09-30T11:17:29.024Z sunrise +2025-09-30T04:22:33.041Z moonset +2025-09-30T11:17:29.117Z sunrise 2025-09-30T17:14:38.629Z Sun culminates 58.31 degrees above the horizon -2025-09-30T19:06:46.399Z moonrise -2025-09-30T23:11:23.071Z sunset +2025-09-30T19:06:46.639Z moonrise +2025-09-30T23:11:23.169Z sunset 2025-10-01T00:12:42.506Z Moon culminates 34.22 degrees above the horizon -2025-10-01T05:21:39.699Z moonset -2025-10-01T11:18:00.371Z sunrise +2025-10-01T05:21:39.415Z moonset +2025-10-01T11:18:00.465Z sunrise 2025-10-01T17:14:19.248Z Sun culminates 57.93 degrees above the horizon -2025-10-01T19:50:40.617Z moonrise -2025-10-01T23:10:13.048Z sunset +2025-10-01T19:50:40.803Z moonrise +2025-10-01T23:10:13.145Z sunset 2025-10-02T01:04:47.727Z Moon culminates 37.50 degrees above the horizon -2025-10-02T06:23:26.862Z moonset +2025-10-02T06:23:26.636Z moonset 2025-10-02T08:26:52.049Z Venus perihelion at 0.7184 AU -2025-10-02T11:18:31.947Z sunrise +2025-10-02T11:18:32.041Z sunrise 2025-10-02T17:14:00.153Z Sun culminates 57.54 degrees above the horizon -2025-10-02T20:30:07.966Z moonrise -2025-10-02T23:09:03.372Z sunset +2025-10-02T20:30:08.083Z moonrise +2025-10-02T23:09:03.468Z sunset 2025-10-03T01:55:25.514Z Moon culminates 42.13 degrees above the horizon -2025-10-03T07:26:29.199Z moonset -2025-10-03T11:19:03.766Z sunrise +2025-10-03T07:26:29.074Z moonset +2025-10-03T11:19:03.861Z sunrise 2025-10-03T17:13:41.367Z Sun culminates 57.15 degrees above the horizon -2025-10-03T21:06:02.567Z moonrise -2025-10-03T23:07:54.074Z sunset +2025-10-03T21:06:02.620Z moonrise +2025-10-03T23:07:54.168Z sunset 2025-10-04T02:44:39.715Z Moon culminates 47.91 degrees above the horizon -2025-10-04T08:30:02.478Z moonset +2025-10-04T08:30:02.441Z moonset 2025-10-04T10:21:55.366Z Mars moves from Virgo to Libra -2025-10-04T11:19:35.843Z sunrise +2025-10-04T11:19:35.939Z sunrise 2025-10-04T17:13:22.911Z Sun culminates 56.77 degrees above the horizon -2025-10-04T21:39:39.733Z moonrise -2025-10-04T23:06:45.182Z sunset +2025-10-04T21:39:39.752Z moonrise +2025-10-04T23:06:45.276Z sunset 2025-10-05T03:33:07.140Z Moon culminates 54.58 degrees above the horizon -2025-10-05T09:34:09.463Z moonset -2025-10-05T11:20:08.194Z sunrise +2025-10-05T09:34:09.462Z moonset +2025-10-05T11:20:08.291Z sunrise 2025-10-05T17:13:04.810Z Sun culminates 56.38 degrees above the horizon -2025-10-05T22:12:25.414Z moonrise -2025-10-05T23:05:36.728Z sunset +2025-10-05T22:12:25.422Z moonrise +2025-10-05T23:05:36.821Z sunset 2025-10-06T04:21:48.579Z Moon culminates 61.79 degrees above the horizon -2025-10-06T10:39:28.565Z moonset -2025-10-06T11:20:40.835Z sunrise +2025-10-06T10:39:28.566Z moonset +2025-10-06T11:20:40.933Z sunrise 2025-10-06T17:12:47.087Z Sun culminates 56.00 degrees above the horizon -2025-10-06T22:45:53.349Z moonrise -2025-10-06T23:04:28.743Z sunset +2025-10-06T22:45:53.353Z moonrise +2025-10-06T23:04:28.834Z sunset 2025-10-07T03:48:02.920Z full moon 2025-10-07T05:11:58.924Z Moon culminates 69.14 degrees above the horizon -2025-10-07T11:21:13.783Z sunrise -2025-10-07T11:46:53.012Z moonset +2025-10-07T11:21:13.882Z sunrise +2025-10-07T11:46:53.033Z moonset 2025-10-07T17:12:29.764Z Sun culminates 55.62 degrees above the horizon -2025-10-07T23:03:21.256Z sunset -2025-10-07T23:21:46.533Z moonrise +2025-10-07T23:03:21.346Z sunset +2025-10-07T23:21:46.515Z moonrise 2025-10-08T06:04:55.108Z Moon culminates 76.12 degrees above the horizon -2025-10-08T11:21:47.054Z sunrise +2025-10-08T11:21:47.154Z sunrise 2025-10-08T12:38:54.059Z lunar perigee at 359807 km -2025-10-08T12:57:00.792Z moonset +2025-10-08T12:57:00.885Z moonset 2025-10-08T17:07:59.261Z Venus moves from Leo to Virgo 2025-10-08T17:12:12.866Z Sun culminates 55.24 degrees above the horizon -2025-10-08T23:02:14.298Z sunset -2025-10-09T00:01:57.006Z moonrise +2025-10-08T23:02:14.387Z sunset +2025-10-09T00:01:56.941Z moonrise 2025-10-09T07:01:36.504Z Moon culminates 82.18 degrees above the horizon -2025-10-09T11:22:20.664Z sunrise -2025-10-09T14:09:32.600Z moonset +2025-10-09T11:22:20.665Z sunrise +2025-10-09T14:09:32.785Z moonset 2025-10-09T17:11:56.416Z Sun culminates 54.86 degrees above the horizon -2025-10-09T23:01:07.900Z sunset -2025-10-10T00:48:14.131Z moonrise +2025-10-09T23:01:07.987Z sunset +2025-10-10T00:48:14.008Z moonrise 2025-10-10T08:02:13.919Z Moon culminates 86.76 degrees above the horizon -2025-10-10T11:22:54.627Z sunrise +2025-10-10T11:22:54.628Z sunrise 2025-10-10T11:45:30.803Z Mercury aphelion at 0.4667 AU -2025-10-10T15:22:29.574Z moonset +2025-10-10T15:22:29.805Z moonset 2025-10-10T17:11:40.436Z Sun culminates 54.48 degrees above the horizon -2025-10-10T23:00:02.093Z sunset -2025-10-11T01:41:49.152Z moonrise +2025-10-10T23:00:02.179Z sunset +2025-10-11T01:41:48.982Z moonrise 2025-10-11T09:05:37.792Z Moon culminates 89.39 degrees above the horizon -2025-10-11T11:23:28.956Z sunrise -2025-10-11T16:32:15.651Z moonset +2025-10-11T11:23:28.959Z sunrise +2025-10-11T16:32:15.874Z moonset 2025-10-11T17:11:24.948Z Sun culminates 54.11 degrees above the horizon -2025-10-11T22:58:56.908Z sunset -2025-10-12T02:42:19.734Z moonrise +2025-10-11T22:58:56.992Z sunset +2025-10-12T02:42:19.529Z moonrise 2025-10-12T10:09:19.159Z Moon culminates 89.87 degrees above the horizon -2025-10-12T11:24:03.665Z sunrise +2025-10-12T11:24:03.668Z sunrise 2025-10-12T14:33:12.288Z Mercury moves from Virgo to Libra 2025-10-12T17:11:09.973Z Sun culminates 53.73 degrees above the horizon -2025-10-12T17:35:04.743Z moonset -2025-10-12T22:57:52.374Z sunset -2025-10-13T03:47:22.530Z moonrise +2025-10-12T17:35:04.940Z moonset +2025-10-12T22:57:52.457Z sunset +2025-10-13T03:47:22.303Z moonrise 2025-10-13T11:10:26.957Z Moon culminates 88.31 degrees above the horizon -2025-10-13T11:24:38.763Z sunrise +2025-10-13T11:24:38.767Z sunrise 2025-10-13T17:10:55.532Z Sun culminates 53.36 degrees above the horizon 2025-10-13T18:13:12.792Z third quarter -2025-10-13T18:28:55.029Z moonset -2025-10-13T22:56:48.523Z sunset -2025-10-14T04:53:29.134Z moonrise -2025-10-14T11:25:14.261Z sunrise +2025-10-13T18:28:55.195Z moonset +2025-10-13T22:56:48.603Z sunset +2025-10-14T04:53:28.921Z moonrise +2025-10-14T11:25:14.265Z sunrise 2025-10-14T12:07:03.508Z Moon culminates 85.04 degrees above the horizon 2025-10-14T17:10:41.645Z Sun culminates 52.99 degrees above the horizon -2025-10-14T19:14:00.362Z moonset -2025-10-14T22:55:45.383Z sunset -2025-10-15T05:57:47.670Z moonrise -2025-10-15T11:25:50.165Z sunrise +2025-10-14T19:14:00.485Z moonset +2025-10-14T22:55:45.462Z sunset +2025-10-15T05:57:47.520Z moonrise +2025-10-15T11:25:50.170Z sunrise 2025-10-15T12:58:35.688Z Moon culminates 80.51 degrees above the horizon 2025-10-15T17:10:28.328Z Sun culminates 52.62 degrees above the horizon -2025-10-15T19:51:56.930Z moonset -2025-10-15T22:54:42.984Z sunset -2025-10-16T06:58:57.158Z moonrise -2025-10-16T11:26:26.483Z sunrise +2025-10-15T19:51:57.005Z moonset +2025-10-15T22:54:43.061Z sunset +2025-10-16T06:58:57.087Z moonrise +2025-10-16T11:26:26.489Z sunrise 2025-10-16T13:45:35.885Z Moon culminates 75.13 degrees above the horizon 2025-10-16T17:10:15.601Z Sun culminates 52.25 degrees above the horizon -2025-10-16T20:24:42.140Z moonset -2025-10-16T22:53:41.353Z sunset -2025-10-17T07:56:56.158Z moonrise -2025-10-17T11:27:03.220Z sunrise +2025-10-16T20:24:42.175Z moonset +2025-10-16T22:53:41.428Z sunset +2025-10-17T07:56:56.141Z moonrise +2025-10-17T11:27:03.227Z sunrise 2025-10-17T14:29:08.883Z Moon culminates 69.25 degrees above the horizon 2025-10-17T17:10:03.479Z Sun culminates 51.89 degrees above the horizon -2025-10-17T20:54:03.852Z moonset -2025-10-17T22:52:40.518Z sunset -2025-10-18T08:52:28.161Z moonrise -2025-10-18T11:27:40.380Z sunrise +2025-10-17T20:54:03.869Z moonset +2025-10-17T22:52:40.591Z sunset +2025-10-18T08:52:28.163Z moonrise +2025-10-18T11:27:40.388Z sunrise 2025-10-18T15:10:28.567Z Moon culminates 63.15 degrees above the horizon 2025-10-18T17:09:51.976Z Sun culminates 51.52 degrees above the horizon -2025-10-18T21:21:33.568Z moonset -2025-10-18T22:51:40.505Z sunset -2025-10-19T09:46:33.730Z moonrise -2025-10-19T11:28:17.965Z sunrise +2025-10-18T21:21:33.580Z moonset +2025-10-18T22:51:40.576Z sunset +2025-10-19T09:46:33.734Z moonrise +2025-10-19T11:28:17.974Z sunrise 2025-10-19T15:50:46.965Z Moon culminates 57.06 degrees above the horizon 2025-10-19T17:09:41.108Z Sun culminates 51.16 degrees above the horizon -2025-10-19T21:48:29.754Z moonset -2025-10-19T22:50:41.341Z sunset -2025-10-20T10:40:13.996Z moonrise -2025-10-20T11:28:55.976Z sunrise +2025-10-19T21:48:29.763Z moonset +2025-10-19T22:50:41.410Z sunset +2025-10-20T10:40:14.015Z moonrise +2025-10-20T11:28:55.986Z sunrise 2025-10-20T16:31:10.382Z Moon culminates 51.20 degrees above the horizon 2025-10-20T17:09:30.887Z Sun culminates 50.81 degrees above the horizon -2025-10-20T22:16:03.596Z moonset -2025-10-20T22:49:43.051Z sunset -2025-10-21T11:29:34.413Z sunrise -2025-10-21T11:34:20.458Z moonrise +2025-10-20T22:16:03.589Z moonset +2025-10-20T22:49:43.117Z sunset +2025-10-21T11:29:34.424Z sunrise +2025-10-21T11:34:20.526Z moonrise 2025-10-21T12:25:47.505Z new moon 2025-10-21T17:09:21.326Z Sun culminates 50.45 degrees above the horizon 2025-10-21T17:12:37.723Z Moon culminates 45.77 degrees above the horizon -2025-10-21T22:45:24.034Z moonset -2025-10-21T22:48:45.660Z sunset -2025-10-22T11:30:13.273Z sunrise -2025-10-22T12:29:25.909Z moonrise +2025-10-21T22:45:23.987Z moonset +2025-10-21T22:48:45.723Z sunset +2025-10-22T11:30:13.286Z sunrise +2025-10-22T12:29:26.061Z moonrise 2025-10-22T17:09:12.436Z Sun culminates 50.10 degrees above the horizon 2025-10-22T17:55:57.806Z Moon culminates 40.97 degrees above the horizon -2025-10-22T22:47:49.192Z sunset -2025-10-22T23:17:40.408Z moonset -2025-10-23T11:30:52.556Z sunrise -2025-10-23T13:25:34.025Z moonrise +2025-10-22T22:47:49.253Z sunset +2025-10-22T23:17:40.305Z moonset +2025-10-23T11:30:52.570Z sunrise +2025-10-23T13:25:34.262Z moonrise 2025-10-23T17:09:04.228Z Sun culminates 49.75 degrees above the horizon 2025-10-23T18:41:43.877Z Moon culminates 37.02 degrees above the horizon -2025-10-23T22:46:53.673Z sunset +2025-10-23T22:46:53.731Z sunset 2025-10-23T23:29:58.867Z lunar apogee at 406434 km -2025-10-23T23:54:00.724Z moonset -2025-10-24T11:31:32.257Z sunrise -2025-10-24T14:22:09.540Z moonrise +2025-10-23T23:54:00.561Z moonset +2025-10-24T11:31:32.272Z sunrise +2025-10-24T14:22:09.829Z moonrise 2025-10-24T17:08:56.713Z Sun culminates 49.40 degrees above the horizon 2025-10-24T19:30:05.397Z Moon culminates 34.14 degrees above the horizon -2025-10-24T22:45:59.127Z sunset -2025-10-25T00:35:22.907Z moonset -2025-10-25T11:32:12.372Z sunrise -2025-10-25T15:17:56.832Z moonrise +2025-10-24T22:45:59.182Z sunset +2025-10-25T00:35:22.696Z moonset +2025-10-25T11:32:12.389Z sunrise +2025-10-25T15:17:57.132Z moonrise 2025-10-25T17:08:49.902Z Sun culminates 49.06 degrees above the horizon 2025-10-25T20:20:40.563Z Moon culminates 32.52 degrees above the horizon -2025-10-25T22:45:05.579Z sunset -2025-10-26T01:22:18.254Z moonset -2025-10-26T11:32:52.897Z sunrise -2025-10-26T16:11:16.564Z moonrise +2025-10-25T22:45:05.631Z sunset +2025-10-26T01:22:18.005Z moonset +2025-10-26T11:32:52.916Z sunrise +2025-10-26T16:11:16.848Z moonrise 2025-10-26T17:08:43.804Z Sun culminates 48.72 degrees above the horizon 2025-10-26T21:12:36.519Z Moon culminates 32.29 degrees above the horizon -2025-10-26T22:44:13.054Z sunset -2025-10-27T02:14:33.321Z moonset -2025-10-27T11:33:33.828Z sunrise -2025-10-27T17:00:39.417Z moonrise +2025-10-26T22:44:13.103Z sunset +2025-10-27T02:14:33.043Z moonset +2025-10-27T11:33:33.849Z sunrise +2025-10-27T17:00:39.672Z moonrise 2025-10-27T17:08:38.430Z Sun culminates 48.38 degrees above the horizon 2025-10-27T22:04:42.947Z Moon culminates 33.51 degrees above the horizon -2025-10-27T22:43:21.577Z sunset -2025-10-28T03:11:05.370Z moonset -2025-10-28T11:34:15.159Z sunrise +2025-10-27T22:43:21.624Z sunset +2025-10-28T03:11:05.085Z moonset +2025-10-28T11:34:15.182Z sunrise 2025-10-28T17:08:33.790Z Sun culminates 48.05 degrees above the horizon -2025-10-28T17:45:18.210Z moonrise -2025-10-28T22:42:31.175Z sunset +2025-10-28T17:45:18.420Z moonrise +2025-10-28T22:42:31.219Z sunset 2025-10-28T22:55:55.607Z Moon culminates 36.16 degrees above the horizon -2025-10-29T04:10:22.863Z moonset -2025-10-29T11:34:56.885Z sunrise +2025-10-29T04:10:22.614Z moonset +2025-10-29T11:34:56.910Z sunrise 2025-10-29T12:18:07.251Z Mercury moves from Libra to Scorpius 2025-10-29T16:21:26.837Z first quarter 2025-10-29T17:08:29.895Z Sun culminates 47.72 degrees above the horizon -2025-10-29T18:25:18.379Z moonrise +2025-10-29T18:25:18.526Z moonrise 2025-10-29T21:56:17.324Z Mercury max evening elongation: 23.88 degrees from Sun -2025-10-29T22:41:41.875Z sunset +2025-10-29T22:41:41.915Z sunset 2025-10-29T23:45:37.480Z Moon culminates 40.13 degrees above the horizon -2025-10-30T05:11:01.831Z moonset -2025-10-30T11:35:39.003Z sunrise +2025-10-30T05:11:01.666Z moonset +2025-10-30T11:35:39.030Z sunrise 2025-10-30T17:08:26.757Z Sun culminates 47.39 degrees above the horizon -2025-10-30T19:01:26.832Z moonrise -2025-10-30T22:40:53.702Z sunset +2025-10-30T19:01:26.912Z moonrise +2025-10-30T22:40:53.738Z sunset 2025-10-31T00:33:47.685Z Moon culminates 45.25 degrees above the horizon -2025-10-31T06:12:15.117Z moonset -2025-10-31T11:36:21.506Z sunrise +2025-10-31T06:12:15.048Z moonset +2025-10-31T11:36:21.535Z sunrise 2025-10-31T17:08:24.386Z Sun culminates 47.07 degrees above the horizon -2025-10-31T19:34:54.329Z moonrise -2025-10-31T22:40:06.684Z sunset +2025-10-31T19:34:54.361Z moonrise +2025-10-31T22:40:06.717Z sunset 2025-11-01T01:20:58.778Z Moon culminates 51.33 degrees above the horizon -2025-11-01T07:14:01.709Z moonset -2025-11-01T11:37:04.389Z sunrise +2025-11-01T07:14:01.697Z moonset +2025-11-01T11:37:04.421Z sunrise 2025-11-01T17:08:22.793Z Sun culminates 46.75 degrees above the horizon -2025-11-01T20:07:03.427Z moonrise -2025-11-01T22:39:20.849Z sunset +2025-11-01T20:07:03.439Z moonrise +2025-11-01T22:39:20.879Z sunset 2025-11-02T02:08:09.082Z Moon culminates 58.11 degrees above the horizon -2025-11-02T08:16:59.955Z moonset -2025-11-02T11:37:47.649Z sunrise +2025-11-02T08:16:59.956Z moonset +2025-11-02T11:37:47.683Z sunrise 2025-11-02T17:08:21.991Z Sun culminates 46.43 degrees above the horizon -2025-11-02T20:39:24.749Z moonrise -2025-11-02T22:38:36.225Z sunset +2025-11-02T20:39:24.756Z moonrise +2025-11-02T22:38:36.252Z sunset 2025-11-03T02:56:34.854Z Moon culminates 65.29 degrees above the horizon -2025-11-03T09:22:12.263Z moonset -2025-11-03T11:38:31.280Z sunrise +2025-11-03T09:22:12.269Z moonset +2025-11-03T11:38:31.316Z sunrise 2025-11-03T17:08:21.991Z Sun culminates 46.12 degrees above the horizon -2025-11-03T21:13:39.134Z moonrise +2025-11-03T21:13:39.131Z moonrise 2025-11-03T22:20:48.449Z Mars moves from Libra to Scorpius -2025-11-03T22:37:52.840Z sunset +2025-11-03T22:37:52.863Z sunset 2025-11-04T03:47:41.970Z Moon culminates 72.46 degrees above the horizon -2025-11-04T10:30:41.961Z moonset -2025-11-04T11:39:15.277Z sunrise +2025-11-04T10:30:42.008Z moonset +2025-11-04T11:39:15.315Z sunrise 2025-11-04T17:08:22.804Z Sun culminates 45.81 degrees above the horizon -2025-11-04T21:51:41.081Z moonrise -2025-11-04T22:37:10.721Z sunset +2025-11-04T21:51:41.045Z moonrise +2025-11-04T22:37:10.740Z sunset 2025-11-05T04:42:51.660Z Moon culminates 79.10 degrees above the horizon -2025-11-05T11:39:59.633Z sunrise -2025-11-05T11:42:55.504Z moonset +2025-11-05T11:39:59.674Z sunrise +2025-11-05T11:42:55.641Z moonset 2025-11-05T13:19:45.220Z full moon 2025-11-05T17:08:24.440Z Sun culminates 45.51 degrees above the horizon 2025-11-05T22:28:32.817Z lunar perigee at 356821 km -2025-11-05T22:35:35.074Z moonrise -2025-11-05T22:36:29.895Z sunset +2025-11-05T22:35:34.981Z moonrise +2025-11-05T22:36:29.911Z sunset 2025-11-06T05:42:51.809Z Moon culminates 84.57 degrees above the horizon -2025-11-06T11:40:44.343Z sunrise -2025-11-06T12:57:47.397Z moonset +2025-11-06T11:40:44.386Z sunrise +2025-11-06T12:57:47.610Z moonset 2025-11-06T17:08:26.909Z Sun culminates 45.21 degrees above the horizon -2025-11-06T22:35:50.389Z sunset -2025-11-06T23:27:09.487Z moonrise +2025-11-06T22:35:50.401Z sunset +2025-11-06T23:27:09.341Z moonrise 2025-11-07T06:47:12.836Z Moon culminates 88.27 degrees above the horizon -2025-11-07T11:41:29.397Z sunrise -2025-11-07T14:11:59.344Z moonset +2025-11-07T11:41:29.443Z sunrise +2025-11-07T14:11:59.572Z moonset 2025-11-07T17:08:30.221Z Sun culminates 44.92 degrees above the horizon -2025-11-07T22:35:12.230Z sunset -2025-11-08T00:26:55.410Z moonrise +2025-11-07T22:35:12.238Z sunset +2025-11-08T00:26:55.221Z moonrise 2025-11-08T07:53:37.213Z Moon culminates 89.77 degrees above the horizon -2025-11-08T11:42:14.785Z sunrise -2025-11-08T15:20:48.727Z moonset +2025-11-08T11:42:14.834Z sunrise +2025-11-08T15:20:48.933Z moonset 2025-11-08T17:08:34.382Z Sun culminates 44.63 degrees above the horizon -2025-11-08T22:34:35.443Z sunset -2025-11-09T01:33:01.656Z moonrise +2025-11-08T22:34:35.447Z sunset +2025-11-09T01:33:01.436Z moonrise 2025-11-09T08:58:36.064Z Moon culminates 88.98 degrees above the horizon -2025-11-09T11:43:00.496Z sunrise -2025-11-09T16:20:35.838Z moonset +2025-11-09T11:43:00.547Z sunrise +2025-11-09T16:20:36.012Z moonset 2025-11-09T17:08:39.400Z Sun culminates 44.35 degrees above the horizon -2025-11-09T22:34:00.055Z sunset -2025-11-10T02:41:35.070Z moonrise +2025-11-09T22:34:00.056Z sunset +2025-11-10T02:41:34.848Z moonrise 2025-11-10T09:59:09.049Z Moon culminates 86.21 degrees above the horizon -2025-11-10T11:43:46.514Z sunrise +2025-11-10T11:43:46.568Z sunrise 2025-11-10T17:08:45.280Z Sun culminates 44.07 degrees above the horizon -2025-11-10T17:10:27.293Z moonset -2025-11-10T22:33:26.091Z sunset -2025-11-11T03:48:43.120Z moonrise +2025-11-10T17:10:27.428Z moonset +2025-11-10T22:33:26.087Z sunset +2025-11-11T03:48:42.947Z moonrise 2025-11-11T10:53:56.894Z Moon culminates 81.96 degrees above the horizon -2025-11-11T11:44:32.824Z sunrise +2025-11-11T11:44:32.881Z sunrise 2025-11-11T17:08:52.027Z Sun culminates 43.79 degrees above the horizon -2025-11-11T17:51:44.048Z moonset -2025-11-11T22:32:53.574Z sunset -2025-11-12T04:52:15.683Z moonrise +2025-11-11T17:51:44.135Z moonset +2025-11-11T22:32:53.567Z sunset +2025-11-12T04:52:15.590Z moonrise 2025-11-12T05:28:44.381Z third quarter 2025-11-12T11:43:15.669Z Moon culminates 76.73 degrees above the horizon -2025-11-12T11:45:19.409Z sunrise +2025-11-12T11:45:19.468Z sunrise 2025-11-12T17:08:59.641Z Sun culminates 43.52 degrees above the horizon -2025-11-12T18:26:36.427Z moonset -2025-11-12T22:32:22.527Z sunset +2025-11-12T18:26:36.470Z moonset +2025-11-12T22:32:22.516Z sunset 2025-11-13T02:39:56.063Z Venus moves from Virgo to Libra -2025-11-13T05:51:50.969Z moonrise -2025-11-13T11:46:06.248Z sunrise +2025-11-13T05:51:50.941Z moonrise +2025-11-13T11:46:06.310Z sunrise 2025-11-13T12:28:13.045Z Moon culminates 70.94 degrees above the horizon 2025-11-13T17:09:08.125Z Sun culminates 43.26 degrees above the horizon -2025-11-13T18:57:10.564Z moonset -2025-11-13T22:31:52.971Z sunset +2025-11-13T18:57:10.584Z moonset +2025-11-13T22:31:52.957Z sunset 2025-11-14T06:48:12.062Z moonrise -2025-11-14T11:46:53.319Z sunrise +2025-11-14T11:46:53.384Z sunrise 2025-11-14T13:10:12.562Z Moon culminates 64.90 degrees above the horizon 2025-11-14T17:09:17.475Z Sun culminates 43.00 degrees above the horizon -2025-11-14T19:25:12.596Z moonset -2025-11-14T22:31:24.926Z sunset -2025-11-15T07:42:27.635Z moonrise -2025-11-15T11:47:40.599Z sunrise +2025-11-14T19:25:12.609Z moonset +2025-11-14T22:31:24.908Z sunset +2025-11-15T07:42:27.639Z moonrise +2025-11-15T11:47:40.666Z sunrise 2025-11-15T13:50:36.343Z Moon culminates 58.83 degrees above the horizon 2025-11-15T17:09:27.691Z Sun culminates 42.75 degrees above the horizon 2025-11-15T17:59:12.217Z Mars moves from Scorpius to Ophiuchus -2025-11-15T19:52:10.697Z moonset -2025-11-15T22:30:58.408Z sunset -2025-11-16T08:35:49.549Z moonrise -2025-11-16T11:48:28.060Z sunrise +2025-11-15T19:52:10.707Z moonset +2025-11-15T22:30:58.386Z sunset +2025-11-16T08:35:49.560Z moonrise +2025-11-16T11:48:28.131Z sunrise 2025-11-16T14:30:39.464Z Moon culminates 52.94 degrees above the horizon 2025-11-16T17:09:38.765Z Sun culminates 42.50 degrees above the horizon 2025-11-16T20:19:21.882Z moonset -2025-11-16T22:30:33.434Z sunset -2025-11-17T09:29:20.972Z moonrise -2025-11-17T11:49:15.675Z sunrise +2025-11-16T22:30:33.409Z sunset +2025-11-17T09:29:21.021Z moonrise +2025-11-17T11:49:15.749Z sunrise 2025-11-17T15:11:28.527Z Moon culminates 47.42 degrees above the horizon 2025-11-17T17:09:50.690Z Sun culminates 42.26 degrees above the horizon -2025-11-17T20:47:58.420Z moonset -2025-11-17T22:30:10.018Z sunset -2025-11-18T10:23:47.456Z moonrise +2025-11-17T20:47:58.389Z moonset +2025-11-17T22:30:09.989Z sunset +2025-11-18T10:23:47.578Z moonrise 2025-11-18T11:07:48.810Z Mercury moves from Scorpius to Libra -2025-11-18T11:50:03.414Z sunrise +2025-11-18T11:50:03.490Z sunrise 2025-11-18T15:53:59.865Z Moon culminates 42.45 degrees above the horizon 2025-11-18T17:10:03.459Z Sun culminates 42.02 degrees above the horizon -2025-11-18T21:19:11.874Z moonset -2025-11-18T22:29:48.172Z sunset -2025-11-19T11:19:26.625Z moonrise -2025-11-19T11:50:51.243Z sunrise +2025-11-18T21:19:11.790Z moonset +2025-11-18T22:29:48.139Z sunset +2025-11-19T11:19:26.836Z moonrise +2025-11-19T11:50:51.321Z sunrise 2025-11-19T16:38:54.842Z Moon culminates 38.25 degrees above the horizon 2025-11-19T17:10:17.059Z Sun culminates 41.79 degrees above the horizon -2025-11-19T21:54:12.945Z moonset -2025-11-19T22:29:27.907Z sunset +2025-11-19T21:54:12.801Z moonset +2025-11-19T22:29:27.871Z sunset 2025-11-20T02:47:07.592Z lunar apogee at 406682 km 2025-11-20T06:47:56.127Z new moon 2025-11-20T09:16:33.592Z Mercury inferior conjunction -2025-11-20T11:51:39.129Z sunrise -2025-11-20T12:15:56.718Z moonrise +2025-11-20T11:51:39.210Z sunrise +2025-11-20T12:15:56.993Z moonrise 2025-11-20T17:10:31.479Z Sun culminates 41.56 degrees above the horizon 2025-11-20T17:26:31.537Z Moon culminates 35.04 degrees above the horizon -2025-11-20T22:29:09.232Z sunset -2025-11-20T22:34:04.420Z moonset -2025-11-21T11:52:27.036Z sunrise +2025-11-20T22:29:09.193Z sunset +2025-11-20T22:34:04.224Z moonset +2025-11-21T11:52:27.120Z sunrise 2025-11-21T12:11:00.968Z Uranus opposition -2025-11-21T13:12:10.593Z moonrise +2025-11-21T13:12:10.890Z moonrise 2025-11-21T17:10:46.706Z Sun culminates 41.34 degrees above the horizon 2025-11-21T18:16:35.390Z Moon culminates 33.02 degrees above the horizon -2025-11-21T22:28:52.157Z sunset -2025-11-21T23:19:25.318Z moonset -2025-11-22T11:53:14.928Z sunrise -2025-11-22T14:06:26.746Z moonrise +2025-11-21T22:28:52.115Z sunset +2025-11-21T23:19:25.080Z moonset +2025-11-22T11:53:15.014Z sunrise +2025-11-22T14:06:27.034Z moonrise 2025-11-22T17:11:02.724Z Sun culminates 41.13 degrees above the horizon 2025-11-22T19:08:15.946Z Moon culminates 32.37 degrees above the horizon -2025-11-22T22:28:36.688Z sunset -2025-11-23T00:10:10.552Z moonset +2025-11-22T22:28:36.642Z sunset +2025-11-23T00:10:10.283Z moonset 2025-11-23T11:23:52.887Z Mercury perihelion at 0.3075 AU -2025-11-23T11:54:02.767Z sunrise -2025-11-23T14:57:01.936Z moonrise +2025-11-23T11:54:02.855Z sunrise +2025-11-23T14:57:02.199Z moonrise 2025-11-23T17:11:19.517Z Sun culminates 40.92 degrees above the horizon 2025-11-23T20:00:17.813Z Moon culminates 33.16 degrees above the horizon -2025-11-23T22:28:22.832Z sunset -2025-11-24T01:05:21.089Z moonset -2025-11-24T11:54:50.515Z sunrise -2025-11-24T15:42:49.698Z moonrise +2025-11-23T22:28:22.783Z sunset +2025-11-24T01:05:20.806Z moonset +2025-11-24T11:54:50.606Z sunrise +2025-11-24T15:42:49.922Z moonrise 2025-11-24T17:11:37.071Z Sun culminates 40.72 degrees above the horizon 2025-11-24T20:51:25.392Z Moon culminates 35.36 degrees above the horizon -2025-11-24T22:28:10.594Z sunset -2025-11-25T02:03:20.417Z moonset -2025-11-25T11:55:38.133Z sunrise -2025-11-25T16:23:39.367Z moonrise +2025-11-24T22:28:10.542Z sunset +2025-11-25T02:03:20.157Z moonset +2025-11-25T11:55:38.226Z sunrise +2025-11-25T16:23:39.535Z moonrise 2025-11-25T17:11:55.367Z Sun culminates 40.53 degrees above the horizon 2025-11-25T21:40:48.504Z Moon culminates 38.87 degrees above the horizon -2025-11-25T22:27:59.978Z sunset -2025-11-26T03:02:32.599Z moonset -2025-11-26T11:56:25.582Z sunrise -2025-11-26T17:00:08.485Z moonrise +2025-11-25T22:27:59.923Z sunset +2025-11-26T03:02:32.409Z moonset +2025-11-26T11:56:25.678Z sunrise +2025-11-26T17:00:08.588Z moonrise 2025-11-26T17:12:14.388Z Sun culminates 40.34 degrees above the horizon -2025-11-26T22:27:50.989Z sunset +2025-11-26T22:27:50.932Z sunset 2025-11-26T22:28:15.244Z Moon culminates 43.50 degrees above the horizon -2025-11-27T04:01:56.900Z moonset -2025-11-27T11:57:12.823Z sunrise +2025-11-27T04:01:56.804Z moonset +2025-11-27T11:57:12.921Z sunrise 2025-11-27T17:12:34.117Z Sun culminates 40.16 degrees above the horizon -2025-11-27T17:33:23.325Z moonrise -2025-11-27T22:27:43.632Z sunset +2025-11-27T17:33:23.372Z moonrise +2025-11-27T22:27:43.571Z sunset 2025-11-27T23:14:10.332Z Moon culminates 49.06 degrees above the horizon -2025-11-28T05:01:21.276Z moonset +2025-11-28T05:01:21.250Z moonset 2025-11-28T06:59:22.640Z first quarter -2025-11-28T11:57:59.819Z sunrise +2025-11-28T11:57:59.919Z sunrise 2025-11-28T17:12:54.536Z Sun culminates 39.99 degrees above the horizon -2025-11-28T18:04:43.317Z moonrise -2025-11-28T22:27:37.907Z sunset +2025-11-28T18:04:43.336Z moonrise +2025-11-28T22:27:37.844Z sunset 2025-11-28T23:59:26.652Z Moon culminates 55.34 degrees above the horizon -2025-11-29T06:01:17.515Z moonset -2025-11-29T11:58:46.530Z sunrise +2025-11-29T06:01:17.516Z moonset +2025-11-29T11:58:46.632Z sunrise 2025-11-29T17:13:15.628Z Sun culminates 39.82 degrees above the horizon -2025-11-29T18:35:34.753Z moonrise -2025-11-29T22:27:33.819Z sunset +2025-11-29T18:35:34.763Z moonrise +2025-11-29T22:27:33.754Z sunset 2025-11-30T00:45:17.135Z Moon culminates 62.10 degrees above the horizon -2025-11-30T07:02:48.473Z moonset -2025-11-30T11:59:32.919Z sunrise +2025-11-30T07:02:48.475Z moonset +2025-11-30T11:59:33.023Z sunrise 2025-11-30T17:13:37.374Z Sun culminates 39.66 degrees above the horizon -2025-11-30T19:07:32.067Z moonrise -2025-11-30T22:27:31.369Z sunset +2025-11-30T19:07:32.071Z moonrise +2025-11-30T22:27:31.301Z sunset 2025-12-01T01:33:08.721Z Moon culminates 69.05 degrees above the horizon -2025-12-01T08:07:11.626Z moonset -2025-12-01T12:00:18.948Z sunrise +2025-12-01T08:07:11.646Z moonset +2025-12-01T12:00:19.054Z sunrise 2025-12-01T17:13:59.756Z Sun culminates 39.50 degrees above the horizon -2025-12-01T19:42:23.124Z moonrise -2025-12-01T22:27:30.557Z sunset +2025-12-01T19:42:23.108Z moonrise +2025-12-01T22:27:30.487Z sunset 2025-12-02T02:24:34.840Z Moon culminates 75.79 degrees above the horizon -2025-12-02T09:15:33.735Z moonset -2025-12-02T12:01:04.581Z sunrise +2025-12-02T09:15:33.822Z moonset +2025-12-02T12:01:04.689Z sunrise 2025-12-02T17:14:22.756Z Sun culminates 39.36 degrees above the horizon -2025-12-02T20:22:13.138Z moonrise -2025-12-02T22:27:31.383Z sunset +2025-12-02T20:22:13.076Z moonrise +2025-12-02T22:27:31.311Z sunset 2025-12-03T02:54:45.831Z Venus moves from Libra to Scorpius 2025-12-03T03:20:58.151Z Moon culminates 81.81 degrees above the horizon -2025-12-03T10:28:06.065Z moonset -2025-12-03T12:01:49.781Z sunrise +2025-12-03T10:28:06.242Z moonset +2025-12-03T12:01:49.891Z sunrise 2025-12-03T17:14:46.355Z Sun culminates 39.22 degrees above the horizon -2025-12-03T21:09:15.834Z moonrise -2025-12-03T22:27:33.846Z sunset +2025-12-03T21:09:15.715Z moonrise +2025-12-03T22:27:33.772Z sunset 2025-12-04T04:22:53.488Z Moon culminates 86.47 degrees above the horizon 2025-12-04T11:07:51.536Z lunar perigee at 356953 km -2025-12-04T11:43:02.145Z moonset -2025-12-04T12:02:34.512Z sunrise +2025-12-04T11:43:02.371Z moonset +2025-12-04T12:02:34.624Z sunrise 2025-12-04T17:15:10.533Z Sun culminates 39.09 degrees above the horizon -2025-12-04T22:05:11.501Z moonrise -2025-12-04T22:27:37.942Z sunset +2025-12-04T22:05:11.334Z moonrise +2025-12-04T22:27:37.865Z sunset 2025-12-04T23:14:33.917Z full moon 2025-12-05T05:29:15.490Z Moon culminates 89.16 degrees above the horizon -2025-12-05T12:03:18.737Z sunrise -2025-12-05T12:56:10.790Z moonset +2025-12-05T12:03:18.850Z sunrise +2025-12-05T12:56:11.008Z moonset 2025-12-05T17:15:35.270Z Sun culminates 38.96 degrees above the horizon -2025-12-05T22:27:43.666Z sunset -2025-12-05T23:09:44.593Z moonrise +2025-12-05T22:27:43.588Z sunset +2025-12-05T23:09:44.387Z moonrise 2025-12-06T06:36:57.930Z Moon culminates 89.51 degrees above the horizon -2025-12-06T12:04:02.418Z sunrise -2025-12-06T14:02:30.064Z moonset +2025-12-06T12:04:02.533Z sunrise +2025-12-06T14:02:30.250Z moonset 2025-12-06T17:16:00.544Z Sun culminates 38.84 degrees above the horizon -2025-12-06T22:27:51.015Z sunset -2025-12-07T00:19:46.925Z moonrise +2025-12-06T22:27:50.935Z sunset +2025-12-07T00:19:46.700Z moonrise 2025-12-07T03:13:37.705Z Venus moves from Scorpius to Ophiuchus 2025-12-07T07:42:03.909Z Moon culminates 87.58 degrees above the horizon -2025-12-07T12:04:45.517Z sunrise -2025-12-07T14:58:57.773Z moonset +2025-12-07T12:04:45.633Z sunrise +2025-12-07T14:58:57.922Z moonset 2025-12-07T17:16:26.332Z Sun culminates 38.73 degrees above the horizon 2025-12-07T21:03:04.122Z Mercury max morning elongation: 20.73 degrees from Sun -2025-12-07T22:27:59.980Z sunset -2025-12-08T01:30:33.277Z moonrise +2025-12-07T22:27:59.899Z sunset +2025-12-08T01:30:33.078Z moonrise 2025-12-08T08:41:45.336Z Moon culminates 83.79 degrees above the horizon -2025-12-08T12:05:27.994Z sunrise -2025-12-08T15:45:35.925Z moonset +2025-12-08T12:05:28.111Z sunrise +2025-12-08T15:45:36.027Z moonset 2025-12-08T17:16:52.611Z Sun culminates 38.63 degrees above the horizon -2025-12-08T22:28:10.555Z sunset -2025-12-09T02:38:19.007Z moonrise +2025-12-08T22:28:10.472Z sunset +2025-12-09T02:38:18.883Z moonrise 2025-12-09T09:35:16.452Z Moon culminates 78.73 degrees above the horizon -2025-12-09T12:06:09.811Z sunrise -2025-12-09T16:24:18.432Z moonset +2025-12-09T12:06:09.929Z sunrise +2025-12-09T16:24:18.487Z moonset 2025-12-09T17:17:19.357Z Sun culminates 38.53 degrees above the horizon -2025-12-09T22:28:22.728Z sunset -2025-12-10T03:41:35.138Z moonrise +2025-12-09T22:28:22.644Z sunset +2025-12-10T03:41:35.092Z moonrise 2025-12-10T10:23:22.255Z Moon culminates 72.94 degrees above the horizon -2025-12-10T12:06:50.926Z sunrise -2025-12-10T16:57:24.312Z moonset +2025-12-10T12:06:51.046Z sunrise +2025-12-10T16:57:24.336Z moonset 2025-12-10T17:17:46.544Z Sun culminates 38.44 degrees above the horizon 2025-12-10T19:57:21.509Z Mars moves from Ophiuchus to Sagittarius -2025-12-10T22:28:36.488Z sunset -2025-12-11T04:40:38.023Z moonrise +2025-12-10T22:28:36.403Z sunset +2025-12-11T04:40:38.017Z moonrise 2025-12-11T11:07:26.795Z Moon culminates 66.81 degrees above the horizon -2025-12-11T12:07:31.301Z sunrise +2025-12-11T12:07:31.421Z sunrise 2025-12-11T17:18:14.144Z Sun culminates 38.36 degrees above the horizon -2025-12-11T17:26:57.445Z moonset +2025-12-11T17:26:57.458Z moonset 2025-12-11T20:52:19.417Z third quarter -2025-12-11T22:28:51.821Z sunset -2025-12-12T05:36:34.021Z moonrise +2025-12-11T22:28:51.734Z sunset +2025-12-12T05:36:34.024Z moonrise 2025-12-12T11:49:00.828Z Moon culminates 60.65 degrees above the horizon -2025-12-12T12:08:10.893Z sunrise +2025-12-12T12:08:11.014Z sunrise 2025-12-12T17:18:42.129Z Sun culminates 38.29 degrees above the horizon -2025-12-12T17:54:39.970Z moonset -2025-12-12T22:29:08.708Z sunset -2025-12-13T06:30:42.833Z moonrise -2025-12-13T12:08:49.663Z sunrise +2025-12-12T17:54:39.981Z moonset +2025-12-12T22:29:08.620Z sunset +2025-12-13T06:30:42.840Z moonrise +2025-12-13T12:08:49.784Z sunrise 2025-12-13T12:29:29.181Z Moon culminates 54.65 degrees above the horizon 2025-12-13T17:19:10.467Z Sun culminates 38.23 degrees above the horizon -2025-12-13T18:21:58.019Z moonset -2025-12-13T22:29:27.130Z sunset +2025-12-13T18:21:58.023Z moonset +2025-12-13T22:29:27.042Z sunset 2025-12-14T00:45:24.180Z Mercury moves from Libra to Scorpius -2025-12-14T07:24:19.403Z moonrise -2025-12-14T12:09:27.566Z sunrise +2025-12-14T07:24:19.436Z moonrise +2025-12-14T12:09:27.689Z sunrise 2025-12-14T13:10:07.693Z Moon culminates 49.00 degrees above the horizon 2025-12-14T17:19:39.127Z Sun culminates 38.17 degrees above the horizon -2025-12-14T18:50:09.399Z moonset -2025-12-14T22:29:47.064Z sunset -2025-12-15T08:18:23.887Z moonrise -2025-12-15T12:10:04.562Z sunrise +2025-12-14T18:50:09.378Z moonset +2025-12-14T22:29:46.975Z sunset +2025-12-15T08:18:23.984Z moonrise +2025-12-15T12:10:04.685Z sunrise 2025-12-15T13:52:02.196Z Moon culminates 43.87 degrees above the horizon 2025-12-15T17:20:08.075Z Sun culminates 38.12 degrees above the horizon -2025-12-15T19:20:29.514Z moonset -2025-12-15T22:30:08.485Z sunset -2025-12-16T09:13:32.045Z moonrise -2025-12-16T12:10:40.607Z sunrise +2025-12-15T19:20:29.447Z moonset +2025-12-15T22:30:08.395Z sunset +2025-12-16T09:13:32.230Z moonrise +2025-12-16T12:10:40.731Z sunrise 2025-12-16T14:36:05.370Z Moon culminates 39.44 degrees above the horizon 2025-12-16T17:20:37.276Z Sun culminates 38.08 degrees above the horizon -2025-12-16T19:54:13.569Z moonset -2025-12-16T22:30:31.365Z sunset +2025-12-16T19:54:13.443Z moonset +2025-12-16T22:30:31.274Z sunset 2025-12-17T06:09:31.526Z lunar apogee at 406312 km -2025-12-17T10:09:43.403Z moonrise -2025-12-17T12:11:15.659Z sunrise +2025-12-17T10:09:43.662Z moonrise +2025-12-17T12:11:15.783Z sunrise 2025-12-17T15:22:49.511Z Moon culminates 35.93 degrees above the horizon 2025-12-17T17:21:06.694Z Sun culminates 38.04 degrees above the horizon 2025-12-17T19:58:03.129Z Mercury moves from Scorpius to Ophiuchus -2025-12-17T20:32:32.460Z moonset -2025-12-17T22:30:55.674Z sunset -2025-12-18T11:06:10.967Z moonrise -2025-12-18T12:11:49.674Z sunrise +2025-12-17T20:32:32.279Z moonset +2025-12-17T22:30:55.583Z sunset +2025-12-18T11:06:11.261Z moonrise +2025-12-18T12:11:49.798Z sunrise 2025-12-18T16:12:16.079Z Moon culminates 33.54 degrees above the horizon 2025-12-18T17:21:36.291Z Sun culminates 38.01 degrees above the horizon -2025-12-18T21:16:19.329Z moonset -2025-12-18T22:31:21.379Z sunset -2025-12-19T12:01:23.477Z moonrise -2025-12-19T12:12:22.610Z sunrise +2025-12-18T21:16:19.103Z moonset +2025-12-18T22:31:21.288Z sunset +2025-12-19T12:01:23.769Z moonrise +2025-12-19T12:12:22.734Z sunrise 2025-12-19T17:03:47.701Z Moon culminates 32.47 degrees above the horizon 2025-12-19T17:22:06.029Z Sun culminates 38.00 degrees above the horizon -2025-12-19T22:05:47.726Z moonset -2025-12-19T22:31:48.447Z sunset +2025-12-19T22:05:47.466Z moonset +2025-12-19T22:31:48.355Z sunset 2025-12-20T01:44:03.197Z new moon -2025-12-20T12:12:54.424Z sunrise -2025-12-20T12:53:30.717Z moonrise +2025-12-20T12:12:54.549Z sunrise +2025-12-20T12:53:30.987Z moonrise 2025-12-20T17:22:35.869Z Sun culminates 37.98 degrees above the horizon 2025-12-20T17:56:12.317Z Moon culminates 32.85 degrees above the horizon -2025-12-20T22:32:16.842Z sunset -2025-12-20T23:00:13.470Z moonset -2025-12-21T12:13:25.076Z sunrise -2025-12-21T13:41:04.862Z moonrise +2025-12-20T22:32:16.750Z sunset +2025-12-20T23:00:13.189Z moonset +2025-12-21T12:13:25.200Z sunrise +2025-12-21T13:41:05.097Z moonrise 2025-12-21T15:03:05.499Z December solstice 2025-12-21T17:23:05.773Z Sun culminates 37.98 degrees above the horizon 2025-12-21T18:48:04.656Z Moon culminates 34.67 degrees above the horizon -2025-12-21T22:32:46.527Z sunset +2025-12-21T22:32:46.435Z sunset 2025-12-21T23:38:39.186Z Venus moves from Ophiuchus to Sagittarius -2025-12-21T23:58:00.521Z moonset -2025-12-22T12:13:54.525Z sunrise -2025-12-22T14:23:31.308Z moonrise +2025-12-21T23:58:00.250Z moonset +2025-12-22T12:13:54.649Z sunrise +2025-12-22T14:23:31.491Z moonrise 2025-12-22T17:23:35.701Z Sun culminates 37.99 degrees above the horizon 2025-12-22T19:38:16.007Z Moon culminates 37.85 degrees above the horizon -2025-12-22T22:33:17.464Z sunset -2025-12-23T00:57:16.753Z moonset -2025-12-23T12:14:22.733Z sunrise -2025-12-23T15:01:10.672Z moonrise +2025-12-22T22:33:17.372Z sunset +2025-12-23T00:57:16.542Z moonset +2025-12-23T12:14:22.857Z sunrise +2025-12-23T15:01:10.791Z moonrise 2025-12-23T17:24:05.615Z Sun culminates 38.00 degrees above the horizon 2025-12-23T20:26:14.912Z Moon culminates 42.19 degrees above the horizon -2025-12-23T22:33:49.614Z sunset -2025-12-24T01:56:36.921Z moonset -2025-12-24T12:14:49.662Z sunrise -2025-12-24T15:35:00.575Z moonrise +2025-12-23T22:33:49.522Z sunset +2025-12-24T01:56:36.800Z moonset +2025-12-24T12:14:49.786Z sunrise +2025-12-24T15:35:00.635Z moonrise 2025-12-24T17:24:35.477Z Sun culminates 38.02 degrees above the horizon 2025-12-24T21:12:10.573Z Moon culminates 47.48 degrees above the horizon -2025-12-24T22:34:22.938Z sunset -2025-12-25T02:55:25.873Z moonset -2025-12-25T12:15:15.278Z sunrise -2025-12-25T16:06:16.239Z moonrise +2025-12-24T22:34:22.847Z sunset +2025-12-25T02:55:25.833Z moonset +2025-12-25T12:15:15.402Z sunrise +2025-12-25T16:06:16.264Z moonrise 2025-12-25T17:25:05.251Z Sun culminates 38.05 degrees above the horizon 2025-12-25T21:56:44.764Z Moon culminates 53.48 degrees above the horizon -2025-12-25T22:34:57.397Z sunset -2025-12-26T03:53:57.894Z moonset -2025-12-26T12:15:39.548Z sunrise -2025-12-26T16:36:19.872Z moonrise +2025-12-25T22:34:57.306Z sunset +2025-12-26T03:53:57.891Z moonset +2025-12-26T12:15:39.671Z sunrise +2025-12-26T16:36:19.884Z moonrise 2025-12-26T17:25:34.900Z Sun culminates 38.08 degrees above the horizon -2025-12-26T22:35:32.951Z sunset +2025-12-26T22:35:32.860Z sunset 2025-12-26T22:41:01.766Z Moon culminates 59.95 degrees above the horizon -2025-12-27T04:53:04.090Z moonset -2025-12-27T12:16:02.442Z sunrise -2025-12-27T17:06:39.005Z moonrise +2025-12-27T04:53:04.093Z moonset +2025-12-27T12:16:02.565Z sunrise +2025-12-27T17:06:39.012Z moonrise 2025-12-27T17:26:04.389Z Sun culminates 38.13 degrees above the horizon 2025-12-27T19:10:25.477Z first quarter -2025-12-27T22:36:09.561Z sunset +2025-12-27T22:36:09.471Z sunset 2025-12-27T23:26:21.169Z Moon culminates 66.64 degrees above the horizon -2025-12-28T05:53:57.308Z moonset -2025-12-28T12:16:23.932Z sunrise +2025-12-28T05:53:57.317Z moonset +2025-12-28T12:16:24.054Z sunrise 2025-12-28T17:26:33.686Z Sun culminates 38.18 degrees above the horizon -2025-12-28T17:38:50.599Z moonrise -2025-12-28T22:36:47.187Z sunset +2025-12-28T17:38:50.593Z moonrise +2025-12-28T22:36:47.098Z sunset 2025-12-29T00:14:12.628Z Moon culminates 73.24 degrees above the horizon -2025-12-29T06:57:54.369Z moonset -2025-12-29T12:16:43.993Z sunrise +2025-12-29T06:57:54.423Z moonset +2025-12-29T12:16:44.114Z sunrise 2025-12-29T17:27:02.758Z Sun culminates 38.24 degrees above the horizon -2025-12-29T18:14:47.101Z moonrise -2025-12-29T22:37:25.791Z sunset +2025-12-29T18:14:47.060Z moonrise +2025-12-29T22:37:25.702Z sunset 2025-12-30T01:06:07.185Z Moon culminates 79.36 degrees above the horizon -2025-12-30T08:05:47.487Z moonset -2025-12-30T12:17:02.602Z sunrise +2025-12-30T08:05:47.625Z moonset +2025-12-30T12:17:02.722Z sunrise 2025-12-30T15:53:12.033Z Mercury moves from Ophiuchus to Sagittarius 2025-12-30T17:27:31.575Z Sun culminates 38.31 degrees above the horizon -2025-12-30T18:56:37.929Z moonrise -2025-12-30T22:38:05.332Z sunset +2025-12-30T18:56:37.835Z moonrise +2025-12-30T22:38:05.244Z sunset 2025-12-31T02:03:16.020Z Moon culminates 84.51 degrees above the horizon -2025-12-31T09:17:16.196Z moonset -2025-12-31T12:17:19.740Z sunrise +2025-12-31T09:17:16.406Z moonset +2025-12-31T12:17:19.859Z sunrise 2025-12-31T17:28:00.107Z Sun culminates 38.38 degrees above the horizon -2025-12-31T19:46:32.206Z moonrise -2025-12-31T22:38:45.772Z sunset +2025-12-31T19:46:32.059Z moonrise +2025-12-31T22:38:45.685Z sunset 2026-01-01T03:05:49.066Z Moon culminates 88.11 degrees above the horizon -2026-01-01T10:29:53.998Z moonset -2026-01-01T12:17:35.389Z sunrise +2026-01-01T10:29:54.225Z moonset +2026-01-01T12:17:35.507Z sunrise 2026-01-01T17:28:28.326Z Sun culminates 38.46 degrees above the horizon -2026-01-01T20:45:42.568Z moonrise +2026-01-01T20:45:42.379Z moonrise 2026-01-01T21:44:25.083Z lunar perigee at 360336 km -2026-01-01T22:39:27.072Z sunset +2026-01-01T22:39:26.986Z sunset 2026-01-02T04:12:08.049Z Moon culminates 89.63 degrees above the horizon -2026-01-02T11:39:15.637Z moonset -2026-01-02T12:17:49.532Z sunrise +2026-01-02T11:39:15.841Z moonset +2026-01-02T12:17:49.649Z sunrise 2026-01-02T17:28:56.205Z Sun culminates 38.55 degrees above the horizon -2026-01-02T21:53:00.007Z moonrise -2026-01-02T22:40:09.191Z sunset +2026-01-02T21:52:59.787Z moonrise +2026-01-02T22:40:09.107Z sunset 2026-01-03T05:18:49.031Z Moon culminates 88.84 degrees above the horizon 2026-01-03T10:03:26.529Z full moon -2026-01-03T12:18:02.155Z sunrise -2026-01-03T12:41:00.490Z moonset +2026-01-03T12:18:02.271Z sunrise +2026-01-03T12:41:00.659Z moonset 2026-01-03T16:42:09.402Z Earth perihelion at 0.9833 AU 2026-01-03T17:29:23.717Z Sun culminates 38.65 degrees above the horizon -2026-01-03T22:40:52.093Z sunset -2026-01-03T23:04:31.104Z moonrise +2026-01-03T22:40:52.009Z sunset +2026-01-03T23:04:30.883Z moonrise 2026-01-04T06:22:11.874Z Moon culminates 85.89 degrees above the horizon -2026-01-04T12:18:13.246Z sunrise -2026-01-04T13:33:13.474Z moonset +2026-01-04T12:18:13.360Z sunrise +2026-01-04T13:33:13.599Z moonset 2026-01-04T17:29:50.836Z Sun culminates 38.76 degrees above the horizon -2026-01-04T22:41:35.738Z sunset -2026-01-05T00:15:33.332Z moonrise +2026-01-04T22:41:35.656Z sunset +2026-01-05T00:15:33.167Z moonrise 2026-01-05T07:20:05.068Z Moon culminates 81.29 degrees above the horizon -2026-01-05T12:18:22.791Z sunrise -2026-01-05T14:16:37.786Z moonset +2026-01-05T12:18:22.904Z sunrise +2026-01-05T14:16:37.860Z moonset 2026-01-05T17:30:17.537Z Sun culminates 38.87 degrees above the horizon -2026-01-05T22:42:20.088Z sunset -2026-01-06T01:22:59.823Z moonrise +2026-01-05T22:42:20.008Z sunset +2026-01-06T01:22:59.744Z moonrise 2026-01-06T08:12:11.405Z Moon culminates 75.61 degrees above the horizon 2026-01-06T11:01:21.213Z Mercury aphelion at 0.4667 AU -2026-01-06T12:18:30.781Z sunrise -2026-01-06T14:53:13.987Z moonset +2026-01-06T12:18:30.892Z sunrise +2026-01-06T14:53:14.020Z moonset 2026-01-06T15:53:36.537Z Venus superior conjunction 2026-01-06T17:30:43.797Z Sun culminates 38.99 degrees above the horizon -2026-01-06T22:43:05.107Z sunset -2026-01-07T02:25:56.914Z moonrise +2026-01-06T22:43:05.028Z sunset +2026-01-07T02:25:56.895Z moonrise 2026-01-07T08:59:27.611Z Moon culminates 69.39 degrees above the horizon -2026-01-07T12:18:37.206Z sunrise -2026-01-07T15:25:11.945Z moonset +2026-01-07T12:18:37.316Z sunrise +2026-01-07T15:25:11.960Z moonset 2026-01-07T17:31:09.592Z Sun culminates 39.12 degrees above the horizon -2026-01-07T22:43:50.754Z sunset -2026-01-08T03:24:59.213Z moonrise +2026-01-07T22:43:50.678Z sunset +2026-01-08T03:24:59.214Z moonrise 2026-01-08T09:43:18.703Z Moon culminates 63.01 degrees above the horizon -2026-01-08T12:18:42.058Z sunrise -2026-01-08T15:54:24.904Z moonset +2026-01-08T12:18:42.166Z sunrise +2026-01-08T15:54:24.915Z moonset 2026-01-08T17:31:34.899Z Sun culminates 39.25 degrees above the horizon -2026-01-08T22:44:36.993Z sunset -2026-01-09T04:21:18.266Z moonrise +2026-01-08T22:44:36.918Z sunset +2026-01-09T04:21:18.270Z moonrise 2026-01-09T10:25:12.491Z Moon culminates 56.77 degrees above the horizon 2026-01-09T12:09:54.081Z Mars conjunction -2026-01-09T12:18:45.332Z sunrise -2026-01-09T16:22:27.910Z moonset +2026-01-09T12:18:45.438Z sunrise +2026-01-09T16:22:27.918Z moonset 2026-01-09T17:31:59.695Z Sun culminates 39.39 degrees above the horizon -2026-01-09T22:45:23.783Z sunset -2026-01-10T05:16:11.832Z moonrise +2026-01-09T22:45:23.711Z sunset +2026-01-10T05:16:11.852Z moonrise 2026-01-10T08:29:31.171Z Jupiter opposition 2026-01-10T11:06:30.178Z Moon culminates 50.86 degrees above the horizon -2026-01-10T12:18:47.021Z sunrise +2026-01-10T12:18:47.125Z sunrise 2026-01-10T15:49:01.348Z third quarter -2026-01-10T16:50:44.124Z moonset +2026-01-10T16:50:44.114Z moonset 2026-01-10T17:32:23.958Z Sun culminates 39.54 degrees above the horizon -2026-01-10T22:46:11.084Z sunset -2026-01-11T06:10:48.415Z moonrise +2026-01-10T22:46:11.014Z sunset +2026-01-11T06:10:48.487Z moonrise 2026-01-11T11:48:23.792Z Moon culminates 45.47 degrees above the horizon -2026-01-11T12:18:47.120Z sunrise -2026-01-11T17:20:31.627Z moonset +2026-01-11T12:18:47.223Z sunrise +2026-01-11T17:20:31.578Z moonset 2026-01-11T17:32:47.663Z Sun culminates 39.70 degrees above the horizon -2026-01-11T22:46:58.856Z sunset -2026-01-12T07:05:57.110Z moonrise -2026-01-12T12:18:45.626Z sunrise +2026-01-11T22:46:58.787Z sunset +2026-01-12T07:05:57.267Z moonrise +2026-01-12T12:18:45.727Z sunrise 2026-01-12T12:31:54.111Z Moon culminates 40.75 degrees above the horizon 2026-01-12T17:33:10.790Z Sun culminates 39.86 degrees above the horizon -2026-01-12T17:53:07.721Z moonset -2026-01-12T22:47:47.056Z sunset -2026-01-13T08:01:56.855Z moonrise -2026-01-13T12:18:42.536Z sunrise +2026-01-12T17:53:07.615Z moonset +2026-01-12T22:47:46.990Z sunset +2026-01-13T08:01:57.095Z moonrise +2026-01-13T12:18:42.634Z sunrise 2026-01-13T13:17:45.601Z Moon culminates 36.91 degrees above the horizon 2026-01-13T17:33:33.315Z Sun culminates 40.03 degrees above the horizon -2026-01-13T18:29:48.261Z moonset +2026-01-13T18:29:48.096Z moonset 2026-01-13T20:46:55.592Z lunar apogee at 405429 km -2026-01-13T22:48:35.642Z sunset -2026-01-14T08:58:25.090Z moonrise -2026-01-14T12:18:37.846Z sunrise +2026-01-13T22:48:35.578Z sunset +2026-01-14T08:58:25.378Z moonrise +2026-01-14T12:18:37.942Z sunrise 2026-01-14T14:06:17.400Z Moon culminates 34.13 degrees above the horizon 2026-01-14T17:33:55.216Z Sun culminates 40.21 degrees above the horizon -2026-01-14T19:11:38.782Z moonset -2026-01-14T22:49:24.572Z sunset -2026-01-15T09:54:13.201Z moonrise +2026-01-14T19:11:38.568Z moonset +2026-01-14T22:49:24.511Z sunset +2026-01-15T09:54:13.498Z moonrise 2026-01-15T11:25:00.525Z Saturn moves from Aquarius to Pisces -2026-01-15T12:18:31.555Z sunrise +2026-01-15T12:18:31.648Z sunrise 2026-01-15T14:57:13.276Z Moon culminates 32.60 degrees above the horizon 2026-01-15T17:34:16.470Z Sun culminates 40.39 degrees above the horizon -2026-01-15T19:59:15.572Z moonset -2026-01-15T22:50:13.803Z sunset -2026-01-16T10:47:40.493Z moonrise -2026-01-16T12:18:23.662Z sunrise +2026-01-15T19:59:15.321Z moonset +2026-01-15T22:50:13.745Z sunset +2026-01-16T10:47:40.772Z moonrise +2026-01-16T12:18:23.753Z sunrise 2026-01-16T15:49:38.586Z Moon culminates 32.49 degrees above the horizon 2026-01-16T17:34:37.056Z Sun culminates 40.58 degrees above the horizon -2026-01-16T20:52:22.926Z moonset -2026-01-16T22:51:03.292Z sunset +2026-01-16T20:52:22.648Z moonset +2026-01-16T22:51:03.237Z sunset 2026-01-17T08:59:48.889Z Venus moves from Sagittarius to Capricornus -2026-01-17T11:37:09.270Z moonrise -2026-01-17T12:18:14.166Z sunrise +2026-01-17T11:37:09.518Z moonrise +2026-01-17T12:18:14.256Z sunrise 2026-01-17T16:42:12.954Z Moon culminates 33.86 degrees above the horizon 2026-01-17T17:34:56.953Z Sun culminates 40.78 degrees above the horizon -2026-01-17T21:49:45.054Z moonset -2026-01-17T22:51:52.997Z sunset -2026-01-18T12:18:03.071Z sunrise -2026-01-18T12:21:42.335Z moonrise +2026-01-17T21:49:44.772Z moonset +2026-01-17T22:51:52.945Z sunset +2026-01-18T12:18:03.157Z sunrise +2026-01-18T12:21:42.537Z moonrise 2026-01-18T17:33:37.319Z Moon culminates 36.65 degrees above the horizon 2026-01-18T17:35:16.140Z Sun culminates 40.98 degrees above the horizon 2026-01-18T19:52:40.199Z new moon -2026-01-18T22:49:29.105Z moonset -2026-01-18T22:52:42.876Z sunset -2026-01-19T12:17:50.376Z sunrise -2026-01-19T13:01:18.007Z moonrise +2026-01-18T22:49:28.867Z moonset +2026-01-18T22:52:42.827Z sunset +2026-01-19T12:17:50.460Z sunrise +2026-01-19T13:01:18.146Z moonrise 2026-01-19T17:35:34.598Z Sun culminates 41.20 degrees above the horizon 2026-01-19T18:23:00.620Z Moon culminates 40.72 degrees above the horizon -2026-01-19T22:53:32.888Z sunset -2026-01-19T23:49:49.320Z moonset +2026-01-19T22:53:32.842Z sunset +2026-01-19T23:49:49.169Z moonset 2026-01-20T11:02:43.857Z Mercury moves from Sagittarius to Capricornus -2026-01-20T12:17:36.086Z sunrise -2026-01-20T13:36:39.341Z moonrise +2026-01-20T12:17:36.168Z sunrise +2026-01-20T13:36:39.416Z moonrise 2026-01-20T17:35:52.310Z Sun culminates 41.41 degrees above the horizon 2026-01-20T19:10:11.757Z Moon culminates 45.83 degrees above the horizon -2026-01-20T22:54:22.994Z sunset -2026-01-21T00:49:42.208Z moonset -2026-01-21T12:17:20.206Z sunrise -2026-01-21T14:08:54.162Z moonrise +2026-01-20T22:54:22.951Z sunset +2026-01-21T00:49:42.148Z moonset +2026-01-21T12:17:20.285Z sunrise +2026-01-21T14:08:54.194Z moonrise 2026-01-21T15:32:37.889Z Mercury superior conjunction 2026-01-21T17:36:09.257Z Sun culminates 41.63 degrees above the horizon 2026-01-21T19:55:36.146Z Moon culminates 51.74 degrees above the horizon -2026-01-21T22:55:13.154Z sunset -2026-01-22T01:48:56.177Z moonset -2026-01-22T12:17:02.743Z sunrise -2026-01-22T14:39:20.468Z moonrise +2026-01-21T22:55:13.115Z sunset +2026-01-22T01:48:56.168Z moonset +2026-01-22T12:17:02.819Z sunrise +2026-01-22T14:39:20.482Z moonrise 2026-01-22T17:36:25.427Z Sun culminates 41.86 degrees above the horizon 2026-01-22T18:49:49.403Z Venus aphelion at 0.7282 AU 2026-01-22T20:40:05.669Z Moon culminates 58.15 degrees above the horizon -2026-01-22T22:56:03.334Z sunset -2026-01-23T02:48:02.318Z moonset +2026-01-22T22:56:03.298Z sunset +2026-01-23T02:48:02.320Z moonset 2026-01-23T03:31:23.335Z Mars moves from Sagittarius to Capricornus 2026-01-23T10:28:32.812Z Pluto conjunction -2026-01-23T12:16:43.705Z sunrise -2026-01-23T15:09:20.943Z moonrise +2026-01-23T12:16:43.778Z sunrise +2026-01-23T15:09:20.952Z moonrise 2026-01-23T17:36:40.804Z Sun culminates 42.10 degrees above the horizon 2026-01-23T21:24:49.478Z Moon culminates 64.81 degrees above the horizon -2026-01-23T22:56:53.498Z sunset -2026-01-24T03:47:58.911Z moonset -2026-01-24T12:16:23.102Z sunrise +2026-01-23T22:56:53.465Z sunset +2026-01-24T03:47:58.917Z moonset +2026-01-24T12:16:23.173Z sunrise 2026-01-24T15:40:24.329Z moonrise 2026-01-24T17:36:55.380Z Sun culminates 42.34 degrees above the horizon 2026-01-24T22:11:07.476Z Moon culminates 71.40 degrees above the horizon -2026-01-24T22:57:43.613Z sunset -2026-01-25T04:49:54.591Z moonset -2026-01-25T12:16:00.948Z sunrise -2026-01-25T16:14:10.188Z moonrise +2026-01-24T22:57:43.584Z sunset +2026-01-25T04:49:54.628Z moonset +2026-01-25T12:16:01.016Z sunrise +2026-01-25T16:14:10.160Z moonrise 2026-01-25T17:37:09.144Z Sun culminates 42.59 degrees above the horizon -2026-01-25T22:58:33.649Z sunset +2026-01-25T22:58:33.624Z sunset 2026-01-25T23:00:23.577Z Moon culminates 77.59 degrees above the horizon 2026-01-26T04:47:54.948Z first quarter -2026-01-26T05:54:46.640Z moonset -2026-01-26T12:15:37.256Z sunrise -2026-01-26T16:52:32.555Z moonrise +2026-01-26T05:54:46.750Z moonset +2026-01-26T12:15:37.322Z sunrise +2026-01-26T16:52:32.478Z moonrise 2026-01-26T17:37:22.089Z Sun culminates 42.84 degrees above the horizon -2026-01-26T22:59:23.578Z sunset +2026-01-26T22:59:23.557Z sunset 2026-01-26T23:53:52.621Z Moon culminates 82.96 degrees above the horizon -2026-01-27T07:02:47.346Z moonset -2026-01-27T12:15:12.044Z sunrise -2026-01-27T17:37:33.864Z moonrise +2026-01-27T07:02:47.538Z moonset +2026-01-27T12:15:12.107Z sunrise +2026-01-27T17:37:33.734Z moonrise 2026-01-27T17:37:34.212Z Sun culminates 43.10 degrees above the horizon -2026-01-27T23:00:13.374Z sunset +2026-01-27T23:00:13.356Z sunset 2026-01-28T00:52:13.779Z Moon culminates 87.05 degrees above the horizon -2026-01-28T08:12:40.202Z moonset -2026-01-28T12:14:45.330Z sunrise +2026-01-28T08:12:40.430Z moonset +2026-01-28T12:14:45.390Z sunrise 2026-01-28T17:37:45.508Z Sun culminates 43.36 degrees above the horizon -2026-01-28T18:30:54.048Z moonrise -2026-01-28T23:01:03.010Z sunset +2026-01-28T18:30:53.874Z moonrise +2026-01-28T23:01:02.996Z sunset 2026-01-29T01:54:52.072Z Moon culminates 89.37 degrees above the horizon -2026-01-29T09:21:18.917Z moonset -2026-01-29T12:14:17.133Z sunrise +2026-01-29T09:21:19.134Z moonset +2026-01-29T12:14:17.191Z sunrise 2026-01-29T17:37:55.976Z Sun culminates 43.63 degrees above the horizon -2026-01-29T19:32:46.411Z moonrise +2026-01-29T19:32:46.202Z moonrise 2026-01-29T21:47:50.087Z lunar perigee at 365860 km -2026-01-29T23:01:52.466Z sunset +2026-01-29T23:01:52.456Z sunset 2026-01-30T02:59:35.819Z Moon culminates 89.58 degrees above the horizon -2026-01-30T10:24:45.054Z moonset -2026-01-30T12:13:47.476Z sunrise +2026-01-30T10:24:45.242Z moonset +2026-01-30T12:13:47.531Z sunrise 2026-01-30T17:38:05.617Z Sun culminates 43.90 degrees above the horizon -2026-01-30T20:41:00.066Z moonrise -2026-01-30T23:02:41.720Z sunset +2026-01-30T20:40:59.838Z moonrise +2026-01-30T23:02:41.714Z sunset 2026-01-31T04:03:13.556Z Moon culminates 87.63 degrees above the horizon -2026-01-31T11:20:09.732Z moonset -2026-01-31T12:13:16.380Z sunrise +2026-01-31T11:20:09.883Z moonset +2026-01-31T12:13:16.432Z sunrise 2026-01-31T17:38:14.432Z Sun culminates 44.18 degrees above the horizon -2026-01-31T21:51:33.968Z moonrise -2026-01-31T23:03:30.754Z sunset +2026-01-31T21:51:33.767Z moonrise +2026-01-31T23:03:30.752Z sunset 2026-02-01T05:03:01.784Z Moon culminates 83.80 degrees above the horizon -2026-02-01T12:07:03.354Z moonset -2026-02-01T12:12:43.868Z sunrise +2026-02-01T12:07:03.454Z moonset +2026-02-01T12:12:43.918Z sunrise 2026-02-01T17:38:22.425Z Sun culminates 44.47 degrees above the horizon 2026-02-01T22:09:50.324Z full moon -2026-02-01T23:00:40.640Z moonrise -2026-02-01T23:04:19.552Z sunset +2026-02-01T23:00:40.517Z moonrise +2026-02-01T23:04:19.553Z sunset 2026-02-02T05:57:47.174Z Moon culminates 78.58 degrees above the horizon -2026-02-02T12:12:09.964Z sunrise -2026-02-02T12:46:42.101Z moonset +2026-02-02T12:12:10.011Z sunrise +2026-02-02T12:46:42.152Z moonset 2026-02-02T17:38:29.600Z Sun culminates 44.76 degrees above the horizon -2026-02-02T23:05:08.100Z sunset -2026-02-03T00:06:17.491Z moonrise +2026-02-02T23:05:08.104Z sunset +2026-02-03T00:06:17.448Z moonrise 2026-02-03T06:47:42.523Z Moon culminates 72.50 degrees above the horizon -2026-02-03T12:11:34.692Z sunrise -2026-02-03T13:21:00.988Z moonset +2026-02-03T12:11:34.737Z sunrise +2026-02-03T13:21:01.008Z moonset 2026-02-03T17:38:35.962Z Sun culminates 45.05 degrees above the horizon -2026-02-03T23:05:56.383Z sunset -2026-02-04T01:08:06.569Z moonrise +2026-02-03T23:05:56.392Z sunset +2026-02-04T01:08:06.564Z moonrise 2026-02-04T07:33:49.388Z Moon culminates 66.02 degrees above the horizon -2026-02-04T12:10:58.077Z sunrise -2026-02-04T13:51:52.816Z moonset +2026-02-04T12:10:58.119Z sunrise +2026-02-04T13:51:52.827Z moonset 2026-02-04T17:38:41.519Z Sun culminates 45.35 degrees above the horizon -2026-02-04T23:06:44.391Z sunset -2026-02-05T02:06:51.036Z moonrise +2026-02-04T23:06:44.403Z sunset +2026-02-05T02:06:51.038Z moonrise 2026-02-05T08:17:26.062Z Moon culminates 59.53 degrees above the horizon 2026-02-05T10:08:03.759Z Mercury moves from Capricornus to Aquarius -2026-02-05T12:10:20.145Z sunrise -2026-02-05T14:20:55.923Z moonset +2026-02-05T12:10:20.184Z sunrise +2026-02-05T14:20:55.932Z moonset 2026-02-05T17:38:46.276Z Sun culminates 45.65 degrees above the horizon -2026-02-05T23:07:32.112Z sunset -2026-02-06T03:03:36.740Z moonrise +2026-02-05T23:07:32.128Z sunset +2026-02-06T03:03:36.749Z moonrise 2026-02-06T08:59:50.903Z Moon culminates 53.29 degrees above the horizon -2026-02-06T12:09:40.921Z sunrise +2026-02-06T12:09:40.958Z sunrise 2026-02-06T14:49:35.890Z moonset 2026-02-06T17:38:50.243Z Sun culminates 45.96 degrees above the horizon -2026-02-06T23:08:19.536Z sunset -2026-02-07T03:59:29.451Z moonrise +2026-02-06T23:08:19.556Z sunset +2026-02-07T03:59:29.497Z moonrise 2026-02-07T09:42:15.827Z Moon culminates 47.54 degrees above the horizon -2026-02-07T12:09:00.431Z sunrise -2026-02-07T15:19:11.121Z moonset +2026-02-07T12:09:00.466Z sunrise +2026-02-07T15:19:11.090Z moonset 2026-02-07T17:38:53.427Z Sun culminates 46.27 degrees above the horizon -2026-02-07T23:09:06.653Z sunset -2026-02-08T04:55:21.555Z moonrise +2026-02-07T23:09:06.677Z sunset +2026-02-08T04:55:21.677Z moonrise 2026-02-08T07:13:41.785Z Venus moves from Capricornus to Aquarius 2026-02-08T10:25:43.325Z Moon culminates 42.44 degrees above the horizon -2026-02-08T12:08:18.702Z sunrise -2026-02-08T15:50:57.681Z moonset +2026-02-08T12:08:18.734Z sunrise +2026-02-08T15:50:57.597Z moonset 2026-02-08T17:38:55.836Z Sun culminates 46.59 degrees above the horizon -2026-02-08T23:09:53.453Z sunset -2026-02-09T05:51:41.335Z moonrise +2026-02-08T23:09:53.480Z sunset +2026-02-09T05:51:41.548Z moonrise 2026-02-09T11:11:02.599Z Moon culminates 38.19 degrees above the horizon -2026-02-09T12:07:35.758Z sunrise +2026-02-09T12:07:35.788Z sunrise 2026-02-09T12:43:44.662Z third quarter -2026-02-09T16:26:10.762Z moonset +2026-02-09T16:26:10.618Z moonset 2026-02-09T17:38:57.478Z Sun culminates 46.91 degrees above the horizon -2026-02-09T23:10:39.927Z sunset -2026-02-10T06:48:22.343Z moonrise +2026-02-09T23:10:39.957Z sunset +2026-02-10T06:48:22.620Z moonrise 2026-02-10T11:58:42.766Z Moon culminates 34.96 degrees above the horizon -2026-02-10T12:06:51.626Z sunrise +2026-02-10T12:06:51.654Z sunrise 2026-02-10T16:52:59.411Z lunar apogee at 404567 km -2026-02-10T17:05:59.949Z moonset +2026-02-10T17:05:59.751Z moonset 2026-02-10T17:38:58.361Z Sun culminates 47.24 degrees above the horizon -2026-02-10T23:11:26.064Z sunset -2026-02-11T07:44:36.598Z moonrise -2026-02-11T12:06:06.332Z sunrise +2026-02-10T23:11:26.098Z sunset +2026-02-11T07:44:36.897Z moonrise +2026-02-11T12:06:06.357Z sunrise 2026-02-11T12:48:44.064Z Moon culminates 32.93 degrees above the horizon 2026-02-11T17:38:58.493Z Sun culminates 47.56 degrees above the horizon -2026-02-11T17:51:15.677Z moonset -2026-02-11T23:12:11.854Z sunset -2026-02-12T08:39:00.788Z moonrise -2026-02-12T12:05:19.899Z sunrise +2026-02-11T17:51:15.438Z moonset +2026-02-11T23:12:11.892Z sunset +2026-02-12T08:39:01.078Z moonrise +2026-02-12T12:05:19.922Z sunrise 2026-02-12T13:40:32.170Z Moon culminates 32.25 degrees above the horizon 2026-02-12T17:38:57.881Z Sun culminates 47.90 degrees above the horizon -2026-02-12T18:42:08.729Z moonset -2026-02-12T23:12:57.290Z sunset -2026-02-13T09:30:01.658Z moonrise -2026-02-13T12:04:32.352Z sunrise +2026-02-12T18:42:08.459Z moonset +2026-02-12T23:12:57.330Z sunset +2026-02-13T09:30:01.922Z moonrise +2026-02-13T12:04:32.374Z sunrise 2026-02-13T14:33:03.351Z Moon culminates 33.04 degrees above the horizon 2026-02-13T17:38:56.533Z Sun culminates 48.23 degrees above the horizon -2026-02-13T19:37:54.802Z moonset -2026-02-13T23:13:42.360Z sunset -2026-02-14T10:16:31.171Z moonrise -2026-02-14T12:03:43.717Z sunrise +2026-02-13T19:37:54.515Z moonset +2026-02-13T23:13:42.404Z sunset +2026-02-14T10:16:31.394Z moonrise +2026-02-14T12:03:43.737Z sunrise 2026-02-14T15:25:03.683Z Moon culminates 35.29 degrees above the horizon 2026-02-14T17:38:54.457Z Sun culminates 48.57 degrees above the horizon -2026-02-14T20:37:01.972Z moonset -2026-02-14T23:14:27.056Z sunset -2026-02-15T10:58:09.388Z moonrise -2026-02-15T12:02:54.017Z sunrise +2026-02-14T20:37:01.708Z moonset +2026-02-14T23:14:27.103Z sunset +2026-02-15T10:58:09.554Z moonrise +2026-02-15T12:02:54.035Z sunrise 2026-02-15T16:15:34.336Z Moon culminates 38.90 degrees above the horizon 2026-02-15T17:38:51.661Z Sun culminates 48.92 degrees above the horizon -2026-02-15T21:37:44.411Z moonset -2026-02-15T23:15:11.369Z sunset -2026-02-16T11:35:23.356Z moonrise -2026-02-16T12:02:03.276Z sunrise +2026-02-15T21:37:44.220Z moonset +2026-02-15T23:15:11.420Z sunset +2026-02-16T11:35:23.455Z moonrise +2026-02-16T12:02:03.293Z sunrise 2026-02-16T17:04:09.093Z Moon culminates 43.71 degrees above the horizon 2026-02-16T17:38:48.152Z Sun culminates 49.26 degrees above the horizon -2026-02-16T22:38:41.309Z moonset -2026-02-16T23:15:55.293Z sunset -2026-02-17T12:01:11.519Z sunrise +2026-02-16T22:38:41.216Z moonset +2026-02-16T23:15:55.346Z sunset +2026-02-17T12:01:11.534Z sunrise 2026-02-17T12:01:47.679Z new moon -2026-02-17T12:09:11.030Z moonrise +2026-02-17T12:09:11.074Z moonrise 2026-02-17T17:38:43.939Z Sun culminates 49.61 degrees above the horizon 2026-02-17T17:50:57.621Z Moon culminates 49.45 degrees above the horizon -2026-02-17T23:16:38.819Z sunset -2026-02-17T23:39:17.668Z moonset -2026-02-18T12:00:18.770Z sunrise -2026-02-18T12:40:45.341Z moonrise +2026-02-17T23:16:38.874Z sunset +2026-02-17T23:39:17.645Z moonset +2026-02-18T12:00:18.783Z sunrise +2026-02-18T12:40:45.358Z moonrise 2026-02-18T17:38:39.032Z Sun culminates 49.97 degrees above the horizon 2026-02-18T18:36:38.783Z Moon culminates 55.87 degrees above the horizon -2026-02-18T23:17:21.941Z sunset +2026-02-18T23:17:22.000Z sunset 2026-02-19T00:39:43.244Z moonset 2026-02-19T10:39:43.550Z Mercury perihelion at 0.3075 AU -2026-02-19T11:59:25.052Z sunrise -2026-02-19T13:11:25.692Z moonrise +2026-02-19T11:59:25.064Z sunrise +2026-02-19T13:11:25.702Z moonrise 2026-02-19T17:38:33.440Z Sun culminates 50.32 degrees above the horizon 2026-02-19T17:41:36.578Z Mercury max evening elongation: 18.12 degrees from Sun 2026-02-19T18:34:57.135Z Mercury moves from Aquarius to Pisces 2026-02-19T19:22:11.450Z Moon culminates 62.63 degrees above the horizon -2026-02-19T23:18:04.657Z sunset -2026-02-20T01:40:39.584Z moonset -2026-02-20T11:58:30.391Z sunrise -2026-02-20T13:42:36.621Z moonrise +2026-02-19T23:18:04.718Z sunset +2026-02-20T01:40:39.587Z moonset +2026-02-20T11:58:30.401Z sunrise +2026-02-20T13:42:36.625Z moonrise 2026-02-20T17:38:27.174Z Sun culminates 50.68 degrees above the horizon 2026-02-20T20:08:46.639Z Moon culminates 69.42 degrees above the horizon -2026-02-20T23:18:46.962Z sunset -2026-02-21T02:43:03.100Z moonset -2026-02-21T11:57:34.812Z sunrise -2026-02-21T14:15:50.644Z moonrise +2026-02-20T23:18:47.026Z sunset +2026-02-21T02:43:03.122Z moonset +2026-02-21T11:57:34.822Z sunrise +2026-02-21T14:15:50.627Z moonrise 2026-02-21T17:38:20.245Z Sun culminates 51.04 degrees above the horizon 2026-02-21T20:57:40.056Z Moon culminates 75.87 degrees above the horizon -2026-02-21T23:19:28.854Z sunset -2026-02-22T03:47:44.364Z moonset -2026-02-22T11:56:38.343Z sunrise -2026-02-22T14:52:51.246Z moonrise +2026-02-21T23:19:28.921Z sunset +2026-02-22T03:47:44.450Z moonset +2026-02-22T11:56:38.351Z sunrise +2026-02-22T14:52:51.185Z moonrise 2026-02-22T17:38:12.668Z Sun culminates 51.41 degrees above the horizon 2026-02-22T21:50:00.720Z Moon culminates 81.56 degrees above the horizon -2026-02-22T23:20:10.335Z sunset -2026-02-23T04:54:59.262Z moonset -2026-02-23T11:55:41.009Z sunrise -2026-02-23T15:35:29.476Z moonrise +2026-02-22T23:20:10.403Z sunset +2026-02-23T04:54:59.433Z moonset +2026-02-23T11:55:41.016Z sunrise +2026-02-23T15:35:29.360Z moonrise 2026-02-23T17:38:04.455Z Sun culminates 51.78 degrees above the horizon 2026-02-23T22:46:30.237Z Moon culminates 86.05 degrees above the horizon -2026-02-23T23:20:51.404Z sunset -2026-02-24T06:03:52.548Z moonset -2026-02-24T11:54:42.838Z sunrise +2026-02-23T23:20:51.475Z sunset +2026-02-24T06:03:52.772Z moonset +2026-02-24T11:54:42.844Z sunrise 2026-02-24T12:28:08.097Z first quarter -2026-02-24T16:25:23.144Z moonrise +2026-02-24T16:25:22.982Z moonrise 2026-02-24T17:37:55.624Z Sun culminates 52.15 degrees above the horizon 2026-02-24T23:11:56.049Z lunar perigee at 370125 km -2026-02-24T23:21:32.066Z sunset +2026-02-24T23:21:32.139Z sunset 2026-02-24T23:46:52.828Z Moon culminates 88.92 degrees above the horizon -2026-02-25T07:11:55.699Z moonset -2026-02-25T11:53:43.861Z sunrise -2026-02-25T17:23:09.994Z moonrise +2026-02-25T07:11:55.925Z moonset +2026-02-25T11:53:43.866Z sunrise +2026-02-25T17:23:09.795Z moonrise 2026-02-25T17:37:46.189Z Sun culminates 52.52 degrees above the horizon -2026-02-25T23:22:12.324Z sunset +2026-02-25T23:22:12.398Z sunset 2026-02-26T00:49:33.542Z Moon culminates 89.82 degrees above the horizon -2026-02-26T08:15:41.723Z moonset -2026-02-26T11:52:44.106Z sunrise +2026-02-26T08:15:41.924Z moonset +2026-02-26T11:52:44.110Z sunrise 2026-02-26T17:37:36.169Z Sun culminates 52.89 degrees above the horizon -2026-02-26T18:27:35.068Z moonrise -2026-02-26T23:22:52.183Z sunset +2026-02-26T18:27:34.843Z moonrise +2026-02-26T23:22:52.260Z sunset 2026-02-27T01:51:56.916Z Moon culminates 88.66 degrees above the horizon 2026-02-27T08:51:58.518Z Mars moves from Capricornus to Aquarius -2026-02-27T09:12:20.607Z moonset -2026-02-27T11:51:43.603Z sunrise +2026-02-27T09:12:20.776Z moonset +2026-02-27T11:51:43.606Z sunrise 2026-02-27T17:37:25.582Z Sun culminates 53.27 degrees above the horizon -2026-02-27T19:35:33.653Z moonrise -2026-02-27T23:23:31.653Z sunset +2026-02-27T19:35:33.434Z moonrise +2026-02-27T23:23:31.732Z sunset 2026-02-28T02:51:31.137Z Moon culminates 85.60 degrees above the horizon -2026-02-28T10:00:55.138Z moonset -2026-02-28T11:50:42.383Z sunrise +2026-02-28T10:00:55.263Z moonset +2026-02-28T11:50:42.386Z sunrise 2026-02-28T17:37:14.449Z Sun culminates 53.64 degrees above the horizon -2026-02-28T20:43:36.030Z moonrise -2026-02-28T23:24:10.742Z sunset +2026-02-28T20:43:35.869Z moonrise +2026-02-28T23:24:10.823Z sunset 2026-03-01T03:46:48.704Z Moon culminates 81.00 degrees above the horizon -2026-03-01T10:42:13.474Z moonset -2026-03-01T11:49:40.476Z sunrise +2026-03-01T10:42:13.547Z moonset +2026-03-01T11:49:40.479Z sunrise 2026-03-01T17:37:02.789Z Sun culminates 54.02 degrees above the horizon -2026-03-01T21:49:19.532Z moonrise -2026-03-01T23:24:49.461Z sunset +2026-03-01T21:49:19.456Z moonrise +2026-03-01T23:24:49.543Z sunset 2026-03-02T04:37:39.253Z Moon culminates 75.34 degrees above the horizon -2026-03-02T11:17:54.951Z moonset -2026-03-02T11:48:37.914Z sunrise +2026-03-02T11:17:54.983Z moonset +2026-03-02T11:48:37.916Z sunrise 2026-03-02T12:45:59.561Z Venus moves from Aquarius to Pisces 2026-03-02T17:36:50.625Z Sun culminates 54.41 degrees above the horizon -2026-03-02T22:51:54.838Z moonrise -2026-03-02T23:25:27.822Z sunset +2026-03-02T22:51:54.821Z moonrise +2026-03-02T23:25:27.905Z sunset 2026-03-03T05:24:45.422Z Moon culminates 69.06 degrees above the horizon 2026-03-03T11:33:40.288Z total lunar eclipse 2026-03-03T11:38:31.874Z full moon -2026-03-03T11:47:34.728Z sunrise -2026-03-03T11:49:46.727Z moonset +2026-03-03T11:47:34.729Z sunrise +2026-03-03T11:49:46.740Z moonset 2026-03-03T17:36:37.978Z Sun culminates 54.79 degrees above the horizon -2026-03-03T23:26:05.838Z sunset -2026-03-03T23:51:40.122Z moonrise +2026-03-03T23:26:05.923Z sunset +2026-03-03T23:51:40.123Z moonrise 2026-03-04T06:09:13.841Z Moon culminates 62.54 degrees above the horizon -2026-03-04T11:46:30.949Z sunrise -2026-03-04T12:19:25.987Z moonset +2026-03-04T11:46:30.950Z sunrise +2026-03-04T12:19:25.997Z moonset 2026-03-04T17:36:24.870Z Sun culminates 55.17 degrees above the horizon -2026-03-04T23:26:43.523Z sunset -2026-03-05T00:49:26.025Z moonrise +2026-03-04T23:26:43.609Z sunset +2026-03-05T00:49:26.028Z moonrise 2026-03-05T06:52:16.494Z Moon culminates 56.11 degrees above the horizon 2026-03-05T11:45:26.608Z sunrise -2026-03-05T12:48:17.967Z moonset +2026-03-05T12:48:17.973Z moonset 2026-03-05T17:36:11.326Z Sun culminates 55.56 degrees above the horizon -2026-03-05T23:27:20.891Z sunset -2026-03-06T01:46:10.573Z moonrise +2026-03-05T23:27:20.979Z sunset +2026-03-06T01:46:10.598Z moonrise 2026-03-06T07:35:01.796Z Moon culminates 50.05 degrees above the horizon 2026-03-06T11:44:21.736Z sunrise -2026-03-06T13:17:39.827Z moonset +2026-03-06T13:17:39.812Z moonset 2026-03-06T17:35:57.367Z Sun culminates 55.95 degrees above the horizon -2026-03-06T23:27:57.958Z sunset -2026-03-07T02:42:43.510Z moonrise +2026-03-06T23:27:58.046Z sunset +2026-03-07T02:42:43.595Z moonrise 2026-03-07T08:18:30.294Z Moon culminates 44.56 degrees above the horizon 2026-03-07T10:55:52.126Z Mercury inferior conjunction -2026-03-07T11:43:16.364Z sunrise -2026-03-07T13:48:45.072Z moonset +2026-03-07T11:43:16.464Z sunrise +2026-03-07T13:48:45.013Z moonset 2026-03-07T17:35:43.016Z Sun culminates 56.34 degrees above the horizon -2026-03-07T23:28:34.736Z sunset -2026-03-08T03:39:34.724Z moonrise +2026-03-07T23:28:34.826Z sunset +2026-03-08T03:39:34.900Z moonrise 2026-03-08T09:03:30.849Z Moon culminates 39.87 degrees above the horizon -2026-03-08T11:42:10.524Z sunrise -2026-03-08T14:22:45.724Z moonset +2026-03-08T11:42:10.623Z sunrise +2026-03-08T14:22:45.605Z moonset 2026-03-08T17:35:28.295Z Sun culminates 56.73 degrees above the horizon -2026-03-08T23:29:11.240Z sunset -2026-03-09T04:36:43.795Z moonrise +2026-03-08T23:29:11.332Z sunset +2026-03-09T04:36:44.050Z moonrise 2026-03-09T09:50:34.954Z Moon culminates 36.16 degrees above the horizon -2026-03-09T11:41:04.245Z sunrise -2026-03-09T15:00:49.771Z moonset +2026-03-09T11:41:04.343Z sunrise +2026-03-09T15:00:49.594Z moonset 2026-03-09T17:35:13.227Z Sun culminates 57.12 degrees above the horizon -2026-03-09T23:29:47.484Z sunset -2026-03-10T05:33:32.575Z moonrise +2026-03-09T23:29:47.576Z sunset +2026-03-10T05:33:32.871Z moonrise 2026-03-10T07:05:40.851Z Mercury moves from Pisces to Aquarius 2026-03-10T10:39:49.371Z Moon culminates 33.60 degrees above the horizon -2026-03-10T11:39:57.558Z sunrise +2026-03-10T11:39:57.655Z sunrise 2026-03-10T13:43:50.147Z lunar apogee at 404374 km -2026-03-10T15:43:51.483Z moonset +2026-03-10T15:43:51.260Z moonset 2026-03-10T17:34:57.833Z Sun culminates 57.51 degrees above the horizon -2026-03-10T23:30:23.480Z sunset -2026-03-11T06:28:47.994Z moonrise +2026-03-10T23:30:23.573Z sunset +2026-03-11T06:28:48.291Z moonrise 2026-03-11T09:39:07.803Z third quarter 2026-03-11T11:30:50.619Z Moon culminates 32.35 degrees above the horizon -2026-03-11T11:38:50.491Z sunrise -2026-03-11T16:32:14.887Z moonset +2026-03-11T11:38:50.587Z sunrise +2026-03-11T16:32:14.629Z moonset 2026-03-11T17:34:42.132Z Sun culminates 57.90 degrees above the horizon -2026-03-11T23:30:59.240Z sunset +2026-03-11T23:30:59.334Z sunset 2026-03-12T03:14:06.189Z Venus moves from Pisces to Cetus -2026-03-12T07:21:01.690Z moonrise -2026-03-12T11:37:43.073Z sunrise +2026-03-12T07:21:01.967Z moonrise +2026-03-12T11:37:43.168Z sunrise 2026-03-12T12:22:47.464Z Moon culminates 32.52 degrees above the horizon -2026-03-12T17:25:38.061Z moonset +2026-03-12T17:25:37.779Z moonset 2026-03-12T17:34:26.146Z Sun culminates 58.29 degrees above the horizon -2026-03-12T23:31:34.775Z sunset -2026-03-13T08:09:01.547Z moonrise -2026-03-13T11:36:35.332Z sunrise +2026-03-12T23:31:34.871Z sunset +2026-03-13T08:09:01.791Z moonrise +2026-03-13T11:36:35.426Z sunrise 2026-03-13T13:14:35.198Z Moon culminates 34.13 degrees above the horizon 2026-03-13T17:34:09.894Z Sun culminates 58.69 degrees above the horizon -2026-03-13T18:22:52.773Z moonset -2026-03-13T23:32:10.097Z sunset +2026-03-13T18:22:52.494Z moonset +2026-03-13T23:32:10.193Z sunset 2026-03-14T04:47:18.793Z Venus moves from Cetus to Pisces -2026-03-14T08:52:16.948Z moonrise -2026-03-14T11:35:27.295Z sunrise +2026-03-14T08:52:17.143Z moonrise +2026-03-14T11:35:27.389Z sunrise 2026-03-14T14:05:17.114Z Moon culminates 37.13 degrees above the horizon 2026-03-14T17:33:53.393Z Sun culminates 59.08 degrees above the horizon -2026-03-14T19:22:27.333Z moonset -2026-03-14T23:32:45.213Z sunset -2026-03-15T09:31:03.491Z moonrise -2026-03-15T11:34:18.990Z sunrise +2026-03-14T19:22:27.103Z moonset +2026-03-14T23:32:45.310Z sunset +2026-03-15T09:31:03.621Z moonrise +2026-03-15T11:34:19.083Z sunrise 2026-03-15T14:54:22.300Z Moon culminates 41.39 degrees above the horizon 2026-03-15T17:33:36.663Z Sun culminates 59.48 degrees above the horizon -2026-03-15T20:23:00.990Z moonset -2026-03-15T23:33:20.135Z sunset -2026-03-16T10:06:10.903Z moonrise -2026-03-16T11:33:10.441Z sunrise +2026-03-15T20:23:00.852Z moonset +2026-03-15T23:33:20.233Z sunset +2026-03-16T10:06:10.968Z moonrise +2026-03-16T11:33:10.534Z sunrise 2026-03-16T15:41:52.279Z Moon culminates 46.73 degrees above the horizon 2026-03-16T17:33:19.719Z Sun culminates 59.87 degrees above the horizon -2026-03-16T21:23:48.954Z moonset -2026-03-16T23:33:54.869Z sunset -2026-03-17T10:38:47.589Z moonrise -2026-03-17T11:32:01.676Z sunrise +2026-03-16T21:23:48.905Z moonset +2026-03-16T23:33:54.969Z sunset +2026-03-17T10:38:47.615Z moonrise +2026-03-17T11:32:01.767Z sunrise 2026-03-17T16:28:17.794Z Moon culminates 52.92 degrees above the horizon 2026-03-17T17:33:02.581Z Sun culminates 60.27 degrees above the horizon -2026-03-17T22:24:48.548Z moonset -2026-03-17T23:34:29.426Z sunset -2026-03-18T11:10:10.740Z moonrise -2026-03-18T11:30:52.718Z sunrise +2026-03-17T22:24:48.543Z moonset +2026-03-17T23:34:29.526Z sunset +2026-03-18T11:10:10.751Z moonrise +2026-03-18T11:30:52.809Z sunrise 2026-03-18T17:14:31.424Z Moon culminates 59.66 degrees above the horizon 2026-03-18T17:32:45.263Z Sun culminates 60.66 degrees above the horizon -2026-03-18T23:26:31.221Z moonset +2026-03-18T23:26:31.223Z moonset 2026-03-18T23:35:03.814Z sunset 2026-03-19T01:24:05.234Z new moon -2026-03-19T11:29:43.594Z sunrise -2026-03-19T11:41:43.386Z moonrise +2026-03-19T11:29:43.684Z sunrise +2026-03-19T11:41:43.393Z moonrise 2026-03-19T17:32:27.784Z Sun culminates 61.06 degrees above the horizon 2026-03-19T18:01:40.068Z Moon culminates 66.63 degrees above the horizon 2026-03-19T23:35:38.040Z sunset -2026-03-20T00:29:47.663Z moonset -2026-03-20T11:28:34.327Z sunrise -2026-03-20T12:14:56.110Z moonrise +2026-03-20T00:29:47.673Z moonset +2026-03-20T11:28:34.417Z sunrise +2026-03-20T12:14:56.104Z moonrise 2026-03-20T14:45:39.417Z March equinox 2026-03-20T17:32:10.160Z Sun culminates 61.45 degrees above the horizon 2026-03-20T18:50:57.299Z Moon culminates 73.43 degrees above the horizon 2026-03-20T23:36:12.114Z sunset -2026-03-21T01:35:27.631Z moonset -2026-03-21T11:27:24.943Z sunrise -2026-03-21T12:51:29.736Z moonrise +2026-03-21T01:35:27.688Z moonset +2026-03-21T11:27:25.032Z sunrise +2026-03-21T12:51:29.694Z moonrise 2026-03-21T17:31:52.407Z Sun culminates 61.85 degrees above the horizon 2026-03-21T19:43:32.039Z Moon culminates 79.62 degrees above the horizon -2026-03-21T23:36:46.044Z sunset -2026-03-22T02:43:51.026Z moonset +2026-03-21T23:36:46.045Z sunset +2026-03-22T02:43:51.169Z moonset 2026-03-22T11:24:34.944Z Neptune conjunction -2026-03-22T11:26:15.466Z sunrise +2026-03-22T11:26:15.555Z sunrise 2026-03-22T11:38:38.054Z lunar perigee at 366846 km -2026-03-22T13:33:12.961Z moonrise +2026-03-22T13:33:12.864Z moonrise 2026-03-22T17:31:34.543Z Sun culminates 62.24 degrees above the horizon 2026-03-22T20:40:08.339Z Moon culminates 84.69 degrees above the horizon 2026-03-22T23:37:19.841Z sunset -2026-03-23T03:54:09.843Z moonset -2026-03-23T11:25:05.924Z sunrise -2026-03-23T14:21:44.781Z moonrise +2026-03-23T03:54:10.056Z moonset +2026-03-23T11:25:06.011Z sunrise +2026-03-23T14:21:44.633Z moonrise 2026-03-23T17:31:16.586Z Sun culminates 62.64 degrees above the horizon 2026-03-23T21:40:35.603Z Moon culminates 88.18 degrees above the horizon -2026-03-23T23:37:53.513Z sunset -2026-03-24T05:04:00.434Z moonset -2026-03-24T11:23:56.340Z sunrise -2026-03-24T15:17:52.324Z moonrise +2026-03-23T23:37:53.514Z sunset +2026-03-24T05:04:00.664Z moonset +2026-03-24T11:23:56.427Z sunrise +2026-03-24T15:17:52.136Z moonrise 2026-03-24T17:30:58.553Z Sun culminates 63.03 degrees above the horizon 2026-03-24T22:43:25.021Z Moon culminates 89.71 degrees above the horizon -2026-03-24T23:38:27.071Z sunset -2026-03-25T06:09:50.205Z moonset +2026-03-24T23:38:27.072Z sunset +2026-03-25T06:09:50.415Z moonset 2026-03-25T08:54:18.243Z Saturn conjunction -2026-03-25T11:22:46.744Z sunrise -2026-03-25T16:20:38.736Z moonrise +2026-03-25T11:22:46.830Z sunrise +2026-03-25T16:20:38.518Z moonrise 2026-03-25T17:30:40.465Z Sun culminates 63.42 degrees above the horizon 2026-03-25T19:18:16.487Z first quarter -2026-03-25T23:39:00.525Z sunset +2026-03-25T23:39:00.526Z sunset 2026-03-25T23:46:04.245Z Moon culminates 89.17 degrees above the horizon 2026-03-26T07:06:54.274Z Mars perihelion at 1.3813 AU -2026-03-26T07:08:32.312Z moonset -2026-03-26T11:21:37.162Z sunrise -2026-03-26T17:27:16.888Z moonrise +2026-03-26T07:08:32.492Z moonset +2026-03-26T11:21:37.247Z sunrise +2026-03-26T17:27:16.664Z moonrise 2026-03-26T17:30:22.339Z Sun culminates 63.82 degrees above the horizon -2026-03-26T23:39:33.887Z sunset +2026-03-26T23:39:33.889Z sunset 2026-03-27T00:45:59.160Z Moon culminates 86.68 degrees above the horizon -2026-03-27T07:58:52.198Z moonset -2026-03-27T11:20:27.621Z sunrise +2026-03-27T07:58:52.340Z moonset +2026-03-27T11:20:27.705Z sunrise 2026-03-27T17:30:04.197Z Sun culminates 64.21 degrees above the horizon -2026-03-27T18:34:23.307Z moonrise -2026-03-27T23:40:07.170Z sunset +2026-03-27T18:34:23.124Z moonrise +2026-03-27T23:40:07.172Z sunset 2026-03-28T01:41:36.799Z Moon culminates 82.61 degrees above the horizon -2026-03-28T08:41:29.448Z moonset -2026-03-28T11:19:18.151Z sunrise +2026-03-28T08:41:29.540Z moonset +2026-03-28T11:19:18.235Z sunrise 2026-03-28T17:29:46.060Z Sun culminates 64.60 degrees above the horizon -2026-03-28T19:39:30.538Z moonrise -2026-03-28T23:40:40.388Z sunset +2026-03-28T19:39:30.434Z moonrise +2026-03-28T23:40:40.390Z sunset 2026-03-29T02:32:41.929Z Moon culminates 77.39 degrees above the horizon -2026-03-29T09:18:03.031Z moonset -2026-03-29T11:18:08.781Z sunrise +2026-03-29T09:18:03.077Z moonset +2026-03-29T11:18:08.863Z sunrise 2026-03-29T17:29:27.948Z Sun culminates 64.99 degrees above the horizon -2026-03-29T20:41:41.074Z moonrise +2026-03-29T20:41:41.042Z moonrise 2026-03-29T22:59:21.480Z Venus moves from Pisces to Aries -2026-03-29T23:41:13.553Z sunset +2026-03-29T23:41:13.556Z sunset 2026-03-30T03:19:54.490Z Moon culminates 71.43 degrees above the horizon -2026-03-30T09:50:23.163Z moonset -2026-03-30T11:16:59.539Z sunrise +2026-03-30T09:50:23.182Z moonset +2026-03-30T11:16:59.620Z sunrise 2026-03-30T17:29:09.884Z Sun culminates 65.38 degrees above the horizon -2026-03-30T21:41:06.782Z moonrise -2026-03-30T23:41:46.683Z sunset +2026-03-30T21:41:06.781Z moonrise +2026-03-30T23:41:46.686Z sunset 2026-03-31T04:04:20.183Z Moon culminates 65.09 degrees above the horizon -2026-03-31T10:20:10.148Z moonset -2026-03-31T11:15:50.455Z sunrise +2026-03-31T10:20:10.160Z moonset +2026-03-31T11:15:50.535Z sunrise 2026-03-31T17:28:51.891Z Sun culminates 65.76 degrees above the horizon -2026-03-31T22:38:35.131Z moonrise -2026-03-31T23:42:19.792Z sunset +2026-03-31T22:38:35.133Z moonrise +2026-03-31T23:42:19.796Z sunset 2026-04-01T04:47:11.039Z Moon culminates 58.70 degrees above the horizon -2026-04-01T10:48:51.094Z moonset -2026-04-01T11:14:41.558Z sunrise +2026-04-01T10:48:51.102Z moonset +2026-04-01T11:14:41.637Z sunrise 2026-04-01T17:28:33.992Z Sun culminates 66.15 degrees above the horizon -2026-04-01T23:35:03.782Z moonrise -2026-04-01T23:42:52.897Z sunset +2026-04-01T23:35:03.794Z moonrise +2026-04-01T23:42:52.902Z sunset 2026-04-02T02:12:35.584Z full moon 2026-04-02T05:29:35.997Z Moon culminates 52.53 degrees above the horizon -2026-04-02T11:13:32.879Z sunrise -2026-04-02T11:17:43.539Z moonset +2026-04-02T11:13:32.956Z sunrise +2026-04-02T11:17:43.535Z moonset 2026-04-02T16:29:52.097Z Mars moves from Aquarius to Pisces 2026-04-02T17:28:16.209Z Sun culminates 66.53 degrees above the horizon -2026-04-02T23:43:26.013Z sunset -2026-04-03T00:31:24.452Z moonrise +2026-04-02T23:43:26.018Z sunset +2026-04-03T00:31:24.506Z moonrise 2026-04-03T06:12:36.486Z Moon culminates 46.80 degrees above the horizon -2026-04-03T11:12:24.446Z sunrise -2026-04-03T11:48:00.085Z moonset +2026-04-03T11:12:24.522Z sunrise +2026-04-03T11:48:00.047Z moonset 2026-04-03T17:27:58.564Z Sun culminates 66.91 degrees above the horizon 2026-04-03T22:34:31.466Z Mercury max morning elongation: 27.82 degrees from Sun -2026-04-03T23:43:59.156Z sunset -2026-04-04T01:28:11.042Z moonrise +2026-04-03T23:43:59.162Z sunset +2026-04-04T01:28:11.177Z moonrise 2026-04-04T06:57:02.738Z Moon culminates 41.77 degrees above the horizon 2026-04-04T10:17:11.622Z Mercury aphelion at 0.4667 AU -2026-04-04T11:11:16.290Z sunrise -2026-04-04T12:20:51.129Z moonset +2026-04-04T11:11:16.364Z sunrise +2026-04-04T12:20:51.036Z moonset 2026-04-04T17:27:41.082Z Sun culminates 67.30 degrees above the horizon -2026-04-04T23:44:32.341Z sunset -2026-04-05T02:25:28.728Z moonrise +2026-04-04T23:44:32.348Z sunset +2026-04-05T02:25:28.953Z moonrise 2026-04-05T07:43:28.433Z Moon culminates 37.63 degrees above the horizon -2026-04-05T11:10:08.441Z sunrise -2026-04-05T12:57:23.487Z moonset +2026-04-05T11:10:08.513Z sunrise +2026-04-05T12:57:23.334Z moonset 2026-04-05T17:27:23.782Z Sun culminates 67.68 degrees above the horizon -2026-04-05T23:45:05.582Z sunset -2026-04-06T03:22:45.175Z moonrise +2026-04-05T23:45:05.590Z sunset +2026-04-06T03:22:45.457Z moonrise 2026-04-06T08:32:03.544Z Moon culminates 34.58 degrees above the horizon -2026-04-06T11:09:00.927Z sunrise -2026-04-06T13:38:32.672Z moonset +2026-04-06T11:09:00.997Z sunrise +2026-04-06T13:38:32.468Z moonset 2026-04-06T17:27:06.688Z Sun culminates 68.05 degrees above the horizon -2026-04-06T23:45:38.892Z sunset -2026-04-07T04:18:50.485Z moonrise +2026-04-06T23:45:38.902Z sunset +2026-04-07T04:18:50.783Z moonrise 2026-04-07T08:31:32.700Z lunar apogee at 404960 km 2026-04-07T09:22:28.456Z Moon culminates 32.81 degrees above the horizon -2026-04-07T11:07:53.778Z sunrise -2026-04-07T14:24:48.423Z moonset +2026-04-07T11:07:53.846Z sunrise +2026-04-07T14:24:48.180Z moonset 2026-04-07T17:26:49.819Z Sun culminates 68.43 degrees above the horizon -2026-04-07T23:46:12.284Z sunset -2026-04-08T05:12:13.640Z moonrise +2026-04-07T23:46:12.295Z sunset +2026-04-08T05:12:13.925Z moonrise 2026-04-08T10:13:55.210Z Moon culminates 32.41 degrees above the horizon -2026-04-08T11:06:47.022Z sunrise -2026-04-08T15:15:59.233Z moonset +2026-04-08T11:06:47.088Z sunrise +2026-04-08T15:15:58.961Z moonset 2026-04-08T17:26:33.196Z Sun culminates 68.80 degrees above the horizon -2026-04-08T23:46:45.767Z sunset -2026-04-09T06:01:33.483Z moonrise +2026-04-08T23:46:45.780Z sunset +2026-04-09T06:01:33.741Z moonrise 2026-04-09T11:05:20.252Z Moon culminates 33.42 degrees above the horizon -2026-04-09T11:05:40.687Z sunrise -2026-04-09T16:11:08.731Z moonset +2026-04-09T11:05:40.751Z sunrise +2026-04-09T16:11:08.450Z moonset 2026-04-09T17:26:16.836Z Sun culminates 69.17 degrees above the horizon 2026-04-09T19:13:46.940Z Saturn moves from Pisces to Cetus -2026-04-09T23:47:19.352Z sunset +2026-04-09T23:47:19.366Z sunset 2026-04-10T04:52:19.202Z third quarter -2026-04-10T06:46:07.494Z moonrise -2026-04-10T11:04:34.801Z sunrise +2026-04-10T06:46:07.712Z moonrise +2026-04-10T11:04:34.863Z sunrise 2026-04-10T11:55:45.302Z Moon culminates 35.81 degrees above the horizon -2026-04-10T17:08:53.479Z moonset +2026-04-10T17:08:53.227Z moonset 2026-04-10T17:26:00.758Z Sun culminates 69.54 degrees above the horizon -2026-04-10T23:47:53.045Z sunset -2026-04-11T07:26:01.160Z moonrise -2026-04-11T11:03:29.391Z sunrise +2026-04-10T23:47:53.061Z sunset +2026-04-11T07:26:01.320Z moonrise +2026-04-11T11:03:29.450Z sunrise 2026-04-11T12:44:35.883Z Moon culminates 39.47 degrees above the horizon 2026-04-11T17:25:44.979Z Sun culminates 69.91 degrees above the horizon -2026-04-11T18:07:54.658Z moonset -2026-04-11T23:48:26.853Z sunset -2026-04-12T08:01:58.028Z moonrise -2026-04-12T11:02:24.482Z sunrise +2026-04-11T18:07:54.481Z moonset +2026-04-11T23:48:26.871Z sunset +2026-04-12T08:01:58.122Z moonrise +2026-04-12T11:02:24.538Z sunrise 2026-04-12T13:31:49.349Z Moon culminates 44.24 degrees above the horizon 2026-04-12T17:25:29.513Z Sun culminates 70.28 degrees above the horizon -2026-04-12T19:07:24.442Z moonset -2026-04-12T23:49:00.782Z sunset -2026-04-13T08:35:03.577Z moonrise -2026-04-13T11:01:20.100Z sunrise +2026-04-12T19:07:24.358Z moonset +2026-04-12T23:49:00.802Z sunset +2026-04-13T08:35:03.618Z moonrise +2026-04-13T11:01:20.153Z sunrise 2026-04-13T14:17:52.831Z Moon culminates 49.94 degrees above the horizon 2026-04-13T15:16:59.078Z Mercury moves from Aquarius to Pisces 2026-04-13T17:25:14.375Z Sun culminates 70.64 degrees above the horizon -2026-04-13T20:07:15.668Z moonset -2026-04-13T23:49:34.833Z sunset -2026-04-14T09:06:33.692Z moonrise -2026-04-14T11:00:16.269Z sunrise +2026-04-13T20:07:15.649Z moonset +2026-04-13T23:49:34.855Z sunset +2026-04-14T09:06:33.708Z moonrise +2026-04-14T11:00:16.319Z sunrise 2026-04-14T15:03:36.712Z Moon culminates 56.36 degrees above the horizon 2026-04-14T17:24:59.579Z Sun culminates 71.00 degrees above the horizon -2026-04-14T21:07:57.392Z moonset -2026-04-14T23:50:09.010Z sunset -2026-04-15T09:37:50.542Z moonrise -2026-04-15T10:59:13.013Z sunrise +2026-04-14T21:07:57.393Z moonset +2026-04-14T23:50:09.034Z sunset +2026-04-15T09:37:50.551Z moonrise +2026-04-15T10:59:13.060Z sunrise 2026-04-15T15:50:08.024Z Moon culminates 63.22 degrees above the horizon 2026-04-15T17:24:45.138Z Sun culminates 71.36 degrees above the horizon -2026-04-15T22:10:23.152Z moonset -2026-04-15T23:50:43.313Z sunset -2026-04-16T10:10:24.056Z moonrise -2026-04-16T10:58:10.356Z sunrise +2026-04-15T22:10:23.155Z moonset +2026-04-15T23:50:43.340Z sunset +2026-04-16T10:10:24.058Z moonrise +2026-04-16T10:58:10.400Z sunrise 2026-04-16T16:38:44.277Z Moon culminates 70.18 degrees above the horizon 2026-04-16T17:24:31.062Z Sun culminates 71.71 degrees above the horizon -2026-04-16T23:15:34.026Z moonset -2026-04-16T23:51:17.743Z sunset -2026-04-17T10:45:55.734Z moonrise -2026-04-17T10:57:08.320Z sunrise +2026-04-16T23:15:34.053Z moonset +2026-04-16T23:51:17.773Z sunset +2026-04-17T10:45:55.712Z moonrise +2026-04-17T10:57:08.361Z sunrise 2026-04-17T11:52:20.386Z new moon 2026-04-17T17:24:17.364Z Sun culminates 72.06 degrees above the horizon 2026-04-17T17:30:44.322Z Moon culminates 76.81 degrees above the horizon -2026-04-17T23:51:52.300Z sunset -2026-04-18T00:24:12.043Z moonset -2026-04-18T10:56:06.928Z sunrise -2026-04-18T11:26:19.490Z moonrise +2026-04-17T23:51:52.332Z sunset +2026-04-18T00:24:12.143Z moonset +2026-04-18T10:56:06.965Z sunrise +2026-04-18T11:26:19.419Z moonrise 2026-04-18T17:24:04.054Z Sun culminates 72.41 degrees above the horizon 2026-04-18T18:27:09.740Z Moon culminates 82.56 degrees above the horizon -2026-04-18T23:52:26.981Z sunset +2026-04-18T23:52:27.016Z sunset 2026-04-19T00:20:30.016Z Mars moves from Pisces to Cetus -2026-04-19T01:35:58.484Z moonset +2026-04-19T01:35:58.672Z moonset 2026-04-19T03:27:08.223Z Venus moves from Aries to Taurus 2026-04-19T06:55:46.850Z lunar perigee at 361618 km -2026-04-19T10:55:06.201Z sunrise +2026-04-19T10:55:06.234Z sunrise 2026-04-19T12:05:18.988Z Mercury moves from Pisces to Cetus -2026-04-19T12:13:29.188Z moonrise +2026-04-19T12:13:29.062Z moonrise 2026-04-19T17:23:51.142Z Sun culminates 72.76 degrees above the horizon 2026-04-19T19:28:11.709Z Moon culminates 86.87 degrees above the horizon -2026-04-19T23:53:01.785Z sunset -2026-04-20T02:48:48.140Z moonset -2026-04-20T10:54:06.162Z sunrise -2026-04-20T13:08:38.647Z moonrise +2026-04-19T23:53:01.823Z sunset +2026-04-20T02:48:48.366Z moonset +2026-04-20T10:54:06.191Z sunrise +2026-04-20T13:08:38.474Z moonrise 2026-04-20T17:23:38.637Z Sun culminates 73.10 degrees above the horizon 2026-04-20T20:32:34.224Z Moon culminates 89.24 degrees above the horizon -2026-04-20T23:53:36.708Z sunset -2026-04-21T03:58:49.277Z moonset -2026-04-21T10:53:06.834Z sunrise -2026-04-21T14:11:17.712Z moonrise +2026-04-20T23:53:36.749Z sunset +2026-04-21T03:58:49.493Z moonset +2026-04-21T10:53:06.859Z sunrise +2026-04-21T14:11:17.505Z moonrise 2026-04-21T17:23:26.549Z Sun culminates 73.44 degrees above the horizon 2026-04-21T20:42:51.625Z Mars moves from Cetus to Pisces 2026-04-21T21:37:32.740Z Moon culminates 89.41 degrees above the horizon -2026-04-21T23:54:11.748Z sunset -2026-04-22T05:01:58.016Z moonset -2026-04-22T10:52:08.238Z sunrise -2026-04-22T15:18:41.799Z moonrise +2026-04-21T23:54:11.792Z sunset +2026-04-22T05:01:58.203Z moonset +2026-04-22T10:52:08.260Z sunrise +2026-04-22T15:18:41.575Z moonrise 2026-04-22T17:23:14.889Z Sun culminates 73.78 degrees above the horizon 2026-04-22T22:39:58.458Z Moon culminates 87.48 degrees above the horizon -2026-04-22T23:54:46.901Z sunset -2026-04-23T05:56:04.268Z moonset -2026-04-23T10:51:10.400Z sunrise +2026-04-22T23:54:46.948Z sunset +2026-04-23T05:56:04.420Z moonset +2026-04-23T10:51:10.417Z sunrise 2026-04-23T15:00:33.604Z Mercury moves from Cetus to Pisces -2026-04-23T16:26:59.921Z moonrise +2026-04-23T16:26:59.723Z moonrise 2026-04-23T17:23:03.667Z Sun culminates 74.11 degrees above the horizon 2026-04-23T23:37:44.247Z Moon culminates 83.81 degrees above the horizon -2026-04-23T23:55:22.163Z sunset +2026-04-23T23:55:22.214Z sunset 2026-04-24T02:32:18.342Z first quarter -2026-04-24T06:41:24.371Z moonset -2026-04-24T10:50:13.343Z sunrise +2026-04-24T06:41:24.476Z moonset +2026-04-24T10:50:13.356Z sunrise 2026-04-24T17:22:52.893Z Sun culminates 74.44 degrees above the horizon -2026-04-24T17:33:10.826Z moonrise -2026-04-24T23:55:57.533Z sunset +2026-04-24T17:33:10.701Z moonrise +2026-04-24T23:55:57.587Z sunset 2026-04-25T00:30:17.987Z Moon culminates 78.89 degrees above the horizon -2026-04-25T07:19:40.796Z moonset -2026-04-25T10:49:17.092Z sunrise +2026-04-25T07:19:40.853Z moonset +2026-04-25T10:49:17.100Z sunrise 2026-04-25T17:22:42.577Z Sun culminates 74.76 degrees above the horizon -2026-04-25T18:35:57.751Z moonrise -2026-04-25T23:56:33.006Z sunset +2026-04-25T18:35:57.702Z moonrise +2026-04-25T23:56:33.064Z sunset 2026-04-26T01:18:18.486Z Moon culminates 73.16 degrees above the horizon -2026-04-26T07:52:56.469Z moonset -2026-04-26T10:48:21.670Z sunrise +2026-04-26T07:52:56.494Z moonset +2026-04-26T10:48:21.674Z sunrise 2026-04-26T17:22:32.733Z Sun culminates 75.09 degrees above the horizon -2026-04-26T19:35:28.852Z moonrise -2026-04-26T23:57:08.582Z sunset +2026-04-26T19:35:28.845Z moonrise +2026-04-26T23:57:08.643Z sunset 2026-04-27T02:02:57.601Z Moon culminates 67.00 degrees above the horizon -2026-04-27T08:23:03.452Z moonset -2026-04-27T10:47:27.104Z sunrise +2026-04-27T08:23:03.464Z moonset +2026-04-27T10:47:27.103Z sunrise 2026-04-27T17:22:23.370Z Sun culminates 75.40 degrees above the horizon -2026-04-27T20:32:36.307Z moonrise -2026-04-27T23:57:44.257Z sunset +2026-04-27T20:32:36.309Z moonrise +2026-04-27T23:57:44.323Z sunset 2026-04-28T02:45:34.939Z Moon culminates 60.72 degrees above the horizon -2026-04-28T08:51:36.907Z moonset -2026-04-28T10:46:33.418Z sunrise +2026-04-28T08:51:36.917Z moonset +2026-04-28T10:46:33.412Z sunrise 2026-04-28T17:22:14.501Z Sun culminates 75.72 degrees above the horizon -2026-04-28T21:28:25.766Z moonrise -2026-04-28T23:58:20.032Z sunset +2026-04-28T21:28:25.772Z moonrise +2026-04-28T23:58:20.102Z sunset 2026-04-29T03:27:26.330Z Moon culminates 54.57 degrees above the horizon -2026-04-29T09:19:59.045Z moonset -2026-04-29T10:45:40.637Z sunrise +2026-04-29T09:19:59.048Z moonset +2026-04-29T10:45:40.627Z sunrise 2026-04-29T17:22:06.137Z Sun culminates 76.03 degrees above the horizon -2026-04-29T22:23:58.448Z moonrise -2026-04-29T23:58:55.904Z sunset +2026-04-29T22:23:58.483Z moonrise +2026-04-29T23:58:55.977Z sunset 2026-04-30T04:09:39.405Z Moon culminates 48.76 degrees above the horizon -2026-04-30T09:49:24.846Z moonset -2026-04-30T10:44:48.787Z sunrise +2026-04-30T09:49:24.824Z moonset +2026-04-30T10:44:48.772Z sunrise 2026-04-30T17:21:58.291Z Sun culminates 76.34 degrees above the horizon -2026-04-30T23:19:59.274Z moonrise -2026-04-30T23:59:31.870Z sunset +2026-04-30T23:19:59.376Z moonrise +2026-04-30T23:59:31.948Z sunset 2026-05-01T04:53:10.668Z Moon culminates 43.54 degrees above the horizon -2026-05-01T10:21:06.094Z moonset -2026-05-01T10:43:57.893Z sunrise +2026-05-01T10:21:06.023Z moonset +2026-05-01T10:43:57.873Z sunrise 2026-05-01T17:21:50.973Z Sun culminates 76.64 degrees above the horizon 2026-05-01T17:23:46.098Z full moon -2026-05-02T00:00:07.928Z sunset -2026-05-02T00:16:45.891Z moonrise +2026-05-02T00:00:08.010Z sunset +2026-05-02T00:16:46.083Z moonrise 2026-05-02T05:38:40.817Z Moon culminates 39.10 degrees above the horizon -2026-05-02T10:43:07.980Z sunrise -2026-05-02T10:56:11.517Z moonset +2026-05-02T10:43:07.955Z sunrise +2026-05-02T10:56:11.386Z moonset 2026-05-02T17:21:44.195Z Sun culminates 76.94 degrees above the horizon -2026-05-03T00:00:44.075Z sunset -2026-05-03T01:13:58.133Z moonrise +2026-05-03T00:00:44.161Z sunset +2026-05-03T01:13:58.396Z moonrise 2026-05-03T06:26:27.434Z Moon culminates 35.68 degrees above the horizon -2026-05-03T10:42:19.074Z sunrise -2026-05-03T11:35:40.740Z moonset +2026-05-03T10:42:19.043Z sunrise +2026-05-03T11:35:40.554Z moonset 2026-05-03T17:21:37.966Z Sun culminates 77.23 degrees above the horizon -2026-05-04T00:01:20.306Z sunset +2026-05-04T00:01:20.396Z sunset 2026-05-04T01:29:29.004Z Mercury moves from Pisces to Aries -2026-05-04T02:10:33.570Z moonrise +2026-05-04T02:10:33.864Z moonrise 2026-05-04T07:16:17.446Z Moon culminates 33.45 degrees above the horizon -2026-05-04T10:41:31.199Z sunrise -2026-05-04T12:20:10.768Z moonset +2026-05-04T10:41:31.163Z sunrise +2026-05-04T12:20:10.539Z moonset 2026-05-04T17:21:32.298Z Sun culminates 77.52 degrees above the horizon 2026-05-04T22:31:35.700Z lunar apogee at 405828 km -2026-05-05T00:01:56.614Z sunset -2026-05-05T03:04:58.791Z moonrise +2026-05-05T00:01:56.709Z sunset +2026-05-05T03:04:59.080Z moonrise 2026-05-05T08:07:25.458Z Moon culminates 32.57 degrees above the horizon -2026-05-05T10:40:44.378Z sunrise -2026-05-05T13:09:39.021Z moonset +2026-05-05T10:40:44.337Z sunrise +2026-05-05T13:09:38.760Z moonset 2026-05-05T17:21:27.197Z Sun culminates 77.80 degrees above the horizon -2026-05-06T00:02:32.994Z sunset -2026-05-06T03:55:39.379Z moonrise +2026-05-06T00:02:33.094Z sunset +2026-05-06T03:55:39.646Z moonrise 2026-05-06T08:58:44.307Z Moon culminates 33.09 degrees above the horizon -2026-05-06T10:39:58.637Z sunrise -2026-05-06T14:03:15.305Z moonset +2026-05-06T10:39:58.591Z sunrise +2026-05-06T14:03:15.027Z moonset 2026-05-06T17:21:22.672Z Sun culminates 78.08 degrees above the horizon -2026-05-07T00:03:09.436Z sunset -2026-05-07T04:41:34.407Z moonrise +2026-05-07T00:03:09.540Z sunset +2026-05-07T04:41:34.640Z moonrise 2026-05-07T09:49:06.776Z Moon culminates 34.97 degrees above the horizon -2026-05-07T10:39:13.997Z sunrise -2026-05-07T14:59:35.484Z moonset +2026-05-07T10:39:13.946Z sunrise +2026-05-07T14:59:35.221Z moonset 2026-05-07T17:21:18.729Z Sun culminates 78.36 degrees above the horizon -2026-05-08T00:03:45.929Z sunset -2026-05-08T05:22:33.705Z moonrise +2026-05-08T00:03:46.037Z sunset +2026-05-08T05:22:33.887Z moonrise 2026-05-08T10:37:47.715Z Moon culminates 38.12 degrees above the horizon -2026-05-08T10:38:30.481Z sunrise -2026-05-08T15:57:13.444Z moonset +2026-05-08T10:38:30.424Z sunrise +2026-05-08T15:57:13.240Z moonset 2026-05-08T17:21:15.372Z Sun culminates 78.63 degrees above the horizon -2026-05-09T00:04:22.461Z sunset -2026-05-09T05:59:11.629Z moonrise -2026-05-09T10:37:48.108Z sunrise +2026-05-09T00:04:22.573Z sunset +2026-05-09T05:59:11.748Z moonrise +2026-05-09T10:37:48.046Z sunrise 2026-05-09T11:24:35.442Z Moon culminates 42.38 degrees above the horizon -2026-05-09T16:55:11.504Z moonset +2026-05-09T16:55:11.389Z moonset 2026-05-09T17:21:12.605Z Sun culminates 78.90 degrees above the horizon 2026-05-09T21:11:03.194Z third quarter -2026-05-10T00:04:59.017Z sunset -2026-05-10T06:32:29.709Z moonrise -2026-05-10T10:37:06.899Z sunrise +2026-05-10T00:04:59.134Z sunset +2026-05-10T06:32:29.769Z moonrise +2026-05-10T10:37:06.832Z sunrise 2026-05-10T12:09:50.911Z Moon culminates 47.58 degrees above the horizon 2026-05-10T17:21:10.430Z Sun culminates 79.16 degrees above the horizon -2026-05-10T17:53:14.029Z moonset -2026-05-11T00:05:35.581Z sunset -2026-05-11T07:03:42.103Z moonrise -2026-05-11T10:36:26.872Z sunrise +2026-05-10T17:53:13.989Z moonset +2026-05-11T00:05:35.702Z sunset +2026-05-11T07:03:42.127Z moonrise +2026-05-11T10:36:26.800Z sunrise 2026-05-11T12:54:20.786Z Moon culminates 53.53 degrees above the horizon 2026-05-11T17:21:08.847Z Sun culminates 79.42 degrees above the horizon -2026-05-11T18:51:45.175Z moonset -2026-05-12T00:06:12.134Z sunset -2026-05-12T07:34:09.129Z moonrise -2026-05-12T10:35:48.044Z sunrise +2026-05-11T18:51:45.172Z moonset +2026-05-12T00:06:12.260Z sunset +2026-05-12T07:34:09.141Z moonrise +2026-05-12T10:35:47.966Z sunrise 2026-05-12T13:39:10.539Z Moon culminates 60.03 degrees above the horizon 2026-05-12T17:21:07.853Z Sun culminates 79.67 degrees above the horizon -2026-05-12T19:51:39.118Z moonset -2026-05-13T00:06:48.658Z sunset -2026-05-13T08:05:17.812Z moonrise -2026-05-13T10:35:10.429Z sunrise +2026-05-12T19:51:39.120Z moonset +2026-05-13T00:06:48.788Z sunset +2026-05-13T08:05:17.819Z moonrise +2026-05-13T10:35:10.347Z sunrise 2026-05-13T14:25:39.483Z Moon culminates 66.82 degrees above the horizon 2026-05-13T17:21:07.447Z Sun culminates 79.91 degrees above the horizon -2026-05-13T20:54:07.097Z moonset -2026-05-14T00:07:25.129Z sunset -2026-05-14T08:38:46.550Z moonrise -2026-05-14T10:34:34.043Z sunrise +2026-05-13T20:54:07.107Z moonset +2026-05-14T00:07:25.264Z sunset +2026-05-14T08:38:46.544Z moonrise +2026-05-14T10:34:33.956Z sunrise 2026-05-14T14:11:08.365Z Mercury superior conjunction 2026-05-14T14:35:43.899Z Mercury moves from Aries to Taurus 2026-05-14T15:15:15.424Z Moon culminates 73.55 degrees above the horizon 2026-05-14T17:21:07.624Z Sun culminates 80.16 degrees above the horizon -2026-05-14T22:00:18.088Z moonset -2026-05-15T00:08:01.527Z sunset +2026-05-14T22:00:18.145Z moonset +2026-05-15T00:08:01.666Z sunset 2026-05-15T02:45:33.624Z Venus perihelion at 0.7184 AU -2026-05-15T09:16:30.066Z moonrise -2026-05-15T10:33:58.898Z sunrise +2026-05-15T09:16:30.023Z moonrise +2026-05-15T10:33:58.806Z sunrise 2026-05-15T16:09:22.687Z Moon culminates 79.77 degrees above the horizon 2026-05-15T17:21:08.377Z Sun culminates 80.39 degrees above the horizon -2026-05-15T23:10:44.020Z moonset -2026-05-16T00:08:37.825Z sunset -2026-05-16T10:00:36.644Z moonrise -2026-05-16T10:33:25.004Z sunrise +2026-05-15T23:10:44.165Z moonset +2026-05-16T00:08:37.969Z sunset +2026-05-16T10:00:36.546Z moonrise +2026-05-16T10:33:24.908Z sunrise 2026-05-16T17:08:54.291Z Moon culminates 84.88 degrees above the horizon 2026-05-16T17:21:09.701Z Sun culminates 80.62 degrees above the horizon 2026-05-16T20:01:31.464Z new moon -2026-05-17T00:09:13.999Z sunset -2026-05-17T00:24:24.930Z moonset -2026-05-17T10:32:52.372Z sunrise -2026-05-17T10:53:01.339Z moonrise +2026-05-17T00:09:14.147Z sunset +2026-05-17T00:24:25.143Z moonset +2026-05-17T10:32:52.271Z sunrise +2026-05-17T10:53:01.188Z moonrise 2026-05-17T13:44:40.755Z lunar perigee at 358064 km 2026-05-17T17:21:11.585Z Sun culminates 80.85 degrees above the horizon 2026-05-17T18:13:25.427Z Moon culminates 88.26 degrees above the horizon -2026-05-18T00:09:50.023Z sunset -2026-05-18T01:38:03.796Z moonset +2026-05-18T00:09:50.175Z sunset +2026-05-18T01:38:04.018Z moonset 2026-05-18T09:55:34.212Z Mercury perihelion at 0.3075 AU -2026-05-18T10:32:21.010Z sunrise -2026-05-18T11:54:19.489Z moonrise +2026-05-18T10:32:20.904Z sunrise +2026-05-18T11:54:19.296Z moonrise 2026-05-18T13:16:30.617Z Mars moves from Pisces to Aries 2026-05-18T17:21:14.021Z Sun culminates 81.07 degrees above the horizon 2026-05-18T19:20:36.603Z Moon culminates 89.45 degrees above the horizon -2026-05-19T00:10:25.867Z sunset -2026-05-19T02:46:50.129Z moonset -2026-05-19T10:31:50.928Z sunrise +2026-05-19T00:10:26.023Z sunset +2026-05-19T02:46:50.326Z moonset +2026-05-19T10:31:50.817Z sunrise 2026-05-19T11:39:47.730Z Venus moves from Taurus to Gemini -2026-05-19T13:02:32.391Z moonrise +2026-05-19T13:02:32.171Z moonrise 2026-05-19T17:21:16.999Z Sun culminates 81.28 degrees above the horizon 2026-05-19T20:26:46.575Z Moon culminates 88.31 degrees above the horizon -2026-05-20T00:11:01.503Z sunset -2026-05-20T03:46:51.330Z moonset -2026-05-20T10:31:22.132Z sunrise -2026-05-20T14:13:26.536Z moonrise +2026-05-20T00:11:01.663Z sunset +2026-05-20T03:46:51.492Z moonset +2026-05-20T10:31:22.017Z sunrise +2026-05-20T14:13:26.323Z moonrise 2026-05-20T17:21:20.508Z Sun culminates 81.49 degrees above the horizon 2026-05-20T21:28:39.151Z Moon culminates 85.15 degrees above the horizon -2026-05-21T00:11:36.902Z sunset -2026-05-21T04:37:05.558Z moonset -2026-05-21T10:30:54.633Z sunrise -2026-05-21T15:22:50.049Z moonrise +2026-05-21T00:11:37.066Z sunset +2026-05-21T04:37:05.676Z moonset +2026-05-21T10:30:54.513Z sunrise +2026-05-21T15:22:49.899Z moonrise 2026-05-21T17:21:24.538Z Sun culminates 81.69 degrees above the horizon 2026-05-21T22:24:45.738Z Moon culminates 80.48 degrees above the horizon -2026-05-22T00:12:12.034Z sunset -2026-05-22T05:18:52.069Z moonset -2026-05-22T10:30:28.437Z sunrise +2026-05-22T00:12:12.202Z sunset +2026-05-22T05:18:52.137Z moonset +2026-05-22T10:30:28.313Z sunrise 2026-05-22T14:28:24.122Z Uranus conjunction -2026-05-22T16:28:25.665Z moonrise +2026-05-22T16:28:25.597Z moonrise 2026-05-22T17:21:29.079Z Sun culminates 81.89 degrees above the horizon 2026-05-22T23:15:21.454Z Moon culminates 74.85 degrees above the horizon -2026-05-23T00:12:46.872Z sunset -2026-05-23T05:54:22.934Z moonset -2026-05-23T10:30:03.553Z sunrise +2026-05-23T00:12:47.043Z sunset +2026-05-23T05:54:22.964Z moonset +2026-05-23T10:30:03.425Z sunrise 2026-05-23T11:11:29.538Z first quarter 2026-05-23T17:21:34.119Z Sun culminates 82.08 degrees above the horizon -2026-05-23T17:29:54.426Z moonrise +2026-05-23T17:29:54.411Z moonrise 2026-05-24T00:01:37.449Z Moon culminates 68.72 degrees above the horizon -2026-05-24T00:13:21.386Z sunset -2026-05-24T06:25:47.014Z moonset -2026-05-24T10:29:39.987Z sunrise +2026-05-24T00:13:21.561Z sunset +2026-05-24T06:25:47.027Z moonset +2026-05-24T10:29:39.855Z sunrise 2026-05-24T17:21:39.649Z Sun culminates 82.27 degrees above the horizon -2026-05-24T18:28:05.377Z moonrise -2026-05-25T00:13:55.549Z sunset +2026-05-24T18:28:05.379Z moonrise +2026-05-25T00:13:55.728Z sunset 2026-05-25T00:45:01.630Z Moon culminates 62.44 degrees above the horizon -2026-05-25T06:54:53.483Z moonset -2026-05-25T10:29:17.747Z sunrise +2026-05-25T06:54:53.494Z moonset +2026-05-25T10:29:17.612Z sunrise 2026-05-25T17:21:45.659Z Sun culminates 82.44 degrees above the horizon -2026-05-25T19:24:11.822Z moonrise -2026-05-26T00:14:29.334Z sunset +2026-05-25T19:24:11.826Z moonrise +2026-05-26T00:14:29.517Z sunset 2026-05-26T01:26:59.666Z Moon culminates 56.26 degrees above the horizon -2026-05-26T07:23:13.883Z moonset -2026-05-26T10:28:56.840Z sunrise +2026-05-26T07:23:13.890Z moonset +2026-05-26T10:28:56.700Z sunrise 2026-05-26T17:21:52.138Z Sun culminates 82.62 degrees above the horizon -2026-05-26T20:19:26.693Z moonrise -2026-05-27T00:15:02.715Z sunset +2026-05-26T20:19:26.716Z moonrise +2026-05-27T00:15:02.901Z sunset 2026-05-27T02:08:48.447Z Moon culminates 50.39 degrees above the horizon -2026-05-27T07:52:08.840Z moonset -2026-05-27T10:28:37.271Z sunrise +2026-05-27T07:52:08.828Z moonset +2026-05-27T10:28:37.128Z sunrise 2026-05-27T17:21:59.076Z Sun culminates 82.78 degrees above the horizon -2026-05-27T21:14:48.983Z moonrise -2026-05-28T00:15:35.666Z sunset +2026-05-27T21:14:49.061Z moonrise +2026-05-28T00:15:35.856Z sunset 2026-05-28T02:51:33.588Z Moon culminates 45.04 degrees above the horizon -2026-05-28T08:22:53.800Z moonset -2026-05-28T10:28:19.045Z sunrise +2026-05-28T08:22:53.746Z moonset +2026-05-28T10:28:18.899Z sunrise 2026-05-28T17:22:06.464Z Sun culminates 82.95 degrees above the horizon -2026-05-28T22:10:53.018Z moonrise -2026-05-29T00:16:08.162Z sunset +2026-05-28T22:10:53.181Z moonrise +2026-05-29T00:16:08.354Z sunset 2026-05-29T03:36:05.970Z Moon culminates 40.40 degrees above the horizon -2026-05-29T08:56:41.253Z moonset -2026-05-29T10:28:02.170Z sunrise +2026-05-29T08:56:41.141Z moonset +2026-05-29T10:28:02.020Z sunrise 2026-05-29T17:22:14.291Z Sun culminates 83.10 degrees above the horizon -2026-05-29T23:07:37.331Z moonrise -2026-05-30T00:16:40.175Z sunset +2026-05-29T23:07:37.574Z moonrise +2026-05-30T00:16:40.370Z sunset 2026-05-30T04:22:55.229Z Moon culminates 36.69 degrees above the horizon -2026-05-30T09:34:37.122Z moonset -2026-05-30T10:27:46.648Z sunrise +2026-05-30T09:34:36.952Z moonset +2026-05-30T10:27:46.495Z sunrise 2026-05-30T17:22:22.547Z Sun culminates 83.25 degrees above the horizon -2026-05-31T00:04:16.396Z moonrise -2026-05-31T00:17:11.682Z sunset +2026-05-31T00:04:16.682Z moonrise +2026-05-31T00:17:11.880Z sunset 2026-05-31T05:12:01.165Z Moon culminates 34.10 degrees above the horizon 2026-05-31T08:45:47.670Z full moon -2026-05-31T10:17:29.168Z moonset -2026-05-31T10:27:32.484Z sunrise +2026-05-31T10:17:28.952Z moonset +2026-05-31T10:27:32.328Z sunrise 2026-05-31T17:22:31.220Z Sun culminates 83.39 degrees above the horizon -2026-06-01T00:17:42.656Z sunset -2026-06-01T00:59:24.664Z moonrise +2026-06-01T00:17:42.857Z sunset +2026-06-01T00:59:24.955Z moonrise 2026-06-01T04:30:58.792Z lunar apogee at 406356 km 2026-06-01T06:02:48.266Z Moon culminates 32.81 degrees above the horizon -2026-06-01T10:27:19.681Z sunrise -2026-06-01T11:05:28.974Z moonset +2026-06-01T10:27:19.523Z sunrise +2026-06-01T11:05:28.723Z moonset 2026-06-01T17:22:40.300Z Sun culminates 83.53 degrees above the horizon 2026-06-01T19:30:50.577Z Mercury moves from Taurus to Gemini -2026-06-02T00:18:13.072Z sunset -2026-06-02T01:51:20.887Z moonrise +2026-06-02T00:18:13.275Z sunset +2026-06-02T01:51:21.161Z moonrise 2026-06-02T06:54:11.207Z Moon culminates 32.90 degrees above the horizon -2026-06-02T10:27:08.242Z sunrise -2026-06-02T11:57:57.919Z moonset +2026-06-02T10:27:08.081Z sunrise +2026-06-02T11:57:57.645Z moonset 2026-06-02T17:22:49.773Z Sun culminates 83.65 degrees above the horizon -2026-06-03T00:18:42.902Z sunset -2026-06-03T02:38:45.278Z moonrise +2026-06-03T00:18:43.108Z sunset +2026-06-03T02:38:45.521Z moonrise 2026-06-03T07:44:54.514Z Moon culminates 34.38 degrees above the horizon -2026-06-03T10:26:58.168Z sunrise +2026-06-03T10:26:58.004Z sunrise 2026-06-03T10:42:35.350Z Saturn moves from Cetus to Pisces -2026-06-03T12:53:33.116Z moonset +2026-06-03T12:53:32.847Z moonset 2026-06-03T17:22:59.627Z Sun culminates 83.78 degrees above the horizon -2026-06-04T00:19:12.121Z sunset -2026-06-04T03:21:06.579Z moonrise +2026-06-04T00:19:12.329Z sunset +2026-06-04T03:21:06.777Z moonrise 2026-06-04T08:33:58.109Z Moon culminates 37.15 degrees above the horizon -2026-06-04T10:26:49.458Z sunrise -2026-06-04T13:50:37.364Z moonset +2026-06-04T10:26:49.291Z sunrise +2026-06-04T13:50:37.141Z moonset 2026-06-04T17:23:09.848Z Sun culminates 83.89 degrees above the horizon -2026-06-05T00:19:40.699Z sunset -2026-06-05T03:58:43.933Z moonrise +2026-06-05T00:19:40.909Z sunset +2026-06-05T03:58:44.070Z moonrise 2026-06-05T09:20:54.752Z Moon culminates 41.04 degrees above the horizon -2026-06-05T10:26:42.110Z sunrise -2026-06-05T14:47:55.191Z moonset +2026-06-05T10:26:41.941Z sunrise +2026-06-05T14:47:55.050Z moonset 2026-06-05T17:23:20.421Z Sun culminates 84.00 degrees above the horizon -2026-06-06T00:20:08.608Z sunset -2026-06-06T04:32:30.895Z moonrise +2026-06-06T00:20:08.820Z sunset +2026-06-06T04:32:30.972Z moonrise 2026-06-06T10:05:53.098Z Moon culminates 45.87 degrees above the horizon -2026-06-06T10:26:36.122Z sunrise -2026-06-06T15:44:53.655Z moonset +2026-06-06T10:26:35.951Z sunrise +2026-06-06T15:44:53.597Z moonset 2026-06-06T17:23:31.328Z Sun culminates 84.11 degrees above the horizon -2026-06-07T00:20:35.819Z sunset -2026-06-07T05:03:37.888Z moonrise -2026-06-07T10:26:31.487Z sunrise +2026-06-07T00:20:36.033Z sunset +2026-06-07T05:03:37.923Z moonrise +2026-06-07T10:26:31.314Z sunrise 2026-06-07T10:49:31.160Z Moon culminates 51.46 degrees above the horizon -2026-06-07T16:41:43.682Z moonset +2026-06-07T16:41:43.672Z moonset 2026-06-07T17:23:42.551Z Sun culminates 84.20 degrees above the horizon -2026-06-08T00:21:02.301Z sunset -2026-06-08T05:33:22.155Z moonrise +2026-06-08T00:21:02.517Z sunset +2026-06-08T05:33:22.171Z moonrise 2026-06-08T10:00:59.376Z third quarter -2026-06-08T10:26:28.199Z sunrise +2026-06-08T10:26:28.025Z sunrise 2026-06-08T11:32:48.035Z Moon culminates 57.60 degrees above the horizon 2026-06-08T17:23:54.072Z Sun culminates 84.29 degrees above the horizon -2026-06-08T17:39:10.957Z moonset -2026-06-09T00:21:28.024Z sunset -2026-06-09T06:03:05.851Z moonrise -2026-06-09T10:26:26.249Z sunrise +2026-06-08T17:39:10.960Z moonset +2026-06-09T00:21:28.241Z sunset +2026-06-09T06:03:05.861Z moonrise +2026-06-09T10:26:26.073Z sunrise 2026-06-09T12:16:58.191Z Moon culminates 64.08 degrees above the horizon 2026-06-09T17:24:05.869Z Sun culminates 84.37 degrees above the horizon -2026-06-09T18:38:24.444Z moonset -2026-06-10T00:21:52.954Z sunset -2026-06-10T06:34:19.795Z moonrise -2026-06-10T10:26:25.625Z sunrise +2026-06-09T18:38:24.448Z moonset +2026-06-10T00:21:53.174Z sunset +2026-06-10T06:34:19.796Z moonrise +2026-06-10T10:26:25.447Z sunrise 2026-06-10T13:03:27.940Z Moon culminates 70.65 degrees above the horizon 2026-06-10T17:24:17.921Z Sun culminates 84.45 degrees above the horizon -2026-06-10T19:40:42.965Z moonset -2026-06-11T00:22:17.061Z sunset -2026-06-11T07:08:49.941Z moonrise -2026-06-11T10:26:26.312Z sunrise +2026-06-10T19:40:42.995Z moonset +2026-06-11T00:22:17.282Z sunset +2026-06-11T07:08:49.918Z moonrise +2026-06-11T10:26:26.133Z sunrise 2026-06-11T13:53:49.892Z Moon culminates 76.96 degrees above the horizon 2026-06-11T16:56:04.833Z Venus moves from Gemini to Cancer 2026-06-11T17:24:30.204Z Sun culminates 84.52 degrees above the horizon -2026-06-11T20:47:12.854Z moonset -2026-06-12T00:22:40.312Z sunset -2026-06-12T07:48:41.863Z moonrise -2026-06-12T10:26:28.296Z sunrise +2026-06-11T20:47:12.955Z moonset +2026-06-12T00:22:40.534Z sunset +2026-06-12T07:48:41.792Z moonrise +2026-06-12T10:26:28.115Z sunrise 2026-06-12T14:49:27.166Z Moon culminates 82.54 degrees above the horizon 2026-06-12T17:24:42.693Z Sun culminates 84.58 degrees above the horizon -2026-06-12T21:58:05.793Z moonset -2026-06-13T00:23:02.674Z sunset -2026-06-13T08:36:11.933Z moonrise -2026-06-13T10:26:31.558Z sunrise +2026-06-12T21:58:05.978Z moonset +2026-06-13T00:23:02.897Z sunset +2026-06-13T08:36:11.807Z moonrise +2026-06-13T10:26:31.376Z sunrise 2026-06-13T15:50:57.129Z Moon culminates 86.78 degrees above the horizon 2026-06-13T17:24:55.362Z Sun culminates 84.64 degrees above the horizon -2026-06-13T23:11:38.506Z moonset -2026-06-14T00:23:24.114Z sunset -2026-06-14T09:33:03.955Z moonrise -2026-06-14T10:26:36.077Z sunrise +2026-06-13T23:11:38.729Z moonset +2026-06-14T00:23:24.338Z sunset +2026-06-14T09:33:03.783Z moonrise +2026-06-14T10:26:35.894Z sunrise 2026-06-14T16:57:18.108Z Moon culminates 89.09 degrees above the horizon 2026-06-14T17:25:08.184Z Sun culminates 84.69 degrees above the horizon 2026-06-14T23:20:04.294Z lunar perigee at 357186 km -2026-06-15T00:23:44.599Z sunset -2026-06-15T00:23:45.404Z moonset +2026-06-15T00:23:44.823Z sunset +2026-06-15T00:23:45.614Z moonset 2026-06-15T02:54:38.973Z new moon -2026-06-15T10:26:41.833Z sunrise -2026-06-15T10:39:02.744Z moonrise +2026-06-15T10:26:41.649Z sunrise +2026-06-15T10:39:02.535Z moonrise 2026-06-15T17:25:21.132Z Sun culminates 84.73 degrees above the horizon 2026-06-15T18:05:25.200Z Moon culminates 89.07 degrees above the horizon 2026-06-15T20:02:43.026Z Mercury max evening elongation: 24.52 degrees from Sun -2026-06-16T00:24:04.095Z sunset -2026-06-16T01:29:28.768Z moonset -2026-06-16T10:26:48.801Z sunrise -2026-06-16T11:50:53.161Z moonrise +2026-06-16T00:24:04.321Z sunset +2026-06-16T01:29:28.946Z moonset +2026-06-16T10:26:48.616Z sunrise +2026-06-16T11:50:52.939Z moonrise 2026-06-16T17:25:34.178Z Sun culminates 84.77 degrees above the horizon 2026-06-16T19:11:17.629Z Moon culminates 86.74 degrees above the horizon -2026-06-17T00:24:22.571Z sunset -2026-06-17T02:25:46.082Z moonset -2026-06-17T10:26:56.958Z sunrise -2026-06-17T13:03:38.321Z moonrise +2026-06-17T00:24:22.797Z sunset +2026-06-17T02:25:46.218Z moonset +2026-06-17T10:26:56.773Z sunrise +2026-06-17T13:03:38.138Z moonrise 2026-06-17T17:25:47.293Z Sun culminates 84.79 degrees above the horizon 2026-06-17T20:12:00.699Z Moon culminates 82.54 degrees above the horizon -2026-06-18T00:24:39.993Z sunset -2026-06-18T03:12:35.906Z moonset -2026-06-18T10:27:06.282Z sunrise -2026-06-18T14:13:25.046Z moonrise +2026-06-18T00:24:40.219Z sunset +2026-06-18T03:12:35.991Z moonset +2026-06-18T10:27:06.096Z sunrise +2026-06-18T14:13:24.946Z moonrise 2026-06-18T17:26:00.450Z Sun culminates 84.82 degrees above the horizon 2026-06-18T21:06:43.913Z Moon culminates 77.06 degrees above the horizon -2026-06-19T00:24:56.330Z sunset -2026-06-19T03:51:48.744Z moonset -2026-06-19T10:27:16.747Z sunrise -2026-06-19T15:18:42.115Z moonrise +2026-06-19T00:24:56.557Z sunset +2026-06-19T03:51:48.784Z moonset +2026-06-19T10:27:16.560Z sunrise +2026-06-19T15:18:42.086Z moonrise 2026-06-19T17:26:13.621Z Sun culminates 84.83 degrees above the horizon 2026-06-19T21:56:10.822Z Moon culminates 70.88 degrees above the horizon 2026-06-19T23:57:12.143Z Mars moves from Aries to Taurus -2026-06-20T00:25:11.553Z sunset -2026-06-20T04:25:41.834Z moonset -2026-06-20T10:27:28.329Z sunrise -2026-06-20T16:19:47.318Z moonrise +2026-06-20T00:25:11.780Z sunset +2026-06-20T04:25:41.850Z moonset +2026-06-20T10:27:28.142Z sunrise +2026-06-20T16:19:47.317Z moonrise 2026-06-20T17:26:26.780Z Sun culminates 84.84 degrees above the horizon 2026-06-20T22:41:46.090Z Moon culminates 64.45 degrees above the horizon -2026-06-21T00:25:25.634Z sunset -2026-06-21T04:56:19.042Z moonset +2026-06-21T00:25:25.861Z sunset +2026-06-21T04:56:19.052Z moonset 2026-06-21T08:24:58.859Z June solstice -2026-06-21T10:27:41.003Z sunrise -2026-06-21T17:17:48.662Z moonrise +2026-06-21T10:27:40.816Z sunrise +2026-06-21T17:17:48.665Z moonrise 2026-06-21T17:26:39.901Z Sun culminates 84.84 degrees above the horizon 2026-06-21T21:55:56.854Z first quarter 2026-06-21T23:25:01.603Z Moon culminates 58.09 degrees above the horizon -2026-06-22T00:25:38.548Z sunset +2026-06-22T00:25:38.775Z sunset 2026-06-22T01:59:09.102Z Jupiter moves from Gemini to Cancer -2026-06-22T05:25:23.898Z moonset -2026-06-22T10:27:54.743Z sunrise +2026-06-22T05:25:23.906Z moonset +2026-06-22T10:27:54.557Z sunrise 2026-06-22T17:26:52.960Z Sun culminates 84.83 degrees above the horizon -2026-06-22T18:14:05.262Z moonrise +2026-06-22T18:14:05.276Z moonrise 2026-06-23T00:07:22.571Z Moon culminates 52.04 degrees above the horizon -2026-06-23T00:25:50.272Z sunset -2026-06-23T05:54:24.834Z moonset -2026-06-23T10:28:09.526Z sunrise +2026-06-23T00:25:50.498Z sunset +2026-06-23T05:54:24.829Z moonset +2026-06-23T10:28:09.339Z sunrise 2026-06-23T17:27:05.933Z Sun culminates 84.82 degrees above the horizon -2026-06-23T19:09:47.305Z moonrise -2026-06-24T00:26:00.783Z sunset +2026-06-23T19:09:47.363Z moonrise +2026-06-24T00:26:01.009Z sunset 2026-06-24T00:50:03.191Z Moon culminates 46.49 degrees above the horizon -2026-06-24T06:24:42.056Z moonset -2026-06-24T10:28:25.324Z sunrise +2026-06-24T06:24:42.016Z moonset +2026-06-24T10:28:25.138Z sunrise 2026-06-24T17:27:18.798Z Sun culminates 84.80 degrees above the horizon -2026-06-24T20:05:44.097Z moonrise -2026-06-25T00:26:10.063Z sunset +2026-06-24T20:05:44.235Z moonrise +2026-06-25T00:26:10.288Z sunset 2026-06-25T01:34:03.989Z Moon culminates 41.63 degrees above the horizon -2026-06-25T06:57:31.851Z moonset -2026-06-25T10:28:42.113Z sunrise +2026-06-25T06:57:31.756Z moonset +2026-06-25T10:28:41.927Z sunrise 2026-06-25T17:27:31.531Z Sun culminates 84.77 degrees above the horizon -2026-06-25T21:02:13.196Z moonrise -2026-06-26T00:26:18.093Z sunset +2026-06-25T21:02:13.419Z moonrise +2026-06-26T00:26:18.318Z sunset 2026-06-26T02:20:06.822Z Moon culminates 37.64 degrees above the horizon -2026-06-26T07:34:05.813Z moonset -2026-06-26T10:28:59.868Z sunrise +2026-06-26T07:34:05.659Z moonset +2026-06-26T10:28:59.683Z sunrise 2026-06-26T17:27:44.114Z Sun culminates 84.74 degrees above the horizon -2026-06-26T21:58:50.430Z moonrise -2026-06-27T00:26:24.858Z sunset +2026-06-26T21:58:50.708Z moonrise +2026-06-27T00:26:25.082Z sunset 2026-06-27T03:08:26.824Z Moon culminates 34.73 degrees above the horizon -2026-06-27T08:15:22.435Z moonset -2026-06-27T10:29:18.564Z sunrise +2026-06-27T08:15:22.231Z moonset +2026-06-27T10:29:18.379Z sunrise 2026-06-27T17:27:56.524Z Sun culminates 84.70 degrees above the horizon -2026-06-27T22:54:27.841Z moonrise -2026-06-28T00:26:30.343Z sunset +2026-06-27T22:54:28.134Z moonrise +2026-06-28T00:26:30.566Z sunset 2026-06-28T03:58:44.621Z Moon culminates 33.05 degrees above the horizon 2026-06-28T07:11:22.513Z lunar apogee at 406256 km -2026-06-28T09:01:50.481Z moonset -2026-06-28T10:29:38.175Z sunrise +2026-06-28T09:01:50.238Z moonset +2026-06-28T10:29:37.991Z sunrise 2026-06-28T17:28:08.745Z Sun culminates 84.65 degrees above the horizon 2026-06-28T22:08:05.495Z Venus moves from Cancer to Leo -2026-06-28T23:47:29.537Z moonrise -2026-06-29T00:26:34.536Z sunset +2026-06-28T23:47:29.817Z moonrise +2026-06-29T00:26:34.758Z sunset 2026-06-29T04:50:06.208Z Moon culminates 32.73 degrees above the horizon -2026-06-29T09:53:10.858Z moonset -2026-06-29T10:29:58.678Z sunrise +2026-06-29T09:53:10.589Z moonset +2026-06-29T10:29:58.494Z sunrise 2026-06-29T17:28:20.756Z Sun culminates 84.60 degrees above the horizon 2026-06-29T23:57:18.181Z full moon -2026-06-30T00:26:37.424Z sunset -2026-06-30T00:36:25.460Z moonrise +2026-06-30T00:26:37.645Z sunset +2026-06-30T00:36:25.712Z moonrise 2026-06-30T05:41:16.903Z Moon culminates 33.82 degrees above the horizon -2026-06-30T10:30:20.046Z sunrise -2026-06-30T10:48:12.746Z moonset +2026-06-30T10:30:19.864Z sunrise +2026-06-30T10:48:12.471Z moonset 2026-06-30T17:28:32.541Z Sun culminates 84.54 degrees above the horizon -2026-07-01T00:26:38.997Z sunset -2026-07-01T01:20:24.823Z moonrise +2026-07-01T00:26:39.217Z sunset +2026-07-01T01:20:25.035Z moonrise 2026-07-01T06:31:06.243Z Moon culminates 36.24 degrees above the horizon 2026-07-01T09:33:02.030Z Mercury aphelion at 0.4667 AU -2026-07-01T10:30:42.255Z sunrise -2026-07-01T11:45:15.635Z moonset +2026-07-01T10:30:42.074Z sunrise +2026-07-01T11:45:15.394Z moonset 2026-07-01T17:28:44.081Z Sun culminates 84.47 degrees above the horizon -2026-07-02T00:26:39.247Z sunset -2026-07-02T01:59:28.199Z moonrise +2026-07-02T00:26:39.465Z sunset +2026-07-02T01:59:28.354Z moonrise 2026-07-02T07:18:50.549Z Moon culminates 39.84 degrees above the horizon -2026-07-02T10:31:05.280Z sunrise -2026-07-02T12:42:47.120Z moonset +2026-07-02T10:31:05.101Z sunrise +2026-07-02T12:42:46.954Z moonset 2026-07-02T17:28:55.360Z Sun culminates 84.40 degrees above the horizon -2026-07-03T00:26:38.162Z sunset -2026-07-03T02:34:16.964Z moonrise +2026-07-03T00:26:38.379Z sunset +2026-07-03T02:34:17.057Z moonrise 2026-07-03T08:04:22.194Z Moon culminates 44.44 degrees above the horizon -2026-07-03T10:31:29.095Z sunrise -2026-07-03T13:39:52.230Z moonset +2026-07-03T10:31:28.917Z sunrise +2026-07-03T13:39:52.151Z moonset 2026-07-03T17:29:06.359Z Sun culminates 84.32 degrees above the horizon -2026-07-04T00:26:35.737Z sunset -2026-07-04T03:05:55.073Z moonrise +2026-07-04T00:26:35.951Z sunset +2026-07-04T03:05:55.118Z moonrise 2026-07-04T08:48:06.127Z Moon culminates 49.81 degrees above the horizon -2026-07-04T10:31:53.673Z sunrise -2026-07-04T14:36:21.854Z moonset +2026-07-04T10:31:53.497Z sunrise +2026-07-04T14:36:21.835Z moonset 2026-07-04T17:29:17.062Z Sun culminates 84.23 degrees above the horizon -2026-07-05T00:26:31.962Z sunset -2026-07-05T03:35:35.733Z moonrise +2026-07-05T00:26:32.175Z sunset +2026-07-05T03:35:35.753Z moonrise 2026-07-05T09:30:51.321Z Moon culminates 55.75 degrees above the horizon -2026-07-05T10:32:18.987Z sunrise -2026-07-05T15:32:45.955Z moonset +2026-07-05T10:32:18.812Z sunrise +2026-07-05T15:32:45.956Z moonset 2026-07-05T17:29:27.452Z Sun culminates 84.13 degrees above the horizon -2026-07-06T00:26:26.831Z sunset -2026-07-06T04:04:36.318Z moonrise +2026-07-06T00:26:27.042Z sunset +2026-07-06T04:04:36.329Z moonrise 2026-07-06T10:13:43.432Z Moon culminates 62.04 degrees above the horizon -2026-07-06T10:32:45.009Z sunrise -2026-07-06T16:30:01.928Z moonset +2026-07-06T10:32:44.836Z sunrise +2026-07-06T16:30:01.931Z moonset 2026-07-06T17:29:37.510Z Sun culminates 84.03 degrees above the horizon 2026-07-06T18:00:23.358Z Earth aphelion at 1.0166 AU -2026-07-07T00:26:20.337Z sunset -2026-07-07T04:34:19.814Z moonrise -2026-07-07T10:33:11.709Z sunrise +2026-07-07T00:26:20.546Z sunset +2026-07-07T04:34:19.820Z moonrise +2026-07-07T10:33:11.538Z sunrise 2026-07-07T10:58:00.441Z Moon culminates 68.45 degrees above the horizon -2026-07-07T17:29:22.593Z moonset +2026-07-07T17:29:22.610Z moonset 2026-07-07T17:29:47.219Z Sun culminates 83.93 degrees above the horizon 2026-07-07T19:29:27.521Z third quarter -2026-07-08T00:26:12.474Z sunset -2026-07-08T05:06:20.203Z moonrise -2026-07-08T10:33:39.058Z sunrise +2026-07-08T00:26:12.681Z sunset +2026-07-08T05:06:20.192Z moonrise +2026-07-08T10:33:38.889Z sunrise 2026-07-08T11:45:09.227Z Moon culminates 74.70 degrees above the horizon 2026-07-08T17:29:56.561Z Sun culminates 83.81 degrees above the horizon -2026-07-08T18:32:00.897Z moonset -2026-07-09T00:26:03.237Z sunset -2026-07-09T05:42:28.777Z moonrise -2026-07-09T10:34:07.023Z sunrise +2026-07-08T18:32:00.967Z moonset +2026-07-09T00:26:03.442Z sunset +2026-07-09T05:42:28.727Z moonrise +2026-07-09T10:34:06.857Z sunrise 2026-07-09T12:36:37.715Z Moon culminates 80.43 degrees above the horizon 2026-07-09T17:30:05.516Z Sun culminates 83.69 degrees above the horizon -2026-07-09T19:38:42.874Z moonset -2026-07-10T00:25:52.621Z sunset -2026-07-10T06:24:55.076Z moonrise -2026-07-10T10:34:35.573Z sunrise +2026-07-09T19:38:43.027Z moonset +2026-07-10T00:25:52.823Z sunset +2026-07-10T06:24:54.972Z moonrise +2026-07-10T10:34:35.409Z sunrise 2026-07-10T13:33:33.836Z Moon culminates 85.16 degrees above the horizon 2026-07-10T17:30:14.067Z Sun culminates 83.56 degrees above the horizon -2026-07-10T20:49:01.400Z moonset -2026-07-11T00:25:40.620Z sunset -2026-07-11T07:15:47.878Z moonrise -2026-07-11T10:35:04.674Z sunrise +2026-07-10T20:49:01.614Z moonset +2026-07-11T00:25:40.819Z sunset +2026-07-11T07:15:47.725Z moonrise +2026-07-11T10:35:04.512Z sunrise 2026-07-11T14:36:04.405Z Moon culminates 88.33 degrees above the horizon 2026-07-11T17:30:22.195Z Sun culminates 83.43 degrees above the horizon -2026-07-11T22:00:26.838Z moonset -2026-07-12T00:25:27.232Z sunset -2026-07-12T08:16:16.103Z moonrise -2026-07-12T10:35:34.290Z sunrise +2026-07-11T22:00:27.059Z moonset +2026-07-12T00:25:27.428Z sunset +2026-07-12T08:16:15.910Z moonrise +2026-07-12T10:35:34.131Z sunrise 2026-07-12T15:42:29.236Z Moon culminates 89.43 degrees above the horizon 2026-07-12T17:30:29.879Z Sun culminates 83.29 degrees above the horizon -2026-07-12T23:08:39.331Z moonset -2026-07-13T00:25:12.452Z sunset +2026-07-12T23:08:39.526Z moonset +2026-07-13T00:25:12.646Z sunset 2026-07-13T01:19:37.959Z Mercury inferior conjunction 2026-07-13T07:56:49.301Z lunar perigee at 359102 km -2026-07-13T09:25:02.638Z moonrise -2026-07-13T10:36:04.386Z sunrise +2026-07-13T09:25:02.417Z moonrise +2026-07-13T10:36:04.230Z sunrise 2026-07-13T16:49:25.238Z Moon culminates 88.21 degrees above the horizon 2026-07-13T17:30:37.101Z Sun culminates 83.15 degrees above the horizon -2026-07-14T00:09:30.731Z moonset -2026-07-14T00:24:56.278Z sunset +2026-07-14T00:09:30.889Z moonset +2026-07-14T00:24:56.469Z sunset 2026-07-14T09:44:04.845Z new moon -2026-07-14T10:36:34.928Z sunrise -2026-07-14T10:38:06.440Z moonrise +2026-07-14T10:36:34.776Z sunrise +2026-07-14T10:38:06.229Z moonrise 2026-07-14T17:30:43.841Z Sun culminates 83.00 degrees above the horizon 2026-07-14T17:53:15.572Z Moon culminates 84.84 degrees above the horizon -2026-07-15T00:24:38.706Z sunset -2026-07-15T01:01:16.095Z moonset -2026-07-15T10:37:05.881Z sunrise -2026-07-15T11:50:43.624Z moonrise +2026-07-15T00:24:38.894Z sunset +2026-07-15T01:01:16.205Z moonset +2026-07-15T10:37:05.732Z sunrise +2026-07-15T11:50:43.481Z moonrise 2026-07-15T17:30:50.082Z Sun culminates 82.84 degrees above the horizon 2026-07-15T18:51:52.035Z Moon culminates 79.81 degrees above the horizon -2026-07-16T00:24:19.736Z sunset -2026-07-16T01:44:41.191Z moonset -2026-07-16T10:37:37.211Z sunrise -2026-07-16T12:59:50.960Z moonrise +2026-07-16T00:24:19.920Z sunset +2026-07-16T01:44:41.249Z moonset +2026-07-16T10:37:37.064Z sunrise +2026-07-16T12:59:50.903Z moonrise 2026-07-16T17:30:55.806Z Sun culminates 82.67 degrees above the horizon 2026-07-16T19:44:59.148Z Moon culminates 73.73 degrees above the horizon -2026-07-17T00:23:59.365Z sunset -2026-07-17T02:21:44.604Z moonset -2026-07-17T10:38:08.884Z sunrise -2026-07-17T14:04:38.758Z moonrise +2026-07-17T00:23:59.547Z sunset +2026-07-17T02:21:44.627Z moonset +2026-07-17T10:38:08.741Z sunrise +2026-07-17T14:04:38.749Z moonrise 2026-07-17T17:31:00.997Z Sun culminates 82.50 degrees above the horizon 2026-07-17T20:33:34.090Z Moon culminates 67.17 degrees above the horizon -2026-07-18T00:23:37.596Z sunset -2026-07-18T02:54:33.899Z moonset -2026-07-18T10:38:40.869Z sunrise -2026-07-18T15:05:43.419Z moonrise +2026-07-18T00:23:37.774Z sunset +2026-07-18T02:54:33.910Z moonset +2026-07-18T10:38:40.730Z sunrise +2026-07-18T15:05:43.420Z moonrise 2026-07-18T17:31:05.639Z Sun culminates 82.33 degrees above the horizon 2026-07-18T21:19:01.680Z Moon culminates 60.54 degrees above the horizon -2026-07-19T00:23:14.430Z sunset -2026-07-19T03:25:01.472Z moonset -2026-07-19T10:39:13.135Z sunrise -2026-07-19T16:04:15.243Z moonrise +2026-07-19T00:23:14.604Z sunset +2026-07-19T03:25:01.481Z moonset +2026-07-19T10:39:12.999Z sunrise +2026-07-19T16:04:15.249Z moonrise 2026-07-19T17:31:09.720Z Sun culminates 82.15 degrees above the horizon 2026-07-19T22:02:48.840Z Moon culminates 54.17 degrees above the horizon -2026-07-20T00:22:49.872Z sunset -2026-07-20T03:54:43.065Z moonset -2026-07-20T10:39:45.651Z sunrise -2026-07-20T17:01:26.720Z moonrise +2026-07-20T00:22:50.043Z sunset +2026-07-20T03:54:43.066Z moonset +2026-07-20T10:39:45.520Z sunrise +2026-07-20T17:01:26.758Z moonrise 2026-07-20T17:31:13.228Z Sun culminates 81.96 degrees above the horizon 2026-07-20T22:46:14.364Z Moon culminates 48.29 degrees above the horizon -2026-07-21T00:22:23.929Z sunset -2026-07-21T04:25:03.337Z moonset -2026-07-21T10:40:18.390Z sunrise +2026-07-21T00:22:24.096Z sunset +2026-07-21T04:25:03.311Z moonset +2026-07-21T10:40:18.263Z sunrise 2026-07-21T11:06:09.474Z first quarter 2026-07-21T17:31:16.152Z Sun culminates 81.76 degrees above the horizon -2026-07-21T17:58:15.433Z moonrise +2026-07-21T17:58:15.543Z moonrise 2026-07-21T23:30:24.827Z Moon culminates 43.09 degrees above the horizon -2026-07-22T00:21:56.609Z sunset -2026-07-22T04:57:21.181Z moonset -2026-07-22T10:40:51.324Z sunrise +2026-07-22T00:21:56.773Z sunset +2026-07-22T04:57:21.105Z moonset +2026-07-22T10:40:51.201Z sunrise 2026-07-22T17:31:18.485Z Sun culminates 81.57 degrees above the horizon -2026-07-22T18:55:12.265Z moonrise +2026-07-22T18:55:12.464Z moonrise 2026-07-23T00:16:10.527Z Moon culminates 38.76 degrees above the horizon -2026-07-23T00:21:27.923Z sunset -2026-07-23T05:32:51.296Z moonset -2026-07-23T10:41:24.428Z sunrise +2026-07-23T00:21:28.082Z sunset +2026-07-23T05:32:51.160Z moonset +2026-07-23T10:41:24.309Z sunrise 2026-07-23T17:31:20.219Z Sun culminates 81.36 degrees above the horizon -2026-07-23T19:52:11.117Z moonrise -2026-07-24T00:20:57.882Z sunset +2026-07-23T19:52:11.384Z moonrise +2026-07-24T00:20:58.037Z sunset 2026-07-24T01:03:58.917Z Moon culminates 35.46 degrees above the horizon -2026-07-24T06:12:39.287Z moonset -2026-07-24T10:41:57.678Z sunrise +2026-07-24T06:12:39.097Z moonset +2026-07-24T10:41:57.564Z sunrise 2026-07-24T17:31:21.349Z Sun culminates 81.15 degrees above the horizon -2026-07-24T20:48:23.586Z moonrise -2026-07-25T00:20:26.498Z sunset +2026-07-24T20:48:23.880Z moonrise +2026-07-25T00:20:26.650Z sunset 2026-07-25T01:53:46.751Z Moon culminates 33.36 degrees above the horizon -2026-07-25T06:57:28.473Z moonset -2026-07-25T10:42:31.052Z sunrise +2026-07-25T06:57:28.241Z moonset +2026-07-25T10:42:30.942Z sunrise 2026-07-25T16:44:51.585Z lunar apogee at 405538 km 2026-07-25T17:31:21.872Z Sun culminates 80.94 degrees above the horizon -2026-07-25T21:42:27.384Z moonrise -2026-07-26T00:19:53.788Z sunset +2026-07-25T21:42:27.671Z moonrise +2026-07-26T00:19:53.936Z sunset 2026-07-26T02:44:56.406Z Moon culminates 32.60 degrees above the horizon -2026-07-26T07:47:21.529Z moonset -2026-07-26T10:43:04.529Z sunrise +2026-07-26T07:47:21.266Z moonset +2026-07-26T10:43:04.424Z sunrise 2026-07-26T17:31:21.785Z Sun culminates 80.71 degrees above the horizon -2026-07-26T22:32:53.036Z moonrise -2026-07-27T00:19:19.767Z sunset +2026-07-26T22:32:53.299Z moonrise +2026-07-27T00:19:19.910Z sunset 2026-07-27T03:36:23.487Z Moon culminates 33.24 degrees above the horizon 2026-07-27T06:39:24.616Z Pluto opposition -2026-07-27T08:41:29.224Z moonset -2026-07-27T10:43:38.091Z sunrise +2026-07-27T08:41:28.946Z moonset +2026-07-27T10:43:37.991Z sunrise 2026-07-27T17:31:21.087Z Sun culminates 80.49 degrees above the horizon -2026-07-27T23:18:37.796Z moonrise -2026-07-28T00:18:44.452Z sunset +2026-07-27T23:18:38.024Z moonrise +2026-07-28T00:18:44.591Z sunset 2026-07-28T04:26:57.035Z Moon culminates 35.26 degrees above the horizon -2026-07-28T09:38:21.260Z moonset -2026-07-28T10:44:11.721Z sunrise +2026-07-28T09:38:21.001Z moonset +2026-07-28T10:44:11.625Z sunrise 2026-07-28T17:31:19.780Z Sun culminates 80.26 degrees above the horizon -2026-07-28T23:59:25.694Z moonrise -2026-07-29T00:18:07.861Z sunset +2026-07-28T23:59:25.869Z moonrise +2026-07-29T00:18:07.996Z sunset 2026-07-29T05:15:43.175Z Moon culminates 38.54 degrees above the horizon -2026-07-29T10:36:18.945Z moonset -2026-07-29T10:44:45.402Z sunrise +2026-07-29T10:36:18.750Z moonset +2026-07-29T10:44:45.311Z sunrise 2026-07-29T12:22:04.589Z Jupiter conjunction 2026-07-29T14:36:19.649Z full moon 2026-07-29T17:31:17.865Z Sun culminates 80.02 degrees above the horizon -2026-07-30T00:17:30.013Z sunset -2026-07-30T00:35:44.616Z moonrise +2026-07-30T00:17:30.144Z sunset +2026-07-30T00:35:44.728Z moonrise 2026-07-30T06:02:19.759Z Moon culminates 42.90 degrees above the horizon -2026-07-30T10:45:19.120Z sunrise -2026-07-30T11:34:09.430Z moonset +2026-07-30T10:45:19.034Z sunrise +2026-07-30T11:34:09.325Z moonset 2026-07-30T17:31:15.343Z Sun culminates 79.78 degrees above the horizon -2026-07-31T00:16:50.928Z sunset -2026-07-31T01:08:30.340Z moonrise +2026-07-31T00:16:51.054Z sunset +2026-07-31T01:08:30.396Z moonrise 2026-07-31T06:46:57.767Z Moon culminates 48.11 degrees above the horizon -2026-07-31T10:45:52.861Z sunrise -2026-07-31T12:31:22.645Z moonset +2026-07-31T10:45:52.780Z sunrise +2026-07-31T12:31:22.612Z moonset 2026-07-31T17:31:12.219Z Sun culminates 79.53 degrees above the horizon -2026-08-01T00:16:10.625Z sunset -2026-08-01T01:38:51.460Z moonrise +2026-08-01T00:16:10.747Z sunset +2026-08-01T01:38:51.485Z moonrise 2026-08-01T04:06:47.444Z Venus moves from Leo to Virgo 2026-08-01T07:30:14.561Z Moon culminates 53.96 degrees above the horizon -2026-08-01T10:46:26.612Z sunrise -2026-08-01T13:28:09.780Z moonset +2026-08-01T10:46:26.536Z sunrise +2026-08-01T13:28:09.779Z moonset 2026-08-01T17:31:08.495Z Sun culminates 79.28 degrees above the horizon -2026-08-02T00:15:29.123Z sunset -2026-08-02T02:08:01.509Z moonrise +2026-08-02T00:15:29.241Z sunset +2026-08-02T02:08:01.522Z moonrise 2026-08-02T08:02:28.152Z Mercury max morning elongation: 19.47 degrees from Sun 2026-08-02T08:13:05.909Z Moon culminates 60.21 degrees above the horizon -2026-08-02T10:47:00.361Z sunrise -2026-08-02T14:25:12.815Z moonset +2026-08-02T10:47:00.290Z sunrise +2026-08-02T14:25:12.818Z moonset 2026-08-02T17:31:04.177Z Sun culminates 79.02 degrees above the horizon -2026-08-03T00:14:46.445Z sunset -2026-08-03T02:37:17.919Z moonrise +2026-08-03T00:14:46.558Z sunset +2026-08-03T02:37:17.927Z moonrise 2026-08-03T08:56:40.237Z Moon culminates 66.61 degrees above the horizon -2026-08-03T10:47:34.095Z sunrise -2026-08-03T15:23:32.305Z moonset +2026-08-03T10:47:34.030Z sunrise +2026-08-03T15:23:32.315Z moonset 2026-08-03T17:30:59.267Z Sun culminates 78.76 degrees above the horizon -2026-08-04T00:14:02.609Z sunset -2026-08-04T03:08:05.485Z moonrise +2026-08-04T00:14:02.718Z sunset +2026-08-04T03:08:05.480Z moonrise 2026-08-04T09:42:14.703Z Moon culminates 72.89 degrees above the horizon -2026-08-04T10:48:07.803Z sunrise -2026-08-04T16:24:13.873Z moonset +2026-08-04T10:48:07.743Z sunrise +2026-08-04T16:24:13.922Z moonset 2026-08-04T17:30:53.770Z Sun culminates 78.50 degrees above the horizon -2026-08-05T00:13:17.636Z sunset -2026-08-05T03:42:01.732Z moonrise +2026-08-05T00:13:17.741Z sunset +2026-08-05T03:42:01.695Z moonrise 2026-08-05T10:31:09.699Z Moon culminates 78.72 degrees above the horizon -2026-08-05T10:48:41.473Z sunrise -2026-08-05T17:28:08.370Z moonset +2026-08-05T10:48:41.418Z sunrise +2026-08-05T17:28:08.496Z moonset 2026-08-05T17:30:47.691Z Sun culminates 78.23 degrees above the horizon -2026-08-06T00:12:31.547Z sunset +2026-08-06T00:12:31.647Z sunset 2026-08-06T02:21:57.319Z third quarter -2026-08-06T04:21:00.187Z moonrise -2026-08-06T10:49:15.092Z sunrise +2026-08-06T04:21:00.100Z moonrise +2026-08-06T10:49:15.042Z sunrise 2026-08-06T11:24:35.834Z Moon culminates 83.72 degrees above the horizon 2026-08-06T17:30:41.033Z Sun culminates 77.95 degrees above the horizon -2026-08-06T18:35:19.152Z moonset -2026-08-07T00:11:44.362Z sunset -2026-08-07T05:07:02.677Z moonrise -2026-08-07T10:49:48.648Z sunrise +2026-08-06T18:35:19.351Z moonset +2026-08-07T00:11:44.458Z sunset +2026-08-07T05:07:02.539Z moonrise +2026-08-07T10:49:48.603Z sunrise 2026-08-07T12:23:06.836Z Moon culminates 87.41 degrees above the horizon 2026-08-07T17:30:33.800Z Sun culminates 77.67 degrees above the horizon -2026-08-07T19:44:20.383Z moonset -2026-08-08T00:10:56.102Z sunset -2026-08-08T06:01:45.251Z moonrise -2026-08-08T10:50:22.127Z sunrise +2026-08-07T19:44:20.608Z moonset +2026-08-08T00:10:56.194Z sunset +2026-08-08T06:01:45.071Z moonrise +2026-08-08T10:50:22.087Z sunrise 2026-08-08T13:26:01.351Z Moon culminates 89.32 degrees above the horizon 2026-08-08T15:30:55.288Z Mercury moves from Gemini to Cancer 2026-08-08T17:30:25.996Z Sun culminates 77.39 degrees above the horizon -2026-08-08T20:52:01.610Z moonset -2026-08-09T00:10:06.787Z sunset -2026-08-09T07:05:11.431Z moonrise -2026-08-09T10:50:55.517Z sunrise +2026-08-08T20:52:01.820Z moonset +2026-08-09T00:10:06.874Z sunset +2026-08-09T07:05:11.219Z moonrise +2026-08-09T10:50:55.483Z sunrise 2026-08-09T14:31:03.074Z Moon culminates 89.11 degrees above the horizon 2026-08-09T17:30:17.625Z Sun culminates 77.10 degrees above the horizon -2026-08-09T21:54:30.789Z moonset -2026-08-10T00:09:16.435Z sunset -2026-08-10T08:14:58.257Z moonrise -2026-08-10T10:51:28.804Z sunrise +2026-08-09T21:54:30.968Z moonset +2026-08-10T00:09:16.519Z sunset +2026-08-10T08:14:58.033Z moonrise +2026-08-10T10:51:28.775Z sunrise 2026-08-10T11:18:04.528Z lunar perigee at 363273 km 2026-08-10T15:35:01.257Z Moon culminates 86.74 degrees above the horizon 2026-08-10T17:30:08.688Z Sun culminates 76.81 degrees above the horizon -2026-08-10T22:49:12.337Z moonset -2026-08-11T00:08:25.068Z sunset -2026-08-11T09:26:59.684Z moonrise -2026-08-11T10:52:01.976Z sunrise +2026-08-10T22:49:12.473Z moonset +2026-08-11T00:08:25.148Z sunset +2026-08-11T09:26:59.500Z moonrise +2026-08-11T10:52:01.951Z sunrise 2026-08-11T16:35:18.167Z Moon culminates 82.48 degrees above the horizon 2026-08-11T17:29:59.191Z Sun culminates 76.51 degrees above the horizon -2026-08-11T23:35:46.938Z moonset -2026-08-12T00:07:32.704Z sunset +2026-08-11T23:35:47.021Z moonset +2026-08-12T00:07:32.779Z sunset 2026-08-12T03:11:31.209Z Mars moves from Taurus to Gemini -2026-08-12T10:37:33.346Z moonrise -2026-08-12T10:52:35.019Z sunrise +2026-08-12T10:37:33.247Z moonrise +2026-08-12T10:52:34.999Z sunrise 2026-08-12T17:29:49.135Z Sun culminates 76.21 degrees above the horizon 2026-08-12T17:30:47.096Z Moon culminates 76.86 degrees above the horizon 2026-08-12T17:37:11.628Z new moon -2026-08-13T00:06:39.362Z sunset -2026-08-13T00:15:34.243Z moonset -2026-08-13T10:53:07.922Z sunrise -2026-08-13T11:44:45.441Z moonrise +2026-08-13T00:06:39.433Z sunset +2026-08-13T00:15:34.279Z moonset +2026-08-13T10:53:07.908Z sunrise +2026-08-13T11:44:45.414Z moonrise 2026-08-13T17:29:38.525Z Sun culminates 75.90 degrees above the horizon 2026-08-13T18:21:45.291Z Moon culminates 70.42 degrees above the horizon -2026-08-14T00:05:45.060Z sunset -2026-08-14T00:50:28.939Z moonset +2026-08-14T00:05:45.127Z sunset +2026-08-14T00:50:28.953Z moonset 2026-08-14T09:11:24.874Z Mercury perihelion at 0.3075 AU -2026-08-14T10:53:40.676Z sunrise -2026-08-14T12:48:24.307Z moonrise +2026-08-14T10:53:40.666Z sunrise +2026-08-14T12:48:24.306Z moonrise 2026-08-14T17:29:27.366Z Sun culminates 75.60 degrees above the horizon 2026-08-14T19:09:16.373Z Moon culminates 63.66 degrees above the horizon -2026-08-15T00:04:49.819Z sunset -2026-08-15T01:22:23.151Z moonset +2026-08-15T00:04:49.882Z sunset +2026-08-15T01:22:23.160Z moonset 2026-08-15T06:23:03.225Z Venus max evening elongation: 45.89 degrees from Sun -2026-08-15T10:54:13.270Z sunrise -2026-08-15T13:49:14.923Z moonrise +2026-08-15T10:54:13.265Z sunrise +2026-08-15T13:49:14.925Z moonrise 2026-08-15T17:29:15.663Z Sun culminates 75.28 degrees above the horizon 2026-08-15T19:54:38.923Z Moon culminates 56.99 degrees above the horizon -2026-08-16T00:03:53.658Z sunset -2026-08-16T01:52:55.621Z moonset +2026-08-16T00:03:53.718Z sunset +2026-08-16T01:52:55.627Z moonset 2026-08-16T10:54:45.697Z sunrise -2026-08-16T14:48:20.015Z moonrise +2026-08-16T14:48:20.034Z moonrise 2026-08-16T17:29:03.422Z Sun culminates 74.97 degrees above the horizon 2026-08-16T20:39:09.768Z Moon culminates 50.71 degrees above the horizon -2026-08-17T00:02:56.598Z sunset -2026-08-17T02:23:33.359Z moonset -2026-08-17T10:55:17.949Z sunrise -2026-08-17T15:46:36.278Z moonrise +2026-08-17T00:02:56.655Z sunset +2026-08-17T02:23:33.347Z moonset +2026-08-17T10:55:17.954Z sunrise +2026-08-17T15:46:36.355Z moonrise 2026-08-17T17:28:50.651Z Sun culminates 74.65 degrees above the horizon 2026-08-17T21:23:56.442Z Moon culminates 45.08 degrees above the horizon -2026-08-18T00:01:58.662Z sunset -2026-08-18T02:55:36.148Z moonset -2026-08-18T10:55:50.021Z sunrise -2026-08-18T16:44:39.522Z moonrise +2026-08-18T00:01:58.715Z sunset +2026-08-18T02:55:36.094Z moonset +2026-08-18T10:55:50.030Z sunrise +2026-08-18T16:44:39.688Z moonrise 2026-08-18T17:28:37.358Z Sun culminates 74.33 degrees above the horizon 2026-08-18T22:09:52.419Z Moon culminates 40.29 degrees above the horizon -2026-08-19T00:00:59.871Z sunset -2026-08-19T03:30:19.120Z moonset +2026-08-19T00:00:59.921Z sunset +2026-08-19T03:30:19.006Z moonset 2026-08-19T10:51:35.724Z Mercury moves from Cancer to Leo -2026-08-19T10:56:21.908Z sunrise +2026-08-19T10:56:21.922Z sunrise 2026-08-19T17:28:23.553Z Sun culminates 74.00 degrees above the horizon -2026-08-19T17:42:33.503Z moonrise +2026-08-19T17:42:33.750Z moonrise 2026-08-19T22:57:31.427Z Moon culminates 36.52 degrees above the horizon -2026-08-20T00:00:00.250Z sunset +2026-08-20T00:00:00.296Z sunset 2026-08-20T02:46:57.070Z first quarter -2026-08-20T04:08:50.387Z moonset -2026-08-20T10:56:53.608Z sunrise +2026-08-20T04:08:50.215Z moonset +2026-08-20T10:56:53.626Z sunrise 2026-08-20T17:28:09.248Z Sun culminates 73.67 degrees above the horizon -2026-08-20T18:39:43.119Z moonrise +2026-08-20T18:39:43.408Z moonrise 2026-08-20T23:47:00.516Z Moon culminates 33.93 degrees above the horizon -2026-08-20T23:58:59.822Z sunset -2026-08-21T04:52:01.457Z moonset -2026-08-21T10:57:25.121Z sunrise +2026-08-20T23:58:59.865Z sunset +2026-08-21T04:52:01.238Z moonset +2026-08-21T10:57:25.142Z sunrise 2026-08-21T17:27:54.454Z Sun culminates 73.34 degrees above the horizon -2026-08-21T19:34:58.393Z moonrise -2026-08-21T23:57:58.613Z sunset +2026-08-21T19:34:58.686Z moonrise +2026-08-21T23:57:58.653Z sunset 2026-08-22T00:37:55.423Z Moon culminates 32.66 degrees above the horizon -2026-08-22T05:40:11.346Z moonset +2026-08-22T05:40:11.093Z moonset 2026-08-22T08:20:46.754Z lunar apogee at 404632 km -2026-08-22T10:57:56.446Z sunrise +2026-08-22T10:57:56.471Z sunrise 2026-08-22T17:27:39.185Z Sun culminates 73.00 degrees above the horizon -2026-08-22T20:26:54.968Z moonrise -2026-08-22T23:56:56.649Z sunset +2026-08-22T20:26:55.242Z moonrise +2026-08-22T23:56:56.686Z sunset 2026-08-23T01:29:24.271Z Moon culminates 32.79 degrees above the horizon -2026-08-23T06:32:52.717Z moonset -2026-08-23T10:58:27.586Z sunrise +2026-08-23T06:32:52.441Z moonset +2026-08-23T10:58:27.615Z sunrise 2026-08-23T17:27:23.456Z Sun culminates 72.66 degrees above the horizon -2026-08-23T21:14:25.231Z moonrise -2026-08-23T23:55:53.956Z sunset +2026-08-23T21:14:25.474Z moonrise +2026-08-23T23:55:53.990Z sunset 2026-08-24T02:20:22.742Z Moon culminates 34.30 degrees above the horizon -2026-08-24T07:28:53.959Z moonset -2026-08-24T10:58:58.546Z sunrise +2026-08-24T07:28:53.687Z moonset +2026-08-24T10:58:58.579Z sunrise 2026-08-24T17:27:07.283Z Sun culminates 72.32 degrees above the horizon -2026-08-24T21:57:02.039Z moonrise -2026-08-24T23:54:50.562Z sunset +2026-08-24T21:57:02.236Z moonrise +2026-08-24T23:54:50.593Z sunset 2026-08-25T03:09:55.395Z Moon culminates 37.14 degrees above the horizon -2026-08-25T08:26:43.090Z moonset -2026-08-25T10:59:29.331Z sunrise +2026-08-25T08:26:42.865Z moonset +2026-08-25T10:59:29.368Z sunrise 2026-08-25T17:26:50.682Z Sun culminates 71.98 degrees above the horizon -2026-08-25T22:35:02.107Z moonrise -2026-08-25T23:53:46.494Z sunset +2026-08-25T22:35:02.242Z moonrise +2026-08-25T23:53:46.523Z sunset 2026-08-26T03:57:32.270Z Moon culminates 41.14 degrees above the horizon -2026-08-26T09:25:00.701Z moonset -2026-08-26T10:59:59.949Z sunrise +2026-08-26T09:25:00.561Z moonset +2026-08-26T10:59:59.989Z sunrise 2026-08-26T17:26:33.672Z Sun culminates 71.63 degrees above the horizon -2026-08-26T23:09:13.600Z moonrise -2026-08-26T23:52:41.781Z sunset +2026-08-26T23:09:13.674Z moonrise +2026-08-26T23:52:41.807Z sunset 2026-08-27T04:43:14.215Z Moon culminates 46.11 degrees above the horizon -2026-08-27T10:23:02.459Z moonset -2026-08-27T11:00:30.407Z sunrise +2026-08-27T10:23:02.403Z moonset +2026-08-27T11:00:30.451Z sunrise 2026-08-27T16:50:02.941Z Mercury superior conjunction 2026-08-27T17:26:16.270Z Sun culminates 71.28 degrees above the horizon -2026-08-27T23:40:40.964Z moonrise -2026-08-27T23:51:36.450Z sunset +2026-08-27T23:40:40.997Z moonrise +2026-08-27T23:51:36.474Z sunset 2026-08-28T04:12:49.076Z partial lunar eclipse 2026-08-28T04:19:05.890Z full moon 2026-08-28T05:27:29.018Z Moon culminates 51.83 degrees above the horizon -2026-08-28T11:01:00.717Z sunrise -2026-08-28T11:20:43.870Z moonset +2026-08-28T11:01:00.763Z sunrise +2026-08-28T11:20:43.861Z moonset 2026-08-28T17:25:58.497Z Sun culminates 70.93 degrees above the horizon -2026-08-28T23:50:30.531Z sunset -2026-08-29T00:10:35.232Z moonrise +2026-08-28T23:50:30.553Z sunset +2026-08-29T00:10:35.247Z moonrise 2026-08-29T06:11:04.234Z Moon culminates 58.07 degrees above the horizon -2026-08-29T11:01:30.886Z sunrise -2026-08-29T12:18:33.034Z moonset +2026-08-29T11:01:30.936Z sunrise +2026-08-29T12:18:33.037Z moonset 2026-08-29T17:25:40.371Z Sun culminates 70.57 degrees above the horizon -2026-08-29T23:49:24.052Z sunset -2026-08-30T00:40:11.022Z moonrise +2026-08-29T23:49:24.072Z sunset +2026-08-30T00:40:11.031Z moonrise 2026-08-30T06:55:00.848Z Moon culminates 64.55 degrees above the horizon -2026-08-30T11:02:00.928Z sunrise -2026-08-30T13:17:19.014Z moonset +2026-08-30T11:02:00.980Z sunrise +2026-08-30T13:17:19.019Z moonset 2026-08-30T17:25:21.912Z Sun culminates 70.21 degrees above the horizon -2026-08-30T23:48:17.041Z sunset -2026-08-31T01:10:48.304Z moonrise +2026-08-30T23:48:17.059Z sunset +2026-08-31T01:10:48.306Z moonrise 2026-08-31T07:40:28.446Z Moon culminates 70.99 degrees above the horizon -2026-08-31T11:02:30.852Z sunrise -2026-08-31T14:17:58.408Z moonset +2026-08-31T11:02:30.907Z sunrise +2026-08-31T14:17:58.440Z moonset 2026-08-31T17:25:03.141Z Sun culminates 69.85 degrees above the horizon -2026-08-31T23:47:09.527Z sunset -2026-09-01T01:43:56.474Z moonrise +2026-08-31T23:47:09.543Z sunset +2026-09-01T01:43:56.449Z moonrise 2026-09-01T08:28:39.692Z Moon culminates 77.05 degrees above the horizon -2026-09-01T11:03:00.670Z sunrise -2026-09-01T15:21:17.438Z moonset +2026-09-01T11:03:00.728Z sunrise +2026-09-01T15:21:17.539Z moonset 2026-09-01T17:24:44.076Z Sun culminates 69.49 degrees above the horizon -2026-09-01T23:46:01.537Z sunset -2026-09-02T02:21:17.367Z moonrise +2026-09-01T23:46:01.552Z sunset +2026-09-02T02:21:17.296Z moonrise 2026-09-02T09:20:39.687Z Moon culminates 82.34 degrees above the horizon -2026-09-02T11:03:30.392Z sunrise -2026-09-02T16:27:24.815Z moonset +2026-09-02T11:03:30.453Z sunrise +2026-09-02T16:27:24.996Z moonset 2026-09-02T17:24:24.737Z Sun culminates 69.13 degrees above the horizon -2026-09-02T23:44:53.100Z sunset -2026-09-03T03:04:40.819Z moonrise +2026-09-02T23:44:53.113Z sunset +2026-09-03T03:04:40.695Z moonrise 2026-09-03T10:17:05.219Z Moon culminates 86.44 degrees above the horizon -2026-09-03T11:04:00.030Z sunrise +2026-09-03T11:04:00.093Z sunrise 2026-09-03T17:24:05.143Z Sun culminates 68.76 degrees above the horizon -2026-09-03T17:35:17.203Z moonset -2026-09-03T23:43:44.243Z sunset -2026-09-04T03:55:41.587Z moonrise +2026-09-03T17:35:17.427Z moonset +2026-09-03T23:43:44.254Z sunset +2026-09-04T03:55:41.419Z moonrise 2026-09-04T07:51:41.750Z third quarter -2026-09-04T11:04:29.592Z sunrise +2026-09-04T11:04:29.657Z sunrise 2026-09-04T11:17:34.891Z Moon culminates 88.92 degrees above the horizon 2026-09-04T11:22:23.157Z Venus aphelion at 0.7282 AU 2026-09-04T17:23:45.312Z Sun culminates 68.39 degrees above the horizon -2026-09-04T18:42:20.912Z moonset -2026-09-04T23:42:34.993Z sunset -2026-09-05T04:54:50.078Z moonrise -2026-09-05T11:04:59.088Z sunrise +2026-09-04T18:42:21.131Z moonset +2026-09-04T23:42:35.003Z sunset +2026-09-05T04:54:49.876Z moonrise +2026-09-05T11:04:59.156Z sunrise 2026-09-05T12:20:28.832Z Moon culminates 89.44 degrees above the horizon 2026-09-05T17:23:25.263Z Sun culminates 68.02 degrees above the horizon -2026-09-05T19:45:11.128Z moonset +2026-09-05T19:45:11.321Z moonset 2026-09-05T20:22:26.648Z Saturn moves from Pisces to Cetus -2026-09-05T23:41:25.376Z sunset -2026-09-06T06:00:40.937Z moonrise -2026-09-06T11:05:28.526Z sunrise +2026-09-05T23:41:25.385Z sunset +2026-09-06T06:00:40.714Z moonrise +2026-09-06T11:05:28.596Z sunrise 2026-09-06T13:23:10.072Z Moon culminates 87.89 degrees above the horizon 2026-09-06T17:23:05.011Z Sun culminates 67.65 degrees above the horizon -2026-09-06T20:41:06.614Z moonset +2026-09-06T20:41:06.771Z moonset 2026-09-06T20:44:08.974Z lunar perigee at 368249 km -2026-09-06T23:40:15.419Z sunset +2026-09-06T23:40:15.427Z sunset 2026-09-07T01:26:30.879Z Mercury moves from Leo to Virgo -2026-09-07T07:10:02.647Z moonrise -2026-09-07T11:05:57.914Z sunrise +2026-09-07T07:10:02.441Z moonrise +2026-09-07T11:05:57.985Z sunrise 2026-09-07T14:23:09.761Z Moon culminates 84.44 degrees above the horizon 2026-09-07T17:22:44.575Z Sun culminates 67.27 degrees above the horizon -2026-09-07T21:29:18.848Z moonset -2026-09-07T23:39:05.148Z sunset -2026-09-08T08:19:27.223Z moonrise -2026-09-08T11:06:27.259Z sunrise +2026-09-07T21:29:18.956Z moonset +2026-09-07T23:39:05.154Z sunset +2026-09-08T08:19:27.086Z moonrise +2026-09-08T11:06:27.332Z sunrise 2026-09-08T15:19:05.649Z Moon culminates 79.47 degrees above the horizon 2026-09-08T17:22:23.969Z Sun culminates 66.90 degrees above the horizon -2026-09-08T22:10:40.117Z moonset -2026-09-08T23:37:54.586Z sunset -2026-09-09T09:26:39.371Z moonrise -2026-09-09T11:06:56.568Z sunrise +2026-09-08T22:10:40.174Z moonset +2026-09-08T23:37:54.592Z sunset +2026-09-09T09:26:39.317Z moonrise +2026-09-09T11:06:56.642Z sunrise 2026-09-09T16:10:52.115Z Moon culminates 73.45 degrees above the horizon 2026-09-09T17:22:03.210Z Sun culminates 66.52 degrees above the horizon -2026-09-09T22:46:50.413Z moonset -2026-09-09T23:36:43.758Z sunset -2026-09-10T10:30:57.038Z moonrise -2026-09-10T11:07:25.849Z sunrise +2026-09-09T22:46:50.435Z moonset +2026-09-09T23:36:43.763Z sunset +2026-09-10T10:30:57.030Z moonrise +2026-09-10T11:07:25.924Z sunrise 2026-09-10T16:59:14.962Z Moon culminates 66.86 degrees above the horizon 2026-09-10T17:21:42.313Z Sun culminates 66.14 degrees above the horizon -2026-09-10T23:19:36.834Z moonset -2026-09-10T23:35:32.688Z sunset +2026-09-10T23:19:36.844Z moonset +2026-09-10T23:35:32.692Z sunset 2026-09-11T03:27:27.779Z new moon -2026-09-11T11:07:55.108Z sunrise -2026-09-11T11:32:42.430Z moonrise +2026-09-11T11:07:55.185Z sunrise +2026-09-11T11:32:42.431Z moonrise 2026-09-11T17:21:21.294Z Sun culminates 65.76 degrees above the horizon 2026-09-11T17:45:22.490Z Moon culminates 60.12 degrees above the horizon -2026-09-11T23:34:21.399Z sunset -2026-09-11T23:50:37.382Z moonset -2026-09-12T11:08:24.353Z sunrise -2026-09-12T12:32:45.842Z moonrise +2026-09-11T23:34:21.402Z sunset +2026-09-11T23:50:37.390Z moonset +2026-09-12T11:08:24.432Z sunrise +2026-09-12T12:32:45.849Z moonrise 2026-09-12T17:21:00.169Z Sun culminates 65.38 degrees above the horizon 2026-09-12T18:30:26.777Z Moon culminates 53.60 degrees above the horizon -2026-09-12T23:33:09.914Z sunset -2026-09-13T00:21:19.251Z moonset -2026-09-13T11:08:53.592Z sunrise -2026-09-13T13:31:59.396Z moonrise +2026-09-12T23:33:09.917Z sunset +2026-09-13T00:21:19.250Z moonset +2026-09-13T11:08:53.672Z sunrise +2026-09-13T13:31:59.441Z moonrise 2026-09-13T17:20:38.952Z Sun culminates 65.00 degrees above the horizon 2026-09-13T19:15:33.851Z Moon culminates 47.58 degrees above the horizon -2026-09-13T23:31:58.259Z sunset -2026-09-14T00:53:01.980Z moonset -2026-09-14T11:09:22.833Z sunrise -2026-09-14T14:30:59.510Z moonrise +2026-09-13T23:31:58.261Z sunset +2026-09-14T00:53:01.948Z moonset +2026-09-14T11:09:22.914Z sunrise +2026-09-14T14:30:59.634Z moonrise 2026-09-14T17:20:17.660Z Sun culminates 64.61 degrees above the horizon 2026-09-14T20:01:37.654Z Moon culminates 42.31 degrees above the horizon -2026-09-14T23:30:46.456Z sunset -2026-09-15T01:27:00.049Z moonset -2026-09-15T11:09:52.085Z sunrise -2026-09-15T15:29:53.964Z moonrise +2026-09-14T23:30:46.458Z sunset +2026-09-15T01:26:59.962Z moonset +2026-09-15T11:09:52.166Z sunrise +2026-09-15T15:29:54.179Z moonrise 2026-09-15T17:19:56.310Z Sun culminates 64.23 degrees above the horizon 2026-09-15T20:49:14.151Z Moon culminates 38.03 degrees above the horizon -2026-09-15T23:29:34.530Z sunset -2026-09-16T02:04:21.735Z moonset -2026-09-16T11:10:21.355Z sunrise -2026-09-16T16:28:13.414Z moonrise +2026-09-15T23:29:34.531Z sunset +2026-09-16T02:04:21.586Z moonset +2026-09-16T11:10:21.438Z sunrise +2026-09-16T16:28:13.691Z moonrise 2026-09-16T17:19:34.918Z Sun culminates 63.84 degrees above the horizon 2026-09-16T21:38:34.711Z Moon culminates 34.90 degrees above the horizon -2026-09-16T23:28:22.506Z sunset -2026-09-17T02:46:01.863Z moonset -2026-09-17T11:10:50.654Z sunrise +2026-09-16T23:28:22.508Z sunset +2026-09-17T02:46:01.662Z moonset +2026-09-17T11:10:50.738Z sunrise 2026-09-17T17:19:13.503Z Sun culminates 63.46 degrees above the horizon -2026-09-17T17:24:52.611Z moonrise +2026-09-17T17:24:52.906Z moonrise 2026-09-17T22:29:21.307Z Moon culminates 33.07 degrees above the horizon -2026-09-17T23:27:10.411Z sunset -2026-09-18T03:32:28.320Z moonset -2026-09-18T11:11:19.994Z sunrise +2026-09-17T23:27:10.412Z sunset +2026-09-18T03:32:28.080Z moonset +2026-09-18T11:11:20.078Z sunrise 2026-09-18T17:18:52.083Z Sun culminates 63.07 degrees above the horizon -2026-09-18T18:18:27.375Z moonrise +2026-09-18T18:18:27.658Z moonrise 2026-09-18T20:44:24.705Z first quarter 2026-09-18T23:20:48.671Z Moon culminates 32.62 degrees above the horizon -2026-09-18T23:25:58.270Z sunset +2026-09-18T23:25:58.271Z sunset 2026-09-19T02:59:43.512Z lunar apogee at 404210 km -2026-09-19T04:23:28.122Z moonset -2026-09-19T11:11:49.385Z sunrise +2026-09-19T04:23:27.854Z moonset +2026-09-19T11:11:49.470Z sunrise 2026-09-19T17:18:30.677Z Sun culminates 62.68 degrees above the horizon -2026-09-19T19:07:44.190Z moonrise -2026-09-19T23:24:46.110Z sunset +2026-09-19T19:07:44.447Z moonrise +2026-09-19T23:24:46.111Z sunset 2026-09-20T00:11:56.943Z Moon culminates 33.58 degrees above the horizon -2026-09-20T05:18:05.080Z moonset -2026-09-20T11:12:18.841Z sunrise +2026-09-20T05:18:04.803Z moonset +2026-09-20T11:12:18.927Z sunrise 2026-09-20T17:18:09.307Z Sun culminates 62.30 degrees above the horizon -2026-09-20T19:52:06.444Z moonrise -2026-09-20T23:23:33.959Z sunset +2026-09-20T19:52:06.662Z moonrise +2026-09-20T23:23:33.960Z sunset 2026-09-21T01:01:51.288Z Moon culminates 35.87 degrees above the horizon -2026-09-21T06:14:57.323Z moonset -2026-09-21T11:12:48.375Z sunrise +2026-09-21T06:14:57.075Z moonset +2026-09-21T11:12:48.462Z sunrise 2026-09-21T17:17:47.992Z Sun culminates 61.91 degrees above the horizon -2026-09-21T20:31:42.189Z moonrise +2026-09-21T20:31:42.352Z moonrise 2026-09-21T23:22:21.846Z sunset 2026-09-22T01:49:58.879Z Moon culminates 39.37 degrees above the horizon -2026-09-22T07:12:47.089Z moonset -2026-09-22T11:13:18.004Z sunrise +2026-09-22T07:12:46.912Z moonset +2026-09-22T11:13:18.091Z sunrise 2026-09-22T13:33:42.181Z Venus peak magnitude -4.78 in evening sky 2026-09-22T17:17:26.756Z Sun culminates 61.52 degrees above the horizon -2026-09-22T21:07:14.236Z moonrise +2026-09-22T21:07:14.334Z moonrise 2026-09-22T23:21:09.798Z sunset 2026-09-23T00:05:37.449Z September equinox 2026-09-23T02:36:15.982Z Moon culminates 43.93 degrees above the horizon -2026-09-23T08:10:45.052Z moonset -2026-09-23T11:13:47.742Z sunrise +2026-09-23T08:10:44.964Z moonset +2026-09-23T11:13:47.831Z sunrise 2026-09-23T14:34:55.927Z Jupiter moves from Cancer to Leo 2026-09-23T17:17:05.621Z Sun culminates 61.13 degrees above the horizon -2026-09-23T21:39:44.745Z moonrise +2026-09-23T21:39:44.791Z moonrise 2026-09-23T23:19:57.845Z sunset 2026-09-24T03:21:05.716Z Moon culminates 49.36 degrees above the horizon -2026-09-24T09:08:39.049Z moonset -2026-09-24T11:14:17.608Z sunrise +2026-09-24T09:08:39.026Z moonset +2026-09-24T11:14:17.697Z sunrise 2026-09-24T17:16:44.610Z Sun culminates 60.74 degrees above the horizon -2026-09-24T22:10:24.088Z moonrise +2026-09-24T22:10:24.107Z moonrise 2026-09-24T23:18:46.017Z sunset 2026-09-25T01:15:54.985Z Mars moves from Gemini to Cancer 2026-09-25T04:05:11.696Z Moon culminates 55.44 degrees above the horizon -2026-09-25T10:06:49.986Z moonset -2026-09-25T11:14:47.618Z sunrise +2026-09-25T10:06:49.987Z moonset +2026-09-25T11:14:47.707Z sunrise 2026-09-25T17:16:23.747Z Sun culminates 60.35 degrees above the horizon -2026-09-25T22:40:26.461Z moonrise +2026-09-25T22:40:26.471Z moonrise 2026-09-25T23:17:34.344Z sunset 2026-09-26T01:26:48.301Z Neptune opposition 2026-09-26T04:49:31.880Z Moon culminates 61.92 degrees above the horizon -2026-09-26T11:06:01.829Z moonset -2026-09-26T11:15:17.791Z sunrise +2026-09-26T11:06:01.832Z moonset +2026-09-26T11:15:17.881Z sunrise 2026-09-26T16:49:31.026Z full moon 2026-09-26T17:16:03.057Z Sun culminates 59.96 degrees above the horizon -2026-09-26T23:11:10.702Z moonrise -2026-09-26T23:16:22.855Z sunset +2026-09-26T23:11:10.708Z moonrise +2026-09-26T23:16:22.856Z sunset 2026-09-27T05:35:13.649Z Moon culminates 68.51 degrees above the horizon 2026-09-27T08:48:52.437Z Mercury aphelion at 0.4667 AU -2026-09-27T11:15:48.280Z sunrise -2026-09-27T12:07:08.920Z moonset +2026-09-27T11:15:48.235Z sunrise +2026-09-27T12:07:08.937Z moonset 2026-09-27T17:15:42.563Z Sun culminates 59.57 degrees above the horizon 2026-09-27T23:15:11.582Z sunset -2026-09-27T23:44:03.803Z moonrise +2026-09-27T23:44:03.791Z moonrise 2026-09-28T06:23:28.295Z Moon culminates 74.87 degrees above the horizon -2026-09-28T11:16:18.698Z sunrise -2026-09-28T13:10:58.616Z moonset +2026-09-28T11:16:18.789Z sunrise +2026-09-28T13:10:58.688Z moonset 2026-09-28T17:15:22.289Z Sun culminates 59.18 degrees above the horizon -2026-09-28T23:14:00.553Z sunset -2026-09-29T00:20:43.930Z moonrise +2026-09-28T23:14:00.653Z sunset +2026-09-29T00:20:43.878Z moonrise 2026-09-29T07:15:20.821Z Moon culminates 80.59 degrees above the horizon -2026-09-29T11:16:49.469Z sunrise -2026-09-29T14:17:44.689Z moonset +2026-09-29T11:16:49.561Z sunrise +2026-09-29T14:17:44.844Z moonset 2026-09-29T17:15:02.261Z Sun culminates 58.80 degrees above the horizon -2026-09-29T23:12:49.800Z sunset -2026-09-30T01:02:57.236Z moonrise +2026-09-29T23:12:49.898Z sunset +2026-09-30T01:02:57.130Z moonrise 2026-09-30T08:11:30.207Z Moon culminates 85.21 degrees above the horizon -2026-09-30T11:17:20.475Z sunrise -2026-09-30T15:26:32.039Z moonset +2026-09-30T11:17:20.568Z sunrise +2026-09-30T15:26:32.253Z moonset 2026-09-30T17:14:42.501Z Sun culminates 58.41 degrees above the horizon -2026-09-30T23:11:39.351Z sunset -2026-10-01T01:52:18.455Z moonrise +2026-09-30T23:11:39.449Z sunset +2026-10-01T01:52:18.300Z moonrise 2026-10-01T09:11:40.432Z Moon culminates 88.25 degrees above the horizon -2026-10-01T11:17:51.732Z sunrise -2026-10-01T16:34:53.557Z moonset +2026-10-01T11:17:51.826Z sunrise +2026-10-01T16:34:53.780Z moonset 2026-10-01T17:14:23.032Z Sun culminates 58.02 degrees above the horizon 2026-10-01T20:52:16.541Z lunar perigee at 369324 km -2026-10-01T23:10:29.238Z sunset -2026-10-02T02:49:27.073Z moonrise +2026-10-01T23:10:29.334Z sunset +2026-10-02T02:49:26.882Z moonrise 2026-10-02T10:14:18.913Z Moon culminates 89.38 degrees above the horizon -2026-10-02T11:18:23.256Z sunrise +2026-10-02T11:18:23.350Z sunrise 2026-10-02T17:14:03.877Z Sun culminates 57.63 degrees above the horizon -2026-10-02T17:39:21.201Z moonset -2026-10-02T23:09:19.488Z sunset -2026-10-03T03:53:16.936Z moonrise +2026-10-02T17:39:21.403Z moonset +2026-10-02T23:09:19.584Z sunset +2026-10-03T03:53:16.718Z moonrise 2026-10-03T11:16:53.543Z Moon culminates 88.46 degrees above the horizon -2026-10-03T11:18:55.059Z sunrise +2026-10-03T11:18:55.155Z sunrise 2026-10-03T13:25:34.117Z third quarter 2026-10-03T17:13:45.058Z Sun culminates 57.25 degrees above the horizon -2026-10-03T18:36:58.743Z moonset -2026-10-03T23:08:10.133Z sunset -2026-10-04T05:00:55.949Z moonrise -2026-10-04T11:19:27.156Z sunrise +2026-10-03T18:36:58.912Z moonset +2026-10-03T23:08:10.227Z sunset +2026-10-04T05:00:55.734Z moonrise +2026-10-04T11:19:27.252Z sunrise 2026-10-04T12:12:41.100Z Saturn opposition 2026-10-04T12:16:54.389Z Moon culminates 85.62 degrees above the horizon 2026-10-04T17:13:26.593Z Sun culminates 56.86 degrees above the horizon -2026-10-04T19:26:40.416Z moonset -2026-10-04T23:07:01.199Z sunset -2026-10-05T06:09:03.703Z moonrise -2026-10-05T11:19:59.558Z sunrise +2026-10-04T19:26:40.542Z moonset +2026-10-04T23:07:01.293Z sunset +2026-10-05T06:09:03.541Z moonrise +2026-10-05T11:19:59.655Z sunrise 2026-10-05T13:12:53.737Z Moon culminates 81.21 degrees above the horizon 2026-10-05T17:13:08.505Z Sun culminates 56.48 degrees above the horizon -2026-10-05T20:09:08.492Z moonset -2026-10-05T23:05:52.717Z sunset -2026-10-06T07:15:20.542Z moonrise -2026-10-06T11:20:32.275Z sunrise +2026-10-05T20:09:08.567Z moonset +2026-10-05T23:05:52.809Z sunset +2026-10-06T07:15:20.462Z moonrise +2026-10-06T11:20:32.373Z sunrise 2026-10-06T14:04:40.300Z Moon culminates 75.67 degrees above the horizon 2026-10-06T17:12:50.811Z Sun culminates 56.09 degrees above the horizon -2026-10-06T20:46:00.711Z moonset -2026-10-06T23:04:44.712Z sunset -2026-10-07T08:18:56.296Z moonrise -2026-10-07T11:21:05.316Z sunrise +2026-10-06T20:46:00.744Z moonset +2026-10-06T23:04:44.803Z sunset +2026-10-07T08:18:56.277Z moonrise +2026-10-07T11:21:05.415Z sunrise 2026-10-07T14:52:56.377Z Moon culminates 69.43 degrees above the horizon 2026-10-07T17:12:33.529Z Sun culminates 55.71 degrees above the horizon 2026-10-07T17:20:04.771Z Mercury moves from Virgo to Libra -2026-10-07T21:19:05.698Z moonset -2026-10-07T23:03:37.211Z sunset -2026-10-08T09:20:07.284Z moonrise -2026-10-08T11:21:38.691Z sunrise +2026-10-07T21:19:05.711Z moonset +2026-10-07T23:03:37.301Z sunset +2026-10-08T09:20:07.285Z moonrise +2026-10-08T11:21:38.791Z sunrise 2026-10-08T15:38:49.057Z Moon culminates 62.87 degrees above the horizon 2026-10-08T17:12:16.678Z Sun culminates 55.33 degrees above the horizon -2026-10-08T21:50:04.112Z moonset -2026-10-08T23:02:30.242Z sunset -2026-10-09T10:19:41.937Z moonrise -2026-10-09T11:22:12.406Z sunrise +2026-10-08T21:50:03.621Z moonset +2026-10-08T23:02:30.330Z sunset +2026-10-09T10:19:41.940Z moonrise +2026-10-09T11:22:12.507Z sunrise 2026-10-09T16:23:30.943Z Moon culminates 56.34 degrees above the horizon 2026-10-09T17:12:00.273Z Sun culminates 54.95 degrees above the horizon -2026-10-09T22:20:23.161Z moonset -2026-10-09T23:01:23.828Z sunset -2026-10-10T11:18:34.487Z moonrise -2026-10-10T11:22:46.468Z sunrise +2026-10-09T22:20:23.166Z moonset +2026-10-09T23:01:23.916Z sunset +2026-10-10T11:18:34.510Z moonrise +2026-10-10T11:22:46.470Z sunrise 2026-10-10T15:50:35.166Z new moon 2026-10-10T17:08:10.002Z Moon culminates 50.15 degrees above the horizon 2026-10-10T17:11:44.330Z Sun culminates 54.57 degrees above the horizon -2026-10-10T22:51:24.628Z moonset -2026-10-10T23:00:17.996Z sunset -2026-10-11T11:23:20.883Z sunrise -2026-10-11T12:17:26.888Z moonrise +2026-10-10T22:51:24.613Z moonset +2026-10-10T23:00:18.082Z sunset +2026-10-11T11:23:20.885Z sunrise +2026-10-11T12:17:26.972Z moonrise 2026-10-11T17:11:28.865Z Sun culminates 54.20 degrees above the horizon 2026-10-11T17:53:43.450Z Moon culminates 44.56 degrees above the horizon -2026-10-11T22:59:12.771Z sunset -2026-10-11T23:24:23.009Z moonset +2026-10-11T22:59:12.856Z sunset +2026-10-11T23:24:22.949Z moonset 2026-10-12T10:06:20.884Z Mercury max evening elongation: 25.16 degrees from Sun -2026-10-12T11:23:55.656Z sunrise -2026-10-12T13:16:34.650Z moonrise +2026-10-12T11:23:55.659Z sunrise +2026-10-12T13:16:34.826Z moonrise 2026-10-12T17:11:13.892Z Sun culminates 53.82 degrees above the horizon 2026-10-12T18:40:51.689Z Moon culminates 39.84 degrees above the horizon -2026-10-12T22:58:08.178Z sunset -2026-10-13T00:00:27.877Z moonset -2026-10-13T11:24:30.792Z sunrise -2026-10-13T14:15:35.723Z moonrise +2026-10-12T22:58:08.261Z sunset +2026-10-13T00:00:27.756Z moonset +2026-10-13T11:24:30.795Z sunrise +2026-10-13T14:15:35.976Z moonrise 2026-10-13T17:10:59.426Z Sun culminates 53.45 degrees above the horizon 2026-10-13T19:29:51.016Z Moon culminates 36.20 degrees above the horizon -2026-10-13T22:57:04.242Z sunset -2026-10-14T00:40:37.491Z moonset -2026-10-14T11:25:06.293Z sunrise -2026-10-14T15:13:27.558Z moonrise +2026-10-13T22:57:04.323Z sunset +2026-10-14T00:40:37.312Z moonset +2026-10-14T11:25:06.297Z sunrise +2026-10-14T15:13:27.847Z moonrise 2026-10-14T17:10:45.483Z Sun culminates 53.08 degrees above the horizon 2026-10-14T20:20:27.382Z Moon culminates 33.82 degrees above the horizon -2026-10-14T22:56:00.988Z sunset -2026-10-15T01:25:26.322Z moonset -2026-10-15T11:25:42.165Z sunrise -2026-10-15T16:08:40.435Z moonrise +2026-10-14T22:56:01.068Z sunset +2026-10-15T01:25:26.098Z moonset +2026-10-15T11:25:42.170Z sunrise +2026-10-15T16:08:40.723Z moonrise 2026-10-15T17:10:32.077Z Sun culminates 52.71 degrees above the horizon 2026-10-15T21:11:56.698Z Moon culminates 32.81 degrees above the horizon -2026-10-15T22:54:58.443Z sunset -2026-10-16T02:14:50.323Z moonset -2026-10-16T11:26:18.411Z sunrise -2026-10-16T16:59:47.457Z moonrise +2026-10-15T22:54:58.521Z sunset +2026-10-16T02:14:50.066Z moonset +2026-10-16T11:26:18.416Z sunrise +2026-10-16T16:59:47.725Z moonrise 2026-10-16T17:10:19.223Z Sun culminates 52.34 degrees above the horizon 2026-10-16T22:03:16.388Z Moon culminates 33.20 degrees above the horizon -2026-10-16T22:53:56.634Z sunset +2026-10-16T22:53:56.709Z sunset 2026-10-16T22:54:21.111Z lunar apogee at 404632 km -2026-10-17T03:08:01.262Z moonset -2026-10-17T11:26:55.034Z sunrise +2026-10-17T03:08:00.988Z moonset +2026-10-17T11:26:55.041Z sunrise 2026-10-17T17:10:06.936Z Sun culminates 51.97 degrees above the horizon -2026-10-17T17:45:56.124Z moonrise -2026-10-17T22:52:55.586Z sunset +2026-10-17T17:45:56.358Z moonrise +2026-10-17T22:52:55.659Z sunset 2026-10-17T22:53:25.818Z Moon culminates 34.95 degrees above the horizon -2026-10-18T04:03:40.520Z moonset -2026-10-18T11:27:32.040Z sunrise +2026-10-18T04:03:40.259Z moonset +2026-10-18T11:27:32.047Z sunrise 2026-10-18T16:13:20.167Z first quarter 2026-10-18T17:09:55.233Z Sun culminates 51.61 degrees above the horizon -2026-10-18T18:27:02.205Z moonrise -2026-10-18T22:51:55.328Z sunset +2026-10-18T18:27:02.391Z moonrise +2026-10-18T22:51:55.399Z sunset 2026-10-18T23:41:45.591Z Moon culminates 37.92 degrees above the horizon -2026-10-19T05:00:28.161Z moonset -2026-10-19T11:28:09.432Z sunrise +2026-10-19T05:00:27.954Z moonset +2026-10-19T11:28:09.440Z sunrise 2026-10-19T17:09:44.130Z Sun culminates 51.25 degrees above the horizon -2026-10-19T19:03:42.264Z moonrise -2026-10-19T22:50:55.888Z sunset +2026-10-19T19:03:42.389Z moonrise +2026-10-19T22:50:55.957Z sunset 2026-10-20T00:28:06.763Z Moon culminates 41.98 degrees above the horizon -2026-10-20T05:57:29.830Z moonset -2026-10-20T11:28:47.215Z sunrise +2026-10-20T05:57:29.707Z moonset +2026-10-20T11:28:47.225Z sunrise 2026-10-20T17:09:33.643Z Sun culminates 50.89 degrees above the horizon -2026-10-20T19:36:56.926Z moonrise -2026-10-20T22:49:57.295Z sunset +2026-10-20T19:36:56.992Z moonrise +2026-10-20T22:49:57.362Z sunset 2026-10-21T01:12:49.392Z Moon culminates 46.96 degrees above the horizon -2026-10-21T06:54:28.641Z moonset -2026-10-21T11:29:25.395Z sunrise +2026-10-21T06:54:28.595Z moonset +2026-10-21T11:29:25.406Z sunrise 2026-10-21T17:09:23.790Z Sun culminates 50.54 degrees above the horizon -2026-10-21T20:07:57.195Z moonrise -2026-10-21T22:48:59.578Z sunset +2026-10-21T20:07:57.224Z moonrise +2026-10-21T22:48:59.642Z sunset 2026-10-22T01:56:35.946Z Moon culminates 52.67 degrees above the horizon -2026-10-22T07:51:43.038Z moonset -2026-10-22T11:30:03.977Z sunrise +2026-10-22T07:51:43.033Z moonset +2026-10-22T11:30:03.989Z sunrise 2026-10-22T17:09:14.589Z Sun culminates 50.18 degrees above the horizon -2026-10-22T20:37:58.172Z moonrise -2026-10-22T22:48:02.767Z sunset +2026-10-22T20:37:58.186Z moonrise +2026-10-22T22:48:02.829Z sunset 2026-10-23T02:40:24.784Z Moon culminates 58.91 degrees above the horizon -2026-10-23T08:49:57.949Z moonset -2026-10-23T11:30:42.966Z sunrise +2026-10-23T08:49:57.951Z moonset +2026-10-23T11:30:42.980Z sunrise 2026-10-23T17:09:06.056Z Sun culminates 49.83 degrees above the horizon -2026-10-23T21:08:19.037Z moonrise -2026-10-23T22:47:06.892Z sunset +2026-10-23T21:08:19.045Z moonrise +2026-10-23T22:47:06.951Z sunset 2026-10-24T03:25:25.515Z Moon culminates 65.46 degrees above the horizon 2026-10-24T03:33:40.802Z Venus inferior conjunction -2026-10-24T09:50:13.632Z moonset -2026-10-24T11:31:22.368Z sunrise +2026-10-24T09:50:13.638Z moonset +2026-10-24T11:31:22.384Z sunrise 2026-10-24T17:08:58.211Z Sun culminates 49.48 degrees above the horizon -2026-10-24T21:40:26.748Z moonrise -2026-10-24T22:46:11.983Z sunset +2026-10-24T21:40:26.746Z moonrise +2026-10-24T22:46:12.039Z sunset 2026-10-25T04:12:54.753Z Moon culminates 72.00 degrees above the horizon -2026-10-25T10:53:30.720Z moonset -2026-10-25T11:32:02.189Z sunrise +2026-10-25T10:53:30.761Z moonset +2026-10-25T11:32:02.206Z sunrise 2026-10-25T17:08:51.072Z Sun culminates 49.14 degrees above the horizon -2026-10-25T22:16:00.522Z moonrise -2026-10-25T22:45:18.071Z sunset +2026-10-25T22:16:00.490Z moonrise +2026-10-25T22:45:18.124Z sunset 2026-10-26T04:12:14.105Z full moon 2026-10-26T05:04:08.000Z Moon culminates 78.13 degrees above the horizon -2026-10-26T11:32:42.434Z sunrise -2026-10-26T12:00:25.403Z moonset +2026-10-26T11:32:42.452Z sunrise +2026-10-26T12:00:25.521Z moonset 2026-10-26T17:08:44.654Z Sun culminates 48.80 degrees above the horizon -2026-10-26T22:44:25.185Z sunset -2026-10-26T22:56:51.938Z moonrise +2026-10-26T22:44:25.236Z sunset +2026-10-26T22:56:51.856Z moonrise 2026-10-27T06:00:01.276Z Moon culminates 83.36 degrees above the horizon -2026-10-27T11:33:23.106Z sunrise -2026-10-27T13:10:29.991Z moonset +2026-10-27T11:33:23.126Z sunrise +2026-10-27T13:10:30.185Z moonset 2026-10-27T17:08:38.977Z Sun culminates 48.46 degrees above the horizon -2026-10-27T22:43:33.357Z sunset -2026-10-27T23:44:50.282Z moonrise +2026-10-27T22:43:33.404Z sunset +2026-10-27T23:44:50.147Z moonrise 2026-10-28T07:00:38.522Z Moon culminates 87.15 degrees above the horizon -2026-10-28T11:34:04.208Z sunrise -2026-10-28T14:21:32.505Z moonset +2026-10-28T11:34:04.230Z sunrise +2026-10-28T14:21:32.727Z moonset 2026-10-28T17:08:34.055Z Sun culminates 48.13 degrees above the horizon 2026-10-28T18:04:11.197Z lunar perigee at 364397 km -2026-10-28T22:42:42.615Z sunset -2026-10-29T00:40:59.902Z moonrise +2026-10-28T22:42:42.660Z sunset +2026-10-29T00:40:59.724Z moonrise 2026-10-29T08:04:37.470Z Moon culminates 89.03 degrees above the horizon -2026-10-29T11:34:45.741Z sunrise -2026-10-29T15:29:44.652Z moonset +2026-10-29T11:34:45.765Z sunrise +2026-10-29T15:29:44.860Z moonset 2026-10-29T17:08:29.904Z Sun culminates 47.80 degrees above the horizon -2026-10-29T22:41:52.990Z sunset -2026-10-30T01:44:37.483Z moonrise +2026-10-29T22:41:53.031Z sunset +2026-10-30T01:44:37.273Z moonrise 2026-10-30T09:09:12.781Z Moon culminates 88.77 degrees above the horizon -2026-10-30T11:35:27.705Z sunrise +2026-10-30T11:35:27.732Z sunrise 2026-10-30T14:53:19.890Z Mars moves from Cancer to Leo -2026-10-30T16:31:17.425Z moonset +2026-10-30T16:31:17.602Z moonset 2026-10-30T17:08:26.539Z Sun culminates 47.47 degrees above the horizon -2026-10-30T22:41:04.511Z sunset -2026-10-31T02:52:49.924Z moonrise +2026-10-30T22:41:04.549Z sunset +2026-10-31T02:52:49.706Z moonrise 2026-10-31T10:11:21.665Z Moon culminates 86.45 degrees above the horizon -2026-10-31T11:36:10.097Z sunrise +2026-10-31T11:36:10.126Z sunrise 2026-10-31T17:08:23.972Z Sun culminates 47.15 degrees above the horizon -2026-10-31T17:24:15.928Z moonset -2026-10-31T22:40:17.208Z sunset -2026-11-01T04:01:49.398Z moonrise +2026-10-31T17:24:16.065Z moonset +2026-10-31T22:40:17.242Z sunset +2026-11-01T04:01:49.219Z moonrise 2026-11-01T11:09:05.280Z Moon culminates 82.44 degrees above the horizon -2026-11-01T11:36:52.913Z sunrise +2026-11-01T11:36:52.944Z sunrise 2026-11-01T17:08:22.215Z Sun culminates 46.83 degrees above the horizon -2026-11-01T18:09:02.375Z moonset +2026-11-01T18:09:02.463Z moonset 2026-11-01T20:28:59.228Z third quarter -2026-11-01T22:39:31.107Z sunset -2026-11-02T05:08:45.374Z moonrise -2026-11-02T11:37:36.146Z sunrise +2026-11-01T22:39:31.138Z sunset +2026-11-02T05:08:45.274Z moonrise +2026-11-02T11:37:36.179Z sunrise 2026-11-02T12:01:57.299Z Moon culminates 77.22 degrees above the horizon 2026-11-02T17:08:21.279Z Sun culminates 46.51 degrees above the horizon -2026-11-02T18:47:17.481Z moonset -2026-11-02T22:38:46.238Z sunset -2026-11-03T06:12:31.167Z moonrise -2026-11-03T11:38:19.789Z sunrise +2026-11-02T18:47:17.524Z moonset +2026-11-02T22:38:46.265Z sunset +2026-11-03T06:12:31.136Z moonrise +2026-11-03T11:38:19.825Z sunrise 2026-11-03T12:50:39.162Z Moon culminates 71.24 degrees above the horizon 2026-11-03T17:08:21.173Z Sun culminates 46.20 degrees above the horizon -2026-11-03T19:21:00.583Z moonset -2026-11-03T22:38:02.625Z sunset -2026-11-04T07:13:20.993Z moonrise -2026-11-04T11:39:03.831Z sunrise +2026-11-03T19:21:00.600Z moonset +2026-11-03T22:38:02.649Z sunset +2026-11-04T07:13:20.991Z moonrise +2026-11-04T11:39:03.869Z sunrise 2026-11-04T13:36:23.728Z Moon culminates 64.88 degrees above the horizon 2026-11-04T14:18:37.484Z Mercury inferior conjunction 2026-11-04T17:08:21.904Z Sun culminates 45.89 degrees above the horizon -2026-11-04T19:52:01.676Z moonset -2026-11-04T22:37:20.295Z sunset -2026-11-05T08:12:09.305Z moonrise -2026-11-05T11:39:48.261Z sunrise +2026-11-04T19:52:01.686Z moonset +2026-11-04T22:37:20.315Z sunset +2026-11-05T08:12:09.307Z moonrise +2026-11-05T11:39:48.301Z sunrise 2026-11-05T14:20:31.055Z Moon culminates 58.46 degrees above the horizon 2026-11-05T17:08:23.478Z Sun culminates 45.59 degrees above the horizon -2026-11-05T20:21:56.178Z moonset -2026-11-05T22:36:39.270Z sunset -2026-11-06T09:10:00.414Z moonrise -2026-11-06T11:40:33.064Z sunrise +2026-11-05T20:21:56.185Z moonset +2026-11-05T22:36:39.286Z sunset +2026-11-06T09:10:00.426Z moonrise +2026-11-06T11:40:33.107Z sunrise 2026-11-06T15:04:16.723Z Moon culminates 52.27 degrees above the horizon 2026-11-06T17:08:25.899Z Sun culminates 45.29 degrees above the horizon -2026-11-06T20:52:08.448Z moonset -2026-11-06T22:35:59.572Z sunset -2026-11-07T10:07:49.295Z moonrise -2026-11-07T11:41:18.224Z sunrise +2026-11-06T20:52:08.443Z moonset +2026-11-06T22:35:59.585Z sunset +2026-11-07T10:07:49.352Z moonrise +2026-11-07T11:41:18.269Z sunrise 2026-11-07T15:48:46.101Z Moon culminates 46.56 degrees above the horizon 2026-11-07T17:08:29.170Z Sun culminates 44.99 degrees above the horizon -2026-11-07T21:23:56.329Z moonset -2026-11-07T22:35:21.224Z sunset +2026-11-07T21:23:56.289Z moonset +2026-11-07T22:35:21.233Z sunset 2026-11-08T04:11:44.303Z Mercury moves from Libra to Virgo -2026-11-08T11:06:07.271Z moonrise -2026-11-08T11:42:03.723Z sunrise +2026-11-08T11:06:07.410Z moonrise +2026-11-08T11:42:03.771Z sunrise 2026-11-08T16:34:49.123Z Moon culminates 41.58 degrees above the horizon 2026-11-08T17:08:33.291Z Sun culminates 44.70 degrees above the horizon -2026-11-08T21:58:32.863Z moonset -2026-11-08T22:34:44.244Z sunset +2026-11-08T21:58:32.767Z moonset +2026-11-08T22:34:44.249Z sunset 2026-11-09T07:02:40.972Z new moon -2026-11-09T11:42:49.542Z sunrise -2026-11-09T12:04:49.211Z moonrise +2026-11-09T11:42:49.592Z sunrise +2026-11-09T12:04:49.436Z moonrise 2026-11-09T17:08:38.262Z Sun culminates 44.42 degrees above the horizon 2026-11-09T17:22:53.038Z Moon culminates 37.56 degrees above the horizon -2026-11-09T22:34:08.653Z sunset -2026-11-09T22:37:02.432Z moonset +2026-11-09T22:34:08.654Z sunset +2026-11-09T22:37:02.276Z moonset 2026-11-10T08:27:15.535Z Mercury perihelion at 0.3075 AU -2026-11-10T11:43:35.658Z sunrise -2026-11-10T13:03:05.440Z moonrise +2026-11-10T11:43:35.712Z sunrise +2026-11-10T13:03:05.717Z moonrise 2026-11-10T17:08:44.082Z Sun culminates 44.13 degrees above the horizon 2026-11-10T18:12:54.179Z Moon culminates 34.72 degrees above the horizon -2026-11-10T22:33:34.468Z sunset -2026-11-10T23:20:09.463Z moonset -2026-11-11T11:44:22.050Z sunrise -2026-11-11T13:59:27.667Z moonrise +2026-11-10T22:33:34.466Z sunset +2026-11-10T23:20:09.256Z moonset +2026-11-11T11:44:22.106Z sunrise +2026-11-11T13:59:27.954Z moonrise 2026-11-11T17:08:50.747Z Sun culminates 43.86 degrees above the horizon 2026-11-11T19:04:14.168Z Moon culminates 33.21 degrees above the horizon -2026-11-11T22:33:01.709Z sunset -2026-11-12T00:08:01.944Z moonset -2026-11-12T11:45:08.692Z sunrise -2026-11-12T14:52:15.478Z moonrise +2026-11-11T22:33:01.702Z sunset +2026-11-12T00:08:01.700Z moonset +2026-11-12T11:45:08.750Z sunrise +2026-11-12T14:52:15.752Z moonrise 2026-11-12T17:08:58.255Z Sun culminates 43.59 degrees above the horizon 2026-11-12T19:55:47.677Z Moon culminates 33.09 degrees above the horizon -2026-11-12T22:32:30.390Z sunset -2026-11-13T01:00:00.197Z moonset -2026-11-13T11:45:55.559Z sunrise -2026-11-13T15:40:13.532Z moonrise +2026-11-12T22:32:30.381Z sunset +2026-11-13T00:59:59.930Z moonset +2026-11-13T11:45:55.621Z sunrise +2026-11-13T15:40:13.778Z moonrise 2026-11-13T17:09:06.601Z Sun culminates 43.32 degrees above the horizon 2026-11-13T17:50:49.115Z lunar apogee at 405608 km 2026-11-13T20:46:23.039Z Moon culminates 34.35 degrees above the horizon -2026-11-13T22:32:00.531Z sunset -2026-11-14T01:54:44.927Z moonset -2026-11-14T11:46:42.627Z sunrise -2026-11-14T16:22:56.166Z moonrise +2026-11-13T22:32:00.518Z sunset +2026-11-14T01:54:44.661Z moonset +2026-11-14T11:46:42.691Z sunrise +2026-11-14T16:22:56.369Z moonrise 2026-11-14T17:09:15.781Z Sun culminates 43.06 degrees above the horizon 2026-11-14T21:35:06.216Z Moon culminates 36.87 degrees above the horizon -2026-11-14T22:31:32.147Z sunset -2026-11-15T02:50:46.094Z moonset -2026-11-15T11:47:29.868Z sunrise -2026-11-15T17:00:46.670Z moonrise +2026-11-14T22:31:32.130Z sunset +2026-11-15T02:50:45.868Z moonset +2026-11-15T11:47:29.935Z sunrise +2026-11-15T17:00:46.817Z moonrise 2026-11-15T17:09:25.789Z Sun culminates 42.81 degrees above the horizon 2026-11-15T22:21:35.377Z Moon culminates 40.49 degrees above the horizon -2026-11-15T22:31:05.256Z sunset -2026-11-16T03:46:55.286Z moonset -2026-11-16T11:48:17.256Z sunrise +2026-11-15T22:31:05.235Z sunset +2026-11-16T03:46:55.135Z moonset +2026-11-16T11:48:17.325Z sunrise 2026-11-16T17:09:36.621Z Sun culminates 42.56 degrees above the horizon -2026-11-16T17:34:40.343Z moonrise -2026-11-16T22:30:39.872Z sunset +2026-11-16T17:34:40.431Z moonrise +2026-11-16T22:30:39.848Z sunset 2026-11-16T23:06:02.009Z Moon culminates 45.03 degrees above the horizon -2026-11-17T04:42:43.402Z moonset +2026-11-17T04:42:43.332Z moonset 2026-11-17T11:48:27.139Z first quarter -2026-11-17T11:49:04.763Z sunrise +2026-11-17T11:49:04.836Z sunrise 2026-11-17T17:09:48.272Z Sun culminates 42.31 degrees above the horizon -2026-11-17T18:05:47.193Z moonrise -2026-11-17T22:30:16.013Z sunset +2026-11-17T18:05:47.235Z moonrise +2026-11-17T22:30:15.985Z sunset 2026-11-17T23:49:03.958Z Moon culminates 50.31 degrees above the horizon -2026-11-18T05:38:21.159Z moonset -2026-11-18T11:49:52.363Z sunrise +2026-11-18T05:38:21.143Z moonset +2026-11-18T11:49:52.438Z sunrise 2026-11-18T17:10:00.734Z Sun culminates 42.08 degrees above the horizon -2026-11-18T18:35:22.267Z moonrise -2026-11-18T22:29:53.694Z sunset +2026-11-18T18:35:22.286Z moonrise +2026-11-18T22:29:53.662Z sunset 2026-11-18T23:08:39.554Z Mercury moves from Virgo to Libra 2026-11-19T00:31:37.580Z Moon culminates 56.18 degrees above the horizon -2026-11-19T06:34:30.738Z moonset -2026-11-19T11:50:40.029Z sunrise +2026-11-19T06:34:30.740Z moonset +2026-11-19T11:50:40.107Z sunrise 2026-11-19T17:10:14.004Z Sun culminates 41.84 degrees above the horizon -2026-11-19T19:04:43.719Z moonrise -2026-11-19T22:29:32.930Z sunset +2026-11-19T19:04:43.730Z moonrise +2026-11-19T22:29:32.895Z sunset 2026-11-20T01:14:52.516Z Moon culminates 62.44 degrees above the horizon -2026-11-20T07:32:15.647Z moonset -2026-11-20T11:51:27.734Z sunrise +2026-11-20T07:32:15.650Z moonset +2026-11-20T11:51:27.814Z sunrise 2026-11-20T17:10:28.075Z Sun culminates 41.62 degrees above the horizon -2026-11-20T19:35:16.062Z moonrise -2026-11-20T22:29:13.738Z sunset +2026-11-20T19:35:16.068Z moonrise +2026-11-20T22:29:13.700Z sunset 2026-11-20T23:35:39.724Z Mercury max morning elongation: 19.62 degrees from Sun 2026-11-21T02:00:08.741Z Moon culminates 68.86 degrees above the horizon -2026-11-21T08:32:49.509Z moonset -2026-11-21T11:52:15.449Z sunrise +2026-11-21T08:32:49.528Z moonset +2026-11-21T11:52:15.532Z sunrise 2026-11-21T17:10:42.940Z Sun culminates 41.40 degrees above the horizon -2026-11-21T20:08:36.039Z moonrise -2026-11-21T22:28:56.132Z sunset +2026-11-21T20:08:36.025Z moonrise +2026-11-21T22:28:56.090Z sunset 2026-11-22T02:48:52.521Z Moon culminates 75.14 degrees above the horizon -2026-11-22T09:37:18.332Z moonset -2026-11-22T11:53:03.149Z sunrise +2026-11-22T09:37:18.407Z moonset +2026-11-22T11:53:03.234Z sunrise 2026-11-22T17:10:58.594Z Sun culminates 41.18 degrees above the horizon -2026-11-22T20:46:37.533Z moonrise -2026-11-22T22:28:40.125Z sunset +2026-11-22T20:46:37.478Z moonrise +2026-11-22T22:28:40.080Z sunset 2026-11-23T03:42:24.799Z Moon culminates 80.85 degrees above the horizon -2026-11-23T10:46:06.967Z moonset -2026-11-23T11:53:50.805Z sunrise +2026-11-23T10:46:07.125Z moonset +2026-11-23T11:53:50.893Z sunrise 2026-11-23T17:11:15.029Z Sun culminates 40.97 degrees above the horizon -2026-11-23T21:31:27.340Z moonrise -2026-11-23T22:28:25.731Z sunset +2026-11-23T21:31:27.231Z moonrise +2026-11-23T22:28:25.683Z sunset 2026-11-24T04:41:33.167Z Moon culminates 85.43 degrees above the horizon -2026-11-24T11:54:38.388Z sunrise -2026-11-24T11:58:07.046Z moonset +2026-11-24T11:54:38.479Z sunrise +2026-11-24T11:58:07.259Z moonset 2026-11-24T14:54:03.462Z full moon 2026-11-24T17:11:32.236Z Sun culminates 40.77 degrees above the horizon -2026-11-24T22:24:55.154Z moonrise -2026-11-24T22:28:12.961Z sunset +2026-11-24T22:24:54.996Z moonrise +2026-11-24T22:28:12.910Z sunset 2026-11-25T05:45:46.114Z Moon culminates 88.29 degrees above the horizon -2026-11-25T11:55:25.870Z sunrise -2026-11-25T13:09:58.923Z moonset +2026-11-25T11:55:25.962Z sunrise +2026-11-25T13:09:59.138Z moonset 2026-11-25T17:11:50.206Z Sun culminates 40.58 degrees above the horizon 2026-11-25T21:02:00.293Z lunar perigee at 359335 km 2026-11-25T22:27:02.266Z Uranus opposition -2026-11-25T22:28:01.826Z sunset -2026-11-25T23:27:24.359Z moonrise +2026-11-25T22:28:01.772Z sunset +2026-11-25T23:27:24.163Z moonrise 2026-11-26T06:52:39.753Z Moon culminates 88.99 degrees above the horizon -2026-11-26T11:56:13.218Z sunrise -2026-11-26T14:17:02.382Z moonset +2026-11-26T11:56:13.313Z sunrise +2026-11-26T14:17:02.569Z moonset 2026-11-26T17:12:08.928Z Sun culminates 40.39 degrees above the horizon -2026-11-26T22:27:52.337Z sunset -2026-11-27T00:36:42.047Z moonrise +2026-11-26T22:27:52.280Z sunset +2026-11-27T00:36:41.829Z moonrise 2026-11-27T01:47:33.356Z Venus peak magnitude -4.87 in morning sky 2026-11-27T07:58:34.928Z Moon culminates 87.41 degrees above the horizon -2026-11-27T11:57:00.402Z sunrise -2026-11-27T15:15:42.561Z moonset +2026-11-27T11:57:00.499Z sunrise +2026-11-27T15:15:42.710Z moonset 2026-11-27T17:12:28.391Z Sun culminates 40.20 degrees above the horizon -2026-11-27T22:27:44.501Z sunset -2026-11-28T01:48:29.451Z moonrise +2026-11-27T22:27:44.442Z sunset +2026-11-28T01:48:29.254Z moonrise 2026-11-28T09:00:22.707Z Moon culminates 83.85 degrees above the horizon -2026-11-28T11:57:47.385Z sunrise -2026-11-28T16:05:08.809Z moonset +2026-11-28T11:57:47.485Z sunrise +2026-11-28T16:05:08.910Z moonset 2026-11-28T17:12:48.581Z Sun culminates 40.03 degrees above the horizon -2026-11-28T22:27:38.327Z sunset -2026-11-29T02:58:41.587Z moonrise +2026-11-28T22:27:38.265Z sunset +2026-11-29T02:58:41.461Z moonrise 2026-11-29T09:56:41.283Z Moon culminates 78.84 degrees above the horizon -2026-11-29T11:58:34.134Z sunrise -2026-11-29T16:46:41.084Z moonset +2026-11-29T11:58:34.236Z sunrise +2026-11-29T16:46:41.136Z moonset 2026-11-29T17:13:09.484Z Sun culminates 39.86 degrees above the horizon -2026-11-29T22:27:33.820Z sunset -2026-11-30T04:05:11.931Z moonrise +2026-11-29T22:27:33.755Z sunset +2026-11-30T04:05:11.884Z moonrise 2026-11-30T10:47:49.277Z Moon culminates 72.93 degrees above the horizon -2026-11-30T11:59:20.611Z sunrise +2026-11-30T11:59:20.715Z sunrise 2026-11-30T17:13:31.083Z Sun culminates 39.70 degrees above the horizon -2026-11-30T17:22:27.527Z moonset -2026-11-30T22:27:30.983Z sunset -2026-12-01T05:07:49.275Z moonrise +2026-11-30T17:22:27.548Z moonset +2026-11-30T22:27:30.916Z sunset +2026-12-01T05:07:49.269Z moonrise 2026-12-01T06:09:13.997Z third quarter 2026-12-01T11:34:59.014Z Moon culminates 66.58 degrees above the horizon -2026-12-01T12:00:06.779Z sunrise +2026-12-01T12:00:06.884Z sunrise 2026-12-01T17:13:53.359Z Sun culminates 39.54 degrees above the horizon -2026-12-01T17:54:33.616Z moonset -2026-12-01T22:27:29.819Z sunset -2026-12-02T06:07:26.278Z moonrise -2026-12-02T12:00:52.597Z sunrise +2026-12-01T17:54:33.627Z moonset +2026-12-01T22:27:29.749Z sunset +2026-12-02T06:07:26.280Z moonrise +2026-12-02T12:00:52.704Z sunrise 2026-12-02T12:19:38.721Z Moon culminates 60.16 degrees above the horizon 2026-12-02T17:14:16.293Z Sun culminates 39.39 degrees above the horizon -2026-12-02T18:24:47.427Z moonset -2026-12-02T22:27:30.325Z sunset -2026-12-03T07:05:16.296Z moonrise -2026-12-03T12:01:38.025Z sunrise +2026-12-02T18:24:47.436Z moonset +2026-12-02T22:27:30.253Z sunset +2026-12-03T07:05:16.303Z moonrise +2026-12-03T12:01:38.135Z sunrise 2026-12-03T13:03:13.941Z Moon culminates 53.93 degrees above the horizon 2026-12-03T17:14:39.862Z Sun culminates 39.25 degrees above the horizon -2026-12-03T18:54:41.608Z moonset -2026-12-03T22:27:32.498Z sunset -2026-12-04T08:02:28.365Z moonrise -2026-12-04T12:02:23.022Z sunrise +2026-12-03T18:54:41.609Z moonset +2026-12-03T22:27:32.425Z sunset +2026-12-04T08:02:28.405Z moonrise +2026-12-04T12:02:23.133Z sunrise 2026-12-04T13:47:00.276Z Moon culminates 48.14 degrees above the horizon 2026-12-04T17:15:04.042Z Sun culminates 39.12 degrees above the horizon -2026-12-04T19:25:39.234Z moonset -2026-12-04T22:27:36.332Z sunset -2026-12-05T08:59:51.911Z moonrise -2026-12-05T12:03:07.542Z sunrise +2026-12-04T19:25:39.207Z moonset +2026-12-04T22:27:36.256Z sunset +2026-12-05T08:59:52.022Z moonrise +2026-12-05T12:03:07.655Z sunrise 2026-12-05T14:31:59.146Z Moon culminates 43.01 degrees above the horizon 2026-12-05T17:15:28.807Z Sun culminates 38.99 degrees above the horizon -2026-12-05T19:58:57.820Z moonset -2026-12-05T22:27:41.817Z sunset -2026-12-06T09:57:43.910Z moonrise -2026-12-06T12:03:51.542Z sunrise +2026-12-05T19:58:57.742Z moonset +2026-12-05T22:27:41.739Z sunset +2026-12-06T09:57:44.108Z moonrise +2026-12-06T12:03:51.656Z sunrise 2026-12-06T15:18:51.905Z Moon culminates 38.74 degrees above the horizon 2026-12-06T17:15:54.129Z Sun culminates 38.87 degrees above the horizon -2026-12-06T20:35:48.378Z moonset -2026-12-06T22:27:48.942Z sunset -2026-12-07T10:55:37.967Z moonrise -2026-12-07T12:04:34.975Z sunrise +2026-12-06T20:35:48.240Z moonset +2026-12-06T22:27:48.862Z sunset +2026-12-07T10:55:38.230Z moonrise +2026-12-07T12:04:35.090Z sunrise 2026-12-07T16:07:51.456Z Moon culminates 35.56 degrees above the horizon 2026-12-07T17:16:19.977Z Sun culminates 38.76 degrees above the horizon -2026-12-07T21:17:07.002Z moonset -2026-12-07T22:27:57.692Z sunset +2026-12-07T21:17:06.810Z moonset +2026-12-07T22:27:57.611Z sunset 2026-12-08T05:58:06.841Z Mercury moves from Libra to Scorpius -2026-12-08T11:52:22.543Z moonrise -2026-12-08T12:05:17.795Z sunrise +2026-12-08T11:52:22.829Z moonrise +2026-12-08T12:05:17.911Z sunrise 2026-12-08T16:58:34.967Z Moon culminates 33.63 degrees above the horizon 2026-12-08T17:16:46.321Z Sun culminates 38.65 degrees above the horizon -2026-12-08T22:03:18.842Z moonset -2026-12-08T22:28:08.052Z sunset +2026-12-08T22:03:18.610Z moonset +2026-12-08T22:28:07.970Z sunset 2026-12-09T00:52:30.964Z new moon -2026-12-09T12:05:59.953Z sunrise -2026-12-09T12:46:18.318Z moonrise +2026-12-09T12:06:00.071Z sunrise +2026-12-09T12:46:18.596Z moonrise 2026-12-09T17:17:13.128Z Sun culminates 38.56 degrees above the horizon 2026-12-09T17:50:05.301Z Moon culminates 33.07 degrees above the horizon -2026-12-09T22:28:20.004Z sunset -2026-12-09T22:54:01.670Z moonset -2026-12-10T12:06:41.404Z sunrise -2026-12-10T13:35:53.689Z moonrise +2026-12-09T22:28:19.920Z sunset +2026-12-09T22:54:01.410Z moonset +2026-12-10T12:06:41.523Z sunrise +2026-12-10T13:35:53.943Z moonrise 2026-12-10T17:17:40.365Z Sun culminates 38.47 degrees above the horizon 2026-12-10T18:41:06.804Z Moon culminates 33.90 degrees above the horizon -2026-12-10T22:28:33.528Z sunset -2026-12-10T23:48:04.248Z moonset +2026-12-10T22:28:33.443Z sunset +2026-12-10T23:48:03.980Z moonset 2026-12-11T06:44:01.165Z lunar apogee at 406407 km -2026-12-11T12:07:22.099Z sunrise +2026-12-11T12:07:22.219Z sunrise 2026-12-11T13:55:05.003Z Mercury moves from Scorpius to Ophiuchus -2026-12-11T14:20:18.561Z moonrise +2026-12-11T14:20:18.777Z moonrise 2026-12-11T17:18:07.997Z Sun culminates 38.38 degrees above the horizon 2026-12-11T19:30:30.788Z Moon culminates 36.04 degrees above the horizon -2026-12-11T22:28:48.603Z sunset -2026-12-12T00:43:49.270Z moonset -2026-12-12T12:08:01.991Z sunrise -2026-12-12T14:59:35.275Z moonrise +2026-12-11T22:28:48.517Z sunset +2026-12-12T00:43:49.029Z moonset +2026-12-12T12:08:02.112Z sunrise +2026-12-12T14:59:35.441Z moonrise 2026-12-12T17:18:35.990Z Sun culminates 38.31 degrees above the horizon 2026-12-12T20:17:36.880Z Moon culminates 39.31 degrees above the horizon -2026-12-12T22:29:05.207Z sunset -2026-12-13T01:39:49.538Z moonset -2026-12-13T12:08:41.034Z sunrise -2026-12-13T15:34:26.693Z moonrise +2026-12-12T22:29:05.120Z sunset +2026-12-13T01:39:49.363Z moonset +2026-12-13T12:08:41.155Z sunrise +2026-12-13T15:34:26.798Z moonrise 2026-12-13T17:19:04.308Z Sun culminates 38.24 degrees above the horizon 2026-12-13T21:02:20.382Z Moon culminates 43.54 degrees above the horizon -2026-12-13T22:29:23.316Z sunset -2026-12-14T02:35:14.611Z moonset +2026-12-13T22:29:23.227Z sunset +2026-12-14T02:35:14.518Z moonset 2026-12-14T05:32:35.102Z Venus moves from Virgo to Libra -2026-12-14T12:09:19.183Z sunrise -2026-12-14T16:05:57.185Z moonrise +2026-12-14T12:09:19.305Z sunrise +2026-12-14T16:05:57.240Z moonrise 2026-12-14T17:19:32.919Z Sun culminates 38.18 degrees above the horizon 2026-12-14T21:45:07.572Z Moon culminates 48.52 degrees above the horizon -2026-12-14T22:29:42.905Z sunset -2026-12-15T03:29:57.558Z moonset -2026-12-15T12:09:56.393Z sunrise -2026-12-15T16:35:19.037Z moonrise +2026-12-14T22:29:42.816Z sunset +2026-12-15T03:29:57.529Z moonset +2026-12-15T12:09:56.516Z sunrise +2026-12-15T16:35:19.062Z moonrise 2026-12-15T17:20:01.786Z Sun culminates 38.13 degrees above the horizon 2026-12-15T22:26:46.871Z Moon culminates 54.07 degrees above the horizon -2026-12-15T22:30:03.949Z sunset -2026-12-16T04:24:28.144Z moonset -2026-12-16T12:10:32.624Z sunrise -2026-12-16T17:03:47.210Z moonrise +2026-12-15T22:30:03.859Z sunset +2026-12-16T04:24:28.143Z moonset +2026-12-16T12:10:32.747Z sunrise +2026-12-16T17:03:47.223Z moonrise 2026-12-16T17:20:30.877Z Sun culminates 38.09 degrees above the horizon -2026-12-16T22:30:26.422Z sunset +2026-12-16T22:30:26.332Z sunset 2026-12-16T23:08:21.839Z Moon culminates 60.03 degrees above the horizon -2026-12-17T05:19:42.316Z moonset +2026-12-17T05:19:42.319Z moonset 2026-12-17T05:43:13.611Z first quarter -2026-12-17T12:11:07.833Z sunrise +2026-12-17T12:11:07.957Z sunrise 2026-12-17T17:21:00.157Z Sun culminates 38.05 degrees above the horizon -2026-12-17T17:32:40.594Z moonrise -2026-12-17T22:30:50.298Z sunset +2026-12-17T17:32:40.603Z moonrise +2026-12-17T22:30:50.207Z sunset 2026-12-17T23:51:07.596Z Moon culminates 66.21 degrees above the horizon -2026-12-18T06:16:52.419Z moonset -2026-12-18T12:11:41.983Z sunrise +2026-12-18T06:16:52.428Z moonset +2026-12-18T12:11:42.108Z sunrise 2026-12-18T17:21:29.594Z Sun culminates 38.02 degrees above the horizon -2026-12-18T18:03:27.272Z moonrise -2026-12-18T22:31:15.549Z sunset +2026-12-18T18:03:27.269Z moonrise +2026-12-18T22:31:15.457Z sunset 2026-12-19T00:36:28.996Z Moon culminates 72.37 degrees above the horizon -2026-12-19T07:17:15.911Z moonset -2026-12-19T12:12:15.037Z sunrise +2026-12-19T07:17:15.955Z moonset +2026-12-19T12:12:15.161Z sunrise 2026-12-19T17:21:59.156Z Sun culminates 38.00 degrees above the horizon -2026-12-19T18:37:51.466Z moonrise -2026-12-19T22:31:42.147Z sunset +2026-12-19T18:37:51.433Z moonrise +2026-12-19T22:31:42.055Z sunset 2026-12-20T01:25:56.124Z Moon culminates 78.20 degrees above the horizon -2026-12-20T08:21:54.917Z moonset -2026-12-20T12:12:46.959Z sunrise +2026-12-20T08:21:55.034Z moonset +2026-12-20T12:12:47.084Z sunrise 2026-12-20T17:22:28.811Z Sun culminates 37.99 degrees above the horizon -2026-12-20T19:17:57.764Z moonrise -2026-12-20T22:32:10.064Z sunset +2026-12-20T19:17:57.682Z moonrise +2026-12-20T22:32:09.972Z sunset 2026-12-21T02:20:49.247Z Moon culminates 83.28 degrees above the horizon -2026-12-21T09:30:56.604Z moonset -2026-12-21T12:13:17.718Z sunrise +2026-12-21T09:30:56.794Z moonset +2026-12-21T12:13:17.842Z sunrise 2026-12-21T17:22:58.529Z Sun culminates 37.98 degrees above the horizon -2026-12-21T20:06:01.240Z moonrise +2026-12-21T20:06:01.105Z moonrise 2026-12-21T20:50:25.604Z December solstice -2026-12-21T22:32:39.271Z sunset +2026-12-21T22:32:39.179Z sunset 2026-12-22T03:21:43.636Z Moon culminates 87.03 degrees above the horizon -2026-12-22T10:42:37.552Z moonset -2026-12-22T12:13:47.281Z sunrise +2026-12-22T10:42:37.771Z moonset +2026-12-22T12:13:47.405Z sunrise 2026-12-22T17:23:28.279Z Sun culminates 37.98 degrees above the horizon -2026-12-22T21:03:42.488Z moonrise -2026-12-22T22:33:09.737Z sunset +2026-12-22T21:03:42.310Z moonrise +2026-12-22T22:33:09.645Z sunset 2026-12-23T04:27:38.164Z Moon culminates 88.89 degrees above the horizon -2026-12-23T11:53:01.503Z moonset -2026-12-23T12:14:15.618Z sunrise +2026-12-23T11:53:01.706Z moonset +2026-12-23T12:14:15.743Z sunrise 2026-12-23T15:17:42.838Z Mercury moves from Ophiuchus to Sagittarius 2026-12-23T17:23:58.030Z Sun culminates 38.00 degrees above the horizon -2026-12-23T22:10:41.015Z moonrise -2026-12-23T22:33:41.431Z sunset +2026-12-23T22:10:40.805Z moonrise +2026-12-23T22:33:41.339Z sunset 2026-12-24T01:28:45.218Z full moon 2026-12-24T05:35:32.294Z Moon culminates 88.46 degrees above the horizon 2026-12-24T08:04:42.844Z Mercury aphelion at 0.4667 AU 2026-12-24T08:32:11.373Z lunar perigee at 356641 km -2026-12-24T12:14:42.702Z sunrise -2026-12-24T12:57:26.795Z moonset +2026-12-24T12:14:42.826Z sunrise +2026-12-24T12:57:26.963Z moonset 2026-12-24T17:24:27.752Z Sun culminates 38.01 degrees above the horizon -2026-12-24T22:34:14.321Z sunset -2026-12-24T23:23:37.644Z moonrise +2026-12-24T22:34:14.229Z sunset +2026-12-24T23:23:37.430Z moonrise 2026-12-25T06:41:30.980Z Moon culminates 85.74 degrees above the horizon -2026-12-25T12:15:08.502Z sunrise -2026-12-25T13:53:01.723Z moonset +2026-12-25T12:15:08.626Z sunrise +2026-12-25T13:53:01.844Z moonset 2026-12-25T17:24:57.416Z Sun culminates 38.04 degrees above the horizon 2026-12-25T20:04:21.126Z Venus perihelion at 0.7185 AU -2026-12-25T22:34:48.375Z sunset -2026-12-26T00:37:35.822Z moonrise +2026-12-25T22:34:48.283Z sunset +2026-12-26T00:37:35.659Z moonrise 2026-12-26T07:42:42.361Z Moon culminates 81.16 degrees above the horizon -2026-12-26T12:15:32.993Z sunrise -2026-12-26T14:39:44.671Z moonset +2026-12-26T12:15:33.116Z sunrise +2026-12-26T14:39:44.740Z moonset 2026-12-26T17:25:26.991Z Sun culminates 38.07 degrees above the horizon -2026-12-26T22:35:23.560Z sunset -2026-12-27T01:48:45.191Z moonrise +2026-12-26T22:35:23.469Z sunset +2026-12-27T01:48:45.114Z moonrise 2026-12-27T08:38:15.237Z Moon culminates 75.34 degrees above the horizon -2026-12-27T12:15:56.147Z sunrise -2026-12-27T15:19:20.489Z moonset +2026-12-27T12:15:56.270Z sunrise +2026-12-27T15:19:20.518Z moonset 2026-12-27T17:25:56.446Z Sun culminates 38.12 degrees above the horizon -2026-12-27T22:35:59.843Z sunset -2026-12-28T02:55:36.782Z moonrise +2026-12-27T22:35:59.752Z sunset +2026-12-28T02:55:36.765Z moonrise 2026-12-28T09:28:51.275Z Moon culminates 68.86 degrees above the horizon -2026-12-28T12:16:17.939Z sunrise -2026-12-28T15:54:01.470Z moonset +2026-12-28T12:16:18.061Z sunrise +2026-12-28T15:54:01.481Z moonset 2026-12-28T17:26:25.753Z Sun culminates 38.17 degrees above the horizon -2026-12-28T22:36:37.188Z sunset +2026-12-28T22:36:37.098Z sunset 2026-12-29T03:58:29.161Z moonrise 2026-12-29T10:15:53.754Z Moon culminates 62.21 degrees above the horizon -2026-12-29T12:16:38.345Z sunrise -2026-12-29T16:25:49.317Z moonset +2026-12-29T12:16:38.466Z sunrise +2026-12-29T16:25:49.326Z moonset 2026-12-29T17:26:54.881Z Sun culminates 38.22 degrees above the horizon -2026-12-29T22:37:15.559Z sunset -2026-12-30T04:58:29.397Z moonrise +2026-12-29T22:37:15.470Z sunset +2026-12-30T04:58:29.400Z moonrise 2026-12-30T11:00:53.679Z Moon culminates 55.74 degrees above the horizon -2026-12-30T12:16:57.341Z sunrise -2026-12-30T16:56:27.905Z moonset +2026-12-30T12:16:57.461Z sunrise +2026-12-30T16:56:27.909Z moonset 2026-12-30T17:27:23.799Z Sun culminates 38.29 degrees above the horizon 2026-12-30T19:00:05.700Z third quarter -2026-12-30T22:37:54.918Z sunset -2026-12-31T05:56:52.940Z moonrise +2026-12-30T22:37:54.830Z sunset +2026-12-31T05:56:52.966Z moonrise 2026-12-31T11:45:14.860Z Moon culminates 49.71 degrees above the horizon -2026-12-31T12:17:14.905Z sunrise -2026-12-31T17:27:27.526Z moonset +2026-12-31T12:17:15.025Z sunrise +2026-12-31T17:27:27.508Z moonset 2026-12-31T17:27:52.476Z Sun culminates 38.36 degrees above the horizon -2026-12-31T22:38:35.224Z sunset -2027-01-01T06:54:41.786Z moonrise -2027-01-01T12:17:31.016Z sunrise +2026-12-31T22:38:35.137Z sunset +2027-01-01T06:54:41.874Z moonrise +2027-01-01T12:17:31.134Z sunrise 2027-01-01T12:30:07.935Z Moon culminates 44.33 degrees above the horizon 2027-01-01T16:50:36.444Z Mercury superior conjunction 2027-01-01T17:28:20.882Z Sun culminates 38.44 degrees above the horizon -2027-01-01T18:00:10.282Z moonset -2027-01-01T22:39:16.436Z sunset -2027-01-02T07:52:30.586Z moonrise -2027-01-02T12:17:45.651Z sunrise +2027-01-01T18:00:10.219Z moonset +2027-01-01T22:39:16.350Z sunset +2027-01-02T07:52:30.761Z moonrise +2027-01-02T12:17:45.769Z sunrise 2027-01-02T13:16:25.672Z Moon culminates 39.81 degrees above the horizon 2027-01-02T17:28:48.983Z Sun culminates 38.53 degrees above the horizon -2027-01-02T18:35:51.925Z moonset -2027-01-02T22:39:58.510Z sunset +2027-01-02T18:35:51.803Z moonset +2027-01-02T22:39:58.425Z sunset 2027-01-03T02:07:43.352Z Earth perihelion at 0.9833 AU -2027-01-03T08:50:15.460Z moonrise -2027-01-03T12:17:58.792Z sunrise +2027-01-03T08:50:15.710Z moonrise +2027-01-03T12:17:58.908Z sunrise 2027-01-03T14:04:36.186Z Moon culminates 36.31 degrees above the horizon 2027-01-03T17:29:16.747Z Sun culminates 38.63 degrees above the horizon 2027-01-03T17:56:03.410Z Venus max morning elongation: 46.95 degrees from Sun -2027-01-03T19:15:37.157Z moonset -2027-01-03T22:40:41.403Z sunset -2027-01-04T09:47:08.367Z moonrise -2027-01-04T12:18:10.418Z sunrise +2027-01-03T19:15:36.979Z moonset +2027-01-03T22:40:41.319Z sunset +2027-01-04T09:47:08.651Z moonrise +2027-01-04T12:18:10.532Z sunrise 2027-01-04T14:54:35.181Z Moon culminates 34.02 degrees above the horizon 2027-01-04T17:29:44.143Z Sun culminates 38.73 degrees above the horizon -2027-01-04T20:00:06.815Z moonset -2027-01-04T22:41:25.067Z sunset -2027-01-05T10:41:45.832Z moonrise -2027-01-05T12:18:20.510Z sunrise +2027-01-04T20:00:06.593Z moonset +2027-01-04T22:41:24.985Z sunset +2027-01-05T10:41:46.116Z moonrise +2027-01-05T12:18:20.623Z sunrise 2027-01-05T15:45:42.935Z Moon culminates 33.06 degrees above the horizon 2027-01-05T17:30:11.137Z Sun culminates 38.84 degrees above the horizon -2027-01-05T20:49:20.483Z moonset -2027-01-05T22:42:09.457Z sunset -2027-01-06T11:32:36.600Z moonrise -2027-01-06T12:18:29.051Z sunrise +2027-01-05T20:49:20.229Z moonset +2027-01-05T22:42:09.376Z sunset +2027-01-06T11:32:36.864Z moonrise +2027-01-06T12:18:29.163Z sunrise 2027-01-06T16:36:53.118Z Moon culminates 33.48 degrees above the horizon 2027-01-06T17:30:37.696Z Sun culminates 38.96 degrees above the horizon -2027-01-06T21:42:26.843Z moonset -2027-01-06T22:42:54.524Z sunset +2027-01-06T21:42:26.574Z moonset +2027-01-06T22:42:54.445Z sunset 2027-01-07T08:08:41.700Z lunar apogee at 406597 km -2027-01-07T12:18:36.024Z sunrise -2027-01-07T12:18:36.484Z moonrise +2027-01-07T12:18:36.134Z sunrise +2027-01-07T12:18:36.714Z moonrise 2027-01-07T17:26:54.060Z Moon culminates 35.24 degrees above the horizon 2027-01-07T17:31:03.790Z Sun culminates 39.09 degrees above the horizon 2027-01-07T20:25:06.443Z new moon -2027-01-07T22:37:55.802Z moonset -2027-01-07T22:43:40.222Z sunset -2027-01-08T12:18:41.414Z sunrise -2027-01-08T12:59:28.665Z moonrise +2027-01-07T22:37:55.548Z moonset +2027-01-07T22:43:40.145Z sunset +2027-01-08T12:18:41.522Z sunrise +2027-01-08T12:59:28.847Z moonrise 2027-01-08T17:31:29.387Z Sun culminates 39.22 degrees above the horizon 2027-01-08T18:14:52.416Z Moon culminates 38.20 degrees above the horizon -2027-01-08T22:44:26.503Z sunset -2027-01-08T23:34:10.843Z moonset -2027-01-09T12:18:45.207Z sunrise -2027-01-09T13:35:40.395Z moonrise +2027-01-08T22:44:26.428Z sunset +2027-01-08T23:34:10.644Z moonset +2027-01-09T12:18:45.314Z sunrise +2027-01-09T13:35:40.518Z moonrise 2027-01-09T13:51:13.847Z Venus moves from Libra to Scorpius 2027-01-09T17:31:54.455Z Sun culminates 39.36 degrees above the horizon 2027-01-09T19:00:26.864Z Moon culminates 42.18 degrees above the horizon -2027-01-09T22:45:13.320Z sunset -2027-01-10T00:30:01.575Z moonset -2027-01-10T12:18:47.392Z sunrise -2027-01-10T14:08:06.467Z moonrise +2027-01-09T22:45:13.247Z sunset +2027-01-10T00:30:01.458Z moonset +2027-01-10T12:18:47.497Z sunrise +2027-01-10T14:08:06.535Z moonrise 2027-01-10T17:32:18.968Z Sun culminates 39.51 degrees above the horizon 2027-01-10T19:43:48.468Z Moon culminates 46.97 degrees above the horizon -2027-01-10T22:46:00.625Z sunset -2027-01-11T01:24:59.109Z moonset -2027-01-11T12:18:47.959Z sunrise -2027-01-11T14:37:53.689Z moonrise +2027-01-10T22:46:00.554Z sunset +2027-01-11T01:24:59.065Z moonset +2027-01-11T12:18:48.062Z sunrise +2027-01-11T14:37:53.721Z moonrise 2027-01-11T17:32:42.896Z Sun culminates 39.66 degrees above the horizon 2027-01-11T20:25:33.424Z Moon culminates 52.36 degrees above the horizon -2027-01-11T22:46:48.373Z sunset -2027-01-12T02:19:14.149Z moonset -2027-01-12T12:18:46.900Z sunrise -2027-01-12T15:06:12.611Z moonrise +2027-01-11T22:46:48.305Z sunset +2027-01-12T02:19:14.143Z moonset +2027-01-12T12:18:47.001Z sunrise +2027-01-12T15:06:12.627Z moonrise 2027-01-12T17:33:06.213Z Sun culminates 39.82 degrees above the horizon 2027-01-12T21:06:35.128Z Moon culminates 58.17 degrees above the horizon -2027-01-12T22:47:36.520Z sunset +2027-01-12T22:47:36.454Z sunset 2027-01-13T00:25:40.146Z Mercury moves from Sagittarius to Capricornus -2027-01-13T03:13:27.297Z moonset -2027-01-13T12:18:44.210Z sunrise -2027-01-13T15:34:16.121Z moonrise +2027-01-13T03:13:27.301Z moonset +2027-01-13T12:18:44.309Z sunrise +2027-01-13T15:34:16.132Z moonrise 2027-01-13T17:33:28.896Z Sun culminates 39.99 degrees above the horizon 2027-01-13T21:47:59.012Z Moon culminates 64.20 degrees above the horizon -2027-01-13T22:48:25.022Z sunset -2027-01-14T04:08:38.821Z moonset +2027-01-13T22:48:24.958Z sunset +2027-01-14T04:08:38.827Z moonset 2027-01-14T09:18:03.632Z Venus moves from Scorpius to Ophiuchus -2027-01-14T12:18:39.887Z sunrise -2027-01-14T16:03:22.679Z moonrise +2027-01-14T12:18:39.984Z sunrise +2027-01-14T16:03:22.682Z moonrise 2027-01-14T17:33:50.923Z Sun culminates 40.17 degrees above the horizon 2027-01-14T22:31:00.088Z Moon culminates 70.24 degrees above the horizon -2027-01-14T22:49:13.837Z sunset -2027-01-15T05:05:59.033Z moonset -2027-01-15T12:18:33.930Z sunrise -2027-01-15T16:35:02.206Z moonrise +2027-01-14T22:49:13.776Z sunset +2027-01-15T05:05:59.060Z moonset +2027-01-15T12:18:34.024Z sunrise +2027-01-15T16:35:02.187Z moonrise 2027-01-15T17:34:12.272Z Sun culminates 40.35 degrees above the horizon 2027-01-15T20:35:03.316Z first quarter -2027-01-15T22:50:02.925Z sunset +2027-01-15T22:50:02.867Z sunset 2027-01-15T23:17:00.760Z Moon culminates 76.04 degrees above the horizon -2027-01-16T06:06:35.278Z moonset -2027-01-16T12:18:26.341Z sunrise -2027-01-16T17:11:02.214Z moonrise +2027-01-16T06:06:35.363Z moonset +2027-01-16T12:18:26.433Z sunrise +2027-01-16T17:11:02.153Z moonrise 2027-01-16T17:34:32.927Z Sun culminates 40.54 degrees above the horizon -2027-01-16T22:50:52.248Z sunset +2027-01-16T22:50:52.193Z sunset 2027-01-17T00:07:24.047Z Moon culminates 81.29 degrees above the horizon -2027-01-17T07:11:07.922Z moonset -2027-01-17T12:18:17.125Z sunrise +2027-01-17T07:11:08.085Z moonset +2027-01-17T12:18:17.214Z sunrise 2027-01-17T17:34:52.871Z Sun culminates 40.73 degrees above the horizon -2027-01-17T17:53:28.386Z moonrise -2027-01-17T22:51:41.770Z sunset +2027-01-17T17:53:28.273Z moonrise +2027-01-17T22:51:41.717Z sunset 2027-01-18T01:03:14.522Z Moon culminates 85.55 degrees above the horizon -2027-01-18T08:19:09.535Z moonset -2027-01-18T12:18:06.288Z sunrise +2027-01-18T08:19:09.749Z moonset +2027-01-18T12:18:06.375Z sunrise 2027-01-18T17:35:12.090Z Sun culminates 40.94 degrees above the horizon -2027-01-18T18:44:26.004Z moonrise -2027-01-18T22:52:31.454Z sunset +2027-01-18T18:44:25.845Z moonrise +2027-01-18T22:52:31.404Z sunset 2027-01-19T02:04:40.970Z Moon culminates 88.30 degrees above the horizon -2027-01-19T09:28:22.403Z moonset -2027-01-19T12:17:53.840Z sunrise +2027-01-19T09:28:22.619Z moonset +2027-01-19T12:17:53.925Z sunrise 2027-01-19T17:35:30.571Z Sun culminates 41.14 degrees above the horizon -2027-01-19T19:45:03.745Z moonrise -2027-01-19T22:53:21.267Z sunset +2027-01-19T19:45:03.549Z moonrise +2027-01-19T22:53:21.220Z sunset 2027-01-20T03:10:14.032Z Moon culminates 89.05 degrees above the horizon -2027-01-20T10:34:50.059Z moonset -2027-01-20T12:17:39.792Z sunrise +2027-01-20T10:34:50.247Z moonset +2027-01-20T12:17:39.874Z sunrise 2027-01-20T17:35:48.305Z Sun culminates 41.36 degrees above the horizon -2027-01-20T20:54:11.952Z moonrise -2027-01-20T22:54:11.177Z sunset +2027-01-20T20:54:11.734Z moonrise +2027-01-20T22:54:11.133Z sunset 2027-01-21T04:16:46.918Z Moon culminates 87.54 degrees above the horizon -2027-01-21T11:34:43.721Z moonset -2027-01-21T12:17:24.155Z sunrise +2027-01-21T11:34:43.870Z moonset +2027-01-21T12:17:24.235Z sunrise 2027-01-21T17:36:05.281Z Sun culminates 41.58 degrees above the horizon 2027-01-21T21:46:57.922Z lunar perigee at 357273 km -2027-01-21T22:08:02.768Z moonrise -2027-01-21T22:55:01.153Z sunset +2027-01-21T22:08:02.569Z moonrise +2027-01-21T22:55:01.113Z sunset 2027-01-22T05:20:53.432Z Moon culminates 83.88 degrees above the horizon -2027-01-22T12:17:06.943Z sunrise +2027-01-22T12:17:07.020Z sunrise 2027-01-22T12:17:50.656Z full moon -2027-01-22T12:26:20.483Z moonset +2027-01-22T12:26:20.579Z moonset 2027-01-22T17:36:21.493Z Sun culminates 41.81 degrees above the horizon -2027-01-22T22:55:51.168Z sunset -2027-01-22T23:22:00.573Z moonrise +2027-01-22T22:55:51.131Z sunset +2027-01-22T23:22:00.449Z moonrise 2027-01-23T06:20:24.460Z Moon culminates 78.55 degrees above the horizon -2027-01-23T12:16:48.170Z sunrise -2027-01-23T13:10:16.311Z moonset +2027-01-23T12:16:48.244Z sunrise +2027-01-23T13:10:16.356Z moonset 2027-01-23T17:36:36.933Z Sun culminates 42.04 degrees above the horizon -2027-01-23T22:56:41.193Z sunset -2027-01-24T00:33:00.407Z moonrise +2027-01-23T22:56:41.159Z sunset +2027-01-24T00:33:00.365Z moonrise 2027-01-24T07:14:57.218Z Moon culminates 72.16 degrees above the horizon -2027-01-24T12:16:27.850Z sunrise -2027-01-24T13:48:19.742Z moonset +2027-01-24T12:16:27.922Z sunrise +2027-01-24T13:48:19.758Z moonset 2027-01-24T17:36:51.595Z Sun culminates 42.28 degrees above the horizon -2027-01-24T22:57:31.203Z sunset -2027-01-25T01:40:05.730Z moonrise +2027-01-24T22:57:31.173Z sunset +2027-01-25T01:40:05.727Z moonrise 2027-01-25T08:01:48.100Z Pluto conjunction 2027-01-25T08:05:21.872Z Moon culminates 65.29 degrees above the horizon -2027-01-25T12:16:06.001Z sunrise -2027-01-25T14:22:32.858Z moonset +2027-01-25T12:16:06.070Z sunrise +2027-01-25T14:22:32.866Z moonset 2027-01-25T17:37:05.477Z Sun culminates 42.53 degrees above the horizon -2027-01-25T22:58:21.174Z sunset -2027-01-26T02:43:45.693Z moonrise +2027-01-25T22:58:21.148Z sunset +2027-01-26T02:43:45.694Z moonrise 2027-01-26T08:52:58.605Z Moon culminates 58.44 degrees above the horizon -2027-01-26T12:15:42.638Z sunrise -2027-01-26T14:54:46.743Z moonset +2027-01-26T12:15:42.705Z sunrise +2027-01-26T14:54:46.749Z moonset 2027-01-26T17:37:18.574Z Sun culminates 42.78 degrees above the horizon -2027-01-26T22:59:11.081Z sunset -2027-01-27T03:45:03.132Z moonrise +2027-01-26T22:59:11.059Z sunset +2027-01-27T03:45:03.144Z moonrise 2027-01-27T09:39:10.910Z Moon culminates 51.96 degrees above the horizon -2027-01-27T12:15:17.780Z sunrise -2027-01-27T15:26:38.275Z moonset +2027-01-27T12:15:17.844Z sunrise +2027-01-27T15:26:38.268Z moonset 2027-01-27T17:37:30.884Z Sun culminates 43.03 degrees above the horizon -2027-01-27T23:00:00.901Z sunset -2027-01-28T04:45:00.442Z moonrise +2027-01-27T23:00:00.883Z sunset +2027-01-28T04:45:00.503Z moonrise 2027-01-28T10:25:13.085Z Moon culminates 46.14 degrees above the horizon -2027-01-28T12:14:51.446Z sunrise -2027-01-28T15:59:33.778Z moonset +2027-01-28T12:14:51.507Z sunrise +2027-01-28T15:59:33.733Z moonset 2027-01-28T17:37:42.404Z Sun culminates 43.30 degrees above the horizon -2027-01-28T23:00:50.611Z sunset -2027-01-29T05:44:19.653Z moonrise +2027-01-28T23:00:50.596Z sunset +2027-01-29T05:44:19.800Z moonrise 2027-01-29T10:56:04.494Z third quarter 2027-01-29T11:12:03.639Z Moon culminates 41.18 degrees above the horizon -2027-01-29T12:14:23.653Z sunrise -2027-01-29T16:34:51.845Z moonset +2027-01-29T12:14:23.711Z sunrise +2027-01-29T16:34:51.743Z moonset 2027-01-29T17:37:53.132Z Sun culminates 43.56 degrees above the horizon -2027-01-29T23:01:40.187Z sunset -2027-01-30T06:43:09.469Z moonrise +2027-01-29T23:01:40.176Z sunset +2027-01-30T06:43:09.701Z moonrise 2027-01-30T07:02:25.658Z Mercury moves from Capricornus to Aquarius 2027-01-30T12:00:19.197Z Moon culminates 37.26 degrees above the horizon -2027-01-30T12:13:54.421Z sunrise -2027-01-30T17:13:41.326Z moonset +2027-01-30T12:13:54.476Z sunrise +2027-01-30T17:13:41.165Z moonset 2027-01-30T17:38:03.066Z Sun culminates 43.84 degrees above the horizon -2027-01-30T23:02:29.606Z sunset -2027-01-31T07:40:58.250Z moonrise -2027-01-31T12:13:23.769Z sunrise +2027-01-30T23:02:29.599Z sunset +2027-01-31T07:40:58.530Z moonrise +2027-01-31T12:13:23.821Z sunrise 2027-01-31T12:50:07.817Z Moon culminates 34.54 degrees above the horizon 2027-01-31T13:13:26.846Z Venus moves from Ophiuchus to Sagittarius 2027-01-31T17:38:12.203Z Sun culminates 44.11 degrees above the horizon -2027-01-31T17:56:52.183Z moonset -2027-01-31T23:03:18.845Z sunset -2027-02-01T08:36:38.487Z moonrise -2027-02-01T12:12:51.715Z sunrise +2027-01-31T17:56:51.973Z moonset +2027-01-31T23:03:18.842Z sunset +2027-02-01T08:36:38.775Z moonrise +2027-02-01T12:12:51.765Z sunrise 2027-02-01T13:41:05.058Z Moon culminates 33.14 degrees above the horizon 2027-02-01T17:38:20.542Z Sun culminates 44.40 degrees above the horizon -2027-02-01T18:44:40.503Z moonset +2027-02-01T18:44:40.257Z moonset 2027-02-01T23:04:07.881Z sunset -2027-02-02T09:28:47.838Z moonrise -2027-02-02T12:12:18.279Z sunrise +2027-02-02T09:28:48.110Z moonrise +2027-02-02T12:12:18.327Z sunrise 2027-02-02T14:32:18.644Z Moon culminates 33.12 degrees above the horizon 2027-02-02T17:38:28.081Z Sun culminates 44.69 degrees above the horizon -2027-02-02T19:36:36.161Z moonset -2027-02-02T23:04:56.691Z sunset +2027-02-02T19:36:35.893Z moonset +2027-02-02T23:04:56.695Z sunset 2027-02-03T06:20:08.602Z Mercury max evening elongation: 18.32 degrees from Sun -2027-02-03T10:16:20.315Z moonrise -2027-02-03T12:11:43.480Z sunrise +2027-02-03T10:16:20.558Z moonrise +2027-02-03T12:11:43.525Z sunrise 2027-02-03T13:31:06.644Z lunar apogee at 406178 km 2027-02-03T15:22:44.365Z Moon culminates 34.46 degrees above the horizon 2027-02-03T17:38:34.818Z Sun culminates 44.98 degrees above the horizon -2027-02-03T20:31:26.396Z moonset -2027-02-03T23:05:45.254Z sunset -2027-02-04T10:58:49.635Z moonrise -2027-02-04T12:11:07.336Z sunrise +2027-02-03T20:31:26.131Z moonset +2027-02-03T23:05:45.262Z sunset +2027-02-04T10:58:49.835Z moonrise +2027-02-04T12:11:07.379Z sunrise 2027-02-04T16:11:27.386Z Moon culminates 37.05 degrees above the horizon 2027-02-04T17:38:40.752Z Sun culminates 45.28 degrees above the horizon -2027-02-04T21:27:39.962Z moonset -2027-02-04T23:06:33.548Z sunset -2027-02-05T11:36:32.248Z moonrise -2027-02-05T12:10:29.868Z sunrise +2027-02-04T21:27:39.739Z moonset +2027-02-04T23:06:33.559Z sunset +2027-02-05T11:36:32.391Z moonrise +2027-02-05T12:10:29.908Z sunrise 2027-02-05T16:57:58.133Z Moon culminates 40.74 degrees above the horizon 2027-02-05T17:38:45.883Z Sun culminates 45.58 degrees above the horizon -2027-02-05T22:23:58.781Z moonset -2027-02-05T23:07:21.552Z sunset +2027-02-05T22:23:58.635Z moonset +2027-02-05T23:07:21.567Z sunset 2027-02-06T07:43:06.196Z Mercury perihelion at 0.3075 AU -2027-02-06T12:09:51.094Z sunrise -2027-02-06T12:10:14.820Z moonrise +2027-02-06T12:09:51.132Z sunrise +2027-02-06T12:10:14.904Z moonrise 2027-02-06T15:56:47.518Z new moon 2027-02-06T17:38:50.211Z Sun culminates 45.89 degrees above the horizon 2027-02-06T17:42:16.793Z Moon culminates 45.33 degrees above the horizon -2027-02-06T23:08:09.247Z sunset -2027-02-06T23:19:38.781Z moonset -2027-02-07T12:09:11.036Z sunrise -2027-02-07T12:40:59.038Z moonrise +2027-02-06T23:08:09.266Z sunset +2027-02-06T23:19:38.716Z moonset +2027-02-07T12:09:11.071Z sunrise +2027-02-07T12:40:59.079Z moonrise 2027-02-07T17:38:53.735Z Sun culminates 46.20 degrees above the horizon 2027-02-07T18:24:48.945Z Moon culminates 50.60 degrees above the horizon -2027-02-07T23:08:56.614Z sunset -2027-02-08T00:14:33.839Z moonset -2027-02-08T12:08:29.713Z sunrise -2027-02-08T13:09:51.752Z moonrise +2027-02-07T23:08:56.637Z sunset +2027-02-08T00:14:33.825Z moonset +2027-02-08T12:08:29.745Z sunrise +2027-02-08T13:09:51.771Z moonrise 2027-02-08T17:38:56.459Z Sun culminates 46.52 degrees above the horizon 2027-02-08T19:06:18.368Z Moon culminates 56.35 degrees above the horizon -2027-02-08T23:09:43.637Z sunset -2027-02-09T01:09:08.953Z moonset -2027-02-09T12:07:47.147Z sunrise -2027-02-09T13:38:01.639Z moonrise +2027-02-08T23:09:43.664Z sunset +2027-02-09T01:09:08.955Z moonset +2027-02-09T12:07:47.177Z sunrise +2027-02-09T13:38:01.652Z moonrise 2027-02-09T17:38:58.386Z Sun culminates 46.84 degrees above the horizon 2027-02-09T19:47:41.179Z Moon culminates 62.37 degrees above the horizon -2027-02-09T23:10:30.301Z sunset -2027-02-10T02:04:10.370Z moonset -2027-02-10T12:07:03.360Z sunrise -2027-02-10T14:06:40.622Z moonrise +2027-02-09T23:10:30.331Z sunset +2027-02-10T02:04:10.374Z moonset +2027-02-10T12:07:03.388Z sunrise +2027-02-10T14:06:40.629Z moonrise 2027-02-10T17:38:59.519Z Sun culminates 47.16 degrees above the horizon 2027-02-10T20:30:02.323Z Moon culminates 68.43 degrees above the horizon -2027-02-10T23:11:16.592Z sunset +2027-02-10T23:11:16.625Z sunset 2027-02-11T00:17:01.371Z Jupiter opposition -2027-02-11T03:00:35.898Z moonset -2027-02-11T12:06:18.376Z sunrise -2027-02-11T14:37:08.084Z moonrise +2027-02-11T03:00:35.915Z moonset +2027-02-11T12:06:18.402Z sunrise +2027-02-11T14:37:08.074Z moonrise 2027-02-11T17:38:59.864Z Sun culminates 47.49 degrees above the horizon 2027-02-11T21:14:33.070Z Moon culminates 74.30 degrees above the horizon -2027-02-11T23:12:02.498Z sunset -2027-02-12T03:59:23.835Z moonset -2027-02-12T12:05:32.218Z sunrise -2027-02-12T15:10:55.949Z moonrise +2027-02-11T23:12:02.535Z sunset +2027-02-12T03:59:23.899Z moonset +2027-02-12T12:05:32.242Z sunrise +2027-02-12T15:10:55.903Z moonrise 2027-02-12T17:38:59.429Z Sun culminates 47.82 degrees above the horizon 2027-02-12T22:02:26.415Z Moon culminates 79.67 degrees above the horizon -2027-02-12T23:12:48.011Z sunset -2027-02-13T05:01:15.772Z moonset -2027-02-13T12:04:44.913Z sunrise -2027-02-13T15:49:51.136Z moonrise +2027-02-12T23:12:48.051Z sunset +2027-02-13T05:01:15.910Z moonset +2027-02-13T12:04:44.935Z sunrise +2027-02-13T15:49:51.040Z moonrise 2027-02-13T17:38:58.223Z Sun culminates 48.15 degrees above the horizon 2027-02-13T22:54:45.412Z Moon culminates 84.20 degrees above the horizon -2027-02-13T23:13:33.122Z sunset -2027-02-14T06:06:08.556Z moonset +2027-02-13T23:13:33.165Z sunset +2027-02-14T06:06:08.757Z moonset 2027-02-14T07:59:01.003Z first quarter -2027-02-14T12:03:56.487Z sunrise -2027-02-14T16:35:47.504Z moonrise +2027-02-14T12:03:56.507Z sunrise +2027-02-14T16:35:47.360Z moonrise 2027-02-14T17:38:56.255Z Sun culminates 48.49 degrees above the horizon -2027-02-14T23:14:17.825Z sunset +2027-02-14T23:14:17.871Z sunset 2027-02-14T23:51:59.489Z Moon culminates 87.46 degrees above the horizon -2027-02-15T07:12:40.542Z moonset -2027-02-15T12:03:06.967Z sunrise -2027-02-15T17:30:14.243Z moonrise +2027-02-15T07:12:40.763Z moonset +2027-02-15T12:03:06.985Z sunrise +2027-02-15T17:30:14.060Z moonrise 2027-02-15T17:38:53.538Z Sun culminates 48.84 degrees above the horizon -2027-02-15T23:15:02.117Z sunset +2027-02-15T23:15:02.167Z sunset 2027-02-16T00:53:32.078Z Moon culminates 89.02 degrees above the horizon -2027-02-16T08:18:01.982Z moonset -2027-02-16T12:02:16.382Z sunrise +2027-02-16T08:18:02.187Z moonset +2027-02-16T12:02:16.399Z sunrise 2027-02-16T17:38:50.085Z Sun culminates 49.18 degrees above the horizon -2027-02-16T18:33:16.666Z moonrise -2027-02-16T23:15:45.996Z sunset +2027-02-16T18:33:16.454Z moonrise +2027-02-16T23:15:46.048Z sunset 2027-02-17T01:57:23.897Z Moon culminates 88.56 degrees above the horizon -2027-02-17T09:18:49.473Z moonset -2027-02-17T12:01:24.762Z sunrise +2027-02-17T09:18:49.645Z moonset +2027-02-17T12:01:24.777Z sunrise 2027-02-17T17:38:45.911Z Sun culminates 49.53 degrees above the horizon -2027-02-17T19:42:48.731Z moonrise -2027-02-17T23:16:29.461Z sunset +2027-02-17T19:42:48.514Z moonrise +2027-02-17T23:16:29.516Z sunset 2027-02-18T03:00:45.947Z Moon culminates 85.99 degrees above the horizon -2027-02-18T10:12:44.050Z moonset -2027-02-18T12:00:32.137Z sunrise +2027-02-18T10:12:44.177Z moonset +2027-02-18T12:00:32.151Z sunrise 2027-02-18T16:33:22.053Z Mercury inferior conjunction 2027-02-18T17:38:41.031Z Sun culminates 49.88 degrees above the horizon -2027-02-18T20:55:08.392Z moonrise -2027-02-18T23:17:12.513Z sunset +2027-02-18T20:55:08.222Z moonrise +2027-02-18T23:17:12.571Z sunset 2027-02-19T04:01:13.379Z Moon culminates 81.56 degrees above the horizon 2027-02-19T06:08:07.817Z Mercury moves from Aquarius to Capricornus 2027-02-19T07:30:12.469Z lunar perigee at 361004 km -2027-02-19T10:59:23.917Z moonset -2027-02-19T11:59:38.537Z sunrise +2027-02-19T10:59:23.989Z moonset +2027-02-19T11:59:38.549Z sunrise 2027-02-19T15:44:02.037Z Mars opposition 2027-02-19T17:38:35.461Z Sun culminates 50.24 degrees above the horizon -2027-02-19T22:06:47.471Z moonrise -2027-02-19T23:17:55.157Z sunset +2027-02-19T22:06:47.388Z moonrise +2027-02-19T23:17:55.218Z sunset 2027-02-20T04:57:39.229Z Moon culminates 75.72 degrees above the horizon -2027-02-20T11:39:57.588Z moonset -2027-02-20T11:58:43.991Z sunrise +2027-02-20T11:39:57.616Z moonset +2027-02-20T11:58:44.002Z sunrise 2027-02-20T17:38:29.219Z Sun culminates 50.60 degrees above the horizon 2027-02-20T23:12:44.142Z penumbral lunar eclipse -2027-02-20T23:15:51.816Z moonrise -2027-02-20T23:18:37.397Z sunset +2027-02-20T23:15:51.798Z moonrise +2027-02-20T23:18:37.460Z sunset 2027-02-20T23:24:06.918Z full moon 2027-02-21T05:50:13.766Z Moon culminates 69.03 degrees above the horizon -2027-02-21T11:57:48.532Z sunrise -2027-02-21T12:16:10.487Z moonset +2027-02-21T11:57:48.542Z sunrise +2027-02-21T12:16:10.497Z moonset 2027-02-21T17:38:22.324Z Sun culminates 50.96 degrees above the horizon -2027-02-21T23:19:19.239Z sunset -2027-02-22T00:22:01.757Z moonrise +2027-02-21T23:19:19.305Z sunset +2027-02-22T00:22:01.758Z moonrise 2027-02-22T06:39:53.410Z Moon culminates 62.02 degrees above the horizon -2027-02-22T11:56:52.190Z sunrise -2027-02-22T12:49:50.469Z moonset +2027-02-22T11:56:52.198Z sunrise +2027-02-22T12:49:50.476Z moonset 2027-02-22T17:38:14.794Z Sun culminates 51.32 degrees above the horizon -2027-02-22T23:20:00.691Z sunset -2027-02-23T01:25:52.107Z moonrise +2027-02-22T23:20:00.759Z sunset +2027-02-23T01:25:52.110Z moonrise 2027-02-23T07:27:51.104Z Moon culminates 55.16 degrees above the horizon -2027-02-23T11:55:54.995Z sunrise -2027-02-23T13:22:35.997Z moonset +2027-02-23T11:55:55.002Z sunrise +2027-02-23T13:22:35.999Z moonset 2027-02-23T14:11:07.075Z Saturn moves from Cetus to Pisces 2027-02-23T17:38:06.649Z Sun culminates 51.69 degrees above the horizon -2027-02-23T23:20:41.760Z sunset -2027-02-24T02:28:13.370Z moonrise +2027-02-23T23:20:41.830Z sunset +2027-02-24T02:28:13.402Z moonrise 2027-02-24T08:15:18.072Z Moon culminates 48.80 degrees above the horizon -2027-02-24T11:54:56.978Z sunrise -2027-02-24T13:55:55.651Z moonset +2027-02-24T11:54:56.985Z sunrise +2027-02-24T13:55:55.627Z moonset 2027-02-24T17:37:57.909Z Sun culminates 52.06 degrees above the horizon -2027-02-24T23:21:22.455Z sunset -2027-02-25T03:29:45.122Z moonrise +2027-02-24T23:21:22.528Z sunset +2027-02-25T03:29:45.229Z moonrise 2027-02-25T09:03:13.429Z Moon culminates 43.26 degrees above the horizon -2027-02-25T11:53:58.171Z sunrise -2027-02-25T14:31:09.880Z moonset +2027-02-25T11:53:58.176Z sunrise +2027-02-25T14:31:09.804Z moonset 2027-02-25T17:37:48.592Z Sun culminates 52.43 degrees above the horizon -2027-02-25T23:22:02.784Z sunset -2027-02-26T04:30:38.588Z moonrise +2027-02-25T23:22:02.859Z sunset +2027-02-26T04:30:38.788Z moonrise 2027-02-26T09:52:16.514Z Moon culminates 38.75 degrees above the horizon -2027-02-26T11:52:58.603Z sunrise -2027-02-26T15:09:29.758Z moonset +2027-02-26T11:52:58.608Z sunrise +2027-02-26T15:09:29.619Z moonset 2027-02-26T17:37:38.719Z Sun culminates 52.80 degrees above the horizon -2027-02-26T23:22:42.755Z sunset -2027-02-27T05:30:26.825Z moonrise +2027-02-26T23:22:42.832Z sunset +2027-02-27T05:30:27.091Z moonrise 2027-02-27T10:42:39.937Z Moon culminates 35.47 degrees above the horizon -2027-02-27T11:51:58.306Z sunrise -2027-02-27T15:51:49.809Z moonset +2027-02-27T11:51:58.310Z sunrise +2027-02-27T15:51:49.616Z moonset 2027-02-27T17:37:28.308Z Sun culminates 53.18 degrees above the horizon -2027-02-27T23:23:22.375Z sunset +2027-02-27T23:23:22.454Z sunset 2027-02-28T05:17:06.708Z third quarter -2027-02-28T06:28:06.573Z moonrise +2027-02-28T06:28:06.862Z moonrise 2027-02-28T11:34:05.447Z Moon culminates 33.53 degrees above the horizon -2027-02-28T11:50:57.308Z sunrise -2027-02-28T16:38:35.050Z moonset +2027-02-28T11:50:57.311Z sunrise +2027-02-28T16:38:34.815Z moonset 2027-02-28T17:37:17.377Z Sun culminates 53.55 degrees above the horizon -2027-02-28T23:24:01.653Z sunset -2027-03-01T07:22:16.614Z moonrise +2027-02-28T23:24:01.732Z sunset +2027-03-01T07:22:16.893Z moonrise 2027-03-01T10:18:52.769Z Venus moves from Sagittarius to Capricornus -2027-03-01T11:49:55.639Z sunrise +2027-03-01T11:49:55.641Z sunrise 2027-03-01T12:25:47.447Z Moon culminates 32.99 degrees above the horizon -2027-03-01T17:29:28.547Z moonset +2027-03-01T17:29:28.285Z moonset 2027-03-01T17:37:05.945Z Sun culminates 53.93 degrees above the horizon -2027-03-01T23:24:40.593Z sunset -2027-03-02T08:11:47.874Z moonrise -2027-03-02T11:48:53.326Z sunrise +2027-03-01T23:24:40.675Z sunset +2027-03-02T08:11:48.130Z moonrise +2027-03-02T11:48:53.328Z sunrise 2027-03-02T13:16:46.829Z Moon culminates 33.83 degrees above the horizon 2027-03-02T17:36:54.028Z Sun culminates 54.31 degrees above the horizon -2027-03-02T18:23:31.250Z moonset -2027-03-02T23:25:19.204Z sunset +2027-03-02T18:23:30.980Z moonset +2027-03-02T23:25:19.287Z sunset 2027-03-03T05:40:05.784Z lunar apogee at 405206 km -2027-03-03T08:56:08.514Z moonrise -2027-03-03T11:47:50.398Z sunrise +2027-03-03T08:56:08.732Z moonrise +2027-03-03T11:47:50.400Z sunrise 2027-03-03T14:06:10.649Z Moon culminates 35.98 degrees above the horizon 2027-03-03T17:36:41.644Z Sun culminates 54.70 degrees above the horizon -2027-03-03T19:19:20.746Z moonset -2027-03-03T23:25:57.490Z sunset -2027-03-04T09:35:29.922Z moonrise -2027-03-04T11:46:46.882Z sunrise +2027-03-03T19:19:20.504Z moonset +2027-03-03T23:25:57.575Z sunset +2027-03-04T09:35:30.087Z moonrise +2027-03-04T11:46:46.884Z sunrise 2027-03-04T14:53:27.966Z Moon culminates 39.28 degrees above the horizon 2027-03-04T17:36:28.809Z Sun culminates 55.08 degrees above the horizon -2027-03-04T20:15:40.202Z moonset +2027-03-04T20:15:40.025Z moonset 2027-03-04T22:58:55.172Z Mars aphelion at 1.6661 AU -2027-03-04T23:26:35.458Z sunset -2027-03-05T10:10:35.832Z moonrise -2027-03-05T11:45:42.804Z sunrise +2027-03-04T23:26:35.544Z sunset +2027-03-05T10:10:35.937Z moonrise +2027-03-05T11:45:42.805Z sunrise 2027-03-05T15:38:35.544Z Moon culminates 43.55 degrees above the horizon 2027-03-05T17:36:15.540Z Sun culminates 55.47 degrees above the horizon -2027-03-05T21:11:40.602Z moonset -2027-03-05T23:27:13.114Z sunset -2027-03-06T10:42:26.859Z moonrise -2027-03-06T11:44:38.191Z sunrise +2027-03-05T21:11:40.509Z moonset +2027-03-05T23:27:13.201Z sunset +2027-03-06T10:42:26.912Z moonrise +2027-03-06T11:44:38.192Z sunrise 2027-03-06T16:21:54.767Z Moon culminates 48.61 degrees above the horizon 2027-03-06T17:36:01.851Z Sun culminates 55.86 degrees above the horizon -2027-03-06T22:07:07.899Z moonset -2027-03-06T23:27:50.462Z sunset -2027-03-07T11:12:09.509Z moonrise -2027-03-07T11:43:33.068Z sunrise +2027-03-06T22:07:07.871Z moonset +2027-03-06T23:27:50.551Z sunset +2027-03-07T11:12:09.533Z moonrise +2027-03-07T11:43:33.168Z sunrise 2027-03-07T17:04:05.096Z Moon culminates 54.25 degrees above the horizon 2027-03-07T17:35:47.758Z Sun culminates 56.24 degrees above the horizon 2027-03-07T23:02:18.616Z moonset -2027-03-07T23:28:27.509Z sunset +2027-03-07T23:28:27.599Z sunset 2027-03-08T09:30:06.292Z new moon -2027-03-08T11:40:51.705Z moonrise -2027-03-08T11:42:27.460Z sunrise +2027-03-08T11:40:51.719Z moonrise +2027-03-08T11:42:27.559Z sunrise 2027-03-08T17:35:33.278Z Sun culminates 56.63 degrees above the horizon 2027-03-08T17:45:58.177Z Moon culminates 60.26 degrees above the horizon -2027-03-08T23:29:04.261Z sunset -2027-03-08T23:57:50.946Z moonset -2027-03-09T11:41:21.393Z sunrise -2027-03-09T12:09:43.206Z moonrise +2027-03-08T23:29:04.352Z sunset +2027-03-08T23:57:50.949Z moonset +2027-03-09T11:41:21.491Z sunrise +2027-03-09T12:09:43.215Z moonrise 2027-03-09T17:35:18.427Z Sun culminates 57.03 degrees above the horizon 2027-03-09T18:28:33.863Z Moon culminates 66.41 degrees above the horizon -2027-03-09T23:29:40.723Z sunset -2027-03-10T00:54:35.116Z moonset -2027-03-10T11:40:14.893Z sunrise -2027-03-10T12:39:58.839Z moonrise +2027-03-09T23:29:40.815Z sunset +2027-03-10T00:54:35.125Z moonset +2027-03-10T11:40:14.990Z sunrise +2027-03-10T12:39:58.836Z moonrise 2027-03-10T17:35:03.219Z Sun culminates 57.42 degrees above the horizon 2027-03-10T19:12:57.192Z Moon culminates 72.44 degrees above the horizon -2027-03-10T23:30:16.904Z sunset -2027-03-11T01:53:22.488Z moonset -2027-03-11T11:39:07.985Z sunrise -2027-03-11T13:13:02.634Z moonrise +2027-03-10T23:30:16.997Z sunset +2027-03-11T01:53:22.532Z moonset +2027-03-11T11:39:08.081Z sunrise +2027-03-11T13:13:02.602Z moonrise 2027-03-11T17:34:47.673Z Sun culminates 57.81 degrees above the horizon 2027-03-11T20:00:13.850Z Moon culminates 78.04 degrees above the horizon -2027-03-11T23:30:52.811Z sunset -2027-03-12T02:54:50.013Z moonset -2027-03-12T11:38:00.695Z sunrise -2027-03-12T13:50:29.986Z moonrise +2027-03-11T23:30:52.905Z sunset +2027-03-12T02:54:50.126Z moonset +2027-03-12T11:38:00.790Z sunrise +2027-03-12T13:50:29.906Z moonrise 2027-03-12T17:34:31.805Z Sun culminates 58.20 degrees above the horizon 2027-03-12T20:51:20.342Z Moon culminates 82.87 degrees above the horizon -2027-03-12T23:31:28.452Z sunset -2027-03-13T03:58:56.557Z moonset -2027-03-13T11:36:53.050Z sunrise -2027-03-13T14:34:02.035Z moonrise +2027-03-12T23:31:28.547Z sunset +2027-03-13T03:58:56.742Z moonset +2027-03-13T11:36:53.144Z sunrise +2027-03-13T14:34:01.905Z moonrise 2027-03-13T17:34:15.633Z Sun culminates 58.60 degrees above the horizon 2027-03-13T21:46:45.269Z Moon culminates 86.53 degrees above the horizon -2027-03-13T23:32:03.836Z sunset -2027-03-14T05:04:34.825Z moonset -2027-03-14T11:35:45.076Z sunrise -2027-03-14T15:25:02.887Z moonrise +2027-03-13T23:32:03.932Z sunset +2027-03-14T05:04:35.044Z moonset +2027-03-14T11:35:45.170Z sunrise +2027-03-14T15:25:02.716Z moonrise 2027-03-14T17:33:59.176Z Sun culminates 58.99 degrees above the horizon 2027-03-14T22:46:04.021Z Moon culminates 88.63 degrees above the horizon -2027-03-14T23:32:38.975Z sunset -2027-03-15T06:09:20.720Z moonset -2027-03-15T11:34:36.802Z sunrise -2027-03-15T16:23:55.260Z moonrise +2027-03-14T23:32:39.072Z sunset +2027-03-15T06:09:20.932Z moonset +2027-03-15T11:34:36.896Z sunrise +2027-03-15T16:23:55.057Z moonrise 2027-03-15T16:25:43.858Z first quarter 2027-03-15T17:33:42.454Z Sun culminates 59.39 degrees above the horizon -2027-03-15T23:33:13.880Z sunset +2027-03-15T23:33:13.977Z sunset 2027-03-15T23:47:43.787Z Moon culminates 88.86 degrees above the horizon 2027-03-16T00:24:14.319Z Mercury moves from Capricornus to Aquarius -2027-03-16T07:10:12.080Z moonset -2027-03-16T11:33:27.833Z sunrise -2027-03-16T17:29:18.206Z moonrise +2027-03-16T07:10:12.266Z moonset +2027-03-16T11:33:28.350Z sunrise +2027-03-16T17:29:17.989Z moonrise 2027-03-16T17:33:25.487Z Sun culminates 59.78 degrees above the horizon -2027-03-16T23:33:48.562Z sunset +2027-03-16T23:33:48.661Z sunset 2027-03-17T00:49:24.410Z Moon culminates 87.11 degrees above the horizon 2027-03-17T06:56:57.340Z Mercury max morning elongation: 27.63 degrees from Sun -2027-03-17T08:04:49.288Z moonset -2027-03-17T11:32:19.469Z sunrise +2027-03-17T08:04:49.436Z moonset +2027-03-17T11:32:19.560Z sunrise 2027-03-17T12:02:43.775Z Jupiter moves from Leo to Cancer 2027-03-17T17:33:08.296Z Sun culminates 60.18 degrees above the horizon -2027-03-17T18:38:19.252Z moonrise -2027-03-17T23:34:23.035Z sunset +2027-03-17T18:38:19.060Z moonrise +2027-03-17T23:34:23.135Z sunset 2027-03-18T01:48:54.450Z Moon culminates 83.52 degrees above the horizon -2027-03-18T08:52:31.407Z moonset -2027-03-18T11:31:10.467Z sunrise +2027-03-18T08:52:31.505Z moonset +2027-03-18T11:31:10.558Z sunrise 2027-03-18T17:32:50.903Z Sun culminates 60.57 degrees above the horizon -2027-03-18T19:47:52.631Z moonrise +2027-03-18T19:47:52.511Z moonrise 2027-03-18T23:34:57.314Z sunset 2027-03-19T02:45:00.944Z Moon culminates 78.41 degrees above the horizon 2027-03-19T04:28:54.778Z lunar perigee at 366426 km -2027-03-19T09:34:06.250Z moonset -2027-03-19T11:30:01.282Z sunrise +2027-03-19T09:34:06.298Z moonset +2027-03-19T11:30:01.372Z sunrise 2027-03-19T17:32:33.330Z Sun culminates 60.97 degrees above the horizon -2027-03-19T20:55:56.118Z moonrise +2027-03-19T20:55:56.076Z moonrise 2027-03-19T23:35:31.414Z sunset 2027-03-20T03:37:39.227Z Moon culminates 72.25 degrees above the horizon -2027-03-20T10:11:06.397Z moonset -2027-03-20T11:28:51.943Z sunrise +2027-03-20T10:11:06.414Z moonset +2027-03-20T11:28:52.033Z sunrise 2027-03-20T17:32:15.602Z Sun culminates 61.36 degrees above the horizon 2027-03-20T20:24:44.049Z March equinox -2027-03-20T22:01:50.267Z moonrise +2027-03-20T22:01:50.263Z moonrise 2027-03-20T23:36:05.352Z sunset 2027-03-21T04:27:32.344Z Moon culminates 65.50 degrees above the horizon -2027-03-21T10:45:14.245Z moonset -2027-03-21T11:27:42.481Z sunrise +2027-03-21T10:45:14.253Z moonset +2027-03-21T11:27:42.571Z sunrise 2027-03-21T17:31:57.741Z Sun culminates 61.76 degrees above the horizon -2027-03-21T23:05:53.763Z moonrise +2027-03-21T23:05:53.764Z moonrise 2027-03-21T23:36:39.145Z sunset 2027-03-22T05:15:45.418Z Moon culminates 58.60 degrees above the horizon 2027-03-22T07:20:33.251Z Mercury aphelion at 0.4667 AU 2027-03-22T10:44:17.992Z full moon -2027-03-22T11:18:06.924Z moonset -2027-03-22T11:26:32.927Z sunrise +2027-03-22T11:18:06.930Z moonset +2027-03-22T11:26:33.015Z sunrise 2027-03-22T17:31:39.771Z Sun culminates 62.15 degrees above the horizon 2027-03-22T23:37:12.811Z sunset -2027-03-23T00:08:49.532Z moonrise +2027-03-23T00:08:49.544Z moonrise 2027-03-23T06:03:27.206Z Moon culminates 51.96 degrees above the horizon -2027-03-23T11:25:23.309Z sunrise -2027-03-23T11:51:13.563Z moonset +2027-03-23T11:25:23.397Z sunrise +2027-03-23T11:51:13.555Z moonset 2027-03-23T17:31:21.718Z Sun culminates 62.54 degrees above the horizon 2027-03-23T23:37:46.368Z sunset -2027-03-24T01:11:17.114Z moonrise +2027-03-24T01:11:17.178Z moonrise 2027-03-24T06:51:38.269Z Moon culminates 45.94 degrees above the horizon 2027-03-24T09:31:55.661Z Venus moves from Capricornus to Aquarius -2027-03-24T11:24:13.659Z sunrise -2027-03-24T12:25:56.300Z moonset +2027-03-24T11:24:13.746Z sunrise +2027-03-24T12:25:56.253Z moonset 2027-03-24T17:31:03.604Z Sun culminates 62.94 degrees above the horizon 2027-03-24T23:18:45.615Z Neptune conjunction -2027-03-24T23:38:19.833Z sunset -2027-03-25T02:13:31.933Z moonrise +2027-03-24T23:38:19.834Z sunset +2027-03-25T02:13:32.087Z moonrise 2027-03-25T07:41:01.719Z Moon culminates 40.85 degrees above the horizon -2027-03-25T11:23:04.007Z sunrise -2027-03-25T13:03:29.387Z moonset +2027-03-25T11:23:04.093Z sunrise +2027-03-25T13:03:29.280Z moonset 2027-03-25T17:30:45.454Z Sun culminates 63.33 degrees above the horizon -2027-03-25T23:38:53.225Z sunset -2027-03-26T03:15:10.896Z moonrise +2027-03-25T23:38:53.226Z sunset +2027-03-26T03:15:11.134Z moonrise 2027-03-26T08:31:54.452Z Moon culminates 36.92 degrees above the horizon -2027-03-26T11:21:54.383Z sunrise -2027-03-26T13:44:52.832Z moonset +2027-03-26T11:21:54.469Z sunrise +2027-03-26T13:44:52.663Z moonset 2027-03-26T17:30:27.290Z Sun culminates 63.72 degrees above the horizon -2027-03-26T23:39:26.558Z sunset -2027-03-27T04:15:09.112Z moonrise +2027-03-26T23:39:26.559Z sunset +2027-03-27T04:15:09.393Z moonrise 2027-03-27T09:24:00.861Z Moon culminates 34.34 degrees above the horizon -2027-03-27T11:20:44.817Z sunrise -2027-03-27T14:30:39.678Z moonset +2027-03-27T11:20:44.901Z sunrise +2027-03-27T14:30:39.461Z moonset 2027-03-27T17:30:09.137Z Sun culminates 64.11 degrees above the horizon -2027-03-27T23:39:59.849Z sunset -2027-03-28T05:11:55.239Z moonrise +2027-03-27T23:39:59.851Z sunset +2027-03-28T05:11:55.522Z moonrise 2027-03-28T10:16:34.463Z Moon culminates 33.19 degrees above the horizon -2027-03-28T11:19:35.338Z sunrise -2027-03-28T15:20:41.905Z moonset +2027-03-28T11:19:35.421Z sunrise +2027-03-28T15:20:41.654Z moonset 2027-03-28T17:29:51.015Z Sun culminates 64.51 degrees above the horizon -2027-03-28T23:40:33.112Z sunset -2027-03-29T06:04:03.879Z moonrise +2027-03-28T23:40:33.114Z sunset +2027-03-29T06:04:04.143Z moonrise 2027-03-29T11:08:31.444Z Moon culminates 33.48 degrees above the horizon -2027-03-29T11:18:25.975Z sunrise -2027-03-29T16:14:06.752Z moonset +2027-03-29T11:18:26.058Z sunrise +2027-03-29T16:14:06.484Z moonset 2027-03-29T17:29:32.946Z Sun culminates 64.89 degrees above the horizon -2027-03-29T23:41:06.361Z sunset +2027-03-29T23:41:06.363Z sunset 2027-03-30T00:54:36.522Z third quarter -2027-03-30T06:50:47.375Z moonrise -2027-03-30T11:17:16.757Z sunrise +2027-03-30T06:50:47.607Z moonrise +2027-03-30T11:17:16.838Z sunrise 2027-03-30T11:58:52.185Z Moon culminates 35.13 degrees above the horizon -2027-03-30T17:09:32.836Z moonset +2027-03-30T17:09:32.581Z moonset 2027-03-30T17:29:14.950Z Sun culminates 65.28 degrees above the horizon -2027-03-30T23:41:39.607Z sunset +2027-03-30T23:41:39.610Z sunset 2027-03-31T01:33:45.781Z lunar apogee at 404315 km -2027-03-31T07:32:07.433Z moonrise -2027-03-31T11:16:07.711Z sunrise +2027-03-31T07:32:07.619Z moonrise +2027-03-31T11:16:07.791Z sunrise 2027-03-31T12:46:59.840Z Moon culminates 37.97 degrees above the horizon 2027-03-31T17:28:57.047Z Sun culminates 65.67 degrees above the horizon -2027-03-31T18:05:39.850Z moonset -2027-03-31T23:42:12.861Z sunset -2027-04-01T08:08:45.091Z moonrise -2027-04-01T11:14:58.863Z sunrise +2027-03-31T18:05:39.647Z moonset +2027-03-31T23:42:12.865Z sunset +2027-04-01T08:08:45.219Z moonrise +2027-04-01T11:14:58.942Z sunrise 2027-04-01T13:32:47.701Z Moon culminates 41.85 degrees above the horizon 2027-04-01T17:28:39.255Z Sun culminates 66.06 degrees above the horizon -2027-04-01T19:01:33.864Z moonset -2027-04-01T23:42:46.135Z sunset -2027-04-02T08:41:42.693Z moonrise -2027-04-02T11:13:50.241Z sunrise +2027-04-01T19:01:33.740Z moonset +2027-04-01T23:42:46.139Z sunset +2027-04-02T08:41:42.764Z moonrise +2027-04-02T11:13:50.319Z sunrise 2027-04-02T14:16:36.092Z Moon culminates 46.57 degrees above the horizon 2027-04-02T17:28:21.591Z Sun culminates 66.44 degrees above the horizon -2027-04-02T19:56:56.942Z moonset -2027-04-02T23:43:19.435Z sunset -2027-04-03T09:12:09.957Z moonrise -2027-04-03T11:12:41.870Z sunrise +2027-04-02T19:56:56.893Z moonset +2027-04-02T23:43:19.440Z sunset +2027-04-03T09:12:09.990Z moonrise +2027-04-03T11:12:41.946Z sunrise 2027-04-03T14:59:04.883Z Moon culminates 51.96 degrees above the horizon 2027-04-03T17:28:04.073Z Sun culminates 66.83 degrees above the horizon -2027-04-03T20:52:03.552Z moonset -2027-04-03T23:43:52.770Z sunset -2027-04-04T09:41:17.631Z moonrise -2027-04-04T11:11:33.775Z sunrise +2027-04-03T20:52:03.545Z moonset +2027-04-03T23:43:52.776Z sunset +2027-04-04T09:41:17.647Z moonrise +2027-04-04T11:11:33.849Z sunrise 2027-04-04T15:41:06.690Z Moon culminates 57.82 degrees above the horizon 2027-04-04T17:27:46.717Z Sun culminates 67.21 degrees above the horizon -2027-04-04T21:47:31.557Z moonset -2027-04-04T23:44:26.147Z sunset -2027-04-05T10:10:17.098Z moonrise -2027-04-05T11:10:25.980Z sunrise +2027-04-04T21:47:31.560Z moonset +2027-04-04T23:44:26.154Z sunset +2027-04-05T10:10:17.109Z moonrise +2027-04-05T11:10:26.053Z sunrise 2027-04-05T16:23:42.469Z Moon culminates 63.96 degrees above the horizon 2027-04-05T17:27:29.537Z Sun culminates 67.59 degrees above the horizon -2027-04-05T22:44:12.544Z moonset -2027-04-05T23:44:59.571Z sunset -2027-04-06T10:40:23.417Z moonrise -2027-04-06T11:09:18.510Z sunrise +2027-04-05T22:44:12.549Z moonset +2027-04-05T23:44:59.579Z sunset +2027-04-06T10:40:23.420Z moonrise +2027-04-06T11:09:18.581Z sunrise 2027-04-06T17:07:58.546Z Moon culminates 70.11 degrees above the horizon 2027-04-06T17:27:12.548Z Sun culminates 67.97 degrees above the horizon -2027-04-06T23:43:01.292Z moonset -2027-04-06T23:45:33.048Z sunset +2027-04-06T23:43:01.319Z moonset +2027-04-06T23:45:33.058Z sunset 2027-04-06T23:51:43.619Z new moon -2027-04-07T11:08:11.388Z sunrise -2027-04-07T11:12:59.554Z moonrise +2027-04-07T11:08:11.457Z sunrise +2027-04-07T11:12:59.535Z moonrise 2027-04-07T13:57:29.580Z Mercury moves from Aquarius to Pisces 2027-04-07T17:16:49.249Z Saturn conjunction 2027-04-07T17:26:55.765Z Sun culminates 68.34 degrees above the horizon 2027-04-07T17:55:02.424Z Moon culminates 75.98 degrees above the horizon -2027-04-07T23:46:06.583Z sunset -2027-04-08T00:44:40.752Z moonset -2027-04-08T11:07:04.638Z sunrise -2027-04-08T11:49:39.069Z moonrise +2027-04-07T23:46:06.594Z sunset +2027-04-08T00:44:40.837Z moonset +2027-04-08T11:07:04.705Z sunrise +2027-04-08T11:49:39.008Z moonrise 2027-04-08T17:26:39.202Z Sun culminates 68.72 degrees above the horizon 2027-04-08T18:45:53.462Z Moon culminates 81.20 degrees above the horizon -2027-04-08T23:46:40.179Z sunset -2027-04-09T01:49:18.230Z moonset -2027-04-09T11:05:58.284Z sunrise -2027-04-09T12:32:01.911Z moonrise +2027-04-08T23:46:40.192Z sunset +2027-04-09T01:49:18.390Z moonset +2027-04-09T11:05:58.348Z sunrise +2027-04-09T12:32:01.798Z moonrise 2027-04-09T17:26:22.873Z Sun culminates 69.09 degrees above the horizon 2027-04-09T19:41:04.398Z Moon culminates 85.35 degrees above the horizon -2027-04-09T23:47:13.842Z sunset -2027-04-10T02:55:54.705Z moonset -2027-04-10T11:04:52.349Z sunrise -2027-04-10T13:21:34.313Z moonrise +2027-04-09T23:47:13.856Z sunset +2027-04-10T02:55:54.916Z moonset +2027-04-10T11:04:52.410Z sunrise +2027-04-10T13:21:34.155Z moonrise 2027-04-10T17:26:06.791Z Sun culminates 69.46 degrees above the horizon 2027-04-10T20:40:15.126Z Moon culminates 87.99 degrees above the horizon -2027-04-10T23:47:47.576Z sunset -2027-04-11T04:02:07.776Z moonset -2027-04-11T11:03:46.857Z sunrise -2027-04-11T14:18:47.016Z moonrise +2027-04-10T23:47:47.591Z sunset +2027-04-11T04:02:07.992Z moonset +2027-04-11T11:03:46.916Z sunrise +2027-04-11T14:18:46.824Z moonrise 2027-04-11T17:25:50.971Z Sun culminates 69.83 degrees above the horizon 2027-04-11T21:41:54.986Z Moon culminates 88.80 degrees above the horizon -2027-04-11T23:48:21.383Z sunset -2027-04-12T05:04:44.262Z moonset -2027-04-12T11:02:41.834Z sunrise -2027-04-12T15:22:31.131Z moonrise +2027-04-11T23:48:21.401Z sunset +2027-04-12T05:04:44.456Z moonset +2027-04-12T11:02:41.890Z sunrise +2027-04-12T15:22:30.917Z moonrise 2027-04-12T17:25:35.428Z Sun culminates 70.19 degrees above the horizon 2027-04-12T19:06:53.357Z Mercury moves from Pisces to Cetus 2027-04-12T22:43:40.812Z Moon culminates 87.63 degrees above the horizon -2027-04-12T23:48:55.269Z sunset -2027-04-13T06:01:04.128Z moonset -2027-04-13T11:01:37.304Z sunrise -2027-04-13T16:30:02.743Z moonrise +2027-04-12T23:48:55.288Z sunset +2027-04-13T06:01:04.288Z moonset +2027-04-13T11:01:37.358Z sunrise +2027-04-13T16:30:02.541Z moonrise 2027-04-13T17:25:20.177Z Sun culminates 70.56 degrees above the horizon 2027-04-13T22:57:12.950Z first quarter 2027-04-13T23:43:13.815Z Moon culminates 84.61 degrees above the horizon -2027-04-13T23:49:29.237Z sunset +2027-04-13T23:49:29.259Z sunset 2027-04-14T00:36:40.779Z lunar perigee at 369994 km -2027-04-14T06:50:08.435Z moonset -2027-04-14T11:00:33.295Z sunrise +2027-04-14T06:50:08.550Z moonset +2027-04-14T11:00:33.346Z sunrise 2027-04-14T17:25:05.232Z Sun culminates 70.92 degrees above the horizon -2027-04-14T17:38:16.101Z moonrise -2027-04-14T23:50:03.292Z sunset +2027-04-14T17:38:15.959Z moonrise +2027-04-14T23:50:03.316Z sunset 2027-04-15T00:39:13.598Z Moon culminates 80.06 degrees above the horizon -2027-04-15T07:32:36.631Z moonset -2027-04-15T10:59:29.832Z sunrise +2027-04-15T07:32:36.694Z moonset +2027-04-15T10:59:29.880Z sunrise 2027-04-15T17:24:50.610Z Sun culminates 71.27 degrees above the horizon 2027-04-15T17:43:37.805Z Mercury moves from Cetus to Pisces -2027-04-15T18:45:03.769Z moonrise -2027-04-15T23:50:37.441Z sunset +2027-04-15T18:45:03.706Z moonrise +2027-04-15T23:50:37.467Z sunset 2027-04-16T01:31:31.206Z Moon culminates 74.39 degrees above the horizon -2027-04-16T08:10:00.648Z moonset +2027-04-16T08:10:00.673Z moonset 2027-04-16T08:44:17.087Z Venus moves from Aquarius to Pisces -2027-04-16T10:58:26.943Z sunrise +2027-04-16T10:58:26.988Z sunrise 2027-04-16T17:24:36.327Z Sun culminates 71.63 degrees above the horizon -2027-04-16T19:49:41.898Z moonrise -2027-04-16T23:51:11.688Z sunset +2027-04-16T19:49:41.886Z moonrise +2027-04-16T23:51:11.717Z sunset 2027-04-17T02:20:48.866Z Moon culminates 68.02 degrees above the horizon 2027-04-17T04:49:25.297Z Venus aphelion at 0.7282 AU -2027-04-17T08:44:05.273Z moonset -2027-04-17T10:57:24.655Z sunrise +2027-04-17T08:44:05.284Z moonset +2027-04-17T10:57:24.696Z sunrise 2027-04-17T17:24:22.401Z Sun culminates 71.98 degrees above the horizon -2027-04-17T20:52:28.790Z moonrise -2027-04-17T23:51:46.040Z sunset +2027-04-17T20:52:28.791Z moonrise +2027-04-17T23:51:46.072Z sunset 2027-04-18T03:08:13.478Z Moon culminates 61.35 degrees above the horizon -2027-04-18T09:16:30.215Z moonset -2027-04-18T10:56:22.995Z sunrise +2027-04-18T09:16:30.222Z moonset +2027-04-18T10:56:23.032Z sunrise 2027-04-18T17:24:08.848Z Sun culminates 72.33 degrees above the horizon -2027-04-18T21:54:11.950Z moonrise -2027-04-18T23:52:20.505Z sunset +2027-04-18T21:54:11.954Z moonrise +2027-04-18T23:52:20.539Z sunset 2027-04-19T03:54:57.766Z Moon culminates 54.75 degrees above the horizon -2027-04-19T09:48:46.682Z moonset -2027-04-19T10:55:21.991Z sunrise +2027-04-19T09:48:46.684Z moonset +2027-04-19T10:55:22.025Z sunrise 2027-04-19T17:23:55.686Z Sun culminates 72.68 degrees above the horizon -2027-04-19T22:55:40.815Z moonrise -2027-04-19T23:52:55.088Z sunset +2027-04-19T22:55:40.849Z moonrise +2027-04-19T23:52:55.125Z sunset 2027-04-20T04:42:08.791Z Moon culminates 48.56 degrees above the horizon -2027-04-20T10:22:19.144Z moonset -2027-04-20T10:54:21.671Z sunrise +2027-04-20T10:22:19.119Z moonset +2027-04-20T10:54:21.701Z sunrise 2027-04-20T17:23:42.932Z Sun culminates 73.02 degrees above the horizon 2027-04-20T22:27:43.107Z full moon -2027-04-20T23:53:29.796Z sunset -2027-04-20T23:57:25.590Z moonrise +2027-04-20T23:53:29.837Z sunset +2027-04-20T23:57:25.699Z moonrise 2027-04-21T05:30:39.107Z Moon culminates 43.10 degrees above the horizon -2027-04-21T10:53:22.063Z sunrise -2027-04-21T10:58:26.060Z moonset +2027-04-21T10:53:22.089Z sunrise +2027-04-21T10:58:25.982Z moonset 2027-04-21T17:23:30.603Z Sun culminates 73.36 degrees above the horizon -2027-04-21T23:54:04.636Z sunset -2027-04-22T00:59:19.738Z moonrise +2027-04-21T23:54:04.679Z sunset +2027-04-22T00:59:19.939Z moonrise 2027-04-22T06:20:57.209Z Moon culminates 38.65 degrees above the horizon -2027-04-22T10:52:23.194Z sunrise -2027-04-22T11:38:15.436Z moonset +2027-04-22T10:52:23.216Z sunrise +2027-04-22T11:38:15.294Z moonset 2027-04-22T17:23:18.715Z Sun culminates 73.70 degrees above the horizon -2027-04-22T23:54:39.612Z sunset -2027-04-23T02:00:29.376Z moonrise +2027-04-22T23:54:39.659Z sunset +2027-04-23T02:00:29.640Z moonrise 2027-04-23T07:12:58.023Z Moon culminates 35.47 degrees above the horizon -2027-04-23T10:51:25.092Z sunrise -2027-04-23T12:22:32.811Z moonset +2027-04-23T10:51:25.110Z sunrise +2027-04-23T12:22:32.615Z moonset 2027-04-23T17:23:07.285Z Sun culminates 74.03 degrees above the horizon -2027-04-23T23:55:14.728Z sunset -2027-04-24T02:59:19.664Z moonrise +2027-04-23T23:55:14.778Z sunset +2027-04-24T02:59:19.947Z moonrise 2027-04-24T08:05:59.314Z Moon culminates 33.70 degrees above the horizon -2027-04-24T10:50:27.786Z sunrise -2027-04-24T13:11:24.296Z moonset +2027-04-24T10:50:27.799Z sunrise +2027-04-24T13:11:24.059Z moonset 2027-04-24T17:22:56.328Z Sun culminates 74.36 degrees above the horizon -2027-04-24T23:55:49.987Z sunset +2027-04-24T23:55:50.041Z sunset 2027-04-25T00:45:15.288Z Mercury moves from Pisces to Aries -2027-04-25T03:54:04.717Z moonrise +2027-04-25T03:54:04.987Z moonrise 2027-04-25T08:58:51.457Z Moon culminates 33.41 degrees above the horizon -2027-04-25T10:49:31.301Z sunrise -2027-04-25T14:04:06.074Z moonset +2027-04-25T10:49:31.311Z sunrise +2027-04-25T14:04:05.813Z moonset 2027-04-25T17:22:45.858Z Sun culminates 74.69 degrees above the horizon 2027-04-25T20:06:39.551Z Venus moves from Pisces to Cetus -2027-04-25T23:56:25.391Z sunset -2027-04-26T04:43:28.264Z moonrise +2027-04-25T23:56:25.448Z sunset +2027-04-26T04:43:28.507Z moonrise 2027-04-26T09:50:20.591Z Moon culminates 34.52 degrees above the horizon -2027-04-26T10:48:35.666Z sunrise -2027-04-26T14:59:14.712Z moonset +2027-04-26T10:48:35.670Z sunrise +2027-04-26T14:59:14.451Z moonset 2027-04-26T17:22:35.889Z Sun culminates 75.01 degrees above the horizon -2027-04-26T23:57:00.938Z sunset -2027-04-27T05:27:08.377Z moonrise +2027-04-26T23:57:00.999Z sunset +2027-04-27T05:27:08.579Z moonrise 2027-04-27T10:39:33.496Z Moon culminates 36.91 degrees above the horizon 2027-04-27T10:47:40.905Z sunrise -2027-04-27T15:55:18.056Z moonset +2027-04-27T15:55:17.833Z moonset 2027-04-27T17:22:26.432Z Sun culminates 75.33 degrees above the horizon 2027-04-27T21:21:21.194Z lunar apogee at 404157 km -2027-04-27T23:57:36.628Z sunset -2027-04-28T06:05:33.894Z moonrise -2027-04-28T10:46:47.045Z sunrise +2027-04-27T23:57:36.693Z sunset +2027-04-28T06:05:34.042Z moonrise +2027-04-28T10:46:47.040Z sunrise 2027-04-28T11:26:10.853Z Moon culminates 40.38 degrees above the horizon -2027-04-28T16:51:07.512Z moonset +2027-04-28T16:51:07.359Z moonset 2027-04-28T17:22:17.500Z Sun culminates 75.64 degrees above the horizon 2027-04-28T20:18:33.564Z third quarter 2027-04-28T21:09:48.443Z Mercury superior conjunction -2027-04-28T23:58:12.455Z sunset +2027-04-28T23:58:12.524Z sunset 2027-04-29T05:13:12.083Z Venus moves from Cetus to Pisces -2027-04-29T06:39:44.615Z moonrise -2027-04-29T10:45:54.109Z sunrise +2027-04-29T06:39:44.706Z moonrise +2027-04-29T10:45:54.099Z sunrise 2027-04-29T12:10:26.216Z Moon culminates 44.73 degrees above the horizon 2027-04-29T17:22:09.101Z Sun culminates 75.96 degrees above the horizon -2027-04-29T17:46:13.897Z moonset -2027-04-29T23:58:48.416Z sunset -2027-04-30T07:10:52.597Z moonrise -2027-04-30T10:45:02.121Z sunrise +2027-04-29T17:46:13.823Z moonset +2027-04-29T23:58:48.489Z sunset +2027-04-30T07:10:52.642Z moonrise +2027-04-30T10:45:02.106Z sunrise 2027-04-30T12:52:57.493Z Moon culminates 49.80 degrees above the horizon 2027-04-30T17:22:01.243Z Sun culminates 76.26 degrees above the horizon -2027-04-30T18:40:46.041Z moonset -2027-04-30T23:59:24.501Z sunset -2027-05-01T07:40:12.036Z moonrise -2027-05-01T10:44:11.103Z sunrise +2027-04-30T18:40:46.022Z moonset +2027-04-30T23:59:24.578Z sunset +2027-05-01T07:40:12.057Z moonrise +2027-05-01T10:44:11.084Z sunrise 2027-05-01T13:34:38.237Z Moon culminates 55.39 degrees above the horizon 2027-05-01T17:21:53.933Z Sun culminates 76.57 degrees above the horizon -2027-05-01T19:35:21.276Z moonset -2027-05-02T00:00:00.703Z sunset -2027-05-02T08:08:56.965Z moonrise -2027-05-02T10:43:21.077Z sunrise +2027-05-01T19:35:21.278Z moonset +2027-05-02T00:00:00.784Z sunset +2027-05-02T08:08:56.978Z moonrise +2027-05-02T10:43:21.052Z sunrise 2027-05-02T14:16:31.970Z Moon culminates 61.35 degrees above the horizon 2027-05-02T17:21:47.177Z Sun culminates 76.87 degrees above the horizon -2027-05-02T20:30:55.065Z moonset -2027-05-03T00:00:37.010Z sunset -2027-05-03T08:38:23.769Z moonrise -2027-05-03T10:42:32.062Z sunrise +2027-05-02T20:30:55.069Z moonset +2027-05-03T00:00:37.096Z sunset +2027-05-03T08:38:23.776Z moonrise +2027-05-03T10:42:32.033Z sunrise 2027-05-03T14:59:49.158Z Moon culminates 67.46 degrees above the horizon 2027-05-03T17:21:40.979Z Sun culminates 77.16 degrees above the horizon -2027-05-03T21:28:31.134Z moonset -2027-05-04T00:01:13.410Z sunset -2027-05-04T09:09:55.995Z moonrise -2027-05-04T10:41:44.079Z sunrise +2027-05-03T21:28:31.147Z moonset +2027-05-04T00:01:13.500Z sunset +2027-05-04T09:09:55.988Z moonrise +2027-05-04T10:41:44.044Z sunrise 2027-05-04T15:45:44.388Z Moon culminates 73.47 degrees above the horizon 2027-05-04T17:21:35.341Z Sun culminates 77.45 degrees above the horizon -2027-05-04T22:29:08.723Z moonset -2027-05-05T00:01:49.889Z sunset +2027-05-04T22:29:08.777Z moonset +2027-05-05T00:01:49.983Z sunset 2027-05-05T06:58:56.855Z Mercury perihelion at 0.3075 AU -2027-05-05T09:45:08.952Z moonrise -2027-05-05T10:40:57.144Z sunrise +2027-05-05T09:45:08.912Z moonrise +2027-05-05T10:40:57.104Z sunrise 2027-05-05T16:35:29.506Z Moon culminates 79.03 degrees above the horizon 2027-05-05T17:21:30.264Z Sun culminates 77.74 degrees above the horizon -2027-05-05T23:33:20.846Z moonset -2027-05-06T00:02:26.431Z sunset -2027-05-06T10:25:49.390Z moonrise -2027-05-06T10:40:11.276Z sunrise +2027-05-05T23:33:20.974Z moonset +2027-05-06T00:02:26.530Z sunset +2027-05-06T10:25:49.300Z moonrise +2027-05-06T10:40:11.231Z sunrise 2027-05-06T10:59:09.224Z new moon 2027-05-06T17:21:25.749Z Sun culminates 78.02 degrees above the horizon 2027-05-06T17:29:57.005Z Moon culminates 83.72 degrees above the horizon 2027-05-06T19:16:23.857Z Mercury moves from Aries to Taurus -2027-05-07T00:03:03.021Z sunset -2027-05-07T00:40:39.854Z moonset -2027-05-07T10:39:26.490Z sunrise -2027-05-07T11:13:40.728Z moonrise +2027-05-07T00:03:03.124Z sunset +2027-05-07T00:40:40.048Z moonset +2027-05-07T10:39:26.440Z sunrise +2027-05-07T11:13:40.588Z moonrise 2027-05-07T17:21:21.797Z Sun culminates 78.30 degrees above the horizon 2027-05-07T18:29:10.511Z Moon culminates 87.04 degrees above the horizon -2027-05-08T00:03:39.640Z sunset -2027-05-08T01:49:03.275Z moonset -2027-05-08T10:38:42.804Z sunrise -2027-05-08T12:09:42.312Z moonrise +2027-05-08T00:03:39.748Z sunset +2027-05-08T01:49:03.490Z moonset +2027-05-08T10:38:42.748Z sunrise +2027-05-08T12:09:42.132Z moonrise 2027-05-08T17:21:18.404Z Sun culminates 78.57 degrees above the horizon 2027-05-08T19:31:53.982Z Moon culminates 88.55 degrees above the horizon -2027-05-09T00:04:16.271Z sunset -2027-05-09T02:55:02.602Z moonset -2027-05-09T10:38:00.232Z sunrise -2027-05-09T13:13:11.398Z moonrise +2027-05-09T00:04:16.383Z sunset +2027-05-09T02:55:02.801Z moonset +2027-05-09T10:38:00.171Z sunrise +2027-05-09T13:13:11.191Z moonrise 2027-05-09T17:21:15.571Z Sun culminates 78.84 degrees above the horizon 2027-05-09T20:07:00.659Z lunar perigee at 366621 km 2027-05-09T20:35:33.943Z Moon culminates 88.02 degrees above the horizon -2027-05-10T00:04:52.894Z sunset -2027-05-10T03:55:07.384Z moonset +2027-05-10T00:04:53.010Z sunset +2027-05-10T03:55:07.552Z moonset 2027-05-10T09:09:56.835Z Jupiter moves from Cancer to Leo -2027-05-10T10:37:18.790Z sunrise -2027-05-10T14:21:23.516Z moonrise +2027-05-10T10:37:18.725Z sunrise +2027-05-10T14:21:23.309Z moonrise 2027-05-10T17:21:13.295Z Sun culminates 79.10 degrees above the horizon 2027-05-10T21:37:17.876Z Moon culminates 85.50 degrees above the horizon -2027-05-11T00:05:29.488Z sunset -2027-05-11T04:47:27.116Z moonset -2027-05-11T10:36:38.496Z sunrise -2027-05-11T15:30:41.829Z moonrise +2027-05-11T00:05:29.609Z sunset +2027-05-11T04:47:27.242Z moonset +2027-05-11T10:36:38.425Z sunrise +2027-05-11T15:30:41.669Z moonrise 2027-05-11T17:21:11.575Z Sun culminates 79.36 degrees above the horizon 2027-05-11T22:35:09.606Z Moon culminates 81.32 degrees above the horizon -2027-05-12T00:06:06.035Z sunset -2027-05-12T05:32:15.909Z moonset -2027-05-12T10:35:59.364Z sunrise -2027-05-12T16:38:21.801Z moonrise +2027-05-12T00:06:06.160Z sunset +2027-05-12T05:32:15.984Z moonset +2027-05-12T10:35:59.288Z sunrise +2027-05-12T16:38:21.719Z moonrise 2027-05-12T17:21:10.408Z Sun culminates 79.61 degrees above the horizon 2027-05-12T23:28:39.519Z Moon culminates 75.93 degrees above the horizon -2027-05-13T00:06:42.513Z sunset +2027-05-13T00:06:42.643Z sunset 2027-05-13T04:44:28.046Z first quarter -2027-05-13T06:11:04.046Z moonset -2027-05-13T10:35:21.412Z sunrise +2027-05-13T06:11:04.079Z moonset +2027-05-13T10:35:21.331Z sunrise 2027-05-13T17:21:09.792Z Sun culminates 79.86 degrees above the horizon -2027-05-13T17:43:17.384Z moonrise -2027-05-14T00:07:18.904Z sunset +2027-05-13T17:43:17.362Z moonrise +2027-05-14T00:07:19.038Z sunset 2027-05-14T00:18:24.817Z Moon culminates 69.79 degrees above the horizon -2027-05-14T06:45:44.217Z moonset -2027-05-14T10:34:44.656Z sunrise +2027-05-14T06:45:44.230Z moonset +2027-05-14T10:34:44.570Z sunrise 2027-05-14T17:21:09.727Z Sun culminates 80.10 degrees above the horizon 2027-05-14T18:45:41.474Z moonrise -2027-05-15T00:07:55.189Z sunset +2027-05-15T00:07:55.327Z sunset 2027-05-15T01:05:35.996Z Moon culminates 63.29 degrees above the horizon -2027-05-15T07:18:04.441Z moonset -2027-05-15T10:34:09.112Z sunrise +2027-05-15T07:18:04.449Z moonset +2027-05-15T10:34:09.021Z sunrise 2027-05-15T17:21:10.211Z Sun culminates 80.34 degrees above the horizon -2027-05-15T19:46:26.985Z moonrise -2027-05-16T00:08:31.348Z sunset +2027-05-15T19:46:26.987Z moonrise +2027-05-16T00:08:31.491Z sunset 2027-05-16T01:51:32.731Z Moon culminates 56.79 degrees above the horizon -2027-05-16T07:49:41.792Z moonset -2027-05-16T10:33:34.795Z sunrise +2027-05-16T07:49:41.797Z moonset +2027-05-16T10:33:34.700Z sunrise 2027-05-16T10:49:25.196Z Venus moves from Pisces to Aries 2027-05-16T17:21:11.243Z Sun culminates 80.57 degrees above the horizon -2027-05-16T20:46:35.532Z moonrise -2027-05-17T00:09:07.364Z sunset +2027-05-16T20:46:35.551Z moonrise +2027-05-17T00:09:07.511Z sunset 2027-05-17T02:37:30.824Z Moon culminates 50.59 degrees above the horizon -2027-05-17T08:22:04.600Z moonset -2027-05-17T10:33:01.722Z sunrise +2027-05-17T08:22:04.587Z moonset +2027-05-17T10:33:01.622Z sunrise 2027-05-17T17:21:12.821Z Sun culminates 80.79 degrees above the horizon -2027-05-17T21:46:55.467Z moonrise -2027-05-18T00:09:43.218Z sunset +2027-05-17T21:46:55.544Z moonrise +2027-05-18T00:09:43.369Z sunset 2027-05-18T03:24:34.146Z Moon culminates 44.98 degrees above the horizon -2027-05-18T08:56:35.247Z moonset -2027-05-18T10:32:29.909Z sunrise +2027-05-18T08:56:35.190Z moonset +2027-05-18T10:32:29.804Z sunrise 2027-05-18T17:21:14.944Z Sun culminates 81.02 degrees above the horizon -2027-05-18T22:47:44.027Z moonrise -2027-05-19T00:10:18.890Z sunset +2027-05-18T22:47:44.193Z moonrise +2027-05-19T00:10:19.046Z sunset 2027-05-19T04:13:26.328Z Moon culminates 40.24 degrees above the horizon -2027-05-19T09:34:28.829Z moonset -2027-05-19T10:31:59.369Z sunrise +2027-05-19T09:34:28.712Z moonset +2027-05-19T10:31:59.259Z sunrise 2027-05-19T17:21:17.611Z Sun culminates 81.23 degrees above the horizon -2027-05-19T23:48:32.690Z moonrise -2027-05-20T00:10:54.364Z sunset +2027-05-19T23:48:32.933Z moonrise +2027-05-20T00:10:54.523Z sunset 2027-05-20T05:04:20.545Z Moon culminates 36.63 degrees above the horizon -2027-05-20T10:16:44.267Z moonset -2027-05-20T10:31:30.118Z sunrise +2027-05-20T10:16:44.091Z moonset +2027-05-20T10:31:30.004Z sunrise 2027-05-20T10:59:38.491Z full moon 2027-05-20T17:21:20.817Z Sun culminates 81.44 degrees above the horizon -2027-05-21T00:11:29.618Z sunset -2027-05-21T00:48:03.387Z moonrise +2027-05-21T00:11:29.781Z sunset +2027-05-21T00:48:03.664Z moonrise 2027-05-21T05:56:51.103Z Moon culminates 34.34 degrees above the horizon -2027-05-21T10:31:02.170Z sunrise -2027-05-21T11:03:47.402Z moonset +2027-05-21T10:31:02.052Z sunrise +2027-05-21T11:03:47.180Z moonset 2027-05-21T17:21:24.561Z Sun culminates 81.64 degrees above the horizon -2027-05-22T00:12:04.633Z sunset -2027-05-22T01:44:27.161Z moonrise +2027-05-22T00:12:04.800Z sunset +2027-05-22T01:44:27.436Z moonrise 2027-05-22T06:49:55.350Z Moon culminates 33.50 degrees above the horizon -2027-05-22T10:30:35.539Z sunrise -2027-05-22T11:55:13.866Z moonset +2027-05-22T10:30:35.417Z sunrise +2027-05-22T11:55:13.614Z moonset 2027-05-22T17:21:28.839Z Sun culminates 81.84 degrees above the horizon -2027-05-23T00:12:39.387Z sunset -2027-05-23T02:36:04.213Z moonrise +2027-05-23T00:12:39.558Z sunset +2027-05-23T02:36:04.465Z moonrise 2027-05-23T07:42:11.996Z Moon culminates 34.10 degrees above the horizon -2027-05-23T10:30:10.238Z sunrise -2027-05-23T12:49:48.272Z moonset +2027-05-23T10:30:10.111Z sunrise +2027-05-23T12:49:48.009Z moonset 2027-05-23T17:21:33.647Z Sun culminates 82.03 degrees above the horizon -2027-05-24T00:13:13.859Z sunset -2027-05-24T03:22:01.671Z moonrise +2027-05-24T00:13:14.034Z sunset +2027-05-24T03:22:01.888Z moonrise 2027-05-24T08:32:29.429Z Moon culminates 36.04 degrees above the horizon -2027-05-24T10:29:46.278Z sunrise -2027-05-24T13:45:49.564Z moonset +2027-05-24T10:29:46.147Z sunrise +2027-05-24T13:45:49.325Z moonset 2027-05-24T17:21:38.978Z Sun culminates 82.22 degrees above the horizon -2027-05-25T00:13:48.025Z sunset -2027-05-25T04:02:24.415Z moonrise +2027-05-25T00:13:48.203Z sunset +2027-05-25T04:02:24.582Z moonrise 2027-05-25T09:20:07.797Z Moon culminates 39.13 degrees above the horizon -2027-05-25T10:29:23.669Z sunrise -2027-05-25T14:41:49.033Z moonset +2027-05-25T10:29:23.535Z sunrise +2027-05-25T14:41:48.855Z moonset 2027-05-25T15:13:44.194Z lunar apogee at 404790 km 2027-05-25T17:21:44.825Z Sun culminates 82.40 degrees above the horizon -2027-05-26T00:14:21.859Z sunset -2027-05-26T04:38:00.096Z moonrise +2027-05-26T00:14:22.041Z sunset +2027-05-26T04:38:00.206Z moonrise 2027-05-26T10:05:04.804Z Moon culminates 43.16 degrees above the horizon -2027-05-26T10:29:02.422Z sunrise -2027-05-26T15:36:56.520Z moonset +2027-05-26T10:29:02.284Z sunrise +2027-05-26T15:36:56.421Z moonset 2027-05-26T17:21:51.180Z Sun culminates 82.58 degrees above the horizon -2027-05-27T00:14:55.338Z sunset -2027-05-27T05:09:57.284Z moonrise +2027-05-27T00:14:55.523Z sunset +2027-05-27T05:09:57.343Z moonrise 2027-05-27T06:13:30.243Z Uranus conjunction -2027-05-27T10:28:42.543Z sunrise +2027-05-27T10:28:42.401Z sunrise 2027-05-27T10:47:48.855Z Moon culminates 47.92 degrees above the horizon -2027-05-27T16:31:05.374Z moonset +2027-05-27T16:31:05.340Z moonset 2027-05-27T17:21:58.033Z Sun culminates 82.74 degrees above the horizon -2027-05-28T00:15:28.432Z sunset -2027-05-28T05:39:30.443Z moonrise +2027-05-28T00:15:28.620Z sunset +2027-05-28T05:39:30.471Z moonrise 2027-05-28T10:01:57.904Z Mercury max evening elongation: 22.92 degrees from Sun -2027-05-28T10:28:24.039Z sunrise +2027-05-28T10:28:23.894Z sunrise 2027-05-28T11:29:08.795Z Moon culminates 53.25 degrees above the horizon 2027-05-28T13:58:34.252Z third quarter 2027-05-28T17:22:05.372Z Sun culminates 82.91 degrees above the horizon -2027-05-28T17:24:44.079Z moonset -2027-05-29T00:16:01.113Z sunset -2027-05-29T06:07:54.189Z moonrise +2027-05-28T17:24:44.076Z moonset +2027-05-29T00:16:01.304Z sunset +2027-05-29T06:07:54.205Z moonrise 2027-05-29T07:10:25.417Z Mercury moves from Taurus to Gemini -2027-05-29T10:28:06.914Z sunrise +2027-05-29T10:28:06.765Z sunrise 2027-05-29T12:10:06.203Z Moon culminates 58.97 degrees above the horizon 2027-05-29T17:22:13.185Z Sun culminates 83.06 degrees above the horizon -2027-05-29T18:18:44.988Z moonset -2027-05-30T00:16:33.350Z sunset -2027-05-30T06:36:24.112Z moonrise -2027-05-30T10:27:51.168Z sunrise +2027-05-29T18:18:44.992Z moonset +2027-05-30T00:16:33.545Z sunset +2027-05-30T06:36:24.123Z moonrise +2027-05-30T10:27:51.016Z sunrise 2027-05-30T12:51:51.466Z Moon culminates 64.91 degrees above the horizon 2027-05-30T17:22:21.456Z Sun culminates 83.21 degrees above the horizon -2027-05-30T19:14:14.576Z moonset -2027-05-31T00:17:05.113Z sunset -2027-05-31T07:06:21.272Z moonrise -2027-05-31T10:27:36.803Z sunrise +2027-05-30T19:14:14.582Z moonset +2027-05-31T00:17:05.311Z sunset +2027-05-31T07:06:21.274Z moonrise +2027-05-31T10:27:36.648Z sunrise 2027-05-31T13:35:41.945Z Moon culminates 70.87 degrees above the horizon 2027-05-31T17:22:30.168Z Sun culminates 83.36 degrees above the horizon -2027-05-31T20:12:23.614Z moonset -2027-06-01T00:17:36.369Z sunset -2027-06-01T07:39:18.163Z moonrise -2027-06-01T10:27:23.816Z sunrise +2027-05-31T20:12:23.646Z moonset +2027-06-01T00:17:36.569Z sunset +2027-06-01T07:39:18.140Z moonrise +2027-06-01T10:27:23.658Z sunrise 2027-06-01T14:22:58.724Z Moon culminates 76.58 degrees above the horizon 2027-06-01T17:22:39.305Z Sun culminates 83.49 degrees above the horizon -2027-06-01T21:14:11.584Z moonset -2027-06-02T00:18:07.084Z sunset -2027-06-02T08:17:02.964Z moonrise -2027-06-02T10:27:12.203Z sunrise +2027-06-01T21:14:11.676Z moonset +2027-06-02T00:18:07.286Z sunset +2027-06-02T08:17:02.898Z moonrise +2027-06-02T10:27:12.042Z sunrise 2027-06-02T15:14:56.284Z Moon culminates 81.67 degrees above the horizon 2027-06-02T17:22:48.845Z Sun culminates 83.62 degrees above the horizon -2027-06-02T22:19:57.722Z moonset -2027-06-03T00:18:37.223Z sunset +2027-06-02T22:19:57.888Z moonset +2027-06-03T00:18:37.428Z sunset 2027-06-03T04:09:51.283Z Venus moves from Aries to Taurus -2027-06-03T09:01:34.662Z moonrise -2027-06-03T10:27:01.957Z sunrise +2027-06-03T09:01:34.545Z moonrise +2027-06-03T10:27:01.794Z sunrise 2027-06-03T16:12:17.928Z Moon culminates 85.67 degrees above the horizon 2027-06-03T17:22:58.769Z Sun culminates 83.75 degrees above the horizon -2027-06-03T23:28:38.122Z moonset -2027-06-04T00:19:06.752Z sunset -2027-06-04T09:54:34.688Z moonrise -2027-06-04T10:26:53.072Z sunrise +2027-06-03T23:28:38.332Z moonset +2027-06-04T00:19:06.960Z sunset +2027-06-04T09:54:34.526Z moonrise +2027-06-04T10:26:52.906Z sunrise 2027-06-04T17:14:36.680Z Moon culminates 88.05 degrees above the horizon 2027-06-04T17:23:09.055Z Sun culminates 83.87 degrees above the horizon 2027-06-04T19:40:50.809Z new moon -2027-06-05T00:19:35.636Z sunset -2027-06-05T00:37:16.990Z moonset -2027-06-05T10:26:45.536Z sunrise -2027-06-05T10:56:24.905Z moonrise +2027-06-05T00:19:35.846Z sunset +2027-06-05T00:37:17.197Z moonset +2027-06-05T10:26:45.368Z sunrise +2027-06-05T10:56:24.708Z moonrise 2027-06-05T17:23:19.679Z Sun culminates 83.98 degrees above the horizon 2027-06-05T18:19:46.855Z Moon culminates 88.41 degrees above the horizon -2027-06-06T00:20:03.837Z sunset -2027-06-06T01:41:50.382Z moonset -2027-06-06T10:26:39.340Z sunrise -2027-06-06T12:05:06.159Z moonrise +2027-06-06T00:20:04.049Z sunset +2027-06-06T01:41:50.561Z moonset +2027-06-06T10:26:39.169Z sunrise +2027-06-06T12:05:05.947Z moonrise 2027-06-06T14:53:12.669Z lunar perigee at 361692 km 2027-06-06T17:23:30.617Z Sun culminates 84.08 degrees above the horizon 2027-06-06T19:24:33.516Z Moon culminates 86.60 degrees above the horizon -2027-06-07T00:20:31.320Z sunset -2027-06-07T02:39:06.146Z moonset -2027-06-07T10:26:34.471Z sunrise -2027-06-07T13:16:42.873Z moonrise +2027-06-07T00:20:31.534Z sunset +2027-06-07T02:39:06.286Z moonset +2027-06-07T10:26:34.299Z sunrise +2027-06-07T13:16:42.690Z moonrise 2027-06-07T17:23:41.847Z Sun culminates 84.18 degrees above the horizon 2027-06-07T20:26:01.314Z Moon culminates 82.87 degrees above the horizon -2027-06-08T00:20:58.048Z sunset -2027-06-08T03:28:10.032Z moonset -2027-06-08T10:26:30.919Z sunrise -2027-06-08T14:27:24.419Z moonrise +2027-06-08T00:20:58.264Z sunset +2027-06-08T03:28:10.122Z moonset +2027-06-08T10:26:30.745Z sunrise +2027-06-08T14:27:24.311Z moonrise 2027-06-08T17:23:53.343Z Sun culminates 84.27 degrees above the horizon 2027-06-08T21:22:45.975Z Moon culminates 77.69 degrees above the horizon -2027-06-09T00:21:23.986Z sunset -2027-06-09T04:10:05.460Z moonset -2027-06-09T10:26:28.671Z sunrise -2027-06-09T15:35:03.680Z moonrise +2027-06-09T00:21:24.204Z sunset +2027-06-09T04:10:05.502Z moonset +2027-06-09T10:26:28.495Z sunrise +2027-06-09T15:35:03.645Z moonrise 2027-06-09T17:24:05.082Z Sun culminates 84.36 degrees above the horizon 2027-06-09T22:14:56.261Z Moon culminates 71.60 degrees above the horizon -2027-06-10T00:21:49.100Z sunset -2027-06-10T04:46:46.304Z moonset -2027-06-10T10:26:27.713Z sunrise -2027-06-10T16:39:21.932Z moonrise +2027-06-10T00:21:49.319Z sunset +2027-06-10T04:46:46.320Z moonset +2027-06-10T10:26:27.536Z sunrise +2027-06-10T16:39:21.929Z moonrise 2027-06-10T17:24:17.042Z Sun culminates 84.43 degrees above the horizon 2027-06-10T23:03:35.832Z Moon culminates 65.08 degrees above the horizon -2027-06-11T00:22:13.356Z sunset -2027-06-11T05:20:10.649Z moonset -2027-06-11T10:26:28.034Z sunrise +2027-06-11T00:22:13.576Z sunset +2027-06-11T05:20:10.658Z moonset +2027-06-11T10:26:27.854Z sunrise 2027-06-11T10:56:41.544Z first quarter 2027-06-11T17:24:29.198Z Sun culminates 84.50 degrees above the horizon -2027-06-11T17:41:04.408Z moonrise +2027-06-11T17:41:04.410Z moonrise 2027-06-11T23:50:07.960Z Moon culminates 58.51 degrees above the horizon -2027-06-12T00:22:36.723Z sunset -2027-06-12T05:52:04.879Z moonset -2027-06-12T10:26:29.618Z sunrise +2027-06-12T00:22:36.944Z sunset +2027-06-12T05:52:04.886Z moonset +2027-06-12T10:26:29.437Z sunrise 2027-06-12T17:24:41.530Z Sun culminates 84.57 degrees above the horizon -2027-06-12T18:41:18.151Z moonrise -2027-06-13T00:22:59.171Z sunset +2027-06-12T18:41:18.163Z moonrise +2027-06-13T00:22:59.393Z sunset 2027-06-13T00:35:55.735Z Moon culminates 52.23 degrees above the horizon -2027-06-13T06:24:03.510Z moonset -2027-06-13T10:26:32.451Z sunrise +2027-06-13T06:24:03.504Z moonset +2027-06-13T10:26:32.269Z sunrise 2027-06-13T17:24:54.015Z Sun culminates 84.63 degrees above the horizon -2027-06-13T19:41:04.546Z moonrise -2027-06-14T00:23:20.672Z sunset +2027-06-13T19:41:04.603Z moonrise +2027-06-14T00:23:20.896Z sunset 2027-06-14T01:22:12.334Z Moon culminates 46.49 degrees above the horizon -2027-06-14T06:57:32.988Z moonset -2027-06-14T10:26:36.519Z sunrise +2027-06-14T06:57:32.946Z moonset +2027-06-14T10:26:36.336Z sunrise 2027-06-14T17:25:06.633Z Sun culminates 84.68 degrees above the horizon -2027-06-14T20:41:00.533Z moonrise -2027-06-15T00:23:41.199Z sunset +2027-06-14T20:41:00.672Z moonrise +2027-06-15T00:23:41.424Z sunset 2027-06-15T02:09:53.847Z Moon culminates 41.54 degrees above the horizon -2027-06-15T07:33:53.115Z moonset -2027-06-15T10:26:41.806Z sunrise +2027-06-15T07:33:53.017Z moonset +2027-06-15T10:26:41.623Z sunrise 2027-06-15T17:25:19.362Z Sun culminates 84.72 degrees above the horizon -2027-06-15T21:41:03.321Z moonrise -2027-06-16T00:24:00.728Z sunset +2027-06-15T21:41:03.543Z moonrise +2027-06-16T00:24:00.953Z sunset 2027-06-16T02:59:30.521Z Moon culminates 37.62 degrees above the horizon -2027-06-16T08:14:12.087Z moonset -2027-06-16T10:26:48.297Z sunrise +2027-06-16T08:14:11.928Z moonset +2027-06-16T10:26:48.113Z sunrise 2027-06-16T13:56:45.302Z Mercury moves from Gemini to Orion 2027-06-16T17:25:32.183Z Sun culminates 84.76 degrees above the horizon -2027-06-16T22:40:21.377Z moonrise -2027-06-17T00:24:19.233Z sunset +2027-06-16T22:40:21.647Z moonrise +2027-06-17T00:24:19.459Z sunset 2027-06-17T03:50:57.237Z Moon culminates 34.94 degrees above the horizon -2027-06-17T08:59:12.960Z moonset -2027-06-17T10:26:55.976Z sunrise +2027-06-17T08:59:12.752Z moonset +2027-06-17T10:26:55.790Z sunrise 2027-06-17T17:25:45.076Z Sun culminates 84.79 degrees above the horizon -2027-06-17T23:37:22.013Z moonrise -2027-06-18T00:24:36.692Z sunset +2027-06-17T23:37:22.290Z moonrise +2027-06-18T00:24:36.918Z sunset 2027-06-18T04:43:29.609Z Moon culminates 33.64 degrees above the horizon 2027-06-18T06:36:23.656Z Mercury aphelion at 0.4667 AU -2027-06-18T09:48:55.023Z moonset -2027-06-18T10:27:04.825Z sunrise +2027-06-18T09:48:54.779Z moonset +2027-06-18T10:27:04.639Z sunrise 2027-06-18T17:25:58.021Z Sun culminates 84.81 degrees above the horizon -2027-06-19T00:24:53.082Z sunset -2027-06-19T00:30:21.931Z moonrise +2027-06-19T00:24:53.309Z sunset +2027-06-19T00:30:22.192Z moonrise 2027-06-19T00:45:01.376Z full moon 2027-06-19T05:35:53.995Z Moon culminates 33.78 degrees above the horizon -2027-06-19T10:27:14.829Z sunrise -2027-06-19T10:42:23.435Z moonset +2027-06-19T10:27:14.643Z sunrise +2027-06-19T10:42:23.174Z moonset 2027-06-19T17:26:10.999Z Sun culminates 84.83 degrees above the horizon -2027-06-20T00:25:08.382Z sunset -2027-06-20T01:18:07.596Z moonrise +2027-06-20T00:25:08.609Z sunset +2027-06-20T01:18:07.826Z moonrise 2027-06-20T06:26:51.905Z Moon culminates 35.29 degrees above the horizon -2027-06-20T10:27:25.971Z sunrise -2027-06-20T11:38:02.726Z moonset +2027-06-20T10:27:25.784Z sunrise +2027-06-20T11:38:02.475Z moonset 2027-06-20T17:26:23.990Z Sun culminates 84.84 degrees above the horizon -2027-06-21T00:25:22.571Z sunset -2027-06-21T02:00:18.936Z moonrise +2027-06-21T00:25:22.798Z sunset +2027-06-21T02:00:19.121Z moonrise 2027-06-21T07:15:26.447Z Moon culminates 38.01 degrees above the horizon -2027-06-21T10:27:38.231Z sunrise -2027-06-21T12:34:12.004Z moonset +2027-06-21T10:27:38.044Z sunrise +2027-06-21T12:34:11.803Z moonset 2027-06-21T14:10:33.482Z June solstice 2027-06-21T17:26:36.976Z Sun culminates 84.84 degrees above the horizon -2027-06-22T00:25:35.629Z sunset -2027-06-22T02:37:25.069Z moonrise +2027-06-22T00:25:35.856Z sunset +2027-06-22T02:37:25.198Z moonrise 2027-06-22T05:07:10.899Z lunar apogee at 405686 km 2027-06-22T08:01:16.364Z Moon culminates 41.75 degrees above the horizon -2027-06-22T10:27:51.591Z sunrise -2027-06-22T13:29:39.237Z moonset +2027-06-22T10:27:51.404Z sunrise +2027-06-22T13:29:39.112Z moonset 2027-06-22T17:26:49.936Z Sun culminates 84.83 degrees above the horizon -2027-06-23T00:25:47.537Z sunset -2027-06-23T03:10:24.688Z moonrise +2027-06-23T00:25:47.763Z sunset +2027-06-23T03:10:24.762Z moonrise 2027-06-23T07:53:04.500Z Mercury inferior conjunction 2027-06-23T08:44:34.747Z Moon culminates 46.28 degrees above the horizon -2027-06-23T10:28:06.031Z sunrise -2027-06-23T14:23:56.032Z moonset +2027-06-23T10:28:05.844Z sunrise +2027-06-23T14:23:55.980Z moonset 2027-06-23T17:27:02.851Z Sun culminates 84.82 degrees above the horizon -2027-06-24T00:25:58.274Z sunset -2027-06-24T03:40:28.026Z moonrise +2027-06-24T00:25:58.500Z sunset +2027-06-24T03:40:28.062Z moonrise 2027-06-24T09:25:59.844Z Moon culminates 51.40 degrees above the horizon -2027-06-24T10:28:21.529Z sunrise -2027-06-24T15:17:14.065Z moonset +2027-06-24T10:28:21.342Z sunrise +2027-06-24T15:17:14.055Z moonset 2027-06-24T17:27:15.699Z Sun culminates 84.80 degrees above the horizon -2027-06-25T00:26:07.822Z sunset -2027-06-25T04:08:47.373Z moonrise +2027-06-25T00:26:08.047Z sunset +2027-06-25T04:08:47.392Z moonrise 2027-06-25T10:06:25.909Z Moon culminates 56.94 degrees above the horizon -2027-06-25T10:28:38.061Z sunrise -2027-06-25T16:10:14.151Z moonset +2027-06-25T10:28:37.875Z sunrise +2027-06-25T16:10:14.155Z moonset 2027-06-25T17:27:28.460Z Sun culminates 84.78 degrees above the horizon -2027-06-26T00:26:16.161Z sunset -2027-06-26T04:36:35.203Z moonrise -2027-06-26T10:28:55.605Z sunrise +2027-06-26T00:26:16.386Z sunset +2027-06-26T04:36:35.216Z moonrise +2027-06-26T10:28:55.419Z sunrise 2027-06-26T10:46:57.573Z Moon culminates 62.71 degrees above the horizon -2027-06-26T17:03:55.746Z moonset +2027-06-26T17:03:55.750Z moonset 2027-06-26T17:27:41.111Z Sun culminates 84.75 degrees above the horizon -2027-06-27T00:26:23.274Z sunset +2027-06-27T00:26:23.498Z sunset 2027-06-27T04:54:54.962Z third quarter -2027-06-27T05:05:07.116Z moonrise -2027-06-27T10:29:14.132Z sunrise +2027-06-27T05:05:07.123Z moonrise +2027-06-27T10:29:13.947Z sunrise 2027-06-27T11:28:47.490Z Moon culminates 68.56 degrees above the horizon 2027-06-27T17:27:53.630Z Sun culminates 84.71 degrees above the horizon -2027-06-27T17:59:28.223Z moonset -2027-06-28T00:26:29.141Z sunset -2027-06-28T05:35:47.402Z moonrise -2027-06-28T10:29:33.616Z sunrise +2027-06-27T17:59:28.240Z moonset +2027-06-28T00:26:29.365Z sunset +2027-06-28T05:35:47.392Z moonrise +2027-06-28T10:29:33.432Z sunrise 2027-06-28T12:13:14.977Z Moon culminates 74.26 degrees above the horizon 2027-06-28T17:28:05.994Z Sun culminates 84.66 degrees above the horizon -2027-06-28T18:58:00.502Z moonset -2027-06-29T00:26:33.745Z sunset -2027-06-29T06:10:15.206Z moonrise -2027-06-29T10:29:54.027Z sunrise +2027-06-28T18:58:00.565Z moonset +2027-06-29T00:26:33.968Z sunset +2027-06-29T06:10:15.160Z moonrise +2027-06-29T10:29:53.844Z sunrise 2027-06-29T13:01:41.537Z Moon culminates 79.53 degrees above the horizon 2027-06-29T17:28:18.179Z Sun culminates 84.61 degrees above the horizon -2027-06-29T20:00:22.307Z moonset -2027-06-30T00:26:37.068Z sunset -2027-06-30T06:50:27.095Z moonrise -2027-06-30T10:30:15.334Z sunrise +2027-06-29T20:00:22.442Z moonset +2027-06-30T00:26:37.289Z sunset +2027-06-30T06:50:27.001Z moonrise +2027-06-30T10:30:15.151Z sunrise 2027-06-30T13:55:16.783Z Moon culminates 84.00 degrees above the horizon 2027-06-30T17:28:30.160Z Sun culminates 84.55 degrees above the horizon -2027-06-30T21:06:30.277Z moonset -2027-07-01T00:26:39.092Z sunset -2027-07-01T07:38:25.761Z moonrise -2027-07-01T10:30:37.503Z sunrise +2027-06-30T21:06:30.472Z moonset +2027-07-01T00:26:39.312Z sunset +2027-07-01T07:38:25.618Z moonrise +2027-07-01T10:30:37.322Z sunrise 2027-07-01T14:54:27.952Z Moon culminates 87.16 degrees above the horizon 2027-07-01T16:32:54.202Z Mercury moves from Orion to Taurus 2027-07-01T17:28:41.911Z Sun culminates 84.49 degrees above the horizon -2027-07-01T22:14:45.278Z moonset -2027-07-02T00:26:39.802Z sunset -2027-07-02T08:35:38.057Z moonrise -2027-07-02T10:31:00.501Z sunrise +2027-07-01T22:14:45.491Z moonset +2027-07-02T00:26:40.020Z sunset +2027-07-02T08:35:37.875Z moonrise +2027-07-02T10:31:00.321Z sunrise 2027-07-02T15:58:18.510Z Moon culminates 88.53 degrees above the horizon 2027-07-02T17:28:53.409Z Sun culminates 84.41 degrees above the horizon -2027-07-02T23:21:42.178Z moonset -2027-07-03T00:26:39.180Z sunset -2027-07-03T09:41:41.232Z moonrise -2027-07-03T10:31:24.293Z sunrise +2027-07-02T23:21:42.373Z moonset +2027-07-03T00:26:39.397Z sunset +2027-07-03T09:41:41.024Z moonrise +2027-07-03T10:31:24.114Z sunrise 2027-07-03T12:15:58.398Z Venus moves from Taurus to Gemini 2027-07-03T17:04:12.182Z Moon culminates 87.75 degrees above the horizon 2027-07-03T17:29:04.626Z Sun culminates 84.33 degrees above the horizon -2027-07-04T00:23:24.849Z moonset -2027-07-04T00:26:37.211Z sunset +2027-07-04T00:23:25.008Z moonset +2027-07-04T00:26:37.426Z sunset 2027-07-04T03:02:33.252Z new moon -2027-07-04T10:31:48.843Z sunrise -2027-07-04T10:53:38.251Z moonrise +2027-07-04T10:31:48.666Z sunrise +2027-07-04T10:53:38.047Z moonrise 2027-07-04T11:39:12.592Z Mars moves from Leo to Virgo 2027-07-04T17:29:15.538Z Sun culminates 84.25 degrees above the horizon 2027-07-04T18:08:46.404Z Moon culminates 84.82 degrees above the horizon 2027-07-04T20:55:09.470Z lunar perigee at 358273 km -2027-07-05T00:26:33.881Z sunset -2027-07-05T01:17:28.005Z moonset +2027-07-05T00:26:34.095Z sunset +2027-07-05T01:17:28.116Z moonset 2027-07-05T05:04:14.755Z Earth aphelion at 1.0167 AU -2027-07-05T10:32:14.114Z sunrise -2027-07-05T12:07:06.943Z moonrise +2027-07-05T10:32:13.939Z sunrise +2027-07-05T12:07:06.798Z moonrise 2027-07-05T17:29:26.120Z Sun culminates 84.16 degrees above the horizon 2027-07-05T19:09:27.971Z Moon culminates 80.09 degrees above the horizon -2027-07-06T00:26:29.175Z sunset -2027-07-06T02:03:46.211Z moonset -2027-07-06T10:32:40.072Z sunrise -2027-07-06T13:18:37.002Z moonrise +2027-07-06T00:26:29.387Z sunset +2027-07-06T02:03:46.269Z moonset +2027-07-06T10:32:39.898Z sunrise +2027-07-06T13:18:36.940Z moonrise 2027-07-06T17:29:36.346Z Sun culminates 84.06 degrees above the horizon 2027-07-06T20:05:24.710Z Moon culminates 74.12 degrees above the horizon -2027-07-07T00:26:23.081Z sunset -2027-07-07T02:43:47.564Z moonset -2027-07-07T10:33:06.681Z sunrise -2027-07-07T14:26:39.224Z moonrise +2027-07-07T00:26:23.291Z sunset +2027-07-07T02:43:47.586Z moonset +2027-07-07T10:33:06.510Z sunrise +2027-07-07T14:26:39.214Z moonrise 2027-07-07T17:29:46.195Z Sun culminates 83.95 degrees above the horizon 2027-07-07T20:57:08.196Z Moon culminates 67.48 degrees above the horizon 2027-07-07T22:12:13.914Z Mercury moves from Taurus to Orion -2027-07-08T00:26:15.588Z sunset -2027-07-08T03:19:30.302Z moonset -2027-07-08T10:33:33.908Z sunrise -2027-07-08T15:31:22.558Z moonrise +2027-07-08T00:26:15.795Z sunset +2027-07-08T03:19:30.311Z moonset +2027-07-08T10:33:33.739Z sunrise +2027-07-08T15:31:22.559Z moonrise 2027-07-08T17:29:55.644Z Sun culminates 83.84 degrees above the horizon 2027-07-08T21:45:51.946Z Moon culminates 60.68 degrees above the horizon -2027-07-09T00:26:06.687Z sunset -2027-07-09T03:52:48.862Z moonset -2027-07-09T10:34:01.718Z sunrise -2027-07-09T16:33:43.132Z moonrise +2027-07-09T00:26:06.892Z sunset +2027-07-09T03:52:48.869Z moonset +2027-07-09T10:34:01.551Z sunrise +2027-07-09T16:33:43.137Z moonrise 2027-07-09T17:30:04.673Z Sun culminates 83.72 degrees above the horizon 2027-07-09T22:33:00.136Z Moon culminates 54.11 degrees above the horizon -2027-07-10T00:25:56.371Z sunset +2027-07-10T00:25:56.574Z sunset 2027-07-10T04:25:25.251Z moonset -2027-07-10T10:34:30.079Z sunrise +2027-07-10T10:34:29.914Z sunrise 2027-07-10T17:30:13.263Z Sun culminates 83.59 degrees above the horizon -2027-07-10T17:34:45.071Z moonrise +2027-07-10T17:34:45.110Z moonrise 2027-07-10T18:39:34.964Z first quarter 2027-07-10T23:19:51.223Z Moon culminates 48.08 degrees above the horizon -2027-07-11T00:25:44.638Z sunset -2027-07-11T04:58:50.839Z moonset -2027-07-11T10:34:58.957Z sunrise +2027-07-11T00:25:44.838Z sunset +2027-07-11T04:58:50.810Z moonset +2027-07-11T10:34:58.795Z sunrise 2027-07-11T17:30:21.397Z Sun culminates 83.46 degrees above the horizon -2027-07-11T18:35:15.974Z moonrise +2027-07-11T18:35:16.088Z moonrise 2027-07-12T00:07:29.074Z Moon culminates 42.83 degrees above the horizon -2027-07-12T00:25:31.484Z sunset -2027-07-12T05:34:28.925Z moonset -2027-07-12T10:35:28.323Z sunrise +2027-07-12T00:25:31.682Z sunset +2027-07-12T05:34:28.844Z moonset +2027-07-12T10:35:28.163Z sunrise 2027-07-12T17:30:29.059Z Sun culminates 83.33 degrees above the horizon -2027-07-12T19:35:30.195Z moonrise -2027-07-13T00:25:16.911Z sunset +2027-07-12T19:35:30.397Z moonrise +2027-07-13T00:25:17.105Z sunset 2027-07-13T00:56:35.218Z Moon culminates 38.58 degrees above the horizon -2027-07-13T06:13:32.824Z moonset -2027-07-13T10:35:58.144Z sunrise +2027-07-13T06:13:32.681Z moonset +2027-07-13T10:35:57.988Z sunrise 2027-07-13T17:30:36.235Z Sun culminates 83.18 degrees above the horizon -2027-07-13T20:34:58.151Z moonrise -2027-07-14T00:25:00.919Z sunset +2027-07-13T20:34:58.413Z moonrise +2027-07-14T00:25:01.110Z sunset 2027-07-14T01:47:20.341Z Moon culminates 35.54 degrees above the horizon -2027-07-14T06:56:56.347Z moonset -2027-07-14T10:36:28.394Z sunrise +2027-07-14T06:56:56.152Z moonset +2027-07-14T10:36:28.241Z sunrise 2027-07-14T17:30:42.913Z Sun culminates 83.03 degrees above the horizon -2027-07-14T21:32:27.905Z moonrise -2027-07-15T00:24:43.512Z sunset +2027-07-14T21:32:28.185Z moonrise +2027-07-15T00:24:43.701Z sunset 2027-07-15T02:39:18.549Z Moon culminates 33.83 degrees above the horizon -2027-07-15T07:44:57.482Z moonset -2027-07-15T10:36:59.043Z sunrise +2027-07-15T07:44:57.247Z moonset +2027-07-15T10:36:58.893Z sunrise 2027-07-15T17:30:49.080Z Sun culminates 82.88 degrees above the horizon 2027-07-15T19:29:41.626Z Mercury max morning elongation: 20.70 degrees from Sun -2027-07-15T22:26:26.500Z moonrise -2027-07-16T00:24:24.697Z sunset +2027-07-15T22:26:26.769Z moonrise +2027-07-16T00:24:24.882Z sunset 2027-07-16T03:31:31.568Z Moon culminates 33.54 degrees above the horizon -2027-07-16T08:37:04.274Z moonset -2027-07-16T10:37:30.066Z sunrise +2027-07-16T08:37:04.015Z moonset +2027-07-16T10:37:29.919Z sunrise 2027-07-16T17:30:54.727Z Sun culminates 82.71 degrees above the horizon -2027-07-16T23:15:35.670Z moonrise -2027-07-17T00:24:04.480Z sunset +2027-07-16T23:15:35.911Z moonrise +2027-07-17T00:24:04.662Z sunset 2027-07-17T04:22:46.679Z Moon culminates 34.63 degrees above the horizon -2027-07-17T09:31:58.113Z moonset -2027-07-17T10:38:01.438Z sunrise +2027-07-17T09:31:57.854Z moonset +2027-07-17T10:38:01.294Z sunrise 2027-07-17T17:30:59.846Z Sun culminates 82.54 degrees above the horizon -2027-07-17T23:59:20.563Z moonrise -2027-07-18T00:23:42.868Z sunset +2027-07-17T23:59:20.764Z moonrise +2027-07-18T00:23:43.047Z sunset 2027-07-18T05:12:01.510Z Moon culminates 36.99 degrees above the horizon 2027-07-18T08:04:37.439Z Mercury moves from Orion to Gemini -2027-07-18T10:28:00.277Z moonset -2027-07-18T10:38:33.133Z sunrise +2027-07-18T10:28:00.056Z moonset +2027-07-18T10:38:32.993Z sunrise 2027-07-18T15:45:36.401Z full moon 2027-07-18T16:02:54.880Z penumbral lunar eclipse 2027-07-18T17:31:04.429Z Sun culminates 82.37 degrees above the horizon -2027-07-19T00:23:19.872Z sunset -2027-07-19T00:37:54.708Z moonrise +2027-07-19T00:23:20.047Z sunset +2027-07-19T00:37:54.856Z moonrise 2027-07-19T05:58:42.266Z Moon culminates 40.44 degrees above the horizon -2027-07-19T10:39:05.130Z sunrise -2027-07-19T11:23:46.865Z moonset +2027-07-19T10:39:04.993Z sunrise +2027-07-19T11:23:46.715Z moonset 2027-07-19T11:52:13.699Z lunar apogee at 406205 km 2027-07-19T17:31:08.470Z Sun culminates 82.19 degrees above the horizon -2027-07-20T00:22:55.501Z sunset -2027-07-20T01:12:05.768Z moonrise +2027-07-20T00:22:55.673Z sunset +2027-07-20T01:12:05.858Z moonrise 2027-07-20T06:42:48.122Z Moon culminates 44.75 degrees above the horizon -2027-07-20T10:39:37.405Z sunrise -2027-07-20T12:18:31.025Z moonset +2027-07-20T10:39:37.272Z sunrise +2027-07-20T12:18:30.952Z moonset 2027-07-20T17:31:11.963Z Sun culminates 82.00 degrees above the horizon -2027-07-21T00:22:29.767Z sunset -2027-07-21T01:42:57.628Z moonrise +2027-07-21T00:22:29.935Z sunset +2027-07-21T01:42:57.674Z moonrise 2027-07-21T07:24:45.301Z Moon culminates 49.71 degrees above the horizon -2027-07-21T10:40:09.937Z sunrise -2027-07-21T13:12:06.153Z moonset +2027-07-21T10:40:09.809Z sunrise +2027-07-21T13:12:06.134Z moonset 2027-07-21T17:31:14.903Z Sun culminates 81.81 degrees above the horizon -2027-07-22T00:22:02.681Z sunset -2027-07-22T02:11:38.664Z moonrise +2027-07-22T00:22:02.845Z sunset +2027-07-22T02:11:38.686Z moonrise 2027-07-22T08:05:18.365Z Moon culminates 55.13 degrees above the horizon -2027-07-22T10:40:42.705Z sunrise -2027-07-22T14:04:57.745Z moonset +2027-07-22T10:40:42.581Z sunrise +2027-07-22T14:04:57.747Z moonset 2027-07-22T17:31:17.286Z Sun culminates 81.61 degrees above the horizon -2027-07-23T00:21:34.256Z sunset -2027-07-23T02:39:17.486Z moonrise +2027-07-23T00:21:34.416Z sunset +2027-07-23T02:39:17.500Z moonrise 2027-07-23T08:45:23.524Z Moon culminates 60.82 degrees above the horizon -2027-07-23T10:41:15.687Z sunrise -2027-07-23T14:57:52.920Z moonset +2027-07-23T10:41:15.567Z sunrise +2027-07-23T14:57:52.925Z moonset 2027-07-23T17:31:19.106Z Sun culminates 81.41 degrees above the horizon -2027-07-24T00:21:04.504Z sunset -2027-07-24T03:07:03.973Z moonrise +2027-07-24T00:21:04.660Z sunset +2027-07-24T03:07:03.983Z moonrise 2027-07-24T09:26:05.130Z Moon culminates 66.59 degrees above the horizon -2027-07-24T10:41:48.862Z sunrise -2027-07-24T15:51:51.461Z moonset +2027-07-24T10:41:48.746Z sunrise +2027-07-24T15:51:51.472Z moonset 2027-07-24T17:31:20.361Z Sun culminates 81.20 degrees above the horizon -2027-07-25T00:20:33.438Z sunset -2027-07-25T03:36:13.415Z moonrise +2027-07-25T00:20:33.590Z sunset +2027-07-25T03:36:13.413Z moonrise 2027-07-25T10:08:34.139Z Moon culminates 72.27 degrees above the horizon -2027-07-25T10:42:22.209Z sunrise -2027-07-25T16:47:57.308Z moonset +2027-07-25T10:42:22.098Z sunrise +2027-07-25T16:47:57.351Z moonset 2027-07-25T17:31:21.045Z Sun culminates 80.99 degrees above the horizon -2027-07-26T00:20:01.071Z sunset +2027-07-26T00:20:01.220Z sunset 2027-07-26T01:46:14.708Z Venus moves from Gemini to Cancer -2027-07-26T04:08:12.112Z moonrise -2027-07-26T10:42:55.706Z sunrise +2027-07-26T04:08:12.082Z moonrise +2027-07-26T10:42:55.599Z sunrise 2027-07-26T10:54:05.953Z Moon culminates 77.61 degrees above the horizon 2027-07-26T16:55:26.849Z third quarter 2027-07-26T17:31:21.155Z Sun culminates 80.77 degrees above the horizon -2027-07-26T17:47:06.209Z moonset -2027-07-27T00:19:27.417Z sunset -2027-07-27T04:44:42.110Z moonrise -2027-07-27T10:43:29.331Z sunrise +2027-07-26T17:47:06.314Z moonset +2027-07-27T00:19:27.562Z sunset +2027-07-27T04:44:42.035Z moonrise +2027-07-27T10:43:29.229Z sunrise 2027-07-27T11:43:53.285Z Moon culminates 82.31 degrees above the horizon 2027-07-27T17:31:20.686Z Sun culminates 80.54 degrees above the horizon -2027-07-27T18:49:43.579Z moonset -2027-07-28T00:18:52.490Z sunset -2027-07-28T05:27:39.381Z moonrise -2027-07-28T10:44:03.062Z sunrise +2027-07-27T18:49:43.753Z moonset +2027-07-28T00:18:52.630Z sunset +2027-07-28T05:27:39.257Z moonrise +2027-07-28T10:44:02.965Z sunrise 2027-07-28T12:38:48.099Z Moon culminates 85.98 degrees above the horizon 2027-07-28T17:31:19.634Z Sun culminates 80.31 degrees above the horizon -2027-07-28T19:55:10.633Z moonset -2027-07-29T00:18:16.302Z sunset -2027-07-29T06:18:53.521Z moonrise +2027-07-28T19:55:10.844Z moonset +2027-07-29T00:18:16.438Z sunset +2027-07-29T06:18:53.355Z moonrise 2027-07-29T06:31:18.165Z Pluto opposition -2027-07-29T10:44:36.876Z sunrise +2027-07-29T10:44:36.783Z sunrise 2027-07-29T13:38:49.767Z Moon culminates 88.17 degrees above the horizon 2027-07-29T17:31:17.995Z Sun culminates 80.08 degrees above the horizon -2027-07-29T21:01:15.826Z moonset -2027-07-30T00:17:38.867Z sunset -2027-07-30T07:19:16.209Z moonrise -2027-07-30T10:45:10.750Z sunrise +2027-07-29T21:01:16.034Z moonset +2027-07-30T00:17:38.999Z sunset +2027-07-30T07:19:16.011Z moonrise +2027-07-30T10:45:10.662Z sunrise 2027-07-30T14:42:33.462Z Moon culminates 88.46 degrees above the horizon 2027-07-30T17:31:15.763Z Sun culminates 79.84 degrees above the horizon -2027-07-30T22:04:35.292Z moonset -2027-07-31T00:17:00.201Z sunset -2027-07-31T08:27:35.466Z moonrise -2027-07-31T10:45:44.660Z sunrise +2027-07-30T22:04:35.471Z moonset +2027-07-31T00:17:00.328Z sunset +2027-07-31T08:27:35.253Z moonrise +2027-07-31T10:45:44.578Z sunrise 2027-07-31T15:47:16.657Z Moon culminates 86.62 degrees above the horizon 2027-07-31T17:31:12.934Z Sun culminates 79.59 degrees above the horizon -2027-07-31T23:02:02.448Z moonset -2027-08-01T00:16:20.315Z sunset +2027-07-31T23:02:02.585Z moonset +2027-08-01T00:16:20.438Z sunset 2027-08-01T06:14:47.515Z Mercury perihelion at 0.3075 AU -2027-08-01T09:40:28.015Z moonrise -2027-08-01T10:46:18.585Z sunrise +2027-08-01T09:40:27.832Z moonrise +2027-08-01T10:46:18.508Z sunrise 2027-08-01T13:23:45.744Z Mercury moves from Gemini to Cancer 2027-08-01T16:50:04.609Z Moon culminates 82.76 degrees above the horizon 2027-08-01T17:31:09.504Z Sun culminates 79.34 degrees above the horizon -2027-08-01T23:52:16.898Z moonset -2027-08-02T00:15:39.225Z sunset +2027-08-01T23:52:16.983Z moonset +2027-08-02T00:15:39.344Z sunset 2027-08-02T06:24:43.263Z lunar perigee at 357352 km 2027-08-02T10:05:42.313Z new moon -2027-08-02T10:46:52.502Z sunrise -2027-08-02T10:53:54.264Z moonrise +2027-08-02T10:46:52.430Z sunrise +2027-08-02T10:53:54.160Z moonrise 2027-08-02T17:31:05.468Z Sun culminates 79.08 degrees above the horizon 2027-08-02T17:49:07.173Z Moon culminates 77.28 degrees above the horizon -2027-08-03T00:14:56.944Z sunset -2027-08-03T00:35:52.124Z moonset -2027-08-03T10:47:26.390Z sunrise -2027-08-03T12:05:11.140Z moonrise +2027-08-03T00:14:57.058Z sunset +2027-08-03T00:35:52.160Z moonset +2027-08-03T10:47:26.323Z sunrise +2027-08-03T12:05:11.110Z moonrise 2027-08-03T17:31:00.824Z Sun culminates 78.82 degrees above the horizon 2027-08-03T18:44:03.611Z Moon culminates 70.75 degrees above the horizon -2027-08-04T00:14:13.485Z sunset -2027-08-04T01:14:24.323Z moonset -2027-08-04T10:48:00.229Z sunrise -2027-08-04T13:13:24.804Z moonrise +2027-08-04T00:14:13.595Z sunset +2027-08-04T01:14:24.335Z moonset +2027-08-04T10:48:00.167Z sunrise +2027-08-04T13:13:24.802Z moonrise 2027-08-04T17:30:55.570Z Sun culminates 78.56 degrees above the horizon 2027-08-04T19:35:37.562Z Moon culminates 63.77 degrees above the horizon -2027-08-05T00:13:28.865Z sunset -2027-08-05T01:49:45.299Z moonset -2027-08-05T10:48:34.001Z sunrise -2027-08-05T14:18:56.706Z moonrise +2027-08-05T00:13:28.971Z sunset +2027-08-05T01:49:45.305Z moonset +2027-08-05T10:48:33.944Z sunrise +2027-08-05T14:18:56.707Z moonrise 2027-08-05T17:30:49.703Z Sun culminates 78.29 degrees above the horizon 2027-08-05T20:25:01.437Z Moon culminates 56.82 degrees above the horizon -2027-08-06T00:12:43.100Z sunset -2027-08-06T02:23:41.029Z moonset -2027-08-06T10:49:07.689Z sunrise -2027-08-06T15:22:37.820Z moonrise +2027-08-06T00:12:43.201Z sunset +2027-08-06T02:23:41.032Z moonset +2027-08-06T10:49:07.637Z sunrise +2027-08-06T15:22:37.841Z moonrise 2027-08-06T17:30:43.224Z Sun culminates 78.02 degrees above the horizon 2027-08-06T21:13:31.650Z Moon culminates 50.32 degrees above the horizon -2027-08-07T00:11:56.206Z sunset -2027-08-07T02:57:47.269Z moonset -2027-08-07T10:49:41.276Z sunrise +2027-08-07T00:11:56.303Z sunset +2027-08-07T02:57:47.253Z moonset +2027-08-07T10:49:41.230Z sunrise 2027-08-07T13:07:59.837Z Venus perihelion at 0.7185 AU -2027-08-07T16:25:14.971Z moonrise +2027-08-07T16:25:15.054Z moonrise 2027-08-07T17:30:36.136Z Sun culminates 77.74 degrees above the horizon 2027-08-07T22:02:14.534Z Moon culminates 44.59 degrees above the horizon -2027-08-08T00:11:08.202Z sunset -2027-08-08T03:33:30.572Z moonset -2027-08-08T10:50:14.749Z sunrise -2027-08-08T17:27:08.873Z moonrise +2027-08-08T00:11:08.295Z sunset +2027-08-08T03:33:30.511Z moonset +2027-08-08T10:50:14.708Z sunrise +2027-08-08T17:27:09.048Z moonrise 2027-08-08T17:30:28.439Z Sun culminates 77.45 degrees above the horizon 2027-08-08T22:51:56.908Z Moon culminates 39.87 degrees above the horizon -2027-08-09T00:10:19.109Z sunset -2027-08-09T04:12:07.421Z moonset +2027-08-09T00:10:19.197Z sunset +2027-08-09T04:12:07.298Z moonset 2027-08-09T04:54:46.941Z first quarter -2027-08-09T10:50:48.096Z sunrise +2027-08-09T10:50:48.060Z sunrise 2027-08-09T17:30:20.140Z Sun culminates 77.17 degrees above the horizon -2027-08-09T18:28:00.861Z moonrise +2027-08-09T18:28:01.110Z moonrise 2027-08-09T23:42:57.758Z Moon culminates 36.36 degrees above the horizon -2027-08-10T00:09:28.947Z sunset -2027-08-10T04:54:37.379Z moonset -2027-08-10T10:51:21.304Z sunrise +2027-08-10T00:09:29.031Z sunset +2027-08-10T04:54:37.199Z moonset +2027-08-10T10:51:21.273Z sunrise 2027-08-10T17:30:11.244Z Sun culminates 76.88 degrees above the horizon -2027-08-10T19:26:51.443Z moonrise -2027-08-11T00:08:37.738Z sunset +2027-08-10T19:26:51.722Z moonrise +2027-08-11T00:08:37.818Z sunset 2027-08-11T00:35:02.452Z Moon culminates 34.19 degrees above the horizon 2027-08-11T02:48:59.454Z Mercury moves from Cancer to Leo 2027-08-11T03:29:58.394Z Venus moves from Cancer to Leo -2027-08-11T05:41:29.622Z moonset +2027-08-11T05:41:29.398Z moonset 2027-08-11T10:47:56.442Z Mercury superior conjunction -2027-08-11T10:51:54.366Z sunrise +2027-08-11T10:51:54.340Z sunrise 2027-08-11T17:30:01.757Z Sun culminates 76.58 degrees above the horizon -2027-08-11T20:22:16.739Z moonrise +2027-08-11T20:22:17.014Z moonrise 2027-08-11T23:43:00.633Z Venus superior conjunction -2027-08-12T00:07:45.505Z sunset +2027-08-12T00:07:45.581Z sunset 2027-08-12T01:27:24.781Z Moon culminates 33.45 degrees above the horizon -2027-08-12T06:32:28.885Z moonset -2027-08-12T10:52:27.273Z sunrise +2027-08-12T06:32:28.631Z moonset +2027-08-12T10:52:27.252Z sunrise 2027-08-12T17:29:51.688Z Sun culminates 76.28 degrees above the horizon -2027-08-12T21:13:00.031Z moonrise -2027-08-13T00:06:52.273Z sunset +2027-08-12T21:13:00.283Z moonrise +2027-08-13T00:06:52.345Z sunset 2027-08-13T02:19:00.835Z Moon culminates 34.11 degrees above the horizon -2027-08-13T07:26:33.618Z moonset -2027-08-13T10:53:00.021Z sunrise +2027-08-13T07:26:33.355Z moonset +2027-08-13T10:53:00.006Z sunrise 2027-08-13T17:29:41.048Z Sun culminates 75.98 degrees above the horizon -2027-08-13T21:58:21.032Z moonrise -2027-08-14T00:05:58.066Z sunset +2027-08-13T21:58:21.249Z moonrise +2027-08-14T00:05:58.134Z sunset 2027-08-14T03:08:50.692Z Moon culminates 36.08 degrees above the horizon -2027-08-14T08:22:14.987Z moonset -2027-08-14T10:53:32.607Z sunrise +2027-08-14T08:22:14.749Z moonset +2027-08-14T10:53:32.596Z sunrise 2027-08-14T17:29:29.847Z Sun culminates 75.67 degrees above the horizon -2027-08-14T22:38:25.363Z moonrise -2027-08-15T00:05:02.909Z sunset +2027-08-14T22:38:25.530Z moonrise +2027-08-15T00:05:02.973Z sunset 2027-08-15T03:56:16.901Z Moon culminates 39.19 degrees above the horizon -2027-08-15T09:18:08.243Z moonset -2027-08-15T10:54:05.028Z sunrise +2027-08-15T09:18:08.067Z moonset +2027-08-15T10:54:05.022Z sunrise 2027-08-15T14:24:14.014Z lunar apogee at 406073 km 2027-08-15T17:29:18.098Z Sun culminates 75.36 degrees above the horizon -2027-08-15T23:13:54.236Z moonrise -2027-08-16T00:04:06.828Z sunset +2027-08-15T23:13:54.344Z moonrise +2027-08-16T00:04:06.889Z sunset 2027-08-16T04:41:11.602Z Moon culminates 43.24 degrees above the horizon -2027-08-16T10:13:17.504Z moonset -2027-08-16T10:54:37.285Z sunrise +2027-08-16T10:13:17.407Z moonset +2027-08-16T10:54:37.284Z sunrise 2027-08-16T17:29:05.814Z Sun culminates 75.04 degrees above the horizon -2027-08-16T23:45:47.545Z moonrise -2027-08-17T00:03:09.850Z sunset +2027-08-16T23:45:47.604Z moonrise +2027-08-17T00:03:09.907Z sunset 2027-08-17T05:23:53.250Z Moon culminates 48.03 degrees above the horizon 2027-08-17T07:13:44.931Z penumbral lunar eclipse 2027-08-17T07:29:19.453Z full moon -2027-08-17T10:55:09.379Z sunrise -2027-08-17T11:07:23.788Z moonset +2027-08-17T10:55:09.382Z sunrise +2027-08-17T11:07:23.755Z moonset 2027-08-17T17:28:53.008Z Sun culminates 74.73 degrees above the horizon -2027-08-18T00:02:12.002Z sunset -2027-08-18T00:15:11.177Z moonrise +2027-08-18T00:02:12.056Z sunset +2027-08-18T00:15:11.205Z moonrise 2027-08-18T06:04:59.076Z Moon culminates 53.34 degrees above the horizon -2027-08-18T10:55:41.311Z sunrise -2027-08-18T12:00:40.181Z moonset +2027-08-18T10:55:41.318Z sunrise +2027-08-18T12:00:40.179Z moonset 2027-08-18T17:28:39.697Z Sun culminates 74.40 degrees above the horizon -2027-08-19T00:01:13.311Z sunset -2027-08-19T00:43:11.304Z moonrise +2027-08-19T00:01:13.361Z sunset +2027-08-19T00:43:11.320Z moonrise 2027-08-19T06:45:18.318Z Moon culminates 58.99 degrees above the horizon -2027-08-19T10:56:13.084Z sunrise -2027-08-19T12:53:42.441Z moonset +2027-08-19T10:56:13.097Z sunrise +2027-08-19T12:53:42.445Z moonset 2027-08-19T17:28:25.895Z Sun culminates 74.08 degrees above the horizon -2027-08-20T00:00:13.803Z sunset -2027-08-20T01:10:54.063Z moonrise +2027-08-20T00:00:13.850Z sunset +2027-08-20T01:10:54.075Z moonrise 2027-08-20T07:25:47.997Z Moon culminates 64.77 degrees above the horizon -2027-08-20T10:56:44.704Z sunrise -2027-08-20T13:47:19.937Z moonset +2027-08-20T10:56:44.720Z sunrise +2027-08-20T13:47:19.944Z moonset 2027-08-20T17:28:11.617Z Sun culminates 73.75 degrees above the horizon -2027-08-20T23:59:13.507Z sunset -2027-08-21T01:39:28.432Z moonrise +2027-08-20T23:59:13.550Z sunset +2027-08-21T01:39:28.435Z moonrise 2027-08-21T08:07:30.705Z Moon culminates 70.48 degrees above the horizon -2027-08-21T10:57:16.172Z sunrise -2027-08-21T14:42:27.379Z moonset +2027-08-21T10:57:16.192Z sunrise +2027-08-21T14:42:27.407Z moonset 2027-08-21T17:27:56.879Z Sun culminates 73.42 degrees above the horizon -2027-08-21T23:58:12.448Z sunset -2027-08-22T02:10:10.668Z moonrise +2027-08-21T23:58:12.488Z sunset +2027-08-22T02:10:10.650Z moonrise 2027-08-22T08:51:32.623Z Moon culminates 75.91 degrees above the horizon -2027-08-22T10:57:47.493Z sunrise -2027-08-22T15:39:54.764Z moonset +2027-08-22T10:57:47.518Z sunrise +2027-08-22T15:39:54.846Z moonset 2027-08-22T17:27:41.697Z Sun culminates 73.08 degrees above the horizon -2027-08-22T23:57:10.653Z sunset -2027-08-23T02:44:28.612Z moonrise +2027-08-22T23:57:10.690Z sunset +2027-08-23T02:44:28.554Z moonrise 2027-08-23T09:38:58.835Z Moon culminates 80.78 degrees above the horizon -2027-08-23T10:58:18.672Z sunrise -2027-08-23T16:40:11.471Z moonset +2027-08-23T10:58:18.701Z sunrise +2027-08-23T16:40:11.623Z moonset 2027-08-23T17:27:26.084Z Sun culminates 72.75 degrees above the horizon -2027-08-23T23:56:08.149Z sunset -2027-08-24T03:24:02.404Z moonrise +2027-08-23T23:56:08.183Z sunset +2027-08-24T03:24:02.296Z moonrise 2027-08-24T10:30:41.904Z Moon culminates 84.77 degrees above the horizon -2027-08-24T10:58:49.712Z sunrise +2027-08-24T10:58:49.744Z sunrise 2027-08-24T17:27:10.057Z Sun culminates 72.40 degrees above the horizon -2027-08-24T17:43:02.041Z moonset -2027-08-24T23:55:04.961Z sunset +2027-08-24T17:43:02.244Z moonset +2027-08-24T23:55:04.993Z sunset 2027-08-25T02:27:54.018Z third quarter -2027-08-25T04:10:34.304Z moonrise -2027-08-25T10:59:20.615Z sunrise +2027-08-25T04:10:34.153Z moonrise +2027-08-25T10:59:20.651Z sunrise 2027-08-25T11:27:00.671Z Moon culminates 87.49 degrees above the horizon 2027-08-25T17:26:53.630Z Sun culminates 72.06 degrees above the horizon -2027-08-25T18:47:01.299Z moonset -2027-08-25T23:54:01.116Z sunset -2027-08-26T05:05:17.505Z moonrise -2027-08-26T10:59:51.385Z sunrise +2027-08-25T18:47:01.514Z moonset +2027-08-25T23:54:01.145Z sunset +2027-08-26T05:05:17.319Z moonrise +2027-08-26T10:59:51.425Z sunrise 2027-08-26T12:27:14.475Z Moon culminates 88.56 degrees above the horizon 2027-08-26T17:26:36.816Z Sun culminates 71.71 degrees above the horizon -2027-08-26T19:49:35.026Z moonset -2027-08-26T23:52:56.638Z sunset -2027-08-27T06:08:05.228Z moonrise -2027-08-27T11:00:22.024Z sunrise +2027-08-26T19:49:35.222Z moonset +2027-08-26T23:52:56.665Z sunset +2027-08-27T06:08:05.018Z moonrise +2027-08-27T11:00:22.067Z sunrise 2027-08-27T13:29:34.183Z Moon culminates 87.70 degrees above the horizon 2027-08-27T17:26:19.629Z Sun culminates 71.36 degrees above the horizon -2027-08-27T20:47:52.019Z moonset -2027-08-27T23:51:51.552Z sunset -2027-08-28T07:16:57.510Z moonrise -2027-08-28T11:00:52.533Z sunrise +2027-08-27T20:47:52.180Z moonset +2027-08-27T23:51:51.577Z sunset +2027-08-28T07:16:57.307Z moonrise +2027-08-28T11:00:52.579Z sunrise 2027-08-28T14:31:34.045Z Moon culminates 84.86 degrees above the horizon 2027-08-28T17:26:02.082Z Sun culminates 71.01 degrees above the horizon -2027-08-28T21:40:02.239Z moonset -2027-08-28T23:50:45.883Z sunset -2027-08-29T08:28:38.642Z moonrise -2027-08-29T11:01:22.914Z sunrise +2027-08-28T21:40:02.352Z moonset +2027-08-28T23:50:45.906Z sunset +2027-08-29T08:28:38.495Z moonrise +2027-08-29T11:01:22.963Z sunrise 2027-08-29T15:31:12.513Z Moon culminates 80.24 degrees above the horizon 2027-08-29T17:25:44.187Z Sun culminates 70.66 degrees above the horizon -2027-08-29T22:25:54.068Z moonset -2027-08-29T23:49:39.654Z sunset -2027-08-30T09:40:09.268Z moonrise -2027-08-30T11:01:53.169Z sunrise +2027-08-29T22:25:54.128Z moonset +2027-08-29T23:49:39.674Z sunset +2027-08-30T09:40:09.204Z moonrise +2027-08-30T11:01:53.221Z sunrise 2027-08-30T15:41:39.130Z lunar perigee at 359195 km 2027-08-30T16:27:34.741Z Moon culminates 74.26 degrees above the horizon 2027-08-30T17:04:43.444Z Mercury moves from Leo to Virgo 2027-08-30T17:25:25.958Z Sun culminates 70.30 degrees above the horizon -2027-08-30T23:06:31.420Z moonset -2027-08-30T23:48:32.887Z sunset +2027-08-30T23:06:31.441Z moonset +2027-08-30T23:48:32.906Z sunset 2027-08-31T07:34:43.050Z Jupiter conjunction -2027-08-31T10:49:50.732Z moonrise -2027-08-31T11:02:23.299Z sunrise +2027-08-31T10:49:50.721Z moonrise +2027-08-31T11:02:23.354Z sunrise 2027-08-31T17:20:52.193Z Moon culminates 67.45 degrees above the horizon 2027-08-31T17:25:07.407Z Sun culminates 69.94 degrees above the horizon 2027-08-31T17:41:39.982Z new moon -2027-08-31T23:43:31.522Z moonset -2027-08-31T23:47:25.607Z sunset -2027-09-01T11:02:53.308Z sunrise +2027-08-31T23:43:31.530Z moonset +2027-08-31T23:47:25.623Z sunset +2027-09-01T11:02:53.365Z sunrise 2027-09-01T11:57:25.028Z moonrise 2027-09-01T17:24:48.546Z Sun culminates 69.58 degrees above the horizon 2027-09-01T18:11:57.373Z Moon culminates 60.35 degrees above the horizon -2027-09-01T23:46:17.834Z sunset -2027-09-02T00:18:36.782Z moonset -2027-09-02T11:03:23.198Z sunrise -2027-09-02T13:03:20.219Z moonrise +2027-09-01T23:46:17.849Z sunset +2027-09-02T00:18:36.787Z moonset +2027-09-02T11:03:23.258Z sunrise +2027-09-02T13:03:20.226Z moonrise 2027-09-02T17:24:29.388Z Sun culminates 69.21 degrees above the horizon 2027-09-02T19:01:57.874Z Moon culminates 53.45 degrees above the horizon -2027-09-02T23:45:09.593Z sunset -2027-09-03T00:53:23.979Z moonset -2027-09-03T11:03:52.974Z sunrise -2027-09-03T14:08:14.064Z moonrise +2027-09-02T23:45:09.606Z sunset +2027-09-03T00:53:23.976Z moonset +2027-09-03T11:03:53.036Z sunrise +2027-09-03T14:08:14.112Z moonrise 2027-09-03T17:24:09.948Z Sun culminates 68.85 degrees above the horizon 2027-09-03T19:51:58.122Z Moon culminates 47.16 degrees above the horizon -2027-09-03T23:44:00.906Z sunset -2027-09-04T01:29:22.102Z moonset -2027-09-04T11:04:22.640Z sunrise -2027-09-04T15:12:26.313Z moonrise +2027-09-03T23:44:00.918Z sunset +2027-09-04T01:29:22.065Z moonset +2027-09-04T11:04:22.704Z sunrise +2027-09-04T15:12:26.447Z moonrise 2027-09-04T17:23:50.238Z Sun culminates 68.48 degrees above the horizon 2027-09-04T20:42:46.676Z Moon culminates 41.81 degrees above the horizon -2027-09-04T23:42:51.797Z sunset -2027-09-05T02:07:50.806Z moonset -2027-09-05T11:04:52.201Z sunrise -2027-09-05T16:15:40.402Z moonrise +2027-09-04T23:42:51.808Z sunset +2027-09-05T02:07:50.710Z moonset +2027-09-05T11:04:52.267Z sunrise +2027-09-05T16:15:40.625Z moonrise 2027-09-05T17:23:30.275Z Sun culminates 68.11 degrees above the horizon 2027-09-05T21:34:45.993Z Moon culminates 37.68 degrees above the horizon -2027-09-05T23:41:42.291Z sunset -2027-09-06T02:49:54.360Z moonset -2027-09-06T11:05:21.663Z sunrise -2027-09-06T17:16:57.822Z moonrise +2027-09-05T23:41:42.300Z sunset +2027-09-06T02:49:54.202Z moonset +2027-09-06T11:05:21.731Z sunrise +2027-09-06T17:16:58.093Z moonrise 2027-09-06T17:23:10.074Z Sun culminates 67.74 degrees above the horizon 2027-09-06T22:27:45.345Z Moon culminates 34.92 degrees above the horizon -2027-09-06T23:40:32.413Z sunset -2027-09-07T03:36:09.310Z moonset -2027-09-07T11:05:51.033Z sunrise +2027-09-06T23:40:32.420Z sunset +2027-09-07T03:36:09.101Z moonset +2027-09-07T11:05:51.104Z sunrise 2027-09-07T17:22:49.651Z Sun culminates 67.36 degrees above the horizon -2027-09-07T18:14:51.669Z moonrise +2027-09-07T18:14:51.947Z moonrise 2027-09-07T18:31:57.017Z first quarter 2027-09-07T23:21:01.672Z Moon culminates 33.63 degrees above the horizon -2027-09-07T23:39:22.187Z sunset -2027-09-08T04:26:30.274Z moonset -2027-09-08T11:06:20.321Z sunrise +2027-09-07T23:39:22.194Z sunset +2027-09-08T04:26:30.029Z moonset +2027-09-08T11:06:20.393Z sunrise 2027-09-08T17:22:29.023Z Sun culminates 66.99 degrees above the horizon -2027-09-08T19:07:58.167Z moonrise +2027-09-08T19:07:58.427Z moonrise 2027-09-08T21:36:41.462Z Venus moves from Leo to Virgo -2027-09-08T23:38:11.642Z sunset +2027-09-08T23:38:11.647Z sunset 2027-09-09T00:13:32.470Z Moon culminates 33.80 degrees above the horizon -2027-09-09T05:20:05.560Z moonset -2027-09-09T11:06:49.536Z sunrise +2027-09-09T05:20:05.298Z moonset +2027-09-09T11:06:49.610Z sunrise 2027-09-09T17:22:08.210Z Sun culminates 66.61 degrees above the horizon -2027-09-09T19:55:29.021Z moonrise -2027-09-09T23:37:00.802Z sunset +2027-09-09T19:55:29.251Z moonrise +2027-09-09T23:37:00.807Z sunset 2027-09-10T01:04:17.283Z Moon culminates 35.33 degrees above the horizon -2027-09-10T06:15:32.551Z moonset -2027-09-10T11:07:18.689Z sunrise +2027-09-10T06:15:32.302Z moonset +2027-09-10T11:07:18.764Z sunrise 2027-09-10T17:21:47.231Z Sun culminates 66.23 degrees above the horizon -2027-09-10T20:37:24.406Z moonrise -2027-09-10T23:35:49.697Z sunset +2027-09-10T20:37:24.591Z moonrise +2027-09-10T23:35:49.701Z sunset 2027-09-11T01:52:36.890Z Moon culminates 38.06 degrees above the horizon -2027-09-11T07:11:27.396Z moonset -2027-09-11T11:07:47.792Z sunrise +2027-09-11T07:11:27.196Z moonset +2027-09-11T11:07:47.869Z sunrise 2027-09-11T17:21:26.107Z Sun culminates 65.85 degrees above the horizon -2027-09-11T21:14:23.801Z moonrise -2027-09-11T23:34:38.353Z sunset +2027-09-11T21:14:23.929Z moonrise +2027-09-11T23:34:38.357Z sunset 2027-09-11T23:36:19.044Z lunar apogee at 405371 km 2027-09-12T02:38:21.351Z Moon culminates 41.79 degrees above the horizon -2027-09-12T08:06:50.982Z moonset -2027-09-12T11:08:16.861Z sunrise +2027-09-12T08:06:50.858Z moonset +2027-09-12T11:08:16.939Z sunrise 2027-09-12T17:21:04.858Z Sun culminates 65.47 degrees above the horizon -2027-09-12T21:47:27.952Z moonrise -2027-09-12T23:33:26.800Z sunset +2027-09-12T21:47:28.026Z moonrise +2027-09-12T23:33:26.803Z sunset 2027-09-13T03:21:47.201Z Moon culminates 46.33 degrees above the horizon -2027-09-13T09:01:19.241Z moonset -2027-09-13T11:08:45.910Z sunrise +2027-09-13T09:01:19.189Z moonset +2027-09-13T11:08:45.989Z sunrise 2027-09-13T17:20:43.506Z Sun culminates 65.09 degrees above the horizon -2027-09-13T22:17:44.414Z moonrise -2027-09-13T23:32:15.066Z sunset +2027-09-13T22:17:44.450Z moonrise +2027-09-13T23:32:15.068Z sunset 2027-09-14T04:03:29.838Z Moon culminates 51.48 degrees above the horizon 2027-09-14T05:52:14.061Z Mercury aphelion at 0.4667 AU -2027-09-14T09:54:59.852Z moonset -2027-09-14T11:09:14.954Z sunrise +2027-09-14T09:54:59.843Z moonset +2027-09-14T11:09:15.035Z sunrise 2027-09-14T16:13:27.571Z Mars moves from Virgo to Libra 2027-09-14T17:20:22.075Z Sun culminates 64.71 degrees above the horizon -2027-09-14T22:46:20.510Z moonrise -2027-09-14T23:31:03.180Z sunset +2027-09-14T22:46:20.528Z moonrise +2027-09-14T23:31:03.183Z sunset 2027-09-15T04:44:16.403Z Moon culminates 57.04 degrees above the horizon -2027-09-15T10:48:23.340Z moonset -2027-09-15T11:09:44.011Z sunrise +2027-09-15T10:48:23.344Z moonset +2027-09-15T11:09:44.093Z sunrise 2027-09-15T17:20:00.588Z Sun culminates 64.32 degrees above the horizon 2027-09-15T23:04:07.737Z full moon -2027-09-15T23:14:22.203Z moonrise -2027-09-15T23:29:51.173Z sunset +2027-09-15T23:14:22.216Z moonrise +2027-09-15T23:29:51.175Z sunset 2027-09-16T05:25:01.135Z Moon culminates 62.82 degrees above the horizon -2027-09-16T11:10:13.099Z sunrise -2027-09-16T11:42:13.959Z moonset +2027-09-16T11:10:13.181Z sunrise +2027-09-16T11:42:13.963Z moonset 2027-09-16T17:19:39.068Z Sun culminates 63.94 degrees above the horizon -2027-09-16T23:28:39.074Z sunset -2027-09-16T23:42:56.373Z moonrise +2027-09-16T23:28:39.075Z sunset +2027-09-16T23:42:56.380Z moonrise 2027-09-17T06:06:42.762Z Moon culminates 68.61 degrees above the horizon -2027-09-17T11:10:42.234Z sunrise -2027-09-17T12:37:21.306Z moonset +2027-09-17T11:10:42.318Z sunrise +2027-09-17T12:37:21.324Z moonset 2027-09-17T17:19:17.539Z Sun culminates 63.55 degrees above the horizon -2027-09-17T23:27:26.912Z sunset -2027-09-18T00:13:14.596Z moonrise +2027-09-17T23:27:26.913Z sunset +2027-09-18T00:13:14.586Z moonrise 2027-09-18T06:50:22.255Z Moon culminates 74.19 degrees above the horizon -2027-09-18T11:11:11.435Z sunrise -2027-09-18T13:34:30.697Z moonset +2027-09-18T11:11:11.519Z sunrise +2027-09-18T13:34:30.759Z moonset 2027-09-18T17:18:56.025Z Sun culminates 63.17 degrees above the horizon -2027-09-18T23:26:14.716Z sunset -2027-09-19T00:46:36.795Z moonrise +2027-09-18T23:26:14.717Z sunset +2027-09-19T00:46:36.751Z moonrise 2027-09-19T07:36:58.508Z Moon culminates 79.27 degrees above the horizon -2027-09-19T11:11:40.719Z sunrise -2027-09-19T14:34:09.107Z moonset +2027-09-19T11:11:40.805Z sunrise +2027-09-19T14:34:09.237Z moonset 2027-09-19T17:18:34.549Z Sun culminates 62.78 degrees above the horizon -2027-09-19T23:25:02.517Z sunset -2027-09-20T01:24:32.065Z moonrise +2027-09-19T23:25:02.518Z sunset +2027-09-20T01:24:31.974Z moonrise 2027-09-20T08:27:18.912Z Moon culminates 83.54 degrees above the horizon -2027-09-20T11:12:10.104Z sunrise -2027-09-20T15:36:04.903Z moonset +2027-09-20T11:12:10.190Z sunrise +2027-09-20T15:36:05.092Z moonset 2027-09-20T17:18:13.134Z Sun culminates 62.39 degrees above the horizon -2027-09-20T23:23:50.343Z sunset -2027-09-21T02:08:31.405Z moonrise +2027-09-20T23:23:50.344Z sunset +2027-09-21T02:08:31.267Z moonrise 2027-09-21T09:21:42.731Z Moon culminates 86.65 degrees above the horizon -2027-09-21T11:12:39.605Z sunrise -2027-09-21T16:39:07.046Z moonset +2027-09-21T11:12:39.692Z sunrise +2027-09-21T16:39:07.260Z moonset 2027-09-21T17:17:51.802Z Sun culminates 62.00 degrees above the horizon -2027-09-21T23:22:38.223Z sunset -2027-09-22T02:59:45.050Z moonrise +2027-09-21T23:22:38.224Z sunset +2027-09-22T02:59:44.875Z moonrise 2027-09-22T10:19:40.977Z Moon culminates 88.25 degrees above the horizon -2027-09-22T11:13:09.238Z sunrise +2027-09-22T11:13:09.326Z sunrise 2027-09-22T17:17:30.576Z Sun culminates 61.61 degrees above the horizon -2027-09-22T17:41:03.231Z moonset -2027-09-22T23:21:26.186Z sunset -2027-09-23T03:58:23.936Z moonrise +2027-09-22T17:41:03.435Z moonset +2027-09-22T23:21:26.187Z sunset +2027-09-23T03:58:23.734Z moonrise 2027-09-23T06:01:18.126Z September equinox 2027-09-23T10:21:00.816Z third quarter -2027-09-23T11:13:39.018Z sunrise +2027-09-23T11:13:39.106Z sunrise 2027-09-23T11:19:47.793Z Moon culminates 88.08 degrees above the horizon 2027-09-23T17:17:09.477Z Sun culminates 61.23 degrees above the horizon -2027-09-23T18:39:18.394Z moonset +2027-09-23T18:39:18.570Z moonset 2027-09-23T23:20:14.260Z sunset -2027-09-24T05:03:08.704Z moonrise -2027-09-24T11:14:08.957Z sunrise +2027-09-24T05:03:08.496Z moonrise +2027-09-24T11:14:09.046Z sunrise 2027-09-24T12:20:01.695Z Moon culminates 86.04 degrees above the horizon 2027-09-24T17:16:48.525Z Sun culminates 60.84 degrees above the horizon -2027-09-24T19:32:00.237Z moonset +2027-09-24T19:32:00.372Z moonset 2027-09-24T22:06:02.129Z Mercury max evening elongation: 26.26 degrees from Sun 2027-09-24T23:19:02.472Z sunset -2027-09-25T06:11:26.598Z moonrise -2027-09-25T11:14:39.068Z sunrise +2027-09-25T06:11:26.425Z moonrise +2027-09-25T11:14:39.158Z sunrise 2027-09-25T13:18:32.401Z Moon culminates 82.26 degrees above the horizon 2027-09-25T17:16:27.740Z Sun culminates 60.45 degrees above the horizon -2027-09-25T20:18:40.323Z moonset +2027-09-25T20:18:40.407Z moonset 2027-09-25T23:17:50.850Z sunset -2027-09-26T07:20:38.399Z moonrise -2027-09-26T11:15:09.363Z sunrise +2027-09-26T07:20:38.301Z moonrise +2027-09-26T11:15:09.453Z sunrise 2027-09-26T14:14:20.428Z Moon culminates 77.03 degrees above the horizon 2027-09-26T17:16:07.141Z Sun culminates 60.06 degrees above the horizon -2027-09-26T21:00:04.452Z moonset +2027-09-26T21:00:04.489Z moonset 2027-09-26T23:16:39.419Z sunset -2027-09-27T08:29:00.449Z moonrise -2027-09-27T11:15:39.852Z sunrise +2027-09-27T08:29:00.420Z moonrise +2027-09-27T11:15:39.942Z sunrise 2027-09-27T15:07:25.032Z Moon culminates 70.75 degrees above the horizon 2027-09-27T17:15:46.745Z Sun culminates 59.67 degrees above the horizon 2027-09-27T20:11:35.150Z lunar perigee at 363441 km -2027-09-27T21:37:37.981Z moonset +2027-09-27T21:37:37.994Z moonset 2027-09-27T23:15:28.206Z sunset -2027-09-28T09:35:59.875Z moonrise -2027-09-28T11:16:10.544Z sunrise +2027-09-28T09:35:59.874Z moonrise +2027-09-28T11:16:10.636Z sunrise 2027-09-28T14:08:16.379Z Neptune opposition 2027-09-28T15:58:27.762Z Moon culminates 63.90 degrees above the horizon 2027-09-28T17:15:26.571Z Sun culminates 59.28 degrees above the horizon -2027-09-28T22:12:57.801Z moonset -2027-09-28T23:14:17.236Z sunset -2027-09-29T10:41:53.383Z moonrise -2027-09-29T11:16:41.451Z sunrise +2027-09-28T22:12:57.808Z moonset +2027-09-28T23:14:17.336Z sunset +2027-09-29T10:41:53.384Z moonrise +2027-09-29T11:16:41.543Z sunrise 2027-09-29T16:48:30.559Z Moon culminates 56.93 degrees above the horizon 2027-09-29T17:15:06.637Z Sun culminates 58.89 degrees above the horizon -2027-09-29T22:47:39.340Z moonset -2027-09-29T23:13:06.534Z sunset +2027-09-29T22:47:39.343Z moonset +2027-09-29T23:13:06.633Z sunset 2027-09-30T02:36:32.891Z new moon -2027-09-30T11:17:12.581Z sunrise -2027-09-30T11:47:15.865Z moonrise +2027-09-30T11:17:12.673Z sunrise +2027-09-30T11:47:15.885Z moonrise 2027-09-30T17:14:46.957Z Sun culminates 58.50 degrees above the horizon 2027-09-30T17:38:37.932Z Moon culminates 50.30 degrees above the horizon -2027-09-30T23:11:56.124Z sunset -2027-09-30T23:23:12.974Z moonset -2027-10-01T11:17:43.942Z sunrise -2027-10-01T12:52:31.630Z moonrise +2027-09-30T23:11:56.222Z sunset +2027-09-30T23:23:12.957Z moonset +2027-10-01T11:17:44.035Z sunrise +2027-10-01T12:52:31.716Z moonrise 2027-10-01T17:14:27.551Z Sun culminates 58.11 degrees above the horizon 2027-10-01T18:29:43.037Z Moon culminates 44.41 degrees above the horizon -2027-10-01T23:10:46.031Z sunset -2027-10-02T00:01:02.366Z moonset -2027-10-02T11:18:15.544Z sunrise -2027-10-02T13:57:31.136Z moonrise +2027-10-01T23:10:46.128Z sunset +2027-10-02T00:01:02.302Z moonset +2027-10-02T11:18:15.638Z sunrise +2027-10-02T13:57:31.317Z moonrise 2027-10-02T17:14:08.433Z Sun culminates 57.73 degrees above the horizon 2027-10-02T19:22:15.070Z Moon culminates 39.60 degrees above the horizon -2027-10-02T23:09:36.279Z sunset -2027-10-03T00:42:18.977Z moonset -2027-10-03T11:18:47.394Z sunrise -2027-10-03T15:01:17.708Z moonrise +2027-10-02T23:09:36.375Z sunset +2027-10-03T00:42:18.849Z moonset +2027-10-03T11:18:47.489Z sunrise +2027-10-03T15:01:17.961Z moonrise 2027-10-03T17:13:49.621Z Sun culminates 57.34 degrees above the horizon 2027-10-03T20:16:08.553Z Moon culminates 36.14 degrees above the horizon -2027-10-03T23:08:26.895Z sunset -2027-10-04T01:27:49.617Z moonset -2027-10-04T11:19:19.500Z sunrise -2027-10-04T16:02:14.269Z moonrise +2027-10-03T23:08:26.990Z sunset +2027-10-04T01:27:49.430Z moonset +2027-10-04T11:19:19.596Z sunrise +2027-10-04T16:02:14.545Z moonrise 2027-10-04T17:13:31.131Z Sun culminates 56.96 degrees above the horizon 2027-10-04T21:10:40.163Z Moon culminates 34.19 degrees above the horizon -2027-10-04T23:07:17.903Z sunset -2027-10-05T02:17:39.683Z moonset -2027-10-05T11:19:51.872Z sunrise -2027-10-05T16:58:35.207Z moonrise +2027-10-04T23:07:17.996Z sunset +2027-10-05T02:17:39.452Z moonset +2027-10-05T11:19:51.969Z sunrise +2027-10-05T16:58:35.473Z moonrise 2027-10-05T17:13:12.981Z Sun culminates 56.57 degrees above the horizon 2027-10-05T22:04:39.954Z Moon culminates 33.76 degrees above the horizon -2027-10-05T23:06:09.329Z sunset -2027-10-06T03:11:03.783Z moonset -2027-10-06T11:20:24.518Z sunrise +2027-10-05T23:06:09.422Z sunset +2027-10-06T03:11:03.527Z moonset +2027-10-06T11:20:24.615Z sunrise 2027-10-06T17:12:55.189Z Sun culminates 56.19 degrees above the horizon -2027-10-06T17:49:07.953Z moonrise +2027-10-06T17:49:08.193Z moonrise 2027-10-06T22:56:55.571Z Moon culminates 34.78 degrees above the horizon -2027-10-06T23:05:01.201Z sunset -2027-10-07T04:06:37.589Z moonset -2027-10-07T11:20:57.446Z sunrise +2027-10-06T23:05:01.292Z sunset +2027-10-07T04:06:37.333Z moonset +2027-10-07T11:20:57.545Z sunrise 2027-10-07T11:48:03.779Z first quarter 2027-10-07T17:12:37.772Z Sun culminates 55.80 degrees above the horizon -2027-10-07T18:33:36.189Z moonrise -2027-10-07T23:03:53.545Z sunset +2027-10-07T18:33:36.389Z moonrise +2027-10-07T23:03:53.635Z sunset 2027-10-07T23:46:36.661Z Moon culminates 37.08 degrees above the horizon -2027-10-08T05:02:49.293Z moonset -2027-10-08T11:21:30.668Z sunrise +2027-10-08T05:02:49.073Z moonset +2027-10-08T11:21:30.768Z sunrise 2027-10-08T17:12:20.750Z Sun culminates 55.42 degrees above the horizon -2027-10-08T19:12:33.817Z moonrise -2027-10-08T23:02:46.390Z sunset +2027-10-08T19:12:33.965Z moonrise +2027-10-08T23:02:46.479Z sunset 2027-10-09T00:33:26.566Z Moon culminates 40.45 degrees above the horizon -2027-10-09T05:58:30.843Z moonset -2027-10-09T11:22:04.193Z sunrise +2027-10-09T05:58:30.693Z moonset +2027-10-09T11:22:04.294Z sunrise 2027-10-09T15:46:26.087Z lunar apogee at 404519 km 2027-10-09T17:12:04.143Z Sun culminates 55.04 degrees above the horizon -2027-10-09T19:47:03.641Z moonrise -2027-10-09T23:01:39.764Z sunset +2027-10-09T19:47:03.733Z moonrise +2027-10-09T23:01:39.851Z sunset 2027-10-10T01:17:39.857Z Moon culminates 44.68 degrees above the horizon -2027-10-10T06:53:12.164Z moonset -2027-10-10T11:22:38.034Z sunrise +2027-10-10T06:53:12.090Z moonset +2027-10-10T11:22:38.035Z sunrise 2027-10-10T17:11:47.970Z Sun culminates 54.66 degrees above the horizon -2027-10-10T20:18:18.297Z moonrise -2027-10-10T23:00:33.696Z sunset +2027-10-10T20:18:18.344Z moonrise +2027-10-10T23:00:33.782Z sunset 2027-10-11T01:59:53.078Z Moon culminates 49.57 degrees above the horizon -2027-10-11T07:46:58.646Z moonset -2027-10-11T11:23:12.202Z sunrise +2027-10-11T07:46:58.626Z moonset +2027-10-11T11:23:12.204Z sunrise 2027-10-11T17:11:32.253Z Sun culminates 54.29 degrees above the horizon -2027-10-11T20:47:30.177Z moonrise -2027-10-11T22:59:28.215Z sunset +2027-10-11T20:47:30.199Z moonrise +2027-10-11T22:59:28.300Z sunset 2027-10-12T02:40:55.803Z Moon culminates 54.96 degrees above the horizon -2027-10-12T08:40:21.246Z moonset -2027-10-12T11:23:46.709Z sunrise +2027-10-12T08:40:21.248Z moonset +2027-10-12T11:23:46.711Z sunrise 2027-10-12T17:11:17.013Z Sun culminates 53.91 degrees above the horizon -2027-10-12T21:15:48.965Z moonrise -2027-10-12T22:58:23.353Z sunset +2027-10-12T21:15:48.979Z moonrise +2027-10-12T22:58:23.437Z sunset 2027-10-13T03:21:44.817Z Moon culminates 60.66 degrees above the horizon -2027-10-13T09:34:06.254Z moonset -2027-10-13T11:24:21.568Z sunrise +2027-10-13T09:34:06.258Z moonset +2027-10-13T11:24:21.571Z sunrise 2027-10-13T17:11:02.271Z Sun culminates 53.54 degrees above the horizon -2027-10-13T21:44:23.549Z moonrise -2027-10-13T22:57:19.140Z sunset +2027-10-13T21:44:23.558Z moonrise +2027-10-13T22:57:19.222Z sunset 2027-10-14T04:03:21.048Z Moon culminates 66.47 degrees above the horizon -2027-10-14T10:29:06.409Z moonset -2027-10-14T11:24:56.792Z sunrise +2027-10-14T10:29:06.419Z moonset +2027-10-14T11:24:56.796Z sunrise 2027-10-14T15:37:29.788Z Venus moves from Virgo to Libra 2027-10-14T17:10:48.050Z Sun culminates 53.17 degrees above the horizon -2027-10-14T22:14:25.860Z moonrise -2027-10-14T22:56:15.606Z sunset +2027-10-14T22:14:25.858Z moonrise +2027-10-14T22:56:15.686Z sunset 2027-10-15T04:46:47.372Z Moon culminates 72.18 degrees above the horizon 2027-10-15T09:14:10.184Z Mars moves from Libra to Scorpius -2027-10-15T11:25:32.395Z sunrise -2027-10-15T11:26:11.407Z moonset +2027-10-15T11:25:32.399Z sunrise +2027-10-15T11:26:11.449Z moonset 2027-10-15T13:47:32.063Z full moon 2027-10-15T17:10:34.370Z Sun culminates 52.80 degrees above the horizon -2027-10-15T22:47:14.772Z moonrise -2027-10-15T22:55:12.782Z sunset +2027-10-15T22:47:14.743Z moonrise +2027-10-15T22:55:12.860Z sunset 2027-10-16T05:33:04.622Z Moon culminates 77.50 degrees above the horizon -2027-10-16T11:26:08.388Z sunrise -2027-10-16T12:25:54.150Z moonset +2027-10-16T11:26:08.393Z sunrise +2027-10-16T12:25:54.254Z moonset 2027-10-16T17:10:21.255Z Sun culminates 52.43 degrees above the horizon -2027-10-16T22:54:10.700Z sunset -2027-10-16T23:24:17.456Z moonrise +2027-10-16T22:54:10.776Z sunset +2027-10-16T23:24:17.382Z moonrise 2027-10-17T06:23:02.524Z Moon culminates 82.12 degrees above the horizon -2027-10-17T11:26:44.783Z sunrise -2027-10-17T13:28:10.090Z moonset +2027-10-17T11:26:44.790Z sunrise +2027-10-17T13:28:10.260Z moonset 2027-10-17T17:10:08.726Z Sun culminates 52.06 degrees above the horizon -2027-10-17T22:53:09.390Z sunset -2027-10-18T00:07:03.310Z moonrise +2027-10-17T22:53:09.465Z sunset +2027-10-18T00:07:03.188Z moonrise 2027-10-18T00:18:21.865Z Saturn opposition 2027-10-18T07:17:03.142Z Moon culminates 85.65 degrees above the horizon -2027-10-18T11:27:21.592Z sunrise -2027-10-18T14:31:54.059Z moonset +2027-10-18T11:27:21.599Z sunrise +2027-10-18T14:31:54.266Z moonset 2027-10-18T17:09:56.802Z Sun culminates 51.70 degrees above the horizon -2027-10-18T22:52:08.884Z sunset -2027-10-19T00:56:43.449Z moonrise +2027-10-18T22:52:08.956Z sunset +2027-10-19T00:56:43.286Z moonrise 2027-10-19T08:14:40.049Z Moon culminates 87.74 degrees above the horizon -2027-10-19T11:27:58.823Z sunrise +2027-10-19T11:27:58.831Z sunrise 2027-10-19T15:25:05.302Z Mercury inferior conjunction -2027-10-19T15:34:53.711Z moonset +2027-10-19T15:34:53.918Z moonset 2027-10-19T17:09:45.505Z Sun culminates 51.34 degrees above the horizon -2027-10-19T22:51:09.212Z sunset -2027-10-20T01:53:34.202Z moonrise +2027-10-19T22:51:09.281Z sunset +2027-10-20T01:53:34.009Z moonrise 2027-10-20T09:14:28.075Z Moon culminates 88.09 degrees above the horizon -2027-10-20T11:28:36.485Z sunrise -2027-10-20T16:34:24.527Z moonset +2027-10-20T11:28:36.494Z sunrise +2027-10-20T16:34:24.711Z moonset 2027-10-20T17:09:34.852Z Sun culminates 50.98 degrees above the horizon -2027-10-20T22:50:10.404Z sunset -2027-10-21T02:56:25.043Z moonrise +2027-10-20T22:50:10.471Z sunset +2027-10-21T02:56:24.837Z moonrise 2027-10-21T10:14:23.155Z Moon culminates 86.61 degrees above the horizon -2027-10-21T11:29:14.584Z sunrise +2027-10-21T11:29:14.594Z sunrise 2027-10-21T17:09:24.863Z Sun culminates 50.62 degrees above the horizon -2027-10-21T17:28:18.482Z moonset -2027-10-21T22:49:12.490Z sunset -2027-10-22T04:02:50.422Z moonrise +2027-10-21T17:28:18.630Z moonset +2027-10-21T22:49:12.555Z sunset +2027-10-22T04:02:50.238Z moonrise 2027-10-22T11:12:29.882Z Moon culminates 83.41 degrees above the horizon -2027-10-22T11:29:53.125Z sunrise +2027-10-22T11:29:53.137Z sunrise 2027-10-22T17:09:15.554Z Sun culminates 50.27 degrees above the horizon 2027-10-22T17:29:42.958Z third quarter -2027-10-22T18:15:53.200Z moonset -2027-10-22T22:48:15.500Z sunset -2027-10-23T05:10:12.858Z moonrise -2027-10-23T11:30:32.110Z sunrise +2027-10-22T18:15:53.301Z moonset +2027-10-22T22:48:15.563Z sunset +2027-10-23T05:10:12.738Z moonrise +2027-10-23T11:30:32.124Z sunrise 2027-10-23T12:07:43.606Z Moon culminates 78.75 degrees above the horizon 2027-10-23T17:09:06.941Z Sun culminates 49.92 degrees above the horizon -2027-10-23T18:57:47.062Z moonset -2027-10-23T22:47:19.464Z sunset -2027-10-24T06:16:46.562Z moonrise -2027-10-24T11:31:11.542Z sunrise +2027-10-23T18:57:47.114Z moonset +2027-10-23T22:47:19.523Z sunset +2027-10-24T06:16:46.515Z moonrise +2027-10-24T11:31:11.557Z sunrise 2027-10-24T13:00:00.405Z Moon culminates 73.01 degrees above the horizon 2027-10-24T17:08:59.039Z Sun culminates 49.57 degrees above the horizon -2027-10-24T19:35:23.442Z moonset -2027-10-24T22:46:24.408Z sunset +2027-10-24T19:35:23.462Z moonset +2027-10-24T22:46:24.465Z sunset 2027-10-25T05:36:27.954Z lunar perigee at 368641 km -2027-10-25T07:21:56.987Z moonrise -2027-10-25T11:31:51.419Z sunrise +2027-10-25T07:21:56.980Z moonrise +2027-10-25T11:31:51.436Z sunrise 2027-10-25T13:50:01.264Z Moon culminates 66.57 degrees above the horizon 2027-10-25T17:08:51.861Z Sun culminates 49.23 degrees above the horizon -2027-10-25T20:10:19.684Z moonset -2027-10-25T22:45:30.360Z sunset -2027-10-26T08:26:03.051Z moonrise -2027-10-26T11:32:31.740Z sunrise +2027-10-25T20:10:19.692Z moonset +2027-10-25T22:45:30.414Z sunset +2027-10-26T08:26:03.052Z moonrise +2027-10-26T11:32:31.758Z sunrise 2027-10-26T14:38:50.329Z Moon culminates 59.85 degrees above the horizon 2027-10-26T17:08:45.419Z Sun culminates 48.88 degrees above the horizon -2027-10-26T20:44:12.308Z moonset -2027-10-26T22:44:37.347Z sunset +2027-10-26T20:44:12.314Z moonset +2027-10-26T22:44:37.398Z sunset 2027-10-27T08:04:43.468Z Mars moves from Scorpius to Ophiuchus -2027-10-27T09:29:47.975Z moonrise -2027-10-27T11:33:12.501Z sunrise +2027-10-27T09:29:47.982Z moonrise +2027-10-27T11:33:12.521Z sunrise 2027-10-27T15:27:37.704Z Moon culminates 53.23 degrees above the horizon 2027-10-27T17:08:39.724Z Sun culminates 48.54 degrees above the horizon -2027-10-27T21:18:33.397Z moonset -2027-10-27T22:43:45.393Z sunset +2027-10-27T21:18:33.393Z moonset +2027-10-27T22:43:45.441Z sunset 2027-10-28T05:30:38.173Z Mercury perihelion at 0.3075 AU -2027-10-28T10:33:51.849Z moonrise -2027-10-28T11:33:53.697Z sunrise +2027-10-28T10:33:51.897Z moonrise +2027-10-28T11:33:53.719Z sunrise 2027-10-28T16:17:26.606Z Moon culminates 47.09 degrees above the horizon 2027-10-28T17:08:34.786Z Sun culminates 48.21 degrees above the horizon -2027-10-28T21:54:50.453Z moonset -2027-10-28T22:42:54.523Z sunset -2027-10-29T11:34:35.322Z sunrise -2027-10-29T11:38:27.147Z moonrise +2027-10-28T21:54:50.415Z moonset +2027-10-28T22:42:54.568Z sunset +2027-10-29T11:34:35.346Z sunrise +2027-10-29T11:38:27.281Z moonrise 2027-10-29T13:37:02.940Z new moon 2027-10-29T17:08:30.612Z Sun culminates 47.88 degrees above the horizon 2027-10-29T17:09:01.045Z Moon culminates 41.82 degrees above the horizon -2027-10-29T22:34:23.473Z moonset -2027-10-29T22:42:04.761Z sunset -2027-10-30T11:35:17.366Z sunrise -2027-10-30T12:42:58.456Z moonrise +2027-10-29T22:34:23.376Z moonset +2027-10-29T22:42:04.803Z sunset +2027-10-30T11:35:17.392Z sunrise +2027-10-30T12:42:58.677Z moonrise 2027-10-30T17:08:27.211Z Sun culminates 47.55 degrees above the horizon 2027-10-30T18:02:32.400Z Moon culminates 37.73 degrees above the horizon -2027-10-30T22:41:16.130Z sunset -2027-10-30T23:18:14.526Z moonset -2027-10-31T11:35:59.821Z sunrise -2027-10-31T13:45:56.013Z moonrise +2027-10-30T22:41:16.168Z sunset +2027-10-30T23:18:14.366Z moonset +2027-10-31T11:35:59.849Z sunrise +2027-10-31T13:45:56.280Z moonrise 2027-10-31T17:08:24.588Z Sun culminates 47.22 degrees above the horizon 2027-10-31T18:57:29.220Z Moon culminates 35.08 degrees above the horizon -2027-10-31T22:40:28.652Z sunset -2027-11-01T00:06:49.034Z moonset +2027-10-31T22:40:28.688Z sunset +2027-11-01T00:06:48.823Z moonset 2027-11-01T05:31:20.187Z Venus moves from Libra to Scorpius -2027-11-01T11:36:42.676Z sunrise -2027-11-01T14:45:17.105Z moonrise +2027-11-01T11:36:42.706Z sunrise +2027-11-01T14:45:17.375Z moonrise 2027-11-01T17:08:22.751Z Sun culminates 46.90 degrees above the horizon 2027-11-01T19:52:40.279Z Moon culminates 33.98 degrees above the horizon -2027-11-01T22:39:42.353Z sunset -2027-11-02T00:59:37.755Z moonset -2027-11-02T11:37:25.918Z sunrise -2027-11-02T15:39:12.931Z moonrise +2027-11-01T22:39:42.384Z sunset +2027-11-02T00:59:37.510Z moonset +2027-11-02T11:37:25.950Z sunrise +2027-11-02T15:39:13.179Z moonrise 2027-11-02T17:08:21.704Z Sun culminates 46.59 degrees above the horizon 2027-11-02T20:46:36.974Z Moon culminates 34.41 degrees above the horizon -2027-11-02T22:38:57.253Z sunset -2027-11-03T01:55:18.019Z moonset -2027-11-03T11:38:09.535Z sunrise -2027-11-03T16:26:50.667Z moonrise +2027-11-02T22:38:57.281Z sunset +2027-11-03T01:55:17.762Z moonset +2027-11-03T11:38:09.570Z sunrise +2027-11-03T16:26:50.880Z moonrise 2027-11-03T17:08:21.453Z Sun culminates 46.27 degrees above the horizon 2027-11-03T21:38:05.402Z Moon culminates 36.22 degrees above the horizon -2027-11-03T22:38:13.376Z sunset -2027-11-04T02:52:03.412Z moonset +2027-11-03T22:38:13.401Z sunset +2027-11-04T02:52:03.177Z moonset 2027-11-04T08:55:11.872Z Mercury max morning elongation: 18.77 degrees from Sun -2027-11-04T11:38:53.515Z sunrise +2027-11-04T11:38:53.552Z sunrise 2027-11-04T17:08:22.003Z Sun culminates 45.96 degrees above the horizon -2027-11-04T17:08:22.061Z moonrise +2027-11-04T17:08:22.226Z moonrise 2027-11-04T22:26:28.536Z Moon culminates 39.20 degrees above the horizon -2027-11-04T22:37:30.747Z sunset -2027-11-05T03:48:24.325Z moonset -2027-11-05T11:39:37.843Z sunrise +2027-11-04T22:37:30.768Z sunset +2027-11-05T03:48:24.149Z moonset +2027-11-05T11:39:37.883Z sunrise 2027-11-05T17:08:23.359Z Sun culminates 45.66 degrees above the horizon -2027-11-05T17:44:43.220Z moonrise -2027-11-05T22:36:49.387Z sunset +2027-11-05T17:44:43.330Z moonrise +2027-11-05T22:36:49.405Z sunset 2027-11-05T23:11:49.081Z Moon culminates 43.11 degrees above the horizon -2027-11-06T04:43:32.771Z moonset +2027-11-06T04:43:32.672Z moonset 2027-11-06T08:00:40.209Z first quarter 2027-11-06T11:36:24.639Z lunar apogee at 404169 km -2027-11-06T11:40:22.508Z sunrise +2027-11-06T11:40:22.550Z sunrise 2027-11-06T17:08:25.526Z Sun culminates 45.36 degrees above the horizon -2027-11-06T18:17:09.154Z moonrise -2027-11-06T22:36:09.321Z sunset +2027-11-06T18:17:09.215Z moonrise +2027-11-06T22:36:09.335Z sunset 2027-11-06T23:54:39.543Z Moon culminates 47.74 degrees above the horizon -2027-11-07T05:37:24.240Z moonset -2027-11-07T11:41:07.495Z sunrise +2027-11-07T05:37:24.204Z moonset +2027-11-07T11:41:07.540Z sunrise 2027-11-07T17:08:28.510Z Sun culminates 45.06 degrees above the horizon -2027-11-07T18:46:57.612Z moonrise +2027-11-07T18:46:57.642Z moonrise 2027-11-07T20:53:55.667Z Venus moves from Scorpius to Ophiuchus -2027-11-07T22:35:30.573Z sunset +2027-11-07T22:35:30.583Z sunset 2027-11-08T00:35:50.286Z Moon culminates 52.89 degrees above the horizon -2027-11-08T06:30:26.996Z moonset -2027-11-08T11:41:52.790Z sunrise +2027-11-08T06:30:26.992Z moonset +2027-11-08T11:41:52.838Z sunrise 2027-11-08T17:08:32.315Z Sun culminates 44.77 degrees above the horizon -2027-11-08T19:15:23.317Z moonrise -2027-11-08T22:34:53.166Z sunset +2027-11-08T19:15:23.333Z moonrise +2027-11-08T22:34:53.172Z sunset 2027-11-09T01:16:21.217Z Moon culminates 58.41 degrees above the horizon -2027-11-09T07:23:29.778Z moonset -2027-11-09T11:42:38.381Z sunrise +2027-11-09T07:23:29.782Z moonset +2027-11-09T11:42:38.431Z sunrise 2027-11-09T17:08:36.947Z Sun culminates 44.48 degrees above the horizon -2027-11-09T19:43:38.727Z moonrise -2027-11-09T22:34:17.125Z sunset +2027-11-09T19:43:38.738Z moonrise +2027-11-09T22:34:17.127Z sunset 2027-11-10T01:57:17.591Z Moon culminates 64.13 degrees above the horizon -2027-11-10T08:17:31.865Z moonset -2027-11-10T11:43:24.252Z sunrise +2027-11-10T08:17:31.871Z moonset +2027-11-10T11:43:24.305Z sunrise 2027-11-10T17:08:42.410Z Sun culminates 44.20 degrees above the horizon -2027-11-10T20:12:57.924Z moonrise -2027-11-10T22:33:42.472Z sunset +2027-11-10T20:12:57.929Z moonrise +2027-11-10T22:33:42.471Z sunset 2027-11-11T02:39:48.004Z Moon culminates 69.85 degrees above the horizon -2027-11-11T09:13:34.102Z moonset -2027-11-11T11:44:10.391Z sunrise +2027-11-11T09:13:34.127Z moonset +2027-11-11T11:44:10.446Z sunrise 2027-11-11T17:08:48.710Z Sun culminates 43.93 degrees above the horizon -2027-11-11T20:44:41.433Z moonrise -2027-11-11T22:33:09.234Z sunset +2027-11-11T20:44:41.417Z moonrise +2027-11-11T22:33:09.229Z sunset 2027-11-12T03:25:01.701Z Moon culminates 75.35 degrees above the horizon -2027-11-12T10:12:26.746Z moonset -2027-11-12T11:44:56.782Z sunrise +2027-11-12T10:12:26.820Z moonset +2027-11-12T11:44:56.840Z sunrise 2027-11-12T17:08:55.852Z Sun culminates 43.65 degrees above the horizon -2027-11-12T21:20:19.613Z moonrise -2027-11-12T22:32:37.432Z sunset +2027-11-12T21:20:19.559Z moonrise +2027-11-12T22:32:37.423Z sunset 2027-11-13T04:14:01.402Z Moon culminates 80.31 degrees above the horizon -2027-11-13T11:14:29.347Z moonset -2027-11-13T11:45:43.409Z sunrise +2027-11-13T11:14:29.490Z moonset +2027-11-13T11:45:43.470Z sunrise 2027-11-13T17:09:03.838Z Sun culminates 43.39 degrees above the horizon -2027-11-13T22:01:30.080Z moonrise -2027-11-13T22:32:07.090Z sunset +2027-11-13T22:01:29.977Z moonrise +2027-11-13T22:32:07.077Z sunset 2027-11-14T03:26:24.510Z full moon 2027-11-14T05:07:27.372Z Moon culminates 84.34 degrees above the horizon -2027-11-14T11:46:30.257Z sunrise -2027-11-14T12:19:02.209Z moonset +2027-11-14T11:46:30.321Z sunrise +2027-11-14T12:19:02.404Z moonset 2027-11-14T17:09:12.672Z Sun culminates 43.13 degrees above the horizon -2027-11-14T22:31:38.230Z sunset -2027-11-14T22:49:40.871Z moonrise +2027-11-14T22:31:38.214Z sunset +2027-11-14T22:49:40.723Z moonrise 2027-11-15T04:04:15.563Z Mercury moves from Virgo to Libra 2027-11-15T06:05:12.255Z Moon culminates 87.02 degrees above the horizon -2027-11-15T11:47:17.308Z sunrise -2027-11-15T13:24:04.528Z moonset +2027-11-15T11:47:17.375Z sunrise +2027-11-15T13:24:04.735Z moonset 2027-11-15T17:09:22.355Z Sun culminates 42.87 degrees above the horizon -2027-11-15T22:31:10.875Z sunset -2027-11-15T23:45:32.340Z moonrise +2027-11-15T22:31:10.855Z sunset +2027-11-15T23:45:32.158Z moonrise 2027-11-16T07:05:59.361Z Moon culminates 88.00 degrees above the horizon -2027-11-16T11:48:04.542Z sunrise -2027-11-16T14:26:33.225Z moonset +2027-11-16T11:48:04.612Z sunrise +2027-11-16T14:26:33.415Z moonset 2027-11-16T17:09:32.889Z Sun culminates 42.62 degrees above the horizon -2027-11-16T22:30:45.044Z sunset -2027-11-17T00:48:11.523Z moonrise +2027-11-16T22:30:45.021Z sunset +2027-11-17T00:48:11.320Z moonrise 2027-11-17T08:07:31.701Z Moon culminates 87.07 degrees above the horizon -2027-11-17T11:48:51.939Z sunrise -2027-11-17T15:23:36.842Z moonset +2027-11-17T11:48:52.011Z sunrise +2027-11-17T15:23:36.999Z moonset 2027-11-17T17:09:44.273Z Sun culminates 42.37 degrees above the horizon -2027-11-17T22:30:20.759Z sunset -2027-11-18T01:55:06.379Z moonrise +2027-11-17T22:30:20.732Z sunset +2027-11-18T01:55:06.186Z moonrise 2027-11-18T09:07:23.598Z Moon culminates 84.31 degrees above the horizon -2027-11-18T11:49:39.474Z sunrise -2027-11-18T16:13:51.775Z moonset +2027-11-18T11:49:39.549Z sunrise +2027-11-18T16:13:51.887Z moonset 2027-11-18T17:09:56.505Z Sun culminates 42.13 degrees above the horizon -2027-11-18T22:29:58.038Z sunset +2027-11-18T22:29:58.007Z sunset 2027-11-19T00:11:33.081Z lunar perigee at 369353 km -2027-11-19T03:03:10.056Z moonrise +2027-11-19T03:03:09.918Z moonrise 2027-11-19T10:04:00.145Z Moon culminates 80.01 degrees above the horizon -2027-11-19T11:50:27.123Z sunrise -2027-11-19T16:57:36.091Z moonset +2027-11-19T11:50:27.200Z sunrise +2027-11-19T16:57:36.154Z moonset 2027-11-19T17:10:09.581Z Sun culminates 41.90 degrees above the horizon -2027-11-19T22:29:36.899Z sunset -2027-11-20T04:10:04.977Z moonrise +2027-11-19T22:29:36.865Z sunset +2027-11-20T04:10:04.914Z moonrise 2027-11-20T10:56:59.734Z Moon culminates 74.56 degrees above the horizon -2027-11-20T11:51:14.859Z sunrise +2027-11-20T11:51:14.939Z sunrise 2027-11-20T17:10:23.495Z Sun culminates 41.67 degrees above the horizon -2027-11-20T17:36:10.871Z moonset -2027-11-20T22:29:17.358Z sunset +2027-11-20T17:36:10.897Z moonset +2027-11-20T22:29:17.321Z sunset 2027-11-21T00:48:45.281Z third quarter -2027-11-21T05:14:57.919Z moonrise +2027-11-21T05:14:57.906Z moonrise 2027-11-21T08:35:42.808Z Mars moves from Ophiuchus to Sagittarius 2027-11-21T11:46:58.362Z Moon culminates 68.38 degrees above the horizon -2027-11-21T11:52:02.653Z sunrise +2027-11-21T11:52:02.735Z sunrise 2027-11-21T17:10:38.240Z Sun culminates 41.45 degrees above the horizon -2027-11-21T18:11:18.516Z moonset -2027-11-21T22:28:59.430Z sunset -2027-11-22T06:18:03.666Z moonrise -2027-11-22T11:52:50.473Z sunrise +2027-11-21T18:11:18.526Z moonset +2027-11-21T22:28:59.389Z sunset +2027-11-22T06:18:03.667Z moonrise +2027-11-22T11:52:50.558Z sunrise 2027-11-22T12:35:02.677Z Moon culminates 61.87 degrees above the horizon 2027-11-22T17:10:53.808Z Sun culminates 41.23 degrees above the horizon -2027-11-22T18:44:40.991Z moonset +2027-11-22T18:44:40.999Z moonset 2027-11-22T19:39:16.665Z Venus moves from Ophiuchus to Sagittarius -2027-11-22T22:28:43.127Z sunset +2027-11-22T22:28:43.083Z sunset 2027-11-22T23:38:35.104Z Jupiter moves from Leo to Virgo -2027-11-23T07:20:12.037Z moonrise -2027-11-23T11:53:38.287Z sunrise +2027-11-23T07:20:12.040Z moonrise +2027-11-23T11:53:38.375Z sunrise 2027-11-23T13:22:29.234Z Moon culminates 55.37 degrees above the horizon 2027-11-23T17:11:10.186Z Sun culminates 41.02 degrees above the horizon -2027-11-23T19:17:54.139Z moonset -2027-11-23T22:28:28.459Z sunset -2027-11-24T08:22:18.677Z moonrise -2027-11-24T11:54:26.061Z sunrise +2027-11-23T19:17:54.141Z moonset +2027-11-23T22:28:28.412Z sunset +2027-11-24T08:22:18.705Z moonrise +2027-11-24T11:54:26.151Z sunrise 2027-11-24T14:10:31.372Z Moon culminates 49.22 degrees above the horizon 2027-11-24T17:11:27.361Z Sun culminates 40.82 degrees above the horizon -2027-11-24T19:52:28.590Z moonset -2027-11-24T22:28:15.434Z sunset -2027-11-25T09:25:01.133Z moonrise -2027-11-25T11:55:13.757Z sunrise +2027-11-24T19:52:28.568Z moonset +2027-11-24T22:28:15.384Z sunset +2027-11-25T09:25:01.230Z moonrise +2027-11-25T11:55:13.849Z sunrise 2027-11-25T15:00:08.700Z Moon culminates 43.75 degrees above the horizon 2027-11-25T17:11:45.318Z Sun culminates 40.62 degrees above the horizon -2027-11-25T20:29:50.026Z moonset -2027-11-25T22:28:04.058Z sunset -2027-11-26T10:28:17.262Z moonrise -2027-11-26T11:56:01.337Z sunrise +2027-11-25T20:29:49.955Z moonset +2027-11-25T22:28:04.004Z sunset +2027-11-26T10:28:17.448Z moonrise +2027-11-26T11:56:01.432Z sunrise 2027-11-26T15:51:54.892Z Moon culminates 39.28 degrees above the horizon 2027-11-26T17:12:04.040Z Sun culminates 40.43 degrees above the horizon -2027-11-26T21:11:13.380Z moonset -2027-11-26T22:27:54.333Z sunset -2027-11-27T11:31:09.566Z moonrise -2027-11-27T11:56:48.761Z sunrise +2027-11-26T21:11:13.246Z moonset +2027-11-26T22:27:54.277Z sunset +2027-11-27T11:31:09.817Z moonrise +2027-11-27T11:56:48.858Z sunrise 2027-11-27T16:45:44.260Z Moon culminates 36.08 degrees above the horizon 2027-11-27T17:12:23.506Z Sun culminates 40.25 degrees above the horizon 2027-11-27T19:25:03.755Z Venus aphelion at 0.7282 AU -2027-11-27T21:57:27.337Z moonset -2027-11-27T22:27:46.262Z sunset +2027-11-27T21:57:27.146Z moonset +2027-11-27T22:27:46.203Z sunset 2027-11-28T03:24:58.659Z new moon -2027-11-28T11:57:35.987Z sunrise -2027-11-28T12:31:49.107Z moonrise +2027-11-28T11:57:36.086Z sunrise +2027-11-28T12:31:49.377Z moonrise 2027-11-28T17:12:43.697Z Sun culminates 40.07 degrees above the horizon 2027-11-28T17:40:44.857Z Moon culminates 34.36 degrees above the horizon -2027-11-28T22:27:39.845Z sunset -2027-11-28T22:48:32.103Z moonset -2027-11-29T11:58:22.972Z sunrise -2027-11-29T13:28:10.306Z moonrise +2027-11-28T22:27:39.784Z sunset +2027-11-28T22:48:31.871Z moonset +2027-11-29T11:58:23.073Z sunrise +2027-11-29T13:28:10.562Z moonrise 2027-11-29T17:13:04.589Z Sun culminates 39.90 degrees above the horizon 2027-11-29T18:35:29.496Z Moon culminates 34.18 degrees above the horizon -2027-11-29T22:27:35.080Z sunset -2027-11-29T23:43:26.174Z moonset +2027-11-29T22:27:35.016Z sunset +2027-11-29T23:43:25.920Z moonset 2027-11-30T09:08:07.548Z Uranus opposition 2027-11-30T11:19:14.424Z Mercury moves from Libra to Scorpius -2027-11-30T11:59:09.672Z sunrise -2027-11-30T14:18:41.920Z moonrise +2027-11-30T11:59:09.775Z sunrise +2027-11-30T14:18:42.146Z moonrise 2027-11-30T17:13:26.160Z Sun culminates 39.74 degrees above the horizon 2027-11-30T19:28:25.930Z Moon culminates 35.47 degrees above the horizon -2027-11-30T22:27:31.964Z sunset -2027-12-01T00:40:21.890Z moonset -2027-12-01T11:59:56.042Z sunrise -2027-12-01T15:02:57.923Z moonrise +2027-11-30T22:27:31.897Z sunset +2027-12-01T00:40:21.644Z moonset +2027-12-01T11:59:56.147Z sunrise +2027-12-01T15:02:58.106Z moonrise 2027-12-01T17:13:48.385Z Sun culminates 39.58 degrees above the horizon 2027-12-01T20:18:29.357Z Moon culminates 38.03 degrees above the horizon -2027-12-01T22:27:30.493Z sunset -2027-12-02T01:37:27.251Z moonset -2027-12-02T12:00:42.038Z sunrise -2027-12-02T15:41:31.477Z moonrise +2027-12-01T22:27:30.424Z sunset +2027-12-02T01:37:27.051Z moonset +2027-12-02T12:00:42.145Z sunrise +2027-12-02T15:41:31.606Z moonrise 2027-12-02T17:14:11.239Z Sun culminates 39.43 degrees above the horizon 2027-12-02T21:05:17.859Z Moon culminates 41.62 degrees above the horizon -2027-12-02T22:27:30.662Z sunset -2027-12-03T02:33:25.018Z moonset -2027-12-03T12:01:27.615Z sunrise -2027-12-03T16:15:29.233Z moonrise +2027-12-02T22:27:30.591Z sunset +2027-12-03T02:33:24.891Z moonset +2027-12-03T12:01:27.724Z sunrise +2027-12-03T16:15:29.310Z moonrise 2027-12-03T17:14:34.697Z Sun culminates 39.29 degrees above the horizon 2027-12-03T21:49:08.247Z Moon culminates 46.00 degrees above the horizon -2027-12-03T22:27:32.464Z sunset -2027-12-04T03:27:47.010Z moonset +2027-12-03T22:27:32.391Z sunset +2027-12-04T03:27:46.954Z moonset 2027-12-04T08:41:06.320Z lunar apogee at 404649 km -2027-12-04T12:02:12.729Z sunrise +2027-12-04T12:02:12.840Z sunrise 2027-12-04T13:55:42.110Z Mercury moves from Scorpius to Ophiuchus -2027-12-04T16:46:08.659Z moonrise +2027-12-04T16:46:08.698Z moonrise 2027-12-04T17:14:58.734Z Sun culminates 39.15 degrees above the horizon -2027-12-04T22:27:35.893Z sunset +2027-12-04T22:27:35.817Z sunset 2027-12-04T22:30:43.242Z Moon culminates 50.94 degrees above the horizon -2027-12-05T04:20:47.206Z moonset -2027-12-05T12:02:57.336Z sunrise -2027-12-05T17:14:46.630Z moonrise +2027-12-05T04:20:47.194Z moonset +2027-12-05T12:02:57.448Z sunrise +2027-12-05T17:14:46.650Z moonrise 2027-12-05T17:15:23.322Z Sun culminates 39.02 degrees above the horizon -2027-12-05T22:27:40.939Z sunset +2027-12-05T22:27:40.862Z sunset 2027-12-05T23:11:00.007Z Moon culminates 56.27 degrees above the horizon -2027-12-06T05:13:07.946Z moonset +2027-12-06T05:13:07.950Z moonset 2027-12-06T05:22:45.529Z first quarter -2027-12-06T12:03:41.392Z sunrise +2027-12-06T12:03:41.506Z sunrise 2027-12-06T17:15:48.438Z Sun culminates 38.90 degrees above the horizon -2027-12-06T17:42:37.132Z moonrise -2027-12-06T22:27:47.595Z sunset +2027-12-06T17:42:37.145Z moonrise +2027-12-06T22:27:47.516Z sunset 2027-12-06T23:51:03.527Z Moon culminates 61.84 degrees above the horizon -2027-12-07T06:05:48.026Z moonset -2027-12-07T12:04:24.856Z sunrise +2027-12-07T06:05:48.031Z moonset +2027-12-07T12:04:24.971Z sunrise 2027-12-07T17:16:14.054Z Sun culminates 38.79 degrees above the horizon -2027-12-07T18:10:54.046Z moonrise -2027-12-07T22:27:55.850Z sunset +2027-12-07T18:10:54.055Z moonrise +2027-12-07T22:27:55.769Z sunset 2027-12-08T00:32:03.919Z Moon culminates 67.48 degrees above the horizon -2027-12-08T06:59:53.803Z moonset -2027-12-08T12:05:07.686Z sunrise +2027-12-08T06:59:53.817Z moonset +2027-12-08T12:05:07.803Z sunrise 2027-12-08T17:16:40.145Z Sun culminates 38.68 degrees above the horizon -2027-12-08T18:40:56.223Z moonrise -2027-12-08T22:28:05.693Z sunset +2027-12-08T18:40:56.218Z moonrise +2027-12-08T22:28:05.611Z sunset 2027-12-09T01:15:15.110Z Moon culminates 73.00 degrees above the horizon -2027-12-09T07:56:30.021Z moonset -2027-12-09T12:05:49.843Z sunrise +2027-12-09T07:56:30.070Z moonset +2027-12-09T12:05:49.961Z sunrise 2027-12-09T17:17:06.686Z Sun culminates 38.58 degrees above the horizon -2027-12-09T19:14:12.845Z moonrise -2027-12-09T22:28:17.114Z sunset +2027-12-09T19:14:12.810Z moonrise +2027-12-09T22:28:17.031Z sunset 2027-12-10T02:01:51.357Z Moon culminates 78.16 degrees above the horizon -2027-12-10T08:56:24.876Z moonset -2027-12-10T12:06:31.287Z sunrise +2027-12-10T08:56:24.987Z moonset +2027-12-10T12:06:31.405Z sunrise 2027-12-10T17:17:33.650Z Sun culminates 38.49 degrees above the horizon -2027-12-10T19:52:25.928Z moonrise -2027-12-10T22:28:30.100Z sunset +2027-12-10T19:52:25.848Z moonrise +2027-12-10T22:28:30.015Z sunset 2027-12-11T02:52:56.705Z Moon culminates 82.62 degrees above the horizon 2027-12-11T05:08:04.465Z Mercury aphelion at 0.4667 AU -2027-12-11T09:59:44.075Z moonset -2027-12-11T12:07:11.979Z sunrise +2027-12-11T09:59:44.250Z moonset +2027-12-11T12:07:12.098Z sunrise 2027-12-11T17:18:01.012Z Sun culminates 38.40 degrees above the horizon -2027-12-11T20:37:22.870Z moonrise +2027-12-11T20:37:22.743Z moonrise 2027-12-11T21:57:51.747Z Mercury superior conjunction -2027-12-11T22:28:44.636Z sunset +2027-12-11T22:28:44.550Z sunset 2027-12-12T03:49:02.449Z Moon culminates 85.96 degrees above the horizon -2027-12-12T11:05:17.222Z moonset -2027-12-12T12:07:51.882Z sunrise +2027-12-12T11:05:17.427Z moonset +2027-12-12T12:07:52.002Z sunrise 2027-12-12T17:18:28.746Z Sun culminates 38.33 degrees above the horizon -2027-12-12T21:30:27.419Z moonrise -2027-12-12T22:29:00.709Z sunset +2027-12-12T21:30:27.251Z moonrise +2027-12-12T22:29:00.622Z sunset 2027-12-13T04:49:35.205Z Moon culminates 87.75 degrees above the horizon -2027-12-13T12:08:30.958Z sunrise -2027-12-13T12:10:23.226Z moonset +2027-12-13T12:08:31.079Z sunrise +2027-12-13T12:10:23.424Z moonset 2027-12-13T16:09:18.410Z full moon 2027-12-13T17:18:56.824Z Sun culminates 38.26 degrees above the horizon -2027-12-13T22:29:18.301Z sunset -2027-12-13T22:31:45.283Z moonrise +2027-12-13T22:29:18.213Z sunset +2027-12-13T22:31:45.086Z moonrise 2027-12-14T05:52:38.744Z Moon culminates 87.64 degrees above the horizon -2027-12-14T12:09:09.171Z sunrise -2027-12-14T13:11:36.171Z moonset +2027-12-14T12:09:09.293Z sunrise +2027-12-14T13:11:36.340Z moonset 2027-12-14T17:19:25.220Z Sun culminates 38.20 degrees above the horizon -2027-12-14T22:29:37.396Z sunset -2027-12-14T23:39:19.397Z moonrise +2027-12-14T22:29:37.307Z sunset +2027-12-14T23:39:19.195Z moonrise 2027-12-15T06:55:24.180Z Moon culminates 85.52 degrees above the horizon -2027-12-15T12:09:46.483Z sunrise -2027-12-15T14:06:21.773Z moonset +2027-12-15T12:09:46.605Z sunrise +2027-12-15T14:06:21.900Z moonset 2027-12-15T17:19:53.906Z Sun culminates 38.14 degrees above the horizon -2027-12-15T22:29:57.974Z sunset -2027-12-16T00:49:40.390Z moonrise +2027-12-15T22:29:57.884Z sunset +2027-12-16T00:49:40.228Z moonrise 2027-12-16T02:25:09.514Z lunar perigee at 364018 km 2027-12-16T07:55:23.171Z Moon culminates 81.61 degrees above the horizon 2027-12-16T09:45:14.523Z Mercury moves from Ophiuchus to Sagittarius -2027-12-16T12:10:22.857Z sunrise -2027-12-16T14:53:59.758Z moonset +2027-12-16T12:10:22.980Z sunrise +2027-12-16T14:53:59.834Z moonset 2027-12-16T17:20:22.853Z Sun culminates 38.10 degrees above the horizon -2027-12-16T22:30:20.015Z sunset -2027-12-17T01:59:28.976Z moonrise +2027-12-16T22:30:19.924Z sunset +2027-12-17T01:59:28.889Z moonrise 2027-12-17T08:51:24.451Z Moon culminates 76.34 degrees above the horizon -2027-12-17T12:10:58.255Z sunrise -2027-12-17T15:35:26.419Z moonset +2027-12-17T12:10:58.379Z sunrise +2027-12-17T15:35:26.453Z moonset 2027-12-17T17:20:52.031Z Sun culminates 38.06 degrees above the horizon -2027-12-17T22:30:43.497Z sunset -2027-12-18T03:06:55.097Z moonrise +2027-12-17T22:30:43.406Z sunset +2027-12-18T03:06:55.073Z moonrise 2027-12-18T09:43:36.238Z Moon culminates 70.20 degrees above the horizon -2027-12-18T12:11:32.642Z sunrise -2027-12-18T16:12:22.701Z moonset +2027-12-18T12:11:32.766Z sunrise +2027-12-18T16:12:22.713Z moonset 2027-12-18T17:21:21.412Z Sun culminates 38.03 degrees above the horizon -2027-12-18T22:31:08.397Z sunset -2027-12-19T04:11:42.312Z moonrise +2027-12-18T22:31:08.306Z sunset +2027-12-19T04:11:42.311Z moonrise 2027-12-19T10:32:56.314Z Moon culminates 63.65 degrees above the horizon -2027-12-19T12:12:05.980Z sunrise +2027-12-19T12:12:06.104Z sunrise 2027-12-19T12:15:51.008Z Venus moves from Sagittarius to Capricornus -2027-12-19T16:46:37.135Z moonset +2027-12-19T16:46:37.143Z moonset 2027-12-19T17:21:50.962Z Sun culminates 38.01 degrees above the horizon -2027-12-19T22:31:34.689Z sunset -2027-12-20T05:14:31.195Z moonrise +2027-12-19T22:31:34.597Z sunset +2027-12-20T05:14:31.197Z moonrise 2027-12-20T09:11:25.747Z third quarter 2027-12-20T11:20:42.358Z Moon culminates 57.09 degrees above the horizon -2027-12-20T12:12:38.232Z sunrise -2027-12-20T17:19:51.854Z moonset +2027-12-20T12:12:38.357Z sunrise +2027-12-20T17:19:51.859Z moonset 2027-12-20T17:22:20.652Z Sun culminates 37.99 degrees above the horizon -2027-12-20T22:32:02.344Z sunset -2027-12-21T06:16:21.805Z moonrise +2027-12-20T22:32:02.252Z sunset +2027-12-21T06:16:21.822Z moonrise 2027-12-21T12:08:13.394Z Moon culminates 50.85 degrees above the horizon -2027-12-21T12:13:09.363Z sunrise +2027-12-21T12:13:09.488Z sunrise 2027-12-21T17:22:50.446Z Sun culminates 37.98 degrees above the horizon -2027-12-21T17:53:41.339Z moonset -2027-12-21T22:32:31.332Z sunset +2027-12-21T17:53:41.326Z moonset +2027-12-21T22:32:31.240Z sunset 2027-12-22T02:42:19.485Z December solstice -2027-12-22T07:18:06.115Z moonrise -2027-12-22T12:13:39.336Z sunrise +2027-12-22T07:18:06.188Z moonrise +2027-12-22T12:13:39.461Z sunrise 2027-12-22T12:56:38.569Z Moon culminates 45.24 degrees above the horizon 2027-12-22T17:23:20.312Z Sun culminates 37.98 degrees above the horizon -2027-12-22T18:29:34.143Z moonset -2027-12-22T22:33:01.619Z sunset -2027-12-23T08:20:06.668Z moonrise -2027-12-23T12:14:08.117Z sunrise +2027-12-22T18:29:34.088Z moonset +2027-12-22T22:33:01.527Z sunset +2027-12-23T08:20:06.827Z moonrise +2027-12-23T12:14:08.241Z sunrise 2027-12-23T13:46:47.112Z Moon culminates 40.53 degrees above the horizon 2027-12-23T17:23:50.212Z Sun culminates 37.99 degrees above the horizon -2027-12-23T19:08:51.126Z moonset -2027-12-23T22:33:33.170Z sunset -2027-12-24T09:21:59.411Z moonrise -2027-12-24T12:14:35.668Z sunrise +2027-12-23T19:08:51.011Z moonset +2027-12-23T22:33:33.078Z sunset +2027-12-24T09:21:59.645Z moonrise +2027-12-24T12:14:35.792Z sunrise 2027-12-24T14:38:56.548Z Moon culminates 36.97 degrees above the horizon 2027-12-24T17:24:20.111Z Sun culminates 38.01 degrees above the horizon -2027-12-24T19:52:35.583Z moonset -2027-12-24T22:34:05.946Z sunset -2027-12-25T10:22:27.890Z moonrise -2027-12-25T12:15:01.955Z sunrise +2027-12-24T19:52:35.410Z moonset +2027-12-24T22:34:05.854Z sunset +2027-12-25T10:22:28.158Z moonrise +2027-12-25T12:15:02.078Z sunrise 2027-12-25T15:32:42.461Z Moon culminates 34.78 degrees above the horizon 2027-12-25T17:24:49.971Z Sun culminates 38.03 degrees above the horizon -2027-12-25T20:41:14.277Z moonset -2027-12-25T22:34:39.907Z sunset -2027-12-26T11:19:41.441Z moonrise -2027-12-26T12:15:26.942Z sunrise +2027-12-25T20:41:14.058Z moonset +2027-12-25T22:34:39.816Z sunset +2027-12-26T11:19:41.704Z moonrise +2027-12-26T12:15:27.066Z sunrise 2027-12-26T16:26:59.219Z Moon culminates 34.07 degrees above the horizon 2027-12-26T17:25:19.754Z Sun culminates 38.07 degrees above the horizon -2027-12-26T21:34:18.043Z moonset -2027-12-26T22:35:15.013Z sunset -2027-12-27T12:11:57.168Z moonrise -2027-12-27T12:15:50.597Z sunrise +2027-12-26T21:34:17.795Z moonset +2027-12-26T22:35:14.922Z sunset +2027-12-27T12:11:57.407Z moonrise +2027-12-27T12:15:50.720Z sunrise 2027-12-27T17:20:19.233Z Moon culminates 34.84 degrees above the horizon 2027-12-27T17:25:49.422Z Sun culminates 38.11 degrees above the horizon 2027-12-27T20:12:56.480Z new moon -2027-12-27T22:30:21.056Z moonset -2027-12-27T22:35:51.220Z sunset -2027-12-28T12:16:12.885Z sunrise -2027-12-28T12:58:20.379Z moonrise +2027-12-27T22:30:20.803Z moonset +2027-12-27T22:35:51.130Z sunset +2027-12-28T12:16:13.007Z sunrise +2027-12-28T12:58:20.579Z moonrise 2027-12-28T17:26:18.937Z Sun culminates 38.15 degrees above the horizon 2027-12-28T18:11:24.134Z Moon culminates 36.96 degrees above the horizon -2027-12-28T22:36:28.485Z sunset -2027-12-28T23:27:29.930Z moonset -2027-12-29T12:16:33.775Z sunrise -2027-12-29T13:38:56.139Z moonrise +2027-12-28T22:36:28.395Z sunset +2027-12-28T23:27:29.708Z moonset +2027-12-29T12:16:33.896Z sunrise +2027-12-29T13:38:56.288Z moonrise 2027-12-29T17:26:48.260Z Sun culminates 38.21 degrees above the horizon 2027-12-29T18:59:29.281Z Moon culminates 40.21 degrees above the horizon -2027-12-29T22:37:06.763Z sunset -2027-12-30T00:24:06.239Z moonset -2027-12-30T12:16:53.236Z sunrise -2027-12-30T14:14:33.120Z moonrise +2027-12-29T22:37:06.673Z sunset +2027-12-30T00:24:06.084Z moonset +2027-12-30T12:16:53.357Z sunrise +2027-12-30T14:14:33.214Z moonrise 2027-12-30T17:27:17.354Z Sun culminates 38.27 degrees above the horizon 2027-12-30T19:44:29.866Z Moon culminates 44.33 degrees above the horizon -2027-12-30T22:37:46.008Z sunset -2027-12-31T01:19:14.232Z moonset -2027-12-31T12:17:11.241Z sunrise -2027-12-31T14:46:20.343Z moonrise +2027-12-30T22:37:45.920Z sunset +2027-12-31T01:19:14.153Z moonset +2027-12-31T12:17:11.361Z sunrise +2027-12-31T14:46:20.393Z moonrise 2027-12-31T17:27:46.183Z Sun culminates 38.34 degrees above the horizon 2027-12-31T20:26:52.805Z Moon culminates 49.10 degrees above the horizon -2027-12-31T22:38:26.176Z sunset -2028-01-01T02:12:44.223Z moonset +2027-12-31T22:38:26.088Z sunset +2028-01-01T02:12:44.200Z moonset 2028-01-01T03:52:49.063Z lunar apogee at 405621 km -2028-01-01T12:17:27.763Z sunrise -2028-01-01T15:15:31.360Z moonrise +2028-01-01T12:17:27.882Z sunrise +2028-01-01T15:15:31.385Z moonrise 2028-01-01T17:28:14.710Z Sun culminates 38.42 degrees above the horizon 2028-01-01T21:07:24.964Z Moon culminates 54.30 degrees above the horizon -2028-01-01T22:39:07.221Z sunset -2028-01-02T03:05:01.817Z moonset -2028-01-02T12:17:42.778Z sunrise -2028-01-02T15:43:18.053Z moonrise +2028-01-01T22:39:07.135Z sunset +2028-01-02T03:05:01.818Z moonset +2028-01-02T12:17:42.896Z sunrise +2028-01-02T15:43:18.069Z moonrise 2028-01-02T17:28:42.902Z Sun culminates 38.51 degrees above the horizon 2028-01-02T21:47:04.357Z Moon culminates 59.76 degrees above the horizon -2028-01-02T22:39:49.099Z sunset -2028-01-03T03:56:55.008Z moonset +2028-01-02T22:39:49.013Z sunset +2028-01-03T03:56:55.013Z moonset 2028-01-03T10:35:07.010Z Mars moves from Sagittarius to Capricornus -2028-01-03T12:17:56.265Z sunrise -2028-01-03T16:10:50.980Z moonrise +2028-01-03T12:17:56.382Z sunrise +2028-01-03T16:10:50.992Z moonrise 2028-01-03T17:29:10.726Z Sun culminates 38.60 degrees above the horizon 2028-01-03T22:26:55.649Z Moon culminates 65.31 degrees above the horizon -2028-01-03T22:40:31.764Z sunset -2028-01-04T04:49:24.172Z moonset -2028-01-04T12:18:08.205Z sunrise -2028-01-04T16:39:23.202Z moonrise +2028-01-03T22:40:31.680Z sunset +2028-01-04T04:49:24.180Z moonset +2028-01-04T12:18:08.320Z sunrise +2028-01-04T16:39:23.205Z moonrise 2028-01-04T17:29:38.151Z Sun culminates 38.71 degrees above the horizon -2028-01-04T22:41:15.173Z sunset +2028-01-04T22:41:15.091Z sunset 2028-01-04T23:08:08.542Z Moon culminates 70.79 degrees above the horizon 2028-01-05T01:41:03.197Z first quarter -2028-01-05T05:43:34.123Z moonset -2028-01-05T12:18:18.582Z sunrise +2028-01-05T05:43:34.153Z moonset +2028-01-05T12:18:18.696Z sunrise 2028-01-05T12:44:56.405Z Earth perihelion at 0.9833 AU -2028-01-05T17:10:15.664Z moonrise +2028-01-05T17:10:15.644Z moonrise 2028-01-05T17:30:05.147Z Sun culminates 38.81 degrees above the horizon -2028-01-05T22:41:59.284Z sunset +2028-01-05T22:41:59.203Z sunset 2028-01-05T23:51:56.456Z Moon culminates 76.00 degrees above the horizon 2028-01-06T00:30:34.003Z Mercury moves from Sagittarius to Capricornus -2028-01-06T06:40:24.357Z moonset -2028-01-06T12:18:27.383Z sunrise +2028-01-06T06:40:24.439Z moonset +2028-01-06T12:18:27.495Z sunrise 2028-01-06T17:30:31.687Z Sun culminates 38.93 degrees above the horizon -2028-01-06T17:45:02.198Z moonrise -2028-01-06T22:42:44.053Z sunset +2028-01-06T17:45:02.139Z moonrise +2028-01-06T22:42:43.974Z sunset 2028-01-07T00:39:31.850Z Moon culminates 80.70 degrees above the horizon -2028-01-07T07:40:32.032Z moonset -2028-01-07T12:18:34.596Z sunrise +2028-01-07T07:40:32.180Z moonset +2028-01-07T12:18:34.707Z sunrise 2028-01-07T17:30:57.745Z Sun culminates 39.05 degrees above the horizon -2028-01-07T18:25:30.122Z moonrise -2028-01-07T22:43:29.440Z sunset +2028-01-07T18:25:30.015Z moonrise +2028-01-07T22:43:29.362Z sunset 2028-01-08T01:31:53.092Z Moon culminates 84.54 degrees above the horizon -2028-01-08T08:43:44.077Z moonset -2028-01-08T12:18:40.213Z sunrise +2028-01-08T08:43:44.273Z moonset +2028-01-08T12:18:40.322Z sunrise 2028-01-08T17:31:23.296Z Sun culminates 39.19 degrees above the horizon -2028-01-08T19:13:27.525Z moonrise -2028-01-08T22:44:15.404Z sunset +2028-01-08T19:13:27.375Z moonrise +2028-01-08T22:44:15.328Z sunset 2028-01-09T02:29:18.800Z Moon culminates 87.11 degrees above the horizon -2028-01-09T09:48:27.018Z moonset -2028-01-09T12:18:44.229Z sunrise +2028-01-09T09:48:27.224Z moonset +2028-01-09T12:18:44.336Z sunrise 2028-01-09T17:31:48.319Z Sun culminates 39.32 degrees above the horizon -2028-01-09T20:10:05.049Z moonrise -2028-01-09T22:45:01.905Z sunset +2028-01-09T20:10:04.864Z moonrise +2028-01-09T22:45:01.832Z sunset 2028-01-10T03:30:56.366Z Moon culminates 87.99 degrees above the horizon -2028-01-10T10:51:47.150Z moonset -2028-01-10T12:18:46.638Z sunrise +2028-01-10T10:51:47.335Z moonset +2028-01-10T12:18:46.743Z sunrise 2028-01-10T17:32:12.790Z Sun culminates 39.47 degrees above the horizon -2028-01-10T21:14:56.083Z moonrise -2028-01-10T22:45:48.906Z sunset +2028-01-10T21:14:55.879Z moonrise +2028-01-10T22:45:48.834Z sunset 2028-01-11T01:32:50.087Z Venus moves from Capricornus to Aquarius 2028-01-11T04:34:33.125Z Moon culminates 86.88 degrees above the horizon -2028-01-11T11:50:33.452Z moonset -2028-01-11T12:18:47.439Z sunrise +2028-01-11T11:50:33.601Z moonset +2028-01-11T12:18:47.543Z sunrise 2028-01-11T17:32:36.691Z Sun culminates 39.62 degrees above the horizon -2028-01-11T22:25:25.923Z moonrise -2028-01-11T22:46:36.367Z sunset +2028-01-11T22:25:25.734Z moonrise +2028-01-11T22:46:36.297Z sunset 2028-01-12T04:03:35.425Z full moon 2028-01-12T04:13:00.859Z partial lunar eclipse 2028-01-12T05:37:20.023Z Moon culminates 83.76 degrees above the horizon -2028-01-12T12:18:46.631Z sunrise -2028-01-12T12:42:48.957Z moonset +2028-01-12T12:18:46.733Z sunrise +2028-01-12T12:42:49.056Z moonset 2028-01-12T17:33:00.002Z Sun culminates 39.78 degrees above the horizon -2028-01-12T22:47:24.251Z sunset -2028-01-12T23:37:50.032Z moonrise +2028-01-12T22:47:24.184Z sunset +2028-01-12T23:37:49.906Z moonrise 2028-01-13T06:37:06.239Z Moon culminates 78.94 degrees above the horizon 2028-01-13T07:45:52.777Z lunar perigee at 359036 km -2028-01-13T12:18:44.214Z sunrise -2028-01-13T13:28:27.933Z moonset +2028-01-13T12:18:44.314Z sunrise +2028-01-13T13:28:27.982Z moonset 2028-01-13T17:33:22.706Z Sun culminates 39.95 degrees above the horizon -2028-01-13T22:48:12.524Z sunset -2028-01-14T00:49:03.733Z moonrise +2028-01-13T22:48:12.459Z sunset +2028-01-14T00:49:03.685Z moonrise 2028-01-14T07:33:02.668Z Moon culminates 72.90 degrees above the horizon -2028-01-14T12:18:40.190Z sunrise -2028-01-14T14:08:43.712Z moonset +2028-01-14T12:18:40.287Z sunrise +2028-01-14T14:08:43.729Z moonset 2028-01-14T17:33:44.785Z Sun culminates 40.12 degrees above the horizon -2028-01-14T22:49:01.148Z sunset -2028-01-15T01:57:41.976Z moonrise +2028-01-14T22:49:01.086Z sunset +2028-01-15T01:57:41.970Z moonrise 2028-01-15T08:25:32.742Z Moon culminates 66.21 degrees above the horizon -2028-01-15T12:18:34.560Z sunrise -2028-01-15T14:45:20.459Z moonset +2028-01-15T12:18:34.655Z sunrise +2028-01-15T14:45:20.467Z moonset 2028-01-15T17:34:06.224Z Sun culminates 40.30 degrees above the horizon -2028-01-15T22:49:50.090Z sunset -2028-01-16T03:03:45.459Z moonrise +2028-01-15T22:49:50.031Z sunset +2028-01-16T03:03:45.460Z moonrise 2028-01-16T09:15:40.137Z Moon culminates 59.36 degrees above the horizon -2028-01-16T12:18:27.328Z sunrise -2028-01-16T15:20:04.473Z moonset +2028-01-16T12:18:27.421Z sunrise +2028-01-16T15:20:04.479Z moonset 2028-01-16T17:34:27.007Z Sun culminates 40.49 degrees above the horizon -2028-01-16T22:50:39.315Z sunset -2028-01-17T04:07:58.536Z moonrise +2028-01-16T22:50:39.259Z sunset +2028-01-17T04:07:58.545Z moonrise 2028-01-17T10:04:41.124Z Moon culminates 52.78 degrees above the horizon -2028-01-17T12:18:18.501Z sunrise -2028-01-17T15:54:34.916Z moonset +2028-01-17T12:18:18.591Z sunrise +2028-01-17T15:54:34.911Z moonset 2028-01-17T17:18:25.812Z Mercury max evening elongation: 18.81 degrees from Sun 2028-01-17T17:34:47.119Z Sun culminates 40.69 degrees above the horizon -2028-01-17T22:51:28.788Z sunset -2028-01-18T05:11:12.237Z moonrise +2028-01-17T22:51:28.735Z sunset +2028-01-18T05:11:12.290Z moonrise 2028-01-18T10:53:47.397Z Moon culminates 46.82 degrees above the horizon -2028-01-18T12:18:08.083Z sunrise -2028-01-18T16:30:23.197Z moonset +2028-01-18T12:18:08.171Z sunrise +2028-01-18T16:30:23.157Z moonset 2028-01-18T17:35:06.546Z Sun culminates 40.89 degrees above the horizon 2028-01-18T19:26:31.151Z third quarter -2028-01-18T22:52:18.474Z sunset -2028-01-19T06:13:57.977Z moonrise +2028-01-18T22:52:18.423Z sunset +2028-01-19T06:13:58.111Z moonrise 2028-01-19T11:43:54.572Z Moon culminates 41.76 degrees above the horizon -2028-01-19T12:17:56.082Z sunrise -2028-01-19T17:08:52.398Z moonset +2028-01-19T12:17:56.167Z sunrise +2028-01-19T17:08:52.301Z moonset 2028-01-19T17:35:25.273Z Sun culminates 41.09 degrees above the horizon -2028-01-19T22:53:08.336Z sunset -2028-01-20T07:16:09.153Z moonrise -2028-01-20T12:17:42.504Z sunrise +2028-01-19T22:53:08.289Z sunset +2028-01-20T07:16:09.370Z moonrise +2028-01-20T12:17:42.587Z sunrise 2028-01-20T12:35:31.764Z Moon culminates 37.84 degrees above the horizon 2028-01-20T17:35:43.287Z Sun culminates 41.31 degrees above the horizon -2028-01-20T17:51:11.198Z moonset -2028-01-20T22:53:58.341Z sunset -2028-01-21T08:16:52.881Z moonrise -2028-01-21T12:17:27.358Z sunrise +2028-01-20T17:51:11.040Z moonset +2028-01-20T22:53:58.297Z sunset +2028-01-21T08:16:53.144Z moonrise +2028-01-21T12:17:27.439Z sunrise 2028-01-21T13:28:32.376Z Moon culminates 35.24 degrees above the horizon 2028-01-21T17:36:00.574Z Sun culminates 41.53 degrees above the horizon -2028-01-21T18:37:59.856Z moonset -2028-01-21T22:54:48.451Z sunset +2028-01-21T18:37:59.649Z moonset +2028-01-21T22:54:48.410Z sunset 2028-01-22T06:28:21.259Z Mercury moves from Capricornus to Aquarius -2028-01-22T09:14:40.218Z moonrise -2028-01-22T12:17:10.652Z sunrise +2028-01-22T09:14:40.487Z moonrise +2028-01-22T12:17:10.730Z sunrise 2028-01-22T14:22:11.855Z Moon culminates 34.09 degrees above the horizon 2028-01-22T17:36:17.119Z Sun culminates 41.75 degrees above the horizon -2028-01-22T19:29:12.521Z moonset -2028-01-22T22:55:38.630Z sunset -2028-01-23T10:07:57.733Z moonrise -2028-01-23T12:16:52.394Z sunrise +2028-01-22T19:29:12.279Z moonset +2028-01-22T22:55:38.593Z sunset +2028-01-23T10:07:57.983Z moonrise +2028-01-23T12:16:52.469Z sunrise 2028-01-23T15:15:19.307Z Moon culminates 34.40 degrees above the horizon 2028-01-23T17:36:32.910Z Sun culminates 41.99 degrees above the horizon -2028-01-23T20:23:49.706Z moonset -2028-01-23T22:56:28.844Z sunset +2028-01-23T20:23:49.452Z moonset +2028-01-23T22:56:28.810Z sunset 2028-01-24T04:46:28.831Z Mercury perihelion at 0.3075 AU -2028-01-24T10:55:44.742Z moonrise -2028-01-24T12:16:32.593Z sunrise +2028-01-24T10:55:44.958Z moonrise +2028-01-24T12:16:32.666Z sunrise 2028-01-24T16:06:41.685Z Moon culminates 36.08 degrees above the horizon 2028-01-24T17:36:47.932Z Sun culminates 42.22 degrees above the horizon -2028-01-24T21:20:14.656Z moonset -2028-01-24T22:57:19.057Z sunset -2028-01-25T11:37:51.884Z moonrise -2028-01-25T12:16:11.259Z sunrise +2028-01-24T21:20:14.420Z moonset +2028-01-24T22:57:19.027Z sunset +2028-01-25T11:37:52.053Z moonrise +2028-01-25T12:16:11.329Z sunrise 2028-01-25T16:55:27.974Z Moon culminates 38.95 degrees above the horizon 2028-01-25T17:37:02.174Z Sun culminates 42.47 degrees above the horizon -2028-01-25T22:16:48.523Z moonset -2028-01-25T22:58:09.235Z sunset -2028-01-26T12:14:53.934Z moonrise -2028-01-26T12:15:48.402Z sunrise +2028-01-25T22:16:48.342Z moonset +2028-01-25T22:58:09.208Z sunset +2028-01-26T12:14:54.047Z moonrise +2028-01-26T12:15:48.470Z sunrise 2028-01-26T14:18:41.332Z partial solar eclipse peak at 22.67 degrees altitude 2028-01-26T15:13:09.787Z new moon 2028-01-26T17:37:15.625Z Sun culminates 42.72 degrees above the horizon 2028-01-26T17:41:20.683Z Moon culminates 42.79 degrees above the horizon -2028-01-26T22:58:59.343Z sunset -2028-01-26T23:12:21.752Z moonset +2028-01-26T22:58:59.320Z sunset +2028-01-26T23:12:21.648Z moonset 2028-01-27T05:02:55.015Z Pluto conjunction -2028-01-27T12:15:24.034Z sunrise -2028-01-27T12:47:50.480Z moonrise +2028-01-27T12:15:24.099Z sunrise +2028-01-27T12:47:50.543Z moonrise 2028-01-27T17:37:28.273Z Sun culminates 42.97 degrees above the horizon 2028-01-27T18:24:33.343Z Moon culminates 47.36 degrees above the horizon -2028-01-27T22:59:49.350Z sunset -2028-01-28T00:06:25.952Z moonset -2028-01-28T12:14:58.167Z sunrise -2028-01-28T13:17:49.454Z moonrise +2028-01-27T22:59:49.331Z sunset +2028-01-28T00:06:25.912Z moonset +2028-01-28T12:14:58.228Z sunrise +2028-01-28T13:17:49.486Z moonrise 2028-01-28T15:30:34.003Z lunar apogee at 406377 km 2028-01-28T17:37:40.109Z Sun culminates 43.23 degrees above the horizon 2028-01-28T19:05:41.352Z Moon culminates 52.44 degrees above the horizon -2028-01-28T23:00:39.225Z sunset -2028-01-29T00:59:09.034Z moonset -2028-01-29T12:14:30.814Z sunrise -2028-01-29T13:45:58.760Z moonrise +2028-01-28T23:00:39.209Z sunset +2028-01-29T00:59:09.029Z moonset +2028-01-29T12:14:30.873Z sunrise +2028-01-29T13:45:58.778Z moonrise 2028-01-29T17:37:51.125Z Sun culminates 43.50 degrees above the horizon 2028-01-29T19:45:33.209Z Moon culminates 57.83 degrees above the horizon -2028-01-29T23:01:28.938Z sunset -2028-01-30T01:51:04.193Z moonset -2028-01-30T12:14:01.990Z sunrise -2028-01-30T14:13:24.558Z moonrise +2028-01-29T23:01:28.926Z sunset +2028-01-30T01:51:04.197Z moonset +2028-01-30T12:14:02.046Z sunrise +2028-01-30T14:13:24.570Z moonrise 2028-01-30T17:38:01.315Z Sun culminates 43.77 degrees above the horizon 2028-01-30T20:25:04.970Z Moon culminates 63.35 degrees above the horizon -2028-01-30T23:02:18.461Z sunset -2028-01-31T02:42:59.669Z moonset -2028-01-31T12:13:31.711Z sunrise -2028-01-31T14:41:13.476Z moonrise +2028-01-30T23:02:18.453Z sunset +2028-01-31T02:42:59.674Z moonset +2028-01-31T12:13:31.765Z sunrise +2028-01-31T14:41:13.483Z moonrise 2028-01-31T17:38:10.674Z Sun culminates 44.05 degrees above the horizon 2028-01-31T21:05:17.668Z Moon culminates 68.83 degrees above the horizon -2028-01-31T23:03:07.769Z sunset -2028-02-01T03:35:50.727Z moonset -2028-02-01T12:12:59.995Z sunrise -2028-02-01T15:10:36.794Z moonrise +2028-01-31T23:03:07.765Z sunset +2028-02-01T03:35:50.747Z moonset +2028-02-01T12:13:00.046Z sunrise +2028-02-01T15:10:36.785Z moonrise 2028-02-01T17:38:19.199Z Sun culminates 44.33 degrees above the horizon 2028-02-01T21:47:16.051Z Moon culminates 74.09 degrees above the horizon 2028-02-01T23:03:56.838Z sunset -2028-02-02T04:30:31.902Z moonset +2028-02-02T04:30:31.961Z moonset 2028-02-02T04:34:04.862Z Venus moves from Aquarius to Pisces 2028-02-02T08:40:47.278Z Mercury inferior conjunction -2028-02-02T12:12:26.862Z sunrise -2028-02-02T15:42:55.135Z moonrise +2028-02-02T12:12:26.910Z sunrise +2028-02-02T15:42:55.093Z moonrise 2028-02-02T17:38:26.888Z Sun culminates 44.62 degrees above the horizon 2028-02-02T22:32:06.227Z Moon culminates 78.90 degrees above the horizon -2028-02-02T23:04:45.647Z sunset -2028-02-03T05:27:45.806Z moonset -2028-02-03T12:11:52.332Z sunrise -2028-02-03T16:19:41.455Z moonrise +2028-02-02T23:04:45.650Z sunset +2028-02-03T05:27:45.929Z moonset +2028-02-03T12:11:52.377Z sunrise +2028-02-03T16:19:41.368Z moonrise 2028-02-03T17:38:33.743Z Sun culminates 44.91 degrees above the horizon 2028-02-03T19:11:04.509Z first quarter -2028-02-03T23:05:34.175Z sunset +2028-02-03T23:05:34.182Z sunset 2028-02-03T23:20:48.818Z Moon culminates 83.02 degrees above the horizon -2028-02-04T06:27:44.859Z moonset -2028-02-04T12:11:16.427Z sunrise -2028-02-04T17:02:37.417Z moonrise +2028-02-04T06:27:45.039Z moonset +2028-02-04T12:11:16.470Z sunrise +2028-02-04T17:02:37.285Z moonrise 2028-02-04T17:38:39.765Z Sun culminates 45.21 degrees above the horizon -2028-02-04T23:06:22.407Z sunset +2028-02-04T23:06:22.417Z sunset 2028-02-05T00:14:03.823Z Moon culminates 86.10 degrees above the horizon -2028-02-05T07:29:47.010Z moonset -2028-02-05T12:10:39.171Z sunrise +2028-02-05T07:29:47.216Z moonset +2028-02-05T12:10:39.211Z sunrise 2028-02-05T14:54:20.098Z Mercury moves from Aquarius to Capricornus 2028-02-05T17:38:44.960Z Sun culminates 45.51 degrees above the horizon -2028-02-05T17:53:14.301Z moonrise -2028-02-05T23:07:10.326Z sunset +2028-02-05T17:53:14.132Z moonrise +2028-02-05T23:07:10.341Z sunset 2028-02-06T01:11:46.839Z Moon culminates 87.78 degrees above the horizon -2028-02-06T08:32:00.373Z moonset -2028-02-06T12:10:00.589Z sunrise +2028-02-06T08:32:00.573Z moonset +2028-02-06T12:10:00.627Z sunrise 2028-02-06T17:38:49.333Z Sun culminates 45.81 degrees above the horizon -2028-02-06T18:52:11.600Z moonrise -2028-02-06T23:07:57.920Z sunset +2028-02-06T18:52:11.404Z moonrise +2028-02-06T23:07:57.938Z sunset 2028-02-07T02:12:48.304Z Moon culminates 87.71 degrees above the horizon -2028-02-07T09:31:44.917Z moonset -2028-02-07T12:09:20.707Z sunrise +2028-02-07T09:31:45.088Z moonset +2028-02-07T12:09:20.743Z sunrise 2028-02-07T12:45:36.623Z Mars moves from Capricornus to Aquarius 2028-02-07T17:38:52.891Z Sun culminates 46.12 degrees above the horizon -2028-02-07T19:58:29.530Z moonrise -2028-02-07T23:08:45.178Z sunset +2028-02-07T19:58:29.327Z moonrise +2028-02-07T23:08:45.200Z sunset 2028-02-08T03:15:00.805Z Moon culminates 85.70 degrees above the horizon -2028-02-08T10:26:37.999Z moonset -2028-02-08T12:08:39.553Z sunrise +2028-02-08T10:26:38.128Z moonset +2028-02-08T12:08:39.586Z sunrise 2028-02-08T17:38:55.643Z Sun culminates 46.44 degrees above the horizon -2028-02-08T21:09:25.885Z moonrise -2028-02-08T23:09:32.091Z sunset +2028-02-08T21:09:25.719Z moonrise +2028-02-08T23:09:32.116Z sunset 2028-02-09T04:16:06.310Z Moon culminates 81.80 degrees above the horizon -2028-02-09T11:15:36.487Z moonset -2028-02-09T12:07:57.153Z sunrise +2028-02-09T11:15:36.563Z moonset +2028-02-09T12:07:57.184Z sunrise 2028-02-09T17:38:57.600Z Sun culminates 46.76 degrees above the horizon -2028-02-09T22:21:45.376Z moonrise -2028-02-09T23:10:18.650Z sunset +2028-02-09T22:21:45.287Z moonrise +2028-02-09T23:10:18.679Z sunset 2028-02-10T05:14:32.743Z Moon culminates 76.33 degrees above the horizon -2028-02-10T11:59:05.305Z moonset -2028-02-10T12:07:13.536Z sunrise +2028-02-10T11:59:05.336Z moonset +2028-02-10T12:07:13.565Z sunrise 2028-02-10T15:04:13.352Z full moon 2028-02-10T17:38:58.771Z Sun culminates 47.08 degrees above the horizon 2028-02-10T19:54:22.967Z lunar perigee at 356670 km -2028-02-10T23:11:04.851Z sunset -2028-02-10T23:33:05.695Z moonrise +2028-02-10T23:11:04.883Z sunset +2028-02-10T23:33:05.672Z moonrise 2028-02-11T06:09:57.366Z Moon culminates 69.80 degrees above the horizon -2028-02-11T12:06:28.729Z sunrise +2028-02-11T12:06:28.756Z sunrise 2028-02-11T12:08:56.901Z Mars perihelion at 1.3812 AU -2028-02-11T12:38:24.068Z moonset +2028-02-11T12:38:24.078Z moonset 2028-02-11T17:38:59.170Z Sun culminates 47.41 degrees above the horizon -2028-02-11T23:11:50.689Z sunset +2028-02-11T23:11:50.725Z sunset 2028-02-12T00:42:29.999Z moonrise 2028-02-12T07:02:52.855Z Moon culminates 62.77 degrees above the horizon -2028-02-12T12:05:42.762Z sunrise -2028-02-12T13:15:11.974Z moonset +2028-02-12T12:05:42.787Z sunrise +2028-02-12T13:15:11.980Z moonset 2028-02-12T17:38:58.809Z Sun culminates 47.74 degrees above the horizon -2028-02-12T23:12:36.162Z sunset -2028-02-13T01:50:05.682Z moonrise +2028-02-12T23:12:36.202Z sunset +2028-02-13T01:50:05.684Z moonrise 2028-02-13T07:54:20.206Z Moon culminates 55.76 degrees above the horizon -2028-02-13T12:04:55.663Z sunrise -2028-02-13T13:51:08.842Z moonset +2028-02-13T12:04:55.686Z sunrise +2028-02-13T13:51:08.844Z moonset 2028-02-13T17:38:57.701Z Sun culminates 48.07 degrees above the horizon -2028-02-13T23:13:21.268Z sunset -2028-02-14T02:56:26.091Z moonrise +2028-02-13T23:13:21.311Z sunset +2028-02-14T02:56:26.119Z moonrise 2028-02-14T08:45:25.718Z Moon culminates 49.24 degrees above the horizon -2028-02-14T12:04:07.460Z sunrise -2028-02-14T14:27:48.649Z moonset +2028-02-14T12:04:07.481Z sunrise +2028-02-14T14:27:48.627Z moonset 2028-02-14T17:38:55.860Z Sun culminates 48.41 degrees above the horizon -2028-02-14T23:14:06.006Z sunset -2028-02-15T04:01:57.063Z moonrise +2028-02-14T23:14:06.052Z sunset +2028-02-15T04:01:57.163Z moonrise 2028-02-15T09:37:04.662Z Moon culminates 43.60 degrees above the horizon -2028-02-15T12:03:18.183Z sunrise -2028-02-15T15:06:36.930Z moonset +2028-02-15T12:03:18.202Z sunrise +2028-02-15T15:06:36.856Z moonset 2028-02-15T17:38:53.300Z Sun culminates 48.75 degrees above the horizon -2028-02-15T23:14:50.374Z sunset -2028-02-16T05:06:33.084Z moonrise +2028-02-15T23:14:50.422Z sunset +2028-02-16T05:06:33.276Z moonrise 2028-02-16T10:29:48.674Z Moon culminates 39.11 degrees above the horizon -2028-02-16T12:02:27.861Z sunrise -2028-02-16T15:48:45.261Z moonset +2028-02-16T12:02:27.878Z sunrise +2028-02-16T15:48:45.125Z moonset 2028-02-16T17:38:50.035Z Sun culminates 49.10 degrees above the horizon -2028-02-16T23:15:34.370Z sunset -2028-02-17T06:09:25.782Z moonrise +2028-02-16T23:15:34.422Z sunset +2028-02-17T06:09:26.035Z moonrise 2028-02-17T08:08:36.059Z third quarter 2028-02-17T11:23:36.183Z Moon culminates 35.99 degrees above the horizon -2028-02-17T12:01:36.523Z sunrise -2028-02-17T16:34:59.374Z moonset +2028-02-17T12:01:36.538Z sunrise +2028-02-17T16:34:59.182Z moonset 2028-02-17T17:38:46.078Z Sun culminates 49.45 degrees above the horizon -2028-02-17T23:16:17.994Z sunset -2028-02-18T07:09:11.415Z moonrise -2028-02-18T12:00:44.195Z sunrise +2028-02-17T23:16:18.048Z sunset +2028-02-18T07:09:11.685Z moonrise +2028-02-18T12:00:44.209Z sunrise 2028-02-18T12:17:49.928Z Moon culminates 34.34 degrees above the horizon -2028-02-18T17:25:23.471Z moonset +2028-02-18T17:25:23.239Z moonset 2028-02-18T17:38:41.442Z Sun culminates 49.80 degrees above the horizon -2028-02-18T23:17:01.243Z sunset -2028-02-19T08:04:19.673Z moonrise -2028-02-19T11:59:50.907Z sunrise +2028-02-18T23:17:01.300Z sunset +2028-02-19T08:04:19.930Z moonrise +2028-02-19T11:59:50.920Z sunrise 2028-02-19T13:11:27.079Z Moon culminates 34.20 degrees above the horizon 2028-02-19T17:38:36.141Z Sun culminates 50.15 degrees above the horizon -2028-02-19T18:19:11.906Z moonset -2028-02-19T23:17:44.116Z sunset -2028-02-20T08:53:49.632Z moonrise -2028-02-20T11:58:56.685Z sunrise +2028-02-19T18:19:11.654Z moonset +2028-02-19T23:17:44.176Z sunset +2028-02-20T08:53:49.860Z moonrise +2028-02-20T11:58:56.696Z sunrise 2028-02-20T14:03:20.831Z Moon culminates 35.45 degrees above the horizon 2028-02-20T17:38:30.187Z Sun culminates 50.51 degrees above the horizon -2028-02-20T19:15:00.894Z moonset -2028-02-20T23:18:26.610Z sunset -2028-02-21T09:37:29.519Z moonrise -2028-02-21T11:58:01.556Z sunrise +2028-02-20T19:15:00.649Z moonset +2028-02-20T23:18:26.673Z sunset +2028-02-21T09:37:29.704Z moonrise +2028-02-21T11:58:01.566Z sunrise 2028-02-21T14:52:42.730Z Moon culminates 37.95 degrees above the horizon 2028-02-21T17:38:23.592Z Sun culminates 50.87 degrees above the horizon -2028-02-21T20:11:18.526Z moonset -2028-02-21T23:19:08.726Z sunset -2028-02-22T10:15:51.643Z moonrise -2028-02-22T11:57:05.545Z sunrise +2028-02-21T20:11:18.325Z moonset +2028-02-21T23:19:08.791Z sunset +2028-02-22T10:15:51.775Z moonrise +2028-02-22T11:57:05.554Z sunrise 2028-02-22T15:39:14.267Z Moon culminates 41.46 degrees above the horizon 2028-02-22T17:38:16.369Z Sun culminates 51.23 degrees above the horizon -2028-02-22T21:06:54.690Z moonset -2028-02-22T23:19:50.460Z sunset -2028-02-23T10:49:54.099Z moonrise -2028-02-23T11:56:08.679Z sunrise +2028-02-22T21:06:54.561Z moonset +2028-02-22T23:19:50.528Z sunset +2028-02-23T10:49:54.177Z moonrise +2028-02-23T11:56:08.687Z sunrise 2028-02-23T16:23:05.714Z Moon culminates 45.79 degrees above the horizon 2028-02-23T17:38:08.529Z Sun culminates 51.60 degrees above the horizon -2028-02-23T22:01:15.150Z moonset -2028-02-23T23:20:31.812Z sunset -2028-02-24T11:20:44.010Z moonrise -2028-02-24T11:55:10.983Z sunrise +2028-02-23T22:01:15.092Z moonset +2028-02-23T23:20:31.882Z sunset +2028-02-24T11:20:44.050Z moonrise +2028-02-24T11:55:10.989Z sunrise 2028-02-24T16:30:30.814Z lunar apogee at 406549 km 2028-02-24T17:04:48.203Z Moon culminates 50.70 degrees above the horizon 2028-02-24T17:38:00.086Z Sun culminates 51.97 degrees above the horizon -2028-02-24T22:54:19.663Z moonset -2028-02-24T23:21:12.781Z sunset +2028-02-24T22:54:19.650Z moonset +2028-02-24T23:21:12.853Z sunset 2028-02-25T10:38:02.416Z new moon -2028-02-25T11:49:28.362Z moonrise -2028-02-25T11:54:12.481Z sunrise +2028-02-25T11:49:28.382Z moonrise +2028-02-25T11:54:12.487Z sunrise 2028-02-25T17:37:51.051Z Sun culminates 52.34 degrees above the horizon 2028-02-25T17:45:05.487Z Moon culminates 55.99 degrees above the horizon -2028-02-25T23:21:53.366Z sunset -2028-02-25T23:46:32.750Z moonset -2028-02-26T11:53:13.200Z sunrise -2028-02-26T12:17:11.461Z moonrise +2028-02-25T23:21:53.440Z sunset +2028-02-25T23:46:32.753Z moonset +2028-02-26T11:53:13.205Z sunrise +2028-02-26T12:17:11.475Z moonrise 2028-02-26T17:37:41.437Z Sun culminates 52.71 degrees above the horizon 2028-02-26T18:24:48.302Z Moon culminates 61.49 degrees above the horizon -2028-02-26T23:22:33.568Z sunset -2028-02-27T00:38:33.998Z moonset -2028-02-27T11:52:13.165Z sunrise -2028-02-27T12:44:56.346Z moonrise +2028-02-26T23:22:33.644Z sunset +2028-02-27T00:38:34.003Z moonset +2028-02-27T11:52:13.169Z sunrise +2028-02-27T12:44:56.356Z moonrise 2028-02-27T16:30:58.622Z Mercury max morning elongation: 26.89 degrees from Sun 2028-02-27T17:37:31.257Z Sun culminates 53.09 degrees above the horizon 2028-02-27T19:04:51.356Z Moon culminates 67.00 degrees above the horizon -2028-02-27T23:23:13.388Z sunset -2028-02-28T01:31:10.052Z moonset -2028-02-28T11:51:12.401Z sunrise -2028-02-28T13:13:48.083Z moonrise +2028-02-27T23:23:13.466Z sunset +2028-02-28T01:31:10.064Z moonset +2028-02-28T11:51:12.404Z sunrise +2028-02-28T13:13:48.081Z moonrise 2028-02-28T17:37:20.527Z Sun culminates 53.46 degrees above the horizon 2028-02-28T19:46:11.697Z Moon culminates 72.34 degrees above the horizon -2028-02-28T23:23:52.829Z sunset -2028-02-29T02:25:07.290Z moonset -2028-02-29T11:50:10.934Z sunrise -2028-02-29T13:44:57.594Z moonrise +2028-02-28T23:23:52.908Z sunset +2028-02-29T02:25:07.332Z moonset +2028-02-29T11:50:10.937Z sunrise +2028-02-29T13:44:57.565Z moonrise 2028-02-29T17:37:09.259Z Sun culminates 53.84 degrees above the horizon 2028-02-29T20:29:46.665Z Moon culminates 77.28 degrees above the horizon -2028-02-29T23:24:31.894Z sunset -2028-03-01T03:21:02.727Z moonset -2028-03-01T11:49:08.792Z sunrise -2028-03-01T14:19:44.425Z moonrise +2028-02-29T23:24:31.975Z sunset +2028-03-01T03:21:02.826Z moonset +2028-03-01T11:49:08.794Z sunrise +2028-03-01T14:19:44.355Z moonrise 2028-03-01T17:36:57.470Z Sun culminates 54.22 degrees above the horizon 2028-03-01T21:16:29.150Z Moon culminates 81.60 degrees above the horizon -2028-03-01T23:25:10.588Z sunset -2028-03-02T04:19:10.643Z moonset -2028-03-02T11:48:06.001Z sunrise -2028-03-02T14:59:35.414Z moonrise +2028-03-01T23:25:10.670Z sunset +2028-03-02T04:19:10.804Z moonset +2028-03-02T11:48:06.003Z sunrise +2028-03-02T14:59:35.298Z moonrise 2028-03-02T17:36:45.177Z Sun culminates 54.61 degrees above the horizon 2028-03-02T22:06:57.617Z Moon culminates 85.01 degrees above the horizon -2028-03-02T23:25:48.916Z sunset -2028-03-03T05:19:05.138Z moonset -2028-03-03T11:47:02.589Z sunrise -2028-03-03T15:45:53.765Z moonrise +2028-03-02T23:25:49.001Z sunset +2028-03-03T05:19:05.338Z moonset +2028-03-03T11:47:02.591Z sunrise +2028-03-03T15:45:53.609Z moonrise 2028-03-03T17:36:32.397Z Sun culminates 54.99 degrees above the horizon 2028-03-03T23:01:20.219Z Moon culminates 87.19 degrees above the horizon -2028-03-03T23:26:26.888Z sunset -2028-03-04T06:19:26.894Z moonset +2028-03-03T23:26:26.973Z sunset +2028-03-04T06:19:27.100Z moonset 2028-03-04T09:02:58.732Z first quarter -2028-03-04T11:45:58.585Z sunrise +2028-03-04T11:45:58.586Z sunrise 2028-03-04T12:29:07.256Z Venus moves from Pisces to Aries -2028-03-04T16:39:33.085Z moonrise +2028-03-04T16:39:32.899Z moonrise 2028-03-04T17:36:19.148Z Sun culminates 55.38 degrees above the horizon 2028-03-04T17:59:26.206Z Jupiter moves from Virgo to Leo -2028-03-04T23:27:04.510Z sunset +2028-03-04T23:27:04.597Z sunset 2028-03-04T23:58:58.729Z Moon culminates 87.84 degrees above the horizon -2028-03-05T07:18:11.983Z moonset -2028-03-05T11:44:54.018Z sunrise +2028-03-05T07:18:12.170Z moonset +2028-03-05T11:44:54.019Z sunrise 2028-03-05T17:36:05.451Z Sun culminates 55.76 degrees above the horizon -2028-03-05T17:40:21.628Z moonrise -2028-03-05T23:27:41.794Z sunset +2028-03-05T17:40:21.426Z moonrise +2028-03-05T23:27:41.883Z sunset 2028-03-06T00:58:26.944Z Moon culminates 86.74 degrees above the horizon -2028-03-06T08:13:13.482Z moonset -2028-03-06T11:43:48.918Z sunrise +2028-03-06T08:13:13.635Z moonset +2028-03-06T11:43:49.019Z sunrise 2028-03-06T17:35:51.325Z Sun culminates 56.15 degrees above the horizon -2028-03-06T18:46:44.183Z moonrise -2028-03-06T23:28:18.751Z sunset +2028-03-06T18:46:43.995Z moonrise +2028-03-06T23:28:18.840Z sunset 2028-03-07T01:57:55.910Z Moon culminates 83.85 degrees above the horizon -2028-03-07T09:03:13.939Z moonset -2028-03-07T11:42:43.316Z sunrise +2028-03-07T09:03:14.043Z moonset +2028-03-07T11:42:43.415Z sunrise 2028-03-07T17:35:36.793Z Sun culminates 56.54 degrees above the horizon -2028-03-07T19:56:11.944Z moonrise -2028-03-07T23:28:55.393Z sunset +2028-03-07T19:56:11.815Z moonrise +2028-03-07T23:28:55.484Z sunset 2028-03-08T02:55:55.717Z Moon culminates 79.30 degrees above the horizon 2028-03-08T04:23:54.869Z Mercury aphelion at 0.4667 AU -2028-03-08T09:48:08.944Z moonset -2028-03-08T11:41:37.241Z sunrise +2028-03-08T09:48:08.997Z moonset +2028-03-08T11:41:37.339Z sunrise 2028-03-08T17:35:21.877Z Sun culminates 56.93 degrees above the horizon -2028-03-08T21:06:26.510Z moonrise -2028-03-08T23:29:31.734Z sunset +2028-03-08T21:06:26.457Z moonrise +2028-03-08T23:29:31.826Z sunset 2028-03-09T03:51:45.293Z Moon culminates 73.43 degrees above the horizon -2028-03-09T10:28:52.703Z moonset -2028-03-09T11:40:30.725Z sunrise +2028-03-09T10:28:52.721Z moonset +2028-03-09T11:40:30.823Z sunrise 2028-03-09T17:35:06.599Z Sun culminates 57.32 degrees above the horizon -2028-03-09T22:16:06.821Z moonrise -2028-03-09T23:30:07.790Z sunset +2028-03-09T22:16:06.814Z moonrise +2028-03-09T23:30:07.883Z sunset 2028-03-10T04:45:34.757Z Moon culminates 66.69 degrees above the horizon 2028-03-10T08:20:09.480Z lunar perigee at 357586 km -2028-03-10T11:06:49.907Z moonset -2028-03-10T11:39:23.799Z sunrise +2028-03-10T11:06:49.913Z moonset +2028-03-10T11:39:23.896Z sunrise 2028-03-10T17:34:50.983Z Sun culminates 57.71 degrees above the horizon 2028-03-10T23:24:53.012Z moonrise -2028-03-10T23:30:43.576Z sunset +2028-03-10T23:30:43.670Z sunset 2028-03-11T01:06:29.282Z full moon 2028-03-11T05:38:09.065Z Moon culminates 59.59 degrees above the horizon 2028-03-11T08:49:01.756Z Mercury moves from Capricornus to Aquarius -2028-03-11T11:38:16.494Z sunrise -2028-03-11T11:43:34.978Z moonset +2028-03-11T11:38:16.590Z sunrise +2028-03-11T11:43:34.983Z moonset 2028-03-11T17:34:35.052Z Sun culminates 58.11 degrees above the horizon -2028-03-11T23:31:19.109Z sunset -2028-03-12T00:33:01.426Z moonrise +2028-03-11T23:31:19.204Z sunset +2028-03-12T00:33:01.434Z moonrise 2028-03-12T06:03:53.429Z Mars moves from Aquarius to Pisces 2028-03-12T06:30:27.411Z Moon culminates 52.66 degrees above the horizon -2028-03-12T11:37:08.841Z sunrise -2028-03-12T12:20:42.110Z moonset +2028-03-12T11:37:08.936Z sunrise +2028-03-12T12:20:42.103Z moonset 2028-03-12T15:26:21.890Z Jupiter opposition 2028-03-12T17:34:18.831Z Sun culminates 58.50 degrees above the horizon -2028-03-12T23:31:54.407Z sunset -2028-03-13T01:40:51.915Z moonrise +2028-03-12T23:31:54.503Z sunset +2028-03-13T01:40:51.972Z moonrise 2028-03-13T07:23:24.769Z Moon culminates 46.38 degrees above the horizon -2028-03-13T11:36:00.869Z sunrise -2028-03-13T12:59:40.461Z moonset +2028-03-13T11:36:00.963Z sunrise +2028-03-13T12:59:40.416Z moonset 2028-03-13T17:34:02.343Z Sun culminates 58.89 degrees above the horizon -2028-03-13T23:32:29.486Z sunset -2028-03-14T02:48:18.275Z moonrise +2028-03-13T23:32:29.583Z sunset +2028-03-14T02:48:18.423Z moonrise 2028-03-14T08:17:35.652Z Moon culminates 41.15 degrees above the horizon -2028-03-14T11:34:52.611Z sunrise -2028-03-14T13:41:47.774Z moonset +2028-03-14T11:34:52.704Z sunrise +2028-03-14T13:41:47.668Z moonset 2028-03-14T17:33:45.612Z Sun culminates 59.29 degrees above the horizon -2028-03-14T23:33:04.363Z sunset -2028-03-15T03:54:28.925Z moonrise +2028-03-14T23:33:04.460Z sunset +2028-03-15T03:54:29.155Z moonrise 2028-03-15T09:13:00.558Z Moon culminates 37.29 degrees above the horizon -2028-03-15T11:33:44.096Z sunrise -2028-03-15T14:27:57.839Z moonset +2028-03-15T11:33:44.189Z sunrise +2028-03-15T14:27:57.670Z moonset 2028-03-15T17:33:28.662Z Sun culminates 59.68 degrees above the horizon -2028-03-15T23:33:39.053Z sunset -2028-03-16T04:57:48.436Z moonrise +2028-03-15T23:33:39.152Z sunset +2028-03-16T04:57:48.701Z moonrise 2028-03-16T10:09:00.199Z Moon culminates 34.98 degrees above the horizon -2028-03-16T11:32:35.355Z sunrise -2028-03-16T15:18:22.934Z moonset +2028-03-16T11:32:35.447Z sunrise +2028-03-16T15:18:22.717Z moonset 2028-03-16T17:33:11.515Z Sun culminates 60.08 degrees above the horizon -2028-03-16T23:34:13.573Z sunset -2028-03-17T05:56:26.971Z moonrise +2028-03-16T23:34:13.672Z sunset +2028-03-17T05:56:27.232Z moonrise 2028-03-17T11:04:24.810Z Moon culminates 34.26 degrees above the horizon -2028-03-17T11:31:26.418Z sunrise -2028-03-17T16:12:22.188Z moonset +2028-03-17T11:31:26.509Z sunrise +2028-03-17T16:12:21.942Z moonset 2028-03-17T17:32:54.194Z Sun culminates 60.47 degrees above the horizon 2028-03-17T23:23:29.510Z third quarter 2028-03-17T23:34:47.935Z sunset -2028-03-18T06:49:04.104Z moonrise -2028-03-18T11:30:17.313Z sunrise +2028-03-18T06:49:04.340Z moonrise +2028-03-18T11:30:17.404Z sunrise 2028-03-18T11:57:58.431Z Moon culminates 35.04 degrees above the horizon -2028-03-18T17:08:31.052Z moonset +2028-03-18T17:08:30.803Z moonset 2028-03-18T17:32:36.718Z Sun culminates 60.87 degrees above the horizon -2028-03-18T23:35:22.153Z sunset +2028-03-18T23:35:22.154Z sunset 2028-03-19T06:21:54.275Z Venus perihelion at 0.7185 AU -2028-03-19T07:35:16.712Z moonrise -2028-03-19T11:29:08.069Z sunrise +2028-03-19T07:35:16.910Z moonrise +2028-03-19T11:29:08.159Z sunrise 2028-03-19T12:48:45.409Z Moon culminates 37.14 degrees above the horizon 2028-03-19T17:32:19.110Z Sun culminates 61.26 degrees above the horizon -2028-03-19T18:05:12.812Z moonset -2028-03-19T23:35:56.241Z sunset +2028-03-19T18:05:12.595Z moonset +2028-03-19T23:35:56.242Z sunset 2028-03-20T02:16:59.678Z March equinox -2028-03-20T08:15:35.560Z moonrise -2028-03-20T11:27:58.715Z sunrise +2028-03-20T08:15:35.708Z moonrise +2028-03-20T11:27:58.804Z sunrise 2028-03-20T13:36:24.296Z Moon culminates 40.33 degrees above the horizon 2028-03-20T17:32:01.389Z Sun culminates 61.66 degrees above the horizon -2028-03-20T19:01:12.261Z moonset +2028-03-20T19:01:12.109Z moonset 2028-03-20T23:36:30.210Z sunset 2028-03-21T03:08:29.996Z Mars conjunction -2028-03-21T08:51:03.283Z moonrise -2028-03-21T11:26:49.276Z sunrise +2028-03-21T08:51:03.377Z moonrise +2028-03-21T11:26:49.364Z sunrise 2028-03-21T14:21:06.108Z Moon culminates 44.38 degrees above the horizon 2028-03-21T17:31:43.573Z Sun culminates 62.05 degrees above the horizon -2028-03-21T19:55:52.171Z moonset -2028-03-21T23:37:04.069Z sunset -2028-03-22T09:22:53.253Z moonrise -2028-03-22T11:25:39.779Z sunrise +2028-03-21T19:55:52.093Z moonset +2028-03-21T23:37:04.070Z sunset +2028-03-22T09:22:53.303Z moonrise +2028-03-22T11:25:39.867Z sunrise 2028-03-22T12:21:56.393Z Venus max evening elongation: 46.12 degrees from Sun 2028-03-22T15:03:24.451Z Moon culminates 49.07 degrees above the horizon 2028-03-22T17:31:25.681Z Sun culminates 62.45 degrees above the horizon -2028-03-22T20:49:11.384Z moonset +2028-03-22T20:49:11.361Z moonset 2028-03-22T23:22:39.553Z lunar apogee at 406080 km 2028-03-22T23:37:37.831Z sunset -2028-03-23T09:52:17.788Z moonrise -2028-03-23T11:24:30.251Z sunrise +2028-03-23T09:52:17.813Z moonrise +2028-03-23T11:24:30.338Z sunrise 2028-03-23T15:44:05.569Z Moon culminates 54.22 degrees above the horizon 2028-03-23T17:31:07.731Z Sun culminates 62.84 degrees above the horizon -2028-03-23T21:41:34.453Z moonset -2028-03-23T23:38:11.503Z sunset -2028-03-24T10:20:24.633Z moonrise -2028-03-24T11:23:20.715Z sunrise +2028-03-23T21:41:34.454Z moonset +2028-03-23T23:38:11.504Z sunset +2028-03-24T10:20:24.648Z moonrise +2028-03-24T11:23:20.801Z sunrise 2028-03-24T16:24:01.743Z Moon culminates 59.64 degrees above the horizon 2028-03-24T17:30:49.739Z Sun culminates 63.24 degrees above the horizon -2028-03-24T22:33:40.954Z moonset -2028-03-24T23:38:45.095Z sunset -2028-03-25T10:48:18.156Z moonrise -2028-03-25T11:22:11.198Z sunrise +2028-03-24T22:33:40.958Z moonset +2028-03-24T23:38:45.096Z sunset +2028-03-25T10:48:18.167Z moonrise +2028-03-25T11:22:11.283Z sunrise 2028-03-25T17:04:07.914Z Moon culminates 65.16 degrees above the horizon 2028-03-25T17:30:31.723Z Sun culminates 63.63 degrees above the horizon -2028-03-25T23:26:17.002Z moonset -2028-03-25T23:39:18.614Z sunset +2028-03-25T23:26:17.010Z moonset +2028-03-25T23:39:18.616Z sunset 2028-03-26T04:31:55.919Z new moon -2028-03-26T11:17:02.587Z moonrise -2028-03-26T11:21:01.723Z sunrise +2028-03-26T11:17:02.590Z moonrise +2028-03-26T11:21:01.808Z sunrise 2028-03-26T11:21:08.441Z Neptune conjunction 2028-03-26T17:30:13.698Z Sun culminates 64.02 degrees above the horizon 2028-03-26T17:45:19.914Z Moon culminates 70.57 degrees above the horizon -2028-03-26T23:39:52.070Z sunset -2028-03-27T00:20:07.853Z moonset -2028-03-27T11:19:52.316Z sunrise -2028-03-27T11:47:45.631Z moonrise +2028-03-26T23:39:52.071Z sunset +2028-03-27T00:20:07.882Z moonset +2028-03-27T11:19:52.400Z sunrise +2028-03-27T11:47:45.613Z moonrise 2028-03-27T17:29:55.681Z Sun culminates 64.41 degrees above the horizon 2028-03-27T18:28:32.389Z Moon culminates 75.67 degrees above the horizon -2028-03-27T23:40:25.469Z sunset -2028-03-28T01:15:49.131Z moonset -2028-03-28T11:18:43.001Z sunrise -2028-03-28T12:21:40.960Z moonrise +2028-03-27T23:40:25.471Z sunset +2028-03-28T01:15:49.208Z moonset +2028-03-28T11:18:43.083Z sunrise +2028-03-28T12:21:40.904Z moonrise 2028-03-28T17:29:37.688Z Sun culminates 64.80 degrees above the horizon 2028-03-28T19:14:34.341Z Moon culminates 80.20 degrees above the horizon -2028-03-28T23:40:58.820Z sunset -2028-03-29T02:13:34.492Z moonset +2028-03-28T23:40:58.823Z sunset +2028-03-29T02:13:34.632Z moonset 2028-03-29T03:57:48.168Z Mars moves from Pisces to Cetus -2028-03-29T11:17:33.802Z sunrise -2028-03-29T13:00:07.118Z moonrise +2028-03-29T11:17:33.883Z sunrise +2028-03-29T13:00:07.018Z moonrise 2028-03-29T17:29:19.735Z Sun culminates 65.19 degrees above the horizon 2028-03-29T20:04:00.360Z Moon culminates 83.90 degrees above the horizon 2028-03-29T21:36:15.806Z Mercury moves from Aquarius to Pisces -2028-03-29T23:41:32.131Z sunset -2028-03-30T03:13:00.134Z moonset +2028-03-29T23:41:32.134Z sunset +2028-03-30T03:13:00.322Z moonset 2028-03-30T09:24:00.068Z Venus moves from Aries to Taurus -2028-03-30T11:16:24.744Z sunrise -2028-03-30T13:44:18.714Z moonrise +2028-03-30T11:16:24.825Z sunrise +2028-03-30T13:44:18.572Z moonrise 2028-03-30T17:29:01.840Z Sun culminates 65.58 degrees above the horizon 2028-03-30T20:56:57.357Z Moon culminates 86.45 degrees above the horizon -2028-03-30T23:42:05.409Z sunset -2028-03-31T04:12:53.234Z moonset +2028-03-30T23:42:05.413Z sunset +2028-03-31T04:12:53.439Z moonset 2028-03-31T05:47:36.216Z Mars moves from Cetus to Pisces -2028-03-31T11:15:15.854Z sunrise -2028-03-31T14:35:05.869Z moonrise +2028-03-31T11:15:15.933Z sunrise +2028-03-31T14:35:05.694Z moonrise 2028-03-31T17:28:44.018Z Sun culminates 65.96 degrees above the horizon 2028-03-31T21:52:51.708Z Moon culminates 87.58 degrees above the horizon -2028-03-31T23:42:38.665Z sunset -2028-04-01T05:11:19.152Z moonset -2028-04-01T11:14:07.156Z sunrise -2028-04-01T15:32:25.690Z moonrise +2028-03-31T23:42:38.669Z sunset +2028-04-01T05:11:19.346Z moonset +2028-04-01T11:14:07.234Z sunrise +2028-04-01T15:32:25.494Z moonrise 2028-04-01T17:28:26.289Z Sun culminates 66.35 degrees above the horizon 2028-04-01T22:50:28.309Z Moon culminates 87.08 degrees above the horizon -2028-04-01T23:43:11.907Z sunset -2028-04-02T06:06:16.945Z moonset -2028-04-02T11:12:58.678Z sunrise -2028-04-02T16:35:05.844Z moonrise +2028-04-01T23:43:11.912Z sunset +2028-04-02T06:06:17.111Z moonset +2028-04-02T11:12:58.754Z sunrise +2028-04-02T16:35:05.651Z moonrise 2028-04-02T17:28:08.669Z Sun culminates 66.73 degrees above the horizon 2028-04-02T19:16:02.644Z first quarter -2028-04-02T23:43:45.144Z sunset +2028-04-02T23:43:45.150Z sunset 2028-04-02T23:48:11.260Z Moon culminates 84.90 degrees above the horizon -2028-04-03T06:56:26.699Z moonset -2028-04-03T11:11:50.446Z sunrise +2028-04-03T06:56:26.824Z moonset +2028-04-03T11:11:50.521Z sunrise 2028-04-03T17:27:51.178Z Sun culminates 67.12 degrees above the horizon -2028-04-03T17:41:04.534Z moonrise -2028-04-03T23:44:18.387Z sunset +2028-04-03T17:41:04.381Z moonrise +2028-04-03T23:44:18.394Z sunset 2028-04-04T00:44:38.915Z Moon culminates 81.13 degrees above the horizon 2028-04-04T03:11:17.038Z Mercury moves from Pisces to Cetus -2028-04-04T07:41:34.803Z moonset -2028-04-04T11:10:42.489Z sunrise +2028-04-04T07:41:34.877Z moonset +2028-04-04T11:10:42.562Z sunrise 2028-04-04T17:27:33.836Z Sun culminates 67.50 degrees above the horizon -2028-04-04T18:48:21.026Z moonrise -2028-04-04T23:44:51.647Z sunset +2028-04-04T18:48:20.945Z moonrise +2028-04-04T23:44:51.655Z sunset 2028-04-05T01:39:11.004Z Moon culminates 76.00 degrees above the horizon -2028-04-05T08:22:25.155Z moonset -2028-04-05T11:09:34.835Z sunrise +2028-04-05T08:22:25.187Z moonset +2028-04-05T11:09:34.906Z sunrise 2028-04-05T17:27:16.662Z Sun culminates 67.87 degrees above the horizon -2028-04-05T19:55:38.965Z moonrise -2028-04-05T23:45:24.936Z sunset +2028-04-05T19:55:38.943Z moonrise +2028-04-05T23:45:24.945Z sunset 2028-04-06T02:31:53.811Z Moon culminates 69.87 degrees above the horizon 2028-04-06T03:57:03.633Z Mercury moves from Cetus to Pisces -2028-04-06T09:00:14.729Z moonset -2028-04-06T11:08:27.513Z sunrise +2028-04-06T09:00:14.739Z moonset +2028-04-06T11:08:27.582Z sunrise 2028-04-06T17:26:59.676Z Sun culminates 68.25 degrees above the horizon -2028-04-06T21:02:36.880Z moonrise -2028-04-06T23:45:58.266Z sunset +2028-04-06T21:02:36.879Z moonrise +2028-04-06T23:45:58.277Z sunset 2028-04-07T03:23:28.543Z Moon culminates 63.12 degrees above the horizon -2028-04-07T09:36:33.571Z moonset -2028-04-07T11:07:20.551Z sunrise +2028-04-07T09:36:33.577Z moonset +2028-04-07T11:07:20.618Z sunrise 2028-04-07T16:06:56.570Z lunar perigee at 361348 km 2028-04-07T17:26:42.901Z Sun culminates 68.63 degrees above the horizon -2028-04-07T22:09:31.969Z moonrise -2028-04-07T23:46:31.650Z sunset +2028-04-07T22:09:31.970Z moonrise +2028-04-07T23:46:31.662Z sunset 2028-04-08T04:14:54.538Z Moon culminates 56.22 degrees above the horizon -2028-04-08T10:12:54.814Z moonset -2028-04-08T11:06:13.979Z sunrise +2028-04-08T10:12:54.816Z moonset +2028-04-08T11:06:14.044Z sunrise 2028-04-08T17:26:26.356Z Sun culminates 69.00 degrees above the horizon -2028-04-08T23:16:52.910Z moonrise -2028-04-08T23:47:05.101Z sunset +2028-04-08T23:16:52.935Z moonrise +2028-04-08T23:47:05.115Z sunset 2028-04-09T05:07:13.044Z Moon culminates 49.63 degrees above the horizon 2028-04-09T10:27:03.553Z full moon -2028-04-09T10:50:50.624Z moonset -2028-04-09T11:05:07.826Z sunrise +2028-04-09T10:50:50.603Z moonset +2028-04-09T11:05:07.888Z sunrise 2028-04-09T17:26:10.063Z Sun culminates 69.37 degrees above the horizon -2028-04-09T23:47:38.633Z sunset -2028-04-10T00:24:50.204Z moonrise +2028-04-09T23:47:38.648Z sunset +2028-04-10T00:24:50.300Z moonrise 2028-04-10T06:01:11.005Z Moon culminates 43.82 degrees above the horizon -2028-04-10T11:04:02.120Z sunrise -2028-04-10T11:31:47.511Z moonset +2028-04-10T11:04:02.180Z sunrise +2028-04-10T11:31:47.439Z moonset 2028-04-10T17:25:54.042Z Sun culminates 69.74 degrees above the horizon -2028-04-10T23:48:12.257Z sunset -2028-04-11T01:32:48.944Z moonrise +2028-04-10T23:48:12.274Z sunset +2028-04-11T01:32:49.133Z moonrise 2028-04-11T06:57:03.760Z Moon culminates 39.20 degrees above the horizon -2028-04-11T11:02:56.891Z sunrise -2028-04-11T12:16:54.915Z moonset +2028-04-11T11:02:56.949Z sunrise +2028-04-11T12:16:54.778Z moonset 2028-04-11T17:25:38.315Z Sun culminates 70.10 degrees above the horizon 2028-04-11T22:43:58.826Z Mercury superior conjunction -2028-04-11T23:48:45.985Z sunset -2028-04-12T02:39:15.600Z moonrise +2028-04-11T23:48:46.004Z sunset +2028-04-12T02:39:15.851Z moonrise 2028-04-12T07:54:21.086Z Moon culminates 36.08 degrees above the horizon -2028-04-12T11:01:52.168Z sunrise -2028-04-12T13:06:44.811Z moonset +2028-04-12T11:01:52.223Z sunrise +2028-04-12T13:06:44.616Z moonset 2028-04-12T17:25:22.901Z Sun culminates 70.47 degrees above the horizon -2028-04-12T23:49:19.828Z sunset +2028-04-12T23:49:19.849Z sunset 2028-04-13T02:08:22.513Z Neptune moves from Pisces to Cetus -2028-04-13T03:41:56.533Z moonrise +2028-04-13T03:41:56.795Z moonrise 2028-04-13T08:51:47.980Z Moon culminates 34.61 degrees above the horizon -2028-04-13T11:00:47.980Z sunrise -2028-04-13T14:00:50.851Z moonset +2028-04-13T11:00:48.032Z sunrise +2028-04-13T14:00:50.616Z moonset 2028-04-13T17:25:07.820Z Sun culminates 70.83 degrees above the horizon -2028-04-13T23:49:53.796Z sunset -2028-04-14T04:38:49.028Z moonrise +2028-04-13T23:49:53.819Z sunset +2028-04-14T04:38:49.271Z moonrise 2028-04-14T09:47:48.235Z Moon culminates 34.78 degrees above the horizon -2028-04-14T10:59:44.355Z sunrise -2028-04-14T14:57:47.457Z moonset +2028-04-14T10:59:44.404Z sunrise +2028-04-14T14:57:47.208Z moonset 2028-04-14T17:24:53.090Z Sun culminates 71.19 degrees above the horizon -2028-04-14T23:50:27.895Z sunset +2028-04-14T23:50:27.921Z sunset 2028-04-15T00:13:09.428Z Mercury moves from Pisces to Aries -2028-04-15T05:28:50.892Z moonrise +2028-04-15T05:28:51.101Z moonrise 2028-04-15T10:41:00.455Z Moon culminates 36.41 degrees above the horizon -2028-04-15T10:58:41.322Z sunrise -2028-04-15T15:55:40.884Z moonset +2028-04-15T10:58:41.368Z sunrise +2028-04-15T15:55:40.654Z moonset 2028-04-15T17:24:38.728Z Sun culminates 71.54 degrees above the horizon -2028-04-15T23:51:02.134Z sunset -2028-04-16T06:12:12.264Z moonrise -2028-04-16T10:57:38.908Z sunrise +2028-04-15T23:51:02.162Z sunset +2028-04-16T06:12:12.427Z moonrise +2028-04-16T10:57:38.950Z sunrise 2028-04-16T11:30:43.310Z Moon culminates 39.24 degrees above the horizon 2028-04-16T16:37:33.027Z third quarter -2028-04-16T16:52:53.714Z moonset +2028-04-16T16:52:53.540Z moonset 2028-04-16T17:24:24.751Z Sun culminates 71.89 degrees above the horizon -2028-04-16T23:51:36.517Z sunset -2028-04-17T06:49:52.845Z moonrise -2028-04-17T10:56:37.141Z sunrise +2028-04-16T23:51:36.548Z sunset +2028-04-17T06:49:52.954Z moonrise +2028-04-17T10:56:37.179Z sunrise 2028-04-17T12:16:58.439Z Moon culminates 43.02 degrees above the horizon 2028-04-17T17:24:11.175Z Sun culminates 72.24 degrees above the horizon -2028-04-17T17:48:32.273Z moonset -2028-04-17T23:52:11.047Z sunset -2028-04-18T07:23:12.375Z moonrise -2028-04-18T10:55:36.045Z sunrise +2028-04-17T17:48:32.172Z moonset +2028-04-17T23:52:11.081Z sunset +2028-04-18T07:23:12.437Z moonrise +2028-04-18T10:55:36.080Z sunrise 2028-04-18T13:00:18.612Z Moon culminates 47.50 degrees above the horizon 2028-04-18T17:23:58.014Z Sun culminates 72.59 degrees above the horizon -2028-04-18T18:42:28.162Z moonset -2028-04-18T23:52:45.728Z sunset -2028-04-19T07:53:31.836Z moonrise -2028-04-19T10:54:35.647Z sunrise +2028-04-18T18:42:28.124Z moonset +2028-04-18T23:52:45.764Z sunset +2028-04-19T07:53:31.867Z moonrise +2028-04-19T10:54:35.678Z sunrise 2028-04-19T13:41:33.775Z Moon culminates 52.48 degrees above the horizon 2028-04-19T15:13:38.283Z lunar apogee at 405091 km 2028-04-19T17:23:45.280Z Sun culminates 72.94 degrees above the horizon -2028-04-19T19:35:05.823Z moonset -2028-04-19T23:53:20.559Z sunset -2028-04-20T08:22:06.506Z moonrise -2028-04-20T10:53:35.971Z sunrise +2028-04-19T19:35:05.818Z moonset +2028-04-19T23:53:20.598Z sunset +2028-04-20T08:22:06.523Z moonrise +2028-04-20T10:53:35.998Z sunrise 2028-04-20T12:09:36.313Z Saturn conjunction 2028-04-20T14:21:41.401Z Moon culminates 57.78 degrees above the horizon 2028-04-20T17:23:32.986Z Sun culminates 73.28 degrees above the horizon -2028-04-20T20:27:08.702Z moonset -2028-04-20T23:53:55.539Z sunset +2028-04-20T20:27:08.706Z moonset +2028-04-20T23:53:55.581Z sunset 2028-04-21T04:02:19.488Z Mercury perihelion at 0.3075 AU -2028-04-21T08:50:06.159Z moonrise -2028-04-21T10:52:37.039Z sunrise +2028-04-21T08:50:06.172Z moonrise +2028-04-21T10:52:37.062Z sunrise 2028-04-21T15:01:41.585Z Moon culminates 63.24 degrees above the horizon 2028-04-21T17:23:21.141Z Sun culminates 73.61 degrees above the horizon -2028-04-21T21:19:28.724Z moonset -2028-04-21T23:54:30.665Z sunset -2028-04-22T09:18:38.368Z moonrise -2028-04-22T10:51:38.876Z sunrise +2028-04-21T21:19:28.730Z moonset +2028-04-21T23:54:30.711Z sunset +2028-04-22T09:18:38.375Z moonrise +2028-04-22T10:51:38.895Z sunrise 2028-04-22T15:42:34.910Z Moon culminates 68.68 degrees above the horizon 2028-04-22T17:23:09.756Z Sun culminates 73.95 degrees above the horizon -2028-04-22T22:12:58.201Z moonset -2028-04-22T23:55:05.933Z sunset -2028-04-23T09:48:52.597Z moonrise -2028-04-23T10:50:41.502Z sunrise +2028-04-22T22:12:58.220Z moonset +2028-04-22T23:55:05.983Z sunset +2028-04-23T09:48:52.588Z moonrise +2028-04-23T10:50:41.517Z sunrise 2028-04-23T16:25:20.651Z Moon culminates 73.90 degrees above the horizon 2028-04-23T17:22:58.838Z Sun culminates 74.28 degrees above the horizon -2028-04-23T23:08:21.187Z moonset -2028-04-23T23:55:41.339Z sunset -2028-04-24T10:22:03.399Z moonrise -2028-04-24T10:49:44.939Z sunrise +2028-04-23T23:08:21.244Z moonset +2028-04-23T23:55:41.392Z sunset +2028-04-24T10:22:03.358Z moonrise +2028-04-24T10:49:44.950Z sunrise 2028-04-24T17:10:52.813Z Moon culminates 78.67 degrees above the horizon 2028-04-24T17:22:48.395Z Sun culminates 74.61 degrees above the horizon 2028-04-24T19:47:29.313Z new moon -2028-04-24T23:56:16.875Z sunset -2028-04-25T00:06:01.152Z moonset -2028-04-25T10:48:49.209Z sunrise -2028-04-25T10:59:30.279Z moonrise +2028-04-24T23:56:16.932Z sunset +2028-04-25T00:06:01.269Z moonset +2028-04-25T10:48:49.215Z sunrise +2028-04-25T10:59:30.194Z moonrise 2028-04-25T17:22:38.435Z Sun culminates 74.93 degrees above the horizon 2028-04-25T17:59:51.539Z Moon culminates 82.68 degrees above the horizon -2028-04-25T23:56:52.535Z sunset -2028-04-26T01:05:44.068Z moonset -2028-04-26T10:47:54.331Z sunrise -2028-04-26T11:42:30.071Z moonrise +2028-04-25T23:56:52.595Z sunset +2028-04-26T01:05:44.240Z moonset +2028-04-26T10:47:54.332Z sunrise +2028-04-26T11:42:29.943Z moonrise 2028-04-26T16:00:29.914Z Mars moves from Pisces to Aries 2028-04-26T17:22:28.963Z Sun culminates 75.25 degrees above the horizon 2028-04-26T18:52:28.999Z Moon culminates 85.62 degrees above the horizon -2028-04-26T23:57:28.309Z sunset -2028-04-27T02:06:22.855Z moonset -2028-04-27T10:47:00.327Z sunrise -2028-04-27T12:31:57.249Z moonrise +2028-04-26T23:57:28.373Z sunset +2028-04-27T02:06:23.055Z moonset +2028-04-27T10:47:00.323Z sunrise +2028-04-27T12:31:57.085Z moonrise 2028-04-27T17:22:19.985Z Sun culminates 75.57 degrees above the horizon 2028-04-27T17:52:11.545Z Venus peak magnitude -4.74 in evening sky 2028-04-27T19:48:14.222Z Moon culminates 87.20 degrees above the horizon -2028-04-27T23:58:04.190Z sunset -2028-04-28T03:05:59.280Z moonset +2028-04-27T23:58:04.257Z sunset +2028-04-28T03:05:59.476Z moonset 2028-04-28T08:43:49.169Z Mercury moves from Aries to Taurus -2028-04-28T10:46:07.216Z sunrise -2028-04-28T13:27:54.389Z moonrise +2028-04-28T10:46:07.208Z sunrise +2028-04-28T13:27:54.199Z moonrise 2028-04-28T17:22:11.508Z Sun culminates 75.88 degrees above the horizon 2028-04-28T20:45:49.417Z Moon culminates 87.18 degrees above the horizon -2028-04-28T23:58:40.167Z sunset -2028-04-29T04:02:18.069Z moonset -2028-04-29T10:45:15.020Z sunrise -2028-04-29T14:29:12.115Z moonrise +2028-04-28T23:58:40.239Z sunset +2028-04-29T04:02:18.242Z moonset +2028-04-29T10:45:15.007Z sunrise +2028-04-29T14:29:11.921Z moonrise 2028-04-29T17:22:03.536Z Sun culminates 76.19 degrees above the horizon 2028-04-29T21:43:30.236Z Moon culminates 85.48 degrees above the horizon -2028-04-29T23:59:16.231Z sunset -2028-04-30T04:53:40.421Z moonset -2028-04-30T10:44:23.759Z sunrise -2028-04-30T15:33:45.835Z moonrise +2028-04-29T23:59:16.307Z sunset +2028-04-30T04:53:40.557Z moonset +2028-04-30T10:44:23.741Z sunrise +2028-04-30T15:33:45.671Z moonrise 2028-04-30T17:21:56.075Z Sun culminates 76.49 degrees above the horizon 2028-04-30T22:39:44.167Z Moon culminates 82.20 degrees above the horizon -2028-04-30T23:59:52.373Z sunset -2028-05-01T05:39:37.948Z moonset -2028-05-01T10:43:33.456Z sunrise -2028-05-01T16:39:27.642Z moonrise +2028-04-30T23:59:52.453Z sunset +2028-05-01T05:39:38.037Z moonset +2028-05-01T10:43:33.432Z sunrise +2028-05-01T16:39:27.541Z moonrise 2028-05-01T17:21:49.132Z Sun culminates 76.79 degrees above the horizon 2028-05-01T23:33:42.112Z Moon culminates 77.58 degrees above the horizon -2028-05-02T00:00:28.582Z sunset +2028-05-02T00:00:28.666Z sunset 2028-05-02T02:26:17.426Z first quarter -2028-05-02T06:20:47.257Z moonset -2028-05-02T10:42:44.131Z sunrise +2028-05-02T06:20:47.301Z moonset +2028-05-02T10:42:44.103Z sunrise 2028-05-02T17:21:42.712Z Sun culminates 77.09 degrees above the horizon -2028-05-02T17:44:54.452Z moonrise -2028-05-03T00:01:04.848Z sunset +2028-05-02T17:44:54.415Z moonrise +2028-05-03T00:01:04.937Z sunset 2028-05-03T00:25:25.703Z Moon culminates 71.92 degrees above the horizon -2028-05-03T06:58:23.308Z moonset -2028-05-03T10:41:55.808Z sunrise +2028-05-03T06:58:23.325Z moonset +2028-05-03T10:41:55.774Z sunrise 2028-05-03T17:21:36.822Z Sun culminates 77.38 degrees above the horizon -2028-05-03T18:49:42.505Z moonrise -2028-05-04T00:01:41.164Z sunset +2028-05-03T18:49:42.501Z moonrise +2028-05-04T00:01:41.257Z sunset 2028-05-04T01:15:35.529Z Moon culminates 65.60 degrees above the horizon -2028-05-04T07:33:56.113Z moonset -2028-05-04T10:41:08.508Z sunrise +2028-05-04T07:33:56.120Z moonset +2028-05-04T10:41:08.469Z sunrise 2028-05-04T17:21:31.469Z Sun culminates 77.67 degrees above the horizon 2028-05-04T19:54:13.337Z moonrise -2028-05-05T00:02:17.519Z sunset +2028-05-05T00:02:17.617Z sunset 2028-05-05T02:05:14.053Z Moon culminates 58.97 degrees above the horizon -2028-05-05T08:08:59.100Z moonset +2028-05-05T08:08:59.105Z moonset 2028-05-05T10:31:35.506Z lunar perigee at 366520 km -2028-05-05T10:40:22.254Z sunrise +2028-05-05T10:40:22.211Z sunrise 2028-05-05T17:21:26.659Z Sun culminates 77.95 degrees above the horizon -2028-05-05T20:59:08.793Z moonrise -2028-05-06T00:02:53.906Z sunset +2028-05-05T20:59:08.803Z moonrise +2028-05-06T00:02:54.007Z sunset 2028-05-06T02:55:30.492Z Moon culminates 52.43 degrees above the horizon -2028-05-06T08:45:05.718Z moonset -2028-05-06T10:39:37.069Z sunrise +2028-05-06T08:45:05.711Z moonset +2028-05-06T10:39:37.020Z sunrise 2028-05-06T17:21:22.401Z Sun culminates 78.23 degrees above the horizon -2028-05-06T22:05:03.952Z moonrise -2028-05-07T00:03:30.315Z sunset +2028-05-06T22:05:04.008Z moonrise +2028-05-07T00:03:30.421Z sunset 2028-05-07T03:47:27.021Z Moon culminates 46.41 degrees above the horizon -2028-05-07T09:23:47.795Z moonset -2028-05-07T10:38:52.974Z sunrise +2028-05-07T09:23:47.751Z moonset +2028-05-07T10:38:52.920Z sunrise 2028-05-07T17:21:18.699Z Sun culminates 78.50 degrees above the horizon -2028-05-07T23:11:59.124Z moonrise -2028-05-08T00:04:06.737Z sunset +2028-05-07T23:11:59.268Z moonrise +2028-05-08T00:04:06.848Z sunset 2028-05-08T04:41:42.869Z Moon culminates 41.30 degrees above the horizon -2028-05-08T10:06:28.997Z moonset -2028-05-08T10:38:09.992Z sunrise +2028-05-08T10:06:28.892Z moonset +2028-05-08T10:38:09.933Z sunrise 2028-05-08T17:21:15.560Z Sun culminates 78.77 degrees above the horizon 2028-05-08T19:49:26.206Z full moon -2028-05-09T00:04:43.164Z sunset -2028-05-09T00:18:55.549Z moonrise +2028-05-09T00:04:43.279Z sunset +2028-05-09T00:18:55.773Z moonrise 2028-05-09T05:38:16.060Z Moon culminates 37.49 degrees above the horizon 2028-05-09T06:07:23.979Z Mercury max evening elongation: 21.39 degrees from Sun -2028-05-09T10:37:28.144Z sunrise -2028-05-09T10:54:07.781Z moonset +2028-05-09T10:37:28.080Z sunrise +2028-05-09T10:54:07.613Z moonset 2028-05-09T17:21:12.991Z Sun culminates 79.03 degrees above the horizon -2028-05-10T00:05:19.584Z sunset -2028-05-10T01:23:51.566Z moonrise +2028-05-10T00:05:19.704Z sunset +2028-05-10T01:23:51.825Z moonrise 2028-05-10T06:36:11.387Z Moon culminates 35.25 degrees above the horizon -2028-05-10T10:36:47.452Z sunrise -2028-05-10T11:46:51.046Z moonset +2028-05-10T10:36:47.382Z sunrise +2028-05-10T11:46:50.829Z moonset 2028-05-10T17:21:10.996Z Sun culminates 79.29 degrees above the horizon 2028-05-10T20:29:35.228Z Saturn moves from Pisces to Cetus -2028-05-11T00:05:55.986Z sunset -2028-05-11T02:24:18.114Z moonrise +2028-05-11T00:05:56.110Z sunset +2028-05-11T02:24:18.366Z moonrise 2028-05-11T07:33:49.837Z Moon culminates 34.69 degrees above the horizon -2028-05-11T10:36:07.936Z sunrise -2028-05-11T12:43:35.531Z moonset +2028-05-11T10:36:07.861Z sunrise +2028-05-11T12:43:35.286Z moonset 2028-05-11T17:21:09.580Z Sun culminates 79.55 degrees above the horizon -2028-05-12T00:06:32.357Z sunset -2028-05-12T03:18:21.217Z moonrise +2028-05-12T00:06:32.485Z sunset +2028-05-12T03:18:21.439Z moonrise 2028-05-12T08:29:23.767Z Moon culminates 35.72 degrees above the horizon 2028-05-12T09:21:31.376Z Saturn moves from Cetus to Aries -2028-05-12T10:35:29.617Z sunrise -2028-05-12T13:42:22.545Z moonset +2028-05-12T10:35:29.537Z sunrise +2028-05-12T13:42:22.305Z moonset 2028-05-12T17:21:08.744Z Sun culminates 79.80 degrees above the horizon -2028-05-13T00:07:08.682Z sunset -2028-05-13T04:05:24.072Z moonrise +2028-05-13T00:07:08.815Z sunset +2028-05-13T04:05:24.251Z moonrise 2028-05-13T09:21:37.078Z Moon culminates 38.12 degrees above the horizon -2028-05-13T10:34:52.516Z sunrise -2028-05-13T14:41:06.135Z moonset +2028-05-13T10:34:52.431Z sunrise +2028-05-13T14:41:05.937Z moonset 2028-05-13T17:21:08.493Z Sun culminates 80.04 degrees above the horizon -2028-05-14T00:07:44.946Z sunset -2028-05-14T04:46:01.570Z moonrise +2028-05-14T00:07:45.083Z sunset +2028-05-14T04:46:01.697Z moonrise 2028-05-14T10:10:04.011Z Moon culminates 41.59 degrees above the horizon -2028-05-14T10:34:16.650Z sunrise -2028-05-14T15:38:19.260Z moonset +2028-05-14T10:34:16.560Z sunrise +2028-05-14T15:38:19.132Z moonset 2028-05-14T17:21:08.826Z Sun culminates 80.28 degrees above the horizon -2028-05-15T00:08:21.131Z sunset -2028-05-15T05:21:28.033Z moonrise -2028-05-15T10:33:42.038Z sunrise +2028-05-15T00:08:21.273Z sunset +2028-05-15T05:21:28.109Z moonrise +2028-05-15T10:33:41.943Z sunrise 2028-05-15T10:55:02.872Z Moon culminates 45.86 degrees above the horizon -2028-05-15T16:33:29.634Z moonset +2028-05-15T16:33:29.577Z moonset 2028-05-15T17:21:09.743Z Sun culminates 80.51 degrees above the horizon -2028-05-16T00:08:57.219Z sunset -2028-05-16T05:53:08.665Z moonrise -2028-05-16T10:33:08.695Z sunrise +2028-05-16T00:08:57.365Z sunset +2028-05-16T05:53:08.704Z moonrise +2028-05-16T10:33:08.596Z sunrise 2028-05-16T10:43:43.169Z third quarter 2028-05-16T11:37:19.368Z Moon culminates 50.69 degrees above the horizon 2028-05-16T17:21:11.242Z Sun culminates 80.74 degrees above the horizon -2028-05-16T17:26:50.100Z moonset -2028-05-17T00:09:33.188Z sunset -2028-05-17T06:22:25.395Z moonrise +2028-05-16T17:26:50.087Z moonset +2028-05-17T00:09:33.338Z sunset +2028-05-17T06:22:25.415Z moonrise 2028-05-17T09:56:02.919Z lunar apogee at 404268 km -2028-05-17T10:32:36.637Z sunrise +2028-05-17T10:32:36.533Z sunrise 2028-05-17T12:17:52.334Z Moon culminates 55.87 degrees above the horizon 2028-05-17T17:21:13.318Z Sun culminates 80.96 degrees above the horizon -2028-05-17T18:19:01.608Z moonset -2028-05-18T00:10:09.016Z sunset -2028-05-18T06:50:33.762Z moonrise -2028-05-18T10:32:05.877Z sunrise +2028-05-17T18:19:01.611Z moonset +2028-05-18T00:10:09.170Z sunset +2028-05-18T06:50:33.775Z moonrise +2028-05-18T10:32:05.768Z sunrise 2028-05-18T12:57:45.640Z Moon culminates 61.26 degrees above the horizon 2028-05-18T17:21:15.967Z Sun culminates 81.18 degrees above the horizon -2028-05-18T19:10:59.290Z moonset -2028-05-19T00:10:44.679Z sunset -2028-05-19T07:18:45.329Z moonrise -2028-05-19T10:31:36.425Z sunrise +2028-05-18T19:10:59.294Z moonset +2028-05-19T00:10:44.837Z sunset +2028-05-19T07:18:45.338Z moonrise +2028-05-19T10:31:36.311Z sunrise 2028-05-19T13:38:04.805Z Moon culminates 66.68 degrees above the horizon 2028-05-19T17:21:19.180Z Sun culminates 81.39 degrees above the horizon -2028-05-19T20:03:42.866Z moonset -2028-05-20T00:11:20.151Z sunset -2028-05-20T07:48:12.095Z moonrise -2028-05-20T10:31:08.291Z sunrise +2028-05-19T20:03:42.877Z moonset +2028-05-20T00:11:20.313Z sunset +2028-05-20T07:48:12.093Z moonrise +2028-05-20T10:31:08.173Z sunrise 2028-05-20T14:19:55.453Z Moon culminates 71.97 degrees above the horizon 2028-05-20T17:21:22.949Z Sun culminates 81.59 degrees above the horizon -2028-05-20T20:58:08.356Z moonset -2028-05-21T00:11:55.403Z sunset -2028-05-21T08:20:10.838Z moonrise -2028-05-21T10:30:41.483Z sunrise +2028-05-20T20:58:08.395Z moonset +2028-05-21T00:11:55.570Z sunset +2028-05-21T08:20:10.811Z moonrise +2028-05-21T10:30:41.362Z sunrise 2028-05-21T15:04:20.654Z Moon culminates 76.90 degrees above the horizon 2028-05-21T17:21:27.264Z Sun culminates 81.79 degrees above the horizon -2028-05-21T21:54:57.029Z moonset -2028-05-22T00:12:30.408Z sunset -2028-05-22T08:56:05.204Z moonrise -2028-05-22T10:30:16.009Z sunrise +2028-05-21T21:54:57.122Z moonset +2028-05-22T00:12:30.578Z sunset +2028-05-22T08:56:05.137Z moonrise +2028-05-22T10:30:15.883Z sunrise 2028-05-22T15:52:14.056Z Moon culminates 81.23 degrees above the horizon 2028-05-22T17:21:32.111Z Sun culminates 81.99 degrees above the horizon -2028-05-22T22:54:18.448Z moonset -2028-05-23T00:13:05.135Z sunset -2028-05-23T09:37:21.537Z moonrise -2028-05-23T10:29:51.872Z sunrise +2028-05-22T22:54:18.601Z moonset +2028-05-23T00:13:05.309Z sunset +2028-05-23T09:37:21.425Z moonrise +2028-05-23T10:29:51.742Z sunrise 2028-05-23T16:44:06.128Z Moon culminates 84.62 degrees above the horizon 2028-05-23T17:21:37.479Z Sun culminates 82.18 degrees above the horizon -2028-05-23T23:55:29.513Z moonset -2028-05-24T00:13:39.553Z sunset +2028-05-23T23:55:29.705Z moonset +2028-05-24T00:13:39.730Z sunset 2028-05-24T08:16:50.605Z new moon -2028-05-24T10:25:12.294Z moonrise -2028-05-24T10:29:29.075Z sunrise +2028-05-24T10:25:12.142Z moonrise +2028-05-24T10:29:28.942Z sunrise 2028-05-24T17:21:43.352Z Sun culminates 82.36 degrees above the horizon 2028-05-24T17:39:44.840Z Moon culminates 86.73 degrees above the horizon -2028-05-25T00:14:13.628Z sunset -2028-05-25T00:56:43.246Z moonset -2028-05-25T10:29:07.622Z sunrise -2028-05-25T11:20:04.100Z moonrise +2028-05-25T00:14:13.809Z sunset +2028-05-25T00:56:43.444Z moonset +2028-05-25T10:29:07.485Z sunrise +2028-05-25T11:20:03.918Z moonrise 2028-05-25T17:21:49.715Z Sun culminates 82.53 degrees above the horizon 2028-05-25T18:38:01.917Z Moon culminates 87.26 degrees above the horizon -2028-05-26T00:14:47.329Z sunset -2028-05-26T01:55:30.282Z moonset -2028-05-26T10:28:47.514Z sunrise -2028-05-26T12:21:04.802Z moonrise +2028-05-26T00:14:47.513Z sunset +2028-05-26T01:55:30.461Z moonset +2028-05-26T10:28:47.373Z sunrise +2028-05-26T12:21:04.607Z moonrise 2028-05-26T17:21:56.552Z Sun culminates 82.70 degrees above the horizon 2028-05-26T19:37:03.708Z Moon culminates 86.06 degrees above the horizon -2028-05-27T00:15:20.622Z sunset -2028-05-27T02:49:36.560Z moonset -2028-05-27T10:28:28.750Z sunrise -2028-05-27T13:26:04.763Z moonrise +2028-05-27T00:15:20.809Z sunset +2028-05-27T02:49:36.706Z moonset +2028-05-27T10:28:28.606Z sunrise +2028-05-27T13:26:04.587Z moonrise 2028-05-27T17:22:03.847Z Sun culminates 82.87 degrees above the horizon 2028-05-27T20:34:51.958Z Moon culminates 83.19 degrees above the horizon -2028-05-28T00:15:53.472Z sunset -2028-05-28T03:37:57.818Z moonset -2028-05-28T10:28:11.333Z sunrise -2028-05-28T14:32:29.172Z moonrise +2028-05-28T00:15:53.663Z sunset +2028-05-28T03:37:57.919Z moonset +2028-05-28T10:28:11.184Z sunrise +2028-05-28T14:32:29.053Z moonrise 2028-05-28T17:22:11.581Z Sun culminates 83.03 degrees above the horizon 2028-05-28T21:30:08.977Z Moon culminates 78.89 degrees above the horizon -2028-05-29T00:16:25.847Z sunset -2028-05-29T04:20:49.646Z moonset -2028-05-29T10:27:55.260Z sunrise -2028-05-29T15:38:23.103Z moonrise +2028-05-29T00:16:26.041Z sunset +2028-05-29T04:20:49.700Z moonset +2028-05-29T10:27:55.109Z sunrise +2028-05-29T15:38:23.052Z moonrise 2028-05-29T17:22:19.740Z Sun culminates 83.18 degrees above the horizon 2028-05-29T22:22:36.443Z Moon culminates 73.49 degrees above the horizon -2028-05-30T00:16:57.714Z sunset +2028-05-30T00:16:57.910Z sunset 2028-05-30T03:00:27.950Z Mars moves from Aries to Taurus -2028-05-30T04:59:20.632Z moonset -2028-05-30T10:27:40.533Z sunrise -2028-05-30T16:43:00.674Z moonrise +2028-05-30T04:59:20.654Z moonset +2028-05-30T10:27:40.378Z sunrise +2028-05-30T16:43:00.665Z moonrise 2028-05-30T17:22:28.306Z Sun culminates 83.32 degrees above the horizon 2028-05-30T22:49:32.309Z Uranus conjunction 2028-05-30T23:12:45.715Z Moon culminates 67.37 degrees above the horizon -2028-05-31T00:17:29.039Z sunset -2028-05-31T05:35:01.548Z moonset +2028-05-31T00:17:29.239Z sunset +2028-05-31T05:35:01.556Z moonset 2028-05-31T06:38:33.979Z lunar perigee at 369751 km 2028-05-31T07:37:07.779Z first quarter -2028-05-31T10:27:27.150Z sunrise +2028-05-31T10:27:26.992Z sunrise 2028-05-31T17:22:37.263Z Sun culminates 83.46 degrees above the horizon -2028-05-31T17:46:34.575Z moonrise +2028-05-31T17:46:34.576Z moonrise 2028-06-01T00:01:37.579Z Moon culminates 60.92 degrees above the horizon -2028-06-01T00:17:59.792Z sunset -2028-06-01T06:09:27.771Z moonset +2028-06-01T00:17:59.994Z sunset +2028-06-01T06:09:27.778Z moonset 2028-06-01T09:53:52.348Z Venus inferior conjunction -2028-06-01T10:27:15.110Z sunrise +2028-06-01T10:27:14.950Z sunrise 2028-06-01T17:22:46.595Z Sun culminates 83.59 degrees above the horizon -2028-06-01T18:49:49.474Z moonrise -2028-06-02T00:18:29.942Z sunset +2028-06-01T18:49:49.478Z moonrise +2028-06-02T00:18:30.147Z sunset 2028-06-02T00:50:24.582Z Moon culminates 54.48 degrees above the horizon 2028-06-02T02:39:13.290Z Mercury inferior conjunction 2028-06-02T06:44:13.734Z moonset -2028-06-02T10:27:04.411Z sunrise +2028-06-02T10:27:04.249Z sunrise 2028-06-02T17:22:56.287Z Sun culminates 83.72 degrees above the horizon -2028-06-02T19:53:34.785Z moonrise -2028-06-03T00:18:59.461Z sunset +2028-06-02T19:53:34.820Z moonrise +2028-06-03T00:18:59.668Z sunset 2028-06-03T01:40:17.695Z Moon culminates 48.42 degrees above the horizon -2028-06-03T07:20:52.447Z moonset -2028-06-03T10:26:55.052Z sunrise +2028-06-03T07:20:52.419Z moonset +2028-06-03T10:26:54.887Z sunrise 2028-06-03T17:23:06.322Z Sun culminates 83.84 degrees above the horizon -2028-06-03T20:58:18.793Z moonrise -2028-06-04T00:19:28.319Z sunset +2028-06-03T20:58:18.901Z moonrise +2028-06-04T00:19:28.529Z sunset 2028-06-04T02:32:13.372Z Moon culminates 43.09 degrees above the horizon 2028-06-04T03:39:45.272Z Mercury aphelion at 0.4667 AU -2028-06-04T08:00:53.292Z moonset -2028-06-04T10:26:47.029Z sunrise +2028-06-04T08:00:53.211Z moonset +2028-06-04T10:26:46.861Z sunrise 2028-06-04T17:23:16.686Z Sun culminates 83.95 degrees above the horizon -2028-06-04T22:03:43.422Z moonrise -2028-06-05T00:19:56.490Z sunset +2028-06-04T22:03:43.617Z moonrise +2028-06-05T00:19:56.702Z sunset 2028-06-05T03:26:37.522Z Moon culminates 38.86 degrees above the horizon -2028-06-05T08:45:31.754Z moonset -2028-06-05T10:26:40.338Z sunrise +2028-06-05T08:45:31.610Z moonset +2028-06-05T10:26:40.168Z sunrise 2028-06-05T17:23:27.362Z Sun culminates 84.06 degrees above the horizon -2028-06-05T23:08:27.672Z moonrise -2028-06-06T00:20:23.947Z sunset +2028-06-05T23:08:27.921Z moonrise +2028-06-06T00:20:24.160Z sunset 2028-06-06T04:23:08.930Z Moon culminates 36.02 degrees above the horizon -2028-06-06T09:35:27.410Z moonset -2028-06-06T10:26:34.976Z sunrise +2028-06-06T09:35:27.212Z moonset +2028-06-06T10:26:34.804Z sunrise 2028-06-06T17:23:38.337Z Sun culminates 84.16 degrees above the horizon -2028-06-07T00:10:18.839Z moonrise -2028-06-07T00:20:50.662Z sunset +2028-06-07T00:10:19.096Z moonrise +2028-06-07T00:20:50.877Z sunset 2028-06-07T05:20:33.993Z Moon culminates 34.78 degrees above the horizon 2028-06-07T06:09:21.742Z full moon -2028-06-07T10:26:30.937Z sunrise -2028-06-07T10:30:17.280Z moonset +2028-06-07T10:26:30.764Z sunrise +2028-06-07T10:30:17.045Z moonset 2028-06-07T17:23:49.592Z Sun culminates 84.25 degrees above the horizon -2028-06-08T00:21:16.610Z sunset -2028-06-08T01:07:00.869Z moonrise +2028-06-08T00:21:16.827Z sunset +2028-06-08T01:07:01.104Z moonrise 2028-06-08T06:17:06.285Z Moon culminates 35.16 degrees above the horizon -2028-06-08T10:26:28.217Z sunrise -2028-06-08T11:28:28.218Z moonset +2028-06-08T10:26:28.041Z sunrise +2028-06-08T11:28:27.972Z moonset 2028-06-08T17:24:01.113Z Sun culminates 84.33 degrees above the horizon -2028-06-09T00:21:41.763Z sunset -2028-06-09T01:57:11.664Z moonrise +2028-06-09T00:21:41.982Z sunset +2028-06-09T01:57:11.861Z moonrise 2028-06-09T07:11:06.309Z Moon culminates 37.03 degrees above the horizon -2028-06-09T10:26:26.808Z sunrise -2028-06-09T12:27:48.234Z moonset +2028-06-09T10:26:26.631Z sunrise +2028-06-09T12:27:48.014Z moonset 2028-06-09T17:24:12.884Z Sun culminates 84.41 degrees above the horizon -2028-06-10T00:22:06.096Z sunset -2028-06-10T02:40:45.513Z moonrise +2028-06-10T00:22:06.316Z sunset +2028-06-10T02:40:45.661Z moonrise 2028-06-10T08:01:35.507Z Moon culminates 40.12 degrees above the horizon -2028-06-10T10:26:26.704Z sunrise -2028-06-10T13:26:19.814Z moonset +2028-06-10T10:26:26.526Z sunrise +2028-06-10T13:26:19.657Z moonset 2028-06-10T17:24:24.886Z Sun culminates 84.49 degrees above the horizon -2028-06-11T00:22:29.582Z sunset -2028-06-11T03:18:34.351Z moonrise +2028-06-11T00:22:29.803Z sunset +2028-06-11T03:18:34.445Z moonrise 2028-06-11T08:48:25.050Z Moon culminates 44.14 degrees above the horizon -2028-06-11T10:26:27.896Z sunrise -2028-06-11T14:22:55.971Z moonset +2028-06-11T10:26:27.716Z sunrise +2028-06-11T14:22:55.888Z moonset 2028-06-11T17:24:37.101Z Sun culminates 84.55 degrees above the horizon -2028-06-12T00:22:52.194Z sunset -2028-06-12T03:51:56.271Z moonrise +2028-06-12T00:22:52.416Z sunset +2028-06-12T03:51:56.321Z moonrise 2028-06-12T09:32:04.364Z Moon culminates 48.80 degrees above the horizon -2028-06-12T10:26:30.374Z sunrise -2028-06-12T15:17:23.889Z moonset +2028-06-12T10:26:30.192Z sunrise +2028-06-12T15:17:23.863Z moonset 2028-06-12T17:24:49.512Z Sun culminates 84.61 degrees above the horizon -2028-06-13T00:23:13.905Z sunset -2028-06-13T04:22:13.660Z moonrise +2028-06-13T00:23:14.128Z sunset +2028-06-13T04:22:13.685Z moonrise 2028-06-13T10:13:24.774Z Moon culminates 53.89 degrees above the horizon -2028-06-13T10:26:34.125Z sunrise +2028-06-13T10:26:33.942Z sunrise 2028-06-13T16:10:10.068Z moonset 2028-06-13T17:25:02.099Z Sun culminates 84.66 degrees above the horizon -2028-06-14T00:23:34.689Z sunset +2028-06-14T00:23:34.913Z sunset 2028-06-14T04:46:11.670Z lunar apogee at 404211 km -2028-06-14T04:50:44.448Z moonrise -2028-06-14T10:26:39.136Z sunrise +2028-06-14T04:50:44.464Z moonrise +2028-06-14T10:26:38.953Z sunrise 2028-06-14T10:53:27.623Z Moon culminates 59.22 degrees above the horizon -2028-06-14T17:02:03.565Z moonset +2028-06-14T17:02:03.569Z moonset 2028-06-14T17:25:14.840Z Sun culminates 84.71 degrees above the horizon -2028-06-15T00:23:54.517Z sunset +2028-06-15T00:23:54.742Z sunset 2028-06-15T04:27:58.439Z third quarter -2028-06-15T05:18:41.767Z moonrise -2028-06-15T10:26:45.391Z sunrise +2028-06-15T05:18:41.778Z moonrise +2028-06-15T10:26:45.207Z sunrise 2028-06-15T11:33:18.296Z Moon culminates 64.61 degrees above the horizon 2028-06-15T17:25:27.713Z Sun culminates 84.75 degrees above the horizon -2028-06-15T17:54:03.831Z moonset -2028-06-16T00:24:13.363Z sunset -2028-06-16T05:47:17.528Z moonrise -2028-06-16T10:26:52.873Z sunrise +2028-06-15T17:54:03.838Z moonset +2028-06-16T00:24:13.588Z sunset +2028-06-16T05:47:17.532Z moonrise +2028-06-16T10:26:52.688Z sunrise 2028-06-16T12:14:03.978Z Moon culminates 69.92 degrees above the horizon 2028-06-16T17:25:40.696Z Sun culminates 84.78 degrees above the horizon -2028-06-16T18:47:12.173Z moonset -2028-06-17T00:24:31.197Z sunset -2028-06-17T06:17:47.247Z moonrise -2028-06-17T10:27:01.561Z sunrise +2028-06-16T18:47:12.198Z moonset +2028-06-17T00:24:31.423Z sunset +2028-06-17T06:17:47.233Z moonrise +2028-06-17T10:27:01.375Z sunrise 2028-06-17T12:56:52.224Z Moon culminates 74.97 degrees above the horizon 2028-06-17T17:25:53.763Z Sun culminates 84.80 degrees above the horizon -2028-06-17T19:42:22.951Z moonset -2028-06-18T00:24:47.993Z sunset -2028-06-18T06:51:34.136Z moonrise -2028-06-18T10:27:11.433Z sunrise +2028-06-17T19:42:23.019Z moonset +2028-06-18T00:24:48.219Z sunset +2028-06-18T06:51:34.087Z moonrise +2028-06-18T10:27:11.247Z sunrise 2028-06-18T13:42:47.088Z Moon culminates 79.54 degrees above the horizon 2028-06-18T17:26:06.890Z Sun culminates 84.82 degrees above the horizon -2028-06-18T20:40:10.096Z moonset -2028-06-19T00:25:03.721Z sunset -2028-06-19T07:30:09.440Z moonrise -2028-06-19T10:27:22.465Z sunrise +2028-06-18T20:40:10.225Z moonset +2028-06-19T00:25:03.948Z sunset +2028-06-19T07:30:09.347Z moonrise +2028-06-19T10:27:22.279Z sunrise 2028-06-19T14:32:39.242Z Moon culminates 83.33 degrees above the horizon 2028-06-19T17:26:20.050Z Sun culminates 84.83 degrees above the horizon -2028-06-19T21:40:26.665Z moonset -2028-06-20T00:25:18.354Z sunset -2028-06-20T08:15:03.255Z moonrise -2028-06-20T10:27:34.632Z sunrise +2028-06-19T21:40:26.844Z moonset +2028-06-20T00:25:18.581Z sunset +2028-06-20T08:15:03.119Z moonrise +2028-06-20T10:27:34.445Z sunrise 2028-06-20T15:26:47.813Z Moon culminates 86.02 degrees above the horizon 2028-06-20T17:26:33.215Z Sun culminates 84.84 degrees above the horizon 2028-06-20T20:01:44.926Z June solstice -2028-06-20T22:42:03.418Z moonset -2028-06-21T00:25:31.864Z sunset -2028-06-21T09:07:18.512Z moonrise -2028-06-21T10:27:47.905Z sunrise +2028-06-20T22:42:03.617Z moonset +2028-06-21T00:25:32.091Z sunset +2028-06-21T09:07:18.341Z moonrise +2028-06-21T10:27:47.718Z sunrise 2028-06-21T16:24:38.505Z Moon culminates 87.25 degrees above the horizon 2028-06-21T17:26:46.358Z Sun culminates 84.84 degrees above the horizon -2028-06-21T23:42:47.195Z moonset -2028-06-22T00:25:44.223Z sunset -2028-06-22T10:06:50.101Z moonrise -2028-06-22T10:28:02.256Z sunrise +2028-06-21T23:42:47.384Z moonset +2028-06-22T00:25:44.450Z sunset +2028-06-22T10:06:49.909Z moonrise +2028-06-22T10:28:02.069Z sunrise 2028-06-22T17:24:35.500Z Moon culminates 86.75 degrees above the horizon 2028-06-22T17:26:59.451Z Sun culminates 84.83 degrees above the horizon 2028-06-22T18:28:05.502Z new moon -2028-06-23T00:25:55.404Z sunset -2028-06-23T00:40:01.366Z moonset -2028-06-23T10:28:17.655Z sunrise -2028-06-23T11:11:57.892Z moonrise +2028-06-23T00:25:55.630Z sunset +2028-06-23T00:40:01.525Z moonset +2028-06-23T10:28:17.469Z sunrise +2028-06-23T11:11:57.704Z moonrise 2028-06-23T17:27:12.464Z Sun culminates 84.81 degrees above the horizon 2028-06-23T18:24:27.304Z Moon culminates 84.46 degrees above the horizon -2028-06-24T00:26:05.381Z sunset -2028-06-24T01:31:53.141Z moonset -2028-06-24T10:28:34.071Z sunrise -2028-06-24T12:19:54.670Z moonrise +2028-06-24T00:26:05.606Z sunset +2028-06-24T01:31:53.258Z moonset +2028-06-24T10:28:33.885Z sunrise +2028-06-24T12:19:54.527Z moonrise 2028-06-24T17:27:25.370Z Sun culminates 84.79 degrees above the horizon 2028-06-24T19:22:19.080Z Moon culminates 80.54 degrees above the horizon -2028-06-25T00:26:14.128Z sunset -2028-06-25T02:17:54.213Z moonset -2028-06-25T10:28:51.473Z sunrise -2028-06-25T13:28:00.887Z moonrise +2028-06-25T00:26:14.353Z sunset +2028-06-25T02:17:54.281Z moonset +2028-06-25T10:28:51.287Z sunrise +2028-06-25T13:28:00.814Z moonrise 2028-06-25T17:27:38.142Z Sun culminates 84.76 degrees above the horizon 2028-06-25T20:17:13.373Z Moon culminates 75.34 degrees above the horizon -2028-06-26T00:26:21.621Z sunset -2028-06-26T02:58:49.934Z moonset +2028-06-26T00:26:21.845Z sunset +2028-06-26T02:58:49.963Z moonset 2028-06-26T04:22:27.587Z lunar perigee at 366519 km -2028-06-26T10:29:09.830Z sunrise -2028-06-26T14:34:43.740Z moonrise +2028-06-26T10:29:09.645Z sunrise +2028-06-26T14:34:43.721Z moonrise 2028-06-26T17:27:50.751Z Sun culminates 84.72 degrees above the horizon 2028-06-26T19:34:00.855Z Mercury max morning elongation: 22.23 degrees from Sun 2028-06-26T21:09:15.116Z Moon culminates 69.27 degrees above the horizon -2028-06-27T00:26:27.837Z sunset -2028-06-27T03:36:04.647Z moonset -2028-06-27T10:29:29.112Z sunrise +2028-06-27T00:26:28.061Z sunset +2028-06-27T03:36:04.658Z moonset +2028-06-27T10:29:28.928Z sunrise 2028-06-27T15:39:44.945Z moonrise 2028-06-27T17:28:03.171Z Sun culminates 84.67 degrees above the horizon 2028-06-27T21:59:12.406Z Moon culminates 62.78 degrees above the horizon -2028-06-28T00:26:32.756Z sunset -2028-06-28T04:11:14.571Z moonset -2028-06-28T10:29:49.288Z sunrise -2028-06-28T16:43:35.519Z moonrise +2028-06-28T00:26:32.979Z sunset +2028-06-28T04:11:14.578Z moonset +2028-06-28T10:29:49.104Z sunrise +2028-06-28T16:43:35.521Z moonrise 2028-06-28T17:28:15.379Z Sun culminates 84.62 degrees above the horizon 2028-06-28T22:48:14.025Z Moon culminates 56.26 degrees above the horizon -2028-06-29T00:26:36.361Z sunset -2028-06-29T04:45:55.846Z moonset -2028-06-29T10:30:10.327Z sunrise +2028-06-29T00:26:36.582Z sunset +2028-06-29T04:45:55.849Z moonset +2028-06-29T10:30:10.144Z sunrise 2028-06-29T12:11:06.836Z first quarter 2028-06-29T17:28:27.351Z Sun culminates 84.57 degrees above the horizon -2028-06-29T17:47:04.569Z moonrise +2028-06-29T17:47:04.591Z moonrise 2028-06-29T23:37:32.589Z Moon culminates 50.08 degrees above the horizon -2028-06-30T00:26:38.634Z sunset -2028-06-30T05:21:41.943Z moonset -2028-06-30T10:30:32.199Z sunrise +2028-06-30T00:26:38.854Z sunset +2028-06-30T05:21:41.925Z moonset +2028-06-30T10:30:32.017Z sunrise 2028-06-30T17:28:39.064Z Sun culminates 84.50 degrees above the horizon -2028-06-30T18:50:51.881Z moonrise -2028-07-01T00:26:39.563Z sunset +2028-06-30T18:50:51.965Z moonrise +2028-07-01T00:26:39.781Z sunset 2028-07-01T00:28:11.652Z Moon culminates 44.56 degrees above the horizon -2028-07-01T06:00:02.882Z moonset -2028-07-01T10:30:54.875Z sunrise +2028-07-01T06:00:02.819Z moonset +2028-07-01T10:30:54.694Z sunrise 2028-07-01T17:28:50.498Z Sun culminates 84.43 degrees above the horizon -2028-07-01T19:55:03.780Z moonrise -2028-07-02T00:26:39.135Z sunset +2028-07-01T19:55:03.949Z moonrise +2028-07-02T00:26:39.353Z sunset 2028-07-02T01:20:52.415Z Moon culminates 40.04 degrees above the horizon -2028-07-02T06:42:19.758Z moonset -2028-07-02T10:31:18.324Z sunrise +2028-07-02T06:42:19.634Z moonset +2028-07-02T10:31:18.145Z sunrise 2028-07-02T17:29:01.632Z Sun culminates 84.35 degrees above the horizon -2028-07-02T20:58:54.379Z moonrise -2028-07-03T00:26:37.343Z sunset +2028-07-02T20:58:54.615Z moonrise +2028-07-03T00:26:37.559Z sunset 2028-07-03T02:15:38.919Z Moon culminates 36.78 degrees above the horizon -2028-07-03T07:29:29.603Z moonset -2028-07-03T10:31:42.518Z sunrise +2028-07-03T07:29:29.421Z moonset +2028-07-03T10:31:42.341Z sunrise 2028-07-03T17:29:12.449Z Sun culminates 84.27 degrees above the horizon -2028-07-03T22:00:44.144Z moonrise +2028-07-03T22:00:44.402Z moonrise 2028-07-03T22:37:48.425Z Earth aphelion at 1.0167 AU -2028-07-04T00:26:34.178Z sunset +2028-07-04T00:26:34.392Z sunset 2028-07-04T03:11:47.918Z Moon culminates 35.01 degrees above the horizon -2028-07-04T08:21:41.663Z moonset -2028-07-04T10:32:07.429Z sunrise +2028-07-04T08:21:41.439Z moonset +2028-07-04T10:32:07.253Z sunrise 2028-07-04T17:29:22.931Z Sun culminates 84.18 degrees above the horizon -2028-07-04T22:58:29.068Z moonrise -2028-07-05T00:26:29.634Z sunset +2028-07-04T22:58:29.314Z moonrise +2028-07-05T00:26:29.846Z sunset 2028-07-05T04:07:55.396Z Moon culminates 34.82 degrees above the horizon 2028-07-05T06:58:52.363Z Venus peak magnitude -4.69 in morning sky -2028-07-05T09:17:59.718Z moonset -2028-07-05T10:32:33.028Z sunrise +2028-07-05T09:17:59.473Z moonset +2028-07-05T10:32:32.854Z sunrise 2028-07-05T17:29:33.062Z Sun culminates 84.08 degrees above the horizon -2028-07-05T23:50:31.134Z moonrise -2028-07-06T00:26:23.706Z sunset +2028-07-05T23:50:31.348Z moonrise +2028-07-06T00:26:23.916Z sunset 2028-07-06T05:02:24.581Z Moon culminates 36.14 degrees above the horizon -2028-07-06T10:16:33.066Z moonset -2028-07-06T10:32:59.289Z sunrise +2028-07-06T10:16:32.831Z moonset +2028-07-06T10:32:59.117Z sunrise 2028-07-06T17:29:42.826Z Sun culminates 83.98 degrees above the horizon 2028-07-06T18:11:24.734Z full moon 2028-07-06T18:19:38.378Z partial lunar eclipse -2028-07-07T00:26:16.392Z sunset -2028-07-07T00:36:14.568Z moonrise +2028-07-07T00:26:16.600Z sunset +2028-07-07T00:36:14.737Z moonrise 2028-07-07T05:54:01.002Z Moon culminates 38.78 degrees above the horizon -2028-07-07T10:33:26.185Z sunrise -2028-07-07T11:15:18.676Z moonset +2028-07-07T10:33:26.016Z sunrise +2028-07-07T11:15:18.490Z moonset 2028-07-07T17:29:52.210Z Sun culminates 83.87 degrees above the horizon 2028-07-07T20:34:00.172Z Mercury moves from Taurus to Orion -2028-07-08T00:26:07.690Z sunset -2028-07-08T01:16:05.149Z moonrise +2028-07-08T00:26:07.895Z sunset +2028-07-08T01:16:05.264Z moonrise 2028-07-08T06:42:12.601Z Moon culminates 42.47 degrees above the horizon -2028-07-08T10:33:53.690Z sunrise -2028-07-08T12:12:45.405Z moonset +2028-07-08T10:33:53.523Z sunrise +2028-07-08T12:12:45.294Z moonset 2028-07-08T17:30:01.198Z Sun culminates 83.75 degrees above the horizon -2028-07-09T00:25:57.598Z sunset -2028-07-09T01:51:05.753Z moonrise +2028-07-09T00:25:57.801Z sunset +2028-07-09T01:51:05.818Z moonrise 2028-07-09T07:27:08.341Z Moon culminates 46.92 degrees above the horizon 2028-07-09T09:01:30.820Z Mercury moves from Orion to Gemini -2028-07-09T10:34:21.778Z sunrise -2028-07-09T13:08:12.864Z moonset +2028-07-09T10:34:21.613Z sunrise +2028-07-09T13:08:12.819Z moonset 2028-07-09T15:10:11.109Z Venus aphelion at 0.7282 AU 2028-07-09T17:30:09.779Z Sun culminates 83.63 degrees above the horizon -2028-07-10T00:25:46.116Z sunset -2028-07-10T02:22:32.229Z moonrise +2028-07-10T00:25:46.316Z sunset +2028-07-10T02:22:32.261Z moonrise 2028-07-10T08:09:25.375Z Moon culminates 51.90 degrees above the horizon -2028-07-10T10:34:50.423Z sunrise -2028-07-10T14:01:45.618Z moonset +2028-07-10T10:34:50.260Z sunrise +2028-07-10T14:01:45.611Z moonset 2028-07-10T17:30:17.940Z Sun culminates 83.50 degrees above the horizon -2028-07-11T00:25:33.245Z sunset -2028-07-11T02:51:40.123Z moonrise +2028-07-11T00:25:33.443Z sunset +2028-07-11T02:51:40.141Z moonrise 2028-07-11T08:49:56.177Z Moon culminates 57.16 degrees above the horizon -2028-07-11T10:35:19.598Z sunrise -2028-07-11T14:53:58.087Z moonset +2028-07-11T10:35:19.438Z sunrise +2028-07-11T14:53:58.091Z moonset 2028-07-11T17:30:25.667Z Sun culminates 83.36 degrees above the horizon 2028-07-11T22:25:42.236Z lunar apogee at 404934 km -2028-07-12T00:25:18.988Z sunset -2028-07-12T03:19:40.944Z moonrise +2028-07-12T00:25:19.183Z sunset +2028-07-12T03:19:40.957Z moonrise 2028-07-12T09:29:40.354Z Moon culminates 62.54 degrees above the horizon -2028-07-12T10:35:49.277Z sunrise -2028-07-12T15:45:40.915Z moonset +2028-07-12T10:35:49.120Z sunrise +2028-07-12T15:45:40.920Z moonset 2028-07-12T17:30:32.948Z Sun culminates 83.22 degrees above the horizon -2028-07-13T00:25:03.345Z sunset -2028-07-13T03:47:43.795Z moonrise +2028-07-13T00:25:03.537Z sunset +2028-07-13T03:47:43.803Z moonrise 2028-07-13T10:09:40.843Z Moon culminates 67.88 degrees above the horizon -2028-07-13T10:36:19.432Z sunrise -2028-07-13T16:37:51.276Z moonset +2028-07-13T10:36:19.278Z sunrise +2028-07-13T16:37:51.291Z moonset 2028-07-13T17:30:39.771Z Sun culminates 83.07 degrees above the horizon -2028-07-14T00:24:46.319Z sunset -2028-07-14T04:16:59.388Z moonrise -2028-07-14T10:36:50.036Z sunrise +2028-07-14T00:24:46.509Z sunset +2028-07-14T04:16:59.383Z moonrise +2028-07-14T10:36:49.885Z sunrise 2028-07-14T10:51:02.352Z Moon culminates 73.00 degrees above the horizon 2028-07-14T17:30:46.124Z Sun culminates 82.91 degrees above the horizon -2028-07-14T17:31:25.061Z moonset +2028-07-14T17:31:25.110Z moonset 2028-07-14T20:57:06.083Z third quarter -2028-07-15T00:24:27.914Z sunset -2028-07-15T04:48:44.569Z moonrise -2028-07-15T10:37:21.059Z sunrise +2028-07-15T00:24:28.100Z sunset +2028-07-15T04:48:44.536Z moonrise +2028-07-15T10:37:20.912Z sunrise 2028-07-15T11:34:49.446Z Moon culminates 77.72 degrees above the horizon 2028-07-15T17:30:51.992Z Sun culminates 82.75 degrees above the horizon -2028-07-15T18:27:07.250Z moonset -2028-07-16T00:24:08.132Z sunset -2028-07-16T05:24:25.337Z moonrise -2028-07-16T10:37:52.473Z sunrise +2028-07-15T18:27:07.354Z moonset +2028-07-16T00:24:08.315Z sunset +2028-07-16T05:24:25.263Z moonrise +2028-07-16T10:37:52.329Z sunrise 2028-07-16T12:22:01.180Z Moon culminates 81.81 degrees above the horizon 2028-07-16T17:30:57.364Z Sun culminates 82.59 degrees above the horizon -2028-07-16T19:25:16.880Z moonset -2028-07-17T00:23:46.977Z sunset -2028-07-17T06:05:34.491Z moonrise -2028-07-17T10:38:24.248Z sunrise +2028-07-16T19:25:17.041Z moonset +2028-07-17T00:23:47.157Z sunset +2028-07-17T06:05:34.373Z moonrise +2028-07-17T10:38:24.107Z sunrise 2028-07-17T13:13:18.988Z Moon culminates 84.98 degrees above the horizon 2028-07-17T17:31:02.225Z Sun culminates 82.41 degrees above the horizon -2028-07-17T20:25:26.672Z moonset -2028-07-18T00:23:24.453Z sunset +2028-07-17T20:25:26.867Z moonset +2028-07-18T00:23:24.629Z sunset 2028-07-18T03:18:10.145Z Mercury perihelion at 0.3075 AU -2028-07-18T06:53:37.154Z moonrise -2028-07-18T10:38:56.352Z sunrise +2028-07-18T06:53:36.998Z moonrise +2028-07-18T10:38:56.215Z sunrise 2028-07-18T14:08:47.105Z Moon culminates 86.89 degrees above the horizon 2028-07-18T17:31:06.564Z Sun culminates 82.23 degrees above the horizon -2028-07-18T21:26:07.726Z moonset -2028-07-19T00:23:00.564Z sunset -2028-07-19T07:49:18.347Z moonrise -2028-07-19T10:39:28.755Z sunrise +2028-07-18T21:26:07.923Z moonset +2028-07-19T00:23:00.737Z sunset +2028-07-19T07:49:18.162Z moonrise +2028-07-19T10:39:28.622Z sunrise 2028-07-19T15:07:33.673Z Moon culminates 87.23 degrees above the horizon 2028-07-19T17:31:10.365Z Sun culminates 82.05 degrees above the horizon -2028-07-19T22:25:01.566Z moonset -2028-07-20T00:22:35.315Z sunset -2028-07-20T08:52:02.387Z moonrise -2028-07-20T10:40:01.426Z sunrise +2028-07-19T22:25:01.741Z moonset +2028-07-20T00:22:35.484Z sunset +2028-07-20T08:52:02.192Z moonrise +2028-07-20T10:40:01.297Z sunrise 2028-07-20T16:07:52.078Z Moon culminates 85.79 degrees above the horizon 2028-07-20T17:31:13.617Z Sun culminates 81.86 degrees above the horizon -2028-07-20T23:19:50.863Z moonset -2028-07-21T00:22:08.711Z sunset +2028-07-20T23:19:51.001Z moonset +2028-07-21T00:22:08.876Z sunset 2028-07-21T07:28:52.382Z Jupiter moves from Leo to Virgo -2028-07-21T09:59:41.226Z moonrise -2028-07-21T10:40:34.333Z sunrise +2028-07-21T09:59:41.056Z moonrise +2028-07-21T10:40:34.208Z sunrise 2028-07-21T15:31:37.837Z Mars moves from Taurus to Gemini 2028-07-21T17:07:36.095Z Moon culminates 82.56 degrees above the horizon 2028-07-21T17:31:16.306Z Sun culminates 81.66 degrees above the horizon -2028-07-22T00:09:18.215Z moonset -2028-07-22T00:21:40.757Z sunset +2028-07-22T00:09:18.304Z moonset +2028-07-22T00:21:40.918Z sunset 2028-07-22T03:02:12.820Z new moon -2028-07-22T10:41:07.446Z sunrise -2028-07-22T11:09:22.183Z moonrise +2028-07-22T10:41:07.325Z sunrise +2028-07-22T11:09:22.077Z moonrise 2028-07-22T17:31:18.420Z Sun culminates 81.46 degrees above the horizon 2028-07-22T18:05:10.338Z Moon culminates 77.78 degrees above the horizon -2028-07-23T00:21:11.459Z sunset -2028-07-23T00:53:26.553Z moonset +2028-07-23T00:21:11.617Z sunset +2028-07-23T00:53:26.595Z moonset 2028-07-23T04:30:34.604Z Mercury moves from Gemini to Cancer -2028-07-23T10:41:40.734Z sunrise -2028-07-23T12:18:43.594Z moonrise +2028-07-23T10:41:40.618Z sunrise +2028-07-23T12:18:43.557Z moonrise 2028-07-23T17:31:19.948Z Sun culminates 81.25 degrees above the horizon 2028-07-23T18:59:59.337Z Moon culminates 71.87 degrees above the horizon 2028-07-23T22:17:50.903Z lunar perigee at 361625 km -2028-07-24T00:20:40.825Z sunset -2028-07-24T01:33:17.706Z moonset -2028-07-24T10:42:14.170Z sunrise -2028-07-24T13:26:36.774Z moonrise +2028-07-24T00:20:40.978Z sunset +2028-07-24T01:33:17.721Z moonset +2028-07-24T10:42:14.058Z sunrise +2028-07-24T13:26:36.770Z moonrise 2028-07-24T17:31:20.879Z Sun culminates 81.04 degrees above the horizon 2028-07-24T19:52:23.111Z Moon culminates 65.30 degrees above the horizon -2028-07-25T00:20:08.862Z sunset -2028-07-25T02:10:20.684Z moonset -2028-07-25T10:42:47.726Z sunrise +2028-07-25T00:20:09.011Z sunset +2028-07-25T02:10:20.691Z moonset +2028-07-25T10:42:47.619Z sunrise 2028-07-25T12:53:09.318Z Mercury superior conjunction 2028-07-25T14:32:58.876Z moonrise 2028-07-25T17:31:21.204Z Sun culminates 80.82 degrees above the horizon 2028-07-25T20:43:15.746Z Moon culminates 58.54 degrees above the horizon -2028-07-26T00:19:35.579Z sunset -2028-07-26T02:46:11.164Z moonset -2028-07-26T10:43:21.377Z sunrise -2028-07-26T15:38:22.447Z moonrise +2028-07-26T00:19:35.725Z sunset +2028-07-26T02:46:11.169Z moonset +2028-07-26T10:43:21.274Z sunrise +2028-07-26T15:38:22.458Z moonrise 2028-07-26T17:31:20.916Z Sun culminates 80.60 degrees above the horizon 2028-07-26T21:33:44.080Z Moon culminates 52.04 degrees above the horizon -2028-07-27T00:19:00.988Z sunset -2028-07-27T03:22:23.350Z moonset -2028-07-27T10:43:55.098Z sunrise -2028-07-27T16:43:23.664Z moonrise +2028-07-27T00:19:01.130Z sunset +2028-07-27T03:22:23.342Z moonset +2028-07-27T10:43:54.999Z sunrise +2028-07-27T16:43:23.724Z moonrise 2028-07-27T17:31:20.010Z Sun culminates 80.37 degrees above the horizon 2028-07-27T22:24:51.356Z Moon culminates 46.17 degrees above the horizon -2028-07-28T00:18:25.102Z sunset -2028-07-28T04:00:27.388Z moonset -2028-07-28T10:44:28.865Z sunrise +2028-07-28T00:18:25.239Z sunset +2028-07-28T04:00:27.342Z moonset +2028-07-28T10:44:28.772Z sunrise 2028-07-28T17:31:18.481Z Sun culminates 80.13 degrees above the horizon 2028-07-28T17:40:38.887Z first quarter -2028-07-28T17:48:15.618Z moonrise +2028-07-28T17:48:15.761Z moonrise 2028-07-28T23:17:23.424Z Moon culminates 41.27 degrees above the horizon -2028-07-29T00:17:47.935Z sunset -2028-07-29T04:41:45.283Z moonset -2028-07-29T10:45:02.659Z sunrise +2028-07-29T00:17:48.068Z sunset +2028-07-29T04:41:45.177Z moonset +2028-07-29T10:45:02.570Z sunrise 2028-07-29T17:31:16.326Z Sun culminates 79.89 degrees above the horizon -2028-07-29T18:52:28.558Z moonrise +2028-07-29T18:52:28.779Z moonrise 2028-07-30T00:11:35.399Z Moon culminates 37.61 degrees above the horizon -2028-07-30T00:17:09.503Z sunset -2028-07-30T05:27:19.959Z moonset +2028-07-30T00:17:09.631Z sunset +2028-07-30T05:27:19.794Z moonset 2028-07-30T05:47:16.825Z Pluto opposition -2028-07-30T10:45:36.458Z sunrise +2028-07-30T10:45:36.374Z sunrise 2028-07-30T17:31:13.544Z Sun culminates 79.65 degrees above the horizon -2028-07-30T19:54:44.551Z moonrise -2028-07-31T00:16:29.823Z sunset +2028-07-30T19:54:44.807Z moonrise +2028-07-31T00:16:29.947Z sunset 2028-07-31T01:07:01.816Z Moon culminates 35.39 degrees above the horizon -2028-07-31T06:17:36.435Z moonset -2028-07-31T10:46:10.245Z sunrise +2028-07-31T06:17:36.222Z moonset +2028-07-31T10:46:10.167Z sunrise 2028-07-31T17:31:10.136Z Sun culminates 79.40 degrees above the horizon -2028-07-31T20:53:17.040Z moonrise -2028-08-01T00:15:48.914Z sunset +2028-07-31T20:53:17.292Z moonrise +2028-08-01T00:15:49.034Z sunset 2028-08-01T02:02:38.640Z Moon culminates 34.71 degrees above the horizon -2028-08-01T07:12:03.949Z moonset -2028-08-01T10:46:44.004Z sunrise +2028-08-01T07:12:03.708Z moonset +2028-08-01T10:46:43.931Z sunrise 2028-08-01T17:31:06.104Z Sun culminates 79.15 degrees above the horizon 2028-08-01T18:33:32.138Z Mercury moves from Cancer to Leo -2028-08-01T21:46:31.850Z moonrise -2028-08-02T00:15:06.796Z sunset +2028-08-01T21:46:32.077Z moonrise +2028-08-02T00:15:06.912Z sunset 2028-08-02T02:57:02.843Z Moon culminates 35.54 degrees above the horizon -2028-08-02T08:09:17.182Z moonset -2028-08-02T10:47:17.722Z sunrise +2028-08-02T08:09:16.941Z moonset +2028-08-02T10:47:17.654Z sunrise 2028-08-02T17:31:01.451Z Sun culminates 78.89 degrees above the horizon -2028-08-02T22:33:43.724Z moonrise -2028-08-03T00:14:23.490Z sunset +2028-08-02T22:33:43.911Z moonrise +2028-08-03T00:14:23.601Z sunset 2028-08-03T03:49:01.878Z Moon culminates 37.73 degrees above the horizon -2028-08-03T09:07:25.557Z moonset -2028-08-03T10:47:51.385Z sunrise +2028-08-03T09:07:25.351Z moonset +2028-08-03T10:47:51.322Z sunrise 2028-08-03T17:30:56.182Z Sun culminates 78.62 degrees above the horizon -2028-08-03T23:15:04.295Z moonrise -2028-08-04T00:13:39.017Z sunset +2028-08-03T23:15:04.429Z moonrise +2028-08-04T00:13:39.123Z sunset 2028-08-04T04:37:55.651Z Moon culminates 41.05 degrees above the horizon -2028-08-04T10:04:53.627Z moonset -2028-08-04T10:48:24.983Z sunrise +2028-08-04T10:04:53.489Z moonset +2028-08-04T10:48:24.925Z sunrise 2028-08-04T17:30:50.303Z Sun culminates 78.36 degrees above the horizon -2028-08-04T23:51:25.027Z moonrise -2028-08-05T00:12:53.399Z sunset +2028-08-04T23:51:25.109Z moonrise +2028-08-05T00:12:53.501Z sunset 2028-08-05T05:23:41.096Z Moon culminates 45.23 degrees above the horizon 2028-08-05T08:10:24.736Z full moon 2028-08-05T08:50:21.392Z Venus moves from Taurus to Orion -2028-08-05T10:48:58.507Z sunrise -2028-08-05T11:00:46.354Z moonset +2028-08-05T10:48:58.454Z sunrise +2028-08-05T11:00:46.288Z moonset 2028-08-05T17:30:43.822Z Sun culminates 78.08 degrees above the horizon -2028-08-06T00:12:06.659Z sunset -2028-08-06T00:23:54.885Z moonrise +2028-08-06T00:12:06.757Z sunset +2028-08-06T00:23:54.927Z moonrise 2028-08-06T06:06:43.941Z Moon culminates 50.02 degrees above the horizon -2028-08-06T10:49:31.949Z sunrise -2028-08-06T11:54:51.413Z moonset +2028-08-06T10:49:31.902Z sunrise +2028-08-06T11:54:51.396Z moonset 2028-08-06T17:30:36.745Z Sun culminates 77.81 degrees above the horizon -2028-08-07T00:11:18.822Z sunset -2028-08-07T00:53:45.537Z moonrise +2028-08-07T00:11:18.915Z sunset +2028-08-07T00:53:45.559Z moonrise 2028-08-07T06:47:47.361Z Moon culminates 55.19 degrees above the horizon -2028-08-07T10:50:05.303Z sunrise -2028-08-07T12:47:28.447Z moonset +2028-08-07T10:50:05.261Z sunrise +2028-08-07T12:47:28.449Z moonset 2028-08-07T17:30:29.082Z Sun culminates 77.52 degrees above the horizon -2028-08-08T00:10:29.909Z sunset -2028-08-08T01:22:05.541Z moonrise +2028-08-08T00:10:29.999Z sunset +2028-08-08T01:22:05.556Z moonrise 2028-08-08T07:27:43.407Z Moon culminates 60.55 degrees above the horizon -2028-08-08T10:50:38.562Z sunrise +2028-08-08T10:50:38.525Z sunrise 2028-08-08T12:53:30.774Z lunar apogee at 405883 km -2028-08-08T13:39:16.355Z moonset +2028-08-08T13:39:16.360Z moonset 2028-08-08T17:30:20.841Z Sun culminates 77.24 degrees above the horizon -2028-08-09T00:09:39.947Z sunset -2028-08-09T01:50:00.353Z moonrise +2028-08-09T00:09:40.032Z sunset +2028-08-09T01:50:00.363Z moonrise 2028-08-09T08:07:28.261Z Moon culminates 65.90 degrees above the horizon -2028-08-09T10:51:11.722Z sunrise -2028-08-09T14:31:03.271Z moonset +2028-08-09T10:51:11.690Z sunrise +2028-08-09T14:31:03.281Z moonset 2028-08-09T17:30:12.033Z Sun culminates 76.95 degrees above the horizon -2028-08-10T00:08:48.958Z sunset -2028-08-10T02:18:35.179Z moonrise +2028-08-10T00:08:49.040Z sunset +2028-08-10T02:18:35.181Z moonrise 2028-08-10T08:48:00.071Z Moon culminates 71.09 degrees above the horizon -2028-08-10T10:51:44.776Z sunrise -2028-08-10T15:23:38.877Z moonset +2028-08-10T10:51:44.749Z sunrise +2028-08-10T15:23:38.910Z moonset 2028-08-10T16:05:17.918Z Venus max morning elongation: 45.78 degrees from Sun 2028-08-10T17:30:02.666Z Sun culminates 76.65 degrees above the horizon -2028-08-11T00:07:56.967Z sunset -2028-08-11T02:48:58.839Z moonrise +2028-08-11T00:07:57.045Z sunset +2028-08-11T02:48:58.819Z moonrise 2028-08-11T09:30:17.418Z Moon culminates 75.93 degrees above the horizon -2028-08-11T10:52:17.720Z sunrise -2028-08-11T16:17:46.672Z moonset +2028-08-11T10:52:17.698Z sunrise +2028-08-11T16:17:46.752Z moonset 2028-08-11T17:29:52.751Z Sun culminates 76.35 degrees above the horizon -2028-08-12T00:07:03.998Z sunset -2028-08-12T03:22:27.151Z moonrise +2028-08-12T00:07:04.071Z sunset +2028-08-12T03:22:27.094Z moonrise 2028-08-12T10:15:16.225Z Moon culminates 80.22 degrees above the horizon -2028-08-12T10:52:50.549Z sunrise -2028-08-12T17:13:53.364Z moonset +2028-08-12T10:52:50.532Z sunrise +2028-08-12T17:13:53.503Z moonset 2028-08-12T17:29:42.296Z Sun culminates 76.05 degrees above the horizon -2028-08-13T00:06:10.074Z sunset +2028-08-13T00:06:10.143Z sunset 2028-08-13T02:26:38.924Z Venus moves from Orion to Gemini -2028-08-13T04:00:23.541Z moonrise -2028-08-13T10:53:23.257Z sunrise +2028-08-13T04:00:23.440Z moonrise +2028-08-13T10:53:23.245Z sunrise 2028-08-13T11:03:42.590Z Moon culminates 83.73 degrees above the horizon 2028-08-13T11:45:52.433Z third quarter 2028-08-13T17:29:31.310Z Sun culminates 75.75 degrees above the horizon -2028-08-13T18:11:54.056Z moonset -2028-08-14T00:05:15.218Z sunset -2028-08-14T04:44:12.520Z moonrise -2028-08-14T10:53:55.839Z sunrise +2028-08-13T18:11:54.240Z moonset +2028-08-14T00:05:15.284Z sunset +2028-08-14T04:44:12.380Z moonrise +2028-08-14T10:53:55.832Z sunrise 2028-08-14T11:55:59.792Z Moon culminates 86.16 degrees above the horizon 2028-08-14T17:29:19.803Z Sun culminates 75.44 degrees above the horizon -2028-08-14T19:10:57.225Z moonset -2028-08-15T00:04:19.455Z sunset -2028-08-15T05:35:00.365Z moonrise -2028-08-15T10:54:28.290Z sunrise +2028-08-14T19:10:57.425Z moonset +2028-08-15T00:04:19.516Z sunset +2028-08-15T05:35:00.192Z moonrise +2028-08-15T10:54:28.287Z sunrise 2028-08-15T12:51:51.851Z Moon culminates 87.22 degrees above the horizon 2028-08-15T17:29:07.782Z Sun culminates 75.12 degrees above the horizon -2028-08-15T20:09:22.766Z moonset -2028-08-16T00:03:22.805Z sunset -2028-08-16T06:33:02.741Z moonrise -2028-08-16T10:55:00.602Z sunrise +2028-08-15T20:09:22.954Z moonset +2028-08-16T00:03:22.863Z sunset +2028-08-16T06:33:02.549Z moonrise +2028-08-16T10:55:00.604Z sunrise 2028-08-16T13:50:14.308Z Moon culminates 86.67 degrees above the horizon 2028-08-16T17:28:55.256Z Sun culminates 74.80 degrees above the horizon -2028-08-16T21:05:08.199Z moonset -2028-08-17T00:02:25.292Z sunset -2028-08-17T07:37:17.126Z moonrise -2028-08-17T10:55:32.770Z sunrise +2028-08-16T21:05:08.357Z moonset +2028-08-17T00:02:25.346Z sunset +2028-08-17T07:37:16.940Z moonrise +2028-08-17T10:55:32.777Z sunrise 2028-08-17T14:49:27.082Z Moon culminates 84.36 degrees above the horizon 2028-08-17T17:28:42.233Z Sun culminates 74.48 degrees above the horizon -2028-08-17T21:56:36.928Z moonset -2028-08-18T00:01:26.938Z sunset -2028-08-18T08:45:32.264Z moonrise -2028-08-18T10:56:04.788Z sunrise +2028-08-17T21:56:37.043Z moonset +2028-08-18T00:01:26.989Z sunset +2028-08-18T08:45:32.122Z moonrise +2028-08-18T10:56:04.799Z sunrise 2028-08-18T15:47:50.492Z Moon culminates 80.38 degrees above the horizon 2028-08-18T17:28:28.721Z Sun culminates 74.16 degrees above the horizon -2028-08-18T22:43:14.917Z moonset -2028-08-19T00:00:27.764Z sunset -2028-08-19T09:55:21.596Z moonrise -2028-08-19T10:56:36.649Z sunrise +2028-08-18T22:43:14.981Z moonset +2028-08-19T00:00:27.811Z sunset +2028-08-19T09:55:21.526Z moonrise +2028-08-19T10:56:36.664Z sunrise 2028-08-19T16:44:22.143Z Moon culminates 74.99 degrees above the horizon 2028-08-19T17:28:14.727Z Sun culminates 73.83 degrees above the horizon -2028-08-19T23:25:31.866Z moonset -2028-08-19T23:59:27.791Z sunset +2028-08-19T23:25:31.891Z moonset +2028-08-19T23:59:27.836Z sunset 2028-08-20T10:44:17.893Z new moon -2028-08-20T10:57:08.348Z sunrise -2028-08-20T11:05:00.411Z moonrise +2028-08-20T10:57:08.368Z sunrise +2028-08-20T11:05:00.395Z moonrise 2028-08-20T17:28:00.260Z Sun culminates 73.50 degrees above the horizon 2028-08-20T17:38:51.149Z Moon culminates 68.60 degrees above the horizon -2028-08-20T23:58:27.042Z sunset -2028-08-21T00:04:38.492Z moonset +2028-08-20T23:58:27.083Z sunset +2028-08-21T00:04:38.500Z moonset 2028-08-21T04:13:09.736Z lunar perigee at 358065 km -2028-08-21T10:57:39.882Z sunrise +2028-08-21T10:57:39.906Z sunrise 2028-08-21T12:13:46.501Z moonrise 2028-08-21T17:27:45.327Z Sun culminates 73.16 degrees above the horizon 2028-08-21T18:31:48.751Z Moon culminates 61.72 degrees above the horizon -2028-08-21T23:57:25.536Z sunset -2028-08-22T00:42:03.329Z moonset -2028-08-22T10:58:11.246Z sunrise -2028-08-22T13:21:44.795Z moonrise +2028-08-21T23:57:25.575Z sunset +2028-08-22T00:42:03.334Z moonset +2028-08-22T10:58:11.274Z sunrise +2028-08-22T13:21:44.798Z moonrise 2028-08-22T17:27:29.939Z Sun culminates 72.83 degrees above the horizon 2028-08-22T19:24:09.044Z Moon culminates 54.86 degrees above the horizon -2028-08-22T23:56:23.296Z sunset -2028-08-23T01:19:19.185Z moonset +2028-08-22T23:56:23.331Z sunset +2028-08-23T01:19:19.184Z moonset 2028-08-23T10:29:38.155Z Mercury moves from Leo to Virgo -2028-08-23T10:58:42.439Z sunrise -2028-08-23T14:29:17.105Z moonrise +2028-08-23T10:58:42.470Z sunrise +2028-08-23T14:29:17.139Z moonrise 2028-08-23T17:27:14.106Z Sun culminates 72.49 degrees above the horizon 2028-08-23T20:16:49.952Z Moon culminates 48.49 degrees above the horizon -2028-08-23T23:55:20.344Z sunset -2028-08-24T01:57:56.889Z moonset -2028-08-24T10:59:13.458Z sunrise -2028-08-24T15:36:31.612Z moonrise +2028-08-23T23:55:20.376Z sunset +2028-08-24T01:57:56.861Z moonset +2028-08-24T10:59:13.494Z sunrise +2028-08-24T15:36:31.723Z moonrise 2028-08-24T17:26:57.837Z Sun culminates 72.14 degrees above the horizon 2028-08-24T21:10:36.542Z Moon culminates 43.03 degrees above the horizon -2028-08-24T23:54:16.702Z sunset -2028-08-25T02:39:19.997Z moonset -2028-08-25T10:59:44.305Z sunrise -2028-08-25T16:42:59.016Z moonrise +2028-08-24T23:54:16.732Z sunset +2028-08-25T02:39:19.916Z moonset +2028-08-25T10:59:44.344Z sunrise +2028-08-25T16:42:59.213Z moonrise 2028-08-25T17:26:41.146Z Sun culminates 71.80 degrees above the horizon 2028-08-25T22:05:46.087Z Moon culminates 38.80 degrees above the horizon -2028-08-25T23:53:12.395Z sunset -2028-08-26T03:24:34.666Z moonset -2028-08-26T11:00:14.980Z sunrise +2028-08-25T23:53:12.423Z sunset +2028-08-26T03:24:34.521Z moonset +2028-08-26T11:00:15.022Z sunrise 2028-08-26T17:26:24.045Z Sun culminates 71.45 degrees above the horizon -2028-08-26T17:47:23.645Z moonrise +2028-08-26T17:47:23.893Z moonrise 2028-08-26T23:01:57.495Z Moon culminates 36.05 degrees above the horizon -2028-08-26T23:52:07.448Z sunset +2028-08-26T23:52:07.473Z sunset 2028-08-27T01:36:27.261Z first quarter -2028-08-27T04:14:12.649Z moonset -2028-08-27T11:00:45.485Z sunrise +2028-08-27T04:14:12.451Z moonset +2028-08-27T11:00:45.531Z sunrise 2028-08-27T17:26:06.549Z Sun culminates 71.10 degrees above the horizon -2028-08-27T18:47:59.838Z moonrise -2028-08-27T23:51:01.885Z sunset +2028-08-27T18:48:00.093Z moonrise +2028-08-27T23:51:01.908Z sunset 2028-08-27T23:58:12.328Z Moon culminates 34.87 degrees above the horizon -2028-08-28T05:07:54.146Z moonset -2028-08-28T11:01:15.825Z sunrise +2028-08-28T05:07:53.913Z moonset +2028-08-28T11:01:15.873Z sunrise 2028-08-28T17:25:48.671Z Sun culminates 70.74 degrees above the horizon -2028-08-28T19:43:11.269Z moonrise -2028-08-28T23:49:55.733Z sunset +2028-08-28T19:43:11.505Z moonrise +2028-08-28T23:49:55.754Z sunset 2028-08-29T00:53:12.584Z Moon culminates 35.24 degrees above the horizon -2028-08-29T06:04:26.375Z moonset -2028-08-29T11:01:46.004Z sunrise +2028-08-29T06:04:26.133Z moonset +2028-08-29T11:01:46.055Z sunrise 2028-08-29T17:25:30.430Z Sun culminates 70.39 degrees above the horizon -2028-08-29T20:32:08.588Z moonrise -2028-08-29T23:48:49.018Z sunset +2028-08-29T20:32:08.787Z moonrise +2028-08-29T23:48:49.037Z sunset 2028-08-30T01:45:48.465Z Moon culminates 37.00 degrees above the horizon -2028-08-30T07:02:07.919Z moonset -2028-08-30T11:02:16.030Z sunrise +2028-08-30T07:02:07.701Z moonset +2028-08-30T11:02:16.084Z sunrise 2028-08-30T17:25:11.841Z Sun culminates 70.03 degrees above the horizon -2028-08-30T21:14:59.922Z moonrise -2028-08-30T23:47:41.768Z sunset +2028-08-30T21:15:00.073Z moonrise +2028-08-30T23:47:41.785Z sunset 2028-08-31T02:35:19.956Z Moon culminates 39.95 degrees above the horizon 2028-08-31T02:55:35.674Z Mercury aphelion at 0.4667 AU -2028-08-31T07:59:26.056Z moonset -2028-08-31T11:02:45.912Z sunrise +2028-08-31T07:59:25.896Z moonset +2028-08-31T11:02:45.969Z sunrise 2028-08-31T17:24:52.923Z Sun culminates 69.66 degrees above the horizon -2028-08-31T21:52:35.179Z moonrise -2028-08-31T23:46:34.010Z sunset +2028-08-31T21:52:35.278Z moonrise +2028-08-31T23:46:34.025Z sunset 2028-09-01T03:21:42.216Z Moon culminates 43.83 degrees above the horizon -2028-09-01T08:55:22.872Z moonset -2028-09-01T11:03:15.660Z sunrise +2028-09-01T08:55:22.785Z moonset +2028-09-01T11:03:15.720Z sunrise 2028-09-01T17:24:33.696Z Sun culminates 69.30 degrees above the horizon 2028-09-01T19:09:32.460Z Mars moves from Gemini to Cancer -2028-09-01T22:26:03.298Z moonrise -2028-09-01T23:45:25.772Z sunset +2028-09-01T22:26:03.352Z moonrise +2028-09-01T23:45:25.786Z sunset 2028-09-02T04:05:18.315Z Moon culminates 48.40 degrees above the horizon -2028-09-02T09:49:40.255Z moonset -2028-09-02T11:03:45.286Z sunrise +2028-09-02T09:49:40.226Z moonset +2028-09-02T11:03:45.348Z sunrise 2028-09-02T17:24:14.180Z Sun culminates 68.94 degrees above the horizon -2028-09-02T22:56:36.323Z moonrise -2028-09-02T23:44:17.084Z sunset +2028-09-02T22:56:36.349Z moonrise +2028-09-02T23:44:17.096Z sunset 2028-09-03T04:46:48.380Z Moon culminates 53.42 degrees above the horizon -2028-09-03T10:42:31.220Z moonset -2028-09-03T11:04:14.802Z sunrise +2028-09-03T10:42:31.218Z moonset +2028-09-03T11:04:14.866Z sunrise 2028-09-03T17:23:54.395Z Sun culminates 68.57 degrees above the horizon 2028-09-03T18:47:10.175Z Venus moves from Gemini to Cancer -2028-09-03T23:25:22.619Z moonrise -2028-09-03T23:43:07.973Z sunset +2028-09-03T23:25:22.634Z moonrise +2028-09-03T23:43:07.984Z sunset 2028-09-03T23:48:10.881Z full moon 2028-09-04T05:27:01.024Z Moon culminates 58.70 degrees above the horizon -2028-09-04T11:04:44.221Z sunrise -2028-09-04T11:34:28.083Z moonset +2028-09-04T11:04:44.287Z sunrise +2028-09-04T11:34:28.088Z moonset 2028-09-04T17:23:34.364Z Sun culminates 68.20 degrees above the horizon 2028-09-04T20:04:06.765Z lunar apogee at 406388 km -2028-09-04T23:41:58.470Z sunset -2028-09-04T23:53:26.206Z moonrise +2028-09-04T23:41:58.479Z sunset +2028-09-04T23:53:26.218Z moonrise 2028-09-05T06:06:48.387Z Moon culminates 64.05 degrees above the horizon -2028-09-05T11:05:13.559Z sunrise -2028-09-05T12:26:12.609Z moonset +2028-09-05T11:05:13.627Z sunrise +2028-09-05T12:26:12.615Z moonset 2028-09-05T17:23:14.107Z Sun culminates 67.83 degrees above the horizon -2028-09-05T23:40:48.602Z sunset -2028-09-06T00:21:49.060Z moonrise +2028-09-05T23:40:48.611Z sunset +2028-09-06T00:21:49.066Z moonrise 2028-09-06T06:47:03.680Z Moon culminates 69.29 degrees above the horizon 2028-09-06T10:15:18.045Z Mercury max evening elongation: 27.05 degrees from Sun -2028-09-06T11:05:42.829Z sunrise -2028-09-06T13:18:28.427Z moonset +2028-09-06T11:05:42.899Z sunrise +2028-09-06T13:18:28.449Z moonset 2028-09-06T17:22:53.647Z Sun culminates 67.45 degrees above the horizon -2028-09-06T23:39:38.400Z sunset -2028-09-07T00:51:34.401Z moonrise +2028-09-06T23:39:38.407Z sunset +2028-09-07T00:51:34.390Z moonrise 2028-09-07T07:28:39.586Z Moon culminates 74.24 degrees above the horizon -2028-09-07T11:06:12.046Z sunrise -2028-09-07T14:11:53.967Z moonset +2028-09-07T11:06:12.118Z sunrise +2028-09-07T14:11:54.027Z moonset 2028-09-07T17:22:33.006Z Sun culminates 67.08 degrees above the horizon -2028-09-07T23:38:27.892Z sunset -2028-09-08T01:23:49.668Z moonrise +2028-09-07T23:38:27.898Z sunset +2028-09-08T01:23:49.626Z moonrise 2028-09-08T08:12:25.769Z Moon culminates 78.70 degrees above the horizon -2028-09-08T11:06:41.226Z sunrise -2028-09-08T15:06:53.831Z moonset +2028-09-08T11:06:41.299Z sunrise +2028-09-08T15:06:53.948Z moonset 2028-09-08T17:22:12.205Z Sun culminates 66.70 degrees above the horizon -2028-09-08T23:37:17.107Z sunset -2028-09-09T01:59:47.573Z moonrise +2028-09-08T23:37:17.112Z sunset +2028-09-09T01:59:47.489Z moonrise 2028-09-09T08:59:03.797Z Moon culminates 82.44 degrees above the horizon -2028-09-09T11:07:10.381Z sunrise -2028-09-09T16:03:27.629Z moonset +2028-09-09T11:07:10.456Z sunrise +2028-09-09T16:03:27.797Z moonset 2028-09-09T17:21:51.266Z Sun culminates 66.33 degrees above the horizon -2028-09-09T23:36:06.073Z sunset -2028-09-10T02:40:42.486Z moonrise +2028-09-09T23:36:06.077Z sunset +2028-09-10T02:40:42.361Z moonrise 2028-09-10T09:48:58.278Z Moon culminates 85.23 degrees above the horizon -2028-09-10T11:07:39.525Z sunrise -2028-09-10T17:00:58.613Z moonset +2028-09-10T11:07:39.602Z sunrise +2028-09-10T17:00:58.809Z moonset 2028-09-10T17:21:30.209Z Sun culminates 65.95 degrees above the horizon -2028-09-10T23:34:54.818Z sunset -2028-09-11T03:27:38.367Z moonrise +2028-09-10T23:34:54.822Z sunset +2028-09-11T03:27:38.207Z moonrise 2028-09-11T10:42:05.350Z Moon culminates 86.80 degrees above the horizon -2028-09-11T11:08:08.673Z sunrise +2028-09-11T11:08:08.751Z sunrise 2028-09-11T17:21:09.054Z Sun culminates 65.57 degrees above the horizon -2028-09-11T17:58:10.329Z moonset -2028-09-11T23:33:43.370Z sunset +2028-09-11T17:58:10.524Z moonset +2028-09-11T23:33:43.373Z sunset 2028-09-12T00:46:19.776Z third quarter -2028-09-12T04:21:06.806Z moonrise -2028-09-12T11:08:37.835Z sunrise +2028-09-12T04:21:06.623Z moonrise +2028-09-12T11:08:37.914Z sunrise 2028-09-12T11:37:44.571Z Moon culminates 86.93 degrees above the horizon 2028-09-12T17:20:47.822Z Sun culminates 65.18 degrees above the horizon -2028-09-12T18:53:22.173Z moonset -2028-09-12T23:32:31.756Z sunset -2028-09-13T05:20:43.731Z moonrise -2028-09-13T11:09:07.023Z sunrise +2028-09-12T18:53:22.347Z moonset +2028-09-12T23:32:31.758Z sunset +2028-09-13T05:20:43.541Z moonrise +2028-09-13T11:09:07.103Z sunrise 2028-09-13T12:34:43.987Z Moon culminates 85.45 degrees above the horizon 2028-09-13T17:20:26.531Z Sun culminates 64.80 degrees above the horizon -2028-09-13T19:45:04.013Z moonset -2028-09-13T23:31:20.001Z sunset -2028-09-14T06:25:05.338Z moonrise -2028-09-14T11:09:36.248Z sunrise +2028-09-13T19:45:04.150Z moonset +2028-09-13T23:31:20.004Z sunset +2028-09-14T06:25:05.173Z moonrise +2028-09-14T11:09:36.329Z sunrise 2028-09-14T13:31:42.572Z Moon culminates 82.36 degrees above the horizon 2028-09-14T17:20:05.198Z Sun culminates 64.42 degrees above the horizon -2028-09-14T20:32:30.085Z moonset -2028-09-14T23:30:08.133Z sunset -2028-09-15T07:32:16.968Z moonrise -2028-09-15T11:10:05.519Z sunrise +2028-09-14T20:32:30.175Z moonset +2028-09-14T23:30:08.135Z sunset +2028-09-15T07:32:16.864Z moonrise +2028-09-15T11:10:05.601Z sunrise 2028-09-15T14:27:39.467Z Moon culminates 77.78 degrees above the horizon 2028-09-15T17:19:43.843Z Sun culminates 64.03 degrees above the horizon -2028-09-15T21:15:50.075Z moonset -2028-09-15T23:28:56.177Z sunset -2028-09-16T08:40:38.518Z moonrise -2028-09-16T11:10:34.846Z sunrise +2028-09-15T21:15:50.118Z moonset +2028-09-15T23:28:56.179Z sunset +2028-09-16T08:40:38.480Z moonrise +2028-09-16T11:10:34.929Z sunrise 2028-09-16T15:22:12.458Z Moon culminates 71.99 degrees above the horizon 2028-09-16T17:19:22.482Z Sun culminates 63.65 degrees above the horizon -2028-09-16T21:55:57.164Z moonset -2028-09-16T23:27:44.158Z sunset -2028-09-17T09:49:14.191Z moonrise -2028-09-17T11:11:04.238Z sunrise +2028-09-16T21:55:57.178Z moonset +2028-09-16T23:27:44.159Z sunset +2028-09-17T09:49:14.187Z moonrise +2028-09-17T11:11:04.322Z sunrise 2028-09-17T16:15:38.363Z Moon culminates 65.39 degrees above the horizon 2028-09-17T17:19:01.132Z Sun culminates 63.26 degrees above the horizon -2028-09-17T22:34:09.132Z moonset -2028-09-17T23:26:32.099Z sunset +2028-09-17T22:34:09.138Z moonset +2028-09-17T23:26:32.100Z sunset 2028-09-18T10:57:52.867Z moonrise -2028-09-18T11:11:33.703Z sunrise +2028-09-18T11:11:33.788Z sunrise 2028-09-18T14:20:13.121Z lunar perigee at 357035 km 2028-09-18T17:08:41.028Z Moon culminates 58.45 degrees above the horizon 2028-09-18T17:18:39.809Z Sun culminates 62.87 degrees above the horizon 2028-09-18T18:24:10.677Z new moon -2028-09-18T23:11:54.380Z moonset -2028-09-18T23:25:20.026Z sunset -2028-09-19T11:12:03.252Z sunrise -2028-09-19T12:06:47.418Z moonrise +2028-09-18T23:11:54.384Z moonset +2028-09-18T23:25:20.027Z sunset +2028-09-19T11:12:03.338Z sunrise +2028-09-19T12:06:47.430Z moonrise 2028-09-19T17:18:18.530Z Sun culminates 62.48 degrees above the horizon 2028-09-19T18:02:14.840Z Moon culminates 51.69 degrees above the horizon 2028-09-19T23:24:07.962Z sunset -2028-09-19T23:50:44.179Z moonset -2028-09-20T11:12:32.893Z sunrise -2028-09-20T13:16:05.160Z moonrise +2028-09-19T23:50:44.168Z moonset +2028-09-20T11:12:32.979Z sunrise +2028-09-20T13:16:05.228Z moonrise 2028-09-20T17:17:57.312Z Sun culminates 62.10 degrees above the horizon 2028-09-20T18:57:07.010Z Moon culminates 45.61 degrees above the horizon 2028-09-20T23:22:55.930Z sunset -2028-09-21T00:32:06.480Z moonset -2028-09-21T11:13:02.635Z sunrise -2028-09-21T14:25:18.340Z moonrise +2028-09-21T00:32:06.427Z moonset +2028-09-21T11:13:02.722Z sunrise +2028-09-21T14:25:18.498Z moonrise 2028-09-21T17:17:36.171Z Sun culminates 61.71 degrees above the horizon 2028-09-21T19:53:39.230Z Moon culminates 40.65 degrees above the horizon 2028-09-21T23:21:43.956Z sunset -2028-09-22T01:17:15.345Z moonset -2028-09-22T11:13:32.488Z sunrise +2028-09-22T01:17:15.229Z moonset +2028-09-22T11:13:32.576Z sunrise 2028-09-22T11:45:21.123Z September equinox 2028-09-22T11:52:55.373Z Venus moves from Cancer to Leo -2028-09-22T15:33:06.268Z moonrise +2028-09-22T15:33:06.497Z moonrise 2028-09-22T17:17:15.125Z Sun culminates 61.32 degrees above the horizon 2028-09-22T20:51:32.247Z Moon culminates 37.17 degrees above the horizon -2028-09-22T23:20:32.063Z sunset -2028-09-23T02:06:52.540Z moonset -2028-09-23T11:14:02.461Z sunrise -2028-09-23T16:37:25.630Z moonrise +2028-09-22T23:20:32.064Z sunset +2028-09-23T02:06:52.363Z moonset +2028-09-23T11:14:02.550Z sunrise +2028-09-23T16:37:25.884Z moonrise 2028-09-23T17:16:54.190Z Sun culminates 60.93 degrees above the horizon 2028-09-23T21:49:42.787Z Moon culminates 35.33 degrees above the horizon 2028-09-23T23:19:20.279Z sunset -2028-09-24T03:00:46.547Z moonset -2028-09-24T11:14:32.565Z sunrise +2028-09-24T03:00:46.327Z moonset +2028-09-24T11:14:32.654Z sunrise 2028-09-24T17:16:33.386Z Sun culminates 60.54 degrees above the horizon -2028-09-24T17:36:13.806Z moonrise +2028-09-24T17:36:14.046Z moonrise 2028-09-24T22:46:41.418Z Moon culminates 35.15 degrees above the horizon 2028-09-24T23:18:08.628Z sunset -2028-09-25T03:57:46.269Z moonset -2028-09-25T11:15:02.810Z sunrise +2028-09-25T03:57:46.029Z moonset +2028-09-25T11:15:02.899Z sunrise 2028-09-25T13:10:39.654Z first quarter 2028-09-25T17:16:12.730Z Sun culminates 60.15 degrees above the horizon -2028-09-25T18:28:18.624Z moonrise -2028-09-25T23:16:57.137Z sunset +2028-09-25T18:28:18.833Z moonrise +2028-09-25T23:16:57.138Z sunset 2028-09-25T23:41:05.316Z Moon culminates 36.48 degrees above the horizon -2028-09-26T04:56:04.307Z moonset -2028-09-26T11:15:33.207Z sunrise +2028-09-26T04:56:04.080Z moonset +2028-09-26T11:15:33.298Z sunrise 2028-09-26T17:15:52.243Z Sun culminates 59.76 degrees above the horizon -2028-09-26T19:13:37.605Z moonrise -2028-09-26T23:15:45.458Z sunset +2028-09-26T19:13:37.769Z moonrise +2028-09-26T23:15:45.835Z sunset 2028-09-27T00:32:05.568Z Moon culminates 39.08 degrees above the horizon -2028-09-27T05:53:58.865Z moonset -2028-09-27T11:16:03.771Z sunrise +2028-09-27T05:53:58.688Z moonset +2028-09-27T11:16:03.862Z sunrise 2028-09-27T17:15:31.944Z Sun culminates 59.37 degrees above the horizon -2028-09-27T19:53:01.446Z moonrise -2028-09-27T23:14:34.746Z sunset +2028-09-27T19:53:01.558Z moonrise +2028-09-27T23:14:34.847Z sunset 2028-09-28T01:19:34.584Z Moon culminates 42.67 degrees above the horizon -2028-09-28T06:50:25.307Z moonset -2028-09-28T11:16:34.514Z sunrise +2028-09-28T06:50:25.200Z moonset +2028-09-28T11:16:34.606Z sunrise 2028-09-28T17:15:11.856Z Sun culminates 58.98 degrees above the horizon -2028-09-28T20:27:45.531Z moonrise -2028-09-28T23:13:23.902Z sunset +2028-09-28T20:27:45.596Z moonrise +2028-09-28T23:13:24.001Z sunset 2028-09-29T02:03:57.187Z Moon culminates 47.00 degrees above the horizon -2028-09-29T07:45:03.002Z moonset -2028-09-29T11:17:05.452Z sunrise +2028-09-29T07:45:02.958Z moonset +2028-09-29T11:17:05.544Z sunrise 2028-09-29T17:14:51.999Z Sun culminates 58.60 degrees above the horizon -2028-09-29T20:59:09.151Z moonrise -2028-09-29T23:12:13.330Z sunset +2028-09-29T20:59:09.184Z moonrise +2028-09-29T23:12:13.429Z sunset 2028-09-30T02:36:55.910Z Neptune opposition 2028-09-30T02:45:57.049Z Moon culminates 51.84 degrees above the horizon -2028-09-30T08:38:05.409Z moonset -2028-09-30T11:17:36.599Z sunrise +2028-09-30T08:38:05.401Z moonset +2028-09-30T11:17:36.692Z sunrise 2028-09-30T12:55:59.647Z Jupiter conjunction 2028-09-30T17:14:32.396Z Sun culminates 58.21 degrees above the horizon -2028-09-30T21:28:26.363Z moonrise -2028-09-30T23:11:03.061Z sunset +2028-09-30T21:28:26.380Z moonrise +2028-09-30T23:11:03.158Z sunset 2028-10-01T03:26:26.128Z Moon culminates 57.01 degrees above the horizon -2028-10-01T09:30:06.336Z moonset -2028-10-01T11:18:07.973Z sunrise +2028-10-01T09:30:06.339Z moonset +2028-10-01T11:18:08.067Z sunrise 2028-10-01T17:14:13.071Z Sun culminates 57.82 degrees above the horizon 2028-10-01T21:38:31.527Z lunar apogee at 406231 km -2028-10-01T21:56:44.644Z moonrise -2028-10-01T23:09:53.123Z sunset +2028-10-01T21:56:44.657Z moonrise +2028-10-01T23:09:53.219Z sunset 2028-10-02T04:06:18.753Z Moon culminates 62.31 degrees above the horizon -2028-10-02T10:21:48.846Z moonset +2028-10-02T10:21:48.851Z moonset 2028-10-02T10:30:17.011Z Mercury inferior conjunction -2028-10-02T11:18:39.589Z sunrise +2028-10-02T11:18:39.684Z sunrise 2028-10-02T17:13:54.047Z Sun culminates 57.43 degrees above the horizon -2028-10-02T22:25:07.205Z moonrise -2028-10-02T23:08:43.547Z sunset +2028-10-02T22:25:07.213Z moonrise +2028-10-02T23:08:43.642Z sunset 2028-10-03T04:46:28.900Z Moon culminates 67.57 degrees above the horizon -2028-10-03T11:13:57.247Z moonset -2028-10-03T11:19:11.466Z sunrise +2028-10-03T11:13:57.261Z moonset +2028-10-03T11:19:11.561Z sunrise 2028-10-03T16:25:36.096Z full moon 2028-10-03T17:13:35.347Z Sun culminates 57.05 degrees above the horizon 2028-10-03T18:31:47.169Z Mars moves from Cancer to Leo -2028-10-03T22:54:36.380Z moonrise -2028-10-03T23:07:34.363Z sunset +2028-10-03T22:54:36.377Z moonrise +2028-10-03T23:07:34.458Z sunset 2028-10-04T05:27:48.623Z Moon culminates 72.61 degrees above the horizon -2028-10-04T11:19:43.619Z sunrise -2028-10-04T12:07:10.090Z moonset +2028-10-04T11:19:43.716Z sunrise +2028-10-04T12:07:10.134Z moonset 2028-10-04T17:13:16.996Z Sun culminates 56.66 degrees above the horizon -2028-10-04T23:06:25.603Z sunset -2028-10-04T23:26:16.587Z moonrise +2028-10-04T23:06:25.696Z sunset +2028-10-04T23:26:16.557Z moonrise 2028-10-05T06:11:05.705Z Moon culminates 77.23 degrees above the horizon -2028-10-05T11:20:16.067Z sunrise -2028-10-05T13:01:51.959Z moonset +2028-10-05T11:20:16.164Z sunrise +2028-10-05T13:01:52.054Z moonset 2028-10-05T17:12:59.018Z Sun culminates 56.28 degrees above the horizon -2028-10-05T23:05:17.297Z sunset -2028-10-06T00:01:15.361Z moonrise +2028-10-05T23:05:17.389Z sunset +2028-10-06T00:01:15.292Z moonrise 2028-10-06T06:56:58.957Z Moon culminates 81.20 degrees above the horizon -2028-10-06T11:20:48.824Z sunrise -2028-10-06T13:58:03.068Z moonset +2028-10-06T11:20:48.922Z sunrise +2028-10-06T13:58:03.219Z moonset 2028-10-06T17:12:41.435Z Sun culminates 55.90 degrees above the horizon -2028-10-06T23:04:09.476Z sunset -2028-10-07T00:40:40.302Z moonrise +2028-10-06T23:04:09.567Z sunset +2028-10-07T00:40:40.190Z moonrise 2028-10-07T07:45:50.379Z Moon culminates 84.27 degrees above the horizon -2028-10-07T11:21:21.907Z sunrise -2028-10-07T14:55:08.984Z moonset +2028-10-07T11:21:22.007Z sunrise +2028-10-07T14:55:09.171Z moonset 2028-10-07T17:12:24.270Z Sun culminates 55.52 degrees above the horizon -2028-10-07T23:03:02.170Z sunset -2028-10-08T01:25:29.126Z moonrise +2028-10-07T23:03:02.259Z sunset +2028-10-08T01:25:28.979Z moonrise 2028-10-08T08:37:35.547Z Moon culminates 86.21 degrees above the horizon -2028-10-08T11:21:55.330Z sunrise -2028-10-08T15:51:57.742Z moonset +2028-10-08T11:21:55.431Z sunrise +2028-10-08T15:51:57.938Z moonset 2028-10-08T17:12:07.547Z Sun culminates 55.14 degrees above the horizon -2028-10-08T23:01:55.409Z sunset -2028-10-09T02:16:12.020Z moonrise +2028-10-08T23:01:55.498Z sunset +2028-10-09T02:16:11.845Z moonrise 2028-10-09T09:31:37.483Z Moon culminates 86.80 degrees above the horizon -2028-10-09T11:22:29.107Z sunrise -2028-10-09T16:46:53.741Z moonset +2028-10-09T11:22:29.109Z sunrise +2028-10-09T16:46:53.922Z moonset 2028-10-09T17:11:51.287Z Sun culminates 54.76 degrees above the horizon -2028-10-09T23:00:49.224Z sunset -2028-10-10T03:12:32.859Z moonrise +2028-10-09T23:00:49.311Z sunset +2028-10-10T03:12:32.672Z moonrise 2028-10-10T10:26:51.751Z Moon culminates 85.90 degrees above the horizon -2028-10-10T11:23:03.250Z sunrise +2028-10-10T11:23:03.251Z sunrise 2028-10-10T17:11:35.509Z Sun culminates 54.38 degrees above the horizon -2028-10-10T17:38:28.776Z moonset -2028-10-10T22:59:43.644Z sunset -2028-10-11T04:13:25.004Z moonrise +2028-10-10T17:38:28.928Z moonset +2028-10-10T22:59:43.729Z sunset +2028-10-11T04:13:24.830Z moonrise 2028-10-11T11:22:05.837Z Moon culminates 83.48 degrees above the horizon -2028-10-11T11:23:37.768Z sunrise +2028-10-11T11:23:37.770Z sunrise 2028-10-11T11:57:24.648Z third quarter 2028-10-11T17:11:20.235Z Sun culminates 54.00 degrees above the horizon -2028-10-11T18:25:53.758Z moonset -2028-10-11T22:58:38.698Z sunset -2028-10-12T05:17:13.146Z moonrise -2028-10-12T11:24:12.672Z sunrise +2028-10-11T18:25:53.868Z moonset +2028-10-11T22:58:38.782Z sunset +2028-10-12T05:17:13.019Z moonrise +2028-10-12T11:24:12.675Z sunrise 2028-10-12T12:16:24.429Z Moon culminates 79.63 degrees above the horizon 2028-10-12T17:11:05.483Z Sun culminates 53.63 degrees above the horizon -2028-10-12T19:09:11.297Z moonset -2028-10-12T22:57:34.415Z sunset -2028-10-13T06:22:30.724Z moonrise -2028-10-13T11:24:47.968Z sunrise +2028-10-12T19:09:11.359Z moonset +2028-10-12T22:57:34.497Z sunset +2028-10-13T06:22:30.662Z moonrise +2028-10-13T11:24:47.971Z sunrise 2028-10-13T13:09:26.442Z Moon culminates 74.56 degrees above the horizon 2028-10-13T17:10:51.269Z Sun culminates 53.26 degrees above the horizon -2028-10-13T19:49:06.947Z moonset -2028-10-13T22:56:30.823Z sunset +2028-10-13T19:49:06.973Z moonset +2028-10-13T22:56:30.903Z sunset 2028-10-14T02:34:00.801Z Mercury perihelion at 0.3075 AU -2028-10-14T07:28:27.949Z moonrise -2028-10-14T11:25:23.663Z sunrise +2028-10-14T07:28:27.935Z moonrise +2028-10-14T11:25:23.667Z sunrise 2028-10-14T14:01:27.190Z Moon culminates 68.54 degrees above the horizon 2028-10-14T17:10:37.612Z Sun culminates 52.89 degrees above the horizon -2028-10-14T20:26:52.386Z moonset -2028-10-14T22:55:27.948Z sunset +2028-10-14T20:26:52.395Z moonset +2028-10-14T22:55:28.027Z sunset 2028-10-15T08:34:56.848Z moonrise -2028-10-15T11:25:59.762Z sunrise +2028-10-15T11:25:59.767Z sunrise 2028-10-15T14:53:09.733Z Moon culminates 61.94 degrees above the horizon 2028-10-15T17:10:24.527Z Sun culminates 52.52 degrees above the horizon -2028-10-15T21:03:52.264Z moonset -2028-10-15T22:54:25.819Z sunset -2028-10-16T09:42:17.357Z moonrise -2028-10-16T11:26:36.268Z sunrise +2028-10-15T21:03:52.270Z moonset +2028-10-15T22:54:25.895Z sunset +2028-10-16T09:42:17.360Z moonrise +2028-10-16T11:26:36.274Z sunrise 2028-10-16T15:45:31.924Z Moon culminates 55.19 degrees above the horizon 2028-10-16T17:10:12.029Z Sun culminates 52.15 degrees above the horizon 2028-10-16T21:41:37.373Z moonset -2028-10-16T22:53:24.460Z sunset +2028-10-16T22:53:24.534Z sunset 2028-10-17T00:39:44.296Z lunar perigee at 359002 km -2028-10-17T10:50:52.799Z moonrise -2028-10-17T11:27:13.185Z sunrise +2028-10-17T10:50:52.830Z moonrise +2028-10-17T11:27:13.192Z sunrise 2028-10-17T16:39:31.494Z Moon culminates 48.77 degrees above the horizon 2028-10-17T17:10:00.131Z Sun culminates 51.79 degrees above the horizon -2028-10-17T22:21:40.497Z moonset -2028-10-17T22:52:23.897Z sunset +2028-10-17T22:21:40.470Z moonset +2028-10-17T22:52:23.969Z sunset 2028-10-17T22:59:49.495Z Mercury max morning elongation: 18.19 degrees from Sun 2028-10-18T02:57:14.600Z new moon -2028-10-18T11:27:50.515Z sunrise -2028-10-18T12:00:39.399Z moonrise +2028-10-18T11:27:50.523Z sunrise +2028-10-18T12:00:39.506Z moonrise 2028-10-18T17:09:48.848Z Sun culminates 51.42 degrees above the horizon 2028-10-18T17:35:47.790Z Moon culminates 43.17 degrees above the horizon -2028-10-18T22:51:24.154Z sunset -2028-10-18T23:05:28.656Z moonset +2028-10-18T22:51:24.225Z sunset +2028-10-18T23:05:28.575Z moonset 2028-10-19T10:32:40.220Z Neptune moves from Cetus to Pisces -2028-10-19T11:28:28.257Z sunrise -2028-10-19T13:10:36.723Z moonrise +2028-10-19T11:28:28.266Z sunrise +2028-10-19T13:10:36.919Z moonrise 2028-10-19T17:09:38.191Z Sun culminates 51.06 degrees above the horizon 2028-10-19T18:34:20.558Z Moon culminates 38.87 degrees above the horizon -2028-10-19T22:50:25.258Z sunset -2028-10-19T23:54:05.457Z moonset -2028-10-20T11:29:06.411Z sunrise -2028-10-20T14:18:37.999Z moonrise +2028-10-19T22:50:25.326Z sunset +2028-10-19T23:54:05.311Z moonset +2028-10-20T11:29:06.422Z sunrise +2028-10-20T14:18:38.243Z moonrise 2028-10-20T17:09:28.173Z Sun culminates 50.71 degrees above the horizon 2028-10-20T19:34:14.783Z Moon culminates 36.19 degrees above the horizon -2028-10-20T22:49:27.231Z sunset -2028-10-21T00:47:43.613Z moonset -2028-10-21T11:29:44.977Z sunrise -2028-10-21T15:22:03.406Z moonrise +2028-10-20T22:49:27.297Z sunset +2028-10-21T00:47:43.412Z moonset +2028-10-21T11:29:44.989Z sunrise +2028-10-21T15:22:03.652Z moonrise 2028-10-21T17:09:18.805Z Sun culminates 50.35 degrees above the horizon 2028-10-21T20:33:48.382Z Moon culminates 35.27 degrees above the horizon -2028-10-21T22:48:30.101Z sunset -2028-10-22T01:45:24.017Z moonset +2028-10-21T22:48:30.164Z sunset +2028-10-22T01:45:23.785Z moonset 2028-10-22T08:19:16.037Z Venus moves from Leo to Virgo -2028-10-22T11:30:23.953Z sunrise -2028-10-22T16:18:46.882Z moonrise +2028-10-22T11:30:23.966Z sunrise +2028-10-22T16:18:47.101Z moonrise 2028-10-22T17:09:10.101Z Sun culminates 50.00 degrees above the horizon 2028-10-22T21:31:08.544Z Moon culminates 36.02 degrees above the horizon -2028-10-22T22:47:33.892Z sunset -2028-10-23T02:45:08.309Z moonset -2028-10-23T11:31:03.336Z sunrise -2028-10-23T17:08:04.445Z moonrise +2028-10-22T22:47:33.952Z sunset +2028-10-23T02:45:08.076Z moonset +2028-10-23T11:31:03.350Z sunrise +2028-10-23T17:08:04.622Z moonrise 2028-10-23T17:09:02.070Z Sun culminates 49.65 degrees above the horizon 2028-10-23T22:24:54.703Z Moon culminates 38.20 degrees above the horizon -2028-10-23T22:46:38.630Z sunset -2028-10-24T03:44:47.333Z moonset -2028-10-24T11:31:43.124Z sunrise +2028-10-23T22:46:38.688Z sunset +2028-10-24T03:44:47.137Z moonset +2028-10-24T11:31:43.140Z sunrise 2028-10-24T17:08:54.727Z Sun culminates 49.31 degrees above the horizon -2028-10-24T17:50:30.294Z moonrise -2028-10-24T22:45:44.342Z sunset +2028-10-24T17:50:30.421Z moonrise +2028-10-24T22:45:44.397Z sunset 2028-10-24T23:14:38.878Z Moon culminates 41.50 degrees above the horizon -2028-10-25T04:42:49.586Z moonset +2028-10-25T04:42:49.457Z moonset 2028-10-25T04:53:45.819Z first quarter -2028-10-25T11:32:23.315Z sunrise +2028-10-25T11:32:23.333Z sunrise 2028-10-25T17:08:48.082Z Sun culminates 48.96 degrees above the horizon -2028-10-25T18:27:21.794Z moonrise -2028-10-25T22:44:51.055Z sunset +2028-10-25T18:27:21.871Z moonrise +2028-10-25T22:44:51.106Z sunset 2028-10-26T00:00:38.894Z Moon culminates 45.63 degrees above the horizon -2028-10-26T05:38:38.675Z moonset -2028-10-26T11:33:03.908Z sunrise +2028-10-26T05:38:38.614Z moonset +2028-10-26T11:33:03.928Z sunrise 2028-10-26T17:08:42.149Z Sun culminates 48.62 degrees above the horizon -2028-10-26T19:00:07.740Z moonrise -2028-10-26T22:43:58.795Z sunset +2028-10-26T19:00:07.780Z moonrise +2028-10-26T22:43:58.844Z sunset 2028-10-27T00:43:40.317Z Moon culminates 50.32 degrees above the horizon -2028-10-27T06:32:23.675Z moonset -2028-10-27T11:33:44.902Z sunrise +2028-10-27T06:32:23.659Z moonset +2028-10-27T11:33:44.923Z sunrise 2028-10-27T17:08:36.942Z Sun culminates 48.29 degrees above the horizon -2028-10-27T19:30:12.335Z moonrise -2028-10-27T22:43:07.590Z sunset +2028-10-27T19:30:12.356Z moonrise +2028-10-27T22:43:07.636Z sunset 2028-10-28T01:24:40.902Z Moon culminates 55.37 degrees above the horizon -2028-10-28T07:24:41.185Z moonset -2028-10-28T11:34:26.294Z sunrise +2028-10-28T07:24:41.187Z moonset +2028-10-28T11:34:26.317Z sunrise 2028-10-28T17:08:32.472Z Sun culminates 47.96 degrees above the horizon -2028-10-28T19:58:51.190Z moonrise -2028-10-28T22:42:17.469Z sunset +2028-10-28T19:58:51.204Z moonrise +2028-10-28T22:42:17.512Z sunset 2028-10-29T02:04:41.588Z Moon culminates 60.60 degrees above the horizon 2028-10-29T06:53:54.666Z lunar apogee at 405543 km -2028-10-29T08:16:20.424Z moonset -2028-10-29T11:35:08.083Z sunrise +2028-10-29T08:16:20.429Z moonset +2028-10-29T11:35:08.108Z sunrise 2028-10-29T17:08:28.753Z Sun culminates 47.63 degrees above the horizon -2028-10-29T20:27:13.173Z moonrise -2028-10-29T22:41:28.460Z sunset +2028-10-29T20:27:13.184Z moonrise +2028-10-29T22:41:28.499Z sunset 2028-10-30T01:33:43.338Z Venus perihelion at 0.7184 AU 2028-10-30T02:44:42.506Z Moon culminates 65.85 degrees above the horizon -2028-10-30T09:08:13.209Z moonset -2028-10-30T11:35:50.267Z sunrise +2028-10-30T09:08:13.218Z moonset +2028-10-30T11:35:50.295Z sunrise 2028-10-30T17:08:25.800Z Sun culminates 47.30 degrees above the horizon 2028-10-30T17:17:38.418Z Saturn opposition -2028-10-30T20:56:24.203Z moonrise -2028-10-30T22:40:40.591Z sunset +2028-10-30T20:56:24.205Z moonrise +2028-10-30T22:40:40.626Z sunset 2028-10-31T03:25:41.247Z Moon culminates 70.95 degrees above the horizon -2028-10-31T10:01:06.373Z moonset -2028-10-31T11:36:32.846Z sunrise +2028-10-31T10:01:06.404Z moonset +2028-10-31T11:36:32.876Z sunrise 2028-10-31T17:08:23.625Z Sun culminates 46.98 degrees above the horizon -2028-10-31T21:27:30.876Z moonrise -2028-10-31T22:39:53.890Z sunset +2028-10-31T21:27:30.856Z moonrise +2028-10-31T22:39:53.923Z sunset 2028-11-01T04:08:30.871Z Moon culminates 75.71 degrees above the horizon -2028-11-01T10:55:33.518Z moonset -2028-11-01T11:37:15.816Z sunrise +2028-11-01T10:55:33.594Z moonset +2028-11-01T11:37:15.848Z sunrise 2028-11-01T17:08:22.242Z Sun culminates 46.66 degrees above the horizon -2028-11-01T22:01:42.297Z moonrise -2028-11-01T22:39:08.387Z sunset +2028-11-01T22:01:42.242Z moonrise +2028-11-01T22:39:08.416Z sunset 2028-11-02T04:53:55.518Z Moon culminates 79.91 degrees above the horizon 2028-11-02T09:17:56.050Z full moon -2028-11-02T11:37:59.174Z sunrise -2028-11-02T11:51:44.087Z moonset +2028-11-02T11:37:59.209Z sunrise +2028-11-02T11:51:44.219Z moonset 2028-11-02T17:08:21.662Z Sun culminates 46.35 degrees above the horizon -2028-11-02T22:38:24.111Z sunset -2028-11-02T22:40:07.866Z moonrise +2028-11-02T22:38:24.136Z sunset +2028-11-02T22:40:07.769Z moonrise 2028-11-03T05:42:22.290Z Moon culminates 83.29 degrees above the horizon -2028-11-03T11:38:42.917Z sunrise -2028-11-03T12:49:10.996Z moonset +2028-11-03T11:38:42.954Z sunrise +2028-11-03T12:49:11.172Z moonset 2028-11-03T17:08:21.900Z Sun culminates 46.04 degrees above the horizon -2028-11-03T22:37:41.089Z sunset -2028-11-03T23:23:47.958Z moonrise +2028-11-03T22:37:41.110Z sunset +2028-11-03T23:23:47.822Z moonrise 2028-11-04T06:33:50.302Z Moon culminates 85.59 degrees above the horizon -2028-11-04T11:39:27.039Z sunrise -2028-11-04T13:46:44.027Z moonset +2028-11-04T11:39:27.078Z sunrise +2028-11-04T13:46:44.219Z moonset 2028-11-04T17:08:22.964Z Sun culminates 45.73 degrees above the horizon -2028-11-04T22:36:59.349Z sunset -2028-11-05T00:13:16.019Z moonrise +2028-11-04T22:36:59.367Z sunset +2028-11-05T00:13:15.853Z moonrise 2028-11-05T07:27:42.372Z Moon culminates 86.58 degrees above the horizon -2028-11-05T11:40:11.533Z sunrise -2028-11-05T14:42:40.655Z moonset +2028-11-05T11:40:11.575Z sunrise +2028-11-05T14:42:40.839Z moonset 2028-11-05T17:08:24.867Z Sun culminates 45.43 degrees above the horizon -2028-11-05T22:36:18.919Z sunset -2028-11-06T01:08:17.995Z moonrise +2028-11-05T22:36:18.934Z sunset +2028-11-06T01:08:17.812Z moonrise 2028-11-06T08:22:48.664Z Moon culminates 86.11 degrees above the horizon -2028-11-06T11:40:56.391Z sunrise -2028-11-06T15:35:18.436Z moonset +2028-11-06T11:40:56.435Z sunrise +2028-11-06T15:35:18.596Z moonset 2028-11-06T17:08:27.616Z Sun culminates 45.13 degrees above the horizon -2028-11-06T22:35:39.827Z sunset -2028-11-07T02:07:45.602Z moonrise +2028-11-06T22:35:39.837Z sunset +2028-11-07T02:07:45.425Z moonrise 2028-11-07T09:17:47.229Z Moon culminates 84.13 degrees above the horizon 2028-11-07T09:36:16.808Z Mercury moves from Virgo to Libra -2028-11-07T11:41:41.602Z sunrise -2028-11-07T16:23:32.736Z moonset +2028-11-07T11:41:41.648Z sunrise +2028-11-07T16:23:32.857Z moonset 2028-11-07T17:08:31.220Z Sun culminates 44.84 degrees above the horizon -2028-11-07T22:35:02.097Z sunset -2028-11-08T03:09:57.629Z moonrise +2028-11-07T22:35:02.104Z sunset +2028-11-08T03:09:57.489Z moonrise 2028-11-08T10:11:32.748Z Moon culminates 80.75 degrees above the horizon -2028-11-08T11:42:27.152Z sunrise -2028-11-08T17:07:14.917Z moonset +2028-11-08T11:42:27.202Z sunrise +2028-11-08T17:07:14.994Z moonset 2028-11-08T17:08:35.684Z Sun culminates 44.55 degrees above the horizon -2028-11-08T22:34:25.755Z sunset -2028-11-09T04:13:20.019Z moonrise +2028-11-08T22:34:25.758Z sunset +2028-11-09T04:13:19.940Z moonrise 2028-11-09T11:03:36.695Z Moon culminates 76.17 degrees above the horizon -2028-11-09T11:43:13.028Z sunrise +2028-11-09T11:43:13.080Z sunrise 2028-11-09T17:08:41.013Z Sun culminates 44.27 degrees above the horizon -2028-11-09T17:47:04.740Z moonset +2028-11-09T17:47:04.776Z moonset 2028-11-09T21:26:24.501Z third quarter 2028-11-09T22:33:50.824Z sunset -2028-11-10T05:16:57.656Z moonrise -2028-11-10T11:43:59.212Z sunrise +2028-11-10T05:16:57.630Z moonrise +2028-11-10T11:43:59.267Z sunrise 2028-11-10T11:54:10.580Z Moon culminates 70.65 degrees above the horizon 2028-11-10T17:08:47.209Z Sun culminates 43.99 degrees above the horizon -2028-11-10T18:24:11.420Z moonset -2028-11-10T22:33:17.329Z sunset -2028-11-11T06:20:42.135Z moonrise -2028-11-11T11:44:45.685Z sunrise +2028-11-10T18:24:11.433Z moonset +2028-11-10T22:33:17.324Z sunset +2028-11-11T06:20:42.133Z moonrise +2028-11-11T11:44:45.743Z sunrise 2028-11-11T12:43:57.159Z Moon culminates 64.49 degrees above the horizon 2028-11-11T17:08:54.274Z Sun culminates 43.72 degrees above the horizon -2028-11-11T18:59:58.171Z moonset -2028-11-11T22:32:45.289Z sunset +2028-11-11T18:59:58.178Z moonset +2028-11-11T22:32:45.281Z sunset 2028-11-12T07:25:00.237Z moonrise -2028-11-12T11:45:32.426Z sunrise +2028-11-12T11:45:32.486Z sunrise 2028-11-12T13:33:57.991Z Moon culminates 58.03 degrees above the horizon 2028-11-12T17:09:02.207Z Sun culminates 43.45 degrees above the horizon -2028-11-12T19:35:54.664Z moonset -2028-11-12T22:32:14.725Z sunset -2028-11-13T08:30:33.062Z moonrise -2028-11-13T11:46:19.412Z sunrise +2028-11-12T19:35:54.668Z moonset +2028-11-12T22:32:14.713Z sunset +2028-11-13T08:30:33.075Z moonrise +2028-11-13T11:46:19.475Z sunrise 2028-11-13T14:25:20.960Z Moon culminates 51.65 degrees above the horizon 2028-11-13T17:09:11.005Z Sun culminates 43.19 degrees above the horizon -2028-11-13T20:13:34.613Z moonset -2028-11-13T22:31:45.654Z sunset +2028-11-13T20:13:34.603Z moonset +2028-11-13T22:31:45.639Z sunset 2028-11-14T05:53:50.168Z lunar perigee at 363602 km -2028-11-14T09:37:49.821Z moonrise -2028-11-14T11:47:06.617Z sunrise +2028-11-14T09:37:49.886Z moonrise +2028-11-14T11:47:06.682Z sunrise 2028-11-14T15:19:05.999Z Moon culminates 45.80 degrees above the horizon 2028-11-14T17:09:20.663Z Sun culminates 42.93 degrees above the horizon -2028-11-14T20:54:32.858Z moonset -2028-11-14T22:31:18.093Z sunset -2028-11-15T10:46:36.806Z moonrise -2028-11-15T11:47:54.014Z sunrise +2028-11-14T20:54:32.806Z moonset +2028-11-14T22:31:18.074Z sunset +2028-11-15T10:46:36.957Z moonrise +2028-11-15T11:47:54.082Z sunrise 2028-11-15T16:15:45.632Z Moon culminates 40.92 degrees above the horizon 2028-11-15T17:09:31.177Z Sun culminates 42.68 degrees above the horizon -2028-11-15T21:40:14.721Z moonset -2028-11-15T22:30:52.057Z sunset -2028-11-16T11:48:41.575Z sunrise -2028-11-16T11:55:29.955Z moonrise +2028-11-15T21:40:14.608Z moonset +2028-11-15T22:30:52.034Z sunset +2028-11-16T11:48:41.646Z sunrise +2028-11-16T11:55:30.178Z moonrise 2028-11-16T13:18:28.267Z new moon 2028-11-16T17:09:42.536Z Sun culminates 42.43 degrees above the horizon 2028-11-16T17:15:01.994Z Moon culminates 37.43 degrees above the horizon -2028-11-16T22:30:27.557Z sunset -2028-11-16T22:31:31.478Z moonset -2028-11-17T11:49:29.268Z sunrise -2028-11-17T13:01:56.130Z moonrise +2028-11-16T22:30:27.531Z sunset +2028-11-16T22:31:31.303Z moonset +2028-11-17T11:49:29.342Z sunrise +2028-11-17T13:01:56.377Z moonrise 2028-11-17T17:09:54.733Z Sun culminates 42.19 degrees above the horizon 2028-11-17T18:15:34.332Z Moon culminates 35.64 degrees above the horizon -2028-11-17T22:30:04.608Z sunset -2028-11-17T23:28:06.859Z moonset -2028-11-18T11:50:17.061Z sunrise -2028-11-18T14:03:05.066Z moonrise +2028-11-17T22:30:04.578Z sunset +2028-11-17T23:28:06.640Z moonset +2028-11-18T11:50:17.137Z sunrise +2028-11-18T14:03:05.296Z moonrise 2028-11-18T17:10:07.756Z Sun culminates 41.96 degrees above the horizon 2028-11-18T19:15:17.519Z Moon culminates 35.62 degrees above the horizon -2028-11-18T22:29:43.219Z sunset -2028-11-19T00:28:21.937Z moonset -2028-11-19T11:51:04.920Z sunrise -2028-11-19T14:57:04.817Z moonrise +2028-11-18T22:29:43.186Z sunset +2028-11-19T00:28:21.701Z moonset +2028-11-19T11:51:04.999Z sunrise +2028-11-19T14:57:05.010Z moonrise 2028-11-19T17:10:21.594Z Sun culminates 41.73 degrees above the horizon 2028-11-19T20:12:10.661Z Moon culminates 37.22 degrees above the horizon -2028-11-19T22:29:23.402Z sunset +2028-11-19T22:29:23.365Z sunset 2028-11-20T01:19:28.719Z Mercury superior conjunction -2028-11-20T01:29:47.760Z moonset -2028-11-20T11:51:52.811Z sunrise -2028-11-20T15:43:37.785Z moonrise +2028-11-20T01:29:47.544Z moonset +2028-11-20T11:51:52.893Z sunrise +2028-11-20T15:43:37.930Z moonrise 2028-11-20T17:10:36.235Z Sun culminates 41.50 degrees above the horizon 2028-11-20T20:59:17.412Z Mercury moves from Libra to Scorpius 2028-11-20T21:05:01.687Z Moon culminates 40.14 degrees above the horizon -2028-11-20T22:29:05.167Z sunset -2028-11-21T02:30:09.374Z moonset -2028-11-21T11:52:40.698Z sunrise -2028-11-21T16:23:39.599Z moonrise +2028-11-20T22:29:05.127Z sunset +2028-11-21T02:30:09.216Z moonset +2028-11-21T11:52:40.782Z sunrise +2028-11-21T16:23:39.691Z moonrise 2028-11-21T17:10:51.665Z Sun culminates 41.29 degrees above the horizon 2028-11-21T21:53:38.819Z Moon culminates 44.04 degrees above the horizon -2028-11-21T22:28:48.522Z sunset -2028-11-22T03:28:10.168Z moonset -2028-11-22T11:53:28.545Z sunrise -2028-11-22T16:58:38.180Z moonrise +2028-11-21T22:28:48.479Z sunset +2028-11-22T03:28:10.083Z moonset +2028-11-22T11:53:28.632Z sunrise +2028-11-22T16:58:38.230Z moonrise 2028-11-22T17:11:07.871Z Sun culminates 41.07 degrees above the horizon -2028-11-22T22:28:33.477Z sunset +2028-11-22T22:28:33.431Z sunset 2028-11-22T22:38:34.945Z Moon culminates 48.60 degrees above the horizon -2028-11-23T04:23:35.327Z moonset -2028-11-23T11:54:16.317Z sunrise +2028-11-23T04:23:35.298Z moonset +2028-11-23T11:54:16.407Z sunrise 2028-11-23T17:11:24.839Z Sun culminates 40.87 degrees above the horizon -2028-11-23T17:30:05.202Z moonrise -2028-11-23T22:28:20.040Z sunset +2028-11-23T17:30:05.227Z moonrise +2028-11-23T22:28:19.990Z sunset 2028-11-23T23:20:46.311Z Moon culminates 53.57 degrees above the horizon 2028-11-24T00:15:15.555Z first quarter -2028-11-24T05:16:52.677Z moonset -2028-11-24T11:55:03.979Z sunrise +2028-11-24T05:16:52.676Z moonset +2028-11-24T11:55:04.071Z sunrise 2028-11-24T17:11:42.556Z Sun culminates 40.67 degrees above the horizon -2028-11-24T17:59:24.799Z moonrise -2028-11-24T22:28:08.217Z sunset +2028-11-24T17:59:24.814Z moonrise +2028-11-24T22:28:08.164Z sunset 2028-11-25T00:01:17.650Z Moon culminates 58.77 degrees above the horizon -2028-11-25T06:08:52.223Z moonset -2028-11-25T11:55:51.495Z sunrise +2028-11-25T06:08:52.228Z moonset +2028-11-25T11:55:51.589Z sunrise 2028-11-25T17:12:01.007Z Sun culminates 40.48 degrees above the horizon -2028-11-25T18:27:52.709Z moonrise -2028-11-25T22:27:58.016Z sunset +2028-11-25T18:27:52.721Z moonrise +2028-11-25T22:27:57.960Z sunset 2028-11-26T00:08:31.229Z lunar apogee at 404718 km 2028-11-26T00:41:14.864Z Moon culminates 64.01 degrees above the horizon -2028-11-26T07:00:31.989Z moonset +2028-11-26T07:00:31.995Z moonset 2028-11-26T09:32:25.951Z Mercury moves from Scorpius to Ophiuchus -2028-11-26T11:56:38.830Z sunrise +2028-11-26T11:56:38.926Z sunrise 2028-11-26T17:12:20.177Z Sun culminates 40.29 degrees above the horizon -2028-11-26T18:56:39.695Z moonrise -2028-11-26T22:27:49.443Z sunset +2028-11-26T18:56:39.701Z moonrise +2028-11-26T22:27:49.384Z sunset 2028-11-27T01:21:42.239Z Moon culminates 69.15 degrees above the horizon 2028-11-27T02:11:26.076Z Mercury aphelion at 0.4667 AU 2028-11-27T04:35:13.345Z Venus moves from Virgo to Libra -2028-11-27T07:52:48.859Z moonset -2028-11-27T11:57:25.948Z sunrise +2028-11-27T07:52:48.880Z moonset +2028-11-27T11:57:26.046Z sunrise 2028-11-27T17:12:40.053Z Sun culminates 40.11 degrees above the horizon -2028-11-27T19:26:55.917Z moonrise -2028-11-27T22:27:42.503Z sunset +2028-11-27T19:26:55.907Z moonrise +2028-11-27T22:27:42.442Z sunset 2028-11-28T02:03:40.898Z Moon culminates 74.03 degrees above the horizon -2028-11-28T08:46:30.570Z moonset -2028-11-28T11:58:12.814Z sunrise +2028-11-28T08:46:30.628Z moonset +2028-11-28T11:58:12.915Z sunrise 2028-11-28T17:13:00.618Z Sun culminates 39.94 degrees above the horizon -2028-11-28T19:59:54.277Z moonrise -2028-11-28T22:27:37.201Z sunset +2028-11-28T19:59:54.236Z moonrise +2028-11-28T22:27:37.138Z sunset 2028-11-29T02:48:05.665Z Moon culminates 78.43 degrees above the horizon -2028-11-29T09:42:05.321Z moonset -2028-11-29T11:58:59.395Z sunrise +2028-11-29T09:42:05.432Z moonset +2028-11-29T11:58:59.497Z sunrise 2028-11-29T17:13:21.858Z Sun culminates 39.78 degrees above the horizon -2028-11-29T20:36:50.531Z moonrise -2028-11-29T22:27:33.541Z sunset +2028-11-29T20:36:50.450Z moonrise +2028-11-29T22:27:33.475Z sunset 2028-11-30T03:35:37.974Z Moon culminates 82.14 degrees above the horizon -2028-11-30T10:39:27.765Z moonset -2028-11-30T11:59:45.653Z sunrise +2028-11-30T10:39:27.927Z moonset +2028-11-30T11:59:45.758Z sunrise 2028-11-30T17:13:43.757Z Sun culminates 39.62 degrees above the horizon -2028-11-30T21:18:56.712Z moonrise -2028-11-30T22:27:31.527Z sunset +2028-11-30T21:18:56.590Z moonrise +2028-11-30T22:27:31.459Z sunset 2028-12-01T04:26:33.899Z Moon culminates 84.87 degrees above the horizon -2028-12-01T11:37:45.795Z moonset -2028-12-01T12:00:31.556Z sunrise +2028-12-01T11:37:45.983Z moonset +2028-12-01T12:00:31.662Z sunrise 2028-12-01T17:14:06.297Z Sun culminates 39.47 degrees above the horizon -2028-12-01T22:07:04.180Z moonrise -2028-12-01T22:27:31.159Z sunset +2028-12-01T22:07:04.024Z moonrise +2028-12-01T22:27:31.088Z sunset 2028-12-02T01:40:45.117Z full moon 2028-12-02T05:20:30.754Z Moon culminates 86.34 degrees above the horizon -2028-12-02T12:01:17.065Z sunrise -2028-12-02T12:35:20.601Z moonset +2028-12-02T12:01:17.174Z sunrise +2028-12-02T12:35:20.788Z moonset 2028-12-02T17:14:29.462Z Sun culminates 39.32 degrees above the horizon -2028-12-02T22:27:32.438Z sunset -2028-12-02T23:01:18.142Z moonrise +2028-12-02T22:27:32.366Z sunset +2028-12-02T23:01:17.964Z moonrise 2028-12-03T06:16:22.418Z Moon culminates 86.35 degrees above the horizon -2028-12-03T12:02:02.146Z sunrise -2028-12-03T13:30:12.779Z moonset +2028-12-03T12:02:02.256Z sunrise +2028-12-03T13:30:12.946Z moonset 2028-12-03T17:14:53.232Z Sun culminates 39.18 degrees above the horizon 2028-12-03T20:14:47.916Z Uranus opposition -2028-12-03T22:27:35.364Z sunset -2028-12-04T00:00:39.271Z moonrise +2028-12-03T22:27:35.289Z sunset +2028-12-04T00:00:39.090Z moonrise 2028-12-04T07:12:34.743Z Moon culminates 84.81 degrees above the horizon -2028-12-04T12:02:46.761Z sunrise -2028-12-04T14:20:47.319Z moonset +2028-12-04T12:02:46.873Z sunrise +2028-12-04T14:20:47.451Z moonset 2028-12-04T17:15:17.588Z Sun culminates 39.05 degrees above the horizon -2028-12-04T22:27:39.933Z sunset -2028-12-05T01:03:15.675Z moonrise +2028-12-04T22:27:39.857Z sunset +2028-12-05T01:03:15.522Z moonrise 2028-12-05T08:07:38.670Z Moon culminates 81.78 degrees above the horizon -2028-12-05T12:03:30.872Z sunrise -2028-12-05T15:06:27.305Z moonset +2028-12-05T12:03:30.985Z sunrise +2028-12-05T15:06:27.393Z moonset 2028-12-05T17:15:42.509Z Sun culminates 38.93 degrees above the horizon -2028-12-05T22:27:46.142Z sunset -2028-12-06T02:07:07.024Z moonrise +2028-12-05T22:27:46.064Z sunset +2028-12-06T02:07:06.928Z moonrise 2028-12-06T09:00:41.073Z Moon culminates 77.48 degrees above the horizon -2028-12-06T12:04:14.439Z sunrise -2028-12-06T15:47:35.680Z moonset +2028-12-06T12:04:14.553Z sunrise +2028-12-06T15:47:35.725Z moonset 2028-12-06T17:16:07.971Z Sun culminates 38.81 degrees above the horizon 2028-12-06T19:55:02.592Z Mars moves from Leo to Virgo -2028-12-06T22:27:53.985Z sunset -2028-12-07T03:10:49.932Z moonrise +2028-12-06T22:27:53.905Z sunset +2028-12-07T03:10:49.895Z moonrise 2028-12-07T09:51:35.783Z Moon culminates 72.21 degrees above the horizon -2028-12-07T12:04:57.422Z sunrise -2028-12-07T16:25:15.170Z moonset +2028-12-07T12:04:57.538Z sunrise +2028-12-07T16:25:15.187Z moonset 2028-12-07T17:16:33.953Z Sun culminates 38.70 degrees above the horizon -2028-12-07T22:28:03.453Z sunset -2028-12-08T04:13:56.028Z moonrise +2028-12-07T22:28:03.371Z sunset +2028-12-08T04:13:56.023Z moonrise 2028-12-08T06:33:02.659Z Mercury moves from Ophiuchus to Sagittarius 2028-12-08T10:40:56.011Z Moon culminates 66.27 degrees above the horizon -2028-12-08T12:05:39.780Z sunrise -2028-12-08T17:00:47.316Z moonset +2028-12-08T12:05:39.898Z sunrise +2028-12-08T17:00:47.324Z moonset 2028-12-08T17:17:00.426Z Sun culminates 38.60 degrees above the horizon -2028-12-08T22:28:14.536Z sunset -2028-12-09T05:16:43.235Z moonrise +2028-12-08T22:28:14.453Z sunset +2028-12-09T05:16:43.236Z moonrise 2028-12-09T05:39:25.965Z third quarter 2028-12-09T11:29:39.889Z Moon culminates 60.01 degrees above the horizon -2028-12-09T12:06:21.473Z sunrise +2028-12-09T12:06:21.591Z sunrise 2028-12-09T17:17:27.365Z Sun culminates 38.51 degrees above the horizon -2028-12-09T17:35:40.624Z moonset -2028-12-09T22:28:27.222Z sunset -2028-12-10T06:19:55.130Z moonrise -2028-12-10T12:07:02.456Z sunrise +2028-12-09T17:35:40.630Z moonset +2028-12-09T22:28:27.137Z sunset +2028-12-10T06:19:55.135Z moonrise +2028-12-10T12:07:02.575Z sunrise 2028-12-10T12:18:57.000Z Moon culminates 53.76 degrees above the horizon 2028-12-10T17:17:54.741Z Sun culminates 38.42 degrees above the horizon -2028-12-10T18:11:26.818Z moonset -2028-12-10T22:28:41.493Z sunset -2028-12-11T07:24:17.296Z moonrise -2028-12-11T12:07:42.687Z sunrise +2028-12-10T18:11:26.815Z moonset +2028-12-10T22:28:41.408Z sunset +2028-12-11T07:24:17.336Z moonrise +2028-12-11T12:07:42.808Z sunrise 2028-12-11T12:32:01.528Z lunar perigee at 369039 km 2028-12-11T13:09:56.344Z Moon culminates 47.88 degrees above the horizon 2028-12-11T17:18:22.522Z Sun culminates 38.35 degrees above the horizon -2028-12-11T18:49:40.067Z moonset -2028-12-11T22:28:57.333Z sunset -2028-12-12T08:30:11.109Z moonrise -2028-12-12T12:08:22.123Z sunrise +2028-12-11T18:49:40.035Z moonset +2028-12-11T22:28:57.246Z sunset +2028-12-12T08:30:11.223Z moonrise +2028-12-12T12:08:22.244Z sunrise 2028-12-12T14:03:31.985Z Moon culminates 42.75 degrees above the horizon 2028-12-12T17:18:50.677Z Sun culminates 38.27 degrees above the horizon -2028-12-12T19:31:52.830Z moonset -2028-12-12T22:29:14.719Z sunset -2028-12-13T09:37:05.526Z moonrise -2028-12-13T12:09:00.719Z sunrise +2028-12-12T19:31:52.744Z moonset +2028-12-12T22:29:14.631Z sunset +2028-12-13T09:37:05.721Z moonrise +2028-12-13T12:09:00.841Z sunrise 2028-12-13T15:00:03.493Z Moon culminates 38.77 degrees above the horizon 2028-12-13T17:19:19.172Z Sun culminates 38.21 degrees above the horizon -2028-12-13T20:19:21.217Z moonset -2028-12-13T22:29:33.628Z sunset -2028-12-14T10:43:19.105Z moonrise -2028-12-14T12:09:38.430Z sunrise +2028-12-13T20:19:21.068Z moonset +2028-12-13T22:29:33.539Z sunset +2028-12-14T10:43:19.345Z moonrise +2028-12-14T12:09:38.553Z sunrise 2028-12-14T15:58:55.753Z Moon culminates 36.26 degrees above the horizon 2028-12-14T17:19:47.971Z Sun culminates 38.16 degrees above the horizon -2028-12-14T21:12:36.150Z moonset -2028-12-14T22:29:54.032Z sunset -2028-12-15T11:46:17.325Z moonrise -2028-12-15T12:10:15.212Z sunrise +2028-12-14T21:12:35.949Z moonset +2028-12-14T22:29:53.943Z sunset +2028-12-15T11:46:17.565Z moonrise +2028-12-15T12:10:15.335Z sunrise 2028-12-15T16:58:34.708Z Moon culminates 35.44 degrees above the horizon 2028-12-15T17:20:17.037Z Sun culminates 38.11 degrees above the horizon -2028-12-15T22:10:52.291Z moonset -2028-12-15T22:30:15.905Z sunset +2028-12-15T22:10:52.059Z moonset +2028-12-15T22:30:15.814Z sunset 2028-12-16T02:06:48.921Z new moon -2028-12-16T12:10:51.019Z sunrise -2028-12-16T12:43:33.195Z moonrise +2028-12-16T12:10:51.143Z sunrise +2028-12-16T12:43:33.407Z moonrise 2028-12-16T17:20:46.334Z Sun culminates 38.07 degrees above the horizon 2028-12-16T17:56:55.233Z Moon culminates 36.31 degrees above the horizon -2028-12-16T22:30:39.214Z sunset -2028-12-16T23:12:06.902Z moonset +2028-12-16T22:30:39.123Z sunset +2028-12-16T23:12:06.672Z moonset 2028-12-17T09:19:47.705Z Venus moves from Libra to Scorpius -2028-12-17T12:11:25.807Z sunrise -2028-12-17T13:33:50.065Z moonrise +2028-12-17T12:11:25.931Z sunrise +2028-12-17T13:33:50.232Z moonrise 2028-12-17T17:21:15.823Z Sun culminates 38.04 degrees above the horizon 2028-12-17T18:52:10.182Z Moon culminates 38.68 degrees above the horizon -2028-12-17T22:31:03.930Z sunset -2028-12-18T00:13:46.929Z moonset -2028-12-18T12:11:59.531Z sunrise -2028-12-18T14:17:16.645Z moonrise +2028-12-17T22:31:03.838Z sunset +2028-12-18T00:13:46.741Z moonset +2028-12-18T12:11:59.656Z sunrise +2028-12-18T14:17:16.759Z moonrise 2028-12-18T17:21:45.466Z Sun culminates 38.01 degrees above the horizon 2028-12-18T19:43:25.473Z Moon culminates 42.22 degrees above the horizon -2028-12-18T22:31:30.018Z sunset -2028-12-19T01:13:51.503Z moonset -2028-12-19T12:12:32.150Z sunrise -2028-12-19T14:54:58.140Z moonrise +2028-12-18T22:31:29.926Z sunset +2028-12-19T01:13:51.386Z moonset +2028-12-19T12:12:32.274Z sunrise +2028-12-19T14:54:58.205Z moonrise 2028-12-19T17:22:15.224Z Sun culminates 37.99 degrees above the horizon 2028-12-19T20:30:42.560Z Moon culminates 46.60 degrees above the horizon -2028-12-19T22:31:57.445Z sunset -2028-12-20T02:11:23.130Z moonset -2028-12-20T12:13:03.620Z sunrise -2028-12-20T15:28:20.720Z moonrise +2028-12-19T22:31:57.353Z sunset +2028-12-20T02:11:23.081Z moonset +2028-12-20T12:13:03.745Z sunrise +2028-12-20T15:28:20.753Z moonrise 2028-12-20T17:22:45.060Z Sun culminates 37.99 degrees above the horizon 2028-12-20T21:14:40.661Z Moon culminates 51.50 degrees above the horizon -2028-12-20T22:32:26.175Z sunset -2028-12-21T03:06:21.535Z moonset +2028-12-20T22:32:26.083Z sunset +2028-12-21T03:06:21.525Z moonset 2028-12-21T08:20:06.162Z December solstice 2028-12-21T10:30:38.570Z Venus moves from Scorpius to Ophiuchus -2028-12-21T12:13:33.904Z sunrise -2028-12-21T15:58:50.469Z moonrise +2028-12-21T12:13:34.028Z sunrise +2028-12-21T15:58:50.486Z moonrise 2028-12-21T17:23:14.936Z Sun culminates 37.98 degrees above the horizon 2028-12-21T21:56:17.705Z Moon culminates 56.68 degrees above the horizon -2028-12-21T22:32:56.175Z sunset -2028-12-22T03:59:22.688Z moonset -2028-12-22T12:14:02.962Z sunrise -2028-12-22T16:27:46.524Z moonrise +2028-12-21T22:32:56.083Z sunset +2028-12-22T03:59:22.691Z moonset +2028-12-22T12:14:03.086Z sunrise +2028-12-22T16:27:46.536Z moonrise 2028-12-22T17:23:44.816Z Sun culminates 37.99 degrees above the horizon -2028-12-22T22:33:27.406Z sunset +2028-12-22T22:33:27.314Z sunset 2028-12-22T22:36:38.213Z Moon culminates 61.95 degrees above the horizon -2028-12-23T04:51:20.139Z moonset +2028-12-23T04:51:20.144Z moonset 2028-12-23T10:20:07.317Z Saturn moves from Aries to Cetus -2028-12-23T12:14:30.760Z sunrise -2028-12-23T16:56:21.962Z moonrise +2028-12-23T12:14:30.884Z sunrise +2028-12-23T16:56:21.971Z moonrise 2028-12-23T17:24:14.664Z Sun culminates 38.01 degrees above the horizon 2028-12-23T20:59:53.027Z lunar apogee at 404397 km 2028-12-23T21:45:34.294Z first quarter -2028-12-23T22:33:59.833Z sunset +2028-12-23T22:33:59.741Z sunset 2028-12-23T23:16:47.689Z Moon culminates 67.15 degrees above the horizon -2028-12-24T05:43:12.684Z moonset -2028-12-24T12:14:57.265Z sunrise +2028-12-24T05:43:12.696Z moonset +2028-12-24T12:14:57.389Z sunrise 2028-12-24T17:24:44.445Z Sun culminates 38.03 degrees above the horizon -2028-12-24T17:25:47.650Z moonrise -2028-12-24T22:34:33.418Z sunset +2028-12-24T17:25:47.647Z moonrise +2028-12-24T22:34:33.327Z sunset 2028-12-24T23:57:50.440Z Moon culminates 72.13 degrees above the horizon -2028-12-25T06:35:55.850Z moonset -2028-12-25T12:15:22.445Z sunrise +2028-12-25T06:35:55.890Z moonset +2028-12-25T12:15:22.568Z sunrise 2028-12-25T17:25:14.125Z Sun culminates 38.06 degrees above the horizon -2028-12-25T17:57:16.470Z moonrise -2028-12-25T22:35:08.126Z sunset +2028-12-25T17:57:16.443Z moonrise +2028-12-25T22:35:08.035Z sunset 2028-12-26T00:40:47.726Z Moon culminates 76.71 degrees above the horizon -2028-12-26T07:30:13.256Z moonset -2028-12-26T12:15:46.272Z sunrise +2028-12-26T07:30:13.344Z moonset +2028-12-26T12:15:46.395Z sunrise 2028-12-26T17:25:43.672Z Sun culminates 38.10 degrees above the horizon -2028-12-26T18:32:05.928Z moonrise -2028-12-26T22:35:43.918Z sunset +2028-12-26T18:32:05.864Z moonrise +2028-12-26T22:35:43.828Z sunset 2028-12-27T01:26:33.401Z Moon culminates 80.71 degrees above the horizon -2028-12-27T08:26:24.668Z moonset -2028-12-27T12:16:08.720Z sunrise +2028-12-27T08:26:24.811Z moonset +2028-12-27T12:16:08.842Z sunrise 2028-12-27T17:26:13.054Z Sun culminates 38.14 degrees above the horizon -2028-12-27T19:11:36.223Z moonrise -2028-12-27T22:36:20.758Z sunset +2028-12-27T19:11:36.117Z moonrise +2028-12-27T22:36:20.668Z sunset 2028-12-28T02:15:44.666Z Moon culminates 83.86 degrees above the horizon 2028-12-28T02:19:34.778Z Jupiter aphelion at 5.4539 AU -2028-12-28T09:24:10.832Z moonset -2028-12-28T12:16:29.764Z sunrise +2028-12-28T09:24:11.013Z moonset +2028-12-28T12:16:29.885Z sunrise 2028-12-28T17:26:42.240Z Sun culminates 38.20 degrees above the horizon -2028-12-28T19:56:59.328Z moonrise -2028-12-28T22:36:58.609Z sunset +2028-12-28T19:56:59.185Z moonrise +2028-12-28T22:36:58.520Z sunset 2028-12-29T03:08:27.762Z Moon culminates 85.90 degrees above the horizon -2028-12-29T10:22:22.491Z moonset -2028-12-29T12:16:49.382Z sunrise +2028-12-29T10:22:22.681Z moonset +2028-12-29T12:16:49.503Z sunrise 2028-12-29T17:27:11.202Z Sun culminates 38.26 degrees above the horizon -2028-12-29T20:48:55.740Z moonrise -2028-12-29T22:37:37.434Z sunset +2028-12-29T20:48:55.569Z moonrise +2028-12-29T22:37:37.345Z sunset 2028-12-30T04:04:04.507Z Moon culminates 86.55 degrees above the horizon -2028-12-30T11:19:08.692Z moonset -2028-12-30T12:17:07.554Z sunrise +2028-12-30T11:19:08.868Z moonset +2028-12-30T12:17:07.674Z sunrise 2028-12-30T17:27:39.911Z Sun culminates 38.33 degrees above the horizon -2028-12-30T21:47:05.513Z moonrise -2028-12-30T22:38:17.195Z sunset +2028-12-30T21:47:05.329Z moonrise +2028-12-30T22:38:17.107Z sunset 2028-12-31T00:37:24.940Z Mercury max evening elongation: 19.58 degrees from Sun 2028-12-31T05:01:12.699Z Moon culminates 85.64 degrees above the horizon 2028-12-31T10:43:59.718Z Mercury moves from Sagittarius to Capricornus -2028-12-31T12:12:33.052Z moonset -2028-12-31T12:17:24.262Z sunrise +2028-12-31T12:12:33.198Z moonset +2028-12-31T12:17:24.381Z sunrise 2028-12-31T16:48:59.713Z full moon 2028-12-31T16:51:54.549Z total lunar eclipse 2028-12-31T17:28:08.339Z Sun culminates 38.40 degrees above the horizon -2028-12-31T22:38:57.854Z sunset -2028-12-31T22:49:57.090Z moonrise +2028-12-31T22:38:57.768Z sunset +2028-12-31T22:49:56.921Z moonrise 2029-01-01T05:58:10.198Z Moon culminates 83.13 degrees above the horizon -2029-01-01T12:17:39.489Z sunrise -2029-01-01T13:01:19.920Z moonset +2029-01-01T12:17:39.606Z sunrise +2029-01-01T13:01:20.023Z moonset 2029-01-01T17:28:36.458Z Sun culminates 38.49 degrees above the horizon -2029-01-01T22:39:39.375Z sunset -2029-01-01T23:55:16.194Z moonrise +2029-01-01T22:39:39.290Z sunset +2029-01-01T23:55:16.074Z moonrise 2029-01-02T06:53:32.759Z Moon culminates 79.18 degrees above the horizon -2029-01-02T12:17:53.217Z sunrise -2029-01-02T13:45:17.440Z moonset +2029-01-02T12:17:53.334Z sunrise +2029-01-02T13:45:17.497Z moonset 2029-01-02T17:29:04.242Z Sun culminates 38.58 degrees above the horizon 2029-01-02T18:49:47.281Z Earth perihelion at 0.9833 AU -2029-01-02T22:40:21.720Z sunset -2029-01-03T01:01:00.820Z moonrise +2029-01-02T22:40:21.636Z sunset +2029-01-03T01:01:00.764Z moonrise 2029-01-03T07:46:40.976Z Moon culminates 74.07 degrees above the horizon -2029-01-03T12:18:05.433Z sunrise -2029-01-03T14:25:08.025Z moonset +2029-01-03T12:18:05.548Z sunrise +2029-01-03T14:25:08.049Z moonset 2029-01-03T17:29:31.665Z Sun culminates 38.68 degrees above the horizon -2029-01-03T22:41:04.850Z sunset -2029-01-04T02:06:01.365Z moonrise +2029-01-03T22:41:04.767Z sunset +2029-01-04T02:06:01.353Z moonrise 2029-01-04T05:01:04.239Z Saturn moves from Cetus to Aries 2029-01-04T08:37:43.458Z Moon culminates 68.17 degrees above the horizon -2029-01-04T12:18:16.122Z sunrise -2029-01-04T15:02:05.013Z moonset +2029-01-04T12:18:16.236Z sunrise +2029-01-04T15:02:05.022Z moonset 2029-01-04T17:29:58.699Z Sun culminates 38.79 degrees above the horizon -2029-01-04T22:41:48.728Z sunset -2029-01-05T03:10:05.859Z moonrise +2029-01-04T22:41:48.646Z sunset +2029-01-05T03:10:05.860Z moonrise 2029-01-05T04:16:56.561Z lunar perigee at 368909 km 2029-01-05T09:27:23.874Z Moon culminates 61.87 degrees above the horizon 2029-01-05T10:10:51.542Z Venus moves from Ophiuchus to Sagittarius -2029-01-05T12:18:25.272Z sunrise -2029-01-05T15:37:34.231Z moonset +2029-01-05T12:18:25.385Z sunrise +2029-01-05T15:37:34.238Z moonset 2029-01-05T17:30:25.321Z Sun culminates 38.90 degrees above the horizon -2029-01-05T22:42:33.313Z sunset -2029-01-06T04:13:41.786Z moonrise +2029-01-05T22:42:33.233Z sunset +2029-01-06T04:13:41.788Z moonrise 2029-01-06T10:16:44.649Z Moon culminates 55.54 degrees above the horizon -2029-01-06T12:18:32.872Z sunrise -2029-01-06T16:13:05.332Z moonset +2029-01-06T12:18:32.983Z sunrise +2029-01-06T16:13:05.333Z moonset 2029-01-06T17:30:51.504Z Sun culminates 39.03 degrees above the horizon -2029-01-06T22:43:18.566Z sunset -2029-01-07T05:17:31.093Z moonrise +2029-01-06T22:43:18.488Z sunset +2029-01-07T05:17:31.119Z moonrise 2029-01-07T11:06:52.962Z Moon culminates 49.55 degrees above the horizon -2029-01-07T12:18:38.911Z sunrise +2029-01-07T12:18:39.021Z sunrise 2029-01-07T13:26:52.601Z third quarter -2029-01-07T16:50:09.277Z moonset +2029-01-07T16:50:09.256Z moonset 2029-01-07T17:31:17.223Z Sun culminates 39.15 degrees above the horizon -2029-01-07T22:44:04.446Z sunset -2029-01-08T06:22:04.945Z moonrise +2029-01-07T22:44:04.370Z sunset +2029-01-08T06:22:05.033Z moonrise 2029-01-08T11:58:47.797Z Moon culminates 44.23 degrees above the horizon -2029-01-08T12:18:43.380Z sunrise -2029-01-08T17:30:16.122Z moonset +2029-01-08T12:18:43.488Z sunrise +2029-01-08T17:30:16.055Z moonset 2029-01-08T17:31:42.451Z Sun culminates 39.29 degrees above the horizon -2029-01-08T22:44:50.910Z sunset -2029-01-09T07:27:18.869Z moonrise -2029-01-09T12:18:46.271Z sunrise +2029-01-08T22:44:50.836Z sunset +2029-01-09T07:27:19.040Z moonrise +2029-01-09T12:18:46.376Z sunrise 2029-01-09T12:53:04.859Z Moon culminates 39.94 degrees above the horizon 2029-01-09T17:32:07.165Z Sun culminates 39.44 degrees above the horizon -2029-01-09T18:14:46.852Z moonset -2029-01-09T22:45:37.916Z sunset +2029-01-09T18:14:46.724Z moonset +2029-01-09T22:45:37.844Z sunset 2029-01-10T01:49:51.456Z Mercury perihelion at 0.3075 AU -2029-01-10T08:32:13.252Z moonrise -2029-01-10T12:18:47.575Z sunrise +2029-01-10T08:32:13.482Z moonrise +2029-01-10T12:18:47.678Z sunrise 2029-01-10T13:49:39.551Z Moon culminates 36.97 degrees above the horizon 2029-01-10T17:32:31.337Z Sun culminates 39.59 degrees above the horizon -2029-01-10T19:04:34.171Z moonset -2029-01-10T22:46:25.420Z sunset -2029-01-11T09:34:54.429Z moonrise -2029-01-11T12:18:47.285Z sunrise +2029-01-10T19:04:33.987Z moonset +2029-01-10T22:46:25.350Z sunset +2029-01-11T09:34:54.674Z moonrise +2029-01-11T12:18:47.387Z sunrise 2029-01-11T14:47:36.396Z Moon culminates 35.54 degrees above the horizon 2029-01-11T17:32:54.942Z Sun culminates 39.75 degrees above the horizon -2029-01-11T19:59:35.028Z moonset -2029-01-11T22:47:13.376Z sunset -2029-01-12T10:33:10.198Z moonrise -2029-01-12T12:18:45.397Z sunrise +2029-01-11T19:59:34.806Z moonset +2029-01-11T22:47:13.308Z sunset +2029-01-12T10:33:10.424Z moonrise +2029-01-12T12:18:45.496Z sunrise 2029-01-12T15:45:18.911Z Moon culminates 35.75 degrees above the horizon 2029-01-12T17:33:17.954Z Sun culminates 39.91 degrees above the horizon -2029-01-12T20:58:34.159Z moonset -2029-01-12T22:48:01.739Z sunset +2029-01-12T20:58:33.924Z moonset +2029-01-12T22:48:01.674Z sunset 2029-01-13T00:23:26.840Z Mercury moves from Capricornus to Sagittarius -2029-01-13T11:25:24.678Z moonrise -2029-01-13T12:18:41.903Z sunrise +2029-01-13T11:25:24.867Z moonrise +2029-01-13T12:18:42.001Z sunrise 2029-01-13T16:41:03.147Z Moon culminates 37.50 degrees above the horizon 2029-01-13T17:33:40.349Z Sun culminates 40.08 degrees above the horizon -2029-01-13T21:59:23.445Z moonset -2029-01-13T22:48:50.466Z sunset -2029-01-14T12:11:11.599Z moonrise -2029-01-14T12:18:36.800Z sunrise +2029-01-13T21:59:23.234Z moonset +2029-01-13T22:48:50.403Z sunset +2029-01-14T12:11:11.737Z moonrise +2029-01-14T12:18:36.895Z sunrise 2029-01-14T17:25:04.182Z new moon 2029-01-14T17:25:42.765Z partial solar eclipse peak at 40.22 degrees altitude 2029-01-14T17:33:35.294Z Moon culminates 40.55 degrees above the horizon 2029-01-14T17:34:02.102Z Sun culminates 40.26 degrees above the horizon -2029-01-14T22:49:39.511Z sunset -2029-01-14T22:59:52.653Z moonset -2029-01-15T12:18:30.084Z sunrise -2029-01-15T12:51:06.829Z moonrise +2029-01-14T22:49:39.451Z sunset +2029-01-14T22:59:52.503Z moonset +2029-01-15T12:18:30.177Z sunrise +2029-01-15T12:51:06.915Z moonrise 2029-01-15T17:34:23.190Z Sun culminates 40.45 degrees above the horizon 2029-01-15T18:22:29.233Z Moon culminates 44.59 degrees above the horizon -2029-01-15T22:50:28.830Z sunset -2029-01-15T23:58:34.060Z moonset +2029-01-15T22:50:28.773Z sunset +2029-01-15T23:58:33.984Z moonset 2029-01-16T08:09:33.202Z Mercury inferior conjunction -2029-01-16T12:18:21.754Z sunrise -2029-01-16T13:26:19.942Z moonrise +2029-01-16T12:18:21.845Z sunrise +2029-01-16T13:26:19.986Z moonrise 2029-01-16T17:34:43.589Z Sun culminates 40.64 degrees above the horizon 2029-01-16T19:08:00.785Z Moon culminates 49.31 degrees above the horizon -2029-01-16T22:51:18.381Z sunset -2029-01-17T00:54:55.321Z moonset -2029-01-17T12:18:11.809Z sunrise -2029-01-17T13:58:09.907Z moonrise +2029-01-16T22:51:18.327Z sunset +2029-01-17T00:54:55.299Z moonset +2029-01-17T12:18:11.898Z sunrise +2029-01-17T13:58:09.929Z moonrise 2029-01-17T17:35:03.280Z Sun culminates 40.84 degrees above the horizon 2029-01-17T19:50:52.087Z Moon culminates 54.44 degrees above the horizon -2029-01-17T22:52:08.121Z sunset +2029-01-17T22:52:08.070Z sunset 2029-01-18T01:49:07.995Z moonset -2029-01-18T12:18:00.252Z sunrise -2029-01-18T14:27:53.117Z moonrise +2029-01-18T12:18:00.338Z sunrise +2029-01-18T14:27:53.130Z moonrise 2029-01-18T17:35:22.243Z Sun culminates 41.05 degrees above the horizon 2029-01-18T20:31:57.919Z Moon culminates 59.73 degrees above the horizon -2029-01-18T22:52:58.010Z sunset -2029-01-19T02:41:49.820Z moonset -2029-01-19T12:17:47.085Z sunrise -2029-01-19T14:56:40.714Z moonrise +2029-01-18T22:52:57.962Z sunset +2029-01-19T02:41:49.824Z moonset +2029-01-19T12:17:47.168Z sunrise +2029-01-19T14:56:40.725Z moonrise 2029-01-19T17:35:40.460Z Sun culminates 41.26 degrees above the horizon 2029-01-19T21:12:17.607Z Moon culminates 65.00 degrees above the horizon 2029-01-19T21:17:12.454Z Mars aphelion at 1.6661 AU -2029-01-19T22:53:48.009Z sunset -2029-01-20T03:33:50.463Z moonset -2029-01-20T12:17:32.314Z sunrise -2029-01-20T15:25:40.601Z moonrise +2029-01-19T22:53:47.964Z sunset +2029-01-20T03:33:50.471Z moonset +2029-01-20T12:17:32.395Z sunrise +2029-01-20T15:25:40.605Z moonrise 2029-01-20T17:35:57.915Z Sun culminates 41.48 degrees above the horizon 2029-01-20T18:07:42.797Z lunar apogee at 404874 km 2029-01-20T21:52:51.266Z Moon culminates 70.08 degrees above the horizon -2029-01-20T22:54:38.080Z sunset -2029-01-21T04:26:01.742Z moonset -2029-01-21T12:17:15.948Z sunrise -2029-01-21T15:56:01.060Z moonrise +2029-01-20T22:54:38.039Z sunset +2029-01-21T04:26:01.767Z moonset +2029-01-21T12:17:16.027Z sunrise +2029-01-21T15:56:01.046Z moonrise 2029-01-21T17:36:14.594Z Sun culminates 41.70 degrees above the horizon 2029-01-21T22:34:37.899Z Moon culminates 74.82 degrees above the horizon -2029-01-21T22:55:28.188Z sunset -2029-01-22T05:19:09.763Z moonset -2029-01-22T12:16:57.997Z sunrise -2029-01-22T16:28:54.113Z moonrise +2029-01-21T22:55:28.150Z sunset +2029-01-22T05:19:09.829Z moonset +2029-01-22T12:16:58.072Z sunrise +2029-01-22T16:28:54.067Z moonrise 2029-01-22T17:36:30.486Z Sun culminates 41.93 degrees above the horizon 2029-01-22T19:23:48.473Z first quarter -2029-01-22T22:56:18.300Z sunset +2029-01-22T22:56:18.265Z sunset 2029-01-22T23:18:32.892Z Moon culminates 79.04 degrees above the horizon -2029-01-23T06:13:45.947Z moonset -2029-01-23T12:16:38.471Z sunrise -2029-01-23T17:05:36.604Z moonrise +2029-01-23T06:13:46.066Z moonset +2029-01-23T12:16:38.544Z sunrise +2029-01-23T17:05:36.517Z moonrise 2029-01-23T17:36:45.581Z Sun culminates 42.17 degrees above the horizon -2029-01-23T22:57:08.383Z sunset +2029-01-23T22:57:08.352Z sunset 2029-01-24T00:05:22.593Z Moon culminates 82.54 degrees above the horizon -2029-01-24T07:09:55.189Z moonset -2029-01-24T12:16:17.384Z sunrise +2029-01-24T07:09:55.356Z moonset +2029-01-24T12:16:17.455Z sunrise 2029-01-24T17:36:59.871Z Sun culminates 42.41 degrees above the horizon -2029-01-24T17:47:25.775Z moonrise -2029-01-24T22:57:58.409Z sunset +2029-01-24T17:47:25.648Z moonrise +2029-01-24T22:57:58.381Z sunset 2029-01-25T00:55:34.339Z Moon culminates 85.08 degrees above the horizon -2029-01-25T08:07:03.391Z moonset -2029-01-25T12:15:54.754Z sunrise +2029-01-25T08:07:03.581Z moonset +2029-01-25T12:15:54.821Z sunrise 2029-01-25T17:37:13.351Z Sun culminates 42.66 degrees above the horizon -2029-01-25T18:35:25.102Z moonrise -2029-01-25T22:58:48.350Z sunset +2029-01-25T18:35:24.943Z moonrise +2029-01-25T22:58:48.325Z sunset 2029-01-26T01:49:03.228Z Moon culminates 86.40 degrees above the horizon -2029-01-26T09:03:53.377Z moonset -2029-01-26T12:15:30.596Z sunrise +2029-01-26T09:03:53.563Z moonset +2029-01-26T12:15:30.661Z sunrise 2029-01-26T17:37:26.015Z Sun culminates 42.91 degrees above the horizon -2029-01-26T19:29:59.418Z moonrise -2029-01-26T22:59:38.180Z sunset +2029-01-26T19:29:59.238Z moonrise +2029-01-26T22:59:38.160Z sunset 2029-01-27T02:45:02.877Z Moon culminates 86.27 degrees above the horizon -2029-01-27T09:58:41.469Z moonset -2029-01-27T12:15:04.930Z sunrise +2029-01-27T09:58:41.632Z moonset +2029-01-27T12:15:04.992Z sunrise 2029-01-27T17:37:37.863Z Sun culminates 43.17 degrees above the horizon -2029-01-27T20:30:30.414Z moonrise -2029-01-27T23:00:27.878Z sunset +2029-01-27T20:30:30.234Z moonrise +2029-01-27T23:00:27.861Z sunset 2029-01-28T01:33:24.079Z Pluto conjunction 2029-01-28T03:42:11.833Z Moon culminates 84.55 degrees above the horizon -2029-01-28T10:49:54.690Z moonset -2029-01-28T12:14:37.775Z sunrise +2029-01-28T10:49:54.815Z moonset +2029-01-28T12:14:37.835Z sunrise 2029-01-28T17:37:48.892Z Sun culminates 43.44 degrees above the horizon -2029-01-28T21:35:16.444Z moonrise -2029-01-28T23:01:17.420Z sunset +2029-01-28T21:35:16.296Z moonrise +2029-01-28T23:01:17.407Z sunset 2029-01-29T04:38:59.937Z Moon culminates 81.25 degrees above the horizon -2029-01-29T11:36:46.366Z moonset -2029-01-29T12:14:09.154Z sunrise +2029-01-29T11:36:46.443Z moonset +2029-01-29T12:14:09.211Z sunrise 2029-01-29T17:37:59.105Z Sun culminates 43.71 degrees above the horizon -2029-01-29T22:42:09.056Z moonrise -2029-01-29T23:02:06.788Z sunset +2029-01-29T22:42:08.970Z moonrise +2029-01-29T23:02:06.779Z sunset 2029-01-30T05:34:21.127Z Moon culminates 76.57 degrees above the horizon 2029-01-30T06:04:04.272Z full moon -2029-01-30T12:13:39.087Z sunrise -2029-01-30T12:19:26.546Z moonset +2029-01-30T12:13:39.142Z sunrise +2029-01-30T12:19:26.581Z moonset 2029-01-30T17:38:08.502Z Sun culminates 43.98 degrees above the horizon -2029-01-30T23:02:55.963Z sunset -2029-01-30T23:49:23.200Z moonrise +2029-01-30T23:02:55.957Z sunset +2029-01-30T23:49:23.172Z moonrise 2029-01-31T06:27:52.302Z Moon culminates 70.84 degrees above the horizon -2029-01-31T12:13:07.598Z sunrise -2029-01-31T12:58:48.399Z moonset +2029-01-31T12:13:07.649Z sunrise +2029-01-31T12:58:48.411Z moonset 2029-01-31T17:38:17.086Z Sun culminates 44.26 degrees above the horizon -2029-01-31T23:03:44.928Z sunset +2029-01-31T23:03:44.926Z sunset 2029-01-31T23:44:11.428Z Venus moves from Sagittarius to Capricornus -2029-02-01T00:56:05.627Z moonrise +2029-02-01T00:56:05.624Z moonrise 2029-02-01T07:19:51.722Z Moon culminates 64.47 degrees above the horizon -2029-02-01T12:12:34.708Z sunrise +2029-02-01T12:12:34.757Z sunrise 2029-02-01T12:18:52.974Z lunar perigee at 363324 km -2029-02-01T13:36:08.332Z moonset +2029-02-01T13:36:08.338Z moonset 2029-02-01T17:38:24.862Z Sun culminates 44.55 degrees above the horizon -2029-02-01T23:04:33.668Z sunset -2029-02-02T02:02:11.669Z moonrise +2029-02-01T23:04:33.670Z sunset +2029-02-02T02:02:11.670Z moonrise 2029-02-02T08:11:05.395Z Moon culminates 57.90 degrees above the horizon -2029-02-02T12:12:00.442Z sunrise -2029-02-02T14:12:52.093Z moonset +2029-02-02T12:12:00.489Z sunrise +2029-02-02T14:12:52.097Z moonset 2029-02-02T17:38:31.833Z Sun culminates 44.84 degrees above the horizon -2029-02-02T23:05:22.169Z sunset -2029-02-03T03:08:03.615Z moonrise +2029-02-02T23:05:22.175Z sunset +2029-02-03T03:08:03.629Z moonrise 2029-02-03T09:02:31.112Z Moon culminates 51.57 degrees above the horizon -2029-02-03T12:11:24.824Z sunrise -2029-02-03T14:50:28.073Z moonset +2029-02-03T12:11:24.867Z sunrise +2029-02-03T14:50:28.062Z moonset 2029-02-03T17:38:38.004Z Sun culminates 45.13 degrees above the horizon -2029-02-03T23:06:10.416Z sunset -2029-02-04T04:14:04.031Z moonrise +2029-02-03T23:06:10.426Z sunset +2029-02-04T04:14:04.095Z moonrise 2029-02-04T09:55:03.467Z Moon culminates 45.88 degrees above the horizon -2029-02-04T12:10:47.877Z sunrise -2029-02-04T15:30:23.410Z moonset +2029-02-04T12:10:47.918Z sunrise +2029-02-04T15:30:23.360Z moonset 2029-02-04T17:38:43.381Z Sun culminates 45.43 degrees above the horizon -2029-02-04T23:06:58.397Z sunset -2029-02-05T05:20:10.113Z moonrise +2029-02-04T23:06:58.411Z sunset +2029-02-05T05:20:10.258Z moonrise 2029-02-05T10:49:18.933Z Moon culminates 41.18 degrees above the horizon -2029-02-05T12:10:09.626Z sunrise -2029-02-05T16:13:57.127Z moonset +2029-02-05T12:10:09.664Z sunrise +2029-02-05T16:13:57.019Z moonset 2029-02-05T17:38:47.970Z Sun culminates 45.74 degrees above the horizon 2029-02-05T21:52:43.808Z third quarter -2029-02-05T23:07:46.097Z sunset -2029-02-06T06:25:34.369Z moonrise +2029-02-05T23:07:46.115Z sunset +2029-02-06T06:25:34.584Z moonrise 2029-02-06T11:45:21.001Z Moon culminates 37.78 degrees above the horizon -2029-02-06T12:09:30.095Z sunrise -2029-02-06T17:02:05.566Z moonset +2029-02-06T12:09:30.131Z sunrise +2029-02-06T17:02:05.399Z moonset 2029-02-06T17:38:51.775Z Sun culminates 46.05 degrees above the horizon -2029-02-06T23:08:33.504Z sunset -2029-02-07T07:28:42.766Z moonrise -2029-02-07T12:08:49.309Z sunrise +2029-02-06T23:08:33.524Z sunset +2029-02-07T07:28:43.009Z moonrise +2029-02-07T12:08:49.343Z sunrise 2029-02-07T12:42:30.757Z Moon culminates 35.89 degrees above the horizon 2029-02-07T17:38:54.803Z Sun culminates 46.36 degrees above the horizon -2029-02-07T17:55:00.816Z moonset -2029-02-07T23:09:20.602Z sunset -2029-02-08T08:27:40.886Z moonrise -2029-02-08T12:08:07.292Z sunrise +2029-02-07T17:55:00.606Z moonset +2029-02-07T23:09:20.627Z sunset +2029-02-08T08:27:41.120Z moonrise +2029-02-08T12:08:07.323Z sunrise 2029-02-08T13:39:32.620Z Moon culminates 35.58 degrees above the horizon 2029-02-08T17:38:57.058Z Sun culminates 46.68 degrees above the horizon -2029-02-08T18:51:54.593Z moonset -2029-02-08T23:10:07.380Z sunset +2029-02-08T18:51:54.361Z moonset +2029-02-08T23:10:07.408Z sunset 2029-02-09T01:43:03.008Z Mercury max morning elongation: 25.75 degrees from Sun -2029-02-09T09:20:58.794Z moonrise -2029-02-09T12:07:24.067Z sunrise +2029-02-09T09:20:58.997Z moonrise +2029-02-09T12:07:24.096Z sunrise 2029-02-09T14:34:58.786Z Moon culminates 36.80 degrees above the horizon 2029-02-09T17:38:58.546Z Sun culminates 47.00 degrees above the horizon -2029-02-09T19:51:06.935Z moonset -2029-02-09T23:10:53.823Z sunset -2029-02-10T10:08:03.588Z moonrise -2029-02-10T12:06:39.658Z sunrise +2029-02-09T19:51:06.714Z moonset +2029-02-09T23:10:53.855Z sunset +2029-02-10T10:08:03.746Z moonrise +2029-02-10T12:06:39.685Z sunrise 2029-02-10T15:27:40.136Z Moon culminates 39.36 degrees above the horizon 2029-02-10T17:38:59.271Z Sun culminates 47.33 degrees above the horizon -2029-02-10T20:50:42.795Z moonset -2029-02-10T23:11:39.920Z sunset -2029-02-11T10:49:19.500Z moonrise -2029-02-11T12:05:54.087Z sunrise +2029-02-10T20:50:42.622Z moonset +2029-02-10T23:11:39.955Z sunset +2029-02-11T10:49:19.606Z moonrise +2029-02-11T12:05:54.112Z sunrise 2029-02-11T16:17:04.862Z Moon culminates 43.00 degrees above the horizon 2029-02-11T16:38:46.353Z Neptune moves from Pisces to Cetus 2029-02-11T17:38:59.240Z Sun culminates 47.66 degrees above the horizon -2029-02-11T21:49:12.408Z moonset -2029-02-11T23:12:25.658Z sunset -2029-02-12T11:25:46.175Z moonrise -2029-02-12T12:05:07.378Z sunrise +2029-02-11T21:49:12.306Z moonset +2029-02-11T23:12:25.697Z sunset +2029-02-12T11:25:46.234Z moonrise +2029-02-12T12:05:07.401Z sunrise 2029-02-12T17:03:18.364Z Moon culminates 47.43 degrees above the horizon 2029-02-12T17:38:58.458Z Sun culminates 47.99 degrees above the horizon -2029-02-12T22:45:50.577Z moonset -2029-02-12T23:13:11.026Z sunset +2029-02-12T22:45:50.537Z moonset +2029-02-12T23:13:11.068Z sunset 2029-02-13T10:32:06.131Z new moon -2029-02-13T11:58:36.201Z moonrise -2029-02-13T12:04:19.554Z sunrise +2029-02-13T11:58:36.229Z moonrise +2029-02-13T12:04:19.575Z sunrise 2029-02-13T17:38:56.931Z Sun culminates 48.33 degrees above the horizon 2029-02-13T17:46:52.234Z Moon culminates 52.37 degrees above the horizon 2029-02-13T18:29:36.784Z Mercury moves from Sagittarius to Capricornus -2029-02-13T23:13:56.013Z sunset -2029-02-13T23:40:33.253Z moonset -2029-02-14T12:03:30.637Z sunrise -2029-02-14T12:29:01.999Z moonrise +2029-02-13T23:13:56.058Z sunset +2029-02-13T23:40:33.247Z moonset +2029-02-14T12:03:30.657Z sunrise +2029-02-14T12:29:02.015Z moonrise 2029-02-14T17:38:54.666Z Sun culminates 48.67 degrees above the horizon 2029-02-14T18:28:32.291Z Moon culminates 57.59 degrees above the horizon -2029-02-14T23:14:40.610Z sunset -2029-02-15T00:33:44.134Z moonset -2029-02-15T12:02:40.653Z sunrise -2029-02-15T12:58:11.437Z moonrise +2029-02-14T23:14:40.658Z sunset +2029-02-15T00:33:44.137Z moonset +2029-02-15T12:02:40.670Z sunrise +2029-02-15T12:58:11.449Z moonrise 2029-02-15T17:38:51.671Z Sun culminates 49.02 degrees above the horizon 2029-02-15T19:09:10.313Z Moon culminates 62.88 degrees above the horizon -2029-02-15T23:15:24.808Z sunset -2029-02-16T01:26:01.467Z moonset -2029-02-16T12:01:49.624Z sunrise -2029-02-16T13:27:08.441Z moonrise +2029-02-15T23:15:24.859Z sunset +2029-02-16T01:26:01.472Z moonset +2029-02-16T12:01:49.640Z sunrise +2029-02-16T13:27:08.449Z moonrise 2029-02-16T17:38:47.954Z Sun culminates 49.36 degrees above the horizon 2029-02-16T19:49:39.583Z Moon culminates 68.04 degrees above the horizon -2029-02-16T23:16:08.600Z sunset -2029-02-17T02:18:08.164Z moonset +2029-02-16T23:16:08.654Z sunset +2029-02-17T02:18:08.180Z moonset 2029-02-17T11:58:21.321Z lunar apogee at 405802 km -2029-02-17T12:00:57.575Z sunrise -2029-02-17T13:56:55.689Z moonrise +2029-02-17T12:00:57.590Z sunrise +2029-02-17T13:56:55.684Z moonrise 2029-02-17T17:38:43.524Z Sun culminates 49.71 degrees above the horizon 2029-02-17T20:30:52.592Z Moon culminates 72.92 degrees above the horizon -2029-02-17T23:16:51.981Z sunset -2029-02-18T03:10:44.236Z moonset -2029-02-18T12:00:04.533Z sunrise -2029-02-18T14:28:37.554Z moonrise +2029-02-17T23:16:52.038Z sunset +2029-02-18T03:10:44.283Z moonset +2029-02-18T12:00:04.545Z sunrise +2029-02-18T14:28:37.522Z moonrise 2029-02-18T17:38:38.393Z Sun culminates 50.07 degrees above the horizon 2029-02-18T21:13:39.027Z Moon culminates 77.33 degrees above the horizon -2029-02-18T23:17:34.947Z sunset -2029-02-19T04:04:19.452Z moonset +2029-02-18T23:17:35.006Z sunset +2029-02-19T04:04:19.549Z moonset 2029-02-19T09:16:58.051Z Venus aphelion at 0.7282 AU -2029-02-19T11:59:10.522Z sunrise -2029-02-19T15:03:21.842Z moonrise +2029-02-19T11:59:10.533Z sunrise +2029-02-19T15:03:21.773Z moonrise 2029-02-19T17:38:32.572Z Sun culminates 50.43 degrees above the horizon 2029-02-19T21:58:42.328Z Moon culminates 81.08 degrees above the horizon -2029-02-19T23:18:17.495Z sunset -2029-02-20T04:59:04.688Z moonset -2029-02-20T11:58:15.570Z sunrise -2029-02-20T15:42:18.278Z moonrise +2029-02-19T23:18:17.557Z sunset +2029-02-20T04:59:04.835Z moonset +2029-02-20T11:58:15.581Z sunrise +2029-02-20T15:42:18.169Z moonrise 2029-02-20T17:38:26.074Z Sun culminates 50.78 degrees above the horizon 2029-02-20T22:46:33.470Z Moon culminates 83.99 degrees above the horizon -2029-02-20T23:18:59.624Z sunset -2029-02-21T05:54:42.561Z moonset -2029-02-21T11:57:19.706Z sunrise +2029-02-20T23:18:59.689Z sunset +2029-02-21T05:54:42.742Z moonset +2029-02-21T11:57:19.715Z sunrise 2029-02-21T15:10:32.506Z first quarter -2029-02-21T16:26:30.877Z moonrise +2029-02-21T16:26:30.732Z moonrise 2029-02-21T17:38:18.913Z Sun culminates 51.15 degrees above the horizon -2029-02-21T23:19:41.337Z sunset +2029-02-21T23:19:41.404Z sunset 2029-02-21T23:37:22.026Z Moon culminates 85.82 degrees above the horizon -2029-02-22T06:50:22.012Z moonset -2029-02-22T11:56:22.957Z sunrise -2029-02-22T17:16:42.141Z moonrise +2029-02-22T06:50:22.202Z moonset +2029-02-22T11:56:22.964Z sunrise +2029-02-22T17:16:41.971Z moonrise 2029-02-22T17:38:11.106Z Sun culminates 51.51 degrees above the horizon 2029-02-22T22:56:26.705Z Venus moves from Capricornus to Aquarius -2029-02-22T23:20:22.636Z sunset +2029-02-22T23:20:22.705Z sunset 2029-02-23T00:30:47.775Z Moon culminates 86.37 degrees above the horizon 2029-02-23T01:27:16.477Z Mercury aphelion at 0.4667 AU -2029-02-23T07:44:44.950Z moonset -2029-02-23T11:55:25.352Z sunrise +2029-02-23T07:44:45.126Z moonset +2029-02-23T11:55:25.359Z sunrise 2029-02-23T17:38:02.669Z Sun culminates 51.88 degrees above the horizon -2029-02-23T18:12:52.704Z moonrise -2029-02-23T23:21:03.525Z sunset +2029-02-23T18:12:52.523Z moonrise +2029-02-23T23:21:03.596Z sunset 2029-02-24T01:25:59.881Z Moon culminates 85.46 degrees above the horizon -2029-02-24T08:36:29.248Z moonset -2029-02-24T11:54:26.923Z sunrise +2029-02-24T08:36:29.394Z moonset +2029-02-24T11:54:26.929Z sunrise 2029-02-24T17:37:53.621Z Sun culminates 52.25 degrees above the horizon -2029-02-24T19:14:09.881Z moonrise -2029-02-24T23:21:44.010Z sunset +2029-02-24T19:14:09.714Z moonrise +2029-02-24T23:21:44.084Z sunset 2029-02-25T02:21:49.741Z Moon culminates 83.02 degrees above the horizon -2029-02-25T09:24:38.766Z moonset -2029-02-25T11:53:27.699Z sunrise +2029-02-25T09:24:38.869Z moonset +2029-02-25T11:53:27.704Z sunrise 2029-02-25T17:37:43.979Z Sun culminates 52.62 degrees above the horizon -2029-02-25T20:19:00.527Z moonrise -2029-02-25T23:22:24.100Z sunset +2029-02-25T20:19:00.408Z moonrise +2029-02-25T23:22:24.176Z sunset 2029-02-26T03:17:14.429Z Moon culminates 79.12 degrees above the horizon -2029-02-26T10:09:01.987Z moonset -2029-02-26T11:52:27.712Z sunrise +2029-02-26T10:09:02.043Z moonset +2029-02-26T11:52:27.716Z sunrise 2029-02-26T17:37:33.765Z Sun culminates 53.00 degrees above the horizon -2029-02-26T21:25:45.954Z moonrise -2029-02-26T23:23:03.804Z sunset +2029-02-26T21:25:45.898Z moonrise +2029-02-26T23:23:03.881Z sunset 2029-02-27T04:11:37.974Z Moon culminates 73.94 degrees above the horizon -2029-02-27T10:50:10.738Z moonset -2029-02-27T11:51:26.992Z sunrise +2029-02-27T10:50:10.759Z moonset +2029-02-27T11:51:26.996Z sunrise 2029-02-27T17:37:22.999Z Sun culminates 53.37 degrees above the horizon -2029-02-27T22:33:15.842Z moonrise -2029-02-27T23:23:43.131Z sunset +2029-02-27T22:33:15.831Z moonrise +2029-02-27T23:23:43.210Z sunset 2029-02-28T05:04:59.655Z Moon culminates 67.83 degrees above the horizon -2029-02-28T11:29:06.852Z moonset -2029-02-28T11:50:25.572Z sunrise +2029-02-28T11:29:06.859Z moonset +2029-02-28T11:50:25.575Z sunrise 2029-02-28T17:10:39.846Z full moon 2029-02-28T17:37:11.703Z Sun culminates 53.75 degrees above the horizon -2029-02-28T23:24:22.094Z sunset +2029-02-28T23:24:22.175Z sunset 2029-02-28T23:41:00.964Z moonrise 2029-03-01T05:57:48.917Z Moon culminates 61.21 degrees above the horizon -2029-03-01T11:49:23.482Z sunrise -2029-03-01T12:07:08.542Z moonset +2029-03-01T11:49:23.485Z sunrise +2029-03-01T12:07:08.547Z moonset 2029-03-01T17:36:59.897Z Sun culminates 54.13 degrees above the horizon 2029-03-01T18:28:01.417Z lunar perigee at 358617 km -2029-03-01T23:25:00.704Z sunset -2029-03-02T00:49:03.378Z moonrise +2029-03-01T23:25:00.787Z sunset +2029-03-02T00:49:03.382Z moonrise 2029-03-02T06:50:52.819Z Moon culminates 54.54 degrees above the horizon -2029-03-02T11:48:20.754Z sunrise -2029-03-02T12:45:41.440Z moonset +2029-03-02T11:48:20.755Z sunrise +2029-03-02T12:45:41.438Z moonset 2029-03-02T17:36:47.604Z Sun culminates 54.51 degrees above the horizon -2029-03-02T23:25:38.976Z sunset -2029-03-03T01:57:33.260Z moonrise +2029-03-02T23:25:39.060Z sunset +2029-03-03T01:57:33.296Z moonrise 2029-03-03T07:45:00.574Z Moon culminates 48.32 degrees above the horizon -2029-03-03T11:47:17.417Z sunrise -2029-03-03T13:26:12.561Z moonset +2029-03-03T11:47:17.419Z sunrise +2029-03-03T13:26:12.531Z moonset 2029-03-03T17:36:34.847Z Sun culminates 54.90 degrees above the horizon -2029-03-03T23:26:16.922Z sunset -2029-03-04T03:06:21.084Z moonrise +2029-03-03T23:26:17.007Z sunset +2029-03-04T03:06:21.194Z moonrise 2029-03-04T08:40:46.489Z Moon culminates 43.02 degrees above the horizon -2029-03-04T11:46:13.505Z sunrise -2029-03-04T14:10:02.353Z moonset +2029-03-04T11:46:13.506Z sunrise +2029-03-04T14:10:02.270Z moonset 2029-03-04T17:36:21.647Z Sun culminates 55.28 degrees above the horizon -2029-03-04T23:26:54.555Z sunset +2029-03-04T23:26:54.642Z sunset 2029-03-04T23:54:49.306Z Mercury moves from Capricornus to Aquarius -2029-03-05T04:14:33.992Z moonrise +2029-03-05T04:14:34.184Z moonrise 2029-03-05T09:38:12.896Z Moon culminates 39.00 degrees above the horizon 2029-03-05T11:45:09.046Z sunrise -2029-03-05T14:58:10.006Z moonset +2029-03-05T14:58:09.861Z moonset 2029-03-05T17:36:08.025Z Sun culminates 55.67 degrees above the horizon -2029-03-05T23:27:31.888Z sunset -2029-03-06T05:20:30.336Z moonrise +2029-03-05T23:27:31.976Z sunset +2029-03-06T05:20:30.571Z moonrise 2029-03-06T10:36:39.316Z Moon culminates 36.53 degrees above the horizon -2029-03-06T11:44:04.071Z sunrise -2029-03-06T15:50:52.131Z moonset +2029-03-06T11:44:04.072Z sunrise +2029-03-06T15:50:51.935Z moonset 2029-03-06T17:35:54.004Z Sun culminates 56.06 degrees above the horizon -2029-03-06T23:28:08.931Z sunset -2029-03-07T06:22:05.477Z moonrise +2029-03-06T23:28:09.021Z sunset +2029-03-07T06:22:05.713Z moonrise 2029-03-07T07:52:10.352Z third quarter 2029-03-07T11:34:48.125Z Moon culminates 35.71 degrees above the horizon -2029-03-07T11:42:58.611Z sunrise -2029-03-07T16:47:26.237Z moonset +2029-03-07T11:42:58.711Z sunrise +2029-03-07T16:47:26.012Z moonset 2029-03-07T17:35:39.603Z Sun culminates 56.45 degrees above the horizon -2029-03-07T23:28:45.698Z sunset -2029-03-08T07:17:40.036Z moonrise -2029-03-08T11:41:52.695Z sunrise +2029-03-07T23:28:45.788Z sunset +2029-03-08T07:17:40.247Z moonrise +2029-03-08T11:41:52.794Z sunrise 2029-03-08T12:31:10.014Z Moon culminates 36.47 degrees above the horizon 2029-03-08T17:35:24.842Z Sun culminates 56.84 degrees above the horizon -2029-03-08T17:46:18.007Z moonset -2029-03-08T23:29:22.197Z sunset -2029-03-09T08:06:36.211Z moonrise -2029-03-09T11:40:46.351Z sunrise +2029-03-08T17:46:17.783Z moonset +2029-03-08T23:29:22.288Z sunset +2029-03-09T08:06:36.382Z moonrise +2029-03-09T11:40:46.449Z sunrise 2029-03-09T13:24:35.845Z Moon culminates 38.63 degrees above the horizon 2029-03-09T17:35:09.742Z Sun culminates 57.23 degrees above the horizon -2029-03-09T18:45:36.400Z moonset -2029-03-09T23:29:58.439Z sunset -2029-03-10T08:49:18.475Z moonrise -2029-03-10T11:39:39.607Z sunrise +2029-03-09T18:45:36.213Z moonset +2029-03-09T23:29:58.532Z sunset +2029-03-10T08:49:18.595Z moonrise +2029-03-10T11:39:39.703Z sunrise 2029-03-10T14:14:35.148Z Moon culminates 41.91 degrees above the horizon 2029-03-10T17:34:54.319Z Sun culminates 57.62 degrees above the horizon -2029-03-10T19:43:53.519Z moonset -2029-03-10T23:30:34.434Z sunset -2029-03-11T09:26:49.659Z moonrise -2029-03-11T11:38:32.489Z sunrise +2029-03-10T19:43:53.397Z moonset +2029-03-10T23:30:34.528Z sunset +2029-03-11T09:26:49.730Z moonrise +2029-03-11T11:38:32.585Z sunrise 2029-03-11T15:01:15.091Z Moon culminates 46.03 degrees above the horizon 2029-03-11T17:34:38.593Z Sun culminates 58.01 degrees above the horizon -2029-03-11T20:40:24.259Z moonset -2029-03-11T23:31:10.191Z sunset -2029-03-12T10:00:26.033Z moonrise -2029-03-12T11:37:25.025Z sunrise +2029-03-11T20:40:24.203Z moonset +2029-03-11T23:31:10.285Z sunset +2029-03-12T10:00:26.069Z moonrise +2029-03-12T11:37:25.120Z sunrise 2029-03-12T15:45:08.550Z Moon culminates 50.74 degrees above the horizon 2029-03-12T17:34:22.581Z Sun culminates 58.40 degrees above the horizon -2029-03-12T21:35:03.409Z moonset -2029-03-12T23:31:45.717Z sunset -2029-03-13T10:31:22.757Z moonrise -2029-03-13T11:36:17.240Z sunrise +2029-03-12T21:35:03.396Z moonset +2029-03-12T23:31:45.813Z sunset +2029-03-13T10:31:22.776Z moonrise +2029-03-13T11:36:17.334Z sunrise 2029-03-13T16:27:01.663Z Moon culminates 55.81 degrees above the horizon 2029-03-13T17:34:06.299Z Sun culminates 58.80 degrees above the horizon -2029-03-13T22:28:12.626Z moonset -2029-03-13T23:32:21.022Z sunset -2029-03-14T11:00:48.935Z moonrise -2029-03-14T11:35:09.160Z sunrise +2029-03-13T22:28:12.628Z moonset +2029-03-13T23:32:21.119Z sunset +2029-03-14T11:00:48.948Z moonrise +2029-03-14T11:35:09.254Z sunrise 2029-03-14T17:07:45.408Z Moon culminates 61.02 degrees above the horizon 2029-03-14T17:33:49.765Z Sun culminates 59.19 degrees above the horizon -2029-03-14T23:20:27.465Z moonset -2029-03-14T23:32:56.114Z sunset +2029-03-14T23:20:27.469Z moonset +2029-03-14T23:32:56.211Z sunset 2029-03-15T04:19:50.860Z new moon -2029-03-15T11:29:48.044Z moonrise -2029-03-15T11:34:00.810Z sunrise +2029-03-15T11:29:48.054Z moonrise +2029-03-15T11:34:00.903Z sunrise 2029-03-15T17:33:32.996Z Sun culminates 59.59 degrees above the horizon 2029-03-15T17:48:11.124Z Moon culminates 66.20 degrees above the horizon -2029-03-15T23:33:31.644Z sunset -2029-03-16T00:12:27.658Z moonset -2029-03-16T11:32:52.215Z sunrise +2029-03-15T23:33:31.098Z sunset +2029-03-16T00:12:27.668Z moonset +2029-03-16T11:32:52.307Z sunrise 2029-03-16T11:59:20.461Z moonrise 2029-03-16T17:33:16.007Z Sun culminates 59.98 degrees above the horizon 2029-03-16T18:29:08.198Z Moon culminates 71.15 degrees above the horizon 2029-03-16T21:33:30.577Z lunar apogee at 406518 km -2029-03-16T23:34:05.688Z sunset -2029-03-17T01:04:49.775Z moonset +2029-03-16T23:34:05.788Z sunset +2029-03-17T01:04:49.808Z moonset 2029-03-17T08:03:17.580Z Venus moves from Aquarius to Pisces -2029-03-17T11:31:43.400Z sunrise -2029-03-17T12:30:26.181Z moonrise +2029-03-17T11:31:43.492Z sunrise +2029-03-17T12:30:26.161Z moonrise 2029-03-17T17:32:58.817Z Sun culminates 60.38 degrees above the horizon 2029-03-17T19:11:22.161Z Moon culminates 75.71 degrees above the horizon -2029-03-17T23:34:40.188Z sunset -2029-03-18T01:58:00.445Z moonset -2029-03-18T11:30:34.392Z sunrise -2029-03-18T13:04:06.452Z moonrise +2029-03-17T23:34:40.288Z sunset +2029-03-18T01:58:00.520Z moonset +2029-03-18T11:30:34.482Z sunrise +2029-03-18T13:04:06.398Z moonrise 2029-03-18T17:32:41.441Z Sun culminates 60.77 degrees above the horizon 2029-03-18T19:55:31.760Z Moon culminates 79.67 degrees above the horizon -2029-03-18T23:35:14.507Z sunset -2029-03-19T02:52:08.969Z moonset -2029-03-19T11:29:25.214Z sunrise -2029-03-19T13:41:22.866Z moonrise +2029-03-18T23:35:14.508Z sunset +2029-03-19T02:52:09.096Z moonset +2029-03-19T11:29:25.304Z sunrise +2029-03-19T13:41:22.773Z moonrise 2029-03-19T17:32:23.897Z Sun culminates 61.17 degrees above the horizon 2029-03-19T20:42:04.201Z Moon culminates 82.85 degrees above the horizon 2029-03-19T23:35:48.656Z sunset -2029-03-20T03:46:59.967Z moonset +2029-03-20T03:47:00.135Z moonset 2029-03-20T08:01:43.024Z March equinox -2029-03-20T11:28:15.894Z sunrise -2029-03-20T14:23:12.066Z moonrise +2029-03-20T11:28:15.983Z sunrise +2029-03-20T14:23:11.936Z moonrise 2029-03-20T17:32:06.204Z Sun culminates 61.56 degrees above the horizon 2029-03-20T21:31:08.762Z Moon culminates 85.05 degrees above the horizon 2029-03-20T23:36:22.644Z sunset -2029-03-21T04:41:49.517Z moonset -2029-03-21T11:27:06.457Z sunrise +2029-03-21T04:41:49.704Z moonset +2029-03-21T11:27:06.546Z sunrise 2029-03-21T13:10:19.724Z Mercury moves from Aquarius to Pisces -2029-03-21T15:10:14.727Z moonrise +2029-03-21T15:10:14.568Z moonrise 2029-03-21T17:31:48.380Z Sun culminates 61.96 degrees above the horizon 2029-03-21T22:22:31.113Z Moon culminates 86.06 degrees above the horizon -2029-03-21T23:36:56.481Z sunset -2029-03-22T05:35:30.528Z moonset -2029-03-22T11:25:56.932Z sunrise -2029-03-22T16:02:40.940Z moonrise +2029-03-21T23:36:56.482Z sunset +2029-03-22T05:35:30.710Z moonset +2029-03-22T11:25:57.020Z sunrise +2029-03-22T16:02:40.765Z moonrise 2029-03-22T17:31:30.443Z Sun culminates 62.35 degrees above the horizon 2029-03-22T23:15:32.935Z Moon culminates 85.75 degrees above the horizon -2029-03-22T23:37:30.181Z sunset -2029-03-23T06:26:50.537Z moonset +2029-03-22T23:37:30.182Z sunset +2029-03-23T06:26:50.697Z moonset 2029-03-23T07:33:44.327Z first quarter -2029-03-23T11:24:47.344Z sunrise -2029-03-23T17:00:00.415Z moonrise +2029-03-23T11:24:47.432Z sunrise +2029-03-23T17:00:00.243Z moonrise 2029-03-23T17:31:12.416Z Sun culminates 62.75 degrees above the horizon 2029-03-23T19:35:19.513Z Venus superior conjunction 2029-03-23T23:38:03.755Z sunset 2029-03-24T00:09:21.012Z Moon culminates 84.03 degrees above the horizon -2029-03-24T07:14:56.082Z moonset -2029-03-24T11:23:37.724Z sunrise +2029-03-24T07:14:56.205Z moonset +2029-03-24T11:23:37.811Z sunrise 2029-03-24T17:30:54.317Z Sun culminates 63.14 degrees above the horizon -2029-03-24T18:01:08.483Z moonrise +2029-03-24T18:01:08.343Z moonrise 2029-03-24T23:38:37.216Z sunset 2029-03-25T01:03:04.493Z Moon culminates 80.91 degrees above the horizon 2029-03-25T07:40:58.820Z Mars opposition -2029-03-25T07:59:30.353Z moonset -2029-03-25T11:22:28.099Z sunrise +2029-03-25T07:59:30.431Z moonset +2029-03-25T11:22:28.185Z sunrise 2029-03-25T17:30:36.169Z Sun culminates 63.53 degrees above the horizon -2029-03-25T19:04:49.451Z moonrise -2029-03-25T23:39:10.578Z sunset +2029-03-25T19:04:49.368Z moonrise +2029-03-25T23:39:10.579Z sunset 2029-03-26T01:56:12.237Z Moon culminates 76.51 degrees above the horizon -2029-03-26T08:40:55.691Z moonset -2029-03-26T11:21:18.499Z sunrise +2029-03-26T08:40:55.729Z moonset +2029-03-26T11:21:18.584Z sunrise 2029-03-26T16:19:58.702Z Mercury superior conjunction 2029-03-26T16:34:46.226Z Venus moves from Pisces to Cetus 2029-03-26T17:30:17.993Z Sun culminates 63.93 degrees above the horizon -2029-03-26T20:10:03.968Z moonrise -2029-03-26T23:39:43.857Z sunset +2029-03-26T20:10:03.940Z moonrise +2029-03-26T23:39:43.859Z sunset 2029-03-27T01:59:29.430Z Mercury moves from Pisces to Cetus 2029-03-27T02:48:41.924Z Moon culminates 71.02 degrees above the horizon -2029-03-27T09:20:04.647Z moonset -2029-03-27T11:20:08.953Z sunrise +2029-03-27T09:20:04.660Z moonset +2029-03-27T11:20:09.037Z sunrise 2029-03-27T17:29:59.813Z Sun culminates 64.32 degrees above the horizon -2029-03-27T21:16:24.290Z moonrise -2029-03-27T23:40:17.069Z sunset +2029-03-27T21:16:24.287Z moonrise +2029-03-27T23:40:17.071Z sunset 2029-03-28T03:40:58.951Z Moon culminates 64.76 degrees above the horizon 2029-03-28T06:53:55.188Z Mercury moves from Cetus to Pisces -2029-03-28T09:58:08.819Z moonset -2029-03-28T11:18:59.492Z sunrise +2029-03-28T09:58:08.825Z moonset +2029-03-28T11:18:59.575Z sunrise 2029-03-28T17:29:41.651Z Sun culminates 64.71 degrees above the horizon 2029-03-28T22:23:51.995Z moonrise 2029-03-28T23:30:01.504Z Neptune conjunction -2029-03-28T23:40:50.229Z sunset +2029-03-28T23:40:50.232Z sunset 2029-03-29T04:33:48.316Z Moon culminates 58.12 degrees above the horizon 2029-03-29T05:55:35.131Z Venus moves from Cetus to Pisces -2029-03-29T10:36:30.957Z moonset -2029-03-29T11:17:50.145Z sunrise +2029-03-29T10:36:30.961Z moonset +2029-03-29T11:17:50.226Z sunrise 2029-03-29T17:29:23.531Z Sun culminates 65.10 degrees above the horizon -2029-03-29T23:32:41.500Z moonrise -2029-03-29T23:41:23.355Z sunset +2029-03-29T23:32:41.512Z moonrise +2029-03-29T23:41:23.358Z sunset 2029-03-30T02:26:49.662Z full moon 2029-03-30T05:28:02.314Z Moon culminates 51.59 degrees above the horizon 2029-03-30T05:38:49.998Z lunar perigee at 356652 km -2029-03-30T11:16:39.884Z moonset -2029-03-30T11:16:40.941Z sunrise +2029-03-30T11:16:39.873Z moonset +2029-03-30T11:16:41.022Z sunrise 2029-03-30T17:29:05.475Z Sun culminates 65.48 degrees above the horizon -2029-03-30T23:41:56.464Z sunset -2029-03-31T00:42:53.740Z moonrise +2029-03-30T23:41:56.467Z sunset +2029-03-31T00:42:53.807Z moonrise 2029-03-31T06:24:24.015Z Moon culminates 45.68 degrees above the horizon -2029-03-31T11:15:31.912Z sunrise -2029-03-31T12:00:03.751Z moonset +2029-03-31T11:15:31.991Z sunrise +2029-03-31T12:00:03.698Z moonset 2029-03-31T17:28:47.509Z Sun culminates 65.87 degrees above the horizon -2029-03-31T23:42:29.571Z sunset -2029-04-01T01:53:45.688Z moonrise +2029-03-31T23:42:29.575Z sunset +2029-04-01T01:53:45.840Z moonrise 2029-04-01T07:23:06.390Z Moon culminates 40.89 degrees above the horizon -2029-04-01T11:14:23.086Z sunrise -2029-04-01T12:47:55.551Z moonset +2029-04-01T11:14:23.164Z sunrise +2029-04-01T12:47:55.437Z moonset 2029-04-01T17:28:29.653Z Sun culminates 66.25 degrees above the horizon -2029-04-01T23:43:02.693Z sunset -2029-04-02T03:03:30.830Z moonrise +2029-04-01T23:43:02.698Z sunset +2029-04-02T03:03:31.048Z moonrise 2029-04-02T08:23:33.113Z Moon culminates 37.61 degrees above the horizon -2029-04-02T11:13:14.493Z sunrise -2029-04-02T13:40:47.999Z moonset +2029-04-02T11:13:14.569Z sunrise +2029-04-02T13:40:47.825Z moonset 2029-04-02T17:28:11.931Z Sun culminates 66.64 degrees above the horizon -2029-04-02T23:43:35.845Z sunset -2029-04-03T04:09:35.272Z moonrise +2029-04-02T23:43:35.851Z sunset +2029-04-03T04:09:35.508Z moonrise 2029-04-03T09:24:16.250Z Moon culminates 36.08 degrees above the horizon -2029-04-03T11:12:06.162Z sunrise -2029-04-03T14:38:07.689Z moonset +2029-04-03T11:12:06.237Z sunrise +2029-04-03T14:38:07.475Z moonset 2029-04-03T17:27:54.364Z Sun culminates 67.02 degrees above the horizon -2029-04-03T23:44:09.041Z sunset -2029-04-04T05:09:35.447Z moonrise +2029-04-03T23:44:09.047Z sunset +2029-04-04T05:09:35.664Z moonrise 2029-04-04T10:23:22.918Z Moon culminates 36.28 degrees above the horizon -2029-04-04T11:10:58.124Z sunrise -2029-04-04T15:38:13.850Z moonset +2029-04-04T11:10:58.197Z sunrise +2029-04-04T15:38:13.625Z moonset 2029-04-04T17:27:36.973Z Sun culminates 67.40 degrees above the horizon -2029-04-04T23:44:42.292Z sunset -2029-04-05T06:02:17.403Z moonrise -2029-04-05T11:09:50.407Z sunrise +2029-04-04T23:44:42.299Z sunset +2029-04-05T06:02:17.583Z moonrise +2029-04-05T11:09:50.478Z sunrise 2029-04-05T11:19:18.596Z Moon culminates 38.02 degrees above the horizon -2029-04-05T16:38:56.164Z moonset +2029-04-05T16:38:55.966Z moonset 2029-04-05T17:27:19.779Z Sun culminates 67.78 degrees above the horizon 2029-04-05T19:52:10.106Z third quarter -2029-04-05T23:45:15.609Z sunset -2029-04-06T06:47:50.812Z moonrise -2029-04-06T11:08:43.038Z sunrise +2029-04-05T23:45:15.618Z sunset +2029-04-06T06:47:50.944Z moonrise +2029-04-06T11:08:43.107Z sunrise 2029-04-06T12:11:16.754Z Moon culminates 40.99 degrees above the horizon 2029-04-06T17:27:02.800Z Sun culminates 68.16 degrees above the horizon -2029-04-06T17:38:26.901Z moonset -2029-04-06T23:45:49.004Z sunset +2029-04-06T17:38:26.762Z moonset +2029-04-06T23:45:49.015Z sunset 2029-04-07T01:01:58.109Z Mercury moves from Pisces to Aries -2029-04-07T07:27:21.104Z moonrise -2029-04-07T11:07:36.046Z sunrise +2029-04-07T07:27:21.187Z moonrise +2029-04-07T11:07:36.113Z sunrise 2029-04-07T12:59:20.256Z Moon culminates 44.88 degrees above the horizon 2029-04-07T17:26:46.056Z Sun culminates 68.53 degrees above the horizon -2029-04-07T18:35:49.750Z moonset -2029-04-07T23:46:22.485Z sunset +2029-04-07T18:35:49.679Z moonset +2029-04-07T23:46:22.497Z sunset 2029-04-08T01:05:42.110Z Mercury perihelion at 0.3075 AU -2029-04-08T08:02:14.515Z moonrise -2029-04-08T11:06:29.456Z sunrise +2029-04-08T08:02:14.559Z moonrise +2029-04-08T11:06:29.521Z sunrise 2029-04-08T13:44:05.449Z Moon culminates 49.40 degrees above the horizon 2029-04-08T17:26:29.562Z Sun culminates 68.91 degrees above the horizon -2029-04-08T19:30:57.574Z moonset -2029-04-08T23:46:56.059Z sunset -2029-04-09T08:33:56.601Z moonrise -2029-04-09T11:05:23.295Z sunrise +2029-04-08T19:30:57.552Z moonset +2029-04-08T23:46:56.073Z sunset +2029-04-09T08:33:56.623Z moonrise +2029-04-09T11:05:23.358Z sunrise 2029-04-09T14:26:24.904Z Moon culminates 54.33 degrees above the horizon 2029-04-09T17:26:13.335Z Sun culminates 69.28 degrees above the horizon 2029-04-09T20:24:15.625Z moonset -2029-04-09T23:47:29.733Z sunset -2029-04-10T09:03:44.536Z moonrise -2029-04-10T11:04:17.588Z sunrise +2029-04-09T23:47:29.748Z sunset +2029-04-10T09:03:44.550Z moonrise +2029-04-10T11:04:17.649Z sunrise 2029-04-10T15:07:16.001Z Moon culminates 59.45 degrees above the horizon 2029-04-10T17:25:57.389Z Sun culminates 69.65 degrees above the horizon -2029-04-10T21:16:24.999Z moonset -2029-04-10T23:48:03.510Z sunset -2029-04-11T09:32:47.095Z moonrise -2029-04-11T11:03:12.360Z sunrise +2029-04-10T21:16:25.003Z moonset +2029-04-10T23:48:03.527Z sunset +2029-04-11T09:32:47.106Z moonrise +2029-04-11T11:03:12.418Z sunrise 2029-04-11T15:47:35.222Z Moon culminates 64.59 degrees above the horizon 2029-04-11T17:25:41.740Z Sun culminates 70.01 degrees above the horizon -2029-04-11T22:08:10.996Z moonset -2029-04-11T23:48:37.395Z sunset +2029-04-11T22:08:11.003Z moonset +2029-04-11T23:48:37.414Z sunset 2029-04-12T03:52:44.149Z Jupiter opposition -2029-04-12T10:02:07.536Z moonrise -2029-04-12T11:02:07.633Z sunrise +2029-04-12T10:02:07.541Z moonrise +2029-04-12T11:02:07.688Z sunrise 2029-04-12T16:28:15.670Z Moon culminates 69.58 degrees above the horizon 2029-04-12T17:25:26.401Z Sun culminates 70.38 degrees above the horizon -2029-04-12T23:00:15.192Z moonset +2029-04-12T23:00:15.215Z moonset 2029-04-12T23:06:38.847Z lunar apogee at 406661 km -2029-04-12T23:49:11.391Z sunset -2029-04-13T10:32:46.805Z moonrise -2029-04-13T11:01:03.432Z sunrise +2029-04-12T23:49:11.411Z sunset +2029-04-13T10:32:46.793Z moonrise +2029-04-13T11:01:03.485Z sunrise 2029-04-13T17:10:05.345Z Moon culminates 74.23 degrees above the horizon 2029-04-13T17:25:11.383Z Sun culminates 70.74 degrees above the horizon 2029-04-13T21:40:47.110Z new moon -2029-04-13T23:49:45.498Z sunset -2029-04-13T23:53:08.611Z moonset +2029-04-13T23:49:45.521Z sunset +2029-04-13T23:53:08.670Z moonset 2029-04-14T08:12:48.656Z Venus moves from Pisces to Aries -2029-04-14T10:59:59.780Z sunrise -2029-04-14T11:05:45.546Z moonrise +2029-04-14T10:59:59.829Z sunrise +2029-04-14T11:05:45.505Z moonrise 2029-04-14T17:24:56.700Z Sun culminates 71.10 degrees above the horizon 2029-04-14T17:53:44.409Z Moon culminates 78.37 degrees above the horizon -2029-04-14T23:50:19.718Z sunset -2029-04-15T00:47:04.256Z moonset -2029-04-15T10:58:56.699Z sunrise -2029-04-15T11:42:03.500Z moonrise +2029-04-14T23:50:19.743Z sunset +2029-04-15T00:47:04.365Z moonset +2029-04-15T10:58:56.745Z sunrise +2029-04-15T11:42:03.421Z moonrise 2029-04-15T17:24:42.362Z Sun culminates 71.46 degrees above the horizon 2029-04-15T18:39:40.466Z Moon culminates 81.79 degrees above the horizon -2029-04-15T23:50:54.050Z sunset -2029-04-16T01:41:49.333Z moonset -2029-04-16T10:57:54.213Z sunrise -2029-04-16T12:22:34.677Z moonrise +2029-04-15T23:50:54.078Z sunset +2029-04-16T01:41:49.487Z moonset +2029-04-16T10:57:54.256Z sunrise +2029-04-16T12:22:34.559Z moonrise 2029-04-16T17:24:28.381Z Sun culminates 71.81 degrees above the horizon 2029-04-16T19:28:02.221Z Moon culminates 84.28 degrees above the horizon -2029-04-16T23:51:28.495Z sunset -2029-04-17T02:36:40.728Z moonset -2029-04-17T10:56:52.344Z sunrise -2029-04-17T13:07:57.290Z moonrise +2029-04-16T23:51:28.525Z sunset +2029-04-17T02:36:40.908Z moonset +2029-04-17T10:56:52.383Z sunrise +2029-04-17T13:07:57.141Z moonrise 2029-04-17T17:24:14.768Z Sun culminates 72.16 degrees above the horizon 2029-04-17T20:18:34.078Z Moon culminates 85.65 degrees above the horizon -2029-04-17T23:52:03.052Z sunset -2029-04-18T03:30:29.815Z moonset -2029-04-18T10:55:51.116Z sunrise -2029-04-18T13:58:20.591Z moonrise +2029-04-17T23:52:03.085Z sunset +2029-04-18T03:30:29.997Z moonset +2029-04-18T10:55:51.152Z sunrise +2029-04-18T13:58:20.422Z moonrise 2029-04-18T17:24:01.534Z Sun culminates 72.51 degrees above the horizon 2029-04-18T21:10:36.323Z Moon culminates 85.76 degrees above the horizon -2029-04-18T23:52:37.719Z sunset -2029-04-19T04:22:00.215Z moonset -2029-04-19T10:54:50.552Z sunrise -2029-04-19T14:53:16.219Z moonrise +2029-04-18T23:52:37.755Z sunset +2029-04-19T04:22:00.381Z moonset +2029-04-19T10:54:50.584Z sunrise +2029-04-19T14:53:16.047Z moonrise 2029-04-19T17:23:48.692Z Sun culminates 72.85 degrees above the horizon 2029-04-19T22:03:14.702Z Moon culminates 84.52 degrees above the horizon -2029-04-19T23:53:12.497Z sunset -2029-04-20T05:10:12.860Z moonset -2029-04-20T10:53:50.676Z sunrise -2029-04-20T15:51:43.862Z moonrise +2029-04-19T23:53:12.536Z sunset +2029-04-20T05:10:12.996Z moonset +2029-04-20T10:53:50.704Z sunrise +2029-04-20T15:51:43.712Z moonrise 2029-04-20T17:23:36.252Z Sun culminates 73.19 degrees above the horizon 2029-04-20T22:55:37.655Z Moon culminates 81.96 degrees above the horizon -2029-04-20T23:53:47.384Z sunset -2029-04-21T05:54:44.842Z moonset -2029-04-21T10:52:51.513Z sunrise +2029-04-20T23:53:47.426Z sunset +2029-04-21T05:54:44.937Z moonset +2029-04-21T10:52:51.537Z sunrise 2029-04-21T13:35:44.613Z Mercury max evening elongation: 20.09 degrees from Sun -2029-04-21T16:52:32.864Z moonrise +2029-04-21T16:52:32.762Z moonrise 2029-04-21T17:23:24.227Z Sun culminates 73.53 degrees above the horizon 2029-04-21T19:50:42.758Z first quarter 2029-04-21T23:47:13.378Z Moon culminates 78.15 degrees above the horizon -2029-04-21T23:54:22.381Z sunset -2029-04-22T06:35:53.006Z moonset -2029-04-22T10:51:53.087Z sunrise +2029-04-21T23:54:22.426Z sunset +2029-04-22T06:35:53.059Z moonset +2029-04-22T10:51:53.107Z sunrise 2029-04-22T17:23:12.630Z Sun culminates 73.87 degrees above the horizon -2029-04-22T17:54:48.262Z moonrise -2029-04-22T23:54:57.486Z sunset +2029-04-22T17:54:48.217Z moonrise +2029-04-22T23:54:57.535Z sunset 2029-04-23T00:37:58.986Z Moon culminates 73.28 degrees above the horizon -2029-04-23T07:14:25.474Z moonset -2029-04-23T10:50:55.425Z sunrise +2029-04-23T07:14:25.496Z moonset +2029-04-23T10:50:55.441Z sunrise 2029-04-23T17:23:01.473Z Sun culminates 74.20 degrees above the horizon -2029-04-23T18:58:06.716Z moonrise -2029-04-23T23:55:32.701Z sunset +2029-04-23T18:58:06.707Z moonrise +2029-04-23T23:55:32.753Z sunset 2029-04-24T01:28:20.103Z Moon culminates 67.57 degrees above the horizon -2029-04-24T07:51:30.364Z moonset -2029-04-24T10:49:58.553Z sunrise +2029-04-24T07:51:30.372Z moonset +2029-04-24T10:49:58.564Z sunrise 2029-04-24T17:22:50.769Z Sun culminates 74.53 degrees above the horizon -2029-04-24T20:02:36.963Z moonrise -2029-04-24T23:56:08.025Z sunset +2029-04-24T20:02:36.964Z moonrise +2029-04-24T23:56:08.081Z sunset 2029-04-25T02:19:04.265Z Moon culminates 61.31 degrees above the horizon -2029-04-25T08:28:27.980Z moonset -2029-04-25T10:49:02.496Z sunrise +2029-04-25T08:28:27.986Z moonset +2029-04-25T10:49:02.503Z sunrise 2029-04-25T17:22:40.533Z Sun culminates 74.85 degrees above the horizon -2029-04-25T21:08:47.725Z moonrise -2029-04-25T23:56:43.460Z sunset +2029-04-25T21:08:47.728Z moonrise +2029-04-25T23:56:43.519Z sunset 2029-04-26T03:11:11.324Z Moon culminates 54.88 degrees above the horizon -2029-04-26T09:06:47.121Z moonset -2029-04-26T10:48:07.282Z sunrise +2029-04-26T09:06:47.120Z moonset +2029-04-26T10:48:07.284Z sunrise 2029-04-26T17:22:30.777Z Sun culminates 75.17 degrees above the horizon -2029-04-26T22:17:06.208Z moonrise -2029-04-26T23:57:19.007Z sunset +2029-04-26T22:17:06.240Z moonrise +2029-04-26T23:57:19.070Z sunset 2029-04-27T04:05:40.651Z Moon culminates 48.71 degrees above the horizon -2029-04-27T09:48:02.039Z moonset -2029-04-27T10:47:12.935Z sunrise +2029-04-27T09:48:02.011Z moonset +2029-04-27T10:47:12.933Z sunrise 2029-04-27T12:48:46.146Z Mercury moves from Aries to Taurus 2029-04-27T16:22:40.080Z lunar perigee at 357819 km 2029-04-27T17:22:21.516Z Sun culminates 75.49 degrees above the horizon -2029-04-27T23:27:27.894Z moonrise -2029-04-27T23:57:54.665Z sunset +2029-04-27T23:27:27.998Z moonrise +2029-04-27T23:57:54.732Z sunset 2029-04-28T05:03:12.287Z Moon culminates 43.33 degrees above the horizon -2029-04-28T10:33:43.598Z moonset +2029-04-28T10:33:43.517Z moonset 2029-04-28T10:37:16.951Z full moon -2029-04-28T10:46:19.483Z sunrise +2029-04-28T10:46:19.476Z sunrise 2029-04-28T17:22:12.762Z Sun culminates 75.80 degrees above the horizon -2029-04-28T23:58:30.436Z sunset -2029-04-29T00:38:43.310Z moonrise +2029-04-28T23:58:30.507Z sunset +2029-04-29T00:38:43.497Z moonrise 2029-04-29T06:03:41.725Z Moon culminates 39.22 degrees above the horizon -2029-04-29T10:45:26.951Z sunrise -2029-04-29T11:24:57.095Z moonset +2029-04-29T10:45:26.939Z sunrise +2029-04-29T11:24:56.951Z moonset 2029-04-29T17:22:04.528Z Sun culminates 76.11 degrees above the horizon -2029-04-29T23:59:06.318Z sunset -2029-04-30T01:48:24.969Z moonrise +2029-04-29T23:59:06.393Z sunset +2029-04-30T01:48:25.199Z moonrise 2029-04-30T07:05:59.763Z Moon culminates 36.78 degrees above the horizon -2029-04-30T10:44:35.364Z sunrise -2029-04-30T12:21:46.898Z moonset +2029-04-30T10:44:35.347Z sunrise +2029-04-30T12:21:46.702Z moonset 2029-04-30T17:21:56.826Z Sun culminates 76.42 degrees above the horizon -2029-04-30T23:59:42.308Z sunset -2029-05-01T02:53:26.347Z moonrise +2029-04-30T23:59:42.387Z sunset +2029-05-01T02:53:26.573Z moonrise 2029-05-01T08:08:00.966Z Moon culminates 36.17 degrees above the horizon -2029-05-01T10:43:44.749Z sunrise -2029-05-01T13:22:50.811Z moonset +2029-05-01T10:43:44.727Z sunrise +2029-05-01T13:22:50.589Z moonset 2029-05-01T17:21:49.667Z Sun culminates 76.72 degrees above the horizon -2029-05-02T00:00:18.403Z sunset -2029-05-02T03:51:23.182Z moonrise +2029-05-02T00:00:18.487Z sunset +2029-05-02T03:51:23.375Z moonrise 2029-05-02T09:07:30.059Z Moon culminates 37.31 degrees above the horizon -2029-05-02T10:42:55.131Z sunrise -2029-05-02T14:25:40.575Z moonset +2029-05-02T10:42:55.104Z sunrise +2029-05-02T14:25:40.363Z moonset 2029-05-02T17:21:43.061Z Sun culminates 77.02 degrees above the horizon -2029-05-03T00:00:54.598Z sunset -2029-05-03T04:41:29.633Z moonrise +2029-05-03T00:00:54.686Z sunset +2029-05-03T04:41:29.780Z moonrise 2029-05-03T10:02:55.506Z Moon culminates 39.90 degrees above the horizon -2029-05-03T10:42:06.535Z sunrise +2029-05-03T10:42:06.503Z sunrise 2029-05-03T11:14:51.665Z Venus moves from Aries to Taurus -2029-05-03T15:27:46.407Z moonset +2029-05-03T15:27:46.245Z moonset 2029-05-03T17:21:37.017Z Sun culminates 77.31 degrees above the horizon -2029-05-04T00:01:30.886Z sunset -2029-05-04T05:24:28.564Z moonrise -2029-05-04T10:41:18.984Z sunrise +2029-05-04T00:01:30.978Z sunset +2029-05-04T05:24:28.660Z moonrise +2029-05-04T10:41:18.947Z sunrise 2029-05-04T10:53:50.882Z Moon culminates 43.56 degrees above the horizon -2029-05-04T16:27:32.819Z moonset +2029-05-04T16:27:32.727Z moonset 2029-05-04T16:58:11.975Z Saturn conjunction 2029-05-04T17:21:31.544Z Sun culminates 77.60 degrees above the horizon -2029-05-05T00:02:07.258Z sunset -2029-05-05T06:01:47.459Z moonrise +2029-05-05T00:02:07.354Z sunset +2029-05-05T06:01:47.512Z moonrise 2029-05-05T09:48:37.621Z third quarter -2029-05-05T10:40:32.502Z sunrise +2029-05-05T10:40:32.460Z sunrise 2029-05-05T11:40:41.878Z Moon culminates 47.97 degrees above the horizon 2029-05-05T17:21:26.647Z Sun culminates 77.88 degrees above the horizon -2029-05-05T17:24:30.686Z moonset -2029-05-06T00:02:43.703Z sunset -2029-05-06T06:35:02.471Z moonrise -2029-05-06T10:39:47.111Z sunrise +2029-05-05T17:24:30.652Z moonset +2029-05-06T00:02:43.804Z sunset +2029-05-06T06:35:02.498Z moonrise +2029-05-06T10:39:47.063Z sunrise 2029-05-06T12:24:22.391Z Moon culminates 52.82 degrees above the horizon 2029-05-06T17:21:22.332Z Sun culminates 78.16 degrees above the horizon -2029-05-06T18:18:59.145Z moonset -2029-05-07T00:03:20.211Z sunset -2029-05-07T07:05:42.186Z moonrise -2029-05-07T10:39:02.830Z sunrise +2029-05-06T18:18:59.141Z moonset +2029-05-07T00:03:20.317Z sunset +2029-05-07T07:05:42.201Z moonrise +2029-05-07T10:39:02.777Z sunrise 2029-05-07T13:05:56.293Z Moon culminates 57.90 degrees above the horizon 2029-05-07T17:21:18.602Z Sun culminates 78.43 degrees above the horizon 2029-05-07T17:21:35.019Z Mercury moves from Taurus to Aries -2029-05-07T19:11:42.589Z moonset -2029-05-08T00:03:56.768Z sunset -2029-05-08T07:35:04.548Z moonrise -2029-05-08T10:38:19.679Z sunrise +2029-05-07T19:11:42.593Z moonset +2029-05-08T00:03:56.877Z sunset +2029-05-08T07:35:04.560Z moonrise +2029-05-08T10:38:19.621Z sunrise 2029-05-08T13:46:27.838Z Moon culminates 63.03 degrees above the horizon 2029-05-08T17:21:15.458Z Sun culminates 78.70 degrees above the horizon -2029-05-08T20:03:34.008Z moonset -2029-05-09T00:04:33.356Z sunset -2029-05-09T08:04:19.380Z moonrise +2029-05-08T20:03:34.013Z moonset +2029-05-09T00:04:33.470Z sunset +2029-05-09T08:04:19.387Z moonrise 2029-05-09T08:23:29.099Z Mercury moves from Aries to Taurus -2029-05-09T10:37:37.677Z sunrise +2029-05-09T10:37:37.614Z sunrise 2029-05-09T14:26:57.710Z Moon culminates 68.05 degrees above the horizon 2029-05-09T17:21:12.902Z Sun culminates 78.97 degrees above the horizon -2029-05-09T20:55:24.616Z moonset -2029-05-10T00:05:09.960Z sunset +2029-05-09T20:55:24.632Z moonset +2029-05-10T00:05:10.078Z sunset 2029-05-10T06:58:45.043Z lunar apogee at 406112 km -2029-05-10T08:34:32.214Z moonrise -2029-05-10T10:36:56.839Z sunrise +2029-05-10T08:34:32.209Z moonrise +2029-05-10T10:36:56.770Z sunrise 2029-05-10T13:40:12.487Z Mercury moves from Taurus to Aries 2029-05-10T15:08:21.220Z Moon culminates 72.80 degrees above the horizon 2029-05-10T17:21:10.932Z Sun culminates 79.23 degrees above the horizon -2029-05-10T21:47:56.337Z moonset -2029-05-11T00:05:46.559Z sunset -2029-05-11T09:06:47.292Z moonrise -2029-05-11T10:36:17.180Z sunrise +2029-05-10T21:47:56.382Z moonset +2029-05-11T00:05:46.682Z sunset +2029-05-11T09:06:47.261Z moonrise +2029-05-11T10:36:17.107Z sunrise 2029-05-11T15:51:26.032Z Moon culminates 77.10 degrees above the horizon 2029-05-11T17:21:09.545Z Sun culminates 79.49 degrees above the horizon -2029-05-11T22:41:34.104Z moonset -2029-05-12T00:06:23.133Z sunset -2029-05-12T09:42:08.098Z moonrise -2029-05-12T10:35:38.716Z sunrise +2029-05-11T22:41:34.195Z moonset +2029-05-12T00:06:23.260Z sunset +2029-05-12T09:42:08.031Z moonrise +2029-05-12T10:35:38.638Z sunrise 2029-05-12T16:36:47.720Z Moon culminates 80.75 degrees above the horizon 2029-05-12T17:21:08.737Z Sun culminates 79.74 degrees above the horizon 2029-05-12T23:18:02.664Z Mercury inferior conjunction -2029-05-12T23:36:16.986Z moonset -2029-05-13T00:06:59.659Z sunset -2029-05-13T10:21:33.564Z moonrise -2029-05-13T10:35:01.459Z sunrise +2029-05-12T23:36:17.126Z moonset +2029-05-13T00:06:59.791Z sunset +2029-05-13T10:21:33.459Z moonrise +2029-05-13T10:35:01.376Z sunrise 2029-05-13T13:42:44.429Z new moon 2029-05-13T17:21:08.503Z Sun culminates 79.98 degrees above the horizon 2029-05-13T17:24:42.768Z Moon culminates 83.54 degrees above the horizon -2029-05-14T00:07:36.114Z sunset -2029-05-14T00:31:30.674Z moonset -2029-05-14T10:34:25.422Z sunrise -2029-05-14T11:05:48.257Z moonrise +2029-05-14T00:07:36.250Z sunset +2029-05-14T00:31:30.847Z moonset +2029-05-14T10:34:25.333Z sunrise +2029-05-14T11:05:48.118Z moonrise 2029-05-14T17:21:08.837Z Sun culminates 80.22 degrees above the horizon 2029-05-14T18:15:01.075Z Moon culminates 85.26 degrees above the horizon -2029-05-15T00:08:12.473Z sunset -2029-05-15T01:26:07.999Z moonset -2029-05-15T10:33:50.615Z sunrise -2029-05-15T11:55:07.654Z moonrise +2029-05-15T00:08:12.613Z sunset +2029-05-15T01:26:08.181Z moonset +2029-05-15T10:33:50.522Z sunrise +2029-05-15T11:55:07.491Z moonrise 2029-05-15T17:21:09.731Z Sun culminates 80.45 degrees above the horizon 2029-05-15T19:07:03.241Z Moon culminates 85.74 degrees above the horizon -2029-05-16T00:08:48.710Z sunset -2029-05-16T02:18:44.234Z moonset -2029-05-16T10:33:17.051Z sunrise -2029-05-16T12:49:05.957Z moonrise +2029-05-16T00:08:48.855Z sunset +2029-05-16T02:18:44.405Z moonset +2029-05-16T10:33:16.953Z sunrise +2029-05-16T12:49:05.786Z moonrise 2029-05-16T17:21:11.179Z Sun culminates 80.68 degrees above the horizon 2029-05-16T19:59:48.519Z Moon culminates 84.88 degrees above the horizon -2029-05-17T00:09:24.801Z sunset -2029-05-17T03:08:04.794Z moonset -2029-05-17T10:32:44.739Z sunrise -2029-05-17T13:46:38.525Z moonrise +2029-05-17T00:09:24.950Z sunset +2029-05-17T03:08:04.938Z moonset +2029-05-17T10:32:44.636Z sunrise +2029-05-17T13:46:38.368Z moonrise 2029-05-17T17:21:13.173Z Sun culminates 80.91 degrees above the horizon 2029-05-17T20:52:13.667Z Moon culminates 82.70 degrees above the horizon -2029-05-18T00:10:00.717Z sunset -2029-05-18T03:53:30.533Z moonset -2029-05-18T10:32:13.690Z sunrise -2029-05-18T14:46:23.923Z moonrise +2029-05-18T00:10:00.870Z sunset +2029-05-18T03:53:30.640Z moonset +2029-05-18T10:32:13.583Z sunrise +2029-05-18T14:46:23.808Z moonrise 2029-05-18T17:21:15.704Z Sun culminates 81.13 degrees above the horizon 2029-05-18T21:43:34.032Z Moon culminates 79.28 degrees above the horizon -2029-05-19T00:10:36.433Z sunset -2029-05-19T04:35:06.404Z moonset -2029-05-19T10:31:43.915Z sunrise -2029-05-19T15:47:14.184Z moonrise +2029-05-19T00:10:36.591Z sunset +2029-05-19T04:35:06.468Z moonset +2029-05-19T10:31:43.803Z sunrise +2029-05-19T15:47:14.124Z moonrise 2029-05-19T17:21:18.765Z Sun culminates 81.34 degrees above the horizon 2029-05-19T22:33:36.215Z Moon culminates 74.80 degrees above the horizon -2029-05-20T00:11:11.923Z sunset -2029-05-20T05:13:33.697Z moonset -2029-05-20T10:31:15.423Z sunrise -2029-05-20T16:48:35.454Z moonrise +2029-05-20T00:11:12.084Z sunset +2029-05-20T05:13:33.727Z moonset +2029-05-20T10:31:15.307Z sunrise +2029-05-20T16:48:35.437Z moonrise 2029-05-20T17:21:22.346Z Sun culminates 81.54 degrees above the horizon 2029-05-20T23:22:38.996Z Moon culminates 69.49 degrees above the horizon -2029-05-21T00:11:47.160Z sunset +2029-05-21T00:11:47.325Z sunset 2029-05-21T04:16:41.252Z first quarter -2029-05-21T05:49:56.679Z moonset -2029-05-21T10:30:48.225Z sunrise +2029-05-21T05:49:56.691Z moonset +2029-05-21T10:30:48.104Z sunrise 2029-05-21T17:21:26.442Z Sun culminates 81.75 degrees above the horizon -2029-05-21T17:50:31.549Z moonrise +2029-05-21T17:50:31.548Z moonrise 2029-05-22T00:11:26.749Z Moon culminates 63.61 degrees above the horizon -2029-05-22T00:12:22.118Z sunset +2029-05-22T00:12:22.287Z sunset 2029-05-22T00:43:06.877Z Mercury aphelion at 0.4667 AU -2029-05-22T06:25:32.544Z moonset -2029-05-22T10:30:22.330Z sunrise +2029-05-22T06:25:32.551Z moonset +2029-05-22T10:30:22.206Z sunrise 2029-05-22T17:21:31.043Z Sun culminates 81.94 degrees above the horizon -2029-05-22T18:53:34.445Z moonrise -2029-05-23T00:12:56.773Z sunset +2029-05-22T18:53:34.446Z moonrise +2029-05-23T00:12:56.946Z sunset 2029-05-23T01:01:00.476Z Moon culminates 57.44 degrees above the horizon -2029-05-23T07:01:46.965Z moonset -2029-05-23T10:29:57.750Z sunrise +2029-05-23T07:01:46.969Z moonset +2029-05-23T10:29:57.621Z sunrise 2029-05-23T17:21:36.142Z Sun culminates 82.13 degrees above the horizon -2029-05-23T19:58:27.123Z moonrise -2029-05-24T00:13:31.099Z sunset +2029-05-23T19:58:27.137Z moonrise +2029-05-24T00:13:31.276Z sunset 2029-05-24T01:52:27.902Z Moon culminates 51.35 degrees above the horizon -2029-05-24T07:40:12.918Z moonset -2029-05-24T10:29:34.492Z sunrise +2029-05-24T07:40:12.906Z moonset +2029-05-24T10:29:34.359Z sunrise 2029-05-24T17:21:41.733Z Sun culminates 82.31 degrees above the horizon -2029-05-24T21:05:39.511Z moonrise -2029-05-25T00:14:05.074Z sunset +2029-05-24T21:05:39.576Z moonrise +2029-05-25T00:14:05.254Z sunset 2029-05-25T02:46:50.056Z Moon culminates 45.74 degrees above the horizon -2029-05-25T08:22:27.741Z moonset -2029-05-25T10:29:12.566Z sunrise +2029-05-25T08:22:27.688Z moonset +2029-05-25T10:29:12.429Z sunrise 2029-05-25T17:21:47.807Z Sun culminates 82.49 degrees above the horizon -2029-05-25T22:14:56.653Z moonrise +2029-05-25T22:14:56.800Z moonrise 2029-05-25T22:25:45.240Z lunar perigee at 361576 km -2029-05-26T00:14:38.672Z sunset +2029-05-26T00:14:38.856Z sunset 2029-05-26T03:44:40.416Z Moon culminates 41.08 degrees above the horizon -2029-05-26T09:10:00.827Z moonset -2029-05-26T10:28:51.979Z sunrise +2029-05-26T09:10:00.714Z moonset +2029-05-26T10:28:51.839Z sunrise 2029-05-26T17:21:54.356Z Sun culminates 82.66 degrees above the horizon -2029-05-26T23:24:47.853Z moonrise -2029-05-27T00:15:11.871Z sunset +2029-05-26T23:24:48.066Z moonrise +2029-05-27T00:15:12.058Z sunset 2029-05-27T04:45:38.117Z Moon culminates 37.83 degrees above the horizon -2029-05-27T10:03:44.509Z moonset -2029-05-27T10:28:32.740Z sunrise +2029-05-27T10:03:44.337Z moonset +2029-05-27T10:28:32.596Z sunrise 2029-05-27T17:22:01.372Z Sun culminates 82.83 degrees above the horizon 2029-05-27T18:38:00.681Z full moon -2029-05-28T00:15:44.646Z sunset -2029-05-28T00:32:25.951Z moonrise +2029-05-28T00:15:44.836Z sunset +2029-05-28T00:32:26.182Z moonrise 2029-05-28T05:48:11.620Z Moon culminates 36.31 degrees above the horizon -2029-05-28T10:28:14.854Z sunrise -2029-05-28T11:03:13.887Z moonset +2029-05-28T10:28:14.707Z sunrise +2029-05-28T11:03:13.674Z moonset 2029-05-28T16:12:19.440Z Neptune moves from Cetus to Pisces 2029-05-28T17:22:08.846Z Sun culminates 82.99 degrees above the horizon -2029-05-29T00:16:16.972Z sunset -2029-05-29T01:34:44.455Z moonrise +2029-05-29T00:16:17.165Z sunset +2029-05-29T01:34:44.665Z moonrise 2029-05-29T06:49:58.791Z Moon culminates 36.63 degrees above the horizon -2029-05-29T10:27:58.329Z sunrise -2029-05-29T12:06:29.758Z moonset +2029-05-29T10:27:58.178Z sunrise +2029-05-29T12:06:29.536Z moonset 2029-05-29T17:22:16.768Z Sun culminates 83.14 degrees above the horizon -2029-05-30T00:16:48.824Z sunset -2029-05-30T02:29:42.340Z moonrise +2029-05-30T00:16:49.020Z sunset +2029-05-30T02:29:42.508Z moonrise 2029-05-30T07:48:43.657Z Moon culminates 38.61 degrees above the horizon -2029-05-30T10:27:43.169Z sunrise -2029-05-30T13:10:40.314Z moonset +2029-05-30T10:27:43.015Z sunrise +2029-05-30T13:10:40.125Z moonset 2029-05-30T17:22:25.128Z Sun culminates 83.29 degrees above the horizon -2029-05-31T00:17:20.175Z sunset -2029-05-31T03:17:02.783Z moonrise +2029-05-31T00:17:20.374Z sunset +2029-05-31T03:17:02.898Z moonrise 2029-05-31T08:43:07.744Z Moon culminates 41.92 degrees above the horizon -2029-05-31T10:27:29.378Z sunrise -2029-05-31T14:13:17.297Z moonset +2029-05-31T10:27:29.222Z sunrise +2029-05-31T14:13:17.174Z moonset 2029-05-31T17:22:33.914Z Sun culminates 83.43 degrees above the horizon -2029-06-01T00:17:50.999Z sunset -2029-06-01T03:57:47.071Z moonrise +2029-06-01T00:17:51.201Z sunset +2029-06-01T03:57:47.138Z moonrise 2029-06-01T09:33:00.856Z Moon culminates 46.15 degrees above the horizon -2029-06-01T10:27:16.961Z sunrise -2029-06-01T15:13:02.919Z moonset +2029-06-01T10:27:16.801Z sunrise +2029-06-01T15:13:02.864Z moonset 2029-06-01T17:22:43.114Z Sun culminates 83.56 degrees above the horizon -2029-06-02T00:18:21.268Z sunset -2029-06-02T04:33:28.681Z moonrise +2029-06-02T00:18:21.472Z sunset +2029-06-02T04:33:28.714Z moonrise 2029-06-02T10:19:00.790Z Moon culminates 50.96 degrees above the horizon -2029-06-02T10:27:05.918Z sunrise +2029-06-02T10:27:05.756Z sunrise 2029-06-02T11:15:21.946Z Venus moves from Taurus to Gemini -2029-06-02T16:09:47.572Z moonset +2029-06-02T16:09:47.560Z moonset 2029-06-02T17:22:52.714Z Sun culminates 83.69 degrees above the horizon -2029-06-03T00:18:50.953Z sunset -2029-06-03T05:05:43.020Z moonrise -2029-06-03T10:26:56.248Z sunrise +2029-06-03T00:18:51.160Z sunset +2029-06-03T05:05:43.037Z moonrise +2029-06-03T10:26:56.084Z sunrise 2029-06-03T11:02:08.356Z Moon culminates 56.07 degrees above the horizon -2029-06-03T17:04:04.679Z moonset +2029-06-03T17:04:04.681Z moonset 2029-06-03T17:23:02.699Z Sun culminates 83.81 degrees above the horizon -2029-06-04T00:19:20.025Z sunset +2029-06-04T00:19:20.234Z sunset 2029-06-04T01:19:24.524Z third quarter -2029-06-04T05:35:56.301Z moonrise -2029-06-04T10:26:47.950Z sunrise +2029-06-04T05:35:56.313Z moonrise +2029-06-04T10:26:47.783Z sunrise 2029-06-04T11:43:30.951Z Moon culminates 61.26 degrees above the horizon 2029-06-04T16:25:19.073Z Uranus conjunction 2029-06-04T17:23:13.053Z Sun culminates 83.92 degrees above the horizon -2029-06-04T17:56:47.135Z moonset -2029-06-05T00:19:48.454Z sunset -2029-06-05T06:05:25.100Z moonrise -2029-06-05T10:26:41.019Z sunrise +2029-06-04T17:56:47.139Z moonset +2029-06-05T00:19:48.665Z sunset +2029-06-05T06:05:25.109Z moonrise +2029-06-05T10:26:40.850Z sunrise 2029-06-05T12:24:14.779Z Moon culminates 66.36 degrees above the horizon 2029-06-05T17:23:23.757Z Sun culminates 84.03 degrees above the horizon -2029-06-05T18:48:52.045Z moonset -2029-06-06T00:20:16.208Z sunset +2029-06-05T18:48:52.055Z moonset +2029-06-06T00:20:16.421Z sunset 2029-06-06T06:35:19.813Z moonrise -2029-06-06T10:26:35.448Z sunrise +2029-06-06T10:26:35.276Z sunrise 2029-06-06T13:05:21.784Z Moon culminates 71.22 degrees above the horizon 2029-06-06T17:23:34.792Z Sun culminates 84.13 degrees above the horizon -2029-06-06T19:41:11.212Z moonset +2029-06-06T19:41:11.244Z moonset 2029-06-06T20:27:56.334Z Mercury moves from Aries to Taurus 2029-06-06T22:09:14.265Z lunar apogee at 405093 km -2029-06-07T00:20:43.255Z sunset -2029-06-07T07:06:48.481Z moonrise -2029-06-07T10:26:31.228Z sunrise +2029-06-07T00:20:43.470Z sunset +2029-06-07T07:06:48.461Z moonrise +2029-06-07T10:26:31.054Z sunrise 2029-06-07T13:47:47.726Z Moon culminates 75.68 degrees above the horizon 2029-06-07T17:23:46.137Z Sun culminates 84.23 degrees above the horizon -2029-06-07T20:34:23.302Z moonset -2029-06-08T00:21:09.562Z sunset -2029-06-08T07:40:58.961Z moonrise -2029-06-08T10:26:28.348Z sunrise +2029-06-07T20:34:23.376Z moonset +2029-06-08T00:21:09.778Z sunset +2029-06-08T07:40:58.908Z moonrise +2029-06-08T10:26:28.172Z sunrise 2029-06-08T11:44:40.061Z Mercury max morning elongation: 23.93 degrees from Sun 2029-06-08T14:32:18.801Z Moon culminates 79.57 degrees above the horizon 2029-06-08T17:23:57.768Z Sun culminates 84.31 degrees above the horizon -2029-06-08T21:28:44.950Z moonset -2029-06-09T00:21:35.095Z sunset -2029-06-09T08:18:57.395Z moonrise -2029-06-09T10:26:26.794Z sunrise +2029-06-08T21:28:45.074Z moonset +2029-06-09T00:21:35.313Z sunset +2029-06-09T08:18:57.302Z moonrise +2029-06-09T10:26:26.618Z sunrise 2029-06-09T15:19:25.267Z Moon culminates 82.68 degrees above the horizon 2029-06-09T17:24:09.661Z Sun culminates 84.39 degrees above the horizon -2029-06-09T22:24:01.056Z moonset -2029-06-10T00:21:59.820Z sunset -2029-06-10T09:01:40.581Z moonrise -2029-06-10T10:26:26.553Z sunrise +2029-06-09T22:24:01.220Z moonset +2029-06-10T00:22:00.039Z sunset +2029-06-10T09:01:40.452Z moonrise +2029-06-10T10:26:26.375Z sunrise 2029-06-10T16:09:12.561Z Moon culminates 84.79 degrees above the horizon 2029-06-10T17:24:21.793Z Sun culminates 84.47 degrees above the horizon -2029-06-10T23:19:19.275Z moonset -2029-06-11T00:22:23.702Z sunset -2029-06-11T09:49:41.183Z moonrise -2029-06-11T10:26:27.607Z sunrise +2029-06-10T23:19:19.456Z moonset +2029-06-11T00:22:23.923Z sunset +2029-06-11T09:49:41.027Z moonrise +2029-06-11T10:26:27.428Z sunrise 2029-06-11T17:01:13.958Z Moon culminates 85.71 degrees above the horizon 2029-06-11T17:24:34.136Z Sun culminates 84.54 degrees above the horizon 2029-06-11T19:10:31.674Z Venus perihelion at 0.7184 AU -2029-06-12T00:13:17.397Z moonset -2029-06-12T00:22:46.706Z sunset +2029-06-12T00:13:17.572Z moonset +2029-06-12T00:22:46.928Z sunset 2029-06-12T03:51:06.487Z new moon -2029-06-12T10:26:29.939Z sunrise -2029-06-12T10:42:50.401Z moonrise +2029-06-12T10:26:29.757Z sunrise +2029-06-12T10:42:50.230Z moonrise 2029-06-12T17:24:46.665Z Sun culminates 84.60 degrees above the horizon 2029-06-12T17:54:32.175Z Moon culminates 85.29 degrees above the horizon -2029-06-13T00:23:08.799Z sunset -2029-06-13T01:04:27.801Z moonset -2029-06-13T10:26:33.527Z sunrise -2029-06-13T11:40:10.981Z moonrise +2029-06-13T00:23:09.022Z sunset +2029-06-13T01:04:27.954Z moonset +2029-06-13T10:26:33.345Z sunrise +2029-06-13T11:40:10.816Z moonrise 2029-06-13T17:24:59.352Z Sun culminates 84.65 degrees above the horizon 2029-06-13T18:47:54.894Z Moon culminates 83.49 degrees above the horizon -2029-06-14T00:23:29.946Z sunset -2029-06-14T01:51:48.753Z moonset -2029-06-14T10:26:38.353Z sunrise -2029-06-14T12:40:12.870Z moonrise +2029-06-14T00:23:30.170Z sunset +2029-06-14T01:51:48.871Z moonset +2029-06-14T10:26:38.170Z sunrise +2029-06-14T12:40:12.740Z moonrise 2029-06-14T17:25:12.170Z Sun culminates 84.70 degrees above the horizon 2029-06-14T19:40:19.129Z Moon culminates 80.39 degrees above the horizon -2029-06-15T00:23:50.114Z sunset -2029-06-15T02:35:03.461Z moonset -2029-06-15T10:26:44.396Z sunrise -2029-06-15T13:41:26.721Z moonrise +2029-06-15T00:23:50.339Z sunset +2029-06-15T02:35:03.537Z moonset +2029-06-15T10:26:44.211Z sunrise +2029-06-15T13:41:26.645Z moonrise 2029-06-15T17:25:25.091Z Sun culminates 84.74 degrees above the horizon 2029-06-15T20:31:11.196Z Moon culminates 76.17 degrees above the horizon -2029-06-16T00:24:09.270Z sunset -2029-06-16T03:14:38.538Z moonset -2029-06-16T10:26:51.632Z sunrise -2029-06-16T14:42:54.165Z moonrise +2029-06-16T00:24:09.495Z sunset +2029-06-16T03:14:38.577Z moonset +2029-06-16T10:26:51.448Z sunrise +2029-06-16T14:42:54.138Z moonrise 2029-06-16T17:25:38.091Z Sun culminates 84.77 degrees above the horizon 2029-06-16T21:20:33.302Z Moon culminates 71.07 degrees above the horizon -2029-06-17T00:24:27.382Z sunset -2029-06-17T03:51:30.340Z moonset -2029-06-17T10:27:00.042Z sunrise -2029-06-17T15:44:19.239Z moonrise +2029-06-17T00:24:27.608Z sunset +2029-06-17T03:51:30.356Z moonset +2029-06-17T10:26:59.857Z sunrise +2029-06-17T15:44:19.237Z moonrise 2029-06-17T17:25:51.141Z Sun culminates 84.80 degrees above the horizon 2029-06-17T22:08:58.532Z Moon culminates 65.37 degrees above the horizon -2029-06-18T00:24:44.423Z sunset -2029-06-18T04:26:51.517Z moonset -2029-06-18T10:27:09.602Z sunrise -2029-06-18T16:46:02.164Z moonrise +2029-06-18T00:24:44.649Z sunset +2029-06-18T04:26:51.525Z moonset +2029-06-18T10:27:09.416Z sunrise +2029-06-18T16:46:02.165Z moonrise 2029-06-18T17:26:04.218Z Sun culminates 84.82 degrees above the horizon 2029-06-18T22:57:21.175Z Moon culminates 59.36 degrees above the horizon -2029-06-19T00:25:00.363Z sunset -2029-06-19T05:02:03.483Z moonset +2029-06-19T00:25:00.589Z sunset +2029-06-19T05:02:03.489Z moonset 2029-06-19T09:54:36.619Z first quarter -2029-06-19T10:27:20.292Z sunrise +2029-06-19T10:27:20.105Z sunrise 2029-06-19T17:26:17.296Z Sun culminates 84.83 degrees above the horizon -2029-06-19T17:48:43.856Z moonrise +2029-06-19T17:48:43.863Z moonrise 2029-06-19T23:46:46.768Z Moon culminates 53.35 degrees above the horizon -2029-06-20T00:25:15.177Z sunset -2029-06-20T05:38:34.123Z moonset -2029-06-20T10:27:32.087Z sunrise +2029-06-20T00:25:15.404Z sunset +2029-06-20T05:38:34.119Z moonset +2029-06-20T10:27:31.900Z sunrise 2029-06-20T17:26:30.354Z Sun culminates 84.84 degrees above the horizon -2029-06-20T18:53:05.772Z moonrise -2029-06-21T00:25:28.842Z sunset +2029-06-20T18:53:05.814Z moonrise +2029-06-21T00:25:29.068Z sunset 2029-06-21T00:38:21.510Z Moon culminates 47.70 degrees above the horizon 2029-06-21T01:48:18.598Z June solstice -2029-06-21T06:17:56.937Z moonset -2029-06-21T10:27:44.966Z sunrise +2029-06-21T06:17:56.902Z moonset +2029-06-21T10:27:44.780Z sunrise 2029-06-21T17:26:43.367Z Sun culminates 84.84 degrees above the horizon -2029-06-21T19:59:24.580Z moonrise -2029-06-22T00:25:41.335Z sunset +2029-06-21T19:59:24.693Z moonrise +2029-06-22T00:25:41.562Z sunset 2029-06-22T01:32:57.585Z Moon culminates 42.78 degrees above the horizon -2029-06-22T07:01:45.785Z moonset -2029-06-22T10:27:58.907Z sunrise +2029-06-22T07:01:45.698Z moonset +2029-06-22T10:27:58.720Z sunrise 2029-06-22T15:33:53.491Z lunar perigee at 366584 km 2029-06-22T17:26:56.315Z Sun culminates 84.83 degrees above the horizon -2029-06-22T21:07:02.851Z moonrise -2029-06-23T00:25:52.638Z sunset +2029-06-22T21:07:03.040Z moonrise +2029-06-23T00:25:52.864Z sunset 2029-06-23T02:30:51.751Z Moon culminates 39.02 degrees above the horizon -2029-06-23T07:51:17.665Z moonset -2029-06-23T10:28:13.885Z sunrise +2029-06-23T07:51:17.518Z moonset +2029-06-23T10:28:13.699Z sunrise 2029-06-23T17:27:09.176Z Sun culminates 84.81 degrees above the horizon -2029-06-23T22:14:09.954Z moonrise -2029-06-24T00:26:02.731Z sunset +2029-06-23T22:14:10.181Z moonrise +2029-06-24T00:26:02.957Z sunset 2029-06-24T03:31:22.691Z Moon culminates 36.77 degrees above the horizon -2029-06-24T08:46:59.605Z moonset -2029-06-24T10:28:29.879Z sunrise +2029-06-24T08:46:59.408Z moonset +2029-06-24T10:28:29.693Z sunrise 2029-06-24T17:27:21.931Z Sun culminates 84.79 degrees above the horizon -2029-06-24T23:18:01.286Z moonrise -2029-06-25T00:26:11.599Z sunset +2029-06-24T23:18:01.509Z moonrise +2029-06-25T00:26:11.824Z sunset 2029-06-25T02:00:47.194Z Venus moves from Gemini to Cancer 2029-06-25T04:32:46.199Z Moon culminates 36.26 degrees above the horizon -2029-06-25T09:47:54.355Z moonset -2029-06-25T10:28:46.865Z sunrise +2029-06-25T09:47:54.133Z moonset +2029-06-25T10:28:46.679Z sunrise 2029-06-25T17:27:34.560Z Sun culminates 84.76 degrees above the horizon -2029-06-26T00:16:03.942Z moonrise -2029-06-26T00:26:19.225Z sunset +2029-06-26T00:16:04.131Z moonrise +2029-06-26T00:26:19.450Z sunset 2029-06-26T03:22:06.538Z total lunar eclipse 2029-06-26T03:22:52.165Z full moon 2029-06-26T05:32:46.622Z Moon culminates 37.48 degrees above the horizon -2029-06-26T10:29:04.819Z sunrise -2029-06-26T10:51:42.392Z moonset +2029-06-26T10:29:04.633Z sunrise +2029-06-26T10:51:42.181Z moonset 2029-06-26T17:27:47.043Z Sun culminates 84.73 degrees above the horizon -2029-06-27T00:26:25.595Z sunset -2029-06-27T01:07:02.169Z moonrise +2029-06-27T00:26:25.818Z sunset +2029-06-27T01:07:02.309Z moonrise 2029-06-27T06:29:30.969Z Moon culminates 40.22 degrees above the horizon -2029-06-27T10:29:23.718Z sunrise -2029-06-27T11:55:37.823Z moonset +2029-06-27T10:29:23.533Z sunrise +2029-06-27T11:55:37.665Z moonset 2029-06-27T17:27:59.362Z Sun culminates 84.68 degrees above the horizon -2029-06-28T00:26:30.694Z sunset -2029-06-28T01:51:09.572Z moonrise +2029-06-28T00:26:30.916Z sunset +2029-06-28T01:51:09.660Z moonrise 2029-06-28T07:22:05.322Z Moon culminates 44.10 degrees above the horizon -2029-06-28T10:29:43.539Z sunrise -2029-06-28T12:57:36.162Z moonset +2029-06-28T10:29:43.355Z sunrise +2029-06-28T12:57:36.077Z moonset 2029-06-28T17:28:11.499Z Sun culminates 84.64 degrees above the horizon -2029-06-29T00:26:34.509Z sunset -2029-06-29T02:29:36.190Z moonrise +2029-06-29T00:26:34.731Z sunset +2029-06-29T02:29:36.234Z moonrise 2029-06-29T08:10:34.605Z Moon culminates 48.76 degrees above the horizon -2029-06-29T10:30:04.258Z sunrise -2029-06-29T13:56:42.961Z moonset +2029-06-29T10:30:04.075Z sunrise +2029-06-29T13:56:42.933Z moonset 2029-06-29T17:28:23.434Z Sun culminates 84.58 degrees above the horizon -2029-06-30T00:26:37.029Z sunset -2029-06-30T03:03:51.286Z moonrise +2029-06-30T00:26:37.250Z sunset +2029-06-30T03:03:51.307Z moonrise 2029-06-30T08:55:41.661Z Moon culminates 53.85 degrees above the horizon -2029-06-30T10:30:25.850Z sunrise -2029-06-30T14:53:02.400Z moonset +2029-06-30T10:30:25.668Z sunrise +2029-06-30T14:53:02.398Z moonset 2029-06-30T17:28:35.150Z Sun culminates 84.52 degrees above the horizon -2029-07-01T00:26:38.243Z sunset -2029-07-01T03:35:22.486Z moonrise +2029-07-01T00:26:38.462Z sunset +2029-07-01T03:35:22.498Z moonrise 2029-07-01T09:38:26.546Z Moon culminates 59.11 degrees above the horizon -2029-07-01T10:30:48.289Z sunrise -2029-07-01T15:47:12.877Z moonset +2029-07-01T10:30:48.108Z sunrise +2029-07-01T15:47:12.880Z moonset 2029-07-01T17:28:46.628Z Sun culminates 84.45 degrees above the horizon 2029-07-01T18:26:56.253Z Mercury moves from Taurus to Gemini -2029-07-02T00:26:38.139Z sunset -2029-07-02T04:05:29.448Z moonrise +2029-07-02T00:26:38.356Z sunset +2029-07-02T04:05:29.458Z moonrise 2029-07-02T10:19:53.861Z Moon culminates 64.34 degrees above the horizon -2029-07-02T10:31:11.549Z sunrise -2029-07-02T16:40:06.930Z moonset +2029-07-02T10:31:11.369Z sunrise +2029-07-02T16:40:06.936Z moonset 2029-07-02T17:28:57.850Z Sun culminates 84.37 degrees above the horizon -2029-07-03T00:26:36.707Z sunset -2029-07-03T04:35:24.893Z moonrise -2029-07-03T10:31:35.601Z sunrise +2029-07-03T00:26:36.923Z sunset +2029-07-03T04:35:24.898Z moonrise +2029-07-03T10:31:35.423Z sunrise 2029-07-03T11:01:06.831Z Moon culminates 69.35 degrees above the horizon 2029-07-03T17:29:08.796Z Sun culminates 84.29 degrees above the horizon -2029-07-03T17:32:38.303Z moonset +2029-07-03T17:32:38.324Z moonset 2029-07-03T17:58:03.486Z third quarter -2029-07-04T00:26:33.937Z sunset -2029-07-04T05:06:17.998Z moonrise -2029-07-04T10:32:00.415Z sunrise +2029-07-04T00:26:34.152Z sunset +2029-07-04T05:06:17.988Z moonrise +2029-07-04T10:32:00.239Z sunrise 2029-07-04T11:43:04.589Z Moon culminates 74.00 degrees above the horizon 2029-07-04T16:04:43.675Z lunar apogee at 404302 km 2029-07-04T17:29:19.446Z Sun culminates 84.20 degrees above the horizon -2029-07-04T18:25:33.067Z moonset +2029-07-04T18:25:33.123Z moonset 2029-07-05T00:21:32.764Z Mercury perihelion at 0.3075 AU -2029-07-05T00:26:29.821Z sunset -2029-07-05T05:39:17.494Z moonrise -2029-07-05T10:32:25.962Z sunrise +2029-07-05T00:26:30.034Z sunset +2029-07-05T05:39:17.454Z moonrise +2029-07-05T10:32:25.788Z sunrise 2029-07-05T12:26:39.646Z Moon culminates 78.13 degrees above the horizon 2029-07-05T17:29:29.780Z Sun culminates 84.10 degrees above the horizon -2029-07-05T19:19:21.368Z moonset -2029-07-06T00:26:24.349Z sunset +2029-07-05T19:19:21.473Z moonset +2029-07-06T00:26:24.559Z sunset 2029-07-06T05:13:18.169Z Earth aphelion at 1.0167 AU -2029-07-06T06:15:32.450Z moonrise -2029-07-06T10:32:52.209Z sunrise +2029-07-06T06:15:32.373Z moonrise +2029-07-06T10:32:52.037Z sunrise 2029-07-06T13:12:33.359Z Moon culminates 81.56 degrees above the horizon 2029-07-06T17:29:39.778Z Sun culminates 84.00 degrees above the horizon -2029-07-06T20:14:08.128Z moonset -2029-07-07T00:26:17.512Z sunset -2029-07-07T06:56:08.377Z moonrise -2029-07-07T10:33:19.124Z sunrise +2029-07-06T20:14:08.278Z moonset +2029-07-07T00:26:17.720Z sunset +2029-07-07T06:56:08.262Z moonrise +2029-07-07T10:33:18.953Z sunrise 2029-07-07T14:01:08.349Z Moon culminates 84.09 degrees above the horizon 2029-07-07T17:29:49.419Z Sun culminates 83.89 degrees above the horizon -2029-07-07T21:09:24.543Z moonset -2029-07-08T00:26:09.301Z sunset -2029-07-08T07:41:56.125Z moonrise -2029-07-08T10:33:46.671Z sunrise +2029-07-07T21:09:24.721Z moonset +2029-07-08T00:26:09.507Z sunset +2029-07-08T07:41:55.979Z moonrise +2029-07-08T10:33:46.503Z sunrise 2029-07-08T14:52:19.351Z Moon culminates 85.51 degrees above the horizon 2029-07-08T17:29:58.681Z Sun culminates 83.78 degrees above the horizon -2029-07-08T22:04:06.993Z moonset -2029-07-09T00:25:59.710Z sunset -2029-07-09T08:33:14.128Z moonrise -2029-07-09T10:34:14.816Z sunrise +2029-07-08T22:04:07.173Z moonset +2029-07-09T00:25:59.914Z sunset +2029-07-09T08:33:13.961Z moonrise +2029-07-09T10:34:14.650Z sunrise 2029-07-09T15:45:28.042Z Moon culminates 85.63 degrees above the horizon 2029-07-09T17:30:07.543Z Sun culminates 83.66 degrees above the horizon 2029-07-09T20:18:12.502Z Mercury superior conjunction -2029-07-09T22:56:51.216Z moonset -2029-07-10T00:25:48.730Z sunset -2029-07-10T09:29:32.419Z moonrise -2029-07-10T10:34:43.524Z sunrise +2029-07-09T22:56:51.379Z moonset +2029-07-10T00:25:48.932Z sunset +2029-07-10T09:29:32.248Z moonrise +2029-07-10T10:34:43.361Z sunrise 2029-07-10T16:39:29.463Z Moon culminates 84.36 degrees above the horizon 2029-07-10T17:30:15.985Z Sun culminates 83.53 degrees above the horizon -2029-07-10T23:46:20.760Z moonset -2029-07-11T00:25:36.356Z sunset -2029-07-11T10:29:33.812Z moonrise -2029-07-11T10:35:12.759Z sunrise +2029-07-10T23:46:20.892Z moonset +2029-07-11T00:25:36.555Z sunset +2029-07-11T10:29:33.665Z moonrise +2029-07-11T10:35:12.598Z sunrise 2029-07-11T11:30:46.549Z Venus moves from Cancer to Leo 2029-07-11T15:51:37.758Z new moon 2029-07-11T17:30:23.984Z Sun culminates 83.39 degrees above the horizon 2029-07-11T17:33:12.045Z Moon culminates 81.71 degrees above the horizon -2029-07-12T00:25:22.582Z sunset -2029-07-12T00:31:54.392Z moonset -2029-07-12T10:35:42.485Z sunrise -2029-07-12T11:31:39.607Z moonrise +2029-07-12T00:25:22.778Z sunset +2029-07-12T00:31:54.482Z moonset +2029-07-12T10:35:42.327Z sunrise +2029-07-12T11:31:39.510Z moonrise 2029-07-12T17:30:31.522Z Sun culminates 83.25 degrees above the horizon 2029-07-12T18:25:42.044Z Moon culminates 77.80 degrees above the horizon -2029-07-13T00:25:07.403Z sunset -2029-07-13T01:13:36.142Z moonset -2029-07-13T10:36:12.668Z sunrise -2029-07-13T12:34:25.842Z moonrise +2029-07-13T00:25:07.596Z sunset +2029-07-13T01:13:36.191Z moonset +2029-07-13T10:36:12.513Z sunrise +2029-07-13T12:34:25.800Z moonrise 2029-07-13T17:30:38.579Z Sun culminates 83.10 degrees above the horizon 2029-07-13T19:16:38.959Z Moon culminates 72.88 degrees above the horizon -2029-07-14T00:24:50.815Z sunset -2029-07-14T01:52:07.337Z moonset -2029-07-14T10:36:43.273Z sunrise -2029-07-14T13:37:07.258Z moonrise +2029-07-14T00:24:51.005Z sunset +2029-07-14T01:52:07.358Z moonset +2029-07-14T10:36:43.121Z sunrise +2029-07-14T13:37:07.250Z moonrise 2029-07-14T15:10:39.307Z Mercury moves from Gemini to Cancer 2029-07-14T17:30:45.136Z Sun culminates 82.95 degrees above the horizon 2029-07-14T20:06:16.866Z Moon culminates 67.25 degrees above the horizon -2029-07-15T00:24:32.818Z sunset -2029-07-15T02:28:32.226Z moonset -2029-07-15T10:37:14.266Z sunrise +2029-07-15T00:24:33.005Z sunset +2029-07-15T02:28:32.235Z moonset +2029-07-15T10:37:14.118Z sunrise 2029-07-15T14:39:39.992Z moonrise 2029-07-15T17:30:51.177Z Sun culminates 82.79 degrees above the horizon 2029-07-15T20:55:16.423Z Moon culminates 61.23 degrees above the horizon -2029-07-16T00:24:13.410Z sunset -2029-07-16T03:04:06.948Z moonset -2029-07-16T10:37:45.616Z sunrise -2029-07-16T15:42:29.308Z moonrise +2029-07-16T00:24:13.594Z sunset +2029-07-16T03:04:06.954Z moonset +2029-07-16T10:37:45.471Z sunrise +2029-07-16T15:42:29.311Z moonrise 2029-07-16T17:30:56.686Z Sun culminates 82.63 degrees above the horizon 2029-07-16T21:44:34.154Z Moon culminates 55.15 degrees above the horizon -2029-07-17T00:23:52.594Z sunset -2029-07-17T03:40:14.258Z moonset -2029-07-17T10:38:17.292Z sunrise -2029-07-17T16:46:10.658Z moonrise +2029-07-17T00:23:52.774Z sunset +2029-07-17T03:40:14.259Z moonset +2029-07-17T10:38:17.150Z sunrise +2029-07-17T16:46:10.685Z moonrise 2029-07-17T17:31:01.650Z Sun culminates 82.45 degrees above the horizon 2029-07-17T22:35:11.602Z Moon culminates 49.38 degrees above the horizon -2029-07-18T00:23:30.373Z sunset -2029-07-18T04:18:21.613Z moonset -2029-07-18T10:38:49.264Z sunrise +2029-07-18T00:23:30.549Z sunset +2029-07-18T04:18:21.591Z moonset +2029-07-18T10:38:49.126Z sunrise 2029-07-18T11:20:33.155Z lunar perigee at 369661 km 2029-07-18T14:14:47.788Z first quarter 2029-07-18T17:31:06.057Z Sun culminates 82.28 degrees above the horizon -2029-07-18T17:51:07.282Z moonrise +2029-07-18T17:51:07.369Z moonrise 2029-07-18T23:28:03.001Z Moon culminates 44.27 degrees above the horizon -2029-07-19T00:23:06.753Z sunset -2029-07-19T04:59:58.025Z moonset -2029-07-19T10:39:21.504Z sunrise +2029-07-19T00:23:06.926Z sunset +2029-07-19T04:59:57.957Z moonset +2029-07-19T10:39:21.370Z sunrise 2029-07-19T17:31:09.897Z Sun culminates 82.09 degrees above the horizon -2029-07-19T18:57:05.443Z moonrise -2029-07-20T00:22:41.742Z sunset +2029-07-19T18:57:05.607Z moonrise +2029-07-20T00:22:41.912Z sunset 2029-07-20T00:23:39.008Z Moon culminates 40.17 degrees above the horizon -2029-07-20T05:46:23.729Z moonset -2029-07-20T10:39:53.985Z sunrise +2029-07-20T05:46:23.603Z moonset +2029-07-20T10:39:53.855Z sunrise 2029-07-20T17:31:13.160Z Sun culminates 81.90 degrees above the horizon -2029-07-20T20:02:54.392Z moonrise -2029-07-21T00:22:15.350Z sunset +2029-07-20T20:02:54.609Z moonrise +2029-07-21T00:22:15.516Z sunset 2029-07-21T01:21:47.849Z Moon culminates 37.43 degrees above the horizon -2029-07-21T06:38:27.610Z moonset -2029-07-21T10:40:26.681Z sunrise +2029-07-21T06:38:27.430Z moonset +2029-07-21T10:40:26.555Z sunrise 2029-07-21T17:31:15.840Z Sun culminates 81.71 degrees above the horizon -2029-07-21T21:06:29.143Z moonrise -2029-07-22T00:21:47.589Z sunset +2029-07-21T21:06:29.371Z moonrise +2029-07-22T00:21:47.751Z sunset 2029-07-22T02:21:24.231Z Moon culminates 36.28 degrees above the horizon -2029-07-22T07:35:56.794Z moonset -2029-07-22T10:40:59.569Z sunrise +2029-07-22T07:35:56.580Z moonset +2029-07-22T10:40:59.447Z sunrise 2029-07-22T17:31:17.932Z Sun culminates 81.51 degrees above the horizon 2029-07-22T19:34:05.665Z Saturn moves from Aries to Taurus -2029-07-22T22:05:30.513Z moonrise -2029-07-23T00:21:18.471Z sunset +2029-07-22T22:05:30.718Z moonrise +2029-07-23T00:21:18.629Z sunset 2029-07-23T03:20:41.787Z Moon culminates 36.80 degrees above the horizon -2029-07-23T08:37:21.510Z moonset -2029-07-23T10:41:32.626Z sunrise +2029-07-23T08:37:21.291Z moonset +2029-07-23T10:41:32.508Z sunrise 2029-07-23T17:31:19.431Z Sun culminates 81.30 degrees above the horizon -2029-07-23T22:58:23.070Z moonrise -2029-07-24T00:20:48.009Z sunset +2029-07-23T22:58:23.233Z moonrise +2029-07-24T00:20:48.164Z sunset 2029-07-24T04:17:50.901Z Moon culminates 38.88 degrees above the horizon -2029-07-24T09:40:21.218Z moonset -2029-07-24T10:42:05.832Z sunrise +2029-07-24T09:40:21.034Z moonset +2029-07-24T10:42:05.718Z sunrise 2029-07-24T17:31:20.334Z Sun culminates 81.09 degrees above the horizon 2029-07-24T20:53:27.835Z Mercury moves from Cancer to Leo -2029-07-24T23:44:46.234Z moonrise -2029-07-25T00:20:16.220Z sunset +2029-07-24T23:44:46.345Z moonrise +2029-07-25T00:20:16.370Z sunset 2029-07-25T05:11:38.097Z Moon culminates 42.26 degrees above the horizon -2029-07-25T10:42:39.166Z sunrise -2029-07-25T10:42:41.362Z moonset +2029-07-25T10:42:39.058Z sunrise +2029-07-25T10:42:41.245Z moonset 2029-07-25T13:36:20.156Z full moon 2029-07-25T17:31:20.640Z Sun culminates 80.87 degrees above the horizon -2029-07-26T00:19:43.118Z sunset -2029-07-26T00:25:22.200Z moonrise +2029-07-26T00:19:43.264Z sunset +2029-07-26T00:25:22.262Z moonrise 2029-07-26T06:01:41.455Z Moon culminates 46.59 degrees above the horizon -2029-07-26T10:43:12.612Z sunrise -2029-07-26T11:42:57.330Z moonset +2029-07-26T10:43:12.508Z sunrise +2029-07-26T11:42:57.280Z moonset 2029-07-26T17:31:20.348Z Sun culminates 80.65 degrees above the horizon -2029-07-27T00:19:08.720Z sunset -2029-07-27T01:01:24.918Z moonrise +2029-07-27T00:19:08.862Z sunset +2029-07-27T01:01:24.948Z moonrise 2029-07-27T06:48:21.551Z Moon culminates 51.53 degrees above the horizon -2029-07-27T10:43:46.153Z sunrise -2029-07-27T12:40:42.411Z moonset +2029-07-27T10:43:46.054Z sunrise +2029-07-27T12:40:42.401Z moonset 2029-07-27T17:31:19.459Z Sun culminates 80.42 degrees above the horizon -2029-07-28T00:18:33.044Z sunset -2029-07-28T01:34:15.685Z moonrise +2029-07-28T00:18:33.182Z sunset +2029-07-28T01:34:15.700Z moonrise 2029-07-28T07:32:23.787Z Moon culminates 56.77 degrees above the horizon -2029-07-28T10:44:19.773Z sunrise -2029-07-28T13:36:12.221Z moonset +2029-07-28T10:44:19.678Z sunrise +2029-07-28T13:36:12.223Z moonset 2029-07-28T17:31:17.973Z Sun culminates 80.19 degrees above the horizon -2029-07-29T00:17:56.107Z sunset -2029-07-29T02:05:11.881Z moonrise +2029-07-29T00:17:56.241Z sunset +2029-07-29T02:05:11.892Z moonrise 2029-07-29T08:14:44.054Z Moon culminates 62.07 degrees above the horizon -2029-07-29T10:44:53.455Z sunrise -2029-07-29T14:30:05.141Z moonset +2029-07-29T10:44:53.365Z sunrise +2029-07-29T14:30:05.145Z moonset 2029-07-29T17:31:15.892Z Sun culminates 79.95 degrees above the horizon -2029-07-30T00:17:17.929Z sunset -2029-07-30T02:35:24.800Z moonrise +2029-07-30T00:17:18.058Z sunset +2029-07-30T02:35:24.808Z moonrise 2029-07-30T08:56:20.493Z Moon culminates 67.23 degrees above the horizon -2029-07-30T10:45:27.186Z sunrise -2029-07-30T15:23:07.471Z moonset +2029-07-30T10:45:27.101Z sunrise +2029-07-30T15:23:07.483Z moonset 2029-07-30T17:31:13.218Z Sun culminates 79.71 degrees above the horizon -2029-07-31T00:16:38.527Z sunset -2029-07-31T03:06:01.568Z moonrise +2029-07-31T00:16:38.652Z sunset +2029-07-31T03:06:01.566Z moonrise 2029-07-31T09:38:09.443Z Moon culminates 72.07 degrees above the horizon -2029-07-31T10:46:00.950Z sunrise -2029-07-31T16:16:03.328Z moonset +2029-07-31T10:46:00.870Z sunrise +2029-07-31T16:16:03.366Z moonset 2029-07-31T17:31:09.953Z Sun culminates 79.46 degrees above the horizon -2029-08-01T00:15:57.921Z sunset -2029-08-01T03:38:07.989Z moonrise +2029-08-01T00:15:58.041Z sunset +2029-08-01T03:38:07.963Z moonrise 2029-08-01T04:39:54.892Z Pluto opposition 2029-08-01T10:21:02.893Z Moon culminates 76.43 degrees above the horizon 2029-08-01T10:41:17.955Z lunar apogee at 404298 km -2029-08-01T10:46:34.733Z sunrise -2029-08-01T17:09:26.614Z moonset +2029-08-01T10:46:34.658Z sunrise +2029-08-01T17:09:26.697Z moonset 2029-08-01T17:31:06.099Z Sun culminates 79.21 degrees above the horizon -2029-08-02T00:15:16.129Z sunset -2029-08-02T04:12:50.323Z moonrise -2029-08-02T10:47:08.518Z sunrise +2029-08-02T00:15:16.245Z sunset +2029-08-02T04:12:50.263Z moonrise +2029-08-02T10:47:08.449Z sunrise 2029-08-02T11:05:45.244Z Moon culminates 80.16 degrees above the horizon 2029-08-02T11:15:55.753Z third quarter 2029-08-02T17:31:01.657Z Sun culminates 78.95 degrees above the horizon -2029-08-02T18:03:32.992Z moonset -2029-08-03T00:14:33.170Z sunset -2029-08-03T04:51:14.142Z moonrise -2029-08-03T10:47:42.291Z sunrise +2029-08-02T18:03:33.124Z moonset +2029-08-03T00:14:33.282Z sunset +2029-08-03T04:51:14.043Z moonrise +2029-08-03T10:47:42.227Z sunrise 2029-08-03T11:52:48.036Z Moon culminates 83.06 degrees above the horizon 2029-08-03T17:30:56.630Z Sun culminates 78.69 degrees above the horizon -2029-08-03T18:58:11.939Z moonset -2029-08-04T00:13:49.063Z sunset -2029-08-04T05:34:17.987Z moonrise -2029-08-04T10:48:16.037Z sunrise +2029-08-03T18:58:12.107Z moonset +2029-08-04T00:13:49.171Z sunset +2029-08-04T05:34:17.854Z moonrise +2029-08-04T10:48:15.978Z sunrise 2029-08-04T12:42:22.601Z Moon culminates 84.96 degrees above the horizon 2029-08-04T17:30:51.018Z Sun culminates 78.42 degrees above the horizon -2029-08-04T19:52:42.355Z moonset -2029-08-05T00:13:03.826Z sunset -2029-08-05T06:22:40.439Z moonrise -2029-08-05T10:48:49.740Z sunrise +2029-08-04T19:52:42.536Z moonset +2029-08-05T00:13:03.930Z sunset +2029-08-05T06:22:40.280Z moonrise +2029-08-05T10:48:49.685Z sunrise 2029-08-05T13:34:13.255Z Moon culminates 85.67 degrees above the horizon 2029-08-05T17:30:44.824Z Sun culminates 78.15 degrees above the horizon -2029-08-05T20:45:57.944Z moonset -2029-08-06T00:12:17.478Z sunset -2029-08-06T07:16:23.571Z moonrise -2029-08-06T10:49:23.383Z sunrise +2029-08-05T20:45:58.116Z moonset +2029-08-06T00:12:17.577Z sunset +2029-08-06T07:16:23.400Z moonrise +2029-08-06T10:49:23.334Z sunrise 2029-08-06T14:27:36.577Z Moon culminates 85.04 degrees above the horizon 2029-08-06T17:30:38.047Z Sun culminates 77.87 degrees above the horizon -2029-08-06T21:36:45.962Z moonset -2029-08-07T00:11:30.036Z sunset -2029-08-07T08:14:43.293Z moonrise -2029-08-07T10:49:56.951Z sunrise +2029-08-06T21:36:46.109Z moonset +2029-08-07T00:11:30.131Z sunset +2029-08-07T08:14:43.133Z moonrise +2029-08-07T10:49:56.907Z sunrise 2029-08-07T15:21:31.847Z Moon culminates 83.01 degrees above the horizon 2029-08-07T17:30:30.691Z Sun culminates 77.59 degrees above the horizon -2029-08-07T22:24:12.792Z moonset -2029-08-08T00:10:41.519Z sunset -2029-08-08T09:16:18.955Z moonrise -2029-08-08T10:50:30.429Z sunrise +2029-08-07T22:24:12.901Z moonset +2029-08-08T00:10:41.609Z sunset +2029-08-08T09:16:18.834Z moonrise +2029-08-08T10:50:30.390Z sunrise 2029-08-08T16:15:00.840Z Moon culminates 79.64 degrees above the horizon 2029-08-08T17:30:22.754Z Sun culminates 77.31 degrees above the horizon -2029-08-08T23:08:01.884Z moonset -2029-08-09T00:09:51.944Z sunset -2029-08-09T10:19:41.820Z moonrise -2029-08-09T10:51:03.801Z sunrise +2029-08-08T23:08:01.949Z moonset +2029-08-09T00:09:52.030Z sunset +2029-08-09T10:19:41.755Z moonrise +2029-08-09T10:51:03.768Z sunrise 2029-08-09T17:07:27.106Z Moon culminates 75.09 degrees above the horizon 2029-08-09T17:30:14.241Z Sun culminates 77.02 degrees above the horizon -2029-08-09T23:48:35.468Z moonset -2029-08-10T00:09:01.330Z sunset +2029-08-09T23:48:35.497Z moonset +2029-08-10T00:09:01.412Z sunset 2029-08-10T01:56:19.343Z new moon -2029-08-10T10:51:37.054Z sunrise -2029-08-10T11:23:45.228Z moonrise +2029-08-10T10:51:37.026Z sunrise +2029-08-10T11:23:45.209Z moonrise 2029-08-10T12:34:08.903Z Venus moves from Leo to Virgo 2029-08-10T17:30:05.152Z Sun culminates 76.72 degrees above the horizon 2029-08-10T17:58:45.237Z Moon culminates 69.63 degrees above the horizon -2029-08-11T00:08:09.695Z sunset -2029-08-11T00:26:44.673Z moonset -2029-08-11T10:52:10.175Z sunrise +2029-08-11T00:08:09.773Z sunset +2029-08-11T00:26:44.684Z moonset +2029-08-11T10:52:10.151Z sunrise 2029-08-11T12:27:59.231Z moonrise 2029-08-11T17:29:55.490Z Sun culminates 76.43 degrees above the horizon 2029-08-11T18:49:18.741Z Moon culminates 63.59 degrees above the horizon -2029-08-12T00:07:17.057Z sunset -2029-08-12T01:03:37.829Z moonset -2029-08-12T10:52:43.151Z sunrise -2029-08-12T13:32:26.712Z moonrise +2029-08-12T00:07:17.131Z sunset +2029-08-12T01:03:37.835Z moonset +2029-08-12T10:52:43.132Z sunrise +2029-08-12T13:32:26.713Z moonrise 2029-08-12T17:29:45.260Z Sun culminates 76.12 degrees above the horizon 2029-08-12T19:39:51.229Z Moon culminates 57.36 degrees above the horizon -2029-08-13T00:06:23.436Z sunset -2029-08-13T01:40:32.558Z moonset +2029-08-13T00:06:23.506Z sunset +2029-08-13T01:40:32.562Z moonset 2029-08-13T10:03:08.441Z lunar perigee at 366362 km -2029-08-13T10:53:15.972Z sunrise -2029-08-13T14:37:27.622Z moonrise +2029-08-13T10:53:15.959Z sunrise +2029-08-13T14:37:27.636Z moonrise 2029-08-13T17:29:34.466Z Sun culminates 75.82 degrees above the horizon 2029-08-13T20:31:15.266Z Moon culminates 51.32 degrees above the horizon -2029-08-14T00:05:28.852Z sunset -2029-08-14T02:18:51.622Z moonset -2029-08-14T10:53:48.629Z sunrise -2029-08-14T15:43:17.507Z moonrise +2029-08-14T00:05:28.918Z sunset +2029-08-14T02:18:51.610Z moonset +2029-08-14T10:53:48.621Z sunrise +2029-08-14T15:43:17.571Z moonrise 2029-08-14T17:29:23.114Z Sun culminates 75.51 degrees above the horizon 2029-08-14T21:24:19.811Z Moon culminates 45.88 degrees above the horizon -2029-08-15T00:04:33.325Z sunset -2029-08-15T02:59:59.091Z moonset -2029-08-15T10:54:21.115Z sunrise -2029-08-15T16:49:44.026Z moonrise +2029-08-15T00:04:33.388Z sunset +2029-08-15T02:59:59.041Z moonset +2029-08-15T10:54:21.111Z sunrise +2029-08-15T16:49:44.165Z moonrise 2029-08-15T17:29:11.213Z Sun culminates 75.20 degrees above the horizon 2029-08-15T22:19:35.333Z Moon culminates 41.41 degrees above the horizon -2029-08-16T00:03:36.879Z sunset -2029-08-16T03:45:11.913Z moonset -2029-08-16T10:54:53.424Z sunrise +2029-08-16T00:03:36.938Z sunset +2029-08-16T03:45:11.806Z moonset +2029-08-16T10:54:53.425Z sunrise 2029-08-16T17:28:58.769Z Sun culminates 74.88 degrees above the horizon -2029-08-16T17:55:47.984Z moonrise +2029-08-16T17:55:48.187Z moonrise 2029-08-16T18:55:50.201Z first quarter 2029-08-16T23:16:57.664Z Moon culminates 38.24 degrees above the horizon -2029-08-17T00:02:39.536Z sunset -2029-08-17T04:35:22.491Z moonset -2029-08-17T10:55:25.550Z sunrise +2029-08-17T00:02:39.591Z sunset +2029-08-17T04:35:22.328Z moonset +2029-08-17T10:55:25.556Z sunrise 2029-08-17T17:28:45.794Z Sun culminates 74.56 degrees above the horizon -2029-08-17T18:59:42.800Z moonrise +2029-08-17T18:59:43.026Z moonrise 2029-08-17T23:58:57.277Z Mercury aphelion at 0.4667 AU -2029-08-18T00:01:41.320Z sunset +2029-08-18T00:01:41.372Z sunset 2029-08-18T00:15:37.890Z Moon culminates 36.59 degrees above the horizon -2029-08-18T05:30:34.273Z moonset -2029-08-18T10:55:57.492Z sunrise +2029-08-18T05:30:34.070Z moonset +2029-08-18T10:55:57.502Z sunrise 2029-08-18T17:28:32.299Z Sun culminates 74.24 degrees above the horizon -2029-08-18T19:59:24.501Z moonrise -2029-08-19T00:00:42.258Z sunset +2029-08-18T19:59:24.714Z moonrise +2029-08-19T00:00:42.306Z sunset 2029-08-19T01:14:09.880Z Moon culminates 36.57 degrees above the horizon -2029-08-19T06:29:45.801Z moonset -2029-08-19T10:56:29.247Z sunrise +2029-08-19T06:29:45.583Z moonset +2029-08-19T10:56:29.262Z sunrise 2029-08-19T17:28:18.295Z Sun culminates 73.91 degrees above the horizon -2029-08-19T20:53:20.255Z moonrise +2029-08-19T20:53:20.434Z moonrise 2029-08-19T21:35:16.789Z Mercury max evening elongation: 27.42 degrees from Sun -2029-08-19T23:59:42.373Z sunset +2029-08-19T23:59:42.418Z sunset 2029-08-20T02:10:58.525Z Moon culminates 38.10 degrees above the horizon -2029-08-20T07:31:04.434Z moonset -2029-08-20T10:57:00.817Z sunrise +2029-08-20T07:31:04.236Z moonset +2029-08-20T10:57:00.836Z sunrise 2029-08-20T14:20:42.862Z Mercury moves from Leo to Virgo 2029-08-20T17:28:03.798Z Sun culminates 73.58 degrees above the horizon -2029-08-20T21:41:00.399Z moonrise -2029-08-20T23:58:41.693Z sunset +2029-08-20T21:41:00.529Z moonrise +2029-08-20T23:58:41.735Z sunset 2029-08-21T03:04:53.082Z Moon culminates 40.97 degrees above the horizon -2029-08-21T08:32:28.905Z moonset -2029-08-21T10:57:32.205Z sunrise +2029-08-21T08:32:28.764Z moonset +2029-08-21T10:57:32.228Z sunrise 2029-08-21T17:12:34.519Z Mars moves from Virgo to Libra 2029-08-21T17:27:48.821Z Sun culminates 73.25 degrees above the horizon -2029-08-21T22:22:54.689Z moonrise +2029-08-21T22:22:54.769Z moonrise 2029-08-21T23:08:45.028Z Neptune moves from Pisces to Cetus -2029-08-21T23:57:40.245Z sunset +2029-08-21T23:57:40.284Z sunset 2029-08-22T03:55:24.748Z Moon culminates 44.88 degrees above the horizon -2029-08-22T09:32:30.808Z moonset -2029-08-22T10:58:03.414Z sunrise +2029-08-22T09:32:30.736Z moonset +2029-08-22T10:58:03.441Z sunrise 2029-08-22T17:27:33.381Z Sun culminates 72.91 degrees above the horizon -2029-08-22T23:00:07.470Z moonrise -2029-08-22T23:56:38.055Z sunset +2029-08-22T23:00:07.511Z moonrise +2029-08-22T23:56:38.091Z sunset 2029-08-23T04:42:43.613Z Moon culminates 49.53 degrees above the horizon -2029-08-23T10:30:30.246Z moonset -2029-08-23T10:58:34.450Z sunrise +2029-08-23T10:30:30.224Z moonset +2029-08-23T10:58:34.481Z sunrise 2029-08-23T17:27:17.494Z Sun culminates 72.57 degrees above the horizon -2029-08-23T23:33:54.340Z moonrise -2029-08-23T23:55:35.152Z sunset +2029-08-23T23:33:54.359Z moonrise +2029-08-23T23:55:35.185Z sunset 2029-08-24T01:51:50.292Z full moon 2029-08-24T05:27:25.282Z Moon culminates 54.61 degrees above the horizon -2029-08-24T10:59:05.320Z sunrise +2029-08-24T10:59:05.355Z sunrise 2029-08-24T11:26:28.226Z moonset 2029-08-24T17:27:01.179Z Sun culminates 72.23 degrees above the horizon -2029-08-24T23:54:31.563Z sunset -2029-08-25T00:05:29.398Z moonrise +2029-08-24T23:54:31.594Z sunset +2029-08-25T00:05:29.410Z moonrise 2029-08-25T06:10:17.824Z Moon culminates 59.87 degrees above the horizon -2029-08-25T10:59:36.032Z sunrise -2029-08-25T12:20:51.510Z moonset +2029-08-25T10:59:36.070Z sunrise +2029-08-25T12:20:50.836Z moonset 2029-08-25T17:26:44.452Z Sun culminates 71.88 degrees above the horizon -2029-08-25T23:53:27.318Z sunset -2029-08-26T00:36:01.325Z moonrise +2029-08-25T23:53:27.346Z sunset +2029-08-26T00:36:01.335Z moonrise 2029-08-26T06:52:13.166Z Moon culminates 65.08 degrees above the horizon -2029-08-26T11:00:06.595Z sunrise -2029-08-26T13:14:15.055Z moonset +2029-08-26T11:00:06.636Z sunrise +2029-08-26T13:14:15.062Z moonset 2029-08-26T17:26:27.334Z Sun culminates 71.53 degrees above the horizon -2029-08-26T23:52:22.444Z sunset -2029-08-27T01:06:34.092Z moonrise +2029-08-26T23:52:22.469Z sunset +2029-08-27T01:06:34.096Z moonrise 2029-08-27T07:34:02.406Z Moon culminates 70.06 degrees above the horizon -2029-08-27T11:00:37.017Z sunrise -2029-08-27T14:07:18.503Z moonset +2029-08-27T11:00:37.062Z sunrise +2029-08-27T14:07:18.528Z moonset 2029-08-27T17:26:09.842Z Sun culminates 71.18 degrees above the horizon -2029-08-27T23:51:16.969Z sunset -2029-08-28T01:38:09.205Z moonrise +2029-08-27T23:51:16.992Z sunset +2029-08-28T01:38:09.190Z moonrise 2029-08-28T08:16:33.071Z Moon culminates 74.62 degrees above the horizon -2029-08-28T11:01:07.308Z sunrise -2029-08-28T15:00:31.653Z moonset +2029-08-28T11:01:07.356Z sunrise +2029-08-28T15:00:31.715Z moonset 2029-08-28T17:25:51.996Z Sun culminates 70.83 degrees above the horizon -2029-08-28T23:50:10.921Z sunset -2029-08-29T02:11:47.555Z moonrise +2029-08-28T23:50:10.942Z sunset +2029-08-29T02:11:47.511Z moonrise 2029-08-29T04:43:34.217Z lunar apogee at 405058 km 2029-08-29T09:00:26.494Z Moon culminates 78.59 degrees above the horizon -2029-08-29T11:01:37.477Z sunrise -2029-08-29T15:54:10.917Z moonset +2029-08-29T11:01:37.527Z sunrise +2029-08-29T15:54:11.028Z moonset 2029-08-29T17:25:33.813Z Sun culminates 70.47 degrees above the horizon -2029-08-29T23:49:04.329Z sunset -2029-08-30T02:48:29.369Z moonrise +2029-08-29T23:49:04.348Z sunset +2029-08-30T02:48:29.288Z moonrise 2029-08-30T09:46:14.057Z Moon culminates 81.81 degrees above the horizon -2029-08-30T11:02:07.532Z sunrise -2029-08-30T16:48:12.175Z moonset +2029-08-30T11:02:07.586Z sunrise +2029-08-30T16:48:12.328Z moonset 2029-08-30T17:25:15.312Z Sun culminates 70.11 degrees above the horizon -2029-08-30T23:47:57.220Z sunset -2029-08-31T03:29:10.634Z moonrise +2029-08-30T23:47:57.237Z sunset +2029-08-31T03:29:10.516Z moonrise 2029-08-31T10:34:12.075Z Moon culminates 84.11 degrees above the horizon -2029-08-31T11:02:37.483Z sunrise +2029-08-31T11:02:37.539Z sunrise 2029-08-31T17:24:56.511Z Sun culminates 69.75 degrees above the horizon -2029-08-31T17:42:06.716Z moonset -2029-08-31T23:46:49.620Z sunset -2029-09-01T04:14:34.766Z moonrise +2029-08-31T17:42:06.892Z moonset +2029-08-31T23:46:49.636Z sunset +2029-09-01T04:14:34.620Z moonrise 2029-09-01T04:33:41.169Z third quarter -2029-09-01T11:03:07.337Z sunrise +2029-09-01T11:03:07.396Z sunrise 2029-09-01T11:24:16.638Z Moon culminates 85.32 degrees above the horizon 2029-09-01T17:24:37.426Z Sun culminates 69.39 degrees above the horizon -2029-09-01T18:35:03.683Z moonset -2029-09-01T23:45:41.557Z sunset -2029-09-02T05:05:00.466Z moonrise -2029-09-02T11:03:37.101Z sunrise +2029-09-01T18:35:03.860Z moonset +2029-09-01T23:45:41.571Z sunset +2029-09-02T05:05:00.302Z moonrise +2029-09-02T11:03:37.163Z sunrise 2029-09-02T12:16:01.725Z Moon culminates 85.30 degrees above the horizon 2029-09-02T17:24:18.075Z Sun culminates 69.03 degrees above the horizon -2029-09-02T19:26:02.297Z moonset -2029-09-02T23:44:33.055Z sunset -2029-09-03T06:00:11.384Z moonrise -2029-09-03T11:04:06.783Z sunrise +2029-09-02T19:26:02.456Z moonset +2029-09-02T23:44:33.068Z sunset +2029-09-03T06:00:11.219Z moonrise +2029-09-03T11:04:06.847Z sunrise 2029-09-03T13:08:44.358Z Moon culminates 83.95 degrees above the horizon 2029-09-03T17:23:58.474Z Sun culminates 68.66 degrees above the horizon -2029-09-03T20:14:11.338Z moonset -2029-09-03T23:43:24.142Z sunset -2029-09-04T06:59:16.714Z moonrise -2029-09-04T11:04:36.390Z sunrise +2029-09-03T20:14:11.465Z moonset +2029-09-03T23:43:24.153Z sunset +2029-09-04T06:59:16.574Z moonrise +2029-09-04T11:04:36.455Z sunrise 2029-09-04T14:01:37.450Z Moon culminates 81.27 degrees above the horizon 2029-09-04T17:23:38.639Z Sun culminates 68.29 degrees above the horizon -2029-09-04T20:59:06.604Z moonset -2029-09-04T23:42:14.840Z sunset -2029-09-05T08:01:07.264Z moonrise -2029-09-05T11:05:05.926Z sunrise +2029-09-04T20:59:06.689Z moonset +2029-09-04T23:42:14.850Z sunset +2029-09-05T08:01:07.173Z moonrise +2029-09-05T11:05:05.993Z sunrise 2029-09-05T14:54:05.507Z Moon culminates 77.33 degrees above the horizon 2029-09-05T17:23:18.584Z Sun culminates 67.92 degrees above the horizon -2029-09-05T21:40:57.651Z moonset -2029-09-05T23:41:05.176Z sunset -2029-09-06T09:04:39.697Z moonrise -2029-09-06T11:05:35.398Z sunrise +2029-09-05T21:40:57.696Z moonset +2029-09-05T23:41:05.184Z sunset +2029-09-06T09:04:39.660Z moonrise +2029-09-06T11:05:35.467Z sunrise 2029-09-06T15:45:55.847Z Moon culminates 72.32 degrees above the horizon 2029-09-06T17:22:58.325Z Sun culminates 67.55 degrees above the horizon -2029-09-06T22:20:23.532Z moonset -2029-09-06T23:39:55.172Z sunset -2029-09-07T10:09:14.982Z moonrise -2029-09-07T11:06:04.811Z sunrise +2029-09-06T22:20:23.550Z moonset +2029-09-06T23:39:55.179Z sunset +2029-09-07T10:09:14.976Z moonrise +2029-09-07T11:06:04.882Z sunrise 2029-09-07T16:37:21.380Z Moon culminates 66.51 degrees above the horizon 2029-09-07T17:22:37.876Z Sun culminates 67.17 degrees above the horizon -2029-09-07T22:58:23.864Z moonset -2029-09-07T23:38:44.853Z sunset +2029-09-07T22:58:23.871Z moonset +2029-09-07T23:38:44.859Z sunset 2029-09-08T10:44:51.490Z new moon -2029-09-08T11:06:34.172Z sunrise -2029-09-08T11:14:42.588Z moonrise +2029-09-08T11:06:34.245Z sunrise +2029-09-08T11:14:42.589Z moonrise 2029-09-08T17:22:17.253Z Sun culminates 66.79 degrees above the horizon 2029-09-08T17:28:56.029Z Moon culminates 60.25 degrees above the horizon -2029-09-08T23:36:11.043Z moonset -2029-09-08T23:37:34.241Z sunset -2029-09-09T11:07:03.487Z sunrise -2029-09-09T12:21:10.983Z moonrise +2029-09-08T23:36:11.048Z moonset +2029-09-08T23:37:34.247Z sunset +2029-09-09T11:07:03.561Z sunrise +2029-09-09T12:21:10.988Z moonrise 2029-09-09T17:21:56.470Z Sun culminates 66.42 degrees above the horizon 2029-09-09T18:21:25.599Z Moon culminates 53.96 degrees above the horizon -2029-09-09T23:36:23.361Z sunset -2029-09-10T00:15:05.117Z moonset +2029-09-09T23:36:23.365Z sunset +2029-09-10T00:15:05.114Z moonset 2029-09-10T04:27:36.161Z lunar perigee at 361339 km -2029-09-10T11:07:32.762Z sunrise -2029-09-10T13:28:48.487Z moonrise +2029-09-10T11:07:32.838Z sunrise +2029-09-10T13:28:48.525Z moonrise 2029-09-10T17:21:35.542Z Sun culminates 66.04 degrees above the horizon 2029-09-10T19:15:35.358Z Moon culminates 48.09 degrees above the horizon -2029-09-10T23:35:12.235Z sunset -2029-09-11T00:56:29.118Z moonset -2029-09-11T11:08:02.006Z sunrise -2029-09-11T14:37:18.788Z moonrise +2029-09-10T23:35:12.239Z sunset +2029-09-11T00:56:29.086Z moonset +2029-09-11T11:08:02.084Z sunrise +2029-09-11T14:37:18.896Z moonrise 2029-09-11T17:21:14.485Z Sun culminates 65.66 degrees above the horizon 2029-09-11T20:11:54.205Z Moon culminates 43.09 degrees above the horizon -2029-09-11T23:34:00.888Z sunset -2029-09-12T01:41:40.426Z moonset -2029-09-12T11:08:31.227Z sunrise -2029-09-12T15:45:38.954Z moonrise +2029-09-11T23:34:00.891Z sunset +2029-09-12T01:41:40.342Z moonset +2029-09-12T11:08:31.305Z sunrise +2029-09-12T15:45:39.136Z moonrise 2029-09-12T17:20:53.316Z Sun culminates 65.28 degrees above the horizon 2029-09-12T21:10:17.201Z Moon culminates 39.35 degrees above the horizon -2029-09-12T23:32:49.344Z sunset -2029-09-13T02:31:33.827Z moonset +2029-09-12T23:32:49.347Z sunset +2029-09-13T02:31:33.684Z moonset 2029-09-13T08:37:50.482Z Mercury moves from Virgo to Leo -2029-09-13T11:09:00.432Z sunrise -2029-09-13T16:51:55.700Z moonrise +2029-09-13T11:09:00.512Z sunrise +2029-09-13T16:51:55.919Z moonrise 2029-09-13T17:20:32.051Z Sun culminates 64.89 degrees above the horizon 2029-09-13T22:09:54.298Z Moon culminates 37.16 degrees above the horizon -2029-09-13T23:31:37.629Z sunset -2029-09-14T03:26:17.564Z moonset -2029-09-14T11:09:29.632Z sunrise +2029-09-13T23:31:37.631Z sunset +2029-09-14T03:26:17.375Z moonset +2029-09-14T11:09:29.713Z sunrise 2029-09-14T17:20:10.709Z Sun culminates 64.51 degrees above the horizon -2029-09-14T17:53:54.758Z moonrise +2029-09-14T17:53:54.974Z moonrise 2029-09-14T23:09:17.491Z Moon culminates 36.64 degrees above the horizon -2029-09-14T23:30:25.768Z sunset +2029-09-14T23:30:25.770Z sunset 2029-09-15T01:29:52.671Z first quarter -2029-09-15T04:24:56.629Z moonset -2029-09-15T11:09:58.836Z sunrise +2029-09-15T04:24:56.416Z moonset +2029-09-15T11:09:58.918Z sunrise 2029-09-15T17:19:49.307Z Sun culminates 64.12 degrees above the horizon -2029-09-15T18:49:52.728Z moonrise +2029-09-15T18:49:52.915Z moonrise 2029-09-15T21:02:14.719Z Mercury inferior conjunction -2029-09-15T23:29:13.788Z sunset +2029-09-15T23:29:13.790Z sunset 2029-09-16T00:06:49.716Z Moon culminates 37.71 degrees above the horizon -2029-09-16T05:25:44.284Z moonset -2029-09-16T11:10:28.057Z sunrise +2029-09-16T05:25:44.081Z moonset +2029-09-16T11:10:28.140Z sunrise 2029-09-16T17:19:27.866Z Sun culminates 63.74 degrees above the horizon -2029-09-16T19:39:13.404Z moonrise -2029-09-16T23:28:01.717Z sunset +2029-09-16T19:39:13.548Z moonrise +2029-09-16T23:28:01.718Z sunset 2029-09-17T01:01:19.195Z Moon culminates 40.16 degrees above the horizon -2029-09-17T06:26:42.755Z moonset -2029-09-17T11:10:57.307Z sunrise +2029-09-17T06:26:42.598Z moonset +2029-09-17T11:10:57.391Z sunrise 2029-09-17T17:19:06.405Z Sun culminates 63.35 degrees above the horizon -2029-09-17T20:22:25.269Z moonrise -2029-09-17T23:26:49.581Z sunset +2029-09-17T20:22:25.363Z moonrise +2029-09-17T23:26:49.582Z sunset 2029-09-18T01:52:17.332Z Moon culminates 43.71 degrees above the horizon 2029-09-18T02:00:57.288Z Venus moves from Virgo to Libra -2029-09-18T07:26:24.631Z moonset -2029-09-18T11:11:26.601Z sunrise +2029-09-18T07:26:24.540Z moonset +2029-09-18T11:11:26.686Z sunrise 2029-09-18T17:18:44.946Z Sun culminates 62.97 degrees above the horizon -2029-09-18T21:00:34.780Z moonrise +2029-09-18T21:00:34.831Z moonrise 2029-09-18T23:25:37.410Z sunset 2029-09-19T02:39:55.167Z Moon culminates 48.05 degrees above the horizon -2029-09-19T08:24:09.506Z moonset -2029-09-19T11:11:55.953Z sunrise +2029-09-19T08:24:09.472Z moonset +2029-09-19T11:11:56.039Z sunrise 2029-09-19T17:18:23.511Z Sun culminates 62.58 degrees above the horizon -2029-09-19T21:35:00.577Z moonrise +2029-09-19T21:35:00.601Z moonrise 2029-09-19T23:24:25.231Z sunset 2029-09-20T03:24:49.242Z Moon culminates 52.90 degrees above the horizon -2029-09-20T09:19:57.206Z moonset -2029-09-20T11:12:25.381Z sunrise +2029-09-20T09:19:57.202Z moonset +2029-09-20T11:12:25.467Z sunrise 2029-09-20T17:18:02.123Z Sun culminates 62.19 degrees above the horizon -2029-09-20T22:06:59.190Z moonrise -2029-09-20T23:23:13.073Z sunset +2029-09-20T22:06:59.204Z moonrise +2029-09-20T23:23:13.074Z sunset 2029-09-21T04:07:48.029Z Moon culminates 58.03 degrees above the horizon -2029-09-21T10:14:12.323Z moonset -2029-09-21T11:12:54.901Z sunrise +2029-09-21T10:14:12.326Z moonset +2029-09-21T11:12:54.988Z sunrise 2029-09-21T17:17:40.806Z Sun culminates 61.80 degrees above the horizon -2029-09-21T22:37:40.471Z moonrise -2029-09-21T23:22:00.967Z sunset +2029-09-21T22:37:40.481Z moonrise +2029-09-21T23:22:00.968Z sunset 2029-09-22T04:49:43.092Z Moon culminates 63.20 degrees above the horizon -2029-09-22T11:07:30.175Z moonset -2029-09-22T11:13:24.531Z sunrise +2029-09-22T11:07:30.180Z moonset +2029-09-22T11:13:24.619Z sunrise 2029-09-22T16:29:56.389Z full moon 2029-09-22T17:17:19.582Z Sun culminates 61.41 degrees above the horizon 2029-09-22T17:37:48.426Z September equinox 2029-09-22T22:27:07.287Z Mars moves from Libra to Scorpius -2029-09-22T23:08:08.095Z moonrise -2029-09-22T23:20:48.942Z sunset +2029-09-22T23:08:08.102Z moonrise +2029-09-22T23:20:48.943Z sunset 2029-09-23T05:31:24.339Z Moon culminates 68.21 degrees above the horizon -2029-09-23T11:13:54.290Z sunrise -2029-09-23T12:00:26.608Z moonset +2029-09-23T11:13:54.379Z sunrise +2029-09-23T12:00:26.623Z moonset 2029-09-23T17:16:58.477Z Sun culminates 61.02 degrees above the horizon 2029-09-23T23:19:37.028Z sunset -2029-09-23T23:39:21.742Z moonrise +2029-09-23T23:39:21.736Z moonrise 2029-09-24T06:13:37.310Z Moon culminates 72.90 degrees above the horizon -2029-09-24T11:14:24.196Z sunrise -2029-09-24T12:53:30.405Z moonset +2029-09-24T11:14:24.285Z sunrise +2029-09-24T12:53:30.450Z moonset 2029-09-24T17:16:37.514Z Sun culminates 60.64 degrees above the horizon -2029-09-24T23:18:25.255Z sunset -2029-09-25T00:12:18.937Z moonrise +2029-09-24T23:18:25.256Z sunset +2029-09-25T00:12:18.906Z moonrise 2029-09-25T06:57:00.742Z Moon culminates 77.07 degrees above the horizon -2029-09-25T11:14:54.267Z sunrise -2029-09-25T13:46:56.753Z moonset +2029-09-25T11:14:54.357Z sunrise +2029-09-25T13:46:56.843Z moonset 2029-09-25T17:16:16.718Z Sun culminates 60.25 degrees above the horizon 2029-09-25T19:41:32.108Z lunar apogee at 405989 km 2029-09-25T23:17:13.654Z sunset -2029-09-26T00:47:55.257Z moonrise +2029-09-26T00:47:55.191Z moonrise 2029-09-26T07:42:03.342Z Moon culminates 80.54 degrees above the horizon -2029-09-26T11:15:24.521Z sunrise -2029-09-26T14:40:41.468Z moonset +2029-09-26T11:15:24.611Z sunrise +2029-09-26T14:40:41.604Z moonset 2029-09-26T17:15:56.112Z Sun culminates 59.86 degrees above the horizon 2029-09-26T23:16:02.253Z sunset -2029-09-27T01:27:01.689Z moonrise +2029-09-27T01:27:01.586Z moonrise 2029-09-27T08:28:59.715Z Moon culminates 83.16 degrees above the horizon -2029-09-27T11:15:54.975Z sunrise -2029-09-27T15:34:17.686Z moonset +2029-09-27T11:15:55.066Z sunrise +2029-09-27T15:34:17.852Z moonset 2029-09-27T17:15:35.721Z Sun culminates 59.47 degrees above the horizon 2029-09-27T23:14:51.084Z sunset -2029-09-28T02:10:18.377Z moonrise +2029-09-28T02:10:18.243Z moonrise 2029-09-28T09:17:46.662Z Moon culminates 84.75 degrees above the horizon -2029-09-28T11:16:25.646Z sunrise -2029-09-28T16:26:58.344Z moonset +2029-09-28T11:16:25.738Z sunrise +2029-09-28T16:26:58.519Z moonset 2029-09-28T17:15:15.566Z Sun culminates 59.08 degrees above the horizon -2029-09-28T23:13:40.174Z sunset -2029-09-29T02:58:05.553Z moonrise +2029-09-28T23:13:40.274Z sunset +2029-09-29T02:58:05.397Z moonrise 2029-09-29T10:08:02.395Z Moon culminates 85.19 degrees above the horizon -2029-09-29T11:16:56.549Z sunrise +2029-09-29T11:16:56.641Z sunrise 2029-09-29T17:14:55.671Z Sun culminates 58.69 degrees above the horizon -2029-09-29T17:17:46.983Z moonset -2029-09-29T23:12:29.555Z sunset -2029-09-30T03:50:15.682Z moonrise +2029-09-29T17:17:47.149Z moonset +2029-09-29T23:12:29.653Z sunset +2029-09-30T03:50:15.519Z moonrise 2029-09-30T10:59:11.275Z Moon culminates 84.40 degrees above the horizon -2029-09-30T11:17:27.698Z sunrise +2029-09-30T11:17:27.791Z sunrise 2029-09-30T17:14:36.055Z Sun culminates 58.30 degrees above the horizon -2029-09-30T18:05:54.759Z moonset +2029-09-30T18:05:54.900Z moonset 2029-09-30T20:57:28.182Z third quarter -2029-09-30T23:11:19.253Z sunset +2029-09-30T23:11:19.350Z sunset 2029-09-30T23:37:23.418Z Mercury perihelion at 0.3075 AU -2029-10-01T04:46:13.293Z moonrise -2029-10-01T11:17:59.107Z sunrise +2029-10-01T04:46:13.143Z moonrise +2029-10-01T11:17:59.201Z sunrise 2029-10-01T11:50:34.388Z Moon culminates 82.35 degrees above the horizon 2029-10-01T15:09:44.795Z Mercury max morning elongation: 17.89 degrees from Sun 2029-10-01T17:14:16.741Z Sun culminates 57.92 degrees above the horizon -2029-10-01T18:50:56.240Z moonset -2029-10-01T23:10:09.297Z sunset +2029-10-01T18:50:56.344Z moonset +2029-10-01T23:10:09.394Z sunset 2029-10-02T01:54:03.747Z Venus aphelion at 0.7282 AU -2029-10-02T05:45:06.343Z moonrise -2029-10-02T11:18:30.788Z sunrise +2029-10-02T05:45:06.232Z moonrise +2029-10-02T11:18:30.883Z sunrise 2029-10-02T12:41:42.418Z Moon culminates 79.08 degrees above the horizon 2029-10-02T15:12:19.171Z Neptune opposition 2029-10-02T17:13:57.748Z Sun culminates 57.53 degrees above the horizon -2029-10-02T19:32:56.629Z moonset -2029-10-02T23:08:59.715Z sunset -2029-10-03T06:46:05.008Z moonrise -2029-10-03T11:19:02.751Z sunrise +2029-10-02T19:32:56.692Z moonset +2029-10-02T23:08:59.811Z sunset +2029-10-03T06:46:04.949Z moonrise +2029-10-03T11:19:02.847Z sunrise 2029-10-03T13:32:25.457Z Moon culminates 74.71 degrees above the horizon 2029-10-03T17:13:39.094Z Sun culminates 57.14 degrees above the horizon -2029-10-03T20:12:29.383Z moonset -2029-10-03T23:07:50.534Z sunset +2029-10-03T20:12:29.411Z moonset +2029-10-03T23:07:50.628Z sunset 2029-10-04T00:47:38.147Z Mercury moves from Leo to Virgo -2029-10-04T07:48:38.014Z moonrise -2029-10-04T11:19:35.007Z sunrise +2029-10-04T07:48:37.997Z moonrise +2029-10-04T11:19:35.103Z sunrise 2029-10-04T14:22:56.523Z Moon culminates 69.41 degrees above the horizon 2029-10-04T17:13:20.798Z Sun culminates 56.76 degrees above the horizon -2029-10-04T20:50:29.031Z moonset -2029-10-04T23:06:41.780Z sunset +2029-10-04T20:50:29.042Z moonset +2029-10-04T23:06:41.873Z sunset 2029-10-05T04:45:57.821Z Mars moves from Scorpius to Ophiuchus 2029-10-05T08:52:38.952Z moonrise -2029-10-05T11:20:07.563Z sunrise +2029-10-05T11:20:07.660Z sunrise 2029-10-05T15:13:49.150Z Moon culminates 63.45 degrees above the horizon 2029-10-05T17:13:02.877Z Sun culminates 56.37 degrees above the horizon -2029-10-05T21:28:04.460Z moonset -2029-10-05T23:05:33.479Z sunset -2029-10-06T09:58:21.126Z moonrise -2029-10-06T11:20:40.428Z sunrise +2029-10-05T21:28:04.466Z moonset +2029-10-05T23:05:33.571Z sunset +2029-10-06T09:58:21.127Z moonrise +2029-10-06T11:20:40.526Z sunrise 2029-10-06T16:05:50.868Z Moon culminates 57.18 degrees above the horizon 2029-10-06T17:12:45.348Z Sun culminates 55.99 degrees above the horizon -2029-10-06T22:06:34.697Z moonset -2029-10-06T23:04:25.657Z sunset +2029-10-06T22:06:34.699Z moonset +2029-10-06T23:04:25.748Z sunset 2029-10-07T06:26:57.408Z Venus moves from Libra to Scorpius -2029-10-07T11:06:02.306Z moonrise -2029-10-07T11:21:13.610Z sunrise +2029-10-07T11:06:02.322Z moonrise +2029-10-07T11:21:13.709Z sunrise 2029-10-07T16:59:53.010Z Moon culminates 51.02 degrees above the horizon 2029-10-07T17:12:28.227Z Sun culminates 55.61 degrees above the horizon 2029-10-07T19:15:01.602Z new moon -2029-10-07T22:47:25.611Z moonset -2029-10-07T23:03:18.339Z sunset -2029-10-08T11:21:47.116Z sunrise +2029-10-07T22:47:25.597Z moonset +2029-10-07T23:03:18.428Z sunset +2029-10-08T11:21:47.216Z sunrise 2029-10-08T11:31:37.359Z lunar perigee at 357730 km -2029-10-08T12:15:40.416Z moonrise +2029-10-08T12:15:40.486Z moonrise 2029-10-08T17:12:11.530Z Sun culminates 55.23 degrees above the horizon 2029-10-08T17:56:35.244Z Moon culminates 45.46 degrees above the horizon -2029-10-08T23:02:11.549Z sunset -2029-10-08T23:32:03.024Z moonset -2029-10-09T11:22:20.951Z sunrise -2029-10-09T13:26:24.287Z moonrise +2029-10-08T23:02:11.637Z sunset +2029-10-08T23:32:02.968Z moonset +2029-10-09T11:22:20.952Z sunrise +2029-10-09T13:26:24.436Z moonrise 2029-10-09T17:11:55.272Z Sun culminates 54.85 degrees above the horizon 2029-10-09T18:56:04.335Z Moon culminates 41.01 degrees above the horizon -2029-10-09T23:01:05.313Z sunset -2029-10-10T00:21:36.174Z moonset -2029-10-10T11:22:55.122Z sunrise -2029-10-10T14:36:15.718Z moonrise +2029-10-09T23:01:05.400Z sunset +2029-10-10T00:21:36.058Z moonset +2029-10-10T11:22:55.123Z sunrise +2029-10-10T14:36:15.924Z moonrise 2029-10-10T17:11:39.470Z Sun culminates 54.47 degrees above the horizon 2029-10-10T19:57:34.245Z Moon culminates 38.07 degrees above the horizon -2029-10-10T22:59:59.655Z sunset -2029-10-11T01:16:29.410Z moonset -2029-10-11T11:23:29.634Z sunrise -2029-10-11T15:42:29.792Z moonrise +2029-10-10T22:59:59.741Z sunset +2029-10-11T01:16:29.240Z moonset +2029-10-11T11:23:29.636Z sunrise +2029-10-11T15:42:30.010Z moonrise 2029-10-11T17:11:24.138Z Sun culminates 54.09 degrees above the horizon 2029-10-11T20:59:25.225Z Moon culminates 36.88 degrees above the horizon -2029-10-11T22:58:54.602Z sunset -2029-10-12T02:15:55.196Z moonset -2029-10-12T11:24:04.492Z sunrise -2029-10-12T16:42:38.018Z moonrise +2029-10-11T22:58:54.687Z sunset +2029-10-12T02:15:54.992Z moonset +2029-10-12T11:24:04.494Z sunrise +2029-10-12T16:42:38.213Z moonrise 2029-10-12T17:11:09.292Z Sun culminates 53.72 degrees above the horizon 2029-10-12T21:59:34.850Z Moon culminates 37.42 degrees above the horizon -2029-10-12T22:57:50.180Z sunset -2029-10-13T03:17:57.412Z moonset -2029-10-13T11:24:39.701Z sunrise +2029-10-12T22:57:50.263Z sunset +2029-10-13T03:17:57.206Z moonset +2029-10-13T11:24:39.704Z sunrise 2029-10-13T17:10:54.948Z Sun culminates 53.35 degrees above the horizon -2029-10-13T17:35:28.679Z moonrise +2029-10-13T17:35:28.834Z moonrise 2029-10-13T22:56:25.143Z Moon culminates 39.48 degrees above the horizon -2029-10-13T22:56:46.416Z sunset -2029-10-14T04:20:16.768Z moonset +2029-10-13T22:56:46.497Z sunset +2029-10-14T04:20:16.598Z moonset 2029-10-14T11:09:30.178Z first quarter -2029-10-14T11:25:15.268Z sunrise +2029-10-14T11:25:15.272Z sunrise 2029-10-14T17:10:41.124Z Sun culminates 52.98 degrees above the horizon -2029-10-14T18:21:16.676Z moonrise -2029-10-14T22:55:43.337Z sunset +2029-10-14T18:21:16.781Z moonrise +2029-10-14T22:55:43.416Z sunset 2029-10-14T23:49:11.768Z Moon culminates 42.74 degrees above the horizon 2029-10-15T05:09:32.076Z Venus moves from Scorpius to Ophiuchus -2029-10-15T05:21:05.729Z moonset -2029-10-15T11:25:51.198Z sunrise +2029-10-15T05:21:05.622Z moonset +2029-10-15T11:25:51.203Z sunrise 2029-10-15T15:21:06.792Z Venus moves from Ophiuchus to Scorpius 2029-10-15T17:10:27.835Z Sun culminates 52.61 degrees above the horizon -2029-10-15T19:01:11.675Z moonrise -2029-10-15T22:54:40.971Z sunset +2029-10-15T19:01:11.735Z moonrise +2029-10-15T22:54:41.048Z sunset 2029-10-16T00:38:02.155Z Moon culminates 46.86 degrees above the horizon -2029-10-16T06:19:33.706Z moonset -2029-10-16T11:26:27.498Z sunrise +2029-10-16T06:19:33.660Z moonset +2029-10-16T11:26:27.504Z sunrise 2029-10-16T17:10:15.100Z Sun culminates 52.24 degrees above the horizon -2029-10-16T19:36:42.173Z moonrise -2029-10-16T22:53:39.347Z sunset +2029-10-16T19:36:42.203Z moonrise +2029-10-16T22:53:39.422Z sunset 2029-10-17T01:23:36.859Z Moon culminates 51.55 degrees above the horizon -2029-10-17T07:15:39.903Z moonset -2029-10-17T11:27:04.176Z sunrise +2029-10-17T07:15:39.893Z moonset +2029-10-17T11:27:04.182Z sunrise 2029-10-17T17:10:02.937Z Sun culminates 51.87 degrees above the horizon -2029-10-17T20:09:14.694Z moonrise -2029-10-17T22:52:38.493Z sunset +2029-10-17T20:09:14.710Z moonrise +2029-10-17T22:52:38.566Z sunset 2029-10-18T02:06:51.173Z Moon culminates 56.54 degrees above the horizon -2029-10-18T08:09:53.717Z moonset -2029-10-18T11:27:41.238Z sunrise +2029-10-18T08:09:53.720Z moonset +2029-10-18T11:27:41.246Z sunrise 2029-10-18T17:09:51.364Z Sun culminates 51.51 degrees above the horizon -2029-10-18T20:40:06.804Z moonrise -2029-10-18T22:51:38.440Z sunset +2029-10-18T20:40:06.815Z moonrise +2029-10-18T22:51:38.511Z sunset 2029-10-19T02:48:43.458Z Moon culminates 61.63 degrees above the horizon -2029-10-19T09:02:57.182Z moonset -2029-10-19T11:28:18.694Z sunrise +2029-10-19T09:02:57.186Z moonset +2029-10-19T11:28:18.703Z sunrise 2029-10-19T17:09:40.400Z Sun culminates 51.15 degrees above the horizon -2029-10-19T21:10:27.311Z moonrise -2029-10-19T22:50:39.216Z sunset +2029-10-19T21:10:27.319Z moonrise +2029-10-19T22:50:39.284Z sunset 2029-10-20T03:30:09.298Z Moon culminates 66.64 degrees above the horizon -2029-10-20T09:55:32.942Z moonset -2029-10-20T11:28:56.551Z sunrise +2029-10-20T09:55:32.952Z moonset +2029-10-20T11:28:56.561Z sunrise 2029-10-20T17:09:30.064Z Sun culminates 50.79 degrees above the horizon -2029-10-20T21:41:18.875Z moonrise -2029-10-20T22:49:40.853Z sunset +2029-10-20T21:41:18.874Z moonrise +2029-10-20T22:49:40.919Z sunset 2029-10-21T04:11:58.656Z Moon culminates 71.39 degrees above the horizon -2029-10-21T10:48:16.048Z moonset -2029-10-21T11:29:34.817Z sunrise +2029-10-21T10:48:16.081Z moonset +2029-10-21T11:29:34.828Z sunrise 2029-10-21T15:00:34.697Z Venus moves from Scorpius to Ophiuchus 2029-10-21T17:09:20.377Z Sun culminates 50.44 degrees above the horizon -2029-10-21T22:13:40.437Z moonrise -2029-10-21T22:48:43.380Z sunset +2029-10-21T22:13:40.415Z moonrise +2029-10-21T22:48:43.443Z sunset 2029-10-22T04:54:53.620Z Moon culminates 75.69 degrees above the horizon 2029-10-22T09:28:14.948Z full moon -2029-10-22T11:30:13.500Z sunrise -2029-10-22T11:41:27.183Z moonset +2029-10-22T11:30:13.512Z sunrise +2029-10-22T11:41:27.256Z moonset 2029-10-22T17:09:11.356Z Sun culminates 50.09 degrees above the horizon -2029-10-22T22:47:46.829Z sunset -2029-10-22T22:48:27.918Z moonrise +2029-10-22T22:47:46.889Z sunset +2029-10-22T22:48:27.865Z moonrise 2029-10-23T02:01:32.753Z lunar apogee at 406421 km 2029-10-23T05:39:25.256Z Moon culminates 79.38 degrees above the horizon 2029-10-23T08:53:54.976Z Saturn moves from Taurus to Aries -2029-10-23T11:30:52.606Z sunrise -2029-10-23T12:35:06.369Z moonset +2029-10-23T11:30:52.620Z sunrise +2029-10-23T12:35:06.489Z moonset 2029-10-23T17:09:03.020Z Sun culminates 49.74 degrees above the horizon -2029-10-23T22:46:51.230Z sunset -2029-10-23T23:26:31.966Z moonrise +2029-10-23T22:46:51.288Z sunset +2029-10-23T23:26:31.876Z moonrise 2029-10-24T06:25:49.313Z Moon culminates 82.26 degrees above the horizon -2029-10-24T11:31:32.142Z sunrise -2029-10-24T13:28:48.646Z moonset +2029-10-24T11:31:32.158Z sunrise +2029-10-24T13:28:48.802Z moonset 2029-10-24T17:08:55.389Z Sun culminates 49.39 degrees above the horizon -2029-10-24T22:45:56.614Z sunset -2029-10-25T00:08:31.971Z moonrise +2029-10-24T22:45:56.669Z sunset +2029-10-25T00:08:31.848Z moonrise 2029-10-25T07:14:02.121Z Moon culminates 84.17 degrees above the horizon -2029-10-25T11:32:12.113Z sunrise -2029-10-25T14:21:45.498Z moonset +2029-10-25T11:32:12.130Z sunrise +2029-10-25T14:21:45.670Z moonset 2029-10-25T17:08:48.479Z Sun culminates 49.05 degrees above the horizon -2029-10-25T22:45:03.012Z sunset -2029-10-26T00:54:47.240Z moonrise +2029-10-25T22:45:03.065Z sunset +2029-10-26T00:54:47.092Z moonrise 2029-10-26T08:03:39.633Z Moon culminates 84.97 degrees above the horizon -2029-10-26T11:32:52.522Z sunrise -2029-10-26T15:12:55.484Z moonset +2029-10-26T11:32:52.541Z sunrise +2029-10-26T15:12:55.652Z moonset 2029-10-26T17:08:42.307Z Sun culminates 48.71 degrees above the horizon -2029-10-26T22:44:10.454Z sunset -2029-10-27T01:45:09.385Z moonrise +2029-10-26T22:44:10.503Z sunset +2029-10-27T01:45:09.226Z moonrise 2029-10-27T08:54:02.620Z Moon culminates 84.58 degrees above the horizon 2029-10-27T10:48:46.330Z Venus max evening elongation: 47.02 degrees from Sun -2029-10-27T11:33:33.371Z sunrise -2029-10-27T16:01:22.536Z moonset +2029-10-27T11:33:33.392Z sunrise +2029-10-27T16:01:22.685Z moonset 2029-10-27T17:08:36.890Z Sun culminates 48.37 degrees above the horizon -2029-10-27T22:43:18.969Z sunset -2029-10-28T02:39:02.387Z moonrise +2029-10-27T22:43:19.016Z sunset +2029-10-28T02:39:02.234Z moonrise 2029-10-28T09:44:28.244Z Moon culminates 82.99 degrees above the horizon -2029-10-28T11:34:14.662Z sunrise -2029-10-28T16:46:33.833Z moonset +2029-10-28T11:34:14.685Z sunrise +2029-10-28T16:46:33.951Z moonset 2029-10-28T17:08:32.242Z Sun culminates 48.04 degrees above the horizon -2029-10-28T22:42:28.588Z sunset -2029-10-29T03:35:34.115Z moonrise +2029-10-28T22:42:28.631Z sunset +2029-10-29T03:35:33.992Z moonrise 2029-10-29T10:34:23.882Z Moon culminates 80.22 degrees above the horizon -2029-10-29T11:34:56.391Z sunrise +2029-10-29T11:34:56.416Z sunrise 2029-10-29T17:08:28.375Z Sun culminates 47.71 degrees above the horizon -2029-10-29T17:28:28.564Z moonset -2029-10-29T22:41:39.337Z sunset -2029-10-30T04:33:55.248Z moonrise +2029-10-29T17:28:28.643Z moonset +2029-10-29T22:41:39.377Z sunset +2029-10-30T04:33:55.172Z moonrise 2029-10-30T11:23:37.433Z Moon culminates 76.40 degrees above the horizon 2029-10-30T11:32:50.372Z third quarter -2029-10-30T11:35:38.556Z sunrise +2029-10-30T11:35:38.583Z sunrise 2029-10-30T14:32:17.953Z Mars moves from Ophiuchus to Sagittarius 2029-10-30T17:08:25.303Z Sun culminates 47.38 degrees above the horizon -2029-10-30T18:07:35.876Z moonset -2029-10-30T22:40:51.246Z sunset +2029-10-30T18:07:35.917Z moonset +2029-10-30T22:40:51.283Z sunset 2029-10-30T22:55:28.850Z Mercury superior conjunction 2029-10-31T00:00:00.084Z Jupiter conjunction 2029-10-31T03:13:04.852Z Mercury moves from Virgo to Libra 2029-10-31T03:51:02.147Z Jupiter moves from Virgo to Libra -2029-10-31T05:33:36.055Z moonrise -2029-10-31T11:36:21.151Z sunrise +2029-10-31T05:33:36.025Z moonrise +2029-10-31T11:36:21.180Z sunrise 2029-10-31T12:12:21.028Z Moon culminates 71.65 degrees above the horizon 2029-10-31T17:08:23.036Z Sun culminates 47.06 degrees above the horizon -2029-10-31T18:44:47.179Z moonset -2029-10-31T22:40:04.340Z sunset -2029-11-01T06:34:33.939Z moonrise -2029-11-01T11:37:04.169Z sunrise +2029-10-31T18:44:47.197Z moonset +2029-10-31T22:40:04.373Z sunset +2029-11-01T06:34:33.935Z moonrise +2029-11-01T11:37:04.200Z sunrise 2029-11-01T13:01:09.039Z Moon culminates 66.19 degrees above the horizon 2029-11-01T17:08:21.582Z Sun culminates 46.74 degrees above the horizon -2029-11-01T19:21:08.875Z moonset -2029-11-01T22:39:18.646Z sunset +2029-11-01T19:21:08.882Z moonset +2029-11-01T22:39:18.675Z sunset 2029-11-02T04:33:07.377Z Venus moves from Ophiuchus to Sagittarius -2029-11-02T07:37:10.748Z moonrise -2029-11-02T11:37:47.599Z sunrise +2029-11-02T07:37:10.749Z moonrise +2029-11-02T11:37:47.633Z sunrise 2029-11-02T13:50:52.863Z Moon culminates 60.25 degrees above the horizon 2029-11-02T17:08:20.949Z Sun culminates 46.42 degrees above the horizon -2029-11-02T19:57:58.305Z moonset -2029-11-02T22:38:34.187Z sunset -2029-11-03T08:42:01.581Z moonrise -2029-11-03T11:38:31.430Z sunrise +2029-11-02T19:57:58.310Z moonset +2029-11-02T22:38:34.214Z sunset +2029-11-03T08:42:01.586Z moonrise +2029-11-03T11:38:31.466Z sunrise 2029-11-03T14:42:33.493Z Moon culminates 54.16 degrees above the horizon 2029-11-03T17:08:21.143Z Sun culminates 46.11 degrees above the horizon -2029-11-03T20:36:42.291Z moonset -2029-11-03T22:37:50.989Z sunset -2029-11-04T09:49:35.108Z moonrise -2029-11-04T11:39:15.651Z sunrise +2029-11-03T20:36:42.288Z moonset +2029-11-03T22:37:51.011Z sunset +2029-11-04T09:49:35.143Z moonrise +2029-11-04T11:39:15.689Z sunrise 2029-11-04T15:37:10.060Z Moon culminates 48.34 degrees above the horizon 2029-11-04T17:08:22.169Z Sun culminates 45.81 degrees above the horizon -2029-11-04T21:18:54.702Z moonset -2029-11-04T22:37:09.072Z sunset -2029-11-05T10:59:43.930Z moonrise -2029-11-05T11:40:00.244Z sunrise +2029-11-04T21:18:54.671Z moonset +2029-11-04T22:37:09.091Z sunset +2029-11-05T10:59:44.034Z moonrise +2029-11-05T11:40:00.285Z sunrise 2029-11-05T16:35:20.658Z Moon culminates 43.27 degrees above the horizon 2029-11-05T17:08:24.029Z Sun culminates 45.50 degrees above the horizon -2029-11-05T22:06:06.427Z moonset -2029-11-05T22:36:28.458Z sunset +2029-11-05T22:06:06.344Z moonset +2029-11-05T22:36:28.474Z sunset 2029-11-05T23:07:57.803Z lunar perigee at 356891 km 2029-11-06T04:24:35.458Z new moon -2029-11-06T11:40:45.195Z sunrise -2029-11-06T12:11:10.590Z moonrise +2029-11-06T11:40:45.239Z sunrise +2029-11-06T12:11:10.769Z moonrise 2029-11-06T17:08:26.727Z Sun culminates 45.21 degrees above the horizon 2029-11-06T17:36:55.159Z Moon culminates 39.48 degrees above the horizon -2029-11-06T22:35:49.168Z sunset -2029-11-06T22:59:19.746Z moonset -2029-11-07T11:41:30.485Z sunrise -2029-11-07T13:21:15.114Z moonrise +2029-11-06T22:35:49.180Z sunset +2029-11-06T22:59:19.603Z moonset +2029-11-07T11:41:30.531Z sunrise +2029-11-07T13:21:15.328Z moonrise 2029-11-07T17:08:30.262Z Sun culminates 44.91 degrees above the horizon 2029-11-07T18:40:33.351Z Moon culminates 37.37 degrees above the horizon -2029-11-07T22:35:11.222Z sunset -2029-11-07T23:58:28.440Z moonset -2029-11-08T11:42:16.095Z sunrise -2029-11-08T14:26:39.332Z moonrise +2029-11-07T22:35:11.230Z sunset +2029-11-07T23:58:28.250Z moonset +2029-11-08T11:42:16.144Z sunrise +2029-11-08T14:26:39.537Z moonrise 2029-11-08T17:08:34.635Z Sun culminates 44.62 degrees above the horizon 2029-11-08T19:43:55.778Z Moon culminates 37.12 degrees above the horizon -2029-11-08T22:34:34.638Z sunset -2029-11-09T01:01:51.966Z moonset -2029-11-09T11:43:02.003Z sunrise -2029-11-09T15:24:54.870Z moonrise +2029-11-08T22:34:34.642Z sunset +2029-11-09T01:01:51.757Z moonset +2029-11-09T11:43:02.054Z sunrise +2029-11-09T15:24:55.039Z moonrise 2029-11-09T17:08:39.844Z Sun culminates 44.34 degrees above the horizon 2029-11-09T20:44:36.782Z Moon culminates 38.62 degrees above the horizon -2029-11-09T22:33:59.436Z sunset -2029-11-10T02:06:44.387Z moonset -2029-11-10T11:43:48.187Z sunrise -2029-11-10T16:15:19.420Z moonrise +2029-11-09T22:33:59.437Z sunset +2029-11-10T02:06:44.199Z moonset +2029-11-10T11:43:48.241Z sunrise +2029-11-10T16:15:19.540Z moonrise 2029-11-10T17:08:45.888Z Sun culminates 44.06 degrees above the horizon 2029-11-10T21:41:02.490Z Moon culminates 41.54 degrees above the horizon -2029-11-10T22:33:25.636Z sunset -2029-11-11T03:10:28.455Z moonset -2029-11-11T11:44:34.626Z sunrise -2029-11-11T16:58:41.616Z moonrise +2029-11-10T22:33:25.633Z sunset +2029-11-11T03:10:28.325Z moonset +2029-11-11T11:44:34.683Z sunrise +2029-11-11T16:58:41.688Z moonrise 2029-11-11T17:08:52.766Z Sun culminates 43.79 degrees above the horizon 2029-11-11T22:32:50.251Z Moon culminates 45.49 degrees above the horizon -2029-11-11T22:32:53.257Z sunset -2029-11-12T04:11:31.788Z moonset -2029-11-12T11:45:21.296Z sunrise +2029-11-11T22:32:53.250Z sunset +2029-11-12T04:11:31.724Z moonset +2029-11-12T11:45:21.356Z sunrise 2029-11-12T17:09:00.476Z Sun culminates 43.52 degrees above the horizon -2029-11-12T17:36:33.114Z moonrise -2029-11-12T22:32:22.318Z sunset +2029-11-12T17:36:33.150Z moonrise +2029-11-12T22:32:22.307Z sunset 2029-11-12T23:20:31.164Z Moon culminates 50.09 degrees above the horizon 2029-11-13T00:35:52.289Z first quarter -2029-11-13T05:09:32.617Z moonset -2029-11-13T11:46:08.175Z sunrise +2029-11-13T05:09:32.599Z moonset +2029-11-13T11:46:08.238Z sunrise 2029-11-13T14:46:31.017Z Saturn opposition 2029-11-13T17:09:09.015Z Sun culminates 43.25 degrees above the horizon 2029-11-13T17:31:05.920Z Mercury moves from Libra to Scorpius -2029-11-13T18:10:32.202Z moonrise -2029-11-13T22:31:52.837Z sunset +2029-11-13T18:10:32.220Z moonrise +2029-11-13T22:31:52.822Z sunset 2029-11-13T23:14:47.676Z Mercury aphelion at 0.4667 AU 2029-11-14T00:05:03.363Z Moon culminates 55.05 degrees above the horizon -2029-11-14T06:04:56.372Z moonset -2029-11-14T11:46:55.240Z sunrise +2029-11-14T06:04:56.373Z moonset +2029-11-14T11:46:55.305Z sunrise 2029-11-14T17:09:18.382Z Sun culminates 42.99 degrees above the horizon -2029-11-14T18:42:08.409Z moonrise -2029-11-14T22:31:24.834Z sunset +2029-11-14T18:42:08.421Z moonrise +2029-11-14T22:31:24.815Z sunset 2029-11-15T00:47:32.999Z Moon culminates 60.14 degrees above the horizon -2029-11-15T06:58:30.558Z moonset -2029-11-15T11:47:42.468Z sunrise +2029-11-15T06:58:30.562Z moonset +2029-11-15T11:47:42.536Z sunrise 2029-11-15T17:09:28.575Z Sun culminates 42.74 degrees above the horizon -2029-11-15T19:12:40.056Z moonrise -2029-11-15T22:30:58.326Z sunset +2029-11-15T19:12:40.066Z moonrise +2029-11-15T22:30:58.304Z sunset 2029-11-16T01:29:04.611Z Moon culminates 65.17 degrees above the horizon -2029-11-16T07:51:07.605Z moonset -2029-11-16T11:48:29.835Z sunrise +2029-11-16T07:51:07.612Z moonset +2029-11-16T11:48:29.906Z sunrise 2029-11-16T17:09:39.591Z Sun culminates 42.49 degrees above the horizon -2029-11-16T19:43:16.804Z moonrise -2029-11-16T22:30:33.332Z sunset +2029-11-16T19:43:16.807Z moonrise +2029-11-16T22:30:33.306Z sunset 2029-11-17T02:10:37.011Z Moon culminates 69.98 degrees above the horizon -2029-11-17T08:43:34.297Z moonset -2029-11-17T11:49:17.319Z sunrise +2029-11-17T08:43:34.321Z moonset +2029-11-17T11:49:17.392Z sunrise 2029-11-17T17:09:51.427Z Sun culminates 42.25 degrees above the horizon -2029-11-17T20:15:02.913Z moonrise -2029-11-17T22:30:09.869Z sunset +2029-11-17T20:15:02.899Z moonrise +2029-11-17T22:30:09.840Z sunset 2029-11-18T02:53:01.005Z Moon culminates 74.40 degrees above the horizon -2029-11-18T09:36:24.116Z moonset -2029-11-18T11:50:04.895Z sunrise +2029-11-18T09:36:24.175Z moonset +2029-11-18T11:50:04.971Z sunrise 2029-11-18T17:10:04.080Z Sun culminates 42.01 degrees above the horizon -2029-11-18T20:48:59.090Z moonrise -2029-11-18T22:29:47.956Z sunset +2029-11-18T20:48:59.047Z moonrise +2029-11-18T22:29:47.923Z sunset 2029-11-19T02:53:26.559Z lunar apogee at 406230 km 2029-11-19T03:36:56.553Z Moon culminates 78.27 degrees above the horizon 2029-11-19T08:27:18.957Z Mercury moves from Scorpius to Ophiuchus -2029-11-19T10:29:50.145Z moonset -2029-11-19T11:50:52.539Z sunrise +2029-11-19T10:29:50.250Z moonset +2029-11-19T11:50:52.618Z sunrise 2029-11-19T17:10:17.546Z Sun culminates 41.78 degrees above the horizon -2029-11-19T21:26:01.379Z moonrise -2029-11-19T22:29:27.608Z sunset +2029-11-19T21:26:01.301Z moonrise +2029-11-19T22:29:27.572Z sunset 2029-11-20T04:22:48.317Z Moon culminates 81.40 degrees above the horizon -2029-11-20T11:23:38.776Z moonset -2029-11-20T11:51:40.227Z sunrise +2029-11-20T11:23:38.921Z moonset +2029-11-20T11:51:40.308Z sunrise 2029-11-20T17:10:31.822Z Sun culminates 41.56 degrees above the horizon -2029-11-20T22:06:55.824Z moonrise -2029-11-20T22:29:08.844Z sunset +2029-11-20T22:06:55.711Z moonrise +2029-11-20T22:29:08.804Z sunset 2029-11-21T04:03:38.574Z full moon 2029-11-21T05:10:40.232Z Moon culminates 83.62 degrees above the horizon -2029-11-21T11:52:27.932Z sunrise -2029-11-21T12:17:07.609Z moonset +2029-11-21T11:52:28.016Z sunrise +2029-11-21T12:17:07.777Z moonset 2029-11-21T17:10:46.902Z Sun culminates 41.34 degrees above the horizon -2029-11-21T22:28:51.677Z sunset -2029-11-21T22:52:08.891Z moonrise +2029-11-21T22:28:51.635Z sunset +2029-11-21T22:52:08.750Z moonrise 2029-11-22T06:00:12.003Z Moon culminates 84.77 degrees above the horizon -2029-11-22T11:53:15.628Z sunrise -2029-11-22T13:09:12.686Z moonset +2029-11-22T11:53:15.714Z sunrise +2029-11-22T13:09:12.856Z moonset 2029-11-22T17:11:02.779Z Sun culminates 41.13 degrees above the horizon -2029-11-22T22:28:36.123Z sunset -2029-11-22T23:41:37.135Z moonrise +2029-11-22T22:28:36.078Z sunset +2029-11-22T23:41:36.978Z moonrise 2029-11-23T06:50:41.865Z Moon culminates 84.74 degrees above the horizon -2029-11-23T11:54:03.287Z sunrise -2029-11-23T13:58:46.615Z moonset +2029-11-23T11:54:03.375Z sunrise +2029-11-23T13:58:46.770Z moonset 2029-11-23T17:11:19.448Z Sun culminates 40.92 degrees above the horizon -2029-11-23T22:28:22.196Z sunset -2029-11-24T00:34:43.651Z moonrise +2029-11-23T22:28:22.147Z sunset +2029-11-24T00:34:43.495Z moonrise 2029-11-24T07:41:17.901Z Moon culminates 83.49 degrees above the horizon -2029-11-24T11:54:50.878Z sunrise -2029-11-24T14:45:00.743Z moonset +2029-11-24T11:54:50.969Z sunrise +2029-11-24T14:45:00.870Z moonset 2029-11-24T17:11:36.898Z Sun culminates 40.72 degrees above the horizon -2029-11-24T22:28:09.906Z sunset -2029-11-25T01:30:28.020Z moonrise +2029-11-24T22:28:09.855Z sunset +2029-11-25T01:30:27.887Z moonrise 2029-11-25T08:31:14.573Z Moon culminates 81.07 degrees above the horizon -2029-11-25T11:55:38.370Z sunrise -2029-11-25T15:27:39.669Z moonset +2029-11-25T11:55:38.464Z sunrise +2029-11-25T15:27:39.759Z moonset 2029-11-25T17:11:55.120Z Sun culminates 40.53 degrees above the horizon -2029-11-25T22:27:59.266Z sunset -2029-11-26T02:27:47.545Z moonrise +2029-11-25T22:27:59.211Z sunset +2029-11-26T02:27:47.455Z moonrise 2029-11-26T09:20:06.898Z Moon culminates 77.60 degrees above the horizon -2029-11-26T11:56:25.731Z sunrise -2029-11-26T16:07:02.338Z moonset +2029-11-26T11:56:25.827Z sunrise +2029-11-26T16:07:02.391Z moonset 2029-11-26T17:12:14.101Z Sun culminates 40.34 degrees above the horizon -2029-11-26T22:27:50.284Z sunset -2029-11-27T03:25:58.563Z moonrise +2029-11-26T22:27:50.226Z sunset +2029-11-27T03:25:58.521Z moonrise 2029-11-27T10:07:56.745Z Moon culminates 73.23 degrees above the horizon -2029-11-27T11:57:12.927Z sunrise -2029-11-27T16:43:53.948Z moonset +2029-11-27T11:57:13.025Z sunrise +2029-11-27T16:43:53.972Z moonset 2029-11-27T17:12:33.828Z Sun culminates 40.16 degrees above the horizon -2029-11-27T22:27:42.966Z sunset -2029-11-28T04:24:47.811Z moonrise +2029-11-27T22:27:42.905Z sunset +2029-11-28T04:24:47.801Z moonrise 2029-11-28T10:55:11.517Z Moon culminates 68.14 degrees above the horizon -2029-11-28T11:57:59.919Z sunrise +2029-11-28T11:58:00.019Z sunrise 2029-11-28T17:12:54.284Z Sun culminates 39.98 degrees above the horizon -2029-11-28T17:19:16.573Z moonset -2029-11-28T22:27:37.318Z sunset +2029-11-28T17:19:16.584Z moonset +2029-11-28T22:27:37.255Z sunset 2029-11-28T23:48:20.660Z third quarter -2029-11-29T05:24:32.137Z moonrise +2029-11-29T05:24:32.138Z moonrise 2029-11-29T11:42:38.913Z Moon culminates 62.56 degrees above the horizon -2029-11-29T11:58:46.671Z sunrise +2029-11-29T11:58:46.773Z sunrise 2029-11-29T17:13:15.453Z Sun culminates 39.82 degrees above the horizon -2029-11-29T17:54:23.315Z moonset -2029-11-29T22:27:33.342Z sunset -2029-11-30T06:25:50.077Z moonrise -2029-11-30T11:59:33.142Z sunrise +2029-11-29T17:54:23.323Z moonset +2029-11-29T22:27:33.277Z sunset +2029-11-30T06:25:50.079Z moonrise +2029-11-30T11:59:33.246Z sunrise 2029-11-30T12:31:20.573Z Moon culminates 56.74 degrees above the horizon 2029-11-30T17:13:37.315Z Sun culminates 39.66 degrees above the horizon -2029-11-30T18:30:36.546Z moonset -2029-11-30T22:27:31.039Z sunset -2029-12-01T07:29:27.535Z moonrise -2029-12-01T12:00:19.291Z sunrise +2029-11-30T18:30:36.549Z moonset +2029-11-30T22:27:30.972Z sunset +2029-12-01T07:29:27.551Z moonrise +2029-12-01T12:00:19.397Z sunrise 2029-12-01T13:22:24.421Z Moon culminates 50.98 degrees above the horizon 2029-12-01T16:23:30.153Z Mercury moves from Ophiuchus to Sagittarius 2029-12-01T17:13:59.847Z Sun culminates 39.50 degrees above the horizon -2029-12-01T19:09:28.032Z moonset -2029-12-01T22:27:30.407Z sunset -2029-12-02T08:35:55.936Z moonrise -2029-12-02T12:01:05.076Z sunrise +2029-12-01T19:09:28.018Z moonset +2029-12-01T22:27:30.337Z sunset +2029-12-02T08:35:56.002Z moonrise +2029-12-02T12:01:05.184Z sunrise 2029-12-02T14:16:52.368Z Moon culminates 45.68 degrees above the horizon 2029-12-02T17:14:23.027Z Sun culminates 39.36 degrees above the horizon -2029-12-02T19:52:36.264Z moonset -2029-12-02T22:27:31.440Z sunset -2029-12-03T09:45:00.650Z moonrise -2029-12-03T12:01:50.453Z sunrise +2029-12-02T19:52:36.210Z moonset +2029-12-02T22:27:31.368Z sunset +2029-12-03T09:45:00.791Z moonrise +2029-12-03T12:01:50.562Z sunrise 2029-12-03T15:15:18.910Z Moon culminates 41.30 degrees above the horizon 2029-12-03T17:14:46.828Z Sun culminates 39.22 degrees above the horizon -2029-12-03T20:41:33.060Z moonset -2029-12-03T22:27:34.131Z sunset +2029-12-03T20:41:32.949Z moonset +2029-12-03T22:27:34.057Z sunset 2029-12-04T10:38:08.130Z lunar perigee at 359264 km -2029-12-04T10:55:08.139Z moonrise -2029-12-04T12:02:35.376Z sunrise +2029-12-04T10:55:08.339Z moonrise +2029-12-04T12:02:35.487Z sunrise 2029-12-04T16:17:21.732Z Moon culminates 38.30 degrees above the horizon 2029-12-04T17:15:11.224Z Sun culminates 39.08 degrees above the horizon -2029-12-04T21:37:11.044Z moonset -2029-12-04T22:27:38.471Z sunset +2029-12-04T21:37:10.876Z moonset +2029-12-04T22:27:38.394Z sunset 2029-12-05T06:34:53.379Z Venus peak magnitude -4.88 in evening sky -2029-12-05T12:03:19.800Z sunrise -2029-12-05T12:03:23.220Z moonrise +2029-12-05T12:03:19.913Z sunrise +2029-12-05T12:03:23.434Z moonrise 2029-12-05T14:52:35.344Z new moon 2029-12-05T17:15:36.185Z Sun culminates 38.96 degrees above the horizon 2029-12-05T17:21:22.111Z Moon culminates 37.06 degrees above the horizon -2029-12-05T22:27:44.446Z sunset -2029-12-05T22:38:58.352Z moonset -2029-12-06T12:04:03.677Z sunrise -2029-12-06T13:06:28.551Z moonrise +2029-12-05T22:27:44.368Z sunset +2029-12-05T22:38:58.148Z moonset +2029-12-06T12:04:03.791Z sunrise +2029-12-06T13:06:28.740Z moonrise 2029-12-06T17:16:01.681Z Sun culminates 38.84 degrees above the horizon 2029-12-06T18:24:45.448Z Moon culminates 37.68 degrees above the horizon -2029-12-06T22:27:52.044Z sunset -2029-12-06T23:44:40.114Z moonset -2029-12-07T12:04:46.960Z sunrise -2029-12-07T14:02:15.507Z moonrise +2029-12-06T22:27:51.964Z sunset +2029-12-06T23:44:39.909Z moonset +2029-12-07T12:04:47.076Z sunrise +2029-12-07T14:02:15.650Z moonrise 2029-12-07T17:16:27.681Z Sun culminates 38.73 degrees above the horizon 2029-12-07T19:25:03.942Z Moon culminates 39.99 degrees above the horizon -2029-12-07T22:28:01.250Z sunset -2029-12-08T00:51:07.346Z moonset +2029-12-07T22:28:01.168Z sunset +2029-12-08T00:51:07.184Z moonset 2029-12-08T07:56:55.291Z Uranus opposition -2029-12-08T12:05:29.601Z sunrise -2029-12-08T14:50:25.667Z moonrise +2029-12-08T12:05:29.718Z sunrise +2029-12-08T14:50:25.758Z moonrise 2029-12-08T17:16:54.153Z Sun culminates 38.63 degrees above the horizon 2029-12-08T20:20:53.437Z Moon culminates 43.61 degrees above the horizon -2029-12-08T22:28:12.046Z sunset -2029-12-09T01:55:42.306Z moonset -2029-12-09T12:06:11.552Z sunrise -2029-12-09T15:32:02.321Z moonrise +2029-12-08T22:28:11.963Z sunset +2029-12-09T01:55:42.212Z moonset +2029-12-09T12:06:11.670Z sunrise +2029-12-09T15:32:02.368Z moonrise 2029-12-09T17:17:21.064Z Sun culminates 38.53 degrees above the horizon 2029-12-09T21:12:04.094Z Moon culminates 48.10 degrees above the horizon -2029-12-09T22:28:24.417Z sunset -2029-12-10T02:57:06.770Z moonset -2029-12-10T12:06:52.766Z sunrise -2029-12-10T16:08:41.563Z moonrise +2029-12-09T22:28:24.333Z sunset +2029-12-10T02:57:06.736Z moonset +2029-12-10T12:06:52.886Z sunrise +2029-12-10T16:08:41.584Z moonrise 2029-12-10T17:17:48.383Z Sun culminates 38.44 degrees above the horizon 2029-12-10T21:59:16.673Z Moon culminates 53.09 degrees above the horizon -2029-12-10T22:28:38.342Z sunset -2029-12-11T03:55:14.936Z moonset -2029-12-11T12:07:33.199Z sunrise -2029-12-11T16:42:00.826Z moonrise +2029-12-10T22:28:38.257Z sunset +2029-12-11T03:55:14.932Z moonset +2029-12-11T12:07:33.319Z sunrise +2029-12-11T16:42:00.838Z moonrise 2029-12-11T17:18:16.076Z Sun culminates 38.36 degrees above the horizon -2029-12-11T22:28:53.803Z sunset +2029-12-11T22:28:53.716Z sunset 2029-12-11T22:43:34.784Z Moon culminates 58.27 degrees above the horizon -2029-12-12T04:50:43.709Z moonset -2029-12-12T12:08:12.806Z sunrise -2029-12-12T17:13:27.649Z moonrise +2029-12-12T04:50:43.712Z moonset +2029-12-12T12:08:12.927Z sunrise +2029-12-12T17:13:27.659Z moonrise 2029-12-12T17:18:44.111Z Sun culminates 38.29 degrees above the horizon 2029-12-12T17:50:04.710Z first quarter -2029-12-12T22:29:10.778Z sunset +2029-12-12T22:29:10.691Z sunset 2029-12-12T23:26:07.204Z Moon culminates 63.42 degrees above the horizon 2029-12-12T23:51:10.382Z Mars moves from Sagittarius to Capricornus -2029-12-13T05:44:26.933Z moonset -2029-12-13T12:08:51.544Z sunrise +2029-12-13T05:44:26.938Z moonset +2029-12-13T12:08:51.666Z sunrise 2029-12-13T17:19:12.456Z Sun culminates 38.23 degrees above the horizon -2029-12-13T17:44:19.262Z moonrise -2029-12-13T22:29:29.247Z sunset +2029-12-13T17:44:19.268Z moonrise +2029-12-13T22:29:29.158Z sunset 2029-12-14T00:07:59.599Z Moon culminates 68.37 degrees above the horizon 2029-12-14T02:55:15.284Z Mercury max evening elongation: 20.60 degrees from Sun -2029-12-14T06:37:19.300Z moonset -2029-12-14T12:09:29.371Z sunrise +2029-12-14T06:37:19.317Z moonset +2029-12-14T12:09:29.494Z sunrise 2029-12-14T17:19:41.081Z Sun culminates 38.17 degrees above the horizon -2029-12-14T18:15:45.716Z moonrise -2029-12-14T22:29:49.185Z sunset +2029-12-14T18:15:45.710Z moonrise +2029-12-14T22:29:49.096Z sunset 2029-12-15T00:50:11.019Z Moon culminates 72.95 degrees above the horizon -2029-12-15T07:30:06.474Z moonset -2029-12-15T12:10:06.249Z sunrise +2029-12-15T07:30:06.519Z moonset +2029-12-15T12:10:06.372Z sunrise 2029-12-15T17:20:09.952Z Sun culminates 38.12 degrees above the horizon -2029-12-15T18:48:52.853Z moonrise -2029-12-15T22:30:10.572Z sunset +2029-12-15T18:48:52.822Z moonrise +2029-12-15T22:30:10.481Z sunset 2029-12-16T01:33:31.388Z Moon culminates 77.02 degrees above the horizon -2029-12-16T08:23:17.393Z moonset -2029-12-16T12:10:42.137Z sunrise +2029-12-16T08:23:17.482Z moonset +2029-12-16T12:10:42.261Z sunrise 2029-12-16T13:57:35.423Z lunar apogee at 405509 km 2029-12-16T17:20:39.039Z Sun culminates 38.08 degrees above the horizon -2029-12-16T19:24:43.032Z moonrise -2029-12-16T22:30:33.381Z sunset +2029-12-16T19:24:42.967Z moonrise +2029-12-16T22:30:33.290Z sunset 2029-12-17T02:18:37.787Z Moon culminates 80.42 degrees above the horizon -2029-12-17T09:16:56.963Z moonset -2029-12-17T12:11:17.001Z sunrise +2029-12-17T09:16:57.095Z moonset +2029-12-17T12:11:17.125Z sunrise 2029-12-17T17:21:08.313Z Sun culminates 38.04 degrees above the horizon -2029-12-17T20:04:11.934Z moonrise -2029-12-17T22:30:57.589Z sunset +2029-12-17T20:04:11.833Z moonrise +2029-12-17T22:30:57.498Z sunset 2029-12-18T03:05:48.904Z Moon culminates 82.97 degrees above the horizon -2029-12-18T10:10:40.616Z moonset -2029-12-18T12:11:50.803Z sunrise +2029-12-18T10:10:40.779Z moonset +2029-12-18T12:11:50.927Z sunrise 2029-12-18T17:21:37.741Z Sun culminates 38.02 degrees above the horizon -2029-12-18T20:48:00.231Z moonrise -2029-12-18T22:31:23.171Z sunset +2029-12-18T20:48:00.099Z moonrise +2029-12-18T22:31:23.079Z sunset 2029-12-19T03:54:59.188Z Moon culminates 84.51 degrees above the horizon -2029-12-19T11:03:35.490Z moonset -2029-12-19T12:12:23.510Z sunrise +2029-12-19T11:03:35.660Z moonset +2029-12-19T12:12:23.634Z sunrise 2029-12-19T17:22:07.296Z Sun culminates 38.00 degrees above the horizon -2029-12-19T21:36:21.438Z moonrise -2029-12-19T22:31:50.100Z sunset +2029-12-19T21:36:21.285Z moonrise +2029-12-19T22:31:50.008Z sunset 2029-12-20T04:45:36.835Z Moon culminates 84.89 degrees above the horizon -2029-12-20T11:54:32.952Z moonset -2029-12-20T12:12:55.089Z sunrise +2029-12-20T11:54:33.113Z moonset +2029-12-20T12:12:55.214Z sunrise 2029-12-20T17:22:36.946Z Sun culminates 37.99 degrees above the horizon -2029-12-20T22:28:52.193Z moonrise -2029-12-20T22:32:18.349Z sunset +2029-12-20T22:28:52.034Z moonrise +2029-12-20T22:32:18.257Z sunset 2029-12-20T22:41:54.610Z total lunar eclipse 2029-12-20T22:47:07.094Z full moon 2029-12-21T05:36:50.259Z Moon culminates 84.04 degrees above the horizon -2029-12-21T12:13:25.508Z sunrise -2029-12-21T12:42:30.714Z moonset +2029-12-21T12:13:25.633Z sunrise +2029-12-21T12:42:30.850Z moonset 2029-12-21T14:14:11.679Z December solstice 2029-12-21T17:23:06.661Z Sun culminates 37.98 degrees above the horizon -2029-12-21T22:32:47.891Z sunset -2029-12-21T23:24:34.551Z moonrise +2029-12-21T22:32:47.799Z sunset +2029-12-21T23:24:34.408Z moonrise 2029-12-22T06:27:43.539Z Moon culminates 81.97 degrees above the horizon -2029-12-22T12:13:54.736Z sunrise -2029-12-22T13:26:53.753Z moonset +2029-12-22T12:13:54.860Z sunrise +2029-12-22T13:26:53.854Z moonset 2029-12-22T17:23:36.413Z Sun culminates 37.99 degrees above the horizon -2029-12-22T22:33:18.695Z sunset -2029-12-23T00:22:14.294Z moonrise +2029-12-22T22:33:18.603Z sunset +2029-12-23T00:22:14.189Z moonrise 2029-12-23T07:17:34.443Z Moon culminates 78.77 degrees above the horizon -2029-12-23T12:14:22.742Z sunrise -2029-12-23T14:07:43.060Z moonset +2029-12-23T12:14:22.867Z sunrise +2029-12-23T14:07:43.123Z moonset 2029-12-23T17:24:06.170Z Sun culminates 38.00 degrees above the horizon -2029-12-23T22:33:50.732Z sunset -2029-12-24T01:20:46.694Z moonrise +2029-12-23T22:33:50.640Z sunset +2029-12-24T01:20:46.638Z moonrise 2029-12-24T08:06:06.478Z Moon culminates 74.62 degrees above the horizon -2029-12-24T12:14:49.498Z sunrise -2029-12-24T14:45:31.188Z moonset +2029-12-24T12:14:49.621Z sunrise +2029-12-24T14:45:31.219Z moonset 2029-12-24T17:24:35.902Z Sun culminates 38.02 degrees above the horizon -2029-12-24T22:34:23.970Z sunset -2029-12-25T02:19:35.543Z moonrise +2029-12-24T22:34:23.879Z sunset +2029-12-25T02:19:35.526Z moonrise 2029-12-25T08:53:31.414Z Moon culminates 69.73 degrees above the horizon -2029-12-25T12:15:14.973Z sunrise -2029-12-25T15:21:12.099Z moonset +2029-12-25T12:15:15.096Z sunrise +2029-12-25T15:21:12.112Z moonset 2029-12-25T17:25:05.579Z Sun culminates 38.05 degrees above the horizon -2029-12-25T22:34:58.376Z sunset +2029-12-25T22:34:58.285Z sunset 2029-12-26T03:18:38.465Z moonrise 2029-12-26T09:40:24.991Z Moon culminates 64.32 degrees above the horizon -2029-12-26T12:15:39.139Z sunrise -2029-12-26T15:55:52.631Z moonset +2029-12-26T12:15:39.262Z sunrise +2029-12-26T15:55:52.639Z moonset 2029-12-26T17:25:35.168Z Sun culminates 38.09 degrees above the horizon -2029-12-26T22:35:33.915Z sunset -2029-12-27T04:18:21.089Z moonrise +2029-12-26T22:35:33.824Z sunset +2029-12-27T04:18:21.091Z moonrise 2029-12-27T10:27:40.165Z Moon culminates 58.65 degrees above the horizon -2029-12-27T12:16:01.969Z sunrise -2029-12-27T16:30:48.354Z moonset +2029-12-27T12:16:02.091Z sunrise +2029-12-27T16:30:48.360Z moonset 2029-12-27T17:26:04.638Z Sun culminates 38.13 degrees above the horizon -2029-12-27T22:36:10.550Z sunset +2029-12-27T22:36:10.460Z sunset 2029-12-27T22:53:14.070Z Mercury perihelion at 0.3075 AU -2029-12-28T05:19:25.031Z moonrise +2029-12-28T05:19:25.040Z moonrise 2029-12-28T09:49:37.289Z third quarter 2029-12-28T11:16:20.032Z Moon culminates 53.00 degrees above the horizon -2029-12-28T12:16:23.435Z sunrise -2029-12-28T17:07:22.906Z moonset +2029-12-28T12:16:23.556Z sunrise +2029-12-28T17:07:22.901Z moonset 2029-12-28T17:26:33.956Z Sun culminates 38.18 degrees above the horizon -2029-12-28T22:36:48.243Z sunset -2029-12-29T06:22:31.349Z moonrise +2029-12-28T22:36:48.154Z sunset +2029-12-29T06:22:31.392Z moonrise 2029-12-29T12:07:29.295Z Moon culminates 47.67 degrees above the horizon -2029-12-29T12:16:43.511Z sunrise +2029-12-29T12:16:43.632Z sunrise 2029-12-29T13:09:24.803Z Mars perihelion at 1.3814 AU 2029-12-29T17:27:03.089Z Sun culminates 38.24 degrees above the horizon -2029-12-29T17:47:07.793Z moonset -2029-12-29T22:37:26.955Z sunset -2029-12-30T07:27:57.769Z moonrise -2029-12-30T12:17:02.171Z sunrise +2029-12-29T17:47:07.758Z moonset +2029-12-29T22:37:26.866Z sunset +2029-12-30T07:27:57.877Z moonrise +2029-12-30T12:17:02.291Z sunrise 2029-12-30T13:02:00.798Z Moon culminates 43.03 degrees above the horizon 2029-12-30T17:27:32.004Z Sun culminates 38.31 degrees above the horizon -2029-12-30T18:31:37.398Z moonset -2029-12-30T22:38:06.641Z sunset -2029-12-31T08:35:10.160Z moonrise -2029-12-31T12:17:19.391Z sunrise +2029-12-30T18:31:37.312Z moonset +2029-12-30T22:38:06.554Z sunset +2029-12-31T08:35:10.336Z moonrise +2029-12-31T12:17:19.510Z sunrise 2029-12-31T12:20:58.957Z Mercury inferior conjunction 2029-12-31T14:00:14.152Z Moon culminates 39.50 degrees above the horizon 2029-12-31T17:28:00.666Z Sun culminates 38.39 degrees above the horizon -2029-12-31T19:22:11.456Z moonset -2029-12-31T22:38:47.260Z sunset -2030-01-01T09:42:21.384Z moonrise -2030-01-01T12:17:35.147Z sunrise +2029-12-31T19:22:11.314Z moonset +2029-12-31T22:38:47.173Z sunset +2030-01-01T09:42:21.596Z moonrise +2030-01-01T12:17:35.265Z sunrise 2030-01-01T15:01:31.097Z Moon culminates 37.45 degrees above the horizon 2030-01-01T15:33:18.745Z lunar perigee at 364239 km 2030-01-01T17:28:29.042Z Sun culminates 38.47 degrees above the horizon -2030-01-01T20:19:20.133Z moonset -2030-01-01T22:39:28.765Z sunset -2030-01-02T10:46:46.296Z moonrise -2030-01-02T12:17:49.415Z sunrise +2030-01-01T20:19:19.944Z moonset +2030-01-01T22:39:28.680Z sunset +2030-01-02T10:46:46.501Z moonrise +2030-01-02T12:17:49.532Z sunrise 2030-01-02T16:04:06.887Z Moon culminates 37.14 degrees above the horizon 2030-01-02T17:28:57.095Z Sun culminates 38.56 degrees above the horizon -2030-01-02T21:22:05.829Z moonset -2030-01-02T22:40:11.110Z sunset +2030-01-02T21:22:05.619Z moonset +2030-01-02T22:40:11.026Z sunset 2030-01-03T11:00:21.644Z Earth perihelion at 0.9833 AU -2030-01-03T11:45:45.497Z moonrise -2030-01-03T12:18:02.173Z sunrise +2030-01-03T11:45:45.666Z moonrise +2030-01-03T12:18:02.288Z sunrise 2030-01-03T17:05:39.523Z Moon culminates 38.58 degrees above the horizon 2030-01-03T17:29:24.791Z Sun culminates 38.66 degrees above the horizon -2030-01-03T22:28:02.129Z moonset -2030-01-03T22:40:54.247Z sunset +2030-01-03T22:28:01.939Z moonset +2030-01-03T22:40:54.164Z sunset 2030-01-04T02:50:03.100Z new moon -2030-01-04T12:18:13.399Z sunrise -2030-01-04T12:37:54.327Z moonrise +2030-01-04T12:18:13.513Z sunrise +2030-01-04T12:37:54.445Z moonrise 2030-01-04T17:29:52.097Z Sun culminates 38.76 degrees above the horizon 2030-01-04T18:04:06.487Z Moon culminates 41.57 degrees above the horizon -2030-01-04T22:41:38.129Z sunset -2030-01-04T23:34:11.965Z moonset -2030-01-05T12:18:23.074Z sunrise -2030-01-05T13:23:19.859Z moonrise +2030-01-04T22:41:38.047Z sunset +2030-01-04T23:34:11.834Z moonset +2030-01-05T12:18:23.187Z sunrise +2030-01-05T13:23:19.927Z moonrise 2030-01-05T17:30:18.977Z Sun culminates 38.88 degrees above the horizon 2030-01-05T18:58:25.984Z Moon culminates 45.71 degrees above the horizon -2030-01-05T22:42:22.708Z sunset -2030-01-06T00:38:21.120Z moonset -2030-01-06T12:18:31.179Z sunrise +2030-01-05T22:42:22.628Z sunset +2030-01-06T00:38:21.058Z moonset +2030-01-06T12:18:31.291Z sunrise 2030-01-06T13:13:02.055Z Venus inferior conjunction -2030-01-06T14:03:09.343Z moonrise +2030-01-06T14:03:09.374Z moonrise 2030-01-06T17:30:45.401Z Sun culminates 39.00 degrees above the horizon 2030-01-06T19:48:38.840Z Moon culminates 50.59 degrees above the horizon -2030-01-06T22:43:07.936Z sunset -2030-01-07T01:39:29.761Z moonset -2030-01-07T12:18:37.698Z sunrise -2030-01-07T14:38:51.736Z moonrise +2030-01-06T22:43:07.858Z sunset +2030-01-07T01:39:29.745Z moonset +2030-01-07T12:18:37.808Z sunrise +2030-01-07T14:38:51.750Z moonrise 2030-01-07T17:31:11.335Z Sun culminates 39.12 degrees above the horizon 2030-01-07T20:35:26.568Z Moon culminates 55.83 degrees above the horizon -2030-01-07T22:43:53.768Z sunset -2030-01-08T02:37:39.747Z moonset -2030-01-08T12:18:42.618Z sunrise -2030-01-08T15:11:55.325Z moonrise +2030-01-07T22:43:53.691Z sunset +2030-01-08T02:37:39.748Z moonset +2030-01-08T12:18:42.725Z sunrise +2030-01-08T15:11:55.335Z moonrise 2030-01-08T17:31:36.750Z Sun culminates 39.26 degrees above the horizon 2030-01-08T21:19:48.729Z Moon culminates 61.14 degrees above the horizon -2030-01-08T22:44:40.156Z sunset -2030-01-09T03:33:27.632Z moonset -2030-01-09T12:18:45.925Z sunrise -2030-01-09T15:43:40.424Z moonrise +2030-01-08T22:44:40.081Z sunset +2030-01-09T03:33:27.635Z moonset +2030-01-09T12:18:46.031Z sunrise +2030-01-09T15:43:40.432Z moonrise 2030-01-09T17:32:01.619Z Sun culminates 39.40 degrees above the horizon 2030-01-09T22:02:48.803Z Moon culminates 66.29 degrees above the horizon -2030-01-09T22:45:27.055Z sunset -2030-01-10T04:27:42.611Z moonset -2030-01-10T12:18:47.613Z sunrise +2030-01-09T22:45:26.982Z sunset +2030-01-10T04:27:42.620Z moonset +2030-01-10T12:18:47.717Z sunrise 2030-01-10T16:15:19.717Z moonrise 2030-01-10T17:32:25.914Z Sun culminates 39.55 degrees above the horizon 2030-01-10T22:45:27.286Z Moon culminates 71.11 degrees above the horizon -2030-01-10T22:46:14.421Z sunset -2030-01-11T05:21:12.464Z moonset -2030-01-11T12:18:47.673Z sunrise +2030-01-10T22:46:14.350Z sunset +2030-01-11T05:21:12.495Z moonset +2030-01-11T12:18:47.776Z sunrise 2030-01-11T14:06:40.985Z first quarter -2030-01-11T16:48:00.850Z moonrise +2030-01-11T16:48:00.831Z moonrise 2030-01-11T17:32:49.610Z Sun culminates 39.71 degrees above the horizon -2030-01-11T22:47:02.210Z sunset +2030-01-11T22:47:02.142Z sunset 2030-01-11T23:28:38.210Z Moon culminates 75.44 degrees above the horizon -2030-01-12T06:14:34.300Z moonset -2030-01-12T12:18:46.103Z sunrise -2030-01-12T17:22:48.291Z moonrise +2030-01-12T06:14:34.369Z moonset +2030-01-12T12:18:46.204Z sunrise +2030-01-12T17:22:48.240Z moonrise 2030-01-12T17:33:12.685Z Sun culminates 39.87 degrees above the horizon -2030-01-12T22:47:50.382Z sunset +2030-01-12T22:47:50.316Z sunset 2030-01-13T00:13:06.070Z Moon culminates 79.13 degrees above the horizon -2030-01-13T07:08:07.068Z moonset +2030-01-13T07:08:07.184Z moonset 2030-01-13T08:50:25.871Z lunar apogee at 404634 km -2030-01-13T12:18:42.901Z sunrise +2030-01-13T12:18:42.999Z sunrise 2030-01-13T17:33:35.119Z Sun culminates 40.04 degrees above the horizon -2030-01-13T18:00:42.528Z moonrise -2030-01-13T22:48:38.895Z sunset +2030-01-13T18:00:42.441Z moonrise +2030-01-13T22:48:38.831Z sunset 2030-01-14T00:59:21.520Z Moon culminates 82.03 degrees above the horizon -2030-01-14T08:01:45.255Z moonset -2030-01-14T12:18:38.067Z sunrise +2030-01-14T08:01:45.408Z moonset +2030-01-14T12:18:38.163Z sunrise 2030-01-14T17:33:56.892Z Sun culminates 40.22 degrees above the horizon -2030-01-14T18:42:34.972Z moonrise -2030-01-14T22:49:27.711Z sunset +2030-01-14T18:42:34.851Z moonrise +2030-01-14T22:49:27.650Z sunset 2030-01-15T01:47:35.837Z Moon culminates 83.99 degrees above the horizon -2030-01-15T08:54:56.164Z moonset -2030-01-15T12:18:31.604Z sunrise +2030-01-15T08:54:56.334Z moonset +2030-01-15T12:18:31.698Z sunrise 2030-01-15T17:34:17.986Z Sun culminates 40.40 degrees above the horizon -2030-01-15T19:28:57.989Z moonrise -2030-01-15T22:50:16.792Z sunset +2030-01-15T19:28:57.843Z moonrise +2030-01-15T22:50:16.735Z sunset 2030-01-16T02:37:36.333Z Moon culminates 84.85 degrees above the horizon -2030-01-16T09:46:45.233Z moonset -2030-01-16T12:18:23.518Z sunrise +2030-01-16T09:46:45.400Z moonset +2030-01-16T12:18:23.610Z sunrise 2030-01-16T17:34:38.388Z Sun culminates 40.59 degrees above the horizon -2030-01-16T20:19:52.911Z moonrise -2030-01-16T22:51:06.105Z sunset +2030-01-16T20:19:52.753Z moonrise +2030-01-16T22:51:06.050Z sunset 2030-01-17T03:28:46.867Z Moon culminates 84.51 degrees above the horizon 2030-01-17T07:14:54.876Z Mars moves from Capricornus to Aquarius -2030-01-17T10:36:11.582Z moonset -2030-01-17T12:18:13.816Z sunrise +2030-01-17T10:36:11.729Z moonset +2030-01-17T12:18:13.905Z sunrise 2030-01-17T17:34:58.084Z Sun culminates 40.79 degrees above the horizon -2030-01-17T21:14:43.766Z moonrise -2030-01-17T22:51:55.614Z sunset +2030-01-17T21:14:43.614Z moonrise +2030-01-17T22:51:55.562Z sunset 2030-01-18T04:20:16.859Z Moon culminates 82.92 degrees above the horizon -2030-01-18T11:22:28.713Z moonset -2030-01-18T12:18:02.505Z sunrise +2030-01-18T11:22:28.828Z moonset +2030-01-18T12:18:02.591Z sunrise 2030-01-18T17:35:17.061Z Sun culminates 41.00 degrees above the horizon -2030-01-18T22:12:25.145Z moonrise -2030-01-18T22:52:45.286Z sunset +2030-01-18T22:12:25.023Z moonrise +2030-01-18T22:52:45.237Z sunset 2030-01-19T05:11:17.166Z Moon culminates 80.12 degrees above the horizon -2030-01-19T12:05:19.714Z moonset -2030-01-19T12:17:49.596Z sunrise +2030-01-19T12:05:19.790Z moonset +2030-01-19T12:17:49.680Z sunrise 2030-01-19T15:54:54.820Z full moon 2030-01-19T17:35:35.309Z Sun culminates 41.21 degrees above the horizon -2030-01-19T22:53:35.092Z sunset -2030-01-19T23:11:43.887Z moonrise +2030-01-19T22:53:35.046Z sunset +2030-01-19T23:11:43.812Z moonrise 2030-01-20T06:01:15.705Z Moon culminates 76.25 degrees above the horizon -2030-01-20T12:17:35.100Z sunrise -2030-01-20T12:45:00.190Z moonset +2030-01-20T12:17:35.182Z sunrise +2030-01-20T12:45:00.231Z moonset 2030-01-20T17:35:52.819Z Sun culminates 41.42 degrees above the horizon -2030-01-20T22:54:25.000Z sunset -2030-01-21T00:11:42.991Z moonrise +2030-01-20T22:54:24.957Z sunset +2030-01-21T00:11:42.962Z moonrise 2030-01-21T06:50:05.906Z Moon culminates 71.52 degrees above the horizon -2030-01-21T12:17:19.030Z sunrise -2030-01-21T13:22:11.560Z moonset +2030-01-21T12:17:19.109Z sunrise +2030-01-21T13:22:11.577Z moonset 2030-01-21T17:36:09.581Z Sun culminates 41.64 degrees above the horizon -2030-01-21T22:55:14.981Z sunset -2030-01-22T01:11:55.413Z moonrise +2030-01-21T22:55:14.942Z sunset +2030-01-22T01:11:55.409Z moonrise 2030-01-22T06:53:24.396Z Venus perihelion at 0.7184 AU 2030-01-22T07:38:06.630Z Moon culminates 66.17 degrees above the horizon 2030-01-22T10:18:11.922Z Mercury max morning elongation: 24.35 degrees from Sun -2030-01-22T12:17:01.398Z sunrise -2030-01-22T13:57:51.962Z moonset +2030-01-22T12:17:01.474Z sunrise +2030-01-22T13:57:51.971Z moonset 2030-01-22T17:36:25.589Z Sun culminates 41.87 degrees above the horizon -2030-01-22T22:56:05.008Z sunset -2030-01-23T02:12:24.452Z moonrise +2030-01-22T22:56:04.973Z sunset +2030-01-23T02:12:24.454Z moonrise 2030-01-23T08:25:56.806Z Moon culminates 60.49 degrees above the horizon -2030-01-23T12:16:42.218Z sunrise -2030-01-23T14:33:09.817Z moonset +2030-01-23T12:16:42.292Z sunrise +2030-01-23T14:33:09.824Z moonset 2030-01-23T17:36:40.836Z Sun culminates 42.11 degrees above the horizon -2030-01-23T22:56:55.053Z sunset -2030-01-24T03:13:34.670Z moonrise +2030-01-23T22:56:55.021Z sunset +2030-01-24T03:13:34.674Z moonrise 2030-01-24T09:14:28.192Z Moon culminates 54.77 degrees above the horizon -2030-01-24T12:16:21.504Z sunrise +2030-01-24T12:16:21.576Z sunrise 2030-01-24T15:09:20.971Z moonset 2030-01-24T17:36:55.315Z Sun culminates 42.35 degrees above the horizon -2030-01-24T22:57:45.089Z sunset -2030-01-25T04:15:57.402Z moonrise +2030-01-24T22:57:45.061Z sunset +2030-01-25T04:15:57.430Z moonrise 2030-01-25T10:04:37.219Z Moon culminates 49.34 degrees above the horizon -2030-01-25T12:15:59.273Z sunrise -2030-01-25T15:47:47.573Z moonset +2030-01-25T12:15:59.341Z sunrise +2030-01-25T15:47:47.551Z moonset 2030-01-25T17:37:09.022Z Sun culminates 42.60 degrees above the horizon -2030-01-25T22:58:35.089Z sunset -2030-01-26T05:19:52.065Z moonrise +2030-01-25T22:58:35.064Z sunset +2030-01-26T05:19:52.149Z moonrise 2030-01-26T10:57:14.370Z Moon culminates 44.52 degrees above the horizon -2030-01-26T12:15:35.539Z sunrise -2030-01-26T16:29:55.044Z moonset +2030-01-26T12:15:35.605Z sunrise +2030-01-26T16:29:54.979Z moonset 2030-01-26T17:37:21.949Z Sun culminates 42.85 degrees above the horizon 2030-01-26T18:14:57.364Z third quarter -2030-01-26T22:59:25.027Z sunset -2030-01-27T06:25:03.996Z moonrise +2030-01-26T22:59:25.005Z sunset +2030-01-27T06:25:04.148Z moonrise 2030-01-27T11:52:49.048Z Moon culminates 40.68 degrees above the horizon -2030-01-27T12:15:10.319Z sunrise -2030-01-27T17:17:01.840Z moonset +2030-01-27T12:15:10.382Z sunrise +2030-01-27T17:17:01.719Z moonset 2030-01-27T17:37:34.092Z Sun culminates 43.11 degrees above the horizon -2030-01-27T23:00:14.874Z sunset -2030-01-28T07:30:25.508Z moonrise -2030-01-28T12:14:43.628Z sunrise +2030-01-27T23:00:14.857Z sunset +2030-01-28T07:30:25.709Z moonrise +2030-01-28T12:14:43.689Z sunrise 2030-01-28T12:51:11.189Z Moon culminates 38.13 degrees above the horizon 2030-01-28T15:58:47.725Z lunar perigee at 369534 km 2030-01-28T17:37:45.446Z Sun culminates 43.37 degrees above the horizon -2030-01-28T18:09:57.194Z moonset -2030-01-28T23:01:04.605Z sunset -2030-01-29T08:33:57.019Z moonrise -2030-01-29T12:14:15.485Z sunrise +2030-01-28T18:09:57.024Z moonset +2030-01-28T23:01:04.591Z sunset +2030-01-29T08:33:57.228Z moonrise +2030-01-29T12:14:15.542Z sunrise 2030-01-29T13:51:19.187Z Moon culminates 37.14 degrees above the horizon 2030-01-29T17:37:56.006Z Sun culminates 43.64 degrees above the horizon -2030-01-29T19:08:30.667Z moonset +2030-01-29T19:08:30.466Z moonset 2030-01-29T21:46:15.346Z Pluto conjunction -2030-01-29T23:01:54.193Z sunset -2030-01-30T09:33:22.770Z moonrise -2030-01-30T12:13:45.905Z sunrise +2030-01-29T23:01:54.183Z sunset +2030-01-30T09:33:22.957Z moonrise +2030-01-30T12:13:45.959Z sunrise 2030-01-30T14:51:29.583Z Moon culminates 37.82 degrees above the horizon 2030-01-30T17:38:05.766Z Sun culminates 43.91 degrees above the horizon -2030-01-30T20:11:15.439Z moonset -2030-01-30T23:02:43.611Z sunset -2030-01-31T10:27:05.603Z moonrise -2030-01-31T12:13:14.904Z sunrise +2030-01-30T20:11:15.238Z moonset +2030-01-30T23:02:43.605Z sunset +2030-01-31T10:27:05.746Z moonrise +2030-01-31T12:13:14.957Z sunrise 2030-01-31T15:49:52.256Z Moon culminates 40.07 degrees above the horizon 2030-01-31T17:38:14.723Z Sun culminates 44.19 degrees above the horizon -2030-01-31T21:15:51.685Z moonset -2030-01-31T23:03:32.833Z sunset -2030-02-01T11:14:39.345Z moonrise -2030-02-01T12:12:42.501Z sunrise +2030-01-31T21:15:51.524Z moonset +2030-01-31T23:03:32.831Z sunset +2030-02-01T11:14:39.437Z moonrise +2030-02-01T12:12:42.551Z sunrise 2030-02-01T16:45:09.832Z Moon culminates 43.62 degrees above the horizon 2030-02-01T17:38:22.871Z Sun culminates 44.48 degrees above the horizon -2030-02-01T22:20:02.032Z moonset -2030-02-01T23:04:21.834Z sunset -2030-02-02T11:56:40.345Z moonrise -2030-02-02T12:12:08.713Z sunrise +2030-02-01T22:20:01.938Z moonset +2030-02-01T23:04:21.836Z sunset +2030-02-02T11:56:40.392Z moonrise +2030-02-02T12:12:08.759Z sunrise 2030-02-02T16:08:03.537Z new moon 2030-02-02T17:36:55.309Z Moon culminates 48.12 degrees above the horizon 2030-02-02T17:38:30.208Z Sun culminates 44.77 degrees above the horizon -2030-02-02T23:05:10.591Z sunset -2030-02-02T23:22:16.820Z moonset -2030-02-03T12:11:33.555Z sunrise -2030-02-03T12:34:18.623Z moonrise +2030-02-02T23:05:10.596Z sunset +2030-02-02T23:22:16.785Z moonset +2030-02-03T12:11:33.600Z sunrise +2030-02-03T12:34:18.643Z moonrise 2030-02-03T17:38:36.731Z Sun culminates 45.06 degrees above the horizon 2030-02-03T18:25:24.829Z Moon culminates 53.21 degrees above the horizon -2030-02-03T23:05:59.079Z sunset -2030-02-04T00:22:03.841Z moonset -2030-02-04T12:10:57.049Z sunrise -2030-02-04T13:08:53.520Z moonrise +2030-02-03T23:05:59.088Z sunset +2030-02-04T00:22:03.837Z moonset +2030-02-04T12:10:57.090Z sunrise +2030-02-04T13:08:53.531Z moonrise 2030-02-04T17:38:42.438Z Sun culminates 45.36 degrees above the horizon 2030-02-04T19:11:20.301Z Moon culminates 58.54 degrees above the horizon -2030-02-04T23:06:47.279Z sunset -2030-02-05T01:19:33.206Z moonset -2030-02-05T12:10:19.211Z sunrise -2030-02-05T13:41:41.567Z moonrise +2030-02-04T23:06:47.292Z sunset +2030-02-05T01:19:33.209Z moonset +2030-02-05T12:10:19.251Z sunrise +2030-02-05T13:41:41.575Z moonrise 2030-02-05T17:38:47.329Z Sun culminates 45.67 degrees above the horizon 2030-02-05T19:55:34.315Z Moon culminates 63.84 degrees above the horizon -2030-02-05T23:07:35.169Z sunset -2030-02-06T02:15:17.033Z moonset -2030-02-06T12:09:40.064Z sunrise -2030-02-06T14:13:53.274Z moonrise +2030-02-05T23:07:35.186Z sunset +2030-02-06T02:15:17.038Z moonset +2030-02-06T12:09:40.100Z sunrise +2030-02-06T14:13:53.279Z moonrise 2030-02-06T17:38:51.405Z Sun culminates 45.97 degrees above the horizon 2030-02-06T20:39:00.865Z Moon culminates 68.88 degrees above the horizon -2030-02-06T23:08:22.733Z sunset +2030-02-06T23:08:22.753Z sunset 2030-02-07T02:40:35.806Z Venus peak magnitude -4.87 in morning sky -2030-02-07T03:09:53.553Z moonset -2030-02-07T12:08:59.627Z sunrise -2030-02-07T14:46:34.023Z moonrise +2030-02-07T03:09:53.571Z moonset +2030-02-07T12:08:59.661Z sunrise +2030-02-07T14:46:34.014Z moonrise 2030-02-07T17:38:54.668Z Sun culminates 46.29 degrees above the horizon 2030-02-07T21:22:30.334Z Moon culminates 73.48 degrees above the horizon -2030-02-07T23:09:09.952Z sunset -2030-02-08T04:03:56.312Z moonset +2030-02-07T23:09:09.976Z sunset +2030-02-08T04:03:56.361Z moonset 2030-02-08T11:37:32.159Z Mercury moves from Sagittarius to Capricornus -2030-02-08T12:08:17.924Z sunrise -2030-02-08T15:20:45.676Z moonrise +2030-02-08T12:08:17.956Z sunrise +2030-02-08T15:20:45.641Z moonrise 2030-02-08T17:38:57.122Z Sun culminates 46.60 degrees above the horizon 2030-02-08T22:06:46.211Z Moon culminates 77.49 degrees above the horizon -2030-02-08T23:09:56.813Z sunset -2030-02-09T04:57:46.405Z moonset -2030-02-09T12:07:34.978Z sunrise -2030-02-09T15:57:26.832Z moonrise +2030-02-08T23:09:56.840Z sunset +2030-02-09T04:57:46.499Z moonset +2030-02-09T12:07:35.008Z sunrise +2030-02-09T15:57:26.762Z moonrise 2030-02-09T17:38:58.773Z Sun culminates 46.93 degrees above the horizon 2030-02-09T22:30:38.075Z Mercury aphelion at 0.4667 AU 2030-02-09T22:52:21.710Z Moon culminates 80.75 degrees above the horizon -2030-02-09T23:10:43.303Z sunset -2030-02-10T05:51:26.482Z moonset +2030-02-09T23:10:43.334Z sunset +2030-02-10T05:51:26.618Z moonset 2030-02-10T06:06:10.664Z lunar apogee at 404278 km 2030-02-10T11:50:06.882Z first quarter -2030-02-10T12:06:50.815Z sunrise -2030-02-10T16:37:30.198Z moonrise +2030-02-10T12:06:50.842Z sunrise +2030-02-10T16:37:30.093Z moonrise 2030-02-10T17:38:59.627Z Sun culminates 47.25 degrees above the horizon -2030-02-10T23:11:29.411Z sunset +2030-02-10T23:11:29.445Z sunset 2030-02-10T23:39:35.689Z Moon culminates 83.11 degrees above the horizon -2030-02-11T06:44:37.400Z moonset -2030-02-11T12:06:05.459Z sunrise -2030-02-11T17:21:36.185Z moonrise +2030-02-11T06:44:37.563Z moonset +2030-02-11T12:06:05.484Z sunrise +2030-02-11T17:21:36.051Z moonrise 2030-02-11T17:38:59.694Z Sun culminates 47.58 degrees above the horizon -2030-02-11T23:12:15.129Z sunset +2030-02-11T23:12:15.167Z sunset 2030-02-12T00:28:28.732Z Moon culminates 84.45 degrees above the horizon -2030-02-12T07:36:40.232Z moonset -2030-02-12T12:05:18.938Z sunrise +2030-02-12T07:36:40.400Z moonset +2030-02-12T12:05:18.961Z sunrise 2030-02-12T17:38:58.982Z Sun culminates 47.91 degrees above the horizon -2030-02-12T18:10:03.575Z moonrise -2030-02-12T23:13:00.450Z sunset +2030-02-12T18:10:03.423Z moonrise +2030-02-12T23:13:00.491Z sunset 2030-02-13T01:18:41.821Z Moon culminates 84.66 degrees above the horizon -2030-02-13T08:26:45.902Z moonset -2030-02-13T12:04:31.279Z sunrise +2030-02-13T08:26:46.058Z moonset +2030-02-13T12:04:31.301Z sunrise 2030-02-13T17:38:57.505Z Sun culminates 48.25 degrees above the horizon -2030-02-13T19:02:41.452Z moonrise -2030-02-13T23:13:45.371Z sunset +2030-02-13T19:02:41.297Z moonrise +2030-02-13T23:13:45.415Z sunset 2030-02-14T02:09:40.344Z Moon culminates 83.65 degrees above the horizon -2030-02-14T09:14:10.729Z moonset -2030-02-14T12:03:42.512Z sunrise +2030-02-14T09:14:10.859Z moonset +2030-02-14T12:03:42.532Z sunrise 2030-02-14T17:38:55.275Z Sun culminates 48.59 degrees above the horizon -2030-02-14T19:58:49.102Z moonrise -2030-02-14T23:14:29.888Z sunset +2030-02-14T19:58:48.965Z moonrise +2030-02-14T23:14:29.936Z sunset 2030-02-15T03:00:44.171Z Moon culminates 81.42 degrees above the horizon -2030-02-15T09:58:31.259Z moonset -2030-02-15T12:02:52.666Z sunrise +2030-02-15T09:58:31.352Z moonset +2030-02-15T12:02:52.684Z sunrise 2030-02-15T17:38:52.306Z Sun culminates 48.93 degrees above the horizon -2030-02-15T20:57:27.818Z moonrise -2030-02-15T23:15:14.002Z sunset +2030-02-15T20:57:27.722Z moonrise +2030-02-15T23:15:14.052Z sunset 2030-02-16T03:51:20.575Z Moon culminates 78.04 degrees above the horizon -2030-02-16T10:39:51.490Z moonset -2030-02-16T12:02:01.770Z sunrise +2030-02-16T10:39:51.544Z moonset +2030-02-16T12:02:01.786Z sunrise 2030-02-16T17:38:48.614Z Sun culminates 49.28 degrees above the horizon -2030-02-16T21:57:40.314Z moonrise -2030-02-16T23:15:57.712Z sunset +2030-02-16T21:57:40.267Z moonrise +2030-02-16T23:15:57.766Z sunset 2030-02-17T04:41:14.522Z Moon culminates 73.66 degrees above the horizon -2030-02-17T11:18:41.151Z moonset -2030-02-17T12:01:09.855Z sunrise +2030-02-17T11:18:41.176Z moonset +2030-02-17T12:01:09.870Z sunrise 2030-02-17T17:38:44.215Z Sun culminates 49.63 degrees above the horizon -2030-02-17T22:58:47.598Z moonrise -2030-02-17T23:16:41.022Z sunset +2030-02-17T22:58:47.587Z moonrise +2030-02-17T23:16:41.079Z sunset 2030-02-18T05:30:32.747Z Moon culminates 68.49 degrees above the horizon 2030-02-18T06:20:19.178Z full moon -2030-02-18T11:55:49.152Z moonset -2030-02-18T12:00:16.952Z sunrise +2030-02-18T11:55:49.162Z moonset +2030-02-18T12:00:16.965Z sunrise 2030-02-18T17:38:39.126Z Sun culminates 49.98 degrees above the horizon -2030-02-18T23:17:23.936Z sunset -2030-02-19T00:00:35.820Z moonrise +2030-02-18T23:17:23.994Z sunset +2030-02-19T00:00:35.821Z moonrise 2030-02-19T06:19:41.799Z Moon culminates 62.82 degrees above the horizon -2030-02-19T11:59:23.090Z sunrise -2030-02-19T12:32:17.099Z moonset +2030-02-19T11:59:23.102Z sunrise +2030-02-19T12:32:17.106Z moonset 2030-02-19T17:38:33.364Z Sun culminates 50.34 degrees above the horizon 2030-02-19T19:27:02.487Z Mars moves from Aquarius to Pisces -2030-02-19T23:18:06.457Z sunset -2030-02-20T01:03:12.396Z moonrise +2030-02-19T23:18:06.518Z sunset +2030-02-20T01:03:12.397Z moonrise 2030-02-20T07:09:22.356Z Moon culminates 56.96 degrees above the horizon -2030-02-20T11:58:28.301Z sunrise -2030-02-20T13:09:15.126Z moonset +2030-02-20T11:58:28.312Z sunrise +2030-02-20T13:09:15.129Z moonset 2030-02-20T17:38:26.947Z Sun culminates 50.70 degrees above the horizon -2030-02-20T23:18:48.591Z sunset -2030-02-21T02:06:54.245Z moonrise +2030-02-20T23:18:48.655Z sunset +2030-02-21T02:06:54.260Z moonrise 2030-02-21T08:00:21.306Z Moon culminates 51.28 degrees above the horizon -2030-02-21T11:57:32.615Z sunrise -2030-02-21T13:47:59.381Z moonset +2030-02-21T11:57:32.624Z sunrise +2030-02-21T13:47:59.369Z moonset 2030-02-21T17:38:19.894Z Sun culminates 51.06 degrees above the horizon -2030-02-21T23:19:30.345Z sunset -2030-02-22T03:11:50.608Z moonrise +2030-02-21T23:19:30.411Z sunset +2030-02-22T03:11:50.668Z moonrise 2030-02-22T08:53:21.394Z Moon culminates 46.14 degrees above the horizon 2030-02-22T10:10:28.239Z lunar perigee at 368395 km -2030-02-22T11:56:36.061Z sunrise -2030-02-22T14:29:48.439Z moonset +2030-02-22T11:56:36.069Z sunrise +2030-02-22T14:29:48.390Z moonset 2030-02-22T17:38:12.223Z Sun culminates 51.42 degrees above the horizon -2030-02-22T23:20:11.723Z sunset -2030-02-23T04:17:42.809Z moonrise +2030-02-22T23:20:11.792Z sunset +2030-02-23T04:17:42.937Z moonrise 2030-02-23T09:48:47.565Z Moon culminates 41.92 degrees above the horizon -2030-02-23T11:55:38.671Z sunrise -2030-02-23T15:15:54.462Z moonset +2030-02-23T11:55:38.678Z sunrise +2030-02-23T15:15:54.361Z moonset 2030-02-23T17:38:03.951Z Sun culminates 51.79 degrees above the horizon -2030-02-23T23:20:52.733Z sunset -2030-02-24T05:23:27.540Z moonrise +2030-02-23T23:20:52.804Z sunset +2030-02-24T05:23:27.725Z moonrise 2030-02-24T10:46:31.598Z Moon culminates 38.96 degrees above the horizon -2030-02-24T11:54:40.474Z sunrise -2030-02-24T16:07:05.473Z moonset +2030-02-24T11:54:40.480Z sunrise +2030-02-24T16:07:05.320Z moonset 2030-02-24T17:37:55.096Z Sun culminates 52.16 degrees above the horizon -2030-02-24T23:21:33.379Z sunset +2030-02-24T23:21:33.452Z sunset 2030-02-25T01:58:15.207Z third quarter -2030-02-25T06:27:17.439Z moonrise +2030-02-25T06:27:17.646Z moonrise 2030-02-25T11:45:42.570Z Moon culminates 37.49 degrees above the horizon -2030-02-25T11:53:41.499Z sunrise -2030-02-25T17:03:21.394Z moonset +2030-02-25T11:53:41.504Z sunrise +2030-02-25T17:03:21.204Z moonset 2030-02-25T17:23:02.778Z Mercury moves from Capricornus to Aquarius 2030-02-25T17:37:45.675Z Sun culminates 52.53 degrees above the horizon -2030-02-25T23:22:13.667Z sunset -2030-02-26T07:27:10.320Z moonrise -2030-02-26T11:52:41.775Z sunrise +2030-02-25T23:22:13.742Z sunset +2030-02-26T07:27:10.513Z moonrise +2030-02-26T11:52:41.780Z sunrise 2030-02-26T12:44:54.466Z Moon culminates 37.63 degrees above the horizon 2030-02-26T17:37:35.706Z Sun culminates 52.90 degrees above the horizon -2030-02-26T18:03:39.325Z moonset -2030-02-26T23:22:53.600Z sunset -2030-02-27T08:21:35.302Z moonrise -2030-02-27T11:51:41.331Z sunrise +2030-02-26T18:03:39.125Z moonset +2030-02-26T23:22:53.677Z sunset +2030-02-27T08:21:35.459Z moonrise +2030-02-27T11:51:41.334Z sunrise 2030-02-27T13:42:33.619Z Moon culminates 39.30 degrees above the horizon 2030-02-27T17:37:25.203Z Sun culminates 53.28 degrees above the horizon -2030-02-27T19:06:07.940Z moonset -2030-02-27T23:23:33.183Z sunset -2030-02-28T09:10:02.923Z moonrise -2030-02-28T11:50:40.193Z sunrise +2030-02-27T19:06:07.767Z moonset +2030-02-27T23:23:33.262Z sunset +2030-02-28T09:10:03.033Z moonrise +2030-02-28T11:50:40.196Z sunrise 2030-02-28T14:37:30.740Z Moon culminates 42.31 degrees above the horizon 2030-02-28T17:37:14.184Z Sun culminates 53.66 degrees above the horizon -2030-02-28T20:08:48.898Z moonset -2030-02-28T23:24:12.421Z sunset -2030-03-01T09:53:01.486Z moonrise -2030-03-01T11:49:38.388Z sunrise +2030-02-28T20:08:48.782Z moonset +2030-02-28T23:24:12.501Z sunset +2030-03-01T09:53:01.549Z moonrise +2030-03-01T11:49:38.390Z sunrise 2030-03-01T15:29:17.591Z Moon culminates 46.34 degrees above the horizon 2030-03-01T17:37:02.663Z Sun culminates 54.04 degrees above the horizon -2030-03-01T21:10:16.201Z moonset -2030-03-01T23:24:51.316Z sunset -2030-03-02T10:31:33.422Z moonrise -2030-03-02T11:48:35.943Z sunrise +2030-03-01T21:10:16.147Z moonset +2030-03-01T23:24:51.398Z sunset +2030-03-02T10:31:33.451Z moonrise +2030-03-02T11:48:35.945Z sunrise 2030-03-02T16:18:03.785Z Moon culminates 51.09 degrees above the horizon 2030-03-02T17:36:50.655Z Sun culminates 54.42 degrees above the horizon -2030-03-02T22:09:50.428Z moonset -2030-03-02T23:25:29.874Z sunset -2030-03-03T11:06:52.836Z moonrise -2030-03-03T11:47:32.884Z sunrise +2030-03-02T22:09:50.415Z moonset +2030-03-02T23:25:29.958Z sunset +2030-03-03T11:06:52.849Z moonrise +2030-03-03T11:47:32.885Z sunrise 2030-03-03T17:04:23.575Z Moon culminates 56.24 degrees above the horizon 2030-03-03T17:36:38.175Z Sun culminates 54.80 degrees above the horizon -2030-03-03T23:07:30.725Z moonset -2030-03-03T23:26:08.098Z sunset +2030-03-03T23:07:30.726Z moonset +2030-03-03T23:26:08.183Z sunset 2030-03-04T06:35:14.885Z new moon -2030-03-04T11:40:12.900Z moonrise -2030-03-04T11:46:29.236Z sunrise +2030-03-04T11:40:12.909Z moonrise +2030-03-04T11:46:29.237Z sunrise 2030-03-04T17:36:25.239Z Sun culminates 55.19 degrees above the horizon 2030-03-04T17:49:02.775Z Moon culminates 61.50 degrees above the horizon -2030-03-04T23:26:45.994Z sunset -2030-03-05T00:03:38.859Z moonset -2030-03-05T11:45:25.024Z sunrise -2030-03-05T12:12:41.513Z moonrise +2030-03-04T23:26:46.080Z sunset +2030-03-05T00:03:38.862Z moonset +2030-03-05T11:45:25.025Z sunrise +2030-03-05T12:12:41.520Z moonrise 2030-03-05T17:36:11.861Z Sun culminates 55.58 degrees above the horizon 2030-03-05T18:32:49.766Z Moon culminates 66.64 degrees above the horizon -2030-03-05T23:27:23.565Z sunset -2030-03-06T00:58:44.725Z moonset -2030-03-06T11:44:20.274Z sunrise -2030-03-06T12:45:21.229Z moonrise +2030-03-05T23:27:23.652Z sunset +2030-03-06T00:58:44.735Z moonset +2030-03-06T11:44:20.275Z sunrise +2030-03-06T12:45:21.228Z moonrise 2030-03-06T17:35:58.057Z Sun culminates 55.96 degrees above the horizon 2030-03-06T19:16:30.144Z Moon culminates 71.43 degrees above the horizon -2030-03-06T23:28:00.817Z sunset -2030-03-07T01:53:15.636Z moonset +2030-03-06T23:28:00.906Z sunset +2030-03-07T01:53:15.668Z moonset 2030-03-07T08:53:28.030Z Venus moves from Sagittarius to Capricornus -2030-03-07T11:43:15.013Z sunrise -2030-03-07T13:19:10.383Z moonrise +2030-03-07T11:43:15.112Z sunrise +2030-03-07T13:19:10.362Z moonrise 2030-03-07T17:35:43.843Z Sun culminates 56.35 degrees above the horizon 2030-03-07T20:00:43.239Z Moon culminates 75.70 degrees above the horizon -2030-03-07T23:28:37.757Z sunset -2030-03-08T02:47:28.596Z moonset -2030-03-08T11:42:09.265Z sunrise -2030-03-08T13:55:03.468Z moonrise +2030-03-07T23:28:37.847Z sunset +2030-03-08T02:47:28.668Z moonset +2030-03-08T11:42:09.363Z sunrise +2030-03-08T13:55:03.415Z moonrise 2030-03-08T17:35:29.235Z Sun culminates 56.74 degrees above the horizon 2030-03-08T20:45:59.104Z Moon culminates 79.28 degrees above the horizon -2030-03-08T23:29:14.391Z sunset -2030-03-09T03:41:24.766Z moonset +2030-03-08T23:29:14.483Z sunset +2030-03-09T03:41:24.882Z moonset 2030-03-09T08:35:43.740Z Mars moves from Pisces to Cetus -2030-03-09T11:41:03.057Z sunrise -2030-03-09T14:33:49.465Z moonrise +2030-03-09T11:41:03.155Z sunrise +2030-03-09T14:33:49.376Z moonrise 2030-03-09T17:35:14.251Z Sun culminates 57.13 degrees above the horizon 2030-03-09T21:32:35.375Z Moon culminates 82.01 degrees above the horizon 2030-03-09T22:38:48.214Z Mercury superior conjunction -2030-03-09T23:29:50.728Z sunset +2030-03-09T23:29:50.820Z sunset 2030-03-10T02:22:25.139Z lunar apogee at 404735 km -2030-03-10T04:34:46.636Z moonset -2030-03-10T11:39:56.417Z sunrise -2030-03-10T15:16:07.417Z moonrise +2030-03-10T04:34:46.786Z moonset +2030-03-10T11:39:56.514Z sunrise +2030-03-10T15:16:07.297Z moonrise 2030-03-10T17:34:58.908Z Sun culminates 57.53 degrees above the horizon 2030-03-10T18:32:54.431Z Mars moves from Cetus to Pisces 2030-03-10T22:20:34.592Z Moon culminates 83.77 degrees above the horizon -2030-03-10T23:30:26.775Z sunset -2030-03-11T05:26:59.806Z moonset -2030-03-11T11:38:49.372Z sunrise -2030-03-11T16:02:19.787Z moonrise +2030-03-10T23:30:26.869Z sunset +2030-03-11T05:26:59.970Z moonset +2030-03-11T11:38:49.468Z sunrise +2030-03-11T16:02:19.645Z moonrise 2030-03-11T17:34:43.225Z Sun culminates 57.92 degrees above the horizon 2030-03-11T23:09:43.582Z Moon culminates 84.45 degrees above the horizon -2030-03-11T23:31:02.544Z sunset -2030-03-12T06:17:20.936Z moonset +2030-03-11T23:31:02.638Z sunset +2030-03-12T06:17:21.097Z moonset 2030-03-12T08:48:18.071Z first quarter -2030-03-12T11:37:41.949Z sunrise -2030-03-12T16:52:26.320Z moonrise +2030-03-12T11:37:42.045Z sunrise +2030-03-12T16:52:26.168Z moonrise 2030-03-12T17:34:27.222Z Sun culminates 58.31 degrees above the horizon 2030-03-12T21:37:46.065Z Mercury moves from Aquarius to Pisces -2030-03-12T23:31:38.044Z sunset +2030-03-12T23:31:38.140Z sunset 2030-03-12T23:59:36.748Z Moon culminates 83.98 degrees above the horizon -2030-03-13T07:05:10.590Z moonset -2030-03-13T11:36:34.179Z sunrise +2030-03-13T07:05:10.731Z moonset +2030-03-13T11:36:34.273Z sunrise 2030-03-13T17:34:10.918Z Sun culminates 58.70 degrees above the horizon -2030-03-13T17:46:02.919Z moonrise -2030-03-13T23:32:13.290Z sunset +2030-03-13T17:46:02.776Z moonrise +2030-03-13T23:32:13.386Z sunset 2030-03-14T00:49:43.674Z Moon culminates 82.34 degrees above the horizon -2030-03-14T07:50:05.998Z moonset -2030-03-14T11:35:26.089Z sunrise +2030-03-14T07:50:06.107Z moonset +2030-03-14T11:35:26.182Z sunrise 2030-03-14T17:33:54.336Z Sun culminates 59.10 degrees above the horizon -2030-03-14T18:42:28.825Z moonrise -2030-03-14T23:32:48.294Z sunset +2030-03-14T18:42:28.713Z moonrise +2030-03-14T23:32:48.391Z sunset 2030-03-15T01:39:38.989Z Moon culminates 79.56 degrees above the horizon -2030-03-15T08:32:08.254Z moonset -2030-03-15T11:34:17.709Z sunrise +2030-03-15T08:32:08.325Z moonset +2030-03-15T11:34:17.802Z sunrise 2030-03-15T17:33:37.498Z Sun culminates 59.49 degrees above the horizon -2030-03-15T19:41:00.391Z moonrise -2030-03-15T23:33:23.070Z sunset +2030-03-15T19:41:00.324Z moonrise +2030-03-15T23:33:23.169Z sunset 2030-03-16T02:29:10.876Z Moon culminates 75.73 degrees above the horizon -2030-03-16T09:11:42.236Z moonset -2030-03-16T11:33:09.070Z sunrise +2030-03-16T09:11:42.273Z moonset +2030-03-16T11:33:09.162Z sunrise 2030-03-16T17:33:20.426Z Sun culminates 59.89 degrees above the horizon -2030-03-16T20:41:05.112Z moonrise -2030-03-16T23:33:57.636Z sunset +2030-03-16T20:41:05.087Z moonrise +2030-03-16T23:33:57.735Z sunset 2030-03-17T03:18:25.473Z Moon culminates 70.99 degrees above the horizon -2030-03-17T09:49:31.912Z moonset -2030-03-17T11:32:00.202Z sunrise +2030-03-17T09:49:31.927Z moonset +2030-03-17T11:32:00.294Z sunrise 2030-03-17T17:33:03.143Z Sun culminates 60.28 degrees above the horizon -2030-03-17T21:42:29.612Z moonrise -2030-03-17T23:34:32.006Z sunset +2030-03-17T21:42:29.609Z moonrise +2030-03-17T23:34:32.106Z sunset 2030-03-17T23:58:48.546Z Venus max morning elongation: 46.61 degrees from Sun 2030-03-18T04:07:46.685Z Moon culminates 65.57 degrees above the horizon -2030-03-18T10:26:34.971Z moonset -2030-03-18T11:30:51.136Z sunrise +2030-03-18T10:26:34.978Z moonset +2030-03-18T11:30:51.227Z sunrise 2030-03-18T17:32:45.674Z Sun culminates 60.68 degrees above the horizon -2030-03-18T22:45:19.757Z moonrise +2030-03-18T22:45:19.075Z moonrise 2030-03-18T23:35:06.199Z sunset 2030-03-19T04:57:52.446Z Moon culminates 59.74 degrees above the horizon -2030-03-19T11:03:59.039Z moonset -2030-03-19T11:29:41.902Z sunrise +2030-03-19T11:03:59.044Z moonset +2030-03-19T11:29:41.992Z sunrise 2030-03-19T17:32:28.043Z Sun culminates 61.07 degrees above the horizon 2030-03-19T17:56:58.862Z full moon -2030-03-19T23:35:40.231Z sunset -2030-03-19T23:49:48.546Z moonrise +2030-03-19T23:35:40.232Z sunset +2030-03-19T23:49:48.551Z moonrise 2030-03-20T05:49:28.151Z Moon culminates 53.86 degrees above the horizon -2030-03-20T11:28:32.530Z sunrise -2030-03-20T11:42:59.233Z moonset +2030-03-20T11:28:32.620Z sunrise +2030-03-20T11:42:59.230Z moonset 2030-03-20T13:51:45.343Z March equinox 2030-03-20T17:32:10.274Z Sun culminates 61.47 degrees above the horizon 2030-03-20T23:36:14.122Z sunset -2030-03-21T00:56:06.970Z moonrise +2030-03-21T00:56:07.005Z moonrise 2030-03-21T06:43:16.615Z Moon culminates 48.33 degrees above the horizon -2030-03-21T11:27:23.052Z sunrise -2030-03-21T12:24:54.646Z moonset +2030-03-21T11:27:23.141Z sunrise +2030-03-21T12:24:54.616Z moonset 2030-03-21T17:31:52.391Z Sun culminates 61.86 degrees above the horizon 2030-03-21T22:00:20.047Z lunar perigee at 362964 km -2030-03-21T23:36:47.888Z sunset -2030-03-22T02:03:55.382Z moonrise +2030-03-21T23:36:47.889Z sunset +2030-03-22T02:03:55.480Z moonrise 2030-03-22T07:39:43.431Z Moon culminates 43.60 degrees above the horizon -2030-03-22T11:26:13.497Z sunrise -2030-03-22T13:10:59.568Z moonset +2030-03-22T11:26:13.586Z sunrise +2030-03-22T13:10:59.489Z moonset 2030-03-22T17:31:34.418Z Sun culminates 62.26 degrees above the horizon 2030-03-22T23:37:21.548Z sunset -2030-03-23T03:12:05.998Z moonrise +2030-03-23T03:12:06.163Z moonrise 2030-03-23T08:38:39.332Z Moon culminates 40.07 degrees above the horizon -2030-03-23T11:25:03.896Z sunrise -2030-03-23T14:02:05.343Z moonset +2030-03-23T11:25:03.984Z sunrise +2030-03-23T14:02:05.210Z moonset 2030-03-23T15:45:31.512Z Venus moves from Capricornus to Aquarius 2030-03-23T17:31:16.378Z Sun culminates 62.65 degrees above the horizon -2030-03-23T23:37:55.117Z sunset -2030-03-24T04:18:38.669Z moonrise +2030-03-23T23:37:55.118Z sunset +2030-03-24T04:18:38.868Z moonrise 2030-03-24T09:39:08.236Z Moon culminates 38.05 degrees above the horizon -2030-03-24T11:23:54.278Z sunrise -2030-03-24T14:58:14.885Z moonset +2030-03-24T11:23:54.365Z sunrise +2030-03-24T14:58:14.708Z moonset 2030-03-24T17:30:58.295Z Sun culminates 63.05 degrees above the horizon -2030-03-24T23:38:28.611Z sunset -2030-03-25T05:21:11.337Z moonrise +2030-03-24T23:38:28.612Z sunset +2030-03-25T05:21:11.532Z moonrise 2030-03-25T10:39:34.820Z Moon culminates 37.68 degrees above the horizon -2030-03-25T11:22:44.673Z sunrise -2030-03-25T15:58:25.768Z moonset +2030-03-25T11:22:44.759Z sunrise +2030-03-25T15:58:25.573Z moonset 2030-03-25T17:30:40.189Z Sun culminates 63.44 degrees above the horizon 2030-03-25T22:09:04.722Z Mercury perihelion at 0.3075 AU -2030-03-25T23:39:02.044Z sunset +2030-03-25T23:39:02.045Z sunset 2030-03-25T23:44:24.354Z Neptune moves from Cetus to Pisces -2030-03-26T06:17:54.251Z moonrise +2030-03-26T06:17:54.417Z moonrise 2030-03-26T09:51:56.311Z third quarter -2030-03-26T11:21:35.109Z sunrise +2030-03-26T11:21:35.194Z sunrise 2030-03-26T11:38:15.579Z Moon culminates 38.91 degrees above the horizon -2030-03-26T17:00:44.157Z moonset +2030-03-26T17:00:43.978Z moonset 2030-03-26T17:30:22.083Z Sun culminates 63.83 degrees above the horizon -2030-03-26T23:39:35.430Z sunset +2030-03-26T23:39:35.431Z sunset 2030-03-27T02:06:39.551Z Venus moves from Aquarius to Capricornus -2030-03-27T07:08:07.913Z moonrise -2030-03-27T11:20:25.616Z sunrise +2030-03-27T07:08:08.034Z moonrise +2030-03-27T11:20:25.700Z sunrise 2030-03-27T12:33:55.356Z Moon culminates 41.52 degrees above the horizon 2030-03-27T17:30:03.996Z Sun culminates 64.22 degrees above the horizon -2030-03-27T18:03:08.657Z moonset -2030-03-27T23:40:08.781Z sunset -2030-03-28T07:52:20.182Z moonrise -2030-03-28T11:19:16.220Z sunrise +2030-03-27T18:03:08.528Z moonset +2030-03-27T23:40:08.783Z sunset +2030-03-28T07:52:20.257Z moonrise +2030-03-28T11:19:16.303Z sunrise 2030-03-28T13:26:05.464Z Moon culminates 45.21 degrees above the horizon 2030-03-28T17:29:45.949Z Sun culminates 64.61 degrees above the horizon -2030-03-28T19:04:12.441Z moonset -2030-03-28T23:40:42.108Z sunset -2030-03-29T08:31:38.299Z moonrise -2030-03-29T11:18:06.949Z sunrise +2030-03-28T19:04:12.373Z moonset +2030-03-28T23:40:42.110Z sunset +2030-03-29T08:31:38.336Z moonrise +2030-03-29T11:18:07.031Z sunrise 2030-03-29T14:14:58.726Z Moon culminates 49.66 degrees above the horizon 2030-03-29T17:29:27.959Z Sun culminates 65.00 degrees above the horizon -2030-03-29T20:03:17.956Z moonset -2030-03-29T23:41:15.421Z sunset -2030-03-30T09:07:22.170Z moonrise -2030-03-30T11:16:57.829Z sunrise +2030-03-29T20:03:17.935Z moonset +2030-03-29T23:41:15.424Z sunset +2030-03-30T09:07:22.187Z moonrise +2030-03-30T11:16:57.910Z sunrise 2030-03-30T15:01:13.750Z Moon culminates 54.57 degrees above the horizon 2030-03-30T17:29:10.045Z Sun culminates 65.39 degrees above the horizon 2030-03-30T21:00:27.692Z moonset -2030-03-30T23:41:48.730Z sunset -2030-03-31T09:40:49.633Z moonrise -2030-03-31T11:15:48.885Z sunrise +2030-03-30T23:41:48.734Z sunset +2030-03-31T09:40:49.644Z moonrise +2030-03-31T11:15:48.964Z sunrise 2030-03-31T11:42:43.033Z Neptune conjunction 2030-03-31T15:45:40.287Z Moon culminates 59.69 degrees above the horizon 2030-03-31T17:28:52.223Z Sun culminates 65.78 degrees above the horizon -2030-03-31T21:56:07.006Z moonset -2030-03-31T23:42:22.044Z sunset +2030-03-31T21:56:07.009Z moonset +2030-03-31T23:42:22.048Z sunset 2030-04-01T03:33:19.962Z Mercury moves from Pisces to Aries -2030-04-01T10:13:11.589Z moonrise -2030-04-01T11:14:40.141Z sunrise +2030-04-01T10:13:11.598Z moonrise +2030-04-01T11:14:40.220Z sunrise 2030-04-01T16:29:09.690Z Moon culminates 64.78 degrees above the horizon 2030-04-01T17:28:34.510Z Sun culminates 66.16 degrees above the horizon -2030-04-01T22:50:49.040Z moonset -2030-04-01T23:42:55.368Z sunset -2030-04-02T10:45:32.072Z moonrise -2030-04-02T11:13:31.623Z sunrise +2030-04-01T22:50:49.046Z moonset +2030-04-01T23:42:55.373Z sunset +2030-04-02T10:45:32.075Z moonrise +2030-04-02T11:13:31.700Z sunrise 2030-04-02T17:12:29.541Z Moon culminates 69.63 degrees above the horizon 2030-04-02T17:28:16.921Z Sun culminates 66.55 degrees above the horizon 2030-04-02T22:03:09.263Z new moon -2030-04-02T23:43:28.711Z sunset -2030-04-02T23:45:03.836Z moonset -2030-04-03T11:12:23.355Z sunrise -2030-04-03T11:18:49.656Z moonrise +2030-04-02T23:43:28.717Z sunset +2030-04-02T23:45:03.857Z moonset +2030-04-03T11:12:23.430Z sunrise +2030-04-03T11:18:49.644Z moonrise 2030-04-03T15:03:11.484Z Venus moves from Capricornus to Aquarius 2030-04-03T17:27:59.472Z Sun culminates 66.93 degrees above the horizon 2030-04-03T17:56:20.255Z Moon culminates 74.06 degrees above the horizon -2030-04-03T23:44:02.079Z sunset -2030-04-04T00:39:10.418Z moonset +2030-04-03T23:44:02.085Z sunset +2030-04-04T00:39:10.473Z moonset 2030-04-04T08:22:27.081Z Mercury max evening elongation: 19.11 degrees from Sun -2030-04-04T11:11:15.361Z sunrise -2030-04-04T11:53:58.091Z moonrise +2030-04-04T11:11:15.434Z sunrise +2030-04-04T11:53:58.051Z moonrise 2030-04-04T17:27:42.177Z Sun culminates 67.31 degrees above the horizon 2030-04-04T18:41:12.063Z Moon culminates 77.87 degrees above the horizon -2030-04-04T23:44:35.477Z sunset -2030-04-05T01:33:10.902Z moonset -2030-04-05T11:10:07.663Z sunrise -2030-04-05T12:31:44.930Z moonrise +2030-04-04T23:44:35.484Z sunset +2030-04-05T01:33:11.000Z moonset +2030-04-05T11:10:07.735Z sunrise +2030-04-05T12:31:44.856Z moonrise 2030-04-05T17:27:25.052Z Sun culminates 67.69 degrees above the horizon 2030-04-05T19:27:21.857Z Moon culminates 80.90 degrees above the horizon -2030-04-05T23:45:08.910Z sunset -2030-04-06T02:26:47.229Z moonset -2030-04-06T11:09:00.288Z sunrise -2030-04-06T13:12:47.578Z moonrise +2030-04-05T23:45:08.919Z sunset +2030-04-06T02:26:47.365Z moonset +2030-04-06T11:09:00.358Z sunrise +2030-04-06T13:12:47.472Z moonrise 2030-04-06T17:27:08.111Z Sun culminates 68.07 degrees above the horizon 2030-04-06T18:46:13.527Z lunar apogee at 405646 km 2030-04-06T20:14:50.634Z Moon culminates 83.01 degrees above the horizon 2030-04-06T21:49:23.180Z Mars moves from Pisces to Aries -2030-04-06T23:45:42.385Z sunset -2030-04-07T03:19:22.692Z moonset -2030-04-07T11:07:53.259Z sunrise -2030-04-07T13:57:27.391Z moonrise +2030-04-06T23:45:42.395Z sunset +2030-04-07T03:19:22.850Z moonset +2030-04-07T11:07:53.327Z sunrise +2030-04-07T13:57:27.259Z moonrise 2030-04-07T17:26:51.369Z Sun culminates 68.44 degrees above the horizon 2030-04-07T21:03:23.299Z Moon culminates 84.08 degrees above the horizon -2030-04-07T23:46:15.906Z sunset -2030-04-08T04:10:10.100Z moonset -2030-04-08T11:06:46.601Z sunrise -2030-04-08T14:45:44.398Z moonrise +2030-04-07T23:46:15.917Z sunset +2030-04-08T04:10:10.261Z moonset +2030-04-08T11:06:46.667Z sunrise +2030-04-08T14:45:44.251Z moonrise 2030-04-08T17:26:34.841Z Sun culminates 68.82 degrees above the horizon 2030-04-08T21:52:32.587Z Moon culminates 84.04 degrees above the horizon -2030-04-08T23:46:49.479Z sunset +2030-04-08T23:46:49.492Z sunset 2030-04-09T00:04:53.329Z Saturn moves from Aries to Taurus -2030-04-09T04:58:25.328Z moonset -2030-04-09T11:05:40.339Z sunrise -2030-04-09T15:37:16.772Z moonrise +2030-04-09T04:58:25.475Z moonset +2030-04-09T11:05:40.403Z sunrise +2030-04-09T15:37:16.627Z moonrise 2030-04-09T17:26:18.543Z Sun culminates 69.19 degrees above the horizon 2030-04-09T22:41:47.226Z Moon culminates 82.88 degrees above the horizon -2030-04-09T23:47:23.110Z sunset -2030-04-10T05:43:41.001Z moonset -2030-04-10T11:04:34.499Z sunrise -2030-04-10T16:31:27.863Z moonrise +2030-04-09T23:47:23.125Z sunset +2030-04-10T05:43:41.122Z moonset +2030-04-10T11:04:34.560Z sunrise +2030-04-10T16:31:27.740Z moonrise 2030-04-10T17:26:02.492Z Sun culminates 69.56 degrees above the horizon 2030-04-10T23:30:41.974Z Moon culminates 80.61 degrees above the horizon -2030-04-10T23:47:56.806Z sunset +2030-04-10T23:47:56.822Z sunset 2030-04-11T02:57:31.562Z first quarter -2030-04-11T06:25:54.371Z moonset -2030-04-11T11:03:29.108Z sunrise +2030-04-11T06:25:54.458Z moonset +2030-04-11T11:03:29.166Z sunrise 2030-04-11T17:25:46.704Z Sun culminates 69.93 degrees above the horizon -2030-04-11T17:27:39.172Z moonrise -2030-04-11T23:48:30.574Z sunset +2030-04-11T17:27:39.088Z moonrise +2030-04-11T23:48:30.592Z sunset 2030-04-12T00:19:05.891Z Moon culminates 77.32 degrees above the horizon -2030-04-12T07:05:27.445Z moonset -2030-04-12T11:02:24.191Z sunrise +2030-04-12T07:05:27.495Z moonset +2030-04-12T11:02:24.247Z sunrise 2030-04-12T17:25:31.195Z Sun culminates 70.29 degrees above the horizon -2030-04-12T18:25:23.592Z moonrise -2030-04-12T23:49:04.420Z sunset +2030-04-12T18:25:23.551Z moonrise +2030-04-12T23:49:04.440Z sunset 2030-04-13T01:07:06.472Z Moon culminates 73.11 degrees above the horizon -2030-04-13T07:43:02.145Z moonset -2030-04-13T11:01:19.778Z sunrise +2030-04-13T07:43:02.168Z moonset +2030-04-13T11:01:19.831Z sunrise 2030-04-13T17:25:15.985Z Sun culminates 70.65 degrees above the horizon -2030-04-13T19:24:33.456Z moonrise -2030-04-13T23:49:38.353Z sunset +2030-04-13T19:24:33.447Z moonrise +2030-04-13T23:49:38.376Z sunset 2030-04-14T01:55:09.577Z Moon culminates 68.15 degrees above the horizon -2030-04-14T08:19:34.756Z moonset -2030-04-14T11:00:15.895Z sunrise +2030-04-14T08:19:34.766Z moonset +2030-04-14T11:00:15.945Z sunrise 2030-04-14T17:25:01.090Z Sun culminates 71.01 degrees above the horizon -2030-04-14T20:25:21.224Z moonrise -2030-04-14T23:50:12.382Z sunset +2030-04-14T20:25:21.225Z moonrise +2030-04-14T23:50:12.407Z sunset 2030-04-15T02:43:56.457Z Moon culminates 62.62 degrees above the horizon -2030-04-15T08:56:12.260Z moonset -2030-04-15T10:59:12.570Z sunrise +2030-04-15T08:56:12.267Z moonset +2030-04-15T10:59:12.617Z sunrise 2030-04-15T17:24:46.529Z Sun culminates 71.37 degrees above the horizon -2030-04-15T21:28:13.116Z moonrise -2030-04-15T23:50:46.514Z sunset +2030-04-15T21:28:13.117Z moonrise +2030-04-15T23:50:46.541Z sunset 2030-04-16T03:34:18.720Z Moon culminates 56.82 degrees above the horizon -2030-04-16T09:34:10.776Z moonset -2030-04-16T10:58:09.833Z sunrise +2030-04-16T09:34:10.779Z moonset +2030-04-16T10:58:09.877Z sunrise 2030-04-16T17:24:32.321Z Sun culminates 71.72 degrees above the horizon -2030-04-16T22:33:35.706Z moonrise -2030-04-16T23:51:20.759Z sunset +2030-04-16T22:33:35.721Z moonrise +2030-04-16T23:51:20.788Z sunset 2030-04-17T04:27:10.319Z Moon culminates 51.09 degrees above the horizon -2030-04-17T10:14:54.101Z moonset -2030-04-17T10:57:07.711Z sunrise +2030-04-17T10:14:54.087Z moonset +2030-04-17T10:57:07.752Z sunrise 2030-04-17T17:24:18.485Z Sun culminates 72.08 degrees above the horizon -2030-04-17T23:41:34.233Z moonrise -2030-04-17T23:51:55.124Z sunset +2030-04-17T23:41:34.297Z moonrise +2030-04-17T23:51:55.156Z sunset 2030-04-18T03:20:28.798Z full moon 2030-04-18T05:23:13.976Z Moon culminates 45.88 degrees above the horizon -2030-04-18T10:56:06.233Z sunrise -2030-04-18T10:59:47.987Z moonset +2030-04-18T10:56:06.270Z sunrise +2030-04-18T10:59:47.934Z moonset 2030-04-18T17:24:05.038Z Sun culminates 72.42 degrees above the horizon -2030-04-18T23:52:29.619Z sunset -2030-04-19T00:51:24.256Z moonrise +2030-04-18T23:52:29.654Z sunset +2030-04-19T00:51:24.390Z moonrise 2030-04-19T03:45:09.329Z lunar perigee at 358695 km 2030-04-19T06:22:40.278Z Moon culminates 41.66 degrees above the horizon -2030-04-19T10:55:05.428Z sunrise -2030-04-19T11:50:03.790Z moonset +2030-04-19T10:55:05.461Z sunrise +2030-04-19T11:50:03.683Z moonset 2030-04-19T17:23:51.999Z Sun culminates 72.77 degrees above the horizon -2030-04-19T23:53:04.249Z sunset -2030-04-20T02:01:10.728Z moonrise +2030-04-19T23:53:04.287Z sunset +2030-04-20T02:01:10.914Z moonrise 2030-04-20T07:24:45.280Z Moon culminates 38.88 degrees above the horizon -2030-04-20T10:54:05.322Z sunrise -2030-04-20T12:46:08.228Z moonset +2030-04-20T10:54:05.351Z sunrise +2030-04-20T12:46:08.070Z moonset 2030-04-20T17:23:39.384Z Sun culminates 73.11 degrees above the horizon -2030-04-20T23:53:39.022Z sunset -2030-04-21T03:08:03.139Z moonrise +2030-04-20T23:53:39.063Z sunset +2030-04-21T03:08:03.337Z moonrise 2030-04-21T08:27:45.234Z Moon culminates 37.82 degrees above the horizon -2030-04-21T10:53:05.944Z sunrise -2030-04-21T13:47:12.000Z moonset +2030-04-21T10:53:05.969Z sunrise +2030-04-21T13:47:11.811Z moonset 2030-04-21T17:23:27.210Z Sun culminates 73.45 degrees above the horizon -2030-04-21T23:54:13.942Z sunset -2030-04-22T04:09:18.483Z moonrise +2030-04-21T23:54:13.986Z sunset +2030-04-22T04:09:18.658Z moonrise 2030-04-22T09:29:26.379Z Moon culminates 38.50 degrees above the horizon -2030-04-22T10:52:07.321Z sunrise -2030-04-22T14:51:10.012Z moonset +2030-04-22T10:52:07.342Z sunrise +2030-04-22T14:51:09.826Z moonset 2030-04-22T17:23:15.493Z Sun culminates 73.79 degrees above the horizon -2030-04-22T23:54:49.010Z sunset -2030-04-23T05:03:29.212Z moonrise +2030-04-22T23:54:49.058Z sunset +2030-04-23T05:03:29.345Z moonrise 2030-04-23T10:27:57.059Z Moon culminates 40.73 degrees above the horizon -2030-04-23T10:51:09.482Z sunrise +2030-04-23T10:51:09.499Z sunrise 2030-04-23T11:08:04.950Z Mercury inferior conjunction -2030-04-23T15:55:29.974Z moonset +2030-04-23T15:55:29.828Z moonset 2030-04-23T17:23:04.246Z Sun culminates 74.12 degrees above the horizon -2030-04-23T23:55:24.230Z sunset -2030-04-24T05:50:40.377Z moonrise -2030-04-24T10:50:12.452Z sunrise +2030-04-23T23:55:24.281Z sunset +2030-04-24T05:50:40.462Z moonrise +2030-04-24T10:50:12.465Z sunrise 2030-04-24T11:22:23.298Z Moon culminates 44.16 degrees above the horizon -2030-04-24T16:58:14.121Z moonset +2030-04-24T16:58:14.037Z moonset 2030-04-24T17:22:53.484Z Sun culminates 74.45 degrees above the horizon 2030-04-24T18:39:30.449Z third quarter -2030-04-24T23:55:59.600Z sunset -2030-04-25T06:31:58.608Z moonrise -2030-04-25T10:49:16.258Z sunrise +2030-04-24T23:55:59.655Z sunset +2030-04-25T06:31:58.653Z moonrise +2030-04-25T10:49:16.266Z sunrise 2030-04-25T12:12:48.898Z Moon culminates 48.44 degrees above the horizon 2030-04-25T17:22:43.219Z Sun culminates 74.77 degrees above the horizon -2030-04-25T17:58:27.616Z moonset -2030-04-25T23:56:35.120Z sunset -2030-04-26T07:08:53.345Z moonrise -2030-04-26T10:48:20.925Z sunrise +2030-04-25T17:58:27.585Z moonset +2030-04-25T23:56:35.178Z sunset +2030-04-26T07:08:53.366Z moonrise +2030-04-26T10:48:20.928Z sunrise 2030-04-26T12:59:54.856Z Moon culminates 53.23 degrees above the horizon 2030-04-26T17:22:33.461Z Sun culminates 75.10 degrees above the horizon -2030-04-26T18:56:09.761Z moonset -2030-04-26T23:57:10.785Z sunset -2030-04-27T07:42:53.480Z moonrise -2030-04-27T10:47:26.475Z sunrise +2030-04-26T18:56:09.757Z moonset +2030-04-26T23:57:10.847Z sunset +2030-04-27T07:42:53.492Z moonrise +2030-04-27T10:47:26.474Z sunrise 2030-04-27T13:44:38.372Z Moon culminates 58.26 degrees above the horizon 2030-04-27T17:22:24.220Z Sun culminates 75.41 degrees above the horizon 2030-04-27T17:29:33.238Z Venus moves from Aquarius to Pisces -2030-04-27T19:51:51.345Z moonset -2030-04-27T23:57:46.590Z sunset -2030-04-28T08:15:19.049Z moonrise -2030-04-28T10:46:32.933Z sunrise +2030-04-27T19:51:51.348Z moonset +2030-04-27T23:57:46.656Z sunset +2030-04-28T08:15:19.058Z moonrise +2030-04-28T10:46:32.927Z sunrise 2030-04-28T14:27:59.387Z Moon culminates 63.31 degrees above the horizon 2030-04-28T17:22:15.504Z Sun culminates 75.73 degrees above the horizon -2030-04-28T20:46:14.745Z moonset -2030-04-28T23:58:22.529Z sunset -2030-04-29T08:47:20.770Z moonrise -2030-04-29T10:45:40.319Z sunrise +2030-04-28T20:46:14.749Z moonset +2030-04-28T23:58:22.599Z sunset +2030-04-29T08:47:20.775Z moonrise +2030-04-29T10:45:40.308Z sunrise 2030-04-29T15:10:53.650Z Moon culminates 68.17 degrees above the horizon 2030-04-29T17:22:07.319Z Sun culminates 76.04 degrees above the horizon -2030-04-29T21:40:00.480Z moonset -2030-04-29T23:58:58.593Z sunset +2030-04-29T21:40:00.494Z moonset +2030-04-29T23:58:58.667Z sunset 2030-04-30T06:30:05.051Z Mercury moves from Aries to Pisces -2030-04-30T09:20:02.039Z moonrise -2030-04-30T10:44:48.654Z sunrise +2030-04-30T09:20:02.033Z moonrise +2030-04-30T10:44:48.638Z sunrise 2030-04-30T15:54:09.070Z Moon culminates 72.68 degrees above the horizon 2030-04-30T17:21:59.671Z Sun culminates 76.35 degrees above the horizon -2030-04-30T22:33:38.212Z moonset -2030-04-30T23:59:34.771Z sunset -2030-05-01T09:54:20.454Z moonrise -2030-05-01T10:43:57.958Z sunrise +2030-04-30T22:33:38.254Z moonset +2030-04-30T23:59:34.849Z sunset +2030-05-01T09:54:20.425Z moonrise +2030-05-01T10:43:57.937Z sunrise 2030-05-01T16:38:22.796Z Moon culminates 76.65 degrees above the horizon 2030-05-01T17:21:52.564Z Sun culminates 76.65 degrees above the horizon -2030-05-01T23:27:19.987Z moonset -2030-05-02T00:00:11.052Z sunset -2030-05-02T10:31:07.225Z moonrise -2030-05-02T10:43:08.251Z sunrise +2030-05-01T23:27:20.069Z moonset +2030-05-02T00:00:11.135Z sunset +2030-05-02T10:31:07.164Z moonrise +2030-05-02T10:43:08.225Z sunrise 2030-05-02T14:12:50.488Z new moon 2030-05-02T17:21:46.001Z Sun culminates 76.95 degrees above the horizon 2030-05-02T17:23:57.823Z Moon culminates 79.92 degrees above the horizon -2030-05-03T00:00:47.423Z sunset -2030-05-03T00:20:55.425Z moonset -2030-05-03T10:42:19.550Z sunrise -2030-05-03T11:11:03.580Z moonrise +2030-05-03T00:00:47.510Z sunset +2030-05-03T00:20:55.548Z moonset +2030-05-03T10:42:19.519Z sunrise +2030-05-03T11:11:03.485Z moonrise 2030-05-03T17:21:39.985Z Sun culminates 77.24 degrees above the horizon 2030-05-03T18:10:59.506Z Moon culminates 82.32 degrees above the horizon -2030-05-04T00:01:23.870Z sunset -2030-05-04T01:13:50.977Z moonset +2030-05-04T00:01:23.961Z sunset +2030-05-04T01:13:51.128Z moonset 2030-05-04T03:36:46.860Z lunar apogee at 406351 km -2030-05-04T10:41:31.875Z sunrise -2030-05-04T11:54:34.439Z moonrise +2030-05-04T10:41:31.839Z sunrise +2030-05-04T11:54:34.316Z moonrise 2030-05-04T17:21:34.517Z Sun culminates 77.53 degrees above the horizon 2030-05-04T18:59:13.947Z Moon culminates 83.72 degrees above the horizon -2030-05-05T00:02:00.377Z sunset -2030-05-05T02:05:16.295Z moonset -2030-05-05T10:40:45.242Z sunrise -2030-05-05T12:41:41.853Z moonrise +2030-05-05T00:02:00.472Z sunset +2030-05-05T02:05:16.455Z moonset +2030-05-05T10:40:45.201Z sunrise +2030-05-05T12:41:41.711Z moonrise 2030-05-05T17:21:29.597Z Sun culminates 77.81 degrees above the horizon 2030-05-05T19:48:10.923Z Moon culminates 84.04 degrees above the horizon -2030-05-06T00:02:36.928Z sunset -2030-05-06T02:54:18.232Z moonset -2030-05-06T10:39:59.669Z sunrise -2030-05-06T13:32:02.947Z moonrise +2030-05-06T00:02:37.028Z sunset +2030-05-06T02:54:18.384Z moonset +2030-05-06T10:39:59.623Z sunrise +2030-05-06T13:32:02.801Z moonrise 2030-05-06T17:21:25.228Z Sun culminates 78.09 degrees above the horizon 2030-05-06T20:37:12.467Z Moon culminates 83.25 degrees above the horizon -2030-05-07T00:03:13.508Z sunset -2030-05-07T03:40:17.570Z moonset -2030-05-07T10:39:15.175Z sunrise -2030-05-07T14:24:56.457Z moonrise +2030-05-07T00:03:13.612Z sunset +2030-05-07T03:40:17.701Z moonset +2030-05-07T10:39:15.123Z sunrise +2030-05-07T14:24:56.327Z moonrise 2030-05-07T17:21:21.408Z Sun culminates 78.37 degrees above the horizon 2030-05-07T21:25:44.797Z Moon culminates 81.37 degrees above the horizon -2030-05-08T00:03:50.099Z sunset -2030-05-08T04:23:00.652Z moonset +2030-05-08T00:03:50.208Z sunset +2030-05-08T04:23:00.751Z moonset 2030-05-08T07:11:05.253Z Venus moves from Pisces to Cetus -2030-05-08T10:38:31.776Z sunrise -2030-05-08T15:19:36.941Z moonrise +2030-05-08T10:38:31.719Z sunrise +2030-05-08T15:19:36.844Z moonrise 2030-05-08T17:21:18.140Z Sun culminates 78.64 degrees above the horizon 2030-05-08T21:46:28.472Z Mercury aphelion at 0.4667 AU 2030-05-08T22:13:28.871Z Moon culminates 78.48 degrees above the horizon -2030-05-09T00:04:26.685Z sunset -2030-05-09T05:02:41.627Z moonset -2030-05-09T10:37:49.490Z sunrise -2030-05-09T16:15:30.300Z moonrise +2030-05-09T00:04:26.798Z sunset +2030-05-09T05:02:41.691Z moonset +2030-05-09T10:37:49.428Z sunrise +2030-05-09T16:15:30.246Z moonrise 2030-05-09T17:21:15.422Z Sun culminates 78.91 degrees above the horizon 2030-05-09T23:00:25.997Z Moon culminates 74.69 degrees above the horizon -2030-05-10T00:05:03.248Z sunset -2030-05-10T05:39:57.541Z moonset -2030-05-10T10:37:08.336Z sunrise +2030-05-10T00:05:03.366Z sunset +2030-05-10T05:39:57.574Z moonset +2030-05-10T10:37:08.269Z sunrise 2030-05-10T17:12:02.034Z first quarter -2030-05-10T17:12:23.986Z moonrise +2030-05-10T17:12:23.968Z moonrise 2030-05-10T17:21:13.257Z Sun culminates 79.17 degrees above the horizon 2030-05-10T19:49:13.566Z Mars moves from Aries to Taurus 2030-05-10T23:46:58.229Z Moon culminates 70.15 degrees above the horizon -2030-05-11T00:05:39.773Z sunset -2030-05-11T06:15:41.539Z moonset -2030-05-11T10:36:28.331Z sunrise +2030-05-11T00:05:39.895Z sunset +2030-05-11T06:15:41.554Z moonset +2030-05-11T10:36:28.258Z sunrise 2030-05-11T17:21:11.643Z Sun culminates 79.42 degrees above the horizon -2030-05-11T18:10:29.463Z moonrise -2030-05-12T00:06:16.242Z sunset +2030-05-11T18:10:29.462Z moonrise +2030-05-12T00:06:16.368Z sunset 2030-05-12T00:33:45.585Z Moon culminates 65.02 degrees above the horizon 2030-05-12T01:53:29.481Z Venus moves from Cetus to Pisces -2030-05-12T06:50:58.072Z moonset -2030-05-12T10:35:49.493Z sunrise +2030-05-12T06:50:58.081Z moonset +2030-05-12T10:35:49.416Z sunrise 2030-05-12T17:21:10.584Z Sun culminates 79.68 degrees above the horizon -2030-05-12T19:10:18.068Z moonrise -2030-05-13T00:06:52.639Z sunset +2030-05-12T19:10:18.069Z moonrise +2030-05-13T00:06:52.770Z sunset 2030-05-13T01:21:41.923Z Moon culminates 59.50 degrees above the horizon -2030-05-13T07:27:01.169Z moonset -2030-05-13T10:35:11.841Z sunrise +2030-05-13T07:27:01.174Z moonset +2030-05-13T10:35:11.759Z sunrise 2030-05-13T11:20:45.295Z Jupiter opposition 2030-05-13T17:21:10.079Z Sun culminates 79.92 degrees above the horizon -2030-05-13T20:12:31.365Z moonrise -2030-05-14T00:07:28.949Z sunset +2030-05-13T20:12:31.370Z moonrise +2030-05-14T00:07:29.084Z sunset 2030-05-14T02:11:49.496Z Moon culminates 53.86 degrees above the horizon -2030-05-14T08:05:14.612Z moonset -2030-05-14T10:34:35.394Z sunrise +2030-05-14T08:05:14.609Z moonset +2030-05-14T10:34:35.307Z sunrise 2030-05-14T13:12:24.520Z Venus aphelion at 0.7282 AU 2030-05-14T17:21:10.131Z Sun culminates 80.16 degrees above the horizon -2030-05-14T21:17:44.598Z moonrise -2030-05-15T00:08:05.155Z sunset +2030-05-14T21:17:44.633Z moonrise +2030-05-15T00:08:05.295Z sunset 2030-05-15T03:05:09.788Z Moon culminates 48.46 degrees above the horizon -2030-05-15T08:47:10.834Z moonset -2030-05-15T10:34:00.168Z sunrise +2030-05-15T08:47:10.804Z moonset +2030-05-15T10:34:00.076Z sunrise 2030-05-15T17:21:10.739Z Sun culminates 80.40 degrees above the horizon -2030-05-15T22:26:00.376Z moonrise -2030-05-16T00:08:41.242Z sunset +2030-05-15T22:26:00.472Z moonrise +2030-05-16T00:08:41.386Z sunset 2030-05-16T04:02:26.547Z Moon culminates 43.73 degrees above the horizon -2030-05-16T09:34:22.392Z moonset -2030-05-16T10:33:26.182Z sunrise +2030-05-16T09:34:22.315Z moonset +2030-05-16T10:33:26.085Z sunrise 2030-05-16T17:21:11.904Z Sun culminates 80.63 degrees above the horizon -2030-05-16T23:36:15.484Z moonrise -2030-05-17T00:09:17.194Z sunset +2030-05-16T23:36:15.646Z moonrise +2030-05-17T00:09:17.342Z sunset 2030-05-17T05:03:39.262Z Moon culminates 40.16 degrees above the horizon -2030-05-17T10:27:57.644Z moonset -2030-05-17T10:32:53.452Z sunrise +2030-05-17T10:27:57.511Z moonset +2030-05-17T10:32:53.350Z sunrise 2030-05-17T11:19:35.152Z full moon 2030-05-17T13:47:12.487Z lunar perigee at 357009 km 2030-05-17T17:21:13.627Z Sun culminates 80.85 degrees above the horizon -2030-05-18T00:09:52.992Z sunset -2030-05-18T00:46:02.671Z moonrise +2030-05-18T00:09:53.145Z sunset +2030-05-18T00:46:02.867Z moonrise 2030-05-18T06:07:37.572Z Moon culminates 38.19 degrees above the horizon -2030-05-18T10:32:21.994Z sunrise -2030-05-18T11:27:59.399Z moonset +2030-05-18T10:32:21.888Z sunrise +2030-05-18T11:27:59.221Z moonset 2030-05-18T17:21:15.906Z Sun culminates 81.07 degrees above the horizon -2030-05-19T00:10:28.620Z sunset -2030-05-19T01:52:04.212Z moonrise +2030-05-19T00:10:28.776Z sunset +2030-05-19T01:52:04.399Z moonrise 2030-05-19T06:25:30.106Z Saturn conjunction 2030-05-19T06:39:38.205Z Mercury moves from Pisces to Cetus 2030-05-19T07:12:04.083Z Moon culminates 38.04 degrees above the horizon -2030-05-19T10:31:51.824Z sunrise -2030-05-19T12:32:52.270Z moonset +2030-05-19T10:31:51.713Z sunrise +2030-05-19T12:32:52.077Z moonset 2030-05-19T17:21:18.740Z Sun culminates 81.29 degrees above the horizon -2030-05-20T00:11:04.057Z sunset -2030-05-20T02:51:36.702Z moonrise +2030-05-20T00:11:04.218Z sunset +2030-05-20T02:51:36.853Z moonrise 2030-05-20T08:14:23.048Z Moon culminates 39.66 degrees above the horizon -2030-05-20T10:31:22.957Z sunrise -2030-05-20T13:39:44.369Z moonset +2030-05-20T10:31:22.842Z sunrise +2030-05-20T13:39:44.201Z moonset 2030-05-20T17:21:22.126Z Sun culminates 81.49 degrees above the horizon -2030-05-21T00:11:39.284Z sunset +2030-05-21T00:11:39.448Z sunset 2030-05-21T02:27:09.100Z Mercury max morning elongation: 25.56 degrees from Sun -2030-05-21T03:43:37.766Z moonrise +2030-05-21T03:43:37.868Z moonrise 2030-05-21T09:12:44.127Z Moon culminates 42.75 degrees above the horizon -2030-05-21T10:30:55.407Z sunrise -2030-05-21T14:45:43.555Z moonset +2030-05-21T10:30:55.288Z sunrise +2030-05-21T14:45:43.446Z moonset 2030-05-21T17:21:26.060Z Sun culminates 81.70 degrees above the horizon -2030-05-22T00:12:14.276Z sunset -2030-05-22T04:28:42.095Z moonrise +2030-05-22T00:12:14.445Z sunset +2030-05-22T04:28:42.151Z moonrise 2030-05-22T10:06:31.034Z Moon culminates 46.87 degrees above the horizon -2030-05-22T10:30:29.189Z sunrise -2030-05-22T15:49:02.848Z moonset +2030-05-22T10:30:29.065Z sunrise +2030-05-22T15:49:02.800Z moonset 2030-05-22T17:21:30.537Z Sun culminates 81.89 degrees above the horizon -2030-05-23T00:12:49.013Z sunset +2030-05-23T00:12:49.185Z sunset 2030-05-23T04:57:47.434Z Mercury moves from Cetus to Aries -2030-05-23T05:08:15.689Z moonrise -2030-05-23T10:30:04.312Z sunrise +2030-05-23T05:08:15.715Z moonrise +2030-05-23T10:30:04.184Z sunrise 2030-05-23T10:56:07.756Z Moon culminates 51.64 degrees above the horizon -2030-05-23T16:49:11.660Z moonset +2030-05-23T16:49:11.650Z moonset 2030-05-23T17:21:35.550Z Sun culminates 82.08 degrees above the horizon -2030-05-24T00:13:23.468Z sunset +2030-05-24T00:13:23.644Z sunset 2030-05-24T04:57:57.384Z third quarter -2030-05-24T05:43:56.352Z moonrise -2030-05-24T10:29:40.788Z sunrise +2030-05-24T05:43:56.364Z moonrise +2030-05-24T10:29:40.657Z sunrise 2030-05-24T11:42:30.216Z Moon culminates 56.70 degrees above the horizon 2030-05-24T17:21:41.092Z Sun culminates 82.27 degrees above the horizon -2030-05-24T17:46:31.565Z moonset -2030-05-25T00:13:57.616Z sunset -2030-05-25T06:17:15.165Z moonrise -2030-05-25T10:29:18.625Z sunrise +2030-05-24T17:46:31.567Z moonset +2030-05-25T00:13:57.796Z sunset +2030-05-25T06:17:15.175Z moonrise +2030-05-25T10:29:18.490Z sunrise 2030-05-25T11:16:44.662Z Mars conjunction 2030-05-25T12:26:44.400Z Moon culminates 61.81 degrees above the horizon 2030-05-25T17:21:47.153Z Sun culminates 82.45 degrees above the horizon -2030-05-25T18:41:48.102Z moonset -2030-05-26T00:14:31.430Z sunset -2030-05-26T06:49:32.245Z moonrise -2030-05-26T10:28:57.829Z sunrise +2030-05-25T18:41:48.105Z moonset +2030-05-26T00:14:31.613Z sunset +2030-05-26T06:49:32.252Z moonrise +2030-05-26T10:28:57.690Z sunrise 2030-05-26T13:09:54.598Z Moon culminates 66.76 degrees above the horizon 2030-05-26T17:21:53.722Z Sun culminates 82.62 degrees above the horizon -2030-05-26T19:35:51.106Z moonset -2030-05-27T00:15:04.880Z sunset -2030-05-27T07:21:58.277Z moonrise -2030-05-27T10:28:38.404Z sunrise +2030-05-26T19:35:51.116Z moonset +2030-05-27T00:15:05.066Z sunset +2030-05-27T07:21:58.276Z moonrise +2030-05-27T10:28:38.261Z sunrise 2030-05-27T13:52:57.994Z Moon culminates 71.38 degrees above the horizon 2030-05-27T17:22:00.785Z Sun culminates 82.79 degrees above the horizon -2030-05-27T20:29:22.693Z moonset -2030-05-28T00:15:37.936Z sunset -2030-05-28T07:55:36.904Z moonrise -2030-05-28T10:28:20.352Z sunrise +2030-05-27T20:29:22.725Z moonset +2030-05-28T00:15:38.125Z sunset +2030-05-28T07:55:36.883Z moonrise +2030-05-28T10:28:20.206Z sunrise 2030-05-28T14:36:41.556Z Moon culminates 75.51 degrees above the horizon 2030-05-28T17:22:08.327Z Sun culminates 82.95 degrees above the horizon -2030-05-28T21:22:49.199Z moonset -2030-05-29T00:16:10.566Z sunset -2030-05-29T08:31:25.468Z moonrise -2030-05-29T10:28:03.674Z sunrise +2030-05-28T21:22:49.268Z moonset +2030-05-29T00:16:10.759Z sunset +2030-05-29T08:31:25.417Z moonrise +2030-05-29T10:28:03.525Z sunrise 2030-05-29T15:21:38.844Z Moon culminates 78.99 degrees above the horizon 2030-05-29T17:22:16.331Z Sun culminates 83.10 degrees above the horizon -2030-05-29T22:16:15.058Z moonset -2030-05-30T00:16:42.737Z sunset -2030-05-30T09:10:12.706Z moonrise -2030-05-30T10:27:48.369Z sunrise +2030-05-29T22:16:15.169Z moonset +2030-05-30T00:16:42.932Z sunset +2030-05-30T09:10:12.621Z moonrise +2030-05-30T10:27:48.216Z sunrise 2030-05-30T16:08:06.079Z Moon culminates 81.66 degrees above the horizon 2030-05-30T17:22:24.781Z Sun culminates 83.25 degrees above the horizon 2030-05-30T17:57:06.770Z Venus moves from Pisces to Aries -2030-05-30T23:09:19.414Z moonset -2030-05-31T00:17:14.415Z sunset +2030-05-30T23:09:19.557Z moonset +2030-05-31T00:17:14.613Z sunset 2030-05-31T06:14:38.492Z lunar apogee at 406456 km -2030-05-31T09:52:32.864Z moonrise -2030-05-31T10:27:34.433Z sunrise +2030-05-31T09:52:32.748Z moonrise +2030-05-31T10:27:34.277Z sunrise 2030-05-31T16:55:58.738Z Moon culminates 83.38 degrees above the horizon 2030-05-31T17:22:33.657Z Sun culminates 83.39 degrees above the horizon -2030-06-01T00:01:18.581Z moonset -2030-06-01T00:17:45.564Z sunset +2030-06-01T00:01:18.740Z moonset +2030-06-01T00:17:45.765Z sunset 2030-06-01T06:22:00.773Z new moon -2030-06-01T10:27:21.862Z sunrise -2030-06-01T10:38:37.705Z moonrise +2030-06-01T10:27:21.703Z sunrise +2030-06-01T10:38:37.568Z moonrise 2030-06-01T17:22:42.938Z Sun culminates 83.53 degrees above the horizon 2030-06-01T17:44:51.576Z Moon culminates 84.04 degrees above the horizon -2030-06-02T00:18:16.149Z sunset -2030-06-02T00:51:17.021Z moonset -2030-06-02T10:27:10.649Z sunrise -2030-06-02T11:28:10.910Z moonrise +2030-06-02T00:18:16.352Z sunset +2030-06-02T00:51:17.177Z moonset +2030-06-02T10:27:10.488Z sunrise +2030-06-02T11:28:10.764Z moonrise 2030-06-02T17:22:52.603Z Sun culminates 83.66 degrees above the horizon 2030-06-02T18:34:04.808Z Moon culminates 83.59 degrees above the horizon -2030-06-03T00:18:46.134Z sunset -2030-06-03T01:38:24.751Z moonset -2030-06-03T10:27:00.789Z sunrise -2030-06-03T12:20:30.785Z moonrise +2030-06-03T00:18:46.340Z sunset +2030-06-03T01:38:24.889Z moonset +2030-06-03T10:27:00.625Z sunrise +2030-06-03T12:20:30.648Z moonrise 2030-06-03T17:23:02.631Z Sun culminates 83.78 degrees above the horizon 2030-06-03T19:22:56.113Z Moon culminates 82.04 degrees above the horizon -2030-06-04T00:19:15.484Z sunset -2030-06-04T02:22:13.453Z moonset +2030-06-04T00:19:15.692Z sunset +2030-06-04T02:22:13.562Z moonset 2030-06-04T07:02:00.759Z Mercury moves from Aries to Taurus -2030-06-04T10:26:52.272Z sunrise -2030-06-04T13:14:43.368Z moonrise +2030-06-04T10:26:52.106Z sunrise +2030-06-04T13:14:43.259Z moonrise 2030-06-04T17:23:13.000Z Sun culminates 83.90 degrees above the horizon 2030-06-04T20:10:53.954Z Moon culminates 79.45 degrees above the horizon -2030-06-05T00:19:44.162Z sunset -2030-06-05T03:02:43.751Z moonset -2030-06-05T10:26:45.091Z sunrise -2030-06-05T14:10:00.636Z moonrise +2030-06-05T00:19:44.372Z sunset +2030-06-05T03:02:43.825Z moonset +2030-06-05T10:26:44.923Z sunrise +2030-06-05T14:10:00.568Z moonrise 2030-06-05T17:23:23.688Z Sun culminates 84.00 degrees above the horizon 2030-06-05T20:57:46.724Z Moon culminates 75.96 degrees above the horizon -2030-06-06T00:20:12.133Z sunset -2030-06-06T03:40:22.756Z moonset -2030-06-06T10:26:39.236Z sunrise -2030-06-06T15:05:55.070Z moonrise +2030-06-06T00:20:12.345Z sunset +2030-06-06T03:40:22.799Z moonset +2030-06-06T10:26:39.065Z sunrise +2030-06-06T15:05:55.042Z moonrise 2030-06-06T17:23:34.672Z Sun culminates 84.11 degrees above the horizon 2030-06-06T21:43:45.458Z Moon culminates 71.70 degrees above the horizon -2030-06-07T00:20:39.363Z sunset -2030-06-07T04:15:56.863Z moonset -2030-06-07T10:26:34.697Z sunrise -2030-06-07T16:02:25.577Z moonrise +2030-06-07T00:20:39.578Z sunset +2030-06-07T04:15:56.883Z moonset +2030-06-07T10:26:34.525Z sunrise +2030-06-07T16:02:25.572Z moonrise 2030-06-07T17:23:45.932Z Sun culminates 84.20 degrees above the horizon 2030-06-07T22:29:21.694Z Moon culminates 66.86 degrees above the horizon -2030-06-08T00:21:05.820Z sunset -2030-06-08T04:50:25.191Z moonset -2030-06-08T10:26:31.465Z sunrise -2030-06-08T16:59:55.485Z moonrise +2030-06-08T00:21:06.036Z sunset +2030-06-08T04:50:25.201Z moonset +2030-06-08T10:26:31.290Z sunrise +2030-06-08T16:59:55.487Z moonrise 2030-06-08T17:23:57.445Z Sun culminates 84.29 degrees above the horizon 2030-06-08T23:15:23.357Z Moon culminates 61.61 degrees above the horizon -2030-06-09T00:21:31.470Z sunset +2030-06-09T00:21:31.688Z sunset 2030-06-09T03:36:16.363Z first quarter -2030-06-09T05:24:56.253Z moonset -2030-06-09T10:26:29.529Z sunrise +2030-06-09T05:24:56.260Z moonset +2030-06-09T10:26:29.352Z sunrise 2030-06-09T10:28:33.686Z Uranus conjunction 2030-06-09T17:24:09.191Z Sun culminates 84.38 degrees above the horizon -2030-06-09T17:59:05.339Z moonrise +2030-06-09T17:59:05.342Z moonrise 2030-06-10T00:02:50.208Z Moon culminates 56.17 degrees above the horizon -2030-06-10T00:21:56.284Z sunset -2030-06-10T06:00:47.716Z moonset -2030-06-10T10:26:28.877Z sunrise +2030-06-10T00:21:56.503Z sunset +2030-06-10T06:00:47.719Z moonset +2030-06-10T10:26:28.699Z sunrise 2030-06-10T17:24:21.150Z Sun culminates 84.45 degrees above the horizon -2030-06-10T19:00:41.261Z moonrise -2030-06-11T00:22:20.232Z sunset +2030-06-10T19:00:41.279Z moonrise +2030-06-11T00:22:20.453Z sunset 2030-06-11T00:52:48.078Z Moon culminates 50.81 degrees above the horizon -2030-06-11T06:39:27.360Z moonset -2030-06-11T10:26:29.500Z sunrise +2030-06-11T06:39:27.346Z moonset +2030-06-11T10:26:29.321Z sunrise 2030-06-11T17:24:33.303Z Sun culminates 84.52 degrees above the horizon -2030-06-11T20:05:16.559Z moonrise -2030-06-12T00:22:43.286Z sunset +2030-06-11T20:05:16.622Z moonrise +2030-06-12T00:22:43.508Z sunset 2030-06-12T01:46:18.665Z Moon culminates 45.87 degrees above the horizon -2030-06-12T07:22:31.234Z moonset -2030-06-12T10:26:31.386Z sunrise +2030-06-12T07:22:31.182Z moonset +2030-06-12T10:26:31.205Z sunrise 2030-06-12T17:24:45.628Z Sun culminates 84.58 degrees above the horizon -2030-06-12T21:12:43.836Z moonrise -2030-06-13T00:23:05.421Z sunset +2030-06-12T21:12:43.967Z moonrise +2030-06-13T00:23:05.644Z sunset 2030-06-13T02:44:00.487Z Moon culminates 41.78 degrees above the horizon -2030-06-13T08:11:31.762Z moonset -2030-06-13T10:26:34.522Z sunrise +2030-06-13T08:11:31.657Z moonset +2030-06-13T10:26:34.340Z sunrise 2030-06-13T17:24:58.109Z Sun culminates 84.64 degrees above the horizon -2030-06-13T22:21:43.576Z moonrise -2030-06-14T00:23:26.611Z sunset +2030-06-13T22:21:43.760Z moonrise +2030-06-14T00:23:26.835Z sunset 2030-06-14T03:45:40.733Z Moon culminates 39.00 degrees above the horizon -2030-06-14T09:07:27.211Z moonset -2030-06-14T10:26:38.895Z sunrise +2030-06-14T09:07:27.053Z moonset +2030-06-14T10:26:38.712Z sunrise 2030-06-14T17:25:10.725Z Sun culminates 84.69 degrees above the horizon -2030-06-14T23:29:35.963Z moonrise +2030-06-14T23:29:36.160Z moonrise 2030-06-14T23:32:27.317Z lunar perigee at 358175 km -2030-06-15T00:23:46.831Z sunset +2030-06-15T00:23:47.056Z sunset 2030-06-15T04:49:52.622Z Moon culminates 37.89 degrees above the horizon -2030-06-15T10:09:56.120Z moonset -2030-06-15T10:26:44.491Z sunrise +2030-06-15T10:09:55.929Z moonset +2030-06-15T10:26:44.307Z sunrise 2030-06-15T17:25:23.459Z Sun culminates 84.73 degrees above the horizon 2030-06-15T18:33:14.732Z partial lunar eclipse 2030-06-15T18:41:27.272Z full moon -2030-06-16T00:24:06.059Z sunset -2030-06-16T00:33:08.942Z moonrise +2030-06-16T00:24:06.284Z sunset +2030-06-16T00:33:09.113Z moonrise 2030-06-16T05:54:07.849Z Moon culminates 38.61 degrees above the horizon -2030-06-16T10:26:51.297Z sunrise -2030-06-16T11:16:52.528Z moonset +2030-06-16T10:26:51.112Z sunrise +2030-06-16T11:16:52.341Z moonset 2030-06-16T17:25:36.290Z Sun culminates 84.76 degrees above the horizon 2030-06-16T22:38:28.753Z Venus moves from Aries to Taurus -2030-06-17T00:24:24.270Z sunset -2030-06-17T01:30:04.245Z moonrise +2030-06-17T00:24:24.495Z sunset +2030-06-17T01:30:04.370Z moonrise 2030-06-17T06:55:53.599Z Moon culminates 41.05 degrees above the horizon -2030-06-17T10:26:59.297Z sunrise -2030-06-17T12:25:06.576Z moonset +2030-06-17T10:26:59.112Z sunrise +2030-06-17T12:25:06.434Z moonset 2030-06-17T17:25:49.200Z Sun culminates 84.79 degrees above the horizon -2030-06-18T00:24:41.441Z sunset -2030-06-18T02:19:47.199Z moonrise +2030-06-18T00:24:41.667Z sunset +2030-06-18T02:19:47.274Z moonrise 2030-06-18T07:53:33.138Z Moon culminates 44.82 degrees above the horizon -2030-06-18T10:27:08.477Z sunrise -2030-06-18T13:31:49.831Z moonset +2030-06-18T10:27:08.291Z sunrise +2030-06-18T13:31:49.756Z moonset 2030-06-18T17:26:02.169Z Sun culminates 84.81 degrees above the horizon -2030-06-19T00:24:57.549Z sunset -2030-06-19T03:03:08.340Z moonrise +2030-06-19T00:24:57.776Z sunset +2030-06-19T03:03:08.376Z moonrise 2030-06-19T08:46:44.397Z Moon culminates 49.47 degrees above the horizon -2030-06-19T10:27:18.818Z sunrise -2030-06-19T14:35:31.040Z moonset +2030-06-19T10:27:18.632Z sunrise +2030-06-19T14:35:31.017Z moonset 2030-06-19T17:26:15.178Z Sun culminates 84.83 degrees above the horizon -2030-06-20T00:25:12.573Z sunset -2030-06-20T03:41:37.367Z moonrise +2030-06-20T00:25:12.799Z sunset +2030-06-20T03:41:37.382Z moonrise 2030-06-20T09:36:00.189Z Moon culminates 54.60 degrees above the horizon -2030-06-20T10:27:30.305Z sunrise -2030-06-20T15:35:54.391Z moonset +2030-06-20T10:27:30.119Z sunrise +2030-06-20T15:35:54.389Z moonset 2030-06-20T17:26:28.207Z Sun culminates 84.83 degrees above the horizon -2030-06-21T00:25:26.490Z sunset -2030-06-21T04:16:49.759Z moonrise +2030-06-21T00:25:26.716Z sunset +2030-06-21T04:16:49.768Z moonrise 2030-06-21T07:31:13.067Z June solstice 2030-06-21T10:22:19.859Z Moon culminates 59.86 degrees above the horizon -2030-06-21T10:27:42.917Z sunrise -2030-06-21T16:33:29.378Z moonset +2030-06-21T10:27:42.731Z sunrise +2030-06-21T16:33:30.017Z moonset 2030-06-21T17:26:41.234Z Sun culminates 84.84 degrees above the horizon 2030-06-21T21:24:55.374Z Mercury perihelion at 0.3075 AU -2030-06-22T00:25:39.278Z sunset -2030-06-22T04:50:13.049Z moonrise -2030-06-22T10:27:56.634Z sunrise +2030-06-22T00:25:39.505Z sunset +2030-06-22T04:50:13.057Z moonrise +2030-06-22T10:27:56.447Z sunrise 2030-06-22T11:06:49.481Z Moon culminates 65.00 degrees above the horizon 2030-06-22T17:20:12.358Z third quarter 2030-06-22T17:26:54.238Z Sun culminates 84.83 degrees above the horizon -2030-06-22T17:29:06.100Z moonset -2030-06-23T00:25:50.917Z sunset -2030-06-23T05:23:04.635Z moonrise +2030-06-22T17:29:06.106Z moonset +2030-06-23T00:25:51.143Z sunset +2030-06-23T05:23:04.637Z moonrise 2030-06-23T06:16:15.893Z Mercury moves from Taurus to Gemini -2030-06-23T10:28:11.432Z sunrise +2030-06-23T10:28:11.245Z sunrise 2030-06-23T11:50:31.701Z Moon culminates 69.83 degrees above the horizon 2030-06-23T17:27:07.197Z Sun culminates 84.82 degrees above the horizon -2030-06-23T18:23:30.770Z moonset -2030-06-24T00:26:01.384Z sunset -2030-06-24T05:56:33.634Z moonrise +2030-06-23T18:23:30.792Z moonset +2030-06-24T00:26:01.610Z sunset +2030-06-24T05:56:33.621Z moonrise 2030-06-24T06:51:32.787Z Mercury superior conjunction -2030-06-24T10:28:27.286Z sunrise +2030-06-24T10:28:27.100Z sunrise 2030-06-24T12:34:20.914Z Moon culminates 74.17 degrees above the horizon 2030-06-24T17:27:20.087Z Sun culminates 84.80 degrees above the horizon -2030-06-24T19:17:21.126Z moonset -2030-06-25T00:26:10.658Z sunset -2030-06-25T06:31:42.595Z moonrise -2030-06-25T10:28:44.170Z sunrise +2030-06-24T19:17:21.181Z moonset +2030-06-25T00:26:10.884Z sunset +2030-06-25T06:31:42.555Z moonrise +2030-06-25T10:28:43.984Z sunrise 2030-06-25T13:19:00.022Z Moon culminates 77.90 degrees above the horizon 2030-06-25T17:27:32.884Z Sun culminates 84.77 degrees above the horizon -2030-06-25T20:10:55.863Z moonset -2030-06-26T00:26:18.719Z sunset -2030-06-26T07:09:26.909Z moonrise -2030-06-26T10:29:02.055Z sunrise +2030-06-25T20:10:55.961Z moonset +2030-06-26T00:26:18.944Z sunset +2030-06-26T07:09:26.836Z moonrise +2030-06-26T10:29:01.870Z sunrise 2030-06-26T14:04:56.851Z Moon culminates 80.86 degrees above the horizon 2030-06-26T17:27:45.562Z Sun culminates 84.74 degrees above the horizon -2030-06-26T21:04:10.287Z moonset -2030-06-27T00:26:25.545Z sunset -2030-06-27T07:50:30.689Z moonrise -2030-06-27T10:29:20.911Z sunrise +2030-06-26T21:04:10.422Z moonset +2030-06-27T00:26:25.769Z sunset +2030-06-27T07:50:30.583Z moonrise +2030-06-27T10:29:20.727Z sunrise 2030-06-27T14:15:27.418Z lunar apogee at 405867 km 2030-06-27T14:52:20.216Z Moon culminates 82.91 degrees above the horizon 2030-06-27T17:27:58.096Z Sun culminates 84.69 degrees above the horizon -2030-06-27T21:56:35.383Z moonset -2030-06-28T00:26:31.115Z sunset -2030-06-28T08:35:19.292Z moonrise -2030-06-28T10:29:40.707Z sunrise +2030-06-27T21:56:35.539Z moonset +2030-06-28T00:26:31.338Z sunset +2030-06-28T08:35:19.160Z moonrise +2030-06-28T10:29:40.523Z sunrise 2030-06-28T15:40:57.556Z Moon culminates 83.95 degrees above the horizon 2030-06-28T17:28:10.460Z Sun culminates 84.65 degrees above the horizon -2030-06-28T22:47:23.975Z moonset -2030-06-29T00:26:35.408Z sunset -2030-06-29T09:23:51.324Z moonrise -2030-06-29T10:30:01.409Z sunrise +2030-06-28T22:47:24.133Z moonset +2030-06-29T00:26:35.630Z sunset +2030-06-29T09:23:51.179Z moonrise +2030-06-29T10:30:01.226Z sunrise 2030-06-29T16:30:17.208Z Moon culminates 83.88 degrees above the horizon 2030-06-29T17:28:22.627Z Sun culminates 84.59 degrees above the horizon -2030-06-29T23:35:44.736Z moonset -2030-06-30T00:26:38.405Z sunset -2030-06-30T10:15:35.964Z moonrise -2030-06-30T10:30:22.985Z sunrise +2030-06-29T23:35:44.881Z moonset +2030-06-30T00:26:38.626Z sunset +2030-06-30T10:15:35.822Z moonrise +2030-06-30T10:30:22.803Z sunrise 2030-06-30T17:19:37.156Z Moon culminates 82.68 degrees above the horizon 2030-06-30T17:28:34.570Z Sun culminates 84.53 degrees above the horizon 2030-06-30T21:35:03.576Z new moon -2030-07-01T00:20:59.310Z moonset -2030-07-01T00:26:40.087Z sunset -2030-07-01T10:30:45.398Z sunrise -2030-07-01T11:09:40.750Z moonrise +2030-07-01T00:20:59.429Z moonset +2030-07-01T00:26:40.307Z sunset +2030-07-01T10:30:45.218Z sunrise +2030-07-01T11:09:40.630Z moonrise 2030-07-01T17:28:46.262Z Sun culminates 84.46 degrees above the horizon 2030-07-01T18:08:18.150Z Moon culminates 80.41 degrees above the horizon -2030-07-02T00:26:40.436Z sunset -2030-07-02T01:02:54.392Z moonset -2030-07-02T10:31:08.616Z sunrise +2030-07-02T00:26:40.654Z sunset +2030-07-02T01:02:54.477Z moonset +2030-07-02T10:31:08.436Z sunrise 2030-07-02T11:42:16.394Z Mars moves from Taurus to Gemini -2030-07-02T12:05:08.564Z moonrise +2030-07-02T12:05:08.482Z moonrise 2030-07-02T17:28:57.678Z Sun culminates 84.39 degrees above the horizon 2030-07-02T18:55:55.794Z Moon culminates 77.18 degrees above the horizon -2030-07-03T00:26:39.435Z sunset -2030-07-03T01:41:44.095Z moonset -2030-07-03T10:31:32.602Z sunrise -2030-07-03T13:01:15.677Z moonrise +2030-07-03T00:26:39.651Z sunset +2030-07-03T01:41:44.147Z moonset +2030-07-03T10:31:32.424Z sunrise +2030-07-03T13:01:15.638Z moonrise 2030-07-03T17:29:08.793Z Sun culminates 84.31 degrees above the horizon 2030-07-03T19:42:27.005Z Moon culminates 73.13 degrees above the horizon -2030-07-04T00:26:37.068Z sunset -2030-07-04T02:18:04.809Z moonset -2030-07-04T10:31:57.322Z sunrise +2030-07-04T00:26:37.283Z sunset +2030-07-04T02:18:04.834Z moonset +2030-07-04T10:31:57.146Z sunrise 2030-07-04T12:59:17.114Z Earth aphelion at 1.0167 AU -2030-07-04T13:57:42.763Z moonrise +2030-07-04T13:57:42.753Z moonrise 2030-07-04T17:29:19.582Z Sun culminates 84.22 degrees above the horizon 2030-07-04T20:28:10.324Z Moon culminates 68.45 degrees above the horizon -2030-07-05T00:26:33.322Z sunset -2030-07-05T02:52:48.078Z moonset -2030-07-05T10:32:22.742Z sunrise -2030-07-05T14:54:36.673Z moonrise +2030-07-05T00:26:33.535Z sunset +2030-07-05T02:52:48.091Z moonset +2030-07-05T10:32:22.567Z sunrise +2030-07-05T14:54:36.674Z moonrise 2030-07-05T17:29:30.021Z Sun culminates 84.13 degrees above the horizon 2030-07-05T21:13:42.538Z Moon culminates 63.34 degrees above the horizon -2030-07-06T00:26:28.186Z sunset -2030-07-06T03:26:55.562Z moonset +2030-07-06T00:26:28.397Z sunset +2030-07-06T03:26:55.570Z moonset 2030-07-06T09:48:55.367Z Mercury moves from Gemini to Cancer -2030-07-06T10:32:48.828Z sunrise -2030-07-06T15:52:25.425Z moonrise +2030-07-06T10:32:48.655Z sunrise +2030-07-06T15:52:25.427Z moonrise 2030-07-06T17:29:40.089Z Sun culminates 84.03 degrees above the horizon 2030-07-06T21:59:54.144Z Moon culminates 58.01 degrees above the horizon -2030-07-07T00:26:21.650Z sunset -2030-07-07T04:01:37.169Z moonset -2030-07-07T10:33:15.547Z sunrise -2030-07-07T16:51:48.947Z moonrise +2030-07-07T00:26:21.859Z sunset +2030-07-07T04:01:37.174Z moonset +2030-07-07T10:33:15.376Z sunrise +2030-07-07T16:51:48.957Z moonrise 2030-07-07T17:29:49.766Z Sun culminates 83.92 degrees above the horizon 2030-07-07T22:47:44.387Z Moon culminates 52.71 degrees above the horizon -2030-07-08T00:26:13.706Z sunset -2030-07-08T04:38:11.430Z moonset -2030-07-08T10:33:42.867Z sunrise +2030-07-08T00:26:13.913Z sunset +2030-07-08T04:38:11.424Z moonset +2030-07-08T10:33:42.699Z sunrise 2030-07-08T11:02:23.554Z first quarter 2030-07-08T17:29:59.032Z Sun culminates 83.80 degrees above the horizon -2030-07-08T17:53:25.593Z moonrise +2030-07-08T17:53:25.635Z moonrise 2030-07-08T23:38:14.420Z Moon culminates 47.73 degrees above the horizon -2030-07-09T00:26:04.349Z sunset -2030-07-09T05:18:05.660Z moonset -2030-07-09T10:34:10.758Z sunrise +2030-07-09T00:26:04.553Z sunset +2030-07-09T05:18:05.625Z moonset +2030-07-09T10:34:10.592Z sunrise 2030-07-09T17:30:07.871Z Sun culminates 83.68 degrees above the horizon -2030-07-09T18:57:32.437Z moonrise -2030-07-10T00:25:53.577Z sunset +2030-07-09T18:57:32.538Z moonrise +2030-07-10T00:25:53.779Z sunset 2030-07-10T00:32:15.447Z Moon culminates 43.40 degrees above the horizon -2030-07-10T06:02:51.357Z moonset -2030-07-10T10:34:39.189Z sunrise +2030-07-10T06:02:51.276Z moonset +2030-07-10T10:34:39.025Z sunrise 2030-07-10T17:30:16.267Z Sun culminates 83.56 degrees above the horizon -2030-07-10T20:03:39.555Z moonrise -2030-07-11T00:25:41.388Z sunset +2030-07-10T20:03:39.716Z moonrise +2030-07-11T00:25:41.587Z sunset 2030-07-11T01:30:09.051Z Moon culminates 40.11 degrees above the horizon -2030-07-11T06:53:47.749Z moonset -2030-07-11T10:35:08.131Z sunrise +2030-07-11T06:53:47.615Z moonset +2030-07-11T10:35:07.970Z sunrise 2030-07-11T17:30:24.206Z Sun culminates 83.42 degrees above the horizon -2030-07-11T21:10:09.517Z moonrise -2030-07-12T00:25:27.784Z sunset +2030-07-11T21:10:09.711Z moonrise +2030-07-12T00:25:27.981Z sunset 2030-07-12T02:31:23.311Z Moon culminates 38.24 degrees above the horizon -2030-07-12T07:51:28.428Z moonset -2030-07-12T10:35:37.556Z sunrise +2030-07-12T07:51:28.252Z moonset +2030-07-12T10:35:37.397Z sunrise 2030-07-12T17:30:31.675Z Sun culminates 83.28 degrees above the horizon -2030-07-12T22:14:27.851Z moonrise -2030-07-13T00:25:12.768Z sunset +2030-07-12T22:14:28.038Z moonrise +2030-07-13T00:25:12.962Z sunset 2030-07-13T03:34:21.824Z Moon culminates 38.05 degrees above the horizon 2030-07-13T05:13:48.185Z lunar perigee at 361784 km -2030-07-13T08:55:03.106Z moonset -2030-07-13T10:36:07.436Z sunrise +2030-07-13T08:55:02.914Z moonset +2030-07-13T10:36:07.280Z sunrise 2030-07-13T17:30:38.662Z Sun culminates 83.14 degrees above the horizon -2030-07-13T23:13:58.939Z moonrise -2030-07-14T00:24:56.344Z sunset +2030-07-13T23:13:59.090Z moonrise +2030-07-14T00:24:56.535Z sunset 2030-07-14T04:36:47.452Z Moon culminates 39.61 degrees above the horizon -2030-07-14T10:02:12.306Z moonset -2030-07-14T10:36:37.744Z sunrise +2030-07-14T10:02:12.136Z moonset +2030-07-14T10:36:37.592Z sunrise 2030-07-14T17:30:45.157Z Sun culminates 82.99 degrees above the horizon -2030-07-15T00:07:12.381Z moonrise -2030-07-15T00:24:38.518Z sunset +2030-07-15T00:07:12.482Z moonrise +2030-07-15T00:24:38.705Z sunset 2030-07-15T02:12:26.087Z full moon 2030-07-15T05:36:35.484Z Moon culminates 42.72 degrees above the horizon -2030-07-15T10:37:08.456Z sunrise -2030-07-15T11:09:59.938Z moonset +2030-07-15T10:37:08.307Z sunrise +2030-07-15T11:09:59.827Z moonset 2030-07-15T17:30:51.150Z Sun culminates 82.83 degrees above the horizon 2030-07-15T21:24:30.785Z Venus moves from Taurus to Orion -2030-07-16T00:24:19.294Z sunset -2030-07-16T00:54:05.290Z moonrise +2030-07-16T00:24:19.479Z sunset +2030-07-16T00:54:05.343Z moonrise 2030-07-16T06:32:36.967Z Moon culminates 47.00 degrees above the horizon -2030-07-16T10:37:39.547Z sunrise -2030-07-16T12:16:06.216Z moonset +2030-07-16T10:37:39.401Z sunrise +2030-07-16T12:16:06.169Z moonset 2030-07-16T17:30:56.633Z Sun culminates 82.66 degrees above the horizon -2030-07-17T00:23:58.682Z sunset -2030-07-17T01:35:36.734Z moonrise +2030-07-17T00:23:58.863Z sunset +2030-07-17T01:35:36.756Z moonrise 2030-07-17T07:24:45.033Z Moon culminates 52.01 degrees above the horizon -2030-07-17T10:38:10.993Z sunrise -2030-07-17T13:19:23.051Z moonset +2030-07-17T10:38:10.851Z sunrise +2030-07-17T13:19:23.042Z moonset 2030-07-17T17:31:01.597Z Sun culminates 82.49 degrees above the horizon 2030-07-17T23:55:14.792Z Venus moves from Orion to Gemini -2030-07-18T00:23:36.688Z sunset +2030-07-18T00:23:36.865Z sunset 2030-07-18T01:16:39.260Z Mercury moves from Cancer to Leo -2030-07-18T02:13:11.127Z moonrise +2030-07-18T02:13:11.137Z moonrise 2030-07-18T08:13:35.273Z Moon culminates 57.35 degrees above the horizon -2030-07-18T10:38:42.772Z sunrise -2030-07-18T14:19:44.356Z moonset +2030-07-18T10:38:42.633Z sunrise +2030-07-18T14:19:44.358Z moonset 2030-07-18T17:31:06.036Z Sun culminates 82.32 degrees above the horizon -2030-07-19T00:23:13.322Z sunset -2030-07-19T02:48:14.885Z moonrise +2030-07-19T00:23:13.496Z sunset +2030-07-19T02:48:14.893Z moonrise 2030-07-19T09:00:02.864Z Moon culminates 62.69 degrees above the horizon -2030-07-19T10:39:14.860Z sunrise -2030-07-19T15:17:39.301Z moonset +2030-07-19T10:39:14.725Z sunrise +2030-07-19T15:17:39.304Z moonset 2030-07-19T17:31:09.943Z Sun culminates 82.14 degrees above the horizon -2030-07-20T00:22:48.593Z sunset -2030-07-20T03:22:07.536Z moonrise +2030-07-20T00:22:48.764Z sunset +2030-07-20T03:22:07.541Z moonrise 2030-07-20T09:45:07.142Z Moon culminates 67.78 degrees above the horizon -2030-07-20T10:39:47.234Z sunrise -2030-07-20T16:13:49.091Z moonset +2030-07-20T10:39:47.103Z sunrise +2030-07-20T16:13:49.103Z moonset 2030-07-20T17:31:13.311Z Sun culminates 81.95 degrees above the horizon -2030-07-21T00:22:22.513Z sunset -2030-07-21T03:56:00.625Z moonrise +2030-07-21T00:22:22.679Z sunset +2030-07-21T03:56:00.620Z moonrise 2030-07-21T10:29:43.343Z Moon culminates 72.42 degrees above the horizon -2030-07-21T10:40:19.870Z sunrise -2030-07-21T17:08:51.739Z moonset +2030-07-21T10:40:19.743Z sunrise +2030-07-21T17:08:51.778Z moonset 2030-07-21T17:31:16.134Z Sun culminates 81.76 degrees above the horizon -2030-07-22T00:21:55.090Z sunset -2030-07-22T04:30:58.915Z moonrise +2030-07-22T00:21:55.254Z sunset +2030-07-22T04:30:58.887Z moonrise 2030-07-22T08:08:07.005Z third quarter -2030-07-22T10:40:52.745Z sunrise +2030-07-22T10:40:52.622Z sunrise 2030-07-22T11:14:38.087Z Moon culminates 76.46 degrees above the horizon 2030-07-22T17:31:18.405Z Sun culminates 81.56 degrees above the horizon -2030-07-22T18:03:12.509Z moonset -2030-07-23T00:21:26.338Z sunset -2030-07-23T05:08:00.733Z moonrise -2030-07-23T10:41:25.834Z sunrise +2030-07-22T18:03:12.588Z moonset +2030-07-23T00:21:26.497Z sunset +2030-07-23T05:08:00.674Z moonrise +2030-07-23T10:41:25.716Z sunrise 2030-07-23T12:00:25.877Z Moon culminates 79.75 degrees above the horizon 2030-07-23T17:31:20.118Z Sun culminates 81.35 degrees above the horizon -2030-07-23T18:56:57.780Z moonset -2030-07-24T00:20:56.265Z sunset -2030-07-24T05:47:55.742Z moonrise -2030-07-24T10:41:59.113Z sunrise +2030-07-23T18:56:57.901Z moonset +2030-07-24T00:20:56.420Z sunset +2030-07-24T05:47:55.649Z moonrise +2030-07-24T10:41:58.999Z sunrise 2030-07-24T12:47:25.562Z Moon culminates 82.17 degrees above the horizon 2030-07-24T17:31:21.265Z Sun culminates 81.14 degrees above the horizon -2030-07-24T19:49:52.365Z moonset -2030-07-25T00:20:24.883Z sunset +2030-07-24T19:49:52.513Z moonset +2030-07-25T00:20:25.034Z sunset 2030-07-25T04:54:50.038Z lunar apogee at 404876 km -2030-07-25T06:31:19.495Z moonrise -2030-07-25T10:42:32.556Z sunrise +2030-07-25T06:31:19.373Z moonrise +2030-07-25T10:42:32.447Z sunrise 2030-07-25T13:35:37.459Z Moon culminates 83.60 degrees above the horizon 2030-07-25T17:31:21.839Z Sun culminates 80.93 degrees above the horizon -2030-07-25T20:41:22.163Z moonset -2030-07-26T00:19:52.203Z sunset -2030-07-26T07:18:25.980Z moonrise -2030-07-26T10:43:06.139Z sunrise +2030-07-25T20:41:22.321Z moonset +2030-07-26T00:19:52.351Z sunset +2030-07-26T07:18:25.840Z moonrise +2030-07-26T10:43:06.034Z sunrise 2030-07-26T14:24:43.201Z Moon culminates 83.96 degrees above the horizon 2030-07-26T17:31:21.833Z Sun culminates 80.70 degrees above the horizon -2030-07-26T21:30:43.622Z moonset -2030-07-27T00:19:18.237Z sunset -2030-07-27T08:09:02.048Z moonrise -2030-07-27T10:43:39.835Z sunrise +2030-07-26T21:30:43.772Z moonset +2030-07-27T00:19:18.380Z sunset +2030-07-27T08:09:01.904Z moonrise +2030-07-27T10:43:39.735Z sunrise 2030-07-27T15:14:10.474Z Moon culminates 83.20 degrees above the horizon 2030-07-27T17:31:21.240Z Sun culminates 80.48 degrees above the horizon -2030-07-27T22:17:17.980Z moonset -2030-07-28T00:18:42.995Z sunset -2030-07-28T09:02:29.068Z moonrise -2030-07-28T10:44:13.620Z sunrise +2030-07-27T22:17:18.109Z moonset +2030-07-28T00:18:43.134Z sunset +2030-07-28T09:02:28.938Z moonrise +2030-07-28T10:44:13.524Z sunrise 2030-07-28T16:03:22.728Z Moon culminates 81.33 degrees above the horizon 2030-07-28T17:31:20.054Z Sun culminates 80.25 degrees above the horizon -2030-07-28T23:00:44.389Z moonset -2030-07-29T00:18:06.489Z sunset -2030-07-29T09:57:54.213Z moonrise -2030-07-29T10:44:47.469Z sunrise +2030-07-28T23:00:44.486Z moonset +2030-07-29T00:18:06.623Z sunset +2030-07-29T09:57:54.116Z moonrise +2030-07-29T10:44:47.378Z sunrise 2030-07-29T16:51:50.708Z Moon culminates 78.43 degrees above the horizon 2030-07-29T17:31:18.267Z Sun culminates 80.01 degrees above the horizon -2030-07-29T23:41:06.207Z moonset -2030-07-30T00:17:28.730Z sunset -2030-07-30T10:45:21.357Z sunrise -2030-07-30T10:54:27.257Z moonrise +2030-07-29T23:41:06.269Z moonset +2030-07-30T00:17:28.861Z sunset +2030-07-30T10:45:21.271Z sunrise +2030-07-30T10:54:27.204Z moonrise 2030-07-30T11:11:31.817Z new moon 2030-07-30T17:31:15.874Z Sun culminates 79.77 degrees above the horizon 2030-07-30T17:39:21.267Z Moon culminates 74.63 degrees above the horizon -2030-07-31T00:16:49.732Z sunset -2030-07-31T00:18:49.529Z moonset -2030-07-31T10:45:55.260Z sunrise -2030-07-31T11:51:34.880Z moonrise +2030-07-31T00:16:49.858Z sunset +2030-07-31T00:18:49.561Z moonset +2030-07-31T10:45:55.179Z sunrise +2030-07-31T11:51:34.862Z moonrise 2030-07-31T17:31:12.870Z Sun culminates 79.52 degrees above the horizon 2030-07-31T18:26:00.840Z Moon culminates 70.11 degrees above the horizon -2030-08-01T00:16:09.507Z sunset -2030-08-01T00:54:37.520Z moonset -2030-08-01T10:46:29.157Z sunrise -2030-08-01T12:49:07.057Z moonrise +2030-08-01T00:16:09.629Z sunset +2030-08-01T00:54:37.535Z moonset +2030-08-01T10:46:29.081Z sunrise +2030-08-01T12:49:07.056Z moonrise 2030-08-01T17:31:09.250Z Sun culminates 79.27 degrees above the horizon 2030-08-01T19:12:14.176Z Moon culminates 65.07 degrees above the horizon -2030-08-02T00:15:28.069Z sunset -2030-08-02T01:29:24.852Z moonset +2030-08-02T00:15:28.186Z sunset +2030-08-02T01:29:24.861Z moonset 2030-08-02T05:39:11.585Z Mercury max evening elongation: 27.27 degrees from Sun -2030-08-02T10:47:03.026Z sunrise -2030-08-02T13:47:15.442Z moonrise +2030-08-02T10:47:02.955Z sunrise +2030-08-02T13:47:15.444Z moonrise 2030-08-02T17:31:05.011Z Sun culminates 79.01 degrees above the horizon 2030-08-02T19:58:40.535Z Moon culminates 59.76 degrees above the horizon -2030-08-03T00:14:45.432Z sunset -2030-08-03T02:04:14.452Z moonset +2030-08-03T00:14:45.546Z sunset +2030-08-03T02:04:14.459Z moonset 2030-08-03T02:42:24.424Z Pluto opposition -2030-08-03T10:47:36.847Z sunrise -2030-08-03T14:46:26.202Z moonrise +2030-08-03T10:47:36.782Z sunrise +2030-08-03T14:46:26.207Z moonrise 2030-08-03T17:31:00.152Z Sun culminates 78.75 degrees above the horizon 2030-08-03T20:46:08.882Z Moon culminates 54.43 degrees above the horizon -2030-08-04T00:14:01.614Z sunset +2030-08-04T00:14:01.723Z sunset 2030-08-04T02:40:16.554Z moonset -2030-08-04T10:48:10.603Z sunrise -2030-08-04T15:47:08.852Z moonrise +2030-08-04T10:48:10.543Z sunrise +2030-08-04T15:47:08.880Z moonrise 2030-08-04T17:30:54.672Z Sun culminates 78.48 degrees above the horizon 2030-08-04T21:02:18.870Z Mercury aphelion at 0.4667 AU 2030-08-04T21:35:31.919Z Moon culminates 49.36 degrees above the horizon 2030-08-04T22:34:36.431Z Mercury moves from Leo to Sextans -2030-08-05T00:13:16.630Z sunset -2030-08-05T03:18:48.439Z moonset -2030-08-05T10:48:44.278Z sunrise -2030-08-05T16:49:40.825Z moonrise +2030-08-05T00:13:16.735Z sunset +2030-08-05T03:18:48.416Z moonset +2030-08-05T10:48:44.222Z sunrise +2030-08-05T16:49:40.903Z moonrise 2030-08-05T17:30:48.572Z Sun culminates 78.21 degrees above the horizon 2030-08-05T22:27:37.199Z Moon culminates 44.86 degrees above the horizon -2030-08-06T00:12:30.500Z sunset -2030-08-06T04:01:11.785Z moonset -2030-08-06T10:49:17.855Z sunrise +2030-08-06T00:12:30.600Z sunset +2030-08-06T04:01:11.722Z moonset +2030-08-06T10:49:17.805Z sunrise 2030-08-06T16:43:12.757Z first quarter 2030-08-06T17:30:41.856Z Sun culminates 77.94 degrees above the horizon -2030-08-06T17:53:47.986Z moonrise +2030-08-06T17:53:48.126Z moonrise 2030-08-06T23:22:53.373Z Moon culminates 41.26 degrees above the horizon -2030-08-07T00:11:43.244Z sunset -2030-08-07T04:48:42.906Z moonset -2030-08-07T10:49:51.324Z sunrise +2030-08-07T00:11:43.340Z sunset +2030-08-07T04:48:42.793Z moonset +2030-08-07T10:49:51.279Z sunrise 2030-08-07T17:30:34.526Z Sun culminates 77.66 degrees above the horizon -2030-08-07T18:58:26.950Z moonrise -2030-08-08T00:10:54.882Z sunset +2030-08-07T18:58:27.133Z moonrise +2030-08-08T00:10:54.973Z sunset 2030-08-08T00:21:12.592Z Moon culminates 38.91 degrees above the horizon -2030-08-08T05:42:11.301Z moonset -2030-08-08T10:50:24.673Z sunrise +2030-08-08T05:42:11.142Z moonset +2030-08-08T10:50:24.633Z sunrise 2030-08-08T17:30:26.591Z Sun culminates 77.37 degrees above the horizon -2030-08-08T20:01:44.561Z moonrise -2030-08-09T00:10:05.437Z sunset +2030-08-08T20:01:44.752Z moonrise +2030-08-09T00:10:05.525Z sunset 2030-08-09T01:21:37.737Z Moon culminates 38.06 degrees above the horizon -2030-08-09T06:41:29.743Z moonset -2030-08-09T10:50:57.892Z sunrise +2030-08-09T06:41:29.557Z moonset +2030-08-09T10:50:57.857Z sunrise 2030-08-09T17:30:18.055Z Sun culminates 77.09 degrees above the horizon 2030-08-09T20:54:48.054Z Venus moves from Gemini to Cancer -2030-08-09T21:01:29.109Z moonrise +2030-08-09T21:01:29.276Z moonrise 2030-08-09T22:46:11.720Z lunar perigee at 366728 km -2030-08-10T00:09:14.933Z sunset +2030-08-10T00:09:15.016Z sunset 2030-08-10T02:22:29.403Z Moon culminates 38.85 degrees above the horizon 2030-08-10T06:26:25.933Z Mercury moves from Sextans to Leo -2030-08-10T07:45:16.306Z moonset -2030-08-10T10:51:30.973Z sunrise +2030-08-10T07:45:16.125Z moonset +2030-08-10T10:51:30.944Z sunrise 2030-08-10T17:30:08.928Z Sun culminates 76.79 degrees above the horizon -2030-08-10T21:56:01.651Z moonrise -2030-08-11T00:08:23.394Z sunset +2030-08-10T21:56:01.775Z moonrise +2030-08-11T00:08:23.473Z sunset 2030-08-11T03:21:58.114Z Moon culminates 41.21 degrees above the horizon -2030-08-11T08:51:14.415Z moonset -2030-08-11T10:52:03.912Z sunrise +2030-08-11T08:51:14.277Z moonset +2030-08-11T10:52:03.888Z sunrise 2030-08-11T17:29:59.220Z Sun culminates 76.50 degrees above the horizon -2030-08-11T22:44:49.760Z moonrise -2030-08-12T00:07:30.844Z sunset +2030-08-11T22:44:49.835Z moonrise +2030-08-12T00:07:30.919Z sunset 2030-08-12T04:18:43.291Z Moon culminates 44.88 degrees above the horizon -2030-08-12T09:57:05.897Z moonset -2030-08-12T10:52:36.704Z sunrise +2030-08-12T09:57:05.822Z moonset +2030-08-12T10:52:36.685Z sunrise 2030-08-12T17:29:48.942Z Sun culminates 76.20 degrees above the horizon -2030-08-12T23:28:23.117Z moonrise -2030-08-13T00:06:37.309Z sunset +2030-08-12T23:28:23.152Z moonrise +2030-08-13T00:06:37.380Z sunset 2030-08-13T05:12:12.970Z Moon culminates 49.51 degrees above the horizon 2030-08-13T06:23:47.759Z Mars moves from Gemini to Cancer 2030-08-13T10:44:52.447Z full moon -2030-08-13T10:53:09.347Z sunrise -2030-08-13T11:01:16.905Z moonset +2030-08-13T10:53:09.333Z sunrise +2030-08-13T11:01:16.881Z moonset 2030-08-13T17:29:38.104Z Sun culminates 75.89 degrees above the horizon -2030-08-14T00:05:42.814Z sunset -2030-08-14T00:07:47.248Z moonrise +2030-08-14T00:05:42.881Z sunset +2030-08-14T00:07:47.262Z moonrise 2030-08-14T06:02:38.635Z Moon culminates 54.69 degrees above the horizon -2030-08-14T10:53:41.840Z sunrise -2030-08-14T12:03:09.619Z moonset +2030-08-14T10:53:41.830Z sunrise +2030-08-14T12:03:09.618Z moonset 2030-08-14T17:29:26.720Z Sun culminates 75.58 degrees above the horizon -2030-08-15T00:04:47.386Z sunset -2030-08-15T00:44:19.364Z moonrise +2030-08-15T00:04:47.449Z sunset +2030-08-15T00:44:19.372Z moonrise 2030-08-15T06:50:38.375Z Moon culminates 60.08 degrees above the horizon -2030-08-15T10:54:14.183Z sunrise -2030-08-15T13:02:47.995Z moonset +2030-08-15T10:54:14.178Z sunrise +2030-08-15T13:02:47.997Z moonset 2030-08-15T17:29:14.804Z Sun culminates 75.27 degrees above the horizon -2030-08-16T00:03:51.050Z sunset -2030-08-16T01:19:15.216Z moonrise +2030-08-16T00:03:51.109Z sunset +2030-08-16T01:19:15.223Z moonrise 2030-08-16T07:37:01.121Z Moon culminates 65.35 degrees above the horizon -2030-08-16T10:54:46.377Z sunrise -2030-08-16T14:00:36.983Z moonset +2030-08-16T10:54:46.376Z sunrise +2030-08-16T14:00:36.989Z moonset 2030-08-16T17:29:02.369Z Sun culminates 74.96 degrees above the horizon -2030-08-17T00:02:53.833Z sunset -2030-08-17T01:53:44.652Z moonrise +2030-08-17T00:02:53.889Z sunset +2030-08-17T01:53:44.653Z moonrise 2030-08-17T08:22:36.267Z Moon culminates 70.27 degrees above the horizon -2030-08-17T10:55:18.422Z sunrise -2030-08-17T14:57:05.692Z moonset +2030-08-17T10:55:18.427Z sunrise +2030-08-17T14:57:05.716Z moonset 2030-08-17T17:28:49.428Z Sun culminates 74.64 degrees above the horizon -2030-08-18T00:01:55.761Z sunset -2030-08-18T02:28:51.194Z moonrise +2030-08-18T00:01:55.814Z sunset +2030-08-18T02:28:51.178Z moonrise 2030-08-18T09:08:07.603Z Moon culminates 74.64 degrees above the horizon -2030-08-18T10:55:50.322Z sunrise -2030-08-18T15:52:36.085Z moonset +2030-08-18T10:55:50.331Z sunrise +2030-08-18T15:52:36.144Z moonset 2030-08-18T17:28:35.996Z Sun culminates 74.31 degrees above the horizon -2030-08-19T00:00:56.862Z sunset -2030-08-19T03:05:32.228Z moonrise +2030-08-19T00:00:56.912Z sunset +2030-08-19T03:05:32.184Z moonrise 2030-08-19T09:54:09.402Z Moon culminates 78.29 degrees above the horizon -2030-08-19T10:56:22.077Z sunrise -2030-08-19T16:47:15.933Z moonset +2030-08-19T10:56:22.090Z sunrise +2030-08-19T16:47:16.034Z moonset 2030-08-19T17:28:22.087Z Sun culminates 73.99 degrees above the horizon -2030-08-19T23:59:57.161Z sunset -2030-08-20T03:44:37.735Z moonrise +2030-08-19T23:59:57.207Z sunset +2030-08-20T03:44:37.658Z moonrise 2030-08-20T04:31:19.624Z Mercury moves from Leo to Sextans 2030-08-20T10:41:03.246Z Moon culminates 81.10 degrees above the horizon -2030-08-20T10:56:53.688Z sunrise +2030-08-20T10:56:53.705Z sunrise 2030-08-20T17:28:07.715Z Sun culminates 73.66 degrees above the horizon -2030-08-20T17:40:55.439Z moonset -2030-08-20T23:58:56.684Z sunset +2030-08-20T17:40:55.575Z moonset +2030-08-20T23:58:56.727Z sunset 2030-08-21T01:15:59.632Z third quarter -2030-08-21T04:26:46.626Z moonrise -2030-08-21T10:57:25.156Z sunrise +2030-08-21T04:26:46.518Z moonrise +2030-08-21T10:57:25.178Z sunrise 2030-08-21T11:28:55.569Z Moon culminates 82.95 degrees above the horizon 2030-08-21T17:27:52.892Z Sun culminates 73.33 degrees above the horizon -2030-08-21T18:33:08.421Z moonset +2030-08-21T18:33:08.574Z moonset 2030-08-21T22:49:36.481Z lunar apogee at 404160 km -2030-08-21T23:57:55.457Z sunset -2030-08-22T05:12:21.087Z moonrise -2030-08-22T10:57:56.482Z sunrise +2030-08-21T23:57:55.496Z sunset +2030-08-22T05:12:20.956Z moonrise +2030-08-22T10:57:56.508Z sunrise 2030-08-22T12:17:37.123Z Moon culminates 83.75 degrees above the horizon 2030-08-22T17:27:37.631Z Sun culminates 72.99 degrees above the horizon -2030-08-22T19:23:19.096Z moonset -2030-08-22T23:56:53.503Z sunset -2030-08-23T06:01:21.382Z moonrise -2030-08-23T10:58:27.668Z sunrise +2030-08-22T19:23:19.249Z moonset +2030-08-22T23:56:53.540Z sunset +2030-08-23T06:01:21.240Z moonrise +2030-08-23T10:58:27.697Z sunrise 2030-08-23T13:06:45.920Z Moon culminates 83.46 degrees above the horizon 2030-08-23T17:27:21.945Z Sun culminates 72.65 degrees above the horizon -2030-08-23T20:10:53.349Z moonset -2030-08-23T23:55:50.848Z sunset -2030-08-24T06:53:24.997Z moonrise -2030-08-24T10:58:58.711Z sunrise +2030-08-23T20:10:53.486Z moonset +2030-08-23T23:55:50.882Z sunset +2030-08-24T06:53:24.862Z moonrise +2030-08-24T10:58:58.745Z sunrise 2030-08-24T13:55:54.045Z Moon culminates 82.07 degrees above the horizon 2030-08-24T17:27:05.846Z Sun culminates 72.31 degrees above the horizon -2030-08-24T20:55:30.275Z moonset -2030-08-24T23:54:47.515Z sunset -2030-08-25T07:47:52.960Z moonrise -2030-08-25T10:59:29.614Z sunrise +2030-08-24T20:55:30.384Z moonset +2030-08-24T23:54:47.546Z sunset +2030-08-25T07:47:52.851Z moonrise +2030-08-25T10:59:29.651Z sunrise 2030-08-25T14:44:36.594Z Moon culminates 79.61 degrees above the horizon 2030-08-25T17:26:49.346Z Sun culminates 71.96 degrees above the horizon -2030-08-25T21:37:09.164Z moonset -2030-08-25T23:53:43.528Z sunset +2030-08-25T21:37:09.239Z moonset +2030-08-25T23:53:43.556Z sunset 2030-08-26T00:45:19.909Z Venus moves from Cancer to Leo -2030-08-26T08:44:02.056Z moonrise -2030-08-26T11:00:00.374Z sunrise +2030-08-26T08:44:01.986Z moonrise +2030-08-26T11:00:00.415Z sunrise 2030-08-26T15:32:39.626Z Moon culminates 76.19 degrees above the horizon 2030-08-26T17:26:32.455Z Sun culminates 71.62 degrees above the horizon -2030-08-26T22:16:10.115Z moonset -2030-08-26T23:52:38.909Z sunset -2030-08-27T09:41:17.762Z moonrise -2030-08-27T11:00:30.994Z sunrise +2030-08-26T22:16:10.157Z moonset +2030-08-26T23:52:38.935Z sunset +2030-08-27T09:41:17.732Z moonrise +2030-08-27T11:00:31.037Z sunrise 2030-08-27T16:20:04.685Z Moon culminates 71.94 degrees above the horizon 2030-08-27T17:26:15.186Z Sun culminates 71.27 degrees above the horizon -2030-08-27T22:53:10.268Z moonset -2030-08-27T23:51:33.682Z sunset -2030-08-28T10:39:22.591Z moonrise -2030-08-28T11:01:01.471Z sunrise +2030-08-27T22:53:10.287Z moonset +2030-08-27T23:51:33.706Z sunset +2030-08-28T10:39:22.586Z moonrise +2030-08-28T11:01:01.518Z sunrise 2030-08-28T17:07:09.406Z Moon culminates 67.06 degrees above the horizon 2030-08-28T17:25:57.551Z Sun culminates 70.91 degrees above the horizon 2030-08-28T23:07:50.448Z new moon -2030-08-28T23:28:59.021Z moonset -2030-08-28T23:50:27.869Z sunset -2030-08-29T11:01:31.809Z sunrise -2030-08-29T11:38:17.600Z moonrise +2030-08-28T23:28:59.031Z moonset +2030-08-28T23:50:27.890Z sunset +2030-08-29T11:01:31.859Z sunrise +2030-08-29T11:38:17.602Z moonrise 2030-08-29T17:25:39.559Z Sun culminates 70.56 degrees above the horizon 2030-08-29T17:54:25.181Z Moon culminates 61.78 degrees above the horizon 2030-08-29T20:03:10.337Z Mercury inferior conjunction -2030-08-29T23:49:21.492Z sunset -2030-08-30T00:04:34.521Z moonset -2030-08-30T11:02:02.007Z sunrise -2030-08-30T12:38:17.733Z moonrise +2030-08-29T23:49:21.512Z sunset +2030-08-30T00:04:34.528Z moonset +2030-08-30T11:02:02.060Z sunrise +2030-08-30T12:38:17.736Z moonrise 2030-08-30T17:25:21.225Z Sun culminates 70.20 degrees above the horizon 2030-08-30T18:42:33.022Z Moon culminates 56.36 degrees above the horizon -2030-08-30T23:48:14.574Z sunset -2030-08-31T00:41:01.887Z moonset -2030-08-31T11:02:32.068Z sunrise -2030-08-31T13:39:42.253Z moonrise +2030-08-30T23:48:14.592Z sunset +2030-08-31T00:41:01.890Z moonset +2030-08-31T11:02:32.124Z sunrise +2030-08-31T13:39:42.270Z moonrise 2030-08-31T14:32:15.228Z Mercury moves from Sextans to Leo 2030-08-31T17:25:02.561Z Sun culminates 69.84 degrees above the horizon 2030-08-31T19:32:17.817Z Moon culminates 51.11 degrees above the horizon -2030-08-31T23:47:07.139Z sunset -2030-09-01T01:19:32.138Z moonset -2030-09-01T11:03:01.996Z sunrise -2030-09-01T14:42:40.864Z moonrise +2030-08-31T23:47:07.155Z sunset +2030-09-01T01:19:32.125Z moonset +2030-09-01T11:03:02.054Z sunrise +2030-09-01T14:42:40.921Z moonrise 2030-09-01T17:24:43.579Z Sun culminates 69.48 degrees above the horizon 2030-09-01T20:24:20.066Z Moon culminates 46.35 degrees above the horizon -2030-09-01T23:45:59.210Z sunset -2030-09-02T02:01:19.423Z moonset -2030-09-02T11:03:31.794Z sunrise -2030-09-02T15:46:56.634Z moonrise +2030-09-01T23:45:59.224Z sunset +2030-09-02T02:01:19.376Z moonset +2030-09-02T11:03:31.855Z sunrise +2030-09-02T15:46:56.751Z moonrise 2030-09-02T17:24:24.295Z Sun culminates 69.11 degrees above the horizon 2030-09-02T21:19:04.026Z Moon culminates 42.45 degrees above the horizon -2030-09-02T23:44:50.811Z sunset -2030-09-03T02:47:32.940Z moonset -2030-09-03T11:04:01.469Z sunrise -2030-09-03T16:51:31.056Z moonrise +2030-09-02T23:44:50.824Z sunset +2030-09-03T02:47:32.846Z moonset +2030-09-03T11:04:01.532Z sunrise +2030-09-03T16:51:31.224Z moonrise 2030-09-03T17:24:04.724Z Sun culminates 68.74 degrees above the horizon 2030-09-03T20:15:18.411Z Venus perihelion at 0.7185 AU 2030-09-03T22:16:23.476Z Moon culminates 39.71 degrees above the horizon -2030-09-03T23:43:41.967Z sunset -2030-09-04T03:39:00.209Z moonset -2030-09-04T11:04:31.026Z sunrise +2030-09-03T23:43:41.978Z sunset +2030-09-04T03:39:00.067Z moonset +2030-09-04T11:04:31.091Z sunrise 2030-09-04T16:58:29.887Z lunar perigee at 369870 km 2030-09-04T17:23:44.882Z Sun culminates 68.38 degrees above the horizon -2030-09-04T17:54:43.398Z moonrise +2030-09-04T17:54:43.585Z moonrise 2030-09-04T21:56:05.208Z first quarter 2030-09-04T23:15:31.754Z Moon culminates 38.39 degrees above the horizon -2030-09-04T23:42:32.704Z sunset -2030-09-05T04:35:43.843Z moonset -2030-09-05T11:05:00.473Z sunrise +2030-09-04T23:42:32.713Z sunset +2030-09-05T04:35:43.668Z moonset +2030-09-05T11:05:00.541Z sunrise 2030-09-05T17:23:24.786Z Sun culminates 68.01 degrees above the horizon -2030-09-05T18:54:35.698Z moonrise -2030-09-05T23:41:23.048Z sunset +2030-09-05T18:54:35.873Z moonrise +2030-09-05T23:41:23.056Z sunset 2030-09-06T00:15:06.942Z Moon culminates 38.64 degrees above the horizon -2030-09-06T05:36:45.905Z moonset -2030-09-06T11:05:29.820Z sunrise +2030-09-06T05:36:45.725Z moonset +2030-09-06T11:05:29.889Z sunrise 2030-09-06T17:23:04.455Z Sun culminates 67.63 degrees above the horizon -2030-09-06T19:49:35.343Z moonrise -2030-09-06T23:40:13.026Z sunset +2030-09-06T19:49:35.482Z moonrise +2030-09-06T23:40:13.034Z sunset 2030-09-07T01:13:36.407Z Moon culminates 40.40 degrees above the horizon -2030-09-07T06:40:19.272Z moonset -2030-09-07T11:05:59.077Z sunrise +2030-09-07T06:40:19.120Z moonset +2030-09-07T11:05:59.148Z sunrise 2030-09-07T17:22:43.906Z Sun culminates 67.26 degrees above the horizon -2030-09-07T20:39:06.152Z moonrise -2030-09-07T23:39:02.666Z sunset +2030-09-07T20:39:06.244Z moonrise +2030-09-07T23:39:02.673Z sunset 2030-09-08T02:09:48.092Z Moon culminates 43.50 degrees above the horizon -2030-09-08T07:44:26.275Z moonset -2030-09-08T11:06:28.255Z sunrise +2030-09-08T07:44:26.180Z moonset +2030-09-08T11:06:28.328Z sunrise 2030-09-08T17:22:23.162Z Sun culminates 66.88 degrees above the horizon -2030-09-08T21:23:28.789Z moonrise -2030-09-08T23:37:51.997Z sunset +2030-09-08T21:23:28.838Z moonrise +2030-09-08T23:37:52.003Z sunset 2030-09-09T03:03:08.952Z Moon culminates 47.64 degrees above the horizon -2030-09-09T08:47:38.017Z moonset -2030-09-09T11:06:57.368Z sunrise +2030-09-09T08:47:37.977Z moonset +2030-09-09T11:06:57.443Z sunrise 2030-09-09T17:22:02.243Z Sun culminates 66.51 degrees above the horizon -2030-09-09T22:03:40.167Z moonrise -2030-09-09T23:36:41.046Z sunset +2030-09-09T22:03:40.188Z moonrise +2030-09-09T23:36:41.051Z sunset 2030-09-10T03:53:43.904Z Moon culminates 52.48 degrees above the horizon -2030-09-10T09:49:10.327Z moonset -2030-09-10T11:07:26.431Z sunrise +2030-09-10T09:49:10.320Z moonset +2030-09-10T11:07:26.507Z sunrise 2030-09-10T17:21:41.170Z Sun culminates 66.13 degrees above the horizon -2030-09-10T22:40:51.597Z moonrise -2030-09-10T23:35:29.843Z sunset +2030-09-10T22:40:51.606Z moonrise +2030-09-10T23:35:29.847Z sunset 2030-09-11T04:42:03.452Z Moon culminates 57.70 degrees above the horizon -2030-09-11T10:48:56.946Z moonset -2030-09-11T11:07:55.460Z sunrise +2030-09-11T10:48:56.948Z moonset +2030-09-11T11:07:55.537Z sunrise 2030-09-11T17:21:19.966Z Sun culminates 65.75 degrees above the horizon 2030-09-11T21:18:26.454Z full moon -2030-09-11T23:16:15.353Z moonrise -2030-09-11T23:34:18.416Z sunset +2030-09-11T23:16:15.361Z moonrise +2030-09-11T23:34:18.420Z sunset 2030-09-12T05:28:50.199Z Moon culminates 62.97 degrees above the horizon -2030-09-12T11:08:24.470Z sunrise -2030-09-12T11:47:13.442Z moonset +2030-09-12T11:08:24.548Z sunrise +2030-09-12T11:47:13.445Z moonset 2030-09-12T17:20:58.654Z Sun culminates 65.37 degrees above the horizon -2030-09-12T23:33:06.796Z sunset -2030-09-12T23:50:59.126Z moonrise +2030-09-12T23:33:06.799Z sunset +2030-09-12T23:50:59.131Z moonrise 2030-09-13T06:14:48.817Z Moon culminates 68.03 degrees above the horizon 2030-09-13T08:21:50.624Z Mars moves from Cancer to Leo -2030-09-13T11:08:53.479Z sunrise -2030-09-13T12:44:21.823Z moonset +2030-09-13T11:08:53.558Z sunrise +2030-09-13T12:44:21.836Z moonset 2030-09-13T17:20:37.257Z Sun culminates 64.99 degrees above the horizon -2030-09-13T23:31:55.010Z sunset -2030-09-14T00:26:04.659Z moonrise +2030-09-13T23:31:55.013Z sunset +2030-09-14T00:26:04.653Z moonrise 2030-09-14T07:00:39.547Z Moon culminates 72.65 degrees above the horizon -2030-09-14T11:09:22.503Z sunrise -2030-09-14T13:40:39.000Z moonset +2030-09-14T11:09:22.584Z sunrise +2030-09-14T13:40:39.040Z moonset 2030-09-14T17:20:15.799Z Sun culminates 64.60 degrees above the horizon -2030-09-14T23:30:43.090Z sunset -2030-09-15T01:02:27.467Z moonrise +2030-09-14T23:30:43.092Z sunset +2030-09-15T01:02:27.437Z moonrise 2030-09-15T06:28:48.460Z Mercury max morning elongation: 17.90 degrees from Sun 2030-09-15T07:46:53.852Z Moon culminates 76.63 degrees above the horizon -2030-09-15T11:09:51.560Z sunrise -2030-09-15T14:36:09.195Z moonset +2030-09-15T11:09:51.642Z sunrise +2030-09-15T14:36:09.275Z moonset 2030-09-15T17:19:54.303Z Sun culminates 64.22 degrees above the horizon -2030-09-15T23:29:31.064Z sunset -2030-09-16T01:40:55.696Z moonrise +2030-09-15T23:29:31.065Z sunset +2030-09-16T01:40:55.635Z moonrise 2030-09-16T08:33:51.242Z Moon culminates 79.81 degrees above the horizon -2030-09-16T11:10:20.667Z sunrise -2030-09-16T15:30:40.290Z moonset +2030-09-16T11:10:20.750Z sunrise +2030-09-16T15:30:40.409Z moonset 2030-09-16T17:19:32.792Z Sun culminates 63.83 degrees above the horizon -2030-09-16T23:28:18.962Z sunset -2030-09-17T02:22:07.234Z moonrise +2030-09-16T23:28:18.963Z sunset +2030-09-17T02:22:07.140Z moonrise 2030-09-17T09:21:37.262Z Moon culminates 82.06 degrees above the horizon -2030-09-17T11:10:49.839Z sunrise -2030-09-17T16:23:44.905Z moonset +2030-09-17T11:10:49.923Z sunrise +2030-09-17T16:23:45.049Z moonset 2030-09-17T17:19:11.288Z Sun culminates 63.45 degrees above the horizon 2030-09-17T20:40:46.024Z Mercury perihelion at 0.3075 AU -2030-09-17T23:27:06.812Z sunset -2030-09-18T03:06:25.305Z moonrise +2030-09-17T23:27:06.813Z sunset +2030-09-18T03:06:25.185Z moonrise 2030-09-18T10:10:03.488Z Moon culminates 83.29 degrees above the horizon -2030-09-18T11:11:19.093Z sunrise -2030-09-18T17:14:46.867Z moonset +2030-09-18T11:11:19.178Z sunrise +2030-09-18T17:14:47.018Z moonset 2030-09-18T17:18:49.813Z Sun culminates 63.06 degrees above the horizon 2030-09-18T18:08:56.640Z lunar apogee at 404243 km -2030-09-18T23:25:54.643Z sunset -2030-09-19T03:53:54.370Z moonrise +2030-09-18T23:25:54.644Z sunset +2030-09-19T03:53:54.235Z moonrise 2030-09-19T10:58:50.586Z Moon culminates 83.45 degrees above the horizon -2030-09-19T11:11:48.443Z sunrise +2030-09-19T11:11:48.528Z sunrise 2030-09-19T17:18:28.389Z Sun culminates 62.67 degrees above the horizon -2030-09-19T18:03:11.843Z moonset +2030-09-19T18:03:11.985Z moonset 2030-09-19T19:57:03.464Z third quarter -2030-09-19T23:24:42.484Z sunset -2030-09-20T04:44:19.414Z moonrise -2030-09-20T11:12:17.902Z sunrise +2030-09-19T23:24:42.485Z sunset +2030-09-20T04:44:19.278Z moonrise +2030-09-20T11:12:17.988Z sunrise 2030-09-20T11:47:34.590Z Moon culminates 82.53 degrees above the horizon 2030-09-20T17:18:07.037Z Sun culminates 62.29 degrees above the horizon -2030-09-20T18:48:38.313Z moonset +2030-09-20T18:48:38.433Z moonset 2030-09-20T23:23:30.362Z sunset -2030-09-21T05:37:10.962Z moonrise -2030-09-21T11:12:47.485Z sunrise +2030-09-21T05:37:10.843Z moonrise +2030-09-21T11:12:47.572Z sunrise 2030-09-21T12:35:54.817Z Moon culminates 80.56 degrees above the horizon 2030-09-21T17:17:45.776Z Sun culminates 61.90 degrees above the horizon -2030-09-21T19:31:04.392Z moonset -2030-09-21T23:22:18.303Z sunset -2030-09-22T06:31:55.061Z moonrise -2030-09-22T11:13:17.202Z sunrise +2030-09-21T19:31:04.481Z moonset +2030-09-21T23:22:18.304Z sunset +2030-09-22T06:31:54.976Z moonrise +2030-09-22T11:13:17.290Z sunrise 2030-09-22T13:23:40.779Z Moon culminates 77.61 degrees above the horizon 2030-09-22T17:17:24.626Z Sun culminates 61.51 degrees above the horizon -2030-09-22T20:10:48.664Z moonset +2030-09-22T20:10:48.719Z moonset 2030-09-22T23:21:06.335Z sunset 2030-09-22T23:27:12.874Z September equinox -2030-09-23T07:28:04.211Z moonrise -2030-09-23T11:13:47.066Z sunrise +2030-09-23T07:28:04.166Z moonrise +2030-09-23T11:13:47.155Z sunrise 2030-09-23T14:10:56.085Z Moon culminates 73.78 degrees above the horizon 2030-09-23T16:34:05.472Z Venus moves from Leo to Virgo 2030-09-23T17:17:03.606Z Sun culminates 61.12 degrees above the horizon -2030-09-23T20:48:26.689Z moonset +2030-09-23T20:48:26.717Z moonset 2030-09-23T23:19:54.483Z sunset -2030-09-24T08:25:24.920Z moonrise -2030-09-24T11:14:17.087Z sunrise +2030-09-24T08:25:24.906Z moonrise +2030-09-24T11:14:17.176Z sunrise 2030-09-24T14:57:59.036Z Moon culminates 69.22 degrees above the horizon 2030-09-24T17:16:42.733Z Sun culminates 60.73 degrees above the horizon -2030-09-24T21:24:46.409Z moonset -2030-09-24T23:18:42.772Z sunset +2030-09-24T21:24:46.422Z moonset +2030-09-24T23:18:42.773Z sunset 2030-09-25T09:23:59.810Z moonrise -2030-09-25T11:14:47.275Z sunrise +2030-09-25T11:14:47.364Z sunrise 2030-09-25T15:45:20.810Z Moon culminates 64.12 degrees above the horizon 2030-09-25T17:16:22.024Z Sun culminates 60.34 degrees above the horizon -2030-09-25T22:00:44.724Z moonset +2030-09-25T22:00:44.731Z moonset 2030-09-25T23:17:31.229Z sunset -2030-09-26T10:24:04.333Z moonrise -2030-09-26T11:15:17.639Z sunrise +2030-09-26T10:24:04.335Z moonrise +2030-09-26T11:15:17.729Z sunrise 2030-09-26T16:33:42.044Z Moon culminates 58.71 degrees above the horizon 2030-09-26T17:16:01.497Z Sun culminates 59.95 degrees above the horizon -2030-09-26T22:37:25.797Z moonset +2030-09-26T22:37:25.802Z moonset 2030-09-26T23:16:19.877Z sunset 2030-09-27T09:55:06.953Z new moon -2030-09-27T11:15:48.749Z sunrise -2030-09-27T11:25:58.473Z moonrise +2030-09-27T11:15:48.278Z sunrise +2030-09-27T11:25:58.480Z moonrise 2030-09-27T17:15:41.170Z Sun culminates 59.56 degrees above the horizon 2030-09-27T17:23:47.665Z Moon culminates 53.30 degrees above the horizon 2030-09-27T20:00:51.530Z Mercury moves from Leo to Virgo 2030-09-27T23:15:08.740Z sunset -2030-09-27T23:16:00.071Z moonset -2030-09-28T11:16:18.931Z sunrise -2030-09-28T12:29:53.204Z moonrise +2030-09-27T23:16:00.067Z moonset +2030-09-28T11:16:19.023Z sunrise +2030-09-28T12:29:53.241Z moonrise 2030-09-28T17:15:21.057Z Sun culminates 59.17 degrees above the horizon 2030-09-28T18:16:18.709Z Moon culminates 48.23 degrees above the horizon -2030-09-28T23:13:57.844Z sunset -2030-09-28T23:57:41.662Z moonset -2030-09-29T11:16:49.878Z sunrise -2030-09-29T13:35:32.144Z moonrise +2030-09-28T23:13:57.944Z sunset +2030-09-28T23:57:41.631Z moonset +2030-09-29T11:16:49.970Z sunrise +2030-09-29T13:35:32.236Z moonrise 2030-09-29T17:15:01.177Z Sun culminates 58.78 degrees above the horizon 2030-09-29T19:11:39.809Z Moon culminates 43.90 degrees above the horizon -2030-09-29T23:12:47.213Z sunset -2030-09-30T00:43:40.475Z moonset -2030-09-30T11:17:21.037Z sunrise -2030-09-30T14:41:53.712Z moonrise +2030-09-29T23:12:47.312Z sunset +2030-09-30T00:43:40.400Z moonset +2030-09-30T11:17:21.130Z sunrise +2030-09-30T14:41:53.863Z moonrise 2030-09-30T15:36:20.525Z lunar perigee at 366341 km 2030-09-30T17:14:41.546Z Sun culminates 58.40 degrees above the horizon 2030-09-30T20:09:43.545Z Moon culminates 40.67 degrees above the horizon -2030-09-30T23:11:36.872Z sunset -2030-10-01T01:34:45.493Z moonset -2030-10-01T11:17:52.418Z sunrise -2030-10-01T15:47:07.691Z moonrise +2030-09-30T23:11:36.970Z sunset +2030-10-01T01:34:45.369Z moonset +2030-10-01T11:17:52.511Z sunrise +2030-10-01T15:47:07.871Z moonrise 2030-10-01T17:14:22.182Z Sun culminates 58.01 degrees above the horizon 2030-10-01T21:09:39.084Z Moon culminates 38.87 degrees above the horizon -2030-10-01T23:10:26.847Z sunset -2030-10-02T02:31:01.026Z moonset -2030-10-02T11:18:24.029Z sunrise -2030-10-02T16:49:01.012Z moonrise +2030-10-01T23:10:26.943Z sunset +2030-10-02T02:31:00.862Z moonset +2030-10-02T11:18:24.123Z sunrise +2030-10-02T16:49:01.188Z moonrise 2030-10-02T17:14:03.101Z Sun culminates 57.62 degrees above the horizon 2030-10-02T22:09:57.568Z Moon culminates 38.65 degrees above the horizon -2030-10-02T23:09:17.163Z sunset -2030-10-03T03:31:30.061Z moonset -2030-10-03T11:18:55.881Z sunrise +2030-10-02T23:09:17.259Z sunset +2030-10-03T03:31:29.883Z moonset +2030-10-03T11:18:55.976Z sunrise 2030-10-03T17:13:44.324Z Sun culminates 57.24 degrees above the horizon -2030-10-03T17:45:45.991Z moonrise -2030-10-03T23:08:07.848Z sunset +2030-10-03T17:45:46.138Z moonrise +2030-10-03T23:08:07.943Z sunset 2030-10-03T23:08:59.240Z Moon culminates 39.97 degrees above the horizon 2030-10-04T03:56:40.248Z first quarter -2030-10-04T04:34:25.273Z moonset -2030-10-04T11:19:27.983Z sunrise +2030-10-04T04:34:25.115Z moonset +2030-10-04T11:19:28.079Z sunrise 2030-10-04T17:13:25.867Z Sun culminates 56.85 degrees above the horizon -2030-10-04T18:36:37.423Z moonrise -2030-10-04T23:06:58.929Z sunset +2030-10-04T18:36:37.526Z moonrise +2030-10-04T23:06:59.023Z sunset 2030-10-05T00:05:27.876Z Moon culminates 42.66 degrees above the horizon 2030-10-05T03:34:14.867Z Neptune opposition -2030-10-05T05:37:48.768Z moonset -2030-10-05T11:20:00.347Z sunrise +2030-10-05T05:37:48.659Z moonset +2030-10-05T11:20:00.444Z sunrise 2030-10-05T17:13:07.752Z Sun culminates 56.47 degrees above the horizon -2030-10-05T19:21:54.254Z moonrise -2030-10-05T23:05:50.435Z sunset +2030-10-05T19:21:54.314Z moonrise +2030-10-05T23:05:50.527Z sunset 2030-10-06T00:58:50.329Z Moon culminates 46.42 degrees above the horizon -2030-10-06T06:40:12.825Z moonset -2030-10-06T11:20:32.984Z sunrise +2030-10-06T06:40:12.772Z moonset +2030-10-06T11:20:33.082Z sunrise 2030-10-06T17:12:49.998Z Sun culminates 56.08 degrees above the horizon -2030-10-06T20:02:36.219Z moonrise -2030-10-06T23:04:42.393Z sunset +2030-10-06T20:02:36.247Z moonrise +2030-10-06T23:04:42.484Z sunset 2030-10-07T01:49:14.305Z Moon culminates 50.94 degrees above the horizon -2030-10-07T07:40:56.184Z moonset -2030-10-07T11:21:05.908Z sunrise +2030-10-07T07:40:56.170Z moonset +2030-10-07T11:21:06.007Z sunrise 2030-10-07T17:12:32.627Z Sun culminates 55.70 degrees above the horizon -2030-10-07T20:39:58.789Z moonrise -2030-10-07T23:03:34.833Z sunset +2030-10-07T20:39:58.802Z moonrise +2030-10-07T23:03:34.923Z sunset 2030-10-08T02:37:14.225Z Moon culminates 55.92 degrees above the horizon -2030-10-08T08:39:56.602Z moonset -2030-10-08T11:21:39.132Z sunrise +2030-10-08T08:39:56.603Z moonset +2030-10-08T11:21:39.232Z sunrise 2030-10-08T17:12:15.660Z Sun culminates 55.32 degrees above the horizon -2030-10-08T21:15:17.951Z moonrise -2030-10-08T23:02:27.786Z sunset +2030-10-08T21:15:17.959Z moonrise +2030-10-08T23:02:27.874Z sunset 2030-10-09T03:23:36.594Z Moon culminates 61.05 degrees above the horizon -2030-10-09T09:37:34.100Z moonset -2030-10-09T11:22:12.670Z sunrise +2030-10-09T09:37:34.102Z moonset +2030-10-09T11:22:12.772Z sunrise 2030-10-09T17:11:59.119Z Sun culminates 54.94 degrees above the horizon -2030-10-09T21:49:44.141Z moonrise -2030-10-09T23:01:21.280Z sunset +2030-10-09T21:49:44.147Z moonrise +2030-10-09T23:01:21.367Z sunset 2030-10-10T04:09:09.568Z Moon culminates 66.10 degrees above the horizon -2030-10-10T10:34:15.170Z moonset -2030-10-10T11:22:46.537Z sunrise +2030-10-10T10:34:15.178Z moonset +2030-10-10T11:22:46.538Z sunrise 2030-10-10T17:11:43.026Z Sun culminates 54.56 degrees above the horizon -2030-10-10T22:24:21.021Z moonrise -2030-10-10T23:00:15.346Z sunset +2030-10-10T22:24:21.020Z moonrise +2030-10-10T23:00:15.432Z sunset 2030-10-11T04:54:36.396Z Moon culminates 70.83 degrees above the horizon 2030-10-11T10:47:23.329Z full moon -2030-10-11T11:23:20.746Z sunrise -2030-10-11T11:30:20.884Z moonset +2030-10-11T11:23:20.748Z sunrise +2030-10-11T11:30:20.911Z moonset 2030-10-11T17:11:27.405Z Sun culminates 54.19 degrees above the horizon -2030-10-11T22:59:10.016Z sunset -2030-10-11T23:00:05.502Z moonrise +2030-10-11T22:59:10.101Z sunset +2030-10-11T23:00:05.484Z moonrise 2030-10-11T23:30:11.270Z Mercury superior conjunction 2030-10-12T05:40:30.942Z Moon culminates 75.02 degrees above the horizon -2030-10-12T11:23:55.312Z sunrise -2030-10-12T12:25:58.549Z moonset +2030-10-12T11:23:55.315Z sunrise +2030-10-12T12:25:58.612Z moonset 2030-10-12T17:11:12.278Z Sun culminates 53.81 degrees above the horizon -2030-10-12T22:58:05.320Z sunset -2030-10-12T23:37:46.842Z moonrise +2030-10-12T22:58:05.403Z sunset +2030-10-12T23:37:46.795Z moonrise 2030-10-13T06:27:14.101Z Moon culminates 78.50 degrees above the horizon -2030-10-13T11:24:30.250Z sunrise -2030-10-13T13:20:56.864Z moonset +2030-10-13T11:24:30.253Z sunrise +2030-10-13T13:20:56.967Z moonset 2030-10-13T17:10:57.667Z Sun culminates 53.44 degrees above the horizon -2030-10-13T22:57:01.289Z sunset -2030-10-14T00:18:03.796Z moonrise +2030-10-13T22:57:01.370Z sunset +2030-10-14T00:18:03.716Z moonrise 2030-10-14T07:14:51.183Z Moon culminates 81.11 degrees above the horizon -2030-10-14T11:25:05.571Z sunrise -2030-10-14T14:14:45.853Z moonset +2030-10-14T11:25:05.575Z sunrise +2030-10-14T14:14:45.987Z moonset 2030-10-14T17:10:43.593Z Sun culminates 53.07 degrees above the horizon -2030-10-14T22:55:57.954Z sunset -2030-10-15T01:01:20.103Z moonrise +2030-10-14T22:55:58.034Z sunset +2030-10-15T01:01:19.994Z moonrise 2030-10-15T08:03:11.543Z Moon culminates 82.73 degrees above the horizon -2030-10-15T11:25:41.288Z sunrise -2030-10-15T15:06:43.149Z moonset +2030-10-15T11:25:41.292Z sunrise +2030-10-15T15:06:43.296Z moonset 2030-10-15T17:10:30.080Z Sun culminates 52.70 degrees above the horizon -2030-10-15T22:54:55.347Z sunset -2030-10-16T01:47:40.236Z moonrise +2030-10-15T22:54:55.424Z sunset +2030-10-16T01:47:40.108Z moonrise 2030-10-16T08:51:51.931Z Moon culminates 83.30 degrees above the horizon -2030-10-16T11:26:17.412Z sunrise +2030-10-16T11:26:17.418Z sunrise 2030-10-16T13:22:04.191Z lunar apogee at 405066 km -2030-10-16T15:56:05.921Z moonset +2030-10-16T15:56:06.066Z moonset 2030-10-16T17:10:17.147Z Sun culminates 52.33 degrees above the horizon -2030-10-16T22:53:53.498Z sunset -2030-10-17T02:36:48.652Z moonrise +2030-10-16T22:53:53.573Z sunset +2030-10-17T02:36:48.517Z moonrise 2030-10-17T09:40:23.753Z Moon culminates 82.80 degrees above the horizon -2030-10-17T11:26:53.953Z sunrise -2030-10-17T16:42:24.109Z moonset +2030-10-17T11:26:53.960Z sunrise +2030-10-17T16:42:24.236Z moonset 2030-10-17T17:10:04.814Z Sun culminates 51.97 degrees above the horizon -2030-10-17T22:52:52.437Z sunset -2030-10-18T03:28:15.079Z moonrise +2030-10-17T22:52:52.511Z sunset +2030-10-18T03:28:14.955Z moonrise 2030-10-18T10:28:22.249Z Moon culminates 81.26 degrees above the horizon -2030-10-18T11:27:30.919Z sunrise +2030-10-18T11:27:30.927Z sunrise 2030-10-18T17:09:53.101Z Sun culminates 51.60 degrees above the horizon -2030-10-18T17:25:29.218Z moonset -2030-10-18T22:51:52.194Z sunset -2030-10-19T04:21:25.098Z moonrise +2030-10-18T17:25:29.318Z moonset +2030-10-18T22:51:52.266Z sunset +2030-10-19T04:21:25.001Z moonrise 2030-10-19T11:15:34.357Z Moon culminates 78.75 degrees above the horizon -2030-10-19T11:28:08.317Z sunrise +2030-10-19T11:28:08.325Z sunrise 2030-10-19T14:50:55.600Z third quarter 2030-10-19T17:09:42.025Z Sun culminates 51.24 degrees above the horizon -2030-10-19T18:05:35.927Z moonset -2030-10-19T22:50:52.799Z sunset -2030-10-20T05:15:51.798Z moonrise +2030-10-19T18:05:35.995Z moonset +2030-10-19T22:50:52.868Z sunset +2030-10-20T05:15:51.739Z moonrise 2030-10-20T10:34:26.576Z Venus superior conjunction -2030-10-20T11:28:46.151Z sunrise +2030-10-20T11:28:46.161Z sunrise 2030-10-20T12:02:02.972Z Moon culminates 75.37 degrees above the horizon 2030-10-20T17:09:31.602Z Sun culminates 50.88 degrees above the horizon -2030-10-20T18:43:18.208Z moonset -2030-10-20T22:49:54.280Z sunset -2030-10-21T06:11:23.966Z moonrise -2030-10-21T11:29:24.425Z sunrise +2030-10-20T18:43:18.247Z moonset +2030-10-20T22:49:54.347Z sunset +2030-10-21T06:11:23.942Z moonrise +2030-10-21T11:29:24.436Z sunrise 2030-10-21T12:48:07.436Z Moon culminates 71.23 degrees above the horizon 2030-10-21T17:09:21.849Z Sun culminates 50.53 degrees above the horizon -2030-10-21T19:19:23.830Z moonset -2030-10-21T22:48:56.665Z sunset -2030-10-22T07:08:08.724Z moonrise -2030-10-22T11:30:03.140Z sunrise +2030-10-21T19:19:23.848Z moonset +2030-10-21T22:48:56.729Z sunset +2030-10-22T07:08:08.721Z moonrise +2030-10-22T11:30:03.152Z sunrise 2030-10-22T13:34:21.565Z Moon culminates 66.47 degrees above the horizon 2030-10-22T17:09:12.779Z Sun culminates 50.17 degrees above the horizon -2030-10-22T19:54:50.201Z moonset -2030-10-22T22:47:59.981Z sunset -2030-10-23T08:06:29.036Z moonrise -2030-10-23T11:30:42.296Z sunrise +2030-10-22T19:54:50.210Z moonset +2030-10-22T22:48:00.042Z sunset +2030-10-23T08:06:29.038Z moonrise +2030-10-23T11:30:42.310Z sunrise 2030-10-23T14:21:30.496Z Moon culminates 61.29 degrees above the horizon 2030-10-23T17:09:04.405Z Sun culminates 49.82 degrees above the horizon -2030-10-23T20:30:42.536Z moonset +2030-10-23T20:30:42.542Z moonset 2030-10-23T20:49:47.907Z Mercury moves from Virgo to Libra -2030-10-23T22:47:04.254Z sunset -2030-10-24T09:06:56.771Z moonrise -2030-10-24T11:31:21.891Z sunrise +2030-10-23T22:47:04.313Z sunset +2030-10-24T09:06:56.774Z moonrise +2030-10-24T11:31:21.907Z sunrise 2030-10-24T15:10:26.477Z Moon culminates 55.91 degrees above the horizon 2030-10-24T17:08:56.740Z Sun culminates 49.48 degrees above the horizon -2030-10-24T21:08:13.644Z moonset -2030-10-24T22:46:09.510Z sunset -2030-10-25T10:10:00.621Z moonrise -2030-10-25T11:32:01.924Z sunrise +2030-10-24T21:08:13.646Z moonset +2030-10-24T22:46:09.566Z sunset +2030-10-25T10:10:00.640Z moonrise +2030-10-25T11:32:01.940Z sunrise 2030-10-25T16:02:02.130Z Moon culminates 50.64 degrees above the horizon 2030-10-25T17:08:49.794Z Sun culminates 49.13 degrees above the horizon -2030-10-25T21:48:43.172Z moonset -2030-10-25T22:45:15.774Z sunset -2030-10-26T11:15:47.076Z moonrise -2030-10-26T11:32:42.388Z sunrise +2030-10-25T21:48:43.156Z moonset +2030-10-25T22:45:15.827Z sunset +2030-10-26T11:15:47.140Z moonrise +2030-10-26T11:32:42.407Z sunrise 2030-10-26T16:56:58.489Z Moon culminates 45.87 degrees above the horizon 2030-10-26T17:08:43.578Z Sun culminates 48.79 degrees above the horizon 2030-10-26T20:17:25.372Z new moon -2030-10-26T22:33:32.315Z moonset -2030-10-26T22:44:23.071Z sunset -2030-10-27T11:33:23.279Z sunrise -2030-10-27T12:23:35.643Z moonrise +2030-10-26T22:33:32.262Z moonset +2030-10-26T22:44:23.121Z sunset +2030-10-27T11:33:23.299Z sunrise +2030-10-27T12:23:35.768Z moonrise 2030-10-27T17:08:38.100Z Sun culminates 48.45 degrees above the horizon 2030-10-27T17:55:26.201Z Moon culminates 42.04 degrees above the horizon -2030-10-27T22:43:31.423Z sunset -2030-10-27T23:23:48.350Z moonset -2030-10-28T11:34:04.590Z sunrise +2030-10-27T22:43:31.471Z sunset +2030-10-27T23:23:48.247Z moonset +2030-10-28T11:34:04.612Z sunrise 2030-10-28T12:03:44.702Z lunar perigee at 361112 km -2030-10-28T13:31:40.552Z moonrise +2030-10-28T13:31:40.723Z moonrise 2030-10-28T17:08:33.369Z Sun culminates 48.12 degrees above the horizon 2030-10-28T18:56:45.025Z Moon culminates 39.55 degrees above the horizon -2030-10-28T22:42:40.856Z sunset -2030-10-29T00:19:56.322Z moonset +2030-10-28T22:42:40.900Z sunset +2030-10-29T00:19:56.173Z moonset 2030-10-29T02:51:15.262Z Venus moves from Virgo to Libra -2030-10-29T11:34:46.313Z sunrise -2030-10-29T14:37:23.793Z moonrise +2030-10-29T11:34:46.338Z sunrise +2030-10-29T14:37:23.972Z moonrise 2030-10-29T17:08:29.393Z Sun culminates 47.79 degrees above the horizon 2030-10-29T19:59:18.194Z Moon culminates 38.69 degrees above the horizon -2030-10-29T22:41:51.392Z sunset -2030-10-30T01:21:09.670Z moonset -2030-10-30T11:35:28.440Z sunrise -2030-10-30T15:38:10.629Z moonrise +2030-10-29T22:41:51.433Z sunset +2030-10-30T01:21:09.495Z moonset +2030-10-30T11:35:28.466Z sunrise +2030-10-30T15:38:10.786Z moonrise 2030-10-30T17:08:26.179Z Sun culminates 47.46 degrees above the horizon 2030-10-30T21:00:58.373Z Moon culminates 39.51 degrees above the horizon -2030-10-30T22:41:03.056Z sunset -2030-10-31T02:25:29.597Z moonset -2030-10-31T11:36:10.960Z sunrise -2030-10-31T16:32:32.259Z moonrise +2030-10-30T22:41:03.094Z sunset +2030-10-31T02:25:29.431Z moonset +2030-10-31T11:36:10.989Z sunrise +2030-10-31T16:32:32.374Z moonrise 2030-10-31T17:08:23.734Z Sun culminates 47.14 degrees above the horizon 2030-10-31T20:18:09.266Z Mercury aphelion at 0.4667 AU 2030-10-31T21:59:55.666Z Moon culminates 41.83 degrees above the horizon -2030-10-31T22:40:15.872Z sunset -2030-11-01T03:30:29.332Z moonset -2030-11-01T11:36:53.865Z sunrise +2030-10-31T22:40:15.906Z sunset +2030-11-01T03:30:29.207Z moonset +2030-11-01T11:36:53.896Z sunrise 2030-11-01T17:08:22.067Z Sun culminates 46.82 degrees above the horizon -2030-11-01T17:20:25.656Z moonrise -2030-11-01T22:39:29.865Z sunset +2030-11-01T17:20:25.726Z moonrise +2030-11-01T22:39:29.895Z sunset 2030-11-01T22:55:12.998Z Moon culminates 45.35 degrees above the horizon -2030-11-02T04:34:12.483Z moonset -2030-11-02T11:37:37.144Z sunrise +2030-11-02T04:34:12.416Z moonset +2030-11-02T11:37:37.177Z sunrise 2030-11-02T11:56:28.903Z first quarter 2030-11-02T17:08:21.184Z Sun culminates 46.50 degrees above the horizon -2030-11-02T18:02:48.649Z moonrise -2030-11-02T22:38:45.059Z sunset +2030-11-02T18:02:48.683Z moonrise +2030-11-02T22:38:45.086Z sunset 2030-11-02T23:46:49.109Z Moon culminates 49.69 degrees above the horizon -2030-11-03T05:35:41.937Z moonset -2030-11-03T11:38:20.787Z sunrise +2030-11-03T05:35:41.915Z moonset +2030-11-03T11:38:20.822Z sunrise 2030-11-03T17:08:21.093Z Sun culminates 46.19 degrees above the horizon -2030-11-03T18:41:04.603Z moonrise -2030-11-03T22:38:01.480Z sunset +2030-11-03T18:41:04.618Z moonrise +2030-11-03T22:38:01.503Z sunset 2030-11-04T00:35:20.466Z Moon culminates 54.53 degrees above the horizon -2030-11-04T06:34:53.168Z moonset -2030-11-04T11:39:04.785Z sunrise +2030-11-04T06:34:53.167Z moonset +2030-11-04T11:39:04.823Z sunrise 2030-11-04T17:08:21.802Z Sun culminates 45.88 degrees above the horizon -2030-11-04T19:16:39.380Z moonrise -2030-11-04T22:37:19.152Z sunset +2030-11-04T19:16:39.389Z moonrise +2030-11-04T22:37:19.172Z sunset 2030-11-05T01:21:40.947Z Moon culminates 59.57 degrees above the horizon -2030-11-05T07:32:12.683Z moonset -2030-11-05T11:39:49.128Z sunrise +2030-11-05T07:32:12.685Z moonset +2030-11-05T11:39:49.168Z sunrise 2030-11-05T17:08:23.319Z Sun culminates 45.58 degrees above the horizon 2030-11-05T19:43:15.884Z Jupiter moves from Libra to Scorpius -2030-11-05T19:50:52.017Z moonrise -2030-11-05T22:36:38.102Z sunset +2030-11-05T19:50:52.024Z moonrise +2030-11-05T22:36:38.118Z sunset 2030-11-06T02:06:47.811Z Moon culminates 64.58 degrees above the horizon -2030-11-06T08:28:17.851Z moonset -2030-11-06T11:40:33.806Z sunrise +2030-11-06T08:28:17.856Z moonset +2030-11-06T11:40:33.848Z sunrise 2030-11-06T17:08:25.651Z Sun culminates 45.28 degrees above the horizon -2030-11-06T20:24:52.997Z moonrise +2030-11-06T20:24:52.999Z moonrise 2030-11-06T22:19:51.492Z Mercury moves from Libra to Scorpius -2030-11-06T22:35:58.355Z sunset +2030-11-06T22:35:58.367Z sunset 2030-11-07T02:51:33.667Z Moon culminates 69.34 degrees above the horizon -2030-11-07T09:23:42.478Z moonset -2030-11-07T11:41:18.808Z sunrise +2030-11-07T09:23:42.497Z moonset +2030-11-07T11:41:18.854Z sunrise 2030-11-07T17:08:28.807Z Sun culminates 44.98 degrees above the horizon -2030-11-07T20:59:44.926Z moonrise -2030-11-07T22:35:19.935Z sunset +2030-11-07T20:59:44.915Z moonrise +2030-11-07T22:35:19.944Z sunset 2030-11-08T03:36:41.625Z Moon culminates 73.65 degrees above the horizon -2030-11-08T10:18:46.916Z moonset -2030-11-08T11:42:04.126Z sunrise +2030-11-08T10:18:46.965Z moonset +2030-11-08T11:42:04.174Z sunrise 2030-11-08T17:08:32.793Z Sun culminates 44.69 degrees above the horizon -2030-11-08T21:36:22.573Z moonrise -2030-11-08T22:34:42.869Z sunset +2030-11-08T21:36:22.537Z moonrise +2030-11-08T22:34:42.874Z sunset 2030-11-09T04:22:41.443Z Moon culminates 77.34 degrees above the horizon -2030-11-09T11:13:31.434Z moonset -2030-11-09T11:42:49.746Z sunrise +2030-11-09T11:13:31.522Z moonset +2030-11-09T11:42:49.797Z sunrise 2030-11-09T17:08:37.617Z Sun culminates 44.41 degrees above the horizon -2030-11-09T22:15:30.695Z moonrise -2030-11-09T22:34:07.182Z sunset +2030-11-09T22:15:30.628Z moonrise +2030-11-09T22:34:07.184Z sunset 2030-11-10T03:30:55.605Z full moon 2030-11-10T05:09:46.014Z Moon culminates 80.23 degrees above the horizon 2030-11-10T10:53:27.695Z Mars moves from Leo to Virgo -2030-11-10T11:43:35.658Z sunrise -2030-11-10T12:07:33.470Z moonset +2030-11-10T11:43:35.711Z sunrise +2030-11-10T12:07:33.592Z moonset 2030-11-10T17:08:43.284Z Sun culminates 44.13 degrees above the horizon -2030-11-10T22:33:32.899Z sunset -2030-11-10T22:57:39.327Z moonrise +2030-11-10T22:33:32.897Z sunset +2030-11-10T22:57:39.229Z moonrise 2030-11-11T05:57:49.250Z Moon culminates 82.20 degrees above the horizon -2030-11-11T11:44:21.847Z sunrise -2030-11-11T13:00:11.048Z moonset +2030-11-11T11:44:21.903Z sunrise +2030-11-11T13:00:11.191Z moonset 2030-11-11T17:08:49.802Z Sun culminates 43.85 degrees above the horizon -2030-11-11T22:33:00.045Z sunset -2030-11-11T23:42:58.031Z moonrise +2030-11-11T22:33:00.039Z sunset +2030-11-11T23:42:57.910Z moonrise 2030-11-12T06:46:27.553Z Moon culminates 83.13 degrees above the horizon -2030-11-12T11:45:08.300Z sunrise -2030-11-12T13:50:33.714Z moonset +2030-11-12T11:45:08.358Z sunrise +2030-11-12T13:50:33.859Z moonset 2030-11-12T17:08:57.174Z Sun culminates 43.58 degrees above the horizon 2030-11-12T20:45:35.442Z Mercury moves from Scorpius to Ophiuchus -2030-11-12T22:32:28.644Z sunset -2030-11-13T00:31:12.796Z moonrise +2030-11-12T22:32:28.634Z sunset +2030-11-13T00:31:12.663Z moonrise 2030-11-13T05:00:00.259Z lunar apogee at 405983 km 2030-11-13T07:35:06.475Z Moon culminates 83.00 degrees above the horizon -2030-11-13T11:45:54.999Z sunrise -2030-11-13T14:37:58.138Z moonset +2030-11-13T11:45:55.061Z sunrise +2030-11-13T14:37:58.272Z moonset 2030-11-13T17:09:05.404Z Sun culminates 43.32 degrees above the horizon -2030-11-13T22:31:58.719Z sunset -2030-11-14T01:21:49.683Z moonrise +2030-11-13T22:31:58.705Z sunset +2030-11-14T01:21:49.554Z moonrise 2030-11-14T08:23:11.414Z Moon culminates 81.83 degrees above the horizon -2030-11-14T11:46:41.928Z sunrise -2030-11-14T15:22:01.559Z moonset +2030-11-14T11:46:41.993Z sunrise +2030-11-14T15:22:01.670Z moonset 2030-11-14T17:09:14.494Z Sun culminates 43.06 degrees above the horizon -2030-11-14T22:31:30.292Z sunset -2030-11-15T02:14:06.000Z moonrise +2030-11-14T22:31:30.275Z sunset +2030-11-15T02:14:05.893Z moonrise 2030-11-15T09:10:18.398Z Moon culminates 79.67 degrees above the horizon -2030-11-15T11:47:29.067Z sunrise -2030-11-15T16:02:47.264Z moonset +2030-11-15T11:47:29.134Z sunrise +2030-11-15T16:02:47.344Z moonset 2030-11-15T17:09:24.445Z Sun culminates 42.80 degrees above the horizon -2030-11-15T22:31:03.385Z sunset -2030-11-16T03:07:24.633Z moonrise +2030-11-15T22:31:03.364Z sunset +2030-11-16T03:07:24.561Z moonrise 2030-11-16T09:56:20.960Z Moon culminates 76.65 degrees above the horizon -2030-11-16T11:48:16.393Z sunrise -2030-11-16T16:40:41.984Z moonset +2030-11-16T11:48:16.463Z sunrise +2030-11-16T16:40:42.033Z moonset 2030-11-16T17:09:35.256Z Sun culminates 42.55 degrees above the horizon 2030-11-16T18:13:37.750Z Mercury moves from Ophiuchus to Scorpius -2030-11-16T22:30:38.018Z sunset -2030-11-17T04:01:25.307Z moonrise +2030-11-16T22:30:37.993Z sunset +2030-11-17T04:01:25.272Z moonrise 2030-11-17T09:03:40.506Z Venus moves from Libra to Scorpius 2030-11-17T10:41:31.885Z Moon culminates 72.87 degrees above the horizon -2030-11-17T11:49:03.884Z sunrise +2030-11-17T11:49:03.956Z sunrise 2030-11-17T17:09:46.924Z Sun culminates 42.31 degrees above the horizon -2030-11-17T17:16:29.507Z moonset +2030-11-17T17:16:29.533Z moonset 2030-11-17T17:28:02.226Z Mercury moves from Scorpius to Ophiuchus -2030-11-17T22:30:14.208Z sunset -2030-11-18T04:56:09.430Z moonrise +2030-11-17T22:30:14.180Z sunset +2030-11-18T04:56:09.421Z moonrise 2030-11-18T08:32:53.219Z third quarter 2030-11-18T11:26:21.377Z Moon culminates 68.48 degrees above the horizon -2030-11-18T11:49:51.512Z sunrise +2030-11-18T11:49:51.587Z sunrise 2030-11-18T17:09:59.444Z Sun culminates 42.07 degrees above the horizon -2030-11-18T17:51:04.933Z moonset -2030-11-18T22:29:51.973Z sunset -2030-11-19T05:51:59.030Z moonrise +2030-11-18T17:51:04.946Z moonset +2030-11-18T22:29:51.942Z sunset +2030-11-19T05:51:59.031Z moonrise 2030-11-19T06:40:05.798Z Neptune moves from Pisces to Cetus -2030-11-19T11:50:39.250Z sunrise +2030-11-19T11:50:39.328Z sunrise 2030-11-19T12:11:33.851Z Moon culminates 63.62 degrees above the horizon 2030-11-19T17:10:12.809Z Sun culminates 41.84 degrees above the horizon -2030-11-19T18:25:31.686Z moonset -2030-11-19T22:29:31.328Z sunset -2030-11-20T06:49:31.641Z moonrise -2030-11-20T11:51:27.068Z sunrise +2030-11-19T18:25:31.694Z moonset +2030-11-19T22:29:31.293Z sunset +2030-11-20T06:49:31.643Z moonrise +2030-11-20T11:51:27.148Z sunrise 2030-11-20T12:58:04.507Z Moon culminates 58.46 degrees above the horizon 2030-11-20T17:10:27.012Z Sun culminates 41.61 degrees above the horizon -2030-11-20T19:01:01.255Z moonset -2030-11-20T22:29:12.285Z sunset -2030-11-21T07:49:31.555Z moonrise -2030-11-21T11:52:14.932Z sunrise +2030-11-20T19:01:01.261Z moonset +2030-11-20T22:29:12.246Z sunset +2030-11-21T07:49:31.563Z moonrise +2030-11-21T11:52:15.015Z sunrise 2030-11-21T13:46:55.029Z Moon culminates 53.24 degrees above the horizon 2030-11-21T17:10:42.041Z Sun culminates 41.39 degrees above the horizon -2030-11-21T19:38:54.250Z moonset -2030-11-21T22:28:54.855Z sunset +2030-11-21T19:38:54.245Z moonset +2030-11-21T22:28:54.813Z sunset 2030-11-22T03:34:35.170Z Venus moves from Scorpius to Ophiuchus -2030-11-22T08:52:35.398Z moonrise -2030-11-22T11:53:02.809Z sunrise +2030-11-22T08:52:35.434Z moonrise +2030-11-22T11:53:02.895Z sunrise 2030-11-22T14:39:05.841Z Moon culminates 48.27 degrees above the horizon 2030-11-22T17:10:57.884Z Sun culminates 41.18 degrees above the horizon -2030-11-22T20:20:39.764Z moonset -2030-11-22T22:28:39.048Z sunset -2030-11-23T09:58:48.898Z moonrise -2030-11-23T11:53:50.664Z sunrise +2030-11-22T20:20:39.733Z moonset +2030-11-22T22:28:39.003Z sunset +2030-11-23T09:58:48.989Z moonrise +2030-11-23T11:53:50.752Z sunrise 2030-11-23T15:35:20.940Z Moon culminates 43.93 degrees above the horizon 2030-11-23T17:11:14.526Z Sun culminates 40.97 degrees above the horizon -2030-11-23T21:07:47.473Z moonset -2030-11-23T22:28:24.871Z sunset -2030-11-24T11:07:16.947Z moonrise -2030-11-24T11:54:38.457Z sunrise +2030-11-23T21:07:47.398Z moonset +2030-11-23T22:28:24.823Z sunset +2030-11-24T11:07:17.097Z moonrise +2030-11-24T11:54:38.548Z sunrise 2030-11-24T16:35:43.404Z Moon culminates 40.68 degrees above the horizon 2030-11-24T17:11:31.952Z Sun culminates 40.77 degrees above the horizon -2030-11-24T22:01:24.651Z moonset -2030-11-24T22:28:12.329Z sunset +2030-11-24T22:01:24.525Z moonset +2030-11-24T22:28:12.277Z sunset 2030-11-25T06:46:57.272Z new moon -2030-11-25T11:55:26.151Z sunrise -2030-11-25T12:15:45.658Z moonrise +2030-11-25T11:55:26.244Z sunrise +2030-11-25T12:15:45.837Z moonrise 2030-11-25T17:11:50.143Z Sun culminates 40.57 degrees above the horizon 2030-11-25T17:39:10.457Z Moon culminates 38.94 degrees above the horizon 2030-11-25T21:10:07.676Z lunar perigee at 357510 km -2030-11-25T22:28:01.424Z sunset -2030-11-25T23:01:36.700Z moonset -2030-11-26T11:56:13.705Z sunrise -2030-11-26T13:21:09.580Z moonrise +2030-11-25T22:28:01.370Z sunset +2030-11-25T23:01:36.534Z moonset +2030-11-26T11:56:13.800Z sunrise +2030-11-26T13:21:09.749Z moonrise 2030-11-26T17:12:09.080Z Sun culminates 40.38 degrees above the horizon 2030-11-26T18:43:33.037Z Moon culminates 38.94 degrees above the horizon -2030-11-26T22:27:52.160Z sunset +2030-11-26T22:27:52.103Z sunset 2030-11-26T23:33:16.344Z Mercury max evening elongation: 21.80 degrees from Sun -2030-11-27T00:06:54.392Z moonset +2030-11-27T00:06:54.216Z moonset 2030-11-27T07:40:07.276Z Mercury moves from Ophiuchus to Sagittarius -2030-11-27T11:57:01.077Z sunrise -2030-11-27T14:20:47.716Z moonrise +2030-11-27T11:57:01.174Z sunrise +2030-11-27T14:20:47.849Z moonrise 2030-11-27T15:43:43.967Z Saturn opposition 2030-11-27T17:12:28.743Z Sun culminates 40.20 degrees above the horizon 2030-11-27T19:46:18.689Z Moon culminates 40.68 degrees above the horizon -2030-11-27T22:27:44.537Z sunset -2030-11-28T01:14:31.265Z moonset -2030-11-28T11:57:48.224Z sunrise +2030-11-27T22:27:44.477Z sunset +2030-11-28T01:14:31.118Z moonset +2030-11-28T11:57:48.323Z sunrise 2030-11-28T12:34:19.738Z Jupiter moves from Scorpius to Ophiuchus -2030-11-28T15:13:29.537Z moonrise +2030-11-28T15:13:29.623Z moonrise 2030-11-28T17:12:49.110Z Sun culminates 40.03 degrees above the horizon 2030-11-28T20:45:33.209Z Moon culminates 43.86 degrees above the horizon -2030-11-28T22:27:38.555Z sunset -2030-11-29T02:21:35.334Z moonset -2030-11-29T11:58:35.103Z sunrise -2030-11-29T15:59:38.383Z moonrise +2030-11-28T22:27:38.493Z sunset +2030-11-29T02:21:35.244Z moonset +2030-11-29T11:58:35.205Z sunrise +2030-11-29T15:59:38.427Z moonrise 2030-11-29T17:13:10.160Z Sun culminates 39.86 degrees above the horizon 2030-11-29T21:40:32.879Z Moon culminates 48.07 degrees above the horizon -2030-11-29T22:27:34.213Z sunset -2030-11-30T03:26:15.059Z moonset -2030-11-30T11:59:21.671Z sunrise +2030-11-29T22:27:34.149Z sunset +2030-11-30T03:26:15.023Z moonset +2030-11-30T11:59:21.775Z sunrise 2030-11-30T14:47:46.300Z Jupiter conjunction -2030-11-30T16:40:31.760Z moonrise +2030-11-30T16:40:31.779Z moonrise 2030-11-30T17:13:31.871Z Sun culminates 39.70 degrees above the horizon -2030-11-30T22:27:31.511Z sunset +2030-11-30T22:27:31.444Z sunset 2030-11-30T22:31:34.980Z Moon culminates 52.90 degrees above the horizon -2030-12-01T04:27:54.062Z moonset -2030-12-01T12:00:07.887Z sunrise +2030-12-01T04:27:54.056Z moonset +2030-12-01T12:00:07.993Z sunrise 2030-12-01T17:13:54.219Z Sun culminates 39.54 degrees above the horizon -2030-12-01T17:17:43.057Z moonrise -2030-12-01T22:27:30.445Z sunset +2030-12-01T17:17:43.066Z moonrise +2030-12-01T22:27:30.376Z sunset 2030-12-01T22:57:21.593Z first quarter 2030-12-01T23:19:30.988Z Moon culminates 58.00 degrees above the horizon -2030-12-02T05:26:48.861Z moonset -2030-12-02T12:00:53.708Z sunrise +2030-12-02T05:26:48.863Z moonset +2030-12-02T12:00:53.815Z sunrise 2030-12-02T17:14:17.184Z Sun culminates 39.39 degrees above the horizon -2030-12-02T17:52:41.792Z moonrise -2030-12-02T22:27:31.012Z sunset +2030-12-02T17:52:41.800Z moonrise +2030-12-02T22:27:30.941Z sunset 2030-12-03T00:05:24.071Z Moon culminates 63.09 degrees above the horizon -2030-12-03T06:23:40.453Z moonset -2030-12-03T12:01:39.092Z sunrise +2030-12-03T06:23:40.457Z moonset +2030-12-03T12:01:39.202Z sunrise 2030-12-03T17:14:40.742Z Sun culminates 39.25 degrees above the horizon -2030-12-03T18:26:47.834Z moonrise -2030-12-03T22:27:33.208Z sunset +2030-12-03T18:26:47.839Z moonrise +2030-12-03T22:27:33.134Z sunset 2030-12-04T00:50:16.057Z Moon culminates 67.94 degrees above the horizon -2030-12-04T07:19:13.513Z moonset -2030-12-04T12:02:24.000Z sunrise +2030-12-04T07:19:13.526Z moonset +2030-12-04T12:02:24.111Z sunrise 2030-12-04T17:15:04.869Z Sun culminates 39.12 degrees above the horizon -2030-12-04T19:01:11.605Z moonrise -2030-12-04T22:27:37.026Z sunset +2030-12-04T19:01:11.600Z moonrise +2030-12-04T22:27:36.950Z sunset 2030-12-05T01:35:00.781Z Moon culminates 72.39 degrees above the horizon -2030-12-05T08:14:03.295Z moonset -2030-12-05T12:03:08.391Z sunrise +2030-12-05T08:14:03.333Z moonset +2030-12-05T12:03:08.504Z sunrise 2030-12-05T17:15:29.544Z Sun culminates 38.99 degrees above the horizon -2030-12-05T19:36:55.167Z moonrise -2030-12-05T22:27:42.461Z sunset +2030-12-05T19:36:55.140Z moonrise +2030-12-05T22:27:42.384Z sunset 2030-12-06T02:20:19.960Z Moon culminates 76.26 degrees above the horizon -2030-12-06T09:08:27.188Z moonset -2030-12-06T12:03:52.226Z sunrise +2030-12-06T09:08:27.263Z moonset +2030-12-06T12:03:52.340Z sunrise 2030-12-06T17:15:54.744Z Sun culminates 38.87 degrees above the horizon -2030-12-06T20:14:51.530Z moonrise -2030-12-06T22:27:49.507Z sunset +2030-12-06T20:14:51.473Z moonrise +2030-12-06T22:27:49.427Z sunset 2030-12-06T23:39:59.438Z Venus moves from Ophiuchus to Sagittarius 2030-12-07T03:06:39.486Z Moon culminates 79.40 degrees above the horizon -2030-12-07T10:02:19.595Z moonset -2030-12-07T12:04:35.466Z sunrise +2030-12-07T10:02:19.708Z moonset +2030-12-07T12:04:35.581Z sunrise 2030-12-07T17:16:20.443Z Sun culminates 38.76 degrees above the horizon -2030-12-07T20:55:41.037Z moonrise -2030-12-07T22:27:58.154Z sunset +2030-12-07T20:55:40.948Z moonrise +2030-12-07T22:27:58.073Z sunset 2030-12-07T23:15:11.873Z Mars aphelion at 1.6660 AU 2030-12-08T03:54:06.070Z Moon culminates 81.66 degrees above the horizon -2030-12-08T10:55:11.493Z moonset -2030-12-08T12:05:18.072Z sunrise +2030-12-08T10:55:11.631Z moonset +2030-12-08T12:05:18.189Z sunrise 2030-12-08T17:16:46.620Z Sun culminates 38.65 degrees above the horizon -2030-12-08T21:39:45.229Z moonrise -2030-12-08T22:28:08.394Z sunset +2030-12-08T21:39:45.114Z moonrise +2030-12-08T22:28:08.311Z sunset 2030-12-09T04:42:25.996Z Moon culminates 82.94 degrees above the horizon -2030-12-09T11:46:17.061Z moonset -2030-12-09T12:06:00.007Z sunrise +2030-12-09T11:46:17.207Z moonset +2030-12-09T12:06:00.124Z sunrise 2030-12-09T17:17:13.251Z Sun culminates 38.56 degrees above the horizon -2030-12-09T22:27:00.975Z moonrise +2030-12-09T22:27:00.844Z moonrise 2030-12-09T22:27:32.805Z penumbral lunar eclipse -2030-12-09T22:28:20.216Z sunset +2030-12-09T22:28:20.132Z sunset 2030-12-09T22:41:06.081Z full moon 2030-12-10T05:31:08.508Z Moon culminates 83.17 degrees above the horizon 2030-12-10T10:04:09.170Z lunar apogee at 406359 km -2030-12-10T12:06:41.231Z sunrise -2030-12-10T12:34:47.433Z moonset +2030-12-10T12:06:41.350Z sunrise +2030-12-10T12:34:47.572Z moonset 2030-12-10T17:17:40.309Z Sun culminates 38.47 degrees above the horizon -2030-12-10T22:28:33.610Z sunset -2030-12-10T23:16:59.703Z moonrise +2030-12-10T22:28:33.525Z sunset +2030-12-10T23:16:59.570Z moonrise 2030-12-11T06:19:34.804Z Moon culminates 82.34 degrees above the horizon -2030-12-11T12:07:21.708Z sunrise -2030-12-11T13:20:06.695Z moonset +2030-12-11T12:07:21.828Z sunrise +2030-12-11T13:20:06.815Z moonset 2030-12-11T17:18:07.771Z Sun culminates 38.38 degrees above the horizon -2030-12-11T22:28:48.563Z sunset -2030-12-12T00:08:55.340Z moonrise +2030-12-11T22:28:48.477Z sunset +2030-12-12T00:08:55.224Z moonrise 2030-12-12T07:07:10.151Z Moon culminates 80.51 degrees above the horizon -2030-12-12T12:08:01.399Z sunrise -2030-12-12T14:02:02.731Z moonset +2030-12-12T12:08:01.520Z sunrise +2030-12-12T14:02:02.822Z moonset 2030-12-12T17:18:35.611Z Sun culminates 38.31 degrees above the horizon 2030-12-12T20:20:48.511Z Uranus opposition -2030-12-12T22:29:05.060Z sunset -2030-12-13T01:01:59.209Z moonrise +2030-12-12T22:29:04.973Z sunset +2030-12-13T01:01:59.124Z moonrise 2030-12-13T07:53:34.265Z Moon culminates 77.76 degrees above the horizon -2030-12-13T12:08:40.266Z sunrise -2030-12-13T14:40:49.077Z moonset +2030-12-13T12:08:40.388Z sunrise +2030-12-13T14:40:49.137Z moonset 2030-12-13T17:19:03.800Z Sun culminates 38.24 degrees above the horizon 2030-12-13T18:04:46.544Z Mercury moves from Sagittarius to Ophiuchus -2030-12-13T22:29:23.085Z sunset -2030-12-14T01:55:35.124Z moonrise +2030-12-13T22:29:22.997Z sunset +2030-12-14T01:55:35.077Z moonrise 2030-12-14T08:38:46.479Z Moon culminates 74.25 degrees above the horizon -2030-12-14T12:09:18.272Z sunrise -2030-12-14T15:17:00.016Z moonset +2030-12-14T12:09:18.394Z sunrise +2030-12-14T15:17:00.049Z moonset 2030-12-14T17:19:32.312Z Sun culminates 38.18 degrees above the horizon 2030-12-14T19:56:36.674Z Mercury perihelion at 0.3075 AU -2030-12-14T22:29:42.620Z sunset -2030-12-15T02:49:28.573Z moonrise +2030-12-14T22:29:42.531Z sunset +2030-12-15T02:49:28.556Z moonrise 2030-12-15T09:23:05.701Z Moon culminates 70.10 degrees above the horizon -2030-12-15T12:09:55.376Z sunrise -2030-12-15T15:51:23.921Z moonset +2030-12-15T12:09:55.499Z sunrise +2030-12-15T15:51:23.938Z moonset 2030-12-15T17:20:01.117Z Sun culminates 38.13 degrees above the horizon 2030-12-15T19:06:40.168Z Mercury inferior conjunction -2030-12-15T22:30:03.645Z sunset -2030-12-16T03:43:48.534Z moonrise +2030-12-15T22:30:03.555Z sunset +2030-12-16T03:43:48.533Z moonrise 2030-12-16T10:07:07.507Z Moon culminates 65.49 degrees above the horizon -2030-12-16T12:10:31.541Z sunrise -2030-12-16T16:24:58.508Z moonset +2030-12-16T12:10:31.665Z sunrise +2030-12-16T16:24:58.518Z moonset 2030-12-16T17:20:30.185Z Sun culminates 38.09 degrees above the horizon -2030-12-16T22:30:26.137Z sunset -2030-12-17T04:39:04.067Z moonrise +2030-12-16T22:30:26.046Z sunset +2030-12-17T04:39:04.070Z moonrise 2030-12-17T10:51:40.622Z Moon culminates 60.56 degrees above the horizon -2030-12-17T12:11:06.728Z sunrise -2030-12-17T16:58:49.125Z moonset +2030-12-17T12:11:06.851Z sunrise +2030-12-17T16:58:49.133Z moonset 2030-12-17T17:20:59.483Z Sun culminates 38.05 degrees above the horizon -2030-12-17T22:30:50.071Z sunset +2030-12-17T22:30:49.980Z sunset 2030-12-18T00:01:43.657Z third quarter -2030-12-18T05:35:57.798Z moonrise +2030-12-18T05:35:57.802Z moonrise 2030-12-18T11:37:43.530Z Moon culminates 55.52 degrees above the horizon -2030-12-18T12:11:40.896Z sunrise +2030-12-18T12:11:41.020Z sunrise 2030-12-18T17:21:28.978Z Sun culminates 38.02 degrees above the horizon -2030-12-18T17:34:09.521Z moonset -2030-12-18T22:31:15.420Z sunset -2030-12-19T06:35:16.283Z moonrise -2030-12-19T12:12:14.008Z sunrise +2030-12-18T17:34:09.524Z moonset +2030-12-18T22:31:15.329Z sunset +2030-12-19T06:35:16.303Z moonrise +2030-12-19T12:12:14.132Z sunrise 2030-12-19T12:26:20.135Z Moon culminates 50.57 degrees above the horizon 2030-12-19T17:21:58.637Z Sun culminates 38.00 degrees above the horizon -2030-12-19T18:12:23.395Z moonset -2030-12-19T22:31:42.155Z sunset -2030-12-20T07:37:34.732Z moonrise -2030-12-20T12:12:46.023Z sunrise +2030-12-19T18:12:23.380Z moonset +2030-12-19T22:31:42.063Z sunset +2030-12-20T07:37:34.793Z moonrise +2030-12-20T12:12:46.148Z sunrise 2030-12-20T13:18:31.503Z Moon culminates 46.03 degrees above the horizon 2030-12-20T17:22:28.424Z Sun culminates 37.99 degrees above the horizon -2030-12-20T18:55:03.304Z moonset -2030-12-20T22:32:10.242Z sunset -2030-12-21T08:42:53.159Z moonrise -2030-12-21T12:13:16.903Z sunrise +2030-12-20T18:55:03.254Z moonset +2030-12-20T22:32:10.150Z sunset +2030-12-21T08:42:53.279Z moonrise +2030-12-21T12:13:17.028Z sunrise 2030-12-21T14:14:59.516Z Moon culminates 42.27 degrees above the horizon 2030-12-21T17:22:58.302Z Sun culminates 37.99 degrees above the horizon -2030-12-21T19:43:40.529Z moonset +2030-12-21T19:43:40.430Z moonset 2030-12-21T20:09:37.885Z December solstice -2030-12-21T22:32:39.648Z sunset -2030-12-22T09:50:07.779Z moonrise -2030-12-22T12:13:46.610Z sunrise +2030-12-21T22:32:39.556Z sunset +2030-12-22T09:50:07.946Z moonrise +2030-12-22T12:13:46.734Z sunrise 2030-12-22T15:15:41.189Z Moon culminates 39.70 degrees above the horizon 2030-12-22T17:23:28.234Z Sun culminates 37.99 degrees above the horizon -2030-12-22T20:39:17.633Z moonset -2030-12-22T22:33:10.336Z sunset -2030-12-23T10:56:59.029Z moonrise -2030-12-23T12:14:15.105Z sunrise +2030-12-22T20:39:17.486Z moonset +2030-12-22T22:33:10.243Z sunset +2030-12-23T10:56:59.208Z moonrise +2030-12-23T12:14:15.229Z sunrise 2030-12-23T16:19:24.751Z Moon culminates 38.72 degrees above the horizon 2030-12-23T17:23:58.182Z Sun culminates 38.00 degrees above the horizon -2030-12-23T21:41:44.938Z moonset -2030-12-23T22:33:42.265Z sunset +2030-12-23T21:41:44.762Z moonset +2030-12-23T22:33:42.173Z sunset 2030-12-24T10:08:22.257Z lunar perigee at 356919 km -2030-12-24T12:00:27.260Z moonrise -2030-12-24T12:14:42.350Z sunrise +2030-12-24T12:00:27.415Z moonrise +2030-12-24T12:14:42.474Z sunrise 2030-12-24T17:23:54.194Z Moon culminates 39.50 degrees above the horizon 2030-12-24T17:24:28.106Z Sun culminates 38.02 degrees above the horizon 2030-12-24T17:32:41.557Z new moon -2030-12-24T22:34:15.397Z sunset -2030-12-24T22:49:11.141Z moonset +2030-12-24T22:34:15.305Z sunset +2030-12-24T22:49:10.971Z moonset 2030-12-25T05:39:46.474Z Venus aphelion at 0.7282 AU -2030-12-25T12:15:08.310Z sunrise -2030-12-25T12:58:09.447Z moonrise +2030-12-25T12:15:08.433Z sunrise +2030-12-25T12:58:09.558Z moonrise 2030-12-25T17:24:57.968Z Sun culminates 38.04 degrees above the horizon 2030-12-25T18:26:37.473Z Moon culminates 41.99 degrees above the horizon -2030-12-25T22:34:49.689Z sunset -2030-12-25T23:58:33.088Z moonset -2030-12-26T12:15:32.946Z sunrise -2030-12-26T13:49:14.540Z moonrise +2030-12-25T22:34:49.597Z sunset +2030-12-25T23:58:32.964Z moonset +2030-12-26T12:15:33.070Z sunrise +2030-12-26T13:49:14.603Z moonrise 2030-12-26T17:25:27.728Z Sun culminates 38.08 degrees above the horizon 2030-12-26T19:25:47.417Z Moon culminates 45.83 degrees above the horizon -2030-12-26T22:35:25.098Z sunset -2030-12-27T01:06:56.109Z moonset -2030-12-27T12:15:56.227Z sunrise -2030-12-27T14:34:17.124Z moonrise +2030-12-26T22:35:25.007Z sunset +2030-12-27T01:06:56.047Z moonset +2030-12-27T12:15:56.349Z sunrise +2030-12-27T14:34:17.151Z moonrise 2030-12-27T17:25:57.348Z Sun culminates 38.12 degrees above the horizon 2030-12-27T20:20:48.312Z Moon culminates 50.57 degrees above the horizon -2030-12-27T22:36:01.583Z sunset -2030-12-28T02:12:35.776Z moonset -2030-12-28T12:16:18.117Z sunrise -2030-12-28T15:14:37.209Z moonrise +2030-12-27T22:36:01.493Z sunset +2030-12-28T02:12:35.759Z moonset +2030-12-28T12:16:18.239Z sunrise +2030-12-28T15:14:37.220Z moonrise 2030-12-28T17:26:26.790Z Sun culminates 38.17 degrees above the horizon 2030-12-28T21:12:02.360Z Moon culminates 55.77 degrees above the horizon -2030-12-28T22:36:39.101Z sunset +2030-12-28T22:36:39.011Z sunset 2030-12-29T03:15:03.795Z moonset -2030-12-29T12:16:38.589Z sunrise -2030-12-29T15:51:46.157Z moonrise +2030-12-29T12:16:38.710Z sunrise +2030-12-29T15:51:46.164Z moonrise 2030-12-29T17:26:56.019Z Sun culminates 38.23 degrees above the horizon 2030-12-29T22:00:22.393Z Moon culminates 61.06 degrees above the horizon -2030-12-29T22:37:17.608Z sunset -2030-12-30T04:14:41.038Z moonset -2030-12-30T12:16:57.613Z sunrise -2030-12-30T16:27:10.372Z moonrise +2030-12-29T22:37:17.519Z sunset +2030-12-30T04:14:41.040Z moonset +2030-12-30T12:16:57.734Z sunrise +2030-12-30T16:27:10.378Z moonrise 2030-12-30T17:27:24.999Z Sun culminates 38.29 degrees above the horizon -2030-12-30T22:37:57.061Z sunset +2030-12-30T22:37:56.973Z sunset 2030-12-30T22:46:50.427Z Moon culminates 66.16 degrees above the horizon -2030-12-31T05:12:08.484Z moonset -2030-12-31T12:17:15.166Z sunrise +2030-12-31T05:12:08.491Z moonset +2030-12-31T12:17:15.285Z sunrise 2030-12-31T13:36:41.444Z first quarter -2030-12-31T17:02:06.922Z moonrise +2030-12-31T17:02:06.921Z moonrise 2030-12-31T17:27:53.695Z Sun culminates 38.37 degrees above the horizon -2030-12-31T22:38:37.416Z sunset +2030-12-31T22:38:37.329Z sunset 2030-12-31T23:32:25.503Z Moon culminates 70.86 degrees above the horizon -2031-01-01T06:08:07.185Z moonset -2031-01-01T12:17:31.224Z sunrise +2031-01-01T06:08:07.212Z moonset +2031-01-01T12:17:31.342Z sunrise 2031-01-01T17:28:22.077Z Sun culminates 38.45 degrees above the horizon -2031-01-01T17:37:43.762Z moonrise -2031-01-01T22:39:18.632Z sunset +2031-01-01T17:37:43.743Z moonrise +2031-01-01T22:39:18.546Z sunset 2031-01-02T00:17:57.380Z Moon culminates 74.98 degrees above the horizon -2031-01-02T07:03:06.209Z moonset +2031-01-02T07:03:06.271Z moonset 2031-01-02T09:24:09.464Z Venus moves from Sagittarius to Capricornus -2031-01-02T12:17:45.767Z sunrise +2031-01-02T12:17:45.884Z sunrise 2031-01-02T17:28:50.111Z Sun culminates 38.54 degrees above the horizon -2031-01-02T18:15:00.087Z moonrise -2031-01-02T22:40:00.664Z sunset +2031-01-02T18:15:00.040Z moonrise +2031-01-02T22:40:00.580Z sunset 2031-01-03T01:04:02.562Z Moon culminates 78.39 degrees above the horizon -2031-01-03T07:57:15.632Z moonset -2031-01-03T12:17:58.778Z sunrise +2031-01-03T07:57:15.733Z moonset +2031-01-03T12:17:58.894Z sunrise 2031-01-03T17:29:17.770Z Sun culminates 38.63 degrees above the horizon -2031-01-03T18:54:44.556Z moonrise -2031-01-03T22:40:43.473Z sunset +2031-01-03T18:54:44.478Z moonrise +2031-01-03T22:40:43.390Z sunset 2031-01-04T01:51:00.949Z Moon culminates 80.96 degrees above the horizon -2031-01-04T08:50:23.696Z moonset -2031-01-04T12:18:10.242Z sunrise +2031-01-04T08:50:23.828Z moonset +2031-01-04T12:18:10.356Z sunrise 2031-01-04T17:29:45.024Z Sun culminates 38.74 degrees above the horizon -2031-01-04T19:37:30.702Z moonrise +2031-01-04T19:37:30.595Z moonrise 2031-01-04T19:54:09.900Z Mercury max morning elongation: 22.88 degrees from Sun 2031-01-04T20:57:00.410Z Earth perihelion at 0.9833 AU -2031-01-04T22:41:27.017Z sunset +2031-01-04T22:41:26.935Z sunset 2031-01-05T02:38:53.460Z Moon culminates 82.59 degrees above the horizon -2031-01-05T09:41:59.369Z moonset -2031-01-05T12:18:20.145Z sunrise +2031-01-05T09:41:59.515Z moonset +2031-01-05T12:18:20.258Z sunrise 2031-01-05T17:30:11.849Z Sun culminates 38.85 degrees above the horizon -2031-01-05T20:23:30.726Z moonrise -2031-01-05T22:42:11.255Z sunset +2031-01-05T20:23:30.599Z moonrise +2031-01-05T22:42:11.174Z sunset 2031-01-06T03:27:22.434Z Moon culminates 83.19 degrees above the horizon -2031-01-06T10:31:21.455Z moonset +2031-01-06T10:31:21.598Z moonset 2031-01-06T11:00:00.689Z lunar apogee at 406157 km -2031-01-06T12:18:28.478Z sunrise +2031-01-06T12:18:28.590Z sunrise 2031-01-06T17:30:38.218Z Sun culminates 38.97 degrees above the horizon -2031-01-06T21:12:31.328Z moonrise -2031-01-06T22:42:56.148Z sunset +2031-01-06T21:12:31.195Z moonrise +2031-01-06T22:42:56.069Z sunset 2031-01-07T04:15:56.750Z Moon culminates 82.74 degrees above the horizon -2031-01-07T11:17:52.316Z moonset -2031-01-07T12:18:35.232Z sunrise +2031-01-07T11:17:52.444Z moonset +2031-01-07T12:18:35.342Z sunrise 2031-01-07T17:31:04.108Z Sun culminates 39.09 degrees above the horizon -2031-01-07T22:03:56.153Z moonrise -2031-01-07T22:43:41.657Z sunset +2031-01-07T22:03:56.029Z moonrise +2031-01-07T22:43:41.580Z sunset 2031-01-08T05:04:01.444Z Moon culminates 81.25 degrees above the horizon -2031-01-08T12:01:10.641Z moonset -2031-01-08T12:18:40.399Z sunrise +2031-01-08T12:01:10.742Z moonset +2031-01-08T12:18:40.507Z sunrise 2031-01-08T17:31:29.496Z Sun culminates 39.23 degrees above the horizon 2031-01-08T18:26:25.368Z full moon -2031-01-08T22:44:27.744Z sunset -2031-01-08T22:56:56.543Z moonrise +2031-01-08T22:44:27.669Z sunset +2031-01-08T22:56:56.446Z moonrise 2031-01-09T05:51:08.678Z Moon culminates 78.80 degrees above the horizon 2031-01-09T11:15:57.850Z Mercury moves from Ophiuchus to Sagittarius -2031-01-09T12:18:43.974Z sunrise -2031-01-09T12:41:17.763Z moonset +2031-01-09T12:18:44.081Z sunrise +2031-01-09T12:41:17.832Z moonset 2031-01-09T17:31:54.362Z Sun culminates 39.37 degrees above the horizon -2031-01-09T22:45:14.371Z sunset -2031-01-09T23:50:46.701Z moonrise +2031-01-09T22:45:14.298Z sunset +2031-01-09T23:50:46.641Z moonrise 2031-01-10T06:37:05.810Z Moon culminates 75.52 degrees above the horizon -2031-01-10T12:18:45.954Z sunrise -2031-01-10T13:18:36.512Z moonset +2031-01-10T12:18:46.059Z sunrise +2031-01-10T13:18:36.553Z moonset 2031-01-10T17:32:18.684Z Sun culminates 39.51 degrees above the horizon -2031-01-10T22:46:01.501Z sunset -2031-01-11T00:44:56.438Z moonrise +2031-01-10T22:46:01.430Z sunset +2031-01-11T00:44:56.412Z moonrise 2031-01-11T07:21:58.482Z Moon culminates 71.56 degrees above the horizon -2031-01-11T12:18:46.337Z sunrise -2031-01-11T13:53:45.917Z moonset +2031-01-11T12:18:46.440Z sunrise +2031-01-11T13:53:45.938Z moonset 2031-01-11T17:32:42.443Z Sun culminates 39.67 degrees above the horizon -2031-01-11T22:46:49.097Z sunset -2031-01-12T01:39:17.202Z moonrise +2031-01-11T22:46:49.029Z sunset +2031-01-12T01:39:17.198Z moonrise 2031-01-12T08:06:09.551Z Moon culminates 67.09 degrees above the horizon -2031-01-12T12:18:45.120Z sunrise -2031-01-12T14:27:35.849Z moonset +2031-01-12T12:18:45.221Z sunrise +2031-01-12T14:27:35.861Z moonset 2031-01-12T17:33:05.621Z Sun culminates 39.83 degrees above the horizon -2031-01-12T22:47:37.122Z sunset -2031-01-13T02:34:01.604Z moonrise +2031-01-12T22:47:37.055Z sunset +2031-01-13T02:34:01.607Z moonrise 2031-01-13T08:50:16.090Z Moon culminates 62.29 degrees above the horizon -2031-01-13T12:18:42.304Z sunrise -2031-01-13T15:01:03.886Z moonset +2031-01-13T12:18:42.403Z sunrise +2031-01-13T15:01:03.894Z moonset 2031-01-13T17:33:28.197Z Sun culminates 40.00 degrees above the horizon -2031-01-13T22:48:25.537Z sunset -2031-01-14T03:29:38.728Z moonrise +2031-01-13T22:48:25.474Z sunset +2031-01-14T03:29:38.731Z moonrise 2031-01-14T09:35:06.045Z Moon culminates 57.34 degrees above the horizon -2031-01-14T12:18:37.889Z sunrise -2031-01-14T15:35:14.690Z moonset +2031-01-14T12:18:37.986Z sunrise +2031-01-14T15:35:14.695Z moonset 2031-01-14T17:33:50.154Z Sun culminates 40.17 degrees above the horizon -2031-01-14T22:49:14.307Z sunset -2031-01-15T04:26:46.726Z moonrise +2031-01-14T22:49:14.246Z sunset +2031-01-15T04:26:46.738Z moonrise 2031-01-15T10:21:34.666Z Moon culminates 52.45 degrees above the horizon -2031-01-15T12:18:31.877Z sunrise -2031-01-15T16:11:20.956Z moonset +2031-01-15T12:18:31.972Z sunrise +2031-01-15T16:11:20.950Z moonset 2031-01-15T17:34:11.475Z Sun culminates 40.36 degrees above the horizon -2031-01-15T22:50:03.394Z sunset -2031-01-16T05:26:02.202Z moonrise +2031-01-15T22:50:03.335Z sunset +2031-01-16T05:26:02.243Z moonrise 2031-01-16T10:15:20.653Z Neptune moves from Cetus to Pisces 2031-01-16T11:10:39.369Z Moon culminates 47.87 degrees above the horizon -2031-01-16T12:18:24.270Z sunrise +2031-01-16T12:18:24.362Z sunrise 2031-01-16T12:47:46.378Z third quarter -2031-01-16T16:50:44.012Z moonset +2031-01-16T16:50:43.979Z moonset 2031-01-16T17:34:32.140Z Sun culminates 40.55 degrees above the horizon -2031-01-16T22:50:52.759Z sunset -2031-01-17T06:27:44.532Z moonrise +2031-01-16T22:50:52.704Z sunset +2031-01-17T06:27:44.624Z moonrise 2031-01-17T12:03:10.423Z Moon culminates 43.89 degrees above the horizon -2031-01-17T12:18:15.070Z sunrise -2031-01-17T17:34:50.458Z moonset +2031-01-17T12:18:15.160Z sunrise +2031-01-17T17:34:50.383Z moonset 2031-01-17T17:34:52.134Z Sun culminates 40.74 degrees above the horizon -2031-01-17T22:51:42.365Z sunset -2031-01-18T07:31:34.841Z moonrise -2031-01-18T12:18:04.283Z sunrise +2031-01-17T22:51:42.312Z sunset +2031-01-18T07:31:34.986Z moonrise +2031-01-18T12:18:04.370Z sunrise 2031-01-18T12:59:34.868Z Moon culminates 40.85 degrees above the horizon 2031-01-18T17:35:11.438Z Sun culminates 40.94 degrees above the horizon -2031-01-18T18:24:58.931Z moonset -2031-01-18T22:52:32.172Z sunset -2031-01-19T08:36:17.136Z moonrise -2031-01-19T12:17:51.911Z sunrise +2031-01-18T18:24:58.808Z moonset +2031-01-18T22:52:32.123Z sunset +2031-01-19T08:36:17.311Z moonrise +2031-01-19T12:17:51.996Z sunrise 2031-01-19T13:59:35.334Z Moon culminates 39.11 degrees above the horizon 2031-01-19T17:35:30.035Z Sun culminates 41.15 degrees above the horizon -2031-01-19T19:21:51.771Z moonset -2031-01-19T22:53:22.142Z sunset -2031-01-20T09:39:41.186Z moonrise -2031-01-20T12:17:37.961Z sunrise +2031-01-19T19:21:51.610Z moonset +2031-01-19T22:53:22.096Z sunset +2031-01-20T09:39:41.356Z moonrise +2031-01-20T12:17:38.043Z sunrise 2031-01-20T15:01:56.057Z Moon culminates 38.94 degrees above the horizon 2031-01-20T17:35:47.909Z Sun culminates 41.37 degrees above the horizon -2031-01-20T20:24:58.750Z moonset -2031-01-20T22:54:12.236Z sunset -2031-01-21T10:39:23.276Z moonrise -2031-01-21T12:17:22.437Z sunrise +2031-01-20T20:24:58.575Z moonset +2031-01-20T22:54:12.193Z sunset +2031-01-21T10:39:23.412Z moonrise +2031-01-21T12:17:22.517Z sunrise 2031-01-21T16:04:35.894Z Moon culminates 40.47 degrees above the horizon 2031-01-21T17:36:05.044Z Sun culminates 41.59 degrees above the horizon -2031-01-21T21:32:23.194Z moonset +2031-01-21T21:32:23.042Z moonset 2031-01-21T21:43:00.713Z lunar perigee at 359627 km -2031-01-21T22:55:02.416Z sunset -2031-01-22T11:33:45.211Z moonrise -2031-01-22T12:17:05.348Z sunrise +2031-01-21T22:55:02.376Z sunset +2031-01-22T11:33:45.300Z moonrise +2031-01-22T12:17:05.425Z sunrise 2031-01-22T17:05:31.595Z Moon culminates 43.55 degrees above the horizon 2031-01-22T17:36:21.422Z Sun culminates 41.82 degrees above the horizon -2031-01-22T22:41:19.435Z moonset -2031-01-22T22:55:52.642Z sunset +2031-01-22T22:41:19.338Z moonset +2031-01-22T22:55:52.606Z sunset 2031-01-23T04:31:25.224Z new moon -2031-01-23T12:16:46.698Z sunrise -2031-01-23T12:22:25.279Z moonrise +2031-01-23T12:16:46.772Z sunrise +2031-01-23T12:22:25.323Z moonrise 2031-01-23T17:36:37.030Z Sun culminates 42.05 degrees above the horizon 2031-01-23T18:03:22.406Z Moon culminates 47.84 degrees above the horizon -2031-01-23T22:56:42.879Z sunset -2031-01-23T23:49:20.340Z moonset +2031-01-23T22:56:42.846Z sunset +2031-01-23T23:49:20.302Z moonset 2031-01-24T10:50:51.854Z Venus moves from Capricornus to Aquarius -2031-01-24T12:16:26.497Z sunrise -2031-01-24T13:06:05.239Z moonrise +2031-01-24T12:16:26.569Z sunrise +2031-01-24T13:06:05.256Z moonrise 2031-01-24T17:36:51.853Z Sun culminates 42.29 degrees above the horizon 2031-01-24T18:57:45.457Z Moon culminates 52.91 degrees above the horizon -2031-01-24T22:57:33.091Z sunset -2031-01-25T00:55:00.719Z moonset -2031-01-25T12:16:04.753Z sunrise -2031-01-25T13:45:58.893Z moonrise +2031-01-24T22:57:33.061Z sunset +2031-01-25T00:55:00.713Z moonset +2031-01-25T12:16:04.822Z sunrise +2031-01-25T13:45:58.900Z moonrise 2031-01-25T17:37:05.879Z Sun culminates 42.54 degrees above the horizon 2031-01-25T19:49:02.894Z Moon culminates 58.31 degrees above the horizon -2031-01-25T22:58:23.243Z sunset -2031-01-26T01:57:56.958Z moonset -2031-01-26T12:15:41.478Z sunrise -2031-01-26T14:23:27.630Z moonrise +2031-01-25T22:58:23.217Z sunset +2031-01-26T01:57:56.960Z moonset +2031-01-26T12:15:41.544Z sunrise +2031-01-26T14:23:27.636Z moonrise 2031-01-26T17:37:19.098Z Sun culminates 42.79 degrees above the horizon 2031-01-26T20:38:00.372Z Moon culminates 63.68 degrees above the horizon -2031-01-26T22:59:13.304Z sunset -2031-01-27T02:58:23.729Z moonset -2031-01-27T12:15:16.683Z sunrise -2031-01-27T14:59:48.720Z moonrise +2031-01-26T22:59:13.282Z sunset +2031-01-27T02:58:23.732Z moonset +2031-01-27T12:15:16.747Z sunrise +2031-01-27T14:59:48.723Z moonrise 2031-01-27T17:37:31.499Z Sun culminates 43.05 degrees above the horizon 2031-01-27T19:33:59.662Z Mercury aphelion at 0.4667 AU 2031-01-27T21:25:30.077Z Moon culminates 68.72 degrees above the horizon -2031-01-27T23:00:03.243Z sunset -2031-01-28T03:56:50.033Z moonset -2031-01-28T12:14:50.384Z sunrise -2031-01-28T15:36:11.741Z moonrise +2031-01-27T23:00:03.225Z sunset +2031-01-28T03:56:50.048Z moonset +2031-01-28T12:14:50.445Z sunrise +2031-01-28T15:36:11.731Z moonrise 2031-01-28T17:37:43.077Z Sun culminates 43.31 degrees above the horizon 2031-01-28T22:12:20.469Z Moon culminates 73.21 degrees above the horizon -2031-01-28T23:00:53.030Z sunset -2031-01-29T04:53:42.431Z moonset -2031-01-29T12:14:22.596Z sunrise -2031-01-29T16:13:37.870Z moonrise +2031-01-28T23:00:53.016Z sunset +2031-01-29T04:53:42.476Z moonset +2031-01-29T12:14:22.654Z sunrise +2031-01-29T16:13:37.837Z moonrise 2031-01-29T17:37:53.825Z Sun culminates 43.58 degrees above the horizon 2031-01-29T22:59:10.422Z Moon culminates 76.99 degrees above the horizon -2031-01-29T23:01:42.639Z sunset -2031-01-30T05:49:15.075Z moonset +2031-01-29T23:01:42.628Z sunset +2031-01-30T05:49:15.159Z moonset 2031-01-30T07:43:41.208Z first quarter -2031-01-30T12:13:53.336Z sunrise -2031-01-30T16:52:58.799Z moonrise +2031-01-30T12:13:53.391Z sunrise +2031-01-30T16:52:58.735Z moonrise 2031-01-30T17:38:03.740Z Sun culminates 43.85 degrees above the horizon -2031-01-30T23:02:32.045Z sunset +2031-01-30T23:02:32.038Z sunset 2031-01-30T23:46:25.520Z Moon culminates 79.93 degrees above the horizon -2031-01-31T06:43:25.092Z moonset -2031-01-31T12:13:22.624Z sunrise +2031-01-31T06:43:25.210Z moonset +2031-01-31T12:13:22.676Z sunrise 2031-01-31T17:27:12.560Z Pluto conjunction -2031-01-31T17:34:53.810Z moonrise +2031-01-31T17:34:53.715Z moonrise 2031-01-31T17:38:12.819Z Sun culminates 44.13 degrees above the horizon -2031-01-31T23:03:21.225Z sunset +2031-01-31T23:03:21.222Z sunset 2031-02-01T00:34:15.736Z Moon culminates 81.94 degrees above the horizon -2031-02-01T07:35:53.100Z moonset -2031-02-01T12:12:50.480Z sunrise +2031-02-01T07:35:53.240Z moonset +2031-02-01T12:12:50.530Z sunrise 2031-02-01T14:26:32.237Z Mars moves from Virgo to Libra 2031-02-01T17:38:21.063Z Sun culminates 44.41 degrees above the horizon 2031-02-01T17:38:57.059Z Mercury moves from Sagittarius to Capricornus -2031-02-01T18:19:45.183Z moonrise -2031-02-01T23:04:10.158Z sunset +2031-02-01T18:19:45.065Z moonrise +2031-02-01T23:04:10.159Z sunset 2031-02-02T01:22:35.097Z Moon culminates 82.94 degrees above the horizon -2031-02-02T08:26:09.144Z moonset -2031-02-02T12:12:16.926Z sunrise +2031-02-02T08:26:09.287Z moonset +2031-02-02T12:12:16.973Z sunrise 2031-02-02T17:38:28.474Z Sun culminates 44.70 degrees above the horizon -2031-02-02T19:07:33.956Z moonrise -2031-02-02T23:04:58.827Z sunset +2031-02-02T19:07:33.826Z moonrise +2031-02-02T23:04:58.831Z sunset 2031-02-02T23:43:10.233Z lunar apogee at 405403 km 2031-02-03T02:11:04.506Z Moon culminates 82.89 degrees above the horizon -2031-02-03T09:13:42.861Z moonset -2031-02-03T12:11:41.986Z sunrise +2031-02-03T09:13:42.993Z moonset +2031-02-03T12:11:42.031Z sunrise 2031-02-03T17:38:35.055Z Sun culminates 44.99 degrees above the horizon -2031-02-03T19:57:59.414Z moonrise -2031-02-03T23:05:47.216Z sunset +2031-02-03T19:57:59.287Z moonrise +2031-02-03T23:05:47.224Z sunset 2031-02-04T02:59:18.081Z Moon culminates 81.81 degrees above the horizon -2031-02-04T09:58:14.291Z moonset -2031-02-04T12:11:05.684Z sunrise +2031-02-04T09:58:14.401Z moonset +2031-02-04T12:11:05.726Z sunrise 2031-02-04T17:38:40.811Z Sun culminates 45.29 degrees above the horizon -2031-02-04T20:50:24.889Z moonrise -2031-02-04T23:06:35.310Z sunset +2031-02-04T20:50:24.781Z moonrise +2031-02-04T23:06:35.321Z sunset 2031-02-05T03:46:51.588Z Moon culminates 79.73 degrees above the horizon -2031-02-05T10:39:40.961Z moonset -2031-02-05T12:10:28.045Z sunrise +2031-02-05T10:39:41.041Z moonset +2031-02-05T12:10:28.085Z sunrise 2031-02-05T17:38:45.749Z Sun culminates 45.59 degrees above the horizon -2031-02-05T21:44:08.932Z moonrise -2031-02-05T23:07:23.097Z sunset +2031-02-05T21:44:08.858Z moonrise +2031-02-05T23:07:23.113Z sunset 2031-02-06T04:33:30.126Z Moon culminates 76.76 degrees above the horizon -2031-02-06T11:18:19.205Z moonset -2031-02-06T12:09:49.096Z sunrise +2031-02-06T11:18:19.255Z moonset +2031-02-06T12:09:49.133Z sunrise 2031-02-06T17:38:49.877Z Sun culminates 45.90 degrees above the horizon -2031-02-06T22:38:37.371Z moonrise -2031-02-06T23:08:10.568Z sunset +2031-02-06T22:38:37.334Z moonrise +2031-02-06T23:08:10.587Z sunset 2031-02-07T05:19:12.709Z Moon culminates 73.04 degrees above the horizon -2031-02-07T11:54:41.094Z moonset -2031-02-07T12:09:08.863Z sunrise +2031-02-07T11:54:41.120Z moonset +2031-02-07T12:09:08.898Z sunrise 2031-02-07T12:46:44.146Z full moon 2031-02-07T17:38:53.203Z Sun culminates 46.21 degrees above the horizon -2031-02-07T23:08:57.713Z sunset -2031-02-07T23:33:31.514Z moonrise +2031-02-07T23:08:57.736Z sunset +2031-02-07T23:33:31.504Z moonrise 2031-02-08T06:04:13.199Z Moon culminates 68.71 degrees above the horizon -2031-02-08T12:08:27.374Z sunrise -2031-02-08T12:29:29.984Z moonset +2031-02-08T12:08:27.407Z sunrise +2031-02-08T12:29:29.997Z moonset 2031-02-08T17:38:55.739Z Sun culminates 46.53 degrees above the horizon -2031-02-08T23:09:44.526Z sunset -2031-02-09T00:28:50.613Z moonrise +2031-02-08T23:09:44.553Z sunset +2031-02-09T00:28:50.614Z moonrise 2031-02-09T06:48:58.660Z Moon culminates 63.97 degrees above the horizon -2031-02-09T12:07:44.656Z sunrise -2031-02-09T13:03:37.073Z moonset +2031-02-09T12:07:44.687Z sunrise +2031-02-09T13:03:37.082Z moonset 2031-02-09T17:38:57.494Z Sun culminates 46.85 degrees above the horizon -2031-02-09T23:10:31.000Z sunset -2031-02-10T01:24:49.435Z moonrise +2031-02-09T23:10:31.030Z sunset +2031-02-10T01:24:49.438Z moonrise 2031-02-10T07:34:06.543Z Moon culminates 59.03 degrees above the horizon -2031-02-10T12:07:00.738Z sunrise -2031-02-10T13:37:59.843Z moonset +2031-02-10T12:07:00.766Z sunrise +2031-02-10T13:37:59.850Z moonset 2031-02-10T17:38:58.479Z Sun culminates 47.17 degrees above the horizon -2031-02-10T23:11:17.129Z sunset -2031-02-11T02:21:52.504Z moonrise +2031-02-10T23:11:17.163Z sunset +2031-02-11T02:21:52.511Z moonrise 2031-02-11T08:20:21.328Z Moon culminates 54.10 degrees above the horizon -2031-02-11T12:06:15.646Z sunrise -2031-02-11T14:13:42.001Z moonset +2031-02-11T12:06:15.672Z sunrise +2031-02-11T14:13:42.000Z moonset 2031-02-11T17:38:58.706Z Sun culminates 47.50 degrees above the horizon -2031-02-11T23:12:02.910Z sunset -2031-02-12T03:20:25.522Z moonrise +2031-02-11T23:12:02.947Z sunset +2031-02-12T03:20:25.550Z moonrise 2031-02-12T09:08:30.135Z Moon culminates 49.43 degrees above the horizon -2031-02-12T12:05:29.409Z sunrise -2031-02-12T14:51:53.584Z moonset +2031-02-12T12:05:29.433Z sunrise +2031-02-12T14:51:53.563Z moonset 2031-02-12T17:38:58.187Z Sun culminates 47.83 degrees above the horizon -2031-02-12T23:12:48.336Z sunset -2031-02-13T04:20:43.469Z moonrise +2031-02-12T23:12:48.376Z sunset +2031-02-13T04:20:43.541Z moonrise 2031-02-13T09:59:15.859Z Moon culminates 45.30 degrees above the horizon -2031-02-13T12:04:42.055Z sunrise -2031-02-13T15:33:48.879Z moonset +2031-02-13T12:04:42.077Z sunrise +2031-02-13T15:33:48.821Z moonset 2031-02-13T17:38:56.934Z Sun culminates 48.17 degrees above the horizon -2031-02-13T23:13:33.405Z sunset -2031-02-14T05:22:35.509Z moonrise +2031-02-13T23:13:33.448Z sunset +2031-02-14T05:22:35.633Z moonrise 2031-02-14T10:53:06.331Z Moon culminates 42.00 degrees above the horizon -2031-02-14T12:03:53.610Z sunrise -2031-02-14T16:20:38.506Z moonset +2031-02-14T12:03:53.630Z sunrise +2031-02-14T16:20:38.404Z moonset 2031-02-14T17:38:54.956Z Sun culminates 48.51 degrees above the horizon 2031-02-14T22:50:18.668Z third quarter -2031-02-14T23:14:18.111Z sunset -2031-02-15T06:25:10.978Z moonrise +2031-02-14T23:14:18.157Z sunset +2031-02-15T06:25:11.141Z moonrise 2031-02-15T11:50:00.137Z Moon culminates 39.82 degrees above the horizon -2031-02-15T12:03:04.102Z sunrise +2031-02-15T12:03:04.120Z sunrise 2031-02-15T13:52:53.844Z Venus moves from Aquarius to Pisces -2031-02-15T17:13:12.098Z moonset +2031-02-15T17:13:11.955Z moonset 2031-02-15T17:38:52.267Z Sun culminates 48.85 degrees above the horizon -2031-02-15T23:15:02.449Z sunset -2031-02-16T07:26:57.512Z moonrise -2031-02-16T12:02:13.558Z sunrise +2031-02-15T23:15:02.499Z sunset +2031-02-16T07:26:57.683Z moonrise +2031-02-16T12:02:13.575Z sunrise 2031-02-16T12:49:15.136Z Moon culminates 39.03 degrees above the horizon 2031-02-16T17:38:48.877Z Sun culminates 49.19 degrees above the horizon -2031-02-16T18:11:33.326Z moonset -2031-02-16T23:15:46.416Z sunset -2031-02-17T08:26:02.782Z moonrise -2031-02-17T12:01:22.005Z sunrise +2031-02-16T18:11:33.159Z moonset +2031-02-16T23:15:46.469Z sunset +2031-02-17T08:26:02.934Z moonrise +2031-02-17T12:01:22.020Z sunrise 2031-02-17T13:49:30.879Z Moon culminates 39.78 degrees above the horizon 2031-02-17T17:38:44.798Z Sun culminates 49.54 degrees above the horizon -2031-02-17T19:14:41.760Z moonset -2031-02-17T23:16:30.007Z sunset +2031-02-17T19:14:41.599Z moonset +2031-02-17T23:16:30.062Z sunset 2031-02-18T01:39:19.073Z Mercury moves from Capricornus to Aquarius -2031-02-18T09:20:54.527Z moonrise -2031-02-18T12:00:29.467Z sunrise +2031-02-18T09:20:54.638Z moonrise +2031-02-18T12:00:29.481Z sunrise 2031-02-18T14:49:11.420Z Moon culminates 42.05 degrees above the horizon 2031-02-18T17:38:40.038Z Sun culminates 49.90 degrees above the horizon -2031-02-18T20:20:43.059Z moonset -2031-02-18T23:17:13.216Z sunset +2031-02-18T20:20:42.937Z moonset +2031-02-18T23:17:13.274Z sunset 2031-02-19T00:42:13.927Z lunar perigee at 364738 km -2031-02-19T10:10:52.515Z moonrise -2031-02-19T11:59:35.972Z sunrise +2031-02-19T10:10:52.580Z moonrise +2031-02-19T11:59:35.984Z sunrise 2031-02-19T15:46:57.951Z Moon culminates 45.65 degrees above the horizon 2031-02-19T17:38:34.610Z Sun culminates 50.25 degrees above the horizon -2031-02-19T21:27:29.620Z moonset -2031-02-19T23:17:56.039Z sunset -2031-02-20T10:56:12.138Z moonrise -2031-02-20T11:58:41.544Z sunrise +2031-02-19T21:27:29.556Z moonset +2031-02-19T23:17:56.100Z sunset +2031-02-20T10:56:12.167Z moonrise +2031-02-20T11:58:41.554Z sunrise 2031-02-20T13:20:08.185Z Mercury superior conjunction 2031-02-20T16:42:10.413Z Moon culminates 50.24 degrees above the horizon 2031-02-20T17:38:28.523Z Sun culminates 50.61 degrees above the horizon -2031-02-20T22:33:23.388Z moonset -2031-02-20T23:18:38.473Z sunset -2031-02-21T11:37:46.254Z moonrise -2031-02-21T11:57:46.207Z sunrise +2031-02-20T22:33:23.369Z moonset +2031-02-20T23:18:38.537Z sunset +2031-02-21T11:37:46.265Z moonrise +2031-02-21T11:57:46.216Z sunrise 2031-02-21T15:49:18.673Z new moon 2031-02-21T17:34:48.466Z Moon culminates 55.43 degrees above the horizon 2031-02-21T17:38:21.789Z Sun culminates 50.97 degrees above the horizon -2031-02-21T23:19:20.515Z sunset -2031-02-21T23:37:33.413Z moonset -2031-02-22T11:56:49.987Z sunrise -2031-02-22T12:16:43.904Z moonrise +2031-02-21T23:19:20.580Z sunset +2031-02-21T23:37:33.412Z moonset +2031-02-22T11:56:49.995Z sunrise +2031-02-22T12:16:43.910Z moonrise 2031-02-22T17:38:14.418Z Sun culminates 51.34 degrees above the horizon 2031-02-22T18:25:18.967Z Moon culminates 60.84 degrees above the horizon -2031-02-22T23:20:02.161Z sunset -2031-02-23T00:39:47.956Z moonset -2031-02-23T11:55:52.908Z sunrise -2031-02-23T12:54:16.247Z moonrise +2031-02-22T23:20:02.229Z sunset +2031-02-23T00:39:47.958Z moonset +2031-02-23T11:55:52.915Z sunrise +2031-02-23T12:54:16.252Z moonrise 2031-02-23T17:38:06.423Z Sun culminates 51.70 degrees above the horizon 2031-02-23T19:14:21.148Z Moon culminates 66.11 degrees above the horizon -2031-02-23T23:20:43.411Z sunset -2031-02-24T01:40:16.338Z moonset -2031-02-24T11:54:54.996Z sunrise -2031-02-24T13:31:29.942Z moonrise +2031-02-23T23:20:43.482Z sunset +2031-02-24T01:40:16.344Z moonset +2031-02-24T11:54:55.003Z sunrise +2031-02-24T13:31:29.940Z moonrise 2031-02-24T17:37:57.815Z Sun culminates 52.07 degrees above the horizon 2031-02-24T20:02:35.206Z Moon culminates 70.95 degrees above the horizon -2031-02-24T23:21:24.265Z sunset -2031-02-25T02:39:12.089Z moonset -2031-02-25T11:53:56.277Z sunrise -2031-02-25T14:09:24.517Z moonrise +2031-02-24T23:21:24.337Z sunset +2031-02-25T02:39:12.116Z moonset +2031-02-25T11:53:56.282Z sunrise +2031-02-25T14:09:24.497Z moonrise 2031-02-25T17:37:48.608Z Sun culminates 52.44 degrees above the horizon 2031-02-25T18:06:00.726Z Venus moves from Pisces to Cetus 2031-02-25T20:50:34.903Z Moon culminates 75.14 degrees above the horizon -2031-02-25T23:22:04.722Z sunset -2031-02-26T03:36:41.406Z moonset -2031-02-26T11:52:56.776Z sunrise -2031-02-26T14:48:50.647Z moonrise +2031-02-25T23:22:04.796Z sunset +2031-02-26T03:36:41.469Z moonset +2031-02-26T11:52:56.781Z sunrise +2031-02-26T14:48:50.599Z moonrise 2031-02-26T17:37:38.816Z Sun culminates 52.82 degrees above the horizon 2031-02-26T21:38:43.033Z Moon culminates 78.52 degrees above the horizon -2031-02-26T23:22:44.785Z sunset +2031-02-26T23:22:44.861Z sunset 2031-02-27T01:32:39.666Z Venus moves from Cetus to Pisces -2031-02-27T04:32:37.307Z moonset -2031-02-27T11:51:56.521Z sunrise -2031-02-27T15:30:27.620Z moonrise +2031-02-27T04:32:37.407Z moonset +2031-02-27T11:51:56.525Z sunrise +2031-02-27T15:30:27.540Z moonrise 2031-02-27T17:37:28.454Z Sun culminates 53.19 degrees above the horizon 2031-02-27T22:27:09.038Z Moon culminates 80.96 degrees above the horizon -2031-02-27T23:23:24.457Z sunset -2031-02-28T05:26:39.414Z moonset -2031-02-28T11:50:55.540Z sunrise -2031-02-28T16:14:39.821Z moonrise +2031-02-27T23:23:24.535Z sunset +2031-02-28T05:26:39.542Z moonset +2031-02-28T11:50:55.543Z sunrise +2031-02-28T16:14:39.715Z moonrise 2031-02-28T17:37:17.538Z Sun culminates 53.57 degrees above the horizon 2031-02-28T23:15:48.943Z Moon culminates 82.39 degrees above the horizon -2031-02-28T23:24:03.743Z sunset +2031-02-28T23:24:03.823Z sunset 2031-03-01T04:02:52.670Z first quarter -2031-03-01T06:18:19.160Z moonset -2031-03-01T11:49:53.859Z sunrise -2031-03-01T17:01:33.568Z moonrise +2031-03-01T06:18:19.299Z moonset +2031-03-01T11:49:53.862Z sunrise +2031-03-01T17:01:33.445Z moonrise 2031-03-01T17:37:06.084Z Sun culminates 53.95 degrees above the horizon -2031-03-01T23:24:42.648Z sunset +2031-03-01T23:24:42.729Z sunset 2031-03-02T00:04:28.104Z Moon culminates 82.78 degrees above the horizon -2031-03-02T07:07:08.829Z moonset -2031-03-02T11:48:51.510Z sunrise +2031-03-02T07:07:08.964Z moonset +2031-03-02T11:48:51.512Z sunrise 2031-03-02T17:36:54.112Z Sun culminates 54.33 degrees above the horizon -2031-03-02T17:50:56.735Z moonrise +2031-03-02T17:50:56.609Z moonrise 2031-03-02T18:58:03.831Z lunar apogee at 404520 km -2031-03-02T23:25:21.181Z sunset +2031-03-02T23:25:21.264Z sunset 2031-03-03T00:52:46.688Z Moon culminates 82.12 degrees above the horizon -2031-03-03T07:52:51.030Z moonset -2031-03-03T11:47:48.519Z sunrise +2031-03-03T07:52:51.148Z moonset +2031-03-03T11:47:48.521Z sunrise 2031-03-03T17:36:41.640Z Sun culminates 54.71 degrees above the horizon -2031-03-03T18:42:23.085Z moonrise -2031-03-03T23:25:59.350Z sunset +2031-03-03T18:42:22.972Z moonrise +2031-03-03T23:25:59.435Z sunset 2031-03-04T01:40:26.543Z Moon culminates 80.47 degrees above the horizon 2031-03-04T06:08:29.630Z Mercury moves from Aquarius to Pisces -2031-03-04T08:35:24.798Z moonset -2031-03-04T11:46:44.918Z sunrise +2031-03-04T08:35:24.888Z moonset +2031-03-04T11:46:44.919Z sunrise 2031-03-04T17:36:28.689Z Sun culminates 55.10 degrees above the horizon -2031-03-04T19:35:20.780Z moonrise -2031-03-04T23:26:37.167Z sunset +2031-03-04T19:35:20.694Z moonrise +2031-03-04T23:26:37.253Z sunset 2031-03-05T02:27:17.297Z Moon culminates 77.89 degrees above the horizon -2031-03-05T09:15:06.640Z moonset -2031-03-05T11:45:40.737Z sunrise +2031-03-05T09:15:06.701Z moonset +2031-03-05T11:45:40.738Z sunrise 2031-03-05T17:36:15.279Z Sun culminates 55.48 degrees above the horizon -2031-03-05T20:29:21.988Z moonrise -2031-03-05T23:27:14.644Z sunset +2031-03-05T20:29:21.939Z moonrise +2031-03-05T23:27:14.731Z sunset 2031-03-06T03:13:20.042Z Moon culminates 74.50 degrees above the horizon -2031-03-06T09:52:27.739Z moonset -2031-03-06T11:44:36.007Z sunrise +2031-03-06T09:52:27.773Z moonset +2031-03-06T11:44:36.008Z sunrise 2031-03-06T17:36:01.433Z Sun culminates 55.87 degrees above the horizon -2031-03-06T21:24:10.060Z moonrise -2031-03-06T23:27:51.793Z sunset +2031-03-06T21:24:10.041Z moonrise +2031-03-06T23:27:51.882Z sunset 2031-03-07T01:21:41.688Z Jupiter moves from Ophiuchus to Sagittarius 2031-03-07T03:58:48.246Z Moon culminates 70.42 degrees above the horizon -2031-03-07T10:28:09.898Z moonset -2031-03-07T11:43:30.759Z sunrise +2031-03-07T10:28:09.914Z moonset +2031-03-07T11:43:30.859Z sunrise 2031-03-07T17:35:47.174Z Sun culminates 56.26 degrees above the horizon -2031-03-07T22:19:42.437Z moonrise -2031-03-07T23:28:28.630Z sunset +2031-03-07T22:19:42.435Z moonrise +2031-03-07T23:28:28.720Z sunset 2031-03-08T04:44:06.641Z Moon culminates 65.84 degrees above the horizon -2031-03-08T11:03:02.300Z moonset -2031-03-08T11:42:25.024Z sunrise +2031-03-08T11:03:02.310Z moonset +2031-03-08T11:42:25.122Z sunrise 2031-03-08T17:35:32.524Z Sun culminates 56.65 degrees above the horizon -2031-03-08T23:16:09.385Z moonrise -2031-03-08T23:29:05.169Z sunset +2031-03-08T23:16:09.387Z moonrise +2031-03-08T23:29:05.260Z sunset 2031-03-09T04:30:07.741Z full moon 2031-03-09T05:29:48.952Z Moon culminates 60.93 degrees above the horizon -2031-03-09T11:37:59.823Z moonset -2031-03-09T11:41:18.832Z sunrise +2031-03-09T11:37:59.830Z moonset +2031-03-09T11:41:18.930Z sunrise 2031-03-09T17:35:17.507Z Sun culminates 57.04 degrees above the horizon -2031-03-09T23:29:41.426Z sunset -2031-03-10T00:13:49.290Z moonrise +2031-03-09T23:29:41.518Z sunset +2031-03-10T00:13:49.294Z moonrise 2031-03-10T06:16:34.811Z Moon culminates 55.92 degrees above the horizon -2031-03-10T11:40:12.217Z sunrise -2031-03-10T12:14:02.549Z moonset +2031-03-10T11:40:12.314Z sunrise +2031-03-10T12:14:02.552Z moonset 2031-03-10T17:35:02.146Z Sun culminates 57.43 degrees above the horizon -2031-03-10T23:30:17.418Z sunset -2031-03-11T01:13:00.835Z moonrise +2031-03-10T23:30:17.511Z sunset +2031-03-11T01:13:00.852Z moonrise 2031-03-11T07:05:05.430Z Moon culminates 51.09 degrees above the horizon -2031-03-11T11:39:05.208Z sunrise -2031-03-11T12:52:15.358Z moonset +2031-03-11T11:39:05.304Z sunrise +2031-03-11T12:52:15.346Z moonset 2031-03-11T17:34:46.466Z Sun culminates 57.82 degrees above the horizon -2031-03-11T23:30:53.160Z sunset -2031-03-12T02:13:51.931Z moonrise +2031-03-11T23:30:53.254Z sunset +2031-03-12T02:13:51.984Z moonrise 2031-03-12T07:55:57.010Z Moon culminates 46.72 degrees above the horizon -2031-03-12T11:37:57.835Z sunrise -2031-03-12T13:33:45.602Z moonset +2031-03-12T11:37:57.931Z sunrise +2031-03-12T13:33:45.559Z moonset 2031-03-12T17:34:30.488Z Sun culminates 58.21 degrees above the horizon 2031-03-12T19:12:27.324Z Mercury perihelion at 0.3075 AU -2031-03-12T23:31:28.667Z sunset -2031-03-13T03:16:06.169Z moonrise +2031-03-12T23:31:28.762Z sunset +2031-03-13T03:16:06.273Z moonrise 2031-03-13T08:49:31.046Z Moon culminates 43.12 degrees above the horizon -2031-03-13T11:36:50.131Z sunrise -2031-03-13T14:19:36.051Z moonset +2031-03-13T11:36:50.225Z sunrise +2031-03-13T14:19:35.965Z moonset 2031-03-13T17:34:14.237Z Sun culminates 58.61 degrees above the horizon -2031-03-13T23:32:03.957Z sunset -2031-03-14T04:18:51.143Z moonrise +2031-03-13T23:32:04.053Z sunset +2031-03-14T04:18:51.292Z moonrise 2031-03-14T09:45:42.637Z Moon culminates 40.59 degrees above the horizon -2031-03-14T11:35:42.124Z sunrise -2031-03-14T15:10:30.610Z moonset +2031-03-14T11:35:42.218Z sunrise +2031-03-14T15:10:30.482Z moonset 2031-03-14T17:33:57.735Z Sun culminates 59.00 degrees above the horizon -2031-03-14T23:32:39.042Z sunset -2031-03-15T05:20:38.219Z moonrise +2031-03-14T23:32:39.139Z sunset +2031-03-15T05:20:38.386Z moonrise 2031-03-15T10:43:52.161Z Moon culminates 39.38 degrees above the horizon -2031-03-15T11:34:33.844Z sunrise -2031-03-15T16:06:34.724Z moonset +2031-03-15T11:34:33.937Z sunrise +2031-03-15T16:06:34.567Z moonset 2031-03-15T17:33:41.003Z Sun culminates 59.40 degrees above the horizon 2031-03-15T18:02:37.668Z Venus moves from Pisces to Aries -2031-03-15T23:33:13.937Z sunset -2031-03-16T06:19:42.688Z moonrise +2031-03-15T23:33:14.034Z sunset +2031-03-16T06:19:42.845Z moonrise 2031-03-16T06:36:18.466Z third quarter -2031-03-16T11:33:25.320Z sunrise +2031-03-16T11:33:25.412Z sunrise 2031-03-16T11:42:48.934Z Moon culminates 39.64 degrees above the horizon -2031-03-16T17:07:01.587Z moonset +2031-03-16T17:07:01.426Z moonset 2031-03-16T17:33:24.062Z Sun culminates 59.79 degrees above the horizon -2031-03-16T23:33:48.654Z sunset -2031-03-17T07:14:38.923Z moonrise -2031-03-17T11:32:16.580Z sunrise +2031-03-16T23:33:48.752Z sunset +2031-03-17T07:14:39.046Z moonrise +2031-03-17T11:32:16.672Z sunrise 2031-03-17T12:41:10.813Z Moon culminates 41.35 degrees above the horizon 2031-03-17T17:33:06.932Z Sun culminates 60.19 degrees above the horizon -2031-03-17T18:10:19.815Z moonset +2031-03-17T18:10:19.682Z moonset 2031-03-17T18:55:01.739Z lunar perigee at 369624 km -2031-03-17T23:34:23.205Z sunset -2031-03-18T08:04:48.445Z moonrise -2031-03-18T11:31:07.653Z sunrise +2031-03-17T23:34:23.305Z sunset +2031-03-18T08:04:48.526Z moonrise +2031-03-18T11:31:07.745Z sunrise 2031-03-18T12:05:02.056Z Mercury max evening elongation: 18.47 degrees from Sun 2031-03-18T13:37:50.783Z Moon culminates 44.36 degrees above the horizon 2031-03-18T17:32:49.634Z Sun culminates 60.58 degrees above the horizon -2031-03-18T19:14:44.426Z moonset -2031-03-18T23:34:57.601Z sunset -2031-03-19T08:50:23.899Z moonrise -2031-03-19T11:29:58.566Z sunrise +2031-03-18T19:14:44.344Z moonset +2031-03-18T23:34:57.602Z sunset +2031-03-19T08:50:23.940Z moonrise +2031-03-19T11:29:58.656Z sunrise 2031-03-19T14:32:14.651Z Moon culminates 48.43 degrees above the horizon 2031-03-19T17:32:32.185Z Sun culminates 60.98 degrees above the horizon -2031-03-19T20:18:51.162Z moonset -2031-03-19T23:35:31.853Z sunset -2031-03-20T09:32:13.772Z moonrise -2031-03-20T11:28:49.344Z sunrise +2031-03-19T20:18:51.130Z moonset +2031-03-19T23:35:31.854Z sunset +2031-03-20T09:32:13.789Z moonrise +2031-03-20T11:28:49.434Z sunrise 2031-03-20T15:24:22.488Z Moon culminates 53.22 degrees above the horizon 2031-03-20T17:32:14.603Z Sun culminates 61.37 degrees above the horizon 2031-03-20T19:40:52.746Z March equinox -2031-03-20T21:21:53.062Z moonset +2031-03-20T21:21:53.056Z moonset 2031-03-20T23:36:05.971Z sunset -2031-03-21T10:11:23.400Z moonrise -2031-03-21T11:27:40.014Z sunrise +2031-03-21T10:11:23.407Z moonrise +2031-03-21T11:27:40.103Z sunrise 2031-03-21T16:14:38.879Z Moon culminates 58.41 degrees above the horizon 2031-03-21T17:31:56.907Z Sun culminates 61.77 degrees above the horizon -2031-03-21T22:23:36.627Z moonset -2031-03-21T23:36:39.962Z sunset -2031-03-22T10:49:01.671Z moonrise -2031-03-22T11:26:30.600Z sunrise +2031-03-21T22:23:36.628Z moonset +2031-03-21T23:36:39.963Z sunset +2031-03-22T10:49:01.676Z moonrise +2031-03-22T11:26:30.689Z sunrise 2031-03-22T17:03:40.439Z Moon culminates 63.65 degrees above the horizon 2031-03-22T17:31:39.112Z Sun culminates 62.16 degrees above the horizon -2031-03-22T23:24:07.717Z moonset +2031-03-22T23:24:07.720Z moonset 2031-03-22T23:37:13.838Z sunset 2031-03-23T03:49:35.902Z new moon -2031-03-23T11:25:21.128Z sunrise -2031-03-23T11:26:14.256Z moonrise +2031-03-23T11:25:21.216Z sunrise +2031-03-23T11:26:14.258Z moonrise 2031-03-23T17:31:21.237Z Sun culminates 62.56 degrees above the horizon 2031-03-23T17:52:05.346Z Moon culminates 68.65 degrees above the horizon 2031-03-23T23:37:47.605Z sunset -2031-03-24T00:23:36.450Z moonset -2031-03-24T11:24:11.622Z sunrise -2031-03-24T12:04:00.534Z moonrise +2031-03-24T00:23:36.464Z moonset +2031-03-24T11:24:11.709Z sunrise +2031-03-24T12:04:00.524Z moonrise 2031-03-24T17:31:03.297Z Sun culminates 62.95 degrees above the horizon 2031-03-24T18:40:25.744Z Moon culminates 73.15 degrees above the horizon -2031-03-24T23:38:21.272Z sunset -2031-03-25T01:22:05.387Z moonset -2031-03-25T11:23:02.107Z sunrise -2031-03-25T12:43:11.418Z moonrise +2031-03-24T23:38:21.273Z sunset +2031-03-25T01:22:05.430Z moonset +2031-03-25T11:23:02.193Z sunrise +2031-03-25T12:43:11.385Z moonrise 2031-03-25T17:30:45.308Z Sun culminates 63.34 degrees above the horizon 2031-03-25T19:29:02.487Z Moon culminates 76.91 degrees above the horizon -2031-03-25T23:38:54.849Z sunset -2031-03-26T02:19:22.560Z moonset -2031-03-26T11:21:52.607Z sunrise -2031-03-26T13:24:26.464Z moonrise +2031-03-25T23:38:54.850Z sunset +2031-03-26T02:19:22.641Z moonset +2031-03-26T11:21:52.692Z sunrise +2031-03-26T13:24:26.401Z moonrise 2031-03-26T17:30:27.289Z Sun culminates 63.74 degrees above the horizon 2031-03-26T20:18:02.093Z Moon culminates 79.79 degrees above the horizon -2031-03-26T23:39:28.342Z sunset -2031-03-27T03:15:00.455Z moonset -2031-03-27T11:20:43.149Z sunrise -2031-03-27T14:08:10.128Z moonrise +2031-03-26T23:39:28.343Z sunset +2031-03-27T03:15:00.569Z moonset +2031-03-27T11:20:43.233Z sunrise +2031-03-27T14:08:10.035Z moonrise 2031-03-27T17:30:09.255Z Sun culminates 64.13 degrees above the horizon 2031-03-27T21:07:16.540Z Moon culminates 81.67 degrees above the horizon -2031-03-27T23:40:01.760Z sunset -2031-03-28T04:08:21.556Z moonset -2031-03-28T11:19:33.756Z sunrise -2031-03-28T14:54:28.587Z moonrise +2031-03-27T23:40:01.762Z sunset +2031-03-28T04:08:21.689Z moonset +2031-03-28T11:19:33.839Z sunrise +2031-03-28T14:54:28.473Z moonrise 2031-03-28T17:29:51.223Z Sun culminates 64.52 degrees above the horizon 2031-03-28T21:56:26.610Z Moon culminates 82.49 degrees above the horizon -2031-03-28T23:40:35.113Z sunset -2031-03-29T04:58:48.967Z moonset -2031-03-29T11:18:24.456Z sunrise -2031-03-29T15:43:09.606Z moonrise +2031-03-28T23:40:35.115Z sunset +2031-03-29T04:58:49.101Z moonset +2031-03-29T11:18:24.538Z sunrise +2031-03-29T15:43:09.483Z moonrise 2031-03-29T17:29:33.212Z Sun culminates 64.91 degrees above the horizon 2031-03-29T22:45:08.448Z Moon culminates 82.26 degrees above the horizon -2031-03-29T23:41:08.411Z sunset -2031-03-30T05:45:57.839Z moonset -2031-03-30T11:17:15.275Z sunrise +2031-03-29T23:41:08.413Z sunset +2031-03-30T05:45:57.961Z moonset +2031-03-30T11:17:15.356Z sunrise 2031-03-30T15:24:20.600Z lunar apogee at 404215 km -2031-03-30T16:33:47.309Z moonrise +2031-03-30T16:33:47.192Z moonrise 2031-03-30T17:29:15.240Z Sun culminates 65.30 degrees above the horizon 2031-03-30T23:33:01.444Z Moon culminates 81.02 degrees above the horizon -2031-03-30T23:41:41.662Z sunset +2031-03-30T23:41:41.666Z sunset 2031-03-31T00:32:53.294Z first quarter -2031-03-31T06:29:42.736Z moonset -2031-03-31T11:16:06.239Z sunrise -2031-03-31T17:25:51.177Z moonrise +2031-03-31T06:29:42.836Z moonset +2031-03-31T11:16:06.319Z sunrise +2031-03-31T17:25:51.083Z moonrise 2031-03-31T17:28:57.325Z Sun culminates 65.68 degrees above the horizon -2031-03-31T23:42:14.880Z sunset +2031-03-31T23:42:14.883Z sunset 2031-04-01T00:19:54.810Z Moon culminates 78.85 degrees above the horizon -2031-04-01T07:10:18.728Z moonset -2031-04-01T11:14:57.377Z sunrise +2031-04-01T07:10:18.799Z moonset +2031-04-01T11:14:57.455Z sunrise 2031-04-01T17:28:39.488Z Sun culminates 66.07 degrees above the horizon -2031-04-01T18:18:55.938Z moonrise -2031-04-01T23:42:48.074Z sunset +2031-04-01T18:18:55.877Z moonrise +2031-04-01T23:42:48.079Z sunset 2031-04-02T01:05:51.063Z Moon culminates 75.83 degrees above the horizon -2031-04-02T07:48:17.722Z moonset -2031-04-02T11:13:48.716Z sunrise +2031-04-02T07:48:17.765Z moonset +2031-04-02T11:13:48.793Z sunrise 2031-04-02T17:28:21.749Z Sun culminates 66.45 degrees above the horizon -2031-04-02T19:12:48.626Z moonrise -2031-04-02T23:43:21.259Z sunset +2031-04-02T19:12:48.597Z moonrise +2031-04-02T23:43:21.264Z sunset 2031-04-02T23:58:59.450Z Neptune conjunction 2031-04-03T01:51:06.298Z Moon culminates 72.10 degrees above the horizon -2031-04-03T08:24:23.277Z moonset -2031-04-03T11:12:40.284Z sunrise +2031-04-03T08:24:23.299Z moonset +2031-04-03T11:12:40.360Z sunrise 2031-04-03T17:28:04.129Z Sun culminates 66.84 degrees above the horizon -2031-04-03T20:07:31.133Z moonrise -2031-04-03T23:43:54.446Z sunset +2031-04-03T20:07:31.126Z moonrise +2031-04-03T23:43:54.453Z sunset 2031-04-04T02:36:08.399Z Moon culminates 67.78 degrees above the horizon -2031-04-04T08:59:26.488Z moonset -2031-04-04T11:11:32.112Z sunrise +2031-04-04T08:59:26.499Z moonset +2031-04-04T11:11:32.186Z sunrise 2031-04-04T17:27:46.648Z Sun culminates 67.22 degrees above the horizon 2031-04-04T19:55:47.998Z Mercury inferior conjunction -2031-04-04T21:03:18.683Z moonrise -2031-04-04T23:44:27.651Z sunset +2031-04-04T21:03:18.685Z moonrise +2031-04-04T23:44:27.658Z sunset 2031-04-05T03:21:34.413Z Moon culminates 63.04 degrees above the horizon -2031-04-05T09:34:23.919Z moonset -2031-04-05T11:10:24.227Z sunrise +2031-04-05T09:34:23.927Z moonset +2031-04-05T11:10:24.299Z sunrise 2031-04-05T17:27:29.329Z Sun culminates 67.60 degrees above the horizon -2031-04-05T22:00:35.239Z moonrise -2031-04-05T23:45:00.886Z sunset +2031-04-05T22:00:35.242Z moonrise +2031-04-05T23:45:00.894Z sunset 2031-04-06T04:08:07.535Z Moon culminates 58.06 degrees above the horizon -2031-04-06T10:10:17.205Z moonset -2031-04-06T11:09:16.660Z sunrise +2031-04-06T10:10:17.210Z moonset +2031-04-06T11:09:16.730Z sunrise 2031-04-06T17:27:12.194Z Sun culminates 67.98 degrees above the horizon 2031-04-06T20:09:30.606Z Venus moves from Aries to Taurus -2031-04-06T22:59:45.947Z moonrise -2031-04-06T23:45:34.166Z sunset +2031-04-06T22:59:45.956Z moonrise +2031-04-06T23:45:34.175Z sunset 2031-04-07T04:56:33.063Z Moon culminates 53.11 degrees above the horizon -2031-04-07T10:48:13.030Z moonset -2031-04-07T11:08:09.439Z sunrise +2031-04-07T10:48:13.025Z moonset +2031-04-07T11:08:09.508Z sunrise 2031-04-07T17:21:47.896Z full moon 2031-04-07T17:26:55.264Z Sun culminates 68.35 degrees above the horizon -2031-04-07T23:46:07.505Z sunset -2031-04-08T00:01:05.744Z moonrise +2031-04-07T23:46:07.516Z sunset +2031-04-08T00:01:05.779Z moonrise 2031-04-08T05:47:31.787Z Moon culminates 48.46 degrees above the horizon -2031-04-08T11:07:02.596Z sunrise -2031-04-08T11:29:21.322Z moonset +2031-04-08T11:07:02.662Z sunrise +2031-04-08T11:29:21.293Z moonset 2031-04-08T17:26:38.561Z Sun culminates 68.73 degrees above the horizon -2031-04-08T23:46:40.917Z sunset -2031-04-09T01:04:23.836Z moonrise +2031-04-08T23:46:40.929Z sunset +2031-04-09T01:04:23.919Z moonrise 2031-04-09T06:41:29.349Z Moon culminates 44.47 degrees above the horizon -2031-04-09T11:05:56.158Z sunrise -2031-04-09T12:14:48.459Z moonset +2031-04-09T11:05:56.222Z sunrise +2031-04-09T12:14:48.391Z moonset 2031-04-09T17:26:22.106Z Sun culminates 69.10 degrees above the horizon -2031-04-09T23:47:14.415Z sunset -2031-04-10T02:08:47.949Z moonrise +2031-04-09T23:47:14.429Z sunset +2031-04-10T02:08:48.083Z moonrise 2031-04-10T07:38:22.278Z Moon culminates 41.48 degrees above the horizon -2031-04-10T11:04:50.154Z sunrise -2031-04-10T13:05:22.358Z moonset +2031-04-10T11:04:50.216Z sunrise +2031-04-10T13:05:22.246Z moonset 2031-04-10T17:26:05.920Z Sun culminates 69.47 degrees above the horizon -2031-04-10T23:47:48.011Z sunset -2031-04-11T03:12:39.818Z moonrise +2031-04-10T23:47:48.027Z sunset +2031-04-11T03:12:39.980Z moonrise 2031-04-11T08:37:26.827Z Moon culminates 39.79 degrees above the horizon -2031-04-11T11:03:44.615Z sunrise -2031-04-11T14:01:10.734Z moonset +2031-04-11T11:03:44.674Z sunrise +2031-04-11T14:01:10.587Z moonset 2031-04-11T17:25:50.024Z Sun culminates 69.84 degrees above the horizon 2031-04-11T19:09:37.644Z lunar perigee at 367997 km -2031-04-11T23:48:21.715Z sunset -2031-04-12T04:13:55.548Z moonrise +2031-04-11T23:48:21.733Z sunset +2031-04-12T04:13:55.707Z moonrise 2031-04-12T09:37:21.809Z Moon culminates 39.60 degrees above the horizon -2031-04-12T11:02:39.568Z sunrise -2031-04-12T15:01:24.545Z moonset +2031-04-12T11:02:39.625Z sunrise +2031-04-12T15:01:24.386Z moonset 2031-04-12T17:25:34.435Z Sun culminates 70.20 degrees above the horizon -2031-04-12T23:48:55.538Z sunset -2031-04-13T05:10:48.071Z moonrise +2031-04-12T23:48:55.558Z sunset +2031-04-13T05:10:48.202Z moonrise 2031-04-13T10:36:31.627Z Moon culminates 40.89 degrees above the horizon -2031-04-13T11:01:35.043Z sunrise -2031-04-13T16:04:25.384Z moonset +2031-04-13T11:01:35.096Z sunrise +2031-04-13T16:04:25.244Z moonset 2031-04-13T17:25:19.173Z Sun culminates 70.56 degrees above the horizon -2031-04-13T23:49:29.487Z sunset -2031-04-14T06:02:24.304Z moonrise -2031-04-14T11:00:31.065Z sunrise +2031-04-13T23:49:29.509Z sunset +2031-04-14T06:02:24.396Z moonrise +2031-04-14T11:00:31.116Z sunrise 2031-04-14T11:33:38.712Z Moon culminates 43.53 degrees above the horizon 2031-04-14T12:58:23.748Z third quarter -2031-04-14T17:08:20.381Z moonset +2031-04-14T17:08:20.287Z moonset 2031-04-14T17:25:04.255Z Sun culminates 70.92 degrees above the horizon -2031-04-14T23:50:03.569Z sunset -2031-04-15T06:48:52.359Z moonrise -2031-04-15T10:59:27.664Z sunrise +2031-04-14T23:50:03.593Z sunset +2031-04-15T06:48:52.410Z moonrise +2031-04-15T10:59:27.711Z sunrise 2031-04-15T12:28:04.830Z Moon culminates 47.25 degrees above the horizon 2031-04-15T17:24:49.697Z Sun culminates 71.28 degrees above the horizon -2031-04-15T18:11:41.421Z moonset -2031-04-15T23:50:37.787Z sunset -2031-04-16T07:31:03.304Z moonrise -2031-04-16T10:58:24.864Z sunrise +2031-04-15T18:11:41.377Z moonset +2031-04-15T23:50:37.814Z sunset +2031-04-16T07:31:03.327Z moonrise +2031-04-16T10:58:24.908Z sunrise 2031-04-16T13:19:52.048Z Moon culminates 51.74 degrees above the horizon 2031-04-16T13:40:18.306Z Venus perihelion at 0.7184 AU 2031-04-16T16:13:37.904Z Mercury moves from Pisces to Cetus 2031-04-16T17:24:35.513Z Sun culminates 71.64 degrees above the horizon -2031-04-16T19:13:43.511Z moonset -2031-04-16T23:51:12.146Z sunset -2031-04-17T08:10:07.832Z moonrise -2031-04-17T10:57:22.691Z sunrise +2031-04-16T19:13:43.501Z moonset +2031-04-16T23:51:12.175Z sunset +2031-04-17T08:10:07.842Z moonrise +2031-04-17T10:57:22.732Z sunrise 2031-04-17T14:09:30.496Z Moon culminates 56.69 degrees above the horizon 2031-04-17T17:24:21.718Z Sun culminates 71.99 degrees above the horizon -2031-04-17T20:14:19.771Z moonset -2031-04-17T23:51:46.648Z sunset -2031-04-18T08:47:20.334Z moonrise -2031-04-18T10:56:21.170Z sunrise +2031-04-17T20:14:19.772Z moonset +2031-04-17T23:51:46.680Z sunset +2031-04-18T08:47:20.341Z moonrise +2031-04-18T10:56:21.208Z sunrise 2031-04-18T14:57:43.822Z Moon culminates 61.79 degrees above the horizon 2031-04-18T17:24:08.325Z Sun culminates 72.34 degrees above the horizon -2031-04-18T21:13:45.429Z moonset -2031-04-18T23:52:21.294Z sunset -2031-04-19T09:23:51.378Z moonrise -2031-04-19T10:55:20.325Z sunrise +2031-04-18T21:13:45.431Z moonset +2031-04-18T23:52:21.328Z sunset +2031-04-19T09:23:51.383Z moonrise +2031-04-19T10:55:20.359Z sunrise 2031-04-19T15:45:17.732Z Moon culminates 66.77 degrees above the horizon 2031-04-19T17:23:55.343Z Sun culminates 72.69 degrees above the horizon -2031-04-19T22:12:21.275Z moonset -2031-04-19T23:52:56.082Z sunset -2031-04-20T10:00:44.934Z moonrise -2031-04-20T10:54:20.177Z sunrise +2031-04-19T22:12:21.283Z moonset +2031-04-19T23:52:56.119Z sunset +2031-04-20T10:00:44.931Z moonrise +2031-04-20T10:54:20.208Z sunrise 2031-04-20T16:32:52.009Z Moon culminates 71.39 degrees above the horizon 2031-04-20T17:23:42.785Z Sun culminates 73.03 degrees above the horizon -2031-04-20T23:10:20.500Z moonset -2031-04-20T23:53:31.010Z sunset -2031-04-21T10:38:56.791Z moonrise -2031-04-21T10:53:20.750Z sunrise +2031-04-20T23:10:20.530Z moonset +2031-04-20T23:53:31.050Z sunset +2031-04-21T10:38:56.769Z moonrise +2031-04-21T10:53:20.777Z sunrise 2031-04-21T16:57:39.421Z new moon 2031-04-21T17:20:54.704Z Moon culminates 75.40 degrees above the horizon 2031-04-21T17:23:30.660Z Sun culminates 73.37 degrees above the horizon -2031-04-21T23:54:06.075Z sunset -2031-04-22T00:07:39.674Z moonset -2031-04-22T10:52:22.066Z sunrise -2031-04-22T11:19:11.934Z moonrise +2031-04-21T23:54:06.119Z sunset +2031-04-22T00:07:39.738Z moonset +2031-04-22T10:52:22.088Z sunrise +2031-04-22T11:19:11.884Z moonrise 2031-04-22T17:23:18.976Z Sun culminates 73.71 degrees above the horizon 2031-04-22T18:09:37.841Z Moon culminates 78.63 degrees above the horizon -2031-04-22T23:54:41.273Z sunset -2031-04-23T01:03:54.856Z moonset -2031-04-23T10:51:24.145Z sunrise -2031-04-23T12:02:00.251Z moonrise +2031-04-22T23:54:41.320Z sunset +2031-04-23T01:03:54.956Z moonset +2031-04-23T10:51:24.163Z sunrise +2031-04-23T12:02:00.171Z moonrise 2031-04-23T17:23:07.742Z Sun culminates 74.04 degrees above the horizon 2031-04-23T18:58:55.418Z Moon culminates 80.91 degrees above the horizon -2031-04-23T23:55:16.598Z sunset -2031-04-24T01:58:24.697Z moonset -2031-04-24T10:50:27.010Z sunrise -2031-04-24T12:47:31.839Z moonrise +2031-04-23T23:55:16.648Z sunset +2031-04-24T01:58:24.822Z moonset +2031-04-24T10:50:27.023Z sunrise +2031-04-24T12:47:31.734Z moonrise 2031-04-24T17:22:56.965Z Sun culminates 74.37 degrees above the horizon 2031-04-24T19:48:25.369Z Moon culminates 82.16 degrees above the horizon -2031-04-24T23:55:52.044Z sunset -2031-04-25T02:50:21.093Z moonset -2031-04-25T10:49:30.682Z sunrise -2031-04-25T13:35:35.028Z moonrise +2031-04-24T23:55:52.098Z sunset +2031-04-25T02:50:21.227Z moonset +2031-04-25T10:49:30.691Z sunrise +2031-04-25T13:35:34.908Z moonrise 2031-04-25T17:22:46.654Z Sun culminates 74.70 degrees above the horizon 2031-04-25T18:49:50.057Z Mercury aphelion at 0.4667 AU 2031-04-25T20:37:36.370Z Moon culminates 82.34 degrees above the horizon -2031-04-25T23:56:27.605Z sunset -2031-04-26T03:39:03.945Z moonset -2031-04-26T10:48:35.182Z sunrise -2031-04-26T14:25:40.280Z moonrise +2031-04-25T23:56:27.662Z sunset +2031-04-26T03:39:04.072Z moonset +2031-04-26T10:48:35.187Z sunrise +2031-04-26T14:25:40.160Z moonrise 2031-04-26T17:22:36.815Z Sun culminates 75.02 degrees above the horizon 2031-04-26T21:25:57.824Z Moon culminates 81.49 degrees above the horizon -2031-04-26T23:57:03.273Z sunset -2031-04-27T04:24:13.338Z moonset +2031-04-26T23:57:03.334Z sunset +2031-04-27T04:24:13.446Z moonset 2031-04-27T10:28:48.548Z lunar apogee at 404744 km 2031-04-27T10:47:40.533Z sunrise -2031-04-27T15:17:10.200Z moonrise +2031-04-27T15:17:10.097Z moonrise 2031-04-27T17:22:27.457Z Sun culminates 75.34 degrees above the horizon 2031-04-27T22:13:09.304Z Moon culminates 79.68 degrees above the horizon -2031-04-27T23:57:39.042Z sunset -2031-04-28T05:05:54.051Z moonset -2031-04-28T10:46:46.757Z sunrise -2031-04-28T16:09:31.880Z moonrise +2031-04-27T23:57:39.107Z sunset +2031-04-28T05:05:54.133Z moonset +2031-04-28T10:46:46.752Z sunrise +2031-04-28T16:09:31.806Z moonrise 2031-04-28T17:22:18.586Z Sun culminates 75.65 degrees above the horizon 2031-04-28T22:59:06.190Z Moon culminates 77.02 degrees above the horizon -2031-04-28T23:58:14.905Z sunset -2031-04-29T05:44:32.632Z moonset -2031-04-29T10:45:53.875Z sunrise -2031-04-29T17:02:26.511Z moonrise +2031-04-28T23:58:14.974Z sunset +2031-04-29T05:44:32.686Z moonset +2031-04-29T10:45:53.866Z sunrise +2031-04-29T17:02:26.471Z moonrise 2031-04-29T17:22:10.211Z Sun culminates 75.96 degrees above the horizon 2031-04-29T19:20:02.882Z first quarter 2031-04-29T23:44:00.771Z Moon culminates 73.62 degrees above the horizon -2031-04-29T23:58:50.855Z sunset -2031-04-30T06:20:51.053Z moonset -2031-04-30T10:45:01.912Z sunrise +2031-04-29T23:58:50.928Z sunset +2031-04-30T06:20:51.083Z moonset +2031-04-30T10:45:01.897Z sunrise 2031-04-30T17:22:02.341Z Sun culminates 76.27 degrees above the horizon -2031-04-30T17:55:53.574Z moonrise +2031-04-30T17:55:53.561Z moonrise 2031-04-30T19:37:15.758Z Mercury moves from Cetus to Pisces -2031-04-30T23:59:26.886Z sunset +2031-04-30T23:59:26.963Z sunset 2031-05-01T00:28:20.269Z Moon culminates 69.62 degrees above the horizon -2031-05-01T06:55:40.940Z moonset -2031-05-01T10:44:10.890Z sunrise +2031-05-01T06:55:40.956Z moonset +2031-05-01T10:44:10.870Z sunrise 2031-05-01T17:21:54.982Z Sun culminates 76.58 degrees above the horizon 2031-05-01T18:50:10.000Z moonrise -2031-05-02T00:00:02.991Z sunset +2031-05-02T00:00:03.072Z sunset 2031-05-02T01:12:43.713Z Moon culminates 65.13 degrees above the horizon -2031-05-02T07:30:00.248Z moonset -2031-05-02T10:43:20.832Z sunrise +2031-05-02T07:30:00.258Z moonset +2031-05-02T10:43:20.808Z sunrise 2031-05-02T17:21:48.146Z Sun culminates 76.87 degrees above the horizon -2031-05-02T19:45:45.968Z moonrise +2031-05-02T19:45:45.971Z moonrise 2031-05-02T20:30:24.832Z Mercury max morning elongation: 26.87 degrees from Sun -2031-05-03T00:00:39.165Z sunset +2031-05-03T00:00:39.250Z sunset 2031-05-03T01:57:58.769Z Moon culminates 60.33 degrees above the horizon -2031-05-03T08:04:52.423Z moonset -2031-05-03T10:42:31.763Z sunrise +2031-05-03T08:04:52.430Z moonset +2031-05-03T10:42:31.734Z sunrise 2031-05-03T17:21:41.839Z Sun culminates 77.17 degrees above the horizon -2031-05-03T20:43:18.205Z moonrise -2031-05-04T00:01:15.400Z sunset +2031-05-03T20:43:18.209Z moonrise +2031-05-04T00:01:15.490Z sunset 2031-05-04T02:44:58.333Z Moon culminates 55.40 degrees above the horizon -2031-05-04T08:41:27.021Z moonset -2031-05-04T10:41:43.707Z sunrise +2031-05-04T08:41:27.023Z moonset +2031-05-04T10:41:43.672Z sunrise 2031-05-04T11:57:29.336Z Mars opposition 2031-05-04T17:21:36.071Z Sun culminates 77.46 degrees above the horizon -2031-05-04T21:43:19.879Z moonrise -2031-05-05T00:01:51.692Z sunset +2031-05-04T21:43:19.898Z moonrise +2031-05-05T00:01:51.786Z sunset 2031-05-05T03:34:35.358Z Moon culminates 50.60 degrees above the horizon -2031-05-05T09:20:59.805Z moonset -2031-05-05T10:40:56.686Z sunrise +2031-05-05T09:20:59.790Z moonset +2031-05-05T10:40:56.646Z sunrise 2031-05-05T17:21:30.851Z Sun culminates 77.74 degrees above the horizon -2031-05-05T22:46:05.102Z moonrise -2031-05-06T00:02:28.034Z sunset +2031-05-05T22:46:05.161Z moonrise +2031-05-06T00:02:28.132Z sunset 2031-05-06T04:27:33.363Z Moon culminates 46.24 degrees above the horizon -2031-05-06T10:04:48.932Z moonset -2031-05-06T10:40:10.725Z sunrise +2031-05-06T10:04:48.883Z moonset +2031-05-06T10:40:10.680Z sunrise 2031-05-06T17:21:26.188Z Sun culminates 78.03 degrees above the horizon -2031-05-06T23:51:08.015Z moonrise -2031-05-07T00:03:04.418Z sunset +2031-05-06T23:51:08.127Z moonrise +2031-05-07T00:03:04.521Z sunset 2031-05-07T03:40:20.826Z full moon 2031-05-07T03:50:47.970Z penumbral lunar eclipse 2031-05-07T05:24:10.634Z Moon culminates 42.71 degrees above the horizon -2031-05-07T10:39:25.846Z sunrise -2031-05-07T10:54:02.282Z moonset +2031-05-07T10:39:25.796Z sunrise +2031-05-07T10:54:02.189Z moonset 2031-05-07T17:21:22.088Z Sun culminates 78.30 degrees above the horizon 2031-05-07T19:33:41.557Z Venus moves from Taurus to Gemini -2031-05-08T00:03:40.838Z sunset -2031-05-08T00:57:04.794Z moonrise +2031-05-08T00:03:40.945Z sunset +2031-05-08T00:57:04.946Z moonrise 2031-05-08T06:24:01.101Z Moon culminates 40.38 degrees above the horizon -2031-05-08T10:38:42.074Z sunrise -2031-05-08T11:49:12.678Z moonset +2031-05-08T10:38:42.018Z sunrise +2031-05-08T11:49:12.543Z moonset 2031-05-08T17:21:18.559Z Sun culminates 78.57 degrees above the horizon -2031-05-09T00:04:17.283Z sunset -2031-05-09T02:01:38.514Z moonrise +2031-05-09T00:04:17.395Z sunset +2031-05-09T02:01:38.676Z moonrise 2031-05-09T07:25:44.751Z Moon culminates 39.55 degrees above the horizon 2031-05-09T07:34:27.689Z lunar perigee at 362839 km -2031-05-09T10:37:59.429Z sunrise -2031-05-09T12:49:48.925Z moonset +2031-05-09T10:37:59.368Z sunrise +2031-05-09T12:49:48.767Z moonset 2031-05-09T17:21:15.608Z Sun culminates 78.84 degrees above the horizon -2031-05-10T00:04:53.744Z sunset -2031-05-10T03:02:21.466Z moonrise +2031-05-10T00:04:53.860Z sunset +2031-05-10T03:02:21.608Z moonrise 2031-05-10T08:27:24.417Z Moon culminates 40.32 degrees above the horizon -2031-05-10T10:37:17.934Z sunrise -2031-05-10T13:54:07.999Z moonset +2031-05-10T10:37:17.869Z sunrise +2031-05-10T13:54:07.849Z moonset 2031-05-10T17:21:13.238Z Sun culminates 79.10 degrees above the horizon -2031-05-11T00:05:30.208Z sunset -2031-05-11T03:57:33.600Z moonrise +2031-05-11T00:05:30.329Z sunset +2031-05-11T03:57:33.704Z moonrise 2031-05-11T09:27:07.551Z Moon culminates 42.59 degrees above the horizon -2031-05-11T10:36:37.611Z sunrise -2031-05-11T14:59:48.965Z moonset +2031-05-11T10:36:37.540Z sunrise +2031-05-11T14:59:48.854Z moonset 2031-05-11T17:21:11.455Z Sun culminates 79.36 degrees above the horizon -2031-05-12T00:06:06.662Z sunset -2031-05-12T04:46:52.095Z moonrise +2031-05-12T00:06:06.787Z sunset +2031-05-12T04:46:52.156Z moonrise 2031-05-12T10:23:44.928Z Moon culminates 46.07 degrees above the horizon -2031-05-12T10:35:58.479Z sunrise -2031-05-12T16:04:48.963Z moonset +2031-05-12T10:35:58.403Z sunrise +2031-05-12T16:04:48.906Z moonset 2031-05-12T17:21:10.260Z Sun culminates 79.61 degrees above the horizon -2031-05-13T00:06:43.090Z sunset -2031-05-13T05:30:58.032Z moonrise -2031-05-13T10:35:20.557Z sunrise +2031-05-13T00:06:43.220Z sunset +2031-05-13T05:30:58.061Z moonrise +2031-05-13T10:35:20.476Z sunrise 2031-05-13T11:17:01.749Z Moon culminates 50.41 degrees above the horizon -2031-05-13T17:07:58.690Z moonset +2031-05-13T17:07:58.673Z moonset 2031-05-13T17:21:09.656Z Sun culminates 79.86 degrees above the horizon 2031-05-13T19:07:27.085Z third quarter -2031-05-14T00:07:19.475Z sunset -2031-05-14T06:11:05.306Z moonrise -2031-05-14T10:34:43.865Z sunrise +2031-05-14T00:07:19.609Z sunset +2031-05-14T06:11:05.318Z moonrise +2031-05-14T10:34:43.779Z sunrise 2031-05-14T12:07:24.638Z Moon culminates 55.25 degrees above the horizon 2031-05-14T17:21:09.641Z Sun culminates 80.10 degrees above the horizon 2031-05-14T18:09:02.437Z moonset -2031-05-15T00:07:55.799Z sunset -2031-05-15T06:48:36.253Z moonrise -2031-05-15T10:34:08.418Z sunrise +2031-05-15T00:07:55.937Z sunset +2031-05-15T06:48:36.260Z moonrise +2031-05-15T10:34:08.327Z sunrise 2031-05-15T12:55:41.913Z Moon culminates 60.30 degrees above the horizon 2031-05-15T17:21:10.213Z Sun culminates 80.34 degrees above the horizon -2031-05-15T19:08:18.705Z moonset -2031-05-16T00:08:32.040Z sunset -2031-05-16T07:24:49.694Z moonrise -2031-05-16T10:33:34.231Z sunrise +2031-05-15T19:08:18.708Z moonset +2031-05-16T00:08:32.183Z sunset +2031-05-16T07:24:49.700Z moonrise +2031-05-16T10:33:34.135Z sunrise 2031-05-16T13:42:47.935Z Moon culminates 65.28 degrees above the horizon 2031-05-16T17:21:11.369Z Sun culminates 80.57 degrees above the horizon 2031-05-16T19:44:54.526Z Mercury moves from Pisces to Cetus -2031-05-16T20:06:19.013Z moonset -2031-05-17T00:09:08.177Z sunset -2031-05-17T08:00:57.054Z moonrise -2031-05-17T10:33:01.317Z sunrise +2031-05-16T20:06:19.019Z moonset +2031-05-17T00:09:08.324Z sunset +2031-05-17T08:00:57.055Z moonrise +2031-05-17T10:33:01.216Z sunrise 2031-05-17T14:29:33.125Z Moon culminates 69.95 degrees above the horizon 2031-05-17T16:58:17.222Z Mercury moves from Cetus to Aries 2031-05-17T17:21:13.104Z Sun culminates 80.80 degrees above the horizon -2031-05-17T21:03:31.553Z moonset -2031-05-18T00:09:44.186Z sunset -2031-05-18T08:38:01.373Z moonrise -2031-05-18T10:32:29.687Z sunrise +2031-05-17T21:03:31.574Z moonset +2031-05-18T00:09:44.337Z sunset +2031-05-18T08:38:01.359Z moonrise +2031-05-18T10:32:29.582Z sunrise 2031-05-18T15:16:37.472Z Moon culminates 74.12 degrees above the horizon 2031-05-18T17:21:15.410Z Sun culminates 81.02 degrees above the horizon -2031-05-18T22:00:09.853Z moonset -2031-05-19T00:10:20.041Z sunset -2031-05-19T09:16:55.831Z moonrise -2031-05-19T10:31:59.352Z sunrise +2031-05-18T22:00:09.904Z moonset +2031-05-19T00:10:20.196Z sunset +2031-05-19T09:16:55.792Z moonrise +2031-05-19T10:31:59.242Z sunrise 2031-05-19T16:04:25.585Z Moon culminates 77.58 degrees above the horizon 2031-05-19T17:21:18.279Z Sun culminates 81.23 degrees above the horizon -2031-05-19T22:56:05.943Z moonset -2031-05-20T00:10:55.715Z sunset +2031-05-19T22:56:06.032Z moonset +2031-05-20T00:10:55.874Z sunset 2031-05-20T06:57:29.666Z Mars moves from Libra to Virgo -2031-05-20T09:58:20.187Z moonrise -2031-05-20T10:31:30.320Z sunrise +2031-05-20T09:58:20.117Z moonrise +2031-05-20T10:31:30.205Z sunrise 2031-05-20T16:53:03.043Z Moon culminates 80.19 degrees above the horizon 2031-05-20T17:21:21.700Z Sun culminates 81.44 degrees above the horizon -2031-05-20T23:50:49.243Z moonset -2031-05-21T00:11:31.179Z sunset +2031-05-20T23:50:49.361Z moonset +2031-05-21T00:11:31.342Z sunset 2031-05-21T07:17:51.993Z new moon -2031-05-21T10:31:02.597Z sunrise -2031-05-21T10:42:35.347Z moonrise +2031-05-21T10:31:02.479Z sunrise +2031-05-21T10:42:35.250Z moonrise 2031-05-21T17:21:25.662Z Sun culminates 81.65 degrees above the horizon 2031-05-21T17:42:15.518Z Moon culminates 81.81 degrees above the horizon -2031-05-22T00:12:06.402Z sunset -2031-05-22T00:43:33.143Z moonset -2031-05-22T10:30:36.191Z sunrise -2031-05-22T11:29:38.621Z moonrise +2031-05-22T00:12:06.570Z sunset +2031-05-22T00:43:33.275Z moonset +2031-05-22T10:30:36.069Z sunrise +2031-05-22T11:29:38.505Z moonrise 2031-05-22T17:21:30.153Z Sun culminates 81.85 degrees above the horizon 2031-05-22T18:31:32.755Z Moon culminates 82.38 degrees above the horizon -2031-05-23T00:12:41.356Z sunset -2031-05-23T01:33:28.808Z moonset -2031-05-23T10:30:11.107Z sunrise -2031-05-23T12:19:03.869Z moonrise +2031-05-23T00:12:41.527Z sunset +2031-05-23T01:33:28.939Z moonset +2031-05-23T10:30:10.980Z sunrise +2031-05-23T12:19:03.748Z moonrise 2031-05-23T17:21:35.161Z Sun culminates 82.04 degrees above the horizon 2031-05-23T19:20:17.814Z Moon culminates 81.91 degrees above the horizon -2031-05-24T00:13:16.007Z sunset -2031-05-24T02:20:00.937Z moonset -2031-05-24T10:29:47.349Z sunrise -2031-05-24T13:10:09.411Z moonrise +2031-05-24T00:13:16.181Z sunset +2031-05-24T02:20:01.053Z moonset +2031-05-24T10:29:47.218Z sunrise +2031-05-24T13:10:09.300Z moonrise 2031-05-24T17:21:40.670Z Sun culminates 82.22 degrees above the horizon 2031-05-24T20:07:58.708Z Moon culminates 80.44 degrees above the horizon -2031-05-25T00:13:50.324Z sunset +2031-05-25T00:13:50.502Z sunset 2031-05-25T02:09:10.486Z lunar apogee at 405711 km -2031-05-25T03:02:58.121Z moonset +2031-05-25T03:02:58.214Z moonset 2031-05-25T06:18:16.898Z Jupiter moves from Sagittarius to Ophiuchus -2031-05-25T10:29:24.921Z sunrise -2031-05-25T14:02:11.669Z moonrise +2031-05-25T10:29:24.786Z sunrise +2031-05-25T14:02:11.583Z moonrise 2031-05-25T17:21:46.667Z Sun culminates 82.41 degrees above the horizon 2031-05-25T20:54:17.804Z Moon culminates 78.09 degrees above the horizon -2031-05-26T00:14:24.275Z sunset -2031-05-26T03:42:34.223Z moonset -2031-05-26T10:29:03.826Z sunrise -2031-05-26T14:54:38.559Z moonrise +2031-05-26T00:14:24.457Z sunset +2031-05-26T03:42:34.287Z moonset +2031-05-26T10:29:03.687Z sunrise +2031-05-26T14:54:38.506Z moonrise 2031-05-26T17:21:53.137Z Sun culminates 82.58 degrees above the horizon 2031-05-26T21:39:16.023Z Moon culminates 74.98 degrees above the horizon -2031-05-27T00:14:57.829Z sunset -2031-05-27T04:19:23.149Z moonset -2031-05-27T10:28:44.067Z sunrise -2031-05-27T15:47:17.440Z moonrise +2031-05-27T00:14:58.014Z sunset +2031-05-27T04:19:23.188Z moonset +2031-05-27T10:28:43.925Z sunrise +2031-05-27T15:47:17.418Z moonrise 2031-05-27T17:22:00.068Z Sun culminates 82.75 degrees above the horizon 2031-05-27T22:23:12.251Z Moon culminates 71.24 degrees above the horizon -2031-05-28T00:15:30.954Z sunset -2031-05-28T04:54:11.979Z moonset +2031-05-28T00:15:31.143Z sunset +2031-05-28T04:54:12.000Z moonset 2031-05-28T07:14:00.872Z Mercury moves from Aries to Taurus -2031-05-28T10:28:25.646Z sunrise -2031-05-28T16:40:16.649Z moonrise +2031-05-28T10:28:25.501Z sunrise +2031-05-28T16:40:16.645Z moonrise 2031-05-28T17:22:07.443Z Sun culminates 82.91 degrees above the horizon 2031-05-28T23:06:40.297Z Moon culminates 67.01 degrees above the horizon -2031-05-29T00:16:03.620Z sunset -2031-05-29T05:27:55.943Z moonset -2031-05-29T10:28:08.567Z sunrise +2031-05-29T00:16:03.812Z sunset +2031-05-29T05:27:55.955Z moonset +2031-05-29T10:28:08.418Z sunrise 2031-05-29T11:20:07.262Z first quarter 2031-05-29T17:22:15.249Z Sun culminates 83.07 degrees above the horizon -2031-05-29T17:34:02.548Z moonrise +2031-05-29T17:34:02.551Z moonrise 2031-05-29T23:50:25.493Z Moon culminates 62.42 degrees above the horizon -2031-05-30T00:16:35.796Z sunset -2031-05-30T06:01:36.331Z moonset -2031-05-30T10:27:52.831Z sunrise +2031-05-30T00:16:35.991Z sunset +2031-05-30T06:01:36.340Z moonset +2031-05-30T10:27:52.679Z sunrise 2031-05-30T17:22:23.472Z Sun culminates 83.22 degrees above the horizon -2031-05-30T18:29:14.107Z moonrise -2031-05-31T00:17:07.453Z sunset +2031-05-30T18:29:14.110Z moonrise +2031-05-31T00:17:07.650Z sunset 2031-05-31T00:35:21.675Z Moon culminates 57.64 degrees above the horizon -2031-05-31T06:36:20.819Z moonset -2031-05-31T10:27:38.439Z sunrise +2031-05-31T06:36:20.825Z moonset +2031-05-31T10:27:38.284Z sunrise 2031-05-31T17:22:32.099Z Sun culminates 83.36 degrees above the horizon -2031-05-31T19:26:35.281Z moonrise -2031-06-01T00:17:38.563Z sunset +2031-05-31T19:26:35.291Z moonrise +2031-06-01T00:17:38.763Z sunset 2031-06-01T01:22:27.801Z Moon culminates 52.86 degrees above the horizon -2031-06-01T07:13:24.859Z moonset -2031-06-01T10:27:25.393Z sunrise +2031-06-01T07:13:24.854Z moonset +2031-06-01T10:27:25.235Z sunrise 2031-06-01T17:22:41.116Z Sun culminates 83.49 degrees above the horizon -2031-06-01T20:26:43.415Z moonrise -2031-06-02T00:18:09.097Z sunset +2031-06-01T20:26:43.452Z moonrise +2031-06-02T00:18:09.300Z sunset 2031-06-02T02:12:42.048Z Moon culminates 48.33 degrees above the horizon 2031-06-02T03:32:19.375Z Venus max evening elongation: 45.40 degrees from Sun -2031-06-02T07:54:11.706Z moonset -2031-06-02T10:27:13.693Z sunrise +2031-06-02T07:54:11.675Z moonset +2031-06-02T10:27:13.532Z sunrise 2031-06-02T17:22:50.510Z Sun culminates 83.63 degrees above the horizon -2031-06-02T21:29:50.990Z moonrise -2031-06-03T00:18:39.029Z sunset +2031-06-02T21:29:51.074Z moonrise +2031-06-03T00:18:39.235Z sunset 2031-06-03T03:03:12.014Z Saturn conjunction 2031-06-03T03:06:50.064Z Moon culminates 44.38 degrees above the horizon 2031-06-03T08:10:50.861Z Venus moves from Gemini to Cancer -2031-06-03T08:40:06.575Z moonset -2031-06-03T10:27:03.340Z sunrise +2031-06-03T08:40:06.505Z moonset +2031-06-03T10:27:03.177Z sunrise 2031-06-03T17:23:00.267Z Sun culminates 83.75 degrees above the horizon -2031-06-03T22:35:21.356Z moonrise -2031-06-04T00:19:08.333Z sunset +2031-06-03T22:35:21.490Z moonrise +2031-06-04T00:19:08.540Z sunset 2031-06-04T04:05:05.166Z Moon culminates 41.39 degrees above the horizon -2031-06-04T09:32:18.430Z moonset -2031-06-04T10:26:54.333Z sunrise +2031-06-04T09:32:18.314Z moonset +2031-06-04T10:26:54.168Z sunrise 2031-06-04T17:23:10.374Z Sun culminates 83.87 degrees above the horizon -2031-06-04T23:41:30.884Z moonrise -2031-06-05T00:19:36.981Z sunset +2031-06-04T23:41:31.046Z moonrise +2031-06-05T00:19:37.191Z sunset 2031-06-05T05:06:45.683Z Moon culminates 39.75 degrees above the horizon -2031-06-05T10:26:46.671Z sunrise -2031-06-05T10:31:06.629Z moonset +2031-06-05T10:26:46.503Z sunrise +2031-06-05T10:31:06.478Z moonset 2031-06-05T11:44:03.888Z penumbral lunar eclipse 2031-06-05T11:58:58.493Z full moon 2031-06-05T17:23:20.817Z Sun culminates 83.98 degrees above the horizon -2031-06-06T00:20:04.948Z sunset -2031-06-06T00:45:43.068Z moonrise +2031-06-06T00:20:05.160Z sunset +2031-06-06T00:45:43.223Z moonrise 2031-06-06T06:10:07.910Z Moon culminates 39.74 degrees above the horizon -2031-06-06T10:26:40.350Z sunrise -2031-06-06T11:35:27.888Z moonset +2031-06-06T10:26:40.180Z sunrise +2031-06-06T11:35:27.728Z moonset 2031-06-06T12:11:31.495Z lunar perigee at 358735 km 2031-06-06T17:23:31.580Z Sun culminates 84.08 degrees above the horizon -2031-06-07T00:20:32.207Z sunset -2031-06-07T01:45:25.468Z moonrise +2031-06-07T00:20:32.421Z sunset +2031-06-07T01:45:25.590Z moonrise 2031-06-07T07:12:54.326Z Moon culminates 41.38 degrees above the horizon -2031-06-07T10:26:35.367Z sunrise -2031-06-07T12:42:59.850Z moonset +2031-06-07T10:26:35.195Z sunrise +2031-06-07T12:42:59.717Z moonset 2031-06-07T17:23:42.649Z Sun culminates 84.18 degrees above the horizon -2031-06-08T00:20:58.731Z sunset -2031-06-08T02:39:12.370Z moonrise +2031-06-08T00:20:58.946Z sunset +2031-06-08T02:39:12.448Z moonrise 2031-06-08T08:13:06.735Z Moon culminates 44.48 degrees above the horizon -2031-06-08T10:26:31.719Z sunrise -2031-06-08T13:50:56.656Z moonset +2031-06-08T10:26:31.545Z sunrise +2031-06-08T13:50:56.575Z moonset 2031-06-08T17:23:54.008Z Sun culminates 84.27 degrees above the horizon 2031-06-08T18:28:17.972Z Mercury perihelion at 0.3075 AU 2031-06-08T18:37:07.353Z Mercury superior conjunction -2031-06-09T00:21:24.492Z sunset -2031-06-09T03:27:03.088Z moonrise +2031-06-09T00:21:24.709Z sunset +2031-06-09T03:27:03.126Z moonrise 2031-06-09T09:09:44.827Z Moon culminates 48.66 degrees above the horizon -2031-06-09T10:26:29.399Z sunrise -2031-06-09T14:57:14.621Z moonset +2031-06-09T10:26:29.223Z sunrise +2031-06-09T14:57:14.590Z moonset 2031-06-09T17:24:05.638Z Sun culminates 84.35 degrees above the horizon -2031-06-10T00:21:49.462Z sunset -2031-06-10T04:09:56.204Z moonrise +2031-06-10T00:21:49.680Z sunset +2031-06-10T04:09:56.220Z moonrise 2031-06-10T10:02:48.202Z Moon culminates 53.50 degrees above the horizon -2031-06-10T10:26:28.400Z sunrise -2031-06-10T16:00:58.715Z moonset +2031-06-10T10:26:28.223Z sunrise +2031-06-10T16:00:58.711Z moonset 2031-06-10T17:24:17.524Z Sun culminates 84.43 degrees above the horizon -2031-06-11T00:22:13.613Z sunset -2031-06-11T04:49:14.838Z moonrise -2031-06-11T10:26:28.714Z sunrise +2031-06-11T00:22:13.833Z sunset +2031-06-11T04:49:14.845Z moonrise +2031-06-11T10:26:28.535Z sunrise 2031-06-11T10:52:55.594Z Moon culminates 58.63 degrees above the horizon -2031-06-11T17:02:09.315Z moonset +2031-06-11T17:02:09.317Z moonset 2031-06-11T17:24:29.645Z Sun culminates 84.50 degrees above the horizon -2031-06-12T00:22:36.917Z sunset +2031-06-12T00:22:37.138Z sunset 2031-06-12T02:21:05.552Z third quarter -2031-06-12T05:26:24.499Z moonrise -2031-06-12T10:26:30.330Z sunrise +2031-06-12T05:26:24.506Z moonrise +2031-06-12T10:26:30.149Z sunrise 2031-06-12T11:41:02.469Z Moon culminates 63.73 degrees above the horizon 2031-06-12T17:24:41.982Z Sun culminates 84.57 degrees above the horizon -2031-06-12T18:01:15.747Z moonset -2031-06-13T00:22:59.344Z sunset -2031-06-13T06:02:44.092Z moonrise -2031-06-13T10:26:33.233Z sunrise +2031-06-12T18:01:15.750Z moonset +2031-06-13T00:22:59.567Z sunset +2031-06-13T06:02:44.095Z moonrise +2031-06-13T10:26:33.052Z sunrise 2031-06-13T12:28:05.785Z Moon culminates 68.55 degrees above the horizon 2031-06-13T17:24:54.513Z Sun culminates 84.62 degrees above the horizon -2031-06-13T18:58:53.794Z moonset -2031-06-14T00:23:20.867Z sunset +2031-06-13T18:58:53.809Z moonset +2031-06-14T00:23:21.090Z sunset 2031-06-14T05:44:15.026Z Uranus conjunction -2031-06-14T06:39:23.668Z moonrise -2031-06-14T10:26:37.410Z sunrise +2031-06-14T06:39:23.659Z moonrise +2031-06-14T10:26:37.227Z sunrise 2031-06-14T13:14:55.103Z Moon culminates 72.88 degrees above the horizon 2031-06-14T15:53:43.820Z Mercury moves from Taurus to Gemini 2031-06-14T17:25:07.214Z Sun culminates 84.67 degrees above the horizon -2031-06-14T19:55:30.562Z moonset -2031-06-15T00:23:41.454Z sunset -2031-06-15T07:17:23.724Z moonrise +2031-06-14T19:55:30.603Z moonset +2031-06-15T00:23:41.679Z sunset +2031-06-15T07:17:23.693Z moonrise 2031-06-15T09:08:56.413Z Jupiter opposition -2031-06-15T10:26:42.842Z sunrise +2031-06-15T10:26:42.658Z sunrise 2031-06-15T14:02:06.979Z Moon culminates 76.56 degrees above the horizon 2031-06-15T17:25:20.063Z Sun culminates 84.72 degrees above the horizon -2031-06-15T20:51:15.164Z moonset -2031-06-16T00:24:01.077Z sunset -2031-06-16T07:57:33.109Z moonrise -2031-06-16T10:26:49.509Z sunrise +2031-06-15T20:51:15.241Z moonset +2031-06-16T00:24:01.302Z sunset +2031-06-16T07:57:33.049Z moonrise +2031-06-16T10:26:49.324Z sunrise 2031-06-16T14:50:00.782Z Moon culminates 79.44 degrees above the horizon 2031-06-16T17:25:33.033Z Sun culminates 84.75 degrees above the horizon -2031-06-16T21:45:54.534Z moonset -2031-06-17T00:24:19.703Z sunset -2031-06-17T08:40:24.616Z moonrise -2031-06-17T10:26:57.389Z sunrise +2031-06-16T21:45:54.644Z moonset +2031-06-17T00:24:19.929Z sunset +2031-06-17T08:40:24.527Z moonrise +2031-06-17T10:26:57.204Z sunrise 2031-06-17T15:38:36.150Z Moon culminates 81.38 degrees above the horizon 2031-06-17T17:25:46.099Z Sun culminates 84.78 degrees above the horizon -2031-06-17T22:38:55.537Z moonset -2031-06-18T00:24:37.304Z sunset -2031-06-18T09:26:09.399Z moonrise -2031-06-18T10:27:06.460Z sunrise +2031-06-17T22:38:55.666Z moonset +2031-06-18T00:24:37.530Z sunset +2031-06-18T09:26:09.288Z moonrise +2031-06-18T10:27:06.274Z sunrise 2031-06-18T16:27:33.811Z Moon culminates 82.31 degrees above the horizon 2031-06-18T17:25:59.232Z Sun culminates 84.81 degrees above the horizon -2031-06-18T23:29:34.368Z moonset -2031-06-19T00:24:53.847Z sunset -2031-06-19T10:14:33.707Z moonrise -2031-06-19T10:27:16.696Z sunrise +2031-06-18T23:29:34.501Z moonset +2031-06-19T00:24:54.073Z sunset +2031-06-19T10:14:33.586Z moonrise +2031-06-19T10:27:16.510Z sunrise 2031-06-19T17:16:21.423Z Moon culminates 82.21 degrees above the horizon 2031-06-19T17:26:12.404Z Sun culminates 84.82 degrees above the horizon 2031-06-19T22:25:18.579Z new moon -2031-06-20T00:17:10.950Z moonset -2031-06-20T00:25:09.303Z sunset -2031-06-20T10:27:28.072Z sunrise -2031-06-20T11:05:02.098Z moonrise +2031-06-20T00:17:11.073Z moonset +2031-06-20T00:25:09.530Z sunset +2031-06-20T10:27:27.885Z sunrise +2031-06-20T11:05:01.981Z moonrise 2031-06-20T17:26:25.588Z Sun culminates 84.83 degrees above the horizon 2031-06-20T18:04:23.763Z Moon culminates 81.09 degrees above the horizon -2031-06-21T00:25:23.642Z sunset -2031-06-21T01:01:22.219Z moonset -2031-06-21T10:27:40.559Z sunrise +2031-06-21T00:25:23.868Z sunset +2031-06-21T01:01:22.321Z moonset +2031-06-21T10:27:40.373Z sunrise 2031-06-21T11:23:30.922Z lunar apogee at 406441 km -2031-06-21T11:56:48.300Z moonrise +2031-06-21T11:56:48.203Z moonrise 2031-06-21T13:17:00.604Z June solstice 2031-06-21T17:26:38.756Z Sun culminates 84.83 degrees above the horizon 2031-06-21T18:51:13.718Z Moon culminates 79.04 degrees above the horizon -2031-06-22T00:25:36.835Z sunset -2031-06-22T01:42:08.529Z moonset -2031-06-22T10:27:54.130Z sunrise -2031-06-22T12:49:09.705Z moonrise +2031-06-22T00:25:37.061Z sunset +2031-06-22T01:42:08.604Z moonset +2031-06-22T10:27:53.944Z sunrise +2031-06-22T12:49:09.640Z moonrise 2031-06-22T17:26:51.878Z Sun culminates 84.83 degrees above the horizon 2031-06-22T19:36:39.859Z Moon culminates 76.19 degrees above the horizon -2031-06-23T00:25:48.854Z sunset -2031-06-23T02:19:52.172Z moonset -2031-06-23T10:28:08.757Z sunrise -2031-06-23T13:41:39.129Z moonrise +2031-06-23T00:25:49.080Z sunset +2031-06-23T02:19:52.219Z moonset +2031-06-23T10:28:08.570Z sunrise +2031-06-23T13:41:39.097Z moonrise 2031-06-23T17:27:04.927Z Sun culminates 84.82 degrees above the horizon 2031-06-23T20:20:48.855Z Moon culminates 72.67 degrees above the horizon -2031-06-24T00:25:59.673Z sunset -2031-06-24T02:55:11.588Z moonset -2031-06-24T10:28:24.409Z sunrise -2031-06-24T14:34:10.168Z moonrise +2031-06-24T00:25:59.899Z sunset +2031-06-24T02:55:11.614Z moonset +2031-06-24T10:28:24.223Z sunrise +2031-06-24T14:34:10.159Z moonrise 2031-06-24T17:27:17.876Z Sun culminates 84.80 degrees above the horizon 2031-06-24T21:04:03.944Z Moon culminates 68.63 degrees above the horizon -2031-06-25T00:26:09.268Z sunset -2031-06-25T03:28:55.552Z moonset -2031-06-25T10:28:41.059Z sunrise -2031-06-25T15:26:56.690Z moonrise +2031-06-25T00:26:09.493Z sunset +2031-06-25T03:28:55.567Z moonset +2031-06-25T10:28:40.873Z sunrise +2031-06-25T15:26:56.692Z moonrise 2031-06-25T17:27:30.699Z Sun culminates 84.78 degrees above the horizon 2031-06-25T21:47:01.818Z Moon culminates 64.22 degrees above the horizon -2031-06-26T00:26:17.615Z sunset -2031-06-26T04:01:59.692Z moonset -2031-06-26T10:28:58.676Z sunrise -2031-06-26T16:20:28.874Z moonrise +2031-06-26T00:26:17.840Z sunset +2031-06-26T04:01:59.702Z moonset +2031-06-26T10:28:58.491Z sunrise +2031-06-26T16:20:28.877Z moonrise 2031-06-26T17:27:43.370Z Sun culminates 84.74 degrees above the horizon 2031-06-26T22:30:29.591Z Moon culminates 59.59 degrees above the horizon -2031-06-27T00:26:24.693Z sunset -2031-06-27T04:35:25.665Z moonset -2031-06-27T10:29:17.234Z sunrise -2031-06-27T17:15:27.332Z moonrise +2031-06-27T00:26:24.917Z sunset +2031-06-27T04:35:25.673Z moonset +2031-06-27T10:29:17.049Z sunrise +2031-06-27T17:15:27.338Z moonrise 2031-06-27T17:27:55.866Z Sun culminates 84.70 degrees above the horizon 2031-06-27T23:15:22.074Z Moon culminates 54.91 degrees above the horizon 2031-06-28T00:19:31.906Z first quarter -2031-06-28T00:26:30.484Z sunset +2031-06-28T00:26:30.708Z sunset 2031-06-28T02:40:24.858Z Venus moves from Cancer to Leo -2031-06-28T05:10:22.234Z moonset -2031-06-28T10:29:36.702Z sunrise +2031-06-28T05:10:22.236Z moonset +2031-06-28T10:29:36.518Z sunrise 2031-06-28T17:28:08.163Z Sun culminates 84.66 degrees above the horizon -2031-06-28T18:12:35.026Z moonrise +2031-06-28T18:12:35.048Z moonrise 2031-06-29T00:02:38.304Z Moon culminates 50.36 degrees above the horizon -2031-06-29T00:26:34.971Z sunset +2031-06-29T00:26:35.194Z sunset 2031-06-29T04:03:41.408Z Mercury moves from Gemini to Cancer -2031-06-29T05:48:06.787Z moonset -2031-06-29T10:29:57.053Z sunrise +2031-06-29T05:48:06.771Z moonset +2031-06-29T10:29:56.869Z sunrise 2031-06-29T17:28:20.239Z Sun culminates 84.61 degrees above the horizon -2031-06-29T19:12:24.921Z moonrise -2031-06-30T00:26:38.140Z sunset +2031-06-29T19:12:24.980Z moonrise +2031-06-30T00:26:38.361Z sunset 2031-06-30T00:53:14.980Z Moon culminates 46.22 degrees above the horizon -2031-06-30T06:30:04.584Z moonset -2031-06-30T10:30:18.259Z sunrise +2031-06-30T06:30:04.535Z moonset +2031-06-30T10:30:18.077Z sunrise 2031-06-30T17:28:32.076Z Sun culminates 84.55 degrees above the horizon -2031-06-30T20:15:01.227Z moonrise -2031-07-01T00:26:39.978Z sunset +2031-06-30T20:15:01.336Z moonrise +2031-07-01T00:26:40.198Z sunset 2031-07-01T01:47:53.575Z Moon culminates 42.80 degrees above the horizon -2031-07-01T07:17:40.712Z moonset -2031-07-01T10:30:40.293Z sunrise +2031-07-01T07:17:40.620Z moonset +2031-07-01T10:30:40.112Z sunrise 2031-07-01T17:28:43.652Z Sun culminates 84.48 degrees above the horizon -2031-07-01T21:19:36.716Z moonrise -2031-07-02T00:26:40.475Z sunset +2031-07-01T21:19:36.867Z moonrise +2031-07-02T00:26:40.693Z sunset 2031-07-02T02:46:39.772Z Moon culminates 40.46 degrees above the horizon -2031-07-02T08:11:58.099Z moonset -2031-07-02T10:31:03.127Z sunrise +2031-07-02T08:11:57.965Z moonset +2031-07-02T10:31:02.947Z sunrise 2031-07-02T17:28:54.951Z Sun culminates 84.41 degrees above the horizon -2031-07-02T22:24:20.852Z moonrise -2031-07-03T00:26:39.622Z sunset +2031-07-02T22:24:21.014Z moonrise +2031-07-03T00:26:39.839Z sunset 2031-07-03T03:48:42.362Z Moon culminates 39.56 degrees above the horizon -2031-07-03T09:13:01.219Z moonset -2031-07-03T10:31:26.735Z sunrise +2031-07-03T09:13:01.060Z moonset +2031-07-03T10:31:26.556Z sunrise 2031-07-03T17:29:05.955Z Sun culminates 84.33 degrees above the horizon -2031-07-03T23:26:42.384Z moonrise -2031-07-04T00:26:37.412Z sunset +2031-07-03T23:26:42.526Z moonrise +2031-07-04T00:26:37.627Z sunset 2031-07-04T04:52:11.419Z Moon culminates 40.31 degrees above the horizon -2031-07-04T10:19:26.640Z moonset -2031-07-04T10:31:51.089Z sunrise +2031-07-04T10:19:26.487Z moonset +2031-07-04T10:31:50.912Z sunrise 2031-07-04T17:29:16.646Z Sun culminates 84.24 degrees above the horizon 2031-07-04T19:01:45.685Z full moon 2031-07-04T21:16:43.428Z lunar perigee at 357000 km -2031-07-05T00:24:27.929Z moonrise -2031-07-05T00:26:33.838Z sunset +2031-07-05T00:24:28.030Z moonrise +2031-07-05T00:26:34.052Z sunset 2031-07-05T05:54:51.791Z Moon culminates 42.69 degrees above the horizon -2031-07-05T10:32:16.163Z sunrise -2031-07-05T11:28:37.865Z moonset +2031-07-05T10:32:15.988Z sunrise +2031-07-05T11:28:37.754Z moonset 2031-07-05T17:29:27.010Z Sun culminates 84.15 degrees above the horizon -2031-07-06T00:26:28.896Z sunset -2031-07-06T01:16:34.505Z moonrise +2031-07-06T00:26:29.108Z sunset +2031-07-06T01:16:34.561Z moonrise 2031-07-06T05:09:25.545Z Earth aphelion at 1.0167 AU 2031-07-06T06:54:55.210Z Moon culminates 46.44 degrees above the horizon -2031-07-06T10:32:41.931Z sunrise -2031-07-06T12:37:48.722Z moonset +2031-07-06T10:32:41.758Z sunrise +2031-07-06T12:37:48.668Z moonset 2031-07-06T17:29:37.031Z Sun culminates 84.05 degrees above the horizon -2031-07-07T00:26:22.581Z sunset -2031-07-07T02:03:16.469Z moonrise +2031-07-07T00:26:22.791Z sunset +2031-07-07T02:03:16.492Z moonrise 2031-07-07T07:51:32.195Z Moon culminates 51.15 degrees above the horizon -2031-07-07T10:33:08.367Z sunrise -2031-07-07T13:45:04.518Z moonset +2031-07-07T10:33:08.195Z sunrise +2031-07-07T13:45:04.504Z moonset 2031-07-07T17:29:46.693Z Sun culminates 83.94 degrees above the horizon -2031-07-08T00:26:14.890Z sunset +2031-07-08T00:26:15.097Z sunset 2031-07-08T02:08:05.663Z Venus peak magnitude -4.69 in evening sky -2031-07-08T02:45:37.316Z moonrise +2031-07-08T02:45:37.325Z moonrise 2031-07-08T08:44:48.810Z Moon culminates 56.35 degrees above the horizon -2031-07-08T10:33:35.444Z sunrise +2031-07-08T10:33:35.275Z sunrise 2031-07-08T14:49:38.996Z moonset 2031-07-08T17:29:55.982Z Sun culminates 83.83 degrees above the horizon -2031-07-09T00:26:05.819Z sunset -2031-07-09T03:24:58.759Z moonrise +2031-07-09T00:26:06.023Z sunset +2031-07-09T03:24:58.765Z moonrise 2031-07-09T09:35:25.028Z Moon culminates 61.65 degrees above the horizon -2031-07-09T10:34:03.136Z sunrise -2031-07-09T15:51:35.905Z moonset +2031-07-09T10:34:02.969Z sunrise +2031-07-09T15:51:35.907Z moonset 2031-07-09T17:30:04.883Z Sun culminates 83.71 degrees above the horizon -2031-07-10T00:25:55.367Z sunset -2031-07-10T04:02:42.540Z moonrise +2031-07-10T00:25:55.569Z sunset +2031-07-10T04:02:42.545Z moonrise 2031-07-10T10:24:13.683Z Moon culminates 66.74 degrees above the horizon -2031-07-10T10:34:31.416Z sunrise +2031-07-10T10:34:31.251Z sunrise 2031-07-10T11:39:29.058Z Mars moves from Virgo to Libra -2031-07-10T16:51:22.130Z moonset +2031-07-10T16:51:22.138Z moonset 2031-07-10T17:30:13.383Z Sun culminates 83.59 degrees above the horizon -2031-07-11T00:25:43.533Z sunset -2031-07-11T04:40:03.257Z moonrise -2031-07-11T10:35:00.254Z sunrise +2031-07-11T00:25:43.733Z sunset +2031-07-11T04:40:03.254Z moonrise +2031-07-11T10:35:00.093Z sunrise 2031-07-11T11:12:06.556Z Moon culminates 71.36 degrees above the horizon 2031-07-11T11:50:19.205Z third quarter 2031-07-11T17:30:21.467Z Sun culminates 83.46 degrees above the horizon -2031-07-11T17:49:26.606Z moonset -2031-07-12T00:25:30.317Z sunset -2031-07-12T05:18:06.216Z moonrise -2031-07-12T10:35:29.623Z sunrise +2031-07-11T17:49:26.635Z moonset +2031-07-12T00:25:30.514Z sunset +2031-07-12T05:18:06.194Z moonrise +2031-07-12T10:35:29.464Z sunrise 2031-07-12T11:59:46.231Z Moon culminates 75.33 degrees above the horizon 2031-07-12T17:30:29.119Z Sun culminates 83.32 degrees above the horizon -2031-07-12T18:46:07.080Z moonset -2031-07-13T00:25:15.717Z sunset -2031-07-13T05:57:45.954Z moonrise -2031-07-13T10:35:59.491Z sunrise +2031-07-12T18:46:07.144Z moonset +2031-07-13T00:25:15.912Z sunset +2031-07-13T05:57:45.905Z moonrise +2031-07-13T10:35:59.335Z sunrise 2031-07-13T12:47:41.145Z Moon culminates 78.50 degrees above the horizon 2031-07-13T17:30:36.324Z Sun culminates 83.17 degrees above the horizon -2031-07-13T19:41:23.397Z moonset -2031-07-14T00:24:59.736Z sunset -2031-07-14T06:39:43.309Z moonrise -2031-07-14T10:36:29.828Z sunrise +2031-07-13T19:41:23.496Z moonset +2031-07-14T00:24:59.927Z sunset +2031-07-14T06:39:43.230Z moonrise +2031-07-14T10:36:29.675Z sunrise 2031-07-14T13:36:02.602Z Moon culminates 80.77 degrees above the horizon 2031-07-14T16:35:41.227Z Mercury moves from Cancer to Leo 2031-07-14T17:30:43.067Z Sun culminates 83.02 degrees above the horizon -2031-07-14T20:34:56.799Z moonset -2031-07-15T00:24:42.371Z sunset -2031-07-15T07:24:20.906Z moonrise +2031-07-14T20:34:56.923Z moonset +2031-07-15T00:24:42.560Z sunset +2031-07-15T07:24:20.802Z moonrise 2031-07-15T07:25:43.905Z Mercury max evening elongation: 26.57 degrees from Sun -2031-07-15T10:37:00.602Z sunrise +2031-07-15T10:37:00.452Z sunrise 2031-07-15T14:24:44.179Z Moon culminates 82.05 degrees above the horizon 2031-07-15T17:30:49.332Z Sun culminates 82.87 degrees above the horizon -2031-07-15T21:26:15.491Z moonset -2031-07-16T00:24:23.625Z sunset -2031-07-16T08:11:39.046Z moonrise -2031-07-16T10:37:31.780Z sunrise +2031-07-15T21:26:15.624Z moonset +2031-07-16T00:24:23.810Z sunset +2031-07-16T08:11:38.928Z moonrise +2031-07-16T10:37:31.633Z sunrise 2031-07-16T15:13:24.748Z Moon culminates 82.30 degrees above the horizon 2031-07-16T17:30:55.103Z Sun culminates 82.70 degrees above the horizon -2031-07-16T22:14:45.374Z moonset -2031-07-17T00:24:03.498Z sunset -2031-07-17T09:01:15.487Z moonrise -2031-07-17T10:38:03.330Z sunrise +2031-07-16T22:14:45.502Z moonset +2031-07-17T00:24:03.680Z sunset +2031-07-17T09:01:15.368Z moonrise +2031-07-17T10:38:03.187Z sunrise 2031-07-17T16:01:35.497Z Moon culminates 81.54 degrees above the horizon 2031-07-17T17:31:00.365Z Sun culminates 82.54 degrees above the horizon -2031-07-17T23:00:02.088Z moonset -2031-07-18T00:23:41.990Z sunset -2031-07-18T09:52:31.784Z moonrise -2031-07-18T10:38:35.220Z sunrise +2031-07-17T23:00:02.198Z moonset +2031-07-18T00:23:42.169Z sunset +2031-07-18T09:52:31.679Z moonrise +2031-07-18T10:38:35.080Z sunrise 2031-07-18T14:30:49.151Z lunar apogee at 406524 km 2031-07-18T16:48:49.286Z Moon culminates 79.81 degrees above the horizon 2031-07-18T17:31:05.102Z Sun culminates 82.36 degrees above the horizon -2031-07-18T23:41:59.306Z moonset -2031-07-19T00:23:19.105Z sunset -2031-07-19T10:39:07.417Z sunrise -2031-07-19T10:44:45.085Z moonrise +2031-07-18T23:41:59.391Z moonset +2031-07-19T00:23:19.280Z sunset +2031-07-19T10:39:07.281Z sunrise +2031-07-19T10:44:45.009Z moonrise 2031-07-19T13:40:46.344Z new moon 2031-07-19T17:31:09.298Z Sun culminates 82.18 degrees above the horizon 2031-07-19T17:34:49.019Z Moon culminates 77.24 degrees above the horizon -2031-07-20T00:20:50.578Z moonset -2031-07-20T00:22:54.845Z sunset -2031-07-20T10:39:39.888Z sunrise -2031-07-20T11:37:20.576Z moonrise +2031-07-20T00:20:50.635Z moonset +2031-07-20T00:22:55.017Z sunset +2031-07-20T10:39:39.756Z sunrise +2031-07-20T11:37:20.533Z moonrise 2031-07-20T17:31:12.941Z Sun culminates 81.99 degrees above the horizon 2031-07-20T18:19:32.360Z Moon culminates 73.94 degrees above the horizon -2031-07-21T00:22:29.214Z sunset -2031-07-21T00:57:06.011Z moonset -2031-07-21T10:40:12.602Z sunrise -2031-07-21T12:29:59.716Z moonrise +2031-07-21T00:22:29.381Z sunset +2031-07-21T00:57:06.043Z moonset +2031-07-21T10:40:12.474Z sunrise +2031-07-21T12:29:59.701Z moonrise 2031-07-21T17:31:16.015Z Sun culminates 81.80 degrees above the horizon 2031-07-21T19:03:12.385Z Moon culminates 70.08 degrees above the horizon -2031-07-22T00:22:02.215Z sunset -2031-07-22T01:31:27.188Z moonset -2031-07-22T10:40:45.529Z sunrise +2031-07-22T00:22:02.379Z sunset +2031-07-22T01:31:27.206Z moonset +2031-07-22T10:40:45.405Z sunrise 2031-07-22T13:22:42.699Z moonrise 2031-07-22T17:31:18.510Z Sun culminates 81.60 degrees above the horizon 2031-07-22T18:05:40.452Z Mercury aphelion at 0.4667 AU 2031-07-22T19:46:15.657Z Moon culminates 65.80 degrees above the horizon -2031-07-23T00:21:33.857Z sunset -2031-07-23T02:04:43.156Z moonset -2031-07-23T10:41:18.640Z sunrise -2031-07-23T14:15:46.487Z moonrise +2031-07-23T00:21:34.017Z sunset +2031-07-23T02:04:43.167Z moonset +2031-07-23T10:41:18.520Z sunrise +2031-07-23T14:15:46.490Z moonrise 2031-07-23T17:31:20.414Z Sun culminates 81.40 degrees above the horizon 2031-07-23T20:29:19.539Z Moon culminates 61.26 degrees above the horizon -2031-07-24T00:21:04.145Z sunset -2031-07-24T02:37:48.591Z moonset -2031-07-24T10:41:51.905Z sunrise -2031-07-24T15:09:40.386Z moonrise +2031-07-24T00:21:04.301Z sunset +2031-07-24T02:37:48.600Z moonset +2031-07-24T10:41:51.790Z sunrise +2031-07-24T15:09:40.390Z moonrise 2031-07-24T17:31:21.717Z Sun culminates 81.19 degrees above the horizon 2031-07-24T21:13:09.629Z Moon culminates 56.64 degrees above the horizon -2031-07-25T00:20:33.089Z sunset -2031-07-25T03:11:43.969Z moonset -2031-07-25T10:42:25.300Z sunrise -2031-07-25T16:04:59.908Z moonrise +2031-07-25T00:20:33.241Z sunset +2031-07-25T03:11:43.974Z moonset +2031-07-25T10:42:25.189Z sunrise +2031-07-25T16:04:59.922Z moonrise 2031-07-25T17:31:22.412Z Sun culminates 80.98 degrees above the horizon 2031-07-25T21:58:37.104Z Moon culminates 52.12 degrees above the horizon -2031-07-26T00:20:00.700Z sunset -2031-07-26T03:47:36.772Z moonset -2031-07-26T10:42:58.798Z sunrise -2031-07-26T17:02:18.136Z moonrise +2031-07-26T00:20:00.848Z sunset +2031-07-26T03:47:36.765Z moonset +2031-07-26T10:42:58.692Z sunrise +2031-07-26T17:02:18.177Z moonrise 2031-07-26T17:31:22.492Z Sun culminates 80.76 degrees above the horizon 2031-07-26T22:46:34.634Z Moon culminates 47.91 degrees above the horizon -2031-07-27T00:19:26.990Z sunset -2031-07-27T04:26:42.110Z moonset +2031-07-27T00:19:27.134Z sunset +2031-07-27T04:26:42.077Z moonset 2031-07-27T10:35:18.944Z first quarter -2031-07-27T10:43:32.377Z sunrise +2031-07-27T10:43:32.276Z sunrise 2031-07-27T17:31:21.954Z Sun culminates 80.53 degrees above the horizon -2031-07-27T18:01:53.071Z moonrise +2031-07-27T18:01:53.157Z moonrise 2031-07-27T23:37:48.797Z Moon culminates 44.28 degrees above the horizon -2031-07-28T00:18:51.972Z sunset -2031-07-28T05:10:19.839Z moonset -2031-07-28T10:44:06.016Z sunrise +2031-07-28T00:18:52.112Z sunset +2031-07-28T05:10:19.769Z moonset +2031-07-28T10:44:05.919Z sunrise 2031-07-28T17:31:20.793Z Sun culminates 80.30 degrees above the horizon -2031-07-28T19:03:30.836Z moonrise -2031-07-29T00:18:15.663Z sunset +2031-07-28T19:03:30.968Z moonrise +2031-07-29T00:18:15.799Z sunset 2031-07-29T00:32:47.007Z Moon culminates 41.52 degrees above the horizon -2031-07-29T05:59:43.509Z moonset -2031-07-29T10:44:39.695Z sunrise +2031-07-29T05:59:43.396Z moonset +2031-07-29T10:44:39.603Z sunrise 2031-07-29T17:31:19.010Z Sun culminates 80.07 degrees above the horizon -2031-07-29T20:06:10.378Z moonrise -2031-07-30T00:17:38.080Z sunset +2031-07-29T20:06:10.536Z moonrise +2031-07-30T00:17:38.212Z sunset 2031-07-30T01:31:20.031Z Moon culminates 39.95 degrees above the horizon -2031-07-30T06:55:36.924Z moonset -2031-07-30T10:45:13.396Z sunrise +2031-07-30T06:55:36.778Z moonset +2031-07-30T10:45:13.309Z sunrise 2031-07-30T17:31:16.603Z Sun culminates 79.83 degrees above the horizon -2031-07-30T21:08:04.057Z moonrise -2031-07-31T00:16:59.242Z sunset +2031-07-30T21:08:04.210Z moonrise +2031-07-31T00:16:59.369Z sunset 2031-07-31T02:32:29.003Z Moon culminates 39.84 degrees above the horizon -2031-07-31T07:57:43.138Z moonset -2031-07-31T10:45:47.102Z sunrise +2031-07-31T07:57:42.981Z moonset +2031-07-31T10:45:47.020Z sunrise 2031-07-31T17:31:13.576Z Sun culminates 79.58 degrees above the horizon -2031-07-31T22:07:07.399Z moonrise -2031-08-01T00:16:19.167Z sunset +2031-07-31T22:07:07.522Z moonrise +2031-08-01T00:16:19.290Z sunset 2031-08-01T03:34:32.465Z Moon culminates 41.33 degrees above the horizon -2031-08-01T09:04:28.680Z moonset -2031-08-01T10:46:20.800Z sunrise +2031-08-01T09:04:28.545Z moonset +2031-08-01T10:46:20.723Z sunrise 2031-08-01T17:31:09.931Z Sun culminates 79.33 degrees above the horizon -2031-08-01T23:01:46.985Z moonrise -2031-08-02T00:15:37.877Z sunset +2031-08-01T23:01:47.064Z moonrise +2031-08-02T00:15:37.995Z sunset 2031-08-02T04:35:39.239Z Moon culminates 44.33 degrees above the horizon 2031-08-02T06:43:05.614Z lunar perigee at 358050 km -2031-08-02T10:13:28.633Z moonset -2031-08-02T10:46:54.475Z sunrise +2031-08-02T10:13:28.548Z moonset +2031-08-02T10:46:54.403Z sunrise 2031-08-02T17:31:05.672Z Sun culminates 79.07 degrees above the horizon -2031-08-02T23:51:31.876Z moonrise -2031-08-03T00:14:55.392Z sunset +2031-08-02T23:51:31.914Z moonrise +2031-08-03T00:14:55.506Z sunset 2031-08-03T01:46:01.863Z full moon 2031-08-03T05:34:27.921Z Moon culminates 48.55 degrees above the horizon -2031-08-03T10:47:28.116Z sunrise -2031-08-03T11:22:22.497Z moonset +2031-08-03T10:47:28.049Z sunrise +2031-08-03T11:22:22.465Z moonset 2031-08-03T17:31:00.804Z Sun culminates 78.81 degrees above the horizon -2031-08-04T00:14:11.733Z sunset -2031-08-04T00:36:49.876Z moonrise +2031-08-04T00:14:11.843Z sunset +2031-08-04T00:36:49.889Z moonrise 2031-08-04T06:30:26.148Z Moon culminates 53.58 degrees above the horizon -2031-08-04T10:48:01.713Z sunrise -2031-08-04T12:29:37.709Z moonset +2031-08-04T10:48:01.652Z sunrise +2031-08-04T12:29:37.705Z moonset 2031-08-04T17:30:55.333Z Sun culminates 78.55 degrees above the horizon -2031-08-05T00:13:26.923Z sunset +2031-08-05T00:13:27.029Z sunset 2031-08-05T00:34:38.958Z Pluto opposition -2031-08-05T01:18:43.398Z moonrise +2031-08-05T01:18:43.403Z moonrise 2031-08-05T07:23:44.280Z Moon culminates 58.97 degrees above the horizon -2031-08-05T10:48:35.257Z sunrise -2031-08-05T13:34:36.619Z moonset +2031-08-05T10:48:35.201Z sunrise +2031-08-05T13:34:36.620Z moonset 2031-08-05T17:30:49.266Z Sun culminates 78.28 degrees above the horizon -2031-08-06T00:12:40.984Z sunset -2031-08-06T01:58:26.757Z moonrise +2031-08-06T00:12:41.086Z sunset +2031-08-06T01:58:26.762Z moonrise 2031-08-06T08:14:57.434Z Moon culminates 64.31 degrees above the horizon -2031-08-06T10:49:08.740Z sunrise -2031-08-06T14:37:18.814Z moonset +2031-08-06T10:49:08.689Z sunrise +2031-08-06T14:37:18.817Z moonset 2031-08-06T17:30:42.610Z Sun culminates 78.00 degrees above the horizon -2031-08-07T00:11:53.939Z sunset -2031-08-07T02:37:13.049Z moonrise +2031-08-07T00:11:54.036Z sunset +2031-08-07T02:37:13.050Z moonrise 2031-08-07T02:45:57.678Z Venus aphelion at 0.7282 AU 2031-08-07T05:15:21.969Z Venus moves from Leo to Cancer 2031-08-07T09:04:48.743Z Moon culminates 69.29 degrees above the horizon -2031-08-07T10:49:42.153Z sunrise -2031-08-07T15:37:58.860Z moonset +2031-08-07T10:49:42.107Z sunrise +2031-08-07T15:37:58.877Z moonset 2031-08-07T17:30:35.373Z Sun culminates 77.73 degrees above the horizon -2031-08-08T00:11:05.810Z sunset -2031-08-08T03:16:08.388Z moonrise +2031-08-08T00:11:05.903Z sunset +2031-08-08T03:16:08.376Z moonrise 2031-08-08T09:53:57.953Z Moon culminates 73.65 degrees above the horizon -2031-08-08T10:50:15.489Z sunrise -2031-08-08T16:36:49.383Z moonset +2031-08-08T10:50:15.448Z sunrise +2031-08-08T16:36:49.430Z moonset 2031-08-08T17:30:27.561Z Sun culminates 77.44 degrees above the horizon -2031-08-09T00:10:16.622Z sunset -2031-08-09T03:56:09.146Z moonrise +2031-08-09T00:10:16.710Z sunset +2031-08-09T03:56:09.110Z moonrise 2031-08-09T10:42:54.498Z Moon culminates 77.22 degrees above the horizon -2031-08-09T10:50:48.740Z sunrise +2031-08-09T10:50:48.704Z sunrise 2031-08-09T17:30:19.184Z Sun culminates 77.16 degrees above the horizon -2031-08-09T17:33:51.346Z moonset -2031-08-10T00:09:26.395Z sunset +2031-08-09T17:33:51.429Z moonset +2031-08-10T00:09:26.480Z sunset 2031-08-10T00:24:11.639Z third quarter -2031-08-10T04:37:59.279Z moonrise -2031-08-10T10:51:21.897Z sunrise +2031-08-10T04:37:59.213Z moonrise +2031-08-10T10:51:21.866Z sunrise 2031-08-10T11:31:53.721Z Moon culminates 79.87 degrees above the horizon 2031-08-10T17:30:10.247Z Sun culminates 76.86 degrees above the horizon -2031-08-10T18:28:51.207Z moonset -2031-08-11T00:08:35.154Z sunset +2031-08-10T18:28:51.321Z moonset +2031-08-11T00:08:35.234Z sunset 2031-08-11T02:55:13.412Z Venus inferior conjunction -2031-08-11T05:22:06.875Z moonrise +2031-08-11T05:22:06.782Z moonrise 2031-08-11T07:09:49.596Z Mercury moves from Leo to Cancer -2031-08-11T10:51:54.952Z sunrise +2031-08-11T10:51:54.926Z sunrise 2031-08-11T12:20:55.905Z Moon culminates 81.52 degrees above the horizon 2031-08-11T17:30:00.758Z Sun culminates 76.57 degrees above the horizon -2031-08-11T19:21:24.459Z moonset -2031-08-12T00:07:42.921Z sunset +2031-08-11T19:21:24.588Z moonset +2031-08-12T00:07:42.997Z sunset 2031-08-12T03:58:06.729Z Mercury inferior conjunction -2031-08-12T06:08:40.865Z moonrise -2031-08-12T10:52:27.897Z sunrise +2031-08-12T06:08:40.753Z moonrise +2031-08-12T10:52:27.876Z sunrise 2031-08-12T13:09:48.416Z Moon culminates 82.15 degrees above the horizon 2031-08-12T17:29:50.724Z Sun culminates 76.27 degrees above the horizon -2031-08-12T20:11:03.994Z moonset -2031-08-13T00:06:49.716Z sunset -2031-08-13T06:57:30.181Z moonrise -2031-08-13T10:53:00.723Z sunrise +2031-08-12T20:11:04.122Z moonset +2031-08-13T00:06:49.788Z sunset +2031-08-13T06:57:30.063Z moonrise +2031-08-13T10:53:00.707Z sunrise 2031-08-13T13:58:10.913Z Moon culminates 81.75 degrees above the horizon 2031-08-13T17:29:40.152Z Sun culminates 75.97 degrees above the horizon -2031-08-13T20:57:29.964Z moonset -2031-08-14T00:05:55.562Z sunset -2031-08-14T07:48:07.541Z moonrise -2031-08-14T10:53:33.422Z sunrise +2031-08-13T20:57:30.079Z moonset +2031-08-14T00:05:55.631Z sunset +2031-08-14T07:48:07.432Z moonrise +2031-08-14T10:53:33.411Z sunrise 2031-08-14T14:45:42.458Z Moon culminates 80.38 degrees above the horizon 2031-08-14T17:29:29.046Z Sun culminates 75.66 degrees above the horizon 2031-08-14T21:37:50.617Z lunar apogee at 405934 km -2031-08-14T21:40:37.079Z moonset -2031-08-15T00:05:00.480Z sunset -2031-08-15T08:39:57.883Z moonrise -2031-08-15T10:54:05.985Z sunrise +2031-08-14T21:40:37.171Z moonset +2031-08-15T00:05:00.545Z sunset +2031-08-15T08:39:57.797Z moonrise +2031-08-15T10:54:05.979Z sunrise 2031-08-15T15:32:08.385Z Moon culminates 78.12 degrees above the horizon 2031-08-15T17:29:17.414Z Sun culminates 75.35 degrees above the horizon -2031-08-15T22:20:37.000Z moonset -2031-08-16T00:04:04.490Z sunset -2031-08-16T09:32:28.639Z moonrise -2031-08-16T10:54:38.403Z sunrise +2031-08-15T22:20:37.064Z moonset +2031-08-16T00:04:04.551Z sunset +2031-08-16T09:32:28.586Z moonrise +2031-08-16T10:54:38.402Z sunrise 2031-08-16T16:17:24.925Z Moon culminates 75.09 degrees above the horizon 2031-08-16T17:29:05.262Z Sun culminates 75.03 degrees above the horizon -2031-08-16T22:57:56.324Z moonset -2031-08-17T00:03:07.614Z sunset -2031-08-17T10:25:18.010Z moonrise -2031-08-17T10:55:10.669Z sunrise +2031-08-16T22:57:56.363Z moonset +2031-08-17T00:03:07.671Z sunset +2031-08-17T10:25:17.987Z moonrise +2031-08-17T10:55:10.672Z sunrise 2031-08-17T17:01:40.810Z Moon culminates 71.42 degrees above the horizon 2031-08-17T17:28:52.597Z Sun culminates 74.71 degrees above the horizon -2031-08-17T23:33:12.574Z moonset -2031-08-18T00:02:09.871Z sunset +2031-08-17T23:33:12.595Z moonset +2031-08-18T00:02:09.925Z sunset 2031-08-18T04:32:48.487Z new moon -2031-08-18T10:55:42.775Z sunrise -2031-08-18T11:18:18.933Z moonrise +2031-08-18T10:55:42.783Z sunrise +2031-08-18T11:18:18.928Z moonrise 2031-08-18T17:28:39.424Z Sun culminates 74.39 degrees above the horizon 2031-08-18T17:45:16.472Z Moon culminates 67.27 degrees above the horizon -2031-08-19T00:01:11.283Z sunset -2031-08-19T00:07:10.488Z moonset -2031-08-19T10:56:14.714Z sunrise -2031-08-19T12:11:38.832Z moonrise +2031-08-19T00:01:11.333Z sunset +2031-08-19T00:07:10.500Z moonset +2031-08-19T10:56:14.727Z sunrise +2031-08-19T12:11:38.835Z moonrise 2031-08-19T17:28:25.752Z Sun culminates 74.07 degrees above the horizon 2031-08-19T18:28:42.013Z Moon culminates 62.81 degrees above the horizon -2031-08-20T00:00:11.871Z sunset -2031-08-20T00:40:39.845Z moonset -2031-08-20T10:56:46.482Z sunrise -2031-08-20T13:05:36.466Z moonrise +2031-08-20T00:00:11.918Z sunset +2031-08-20T00:40:39.854Z moonset +2031-08-20T10:56:46.499Z sunrise +2031-08-20T13:05:36.469Z moonrise 2031-08-20T17:28:11.588Z Sun culminates 73.74 degrees above the horizon 2031-08-20T19:12:34.872Z Moon culminates 58.21 degrees above the horizon -2031-08-20T23:59:11.655Z sunset -2031-08-21T01:14:34.941Z moonset -2031-08-21T10:57:18.073Z sunrise -2031-08-21T14:00:36.881Z moonrise +2031-08-20T23:59:11.699Z sunset +2031-08-21T01:14:34.947Z moonset +2031-08-21T10:57:18.094Z sunrise +2031-08-21T14:00:36.890Z moonrise 2031-08-21T17:27:56.941Z Sun culminates 73.41 degrees above the horizon 2031-08-21T19:57:37.331Z Moon culminates 53.66 degrees above the horizon -2031-08-21T23:58:10.659Z sunset -2031-08-22T01:49:55.112Z moonset -2031-08-22T10:57:49.484Z sunrise -2031-08-22T14:57:04.520Z moonrise +2031-08-21T23:58:10.699Z sunset +2031-08-22T01:49:55.111Z moonset +2031-08-22T10:57:49.509Z sunrise +2031-08-22T14:57:04.549Z moonrise 2031-08-22T17:27:41.822Z Sun culminates 73.07 degrees above the horizon 2031-08-22T20:44:33.211Z Moon culminates 49.38 degrees above the horizon -2031-08-22T23:57:08.904Z sunset -2031-08-23T02:27:45.173Z moonset -2031-08-23T10:58:20.714Z sunrise -2031-08-23T15:55:13.805Z moonrise +2031-08-22T23:57:08.942Z sunset +2031-08-23T02:27:45.152Z moonset +2031-08-23T10:58:20.743Z sunrise +2031-08-23T15:55:13.873Z moonrise 2031-08-23T17:27:26.240Z Sun culminates 72.73 degrees above the horizon 2031-08-23T21:34:02.488Z Moon culminates 45.60 degrees above the horizon -2031-08-23T23:56:06.414Z sunset -2031-08-24T03:09:13.799Z moonset -2031-08-24T10:58:51.762Z sunrise -2031-08-24T16:54:57.213Z moonrise +2031-08-23T23:56:06.449Z sunset +2031-08-24T03:09:13.744Z moonset +2031-08-24T10:58:51.795Z sunrise +2031-08-24T16:54:57.326Z moonrise 2031-08-24T17:27:10.208Z Sun culminates 72.39 degrees above the horizon 2031-08-24T22:26:32.582Z Moon culminates 42.59 degrees above the horizon -2031-08-24T23:55:03.214Z sunset -2031-08-25T03:55:26.980Z moonset +2031-08-24T23:55:03.246Z sunset +2031-08-25T03:55:26.886Z moonset 2031-08-25T06:30:45.676Z Mars moves from Libra to Scorpius -2031-08-25T10:59:22.630Z sunrise +2031-08-25T10:59:22.666Z sunrise 2031-08-25T17:26:53.740Z Sun culminates 72.05 degrees above the horizon -2031-08-25T17:55:33.983Z moonrise +2031-08-25T17:55:34.129Z moonrise 2031-08-25T18:40:15.932Z first quarter 2031-08-25T23:22:06.682Z Moon culminates 40.62 degrees above the horizon -2031-08-25T23:53:59.327Z sunset -2031-08-26T04:47:13.608Z moonset -2031-08-26T10:59:53.319Z sunrise +2031-08-25T23:53:59.357Z sunset +2031-08-26T04:47:13.478Z moonset +2031-08-26T10:59:53.359Z sunrise 2031-08-26T17:26:36.849Z Sun culminates 71.70 degrees above the horizon -2031-08-26T18:55:47.696Z moonrise -2031-08-26T23:52:54.781Z sunset +2031-08-26T18:55:47.850Z moonrise +2031-08-26T23:52:54.808Z sunset 2031-08-27T00:20:13.475Z Moon culminates 39.93 degrees above the horizon -2031-08-27T05:44:44.229Z moonset -2031-08-27T11:00:23.835Z sunrise +2031-08-27T05:44:44.079Z moonset +2031-08-27T11:00:23.878Z sunrise 2031-08-27T17:26:19.552Z Sun culminates 71.35 degrees above the horizon -2031-08-27T19:54:01.954Z moonrise -2031-08-27T23:51:49.602Z sunset +2031-08-27T19:54:02.090Z moonrise +2031-08-27T23:51:49.627Z sunset 2031-08-28T01:19:47.054Z Moon culminates 40.69 degrees above the horizon -2031-08-28T06:47:13.766Z moonset -2031-08-28T11:00:54.183Z sunrise +2031-08-28T06:47:13.623Z moonset +2031-08-28T11:00:54.230Z sunrise 2031-08-28T17:26:01.865Z Sun culminates 71.00 degrees above the horizon -2031-08-28T20:48:52.177Z moonrise -2031-08-28T23:50:43.818Z sunset +2031-08-28T20:48:52.276Z moonrise +2031-08-28T23:50:43.840Z sunset 2031-08-29T02:19:23.480Z Moon culminates 42.90 degrees above the horizon -2031-08-29T07:53:05.935Z moonset -2031-08-29T11:01:24.371Z sunrise +2031-08-29T07:53:05.829Z moonset +2031-08-29T11:01:24.421Z sunrise 2031-08-29T17:25:43.806Z Sun culminates 70.64 degrees above the horizon 2031-08-29T17:38:01.776Z Mercury max morning elongation: 18.24 degrees from Sun -2031-08-29T21:39:34.786Z moonrise -2031-08-29T23:49:37.456Z sunset +2031-08-29T21:39:34.843Z moonrise +2031-08-29T23:49:37.476Z sunset 2031-08-30T03:17:48.076Z Moon culminates 46.43 degrees above the horizon 2031-08-30T07:28:24.310Z Mercury moves from Cancer to Leo -2031-08-30T09:00:24.655Z moonset -2031-08-30T11:01:54.407Z sunrise +2031-08-30T09:00:24.600Z moonset +2031-08-30T11:01:54.460Z sunrise 2031-08-30T12:51:33.587Z lunar perigee at 361672 km 2031-08-30T17:25:25.394Z Sun culminates 70.29 degrees above the horizon -2031-08-30T22:26:15.414Z moonrise -2031-08-30T23:48:30.544Z sunset +2031-08-30T22:26:15.438Z moonrise +2031-08-30T23:48:30.562Z sunset 2031-08-31T04:14:16.958Z Moon culminates 50.98 degrees above the horizon -2031-08-31T10:07:32.412Z moonset -2031-08-31T11:02:24.302Z sunrise +2031-08-31T10:07:32.397Z moonset +2031-08-31T11:02:24.357Z sunrise 2031-08-31T17:25:06.648Z Sun culminates 69.93 degrees above the horizon -2031-08-31T23:09:36.982Z moonrise -2031-08-31T23:47:23.112Z sunset +2031-08-31T23:09:36.990Z moonrise +2031-08-31T23:47:23.128Z sunset 2031-09-01T05:08:41.776Z Moon culminates 56.15 degrees above the horizon 2031-09-01T09:20:59.469Z full moon -2031-09-01T11:02:54.066Z sunrise +2031-09-01T11:02:54.124Z sunrise 2031-09-01T11:13:30.334Z moonset 2031-09-01T17:24:47.588Z Sun culminates 69.57 degrees above the horizon -2031-09-01T23:46:15.187Z sunset -2031-09-01T23:50:41.487Z moonrise +2031-09-01T23:46:15.201Z sunset +2031-09-01T23:50:41.492Z moonrise 2031-09-02T06:01:20.617Z Moon culminates 61.54 degrees above the horizon -2031-09-02T11:03:23.714Z sunrise -2031-09-02T12:17:54.744Z moonset +2031-09-02T11:03:23.774Z sunrise +2031-09-02T12:17:54.745Z moonset 2031-09-02T17:24:28.235Z Sun culminates 69.20 degrees above the horizon -2031-09-02T23:45:06.798Z sunset -2031-09-03T00:30:35.793Z moonrise +2031-09-02T23:45:06.811Z sunset +2031-09-03T00:30:35.797Z moonrise 2031-09-03T06:52:44.327Z Moon culminates 66.76 degrees above the horizon -2031-09-03T11:03:53.256Z sunrise -2031-09-03T13:20:41.514Z moonset +2031-09-03T11:03:53.319Z sunrise +2031-09-03T13:20:41.522Z moonset 2031-09-03T17:24:08.610Z Sun culminates 68.84 degrees above the horizon -2031-09-03T23:43:57.974Z sunset -2031-09-04T01:10:23.383Z moonrise +2031-09-03T23:43:57.986Z sunset +2031-09-04T01:10:23.379Z moonrise 2031-09-04T07:43:24.580Z Moon culminates 71.51 degrees above the horizon -2031-09-04T11:04:22.708Z sunrise -2031-09-04T14:21:49.837Z moonset +2031-09-04T11:04:22.773Z sunrise +2031-09-04T14:21:49.867Z moonset 2031-09-04T17:23:48.735Z Sun culminates 68.47 degrees above the horizon 2031-09-04T17:44:08.620Z Mercury perihelion at 0.3075 AU -2031-09-04T23:42:48.745Z sunset -2031-09-05T01:50:59.746Z moonrise +2031-09-04T23:42:48.755Z sunset +2031-09-05T01:50:59.723Z moonrise 2031-09-05T08:33:45.549Z Moon culminates 75.52 degrees above the horizon -2031-09-05T11:04:52.083Z sunrise -2031-09-05T15:21:11.128Z moonset +2031-09-05T11:04:52.150Z sunrise +2031-09-05T15:21:11.192Z moonset 2031-09-05T17:23:28.629Z Sun culminates 68.10 degrees above the horizon -2031-09-05T23:41:39.139Z sunset -2031-09-06T02:33:08.835Z moonrise +2031-09-05T23:41:39.148Z sunset +2031-09-06T02:33:08.784Z moonrise 2031-09-06T09:23:59.105Z Moon culminates 78.63 degrees above the horizon -2031-09-06T11:05:21.392Z sunrise -2031-09-06T16:18:24.884Z moonset +2031-09-06T11:05:21.461Z sunrise +2031-09-06T16:18:24.982Z moonset 2031-09-06T17:23:08.315Z Sun culminates 67.73 degrees above the horizon -2031-09-06T23:40:29.184Z sunset -2031-09-07T03:17:19.496Z moonrise +2031-09-06T23:40:29.192Z sunset +2031-09-07T03:17:19.416Z moonrise 2031-09-07T10:14:03.473Z Moon culminates 80.73 degrees above the horizon -2031-09-07T11:05:50.650Z sunrise -2031-09-07T17:13:01.645Z moonset +2031-09-07T11:05:50.721Z sunrise +2031-09-07T17:13:01.765Z moonset 2031-09-07T17:22:47.813Z Sun culminates 67.35 degrees above the horizon -2031-09-07T23:39:18.909Z sunset -2031-09-08T04:03:42.546Z moonrise +2031-09-07T23:39:18.916Z sunset +2031-09-08T04:03:42.443Z moonrise 2031-09-08T08:19:14.540Z Mars moves from Scorpius to Ophiuchus 2031-09-08T11:03:45.528Z Moon culminates 81.78 degrees above the horizon -2031-09-08T11:06:19.868Z sunrise +2031-09-08T11:06:19.941Z sunrise 2031-09-08T16:14:57.497Z third quarter 2031-09-08T17:22:27.143Z Sun culminates 66.98 degrees above the horizon -2031-09-08T18:04:31.373Z moonset -2031-09-08T23:38:08.342Z sunset -2031-09-09T04:52:10.392Z moonrise -2031-09-09T11:06:49.059Z sunrise +2031-09-08T18:04:31.499Z moonset +2031-09-08T23:38:08.348Z sunset +2031-09-09T04:52:10.278Z moonrise +2031-09-09T11:06:49.133Z sunrise 2031-09-09T11:52:46.215Z Moon culminates 81.77 degrees above the horizon 2031-09-09T17:22:06.323Z Sun culminates 66.60 degrees above the horizon -2031-09-09T18:52:33.329Z moonset -2031-09-09T23:36:57.509Z sunset -2031-09-10T05:42:20.820Z moonrise -2031-09-10T11:07:18.231Z sunrise +2031-09-09T18:52:33.447Z moonset +2031-09-09T23:36:57.514Z sunset +2031-09-10T05:42:20.710Z moonrise +2031-09-10T11:07:18.307Z sunrise 2031-09-10T12:40:47.412Z Moon culminates 80.78 degrees above the horizon 2031-09-10T17:21:45.373Z Sun culminates 66.22 degrees above the horizon -2031-09-10T19:37:02.952Z moonset -2031-09-10T23:35:46.438Z sunset -2031-09-11T06:33:44.643Z moonrise -2031-09-11T11:07:47.397Z sunrise +2031-09-10T19:37:03.050Z moonset +2031-09-10T23:35:46.442Z sunset +2031-09-11T06:33:44.551Z moonrise +2031-09-11T11:07:47.474Z sunrise 2031-09-11T11:54:58.580Z lunar apogee at 404994 km 2031-09-11T13:27:37.960Z Moon culminates 78.86 degrees above the horizon 2031-09-11T17:21:24.311Z Sun culminates 65.84 degrees above the horizon -2031-09-11T20:18:13.431Z moonset -2031-09-11T23:34:35.153Z sunset -2031-09-12T07:25:54.645Z moonrise -2031-09-12T11:08:16.566Z sunrise +2031-09-11T20:18:13.505Z moonset +2031-09-11T23:34:35.157Z sunset +2031-09-12T07:25:54.582Z moonrise +2031-09-12T11:08:16.644Z sunrise 2031-09-12T14:13:17.236Z Moon culminates 76.14 degrees above the horizon 2031-09-12T17:21:03.154Z Sun culminates 65.46 degrees above the horizon -2031-09-12T20:56:32.926Z moonset -2031-09-12T23:33:23.681Z sunset -2031-09-13T08:18:32.673Z moonrise -2031-09-13T11:08:45.747Z sunrise +2031-09-12T20:56:32.972Z moonset +2031-09-12T23:33:23.684Z sunset +2031-09-13T08:18:32.641Z moonrise +2031-09-13T11:08:45.826Z sunrise 2031-09-13T14:57:56.005Z Moon culminates 72.73 degrees above the horizon 2031-09-13T17:20:41.920Z Sun culminates 65.08 degrees above the horizon -2031-09-13T21:32:40.036Z moonset -2031-09-13T23:32:12.046Z sunset -2031-09-14T09:11:33.055Z moonrise -2031-09-14T11:09:14.948Z sunrise +2031-09-13T21:32:40.062Z moonset +2031-09-13T23:32:12.049Z sunset +2031-09-14T09:11:33.046Z moonrise +2031-09-14T11:09:15.029Z sunrise 2031-09-14T15:41:55.295Z Moon culminates 68.77 degrees above the horizon 2031-09-14T17:20:20.625Z Sun culminates 64.70 degrees above the horizon 2031-09-14T17:46:29.920Z Venus peak magnitude -4.75 in morning sky -2031-09-14T22:07:19.855Z moonset -2031-09-14T23:31:00.274Z sunset -2031-09-15T10:05:02.413Z moonrise -2031-09-15T11:09:44.179Z sunrise +2031-09-14T22:07:19.869Z moonset +2031-09-14T23:31:00.276Z sunset +2031-09-15T10:05:02.414Z moonrise +2031-09-15T11:09:44.260Z sunrise 2031-09-15T16:25:44.370Z Moon culminates 64.41 degrees above the horizon 2031-09-15T17:19:59.285Z Sun culminates 64.31 degrees above the horizon -2031-09-15T22:41:21.623Z moonset -2031-09-15T23:29:48.387Z sunset -2031-09-16T10:59:16.840Z moonrise -2031-09-16T11:10:13.447Z sunrise +2031-09-15T22:41:21.632Z moonset +2031-09-15T23:29:48.389Z sunset +2031-09-16T10:59:16.844Z moonrise +2031-09-16T11:10:13.529Z sunrise 2031-09-16T17:09:58.455Z Moon culminates 59.84 degrees above the horizon 2031-09-16T17:19:37.917Z Sun culminates 63.93 degrees above the horizon 2031-09-16T18:47:24.287Z new moon -2031-09-16T23:15:37.977Z moonset -2031-09-16T23:28:36.411Z sunset -2031-09-17T11:10:42.760Z sunrise -2031-09-17T11:54:37.222Z moonrise +2031-09-16T23:15:37.984Z moonset +2031-09-16T23:28:36.412Z sunset +2031-09-17T11:10:42.844Z sunrise +2031-09-17T11:54:37.228Z moonrise 2031-09-17T17:19:16.537Z Sun culminates 63.54 degrees above the horizon 2031-09-17T17:55:16.242Z Moon culminates 55.23 degrees above the horizon -2031-09-17T23:27:24.369Z sunset -2031-09-17T23:51:05.142Z moonset -2031-09-18T11:11:12.129Z sunrise -2031-09-18T12:51:22.716Z moonrise +2031-09-17T23:27:24.370Z sunset +2031-09-17T23:51:05.144Z moonset +2031-09-18T11:11:12.213Z sunrise +2031-09-18T12:51:22.735Z moonrise 2031-09-18T17:18:55.161Z Sun culminates 63.15 degrees above the horizon 2031-09-18T18:42:16.582Z Moon culminates 50.82 degrees above the horizon -2031-09-18T23:26:12.284Z sunset -2031-09-19T00:28:42.968Z moonset -2031-09-19T11:11:41.560Z sunrise -2031-09-19T13:49:42.056Z moonrise +2031-09-18T23:26:12.285Z sunset +2031-09-19T00:28:42.955Z moonset +2031-09-19T11:11:41.645Z sunrise +2031-09-19T13:49:42.108Z moonrise 2031-09-19T17:18:33.806Z Sun culminates 62.77 degrees above the horizon 2031-09-19T19:31:33.403Z Moon culminates 46.85 degrees above the horizon 2031-09-19T23:25:00.183Z sunset -2031-09-20T01:09:33.204Z moonset +2031-09-20T01:09:33.162Z moonset 2031-09-20T02:52:26.911Z Mercury moves from Leo to Virgo -2031-09-20T11:12:11.064Z sunrise -2031-09-20T14:49:23.146Z moonrise +2031-09-20T11:12:11.149Z sunrise +2031-09-20T14:49:23.242Z moonrise 2031-09-20T17:18:12.488Z Sun culminates 62.38 degrees above the horizon 2031-09-20T20:23:28.166Z Moon culminates 43.59 degrees above the horizon 2031-09-20T23:23:48.088Z sunset -2031-09-21T01:54:33.819Z moonset -2031-09-21T11:12:40.650Z sunrise -2031-09-21T15:49:44.105Z moonrise +2031-09-21T01:54:33.739Z moonset +2031-09-21T11:12:40.736Z sunrise +2031-09-21T15:49:44.240Z moonrise 2031-09-21T17:17:51.226Z Sun culminates 61.99 degrees above the horizon 2031-09-21T21:18:00.613Z Moon culminates 41.31 degrees above the horizon 2031-09-21T23:22:36.026Z sunset -2031-09-22T02:44:27.478Z moonset -2031-09-22T11:13:10.329Z sunrise -2031-09-22T16:49:32.656Z moonrise +2031-09-22T02:44:27.362Z moonset +2031-09-22T11:13:10.416Z sunrise +2031-09-22T16:49:32.807Z moonrise 2031-09-22T17:17:30.038Z Sun culminates 61.60 degrees above the horizon 2031-09-22T22:14:41.638Z Moon culminates 40.23 degrees above the horizon 2031-09-22T23:21:24.022Z sunset -2031-09-23T03:39:25.429Z moonset +2031-09-23T03:39:25.287Z moonset 2031-09-23T05:15:16.472Z September equinox -2031-09-23T11:13:40.113Z sunrise +2031-09-23T11:13:40.201Z sunrise 2031-09-23T17:17:08.943Z Sun culminates 61.21 degrees above the horizon -2031-09-23T17:47:20.683Z moonrise +2031-09-23T17:47:20.824Z moonrise 2031-09-23T23:12:34.759Z Moon culminates 40.51 degrees above the horizon 2031-09-23T23:20:12.103Z sunset 2031-09-24T01:12:46.045Z Mercury superior conjunction 2031-09-24T01:20:15.549Z first quarter -2031-09-24T04:38:54.833Z moonset -2031-09-24T11:14:10.013Z sunrise +2031-09-24T04:38:54.690Z moonset +2031-09-24T11:14:10.102Z sunrise 2031-09-24T17:16:47.960Z Sun culminates 60.82 degrees above the horizon -2031-09-24T18:41:51.486Z moonrise +2031-09-24T18:41:51.597Z moonrise 2031-09-24T23:19:00.296Z sunset 2031-09-25T00:10:30.145Z Moon culminates 42.17 degrees above the horizon -2031-09-25T05:41:41.915Z moonset -2031-09-25T11:14:40.043Z sunrise +2031-09-25T05:41:41.798Z moonset +2031-09-25T11:14:40.133Z sunrise 2031-09-25T17:16:27.110Z Sun culminates 60.44 degrees above the horizon -2031-09-25T19:32:24.589Z moonrise +2031-09-25T19:32:24.660Z moonrise 2031-09-25T23:17:48.630Z sunset 2031-09-26T01:07:26.178Z Moon culminates 45.10 degrees above the horizon 2031-09-26T03:15:34.315Z Venus moves from Cancer to Leo -2031-09-26T06:46:14.824Z moonset -2031-09-26T11:15:10.217Z sunrise +2031-09-26T06:46:14.753Z moonset +2031-09-26T11:15:10.307Z sunrise 2031-09-26T17:16:06.415Z Sun culminates 60.05 degrees above the horizon -2031-09-26T20:19:03.520Z moonrise +2031-09-26T20:19:03.556Z moonrise 2031-09-26T23:16:37.132Z sunset 2031-09-27T02:02:46.566Z Moon culminates 49.10 degrees above the horizon 2031-09-27T07:06:10.807Z lunar perigee at 366832 km -2031-09-27T07:51:13.063Z moonset -2031-09-27T11:15:40.551Z sunrise +2031-09-27T07:51:13.036Z moonset +2031-09-27T11:15:40.641Z sunrise 2031-09-27T17:15:45.897Z Sun culminates 59.66 degrees above the horizon -2031-09-27T21:02:26.663Z moonrise -2031-09-27T23:15:25.832Z sunset +2031-09-27T21:02:26.677Z moonrise +2031-09-27T23:15:25.833Z sunset 2031-09-28T02:56:24.920Z Moon culminates 53.86 degrees above the horizon -2031-09-28T08:55:45.183Z moonset -2031-09-28T11:16:11.059Z sunrise +2031-09-28T08:55:45.179Z moonset +2031-09-28T11:16:11.150Z sunrise 2031-09-28T17:15:25.579Z Sun culminates 59.27 degrees above the horizon -2031-09-28T21:43:31.885Z moonrise -2031-09-28T23:14:14.760Z sunset +2031-09-28T21:43:31.891Z moonrise +2031-09-28T23:14:14.860Z sunset 2031-09-29T03:48:38.311Z Moon culminates 59.02 degrees above the horizon -2031-09-29T09:59:28.634Z moonset -2031-09-29T11:16:41.760Z sunrise +2031-09-29T09:59:28.635Z moonset +2031-09-29T11:16:41.852Z sunrise 2031-09-29T17:15:05.484Z Sun culminates 58.88 degrees above the horizon -2031-09-29T22:23:23.725Z moonrise -2031-09-29T23:13:03.945Z sunset +2031-09-29T22:23:23.730Z moonrise +2031-09-29T23:13:04.044Z sunset 2031-09-30T04:39:56.165Z Moon culminates 64.25 degrees above the horizon -2031-09-30T11:02:18.053Z moonset -2031-09-30T11:17:12.671Z sunrise +2031-09-30T11:02:18.056Z moonset +2031-09-30T11:17:12.763Z sunrise 2031-09-30T17:14:45.635Z Sun culminates 58.49 degrees above the horizon 2031-09-30T18:58:22.189Z full moon -2031-09-30T23:03:05.322Z moonrise -2031-09-30T23:11:53.417Z sunset +2031-09-30T23:03:05.323Z moonrise +2031-09-30T23:11:53.515Z sunset 2031-10-01T05:30:49.373Z Moon culminates 69.20 degrees above the horizon -2031-10-01T11:17:43.809Z sunrise -2031-10-01T12:04:10.621Z moonset +2031-10-01T11:17:43.902Z sunrise +2031-10-01T12:04:10.637Z moonset 2031-10-01T17:14:26.059Z Sun culminates 58.11 degrees above the horizon -2031-10-01T23:10:43.207Z sunset -2031-10-01T23:43:33.398Z moonrise +2031-10-01T23:10:43.304Z sunset +2031-10-01T23:43:33.386Z moonrise 2031-10-02T06:21:41.542Z Moon culminates 73.58 degrees above the horizon -2031-10-02T11:18:15.193Z sunrise -2031-10-02T13:04:54.134Z moonset +2031-10-02T11:18:15.287Z sunrise +2031-10-02T13:04:54.180Z moonset 2031-10-02T17:14:06.777Z Sun culminates 57.72 degrees above the horizon -2031-10-02T23:09:33.345Z sunset -2031-10-03T00:25:34.029Z moonrise +2031-10-02T23:09:33.441Z sunset +2031-10-03T00:25:33.992Z moonrise 2031-10-03T07:12:42.936Z Moon culminates 77.15 degrees above the horizon -2031-10-03T11:18:46.840Z sunrise -2031-10-03T14:04:01.071Z moonset +2031-10-03T11:18:46.935Z sunrise +2031-10-03T14:04:01.151Z moonset 2031-10-03T17:13:47.814Z Sun culminates 57.33 degrees above the horizon -2031-10-03T23:08:23.861Z sunset -2031-10-04T01:09:38.083Z moonrise +2031-10-03T23:08:23.956Z sunset +2031-10-04T01:09:38.018Z moonrise 2031-10-04T08:03:47.894Z Moon culminates 79.73 degrees above the horizon -2031-10-04T11:19:18.766Z sunrise -2031-10-04T15:00:50.625Z moonset +2031-10-04T11:19:18.862Z sunrise +2031-10-04T15:00:50.733Z moonset 2031-10-04T17:13:29.194Z Sun culminates 56.95 degrees above the horizon -2031-10-04T23:07:14.786Z sunset -2031-10-05T01:55:57.147Z moonrise +2031-10-04T23:07:14.880Z sunset +2031-10-05T01:55:57.055Z moonrise 2031-10-05T08:54:36.783Z Moon culminates 81.25 degrees above the horizon -2031-10-05T11:19:50.988Z sunrise -2031-10-05T15:54:38.448Z moonset +2031-10-05T11:19:51.085Z sunrise +2031-10-05T15:54:38.570Z moonset 2031-10-05T17:13:10.940Z Sun culminates 56.56 degrees above the horizon 2031-10-05T22:51:47.495Z Mars moves from Ophiuchus to Sagittarius -2031-10-05T23:06:06.151Z sunset -2031-10-06T02:44:22.364Z moonrise +2031-10-05T23:06:06.244Z sunset +2031-10-06T02:44:22.256Z moonrise 2031-10-06T09:44:42.545Z Moon culminates 81.69 degrees above the horizon -2031-10-06T11:20:23.521Z sunrise -2031-10-06T16:44:49.932Z moonset +2031-10-06T11:20:23.618Z sunrise +2031-10-06T16:44:50.051Z moonset 2031-10-06T17:12:53.075Z Sun culminates 56.18 degrees above the horizon -2031-10-06T23:04:57.986Z sunset -2031-10-07T03:34:28.512Z moonrise +2031-10-06T23:04:58.078Z sunset +2031-10-07T03:34:28.401Z moonrise 2031-10-07T10:33:39.685Z Moon culminates 81.09 degrees above the horizon -2031-10-07T11:20:56.378Z sunrise +2031-10-07T11:20:56.477Z sunrise 2031-10-07T16:09:21.524Z Neptune opposition 2031-10-07T17:12:35.620Z Sun culminates 55.80 degrees above the horizon -2031-10-07T17:31:10.496Z moonset -2031-10-07T23:03:50.321Z sunset -2031-10-08T04:25:43.017Z moonrise +2031-10-07T17:31:10.601Z moonset +2031-10-07T23:03:50.411Z sunset +2031-10-08T04:25:42.918Z moonrise 2031-10-08T10:50:50.565Z third quarter 2031-10-08T11:21:12.204Z Moon culminates 79.53 degrees above the horizon -2031-10-08T11:21:29.573Z sunrise +2031-10-08T11:21:29.672Z sunrise 2031-10-08T17:12:18.595Z Sun culminates 55.42 degrees above the horizon -2031-10-08T18:13:48.579Z moonset -2031-10-08T23:02:43.184Z sunset -2031-10-09T05:17:36.517Z moonrise +2031-10-08T18:13:48.661Z moonset +2031-10-08T23:02:43.273Z sunset +2031-10-09T05:17:36.444Z moonrise 2031-10-09T06:22:50.485Z lunar apogee at 404352 km -2031-10-09T11:22:03.116Z sunrise +2031-10-09T11:22:03.217Z sunrise 2031-10-09T12:07:17.870Z Moon culminates 77.13 degrees above the horizon 2031-10-09T17:12:02.023Z Sun culminates 55.04 degrees above the horizon -2031-10-09T18:53:12.041Z moonset -2031-10-09T23:01:36.604Z sunset -2031-10-10T06:09:50.895Z moonrise -2031-10-10T11:22:37.019Z sunrise +2031-10-09T18:53:12.097Z moonset +2031-10-09T23:01:36.692Z sunset +2031-10-10T06:09:50.852Z moonrise +2031-10-10T11:22:37.020Z sunrise 2031-10-10T12:52:08.590Z Moon culminates 74.02 degrees above the horizon 2031-10-10T17:11:45.920Z Sun culminates 54.66 degrees above the horizon -2031-10-10T19:30:01.838Z moonset -2031-10-10T23:00:30.610Z sunset -2031-10-11T07:02:22.738Z moonrise -2031-10-11T11:23:11.289Z sunrise +2031-10-10T19:30:01.871Z moonset +2031-10-10T23:00:30.696Z sunset +2031-10-11T07:02:22.722Z moonrise +2031-10-11T11:23:11.291Z sunrise 2031-10-11T13:36:08.328Z Moon culminates 70.31 degrees above the horizon 2031-10-11T17:11:30.305Z Sun culminates 54.28 degrees above the horizon -2031-10-11T20:05:06.414Z moonset -2031-10-11T22:59:25.229Z sunset -2031-10-12T07:55:22.660Z moonrise -2031-10-12T11:23:45.935Z sunrise +2031-10-11T20:05:06.431Z moonset +2031-10-11T22:59:25.314Z sunset +2031-10-12T07:55:22.658Z moonrise +2031-10-12T11:23:45.938Z sunrise 2031-10-12T14:19:50.155Z Moon culminates 66.14 degrees above the horizon 2031-10-12T17:11:15.196Z Sun culminates 53.90 degrees above the horizon -2031-10-12T20:39:18.322Z moonset -2031-10-12T22:58:20.487Z sunset -2031-10-13T08:49:11.883Z moonrise -2031-10-13T11:24:20.962Z sunrise +2031-10-12T20:39:18.333Z moonset +2031-10-12T22:58:20.570Z sunset +2031-10-13T08:49:11.886Z moonrise +2031-10-13T11:24:20.965Z sunrise 2031-10-13T15:03:53.388Z Moon culminates 61.66 degrees above the horizon 2031-10-13T17:11:00.608Z Sun culminates 53.53 degrees above the horizon -2031-10-13T21:13:33.020Z moonset -2031-10-13T22:57:16.412Z sunset -2031-10-14T09:44:17.107Z moonrise -2031-10-14T11:24:56.376Z sunrise +2031-10-13T21:13:33.028Z moonset +2031-10-13T22:57:16.493Z sunset +2031-10-14T09:44:17.110Z moonrise +2031-10-14T11:24:56.380Z sunrise 2031-10-14T15:49:00.814Z Moon culminates 57.05 degrees above the horizon 2031-10-14T17:10:46.557Z Sun culminates 53.16 degrees above the horizon -2031-10-14T21:48:49.018Z moonset -2031-10-14T22:56:13.028Z sunset -2031-10-15T10:41:03.623Z moonrise -2031-10-15T11:25:32.180Z sunrise +2031-10-14T21:48:49.023Z moonset +2031-10-14T22:56:13.108Z sunset +2031-10-15T10:41:03.635Z moonrise +2031-10-15T11:25:32.185Z sunrise 2031-10-15T16:35:55.290Z Moon culminates 52.51 degrees above the horizon 2031-10-15T17:10:33.058Z Sun culminates 52.79 degrees above the horizon -2031-10-15T22:26:08.136Z moonset -2031-10-15T22:55:10.362Z sunset +2031-10-15T22:26:08.130Z moonset +2031-10-15T22:55:10.440Z sunset 2031-10-16T08:21:15.412Z new moon -2031-10-16T11:26:08.378Z sunrise -2031-10-16T11:39:45.929Z moonrise +2031-10-16T11:26:08.383Z sunrise +2031-10-16T11:39:45.966Z moonrise 2031-10-16T17:10:20.124Z Sun culminates 52.42 degrees above the horizon 2031-10-16T17:25:14.412Z Moon culminates 48.31 degrees above the horizon 2031-10-16T22:33:10.311Z Mercury moves from Virgo to Libra -2031-10-16T22:54:08.438Z sunset -2031-10-16T23:06:34.054Z moonset -2031-10-17T11:26:44.972Z sunrise -2031-10-17T12:40:15.680Z moonrise +2031-10-16T22:54:08.514Z sunset +2031-10-16T23:06:34.024Z moonset +2031-10-17T11:26:44.978Z sunrise +2031-10-17T12:40:15.759Z moonrise 2031-10-17T17:10:07.770Z Sun culminates 52.05 degrees above the horizon 2031-10-17T18:17:22.144Z Moon culminates 44.72 degrees above the horizon -2031-10-17T22:53:07.282Z sunset -2031-10-17T23:51:06.676Z moonset -2031-10-18T11:27:21.964Z sunrise -2031-10-18T13:41:50.007Z moonrise +2031-10-17T22:53:07.356Z sunset +2031-10-17T23:51:06.610Z moonset +2031-10-18T11:27:21.971Z sunrise +2031-10-18T13:41:50.129Z moonrise 2031-10-18T17:09:56.009Z Sun culminates 51.69 degrees above the horizon 2031-10-18T17:21:30.845Z Mercury aphelion at 0.4667 AU 2031-10-18T19:12:18.005Z Moon culminates 42.05 degrees above the horizon -2031-10-18T22:52:06.919Z sunset -2031-10-19T00:40:30.058Z moonset -2031-10-19T11:27:59.354Z sunrise -2031-10-19T14:43:08.470Z moonrise +2031-10-18T22:52:06.991Z sunset +2031-10-19T00:40:29.954Z moonset +2031-10-19T11:27:59.362Z sunrise +2031-10-19T14:43:08.616Z moonrise 2031-10-19T17:09:44.853Z Sun culminates 51.33 degrees above the horizon 2031-10-19T20:09:28.350Z Moon culminates 40.56 degrees above the horizon -2031-10-19T22:51:07.374Z sunset -2031-10-20T01:34:55.059Z moonset -2031-10-20T11:28:37.144Z sunrise -2031-10-20T15:42:28.336Z moonrise +2031-10-19T22:51:07.444Z sunset +2031-10-20T01:34:54.925Z moonset +2031-10-20T11:28:37.154Z sunrise +2031-10-20T15:42:28.480Z moonrise 2031-10-20T17:09:34.317Z Sun culminates 50.97 degrees above the horizon 2031-10-20T21:07:47.882Z Moon culminates 40.43 degrees above the horizon -2031-10-20T22:50:08.673Z sunset -2031-10-21T02:33:45.568Z moonset -2031-10-21T11:29:15.334Z sunrise +2031-10-20T22:50:08.740Z sunset +2031-10-21T02:33:45.425Z moonset +2031-10-21T11:29:15.345Z sunrise 2031-10-21T14:12:59.534Z Venus max morning elongation: 46.39 degrees from Sun -2031-10-21T16:38:16.956Z moonrise +2031-10-21T16:38:17.075Z moonrise 2031-10-21T17:09:24.413Z Sun culminates 50.61 degrees above the horizon 2031-10-21T22:05:56.521Z Moon culminates 41.69 degrees above the horizon -2031-10-21T22:49:10.842Z sunset -2031-10-22T03:35:42.379Z moonset -2031-10-22T11:29:53.925Z sunrise +2031-10-21T22:49:10.907Z sunset +2031-10-22T03:35:42.254Z moonset +2031-10-22T11:29:53.937Z sunrise 2031-10-22T17:09:15.155Z Sun culminates 50.26 degrees above the horizon -2031-10-22T17:29:42.699Z moonrise +2031-10-22T17:29:42.781Z moonrise 2031-10-22T20:19:18.652Z lunar perigee at 370009 km -2031-10-22T22:48:13.909Z sunset +2031-10-22T22:48:13.971Z sunset 2031-10-22T23:02:45.148Z Moon culminates 44.23 degrees above the horizon -2031-10-23T04:39:09.089Z moonset +2031-10-23T04:39:09.005Z moonset 2031-10-23T07:36:54.681Z first quarter -2031-10-23T11:30:32.918Z sunrise +2031-10-23T11:30:32.931Z sunrise 2031-10-23T17:09:06.558Z Sun culminates 49.91 degrees above the horizon -2031-10-23T18:16:45.115Z moonrise -2031-10-23T22:47:17.900Z sunset +2031-10-23T18:16:45.160Z moonrise +2031-10-23T22:47:17.960Z sunset 2031-10-23T23:57:35.204Z Moon culminates 47.85 degrees above the horizon -2031-10-24T05:42:44.674Z moonset -2031-10-24T11:31:12.312Z sunrise +2031-10-24T05:42:44.636Z moonset +2031-10-24T11:31:12.327Z sunrise 2031-10-24T17:08:58.635Z Sun culminates 49.56 degrees above the horizon -2031-10-24T19:00:04.012Z moonrise -2031-10-24T22:46:22.844Z sunset +2031-10-24T19:00:04.032Z moonrise +2031-10-24T22:46:22.901Z sunset 2031-10-25T00:50:22.962Z Moon culminates 52.27 degrees above the horizon -2031-10-25T06:45:42.240Z moonset -2031-10-25T11:31:52.110Z sunrise +2031-10-25T06:45:42.231Z moonset +2031-10-25T11:31:52.126Z sunrise 2031-10-25T17:08:51.402Z Sun culminates 49.22 degrees above the horizon -2031-10-25T19:40:41.201Z moonrise -2031-10-25T22:45:28.769Z sunset +2031-10-25T19:40:41.209Z moonrise +2031-10-25T22:45:28.823Z sunset 2031-10-26T01:41:31.438Z Moon culminates 57.16 degrees above the horizon -2031-10-26T07:47:48.114Z moonset -2031-10-26T11:32:32.312Z sunrise +2031-10-26T07:47:48.115Z moonset +2031-10-26T11:32:32.330Z sunrise 2031-10-26T17:08:44.873Z Sun culminates 48.88 degrees above the horizon -2031-10-26T20:19:45.891Z moonrise -2031-10-26T22:44:35.703Z sunset +2031-10-26T20:19:45.897Z moonrise +2031-10-26T22:44:35.755Z sunset 2031-10-27T02:31:37.965Z Moon culminates 62.24 degrees above the horizon -2031-10-27T08:49:08.943Z moonset -2031-10-27T11:33:12.921Z sunrise +2031-10-27T08:49:08.945Z moonset +2031-10-27T11:33:12.941Z sunrise 2031-10-27T17:08:39.065Z Sun culminates 48.54 degrees above the horizon -2031-10-27T20:58:26.258Z moonrise -2031-10-27T22:43:43.677Z sunset +2031-10-27T20:58:26.261Z moonrise +2031-10-27T22:43:43.725Z sunset 2031-10-28T03:21:22.671Z Moon culminates 67.19 degrees above the horizon -2031-10-28T09:49:55.791Z moonset -2031-10-28T11:33:53.938Z sunrise +2031-10-28T09:49:55.800Z moonset +2031-10-28T11:33:53.960Z sunrise 2031-10-28T17:08:33.992Z Sun culminates 48.20 degrees above the horizon -2031-10-28T21:37:44.905Z moonrise -2031-10-28T22:42:52.719Z sunset +2031-10-28T21:37:44.900Z moonrise +2031-10-28T22:42:52.763Z sunset 2031-10-29T04:11:19.214Z Moon culminates 71.74 degrees above the horizon 2031-10-29T08:06:34.638Z Jupiter moves from Ophiuchus to Sagittarius -2031-10-29T10:50:10.181Z moonset -2031-10-29T11:34:35.364Z sunrise +2031-10-29T10:50:10.212Z moonset +2031-10-29T11:34:35.388Z sunrise 2031-10-29T17:08:29.669Z Sun culminates 47.87 degrees above the horizon -2031-10-29T22:18:35.216Z moonrise -2031-10-29T22:42:02.858Z sunset +2031-10-29T22:18:35.191Z moonrise +2031-10-29T22:42:02.899Z sunset 2031-10-30T05:01:47.498Z Moon culminates 75.63 degrees above the horizon 2031-10-30T07:33:15.656Z full moon 2031-10-30T07:45:19.656Z penumbral lunar eclipse -2031-10-30T11:35:17.201Z sunrise -2031-10-30T11:49:34.637Z moonset +2031-10-30T11:35:17.227Z sunrise +2031-10-30T11:49:34.702Z moonset 2031-10-30T17:08:26.112Z Sun culminates 47.54 degrees above the horizon -2031-10-30T22:41:14.123Z sunset -2031-10-30T23:01:36.641Z moonrise +2031-10-30T22:41:14.162Z sunset +2031-10-30T23:01:36.589Z moonrise 2031-10-31T05:52:48.734Z Moon culminates 78.65 degrees above the horizon -2031-10-31T11:35:59.448Z sunrise -2031-10-31T12:47:30.300Z moonset +2031-10-31T11:35:59.476Z sunrise +2031-10-31T12:47:30.396Z moonset 2031-10-31T17:08:23.336Z Sun culminates 47.22 degrees above the horizon -2031-10-31T22:40:26.546Z sunset -2031-10-31T23:47:08.971Z moonrise +2031-10-31T22:40:26.581Z sunset +2031-10-31T23:47:08.891Z moonrise 2031-11-01T03:24:17.893Z Mercury moves from Libra to Scorpius 2031-11-01T06:44:04.480Z Moon culminates 80.64 degrees above the horizon -2031-11-01T11:36:42.104Z sunrise -2031-11-01T13:43:03.880Z moonset +2031-11-01T11:36:42.134Z sunrise +2031-11-01T13:43:03.997Z moonset 2031-11-01T17:08:21.353Z Sun culminates 46.90 degrees above the horizon -2031-11-01T22:39:40.154Z sunset -2031-11-02T00:35:08.080Z moonrise +2031-11-01T22:39:40.185Z sunset +2031-11-02T00:35:07.978Z moonrise 2031-11-02T07:35:01.528Z Moon culminates 81.55 degrees above the horizon -2031-11-02T11:37:25.166Z sunrise +2031-11-02T11:37:25.198Z sunrise 2031-11-02T13:10:14.599Z Venus moves from Leo to Virgo -2031-11-02T14:35:22.709Z moonset +2031-11-02T14:35:22.829Z moonset 2031-11-02T17:08:20.179Z Sun culminates 46.58 degrees above the horizon -2031-11-02T22:38:54.977Z sunset -2031-11-03T01:25:07.168Z moonrise +2031-11-02T22:38:55.005Z sunset +2031-11-03T01:25:07.058Z moonrise 2031-11-03T08:25:02.189Z Moon culminates 81.37 degrees above the horizon -2031-11-03T11:38:08.630Z sunrise -2031-11-03T15:23:51.179Z moonset +2031-11-03T11:38:08.665Z sunrise +2031-11-03T15:23:51.289Z moonset 2031-11-03T17:08:19.824Z Sun culminates 46.27 degrees above the horizon -2031-11-03T22:38:11.043Z sunset -2031-11-04T02:16:25.584Z moonrise +2031-11-03T22:38:11.068Z sunset +2031-11-04T02:16:25.480Z moonrise 2031-11-04T09:13:36.148Z Moon culminates 80.20 degrees above the horizon -2031-11-04T11:38:52.491Z sunrise -2031-11-04T16:08:20.382Z moonset +2031-11-04T11:38:52.528Z sunrise +2031-11-04T16:08:20.472Z moonset 2031-11-04T17:08:20.300Z Sun culminates 45.96 degrees above the horizon -2031-11-04T22:37:28.381Z sunset -2031-11-05T03:08:22.409Z moonrise +2031-11-04T22:37:28.402Z sunset +2031-11-05T03:08:22.326Z moonrise 2031-11-05T10:00:28.919Z Moon culminates 78.13 degrees above the horizon -2031-11-05T11:39:36.741Z sunrise -2031-11-05T16:49:07.787Z moonset +2031-11-05T11:39:36.781Z sunrise +2031-11-05T16:49:07.853Z moonset 2031-11-05T17:08:21.616Z Sun culminates 45.65 degrees above the horizon -2031-11-05T22:36:47.018Z sunset +2031-11-05T22:36:47.035Z sunset 2031-11-06T02:44:12.515Z lunar apogee at 404508 km -2031-11-06T04:00:28.672Z moonrise +2031-11-06T04:00:28.618Z moonrise 2031-11-06T10:45:44.514Z Moon culminates 75.30 degrees above the horizon -2031-11-06T11:40:21.371Z sunrise +2031-11-06T11:40:21.413Z sunrise 2031-11-06T17:08:23.781Z Sun culminates 45.35 degrees above the horizon -2031-11-06T17:26:50.376Z moonset -2031-11-06T22:36:06.979Z sunset -2031-11-07T04:52:33.760Z moonrise +2031-11-06T17:26:50.417Z moonset +2031-11-06T22:36:06.993Z sunset +2031-11-07T04:52:33.735Z moonrise 2031-11-07T07:02:50.664Z third quarter 2031-11-07T11:29:43.519Z Moon culminates 71.86 degrees above the horizon -2031-11-07T11:41:06.368Z sunrise +2031-11-07T11:41:06.413Z sunrise 2031-11-07T17:08:26.801Z Sun culminates 45.06 degrees above the horizon -2031-11-07T18:02:16.730Z moonset -2031-11-07T22:35:28.291Z sunset -2031-11-08T05:44:45.811Z moonrise +2031-11-07T18:02:16.753Z moonset +2031-11-07T22:35:28.300Z sunset +2031-11-08T05:44:45.805Z moonrise 2031-11-08T06:43:08.222Z Mercury moves from Scorpius to Ophiuchus -2031-11-08T11:41:51.720Z sunrise +2031-11-08T11:41:51.767Z sunrise 2031-11-08T12:12:59.267Z Moon culminates 67.92 degrees above the horizon 2031-11-08T17:08:30.682Z Sun culminates 44.77 degrees above the horizon -2031-11-08T18:36:21.487Z moonset -2031-11-08T22:34:50.975Z sunset -2031-11-09T06:37:28.315Z moonrise -2031-11-09T11:42:37.409Z sunrise +2031-11-08T18:36:21.500Z moonset +2031-11-08T22:34:50.981Z sunset +2031-11-09T06:37:28.318Z moonrise +2031-11-09T11:42:37.459Z sunrise 2031-11-09T12:56:14.106Z Moon culminates 63.62 degrees above the horizon 2031-11-09T15:04:26.791Z Mercury max evening elongation: 23.12 degrees from Sun 2031-11-09T17:08:35.425Z Sun culminates 44.48 degrees above the horizon -2031-11-09T19:10:02.874Z moonset -2031-11-09T22:34:15.056Z sunset -2031-11-10T07:31:14.903Z moonrise -2031-11-10T11:43:23.419Z sunrise +2031-11-09T19:10:02.883Z moonset +2031-11-09T22:34:15.058Z sunset +2031-11-10T07:31:14.906Z moonrise +2031-11-10T11:43:23.472Z sunrise 2031-11-10T13:40:16.321Z Moon culminates 59.11 degrees above the horizon 2031-11-10T17:08:41.034Z Sun culminates 44.20 degrees above the horizon -2031-11-10T19:44:22.544Z moonset -2031-11-10T22:33:40.554Z sunset -2031-11-11T08:26:42.757Z moonrise -2031-11-11T11:44:09.728Z sunrise +2031-11-10T19:44:22.551Z moonset +2031-11-10T22:33:40.553Z sunset +2031-11-11T08:26:42.764Z moonrise +2031-11-11T11:44:09.783Z sunrise 2031-11-11T12:17:30.726Z Mercury moves from Ophiuchus to Scorpius 2031-11-11T14:25:57.100Z Moon culminates 54.55 degrees above the horizon 2031-11-11T17:08:47.507Z Sun culminates 43.92 degrees above the horizon 2031-11-11T20:20:26.440Z moonset -2031-11-11T22:33:07.489Z sunset -2031-11-12T09:24:23.675Z moonrise -2031-11-12T11:44:56.315Z sunrise +2031-11-11T22:33:07.484Z sunset +2031-11-12T09:24:23.698Z moonrise +2031-11-12T11:44:56.373Z sunrise 2031-11-12T15:14:06.069Z Moon culminates 50.17 degrees above the horizon 2031-11-12T17:08:54.843Z Sun culminates 43.65 degrees above the horizon -2031-11-12T20:59:24.892Z moonset -2031-11-12T22:32:35.879Z sunset -2031-11-13T10:24:31.207Z moonrise -2031-11-13T11:45:43.155Z sunrise +2031-11-12T20:59:24.875Z moonset +2031-11-12T22:32:35.870Z sunset +2031-11-13T10:24:31.266Z moonrise +2031-11-13T11:45:43.216Z sunrise 2031-11-13T16:05:23.363Z Moon culminates 46.24 degrees above the horizon 2031-11-13T17:09:03.037Z Sun culminates 43.38 degrees above the horizon -2031-11-13T21:42:29.168Z moonset -2031-11-13T22:32:05.742Z sunset -2031-11-14T11:26:44.168Z moonrise -2031-11-14T11:46:30.223Z sunrise +2031-11-13T21:42:29.120Z moonset +2031-11-13T22:32:05.729Z sunset +2031-11-14T11:26:44.273Z moonrise +2031-11-14T11:46:30.286Z sunrise 2031-11-14T17:00:06.833Z Moon culminates 43.08 degrees above the horizon 2031-11-14T17:09:12.086Z Sun culminates 43.12 degrees above the horizon 2031-11-14T21:10:08.063Z new moon -2031-11-14T22:30:40.677Z moonset -2031-11-14T22:31:37.092Z sunset +2031-11-14T22:30:40.589Z moonset +2031-11-14T22:31:37.076Z sunset 2031-11-14T22:34:17.246Z partial solar eclipse peak at -0.74 degrees altitude -2031-11-15T11:47:17.490Z sunrise -2031-11-15T12:29:53.045Z moonrise +2031-11-15T11:47:17.557Z sunrise +2031-11-15T12:29:53.184Z moonrise 2031-11-15T17:09:21.982Z Sun culminates 42.87 degrees above the horizon 2031-11-15T17:57:56.833Z Moon culminates 41.02 degrees above the horizon -2031-11-15T22:31:09.945Z sunset -2031-11-15T23:24:30.582Z moonset +2031-11-15T22:31:09.925Z sunset +2031-11-15T23:24:30.458Z moonset 2031-11-16T08:49:00.997Z Mars perihelion at 1.3814 AU 2031-11-16T10:12:53.054Z Mercury moves from Scorpius to Ophiuchus -2031-11-16T11:48:04.930Z sunrise -2031-11-16T13:32:03.909Z moonrise +2031-11-16T11:48:04.999Z sunrise +2031-11-16T13:32:04.056Z moonrise 2031-11-16T17:09:32.718Z Sun culminates 42.61 degrees above the horizon 2031-11-16T18:57:48.230Z Moon culminates 40.32 degrees above the horizon -2031-11-16T22:30:44.315Z sunset -2031-11-17T00:23:36.147Z moonset -2031-11-17T11:48:52.510Z sunrise -2031-11-17T14:31:10.728Z moonrise +2031-11-16T22:30:44.292Z sunset +2031-11-17T00:23:36.004Z moonset +2031-11-17T11:48:52.582Z sunrise +2031-11-17T14:31:10.857Z moonrise 2031-11-17T17:09:44.286Z Sun culminates 42.37 degrees above the horizon 2031-11-17T19:58:02.497Z Moon culminates 41.10 degrees above the horizon 2031-11-17T22:02:40.861Z lunar perigee at 365916 km -2031-11-17T22:30:20.215Z sunset -2031-11-18T01:26:33.050Z moonset -2031-11-18T11:49:40.200Z sunrise -2031-11-18T15:25:42.091Z moonrise +2031-11-17T22:30:20.188Z sunset +2031-11-18T01:26:32.915Z moonset +2031-11-18T11:49:40.275Z sunrise +2031-11-18T15:25:42.185Z moonrise 2031-11-18T17:09:56.675Z Sun culminates 42.13 degrees above the horizon 2031-11-18T20:57:00.365Z Moon culminates 43.30 degrees above the horizon -2031-11-18T22:29:57.658Z sunset -2031-11-19T02:31:20.415Z moonset -2031-11-19T11:50:27.968Z sunrise -2031-11-19T16:15:09.273Z moonrise +2031-11-18T22:29:57.627Z sunset +2031-11-19T02:31:20.317Z moonset +2031-11-19T11:50:28.045Z sunrise +2031-11-19T16:15:09.328Z moonrise 2031-11-19T17:10:09.878Z Sun culminates 41.90 degrees above the horizon 2031-11-19T21:53:35.293Z Moon culminates 46.67 degrees above the horizon -2031-11-19T22:29:36.656Z sunset -2031-11-20T03:36:06.469Z moonset +2031-11-19T22:29:36.621Z sunset +2031-11-20T03:36:06.418Z moonset 2031-11-20T04:07:07.507Z Mars moves from Sagittarius to Capricornus -2031-11-20T11:51:15.782Z sunrise -2031-11-20T17:00:00.888Z moonrise +2031-11-20T11:51:15.862Z sunrise +2031-11-20T17:00:00.914Z moonrise 2031-11-20T17:10:23.883Z Sun culminates 41.67 degrees above the horizon -2031-11-20T22:29:17.221Z sunset +2031-11-20T22:29:17.183Z sunset 2031-11-20T22:47:27.015Z Moon culminates 50.90 degrees above the horizon -2031-11-21T04:39:41.886Z moonset -2031-11-21T11:52:03.609Z sunrise +2031-11-21T04:39:41.871Z moonset +2031-11-21T11:52:03.691Z sunrise 2031-11-21T14:45:22.476Z first quarter 2031-11-21T17:10:38.680Z Sun culminates 41.45 degrees above the horizon -2031-11-21T17:41:19.549Z moonrise -2031-11-21T22:28:59.365Z sunset +2031-11-21T17:41:19.559Z moonrise +2031-11-21T22:28:59.324Z sunset 2031-11-21T23:38:54.075Z Moon culminates 55.67 degrees above the horizon 2031-11-22T05:41:44.540Z moonset -2031-11-22T11:52:51.417Z sunrise +2031-11-22T11:52:51.501Z sunrise 2031-11-22T17:10:54.258Z Sun culminates 41.23 degrees above the horizon -2031-11-22T18:20:20.436Z moonrise -2031-11-22T22:28:43.099Z sunset +2031-11-22T18:20:20.442Z moonrise +2031-11-22T22:28:43.055Z sunset 2031-11-23T00:28:37.717Z Moon culminates 60.67 degrees above the horizon -2031-11-23T06:42:24.878Z moonset -2031-11-23T11:53:39.173Z sunrise +2031-11-23T06:42:24.880Z moonset +2031-11-23T11:53:39.261Z sunrise 2031-11-23T17:11:10.608Z Sun culminates 41.02 degrees above the horizon -2031-11-23T18:58:18.970Z moonrise -2031-11-23T22:28:28.433Z sunset +2031-11-23T18:58:18.975Z moonrise +2031-11-23T22:28:28.386Z sunset 2031-11-24T01:17:27.049Z Moon culminates 65.60 degrees above the horizon -2031-11-24T07:42:06.556Z moonset -2031-11-24T11:54:26.846Z sunrise +2031-11-24T07:42:06.561Z moonset +2031-11-24T11:54:26.936Z sunrise 2031-11-24T17:11:27.717Z Sun culminates 40.82 degrees above the horizon -2031-11-24T19:36:25.376Z moonrise -2031-11-24T22:28:15.379Z sunset +2031-11-24T19:36:25.375Z moonrise +2031-11-24T22:28:15.328Z sunset 2031-11-25T02:06:08.142Z Moon culminates 70.21 degrees above the horizon -2031-11-25T08:41:09.631Z moonset -2031-11-25T11:55:14.404Z sunrise +2031-11-25T08:41:09.652Z moonset +2031-11-25T11:55:14.497Z sunrise 2031-11-25T17:11:45.575Z Sun culminates 40.62 degrees above the horizon -2031-11-25T20:15:41.865Z moonrise -2031-11-25T22:28:03.944Z sunset +2031-11-25T20:15:41.849Z moonrise +2031-11-25T22:28:03.890Z sunset 2031-11-26T02:55:16.005Z Moon culminates 74.28 degrees above the horizon -2031-11-26T09:39:38.075Z moonset -2031-11-26T11:56:01.815Z sunrise +2031-11-26T09:39:38.127Z moonset +2031-11-26T11:56:01.910Z sunrise 2031-11-26T17:12:04.170Z Sun culminates 40.43 degrees above the horizon -2031-11-26T20:56:59.216Z moonrise -2031-11-26T22:27:54.137Z sunset +2031-11-26T20:56:59.175Z moonrise +2031-11-26T22:27:54.081Z sunset 2031-11-27T03:45:08.266Z Moon culminates 77.59 degrees above the horizon -2031-11-27T10:37:12.630Z moonset -2031-11-27T11:56:49.046Z sunrise +2031-11-27T10:37:12.716Z moonset +2031-11-27T11:56:49.143Z sunrise 2031-11-27T13:25:20.977Z Venus perihelion at 0.7184 AU 2031-11-27T17:12:23.490Z Sun culminates 40.25 degrees above the horizon -2031-11-27T21:40:51.364Z moonrise -2031-11-27T22:27:45.967Z sunset +2031-11-27T21:40:51.295Z moonrise +2031-11-27T22:27:45.908Z sunset 2031-11-28T04:35:41.152Z Moon culminates 79.98 degrees above the horizon -2031-11-28T11:33:11.376Z moonset -2031-11-28T11:57:36.063Z sunrise +2031-11-28T11:33:11.487Z moonset +2031-11-28T11:57:36.163Z sunrise 2031-11-28T17:12:43.521Z Sun culminates 40.07 degrees above the horizon -2031-11-28T22:27:29.058Z moonrise -2031-11-28T22:27:39.440Z sunset +2031-11-28T22:27:28.964Z moonrise +2031-11-28T22:27:39.378Z sunset 2031-11-28T23:19:04.639Z full moon 2031-11-29T05:26:29.952Z Moon culminates 81.32 degrees above the horizon -2031-11-29T11:58:22.835Z sunrise -2031-11-29T12:26:39.843Z moonset +2031-11-29T11:58:22.936Z sunrise +2031-11-29T12:26:39.963Z moonset 2031-11-29T17:13:04.251Z Sun culminates 39.90 degrees above the horizon -2031-11-29T22:27:34.562Z sunset +2031-11-29T22:27:34.498Z sunset 2031-11-29T22:40:30.355Z Mercury moves from Ophiuchus to Scorpius -2031-11-29T23:16:36.329Z moonrise +2031-11-29T23:16:36.220Z moonrise 2031-11-30T02:35:39.513Z Mercury inferior conjunction 2031-11-30T06:16:55.855Z Moon culminates 81.59 degrees above the horizon -2031-11-30T11:59:09.326Z sunrise -2031-11-30T13:16:48.004Z moonset +2031-11-30T11:59:09.429Z sunrise +2031-11-30T13:16:48.119Z moonset 2031-11-30T17:13:25.664Z Sun culminates 39.74 degrees above the horizon -2031-11-30T22:27:31.339Z sunset -2031-12-01T00:07:34.328Z moonrise +2031-11-30T22:27:31.272Z sunset +2031-12-01T00:07:34.219Z moonrise 2031-12-01T07:06:18.016Z Moon culminates 80.82 degrees above the horizon -2031-12-01T11:59:55.502Z sunrise -2031-12-01T14:03:06.238Z moonset +2031-12-01T11:59:55.607Z sunrise +2031-12-01T14:03:06.337Z moonset 2031-12-01T16:59:59.268Z Mercury perihelion at 0.3075 AU 2031-12-01T17:13:47.744Z Sun culminates 39.58 degrees above the horizon -2031-12-01T22:27:29.773Z sunset -2031-12-02T00:59:33.559Z moonrise +2031-12-01T22:27:29.704Z sunset +2031-12-02T00:59:33.465Z moonrise 2031-12-02T07:54:06.063Z Moon culminates 79.09 degrees above the horizon -2031-12-02T12:00:41.326Z sunrise -2031-12-02T14:45:32.645Z moonset +2031-12-02T12:00:41.433Z sunrise +2031-12-02T14:45:32.720Z moonset 2031-12-02T17:14:10.476Z Sun culminates 39.43 degrees above the horizon -2031-12-02T22:27:29.867Z sunset -2031-12-03T01:51:49.592Z moonrise +2031-12-02T22:27:29.796Z sunset +2031-12-03T01:51:49.525Z moonrise 2031-12-03T08:40:07.950Z Moon culminates 76.55 degrees above the horizon -2031-12-03T12:01:26.762Z sunrise -2031-12-03T15:24:30.523Z moonset +2031-12-03T12:01:26.871Z sunrise +2031-12-03T15:24:30.574Z moonset 2031-12-03T17:14:33.840Z Sun culminates 39.29 degrees above the horizon -2031-12-03T22:27:31.620Z sunset +2031-12-03T22:27:31.547Z sunset 2031-12-03T22:34:53.959Z lunar apogee at 405343 km -2031-12-04T02:43:55.075Z moonrise +2031-12-04T02:43:55.038Z moonrise 2031-12-04T03:42:10.585Z Mercury moves from Scorpius to Libra 2031-12-04T09:24:31.471Z Moon culminates 73.35 degrees above the horizon -2031-12-04T12:02:11.772Z sunrise -2031-12-04T16:00:40.691Z moonset +2031-12-04T12:02:11.882Z sunrise +2031-12-04T16:00:40.721Z moonset 2031-12-04T17:14:57.816Z Sun culminates 39.15 degrees above the horizon -2031-12-04T22:27:35.031Z sunset -2031-12-05T03:35:44.391Z moonrise +2031-12-04T22:27:34.956Z sunset +2031-12-05T03:35:44.378Z moonrise 2031-12-05T10:07:41.407Z Moon culminates 69.63 degrees above the horizon -2031-12-05T12:02:56.315Z sunrise -2031-12-05T16:34:54.009Z moonset +2031-12-05T12:02:56.428Z sunrise +2031-12-05T16:34:54.025Z moonset 2031-12-05T17:15:22.383Z Sun culminates 39.02 degrees above the horizon -2031-12-05T22:27:40.095Z sunset +2031-12-05T22:27:40.018Z sunset 2031-12-06T04:27:32.168Z moonrise 2031-12-06T10:50:15.307Z Moon culminates 65.52 degrees above the horizon -2031-12-06T12:03:40.353Z sunrise -2031-12-06T17:08:06.809Z moonset +2031-12-06T12:03:40.466Z sunrise +2031-12-06T17:08:06.820Z moonset 2031-12-06T17:15:47.517Z Sun culminates 38.90 degrees above the horizon -2031-12-06T22:27:46.807Z sunset +2031-12-06T22:27:46.728Z sunset 2031-12-07T03:20:16.157Z third quarter -2031-12-07T05:19:48.660Z moonrise +2031-12-07T05:19:48.663Z moonrise 2031-12-07T11:32:59.817Z Moon culminates 61.16 degrees above the horizon -2031-12-07T12:04:23.841Z sunrise +2031-12-07T12:04:23.956Z sunrise 2031-12-07T17:16:13.194Z Sun culminates 38.79 degrees above the horizon -2031-12-07T17:41:19.441Z moonset -2031-12-07T22:27:55.156Z sunset -2031-12-08T06:13:13.947Z moonrise -2031-12-08T12:05:06.739Z sunrise +2031-12-07T17:41:19.450Z moonset +2031-12-07T22:27:55.075Z sunset +2031-12-08T06:13:13.951Z moonrise +2031-12-08T12:05:06.856Z sunrise 2031-12-08T12:16:47.862Z Moon culminates 56.70 degrees above the horizon 2031-12-08T17:16:39.385Z Sun culminates 38.68 degrees above the horizon -2031-12-08T18:15:36.955Z moonset -2031-12-08T22:28:05.131Z sunset -2031-12-09T07:08:30.928Z moonrise -2031-12-09T12:05:49.002Z sunrise +2031-12-08T18:15:36.960Z moonset +2031-12-08T22:28:05.049Z sunset +2031-12-09T07:08:30.941Z moonrise +2031-12-09T12:05:49.120Z sunrise 2031-12-09T13:02:35.735Z Moon culminates 52.30 degrees above the horizon 2031-12-09T17:17:06.062Z Sun culminates 38.58 degrees above the horizon -2031-12-09T18:52:10.545Z moonset -2031-12-09T22:28:16.718Z sunset -2031-12-10T08:06:15.459Z moonrise -2031-12-10T12:06:30.585Z sunrise +2031-12-09T18:52:10.539Z moonset +2031-12-09T22:28:16.635Z sunset +2031-12-10T08:06:15.497Z moonrise +2031-12-10T12:06:30.704Z sunrise 2031-12-10T13:51:18.173Z Moon culminates 48.17 degrees above the horizon 2031-12-10T16:25:46.556Z Venus moves from Virgo to Libra 2031-12-10T17:17:33.195Z Sun culminates 38.49 degrees above the horizon -2031-12-10T19:32:17.609Z moonset -2031-12-10T22:28:29.901Z sunset -2031-12-11T09:06:41.534Z moonrise -2031-12-11T12:07:11.443Z sunrise +2031-12-10T19:32:17.578Z moonset +2031-12-10T22:28:29.816Z sunset +2031-12-11T09:06:41.614Z moonrise +2031-12-11T12:07:11.563Z sunrise 2031-12-11T14:43:38.777Z Moon culminates 44.61 degrees above the horizon 2031-12-11T17:18:00.750Z Sun culminates 38.40 degrees above the horizon 2031-12-11T18:47:59.886Z Saturn opposition -2031-12-11T20:17:16.801Z moonset -2031-12-11T22:28:44.659Z sunset -2031-12-12T10:09:22.065Z moonrise -2031-12-12T12:07:51.530Z sunrise +2031-12-11T20:17:16.734Z moonset +2031-12-11T22:28:44.573Z sunset +2031-12-12T10:09:22.189Z moonrise +2031-12-12T12:07:51.651Z sunrise 2031-12-12T15:39:54.006Z Moon culminates 41.93 degrees above the horizon 2031-12-12T17:18:28.695Z Sun culminates 38.33 degrees above the horizon -2031-12-12T21:08:12.955Z moonset -2031-12-12T22:29:00.971Z sunset -2031-12-13T11:12:54.277Z moonrise -2031-12-13T12:08:30.800Z sunrise +2031-12-12T21:08:12.847Z moonset +2031-12-12T22:29:00.884Z sunset +2031-12-13T11:12:54.424Z moonrise +2031-12-13T12:08:30.922Z sunrise 2031-12-13T16:39:34.398Z Moon culminates 40.47 degrees above the horizon 2031-12-13T17:18:56.995Z Sun culminates 38.26 degrees above the horizon -2031-12-13T22:05:29.569Z moonset -2031-12-13T22:29:18.813Z sunset +2031-12-13T22:05:29.431Z moonset +2031-12-13T22:29:18.725Z sunset 2031-12-14T09:06:16.840Z new moon -2031-12-14T12:09:09.207Z sunrise -2031-12-14T12:15:08.493Z moonrise +2031-12-14T12:09:09.329Z sunrise +2031-12-14T12:15:08.634Z moonrise 2031-12-14T17:19:25.612Z Sun culminates 38.20 degrees above the horizon 2031-12-14T17:41:16.620Z Moon culminates 40.50 degrees above the horizon -2031-12-14T22:29:38.158Z sunset -2031-12-14T23:08:20.080Z moonset -2031-12-15T12:09:46.703Z sunrise -2031-12-15T13:13:50.705Z moonrise +2031-12-14T22:29:38.069Z sunset +2031-12-14T23:08:19.935Z moonset +2031-12-15T12:09:46.826Z sunrise +2031-12-15T13:13:50.816Z moonrise 2031-12-15T17:19:54.512Z Sun culminates 38.14 degrees above the horizon 2031-12-15T18:43:02.677Z Moon culminates 42.09 degrees above the horizon 2031-12-15T20:13:48.267Z Mercury moves from Libra to Scorpius 2031-12-15T21:27:15.859Z lunar perigee at 360479 km -2031-12-15T22:29:58.978Z sunset -2031-12-16T00:14:46.045Z moonset -2031-12-16T12:10:23.244Z sunrise -2031-12-16T14:07:35.301Z moonrise +2031-12-15T22:29:58.888Z sunset +2031-12-16T00:14:45.925Z moonset +2031-12-16T12:10:23.368Z sunrise +2031-12-16T14:07:35.372Z moonrise 2031-12-16T17:20:23.655Z Sun culminates 38.10 degrees above the horizon 2031-12-16T19:43:02.533Z Moon culminates 45.07 degrees above the horizon -2031-12-16T22:30:21.245Z sunset -2031-12-17T01:22:18.754Z moonset +2031-12-16T22:30:21.155Z sunset +2031-12-17T01:22:18.682Z moonset 2031-12-17T09:12:15.011Z Uranus opposition -2031-12-17T12:10:58.785Z sunrise -2031-12-17T14:56:08.217Z moonrise +2031-12-17T12:10:58.908Z sunrise +2031-12-17T14:56:08.252Z moonrise 2031-12-17T17:20:53.005Z Sun culminates 38.06 degrees above the horizon 2031-12-17T20:40:11.058Z Moon culminates 49.14 degrees above the horizon -2031-12-17T22:30:44.930Z sunset -2031-12-18T02:28:56.737Z moonset +2031-12-17T22:30:44.839Z sunset +2031-12-18T02:28:56.710Z moonset 2031-12-18T10:20:13.785Z Mercury max morning elongation: 21.47 degrees from Sun -2031-12-18T12:11:33.280Z sunrise -2031-12-18T15:40:12.444Z moonrise +2031-12-18T12:11:33.405Z sunrise +2031-12-18T15:40:12.458Z moonrise 2031-12-18T17:21:22.525Z Sun culminates 38.03 degrees above the horizon 2031-12-18T21:34:16.738Z Moon culminates 53.90 degrees above the horizon -2031-12-18T22:31:10.000Z sunset -2031-12-19T03:33:36.297Z moonset -2031-12-19T12:12:06.690Z sunrise -2031-12-19T16:20:59.890Z moonrise +2031-12-18T22:31:09.909Z sunset +2031-12-19T03:33:36.294Z moonset +2031-12-19T12:12:06.814Z sunrise +2031-12-19T16:20:59.896Z moonrise 2031-12-19T17:21:52.178Z Sun culminates 38.01 degrees above the horizon 2031-12-19T22:25:47.537Z Moon culminates 58.96 degrees above the horizon -2031-12-19T22:31:36.425Z sunset -2031-12-20T04:36:06.146Z moonset -2031-12-20T12:12:38.972Z sunrise -2031-12-20T16:59:50.010Z moonrise +2031-12-19T22:31:36.333Z sunset +2031-12-20T04:36:06.147Z moonset +2031-12-20T12:12:39.096Z sunrise +2031-12-20T16:59:50.015Z moonrise 2031-12-20T17:22:21.928Z Sun culminates 37.99 degrees above the horizon -2031-12-20T22:32:04.172Z sunset +2031-12-20T22:32:04.080Z sunset 2031-12-20T23:15:31.053Z Moon culminates 64.01 degrees above the horizon 2031-12-21T00:01:00.096Z first quarter 2031-12-21T00:57:02.161Z Mercury moves from Scorpius to Ophiuchus -2031-12-21T05:36:45.258Z moonset -2031-12-21T12:13:10.089Z sunrise +2031-12-21T05:36:45.261Z moonset +2031-12-21T12:13:10.214Z sunrise 2031-12-21T17:22:51.740Z Sun culminates 37.99 degrees above the horizon -2031-12-21T17:37:59.103Z moonrise -2031-12-21T22:32:33.209Z sunset +2031-12-21T17:37:59.104Z moonrise +2031-12-21T22:32:33.117Z sunset 2031-12-22T00:04:18.836Z Moon culminates 68.77 degrees above the horizon 2031-12-22T01:55:48.488Z December solstice -2031-12-22T06:36:00.854Z moonset -2031-12-22T12:13:40.006Z sunrise +2031-12-22T06:36:00.869Z moonset +2031-12-22T12:13:40.131Z sunrise 2031-12-22T17:23:21.580Z Sun culminates 37.99 degrees above the horizon -2031-12-22T18:16:36.059Z moonrise -2031-12-22T22:33:03.501Z sunset +2031-12-22T18:16:36.049Z moonrise +2031-12-22T22:33:03.409Z sunset 2031-12-23T00:52:56.023Z Moon culminates 73.01 degrees above the horizon -2031-12-23T07:34:12.194Z moonset -2031-12-23T12:14:08.689Z sunrise +2031-12-23T07:34:12.235Z moonset +2031-12-23T12:14:08.813Z sunrise 2031-12-23T17:23:51.414Z Sun culminates 38.00 degrees above the horizon -2031-12-23T18:56:39.855Z moonrise -2031-12-23T22:33:35.016Z sunset +2031-12-23T18:56:39.823Z moonrise +2031-12-23T22:33:34.924Z sunset 2031-12-24T01:41:54.314Z Moon culminates 76.56 degrees above the horizon -2031-12-24T08:31:20.440Z moonset -2031-12-24T12:14:36.106Z sunrise +2031-12-24T08:31:20.515Z moonset +2031-12-24T12:14:36.230Z sunrise 2031-12-24T17:24:21.209Z Sun culminates 38.01 degrees above the horizon -2031-12-24T19:38:55.914Z moonrise -2031-12-24T22:34:07.719Z sunset +2031-12-24T19:38:55.854Z moonrise +2031-12-24T22:34:07.627Z sunset 2031-12-25T02:31:27.035Z Moon culminates 79.24 degrees above the horizon -2031-12-25T09:27:04.875Z moonset -2031-12-25T12:15:02.227Z sunrise +2031-12-25T09:27:04.979Z moonset +2031-12-25T12:15:02.350Z sunrise 2031-12-25T17:24:50.934Z Sun culminates 38.04 degrees above the horizon -2031-12-25T20:23:50.635Z moonrise -2031-12-25T22:34:41.575Z sunset +2031-12-25T20:23:50.549Z moonrise +2031-12-25T22:34:41.484Z sunset 2031-12-26T03:21:26.905Z Moon culminates 80.95 degrees above the horizon -2031-12-26T10:20:46.808Z moonset +2031-12-26T10:20:46.928Z moonset 2031-12-26T10:40:36.924Z Mars moves from Capricornus to Aquarius -2031-12-26T12:15:27.024Z sunrise +2031-12-26T12:15:27.147Z sunrise 2031-12-26T17:25:20.557Z Sun culminates 38.07 degrees above the horizon -2031-12-26T21:11:25.977Z moonrise -2031-12-26T22:35:16.550Z sunset +2031-12-26T21:11:25.872Z moonrise +2031-12-26T22:35:16.459Z sunset 2031-12-27T04:11:28.353Z Moon culminates 81.62 degrees above the horizon -2031-12-27T11:11:41.176Z moonset -2031-12-27T12:15:50.472Z sunrise +2031-12-27T11:11:41.295Z moonset +2031-12-27T12:15:50.594Z sunrise 2031-12-27T17:25:50.048Z Sun culminates 38.11 degrees above the horizon -2031-12-27T22:01:18.194Z moonrise -2031-12-27T22:35:52.610Z sunset +2031-12-27T22:01:18.083Z moonrise +2031-12-27T22:35:52.519Z sunset 2031-12-28T05:00:55.383Z Moon culminates 81.25 degrees above the horizon -2031-12-28T11:59:11.694Z moonset -2031-12-28T12:16:12.545Z sunrise +2031-12-28T11:59:11.801Z moonset +2031-12-28T12:16:12.667Z sunrise 2031-12-28T17:26:19.377Z Sun culminates 38.16 degrees above the horizon 2031-12-28T17:33:37.859Z full moon -2031-12-28T22:36:29.719Z sunset -2031-12-28T22:52:44.285Z moonrise +2031-12-28T22:36:29.629Z sunset +2031-12-28T22:52:44.184Z moonrise 2031-12-29T05:49:12.964Z Moon culminates 79.89 degrees above the horizon -2031-12-29T12:16:33.222Z sunrise -2031-12-29T12:43:02.535Z moonset +2031-12-29T12:16:33.344Z sunrise +2031-12-29T12:43:02.621Z moonset 2031-12-29T17:26:48.517Z Sun culminates 38.22 degrees above the horizon -2031-12-29T22:37:07.841Z sunset -2031-12-29T23:44:55.305Z moonrise +2031-12-29T22:37:07.752Z sunset +2031-12-29T23:44:55.226Z moonrise 2031-12-30T06:35:57.506Z Moon culminates 77.66 degrees above the horizon -2031-12-30T12:16:52.481Z sunrise -2031-12-30T13:23:21.792Z moonset +2031-12-30T12:16:52.601Z sunrise +2031-12-30T13:23:21.853Z moonset 2031-12-30T17:27:17.437Z Sun culminates 38.28 degrees above the horizon -2031-12-30T22:37:46.941Z sunset -2031-12-31T00:37:10.803Z moonrise +2031-12-30T22:37:46.853Z sunset +2031-12-31T00:37:10.755Z moonrise 2031-12-31T07:21:02.604Z Moon culminates 74.71 degrees above the horizon -2031-12-31T12:17:10.301Z sunrise +2031-12-31T12:17:10.420Z sunrise 2031-12-31T13:15:16.702Z lunar apogee at 406193 km -2031-12-31T14:00:37.674Z moonset +2031-12-31T14:00:37.711Z moonset 2031-12-31T14:10:24.370Z Venus moves from Libra to Scorpius 2031-12-31T17:27:46.110Z Sun culminates 38.35 degrees above the horizon -2031-12-31T22:38:26.983Z sunset -2032-01-01T01:29:08.386Z moonrise +2031-12-31T22:38:26.895Z sunset +2032-01-01T01:29:08.365Z moonrise 2032-01-01T07:45:45.568Z Jupiter conjunction 2032-01-01T08:04:39.503Z Moon culminates 71.18 degrees above the horizon -2032-01-01T12:17:26.663Z sunrise -2032-01-01T14:35:31.857Z moonset +2032-01-01T12:17:26.782Z sunrise +2032-01-01T14:35:31.878Z moonset 2032-01-01T17:28:14.508Z Sun culminates 38.43 degrees above the horizon -2032-01-01T22:39:07.928Z sunset -2032-01-02T02:20:46.417Z moonrise +2032-01-01T22:39:07.841Z sunset +2032-01-02T02:20:46.414Z moonrise 2032-01-02T08:47:14.336Z Moon culminates 67.23 degrees above the horizon -2032-01-02T12:17:41.550Z sunrise -2032-01-02T15:08:53.885Z moonset +2032-01-02T12:17:41.668Z sunrise +2032-01-02T15:08:53.898Z moonset 2032-01-02T17:28:42.602Z Sun culminates 38.52 degrees above the horizon -2032-01-02T22:39:49.738Z sunset -2032-01-03T03:12:21.722Z moonrise +2032-01-02T22:39:49.653Z sunset +2032-01-03T03:12:21.725Z moonrise 2032-01-03T05:07:42.573Z Earth perihelion at 0.9832 AU 2032-01-03T09:29:24.581Z Moon culminates 63.01 degrees above the horizon -2032-01-03T12:17:54.945Z sunrise -2032-01-03T15:41:38.215Z moonset +2032-01-03T12:17:55.061Z sunrise +2032-01-03T15:41:38.225Z moonset 2032-01-03T17:29:10.365Z Sun culminates 38.61 degrees above the horizon -2032-01-03T22:40:32.375Z sunset +2032-01-03T22:40:32.291Z sunset 2032-01-04T03:04:38.904Z Mercury moves from Ophiuchus to Sagittarius -2032-01-04T04:04:24.955Z moonrise +2032-01-04T04:04:24.960Z moonrise 2032-01-04T10:11:56.061Z Moon culminates 58.65 degrees above the horizon -2032-01-04T12:18:06.830Z sunrise -2032-01-04T16:14:43.755Z moonset +2032-01-04T12:18:06.945Z sunrise +2032-01-04T16:14:43.763Z moonset 2032-01-04T17:29:37.769Z Sun culminates 38.71 degrees above the horizon 2032-01-04T18:16:04.359Z Venus moves from Scorpius to Ophiuchus -2032-01-04T22:41:15.797Z sunset -2032-01-05T04:57:35.002Z moonrise +2032-01-04T22:41:15.715Z sunset +2032-01-05T04:57:35.010Z moonrise 2032-01-05T10:55:40.541Z Moon culminates 54.30 degrees above the horizon -2032-01-05T12:18:17.192Z sunrise +2032-01-05T12:18:17.306Z sunrise 2032-01-05T16:49:15.003Z moonset 2032-01-05T17:30:04.785Z Sun culminates 38.82 degrees above the horizon 2032-01-05T22:04:46.743Z third quarter -2032-01-05T22:41:59.964Z sunset -2032-01-06T05:52:32.034Z moonrise +2032-01-05T22:41:59.883Z sunset +2032-01-06T05:52:32.058Z moonrise 2032-01-06T11:41:32.877Z Moon culminates 50.15 degrees above the horizon -2032-01-06T12:18:26.016Z sunrise -2032-01-06T17:26:23.466Z moonset +2032-01-06T12:18:26.128Z sunrise +2032-01-06T17:26:23.449Z moonset 2032-01-06T17:30:31.385Z Sun culminates 38.94 degrees above the horizon -2032-01-06T22:42:44.832Z sunset -2032-01-07T06:49:47.668Z moonrise -2032-01-07T12:18:33.287Z sunrise +2032-01-06T22:42:44.753Z sunset +2032-01-07T06:49:47.726Z moonrise +2032-01-07T12:18:33.398Z sunrise 2032-01-07T12:30:25.927Z Moon culminates 46.39 degrees above the horizon 2032-01-07T17:30:57.541Z Sun culminates 39.06 degrees above the horizon -2032-01-07T18:07:27.245Z moonset -2032-01-07T22:43:30.357Z sunset -2032-01-08T07:49:30.642Z moonrise -2032-01-08T12:18:38.994Z sunrise +2032-01-07T18:07:27.198Z moonset +2032-01-07T22:43:30.280Z sunset +2032-01-08T07:49:30.743Z moonrise +2032-01-08T12:18:39.103Z sunrise 2032-01-08T13:23:00.758Z Moon culminates 43.30 degrees above the horizon 2032-01-08T17:31:23.224Z Sun culminates 39.19 degrees above the horizon -2032-01-08T18:53:44.953Z moonset -2032-01-08T22:44:16.495Z sunset -2032-01-09T08:51:09.454Z moonrise -2032-01-09T12:18:43.124Z sunrise +2032-01-08T18:53:44.868Z moonset +2032-01-08T22:44:16.420Z sunset +2032-01-09T08:51:09.590Z moonrise +2032-01-09T12:18:43.231Z sunrise 2032-01-09T14:19:30.808Z Moon culminates 41.19 degrees above the horizon 2032-01-09T17:31:48.404Z Sun culminates 39.33 degrees above the horizon -2032-01-09T19:46:18.833Z moonset -2032-01-09T22:45:03.201Z sunset -2032-01-10T09:53:21.467Z moonrise -2032-01-10T12:18:45.667Z sunrise +2032-01-09T19:46:18.712Z moonset +2032-01-09T22:45:03.127Z sunset +2032-01-10T09:53:21.613Z moonrise +2032-01-10T12:18:45.772Z sunrise 2032-01-10T15:19:24.177Z Moon culminates 40.36 degrees above the horizon 2032-01-10T17:32:13.055Z Sun culminates 39.48 degrees above the horizon -2032-01-10T20:45:25.761Z moonset -2032-01-10T22:45:50.427Z sunset -2032-01-11T10:54:05.352Z moonrise -2032-01-11T12:18:46.614Z sunrise +2032-01-10T20:45:25.618Z moonset +2032-01-10T22:45:50.355Z sunset +2032-01-11T10:54:05.482Z moonrise +2032-01-11T12:18:46.717Z sunrise 2032-01-11T16:21:17.646Z Moon culminates 41.04 degrees above the horizon 2032-01-11T17:32:37.148Z Sun culminates 39.63 degrees above the horizon -2032-01-11T21:50:09.674Z moonset -2032-01-11T22:46:38.126Z sunset -2032-01-12T11:51:22.670Z moonrise -2032-01-12T12:18:45.954Z sunrise +2032-01-11T21:50:09.537Z moonset +2032-01-11T22:46:38.057Z sunset +2032-01-12T11:51:22.763Z moonrise +2032-01-12T12:18:46.056Z sunrise 2032-01-12T17:23:17.132Z Moon culminates 43.27 degrees above the horizon 2032-01-12T17:33:00.654Z Sun culminates 39.79 degrees above the horizon 2032-01-12T20:07:05.333Z new moon -2032-01-12T22:47:26.254Z sunset -2032-01-12T22:58:24.358Z moonset +2032-01-12T22:47:26.187Z sunset +2032-01-12T22:58:24.258Z moonset 2032-01-13T07:54:38.529Z lunar perigee at 357079 km -2032-01-13T12:18:43.682Z sunrise -2032-01-13T12:44:03.796Z moonrise +2032-01-13T12:18:43.782Z sunrise +2032-01-13T12:44:03.848Z moonrise 2032-01-13T17:33:23.549Z Sun culminates 39.96 degrees above the horizon 2032-01-13T18:23:38.803Z Moon culminates 46.86 degrees above the horizon -2032-01-13T22:48:14.762Z sunset -2032-01-14T00:07:38.759Z moonset -2032-01-14T12:18:39.791Z sunrise -2032-01-14T13:32:04.477Z moonrise +2032-01-13T22:48:14.698Z sunset +2032-01-14T00:07:38.709Z moonset +2032-01-14T12:18:39.888Z sunrise +2032-01-14T13:32:04.498Z moonrise 2032-01-14T16:37:21.239Z Mercury aphelion at 0.4667 AU 2032-01-14T17:33:45.806Z Sun culminates 40.13 degrees above the horizon 2032-01-14T19:21:22.576Z Moon culminates 51.44 degrees above the horizon -2032-01-14T22:49:03.607Z sunset -2032-01-15T01:15:52.867Z moonset -2032-01-15T12:18:34.277Z sunrise -2032-01-15T14:16:10.201Z moonrise +2032-01-14T22:49:03.546Z sunset +2032-01-15T01:15:52.854Z moonset +2032-01-15T12:18:34.372Z sunrise +2032-01-15T14:16:10.208Z moonrise 2032-01-15T17:34:07.400Z Sun culminates 40.31 degrees above the horizon 2032-01-15T20:16:18.379Z Moon culminates 56.58 degrees above the horizon -2032-01-15T22:49:52.745Z sunset -2032-01-16T02:22:03.656Z moonset -2032-01-16T12:18:27.137Z sunrise -2032-01-16T14:57:30.696Z moonrise +2032-01-15T22:49:52.686Z sunset +2032-01-16T02:22:03.657Z moonset +2032-01-16T12:18:27.229Z sunrise +2032-01-16T14:57:30.701Z moonrise 2032-01-16T17:34:28.311Z Sun culminates 40.50 degrees above the horizon 2032-01-16T21:08:51.787Z Moon culminates 61.85 degrees above the horizon -2032-01-16T22:50:42.133Z sunset -2032-01-17T03:25:56.752Z moonset -2032-01-17T12:18:18.371Z sunrise -2032-01-17T15:37:21.210Z moonrise +2032-01-16T22:50:42.076Z sunset +2032-01-17T03:25:56.753Z moonset +2032-01-17T12:18:18.461Z sunrise +2032-01-17T15:37:21.213Z moonrise 2032-01-17T17:34:48.516Z Sun culminates 40.70 degrees above the horizon 2032-01-17T21:59:45.032Z Moon culminates 66.90 degrees above the horizon -2032-01-17T22:51:31.729Z sunset -2032-01-18T04:27:43.886Z moonset -2032-01-18T12:18:07.982Z sunrise -2032-01-18T16:16:52.898Z moonrise +2032-01-17T22:51:31.676Z sunset +2032-01-18T04:27:43.894Z moonset +2032-01-18T12:18:08.069Z sunrise +2032-01-18T16:16:52.893Z moonrise 2032-01-18T17:35:07.999Z Sun culminates 40.90 degrees above the horizon 2032-01-18T22:49:42.116Z Moon culminates 71.45 degrees above the horizon -2032-01-18T22:52:21.494Z sunset -2032-01-19T05:27:41.933Z moonset +2032-01-18T22:52:21.444Z sunset +2032-01-19T05:27:41.962Z moonset 2032-01-19T12:14:51.179Z first quarter -2032-01-19T12:17:55.974Z sunrise -2032-01-19T16:57:08.321Z moonrise +2032-01-19T12:17:56.059Z sunrise +2032-01-19T16:57:08.298Z moonrise 2032-01-19T17:35:26.741Z Sun culminates 41.10 degrees above the horizon -2032-01-19T22:53:11.391Z sunset +2032-01-19T22:53:11.344Z sunset 2032-01-19T23:39:19.045Z Moon culminates 75.31 degrees above the horizon 2032-01-20T03:23:45.533Z Venus moves from Ophiuchus to Sagittarius -2032-01-20T06:25:58.743Z moonset -2032-01-20T12:17:42.354Z sunrise +2032-01-20T06:25:58.804Z moonset +2032-01-20T12:17:42.437Z sunrise 2032-01-20T17:35:44.729Z Sun culminates 41.32 degrees above the horizon -2032-01-20T17:38:58.160Z moonrise -2032-01-20T22:54:01.382Z sunset +2032-01-20T17:38:58.112Z moonrise +2032-01-20T22:54:01.338Z sunset 2032-01-21T00:28:57.826Z Moon culminates 78.31 degrees above the horizon -2032-01-21T07:22:26.340Z moonset -2032-01-21T12:17:27.132Z sunrise +2032-01-21T07:22:26.433Z moonset +2032-01-21T12:17:27.212Z sunrise 2032-01-21T17:36:01.949Z Sun culminates 41.54 degrees above the horizon -2032-01-21T18:22:57.267Z moonrise -2032-01-21T22:54:51.433Z sunset +2032-01-21T18:22:57.191Z moonrise +2032-01-21T22:54:51.393Z sunset 2032-01-22T01:18:43.556Z Moon culminates 80.36 degrees above the horizon -2032-01-22T08:16:41.441Z moonset -2032-01-22T12:17:10.318Z sunrise +2032-01-22T08:16:41.555Z moonset +2032-01-22T12:17:10.396Z sunrise 2032-01-22T17:36:18.392Z Sun culminates 41.76 degrees above the horizon -2032-01-22T19:09:20.341Z moonrise -2032-01-22T22:55:41.513Z sunset +2032-01-22T19:09:20.243Z moonrise +2032-01-22T22:55:41.476Z sunset 2032-01-23T02:08:25.002Z Moon culminates 81.38 degrees above the horizon -2032-01-23T09:08:12.607Z moonset -2032-01-23T12:16:51.925Z sunrise +2032-01-23T09:08:12.727Z moonset +2032-01-23T12:16:52.000Z sunrise 2032-01-23T17:36:34.047Z Sun culminates 42.00 degrees above the horizon -2032-01-23T19:57:59.507Z moonrise -2032-01-23T22:56:31.590Z sunset +2032-01-23T19:57:59.399Z moonrise +2032-01-23T22:56:31.556Z sunset 2032-01-24T02:57:39.163Z Moon culminates 81.38 degrees above the horizon -2032-01-24T09:56:31.294Z moonset -2032-01-24T12:16:31.967Z sunrise +2032-01-24T09:56:31.406Z moonset +2032-01-24T12:16:32.039Z sunrise 2032-01-24T17:36:48.909Z Sun culminates 42.23 degrees above the horizon -2032-01-24T20:48:26.770Z moonrise -2032-01-24T22:57:21.637Z sunset +2032-01-24T20:48:26.665Z moonrise +2032-01-24T22:57:21.607Z sunset 2032-01-25T03:45:59.106Z Moon culminates 80.39 degrees above the horizon 2032-01-25T10:32:23.844Z Mercury moves from Sagittarius to Capricornus -2032-01-25T10:41:22.072Z moonset -2032-01-25T12:16:10.460Z sunrise +2032-01-25T10:41:22.166Z moonset +2032-01-25T12:16:10.530Z sunrise 2032-01-25T17:37:02.972Z Sun culminates 42.48 degrees above the horizon -2032-01-25T21:40:02.432Z moonrise -2032-01-25T22:58:11.628Z sunset +2032-01-25T21:40:02.345Z moonrise +2032-01-25T22:58:11.601Z sunset 2032-01-26T04:33:02.639Z Moon culminates 78.50 degrees above the horizon -2032-01-26T11:22:47.850Z moonset -2032-01-26T12:15:47.422Z sunrise +2032-01-26T11:22:47.920Z moonset +2032-01-26T12:15:47.489Z sunrise 2032-01-26T17:37:16.233Z Sun culminates 42.73 degrees above the horizon -2032-01-26T22:32:06.892Z moonrise -2032-01-26T22:59:01.537Z sunset +2032-01-26T22:32:06.833Z moonrise +2032-01-26T22:59:01.514Z sunset 2032-01-27T05:18:38.828Z Moon culminates 75.82 degrees above the horizon -2032-01-27T12:01:09.204Z moonset -2032-01-27T12:15:22.871Z sunrise +2032-01-27T12:01:09.249Z moonset +2032-01-27T12:15:22.936Z sunrise 2032-01-27T12:53:04.673Z full moon 2032-01-27T16:13:29.113Z lunar apogee at 406521 km 2032-01-27T17:37:28.689Z Sun culminates 42.98 degrees above the horizon -2032-01-27T22:59:51.343Z sunset -2032-01-27T23:24:11.034Z moonrise +2032-01-27T22:59:51.324Z sunset +2032-01-27T23:24:11.004Z moonrise 2032-01-28T06:02:50.731Z Moon culminates 72.51 degrees above the horizon -2032-01-28T12:14:56.827Z sunrise -2032-01-28T12:37:00.067Z moonset +2032-01-28T12:14:56.889Z sunrise +2032-01-28T12:37:00.093Z moonset 2032-01-28T17:37:40.340Z Sun culminates 43.24 degrees above the horizon -2032-01-28T23:00:41.024Z sunset -2032-01-29T00:16:01.795Z moonrise +2032-01-28T23:00:41.008Z sunset +2032-01-29T00:16:01.786Z moonrise 2032-01-29T06:45:54.759Z Moon culminates 68.72 degrees above the horizon 2032-01-29T07:28:43.567Z Mars moves from Aquarius to Pisces -2032-01-29T12:14:29.310Z sunrise -2032-01-29T13:11:02.910Z moonset +2032-01-29T12:14:29.369Z sunrise +2032-01-29T13:11:02.924Z moonset 2032-01-29T17:37:51.185Z Sun culminates 43.51 degrees above the horizon -2032-01-29T23:01:30.559Z sunset -2032-01-30T01:07:42.686Z moonrise +2032-01-29T23:01:30.547Z sunset +2032-01-30T01:07:42.688Z moonrise 2032-01-30T07:28:18.318Z Moon culminates 64.60 degrees above the horizon -2032-01-30T12:14:00.341Z sunrise -2032-01-30T13:44:05.414Z moonset +2032-01-30T12:14:00.397Z sunrise +2032-01-30T13:44:05.424Z moonset 2032-01-30T17:38:01.226Z Sun culminates 43.78 degrees above the horizon -2032-01-30T23:02:19.930Z sunset -2032-01-31T01:59:31.065Z moonrise +2032-01-30T23:02:19.922Z sunset +2032-01-31T01:59:31.069Z moonrise 2032-01-31T08:10:37.219Z Moon culminates 60.31 degrees above the horizon -2032-01-31T12:13:29.942Z sunrise -2032-01-31T14:16:59.186Z moonset +2032-01-31T12:13:29.995Z sunrise +2032-01-31T14:16:59.195Z moonset 2032-01-31T17:38:10.463Z Sun culminates 44.06 degrees above the horizon -2032-01-31T23:03:09.118Z sunset -2032-02-01T02:51:53.876Z moonrise +2032-01-31T23:03:09.113Z sunset +2032-02-01T02:51:53.881Z moonrise 2032-02-01T08:53:33.452Z Moon culminates 56.00 degrees above the horizon -2032-02-01T12:12:58.134Z sunrise -2032-02-01T14:50:40.106Z moonset +2032-02-01T12:12:58.184Z sunrise +2032-02-01T14:50:40.110Z moonset 2032-02-01T17:38:18.900Z Sun culminates 44.34 degrees above the horizon -2032-02-01T23:03:58.105Z sunset -2032-02-02T03:45:22.413Z moonrise +2032-02-01T23:03:58.104Z sunset +2032-02-02T03:45:22.429Z moonrise 2032-02-02T07:14:44.347Z Mercury superior conjunction 2032-02-02T09:37:53.020Z Moon culminates 51.84 degrees above the horizon -2032-02-02T12:12:24.939Z sunrise +2032-02-02T12:12:24.987Z sunrise 2032-02-02T12:46:42.240Z Pluto conjunction -2032-02-02T15:26:09.425Z moonset +2032-02-02T15:26:09.418Z moonset 2032-02-02T17:38:26.537Z Sun culminates 44.63 degrees above the horizon -2032-02-02T23:04:46.873Z sunset -2032-02-03T04:40:25.496Z moonrise +2032-02-02T23:04:46.876Z sunset +2032-02-03T04:40:25.537Z moonrise 2032-02-03T10:24:22.792Z Moon culminates 48.01 degrees above the horizon -2032-02-03T12:11:50.380Z sunrise -2032-02-03T16:04:34.327Z moonset +2032-02-03T12:11:50.425Z sunrise +2032-02-03T16:04:34.296Z moonset 2032-02-03T17:38:33.378Z Sun culminates 44.92 degrees above the horizon -2032-02-03T23:05:35.406Z sunset -2032-02-04T05:37:20.082Z moonrise +2032-02-03T23:05:35.413Z sunset +2032-02-04T05:37:20.162Z moonrise 2032-02-04T11:13:44.946Z Moon culminates 44.72 degrees above the horizon -2032-02-04T12:11:14.478Z sunrise +2032-02-04T12:11:14.521Z sunrise 2032-02-04T13:49:29.915Z third quarter -2032-02-04T16:47:05.838Z moonset +2032-02-04T16:47:05.773Z moonset 2032-02-04T17:38:39.425Z Sun culminates 45.22 degrees above the horizon -2032-02-04T23:06:23.686Z sunset -2032-02-05T06:35:59.366Z moonrise +2032-02-04T23:06:23.697Z sunset +2032-02-05T06:35:59.485Z moonrise 2032-02-05T12:06:27.667Z Moon culminates 42.23 degrees above the horizon -2032-02-05T12:10:37.257Z sunrise -2032-02-05T17:34:50.923Z moonset +2032-02-05T12:10:37.297Z sunrise +2032-02-05T17:34:50.822Z moonset 2032-02-05T17:38:44.681Z Sun culminates 45.52 degrees above the horizon -2032-02-05T23:07:11.697Z sunset -2032-02-06T07:35:41.836Z moonrise -2032-02-06T12:09:58.737Z sunrise +2032-02-05T23:07:11.712Z sunset +2032-02-06T07:35:41.977Z moonrise +2032-02-06T12:09:58.775Z sunrise 2032-02-06T13:02:32.559Z Moon culminates 40.81 degrees above the horizon 2032-02-06T17:38:49.149Z Sun culminates 45.83 degrees above the horizon -2032-02-06T18:28:35.668Z moonset -2032-02-06T23:07:59.421Z sunset -2032-02-07T08:35:09.891Z moonrise -2032-02-07T12:09:18.942Z sunrise +2032-02-06T18:28:35.537Z moonset +2032-02-06T23:07:59.439Z sunset +2032-02-07T08:35:10.029Z moonrise +2032-02-07T12:09:18.978Z sunrise 2032-02-07T14:01:23.719Z Moon culminates 40.68 degrees above the horizon 2032-02-07T17:38:52.831Z Sun culminates 46.14 degrees above the horizon -2032-02-07T19:28:21.594Z moonset -2032-02-07T23:08:46.842Z sunset -2032-02-08T09:32:47.258Z moonrise -2032-02-08T12:08:37.894Z sunrise +2032-02-07T19:28:21.454Z moonset +2032-02-07T23:08:46.864Z sunset +2032-02-08T09:32:47.371Z moonrise +2032-02-08T12:08:37.927Z sunrise 2032-02-08T15:01:48.509Z Moon culminates 42.01 degrees above the horizon 2032-02-08T17:38:55.730Z Sun culminates 46.45 degrees above the horizon -2032-02-08T20:33:08.801Z moonset -2032-02-08T23:09:33.944Z sunset -2032-02-09T10:27:12.085Z moonrise -2032-02-09T12:07:55.613Z sunrise +2032-02-08T20:33:08.680Z moonset +2032-02-08T23:09:33.969Z sunset +2032-02-09T10:27:12.159Z moonrise +2032-02-09T12:07:55.644Z sunrise 2032-02-09T16:02:17.007Z Moon culminates 44.78 degrees above the horizon 2032-02-09T17:38:57.849Z Sun culminates 46.77 degrees above the horizon -2032-02-09T21:41:05.771Z moonset -2032-02-09T23:10:20.709Z sunset +2032-02-09T21:41:05.694Z moonset +2032-02-09T23:10:20.739Z sunset 2032-02-10T08:51:04.436Z Mercury moves from Capricornus to Aquarius -2032-02-10T11:17:45.536Z moonrise -2032-02-10T12:07:12.123Z sunrise +2032-02-10T11:17:45.572Z moonrise +2032-02-10T12:07:12.152Z sunrise 2032-02-10T17:01:32.182Z Moon culminates 48.78 degrees above the horizon 2032-02-10T17:38:59.191Z Sun culminates 47.09 degrees above the horizon 2032-02-10T20:46:21.683Z lunar perigee at 356938 km -2032-02-10T22:50:07.538Z moonset -2032-02-10T23:11:07.125Z sunset +2032-02-10T22:50:07.507Z moonset +2032-02-10T23:11:07.158Z sunset 2032-02-11T06:24:35.415Z new moon -2032-02-11T12:04:37.919Z moonrise -2032-02-11T12:06:27.445Z sunrise +2032-02-11T12:04:37.932Z moonrise +2032-02-11T12:06:27.472Z sunrise 2032-02-11T17:38:59.761Z Sun culminates 47.42 degrees above the horizon 2032-02-11T17:58:51.536Z Moon culminates 53.66 degrees above the horizon -2032-02-11T23:11:53.177Z sunset -2032-02-11T23:58:35.688Z moonset -2032-02-12T12:05:41.602Z sunrise -2032-02-12T12:48:35.109Z moonrise +2032-02-11T23:11:53.213Z sunset +2032-02-11T23:58:35.684Z moonset +2032-02-12T12:05:41.626Z sunrise +2032-02-12T12:48:35.113Z moonrise 2032-02-12T17:38:59.563Z Sun culminates 47.75 degrees above the horizon 2032-02-12T18:54:09.422Z Moon culminates 58.98 degrees above the horizon -2032-02-12T23:12:38.852Z sunset -2032-02-13T01:05:34.353Z moonset -2032-02-13T12:04:54.615Z sunrise -2032-02-13T13:30:39.947Z moonrise +2032-02-12T23:12:38.891Z sunset +2032-02-13T01:05:34.354Z moonset +2032-02-13T12:04:54.638Z sunrise +2032-02-13T13:30:39.951Z moonrise 2032-02-13T17:38:58.604Z Sun culminates 48.09 degrees above the horizon 2032-02-13T19:47:45.409Z Moon culminates 64.31 degrees above the horizon -2032-02-13T23:13:24.139Z sunset -2032-02-14T02:10:41.891Z moonset -2032-02-14T12:04:06.509Z sunrise -2032-02-14T14:11:58.319Z moonrise +2032-02-13T23:13:24.182Z sunset +2032-02-14T02:10:41.894Z moonset +2032-02-14T12:04:06.529Z sunrise +2032-02-14T14:11:58.320Z moonrise 2032-02-14T17:38:56.889Z Sun culminates 48.42 degrees above the horizon 2032-02-14T20:40:09.380Z Moon culminates 69.27 degrees above the horizon -2032-02-14T23:14:09.030Z sunset -2032-02-15T03:13:52.954Z moonset -2032-02-15T12:03:17.307Z sunrise -2032-02-15T14:53:30.972Z moonrise +2032-02-14T23:14:09.075Z sunset +2032-02-15T03:13:52.971Z moonset +2032-02-15T12:03:17.326Z sunrise +2032-02-15T14:53:30.960Z moonrise 2032-02-15T17:38:54.426Z Sun culminates 48.77 degrees above the horizon 2032-02-15T21:31:49.509Z Moon culminates 73.58 degrees above the horizon -2032-02-15T23:14:53.515Z sunset -2032-02-16T04:15:02.637Z moonset +2032-02-15T23:14:53.564Z sunset +2032-02-16T04:15:02.682Z moonset 2032-02-16T05:08:21.902Z Venus moves from Sagittarius to Capricornus -2032-02-16T12:02:27.035Z sunrise -2032-02-16T15:36:08.443Z moonrise +2032-02-16T12:02:27.052Z sunrise +2032-02-16T15:36:08.407Z moonrise 2032-02-16T17:00:16.361Z Mars moves from Pisces to Cetus 2032-02-16T17:38:51.227Z Sun culminates 49.11 degrees above the horizon 2032-02-16T22:23:04.461Z Moon culminates 77.02 degrees above the horizon -2032-02-16T23:15:37.589Z sunset -2032-02-17T05:13:57.409Z moonset +2032-02-16T23:15:37.641Z sunset +2032-02-17T05:13:57.487Z moonset 2032-02-17T10:59:28.941Z Mars moves from Cetus to Pisces -2032-02-17T12:01:35.718Z sunrise -2032-02-17T16:20:26.873Z moonrise +2032-02-17T12:01:35.734Z sunrise +2032-02-17T16:20:26.809Z moonrise 2032-02-17T17:38:47.299Z Sun culminates 49.46 degrees above the horizon 2032-02-17T23:13:59.615Z Moon culminates 79.48 degrees above the horizon -2032-02-17T23:16:21.246Z sunset +2032-02-17T23:16:21.301Z sunset 2032-02-18T03:29:32.861Z first quarter -2032-02-18T06:10:13.846Z moonset -2032-02-18T12:00:43.385Z sunrise -2032-02-18T17:06:44.392Z moonrise +2032-02-18T06:10:13.950Z moonset +2032-02-18T12:00:43.398Z sunrise +2032-02-18T17:06:44.304Z moonrise 2032-02-18T17:38:42.657Z Sun culminates 49.81 degrees above the horizon -2032-02-18T23:17:04.484Z sunset +2032-02-18T23:17:04.541Z sunset 2032-02-19T00:04:27.309Z Moon culminates 80.90 degrees above the horizon -2032-02-19T07:03:24.195Z moonset -2032-02-19T11:59:50.062Z sunrise +2032-02-19T07:03:24.311Z moonset +2032-02-19T11:59:50.074Z sunrise 2032-02-19T17:38:37.312Z Sun culminates 50.17 degrees above the horizon -2032-02-19T17:54:59.499Z moonrise -2032-02-19T23:17:47.301Z sunset +2032-02-19T17:54:59.397Z moonrise +2032-02-19T23:17:47.361Z sunset 2032-02-20T00:54:10.855Z Moon culminates 81.26 degrees above the horizon -2032-02-20T07:53:05.565Z moonset -2032-02-20T11:58:55.777Z sunrise +2032-02-20T07:53:05.678Z moonset +2032-02-20T11:58:55.789Z sunrise 2032-02-20T17:38:31.280Z Sun culminates 50.52 degrees above the horizon -2032-02-20T18:44:53.304Z moonrise -2032-02-20T23:18:29.699Z sunset +2032-02-20T18:44:53.199Z moonrise +2032-02-20T23:18:29.762Z sunset 2032-02-21T01:42:50.981Z Moon culminates 80.63 degrees above the horizon -2032-02-21T08:39:08.057Z moonset -2032-02-21T11:58:00.562Z sunrise +2032-02-21T08:39:08.155Z moonset +2032-02-21T11:58:00.571Z sunrise 2032-02-21T17:38:24.576Z Sun culminates 50.89 degrees above the horizon -2032-02-21T19:35:56.105Z moonrise -2032-02-21T23:19:11.680Z sunset +2032-02-21T19:35:56.013Z moonrise +2032-02-21T23:19:11.745Z sunset 2032-02-22T02:30:12.480Z Moon culminates 79.06 degrees above the horizon -2032-02-22T09:21:38.411Z moonset -2032-02-22T11:57:04.444Z sunrise +2032-02-22T09:21:38.488Z moonset +2032-02-22T11:57:04.452Z sunrise 2032-02-22T17:38:17.218Z Sun culminates 51.25 degrees above the horizon -2032-02-22T20:27:36.450Z moonrise -2032-02-22T23:19:53.248Z sunset +2032-02-22T20:27:36.383Z moonrise +2032-02-22T23:19:53.316Z sunset 2032-02-23T03:16:08.992Z Moon culminates 76.69 degrees above the horizon -2032-02-23T10:00:58.810Z moonset -2032-02-23T11:56:07.454Z sunrise +2032-02-23T10:00:58.862Z moonset +2032-02-23T11:56:07.462Z sunrise 2032-02-23T17:38:09.223Z Sun culminates 51.61 degrees above the horizon 2032-02-23T18:42:34.460Z lunar apogee at 406280 km -2032-02-23T21:19:29.457Z moonrise -2032-02-23T23:20:34.411Z sunset +2032-02-23T21:19:29.419Z moonrise +2032-02-23T23:20:34.481Z sunset 2032-02-24T03:29:50.496Z Mercury moves from Aquarius to Pisces 2032-02-24T04:00:45.046Z Moon culminates 73.63 degrees above the horizon -2032-02-24T10:37:42.926Z moonset -2032-02-24T11:55:09.624Z sunrise +2032-02-24T10:37:42.957Z moonset +2032-02-24T11:55:09.631Z sunrise 2032-02-24T17:38:00.611Z Sun culminates 51.98 degrees above the horizon -2032-02-24T22:11:21.905Z moonrise -2032-02-24T23:21:15.175Z sunset +2032-02-24T22:11:21.891Z moonrise +2032-02-24T23:21:15.247Z sunset 2032-02-25T04:44:15.729Z Moon culminates 70.03 degrees above the horizon -2032-02-25T11:12:31.669Z moonset -2032-02-25T11:54:10.984Z sunrise +2032-02-25T11:12:31.687Z moonset +2032-02-25T11:54:10.990Z sunrise 2032-02-25T17:37:51.402Z Sun culminates 52.35 degrees above the horizon 2032-02-25T23:03:13.482Z moonrise -2032-02-25T23:21:55.549Z sunset +2032-02-25T23:21:55.623Z sunset 2032-02-26T05:27:04.967Z Moon culminates 66.03 degrees above the horizon 2032-02-26T07:43:48.044Z full moon -2032-02-26T11:46:10.147Z moonset -2032-02-26T11:53:11.566Z sunrise +2032-02-26T11:46:10.158Z moonset +2032-02-26T11:53:11.571Z sunrise 2032-02-26T17:37:41.616Z Sun culminates 52.73 degrees above the horizon -2032-02-26T23:22:35.544Z sunset -2032-02-26T23:55:15.087Z moonrise +2032-02-26T23:22:35.620Z sunset +2032-02-26T23:55:15.090Z moonrise 2032-02-27T06:09:43.396Z Moon culminates 61.80 degrees above the horizon -2032-02-27T11:52:11.401Z sunrise -2032-02-27T12:19:26.234Z moonset +2032-02-27T11:52:11.405Z sunrise +2032-02-27T12:19:26.244Z moonset 2032-02-27T16:15:49.915Z Mercury perihelion at 0.3075 AU 2032-02-27T17:37:31.273Z Sun culminates 53.10 degrees above the horizon -2032-02-27T23:23:15.170Z sunset -2032-02-28T00:47:45.421Z moonrise +2032-02-27T23:23:15.247Z sunset +2032-02-28T00:47:45.425Z moonrise 2032-02-28T06:52:46.323Z Moon culminates 57.49 degrees above the horizon -2032-02-28T11:51:10.521Z sunrise -2032-02-28T12:53:10.501Z moonset +2032-02-28T11:51:10.524Z sunrise +2032-02-28T12:53:10.507Z moonset 2032-02-28T17:37:20.396Z Sun culminates 53.48 degrees above the horizon -2032-02-28T23:23:54.437Z sunset -2032-02-29T01:41:06.568Z moonrise +2032-02-28T23:23:54.516Z sunset +2032-02-29T01:41:06.579Z moonrise 2032-02-29T07:36:51.717Z Moon culminates 53.28 degrees above the horizon -2032-02-29T11:50:08.955Z sunrise -2032-02-29T13:28:16.821Z moonset +2032-02-29T11:50:08.958Z sunrise +2032-02-29T13:28:16.819Z moonset 2032-02-29T17:37:09.006Z Sun culminates 53.86 degrees above the horizon 2032-02-29T21:46:28.865Z Mercury max evening elongation: 18.16 degrees from Sun -2032-02-29T23:24:33.357Z sunset -2032-03-01T02:35:38.494Z moonrise +2032-02-29T23:24:33.438Z sunset +2032-03-01T02:35:38.524Z moonrise 2032-03-01T08:22:37.639Z Moon culminates 49.37 degrees above the horizon -2032-03-01T11:49:06.736Z sunrise -2032-03-01T14:05:42.725Z moonset +2032-03-01T11:49:06.739Z sunrise +2032-03-01T14:05:42.704Z moonset 2032-03-01T17:36:57.122Z Sun culminates 54.24 degrees above the horizon -2032-03-01T23:25:11.941Z sunset -2032-03-02T03:31:32.046Z moonrise +2032-03-01T23:25:12.024Z sunset +2032-03-02T03:31:32.110Z moonrise 2032-03-02T09:10:38.216Z Moon culminates 45.94 degrees above the horizon -2032-03-02T11:48:03.894Z sunrise -2032-03-02T14:46:28.050Z moonset +2032-03-02T11:48:03.896Z sunrise +2032-03-02T14:46:28.000Z moonset 2032-03-02T17:36:44.767Z Sun culminates 54.62 degrees above the horizon -2032-03-02T23:25:50.201Z sunset -2032-03-03T04:28:40.701Z moonrise +2032-03-02T23:25:50.285Z sunset +2032-03-03T04:28:40.803Z moonrise 2032-03-03T10:01:17.446Z Moon culminates 43.22 degrees above the horizon -2032-03-03T11:47:00.459Z sunrise -2032-03-03T15:31:29.972Z moonset +2032-03-03T11:47:00.460Z sunrise +2032-03-03T15:31:29.887Z moonset 2032-03-03T17:36:31.960Z Sun culminates 55.00 degrees above the horizon -2032-03-03T23:26:28.146Z sunset -2032-03-04T05:26:33.325Z moonrise +2032-03-03T23:26:28.232Z sunset +2032-03-04T05:26:33.456Z moonrise 2032-03-04T10:54:41.223Z Moon culminates 41.45 degrees above the horizon -2032-03-04T11:45:56.459Z sunrise -2032-03-04T16:21:32.653Z moonset +2032-03-04T11:45:56.460Z sunrise +2032-03-04T16:21:32.537Z moonset 2032-03-04T17:36:18.721Z Sun culminates 55.39 degrees above the horizon -2032-03-04T23:27:05.787Z sunset +2032-03-04T23:27:05.874Z sunset 2032-03-05T01:47:32.268Z third quarter -2032-03-05T06:24:13.126Z moonrise +2032-03-05T06:24:13.264Z moonrise 2032-03-05T11:44:51.925Z sunrise 2032-03-05T11:50:30.370Z Moon culminates 40.82 degrees above the horizon -2032-03-05T17:16:52.285Z moonset +2032-03-05T17:16:52.152Z moonset 2032-03-05T17:36:05.069Z Sun culminates 55.78 degrees above the horizon -2032-03-05T23:27:43.133Z sunset -2032-03-06T07:20:28.166Z moonrise -2032-03-06T11:43:46.884Z sunrise +2032-03-05T23:27:43.221Z sunset +2032-03-06T07:20:28.289Z moonrise +2032-03-06T11:43:46.984Z sunrise 2032-03-06T12:47:59.918Z Moon culminates 41.49 degrees above the horizon 2032-03-06T17:35:51.022Z Sun culminates 56.16 degrees above the horizon -2032-03-06T18:17:04.031Z moonset -2032-03-06T23:28:20.192Z sunset -2032-03-07T08:14:12.618Z moonrise -2032-03-07T11:42:41.364Z sunrise +2032-03-06T18:17:03.904Z moonset +2032-03-06T23:28:20.281Z sunset +2032-03-07T08:14:12.709Z moonrise +2032-03-07T11:42:41.463Z sunrise 2032-03-07T13:46:08.881Z Moon culminates 43.51 degrees above the horizon 2032-03-07T17:35:36.600Z Sun culminates 56.55 degrees above the horizon -2032-03-07T19:21:01.903Z moonset -2032-03-07T23:28:56.972Z sunset -2032-03-08T09:04:48.270Z moonrise -2032-03-08T11:41:35.393Z sunrise +2032-03-07T19:21:01.807Z moonset +2032-03-07T23:28:57.063Z sunset +2032-03-08T09:04:48.323Z moonrise +2032-03-08T11:41:35.491Z sunrise 2032-03-08T14:43:58.285Z Moon culminates 46.78 degrees above the horizon 2032-03-08T17:35:21.818Z Sun culminates 56.94 degrees above the horizon -2032-03-08T20:27:17.096Z moonset -2032-03-08T23:29:33.482Z sunset -2032-03-09T09:52:14.134Z moonrise +2032-03-08T20:27:17.045Z moonset +2032-03-08T23:29:33.574Z sunset +2032-03-09T09:52:14.157Z moonrise 2032-03-09T09:57:43.933Z Venus moves from Capricornus to Aquarius -2032-03-09T11:40:28.996Z sunrise +2032-03-09T11:40:29.093Z sunrise 2032-03-09T15:40:48.120Z Moon culminates 51.09 degrees above the horizon 2032-03-09T17:35:06.693Z Sun culminates 57.34 degrees above the horizon -2032-03-09T21:34:25.241Z moonset -2032-03-09T23:30:09.728Z sunset +2032-03-09T21:34:25.227Z moonset +2032-03-09T23:30:09.820Z sunset 2032-03-10T06:52:24.528Z lunar perigee at 360009 km -2032-03-10T10:37:01.644Z moonrise -2032-03-10T11:39:22.201Z sunrise +2032-03-10T10:37:01.652Z moonrise +2032-03-10T11:39:22.297Z sunrise 2032-03-10T16:36:24.409Z Moon culminates 56.10 degrees above the horizon 2032-03-10T17:34:51.244Z Sun culminates 57.73 degrees above the horizon 2032-03-10T22:41:25.286Z moonset -2032-03-10T23:30:45.717Z sunset -2032-03-11T11:20:02.357Z moonrise -2032-03-11T11:38:15.031Z sunrise +2032-03-10T23:30:45.811Z sunset +2032-03-11T11:20:02.361Z moonrise +2032-03-11T11:38:15.127Z sunrise 2032-03-11T16:25:03.934Z new moon 2032-03-11T17:30:55.124Z Moon culminates 61.41 degrees above the horizon 2032-03-11T17:34:35.485Z Sun culminates 58.12 degrees above the horizon -2032-03-11T23:31:21.458Z sunset -2032-03-11T23:47:41.454Z moonset -2032-03-12T11:37:07.513Z sunrise -2032-03-12T12:02:15.681Z moonrise +2032-03-11T23:31:21.553Z sunset +2032-03-11T23:47:41.455Z moonset +2032-03-12T11:37:07.608Z sunrise +2032-03-12T12:02:15.684Z moonrise 2032-03-12T17:34:19.433Z Sun culminates 58.51 degrees above the horizon 2032-03-12T18:24:39.799Z Moon culminates 66.61 degrees above the horizon -2032-03-12T23:31:56.957Z sunset -2032-03-13T00:52:52.700Z moonset -2032-03-13T11:35:59.672Z sunrise -2032-03-13T12:44:39.616Z moonrise +2032-03-12T23:31:57.053Z sunset +2032-03-13T00:52:52.707Z moonset +2032-03-13T11:35:59.766Z sunrise +2032-03-13T12:44:39.611Z moonrise 2032-03-13T17:34:03.105Z Sun culminates 58.91 degrees above the horizon 2032-03-13T19:17:58.244Z Moon culminates 71.34 degrees above the horizon -2032-03-13T23:32:32.224Z sunset -2032-03-14T01:56:38.946Z moonset -2032-03-14T11:34:51.533Z sunrise -2032-03-14T13:28:03.925Z moonrise +2032-03-13T23:32:32.320Z sunset +2032-03-14T01:56:38.974Z moonset +2032-03-14T11:34:51.626Z sunrise +2032-03-14T13:28:03.902Z moonrise 2032-03-14T17:33:46.518Z Sun culminates 59.30 degrees above the horizon 2032-03-14T20:11:01.667Z Moon culminates 75.30 degrees above the horizon -2032-03-14T23:33:07.265Z sunset -2032-03-15T02:58:31.443Z moonset -2032-03-15T11:33:43.121Z sunrise -2032-03-15T14:13:04.437Z moonrise +2032-03-14T23:33:07.362Z sunset +2032-03-15T02:58:31.503Z moonset +2032-03-15T11:33:43.214Z sunrise +2032-03-15T14:13:04.388Z moonrise 2032-03-15T17:33:29.688Z Sun culminates 59.70 degrees above the horizon 2032-03-15T21:03:47.842Z Moon culminates 78.29 degrees above the horizon -2032-03-15T23:33:42.089Z sunset -2032-03-16T03:57:51.190Z moonset -2032-03-16T11:32:34.463Z sunrise -2032-03-16T14:59:58.426Z moonrise +2032-03-15T23:33:42.188Z sunset +2032-03-16T03:57:51.281Z moonset +2032-03-16T11:32:34.555Z sunrise +2032-03-16T14:59:58.350Z moonrise 2032-03-16T17:33:12.633Z Sun culminates 60.09 degrees above the horizon 2032-03-16T20:26:01.560Z Mars moves from Pisces to Aries 2032-03-16T21:56:01.242Z Moon culminates 80.20 degrees above the horizon -2032-03-16T23:34:16.707Z sunset +2032-03-16T23:34:16.806Z sunset 2032-03-17T01:05:29.449Z Mercury inferior conjunction -2032-03-17T04:53:55.771Z moonset -2032-03-17T11:31:25.585Z sunrise -2032-03-17T15:48:42.690Z moonrise +2032-03-17T04:53:55.880Z moonset +2032-03-17T11:31:25.677Z sunrise +2032-03-17T15:48:42.595Z moonrise 2032-03-17T17:32:55.372Z Sun culminates 60.49 degrees above the horizon 2032-03-17T22:47:18.090Z Moon culminates 81.00 degrees above the horizon -2032-03-17T23:34:51.126Z sunset -2032-03-18T05:46:10.966Z moonset -2032-03-18T11:30:16.515Z sunrise -2032-03-18T16:38:56.436Z moonrise +2032-03-17T23:34:51.127Z sunset +2032-03-18T05:46:11.077Z moonset +2032-03-18T11:30:16.605Z sunrise +2032-03-18T16:38:56.334Z moonrise 2032-03-18T17:32:37.923Z Sun culminates 60.88 degrees above the horizon 2032-03-18T20:57:15.534Z first quarter 2032-03-18T23:35:25.360Z sunset 2032-03-18T23:37:14.385Z Moon culminates 80.75 degrees above the horizon 2032-03-19T00:12:46.085Z Venus aphelion at 0.7282 AU -2032-03-19T06:34:20.833Z moonset -2032-03-19T11:29:07.279Z sunrise -2032-03-19T17:30:09.089Z moonrise +2032-03-19T06:34:20.934Z moonset +2032-03-19T11:29:07.369Z sunrise +2032-03-19T17:30:08.994Z moonrise 2032-03-19T17:32:20.307Z Sun culminates 61.28 degrees above the horizon -2032-03-19T23:35:59.418Z sunset +2032-03-19T23:35:59.419Z sunset 2032-03-20T00:25:33.560Z Moon culminates 79.52 degrees above the horizon 2032-03-20T01:21:49.319Z March equinox -2032-03-20T07:18:31.413Z moonset -2032-03-20T11:27:57.906Z sunrise +2032-03-20T07:18:31.496Z moonset +2032-03-20T11:27:57.996Z sunrise 2032-03-20T17:32:02.543Z Sun culminates 61.67 degrees above the horizon -2032-03-20T18:21:50.271Z moonrise +2032-03-20T18:21:50.197Z moonrise 2032-03-20T23:36:33.316Z sunset 2032-03-21T01:12:11.033Z Moon culminates 77.44 degrees above the horizon -2032-03-21T07:59:07.850Z moonset -2032-03-21T11:26:48.425Z sunrise +2032-03-21T07:59:07.909Z moonset +2032-03-21T11:26:48.513Z sunrise 2032-03-21T17:31:44.653Z Sun culminates 62.07 degrees above the horizon -2032-03-21T19:13:38.028Z moonrise -2032-03-21T23:37:07.065Z sunset +2032-03-21T19:13:37.981Z moonrise +2032-03-21T23:37:07.066Z sunset 2032-03-22T01:57:14.997Z Moon culminates 74.64 degrees above the horizon 2032-03-22T08:27:37.148Z lunar apogee at 405443 km -2032-03-22T08:36:48.265Z moonset -2032-03-22T11:25:38.864Z sunrise +2032-03-22T08:36:48.302Z moonset +2032-03-22T11:25:38.951Z sunrise 2032-03-22T17:31:26.658Z Sun culminates 62.46 degrees above the horizon -2032-03-22T20:05:23.001Z moonrise +2032-03-22T20:05:22.980Z moonrise 2032-03-22T23:37:40.683Z sunset 2032-03-23T02:41:04.664Z Moon culminates 71.26 degrees above the horizon -2032-03-23T09:12:17.879Z moonset -2032-03-23T11:24:29.252Z sunrise +2032-03-23T09:12:17.900Z moonset +2032-03-23T11:24:29.339Z sunrise 2032-03-23T17:31:08.582Z Sun culminates 62.86 degrees above the horizon -2032-03-23T20:57:08.616Z moonrise +2032-03-23T20:57:08.612Z moonrise 2032-03-23T23:38:14.184Z sunset 2032-03-24T03:24:07.513Z Moon culminates 67.43 degrees above the horizon -2032-03-24T09:46:25.128Z moonset -2032-03-24T11:23:19.620Z sunrise +2032-03-24T09:46:25.141Z moonset +2032-03-24T11:23:19.706Z sunrise 2032-03-24T17:30:50.447Z Sun culminates 63.25 degrees above the horizon -2032-03-24T21:49:08.630Z moonrise -2032-03-24T23:38:47.584Z sunset +2032-03-24T21:49:08.633Z moonrise +2032-03-24T23:38:47.585Z sunset 2032-03-25T04:06:56.617Z Moon culminates 63.29 degrees above the horizon -2032-03-25T10:19:59.925Z moonset -2032-03-25T11:22:09.998Z sunrise +2032-03-25T10:19:59.934Z moonset +2032-03-25T11:22:10.083Z sunrise 2032-03-25T17:30:32.278Z Sun culminates 63.64 degrees above the horizon -2032-03-25T22:41:43.309Z moonrise -2032-03-25T23:39:20.901Z sunset +2032-03-25T22:41:43.313Z moonrise +2032-03-25T23:39:20.903Z sunset 2032-03-26T04:50:08.360Z Moon culminates 59.00 degrees above the horizon -2032-03-26T10:53:53.462Z moonset -2032-03-26T11:21:00.415Z sunrise +2032-03-26T10:53:53.469Z moonset +2032-03-26T11:21:00.499Z sunrise 2032-03-26T17:30:14.096Z Sun culminates 64.03 degrees above the horizon -2032-03-26T23:35:14.770Z moonrise -2032-03-26T23:39:54.152Z sunset +2032-03-26T23:35:14.777Z moonrise +2032-03-26T23:39:54.154Z sunset 2032-03-27T00:46:50.245Z full moon 2032-03-27T05:34:20.253Z Moon culminates 54.73 degrees above the horizon -2032-03-27T11:19:50.902Z sunrise -2032-03-27T11:28:58.698Z moonset +2032-03-27T11:19:50.986Z sunrise +2032-03-27T11:28:58.700Z moonset 2032-03-27T17:29:55.927Z Sun culminates 64.42 degrees above the horizon 2032-03-27T17:36:42.682Z Mercury moves from Pisces to Aquarius -2032-03-27T23:40:27.355Z sunset -2032-03-28T00:30:01.344Z moonrise +2032-03-27T23:40:27.357Z sunset +2032-03-28T00:30:01.365Z moonrise 2032-03-28T06:20:08.223Z Moon culminates 50.68 degrees above the horizon -2032-03-28T11:18:41.489Z sunrise -2032-03-28T12:06:10.498Z moonset +2032-03-28T11:18:41.572Z sunrise +2032-03-28T12:06:10.485Z moonset 2032-03-28T17:29:37.795Z Sun culminates 64.81 degrees above the horizon -2032-03-28T23:41:00.525Z sunset -2032-03-29T01:26:10.617Z moonrise +2032-03-28T23:41:00.528Z sunset +2032-03-29T01:26:10.667Z moonrise 2032-03-29T07:08:02.546Z Moon culminates 47.06 degrees above the horizon -2032-03-29T11:17:32.207Z sunrise -2032-03-29T12:46:24.121Z moonset +2032-03-29T11:17:32.288Z sunrise +2032-03-29T12:46:24.081Z moonset 2032-03-29T17:29:19.721Z Sun culminates 65.20 degrees above the horizon -2032-03-29T23:41:33.680Z sunset -2032-03-30T02:23:31.647Z moonrise +2032-03-29T23:41:33.683Z sunset +2032-03-30T02:23:31.736Z moonrise 2032-03-30T07:58:22.026Z Moon culminates 44.10 degrees above the horizon -2032-03-30T11:16:23.084Z sunrise -2032-03-30T13:30:30.495Z moonset +2032-03-30T11:16:23.165Z sunrise +2032-03-30T13:30:30.422Z moonset 2032-03-30T17:29:01.729Z Sun culminates 65.59 degrees above the horizon -2032-03-30T23:42:06.834Z sunset -2032-03-31T03:21:28.908Z moonrise +2032-03-30T23:42:06.838Z sunset +2032-03-31T03:21:29.029Z moonrise 2032-03-31T08:51:07.214Z Moon culminates 42.04 degrees above the horizon -2032-03-31T11:15:14.151Z sunrise -2032-03-31T14:19:07.190Z moonset +2032-03-31T11:15:14.230Z sunrise +2032-03-31T14:19:07.085Z moonset 2032-03-31T17:28:43.841Z Sun culminates 65.98 degrees above the horizon -2032-03-31T23:42:40.003Z sunset +2032-03-31T23:42:40.008Z sunset 2032-04-01T00:04:21.370Z Venus moves from Aquarius to Pisces -2032-04-01T04:19:02.877Z moonrise +2032-04-01T04:19:03.013Z moonrise 2032-04-01T09:45:55.562Z Moon culminates 41.06 degrees above the horizon -2032-04-01T11:14:05.436Z sunrise -2032-04-01T15:12:26.357Z moonset +2032-04-01T11:14:05.514Z sunrise +2032-04-01T15:12:26.231Z moonset 2032-04-01T17:28:26.078Z Sun culminates 66.36 degrees above the horizon -2032-04-01T23:43:13.200Z sunset -2032-04-02T05:15:01.702Z moonrise +2032-04-01T23:43:13.205Z sunset +2032-04-02T05:15:01.830Z moonrise 2032-04-02T10:42:02.967Z Moon culminates 41.32 degrees above the horizon -2032-04-02T11:12:56.968Z sunrise -2032-04-02T16:10:05.430Z moonset +2032-04-02T11:12:57.044Z sunrise +2032-04-02T16:10:05.303Z moonset 2032-04-02T17:28:08.461Z Sun culminates 66.74 degrees above the horizon -2032-04-02T23:43:46.437Z sunset -2032-04-03T06:08:21.961Z moonrise +2032-04-02T23:43:46.443Z sunset +2032-04-03T06:08:22.063Z moonrise 2032-04-03T10:10:45.239Z third quarter -2032-04-03T11:11:48.774Z sunrise +2032-04-03T11:11:48.849Z sunrise 2032-04-03T11:38:34.312Z Moon culminates 42.85 degrees above the horizon -2032-04-03T17:11:09.023Z moonset +2032-04-03T17:11:08.919Z moonset 2032-04-03T17:27:51.010Z Sun culminates 67.13 degrees above the horizon -2032-04-03T23:44:19.724Z sunset -2032-04-04T06:58:28.280Z moonrise -2032-04-04T11:10:40.883Z sunrise +2032-04-03T23:44:19.731Z sunset +2032-04-04T06:58:28.347Z moonrise +2032-04-04T11:10:40.956Z sunrise 2032-04-04T12:28:06.883Z Neptune conjunction 2032-04-04T12:34:39.754Z Moon culminates 45.58 degrees above the horizon 2032-04-04T17:27:33.741Z Sun culminates 67.51 degrees above the horizon -2032-04-04T18:14:25.090Z moonset -2032-04-04T23:44:53.070Z sunset -2032-04-05T07:45:21.308Z moonrise -2032-04-05T11:09:33.321Z sunrise +2032-04-04T18:14:25.025Z moonset +2032-04-04T23:44:53.079Z sunset +2032-04-05T07:45:21.342Z moonrise +2032-04-05T11:09:33.392Z sunrise 2032-04-05T13:29:48.619Z Moon culminates 49.36 degrees above the horizon 2032-04-05T17:27:16.674Z Sun culminates 67.89 degrees above the horizon -2032-04-05T19:18:47.101Z moonset -2032-04-05T23:45:26.485Z sunset -2032-04-06T08:29:32.754Z moonrise -2032-04-06T11:08:26.114Z sunrise +2032-04-05T19:18:47.076Z moonset +2032-04-05T23:45:26.494Z sunset +2032-04-06T08:29:32.767Z moonrise +2032-04-06T11:08:26.183Z sunrise 2032-04-06T14:23:54.509Z Moon culminates 53.92 degrees above the horizon 2032-04-06T17:26:59.824Z Sun culminates 68.26 degrees above the horizon -2032-04-06T20:23:29.096Z moonset -2032-04-06T23:45:59.974Z sunset +2032-04-06T20:23:29.092Z moonset +2032-04-06T23:45:59.984Z sunset 2032-04-07T06:59:54.965Z lunar perigee at 365104 km -2032-04-07T09:11:54.118Z moonrise -2032-04-07T11:07:19.287Z sunrise +2032-04-07T09:11:54.124Z moonrise +2032-04-07T11:07:19.353Z sunrise 2032-04-07T15:17:11.360Z Moon culminates 58.95 degrees above the horizon 2032-04-07T17:26:43.208Z Sun culminates 68.64 degrees above the horizon -2032-04-07T21:28:07.169Z moonset -2032-04-07T23:46:33.543Z sunset -2032-04-08T09:53:25.749Z moonrise -2032-04-08T11:06:12.864Z sunrise +2032-04-07T21:28:07.170Z moonset +2032-04-07T23:46:33.555Z sunset +2032-04-08T09:53:25.753Z moonrise +2032-04-08T11:06:12.929Z sunrise 2032-04-08T16:10:04.305Z Moon culminates 64.10 degrees above the horizon 2032-04-08T17:26:26.839Z Sun culminates 69.01 degrees above the horizon -2032-04-08T22:32:30.127Z moonset -2032-04-08T23:47:07.198Z sunset +2032-04-08T22:32:30.129Z moonset +2032-04-08T23:47:07.211Z sunset 2032-04-09T10:35:08.557Z moonrise -2032-04-09T11:05:06.870Z sunrise +2032-04-09T11:05:06.933Z sunrise 2032-04-09T17:02:59.077Z Moon culminates 69.01 degrees above the horizon 2032-04-09T17:26:10.732Z Sun culminates 69.38 degrees above the horizon -2032-04-09T23:36:25.689Z moonset -2032-04-09T23:47:40.942Z sunset +2032-04-09T23:36:25.704Z moonset +2032-04-09T23:47:40.957Z sunset 2032-04-10T02:39:58.142Z new moon 2032-04-10T06:52:57.661Z Venus moves from Pisces to Cetus -2032-04-10T11:04:01.329Z sunrise -2032-04-10T11:17:57.465Z moonrise +2032-04-10T11:04:01.389Z sunrise +2032-04-10T11:17:57.453Z moonrise 2032-04-10T17:25:54.900Z Sun culminates 69.75 degrees above the horizon 2032-04-10T17:56:12.230Z Moon culminates 73.36 degrees above the horizon -2032-04-10T23:48:14.778Z sunset -2032-04-11T00:39:28.246Z moonset -2032-04-11T11:02:56.262Z sunrise -2032-04-11T12:02:34.940Z moonrise +2032-04-10T23:48:14.795Z sunset +2032-04-11T00:39:28.288Z moonset +2032-04-11T11:02:56.320Z sunrise +2032-04-11T12:02:34.905Z moonrise 2032-04-11T15:53:11.631Z Mercury aphelion at 0.4667 AU 2032-04-11T17:25:39.357Z Sun culminates 70.11 degrees above the horizon 2032-04-11T18:49:43.829Z Moon culminates 76.86 degrees above the horizon -2032-04-11T23:48:48.709Z sunset -2032-04-12T01:40:53.347Z moonset -2032-04-12T11:01:51.695Z sunrise -2032-04-12T12:49:24.238Z moonrise +2032-04-11T23:48:48.728Z sunset +2032-04-12T01:40:53.422Z moonset +2032-04-12T11:01:51.749Z sunrise +2032-04-12T12:49:24.175Z moonrise 2032-04-12T17:15:48.426Z Jupiter moves from Sagittarius to Capricornus 2032-04-12T17:25:24.114Z Sun culminates 70.48 degrees above the horizon 2032-04-12T19:43:14.857Z Moon culminates 79.32 degrees above the horizon -2032-04-12T23:49:22.736Z sunset -2032-04-13T02:39:42.647Z moonset +2032-04-12T23:49:22.757Z sunset +2032-04-13T02:39:42.746Z moonset 2032-04-13T06:05:16.883Z Venus moves from Cetus to Pisces -2032-04-13T11:00:47.649Z sunrise -2032-04-13T13:38:24.473Z moonrise +2032-04-13T11:00:47.700Z sunrise +2032-04-13T13:38:24.387Z moonrise 2032-04-13T17:25:09.184Z Sun culminates 70.84 degrees above the horizon 2032-04-13T20:36:11.319Z Moon culminates 80.65 degrees above the horizon 2032-04-13T20:41:24.056Z Mercury max morning elongation: 27.65 degrees from Sun -2032-04-13T23:49:56.861Z sunset -2032-04-14T03:34:58.590Z moonset +2032-04-13T23:49:56.884Z sunset +2032-04-14T03:34:58.699Z moonset 2032-04-14T04:52:31.523Z Mercury moves from Aquarius to Pisces -2032-04-14T10:59:44.149Z sunrise -2032-04-14T14:29:11.266Z moonrise +2032-04-14T10:59:44.197Z sunrise +2032-04-14T14:29:11.167Z moonrise 2032-04-14T17:24:54.580Z Sun culminates 71.20 degrees above the horizon 2032-04-14T21:27:54.479Z Moon culminates 80.85 degrees above the horizon -2032-04-14T23:50:31.085Z sunset -2032-04-15T04:26:01.642Z moonset -2032-04-15T10:58:41.218Z sunrise -2032-04-15T15:21:05.101Z moonrise +2032-04-14T23:50:31.110Z sunset +2032-04-15T04:26:01.747Z moonset +2032-04-15T10:58:41.263Z sunrise +2032-04-15T15:21:05.003Z moonrise 2032-04-15T17:24:40.314Z Sun culminates 71.55 degrees above the horizon 2032-04-15T22:17:52.957Z Moon culminates 80.01 degrees above the horizon -2032-04-15T23:51:05.408Z sunset -2032-04-16T05:12:40.683Z moonset -2032-04-16T10:57:38.881Z sunrise -2032-04-16T16:13:24.692Z moonrise +2032-04-15T23:51:05.437Z sunset +2032-04-16T05:12:40.771Z moonset +2032-04-16T10:57:38.923Z sunrise +2032-04-16T16:13:24.609Z moonrise 2032-04-16T17:24:26.400Z Sun culminates 71.91 degrees above the horizon 2032-04-16T23:05:51.270Z Moon culminates 78.24 degrees above the horizon -2032-04-16T23:51:39.833Z sunset -2032-04-17T05:55:12.588Z moonset -2032-04-17T10:56:37.163Z sunrise +2032-04-16T23:51:39.864Z sunset +2032-04-17T05:55:12.654Z moonset +2032-04-17T10:56:37.202Z sunrise 2032-04-17T15:25:00.719Z first quarter -2032-04-17T17:05:39.180Z moonrise +2032-04-17T17:05:39.123Z moonrise 2032-04-17T17:24:12.850Z Sun culminates 72.26 degrees above the horizon 2032-04-17T23:51:52.230Z Moon culminates 75.71 degrees above the horizon -2032-04-17T23:52:14.362Z sunset -2032-04-18T06:34:14.517Z moonset -2032-04-18T10:55:36.089Z sunrise +2032-04-17T23:52:14.396Z sunset +2032-04-18T06:34:14.561Z moonset +2032-04-18T10:55:36.124Z sunrise 2032-04-18T17:23:59.678Z Sun culminates 72.60 degrees above the horizon -2032-04-18T17:57:34.606Z moonrise -2032-04-18T23:52:48.996Z sunset +2032-04-18T17:57:34.577Z moonrise +2032-04-18T23:52:49.032Z sunset 2032-04-19T00:36:14.535Z Moon culminates 72.54 degrees above the horizon 2032-04-19T03:03:19.084Z lunar apogee at 404534 km -2032-04-19T07:10:34.919Z moonset -2032-04-19T10:54:35.684Z sunrise +2032-04-19T07:10:34.945Z moonset +2032-04-19T10:54:35.715Z sunrise 2032-04-19T17:23:46.898Z Sun culminates 72.95 degrees above the horizon -2032-04-19T18:49:14.317Z moonrise -2032-04-19T23:53:23.738Z sunset +2032-04-19T18:49:14.308Z moonrise +2032-04-19T23:53:23.777Z sunset 2032-04-20T01:19:28.445Z Moon culminates 68.89 degrees above the horizon -2032-04-20T07:45:07.042Z moonset +2032-04-20T07:45:07.057Z moonset 2032-04-20T08:49:54.442Z Mars moves from Aries to Taurus -2032-04-20T10:53:35.975Z sunrise +2032-04-20T10:53:36.002Z sunrise 2032-04-20T17:23:34.526Z Sun culminates 73.29 degrees above the horizon -2032-04-20T19:40:55.626Z moonrise -2032-04-20T23:53:58.590Z sunset +2032-04-20T19:40:55.627Z moonrise +2032-04-20T23:53:58.633Z sunset 2032-04-21T02:02:11.663Z Moon culminates 64.88 degrees above the horizon -2032-04-21T08:18:45.696Z moonset -2032-04-21T10:52:36.988Z sunrise +2032-04-21T08:18:45.706Z moonset +2032-04-21T10:52:37.011Z sunrise 2032-04-21T17:23:22.575Z Sun culminates 73.63 degrees above the horizon -2032-04-21T20:33:04.913Z moonrise -2032-04-21T23:54:33.556Z sunset +2032-04-21T20:33:04.917Z moonrise +2032-04-21T23:54:33.602Z sunset 2032-04-22T02:08:30.867Z Mercury moves from Pisces to Cetus 2032-04-22T02:45:06.113Z Moon culminates 60.66 degrees above the horizon -2032-04-22T08:52:26.473Z moonset -2032-04-22T10:51:38.750Z sunrise +2032-04-22T08:52:26.481Z moonset +2032-04-22T10:51:38.769Z sunrise 2032-04-22T17:23:11.060Z Sun culminates 73.96 degrees above the horizon -2032-04-22T21:26:12.135Z moonrise -2032-04-22T23:55:08.640Z sunset +2032-04-22T21:26:12.140Z moonrise +2032-04-22T23:55:08.689Z sunset 2032-04-23T03:28:55.326Z Moon culminates 56.37 degrees above the horizon -2032-04-23T09:27:06.226Z moonset -2032-04-23T10:50:41.288Z sunrise +2032-04-23T09:27:06.231Z moonset +2032-04-23T10:50:41.303Z sunrise 2032-04-23T17:22:59.998Z Sun culminates 74.29 degrees above the horizon -2032-04-23T22:20:44.530Z moonrise -2032-04-23T23:55:43.843Z sunset +2032-04-23T22:20:44.544Z moonrise +2032-04-23T23:55:43.896Z sunset 2032-04-24T04:14:21.552Z Moon culminates 52.20 degrees above the horizon -2032-04-24T10:03:43.568Z moonset -2032-04-24T10:49:44.629Z sunrise +2032-04-24T10:03:43.561Z moonset +2032-04-24T10:49:44.640Z sunrise 2032-04-24T17:22:49.402Z Sun culminates 74.62 degrees above the horizon -2032-04-24T23:16:58.796Z moonrise -2032-04-24T23:56:19.169Z sunset +2032-04-24T23:16:58.834Z moonrise +2032-04-24T23:56:19.226Z sunset 2032-04-25T05:02:01.483Z Moon culminates 48.36 degrees above the horizon -2032-04-25T10:43:17.846Z moonset -2032-04-25T10:48:48.801Z sunrise +2032-04-25T10:43:17.818Z moonset +2032-04-25T10:48:48.806Z sunrise 2032-04-25T15:10:10.774Z full moon 2032-04-25T15:13:29.907Z total lunar eclipse 2032-04-25T17:22:39.288Z Sun culminates 74.94 degrees above the horizon -2032-04-25T23:56:54.620Z sunset -2032-04-26T00:14:51.503Z moonrise +2032-04-25T23:56:54.681Z sunset +2032-04-26T00:14:51.577Z moonrise 2032-04-26T05:52:19.601Z Moon culminates 45.09 degrees above the horizon -2032-04-26T10:47:53.829Z sunrise -2032-04-26T11:26:44.622Z moonset +2032-04-26T10:47:53.830Z sunrise +2032-04-26T11:26:44.561Z moonset 2032-04-26T17:22:29.670Z Sun culminates 75.26 degrees above the horizon -2032-04-26T23:57:30.198Z sunset -2032-04-27T01:13:49.894Z moonrise +2032-04-26T23:57:30.262Z sunset +2032-04-27T01:13:50.005Z moonrise 2032-04-27T04:52:08.601Z Mercury moves from Cetus to Pisces 2032-04-27T06:45:19.533Z Moon culminates 42.66 degrees above the horizon -2032-04-27T10:46:59.742Z sunrise -2032-04-27T12:14:45.900Z moonset +2032-04-27T10:46:59.738Z sunrise +2032-04-27T12:14:45.805Z moonset 2032-04-27T17:22:20.561Z Sun culminates 75.58 degrees above the horizon -2032-04-27T23:58:05.902Z sunset -2032-04-28T02:12:49.076Z moonrise +2032-04-27T23:58:05.970Z sunset +2032-04-28T02:12:49.208Z moonrise 2032-04-28T07:40:36.727Z Moon culminates 41.29 degrees above the horizon -2032-04-28T10:46:06.564Z sunrise -2032-04-28T13:07:35.979Z moonset +2032-04-28T10:46:06.556Z sunrise +2032-04-28T13:07:35.858Z moonset 2032-04-28T17:22:11.975Z Sun culminates 75.89 degrees above the horizon -2032-04-28T23:58:41.731Z sunset -2032-04-29T03:10:23.044Z moonrise +2032-04-28T23:58:41.803Z sunset +2032-04-29T03:10:23.175Z moonrise 2032-04-29T08:37:18.679Z Moon culminates 41.15 degrees above the horizon -2032-04-29T10:45:14.323Z sunrise -2032-04-29T14:04:49.522Z moonset +2032-04-29T10:45:14.310Z sunrise +2032-04-29T14:04:49.394Z moonset 2032-04-29T17:22:03.922Z Sun culminates 76.20 degrees above the horizon 2032-04-29T18:58:32.812Z Venus moves from Pisces to Aries -2032-04-29T23:59:17.682Z sunset -2032-04-30T04:05:09.845Z moonrise +2032-04-29T23:59:17.758Z sunset +2032-04-30T04:05:09.955Z moonrise 2032-04-30T09:34:17.382Z Moon culminates 42.31 degrees above the horizon -2032-04-30T10:44:23.043Z sunrise -2032-04-30T15:05:22.832Z moonset +2032-04-30T10:44:23.025Z sunrise +2032-04-30T15:05:22.719Z moonset 2032-04-30T17:21:56.414Z Sun culminates 76.50 degrees above the horizon -2032-04-30T23:59:53.751Z sunset -2032-05-01T04:56:18.303Z moonrise +2032-04-30T23:59:53.831Z sunset +2032-05-01T04:56:18.380Z moonrise 2032-05-01T10:30:30.361Z Moon culminates 44.69 degrees above the horizon -2032-05-01T10:43:32.749Z sunrise -2032-05-01T16:07:53.268Z moonset +2032-05-01T10:43:32.726Z sunrise +2032-05-01T16:07:53.192Z moonset 2032-05-01T17:21:49.459Z Sun culminates 76.80 degrees above the horizon -2032-05-02T00:00:29.932Z sunset -2032-05-02T05:43:40.489Z moonrise -2032-05-02T10:42:43.465Z sunrise +2032-05-02T00:00:30.016Z sunset +2032-05-02T05:43:40.532Z moonrise +2032-05-02T10:42:43.437Z sunrise 2032-05-02T11:25:19.023Z Moon culminates 48.14 degrees above the horizon 2032-05-02T16:02:14.599Z third quarter -2032-05-02T17:11:06.736Z moonset +2032-05-02T17:11:06.701Z moonset 2032-05-02T17:21:43.066Z Sun culminates 77.10 degrees above the horizon -2032-05-03T00:01:06.215Z sunset -2032-05-03T06:27:46.464Z moonrise -2032-05-03T10:41:55.214Z sunrise +2032-05-03T00:01:06.304Z sunset +2032-05-03T06:27:46.483Z moonrise +2032-05-03T10:41:55.180Z sunrise 2032-05-03T12:18:35.373Z Moon culminates 52.38 degrees above the horizon 2032-05-03T17:21:37.241Z Sun culminates 77.39 degrees above the horizon -2032-05-03T18:14:16.419Z moonset +2032-05-03T18:14:16.410Z moonset 2032-05-03T20:44:13.969Z lunar perigee at 369498 km -2032-05-04T00:01:42.592Z sunset -2032-05-04T07:09:30.300Z moonrise -2032-05-04T10:41:08.016Z sunrise +2032-05-04T00:01:42.685Z sunset +2032-05-04T07:09:30.308Z moonrise +2032-05-04T10:41:07.978Z sunrise 2032-05-04T13:10:37.303Z Moon culminates 57.16 degrees above the horizon 2032-05-04T17:21:31.988Z Sun culminates 77.68 degrees above the horizon -2032-05-04T19:17:05.080Z moonset -2032-05-05T00:02:19.050Z sunset -2032-05-05T07:49:56.932Z moonrise -2032-05-05T10:40:21.894Z sunrise +2032-05-04T19:17:05.081Z moonset +2032-05-05T00:02:19.147Z sunset +2032-05-05T07:49:56.937Z moonrise +2032-05-05T10:40:21.850Z sunrise 2032-05-05T14:01:58.205Z Moon culminates 62.15 degrees above the horizon 2032-05-05T17:21:27.313Z Sun culminates 77.96 degrees above the horizon -2032-05-05T20:19:34.968Z moonset -2032-05-06T00:02:55.575Z sunset -2032-05-06T08:30:13.274Z moonrise -2032-05-06T10:39:36.865Z sunrise +2032-05-05T20:19:34.970Z moonset +2032-05-06T00:02:55.677Z sunset +2032-05-06T08:30:13.278Z moonrise +2032-05-06T10:39:36.816Z sunrise 2032-05-06T14:53:15.681Z Moon culminates 67.05 degrees above the horizon 2032-05-06T17:21:23.216Z Sun culminates 78.24 degrees above the horizon -2032-05-06T21:21:52.640Z moonset -2032-05-07T00:03:32.154Z sunset -2032-05-07T09:11:22.388Z moonrise -2032-05-07T10:38:52.947Z sunrise +2032-05-06T21:21:52.648Z moonset +2032-05-07T00:03:32.260Z sunset +2032-05-07T09:11:22.383Z moonrise +2032-05-07T10:38:52.893Z sunrise 2032-05-07T15:45:01.175Z Moon culminates 71.56 degrees above the horizon 2032-05-07T17:21:19.698Z Sun culminates 78.51 degrees above the horizon -2032-05-07T22:23:53.969Z moonset -2032-05-08T00:04:08.768Z sunset -2032-05-08T09:54:18.046Z moonrise -2032-05-08T10:38:10.157Z sunrise +2032-05-07T22:23:53.998Z moonset +2032-05-08T00:04:08.878Z sunset +2032-05-08T09:54:18.022Z moonrise +2032-05-08T10:38:10.098Z sunrise 2032-05-08T16:37:30.940Z Moon culminates 75.40 degrees above the horizon 2032-05-08T17:21:16.759Z Sun culminates 78.78 degrees above the horizon 2032-05-08T17:37:48.214Z Mercury moves from Pisces to Aries -2032-05-08T23:25:13.164Z moonset -2032-05-09T00:04:45.399Z sunset -2032-05-09T10:37:28.511Z sunrise -2032-05-09T10:39:37.893Z moonrise +2032-05-08T23:25:13.225Z moonset +2032-05-09T00:04:45.514Z sunset +2032-05-09T10:37:28.447Z sunrise +2032-05-09T10:39:37.843Z moonrise 2032-05-09T13:36:15.256Z new moon 2032-05-09T17:21:14.396Z Sun culminates 79.04 degrees above the horizon 2032-05-09T17:30:39.570Z Moon culminates 78.33 degrees above the horizon -2032-05-10T00:05:22.027Z sunset -2032-05-10T00:25:00.126Z moonset -2032-05-10T10:36:48.023Z sunrise -2032-05-10T11:27:35.747Z moonrise +2032-05-10T00:05:22.147Z sunset +2032-05-10T00:25:00.216Z moonset +2032-05-10T10:36:47.953Z sunrise +2032-05-10T11:27:35.671Z moonrise 2032-05-10T17:21:12.605Z Sun culminates 79.30 degrees above the horizon 2032-05-10T18:23:58.889Z Moon culminates 80.18 degrees above the horizon -2032-05-11T00:05:58.632Z sunset -2032-05-11T01:22:09.644Z moonset -2032-05-11T10:36:08.707Z sunrise -2032-05-11T12:17:56.816Z moonrise +2032-05-11T00:05:58.756Z sunset +2032-05-11T01:22:09.751Z moonset +2032-05-11T10:36:08.632Z sunrise +2032-05-11T12:17:56.721Z moonrise 2032-05-11T17:21:11.383Z Sun culminates 79.55 degrees above the horizon 2032-05-11T19:16:44.752Z Moon culminates 80.90 degrees above the horizon -2032-05-12T00:06:35.190Z sunset -2032-05-12T02:15:40.396Z moonset -2032-05-12T10:35:30.577Z sunrise -2032-05-12T13:10:01.013Z moonrise +2032-05-12T00:06:35.318Z sunset +2032-05-12T02:15:40.503Z moonset +2032-05-12T10:35:30.497Z sunrise +2032-05-12T13:10:00.913Z moonrise 2032-05-12T17:21:10.726Z Sun culminates 79.80 degrees above the horizon 2032-05-12T20:08:10.562Z Moon culminates 80.50 degrees above the horizon -2032-05-13T00:07:11.678Z sunset -2032-05-13T03:04:54.217Z moonset -2032-05-13T10:34:53.647Z sunrise -2032-05-13T14:02:55.878Z moonrise +2032-05-13T00:07:11.811Z sunset +2032-05-13T03:04:54.313Z moonset +2032-05-13T10:34:53.562Z sunrise +2032-05-13T14:02:55.787Z moonrise 2032-05-13T17:21:10.627Z Sun culminates 80.05 degrees above the horizon 2032-05-13T20:57:41.596Z Moon culminates 79.11 degrees above the horizon -2032-05-14T00:07:48.073Z sunset -2032-05-14T03:49:45.321Z moonset -2032-05-14T10:34:17.928Z sunrise -2032-05-14T14:55:53.638Z moonrise +2032-05-14T00:07:48.211Z sunset +2032-05-14T03:49:45.397Z moonset +2032-05-14T10:34:17.838Z sunrise +2032-05-14T14:55:53.569Z moonrise 2032-05-14T17:21:11.083Z Sun culminates 80.28 degrees above the horizon 2032-05-14T21:45:03.656Z Moon culminates 76.86 degrees above the horizon -2032-05-15T00:08:24.352Z sunset -2032-05-15T04:30:37.160Z moonset -2032-05-15T10:33:43.435Z sunrise -2032-05-15T15:48:24.087Z moonrise +2032-05-15T00:08:24.494Z sunset +2032-05-15T04:30:37.213Z moonset +2032-05-15T10:33:43.340Z sunrise +2032-05-15T15:48:24.046Z moonrise 2032-05-15T17:21:12.086Z Sun culminates 80.52 degrees above the horizon 2032-05-15T22:30:24.017Z Moon culminates 73.92 degrees above the horizon -2032-05-16T00:09:00.490Z sunset -2032-05-16T05:08:12.668Z moonset -2032-05-16T10:33:10.179Z sunrise -2032-05-16T16:40:19.123Z moonrise +2032-05-16T00:09:00.636Z sunset +2032-05-16T05:08:12.701Z moonset +2032-05-16T10:33:10.080Z sunrise +2032-05-16T16:40:19.107Z moonrise 2032-05-16T17:21:13.632Z Sun culminates 80.74 degrees above the horizon 2032-05-16T22:18:03.248Z lunar apogee at 404262 km 2032-05-16T23:14:07.292Z Moon culminates 70.45 degrees above the horizon -2032-05-17T00:09:36.464Z sunset -2032-05-17T05:43:24.713Z moonset +2032-05-17T00:09:36.614Z sunset +2032-05-17T05:43:24.731Z moonset 2032-05-17T09:43:59.342Z first quarter -2032-05-17T10:32:38.174Z sunrise +2032-05-17T10:32:38.070Z sunrise 2032-05-17T17:21:15.716Z Sun culminates 80.97 degrees above the horizon -2032-05-17T17:31:50.527Z moonrise +2032-05-17T17:31:50.525Z moonrise 2032-05-17T23:56:49.997Z Moon culminates 66.59 degrees above the horizon -2032-05-18T00:10:12.250Z sunset +2032-05-18T00:10:12.404Z sunset 2032-05-18T03:52:10.282Z Venus moves from Aries to Taurus -2032-05-18T06:17:10.097Z moonset -2032-05-18T10:32:07.432Z sunrise +2032-05-18T06:17:10.109Z moonset +2032-05-18T10:32:07.323Z sunrise 2032-05-18T17:21:18.332Z Sun culminates 81.18 degrees above the horizon -2032-05-18T18:23:24.663Z moonrise -2032-05-19T00:10:47.825Z sunset +2032-05-18T18:23:24.666Z moonrise +2032-05-19T00:10:47.983Z sunset 2032-05-19T00:39:16.054Z Moon culminates 62.47 degrees above the horizon 2032-05-19T03:49:45.820Z Mercury moves from Aries to Taurus -2032-05-19T06:50:27.207Z moonset -2032-05-19T10:31:37.965Z sunrise +2032-05-19T06:50:27.216Z moonset +2032-05-19T10:31:37.852Z sunrise 2032-05-19T17:21:21.474Z Sun culminates 81.39 degrees above the horizon -2032-05-19T19:15:36.478Z moonrise -2032-05-20T00:11:23.167Z sunset +2032-05-19T19:15:36.482Z moonrise +2032-05-20T00:11:23.329Z sunset 2032-05-20T01:22:13.582Z Moon culminates 58.22 degrees above the horizon -2032-05-20T07:24:16.040Z moonset -2032-05-20T10:31:09.785Z sunrise +2032-05-20T07:24:16.047Z moonset +2032-05-20T10:31:09.668Z sunrise 2032-05-20T17:21:25.138Z Sun culminates 81.60 degrees above the horizon -2032-05-20T20:09:03.172Z moonrise -2032-05-21T00:11:58.253Z sunset +2032-05-20T20:09:03.181Z moonrise +2032-05-21T00:11:58.419Z sunset 2032-05-21T02:06:32.164Z Moon culminates 54.00 degrees above the horizon -2032-05-21T07:59:39.155Z moonset -2032-05-21T10:30:42.905Z sunrise +2032-05-21T07:59:39.154Z moonset +2032-05-21T10:30:42.784Z sunrise 2032-05-21T17:21:29.318Z Sun culminates 81.80 degrees above the horizon -2032-05-21T21:04:16.590Z moonrise -2032-05-22T00:12:33.061Z sunset +2032-05-21T21:04:16.616Z moonrise +2032-05-22T00:12:33.231Z sunset 2032-05-22T02:52:59.238Z Moon culminates 50.00 degrees above the horizon -2032-05-22T08:37:41.962Z moonset -2032-05-22T10:30:17.337Z sunrise +2032-05-22T08:37:41.944Z moonset +2032-05-22T10:30:17.211Z sunrise 2032-05-22T17:21:34.009Z Sun culminates 81.99 degrees above the horizon -2032-05-22T22:01:33.127Z moonrise -2032-05-23T00:13:07.569Z sunset +2032-05-22T22:01:33.185Z moonrise +2032-05-23T00:13:07.743Z sunset 2032-05-23T03:42:14.016Z Moon culminates 46.43 degrees above the horizon 2032-05-23T05:54:13.922Z Mercury superior conjunction -2032-05-23T09:19:30.224Z moonset -2032-05-23T10:29:53.091Z sunrise +2032-05-23T09:19:30.178Z moonset +2032-05-23T10:29:52.961Z sunrise 2032-05-23T17:21:39.207Z Sun culminates 82.18 degrees above the horizon -2032-05-23T23:00:41.256Z moonrise -2032-05-24T00:13:41.755Z sunset +2032-05-23T23:00:41.353Z moonrise +2032-05-24T00:13:41.932Z sunset 2032-05-24T04:34:37.835Z Moon culminates 43.57 degrees above the horizon -2032-05-24T10:06:01.915Z moonset -2032-05-24T10:29:30.178Z sunrise +2032-05-24T10:06:01.834Z moonset +2032-05-24T10:29:30.044Z sunrise 2032-05-24T17:21:44.903Z Sun culminates 82.36 degrees above the horizon -2032-05-25T00:00:50.885Z moonrise -2032-05-25T00:14:15.595Z sunset +2032-05-25T00:00:51.011Z moonrise +2032-05-25T00:14:15.776Z sunset 2032-05-25T02:37:42.508Z full moon 2032-05-25T05:30:02.294Z Moon culminates 41.68 degrees above the horizon -2032-05-25T10:29:08.608Z sunrise -2032-05-25T10:57:51.569Z moonset +2032-05-25T10:29:08.471Z sunrise +2032-05-25T10:57:51.456Z moonset 2032-05-25T15:31:40.561Z Mercury perihelion at 0.3075 AU 2032-05-25T17:21:51.093Z Sun culminates 82.54 degrees above the horizon -2032-05-26T00:14:49.067Z sunset -2032-05-26T01:00:34.280Z moonrise +2032-05-26T00:14:49.252Z sunset +2032-05-26T01:00:34.415Z moonrise 2032-05-26T06:27:41.476Z Moon culminates 41.01 degrees above the horizon -2032-05-26T10:28:48.390Z sunrise -2032-05-26T11:54:50.860Z moonset +2032-05-26T10:28:48.249Z sunrise +2032-05-26T11:54:50.730Z moonset 2032-05-26T17:21:57.768Z Sun culminates 82.71 degrees above the horizon -2032-05-27T00:15:22.147Z sunset -2032-05-27T01:58:07.412Z moonrise +2032-05-27T00:15:22.335Z sunset +2032-05-27T01:58:07.532Z moonrise 2032-05-27T07:26:17.889Z Moon culminates 41.69 degrees above the horizon -2032-05-27T10:28:29.532Z sunrise -2032-05-27T12:55:58.759Z moonset +2032-05-27T10:28:29.388Z sunrise +2032-05-27T12:55:58.636Z moonset 2032-05-27T17:22:04.920Z Sun culminates 82.87 degrees above the horizon -2032-05-28T00:15:54.810Z sunset -2032-05-28T02:52:05.604Z moonrise +2032-05-28T00:15:55.001Z sunset +2032-05-28T02:52:05.693Z moonrise 2032-05-28T08:24:25.456Z Moon culminates 43.70 degrees above the horizon -2032-05-28T10:28:12.041Z sunrise -2032-05-28T13:59:35.947Z moonset +2032-05-28T10:28:11.893Z sunrise +2032-05-28T13:59:35.855Z moonset 2032-05-28T17:22:12.539Z Sun culminates 83.03 degrees above the horizon -2032-05-29T00:16:27.030Z sunset +2032-05-29T00:16:27.223Z sunset 2032-05-29T02:44:51.310Z lunar perigee at 367635 km -2032-05-29T03:41:51.174Z moonrise +2032-05-29T03:41:51.227Z moonrise 2032-05-29T09:20:58.117Z Moon culminates 46.88 degrees above the horizon -2032-05-29T10:27:55.922Z sunrise -2032-05-29T15:04:00.018Z moonset +2032-05-29T10:27:55.771Z sunrise +2032-05-29T15:03:59.970Z moonset 2032-05-29T17:22:20.615Z Sun culminates 83.18 degrees above the horizon -2032-05-30T00:16:58.778Z sunset -2032-05-30T04:27:37.029Z moonrise +2032-05-30T00:16:58.975Z sunset +2032-05-30T04:27:37.054Z moonrise 2032-05-30T10:15:26.832Z Moon culminates 50.96 degrees above the horizon -2032-05-30T10:27:41.181Z sunrise -2032-05-30T16:07:57.954Z moonset +2032-05-30T10:27:41.026Z sunrise +2032-05-30T16:07:57.939Z moonset 2032-05-30T17:22:29.134Z Sun culminates 83.32 degrees above the horizon -2032-05-31T00:17:30.028Z sunset -2032-05-31T05:10:11.870Z moonrise -2032-05-31T10:27:27.818Z sunrise +2032-05-31T00:17:30.228Z sunset +2032-05-31T05:10:11.880Z moonrise +2032-05-31T10:27:27.661Z sunrise 2032-05-31T11:07:58.873Z Moon culminates 55.62 degrees above the horizon -2032-05-31T17:10:57.336Z moonset +2032-05-31T17:10:57.335Z moonset 2032-05-31T17:22:38.085Z Sun culminates 83.46 degrees above the horizon 2032-05-31T20:51:39.329Z third quarter -2032-06-01T00:18:00.749Z sunset -2032-06-01T05:50:42.090Z moonrise -2032-06-01T10:27:15.835Z sunrise +2032-06-01T00:18:00.951Z sunset +2032-06-01T05:50:42.096Z moonrise +2032-06-01T10:27:15.675Z sunrise 2032-06-01T11:59:06.220Z Moon culminates 60.55 degrees above the horizon 2032-06-01T17:22:47.450Z Sun culminates 83.59 degrees above the horizon -2032-06-01T18:12:57.921Z moonset -2032-06-02T00:18:30.912Z sunset -2032-06-02T06:30:19.009Z moonrise +2032-06-01T18:12:57.922Z moonset +2032-06-02T00:18:31.116Z sunset +2032-06-02T06:30:19.013Z moonrise 2032-06-02T08:31:44.643Z Venus superior conjunction -2032-06-02T10:27:05.231Z sunrise +2032-06-02T10:27:05.068Z sunrise 2032-06-02T12:49:31.872Z Moon culminates 65.45 degrees above the horizon 2032-06-02T17:22:57.215Z Sun culminates 83.72 degrees above the horizon -2032-06-02T19:14:14.774Z moonset -2032-06-03T00:19:00.484Z sunset -2032-06-03T07:10:11.756Z moonrise -2032-06-03T10:26:56.000Z sunrise +2032-06-02T19:14:14.778Z moonset +2032-06-03T00:19:00.691Z sunset +2032-06-03T07:10:11.755Z moonrise +2032-06-03T10:26:55.835Z sunrise 2032-06-03T13:39:58.113Z Moon culminates 70.04 degrees above the horizon 2032-06-03T17:23:07.360Z Sun culminates 83.84 degrees above the horizon -2032-06-03T20:15:01.143Z moonset -2032-06-04T00:19:29.434Z sunset -2032-06-04T07:51:22.665Z moonrise -2032-06-04T10:26:48.138Z sunrise +2032-06-03T20:15:01.163Z moonset +2032-06-04T00:19:29.643Z sunset +2032-06-04T07:51:22.649Z moonrise +2032-06-04T10:26:47.971Z sunrise 2032-06-04T14:30:56.907Z Moon culminates 74.07 degrees above the horizon 2032-06-04T17:23:17.866Z Sun culminates 83.95 degrees above the horizon -2032-06-04T21:15:14.574Z moonset -2032-06-05T00:19:57.728Z sunset -2032-06-05T08:34:42.097Z moonrise -2032-06-05T10:26:41.636Z sunrise +2032-06-04T21:15:14.622Z moonset +2032-06-05T00:19:57.939Z sunset +2032-06-05T08:34:42.058Z moonrise +2032-06-05T10:26:41.467Z sunrise 2032-06-05T13:28:36.412Z Mercury moves from Taurus to Gemini 2032-06-05T15:22:42.067Z Moon culminates 77.31 degrees above the horizon 2032-06-05T17:23:28.711Z Sun culminates 84.06 degrees above the horizon -2032-06-05T22:14:28.735Z moonset -2032-06-06T00:20:25.331Z sunset -2032-06-06T09:20:41.358Z moonrise -2032-06-06T10:26:36.484Z sunrise +2032-06-05T22:14:28.815Z moonset +2032-06-06T00:20:25.544Z sunset +2032-06-06T09:20:41.292Z moonrise +2032-06-06T10:26:36.312Z sunrise 2032-06-06T16:15:04.360Z Moon culminates 79.58 degrees above the horizon 2032-06-06T17:23:39.872Z Sun culminates 84.16 degrees above the horizon -2032-06-06T23:11:54.359Z moonset -2032-06-07T00:20:52.209Z sunset -2032-06-07T10:09:25.280Z moonrise -2032-06-07T10:26:32.670Z sunrise +2032-06-06T23:11:54.462Z moonset +2032-06-07T00:20:52.425Z sunset +2032-06-07T10:09:25.191Z moonrise +2032-06-07T10:26:32.496Z sunrise 2032-06-07T17:07:32.372Z Moon culminates 80.77 degrees above the horizon 2032-06-07T17:23:51.326Z Sun culminates 84.25 degrees above the horizon -2032-06-08T00:06:31.262Z moonset -2032-06-08T00:21:18.327Z sunset +2032-06-08T00:06:31.372Z moonset +2032-06-08T00:21:18.544Z sunset 2032-06-08T01:32:40.473Z new moon -2032-06-08T10:26:30.180Z sunrise -2032-06-08T11:00:29.174Z moonrise +2032-06-08T10:26:30.004Z sunrise +2032-06-08T11:00:29.073Z moonrise 2032-06-08T17:24:03.047Z Sun culminates 84.33 degrees above the horizon 2032-06-08T17:59:21.058Z Moon culminates 80.84 degrees above the horizon -2032-06-09T00:21:43.648Z sunset -2032-06-09T00:57:27.425Z moonset -2032-06-09T10:26:28.999Z sunrise -2032-06-09T11:53:05.049Z moonrise +2032-06-09T00:21:43.866Z sunset +2032-06-09T00:57:27.528Z moonset +2032-06-09T10:26:28.822Z sunrise +2032-06-09T11:53:04.951Z moonrise 2032-06-09T17:24:15.010Z Sun culminates 84.41 degrees above the horizon 2032-06-09T18:49:45.771Z Moon culminates 79.87 degrees above the horizon -2032-06-10T00:22:08.137Z sunset -2032-06-10T01:44:15.383Z moonset -2032-06-10T10:26:29.112Z sunrise -2032-06-10T12:46:16.836Z moonrise +2032-06-10T00:22:08.357Z sunset +2032-06-10T01:44:15.469Z moonset +2032-06-10T10:26:28.933Z sunrise +2032-06-10T12:46:16.756Z moonrise 2032-06-10T17:24:27.189Z Sun culminates 84.49 degrees above the horizon 2032-06-10T19:38:15.607Z Moon culminates 77.96 degrees above the horizon -2032-06-11T00:22:31.758Z sunset -2032-06-11T02:26:57.918Z moonset -2032-06-11T10:26:30.501Z sunrise -2032-06-11T13:39:17.619Z moonrise +2032-06-11T00:22:31.979Z sunset +2032-06-11T02:26:57.980Z moonset +2032-06-11T10:26:30.321Z sunrise +2032-06-11T13:39:17.566Z moonrise 2032-06-11T17:24:39.558Z Sun culminates 84.55 degrees above the horizon 2032-06-11T20:24:40.487Z Moon culminates 75.29 degrees above the horizon -2032-06-12T00:22:54.478Z sunset -2032-06-12T03:06:03.279Z moonset -2032-06-12T10:26:33.149Z sunrise -2032-06-12T14:31:40.912Z moonrise +2032-06-12T00:22:54.700Z sunset +2032-06-12T03:06:03.320Z moonset +2032-06-12T10:26:32.968Z sunrise +2032-06-12T14:31:40.886Z moonrise 2032-06-12T16:40:15.943Z Mars moves from Taurus to Gemini 2032-06-12T17:24:52.092Z Sun culminates 84.61 degrees above the horizon 2032-06-12T21:09:11.091Z Moon culminates 72.02 degrees above the horizon -2032-06-13T00:23:16.262Z sunset -2032-06-13T03:42:15.970Z moonset -2032-06-13T10:26:37.038Z sunrise -2032-06-13T15:23:23.305Z moonrise +2032-06-13T00:23:16.485Z sunset +2032-06-13T03:42:15.994Z moonset +2032-06-13T10:26:36.855Z sunrise +2032-06-13T15:23:23.299Z moonrise 2032-06-13T16:27:01.920Z lunar apogee at 404831 km 2032-06-13T17:25:04.764Z Sun culminates 84.66 degrees above the horizon 2032-06-13T21:52:14.527Z Moon culminates 68.31 degrees above the horizon -2032-06-14T00:23:37.079Z sunset -2032-06-14T04:16:28.711Z moonset -2032-06-14T10:26:42.148Z sunrise -2032-06-14T16:14:41.052Z moonrise +2032-06-14T00:23:37.303Z sunset +2032-06-14T04:16:28.725Z moonset +2032-06-14T10:26:41.965Z sunrise +2032-06-14T16:14:41.054Z moonrise 2032-06-14T17:25:17.550Z Sun culminates 84.71 degrees above the horizon 2032-06-14T22:34:29.228Z Moon culminates 64.30 degrees above the horizon -2032-06-15T00:23:56.897Z sunset -2032-06-15T04:49:37.875Z moonset -2032-06-15T10:26:48.461Z sunrise -2032-06-15T17:06:03.620Z moonrise +2032-06-15T00:23:57.122Z sunset +2032-06-15T04:49:37.885Z moonset +2032-06-15T10:26:48.277Z sunrise +2032-06-15T17:06:04.325Z moonrise 2032-06-15T17:25:30.426Z Sun culminates 84.75 degrees above the horizon 2032-06-15T23:16:40.916Z Moon culminates 60.13 degrees above the horizon -2032-06-16T00:24:15.689Z sunset +2032-06-16T00:24:15.914Z sunset 2032-06-16T03:00:27.713Z first quarter -2032-06-16T05:22:42.133Z moonset -2032-06-16T10:26:55.958Z sunrise +2032-06-16T05:22:42.142Z moonset +2032-06-16T10:26:55.773Z sunrise 2032-06-16T17:25:43.367Z Sun culminates 84.78 degrees above the horizon -2032-06-16T17:58:11.129Z moonrise +2032-06-16T17:58:11.135Z moonrise 2032-06-16T23:59:39.765Z Moon culminates 55.93 degrees above the horizon -2032-06-17T00:24:33.426Z sunset +2032-06-17T00:24:33.652Z sunset 2032-06-17T04:26:15.664Z Saturn conjunction 2032-06-17T04:40:44.557Z Venus moves from Taurus to Gemini -2032-06-17T05:56:43.117Z moonset -2032-06-17T10:27:04.618Z sunrise +2032-06-17T05:56:43.121Z moonset +2032-06-17T10:27:04.433Z sunrise 2032-06-17T17:25:56.351Z Sun culminates 84.80 degrees above the horizon -2032-06-17T18:51:40.889Z moonrise -2032-06-18T00:24:50.083Z sunset +2032-06-17T18:51:40.905Z moonrise +2032-06-18T00:24:50.309Z sunset 2032-06-18T00:44:17.782Z Moon culminates 51.86 degrees above the horizon 2032-06-18T01:46:14.405Z Uranus conjunction -2032-06-18T06:32:46.645Z moonset -2032-06-18T10:27:14.423Z sunrise +2032-06-18T06:32:46.637Z moonset +2032-06-18T10:27:14.237Z sunrise 2032-06-18T17:26:09.356Z Sun culminates 84.82 degrees above the horizon -2032-06-18T19:47:06.260Z moonrise -2032-06-19T00:25:05.636Z sunset +2032-06-18T19:47:06.300Z moonrise +2032-06-19T00:25:05.862Z sunset 2032-06-19T01:31:24.803Z Moon culminates 48.10 degrees above the horizon -2032-06-19T07:12:02.756Z moonset -2032-06-19T10:27:25.352Z sunrise +2032-06-19T07:12:02.725Z moonset +2032-06-19T10:27:25.166Z sunrise 2032-06-19T17:26:22.361Z Sun culminates 84.83 degrees above the horizon -2032-06-19T20:44:41.871Z moonrise -2032-06-20T00:25:20.063Z sunset +2032-06-19T20:44:41.948Z moonrise +2032-06-20T00:25:20.289Z sunset 2032-06-20T02:21:41.232Z Moon culminates 44.89 degrees above the horizon -2032-06-20T07:55:41.883Z moonset -2032-06-20T10:27:37.386Z sunrise +2032-06-20T07:55:41.819Z moonset +2032-06-20T10:27:37.200Z sunrise 2032-06-20T17:26:35.344Z Sun culminates 84.83 degrees above the horizon 2032-06-20T19:08:39.587Z June solstice -2032-06-20T21:44:10.492Z moonrise -2032-06-21T00:25:33.343Z sunset +2032-06-20T21:44:10.606Z moonrise +2032-06-21T00:25:33.570Z sunset 2032-06-21T03:15:26.369Z Moon culminates 42.48 degrees above the horizon -2032-06-21T08:44:43.635Z moonset -2032-06-21T10:27:50.504Z sunrise +2032-06-21T08:44:43.537Z moonset +2032-06-21T10:27:50.318Z sunrise 2032-06-21T17:26:48.287Z Sun culminates 84.83 degrees above the horizon -2032-06-21T22:44:32.459Z moonrise -2032-06-22T00:25:45.458Z sunset +2032-06-21T22:44:32.593Z moonrise +2032-06-22T00:25:45.684Z sunset 2032-06-22T04:12:24.544Z Moon culminates 41.17 degrees above the horizon -2032-06-22T09:39:36.466Z moonset -2032-06-22T10:28:04.686Z sunrise +2032-06-22T09:39:36.341Z moonset +2032-06-22T10:28:04.499Z sunrise 2032-06-22T17:27:01.169Z Sun culminates 84.82 degrees above the horizon -2032-06-22T23:44:10.210Z moonrise -2032-06-23T00:25:56.388Z sunset +2032-06-22T23:44:10.340Z moonrise +2032-06-23T00:25:56.614Z sunset 2032-06-23T05:11:37.547Z Moon culminates 41.17 degrees above the horizon -2032-06-23T10:28:19.910Z sunrise -2032-06-23T10:39:54.957Z moonset +2032-06-23T10:28:19.723Z sunrise +2032-06-23T10:39:54.826Z moonset 2032-06-23T11:32:58.230Z full moon 2032-06-23T17:27:13.970Z Sun culminates 84.80 degrees above the horizon 2032-06-23T23:52:29.043Z Mercury moves from Gemini to Cancer -2032-06-24T00:26:06.118Z sunset -2032-06-24T00:41:16.046Z moonrise +2032-06-24T00:26:06.344Z sunset +2032-06-24T00:41:16.151Z moonrise 2032-06-24T06:11:34.877Z Moon culminates 42.60 degrees above the horizon -2032-06-24T10:28:36.154Z sunrise -2032-06-24T11:44:13.346Z moonset +2032-06-24T10:28:35.968Z sunrise +2032-06-24T11:44:13.236Z moonset 2032-06-24T17:27:26.673Z Sun culminates 84.78 degrees above the horizon -2032-06-25T00:26:14.630Z sunset -2032-06-25T01:34:31.403Z moonrise +2032-06-25T00:26:14.855Z sunset +2032-06-25T01:34:31.470Z moonrise 2032-06-25T07:10:42.956Z Moon culminates 45.36 degrees above the horizon -2032-06-25T10:28:53.398Z sunrise -2032-06-25T12:50:30.547Z moonset +2032-06-25T10:28:53.212Z sunrise +2032-06-25T12:50:30.479Z moonset 2032-06-25T14:50:29.023Z lunar perigee at 362643 km 2032-06-25T17:27:39.257Z Sun culminates 84.75 degrees above the horizon -2032-06-26T00:26:21.909Z sunset +2032-06-26T00:26:22.133Z sunset 2032-06-26T02:10:00.656Z Mercury max evening elongation: 25.37 degrees from Sun -2032-06-26T02:23:31.167Z moonrise +2032-06-26T02:23:31.201Z moonrise 2032-06-26T03:53:22.312Z Jupiter moves from Capricornus to Sagittarius 2032-06-26T08:07:56.445Z Moon culminates 49.21 degrees above the horizon -2032-06-26T10:29:11.616Z sunrise -2032-06-26T13:56:54.320Z moonset +2032-06-26T10:29:11.431Z sunrise +2032-06-26T13:56:54.293Z moonset 2032-06-26T17:27:51.702Z Sun culminates 84.71 degrees above the horizon -2032-06-27T00:26:27.939Z sunset -2032-06-27T03:08:40.681Z moonrise +2032-06-27T00:26:28.162Z sunset +2032-06-27T03:08:40.694Z moonrise 2032-06-27T09:02:52.425Z Moon culminates 53.81 degrees above the horizon -2032-06-27T10:29:30.787Z sunrise -2032-06-27T15:02:13.253Z moonset +2032-06-27T10:29:30.603Z sunrise +2032-06-27T15:02:13.249Z moonset 2032-06-27T17:28:03.991Z Sun culminates 84.67 degrees above the horizon -2032-06-28T00:26:32.705Z sunset -2032-06-28T03:50:56.907Z moonrise +2032-06-28T00:26:32.928Z sunset +2032-06-28T03:50:56.912Z moonrise 2032-06-28T09:55:44.858Z Moon culminates 58.79 degrees above the horizon -2032-06-28T10:29:50.886Z sunrise +2032-06-28T10:29:50.703Z sunrise 2032-06-28T15:07:51.467Z Saturn moves from Taurus to Orion -2032-06-28T16:06:01.062Z moonset +2032-06-28T16:06:01.063Z moonset 2032-06-28T17:28:16.102Z Sun culminates 84.62 degrees above the horizon -2032-06-29T00:26:36.193Z sunset -2032-06-29T04:31:29.926Z moonrise -2032-06-29T10:30:11.887Z sunrise +2032-06-29T00:26:36.415Z sunset +2032-06-29T04:31:29.931Z moonrise +2032-06-29T10:30:11.704Z sunrise 2032-06-29T10:47:09.712Z Moon culminates 63.81 degrees above the horizon -2032-06-29T17:08:21.842Z moonset +2032-06-29T17:08:21.844Z moonset 2032-06-29T17:28:28.016Z Sun culminates 84.56 degrees above the horizon -2032-06-30T00:26:38.390Z sunset +2032-06-30T00:26:38.610Z sunset 2032-06-30T02:12:14.357Z third quarter -2032-06-30T05:11:31.228Z moonrise -2032-06-30T10:30:33.762Z sunrise +2032-06-30T05:11:31.230Z moonrise +2032-06-30T10:30:33.580Z sunrise 2032-06-30T11:37:50.175Z Moon culminates 68.55 degrees above the horizon 2032-06-30T17:28:39.713Z Sun culminates 84.50 degrees above the horizon -2032-06-30T18:09:30.471Z moonset -2032-07-01T00:26:39.283Z sunset -2032-07-01T05:52:07.367Z moonrise -2032-07-01T10:30:56.482Z sunrise +2032-06-30T18:09:30.485Z moonset +2032-07-01T00:26:39.501Z sunset +2032-07-01T05:52:07.358Z moonrise +2032-07-01T10:30:56.302Z sunrise 2032-07-01T12:28:25.128Z Moon culminates 72.78 degrees above the horizon 2032-07-01T17:28:51.171Z Sun culminates 84.43 degrees above the horizon -2032-07-01T19:09:35.927Z moonset -2032-07-02T00:26:38.858Z sunset -2032-07-02T06:34:15.437Z moonrise -2032-07-02T10:31:20.017Z sunrise +2032-07-01T19:09:35.965Z moonset +2032-07-02T00:26:39.075Z sunset +2032-07-02T06:34:15.406Z moonrise +2032-07-02T10:31:19.839Z sunrise 2032-07-02T13:19:20.612Z Moon culminates 76.27 degrees above the horizon 2032-07-02T17:29:02.368Z Sun culminates 84.35 degrees above the horizon -2032-07-02T20:08:30.230Z moonset -2032-07-03T00:26:37.103Z sunset -2032-07-03T07:18:37.741Z moonrise -2032-07-03T10:31:44.335Z sunrise +2032-07-02T20:08:30.300Z moonset +2032-07-03T00:26:37.318Z sunset +2032-07-03T07:18:37.685Z moonrise +2032-07-03T10:31:44.158Z sunrise 2032-07-03T14:10:43.943Z Moon culminates 78.86 degrees above the horizon 2032-07-03T17:29:13.282Z Sun culminates 84.26 degrees above the horizon -2032-07-03T21:05:44.731Z moonset -2032-07-04T00:26:34.006Z sunset -2032-07-04T08:05:35.296Z moonrise -2032-07-04T10:32:09.403Z sunrise +2032-07-03T21:05:44.827Z moonset +2032-07-04T00:26:34.219Z sunset +2032-07-04T08:05:35.215Z moonrise +2032-07-04T10:32:09.227Z sunrise 2032-07-04T15:02:21.613Z Moon culminates 80.42 degrees above the horizon 2032-07-04T17:29:23.889Z Sun culminates 84.17 degrees above the horizon -2032-07-04T22:00:35.352Z moonset -2032-07-05T00:26:29.555Z sunset -2032-07-05T08:55:02.624Z moonrise -2032-07-05T10:32:35.186Z sunrise +2032-07-04T22:00:35.461Z moonset +2032-07-05T00:26:29.766Z sunset +2032-07-05T08:55:02.526Z moonrise +2032-07-05T10:32:35.012Z sunrise 2032-07-05T11:32:15.143Z Earth aphelion at 1.0167 AU 2032-07-05T15:53:42.834Z Moon culminates 80.92 degrees above the horizon 2032-07-05T17:29:34.168Z Sun culminates 84.07 degrees above the horizon -2032-07-05T22:52:15.798Z moonset -2032-07-06T00:26:23.738Z sunset -2032-07-06T09:46:28.288Z moonrise -2032-07-06T10:33:01.649Z sunrise +2032-07-05T22:52:15.905Z moonset +2032-07-06T00:26:23.948Z sunset +2032-07-06T09:46:28.188Z moonrise +2032-07-06T10:33:01.477Z sunrise 2032-07-06T16:44:08.957Z Moon culminates 80.35 degrees above the horizon 2032-07-06T17:29:44.095Z Sun culminates 83.97 degrees above the horizon -2032-07-06T23:40:12.981Z moonset -2032-07-07T00:26:16.544Z sunset -2032-07-07T10:33:28.757Z sunrise -2032-07-07T10:39:03.926Z moonrise +2032-07-06T23:40:13.075Z moonset +2032-07-07T00:26:16.752Z sunset +2032-07-07T10:33:28.587Z sunrise +2032-07-07T10:39:03.838Z moonrise 2032-07-07T14:42:04.563Z new moon 2032-07-07T17:29:53.646Z Sun culminates 83.86 degrees above the horizon 2032-07-07T17:33:05.583Z Moon culminates 78.82 degrees above the horizon -2032-07-08T00:24:17.056Z moonset -2032-07-08T00:26:07.965Z sunset -2032-07-08T10:33:56.474Z sunrise -2032-07-08T11:31:59.170Z moonrise +2032-07-08T00:24:17.128Z moonset +2032-07-08T00:26:08.170Z sunset +2032-07-08T10:33:56.306Z sunrise +2032-07-08T11:31:59.106Z moonrise 2032-07-08T15:09:02.023Z Mercury aphelion at 0.4667 AU 2032-07-08T17:30:02.799Z Sun culminates 83.74 degrees above the horizon 2032-07-08T18:20:12.312Z Moon culminates 76.46 degrees above the horizon -2032-07-09T00:25:57.989Z sunset -2032-07-09T01:04:42.425Z moonset +2032-07-09T00:25:58.192Z sunset +2032-07-09T01:04:42.475Z moonset 2032-07-09T07:24:34.900Z Venus perihelion at 0.7185 AU -2032-07-09T10:34:24.764Z sunrise -2032-07-09T12:24:35.629Z moonrise +2032-07-09T10:34:24.598Z sunrise +2032-07-09T12:24:35.593Z moonrise 2032-07-09T16:10:33.337Z Venus moves from Gemini to Cancer 2032-07-09T17:30:11.533Z Sun culminates 83.62 degrees above the horizon 2032-07-09T19:05:26.873Z Moon culminates 73.42 degrees above the horizon -2032-07-10T00:25:46.611Z sunset -2032-07-10T01:42:02.144Z moonset -2032-07-10T10:34:53.591Z sunrise -2032-07-10T13:16:34.512Z moonrise +2032-07-10T00:25:46.811Z sunset +2032-07-10T01:42:02.174Z moonset +2032-07-10T10:34:53.429Z sunrise +2032-07-10T13:16:34.498Z moonrise 2032-07-10T17:30:19.826Z Sun culminates 83.49 degrees above the horizon 2032-07-10T19:49:04.043Z Moon culminates 69.88 degrees above the horizon -2032-07-11T00:25:33.823Z sunset -2032-07-11T02:17:00.640Z moonset +2032-07-11T00:25:34.021Z sunset +2032-07-11T02:17:00.657Z moonset 2032-07-11T05:38:22.626Z Mars conjunction 2032-07-11T07:49:17.346Z lunar apogee at 405815 km -2032-07-11T10:35:22.922Z sunrise -2032-07-11T14:07:57.278Z moonrise +2032-07-11T10:35:22.762Z sunrise +2032-07-11T14:07:57.277Z moonrise 2032-07-11T17:30:27.658Z Sun culminates 83.35 degrees above the horizon 2032-07-11T20:31:31.943Z Moon culminates 65.99 degrees above the horizon -2032-07-12T00:25:19.621Z sunset -2032-07-12T02:50:28.227Z moonset -2032-07-12T10:35:52.721Z sunrise -2032-07-12T14:59:02.002Z moonrise +2032-07-12T00:25:19.816Z sunset +2032-07-12T02:50:28.238Z moonset +2032-07-12T10:35:52.564Z sunrise +2032-07-12T14:59:02.006Z moonrise 2032-07-12T17:30:35.011Z Sun culminates 83.21 degrees above the horizon 2032-07-12T21:13:28.111Z Moon culminates 61.91 degrees above the horizon -2032-07-13T00:25:04.003Z sunset -2032-07-13T03:23:18.441Z moonset -2032-07-13T10:36:22.956Z sunrise -2032-07-13T15:50:18.222Z moonrise +2032-07-13T00:25:04.195Z sunset +2032-07-13T03:23:18.450Z moonset +2032-07-13T10:36:22.802Z sunrise +2032-07-13T15:50:18.227Z moonrise 2032-07-13T17:30:41.867Z Sun culminates 83.06 degrees above the horizon 2032-07-13T21:55:36.462Z Moon culminates 57.76 degrees above the horizon -2032-07-14T00:24:46.967Z sunset -2032-07-14T03:56:27.720Z moonset -2032-07-14T10:36:53.594Z sunrise -2032-07-14T16:42:21.465Z moonrise +2032-07-14T00:24:47.156Z sunset +2032-07-14T03:56:27.728Z moonset +2032-07-14T10:36:53.443Z sunrise +2032-07-14T16:42:21.475Z moonrise 2032-07-14T17:30:48.212Z Sun culminates 82.90 degrees above the horizon 2032-07-14T22:38:44.984Z Moon culminates 53.69 degrees above the horizon -2032-07-15T00:24:28.514Z sunset +2032-07-15T00:24:28.700Z sunset 2032-07-15T04:30:56.419Z moonset -2032-07-15T10:37:24.605Z sunrise +2032-07-15T10:37:24.457Z sunrise 2032-07-15T17:30:54.031Z Sun culminates 82.74 degrees above the horizon -2032-07-15T17:35:47.078Z moonrise +2032-07-15T17:35:47.105Z moonrise 2032-07-15T18:32:37.544Z first quarter 2032-07-15T23:23:43.204Z Moon culminates 49.85 degrees above the horizon -2032-07-16T00:24:08.649Z sunset -2032-07-16T05:07:49.900Z moonset -2032-07-16T10:37:55.959Z sunrise +2032-07-16T00:24:08.832Z sunset +2032-07-16T05:07:49.882Z moonset +2032-07-16T10:37:55.815Z sunrise 2032-07-16T17:30:59.311Z Sun culminates 82.58 degrees above the horizon -2032-07-16T18:31:02.169Z moonrise +2032-07-16T18:31:02.227Z moonrise 2032-07-17T00:11:17.955Z Moon culminates 46.44 degrees above the horizon -2032-07-17T00:23:47.375Z sunset -2032-07-17T05:48:17.934Z moonset -2032-07-17T10:38:27.630Z sunrise +2032-07-17T00:23:47.555Z sunset +2032-07-17T05:48:17.889Z moonset +2032-07-17T10:38:27.489Z sunrise 2032-07-17T17:31:04.044Z Sun culminates 82.40 degrees above the horizon -2032-07-17T19:28:14.748Z moonrise -2032-07-18T00:23:24.701Z sunset +2032-07-17T19:28:14.843Z moonrise +2032-07-18T00:23:24.877Z sunset 2032-07-18T01:02:05.805Z Moon culminates 43.67 degrees above the horizon -2032-07-18T06:33:29.650Z moonset -2032-07-18T10:38:59.589Z sunrise +2032-07-18T06:33:29.570Z moonset +2032-07-18T10:38:59.452Z sunrise 2032-07-18T17:31:08.219Z Sun culminates 82.22 degrees above the horizon 2032-07-18T20:02:21.891Z Saturn moves from Orion to Gemini -2032-07-18T20:27:01.495Z moonrise -2032-07-19T00:23:00.634Z sunset +2032-07-18T20:27:01.619Z moonrise +2032-07-19T00:23:00.806Z sunset 2032-07-19T01:56:21.464Z Moon culminates 41.80 degrees above the horizon -2032-07-19T07:24:20.655Z moonset +2032-07-19T07:24:20.544Z moonset 2032-07-19T08:22:19.375Z Jupiter opposition -2032-07-19T10:39:31.813Z sunrise +2032-07-19T10:39:31.680Z sunrise 2032-07-19T17:31:11.830Z Sun culminates 82.04 degrees above the horizon -2032-07-19T21:26:20.569Z moonrise -2032-07-20T00:22:35.186Z sunset +2032-07-19T21:26:20.702Z moonrise +2032-07-20T00:22:35.354Z sunset 2032-07-20T02:53:45.058Z Moon culminates 41.10 degrees above the horizon -2032-07-20T08:21:11.650Z moonset -2032-07-20T10:40:04.277Z sunrise +2032-07-20T08:21:11.521Z moonset +2032-07-20T10:40:04.148Z sunrise 2032-07-20T17:31:14.870Z Sun culminates 81.85 degrees above the horizon -2032-07-20T22:24:39.979Z moonrise -2032-07-21T00:22:08.368Z sunset +2032-07-20T22:24:40.097Z moonrise +2032-07-21T00:22:08.533Z sunset 2032-07-21T03:53:16.889Z Moon culminates 41.75 degrees above the horizon -2032-07-21T09:23:27.263Z moonset -2032-07-21T10:40:36.959Z sunrise +2032-07-21T09:23:27.139Z moonset +2032-07-21T10:40:36.834Z sunrise 2032-07-21T17:31:17.335Z Sun culminates 81.65 degrees above the horizon -2032-07-21T23:20:25.782Z moonrise -2032-07-22T00:21:40.193Z sunset +2032-07-21T23:20:25.868Z moonrise +2032-07-22T00:21:40.354Z sunset 2032-07-22T04:53:29.701Z Moon culminates 43.81 degrees above the horizon -2032-07-22T10:29:34.199Z moonset -2032-07-22T10:41:09.837Z sunrise +2032-07-22T10:29:34.108Z moonset +2032-07-22T10:41:09.717Z sunrise 2032-07-22T17:31:19.221Z Sun culminates 81.45 degrees above the horizon 2032-07-22T18:51:58.159Z full moon -2032-07-23T00:12:36.195Z moonrise -2032-07-23T00:21:10.675Z sunset +2032-07-23T00:12:36.244Z moonrise +2032-07-23T00:21:10.832Z sunset 2032-07-23T05:52:57.145Z Moon culminates 47.17 degrees above the horizon -2032-07-23T10:41:42.892Z sunrise -2032-07-23T11:37:30.036Z moonset +2032-07-23T10:41:42.776Z sunrise +2032-07-23T11:37:29.990Z moonset 2032-07-23T17:24:45.639Z Mercury inferior conjunction 2032-07-23T17:31:20.525Z Sun culminates 81.24 degrees above the horizon 2032-07-23T18:44:49.013Z lunar perigee at 358592 km -2032-07-24T00:20:39.829Z sunset -2032-07-24T01:00:59.055Z moonrise +2032-07-24T00:20:39.982Z sunset +2032-07-24T01:00:59.075Z moonrise 2032-07-24T06:50:41.449Z Moon culminates 51.54 degrees above the horizon -2032-07-24T10:42:16.105Z sunrise -2032-07-24T12:45:25.893Z moonset +2032-07-24T10:42:15.993Z sunrise +2032-07-24T12:45:25.881Z moonset 2032-07-24T16:18:11.610Z Mars moves from Gemini to Cancer 2032-07-24T17:31:21.245Z Sun culminates 81.03 degrees above the horizon -2032-07-25T00:20:07.669Z sunset -2032-07-25T01:46:05.737Z moonrise +2032-07-25T00:20:07.818Z sunset +2032-07-25T01:46:05.744Z moonrise 2032-07-25T07:46:23.947Z Moon culminates 56.51 degrees above the horizon -2032-07-25T10:42:49.456Z sunrise +2032-07-25T10:42:49.348Z sunrise 2032-07-25T13:52:13.167Z moonset 2032-07-25T17:31:21.381Z Sun culminates 80.81 degrees above the horizon 2032-07-25T19:27:24.725Z Venus moves from Cancer to Leo -2032-07-26T00:19:34.211Z sunset -2032-07-26T02:28:53.451Z moonrise +2032-07-26T00:19:34.356Z sunset +2032-07-26T02:28:53.456Z moonrise 2032-07-26T08:40:18.043Z Moon culminates 61.70 degrees above the horizon -2032-07-26T10:43:22.929Z sunrise -2032-07-26T14:57:23.674Z moonset +2032-07-26T10:43:22.826Z sunrise +2032-07-26T14:57:23.676Z moonset 2032-07-26T17:31:20.930Z Sun culminates 80.59 degrees above the horizon -2032-07-27T00:18:59.471Z sunset -2032-07-27T03:10:29.011Z moonrise +2032-07-27T00:18:59.612Z sunset +2032-07-27T03:10:29.014Z moonrise 2032-07-27T09:32:54.643Z Moon culminates 66.71 degrees above the horizon -2032-07-27T10:43:56.505Z sunrise -2032-07-27T16:00:53.785Z moonset +2032-07-27T10:43:56.407Z sunrise +2032-07-27T16:00:53.792Z moonset 2032-07-27T17:31:19.894Z Sun culminates 80.36 degrees above the horizon -2032-07-28T00:18:23.466Z sunset -2032-07-28T03:51:58.373Z moonrise +2032-07-28T00:18:23.603Z sunset +2032-07-28T03:51:58.368Z moonrise 2032-07-28T10:24:48.204Z Moon culminates 71.24 degrees above the horizon -2032-07-28T10:44:30.169Z sunrise -2032-07-28T17:02:45.982Z moonset +2032-07-28T10:44:30.075Z sunrise +2032-07-28T17:02:46.008Z moonset 2032-07-28T17:31:18.271Z Sun culminates 80.12 degrees above the horizon 2032-07-28T20:57:31.028Z Mercury moves from Cancer to Gemini -2032-07-29T00:17:46.213Z sunset -2032-07-29T04:34:20.230Z moonrise +2032-07-29T00:17:46.346Z sunset +2032-07-29T04:34:20.208Z moonrise 2032-07-29T09:25:49.388Z third quarter -2032-07-29T10:45:03.901Z sunrise +2032-07-29T10:45:03.812Z sunrise 2032-07-29T11:16:26.212Z Moon culminates 75.05 degrees above the horizon 2032-07-29T17:31:16.061Z Sun culminates 79.88 degrees above the horizon -2032-07-29T18:02:55.038Z moonset -2032-07-30T00:17:07.729Z sunset -2032-07-30T05:18:20.826Z moonrise -2032-07-30T10:45:37.683Z sunrise +2032-07-29T18:02:55.095Z moonset +2032-07-30T00:17:07.858Z sunset +2032-07-30T05:18:20.780Z moonrise +2032-07-30T10:45:37.600Z sunrise 2032-07-30T12:08:02.316Z Moon culminates 77.96 degrees above the horizon 2032-07-30T17:31:13.263Z Sun culminates 79.64 degrees above the horizon -2032-07-30T19:01:01.568Z moonset -2032-07-31T00:16:28.031Z sunset -2032-07-31T06:04:28.689Z moonrise -2032-07-31T10:46:11.498Z sunrise +2032-07-30T19:01:01.655Z moonset +2032-07-31T00:16:28.155Z sunset +2032-07-31T06:04:28.617Z moonrise +2032-07-31T10:46:11.420Z sunrise 2032-07-31T12:59:33.398Z Moon culminates 79.87 degrees above the horizon 2032-07-31T17:31:09.877Z Sun culminates 79.39 degrees above the horizon -2032-07-31T19:56:33.882Z moonset -2032-08-01T00:15:47.135Z sunset -2032-08-01T06:52:50.198Z moonrise -2032-08-01T10:46:45.326Z sunrise +2032-07-31T19:56:33.986Z moonset +2032-08-01T00:15:47.255Z sunset +2032-08-01T06:52:50.107Z moonrise +2032-08-01T10:46:45.253Z sunrise 2032-08-01T13:50:41.237Z Moon culminates 80.72 degrees above the horizon 2032-08-01T17:31:05.902Z Sun culminates 79.14 degrees above the horizon -2032-08-01T20:48:56.894Z moonset -2032-08-02T00:15:05.059Z sunset -2032-08-02T07:43:08.685Z moonrise -2032-08-02T10:47:19.150Z sunrise +2032-08-01T20:48:57.002Z moonset +2032-08-02T00:15:05.174Z sunset +2032-08-02T07:43:08.586Z moonrise +2032-08-02T10:47:19.082Z sunrise 2032-08-02T14:40:58.697Z Moon culminates 80.53 degrees above the horizon 2032-08-02T17:31:01.336Z Sun culminates 78.88 degrees above the horizon -2032-08-02T21:37:43.856Z moonset -2032-08-03T00:14:21.818Z sunset -2032-08-03T08:34:49.476Z moonrise -2032-08-03T10:47:52.950Z sunrise +2032-08-02T21:37:43.955Z moonset +2032-08-03T00:14:21.929Z sunset +2032-08-03T08:34:49.384Z moonrise +2032-08-03T10:47:52.887Z sunrise 2032-08-03T15:29:58.558Z Moon culminates 79.35 degrees above the horizon 2032-08-03T17:30:56.179Z Sun culminates 78.61 degrees above the horizon -2032-08-03T22:22:45.228Z moonset -2032-08-04T00:13:37.429Z sunset -2032-08-04T09:27:10.403Z moonrise -2032-08-04T10:48:26.708Z sunrise +2032-08-03T22:22:45.307Z moonset +2032-08-04T00:13:37.535Z sunset +2032-08-04T09:27:10.330Z moonrise +2032-08-04T10:48:26.650Z sunrise 2032-08-04T16:17:21.769Z Moon culminates 77.31 degrees above the horizon 2032-08-04T17:30:50.430Z Sun culminates 78.34 degrees above the horizon -2032-08-04T23:04:11.268Z moonset -2032-08-05T00:12:51.908Z sunset -2032-08-05T10:19:33.763Z moonrise -2032-08-05T10:49:00.407Z sunrise +2032-08-04T23:04:11.325Z moonset +2032-08-05T00:12:52.010Z sunset +2032-08-05T10:19:33.717Z moonrise +2032-08-05T10:49:00.354Z sunrise 2032-08-05T17:03:02.384Z Moon culminates 74.54 degrees above the horizon 2032-08-05T17:30:44.087Z Sun culminates 78.07 degrees above the horizon 2032-08-05T21:56:02.807Z Pluto opposition -2032-08-05T23:42:28.997Z moonset -2032-08-06T00:12:05.271Z sunset +2032-08-05T23:42:29.033Z moonset +2032-08-06T00:12:05.369Z sunset 2032-08-06T05:12:03.049Z new moon -2032-08-06T10:49:34.028Z sunrise -2032-08-06T11:11:35.031Z moonrise +2032-08-06T10:49:33.981Z sunrise +2032-08-06T11:11:35.011Z moonrise 2032-08-06T17:30:37.151Z Sun culminates 77.79 degrees above the horizon 2032-08-06T17:47:08.478Z Moon culminates 71.20 degrees above the horizon -2032-08-07T00:11:17.536Z sunset -2032-08-07T00:18:16.721Z moonset -2032-08-07T10:50:07.556Z sunrise -2032-08-07T12:03:06.139Z moonrise +2032-08-07T00:11:17.630Z sunset +2032-08-07T00:18:16.742Z moonset +2032-08-07T10:50:07.514Z sunrise +2032-08-07T12:03:06.136Z moonrise 2032-08-07T14:11:51.632Z Mercury moves from Gemini to Cancer 2032-08-07T17:15:21.318Z lunar apogee at 406521 km 2032-08-07T17:30:29.623Z Sun culminates 77.51 degrees above the horizon 2032-08-07T18:30:00.222Z Moon culminates 67.46 degrees above the horizon -2032-08-08T00:10:28.720Z sunset -2032-08-08T00:52:19.079Z moonset -2032-08-08T10:50:40.974Z sunrise -2032-08-08T12:54:14.234Z moonrise +2032-08-08T00:10:28.809Z sunset +2032-08-08T00:52:19.092Z moonset +2032-08-08T10:50:40.937Z sunrise +2032-08-08T12:54:14.237Z moonrise 2032-08-08T17:30:21.502Z Sun culminates 77.23 degrees above the horizon 2032-08-08T19:12:06.928Z Moon culminates 63.46 degrees above the horizon -2032-08-09T00:09:38.840Z sunset -2032-08-09T01:25:24.052Z moonset -2032-08-09T10:51:14.269Z sunrise -2032-08-09T13:45:18.079Z moonrise +2032-08-09T00:09:38.925Z sunset +2032-08-09T01:25:24.062Z moonset +2032-08-09T10:51:14.237Z sunrise +2032-08-09T13:45:18.083Z moonrise 2032-08-09T17:30:12.793Z Sun culminates 76.93 degrees above the horizon 2032-08-09T19:54:04.337Z Moon culminates 59.35 degrees above the horizon -2032-08-10T00:08:47.915Z sunset -2032-08-10T01:58:21.998Z moonset -2032-08-10T10:51:47.428Z sunrise -2032-08-10T14:36:43.663Z moonrise +2032-08-10T00:08:47.997Z sunset +2032-08-10T01:58:22.007Z moonset +2032-08-10T10:51:47.401Z sunrise +2032-08-10T14:36:43.670Z moonrise 2032-08-10T17:30:03.497Z Sun culminates 76.64 degrees above the horizon 2032-08-10T20:36:32.505Z Moon culminates 55.29 degrees above the horizon -2032-08-11T00:07:55.965Z sunset -2032-08-11T02:32:06.111Z moonset -2032-08-11T10:52:20.438Z sunrise -2032-08-11T15:28:59.418Z moonrise +2032-08-11T00:07:56.042Z sunset +2032-08-11T02:32:06.114Z moonset +2032-08-11T10:52:20.416Z sunrise +2032-08-11T15:28:59.436Z moonrise 2032-08-11T17:29:53.620Z Sun culminates 76.34 degrees above the horizon 2032-08-11T21:20:13.891Z Moon culminates 51.42 degrees above the horizon 2032-08-11T21:22:42.056Z Mercury max morning elongation: 18.91 degrees from Sun -2032-08-12T00:07:03.010Z sunset -2032-08-12T03:07:33.421Z moonset -2032-08-12T10:52:53.291Z sunrise -2032-08-12T16:22:30.468Z moonrise +2032-08-12T00:07:03.083Z sunset +2032-08-12T03:07:33.412Z moonset +2032-08-12T10:52:53.274Z sunrise +2032-08-12T16:22:30.511Z moonrise 2032-08-12T17:29:43.167Z Sun culminates 76.04 degrees above the horizon 2032-08-12T22:05:50.724Z Moon culminates 47.91 degrees above the horizon -2032-08-13T00:06:09.071Z sunset -2032-08-13T03:45:45.176Z moonset -2032-08-13T10:53:25.978Z sunrise -2032-08-13T17:17:31.231Z moonrise +2032-08-13T00:06:09.140Z sunset +2032-08-13T03:45:45.144Z moonset +2032-08-13T10:53:25.966Z sunrise +2032-08-13T17:17:31.308Z moonrise 2032-08-13T17:29:32.147Z Sun culminates 75.73 degrees above the horizon 2032-08-13T22:54:00.533Z Moon culminates 44.94 degrees above the horizon -2032-08-14T00:05:14.171Z sunset -2032-08-14T04:27:44.926Z moonset +2032-08-14T00:05:14.237Z sunset +2032-08-14T04:27:44.864Z moonset 2032-08-14T07:51:32.149Z first quarter -2032-08-14T10:53:58.493Z sunrise +2032-08-14T10:53:58.486Z sunrise 2032-08-14T17:29:20.566Z Sun culminates 75.42 degrees above the horizon -2032-08-14T18:13:56.584Z moonrise +2032-08-14T18:13:56.694Z moonrise 2032-08-14T23:45:08.984Z Moon culminates 42.72 degrees above the horizon -2032-08-15T00:04:18.333Z sunset -2032-08-15T05:14:32.018Z moonset -2032-08-15T10:54:30.831Z sunrise +2032-08-15T00:04:18.395Z sunset +2032-08-15T05:14:31.923Z moonset +2032-08-15T10:54:30.829Z sunrise 2032-08-15T17:29:08.437Z Sun culminates 75.11 degrees above the horizon -2032-08-15T19:11:14.304Z moonrise -2032-08-16T00:03:21.582Z sunset +2032-08-15T19:11:14.433Z moonrise +2032-08-16T00:03:21.640Z sunset 2032-08-16T00:39:20.548Z Moon culminates 41.49 degrees above the horizon -2032-08-16T06:06:48.569Z moonset -2032-08-16T10:55:02.991Z sunrise +2032-08-16T06:06:48.451Z moonset +2032-08-16T10:55:02.993Z sunrise 2032-08-16T17:28:55.770Z Sun culminates 74.79 degrees above the horizon -2032-08-16T20:08:24.644Z moonrise -2032-08-17T00:02:23.943Z sunset +2032-08-16T20:08:24.770Z moonrise +2032-08-17T00:02:23.998Z sunset 2032-08-17T01:36:10.514Z Moon culminates 41.44 degrees above the horizon -2032-08-17T07:04:41.624Z moonset +2032-08-17T07:04:41.499Z moonset 2032-08-17T09:18:47.915Z Uranus moves from Taurus to Gemini -2032-08-17T10:55:34.970Z sunrise +2032-08-17T10:55:34.977Z sunrise 2032-08-17T17:28:42.577Z Sun culminates 74.47 degrees above the horizon -2032-08-17T21:04:12.926Z moonrise -2032-08-18T00:01:25.443Z sunset +2032-08-17T21:04:13.029Z moonrise +2032-08-18T00:01:25.494Z sunset 2032-08-18T02:34:44.991Z Moon culminates 42.72 degrees above the horizon -2032-08-18T08:07:29.733Z moonset -2032-08-18T10:56:06.770Z sunrise +2032-08-18T08:07:29.625Z moonset +2032-08-18T10:56:06.781Z sunrise 2032-08-18T17:28:28.874Z Sun culminates 74.15 degrees above the horizon -2032-08-18T21:57:33.359Z moonrise -2032-08-19T00:00:26.108Z sunset +2032-08-18T21:57:33.427Z moonrise +2032-08-19T00:00:26.155Z sunset 2032-08-19T03:33:53.921Z Moon culminates 45.34 degrees above the horizon -2032-08-19T09:13:47.647Z moonset -2032-08-19T10:56:38.392Z sunrise +2032-08-19T09:13:47.578Z moonset +2032-08-19T10:56:38.408Z sunrise 2032-08-19T17:28:14.674Z Sun culminates 73.82 degrees above the horizon -2032-08-19T22:47:51.419Z moonrise -2032-08-19T23:59:25.965Z sunset +2032-08-19T22:47:51.452Z moonrise +2032-08-19T23:59:26.009Z sunset 2032-08-20T04:32:33.023Z Moon culminates 49.15 degrees above the horizon -2032-08-20T10:21:52.355Z moonset -2032-08-20T10:57:09.840Z sunrise +2032-08-20T10:21:52.328Z moonset +2032-08-20T10:57:09.860Z sunrise 2032-08-20T17:27:59.994Z Sun culminates 73.49 degrees above the horizon -2032-08-20T23:35:11.782Z moonrise -2032-08-20T23:58:25.042Z sunset +2032-08-20T23:35:11.794Z moonrise +2032-08-20T23:58:25.083Z sunset 2032-08-21T01:47:17.144Z full moon 2032-08-21T03:52:12.557Z lunar perigee at 356869 km 2032-08-21T05:30:02.085Z Moon culminates 53.85 degrees above the horizon -2032-08-21T10:57:41.120Z sunrise -2032-08-21T11:30:14.398Z moonset +2032-08-21T10:57:41.143Z sunrise +2032-08-21T11:30:14.394Z moonset 2032-08-21T14:47:31.206Z Mercury perihelion at 0.3075 AU 2032-08-21T17:27:44.849Z Sun culminates 73.15 degrees above the horizon -2032-08-21T23:57:23.366Z sunset -2032-08-22T00:20:10.942Z moonrise +2032-08-21T23:57:23.405Z sunset +2032-08-22T00:20:10.947Z moonrise 2032-08-22T06:26:10.001Z Moon culminates 59.03 degrees above the horizon -2032-08-22T10:58:12.236Z sunrise -2032-08-22T12:37:54.354Z moonset +2032-08-22T10:58:12.264Z sunrise +2032-08-22T12:37:54.355Z moonset 2032-08-22T17:27:29.257Z Sun culminates 72.82 degrees above the horizon -2032-08-22T23:56:20.966Z sunset -2032-08-23T01:03:43.320Z moonrise +2032-08-22T23:56:21.001Z sunset +2032-08-23T01:03:43.323Z moonrise 2032-08-23T07:21:07.600Z Moon culminates 64.27 degrees above the horizon -2032-08-23T10:58:43.196Z sunrise -2032-08-23T13:44:19.776Z moonset +2032-08-23T10:58:43.228Z sunrise +2032-08-23T13:44:19.778Z moonset 2032-08-23T16:00:16.623Z Mercury moves from Cancer to Leo 2032-08-23T17:27:13.235Z Sun culminates 72.47 degrees above the horizon 2032-08-23T22:40:00.103Z Venus moves from Leo to Virgo -2032-08-23T23:55:17.868Z sunset -2032-08-24T01:46:48.673Z moonrise +2032-08-23T23:55:17.900Z sunset +2032-08-24T01:46:48.672Z moonrise 2032-08-24T08:15:15.388Z Moon culminates 69.18 degrees above the horizon -2032-08-24T10:59:14.007Z sunrise +2032-08-24T10:59:14.042Z sunrise 2032-08-24T14:35:18.536Z Mars moves from Cancer to Leo -2032-08-24T14:49:11.534Z moonset +2032-08-24T14:49:11.549Z moonset 2032-08-24T17:26:56.800Z Sun culminates 72.13 degrees above the horizon -2032-08-24T23:54:14.101Z sunset -2032-08-25T02:30:23.008Z moonrise +2032-08-24T23:54:14.131Z sunset +2032-08-25T02:30:22.996Z moonrise 2032-08-25T09:08:52.065Z Moon culminates 73.42 degrees above the horizon -2032-08-25T10:59:44.677Z sunrise -2032-08-25T15:52:10.059Z moonset +2032-08-25T10:59:44.716Z sunrise +2032-08-25T15:52:10.101Z moonset 2032-08-25T17:26:39.971Z Sun culminates 71.79 degrees above the horizon -2032-08-25T23:53:09.692Z sunset -2032-08-26T03:15:11.824Z moonrise +2032-08-25T23:53:09.719Z sunset +2032-08-26T03:15:11.789Z moonrise 2032-08-26T10:02:06.447Z Moon culminates 76.78 degrees above the horizon -2032-08-26T11:00:15.212Z sunrise -2032-08-26T16:52:47.642Z moonset +2032-08-26T11:00:15.254Z sunrise +2032-08-26T16:52:47.716Z moonset 2032-08-26T17:26:22.765Z Sun culminates 71.44 degrees above the horizon -2032-08-26T23:52:04.669Z sunset -2032-08-27T04:01:44.423Z moonrise +2032-08-26T23:52:04.694Z sunset +2032-08-27T04:01:44.362Z moonrise 2032-08-27T10:54:53.843Z Moon culminates 79.10 degrees above the horizon -2032-08-27T11:00:45.619Z sunrise +2032-08-27T11:00:45.665Z sunrise 2032-08-27T17:26:05.198Z Sun culminates 71.09 degrees above the horizon -2032-08-27T17:50:29.103Z moonset +2032-08-27T17:50:29.199Z moonset 2032-08-27T19:33:54.906Z third quarter -2032-08-27T23:50:59.059Z sunset -2032-08-28T04:50:09.828Z moonrise -2032-08-28T11:01:15.905Z sunrise +2032-08-27T23:50:59.082Z sunset +2032-08-28T04:50:09.745Z moonrise +2032-08-28T11:01:15.954Z sunrise 2032-08-28T11:46:57.437Z Moon culminates 80.33 degrees above the horizon 2032-08-28T17:25:47.287Z Sun culminates 70.73 degrees above the horizon -2032-08-28T18:44:39.677Z moonset -2032-08-28T23:49:52.889Z sunset -2032-08-29T05:40:16.327Z moonrise -2032-08-29T11:01:46.076Z sunrise +2032-08-28T18:44:39.781Z moonset +2032-08-28T23:49:52.910Z sunset +2032-08-29T05:40:16.232Z moonrise +2032-08-29T11:01:46.127Z sunrise 2032-08-29T12:37:54.086Z Moon culminates 80.49 degrees above the horizon 2032-08-29T17:25:29.048Z Sun culminates 70.37 degrees above the horizon -2032-08-29T19:34:55.524Z moonset -2032-08-29T23:48:46.185Z sunset -2032-08-30T06:31:36.289Z moonrise -2032-08-30T11:02:16.136Z sunrise +2032-08-29T19:34:55.624Z moonset +2032-08-29T23:48:46.204Z sunset +2032-08-30T06:31:36.196Z moonrise +2032-08-30T11:02:16.191Z sunrise 2032-08-30T13:27:22.128Z Moon culminates 79.64 degrees above the horizon 2032-08-30T17:25:10.496Z Sun culminates 70.02 degrees above the horizon -2032-08-30T20:21:11.046Z moonset -2032-08-30T23:47:38.971Z sunset -2032-08-31T07:23:35.236Z moonrise -2032-08-31T11:02:46.092Z sunrise +2032-08-30T20:21:11.130Z moonset +2032-08-30T23:47:38.988Z sunset +2032-08-31T07:23:35.158Z moonrise +2032-08-31T11:02:46.149Z sunrise 2032-08-31T14:15:08.013Z Moon culminates 77.90 degrees above the horizon 2032-08-31T17:24:51.648Z Sun culminates 69.65 degrees above the horizon -2032-08-31T21:03:39.977Z moonset -2032-08-31T23:46:31.274Z sunset -2032-09-01T08:15:41.710Z moonrise -2032-09-01T11:03:15.948Z sunrise +2032-08-31T21:03:40.041Z moonset +2032-08-31T23:46:31.289Z sunset +2032-09-01T08:15:41.657Z moonrise +2032-09-01T11:03:16.008Z sunrise 2032-09-01T15:01:09.710Z Moon culminates 75.40 degrees above the horizon 2032-09-01T17:24:32.516Z Sun culminates 69.29 degrees above the horizon -2032-09-01T21:42:51.497Z moonset -2032-09-01T23:45:23.116Z sunset -2032-09-02T09:07:34.427Z moonrise -2032-09-02T11:03:45.709Z sunrise +2032-09-01T21:42:51.539Z moonset +2032-09-01T23:45:23.130Z sunset +2032-09-02T09:07:34.400Z moonrise +2032-09-02T11:03:45.771Z sunrise 2032-09-02T15:45:36.894Z Moon culminates 72.28 degrees above the horizon 2032-09-02T17:24:13.116Z Sun culminates 68.92 degrees above the horizon -2032-09-02T22:19:24.614Z moonset -2032-09-02T23:44:14.522Z sunset -2032-09-03T09:59:05.210Z moonrise -2032-09-03T11:04:15.378Z sunrise +2032-09-02T22:19:24.639Z moonset +2032-09-02T23:44:14.534Z sunset +2032-09-03T09:59:05.202Z moonrise +2032-09-03T11:04:15.443Z sunrise 2032-09-03T16:28:49.106Z Moon culminates 68.70 degrees above the horizon 2032-09-03T17:23:53.461Z Sun culminates 68.56 degrees above the horizon 2032-09-03T19:57:33.154Z lunar apogee at 406551 km -2032-09-03T22:54:03.427Z moonset -2032-09-03T23:43:05.516Z sunset -2032-09-04T10:50:18.294Z moonrise -2032-09-04T11:04:44.962Z sunrise +2032-09-03T22:54:03.441Z moonset +2032-09-03T23:43:05.527Z sunset +2032-09-04T10:50:18.295Z moonrise +2032-09-04T11:04:45.028Z sunrise 2032-09-04T17:11:13.203Z Moon culminates 64.80 degrees above the horizon 2032-09-04T17:23:33.566Z Sun culminates 68.19 degrees above the horizon 2032-09-04T20:57:07.571Z new moon -2032-09-04T23:27:34.245Z moonset -2032-09-04T23:41:56.121Z sunset -2032-09-05T11:05:14.464Z sunrise -2032-09-05T11:41:27.463Z moonrise +2032-09-04T23:27:34.255Z moonset +2032-09-04T23:41:56.130Z sunset +2032-09-05T11:05:14.533Z sunrise +2032-09-05T11:41:27.467Z moonrise 2032-09-05T17:23:13.445Z Sun culminates 67.82 degrees above the horizon 2032-09-05T17:53:20.954Z Moon culminates 60.75 degrees above the horizon 2032-09-05T22:34:55.848Z Mercury superior conjunction -2032-09-05T23:40:46.359Z sunset -2032-09-06T00:00:44.502Z moonset -2032-09-06T11:05:43.890Z sunrise -2032-09-06T12:32:52.284Z moonrise +2032-09-05T23:40:46.368Z sunset +2032-09-06T00:00:44.511Z moonset +2032-09-06T11:05:43.961Z sunrise +2032-09-06T12:32:52.289Z moonrise 2032-09-06T17:22:53.112Z Sun culminates 67.44 degrees above the horizon 2032-09-06T18:35:47.060Z Moon culminates 56.68 degrees above the horizon -2032-09-06T23:39:36.256Z sunset -2032-09-07T00:34:22.903Z moonset -2032-09-07T11:06:13.246Z sunrise -2032-09-07T13:24:53.949Z moonrise +2032-09-06T23:39:36.263Z sunset +2032-09-07T00:34:22.908Z moonset +2032-09-07T11:06:13.318Z sunrise +2032-09-07T13:24:53.962Z moonrise 2032-09-07T17:22:32.582Z Sun culminates 67.07 degrees above the horizon 2032-09-07T19:19:07.395Z Moon culminates 52.76 degrees above the horizon -2032-09-07T23:38:25.834Z sunset -2032-09-08T01:09:20.099Z moonset -2032-09-08T11:06:42.537Z sunrise -2032-09-08T14:17:50.648Z moonrise +2032-09-07T23:38:25.840Z sunset +2032-09-08T01:09:20.095Z moonset +2032-09-08T11:06:42.611Z sunrise +2032-09-08T14:17:50.681Z moonrise 2032-09-08T17:22:11.869Z Sun culminates 66.69 degrees above the horizon 2032-09-08T20:03:56.933Z Moon culminates 49.15 degrees above the horizon -2032-09-08T23:37:15.116Z sunset -2032-09-09T01:46:29.044Z moonset -2032-09-09T11:07:11.772Z sunrise -2032-09-09T15:11:52.133Z moonrise +2032-09-08T23:37:15.122Z sunset +2032-09-09T01:46:29.022Z moonset +2032-09-09T11:07:11.847Z sunrise +2032-09-09T15:11:52.197Z moonrise 2032-09-09T17:21:50.991Z Sun culminates 66.31 degrees above the horizon 2032-09-09T20:50:46.639Z Moon culminates 46.04 degrees above the horizon -2032-09-09T23:36:04.129Z sunset -2032-09-10T02:26:43.893Z moonset -2032-09-10T11:07:40.958Z sunrise -2032-09-10T16:06:53.714Z moonrise +2032-09-09T23:36:04.134Z sunset +2032-09-10T02:26:43.843Z moonset +2032-09-10T11:07:41.034Z sunrise +2032-09-10T16:06:53.811Z moonrise 2032-09-10T17:21:29.964Z Sun culminates 65.93 degrees above the horizon 2032-09-10T21:39:58.834Z Moon culminates 43.60 degrees above the horizon -2032-09-10T23:34:52.897Z sunset -2032-09-11T03:10:56.042Z moonset +2032-09-10T23:34:52.901Z sunset +2032-09-11T03:10:55.961Z moonset 2032-09-11T05:00:21.800Z Mercury moves from Leo to Virgo -2032-09-11T11:08:10.104Z sunrise -2032-09-11T17:02:31.382Z moonrise +2032-09-11T11:08:10.182Z sunrise +2032-09-11T17:02:31.502Z moonrise 2032-09-11T17:21:08.805Z Sun culminates 65.55 degrees above the horizon 2032-09-11T22:31:41.393Z Moon culminates 42.04 degrees above the horizon -2032-09-11T23:33:41.445Z sunset -2032-09-12T03:59:46.170Z moonset -2032-09-12T11:08:39.222Z sunrise +2032-09-11T23:33:41.448Z sunset +2032-09-12T03:59:46.063Z moonset +2032-09-12T11:08:39.301Z sunrise 2032-09-12T17:20:47.533Z Sun culminates 65.17 degrees above the horizon -2032-09-12T17:58:01.518Z moonrise +2032-09-12T17:58:01.644Z moonrise 2032-09-12T18:49:43.095Z first quarter 2032-09-12T23:25:42.684Z Moon culminates 41.52 degrees above the horizon -2032-09-12T23:32:29.800Z sunset -2032-09-13T04:53:32.923Z moonset -2032-09-13T11:09:08.322Z sunrise +2032-09-12T23:32:29.803Z sunset +2032-09-13T04:53:32.802Z moonset +2032-09-13T11:09:08.403Z sunrise 2032-09-13T17:20:26.167Z Sun culminates 64.79 degrees above the horizon -2032-09-13T18:52:28.682Z moonrise -2032-09-13T23:31:17.990Z sunset +2032-09-13T18:52:28.794Z moonrise +2032-09-13T23:31:17.992Z sunset 2032-09-14T00:21:30.785Z Moon culminates 42.20 degrees above the horizon -2032-09-14T05:52:02.692Z moonset -2032-09-14T11:09:37.418Z sunrise +2032-09-14T05:52:02.579Z moonset +2032-09-14T11:09:37.499Z sunrise 2032-09-14T17:20:04.728Z Sun culminates 64.41 degrees above the horizon -2032-09-14T19:45:01.039Z moonrise -2032-09-14T23:30:06.042Z sunset +2032-09-14T19:45:01.122Z moonrise +2032-09-14T23:30:06.043Z sunset 2032-09-15T01:18:19.970Z Moon culminates 44.13 degrees above the horizon -2032-09-15T06:54:28.081Z moonset -2032-09-15T11:10:06.523Z sunrise +2032-09-15T06:54:27.996Z moonset +2032-09-15T11:10:06.605Z sunrise 2032-09-15T17:19:43.238Z Sun culminates 64.02 degrees above the horizon -2032-09-15T20:35:06.879Z moonrise -2032-09-15T23:28:53.984Z sunset +2032-09-15T20:35:06.928Z moonrise +2032-09-15T23:28:53.985Z sunset 2032-09-16T02:15:23.595Z Moon culminates 47.25 degrees above the horizon -2032-09-16T07:59:39.668Z moonset -2032-09-16T11:10:35.652Z sunrise +2032-09-16T07:59:39.623Z moonset +2032-09-16T11:10:35.736Z sunrise 2032-09-16T17:19:21.717Z Sun culminates 63.63 degrees above the horizon -2032-09-16T21:22:43.793Z moonrise -2032-09-16T23:27:41.846Z sunset +2032-09-16T21:22:43.814Z moonrise +2032-09-16T23:27:41.847Z sunset 2032-09-17T03:12:07.487Z Moon culminates 51.40 degrees above the horizon -2032-09-17T09:06:25.940Z moonset -2032-09-17T11:11:04.822Z sunrise +2032-09-17T09:06:25.927Z moonset +2032-09-17T11:11:04.906Z sunrise 2032-09-17T17:19:00.189Z Sun culminates 63.25 degrees above the horizon -2032-09-17T22:08:17.341Z moonrise -2032-09-17T23:26:29.656Z sunset +2032-09-17T22:08:17.348Z moonrise +2032-09-17T23:26:29.657Z sunset 2032-09-18T04:08:17.073Z Moon culminates 56.26 degrees above the horizon 2032-09-18T10:13:49.211Z moonset -2032-09-18T11:11:34.048Z sunrise +2032-09-18T11:11:34.133Z sunrise 2032-09-18T14:08:28.635Z lunar perigee at 358024 km 2032-09-18T17:18:38.677Z Sun culminates 62.86 degrees above the horizon -2032-09-18T22:52:32.631Z moonrise -2032-09-18T23:25:17.445Z sunset +2032-09-18T22:52:32.635Z moonrise +2032-09-18T23:25:17.446Z sunset 2032-09-19T05:03:55.642Z Moon culminates 61.48 degrees above the horizon 2032-09-19T09:30:43.449Z full moon -2032-09-19T11:12:03.350Z sunrise -2032-09-19T11:21:09.140Z moonset +2032-09-19T11:12:03.436Z sunrise +2032-09-19T11:21:09.141Z moonset 2032-09-19T17:18:17.205Z Sun culminates 62.47 degrees above the horizon 2032-09-19T23:24:05.242Z sunset -2032-09-19T23:36:23.993Z moonrise +2032-09-19T23:36:23.995Z moonrise 2032-09-20T05:59:16.042Z Moon culminates 66.62 degrees above the horizon -2032-09-20T11:12:32.746Z sunrise -2032-09-20T12:27:54.893Z moonset +2032-09-20T11:12:32.833Z sunrise +2032-09-20T12:27:54.899Z moonset 2032-09-20T17:17:55.797Z Sun culminates 62.09 degrees above the horizon 2032-09-20T23:22:53.076Z sunset -2032-09-21T00:20:45.525Z moonrise +2032-09-21T00:20:45.520Z moonrise 2032-09-21T06:54:30.048Z Moon culminates 71.30 degrees above the horizon -2032-09-21T11:13:02.254Z sunrise -2032-09-21T13:33:33.137Z moonset +2032-09-21T11:13:02.341Z sunrise +2032-09-21T13:33:33.164Z moonset 2032-09-21T17:17:34.477Z Sun culminates 61.70 degrees above the horizon 2032-09-21T23:21:40.977Z sunset -2032-09-22T01:06:22.774Z moonrise +2032-09-22T01:06:22.752Z moonrise 2032-09-22T07:49:39.203Z Moon culminates 75.19 degrees above the horizon 2032-09-22T11:10:51.066Z September equinox -2032-09-22T11:13:31.891Z sunrise -2032-09-22T14:37:19.784Z moonset +2032-09-22T11:13:31.979Z sunrise +2032-09-22T14:37:19.842Z moonset 2032-09-22T17:17:13.269Z Sun culminates 61.31 degrees above the horizon 2032-09-22T23:20:28.975Z sunset -2032-09-23T01:53:45.262Z moonrise +2032-09-23T01:53:45.214Z moonrise 2032-09-23T08:44:30.056Z Moon culminates 78.05 degrees above the horizon -2032-09-23T11:14:01.677Z sunrise -2032-09-23T15:38:20.827Z moonset +2032-09-23T11:14:01.765Z sunrise +2032-09-23T15:38:20.912Z moonset 2032-09-23T17:16:52.197Z Sun culminates 60.92 degrees above the horizon 2032-09-23T23:19:17.100Z sunset -2032-09-24T02:43:00.881Z moonrise +2032-09-24T02:43:00.808Z moonrise 2032-09-24T09:38:35.655Z Moon culminates 79.78 degrees above the horizon -2032-09-24T11:14:31.627Z sunrise -2032-09-24T16:35:42.728Z moonset +2032-09-24T11:14:31.716Z sunrise +2032-09-24T16:35:42.828Z moonset 2032-09-24T17:16:31.284Z Sun culminates 60.53 degrees above the horizon 2032-09-24T23:18:05.382Z sunset -2032-09-25T03:33:54.828Z moonrise +2032-09-25T03:33:54.739Z moonrise 2032-09-25T10:31:23.006Z Moon culminates 80.36 degrees above the horizon -2032-09-25T11:15:01.758Z sunrise +2032-09-25T11:15:01.848Z sunrise 2032-09-25T17:16:10.553Z Sun culminates 60.14 degrees above the horizon -2032-09-25T17:28:46.872Z moonset +2032-09-25T17:28:46.971Z moonset 2032-09-25T23:16:53.850Z sunset -2032-09-26T04:25:55.214Z moonrise +2032-09-26T04:25:55.122Z moonrise 2032-09-26T09:12:59.444Z third quarter -2032-09-26T11:15:32.085Z sunrise +2032-09-26T11:15:32.176Z sunrise 2032-09-26T11:22:23.243Z Moon culminates 79.87 degrees above the horizon 2032-09-26T17:15:50.025Z Sun culminates 59.75 degrees above the horizon -2032-09-26T18:17:19.760Z moonset -2032-09-26T23:15:41.847Z sunset -2032-09-27T05:18:24.083Z moonrise -2032-09-27T11:16:02.623Z sunrise +2032-09-26T18:17:19.847Z moonset +2032-09-26T23:15:42.532Z sunset +2032-09-27T05:18:24.000Z moonrise +2032-09-27T11:16:02.714Z sunrise 2032-09-27T12:11:19.830Z Moon culminates 78.43 degrees above the horizon 2032-09-27T17:15:29.722Z Sun culminates 59.36 degrees above the horizon -2032-09-27T19:01:34.153Z moonset -2032-09-27T23:14:31.457Z sunset -2032-09-28T06:10:48.965Z moonrise -2032-09-28T11:16:33.384Z sunrise +2032-09-27T19:01:34.222Z moonset +2032-09-27T23:14:31.557Z sunset +2032-09-28T06:10:48.905Z moonrise +2032-09-28T11:16:33.476Z sunrise 2032-09-28T12:58:11.842Z Moon culminates 76.18 degrees above the horizon 2032-09-28T17:15:09.664Z Sun culminates 58.98 degrees above the horizon -2032-09-28T19:42:02.879Z moonset -2032-09-28T23:13:20.653Z sunset -2032-09-29T07:02:50.292Z moonrise +2032-09-28T19:42:02.927Z moonset +2032-09-28T23:13:20.752Z sunset +2032-09-29T07:02:50.257Z moonrise 2032-09-29T11:08:18.439Z Venus moves from Virgo to Libra -2032-09-29T11:17:04.381Z sunrise +2032-09-29T11:17:04.473Z sunrise 2032-09-29T13:43:12.635Z Moon culminates 73.28 degrees above the horizon 2032-09-29T17:14:49.871Z Sun culminates 58.59 degrees above the horizon -2032-09-29T20:19:30.392Z moonset -2032-09-29T23:12:10.145Z sunset -2032-09-30T07:54:23.300Z moonrise -2032-09-30T11:17:35.625Z sunrise +2032-09-29T20:19:30.421Z moonset +2032-09-29T23:12:10.244Z sunset +2032-09-30T07:54:23.287Z moonrise +2032-09-30T11:17:35.718Z sunrise 2032-09-30T14:26:46.235Z Moon culminates 69.86 degrees above the horizon 2032-09-30T17:14:30.362Z Sun culminates 58.20 degrees above the horizon -2032-09-30T20:54:46.009Z moonset -2032-09-30T23:10:59.962Z sunset +2032-09-30T20:54:46.026Z moonset +2032-09-30T23:11:00.059Z sunset 2032-10-01T03:02:00.163Z lunar apogee at 405941 km 2032-10-01T08:45:36.008Z moonrise -2032-10-01T11:18:07.126Z sunrise +2032-10-01T11:18:07.220Z sunrise 2032-10-01T15:09:23.525Z Moon culminates 66.09 degrees above the horizon 2032-10-01T17:14:11.154Z Sun culminates 57.81 degrees above the horizon -2032-10-01T21:28:40.077Z moonset -2032-10-01T23:09:50.128Z sunset -2032-10-02T09:36:45.371Z moonrise -2032-10-02T11:18:38.894Z sunrise +2032-10-01T21:28:40.088Z moonset +2032-10-01T23:09:50.225Z sunset +2032-10-02T09:36:45.375Z moonrise +2032-10-02T11:18:38.989Z sunrise 2032-10-02T15:51:39.176Z Moon culminates 62.09 degrees above the horizon 2032-10-02T17:13:52.265Z Sun culminates 57.43 degrees above the horizon -2032-10-02T22:02:02.569Z moonset -2032-10-02T23:08:40.670Z sunset -2032-10-03T10:28:12.926Z moonrise -2032-10-03T11:19:10.937Z sunrise +2032-10-02T22:02:02.578Z moonset +2032-10-02T23:08:40.765Z sunset +2032-10-03T10:28:12.930Z moonrise +2032-10-03T11:19:11.033Z sunrise 2032-10-03T16:34:09.366Z Moon culminates 58.02 degrees above the horizon 2032-10-03T17:13:33.712Z Sun culminates 57.04 degrees above the horizon -2032-10-03T22:35:43.152Z moonset -2032-10-03T23:07:31.612Z sunset -2032-10-04T11:19:43.264Z sunrise -2032-10-04T11:20:20.286Z moonrise +2032-10-03T22:35:43.160Z moonset +2032-10-03T23:07:31.707Z sunset +2032-10-04T11:19:43.360Z sunrise +2032-10-04T11:20:20.295Z moonrise 2032-10-04T13:26:54.100Z new moon 2032-10-04T14:24:52.414Z Mercury aphelion at 0.4667 AU 2032-10-04T17:13:15.512Z Sun culminates 56.66 degrees above the horizon 2032-10-04T17:17:29.819Z Moon culminates 54.04 degrees above the horizon -2032-10-04T23:06:22.980Z sunset +2032-10-04T23:06:23.073Z sunset 2032-10-04T23:10:31.765Z moonset -2032-10-05T11:20:15.881Z sunrise -2032-10-05T12:13:24.299Z moonrise +2032-10-05T11:20:15.978Z sunrise +2032-10-05T12:13:24.324Z moonrise 2032-10-05T17:12:57.680Z Sun culminates 56.27 degrees above the horizon 2032-10-05T18:02:13.572Z Moon culminates 50.30 degrees above the horizon -2032-10-05T23:05:14.799Z sunset -2032-10-05T23:47:18.795Z moonset -2032-10-06T11:20:48.795Z sunrise -2032-10-06T13:07:31.661Z moonrise +2032-10-05T23:05:14.891Z sunset +2032-10-05T23:47:18.780Z moonset +2032-10-06T11:20:48.894Z sunrise +2032-10-06T13:07:31.713Z moonrise 2032-10-06T17:12:40.232Z Sun culminates 55.89 degrees above the horizon 2032-10-06T18:48:47.866Z Moon culminates 47.01 degrees above the horizon -2032-10-06T23:04:07.093Z sunset -2032-10-07T00:26:53.872Z moonset -2032-10-07T11:21:22.014Z sunrise -2032-10-07T14:02:33.457Z moonrise +2032-10-06T23:04:07.184Z sunset +2032-10-07T00:26:53.832Z moonset +2032-10-07T11:21:22.114Z sunrise +2032-10-07T14:02:33.542Z moonrise 2032-10-07T17:12:23.186Z Sun culminates 55.51 degrees above the horizon 2032-10-07T19:37:29.941Z Moon culminates 44.35 degrees above the horizon -2032-10-07T23:02:59.889Z sunset -2032-10-08T01:10:02.176Z moonset -2032-10-08T11:21:55.545Z sunrise -2032-10-08T14:58:01.489Z moonrise +2032-10-07T23:02:59.978Z sunset +2032-10-08T01:10:02.106Z moonset +2032-10-08T11:21:55.646Z sunrise +2032-10-08T14:58:01.602Z moonrise 2032-10-08T17:12:06.556Z Sun culminates 55.13 degrees above the horizon 2032-10-08T20:28:22.392Z Moon culminates 42.52 degrees above the horizon -2032-10-08T23:01:53.211Z sunset -2032-10-09T01:57:17.702Z moonset +2032-10-08T23:01:53.299Z sunset +2032-10-09T01:57:17.604Z moonset 2032-10-09T04:32:25.304Z Neptune opposition -2032-10-09T11:22:29.395Z sunrise -2032-10-09T15:53:09.623Z moonrise +2032-10-09T11:22:29.396Z sunrise +2032-10-09T15:53:09.748Z moonrise 2032-10-09T17:11:50.360Z Sun culminates 54.75 degrees above the horizon 2032-10-09T21:21:10.101Z Moon culminates 41.68 degrees above the horizon 2032-10-09T21:28:00.652Z Mercury moves from Virgo to Libra -2032-10-09T23:00:47.086Z sunset -2032-10-10T02:48:54.565Z moonset -2032-10-10T11:23:03.570Z sunrise -2032-10-10T16:47:02.743Z moonrise +2032-10-09T23:00:47.173Z sunset +2032-10-10T02:48:54.450Z moonset +2032-10-10T11:23:03.572Z sunrise +2032-10-10T16:47:02.861Z moonrise 2032-10-10T17:11:34.615Z Sun culminates 54.37 degrees above the horizon 2032-10-10T22:15:21.605Z Moon culminates 41.97 degrees above the horizon -2032-10-10T22:59:41.541Z sunset -2032-10-11T03:44:40.281Z moonset -2032-10-11T11:23:38.079Z sunrise +2032-10-10T22:59:41.626Z sunset +2032-10-11T03:44:40.166Z moonset +2032-10-11T11:23:38.081Z sunrise 2032-10-11T17:11:19.338Z Sun culminates 53.99 degrees above the horizon -2032-10-11T17:38:51.831Z moonrise -2032-10-11T22:58:36.603Z sunset +2032-10-11T17:38:51.925Z moonrise +2032-10-11T22:58:36.686Z sunset 2032-10-11T23:10:16.527Z Moon culminates 43.42 degrees above the horizon 2032-10-12T03:48:03.893Z first quarter -2032-10-12T04:43:56.537Z moonset -2032-10-12T11:24:12.929Z sunrise +2032-10-12T04:43:56.443Z moonset +2032-10-12T11:24:12.932Z sunrise 2032-10-12T17:11:04.547Z Sun culminates 53.62 degrees above the horizon -2032-10-12T18:28:08.693Z moonrise -2032-10-12T22:57:32.300Z sunset +2032-10-12T18:28:08.755Z moonrise +2032-10-12T22:57:32.382Z sunset 2032-10-13T00:05:17.216Z Moon culminates 46.01 degrees above the horizon -2032-10-13T05:45:49.847Z moonset -2032-10-13T11:24:48.129Z sunrise +2032-10-13T05:45:49.788Z moonset +2032-10-13T11:24:48.133Z sunrise 2032-10-13T17:10:50.261Z Sun culminates 53.25 degrees above the horizon -2032-10-13T19:14:53.351Z moonrise -2032-10-13T22:56:28.661Z sunset +2032-10-13T19:14:53.383Z moonrise +2032-10-13T22:56:28.742Z sunset 2032-10-14T00:59:59.511Z Moon culminates 49.61 degrees above the horizon -2032-10-14T06:49:27.435Z moonset -2032-10-14T11:25:23.688Z sunrise +2032-10-14T06:49:27.412Z moonset +2032-10-14T11:25:23.692Z sunrise 2032-10-14T17:10:36.499Z Sun culminates 52.88 degrees above the horizon -2032-10-14T19:59:32.289Z moonrise -2032-10-14T22:55:25.716Z sunset +2032-10-14T19:59:32.302Z moonrise +2032-10-14T22:55:25.795Z sunset 2032-10-15T01:54:17.907Z Moon culminates 54.01 degrees above the horizon -2032-10-15T07:54:09.447Z moonset -2032-10-15T11:25:59.615Z sunrise +2032-10-15T07:54:09.444Z moonset +2032-10-15T11:25:59.620Z sunrise 2032-10-15T17:10:23.280Z Sun culminates 52.51 degrees above the horizon -2032-10-15T20:42:51.068Z moonrise -2032-10-15T22:54:23.495Z sunset +2032-10-15T20:42:51.073Z moonrise +2032-10-15T22:54:23.571Z sunset 2032-10-16T02:48:23.734Z Moon culminates 58.93 degrees above the horizon -2032-10-16T08:59:31.397Z moonset -2032-10-16T11:26:35.921Z sunrise +2032-10-16T08:59:31.398Z moonset +2032-10-16T11:26:35.927Z sunrise 2032-10-16T17:10:10.626Z Sun culminates 52.14 degrees above the horizon -2032-10-16T21:25:45.647Z moonrise +2032-10-16T21:25:45.651Z moonrise 2032-10-16T21:27:06.036Z lunar perigee at 361907 km -2032-10-16T22:53:22.027Z sunset +2032-10-16T22:53:22.101Z sunset 2032-10-17T03:03:22.206Z Venus moves from Libra to Scorpius 2032-10-17T03:42:38.007Z Moon culminates 64.03 degrees above the horizon -2032-10-17T10:05:16.849Z moonset -2032-10-17T11:27:12.615Z sunrise +2032-10-17T10:05:16.851Z moonset +2032-10-17T11:27:12.622Z sunrise 2032-10-17T17:09:58.556Z Sun culminates 51.78 degrees above the horizon 2032-10-17T22:09:14.395Z moonrise -2032-10-17T22:52:21.343Z sunset +2032-10-17T22:52:21.416Z sunset 2032-10-18T04:37:21.385Z Moon culminates 68.92 degrees above the horizon -2032-10-18T11:11:04.508Z moonset -2032-10-18T11:27:49.709Z sunrise +2032-10-18T11:11:04.523Z moonset +2032-10-18T11:27:49.717Z sunrise 2032-10-18T17:09:47.091Z Sun culminates 51.42 degrees above the horizon 2032-10-18T18:58:38.150Z full moon 2032-10-18T19:02:22.695Z total lunar eclipse -2032-10-18T22:51:21.474Z sunset -2032-10-18T22:54:10.296Z moonrise +2032-10-18T22:51:21.545Z sunset +2032-10-18T22:54:10.283Z moonrise 2032-10-19T05:32:43.520Z Moon culminates 73.25 degrees above the horizon -2032-10-19T11:28:27.211Z sunrise -2032-10-19T12:16:15.767Z moonset +2032-10-19T11:28:27.220Z sunrise +2032-10-19T12:16:15.808Z moonset 2032-10-19T17:09:36.251Z Sun culminates 51.06 degrees above the horizon -2032-10-19T22:50:22.451Z sunset -2032-10-19T23:41:12.293Z moonrise +2032-10-19T22:50:22.519Z sunset +2032-10-19T23:41:12.259Z moonrise 2032-10-20T01:21:16.695Z Mars moves from Leo to Virgo 2032-10-20T06:28:34.581Z Moon culminates 76.69 degrees above the horizon -2032-10-20T11:29:05.132Z sunrise -2032-10-20T13:19:49.781Z moonset +2032-10-20T11:29:05.142Z sunrise +2032-10-20T13:19:49.852Z moonset 2032-10-20T17:09:26.056Z Sun culminates 50.70 degrees above the horizon -2032-10-20T22:49:24.305Z sunset -2032-10-21T00:30:36.327Z moonrise +2032-10-20T22:49:24.370Z sunset +2032-10-21T00:30:36.267Z moonrise 2032-10-21T07:24:22.777Z Moon culminates 79.03 degrees above the horizon -2032-10-21T11:29:43.478Z sunrise -2032-10-21T14:20:31.636Z moonset +2032-10-21T11:29:43.490Z sunrise +2032-10-21T14:20:31.729Z moonset 2032-10-21T17:09:16.526Z Sun culminates 50.35 degrees above the horizon -2032-10-21T22:48:27.066Z sunset -2032-10-22T01:22:09.709Z moonrise +2032-10-21T22:48:27.129Z sunset +2032-10-22T01:22:09.626Z moonrise 2032-10-22T03:52:58.026Z Mercury max evening elongation: 24.44 degrees from Sun 2032-10-22T08:19:20.866Z Moon culminates 80.17 degrees above the horizon -2032-10-22T11:30:22.258Z sunrise -2032-10-22T15:17:12.123Z moonset +2032-10-22T11:30:22.271Z sunrise +2032-10-22T15:17:12.222Z moonset 2032-10-22T17:09:07.679Z Sun culminates 50.00 degrees above the horizon -2032-10-22T22:47:30.765Z sunset -2032-10-23T02:15:13.925Z moonrise +2032-10-22T22:47:30.826Z sunset +2032-10-23T02:15:13.833Z moonrise 2032-10-23T09:12:40.109Z Moon culminates 80.14 degrees above the horizon -2032-10-23T11:31:01.477Z sunrise -2032-10-23T16:09:08.409Z moonset +2032-10-23T11:31:01.492Z sunrise +2032-10-23T16:09:08.501Z moonset 2032-10-23T17:08:59.533Z Sun culminates 49.65 degrees above the horizon -2032-10-23T22:46:35.434Z sunset -2032-10-24T03:08:57.345Z moonrise +2032-10-23T22:46:35.492Z sunset +2032-10-24T03:08:57.257Z moonrise 2032-10-24T06:23:11.243Z Venus moves from Scorpius to Ophiuchus 2032-10-24T10:03:44.961Z Moon culminates 79.06 degrees above the horizon -2032-10-24T11:31:41.140Z sunrise -2032-10-24T16:56:13.617Z moonset +2032-10-24T11:31:41.156Z sunrise +2032-10-24T16:56:13.693Z moonset 2032-10-24T17:08:52.107Z Sun culminates 49.30 degrees above the horizon -2032-10-24T22:45:41.102Z sunset +2032-10-24T22:45:41.157Z sunset 2032-10-24T23:36:36.031Z Mars aphelion at 1.6660 AU -2032-10-25T04:02:32.245Z moonrise +2032-10-25T04:02:32.175Z moonrise 2032-10-25T10:52:21.449Z Moon culminates 77.08 degrees above the horizon -2032-10-25T11:32:21.247Z sunrise +2032-10-25T11:32:21.265Z sunrise 2032-10-25T17:08:45.414Z Sun culminates 48.96 degrees above the horizon -2032-10-25T17:38:52.625Z moonset -2032-10-25T22:44:47.799Z sunset +2032-10-25T17:38:52.679Z moonset +2032-10-25T22:44:47.851Z sunset 2032-10-26T02:29:26.937Z third quarter -2032-10-26T04:55:27.629Z moonrise -2032-10-26T11:33:01.802Z sunrise +2032-10-26T04:55:27.585Z moonrise +2032-10-26T11:33:01.821Z sunrise 2032-10-26T11:38:37.322Z Moon culminates 74.39 degrees above the horizon 2032-10-26T17:08:39.471Z Sun culminates 48.62 degrees above the horizon -2032-10-26T18:17:50.600Z moonset -2032-10-26T22:43:55.554Z sunset -2032-10-27T05:47:33.535Z moonrise -2032-10-27T11:33:42.802Z sunrise +2032-10-26T18:17:50.635Z moonset +2032-10-26T22:43:55.602Z sunset +2032-10-27T05:47:33.515Z moonrise +2032-10-27T11:33:42.823Z sunrise 2032-10-27T12:22:56.988Z Moon culminates 71.14 degrees above the horizon 2032-10-27T17:08:34.290Z Sun culminates 48.28 degrees above the horizon -2032-10-27T18:54:01.980Z moonset -2032-10-27T22:43:04.394Z sunset -2032-10-28T06:38:58.478Z moonrise -2032-10-28T11:34:24.244Z sunrise +2032-10-27T18:54:02.000Z moonset +2032-10-27T22:43:04.439Z sunset +2032-10-28T06:38:58.474Z moonrise +2032-10-28T11:34:24.267Z sunrise 2032-10-28T13:05:55.336Z Moon culminates 67.49 degrees above the horizon 2032-10-28T17:08:29.884Z Sun culminates 47.95 degrees above the horizon 2032-10-28T18:23:12.306Z lunar apogee at 404996 km -2032-10-28T19:28:23.481Z moonset -2032-10-28T22:42:14.346Z sunset -2032-10-29T07:30:03.888Z moonrise -2032-10-29T11:35:06.124Z sunrise +2032-10-28T19:28:23.494Z moonset +2032-10-28T22:42:14.388Z sunset +2032-10-29T07:30:03.891Z moonrise +2032-10-29T11:35:06.149Z sunrise 2032-10-29T13:48:12.762Z Moon culminates 63.57 degrees above the horizon 2032-10-29T15:49:59.524Z Venus aphelion at 0.7282 AU 2032-10-29T17:08:26.262Z Sun culminates 47.62 degrees above the horizon -2032-10-29T20:01:51.128Z moonset -2032-10-29T22:41:25.436Z sunset -2032-10-30T08:21:18.180Z moonrise -2032-10-30T11:35:48.435Z sunrise +2032-10-29T20:01:51.137Z moonset +2032-10-29T22:41:25.476Z sunset +2032-10-30T08:21:18.184Z moonrise +2032-10-30T11:35:48.462Z sunrise 2032-10-30T14:30:31.790Z Moon culminates 59.52 degrees above the horizon 2032-10-30T17:08:23.435Z Sun culminates 47.30 degrees above the horizon -2032-10-30T20:35:19.830Z moonset -2032-10-30T22:40:37.690Z sunset -2032-10-31T09:13:11.155Z moonrise -2032-10-31T11:36:31.168Z sunrise +2032-10-30T20:35:19.838Z moonset +2032-10-30T22:40:37.726Z sunset +2032-10-31T09:13:11.161Z moonrise +2032-10-31T11:36:31.198Z sunrise 2032-10-31T15:13:34.620Z Moon culminates 55.48 degrees above the horizon 2032-10-31T17:08:21.409Z Sun culminates 46.98 degrees above the horizon -2032-10-31T21:09:44.039Z moonset -2032-10-31T22:39:51.132Z sunset -2032-11-01T10:06:08.273Z moonrise +2032-10-31T21:09:44.043Z moonset +2032-10-31T22:39:51.164Z sunset +2032-11-01T10:06:08.290Z moonrise 2032-11-01T10:14:11.988Z Mercury moves from Libra to Scorpius -2032-11-01T11:37:14.313Z sunrise +2032-11-01T11:37:14.345Z sunrise 2032-11-01T15:58:00.596Z Moon culminates 51.62 degrees above the horizon 2032-11-01T17:08:20.191Z Sun culminates 46.66 degrees above the horizon -2032-11-01T21:45:58.204Z moonset -2032-11-01T22:39:05.784Z sunset -2032-11-02T11:00:24.166Z moonrise -2032-11-02T11:37:57.857Z sunrise +2032-11-01T21:45:58.196Z moonset +2032-11-01T22:39:05.813Z sunset +2032-11-02T11:00:24.206Z moonrise +2032-11-02T11:37:57.892Z sunrise 2032-11-02T16:44:22.655Z Moon culminates 48.11 degrees above the horizon 2032-11-02T17:08:19.786Z Sun culminates 46.34 degrees above the horizon -2032-11-02T22:24:55.783Z moonset -2032-11-02T22:38:21.670Z sunset +2032-11-02T22:24:55.752Z moonset +2032-11-02T22:38:21.695Z sunset 2032-11-03T05:45:31.378Z new moon -2032-11-03T11:38:41.788Z sunrise -2032-11-03T11:55:55.440Z moonrise +2032-11-03T11:38:41.825Z sunrise +2032-11-03T11:55:55.514Z moonrise 2032-11-03T17:08:20.199Z Sun culminates 46.03 degrees above the horizon 2032-11-03T17:33:02.216Z Moon culminates 45.17 degrees above the horizon -2032-11-03T22:37:38.811Z sunset +2032-11-03T22:37:38.833Z sunset 2032-11-03T23:00:36.363Z Mercury moves from Scorpius to Libra -2032-11-03T23:07:25.444Z moonset -2032-11-04T11:39:26.090Z sunrise -2032-11-04T12:52:14.651Z moonrise +2032-11-03T23:07:25.384Z moonset +2032-11-04T11:39:26.129Z sunrise +2032-11-04T12:52:14.756Z moonrise 2032-11-04T17:08:21.432Z Sun culminates 45.73 degrees above the horizon 2032-11-04T18:24:03.040Z Moon culminates 43.01 degrees above the horizon -2032-11-04T22:36:57.229Z sunset -2032-11-04T23:54:03.498Z moonset -2032-11-05T11:40:10.747Z sunrise -2032-11-05T13:48:29.650Z moonrise +2032-11-04T22:36:57.247Z sunset +2032-11-04T23:54:03.408Z moonset +2032-11-05T11:40:10.789Z sunrise +2032-11-05T13:48:29.773Z moonrise 2032-11-05T17:08:23.487Z Sun culminates 45.43 degrees above the horizon 2032-11-05T19:17:06.558Z Moon culminates 41.82 degrees above the horizon -2032-11-05T22:36:16.945Z sunset -2032-11-06T00:45:03.592Z moonset -2032-11-06T11:40:55.743Z sunrise -2032-11-06T14:43:32.866Z moonrise +2032-11-05T22:36:16.959Z sunset +2032-11-06T00:45:03.480Z moonset +2032-11-06T11:40:55.787Z sunrise +2032-11-06T14:43:32.988Z moonrise 2032-11-06T17:08:26.368Z Sun culminates 45.13 degrees above the horizon 2032-11-06T20:11:32.829Z Moon culminates 41.75 degrees above the horizon -2032-11-06T22:35:37.979Z sunset -2032-11-07T01:40:08.498Z moonset -2032-11-07T11:41:41.058Z sunrise -2032-11-07T15:36:20.070Z moonrise +2032-11-06T22:35:37.990Z sunset +2032-11-07T01:40:08.381Z moonset +2032-11-07T11:41:41.105Z sunrise +2032-11-07T15:36:20.173Z moonrise 2032-11-07T17:08:30.075Z Sun culminates 44.84 degrees above the horizon 2032-11-07T21:06:29.958Z Moon culminates 42.85 degrees above the horizon -2032-11-07T22:35:00.353Z sunset -2032-11-08T02:38:31.277Z moonset -2032-11-08T11:42:26.675Z sunrise +2032-11-07T22:35:00.360Z sunset +2032-11-08T02:38:31.174Z moonset +2032-11-08T11:42:26.725Z sunrise 2032-11-08T15:16:29.957Z Venus moves from Ophiuchus to Sagittarius -2032-11-08T16:26:10.269Z moonrise +2032-11-08T16:26:10.342Z moonrise 2032-11-08T17:08:34.609Z Sun culminates 44.55 degrees above the horizon 2032-11-08T22:01:09.561Z Moon culminates 45.09 degrees above the horizon -2032-11-08T22:34:24.088Z sunset -2032-11-09T03:39:09.077Z moonset -2032-11-09T11:43:12.575Z sunrise +2032-11-08T22:34:24.091Z sunset +2032-11-09T03:39:09.007Z moonset +2032-11-09T11:43:12.627Z sunrise 2032-11-09T17:08:39.971Z Sun culminates 44.27 degrees above the horizon -2032-11-09T17:12:56.247Z moonrise +2032-11-09T17:12:56.289Z moonrise 2032-11-09T22:33:49.203Z sunset 2032-11-09T22:55:00.953Z Moon culminates 48.34 degrees above the horizon -2032-11-10T04:41:03.339Z moonset +2032-11-10T04:41:03.306Z moonset 2032-11-10T11:33:44.884Z first quarter -2032-11-10T11:43:58.738Z sunrise +2032-11-10T11:43:58.793Z sunrise 2032-11-10T17:08:46.162Z Sun culminates 43.99 degrees above the horizon -2032-11-10T17:57:02.638Z moonrise -2032-11-10T22:33:15.722Z sunset +2032-11-10T17:57:02.656Z moonrise +2032-11-10T22:33:15.717Z sunset 2032-11-10T23:47:57.660Z Moon culminates 52.39 degrees above the horizon -2032-11-11T05:43:35.027Z moonset -2032-11-11T11:44:45.145Z sunrise +2032-11-11T05:43:35.019Z moonset +2032-11-11T11:44:45.203Z sunrise 2032-11-11T17:08:53.184Z Sun culminates 43.72 degrees above the horizon -2032-11-11T18:39:16.664Z moonrise -2032-11-11T22:32:43.663Z sunset +2032-11-11T18:39:16.672Z moonrise +2032-11-11T22:32:43.655Z sunset 2032-11-12T00:40:15.333Z Moon culminates 57.01 degrees above the horizon -2032-11-12T06:46:28.182Z moonset -2032-11-12T11:45:31.777Z sunrise +2032-11-12T06:46:28.183Z moonset +2032-11-12T11:45:31.837Z sunrise 2032-11-12T17:09:01.036Z Sun culminates 43.45 degrees above the horizon -2032-11-12T19:20:38.098Z moonrise -2032-11-12T22:32:13.050Z sunset +2032-11-12T19:20:38.103Z moonrise +2032-11-12T22:32:13.038Z sunset 2032-11-13T01:32:24.159Z Moon culminates 61.91 degrees above the horizon -2032-11-13T07:49:42.739Z moonset +2032-11-13T07:49:42.740Z moonset 2032-11-13T08:54:14.947Z transit of Mercury 2032-11-13T09:01:46.812Z Mercury inferior conjunction -2032-11-13T11:46:18.614Z sunrise +2032-11-13T11:46:18.677Z sunrise 2032-11-13T15:28:55.964Z lunar perigee at 367368 km 2032-11-13T17:09:09.720Z Sun culminates 43.19 degrees above the horizon -2032-11-13T20:02:11.379Z moonrise -2032-11-13T22:31:43.902Z sunset +2032-11-13T20:02:11.382Z moonrise +2032-11-13T22:31:43.886Z sunset 2032-11-14T02:24:58.923Z Moon culminates 66.78 degrees above the horizon -2032-11-14T08:53:21.029Z moonset -2032-11-14T11:47:05.637Z sunrise +2032-11-14T08:53:21.037Z moonset +2032-11-14T11:47:05.703Z sunrise 2032-11-14T17:09:19.237Z Sun culminates 42.93 degrees above the horizon -2032-11-14T20:44:59.220Z moonrise -2032-11-14T22:31:16.240Z sunset +2032-11-14T20:44:59.215Z moonrise +2032-11-14T22:31:16.221Z sunset 2032-11-15T03:18:28.213Z Moon culminates 71.29 degrees above the horizon -2032-11-15T09:57:12.339Z moonset -2032-11-15T11:47:52.826Z sunrise +2032-11-15T09:57:12.365Z moonset +2032-11-15T11:47:52.894Z sunrise 2032-11-15T17:09:29.585Z Sun culminates 42.68 degrees above the horizon -2032-11-15T21:29:55.518Z moonrise -2032-11-15T22:30:50.084Z sunset +2032-11-15T21:29:55.495Z moonrise +2032-11-15T22:30:50.061Z sunset 2032-11-16T04:13:03.649Z Moon culminates 75.13 degrees above the horizon -2032-11-16T11:00:40.349Z moonset -2032-11-16T11:48:40.160Z sunrise +2032-11-16T11:00:40.405Z moonset +2032-11-16T11:48:40.231Z sunrise 2032-11-16T17:09:40.766Z Sun culminates 42.43 degrees above the horizon -2032-11-16T22:17:35.974Z moonrise -2032-11-16T22:30:25.454Z sunset +2032-11-16T22:17:35.926Z moonrise +2032-11-16T22:30:25.427Z sunset 2032-11-17T05:08:31.534Z Moon culminates 78.03 degrees above the horizon 2032-11-17T06:42:36.913Z full moon -2032-11-17T11:49:27.617Z sunrise -2032-11-17T12:02:40.117Z moonset +2032-11-17T11:49:27.691Z sunrise +2032-11-17T12:02:40.201Z moonset 2032-11-17T14:03:21.851Z Mercury perihelion at 0.3075 AU 2032-11-17T17:09:52.777Z Sun culminates 42.19 degrees above the horizon -2032-11-17T22:30:02.368Z sunset -2032-11-17T23:08:07.802Z moonrise +2032-11-17T22:30:02.338Z sunset +2032-11-17T23:08:07.729Z moonrise 2032-11-18T06:04:11.445Z Moon culminates 79.79 degrees above the horizon -2032-11-18T11:50:15.176Z sunrise -2032-11-18T13:01:50.202Z moonset +2032-11-18T11:50:15.253Z sunrise +2032-11-18T13:01:50.301Z moonset 2032-11-18T17:10:05.616Z Sun culminates 41.95 degrees above the horizon -2032-11-18T22:29:40.846Z sunset -2032-11-19T00:01:04.104Z moonrise +2032-11-18T22:29:40.813Z sunset +2032-11-19T00:01:04.015Z moonrise 2032-11-19T06:59:05.549Z Moon culminates 80.34 degrees above the horizon -2032-11-19T11:51:02.812Z sunrise -2032-11-19T13:56:57.078Z moonset +2032-11-19T11:51:02.891Z sunrise +2032-11-19T13:56:57.175Z moonset 2032-11-19T17:10:19.281Z Sun culminates 41.72 degrees above the horizon -2032-11-19T22:29:20.905Z sunset -2032-11-20T00:55:29.780Z moonrise +2032-11-19T22:29:20.868Z sunset +2032-11-20T00:55:29.688Z moonrise 2032-11-20T07:52:16.364Z Moon culminates 79.74 degrees above the horizon -2032-11-20T11:51:50.500Z sunrise -2032-11-20T14:47:18.266Z moonset +2032-11-20T11:51:50.582Z sunrise +2032-11-20T14:47:18.350Z moonset 2032-11-20T17:10:33.767Z Sun culminates 41.50 degrees above the horizon -2032-11-20T22:29:02.562Z sunset -2032-11-21T01:50:19.476Z moonrise +2032-11-20T22:29:02.522Z sunset +2032-11-21T01:50:19.396Z moonrise 2032-11-21T08:43:04.096Z Moon culminates 78.13 degrees above the horizon -2032-11-21T11:52:38.213Z sunrise -2032-11-21T15:32:50.960Z moonset +2032-11-21T11:52:38.297Z sunrise +2032-11-21T15:32:51.023Z moonset 2032-11-21T17:10:49.069Z Sun culminates 41.28 degrees above the horizon -2032-11-21T22:28:45.832Z sunset -2032-11-22T02:44:38.560Z moonrise +2032-11-21T22:28:45.789Z sunset +2032-11-22T02:44:38.504Z moonrise 2032-11-22T09:31:15.215Z Moon culminates 75.70 degrees above the horizon -2032-11-22T11:53:25.922Z sunrise -2032-11-22T16:14:05.272Z moonset +2032-11-22T11:53:26.008Z sunrise +2032-11-22T16:14:05.314Z moonset 2032-11-22T17:11:05.178Z Sun culminates 41.07 degrees above the horizon -2032-11-22T22:28:30.729Z sunset -2032-11-23T03:37:56.345Z moonrise +2032-11-22T22:28:30.683Z sunset +2032-11-23T03:37:56.315Z moonrise 2032-11-23T10:17:01.100Z Moon culminates 72.63 degrees above the horizon -2032-11-23T11:54:13.596Z sunrise -2032-11-23T16:51:50.988Z moonset +2032-11-23T11:54:13.686Z sunrise +2032-11-23T16:51:51.013Z moonset 2032-11-23T17:11:22.085Z Sun culminates 40.87 degrees above the horizon -2032-11-23T22:28:17.266Z sunset -2032-11-24T04:30:08.176Z moonrise +2032-11-23T22:28:17.216Z sunset +2032-11-24T04:30:08.167Z moonrise 2032-11-24T11:00:51.283Z Moon culminates 69.11 degrees above the horizon -2032-11-24T11:55:01.205Z sunrise +2032-11-24T11:55:01.297Z sunrise 2032-11-24T17:11:39.781Z Sun culminates 40.67 degrees above the horizon -2032-11-24T17:27:06.151Z moonset -2032-11-24T22:28:05.452Z sunset +2032-11-24T17:27:06.166Z moonset +2032-11-24T22:28:05.400Z sunset 2032-11-24T22:48:22.840Z third quarter -2032-11-25T05:21:30.223Z moonrise +2032-11-25T05:21:30.224Z moonrise 2032-11-25T11:43:26.197Z Moon culminates 65.27 degrees above the horizon -2032-11-25T11:55:48.714Z sunrise +2032-11-25T11:55:48.808Z sunrise 2032-11-25T14:15:56.314Z lunar apogee at 404358 km 2032-11-25T17:11:58.252Z Sun culminates 40.48 degrees above the horizon -2032-11-25T18:00:50.545Z moonset -2032-11-25T22:27:55.296Z sunset -2032-11-26T06:12:32.056Z moonrise -2032-11-26T11:56:36.086Z sunrise +2032-11-25T18:00:50.556Z moonset +2032-11-25T22:27:55.241Z sunset +2032-11-26T06:12:32.060Z moonrise +2032-11-26T11:56:36.183Z sunrise 2032-11-26T12:25:31.806Z Moon culminates 61.26 degrees above the horizon 2032-11-26T17:12:17.483Z Sun culminates 40.29 degrees above the horizon -2032-11-26T18:34:03.427Z moonset -2032-11-26T22:27:46.804Z sunset +2032-11-26T18:34:03.436Z moonset +2032-11-26T22:27:46.746Z sunset 2032-11-27T00:42:03.687Z Uranus moves from Gemini to Taurus -2032-11-27T07:03:49.708Z moonrise -2032-11-27T11:57:23.284Z sunrise +2032-11-27T07:03:49.713Z moonrise +2032-11-27T11:57:23.383Z sunrise 2032-11-27T13:07:56.187Z Moon culminates 57.22 degrees above the horizon 2032-11-27T17:12:37.457Z Sun culminates 40.11 degrees above the horizon -2032-11-27T19:07:43.736Z moonset -2032-11-27T22:27:39.979Z sunset -2032-11-28T07:55:59.379Z moonrise +2032-11-27T19:07:43.743Z moonset +2032-11-27T22:27:39.918Z sunset +2032-11-28T07:55:59.391Z moonrise 2032-11-28T09:46:46.873Z Saturn perihelion at 9.0147 AU -2032-11-28T11:58:10.269Z sunrise +2032-11-28T11:58:10.370Z sunrise 2032-11-28T13:51:26.958Z Moon culminates 53.27 degrees above the horizon 2032-11-28T17:12:58.155Z Sun culminates 39.94 degrees above the horizon -2032-11-28T19:42:51.090Z moonset -2032-11-28T22:27:34.824Z sunset -2032-11-29T08:49:30.708Z moonrise -2032-11-29T11:58:56.998Z sunrise +2032-11-28T19:42:51.088Z moonset +2032-11-28T22:27:34.760Z sunset +2032-11-29T08:49:30.737Z moonrise +2032-11-29T11:58:57.101Z sunrise 2032-11-29T14:36:48.153Z Moon culminates 49.58 degrees above the horizon 2032-11-29T17:13:19.556Z Sun culminates 39.78 degrees above the horizon -2032-11-29T20:20:25.988Z moonset -2032-11-29T22:27:31.336Z sunset +2032-11-29T20:20:25.968Z moonset +2032-11-29T22:27:31.270Z sunset 2032-11-30T04:10:11.311Z Jupiter moves from Sagittarius to Capricornus 2032-11-30T08:13:26.554Z Mercury max morning elongation: 20.23 degrees from Sun -2032-11-30T09:44:38.529Z moonrise -2032-11-30T11:59:43.430Z sunrise +2032-11-30T09:44:38.588Z moonrise +2032-11-30T11:59:43.535Z sunrise 2032-11-30T15:24:35.197Z Moon culminates 46.34 degrees above the horizon 2032-11-30T17:13:41.637Z Sun culminates 39.62 degrees above the horizon -2032-11-30T21:01:27.490Z moonset -2032-11-30T22:27:29.513Z sunset -2032-12-01T10:41:13.506Z moonrise -2032-12-01T12:00:29.520Z sunrise +2032-11-30T21:01:27.444Z moonset +2032-11-30T22:27:29.445Z sunset +2032-12-01T10:41:13.600Z moonrise +2032-12-01T12:00:29.626Z sunrise 2032-12-01T16:15:07.389Z Moon culminates 43.78 degrees above the horizon 2032-12-01T17:14:04.373Z Sun culminates 39.47 degrees above the horizon -2032-12-01T21:46:46.415Z moonset -2032-12-01T22:27:29.350Z sunset -2032-12-02T11:38:35.032Z moonrise -2032-12-02T12:01:15.223Z sunrise +2032-12-01T21:46:46.337Z moonset +2032-12-01T22:27:29.280Z sunset +2032-12-02T11:38:35.150Z moonrise +2032-12-02T12:01:15.331Z sunrise 2032-12-02T17:08:19.237Z Moon culminates 42.12 degrees above the horizon 2032-12-02T17:14:27.739Z Sun culminates 39.32 degrees above the horizon 2032-12-02T20:53:25.025Z new moon -2032-12-02T22:27:30.839Z sunset -2032-12-02T22:36:53.145Z moonset -2032-12-03T12:02:00.492Z sunrise -2032-12-03T12:35:33.174Z moonrise +2032-12-02T22:27:30.767Z sunset +2032-12-02T22:36:53.039Z moonset +2032-12-03T12:02:00.602Z sunrise +2032-12-03T12:35:33.299Z moonrise 2032-12-03T17:14:51.706Z Sun culminates 39.18 degrees above the horizon 2032-12-03T18:03:35.264Z Moon culminates 41.57 degrees above the horizon -2032-12-03T22:27:33.972Z sunset -2032-12-03T23:31:43.254Z moonset -2032-12-04T12:02:45.283Z sunrise -2032-12-04T13:30:45.130Z moonrise +2032-12-03T22:27:33.897Z sunset +2032-12-03T23:31:43.134Z moonset +2032-12-04T12:02:45.394Z sunrise +2032-12-04T13:30:45.242Z moonrise 2032-12-04T17:15:16.248Z Sun culminates 39.05 degrees above the horizon 2032-12-04T18:59:54.790Z Moon culminates 42.24 degrees above the horizon -2032-12-04T22:27:38.737Z sunset -2032-12-05T00:30:30.375Z moonset -2032-12-05T12:03:29.547Z sunrise -2032-12-05T14:23:01.823Z moonrise +2032-12-04T22:27:38.660Z sunset +2032-12-05T00:30:30.263Z moonset +2032-12-05T12:03:29.660Z sunrise +2032-12-05T14:23:01.907Z moonrise 2032-12-05T17:15:41.333Z Sun culminates 38.93 degrees above the horizon 2032-12-05T19:56:08.931Z Moon culminates 44.12 degrees above the horizon -2032-12-05T22:27:45.123Z sunset -2032-12-06T01:31:56.437Z moonset -2032-12-06T12:04:13.238Z sunrise +2032-12-05T22:27:45.044Z sunset +2032-12-06T01:31:56.353Z moonset +2032-12-06T12:04:13.352Z sunrise 2032-12-06T13:57:13.149Z Venus moves from Sagittarius to Capricornus -2032-12-06T15:11:49.827Z moonrise +2032-12-06T15:11:49.879Z moonrise 2032-12-06T17:16:06.933Z Sun culminates 38.81 degrees above the horizon 2032-12-06T20:51:22.529Z Moon culminates 47.11 degrees above the horizon -2032-12-06T22:27:53.116Z sunset -2032-12-07T02:34:37.643Z moonset -2032-12-07T12:04:56.309Z sunrise -2032-12-07T15:57:16.879Z moonrise +2032-12-06T22:27:53.036Z sunset +2032-12-07T02:34:37.598Z moonset +2032-12-07T12:04:56.425Z sunrise +2032-12-07T15:57:16.903Z moonrise 2032-12-07T17:16:33.017Z Sun culminates 38.71 degrees above the horizon 2032-12-07T21:45:09.035Z Moon culminates 50.97 degrees above the horizon -2032-12-07T22:28:02.703Z sunset -2032-12-08T03:37:30.609Z moonset -2032-12-08T12:05:38.715Z sunrise -2032-12-08T16:40:02.962Z moonrise +2032-12-07T22:28:02.621Z sunset +2032-12-08T03:37:30.594Z moonset +2032-12-08T12:05:38.832Z sunrise +2032-12-08T16:40:02.973Z moonrise 2032-12-08T17:16:59.555Z Sun culminates 38.60 degrees above the horizon 2032-12-08T19:12:17.189Z lunar perigee at 370098 km -2032-12-08T22:28:13.869Z sunset +2032-12-08T22:28:13.786Z sunset 2032-12-08T22:37:32.526Z Moon culminates 55.44 degrees above the horizon 2032-12-09T04:40:04.081Z moonset -2032-12-09T12:06:20.412Z sunrise +2032-12-09T12:06:20.530Z sunrise 2032-12-09T17:17:26.517Z Sun culminates 38.51 degrees above the horizon -2032-12-09T17:21:06.884Z moonrise +2032-12-09T17:21:06.889Z moonrise 2032-12-09T19:09:01.817Z first quarter -2032-12-09T22:28:26.597Z sunset +2032-12-09T22:28:26.513Z sunset 2032-12-09T23:29:00.124Z Moon culminates 60.24 degrees above the horizon -2032-12-10T05:42:14.665Z moonset -2032-12-10T12:07:01.355Z sunrise +2032-12-10T05:42:14.666Z moonset +2032-12-10T12:07:01.474Z sunrise 2032-12-10T17:17:53.874Z Sun culminates 38.43 degrees above the horizon -2032-12-10T18:01:35.407Z moonrise -2032-12-10T22:28:40.872Z sunset +2032-12-10T18:01:35.412Z moonrise +2032-12-10T22:28:40.787Z sunset 2032-12-11T00:20:10.918Z Moon culminates 65.06 degrees above the horizon -2032-12-11T06:44:13.399Z moonset -2032-12-11T12:07:41.503Z sunrise +2032-12-11T06:44:13.403Z moonset +2032-12-11T12:07:41.624Z sunrise 2032-12-11T12:11:53.604Z Mercury moves from Libra to Scorpius 2032-12-11T17:18:21.596Z Sun culminates 38.35 degrees above the horizon 2032-12-11T18:42:36.167Z moonrise -2032-12-11T22:28:56.676Z sunset +2032-12-11T22:28:56.589Z sunset 2032-12-12T01:11:44.879Z Moon culminates 69.63 degrees above the horizon -2032-12-12T07:46:09.712Z moonset -2032-12-12T12:08:20.816Z sunrise +2032-12-12T07:46:09.729Z moonset +2032-12-12T12:08:20.937Z sunrise 2032-12-12T17:18:49.653Z Sun culminates 38.28 degrees above the horizon -2032-12-12T19:25:12.135Z moonrise -2032-12-12T22:29:13.990Z sunset +2032-12-12T19:25:12.121Z moonrise +2032-12-12T22:29:13.902Z sunset 2032-12-13T02:04:12.412Z Moon culminates 73.66 degrees above the horizon -2032-12-13T08:47:56.549Z moonset -2032-12-13T12:08:59.254Z sunrise +2032-12-13T08:47:56.592Z moonset +2032-12-13T12:08:59.376Z sunrise 2032-12-13T17:19:18.016Z Sun culminates 38.21 degrees above the horizon -2032-12-13T20:10:14.842Z moonrise -2032-12-13T22:29:32.794Z sunset +2032-12-13T20:10:14.806Z moonrise +2032-12-13T22:29:32.705Z sunset 2032-12-14T02:57:44.729Z Moon culminates 76.91 degrees above the horizon -2032-12-14T09:49:00.403Z moonset -2032-12-14T12:09:36.780Z sunrise +2032-12-14T09:49:00.477Z moonset +2032-12-14T12:09:36.903Z sunrise 2032-12-14T17:19:46.657Z Sun culminates 38.16 degrees above the horizon -2032-12-14T20:58:15.031Z moonrise -2032-12-14T22:29:53.069Z sunset +2032-12-14T20:58:14.969Z moonrise +2032-12-14T22:29:52.979Z sunset 2032-12-15T00:31:22.557Z Mercury moves from Scorpius to Ophiuchus 2032-12-15T03:52:07.091Z Moon culminates 79.15 degrees above the horizon -2032-12-15T10:48:21.493Z moonset -2032-12-15T12:10:13.356Z sunrise +2032-12-15T10:48:21.588Z moonset +2032-12-15T12:10:13.479Z sunrise 2032-12-15T17:20:15.547Z Sun culminates 38.11 degrees above the horizon -2032-12-15T21:49:12.896Z moonrise -2032-12-15T22:30:14.793Z sunset +2032-12-15T21:49:12.812Z moonrise +2032-12-15T22:30:14.702Z sunset 2032-12-16T04:46:39.105Z Moon culminates 80.27 degrees above the horizon -2032-12-16T11:44:47.646Z moonset -2032-12-16T12:10:48.945Z sunrise +2032-12-16T11:44:47.746Z moonset +2032-12-16T12:10:49.069Z sunrise 2032-12-16T17:20:44.656Z Sun culminates 38.07 degrees above the horizon 2032-12-16T20:49:34.955Z full moon -2032-12-16T22:30:37.943Z sunset -2032-12-16T22:42:34.202Z moonrise +2032-12-16T22:30:37.853Z sunset +2032-12-16T22:42:34.108Z moonrise 2032-12-17T05:40:24.998Z Moon culminates 80.22 degrees above the horizon -2032-12-17T12:11:23.514Z sunrise -2032-12-17T12:37:17.255Z moonset +2032-12-17T12:11:23.638Z sunrise +2032-12-17T12:37:17.347Z moonset 2032-12-17T17:21:13.955Z Sun culminates 38.04 degrees above the horizon -2032-12-17T22:31:02.498Z sunset -2032-12-17T23:37:18.574Z moonrise +2032-12-17T22:31:02.407Z sunset +2032-12-17T23:37:18.485Z moonrise 2032-12-18T06:32:30.916Z Moon culminates 79.08 degrees above the horizon -2032-12-18T12:11:57.027Z sunrise -2032-12-18T13:25:18.563Z moonset +2032-12-18T12:11:57.151Z sunrise +2032-12-18T13:25:18.637Z moonset 2032-12-18T17:21:43.415Z Sun culminates 38.01 degrees above the horizon -2032-12-18T22:31:28.432Z sunset -2032-12-19T00:32:18.802Z moonrise +2032-12-18T22:31:28.341Z sunset +2032-12-19T00:32:18.733Z moonrise 2032-12-19T07:22:20.745Z Moon culminates 77.01 degrees above the horizon -2032-12-19T12:12:29.450Z sunrise -2032-12-19T14:08:55.187Z moonset +2032-12-19T12:12:29.574Z sunrise +2032-12-19T14:08:55.240Z moonset 2032-12-19T17:22:13.007Z Sun culminates 38.00 degrees above the horizon -2032-12-19T22:31:55.721Z sunset -2032-12-20T01:26:41.225Z moonrise +2032-12-19T22:31:55.629Z sunset +2032-12-20T01:26:41.182Z moonrise 2032-12-20T08:09:43.411Z Moon culminates 74.20 degrees above the horizon -2032-12-20T12:13:00.750Z sunrise -2032-12-20T14:48:39.020Z moonset +2032-12-20T12:13:00.874Z sunrise +2032-12-20T14:48:39.052Z moonset 2032-12-20T17:22:42.700Z Sun culminates 37.99 degrees above the horizon -2032-12-20T22:32:24.336Z sunset +2032-12-20T22:32:24.244Z sunset 2032-12-20T22:55:55.221Z Uranus opposition -2032-12-21T02:19:57.353Z moonrise +2032-12-21T02:19:57.335Z moonrise 2032-12-21T07:56:05.170Z December solstice 2032-12-21T08:54:51.270Z Moon culminates 70.83 degrees above the horizon -2032-12-21T12:13:30.894Z sunrise -2032-12-21T15:25:18.634Z moonset +2032-12-21T12:13:31.018Z sunrise +2032-12-21T15:25:18.653Z moonset 2032-12-21T17:23:12.464Z Sun culminates 37.99 degrees above the horizon -2032-12-21T22:32:54.250Z sunset -2032-12-22T03:12:04.766Z moonrise +2032-12-21T22:32:54.158Z sunset +2032-12-22T03:12:04.763Z moonrise 2032-12-22T09:38:13.908Z Moon culminates 67.10 degrees above the horizon -2032-12-22T12:13:59.850Z sunrise -2032-12-22T15:59:49.863Z moonset +2032-12-22T12:13:59.974Z sunrise +2032-12-22T15:59:49.875Z moonset 2032-12-22T17:23:42.268Z Sun culminates 37.99 degrees above the horizon -2032-12-22T22:33:25.432Z sunset -2032-12-23T04:03:21.496Z moonrise +2032-12-22T22:33:25.340Z sunset +2032-12-23T04:03:21.499Z moonrise 2032-12-23T10:20:31.628Z Moon culminates 63.15 degrees above the horizon 2032-12-23T11:33:52.773Z lunar apogee at 404502 km -2032-12-23T12:14:27.585Z sunrise -2032-12-23T16:33:10.679Z moonset +2032-12-23T12:14:27.709Z sunrise +2032-12-23T16:33:10.689Z moonset 2032-12-23T17:24:12.080Z Sun culminates 38.01 degrees above the horizon -2032-12-23T22:33:57.850Z sunset -2032-12-24T04:54:18.668Z moonrise +2032-12-23T22:33:57.758Z sunset +2032-12-24T04:54:18.672Z moonrise 2032-12-24T11:02:30.617Z Moon culminates 59.12 degrees above the horizon -2032-12-24T12:14:54.070Z sunrise -2032-12-24T17:06:19.659Z moonset +2032-12-24T12:14:54.193Z sunrise +2032-12-24T17:06:19.668Z moonset 2032-12-24T17:24:41.867Z Sun culminates 38.03 degrees above the horizon 2032-12-24T20:39:47.847Z third quarter -2032-12-24T22:34:31.468Z sunset +2032-12-24T22:34:31.377Z sunset 2032-12-24T22:42:10.110Z Saturn opposition -2032-12-25T05:45:33.684Z moonrise +2032-12-25T05:45:33.691Z moonrise 2032-12-25T11:44:59.808Z Moon culminates 55.14 degrees above the horizon -2032-12-25T12:15:19.271Z sunrise +2032-12-25T12:15:19.395Z sunrise 2032-12-25T17:25:11.596Z Sun culminates 38.06 degrees above the horizon -2032-12-25T17:40:16.531Z moonset -2032-12-25T22:35:06.251Z sunset -2032-12-26T06:37:43.916Z moonrise -2032-12-26T12:15:43.159Z sunrise +2032-12-25T17:40:16.534Z moonset +2032-12-25T22:35:06.160Z sunset +2032-12-26T06:37:43.935Z moonrise +2032-12-26T12:15:43.282Z sunrise 2032-12-26T12:28:48.368Z Moon culminates 51.35 degrees above the horizon 2032-12-26T17:25:41.231Z Sun culminates 38.10 degrees above the horizon -2032-12-26T18:16:03.260Z moonset -2032-12-26T22:35:42.160Z sunset -2032-12-27T07:31:19.718Z moonrise +2032-12-26T18:16:03.250Z moonset +2032-12-26T22:35:42.070Z sunset +2032-12-27T07:31:19.761Z moonrise 2032-12-27T09:52:47.421Z Mercury moves from Ophiuchus to Sagittarius -2032-12-27T12:16:05.704Z sunrise +2032-12-27T12:16:05.826Z sunrise 2032-12-27T13:14:42.330Z Moon culminates 47.91 degrees above the horizon 2032-12-27T17:26:10.738Z Sun culminates 38.15 degrees above the horizon -2032-12-27T18:54:44.035Z moonset -2032-12-27T22:36:19.155Z sunset -2032-12-28T08:26:35.596Z moonrise -2032-12-28T12:16:26.875Z sunrise +2032-12-27T18:54:44.003Z moonset +2032-12-27T22:36:19.065Z sunset +2032-12-28T08:26:35.672Z moonrise +2032-12-28T12:16:26.997Z sunrise 2032-12-28T14:03:18.869Z Moon culminates 45.00 degrees above the horizon 2032-12-28T17:26:40.082Z Sun culminates 38.20 degrees above the horizon -2032-12-28T19:37:22.063Z moonset -2032-12-28T22:36:57.193Z sunset -2032-12-29T09:23:20.082Z moonrise -2032-12-29T12:16:46.645Z sunrise +2032-12-28T19:37:22.001Z moonset +2032-12-28T22:36:57.103Z sunset +2032-12-29T09:23:20.189Z moonrise +2032-12-29T12:16:46.766Z sunrise 2032-12-29T14:54:57.497Z Moon culminates 42.86 degrees above the horizon 2032-12-29T17:27:09.225Z Sun culminates 38.26 degrees above the horizon -2032-12-29T20:24:50.713Z moonset -2032-12-29T22:37:36.230Z sunset -2032-12-30T10:20:48.452Z moonrise -2032-12-30T12:17:04.985Z sunrise +2032-12-29T20:24:50.620Z moonset +2032-12-29T22:37:36.141Z sunset +2032-12-30T10:20:48.576Z moonrise +2032-12-30T12:17:05.104Z sunrise 2032-12-30T15:49:29.852Z Moon culminates 41.72 degrees above the horizon 2032-12-30T17:27:38.133Z Sun culminates 38.33 degrees above the horizon 2032-12-30T17:30:44.894Z Mars moves from Virgo to Libra -2032-12-30T21:17:38.086Z moonset -2032-12-30T22:38:16.221Z sunset -2032-12-31T11:17:46.124Z moonrise -2032-12-31T12:17:21.868Z sunrise +2032-12-30T21:17:37.971Z moonset +2032-12-30T22:38:16.134Z sunset +2032-12-31T11:17:46.245Z moonrise +2032-12-31T12:17:21.987Z sunrise 2032-12-31T13:40:42.805Z Mercury aphelion at 0.4667 AU 2032-12-31T13:40:52.197Z Venus moves from Capricornus to Aquarius 2032-12-31T16:46:13.862Z Moon culminates 41.75 degrees above the horizon 2032-12-31T17:28:06.767Z Sun culminates 38.41 degrees above the horizon -2032-12-31T22:15:29.765Z moonset -2032-12-31T22:38:57.120Z sunset +2032-12-31T22:15:29.646Z moonset +2032-12-31T22:38:57.034Z sunset diff --git a/demo/nodejs/correct/riseset.txt b/demo/nodejs/correct/riseset.txt index 04982d2d..5f5af603 100644 --- a/demo/nodejs/correct/riseset.txt +++ b/demo/nodejs/correct/riseset.txt @@ -1,5 +1,5 @@ search : 2018-11-30T17:55:07.234Z -sunrise : 2018-12-01T13:22:51.106Z -sunset : 2018-11-30T22:21:03.024Z -moonrise : 2018-12-01T06:49:33.192Z -moonset : 2018-11-30T19:22:02.717Z +sunrise : 2018-12-01T13:22:51.098Z +sunset : 2018-11-30T22:21:03.107Z +moonrise : 2018-12-01T06:49:32.983Z +moonset : 2018-11-30T19:22:02.735Z diff --git a/generate/template/astronomy.ts b/generate/template/astronomy.ts index 24a22977..fff942d3 100644 --- a/generate/template/astronomy.ts +++ b/generate/template/astronomy.ts @@ -4269,7 +4269,7 @@ function BodyRadiusAu(body: Body): number { switch (body) { case Body.Sun: return SUN_RADIUS_AU; case Body.Moon: return MOON_EQUATORIAL_RADIUS_AU; - default: return 0; + default: return 0; } } @@ -4319,28 +4319,7 @@ export function SearchRiseSet( limitDays: number): AstroTime | null { const body_radius_au:number = BodyRadiusAu(body); - - function peak_altitude(t: AstroTime): number { - // Return the angular altitude above or below the horizon - // of the highest part (the peak) of the given object. - // This is defined as the apparent altitude of the center of the body plus - // the body's angular radius. - // The 'direction' variable in the enclosing function controls - // whether the angle is measured positive above the horizon or - // positive below the horizon, depending on whether the caller - // wants rise times or set times, respectively. - - const ofdate = Equator(body, t, observer, true, true); - const hor = Horizon(t, observer, ofdate.ra, ofdate.dec); - const alt = hor.altitude + RAD2DEG*(body_radius_au / ofdate.dist) + REFRACTION_NEAR_HORIZON; - return direction * alt; - } - - return ( - (limitDays < 0) - ? BackwardSearchAltitude(body, observer, direction, dateStart, limitDays, peak_altitude) - : ForwardSearchAltitude( body, observer, direction, dateStart, limitDays, peak_altitude) - ); + return InternalSearchAltitude(body, observer, direction, dateStart, limitDays, body_radius_au, -REFRACTION_NEAR_HORIZON); } /** @@ -4407,183 +4386,227 @@ export function SearchRiseSet( if (!Number.isFinite(altitude) || altitude < -90 || altitude > +90) throw `Invalid altitude angle: ${altitude}`; - function altitude_error(t: AstroTime): number { - const ofdate = Equator(body, t, observer, true, true); - const hor = Horizon(t, observer, ofdate.ra, ofdate.dec); - return direction * (hor.altitude - altitude); - } + return InternalSearchAltitude(body, observer, direction, dateStart, limitDays, 0, altitude); +} - return ( - (limitDays < 0) - ? BackwardSearchAltitude(body, observer, direction, dateStart, limitDays, altitude_error) - : ForwardSearchAltitude( body, observer, direction, dateStart, limitDays, altitude_error) - ); + +class AscentInfo { + constructor( + public tx: AstroTime, + public ty: AstroTime, + public ax: number, + public ay: number) + {} } -function ForwardSearchAltitude( - body: Body, - observer: Observer, - direction: number, - dateStart: FlexibleDateTime, - limitDays: number, - altitude_error: (t: AstroTime) => number): AstroTime | null +function FindAscent( + depth: number, + altdiff: (t: AstroTime) => number, + max_deriv_alt: number, + t1: AstroTime, + t2: AstroTime, + a1: number, + a2: number): AscentInfo | null { - VerifyObserver(observer); - VerifyNumber(limitDays); + // See if we can find any time interval where the altitude-diff function + // rises from non-positive to positive. - if (body === Body.Earth) - throw 'Cannot find altitude event for the Earth.'; - - let ha_before: number, ha_after: number; - if (direction === +1) { - ha_before = 12; // minimum altitude (bottom) happens BEFORE the body rises. - ha_after = 0; // maximum altitude (culmination) happens AFTER the body rises. - } else if (direction === -1) { - ha_before = 0; // culmination happens BEFORE the body sets. - ha_after = 12; // bottom happens AFTER the body sets. - } else { - throw `Invalid direction parameter ${direction} -- must be +1 or -1`; + if (a1 < 0.0 && a2 >= 0.0) { + // Trivial success case: the endpoints already rise through zero. + return new AscentInfo(t1, t2, a1, a2); } - // We cannot possibly satisfy a forward search without a positive time limit. - if (limitDays <= 0) + if (a1 >= 0.0 && a2 < 0.0) { + // Trivial failure case: Assume Nyquist condition prevents an ascent. return null; + } - // See if the body is currently above/below the horizon. - // If we are looking for next rise time and the body is below the horizon, - // we use the current time as the lower time bound and the next culmination - // as the upper bound. - // If the body is above the horizon, we search for the next bottom and use it - // as the lower bound and the next culmination after that bottom as the upper bound. - // The same logic applies for finding set times, only we swap the hour angles. - // The peak_altitude() function already considers the 'direction' parameter. - - let time_start = MakeTime(dateStart); - let time_before: AstroTime; - let evt_before: HourAngleEvent; - let evt_after: HourAngleEvent; - let error_before = altitude_error(time_start); - let error_after: number; - if (error_before > 0) { - // We are past the sought event, so we have to wait for the next "before" event (culm/bottom). - evt_before = SearchHourAngle(body, observer, ha_before, time_start, +1); - time_before = evt_before.time; - error_before = altitude_error(time_before); - } else { - // We are before or at the sought event, so we find the next "after" event (bottom/culm), - // and use the current time as the "before" event. - time_before = time_start; + if (depth > 17) { + // Safety valve: do not allow unlimited recursion. + // This should never happen if the rest of the logic is working correctly, + // so fail the whole search if it does happen. It's a bug! + throw `Excessive recursion in rise/set ascent search.`; } - evt_after = SearchHourAngle(body, observer, ha_after, time_before, +1); - error_after = altitude_error(evt_after.time); - while (true) { - if (error_before <= 0 && error_after > 0) { - // Search between evt_before and evt_after for the desired event. - let tx = Search(altitude_error, time_before, evt_after.time, {init_f1:error_before, init_f2:error_after}); - if (tx) { - // If we found the rise/set time, but it falls outside limitDays, fail the search. - if (tx.ut > time_start.ut + limitDays) - return null; - - // The search succeeded. - return tx; - } - } + // Both altitudes are on the same side of zero: both are negative, or both are non-negative. + // There could be a convex "hill" or a concave "valley" that passes through zero. + // In polar regions sometimes there is a rise/set or set/rise pair within minutes of each other. + // For example, the Moon can be below the horizon, then the very top of it becomes + // visible (moonrise) for a few minutes, then it moves sideways and down below + // the horizon again (moonset). We want to catch these cases. + // However, for efficiency and practicality concerns, because the rise/set search itself + // has a 0.1 second threshold, we do not worry about rise/set pairs that are less than + // one second apart. These are marginal cases that are rendered highly uncertain + // anyway, due to unpredictable atmospheric refraction conditions (air temperature and pressure). - // If we didn't find the desired event, use time_after to find the next before-event. - evt_before = SearchHourAngle(body, observer, ha_before, evt_after.time, +1); - if (evt_before.time.ut >= time_start.ut + limitDays) - return null; - evt_after = SearchHourAngle(body, observer, ha_after, evt_before.time, +1); + const dt = t2.ut - t1.ut; + if (dt * SECONDS_PER_DAY < 1.0) + return null; + + // Is it possible to reach zero from the altitude that is closer to zero? + const da = Math.min(Math.abs(a1), Math.abs(a2)); + + // Without loss of generality, assume |a1| <= |a2|. + // (Reverse the argument in the case |a2| < |a1|.) + // Imagine you have to "drive" from a1 to 0, then back to a2. + // You can't go faster than max_deriv_alt. If you can't reach 0 in half the time, + // you certainly don't have time to reach 0, turn around, and still make your way + // back up to a2 (which is at least as far from 0 than a1 is) in the time interval dt. + // Therefore, the time threshold is half the time interval, or dt/2. + if (da > max_deriv_alt*(dt / 2)) { + // Prune: the altitude cannot change fast enough to reach zero. + return null; + } + + // Bisect the time interval and evaluate the altitude at the midpoint. + const tmid = new AstroTime((t1.ut + t2.ut)/2); + const amid = altdiff(tmid); + + // Use recursive bisection to search for a solution bracket. + return ( + FindAscent(1+depth, altdiff, max_deriv_alt, t1, tmid, a1, amid) || + FindAscent(1+depth, altdiff, max_deriv_alt, tmid, t2, amid, a2) + ); +} + + + +function MaxAltitudeSlope(body: Body, latitude: number): number { + // Calculate the maximum possible rate that this body's altitude + // could change [degrees/day] as seen by this observer. + // First use experimentally determined extreme bounds by body + // of how much topocentric RA and DEC can change per rate of time. + // We need minimum possible d(RA)/dt, and maximum possible magnitude of d(DEC)/dt. + // Conservatively, we round d(RA)/dt down, d(DEC)/dt up. + + let deriv_ra : number; + let deriv_dec : number; - time_before = evt_before.time; - error_before = altitude_error(evt_before.time); - error_after = altitude_error(evt_after.time); + switch (body) + { + case Body.Moon: + deriv_ra = +4.5; + deriv_dec = +8.2; + break; + + case Body.Sun: + deriv_ra = +0.8; + deriv_dec = +0.5; + break; + + case Body.Mercury: + deriv_ra = -1.6; + deriv_dec = +1.0; + break; + + case Body.Venus: + deriv_ra = -0.8; + deriv_dec = +0.6; + break; + + case Body.Mars: + deriv_ra = -0.5; + deriv_dec = +0.4; + break; + + case Body.Jupiter: + case Body.Saturn: + case Body.Uranus: + case Body.Neptune: + case Body.Pluto: + deriv_ra = -0.2; + deriv_dec = +0.2; + break; + + default: + throw `Body not allowed for altitude search: ${body}`; } + + const latrad = DEG2RAD * latitude; + return Math.abs(((360.0 / SOLAR_DAYS_PER_SIDEREAL_DAY) - deriv_ra)*Math.cos(latrad)) + Math.abs(deriv_dec*Math.sin(latrad)); } -function BackwardSearchAltitude( +function InternalSearchAltitude( body: Body, observer: Observer, direction: number, dateStart: FlexibleDateTime, limitDays: number, - altitude_error: (t: AstroTime) => number): AstroTime | null + bodyRadiusAu: number, + targetAltitude: number): AstroTime | null { VerifyObserver(observer); VerifyNumber(limitDays); - if (body === Body.Earth) - throw 'Cannot find altitude event for the Earth.'; - - let ha_before: number, ha_after: number; - if (direction === +1) { - ha_before = 12; // minimum altitude (bottom) happens BEFORE the body rises. - ha_after = 0; // maximum altitude (culmination) happens AFTER the body rises. - } else if (direction === -1) { - ha_before = 0; // culmination happens BEFORE the body sets. - ha_after = 12; // bottom happens AFTER the body sets. - } else { - throw `Invalid direction parameter ${direction} -- must be +1 or -1`; - } - - // We cannot possibly satisfy a backward search without a negative time limit. - if (limitDays >= 0) - return null; + const RISE_SET_DT = 0.42; // 10.08 hours: Nyquist-safe for 22-hour period. + const max_deriv_alt = MaxAltitudeSlope(body, observer.latitude); - // See if the body is currently above/below the horizon. - // If we are looking for previous rise time and the body is above the horizon, - // we use the current time as the upper time bound and the previous bottom as the lower time bound. - // If the body is below the horizon, we search for the previous culmination and use it - // as the upper time bound. Then we search for the bottom before that culmination and - // use it as the lower time bound. - // The same logic applies for finding set times; altitude_error_func and - // altitude_error_context ensure that the desired event is represented - // by ascending through zero, so the Search function works correctly. - - let time_start = MakeTime(dateStart); - let time_after: AstroTime; - let evt_before: HourAngleEvent; - let evt_after: HourAngleEvent; - let error_after = altitude_error(time_start); - let error_before: number; - if (error_after < 0) { - evt_after = SearchHourAngle(body, observer, ha_after, time_start, -1); - time_after = evt_after.time; - error_after = altitude_error(time_after); - } else { - time_after = time_start; + function altdiff(time: AstroTime): number { + const ofdate = Equator(body, time, observer, true, true); + const hor = Horizon(time, observer, ofdate.ra, ofdate.dec); + const altitude = hor.altitude + RAD2DEG*Math.asin(bodyRadiusAu / ofdate.dist); + return direction*(altitude - targetAltitude); } - evt_before = SearchHourAngle(body, observer, ha_before, time_after, -1); - error_before = altitude_error(evt_before.time); + // We allow searching forward or backward in time. + // But we want to keep t1 < t2, so we need a few if/else statements. + const startTime = MakeTime(dateStart); + let t1 = startTime; + let t2 = startTime; + let a1 = altdiff(t1); + let a2 = a1; - while (true) { - if (error_before <= 0 && error_after > 0) { - // Search between evt_before and evt_after for the desired event. - let tx = Search(altitude_error, evt_before.time, time_after, {init_f1:error_before, init_f2:error_after}); - if (tx) { - // If we found the rise/set time, but it falls outside limitDays, fail the search. - if (tx.ut < time_start.ut + limitDays) - return null; - - // The search succeeded. - return tx; - } + for(;;) + { + if (limitDays < 0.0) { + t1 = t2.AddDays(-RISE_SET_DT); + a1 = altdiff(t1); + } else { + t2 = t1.AddDays(+RISE_SET_DT); + a2 = altdiff(t2); } - evt_after = SearchHourAngle(body, observer, ha_after, evt_before.time, -1); - if (evt_after.time.ut <= time_start.ut + limitDays) - return null; + const ascent = FindAscent(0, altdiff, max_deriv_alt, t1, t2, a1, a2); + if (ascent) { + // We found a time interval [t1, t2] that contains an alt-diff + // rising from negative a1 to non-negative a2. + // Search for the time where the root occurs. + const time = Search(altdiff, ascent.tx, ascent.ty, { + dt_tolerance_seconds: 0.1, + init_f1: ascent.ax, + init_f2: ascent.ay + }); + + if (time) { + // Now that we have a solution, we have to check whether it goes outside the time bounds. + if (limitDays < 0.0) { + if (time.ut < startTime.ut + limitDays) + return null; + } else { + if (time.ut > startTime.ut + limitDays) + return null; + } + return time; // success! + } - evt_before = SearchHourAngle(body, observer, ha_before, evt_after.time, -1); + // The search should have succeeded. Something is wrong with the ascent finder! + throw `Rise/set search failed after finding ascent: t1=${t1}, t2=${t2}, a1=${a1}, a2=${a2}`; + } - time_after = evt_before.time; - error_before = altitude_error(evt_before.time); - error_after = altitude_error(evt_after.time); + // There is no ascent in this interval, so keep searching. + if (limitDays < 0.0) { + if (t1.ut < startTime.ut + limitDays) + return null; + t2 = t1; + a2 = a1; + } else { + if (t2.ut > startTime.ut + limitDays) + return null; + t1 = t2; + a1 = a2; + } } } diff --git a/generate/test.js b/generate/test.js index d345a14b..121acb4a 100644 --- a/generate/test.js +++ b/generate/test.js @@ -1438,7 +1438,7 @@ function RiseSet() { max_minutes = error_minutes; Debug(`Line ${evt.lnum} : error = ${error_minutes.toFixed(4)}`); } - if (error_minutes > 0.57) { + if (error_minutes > 1.16) { console.log(`Expected ${evt.date.toISOString()}`); console.log(`Found ${a_date.toString()}`); Fail("Excessive prediction time error."); @@ -1476,7 +1476,7 @@ function RiseSetSlot(ut1, ut2, dir, observer) { if (diff > maxDiff) maxDiff = diff; } - if (maxDiff > 0.9) { + if (maxDiff > 0.13) { console.error(`JS RiseSetSlot(${dir}): EXCESSIVE slot-test discrepancy = ${maxDiff.toFixed(6)} seconds.`); return 1; } @@ -1534,7 +1534,7 @@ function RiseSetReverse() { time = result.AddDays(-nudge); } - if (maxDiff > 0.982) { + if (maxDiff > 0.1) { console.error(`C# RiseSetReverse: EXCESSIVE forward/backward discrepancy = ${maxDiff.toFixed(6)} seconds.`); return 1; } diff --git a/source/js/astronomy.browser.js b/source/js/astronomy.browser.js index df6732cc..c84d1975 100644 --- a/source/js/astronomy.browser.js +++ b/source/js/astronomy.browser.js @@ -4801,23 +4801,7 @@ function BodyRadiusAu(body) { */ function SearchRiseSet(body, observer, direction, dateStart, limitDays) { const body_radius_au = BodyRadiusAu(body); - function peak_altitude(t) { - // Return the angular altitude above or below the horizon - // of the highest part (the peak) of the given object. - // This is defined as the apparent altitude of the center of the body plus - // the body's angular radius. - // The 'direction' variable in the enclosing function controls - // whether the angle is measured positive above the horizon or - // positive below the horizon, depending on whether the caller - // wants rise times or set times, respectively. - const ofdate = Equator(body, t, observer, true, true); - const hor = Horizon(t, observer, ofdate.ra, ofdate.dec); - const alt = hor.altitude + exports.RAD2DEG * (body_radius_au / ofdate.dist) + REFRACTION_NEAR_HORIZON; - return direction * alt; - } - return ((limitDays < 0) - ? BackwardSearchAltitude(body, observer, direction, dateStart, limitDays, peak_altitude) - : ForwardSearchAltitude(body, observer, direction, dateStart, limitDays, peak_altitude)); + return InternalSearchAltitude(body, observer, direction, dateStart, limitDays, body_radius_au, -REFRACTION_NEAR_HORIZON); } exports.SearchRiseSet = SearchRiseSet; /** @@ -4876,149 +4860,176 @@ exports.SearchRiseSet = SearchRiseSet; function SearchAltitude(body, observer, direction, dateStart, limitDays, altitude) { if (!Number.isFinite(altitude) || altitude < -90 || altitude > +90) throw `Invalid altitude angle: ${altitude}`; - function altitude_error(t) { - const ofdate = Equator(body, t, observer, true, true); - const hor = Horizon(t, observer, ofdate.ra, ofdate.dec); - return direction * (hor.altitude - altitude); - } - return ((limitDays < 0) - ? BackwardSearchAltitude(body, observer, direction, dateStart, limitDays, altitude_error) - : ForwardSearchAltitude(body, observer, direction, dateStart, limitDays, altitude_error)); + return InternalSearchAltitude(body, observer, direction, dateStart, limitDays, 0, altitude); } exports.SearchAltitude = SearchAltitude; -function ForwardSearchAltitude(body, observer, direction, dateStart, limitDays, altitude_error) { - VerifyObserver(observer); - VerifyNumber(limitDays); - if (body === Body.Earth) - throw 'Cannot find altitude event for the Earth.'; - let ha_before, ha_after; - if (direction === +1) { - ha_before = 12; // minimum altitude (bottom) happens BEFORE the body rises. - ha_after = 0; // maximum altitude (culmination) happens AFTER the body rises. - } - else if (direction === -1) { - ha_before = 0; // culmination happens BEFORE the body sets. - ha_after = 12; // bottom happens AFTER the body sets. - } - else { - throw `Invalid direction parameter ${direction} -- must be +1 or -1`; - } - // We cannot possibly satisfy a forward search without a positive time limit. - if (limitDays <= 0) +class AscentInfo { + constructor(tx, ty, ax, ay) { + this.tx = tx; + this.ty = ty; + this.ax = ax; + this.ay = ay; + } +} +function FindAscent(depth, altdiff, max_deriv_alt, t1, t2, a1, a2) { + // See if we can find any time interval where the altitude-diff function + // rises from non-positive to positive. + if (a1 < 0.0 && a2 >= 0.0) { + // Trivial success case: the endpoints already rise through zero. + return new AscentInfo(t1, t2, a1, a2); + } + if (a1 >= 0.0 && a2 < 0.0) { + // Trivial failure case: Assume Nyquist condition prevents an ascent. return null; - // See if the body is currently above/below the horizon. - // If we are looking for next rise time and the body is below the horizon, - // we use the current time as the lower time bound and the next culmination - // as the upper bound. - // If the body is above the horizon, we search for the next bottom and use it - // as the lower bound and the next culmination after that bottom as the upper bound. - // The same logic applies for finding set times, only we swap the hour angles. - // The peak_altitude() function already considers the 'direction' parameter. - let time_start = MakeTime(dateStart); - let time_before; - let evt_before; - let evt_after; - let error_before = altitude_error(time_start); - let error_after; - if (error_before > 0) { - // We are past the sought event, so we have to wait for the next "before" event (culm/bottom). - evt_before = SearchHourAngle(body, observer, ha_before, time_start, +1); - time_before = evt_before.time; - error_before = altitude_error(time_before); } - else { - // We are before or at the sought event, so we find the next "after" event (bottom/culm), - // and use the current time as the "before" event. - time_before = time_start; + if (depth > 17) { + // Safety valve: do not allow unlimited recursion. + // This should never happen if the rest of the logic is working correctly, + // so fail the whole search if it does happen. It's a bug! + throw `Excessive recursion in rise/set ascent search.`; + } + // Both altitudes are on the same side of zero: both are negative, or both are non-negative. + // There could be a convex "hill" or a concave "valley" that passes through zero. + // In polar regions sometimes there is a rise/set or set/rise pair within minutes of each other. + // For example, the Moon can be below the horizon, then the very top of it becomes + // visible (moonrise) for a few minutes, then it moves sideways and down below + // the horizon again (moonset). We want to catch these cases. + // However, for efficiency and practicality concerns, because the rise/set search itself + // has a 0.1 second threshold, we do not worry about rise/set pairs that are less than + // one second apart. These are marginal cases that are rendered highly uncertain + // anyway, due to unpredictable atmospheric refraction conditions (air temperature and pressure). + const dt = t2.ut - t1.ut; + if (dt * SECONDS_PER_DAY < 1.0) + return null; + // Is it possible to reach zero from the altitude that is closer to zero? + const da = Math.min(Math.abs(a1), Math.abs(a2)); + // Without loss of generality, assume |a1| <= |a2|. + // (Reverse the argument in the case |a2| < |a1|.) + // Imagine you have to "drive" from a1 to 0, then back to a2. + // You can't go faster than max_deriv_alt. If you can't reach 0 in half the time, + // you certainly don't have time to reach 0, turn around, and still make your way + // back up to a2 (which is at least as far from 0 than a1 is) in the time interval dt. + // Therefore, the time threshold is half the time interval, or dt/2. + if (da > max_deriv_alt * (dt / 2)) { + // Prune: the altitude cannot change fast enough to reach zero. + return null; } - evt_after = SearchHourAngle(body, observer, ha_after, time_before, +1); - error_after = altitude_error(evt_after.time); - while (true) { - if (error_before <= 0 && error_after > 0) { - // Search between evt_before and evt_after for the desired event. - let tx = Search(altitude_error, time_before, evt_after.time, { init_f1: error_before, init_f2: error_after }); - if (tx) { - // If we found the rise/set time, but it falls outside limitDays, fail the search. - if (tx.ut > time_start.ut + limitDays) - return null; - // The search succeeded. - return tx; - } - } - // If we didn't find the desired event, use time_after to find the next before-event. - evt_before = SearchHourAngle(body, observer, ha_before, evt_after.time, +1); - if (evt_before.time.ut >= time_start.ut + limitDays) - return null; - evt_after = SearchHourAngle(body, observer, ha_after, evt_before.time, +1); - time_before = evt_before.time; - error_before = altitude_error(evt_before.time); - error_after = altitude_error(evt_after.time); + // Bisect the time interval and evaluate the altitude at the midpoint. + const tmid = new AstroTime((t1.ut + t2.ut) / 2); + const amid = altdiff(tmid); + // Use recursive bisection to search for a solution bracket. + return (FindAscent(1 + depth, altdiff, max_deriv_alt, t1, tmid, a1, amid) || + FindAscent(1 + depth, altdiff, max_deriv_alt, tmid, t2, amid, a2)); +} +function MaxAltitudeSlope(body, latitude) { + // Calculate the maximum possible rate that this body's altitude + // could change [degrees/day] as seen by this observer. + // First use experimentally determined extreme bounds by body + // of how much topocentric RA and DEC can change per rate of time. + // We need minimum possible d(RA)/dt, and maximum possible magnitude of d(DEC)/dt. + // Conservatively, we round d(RA)/dt down, d(DEC)/dt up. + let deriv_ra; + let deriv_dec; + switch (body) { + case Body.Moon: + deriv_ra = +4.5; + deriv_dec = +8.2; + break; + case Body.Sun: + deriv_ra = +0.8; + deriv_dec = +0.5; + break; + case Body.Mercury: + deriv_ra = -1.6; + deriv_dec = +1.0; + break; + case Body.Venus: + deriv_ra = -0.8; + deriv_dec = +0.6; + break; + case Body.Mars: + deriv_ra = -0.5; + deriv_dec = +0.4; + break; + case Body.Jupiter: + case Body.Saturn: + case Body.Uranus: + case Body.Neptune: + case Body.Pluto: + deriv_ra = -0.2; + deriv_dec = +0.2; + break; + default: + throw `Body not allowed for altitude search: ${body}`; } + const latrad = exports.DEG2RAD * latitude; + return Math.abs(((360.0 / SOLAR_DAYS_PER_SIDEREAL_DAY) - deriv_ra) * Math.cos(latrad)) + Math.abs(deriv_dec * Math.sin(latrad)); } -function BackwardSearchAltitude(body, observer, direction, dateStart, limitDays, altitude_error) { +function InternalSearchAltitude(body, observer, direction, dateStart, limitDays, bodyRadiusAu, targetAltitude) { VerifyObserver(observer); VerifyNumber(limitDays); - if (body === Body.Earth) - throw 'Cannot find altitude event for the Earth.'; - let ha_before, ha_after; - if (direction === +1) { - ha_before = 12; // minimum altitude (bottom) happens BEFORE the body rises. - ha_after = 0; // maximum altitude (culmination) happens AFTER the body rises. - } - else if (direction === -1) { - ha_before = 0; // culmination happens BEFORE the body sets. - ha_after = 12; // bottom happens AFTER the body sets. - } - else { - throw `Invalid direction parameter ${direction} -- must be +1 or -1`; - } - // We cannot possibly satisfy a backward search without a negative time limit. - if (limitDays >= 0) - return null; - // See if the body is currently above/below the horizon. - // If we are looking for previous rise time and the body is above the horizon, - // we use the current time as the upper time bound and the previous bottom as the lower time bound. - // If the body is below the horizon, we search for the previous culmination and use it - // as the upper time bound. Then we search for the bottom before that culmination and - // use it as the lower time bound. - // The same logic applies for finding set times; altitude_error_func and - // altitude_error_context ensure that the desired event is represented - // by ascending through zero, so the Search function works correctly. - let time_start = MakeTime(dateStart); - let time_after; - let evt_before; - let evt_after; - let error_after = altitude_error(time_start); - let error_before; - if (error_after < 0) { - evt_after = SearchHourAngle(body, observer, ha_after, time_start, -1); - time_after = evt_after.time; - error_after = altitude_error(time_after); - } - else { - time_after = time_start; - } - evt_before = SearchHourAngle(body, observer, ha_before, time_after, -1); - error_before = altitude_error(evt_before.time); - while (true) { - if (error_before <= 0 && error_after > 0) { - // Search between evt_before and evt_after for the desired event. - let tx = Search(altitude_error, evt_before.time, time_after, { init_f1: error_before, init_f2: error_after }); - if (tx) { - // If we found the rise/set time, but it falls outside limitDays, fail the search. - if (tx.ut < time_start.ut + limitDays) - return null; - // The search succeeded. - return tx; + const RISE_SET_DT = 0.42; // 10.08 hours: Nyquist-safe for 22-hour period. + const max_deriv_alt = MaxAltitudeSlope(body, observer.latitude); + function altdiff(time) { + const ofdate = Equator(body, time, observer, true, true); + const hor = Horizon(time, observer, ofdate.ra, ofdate.dec); + const altitude = hor.altitude + exports.RAD2DEG * Math.asin(bodyRadiusAu / ofdate.dist); + return direction * (altitude - targetAltitude); + } + // We allow searching forward or backward in time. + // But we want to keep t1 < t2, so we need a few if/else statements. + const startTime = MakeTime(dateStart); + let t1 = startTime; + let t2 = startTime; + let a1 = altdiff(t1); + let a2 = a1; + for (;;) { + if (limitDays < 0.0) { + t1 = t2.AddDays(-RISE_SET_DT); + a1 = altdiff(t1); + } + else { + t2 = t1.AddDays(+RISE_SET_DT); + a2 = altdiff(t2); + } + const ascent = FindAscent(0, altdiff, max_deriv_alt, t1, t2, a1, a2); + if (ascent) { + // We found a time interval [t1, t2] that contains an alt-diff + // rising from negative a1 to non-negative a2. + // Search for the time where the root occurs. + const time = Search(altdiff, ascent.tx, ascent.ty, { + dt_tolerance_seconds: 0.1, + init_f1: ascent.ax, + init_f2: ascent.ay + }); + if (time) { + // Now that we have a solution, we have to check whether it goes outside the time bounds. + if (limitDays < 0.0) { + if (time.ut < startTime.ut + limitDays) + return null; + } + else { + if (time.ut > startTime.ut + limitDays) + return null; + } + return time; // success! } + // The search should have succeeded. Something is wrong with the ascent finder! + throw `Rise/set search failed after finding ascent: t1=${t1}, t2=${t2}, a1=${a1}, a2=${a2}`; + } + // There is no ascent in this interval, so keep searching. + if (limitDays < 0.0) { + if (t1.ut < startTime.ut + limitDays) + return null; + t2 = t1; + a2 = a1; + } + else { + if (t2.ut > startTime.ut + limitDays) + return null; + t1 = t2; + a1 = a2; } - evt_after = SearchHourAngle(body, observer, ha_after, evt_before.time, -1); - if (evt_after.time.ut <= time_start.ut + limitDays) - return null; - evt_before = SearchHourAngle(body, observer, ha_before, evt_after.time, -1); - time_after = evt_before.time; - error_before = altitude_error(evt_before.time); - error_after = altitude_error(evt_after.time); } } /** diff --git a/source/js/astronomy.browser.min.js b/source/js/astronomy.browser.min.js index 7d1f704f..bc6e1fdb 100644 --- a/source/js/astronomy.browser.min.js +++ b/source/js/astronomy.browser.min.js @@ -27,235 +27,236 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ -var $jscomp=$jscomp||{};$jscomp.scope={};$jscomp.createTemplateTagFirstArg=function(q){return q.raw=q};$jscomp.createTemplateTagFirstArgWithRaw=function(q,t){q.raw=t;return q};$jscomp.arrayIteratorImpl=function(q){var t=0;return function(){return targuments.length)return arguments.length?Math.abs(arguments[0]):0;var e,y,w;for(e=w=0;ew){if(!w)return w;for(e=y=0;et?-e:e}},"es6","es3"); -(function(q){"object"===typeof exports&&"undefined"!==typeof module?module.exports=q():"function"===typeof define&&define.amd?define([],q):("undefined"!==typeof window?window:"undefined"!==typeof global?global:"undefined"!==typeof self?self:this).Astronomy=q()})(function(){return function(){function q(t,e,y){function w(N,R){if(!e[N]){if(!t[N]){var Ga="function"==typeof require&&require;if(!R&&Ga)return Ga(N,!0);if(x)return x(N,!0);R=Error("Cannot find module '"+N+"'");throw R.code="MODULE_NOT_FOUND", -R;}R=e[N]={exports:{}};t[N][0].call(R.exports,function(v){return w(t[N][1][v]||v)},R,R.exports,q,t,e,y)}return e[N].exports}for(var x="function"==typeof require&&require,P=0;Parguments.length)return arguments.length?Math.abs(arguments[0]):0;var e,z,x;for(e=x=0;ex){if(!x)return x;for(e=z=0;et?-e:e}},"es6","es3"); +(function(r){"object"===typeof exports&&"undefined"!==typeof module?module.exports=r():"function"===typeof define&&define.amd?define([],r):("undefined"!==typeof window?window:"undefined"!==typeof global?global:"undefined"!==typeof self?self:this).Astronomy=r()})(function(){return function(){function r(t,e,z){function x(N,R){if(!e[N]){if(!t[N]){var Fa="function"==typeof require&&require;if(!R&&Fa)return Fa(N,!0);if(A)return A(N,!0);R=Error("Cannot find module '"+N+"'");throw R.code="MODULE_NOT_FOUND", +R;}R=e[N]={exports:{}};t[N][0].call(R.exports,function(v){return x(t[N][1][v]||v)},R,R.exports,r,t,e,z)}return e[N].exports}for(var A="function"==typeof require&&require,Q=0;QMath.abs(c))throw"AngleBetween: first vector is too short.";var d=b.x*b.x+b.y*b.y+b.z*b.z;if(1E-8>Math.abs(d))throw"AngleBetween: second vector is too short.";a=(a.x*b.x+a.y*b.y+a.z*b.z)/Math.sqrt(c*d);return-1>=a?180:1<=a?0:e.RAD2DEG*Math.acos(a)}function R(a){var b=2E3+(a-14)/365.24217;if(-500>b)return a=(b-1820)/100,-20+32*a*a;if(500>b){a=b/100;b=a*a;var c=a*b;return 10583.6-1014.41*a+33.78311*b-5.952053*c-.1798452*b*b+.022174192* b*c+.0090316521*c*c}if(1600>b)return a=(b-1E3)/100,b=a*a,c=a*b,1574.2-556.01*a+71.23472*b+.319781*c-.8503463*b*b-.005050998*b*c+.0083572073*c*c;if(1700>b)return a=b-1600,b=a*a,120-.9808*a-.01532*b+a*b/7129;if(1800>b)return a=b-1700,b=a*a,8.83+.1603*a-.0059285*b+1.3336E-4*a*b-b*b/1174E3;if(1860>b){a=b-1800;b=a*a;c=a*b;var d=b*b;return 13.72-.332447*a+.0068612*b+.0041116*c-3.7436E-4*d+1.21272E-5*b*c-1.699E-7*c*c+8.75E-10*c*d}if(1900>b)return a=b-1860,b=a*a,c=a*b,7.62+.5737*a-.251754*b+.01680668*c-4.473624E-4* b*b+b*c/233174;if(1920>b)return a=b-1900,b=a*a,-2.79+1.494119*a-.0598939*b+.0061966*a*b-1.97E-4*b*b;if(1941>b)return a=b-1920,b=a*a,21.2+.84493*a-.0761*b+.0020936*a*b;if(1961>b)return a=b-1950,b=a*a,29.07+.407*a-b/233+a*b/2547;if(1986>b)return a=b-1975,b=a*a,45.45+1.067*a-b/260-a*b/718;if(2005>b)return a=b-2E3,b=a*a,c=a*b,63.86+.3345*a-.060374*b+.0017275*c+6.51814E-4*b*b+2.373599E-5*b*c;if(2050>b)return a=b-2E3,62.92+.32217*a+.005589*a*a;if(2150>b)return a=(b-1820)/100,-20+32*a*a-.5628*(2150-b);a= -(b-1820)/100;return-20+32*a*a}function Ga(a){return a+Vb(a)/86400}function v(a){return a instanceof Q?a:new Q(a)}function Wb(a){a=a.tt/36525;return(((((-4.34E-8*a-5.76E-7)*a+.0020034)*a-1.831E-4)*a-46.836769)*a+84381.406)/3600}function Za(a){var b;if(!$a||1E-6=F;++F)0!==D[F]&&g(K.x,K.y,c(A,D[F],F),c(z,D[F],F), -function(ra,sa){return K.x=ra,K.y=sa});return K}function h(D,F,O,ea,K,ra,sa,rb){K=l(K,ra,sa,rb);r+=D*K.y;u+=F*K.y;ab+=O*K.x;ta+=ea*K.x}++e.CalcMoonCount;a=a.tt/36525;var m,n,r,u,A=b(-6,6,1,4),z=b(-6,6,1,4);var B=a*a;var ab=u=r=0;var ta=3422.7;var ia=k(.19833+.05611*a);var fa=k(.27869+.04508*a);var V=k(.16827-.36903*a);var aa=k(.34734-5.37261*a);var Ha=k(.10498-5.37899*a);var bb=k(.42681-.41855*a),jd=k(.14943-5.37511*a);var cb=.84*ia+.31*fa+14.27*V+7.26*aa+.28*Ha+.24*bb;var tb=2.94*ia+.31*fa+14.27* -V+9.34*aa+1.12*Ha+.83*bb;var db=-6.4*ia-1.89*bb;fa=.21*ia+.31*fa+14.27*V-88.7*aa-15.3*Ha+.24*bb-1.86*jd;V=cb-db;ia=-3.332E-6*k(.59734-5.37261*a)-5.39E-7*k(.35498-5.37899*a)-6.4E-8*k(.39943-5.37511*a);cb=S*P(.60643382+1336.85522467*a-3.13E-6*B)+cb/ha;tb=S*P(.37489701+1325.55240982*a+2.565E-5*B)+tb/ha;db=S*P(.99312619+99.99735956*a-4.4E-7*B)+db/ha;fa=S*P(.25909118+1342.2278298*a-8.92E-6*B)+fa/ha;Ha=S*P(.82736186+1236.85308708*a-3.97E-6*B)+V/ha;for(m=1;4>=m;++m){switch(m){case 1:V=tb;B=4;aa=1.000002208; -break;case 2:V=db;B=3;aa=.997504612-.002495388*a;break;case 3:V=fa;B=4;aa=1.000002708+139.978*ia;break;case 4:V=Ha;B=6;aa=1;break;default:throw"Internal error: I = "+m;}d(0,m,1);d(1,m,Math.cos(V)*aa);f(0,m,0);f(1,m,Math.sin(V)*aa);for(n=2;n<=B;++n)g(c(A,n-1,m),c(z,n-1,m),c(A,1,m),c(z,1,m),function(D,F){return d(n,m,D),f(n,m,F)});for(n=1;n<=B;++n)d(-n,m,c(A,n,m)),f(-n,m,-c(z,n,m))}h(13.902,14.06,-.001,.2607,0,0,0,4);h(.403,-4.01,.394,.0023,0,0,0,3);h(2369.912,2373.36,.601,28.2333,0,0,0,2);h(-125.154, --112.79,-.725,-.9781,0,0,0,1);h(1.979,6.98,-.445,.0433,1,0,0,4);h(191.953,192.72,.029,3.0861,1,0,0,2);h(-8.466,-13.51,.455,-.1093,1,0,0,1);h(22639.5,22609.07,.079,186.5398,1,0,0,0);h(18.609,3.59,-.094,.0118,1,0,0,-1);h(-4586.465,-4578.13,-.077,34.3117,1,0,0,-2);h(3.215,5.44,.192,-.0386,1,0,0,-3);h(-38.428,-38.64,.001,.6008,1,0,0,-4);h(-.393,-1.43,-.092,.0086,1,0,0,-6);h(-.289,-1.59,.123,-.0053,0,1,0,4);h(-24.42,-25.1,.04,-.3,0,1,0,2);h(18.023,17.93,.007,.1494,0,1,0,1);h(-668.146,-126.98,-1.302,-.3997, -0,1,0,0);h(.56,.32,-.001,-.0037,0,1,0,-1);h(-165.145,-165.06,.054,1.9178,0,1,0,-2);h(-1.877,-6.46,-.416,.0339,0,1,0,-4);h(.213,1.02,-.074,.0054,2,0,0,4);h(14.387,14.78,-.017,.2833,2,0,0,2);h(-.586,-1.2,.054,-.01,2,0,0,1);h(769.016,767.96,.107,10.1657,2,0,0,0);h(1.75,2.01,-.018,.0155,2,0,0,-1);h(-211.656,-152.53,5.679,-.3039,2,0,0,-2);h(1.225,.91,-.03,-.0088,2,0,0,-3);h(-30.773,-34.07,-.308,.3722,2,0,0,-4);h(-.57,-1.4,-.074,.0109,2,0,0,-6);h(-2.921,-11.75,.787,-.0484,1,1,0,2);h(1.267,1.52,-.022,.0164, -1,1,0,1);h(-109.673,-115.18,.461,-.949,1,1,0,0);h(-205.962,-182.36,2.056,1.4437,1,1,0,-2);h(.233,.36,.012,-.0025,1,1,0,-3);h(-4.391,-9.66,-.471,.0673,1,1,0,-4);h(.283,1.53,-.111,.006,1,-1,0,4);h(14.577,31.7,-1.54,.2302,1,-1,0,2);h(147.687,138.76,.679,1.1528,1,-1,0,0);h(-1.089,.55,.021,0,1,-1,0,-1);h(28.475,23.59,-.443,-.2257,1,-1,0,-2);h(-.276,-.38,-.006,-.0036,1,-1,0,-3);h(.636,2.27,.146,-.0102,1,-1,0,-4);h(-.189,-1.68,.131,-.0028,0,2,0,2);h(-7.486,-.66,-.037,-.0086,0,2,0,0);h(-8.096,-16.35,-.74, -.0918,0,2,0,-2);h(-5.741,-.04,0,-9E-4,0,0,2,2);h(.255,0,0,0,0,0,2,1);h(-411.608,-.2,0,-.0124,0,0,2,0);h(.584,.84,0,.0071,0,0,2,-1);h(-55.173,-52.14,0,-.1052,0,0,2,-2);h(.254,.25,0,-.0017,0,0,2,-3);h(.025,-1.67,0,.0031,0,0,2,-4);h(1.06,2.96,-.166,.0243,3,0,0,2);h(36.124,50.64,-1.3,.6215,3,0,0,0);h(-13.193,-16.4,.258,-.1187,3,0,0,-2);h(-1.187,-.74,.042,.0074,3,0,0,-4);h(-.293,-.31,-.002,.0046,3,0,0,-6);h(-.29,-1.45,.116,-.0051,2,1,0,2);h(-7.649,-10.56,.259,-.1038,2,1,0,0);h(-8.627,-7.59,.078,-.0192, -2,1,0,-2);h(-2.74,-2.54,.022,.0324,2,1,0,-4);h(1.181,3.32,-.212,.0213,2,-1,0,2);h(9.703,11.67,-.151,.1268,2,-1,0,0);h(-.352,-.37,.001,-.0028,2,-1,0,-1);h(-2.494,-1.17,-.003,-.0017,2,-1,0,-2);h(.36,.2,-.012,-.0043,2,-1,0,-4);h(-1.167,-1.25,.008,-.0106,1,2,0,0);h(-7.412,-6.12,.117,.0484,1,2,0,-2);h(-.311,-.65,-.032,.0044,1,2,0,-4);h(.757,1.82,-.105,.0112,1,-2,0,2);h(2.58,2.32,.027,.0196,1,-2,0,0);h(2.533,2.4,-.014,-.0212,1,-2,0,-2);h(-.344,-.57,-.025,.0036,0,3,0,-2);h(-.992,-.02,0,0,1,0,2,2);h(-45.099, --.02,0,-.001,1,0,2,0);h(-.179,-9.52,0,-.0833,1,0,2,-2);h(-.301,-.33,0,.0014,1,0,2,-4);h(-6.382,-3.37,0,-.0481,1,0,-2,2);h(39.528,85.13,0,-.7136,1,0,-2,0);h(9.366,.71,0,-.0112,1,0,-2,-2);h(.202,.02,0,0,1,0,-2,-4);h(.415,.1,0,.0013,0,1,2,0);h(-2.152,-2.26,0,-.0066,0,1,2,-2);h(-1.44,-1.3,0,.0014,0,1,-2,2);h(.384,-.04,0,0,0,1,-2,-2);h(1.938,3.6,-.145,.0401,4,0,0,0);h(-.952,-1.58,.052,-.013,4,0,0,-2);h(-.551,-.94,.032,-.0097,3,1,0,0);h(-.482,-.57,.005,-.0045,3,1,0,-2);h(.681,.96,-.026,.0115,3,-1,0,0); -h(-.297,-.27,.002,-9E-4,2,2,0,-2);h(.254,.21,-.003,0,2,-2,0,-2);h(-.25,-.22,.004,.0014,1,3,0,-2);h(-3.996,0,0,4E-4,2,0,2,0);h(.557,-.75,0,-.009,2,0,2,-2);h(-.459,-.38,0,-.0053,2,0,-2,2);h(-1.298,.74,0,4E-4,2,0,-2,0);h(.538,1.14,0,-.0141,2,0,-2,-2);h(.263,.02,0,0,1,1,2,0);h(.426,.07,0,-6E-4,1,1,-2,-2);h(-.304,.03,0,3E-4,1,-1,2,0);h(-.372,-.19,0,-.0027,1,-1,-2,2);h(.418,0,0,0,0,0,4,0);h(-.33,-.04,0,0,3,0,2,0);B=-526.069*l(0,0,1,-2).y;B+=-3.352*l(0,0,1,-4).y;B+=44.297*l(1,0,1,-2).y;B+=-6*l(1,0,1,-4).y; -B+=20.599*l(-1,0,1,0).y;B+=-30.598*l(-1,0,1,-2).y;B+=-24.649*l(-2,0,1,0).y;B+=-2*l(-2,0,1,-2).y;B+=-22.571*l(0,1,1,-2).y;B+=10.985*l(0,-1,1,-2).y;r+=.82*k(.7736-62.5512*a)+.31*k(.0466-125.1025*a)+.35*k(.5785-25.1042*a)+.66*k(.4591+1335.8075*a)+.64*k(.313-91.568*a)+1.14*k(.148+1331.2898*a)+.21*k(.5918+1056.5859*a)+.44*k(.5784+1322.8595*a)+.24*k(.2275-5.7374*a)+.28*k(.2965+2.6929*a)+.33*k(.3132+6.3368*a);a=fa+u/ha;a=(1.000002708+139.978*ia)*(18518.511+1.189+ab)*Math.sin(a)-6.24*Math.sin(3*a)+B;return{geo_eclip_lon:S* -P((cb+r/ha)/S),geo_eclip_lat:Math.PI/648E3*a,distance_au:ha*kd/(.999953253*ta)}}function $b(a,b){return[a.rot[0][0]*b[0]+a.rot[1][0]*b[1]+a.rot[2][0]*b[2],a.rot[0][1]*b[0]+a.rot[1][1]*b[1]+a.rot[2][1]*b[2],a.rot[0][2]*b[0]+a.rot[1][2]*b[1]+a.rot[2][2]*b[2]]}function Ia(a,b,c){b=Ja(b,c);return $b(b,a)}function Ja(a,b){a=a.tt/36525;var c=84381.406,d=((((3.337E-7*a-4.67E-7)*a-.00772503)*a+.0512623)*a-.025754)*a+c;c*=4.84813681109536E-6;var f=((((-9.51E-8*a+1.32851E-4)*a-.00114045)*a-1.0790069)*a+5038.481507)* -a*4.84813681109536E-6;d*=4.84813681109536E-6;var g=((((-5.6E-8*a+1.70663E-4)*a-.00121197)*a-2.3814292)*a+10.556403)*a*4.84813681109536E-6;a=Math.sin(c);c=Math.cos(c);var k=Math.sin(-f);f=Math.cos(-f);var l=Math.sin(-d);d=Math.cos(-d);var h=Math.sin(g),m=Math.cos(g);g=m*f-k*h*d;var n=m*k*c+h*d*f*c-a*h*l,r=m*k*a+h*d*f*a+c*h*l,u=-h*f-k*m*d,A=-h*k*c+m*d*f*c-a*m*l;h=-h*k*a+m*d*f*a+c*m*l;k*=l;m=-l*f*c-a*d;a=-l*f*a+d*c;if(b===G.Into2000)return new L([[g,n,r],[u,A,h],[k,m,a]]);if(b===G.From2000)return new L([[g, -u,k],[n,A,m],[r,h,a]]);throw"Invalid precess direction";}function ba(a){if(!eb||eb.tt!==a.tt){var b=a.tt/36525,c=15*Za(a).ee,d=(.779057273264+.00273781191135448*a.ut+a.ut%1)%1*360;0>d&&(d+=360);b=((c+.014506+((((-3.68E-8*b-2.9956E-5)*b-4.4E-7)*b+1.3915817)*b+4612.156534)*b)/3600+d)%360/15;0>b&&(b+=24);eb={tt:a.tt,st:b}}return eb.st}function ub(a,b){var c=a.latitude*e.DEG2RAD,d=Math.sin(c);c=Math.cos(c);var f=1/Math.hypot(c,.996647180302104*d),g=a.height/1E3,k=6378.1366*f+g;b=(15*b+a.longitude)*e.DEG2RAD; -a=Math.sin(b);b=Math.cos(b);return{pos:[k*c*b/e.KM_PER_AU,k*c*a/e.KM_PER_AU,(6335.438815127603*f+g)*d/e.KM_PER_AU],vel:[-7.292115E-5*k*c*a*86400/e.KM_PER_AU,7.292115E-5*k*c*b*86400/e.KM_PER_AU,0]}}function fb(a,b,c){b=Ka(b,c);return $b(b,a)}function Ka(a,b){a=Za(a);var c=a.mobl*e.DEG2RAD,d=a.tobl*e.DEG2RAD,f=4.84813681109536E-6*a.dpsi;a=Math.cos(c);c=Math.sin(c);var g=Math.cos(d),k=Math.sin(d);d=Math.cos(f);var l=Math.sin(f);f=-l*a;var h=-l*c,m=l*g,n=d*a*g+c*k,r=d*c*g-a*k;l*=k;var u=d*a*k-c*g;a=d* -c*k+a*g;if(b===G.From2000)return new L([[d,m,l],[f,n,u],[h,r,a]]);if(b===G.Into2000)return new L([[d,f,h],[m,n,r],[l,u,a]]);throw"Invalid precess direction";}function gb(a,b,c){return c===G.Into2000?Ia(fb(a,b,c),b,c):fb(Ia(a,b,c),b,c)}function ac(a,b){var c=ba(a);b=ub(b,c).pos;return gb(b,a,G.Into2000)}function ld(a){if(!(a instanceof Array)||3!==a.length)return!1;for(var b=0;3>b;++b){if(!(a[b]instanceof Array)||3!==a[b].length)return!1;for(var c=0;3>c;++c)if(!Number.isFinite(a[b][c]))return!1}return!0} -function bc(a,b){b=new E(a[0],a[1],a[2],b);var c=b.x*b.x+b.y*b.y,d=Math.sqrt(c+b.z*b.z);if(0===c){if(0===b.z)throw"Indeterminate sky coordinates";return new hb(0,0>b.z?-90:90,d,b)}var f=e.RAD2HOUR*Math.atan2(b.y,b.x);0>f&&(f+=24);return new hb(f,e.RAD2DEG*Math.atan2(a[2],Math.sqrt(c)),d,b)}function ua(a,b){var c=a*e.DEG2RAD;a=Math.cos(c);c=Math.sin(c);return[a*b[0]+c*b[1],a*b[1]-c*b[0],b[2]]}function La(a,b,c,d,f){a=v(a);ja(b);x(c);x(d);var g=Math.sin(b.latitude*e.DEG2RAD),k=Math.cos(b.latitude*e.DEG2RAD), -l=Math.sin(b.longitude*e.DEG2RAD),h=Math.cos(b.longitude*e.DEG2RAD);b=Math.sin(d*e.DEG2RAD);var m=Math.cos(d*e.DEG2RAD),n=Math.sin(c*e.HOUR2RAD),r=Math.cos(c*e.HOUR2RAD),u=[k*h,k*l,g];g=[-g*h,-g*l,k];l=[l,-h,0];k=-15*ba(a);a=ua(k,u);u=ua(k,g);l=ua(k,l);b=[m*r,m*n,b];n=b[0]*a[0]+b[1]*a[1]+b[2]*a[2];m=b[0]*u[0]+b[1]*u[1]+b[2]*u[2];u=b[0]*l[0]+b[1]*l[1]+b[2]*l[2];r=Math.hypot(m,u);0m&&(m+=360)):m=0;n=e.RAD2DEG*Math.atan2(r,n);r=d;if(f&&(d=n,f=Ma(f,90-n),n-=f,0l;++l)f.push((b[l]-d*a[l])/u*c+a[l]*r);r=Math.hypot(f[0],f[1]);0c&&(c+=24)):c=0;r=e.RAD2DEG*Math.atan2(f[2],r)}return new cc(m,90-n,c,r)}function ja(a){if(!(a instanceof vb))throw"Not an instance of the Observer class: "+a;x(a.latitude);x(a.longitude);x(a.height);if(-90>a.latitude||90b&&(b+=360));g=e.RAD2DEG*Math.atan2(c,g);a=new E(d,f,c,a.t);return new fc(a,g,b)}function Oa(a){void 0===ib&&(ib=e.DEG2RAD*Za(v(wb)).mobl,gc=Math.cos(ib),hc=Math.sin(ib));return ec(a,gc,hc)}function Y(a){a=v(a);var b=da(a),c=b.distance_au*Math.cos(b.geo_eclip_lat);b=[c*Math.cos(b.geo_eclip_lon),c*Math.sin(b.geo_eclip_lon),b.distance_au*Math.sin(b.geo_eclip_lat)];var d=Wb(a)*e.DEG2RAD;c=Math.cos(d);d=Math.sin(d);b=Ia([b[0],b[1]*c-b[2]*d,b[1]*d+b[2]*c],a,G.Into2000); -return new E(b[0],b[1],b[2],a)}function jb(a){a=v(a);a=da(a);return new Pa(a.geo_eclip_lat*e.RAD2DEG,a.geo_eclip_lon*e.RAD2DEG,a.distance_au)}function Qa(a){a=v(a);var b=a.AddDays(-1E-5),c=a.AddDays(1E-5);b=Y(b);c=Y(c);return new J((b.x+c.x)/2,(b.y+c.y)/2,(b.z+c.z)/2,(c.x-b.x)/2E-5,(c.y-b.y)/2E-5,(c.z-b.z)/2E-5,a)}function xb(a){a=v(a);var b=Qa(a);return new J(b.x/82.30056,b.y/82.30056,b.z/82.30056,b.vx/82.30056,b.vy/82.30056,b.vz/82.30056,a)}function ka(a,b,c){var d=1,f=0;a=$jscomp.makeIterator(a); -for(var g=a.next();!g.done;g=a.next()){var k=0;g=$jscomp.makeIterator(g.value);for(var l=g.next();!l.done;l=g.next()){var h=$jscomp.makeIterator(l.value);l=h.next().value;var m=h.next().value;h=h.next().value;k+=l*Math.cos(m+b*h)}k*=d;c&&(k%=S);f+=k;d*=b}return f}function yb(a,b){var c=1,d=0,f=0,g=0;a=$jscomp.makeIterator(a);for(var k=a.next();!k.done;k=a.next()){var l=0,h=0;k=$jscomp.makeIterator(k.value);for(var m=k.next();!m.done;m=k.next()){var n=$jscomp.makeIterator(m.value);m=n.next().value; -var r=n.next().value;n=n.next().value;r+=b*n;l+=m*n*Math.sin(r);0a?0:a>=b?b-1:a}function Cb(a){var b= -$jscomp.makeIterator(a);a=b.next().value;var c=$jscomp.makeIterator(b.next().value);var d=c.next().value;var f=c.next().value;c=c.next().value;var g=$jscomp.makeIterator(b.next().value);b=g.next().value;var k=g.next().value;g=g.next().value;d=new X(a,new C(d,f,c),new C(b,k,g));a=new xa(d.tt);f=d.r.add(a.Sun.r);c=d.v.add(a.Sun.v);b=a.Acceleration(f);d=new Ta(d.tt,f,c,b);return new jc(a,d)}function lc(a,b,c){a=Cb(a);for(var d=Math.ceil((b-a.grav.tt)/c),f=0;fla[50][0])c=null;else{c=kc((c-d)/29200,50);if(!Eb[c]){d=Eb[c]=[];d[0]=Cb(la[c]).grav;d[200]=Cb(la[c+1]).grav;var f,g=d[0].tt;for(f=1;200>f;++f)d[f]=Bb(g+=146,d[f-1]).grav;g=d[200].tt;var k=[];k[200]=d[200];for(f=199;0d[1]&&(d[1]+=S);f=$jscomp.makeIterator(b.z);for(g=f.next();!g.done;g=f.next())k=$jscomp.makeIterator(g.value),g=k.next().value,l=k.next().value,k=k.next().value,l+=c*k,d[2]+=g* -Math.cos(l),d[3]+=g*Math.sin(l);f=$jscomp.makeIterator(b.zeta);for(g=f.next();!g.done;g=f.next())k=$jscomp.makeIterator(g.value),g=k.next().value,l=k.next().value,k=k.next().value,l+=c*k,d[4]+=g*Math.cos(l),d[5]+=g*Math.sin(l);f=d[0];k=d[1];g=d[2];l=d[3];c=d[4];d=d[5];var h=Math.sqrt(b.mu/(f*f*f));b=k+g*Math.sin(k)-l*Math.cos(k);do{var m=Math.cos(b);var n=Math.sin(b);m=(k-b+g*n-l*m)/(1-g*m-l*n);b+=m}while(1E-12<=Math.abs(m));m=Math.cos(b);n=Math.sin(b);k=l*m-g*n;var r=-g*m-l*n,u=1/(1+r),A=1/(1+Math.sqrt(1- -g*g-l*l));b=f*(m-g-A*l*k);k=f*(n-l+A*g*k);l=h*u*f*(-n-A*l*r);f=h*u*f*(+m+A*g*r);g=2*Math.sqrt(1-c*c-d*d);h=1-2*d*d;m=1-2*c*c;n=2*d*c;a=new J(b*h+k*n,b*n+k*m,(c*k-b*d)*g,l*h+f*n,l*n+f*m,(c*f-l*d)*g,a);return ya(md,a)}function ma(a,b){b=v(b);if(a in M)return va(M[a],b);if(a===p.Pluto)return a=Db(b,!0),new E(a.x,a.y,a.z,b);if(a===p.Sun)return new E(0,0,0,b);if(a===p.Moon){a=va(M.Earth,b);var c=Y(b);return new E(a.x+c.x,a.y+c.y,a.z+c.z,b)}if(a===p.EMB)return a=va(M.Earth,b),c=Y(b),new E(a.x+c.x/82.30056, -a.y+c.y/82.30056,a.z+c.z/82.30056,b);if(a===p.SSB)return a=new E(0,0,0,b),kb(a,b,p.Jupiter,2.825345909524226E-7),kb(a,b,p.Saturn,8.459715185680659E-8),kb(a,b,p.Uranus,1.292024916781969E-8),kb(a,b,p.Neptune,1.524358900784276E-8),a;throw'HelioVector: Unknown body "'+a+'"';}function na(a,b){b=v(b);return a in M?ka(M[a][2],b.tt/365250,!1):ma(a,b).Length()}function mc(a,b){for(var c=b,d=0;10>d;++d){var f=a.Position(c),g=b.AddDays(-f.Length()/e.C_AUDAY);c=Math.abs(g.tt-c.tt);if(1E-9>c)return f;c=g}throw"Light-travel time solver did not converge."; -}function nc(a,b,c,d){w(d);a=v(a);var f=d?new E(0,0,0,a):ma(b,a);b=new Fb(b,c,d,f);return mc(b,a)}function W(a,b,c){w(c);b=v(b);switch(a){case p.Earth:return new E(0,0,0,b);case p.Moon:return Y(b);default:return a=nc(b,p.Earth,a,c),a.t=b,a}}function oa(a,b){return new J(a.r.x,a.r.y,a.r.z,a.v.x,a.v.y,a.v.z,b)}function Gb(a,b){b=v(b);switch(a){case p.Sun:return new J(0,0,0,0,0,0,b);case p.SSB:return a=new xa(b.tt),new J(-a.Sun.r.x,-a.Sun.r.y,-a.Sun.r.z,-a.Sun.v.x,-a.Sun.v.y,-a.Sun.v.z,b);case p.Mercury:case p.Venus:case p.Earth:case p.Mars:case p.Jupiter:case p.Saturn:case p.Uranus:case p.Neptune:return a= -Ra(M[a],b.tt),oa(a,b);case p.Pluto:return Db(b,!0);case p.Moon:case p.EMB:var c=Ra(M.Earth,b.tt);a=a==p.Moon?Qa(b):xb(b);return new J(a.x+c.r.x,a.y+c.r.y,a.z+c.r.z,a.vx+c.v.x,a.vy+c.v.y,a.vz+c.v.z,b);default:throw'HelioState: Unsupported body "'+a+'"';}}function nd(a,b,c,d,f){var g=(f+c)/2-d;c=(f-c)/2;if(0==g){if(0==c)return null;d=-d/c;if(-1>d||1=d)return null;f=Math.sqrt(d);d=(-c+f)/(2*g);f=(-c-f)/(2*g);if(-1<=d&&1>=d){if(-1<=f&&1>=f)return null}else if(-1<= -f&&1>=f)d=f;else return null}return{t:a+d*b,df_dt:(2*g*d+c)/b}}function I(a,b,c,d){var f=x(d&&d.dt_tolerance_seconds||1);f=Math.abs(f/86400);var g=d&&d.init_f1||a(b),k=d&&d.init_f2||a(c),l=NaN,h=0;d=d&&d.iter_limit||20;for(var m=!0;;){if(++h>d)throw"Excessive iteration in Search()";var n=new Q(b.ut+.5*(c.ut-b.ut)),r=n.ut-b.ut;if(Math.abs(r)(r.ut-b.ut)*(r.ut-c.ut)&&0>(A.ut-b.ut)*(A.ut-c.ut))){u=a(r);var B=a(A);if(0>u&&0<=B){g=u;k=B;b=r;c=A;l=z;m=!1;continue}}}}if(0>g&&0<=l)c=n,k=l;else if(0>l&&0<=k)b=n,g=l;else return null}}function za(a){for(;-180>=a;)a+=360;for(;180a;)a+=360;for(;360<=a;)a-=360;return a}function oc(a,b,c){x(a);x(c);b=v(b);c=b.AddDays(c);return I(function(d){d=dc(d);return za(d.elon-a)},b,c,{dt_tolerance_seconds:.01})}function Hb(a, -b,c){if(a===p.Earth||b===p.Earth)throw"The Earth does not have a longitude as seen from itself.";c=v(c);a=W(a,c,!1);a=Oa(a);b=W(b,c,!1);b=Oa(b);return Aa(a.elon-b.elon)}function Ba(a,b){if(a==p.Earth)throw"The Earth does not have an angle as seen from itself.";var c=v(b);b=W(p.Sun,c,!0);a=W(a,c,!0);return N(b,a)}function pa(a,b){if(a===p.Sun)throw"Cannot calculate heliocentric longitude of the Sun.";a=ma(a,b);return Oa(a).elon}function mb(a,b){if(a===p.Earth)throw"The illumination of the Earth is not defined."; -var c=v(b),d=va(M.Earth,c);if(a===p.Sun){var f=new E(-d.x,-d.y,-d.z,c);b=new E(0,0,0,c);d=0}else a===p.Moon?(f=Y(c),b=new E(d.x+f.x,d.y+f.y,d.z+f.z,c)):(b=ma(a,b),f=new E(b.x-d.x,b.y-d.y,b.z-d.z,c)),d=N(f,b);var g=f.Length(),k=b.Length();if(a===p.Sun)var l=od+5*Math.log10(g);else if(a===p.Moon)a=d*e.DEG2RAD,l=a*a,a=-12.717+1.49*Math.abs(a)+.0431*l*l,l=a+=5*Math.log10(g/(385000.6/e.KM_PER_AU)*k);else if(a===p.Saturn){var h=d;a=Oa(f);l=28.06*e.DEG2RAD;var m=e.DEG2RAD*a.elat;a=Math.asin(Math.sin(m)* -Math.cos(l)-Math.cos(m)*Math.sin(l)*Math.sin(e.DEG2RAD*a.elon-e.DEG2RAD*(169.51+3.82E-5*c.tt)));l=Math.sin(Math.abs(a));h=-9+.044*h+l*(-2.6+1.2*l)+5*Math.log10(k*g);a*=e.RAD2DEG;l=h;h=a}else{var n=m=l=0;switch(a){case p.Mercury:a=-.6;l=4.98;m=-4.88;n=3.02;break;case p.Venus:163.6>d?(a=-4.47,l=1.03,m=.57,n=.13):(a=.98,l=-1.02);break;case p.Mars:a=-1.52;l=1.6;break;case p.Jupiter:a=-9.4;l=.5;break;case p.Uranus:a=-7.19;l=.25;break;case p.Neptune:a=-6.87;break;case p.Pluto:a=-1;l=4;break;default:throw"VisualMagnitude: unsupported body "+ -a;}var r=d/100;l=a+r*(l+r*(m+r*n))+5*Math.log10(k*g)}return new pc(c,l,d,k,g,f,b,h)}function Ua(a){if(a===p.Earth)throw"The Earth does not have a synodic period as seen from itself.";if(a===p.Moon)return 29.530588;var b=Z[a];if(!b)throw"Not a valid planet name: "+a;a=Z.Earth.OrbitalPeriod;return Math.abs(a/(a/b.OrbitalPeriod-1))}function Ca(a,b,c){function d(m){var n=pa(a,m);m=pa(p.Earth,m);return za(g*(m-n)-b)}x(b);var f=Z[a];if(!f)throw"Cannot search relative longitude because body is not a planet: "+ -a;if(a===p.Earth)throw"Cannot search relative longitude for the Earth (it is always 0)";var g=f.OrbitalPeriod>Z.Earth.OrbitalPeriod?1:-1;f=Ua(a);c=v(c);var k=d(c);0l;++l){var h=-k/360*f;c=c.AddDays(h);if(1>86400*Math.abs(h))return c;h=k;k=d(c);30>Math.abs(h)&&h!==k&&(h/=h-k,.5h&&(f*=h))}throw"Relative longitude search failed to converge for "+a+" near "+c.toString()+" (error_angle = "+k+").";}function Ib(a){return Hb(p.Moon,p.Sun,a)}function Va(a,b,c){function d(l){l= -Ib(l);return za(l-a)}x(a);x(c);b=v(b);var f=d(b);if(0>c){0>f&&(f+=360);var g=-(29.530588*f)/360;f=g+1.5;if(fc)return null;f=Math.min(c,g+1.5)}c=b.AddDays(k);b=b.AddDays(f);return I(d,c,b,{dt_tolerance_seconds:.1})}function qc(a){var b=Ib(a);b=(Math.floor(b/90)+1)%4;a=Va(90*b,a,10);if(!a)throw"Cannot find moon quarter";return new rc(b,a)}function sc(a,b,c,d,f,g){ja(b);x(f);if(a===p.Earth)throw"Cannot find altitude event for the Earth."; -if(1===c){c=12;var k=0}else if(-1===c)c=0,k=12;else throw"Invalid direction parameter "+c+" -- must be +1 or -1";if(0>=f)return null;d=v(d);var l=g(d);var h;if(0=l&&0d.ut+f?null:m;l=ca(a,b,c,n.time,1);if(l.time.ut>=d.ut+f)return null;n=ca(a,b,k,l.time,1);m=l.time;l=g(l.time);h=g(n.time)}}function tc(a,b,c,d,f,g){ja(b);x(f);if(a===p.Earth)throw"Cannot find altitude event for the Earth."; -if(1===c){c=12;var k=0}else if(-1===c)c=0,k=12;else throw"Invalid direction parameter "+c+" -- must be +1 or -1";if(0<=f)return null;d=v(d);var l=g(d);var h;if(0>l){l=ca(a,b,k,d,-1);var m=l.time;l=g(m)}else m=d;var n=ca(a,b,c,m,-1);for(h=g(n.time);;){if(0>=h&&0c||24<=c)throw"Invalid hour angle "+c;x(f);if(0===f)throw"Direction must be positive or negative.";for(;;){++g;var k=ba(d),l=Na(a,d,b,!0,!0);k=(c+l.ra-b.longitude/15-k)%24;1===g?0k&&(k+=24):0k?k+=24:123600*Math.abs(k))return a=La(d,b,l.ra,l.dec,"normal"),new uc(d,a);d=d.AddDays(k/24*.9972695717592592)}}function vc(a,b){b=v(b);var c=Hb(a,p.Sun,b);if(1805*f;++f){var g=a.AddDays(5),k=b(g);if(0>=d*k){if(0>d||0k){a=I(c,a,g,{init_f1:-d,init_f2:-k});if(!a)throw"SearchLunarApsis INTERNAL ERROR: apogee search failed!"; -d=da(a).distance_au;return new Wa(a,1,d)}throw"SearchLunarApsis INTERNAL ERROR: cannot classify apsis event!";}a=g;d=k}throw"SearchLunarApsis INTERNAL ERROR: could not find apsis within 2 synodic months of start date.";}function yc(a,b,c,d){for(var f=b===Da.Apocenter?1:-1;;){d/=9;if(d<1/1440)return c=c.AddDays(d/2),a=na(a,c),new Wa(c,b,a);for(var g=-1,k=0,l=0;10>l;++l){var h=c.AddDays(l*d);h=f*na(a,h);if(0==l||h>k)g=l,k=h}c=c.AddDays((g-1)*d);d*=2}}function pd(a,b){var c=b.AddDays(-30/360*Z[a].OrbitalPeriod), -d=b.AddDays(.75*Z[a].OrbitalPeriod),f=c,g=c,k=-1,l=-1;d=(d.ut-c.ut)/99;for(var h=0;100>h;++h){var m=c.AddDays(h*d),n=na(a,m);0===h?l=k=n:(n>l&&(l=n,g=m),n=b.tt)return a.time.tt>=b.tt&&a.time.tt=b.tt)return a;throw"Internal error: failed to find Neptune apsis.";}function zc(a,b){function c(n){var r=n.AddDays(-5E-4);n=n.AddDays(5E-4);r=na(a,r);return(na(a,n)-r)/.001}function d(n){return-c(n)} -b=v(b);if(a===p.Neptune||a===p.Pluto)return pd(a,b);for(var f=Z[a].OrbitalPeriod,g=f/6,k=c(b),l=0;l*g<2*f;++l){var h=b.AddDays(g),m=c(h);if(0>=k*m){f=g=void 0;if(0>k||0m)g=d,f=Da.Apocenter;else throw"Internal error with slopes in SearchPlanetApsis";b=I(g,b,h);if(!b)throw"Failed to find slope transition in planetary apsis search.";k=na(a,b);return new Wa(b,f,k)}b=h;k=m}throw"Internal error: should have found planetary apsis within 2 orbital periods.";}function Ea(a){return new L([[a.rot[0][0], -a.rot[1][0],a.rot[2][0]],[a.rot[0][1],a.rot[1][1],a.rot[2][1]],[a.rot[0][2],a.rot[1][2],a.rot[2][2]]])}function Fa(a,b){return new L([[b.rot[0][0]*a.rot[0][0]+b.rot[1][0]*a.rot[0][1]+b.rot[2][0]*a.rot[0][2],b.rot[0][1]*a.rot[0][0]+b.rot[1][1]*a.rot[0][1]+b.rot[2][1]*a.rot[0][2],b.rot[0][2]*a.rot[0][0]+b.rot[1][2]*a.rot[0][1]+b.rot[2][2]*a.rot[0][2]],[b.rot[0][0]*a.rot[1][0]+b.rot[1][0]*a.rot[1][1]+b.rot[2][0]*a.rot[1][2],b.rot[0][1]*a.rot[1][0]+b.rot[1][1]*a.rot[1][1]+b.rot[2][1]*a.rot[1][2],b.rot[0][2]* -a.rot[1][0]+b.rot[1][2]*a.rot[1][1]+b.rot[2][2]*a.rot[1][2]],[b.rot[0][0]*a.rot[2][0]+b.rot[1][0]*a.rot[2][1]+b.rot[2][0]*a.rot[2][2],b.rot[0][1]*a.rot[2][0]+b.rot[1][1]*a.rot[2][1]+b.rot[2][1]*a.rot[2][2],b.rot[0][2]*a.rot[2][0]+b.rot[1][2]*a.rot[2][1]+b.rot[2][2]*a.rot[2][2]]])}function Jb(a,b){b=v(b);var c=a.lat*e.DEG2RAD,d=a.lon*e.DEG2RAD,f=a.dist*Math.cos(c);return new E(f*Math.cos(d),f*Math.sin(d),a.dist*Math.sin(c),b)}function Kb(a){var b=Lb(a);return new hb(b.lon/15,b.lat,b.dist,a)}function Lb(a){var b= -a.x*a.x+a.y*a.y,c=Math.sqrt(b+a.z*a.z);if(0===b){if(0===a.z)throw"Zero-length vector not allowed.";var d=0;a=0>a.z?-90:90}else d=e.RAD2DEG*Math.atan2(a.y,a.x),0>d&&(d+=360),a=e.RAD2DEG*Math.atan2(a.z,Math.sqrt(b));return new Pa(a,d,c)}function Ac(a){a=360-a;360<=a?a-=360:0>a&&(a+=360);return a}function Ma(a,b){x(b);if(-90>b||90c&&(c=-1);c=1.02/Math.tan((c+10.3/(c+5.11))*e.DEG2RAD)/60;"normal"===a&&-1>b&&(c*=(b+90)/89)}else{if(a)throw"Invalid refraction option: "+ -a;c=0}return c}function Bc(a,b){if(-90>b||90Math.abs(d))return c-b;c-=d}}function Xa(a,b){return new E(a.rot[0][0]*b.x+a.rot[1][0]*b.y+a.rot[2][0]*b.z,a.rot[0][1]*b.x+a.rot[1][1]*b.y+a.rot[2][1]*b.z,a.rot[0][2]*b.x+a.rot[1][2]*b.y+a.rot[2][2]*b.z,b.t)}function ya(a,b){return new J(a.rot[0][0]*b.x+a.rot[1][0]*b.y+a.rot[2][0]*b.z,a.rot[0][1]*b.x+a.rot[1][1]*b.y+a.rot[2][1]*b.z,a.rot[0][2]*b.x+a.rot[1][2]*b.y+a.rot[2][2]*b.z,a.rot[0][0]*b.vx+ -a.rot[1][0]*b.vy+a.rot[2][0]*b.vz,a.rot[0][1]*b.vx+a.rot[1][1]*b.vy+a.rot[2][1]*b.vz,a.rot[0][2]*b.vx+a.rot[1][2]*b.vy+a.rot[2][2]*b.vz,b.t)}function Cc(){return new L([[1,0,0],[0,.9174821430670688,-.3977769691083922],[0,.3977769691083922,.9174821430670688]])}function Mb(a){a=v(a);var b=Ja(a,G.From2000);a=Ka(a,G.From2000);return Fa(b,a)}function Nb(a){a=v(a);var b=Ka(a,G.Into2000);a=Ja(a,G.Into2000);return Fa(b,a)}function Ob(a,b){a=v(a);var c=Math.sin(b.latitude*e.DEG2RAD),d=Math.cos(b.latitude* -e.DEG2RAD),f=Math.sin(b.longitude*e.DEG2RAD),g=Math.cos(b.longitude*e.DEG2RAD);b=[d*g,d*f,c];c=[-c*g,-c*f,d];f=[f,-g,0];a=-15*ba(a);b=ua(a,b);c=ua(a,c);a=ua(a,f);return new L([[c[0],a[0],b[0]],[c[1],a[1],b[1]],[c[2],a[2],b[2]]])}function Dc(a,b){a=Ob(a,b);return Ea(a)}function Ec(a,b){a=v(a);b=Dc(a,b);a=Nb(a);return Fa(b,a)}function Fc(a){a=Nb(a);var b=Cc();return Fa(a,b)}function Gc(a){a=Fc(a);return Ea(a)}function Hc(a,b){a=v(a);var c=Gc(a);a=Ob(a,b);return Fa(c,a)}function Ya(a,b,c,d){var f=(d.x* -c.x+d.y*c.y+d.z*c.z)/(d.x*d.x+d.y*d.y+d.z*d.z);return new qd(b,f,e.KM_PER_AU*Math.hypot(f*d.x-c.x,f*d.y-c.y,f*d.z-c.z),695700-(1+f)*(695700-a),-695700+(1+f)*(695700+a),c,d)}function nb(a){var b=W(p.Sun,a,!0);b=new E(-b.x,-b.y,-b.z,b.t);var c=Y(a);return Ya(6459,a,c,b)}function Ic(a){var b=W(p.Sun,a,!0),c=Y(a),d=new E(-c.x,-c.y,-c.z,c.t);c.x-=b.x;c.y-=b.y;c.z-=b.z;return Ya(1737.4,a,d,c)}function Pb(a,b){var c=ac(a,b);b=W(p.Sun,a,!0);var d=Y(a);c=new E(c[0]-d.x,c[1]-d.y,c[2]-d.z,a);d.x-=b.x;d.y-=b.y; -d.z-=b.z;return Ya(1737.4,a,c,d)}function ob(a,b,c){a=W(a,c,!0);var d=W(p.Sun,c,!0),f=new E(a.x-d.x,a.y-d.y,a.z-d.z,c);d.x=-a.x;d.y=-a.y;d.z=-a.z;return Ya(b,c,d,f)}function Qb(a,b){var c=1/86400,d=b.AddDays(-c);b=b.AddDays(+c);d=a(d);return(a(b).r-d.r)/c}function rd(a){var b=a.AddDays(-.03);a=a.AddDays(.03);b=I(function(c){return Qb(nb,c)},b,a);if(!b)throw"Failed to find peak Earth shadow time.";return nb(b)}function sd(a){var b=a.AddDays(-.03);a=a.AddDays(.03);b=I(function(c){return Qb(Ic,c)},b, -a);if(!b)throw"Failed to find peak Moon shadow time.";return Ic(b)}function td(a,b,c){var d=c.AddDays(-1);c=c.AddDays(1);d=I(function(f){var g=1/86400,k=ob(a,b,f.AddDays(-g));return(ob(a,b,f.AddDays(+g)).r-k.r)/g},d,c);if(!d)throw"Failed to find peak planet shadow time.";return ob(a,b,d)}function ud(a,b){function c(g){return Pb(g,b)}var d=a.AddDays(-.2),f=a.AddDays(.2);d=I(function(g){return Qb(c,g)},d,f);if(!d)throw"PeakLocalMoonShadow: search failure for search_center_time = "+a;return Pb(d,b)} -function Rb(a,b,c){var d=c/1440;c=a.AddDays(-d);d=a.AddDays(+d);c=I(function(f){return-(nb(f).r-b)},c,a);a=I(function(f){return+(nb(f).r-b)},a,d);if(!c||!a)throw"Failed to find shadow semiduration";return 720*(a.ut-c.ut)}function Sb(a){a=da(a);return e.RAD2DEG*a.geo_eclip_lat}function Jc(a,b,c){if(0>=a)throw"Radius of first disc must be positive.";if(0>=b)throw"Radius of second disc must be positive.";if(0>c)throw"Distance between discs is not allowed to be negative.";if(c>=a+b)return 0;if(0==c)return a<= -b?1:b*b/(a*a);var d=(a*a-b*b+c*c)/(2*c),f=a*a-d*d;if(0>=f)return a<=b?1:b*b/(a*a);f=Math.sqrt(f);return(a*a*Math.acos(d/a)-d*f+(b*b*Math.acos((c-d)/b)-(c-d)*f))/(Math.PI*a*a)}function Kc(a,b){var c=new E(a.x+b.x,a.y+b.y,a.z+b.z,a.t);a=Math.asin(Lc/c.Length());var d=Math.asin(vd/b.Length());b=N(b,c);b=Jc(a,d,b*e.DEG2RAD);return Math.min(.9999,b)}function Mc(a){a=v(a);for(var b=0;12>b;++b){var c=Va(180,a,40);if(!c)throw"Cannot find full moon.";a=Sb(c);if(1.8>Math.abs(a)&&(a=rd(c),a.rb;++b){var c=Va(0,a,40);if(!c)throw"Cannot find new moon";a=Sb(c);if(1.8>Math.abs(a)&&(a=sd(c),a.r= -d?d+=360:180k.r)throw"Unexpected shadow distance from geoid intersection = "+k.r;g=.014Math.abs(c)){var d=ud(a,b);if(d.rBa(a,d)&&(b=td(a,c,d),b.r=c.lat*f.lat){a.$jscomp$loop$prop$kind$33=f.lat>c.lat?qa.Ascending:qa.Descending;b=I(function(g){return function(k){return g.$jscomp$loop$prop$kind$33* -jb(k).lat}}(a),b,d);if(!b)throw"Could not find moon node.";return new $c(a.$jscomp$loop$prop$kind$33,b)}b=d;c=f}}function ad(a,b,c,d,f){if(1>a||5=c)throw"Major mass must be a positive number.";if(!Number.isFinite(f)||0>=f)throw"Minor mass must be a negative number.";var g=d.x-b.x,k=d.y-b.y,l=d.z-b.z,h=g*g+k*k+l*l,m=Math.sqrt(h),n=d.vx-b.vx,r=d.vy-b.vy;d=d.vz-b.vz;if(4===a||5===a){h=k*d-l*r;c=l*n-g*d;var u=g*r-k*n,A=c*l-u*k;u=u*g-h*l;h= -h*k-c*g;c=Math.sqrt(A*A+u*u+h*h);A/=c;u/=c;h/=c;g/=m;k/=m;l/=m;a=4==a?.8660254037844386:-.8660254037844386;c=.5*g+a*A;f=.5*k+a*u;var z=.5*l+a*h,B=n*g+r*k+d*l;n=n*A+r*u+d*h;b=new J(m*c,m*f,m*z,B*c+n*(.5*A-a*g),B*f+n*(.5*u-a*k),B*z+n*(.5*h-a*l),b.t)}else{A=f/(c+f)*-m;u=c/(c+f)*+m;h=(c+f)/(h*m);if(1===a||2===a)z=c/(c+f)*Math.cbrt(f/(3*c)),c=-c,1==a?(z=1-z,a=+f):(z=1+z,a=-f);else if(3===a)z=(7/12*f-c)/(f+c),c=+c,a=+f;else throw"Invalid Langrage point "+a+". Must be an integer 1..5.";f=m*z-A;do z=f-A, -B=f-u,z=(h*f+c/(z*z)+a/(B*B))/(h-2*c/(z*z*z)-2*a/(B*B*B)),f-=z;while(1E-14Math.abs(c))return b;b=b.AddDays(c)}};Q.prototype.toString=function(){return this.date.toISOString()};Q.prototype.AddDays=function(a){return new Q(this.ut+a)};e.AstroTime=Q;e.MakeTime=v;var Xb=[[[0,0,0,0,1],[-172064161,-174666,33386,92052331,9086,15377]],[[0,0,2,-2,2],[-13170906,-1675,-13696,5730336,-3015,-4587]],[[0,0,2,0,2],[-2276413,-234,2796,978459,-485,1374]],[[0,0,0,0,2],[2074554,207,-698,-897492,470,-291]],[[0, -1,0,0,0],[1475877,-3633,11817,73871,-184,-1924]],[[0,1,2,-2,2],[-516821,1226,-524,224386,-677,-174]],[[1,0,0,0,0],[711159,73,-872,-6750,0,358]],[[0,0,2,0,1],[-387298,-367,380,200728,18,318]],[[1,0,2,0,2],[-301461,-36,816,129025,-63,367]],[[0,-1,2,-2,2],[215829,-494,111,-95929,299,132]],[[0,0,2,-2,1],[128227,137,181,-68982,-9,39]],[[-1,0,2,0,2],[123457,11,19,-53311,32,-4]],[[-1,0,0,2,0],[156994,10,-168,-1235,0,82]],[[1,0,0,0,1],[63110,63,27,-33228,0,-9]],[[-1,0,0,0,1],[-57976,-63,-189,31429,0,-75]], -[[-1,0,2,2,2],[-59641,-11,149,25543,-11,66]],[[1,0,2,0,1],[-51613,-42,129,26366,0,78]],[[-2,0,2,0,1],[45893,50,31,-24236,-10,20]],[[0,0,0,2,0],[63384,11,-150,-1220,0,29]],[[0,0,2,2,2],[-38571,-1,158,16452,-11,68]],[[0,-2,2,-2,2],[32481,0,0,-13870,0,0]],[[-2,0,0,2,0],[-47722,0,-18,477,0,-25]],[[2,0,2,0,2],[-31046,-1,131,13238,-11,59]],[[1,0,2,-2,2],[28593,0,-1,-12338,10,-3]],[[-1,0,2,0,1],[20441,21,10,-10758,0,-3]],[[2,0,0,0,0],[29243,0,-74,-609,0,13]],[[0,0,2,0,0],[25887,0,-66,-550,0,11]],[[0,1,0, -0,1],[-14053,-25,79,8551,-2,-45]],[[-1,0,0,2,1],[15164,10,11,-8001,0,-1]],[[0,2,2,-2,2],[-15794,72,-16,6850,-42,-5]],[[0,0,-2,2,0],[21783,0,13,-167,0,13]],[[1,0,0,-2,1],[-12873,-10,-37,6953,0,-14]],[[0,-1,0,0,1],[-12654,11,63,6415,0,26]],[[-1,0,2,2,1],[-10204,0,25,5222,0,15]],[[0,2,0,0,0],[16707,-85,-10,168,-1,10]],[[1,0,2,2,2],[-7691,0,44,3268,0,19]],[[-2,0,2,0,0],[-11024,0,-14,104,0,2]],[[0,1,2,0,2],[7566,-21,-11,-3250,0,-5]],[[0,0,2,2,1],[-6637,-11,25,3353,0,14]],[[0,-1,2,0,2],[-7141,21,8,3070, -0,4]],[[0,0,0,2,1],[-6302,-11,2,3272,0,4]],[[1,0,2,-2,1],[5800,10,2,-3045,0,-1]],[[2,0,2,-2,2],[6443,0,-7,-2768,0,-4]],[[-2,0,0,2,1],[-5774,-11,-15,3041,0,-5]],[[2,0,2,0,1],[-5350,0,21,2695,0,12]],[[0,-1,2,-2,1],[-4752,-11,-3,2719,0,-3]],[[0,0,0,-2,1],[-4940,-11,-21,2720,0,-9]],[[-1,-1,0,2,0],[7350,0,-8,-51,0,4]],[[2,0,0,-2,1],[4065,0,6,-2206,0,1]],[[1,0,0,2,0],[6579,0,-24,-199,0,2]],[[0,1,2,-2,1],[3579,0,5,-1900,0,1]],[[1,-1,0,0,0],[4725,0,-6,-41,0,3]],[[-2,0,2,0,2],[-3075,0,-2,1313,0,-1]],[[3,0, -2,0,2],[-2904,0,15,1233,0,7]],[[0,-1,0,2,0],[4348,0,-10,-81,0,2]],[[1,-1,2,0,2],[-2878,0,8,1232,0,4]],[[0,0,0,1,0],[-4230,0,5,-20,0,-2]],[[-1,-1,2,2,2],[-2819,0,7,1207,0,3]],[[-1,0,2,0,0],[-4056,0,5,40,0,-2]],[[0,-1,2,2,2],[-2647,0,11,1129,0,5]],[[-2,0,0,0,1],[-2294,0,-10,1266,0,-4]],[[1,1,2,0,2],[2481,0,-7,-1062,0,-3]],[[2,0,0,0,1],[2179,0,-2,-1129,0,-2]],[[-1,1,0,1,0],[3276,0,1,-9,0,0]],[[1,1,0,0,0],[-3389,0,5,35,0,-2]],[[1,0,2,0,0],[3339,0,-13,-107,0,1]],[[-1,0,2,-2,1],[-1987,0,-6,1073,0,-2]], -[[1,0,0,0,2],[-1981,0,0,854,0,0]],[[-1,0,0,1,0],[4026,0,-353,-553,0,-139]],[[0,0,2,1,2],[1660,0,-5,-710,0,-2]],[[-1,0,2,4,2],[-1521,0,9,647,0,4]],[[-1,1,0,1,1],[1314,0,0,-700,0,0]],[[0,-2,2,-2,1],[-1283,0,0,672,0,0]],[[1,0,2,2,1],[-1331,0,8,663,0,4]],[[-2,0,2,2,2],[1383,0,-2,-594,0,-2]],[[-1,0,0,0,2],[1405,0,4,-610,0,2]],[[1,1,2,-2,2],[1290,0,0,-556,0,0]]],$a;e.CalcMoonCount=0;var bd=function(a,b,c,d,f,g){this.elat=a;this.elon=b;this.mlat=c;this.mlon=d;this.dist_km=f;this.diam_deg=g};e.LibrationInfo= -bd;e.Libration=function(a){var b=v(a);a=b.tt/36525;var c=a*a,d=c*a,f=c*c,g=da(b);b=g.geo_eclip_lon;var k=g.geo_eclip_lat;g=g.distance_au*e.KM_PER_AU;var l=1.543*e.DEG2RAD,h=e.DEG2RAD*Aa(93.272095+483202.0175233*a-.0036539*c-d/3526E3+f/86331E4),m=e.DEG2RAD*Aa(125.0445479-1934.1362891*a+.0020754*c+d/467441-f/60616E3),n=e.DEG2RAD*Aa(357.5291092+35999.0502909*a-1.536E-4*c+d/2449E4),r=e.DEG2RAD*Aa(134.9633964+477198.8675055*a+.0087414*c+d/69699-f/14712E3);d=e.DEG2RAD*Aa(297.8501921+445267.1114034*a-.0018819* -c+d/545868-f/113065E3);c=1-.002516*a-7.4E-6*c;var u=b-m;f=Math.atan2(Math.sin(u)*Math.cos(k)*Math.cos(l)-Math.sin(k)*Math.sin(l),Math.cos(u)*Math.cos(k));var A=za(e.RAD2DEG*(f-h));l=Math.asin(-Math.sin(u)*Math.cos(k)*Math.sin(l)-Math.sin(k)*Math.cos(l));u=-.02752*Math.cos(r)+-.02245*Math.sin(h)+.00684*Math.cos(r-2*h)+-.00293*Math.cos(2*h)+-8.5E-4*Math.cos(2*h-2*d)+-5.4E-4*Math.cos(r-2*d)+-2E-4*Math.sin(r+h)+-2E-4*Math.cos(r+2*h)+-2E-4*Math.cos(r-h)+1.4E-4*Math.cos(r+2*h-2*d);var z=-.02816*Math.sin(r)+ -.02244*Math.cos(h)+-.00682*Math.sin(r-2*h)+-.00279*Math.sin(2*h)+-8.3E-4*Math.sin(2*h-2*d)+6.9E-4*Math.sin(r-2*d)+4E-4*Math.cos(r+h)+-2.5E-4*Math.sin(2*r)+-2.3E-4*Math.sin(r+2*h)+2E-4*Math.cos(r-h)+1.9E-4*Math.sin(r-h)+1.3E-4*Math.sin(r+2*h-2*d)+-1E-4*Math.cos(r-3*h);return new bd(e.RAD2DEG*l+(z*Math.cos(f)-u*Math.sin(f)),A+(-(.0252*c*Math.sin(n)+.00473*Math.sin(2*r-2*h)+-.00467*Math.sin(r)+.00396*Math.sin(e.DEG2RAD*(119.75+131.849*a))+.00276*Math.sin(2*r-2*d)+.00196*Math.sin(m)+-.00183*Math.cos(r- -h)+.00115*Math.sin(r-2*d)+-9.6E-4*Math.sin(r-d)+4.6E-4*Math.sin(2*h-2*d)+-3.9E-4*Math.sin(r-h)+-3.2E-4*Math.sin(r-n-d)+2.7E-4*Math.sin(2*r-n-2*d)+2.3E-4*Math.sin(e.DEG2RAD*(72.56+20.186*a))+-1.4E-4*Math.sin(2*d)+1.4E-4*Math.cos(2*r-2*h)+-1.2E-4*Math.sin(r-2*h)+-1.2E-4*Math.sin(2*r)+1.1E-4*Math.sin(2*r-2*n-2*d))+(u*Math.cos(f)+z*Math.sin(f))*Math.tan(l)),e.RAD2DEG*k,e.RAD2DEG*b,g,2*e.RAD2DEG*Math.atan(1737.4/Math.sqrt(g*g-1737.4*1737.4)))};var eb;e.SiderealTime=function(a){a=v(a);return ba(a)};var E= -function(a,b,c,d){this.x=a;this.y=b;this.z=c;this.t=d};E.prototype.Length=function(){return Math.hypot(this.x,this.y,this.z)};e.Vector=E;var J=function(a,b,c,d,f,g,k){this.x=a;this.y=b;this.z=c;this.vx=d;this.vy=f;this.vz=g;this.t=k};e.StateVector=J;var Pa=function(a,b,c){this.lat=x(a);this.lon=x(b);this.dist=x(c)};e.Spherical=Pa;var hb=function(a,b,c,d){this.ra=x(a);this.dec=x(b);this.dist=x(c);this.vec=d};e.EquatorialCoordinates=hb;var L=function(a){this.rot=a};e.RotationMatrix=L;e.MakeRotation= -function(a){if(!ld(a))throw"Argument must be a [3][3] array of numbers";return new L(a)};var cc=function(a,b,c,d){this.azimuth=x(a);this.altitude=x(b);this.ra=x(c);this.dec=x(d)};e.HorizontalCoordinates=cc;var fc=function(a,b,c){this.vec=a;this.elat=x(b);this.elon=x(c)};e.EclipticCoordinates=fc;e.Horizon=La;var vb=function(a,b,c){this.latitude=a;this.longitude=b;this.height=c;ja(this)};e.Observer=vb;e.SunPosition=dc;e.Equator=Na;e.ObserverVector=function(a,b,c){a=v(a);var d=ba(a);b=ub(b,d).pos;c|| -(b=gb(b,a,G.Into2000));return new E(b[0],b[1],b[2],a)};e.ObserverState=function(a,b,c){a=v(a);var d=ba(a);b=ub(b,d);b=new J(b.pos[0],b.pos[1],b.pos[2],b.vel[0],b.vel[1],b.vel[2],a);return c?b:(c=G.Into2000,c===G.Into2000?(d=Ka(a,c),b=ya(d,b),a=Ja(a,c),a=ya(a,b)):(d=Ja(a,c),b=ya(d,b),a=Ka(a,c),a=ya(a,b)),a)};e.VectorObserver=function(a,b){var c=ba(a.t),d=[a.x,a.y,a.z];b||(d=Ia(d,a.t,G.From2000),d=fb(d,a.t,G.From2000));b=d[0]*e.KM_PER_AU;var f=d[1]*e.KM_PER_AU;d=d[2]*e.KM_PER_AU;a=Math.hypot(b,f);if(1E-6> -a){c=0;var g=0=c;)c+=360;for(;180Math.abs(n))break;g-=n/(-42.69778487239616*((l-h)/k-h*l*-.006694397995865464/(-42.69778487239616*m))+d*f+a*b)}g*=e.RAD2DEG;k=6378.1366/k;d=Math.abs(f)>Math.abs(b)?d/f-.9933056020041345*k:a/b-k}return new vb(g, -c,1E3*d)};e.ObserverGravity=function(a,b){a=Math.sin(a*e.DEG2RAD);a*=a;return 9.7803253359*(1+.00193185265241*a)/Math.sqrt(1-.00669437999013*a)*(1-(3.15704E-7-2.10269E-9*a)*b+7.37452E-14*b*b)};e.Ecliptic=Oa;e.GeoMoon=Y;e.EclipticGeoMoon=jb;e.GeoMoonState=Qa;e.GeoEmbState=xb;var la=[[-73E4,[-26.118207232108,-14.376168177825,3.384402515299],[.0016339372163656,-.0027861699588508,-.0013585880229445]],[-700800,[41.974905202127,-.448502952929,-12.770351505989],[7.3458569351457E-4,.0022785014891658,4.8619778602049E-4]], -[-671600,[14.706930780744,44.269110540027,9.353698474772],[-.00210001479998,2.2295915939915E-4,7.0143443551414E-4]],[-642400,[-29.441003929957,-6.43016153057,6.858481011305],[8.4495803960544E-4,-.0030783914758711,-.0012106305981192]],[-613200,[39.444396946234,-6.557989760571,-13.913760296463],[.0011480029005873,.0022400006880665,3.5168075922288E-4]],[-584E3,[20.2303809507,43.266966657189,7.382966091923],[-.0019754081700585,5.3457141292226E-4,7.5929169129793E-4]],[-554800,[-30.65832536462,2.093818874552, -9.880531138071],[6.1010603013347E-5,-.0031326500935382,-9.9346125151067E-4]],[-525600,[35.737703251673,-12.587706024764,-14.677847247563],[.0015802939375649,.0021347678412429,1.9074436384343E-4]],[-496400,[25.466295188546,41.367478338417,5.216476873382],[-.0018054401046468,8.328308359951E-4,8.0260156912107E-4]],[-467200,[-29.847174904071,10.636426313081,12.297904180106],[-6.3257063052907E-4,-.0029969577578221,-7.4476074151596E-4]],[-438E3,[30.774692107687,-18.236637015304,-14.945535879896],[.0020113162005465, -.0019353827024189,-2.0937793168297E-6]],[-408800,[30.243153324028,38.656267888503,2.938501750218],[-.0016052508674468,.0011183495337525,8.3333973416824E-4]],[-379600,[-27.288984772533,18.643162147874,14.023633623329],[-.0011856388898191,-.0027170609282181,-4.9015526126399E-4]],[-350400,[24.519605196774,-23.245756064727,-14.626862367368],[.0024322321483154,.0016062008146048,-2.3369181613312E-4]],[-321200,[34.505274805875,35.125338586954,.557361475637],[-.0013824391637782,.0013833397561817,8.4823598806262E-4]], -[-292E3,[-23.275363915119,25.818514298769,15.055381588598],[-.0016062295460975,-.0023395961498533,-2.4377362639479E-4]],[-262800,[17.050384798092,-27.180376290126,-13.608963321694],[.0028175521080578,.0011358749093955,-4.9548725258825E-4]],[-233600,[38.093671910285,30.880588383337,-1.843688067413],[-.0011317697153459,.0016128814698472,8.4177586176055E-4]],[-204400,[-18.197852930878,31.932869934309,15.438294826279],[-.0019117272501813,-.0019146495909842,-1.9657304369835E-5]],[-175200,[8.528924039997, --29.618422200048,-11.805400994258],[.0031034370787005,5.139363329243E-4,-7.7293066202546E-4]],[-146E3,[40.94685725864,25.904973592021,-4.256336240499],[-8.3652705194051E-4,.0018129497136404,8.156422827306E-4]],[-116800,[-12.326958895325,36.881883446292,15.217158258711],[-.0021166103705038,-.001481442003599,1.7401209844705E-4]],[-87600,[-.633258375909,-30.018759794709,-9.17193287495],[.0032016994581737,-2.5279858672148E-4,-.0010411088271861]],[-58400,[42.936048423883,20.344685584452,-6.588027007912], -[-5.0525450073192E-4,.0019910074335507,7.7440196540269E-4]],[-29200,[-5.975910552974,40.61180995846,14.470131723673],[-.0022184202156107,-.0010562361130164,3.3652250216211E-4]],[0,[-9.875369580774,-27.978926224737,-5.753711824704],[.0030287533248818,-.0011276087003636,-.0012651326732361]],[29200,[43.958831986165,14.214147973292,-8.808306227163],[-1.4717608981871E-4,.0021404187242141,7.1486567806614E-4]],[58400,[.67813676352,43.094461639362,13.243238780721],[-.0022358226110718,-6.3233636090933E-4, -4.7664798895648E-4]],[87600,[-18.282602096834,-23.30503958666,-1.766620508028],[.0025567245263557,-.0019902940754171,-.0013943491701082]],[116800,[43.873338744526,7.700705617215,-10.814273666425],[2.3174803055677E-4,.0022402163127924,6.2988756452032E-4]],[146E3,[7.392949027906,44.382678951534,11.629500214854],[-.002193281545383,-2.1751799585364E-4,5.9556516201114E-4]],[175200,[-24.981690229261,-16.204012851426,2.466457544298],[.001819398914958,-.0026765419531201,-.0013848283502247]],[204400,[42.530187039511, -.845935508021,-12.554907527683],[6.5059779150669E-4,.0022725657282262,5.1133743202822E-4]],[233600,[13.999526486822,44.462363044894,9.669418486465],[-.0021079296569252,1.7533423831993E-4,6.9128485798076E-4]],[262800,[-29.184024803031,-7.371243995762,6.493275957928],[9.3581363109681E-4,-.0030610357109184,-.0012364201089345]],[292E3,[39.831980671753,-6.078405766765,-13.909815358656],[.0011117769689167,.0022362097830152,3.6230548231153E-4]],[321200,[20.294955108476,43.417190420251,7.450091985932],[-.0019742157451535, -5.3102050468554E-4,7.5938408813008E-4]],[350400,[-30.66999230216,2.318743558955,9.973480913858],[4.5605107450676E-5,-.0031308219926928,-9.9066533301924E-4]],[379600,[35.626122155983,-12.897647509224,-14.777586508444],[.0016015684949743,.0021171931182284,1.8002516202204E-4]],[408800,[26.133186148561,41.232139187599,5.00640132622],[-.0017857704419579,8.6046232702817E-4,8.0614690298954E-4]],[438E3,[-29.57674022923,11.863535943587,12.631323039872],[-7.2292830060955E-4,-.0029587820140709,-7.08242964503E-4]], -[467200,[29.910805787391,-19.159019294,-15.013363865194],[.0020871080437997,.0018848372554514,-3.8528655083926E-5]],[496400,[31.375957451819,38.050372720763,2.433138343754],[-.0015546055556611,.0011699815465629,8.3565439266001E-4]],[525600,[-26.360071336928,20.662505904952,14.414696258958],[-.0013142373118349,-.0026236647854842,-4.2542017598193E-4]],[554800,[22.599441488648,-24.508879898306,-14.484045731468],[.0025454108304806,.0014917058755191,-3.0243665086079E-4]],[584E3,[35.877864013014,33.894226366071, --.224524636277],[-.0012941245730845,.0014560427668319,8.4762160640137E-4]],[613200,[-21.538149762417,28.204068269761,15.321973799534],[-.001731211740901,-.0021939631314577,-1.631691327518E-4]],[642400,[13.971521374415,-28.339941764789,-13.083792871886],[.0029334630526035,9.1860931752944E-4,-5.9939422488627E-4]],[671600,[39.526942044143,28.93989736011,-2.872799527539],[-.0010068481658095,.001702113288809,8.3578230511981E-4]],[700800,[-15.576200701394,34.399412961275,15.466033737854],[-.0020098814612884, --.0017191109825989,7.0414782780416E-5]],[73E4,[4.24325283709,-30.118201690825,-10.707441231349],[.0031725847067411,1.609846120227E-4,-9.0672150593868E-4]]],C=function(a,b,c){this.x=a;this.y=b;this.z=c};C.prototype.clone=function(){return new C(this.x,this.y,this.z)};C.prototype.ToAstroVector=function(a){return new E(this.x,this.y,this.z,a)};C.zero=function(){return new C(0,0,0)};C.prototype.quadrature=function(){return this.x*this.x+this.y*this.y+this.z*this.z};C.prototype.add=function(a){return new C(this.x+ -a.x,this.y+a.y,this.z+a.z)};C.prototype.sub=function(a){return new C(this.x-a.x,this.y-a.y,this.z-a.z)};C.prototype.incr=function(a){this.x+=a.x;this.y+=a.y;this.z+=a.z};C.prototype.decr=function(a){this.x-=a.x;this.y-=a.y;this.z-=a.z};C.prototype.mul=function(a){return new C(a*this.x,a*this.y,a*this.z)};C.prototype.div=function(a){return new C(this.x/a,this.y/a,this.z/a)};C.prototype.mean=function(a){return new C((this.x+a.x)/2,(this.y+a.y)/2,(this.z+a.z)/2)};C.prototype.neg=function(){return new C(-this.x, --this.y,-this.z)};var X=function(a,b,c){this.tt=a;this.r=b;this.v=c};X.prototype.clone=function(){return new X(this.tt,this.r,this.v)};X.prototype.sub=function(a){return new X(this.tt,this.r.sub(a.r),this.v.sub(a.v))};var xa=function(a){var b=new X(a,new C(0,0,0),new C(0,0,0));this.Jupiter=T(b,a,p.Jupiter,2.825345909524226E-7);this.Saturn=T(b,a,p.Saturn,8.459715185680659E-8);this.Uranus=T(b,a,p.Uranus,1.292024916781969E-8);this.Neptune=T(b,a,p.Neptune,1.524358900784276E-8);this.Jupiter.r.decr(b.r); -this.Jupiter.v.decr(b.v);this.Saturn.r.decr(b.r);this.Saturn.v.decr(b.v);this.Uranus.r.decr(b.r);this.Uranus.v.decr(b.v);this.Neptune.r.decr(b.r);this.Neptune.v.decr(b.v);this.Sun=new X(a,b.r.mul(-1),b.v.mul(-1))};xa.prototype.Acceleration=function(a){var b=Sa(a,2.959122082855911E-4,this.Sun.r);b.incr(Sa(a,2.825345909524226E-7,this.Jupiter.r));b.incr(Sa(a,8.459715185680659E-8,this.Saturn.r));b.incr(Sa(a,1.292024916781969E-8,this.Uranus.r));b.incr(Sa(a,1.524358900784276E-8,this.Neptune.r));return b}; -var Ta=function(a,b,c,d){this.tt=a;this.r=b;this.v=c;this.a=d};Ta.prototype.clone=function(){return new Ta(this.tt,this.r.clone(),this.v.clone(),this.a.clone())};var jc=function(a,b){this.bary=a;this.grav=b},Eb=[],md=new L([[.999432765338654,-.0336771074697641,0],[.0303959428906285,.902057912352809,.430543388542295],[-.0144994559663353,-.430299169409101,.902569881273754]]),qb=[{mu:2.82489428433814E-7,al:[1.446213296021224,3.5515522861824],a:[[.0028210960212903,0,0]],l:[[-1.925258348666E-4,4.9369589722645, -.01358483658305],[-9.70803596076E-5,4.3188796477322,.01303413843243],[-8.988174165E-5,1.9080016428617,.00305064867158],[-5.53101050262E-5,1.4936156681569,.01293892891155]],z:[[.0041510849668155,4.089939635545,-.01290686414666],[6.260521444113E-4,1.446188898627,3.5515522949802],[3.52747346169E-5,2.1256287034578,1.2727416567E-4]],zeta:[[3.142172466014E-4,2.7964219722923,-.002315096098],[9.04169207946E-5,1.0477061879627,-5.6920638196E-4]]},{mu:2.82483274392893E-7,al:[-.3735263437471362,1.76932271112347], -a:[[.0044871037804314,0,0],[4.324367498E-7,1.819645606291,1.7822295777568]],l:[[8.576433172936E-4,4.3188693178264,.01303413830805],[4.549582875086E-4,1.4936531751079,.01293892881962],[3.248939825174E-4,1.8196494533458,1.7822295777568],[-3.074250079334E-4,4.9377037005911,.01358483286724],[1.982386144784E-4,1.907986905476,.00305101212869],[1.834063551804E-4,2.1402853388529,.00145009789338],[-1.434383188452E-4,5.622214036663,.89111478887838],[-7.71939140944E-5,4.300272437235,2.6733443704266]],z:[[-.0093589104136341, -4.0899396509039,-.01290686414666],[2.988994545555E-4,5.9097265185595,1.7693227079462],[2.13903639035E-4,2.1256289300016,1.2727418407E-4],[1.980963564781E-4,2.743516829265,6.7797343009E-4],[1.210388158965E-4,5.5839943711203,3.20566149E-5],[8.37042048393E-5,1.6094538368039,-.90402165808846],[8.23525166369E-5,1.4461887708689,3.5515522949802]],zeta:[[.0040404917832303,1.0477063169425,-5.692064054E-4],[2.200421034564E-4,3.3368857864364,-1.2491307307E-4],[1.662544744719E-4,2.4134862374711,0],[5.90282470983E-5, -5.9719930968366,-3.056160225E-5]]},{mu:2.82498184184723E-7,al:[.2874089391143348,.878207923589328],a:[[.0071566594572575,0,0],[1.393029911E-6,1.1586745884981,2.6733443704266]],l:[[2.310797886226E-4,2.1402987195942,.00145009784384],[-1.828635964118E-4,4.3188672736968,.01303413828263],[1.512378778204E-4,4.9373102372298,.01358483481252],[-1.163720969778E-4,4.300265986149,2.6733443704266],[-9.55478069846E-5,1.4936612842567,.01293892879857],[8.15246854464E-5,5.6222137132535,.89111478887838],[-8.01219679602E-5, -1.2995922951532,1.0034433456729],[-6.07017260182E-5,.64978769669238,.50172167043264]],z:[[.0014289811307319,2.1256295942739,1.2727413029E-4],[7.71093122676E-4,5.5836330003496,3.20643411E-5],[5.925911780766E-4,4.0899396636448,-.01290686414666],[2.045597496146E-4,5.2713683670372,-.12523544076106],[1.785118648258E-4,.28743156721063,.8782079244252],[1.131999784893E-4,1.4462127277818,3.5515522949802],[-6.5877816921E-5,2.2702423990985,-1.7951364394537],[4.97058888328E-5,5.9096792204858,1.7693227129285]], -zeta:[[.0015932721570848,3.3368862796665,-1.2491307058E-4],[8.533093128905E-4,2.4133881688166,0],[3.513347911037E-4,5.9720789850127,-3.056101771E-5],[-1.441929255483E-4,1.0477061764435,-5.6920632124E-4]]},{mu:2.82492144889909E-7,al:[-.3620341291375704,.376486233433828],a:[[.0125879701715314,0,0],[3.595204947E-6,.64965776007116,.50172168165034],[2.7580210652E-6,1.808423578151,3.1750660413359]],l:[[5.586040123824E-4,2.1404207189815,.00145009793231],[-3.805813868176E-4,2.7358844897853,2.972965062E-5], -[2.205152863262E-4,.649796525964,.5017216724358],[1.877895151158E-4,1.8084787604005,3.1750660413359],[7.66916975242E-5,6.2720114319755,1.3928364636651],[7.47056855106E-5,1.2995916202344,1.0034433456729]],z:[[.0073755808467977,5.5836071576084,3.206509914E-5],[2.065924169942E-4,5.9209831565786,.37648624194703],[1.589869764021E-4,.28744006242623,.8782079244252],[-1.561131605348E-4,2.1257397865089,1.2727441285E-4],[1.486043380971E-4,1.4462134301023,3.5515522949802],[6.35073108731E-5,5.9096803285954,1.7693227129285], -[5.99351698525E-5,4.1125517584798,-2.7985797954589],[5.40660842731E-5,5.5390350845569,.00286834082283],[-4.89596900866E-5,4.6218149483338,-.62695712529519]],zeta:[[.0038422977898495,2.4133922085557,0],[.0022453891791894,5.9721736773277,-3.056125525E-5],[-2.604479450559E-4,3.3368746306409,-1.2491309972E-4],[3.3211214323E-5,5.5604137742337,.00290037688507]]}],cd=function(a,b,c,d){this.io=a;this.europa=b;this.ganymede=c;this.callisto=d};e.JupiterMoonsInfo=cd;e.JupiterMoons=function(a){a=new Q(a);return new cd(lb(a, -qb[0]),lb(a,qb[1]),lb(a,qb[2]),lb(a,qb[3]))};e.HelioVector=ma;e.HelioDistance=na;var dd=function(){};e.PositionFunction=dd;e.CorrectLightTravel=mc;var Fb=function(a,b,c,d){this.observerBody=a;this.targetBody=b;this.aberration=c;this.observerPos=d;return this};$jscomp.inherits(Fb,dd);Fb.prototype.Position=function(a){this.aberration&&(this.observerPos=ma(this.observerBody,a));var b=ma(this.targetBody,a);return new E(b.x-this.observerPos.x,b.y-this.observerPos.y,b.z-this.observerPos.z,a)};e.BackdatePosition= -nc;e.GeoVector=W;e.BaryState=function(a,b){b=v(b);if(a===p.SSB)return new J(0,0,0,0,0,0,b);if(a===p.Pluto)return Db(b,!1);var c=new xa(b.tt);switch(a){case p.Sun:return oa(c.Sun,b);case p.Jupiter:return oa(c.Jupiter,b);case p.Saturn:return oa(c.Saturn,b);case p.Uranus:return oa(c.Uranus,b);case p.Neptune:return oa(c.Neptune,b);case p.Moon:case p.EMB:var d=Ra(M[p.Earth],b.tt);a=a===p.Moon?Qa(b):xb(b);return new J(a.x+c.Sun.r.x+d.r.x,a.y+c.Sun.r.y+d.r.y,a.z+c.Sun.r.z+d.r.z,a.vx+c.Sun.v.x+d.v.x,a.vy+ -c.Sun.v.y+d.v.y,a.vz+c.Sun.v.z+d.v.z,b)}if(a in M)return a=Ra(M[a],b.tt),new J(c.Sun.r.x+a.r.x,c.Sun.r.y+a.r.y,c.Sun.r.z+a.r.z,c.Sun.v.x+a.v.x,c.Sun.v.y+a.v.y,c.Sun.v.z+a.v.z,b);throw'BaryState: Unsupported body "'+a+'"';};e.HelioState=Gb;e.Search=I;e.SearchSunLongitude=oc;e.PairLongitude=Hb;e.AngleFromSun=Ba;e.EclipticLongitude=pa;var pc=function(a,b,c,d,f,g,k,l){this.time=a;this.mag=b;this.phase_angle=c;this.helio_dist=d;this.geo_dist=f;this.gc=g;this.hc=k;this.ring_tilt=l;this.phase_fraction=(1+ -Math.cos(e.DEG2RAD*c))/2};e.IlluminationInfo=pc;e.Illumination=mb;e.SearchRelativeLongitude=Ca;e.MoonPhase=Ib;e.SearchMoonPhase=Va;var rc=function(a,b){this.quarter=a;this.time=b};e.MoonQuarter=rc;e.SearchMoonQuarter=qc;e.NextMoonQuarter=function(a){a=new Date(a.time.date.getTime()+5184E5);return qc(a)};e.SearchRiseSet=function(a,b,c,d,f){function g(h){var m=Na(a,h,b,!0,!0);h=La(h,b,m.ra,m.dec).altitude+l/m.dist*e.RAD2DEG+xd;return c*h}a:switch(a){case p.Sun:var k=Lc;break a;case p.Moon:k=wd;break a; -default:k=0}var l=k;return 0>f?tc(a,b,c,d,f,g):sc(a,b,c,d,f,g)};e.SearchAltitude=function(a,b,c,d,f,g){function k(l){var h=Na(a,l,b,!0,!0);l=La(l,b,h.ra,h.dec);return c*(l.altitude-g)}if(!Number.isFinite(g)||-90>g||90f?tc(a,b,c,d,f,k):sc(a,b,c,d,f,k)};var uc=function(a,b){this.time=a;this.hor=b};e.HourAngleEvent=uc;e.SearchHourAngle=ca;var ed=function(a,b,c,d){this.mar_equinox=a;this.jun_solstice=b;this.sep_equinox=c;this.dec_solstice=d};e.SeasonInfo= -ed;e.Seasons=function(a){function b(k,l,h){l=new Date(Date.UTC(a,l-1,h));k=oc(k,l,20);if(!k)throw"Cannot find season change near "+l.toISOString();return k}a instanceof Date&&Number.isFinite(a.getTime())&&(a=a.getUTCFullYear());if(!Number.isSafeInteger(a))throw"Cannot calculate seasons because year argument "+a+" is neither a Date nor a safe integer.";var c=b(0,3,10),d=b(90,6,10),f=b(180,9,10),g=b(270,12,10);return new ed(c,d,f,g)};var wc=function(a,b,c,d){this.time=a;this.visibility=b;this.elongation= -c;this.ecliptic_separation=d};e.ElongationEvent=wc;e.Elongation=vc;e.SearchMaxElongation=function(a,b){function c(m){var n=m.AddDays(-.005);m=m.AddDays(.005);n=Ba(a,n);m=Ba(a,m);return(n-m)/.01}b=v(b);var d={Mercury:{s1:50,s2:85},Venus:{s1:40,s2:50}}[a];if(!d)throw"SearchMaxElongation works for Mercury and Venus only.";for(var f=0;2>=++f;){var g=pa(a,b),k=pa(p.Earth,b),l=za(g-k),h=g=k=void 0;l>=-d.s1&&l<+d.s1?(h=0,k=+d.s1,g=+d.s2):l>=+d.s2||l<-d.s2?(h=0,k=-d.s2,g=-d.s1):0<=l?(h=-Ua(a)/4,k=+d.s1,g= -+d.s2):(h=-Ua(a)/4,k=-d.s2,g=-d.s1);l=b.AddDays(h);k=Ca(a,k,l);g=Ca(a,g,k);l=c(k);if(0<=l)throw"SearchMaxElongation: internal error: m1 = "+l;h=c(g);if(0>=h)throw"SearchMaxElongation: internal error: m2 = "+h;l=I(c,k,g,{init_f1:l,init_f2:h,dt_tolerance_seconds:10});if(!l)throw"SearchMaxElongation: failed search iter "+f+" (t1="+k.toString()+", t2="+g.toString()+")";if(l.tt>=b.tt)return vc(a,l);b=g.AddDays(1)}throw"SearchMaxElongation: failed to find event after 2 tries.";};e.SearchPeakMagnitude=function(a, -b){function c(h){var m=h.AddDays(-.005);h=h.AddDays(.005);m=mb(a,m).mag;return(mb(a,h).mag-m)/.01}if(a!==p.Venus)throw"SearchPeakMagnitude currently works for Venus only.";b=v(b);for(var d=0;2>=++d;){var f=pa(a,b),g=pa(p.Earth,b),k=za(f-g),l=f=g=void 0;-10<=k&&10>k?(l=0,g=10,f=30):30<=k||-30>k?(l=0,g=-30,f=-10):0<=k?(l=-Ua(a)/4,g=10,f=30):(l=-Ua(a)/4,g=-30,f=-10);k=b.AddDays(l);g=Ca(a,g,k);f=Ca(a,f,g);k=c(g);if(0<=k)throw"SearchPeakMagnitude: internal error: m1 = "+k;l=c(f);if(0>=l)throw"SearchPeakMagnitude: internal error: m2 = "+ -l;k=I(c,g,f,{init_f1:k,init_f2:l,dt_tolerance_seconds:10});if(!k)throw"SearchPeakMagnitude: failed search iter "+d+" (t1="+g.toString()+", t2="+f.toString()+")";if(k.tt>=b.tt)return mb(a,k);b=f.AddDays(1)}throw"SearchPeakMagnitude: failed to find event after 2 tries.";};var Da;(function(a){a[a.Pericenter=0]="Pericenter";a[a.Apocenter=1]="Apocenter"})(Da=e.ApsisKind||(e.ApsisKind={}));var Wa=function(a,b,c){this.time=a;this.kind=b;this.dist_au=c;this.dist_km=c*e.KM_PER_AU};e.Apsis=Wa;e.SearchLunarApsis= -xc;e.NextLunarApsis=function(a){var b=xc(a.time.AddDays(11));if(1!==b.kind+a.kind)throw"NextLunarApsis INTERNAL ERROR: did not find alternating apogee/perigee: prev="+a.kind+" @ "+a.time.toString()+", next="+b.kind+" @ "+b.time.toString();return b};e.SearchPlanetApsis=zc;e.NextPlanetApsis=function(a,b){if(b.kind!==Da.Pericenter&&b.kind!==Da.Apocenter)throw"Invalid apsis kind: "+b.kind;var c=b.time.AddDays(.25*Z[a].OrbitalPeriod);a=zc(a,c);if(1!==a.kind+b.kind)throw"Internal error: previous apsis was "+ -b.kind+", but found "+a.kind+" for next apsis.";return a};e.InverseRotation=Ea;e.CombineRotation=Fa;e.IdentityMatrix=function(){return new L([[1,0,0],[0,1,0],[0,0,1]])};e.Pivot=function(a,b,c){if(0!==b&&1!==b&&2!==b)throw"Invalid axis "+b+". Must be [0, 1, 2].";var d=x(c)*e.DEG2RAD;c=Math.cos(d);d=Math.sin(d);var f=(b+1)%3,g=(b+2)%3,k=[[0,0,0],[0,0,0],[0,0,0]];k[f][f]=c*a.rot[f][f]-d*a.rot[f][g];k[f][g]=d*a.rot[f][f]+c*a.rot[f][g];k[f][b]=a.rot[f][b];k[g][f]=c*a.rot[g][f]-d*a.rot[g][g];k[g][g]=d* -a.rot[g][f]+c*a.rot[g][g];k[g][b]=a.rot[g][b];k[b][f]=c*a.rot[b][f]-d*a.rot[b][g];k[b][g]=d*a.rot[b][f]+c*a.rot[b][g];k[b][b]=a.rot[b][b];return new L(k)};e.VectorFromSphere=Jb;e.EquatorFromVector=Kb;e.SphereFromVector=Lb;e.HorizonFromVector=function(a,b){a=Lb(a);a.lon=Ac(a.lon);a.lat+=Ma(b,a.lat);return a};e.VectorFromHorizon=function(a,b,c){b=v(b);var d=Ac(a.lon);c=a.lat+Bc(c,a.lat);a=new Pa(c,d,a.dist);return Jb(a,b)};e.Refraction=Ma;e.InverseRefraction=Bc;e.RotateVector=Xa;e.RotateState=ya;e.Rotation_EQJ_ECL= -Cc;e.Rotation_ECL_EQJ=function(){return new L([[1,0,0],[0,.9174821430670688,.3977769691083922],[0,-.3977769691083922,.9174821430670688]])};e.Rotation_EQJ_EQD=Mb;e.Rotation_EQD_EQJ=Nb;e.Rotation_EQD_HOR=Ob;e.Rotation_HOR_EQD=Dc;e.Rotation_HOR_EQJ=Ec;e.Rotation_EQJ_HOR=function(a,b){a=Ec(a,b);return Ea(a)};e.Rotation_EQD_ECL=Fc;e.Rotation_ECL_EQD=Gc;e.Rotation_ECL_HOR=Hc;e.Rotation_HOR_ECL=function(a,b){a=Hc(a,b);return Ea(a)};e.Rotation_EQJ_GAL=function(){return new L([[-.0548624779711344,.4941095946388765, --.8676668813529025],[-.8734572784246782,-.4447938112296831,-.1980677870294097],[-.483800052994852,.7470034631630423,.4559861124470794]])};e.Rotation_GAL_EQJ=function(){return new L([[-.0548624779711344,-.8734572784246782,-.483800052994852],[.4941095946388765,-.4447938112296831,.7470034631630423],[-.8676668813529025,-.1980677870294097,.4559861124470794]])};var yd=[["And","Andromeda"],["Ant","Antila"],["Aps","Apus"],["Aql","Aquila"],["Aqr","Aquarius"],["Ara","Ara"],["Ari","Aries"],["Aur","Auriga"], -["Boo","Bootes"],["Cae","Caelum"],["Cam","Camelopardis"],["Cap","Capricornus"],["Car","Carina"],["Cas","Cassiopeia"],["Cen","Centaurus"],["Cep","Cepheus"],["Cet","Cetus"],["Cha","Chamaeleon"],["Cir","Circinus"],["CMa","Canis Major"],["CMi","Canis Minor"],["Cnc","Cancer"],["Col","Columba"],["Com","Coma Berenices"],["CrA","Corona Australis"],["CrB","Corona Borealis"],["Crt","Crater"],["Cru","Crux"],["Crv","Corvus"],["CVn","Canes Venatici"],["Cyg","Cygnus"],["Del","Delphinus"],["Dor","Dorado"],["Dra", -"Draco"],["Equ","Equuleus"],["Eri","Eridanus"],["For","Fornax"],["Gem","Gemini"],["Gru","Grus"],["Her","Hercules"],["Hor","Horologium"],["Hya","Hydra"],["Hyi","Hydrus"],["Ind","Indus"],["Lac","Lacerta"],["Leo","Leo"],["Lep","Lepus"],["Lib","Libra"],["LMi","Leo Minor"],["Lup","Lupus"],["Lyn","Lynx"],["Lyr","Lyra"],["Men","Mensa"],["Mic","Microscopium"],["Mon","Monoceros"],["Mus","Musca"],["Nor","Norma"],["Oct","Octans"],["Oph","Ophiuchus"],["Ori","Orion"],["Pav","Pavo"],["Peg","Pegasus"],["Per","Perseus"], -["Phe","Phoenix"],["Pic","Pictor"],["PsA","Pisces Austrinus"],["Psc","Pisces"],["Pup","Puppis"],["Pyx","Pyxis"],["Ret","Reticulum"],["Scl","Sculptor"],["Sco","Scorpius"],["Sct","Scutum"],["Ser","Serpens"],["Sex","Sextans"],["Sge","Sagitta"],["Sgr","Sagittarius"],["Tau","Taurus"],["Tel","Telescopium"],["TrA","Triangulum Australe"],["Tri","Triangulum"],["Tuc","Tucana"],["UMa","Ursa Major"],["UMi","Ursa Minor"],["Vel","Vela"],["Vir","Virgo"],["Vol","Volans"],["Vul","Vulpecula"]],zd=[[83,0,8640,2112], -[83,2880,5220,2076],[83,7560,8280,2068],[83,6480,7560,2064],[15,0,2880,2040],[10,3300,3840,1968],[15,0,1800,1920],[10,3840,5220,1920],[83,6300,6480,1920],[33,7260,7560,1920],[15,0,1263,1848],[10,4140,4890,1848],[83,5952,6300,1800],[15,7260,7440,1800],[10,2868,3300,1764],[33,3300,4080,1764],[83,4680,5952,1680],[13,1116,1230,1632],[33,7350,7440,1608],[33,4080,4320,1596],[15,0,120,1584],[83,5040,5640,1584],[15,8490,8640,1584],[33,4320,4860,1536],[33,4860,5190,1512],[15,8340,8490,1512],[10,2196,2520, -1488],[33,7200,7350,1476],[15,7393.2,7416,1462],[10,2520,2868,1440],[82,2868,3030,1440],[33,7116,7200,1428],[15,7200,7393.2,1428],[15,8232,8340,1418],[13,0,876,1404],[33,6990,7116,1392],[13,612,687,1380],[13,876,1116,1368],[10,1116,1140,1368],[15,8034,8232,1350],[10,1800,2196,1344],[82,5052,5190,1332],[33,5190,6990,1332],[10,1140,1200,1320],[15,7968,8034,1320],[15,7416,7908,1316],[13,0,612,1296],[50,2196,2340,1296],[82,4350,4860,1272],[33,5490,5670,1272],[15,7908,7968,1266],[10,1200,1800,1260],[13, -8232,8400,1260],[33,5670,6120,1236],[62,735,906,1212],[33,6120,6564,1212],[13,0,492,1200],[62,492,600,1200],[50,2340,2448,1200],[13,8400,8640,1200],[82,4860,5052,1164],[13,0,402,1152],[13,8490,8640,1152],[39,6543,6564,1140],[33,6564,6870,1140],[30,6870,6900,1140],[62,600,735,1128],[82,3030,3300,1128],[13,60,312,1104],[82,4320,4350,1080],[50,2448,2652,1068],[30,7887,7908,1056],[30,7875,7887,1050],[30,6900,6984,1044],[82,3300,3660,1008],[82,3660,3882,960],[8,5556,5670,960],[39,5670,5880,960],[50,3330, -3450,954],[0,0,906,882],[62,906,924,882],[51,6969,6984,876],[62,1620,1689,864],[30,7824,7875,864],[44,7875,7920,864],[7,2352,2652,852],[50,2652,2790,852],[0,0,720,840],[44,7920,8214,840],[44,8214,8232,828],[0,8232,8460,828],[62,924,978,816],[82,3882,3960,816],[29,4320,4440,816],[50,2790,3330,804],[48,3330,3558,804],[0,258,507,792],[8,5466,5556,792],[0,8460,8550,770],[29,4440,4770,768],[0,8550,8640,752],[29,5025,5052,738],[80,870,978,736],[62,978,1620,736],[7,1620,1710,720],[51,6543,6969,720],[82, -3960,4320,696],[30,7080,7530,696],[7,1710,2118,684],[48,3558,3780,684],[29,4770,5025,684],[0,0,24,672],[80,507,600,672],[7,2118,2352,672],[37,2838,2880,672],[30,7530,7824,672],[30,6933,7080,660],[80,690,870,654],[25,5820,5880,648],[8,5430,5466,624],[25,5466,5820,624],[51,6612,6792,624],[48,3870,3960,612],[51,6792,6933,612],[80,600,690,600],[66,258,306,570],[48,3780,3870,564],[87,7650,7710,564],[77,2052,2118,548],[0,24,51,528],[73,5730,5772,528],[37,2118,2238,516],[87,7140,7290,510],[87,6792,6930, -506],[0,51,306,504],[87,7290,7404,492],[37,2811,2838,480],[87,7404,7650,468],[87,6930,7140,460],[6,1182,1212,456],[75,6792,6840,444],[59,2052,2076,432],[37,2238,2271,420],[75,6840,7140,388],[77,1788,1920,384],[39,5730,5790,384],[75,7140,7290,378],[77,1662,1788,372],[77,1920,2016,372],[23,4620,4860,360],[39,6210,6570,344],[23,4272,4620,336],[37,2700,2811,324],[39,6030,6210,308],[61,0,51,300],[77,2016,2076,300],[37,2520,2700,300],[61,7602,7680,300],[37,2271,2496,288],[39,6570,6792,288],[31,7515,7578, -284],[61,7578,7602,284],[45,4146,4272,264],[59,2247,2271,240],[37,2496,2520,240],[21,2811,2853,240],[61,8580,8640,240],[6,600,1182,238],[31,7251,7308,204],[8,4860,5430,192],[61,8190,8580,180],[21,2853,3330,168],[45,3330,3870,168],[58,6570,6718.4,150],[3,6718.4,6792,150],[31,7500,7515,144],[20,2520,2526,132],[73,6570,6633,108],[39,5790,6030,96],[58,6570,6633,72],[61,7728,7800,66],[66,0,720,48],[73,6690,6792,48],[31,7308,7500,48],[34,7500,7680,48],[61,7680,7728,48],[61,7920,8190,48],[61,7800,7920,42], -[20,2526,2592,36],[77,1290,1662,0],[59,1662,1680,0],[20,2592,2910,0],[85,5280,5430,0],[58,6420,6570,0],[16,954,1182,-42],[77,1182,1290,-42],[73,5430,5856,-78],[59,1680,1830,-96],[59,2100,2247,-96],[73,6420,6468,-96],[73,6570,6690,-96],[3,6690,6792,-96],[66,8190,8580,-96],[45,3870,4146,-144],[85,4146,4260,-144],[66,0,120,-168],[66,8580,8640,-168],[85,5130,5280,-192],[58,5730,5856,-192],[3,7200,7392,-216],[4,7680,7872,-216],[58,6180,6468,-240],[54,2100,2910,-264],[35,1770,1830,-264],[59,1830,2100,-264], -[41,2910,3012,-264],[74,3450,3870,-264],[85,4260,4620,-264],[58,6330,6360,-280],[3,6792,7200,-288.8],[35,1740,1770,-348],[4,7392,7680,-360],[73,6180,6570,-384],[72,6570,6792,-384],[41,3012,3090,-408],[58,5856,5895,-438],[41,3090,3270,-456],[26,3870,3900,-456],[71,5856,5895,-462],[47,5640,5730,-480],[28,4530,4620,-528],[85,4620,5130,-528],[41,3270,3510,-576],[16,600,954,-585.2],[35,954,1350,-585.2],[26,3900,4260,-588],[28,4260,4530,-588],[47,5130,5370,-588],[58,5856,6030,-590],[16,0,600,-612],[11, -7680,7872,-612],[4,7872,8580,-612],[16,8580,8640,-612],[41,3510,3690,-636],[35,1692,1740,-654],[46,1740,2202,-654],[11,7200,7680,-672],[41,3690,3810,-700],[41,4530,5370,-708],[47,5370,5640,-708],[71,5640,5760,-708],[35,1650,1692,-720],[58,6030,6336,-720],[76,6336,6420,-720],[41,3810,3900,-748],[19,2202,2652,-792],[41,4410,4530,-792],[41,3900,4410,-840],[36,1260,1350,-864],[68,3012,3372,-882],[35,1536,1650,-888],[76,6420,6900,-888],[65,7680,8280,-888],[70,8280,8400,-888],[36,1080,1260,-950],[1,3372, -3960,-954],[70,0,600,-960],[36,600,1080,-960],[35,1392,1536,-960],[70,8400,8640,-960],[14,5100,5370,-1008],[49,5640,5760,-1008],[71,5760,5911.5,-1008],[9,1740,1800,-1032],[22,1800,2370,-1032],[67,2880,3012,-1032],[35,1230,1392,-1056],[71,5911.5,6420,-1092],[24,6420,6900,-1092],[76,6900,7320,-1092],[53,7320,7680,-1092],[35,1080,1230,-1104],[9,1620,1740,-1116],[49,5520,5640,-1152],[63,0,840,-1156],[35,960,1080,-1176],[40,1470,1536,-1176],[9,1536,1620,-1176],[38,7680,7920,-1200],[67,2160,2880,-1218], -[84,2880,2940,-1218],[35,870,960,-1224],[40,1380,1470,-1224],[63,0,660,-1236],[12,2160,2220,-1260],[84,2940,3042,-1272],[40,1260,1380,-1276],[32,1380,1440,-1276],[63,0,570,-1284],[35,780,870,-1296],[64,1620,1800,-1296],[49,5418,5520,-1296],[84,3042,3180,-1308],[12,2220,2340,-1320],[14,4260,4620,-1320],[49,5100,5418,-1320],[56,5418,5520,-1320],[32,1440,1560,-1356],[84,3180,3960,-1356],[14,3960,4050,-1356],[5,6300,6480,-1368],[78,6480,7320,-1368],[38,7920,8400,-1368],[40,1152,1260,-1380],[64,1800,1980, --1380],[12,2340,2460,-1392],[63,0,480,-1404],[35,480,780,-1404],[63,8400,8640,-1404],[32,1560,1650,-1416],[56,5520,5911.5,-1440],[43,7320,7680,-1440],[64,1980,2160,-1464],[18,5460,5520,-1464],[5,5911.5,5970,-1464],[18,5370,5460,-1526],[5,5970,6030,-1526],[64,2160,2460,-1536],[12,2460,3252,-1536],[14,4050,4260,-1536],[27,4260,4620,-1536],[14,4620,5232,-1536],[18,4860,4920,-1560],[5,6030,6060,-1560],[40,780,1152,-1620],[69,1152,1650,-1620],[18,5310,5370,-1620],[5,6060,6300,-1620],[60,6300,6480,-1620], -[81,7920,8400,-1620],[32,1650,2370,-1680],[18,4920,5310,-1680],[79,5310,6120,-1680],[81,0,480,-1800],[42,1260,1650,-1800],[86,2370,3252,-1800],[12,3252,4050,-1800],[55,4050,4920,-1800],[60,6480,7680,-1800],[43,7680,8400,-1800],[81,8400,8640,-1800],[81,270,480,-1824],[42,0,1260,-1980],[17,2760,4920,-1980],[2,4920,6480,-1980],[52,1260,2760,-2040],[57,0,8640,-2160]],Tb,fd,gd=function(a,b,c,d){this.symbol=a;this.name=b;this.ra1875=c;this.dec1875=d};e.ConstellationInfo=gd;e.Constellation=function(a,b){x(a); -x(b);if(-90>b||90a&&(a+=24);Tb||(Tb=Mb(new Q(-45655.74141261017)),fd=new Q(0));a=new Pa(b,15*a,1);a=Jb(a,fd);a=Xa(Tb,a);a=Kb(a);b=10/240;for(var c=b/15,d=$jscomp.makeIterator(zd),f=d.next();!f.done;f=d.next()){f=f.value;var g=f[1]*c,k=f[2]*c;if(f[3]*b<=a.dec&&g<=a.ra&&a.ra=F;++F)0!==D[F]&&g(K.x,K.y,c(y,D[F],F),c(w,D[F],F), +function(pa,qa){return K.x=pa,K.y=qa});return K}function k(D,F,P,da,K,pa,qa,qb){K=l(K,pa,qa,qb);q+=D*K.y;u+=F*K.y;Ya+=P*K.x;ra+=da*K.x}++e.CalcMoonCount;a=a.tt/36525;var m,p,q,u,y=b(-6,6,1,4),w=b(-6,6,1,4);var B=a*a;var Ya=u=q=0;var ra=3422.7;var ha=h(.19833+.05611*a);var ea=h(.27869+.04508*a);var V=h(.16827-.36903*a);var aa=h(.34734-5.37261*a);var Ga=h(.10498-5.37899*a);var Za=h(.42681-.41855*a),id=h(.14943-5.37511*a);var $a=.84*ha+.31*ea+14.27*V+7.26*aa+.28*Ga+.24*Za;var sb=2.94*ha+.31*ea+14.27* +V+9.34*aa+1.12*Ga+.83*Za;var ab=-6.4*ha-1.89*Za;ea=.21*ha+.31*ea+14.27*V-88.7*aa-15.3*Ga+.24*Za-1.86*id;V=$a-ab;ha=-3.332E-6*h(.59734-5.37261*a)-5.39E-7*h(.35498-5.37899*a)-6.4E-8*h(.39943-5.37511*a);$a=S*Q(.60643382+1336.85522467*a-3.13E-6*B)+$a/fa;sb=S*Q(.37489701+1325.55240982*a+2.565E-5*B)+sb/fa;ab=S*Q(.99312619+99.99735956*a-4.4E-7*B)+ab/fa;ea=S*Q(.25909118+1342.2278298*a-8.92E-6*B)+ea/fa;Ga=S*Q(.82736186+1236.85308708*a-3.97E-6*B)+V/fa;for(m=1;4>=m;++m){switch(m){case 1:V=sb;B=4;aa=1.000002208; +break;case 2:V=ab;B=3;aa=.997504612-.002495388*a;break;case 3:V=ea;B=4;aa=1.000002708+139.978*ha;break;case 4:V=Ga;B=6;aa=1;break;default:throw"Internal error: I = "+m;}d(0,m,1);d(1,m,Math.cos(V)*aa);f(0,m,0);f(1,m,Math.sin(V)*aa);for(p=2;p<=B;++p)g(c(y,p-1,m),c(w,p-1,m),c(y,1,m),c(w,1,m),function(D,F){return d(p,m,D),f(p,m,F)});for(p=1;p<=B;++p)d(-p,m,c(y,p,m)),f(-p,m,-c(w,p,m))}k(13.902,14.06,-.001,.2607,0,0,0,4);k(.403,-4.01,.394,.0023,0,0,0,3);k(2369.912,2373.36,.601,28.2333,0,0,0,2);k(-125.154, +-112.79,-.725,-.9781,0,0,0,1);k(1.979,6.98,-.445,.0433,1,0,0,4);k(191.953,192.72,.029,3.0861,1,0,0,2);k(-8.466,-13.51,.455,-.1093,1,0,0,1);k(22639.5,22609.07,.079,186.5398,1,0,0,0);k(18.609,3.59,-.094,.0118,1,0,0,-1);k(-4586.465,-4578.13,-.077,34.3117,1,0,0,-2);k(3.215,5.44,.192,-.0386,1,0,0,-3);k(-38.428,-38.64,.001,.6008,1,0,0,-4);k(-.393,-1.43,-.092,.0086,1,0,0,-6);k(-.289,-1.59,.123,-.0053,0,1,0,4);k(-24.42,-25.1,.04,-.3,0,1,0,2);k(18.023,17.93,.007,.1494,0,1,0,1);k(-668.146,-126.98,-1.302,-.3997, +0,1,0,0);k(.56,.32,-.001,-.0037,0,1,0,-1);k(-165.145,-165.06,.054,1.9178,0,1,0,-2);k(-1.877,-6.46,-.416,.0339,0,1,0,-4);k(.213,1.02,-.074,.0054,2,0,0,4);k(14.387,14.78,-.017,.2833,2,0,0,2);k(-.586,-1.2,.054,-.01,2,0,0,1);k(769.016,767.96,.107,10.1657,2,0,0,0);k(1.75,2.01,-.018,.0155,2,0,0,-1);k(-211.656,-152.53,5.679,-.3039,2,0,0,-2);k(1.225,.91,-.03,-.0088,2,0,0,-3);k(-30.773,-34.07,-.308,.3722,2,0,0,-4);k(-.57,-1.4,-.074,.0109,2,0,0,-6);k(-2.921,-11.75,.787,-.0484,1,1,0,2);k(1.267,1.52,-.022,.0164, +1,1,0,1);k(-109.673,-115.18,.461,-.949,1,1,0,0);k(-205.962,-182.36,2.056,1.4437,1,1,0,-2);k(.233,.36,.012,-.0025,1,1,0,-3);k(-4.391,-9.66,-.471,.0673,1,1,0,-4);k(.283,1.53,-.111,.006,1,-1,0,4);k(14.577,31.7,-1.54,.2302,1,-1,0,2);k(147.687,138.76,.679,1.1528,1,-1,0,0);k(-1.089,.55,.021,0,1,-1,0,-1);k(28.475,23.59,-.443,-.2257,1,-1,0,-2);k(-.276,-.38,-.006,-.0036,1,-1,0,-3);k(.636,2.27,.146,-.0102,1,-1,0,-4);k(-.189,-1.68,.131,-.0028,0,2,0,2);k(-7.486,-.66,-.037,-.0086,0,2,0,0);k(-8.096,-16.35,-.74, +.0918,0,2,0,-2);k(-5.741,-.04,0,-9E-4,0,0,2,2);k(.255,0,0,0,0,0,2,1);k(-411.608,-.2,0,-.0124,0,0,2,0);k(.584,.84,0,.0071,0,0,2,-1);k(-55.173,-52.14,0,-.1052,0,0,2,-2);k(.254,.25,0,-.0017,0,0,2,-3);k(.025,-1.67,0,.0031,0,0,2,-4);k(1.06,2.96,-.166,.0243,3,0,0,2);k(36.124,50.64,-1.3,.6215,3,0,0,0);k(-13.193,-16.4,.258,-.1187,3,0,0,-2);k(-1.187,-.74,.042,.0074,3,0,0,-4);k(-.293,-.31,-.002,.0046,3,0,0,-6);k(-.29,-1.45,.116,-.0051,2,1,0,2);k(-7.649,-10.56,.259,-.1038,2,1,0,0);k(-8.627,-7.59,.078,-.0192, +2,1,0,-2);k(-2.74,-2.54,.022,.0324,2,1,0,-4);k(1.181,3.32,-.212,.0213,2,-1,0,2);k(9.703,11.67,-.151,.1268,2,-1,0,0);k(-.352,-.37,.001,-.0028,2,-1,0,-1);k(-2.494,-1.17,-.003,-.0017,2,-1,0,-2);k(.36,.2,-.012,-.0043,2,-1,0,-4);k(-1.167,-1.25,.008,-.0106,1,2,0,0);k(-7.412,-6.12,.117,.0484,1,2,0,-2);k(-.311,-.65,-.032,.0044,1,2,0,-4);k(.757,1.82,-.105,.0112,1,-2,0,2);k(2.58,2.32,.027,.0196,1,-2,0,0);k(2.533,2.4,-.014,-.0212,1,-2,0,-2);k(-.344,-.57,-.025,.0036,0,3,0,-2);k(-.992,-.02,0,0,1,0,2,2);k(-45.099, +-.02,0,-.001,1,0,2,0);k(-.179,-9.52,0,-.0833,1,0,2,-2);k(-.301,-.33,0,.0014,1,0,2,-4);k(-6.382,-3.37,0,-.0481,1,0,-2,2);k(39.528,85.13,0,-.7136,1,0,-2,0);k(9.366,.71,0,-.0112,1,0,-2,-2);k(.202,.02,0,0,1,0,-2,-4);k(.415,.1,0,.0013,0,1,2,0);k(-2.152,-2.26,0,-.0066,0,1,2,-2);k(-1.44,-1.3,0,.0014,0,1,-2,2);k(.384,-.04,0,0,0,1,-2,-2);k(1.938,3.6,-.145,.0401,4,0,0,0);k(-.952,-1.58,.052,-.013,4,0,0,-2);k(-.551,-.94,.032,-.0097,3,1,0,0);k(-.482,-.57,.005,-.0045,3,1,0,-2);k(.681,.96,-.026,.0115,3,-1,0,0); +k(-.297,-.27,.002,-9E-4,2,2,0,-2);k(.254,.21,-.003,0,2,-2,0,-2);k(-.25,-.22,.004,.0014,1,3,0,-2);k(-3.996,0,0,4E-4,2,0,2,0);k(.557,-.75,0,-.009,2,0,2,-2);k(-.459,-.38,0,-.0053,2,0,-2,2);k(-1.298,.74,0,4E-4,2,0,-2,0);k(.538,1.14,0,-.0141,2,0,-2,-2);k(.263,.02,0,0,1,1,2,0);k(.426,.07,0,-6E-4,1,1,-2,-2);k(-.304,.03,0,3E-4,1,-1,2,0);k(-.372,-.19,0,-.0027,1,-1,-2,2);k(.418,0,0,0,0,0,4,0);k(-.33,-.04,0,0,3,0,2,0);B=-526.069*l(0,0,1,-2).y;B+=-3.352*l(0,0,1,-4).y;B+=44.297*l(1,0,1,-2).y;B+=-6*l(1,0,1,-4).y; +B+=20.599*l(-1,0,1,0).y;B+=-30.598*l(-1,0,1,-2).y;B+=-24.649*l(-2,0,1,0).y;B+=-2*l(-2,0,1,-2).y;B+=-22.571*l(0,1,1,-2).y;B+=10.985*l(0,-1,1,-2).y;q+=.82*h(.7736-62.5512*a)+.31*h(.0466-125.1025*a)+.35*h(.5785-25.1042*a)+.66*h(.4591+1335.8075*a)+.64*h(.313-91.568*a)+1.14*h(.148+1331.2898*a)+.21*h(.5918+1056.5859*a)+.44*h(.5784+1322.8595*a)+.24*h(.2275-5.7374*a)+.28*h(.2965+2.6929*a)+.33*h(.3132+6.3368*a);a=ea+u/fa;a=(1.000002708+139.978*ha)*(18518.511+1.189+Ya)*Math.sin(a)-6.24*Math.sin(3*a)+B;return{geo_eclip_lon:S* +Q(($a+q/fa)/S),geo_eclip_lat:Math.PI/648E3*a,distance_au:fa*jd/(.999953253*ra)}}function $b(a,b){return[a.rot[0][0]*b[0]+a.rot[1][0]*b[1]+a.rot[2][0]*b[2],a.rot[0][1]*b[0]+a.rot[1][1]*b[1]+a.rot[2][1]*b[2],a.rot[0][2]*b[0]+a.rot[1][2]*b[1]+a.rot[2][2]*b[2]]}function Ha(a,b,c){b=Ia(b,c);return $b(b,a)}function Ia(a,b){a=a.tt/36525;var c=84381.406,d=((((3.337E-7*a-4.67E-7)*a-.00772503)*a+.0512623)*a-.025754)*a+c;c*=4.84813681109536E-6;var f=((((-9.51E-8*a+1.32851E-4)*a-.00114045)*a-1.0790069)*a+5038.481507)* +a*4.84813681109536E-6;d*=4.84813681109536E-6;var g=((((-5.6E-8*a+1.70663E-4)*a-.00121197)*a-2.3814292)*a+10.556403)*a*4.84813681109536E-6;a=Math.sin(c);c=Math.cos(c);var h=Math.sin(-f);f=Math.cos(-f);var l=Math.sin(-d);d=Math.cos(-d);var k=Math.sin(g),m=Math.cos(g);g=m*f-h*k*d;var p=m*h*c+k*d*f*c-a*k*l,q=m*h*a+k*d*f*a+c*k*l,u=-k*f-h*m*d,y=-k*h*c+m*d*f*c-a*m*l;k=-k*h*a+m*d*f*a+c*m*l;h*=l;m=-l*f*c-a*d;a=-l*f*a+d*c;if(b===G.Into2000)return new L([[g,p,q],[u,y,k],[h,m,a]]);if(b===G.From2000)return new L([[g, +u,h],[p,y,m],[q,k,a]]);throw"Invalid precess direction";}function ba(a){if(!bb||bb.tt!==a.tt){var b=a.tt/36525,c=15*Wa(a).ee,d=(.779057273264+.00273781191135448*a.ut+a.ut%1)%1*360;0>d&&(d+=360);b=((c+.014506+((((-3.68E-8*b-2.9956E-5)*b-4.4E-7)*b+1.3915817)*b+4612.156534)*b)/3600+d)%360/15;0>b&&(b+=24);bb={tt:a.tt,st:b}}return bb.st}function tb(a,b){var c=a.latitude*e.DEG2RAD,d=Math.sin(c);c=Math.cos(c);var f=1/Math.hypot(c,.996647180302104*d),g=a.height/1E3,h=6378.1366*f+g;b=(15*b+a.longitude)*e.DEG2RAD; +a=Math.sin(b);b=Math.cos(b);return{pos:[h*c*b/e.KM_PER_AU,h*c*a/e.KM_PER_AU,(6335.438815127603*f+g)*d/e.KM_PER_AU],vel:[-7.292115E-5*h*c*a*86400/e.KM_PER_AU,7.292115E-5*h*c*b*86400/e.KM_PER_AU,0]}}function cb(a,b,c){b=Ja(b,c);return $b(b,a)}function Ja(a,b){a=Wa(a);var c=a.mobl*e.DEG2RAD,d=a.tobl*e.DEG2RAD,f=4.84813681109536E-6*a.dpsi;a=Math.cos(c);c=Math.sin(c);var g=Math.cos(d),h=Math.sin(d);d=Math.cos(f);var l=Math.sin(f);f=-l*a;var k=-l*c,m=l*g,p=d*a*g+c*h,q=d*c*g-a*h;l*=h;var u=d*a*h-c*g;a=d* +c*h+a*g;if(b===G.From2000)return new L([[d,m,l],[f,p,u],[k,q,a]]);if(b===G.Into2000)return new L([[d,f,k],[m,p,q],[l,u,a]]);throw"Invalid precess direction";}function db(a,b,c){return c===G.Into2000?Ha(cb(a,b,c),b,c):cb(Ha(a,b,c),b,c)}function ac(a,b){var c=ba(a);b=tb(b,c).pos;return db(b,a,G.Into2000)}function kd(a){if(!(a instanceof Array)||3!==a.length)return!1;for(var b=0;3>b;++b){if(!(a[b]instanceof Array)||3!==a[b].length)return!1;for(var c=0;3>c;++c)if(!Number.isFinite(a[b][c]))return!1}return!0} +function bc(a,b){b=new E(a[0],a[1],a[2],b);var c=b.x*b.x+b.y*b.y,d=Math.sqrt(c+b.z*b.z);if(0===c){if(0===b.z)throw"Indeterminate sky coordinates";return new eb(0,0>b.z?-90:90,d,b)}var f=e.RAD2HOUR*Math.atan2(b.y,b.x);0>f&&(f+=24);return new eb(f,e.RAD2DEG*Math.atan2(a[2],Math.sqrt(c)),d,b)}function sa(a,b){var c=a*e.DEG2RAD;a=Math.cos(c);c=Math.sin(c);return[a*b[0]+c*b[1],a*b[1]-c*b[0],b[2]]}function fb(a,b,c,d,f){a=v(a);ta(b);A(c);A(d);var g=Math.sin(b.latitude*e.DEG2RAD),h=Math.cos(b.latitude*e.DEG2RAD), +l=Math.sin(b.longitude*e.DEG2RAD),k=Math.cos(b.longitude*e.DEG2RAD);b=Math.sin(d*e.DEG2RAD);var m=Math.cos(d*e.DEG2RAD),p=Math.sin(c*e.HOUR2RAD),q=Math.cos(c*e.HOUR2RAD),u=[h*k,h*l,g];g=[-g*k,-g*l,h];l=[l,-k,0];h=-15*ba(a);a=sa(h,u);u=sa(h,g);l=sa(h,l);b=[m*q,m*p,b];p=b[0]*a[0]+b[1]*a[1]+b[2]*a[2];m=b[0]*u[0]+b[1]*u[1]+b[2]*u[2];u=b[0]*l[0]+b[1]*l[1]+b[2]*l[2];q=Math.hypot(m,u);0m&&(m+=360)):m=0;p=e.RAD2DEG*Math.atan2(q,p);q=d;if(f&&(d=p,f=Ka(f,90-p),p-=f,0l;++l)f.push((b[l]-d*a[l])/u*c+a[l]*q);q=Math.hypot(f[0],f[1]);0c&&(c+=24)):c=0;q=e.RAD2DEG*Math.atan2(f[2],q)}return new cc(m,90-p,c,q)}function ta(a){if(!(a instanceof ub))throw"Not an instance of the Observer class: "+a;A(a.latitude);A(a.longitude);A(a.height);if(-90>a.latitude||90b&&(b+=360));g=e.RAD2DEG*Math.atan2(c,g);a=new E(d,f,c,a.t);return new fc(a,g,b)}function La(a){void 0===hb&&(hb=e.DEG2RAD*Wa(v(vb)).mobl,gc=Math.cos(hb),hc=Math.sin(hb));return ec(a,gc,hc)}function Y(a){a=v(a);var b=ca(a),c=b.distance_au*Math.cos(b.geo_eclip_lat);b=[c*Math.cos(b.geo_eclip_lon),c*Math.sin(b.geo_eclip_lon),b.distance_au*Math.sin(b.geo_eclip_lat)];var d=Wb(a)*e.DEG2RAD;c=Math.cos(d);d=Math.sin(d);b=Ha([b[0],b[1]*c-b[2]*d,b[1]*d+b[2]*c],a,G.Into2000); +return new E(b[0],b[1],b[2],a)}function ib(a){a=v(a);a=ca(a);return new Ma(a.geo_eclip_lat*e.RAD2DEG,a.geo_eclip_lon*e.RAD2DEG,a.distance_au)}function Na(a){a=v(a);var b=a.AddDays(-1E-5),c=a.AddDays(1E-5);b=Y(b);c=Y(c);return new I((b.x+c.x)/2,(b.y+c.y)/2,(b.z+c.z)/2,(c.x-b.x)/2E-5,(c.y-b.y)/2E-5,(c.z-b.z)/2E-5,a)}function wb(a){a=v(a);var b=Na(a);return new I(b.x/82.30056,b.y/82.30056,b.z/82.30056,b.vx/82.30056,b.vy/82.30056,b.vz/82.30056,a)}function ia(a,b,c){var d=1,f=0;a=$jscomp.makeIterator(a); +for(var g=a.next();!g.done;g=a.next()){var h=0;g=$jscomp.makeIterator(g.value);for(var l=g.next();!l.done;l=g.next()){var k=$jscomp.makeIterator(l.value);l=k.next().value;var m=k.next().value;k=k.next().value;h+=l*Math.cos(m+b*k)}h*=d;c&&(h%=S);f+=h;d*=b}return f}function xb(a,b){var c=1,d=0,f=0,g=0;a=$jscomp.makeIterator(a);for(var h=a.next();!h.done;h=a.next()){var l=0,k=0;h=$jscomp.makeIterator(h.value);for(var m=h.next();!m.done;m=h.next()){var p=$jscomp.makeIterator(m.value);m=p.next().value; +var q=p.next().value;p=p.next().value;q+=b*p;l+=m*p*Math.sin(q);0a?0:a>=b?b-1:a}function Bb(a){var b= +$jscomp.makeIterator(a);a=b.next().value;var c=$jscomp.makeIterator(b.next().value);var d=c.next().value;var f=c.next().value;c=c.next().value;var g=$jscomp.makeIterator(b.next().value);b=g.next().value;var h=g.next().value;g=g.next().value;d=new X(a,new C(d,f,c),new C(b,h,g));a=new wa(d.tt);f=d.r.add(a.Sun.r);c=d.v.add(a.Sun.v);b=a.Acceleration(f);d=new Qa(d.tt,f,c,b);return new jc(a,d)}function lc(a,b,c){a=Bb(a);for(var d=Math.ceil((b-a.grav.tt)/c),f=0;fja[50][0])c=null;else{c=kc((c-d)/29200,50);if(!Db[c]){d=Db[c]=[];d[0]=Bb(ja[c]).grav;d[200]=Bb(ja[c+1]).grav;var f,g=d[0].tt;for(f=1;200>f;++f)d[f]=Ab(g+=146,d[f-1]).grav;g=d[200].tt;var h=[];h[200]=d[200];for(f=199;0d[1]&&(d[1]+=S);f=$jscomp.makeIterator(b.z);for(g=f.next();!g.done;g=f.next())h=$jscomp.makeIterator(g.value),g=h.next().value,l=h.next().value,h=h.next().value,l+=c*h,d[2]+=g* +Math.cos(l),d[3]+=g*Math.sin(l);f=$jscomp.makeIterator(b.zeta);for(g=f.next();!g.done;g=f.next())h=$jscomp.makeIterator(g.value),g=h.next().value,l=h.next().value,h=h.next().value,l+=c*h,d[4]+=g*Math.cos(l),d[5]+=g*Math.sin(l);f=d[0];h=d[1];g=d[2];l=d[3];c=d[4];d=d[5];var k=Math.sqrt(b.mu/(f*f*f));b=h+g*Math.sin(h)-l*Math.cos(h);do{var m=Math.cos(b);var p=Math.sin(b);m=(h-b+g*p-l*m)/(1-g*m-l*p);b+=m}while(1E-12<=Math.abs(m));m=Math.cos(b);p=Math.sin(b);h=l*m-g*p;var q=-g*m-l*p,u=1/(1+q),y=1/(1+Math.sqrt(1- +g*g-l*l));b=f*(m-g-y*l*h);h=f*(p-l+y*g*h);l=k*u*f*(-p-y*l*q);f=k*u*f*(+m+y*g*q);g=2*Math.sqrt(1-c*c-d*d);k=1-2*d*d;m=1-2*c*c;p=2*d*c;a=new I(b*k+h*p,b*p+h*m,(c*h-b*d)*g,l*k+f*p,l*p+f*m,(c*f-l*d)*g,a);return xa(ld,a)}function ka(a,b){b=v(b);if(a in M)return ua(M[a],b);if(a===n.Pluto)return a=Cb(b,!0),new E(a.x,a.y,a.z,b);if(a===n.Sun)return new E(0,0,0,b);if(a===n.Moon){a=ua(M.Earth,b);var c=Y(b);return new E(a.x+c.x,a.y+c.y,a.z+c.z,b)}if(a===n.EMB)return a=ua(M.Earth,b),c=Y(b),new E(a.x+c.x/82.30056, +a.y+c.y/82.30056,a.z+c.z/82.30056,b);if(a===n.SSB)return a=new E(0,0,0,b),jb(a,b,n.Jupiter,2.825345909524226E-7),jb(a,b,n.Saturn,8.459715185680659E-8),jb(a,b,n.Uranus,1.292024916781969E-8),jb(a,b,n.Neptune,1.524358900784276E-8),a;throw'HelioVector: Unknown body "'+a+'"';}function la(a,b){b=v(b);return a in M?ia(M[a][2],b.tt/365250,!1):ka(a,b).Length()}function mc(a,b){for(var c=b,d=0;10>d;++d){var f=a.Position(c),g=b.AddDays(-f.Length()/e.C_AUDAY);c=Math.abs(g.tt-c.tt);if(1E-9>c)return f;c=g}throw"Light-travel time solver did not converge."; +}function nc(a,b,c,d){x(d);a=v(a);var f=d?new E(0,0,0,a):ka(b,a);b=new Eb(b,c,d,f);return mc(b,a)}function W(a,b,c){x(c);b=v(b);switch(a){case n.Earth:return new E(0,0,0,b);case n.Moon:return Y(b);default:return a=nc(b,n.Earth,a,c),a.t=b,a}}function ma(a,b){return new I(a.r.x,a.r.y,a.r.z,a.v.x,a.v.y,a.v.z,b)}function Fb(a,b){b=v(b);switch(a){case n.Sun:return new I(0,0,0,0,0,0,b);case n.SSB:return a=new wa(b.tt),new I(-a.Sun.r.x,-a.Sun.r.y,-a.Sun.r.z,-a.Sun.v.x,-a.Sun.v.y,-a.Sun.v.z,b);case n.Mercury:case n.Venus:case n.Earth:case n.Mars:case n.Jupiter:case n.Saturn:case n.Uranus:case n.Neptune:return a= +Oa(M[a],b.tt),ma(a,b);case n.Pluto:return Cb(b,!0);case n.Moon:case n.EMB:var c=Oa(M.Earth,b.tt);a=a==n.Moon?Na(b):wb(b);return new I(a.x+c.r.x,a.y+c.r.y,a.z+c.r.z,a.vx+c.v.x,a.vy+c.v.y,a.vz+c.v.z,b);default:throw'HelioState: Unsupported body "'+a+'"';}}function md(a,b,c,d,f){var g=(f+c)/2-d;c=(f-c)/2;if(0==g){if(0==c)return null;d=-d/c;if(-1>d||1=d)return null;f=Math.sqrt(d);d=(-c+f)/(2*g);f=(-c-f)/(2*g);if(-1<=d&&1>=d){if(-1<=f&&1>=f)return null}else if(-1<= +f&&1>=f)d=f;else return null}return{t:a+d*b,df_dt:(2*g*d+c)/b}}function J(a,b,c,d){var f=A(d&&d.dt_tolerance_seconds||1);f=Math.abs(f/86400);var g=d&&d.init_f1||a(b),h=d&&d.init_f2||a(c),l=NaN,k=0;d=d&&d.iter_limit||20;for(var m=!0;;){if(++k>d)throw"Excessive iteration in Search()";var p=new O(b.ut+.5*(c.ut-b.ut)),q=p.ut-b.ut;if(Math.abs(q)(q.ut-b.ut)*(q.ut-c.ut)&&0>(y.ut-b.ut)*(y.ut-c.ut))){u=a(q);var B=a(y);if(0>u&&0<=B){g=u;h=B;b=q;c=y;l=w;m=!1;continue}}}}if(0>g&&0<=l)c=p,h=l;else if(0>l&&0<=h)b=p,g=l;else return null}}function ya(a){for(;-180>=a;)a+=360;for(;180a;)a+=360;for(;360<=a;)a-=360;return a}function oc(a,b,c){A(a);A(c);b=v(b);c=b.AddDays(c);return J(function(d){d=dc(d);return ya(d.elon-a)},b,c,{dt_tolerance_seconds:.01})}function Gb(a, +b,c){if(a===n.Earth||b===n.Earth)throw"The Earth does not have a longitude as seen from itself.";c=v(c);a=W(a,c,!1);a=La(a);b=W(b,c,!1);b=La(b);return za(a.elon-b.elon)}function Aa(a,b){if(a==n.Earth)throw"The Earth does not have an angle as seen from itself.";var c=v(b);b=W(n.Sun,c,!0);a=W(a,c,!0);return N(b,a)}function na(a,b){if(a===n.Sun)throw"Cannot calculate heliocentric longitude of the Sun.";a=ka(a,b);return La(a).elon}function lb(a,b){if(a===n.Earth)throw"The illumination of the Earth is not defined."; +var c=v(b),d=ua(M.Earth,c);if(a===n.Sun){var f=new E(-d.x,-d.y,-d.z,c);b=new E(0,0,0,c);d=0}else a===n.Moon?(f=Y(c),b=new E(d.x+f.x,d.y+f.y,d.z+f.z,c)):(b=ka(a,b),f=new E(b.x-d.x,b.y-d.y,b.z-d.z,c)),d=N(f,b);var g=f.Length(),h=b.Length();if(a===n.Sun)var l=nd+5*Math.log10(g);else if(a===n.Moon)a=d*e.DEG2RAD,l=a*a,a=-12.717+1.49*Math.abs(a)+.0431*l*l,l=a+=5*Math.log10(g/(385000.6/e.KM_PER_AU)*h);else if(a===n.Saturn){var k=d;a=La(f);l=28.06*e.DEG2RAD;var m=e.DEG2RAD*a.elat;a=Math.asin(Math.sin(m)* +Math.cos(l)-Math.cos(m)*Math.sin(l)*Math.sin(e.DEG2RAD*a.elon-e.DEG2RAD*(169.51+3.82E-5*c.tt)));l=Math.sin(Math.abs(a));k=-9+.044*k+l*(-2.6+1.2*l)+5*Math.log10(h*g);a*=e.RAD2DEG;l=k;k=a}else{var p=m=l=0;switch(a){case n.Mercury:a=-.6;l=4.98;m=-4.88;p=3.02;break;case n.Venus:163.6>d?(a=-4.47,l=1.03,m=.57,p=.13):(a=.98,l=-1.02);break;case n.Mars:a=-1.52;l=1.6;break;case n.Jupiter:a=-9.4;l=.5;break;case n.Uranus:a=-7.19;l=.25;break;case n.Neptune:a=-6.87;break;case n.Pluto:a=-1;l=4;break;default:throw"VisualMagnitude: unsupported body "+ +a;}var q=d/100;l=a+q*(l+q*(m+q*p))+5*Math.log10(h*g)}return new pc(c,l,d,h,g,f,b,k)}function Ra(a){if(a===n.Earth)throw"The Earth does not have a synodic period as seen from itself.";if(a===n.Moon)return 29.530588;var b=Z[a];if(!b)throw"Not a valid planet name: "+a;a=Z.Earth.OrbitalPeriod;return Math.abs(a/(a/b.OrbitalPeriod-1))}function Ba(a,b,c){function d(m){var p=na(a,m);m=na(n.Earth,m);return ya(g*(m-p)-b)}A(b);var f=Z[a];if(!f)throw"Cannot search relative longitude because body is not a planet: "+ +a;if(a===n.Earth)throw"Cannot search relative longitude for the Earth (it is always 0)";var g=f.OrbitalPeriod>Z.Earth.OrbitalPeriod?1:-1;f=Ra(a);c=v(c);var h=d(c);0l;++l){var k=-h/360*f;c=c.AddDays(k);if(1>86400*Math.abs(k))return c;k=h;h=d(c);30>Math.abs(k)&&k!==h&&(k/=k-h,.5k&&(f*=k))}throw"Relative longitude search failed to converge for "+a+" near "+c.toString()+" (error_angle = "+h+").";}function Hb(a){return Gb(n.Moon,n.Sun,a)}function Sa(a,b,c){function d(l){l= +Hb(l);return ya(l-a)}A(a);A(c);b=v(b);var f=d(b);if(0>c){0>f&&(f+=360);var g=-(29.530588*f)/360;f=g+1.5;if(fc)return null;f=Math.min(c,g+1.5)}c=b.AddDays(h);b=b.AddDays(f);return J(d,c,b,{dt_tolerance_seconds:.1})}function qc(a){var b=Hb(a);b=(Math.floor(b/90)+1)%4;a=Sa(90*b,a,10);if(!a)throw"Cannot find moon quarter";return new rc(b,a)}function Ib(a,b,c,d,f,g,h){if(0>g&&0<=h)return new od(d,f,g,h);if(0<=g&& +0>h)return null;if(1786400*l||Math.min(Math.abs(g),Math.abs(h))>l/2*c)return null;l=new O((d.ut+f.ut)/2);var k=b(l);return Ib(1+a,b,c,d,l,g,k)||Ib(1+a,b,c,l,f,k,h)}function pd(a,b){switch(a){case n.Moon:a=4.5;var c=8.2;break;case n.Sun:a=.8;c=.5;break;case n.Mercury:a=-1.6;c=1;break;case n.Venus:a=-.8;c=.6;break;case n.Mars:a=-.5;c=.4;break;case n.Jupiter:case n.Saturn:case n.Uranus:case n.Neptune:case n.Pluto:a=-.2;c=.2; +break;default:throw"Body not allowed for altitude search: "+a;}b*=e.DEG2RAD;return Math.abs((360.98564540070413-a)*Math.cos(b))+Math.abs(c*Math.sin(b))}function sc(a,b,c,d,f,g,h){function l(w){var B=gb(a,w,b,!0,!0);w=fb(w,b,B.ra,B.dec).altitude+e.RAD2DEG*Math.asin(g/B.dist);return c*(w-h)}ta(b);A(f);for(var k=pd(a,b.latitude),m=d=v(d),p=d,q=l(m),u=q;;){0>f?(m=p.AddDays(-.42),q=l(m)):(p=m.AddDays(.42),u=l(p));var y=Ib(0,l,k,m,p,q,u);if(y){if(k=J(l,y.tx,y.ty,{dt_tolerance_seconds:.1,init_f1:y.ax,init_f2:y.ay})){if(0> +f){if(k.utd.ut+f)return null;return k}throw"Rise/set search failed after finding ascent: t1="+m+", t2="+p+", a1="+q+", a2="+u;}if(0>f){if(m.utd.ut+f)return null;m=p;q=u}}}function tc(a,b){b=v(b);var c=Gb(a,n.Sun,b);if(1805*f;++f){var g=a.AddDays(5),h=b(g);if(0>=d*h){if(0>d||0h){a=J(c,a,g,{init_f1:-d,init_f2:-h});if(!a)throw"SearchLunarApsis INTERNAL ERROR: apogee search failed!";d=ca(a).distance_au;return new Ta(a,1,d)}throw"SearchLunarApsis INTERNAL ERROR: cannot classify apsis event!";}a=g;d=h}throw"SearchLunarApsis INTERNAL ERROR: could not find apsis within 2 synodic months of start date."; +}function wc(a,b,c,d){for(var f=b===Ca.Apocenter?1:-1;;){d/=9;if(d<1/1440)return c=c.AddDays(d/2),a=la(a,c),new Ta(c,b,a);for(var g=-1,h=0,l=0;10>l;++l){var k=c.AddDays(l*d);k=f*la(a,k);if(0==l||k>h)g=l,h=k}c=c.AddDays((g-1)*d);d*=2}}function qd(a,b){var c=b.AddDays(-30/360*Z[a].OrbitalPeriod),d=b.AddDays(.75*Z[a].OrbitalPeriod),f=c,g=c,h=-1,l=-1;d=(d.ut-c.ut)/99;for(var k=0;100>k;++k){var m=c.AddDays(k*d),p=la(a,m);0===k?l=h=p:(p>l&&(l=p,g=m),p=b.tt)return a.time.tt>=b.tt&&a.time.tt=b.tt)return a;throw"Internal error: failed to find Neptune apsis.";}function xc(a,b){function c(p){var q=p.AddDays(-5E-4);p=p.AddDays(5E-4);q=la(a,q);return(la(a,p)-q)/.001}function d(p){return-c(p)}b=v(b);if(a===n.Neptune||a===n.Pluto)return qd(a,b);for(var f=Z[a].OrbitalPeriod,g=f/6,h=c(b),l=0;l*g<2*f;++l){var k=b.AddDays(g),m=c(k);if(0>=h*m){f=g=void 0;if(0>h||0m)g=d,f=Ca.Apocenter;else throw"Internal error with slopes in SearchPlanetApsis";b=J(g,b,k);if(!b)throw"Failed to find slope transition in planetary apsis search.";h=la(a,b);return new Ta(b,f,h)}b=k;h=m}throw"Internal error: should have found planetary apsis within 2 orbital periods.";}function Da(a){return new L([[a.rot[0][0],a.rot[1][0],a.rot[2][0]],[a.rot[0][1],a.rot[1][1],a.rot[2][1]],[a.rot[0][2],a.rot[1][2],a.rot[2][2]]])}function Ea(a,b){return new L([[b.rot[0][0]*a.rot[0][0]+b.rot[1][0]* +a.rot[0][1]+b.rot[2][0]*a.rot[0][2],b.rot[0][1]*a.rot[0][0]+b.rot[1][1]*a.rot[0][1]+b.rot[2][1]*a.rot[0][2],b.rot[0][2]*a.rot[0][0]+b.rot[1][2]*a.rot[0][1]+b.rot[2][2]*a.rot[0][2]],[b.rot[0][0]*a.rot[1][0]+b.rot[1][0]*a.rot[1][1]+b.rot[2][0]*a.rot[1][2],b.rot[0][1]*a.rot[1][0]+b.rot[1][1]*a.rot[1][1]+b.rot[2][1]*a.rot[1][2],b.rot[0][2]*a.rot[1][0]+b.rot[1][2]*a.rot[1][1]+b.rot[2][2]*a.rot[1][2]],[b.rot[0][0]*a.rot[2][0]+b.rot[1][0]*a.rot[2][1]+b.rot[2][0]*a.rot[2][2],b.rot[0][1]*a.rot[2][0]+b.rot[1][1]* +a.rot[2][1]+b.rot[2][1]*a.rot[2][2],b.rot[0][2]*a.rot[2][0]+b.rot[1][2]*a.rot[2][1]+b.rot[2][2]*a.rot[2][2]]])}function Jb(a,b){b=v(b);var c=a.lat*e.DEG2RAD,d=a.lon*e.DEG2RAD,f=a.dist*Math.cos(c);return new E(f*Math.cos(d),f*Math.sin(d),a.dist*Math.sin(c),b)}function Kb(a){var b=Lb(a);return new eb(b.lon/15,b.lat,b.dist,a)}function Lb(a){var b=a.x*a.x+a.y*a.y,c=Math.sqrt(b+a.z*a.z);if(0===b){if(0===a.z)throw"Zero-length vector not allowed.";var d=0;a=0>a.z?-90:90}else d=e.RAD2DEG*Math.atan2(a.y,a.x), +0>d&&(d+=360),a=e.RAD2DEG*Math.atan2(a.z,Math.sqrt(b));return new Ma(a,d,c)}function yc(a){a=360-a;360<=a?a-=360:0>a&&(a+=360);return a}function Ka(a,b){A(b);if(-90>b||90c&&(c=-1);c=1.02/Math.tan((c+10.3/(c+5.11))*e.DEG2RAD)/60;"normal"===a&&-1>b&&(c*=(b+90)/89)}else{if(a)throw"Invalid refraction option: "+a;c=0}return c}function zc(a,b){if(-90>b||90Math.abs(d))return c-b;c-=d}}function Ua(a, +b){return new E(a.rot[0][0]*b.x+a.rot[1][0]*b.y+a.rot[2][0]*b.z,a.rot[0][1]*b.x+a.rot[1][1]*b.y+a.rot[2][1]*b.z,a.rot[0][2]*b.x+a.rot[1][2]*b.y+a.rot[2][2]*b.z,b.t)}function xa(a,b){return new I(a.rot[0][0]*b.x+a.rot[1][0]*b.y+a.rot[2][0]*b.z,a.rot[0][1]*b.x+a.rot[1][1]*b.y+a.rot[2][1]*b.z,a.rot[0][2]*b.x+a.rot[1][2]*b.y+a.rot[2][2]*b.z,a.rot[0][0]*b.vx+a.rot[1][0]*b.vy+a.rot[2][0]*b.vz,a.rot[0][1]*b.vx+a.rot[1][1]*b.vy+a.rot[2][1]*b.vz,a.rot[0][2]*b.vx+a.rot[1][2]*b.vy+a.rot[2][2]*b.vz,b.t)}function Ac(){return new L([[1, +0,0],[0,.9174821430670688,-.3977769691083922],[0,.3977769691083922,.9174821430670688]])}function Mb(a){a=v(a);var b=Ia(a,G.From2000);a=Ja(a,G.From2000);return Ea(b,a)}function Nb(a){a=v(a);var b=Ja(a,G.Into2000);a=Ia(a,G.Into2000);return Ea(b,a)}function Ob(a,b){a=v(a);var c=Math.sin(b.latitude*e.DEG2RAD),d=Math.cos(b.latitude*e.DEG2RAD),f=Math.sin(b.longitude*e.DEG2RAD),g=Math.cos(b.longitude*e.DEG2RAD);b=[d*g,d*f,c];c=[-c*g,-c*f,d];f=[f,-g,0];a=-15*ba(a);b=sa(a,b);c=sa(a,c);a=sa(a,f);return new L([[c[0], +a[0],b[0]],[c[1],a[1],b[1]],[c[2],a[2],b[2]]])}function Bc(a,b){a=Ob(a,b);return Da(a)}function Cc(a,b){a=v(a);b=Bc(a,b);a=Nb(a);return Ea(b,a)}function Dc(a){a=Nb(a);var b=Ac();return Ea(a,b)}function Ec(a){a=Dc(a);return Da(a)}function Fc(a,b){a=v(a);var c=Ec(a);a=Ob(a,b);return Ea(c,a)}function Va(a,b,c,d){var f=(d.x*c.x+d.y*c.y+d.z*c.z)/(d.x*d.x+d.y*d.y+d.z*d.z);return new rd(b,f,e.KM_PER_AU*Math.hypot(f*d.x-c.x,f*d.y-c.y,f*d.z-c.z),695700-(1+f)*(695700-a),-695700+(1+f)*(695700+a),c,d)}function mb(a){var b= +W(n.Sun,a,!0);b=new E(-b.x,-b.y,-b.z,b.t);var c=Y(a);return Va(6459,a,c,b)}function Gc(a){var b=W(n.Sun,a,!0),c=Y(a),d=new E(-c.x,-c.y,-c.z,c.t);c.x-=b.x;c.y-=b.y;c.z-=b.z;return Va(1737.4,a,d,c)}function Pb(a,b){var c=ac(a,b);b=W(n.Sun,a,!0);var d=Y(a);c=new E(c[0]-d.x,c[1]-d.y,c[2]-d.z,a);d.x-=b.x;d.y-=b.y;d.z-=b.z;return Va(1737.4,a,c,d)}function nb(a,b,c){a=W(a,c,!0);var d=W(n.Sun,c,!0),f=new E(a.x-d.x,a.y-d.y,a.z-d.z,c);d.x=-a.x;d.y=-a.y;d.z=-a.z;return Va(b,c,d,f)}function Qb(a,b){var c=1/86400, +d=b.AddDays(-c);b=b.AddDays(+c);d=a(d);return(a(b).r-d.r)/c}function sd(a){var b=a.AddDays(-.03);a=a.AddDays(.03);b=J(function(c){return Qb(mb,c)},b,a);if(!b)throw"Failed to find peak Earth shadow time.";return mb(b)}function td(a){var b=a.AddDays(-.03);a=a.AddDays(.03);b=J(function(c){return Qb(Gc,c)},b,a);if(!b)throw"Failed to find peak Moon shadow time.";return Gc(b)}function ud(a,b,c){var d=c.AddDays(-1);c=c.AddDays(1);d=J(function(f){var g=1/86400,h=nb(a,b,f.AddDays(-g));return(nb(a,b,f.AddDays(+g)).r- +h.r)/g},d,c);if(!d)throw"Failed to find peak planet shadow time.";return nb(a,b,d)}function vd(a,b){function c(g){return Pb(g,b)}var d=a.AddDays(-.2),f=a.AddDays(.2);d=J(function(g){return Qb(c,g)},d,f);if(!d)throw"PeakLocalMoonShadow: search failure for search_center_time = "+a;return Pb(d,b)}function Rb(a,b,c){var d=c/1440;c=a.AddDays(-d);d=a.AddDays(+d);c=J(function(f){return-(mb(f).r-b)},c,a);a=J(function(f){return+(mb(f).r-b)},a,d);if(!c||!a)throw"Failed to find shadow semiduration";return 720* +(a.ut-c.ut)}function Sb(a){a=ca(a);return e.RAD2DEG*a.geo_eclip_lat}function Hc(a,b,c){if(0>=a)throw"Radius of first disc must be positive.";if(0>=b)throw"Radius of second disc must be positive.";if(0>c)throw"Distance between discs is not allowed to be negative.";if(c>=a+b)return 0;if(0==c)return a<=b?1:b*b/(a*a);var d=(a*a-b*b+c*c)/(2*c),f=a*a-d*d;if(0>=f)return a<=b?1:b*b/(a*a);f=Math.sqrt(f);return(a*a*Math.acos(d/a)-d*f+(b*b*Math.acos((c-d)/b)-(c-d)*f))/(Math.PI*a*a)}function Ic(a,b){var c=new E(a.x+ +b.x,a.y+b.y,a.z+b.z,a.t);a=Math.asin(Jc/c.Length());var d=Math.asin(wd/b.Length());b=N(b,c);b=Hc(a,d,b*e.DEG2RAD);return Math.min(.9999,b)}function Kc(a){a=v(a);for(var b=0;12>b;++b){var c=Sa(180,a,40);if(!c)throw"Cannot find full moon.";a=Sb(c);if(1.8>Math.abs(a)&&(a=sd(c),a.rb;++b){var c=Sa(0,a,40);if(!c)throw"Cannot find new moon";a=Sb(c);if(1.8>Math.abs(a)&&(a=td(c),a.r=d?d+=360:180h.r)throw"Unexpected shadow distance from geoid intersection = "+ +h.r;g=.014Math.abs(c)){var d=vd(a,b);if(d.rAa(a,d)&&(b=ud(a,c,d),b.r=c.lat*f.lat){a.$jscomp$loop$prop$kind$33=f.lat>c.lat?oa.Ascending:oa.Descending;b=J(function(g){return function(h){return g.$jscomp$loop$prop$kind$33*ib(h).lat}}(a),b,d);if(!b)throw"Could not find moon node.";return new Yc(a.$jscomp$loop$prop$kind$33,b)}b=d;c=f}}function Zc(a,b,c,d,f){if(1>a||5=c)throw"Major mass must be a positive number.";if(!Number.isFinite(f)||0>=f)throw"Minor mass must be a negative number.";var g=d.x-b.x,h=d.y-b.y,l=d.z-b.z,k=g*g+h*h+l*l,m=Math.sqrt(k),p=d.vx-b.vx,q=d.vy-b.vy;d=d.vz-b.vz;if(4===a||5===a){k=h*d-l*q;c=l*p-g*d;var u=g*q-h*p,y=c*l-u*h;u=u*g-k*l;k=k*h-c*g;c=Math.sqrt(y*y+u*u+k*k);y/=c;u/=c;k/=c;g/=m;h/=m;l/=m;a=4==a?.8660254037844386:-.8660254037844386;c=.5*g+a*y;f=.5*h+a*u;var w=.5*l+a*k,B=p*g+q*h+d*l;p=p*y+q*u+d*k;b=new I(m*c,m*f,m*w,B*c+p*(.5*y-a* +g),B*f+p*(.5*u-a*h),B*w+p*(.5*k-a*l),b.t)}else{y=f/(c+f)*-m;u=c/(c+f)*+m;k=(c+f)/(k*m);if(1===a||2===a)w=c/(c+f)*Math.cbrt(f/(3*c)),c=-c,1==a?(w=1-w,a=+f):(w=1+w,a=-f);else if(3===a)w=(7/12*f-c)/(f+c),c=+c,a=+f;else throw"Invalid Langrage point "+a+". Must be an integer 1..5.";f=m*w-y;do w=f-y,B=f-u,w=(k*f+c/(w*w)+a/(B*B))/(k-2*c/(w*w*w)-2*a/(B*B*B)),f-=w;while(1E-14Math.abs(c))return b; +b=b.AddDays(c)}};O.prototype.toString=function(){return this.date.toISOString()};O.prototype.AddDays=function(a){return new O(this.ut+a)};e.AstroTime=O;e.MakeTime=v;var Xb=[[[0,0,0,0,1],[-172064161,-174666,33386,92052331,9086,15377]],[[0,0,2,-2,2],[-13170906,-1675,-13696,5730336,-3015,-4587]],[[0,0,2,0,2],[-2276413,-234,2796,978459,-485,1374]],[[0,0,0,0,2],[2074554,207,-698,-897492,470,-291]],[[0,1,0,0,0],[1475877,-3633,11817,73871,-184,-1924]],[[0,1,2,-2,2],[-516821,1226,-524,224386,-677,-174]], +[[1,0,0,0,0],[711159,73,-872,-6750,0,358]],[[0,0,2,0,1],[-387298,-367,380,200728,18,318]],[[1,0,2,0,2],[-301461,-36,816,129025,-63,367]],[[0,-1,2,-2,2],[215829,-494,111,-95929,299,132]],[[0,0,2,-2,1],[128227,137,181,-68982,-9,39]],[[-1,0,2,0,2],[123457,11,19,-53311,32,-4]],[[-1,0,0,2,0],[156994,10,-168,-1235,0,82]],[[1,0,0,0,1],[63110,63,27,-33228,0,-9]],[[-1,0,0,0,1],[-57976,-63,-189,31429,0,-75]],[[-1,0,2,2,2],[-59641,-11,149,25543,-11,66]],[[1,0,2,0,1],[-51613,-42,129,26366,0,78]],[[-2,0,2,0,1], +[45893,50,31,-24236,-10,20]],[[0,0,0,2,0],[63384,11,-150,-1220,0,29]],[[0,0,2,2,2],[-38571,-1,158,16452,-11,68]],[[0,-2,2,-2,2],[32481,0,0,-13870,0,0]],[[-2,0,0,2,0],[-47722,0,-18,477,0,-25]],[[2,0,2,0,2],[-31046,-1,131,13238,-11,59]],[[1,0,2,-2,2],[28593,0,-1,-12338,10,-3]],[[-1,0,2,0,1],[20441,21,10,-10758,0,-3]],[[2,0,0,0,0],[29243,0,-74,-609,0,13]],[[0,0,2,0,0],[25887,0,-66,-550,0,11]],[[0,1,0,0,1],[-14053,-25,79,8551,-2,-45]],[[-1,0,0,2,1],[15164,10,11,-8001,0,-1]],[[0,2,2,-2,2],[-15794,72,-16, +6850,-42,-5]],[[0,0,-2,2,0],[21783,0,13,-167,0,13]],[[1,0,0,-2,1],[-12873,-10,-37,6953,0,-14]],[[0,-1,0,0,1],[-12654,11,63,6415,0,26]],[[-1,0,2,2,1],[-10204,0,25,5222,0,15]],[[0,2,0,0,0],[16707,-85,-10,168,-1,10]],[[1,0,2,2,2],[-7691,0,44,3268,0,19]],[[-2,0,2,0,0],[-11024,0,-14,104,0,2]],[[0,1,2,0,2],[7566,-21,-11,-3250,0,-5]],[[0,0,2,2,1],[-6637,-11,25,3353,0,14]],[[0,-1,2,0,2],[-7141,21,8,3070,0,4]],[[0,0,0,2,1],[-6302,-11,2,3272,0,4]],[[1,0,2,-2,1],[5800,10,2,-3045,0,-1]],[[2,0,2,-2,2],[6443,0, +-7,-2768,0,-4]],[[-2,0,0,2,1],[-5774,-11,-15,3041,0,-5]],[[2,0,2,0,1],[-5350,0,21,2695,0,12]],[[0,-1,2,-2,1],[-4752,-11,-3,2719,0,-3]],[[0,0,0,-2,1],[-4940,-11,-21,2720,0,-9]],[[-1,-1,0,2,0],[7350,0,-8,-51,0,4]],[[2,0,0,-2,1],[4065,0,6,-2206,0,1]],[[1,0,0,2,0],[6579,0,-24,-199,0,2]],[[0,1,2,-2,1],[3579,0,5,-1900,0,1]],[[1,-1,0,0,0],[4725,0,-6,-41,0,3]],[[-2,0,2,0,2],[-3075,0,-2,1313,0,-1]],[[3,0,2,0,2],[-2904,0,15,1233,0,7]],[[0,-1,0,2,0],[4348,0,-10,-81,0,2]],[[1,-1,2,0,2],[-2878,0,8,1232,0,4]], +[[0,0,0,1,0],[-4230,0,5,-20,0,-2]],[[-1,-1,2,2,2],[-2819,0,7,1207,0,3]],[[-1,0,2,0,0],[-4056,0,5,40,0,-2]],[[0,-1,2,2,2],[-2647,0,11,1129,0,5]],[[-2,0,0,0,1],[-2294,0,-10,1266,0,-4]],[[1,1,2,0,2],[2481,0,-7,-1062,0,-3]],[[2,0,0,0,1],[2179,0,-2,-1129,0,-2]],[[-1,1,0,1,0],[3276,0,1,-9,0,0]],[[1,1,0,0,0],[-3389,0,5,35,0,-2]],[[1,0,2,0,0],[3339,0,-13,-107,0,1]],[[-1,0,2,-2,1],[-1987,0,-6,1073,0,-2]],[[1,0,0,0,2],[-1981,0,0,854,0,0]],[[-1,0,0,1,0],[4026,0,-353,-553,0,-139]],[[0,0,2,1,2],[1660,0,-5,-710, +0,-2]],[[-1,0,2,4,2],[-1521,0,9,647,0,4]],[[-1,1,0,1,1],[1314,0,0,-700,0,0]],[[0,-2,2,-2,1],[-1283,0,0,672,0,0]],[[1,0,2,2,1],[-1331,0,8,663,0,4]],[[-2,0,2,2,2],[1383,0,-2,-594,0,-2]],[[-1,0,0,0,2],[1405,0,4,-610,0,2]],[[1,1,2,-2,2],[1290,0,0,-556,0,0]]],Xa;e.CalcMoonCount=0;var $c=function(a,b,c,d,f,g){this.elat=a;this.elon=b;this.mlat=c;this.mlon=d;this.dist_km=f;this.diam_deg=g};e.LibrationInfo=$c;e.Libration=function(a){var b=v(a);a=b.tt/36525;var c=a*a,d=c*a,f=c*c,g=ca(b);b=g.geo_eclip_lon;var h= +g.geo_eclip_lat;g=g.distance_au*e.KM_PER_AU;var l=1.543*e.DEG2RAD,k=e.DEG2RAD*za(93.272095+483202.0175233*a-.0036539*c-d/3526E3+f/86331E4),m=e.DEG2RAD*za(125.0445479-1934.1362891*a+.0020754*c+d/467441-f/60616E3),p=e.DEG2RAD*za(357.5291092+35999.0502909*a-1.536E-4*c+d/2449E4),q=e.DEG2RAD*za(134.9633964+477198.8675055*a+.0087414*c+d/69699-f/14712E3);d=e.DEG2RAD*za(297.8501921+445267.1114034*a-.0018819*c+d/545868-f/113065E3);c=1-.002516*a-7.4E-6*c;var u=b-m;f=Math.atan2(Math.sin(u)*Math.cos(h)*Math.cos(l)- +Math.sin(h)*Math.sin(l),Math.cos(u)*Math.cos(h));var y=ya(e.RAD2DEG*(f-k));l=Math.asin(-Math.sin(u)*Math.cos(h)*Math.sin(l)-Math.sin(h)*Math.cos(l));u=-.02752*Math.cos(q)+-.02245*Math.sin(k)+.00684*Math.cos(q-2*k)+-.00293*Math.cos(2*k)+-8.5E-4*Math.cos(2*k-2*d)+-5.4E-4*Math.cos(q-2*d)+-2E-4*Math.sin(q+k)+-2E-4*Math.cos(q+2*k)+-2E-4*Math.cos(q-k)+1.4E-4*Math.cos(q+2*k-2*d);var w=-.02816*Math.sin(q)+.02244*Math.cos(k)+-.00682*Math.sin(q-2*k)+-.00279*Math.sin(2*k)+-8.3E-4*Math.sin(2*k-2*d)+6.9E-4*Math.sin(q- +2*d)+4E-4*Math.cos(q+k)+-2.5E-4*Math.sin(2*q)+-2.3E-4*Math.sin(q+2*k)+2E-4*Math.cos(q-k)+1.9E-4*Math.sin(q-k)+1.3E-4*Math.sin(q+2*k-2*d)+-1E-4*Math.cos(q-3*k);return new $c(e.RAD2DEG*l+(w*Math.cos(f)-u*Math.sin(f)),y+(-(.0252*c*Math.sin(p)+.00473*Math.sin(2*q-2*k)+-.00467*Math.sin(q)+.00396*Math.sin(e.DEG2RAD*(119.75+131.849*a))+.00276*Math.sin(2*q-2*d)+.00196*Math.sin(m)+-.00183*Math.cos(q-k)+.00115*Math.sin(q-2*d)+-9.6E-4*Math.sin(q-d)+4.6E-4*Math.sin(2*k-2*d)+-3.9E-4*Math.sin(q-k)+-3.2E-4*Math.sin(q- +p-d)+2.7E-4*Math.sin(2*q-p-2*d)+2.3E-4*Math.sin(e.DEG2RAD*(72.56+20.186*a))+-1.4E-4*Math.sin(2*d)+1.4E-4*Math.cos(2*q-2*k)+-1.2E-4*Math.sin(q-2*k)+-1.2E-4*Math.sin(2*q)+1.1E-4*Math.sin(2*q-2*p-2*d))+(u*Math.cos(f)+w*Math.sin(f))*Math.tan(l)),e.RAD2DEG*h,e.RAD2DEG*b,g,2*e.RAD2DEG*Math.atan(1737.4/Math.sqrt(g*g-1737.4*1737.4)))};var bb;e.SiderealTime=function(a){a=v(a);return ba(a)};var E=function(a,b,c,d){this.x=a;this.y=b;this.z=c;this.t=d};E.prototype.Length=function(){return Math.hypot(this.x,this.y, +this.z)};e.Vector=E;var I=function(a,b,c,d,f,g,h){this.x=a;this.y=b;this.z=c;this.vx=d;this.vy=f;this.vz=g;this.t=h};e.StateVector=I;var Ma=function(a,b,c){this.lat=A(a);this.lon=A(b);this.dist=A(c)};e.Spherical=Ma;var eb=function(a,b,c,d){this.ra=A(a);this.dec=A(b);this.dist=A(c);this.vec=d};e.EquatorialCoordinates=eb;var L=function(a){this.rot=a};e.RotationMatrix=L;e.MakeRotation=function(a){if(!kd(a))throw"Argument must be a [3][3] array of numbers";return new L(a)};var cc=function(a,b,c,d){this.azimuth= +A(a);this.altitude=A(b);this.ra=A(c);this.dec=A(d)};e.HorizontalCoordinates=cc;var fc=function(a,b,c){this.vec=a;this.elat=A(b);this.elon=A(c)};e.EclipticCoordinates=fc;e.Horizon=fb;var ub=function(a,b,c){this.latitude=a;this.longitude=b;this.height=c;ta(this)};e.Observer=ub;e.SunPosition=dc;e.Equator=gb;e.ObserverVector=function(a,b,c){a=v(a);var d=ba(a);b=tb(b,d).pos;c||(b=db(b,a,G.Into2000));return new E(b[0],b[1],b[2],a)};e.ObserverState=function(a,b,c){a=v(a);var d=ba(a);b=tb(b,d);b=new I(b.pos[0], +b.pos[1],b.pos[2],b.vel[0],b.vel[1],b.vel[2],a);return c?b:(c=G.Into2000,c===G.Into2000?(d=Ja(a,c),b=xa(d,b),a=Ia(a,c),a=xa(a,b)):(d=Ia(a,c),b=xa(d,b),a=Ja(a,c),a=xa(a,b)),a)};e.VectorObserver=function(a,b){var c=ba(a.t),d=[a.x,a.y,a.z];b||(d=Ha(d,a.t,G.From2000),d=cb(d,a.t,G.From2000));b=d[0]*e.KM_PER_AU;var f=d[1]*e.KM_PER_AU;d=d[2]*e.KM_PER_AU;a=Math.hypot(b,f);if(1E-6>a){c=0;var g=0=c;)c+=360;for(;180Math.abs(p))break;g-=p/(-42.69778487239616*((l-k)/h-k*l*-.006694397995865464/(-42.69778487239616*m))+d*f+a*b)}g*=e.RAD2DEG;h=6378.1366/h;d=Math.abs(f)>Math.abs(b)?d/f-.9933056020041345*h:a/b-h}return new ub(g,c,1E3*d)};e.ObserverGravity=function(a,b){a=Math.sin(a*e.DEG2RAD);a*=a;return 9.7803253359*(1+.00193185265241*a)/Math.sqrt(1-.00669437999013* +a)*(1-(3.15704E-7-2.10269E-9*a)*b+7.37452E-14*b*b)};e.Ecliptic=La;e.GeoMoon=Y;e.EclipticGeoMoon=ib;e.GeoMoonState=Na;e.GeoEmbState=wb;var ja=[[-73E4,[-26.118207232108,-14.376168177825,3.384402515299],[.0016339372163656,-.0027861699588508,-.0013585880229445]],[-700800,[41.974905202127,-.448502952929,-12.770351505989],[7.3458569351457E-4,.0022785014891658,4.8619778602049E-4]],[-671600,[14.706930780744,44.269110540027,9.353698474772],[-.00210001479998,2.2295915939915E-4,7.0143443551414E-4]],[-642400, +[-29.441003929957,-6.43016153057,6.858481011305],[8.4495803960544E-4,-.0030783914758711,-.0012106305981192]],[-613200,[39.444396946234,-6.557989760571,-13.913760296463],[.0011480029005873,.0022400006880665,3.5168075922288E-4]],[-584E3,[20.2303809507,43.266966657189,7.382966091923],[-.0019754081700585,5.3457141292226E-4,7.5929169129793E-4]],[-554800,[-30.65832536462,2.093818874552,9.880531138071],[6.1010603013347E-5,-.0031326500935382,-9.9346125151067E-4]],[-525600,[35.737703251673,-12.587706024764, +-14.677847247563],[.0015802939375649,.0021347678412429,1.9074436384343E-4]],[-496400,[25.466295188546,41.367478338417,5.216476873382],[-.0018054401046468,8.328308359951E-4,8.0260156912107E-4]],[-467200,[-29.847174904071,10.636426313081,12.297904180106],[-6.3257063052907E-4,-.0029969577578221,-7.4476074151596E-4]],[-438E3,[30.774692107687,-18.236637015304,-14.945535879896],[.0020113162005465,.0019353827024189,-2.0937793168297E-6]],[-408800,[30.243153324028,38.656267888503,2.938501750218],[-.0016052508674468, +.0011183495337525,8.3333973416824E-4]],[-379600,[-27.288984772533,18.643162147874,14.023633623329],[-.0011856388898191,-.0027170609282181,-4.9015526126399E-4]],[-350400,[24.519605196774,-23.245756064727,-14.626862367368],[.0024322321483154,.0016062008146048,-2.3369181613312E-4]],[-321200,[34.505274805875,35.125338586954,.557361475637],[-.0013824391637782,.0013833397561817,8.4823598806262E-4]],[-292E3,[-23.275363915119,25.818514298769,15.055381588598],[-.0016062295460975,-.0023395961498533,-2.4377362639479E-4]], +[-262800,[17.050384798092,-27.180376290126,-13.608963321694],[.0028175521080578,.0011358749093955,-4.9548725258825E-4]],[-233600,[38.093671910285,30.880588383337,-1.843688067413],[-.0011317697153459,.0016128814698472,8.4177586176055E-4]],[-204400,[-18.197852930878,31.932869934309,15.438294826279],[-.0019117272501813,-.0019146495909842,-1.9657304369835E-5]],[-175200,[8.528924039997,-29.618422200048,-11.805400994258],[.0031034370787005,5.139363329243E-4,-7.7293066202546E-4]],[-146E3,[40.94685725864, +25.904973592021,-4.256336240499],[-8.3652705194051E-4,.0018129497136404,8.156422827306E-4]],[-116800,[-12.326958895325,36.881883446292,15.217158258711],[-.0021166103705038,-.001481442003599,1.7401209844705E-4]],[-87600,[-.633258375909,-30.018759794709,-9.17193287495],[.0032016994581737,-2.5279858672148E-4,-.0010411088271861]],[-58400,[42.936048423883,20.344685584452,-6.588027007912],[-5.0525450073192E-4,.0019910074335507,7.7440196540269E-4]],[-29200,[-5.975910552974,40.61180995846,14.470131723673], +[-.0022184202156107,-.0010562361130164,3.3652250216211E-4]],[0,[-9.875369580774,-27.978926224737,-5.753711824704],[.0030287533248818,-.0011276087003636,-.0012651326732361]],[29200,[43.958831986165,14.214147973292,-8.808306227163],[-1.4717608981871E-4,.0021404187242141,7.1486567806614E-4]],[58400,[.67813676352,43.094461639362,13.243238780721],[-.0022358226110718,-6.3233636090933E-4,4.7664798895648E-4]],[87600,[-18.282602096834,-23.30503958666,-1.766620508028],[.0025567245263557,-.0019902940754171, +-.0013943491701082]],[116800,[43.873338744526,7.700705617215,-10.814273666425],[2.3174803055677E-4,.0022402163127924,6.2988756452032E-4]],[146E3,[7.392949027906,44.382678951534,11.629500214854],[-.002193281545383,-2.1751799585364E-4,5.9556516201114E-4]],[175200,[-24.981690229261,-16.204012851426,2.466457544298],[.001819398914958,-.0026765419531201,-.0013848283502247]],[204400,[42.530187039511,.845935508021,-12.554907527683],[6.5059779150669E-4,.0022725657282262,5.1133743202822E-4]],[233600,[13.999526486822, +44.462363044894,9.669418486465],[-.0021079296569252,1.7533423831993E-4,6.9128485798076E-4]],[262800,[-29.184024803031,-7.371243995762,6.493275957928],[9.3581363109681E-4,-.0030610357109184,-.0012364201089345]],[292E3,[39.831980671753,-6.078405766765,-13.909815358656],[.0011117769689167,.0022362097830152,3.6230548231153E-4]],[321200,[20.294955108476,43.417190420251,7.450091985932],[-.0019742157451535,5.3102050468554E-4,7.5938408813008E-4]],[350400,[-30.66999230216,2.318743558955,9.973480913858],[4.5605107450676E-5, +-.0031308219926928,-9.9066533301924E-4]],[379600,[35.626122155983,-12.897647509224,-14.777586508444],[.0016015684949743,.0021171931182284,1.8002516202204E-4]],[408800,[26.133186148561,41.232139187599,5.00640132622],[-.0017857704419579,8.6046232702817E-4,8.0614690298954E-4]],[438E3,[-29.57674022923,11.863535943587,12.631323039872],[-7.2292830060955E-4,-.0029587820140709,-7.08242964503E-4]],[467200,[29.910805787391,-19.159019294,-15.013363865194],[.0020871080437997,.0018848372554514,-3.8528655083926E-5]], +[496400,[31.375957451819,38.050372720763,2.433138343754],[-.0015546055556611,.0011699815465629,8.3565439266001E-4]],[525600,[-26.360071336928,20.662505904952,14.414696258958],[-.0013142373118349,-.0026236647854842,-4.2542017598193E-4]],[554800,[22.599441488648,-24.508879898306,-14.484045731468],[.0025454108304806,.0014917058755191,-3.0243665086079E-4]],[584E3,[35.877864013014,33.894226366071,-.224524636277],[-.0012941245730845,.0014560427668319,8.4762160640137E-4]],[613200,[-21.538149762417,28.204068269761, +15.321973799534],[-.001731211740901,-.0021939631314577,-1.631691327518E-4]],[642400,[13.971521374415,-28.339941764789,-13.083792871886],[.0029334630526035,9.1860931752944E-4,-5.9939422488627E-4]],[671600,[39.526942044143,28.93989736011,-2.872799527539],[-.0010068481658095,.001702113288809,8.3578230511981E-4]],[700800,[-15.576200701394,34.399412961275,15.466033737854],[-.0020098814612884,-.0017191109825989,7.0414782780416E-5]],[73E4,[4.24325283709,-30.118201690825,-10.707441231349],[.0031725847067411, +1.609846120227E-4,-9.0672150593868E-4]]],C=function(a,b,c){this.x=a;this.y=b;this.z=c};C.prototype.clone=function(){return new C(this.x,this.y,this.z)};C.prototype.ToAstroVector=function(a){return new E(this.x,this.y,this.z,a)};C.zero=function(){return new C(0,0,0)};C.prototype.quadrature=function(){return this.x*this.x+this.y*this.y+this.z*this.z};C.prototype.add=function(a){return new C(this.x+a.x,this.y+a.y,this.z+a.z)};C.prototype.sub=function(a){return new C(this.x-a.x,this.y-a.y,this.z-a.z)}; +C.prototype.incr=function(a){this.x+=a.x;this.y+=a.y;this.z+=a.z};C.prototype.decr=function(a){this.x-=a.x;this.y-=a.y;this.z-=a.z};C.prototype.mul=function(a){return new C(a*this.x,a*this.y,a*this.z)};C.prototype.div=function(a){return new C(this.x/a,this.y/a,this.z/a)};C.prototype.mean=function(a){return new C((this.x+a.x)/2,(this.y+a.y)/2,(this.z+a.z)/2)};C.prototype.neg=function(){return new C(-this.x,-this.y,-this.z)};var X=function(a,b,c){this.tt=a;this.r=b;this.v=c};X.prototype.clone=function(){return new X(this.tt, +this.r,this.v)};X.prototype.sub=function(a){return new X(this.tt,this.r.sub(a.r),this.v.sub(a.v))};var wa=function(a){var b=new X(a,new C(0,0,0),new C(0,0,0));this.Jupiter=T(b,a,n.Jupiter,2.825345909524226E-7);this.Saturn=T(b,a,n.Saturn,8.459715185680659E-8);this.Uranus=T(b,a,n.Uranus,1.292024916781969E-8);this.Neptune=T(b,a,n.Neptune,1.524358900784276E-8);this.Jupiter.r.decr(b.r);this.Jupiter.v.decr(b.v);this.Saturn.r.decr(b.r);this.Saturn.v.decr(b.v);this.Uranus.r.decr(b.r);this.Uranus.v.decr(b.v); +this.Neptune.r.decr(b.r);this.Neptune.v.decr(b.v);this.Sun=new X(a,b.r.mul(-1),b.v.mul(-1))};wa.prototype.Acceleration=function(a){var b=Pa(a,2.959122082855911E-4,this.Sun.r);b.incr(Pa(a,2.825345909524226E-7,this.Jupiter.r));b.incr(Pa(a,8.459715185680659E-8,this.Saturn.r));b.incr(Pa(a,1.292024916781969E-8,this.Uranus.r));b.incr(Pa(a,1.524358900784276E-8,this.Neptune.r));return b};var Qa=function(a,b,c,d){this.tt=a;this.r=b;this.v=c;this.a=d};Qa.prototype.clone=function(){return new Qa(this.tt,this.r.clone(), +this.v.clone(),this.a.clone())};var jc=function(a,b){this.bary=a;this.grav=b},Db=[],ld=new L([[.999432765338654,-.0336771074697641,0],[.0303959428906285,.902057912352809,.430543388542295],[-.0144994559663353,-.430299169409101,.902569881273754]]),pb=[{mu:2.82489428433814E-7,al:[1.446213296021224,3.5515522861824],a:[[.0028210960212903,0,0]],l:[[-1.925258348666E-4,4.9369589722645,.01358483658305],[-9.70803596076E-5,4.3188796477322,.01303413843243],[-8.988174165E-5,1.9080016428617,.00305064867158],[-5.53101050262E-5, +1.4936156681569,.01293892891155]],z:[[.0041510849668155,4.089939635545,-.01290686414666],[6.260521444113E-4,1.446188898627,3.5515522949802],[3.52747346169E-5,2.1256287034578,1.2727416567E-4]],zeta:[[3.142172466014E-4,2.7964219722923,-.002315096098],[9.04169207946E-5,1.0477061879627,-5.6920638196E-4]]},{mu:2.82483274392893E-7,al:[-.3735263437471362,1.76932271112347],a:[[.0044871037804314,0,0],[4.324367498E-7,1.819645606291,1.7822295777568]],l:[[8.576433172936E-4,4.3188693178264,.01303413830805],[4.549582875086E-4, +1.4936531751079,.01293892881962],[3.248939825174E-4,1.8196494533458,1.7822295777568],[-3.074250079334E-4,4.9377037005911,.01358483286724],[1.982386144784E-4,1.907986905476,.00305101212869],[1.834063551804E-4,2.1402853388529,.00145009789338],[-1.434383188452E-4,5.622214036663,.89111478887838],[-7.71939140944E-5,4.300272437235,2.6733443704266]],z:[[-.0093589104136341,4.0899396509039,-.01290686414666],[2.988994545555E-4,5.9097265185595,1.7693227079462],[2.13903639035E-4,2.1256289300016,1.2727418407E-4], +[1.980963564781E-4,2.743516829265,6.7797343009E-4],[1.210388158965E-4,5.5839943711203,3.20566149E-5],[8.37042048393E-5,1.6094538368039,-.90402165808846],[8.23525166369E-5,1.4461887708689,3.5515522949802]],zeta:[[.0040404917832303,1.0477063169425,-5.692064054E-4],[2.200421034564E-4,3.3368857864364,-1.2491307307E-4],[1.662544744719E-4,2.4134862374711,0],[5.90282470983E-5,5.9719930968366,-3.056160225E-5]]},{mu:2.82498184184723E-7,al:[.2874089391143348,.878207923589328],a:[[.0071566594572575,0,0],[1.393029911E-6, +1.1586745884981,2.6733443704266]],l:[[2.310797886226E-4,2.1402987195942,.00145009784384],[-1.828635964118E-4,4.3188672736968,.01303413828263],[1.512378778204E-4,4.9373102372298,.01358483481252],[-1.163720969778E-4,4.300265986149,2.6733443704266],[-9.55478069846E-5,1.4936612842567,.01293892879857],[8.15246854464E-5,5.6222137132535,.89111478887838],[-8.01219679602E-5,1.2995922951532,1.0034433456729],[-6.07017260182E-5,.64978769669238,.50172167043264]],z:[[.0014289811307319,2.1256295942739,1.2727413029E-4], +[7.71093122676E-4,5.5836330003496,3.20643411E-5],[5.925911780766E-4,4.0899396636448,-.01290686414666],[2.045597496146E-4,5.2713683670372,-.12523544076106],[1.785118648258E-4,.28743156721063,.8782079244252],[1.131999784893E-4,1.4462127277818,3.5515522949802],[-6.5877816921E-5,2.2702423990985,-1.7951364394537],[4.97058888328E-5,5.9096792204858,1.7693227129285]],zeta:[[.0015932721570848,3.3368862796665,-1.2491307058E-4],[8.533093128905E-4,2.4133881688166,0],[3.513347911037E-4,5.9720789850127,-3.056101771E-5], +[-1.441929255483E-4,1.0477061764435,-5.6920632124E-4]]},{mu:2.82492144889909E-7,al:[-.3620341291375704,.376486233433828],a:[[.0125879701715314,0,0],[3.595204947E-6,.64965776007116,.50172168165034],[2.7580210652E-6,1.808423578151,3.1750660413359]],l:[[5.586040123824E-4,2.1404207189815,.00145009793231],[-3.805813868176E-4,2.7358844897853,2.972965062E-5],[2.205152863262E-4,.649796525964,.5017216724358],[1.877895151158E-4,1.8084787604005,3.1750660413359],[7.66916975242E-5,6.2720114319755,1.3928364636651], +[7.47056855106E-5,1.2995916202344,1.0034433456729]],z:[[.0073755808467977,5.5836071576084,3.206509914E-5],[2.065924169942E-4,5.9209831565786,.37648624194703],[1.589869764021E-4,.28744006242623,.8782079244252],[-1.561131605348E-4,2.1257397865089,1.2727441285E-4],[1.486043380971E-4,1.4462134301023,3.5515522949802],[6.35073108731E-5,5.9096803285954,1.7693227129285],[5.99351698525E-5,4.1125517584798,-2.7985797954589],[5.40660842731E-5,5.5390350845569,.00286834082283],[-4.89596900866E-5,4.6218149483338, +-.62695712529519]],zeta:[[.0038422977898495,2.4133922085557,0],[.0022453891791894,5.9721736773277,-3.056125525E-5],[-2.604479450559E-4,3.3368746306409,-1.2491309972E-4],[3.3211214323E-5,5.5604137742337,.00290037688507]]}],ad=function(a,b,c,d){this.io=a;this.europa=b;this.ganymede=c;this.callisto=d};e.JupiterMoonsInfo=ad;e.JupiterMoons=function(a){a=new O(a);return new ad(kb(a,pb[0]),kb(a,pb[1]),kb(a,pb[2]),kb(a,pb[3]))};e.HelioVector=ka;e.HelioDistance=la;var bd=function(){};e.PositionFunction=bd; +e.CorrectLightTravel=mc;var Eb=function(a,b,c,d){this.observerBody=a;this.targetBody=b;this.aberration=c;this.observerPos=d;return this};$jscomp.inherits(Eb,bd);Eb.prototype.Position=function(a){this.aberration&&(this.observerPos=ka(this.observerBody,a));var b=ka(this.targetBody,a);return new E(b.x-this.observerPos.x,b.y-this.observerPos.y,b.z-this.observerPos.z,a)};e.BackdatePosition=nc;e.GeoVector=W;e.BaryState=function(a,b){b=v(b);if(a===n.SSB)return new I(0,0,0,0,0,0,b);if(a===n.Pluto)return Cb(b, +!1);var c=new wa(b.tt);switch(a){case n.Sun:return ma(c.Sun,b);case n.Jupiter:return ma(c.Jupiter,b);case n.Saturn:return ma(c.Saturn,b);case n.Uranus:return ma(c.Uranus,b);case n.Neptune:return ma(c.Neptune,b);case n.Moon:case n.EMB:var d=Oa(M[n.Earth],b.tt);a=a===n.Moon?Na(b):wb(b);return new I(a.x+c.Sun.r.x+d.r.x,a.y+c.Sun.r.y+d.r.y,a.z+c.Sun.r.z+d.r.z,a.vx+c.Sun.v.x+d.v.x,a.vy+c.Sun.v.y+d.v.y,a.vz+c.Sun.v.z+d.v.z,b)}if(a in M)return a=Oa(M[a],b.tt),new I(c.Sun.r.x+a.r.x,c.Sun.r.y+a.r.y,c.Sun.r.z+ +a.r.z,c.Sun.v.x+a.v.x,c.Sun.v.y+a.v.y,c.Sun.v.z+a.v.z,b);throw'BaryState: Unsupported body "'+a+'"';};e.HelioState=Fb;e.Search=J;e.SearchSunLongitude=oc;e.PairLongitude=Gb;e.AngleFromSun=Aa;e.EclipticLongitude=na;var pc=function(a,b,c,d,f,g,h,l){this.time=a;this.mag=b;this.phase_angle=c;this.helio_dist=d;this.geo_dist=f;this.gc=g;this.hc=h;this.ring_tilt=l;this.phase_fraction=(1+Math.cos(e.DEG2RAD*c))/2};e.IlluminationInfo=pc;e.Illumination=lb;e.SearchRelativeLongitude=Ba;e.MoonPhase=Hb;e.SearchMoonPhase= +Sa;var rc=function(a,b){this.quarter=a;this.time=b};e.MoonQuarter=rc;e.SearchMoonQuarter=qc;e.NextMoonQuarter=function(a){a=new Date(a.time.date.getTime()+5184E5);return qc(a)};e.SearchRiseSet=function(a,b,c,d,f){a:switch(a){case n.Sun:var g=Jc;break a;case n.Moon:g=xd;break a;default:g=0}return sc(a,b,c,d,f,g,-yd)};e.SearchAltitude=function(a,b,c,d,f,g){if(!Number.isFinite(g)||-90>g||90c||24<=c)throw"Invalid hour angle "+c;A(f);if(0===f)throw"Direction must be positive or negative.";for(;;){++g;var h=ba(d),l=gb(a,d,b,!0,!0);h=(c+l.ra-b.longitude/15-h)%24;1===g?0h&&(h+=24):0h?h+=24:123600*Math.abs(h))return a=fb(d,b,l.ra, +l.dec,"normal"),new cd(d,a);d=d.AddDays(h/24*.9972695717592592)}};var dd=function(a,b,c,d){this.mar_equinox=a;this.jun_solstice=b;this.sep_equinox=c;this.dec_solstice=d};e.SeasonInfo=dd;e.Seasons=function(a){function b(h,l,k){l=new Date(Date.UTC(a,l-1,k));h=oc(h,l,20);if(!h)throw"Cannot find season change near "+l.toISOString();return h}a instanceof Date&&Number.isFinite(a.getTime())&&(a=a.getUTCFullYear());if(!Number.isSafeInteger(a))throw"Cannot calculate seasons because year argument "+a+" is neither a Date nor a safe integer."; +var c=b(0,3,10),d=b(90,6,10),f=b(180,9,10),g=b(270,12,10);return new dd(c,d,f,g)};var uc=function(a,b,c,d){this.time=a;this.visibility=b;this.elongation=c;this.ecliptic_separation=d};e.ElongationEvent=uc;e.Elongation=tc;e.SearchMaxElongation=function(a,b){function c(m){var p=m.AddDays(-.005);m=m.AddDays(.005);p=Aa(a,p);m=Aa(a,m);return(p-m)/.01}b=v(b);var d={Mercury:{s1:50,s2:85},Venus:{s1:40,s2:50}}[a];if(!d)throw"SearchMaxElongation works for Mercury and Venus only.";for(var f=0;2>=++f;){var g= +na(a,b),h=na(n.Earth,b),l=ya(g-h),k=g=h=void 0;l>=-d.s1&&l<+d.s1?(k=0,h=+d.s1,g=+d.s2):l>=+d.s2||l<-d.s2?(k=0,h=-d.s2,g=-d.s1):0<=l?(k=-Ra(a)/4,h=+d.s1,g=+d.s2):(k=-Ra(a)/4,h=-d.s2,g=-d.s1);l=b.AddDays(k);h=Ba(a,h,l);g=Ba(a,g,h);l=c(h);if(0<=l)throw"SearchMaxElongation: internal error: m1 = "+l;k=c(g);if(0>=k)throw"SearchMaxElongation: internal error: m2 = "+k;l=J(c,h,g,{init_f1:l,init_f2:k,dt_tolerance_seconds:10});if(!l)throw"SearchMaxElongation: failed search iter "+f+" (t1="+h.toString()+", t2="+ +g.toString()+")";if(l.tt>=b.tt)return tc(a,l);b=g.AddDays(1)}throw"SearchMaxElongation: failed to find event after 2 tries.";};e.SearchPeakMagnitude=function(a,b){function c(k){var m=k.AddDays(-.005);k=k.AddDays(.005);m=lb(a,m).mag;return(lb(a,k).mag-m)/.01}if(a!==n.Venus)throw"SearchPeakMagnitude currently works for Venus only.";b=v(b);for(var d=0;2>=++d;){var f=na(a,b),g=na(n.Earth,b),h=ya(f-g),l=f=g=void 0;-10<=h&&10>h?(l=0,g=10,f=30):30<=h||-30>h?(l=0,g=-30,f=-10):0<=h?(l=-Ra(a)/4,g=10,f=30): +(l=-Ra(a)/4,g=-30,f=-10);h=b.AddDays(l);g=Ba(a,g,h);f=Ba(a,f,g);h=c(g);if(0<=h)throw"SearchPeakMagnitude: internal error: m1 = "+h;l=c(f);if(0>=l)throw"SearchPeakMagnitude: internal error: m2 = "+l;h=J(c,g,f,{init_f1:h,init_f2:l,dt_tolerance_seconds:10});if(!h)throw"SearchPeakMagnitude: failed search iter "+d+" (t1="+g.toString()+", t2="+f.toString()+")";if(h.tt>=b.tt)return lb(a,h);b=f.AddDays(1)}throw"SearchPeakMagnitude: failed to find event after 2 tries.";};var Ca;(function(a){a[a.Pericenter= +0]="Pericenter";a[a.Apocenter=1]="Apocenter"})(Ca=e.ApsisKind||(e.ApsisKind={}));var Ta=function(a,b,c){this.time=a;this.kind=b;this.dist_au=c;this.dist_km=c*e.KM_PER_AU};e.Apsis=Ta;e.SearchLunarApsis=vc;e.NextLunarApsis=function(a){var b=vc(a.time.AddDays(11));if(1!==b.kind+a.kind)throw"NextLunarApsis INTERNAL ERROR: did not find alternating apogee/perigee: prev="+a.kind+" @ "+a.time.toString()+", next="+b.kind+" @ "+b.time.toString();return b};e.SearchPlanetApsis=xc;e.NextPlanetApsis=function(a, +b){if(b.kind!==Ca.Pericenter&&b.kind!==Ca.Apocenter)throw"Invalid apsis kind: "+b.kind;var c=b.time.AddDays(.25*Z[a].OrbitalPeriod);a=xc(a,c);if(1!==a.kind+b.kind)throw"Internal error: previous apsis was "+b.kind+", but found "+a.kind+" for next apsis.";return a};e.InverseRotation=Da;e.CombineRotation=Ea;e.IdentityMatrix=function(){return new L([[1,0,0],[0,1,0],[0,0,1]])};e.Pivot=function(a,b,c){if(0!==b&&1!==b&&2!==b)throw"Invalid axis "+b+". Must be [0, 1, 2].";var d=A(c)*e.DEG2RAD;c=Math.cos(d); +d=Math.sin(d);var f=(b+1)%3,g=(b+2)%3,h=[[0,0,0],[0,0,0],[0,0,0]];h[f][f]=c*a.rot[f][f]-d*a.rot[f][g];h[f][g]=d*a.rot[f][f]+c*a.rot[f][g];h[f][b]=a.rot[f][b];h[g][f]=c*a.rot[g][f]-d*a.rot[g][g];h[g][g]=d*a.rot[g][f]+c*a.rot[g][g];h[g][b]=a.rot[g][b];h[b][f]=c*a.rot[b][f]-d*a.rot[b][g];h[b][g]=d*a.rot[b][f]+c*a.rot[b][g];h[b][b]=a.rot[b][b];return new L(h)};e.VectorFromSphere=Jb;e.EquatorFromVector=Kb;e.SphereFromVector=Lb;e.HorizonFromVector=function(a,b){a=Lb(a);a.lon=yc(a.lon);a.lat+=Ka(b,a.lat); +return a};e.VectorFromHorizon=function(a,b,c){b=v(b);var d=yc(a.lon);c=a.lat+zc(c,a.lat);a=new Ma(c,d,a.dist);return Jb(a,b)};e.Refraction=Ka;e.InverseRefraction=zc;e.RotateVector=Ua;e.RotateState=xa;e.Rotation_EQJ_ECL=Ac;e.Rotation_ECL_EQJ=function(){return new L([[1,0,0],[0,.9174821430670688,.3977769691083922],[0,-.3977769691083922,.9174821430670688]])};e.Rotation_EQJ_EQD=Mb;e.Rotation_EQD_EQJ=Nb;e.Rotation_EQD_HOR=Ob;e.Rotation_HOR_EQD=Bc;e.Rotation_HOR_EQJ=Cc;e.Rotation_EQJ_HOR=function(a,b){a= +Cc(a,b);return Da(a)};e.Rotation_EQD_ECL=Dc;e.Rotation_ECL_EQD=Ec;e.Rotation_ECL_HOR=Fc;e.Rotation_HOR_ECL=function(a,b){a=Fc(a,b);return Da(a)};e.Rotation_EQJ_GAL=function(){return new L([[-.0548624779711344,.4941095946388765,-.8676668813529025],[-.8734572784246782,-.4447938112296831,-.1980677870294097],[-.483800052994852,.7470034631630423,.4559861124470794]])};e.Rotation_GAL_EQJ=function(){return new L([[-.0548624779711344,-.8734572784246782,-.483800052994852],[.4941095946388765,-.4447938112296831, +.7470034631630423],[-.8676668813529025,-.1980677870294097,.4559861124470794]])};var zd=[["And","Andromeda"],["Ant","Antila"],["Aps","Apus"],["Aql","Aquila"],["Aqr","Aquarius"],["Ara","Ara"],["Ari","Aries"],["Aur","Auriga"],["Boo","Bootes"],["Cae","Caelum"],["Cam","Camelopardis"],["Cap","Capricornus"],["Car","Carina"],["Cas","Cassiopeia"],["Cen","Centaurus"],["Cep","Cepheus"],["Cet","Cetus"],["Cha","Chamaeleon"],["Cir","Circinus"],["CMa","Canis Major"],["CMi","Canis Minor"],["Cnc","Cancer"],["Col", +"Columba"],["Com","Coma Berenices"],["CrA","Corona Australis"],["CrB","Corona Borealis"],["Crt","Crater"],["Cru","Crux"],["Crv","Corvus"],["CVn","Canes Venatici"],["Cyg","Cygnus"],["Del","Delphinus"],["Dor","Dorado"],["Dra","Draco"],["Equ","Equuleus"],["Eri","Eridanus"],["For","Fornax"],["Gem","Gemini"],["Gru","Grus"],["Her","Hercules"],["Hor","Horologium"],["Hya","Hydra"],["Hyi","Hydrus"],["Ind","Indus"],["Lac","Lacerta"],["Leo","Leo"],["Lep","Lepus"],["Lib","Libra"],["LMi","Leo Minor"],["Lup","Lupus"], +["Lyn","Lynx"],["Lyr","Lyra"],["Men","Mensa"],["Mic","Microscopium"],["Mon","Monoceros"],["Mus","Musca"],["Nor","Norma"],["Oct","Octans"],["Oph","Ophiuchus"],["Ori","Orion"],["Pav","Pavo"],["Peg","Pegasus"],["Per","Perseus"],["Phe","Phoenix"],["Pic","Pictor"],["PsA","Pisces Austrinus"],["Psc","Pisces"],["Pup","Puppis"],["Pyx","Pyxis"],["Ret","Reticulum"],["Scl","Sculptor"],["Sco","Scorpius"],["Sct","Scutum"],["Ser","Serpens"],["Sex","Sextans"],["Sge","Sagitta"],["Sgr","Sagittarius"],["Tau","Taurus"], +["Tel","Telescopium"],["TrA","Triangulum Australe"],["Tri","Triangulum"],["Tuc","Tucana"],["UMa","Ursa Major"],["UMi","Ursa Minor"],["Vel","Vela"],["Vir","Virgo"],["Vol","Volans"],["Vul","Vulpecula"]],Ad=[[83,0,8640,2112],[83,2880,5220,2076],[83,7560,8280,2068],[83,6480,7560,2064],[15,0,2880,2040],[10,3300,3840,1968],[15,0,1800,1920],[10,3840,5220,1920],[83,6300,6480,1920],[33,7260,7560,1920],[15,0,1263,1848],[10,4140,4890,1848],[83,5952,6300,1800],[15,7260,7440,1800],[10,2868,3300,1764],[33,3300, +4080,1764],[83,4680,5952,1680],[13,1116,1230,1632],[33,7350,7440,1608],[33,4080,4320,1596],[15,0,120,1584],[83,5040,5640,1584],[15,8490,8640,1584],[33,4320,4860,1536],[33,4860,5190,1512],[15,8340,8490,1512],[10,2196,2520,1488],[33,7200,7350,1476],[15,7393.2,7416,1462],[10,2520,2868,1440],[82,2868,3030,1440],[33,7116,7200,1428],[15,7200,7393.2,1428],[15,8232,8340,1418],[13,0,876,1404],[33,6990,7116,1392],[13,612,687,1380],[13,876,1116,1368],[10,1116,1140,1368],[15,8034,8232,1350],[10,1800,2196,1344], +[82,5052,5190,1332],[33,5190,6990,1332],[10,1140,1200,1320],[15,7968,8034,1320],[15,7416,7908,1316],[13,0,612,1296],[50,2196,2340,1296],[82,4350,4860,1272],[33,5490,5670,1272],[15,7908,7968,1266],[10,1200,1800,1260],[13,8232,8400,1260],[33,5670,6120,1236],[62,735,906,1212],[33,6120,6564,1212],[13,0,492,1200],[62,492,600,1200],[50,2340,2448,1200],[13,8400,8640,1200],[82,4860,5052,1164],[13,0,402,1152],[13,8490,8640,1152],[39,6543,6564,1140],[33,6564,6870,1140],[30,6870,6900,1140],[62,600,735,1128], +[82,3030,3300,1128],[13,60,312,1104],[82,4320,4350,1080],[50,2448,2652,1068],[30,7887,7908,1056],[30,7875,7887,1050],[30,6900,6984,1044],[82,3300,3660,1008],[82,3660,3882,960],[8,5556,5670,960],[39,5670,5880,960],[50,3330,3450,954],[0,0,906,882],[62,906,924,882],[51,6969,6984,876],[62,1620,1689,864],[30,7824,7875,864],[44,7875,7920,864],[7,2352,2652,852],[50,2652,2790,852],[0,0,720,840],[44,7920,8214,840],[44,8214,8232,828],[0,8232,8460,828],[62,924,978,816],[82,3882,3960,816],[29,4320,4440,816], +[50,2790,3330,804],[48,3330,3558,804],[0,258,507,792],[8,5466,5556,792],[0,8460,8550,770],[29,4440,4770,768],[0,8550,8640,752],[29,5025,5052,738],[80,870,978,736],[62,978,1620,736],[7,1620,1710,720],[51,6543,6969,720],[82,3960,4320,696],[30,7080,7530,696],[7,1710,2118,684],[48,3558,3780,684],[29,4770,5025,684],[0,0,24,672],[80,507,600,672],[7,2118,2352,672],[37,2838,2880,672],[30,7530,7824,672],[30,6933,7080,660],[80,690,870,654],[25,5820,5880,648],[8,5430,5466,624],[25,5466,5820,624],[51,6612,6792, +624],[48,3870,3960,612],[51,6792,6933,612],[80,600,690,600],[66,258,306,570],[48,3780,3870,564],[87,7650,7710,564],[77,2052,2118,548],[0,24,51,528],[73,5730,5772,528],[37,2118,2238,516],[87,7140,7290,510],[87,6792,6930,506],[0,51,306,504],[87,7290,7404,492],[37,2811,2838,480],[87,7404,7650,468],[87,6930,7140,460],[6,1182,1212,456],[75,6792,6840,444],[59,2052,2076,432],[37,2238,2271,420],[75,6840,7140,388],[77,1788,1920,384],[39,5730,5790,384],[75,7140,7290,378],[77,1662,1788,372],[77,1920,2016,372], +[23,4620,4860,360],[39,6210,6570,344],[23,4272,4620,336],[37,2700,2811,324],[39,6030,6210,308],[61,0,51,300],[77,2016,2076,300],[37,2520,2700,300],[61,7602,7680,300],[37,2271,2496,288],[39,6570,6792,288],[31,7515,7578,284],[61,7578,7602,284],[45,4146,4272,264],[59,2247,2271,240],[37,2496,2520,240],[21,2811,2853,240],[61,8580,8640,240],[6,600,1182,238],[31,7251,7308,204],[8,4860,5430,192],[61,8190,8580,180],[21,2853,3330,168],[45,3330,3870,168],[58,6570,6718.4,150],[3,6718.4,6792,150],[31,7500,7515, +144],[20,2520,2526,132],[73,6570,6633,108],[39,5790,6030,96],[58,6570,6633,72],[61,7728,7800,66],[66,0,720,48],[73,6690,6792,48],[31,7308,7500,48],[34,7500,7680,48],[61,7680,7728,48],[61,7920,8190,48],[61,7800,7920,42],[20,2526,2592,36],[77,1290,1662,0],[59,1662,1680,0],[20,2592,2910,0],[85,5280,5430,0],[58,6420,6570,0],[16,954,1182,-42],[77,1182,1290,-42],[73,5430,5856,-78],[59,1680,1830,-96],[59,2100,2247,-96],[73,6420,6468,-96],[73,6570,6690,-96],[3,6690,6792,-96],[66,8190,8580,-96],[45,3870,4146, +-144],[85,4146,4260,-144],[66,0,120,-168],[66,8580,8640,-168],[85,5130,5280,-192],[58,5730,5856,-192],[3,7200,7392,-216],[4,7680,7872,-216],[58,6180,6468,-240],[54,2100,2910,-264],[35,1770,1830,-264],[59,1830,2100,-264],[41,2910,3012,-264],[74,3450,3870,-264],[85,4260,4620,-264],[58,6330,6360,-280],[3,6792,7200,-288.8],[35,1740,1770,-348],[4,7392,7680,-360],[73,6180,6570,-384],[72,6570,6792,-384],[41,3012,3090,-408],[58,5856,5895,-438],[41,3090,3270,-456],[26,3870,3900,-456],[71,5856,5895,-462],[47, +5640,5730,-480],[28,4530,4620,-528],[85,4620,5130,-528],[41,3270,3510,-576],[16,600,954,-585.2],[35,954,1350,-585.2],[26,3900,4260,-588],[28,4260,4530,-588],[47,5130,5370,-588],[58,5856,6030,-590],[16,0,600,-612],[11,7680,7872,-612],[4,7872,8580,-612],[16,8580,8640,-612],[41,3510,3690,-636],[35,1692,1740,-654],[46,1740,2202,-654],[11,7200,7680,-672],[41,3690,3810,-700],[41,4530,5370,-708],[47,5370,5640,-708],[71,5640,5760,-708],[35,1650,1692,-720],[58,6030,6336,-720],[76,6336,6420,-720],[41,3810, +3900,-748],[19,2202,2652,-792],[41,4410,4530,-792],[41,3900,4410,-840],[36,1260,1350,-864],[68,3012,3372,-882],[35,1536,1650,-888],[76,6420,6900,-888],[65,7680,8280,-888],[70,8280,8400,-888],[36,1080,1260,-950],[1,3372,3960,-954],[70,0,600,-960],[36,600,1080,-960],[35,1392,1536,-960],[70,8400,8640,-960],[14,5100,5370,-1008],[49,5640,5760,-1008],[71,5760,5911.5,-1008],[9,1740,1800,-1032],[22,1800,2370,-1032],[67,2880,3012,-1032],[35,1230,1392,-1056],[71,5911.5,6420,-1092],[24,6420,6900,-1092],[76, +6900,7320,-1092],[53,7320,7680,-1092],[35,1080,1230,-1104],[9,1620,1740,-1116],[49,5520,5640,-1152],[63,0,840,-1156],[35,960,1080,-1176],[40,1470,1536,-1176],[9,1536,1620,-1176],[38,7680,7920,-1200],[67,2160,2880,-1218],[84,2880,2940,-1218],[35,870,960,-1224],[40,1380,1470,-1224],[63,0,660,-1236],[12,2160,2220,-1260],[84,2940,3042,-1272],[40,1260,1380,-1276],[32,1380,1440,-1276],[63,0,570,-1284],[35,780,870,-1296],[64,1620,1800,-1296],[49,5418,5520,-1296],[84,3042,3180,-1308],[12,2220,2340,-1320], +[14,4260,4620,-1320],[49,5100,5418,-1320],[56,5418,5520,-1320],[32,1440,1560,-1356],[84,3180,3960,-1356],[14,3960,4050,-1356],[5,6300,6480,-1368],[78,6480,7320,-1368],[38,7920,8400,-1368],[40,1152,1260,-1380],[64,1800,1980,-1380],[12,2340,2460,-1392],[63,0,480,-1404],[35,480,780,-1404],[63,8400,8640,-1404],[32,1560,1650,-1416],[56,5520,5911.5,-1440],[43,7320,7680,-1440],[64,1980,2160,-1464],[18,5460,5520,-1464],[5,5911.5,5970,-1464],[18,5370,5460,-1526],[5,5970,6030,-1526],[64,2160,2460,-1536],[12, +2460,3252,-1536],[14,4050,4260,-1536],[27,4260,4620,-1536],[14,4620,5232,-1536],[18,4860,4920,-1560],[5,6030,6060,-1560],[40,780,1152,-1620],[69,1152,1650,-1620],[18,5310,5370,-1620],[5,6060,6300,-1620],[60,6300,6480,-1620],[81,7920,8400,-1620],[32,1650,2370,-1680],[18,4920,5310,-1680],[79,5310,6120,-1680],[81,0,480,-1800],[42,1260,1650,-1800],[86,2370,3252,-1800],[12,3252,4050,-1800],[55,4050,4920,-1800],[60,6480,7680,-1800],[43,7680,8400,-1800],[81,8400,8640,-1800],[81,270,480,-1824],[42,0,1260, +-1980],[17,2760,4920,-1980],[2,4920,6480,-1980],[52,1260,2760,-2040],[57,0,8640,-2160]],Tb,ed,fd=function(a,b,c,d){this.symbol=a;this.name=b;this.ra1875=c;this.dec1875=d};e.ConstellationInfo=fd;e.Constellation=function(a,b){A(a);A(b);if(-90>b||90a&&(a+=24);Tb||(Tb=Mb(new O(-45655.74141261017)),ed=new O(0));a=new Ma(b,15*a,1);a=Jb(a,ed);a=Ua(Tb,a);a=Kb(a);b=10/240;for(var c=b/15,d=$jscomp.makeIterator(Ad),f=d.next();!f.done;f=d.next()){f= +f.value;var g=f[1]*c,h=f[2]*c;if(f[3]*b<=a.dec&&g<=a.ra&&a.ra +90) throw `Invalid altitude angle: ${altitude}`; - function altitude_error(t) { - const ofdate = Equator(body, t, observer, true, true); - const hor = Horizon(t, observer, ofdate.ra, ofdate.dec); - return direction * (hor.altitude - altitude); - } - return ((limitDays < 0) - ? BackwardSearchAltitude(body, observer, direction, dateStart, limitDays, altitude_error) - : ForwardSearchAltitude(body, observer, direction, dateStart, limitDays, altitude_error)); + return InternalSearchAltitude(body, observer, direction, dateStart, limitDays, 0, altitude); } exports.SearchAltitude = SearchAltitude; -function ForwardSearchAltitude(body, observer, direction, dateStart, limitDays, altitude_error) { - VerifyObserver(observer); - VerifyNumber(limitDays); - if (body === Body.Earth) - throw 'Cannot find altitude event for the Earth.'; - let ha_before, ha_after; - if (direction === +1) { - ha_before = 12; // minimum altitude (bottom) happens BEFORE the body rises. - ha_after = 0; // maximum altitude (culmination) happens AFTER the body rises. - } - else if (direction === -1) { - ha_before = 0; // culmination happens BEFORE the body sets. - ha_after = 12; // bottom happens AFTER the body sets. - } - else { - throw `Invalid direction parameter ${direction} -- must be +1 or -1`; - } - // We cannot possibly satisfy a forward search without a positive time limit. - if (limitDays <= 0) +class AscentInfo { + constructor(tx, ty, ax, ay) { + this.tx = tx; + this.ty = ty; + this.ax = ax; + this.ay = ay; + } +} +function FindAscent(depth, altdiff, max_deriv_alt, t1, t2, a1, a2) { + // See if we can find any time interval where the altitude-diff function + // rises from non-positive to positive. + if (a1 < 0.0 && a2 >= 0.0) { + // Trivial success case: the endpoints already rise through zero. + return new AscentInfo(t1, t2, a1, a2); + } + if (a1 >= 0.0 && a2 < 0.0) { + // Trivial failure case: Assume Nyquist condition prevents an ascent. return null; - // See if the body is currently above/below the horizon. - // If we are looking for next rise time and the body is below the horizon, - // we use the current time as the lower time bound and the next culmination - // as the upper bound. - // If the body is above the horizon, we search for the next bottom and use it - // as the lower bound and the next culmination after that bottom as the upper bound. - // The same logic applies for finding set times, only we swap the hour angles. - // The peak_altitude() function already considers the 'direction' parameter. - let time_start = MakeTime(dateStart); - let time_before; - let evt_before; - let evt_after; - let error_before = altitude_error(time_start); - let error_after; - if (error_before > 0) { - // We are past the sought event, so we have to wait for the next "before" event (culm/bottom). - evt_before = SearchHourAngle(body, observer, ha_before, time_start, +1); - time_before = evt_before.time; - error_before = altitude_error(time_before); } - else { - // We are before or at the sought event, so we find the next "after" event (bottom/culm), - // and use the current time as the "before" event. - time_before = time_start; + if (depth > 17) { + // Safety valve: do not allow unlimited recursion. + // This should never happen if the rest of the logic is working correctly, + // so fail the whole search if it does happen. It's a bug! + throw `Excessive recursion in rise/set ascent search.`; + } + // Both altitudes are on the same side of zero: both are negative, or both are non-negative. + // There could be a convex "hill" or a concave "valley" that passes through zero. + // In polar regions sometimes there is a rise/set or set/rise pair within minutes of each other. + // For example, the Moon can be below the horizon, then the very top of it becomes + // visible (moonrise) for a few minutes, then it moves sideways and down below + // the horizon again (moonset). We want to catch these cases. + // However, for efficiency and practicality concerns, because the rise/set search itself + // has a 0.1 second threshold, we do not worry about rise/set pairs that are less than + // one second apart. These are marginal cases that are rendered highly uncertain + // anyway, due to unpredictable atmospheric refraction conditions (air temperature and pressure). + const dt = t2.ut - t1.ut; + if (dt * SECONDS_PER_DAY < 1.0) + return null; + // Is it possible to reach zero from the altitude that is closer to zero? + const da = Math.min(Math.abs(a1), Math.abs(a2)); + // Without loss of generality, assume |a1| <= |a2|. + // (Reverse the argument in the case |a2| < |a1|.) + // Imagine you have to "drive" from a1 to 0, then back to a2. + // You can't go faster than max_deriv_alt. If you can't reach 0 in half the time, + // you certainly don't have time to reach 0, turn around, and still make your way + // back up to a2 (which is at least as far from 0 than a1 is) in the time interval dt. + // Therefore, the time threshold is half the time interval, or dt/2. + if (da > max_deriv_alt * (dt / 2)) { + // Prune: the altitude cannot change fast enough to reach zero. + return null; } - evt_after = SearchHourAngle(body, observer, ha_after, time_before, +1); - error_after = altitude_error(evt_after.time); - while (true) { - if (error_before <= 0 && error_after > 0) { - // Search between evt_before and evt_after for the desired event. - let tx = Search(altitude_error, time_before, evt_after.time, { init_f1: error_before, init_f2: error_after }); - if (tx) { - // If we found the rise/set time, but it falls outside limitDays, fail the search. - if (tx.ut > time_start.ut + limitDays) - return null; - // The search succeeded. - return tx; - } - } - // If we didn't find the desired event, use time_after to find the next before-event. - evt_before = SearchHourAngle(body, observer, ha_before, evt_after.time, +1); - if (evt_before.time.ut >= time_start.ut + limitDays) - return null; - evt_after = SearchHourAngle(body, observer, ha_after, evt_before.time, +1); - time_before = evt_before.time; - error_before = altitude_error(evt_before.time); - error_after = altitude_error(evt_after.time); + // Bisect the time interval and evaluate the altitude at the midpoint. + const tmid = new AstroTime((t1.ut + t2.ut) / 2); + const amid = altdiff(tmid); + // Use recursive bisection to search for a solution bracket. + return (FindAscent(1 + depth, altdiff, max_deriv_alt, t1, tmid, a1, amid) || + FindAscent(1 + depth, altdiff, max_deriv_alt, tmid, t2, amid, a2)); +} +function MaxAltitudeSlope(body, latitude) { + // Calculate the maximum possible rate that this body's altitude + // could change [degrees/day] as seen by this observer. + // First use experimentally determined extreme bounds by body + // of how much topocentric RA and DEC can change per rate of time. + // We need minimum possible d(RA)/dt, and maximum possible magnitude of d(DEC)/dt. + // Conservatively, we round d(RA)/dt down, d(DEC)/dt up. + let deriv_ra; + let deriv_dec; + switch (body) { + case Body.Moon: + deriv_ra = +4.5; + deriv_dec = +8.2; + break; + case Body.Sun: + deriv_ra = +0.8; + deriv_dec = +0.5; + break; + case Body.Mercury: + deriv_ra = -1.6; + deriv_dec = +1.0; + break; + case Body.Venus: + deriv_ra = -0.8; + deriv_dec = +0.6; + break; + case Body.Mars: + deriv_ra = -0.5; + deriv_dec = +0.4; + break; + case Body.Jupiter: + case Body.Saturn: + case Body.Uranus: + case Body.Neptune: + case Body.Pluto: + deriv_ra = -0.2; + deriv_dec = +0.2; + break; + default: + throw `Body not allowed for altitude search: ${body}`; } + const latrad = exports.DEG2RAD * latitude; + return Math.abs(((360.0 / SOLAR_DAYS_PER_SIDEREAL_DAY) - deriv_ra) * Math.cos(latrad)) + Math.abs(deriv_dec * Math.sin(latrad)); } -function BackwardSearchAltitude(body, observer, direction, dateStart, limitDays, altitude_error) { +function InternalSearchAltitude(body, observer, direction, dateStart, limitDays, bodyRadiusAu, targetAltitude) { VerifyObserver(observer); VerifyNumber(limitDays); - if (body === Body.Earth) - throw 'Cannot find altitude event for the Earth.'; - let ha_before, ha_after; - if (direction === +1) { - ha_before = 12; // minimum altitude (bottom) happens BEFORE the body rises. - ha_after = 0; // maximum altitude (culmination) happens AFTER the body rises. - } - else if (direction === -1) { - ha_before = 0; // culmination happens BEFORE the body sets. - ha_after = 12; // bottom happens AFTER the body sets. - } - else { - throw `Invalid direction parameter ${direction} -- must be +1 or -1`; - } - // We cannot possibly satisfy a backward search without a negative time limit. - if (limitDays >= 0) - return null; - // See if the body is currently above/below the horizon. - // If we are looking for previous rise time and the body is above the horizon, - // we use the current time as the upper time bound and the previous bottom as the lower time bound. - // If the body is below the horizon, we search for the previous culmination and use it - // as the upper time bound. Then we search for the bottom before that culmination and - // use it as the lower time bound. - // The same logic applies for finding set times; altitude_error_func and - // altitude_error_context ensure that the desired event is represented - // by ascending through zero, so the Search function works correctly. - let time_start = MakeTime(dateStart); - let time_after; - let evt_before; - let evt_after; - let error_after = altitude_error(time_start); - let error_before; - if (error_after < 0) { - evt_after = SearchHourAngle(body, observer, ha_after, time_start, -1); - time_after = evt_after.time; - error_after = altitude_error(time_after); - } - else { - time_after = time_start; - } - evt_before = SearchHourAngle(body, observer, ha_before, time_after, -1); - error_before = altitude_error(evt_before.time); - while (true) { - if (error_before <= 0 && error_after > 0) { - // Search between evt_before and evt_after for the desired event. - let tx = Search(altitude_error, evt_before.time, time_after, { init_f1: error_before, init_f2: error_after }); - if (tx) { - // If we found the rise/set time, but it falls outside limitDays, fail the search. - if (tx.ut < time_start.ut + limitDays) - return null; - // The search succeeded. - return tx; + const RISE_SET_DT = 0.42; // 10.08 hours: Nyquist-safe for 22-hour period. + const max_deriv_alt = MaxAltitudeSlope(body, observer.latitude); + function altdiff(time) { + const ofdate = Equator(body, time, observer, true, true); + const hor = Horizon(time, observer, ofdate.ra, ofdate.dec); + const altitude = hor.altitude + exports.RAD2DEG * Math.asin(bodyRadiusAu / ofdate.dist); + return direction * (altitude - targetAltitude); + } + // We allow searching forward or backward in time. + // But we want to keep t1 < t2, so we need a few if/else statements. + const startTime = MakeTime(dateStart); + let t1 = startTime; + let t2 = startTime; + let a1 = altdiff(t1); + let a2 = a1; + for (;;) { + if (limitDays < 0.0) { + t1 = t2.AddDays(-RISE_SET_DT); + a1 = altdiff(t1); + } + else { + t2 = t1.AddDays(+RISE_SET_DT); + a2 = altdiff(t2); + } + const ascent = FindAscent(0, altdiff, max_deriv_alt, t1, t2, a1, a2); + if (ascent) { + // We found a time interval [t1, t2] that contains an alt-diff + // rising from negative a1 to non-negative a2. + // Search for the time where the root occurs. + const time = Search(altdiff, ascent.tx, ascent.ty, { + dt_tolerance_seconds: 0.1, + init_f1: ascent.ax, + init_f2: ascent.ay + }); + if (time) { + // Now that we have a solution, we have to check whether it goes outside the time bounds. + if (limitDays < 0.0) { + if (time.ut < startTime.ut + limitDays) + return null; + } + else { + if (time.ut > startTime.ut + limitDays) + return null; + } + return time; // success! } + // The search should have succeeded. Something is wrong with the ascent finder! + throw `Rise/set search failed after finding ascent: t1=${t1}, t2=${t2}, a1=${a1}, a2=${a2}`; + } + // There is no ascent in this interval, so keep searching. + if (limitDays < 0.0) { + if (t1.ut < startTime.ut + limitDays) + return null; + t2 = t1; + a2 = a1; + } + else { + if (t2.ut > startTime.ut + limitDays) + return null; + t1 = t2; + a1 = a2; } - evt_after = SearchHourAngle(body, observer, ha_after, evt_before.time, -1); - if (evt_after.time.ut <= time_start.ut + limitDays) - return null; - evt_before = SearchHourAngle(body, observer, ha_before, evt_after.time, -1); - time_after = evt_before.time; - error_before = altitude_error(evt_before.time); - error_after = altitude_error(evt_after.time); } } /** diff --git a/source/js/astronomy.min.js b/source/js/astronomy.min.js index 8beabec1..8e604886 100644 --- a/source/js/astronomy.min.js +++ b/source/js/astronomy.min.js @@ -225,12 +225,11 @@ function SearchRelativeLongitude(a,b,c){function d(l){var m=EclipticLongitude(a, c=c.AddDays(h);if(1>Math.abs(h)*SECONDS_PER_DAY)return c;h=g;g=d(c);30>Math.abs(h)&&h!==g&&(h/=h-g,.5h&&(e*=h))}throw"Relative longitude search failed to converge for "+a+" near "+c.toString()+" (error_angle = "+g+").";}exports.SearchRelativeLongitude=SearchRelativeLongitude;function MoonPhase(a){return PairLongitude(Body.Moon,Body.Sun,a)}exports.MoonPhase=MoonPhase; function SearchMoonPhase(a,b,c){function d(k){k=MoonPhase(k);return LongitudeOffset(k-a)}VerifyNumber(a);VerifyNumber(c);b=MakeTime(b);var e=d(b);if(0>c){0>e&&(e+=360);var f=-(MEAN_SYNODIC_MONTH*e)/360;e=f+1.5;if(ec)return null;e=Math.min(c,f+1.5)}c=b.AddDays(g);b=b.AddDays(e);return Search(d,c,b,{dt_tolerance_seconds:.1})}exports.SearchMoonPhase=SearchMoonPhase; var MoonQuarter=function(a,b){this.quarter=a;this.time=b};exports.MoonQuarter=MoonQuarter;function SearchMoonQuarter(a){var b=MoonPhase(a);b=(Math.floor(b/90)+1)%4;a=SearchMoonPhase(90*b,a,10);if(!a)throw"Cannot find moon quarter";return new MoonQuarter(b,a)}exports.SearchMoonQuarter=SearchMoonQuarter;function NextMoonQuarter(a){a=new Date(a.time.date.getTime()+6*MILLIS_PER_DAY);return SearchMoonQuarter(a)}exports.NextMoonQuarter=NextMoonQuarter; -function BodyRadiusAu(a){switch(a){case Body.Sun:return SUN_RADIUS_AU;case Body.Moon:return MOON_EQUATORIAL_RADIUS_AU;default:return 0}}function SearchRiseSet(a,b,c,d,e){function f(k){var h=Equator(a,k,b,!0,!0);k=Horizon(k,b,h.ra,h.dec).altitude+g/h.dist*exports.RAD2DEG+REFRACTION_NEAR_HORIZON;return c*k}var g=BodyRadiusAu(a);return 0>e?BackwardSearchAltitude(a,b,c,d,e,f):ForwardSearchAltitude(a,b,c,d,e,f)}exports.SearchRiseSet=SearchRiseSet; -function SearchAltitude(a,b,c,d,e,f){function g(k){var h=Equator(a,k,b,!0,!0);k=Horizon(k,b,h.ra,h.dec);return c*(k.altitude-f)}if(!Number.isFinite(f)||-90>f||90e?BackwardSearchAltitude(a,b,c,d,e,g):ForwardSearchAltitude(a,b,c,d,e,g)}exports.SearchAltitude=SearchAltitude; -function ForwardSearchAltitude(a,b,c,d,e,f){VerifyObserver(b);VerifyNumber(e);if(a===Body.Earth)throw"Cannot find altitude event for the Earth.";if(1===c){c=12;var g=0}else if(-1===c)c=0,g=12;else throw"Invalid direction parameter "+c+" -- must be +1 or -1";if(0>=e)return null;d=MakeTime(d);var k=f(d);var h;if(0=k&&0d.ut+ -e?null:l;k=SearchHourAngle(a,b,c,m.time,1);if(k.time.ut>=d.ut+e)return null;m=SearchHourAngle(a,b,g,k.time,1);l=k.time;k=f(k.time);h=f(m.time)}} -function BackwardSearchAltitude(a,b,c,d,e,f){VerifyObserver(b);VerifyNumber(e);if(a===Body.Earth)throw"Cannot find altitude event for the Earth.";if(1===c){c=12;var g=0}else if(-1===c)c=0,g=12;else throw"Invalid direction parameter "+c+" -- must be +1 or -1";if(0<=e)return null;d=MakeTime(d);var k=f(d);var h;if(0>k){k=SearchHourAngle(a,b,g,d,-1);var l=k.time;k=f(l)}else l=d;var m=SearchHourAngle(a,b,c,l,-1);for(h=f(m.time);;){if(0>=h&&0f||90f&&0<=g)return new AscentInfo(d,e,f,g);if(0<=f&&0>g)return null;if(17k*SECONDS_PER_DAY||Math.min(Math.abs(f),Math.abs(g))>k/2*c)return null;k=new AstroTime((d.ut+e.ut)/2);var h=b(k);return FindAscent(1+a,b,c,d,k,f,h)||FindAscent(1+a,b,c,k,e,h,g)} +function MaxAltitudeSlope(a,b){switch(a){case Body.Moon:a=4.5;var c=8.2;break;case Body.Sun:a=.8;c=.5;break;case Body.Mercury:a=-1.6;c=1;break;case Body.Venus:a=-.8;c=.6;break;case Body.Mars:a=-.5;c=.4;break;case Body.Jupiter:case Body.Saturn:case Body.Uranus:case Body.Neptune:case Body.Pluto:a=-.2;c=.2;break;default:throw"Body not allowed for altitude search: "+a;}b*=exports.DEG2RAD;return Math.abs((360/SOLAR_DAYS_PER_SIDEREAL_DAY-a)*Math.cos(b))+Math.abs(c*Math.sin(b))} +function InternalSearchAltitude(a,b,c,d,e,f,g){function k(q){var t=Equator(a,q,b,!0,!0);q=Horizon(q,b,t.ra,t.dec).altitude+exports.RAD2DEG*Math.asin(f/t.dist);return c*(q-g)}VerifyObserver(b);VerifyNumber(e);for(var h=MaxAltitudeSlope(a,b.latitude),l=d=MakeTime(d),m=d,n=k(l),p=n;;){0>e?(l=m.AddDays(-.42),n=k(l)):(m=l.AddDays(.42),p=k(m));var r=FindAscent(0,k,h,l,m,n,p);if(r){if(h=Search(k,r.tx,r.ty,{dt_tolerance_seconds:.1,init_f1:r.ax,init_f2:r.ay})){if(0>e){if(h.ut +d.ut+e)return null;return h}throw"Rise/set search failed after finding ascent: t1="+l+", t2="+m+", a1="+n+", a2="+p;}if(0>e){if(l.utd.ut+e)return null;l=m;n=p}}}var HourAngleEvent=function(a,b){this.time=a;this.hor=b};exports.HourAngleEvent=HourAngleEvent; function SearchHourAngle(a,b,c,d,e){e=void 0===e?1:e;VerifyObserver(b);d=MakeTime(d);var f=0;if(a===Body.Earth)throw"Cannot search for hour angle of the Earth.";VerifyNumber(c);if(0>c||24<=c)throw"Invalid hour angle "+c;VerifyNumber(e);if(0===e)throw"Direction must be positive or negative.";for(;;){++f;var g=sidereal_time(d),k=Equator(a,d,b,!0,!0);g=(c+k.ra-b.longitude/15-g)%24;1===f?0g&&(g+=24):0g?g+=24:123600*Math.abs(g))return a=Horizon(d,b,k.ra,k.dec,"normal"), new HourAngleEvent(d,a);d=d.AddDays(g/24*SOLAR_DAYS_PER_SIDEREAL_DAY)}}exports.SearchHourAngle=SearchHourAngle;var SeasonInfo=function(a,b,c,d){this.mar_equinox=a;this.jun_solstice=b;this.sep_equinox=c;this.dec_solstice=d};exports.SeasonInfo=SeasonInfo; function Seasons(a){function b(g,k,h){k=new Date(Date.UTC(a,k-1,h));g=SearchSunLongitude(g,k,20);if(!g)throw"Cannot find season change near "+k.toISOString();return g}a instanceof Date&&Number.isFinite(a.getTime())&&(a=a.getUTCFullYear());if(!Number.isSafeInteger(a))throw"Cannot calculate seasons because year argument "+a+" is neither a Date nor a safe integer.";var c=b(0,3,10),d=b(90,6,10),e=b(180,9,10),f=b(270,12,10);return new SeasonInfo(c,d,e,f)}exports.Seasons=Seasons; diff --git a/source/js/astronomy.ts b/source/js/astronomy.ts index 794b46f6..27947bbb 100644 --- a/source/js/astronomy.ts +++ b/source/js/astronomy.ts @@ -5275,7 +5275,7 @@ function BodyRadiusAu(body: Body): number { switch (body) { case Body.Sun: return SUN_RADIUS_AU; case Body.Moon: return MOON_EQUATORIAL_RADIUS_AU; - default: return 0; + default: return 0; } } @@ -5325,28 +5325,7 @@ export function SearchRiseSet( limitDays: number): AstroTime | null { const body_radius_au:number = BodyRadiusAu(body); - - function peak_altitude(t: AstroTime): number { - // Return the angular altitude above or below the horizon - // of the highest part (the peak) of the given object. - // This is defined as the apparent altitude of the center of the body plus - // the body's angular radius. - // The 'direction' variable in the enclosing function controls - // whether the angle is measured positive above the horizon or - // positive below the horizon, depending on whether the caller - // wants rise times or set times, respectively. - - const ofdate = Equator(body, t, observer, true, true); - const hor = Horizon(t, observer, ofdate.ra, ofdate.dec); - const alt = hor.altitude + RAD2DEG*(body_radius_au / ofdate.dist) + REFRACTION_NEAR_HORIZON; - return direction * alt; - } - - return ( - (limitDays < 0) - ? BackwardSearchAltitude(body, observer, direction, dateStart, limitDays, peak_altitude) - : ForwardSearchAltitude( body, observer, direction, dateStart, limitDays, peak_altitude) - ); + return InternalSearchAltitude(body, observer, direction, dateStart, limitDays, body_radius_au, -REFRACTION_NEAR_HORIZON); } /** @@ -5413,183 +5392,227 @@ export function SearchRiseSet( if (!Number.isFinite(altitude) || altitude < -90 || altitude > +90) throw `Invalid altitude angle: ${altitude}`; - function altitude_error(t: AstroTime): number { - const ofdate = Equator(body, t, observer, true, true); - const hor = Horizon(t, observer, ofdate.ra, ofdate.dec); - return direction * (hor.altitude - altitude); - } + return InternalSearchAltitude(body, observer, direction, dateStart, limitDays, 0, altitude); +} - return ( - (limitDays < 0) - ? BackwardSearchAltitude(body, observer, direction, dateStart, limitDays, altitude_error) - : ForwardSearchAltitude( body, observer, direction, dateStart, limitDays, altitude_error) - ); + +class AscentInfo { + constructor( + public tx: AstroTime, + public ty: AstroTime, + public ax: number, + public ay: number) + {} } -function ForwardSearchAltitude( - body: Body, - observer: Observer, - direction: number, - dateStart: FlexibleDateTime, - limitDays: number, - altitude_error: (t: AstroTime) => number): AstroTime | null +function FindAscent( + depth: number, + altdiff: (t: AstroTime) => number, + max_deriv_alt: number, + t1: AstroTime, + t2: AstroTime, + a1: number, + a2: number): AscentInfo | null { - VerifyObserver(observer); - VerifyNumber(limitDays); + // See if we can find any time interval where the altitude-diff function + // rises from non-positive to positive. - if (body === Body.Earth) - throw 'Cannot find altitude event for the Earth.'; - - let ha_before: number, ha_after: number; - if (direction === +1) { - ha_before = 12; // minimum altitude (bottom) happens BEFORE the body rises. - ha_after = 0; // maximum altitude (culmination) happens AFTER the body rises. - } else if (direction === -1) { - ha_before = 0; // culmination happens BEFORE the body sets. - ha_after = 12; // bottom happens AFTER the body sets. - } else { - throw `Invalid direction parameter ${direction} -- must be +1 or -1`; + if (a1 < 0.0 && a2 >= 0.0) { + // Trivial success case: the endpoints already rise through zero. + return new AscentInfo(t1, t2, a1, a2); } - // We cannot possibly satisfy a forward search without a positive time limit. - if (limitDays <= 0) + if (a1 >= 0.0 && a2 < 0.0) { + // Trivial failure case: Assume Nyquist condition prevents an ascent. return null; + } - // See if the body is currently above/below the horizon. - // If we are looking for next rise time and the body is below the horizon, - // we use the current time as the lower time bound and the next culmination - // as the upper bound. - // If the body is above the horizon, we search for the next bottom and use it - // as the lower bound and the next culmination after that bottom as the upper bound. - // The same logic applies for finding set times, only we swap the hour angles. - // The peak_altitude() function already considers the 'direction' parameter. - - let time_start = MakeTime(dateStart); - let time_before: AstroTime; - let evt_before: HourAngleEvent; - let evt_after: HourAngleEvent; - let error_before = altitude_error(time_start); - let error_after: number; - if (error_before > 0) { - // We are past the sought event, so we have to wait for the next "before" event (culm/bottom). - evt_before = SearchHourAngle(body, observer, ha_before, time_start, +1); - time_before = evt_before.time; - error_before = altitude_error(time_before); - } else { - // We are before or at the sought event, so we find the next "after" event (bottom/culm), - // and use the current time as the "before" event. - time_before = time_start; + if (depth > 17) { + // Safety valve: do not allow unlimited recursion. + // This should never happen if the rest of the logic is working correctly, + // so fail the whole search if it does happen. It's a bug! + throw `Excessive recursion in rise/set ascent search.`; } - evt_after = SearchHourAngle(body, observer, ha_after, time_before, +1); - error_after = altitude_error(evt_after.time); - while (true) { - if (error_before <= 0 && error_after > 0) { - // Search between evt_before and evt_after for the desired event. - let tx = Search(altitude_error, time_before, evt_after.time, {init_f1:error_before, init_f2:error_after}); - if (tx) { - // If we found the rise/set time, but it falls outside limitDays, fail the search. - if (tx.ut > time_start.ut + limitDays) - return null; - - // The search succeeded. - return tx; - } - } + // Both altitudes are on the same side of zero: both are negative, or both are non-negative. + // There could be a convex "hill" or a concave "valley" that passes through zero. + // In polar regions sometimes there is a rise/set or set/rise pair within minutes of each other. + // For example, the Moon can be below the horizon, then the very top of it becomes + // visible (moonrise) for a few minutes, then it moves sideways and down below + // the horizon again (moonset). We want to catch these cases. + // However, for efficiency and practicality concerns, because the rise/set search itself + // has a 0.1 second threshold, we do not worry about rise/set pairs that are less than + // one second apart. These are marginal cases that are rendered highly uncertain + // anyway, due to unpredictable atmospheric refraction conditions (air temperature and pressure). - // If we didn't find the desired event, use time_after to find the next before-event. - evt_before = SearchHourAngle(body, observer, ha_before, evt_after.time, +1); - if (evt_before.time.ut >= time_start.ut + limitDays) - return null; - evt_after = SearchHourAngle(body, observer, ha_after, evt_before.time, +1); + const dt = t2.ut - t1.ut; + if (dt * SECONDS_PER_DAY < 1.0) + return null; + + // Is it possible to reach zero from the altitude that is closer to zero? + const da = Math.min(Math.abs(a1), Math.abs(a2)); + + // Without loss of generality, assume |a1| <= |a2|. + // (Reverse the argument in the case |a2| < |a1|.) + // Imagine you have to "drive" from a1 to 0, then back to a2. + // You can't go faster than max_deriv_alt. If you can't reach 0 in half the time, + // you certainly don't have time to reach 0, turn around, and still make your way + // back up to a2 (which is at least as far from 0 than a1 is) in the time interval dt. + // Therefore, the time threshold is half the time interval, or dt/2. + if (da > max_deriv_alt*(dt / 2)) { + // Prune: the altitude cannot change fast enough to reach zero. + return null; + } + + // Bisect the time interval and evaluate the altitude at the midpoint. + const tmid = new AstroTime((t1.ut + t2.ut)/2); + const amid = altdiff(tmid); + + // Use recursive bisection to search for a solution bracket. + return ( + FindAscent(1+depth, altdiff, max_deriv_alt, t1, tmid, a1, amid) || + FindAscent(1+depth, altdiff, max_deriv_alt, tmid, t2, amid, a2) + ); +} + + + +function MaxAltitudeSlope(body: Body, latitude: number): number { + // Calculate the maximum possible rate that this body's altitude + // could change [degrees/day] as seen by this observer. + // First use experimentally determined extreme bounds by body + // of how much topocentric RA and DEC can change per rate of time. + // We need minimum possible d(RA)/dt, and maximum possible magnitude of d(DEC)/dt. + // Conservatively, we round d(RA)/dt down, d(DEC)/dt up. + + let deriv_ra : number; + let deriv_dec : number; - time_before = evt_before.time; - error_before = altitude_error(evt_before.time); - error_after = altitude_error(evt_after.time); + switch (body) + { + case Body.Moon: + deriv_ra = +4.5; + deriv_dec = +8.2; + break; + + case Body.Sun: + deriv_ra = +0.8; + deriv_dec = +0.5; + break; + + case Body.Mercury: + deriv_ra = -1.6; + deriv_dec = +1.0; + break; + + case Body.Venus: + deriv_ra = -0.8; + deriv_dec = +0.6; + break; + + case Body.Mars: + deriv_ra = -0.5; + deriv_dec = +0.4; + break; + + case Body.Jupiter: + case Body.Saturn: + case Body.Uranus: + case Body.Neptune: + case Body.Pluto: + deriv_ra = -0.2; + deriv_dec = +0.2; + break; + + default: + throw `Body not allowed for altitude search: ${body}`; } + + const latrad = DEG2RAD * latitude; + return Math.abs(((360.0 / SOLAR_DAYS_PER_SIDEREAL_DAY) - deriv_ra)*Math.cos(latrad)) + Math.abs(deriv_dec*Math.sin(latrad)); } -function BackwardSearchAltitude( +function InternalSearchAltitude( body: Body, observer: Observer, direction: number, dateStart: FlexibleDateTime, limitDays: number, - altitude_error: (t: AstroTime) => number): AstroTime | null + bodyRadiusAu: number, + targetAltitude: number): AstroTime | null { VerifyObserver(observer); VerifyNumber(limitDays); - if (body === Body.Earth) - throw 'Cannot find altitude event for the Earth.'; - - let ha_before: number, ha_after: number; - if (direction === +1) { - ha_before = 12; // minimum altitude (bottom) happens BEFORE the body rises. - ha_after = 0; // maximum altitude (culmination) happens AFTER the body rises. - } else if (direction === -1) { - ha_before = 0; // culmination happens BEFORE the body sets. - ha_after = 12; // bottom happens AFTER the body sets. - } else { - throw `Invalid direction parameter ${direction} -- must be +1 or -1`; - } - - // We cannot possibly satisfy a backward search without a negative time limit. - if (limitDays >= 0) - return null; + const RISE_SET_DT = 0.42; // 10.08 hours: Nyquist-safe for 22-hour period. + const max_deriv_alt = MaxAltitudeSlope(body, observer.latitude); - // See if the body is currently above/below the horizon. - // If we are looking for previous rise time and the body is above the horizon, - // we use the current time as the upper time bound and the previous bottom as the lower time bound. - // If the body is below the horizon, we search for the previous culmination and use it - // as the upper time bound. Then we search for the bottom before that culmination and - // use it as the lower time bound. - // The same logic applies for finding set times; altitude_error_func and - // altitude_error_context ensure that the desired event is represented - // by ascending through zero, so the Search function works correctly. - - let time_start = MakeTime(dateStart); - let time_after: AstroTime; - let evt_before: HourAngleEvent; - let evt_after: HourAngleEvent; - let error_after = altitude_error(time_start); - let error_before: number; - if (error_after < 0) { - evt_after = SearchHourAngle(body, observer, ha_after, time_start, -1); - time_after = evt_after.time; - error_after = altitude_error(time_after); - } else { - time_after = time_start; + function altdiff(time: AstroTime): number { + const ofdate = Equator(body, time, observer, true, true); + const hor = Horizon(time, observer, ofdate.ra, ofdate.dec); + const altitude = hor.altitude + RAD2DEG*Math.asin(bodyRadiusAu / ofdate.dist); + return direction*(altitude - targetAltitude); } - evt_before = SearchHourAngle(body, observer, ha_before, time_after, -1); - error_before = altitude_error(evt_before.time); + // We allow searching forward or backward in time. + // But we want to keep t1 < t2, so we need a few if/else statements. + const startTime = MakeTime(dateStart); + let t1 = startTime; + let t2 = startTime; + let a1 = altdiff(t1); + let a2 = a1; - while (true) { - if (error_before <= 0 && error_after > 0) { - // Search between evt_before and evt_after for the desired event. - let tx = Search(altitude_error, evt_before.time, time_after, {init_f1:error_before, init_f2:error_after}); - if (tx) { - // If we found the rise/set time, but it falls outside limitDays, fail the search. - if (tx.ut < time_start.ut + limitDays) - return null; - - // The search succeeded. - return tx; - } + for(;;) + { + if (limitDays < 0.0) { + t1 = t2.AddDays(-RISE_SET_DT); + a1 = altdiff(t1); + } else { + t2 = t1.AddDays(+RISE_SET_DT); + a2 = altdiff(t2); } - evt_after = SearchHourAngle(body, observer, ha_after, evt_before.time, -1); - if (evt_after.time.ut <= time_start.ut + limitDays) - return null; + const ascent = FindAscent(0, altdiff, max_deriv_alt, t1, t2, a1, a2); + if (ascent) { + // We found a time interval [t1, t2] that contains an alt-diff + // rising from negative a1 to non-negative a2. + // Search for the time where the root occurs. + const time = Search(altdiff, ascent.tx, ascent.ty, { + dt_tolerance_seconds: 0.1, + init_f1: ascent.ax, + init_f2: ascent.ay + }); + + if (time) { + // Now that we have a solution, we have to check whether it goes outside the time bounds. + if (limitDays < 0.0) { + if (time.ut < startTime.ut + limitDays) + return null; + } else { + if (time.ut > startTime.ut + limitDays) + return null; + } + return time; // success! + } - evt_before = SearchHourAngle(body, observer, ha_before, evt_after.time, -1); + // The search should have succeeded. Something is wrong with the ascent finder! + throw `Rise/set search failed after finding ascent: t1=${t1}, t2=${t2}, a1=${a1}, a2=${a2}`; + } - time_after = evt_before.time; - error_before = altitude_error(evt_before.time); - error_after = altitude_error(evt_after.time); + // There is no ascent in this interval, so keep searching. + if (limitDays < 0.0) { + if (t1.ut < startTime.ut + limitDays) + return null; + t2 = t1; + a2 = a1; + } else { + if (t2.ut > startTime.ut + limitDays) + return null; + t1 = t2; + a1 = a2; + } } } diff --git a/source/js/esm/astronomy.js b/source/js/esm/astronomy.js index dc1cdd25..dc760c20 100644 --- a/source/js/esm/astronomy.js +++ b/source/js/esm/astronomy.js @@ -4741,23 +4741,7 @@ function BodyRadiusAu(body) { */ export function SearchRiseSet(body, observer, direction, dateStart, limitDays) { const body_radius_au = BodyRadiusAu(body); - function peak_altitude(t) { - // Return the angular altitude above or below the horizon - // of the highest part (the peak) of the given object. - // This is defined as the apparent altitude of the center of the body plus - // the body's angular radius. - // The 'direction' variable in the enclosing function controls - // whether the angle is measured positive above the horizon or - // positive below the horizon, depending on whether the caller - // wants rise times or set times, respectively. - const ofdate = Equator(body, t, observer, true, true); - const hor = Horizon(t, observer, ofdate.ra, ofdate.dec); - const alt = hor.altitude + RAD2DEG * (body_radius_au / ofdate.dist) + REFRACTION_NEAR_HORIZON; - return direction * alt; - } - return ((limitDays < 0) - ? BackwardSearchAltitude(body, observer, direction, dateStart, limitDays, peak_altitude) - : ForwardSearchAltitude(body, observer, direction, dateStart, limitDays, peak_altitude)); + return InternalSearchAltitude(body, observer, direction, dateStart, limitDays, body_radius_au, -REFRACTION_NEAR_HORIZON); } /** * @brief Finds the next time a body reaches a given altitude. @@ -4815,148 +4799,175 @@ export function SearchRiseSet(body, observer, direction, dateStart, limitDays) { export function SearchAltitude(body, observer, direction, dateStart, limitDays, altitude) { if (!Number.isFinite(altitude) || altitude < -90 || altitude > +90) throw `Invalid altitude angle: ${altitude}`; - function altitude_error(t) { - const ofdate = Equator(body, t, observer, true, true); - const hor = Horizon(t, observer, ofdate.ra, ofdate.dec); - return direction * (hor.altitude - altitude); - } - return ((limitDays < 0) - ? BackwardSearchAltitude(body, observer, direction, dateStart, limitDays, altitude_error) - : ForwardSearchAltitude(body, observer, direction, dateStart, limitDays, altitude_error)); + return InternalSearchAltitude(body, observer, direction, dateStart, limitDays, 0, altitude); } -function ForwardSearchAltitude(body, observer, direction, dateStart, limitDays, altitude_error) { - VerifyObserver(observer); - VerifyNumber(limitDays); - if (body === Body.Earth) - throw 'Cannot find altitude event for the Earth.'; - let ha_before, ha_after; - if (direction === +1) { - ha_before = 12; // minimum altitude (bottom) happens BEFORE the body rises. - ha_after = 0; // maximum altitude (culmination) happens AFTER the body rises. +class AscentInfo { + constructor(tx, ty, ax, ay) { + this.tx = tx; + this.ty = ty; + this.ax = ax; + this.ay = ay; } - else if (direction === -1) { - ha_before = 0; // culmination happens BEFORE the body sets. - ha_after = 12; // bottom happens AFTER the body sets. - } - else { - throw `Invalid direction parameter ${direction} -- must be +1 or -1`; +} +function FindAscent(depth, altdiff, max_deriv_alt, t1, t2, a1, a2) { + // See if we can find any time interval where the altitude-diff function + // rises from non-positive to positive. + if (a1 < 0.0 && a2 >= 0.0) { + // Trivial success case: the endpoints already rise through zero. + return new AscentInfo(t1, t2, a1, a2); } - // We cannot possibly satisfy a forward search without a positive time limit. - if (limitDays <= 0) + if (a1 >= 0.0 && a2 < 0.0) { + // Trivial failure case: Assume Nyquist condition prevents an ascent. return null; - // See if the body is currently above/below the horizon. - // If we are looking for next rise time and the body is below the horizon, - // we use the current time as the lower time bound and the next culmination - // as the upper bound. - // If the body is above the horizon, we search for the next bottom and use it - // as the lower bound and the next culmination after that bottom as the upper bound. - // The same logic applies for finding set times, only we swap the hour angles. - // The peak_altitude() function already considers the 'direction' parameter. - let time_start = MakeTime(dateStart); - let time_before; - let evt_before; - let evt_after; - let error_before = altitude_error(time_start); - let error_after; - if (error_before > 0) { - // We are past the sought event, so we have to wait for the next "before" event (culm/bottom). - evt_before = SearchHourAngle(body, observer, ha_before, time_start, +1); - time_before = evt_before.time; - error_before = altitude_error(time_before); } - else { - // We are before or at the sought event, so we find the next "after" event (bottom/culm), - // and use the current time as the "before" event. - time_before = time_start; + if (depth > 17) { + // Safety valve: do not allow unlimited recursion. + // This should never happen if the rest of the logic is working correctly, + // so fail the whole search if it does happen. It's a bug! + throw `Excessive recursion in rise/set ascent search.`; + } + // Both altitudes are on the same side of zero: both are negative, or both are non-negative. + // There could be a convex "hill" or a concave "valley" that passes through zero. + // In polar regions sometimes there is a rise/set or set/rise pair within minutes of each other. + // For example, the Moon can be below the horizon, then the very top of it becomes + // visible (moonrise) for a few minutes, then it moves sideways and down below + // the horizon again (moonset). We want to catch these cases. + // However, for efficiency and practicality concerns, because the rise/set search itself + // has a 0.1 second threshold, we do not worry about rise/set pairs that are less than + // one second apart. These are marginal cases that are rendered highly uncertain + // anyway, due to unpredictable atmospheric refraction conditions (air temperature and pressure). + const dt = t2.ut - t1.ut; + if (dt * SECONDS_PER_DAY < 1.0) + return null; + // Is it possible to reach zero from the altitude that is closer to zero? + const da = Math.min(Math.abs(a1), Math.abs(a2)); + // Without loss of generality, assume |a1| <= |a2|. + // (Reverse the argument in the case |a2| < |a1|.) + // Imagine you have to "drive" from a1 to 0, then back to a2. + // You can't go faster than max_deriv_alt. If you can't reach 0 in half the time, + // you certainly don't have time to reach 0, turn around, and still make your way + // back up to a2 (which is at least as far from 0 than a1 is) in the time interval dt. + // Therefore, the time threshold is half the time interval, or dt/2. + if (da > max_deriv_alt * (dt / 2)) { + // Prune: the altitude cannot change fast enough to reach zero. + return null; } - evt_after = SearchHourAngle(body, observer, ha_after, time_before, +1); - error_after = altitude_error(evt_after.time); - while (true) { - if (error_before <= 0 && error_after > 0) { - // Search between evt_before and evt_after for the desired event. - let tx = Search(altitude_error, time_before, evt_after.time, { init_f1: error_before, init_f2: error_after }); - if (tx) { - // If we found the rise/set time, but it falls outside limitDays, fail the search. - if (tx.ut > time_start.ut + limitDays) - return null; - // The search succeeded. - return tx; - } - } - // If we didn't find the desired event, use time_after to find the next before-event. - evt_before = SearchHourAngle(body, observer, ha_before, evt_after.time, +1); - if (evt_before.time.ut >= time_start.ut + limitDays) - return null; - evt_after = SearchHourAngle(body, observer, ha_after, evt_before.time, +1); - time_before = evt_before.time; - error_before = altitude_error(evt_before.time); - error_after = altitude_error(evt_after.time); + // Bisect the time interval and evaluate the altitude at the midpoint. + const tmid = new AstroTime((t1.ut + t2.ut) / 2); + const amid = altdiff(tmid); + // Use recursive bisection to search for a solution bracket. + return (FindAscent(1 + depth, altdiff, max_deriv_alt, t1, tmid, a1, amid) || + FindAscent(1 + depth, altdiff, max_deriv_alt, tmid, t2, amid, a2)); +} +function MaxAltitudeSlope(body, latitude) { + // Calculate the maximum possible rate that this body's altitude + // could change [degrees/day] as seen by this observer. + // First use experimentally determined extreme bounds by body + // of how much topocentric RA and DEC can change per rate of time. + // We need minimum possible d(RA)/dt, and maximum possible magnitude of d(DEC)/dt. + // Conservatively, we round d(RA)/dt down, d(DEC)/dt up. + let deriv_ra; + let deriv_dec; + switch (body) { + case Body.Moon: + deriv_ra = +4.5; + deriv_dec = +8.2; + break; + case Body.Sun: + deriv_ra = +0.8; + deriv_dec = +0.5; + break; + case Body.Mercury: + deriv_ra = -1.6; + deriv_dec = +1.0; + break; + case Body.Venus: + deriv_ra = -0.8; + deriv_dec = +0.6; + break; + case Body.Mars: + deriv_ra = -0.5; + deriv_dec = +0.4; + break; + case Body.Jupiter: + case Body.Saturn: + case Body.Uranus: + case Body.Neptune: + case Body.Pluto: + deriv_ra = -0.2; + deriv_dec = +0.2; + break; + default: + throw `Body not allowed for altitude search: ${body}`; } + const latrad = DEG2RAD * latitude; + return Math.abs(((360.0 / SOLAR_DAYS_PER_SIDEREAL_DAY) - deriv_ra) * Math.cos(latrad)) + Math.abs(deriv_dec * Math.sin(latrad)); } -function BackwardSearchAltitude(body, observer, direction, dateStart, limitDays, altitude_error) { +function InternalSearchAltitude(body, observer, direction, dateStart, limitDays, bodyRadiusAu, targetAltitude) { VerifyObserver(observer); VerifyNumber(limitDays); - if (body === Body.Earth) - throw 'Cannot find altitude event for the Earth.'; - let ha_before, ha_after; - if (direction === +1) { - ha_before = 12; // minimum altitude (bottom) happens BEFORE the body rises. - ha_after = 0; // maximum altitude (culmination) happens AFTER the body rises. - } - else if (direction === -1) { - ha_before = 0; // culmination happens BEFORE the body sets. - ha_after = 12; // bottom happens AFTER the body sets. - } - else { - throw `Invalid direction parameter ${direction} -- must be +1 or -1`; - } - // We cannot possibly satisfy a backward search without a negative time limit. - if (limitDays >= 0) - return null; - // See if the body is currently above/below the horizon. - // If we are looking for previous rise time and the body is above the horizon, - // we use the current time as the upper time bound and the previous bottom as the lower time bound. - // If the body is below the horizon, we search for the previous culmination and use it - // as the upper time bound. Then we search for the bottom before that culmination and - // use it as the lower time bound. - // The same logic applies for finding set times; altitude_error_func and - // altitude_error_context ensure that the desired event is represented - // by ascending through zero, so the Search function works correctly. - let time_start = MakeTime(dateStart); - let time_after; - let evt_before; - let evt_after; - let error_after = altitude_error(time_start); - let error_before; - if (error_after < 0) { - evt_after = SearchHourAngle(body, observer, ha_after, time_start, -1); - time_after = evt_after.time; - error_after = altitude_error(time_after); - } - else { - time_after = time_start; - } - evt_before = SearchHourAngle(body, observer, ha_before, time_after, -1); - error_before = altitude_error(evt_before.time); - while (true) { - if (error_before <= 0 && error_after > 0) { - // Search between evt_before and evt_after for the desired event. - let tx = Search(altitude_error, evt_before.time, time_after, { init_f1: error_before, init_f2: error_after }); - if (tx) { - // If we found the rise/set time, but it falls outside limitDays, fail the search. - if (tx.ut < time_start.ut + limitDays) - return null; - // The search succeeded. - return tx; + const RISE_SET_DT = 0.42; // 10.08 hours: Nyquist-safe for 22-hour period. + const max_deriv_alt = MaxAltitudeSlope(body, observer.latitude); + function altdiff(time) { + const ofdate = Equator(body, time, observer, true, true); + const hor = Horizon(time, observer, ofdate.ra, ofdate.dec); + const altitude = hor.altitude + RAD2DEG * Math.asin(bodyRadiusAu / ofdate.dist); + return direction * (altitude - targetAltitude); + } + // We allow searching forward or backward in time. + // But we want to keep t1 < t2, so we need a few if/else statements. + const startTime = MakeTime(dateStart); + let t1 = startTime; + let t2 = startTime; + let a1 = altdiff(t1); + let a2 = a1; + for (;;) { + if (limitDays < 0.0) { + t1 = t2.AddDays(-RISE_SET_DT); + a1 = altdiff(t1); + } + else { + t2 = t1.AddDays(+RISE_SET_DT); + a2 = altdiff(t2); + } + const ascent = FindAscent(0, altdiff, max_deriv_alt, t1, t2, a1, a2); + if (ascent) { + // We found a time interval [t1, t2] that contains an alt-diff + // rising from negative a1 to non-negative a2. + // Search for the time where the root occurs. + const time = Search(altdiff, ascent.tx, ascent.ty, { + dt_tolerance_seconds: 0.1, + init_f1: ascent.ax, + init_f2: ascent.ay + }); + if (time) { + // Now that we have a solution, we have to check whether it goes outside the time bounds. + if (limitDays < 0.0) { + if (time.ut < startTime.ut + limitDays) + return null; + } + else { + if (time.ut > startTime.ut + limitDays) + return null; + } + return time; // success! } + // The search should have succeeded. Something is wrong with the ascent finder! + throw `Rise/set search failed after finding ascent: t1=${t1}, t2=${t2}, a1=${a1}, a2=${a2}`; + } + // There is no ascent in this interval, so keep searching. + if (limitDays < 0.0) { + if (t1.ut < startTime.ut + limitDays) + return null; + t2 = t1; + a2 = a1; + } + else { + if (t2.ut > startTime.ut + limitDays) + return null; + t1 = t2; + a1 = a2; } - evt_after = SearchHourAngle(body, observer, ha_after, evt_before.time, -1); - if (evt_after.time.ut <= time_start.ut + limitDays) - return null; - evt_before = SearchHourAngle(body, observer, ha_before, evt_after.time, -1); - time_after = evt_before.time; - error_before = altitude_error(evt_before.time); - error_after = altitude_error(evt_after.time); } } /** From 1b52e913949f1b55e59d2974f21fe232ac016ed9 Mon Sep 17 00:00:00 2001 From: Don Cross Date: Sun, 13 Nov 2022 22:17:06 -0500 Subject: [PATCH 13/16] Python: overhauled altitude search --- demo/python/astronomy.py | 302 ++++++++++++++------------- demo/python/correct/riseset.txt | 8 +- generate/template/astronomy.cs | 2 + generate/template/astronomy.py | 302 ++++++++++++++------------- generate/test.py | 8 +- source/csharp/astronomy.cs | 2 + source/python/README.md | 2 +- source/python/astronomy/astronomy.py | 302 ++++++++++++++------------- 8 files changed, 472 insertions(+), 456 deletions(-) diff --git a/demo/python/astronomy.py b/demo/python/astronomy.py index 2d9276d9..5da0447b 100644 --- a/demo/python/astronomy.py +++ b/demo/python/astronomy.py @@ -6501,145 +6501,172 @@ class Direction(enum.Enum): Rise = +1 Set = -1 -def _ForwardSearchAltitude(body, observer, direction, startTime, limitDays, altitude_error_func, altitude_error_context): - if body == Body.Earth: - raise EarthNotAllowedError() +class _AscentInfo: + def __init__(self, tx, ty, ax, ay): + self.tx = tx + self.ty = ty + self.ax = ax + self.ay = ay - if direction == Direction.Rise: - ha_before = 12.0 # minimum altitude (bottom) happens BEFORE the body rises. - ha_after = 0.0 # maximum altitude (culmination) happens AFTER the body rises. - elif direction == Direction.Set: - ha_before = 0.0 # culmination happens BEFORE the body sets. - ha_after = 12.0 # bottom happens AFTER the body sets. - else: - raise Error('Invalid value for direction parameter') + def __str__(self): + return 'AscentInfo(tx={}, ty={}, ax={}, ay={})'.format(self.tx, self.ty, self.ax, self.ay) - # We cannot possibly satisfy a forward search without a positive time limit. - if limitDays <= 0.0: - return None +class _altitude_context: + def __init__(self, body, direction, observer, bodyRadiusAu, targetAltitude): + self.body = body + self.direction = direction + self.observer = observer + self.bodyRadiusAu = bodyRadiusAu + self.targetAltitude = targetAltitude - # See if the body is currently above/below the horizon. - # If we are looking for next rise time and the body is below the horizon, - # we use the current time as the lower time bound and the next culmination - # as the upper bound. - # If the body is above the horizon, we search for the next bottom and use it - # as the lower bound and the next culmination after that bottom as the upper bound. - # The same logic applies for finding set times, only we swap the hour angles. - time_start = startTime - alt_before = altitude_error_func(altitude_error_context, time_start) - if alt_before > 0.0: - # We are past the sought event, so we have to wait for the next "before" event (culm/bottom). - evt_before = SearchHourAngle(body, observer, ha_before, time_start, +1) - time_before = evt_before.time - alt_before = altitude_error_func(altitude_error_context, time_before) +def _altdiff(context, time): + ofdate = Equator(context.body, time, context.observer, True, True) + hor = Horizon(time, context.observer, ofdate.ra, ofdate.dec, Refraction.Airless) + altitude = hor.altitude + math.degrees(math.asin(context.bodyRadiusAu / ofdate.dist)) + return context.direction.value*(altitude - context.targetAltitude) + +def _MaxAltitudeSlope(body, latitude): + # Calculate the maximum possible rate that this body's altitude + # could change [degrees/day] as seen by this observer. + # First use experimentally determined extreme bounds by body + # of how much topocentric RA and DEC can change per rate of time. + # We need minimum possible d(RA)/dt, and maximum possible magnitude of d(DEC)/dt. + # Conservatively, we round d(RA)/dt down, d(DEC)/dt up. + + if body == Body.Moon: + deriv_ra = +4.5 + deriv_dec = +8.2 + elif body == Body.Sun: + deriv_ra = +0.8 + deriv_dec = +0.5 + elif body == Body.Mercury: + deriv_ra = -1.6 + deriv_dec = +1.0 + elif body == Body.Venus: + deriv_ra = -0.8 + deriv_dec = +0.6 + elif body == Body.Mars: + deriv_ra = -0.5 + deriv_dec = +0.4 + elif body in [Body.Jupiter, Body.Saturn, Body.Uranus, Body.Neptune, Body.Pluto]: + deriv_ra = -0.2 + deriv_dec = +0.2 + elif body == Body.Earth: + raise EarthNotAllowedError() else: - # We are before or at the sought ebvent, so we find the next "after" event (bottom/culm), - # and use the current time as the "before" event. - time_before = time_start + raise InvalidBodyError() - evt_after = SearchHourAngle(body, observer, ha_after, time_before, +1) - alt_after = altitude_error_func(altitude_error_context, evt_after.time) + latrad = math.radians(latitude) + return abs(((360.0 / _SOLAR_DAYS_PER_SIDEREAL_DAY) - deriv_ra)*math.cos(latrad)) + abs(deriv_dec*math.sin(latrad)) - while True: - if alt_before <= 0.0 and alt_after > 0.0: - # Search between the "before time" and the "after time" for the desired event. - event_time = Search(altitude_error_func, altitude_error_context, time_before, evt_after.time, 1.0) - if event_time is not None: - # If we found the rise/set time, but it falls outside limitDays, fail the search. - if event_time.ut > startTime.ut + limitDays: - return None - # The search succeeded. - return event_time - # We didn't find the desired event, so use the "after" time to find the next "before" event. - evt_before = SearchHourAngle(body, observer, ha_before, evt_after.time, +1) - if evt_before.time.ut >= time_start.ut + limitDays: - return None - evt_after = SearchHourAngle(body, observer, ha_after, evt_before.time, +1) - time_before = evt_before.time - alt_before = altitude_error_func(altitude_error_context, evt_before.time) - alt_after = altitude_error_func(altitude_error_context, evt_after.time) -def _BackwardSearchAltitude(body, observer, direction, startTime, limitDays, altitude_error_func, altitude_error_context): - if body == Body.Earth: - raise EarthNotAllowedError() +def _FindAscent(depth, context, max_deriv_alt, t1, t2, a1, a2): + # See if we can find any time interval where the altitude-diff function + # rises from non-positive to positive. - if direction == Direction.Rise: - ha_before = 12.0 # minimum altitude (bottom) happens BEFORE the body rises. - ha_after = 0.0 # maximum altitude (culmination) happens AFTER the body rises. - elif direction == Direction.Set: - ha_before = 0.0 # culmination happens BEFORE the body sets. - ha_after = 12.0 # bottom happens AFTER the body sets. - else: - raise Error('Invalid value for direction parameter') + if a1 < 0.0 and a2 >= 0.0: + # Trivial success case: the endpoints already rise through zero. + return _AscentInfo(t1, t2, a1, a2) - # We cannot possibly satisfy a backward search without a negative time limit. - if limitDays >= 0.0: + if a1 >= 0.0 and a2 < 0.0: + # Trivial failure case: Assume Nyquist condition prevents an ascent. return None - # See if the body is currently above/below the horizon. - # If we are looking for previous rise time and the body is above the horizon, - # we use the current time as the upper time bound and the previous bottom as the lower time bound. - # If the body is below the horizon, we search for the previous culmination and use it - # as the upper time bound. Then we search for the bottom before that culmination and - # use it as the lower time bound. - # The same logic applies for finding set times; altitude_error_func and - # altitude_error_context ensure that the desired event is represented - # by ascending through zero, so the Search function works correctly. - time_start = startTime - alt_after = altitude_error_func(altitude_error_context, time_start) - if alt_after < 0.0: - evt_after = SearchHourAngle(body, observer, ha_after, time_start, -1) - time_after = evt_after.time - alt_after = altitude_error_func(altitude_error_context, time_after) - else: - time_after = time_start + if depth > 17: + # Safety valve: do not allow unlimited recursion. + # This should never happen if the rest of the logic is working correctly, + # so fail the whole search if it does happen. It's a bug! + raise InternalError() - evt_before = SearchHourAngle(body, observer, ha_before, time_after, -1) - alt_before = altitude_error_func(altitude_error_context, evt_before.time) + # Both altitudes are on the same side of zero: both are negative, or both are non-negative. + # There could be a convex "hill" or a concave "valley" that passes through zero. + # In polar regions sometimes there is a rise/set or set/rise pair within minutes of each other. + # For example, the Moon can be below the horizon, then the very top of it becomes + # visible (moonrise) for a few minutes, then it moves sideways and down below + # the horizon again (moonset). We want to catch these cases. + # However, for efficiency and practicality concerns, because the rise/set search itself + # has a 0.1 second threshold, we do not worry about rise/set pairs that are less than + # one second apart. These are marginal cases that are rendered highly uncertain + # anyway, due to unpredictable atmospheric refraction conditions (air temperature and pressure). + + dt = t2.ut - t1.ut + if dt * _SECONDS_PER_DAY < 1.0: + return None - while True: - if alt_before <= 0.0 and alt_after > 0.0: - # Search between the "before time" and the "after time" for the desired event. - event_time = Search(altitude_error_func, altitude_error_context, evt_before.time, time_after, 1.0) - if event_time is not None: - # If we found the rise/set time, but it falls outside limitDays, fail the search. - if event_time.ut < startTime.ut + limitDays: - return None - # The search succeeded. - return event_time - evt_after = SearchHourAngle(body, observer, ha_after, evt_before.time, -1) - if evt_after.time.ut <= time_start.ut + limitDays: - return None - evt_before = SearchHourAngle(body, observer, ha_before, evt_after.time, -1) - time_after = evt_after.time - alt_before = altitude_error_func(altitude_error_context, evt_before.time) - alt_after = altitude_error_func(altitude_error_context, evt_after.time) + # Is it possible to reach zero from the altitude that is closer to zero? + da = min(abs(a1), abs(a2)) + + # Without loss of generality, assume |a1| <= |a2|. + # (Reverse the argument in the case |a2| < |a1|.) + # Imagine you have to "drive" from a1 to 0, then back to a2. + # You can't go faster than max_deriv_alt. If you can't reach 0 in half the time, + # you certainly don't have time to reach 0, turn around, and still make your way + # back up to a2 (which is at least as far from 0 than a1 is) in the time interval dt. + # Therefore, the time threshold is half the time interval, or dt/2. + if da > max_deriv_alt*(dt / 2): + # Prune: the altitude cannot change fast enough to reach zero. + return None + # Bisect the time interval and evaluate the altitude at the midpoint. + tmid = Time((t1.ut + t2.ut)/2) + amid = _altdiff(context, tmid) -class _peak_altitude_context: - def __init__(self, body, direction, observer, body_radius_au): - self.body = body - self.direction = direction - self.observer = observer - self.body_radius_au = body_radius_au + return ( + _FindAscent(1+depth, context, max_deriv_alt, t1, tmid, a1, amid) or + _FindAscent(1+depth, context, max_deriv_alt, tmid, t2, amid, a2) + ) -def _peak_altitude(context, time): - # Return the angular altitude above or below the horizon - # of the highest part (the peak) of the given object. - # This is defined as the apparent altitude of the center of the body plus - # the body's angular radius. - # The 'direction' parameter controls whether the angle is measured - # positive above the horizon or positive below the horizon, - # depending on whether the caller wants rise times or set times, respectively. +def _InternalSearchAltitude(body, observer, direction, startTime, limitDays, bodyRadiusAu, targetAltitude): + RISE_SET_DT = 0.42 # 10.08 hours: Nyquist-safe for 22-hour period. + max_deriv_alt = _MaxAltitudeSlope(body, observer.latitude) + context = _altitude_context(body, direction, observer, bodyRadiusAu, targetAltitude) - ofdate = Equator(context.body, time, context.observer, True, True) + # We allow searching forward or backward in time. + # But we want to keep t1 < t2, so we need a few if/else statements. + t1 = startTime + t2 = t1 + a1 = _altdiff(context, t1) + a2 = a1 - # We calculate altitude without refraction, then add fixed refraction near the horizon. - # This gives us the time of rise/set without the extra work. - hor = Horizon(time, context.observer, ofdate.ra, ofdate.dec, Refraction.Airless) - alt = hor.altitude + math.degrees(context.body_radius_au / ofdate.dist) - return context.direction.value * (alt + _REFRACTION_NEAR_HORIZON) + while True: + if limitDays < 0.0: + t1 = t2.AddDays(-RISE_SET_DT) + a1 = _altdiff(context, t1) + else: + t2 = t1.AddDays(+RISE_SET_DT) + a2 = _altdiff(context, t2) + + ascent = _FindAscent(0, context, max_deriv_alt, t1, t2, a1, a2) + if ascent: + # We found a time interval [t1, t2] that contains an alt-diff + # rising from negative a1 to non-negative a2. + # Search for the time where the root occurs. + time = Search(_altdiff, context, ascent.tx, ascent.ty, 0.1) + if time: + # Now that we have a solution, we have to check whether it goes outside the time bounds. + if limitDays < 0.0: + if time.ut < startTime.ut + limitDays: + return None + else: + if time.ut > startTime.ut + limitDays: + return None + return time # success! + + # The search should have succeeded. Something is wrong with the ascent finder! + raise InternalError() + + # There is no ascent in this interval, so keep searching. + if limitDays < 0.0: + if t1.ut < startTime.ut + limitDays: + return None + t2 = t1 + a2 = a1 + else: + if t2.ut > startTime.ut + limitDays: + return None + t1 = t2 + a1 = a2 def SearchRiseSet(body, observer, direction, startTime, limitDays): @@ -6688,36 +6715,16 @@ def SearchRiseSet(body, observer, direction, startTime, limitDays): If the rise or set time is found within the specified time window, this function returns that time. Otherwise, it returns `None`. """ - if body == Body.Earth: - raise EarthNotAllowedError() - if body == Body.Sun: - body_radius = _SUN_RADIUS_AU + bodyRadiusAu = _SUN_RADIUS_AU elif body == Body.Moon: - body_radius = _MOON_EQUATORIAL_RADIUS_AU + bodyRadiusAu = _MOON_EQUATORIAL_RADIUS_AU else: - body_radius = 0.0 - - context = _peak_altitude_context(body, direction, observer, body_radius) - if limitDays < 0.0: - return _BackwardSearchAltitude(body, observer, direction, startTime, limitDays, _peak_altitude, context) - return _ForwardSearchAltitude(body, observer, direction, startTime, limitDays, _peak_altitude, context) - - -class _altitude_error_context: - def __init__(self, body, direction, observer, altitude): - self.body = body - self.direction = direction - self.observer = observer - self.altitude = altitude - -def _altitude_error_func(context, time): - ofdate = Equator(context.body, time, context.observer, True, True) - hor = Horizon(time, context.observer, ofdate.ra, ofdate.dec, Refraction.Airless) - return context.direction.value * (hor.altitude - context.altitude) + bodyRadiusAu = 0.0 + return _InternalSearchAltitude(body, observer, direction, startTime, limitDays, bodyRadiusAu, -_REFRACTION_NEAR_HORIZON) -def SearchAltitude(body, observer, direction, dateStart, limitDays, altitude): +def SearchAltitude(body, observer, direction, startTime, limitDays, altitude): """Finds the next time a body reaches a given altitude. Finds when the given body ascends or descends through a given @@ -6769,10 +6776,7 @@ def SearchAltitude(body, observer, direction, dateStart, limitDays, altitude): """ if not (-90.0 <= altitude <= +90.0): raise Error('Invalid altitude: {}'.format(altitude)) - context = _altitude_error_context(body, direction, observer, altitude) - if limitDays < 0.0: - return _BackwardSearchAltitude(body, observer, direction, dateStart, limitDays, _altitude_error_func, context) - return _ForwardSearchAltitude(body, observer, direction, dateStart, limitDays, _altitude_error_func, context) + return _InternalSearchAltitude(body, observer, direction, startTime, limitDays, 0.0, altitude) class SeasonInfo: """The dates and times of changes of season for a given calendar year. diff --git a/demo/python/correct/riseset.txt b/demo/python/correct/riseset.txt index a03dadd5..93d7a22d 100644 --- a/demo/python/correct/riseset.txt +++ b/demo/python/correct/riseset.txt @@ -1,5 +1,5 @@ search : 2018-11-30T17:55:07.234Z -sunrise : 2018-12-01T13:22:51.106Z -sunset : 2018-11-30T22:21:03.024Z -moonrise : 2018-12-01T06:49:33.193Z -moonset : 2018-11-30T19:22:02.718Z +sunrise : 2018-12-01T13:22:51.098Z +sunset : 2018-11-30T22:21:03.107Z +moonrise : 2018-12-01T06:49:32.984Z +moonset : 2018-11-30T19:22:02.736Z diff --git a/generate/template/astronomy.cs b/generate/template/astronomy.cs index c1ecfeaf..ee06532c 100644 --- a/generate/template/astronomy.cs +++ b/generate/template/astronomy.cs @@ -6123,6 +6123,8 @@ public static AstroTime SearchAltitude( double limitDays, double altitude) { + if (altitude < -90.0 || altitude > +90.0) + throw new ArgumentOutOfRangeException(nameof(altitude)); return InternalSearchAltitude(body, observer, direction, startTime, limitDays, 0.0, altitude); } diff --git a/generate/template/astronomy.py b/generate/template/astronomy.py index 1e396fa1..f643c04e 100644 --- a/generate/template/astronomy.py +++ b/generate/template/astronomy.py @@ -4459,145 +4459,172 @@ class Direction(enum.Enum): Rise = +1 Set = -1 -def _ForwardSearchAltitude(body, observer, direction, startTime, limitDays, altitude_error_func, altitude_error_context): - if body == Body.Earth: - raise EarthNotAllowedError() +class _AscentInfo: + def __init__(self, tx, ty, ax, ay): + self.tx = tx + self.ty = ty + self.ax = ax + self.ay = ay - if direction == Direction.Rise: - ha_before = 12.0 # minimum altitude (bottom) happens BEFORE the body rises. - ha_after = 0.0 # maximum altitude (culmination) happens AFTER the body rises. - elif direction == Direction.Set: - ha_before = 0.0 # culmination happens BEFORE the body sets. - ha_after = 12.0 # bottom happens AFTER the body sets. - else: - raise Error('Invalid value for direction parameter') + def __str__(self): + return 'AscentInfo(tx={}, ty={}, ax={}, ay={})'.format(self.tx, self.ty, self.ax, self.ay) - # We cannot possibly satisfy a forward search without a positive time limit. - if limitDays <= 0.0: - return None +class _altitude_context: + def __init__(self, body, direction, observer, bodyRadiusAu, targetAltitude): + self.body = body + self.direction = direction + self.observer = observer + self.bodyRadiusAu = bodyRadiusAu + self.targetAltitude = targetAltitude - # See if the body is currently above/below the horizon. - # If we are looking for next rise time and the body is below the horizon, - # we use the current time as the lower time bound and the next culmination - # as the upper bound. - # If the body is above the horizon, we search for the next bottom and use it - # as the lower bound and the next culmination after that bottom as the upper bound. - # The same logic applies for finding set times, only we swap the hour angles. - time_start = startTime - alt_before = altitude_error_func(altitude_error_context, time_start) - if alt_before > 0.0: - # We are past the sought event, so we have to wait for the next "before" event (culm/bottom). - evt_before = SearchHourAngle(body, observer, ha_before, time_start, +1) - time_before = evt_before.time - alt_before = altitude_error_func(altitude_error_context, time_before) +def _altdiff(context, time): + ofdate = Equator(context.body, time, context.observer, True, True) + hor = Horizon(time, context.observer, ofdate.ra, ofdate.dec, Refraction.Airless) + altitude = hor.altitude + math.degrees(math.asin(context.bodyRadiusAu / ofdate.dist)) + return context.direction.value*(altitude - context.targetAltitude) + +def _MaxAltitudeSlope(body, latitude): + # Calculate the maximum possible rate that this body's altitude + # could change [degrees/day] as seen by this observer. + # First use experimentally determined extreme bounds by body + # of how much topocentric RA and DEC can change per rate of time. + # We need minimum possible d(RA)/dt, and maximum possible magnitude of d(DEC)/dt. + # Conservatively, we round d(RA)/dt down, d(DEC)/dt up. + + if body == Body.Moon: + deriv_ra = +4.5 + deriv_dec = +8.2 + elif body == Body.Sun: + deriv_ra = +0.8 + deriv_dec = +0.5 + elif body == Body.Mercury: + deriv_ra = -1.6 + deriv_dec = +1.0 + elif body == Body.Venus: + deriv_ra = -0.8 + deriv_dec = +0.6 + elif body == Body.Mars: + deriv_ra = -0.5 + deriv_dec = +0.4 + elif body in [Body.Jupiter, Body.Saturn, Body.Uranus, Body.Neptune, Body.Pluto]: + deriv_ra = -0.2 + deriv_dec = +0.2 + elif body == Body.Earth: + raise EarthNotAllowedError() else: - # We are before or at the sought ebvent, so we find the next "after" event (bottom/culm), - # and use the current time as the "before" event. - time_before = time_start + raise InvalidBodyError() - evt_after = SearchHourAngle(body, observer, ha_after, time_before, +1) - alt_after = altitude_error_func(altitude_error_context, evt_after.time) + latrad = math.radians(latitude) + return abs(((360.0 / _SOLAR_DAYS_PER_SIDEREAL_DAY) - deriv_ra)*math.cos(latrad)) + abs(deriv_dec*math.sin(latrad)) - while True: - if alt_before <= 0.0 and alt_after > 0.0: - # Search between the "before time" and the "after time" for the desired event. - event_time = Search(altitude_error_func, altitude_error_context, time_before, evt_after.time, 1.0) - if event_time is not None: - # If we found the rise/set time, but it falls outside limitDays, fail the search. - if event_time.ut > startTime.ut + limitDays: - return None - # The search succeeded. - return event_time - # We didn't find the desired event, so use the "after" time to find the next "before" event. - evt_before = SearchHourAngle(body, observer, ha_before, evt_after.time, +1) - if evt_before.time.ut >= time_start.ut + limitDays: - return None - evt_after = SearchHourAngle(body, observer, ha_after, evt_before.time, +1) - time_before = evt_before.time - alt_before = altitude_error_func(altitude_error_context, evt_before.time) - alt_after = altitude_error_func(altitude_error_context, evt_after.time) -def _BackwardSearchAltitude(body, observer, direction, startTime, limitDays, altitude_error_func, altitude_error_context): - if body == Body.Earth: - raise EarthNotAllowedError() +def _FindAscent(depth, context, max_deriv_alt, t1, t2, a1, a2): + # See if we can find any time interval where the altitude-diff function + # rises from non-positive to positive. - if direction == Direction.Rise: - ha_before = 12.0 # minimum altitude (bottom) happens BEFORE the body rises. - ha_after = 0.0 # maximum altitude (culmination) happens AFTER the body rises. - elif direction == Direction.Set: - ha_before = 0.0 # culmination happens BEFORE the body sets. - ha_after = 12.0 # bottom happens AFTER the body sets. - else: - raise Error('Invalid value for direction parameter') + if a1 < 0.0 and a2 >= 0.0: + # Trivial success case: the endpoints already rise through zero. + return _AscentInfo(t1, t2, a1, a2) - # We cannot possibly satisfy a backward search without a negative time limit. - if limitDays >= 0.0: + if a1 >= 0.0 and a2 < 0.0: + # Trivial failure case: Assume Nyquist condition prevents an ascent. return None - # See if the body is currently above/below the horizon. - # If we are looking for previous rise time and the body is above the horizon, - # we use the current time as the upper time bound and the previous bottom as the lower time bound. - # If the body is below the horizon, we search for the previous culmination and use it - # as the upper time bound. Then we search for the bottom before that culmination and - # use it as the lower time bound. - # The same logic applies for finding set times; altitude_error_func and - # altitude_error_context ensure that the desired event is represented - # by ascending through zero, so the Search function works correctly. - time_start = startTime - alt_after = altitude_error_func(altitude_error_context, time_start) - if alt_after < 0.0: - evt_after = SearchHourAngle(body, observer, ha_after, time_start, -1) - time_after = evt_after.time - alt_after = altitude_error_func(altitude_error_context, time_after) - else: - time_after = time_start + if depth > 17: + # Safety valve: do not allow unlimited recursion. + # This should never happen if the rest of the logic is working correctly, + # so fail the whole search if it does happen. It's a bug! + raise InternalError() - evt_before = SearchHourAngle(body, observer, ha_before, time_after, -1) - alt_before = altitude_error_func(altitude_error_context, evt_before.time) + # Both altitudes are on the same side of zero: both are negative, or both are non-negative. + # There could be a convex "hill" or a concave "valley" that passes through zero. + # In polar regions sometimes there is a rise/set or set/rise pair within minutes of each other. + # For example, the Moon can be below the horizon, then the very top of it becomes + # visible (moonrise) for a few minutes, then it moves sideways and down below + # the horizon again (moonset). We want to catch these cases. + # However, for efficiency and practicality concerns, because the rise/set search itself + # has a 0.1 second threshold, we do not worry about rise/set pairs that are less than + # one second apart. These are marginal cases that are rendered highly uncertain + # anyway, due to unpredictable atmospheric refraction conditions (air temperature and pressure). + + dt = t2.ut - t1.ut + if dt * _SECONDS_PER_DAY < 1.0: + return None - while True: - if alt_before <= 0.0 and alt_after > 0.0: - # Search between the "before time" and the "after time" for the desired event. - event_time = Search(altitude_error_func, altitude_error_context, evt_before.time, time_after, 1.0) - if event_time is not None: - # If we found the rise/set time, but it falls outside limitDays, fail the search. - if event_time.ut < startTime.ut + limitDays: - return None - # The search succeeded. - return event_time - evt_after = SearchHourAngle(body, observer, ha_after, evt_before.time, -1) - if evt_after.time.ut <= time_start.ut + limitDays: - return None - evt_before = SearchHourAngle(body, observer, ha_before, evt_after.time, -1) - time_after = evt_after.time - alt_before = altitude_error_func(altitude_error_context, evt_before.time) - alt_after = altitude_error_func(altitude_error_context, evt_after.time) + # Is it possible to reach zero from the altitude that is closer to zero? + da = min(abs(a1), abs(a2)) + + # Without loss of generality, assume |a1| <= |a2|. + # (Reverse the argument in the case |a2| < |a1|.) + # Imagine you have to "drive" from a1 to 0, then back to a2. + # You can't go faster than max_deriv_alt. If you can't reach 0 in half the time, + # you certainly don't have time to reach 0, turn around, and still make your way + # back up to a2 (which is at least as far from 0 than a1 is) in the time interval dt. + # Therefore, the time threshold is half the time interval, or dt/2. + if da > max_deriv_alt*(dt / 2): + # Prune: the altitude cannot change fast enough to reach zero. + return None + # Bisect the time interval and evaluate the altitude at the midpoint. + tmid = Time((t1.ut + t2.ut)/2) + amid = _altdiff(context, tmid) -class _peak_altitude_context: - def __init__(self, body, direction, observer, body_radius_au): - self.body = body - self.direction = direction - self.observer = observer - self.body_radius_au = body_radius_au + return ( + _FindAscent(1+depth, context, max_deriv_alt, t1, tmid, a1, amid) or + _FindAscent(1+depth, context, max_deriv_alt, tmid, t2, amid, a2) + ) -def _peak_altitude(context, time): - # Return the angular altitude above or below the horizon - # of the highest part (the peak) of the given object. - # This is defined as the apparent altitude of the center of the body plus - # the body's angular radius. - # The 'direction' parameter controls whether the angle is measured - # positive above the horizon or positive below the horizon, - # depending on whether the caller wants rise times or set times, respectively. +def _InternalSearchAltitude(body, observer, direction, startTime, limitDays, bodyRadiusAu, targetAltitude): + RISE_SET_DT = 0.42 # 10.08 hours: Nyquist-safe for 22-hour period. + max_deriv_alt = _MaxAltitudeSlope(body, observer.latitude) + context = _altitude_context(body, direction, observer, bodyRadiusAu, targetAltitude) - ofdate = Equator(context.body, time, context.observer, True, True) + # We allow searching forward or backward in time. + # But we want to keep t1 < t2, so we need a few if/else statements. + t1 = startTime + t2 = t1 + a1 = _altdiff(context, t1) + a2 = a1 - # We calculate altitude without refraction, then add fixed refraction near the horizon. - # This gives us the time of rise/set without the extra work. - hor = Horizon(time, context.observer, ofdate.ra, ofdate.dec, Refraction.Airless) - alt = hor.altitude + math.degrees(context.body_radius_au / ofdate.dist) - return context.direction.value * (alt + _REFRACTION_NEAR_HORIZON) + while True: + if limitDays < 0.0: + t1 = t2.AddDays(-RISE_SET_DT) + a1 = _altdiff(context, t1) + else: + t2 = t1.AddDays(+RISE_SET_DT) + a2 = _altdiff(context, t2) + + ascent = _FindAscent(0, context, max_deriv_alt, t1, t2, a1, a2) + if ascent: + # We found a time interval [t1, t2] that contains an alt-diff + # rising from negative a1 to non-negative a2. + # Search for the time where the root occurs. + time = Search(_altdiff, context, ascent.tx, ascent.ty, 0.1) + if time: + # Now that we have a solution, we have to check whether it goes outside the time bounds. + if limitDays < 0.0: + if time.ut < startTime.ut + limitDays: + return None + else: + if time.ut > startTime.ut + limitDays: + return None + return time # success! + + # The search should have succeeded. Something is wrong with the ascent finder! + raise InternalError() + + # There is no ascent in this interval, so keep searching. + if limitDays < 0.0: + if t1.ut < startTime.ut + limitDays: + return None + t2 = t1 + a2 = a1 + else: + if t2.ut > startTime.ut + limitDays: + return None + t1 = t2 + a1 = a2 def SearchRiseSet(body, observer, direction, startTime, limitDays): @@ -4646,36 +4673,16 @@ def SearchRiseSet(body, observer, direction, startTime, limitDays): If the rise or set time is found within the specified time window, this function returns that time. Otherwise, it returns `None`. """ - if body == Body.Earth: - raise EarthNotAllowedError() - if body == Body.Sun: - body_radius = _SUN_RADIUS_AU + bodyRadiusAu = _SUN_RADIUS_AU elif body == Body.Moon: - body_radius = _MOON_EQUATORIAL_RADIUS_AU + bodyRadiusAu = _MOON_EQUATORIAL_RADIUS_AU else: - body_radius = 0.0 - - context = _peak_altitude_context(body, direction, observer, body_radius) - if limitDays < 0.0: - return _BackwardSearchAltitude(body, observer, direction, startTime, limitDays, _peak_altitude, context) - return _ForwardSearchAltitude(body, observer, direction, startTime, limitDays, _peak_altitude, context) - - -class _altitude_error_context: - def __init__(self, body, direction, observer, altitude): - self.body = body - self.direction = direction - self.observer = observer - self.altitude = altitude - -def _altitude_error_func(context, time): - ofdate = Equator(context.body, time, context.observer, True, True) - hor = Horizon(time, context.observer, ofdate.ra, ofdate.dec, Refraction.Airless) - return context.direction.value * (hor.altitude - context.altitude) + bodyRadiusAu = 0.0 + return _InternalSearchAltitude(body, observer, direction, startTime, limitDays, bodyRadiusAu, -_REFRACTION_NEAR_HORIZON) -def SearchAltitude(body, observer, direction, dateStart, limitDays, altitude): +def SearchAltitude(body, observer, direction, startTime, limitDays, altitude): """Finds the next time a body reaches a given altitude. Finds when the given body ascends or descends through a given @@ -4727,10 +4734,7 @@ def SearchAltitude(body, observer, direction, dateStart, limitDays, altitude): """ if not (-90.0 <= altitude <= +90.0): raise Error('Invalid altitude: {}'.format(altitude)) - context = _altitude_error_context(body, direction, observer, altitude) - if limitDays < 0.0: - return _BackwardSearchAltitude(body, observer, direction, dateStart, limitDays, _altitude_error_func, context) - return _ForwardSearchAltitude(body, observer, direction, dateStart, limitDays, _altitude_error_func, context) + return _InternalSearchAltitude(body, observer, direction, startTime, limitDays, 0.0, altitude) class SeasonInfo: """The dates and times of changes of season for a given calendar year. diff --git a/generate/test.py b/generate/test.py index 75b8f4fc..af78cb5a 100755 --- a/generate/test.py +++ b/generate/test.py @@ -683,7 +683,7 @@ def RiseSetSlot(ut1, ut2, direction, observer): diff = SECONDS_PER_DAY * vabs(result.ut - ut2) maxDiff = max(maxDiff, diff) - if maxDiff > 0.9: + if maxDiff > 0.13: print('PY RiseSetSlot: EXCESSIVE {} slot-test discrepancy = {:0.6f} seconds.'.format(direction, maxDiff)) return 1 Debug('PY RiseSetSlot: {} slot-test discrepancy = {:0.6f} seconds.'.format(direction, maxDiff)) @@ -733,7 +733,7 @@ def RiseSetReverse(): maxDiff = max(maxDiff, diff) time = result.AddDays(-nudge) - if maxDiff > 0.982: + if maxDiff > 0.1: print('PY RiseSetReverse: EXCESSIVE forward/backward discrepancy = {:0.6f} seconds.'.format(maxDiff)) return 1 Debug('PY RiseSetReverse: forward/backward discrepancy = {:0.6f} seconds.'.format(maxDiff)) @@ -826,13 +826,13 @@ def RiseSet(filename = 'riseset/riseset.txt'): s_search_date = s_evt.AddDays(nudge_days) if a_dir != direction: - print('PY RiseSet({} line {}): expected dir={} but found {}'.format(filename, lnum, a_dir, direction)) + print('PY RiseSet({} line {}): expected dir={} but found {}'.format(filename, lnum, direction, a_dir)) return 1 error_minutes = (24.0 * 60.0) * vabs(a_evt.tt - correct_time.tt) sum_minutes += error_minutes ** 2 max_minutes = vmax(max_minutes, error_minutes) - if error_minutes > 0.57: + if error_minutes > 1.16: print('PY RiseSet({} line {}): excessive prediction time error = {} minutes.'.format(filename, lnum, error_minutes)) print(' correct = {}, calculated = {}'.format(correct_time, a_evt)) return 1 diff --git a/source/csharp/astronomy.cs b/source/csharp/astronomy.cs index 9ff2e4ff..cd44d403 100644 --- a/source/csharp/astronomy.cs +++ b/source/csharp/astronomy.cs @@ -7335,6 +7335,8 @@ public static AstroTime SearchAltitude( double limitDays, double altitude) { + if (altitude < -90.0 || altitude > +90.0) + throw new ArgumentOutOfRangeException(nameof(altitude)); return InternalSearchAltitude(body, observer, direction, startTime, limitDays, 0.0, altitude); } diff --git a/source/python/README.md b/source/python/README.md index 88f48d12..882d1f0e 100644 --- a/source/python/README.md +++ b/source/python/README.md @@ -2773,7 +2773,7 @@ the function returns `None`. --- -### SearchAltitude(body, observer, direction, dateStart, limitDays, altitude) +### SearchAltitude(body, observer, direction, startTime, limitDays, altitude) **Finds the next time a body reaches a given altitude.** diff --git a/source/python/astronomy/astronomy.py b/source/python/astronomy/astronomy.py index 2d9276d9..5da0447b 100644 --- a/source/python/astronomy/astronomy.py +++ b/source/python/astronomy/astronomy.py @@ -6501,145 +6501,172 @@ class Direction(enum.Enum): Rise = +1 Set = -1 -def _ForwardSearchAltitude(body, observer, direction, startTime, limitDays, altitude_error_func, altitude_error_context): - if body == Body.Earth: - raise EarthNotAllowedError() +class _AscentInfo: + def __init__(self, tx, ty, ax, ay): + self.tx = tx + self.ty = ty + self.ax = ax + self.ay = ay - if direction == Direction.Rise: - ha_before = 12.0 # minimum altitude (bottom) happens BEFORE the body rises. - ha_after = 0.0 # maximum altitude (culmination) happens AFTER the body rises. - elif direction == Direction.Set: - ha_before = 0.0 # culmination happens BEFORE the body sets. - ha_after = 12.0 # bottom happens AFTER the body sets. - else: - raise Error('Invalid value for direction parameter') + def __str__(self): + return 'AscentInfo(tx={}, ty={}, ax={}, ay={})'.format(self.tx, self.ty, self.ax, self.ay) - # We cannot possibly satisfy a forward search without a positive time limit. - if limitDays <= 0.0: - return None +class _altitude_context: + def __init__(self, body, direction, observer, bodyRadiusAu, targetAltitude): + self.body = body + self.direction = direction + self.observer = observer + self.bodyRadiusAu = bodyRadiusAu + self.targetAltitude = targetAltitude - # See if the body is currently above/below the horizon. - # If we are looking for next rise time and the body is below the horizon, - # we use the current time as the lower time bound and the next culmination - # as the upper bound. - # If the body is above the horizon, we search for the next bottom and use it - # as the lower bound and the next culmination after that bottom as the upper bound. - # The same logic applies for finding set times, only we swap the hour angles. - time_start = startTime - alt_before = altitude_error_func(altitude_error_context, time_start) - if alt_before > 0.0: - # We are past the sought event, so we have to wait for the next "before" event (culm/bottom). - evt_before = SearchHourAngle(body, observer, ha_before, time_start, +1) - time_before = evt_before.time - alt_before = altitude_error_func(altitude_error_context, time_before) +def _altdiff(context, time): + ofdate = Equator(context.body, time, context.observer, True, True) + hor = Horizon(time, context.observer, ofdate.ra, ofdate.dec, Refraction.Airless) + altitude = hor.altitude + math.degrees(math.asin(context.bodyRadiusAu / ofdate.dist)) + return context.direction.value*(altitude - context.targetAltitude) + +def _MaxAltitudeSlope(body, latitude): + # Calculate the maximum possible rate that this body's altitude + # could change [degrees/day] as seen by this observer. + # First use experimentally determined extreme bounds by body + # of how much topocentric RA and DEC can change per rate of time. + # We need minimum possible d(RA)/dt, and maximum possible magnitude of d(DEC)/dt. + # Conservatively, we round d(RA)/dt down, d(DEC)/dt up. + + if body == Body.Moon: + deriv_ra = +4.5 + deriv_dec = +8.2 + elif body == Body.Sun: + deriv_ra = +0.8 + deriv_dec = +0.5 + elif body == Body.Mercury: + deriv_ra = -1.6 + deriv_dec = +1.0 + elif body == Body.Venus: + deriv_ra = -0.8 + deriv_dec = +0.6 + elif body == Body.Mars: + deriv_ra = -0.5 + deriv_dec = +0.4 + elif body in [Body.Jupiter, Body.Saturn, Body.Uranus, Body.Neptune, Body.Pluto]: + deriv_ra = -0.2 + deriv_dec = +0.2 + elif body == Body.Earth: + raise EarthNotAllowedError() else: - # We are before or at the sought ebvent, so we find the next "after" event (bottom/culm), - # and use the current time as the "before" event. - time_before = time_start + raise InvalidBodyError() - evt_after = SearchHourAngle(body, observer, ha_after, time_before, +1) - alt_after = altitude_error_func(altitude_error_context, evt_after.time) + latrad = math.radians(latitude) + return abs(((360.0 / _SOLAR_DAYS_PER_SIDEREAL_DAY) - deriv_ra)*math.cos(latrad)) + abs(deriv_dec*math.sin(latrad)) - while True: - if alt_before <= 0.0 and alt_after > 0.0: - # Search between the "before time" and the "after time" for the desired event. - event_time = Search(altitude_error_func, altitude_error_context, time_before, evt_after.time, 1.0) - if event_time is not None: - # If we found the rise/set time, but it falls outside limitDays, fail the search. - if event_time.ut > startTime.ut + limitDays: - return None - # The search succeeded. - return event_time - # We didn't find the desired event, so use the "after" time to find the next "before" event. - evt_before = SearchHourAngle(body, observer, ha_before, evt_after.time, +1) - if evt_before.time.ut >= time_start.ut + limitDays: - return None - evt_after = SearchHourAngle(body, observer, ha_after, evt_before.time, +1) - time_before = evt_before.time - alt_before = altitude_error_func(altitude_error_context, evt_before.time) - alt_after = altitude_error_func(altitude_error_context, evt_after.time) -def _BackwardSearchAltitude(body, observer, direction, startTime, limitDays, altitude_error_func, altitude_error_context): - if body == Body.Earth: - raise EarthNotAllowedError() +def _FindAscent(depth, context, max_deriv_alt, t1, t2, a1, a2): + # See if we can find any time interval where the altitude-diff function + # rises from non-positive to positive. - if direction == Direction.Rise: - ha_before = 12.0 # minimum altitude (bottom) happens BEFORE the body rises. - ha_after = 0.0 # maximum altitude (culmination) happens AFTER the body rises. - elif direction == Direction.Set: - ha_before = 0.0 # culmination happens BEFORE the body sets. - ha_after = 12.0 # bottom happens AFTER the body sets. - else: - raise Error('Invalid value for direction parameter') + if a1 < 0.0 and a2 >= 0.0: + # Trivial success case: the endpoints already rise through zero. + return _AscentInfo(t1, t2, a1, a2) - # We cannot possibly satisfy a backward search without a negative time limit. - if limitDays >= 0.0: + if a1 >= 0.0 and a2 < 0.0: + # Trivial failure case: Assume Nyquist condition prevents an ascent. return None - # See if the body is currently above/below the horizon. - # If we are looking for previous rise time and the body is above the horizon, - # we use the current time as the upper time bound and the previous bottom as the lower time bound. - # If the body is below the horizon, we search for the previous culmination and use it - # as the upper time bound. Then we search for the bottom before that culmination and - # use it as the lower time bound. - # The same logic applies for finding set times; altitude_error_func and - # altitude_error_context ensure that the desired event is represented - # by ascending through zero, so the Search function works correctly. - time_start = startTime - alt_after = altitude_error_func(altitude_error_context, time_start) - if alt_after < 0.0: - evt_after = SearchHourAngle(body, observer, ha_after, time_start, -1) - time_after = evt_after.time - alt_after = altitude_error_func(altitude_error_context, time_after) - else: - time_after = time_start + if depth > 17: + # Safety valve: do not allow unlimited recursion. + # This should never happen if the rest of the logic is working correctly, + # so fail the whole search if it does happen. It's a bug! + raise InternalError() - evt_before = SearchHourAngle(body, observer, ha_before, time_after, -1) - alt_before = altitude_error_func(altitude_error_context, evt_before.time) + # Both altitudes are on the same side of zero: both are negative, or both are non-negative. + # There could be a convex "hill" or a concave "valley" that passes through zero. + # In polar regions sometimes there is a rise/set or set/rise pair within minutes of each other. + # For example, the Moon can be below the horizon, then the very top of it becomes + # visible (moonrise) for a few minutes, then it moves sideways and down below + # the horizon again (moonset). We want to catch these cases. + # However, for efficiency and practicality concerns, because the rise/set search itself + # has a 0.1 second threshold, we do not worry about rise/set pairs that are less than + # one second apart. These are marginal cases that are rendered highly uncertain + # anyway, due to unpredictable atmospheric refraction conditions (air temperature and pressure). + + dt = t2.ut - t1.ut + if dt * _SECONDS_PER_DAY < 1.0: + return None - while True: - if alt_before <= 0.0 and alt_after > 0.0: - # Search between the "before time" and the "after time" for the desired event. - event_time = Search(altitude_error_func, altitude_error_context, evt_before.time, time_after, 1.0) - if event_time is not None: - # If we found the rise/set time, but it falls outside limitDays, fail the search. - if event_time.ut < startTime.ut + limitDays: - return None - # The search succeeded. - return event_time - evt_after = SearchHourAngle(body, observer, ha_after, evt_before.time, -1) - if evt_after.time.ut <= time_start.ut + limitDays: - return None - evt_before = SearchHourAngle(body, observer, ha_before, evt_after.time, -1) - time_after = evt_after.time - alt_before = altitude_error_func(altitude_error_context, evt_before.time) - alt_after = altitude_error_func(altitude_error_context, evt_after.time) + # Is it possible to reach zero from the altitude that is closer to zero? + da = min(abs(a1), abs(a2)) + + # Without loss of generality, assume |a1| <= |a2|. + # (Reverse the argument in the case |a2| < |a1|.) + # Imagine you have to "drive" from a1 to 0, then back to a2. + # You can't go faster than max_deriv_alt. If you can't reach 0 in half the time, + # you certainly don't have time to reach 0, turn around, and still make your way + # back up to a2 (which is at least as far from 0 than a1 is) in the time interval dt. + # Therefore, the time threshold is half the time interval, or dt/2. + if da > max_deriv_alt*(dt / 2): + # Prune: the altitude cannot change fast enough to reach zero. + return None + # Bisect the time interval and evaluate the altitude at the midpoint. + tmid = Time((t1.ut + t2.ut)/2) + amid = _altdiff(context, tmid) -class _peak_altitude_context: - def __init__(self, body, direction, observer, body_radius_au): - self.body = body - self.direction = direction - self.observer = observer - self.body_radius_au = body_radius_au + return ( + _FindAscent(1+depth, context, max_deriv_alt, t1, tmid, a1, amid) or + _FindAscent(1+depth, context, max_deriv_alt, tmid, t2, amid, a2) + ) -def _peak_altitude(context, time): - # Return the angular altitude above or below the horizon - # of the highest part (the peak) of the given object. - # This is defined as the apparent altitude of the center of the body plus - # the body's angular radius. - # The 'direction' parameter controls whether the angle is measured - # positive above the horizon or positive below the horizon, - # depending on whether the caller wants rise times or set times, respectively. +def _InternalSearchAltitude(body, observer, direction, startTime, limitDays, bodyRadiusAu, targetAltitude): + RISE_SET_DT = 0.42 # 10.08 hours: Nyquist-safe for 22-hour period. + max_deriv_alt = _MaxAltitudeSlope(body, observer.latitude) + context = _altitude_context(body, direction, observer, bodyRadiusAu, targetAltitude) - ofdate = Equator(context.body, time, context.observer, True, True) + # We allow searching forward or backward in time. + # But we want to keep t1 < t2, so we need a few if/else statements. + t1 = startTime + t2 = t1 + a1 = _altdiff(context, t1) + a2 = a1 - # We calculate altitude without refraction, then add fixed refraction near the horizon. - # This gives us the time of rise/set without the extra work. - hor = Horizon(time, context.observer, ofdate.ra, ofdate.dec, Refraction.Airless) - alt = hor.altitude + math.degrees(context.body_radius_au / ofdate.dist) - return context.direction.value * (alt + _REFRACTION_NEAR_HORIZON) + while True: + if limitDays < 0.0: + t1 = t2.AddDays(-RISE_SET_DT) + a1 = _altdiff(context, t1) + else: + t2 = t1.AddDays(+RISE_SET_DT) + a2 = _altdiff(context, t2) + + ascent = _FindAscent(0, context, max_deriv_alt, t1, t2, a1, a2) + if ascent: + # We found a time interval [t1, t2] that contains an alt-diff + # rising from negative a1 to non-negative a2. + # Search for the time where the root occurs. + time = Search(_altdiff, context, ascent.tx, ascent.ty, 0.1) + if time: + # Now that we have a solution, we have to check whether it goes outside the time bounds. + if limitDays < 0.0: + if time.ut < startTime.ut + limitDays: + return None + else: + if time.ut > startTime.ut + limitDays: + return None + return time # success! + + # The search should have succeeded. Something is wrong with the ascent finder! + raise InternalError() + + # There is no ascent in this interval, so keep searching. + if limitDays < 0.0: + if t1.ut < startTime.ut + limitDays: + return None + t2 = t1 + a2 = a1 + else: + if t2.ut > startTime.ut + limitDays: + return None + t1 = t2 + a1 = a2 def SearchRiseSet(body, observer, direction, startTime, limitDays): @@ -6688,36 +6715,16 @@ def SearchRiseSet(body, observer, direction, startTime, limitDays): If the rise or set time is found within the specified time window, this function returns that time. Otherwise, it returns `None`. """ - if body == Body.Earth: - raise EarthNotAllowedError() - if body == Body.Sun: - body_radius = _SUN_RADIUS_AU + bodyRadiusAu = _SUN_RADIUS_AU elif body == Body.Moon: - body_radius = _MOON_EQUATORIAL_RADIUS_AU + bodyRadiusAu = _MOON_EQUATORIAL_RADIUS_AU else: - body_radius = 0.0 - - context = _peak_altitude_context(body, direction, observer, body_radius) - if limitDays < 0.0: - return _BackwardSearchAltitude(body, observer, direction, startTime, limitDays, _peak_altitude, context) - return _ForwardSearchAltitude(body, observer, direction, startTime, limitDays, _peak_altitude, context) - - -class _altitude_error_context: - def __init__(self, body, direction, observer, altitude): - self.body = body - self.direction = direction - self.observer = observer - self.altitude = altitude - -def _altitude_error_func(context, time): - ofdate = Equator(context.body, time, context.observer, True, True) - hor = Horizon(time, context.observer, ofdate.ra, ofdate.dec, Refraction.Airless) - return context.direction.value * (hor.altitude - context.altitude) + bodyRadiusAu = 0.0 + return _InternalSearchAltitude(body, observer, direction, startTime, limitDays, bodyRadiusAu, -_REFRACTION_NEAR_HORIZON) -def SearchAltitude(body, observer, direction, dateStart, limitDays, altitude): +def SearchAltitude(body, observer, direction, startTime, limitDays, altitude): """Finds the next time a body reaches a given altitude. Finds when the given body ascends or descends through a given @@ -6769,10 +6776,7 @@ def SearchAltitude(body, observer, direction, dateStart, limitDays, altitude): """ if not (-90.0 <= altitude <= +90.0): raise Error('Invalid altitude: {}'.format(altitude)) - context = _altitude_error_context(body, direction, observer, altitude) - if limitDays < 0.0: - return _BackwardSearchAltitude(body, observer, direction, dateStart, limitDays, _altitude_error_func, context) - return _ForwardSearchAltitude(body, observer, direction, dateStart, limitDays, _altitude_error_func, context) + return _InternalSearchAltitude(body, observer, direction, startTime, limitDays, 0.0, altitude) class SeasonInfo: """The dates and times of changes of season for a given calendar year. From 61445889adc2feb7a8c00858d50656ad931a8a6e Mon Sep 17 00:00:00 2001 From: Don Cross Date: Mon, 14 Nov 2022 07:52:46 -0500 Subject: [PATCH 14/16] Forgot to update Java demo riseset.txt. Changes to the altitude search caused a tiny change in rise/set times in all the demo programs. I remembered to update the expected output for Kotlin, but forgot to do it for Java. --- demo/java/correct/riseset.txt | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/demo/java/correct/riseset.txt b/demo/java/correct/riseset.txt index 6aa73b15..c240bf0e 100644 --- a/demo/java/correct/riseset.txt +++ b/demo/java/correct/riseset.txt @@ -1,6 +1,6 @@ -moonset : 2018-11-30T19:22:02.718Z -sunset : 2018-11-30T22:21:03.024Z -moonrise : 2018-12-01T06:49:33.192Z -sunrise : 2018-12-01T13:22:51.106Z +moonset : 2018-11-30T19:22:02.735Z +sunset : 2018-11-30T22:21:03.107Z +moonrise : 2018-12-01T06:49:32.983Z +sunrise : 2018-12-01T13:22:51.098Z moonculm : 2018-12-01T13:25:39.717Z altitude = 48.22 sunculm : 2018-12-01T17:51:53.358Z altitude = 22.57 From 5e074d05aaf218b624a8eeb74ed440ae4f8eb7f1 Mon Sep 17 00:00:00 2001 From: Don Cross Date: Mon, 14 Nov 2022 08:15:23 -0500 Subject: [PATCH 15/16] Bumped version number to 2.1.10. Not ready to tag yet, because I need to merge into master branch first, to pick up the npm package configuration change. --- README.md | 2 +- generate/version.txt | 2 +- source/csharp/astronomy.csproj | 2 +- source/js/package.json | 2 +- source/kotlin/README.md | 2 +- source/kotlin/build.gradle.kts | 2 +- source/python/setup.py | 2 +- 7 files changed, 7 insertions(+), 7 deletions(-) diff --git a/README.md b/README.md index 4f9d7473..509ca6ea 100644 --- a/README.md +++ b/README.md @@ -10,7 +10,7 @@ Examples -
+
diff --git a/generate/version.txt b/generate/version.txt index ebf14b46..8dbb0f26 100644 --- a/generate/version.txt +++ b/generate/version.txt @@ -1 +1 @@ -2.1.8 +2.1.10 diff --git a/source/csharp/astronomy.csproj b/source/csharp/astronomy.csproj index c72a61c0..156f4f60 100644 --- a/source/csharp/astronomy.csproj +++ b/source/csharp/astronomy.csproj @@ -4,7 +4,7 @@ true true CosineKitty.AstronomyEngine - 2.1.8 + 2.1.10 https://github.com/cosinekitty/astronomy Don Cross Astronomy Engine diff --git a/source/js/package.json b/source/js/package.json index 2f217d95..7d648a73 100644 --- a/source/js/package.json +++ b/source/js/package.json @@ -1,6 +1,6 @@ { "name": "astronomy-engine", - "version": "2.1.8", + "version": "2.1.10", "description": "Astronomy calculation for Sun, Moon, and planets.", "main": "./astronomy.js", "module": "./esm/astronomy.js", diff --git a/source/kotlin/README.md b/source/kotlin/README.md index 0e89eef7..3f3c07d0 100644 --- a/source/kotlin/README.md +++ b/source/kotlin/README.md @@ -25,7 +25,7 @@ allprojects { Now add the dependency: ```kotlin dependencies { - implementation("io.github.cosinekitty:astronomy:2.1.8") + implementation("io.github.cosinekitty:astronomy:2.1.10") } ``` diff --git a/source/kotlin/build.gradle.kts b/source/kotlin/build.gradle.kts index 498b99cd..3fc4f110 100644 --- a/source/kotlin/build.gradle.kts +++ b/source/kotlin/build.gradle.kts @@ -6,7 +6,7 @@ plugins { } group = "io.github.cosinekitty" -version = "2.1.8" +version = "2.1.10" repositories { mavenCentral() diff --git a/source/python/setup.py b/source/python/setup.py index 3347e660..1c914117 100644 --- a/source/python/setup.py +++ b/source/python/setup.py @@ -2,7 +2,7 @@ setup( name='astronomy-engine', - version='2.1.8', + version='2.1.10', description='Astronomy calculation for Sun, Moon, and planets.', long_description=open('README.md').read(), long_description_content_type='text/markdown', From d9d955a6515071de23b392c6431e028997083b05 Mon Sep 17 00:00:00 2001 From: Don Cross Date: Mon, 14 Nov 2022 11:04:46 -0500 Subject: [PATCH 16/16] Altitude search: better parameter checking. Made sure all the altitude search functions verify that the geographic latitude and target altitude are valid numbers in the range [-90, +90]. Reworked the C version of the code to be clearer: eliminated goofy ALTDIFF macro, split out max altitude derivative into its own function MaxAltitudeSlope, just like the other language implementations do. Minor rewording of comments in MaxAltitudeSlope functions. Python InvalidBodyError now includes the invalid body in the diagnostic message. --- README.md | 2 +- demo/browser/astronomy.browser.js | 11 +- demo/nodejs/astronomy.js | 11 +- demo/nodejs/calendar/astronomy.ts | 13 +- demo/python/astronomy.py | 45 ++- generate/template/astronomy.c | 109 +++-- generate/template/astronomy.cs | 5 +- generate/template/astronomy.kt | 11 +- generate/template/astronomy.py | 45 ++- generate/template/astronomy.ts | 13 +- source/c/astronomy.c | 109 +++-- source/csharp/astronomy.cs | 5 +- source/js/astronomy.browser.js | 11 +- source/js/astronomy.browser.min.js | 380 +++++++++--------- source/js/astronomy.js | 11 +- source/js/astronomy.min.js | 7 +- source/js/astronomy.ts | 13 +- source/js/esm/astronomy.js | 11 +- .../github/cosinekitty/astronomy/astronomy.kt | 11 +- source/python/astronomy/astronomy.py | 45 ++- 20 files changed, 506 insertions(+), 362 deletions(-) diff --git a/README.md b/README.md index 509ca6ea..2a8c1247 100644 --- a/README.md +++ b/README.md @@ -187,7 +187,7 @@ of complexity. So I decided to create Astronomy Engine with the following engine - Support JavaScript, C, C#, and Python with the same algorithms, and verify them to produce identical results. (Kotlin support was added in 2022.) - No external dependencies! The code must not require anything outside the standard library for each language. -- Minified JavaScript code less than 120K. (The current size is 118019 bytes.) +- Minified JavaScript code less than 120K. (The current size is 118139 bytes.) - Accuracy always within 1 arcminute of results from NOVAS. - It would be well documented, relatively easy to use, and support a wide variety of common use cases. diff --git a/demo/browser/astronomy.browser.js b/demo/browser/astronomy.browser.js index c84d1975..f8d35ed4 100644 --- a/demo/browser/astronomy.browser.js +++ b/demo/browser/astronomy.browser.js @@ -4924,10 +4924,13 @@ function FindAscent(depth, altdiff, max_deriv_alt, t1, t2, a1, a2) { function MaxAltitudeSlope(body, latitude) { // Calculate the maximum possible rate that this body's altitude // could change [degrees/day] as seen by this observer. - // First use experimentally determined extreme bounds by body - // of how much topocentric RA and DEC can change per rate of time. + // First use experimentally determined extreme bounds for this body + // of how much topocentric RA and DEC can ever change per rate of time. // We need minimum possible d(RA)/dt, and maximum possible magnitude of d(DEC)/dt. // Conservatively, we round d(RA)/dt down, d(DEC)/dt up. + // Then calculate the resulting maximum possible altitude change rate. + if (latitude < -90 || latitude > +90) + throw `Invalid geographic latitude: ${latitude}`; let deriv_ra; let deriv_dec; switch (body) { @@ -4968,6 +4971,10 @@ function MaxAltitudeSlope(body, latitude) { function InternalSearchAltitude(body, observer, direction, dateStart, limitDays, bodyRadiusAu, targetAltitude) { VerifyObserver(observer); VerifyNumber(limitDays); + VerifyNumber(bodyRadiusAu); + VerifyNumber(targetAltitude); + if (targetAltitude < -90 || targetAltitude > +90) + throw `Invalid target altitude angle: ${targetAltitude}`; const RISE_SET_DT = 0.42; // 10.08 hours: Nyquist-safe for 22-hour period. const max_deriv_alt = MaxAltitudeSlope(body, observer.latitude); function altdiff(time) { diff --git a/demo/nodejs/astronomy.js b/demo/nodejs/astronomy.js index cf451ae7..42eaa681 100644 --- a/demo/nodejs/astronomy.js +++ b/demo/nodejs/astronomy.js @@ -4923,10 +4923,13 @@ function FindAscent(depth, altdiff, max_deriv_alt, t1, t2, a1, a2) { function MaxAltitudeSlope(body, latitude) { // Calculate the maximum possible rate that this body's altitude // could change [degrees/day] as seen by this observer. - // First use experimentally determined extreme bounds by body - // of how much topocentric RA and DEC can change per rate of time. + // First use experimentally determined extreme bounds for this body + // of how much topocentric RA and DEC can ever change per rate of time. // We need minimum possible d(RA)/dt, and maximum possible magnitude of d(DEC)/dt. // Conservatively, we round d(RA)/dt down, d(DEC)/dt up. + // Then calculate the resulting maximum possible altitude change rate. + if (latitude < -90 || latitude > +90) + throw `Invalid geographic latitude: ${latitude}`; let deriv_ra; let deriv_dec; switch (body) { @@ -4967,6 +4970,10 @@ function MaxAltitudeSlope(body, latitude) { function InternalSearchAltitude(body, observer, direction, dateStart, limitDays, bodyRadiusAu, targetAltitude) { VerifyObserver(observer); VerifyNumber(limitDays); + VerifyNumber(bodyRadiusAu); + VerifyNumber(targetAltitude); + if (targetAltitude < -90 || targetAltitude > +90) + throw `Invalid target altitude angle: ${targetAltitude}`; const RISE_SET_DT = 0.42; // 10.08 hours: Nyquist-safe for 22-hour period. const max_deriv_alt = MaxAltitudeSlope(body, observer.latitude); function altdiff(time) { diff --git a/demo/nodejs/calendar/astronomy.ts b/demo/nodejs/calendar/astronomy.ts index 27947bbb..611720c3 100644 --- a/demo/nodejs/calendar/astronomy.ts +++ b/demo/nodejs/calendar/astronomy.ts @@ -5481,10 +5481,14 @@ function FindAscent( function MaxAltitudeSlope(body: Body, latitude: number): number { // Calculate the maximum possible rate that this body's altitude // could change [degrees/day] as seen by this observer. - // First use experimentally determined extreme bounds by body - // of how much topocentric RA and DEC can change per rate of time. + // First use experimentally determined extreme bounds for this body + // of how much topocentric RA and DEC can ever change per rate of time. // We need minimum possible d(RA)/dt, and maximum possible magnitude of d(DEC)/dt. // Conservatively, we round d(RA)/dt down, d(DEC)/dt up. + // Then calculate the resulting maximum possible altitude change rate. + + if (latitude < -90 || latitude > +90) + throw `Invalid geographic latitude: ${latitude}`; let deriv_ra : number; let deriv_dec : number; @@ -5545,6 +5549,11 @@ function InternalSearchAltitude( { VerifyObserver(observer); VerifyNumber(limitDays); + VerifyNumber(bodyRadiusAu); + VerifyNumber(targetAltitude); + + if (targetAltitude < -90 || targetAltitude > +90) + throw `Invalid target altitude angle: ${targetAltitude}`; const RISE_SET_DT = 0.42; // 10.08 hours: Nyquist-safe for 22-hour period. const max_deriv_alt = MaxAltitudeSlope(body, observer.latitude); diff --git a/demo/python/astronomy.py b/demo/python/astronomy.py index 5da0447b..ee51cad5 100644 --- a/demo/python/astronomy.py +++ b/demo/python/astronomy.py @@ -161,7 +161,7 @@ def MassProduct(body): if body == Body.Uranus: return _URANUS_GM if body == Body.Neptune: return _NEPTUNE_GM if body == Body.Pluto: return _PLUTO_GM - raise InvalidBodyError() + raise InvalidBodyError(body) @enum.unique class _PrecessDir(enum.Enum): @@ -386,8 +386,8 @@ def __init__(self): class InvalidBodyError(Error): """The celestial body is not allowed for this calculation.""" - def __init__(self): - Error.__init__(self, 'Invalid astronomical body.') + def __init__(self, body): + Error.__init__(self, 'This body is not valid, or is not supported for this calculation: {}'.format(body)) class BadVectorError(Error): """A vector magnitude is too small to have a direction in space.""" @@ -435,13 +435,13 @@ def PlanetOrbitalPeriod(body): """ if isinstance(body, Body) and (0 <= body.value < len(_PlanetOrbitalPeriod)): return _PlanetOrbitalPeriod[body.value] - raise InvalidBodyError() + raise InvalidBodyError(body) def _SynodicPeriod(body): if body == Body.Earth: raise EarthNotAllowedError() if body.value < 0 or body.value >= len(_PlanetOrbitalPeriod): - raise InvalidBodyError() + raise InvalidBodyError(body) if body == Body.Moon: return _MEAN_SYNODIC_MONTH return abs(_EARTH_ORBITAL_PERIOD / (_EARTH_ORBITAL_PERIOD/_PlanetOrbitalPeriod[body.value] - 1.0)) @@ -4453,7 +4453,7 @@ def HelioVector(body, time): if body == Body.SSB: return _CalcSolarSystemBarycenter(time) - raise InvalidBodyError() + raise InvalidBodyError(body) def HelioDistance(body, time): @@ -4782,7 +4782,7 @@ def BaryState(body, time): time ) - raise InvalidBodyError() + raise InvalidBodyError(body) def HelioState(body, time): @@ -4851,7 +4851,7 @@ def HelioState(body, time): time ) - raise InvalidBodyError() + raise InvalidBodyError(body) def Equator(body, time, observer, ofdate, aberration): @@ -5497,7 +5497,7 @@ def EclipticLongitude(body, time): An angular value in degrees indicating the ecliptic longitude of the body. """ if body == Body.Sun: - raise InvalidBodyError() + raise InvalidBodyError(body) hv = HelioVector(body, time) eclip = Ecliptic(hv) return eclip.elon @@ -5715,7 +5715,7 @@ def SearchRelativeLongitude(body, targetRelLon, startTime): if body == Body.Earth: raise EarthNotAllowedError() if body in (Body.Moon, Body.Sun): - raise InvalidBodyError() + raise InvalidBodyError(body) syn = _SynodicPeriod(body) direction = +1 if _IsSuperiorPlanet(body) else -1 # Iterate until we converge on the desired event. @@ -5787,7 +5787,7 @@ def SearchMaxElongation(body, startTime): s1 = 40.0 s2 = 50.0 else: - raise InvalidBodyError() + raise InvalidBodyError(body) syn = _SynodicPeriod(body) iter_count = 1 while iter_count <= 2: @@ -6185,7 +6185,7 @@ def _VisualMagnitude(body, phase, helio_dist, geo_dist): elif body == Body.Pluto: c0 = -1.00; c1 = +4.00 else: - raise InvalidBodyError() + raise InvalidBodyError(body) x = phase / 100.0 mag = c0 + x*(c1 + x*(c2 + x*c3)) @@ -6298,7 +6298,7 @@ def SearchPeakMagnitude(body, startTime): s1 = 10.0 s2 = 30.0 if body != Body.Venus: - raise InvalidBodyError() + raise InvalidBodyError(body) iter_count = 1 while iter_count <= 2: @@ -6528,10 +6528,14 @@ def _altdiff(context, time): def _MaxAltitudeSlope(body, latitude): # Calculate the maximum possible rate that this body's altitude # could change [degrees/day] as seen by this observer. - # First use experimentally determined extreme bounds by body - # of how much topocentric RA and DEC can change per rate of time. + # First use experimentally determined extreme bounds for this body + # of how much topocentric RA and DEC can ever change per rate of time. # We need minimum possible d(RA)/dt, and maximum possible magnitude of d(DEC)/dt. # Conservatively, we round d(RA)/dt down, d(DEC)/dt up. + # Then calculate the resulting maximum possible altitude change rate. + + if not (-90.0 <= latitude <= +90.0): + raise Error('Invalid geographic latitude: {}'.format(latitude)) if body == Body.Moon: deriv_ra = +4.5 @@ -6554,7 +6558,7 @@ def _MaxAltitudeSlope(body, latitude): elif body == Body.Earth: raise EarthNotAllowedError() else: - raise InvalidBodyError() + raise InvalidBodyError(body) latrad = math.radians(latitude) return abs(((360.0 / _SOLAR_DAYS_PER_SIDEREAL_DAY) - deriv_ra)*math.cos(latrad)) + abs(deriv_dec*math.sin(latrad)) @@ -6618,6 +6622,9 @@ def _FindAscent(depth, context, max_deriv_alt, t1, t2, a1, a2): def _InternalSearchAltitude(body, observer, direction, startTime, limitDays, bodyRadiusAu, targetAltitude): + if not (-90.0 <= targetAltitude <= +90.0): + raise Error('Invalid target altitude angle: {}'.format(targetAltitude)) + RISE_SET_DT = 0.42 # 10.08 hours: Nyquist-safe for 22-hour period. max_deriv_alt = _MaxAltitudeSlope(body, observer.latitude) context = _altitude_context(body, direction, observer, bodyRadiusAu, targetAltitude) @@ -6774,8 +6781,6 @@ def SearchAltitude(body, observer, direction, startTime, limitDays, altitude): If the altitude event time is found within the specified time window, this function returns that time. Otherwise, it returns `None`. """ - if not (-90.0 <= altitude <= +90.0): - raise Error('Invalid altitude: {}'.format(altitude)) return _InternalSearchAltitude(body, observer, direction, startTime, limitDays, 0.0, altitude) class SeasonInfo: @@ -9425,7 +9430,7 @@ def SearchTransit(body, startTime): elif body == Body.Venus: planet_radius_km = 6051.8 else: - raise InvalidBodyError() + raise InvalidBodyError(body) search_time = startTime while True: @@ -10007,7 +10012,7 @@ def RotationAxis(body, time): w = 302.695 + 56.3625225*d else: - raise InvalidBodyError() + raise InvalidBodyError(body) # Calculate the north pole vector using the given angles. radlat = math.radians(dec) diff --git a/generate/template/astronomy.c b/generate/template/astronomy.c index 59b1d450..c69e803d 100644 --- a/generate/template/astronomy.c +++ b/generate/template/astronomy.c @@ -6396,14 +6396,6 @@ typedef struct } context_altitude_t; -#define ALTDIFF(altitude, time, context) \ - do { \ - astro_func_result_t altdiff_result = altitude_diff(context, time); \ - if (altdiff_result.status != ASTRO_SUCCESS) \ - return SearchError(altdiff_result.status); \ - altitude = altdiff_result.value; \ - } while (0) - static const double RISE_SET_DT = 0.42; /* 10.08 hours: Nyquist-safe for 22-hour period. */ typedef struct @@ -6556,29 +6548,26 @@ static ascent_t FindAscent( } -static astro_search_result_t InternalSearchAltitude( - astro_body_t body, - astro_observer_t observer, - astro_direction_t direction, - astro_time_t startTime, - double limitDays, - double bodyRadiusAu, - double targetAltitude) +static astro_func_result_t MaxAltitudeSlope(astro_body_t body, double latitude) { - astro_search_result_t result; - context_altitude_t context; - ascent_t ascent; - astro_time_t t1, t2; - double a1 = 0.0, a2 = 0.0; - double deriv_ra, deriv_dec, max_deriv_alt, latrad; + astro_func_result_t result; + double deriv_ra, deriv_dec, latrad; + + if (!isfinite(latitude) || latitude < -90.0 || latitude > +90.0) + { + result.value = NAN; + result.status = ASTRO_INVALID_PARAMETER; + return result; + } /* Calculate the maximum possible rate that this body's altitude could change [degrees/day] as seen by this observer. - First use experimentally determined extreme bounds by body - of how much topocentric RA and DEC can change per rate of time. + First use experimentally determined extreme bounds for this body + of how much topocentric RA and DEC can ever change per rate of time. We need minimum possible d(RA)/dt, and maximum possible magnitude of d(DEC)/dt. Conservatively, we round d(RA)/dt down, d(DEC)/dt up. + Then calculate the resulting maximum possible altitude change rate. */ switch (body) { @@ -6617,14 +6606,46 @@ static astro_search_result_t InternalSearchAltitude( break; case BODY_EARTH: - return SearchError(ASTRO_EARTH_NOT_ALLOWED); + result.value = NAN; + result.status = ASTRO_EARTH_NOT_ALLOWED; + return result; default: - return SearchError(ASTRO_INVALID_BODY); + result.value = NAN; + result.status = ASTRO_INVALID_BODY; + return result; } - latrad = DEG2RAD * observer.latitude; - max_deriv_alt = fabs(((360.0 / SOLAR_DAYS_PER_SIDEREAL_DAY) - deriv_ra)*cos(latrad)) + fabs(deriv_dec*sin(latrad)); + latrad = DEG2RAD * latitude; + result.value = fabs(((360.0 / SOLAR_DAYS_PER_SIDEREAL_DAY) - deriv_ra)*cos(latrad)) + fabs(deriv_dec*sin(latrad)); + result.status = isfinite(result.value) ? ASTRO_SUCCESS : ASTRO_INTERNAL_ERROR; + return result; +} + + +static astro_search_result_t InternalSearchAltitude( + astro_body_t body, + astro_observer_t observer, + astro_direction_t direction, + astro_time_t startTime, + double limitDays, + double bodyRadiusAu, + double targetAltitude) +{ + astro_search_result_t search_result; + astro_func_result_t func_result; + context_altitude_t context; + ascent_t ascent; + astro_time_t t1, t2; + double a1, a2, max_deriv_alt; + + if (!isfinite(targetAltitude) || targetAltitude < -90.0 || targetAltitude > +90.0) + return SearchError(ASTRO_INVALID_PARAMETER); + + func_result = MaxAltitudeSlope(body, observer.latitude); + if (func_result.status != ASTRO_SUCCESS) + return SearchError(ASTRO_SUCCESS); + max_deriv_alt = func_result.value; context.body = body; context.direction = (int)direction; @@ -6635,20 +6656,28 @@ static astro_search_result_t InternalSearchAltitude( /* We allow searching forward or backward in time. */ /* But we want to keep t1 < t2, so we need a few if/else statements. */ t1 = t2 = startTime; - ALTDIFF(a2, t2, &context); - a1 = a2; + func_result = altitude_diff(&context, t2); + if (func_result.status != ASTRO_SUCCESS) + return SearchError(func_result.status); + a1 = a2 = func_result.value; for(;;) { if (limitDays < 0.0) { t1 = Astronomy_AddDays(t2, -RISE_SET_DT); - ALTDIFF(a1, t1, &context); + func_result = altitude_diff(&context, t1); + if (func_result.status != ASTRO_SUCCESS) + return SearchError(func_result.status); + a1 = func_result.value; } else { t2 = Astronomy_AddDays(t1, +RISE_SET_DT); - ALTDIFF(a2, t2, &context); + func_result = altitude_diff(&context, t2); + if (func_result.status != ASTRO_SUCCESS) + return SearchError(func_result.status); + a2 = func_result.value; } ascent = FindAscent(0, &context, max_deriv_alt, t1, t2, a1, a2); @@ -6657,24 +6686,24 @@ static astro_search_result_t InternalSearchAltitude( /* We found a time interval [t1, t2] that contains an alt-diff */ /* rising from negative a1 to non-negative a2. */ /* Search for the time where the root occurs. */ - result = Astronomy_Search(altitude_diff, &context, ascent.tx, ascent.ty, 0.1); - if (result.status == ASTRO_SUCCESS) + search_result = Astronomy_Search(altitude_diff, &context, ascent.tx, ascent.ty, 0.1); + if (search_result.status == ASTRO_SUCCESS) { /* Now that we have a solution, we have to check whether it goes outside the time bounds. */ if (limitDays < 0.0) { - if (result.time.ut < startTime.ut + limitDays) + if (search_result.time.ut < startTime.ut + limitDays) return SearchError(ASTRO_SEARCH_FAILURE); } else { - if (result.time.ut > startTime.ut + limitDays) + if (search_result.time.ut > startTime.ut + limitDays) return SearchError(ASTRO_SEARCH_FAILURE); } - return result; /* success! */ + return search_result; /* success! */ } - /* The search should have succeeded. Something is wrong with the ascent finder! */ + /* The search should have succeeded. Something is wrong with FindAscent! */ return SearchError(ASTRO_INTERNAL_ERROR); } else if (ascent.status == ASTRO_SEARCH_FAILURE) @@ -6764,10 +6793,6 @@ astro_search_result_t Astronomy_SearchRiseSet( double limitDays) { double body_radius_au; - - if (body == BODY_EARTH) - return SearchError(ASTRO_EARTH_NOT_ALLOWED); - switch (body) { case BODY_SUN: body_radius_au = SUN_RADIUS_AU; break; diff --git a/generate/template/astronomy.cs b/generate/template/astronomy.cs index ee06532c..76f4cf61 100644 --- a/generate/template/astronomy.cs +++ b/generate/template/astronomy.cs @@ -5852,10 +5852,11 @@ private static double MaxAltitudeSlope(Body body, double latitude) { // Calculate the maximum possible rate that this body's altitude // could change [degrees/day] as seen by this observer. - // First use experimentally determined extreme bounds by body - // of how much topocentric RA and DEC can change per rate of time. + // First use experimentally determined extreme bounds for this body + // of how much topocentric RA and DEC can ever change per rate of time. // We need minimum possible d(RA)/dt, and maximum possible magnitude of d(DEC)/dt. // Conservatively, we round d(RA)/dt down, d(DEC)/dt up. + // Then calculate the resulting maximum possible altitude change rate. double deriv_ra; double deriv_dec; diff --git a/generate/template/astronomy.kt b/generate/template/astronomy.kt index 2f8dfe65..85950bd6 100644 --- a/generate/template/astronomy.kt +++ b/generate/template/astronomy.kt @@ -6248,10 +6248,14 @@ private fun findAscent( private fun maxAltitudeSlope(body: Body, latitude: Double): Double { // Calculate the maximum possible rate that this body's altitude // could change [degrees/day] as seen by this observer. - // First use experimentally determined extreme bounds by body - // of how much topocentric RA and DEC can change per rate of time. + // First use experimentally determined extreme bounds for this body + // of how much topocentric RA and DEC can ever change per rate of time. // We need minimum possible d(RA)/dt, and maximum possible magnitude of d(DEC)/dt. // Conservatively, we round d(RA)/dt down, d(DEC)/dt up. + // Then calculate the resulting maximum possible altitude change rate. + + if (!latitude.isFinite() || latitude < -90.0 || latitude > +90.0) + throw IllegalArgumentException("Invalid geographic latitude: $latitude") val derivRa: Double val derivDec: Double @@ -6324,6 +6328,9 @@ private fun internalSearchAltitude( bodyRadiusAu: Double, targetAltitude: Double ): Time? { + if (!targetAltitude.isFinite() || targetAltitude < -90.0 || targetAltitude > +90.0) + throw IllegalArgumentException("Target altitude is not valid: $targetAltitude") + val maxDerivAlt = maxAltitudeSlope(body, observer.latitude) val context = SearchContext_Altitude(body, direction, observer, bodyRadiusAu, targetAltitude) diff --git a/generate/template/astronomy.py b/generate/template/astronomy.py index f643c04e..89ce25d6 100644 --- a/generate/template/astronomy.py +++ b/generate/template/astronomy.py @@ -161,7 +161,7 @@ def MassProduct(body): if body == Body.Uranus: return _URANUS_GM if body == Body.Neptune: return _NEPTUNE_GM if body == Body.Pluto: return _PLUTO_GM - raise InvalidBodyError() + raise InvalidBodyError(body) @enum.unique class _PrecessDir(enum.Enum): @@ -386,8 +386,8 @@ def __init__(self): class InvalidBodyError(Error): """The celestial body is not allowed for this calculation.""" - def __init__(self): - Error.__init__(self, 'Invalid astronomical body.') + def __init__(self, body): + Error.__init__(self, 'This body is not valid, or is not supported for this calculation: {}'.format(body)) class BadVectorError(Error): """A vector magnitude is too small to have a direction in space.""" @@ -435,13 +435,13 @@ def PlanetOrbitalPeriod(body): """ if isinstance(body, Body) and (0 <= body.value < len(_PlanetOrbitalPeriod)): return _PlanetOrbitalPeriod[body.value] - raise InvalidBodyError() + raise InvalidBodyError(body) def _SynodicPeriod(body): if body == Body.Earth: raise EarthNotAllowedError() if body.value < 0 or body.value >= len(_PlanetOrbitalPeriod): - raise InvalidBodyError() + raise InvalidBodyError(body) if body == Body.Moon: return _MEAN_SYNODIC_MONTH return abs(_EARTH_ORBITAL_PERIOD / (_EARTH_ORBITAL_PERIOD/_PlanetOrbitalPeriod[body.value] - 1.0)) @@ -2411,7 +2411,7 @@ def HelioVector(body, time): if body == Body.SSB: return _CalcSolarSystemBarycenter(time) - raise InvalidBodyError() + raise InvalidBodyError(body) def HelioDistance(body, time): @@ -2740,7 +2740,7 @@ def BaryState(body, time): time ) - raise InvalidBodyError() + raise InvalidBodyError(body) def HelioState(body, time): @@ -2809,7 +2809,7 @@ def HelioState(body, time): time ) - raise InvalidBodyError() + raise InvalidBodyError(body) def Equator(body, time, observer, ofdate, aberration): @@ -3455,7 +3455,7 @@ def EclipticLongitude(body, time): An angular value in degrees indicating the ecliptic longitude of the body. """ if body == Body.Sun: - raise InvalidBodyError() + raise InvalidBodyError(body) hv = HelioVector(body, time) eclip = Ecliptic(hv) return eclip.elon @@ -3673,7 +3673,7 @@ def SearchRelativeLongitude(body, targetRelLon, startTime): if body == Body.Earth: raise EarthNotAllowedError() if body in (Body.Moon, Body.Sun): - raise InvalidBodyError() + raise InvalidBodyError(body) syn = _SynodicPeriod(body) direction = +1 if _IsSuperiorPlanet(body) else -1 # Iterate until we converge on the desired event. @@ -3745,7 +3745,7 @@ def SearchMaxElongation(body, startTime): s1 = 40.0 s2 = 50.0 else: - raise InvalidBodyError() + raise InvalidBodyError(body) syn = _SynodicPeriod(body) iter_count = 1 while iter_count <= 2: @@ -4143,7 +4143,7 @@ def _VisualMagnitude(body, phase, helio_dist, geo_dist): elif body == Body.Pluto: c0 = -1.00; c1 = +4.00 else: - raise InvalidBodyError() + raise InvalidBodyError(body) x = phase / 100.0 mag = c0 + x*(c1 + x*(c2 + x*c3)) @@ -4256,7 +4256,7 @@ def SearchPeakMagnitude(body, startTime): s1 = 10.0 s2 = 30.0 if body != Body.Venus: - raise InvalidBodyError() + raise InvalidBodyError(body) iter_count = 1 while iter_count <= 2: @@ -4486,10 +4486,14 @@ def _altdiff(context, time): def _MaxAltitudeSlope(body, latitude): # Calculate the maximum possible rate that this body's altitude # could change [degrees/day] as seen by this observer. - # First use experimentally determined extreme bounds by body - # of how much topocentric RA and DEC can change per rate of time. + # First use experimentally determined extreme bounds for this body + # of how much topocentric RA and DEC can ever change per rate of time. # We need minimum possible d(RA)/dt, and maximum possible magnitude of d(DEC)/dt. # Conservatively, we round d(RA)/dt down, d(DEC)/dt up. + # Then calculate the resulting maximum possible altitude change rate. + + if not (-90.0 <= latitude <= +90.0): + raise Error('Invalid geographic latitude: {}'.format(latitude)) if body == Body.Moon: deriv_ra = +4.5 @@ -4512,7 +4516,7 @@ def _MaxAltitudeSlope(body, latitude): elif body == Body.Earth: raise EarthNotAllowedError() else: - raise InvalidBodyError() + raise InvalidBodyError(body) latrad = math.radians(latitude) return abs(((360.0 / _SOLAR_DAYS_PER_SIDEREAL_DAY) - deriv_ra)*math.cos(latrad)) + abs(deriv_dec*math.sin(latrad)) @@ -4576,6 +4580,9 @@ def _FindAscent(depth, context, max_deriv_alt, t1, t2, a1, a2): def _InternalSearchAltitude(body, observer, direction, startTime, limitDays, bodyRadiusAu, targetAltitude): + if not (-90.0 <= targetAltitude <= +90.0): + raise Error('Invalid target altitude angle: {}'.format(targetAltitude)) + RISE_SET_DT = 0.42 # 10.08 hours: Nyquist-safe for 22-hour period. max_deriv_alt = _MaxAltitudeSlope(body, observer.latitude) context = _altitude_context(body, direction, observer, bodyRadiusAu, targetAltitude) @@ -4732,8 +4739,6 @@ def SearchAltitude(body, observer, direction, startTime, limitDays, altitude): If the altitude event time is found within the specified time window, this function returns that time. Otherwise, it returns `None`. """ - if not (-90.0 <= altitude <= +90.0): - raise Error('Invalid altitude: {}'.format(altitude)) return _InternalSearchAltitude(body, observer, direction, startTime, limitDays, 0.0, altitude) class SeasonInfo: @@ -6932,7 +6937,7 @@ def SearchTransit(body, startTime): elif body == Body.Venus: planet_radius_km = 6051.8 else: - raise InvalidBodyError() + raise InvalidBodyError(body) search_time = startTime while True: @@ -7514,7 +7519,7 @@ def RotationAxis(body, time): w = 302.695 + 56.3625225*d else: - raise InvalidBodyError() + raise InvalidBodyError(body) # Calculate the north pole vector using the given angles. radlat = math.radians(dec) diff --git a/generate/template/astronomy.ts b/generate/template/astronomy.ts index fff942d3..5170f99c 100644 --- a/generate/template/astronomy.ts +++ b/generate/template/astronomy.ts @@ -4475,10 +4475,14 @@ function FindAscent( function MaxAltitudeSlope(body: Body, latitude: number): number { // Calculate the maximum possible rate that this body's altitude // could change [degrees/day] as seen by this observer. - // First use experimentally determined extreme bounds by body - // of how much topocentric RA and DEC can change per rate of time. + // First use experimentally determined extreme bounds for this body + // of how much topocentric RA and DEC can ever change per rate of time. // We need minimum possible d(RA)/dt, and maximum possible magnitude of d(DEC)/dt. // Conservatively, we round d(RA)/dt down, d(DEC)/dt up. + // Then calculate the resulting maximum possible altitude change rate. + + if (latitude < -90 || latitude > +90) + throw `Invalid geographic latitude: ${latitude}`; let deriv_ra : number; let deriv_dec : number; @@ -4539,6 +4543,11 @@ function InternalSearchAltitude( { VerifyObserver(observer); VerifyNumber(limitDays); + VerifyNumber(bodyRadiusAu); + VerifyNumber(targetAltitude); + + if (targetAltitude < -90 || targetAltitude > +90) + throw `Invalid target altitude angle: ${targetAltitude}`; const RISE_SET_DT = 0.42; // 10.08 hours: Nyquist-safe for 22-hour period. const max_deriv_alt = MaxAltitudeSlope(body, observer.latitude); diff --git a/source/c/astronomy.c b/source/c/astronomy.c index 5831c1f8..d04a911c 100644 --- a/source/c/astronomy.c +++ b/source/c/astronomy.c @@ -7635,14 +7635,6 @@ typedef struct } context_altitude_t; -#define ALTDIFF(altitude, time, context) \ - do { \ - astro_func_result_t altdiff_result = altitude_diff(context, time); \ - if (altdiff_result.status != ASTRO_SUCCESS) \ - return SearchError(altdiff_result.status); \ - altitude = altdiff_result.value; \ - } while (0) - static const double RISE_SET_DT = 0.42; /* 10.08 hours: Nyquist-safe for 22-hour period. */ typedef struct @@ -7795,29 +7787,26 @@ static ascent_t FindAscent( } -static astro_search_result_t InternalSearchAltitude( - astro_body_t body, - astro_observer_t observer, - astro_direction_t direction, - astro_time_t startTime, - double limitDays, - double bodyRadiusAu, - double targetAltitude) +static astro_func_result_t MaxAltitudeSlope(astro_body_t body, double latitude) { - astro_search_result_t result; - context_altitude_t context; - ascent_t ascent; - astro_time_t t1, t2; - double a1 = 0.0, a2 = 0.0; - double deriv_ra, deriv_dec, max_deriv_alt, latrad; + astro_func_result_t result; + double deriv_ra, deriv_dec, latrad; + + if (!isfinite(latitude) || latitude < -90.0 || latitude > +90.0) + { + result.value = NAN; + result.status = ASTRO_INVALID_PARAMETER; + return result; + } /* Calculate the maximum possible rate that this body's altitude could change [degrees/day] as seen by this observer. - First use experimentally determined extreme bounds by body - of how much topocentric RA and DEC can change per rate of time. + First use experimentally determined extreme bounds for this body + of how much topocentric RA and DEC can ever change per rate of time. We need minimum possible d(RA)/dt, and maximum possible magnitude of d(DEC)/dt. Conservatively, we round d(RA)/dt down, d(DEC)/dt up. + Then calculate the resulting maximum possible altitude change rate. */ switch (body) { @@ -7856,14 +7845,46 @@ static astro_search_result_t InternalSearchAltitude( break; case BODY_EARTH: - return SearchError(ASTRO_EARTH_NOT_ALLOWED); + result.value = NAN; + result.status = ASTRO_EARTH_NOT_ALLOWED; + return result; default: - return SearchError(ASTRO_INVALID_BODY); + result.value = NAN; + result.status = ASTRO_INVALID_BODY; + return result; } - latrad = DEG2RAD * observer.latitude; - max_deriv_alt = fabs(((360.0 / SOLAR_DAYS_PER_SIDEREAL_DAY) - deriv_ra)*cos(latrad)) + fabs(deriv_dec*sin(latrad)); + latrad = DEG2RAD * latitude; + result.value = fabs(((360.0 / SOLAR_DAYS_PER_SIDEREAL_DAY) - deriv_ra)*cos(latrad)) + fabs(deriv_dec*sin(latrad)); + result.status = isfinite(result.value) ? ASTRO_SUCCESS : ASTRO_INTERNAL_ERROR; + return result; +} + + +static astro_search_result_t InternalSearchAltitude( + astro_body_t body, + astro_observer_t observer, + astro_direction_t direction, + astro_time_t startTime, + double limitDays, + double bodyRadiusAu, + double targetAltitude) +{ + astro_search_result_t search_result; + astro_func_result_t func_result; + context_altitude_t context; + ascent_t ascent; + astro_time_t t1, t2; + double a1, a2, max_deriv_alt; + + if (!isfinite(targetAltitude) || targetAltitude < -90.0 || targetAltitude > +90.0) + return SearchError(ASTRO_INVALID_PARAMETER); + + func_result = MaxAltitudeSlope(body, observer.latitude); + if (func_result.status != ASTRO_SUCCESS) + return SearchError(ASTRO_SUCCESS); + max_deriv_alt = func_result.value; context.body = body; context.direction = (int)direction; @@ -7874,20 +7895,28 @@ static astro_search_result_t InternalSearchAltitude( /* We allow searching forward or backward in time. */ /* But we want to keep t1 < t2, so we need a few if/else statements. */ t1 = t2 = startTime; - ALTDIFF(a2, t2, &context); - a1 = a2; + func_result = altitude_diff(&context, t2); + if (func_result.status != ASTRO_SUCCESS) + return SearchError(func_result.status); + a1 = a2 = func_result.value; for(;;) { if (limitDays < 0.0) { t1 = Astronomy_AddDays(t2, -RISE_SET_DT); - ALTDIFF(a1, t1, &context); + func_result = altitude_diff(&context, t1); + if (func_result.status != ASTRO_SUCCESS) + return SearchError(func_result.status); + a1 = func_result.value; } else { t2 = Astronomy_AddDays(t1, +RISE_SET_DT); - ALTDIFF(a2, t2, &context); + func_result = altitude_diff(&context, t2); + if (func_result.status != ASTRO_SUCCESS) + return SearchError(func_result.status); + a2 = func_result.value; } ascent = FindAscent(0, &context, max_deriv_alt, t1, t2, a1, a2); @@ -7896,24 +7925,24 @@ static astro_search_result_t InternalSearchAltitude( /* We found a time interval [t1, t2] that contains an alt-diff */ /* rising from negative a1 to non-negative a2. */ /* Search for the time where the root occurs. */ - result = Astronomy_Search(altitude_diff, &context, ascent.tx, ascent.ty, 0.1); - if (result.status == ASTRO_SUCCESS) + search_result = Astronomy_Search(altitude_diff, &context, ascent.tx, ascent.ty, 0.1); + if (search_result.status == ASTRO_SUCCESS) { /* Now that we have a solution, we have to check whether it goes outside the time bounds. */ if (limitDays < 0.0) { - if (result.time.ut < startTime.ut + limitDays) + if (search_result.time.ut < startTime.ut + limitDays) return SearchError(ASTRO_SEARCH_FAILURE); } else { - if (result.time.ut > startTime.ut + limitDays) + if (search_result.time.ut > startTime.ut + limitDays) return SearchError(ASTRO_SEARCH_FAILURE); } - return result; /* success! */ + return search_result; /* success! */ } - /* The search should have succeeded. Something is wrong with the ascent finder! */ + /* The search should have succeeded. Something is wrong with FindAscent! */ return SearchError(ASTRO_INTERNAL_ERROR); } else if (ascent.status == ASTRO_SEARCH_FAILURE) @@ -8003,10 +8032,6 @@ astro_search_result_t Astronomy_SearchRiseSet( double limitDays) { double body_radius_au; - - if (body == BODY_EARTH) - return SearchError(ASTRO_EARTH_NOT_ALLOWED); - switch (body) { case BODY_SUN: body_radius_au = SUN_RADIUS_AU; break; diff --git a/source/csharp/astronomy.cs b/source/csharp/astronomy.cs index cd44d403..13f66dcb 100644 --- a/source/csharp/astronomy.cs +++ b/source/csharp/astronomy.cs @@ -7064,10 +7064,11 @@ private static double MaxAltitudeSlope(Body body, double latitude) { // Calculate the maximum possible rate that this body's altitude // could change [degrees/day] as seen by this observer. - // First use experimentally determined extreme bounds by body - // of how much topocentric RA and DEC can change per rate of time. + // First use experimentally determined extreme bounds for this body + // of how much topocentric RA and DEC can ever change per rate of time. // We need minimum possible d(RA)/dt, and maximum possible magnitude of d(DEC)/dt. // Conservatively, we round d(RA)/dt down, d(DEC)/dt up. + // Then calculate the resulting maximum possible altitude change rate. double deriv_ra; double deriv_dec; diff --git a/source/js/astronomy.browser.js b/source/js/astronomy.browser.js index c84d1975..f8d35ed4 100644 --- a/source/js/astronomy.browser.js +++ b/source/js/astronomy.browser.js @@ -4924,10 +4924,13 @@ function FindAscent(depth, altdiff, max_deriv_alt, t1, t2, a1, a2) { function MaxAltitudeSlope(body, latitude) { // Calculate the maximum possible rate that this body's altitude // could change [degrees/day] as seen by this observer. - // First use experimentally determined extreme bounds by body - // of how much topocentric RA and DEC can change per rate of time. + // First use experimentally determined extreme bounds for this body + // of how much topocentric RA and DEC can ever change per rate of time. // We need minimum possible d(RA)/dt, and maximum possible magnitude of d(DEC)/dt. // Conservatively, we round d(RA)/dt down, d(DEC)/dt up. + // Then calculate the resulting maximum possible altitude change rate. + if (latitude < -90 || latitude > +90) + throw `Invalid geographic latitude: ${latitude}`; let deriv_ra; let deriv_dec; switch (body) { @@ -4968,6 +4971,10 @@ function MaxAltitudeSlope(body, latitude) { function InternalSearchAltitude(body, observer, direction, dateStart, limitDays, bodyRadiusAu, targetAltitude) { VerifyObserver(observer); VerifyNumber(limitDays); + VerifyNumber(bodyRadiusAu); + VerifyNumber(targetAltitude); + if (targetAltitude < -90 || targetAltitude > +90) + throw `Invalid target altitude angle: ${targetAltitude}`; const RISE_SET_DT = 0.42; // 10.08 hours: Nyquist-safe for 22-hour period. const max_deriv_alt = MaxAltitudeSlope(body, observer.latitude); function altdiff(time) { diff --git a/source/js/astronomy.browser.min.js b/source/js/astronomy.browser.min.js index bc6e1fdb..f9de6d33 100644 --- a/source/js/astronomy.browser.min.js +++ b/source/js/astronomy.browser.min.js @@ -31,29 +31,29 @@ var $jscomp=$jscomp||{};$jscomp.scope={};$jscomp.createTemplateTagFirstArg=funct $jscomp.arrayFromIterator=function(r){for(var t,e=[];!(t=r.next()).done;)e.push(t.value);return e};$jscomp.arrayFromIterable=function(r){return r instanceof Array?r:$jscomp.arrayFromIterator($jscomp.makeIterator(r))};$jscomp.ASSUME_ES5=!1;$jscomp.ASSUME_NO_NATIVE_MAP=!1;$jscomp.ASSUME_NO_NATIVE_SET=!1;$jscomp.SIMPLE_FROUND_POLYFILL=!1;$jscomp.ISOLATE_POLYFILLS=!1;$jscomp.FORCE_POLYFILL_PROMISE=!1;$jscomp.FORCE_POLYFILL_PROMISE_WHEN_NO_UNHANDLED_REJECTION=!1; $jscomp.objectCreate=$jscomp.ASSUME_ES5||"function"==typeof Object.create?Object.create:function(r){var t=function(){};t.prototype=r;return new t};$jscomp.defineProperty=$jscomp.ASSUME_ES5||"function"==typeof Object.defineProperties?Object.defineProperty:function(r,t,e){if(r==Array.prototype||r==Object.prototype)return r;r[t]=e.value;return r}; $jscomp.getGlobal=function(r){r=["object"==typeof globalThis&&globalThis,r,"object"==typeof window&&window,"object"==typeof self&&self,"object"==typeof global&&global];for(var t=0;targuments.length)return arguments.length?Math.abs(arguments[0]):0;var e,z,x;for(e=x=0;ex){if(!x)return x;for(e=z=0;earguments.length)return arguments.length?Math.abs(arguments[0]):0;var e,A,x;for(e=x=0;ex){if(!x)return x;for(e=A=0;et?-e:e}},"es6","es3"); -(function(r){"object"===typeof exports&&"undefined"!==typeof module?module.exports=r():"function"===typeof define&&define.amd?define([],r):("undefined"!==typeof window?window:"undefined"!==typeof global?global:"undefined"!==typeof self?self:this).Astronomy=r()})(function(){return function(){function r(t,e,z){function x(N,R){if(!e[N]){if(!t[N]){var Fa="function"==typeof require&&require;if(!R&&Fa)return Fa(N,!0);if(A)return A(N,!0);R=Error("Cannot find module '"+N+"'");throw R.code="MODULE_NOT_FOUND", -R;}R=e[N]={exports:{}};t[N][0].call(R.exports,function(v){return x(t[N][1][v]||v)},R,R.exports,r,t,e,z)}return e[N].exports}for(var A="function"==typeof require&&require,Q=0;QMath.abs(c))throw"AngleBetween: first vector is too short.";var d=b.x*b.x+b.y*b.y+b.z*b.z;if(1E-8>Math.abs(d))throw"AngleBetween: second vector is too short.";a=(a.x*b.x+a.y*b.y+a.z*b.z)/Math.sqrt(c*d);return-1>=a?180:1<=a?0:e.RAD2DEG*Math.acos(a)}function R(a){var b=2E3+(a-14)/365.24217;if(-500>b)return a=(b-1820)/100,-20+32*a*a;if(500>b){a=b/100;b=a*a;var c=a*b;return 10583.6-1014.41*a+33.78311*b-5.952053*c-.1798452*b*b+.022174192* b*c+.0090316521*c*c}if(1600>b)return a=(b-1E3)/100,b=a*a,c=a*b,1574.2-556.01*a+71.23472*b+.319781*c-.8503463*b*b-.005050998*b*c+.0083572073*c*c;if(1700>b)return a=b-1600,b=a*a,120-.9808*a-.01532*b+a*b/7129;if(1800>b)return a=b-1700,b=a*a,8.83+.1603*a-.0059285*b+1.3336E-4*a*b-b*b/1174E3;if(1860>b){a=b-1800;b=a*a;c=a*b;var d=b*b;return 13.72-.332447*a+.0068612*b+.0041116*c-3.7436E-4*d+1.21272E-5*b*c-1.699E-7*c*c+8.75E-10*c*d}if(1900>b)return a=b-1860,b=a*a,c=a*b,7.62+.5737*a-.251754*b+.01680668*c-4.473624E-4* b*b+b*c/233174;if(1920>b)return a=b-1900,b=a*a,-2.79+1.494119*a-.0598939*b+.0061966*a*b-1.97E-4*b*b;if(1941>b)return a=b-1920,b=a*a,21.2+.84493*a-.0761*b+.0020936*a*b;if(1961>b)return a=b-1950,b=a*a,29.07+.407*a-b/233+a*b/2547;if(1986>b)return a=b-1975,b=a*a,45.45+1.067*a-b/260-a*b/718;if(2005>b)return a=b-2E3,b=a*a,c=a*b,63.86+.3345*a-.060374*b+.0017275*c+6.51814E-4*b*b+2.373599E-5*b*c;if(2050>b)return a=b-2E3,62.92+.32217*a+.005589*a*a;if(2150>b)return a=(b-1820)/100,-20+32*a*a-.5628*(2150-b);a= (b-1820)/100;return-20+32*a*a}function Fa(a){return a+Vb(a)/86400}function v(a){return a instanceof O?a:new O(a)}function Wb(a){a=a.tt/36525;return(((((-4.34E-8*a-5.76E-7)*a+.0020034)*a-1.831E-4)*a-46.836769)*a+84381.406)/3600}function Wa(a){var b;if(!Xa||1E-6=F;++F)0!==D[F]&&g(K.x,K.y,c(y,D[F],F),c(w,D[F],F), -function(pa,qa){return K.x=pa,K.y=qa});return K}function k(D,F,P,da,K,pa,qa,qb){K=l(K,pa,qa,qb);q+=D*K.y;u+=F*K.y;Ya+=P*K.x;ra+=da*K.x}++e.CalcMoonCount;a=a.tt/36525;var m,p,q,u,y=b(-6,6,1,4),w=b(-6,6,1,4);var B=a*a;var Ya=u=q=0;var ra=3422.7;var ha=h(.19833+.05611*a);var ea=h(.27869+.04508*a);var V=h(.16827-.36903*a);var aa=h(.34734-5.37261*a);var Ga=h(.10498-5.37899*a);var Za=h(.42681-.41855*a),id=h(.14943-5.37511*a);var $a=.84*ha+.31*ea+14.27*V+7.26*aa+.28*Ga+.24*Za;var sb=2.94*ha+.31*ea+14.27* +F-D;++pa){var qa=K,qb=qa.push,rb,Yb=P,hd=da,Zb=[];for(rb=0;rb<=hd-Yb;++rb)Zb.push(0);qb.call(qa,{min:Yb,array:Zb})}return{min:D,array:K}}function c(D,F,P){D=D.array[F-D.min];return D.array[P-D.min]}function d(D,F,P){D=z.array[D-z.min];D.array[F-D.min]=P}function f(D,F,P){D=w.array[D-w.min];D.array[F-D.min]=P}function g(D,F,P,da,K){K(D*P-F*da,F*P+D*da)}function h(D){return Math.sin(S*D)}function l(D,F,P,da){var K={x:1,y:0};D=[0,D,F,P,da];for(F=1;4>=F;++F)0!==D[F]&&g(K.x,K.y,c(z,D[F],F),c(w,D[F],F), +function(pa,qa){return K.x=pa,K.y=qa});return K}function k(D,F,P,da,K,pa,qa,qb){K=l(K,pa,qa,qb);q+=D*K.y;u+=F*K.y;Ya+=P*K.x;ra+=da*K.x}++e.CalcMoonCount;a=a.tt/36525;var m,p,q,u,z=b(-6,6,1,4),w=b(-6,6,1,4);var B=a*a;var Ya=u=q=0;var ra=3422.7;var ha=h(.19833+.05611*a);var ea=h(.27869+.04508*a);var V=h(.16827-.36903*a);var aa=h(.34734-5.37261*a);var Ga=h(.10498-5.37899*a);var Za=h(.42681-.41855*a),id=h(.14943-5.37511*a);var $a=.84*ha+.31*ea+14.27*V+7.26*aa+.28*Ga+.24*Za;var sb=2.94*ha+.31*ea+14.27* V+9.34*aa+1.12*Ga+.83*Za;var ab=-6.4*ha-1.89*Za;ea=.21*ha+.31*ea+14.27*V-88.7*aa-15.3*Ga+.24*Za-1.86*id;V=$a-ab;ha=-3.332E-6*h(.59734-5.37261*a)-5.39E-7*h(.35498-5.37899*a)-6.4E-8*h(.39943-5.37511*a);$a=S*Q(.60643382+1336.85522467*a-3.13E-6*B)+$a/fa;sb=S*Q(.37489701+1325.55240982*a+2.565E-5*B)+sb/fa;ab=S*Q(.99312619+99.99735956*a-4.4E-7*B)+ab/fa;ea=S*Q(.25909118+1342.2278298*a-8.92E-6*B)+ea/fa;Ga=S*Q(.82736186+1236.85308708*a-3.97E-6*B)+V/fa;for(m=1;4>=m;++m){switch(m){case 1:V=sb;B=4;aa=1.000002208; -break;case 2:V=ab;B=3;aa=.997504612-.002495388*a;break;case 3:V=ea;B=4;aa=1.000002708+139.978*ha;break;case 4:V=Ga;B=6;aa=1;break;default:throw"Internal error: I = "+m;}d(0,m,1);d(1,m,Math.cos(V)*aa);f(0,m,0);f(1,m,Math.sin(V)*aa);for(p=2;p<=B;++p)g(c(y,p-1,m),c(w,p-1,m),c(y,1,m),c(w,1,m),function(D,F){return d(p,m,D),f(p,m,F)});for(p=1;p<=B;++p)d(-p,m,c(y,p,m)),f(-p,m,-c(w,p,m))}k(13.902,14.06,-.001,.2607,0,0,0,4);k(.403,-4.01,.394,.0023,0,0,0,3);k(2369.912,2373.36,.601,28.2333,0,0,0,2);k(-125.154, +break;case 2:V=ab;B=3;aa=.997504612-.002495388*a;break;case 3:V=ea;B=4;aa=1.000002708+139.978*ha;break;case 4:V=Ga;B=6;aa=1;break;default:throw"Internal error: I = "+m;}d(0,m,1);d(1,m,Math.cos(V)*aa);f(0,m,0);f(1,m,Math.sin(V)*aa);for(p=2;p<=B;++p)g(c(z,p-1,m),c(w,p-1,m),c(z,1,m),c(w,1,m),function(D,F){return d(p,m,D),f(p,m,F)});for(p=1;p<=B;++p)d(-p,m,c(z,p,m)),f(-p,m,-c(w,p,m))}k(13.902,14.06,-.001,.2607,0,0,0,4);k(.403,-4.01,.394,.0023,0,0,0,3);k(2369.912,2373.36,.601,28.2333,0,0,0,2);k(-125.154, -112.79,-.725,-.9781,0,0,0,1);k(1.979,6.98,-.445,.0433,1,0,0,4);k(191.953,192.72,.029,3.0861,1,0,0,2);k(-8.466,-13.51,.455,-.1093,1,0,0,1);k(22639.5,22609.07,.079,186.5398,1,0,0,0);k(18.609,3.59,-.094,.0118,1,0,0,-1);k(-4586.465,-4578.13,-.077,34.3117,1,0,0,-2);k(3.215,5.44,.192,-.0386,1,0,0,-3);k(-38.428,-38.64,.001,.6008,1,0,0,-4);k(-.393,-1.43,-.092,.0086,1,0,0,-6);k(-.289,-1.59,.123,-.0053,0,1,0,4);k(-24.42,-25.1,.04,-.3,0,1,0,2);k(18.023,17.93,.007,.1494,0,1,0,1);k(-668.146,-126.98,-1.302,-.3997, 0,1,0,0);k(.56,.32,-.001,-.0037,0,1,0,-1);k(-165.145,-165.06,.054,1.9178,0,1,0,-2);k(-1.877,-6.46,-.416,.0339,0,1,0,-4);k(.213,1.02,-.074,.0054,2,0,0,4);k(14.387,14.78,-.017,.2833,2,0,0,2);k(-.586,-1.2,.054,-.01,2,0,0,1);k(769.016,767.96,.107,10.1657,2,0,0,0);k(1.75,2.01,-.018,.0155,2,0,0,-1);k(-211.656,-152.53,5.679,-.3039,2,0,0,-2);k(1.225,.91,-.03,-.0088,2,0,0,-3);k(-30.773,-34.07,-.308,.3722,2,0,0,-4);k(-.57,-1.4,-.074,.0109,2,0,0,-6);k(-2.921,-11.75,.787,-.0484,1,1,0,2);k(1.267,1.52,-.022,.0164, 1,1,0,1);k(-109.673,-115.18,.461,-.949,1,1,0,0);k(-205.962,-182.36,2.056,1.4437,1,1,0,-2);k(.233,.36,.012,-.0025,1,1,0,-3);k(-4.391,-9.66,-.471,.0673,1,1,0,-4);k(.283,1.53,-.111,.006,1,-1,0,4);k(14.577,31.7,-1.54,.2302,1,-1,0,2);k(147.687,138.76,.679,1.1528,1,-1,0,0);k(-1.089,.55,.021,0,1,-1,0,-1);k(28.475,23.59,-.443,-.2257,1,-1,0,-2);k(-.276,-.38,-.006,-.0036,1,-1,0,-3);k(.636,2.27,.146,-.0102,1,-1,0,-4);k(-.189,-1.68,.131,-.0028,0,2,0,2);k(-7.486,-.66,-.037,-.0086,0,2,0,0);k(-8.096,-16.35,-.74, @@ -63,13 +63,13 @@ break;case 2:V=ab;B=3;aa=.997504612-.002495388*a;break;case 3:V=ea;B=4;aa=1.0000 k(-.297,-.27,.002,-9E-4,2,2,0,-2);k(.254,.21,-.003,0,2,-2,0,-2);k(-.25,-.22,.004,.0014,1,3,0,-2);k(-3.996,0,0,4E-4,2,0,2,0);k(.557,-.75,0,-.009,2,0,2,-2);k(-.459,-.38,0,-.0053,2,0,-2,2);k(-1.298,.74,0,4E-4,2,0,-2,0);k(.538,1.14,0,-.0141,2,0,-2,-2);k(.263,.02,0,0,1,1,2,0);k(.426,.07,0,-6E-4,1,1,-2,-2);k(-.304,.03,0,3E-4,1,-1,2,0);k(-.372,-.19,0,-.0027,1,-1,-2,2);k(.418,0,0,0,0,0,4,0);k(-.33,-.04,0,0,3,0,2,0);B=-526.069*l(0,0,1,-2).y;B+=-3.352*l(0,0,1,-4).y;B+=44.297*l(1,0,1,-2).y;B+=-6*l(1,0,1,-4).y; B+=20.599*l(-1,0,1,0).y;B+=-30.598*l(-1,0,1,-2).y;B+=-24.649*l(-2,0,1,0).y;B+=-2*l(-2,0,1,-2).y;B+=-22.571*l(0,1,1,-2).y;B+=10.985*l(0,-1,1,-2).y;q+=.82*h(.7736-62.5512*a)+.31*h(.0466-125.1025*a)+.35*h(.5785-25.1042*a)+.66*h(.4591+1335.8075*a)+.64*h(.313-91.568*a)+1.14*h(.148+1331.2898*a)+.21*h(.5918+1056.5859*a)+.44*h(.5784+1322.8595*a)+.24*h(.2275-5.7374*a)+.28*h(.2965+2.6929*a)+.33*h(.3132+6.3368*a);a=ea+u/fa;a=(1.000002708+139.978*ha)*(18518.511+1.189+Ya)*Math.sin(a)-6.24*Math.sin(3*a)+B;return{geo_eclip_lon:S* Q(($a+q/fa)/S),geo_eclip_lat:Math.PI/648E3*a,distance_au:fa*jd/(.999953253*ra)}}function $b(a,b){return[a.rot[0][0]*b[0]+a.rot[1][0]*b[1]+a.rot[2][0]*b[2],a.rot[0][1]*b[0]+a.rot[1][1]*b[1]+a.rot[2][1]*b[2],a.rot[0][2]*b[0]+a.rot[1][2]*b[1]+a.rot[2][2]*b[2]]}function Ha(a,b,c){b=Ia(b,c);return $b(b,a)}function Ia(a,b){a=a.tt/36525;var c=84381.406,d=((((3.337E-7*a-4.67E-7)*a-.00772503)*a+.0512623)*a-.025754)*a+c;c*=4.84813681109536E-6;var f=((((-9.51E-8*a+1.32851E-4)*a-.00114045)*a-1.0790069)*a+5038.481507)* -a*4.84813681109536E-6;d*=4.84813681109536E-6;var g=((((-5.6E-8*a+1.70663E-4)*a-.00121197)*a-2.3814292)*a+10.556403)*a*4.84813681109536E-6;a=Math.sin(c);c=Math.cos(c);var h=Math.sin(-f);f=Math.cos(-f);var l=Math.sin(-d);d=Math.cos(-d);var k=Math.sin(g),m=Math.cos(g);g=m*f-h*k*d;var p=m*h*c+k*d*f*c-a*k*l,q=m*h*a+k*d*f*a+c*k*l,u=-k*f-h*m*d,y=-k*h*c+m*d*f*c-a*m*l;k=-k*h*a+m*d*f*a+c*m*l;h*=l;m=-l*f*c-a*d;a=-l*f*a+d*c;if(b===G.Into2000)return new L([[g,p,q],[u,y,k],[h,m,a]]);if(b===G.From2000)return new L([[g, -u,h],[p,y,m],[q,k,a]]);throw"Invalid precess direction";}function ba(a){if(!bb||bb.tt!==a.tt){var b=a.tt/36525,c=15*Wa(a).ee,d=(.779057273264+.00273781191135448*a.ut+a.ut%1)%1*360;0>d&&(d+=360);b=((c+.014506+((((-3.68E-8*b-2.9956E-5)*b-4.4E-7)*b+1.3915817)*b+4612.156534)*b)/3600+d)%360/15;0>b&&(b+=24);bb={tt:a.tt,st:b}}return bb.st}function tb(a,b){var c=a.latitude*e.DEG2RAD,d=Math.sin(c);c=Math.cos(c);var f=1/Math.hypot(c,.996647180302104*d),g=a.height/1E3,h=6378.1366*f+g;b=(15*b+a.longitude)*e.DEG2RAD; +a*4.84813681109536E-6;d*=4.84813681109536E-6;var g=((((-5.6E-8*a+1.70663E-4)*a-.00121197)*a-2.3814292)*a+10.556403)*a*4.84813681109536E-6;a=Math.sin(c);c=Math.cos(c);var h=Math.sin(-f);f=Math.cos(-f);var l=Math.sin(-d);d=Math.cos(-d);var k=Math.sin(g),m=Math.cos(g);g=m*f-h*k*d;var p=m*h*c+k*d*f*c-a*k*l,q=m*h*a+k*d*f*a+c*k*l,u=-k*f-h*m*d,z=-k*h*c+m*d*f*c-a*m*l;k=-k*h*a+m*d*f*a+c*m*l;h*=l;m=-l*f*c-a*d;a=-l*f*a+d*c;if(b===G.Into2000)return new L([[g,p,q],[u,z,k],[h,m,a]]);if(b===G.From2000)return new L([[g, +u,h],[p,z,m],[q,k,a]]);throw"Invalid precess direction";}function ba(a){if(!bb||bb.tt!==a.tt){var b=a.tt/36525,c=15*Wa(a).ee,d=(.779057273264+.00273781191135448*a.ut+a.ut%1)%1*360;0>d&&(d+=360);b=((c+.014506+((((-3.68E-8*b-2.9956E-5)*b-4.4E-7)*b+1.3915817)*b+4612.156534)*b)/3600+d)%360/15;0>b&&(b+=24);bb={tt:a.tt,st:b}}return bb.st}function tb(a,b){var c=a.latitude*e.DEG2RAD,d=Math.sin(c);c=Math.cos(c);var f=1/Math.hypot(c,.996647180302104*d),g=a.height/1E3,h=6378.1366*f+g;b=(15*b+a.longitude)*e.DEG2RAD; a=Math.sin(b);b=Math.cos(b);return{pos:[h*c*b/e.KM_PER_AU,h*c*a/e.KM_PER_AU,(6335.438815127603*f+g)*d/e.KM_PER_AU],vel:[-7.292115E-5*h*c*a*86400/e.KM_PER_AU,7.292115E-5*h*c*b*86400/e.KM_PER_AU,0]}}function cb(a,b,c){b=Ja(b,c);return $b(b,a)}function Ja(a,b){a=Wa(a);var c=a.mobl*e.DEG2RAD,d=a.tobl*e.DEG2RAD,f=4.84813681109536E-6*a.dpsi;a=Math.cos(c);c=Math.sin(c);var g=Math.cos(d),h=Math.sin(d);d=Math.cos(f);var l=Math.sin(f);f=-l*a;var k=-l*c,m=l*g,p=d*a*g+c*h,q=d*c*g-a*h;l*=h;var u=d*a*h-c*g;a=d* c*h+a*g;if(b===G.From2000)return new L([[d,m,l],[f,p,u],[k,q,a]]);if(b===G.Into2000)return new L([[d,f,k],[m,p,q],[l,u,a]]);throw"Invalid precess direction";}function db(a,b,c){return c===G.Into2000?Ha(cb(a,b,c),b,c):cb(Ha(a,b,c),b,c)}function ac(a,b){var c=ba(a);b=tb(b,c).pos;return db(b,a,G.Into2000)}function kd(a){if(!(a instanceof Array)||3!==a.length)return!1;for(var b=0;3>b;++b){if(!(a[b]instanceof Array)||3!==a[b].length)return!1;for(var c=0;3>c;++c)if(!Number.isFinite(a[b][c]))return!1}return!0} -function bc(a,b){b=new E(a[0],a[1],a[2],b);var c=b.x*b.x+b.y*b.y,d=Math.sqrt(c+b.z*b.z);if(0===c){if(0===b.z)throw"Indeterminate sky coordinates";return new eb(0,0>b.z?-90:90,d,b)}var f=e.RAD2HOUR*Math.atan2(b.y,b.x);0>f&&(f+=24);return new eb(f,e.RAD2DEG*Math.atan2(a[2],Math.sqrt(c)),d,b)}function sa(a,b){var c=a*e.DEG2RAD;a=Math.cos(c);c=Math.sin(c);return[a*b[0]+c*b[1],a*b[1]-c*b[0],b[2]]}function fb(a,b,c,d,f){a=v(a);ta(b);A(c);A(d);var g=Math.sin(b.latitude*e.DEG2RAD),h=Math.cos(b.latitude*e.DEG2RAD), +function bc(a,b){b=new E(a[0],a[1],a[2],b);var c=b.x*b.x+b.y*b.y,d=Math.sqrt(c+b.z*b.z);if(0===c){if(0===b.z)throw"Indeterminate sky coordinates";return new eb(0,0>b.z?-90:90,d,b)}var f=e.RAD2HOUR*Math.atan2(b.y,b.x);0>f&&(f+=24);return new eb(f,e.RAD2DEG*Math.atan2(a[2],Math.sqrt(c)),d,b)}function sa(a,b){var c=a*e.DEG2RAD;a=Math.cos(c);c=Math.sin(c);return[a*b[0]+c*b[1],a*b[1]-c*b[0],b[2]]}function fb(a,b,c,d,f){a=v(a);ta(b);y(c);y(d);var g=Math.sin(b.latitude*e.DEG2RAD),h=Math.cos(b.latitude*e.DEG2RAD), l=Math.sin(b.longitude*e.DEG2RAD),k=Math.cos(b.longitude*e.DEG2RAD);b=Math.sin(d*e.DEG2RAD);var m=Math.cos(d*e.DEG2RAD),p=Math.sin(c*e.HOUR2RAD),q=Math.cos(c*e.HOUR2RAD),u=[h*k,h*l,g];g=[-g*k,-g*l,h];l=[l,-k,0];h=-15*ba(a);a=sa(h,u);u=sa(h,g);l=sa(h,l);b=[m*q,m*p,b];p=b[0]*a[0]+b[1]*a[1]+b[2]*a[2];m=b[0]*u[0]+b[1]*u[1]+b[2]*u[2];u=b[0]*l[0]+b[1]*l[1]+b[2]*l[2];q=Math.hypot(m,u);0m&&(m+=360)):m=0;p=e.RAD2DEG*Math.atan2(q,p);q=d;if(f&&(d=p,f=Ka(f,90-p),p-=f,0l;++l)f.push((b[l]-d*a[l])/u*c+a[l]*q);q=Math.hypot(f[0],f[1]);0c&&(c+=24)):c=0;q=e.RAD2DEG*Math.atan2(f[2],q)}return new cc(m,90-p,c,q)}function ta(a){if(!(a instanceof ub))throw"Not an instance of the Observer class: "+a;A(a.latitude);A(a.longitude);A(a.height);if(-90>a.latitude||90l;++l)f.push((b[l]-d*a[l])/u*c+a[l]*q);q=Math.hypot(f[0],f[1]);0c&&(c+=24)):c=0;q=e.RAD2DEG*Math.atan2(f[2],q)}return new cc(m,90-p,c,q)}function ta(a){if(!(a instanceof ub))throw"Not an instance of the Observer class: "+a;y(a.latitude);y(a.longitude);y(a.height);if(-90>a.latitude||90b&&(b+=360));g=e.RAD2DEG*Math.atan2(c,g);a=new E(d,f,c,a.t);return new fc(a,g,b)}function La(a){void 0===hb&&(hb=e.DEG2RAD*Wa(v(vb)).mobl,gc=Math.cos(hb),hc=Math.sin(hb));return ec(a,gc,hc)}function Y(a){a=v(a);var b=ca(a),c=b.distance_au*Math.cos(b.geo_eclip_lat);b=[c*Math.cos(b.geo_eclip_lon),c*Math.sin(b.geo_eclip_lon),b.distance_au*Math.sin(b.geo_eclip_lat)];var d=Wb(a)*e.DEG2RAD;c=Math.cos(d);d=Math.sin(d);b=Ha([b[0],b[1]*c-b[2]*d,b[1]*d+b[2]*c],a,G.Into2000); return new E(b[0],b[1],b[2],a)}function ib(a){a=v(a);a=ca(a);return new Ma(a.geo_eclip_lat*e.RAD2DEG,a.geo_eclip_lon*e.RAD2DEG,a.distance_au)}function Na(a){a=v(a);var b=a.AddDays(-1E-5),c=a.AddDays(1E-5);b=Y(b);c=Y(c);return new I((b.x+c.x)/2,(b.y+c.y)/2,(b.z+c.z)/2,(c.x-b.x)/2E-5,(c.y-b.y)/2E-5,(c.z-b.z)/2E-5,a)}function wb(a){a=v(a);var b=Na(a);return new I(b.x/82.30056,b.y/82.30056,b.z/82.30056,b.vx/82.30056,b.vy/82.30056,b.vz/82.30056,a)}function ia(a,b,c){var d=1,f=0;a=$jscomp.makeIterator(a); @@ -81,182 +81,182 @@ $jscomp.makeIterator(a);a=b.next().value;var c=$jscomp.makeIterator(b.next().val return a}function Cb(a,b){var c=a.tt;var d=ja[0][0];if(cja[50][0])c=null;else{c=kc((c-d)/29200,50);if(!Db[c]){d=Db[c]=[];d[0]=Bb(ja[c]).grav;d[200]=Bb(ja[c+1]).grav;var f,g=d[0].tt;for(f=1;200>f;++f)d[f]=Ab(g+=146,d[f-1]).grav;g=d[200].tt;var h=[];h[200]=d[200];for(f=199;0d[1]&&(d[1]+=S);f=$jscomp.makeIterator(b.z);for(g=f.next();!g.done;g=f.next())h=$jscomp.makeIterator(g.value),g=h.next().value,l=h.next().value,h=h.next().value,l+=c*h,d[2]+=g* -Math.cos(l),d[3]+=g*Math.sin(l);f=$jscomp.makeIterator(b.zeta);for(g=f.next();!g.done;g=f.next())h=$jscomp.makeIterator(g.value),g=h.next().value,l=h.next().value,h=h.next().value,l+=c*h,d[4]+=g*Math.cos(l),d[5]+=g*Math.sin(l);f=d[0];h=d[1];g=d[2];l=d[3];c=d[4];d=d[5];var k=Math.sqrt(b.mu/(f*f*f));b=h+g*Math.sin(h)-l*Math.cos(h);do{var m=Math.cos(b);var p=Math.sin(b);m=(h-b+g*p-l*m)/(1-g*m-l*p);b+=m}while(1E-12<=Math.abs(m));m=Math.cos(b);p=Math.sin(b);h=l*m-g*p;var q=-g*m-l*p,u=1/(1+q),y=1/(1+Math.sqrt(1- -g*g-l*l));b=f*(m-g-y*l*h);h=f*(p-l+y*g*h);l=k*u*f*(-p-y*l*q);f=k*u*f*(+m+y*g*q);g=2*Math.sqrt(1-c*c-d*d);k=1-2*d*d;m=1-2*c*c;p=2*d*c;a=new I(b*k+h*p,b*p+h*m,(c*h-b*d)*g,l*k+f*p,l*p+f*m,(c*f-l*d)*g,a);return xa(ld,a)}function ka(a,b){b=v(b);if(a in M)return ua(M[a],b);if(a===n.Pluto)return a=Cb(b,!0),new E(a.x,a.y,a.z,b);if(a===n.Sun)return new E(0,0,0,b);if(a===n.Moon){a=ua(M.Earth,b);var c=Y(b);return new E(a.x+c.x,a.y+c.y,a.z+c.z,b)}if(a===n.EMB)return a=ua(M.Earth,b),c=Y(b),new E(a.x+c.x/82.30056, +Math.cos(l),d[3]+=g*Math.sin(l);f=$jscomp.makeIterator(b.zeta);for(g=f.next();!g.done;g=f.next())h=$jscomp.makeIterator(g.value),g=h.next().value,l=h.next().value,h=h.next().value,l+=c*h,d[4]+=g*Math.cos(l),d[5]+=g*Math.sin(l);f=d[0];h=d[1];g=d[2];l=d[3];c=d[4];d=d[5];var k=Math.sqrt(b.mu/(f*f*f));b=h+g*Math.sin(h)-l*Math.cos(h);do{var m=Math.cos(b);var p=Math.sin(b);m=(h-b+g*p-l*m)/(1-g*m-l*p);b+=m}while(1E-12<=Math.abs(m));m=Math.cos(b);p=Math.sin(b);h=l*m-g*p;var q=-g*m-l*p,u=1/(1+q),z=1/(1+Math.sqrt(1- +g*g-l*l));b=f*(m-g-z*l*h);h=f*(p-l+z*g*h);l=k*u*f*(-p-z*l*q);f=k*u*f*(+m+z*g*q);g=2*Math.sqrt(1-c*c-d*d);k=1-2*d*d;m=1-2*c*c;p=2*d*c;a=new I(b*k+h*p,b*p+h*m,(c*h-b*d)*g,l*k+f*p,l*p+f*m,(c*f-l*d)*g,a);return xa(ld,a)}function ka(a,b){b=v(b);if(a in M)return ua(M[a],b);if(a===n.Pluto)return a=Cb(b,!0),new E(a.x,a.y,a.z,b);if(a===n.Sun)return new E(0,0,0,b);if(a===n.Moon){a=ua(M.Earth,b);var c=Y(b);return new E(a.x+c.x,a.y+c.y,a.z+c.z,b)}if(a===n.EMB)return a=ua(M.Earth,b),c=Y(b),new E(a.x+c.x/82.30056, a.y+c.y/82.30056,a.z+c.z/82.30056,b);if(a===n.SSB)return a=new E(0,0,0,b),jb(a,b,n.Jupiter,2.825345909524226E-7),jb(a,b,n.Saturn,8.459715185680659E-8),jb(a,b,n.Uranus,1.292024916781969E-8),jb(a,b,n.Neptune,1.524358900784276E-8),a;throw'HelioVector: Unknown body "'+a+'"';}function la(a,b){b=v(b);return a in M?ia(M[a][2],b.tt/365250,!1):ka(a,b).Length()}function mc(a,b){for(var c=b,d=0;10>d;++d){var f=a.Position(c),g=b.AddDays(-f.Length()/e.C_AUDAY);c=Math.abs(g.tt-c.tt);if(1E-9>c)return f;c=g}throw"Light-travel time solver did not converge."; }function nc(a,b,c,d){x(d);a=v(a);var f=d?new E(0,0,0,a):ka(b,a);b=new Eb(b,c,d,f);return mc(b,a)}function W(a,b,c){x(c);b=v(b);switch(a){case n.Earth:return new E(0,0,0,b);case n.Moon:return Y(b);default:return a=nc(b,n.Earth,a,c),a.t=b,a}}function ma(a,b){return new I(a.r.x,a.r.y,a.r.z,a.v.x,a.v.y,a.v.z,b)}function Fb(a,b){b=v(b);switch(a){case n.Sun:return new I(0,0,0,0,0,0,b);case n.SSB:return a=new wa(b.tt),new I(-a.Sun.r.x,-a.Sun.r.y,-a.Sun.r.z,-a.Sun.v.x,-a.Sun.v.y,-a.Sun.v.z,b);case n.Mercury:case n.Venus:case n.Earth:case n.Mars:case n.Jupiter:case n.Saturn:case n.Uranus:case n.Neptune:return a= Oa(M[a],b.tt),ma(a,b);case n.Pluto:return Cb(b,!0);case n.Moon:case n.EMB:var c=Oa(M.Earth,b.tt);a=a==n.Moon?Na(b):wb(b);return new I(a.x+c.r.x,a.y+c.r.y,a.z+c.r.z,a.vx+c.v.x,a.vy+c.v.y,a.vz+c.v.z,b);default:throw'HelioState: Unsupported body "'+a+'"';}}function md(a,b,c,d,f){var g=(f+c)/2-d;c=(f-c)/2;if(0==g){if(0==c)return null;d=-d/c;if(-1>d||1=d)return null;f=Math.sqrt(d);d=(-c+f)/(2*g);f=(-c-f)/(2*g);if(-1<=d&&1>=d){if(-1<=f&&1>=f)return null}else if(-1<= -f&&1>=f)d=f;else return null}return{t:a+d*b,df_dt:(2*g*d+c)/b}}function J(a,b,c,d){var f=A(d&&d.dt_tolerance_seconds||1);f=Math.abs(f/86400);var g=d&&d.init_f1||a(b),h=d&&d.init_f2||a(c),l=NaN,k=0;d=d&&d.iter_limit||20;for(var m=!0;;){if(++k>d)throw"Excessive iteration in Search()";var p=new O(b.ut+.5*(c.ut-b.ut)),q=p.ut-b.ut;if(Math.abs(q)(q.ut-b.ut)*(q.ut-c.ut)&&0>(y.ut-b.ut)*(y.ut-c.ut))){u=a(q);var B=a(y);if(0>u&&0<=B){g=u;h=B;b=q;c=y;l=w;m=!1;continue}}}}if(0>g&&0<=l)c=p,h=l;else if(0>l&&0<=h)b=p,g=l;else return null}}function ya(a){for(;-180>=a;)a+=360;for(;180a;)a+=360;for(;360<=a;)a-=360;return a}function oc(a,b,c){A(a);A(c);b=v(b);c=b.AddDays(c);return J(function(d){d=dc(d);return ya(d.elon-a)},b,c,{dt_tolerance_seconds:.01})}function Gb(a, +f&&1>=f)d=f;else return null}return{t:a+d*b,df_dt:(2*g*d+c)/b}}function J(a,b,c,d){var f=y(d&&d.dt_tolerance_seconds||1);f=Math.abs(f/86400);var g=d&&d.init_f1||a(b),h=d&&d.init_f2||a(c),l=NaN,k=0;d=d&&d.iter_limit||20;for(var m=!0;;){if(++k>d)throw"Excessive iteration in Search()";var p=new O(b.ut+.5*(c.ut-b.ut)),q=p.ut-b.ut;if(Math.abs(q)(q.ut-b.ut)*(q.ut-c.ut)&&0>(z.ut-b.ut)*(z.ut-c.ut))){u=a(q);var B=a(z);if(0>u&&0<=B){g=u;h=B;b=q;c=z;l=w;m=!1;continue}}}}if(0>g&&0<=l)c=p,h=l;else if(0>l&&0<=h)b=p,g=l;else return null}}function ya(a){for(;-180>=a;)a+=360;for(;180a;)a+=360;for(;360<=a;)a-=360;return a}function oc(a,b,c){y(a);y(c);b=v(b);c=b.AddDays(c);return J(function(d){d=dc(d);return ya(d.elon-a)},b,c,{dt_tolerance_seconds:.01})}function Gb(a, b,c){if(a===n.Earth||b===n.Earth)throw"The Earth does not have a longitude as seen from itself.";c=v(c);a=W(a,c,!1);a=La(a);b=W(b,c,!1);b=La(b);return za(a.elon-b.elon)}function Aa(a,b){if(a==n.Earth)throw"The Earth does not have an angle as seen from itself.";var c=v(b);b=W(n.Sun,c,!0);a=W(a,c,!0);return N(b,a)}function na(a,b){if(a===n.Sun)throw"Cannot calculate heliocentric longitude of the Sun.";a=ka(a,b);return La(a).elon}function lb(a,b){if(a===n.Earth)throw"The illumination of the Earth is not defined."; var c=v(b),d=ua(M.Earth,c);if(a===n.Sun){var f=new E(-d.x,-d.y,-d.z,c);b=new E(0,0,0,c);d=0}else a===n.Moon?(f=Y(c),b=new E(d.x+f.x,d.y+f.y,d.z+f.z,c)):(b=ka(a,b),f=new E(b.x-d.x,b.y-d.y,b.z-d.z,c)),d=N(f,b);var g=f.Length(),h=b.Length();if(a===n.Sun)var l=nd+5*Math.log10(g);else if(a===n.Moon)a=d*e.DEG2RAD,l=a*a,a=-12.717+1.49*Math.abs(a)+.0431*l*l,l=a+=5*Math.log10(g/(385000.6/e.KM_PER_AU)*h);else if(a===n.Saturn){var k=d;a=La(f);l=28.06*e.DEG2RAD;var m=e.DEG2RAD*a.elat;a=Math.asin(Math.sin(m)* Math.cos(l)-Math.cos(m)*Math.sin(l)*Math.sin(e.DEG2RAD*a.elon-e.DEG2RAD*(169.51+3.82E-5*c.tt)));l=Math.sin(Math.abs(a));k=-9+.044*k+l*(-2.6+1.2*l)+5*Math.log10(h*g);a*=e.RAD2DEG;l=k;k=a}else{var p=m=l=0;switch(a){case n.Mercury:a=-.6;l=4.98;m=-4.88;p=3.02;break;case n.Venus:163.6>d?(a=-4.47,l=1.03,m=.57,p=.13):(a=.98,l=-1.02);break;case n.Mars:a=-1.52;l=1.6;break;case n.Jupiter:a=-9.4;l=.5;break;case n.Uranus:a=-7.19;l=.25;break;case n.Neptune:a=-6.87;break;case n.Pluto:a=-1;l=4;break;default:throw"VisualMagnitude: unsupported body "+ -a;}var q=d/100;l=a+q*(l+q*(m+q*p))+5*Math.log10(h*g)}return new pc(c,l,d,h,g,f,b,k)}function Ra(a){if(a===n.Earth)throw"The Earth does not have a synodic period as seen from itself.";if(a===n.Moon)return 29.530588;var b=Z[a];if(!b)throw"Not a valid planet name: "+a;a=Z.Earth.OrbitalPeriod;return Math.abs(a/(a/b.OrbitalPeriod-1))}function Ba(a,b,c){function d(m){var p=na(a,m);m=na(n.Earth,m);return ya(g*(m-p)-b)}A(b);var f=Z[a];if(!f)throw"Cannot search relative longitude because body is not a planet: "+ +a;}var q=d/100;l=a+q*(l+q*(m+q*p))+5*Math.log10(h*g)}return new pc(c,l,d,h,g,f,b,k)}function Ra(a){if(a===n.Earth)throw"The Earth does not have a synodic period as seen from itself.";if(a===n.Moon)return 29.530588;var b=Z[a];if(!b)throw"Not a valid planet name: "+a;a=Z.Earth.OrbitalPeriod;return Math.abs(a/(a/b.OrbitalPeriod-1))}function Ba(a,b,c){function d(m){var p=na(a,m);m=na(n.Earth,m);return ya(g*(m-p)-b)}y(b);var f=Z[a];if(!f)throw"Cannot search relative longitude because body is not a planet: "+ a;if(a===n.Earth)throw"Cannot search relative longitude for the Earth (it is always 0)";var g=f.OrbitalPeriod>Z.Earth.OrbitalPeriod?1:-1;f=Ra(a);c=v(c);var h=d(c);0l;++l){var k=-h/360*f;c=c.AddDays(k);if(1>86400*Math.abs(k))return c;k=h;h=d(c);30>Math.abs(k)&&k!==h&&(k/=k-h,.5k&&(f*=k))}throw"Relative longitude search failed to converge for "+a+" near "+c.toString()+" (error_angle = "+h+").";}function Hb(a){return Gb(n.Moon,n.Sun,a)}function Sa(a,b,c){function d(l){l= -Hb(l);return ya(l-a)}A(a);A(c);b=v(b);var f=d(b);if(0>c){0>f&&(f+=360);var g=-(29.530588*f)/360;f=g+1.5;if(fc)return null;f=Math.min(c,g+1.5)}c=b.AddDays(h);b=b.AddDays(f);return J(d,c,b,{dt_tolerance_seconds:.1})}function qc(a){var b=Hb(a);b=(Math.floor(b/90)+1)%4;a=Sa(90*b,a,10);if(!a)throw"Cannot find moon quarter";return new rc(b,a)}function Ib(a,b,c,d,f,g,h){if(0>g&&0<=h)return new od(d,f,g,h);if(0<=g&& -0>h)return null;if(1786400*l||Math.min(Math.abs(g),Math.abs(h))>l/2*c)return null;l=new O((d.ut+f.ut)/2);var k=b(l);return Ib(1+a,b,c,d,l,g,k)||Ib(1+a,b,c,l,f,k,h)}function pd(a,b){switch(a){case n.Moon:a=4.5;var c=8.2;break;case n.Sun:a=.8;c=.5;break;case n.Mercury:a=-1.6;c=1;break;case n.Venus:a=-.8;c=.6;break;case n.Mars:a=-.5;c=.4;break;case n.Jupiter:case n.Saturn:case n.Uranus:case n.Neptune:case n.Pluto:a=-.2;c=.2; -break;default:throw"Body not allowed for altitude search: "+a;}b*=e.DEG2RAD;return Math.abs((360.98564540070413-a)*Math.cos(b))+Math.abs(c*Math.sin(b))}function sc(a,b,c,d,f,g,h){function l(w){var B=gb(a,w,b,!0,!0);w=fb(w,b,B.ra,B.dec).altitude+e.RAD2DEG*Math.asin(g/B.dist);return c*(w-h)}ta(b);A(f);for(var k=pd(a,b.latitude),m=d=v(d),p=d,q=l(m),u=q;;){0>f?(m=p.AddDays(-.42),q=l(m)):(p=m.AddDays(.42),u=l(p));var y=Ib(0,l,k,m,p,q,u);if(y){if(k=J(l,y.tx,y.ty,{dt_tolerance_seconds:.1,init_f1:y.ax,init_f2:y.ay})){if(0> -f){if(k.utd.ut+f)return null;return k}throw"Rise/set search failed after finding ascent: t1="+m+", t2="+p+", a1="+q+", a2="+u;}if(0>f){if(m.utd.ut+f)return null;m=p;q=u}}}function tc(a,b){b=v(b);var c=Gb(a,n.Sun,b);if(1805*f;++f){var g=a.AddDays(5),h=b(g);if(0>=d*h){if(0>d||0h){a=J(c,a,g,{init_f1:-d,init_f2:-h});if(!a)throw"SearchLunarApsis INTERNAL ERROR: apogee search failed!";d=ca(a).distance_au;return new Ta(a,1,d)}throw"SearchLunarApsis INTERNAL ERROR: cannot classify apsis event!";}a=g;d=h}throw"SearchLunarApsis INTERNAL ERROR: could not find apsis within 2 synodic months of start date."; -}function wc(a,b,c,d){for(var f=b===Ca.Apocenter?1:-1;;){d/=9;if(d<1/1440)return c=c.AddDays(d/2),a=la(a,c),new Ta(c,b,a);for(var g=-1,h=0,l=0;10>l;++l){var k=c.AddDays(l*d);k=f*la(a,k);if(0==l||k>h)g=l,h=k}c=c.AddDays((g-1)*d);d*=2}}function qd(a,b){var c=b.AddDays(-30/360*Z[a].OrbitalPeriod),d=b.AddDays(.75*Z[a].OrbitalPeriod),f=c,g=c,h=-1,l=-1;d=(d.ut-c.ut)/99;for(var k=0;100>k;++k){var m=c.AddDays(k*d),p=la(a,m);0===k?l=h=p:(p>l&&(l=p,g=m),p=b.tt)return a.time.tt>=b.tt&&a.time.tt=b.tt)return a;throw"Internal error: failed to find Neptune apsis.";}function xc(a,b){function c(p){var q=p.AddDays(-5E-4);p=p.AddDays(5E-4);q=la(a,q);return(la(a,p)-q)/.001}function d(p){return-c(p)}b=v(b);if(a===n.Neptune||a===n.Pluto)return qd(a,b);for(var f=Z[a].OrbitalPeriod,g=f/6,h=c(b),l=0;l*g<2*f;++l){var k=b.AddDays(g),m=c(k);if(0>=h*m){f=g=void 0;if(0>h||0m)g=d,f=Ca.Apocenter;else throw"Internal error with slopes in SearchPlanetApsis";b=J(g,b,k);if(!b)throw"Failed to find slope transition in planetary apsis search.";h=la(a,b);return new Ta(b,f,h)}b=k;h=m}throw"Internal error: should have found planetary apsis within 2 orbital periods.";}function Da(a){return new L([[a.rot[0][0],a.rot[1][0],a.rot[2][0]],[a.rot[0][1],a.rot[1][1],a.rot[2][1]],[a.rot[0][2],a.rot[1][2],a.rot[2][2]]])}function Ea(a,b){return new L([[b.rot[0][0]*a.rot[0][0]+b.rot[1][0]* -a.rot[0][1]+b.rot[2][0]*a.rot[0][2],b.rot[0][1]*a.rot[0][0]+b.rot[1][1]*a.rot[0][1]+b.rot[2][1]*a.rot[0][2],b.rot[0][2]*a.rot[0][0]+b.rot[1][2]*a.rot[0][1]+b.rot[2][2]*a.rot[0][2]],[b.rot[0][0]*a.rot[1][0]+b.rot[1][0]*a.rot[1][1]+b.rot[2][0]*a.rot[1][2],b.rot[0][1]*a.rot[1][0]+b.rot[1][1]*a.rot[1][1]+b.rot[2][1]*a.rot[1][2],b.rot[0][2]*a.rot[1][0]+b.rot[1][2]*a.rot[1][1]+b.rot[2][2]*a.rot[1][2]],[b.rot[0][0]*a.rot[2][0]+b.rot[1][0]*a.rot[2][1]+b.rot[2][0]*a.rot[2][2],b.rot[0][1]*a.rot[2][0]+b.rot[1][1]* -a.rot[2][1]+b.rot[2][1]*a.rot[2][2],b.rot[0][2]*a.rot[2][0]+b.rot[1][2]*a.rot[2][1]+b.rot[2][2]*a.rot[2][2]]])}function Jb(a,b){b=v(b);var c=a.lat*e.DEG2RAD,d=a.lon*e.DEG2RAD,f=a.dist*Math.cos(c);return new E(f*Math.cos(d),f*Math.sin(d),a.dist*Math.sin(c),b)}function Kb(a){var b=Lb(a);return new eb(b.lon/15,b.lat,b.dist,a)}function Lb(a){var b=a.x*a.x+a.y*a.y,c=Math.sqrt(b+a.z*a.z);if(0===b){if(0===a.z)throw"Zero-length vector not allowed.";var d=0;a=0>a.z?-90:90}else d=e.RAD2DEG*Math.atan2(a.y,a.x), -0>d&&(d+=360),a=e.RAD2DEG*Math.atan2(a.z,Math.sqrt(b));return new Ma(a,d,c)}function yc(a){a=360-a;360<=a?a-=360:0>a&&(a+=360);return a}function Ka(a,b){A(b);if(-90>b||90c&&(c=-1);c=1.02/Math.tan((c+10.3/(c+5.11))*e.DEG2RAD)/60;"normal"===a&&-1>b&&(c*=(b+90)/89)}else{if(a)throw"Invalid refraction option: "+a;c=0}return c}function zc(a,b){if(-90>b||90Math.abs(d))return c-b;c-=d}}function Ua(a, -b){return new E(a.rot[0][0]*b.x+a.rot[1][0]*b.y+a.rot[2][0]*b.z,a.rot[0][1]*b.x+a.rot[1][1]*b.y+a.rot[2][1]*b.z,a.rot[0][2]*b.x+a.rot[1][2]*b.y+a.rot[2][2]*b.z,b.t)}function xa(a,b){return new I(a.rot[0][0]*b.x+a.rot[1][0]*b.y+a.rot[2][0]*b.z,a.rot[0][1]*b.x+a.rot[1][1]*b.y+a.rot[2][1]*b.z,a.rot[0][2]*b.x+a.rot[1][2]*b.y+a.rot[2][2]*b.z,a.rot[0][0]*b.vx+a.rot[1][0]*b.vy+a.rot[2][0]*b.vz,a.rot[0][1]*b.vx+a.rot[1][1]*b.vy+a.rot[2][1]*b.vz,a.rot[0][2]*b.vx+a.rot[1][2]*b.vy+a.rot[2][2]*b.vz,b.t)}function Ac(){return new L([[1, -0,0],[0,.9174821430670688,-.3977769691083922],[0,.3977769691083922,.9174821430670688]])}function Mb(a){a=v(a);var b=Ia(a,G.From2000);a=Ja(a,G.From2000);return Ea(b,a)}function Nb(a){a=v(a);var b=Ja(a,G.Into2000);a=Ia(a,G.Into2000);return Ea(b,a)}function Ob(a,b){a=v(a);var c=Math.sin(b.latitude*e.DEG2RAD),d=Math.cos(b.latitude*e.DEG2RAD),f=Math.sin(b.longitude*e.DEG2RAD),g=Math.cos(b.longitude*e.DEG2RAD);b=[d*g,d*f,c];c=[-c*g,-c*f,d];f=[f,-g,0];a=-15*ba(a);b=sa(a,b);c=sa(a,c);a=sa(a,f);return new L([[c[0], -a[0],b[0]],[c[1],a[1],b[1]],[c[2],a[2],b[2]]])}function Bc(a,b){a=Ob(a,b);return Da(a)}function Cc(a,b){a=v(a);b=Bc(a,b);a=Nb(a);return Ea(b,a)}function Dc(a){a=Nb(a);var b=Ac();return Ea(a,b)}function Ec(a){a=Dc(a);return Da(a)}function Fc(a,b){a=v(a);var c=Ec(a);a=Ob(a,b);return Ea(c,a)}function Va(a,b,c,d){var f=(d.x*c.x+d.y*c.y+d.z*c.z)/(d.x*d.x+d.y*d.y+d.z*d.z);return new rd(b,f,e.KM_PER_AU*Math.hypot(f*d.x-c.x,f*d.y-c.y,f*d.z-c.z),695700-(1+f)*(695700-a),-695700+(1+f)*(695700+a),c,d)}function mb(a){var b= -W(n.Sun,a,!0);b=new E(-b.x,-b.y,-b.z,b.t);var c=Y(a);return Va(6459,a,c,b)}function Gc(a){var b=W(n.Sun,a,!0),c=Y(a),d=new E(-c.x,-c.y,-c.z,c.t);c.x-=b.x;c.y-=b.y;c.z-=b.z;return Va(1737.4,a,d,c)}function Pb(a,b){var c=ac(a,b);b=W(n.Sun,a,!0);var d=Y(a);c=new E(c[0]-d.x,c[1]-d.y,c[2]-d.z,a);d.x-=b.x;d.y-=b.y;d.z-=b.z;return Va(1737.4,a,c,d)}function nb(a,b,c){a=W(a,c,!0);var d=W(n.Sun,c,!0),f=new E(a.x-d.x,a.y-d.y,a.z-d.z,c);d.x=-a.x;d.y=-a.y;d.z=-a.z;return Va(b,c,d,f)}function Qb(a,b){var c=1/86400, -d=b.AddDays(-c);b=b.AddDays(+c);d=a(d);return(a(b).r-d.r)/c}function sd(a){var b=a.AddDays(-.03);a=a.AddDays(.03);b=J(function(c){return Qb(mb,c)},b,a);if(!b)throw"Failed to find peak Earth shadow time.";return mb(b)}function td(a){var b=a.AddDays(-.03);a=a.AddDays(.03);b=J(function(c){return Qb(Gc,c)},b,a);if(!b)throw"Failed to find peak Moon shadow time.";return Gc(b)}function ud(a,b,c){var d=c.AddDays(-1);c=c.AddDays(1);d=J(function(f){var g=1/86400,h=nb(a,b,f.AddDays(-g));return(nb(a,b,f.AddDays(+g)).r- -h.r)/g},d,c);if(!d)throw"Failed to find peak planet shadow time.";return nb(a,b,d)}function vd(a,b){function c(g){return Pb(g,b)}var d=a.AddDays(-.2),f=a.AddDays(.2);d=J(function(g){return Qb(c,g)},d,f);if(!d)throw"PeakLocalMoonShadow: search failure for search_center_time = "+a;return Pb(d,b)}function Rb(a,b,c){var d=c/1440;c=a.AddDays(-d);d=a.AddDays(+d);c=J(function(f){return-(mb(f).r-b)},c,a);a=J(function(f){return+(mb(f).r-b)},a,d);if(!c||!a)throw"Failed to find shadow semiduration";return 720* -(a.ut-c.ut)}function Sb(a){a=ca(a);return e.RAD2DEG*a.geo_eclip_lat}function Hc(a,b,c){if(0>=a)throw"Radius of first disc must be positive.";if(0>=b)throw"Radius of second disc must be positive.";if(0>c)throw"Distance between discs is not allowed to be negative.";if(c>=a+b)return 0;if(0==c)return a<=b?1:b*b/(a*a);var d=(a*a-b*b+c*c)/(2*c),f=a*a-d*d;if(0>=f)return a<=b?1:b*b/(a*a);f=Math.sqrt(f);return(a*a*Math.acos(d/a)-d*f+(b*b*Math.acos((c-d)/b)-(c-d)*f))/(Math.PI*a*a)}function Ic(a,b){var c=new E(a.x+ -b.x,a.y+b.y,a.z+b.z,a.t);a=Math.asin(Jc/c.Length());var d=Math.asin(wd/b.Length());b=N(b,c);b=Hc(a,d,b*e.DEG2RAD);return Math.min(.9999,b)}function Kc(a){a=v(a);for(var b=0;12>b;++b){var c=Sa(180,a,40);if(!c)throw"Cannot find full moon.";a=Sb(c);if(1.8>Math.abs(a)&&(a=sd(c),a.rb;++b){var c=Sa(0,a,40);if(!c)throw"Cannot find new moon";a=Sb(c);if(1.8>Math.abs(a)&&(a=td(c),a.r=d?d+=360:180h.r)throw"Unexpected shadow distance from geoid intersection = "+ -h.r;g=.014Math.abs(c)){var d=vd(a,b);if(d.rAa(a,d)&&(b=ud(a,c,d),b.r=c.lat*f.lat){a.$jscomp$loop$prop$kind$33=f.lat>c.lat?oa.Ascending:oa.Descending;b=J(function(g){return function(h){return g.$jscomp$loop$prop$kind$33*ib(h).lat}}(a),b,d);if(!b)throw"Could not find moon node.";return new Yc(a.$jscomp$loop$prop$kind$33,b)}b=d;c=f}}function Zc(a,b,c,d,f){if(1>a||5=c)throw"Major mass must be a positive number.";if(!Number.isFinite(f)||0>=f)throw"Minor mass must be a negative number.";var g=d.x-b.x,h=d.y-b.y,l=d.z-b.z,k=g*g+h*h+l*l,m=Math.sqrt(k),p=d.vx-b.vx,q=d.vy-b.vy;d=d.vz-b.vz;if(4===a||5===a){k=h*d-l*q;c=l*p-g*d;var u=g*q-h*p,y=c*l-u*h;u=u*g-k*l;k=k*h-c*g;c=Math.sqrt(y*y+u*u+k*k);y/=c;u/=c;k/=c;g/=m;h/=m;l/=m;a=4==a?.8660254037844386:-.8660254037844386;c=.5*g+a*y;f=.5*h+a*u;var w=.5*l+a*k,B=p*g+q*h+d*l;p=p*y+q*u+d*k;b=new I(m*c,m*f,m*w,B*c+p*(.5*y-a* -g),B*f+p*(.5*u-a*h),B*w+p*(.5*k-a*l),b.t)}else{y=f/(c+f)*-m;u=c/(c+f)*+m;k=(c+f)/(k*m);if(1===a||2===a)w=c/(c+f)*Math.cbrt(f/(3*c)),c=-c,1==a?(w=1-w,a=+f):(w=1+w,a=-f);else if(3===a)w=(7/12*f-c)/(f+c),c=+c,a=+f;else throw"Invalid Langrage point "+a+". Must be an integer 1..5.";f=m*w-y;do w=f-y,B=f-u,w=(k*f+c/(w*w)+a/(B*B))/(k-2*c/(w*w*w)-2*a/(B*B*B)),f-=w;while(1E-14Math.abs(c))return b; -b=b.AddDays(c)}};O.prototype.toString=function(){return this.date.toISOString()};O.prototype.AddDays=function(a){return new O(this.ut+a)};e.AstroTime=O;e.MakeTime=v;var Xb=[[[0,0,0,0,1],[-172064161,-174666,33386,92052331,9086,15377]],[[0,0,2,-2,2],[-13170906,-1675,-13696,5730336,-3015,-4587]],[[0,0,2,0,2],[-2276413,-234,2796,978459,-485,1374]],[[0,0,0,0,2],[2074554,207,-698,-897492,470,-291]],[[0,1,0,0,0],[1475877,-3633,11817,73871,-184,-1924]],[[0,1,2,-2,2],[-516821,1226,-524,224386,-677,-174]], -[[1,0,0,0,0],[711159,73,-872,-6750,0,358]],[[0,0,2,0,1],[-387298,-367,380,200728,18,318]],[[1,0,2,0,2],[-301461,-36,816,129025,-63,367]],[[0,-1,2,-2,2],[215829,-494,111,-95929,299,132]],[[0,0,2,-2,1],[128227,137,181,-68982,-9,39]],[[-1,0,2,0,2],[123457,11,19,-53311,32,-4]],[[-1,0,0,2,0],[156994,10,-168,-1235,0,82]],[[1,0,0,0,1],[63110,63,27,-33228,0,-9]],[[-1,0,0,0,1],[-57976,-63,-189,31429,0,-75]],[[-1,0,2,2,2],[-59641,-11,149,25543,-11,66]],[[1,0,2,0,1],[-51613,-42,129,26366,0,78]],[[-2,0,2,0,1], -[45893,50,31,-24236,-10,20]],[[0,0,0,2,0],[63384,11,-150,-1220,0,29]],[[0,0,2,2,2],[-38571,-1,158,16452,-11,68]],[[0,-2,2,-2,2],[32481,0,0,-13870,0,0]],[[-2,0,0,2,0],[-47722,0,-18,477,0,-25]],[[2,0,2,0,2],[-31046,-1,131,13238,-11,59]],[[1,0,2,-2,2],[28593,0,-1,-12338,10,-3]],[[-1,0,2,0,1],[20441,21,10,-10758,0,-3]],[[2,0,0,0,0],[29243,0,-74,-609,0,13]],[[0,0,2,0,0],[25887,0,-66,-550,0,11]],[[0,1,0,0,1],[-14053,-25,79,8551,-2,-45]],[[-1,0,0,2,1],[15164,10,11,-8001,0,-1]],[[0,2,2,-2,2],[-15794,72,-16, -6850,-42,-5]],[[0,0,-2,2,0],[21783,0,13,-167,0,13]],[[1,0,0,-2,1],[-12873,-10,-37,6953,0,-14]],[[0,-1,0,0,1],[-12654,11,63,6415,0,26]],[[-1,0,2,2,1],[-10204,0,25,5222,0,15]],[[0,2,0,0,0],[16707,-85,-10,168,-1,10]],[[1,0,2,2,2],[-7691,0,44,3268,0,19]],[[-2,0,2,0,0],[-11024,0,-14,104,0,2]],[[0,1,2,0,2],[7566,-21,-11,-3250,0,-5]],[[0,0,2,2,1],[-6637,-11,25,3353,0,14]],[[0,-1,2,0,2],[-7141,21,8,3070,0,4]],[[0,0,0,2,1],[-6302,-11,2,3272,0,4]],[[1,0,2,-2,1],[5800,10,2,-3045,0,-1]],[[2,0,2,-2,2],[6443,0, --7,-2768,0,-4]],[[-2,0,0,2,1],[-5774,-11,-15,3041,0,-5]],[[2,0,2,0,1],[-5350,0,21,2695,0,12]],[[0,-1,2,-2,1],[-4752,-11,-3,2719,0,-3]],[[0,0,0,-2,1],[-4940,-11,-21,2720,0,-9]],[[-1,-1,0,2,0],[7350,0,-8,-51,0,4]],[[2,0,0,-2,1],[4065,0,6,-2206,0,1]],[[1,0,0,2,0],[6579,0,-24,-199,0,2]],[[0,1,2,-2,1],[3579,0,5,-1900,0,1]],[[1,-1,0,0,0],[4725,0,-6,-41,0,3]],[[-2,0,2,0,2],[-3075,0,-2,1313,0,-1]],[[3,0,2,0,2],[-2904,0,15,1233,0,7]],[[0,-1,0,2,0],[4348,0,-10,-81,0,2]],[[1,-1,2,0,2],[-2878,0,8,1232,0,4]], -[[0,0,0,1,0],[-4230,0,5,-20,0,-2]],[[-1,-1,2,2,2],[-2819,0,7,1207,0,3]],[[-1,0,2,0,0],[-4056,0,5,40,0,-2]],[[0,-1,2,2,2],[-2647,0,11,1129,0,5]],[[-2,0,0,0,1],[-2294,0,-10,1266,0,-4]],[[1,1,2,0,2],[2481,0,-7,-1062,0,-3]],[[2,0,0,0,1],[2179,0,-2,-1129,0,-2]],[[-1,1,0,1,0],[3276,0,1,-9,0,0]],[[1,1,0,0,0],[-3389,0,5,35,0,-2]],[[1,0,2,0,0],[3339,0,-13,-107,0,1]],[[-1,0,2,-2,1],[-1987,0,-6,1073,0,-2]],[[1,0,0,0,2],[-1981,0,0,854,0,0]],[[-1,0,0,1,0],[4026,0,-353,-553,0,-139]],[[0,0,2,1,2],[1660,0,-5,-710, -0,-2]],[[-1,0,2,4,2],[-1521,0,9,647,0,4]],[[-1,1,0,1,1],[1314,0,0,-700,0,0]],[[0,-2,2,-2,1],[-1283,0,0,672,0,0]],[[1,0,2,2,1],[-1331,0,8,663,0,4]],[[-2,0,2,2,2],[1383,0,-2,-594,0,-2]],[[-1,0,0,0,2],[1405,0,4,-610,0,2]],[[1,1,2,-2,2],[1290,0,0,-556,0,0]]],Xa;e.CalcMoonCount=0;var $c=function(a,b,c,d,f,g){this.elat=a;this.elon=b;this.mlat=c;this.mlon=d;this.dist_km=f;this.diam_deg=g};e.LibrationInfo=$c;e.Libration=function(a){var b=v(a);a=b.tt/36525;var c=a*a,d=c*a,f=c*c,g=ca(b);b=g.geo_eclip_lon;var h= -g.geo_eclip_lat;g=g.distance_au*e.KM_PER_AU;var l=1.543*e.DEG2RAD,k=e.DEG2RAD*za(93.272095+483202.0175233*a-.0036539*c-d/3526E3+f/86331E4),m=e.DEG2RAD*za(125.0445479-1934.1362891*a+.0020754*c+d/467441-f/60616E3),p=e.DEG2RAD*za(357.5291092+35999.0502909*a-1.536E-4*c+d/2449E4),q=e.DEG2RAD*za(134.9633964+477198.8675055*a+.0087414*c+d/69699-f/14712E3);d=e.DEG2RAD*za(297.8501921+445267.1114034*a-.0018819*c+d/545868-f/113065E3);c=1-.002516*a-7.4E-6*c;var u=b-m;f=Math.atan2(Math.sin(u)*Math.cos(h)*Math.cos(l)- -Math.sin(h)*Math.sin(l),Math.cos(u)*Math.cos(h));var y=ya(e.RAD2DEG*(f-k));l=Math.asin(-Math.sin(u)*Math.cos(h)*Math.sin(l)-Math.sin(h)*Math.cos(l));u=-.02752*Math.cos(q)+-.02245*Math.sin(k)+.00684*Math.cos(q-2*k)+-.00293*Math.cos(2*k)+-8.5E-4*Math.cos(2*k-2*d)+-5.4E-4*Math.cos(q-2*d)+-2E-4*Math.sin(q+k)+-2E-4*Math.cos(q+2*k)+-2E-4*Math.cos(q-k)+1.4E-4*Math.cos(q+2*k-2*d);var w=-.02816*Math.sin(q)+.02244*Math.cos(k)+-.00682*Math.sin(q-2*k)+-.00279*Math.sin(2*k)+-8.3E-4*Math.sin(2*k-2*d)+6.9E-4*Math.sin(q- -2*d)+4E-4*Math.cos(q+k)+-2.5E-4*Math.sin(2*q)+-2.3E-4*Math.sin(q+2*k)+2E-4*Math.cos(q-k)+1.9E-4*Math.sin(q-k)+1.3E-4*Math.sin(q+2*k-2*d)+-1E-4*Math.cos(q-3*k);return new $c(e.RAD2DEG*l+(w*Math.cos(f)-u*Math.sin(f)),y+(-(.0252*c*Math.sin(p)+.00473*Math.sin(2*q-2*k)+-.00467*Math.sin(q)+.00396*Math.sin(e.DEG2RAD*(119.75+131.849*a))+.00276*Math.sin(2*q-2*d)+.00196*Math.sin(m)+-.00183*Math.cos(q-k)+.00115*Math.sin(q-2*d)+-9.6E-4*Math.sin(q-d)+4.6E-4*Math.sin(2*k-2*d)+-3.9E-4*Math.sin(q-k)+-3.2E-4*Math.sin(q- -p-d)+2.7E-4*Math.sin(2*q-p-2*d)+2.3E-4*Math.sin(e.DEG2RAD*(72.56+20.186*a))+-1.4E-4*Math.sin(2*d)+1.4E-4*Math.cos(2*q-2*k)+-1.2E-4*Math.sin(q-2*k)+-1.2E-4*Math.sin(2*q)+1.1E-4*Math.sin(2*q-2*p-2*d))+(u*Math.cos(f)+w*Math.sin(f))*Math.tan(l)),e.RAD2DEG*h,e.RAD2DEG*b,g,2*e.RAD2DEG*Math.atan(1737.4/Math.sqrt(g*g-1737.4*1737.4)))};var bb;e.SiderealTime=function(a){a=v(a);return ba(a)};var E=function(a,b,c,d){this.x=a;this.y=b;this.z=c;this.t=d};E.prototype.Length=function(){return Math.hypot(this.x,this.y, -this.z)};e.Vector=E;var I=function(a,b,c,d,f,g,h){this.x=a;this.y=b;this.z=c;this.vx=d;this.vy=f;this.vz=g;this.t=h};e.StateVector=I;var Ma=function(a,b,c){this.lat=A(a);this.lon=A(b);this.dist=A(c)};e.Spherical=Ma;var eb=function(a,b,c,d){this.ra=A(a);this.dec=A(b);this.dist=A(c);this.vec=d};e.EquatorialCoordinates=eb;var L=function(a){this.rot=a};e.RotationMatrix=L;e.MakeRotation=function(a){if(!kd(a))throw"Argument must be a [3][3] array of numbers";return new L(a)};var cc=function(a,b,c,d){this.azimuth= -A(a);this.altitude=A(b);this.ra=A(c);this.dec=A(d)};e.HorizontalCoordinates=cc;var fc=function(a,b,c){this.vec=a;this.elat=A(b);this.elon=A(c)};e.EclipticCoordinates=fc;e.Horizon=fb;var ub=function(a,b,c){this.latitude=a;this.longitude=b;this.height=c;ta(this)};e.Observer=ub;e.SunPosition=dc;e.Equator=gb;e.ObserverVector=function(a,b,c){a=v(a);var d=ba(a);b=tb(b,d).pos;c||(b=db(b,a,G.Into2000));return new E(b[0],b[1],b[2],a)};e.ObserverState=function(a,b,c){a=v(a);var d=ba(a);b=tb(b,d);b=new I(b.pos[0], -b.pos[1],b.pos[2],b.vel[0],b.vel[1],b.vel[2],a);return c?b:(c=G.Into2000,c===G.Into2000?(d=Ja(a,c),b=xa(d,b),a=Ia(a,c),a=xa(a,b)):(d=Ia(a,c),b=xa(d,b),a=Ja(a,c),a=xa(a,b)),a)};e.VectorObserver=function(a,b){var c=ba(a.t),d=[a.x,a.y,a.z];b||(d=Ha(d,a.t,G.From2000),d=cb(d,a.t,G.From2000));b=d[0]*e.KM_PER_AU;var f=d[1]*e.KM_PER_AU;d=d[2]*e.KM_PER_AU;a=Math.hypot(b,f);if(1E-6>a){c=0;var g=0=c;)c+=360;for(;180Math.abs(p))break;g-=p/(-42.69778487239616*((l-k)/h-k*l*-.006694397995865464/(-42.69778487239616*m))+d*f+a*b)}g*=e.RAD2DEG;h=6378.1366/h;d=Math.abs(f)>Math.abs(b)?d/f-.9933056020041345*h:a/b-h}return new ub(g,c,1E3*d)};e.ObserverGravity=function(a,b){a=Math.sin(a*e.DEG2RAD);a*=a;return 9.7803253359*(1+.00193185265241*a)/Math.sqrt(1-.00669437999013* -a)*(1-(3.15704E-7-2.10269E-9*a)*b+7.37452E-14*b*b)};e.Ecliptic=La;e.GeoMoon=Y;e.EclipticGeoMoon=ib;e.GeoMoonState=Na;e.GeoEmbState=wb;var ja=[[-73E4,[-26.118207232108,-14.376168177825,3.384402515299],[.0016339372163656,-.0027861699588508,-.0013585880229445]],[-700800,[41.974905202127,-.448502952929,-12.770351505989],[7.3458569351457E-4,.0022785014891658,4.8619778602049E-4]],[-671600,[14.706930780744,44.269110540027,9.353698474772],[-.00210001479998,2.2295915939915E-4,7.0143443551414E-4]],[-642400, -[-29.441003929957,-6.43016153057,6.858481011305],[8.4495803960544E-4,-.0030783914758711,-.0012106305981192]],[-613200,[39.444396946234,-6.557989760571,-13.913760296463],[.0011480029005873,.0022400006880665,3.5168075922288E-4]],[-584E3,[20.2303809507,43.266966657189,7.382966091923],[-.0019754081700585,5.3457141292226E-4,7.5929169129793E-4]],[-554800,[-30.65832536462,2.093818874552,9.880531138071],[6.1010603013347E-5,-.0031326500935382,-9.9346125151067E-4]],[-525600,[35.737703251673,-12.587706024764, --14.677847247563],[.0015802939375649,.0021347678412429,1.9074436384343E-4]],[-496400,[25.466295188546,41.367478338417,5.216476873382],[-.0018054401046468,8.328308359951E-4,8.0260156912107E-4]],[-467200,[-29.847174904071,10.636426313081,12.297904180106],[-6.3257063052907E-4,-.0029969577578221,-7.4476074151596E-4]],[-438E3,[30.774692107687,-18.236637015304,-14.945535879896],[.0020113162005465,.0019353827024189,-2.0937793168297E-6]],[-408800,[30.243153324028,38.656267888503,2.938501750218],[-.0016052508674468, -.0011183495337525,8.3333973416824E-4]],[-379600,[-27.288984772533,18.643162147874,14.023633623329],[-.0011856388898191,-.0027170609282181,-4.9015526126399E-4]],[-350400,[24.519605196774,-23.245756064727,-14.626862367368],[.0024322321483154,.0016062008146048,-2.3369181613312E-4]],[-321200,[34.505274805875,35.125338586954,.557361475637],[-.0013824391637782,.0013833397561817,8.4823598806262E-4]],[-292E3,[-23.275363915119,25.818514298769,15.055381588598],[-.0016062295460975,-.0023395961498533,-2.4377362639479E-4]], -[-262800,[17.050384798092,-27.180376290126,-13.608963321694],[.0028175521080578,.0011358749093955,-4.9548725258825E-4]],[-233600,[38.093671910285,30.880588383337,-1.843688067413],[-.0011317697153459,.0016128814698472,8.4177586176055E-4]],[-204400,[-18.197852930878,31.932869934309,15.438294826279],[-.0019117272501813,-.0019146495909842,-1.9657304369835E-5]],[-175200,[8.528924039997,-29.618422200048,-11.805400994258],[.0031034370787005,5.139363329243E-4,-7.7293066202546E-4]],[-146E3,[40.94685725864, -25.904973592021,-4.256336240499],[-8.3652705194051E-4,.0018129497136404,8.156422827306E-4]],[-116800,[-12.326958895325,36.881883446292,15.217158258711],[-.0021166103705038,-.001481442003599,1.7401209844705E-4]],[-87600,[-.633258375909,-30.018759794709,-9.17193287495],[.0032016994581737,-2.5279858672148E-4,-.0010411088271861]],[-58400,[42.936048423883,20.344685584452,-6.588027007912],[-5.0525450073192E-4,.0019910074335507,7.7440196540269E-4]],[-29200,[-5.975910552974,40.61180995846,14.470131723673], -[-.0022184202156107,-.0010562361130164,3.3652250216211E-4]],[0,[-9.875369580774,-27.978926224737,-5.753711824704],[.0030287533248818,-.0011276087003636,-.0012651326732361]],[29200,[43.958831986165,14.214147973292,-8.808306227163],[-1.4717608981871E-4,.0021404187242141,7.1486567806614E-4]],[58400,[.67813676352,43.094461639362,13.243238780721],[-.0022358226110718,-6.3233636090933E-4,4.7664798895648E-4]],[87600,[-18.282602096834,-23.30503958666,-1.766620508028],[.0025567245263557,-.0019902940754171, --.0013943491701082]],[116800,[43.873338744526,7.700705617215,-10.814273666425],[2.3174803055677E-4,.0022402163127924,6.2988756452032E-4]],[146E3,[7.392949027906,44.382678951534,11.629500214854],[-.002193281545383,-2.1751799585364E-4,5.9556516201114E-4]],[175200,[-24.981690229261,-16.204012851426,2.466457544298],[.001819398914958,-.0026765419531201,-.0013848283502247]],[204400,[42.530187039511,.845935508021,-12.554907527683],[6.5059779150669E-4,.0022725657282262,5.1133743202822E-4]],[233600,[13.999526486822, -44.462363044894,9.669418486465],[-.0021079296569252,1.7533423831993E-4,6.9128485798076E-4]],[262800,[-29.184024803031,-7.371243995762,6.493275957928],[9.3581363109681E-4,-.0030610357109184,-.0012364201089345]],[292E3,[39.831980671753,-6.078405766765,-13.909815358656],[.0011117769689167,.0022362097830152,3.6230548231153E-4]],[321200,[20.294955108476,43.417190420251,7.450091985932],[-.0019742157451535,5.3102050468554E-4,7.5938408813008E-4]],[350400,[-30.66999230216,2.318743558955,9.973480913858],[4.5605107450676E-5, --.0031308219926928,-9.9066533301924E-4]],[379600,[35.626122155983,-12.897647509224,-14.777586508444],[.0016015684949743,.0021171931182284,1.8002516202204E-4]],[408800,[26.133186148561,41.232139187599,5.00640132622],[-.0017857704419579,8.6046232702817E-4,8.0614690298954E-4]],[438E3,[-29.57674022923,11.863535943587,12.631323039872],[-7.2292830060955E-4,-.0029587820140709,-7.08242964503E-4]],[467200,[29.910805787391,-19.159019294,-15.013363865194],[.0020871080437997,.0018848372554514,-3.8528655083926E-5]], -[496400,[31.375957451819,38.050372720763,2.433138343754],[-.0015546055556611,.0011699815465629,8.3565439266001E-4]],[525600,[-26.360071336928,20.662505904952,14.414696258958],[-.0013142373118349,-.0026236647854842,-4.2542017598193E-4]],[554800,[22.599441488648,-24.508879898306,-14.484045731468],[.0025454108304806,.0014917058755191,-3.0243665086079E-4]],[584E3,[35.877864013014,33.894226366071,-.224524636277],[-.0012941245730845,.0014560427668319,8.4762160640137E-4]],[613200,[-21.538149762417,28.204068269761, -15.321973799534],[-.001731211740901,-.0021939631314577,-1.631691327518E-4]],[642400,[13.971521374415,-28.339941764789,-13.083792871886],[.0029334630526035,9.1860931752944E-4,-5.9939422488627E-4]],[671600,[39.526942044143,28.93989736011,-2.872799527539],[-.0010068481658095,.001702113288809,8.3578230511981E-4]],[700800,[-15.576200701394,34.399412961275,15.466033737854],[-.0020098814612884,-.0017191109825989,7.0414782780416E-5]],[73E4,[4.24325283709,-30.118201690825,-10.707441231349],[.0031725847067411, -1.609846120227E-4,-9.0672150593868E-4]]],C=function(a,b,c){this.x=a;this.y=b;this.z=c};C.prototype.clone=function(){return new C(this.x,this.y,this.z)};C.prototype.ToAstroVector=function(a){return new E(this.x,this.y,this.z,a)};C.zero=function(){return new C(0,0,0)};C.prototype.quadrature=function(){return this.x*this.x+this.y*this.y+this.z*this.z};C.prototype.add=function(a){return new C(this.x+a.x,this.y+a.y,this.z+a.z)};C.prototype.sub=function(a){return new C(this.x-a.x,this.y-a.y,this.z-a.z)}; -C.prototype.incr=function(a){this.x+=a.x;this.y+=a.y;this.z+=a.z};C.prototype.decr=function(a){this.x-=a.x;this.y-=a.y;this.z-=a.z};C.prototype.mul=function(a){return new C(a*this.x,a*this.y,a*this.z)};C.prototype.div=function(a){return new C(this.x/a,this.y/a,this.z/a)};C.prototype.mean=function(a){return new C((this.x+a.x)/2,(this.y+a.y)/2,(this.z+a.z)/2)};C.prototype.neg=function(){return new C(-this.x,-this.y,-this.z)};var X=function(a,b,c){this.tt=a;this.r=b;this.v=c};X.prototype.clone=function(){return new X(this.tt, -this.r,this.v)};X.prototype.sub=function(a){return new X(this.tt,this.r.sub(a.r),this.v.sub(a.v))};var wa=function(a){var b=new X(a,new C(0,0,0),new C(0,0,0));this.Jupiter=T(b,a,n.Jupiter,2.825345909524226E-7);this.Saturn=T(b,a,n.Saturn,8.459715185680659E-8);this.Uranus=T(b,a,n.Uranus,1.292024916781969E-8);this.Neptune=T(b,a,n.Neptune,1.524358900784276E-8);this.Jupiter.r.decr(b.r);this.Jupiter.v.decr(b.v);this.Saturn.r.decr(b.r);this.Saturn.v.decr(b.v);this.Uranus.r.decr(b.r);this.Uranus.v.decr(b.v); -this.Neptune.r.decr(b.r);this.Neptune.v.decr(b.v);this.Sun=new X(a,b.r.mul(-1),b.v.mul(-1))};wa.prototype.Acceleration=function(a){var b=Pa(a,2.959122082855911E-4,this.Sun.r);b.incr(Pa(a,2.825345909524226E-7,this.Jupiter.r));b.incr(Pa(a,8.459715185680659E-8,this.Saturn.r));b.incr(Pa(a,1.292024916781969E-8,this.Uranus.r));b.incr(Pa(a,1.524358900784276E-8,this.Neptune.r));return b};var Qa=function(a,b,c,d){this.tt=a;this.r=b;this.v=c;this.a=d};Qa.prototype.clone=function(){return new Qa(this.tt,this.r.clone(), -this.v.clone(),this.a.clone())};var jc=function(a,b){this.bary=a;this.grav=b},Db=[],ld=new L([[.999432765338654,-.0336771074697641,0],[.0303959428906285,.902057912352809,.430543388542295],[-.0144994559663353,-.430299169409101,.902569881273754]]),pb=[{mu:2.82489428433814E-7,al:[1.446213296021224,3.5515522861824],a:[[.0028210960212903,0,0]],l:[[-1.925258348666E-4,4.9369589722645,.01358483658305],[-9.70803596076E-5,4.3188796477322,.01303413843243],[-8.988174165E-5,1.9080016428617,.00305064867158],[-5.53101050262E-5, -1.4936156681569,.01293892891155]],z:[[.0041510849668155,4.089939635545,-.01290686414666],[6.260521444113E-4,1.446188898627,3.5515522949802],[3.52747346169E-5,2.1256287034578,1.2727416567E-4]],zeta:[[3.142172466014E-4,2.7964219722923,-.002315096098],[9.04169207946E-5,1.0477061879627,-5.6920638196E-4]]},{mu:2.82483274392893E-7,al:[-.3735263437471362,1.76932271112347],a:[[.0044871037804314,0,0],[4.324367498E-7,1.819645606291,1.7822295777568]],l:[[8.576433172936E-4,4.3188693178264,.01303413830805],[4.549582875086E-4, -1.4936531751079,.01293892881962],[3.248939825174E-4,1.8196494533458,1.7822295777568],[-3.074250079334E-4,4.9377037005911,.01358483286724],[1.982386144784E-4,1.907986905476,.00305101212869],[1.834063551804E-4,2.1402853388529,.00145009789338],[-1.434383188452E-4,5.622214036663,.89111478887838],[-7.71939140944E-5,4.300272437235,2.6733443704266]],z:[[-.0093589104136341,4.0899396509039,-.01290686414666],[2.988994545555E-4,5.9097265185595,1.7693227079462],[2.13903639035E-4,2.1256289300016,1.2727418407E-4], -[1.980963564781E-4,2.743516829265,6.7797343009E-4],[1.210388158965E-4,5.5839943711203,3.20566149E-5],[8.37042048393E-5,1.6094538368039,-.90402165808846],[8.23525166369E-5,1.4461887708689,3.5515522949802]],zeta:[[.0040404917832303,1.0477063169425,-5.692064054E-4],[2.200421034564E-4,3.3368857864364,-1.2491307307E-4],[1.662544744719E-4,2.4134862374711,0],[5.90282470983E-5,5.9719930968366,-3.056160225E-5]]},{mu:2.82498184184723E-7,al:[.2874089391143348,.878207923589328],a:[[.0071566594572575,0,0],[1.393029911E-6, -1.1586745884981,2.6733443704266]],l:[[2.310797886226E-4,2.1402987195942,.00145009784384],[-1.828635964118E-4,4.3188672736968,.01303413828263],[1.512378778204E-4,4.9373102372298,.01358483481252],[-1.163720969778E-4,4.300265986149,2.6733443704266],[-9.55478069846E-5,1.4936612842567,.01293892879857],[8.15246854464E-5,5.6222137132535,.89111478887838],[-8.01219679602E-5,1.2995922951532,1.0034433456729],[-6.07017260182E-5,.64978769669238,.50172167043264]],z:[[.0014289811307319,2.1256295942739,1.2727413029E-4], -[7.71093122676E-4,5.5836330003496,3.20643411E-5],[5.925911780766E-4,4.0899396636448,-.01290686414666],[2.045597496146E-4,5.2713683670372,-.12523544076106],[1.785118648258E-4,.28743156721063,.8782079244252],[1.131999784893E-4,1.4462127277818,3.5515522949802],[-6.5877816921E-5,2.2702423990985,-1.7951364394537],[4.97058888328E-5,5.9096792204858,1.7693227129285]],zeta:[[.0015932721570848,3.3368862796665,-1.2491307058E-4],[8.533093128905E-4,2.4133881688166,0],[3.513347911037E-4,5.9720789850127,-3.056101771E-5], -[-1.441929255483E-4,1.0477061764435,-5.6920632124E-4]]},{mu:2.82492144889909E-7,al:[-.3620341291375704,.376486233433828],a:[[.0125879701715314,0,0],[3.595204947E-6,.64965776007116,.50172168165034],[2.7580210652E-6,1.808423578151,3.1750660413359]],l:[[5.586040123824E-4,2.1404207189815,.00145009793231],[-3.805813868176E-4,2.7358844897853,2.972965062E-5],[2.205152863262E-4,.649796525964,.5017216724358],[1.877895151158E-4,1.8084787604005,3.1750660413359],[7.66916975242E-5,6.2720114319755,1.3928364636651], -[7.47056855106E-5,1.2995916202344,1.0034433456729]],z:[[.0073755808467977,5.5836071576084,3.206509914E-5],[2.065924169942E-4,5.9209831565786,.37648624194703],[1.589869764021E-4,.28744006242623,.8782079244252],[-1.561131605348E-4,2.1257397865089,1.2727441285E-4],[1.486043380971E-4,1.4462134301023,3.5515522949802],[6.35073108731E-5,5.9096803285954,1.7693227129285],[5.99351698525E-5,4.1125517584798,-2.7985797954589],[5.40660842731E-5,5.5390350845569,.00286834082283],[-4.89596900866E-5,4.6218149483338, --.62695712529519]],zeta:[[.0038422977898495,2.4133922085557,0],[.0022453891791894,5.9721736773277,-3.056125525E-5],[-2.604479450559E-4,3.3368746306409,-1.2491309972E-4],[3.3211214323E-5,5.5604137742337,.00290037688507]]}],ad=function(a,b,c,d){this.io=a;this.europa=b;this.ganymede=c;this.callisto=d};e.JupiterMoonsInfo=ad;e.JupiterMoons=function(a){a=new O(a);return new ad(kb(a,pb[0]),kb(a,pb[1]),kb(a,pb[2]),kb(a,pb[3]))};e.HelioVector=ka;e.HelioDistance=la;var bd=function(){};e.PositionFunction=bd; -e.CorrectLightTravel=mc;var Eb=function(a,b,c,d){this.observerBody=a;this.targetBody=b;this.aberration=c;this.observerPos=d;return this};$jscomp.inherits(Eb,bd);Eb.prototype.Position=function(a){this.aberration&&(this.observerPos=ka(this.observerBody,a));var b=ka(this.targetBody,a);return new E(b.x-this.observerPos.x,b.y-this.observerPos.y,b.z-this.observerPos.z,a)};e.BackdatePosition=nc;e.GeoVector=W;e.BaryState=function(a,b){b=v(b);if(a===n.SSB)return new I(0,0,0,0,0,0,b);if(a===n.Pluto)return Cb(b, -!1);var c=new wa(b.tt);switch(a){case n.Sun:return ma(c.Sun,b);case n.Jupiter:return ma(c.Jupiter,b);case n.Saturn:return ma(c.Saturn,b);case n.Uranus:return ma(c.Uranus,b);case n.Neptune:return ma(c.Neptune,b);case n.Moon:case n.EMB:var d=Oa(M[n.Earth],b.tt);a=a===n.Moon?Na(b):wb(b);return new I(a.x+c.Sun.r.x+d.r.x,a.y+c.Sun.r.y+d.r.y,a.z+c.Sun.r.z+d.r.z,a.vx+c.Sun.v.x+d.v.x,a.vy+c.Sun.v.y+d.v.y,a.vz+c.Sun.v.z+d.v.z,b)}if(a in M)return a=Oa(M[a],b.tt),new I(c.Sun.r.x+a.r.x,c.Sun.r.y+a.r.y,c.Sun.r.z+ -a.r.z,c.Sun.v.x+a.v.x,c.Sun.v.y+a.v.y,c.Sun.v.z+a.v.z,b);throw'BaryState: Unsupported body "'+a+'"';};e.HelioState=Fb;e.Search=J;e.SearchSunLongitude=oc;e.PairLongitude=Gb;e.AngleFromSun=Aa;e.EclipticLongitude=na;var pc=function(a,b,c,d,f,g,h,l){this.time=a;this.mag=b;this.phase_angle=c;this.helio_dist=d;this.geo_dist=f;this.gc=g;this.hc=h;this.ring_tilt=l;this.phase_fraction=(1+Math.cos(e.DEG2RAD*c))/2};e.IlluminationInfo=pc;e.Illumination=lb;e.SearchRelativeLongitude=Ba;e.MoonPhase=Hb;e.SearchMoonPhase= -Sa;var rc=function(a,b){this.quarter=a;this.time=b};e.MoonQuarter=rc;e.SearchMoonQuarter=qc;e.NextMoonQuarter=function(a){a=new Date(a.time.date.getTime()+5184E5);return qc(a)};e.SearchRiseSet=function(a,b,c,d,f){a:switch(a){case n.Sun:var g=Jc;break a;case n.Moon:g=xd;break a;default:g=0}return sc(a,b,c,d,f,g,-yd)};e.SearchAltitude=function(a,b,c,d,f,g){if(!Number.isFinite(g)||-90>g||90c||24<=c)throw"Invalid hour angle "+c;A(f);if(0===f)throw"Direction must be positive or negative.";for(;;){++g;var h=ba(d),l=gb(a,d,b,!0,!0);h=(c+l.ra-b.longitude/15-h)%24;1===g?0h&&(h+=24):0h?h+=24:123600*Math.abs(h))return a=fb(d,b,l.ra, -l.dec,"normal"),new cd(d,a);d=d.AddDays(h/24*.9972695717592592)}};var dd=function(a,b,c,d){this.mar_equinox=a;this.jun_solstice=b;this.sep_equinox=c;this.dec_solstice=d};e.SeasonInfo=dd;e.Seasons=function(a){function b(h,l,k){l=new Date(Date.UTC(a,l-1,k));h=oc(h,l,20);if(!h)throw"Cannot find season change near "+l.toISOString();return h}a instanceof Date&&Number.isFinite(a.getTime())&&(a=a.getUTCFullYear());if(!Number.isSafeInteger(a))throw"Cannot calculate seasons because year argument "+a+" is neither a Date nor a safe integer."; -var c=b(0,3,10),d=b(90,6,10),f=b(180,9,10),g=b(270,12,10);return new dd(c,d,f,g)};var uc=function(a,b,c,d){this.time=a;this.visibility=b;this.elongation=c;this.ecliptic_separation=d};e.ElongationEvent=uc;e.Elongation=tc;e.SearchMaxElongation=function(a,b){function c(m){var p=m.AddDays(-.005);m=m.AddDays(.005);p=Aa(a,p);m=Aa(a,m);return(p-m)/.01}b=v(b);var d={Mercury:{s1:50,s2:85},Venus:{s1:40,s2:50}}[a];if(!d)throw"SearchMaxElongation works for Mercury and Venus only.";for(var f=0;2>=++f;){var g= -na(a,b),h=na(n.Earth,b),l=ya(g-h),k=g=h=void 0;l>=-d.s1&&l<+d.s1?(k=0,h=+d.s1,g=+d.s2):l>=+d.s2||l<-d.s2?(k=0,h=-d.s2,g=-d.s1):0<=l?(k=-Ra(a)/4,h=+d.s1,g=+d.s2):(k=-Ra(a)/4,h=-d.s2,g=-d.s1);l=b.AddDays(k);h=Ba(a,h,l);g=Ba(a,g,h);l=c(h);if(0<=l)throw"SearchMaxElongation: internal error: m1 = "+l;k=c(g);if(0>=k)throw"SearchMaxElongation: internal error: m2 = "+k;l=J(c,h,g,{init_f1:l,init_f2:k,dt_tolerance_seconds:10});if(!l)throw"SearchMaxElongation: failed search iter "+f+" (t1="+h.toString()+", t2="+ -g.toString()+")";if(l.tt>=b.tt)return tc(a,l);b=g.AddDays(1)}throw"SearchMaxElongation: failed to find event after 2 tries.";};e.SearchPeakMagnitude=function(a,b){function c(k){var m=k.AddDays(-.005);k=k.AddDays(.005);m=lb(a,m).mag;return(lb(a,k).mag-m)/.01}if(a!==n.Venus)throw"SearchPeakMagnitude currently works for Venus only.";b=v(b);for(var d=0;2>=++d;){var f=na(a,b),g=na(n.Earth,b),h=ya(f-g),l=f=g=void 0;-10<=h&&10>h?(l=0,g=10,f=30):30<=h||-30>h?(l=0,g=-30,f=-10):0<=h?(l=-Ra(a)/4,g=10,f=30): -(l=-Ra(a)/4,g=-30,f=-10);h=b.AddDays(l);g=Ba(a,g,h);f=Ba(a,f,g);h=c(g);if(0<=h)throw"SearchPeakMagnitude: internal error: m1 = "+h;l=c(f);if(0>=l)throw"SearchPeakMagnitude: internal error: m2 = "+l;h=J(c,g,f,{init_f1:h,init_f2:l,dt_tolerance_seconds:10});if(!h)throw"SearchPeakMagnitude: failed search iter "+d+" (t1="+g.toString()+", t2="+f.toString()+")";if(h.tt>=b.tt)return lb(a,h);b=f.AddDays(1)}throw"SearchPeakMagnitude: failed to find event after 2 tries.";};var Ca;(function(a){a[a.Pericenter= -0]="Pericenter";a[a.Apocenter=1]="Apocenter"})(Ca=e.ApsisKind||(e.ApsisKind={}));var Ta=function(a,b,c){this.time=a;this.kind=b;this.dist_au=c;this.dist_km=c*e.KM_PER_AU};e.Apsis=Ta;e.SearchLunarApsis=vc;e.NextLunarApsis=function(a){var b=vc(a.time.AddDays(11));if(1!==b.kind+a.kind)throw"NextLunarApsis INTERNAL ERROR: did not find alternating apogee/perigee: prev="+a.kind+" @ "+a.time.toString()+", next="+b.kind+" @ "+b.time.toString();return b};e.SearchPlanetApsis=xc;e.NextPlanetApsis=function(a, -b){if(b.kind!==Ca.Pericenter&&b.kind!==Ca.Apocenter)throw"Invalid apsis kind: "+b.kind;var c=b.time.AddDays(.25*Z[a].OrbitalPeriod);a=xc(a,c);if(1!==a.kind+b.kind)throw"Internal error: previous apsis was "+b.kind+", but found "+a.kind+" for next apsis.";return a};e.InverseRotation=Da;e.CombineRotation=Ea;e.IdentityMatrix=function(){return new L([[1,0,0],[0,1,0],[0,0,1]])};e.Pivot=function(a,b,c){if(0!==b&&1!==b&&2!==b)throw"Invalid axis "+b+". Must be [0, 1, 2].";var d=A(c)*e.DEG2RAD;c=Math.cos(d); -d=Math.sin(d);var f=(b+1)%3,g=(b+2)%3,h=[[0,0,0],[0,0,0],[0,0,0]];h[f][f]=c*a.rot[f][f]-d*a.rot[f][g];h[f][g]=d*a.rot[f][f]+c*a.rot[f][g];h[f][b]=a.rot[f][b];h[g][f]=c*a.rot[g][f]-d*a.rot[g][g];h[g][g]=d*a.rot[g][f]+c*a.rot[g][g];h[g][b]=a.rot[g][b];h[b][f]=c*a.rot[b][f]-d*a.rot[b][g];h[b][g]=d*a.rot[b][f]+c*a.rot[b][g];h[b][b]=a.rot[b][b];return new L(h)};e.VectorFromSphere=Jb;e.EquatorFromVector=Kb;e.SphereFromVector=Lb;e.HorizonFromVector=function(a,b){a=Lb(a);a.lon=yc(a.lon);a.lat+=Ka(b,a.lat); -return a};e.VectorFromHorizon=function(a,b,c){b=v(b);var d=yc(a.lon);c=a.lat+zc(c,a.lat);a=new Ma(c,d,a.dist);return Jb(a,b)};e.Refraction=Ka;e.InverseRefraction=zc;e.RotateVector=Ua;e.RotateState=xa;e.Rotation_EQJ_ECL=Ac;e.Rotation_ECL_EQJ=function(){return new L([[1,0,0],[0,.9174821430670688,.3977769691083922],[0,-.3977769691083922,.9174821430670688]])};e.Rotation_EQJ_EQD=Mb;e.Rotation_EQD_EQJ=Nb;e.Rotation_EQD_HOR=Ob;e.Rotation_HOR_EQD=Bc;e.Rotation_HOR_EQJ=Cc;e.Rotation_EQJ_HOR=function(a,b){a= -Cc(a,b);return Da(a)};e.Rotation_EQD_ECL=Dc;e.Rotation_ECL_EQD=Ec;e.Rotation_ECL_HOR=Fc;e.Rotation_HOR_ECL=function(a,b){a=Fc(a,b);return Da(a)};e.Rotation_EQJ_GAL=function(){return new L([[-.0548624779711344,.4941095946388765,-.8676668813529025],[-.8734572784246782,-.4447938112296831,-.1980677870294097],[-.483800052994852,.7470034631630423,.4559861124470794]])};e.Rotation_GAL_EQJ=function(){return new L([[-.0548624779711344,-.8734572784246782,-.483800052994852],[.4941095946388765,-.4447938112296831, -.7470034631630423],[-.8676668813529025,-.1980677870294097,.4559861124470794]])};var zd=[["And","Andromeda"],["Ant","Antila"],["Aps","Apus"],["Aql","Aquila"],["Aqr","Aquarius"],["Ara","Ara"],["Ari","Aries"],["Aur","Auriga"],["Boo","Bootes"],["Cae","Caelum"],["Cam","Camelopardis"],["Cap","Capricornus"],["Car","Carina"],["Cas","Cassiopeia"],["Cen","Centaurus"],["Cep","Cepheus"],["Cet","Cetus"],["Cha","Chamaeleon"],["Cir","Circinus"],["CMa","Canis Major"],["CMi","Canis Minor"],["Cnc","Cancer"],["Col", -"Columba"],["Com","Coma Berenices"],["CrA","Corona Australis"],["CrB","Corona Borealis"],["Crt","Crater"],["Cru","Crux"],["Crv","Corvus"],["CVn","Canes Venatici"],["Cyg","Cygnus"],["Del","Delphinus"],["Dor","Dorado"],["Dra","Draco"],["Equ","Equuleus"],["Eri","Eridanus"],["For","Fornax"],["Gem","Gemini"],["Gru","Grus"],["Her","Hercules"],["Hor","Horologium"],["Hya","Hydra"],["Hyi","Hydrus"],["Ind","Indus"],["Lac","Lacerta"],["Leo","Leo"],["Lep","Lepus"],["Lib","Libra"],["LMi","Leo Minor"],["Lup","Lupus"], -["Lyn","Lynx"],["Lyr","Lyra"],["Men","Mensa"],["Mic","Microscopium"],["Mon","Monoceros"],["Mus","Musca"],["Nor","Norma"],["Oct","Octans"],["Oph","Ophiuchus"],["Ori","Orion"],["Pav","Pavo"],["Peg","Pegasus"],["Per","Perseus"],["Phe","Phoenix"],["Pic","Pictor"],["PsA","Pisces Austrinus"],["Psc","Pisces"],["Pup","Puppis"],["Pyx","Pyxis"],["Ret","Reticulum"],["Scl","Sculptor"],["Sco","Scorpius"],["Sct","Scutum"],["Ser","Serpens"],["Sex","Sextans"],["Sge","Sagitta"],["Sgr","Sagittarius"],["Tau","Taurus"], -["Tel","Telescopium"],["TrA","Triangulum Australe"],["Tri","Triangulum"],["Tuc","Tucana"],["UMa","Ursa Major"],["UMi","Ursa Minor"],["Vel","Vela"],["Vir","Virgo"],["Vol","Volans"],["Vul","Vulpecula"]],Ad=[[83,0,8640,2112],[83,2880,5220,2076],[83,7560,8280,2068],[83,6480,7560,2064],[15,0,2880,2040],[10,3300,3840,1968],[15,0,1800,1920],[10,3840,5220,1920],[83,6300,6480,1920],[33,7260,7560,1920],[15,0,1263,1848],[10,4140,4890,1848],[83,5952,6300,1800],[15,7260,7440,1800],[10,2868,3300,1764],[33,3300, -4080,1764],[83,4680,5952,1680],[13,1116,1230,1632],[33,7350,7440,1608],[33,4080,4320,1596],[15,0,120,1584],[83,5040,5640,1584],[15,8490,8640,1584],[33,4320,4860,1536],[33,4860,5190,1512],[15,8340,8490,1512],[10,2196,2520,1488],[33,7200,7350,1476],[15,7393.2,7416,1462],[10,2520,2868,1440],[82,2868,3030,1440],[33,7116,7200,1428],[15,7200,7393.2,1428],[15,8232,8340,1418],[13,0,876,1404],[33,6990,7116,1392],[13,612,687,1380],[13,876,1116,1368],[10,1116,1140,1368],[15,8034,8232,1350],[10,1800,2196,1344], -[82,5052,5190,1332],[33,5190,6990,1332],[10,1140,1200,1320],[15,7968,8034,1320],[15,7416,7908,1316],[13,0,612,1296],[50,2196,2340,1296],[82,4350,4860,1272],[33,5490,5670,1272],[15,7908,7968,1266],[10,1200,1800,1260],[13,8232,8400,1260],[33,5670,6120,1236],[62,735,906,1212],[33,6120,6564,1212],[13,0,492,1200],[62,492,600,1200],[50,2340,2448,1200],[13,8400,8640,1200],[82,4860,5052,1164],[13,0,402,1152],[13,8490,8640,1152],[39,6543,6564,1140],[33,6564,6870,1140],[30,6870,6900,1140],[62,600,735,1128], -[82,3030,3300,1128],[13,60,312,1104],[82,4320,4350,1080],[50,2448,2652,1068],[30,7887,7908,1056],[30,7875,7887,1050],[30,6900,6984,1044],[82,3300,3660,1008],[82,3660,3882,960],[8,5556,5670,960],[39,5670,5880,960],[50,3330,3450,954],[0,0,906,882],[62,906,924,882],[51,6969,6984,876],[62,1620,1689,864],[30,7824,7875,864],[44,7875,7920,864],[7,2352,2652,852],[50,2652,2790,852],[0,0,720,840],[44,7920,8214,840],[44,8214,8232,828],[0,8232,8460,828],[62,924,978,816],[82,3882,3960,816],[29,4320,4440,816], -[50,2790,3330,804],[48,3330,3558,804],[0,258,507,792],[8,5466,5556,792],[0,8460,8550,770],[29,4440,4770,768],[0,8550,8640,752],[29,5025,5052,738],[80,870,978,736],[62,978,1620,736],[7,1620,1710,720],[51,6543,6969,720],[82,3960,4320,696],[30,7080,7530,696],[7,1710,2118,684],[48,3558,3780,684],[29,4770,5025,684],[0,0,24,672],[80,507,600,672],[7,2118,2352,672],[37,2838,2880,672],[30,7530,7824,672],[30,6933,7080,660],[80,690,870,654],[25,5820,5880,648],[8,5430,5466,624],[25,5466,5820,624],[51,6612,6792, -624],[48,3870,3960,612],[51,6792,6933,612],[80,600,690,600],[66,258,306,570],[48,3780,3870,564],[87,7650,7710,564],[77,2052,2118,548],[0,24,51,528],[73,5730,5772,528],[37,2118,2238,516],[87,7140,7290,510],[87,6792,6930,506],[0,51,306,504],[87,7290,7404,492],[37,2811,2838,480],[87,7404,7650,468],[87,6930,7140,460],[6,1182,1212,456],[75,6792,6840,444],[59,2052,2076,432],[37,2238,2271,420],[75,6840,7140,388],[77,1788,1920,384],[39,5730,5790,384],[75,7140,7290,378],[77,1662,1788,372],[77,1920,2016,372], -[23,4620,4860,360],[39,6210,6570,344],[23,4272,4620,336],[37,2700,2811,324],[39,6030,6210,308],[61,0,51,300],[77,2016,2076,300],[37,2520,2700,300],[61,7602,7680,300],[37,2271,2496,288],[39,6570,6792,288],[31,7515,7578,284],[61,7578,7602,284],[45,4146,4272,264],[59,2247,2271,240],[37,2496,2520,240],[21,2811,2853,240],[61,8580,8640,240],[6,600,1182,238],[31,7251,7308,204],[8,4860,5430,192],[61,8190,8580,180],[21,2853,3330,168],[45,3330,3870,168],[58,6570,6718.4,150],[3,6718.4,6792,150],[31,7500,7515, -144],[20,2520,2526,132],[73,6570,6633,108],[39,5790,6030,96],[58,6570,6633,72],[61,7728,7800,66],[66,0,720,48],[73,6690,6792,48],[31,7308,7500,48],[34,7500,7680,48],[61,7680,7728,48],[61,7920,8190,48],[61,7800,7920,42],[20,2526,2592,36],[77,1290,1662,0],[59,1662,1680,0],[20,2592,2910,0],[85,5280,5430,0],[58,6420,6570,0],[16,954,1182,-42],[77,1182,1290,-42],[73,5430,5856,-78],[59,1680,1830,-96],[59,2100,2247,-96],[73,6420,6468,-96],[73,6570,6690,-96],[3,6690,6792,-96],[66,8190,8580,-96],[45,3870,4146, --144],[85,4146,4260,-144],[66,0,120,-168],[66,8580,8640,-168],[85,5130,5280,-192],[58,5730,5856,-192],[3,7200,7392,-216],[4,7680,7872,-216],[58,6180,6468,-240],[54,2100,2910,-264],[35,1770,1830,-264],[59,1830,2100,-264],[41,2910,3012,-264],[74,3450,3870,-264],[85,4260,4620,-264],[58,6330,6360,-280],[3,6792,7200,-288.8],[35,1740,1770,-348],[4,7392,7680,-360],[73,6180,6570,-384],[72,6570,6792,-384],[41,3012,3090,-408],[58,5856,5895,-438],[41,3090,3270,-456],[26,3870,3900,-456],[71,5856,5895,-462],[47, -5640,5730,-480],[28,4530,4620,-528],[85,4620,5130,-528],[41,3270,3510,-576],[16,600,954,-585.2],[35,954,1350,-585.2],[26,3900,4260,-588],[28,4260,4530,-588],[47,5130,5370,-588],[58,5856,6030,-590],[16,0,600,-612],[11,7680,7872,-612],[4,7872,8580,-612],[16,8580,8640,-612],[41,3510,3690,-636],[35,1692,1740,-654],[46,1740,2202,-654],[11,7200,7680,-672],[41,3690,3810,-700],[41,4530,5370,-708],[47,5370,5640,-708],[71,5640,5760,-708],[35,1650,1692,-720],[58,6030,6336,-720],[76,6336,6420,-720],[41,3810, -3900,-748],[19,2202,2652,-792],[41,4410,4530,-792],[41,3900,4410,-840],[36,1260,1350,-864],[68,3012,3372,-882],[35,1536,1650,-888],[76,6420,6900,-888],[65,7680,8280,-888],[70,8280,8400,-888],[36,1080,1260,-950],[1,3372,3960,-954],[70,0,600,-960],[36,600,1080,-960],[35,1392,1536,-960],[70,8400,8640,-960],[14,5100,5370,-1008],[49,5640,5760,-1008],[71,5760,5911.5,-1008],[9,1740,1800,-1032],[22,1800,2370,-1032],[67,2880,3012,-1032],[35,1230,1392,-1056],[71,5911.5,6420,-1092],[24,6420,6900,-1092],[76, -6900,7320,-1092],[53,7320,7680,-1092],[35,1080,1230,-1104],[9,1620,1740,-1116],[49,5520,5640,-1152],[63,0,840,-1156],[35,960,1080,-1176],[40,1470,1536,-1176],[9,1536,1620,-1176],[38,7680,7920,-1200],[67,2160,2880,-1218],[84,2880,2940,-1218],[35,870,960,-1224],[40,1380,1470,-1224],[63,0,660,-1236],[12,2160,2220,-1260],[84,2940,3042,-1272],[40,1260,1380,-1276],[32,1380,1440,-1276],[63,0,570,-1284],[35,780,870,-1296],[64,1620,1800,-1296],[49,5418,5520,-1296],[84,3042,3180,-1308],[12,2220,2340,-1320], -[14,4260,4620,-1320],[49,5100,5418,-1320],[56,5418,5520,-1320],[32,1440,1560,-1356],[84,3180,3960,-1356],[14,3960,4050,-1356],[5,6300,6480,-1368],[78,6480,7320,-1368],[38,7920,8400,-1368],[40,1152,1260,-1380],[64,1800,1980,-1380],[12,2340,2460,-1392],[63,0,480,-1404],[35,480,780,-1404],[63,8400,8640,-1404],[32,1560,1650,-1416],[56,5520,5911.5,-1440],[43,7320,7680,-1440],[64,1980,2160,-1464],[18,5460,5520,-1464],[5,5911.5,5970,-1464],[18,5370,5460,-1526],[5,5970,6030,-1526],[64,2160,2460,-1536],[12, -2460,3252,-1536],[14,4050,4260,-1536],[27,4260,4620,-1536],[14,4620,5232,-1536],[18,4860,4920,-1560],[5,6030,6060,-1560],[40,780,1152,-1620],[69,1152,1650,-1620],[18,5310,5370,-1620],[5,6060,6300,-1620],[60,6300,6480,-1620],[81,7920,8400,-1620],[32,1650,2370,-1680],[18,4920,5310,-1680],[79,5310,6120,-1680],[81,0,480,-1800],[42,1260,1650,-1800],[86,2370,3252,-1800],[12,3252,4050,-1800],[55,4050,4920,-1800],[60,6480,7680,-1800],[43,7680,8400,-1800],[81,8400,8640,-1800],[81,270,480,-1824],[42,0,1260, --1980],[17,2760,4920,-1980],[2,4920,6480,-1980],[52,1260,2760,-2040],[57,0,8640,-2160]],Tb,ed,fd=function(a,b,c,d){this.symbol=a;this.name=b;this.ra1875=c;this.dec1875=d};e.ConstellationInfo=fd;e.Constellation=function(a,b){A(a);A(b);if(-90>b||90a&&(a+=24);Tb||(Tb=Mb(new O(-45655.74141261017)),ed=new O(0));a=new Ma(b,15*a,1);a=Jb(a,ed);a=Ua(Tb,a);a=Kb(a);b=10/240;for(var c=b/15,d=$jscomp.makeIterator(Ad),f=d.next();!f.done;f=d.next()){f= -f.value;var g=f[1]*c,h=f[2]*c;if(f[3]*b<=a.dec&&g<=a.ra&&a.rac){0>f&&(f+=360);var g=-(29.530588*f)/360;f=g+1.5;if(fc)return null;f=Math.min(c,g+1.5)}c=b.AddDays(h);b=b.AddDays(f);return J(d,c,b,{dt_tolerance_seconds:.1})}function qc(a){var b=Hb(a);b=(Math.floor(b/90)+1)%4;a=Sa(90*b,a,10);if(!a)throw"Cannot find moon quarter";return new rc(b,a)}function Ib(a,b,c,d,f,g,h){if(0>g&&0<=h)return new od(d,f,g,h);if(0<=g&& +0>h)return null;if(1786400*l||Math.min(Math.abs(g),Math.abs(h))>l/2*c)return null;l=new O((d.ut+f.ut)/2);var k=b(l);return Ib(1+a,b,c,d,l,g,k)||Ib(1+a,b,c,l,f,k,h)}function pd(a,b){if(-90>b||90h||90f?(m=p.AddDays(-.42),q=l(m)):(p=m.AddDays(.42),u=l(p));var z=Ib(0,l,k, +m,p,q,u);if(z){if(k=J(l,z.tx,z.ty,{dt_tolerance_seconds:.1,init_f1:z.ax,init_f2:z.ay})){if(0>f){if(k.utd.ut+f)return null;return k}throw"Rise/set search failed after finding ascent: t1="+m+", t2="+p+", a1="+q+", a2="+u;}if(0>f){if(m.utd.ut+f)return null;m=p;q=u}}}function tc(a,b){b=v(b);var c=Gb(a,n.Sun,b);if(1805*f;++f){var g=a.AddDays(5),h=b(g);if(0>=d*h){if(0>d||0h){a=J(c,a,g,{init_f1:-d,init_f2:-h});if(!a)throw"SearchLunarApsis INTERNAL ERROR: apogee search failed!";d=ca(a).distance_au;return new Ta(a, +1,d)}throw"SearchLunarApsis INTERNAL ERROR: cannot classify apsis event!";}a=g;d=h}throw"SearchLunarApsis INTERNAL ERROR: could not find apsis within 2 synodic months of start date.";}function wc(a,b,c,d){for(var f=b===Ca.Apocenter?1:-1;;){d/=9;if(d<1/1440)return c=c.AddDays(d/2),a=la(a,c),new Ta(c,b,a);for(var g=-1,h=0,l=0;10>l;++l){var k=c.AddDays(l*d);k=f*la(a,k);if(0==l||k>h)g=l,h=k}c=c.AddDays((g-1)*d);d*=2}}function qd(a,b){var c=b.AddDays(-30/360*Z[a].OrbitalPeriod),d=b.AddDays(.75*Z[a].OrbitalPeriod), +f=c,g=c,h=-1,l=-1;d=(d.ut-c.ut)/99;for(var k=0;100>k;++k){var m=c.AddDays(k*d),p=la(a,m);0===k?l=h=p:(p>l&&(l=p,g=m),p=b.tt)return a.time.tt>=b.tt&&a.time.tt=b.tt)return a;throw"Internal error: failed to find Neptune apsis.";}function xc(a,b){function c(p){var q=p.AddDays(-5E-4);p=p.AddDays(5E-4);q=la(a,q);return(la(a,p)-q)/.001}function d(p){return-c(p)}b=v(b);if(a===n.Neptune||a=== +n.Pluto)return qd(a,b);for(var f=Z[a].OrbitalPeriod,g=f/6,h=c(b),l=0;l*g<2*f;++l){var k=b.AddDays(g),m=c(k);if(0>=h*m){f=g=void 0;if(0>h||0m)g=d,f=Ca.Apocenter;else throw"Internal error with slopes in SearchPlanetApsis";b=J(g,b,k);if(!b)throw"Failed to find slope transition in planetary apsis search.";h=la(a,b);return new Ta(b,f,h)}b=k;h=m}throw"Internal error: should have found planetary apsis within 2 orbital periods.";}function Da(a){return new L([[a.rot[0][0], +a.rot[1][0],a.rot[2][0]],[a.rot[0][1],a.rot[1][1],a.rot[2][1]],[a.rot[0][2],a.rot[1][2],a.rot[2][2]]])}function Ea(a,b){return new L([[b.rot[0][0]*a.rot[0][0]+b.rot[1][0]*a.rot[0][1]+b.rot[2][0]*a.rot[0][2],b.rot[0][1]*a.rot[0][0]+b.rot[1][1]*a.rot[0][1]+b.rot[2][1]*a.rot[0][2],b.rot[0][2]*a.rot[0][0]+b.rot[1][2]*a.rot[0][1]+b.rot[2][2]*a.rot[0][2]],[b.rot[0][0]*a.rot[1][0]+b.rot[1][0]*a.rot[1][1]+b.rot[2][0]*a.rot[1][2],b.rot[0][1]*a.rot[1][0]+b.rot[1][1]*a.rot[1][1]+b.rot[2][1]*a.rot[1][2],b.rot[0][2]* +a.rot[1][0]+b.rot[1][2]*a.rot[1][1]+b.rot[2][2]*a.rot[1][2]],[b.rot[0][0]*a.rot[2][0]+b.rot[1][0]*a.rot[2][1]+b.rot[2][0]*a.rot[2][2],b.rot[0][1]*a.rot[2][0]+b.rot[1][1]*a.rot[2][1]+b.rot[2][1]*a.rot[2][2],b.rot[0][2]*a.rot[2][0]+b.rot[1][2]*a.rot[2][1]+b.rot[2][2]*a.rot[2][2]]])}function Jb(a,b){b=v(b);var c=a.lat*e.DEG2RAD,d=a.lon*e.DEG2RAD,f=a.dist*Math.cos(c);return new E(f*Math.cos(d),f*Math.sin(d),a.dist*Math.sin(c),b)}function Kb(a){var b=Lb(a);return new eb(b.lon/15,b.lat,b.dist,a)}function Lb(a){var b= +a.x*a.x+a.y*a.y,c=Math.sqrt(b+a.z*a.z);if(0===b){if(0===a.z)throw"Zero-length vector not allowed.";var d=0;a=0>a.z?-90:90}else d=e.RAD2DEG*Math.atan2(a.y,a.x),0>d&&(d+=360),a=e.RAD2DEG*Math.atan2(a.z,Math.sqrt(b));return new Ma(a,d,c)}function yc(a){a=360-a;360<=a?a-=360:0>a&&(a+=360);return a}function Ka(a,b){y(b);if(-90>b||90c&&(c=-1);c=1.02/Math.tan((c+10.3/(c+5.11))*e.DEG2RAD)/60;"normal"===a&&-1>b&&(c*=(b+90)/89)}else{if(a)throw"Invalid refraction option: "+ +a;c=0}return c}function zc(a,b){if(-90>b||90Math.abs(d))return c-b;c-=d}}function Ua(a,b){return new E(a.rot[0][0]*b.x+a.rot[1][0]*b.y+a.rot[2][0]*b.z,a.rot[0][1]*b.x+a.rot[1][1]*b.y+a.rot[2][1]*b.z,a.rot[0][2]*b.x+a.rot[1][2]*b.y+a.rot[2][2]*b.z,b.t)}function xa(a,b){return new I(a.rot[0][0]*b.x+a.rot[1][0]*b.y+a.rot[2][0]*b.z,a.rot[0][1]*b.x+a.rot[1][1]*b.y+a.rot[2][1]*b.z,a.rot[0][2]*b.x+a.rot[1][2]*b.y+a.rot[2][2]*b.z,a.rot[0][0]*b.vx+ +a.rot[1][0]*b.vy+a.rot[2][0]*b.vz,a.rot[0][1]*b.vx+a.rot[1][1]*b.vy+a.rot[2][1]*b.vz,a.rot[0][2]*b.vx+a.rot[1][2]*b.vy+a.rot[2][2]*b.vz,b.t)}function Ac(){return new L([[1,0,0],[0,.9174821430670688,-.3977769691083922],[0,.3977769691083922,.9174821430670688]])}function Mb(a){a=v(a);var b=Ia(a,G.From2000);a=Ja(a,G.From2000);return Ea(b,a)}function Nb(a){a=v(a);var b=Ja(a,G.Into2000);a=Ia(a,G.Into2000);return Ea(b,a)}function Ob(a,b){a=v(a);var c=Math.sin(b.latitude*e.DEG2RAD),d=Math.cos(b.latitude* +e.DEG2RAD),f=Math.sin(b.longitude*e.DEG2RAD),g=Math.cos(b.longitude*e.DEG2RAD);b=[d*g,d*f,c];c=[-c*g,-c*f,d];f=[f,-g,0];a=-15*ba(a);b=sa(a,b);c=sa(a,c);a=sa(a,f);return new L([[c[0],a[0],b[0]],[c[1],a[1],b[1]],[c[2],a[2],b[2]]])}function Bc(a,b){a=Ob(a,b);return Da(a)}function Cc(a,b){a=v(a);b=Bc(a,b);a=Nb(a);return Ea(b,a)}function Dc(a){a=Nb(a);var b=Ac();return Ea(a,b)}function Ec(a){a=Dc(a);return Da(a)}function Fc(a,b){a=v(a);var c=Ec(a);a=Ob(a,b);return Ea(c,a)}function Va(a,b,c,d){var f=(d.x* +c.x+d.y*c.y+d.z*c.z)/(d.x*d.x+d.y*d.y+d.z*d.z);return new rd(b,f,e.KM_PER_AU*Math.hypot(f*d.x-c.x,f*d.y-c.y,f*d.z-c.z),695700-(1+f)*(695700-a),-695700+(1+f)*(695700+a),c,d)}function mb(a){var b=W(n.Sun,a,!0);b=new E(-b.x,-b.y,-b.z,b.t);var c=Y(a);return Va(6459,a,c,b)}function Gc(a){var b=W(n.Sun,a,!0),c=Y(a),d=new E(-c.x,-c.y,-c.z,c.t);c.x-=b.x;c.y-=b.y;c.z-=b.z;return Va(1737.4,a,d,c)}function Pb(a,b){var c=ac(a,b);b=W(n.Sun,a,!0);var d=Y(a);c=new E(c[0]-d.x,c[1]-d.y,c[2]-d.z,a);d.x-=b.x;d.y-=b.y; +d.z-=b.z;return Va(1737.4,a,c,d)}function nb(a,b,c){a=W(a,c,!0);var d=W(n.Sun,c,!0),f=new E(a.x-d.x,a.y-d.y,a.z-d.z,c);d.x=-a.x;d.y=-a.y;d.z=-a.z;return Va(b,c,d,f)}function Qb(a,b){var c=1/86400,d=b.AddDays(-c);b=b.AddDays(+c);d=a(d);return(a(b).r-d.r)/c}function sd(a){var b=a.AddDays(-.03);a=a.AddDays(.03);b=J(function(c){return Qb(mb,c)},b,a);if(!b)throw"Failed to find peak Earth shadow time.";return mb(b)}function td(a){var b=a.AddDays(-.03);a=a.AddDays(.03);b=J(function(c){return Qb(Gc,c)},b, +a);if(!b)throw"Failed to find peak Moon shadow time.";return Gc(b)}function ud(a,b,c){var d=c.AddDays(-1);c=c.AddDays(1);d=J(function(f){var g=1/86400,h=nb(a,b,f.AddDays(-g));return(nb(a,b,f.AddDays(+g)).r-h.r)/g},d,c);if(!d)throw"Failed to find peak planet shadow time.";return nb(a,b,d)}function vd(a,b){function c(g){return Pb(g,b)}var d=a.AddDays(-.2),f=a.AddDays(.2);d=J(function(g){return Qb(c,g)},d,f);if(!d)throw"PeakLocalMoonShadow: search failure for search_center_time = "+a;return Pb(d,b)} +function Rb(a,b,c){var d=c/1440;c=a.AddDays(-d);d=a.AddDays(+d);c=J(function(f){return-(mb(f).r-b)},c,a);a=J(function(f){return+(mb(f).r-b)},a,d);if(!c||!a)throw"Failed to find shadow semiduration";return 720*(a.ut-c.ut)}function Sb(a){a=ca(a);return e.RAD2DEG*a.geo_eclip_lat}function Hc(a,b,c){if(0>=a)throw"Radius of first disc must be positive.";if(0>=b)throw"Radius of second disc must be positive.";if(0>c)throw"Distance between discs is not allowed to be negative.";if(c>=a+b)return 0;if(0==c)return a<= +b?1:b*b/(a*a);var d=(a*a-b*b+c*c)/(2*c),f=a*a-d*d;if(0>=f)return a<=b?1:b*b/(a*a);f=Math.sqrt(f);return(a*a*Math.acos(d/a)-d*f+(b*b*Math.acos((c-d)/b)-(c-d)*f))/(Math.PI*a*a)}function Ic(a,b){var c=new E(a.x+b.x,a.y+b.y,a.z+b.z,a.t);a=Math.asin(Jc/c.Length());var d=Math.asin(wd/b.Length());b=N(b,c);b=Hc(a,d,b*e.DEG2RAD);return Math.min(.9999,b)}function Kc(a){a=v(a);for(var b=0;12>b;++b){var c=Sa(180,a,40);if(!c)throw"Cannot find full moon.";a=Sb(c);if(1.8>Math.abs(a)&&(a=sd(c),a.rb;++b){var c=Sa(0,a,40);if(!c)throw"Cannot find new moon";a=Sb(c);if(1.8>Math.abs(a)&&(a=td(c),a.r= +d?d+=360:180h.r)throw"Unexpected shadow distance from geoid intersection = "+h.r;g=.014Math.abs(c)){var d=vd(a,b);if(d.rAa(a,d)&&(b=ud(a,c,d),b.r=c.lat*f.lat){a.$jscomp$loop$prop$kind$33=f.lat>c.lat?oa.Ascending:oa.Descending;b=J(function(g){return function(h){return g.$jscomp$loop$prop$kind$33* +ib(h).lat}}(a),b,d);if(!b)throw"Could not find moon node.";return new Yc(a.$jscomp$loop$prop$kind$33,b)}b=d;c=f}}function Zc(a,b,c,d,f){if(1>a||5=c)throw"Major mass must be a positive number.";if(!Number.isFinite(f)||0>=f)throw"Minor mass must be a negative number.";var g=d.x-b.x,h=d.y-b.y,l=d.z-b.z,k=g*g+h*h+l*l,m=Math.sqrt(k),p=d.vx-b.vx,q=d.vy-b.vy;d=d.vz-b.vz;if(4===a||5===a){k=h*d-l*q;c=l*p-g*d;var u=g*q-h*p,z=c*l-u*h;u=u*g-k*l;k= +k*h-c*g;c=Math.sqrt(z*z+u*u+k*k);z/=c;u/=c;k/=c;g/=m;h/=m;l/=m;a=4==a?.8660254037844386:-.8660254037844386;c=.5*g+a*z;f=.5*h+a*u;var w=.5*l+a*k,B=p*g+q*h+d*l;p=p*z+q*u+d*k;b=new I(m*c,m*f,m*w,B*c+p*(.5*z-a*g),B*f+p*(.5*u-a*h),B*w+p*(.5*k-a*l),b.t)}else{z=f/(c+f)*-m;u=c/(c+f)*+m;k=(c+f)/(k*m);if(1===a||2===a)w=c/(c+f)*Math.cbrt(f/(3*c)),c=-c,1==a?(w=1-w,a=+f):(w=1+w,a=-f);else if(3===a)w=(7/12*f-c)/(f+c),c=+c,a=+f;else throw"Invalid Langrage point "+a+". Must be an integer 1..5.";f=m*w-z;do w=f-z, +B=f-u,w=(k*f+c/(w*w)+a/(B*B))/(k-2*c/(w*w*w)-2*a/(B*B*B)),f-=w;while(1E-14Math.abs(c))return b;b=b.AddDays(c)}};O.prototype.toString=function(){return this.date.toISOString()};O.prototype.AddDays=function(a){return new O(this.ut+a)};e.AstroTime=O;e.MakeTime=v;var Xb=[[[0,0,0,0,1],[-172064161,-174666,33386,92052331,9086,15377]],[[0,0,2,-2,2],[-13170906,-1675,-13696,5730336,-3015,-4587]],[[0,0,2,0,2],[-2276413,-234,2796,978459,-485,1374]],[[0,0,0,0,2],[2074554,207,-698,-897492,470,-291]],[[0, +1,0,0,0],[1475877,-3633,11817,73871,-184,-1924]],[[0,1,2,-2,2],[-516821,1226,-524,224386,-677,-174]],[[1,0,0,0,0],[711159,73,-872,-6750,0,358]],[[0,0,2,0,1],[-387298,-367,380,200728,18,318]],[[1,0,2,0,2],[-301461,-36,816,129025,-63,367]],[[0,-1,2,-2,2],[215829,-494,111,-95929,299,132]],[[0,0,2,-2,1],[128227,137,181,-68982,-9,39]],[[-1,0,2,0,2],[123457,11,19,-53311,32,-4]],[[-1,0,0,2,0],[156994,10,-168,-1235,0,82]],[[1,0,0,0,1],[63110,63,27,-33228,0,-9]],[[-1,0,0,0,1],[-57976,-63,-189,31429,0,-75]], +[[-1,0,2,2,2],[-59641,-11,149,25543,-11,66]],[[1,0,2,0,1],[-51613,-42,129,26366,0,78]],[[-2,0,2,0,1],[45893,50,31,-24236,-10,20]],[[0,0,0,2,0],[63384,11,-150,-1220,0,29]],[[0,0,2,2,2],[-38571,-1,158,16452,-11,68]],[[0,-2,2,-2,2],[32481,0,0,-13870,0,0]],[[-2,0,0,2,0],[-47722,0,-18,477,0,-25]],[[2,0,2,0,2],[-31046,-1,131,13238,-11,59]],[[1,0,2,-2,2],[28593,0,-1,-12338,10,-3]],[[-1,0,2,0,1],[20441,21,10,-10758,0,-3]],[[2,0,0,0,0],[29243,0,-74,-609,0,13]],[[0,0,2,0,0],[25887,0,-66,-550,0,11]],[[0,1,0, +0,1],[-14053,-25,79,8551,-2,-45]],[[-1,0,0,2,1],[15164,10,11,-8001,0,-1]],[[0,2,2,-2,2],[-15794,72,-16,6850,-42,-5]],[[0,0,-2,2,0],[21783,0,13,-167,0,13]],[[1,0,0,-2,1],[-12873,-10,-37,6953,0,-14]],[[0,-1,0,0,1],[-12654,11,63,6415,0,26]],[[-1,0,2,2,1],[-10204,0,25,5222,0,15]],[[0,2,0,0,0],[16707,-85,-10,168,-1,10]],[[1,0,2,2,2],[-7691,0,44,3268,0,19]],[[-2,0,2,0,0],[-11024,0,-14,104,0,2]],[[0,1,2,0,2],[7566,-21,-11,-3250,0,-5]],[[0,0,2,2,1],[-6637,-11,25,3353,0,14]],[[0,-1,2,0,2],[-7141,21,8,3070, +0,4]],[[0,0,0,2,1],[-6302,-11,2,3272,0,4]],[[1,0,2,-2,1],[5800,10,2,-3045,0,-1]],[[2,0,2,-2,2],[6443,0,-7,-2768,0,-4]],[[-2,0,0,2,1],[-5774,-11,-15,3041,0,-5]],[[2,0,2,0,1],[-5350,0,21,2695,0,12]],[[0,-1,2,-2,1],[-4752,-11,-3,2719,0,-3]],[[0,0,0,-2,1],[-4940,-11,-21,2720,0,-9]],[[-1,-1,0,2,0],[7350,0,-8,-51,0,4]],[[2,0,0,-2,1],[4065,0,6,-2206,0,1]],[[1,0,0,2,0],[6579,0,-24,-199,0,2]],[[0,1,2,-2,1],[3579,0,5,-1900,0,1]],[[1,-1,0,0,0],[4725,0,-6,-41,0,3]],[[-2,0,2,0,2],[-3075,0,-2,1313,0,-1]],[[3,0, +2,0,2],[-2904,0,15,1233,0,7]],[[0,-1,0,2,0],[4348,0,-10,-81,0,2]],[[1,-1,2,0,2],[-2878,0,8,1232,0,4]],[[0,0,0,1,0],[-4230,0,5,-20,0,-2]],[[-1,-1,2,2,2],[-2819,0,7,1207,0,3]],[[-1,0,2,0,0],[-4056,0,5,40,0,-2]],[[0,-1,2,2,2],[-2647,0,11,1129,0,5]],[[-2,0,0,0,1],[-2294,0,-10,1266,0,-4]],[[1,1,2,0,2],[2481,0,-7,-1062,0,-3]],[[2,0,0,0,1],[2179,0,-2,-1129,0,-2]],[[-1,1,0,1,0],[3276,0,1,-9,0,0]],[[1,1,0,0,0],[-3389,0,5,35,0,-2]],[[1,0,2,0,0],[3339,0,-13,-107,0,1]],[[-1,0,2,-2,1],[-1987,0,-6,1073,0,-2]], +[[1,0,0,0,2],[-1981,0,0,854,0,0]],[[-1,0,0,1,0],[4026,0,-353,-553,0,-139]],[[0,0,2,1,2],[1660,0,-5,-710,0,-2]],[[-1,0,2,4,2],[-1521,0,9,647,0,4]],[[-1,1,0,1,1],[1314,0,0,-700,0,0]],[[0,-2,2,-2,1],[-1283,0,0,672,0,0]],[[1,0,2,2,1],[-1331,0,8,663,0,4]],[[-2,0,2,2,2],[1383,0,-2,-594,0,-2]],[[-1,0,0,0,2],[1405,0,4,-610,0,2]],[[1,1,2,-2,2],[1290,0,0,-556,0,0]]],Xa;e.CalcMoonCount=0;var $c=function(a,b,c,d,f,g){this.elat=a;this.elon=b;this.mlat=c;this.mlon=d;this.dist_km=f;this.diam_deg=g};e.LibrationInfo= +$c;e.Libration=function(a){var b=v(a);a=b.tt/36525;var c=a*a,d=c*a,f=c*c,g=ca(b);b=g.geo_eclip_lon;var h=g.geo_eclip_lat;g=g.distance_au*e.KM_PER_AU;var l=1.543*e.DEG2RAD,k=e.DEG2RAD*za(93.272095+483202.0175233*a-.0036539*c-d/3526E3+f/86331E4),m=e.DEG2RAD*za(125.0445479-1934.1362891*a+.0020754*c+d/467441-f/60616E3),p=e.DEG2RAD*za(357.5291092+35999.0502909*a-1.536E-4*c+d/2449E4),q=e.DEG2RAD*za(134.9633964+477198.8675055*a+.0087414*c+d/69699-f/14712E3);d=e.DEG2RAD*za(297.8501921+445267.1114034*a-.0018819* +c+d/545868-f/113065E3);c=1-.002516*a-7.4E-6*c;var u=b-m;f=Math.atan2(Math.sin(u)*Math.cos(h)*Math.cos(l)-Math.sin(h)*Math.sin(l),Math.cos(u)*Math.cos(h));var z=ya(e.RAD2DEG*(f-k));l=Math.asin(-Math.sin(u)*Math.cos(h)*Math.sin(l)-Math.sin(h)*Math.cos(l));u=-.02752*Math.cos(q)+-.02245*Math.sin(k)+.00684*Math.cos(q-2*k)+-.00293*Math.cos(2*k)+-8.5E-4*Math.cos(2*k-2*d)+-5.4E-4*Math.cos(q-2*d)+-2E-4*Math.sin(q+k)+-2E-4*Math.cos(q+2*k)+-2E-4*Math.cos(q-k)+1.4E-4*Math.cos(q+2*k-2*d);var w=-.02816*Math.sin(q)+ +.02244*Math.cos(k)+-.00682*Math.sin(q-2*k)+-.00279*Math.sin(2*k)+-8.3E-4*Math.sin(2*k-2*d)+6.9E-4*Math.sin(q-2*d)+4E-4*Math.cos(q+k)+-2.5E-4*Math.sin(2*q)+-2.3E-4*Math.sin(q+2*k)+2E-4*Math.cos(q-k)+1.9E-4*Math.sin(q-k)+1.3E-4*Math.sin(q+2*k-2*d)+-1E-4*Math.cos(q-3*k);return new $c(e.RAD2DEG*l+(w*Math.cos(f)-u*Math.sin(f)),z+(-(.0252*c*Math.sin(p)+.00473*Math.sin(2*q-2*k)+-.00467*Math.sin(q)+.00396*Math.sin(e.DEG2RAD*(119.75+131.849*a))+.00276*Math.sin(2*q-2*d)+.00196*Math.sin(m)+-.00183*Math.cos(q- +k)+.00115*Math.sin(q-2*d)+-9.6E-4*Math.sin(q-d)+4.6E-4*Math.sin(2*k-2*d)+-3.9E-4*Math.sin(q-k)+-3.2E-4*Math.sin(q-p-d)+2.7E-4*Math.sin(2*q-p-2*d)+2.3E-4*Math.sin(e.DEG2RAD*(72.56+20.186*a))+-1.4E-4*Math.sin(2*d)+1.4E-4*Math.cos(2*q-2*k)+-1.2E-4*Math.sin(q-2*k)+-1.2E-4*Math.sin(2*q)+1.1E-4*Math.sin(2*q-2*p-2*d))+(u*Math.cos(f)+w*Math.sin(f))*Math.tan(l)),e.RAD2DEG*h,e.RAD2DEG*b,g,2*e.RAD2DEG*Math.atan(1737.4/Math.sqrt(g*g-1737.4*1737.4)))};var bb;e.SiderealTime=function(a){a=v(a);return ba(a)};var E= +function(a,b,c,d){this.x=a;this.y=b;this.z=c;this.t=d};E.prototype.Length=function(){return Math.hypot(this.x,this.y,this.z)};e.Vector=E;var I=function(a,b,c,d,f,g,h){this.x=a;this.y=b;this.z=c;this.vx=d;this.vy=f;this.vz=g;this.t=h};e.StateVector=I;var Ma=function(a,b,c){this.lat=y(a);this.lon=y(b);this.dist=y(c)};e.Spherical=Ma;var eb=function(a,b,c,d){this.ra=y(a);this.dec=y(b);this.dist=y(c);this.vec=d};e.EquatorialCoordinates=eb;var L=function(a){this.rot=a};e.RotationMatrix=L;e.MakeRotation= +function(a){if(!kd(a))throw"Argument must be a [3][3] array of numbers";return new L(a)};var cc=function(a,b,c,d){this.azimuth=y(a);this.altitude=y(b);this.ra=y(c);this.dec=y(d)};e.HorizontalCoordinates=cc;var fc=function(a,b,c){this.vec=a;this.elat=y(b);this.elon=y(c)};e.EclipticCoordinates=fc;e.Horizon=fb;var ub=function(a,b,c){this.latitude=a;this.longitude=b;this.height=c;ta(this)};e.Observer=ub;e.SunPosition=dc;e.Equator=gb;e.ObserverVector=function(a,b,c){a=v(a);var d=ba(a);b=tb(b,d).pos;c|| +(b=db(b,a,G.Into2000));return new E(b[0],b[1],b[2],a)};e.ObserverState=function(a,b,c){a=v(a);var d=ba(a);b=tb(b,d);b=new I(b.pos[0],b.pos[1],b.pos[2],b.vel[0],b.vel[1],b.vel[2],a);return c?b:(c=G.Into2000,c===G.Into2000?(d=Ja(a,c),b=xa(d,b),a=Ia(a,c),a=xa(a,b)):(d=Ia(a,c),b=xa(d,b),a=Ja(a,c),a=xa(a,b)),a)};e.VectorObserver=function(a,b){var c=ba(a.t),d=[a.x,a.y,a.z];b||(d=Ha(d,a.t,G.From2000),d=cb(d,a.t,G.From2000));b=d[0]*e.KM_PER_AU;var f=d[1]*e.KM_PER_AU;d=d[2]*e.KM_PER_AU;a=Math.hypot(b,f);if(1E-6> +a){c=0;var g=0=c;)c+=360;for(;180Math.abs(p))break;g-=p/(-42.69778487239616*((l-k)/h-k*l*-.006694397995865464/(-42.69778487239616*m))+d*f+a*b)}g*=e.RAD2DEG;h=6378.1366/h;d=Math.abs(f)>Math.abs(b)?d/f-.9933056020041345*h:a/b-h}return new ub(g, +c,1E3*d)};e.ObserverGravity=function(a,b){a=Math.sin(a*e.DEG2RAD);a*=a;return 9.7803253359*(1+.00193185265241*a)/Math.sqrt(1-.00669437999013*a)*(1-(3.15704E-7-2.10269E-9*a)*b+7.37452E-14*b*b)};e.Ecliptic=La;e.GeoMoon=Y;e.EclipticGeoMoon=ib;e.GeoMoonState=Na;e.GeoEmbState=wb;var ja=[[-73E4,[-26.118207232108,-14.376168177825,3.384402515299],[.0016339372163656,-.0027861699588508,-.0013585880229445]],[-700800,[41.974905202127,-.448502952929,-12.770351505989],[7.3458569351457E-4,.0022785014891658,4.8619778602049E-4]], +[-671600,[14.706930780744,44.269110540027,9.353698474772],[-.00210001479998,2.2295915939915E-4,7.0143443551414E-4]],[-642400,[-29.441003929957,-6.43016153057,6.858481011305],[8.4495803960544E-4,-.0030783914758711,-.0012106305981192]],[-613200,[39.444396946234,-6.557989760571,-13.913760296463],[.0011480029005873,.0022400006880665,3.5168075922288E-4]],[-584E3,[20.2303809507,43.266966657189,7.382966091923],[-.0019754081700585,5.3457141292226E-4,7.5929169129793E-4]],[-554800,[-30.65832536462,2.093818874552, +9.880531138071],[6.1010603013347E-5,-.0031326500935382,-9.9346125151067E-4]],[-525600,[35.737703251673,-12.587706024764,-14.677847247563],[.0015802939375649,.0021347678412429,1.9074436384343E-4]],[-496400,[25.466295188546,41.367478338417,5.216476873382],[-.0018054401046468,8.328308359951E-4,8.0260156912107E-4]],[-467200,[-29.847174904071,10.636426313081,12.297904180106],[-6.3257063052907E-4,-.0029969577578221,-7.4476074151596E-4]],[-438E3,[30.774692107687,-18.236637015304,-14.945535879896],[.0020113162005465, +.0019353827024189,-2.0937793168297E-6]],[-408800,[30.243153324028,38.656267888503,2.938501750218],[-.0016052508674468,.0011183495337525,8.3333973416824E-4]],[-379600,[-27.288984772533,18.643162147874,14.023633623329],[-.0011856388898191,-.0027170609282181,-4.9015526126399E-4]],[-350400,[24.519605196774,-23.245756064727,-14.626862367368],[.0024322321483154,.0016062008146048,-2.3369181613312E-4]],[-321200,[34.505274805875,35.125338586954,.557361475637],[-.0013824391637782,.0013833397561817,8.4823598806262E-4]], +[-292E3,[-23.275363915119,25.818514298769,15.055381588598],[-.0016062295460975,-.0023395961498533,-2.4377362639479E-4]],[-262800,[17.050384798092,-27.180376290126,-13.608963321694],[.0028175521080578,.0011358749093955,-4.9548725258825E-4]],[-233600,[38.093671910285,30.880588383337,-1.843688067413],[-.0011317697153459,.0016128814698472,8.4177586176055E-4]],[-204400,[-18.197852930878,31.932869934309,15.438294826279],[-.0019117272501813,-.0019146495909842,-1.9657304369835E-5]],[-175200,[8.528924039997, +-29.618422200048,-11.805400994258],[.0031034370787005,5.139363329243E-4,-7.7293066202546E-4]],[-146E3,[40.94685725864,25.904973592021,-4.256336240499],[-8.3652705194051E-4,.0018129497136404,8.156422827306E-4]],[-116800,[-12.326958895325,36.881883446292,15.217158258711],[-.0021166103705038,-.001481442003599,1.7401209844705E-4]],[-87600,[-.633258375909,-30.018759794709,-9.17193287495],[.0032016994581737,-2.5279858672148E-4,-.0010411088271861]],[-58400,[42.936048423883,20.344685584452,-6.588027007912], +[-5.0525450073192E-4,.0019910074335507,7.7440196540269E-4]],[-29200,[-5.975910552974,40.61180995846,14.470131723673],[-.0022184202156107,-.0010562361130164,3.3652250216211E-4]],[0,[-9.875369580774,-27.978926224737,-5.753711824704],[.0030287533248818,-.0011276087003636,-.0012651326732361]],[29200,[43.958831986165,14.214147973292,-8.808306227163],[-1.4717608981871E-4,.0021404187242141,7.1486567806614E-4]],[58400,[.67813676352,43.094461639362,13.243238780721],[-.0022358226110718,-6.3233636090933E-4, +4.7664798895648E-4]],[87600,[-18.282602096834,-23.30503958666,-1.766620508028],[.0025567245263557,-.0019902940754171,-.0013943491701082]],[116800,[43.873338744526,7.700705617215,-10.814273666425],[2.3174803055677E-4,.0022402163127924,6.2988756452032E-4]],[146E3,[7.392949027906,44.382678951534,11.629500214854],[-.002193281545383,-2.1751799585364E-4,5.9556516201114E-4]],[175200,[-24.981690229261,-16.204012851426,2.466457544298],[.001819398914958,-.0026765419531201,-.0013848283502247]],[204400,[42.530187039511, +.845935508021,-12.554907527683],[6.5059779150669E-4,.0022725657282262,5.1133743202822E-4]],[233600,[13.999526486822,44.462363044894,9.669418486465],[-.0021079296569252,1.7533423831993E-4,6.9128485798076E-4]],[262800,[-29.184024803031,-7.371243995762,6.493275957928],[9.3581363109681E-4,-.0030610357109184,-.0012364201089345]],[292E3,[39.831980671753,-6.078405766765,-13.909815358656],[.0011117769689167,.0022362097830152,3.6230548231153E-4]],[321200,[20.294955108476,43.417190420251,7.450091985932],[-.0019742157451535, +5.3102050468554E-4,7.5938408813008E-4]],[350400,[-30.66999230216,2.318743558955,9.973480913858],[4.5605107450676E-5,-.0031308219926928,-9.9066533301924E-4]],[379600,[35.626122155983,-12.897647509224,-14.777586508444],[.0016015684949743,.0021171931182284,1.8002516202204E-4]],[408800,[26.133186148561,41.232139187599,5.00640132622],[-.0017857704419579,8.6046232702817E-4,8.0614690298954E-4]],[438E3,[-29.57674022923,11.863535943587,12.631323039872],[-7.2292830060955E-4,-.0029587820140709,-7.08242964503E-4]], +[467200,[29.910805787391,-19.159019294,-15.013363865194],[.0020871080437997,.0018848372554514,-3.8528655083926E-5]],[496400,[31.375957451819,38.050372720763,2.433138343754],[-.0015546055556611,.0011699815465629,8.3565439266001E-4]],[525600,[-26.360071336928,20.662505904952,14.414696258958],[-.0013142373118349,-.0026236647854842,-4.2542017598193E-4]],[554800,[22.599441488648,-24.508879898306,-14.484045731468],[.0025454108304806,.0014917058755191,-3.0243665086079E-4]],[584E3,[35.877864013014,33.894226366071, +-.224524636277],[-.0012941245730845,.0014560427668319,8.4762160640137E-4]],[613200,[-21.538149762417,28.204068269761,15.321973799534],[-.001731211740901,-.0021939631314577,-1.631691327518E-4]],[642400,[13.971521374415,-28.339941764789,-13.083792871886],[.0029334630526035,9.1860931752944E-4,-5.9939422488627E-4]],[671600,[39.526942044143,28.93989736011,-2.872799527539],[-.0010068481658095,.001702113288809,8.3578230511981E-4]],[700800,[-15.576200701394,34.399412961275,15.466033737854],[-.0020098814612884, +-.0017191109825989,7.0414782780416E-5]],[73E4,[4.24325283709,-30.118201690825,-10.707441231349],[.0031725847067411,1.609846120227E-4,-9.0672150593868E-4]]],C=function(a,b,c){this.x=a;this.y=b;this.z=c};C.prototype.clone=function(){return new C(this.x,this.y,this.z)};C.prototype.ToAstroVector=function(a){return new E(this.x,this.y,this.z,a)};C.zero=function(){return new C(0,0,0)};C.prototype.quadrature=function(){return this.x*this.x+this.y*this.y+this.z*this.z};C.prototype.add=function(a){return new C(this.x+ +a.x,this.y+a.y,this.z+a.z)};C.prototype.sub=function(a){return new C(this.x-a.x,this.y-a.y,this.z-a.z)};C.prototype.incr=function(a){this.x+=a.x;this.y+=a.y;this.z+=a.z};C.prototype.decr=function(a){this.x-=a.x;this.y-=a.y;this.z-=a.z};C.prototype.mul=function(a){return new C(a*this.x,a*this.y,a*this.z)};C.prototype.div=function(a){return new C(this.x/a,this.y/a,this.z/a)};C.prototype.mean=function(a){return new C((this.x+a.x)/2,(this.y+a.y)/2,(this.z+a.z)/2)};C.prototype.neg=function(){return new C(-this.x, +-this.y,-this.z)};var X=function(a,b,c){this.tt=a;this.r=b;this.v=c};X.prototype.clone=function(){return new X(this.tt,this.r,this.v)};X.prototype.sub=function(a){return new X(this.tt,this.r.sub(a.r),this.v.sub(a.v))};var wa=function(a){var b=new X(a,new C(0,0,0),new C(0,0,0));this.Jupiter=T(b,a,n.Jupiter,2.825345909524226E-7);this.Saturn=T(b,a,n.Saturn,8.459715185680659E-8);this.Uranus=T(b,a,n.Uranus,1.292024916781969E-8);this.Neptune=T(b,a,n.Neptune,1.524358900784276E-8);this.Jupiter.r.decr(b.r); +this.Jupiter.v.decr(b.v);this.Saturn.r.decr(b.r);this.Saturn.v.decr(b.v);this.Uranus.r.decr(b.r);this.Uranus.v.decr(b.v);this.Neptune.r.decr(b.r);this.Neptune.v.decr(b.v);this.Sun=new X(a,b.r.mul(-1),b.v.mul(-1))};wa.prototype.Acceleration=function(a){var b=Pa(a,2.959122082855911E-4,this.Sun.r);b.incr(Pa(a,2.825345909524226E-7,this.Jupiter.r));b.incr(Pa(a,8.459715185680659E-8,this.Saturn.r));b.incr(Pa(a,1.292024916781969E-8,this.Uranus.r));b.incr(Pa(a,1.524358900784276E-8,this.Neptune.r));return b}; +var Qa=function(a,b,c,d){this.tt=a;this.r=b;this.v=c;this.a=d};Qa.prototype.clone=function(){return new Qa(this.tt,this.r.clone(),this.v.clone(),this.a.clone())};var jc=function(a,b){this.bary=a;this.grav=b},Db=[],ld=new L([[.999432765338654,-.0336771074697641,0],[.0303959428906285,.902057912352809,.430543388542295],[-.0144994559663353,-.430299169409101,.902569881273754]]),pb=[{mu:2.82489428433814E-7,al:[1.446213296021224,3.5515522861824],a:[[.0028210960212903,0,0]],l:[[-1.925258348666E-4,4.9369589722645, +.01358483658305],[-9.70803596076E-5,4.3188796477322,.01303413843243],[-8.988174165E-5,1.9080016428617,.00305064867158],[-5.53101050262E-5,1.4936156681569,.01293892891155]],z:[[.0041510849668155,4.089939635545,-.01290686414666],[6.260521444113E-4,1.446188898627,3.5515522949802],[3.52747346169E-5,2.1256287034578,1.2727416567E-4]],zeta:[[3.142172466014E-4,2.7964219722923,-.002315096098],[9.04169207946E-5,1.0477061879627,-5.6920638196E-4]]},{mu:2.82483274392893E-7,al:[-.3735263437471362,1.76932271112347], +a:[[.0044871037804314,0,0],[4.324367498E-7,1.819645606291,1.7822295777568]],l:[[8.576433172936E-4,4.3188693178264,.01303413830805],[4.549582875086E-4,1.4936531751079,.01293892881962],[3.248939825174E-4,1.8196494533458,1.7822295777568],[-3.074250079334E-4,4.9377037005911,.01358483286724],[1.982386144784E-4,1.907986905476,.00305101212869],[1.834063551804E-4,2.1402853388529,.00145009789338],[-1.434383188452E-4,5.622214036663,.89111478887838],[-7.71939140944E-5,4.300272437235,2.6733443704266]],z:[[-.0093589104136341, +4.0899396509039,-.01290686414666],[2.988994545555E-4,5.9097265185595,1.7693227079462],[2.13903639035E-4,2.1256289300016,1.2727418407E-4],[1.980963564781E-4,2.743516829265,6.7797343009E-4],[1.210388158965E-4,5.5839943711203,3.20566149E-5],[8.37042048393E-5,1.6094538368039,-.90402165808846],[8.23525166369E-5,1.4461887708689,3.5515522949802]],zeta:[[.0040404917832303,1.0477063169425,-5.692064054E-4],[2.200421034564E-4,3.3368857864364,-1.2491307307E-4],[1.662544744719E-4,2.4134862374711,0],[5.90282470983E-5, +5.9719930968366,-3.056160225E-5]]},{mu:2.82498184184723E-7,al:[.2874089391143348,.878207923589328],a:[[.0071566594572575,0,0],[1.393029911E-6,1.1586745884981,2.6733443704266]],l:[[2.310797886226E-4,2.1402987195942,.00145009784384],[-1.828635964118E-4,4.3188672736968,.01303413828263],[1.512378778204E-4,4.9373102372298,.01358483481252],[-1.163720969778E-4,4.300265986149,2.6733443704266],[-9.55478069846E-5,1.4936612842567,.01293892879857],[8.15246854464E-5,5.6222137132535,.89111478887838],[-8.01219679602E-5, +1.2995922951532,1.0034433456729],[-6.07017260182E-5,.64978769669238,.50172167043264]],z:[[.0014289811307319,2.1256295942739,1.2727413029E-4],[7.71093122676E-4,5.5836330003496,3.20643411E-5],[5.925911780766E-4,4.0899396636448,-.01290686414666],[2.045597496146E-4,5.2713683670372,-.12523544076106],[1.785118648258E-4,.28743156721063,.8782079244252],[1.131999784893E-4,1.4462127277818,3.5515522949802],[-6.5877816921E-5,2.2702423990985,-1.7951364394537],[4.97058888328E-5,5.9096792204858,1.7693227129285]], +zeta:[[.0015932721570848,3.3368862796665,-1.2491307058E-4],[8.533093128905E-4,2.4133881688166,0],[3.513347911037E-4,5.9720789850127,-3.056101771E-5],[-1.441929255483E-4,1.0477061764435,-5.6920632124E-4]]},{mu:2.82492144889909E-7,al:[-.3620341291375704,.376486233433828],a:[[.0125879701715314,0,0],[3.595204947E-6,.64965776007116,.50172168165034],[2.7580210652E-6,1.808423578151,3.1750660413359]],l:[[5.586040123824E-4,2.1404207189815,.00145009793231],[-3.805813868176E-4,2.7358844897853,2.972965062E-5], +[2.205152863262E-4,.649796525964,.5017216724358],[1.877895151158E-4,1.8084787604005,3.1750660413359],[7.66916975242E-5,6.2720114319755,1.3928364636651],[7.47056855106E-5,1.2995916202344,1.0034433456729]],z:[[.0073755808467977,5.5836071576084,3.206509914E-5],[2.065924169942E-4,5.9209831565786,.37648624194703],[1.589869764021E-4,.28744006242623,.8782079244252],[-1.561131605348E-4,2.1257397865089,1.2727441285E-4],[1.486043380971E-4,1.4462134301023,3.5515522949802],[6.35073108731E-5,5.9096803285954,1.7693227129285], +[5.99351698525E-5,4.1125517584798,-2.7985797954589],[5.40660842731E-5,5.5390350845569,.00286834082283],[-4.89596900866E-5,4.6218149483338,-.62695712529519]],zeta:[[.0038422977898495,2.4133922085557,0],[.0022453891791894,5.9721736773277,-3.056125525E-5],[-2.604479450559E-4,3.3368746306409,-1.2491309972E-4],[3.3211214323E-5,5.5604137742337,.00290037688507]]}],ad=function(a,b,c,d){this.io=a;this.europa=b;this.ganymede=c;this.callisto=d};e.JupiterMoonsInfo=ad;e.JupiterMoons=function(a){a=new O(a);return new ad(kb(a, +pb[0]),kb(a,pb[1]),kb(a,pb[2]),kb(a,pb[3]))};e.HelioVector=ka;e.HelioDistance=la;var bd=function(){};e.PositionFunction=bd;e.CorrectLightTravel=mc;var Eb=function(a,b,c,d){this.observerBody=a;this.targetBody=b;this.aberration=c;this.observerPos=d;return this};$jscomp.inherits(Eb,bd);Eb.prototype.Position=function(a){this.aberration&&(this.observerPos=ka(this.observerBody,a));var b=ka(this.targetBody,a);return new E(b.x-this.observerPos.x,b.y-this.observerPos.y,b.z-this.observerPos.z,a)};e.BackdatePosition= +nc;e.GeoVector=W;e.BaryState=function(a,b){b=v(b);if(a===n.SSB)return new I(0,0,0,0,0,0,b);if(a===n.Pluto)return Cb(b,!1);var c=new wa(b.tt);switch(a){case n.Sun:return ma(c.Sun,b);case n.Jupiter:return ma(c.Jupiter,b);case n.Saturn:return ma(c.Saturn,b);case n.Uranus:return ma(c.Uranus,b);case n.Neptune:return ma(c.Neptune,b);case n.Moon:case n.EMB:var d=Oa(M[n.Earth],b.tt);a=a===n.Moon?Na(b):wb(b);return new I(a.x+c.Sun.r.x+d.r.x,a.y+c.Sun.r.y+d.r.y,a.z+c.Sun.r.z+d.r.z,a.vx+c.Sun.v.x+d.v.x,a.vy+ +c.Sun.v.y+d.v.y,a.vz+c.Sun.v.z+d.v.z,b)}if(a in M)return a=Oa(M[a],b.tt),new I(c.Sun.r.x+a.r.x,c.Sun.r.y+a.r.y,c.Sun.r.z+a.r.z,c.Sun.v.x+a.v.x,c.Sun.v.y+a.v.y,c.Sun.v.z+a.v.z,b);throw'BaryState: Unsupported body "'+a+'"';};e.HelioState=Fb;e.Search=J;e.SearchSunLongitude=oc;e.PairLongitude=Gb;e.AngleFromSun=Aa;e.EclipticLongitude=na;var pc=function(a,b,c,d,f,g,h,l){this.time=a;this.mag=b;this.phase_angle=c;this.helio_dist=d;this.geo_dist=f;this.gc=g;this.hc=h;this.ring_tilt=l;this.phase_fraction=(1+ +Math.cos(e.DEG2RAD*c))/2};e.IlluminationInfo=pc;e.Illumination=lb;e.SearchRelativeLongitude=Ba;e.MoonPhase=Hb;e.SearchMoonPhase=Sa;var rc=function(a,b){this.quarter=a;this.time=b};e.MoonQuarter=rc;e.SearchMoonQuarter=qc;e.NextMoonQuarter=function(a){a=new Date(a.time.date.getTime()+5184E5);return qc(a)};e.SearchRiseSet=function(a,b,c,d,f){a:switch(a){case n.Sun:var g=Jc;break a;case n.Moon:g=xd;break a;default:g=0}return sc(a,b,c,d,f,g,-yd)};e.SearchAltitude=function(a,b,c,d,f,g){if(!Number.isFinite(g)|| +-90>g||90c||24<=c)throw"Invalid hour angle "+c;y(f);if(0===f)throw"Direction must be positive or negative.";for(;;){++g;var h=ba(d),l=gb(a,d,b,!0,!0);h=(c+l.ra- +b.longitude/15-h)%24;1===g?0h&&(h+=24):0h?h+=24:123600*Math.abs(h))return a=fb(d,b,l.ra,l.dec,"normal"),new cd(d,a);d=d.AddDays(h/24*.9972695717592592)}};var dd=function(a,b,c,d){this.mar_equinox=a;this.jun_solstice=b;this.sep_equinox=c;this.dec_solstice=d};e.SeasonInfo=dd;e.Seasons=function(a){function b(h,l,k){l=new Date(Date.UTC(a,l-1,k));h=oc(h,l,20);if(!h)throw"Cannot find season change near "+l.toISOString();return h}a instanceof Date&&Number.isFinite(a.getTime())&& +(a=a.getUTCFullYear());if(!Number.isSafeInteger(a))throw"Cannot calculate seasons because year argument "+a+" is neither a Date nor a safe integer.";var c=b(0,3,10),d=b(90,6,10),f=b(180,9,10),g=b(270,12,10);return new dd(c,d,f,g)};var uc=function(a,b,c,d){this.time=a;this.visibility=b;this.elongation=c;this.ecliptic_separation=d};e.ElongationEvent=uc;e.Elongation=tc;e.SearchMaxElongation=function(a,b){function c(m){var p=m.AddDays(-.005);m=m.AddDays(.005);p=Aa(a,p);m=Aa(a,m);return(p-m)/.01}b=v(b); +var d={Mercury:{s1:50,s2:85},Venus:{s1:40,s2:50}}[a];if(!d)throw"SearchMaxElongation works for Mercury and Venus only.";for(var f=0;2>=++f;){var g=na(a,b),h=na(n.Earth,b),l=ya(g-h),k=g=h=void 0;l>=-d.s1&&l<+d.s1?(k=0,h=+d.s1,g=+d.s2):l>=+d.s2||l<-d.s2?(k=0,h=-d.s2,g=-d.s1):0<=l?(k=-Ra(a)/4,h=+d.s1,g=+d.s2):(k=-Ra(a)/4,h=-d.s2,g=-d.s1);l=b.AddDays(k);h=Ba(a,h,l);g=Ba(a,g,h);l=c(h);if(0<=l)throw"SearchMaxElongation: internal error: m1 = "+l;k=c(g);if(0>=k)throw"SearchMaxElongation: internal error: m2 = "+ +k;l=J(c,h,g,{init_f1:l,init_f2:k,dt_tolerance_seconds:10});if(!l)throw"SearchMaxElongation: failed search iter "+f+" (t1="+h.toString()+", t2="+g.toString()+")";if(l.tt>=b.tt)return tc(a,l);b=g.AddDays(1)}throw"SearchMaxElongation: failed to find event after 2 tries.";};e.SearchPeakMagnitude=function(a,b){function c(k){var m=k.AddDays(-.005);k=k.AddDays(.005);m=lb(a,m).mag;return(lb(a,k).mag-m)/.01}if(a!==n.Venus)throw"SearchPeakMagnitude currently works for Venus only.";b=v(b);for(var d=0;2>=++d;){var f= +na(a,b),g=na(n.Earth,b),h=ya(f-g),l=f=g=void 0;-10<=h&&10>h?(l=0,g=10,f=30):30<=h||-30>h?(l=0,g=-30,f=-10):0<=h?(l=-Ra(a)/4,g=10,f=30):(l=-Ra(a)/4,g=-30,f=-10);h=b.AddDays(l);g=Ba(a,g,h);f=Ba(a,f,g);h=c(g);if(0<=h)throw"SearchPeakMagnitude: internal error: m1 = "+h;l=c(f);if(0>=l)throw"SearchPeakMagnitude: internal error: m2 = "+l;h=J(c,g,f,{init_f1:h,init_f2:l,dt_tolerance_seconds:10});if(!h)throw"SearchPeakMagnitude: failed search iter "+d+" (t1="+g.toString()+", t2="+f.toString()+")";if(h.tt>= +b.tt)return lb(a,h);b=f.AddDays(1)}throw"SearchPeakMagnitude: failed to find event after 2 tries.";};var Ca;(function(a){a[a.Pericenter=0]="Pericenter";a[a.Apocenter=1]="Apocenter"})(Ca=e.ApsisKind||(e.ApsisKind={}));var Ta=function(a,b,c){this.time=a;this.kind=b;this.dist_au=c;this.dist_km=c*e.KM_PER_AU};e.Apsis=Ta;e.SearchLunarApsis=vc;e.NextLunarApsis=function(a){var b=vc(a.time.AddDays(11));if(1!==b.kind+a.kind)throw"NextLunarApsis INTERNAL ERROR: did not find alternating apogee/perigee: prev="+ +a.kind+" @ "+a.time.toString()+", next="+b.kind+" @ "+b.time.toString();return b};e.SearchPlanetApsis=xc;e.NextPlanetApsis=function(a,b){if(b.kind!==Ca.Pericenter&&b.kind!==Ca.Apocenter)throw"Invalid apsis kind: "+b.kind;var c=b.time.AddDays(.25*Z[a].OrbitalPeriod);a=xc(a,c);if(1!==a.kind+b.kind)throw"Internal error: previous apsis was "+b.kind+", but found "+a.kind+" for next apsis.";return a};e.InverseRotation=Da;e.CombineRotation=Ea;e.IdentityMatrix=function(){return new L([[1,0,0],[0,1,0],[0, +0,1]])};e.Pivot=function(a,b,c){if(0!==b&&1!==b&&2!==b)throw"Invalid axis "+b+". Must be [0, 1, 2].";var d=y(c)*e.DEG2RAD;c=Math.cos(d);d=Math.sin(d);var f=(b+1)%3,g=(b+2)%3,h=[[0,0,0],[0,0,0],[0,0,0]];h[f][f]=c*a.rot[f][f]-d*a.rot[f][g];h[f][g]=d*a.rot[f][f]+c*a.rot[f][g];h[f][b]=a.rot[f][b];h[g][f]=c*a.rot[g][f]-d*a.rot[g][g];h[g][g]=d*a.rot[g][f]+c*a.rot[g][g];h[g][b]=a.rot[g][b];h[b][f]=c*a.rot[b][f]-d*a.rot[b][g];h[b][g]=d*a.rot[b][f]+c*a.rot[b][g];h[b][b]=a.rot[b][b];return new L(h)};e.VectorFromSphere= +Jb;e.EquatorFromVector=Kb;e.SphereFromVector=Lb;e.HorizonFromVector=function(a,b){a=Lb(a);a.lon=yc(a.lon);a.lat+=Ka(b,a.lat);return a};e.VectorFromHorizon=function(a,b,c){b=v(b);var d=yc(a.lon);c=a.lat+zc(c,a.lat);a=new Ma(c,d,a.dist);return Jb(a,b)};e.Refraction=Ka;e.InverseRefraction=zc;e.RotateVector=Ua;e.RotateState=xa;e.Rotation_EQJ_ECL=Ac;e.Rotation_ECL_EQJ=function(){return new L([[1,0,0],[0,.9174821430670688,.3977769691083922],[0,-.3977769691083922,.9174821430670688]])};e.Rotation_EQJ_EQD= +Mb;e.Rotation_EQD_EQJ=Nb;e.Rotation_EQD_HOR=Ob;e.Rotation_HOR_EQD=Bc;e.Rotation_HOR_EQJ=Cc;e.Rotation_EQJ_HOR=function(a,b){a=Cc(a,b);return Da(a)};e.Rotation_EQD_ECL=Dc;e.Rotation_ECL_EQD=Ec;e.Rotation_ECL_HOR=Fc;e.Rotation_HOR_ECL=function(a,b){a=Fc(a,b);return Da(a)};e.Rotation_EQJ_GAL=function(){return new L([[-.0548624779711344,.4941095946388765,-.8676668813529025],[-.8734572784246782,-.4447938112296831,-.1980677870294097],[-.483800052994852,.7470034631630423,.4559861124470794]])};e.Rotation_GAL_EQJ= +function(){return new L([[-.0548624779711344,-.8734572784246782,-.483800052994852],[.4941095946388765,-.4447938112296831,.7470034631630423],[-.8676668813529025,-.1980677870294097,.4559861124470794]])};var zd=[["And","Andromeda"],["Ant","Antila"],["Aps","Apus"],["Aql","Aquila"],["Aqr","Aquarius"],["Ara","Ara"],["Ari","Aries"],["Aur","Auriga"],["Boo","Bootes"],["Cae","Caelum"],["Cam","Camelopardis"],["Cap","Capricornus"],["Car","Carina"],["Cas","Cassiopeia"],["Cen","Centaurus"],["Cep","Cepheus"],["Cet", +"Cetus"],["Cha","Chamaeleon"],["Cir","Circinus"],["CMa","Canis Major"],["CMi","Canis Minor"],["Cnc","Cancer"],["Col","Columba"],["Com","Coma Berenices"],["CrA","Corona Australis"],["CrB","Corona Borealis"],["Crt","Crater"],["Cru","Crux"],["Crv","Corvus"],["CVn","Canes Venatici"],["Cyg","Cygnus"],["Del","Delphinus"],["Dor","Dorado"],["Dra","Draco"],["Equ","Equuleus"],["Eri","Eridanus"],["For","Fornax"],["Gem","Gemini"],["Gru","Grus"],["Her","Hercules"],["Hor","Horologium"],["Hya","Hydra"],["Hyi","Hydrus"], +["Ind","Indus"],["Lac","Lacerta"],["Leo","Leo"],["Lep","Lepus"],["Lib","Libra"],["LMi","Leo Minor"],["Lup","Lupus"],["Lyn","Lynx"],["Lyr","Lyra"],["Men","Mensa"],["Mic","Microscopium"],["Mon","Monoceros"],["Mus","Musca"],["Nor","Norma"],["Oct","Octans"],["Oph","Ophiuchus"],["Ori","Orion"],["Pav","Pavo"],["Peg","Pegasus"],["Per","Perseus"],["Phe","Phoenix"],["Pic","Pictor"],["PsA","Pisces Austrinus"],["Psc","Pisces"],["Pup","Puppis"],["Pyx","Pyxis"],["Ret","Reticulum"],["Scl","Sculptor"],["Sco","Scorpius"], +["Sct","Scutum"],["Ser","Serpens"],["Sex","Sextans"],["Sge","Sagitta"],["Sgr","Sagittarius"],["Tau","Taurus"],["Tel","Telescopium"],["TrA","Triangulum Australe"],["Tri","Triangulum"],["Tuc","Tucana"],["UMa","Ursa Major"],["UMi","Ursa Minor"],["Vel","Vela"],["Vir","Virgo"],["Vol","Volans"],["Vul","Vulpecula"]],Ad=[[83,0,8640,2112],[83,2880,5220,2076],[83,7560,8280,2068],[83,6480,7560,2064],[15,0,2880,2040],[10,3300,3840,1968],[15,0,1800,1920],[10,3840,5220,1920],[83,6300,6480,1920],[33,7260,7560,1920], +[15,0,1263,1848],[10,4140,4890,1848],[83,5952,6300,1800],[15,7260,7440,1800],[10,2868,3300,1764],[33,3300,4080,1764],[83,4680,5952,1680],[13,1116,1230,1632],[33,7350,7440,1608],[33,4080,4320,1596],[15,0,120,1584],[83,5040,5640,1584],[15,8490,8640,1584],[33,4320,4860,1536],[33,4860,5190,1512],[15,8340,8490,1512],[10,2196,2520,1488],[33,7200,7350,1476],[15,7393.2,7416,1462],[10,2520,2868,1440],[82,2868,3030,1440],[33,7116,7200,1428],[15,7200,7393.2,1428],[15,8232,8340,1418],[13,0,876,1404],[33,6990, +7116,1392],[13,612,687,1380],[13,876,1116,1368],[10,1116,1140,1368],[15,8034,8232,1350],[10,1800,2196,1344],[82,5052,5190,1332],[33,5190,6990,1332],[10,1140,1200,1320],[15,7968,8034,1320],[15,7416,7908,1316],[13,0,612,1296],[50,2196,2340,1296],[82,4350,4860,1272],[33,5490,5670,1272],[15,7908,7968,1266],[10,1200,1800,1260],[13,8232,8400,1260],[33,5670,6120,1236],[62,735,906,1212],[33,6120,6564,1212],[13,0,492,1200],[62,492,600,1200],[50,2340,2448,1200],[13,8400,8640,1200],[82,4860,5052,1164],[13,0, +402,1152],[13,8490,8640,1152],[39,6543,6564,1140],[33,6564,6870,1140],[30,6870,6900,1140],[62,600,735,1128],[82,3030,3300,1128],[13,60,312,1104],[82,4320,4350,1080],[50,2448,2652,1068],[30,7887,7908,1056],[30,7875,7887,1050],[30,6900,6984,1044],[82,3300,3660,1008],[82,3660,3882,960],[8,5556,5670,960],[39,5670,5880,960],[50,3330,3450,954],[0,0,906,882],[62,906,924,882],[51,6969,6984,876],[62,1620,1689,864],[30,7824,7875,864],[44,7875,7920,864],[7,2352,2652,852],[50,2652,2790,852],[0,0,720,840],[44, +7920,8214,840],[44,8214,8232,828],[0,8232,8460,828],[62,924,978,816],[82,3882,3960,816],[29,4320,4440,816],[50,2790,3330,804],[48,3330,3558,804],[0,258,507,792],[8,5466,5556,792],[0,8460,8550,770],[29,4440,4770,768],[0,8550,8640,752],[29,5025,5052,738],[80,870,978,736],[62,978,1620,736],[7,1620,1710,720],[51,6543,6969,720],[82,3960,4320,696],[30,7080,7530,696],[7,1710,2118,684],[48,3558,3780,684],[29,4770,5025,684],[0,0,24,672],[80,507,600,672],[7,2118,2352,672],[37,2838,2880,672],[30,7530,7824,672], +[30,6933,7080,660],[80,690,870,654],[25,5820,5880,648],[8,5430,5466,624],[25,5466,5820,624],[51,6612,6792,624],[48,3870,3960,612],[51,6792,6933,612],[80,600,690,600],[66,258,306,570],[48,3780,3870,564],[87,7650,7710,564],[77,2052,2118,548],[0,24,51,528],[73,5730,5772,528],[37,2118,2238,516],[87,7140,7290,510],[87,6792,6930,506],[0,51,306,504],[87,7290,7404,492],[37,2811,2838,480],[87,7404,7650,468],[87,6930,7140,460],[6,1182,1212,456],[75,6792,6840,444],[59,2052,2076,432],[37,2238,2271,420],[75,6840, +7140,388],[77,1788,1920,384],[39,5730,5790,384],[75,7140,7290,378],[77,1662,1788,372],[77,1920,2016,372],[23,4620,4860,360],[39,6210,6570,344],[23,4272,4620,336],[37,2700,2811,324],[39,6030,6210,308],[61,0,51,300],[77,2016,2076,300],[37,2520,2700,300],[61,7602,7680,300],[37,2271,2496,288],[39,6570,6792,288],[31,7515,7578,284],[61,7578,7602,284],[45,4146,4272,264],[59,2247,2271,240],[37,2496,2520,240],[21,2811,2853,240],[61,8580,8640,240],[6,600,1182,238],[31,7251,7308,204],[8,4860,5430,192],[61,8190, +8580,180],[21,2853,3330,168],[45,3330,3870,168],[58,6570,6718.4,150],[3,6718.4,6792,150],[31,7500,7515,144],[20,2520,2526,132],[73,6570,6633,108],[39,5790,6030,96],[58,6570,6633,72],[61,7728,7800,66],[66,0,720,48],[73,6690,6792,48],[31,7308,7500,48],[34,7500,7680,48],[61,7680,7728,48],[61,7920,8190,48],[61,7800,7920,42],[20,2526,2592,36],[77,1290,1662,0],[59,1662,1680,0],[20,2592,2910,0],[85,5280,5430,0],[58,6420,6570,0],[16,954,1182,-42],[77,1182,1290,-42],[73,5430,5856,-78],[59,1680,1830,-96],[59, +2100,2247,-96],[73,6420,6468,-96],[73,6570,6690,-96],[3,6690,6792,-96],[66,8190,8580,-96],[45,3870,4146,-144],[85,4146,4260,-144],[66,0,120,-168],[66,8580,8640,-168],[85,5130,5280,-192],[58,5730,5856,-192],[3,7200,7392,-216],[4,7680,7872,-216],[58,6180,6468,-240],[54,2100,2910,-264],[35,1770,1830,-264],[59,1830,2100,-264],[41,2910,3012,-264],[74,3450,3870,-264],[85,4260,4620,-264],[58,6330,6360,-280],[3,6792,7200,-288.8],[35,1740,1770,-348],[4,7392,7680,-360],[73,6180,6570,-384],[72,6570,6792,-384], +[41,3012,3090,-408],[58,5856,5895,-438],[41,3090,3270,-456],[26,3870,3900,-456],[71,5856,5895,-462],[47,5640,5730,-480],[28,4530,4620,-528],[85,4620,5130,-528],[41,3270,3510,-576],[16,600,954,-585.2],[35,954,1350,-585.2],[26,3900,4260,-588],[28,4260,4530,-588],[47,5130,5370,-588],[58,5856,6030,-590],[16,0,600,-612],[11,7680,7872,-612],[4,7872,8580,-612],[16,8580,8640,-612],[41,3510,3690,-636],[35,1692,1740,-654],[46,1740,2202,-654],[11,7200,7680,-672],[41,3690,3810,-700],[41,4530,5370,-708],[47,5370, +5640,-708],[71,5640,5760,-708],[35,1650,1692,-720],[58,6030,6336,-720],[76,6336,6420,-720],[41,3810,3900,-748],[19,2202,2652,-792],[41,4410,4530,-792],[41,3900,4410,-840],[36,1260,1350,-864],[68,3012,3372,-882],[35,1536,1650,-888],[76,6420,6900,-888],[65,7680,8280,-888],[70,8280,8400,-888],[36,1080,1260,-950],[1,3372,3960,-954],[70,0,600,-960],[36,600,1080,-960],[35,1392,1536,-960],[70,8400,8640,-960],[14,5100,5370,-1008],[49,5640,5760,-1008],[71,5760,5911.5,-1008],[9,1740,1800,-1032],[22,1800,2370, +-1032],[67,2880,3012,-1032],[35,1230,1392,-1056],[71,5911.5,6420,-1092],[24,6420,6900,-1092],[76,6900,7320,-1092],[53,7320,7680,-1092],[35,1080,1230,-1104],[9,1620,1740,-1116],[49,5520,5640,-1152],[63,0,840,-1156],[35,960,1080,-1176],[40,1470,1536,-1176],[9,1536,1620,-1176],[38,7680,7920,-1200],[67,2160,2880,-1218],[84,2880,2940,-1218],[35,870,960,-1224],[40,1380,1470,-1224],[63,0,660,-1236],[12,2160,2220,-1260],[84,2940,3042,-1272],[40,1260,1380,-1276],[32,1380,1440,-1276],[63,0,570,-1284],[35,780, +870,-1296],[64,1620,1800,-1296],[49,5418,5520,-1296],[84,3042,3180,-1308],[12,2220,2340,-1320],[14,4260,4620,-1320],[49,5100,5418,-1320],[56,5418,5520,-1320],[32,1440,1560,-1356],[84,3180,3960,-1356],[14,3960,4050,-1356],[5,6300,6480,-1368],[78,6480,7320,-1368],[38,7920,8400,-1368],[40,1152,1260,-1380],[64,1800,1980,-1380],[12,2340,2460,-1392],[63,0,480,-1404],[35,480,780,-1404],[63,8400,8640,-1404],[32,1560,1650,-1416],[56,5520,5911.5,-1440],[43,7320,7680,-1440],[64,1980,2160,-1464],[18,5460,5520, +-1464],[5,5911.5,5970,-1464],[18,5370,5460,-1526],[5,5970,6030,-1526],[64,2160,2460,-1536],[12,2460,3252,-1536],[14,4050,4260,-1536],[27,4260,4620,-1536],[14,4620,5232,-1536],[18,4860,4920,-1560],[5,6030,6060,-1560],[40,780,1152,-1620],[69,1152,1650,-1620],[18,5310,5370,-1620],[5,6060,6300,-1620],[60,6300,6480,-1620],[81,7920,8400,-1620],[32,1650,2370,-1680],[18,4920,5310,-1680],[79,5310,6120,-1680],[81,0,480,-1800],[42,1260,1650,-1800],[86,2370,3252,-1800],[12,3252,4050,-1800],[55,4050,4920,-1800], +[60,6480,7680,-1800],[43,7680,8400,-1800],[81,8400,8640,-1800],[81,270,480,-1824],[42,0,1260,-1980],[17,2760,4920,-1980],[2,4920,6480,-1980],[52,1260,2760,-2040],[57,0,8640,-2160]],Tb,ed,fd=function(a,b,c,d){this.symbol=a;this.name=b;this.ra1875=c;this.dec1875=d};e.ConstellationInfo=fd;e.Constellation=function(a,b){y(a);y(b);if(-90>b||90a&&(a+=24);Tb||(Tb=Mb(new O(-45655.74141261017)),ed=new O(0));a=new Ma(b,15*a,1);a=Jb(a,ed);a=Ua(Tb, +a);a=Kb(a);b=10/240;for(var c=b/15,d=$jscomp.makeIterator(Ad),f=d.next();!f.done;f=d.next()){f=f.value;var g=f[1]*c,h=f[2]*c;if(f[3]*b<=a.dec&&g<=a.ra&&a.ra +90) + throw `Invalid geographic latitude: ${latitude}`; let deriv_ra; let deriv_dec; switch (body) { @@ -4967,6 +4970,10 @@ function MaxAltitudeSlope(body, latitude) { function InternalSearchAltitude(body, observer, direction, dateStart, limitDays, bodyRadiusAu, targetAltitude) { VerifyObserver(observer); VerifyNumber(limitDays); + VerifyNumber(bodyRadiusAu); + VerifyNumber(targetAltitude); + if (targetAltitude < -90 || targetAltitude > +90) + throw `Invalid target altitude angle: ${targetAltitude}`; const RISE_SET_DT = 0.42; // 10.08 hours: Nyquist-safe for 22-hour period. const max_deriv_alt = MaxAltitudeSlope(body, observer.latitude); function altdiff(time) { diff --git a/source/js/astronomy.min.js b/source/js/astronomy.min.js index 8e604886..ce859dd4 100644 --- a/source/js/astronomy.min.js +++ b/source/js/astronomy.min.js @@ -227,9 +227,10 @@ function SearchMoonPhase(a,b,c){function d(k){k=MoonPhase(k);return LongitudeOff var MoonQuarter=function(a,b){this.quarter=a;this.time=b};exports.MoonQuarter=MoonQuarter;function SearchMoonQuarter(a){var b=MoonPhase(a);b=(Math.floor(b/90)+1)%4;a=SearchMoonPhase(90*b,a,10);if(!a)throw"Cannot find moon quarter";return new MoonQuarter(b,a)}exports.SearchMoonQuarter=SearchMoonQuarter;function NextMoonQuarter(a){a=new Date(a.time.date.getTime()+6*MILLIS_PER_DAY);return SearchMoonQuarter(a)}exports.NextMoonQuarter=NextMoonQuarter; function BodyRadiusAu(a){switch(a){case Body.Sun:return SUN_RADIUS_AU;case Body.Moon:return MOON_EQUATORIAL_RADIUS_AU;default:return 0}}function SearchRiseSet(a,b,c,d,e){var f=BodyRadiusAu(a);return InternalSearchAltitude(a,b,c,d,e,f,-REFRACTION_NEAR_HORIZON)}exports.SearchRiseSet=SearchRiseSet;function SearchAltitude(a,b,c,d,e,f){if(!Number.isFinite(f)||-90>f||90f&&0<=g)return new AscentInfo(d,e,f,g);if(0<=f&&0>g)return null;if(17k*SECONDS_PER_DAY||Math.min(Math.abs(f),Math.abs(g))>k/2*c)return null;k=new AstroTime((d.ut+e.ut)/2);var h=b(k);return FindAscent(1+a,b,c,d,k,f,h)||FindAscent(1+a,b,c,k,e,h,g)} -function MaxAltitudeSlope(a,b){switch(a){case Body.Moon:a=4.5;var c=8.2;break;case Body.Sun:a=.8;c=.5;break;case Body.Mercury:a=-1.6;c=1;break;case Body.Venus:a=-.8;c=.6;break;case Body.Mars:a=-.5;c=.4;break;case Body.Jupiter:case Body.Saturn:case Body.Uranus:case Body.Neptune:case Body.Pluto:a=-.2;c=.2;break;default:throw"Body not allowed for altitude search: "+a;}b*=exports.DEG2RAD;return Math.abs((360/SOLAR_DAYS_PER_SIDEREAL_DAY-a)*Math.cos(b))+Math.abs(c*Math.sin(b))} -function InternalSearchAltitude(a,b,c,d,e,f,g){function k(q){var t=Equator(a,q,b,!0,!0);q=Horizon(q,b,t.ra,t.dec).altitude+exports.RAD2DEG*Math.asin(f/t.dist);return c*(q-g)}VerifyObserver(b);VerifyNumber(e);for(var h=MaxAltitudeSlope(a,b.latitude),l=d=MakeTime(d),m=d,n=k(l),p=n;;){0>e?(l=m.AddDays(-.42),n=k(l)):(m=l.AddDays(.42),p=k(m));var r=FindAscent(0,k,h,l,m,n,p);if(r){if(h=Search(k,r.tx,r.ty,{dt_tolerance_seconds:.1,init_f1:r.ax,init_f2:r.ay})){if(0>e){if(h.ut -d.ut+e)return null;return h}throw"Rise/set search failed after finding ascent: t1="+l+", t2="+m+", a1="+n+", a2="+p;}if(0>e){if(l.utd.ut+e)return null;l=m;n=p}}}var HourAngleEvent=function(a,b){this.time=a;this.hor=b};exports.HourAngleEvent=HourAngleEvent; +function MaxAltitudeSlope(a,b){if(-90>b||90g||90e?(l=m.AddDays(-.42),n=k(l)):(m=l.AddDays(.42),p=k(m));var r=FindAscent(0,k,h,l,m,n,p);if(r){if(h=Search(k,r.tx,r.ty,{dt_tolerance_seconds:.1, +init_f1:r.ax,init_f2:r.ay})){if(0>e){if(h.utd.ut+e)return null;return h}throw"Rise/set search failed after finding ascent: t1="+l+", t2="+m+", a1="+n+", a2="+p;}if(0>e){if(l.utd.ut+e)return null;l=m;n=p}}}var HourAngleEvent=function(a,b){this.time=a;this.hor=b};exports.HourAngleEvent=HourAngleEvent; function SearchHourAngle(a,b,c,d,e){e=void 0===e?1:e;VerifyObserver(b);d=MakeTime(d);var f=0;if(a===Body.Earth)throw"Cannot search for hour angle of the Earth.";VerifyNumber(c);if(0>c||24<=c)throw"Invalid hour angle "+c;VerifyNumber(e);if(0===e)throw"Direction must be positive or negative.";for(;;){++f;var g=sidereal_time(d),k=Equator(a,d,b,!0,!0);g=(c+k.ra-b.longitude/15-g)%24;1===f?0g&&(g+=24):0g?g+=24:123600*Math.abs(g))return a=Horizon(d,b,k.ra,k.dec,"normal"), new HourAngleEvent(d,a);d=d.AddDays(g/24*SOLAR_DAYS_PER_SIDEREAL_DAY)}}exports.SearchHourAngle=SearchHourAngle;var SeasonInfo=function(a,b,c,d){this.mar_equinox=a;this.jun_solstice=b;this.sep_equinox=c;this.dec_solstice=d};exports.SeasonInfo=SeasonInfo; function Seasons(a){function b(g,k,h){k=new Date(Date.UTC(a,k-1,h));g=SearchSunLongitude(g,k,20);if(!g)throw"Cannot find season change near "+k.toISOString();return g}a instanceof Date&&Number.isFinite(a.getTime())&&(a=a.getUTCFullYear());if(!Number.isSafeInteger(a))throw"Cannot calculate seasons because year argument "+a+" is neither a Date nor a safe integer.";var c=b(0,3,10),d=b(90,6,10),e=b(180,9,10),f=b(270,12,10);return new SeasonInfo(c,d,e,f)}exports.Seasons=Seasons; diff --git a/source/js/astronomy.ts b/source/js/astronomy.ts index 27947bbb..611720c3 100644 --- a/source/js/astronomy.ts +++ b/source/js/astronomy.ts @@ -5481,10 +5481,14 @@ function FindAscent( function MaxAltitudeSlope(body: Body, latitude: number): number { // Calculate the maximum possible rate that this body's altitude // could change [degrees/day] as seen by this observer. - // First use experimentally determined extreme bounds by body - // of how much topocentric RA and DEC can change per rate of time. + // First use experimentally determined extreme bounds for this body + // of how much topocentric RA and DEC can ever change per rate of time. // We need minimum possible d(RA)/dt, and maximum possible magnitude of d(DEC)/dt. // Conservatively, we round d(RA)/dt down, d(DEC)/dt up. + // Then calculate the resulting maximum possible altitude change rate. + + if (latitude < -90 || latitude > +90) + throw `Invalid geographic latitude: ${latitude}`; let deriv_ra : number; let deriv_dec : number; @@ -5545,6 +5549,11 @@ function InternalSearchAltitude( { VerifyObserver(observer); VerifyNumber(limitDays); + VerifyNumber(bodyRadiusAu); + VerifyNumber(targetAltitude); + + if (targetAltitude < -90 || targetAltitude > +90) + throw `Invalid target altitude angle: ${targetAltitude}`; const RISE_SET_DT = 0.42; // 10.08 hours: Nyquist-safe for 22-hour period. const max_deriv_alt = MaxAltitudeSlope(body, observer.latitude); diff --git a/source/js/esm/astronomy.js b/source/js/esm/astronomy.js index dc760c20..b05f1448 100644 --- a/source/js/esm/astronomy.js +++ b/source/js/esm/astronomy.js @@ -4862,10 +4862,13 @@ function FindAscent(depth, altdiff, max_deriv_alt, t1, t2, a1, a2) { function MaxAltitudeSlope(body, latitude) { // Calculate the maximum possible rate that this body's altitude // could change [degrees/day] as seen by this observer. - // First use experimentally determined extreme bounds by body - // of how much topocentric RA and DEC can change per rate of time. + // First use experimentally determined extreme bounds for this body + // of how much topocentric RA and DEC can ever change per rate of time. // We need minimum possible d(RA)/dt, and maximum possible magnitude of d(DEC)/dt. // Conservatively, we round d(RA)/dt down, d(DEC)/dt up. + // Then calculate the resulting maximum possible altitude change rate. + if (latitude < -90 || latitude > +90) + throw `Invalid geographic latitude: ${latitude}`; let deriv_ra; let deriv_dec; switch (body) { @@ -4906,6 +4909,10 @@ function MaxAltitudeSlope(body, latitude) { function InternalSearchAltitude(body, observer, direction, dateStart, limitDays, bodyRadiusAu, targetAltitude) { VerifyObserver(observer); VerifyNumber(limitDays); + VerifyNumber(bodyRadiusAu); + VerifyNumber(targetAltitude); + if (targetAltitude < -90 || targetAltitude > +90) + throw `Invalid target altitude angle: ${targetAltitude}`; const RISE_SET_DT = 0.42; // 10.08 hours: Nyquist-safe for 22-hour period. const max_deriv_alt = MaxAltitudeSlope(body, observer.latitude); function altdiff(time) { diff --git a/source/kotlin/src/main/kotlin/io/github/cosinekitty/astronomy/astronomy.kt b/source/kotlin/src/main/kotlin/io/github/cosinekitty/astronomy/astronomy.kt index ae913bb9..f9a77d8e 100644 --- a/source/kotlin/src/main/kotlin/io/github/cosinekitty/astronomy/astronomy.kt +++ b/source/kotlin/src/main/kotlin/io/github/cosinekitty/astronomy/astronomy.kt @@ -6248,10 +6248,14 @@ private fun findAscent( private fun maxAltitudeSlope(body: Body, latitude: Double): Double { // Calculate the maximum possible rate that this body's altitude // could change [degrees/day] as seen by this observer. - // First use experimentally determined extreme bounds by body - // of how much topocentric RA and DEC can change per rate of time. + // First use experimentally determined extreme bounds for this body + // of how much topocentric RA and DEC can ever change per rate of time. // We need minimum possible d(RA)/dt, and maximum possible magnitude of d(DEC)/dt. // Conservatively, we round d(RA)/dt down, d(DEC)/dt up. + // Then calculate the resulting maximum possible altitude change rate. + + if (!latitude.isFinite() || latitude < -90.0 || latitude > +90.0) + throw IllegalArgumentException("Invalid geographic latitude: $latitude") val derivRa: Double val derivDec: Double @@ -6324,6 +6328,9 @@ private fun internalSearchAltitude( bodyRadiusAu: Double, targetAltitude: Double ): Time? { + if (!targetAltitude.isFinite() || targetAltitude < -90.0 || targetAltitude > +90.0) + throw IllegalArgumentException("Target altitude is not valid: $targetAltitude") + val maxDerivAlt = maxAltitudeSlope(body, observer.latitude) val context = SearchContext_Altitude(body, direction, observer, bodyRadiusAu, targetAltitude) diff --git a/source/python/astronomy/astronomy.py b/source/python/astronomy/astronomy.py index 5da0447b..ee51cad5 100644 --- a/source/python/astronomy/astronomy.py +++ b/source/python/astronomy/astronomy.py @@ -161,7 +161,7 @@ def MassProduct(body): if body == Body.Uranus: return _URANUS_GM if body == Body.Neptune: return _NEPTUNE_GM if body == Body.Pluto: return _PLUTO_GM - raise InvalidBodyError() + raise InvalidBodyError(body) @enum.unique class _PrecessDir(enum.Enum): @@ -386,8 +386,8 @@ def __init__(self): class InvalidBodyError(Error): """The celestial body is not allowed for this calculation.""" - def __init__(self): - Error.__init__(self, 'Invalid astronomical body.') + def __init__(self, body): + Error.__init__(self, 'This body is not valid, or is not supported for this calculation: {}'.format(body)) class BadVectorError(Error): """A vector magnitude is too small to have a direction in space.""" @@ -435,13 +435,13 @@ def PlanetOrbitalPeriod(body): """ if isinstance(body, Body) and (0 <= body.value < len(_PlanetOrbitalPeriod)): return _PlanetOrbitalPeriod[body.value] - raise InvalidBodyError() + raise InvalidBodyError(body) def _SynodicPeriod(body): if body == Body.Earth: raise EarthNotAllowedError() if body.value < 0 or body.value >= len(_PlanetOrbitalPeriod): - raise InvalidBodyError() + raise InvalidBodyError(body) if body == Body.Moon: return _MEAN_SYNODIC_MONTH return abs(_EARTH_ORBITAL_PERIOD / (_EARTH_ORBITAL_PERIOD/_PlanetOrbitalPeriod[body.value] - 1.0)) @@ -4453,7 +4453,7 @@ def HelioVector(body, time): if body == Body.SSB: return _CalcSolarSystemBarycenter(time) - raise InvalidBodyError() + raise InvalidBodyError(body) def HelioDistance(body, time): @@ -4782,7 +4782,7 @@ def BaryState(body, time): time ) - raise InvalidBodyError() + raise InvalidBodyError(body) def HelioState(body, time): @@ -4851,7 +4851,7 @@ def HelioState(body, time): time ) - raise InvalidBodyError() + raise InvalidBodyError(body) def Equator(body, time, observer, ofdate, aberration): @@ -5497,7 +5497,7 @@ def EclipticLongitude(body, time): An angular value in degrees indicating the ecliptic longitude of the body. """ if body == Body.Sun: - raise InvalidBodyError() + raise InvalidBodyError(body) hv = HelioVector(body, time) eclip = Ecliptic(hv) return eclip.elon @@ -5715,7 +5715,7 @@ def SearchRelativeLongitude(body, targetRelLon, startTime): if body == Body.Earth: raise EarthNotAllowedError() if body in (Body.Moon, Body.Sun): - raise InvalidBodyError() + raise InvalidBodyError(body) syn = _SynodicPeriod(body) direction = +1 if _IsSuperiorPlanet(body) else -1 # Iterate until we converge on the desired event. @@ -5787,7 +5787,7 @@ def SearchMaxElongation(body, startTime): s1 = 40.0 s2 = 50.0 else: - raise InvalidBodyError() + raise InvalidBodyError(body) syn = _SynodicPeriod(body) iter_count = 1 while iter_count <= 2: @@ -6185,7 +6185,7 @@ def _VisualMagnitude(body, phase, helio_dist, geo_dist): elif body == Body.Pluto: c0 = -1.00; c1 = +4.00 else: - raise InvalidBodyError() + raise InvalidBodyError(body) x = phase / 100.0 mag = c0 + x*(c1 + x*(c2 + x*c3)) @@ -6298,7 +6298,7 @@ def SearchPeakMagnitude(body, startTime): s1 = 10.0 s2 = 30.0 if body != Body.Venus: - raise InvalidBodyError() + raise InvalidBodyError(body) iter_count = 1 while iter_count <= 2: @@ -6528,10 +6528,14 @@ def _altdiff(context, time): def _MaxAltitudeSlope(body, latitude): # Calculate the maximum possible rate that this body's altitude # could change [degrees/day] as seen by this observer. - # First use experimentally determined extreme bounds by body - # of how much topocentric RA and DEC can change per rate of time. + # First use experimentally determined extreme bounds for this body + # of how much topocentric RA and DEC can ever change per rate of time. # We need minimum possible d(RA)/dt, and maximum possible magnitude of d(DEC)/dt. # Conservatively, we round d(RA)/dt down, d(DEC)/dt up. + # Then calculate the resulting maximum possible altitude change rate. + + if not (-90.0 <= latitude <= +90.0): + raise Error('Invalid geographic latitude: {}'.format(latitude)) if body == Body.Moon: deriv_ra = +4.5 @@ -6554,7 +6558,7 @@ def _MaxAltitudeSlope(body, latitude): elif body == Body.Earth: raise EarthNotAllowedError() else: - raise InvalidBodyError() + raise InvalidBodyError(body) latrad = math.radians(latitude) return abs(((360.0 / _SOLAR_DAYS_PER_SIDEREAL_DAY) - deriv_ra)*math.cos(latrad)) + abs(deriv_dec*math.sin(latrad)) @@ -6618,6 +6622,9 @@ def _FindAscent(depth, context, max_deriv_alt, t1, t2, a1, a2): def _InternalSearchAltitude(body, observer, direction, startTime, limitDays, bodyRadiusAu, targetAltitude): + if not (-90.0 <= targetAltitude <= +90.0): + raise Error('Invalid target altitude angle: {}'.format(targetAltitude)) + RISE_SET_DT = 0.42 # 10.08 hours: Nyquist-safe for 22-hour period. max_deriv_alt = _MaxAltitudeSlope(body, observer.latitude) context = _altitude_context(body, direction, observer, bodyRadiusAu, targetAltitude) @@ -6774,8 +6781,6 @@ def SearchAltitude(body, observer, direction, startTime, limitDays, altitude): If the altitude event time is found within the specified time window, this function returns that time. Otherwise, it returns `None`. """ - if not (-90.0 <= altitude <= +90.0): - raise Error('Invalid altitude: {}'.format(altitude)) return _InternalSearchAltitude(body, observer, direction, startTime, limitDays, 0.0, altitude) class SeasonInfo: @@ -9425,7 +9430,7 @@ def SearchTransit(body, startTime): elif body == Body.Venus: planet_radius_km = 6051.8 else: - raise InvalidBodyError() + raise InvalidBodyError(body) search_time = startTime while True: @@ -10007,7 +10012,7 @@ def RotationAxis(body, time): w = 302.695 + 56.3625225*d else: - raise InvalidBodyError() + raise InvalidBodyError(body) # Calculate the north pole vector using the given angles. radlat = math.radians(dec)