Recent Releases of spacepy

spacepy - 0.7.0

0.7.0 (2024-11-08)

Please see the full release notes at https://spacepy.github.io/release_notes.html

Binary wheels are now provided for Linux on 64-bit ARM, intended for Raspberry Pi.

There are no changes to dependencies, minimum versions, or installation process with this release.

New Features

help now supports searching the documentation.

Dependency requirements

Numpy 2.0 is now fully supported.

Numpy and f2py are no longer required to build SpacePy. Binary wheels are no longer tied to numpy or Python version.

Sphinx 4.0 is now required to build the documentation; this is not a concern for most users.

Support for Python 3.6 has been removed due to inability to test. Python 3.7 is the oldest supported Python; as a result, Astropy 2.0 is the oldest supported Astropy (if using Astropy).

Deprecations and removals

toolbox.timeout_check_call is deprecated as redundant to using subprocess.check_call with the timeout argument.

The irbempy.irbempylib module has been removed. This was the old internal interface to the IRBEM library and was not intended for public use.

The data_assimilation, radbelt, and spacepy_EnKF modules have been moved to the "sandbox". These modules were undertested and minimally documented.

Major bugfixes

irbempy.find_Bmirror now correctly returns one Bmirr per input pitch angle instead of ignoring all but the first.

Other changes

Operations on dmarray which return a scalar value will now return a numpy array scalar rather than the base Python type. This is consistent with the behavior of numpy.ndarray. dmarray also supports assigning to its dtype and shape. Together these changes should make dmarray a much closer drop-in replacement for numpy.ndarray.

Warnings issued by SpacePy are now associated with the line of the calling code, not with the SpacePy code itself.

- Fortran
Published by jtniehof over 1 year ago

spacepy - 0.6.0

0.6.0 (2024-04-25)

Please see the full release notes at https://spacepy.github.io/release_notes.html

There are no changes to dependencies, minimum versions, or installation process with this release.

New Features

datamodel supports output to Pandas (toDataFrame()) and input from Pandas (fromDataFrame()). This support requires pandas 0.18.0, which is not installed by default with SpacePy.

datamodel.dmarray supports output to Astropy Quantities (toQuantity) and input from them (fromQuantity). This support requires Astropy 1.0, which is not installed by default with SpacePy.

pybats.ImfInput now has two new methods: calc_clock() which,calculates and stores the IMF clock angle defined as the angle of the interplanetary magnetic field (IMF) in the GSM Y-Z plane; and calc_epsilon(), which calculates the epsilon parameter, an approximation of power input into the magnetosphere.

- Fortran
Published by jtniehof about 2 years ago

spacepy - 0.5.0

0.5.0 (2024-03-11)

Please see the full release notes at https://spacepy.github.io/release_notes.html

The SpacePy team now delivers binary wheels for all supported Python versions (3.6-3.12) for 64-bit Windows, Linux, and Mac. Most users will not need to build SpacePy.

This release marks the end of all support for Python 2. SpacePy now requires Python 3.6 or later. Minimum supported versions for other dependencies were also increased.

Dependency requirements

The setup.py based install process is no longer supported; as such, pip and setuptools are now required. wheel is required if building from source. The vast majority of modern Python distributions already have these requirements.

Installing from pip normally installs all necessary dependencies.

New features

readJSONheadedASCII and readJSONMetadata now support reading from gzipped input files; filenames ending with .gz are assumed to be gzipped.

datamodel now has explicit support for operations using ISTP-compliant metadata; see dmarray and SpaceData for details. In particular note the plotting support with datamodel.ISTPContainer.plot.

irbempy now provides an interface to the SHIELDOSE-2 shielding radiation dose model. This is implemented through the Shieldose2 class.

plot.spectrogram.simpleSpectrogram() supports treating zeros as valid data on log plots.

pycdf.Library.set_backward now returns the prior state of backward compatibility mode.

datamodel.toCDF now supports writing backward-compatible CDFs.

pybats.ImfInput has been updated with a more flexible quick-look plot capability. Variable naming has been unified to remove issues with temperature and density naming.

pybats.bats.Bats2d can now calculate parallel and perpendicular velocities with new calc_uperp and calc_upar methods.

pybats.bats.Bats2d objects and the class that handles quad tree building (pybats.qotree.QTree) now accepts a keyword argument to set the size of each block: blocksize. Default value is 8.

toolbox.dictree now supports returning the output instead of printing it.

Deprecations and removals

Since plot styles are no longer applied on import, importing spacepy.plot.apionly has no effect and is deprecated.

The new pip-based install method does not support a separate build step so spacepy_testing.add_build_to_path is deprecated. Alternatives include using an editable install or installing in a custom location using --prefix and manually editing PYTHONPATH.

coordinates no longer warns if a backend (irbem or SpacePy) is not specified. The default backend is SpacePy, as it has been since 0.4.0.

In time, the cls argument of Ticktock.update_items has been removed (deprecated in 0.2.2). The end-user normally does not call this function.

In pybats.bats, removed add_b_magsphere_legacy and add_b_magsphere_new, which were deprecated in 0.2.0. Use add_b_magsphere (which is the same as add_b_magsphere_new).

Major bugfixes

datamodel.toCDF handling of time types other than TT2000 has been fixed.

Other changes

pybats.IdlFile no longer sorts unstructured data from binary files; see that documentation for details. Thanks Lutz Rastaetter.

datamodel.toCDF now only accepts valid keyword arguments.

Plot styles are not automatically applied on import of plot. Use plot.style directly to apply the desired style.

pybats.bats.Bats2d plot functions will no longer raise an exception when trying to add a planet/inner boundary patch without an rbody attribute present. Rather, the patch will not be applied to the axes object.

- Fortran
Published by jtniehof about 2 years ago

spacepy - 0.4.1

0.4.1 (2022-09-15)

Please see the full release notes at https://spacepy.github.io/release_notes.html

This minor release provides no changes in functionality, but fixes installation problems on some systems. There is no need to upgrade from a functioning 0.4.0 (and no harm in doing so).

- Fortran
Published by jtniehof over 3 years ago

spacepy - 0.4.0

0.4.0 (2022-09-07)

Please see the full release notes at https://spacepy.github.io/release_notes.html

This release marks the end of support and/or fixes for bugs that cannot be reproduced on Python 3.

New features

The LANLstar module has been rewritten to use numpy to evaluate the neural networks instead of relying on ffnet. The temporary removal of support for this module in SpacePy 0.3.0 has therefore been lifted.

VarBundle now supports output to and input from SpaceData objects as well as CDF.

Both coordinates backends now provide access to the TEME coordinate system (as used by the SGP4 orbit propagator).

Deprecations and removals

The _nelems method of Var has been removed; use the public interfacenelems.

irbempy get_sysaxes, sph2car and car2sph were deprecated in SpacePy 0.2.2 and have been removed. In place of the latter functions, coordinates.sph2car and coordinates.car2sph should be used.

Major bugfixes

The installer has been updated to address certain build issues, particularly on Mac. The Mac installation directions have been completely rewritten.

pycdf has been updated for Apple Silicon (ARM/M1).

pycdf contains a time conversion workaround for versions of the NASA CDF library before 3.8.0.1.

The IRBEM backend for coordinate transformations has been updated to correct the specification of transformations through the J2000 and TOD systems. The IRBEM update also traps a singularity at the South pole in the conversion to geodetic (GDZ) coordinates.

Dependency requirements

LANLstar now uses a numpy-based implementation so neither ffnet or networkx are required to use it.

Other changes

pycdf no longer warns when defaulting to version 3 CDFs and TIME_TT2000 time type if not specified.

The IRBEM library bundled with SpacePy has been updated to reflect recent updates and bugfixes.

- Fortran
Published by jtniehof over 3 years ago

spacepy - 0.3.0

0.3.0 (2022-04-27)

Please see the full release notes at https://spacepy.github.io/release_notes.html

No Python 2 binaries are provided, and 0.3.0 will not install on Python 2 with pip. This is the last release with Python 2 bugfix support.

Windows binaries are only provided as 64-bit wheels.

New features

coordinates has been overhauled with a new, Python-based backend.

pycdf now assumes strings in CDFs are UTF-8

ae9ap9 now supports the new ephem model file format.

Deprecations and removals

HTML documentation is no longer installed with SpacePy.

LANLstar is temporarily unsupported for this release.

Colourmaps have been removed from plot.

The old name spectrogram for Spectrogram has been removed.

read_ram_dst has been removed from pybats.ram.

fix_format has been removed from pybats.rim.

The from_dict method of CDF attribute lists has been removed.

The feq function has been removed from toolbox.

Quaternion math functions have been removed from toolbox.

Dependency requirements

Due to the new backend, scipy is now required for coordinates; 0.11 remains the minimum version.

ffnet and networkx are no longer treated as SpacePy dependencies.

Other changes

pycdf now defaults to creating version 3 CDFs and TIME_TT2000 time variables.

On Windows, pycdfnow searches more locations for the NASA CDF library.

The default data source for leapsecond files has reverted to the USNO.

- Fortran
Published by jtniehof about 4 years ago

spacepy - 0.2.3

0.2.3 (2021-10-30)

Please see the full release notes at https://spacepy.github.io/release_notes.html

The 0.2 series will be the last with full support for Python 2.

New features

pycdf now supports variables with sparse records, including enabling/disabling sparse records and setting the pad value. Thanks Antoine Brunet.

Deprecations and removals

The colourmaps provided in the plot module have been deprecated. The same colourmaps have been available in matplotlib since at least 1.5, and users who do not directly import the colourmaps should see no impact.

Dependency requirements

Not all dependencies are required for all functionality; see https://spacepy.github.io/dependencies.html for full details, including what functionality is lost if a dependency is not installed.

No changes since 0.2.2: numpy 1.10 and scipy 0.11 are the minimum supported versions.

Major bugfixes

The passing of keyword arguments from bootHisto to numpy.histogram and matplotlib.pyplot.bar has been fixed.

The check for out-of-date leapseconds in time has been fixed (previously warned even when the file was up to date.)

Fixed installation on new versions of setuptools, which removed bdist_wininst support.

The handling of library paths on Windows has been updated. This should fix situations where irbempy would not import on Windows with Python 3.8 or later.

Other changes

Modern leapsecond rules are applied from 1958-1972 rather than rounding fractional leapseconds.

The handling of the .spacepy directory has been improved. If the SPACEPY environment variable is used, the directory will be created. The import process also is less fragile in the case of a partially-created .spacepy directory or an invalid (e.g. empty) spacepy.rc.

- Fortran
Published by jtniehof over 4 years ago

spacepy - 0.2.2

0.2.2 (2020-12-29)

Please see the full release notes at https://spacepy.github.io/release_notes.html

The 0.2 series will be the last with full support for Python 2.

New features

irbempy incorporates upstream IRBEMlib rev620. This adds IGRF13 coefficients. coordinates and irbempy now also support using all supported coordinate systems as inputs to routines; if a routine does not support an input system, it will be automatically converted.

time.Ticktock supports conversions to and from astropy.time.Time.

New functions, methods, and classes: * coordinates.quaternionFromMatrix, coordinates.quaternionToMatrix * datamanager.rebin * plot.utils.add_arrows * pycdf.concatCDF * pycdf.istp.nanfill * pycdf.istp.FileChecks.empty_entry, pycdf.istp.VariableChecks.deltas, pycdf.istp.VariableChecks.empty_entry * pycdf.istp.VarBundle

Deprecations and removals

pycdf now warns if creating a new CDF file without explicitly setting backward compatible or not backward compatible. Similarly it now warns if creating a time variable without specifying a time type.

pybats.rim.fix_format is now deprecated, as pybats.rim.Iono can now read these files directly.

Quaternion math functions have been moved to coordinates; using the functions in toolbox is deprecated.

toolbox.feq is deprecated; numpy 1.7 added the equivalent isclose.

The plot.spectrogram class is now capitalized (plot.Spectrogram); the old, lower-case variant is kept for compatibility but will be removed.

Dependency requirements

Not all dependencies are required for all functionality; see https://spacepy.github.io/dependencies.html for full details, including what functionality is lost if a dependency is not installed.

numpy 1.10 is now required. scipy 0.11 is now the minimum supported version of SciPy.

Major bugfixes

Time conversions between time systems before 1961 now use the proper number of leapseconds (0).

Other changes

Data sources for leapsecond files and omni Qin-Denton files have been updated to provide current sources.

Several changes relating to the conversion of times around leap seconds are in the fulll release notes.

time.Ticktock.now and time.Ticktock.today return times in UTC; in previous versions the value returned was local, but was treated as UTC for all conversions (and thus inaccurate.)

- Fortran
Published by jtniehof over 5 years ago

spacepy - 0.2.1

- Fortran
Published by jtniehof over 6 years ago

spacepy - 0.2.0

- Fortran
Published by jtniehof almost 7 years ago