scpn_fusion.io – Data Interop

The IO subpackage provides data-interoperability adapters for the IMAS (Integrated Modelling & Analysis Suite) data exchange standard used in the fusion community.

IMAS Connector

Facade API for IMAS/IDS adapter modules.

This module intentionally stays as a stable import surface while implementation is decomposed into focused submodules:

  • imas_connector_common: validation/coercion primitives

  • imas_connector_digital_twin: summary/state IDS mappings

  • imas_connector_equilibrium: GEQDSK <-> IMAS equilibrium

  • imas_connector_transport: core_profiles/summary/core_transport

  • imas_connector_storage: JSON I/O helpers

  • imas_connector_omas: OMAS bridge

scpn_fusion.io.imas_connector.validate_ids_payload(payload)[source]
Return type:

None

Parameters:

payload (Mapping[str, Any])

scpn_fusion.io.imas_connector.digital_twin_summary_to_ids(summary, *, machine='ITER', shot=0, run=0)[source]

Map internal digital-twin summary into IDS-like payload.

Return type:

dict[str, Any]

Parameters:
scpn_fusion.io.imas_connector.digital_twin_state_to_ids(state, *, machine='ITER', shot=0, run=0)[source]

Map detailed digital-twin state + profiles into IDS-like payload.

Return type:

dict[str, Any]

Parameters:
scpn_fusion.io.imas_connector.ids_to_digital_twin_summary(payload)[source]

Map IDS-like payload back to internal digital-twin summary shape.

Return type:

dict[str, Any]

Parameters:

payload (Mapping[str, Any])

scpn_fusion.io.imas_connector.ids_to_digital_twin_state(payload)[source]

Map IDS payload back to detailed digital-twin state with optional profiles.

Return type:

dict[str, Any]

Parameters:

payload (Mapping[str, Any])

scpn_fusion.io.imas_connector.digital_twin_history_to_ids(history, *, machine='ITER', shot=0, run=0)[source]
Return type:

list[dict[str, Any]]

Parameters:
scpn_fusion.io.imas_connector.digital_twin_history_to_ids_pulse(history, *, machine='ITER', shot=0, run=0)[source]
Return type:

dict[str, Any]

Parameters:
scpn_fusion.io.imas_connector.ids_to_digital_twin_history(payloads)[source]
Return type:

list[dict[str, Any]]

Parameters:

payloads (Sequence[Mapping[str, Any]])

scpn_fusion.io.imas_connector.ids_pulse_to_digital_twin_history(pulse)[source]
Return type:

list[dict[str, Any]]

Parameters:

pulse (Mapping[str, Any])

scpn_fusion.io.imas_connector.validate_ids_payload_sequence(payloads)[source]
Return type:

None

Parameters:

payloads (Sequence[Mapping[str, Any]])

scpn_fusion.io.imas_connector.validate_ids_pulse_payload(pulse)[source]
Return type:

None

Parameters:

pulse (Mapping[str, Any])

scpn_fusion.io.imas_connector.geqdsk_to_imas_equilibrium(eq, *, time_s=0.0, shot=0, run=0)[source]

Convert a GEqdsk equilibrium to an IMAS Data Dictionary equilibrium IDS.

Return type:

dict[str, Any]

Parameters:
scpn_fusion.io.imas_connector.imas_equilibrium_to_geqdsk(ids)[source]

Convert an IMAS Data Dictionary equilibrium IDS back to a GEqdsk.

Return type:

GEqdsk

Parameters:

ids (Mapping[str, Any])

scpn_fusion.io.imas_connector.state_to_imas_core_profiles(state, *, time_s=0.0)[source]

Convert a plasma state dict to an IMAS core_profiles IDS.

Return type:

dict[str, Any]

Parameters:
scpn_fusion.io.imas_connector.state_to_imas_summary(state)[source]

Convert a performance/state dict to an IMAS summary IDS.

Return type:

dict[str, Any]

Parameters:

state (Mapping[str, Any])

scpn_fusion.io.imas_connector.state_to_imas_core_transport(state, *, time_s=0.0)[source]

Convert a plasma state dict to an IMAS core_transport IDS.

Return type:

dict[str, Any]

Parameters:
scpn_fusion.io.imas_connector.imas_core_transport_to_state(ids)[source]

Convert an IMAS core_transport IDS back to a state dict.

Return type:

dict[str, Any]

Parameters:

ids (Mapping[str, Any])

scpn_fusion.io.imas_connector.write_ids(ids_dict, path)[source]

Write an IDS dict to a JSON file with schema validation.

Return type:

None

Parameters:
scpn_fusion.io.imas_connector.read_ids(path)[source]

Read an IDS JSON file and validate minimal schema.

Return type:

dict[str, Any]

Parameters:

path (str | Path)

scpn_fusion.io.imas_connector.ids_to_omas_equilibrium(ids_dict)[source]

Convert an IMAS equilibrium IDS dict to an OMAS ODS.

Return type:

Any

Parameters:

ids_dict (Mapping[str, Any])

scpn_fusion.io.imas_connector.omas_equilibrium_to_ids(ods)[source]

Convert OMAS ODS equilibrium data back to an IDS dict.

Return type:

dict[str, Any]

Parameters:

ods (Any)