MagPy Version 2.0.0
MagPy provides a tool set for geomagnetic data analysis.
A detailed description and instructions can be found on the main download page: https://github.com/geomagpy/magpy#magpy.
DOI: 10.5281/zenodo.15861613
Important notes on the new major version 2.0.0:
2.0.0 general:
- considerable changes to internal data structure
- reorganization of methods and classes
- cleanup of code, deletion of unused and defunct code fragments
- removed python 2.x support, cleanup of import and dependencies
- changed many methods with main focus on speed and memory efficiency
- completely new plotting routines
- database methods updated and speeded up (i.e. read is 15times faster than in MagPy1.x)
- README completely reorganized, updated and mostly rewritten
- jupyter-notebook examples for backend functionality
Please note: despite the removal of py2.x support, MagPy2.x is fully
compatible with all data structures and DB contents created with MagPy1.x
Database commands, flagging data and functions are now saved in a different format which is NOT
readable with MagPy1.x.
2.0.0 important removals/modifications affecting definitive data production:
- internal geomagnetic activity K code was replaced by the generally used routine as provided by IAGA.
- The IMAGCDF library has been updated since version 1.1.8 and contains a number of improvements and important corrections i.e. treatment of multiple time columns, assignment of correct time columns, ESPG coordinate transformation, and a significant speed boost particularly when dealing with different time columns. Write commands will now produce ImagCDF version 1.3 files.
- rotation method: the new method makes use of an Euler rotation. This differs from earlier "yaw" and "pitch" technique, if you used angles other than alpha.
2.0.0 new packages:
plotting:
- the original plotting methods were replaced by completely new methods
- more memory efficient and faster
- more flexibility with layout defined in configuration dictionaries
- modern look
- auto-zoom function for all axes
- new power spectral plots based on matplotlib psd
- new spectrograms based on matplotlib specgram
flagging of signals and annotations:
- all flagging and labeling functions are reorganized in an own class
- flagging dictionary structure allows more input and definitions
- support of any previous flagging data
- memory efficient annotations in plots
- improved automatic flagging routines
- flagging analysis independent of data streams
geomagnetic activity:
- several new classes to analyze geomagnetic activity
- K_index routine (FMI method) now based on original code
- stormdetector based on ACE-L1 and geomagnetic data outputs a flagging structure
- new Sq variation and baseline determination methods
general methods:
- new extrapolation method for signals with various methods (linear, spline, fourier)
2.0.0 fixes:
- fixed sign error in calculation of F from vector data including provided deltaF values
- fixed nan error in integration
- DKA export with missing data
- fixed K (FMI) calculation
- interpreting missing data and adopted baseline corrections when reading BLV
- corrected IMAGCDF multiple time column treatment
2.0.0 removed items:
- opt.emd replaced by official python emd package
- opt.stormdet is now part of the activity package
- mpplot removed and replaced by core.plot
- transfer removed and database moved to core
- deleted old MARTAS related items (collector, acquisition)
2.0.0 XMagPy - graphical user interface:
- reorganizations and regrouping:
* of buttons on several panels
* of menu items - added quick access buttons for next or previous data sets
- fit individual components differently
- removal of open directory, store working state, restore button
- any new or essentially modified data set will be stored automatically in the memory
- new plot design, more options
- better export possibilities
- any many more -> see new manual
2.0.0 mostly unseen things:
- test routines for all methods and classes
- better code documentation
- standard naming and structural conventions
- pythonic re-coding
That was a hugh amount of work. If you like the changes and eventually even profit from
MagPy for your work, we are happy. In any case we are much interested in your opinion and
comments. Donations in form of free drinks to any of the developers, either because of gratitude or
compassion, are highly welcome.