Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fixing solar rotation for coordinates and the differential rotation of maps #2972

Merged
merged 161 commits into from May 21, 2019

Conversation

Projects
6 participants
@wafels
Copy link
Member

commented Mar 9, 2019

Description

The PR fixes the calculation of the coordinates on the Sun that move due to solar rotation. The main difference is that the motion of the observer must also be taken in to account when calculating the returned coordinate. Note that the current version of SunPy assumes that the observer is always exactly 1 AU away from the Sun, which is incorrect. This is corrected in this PR. The observer is now specified in one of two ways. If a measurement of time is passed in to solar_rotate_coordinate then it is assumed that the observer is moving in the same orbit as the Earth. If the observer keyword is used, then the amount of solar rotation is calculated by taking the difference between the observer observation time and the time of the coordinate. The observer keyword also specifies the location of the observer in space. The time and observer keywords cannot both be specified.

The change in API above implied changes to the diffrot_map code. In addition, the PR corrects the calculation of the position and size of the rotated map. The PR contains a number of utilities that determine some simple properties of maps, for example, is the map all on disk? Does it straddle the limb? I think these are of general use, and should be moved in to a new map utilities subdirectory.

Fixes #2868
Fixes #2713
Fixes #2707
Fixes #2600
Fixes #2282

wafels added some commits Aug 7, 2018

the function now accepts only BaseCoordinateFrames or SkyCoords as th…
…e definition of the new observer. This is because these objects contain all the information required to calculate the effect of solar differential rotation as seen from the new observer.
@wafels

This comment has been minimized.

Copy link
Member Author

commented May 15, 2019

Check the description of the differential_rotate algorithm and make sure that each step is described fully, with reasoning.

wafels added some commits May 19, 2019

more doc changes; also, new function to calculate the solar angular r…
…adius. This is borken out to its own function since it is used in two other utilities.
@wafels

This comment has been minimized.

Copy link
Member Author

commented May 19, 2019

Some test fails due to changes in AIA map source I think.

@nabobalis

This comment has been minimized.

Copy link
Contributor

commented May 19, 2019

The fails are in test_differential_rotate test_rotate_submap_edge and test_calculate_solar_rotate_shift. I assume they are due to changes in the PR? Just change the numbers and that will "fix" it.

@wafels

This comment has been minimized.

Copy link
Member Author

commented May 19, 2019

@nabobalis

This comment has been minimized.

Copy link
Contributor

commented May 19, 2019

Sure but the CI tells you the new numbers, so you can just change them.

@wafels

This comment has been minimized.

Copy link
Member Author

commented May 20, 2019

I believe the test fails in test_differential_rotate are due to the way the heliographic lat and lon are defined for AIA data. I just need to define the new 'haex_obs', 'haey_obs' and 'haez_obs'.

Cadair added some commits May 21, 2019

@Cadair Cadair requested a review from ehsteve May 21, 2019

stale

@Cadair

This comment has been minimized.

Copy link
Member

commented May 21, 2019

There is a concerning lack of codecov statuses on this PR.

@Cadair Cadair merged commit 106b0da into sunpy:master May 21, 2019

14 checks passed

ci/circleci: 32bit Your tests passed on CircleCI!
Details
ci/circleci: egg-info-36 Your tests passed on CircleCI!
Details
ci/circleci: egg-info-37 Your tests passed on CircleCI!
Details
ci/circleci: figure-tests-36 Your tests passed on CircleCI!
Details
ci/circleci: html-docs Your tests passed on CircleCI!
Details
ci/circleci: pip-install Your tests passed on CircleCI!
Details
giles Click details to preview the documentation build
Details
sunpy-bot All checks passed
sunpy.sunpy Build #20190521.9 succeeded
Details
sunpy.sunpy (Linux_36_Conda_offline) Linux_36_Conda_offline succeeded
Details
sunpy.sunpy (Linux_36_offline) Linux_36_offline succeeded
Details
sunpy.sunpy (Linux_37_online) Linux_37_online succeeded
Details
sunpy.sunpy (Windows_36_offline) Windows_36_offline succeeded
Details
sunpy.sunpy (macOS_37_offline) macOS_37_offline succeeded
Details

@Cadair Cadair moved this from Pre-Feature Freeze (2019-05-08) to Finished in SunPy 1.0 May 21, 2019

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
You can’t perform that action at this time.