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 returns the rise or fall time of the signal, by measuring the time from the 10% to the 90% of the DELTA value between the start cursor time and the end cursor time, and calls the cursor function cursorRiseFallTime

  • SETTLING returns the settling time of the signal, by measuring the time from the start cursor time until the signal remains within the tolerance band (default value is 2%) of the DELTA value around the END value, and calls the cursor function cursorSettlingTime

  • QU_T1 returns the response delay time of the signal measured from the start cursor time until the signal has reached 90% of the DELTA value between the start cursor time and the end cursor time, and calls the cursor functions cursorResponseDelay and cursorResponseDelay. This allows the metric to be used directly with RfG Article 21.3 (d)(iv) from NC RfG - Nationale krav

image

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