External scientific codes

An external scientific code is an independently maintained implementation: its upstream project owns the solver, and VAFT owns only the integration boundary around it – input preparation, execution, collection, provenance, validation and mapping. None of these codes is a Python dependency of VAFT, and installing VAFT installs none of them. Which Python packages VAFT itself needs is a different question, answered on the software dependencies page.

How an external code becomes a reproducible VAFT capability

Every code below passes through the same lifecycle. A native result is never treated as IMAS output: it is kept, and a standardized result exists only where a mapping does. Where a code runs in the production pipelines, its rules are linked into the pipeline lineage explorer; where its adapter imports other VAFT modules, the dependency explorer shows them.

Overview

CodeScientific roleIntegrationInstallationAdapterPlatforms
EFIT (with EFUND) equilibrium reconstruction Executable, launched as a subprocess VAFT-managed source build (install/; build dependencies may be fetched) vaft.code.efit Linux, macOS, Windows
CHEASE equilibrium refinement Executable, launched as a subprocess VAFT-managed source build (install/; build dependencies may be fetched) vaft.code.chease Linux, macOS, Windows
DCON, RDCON, STRIDE and GPEC MHD stability, 3-D plasma response Executable, launched as a subprocess VAFT-managed source build (install/; build dependencies may be fetched) vaft.code.gpec Linux, macOS, Windows
GACODE: NEO, TGLF and CGYRO neoclassical transport, turbulent transport, gyrokinetics Executable, launched as a subprocess VAFT-managed source build (install/; build dependencies may be fetched) vaft.code.gacode Linux, macOS
MITIM-fusion experimental integrated transport modelling, flux-matching optimization Executable, launched as a subprocess VAFT-managed source build (install/; build dependencies may be fetched) vaft.code.mitim Linux, macOS
TGLF neural-network surrogates turbulent transport Python library, called in process Site- or user-managed (VAFT only resolves and runs it) vaft.code.gacode.tglf.surrogate as the site installs it
NUBEAM fast-particle and neutral-beam source modelling Executable, launched as a subprocess VAFT-managed source build (install/; build dependencies may be fetched) vaft.code.nubeam Linux, macOS, Windows
GENRAY RF wave propagation and current drive Executable, launched as a subprocess VAFT-managed source build (install/; build dependencies may be fetched) vaft.code.genray Linux, macOS
TES (RTES) free-boundary equilibrium Executable, launched as a subprocess Site- or user-managed (VAFT only resolves and runs it) vaft.code.tes as the site installs it
TokaMaker (OpenFUSIONToolkit) free-boundary equilibrium Python library, called in process Python package (an optional extra) vaft.code.tokamaker wherever the Python package installs
NICE experimental equilibrium reconstruction Executable, launched as a subprocess Site- or user-managed (VAFT only resolves and runs it) vaft.code.nice as the site installs it
FLARE magnetic field-line tracing Executable, launched as a subprocess Site- or user-managed (VAFT only resolves and runs it) vaft.code.flare as the site installs it
TRANSP (reader) read-only integrated modelling Reader of finished results Results reader (VAFT does not run the code) vaft.code.transp wherever its results are
PENTRC neoclassical toroidal viscosity Executable, launched as a subprocess VAFT-managed source build (install/; build dependencies may be fetched) vaft.code.gpec Linux, macOS

What VAFT actually installs for you

Code VAFT Python install VAFT source-build helper User or site installation Checker
EFIT (with EFUND) no yes, from source you supply no install/check_efit.py
CHEASE no yes, from source you supply no install/check_chease.py
DCON, RDCON, STRIDE and GPEC no yes, from source you supply no install/check_gpec.py
GACODE: NEO, TGLF and CGYRO no yes, from source you supply no install/check_gacode.py
MITIM-fusion no yes, from source you supply no none
TGLF neural-network surrogates no no yes none
NUBEAM no yes, from source you supply no install/check_nubeam.py
GENRAY no yes, from source you supply no install/check_genray.py
TES (RTES) no no yes none
TokaMaker (OpenFUSIONToolkit) yes, vaft[tokamaker] no no none
NICE no no yes none
FLARE no no yes none
TRANSP (reader) no no not run by VAFT none
PENTRC no yes, from source you supply no none

“VAFT source-build helper” means an installer under install/ configures, builds and checks a source tree; it never downloads EFIT, which you obtain yourself under its users agreement, and install/README.md says for each code where its source comes from (some installers fetch build dependencies, such as NUBEAM’s NTCC libraries or Homebrew packages). The installers that keep a build record write vaft-external-install.json beside the executables – source path and revision, dirty-tree state, build command, toolchain and the installed files – and the checker reads it back; each code’s entry below says whether its installers do.

Per-code reference

EFIT (with EFUND)

Distributed by the EFIT-AI collaboration under the EFIT users agreement; VAFT never fetches, mirrors or bundles it.

Aspect  
Scientific role equilibrium reconstruction
VAFT adapter vaft.code.efit (source)
How VAFT runs it Executable, launched as a subprocess; local subprocess, Slurm, Slurm over ssh
Installation VAFT-managed source build (install/; build dependencies may be fetched); licensed, obtained by registration under a users agreement
Configuration $EFITHOME
Build record vaft-external-install.json from install/install_efit.sh; vaft-external-install.json from install/install_efit_windows.ps1
Installers install/install_efit.sh, install/install_efit_windows.ps1
Checker python install/check_efit.py
Platforms Linux, macOS, Windows
Native result k-files in, g-/a-/m-files out (EFUND response tables beside them)
Standardized result equilibrium via the efit stage
Production pipeline routine:generate_kfile, routine:run_efit_reconstruction, routine:generate_efit_ods
Install instructions install/README.md
Primary reference L. L. Lao et al., Nucl. Fusion 25, 1611 (1985) (doi:10.1088/0029-5515/25/11/007)

CHEASE

Aspect  
Scientific role equilibrium refinement
VAFT adapter vaft.code.chease (source)
How VAFT runs it Executable, launched as a subprocess; local subprocess, Slurm, Slurm over ssh
Installation VAFT-managed source build (install/; build dependencies may be fetched)
Configuration $CHEASEHOME
Build record vaft-external-install.json from install/install_chease.sh; vaft-external-install.json from install/install_chease_windows.ps1
Installers install/install_chease.sh, install/install_chease_windows.ps1
Checker python install/check_chease.py
Platforms Linux, macOS, Windows
Native result EXPEQ in, refined EQDSK and the CHEASE output files out
Standardized result equilibrium via the chease stage
Production pipeline routine:run_chease, routine:generate_chease_ods
Install instructions install/README.md
Repository SPC EPFL GitLab
Primary reference H. Lütjens, A. Bondeson and O. Sauter, Comput. Phys. Commun. 97, 219 (1996) (doi:10.1016/0010-4655(96)00046-X)

DCON, RDCON, STRIDE and GPEC

Aspect  
Scientific role MHD stability, 3-D plasma response
VAFT adapter vaft.code.gpec (source)
How VAFT runs it Executable, launched as a subprocess; local subprocess, Slurm, Slurm over ssh
Installation VAFT-managed source build (install/; build dependencies may be fetched)
Configuration $GPECHOME
Build record vaft-external-install.json from install/install_gpec.sh; vaft-external-install.json from install/install_gpec_windows.ps1
Installers install/install_gpec.sh, install/install_gpec_windows.ps1
Checker python install/check_gpec.py
Platforms Linux, macOS, Windows
Native result namelists and an EQDSK in, NetCDF/binary stability and response files out
Standardized result mhd_linear, ntms via the mhd_linear stage; mhd_linear, coils_non_axisymmetric via the gpec_ideal stage
Production pipeline routine:run_gpec_module, routine:build_mhd_linear, routine:build_gpec_ideal
Install instructions install/README.md
Repository Princeton University GitHub
Method reference A. H. Glasser, Phys. Plasmas 23, 072505 (2016) (DCON) (doi:10.1063/1.4958328)
Primary reference J.-K. Park, A. H. Boozer and A. H. Glasser, Phys. Plasmas 14, 052110 (2007) (GPEC) (doi:10.1063/1.2732170)

GACODE: NEO, TGLF and CGYRO

Aspect  
Scientific role neoclassical transport, turbulent transport, gyrokinetics
VAFT adapter vaft.code.gacode (source)
How VAFT runs it Executable, launched as a subprocess; local subprocess, Slurm, Slurm over ssh
Installation VAFT-managed source build (install/; build dependencies may be fetched)
Configuration $GACODEHOME
Build record not written by these installers
Installers install/gacode/linux.sh, install/gacode/macos.sh
Checker python install/check_gacode.py
Platforms Linux, macOS
Native result input.gacode and per-code inputs in, per-code output files out
Standardized result core_profiles, core_transport via the neoclassical stage
Production pipeline not run by a production pipeline
Install instructions install/README.md
Repository gafusion GitHub
Primary reference E. A. Belli and J. Candy, Plasma Phys. Control. Fusion 50, 095010 (2008) (NEO) (doi:10.1088/0741-3335/50/9/095010)
Primary reference G. M. Staebler, J. E. Kinsey and R. E. Waltz, Phys. Plasmas 14, 055909 (2007) (TGLF) (doi:10.1063/1.2436852)
Primary reference J. Candy, E. A. Belli and R. V. Bravenec, J. Comput. Phys. 324, 73 (2016) (CGYRO) (doi:10.1016/j.jcp.2016.07.039)

MITIM-fusion

Runs in an isolated interpreter (VAFT_MITIM_PYTHON) that VAFT never imports, against the GACODE build $GACODEHOME names; check it with install_mitim.sh --check-only. PORTALS flux matching is a later stage of #1588.

Aspect  
Scientific role integrated transport modelling, flux-matching optimization
VAFT adapter vaft.code.mitim (source)
How VAFT runs it Executable, launched as a subprocess; local subprocess, Slurm, Slurm over ssh
Installation VAFT-managed source build (install/; build dependencies may be fetched)
Configuration $VAFT_MITIM_PYTHON
Build record vaft-external-install.json from install/install_mitim.sh
Installers install/install_mitim.sh
Checker none
Platforms Linux, macOS
Native result MITIM driver inputs in its own interpreter, its run directories out
Standardized result none: VAFT keeps the native result only
Production pipeline not run by a production pipeline
Install instructions not documented in install/README.md
Repository MITIM-fusion GitHub
Primary reference P. Rodriguez-Fernandez et al., Nucl. Fusion 64, 076034 (2024) (doi:10.1088/1741-4326/ad4b3d)

TGLF neural-network surrogates

Models are local files; none is trained on a VEST-like domain.

Aspect  
Scientific role turbulent transport
VAFT adapter vaft.code.gacode.tglf.surrogate (source)
How VAFT runs it Python library, called in process; in process
Installation Site- or user-managed (VAFT only resolves and runs it)
Configuration $TURBULENTTRANSPORTHOME
Build record none
Installers none in this repository
Checker none
Platforms as the site installs it
Native result ONNX models of TurbulentTransport.jl, evaluated locally
Standardized result none: VAFT keeps the native result only
Production pipeline not run by a production pipeline
Install instructions not documented in install/README.md
Repository TurbulentTransport.jl (models)

NUBEAM

Aspect  
Scientific role fast-particle and neutral-beam source modelling
VAFT adapter vaft.code.nubeam (source)
How VAFT runs it Executable, launched as a subprocess; local subprocess, Slurm, Slurm over ssh
Installation VAFT-managed source build (install/; build dependencies may be fetched)
Configuration $NUBEAMHOME
Build record vaft-external-install.json from install/nubeam/linux.sh; vaft-external-install.json from install/nubeam/windows.ps1
Installers install/nubeam/linux.sh, install/nubeam/macos.sh, install/nubeam/windows.sh, install/nubeam/windows.ps1
Checker python install/check_nubeam.py
Platforms Linux, macOS, Windows
Native result a Plasma State file in, NUBEAM’s Plasma State and NetCDF out
Standardized result none: VAFT keeps the native result only
Production pipeline not run by a production pipeline
Install instructions install/README.md
Homepage NTCC NUBEAM
Primary reference A. Pankin et al., Comput. Phys. Commun. 159, 157 (2004) (doi:10.1016/j.cpc.2003.11.002)

GENRAY

Aspect  
Scientific role RF wave propagation and current drive
VAFT adapter vaft.code.genray (source)
How VAFT runs it Executable, launched as a subprocess; local subprocess, Slurm, Slurm over ssh
Installation VAFT-managed source build (install/; build dependencies may be fetched)
Configuration $GENRAYHOME
Build record vaft-external-install.json from install/install_genray.sh
Installers install/install_genray.sh
Checker python install/check_genray.py
Platforms Linux, macOS
Native result genray.in and an EQDSK in, genray.nc out
Standardized result waves via vaft.code.genray.outputs.genray_to_waves
Production pipeline not run by a production pipeline
Install instructions install/README.md
Repository CompX GitHub

TES (RTES)

Aspect  
Scientific role free-boundary equilibrium
VAFT adapter vaft.code.tes (source)
How VAFT runs it Executable, launched as a subprocess; local subprocess, Slurm, Slurm over ssh
Installation Site- or user-managed (VAFT only resolves and runs it); not open source
Configuration $TESHOME
Build record none
Installers none in this repository
Checker none
Platforms as the site installs it
Native result a namelist and cinput in, a g-file and result scalars out
Standardized result equilibrium via vaft.code.tes.outputs.collect_tes_outputs
Production pipeline not run by a production pipeline
Install instructions install/README.md
Primary reference Y. M. Jeon, J. Korean Phys. Soc. 67, 843 (2015) (doi:10.3938/jkps.67.843)

TokaMaker (OpenFUSIONToolkit)

Located through OFT_* variables rather than a {CODE}HOME.

Aspect  
Scientific role free-boundary equilibrium
VAFT adapter vaft.code.tokamaker (source)
How VAFT runs it Python library, called in process; in process
Installation Python package (an optional extra)
Configuration pip install "vaft[tokamaker]"
Build record none
Installers none in this repository
Checker none
Platforms wherever the Python package installs
Native result OpenFUSIONToolkit objects in process; a g-file out
Standardized result equilibrium via vaft.code.tokamaker.outputs.collect_tokamaker_outputs
Production pipeline not run by a production pipeline
Install instructions install/README.md
Repository OpenFUSIONToolkit GitHub
Primary reference C. Hansen et al., Comput. Phys. Commun. 298, 109111 (2024) (doi:10.1016/j.cpc.2024.109111)

NICE

Open source under the LGPL-3.0 (the repository's LICENSE file). Experimental: none of the 34 VEST reference slices reconstructs yet.

Aspect  
Scientific role equilibrium reconstruction
VAFT adapter vaft.code.nice (source)
How VAFT runs it Executable, launched as a subprocess; local subprocess, Slurm, Slurm over ssh
Installation Site- or user-managed (VAFT only resolves and runs it)
Configuration $NICEHOME
Build record none
Installers none in this repository
Checker none
Platforms as the site installs it
Native result NICE inputs in, its reconstruction files out
Standardized result none: VAFT keeps the native result only
Production pipeline not run by a production pipeline
Install instructions not documented in install/README.md
Repository Inria GitLab
Primary reference J. Blum, C. Boulbe and B. Faugeras, J. Comput. Phys. 231, 960 (2012) (doi:10.1016/j.jcp.2011.04.005)

FLARE

Aspect  
Scientific role magnetic field-line tracing
VAFT adapter vaft.code.flare (source)
How VAFT runs it Executable, launched as a subprocess; local subprocess, Slurm, Slurm over ssh
Installation Site- or user-managed (VAFT only resolves and runs it); this repository records no distribution terms
Configuration $FLAREHOME
Build record none
Installers none in this repository
Checker none
Platforms as the site installs it
Native result field-line and mesh files
Standardized result none: VAFT keeps the native result only
Production pipeline not run by a production pipeline
Install instructions not documented in install/README.md
Primary reference H. Frerichs, Nucl. Fusion 64, 106034 (2024) (doi:10.1088/1741-4326/ad7303)

TRANSP (reader)

VAFT reads TRANSP results; it does not run TRANSP.

Aspect  
Scientific role integrated modelling
VAFT adapter vaft.code.transp (source)
How VAFT runs it Reader of finished results; reads finished results
Installation Results reader (VAFT does not run the code); not open source
Configuration none (reads result files)
Build record none
Installers none in this repository
Checker none
Platforms as the site installs it
Native result reads a finished run’s .CDF output
Standardized result none: VAFT keeps the native result only
Production pipeline not run by a production pipeline
Install instructions install/README.md
Homepage PPPL TRANSP
Primary reference A. Y. Pankin et al., Comput. Phys. Commun. 312, 109611 (2025) (doi:10.1016/j.cpc.2025.109611)

PENTRC

Built with the GPEC suite and run in a completed ideal-GPEC cell by vaft.code.gpec.run_pentrc (not a GPECSuiteConfig module); vaft.code.gpec also reads its native output, and vaft.code.pentrc re-exports that reader.

Aspect  
Scientific role neoclassical toroidal viscosity
VAFT adapter vaft.code.gpec (source)
How VAFT runs it Executable, launched as a subprocess; local subprocess, Slurm, Slurm over ssh
Installation VAFT-managed source build (install/; build dependencies may be fetched)
Configuration $GPECHOME
Build record vaft-external-install.json from install/install_gpec.sh
Installers install/install_gpec.sh
Checker none
Platforms Linux, macOS
Native result pentrc.in and a .kin in a completed ideal-GPEC cell, pentrc_output_n*.nc out
Standardized result none: VAFT keeps the native result only
Production pipeline not run by a production pipeline
Install instructions install/README.md
Repository Princeton University GitHub (in the GPEC suite)
Primary reference N. C. Logan, J.-K. Park et al., Phys. Plasmas 20, 122507 (2013) (doi:10.1063/1.4849395)

results matching ""

    No results matching ""