-
Notifications
You must be signed in to change notification settings - Fork 19
6. Cursor Metrics
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
-
OVERSHOOT cursorPeakOvershoot
-
FSM_DROOP cursorFSMDroop
-
LFSM_DROOP cursoLFSMDroop
-
QU_DROOP
-
QU_SS_TOL
-
DELTA_FFC
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.
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
The cursor functions are defined in the file, cursor_functions.py. They are:
e.g. Rank_11: ION_RfG_P_step_up_0 0_0 5

e.g. Rank 7: PRE_SS_flatrun_Uctrl1

e.g. Rank 7: PRE_SS_flatrun_Uctrl1

e.g. Rank_11: ION_RfG_P_step_up_0 0_0 5

e.g. Rank 17: ION_RfG_FSM_step1

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

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

For further questions or help, please check if the README or the Quickstart Guides contains the answer.
Otherwise, please contact the Energinet simulation model team: simuleringsmodeller@energinet.dk