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

Plot distance projected to the ecliptic plane instead of radial distance (optionally) #3

Closed
jgieseler opened this issue May 20, 2022 · 6 comments · Fixed by #22
Closed
Labels
enhancement New feature or request good first issue Good for newcomers

Comments

@jgieseler
Copy link
Owner

jgieseler commented May 20, 2022

At the moment, Solar-MACH shows the configuration plot only with respect to longitude and radius. For high latitude orbits (e.g., Solar Orbiter), it might be worthwhile to (optionally) plot the distance projected to the ecliptic plane instead of the radial distance (in spherical coordinates). So in the following picture (where x, y span the ecliptic), using r instead of ρ:

(Figure source. Note that this picture plots the colatitude ф, and not the latitude, which would be 90-ф)

Thanks to @AthKouloumvakos for the idea

@jgieseler jgieseler added enhancement New feature or request good first issue Good for newcomers labels May 20, 2022
@jgieseler
Copy link
Owner Author

Maybe rather plot the distance projected to the heliographic equatorial plane (instead of ecliptic plane)? 🤔

@jgieseler
Copy link
Owner Author

jgieseler commented Nov 4, 2022

SolarMACH.plot() now has a new option, plot_distance. It is by default 'heliographic-equator', i.e., for plotting, the spherical radius is projected to the heliographic equatorial plane. For backwards-compatibility (and testing), plot_distance='heliographic-radius' provides the previous behavior, i.e., as distance in the polar plot the value of the actual spherical radius is used.

In the following example, Ulysses coordinates are:

>>> sm.body_dict['Ulysses'][3]
<SkyCoord (HeliographicStonyhurst: obstime=2021-10-20T00:00:00.000, rsun=695700.0 km): 
    (lon, lat, radius) in (deg, deg, AU)
    (124.84379058, 25.40222722, 4.42381195)>

To obtain the projected distance in the heliographic equatorial plane, the SkyCoord object is given in cylindrical coordinates:

>>> sm.body_dict['Ulysses'][3].cylindrical
<CylindricalRepresentation (rho, phi, z) in (AU, deg, AU)
    (3.9961117, 124.84379058, 1.89768371)>

Here, rho is equal to radius * cos(lat) = 3.9961117 AU

  • Plot spherical radius projected to the heliographic equatorial plane as distance in polar plot (plot_distance='heliographic-radius'):
    image

  • Plot value of spherical radius as distance in polar plot (plot_distance='heliographic-equator'):
    image

@jgieseler
Copy link
Owner Author

Note that for calculating the Parker spiral, the distance projected to the heliographic equatorial plane is used together with the solar rotation according to the actual heliographic latitude! Thus, we get the latitude-dependent Parker spiral (blue and red curve in the following plot) projected to the heliographic equatorial plane (black curve):
image
(From Sternal, O., 2010. Transport of galactic cosmic rays in different heliospheric magnetic field configurations, https://macau.uni-kiel.de/receive/diss_mods_00005136)

jgieseler added a commit that referenced this issue Nov 4, 2022
…ane & solar differential rotation

Solve #3 & #21: plot distance projected to heliographic equatorial plane & solar differential rotation
jgieseler added a commit that referenced this issue Nov 4, 2022
Solve #3 & #21: plot distance projected to heliographic equatorial pl…
@jgieseler
Copy link
Owner Author

Update: With 5196c78, all calculations are carried out in spherical coordinates. Only for the two-dimensional visualization, the coordinates are projected to the heliographic equatorial plane. In the course of this last commit, the plot_distance option has been removed!

@AthKouloumvakos
Copy link

So, by default the plot will be made in the 'heliographic-equator' mode?

@jgieseler
Copy link
Owner Author

Yes! Before it was actually a mix of two coordinate systems, so it doesn't make sense to continue that.

Of course, one could think of providing another (optional) coordinate system...

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request good first issue Good for newcomers
Projects
None yet
2 participants