Skip to content

Fusion Data Platform Installation

There are two ways to install the Fusion Data Platform, depending on what you need:

  • Method 1: the fdp-core conda package — a single environment containing the whole FDP stack. Quickest for interactive analysis or a shared environment.
  • Method 2: the installer — bootstraps a self-contained, pixi-based project directory. Best when you want a reproducible, per-project environment whose pixi.toml you can commit and share.

Both pull the same blessed set of packages from the ga-fdp channel. Note that you can substitute mamba or micromamba for conda below, depending on your local setup.

Method 1: conda package

Install the fdp-core metapackage directly into a new environment:

conda create -c ga-fdp -c conda-forge -n fdp fdp-core conda activate fdp

This gives you the full data-access stack (DIII-D and MAST/MAST-U signal classes, MDSplus/IMAS access), the fdp command-line tool, and — because fdp-installer is itself part of fdp-core — the fdp-install bootstrapper (handy for spinning up pixi-based projects later; see Method 2).

Two flavors are available:

  • fdp-core — the stable, exact-pinned set (recommended).
  • fdp-core-latest — a rolling set that tracks the newest compatible versions:

conda create -c ga-fdp -c conda-forge -n fdp fdp-core-latest

Method 2: the installer

The installer creates a pixi-managed project directory. First install the fdp-installer conda package and then run the fdp-install script:

conda create -c ga-fdp -c conda-forge -n fdp-installer fdp-installer conda activate fdp-installer # or whatever you named the environment

Install into the current directory:

fdp-install

...or a specific directory:

``` fdp-install --directory /path/to/project

or

fdp-install -d /path/to/project ```

The installer will:

  1. Create the specified directory if it doesn't exist
  2. Write a pixi.toml that depends on the fdp-core metapackage
  3. Install all dependencies with pixi
  4. Print how to activate the environment and select a tokamak

To activate the environment afterward:

cd /path/to/project pixi shell

Tip: Because fdp-install ships inside fdp-core, you don't strictly need a separate installer environment. If you already have an fdp-core environment (Method 1), you can run fdp-install -d /path/to/project from it directly to scaffold new pixi projects.

Optional add-ons

By default fdp-install deploys the stable fdp-core set. A few opt-in flags are available:

fdp-install --latest # track fdp-core-latest (newest compatible versions) fdp-install --with-cmf # add the CMF provenance layer (pins Python 3.11) fdp-install --with-labeler # add ga-dfl-labeler

These may be combined, e.g. fdp-install -d /path/to/project --with-cmf.

Choosing a tokamak

fdp-core is multi-device: it provides data access for both DIII-D (d3d) and MAST/MAST-U (mast) regardless of which install method you used. Python signal usage (e.g. from toksearch_d3d import PtDataSignal, from toksearch_mast import MastSignal) works without any extra configuration.

The fdp command-line tool (fdp env, fdp run, fdp ls) needs to know which tokamak to act on. When more than one is installed it will not guess — choose one of the following:

```

Per command:

fdp --default-device d3d run python my_script.py

For the whole shell session:

export FDP_DEFAULT_DEVICE=d3d

Persistently, via ~/.fdp/config.toml:

[device] default = "d3d" ```

Substitute mast for d3d to work with MAST/MAST-U.