This program will fit the synthetic radDist signals compared to experimental data. The radDists and pre-processed SXR/Bolometer signals should be created prior to using this routine. Each program requires config files to be run and some specific file organization, but the general structure is this:
Requires Python 3.11 or 3.12.
git clone https://github.com/ORNL-Fusion/Emis3D
cd Emis3D
python3.12 -m venv .venv
source .venv/bin/activate
pip install -e .Or, with uv:
uv venv --python 3.12
uv pip install -e .cherab and raysect ship Cython-compiled C extensions that don't build
on CPython 3.13+ — the _PyLong_AsByteArray API changed in that release.
Lift the cap once cherab ships a build compatible with newer Python.
If pip install -e . fails with a clang / _PyLong_AsByteArray error,
the Python version is too new. Check with python --version and recreate
the venv with 3.12.
eqdsks/ :: The equilbrium files for your runs
radDists/{folder name(s) for run} :: Each folder should contain all of the radDists generated for that injection location. Multiple injection locations are supported though including multiple folders within the run config file
runs/{runID} :: Contains the config file and outputs that this program generates
sxr/{shot (or whatever)} :: Contains the pre-processed SXR signal. Folder name should be identified within the config file for the run. Note: Please see the README.md within that folder to see how the data should be organized.
{tokamakName}_settings.yaml :: The settings file for the given tokamak. Contains information such as volume, SXR/Bolometer names, SXR/Bolometer config file names, etc.
CAD_stl_files/ :: The CAD files of the tokamak and various SXR/bolometer arrays
sxrInfo :: Folder containig all of the SXR/bolometer configuration files
Other useful stuff that is tokamak dependent:
- Program to grab/store/massage/ SXR/bolometer data
- Files used to calibrate SXR/bolometer data to W or W/m2/sr
- Create the radDists using the SXR/bolometer arrays that are availble for your shot
- Grab, pre-process, and save the SXR data
- Run Emis3D to find the best fit radDist for a given time segment.
Citations:
- B. Stein-Lubrano et al 2024 Nucl. Fusion 64 036020