Metadata-Version: 2.1
Name: indica
Version: 0.1.1
Summary: INtegrated DIagnostiC Analysis
Home-page: https://github.com/indica-mcf/Indica
License: GPL-3.0-or-later
Author: Marco Sertoli
Author-email: marco.sertoli@outlook.com
Maintainer: Evie Litherland-Smith
Maintainer-email: evie.litherland-smith@ukaea.uk
Requires-Python: >=3.11
Classifier: License :: OSI Approved :: GNU General Public License v3 or later (GPLv3+)
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Requires-Dist: GitPython (>=3.1.41,<4.0.0)
Requires-Dist: Pint (>=0.23,<0.24)
Requires-Dist: corner (>=1.0,<2.0)
Requires-Dist: emcee (>=3.1.4,<4.0.0)
Requires-Dist: flatdict (>=4.0.1,<5.0.0)
Requires-Dist: ipython (>=8.24.0,<9.0.0)
Requires-Dist: matplotlib (>=3.8.0,<4.0.0)
Requires-Dist: netCDF4 (>=1.5.4,<2.0.0)
Requires-Dist: numpy (==1.26.4)
Requires-Dist: pandas (==2.2.1)
Requires-Dist: periodictable (>=1.6.1,<2.0.0)
Requires-Dist: prov (>=1.5.3,<2.0.0)
Requires-Dist: sal (>=1.2.2,<2.0.0)
Requires-Dist: scikit-learn (>=1.3.0,<2.0.0)
Requires-Dist: scipy (>=1.9.2,<2.0.0)
Requires-Dist: tqdm (>=4.65.0,<5.0.0)
Requires-Dist: xarray (==2024.6.0)
Project-URL: Repository, https://github.com/indica-mcf/Indica
Description-Content-Type: text/markdown

# InDiCA

[![Documentation
Status](https://readthedocs.org/projects/indica-ukaea/badge/?version=latest)](https://indica-ukaea.readthedocs.io/en/latest/?badge=latest)
[![tests](https://github.com/ukaea/Indica/workflows/tests/badge.svg)](https://github.com/ukaea/Indica/actions?query=workflow%3Atests)
[![linting](https://github.com/ukaea/Indica/workflows/linting/badge.svg)](https://github.com/ukaea/Indica/actions?query=workflow%3Alinting)
[![codecov](https://codecov.io/gh/ukaea/Indica/branch/master/graph/badge.svg?token=6VJ5J4JRA2)](https://codecov.io/gh/ukaea/Indica)

InDiCA (**In**tegrated **Di**agnosti**C** **A**nalysis) is a tool which allows to perform and combine the analysis of a large number of different diagnostics from Magnetic Confined Fusion (MCF) plasma devices. It will consist of a library of functions to analyse different diagnostic systems under a common framework, and a set of workflows to combine these measurements.  <!--- Test for pre-commit -->

Currently under active development are workflows for the calculation of the plasma composition following the methodologies explained in [M. Sertoli et al., J. Plasma Phys. (2019), vol. 85, 905850504](https://doi.org/10.1017/S0022377819000618), and for constrining the shape of the kinetic profiles given LOS and volume integrated measurements only. Diagnostic forward models presently under development are: SXR and bolometer cameras, passive spectrometers, interferometers and magnetic measurements.

The overall design work has been completed and the general functionality implemented, but the library is still under active development. In  addition to the (rapidly changing) code, this repository holds the documentation for this project, [which can be found on
ReadTheDocs](https://indica-ukaea.readthedocs.io/en/latest/), which is also still (rapidly) changing.

## Install
1. Make sure pip is up-to-date:
    - *pip install --upgrade pip*

2. Create a virtual environment with python 3.11 and activate it, e.g. using conda:
   - *set_global_conda*
   - *conda create --name ENV_NAME python=3.11*
   - *conda activate ENV_NAME*

3. Install poetry and environment dependencies:
    - *pip install poetry==1.7*
    - *poetry update*

4. For mdsplus building and installation:
   - *cp -r /usr/local/mdsplus/mdsobjects/python mdsPython*
   - *cd mdsPython*
   - *python setup.py build*
   - *python setup.py install*
   - *cd ../*
   - *rm -r mdsPython*

5. Optional: For installing InDiCA as a package:
    - *cd Indica*
    - *python -m pip install .*

## License

InDiCA is distributed under the [GNU General Public License version
3](LICENSE.md) or, at your option, any later version.

