solarmach
The Solar MAgnetic Connection Haus (Solar-MACH) tool is a multi-spacecraft longitudinal configuration plotter. This is the repository of the pip/conda-forge package of Solar-MACH, called solarmach. For the corresponding streamlit repository, which is used for solar-mach.github.io, see github.com/jgieseler/Solar-MACH.
Installation
solarmach requires python >= 3.11.
It can be installed either from PyPI using:
pip install solarmach
or from conda-forge using:
conda install -c conda-forge solarmach
Basic usage
from solarmach import SolarMACH, print_body_list
# optional: get list of available bodies/spacecraft
print(print_body_list().index)
# necessary options
body_list = ['STEREO-A', 'Earth', 'BepiColombo', 'PSP', 'Solar Orbiter', 'Mars']
date = '2021-10-28 15:15:00'
# Previously you needed to define position-sensitive solar wind speed per
# body in body_list, e.g., vsw_list = [400, 400, 400, 400, 400, 400, 400]
# Now you can skip this parameter or provide an empty list. Then solarmach
# will try to automatically obtain measured solar wind speeds from each
# spacecraft
vsw_list = []
# optional parameters
coord_sys = 'Carrington' # 'Carrington' (default) or 'Stonyhurst'
reference_long = 273 # longitude of reference (None to omit)
reference_lat = 0 # latitude of reference (None to omit)
plot_spirals = True # plot Parker spirals for each body
plot_sun_body_line = True # plot straight line between Sun and body
long_offset = 270 # longitudinal offset for polar plot; defines where Earth's longitude is (by default 270, i.e., at "6 o'clock")
reference_vsw = 400 # define solar wind speed at reference
return_plot_object = False # figure and axis object of matplotib are returned, allowing further adjustments to the figure
transparent = False # make output figure background transparent
markers = 'numbers' # use 'numbers' or 'letters' for the body markers (use False for colored squares)
filename = 'solarmach.png' # define filename of output figure. can be .png or .pdf
# initialize
sm = SolarMACH(date, body_list, vsw_list, reference_long, reference_lat, coord_sys)
# make plot
sm.plot(
plot_spirals=plot_spirals,
plot_sun_body_line=plot_sun_body_line,
reference_vsw=reference_vsw,
transparent=transparent,
markers=markers,
long_offset=long_offset,
return_plot_object=return_plot_object,
outfile=filename
)
# obtain data as Pandas DataFrame
display(sm.coord_table)
Documentation
Full documentation for the package can be found at https://solarmach.readthedocs.io
Example Notebooks
solarmach can easily be run in a Jupyter Notebook.
Contributing
Contributions to this package are very much welcome and encouraged! Contributions can take the form of issues to report bugs and request new features or pull requests to submit new code.
Please make contributions specific to the streamlit web-version that is used for solar-mach.github.io in the corresponding repository at github.com/jgieseler/Solar-MACH.
Citation
Please cite the following paper if you use solarmach in your publication:
Gieseler, J., Dresing, N., Palmroos, C., von Forstner, J.L.F., Price, D.J., Vainio, R. et al. (2022). Solar-MACH: An open-source tool to analyze solar magnetic connection configurations. Front. Astronomy Space Sci. 9. doi:10.3389/fspas.2022.1058810
Acknowledgements
The Solar-MACH tool was originally developed at Kiel University, Germany and further discussed within the ESA Heliophysics Archives USer (HAUS) group.
This project has received funding from the European Union’s Horizon Europe research and innovation programme under grant agreement No 101134999 (SOLER) and from the European Union’s Horizon 2020 research and innovation programme under grant agreement No 101004159 (SERPENTINE).
Metadata
Release files for solarmach 0.5.7
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| solarmach-0.5.7.tar.gz | 439.7 kB | Without provenance | Details for solarmach-0.5.7.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| solarmach-0.5.7-py3-none-any.whl | Python 3 | none | any | Details for solarmach-0.5.7-py3-none-any.whl |
Total release size: 486.5 kB
Release files / solarmach-0.5.7.tar.gz
| Download URL | solarmach-0.5.7.tar.gz |
|---|---|
| Size | 439.7 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
972d8a7bba080a8e477d0756c3f01d41f018dcea15bcd19216c2f7004aa3451e
|
|
BLAKE2b-256 checksum How to use checksums |
e80191cdfc5f07cf9b1453696860ef61d6e08bd58ca07ea129570d30dcac7af4
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.12.7
|
Release files / solarmach-0.5.7-py3-none-any.whl
| Download URL | solarmach-0.5.7-py3-none-any.whl |
|---|---|
| Size | 46.8 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
46ef2f86b175594d5d4a34fc1a3c9321c2e182105e954bb3693a24a8a82f4904
|
|
BLAKE2b-256 checksum How to use checksums |
c9be41031507dde4e6b796c1b6f4ac2affb229200e97f99853d094dcb72792cd
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.12.7
|
Security for solarmach 0.5.7
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.