Command Reference¶
This page documents every command exposed by the current first-party Heliokit
components. A value marked Required must be supplied on the command line.
Optional values have the listed default. Paths may be absolute or relative;
quote a path when it contains spaces.
When HELIOKIT_WORKSPACE is set, relative paths resolve under that workspace.
Commands with output paths create missing output directories, print planned
absolute output paths before execution, and print Completed. after a
successful run.
The CLI checks argument types and enumerated choices before execution. File existence, dataset names, array shapes, and model assets are checked by the component at runtime.
Global option¶
--json may be placed before any Heliokit command, for example
heliokit --json components list. It is optional, takes no value, and emits
the command result as formatted JSON. It is particularly useful for automation.
Host commands¶
heliokit components list
Argument |
Required |
Format / default |
Meaning |
|---|---|---|---|
|
No |
|
Limits the listing to one component group. |
Data readers¶
The following commands use the same argument schema:
heliokit data read cdf INPUT [--script PATH] [--include-values]
heliokit data read fits INPUT [--script PATH] [--include-values]
heliokit data read h5 INPUT [--script PATH] [--include-values]
heliokit data read hdf INPUT [--script PATH] [--include-values]
heliokit data read nc INPUT [--script PATH] [--include-values]
heliokit data read plt INPUT [--script PATH] [--include-values]
heliokit data read swv INPUT [--script PATH] [--include-values]
fits also accepts the alias fts; h5 accepts hdf5; nc
accepts netcdf; and swv accepts swb. The selected reader names the
expected source format, although a custom script can replace the built-in reader.
Argument |
Required |
Format / default |
Meaning |
|---|---|---|---|
|
Yes |
Existing file path |
Data file to read. Built-in support: CDF |
|
No |
Existing Python file |
Custom reader module. It must define |
|
No |
Flag; off by default |
Includes array values in CLI output. Leave off for large datasets to return only the summary and metadata. |
heliokit data read vti INPUT
Argument |
Required |
Format / default |
Meaning |
|---|---|---|---|
|
Yes |
Existing |
VTK XML ImageData input. |
|
No |
Flag; off by default |
Includes point-data arrays rather than only array names, origin, spacing, dimensions, and bounds. |
heliokit data write
heliokit data write --output OUTPUT (--source SOURCE | --json-input JSON) [--reader NAME]
Argument |
Required |
Format / default |
Meaning |
|---|---|---|---|
|
Yes |
Output path |
|
|
Conditional |
Existing structured data file |
Source file to convert. Supply exactly one of |
|
Conditional |
Existing JSON file |
Input Heliokit data mapping. Supply exactly one of |
|
No |
Reader name |
Overrides format inference for |
heliokit data fetch ace
Argument |
Required |
Format / default |
Meaning |
|---|---|---|---|
|
Yes |
Output path |
Destination for the recent ACE solar-wind dataset. The extension should match the requested format. |
|
No |
|
Output representation. Use a matching suffix such as |
Dataset selectors¶
Filters read arrays from a structured data file with selectors. A selector has
the exact form PATH::DATASET. Both parts are required. Dataset names are
case-sensitive and must exist in the referenced source file.
Scalar attributes use NAME=PATH::DATASET. Vector attributes use exactly
three selectors: NAME=PATH::DATASET,PATH::DATASET,PATH::DATASET. Repeat an
option to provide multiple attributes.
Plotting commands also accept trailing-dimension component selectors
for dataset-name arguments. Use DATASET[INDEX] when a reader exposes a
multi-component array and the desktop .swimc state selected one component.
For example, psp_fld_l2_mag_RTN[1] selects component index 1 from a
(N, 3) CDF variable. Indexes are zero-based.
MAG_CHB filter¶
heliokit run filter mag_chb --rad SEL --theta SEL --phi SEL --a1 SEL --a2 SEL --a3 SEL \
--chb-tindex INT --chb-findex INT --output PATH [--attribute-cs scs|ccs] \
[--start-r FLOAT] [--des-r FLOAT] [--in-r FLOAT] [--out-r FLOAT]
mag-chb is an alias for mag_chb.
Argument |
Required |
Format / default |
Meaning and constraints |
|---|---|---|---|
|
Yes |
Dataset selectors |
Radius, polar angle, and azimuth arrays. All three position arrays must describe the same grid. |
|
Yes |
Dataset selectors |
Vector components. Use BR/BT/BF with |
|
No |
|
Coordinate system used by the three attribute arrays. |
|
No |
Floating-point radii; default to the rounded minimum and maximum of |
Must satisfy |
|
No |
Floating-point radii; default to the rounded minimum and maximum of |
Must satisfy |
|
Yes |
Integer indices |
CHB grid indices. The desktop form accepts positive integers; choose indices valid for the supplied theta and phi grids. |
|
Yes |
|
Output containing |
Mesh to VTI: spherical coordinates¶
heliokit run filter meshtovtk_scs --rad SEL --theta SEL --phi SEL \
[--scalar NAME=SEL] [--vector-scs NAME=SEL,SEL,SEL] [--vector-ccs NAME=SEL,SEL,SEL] \
--output OUTPUT [--active-scalar NAME] [--active-vector NAME] \
[--radius-min FLOAT] [--radius-max FLOAT] [--size INT] [--emit-vtu]
mesh_to_vtk_scs is an alias for meshtovtk_scs.
Argument |
Required |
Format / default |
Meaning and constraints |
|---|---|---|---|
|
Yes |
Dataset selectors |
Spherical position arrays; their dimensions define the source mesh. |
|
Conditional |
Repeatable |
Scalar attribute. At least one scalar or vector option is required. |
|
Conditional |
Repeatable |
Spherical vector attribute with three components. |
|
Conditional |
Repeatable |
Cartesian vector attribute with three components. |
|
No |
Attribute name |
Name of one supplied scalar or vector to mark as active in VTK. When omitted, the first scalar and first vector attribute are selected, matching the desktop combo-box default. |
|
No |
Floating-point radius; default to the rounded RAD range |
Optional cropped output range. Omit either value to use the corresponding desktop-style RAD range boundary. |
|
No |
Integer; default |
Uniform output sampling dimension, producing |
|
No |
Flag; off by default |
Writes an additional VTU file beside the VTI output. |
|
Yes |
|
VTK XML ImageData destination. |
Mesh to VTI: Cartesian coordinates¶
heliokit run filter meshtovtk_ccs [--scalar NAME=SEL] [--vector NAME=SEL,SEL,SEL] \
--origin X,Y,Z --spacing DX,DY,DZ --dimensions NX,NY,NZ --output OUTPUT
mesh_to_vtk_ccs is an alias for meshtovtk_ccs.
Argument |
Required |
Format / default |
Meaning and constraints |
|---|---|---|---|
|
Conditional |
Repeatable |
Scalar attribute. At least one scalar or vector option is required. |
|
Conditional |
Repeatable |
Cartesian vector attribute with exactly three components. |
|
No |
Attribute name |
Name of one supplied scalar or vector to mark as active in VTK. When omitted, the first scalar and first vector attribute are selected. |
|
Yes |
|
Spatial origin of the Cartesian grid. |
|
Yes |
|
Grid spacing on each axis. |
|
Yes |
|
Number of grid points on each axis. The desktop form uses positive integer values. |
|
Yes |
|
VTK XML ImageData destination. |
Batch Mesh to VTI¶
heliokit run filter meshtovtk_scs_batch --manifest MANIFEST.json [--continue-on-error]
heliokit run filter meshtovtk_ccs_batch --manifest MANIFEST.json [--continue-on-error]
mesh_to_vtk_scs_batch and mesh_to_vtk_ccs_batch are aliases. The
manifest may be either a JSON array or an object with an items array. Each
item is a JSON object using the same keys as the matching single-run command,
with hyphenated CLI options written as underscored JSON keys. For example,
active_scalar, radius_min, and emit_vtu.
Argument |
Required |
Format / default |
Meaning and constraints |
|---|---|---|---|
|
Yes |
Existing JSON file |
Batch item list. Each item must contain the required single-run fields such as |
|
No |
Flag; off by default |
Records failed items and continues. Without this flag, the first item failure stops the batch. |
Scatter to VTI¶
heliokit run filter scattertovtk --x SEL --y SEL --z SEL \
[--scalar NAME=SEL] [--vector NAME=SEL,SEL,SEL] --output OUTPUT \
[--active-scalar NAME] [--active-vector NAME] [--size INT] [--emit-vtu]
scatter_to_vtk is an alias for scattertovtk.
Argument |
Required |
Format / default |
Meaning and constraints |
|---|---|---|---|
|
Yes |
Dataset selectors |
Cartesian point coordinates. |
|
Conditional |
Repeatable |
Scalar attribute. At least one scalar or vector option is required. |
|
Conditional |
Repeatable |
Cartesian vector attribute with exactly three components. |
|
No |
Attribute name |
Name of one supplied scalar or vector to mark as active in VTK. When omitted, the first scalar and first vector attribute are selected. |
|
No |
Integer; default |
Uniform output sampling dimension. The desktop form restricts this to a positive integer. |
|
No |
Flag; off by default |
Writes an additional VTU file beside the VTI output. |
|
Yes |
|
VTK XML ImageData destination. |
Format conversion¶
heliokit run filter format_convert --input INPUT --output OUTPUT
format-convert is an alias for format_convert. Supported input formats
match the data readers: .hdf, .h5, .swb, .plt, .fits,
.fts, .cdf, and .nc. Writable outputs are .h5, .hdf, and
.swb; JSON/SWV output is available through heliokit data write.
Data calculator¶
heliokit run filter data_calculator --expression EXPR --var NAME=SEL \
--output OUTPUT [--name DATASET] [--title TITLE]
data-calculator is an alias for data_calculator. Expressions run in a
restricted NumPy namespace that includes common functions such as sqrt,
sin, cos, where, maximum, and minimum. Input variables are
loaded with --var and referenced by name inside the expression.
Argument |
Required |
Format / default |
Meaning and constraints |
|---|---|---|---|
|
Yes |
NumPy-style expression |
Formula evaluated over the named arrays, for example |
|
Yes |
Repeatable |
Input arrays available to the expression. |
|
No |
Dataset name; default |
Output dataset name. |
|
No |
Text; defaults to output filename stem |
Output file title. |
|
Yes |
|
Output data file. |
DST and Kp models¶
These commands require the optional model stack:
python -m pip install "heliokit[models]"
Both commands use the same argument schema:
heliokit run model dst [OPTIONS]
heliokit run model kp [OPTIONS]
Argument |
Required |
Format / default |
Meaning and constraints |
|---|---|---|---|
|
No |
|
Selects inference or model training. |
|
No |
Integer; default |
Forecast lead time in hours. It must match the available weights and scaler layout for prediction. |
|
No |
Integer; default |
Number of historical time steps in each model sequence. It must match the trained model input shape. |
|
No |
Existing directory |
Model weights directory. When omitted, the controlled runtime’s default model location is used. |
|
No |
Directory path |
Output directory for prediction or training artifacts. It is created as needed. |
|
No |
Integer; default |
Number of training epochs; used only by |
|
Conditional |
Existing CSV file |
Required in |
|
No |
Integer; default |
Monte Carlo iterations for prediction uncertainty. Larger values increase runtime; it is used during prediction. |
Prediction obtains recent ACE data from its configured upstream services. It
requires compatible trained weights and scaler files in --model-dir (or the
default controlled-environment location).
Geomagnetic pipeline¶
This pipeline is part of the optional model stack:
python -m pip install "heliokit[models]"
heliokit run pipeline geomag --output OUTPUT [--advance-hours INT] \
[--time-windows INT] [--dst-model-dir PATH] [--kp-model-dir PATH]
Argument |
Required |
Format / default |
Meaning |
|---|---|---|---|
|
Yes |
|
Combined DST and Kp result summary. Its parent directory is created if needed. |
|
No |
Integer; default |
Forecast lead time forwarded to both model runs. |
|
No |
Integer; default |
Sequence window forwarded to both model runs. |
|
No |
Existing directory |
Overrides the DST model asset location. |
|
No |
Existing directory |
Overrides the Kp model asset location. |
ACWE coronal-hole detection¶
heliokit run tool acwe --output-dir DIRECTORY (--input-file FITS | \
--time TIMESTAMP --email ADDRESS --download-dir DIRECTORY) [OPTIONS]
Argument |
Required |
Format / default |
Meaning and constraints |
|---|---|---|---|
|
Yes |
Directory path |
Result directory. The command creates an HDF5 result and PNG preview. |
|
Conditional |
Existing AIA 193 FITS file |
Local source image. Use this or the three download arguments below. |
|
Conditional |
ISO 8601 local/UTC timestamp, for example |
JSOC acquisition time. Required when |
|
Conditional |
Email address |
JSOC contact address; required with |
|
Conditional |
Directory path |
JSOC download destination; required with |
|
No |
Float; default |
Image downsampling factor. The desktop form accepts positive values. |
|
No |
Float; default |
Initial quiet-Sun threshold multiplier. The desktop form accepts positive values. |
|
No |
Float; default |
ACWE foreground weight. The desktop form accepts positive values. |
|
No |
Float; default |
ACWE background weight. The desktop form accepts positive values. |
|
No |
Float; default |
ACWE narrowband width. The desktop form accepts positive values. |
Use exactly one input route: --input-file or the complete --time /
--email / --download-dir group. The downloaded image is fixed to the
AIA 193 Angstrom wavelength used by the desktop workflow.
Data download tools¶
heliokit run tool aia --output-dir DIRECTORY --start-time TIME --end-time TIME --email ADDRESS [--wave INT]
heliokit run tool hmi --output-dir DIRECTORY --start-time TIME --end-time TIME --email ADDRESS
heliokit run tool eit --output-dir DIRECTORY --start-time TIME --end-time TIME [--wave INT]
heliokit run tool gong --output-dir DIRECTORY --start-time TIME --end-time TIME
heliokit run tool lasco --output-dir DIRECTORY --start-time TIME --end-time TIME [--detector C2|C3]
heliokit run tool secchi --output-dir DIRECTORY --start-time TIME --end-time TIME [--source STEREO_A|STEREO_B] [--detector DETECTOR] [--wave INT]
heliokit run tool wind --output-dir DIRECTORY --start-time DATE --end-time DATE
For AIA, EIT, GONG, HMI, LASCO, and SECCHI, --carrington-rotation INT may
replace --start-time and --end-time. WIND requires an explicit start/end
date range. --wave may be repeated.
Argument |
Required |
Format / default |
Meaning and constraints |
|---|---|---|---|
|
Yes |
Directory path |
Download destination. The directory is created if needed. |
|
Conditional |
ISO-like timestamp or date |
Required unless |
|
Conditional |
Integer |
Alternative time selector for supported solar image instruments. |
|
No |
Repeatable integer Angstrom value |
Validated against the instrument’s desktop wave list when one exists. |
|
No |
Source string |
Used by SECCHI; valid values are |
|
No |
Detector string |
Used by LASCO and SECCHI. Defaults to the first desktop detector option when omitted. |
|
Conditional |
Email address |
Required by JSOC-backed AIA and HMI exports. |
|
No |
Integer; default |
Concurrent download workers. |
Interactive and headless visualization¶
The CLI visualization components below use the native plotting stack for each domain. Matplotlib and VTK commands can open native interactive windows and do not use the PyQt desktop shell. OpenGL domain views such as PB, QFactor, and Twist render through the desktop shader stack in a short-lived CLI process and save a PNG; they do not open an interactive window from the CLI.
1D plotting commands correspond to desktop plot docks whose DATA_TYPE is
1D, such as XY-Line, Histogram, and Error Barchart:
heliokit run viz2d xy_line --input DATA [--x NAME] [--y NAME|NAME[INDEX]] [--epoch-time-format FORMAT] [--x-label TEXT] [--y-label TEXT] [--save PNG] [--no-show]
heliokit run viz2d histogram --input DATA [--array NAME|NAME[INDEX]] [--bins INT] [--range MIN,MAX] [--save PNG] [--no-show]
2D plotting commands correspond to desktop plot docks whose DATA_TYPE is
2D, such as 2D Histogram, 2D CMF, ARMF, and Synoptic Map:
heliokit run viz2d histogram2d --input DATA [--x NAME] [--y NAME] [--bins INT] [--save PNG] [--no-show]
heliokit run viz2d cmf --input DATA [--state 2D_CMF.swimc] [--x NAME] [--y NAME] [--value NAME] [--vector-x NAME] [--vector-y NAME] [--range MIN,MAX] [--radius-range MIN,MAX] [--resample-number INT] [--method linear|nearest|cubic] [--stream-seed X,Y] [--stream-step-size FLOAT] [--stream-step-number INT] [--stream-width FLOAT] [--stream-arrow-count INT] [--stream-color-mode origin|close_open|color] [--stream-close-color COLOR] [--stream-open-color COLOR] [--no-stream] [--colormap NAME[+|-]] [--save PNG] [--no-show]
heliokit run viz2d magnetogram --input DATA [--x NAME] [--y NAME] [--value NAME] [--range MIN,MAX] [--colormap NAME[+|-]] [--save PNG] [--no-show]
Plotting defaults are inferred after loading the data file: xy_line uses a
recognized X variable such as x or time when present, otherwise point
index; Y defaults to the first other numeric variable. Histogram commands use
the first numeric variable(s), finite data range, and 64 bins.
For CDF epoch X axes, xy_line --epoch-time-format accepts the desktop
labels hh:mm, hh, MM-dd, yyyy-MM-dd, yyyy-MM, yyyy,
MM, dd, and dd hh. It also accepts raw Matplotlib date-format
strings such as %H:%M. --x-label and --y-label override the axis
labels after data loading; the desktop XY-LINE demo uses time and
value.
cmf --state can load a desktop 2D_CMF.swimc file and apply its saved
axes, scalar field, vector field, value range, radius range, resampling method,
streamline seeds, step size, step count, line width, arrow count, color mode,
close/open streamline colors, colormap, and alpha. Explicit CLI options
override state values. In close_open mode, closed streamlines default to
red and open streamlines default to blue, matching the desktop color
combobox initialization. --colormap accepts rainbow+ for forward
colors, rainbow- for reversed colors, and treats an omitted suffix as
forward. When omitted, both 2D commands use rainbow+. Without
--state, cmf uses common CMF variable names (X/Z axes, BT
scalar values, and BX/BZ streamlines); omitted --range and
--radius-range values are calculated from the loaded data. magnetogram
is an alias for synoptic_map; its defaults match 2D_CARTESIAN.swimc:
longitude, latitude, and
$N(10^{5} cm^{-3})$. Its colorbar is appended to the main plot axes, so the
colorbar height matches the plotted axes height.
VTK 3D visualization commands correspond to the desktop VTK visualization window:
heliokit run viz3d volume --input DATA.vti [--array NAME] [--range MIN,MAX] [--color-map cool-to-warm|blue-gold] [--camera-position X,Y,Z] [--camera-focal-point X,Y,Z] [--camera-view-up X,Y,Z] [--view-angle DEG] [--clipping-range NEAR,FAR] [--save PNG] [--no-show]
heliokit run viz3d slice --input DATA.vti [--array NAME] [--axis x|y|z] [--index INT] [--save PNG] [--no-show]
heliokit run viz3d iso_surface --input DATA.vti [--array NAME] [--value FLOAT] [--save PNG] [--no-show]
heliokit run viz3d wireframe --input DATA.vti [--array NAME] [--save PNG] [--no-show]
3D defaults are inferred from VTK point data: the first scalar-compatible array
is selected, scalar range uses finite min/max values, slice uses the middle
slice on the selected axis, and iso_surface uses the middle of the scalar
range. volume and slice currently require vtkImageData inputs such
as .vti. wireframe can also display geometry without scalar arrays.
VTK camera options are optional and use comma-separated numeric triples. The
cool-to-warm volume color map matches the saved desktop VTK demo state.
The VTK renderer background is fixed to the desktop default, Silver.
OpenGL 3D domain views¶
PB, QFactor, and Twist are 3D OpenGL domain views, but they are not VTK
workflows. They read the desktop .swimc state to recover the selected HDF5
datasets and saved render parameters, then render once and save a PNG. The
per-dataset transpose setting in data_select_group is applied exactly as
it is in the desktop data selector. --save is required. --input can
override the data file recorded in the state, and --radius, --theta,
--phi, and --value can override dataset names when a state file is not
available or needs adjustment.
heliokit run viz3d pb --state STATE.swimc --save PNG [--input DATA.h5] [--radius NAME] [--theta NAME] [--phi NAME] [--value NAME] [--colormap NAME[+|-]] [--disable-gpu]
heliokit run viz3d pb_nrgf --state STATE.swimc --save PNG [OPTIONS]
heliokit run viz3d pb_fnrgf --state STATE.swimc --save PNG [OPTIONS]
heliokit run viz3d pb_wavelets --state STATE.swimc --save PNG [OPTIONS]
heliokit run viz3d pb_newkirk --state STATE.swimc --save PNG [OPTIONS]
heliokit run viz3d qfactor_coronal --state STATE.swimc --save PNG [OPTIONS]
heliokit run viz3d qfactor_sar --state STATE.swimc --save PNG [OPTIONS]
heliokit run viz3d twist_coronal --state STATE.swimc --save PNG [OPTIONS]
heliokit run viz3d twist_sar --state STATE.swimc --save PNG [OPTIONS]
pb-fnrgf, pb-wavelets, pb-newkirk, cq, sq, ct, and
sart are aliases. These commands require the desktop runtime or source tree
because they use the desktop OpenGL shader files. GPU rendering is used by
default. If the GPU/OpenGL probe fails, rerun the same command with
--disable-gpu; this enables the existing Mesa/software-rendering
environment. --colormap applies to PB output only: rainbow+ is forward,
rainbow- is reversed, and a name without a suffix is forward. When omitted,
PB uses Greys-. QFactor and Twist save the native OpenGL framebuffer.
Registered P1 components without headless adapters¶
The following first-party components are installable and discoverable through
heliokit components list. They expose a stable placeholder argument schema:
heliokit run KIND NAME [--input PATH] [--output PATH] [--config PATH] [--workspace PATH]
--input may be repeated. --output, --config, and --workspace
are optional paths. Running these components currently raises a clear
NotImplementedError because the corresponding desktop feature still depends
on GUI state, a project tree, or a server-backed runtime that has not been
extracted into a headless adapter. Components marked with heliokit[models]
are installed only with the optional model stack.
Kind |
Component names |
Desktop codes |
Distribution prefix |
|---|---|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
VTK visualization leaf codes |
|
|
|
Desktop plot leaf codes that still depend on GUI-specific state |
|