Coverage for python/gsfit/database_readers/freegsnke/setup_dialoop.py: 100%

9 statements  

« prev     ^ index     » next       coverage.py v7.15.0, created at 2026-07-07 13:12 +0000

1import typing 

2from typing import TYPE_CHECKING 

3 

4import numpy as np 

5import numpy.typing as npt 

6from freegsnke.equilibrium_update import Equilibrium as FreeGsnkeEquilibrium 

7from gsfit_rs import Dialoop 

8 

9if TYPE_CHECKING: 

10 from . import DatabaseReader 

11 

12 

13def setup_dialoop( 

14 self: "DatabaseReader", 

15 pulseNo: int, 

16 settings: dict[str, typing.Any], 

17 time: npt.NDArray[np.float64], 

18 freegsnke_eqs: list[FreeGsnkeEquilibrium], 

19) -> Dialoop: 

20 """ 

21 This method initialises the Rust `Dialoop` class. 

22 

23 :param pulseNo: Pulse number, used to read from the database 

24 :param settings: Dictionary containing the JSON settings read from the `settings` directory 

25 :param time: Measured time vector 

26 :param freegsnke_eqs: List of FreeGSNKE equilibrium objects, one for each time-slice 

27 

28 **This method is specific to FreeGSNKE.** 

29 

30 See `python/gsfit/database_readers/interface.py` for more details on how a new database_reader should be implemented. 

31 """ 

32 

33 # Initialise the Isoflux Rust class 

34 dialoop = Dialoop() 

35 

36 # TODO: Implement this method 

37 

38 return dialoop