Skip to main content

A lightweight, open-source Python library for the analysis and modeling of radiation belts.

Project description

Radiation Belts Analysis and Modeling Library (rbamlib)

Overview

rbamlib is a lightweight, open-source Python library for the analysis and modeling of radiation belts.

The library aims to support the scientific community by providing essential functionalities for radiation belt studies, with detailed documentation. This includes system properties calculations, empirical model collections, and modeling support.

[!IMPORTANT] This library is currently in active development.

Some functions are placeholders and may not yet have full implementations. Expect ongoing updates and new features as the library evolves.

Documentation Status

Planned Key Features

  • System Properties: Adiabatic invariants transformation, drift velocities, phase space density, and motion period calculations, adaptable for different planets.
  • Empirical Models Collection: Radial diffusion coefficients, lifetimes, plasma densities, and more.
  • Modeling Support: Conversion between simulation grids, boundary and initial condition characteristics, adiabatic transformation of boundary scaling factors, local diffusion coefficients scaling.

Architecture

The library is architected into Python packages, acting as modules containing multiple functions organized in separate files. This design allows for direct function imports from the package, streamlining usage without the need to reference specific files.

For example, pc2en function from conv package is located in conv/pc2en.py file. To use it simply import it as follows:

from rbamlib.conv import pc2en

The primary function that users should utilize is named after the file itself, ensuring intuitive access. If this main function relies on any helper functions, they are located within the same file to maintain coherence. These helper functions are kept distinct to facilitate targeted testing and validation.

Development and Contribution

The library is being developed in compliance with the Heliophysics Community (PyHC) Standards and HP Data Policy. It will be documented, tested with a planned release on Python Package Index (PyPI).

How to Contribute

The contributions from the community are welcomed! If you're interested in contributing, please see CONTRIBUTING.md.

Installation

The package is available on PyPI:

pip install rbamlib

Alternatively, you can install from source by cloning the repository:

git clone https://github.com/radiation-belts/rbamlib.git
cd rbamlib
pip install -e .

Documentation

Please see documentation at https://rbamlib.readthedocs.io/.

Acknowledgements

The original development of the library was supported by NASA grant 80NSSC24K0462.

Special thanks to the PlasmaPy for inspiring with their approach to building open-source scientific software. We are also grateful to the Python in Heliophysics Community (PyHC) for their guidance.

License

rbamlib is released under the BSD-License (3-clause version). See the LICENSE and NOTICE files for details.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

rbamlib-26.2.tar.gz (76.1 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

rbamlib-26.2-py3-none-any.whl (79.7 kB view details)

Uploaded Python 3

File details

Details for the file rbamlib-26.2.tar.gz.

File metadata

  • Download URL: rbamlib-26.2.tar.gz
  • Upload date:
  • Size: 76.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.9

File hashes

Hashes for rbamlib-26.2.tar.gz
Algorithm Hash digest
SHA256 f0a5e4f62b13c587dc2b45eb39a221db7f94fb5f7351dcdd967a836b5a7f28e4
MD5 ca21934b3667753fa21d3a536efbc872
BLAKE2b-256 65a4ca493746268ab6528fa002829d8dd456fa48d246eb776496291b38ebd999

See more details on using hashes here.

File details

Details for the file rbamlib-26.2-py3-none-any.whl.

File metadata

  • Download URL: rbamlib-26.2-py3-none-any.whl
  • Upload date:
  • Size: 79.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.9

File hashes

Hashes for rbamlib-26.2-py3-none-any.whl
Algorithm Hash digest
SHA256 f76601eeff9b128c6babafca44f79e97c4f4583c961357827f844d61c580f9d6
MD5 a66fb629669dd7cacff4a7e17f2061df
BLAKE2b-256 5e25ef5faa75b0dab35155fde1a14c7c55b7f7aad59b694bf2cafcda637ae8f3

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page