inscar
Calculate an incoherent scatter spectrum with some isotropic electron velocity distribution and radar pointing at oblique angles to the magnetic field
Science Score: 67.0%
This score indicates how likely this project is to be science-related based on various indicators:
-
✓CITATION.cff file
Found CITATION.cff file -
✓codemeta.json file
Found codemeta.json file -
✓.zenodo.json file
Found .zenodo.json file -
✓DOI references
Found 2 DOI reference(s) in README -
✓Academic publication links
Links to: wiley.com, zenodo.org -
○Academic email domains
-
○Institutional organization owner
-
○JOSS paper metadata
-
○Scientific vocabulary similarity
Low similarity (14.3%) to scientific vocabulary
Keywords
Repository
Calculate an incoherent scatter spectrum with some isotropic electron velocity distribution and radar pointing at oblique angles to the magnetic field
Basic Info
- Host: GitHub
- Owner: engeir
- License: mit
- Language: Python
- Default Branch: main
- Homepage: https://inscar.readthedocs.io/en/latest/
- Size: 603 MB
Statistics
- Stars: 6
- Watchers: 1
- Forks: 1
- Open Issues: 8
- Releases: 13
Topics
Metadata Files
README.rst
inscar
======
INcoherent SCAtter Radar spectrum
|PyPI| |PyPI Downloads| |Status| |Python Version| |License| |Read the Docs| |Tests|
|Codecov| |DOI| |pre-commit| |Black|
.. |PyPI| image:: https://img.shields.io/pypi/v/inscar.svg
:target: https://pypi.org/project/inscar/
:alt: PyPI
.. |PyPI Downloads| image:: https://img.shields.io/pypi/dm/inscar.svg
:target: https://pypi.org/project/inscar/
:alt: PyPI Downloads
.. |Status| image:: https://img.shields.io/pypi/status/inscar.svg
:target: https://pypi.org/project/inscar/
:alt: Status
.. |Python Version| image:: https://img.shields.io/pypi/pyversions/inscar
:target: https://pypi.org/project/inscar
:alt: Python Version
.. |License| image:: https://img.shields.io/badge/License-MIT-yellow.svg
:target: https://opensource.org/licenses/MIT
:alt: License
.. |Read the Docs| image:: https://img.shields.io/readthedocs/inscar/latest.svg?label=Read%20the%20Docs
:target: https://inscar.readthedocs.io/
:alt: Read the documentation at https://ncdump-rich.readthedocs.io/
.. |Tests| image:: https://github.com/engeir/inscar/workflows/Tests/badge.svg
:target: https://github.com/engeir/inscar/actions?workflow=Tests
:alt: Tests
.. |Codecov| image:: https://codecov.io/gh/engeir/inscar/branch/master/graph/badge.svg?token=P8S18UILSB
:target: https://codecov.io/gh/engeir/inscar
:alt: Codecov
.. |DOI| image:: https://zenodo.org/badge/233043566.svg
:target: https://zenodo.org/badge/latestdoi/233043566
:alt: pre-commit
.. |pre-commit| image:: https://img.shields.io/badge/pre--commit-enabled-brightgreen?logo=pre-commit&logoColor=white
:target: https://github.com/pre-commit/pre-commit
:alt: pre-commit
.. |Black| image:: https://img.shields.io/badge/code%20style-black-000000.svg
:target: https://github.com/psf/black
:alt: Black
.. |CodeQL| image:: https://github.com/engeir/inscar/workflows/CodeQL/badge.svg
:alt: CodeQL
.. image:: ./img/normal_is_spectra.png
Info
----
Calculates an incoherent scatter radar spectrum based on the theory presented in
`Hagfors (1961)`_ and `Mace (2003)`_.
Installing
----------
You can install *inscar* via pip_ from PyPI_:
.. code:: console
$ pip install inscar
Usage
-----
Please see the `Modules Reference `_ for details.
Physical environment
^^^^^^^^^^^^^^^^^^^^
The plasma parameters that are supported natively by the program are
* Radar frequency ``[Hz]``
* This will also set the radar wave number ``(= -4pi(radar frequency)/(speed of light))``
* Magnetic field strength ``[T]``
* Aspect angle ``[1]``
* Electron temperature ``[K]``
* Ion temperature ``[K]``
* Electron collision frequency ``[Hz]``
* Ion collision frequency ``[Hz]``
* Electron mass in atomic mass units ``[u]``
* Ion mass in atomic mass units ``[u]``
* Electron number density ``[m^(-3)]``
* Ion number density ``[m^(-3)]``
* Kappa value for the kappa velocity distribution function ``[1]``
Custom simulation set-ups can be made by inheriting from the different classes. Say you
want a ``Particle`` class that also carries information about the temperature of a
collection of super thermal electrons as well as some height information. You then
inherit from ``Particle`` and decorate it with the ``@attr.s`` object:
.. code:: python
@attr.s
class RealDataParticle(isr.Particle):
"""Create a particle object with extra attributes."""
superthermal_temperature: float = attr.ib(
default=90000,
validator=is_positive,
on_setattr=attr.setters.validate,
)
z: int = attr.ib(default=300)
For more examples, see the assets_ directory.
Calculation method
^^^^^^^^^^^^^^^^^^
The program support different methods of calculating the spectrum, based on how you
assume the particles to be distributed. This includes a Maxwellian distribution
(``IntMaxwell`` class) and a kappa distribution (``IntKappa`` class), in addition to any
arbitrary isotropic distribution (``IntLong`` class) which can take any ``Vdf`` as
particle velocity distribution (default is ``VdfMaxwell``). An example showing how a new
``Vdf`` class can be made is given in assets_ (``VdfRealData``).
Aside
-----
This program was developed during my master thesis. For a more detailed explanation of
the mathematical derivations and an analysis of the numerical precision of the program,
please refer to the thesis found at `munin.uit.no`_.
Contributing
------------
To contribute to the project, clone and install the full development version (uses
rye_ for dependencies). Optionally, you may also install the pre-commit_ hooks to
automatically format the code and run the tests before committing.
.. code:: console
$ git clone https://github.com/engeir/inscar.git
$ cd inscar
$ rye install
$ pre-commit install
Before committing new changes to a branch you may run command
.. code:: console
$ nox
to run the full test suite. You will need Rye_ and nox_ installed for this.
.. _Hagfors (1961): https://agupubs.onlinelibrary.wiley.com/doi/epdf/10.1029/JZ066i006p01699
.. _Mace (2003): https://aip.scitation.org/doi/pdf/10.1063/1.1570828
.. _PyPI: https://pypi.org/
.. _assets: https://github.com/engeir/inscar/tree/main/assets
.. _munin.uit.no: https://hdl.handle.net/10037/19542
.. _nox: https://nox.thea.codes/en/stable/
.. _pip: https://pip.pypa.io/
.. _rye: https://rye.astral.sh/
.. _pre-commit: https://pre-commit.com/
.. github-only
.. _Contributor Guide: CONTRIBUTING.rst
.. _Modules: https://inscar.readthedocs.io/en/latest/modules.html
Owner
- Name: Eirik Rolland Enger
- Login: engeir
- Kind: user
- Location: Tromsø
- Company: @NorskHelsenett
- Website: https://eirik.re
- Repositories: 93
- Profile: https://github.com/engeir
System engineer @NorskHelsenett. Previously, PhD candidate in the complex systems modelling group at UiT \\ eirikre.83 on @signalapp
Citation (CITATION.cff)
cff-version: 1.2.0
message: "If you use this software, please cite it as below."
authors:
- family-names: "Enger"
given-names: "Eirik R."
orcid: "https://orcid.org/0000-0001-6709-8688"
title: "inscar"
version: v3.0.3
doi: 10.5281/zenodo.6587001
date-released: 2022-05-27
url: "https://doi.org/10.5281/zenodo.6587001"
preferred-citation:
type: software
authors:
- family-names: "Enger"
given-names: "Eirik R."
orcid: "https://orcid.org/0000-0001-6709-8688"
doi: "10.5281/zenodo.6587001"
journal: "Zenodo"
month: 5
# start: 1 # First page number
# end: 10 # Last page number
title: "inscar"
# issue: 1
# volume: 1
year: 2022
GitHub Events
Total
- Watch event: 1
- Fork event: 1
Last Year
- Watch event: 1
- Fork event: 1
Packages
- Total packages: 1
-
Total downloads:
- pypi 48 last-month
- Total dependent packages: 0
- Total dependent repositories: 1
- Total versions: 11
- Total maintainers: 1
pypi.org: inscar
Calculate an incoherent scatter spectrum with arbitrary isotropic electron velocity distributions and radar pointing at oblique angles to the magnetic field
- Documentation: https://inscar.readthedocs.io/
- License: mit
-
Latest release: 3.3.2
published about 2 years ago
Rankings
Maintainers (1)
Dependencies
- sphinx ==5.0.1
- sphinx-autodoc-typehints ==1.18.2
- sphinx-rtd-theme ==1.0.0
- alabaster 0.7.12 develop
- asteval 0.9.27 develop
- atomicwrites 1.4.0 develop
- babel 2.10.1 develop
- black 22.3.0 develop
- certifi 2022.5.18.1 develop
- cfgv 3.3.1 develop
- charset-normalizer 2.0.12 develop
- click 8.1.3 develop
- colorama 0.4.4 develop
- coverage 6.4.1 develop
- darglint 1.8.1 develop
- distlib 0.3.4 develop
- docutils 0.17.1 develop
- filelock 3.7.1 develop
- flake8 3.9.2 develop
- future 0.18.2 develop
- identify 2.5.1 develop
- idna 3.3 develop
- imagesize 1.3.0 develop
- iniconfig 1.1.1 develop
- isort 5.10.1 develop
- jinja2 3.1.2 develop
- livereload 2.6.3 develop
- lmfit 1.0.3 develop
- markupsafe 2.1.1 develop
- mccabe 0.6.1 develop
- mypy 0.960 develop
- mypy-extensions 0.4.3 develop
- nodeenv 1.6.0 develop
- packaging 21.3 develop
- pathspec 0.9.0 develop
- platformdirs 2.5.2 develop
- pluggy 1.0.0 develop
- pre-commit 2.19.0 develop
- pre-commit-hooks 4.2.0 develop
- py 1.11.0 develop
- pycodestyle 2.7.0 develop
- pyflakes 2.3.1 develop
- pygments 2.12.0 develop
- pyparsing 3.0.9 develop
- pytest 7.1.2 develop
- pytest-cov 3.0.0 develop
- pytz 2022.1 develop
- pyupgrade 2.32.1 develop
- pyyaml 6.0 develop
- requests 2.27.1 develop
- ruamel.yaml 0.17.21 develop
- ruamel.yaml.clib 0.2.6 develop
- si-prefix 1.2.2 develop
- six 1.16.0 develop
- snowballstemmer 2.2.0 develop
- sphinx 5.0.1 develop
- sphinx-autobuild 2021.3.14 develop
- sphinx-autodoc-typehints 1.18.2 develop
- sphinx-rtd-theme 1.0.0 develop
- sphinxcontrib-applehelp 1.0.2 develop
- sphinxcontrib-devhelp 1.0.2 develop
- sphinxcontrib-htmlhelp 2.0.0 develop
- sphinxcontrib-jsmath 1.0.1 develop
- sphinxcontrib-qthelp 1.0.3 develop
- sphinxcontrib-serializinghtml 1.1.5 develop
- tokenize-rt 4.2.1 develop
- toml 0.10.2 develop
- tomli 2.0.1 develop
- tornado 6.1 develop
- tqdm 4.64.0 develop
- types-attrs 19.1.0 develop
- typing-extensions 4.2.0 develop
- uncertainties 3.1.6 develop
- urllib3 1.26.9 develop
- virtualenv 20.14.1 develop
- xdoctest 1.0.0 develop
- attrs 21.4.0
- importlib-metadata 4.11.4
- llvmlite 0.38.1
- numba 0.55.2
- numpy 1.22.4
- scipy 1.8.1
- zipp 3.8.0
- Sphinx ^5.0.0 develop
- black ^22.3.0 develop
- darglint ^1.8.1 develop
- flake8 ^3.9.0 develop
- isort ^5.8.0 develop
- lmfit ^1.0.3 develop
- mypy ^0.960 develop
- pre-commit ^2.19.0 develop
- pre-commit-hooks ^4.2.0 develop
- pytest ^7.1.2 develop
- pytest-cov ^3.0.0 develop
- pyupgrade ^2.32.0 develop
- si-prefix ^1.2.2 develop
- sphinx-autobuild ^2021.3.14 develop
- sphinx-autodoc-typehints ^1.18.1 develop
- sphinx-rtd-theme ^1.0.0 develop
- tqdm ^4.59.0 develop
- types-attrs ^19.1.0 develop
- xdoctest ^1.0.0 develop
- attrs ^21.4.0
- importlib-metadata ^4.11.4
- numba ^0.55.1
- numpy ^1.20.2
- python >=3.8,<3.11
- scipy ^1.6.2
- actions/checkout v3 composite
- github/codeql-action/analyze v2 composite
- github/codeql-action/autobuild v2 composite
- github/codeql-action/init v2 composite
- actions/checkout v3 composite
- crazy-max/ghaction-github-labeler v4.1.0 composite
- actions/checkout v3 composite
- actions/setup-python v4 composite
- pypa/gh-action-pypi-publish v1.6.4 composite
- release-drafter/release-drafter v5.22.0 composite
- salsify/action-detect-and-tag-new-version v2.0.3 composite
- actions/cache v3.2.4 composite
- actions/checkout v3 composite
- actions/setup-python v4 composite
- actions/upload-artifact v3 composite