What’s New in SunPy 3.0?#
Overview#
The SunPy project is pleased to announce the 3.0 release of the sunpy package.
On this page, you can read about some of the big changes in this release:
SunPy 3.0 also includes a large number of smaller improvements and bug fixes, which are described in the Full Changelog.
By the numbers:
526 commits have been added since 2.1
53 issues have been closed since 2.1
109 pull requests have been merged since 2.1
26 people have contributed since 2.1
10 of which are new contributors
Please find below a selection of what we consider to be the biggest changes or features with this release.
Improvements to Visualization of Maps#
In this release a number of Map visualisation methods have been improved to be more coordinate aware than previous releases.
The first new feature is sunpy.map.GenericMap.draw_quadrangle()
which replaces the old draw_rectangle
method.
draw_quadrangle()
draws rectangles where the edges follow lines of constant longitude and latitude in the coordinate system in which the box is drawn.
The next change is to sunpy.map.GenericMap.draw_limb()
, which now supports drawing the limb as seen by any observer on any image.
This means that it is possible to visualize the sections of the limb which are visible in one map on another, or to draw the limb as seen from helioprojective map observer on a synoptic map.
For a demonstration of this new functionality see the first figure in the Reprojecting Images to Different Observers example.
The last major change is to sunpy.map.GenericMap.plot()
, which now has an autoalign=True
keyword argument.
This option when set to True
will use pcolormesh()
to transform the image being plotted the correct coordinates of the axes it is being plotted on.
This allows for plots of two images with different projections to be visualized together correctly.
It is worth noting that using autoalign=True
is computationally expensive, and when used with interactive plots there is a significant performance penalty every time the plot is modified.
See the Auto-Aligning AIA and HMI Data During Plotting example for details.
Improved Support for Solar Orbiter’s EUI Instrument in Map#
A new map source to support data from the Extreme Ultraviolet Imager (EUI) instrument on the Solar Orbiter (SolO) spacecraft has been added.
This source improves the accuracy of the observer position by using the heliocentric inertial coordinates as well as correctly setting the processing level, exposure time and colormap.
Data from EUI will automatically load using this source via sunpy.map.Map
.
Inspect history of map metadata changes#
The .meta
property of a GenericMap
now keeps a record of the contents of the metadata (normally a FITS header) when it was created.
This can be accessed via the original_meta
property.
This allows any changes made by sunpy or by the user directly to be tracked with the following properties:
See the new Map metadata modification example for details.
sunpy.instr
moved to sunkit-instruments
#
The sunpy.instr
subpackage has been moved to a separate affiliated package called sunkit-instruments.
This has been done to make the core package align with the goal that instrument specific analysis and processing code should live in affiliated packages.
Increase in required package versions#
We have bumped the minimum version of several packages we depend on; these are the new minimum versions for sunpy 3.0:
asdf>=2.6.0
astropy >= 4.1.0
beautifulsoup4>=4.8.0
dask[array]>=2.0.0
drms>=0.6.1
glymur>=0.8.18,!=0.9.0
h5netcdf>=0.8.1
matplotlib>=3.1.0
numpy >= 1.16.0
pandas>=0.24.0
parfive >= 1.2.0
python-dateutil>=2.8.0
scipy >= 1.3.0
scipy>=1.3.0
sqlalchemy>=1.3.4
tqdm>=4.32.1
zeep>=3.4.0
Contributors to this Release#
The people who have contributed to the code for this release are:
Abhijeet Manhas
Abhishek Pandey
Adwait Bhope *
Albert Y. Shih
Amarjit Singh Gaba *
Aryan Chouhan
David Stansby
Jeffrey Aaron Paul
Kateryna Ivashkiv
Kaustubh Chaudhari *
Kritika Ranjan
Laura Hayes
Megh Dedhia *
Monica Bobra
Mouloudi Mohamed Lyes *
Nabil Freij
Nakul Shahdadpuri
Ratul Das *
Samriddhi Agarwal *
Shane Maloney
Stuart Mumford
Tathagata Paul
Thomas A Caswell
Varun Bankar *
Will Barnes
Yukie Nomiya *
Where a * indicates that this release contains their first contribution to sunpy.