waveform_editor.shape_editor.nice_integration.NiceIntegration

class waveform_editor.shape_editor.nice_integration.NiceIntegration(imas_factory, on_output: Callable[[str | bytes], None] | None = None)

Bases: Parameterized

Core API for running NICE, submitting problems and getting the resulting equilibrium back.

__init__(imas_factory, on_output: Callable[[str | bytes], None] | None = None)

Methods

__init__(imas_factory[, on_output])

close()

Shutdown all running subprocesses and close any open files.

create_communicator_protocol()

Instantiate protocol to handle NICE subprocess output.

run([is_direct_mode])

Start NICE and the controlling processes.

submit(xml_params, equilibrium, pf_active, ...)

Submit a new equilibrium reconstruction job to NICE.

Attributes

communicator_running

equilibrium

muscle_manager_running

name

nice_running

param

pf_active

processing

async close()

Shutdown all running subprocesses and close any open files.

create_communicator_protocol()

Instantiate protocol to handle NICE subprocess output.

async run(is_direct_mode=False)

Start NICE and the controlling processes.

async submit(xml_params: str, equilibrium: bytes, pf_active: bytes, pf_passive: bytes, wall: bytes, iron_core: bytes)

Submit a new equilibrium reconstruction job to NICE.

Parameters:
xml_params: str

NICE XML parameters

equilibrium: bytes

Serialized equilibrium IDS

pf_active: bytes

Serialized pf_active IDS

pf_passive: bytes

Serialized pf_passive IDS

wall: bytes

Serialized wall IDS

iron_core: bytes

Serialized iron_core IDS


Last update: 2026-05-21