Implement generic current time computation method#545
Conversation
…et_end_of_current is different from get_current_quench_time as it does not exclude the potential current spike
Adapting the method to MAST & HBT-EPMASTI copied in the thresholds from CMOD and tested them with the testing shots. Right now the method is able to locate the current quench event in the disruptive shots, but it occasionally marks a non-disruptive shot as disruptive (see I think the problem is that right now this method has some hard-coded assumptions about the machine's disruption & rampdown timescales (e.g. disruption-py/disruption_py/machine/generic/physics.py Lines 219 to 222 in 08cea0a disruption-py/disruption_py/machine/generic/physics.py Lines 232 to 237 in 08cea0a
HBT-EPFor HBT-EP, the problem with the timescale assumptions is more severe. An HBT shot usually lasts between 5~10 ms. It always ends with a disruption, and the disruption precursor usually occurs within the last 1 ms prior to the current quench. These shorter timescales break every assumption about the timescales of current quench events in the method, which makes the method in its current form incompatible with HBT regardless of the threshold values. Similar to the suggestions for MAST, I believe this should be done in a subsequent revamp after a more throughout study of the disruption dynamics in HBT-EP. |
Comparison of
|








Implemented changes
GenericPhysicsMethods.get_current_quench_time(...)andGenericUtilMethod.get_end_of_current(...)based on Bob's original scripts in IDL & MATLAB (see implement disruption time computation #223).current_quench_timeis returned as a column with the same value for each shot.Testing
cmod 1150805014(see below) agrees with the existingt_disruptfrom the cached SQL database.TODOs
current_quench_timein the dataset/dataframe.References
Note on
cmod 1150805014cmod 1150805014is considered a non-disruptive shot in the SQL database. However, the parameters of this shot do satisfy all of the 6 testing criteria. The shot does look like a proper ramp down disruption with sufficient pre-disruptionip, so I believe it should be relabeled as disruptive.