Skip to main content
Version: Next

Configuring

Configuration for the load processor is specified in a JSON file.

OptionDescriptionRequiredDefault
inputPathThe path to the directory with meter energy readings CSV files.Yes-
processedPathThe path to the directory where successfully processed reading files are moved.Yes-
tempThe path to the directory where reading files that were unable to be processed are moved.Yes-
ewbDataPathThe path to the ewb data directory.Yes-
inputTimeZoneThe timezone of the input load readings.Yes-
outputTimeZoneThe desired timezone of the processed load readings.Yes-
daysToSearchForNetworkThe number of days to search (forwards and backwards) from a load reading to find the network model containing meter mappingsNo0
syslogFacilityThe facility code to specify the type of program logging the message.
Valid Values : SYSLOG, LOCAL0, LOCAL1, LOCAL2, LOCAL3, LOCAL4, LOCAL5, LOCAL6, LOCAL7
NoDisabled
syslogTagThe tag for the log message. Must be provided if you provide a syslogFacility.NoNone
maxCacheSizeThe maximum number of records to cache in memory. Increasing this improves performance but requires more RAM.No5,000,000
preloadCacheThresholdThe number of records for a single date in a file before caching data for that whole date into memory.No100,000
meterFilePatternThe regex pattern used to match CSV meter reading files. Requires named capture groups (?<company>...) and (?<date>...).No^.*_?\d{2}M_CONS_(?<company>CITI|PCOR)_(?<date>\d{8})_(\d{8})[.]csv$
meterJsonPatternThe regex pattern used to match JSON meter reading files.No^.*[.]json$
companyMappingReference to a file providing a mapping between the company values in the network (from meter mappings) and the meter readings csvs (from file name) if they differ. See company mapping config for details.NoNone
caution

If any paths in the configuration are given as relative paths, they will be relative to the working directory of the JVM.

Sample Configuration File
{
"inputPath": "/Users/zepben/loads/readings",
"processedPath": "/Users/zepben/processed",
"failedPath": "/Users/zepben/failed",
"ewbDataPath": "/Users/zepben/ewb",
"inputTimeZone": "+10:00",
"outputTimeZone": "Australia/Melbourne",
"daysToSearchForNetwork": 365,
"syslogFacility": "SYSLOG",
"syslogTag": "Load Processor",
"meterFilePattern": "(?<company>.*)_(?<date>.*)[.]csv",
"meterJsonPattern": ".*[.]json",
"companyMapping": "/Users/zepben/company-mapping.json"
}

Company Mapping Config

The company mapping file should contain a single JSON object with the following contents:

KeyDescriptionRequiredDefault
mappingsA list of mappings between the company in the network and the readings file. SeeNoNone

Company Mapping Entry

Each entry in the mappings list should be a JSON object with the following contents:

KeyDescriptionRequiredDefault
network: A string containig the company name as found in the network model, sourced from the meter mapping file.Yes
reading: A string containig the company name as extracted from the meter reading file name.Yes
Sample Company Mapping File
{
"mappings": [
{
"network": "network company 1",
"reading": "reading company 1"
},
{
"network": "network company 2",
"reading": "reading company 2"
}
]
}