Changelog

Version 0.3.0

Python support

Running psipy on Python 3.10 is now officially supported.

Updated requirements

psipy now requires the pooch package to handle sample data.

Tracing field lines

psipy can now trace field lines through models that have all three components of the magnetic field available. For more information see new pages in the guide and new examples in the gallery.

PLUTO fixes

Loading PLUTO files was broken in version 0.2; this has now been fixed, and tests added to ensure this doesn’t happen again in the future.

Version 0.2.0

Support for multiple timesteps

Support for reading in model outputs across multiple timesteps has been added, where each timestep is stored in an individual file. psipy.io.mas.read_mas_file() will automatically read in all the MAS output files it finds in the given directory. The time coordinate values can be queried with the new Variable.time_coords property of variables.

The following methods have been updated to support this:

When loading a set of netCDF files they will be lazily loaded along the time dimension (ie. only one file will be read into memory at any one time).

When loading a set of HDF4 or HDF5 files all of them will be read into memory, so beware loading lots of them! Support for lazy loading may be implemented for HDF4 or HDF5 files in the future.

Animations

Variable.plot_radial_cut, Variable.plot_phi_cut, and Variable.plot_equatorial_cut now support animation creation. If multiple timesteps are loaded in the Variable and the timestep isn’t specified, a Animation object will be returend instead of a single plot being created. See the example gallery for more information on how to save the animation to disk.

Other new features

  • Added convert_hdf_to_netcdf() to convert a set of HDF files to netCDF files. This is useful for creating animations from large datasets, as psipy can keep track of a number of netCDF files without reading them all into memory at once.

Fixes

  • Accessing a variable from a model output multiple times will now return the same object, instead of making two copies of the variable in memory.

Version 0.1.1

Added the ability to change the units and radial coordinates of a Variable. There are two new examples showing how to do this in the example gallery.

Version 0.1

First PsiPy release.