What’s new¶
Heliopy 0.12.0 (2020-06-22)¶
Features¶
Added
heliopy.data.psp.fields_mag_rtn_4_per_cycle
download function. (#896)Added 1 minute and 5 minute OMNI data products to
heliopy.data.omni
. (#907)Added
'mec'
to the list of allowed instruments inheliopy.data.mms
. (#908)
Backwards Incompatible Changes¶
The OMNI data download functions have been updated to use CDAWeb as their source. This means that the
heliopy.data.omni.low
function has been removed, and replaced byheliopy.data.omni.h0_mrg1hr
. This is the same 1 hour data product, but some of the variable names will have changed. (#904)
Heliopy 0.11.1 (2020-05-19)¶
Features¶
Bug Fixes¶
Fixed Solar Orbiter kernel download in
heliopy.data.spice
. (#898)heliopy.spice.setup_spice
no longer needs to be manually run to setup common spice files. (#899)
Heliopy 0.11.0 (2020-05-11)¶
Changes to heliopy.spice
¶
This release contains several breaking changes to heliopy.spice
and
heliopy.data.spice
, made to accommodate new high level objects to interact
with SPICE. The following new objects have been added:
SPKKernel
, to hold a single SPICE SPK kernel. This comes with helper methods to find the bodies stored within a kernel, and the time coverage of a given body within a kernel.Body
, to hold a single body (e.g. a planet, a spacecraft). This contains helper methods to easily convert between body names and body ids.
In addition, heliopy.spice
no longer automatically loads commonly needed
files on import. This means if you want to use heliopy.spice
, it is highly
recommended to run heliopy.spice.setup_spice()
first.
The existing code has been changed to use the new classes, with the following breaking changes:
heliopy.data.spice.get_kernel
now returns a list ofSPKKernel
. To get the file name of a kernel as before dokernel.fname
.heliopy.spice.furnish
must how take aSPKKernel
(or list of). To create a kernel object from a filename doSPKKernel(fname)
.
Features¶
heliopy.spice
now contains theBody
object, which allows for easy access of both a body name and id code, validating that either a name or id code are valid on creation.Trajctory
now stores the.target
and.observing
body atributes asBody
objects. To get the name or id, use.id
or.name
. (#868)Added the
abcorr
argument toheliopy.spice.Trajectory.generate_positions()
to allow optional aberration correction. By default this is set to no correction. (#873)Added the Cassini SPICE kernel to
heliopy.data.spice
. (#876)Updated the Solar Orbiter SPICE kernel to the latest release in
heliopy.data.spice
. (#879)Added several new solar energetic particle products to
heliopy.data.ace
. (#882)
Heliopy 0.10.0 (2020-02-20)¶
Features¶
Added PSP SWEAP level 2 data to
heliopy.data.psp
. (#828)Added PSP FIELDS high resolution data import to
heliopy.data.psp
. (#842)heliopy.spice.Trajectory.generate_positions
now accepts times as anything that can be parsed byastropy.time.Time
. (#831)Added a
include
argument toheliopy.data.util.cdf2df()
, to allow loading a subset of variables in a CDF file. (#841)Improved time performance of loading CDF files. (#844, #845, #847)
Bad values in CDF files are now automatically detected and set to NaN values. As a result the
badvalues
argument toheliopy.data.util.cdf2df()
is now deprecated. (#848)
Heliopy 0.9.0 (2019-11-13)¶
Features¶
A new module
heliopy.models
has been added to contain heliospheric concepts, the first one of which isheliopy.models.ParkerSpiral
. (#768)All functions in
heliopy.data.wind
now download data in monthly (as opposed to daily) intervals. You may need to delete existing data to correctly load complete datasets. (#772)heliopy.spice.Trajectory
objects now have thecoords
property, that contains the trajectory coordinates as anSkyCoord
object.In order to do this currently only the ‘J2000’ and ‘IAU_SUN’ spice frames are supported as they have direct mappings to Sunpy/Astropy coordinate systems, but it is possible to generate coordinates in either of these systems and then transform them post-hoc to another Sunpy/Astropy coordinate system. (#776)
heliopy.data.wind.swe_h3()
has been added. (#800)heliopy.data.wind.threedp_elpd()
has been added. (#802)The new
heliopy.data.psp
module contains methods to automatically download and load Parker Solar Probe data. Currently SWEAP SPC L3 data and FIELDS MAG fluxgate data are available. (#822)
Backwards Incompatible Changes¶
A handful of data download functions have migrated to using the CDAS restful service, and have therefore had their call signatures changed. In particular the following functions have lost their
try_download
keyword argument:heliopy.data.ulysses.swics_heavy_ions()
(#747),heliopy.data.ulysses.swics_abundances()
(#747),heliopy.data.ulysses.fgm_hires()
(#748),heliopy.data.ulysses.swoops_ions()
(#761),heliopy.data.omni.low()
(#765),heliopy.data.imp.merged()
(#771)The times stored in the
time
property ofheliopy.spice.Trajectory
are now always parsed byastropy.time.Time
before being stored, and are always returned as aTime
object, no matter what format they were supplied in. (#794)The
heliopy.coordinates
module has been removed completely. This only ever contained two coordinate frames and a single transformation, both of which are implemented insunpy.coordinates
now. (#820)heliopy.data.cassini
data download methods have been updated to use the newly released V2 Cassini MAG data. You may need to delete old data to be able to download the newer data.
Heliopy 0.8.2 (2019-10-21)¶
Features¶
Added the SOHO SPICE kernels to
heliopy.data.spice
. (#777)
Bug Fixes¶
heliopy.data.spice
can now be imported without internet access. If this is the case determining the names of STEREO kernels (which requires internet) will not be possible. (#782)Fixed loading Ulysses data when at least some of it isn’t available. (#795)
HelioPy 0.8.1 (2019-08-14)¶
Bug Fixes¶
Fix
heliopy.data.helios.mag_4hz()
data downloading (#741)Switch IMP downloading from FTP site to HTTPS site, since anonymous FTP access to NASA servers no longer works. (#749)
HelioPy 0.8.0 (2019-06-24)¶
Features¶
heliopy.data.cdasrest.get_cdas_url()
andheliopy.data.cdasrest.get_data()
have been generalised, and can now be used to download data in an arbitrary interval instead of just a single day. (#714)heliopy.data.ace
functions that download low cadence data (e.g. composition data) now download yearly instead of daily files, speeding up data download. (#715)
Backwards Incompatible Changes¶
heliopy.data.cdasrest.get_cdas_url()
andheliopy.data.cdasrest.get_data()
now takestarttime
andendtime
arguments instead of just adate
argument, and their signatures have changed to reflect this. (#714)
Version 0.7.0¶
New features¶
Added a graph showing the available coordinate transformations to
heliopy.coordinates
Added STEREO-B kernels to
heliopy.data.spice
Added automatic spice kernel detection for the STEREO spacecraft to
heliopy.data.spice
Switched the download progress bar from
wget
based totqdm
based, which should work better in notebooks.
Bug fixes¶
Fixed a bug where not all MMS files were downloaded for a large query.
Correctly removed bad values in
heliopy.data.omni
.
Removed features¶
The deprecated
heliopy.data.wind.swe_h3()
andheliopy.data.wind.threedp_sfpd()
have been removed.
Version 0.6.7¶
Deprecations¶
heliopy.data.wind.swe_h3()
andheliopy.data.wind.threedp_sfpd()
are deprecated and will be removed in version 0.7.0. This is because they currently use pandas MultiIndex structures, which are not the recommended way to store 2-or-more dimensional data. In the future they are likely to be re-written to use xarray.
Version 0.6.6¶
Bug fixes¶
Data downloaded through CDAS is now moved from a temporary folder using
shutil
, fixing it when the temp folder and destination folder are on different filesystems.
Version 0.6.5¶
Bug fixes¶
heliopy.data.spice.get_kernel()
now raises a warning instead of an error if a kernel can’t be downloaded.heliopy.data.helios.merged()
now filters out bad values and converts them to NaNs.heliopy.spice
now only loads core SPICE kernels once, instead of every time the module is imported.
Backwards incompatible changes¶
heliopy.data.spice.get_kernel()
now prints a warning instead of raising an error if a kernel cannot be downloaded.
Version 0.6.4¶
New features¶
Added the ability for
heliopy.spice.Trajectory
objects to compute and return the body velocity.Available spice kernels in
heliopy.data.spice
are now split into kernels that have been reconstructed (ie. actual trajectories) and predicted trajectories.The predicted Bepi Columbo spice kernel has been added to
heliopy.data.spice
The
heliopy.data.ace.swi_h3b()
function has been added.heliopy.data.cdasrest.get_variables()
andheliopy.data.cdasrest.get_data()
now have atimeout
keyword argument, allowing manual specification of the timeout when fetching data from a server.Importing
heliopy.spice
now automatically loads common heliospheric coordinate systems.
Backwards incompatible changes¶
Kernels available in
heliopy.data.spice
have been cleaned up, meaning some are now not available or have been moved to the predicted section.A handful of data download functions have migrated to using the CDAS restful service, and have therefore had their call signatures changed. In particular: -
heliopy.data.messenger.mag_rtn()
has lost itstry_download
kwarg -heliopy.data.helios.merged()
has lost itstry_download
kwarg
The following IMP download functions, which only ever worked for IMP8 have been renamed:
mitplasma_h0
has been renamedi8_mitplasma()
mag320ms
has been renamedi8_mag320ms()
Version 0.6.3¶
New features¶
Added Parker Solar Probe spice kernels to
heliopy.data.spice
.Added a generic functions to download MMS data. Available files can be queried using
heliopy.data.mms.available_files()
, and files can be downloaded usingheliopy.data.mms.download_files()
Bug fixes¶
Updated links to the STEREO-A spice kernels.
Backwards incompatible changes¶
heliopy.data.mms.fgm_survey()
has been removed in favour of the more generalheliopy.data.mms.fgm()
. To download survey mode FGM data use the new method and set themode
keyword argument tosrvy
.
Version 0.6.2¶
New features¶
Added
heliopy.data.mms.fpi_des_moms()
function. #601Added
heliopy.data.wind.threedp_e0_emfits()
function. #606
Version 0.6.1¶
New features¶
The
heliopy.data.ace
module now contains all the magnetic field and particle data produces produced by ACE. #577, #578STEREO-A spice kernels have been added. #585
Bug fixes¶
The accidentally removed Ulysses spice kernel has returned. #582
heliopy.data.helper.cdfpeek()
has been updated to work with cdflib, and now prints all CDF file information.
Version 0.6.0¶
HelioPy now only supports Python versions 3.6 and higher.
New features¶
HelioPy has been integrated with SunPy TimeSeries and AstroPy Units. All of the HelioPy modules now return physical units with data.
Added a new
data.util.cdf_units()
function that can extract the UNIT attribute from CDF files.Low resolution OMNI data import has been added in
data.omni.low()
function.Magnetic Field data from DSCOVR Spacecraft can now be imported using the
data.dscovr.mag_h0()
function.
Backwards incompatible changes¶
Methods in
heliopy.data
no longer returns a Pandas DataFrame, but now return a SunPy timeseries object. To get the underlying data, you can still do:dataframe = timeseries.data
For an example of how to use the new object, see TimeSeries Plotting Example.
Data import has had a major overhaul, so that every column in CDF files now gets automatically imported and retains its name without being changed by HelioPy. This means column names in several data products are now different, to reflect their original name in the CDF files instead of a custom name that was previously assigned by HelioPy.
data.helios.merged()
,data.helios.mag_4hz()
,data.helios.corefit()
anddata.helios.mag_ness()
no longer take averbose
keyword argument. #467
Fixed bugs¶
data.imp.merged()
no longer imports redundant columns.
Version 0.5.3¶
New features¶
Lots of small documentation updates.
data.helios.distparams
now has an extra'data_rate'
column, which determines whether a given distribution function was transmitted in high or low data mode. #529
Version 0.5.2¶
Fixed bugs¶
The new data version number of
data.mms.fpi_dis_moms()
has been updated.
Version 0.5.1¶
New features¶
HelioPy can now be installed using conda.
Backwards incompatible changes¶
The list of kernels available for automatic download in
data.spice
has been updated, and some names changed. #408
Fixed bugs¶
spice.Trajectory.generate_positions()
can now generate positions at a resolution of one second instead of one day. #405A duplicate “z gsm” column header in the data returned by
data.imp.mag15s()
has been corrected. #396
Version 0.5.0¶
New features¶
heliopy.data.sunspot()
added an additional functionality to import sunspot data in three different timeframes - daily, monthly and yearly.The inventory of spice kernels in
heliopy.data.spice
now includes “Helios 1 Reconstructed”, “Helios 1 Predicted”, “Juno Reconstructed”, “Juno Predicted” and “Helios 2” kernels.heliopy.spice.furnish()
now accepts a list of filenames as well as individual filenames.A lot of new functions for downloading ACE data have been added to
heliopy.data.ace
.
Backwards incompatible changes¶
heliopy.data.spice.get_kernel()
now returns a list of filenames instead of a single filename string.Most of the functions that were in
heliopy.data.helper
have been moved toheliopy.data.util
. The ones the remain inheliopy.data.helper
are useful for users, and the ones inheliopy.data.util
are used internally as utility functions for data import.
Removed features¶
heliopy.data.helios.trajectory()
has been removed. To get Helios trajectory data use theheliopy.spice
andheliopy.data.spice
modules.
Version 0.4¶
New features¶
swics_abundances()
andswics_heavy_ions()
methods added for loading SWICS data from the Ulysses mission.cdfpeek()
method added for peeking inside CDF files.
Backwards incompatible changes¶
heliopy.spice.Trajectory.generate_positions()
now takes a list of dates/times at which to generate orbital positions, instead of a start time, stop time, and number of steps. The old behaviour can be recovered by manually generating an evenly spaced list of times.
Version 0.3¶
New features¶
HelioPy now contiains code for working with SPICE kernels. See the following modules for more information:
heliopy.data.spice
module for downloading spice kernelsheliopy.spice
module for automatically processing spice kernels
Removed features¶
The
heliopy.plasma
module has been removed (see http://www.plasmapy.org/ for the recommended alternative)heliopy.plot
code removed
Version 0.2¶
New features¶
Convert examples gallery to automatically generate plots
Added
HelioPy.data.helper.listdata()
method for easily viewing the amount of data HelioPy is storing locally.Added
heliopy.data.wind.threedp_sfpd()
method for importing WIND 3DP sfpd data.
Version 0.1.3¶
Fixed bugs¶
Correctly report download percentage when downloading files.
Fix issue where
heliopy.data.helios.corefit()
made duplicate .hdf files on days where no data is available.