Metadata-Version: 2.1
Name: duqtools
Version: 0.1.0
Summary: Dynamic uncertainty quantification for Tokamak reactor simulations modelling
Home-page: https://github.com/carboncollective/duqtools
Author: Carbon Collective
Author-email: s.smeets@esciencecenter.nl
Project-URL: Bug Tracker, https://github.com/carboncollective/duqtools/issues
Keywords: modelling,uncertainty-quantification,tokamak,fusion-reactor
Classifier: Development Status :: 2 - Pre-Alpha
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: Apache Software License
Classifier: Natural Language :: English
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.7
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: altair
Requires-Dist: click
Requires-Dist: f90nml
Requires-Dist: importlib-resources
Requires-Dist: numpy
Requires-Dist: pandas
Requires-Dist: pydantic
Requires-Dist: pydantic-yaml
Requires-Dist: ruamel.yaml
Requires-Dist: scipy
Requires-Dist: tqdm
Requires-Dist: typing-extensions
Provides-Extra: dash
Requires-Dist: streamlit ; extra == 'dash'
Provides-Extra: develop
Requires-Dist: bump2version ; extra == 'develop'
Requires-Dist: isort ; extra == 'develop'
Requires-Dist: pre-commit ; extra == 'develop'
Requires-Dist: yapf ; extra == 'develop'
Requires-Dist: mypy ; extra == 'develop'
Requires-Dist: nbmake ; extra == 'develop'
Requires-Dist: pytest ; extra == 'develop'
Requires-Dist: pytest-cov ; extra == 'develop'
Requires-Dist: pytest-dependency ; extra == 'develop'
Requires-Dist: pycodestyle ; extra == 'develop'
Requires-Dist: jinja2 ; extra == 'develop'
Requires-Dist: mkdocs ; extra == 'develop'
Requires-Dist: mkdocs-click ; extra == 'develop'
Requires-Dist: mkdocs-gen-files ; extra == 'develop'
Requires-Dist: mkdocs-material ; extra == 'develop'
Requires-Dist: mkdocstrings[python] ; extra == 'develop'
Provides-Extra: imas
Requires-Dist: imas ; extra == 'imas'
Provides-Extra: publishing
Requires-Dist: twine ; extra == 'publishing'
Requires-Dist: wheel ; extra == 'publishing'
Requires-Dist: build ; extra == 'publishing'

[![Documentation Status](https://readthedocs.org/projects/duqtools/badge/?version=latest)](https://duqtools.readthedocs.io/en/latest/?badge=latest)
[![Tests](https://github.com/CarbonCollective/fusion-dUQtools/actions/workflows/test.yaml/badge.svg)](https://github.com/CarbonCollective/fusion-dUQtools/actions/workflows/test.yaml)


# Duqtools

*Duqtools* is a tool for **D**ynamic **U**ndertainty **Q**uantification for Tokamak reactor simulations modelling.

Features:

- Set up 100s of simulation runs from a single template
- Launch stardard sets of sensitivy tests with minimal programming
- Batch job submission and status tracking
- Supports the Standardized Interface Data Structures (IDSs) data directory
- Compare and visualize 100s of simulations in one overview
- Display simulation results as confidence ranges and distributions

*Duqtools* is currently under active development. It runs on linux only and requires the [ITER](http://iter.org/) Integrated Modeling and Analysis Suite ([IMAS](https://confluence.iter.org/display/IMP)).

The source code is available from [Github](https://github.com/CarbonCollective/fusion-dUQtools).

Suggestions, improvements, and edits are most welcome.


## Development

*Duqtools* targets Python 3.7, which is the version available on [eufus](https://wiki.eufus.eu/doku.php).

Clone the repository into the `duqtools` directory:

```console
git clone https://github.com/CarbonCollective/fusion-dUQtools.git duqtools
```

Install using `virtualenv`:

```console
cd duqtools
python3 -m venv env
source env/bin/activate
python3 -m pip install -e .[develop]
```

Alternatively, install using Conda:

```console
cd duqtools
conda create -n duqtools python=3.7
conda activate duqtools
pip install -e .[develop]
```

### Tests

Duqtools uses [pytest](https://docs.pytest.org/en/7.1.x/) to run the tests. You can run the tests for yourself using:

```console
pytest
```

### Documentation

The documentation uses the [mkdocs](https://www.mkdocs.org/). To build the docs for yourself:

```console
mkdocs serve
```
