Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/tailhq/plasmaml
Machine Learning tools for Space Weather and Plasma Physics
https://github.com/tailhq/plasmaml
machine-learning plasma-physics scala space-physics space-weather
Last synced: about 1 month ago
JSON representation
Machine Learning tools for Space Weather and Plasma Physics
- Host: GitHub
- URL: https://github.com/tailhq/plasmaml
- Owner: tailhq
- License: lgpl-2.1
- Created: 2015-10-06T15:27:16.000Z (over 9 years ago)
- Default Branch: master
- Last Pushed: 2022-09-01T23:02:35.000Z (over 2 years ago)
- Last Synced: 2024-04-16T11:11:46.044Z (10 months ago)
- Topics: machine-learning, plasma-physics, scala, space-physics, space-weather
- Language: Scala
- Homepage: https://tailhq.github.io/PlasmaML
- Size: 59.1 MB
- Stars: 17
- Watchers: 7
- Forks: 1
- Open Issues: 7
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# PlasmaML
[![Build Status](https://travis-ci.org/transcendent-ai-labs/PlasmaML.svg?branch=master)](https://travis-ci.org/transcendent-ai-labs/PlasmaML)
Machine Learning tools for Space Weather and Plasma Physics
---------------------------
> ![Image courtesy NASA](http://www.nasa.gov/images/content/607990main1_FAQ13-670.jpg)
>
> courtesy [NASA](www.nasa.gov)*PlasmaML* is a collection of data analysis and machine learning tools in the domain of space physics, more specifically in modelling of space plasmas & space weather prediction.
This is a multi-language project where the primary modelling is done in *Scala* while *R* is heavily leveraged for generating visualizations. The project depends on the [DynaML](https://github.com/mandar2812/DynaML) scala machine learning library and uses model and optimization implementations in it as a starting point for extensive experiments in space physics simulations and space weather prediction.
## Getting Started
*PlasmaML* is managed using the Simple Build Tool (sbt).
### Installation
#### Requirements
1. Java Development Kit 8.
2. [Scala](scala-lang.org)
3. [sbt](http://www.scala-sbt.org/)
4. [R](https://www.r-project.org/) with the following packages:* `ggplot2`
* `reshape2`
* `latex2exp`
* `plyr`
* `gridExtra`
* `reshape2`
* `directlabels`#### Steps
After cloning the project, PlasmaML can be installed directly from the shell or
by first entering the sbt shell and building the source.**From the shell**
From the root directory `PlasmaML` run the build script (with configurable parameters).
```bash
./build.sh
```For example the following builds the project with 4 GB java heap and GPU support.
```bash
./build.sh 4096m true
```Note that for Nvidia GPU support to work, compatible versions of CUDA and cuDNN must be installed and
found in the `$LD_LIBRARY_PATH` environment variable see the [DynaML docs](https://transcendent-ai-labs.github.io/DynaML/installation/installation/) for more info.Use the last parameter `` to add the PlasmaML executable in the bash `$PATH`.
The following build will use 4 GB of heap, with GPU support, precompiled tensorflow binaries and
adds `plasmaml` binary to the `$PATH` variable.```
./build.sh 4096m true false true
```**From the sbt shell**
Start the sbt shell with the script `sbt-shell.sh` having the same parameters as `build.sh`
```bash
./build.sh
```From the sbt shell, run
```
stage
```After building, access the PlasmaML shell like
```
./target/universal/stage/bin/plasmaml
```For more information on PlasmaML and its modules, refer to the scala docs below.
1. [omni](https://transcendent-ai-labs.github.io/api_docs/PlasmaML/recent/omni/io/github/mandar2812/PlasmaML/omni/index.html): Forecasting models for geomagnetic indices.
2. [mag-core](https://transcendent-ai-labs.github.io/api_docs/PlasmaML/recent/mag-core/io/github/mandar2812/PlasmaML/index.html): API for Bayesian inference of radiation belt parameters.
3. [helios](https://transcendent-ai-labs.github.io/api_docs/PlasmaML/recent/helios/io/github/mandar2812/PlasmaML/index.html): Machine learning models for solar wind and heliosperic data.
4. [vanAllen](https://transcendent-ai-labs.github.io/api_docs/PlasmaML/recent/vanAllen/io/github/mandar2812/PlasmaML/vanAllen/index.html): Processing of van Allen probe data.