All notable changes to this project will be documented in this file. This project adheres to Semantic Versioning.
- Added pyproject.toml to support systems without numpy.
- Modified manifest.ini to include version.txt
- Corrected bad link in build status badge
- Corrected BSD license classifier
- Updated vector basis algorithm and reduced uncertainty when scaling ion drifts and electric fields for multipole fields by four orders of magnitude.
- Added support for multiple unit test magnetic fields, from dipole up to octupole.
- Added support for testing vector basis determination with a spherical Earth.
- Improved tolerance checks on vector basis during iteration so outputs better reflect user settings.
- Improved robustness of vector basis calculation at higher latitudes.
- Updated IGRF step method to slow integration when reaching target altitude to use user provided step size.
- Allow automatic expansion of
field_line_trace
step_size after many iterations. - Improved robustness of
apex_location_info
to unreported changes infield_line_trace
step_size. - Added
pole_tol
keyword which specifies how close to vertical local magnetic field must be to be considered a pole. - Added
utils.datetimes_to_doubles
a method to calculate year and fractional day of year for IGRF calls. - Added keyword
max_steps
toapex_location_info
- Corrected normalization error in
magnetic_vector
. - Deprecated
scalar
input for basis vectors. - Reduced number of allowed recursive calls for
field_line_trace
- Moved vector functions to
OMMBV.vector
- Moved transformation functions to
OMMBV.trans
- Moved tracing functions to
OMMBV.trace
- Moved older algorithms not needed for current outputs to
OMMBV.heritage
- Moved supporting Fortran functions from
OMMBV.igrf13
toOMMBV.sources
- Improved robustness of
apex_location_info
tofull_field_line
tracing failures. - Added support for GitHub Workflows
- Refactored unit testing
- Moved to
setup.cfg
- Added
.zenodo.json
- Improved documentation
- Updated docstrings
- Added logo
- Updated testing versions
- Updated setup.py
- Added compatibility with pysat v3.x
- Updated to latest IGRF reference code
- Metadata clarity improvements
- Fixed bugs coupling the code repo to community services related to the name change from pysatMagvect to OMMBV
- Added community documents
- Implemented new algorithm for basis vectors. First system valid for multipole fields.
- Implemented new E and D scaling vectors similar to Richmond (apexpy)
- Implemented high accuracy numerical path that minimizes geodetic transformations
- Reviewed and updated default parameters based upon observed peformance
- Validated meridional vector along maximum apex height gradient
- Retained previous basis methods, identified by heritage or integrated
- Improved accuracy and robustness of heritage techniques though new methods recommended
- Validated accuracy of scaling methods
- Incorporated IGRF13
- Expanded and organized unit tests
- Removed pysat as a dependency
- Docstring improvements
- Testing routines have been expanded significantly.
- Default parameters have been updated based upon this testing.
- Numerous corrections have been implemented.
- Improved use of ECEF and ENU vectors.
- Improved robustness of setup.py
- Corrected Earth Centered Earth Fixed (ECEF) and East, North, Up (ENU) conversion routines.
- Improved documentation and metadata.
- Improved installation process
- Initial release