Process reference

vaft.process is the computation layer of VAFT. Almost every function in it takes plain NumPy arrays and scalars and returns arrays, tuples or dataclasses; it does not read or write ODS. The ODS-aware layer lives in vaft.omas (mainly vaft.omas.process_wrapper), which pulls geometry and signals out of an ODS, calls into vaft.process, and writes the results back.

Rule of thumb: vaft.process is the math, vaft.omas.compute_* is the API you usually call.

Every public processing function is documented under one contract, and these pages are generated from those docstrings by python -m vaft.process.catalog. Where a formula page answers what is this quantity and when is it valid, a process page answers how is this input turned into this output: the parameters and returns with their units, the processing steps in order, the defaults that change the result and what kind of value each is, the conventions assumed, the machine scope, the limitations, and the provenance of the method. Nothing here is written by hand, so the site and vaft.process.describe("<name>") always agree.

import vaft.process as P

print(P.describe("repair_clipped_interval"))     # one routine, rendered
P.search("vest.yaml")                             # every routine whose text mentions it
P.list_processes(category="signal_processing")   # imports only that submodule

The discovery layer is loaded on first use only; import vaft.process.signal_processing never touches it.

Categories

The layer is being brought under the contract one submodule at a time (#252). A category gets a reference page when every function in it conforms; until then its count is shown and its page is absent.

CategoryModuleFunctionsUnder contractContents
profile vaft.process.profile 28 yes Kinetic profiles: from diagnostic points to a stored ``core_profiles`` slice.
equilibrium vaft.process.equilibrium 80 yes Axisymmetric equilibrium: from a flux map to the quantities derived from it.
camera_geometry vaft.process.camera_geometry 4 yes Pinhole camera projection math for the VEST FAST camera.
signal_processing vaft.process.signal_processing 27 yes Conditioning of one waveform on a plain time axis.
fluctuation vaft.process.fluctuation 11 yes Diagnostic-independent spectral analysis of scalar fluctuation time series.
soft_x_rays vaft.process.soft_x_rays 10 yes VEST soft X-ray fluctuation and two-filter analysis routines.
electromagnetics vaft.process.electromagnetics 10 yes Axisymmetric electromagnetic response: what a current does elsewhere, and how the vessel answers.
numerical vaft.process.numerical 1 yes Numerical primitives on plain arrays.
magnetics vaft.process.magnetics 16 yes Magnetic diagnostics: from a coil voltage to a current, a flux, or a mode number.
perturbation vaft.process.perturbation 27 yes Resonant response at the rational surfaces: windows, reductions, ratios.
statistical_analysis vaft.process.statistical_analysis 11 yes Log-linear regression of confinement time against engineering parameters.
atomic vaft.process.atomic 5 yes Atomic-radiation processing on OMAS data structures.
langmuir vaft.process.langmuir 8 yes Backend-independent VEST triple Langmuir probe physics.
impa vaft.process.impa 14 yes Generic algorithms for the VEST Internal Magnetic Probe Array.
onset vaft.process.onset 13 yes Onset and active-window primitives on plain arrays (issue #409).
wall_modes vaft.process.wall_modes 22 yes Segment-wise eigenmode basis of a passive wall, with global coupling (vaft #473).
coils_non_axisymmetric vaft.process.coils_non_axisymmetric 3 yes Kernels on non-axisymmetric coil sets: toroidal mode content and vacuum field.
camera_fluctuation vaft.process.camera_fluctuation 7 yes Fluctuation analysis of FAST-camera image sequences.
line_of_sight vaft.process.line_of_sight 3 yes Line integrals of a poloidal-plane field along diagnostic sightlines (issue #886).
magnetic_island vaft.process.magnetic_island 4 yes An analytic magnetic island placed on an axisymmetric equilibrium (issue #886).
field_line_topology vaft.process.field_line_topology 10 yes Relative heat-load proxies from field-line tracing products (issue #1099).
ml vaft.process.ml 24 yes Backend-neutral machine-learning processing: data to published model (#669).
transients vaft.process.transients 2 yes Measurements of a plasma-current transient on plain arrays.
nbi vaft.process.nbi 1 yes Reduced neutral-beam attenuation along a prescribed 1-D path (vaft #1136).
profile_gradients vaft.process.profile_gradients 5 yes Profile gradients with an explicit coordinate, gradient coordinate and reference length.
resistive_zeff vaft.process.resistive_zeff 7 yes Resistive effective charge from the transformer balance and a conductivity model.
transport_state vaft.process.transport_state 11 yes Resolved transport states: one qualified plasma state shared by TGLF, NEO and classical.
confinement vaft.process.confinement 18 yes Power balance and slice qualification for energy-confinement scaling (vaft #548).
impurity vaft.process.impurity 11 yes Impurity composition: which mixture a plasma is assumed, derived or measured to carry, resolved once.
species vaft.process.species 4 yes Canonical species/population state and physics-specific projections of it (issue #1567).
kinetic_closure vaft.process.kinetic_closure 4 yes Analytic kinetic closure: dilution-aware thermal pressure and a classical fast-ion estimate (issue #1606).
gyrokinetics vaft.process.gyrokinetics 17 yes Turbulence--zonal-flow diagnostics of gyrokinetic time series and the predator--prey fit (issue #1820).
zeff_projection vaft.process.zeff_projection 6 yes Resistive projection of an effective-charge profile: Z_eff(rho) -> R_p -> Z_eff^res,equiv.
mode_frequency vaft.process.mode_frequency 1 yes Predicted lab-frame mode-frequency tracks from an equilibrium and a rotation profile.
mhd_stability vaft.process.mhd_stability 6 yes Post-processing of DCON stability results read back from ``mhd_linear`` (#940).
q_profile_context vaft.process.q_profile_context 3 yes Equilibrium context for core low-n MHD interpretation (#1798, child of #1797).
ordering_state vaft.process.ordering_state 8 yes Asymptotic ordering quantities of measured plasma states (#1627 §2, for the #1629 atlas).
ntv_coil_response vaft.process.ntv_coil_response 11 yes Quadratic coil-response model of a signed NTV torque, and its qualification.
coil_operating_space vaft.process.coil_operating_space 1 yes The common result of a non-axisymmetric coil operating-space study (#1178).
resonant_coil_response vaft.process.resonant_coil_response 6 yes Resonant-field response of coil-group phasors: a verified linear operator and its optima.
local_mhd_criteria vaft.process.local_mhd_criteria 7 yes Local MHD stability criteria evaluated from one reconstructed equilibrium (#1902).
cocos vaft.process.cocos 6 yes Operational COCOS handling: consistency checking against Sauter Eq. 23.

Machine-independent or VEST policy

Every function’s Applicability section opens with one of two sentences, and each page badges it. Machine-independent means the caller supplies every machine-specific number – an acquisition rail, a chord length, a processing window – and the routine infers nothing about the hardware; the VEST values are read from vest.yaml by vaft.machine_mapping, never here. VEST-specific means the routine embeds a VEST constant, a VEST column name or a VEST acquisition-era rule, and its page says which and for what shot range.

Where a default came from

A default that changes the result is classified on its page as one of: physical constant, literature value, diagnostic calibration, empirical estimate, validated-workflow default, machine-specific setting, acquisition-era policy, legacy compatibility value, or numerical convenience. A legacy compatibility value is one that arrived with a ported routine and whose derivation is not recorded; the page says so rather than inventing one.

Refreshing this snapshot

From a checkout of the develop branch, run:

python -m vaft.process.catalog --output docs/_data/process_catalog.yml

The snapshot records the SHA-256 of every vaft/process/*.py source file, the private _equilibrium_parametric.py included; documentation validation compares them when VAFT_REGISTRY_SOURCE points to the corresponding source checkout. The same text is available offline as vaft.process.describe("<name>"), vaft.process.search("<text>") and vaft.process.list_processes(category="<category>").

What these objects mean scientifically – which concept a plot draws, which diagnostic measures it, which Data Dictionary path represents it – is generated in the scientific ontology explorer.

results matching ""

    No results matching ""