Skip to content

Commit

Permalink
Use obstime from observer if obstime not otherwise provided
Browse files Browse the repository at this point in the history
  • Loading branch information
ayshih committed Sep 8, 2023
1 parent 4343e44 commit 37233b0
Show file tree
Hide file tree
Showing 3 changed files with 16 additions and 0 deletions.
1 change: 1 addition & 0 deletions changelog/7186.feature.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
When creating a coordinate or coordinate frame without specifying ``obstime``, the ``obstime`` value from the ``observer`` frame attribute will be used if present.
4 changes: 4 additions & 0 deletions sunpy/coordinates/frames.py
Original file line number Diff line number Diff line change
Expand Up @@ -133,6 +133,10 @@ def __init__(self, *args, **kwargs):
if not kwargs.pop('wrap_longitude', True):
self._wrap_angle = None

# If obstime is not provided but observer has an obstime, use that as the obstime
if 'obstime' not in kwargs and 'observer' in kwargs and getattr(kwargs['observer'], 'obstime', None) is not None:
kwargs['obstime'] = kwargs['observer'].obstime

Check warning on line 138 in sunpy/coordinates/frames.py

View check run for this annotation

Codecov / codecov/patch

sunpy/coordinates/frames.py#L138

Added line #L138 was not covered by tests

super().__init__(*args, **kwargs)

# If obstime is specified, treat the default observer (None) as explicitly set
Expand Down
11 changes: 11 additions & 0 deletions sunpy/coordinates/tests/test_frames.py
Original file line number Diff line number Diff line change
Expand Up @@ -231,6 +231,17 @@ def test_hpc_low_precision_float_warning():
hpc.make_3d()


def test_hpc_obstime_from_observer():
# Test that observer.obstime is used for obstime if obstime is not provided
observer = HeliographicStonyhurst(obstime='2023-09-08')
hpc = Helioprojective(observer=observer)
assert hpc.obstime == observer.obstime

# Test that obstime is None if observer does not have an obstime
hpc = Helioprojective(observer='earth')
assert hpc.obstime is None


# ==============================================================================
# ## Heliographic Tests
# ==============================================================================
Expand Down

0 comments on commit 37233b0

Please sign in to comment.