Energy Scheduling and Accounting (ESA) - Tuning Guide

Energy Scheduling and Accounting (ESA)

ESA consists of an accounting function working in conjunction with an energy scheduling function to combine spreadsheet accounting features with an interchange scheduling tool.

Key ESA Functions
  • Collects, calculates and retains data values at various periodicities
  • Stuffs current schedule data to pseudo measurement points in the scanned database
  • Allows operators to schedule power interchange, reserve, and wheeling transactions
  • Provides on-line update of account and calculation definitions
  • Generates daily, weekly, monthly and yearly reports
ESA Components
  • File Definitions (SOESPA): Logical grouping of accounts
  • Account Definitions (SOVARS): Independent and dependent accounts
  • Calculation Definitions (SODEPV): Algebraic equations for dependent accounts
  • Report Definitions (SOREPT): Automated report generation
  • Transaction Types (SOTTPY): Attributes for interchange schedules
Table 8.2.1 - Transaction Type Effects on Reserve Calculations
Transaction Type RESERV FIRM INTERU MW Level Comments
Interruptible Imports (Purchases) Y N Y <0 Add to Operating Reserve Requirements
Interruptible Exports (Sales) Y N Y >0 Add to non-spinning reserves
On-Demand Obligations (Firm Sales) Y Y N >0 Add to Operating Reserve Requirements
On-Demand Rights (Firm Purchases) Y Y N <0 Add to non-spinning reserves

ESA File Definition (SOESPA)

Key Element: FILNAM (ESA File Name) | Maximum Files: SMP MXEFLS

Each ESA file may have different account and calculation definitions, future and historical data retention periods, data collection periodicities, and starting times for accounting periods.

SOESPA Parameters
Element Description Format Default Updateable
FILNAM ESA file name - used to logically group ESA data ESFNSZ char Required No
DATSRC Source of data for ESA file (Network Manager / MSGFIL) 8 char "Network Manager" No
PERIOD Data collection periodicity (5,10,15,20,30,60 minutes) INTEGER 60 No
DELAY Time delay after hour/minute for collection/calculation (seconds) INTEGER 0 No
FUTURE Future data retention period (days) INTEGER 0 No
HISTRY Historical data retention period (days) INTEGER 41 No
MXWEEK Maximum number of weeks of weekly data to retain INTEGER 8 No
MXMONT Maximum number of months of monthly data to retain INTEGER 3 No
MXYEAR Maximum number of years of yearly data to retain INTEGER 1 No
SHRDAY Start hour of the accounting day (0-23) INTEGER 0 No
SDAYWK Start day of the accounting week (1=Sunday, 7=Saturday) INTEGER 1 No
SDAYMO Start day of the accounting month INTEGER 1 No
SMONYR Start month of the accounting year INTEGER 1 No

Account Definition - Basic Information

Basic Account Information
Element Description Format Default
VARNAM Account name - primary identifier ESVSIZ char Required
VARTYP Account type (I = Independent, D = Dependent) 4 char "I"
FILEID ESA file number (populated automatically) INTEGER 0
ACCTID Numeric account identifier (e.g., WSCC account code) INTEGER 0
UNIT Engineering units (MW, MVAR, KV, $, etc.) 4 char " "
IMPLM Implemented account flag (Y = implemented, N = spare) 1 char "Y"

Account Definition - Data Collection

Data Collection Configuration
Element Description Format Default
RESID Collection/destination source code 8 char "RTDB"
Valid RESID values:
  • "NOT COLL" = manually entered
  • "IDBMS" = integrated database
  • "RTDB" = scanned database
  • "RTDBSTUF" = stuffed to scanned database
  • "HIST" = historian database
SUBNAM Substation name for RTDB/historian collection SUBSIZ char " "
PNTNAM Point name for RTDB/historian collection SPTSIZ char " "
PNTTYP Point type (ACCU, ANLG, STAT) 4 char "ACCU"
DSCOL IDB data structure name 8 char " "
ELCOL IDB data structure element name 8 char " "
DSMODE IDB data structure mode INTEGER 0
DSBANK IDB data structure bank INTEGER 0
BANKFL Banking flag (ABSO = absolute, RELA = relative) 4 char "ABSO"
RECORD IDB data structure record number INTEGER 0

Account Definition - Key-Based Collection

Key-Based Collection (Alternative to Direct Record Numbers)
Element Description Format Default
KDSNAM Key data structure name 8 char " "
KELNAM Key data structure element name 8 char " "
KDSMOD Key data structure mode INTEGER 0
EQNAME Equipment name key value EQPSIZ char " "

Account Definition - Historian Collection

Historian Collection (RESID = "HIST")
Element Description Format Default
HTAGNM Historian IDB tag name 80 char " "
HTAGNO Historian IDB tag number INTEGER 0

Account Definition - Grouping Keys

Account Grouping and Display Keys
Element Description Format Example
DATGRP Data group key 4 char "ACCU", "ANLG", "GENU", "TIEL"
GENFLG Generic flag key 4 char "THER", "HYDR", "INTL", "SINT"
GRPKY1 First account name key (e.g., plant name) ESKYSZ char " "
GRPKY2 Second account name key (e.g., unit name) ESKYSZ char " "

Account Definition - Initialization & Storage

Initialization and Storage Configuration
Element Description Format Default
AUTINI Automatic initialization flag (DFLT/DAY/WEEK) 4 char "DFLT"
DEFVAL Default initialization value REAL 0.0
DEFQAL Default initialization quality 1 char "N"
Quality codes: A=good, B=good calc, C=verified, M=manual, N=uninit, O=bad calc, P=deactivated, Q=telemetry error
DATTYP Data storage format (ASIS/ROUN/TRUN) 4 char "ASIS"

Account Definition - Statistical Calculations

Statistical Calculation Frequencies
Element Description Valid Values Default
TOTALS Total determination frequency NONE, DAY, WEEK, MON, YEAR "NONE"
AVERAG Average determination frequency NONE, DAY, WEEK, MON, YEAR "NONE"
MINMAX Min/Max determination frequency NONE, DAY, WEEK, MON, YEAR "NONE"

Account Definition - Schedule Account Flags

Schedule Account Flags
Element Description Default Notes
SCHED Schedule account flag "N" Y = interchange schedule account
TONAME To interchange company name " " Matches SOCNAM.CONAME
TRTYPE Interchange transaction type " " Matches SOTTPY.TRTYPE
NETINT Net scheduled interchange flag "N" Y = contributes to ACE calculation
FIRM Firm schedule flag "N" See Table 8.2.1
INTERU Interruptible schedule flag "N" See Table 8.2.1
RESERV Reserve schedule flag "N" See Table 8.2.1
DYNAMIC Dynamic schedule flag "N" Not implemented
JOINT Jointly owned unit flag "N" Not implemented
PAYBAK Inadvertent payback flag "N" Not implemented
WHEEL Wheeling schedule flag "N" Not implemented

Account Definition - Calculation Configuration

Calculation Configuration (for Dependent Accounts)
Element Description Format Default
CALSEQ Calculation sequence number (unique) INTEGER 0

ESA Calculation Definitions (SODEPV)

Key Element: DEPVAR (Calculated Account Name) | Maximum Records: SMP MXDEPV

Algebraic Operators Reference
Basic Operators
  • ABS - Absolute value
  • ADD - Add operand value
  • ADDK - Add constant
  • SUB - Subtract operand value
  • SUBK - Subtract constant
  • MUL - Multiply by operand
  • MULK - Multiply by constant
  • DIV - Divide by operand
  • DIVK - Divide by constant
Conditional Operators (by sign)
  • ADD+ - Add if positive
  • ADD- - Add if negative
  • SUB+ - Subtract if positive
  • SUB- - Subtract if negative
  • MUL+ - Multiply if positive
  • MUL- - Multiply if negative
  • DIV+ - Divide if positive
  • DIV- - Divide if negative
Conditional Operators (peak/off-peak)
  • ADD0 - Add if off-peak
  • ADD1 - Add if on-peak
  • SUB0 - Subtract if off-peak
  • SUB1 - Subtract if on-peak
  • MUL0 - Multiply if off-peak
  • MUL1 - Multiply if on-peak
  • DIV0 - Divide if off-peak
  • DIV1 - Divide if on-peak

Note: ESA processes operators sequentially without regard for mathematical hierarchy.

SODEPV Parameters
Element Description Format Required
DEPVAR Calculated account name (must be dependent account) ESVSIZ char Yes
FILEID ESA file number (populated automatically) INTEGER Auto
DEPVNO Calculation definition sequence number (for multi-record definitions) INTEGER Default: 1
DATA1 First operand (account name or constant) ESVSIZ char Yes
OPER1 First operator 4 char Yes
DATA2 Second operand (optional) ESVSIZ char No
OPER2 Second operator (optional) 4 char No
DATA3 Third operand (optional) ESVSIZ char No
OPER3 Third operator (optional) 4 char No
DATA4 Fourth operand (optional) ESVSIZ char No
OPER4 Fourth operator (optional) 4 char No
Example: On-Peak / Off-Peak Calculation
  1. Define base account containing data for every collection period
  2. Define on-peak dependent account: OPER1 = ADD1, DATA1 = base_account
  3. Define off-peak dependent account: OPER1 = ADD0, DATA1 = base_account

Daily/weekly/monthly/yearly totals will contain summations for the appropriate periods only.

ESA Report Definition (SOREPT)

Maximum Reports: SMP MXREPT

Predefined Baseline Reports
Report Name Description File Name
esadly ESA Daily Report esadly
esawk ESA Weekly Report esawk
esamon ESA Monthly Report esamon
esayr ESA Yearly Report esayr
SOREPT Parameters
Element Description Format Default
REPFIL Report filesystem name (without extension, must exist in $REP_PATH) 20 char " "
REPNAM Report long name (for display purposes) ESRSPSZ char " "
REPTYP Report type flag (DAILY/WEEKLY/MONTHLY/YEARLY) 8 char " "
ACTIVE Active status (Y = active, N = inactive) 1 char "Y"
DESTYP Destination type (PRINTER/SCREEN/FILE) for demand reports 8 char " "
DESNAM Destination name (printer or file name) 20 char " "
COPIES Number of copies to print INTEGER 1
User Parameters (PARAM1-4)
Parameter Description (Baseline Reports)
PARAM1 ESA File Identifier (character string)
PARAM2 Date for the report (format: 'DD-MON-YYYY')
PARAM3 Threshold value for highlighting records with totals greater than this value
PARAM4 Available for custom reports

Interchange Transaction Types (SOTTPY)

Maximum Types: SMP MXTTYP

SOTTPY Parameters
Element Description Format Default
TRTYPE Interchange transaction type code 8 char Required
FIRM Firm transaction flag (Y/N) 1 char "N"
INTERU Interruptible transaction flag (Y/N) 1 char "N"
RESERV Reserve transaction flag (Y/N) 1 char "N"
NETINT Net interchange contribution flag (Y/N) 1 char "N"
DYNAMIC Dynamic transaction flag (Y/N) - Not implemented 1 char "N"
JOINT Jointly owned unit flag (Y/N) - Not implemented 1 char "N"
PAYBAK Inadvertent payback flag (Y/N) - Not implemented 1 char "N"
WHEEL Wheeling transaction flag (Y/N) - Not implemented 1 char "N"
Transaction Type Effects Reference

FIRM = "Y": Firm sales increase control area load and reserve requirements; firm purchases decrease them.

INTERU = "Y": Interruptible transactions supplement control area reserves.

RESERV = "Y": Reserve transactions supplement spinning reserves (see Table 8.2.1).

NETINT = "Y": Transaction contributes to net scheduled interchange used in ACE calculation.

Interchange Companies (SOCNAM)

Key Element: CONAME (Company Name) | Maximum Companies: SMP MXEXCO

SOCNAM Parameters
Element Description Format Required
CONAME Company name (unique) COMSIZ char Yes
ACONAM Company short name (4 characters, unique) 4 char Yes
EXANO External generation control area number INTEGER 0

Control Areas (SOCA)

SOCA Parameters
Element Description Format
CODECA registered code4 char
NAMECA descriptive name255 char
ENTITYParent entity code4 char
NERCIDNERC Master Entity ID NumberInteger
REGIONAssociated NERC region20 char
SCODESecurity coordinator code4 char
TAGTYPTag code type (PSE/CA/TP/SC)3 char
BEGINDEffective begin date10 char
ENDDATEffective end date10 char
CONT2424-hour contact person255 char
PHON2424-hour phone number28 char
FAX24-hour fax number28 char
AGENTURL for Agent Service255 char
AUTHORURL for Authority Service255 char
APPROVURL for Approval Service255 char
FORWARURL for forward on IMPLEMENT State Change255 char

Transmission Providers (SOTP)

SOTP Parameters

Same structure as SOCA with CODE as provider code.

Purchasing/Selling Entities (SOPSE)

SOPSE Parameters

Same structure as SOCA with CODE as PSE code (8 characters).

Products (SOPROD)

SOPROD Parameters
SEQProduct sequence numberInteger
CODEProduct short code4 char
PRODProduct description255 char

OASIS Interface (SOASIS)

SOASIS Parameters
Element Description Default
PRIMARY_PROVIDER_CODE Unique code for primary provider "EKPC"
PRIMARY_PROVIDER_DUNS DUNS number for primary provider 960307197
REGION_CODE NERC region code (E,I,S,A,M,N,W,F) "E"
BASE_URL Base URL for OASIS node "http://oasisdev.ecar.org:488/OASIS/EKPC/data"
PRIMARY_GATEWAY Primary NT Server for RAS to OASIS connection "ekpcmmi1"
BACKUP_GATEWAY Backup NT Server for RAS to OASIS connection "ekpcmni2"
VERSION OASIS Standards version 1.3
TIME_ZONE Time zone for timestamps (ED/ES, CD/CS, MD/MS, PD/PS, UT) "ES"
OUTPUT_FORMAT Response output format (HTML/DATA) "data"
Template Configuration
Element Description Default
POST_TEMPLATETemplate for posting service offerings"transpost"
UPDATE_TEMPLATETemplate for updating service offerings"transupdate"
POLL_TEMPLATETemplate for polling service requests"transstatus"
File Configuration
Element Description Default
INPUT_POST_FILEInput file for posting offerings"data/TCPOST.TXT"
INPUT_UPDATE_FILEInput file for updating offerings"data/TCUPDATE.TXT"
QUERY_POLL_FILEFile for querying service offerings"data/TRPOLL.TXT"
RESPONSE_POST_FILEResponse file for posting offerings"data/RESPONSE_POST.TXT"
RESPONSE_UPDATE_FILEResponse file for updating offerings"data/RESPONSE_UPDATE.TXT"
RESPONSE_POLL_FILEResponse file for service requests"data/TRESPONSE.TXT"