jgieseler / solarmach

Python package of the multi-spacecraft longitudinal configuration plotter Solar-MACH
https://solarmach.readthedocs.io
BSD 3-Clause "New" or "Revised" License
26 stars 6 forks source link

Take into account solar differential rotation #21

Closed jgieseler closed 1 year ago

jgieseler commented 1 year ago

Right now, the solar rotation period at the equator is used to calculate Parker spirals and perform ballistic backmapping. For near-ecliptic observers this might be fine, but with Solar Orbiter going to higher latitudes, this needs to be adjusted by taking into account the solar differential rotation.

jgieseler commented 1 year ago

The solar differential rotation is now by default calculated with respect to latitude, based on the rLSQ method of Beljan et al. (2017):

ω(b) = (14.50 ± 0.01)−(2.87 ± 0.12)sin²b (deg/day)

In the following example, this affects especially Ulysses at latitude 25.40° (visible at its Parker spiral close to STEREO-A) and the Parker spiral of the reference, which originates at a latitude of 30°.

(Both plots produced with the new default plot_distance='heliographic-equator', cf. https://github.com/jgieseler/solarmach/issues/3)

This behavior can be mostly deactivated (for backwards compatibility and testing) by initializing SolarMACH with diff_rot=False:

sm = SolarMACH(date, body_list, vsw_list, reference_long, reference_lat, coord_sys, diff_rot=False)

But note that this still deviates from the previous behavior! This setting just sets the latitude to zero, i.e., ω=14.50 (deg/day). Previously used was ω=360/25.38=14.18 (deg/day)!