idstools.eqdsk2ids

Module Contents

class idstools.eqdsk2ids.GEQDSK(fpath, ipsign_out, b0sign_out, cocos_in)[source]

GEQDSK module for IMAS

[1] L.L. Lao, “G EQDSK FORMAT”, https://w3.pppl.gov/ntcc/TORAY/G_EQDSK.pdf [2] O. Sauter and S.Yu. Medvedev, “Tokamak Coordinate Conventions : COCOS”, Comput. Physics Commun. 184 (2013) 293

Read GEQDSK file and set COCOS transformation coefficients

Parameters:
fpath

Path to GEQDSK file

ipsign_out

Desired sign(Ip) in output

b0sign_out

Desired sign(B0) in output

cocos_in

Coerce input COCOS

coef
data
fpath
idstools.eqdsk2ids.eqdsk2ids(gfile: str | list[str] | None = None, afile: str | None = None, ipsign: int = 0, b0sign: int = 0, cocos_in: int | None = None) imaspy.ids.equilibrium.equilibrium[source]

Convert one or more GEQDSK files into a merged IMAS equilibrium IDS.

Parameters:
gfile: str | list[str] | None = None

Path(s) to GEQDSK file(s). Can be: - Single file path - Directory path (all files processed) - Space-separated string of multiple files/patterns - List of file paths - Glob pattern(s) with wildcards (*, ?, [])

afile: str | None = None

Path to AEQDSK file (currently not used).

ipsign: int = 0

Desired sign of plasma current (Ip) in the output.

b0sign: int = 0

Desired sign of toroidal field (B0) in the output.

cocos_in: int | None = None

Input COCOS convention to coerce. None means autodetect.

Returns:

eq – Combined equilibrium IDS from one or more GEQDSK files.

Return type:

imas.ids.equilibrium.equilibrium

idstools.eqdsk2ids.geqdsk2ids(fpath, ipsign=0, b0sign=0, cocos_in=None)[source]

Functional Interface of GEQDSK Converter (geqdsk2ids)

Parameters:
fpath

Path to GEQDSK file

ipsign=0

Desired sign(Ip) in output

b0sign=0

Desired sign(B0) in output

cocos_in=None

Coerce input COCOS

Returns:

eq – IDS/equilibrium

Return type:

imas_*_ual_*.equilibrium.equilibrium ('*' corresponds to IMAS/UAL ver.)

idstools.eqdsk2ids.map__GEQDSK_to_ids(geqdsk, eq)[source]

Convert GEQDSK file into IDS/equilibrium

Parameters:
geqdsk

Class GEQDSK

eq

Return type:

None

idstools.eqdsk2ids.merge_equilibrium(eq1, eq2, sort_by_time=True)[source]

Concatenate two IMAS IDS/equilibrium objects (eq1 appended after eq2), with an option to sort the resulting time slices by time.

Parameters:
eq1

The equilibrium IDS to append.

eq2

The base equilibrium IDS.

sort_by_time=True

If True, the resulting IDS will be sorted by time (default: True).

Returns:

eq – New IDS/equilibrium instance with combined (and optionally sorted) content.

Return type:

object

idstools.eqdsk2ids.logger