Skip to content

6. Cursor Metrics

Peter Jan Randewijk edited this page Jan 30, 2026 · 7 revisions

6.0 Introduction

From MTB 2.0, a number of cursor metrics have been introduced. They are

  • START returns the signal value at the start cursor time value, and calls the cursor function cursorStart

  • END returns the signal value at the end cursor time value, and calls the cursor function cursorEnd

  • DELTA returns the delta or difference in the signal values between the start cursor time and end cursor time values, and calls the cursor function cursorDelta

  • MIN returns the minimum value of the signal between the start cursor time and end cursor time values, and calls the cursor function cursorMin

  • MAX returns the minimum value of the signal between the start cursor time and end cursor time values, and calls the cursor function cursorMax

  • MEAN returns the mean value of the signal between the start cursor time and end cursor time values, and calls the cursor function cursorMean

  • GRAD_MIN returns the minimum value of the signal's numpy.gradient between the start cursor time and end cursor time values, and calls the cursor function cursorGradMin

  • GRAD_MAX returns the maximum value of the signal's numpy.gradient between the start cursor time and end cursor time values, and calls the cursor function cursorGradMax

  • GRAD_MEAN returns the minimum value of the signal's numpy.gradient between the start cursor time and end cursor time values, and calls the cursor functioncursorGradMean

  • RESPONSE returns the response delay time of the signal measured from the start cursor time until the signal has reached 10% of the DELTA value between the start cursor time and the end cursor time, and calls the cursor function cursorResponseDelay

  • RISE_FALL

  • SETTLING

  • OVERSHOOT

  • FSM_DROOP

  • LFSM_DROOP

  • QU_DROOP

  • QU_SS_TOL

  • DELTA_FFC

  • cursorRiseFallTime

  • cursorSettlingTime

  • cursorPeakOvershoot

  • cursorFSMDroop

  • cursoLFSMDroop

  • cursorQUt1

  • cursorQUt2

  • cursorQUDroop

  • cursorQUSSTol

6.1 Cursor Setup

The cursurs to be used for each Case/Rank are configured using the cursorSetup.csv file.

Column Name Description
title A descriptive name that would be used for the cursor metric table
rank The case rank number for which the cursor metric table will be generated for
cursor_options A comma separated list of cursor functions to be applied
emt_signals A comma separated list of the EMT signals to be used by the cursor functions
rms_signals A comma separated list of the RMS signals to be used by the cursor functions
time_ranges A comma separated list of the cursor start- and end-times to be used, entered in pairs

Most of the cursor function only require one signal. The exceptions are cursorFSMDroop and cursoLFSMDroop which require an active power and a frequency signal, i.e MTB\P_pu_PoC and MTB\pll_f_hz for EMT, and meas\s:ppoc_pu and meas\s:f_hz for RMS, and cursorQUDroop which require a reactive power and a voltage signal, i.e. MTB\Q_pu_PoC and MTB\meas_Vag_pu for EMT, and meas\s:qpoc_pu and meas\s:Vag_pu for RMS.

6.2 Cursor Time Ranges

The cursor time ranges define the start- and end-time of each cursor pair, e.g.

  • 0.0 - the cursor functions will be applied to the time range from 0.0 s up to the end of the simulated signal
  • 0.0, 10.0 - the cursor functions will be applied to the time range from 0.0 s to 10.0 s
  • 0.0, 10.0, 10.0 - the cursor functions will be applied to the time range from 0.0 s to 10.0 s, and from 10.0 s up to the end of the simulated signal
  • 0.0, 10.0, 10.0, 20.0 - the cursor functions will be applied to the times range from 0.0 s to 10.0 s, and from 10.0 s to 20.0 s
  • 0.0, 10.0, 10.0, 20.0, 20.0 - the cursor functions will be applied to the time range from 0.0 s to 10.0 s, and from 10.0 s to 20.0 s, and from 10.0 s up to the end of the simulated signal

The cursor time ranges can overlap, but must obey that end-time > start-time, e.g.

  • 0.0, 10.0, 5.0, 15.0 - the cursor functions will be applied to the times range from 0.0 s to 10.0 s, and from 5.0 s to 15.0 s

6.3 Cursor Functions

The cursor functions are defined in the file, cursor_functions.py. They are:

7.3.1 cursorStart

7.3.2 cursorEnd

7.3.3 cursorDelta

e.g. Rank_11: ION_RfG_P_step_up_0 0_0 5 Rank_11-ION_RfG_P_step_up_0 0_0 5-Cursor-Active_power

6.3.4 cursorMin

6.3.5 cursorMax

6.3.6 cursorMean

e.g. Rank 7: PRE_SS_flatrun_Uctrl1 Rank_7-PRE_SS_flatrun_Uctrl1-Cursor-Active_power

e.g. Rank 7: PRE_SS_flatrun_Uctrl1 Rank_7-PRE_SS_flatrun_Uctrl1-Cursor-Reactive_power

6.3.7 cursorGradMin

6.3.8 cursorGradMean

6.3.9 cursorGradMax

e.g. Rank_11: ION_RfG_P_step_up_0 0_0 5 Rank_11-ION_RfG_P_step_up_0 0_0 5-Cursor-Active_power

6.3.10 cursorResponseDelay

6.3.11 cursorRiseFallTime

e.g. Rank 17: ION_RfG_FSM_step1 Rank_17-ION_RfG_FSM_step1-Cursor-Active_power

6.3.12 cursorSettlingTime

6.3.13 cursorPeakOvershoot

e.g. Rank 38: ION_RfG_Ucontrol_Scmin-Cursor-Reactive_power Rank_38-ION_RfG_Ucontrol_Scmin-Cursor-Reactive_power (1)

6.3.14 cursorFSMDroop

6.3.15 cursoLFSMDroop

6.3.16 cursorQUt1

6.3.17 cursorQUt2

6.3.18 cursorQUDroop

e.g. Rank 38: ION_RfG_Ucontrol_Scmin-Cursor-Reactive_power Rank_38-ION_RfG_Ucontrol_Scmin-Cursor-Reactive_power

6.3.19 cursorQUSSTol

Clone this wiki locally