Skip to main content
Version: Next

Config File

The configuration allows specifying whether some of the processing steps will be executed, as well as allows filtering of what data will be ingested and saved to the resulting databases. If a config file is not specified or present, defaults will be as per below.

AttributeDescriptionData type
companySpecifies company specific options.Company Specific Config
commonSpecifies common options.Common Config

Sample Config File

You can download the sample default configuration file and modify it to suit your installation. There is also a sample non-default configuration file which may provide additional examples if you require them (e.g. PoF TCS, metrics etc.).

tip

The default sample has the options defined with default values, so simply remove the ones you don't want to change to reduce the size of your config.

You will need to remove the unwanted company sections to produce a valid JSON file.

Company Specific Config

This section doubles as the definition of the company specific processing to run, and provides customisations options for these processors.

AttributeDescriptionData typeDefault
idThe ID of the company configuration to use.String - CPPAL, EE or UECPPAL
conductorTypesThe company specific conductor type configuration.

CPPAL Conductor Types

Specifies CPPAL (Citipower/Powercor) specific conductor type paths.

AttributeDescriptionData typeDefault
pathA file containing the cable types JSON or a JDBC connection string to the 'SINCAL standard types' database.String./cable-types.json
hvDefaultConductorTypesPath to a CSV containing additional HV conductor types.StringNone.

EE Conductor Types

Specifies EE (Essential Energy) specific conductor type paths.

AttributeDescriptionData typeDefault
pathPath to a 'SINCAL standard types' database.String./cable-types.db

UE Conductor Types

Specifies UE (United Energy) specific conductor type paths.

AttributeDescriptionData typeDefault
hvOverheadPathPath to a CSV containing HV conductor types.String./hv-overhead-types.csv
hvUndergroundPathPath to a CSV containing HV cable types.String./hv-underground-types.csv
lvPathPath to a CSV containing additional LV conductor and cable types.StringNone.

Common Config

The configuration that is common between all companies.

AttributeDescriptionData type
inputCustomisations to the inputs of the ingestor.Input Config
processingConfiguration which controls how the ingestor processes the input data.Processing Config
outputCustomisations to the output from the ingestor.Output Config

Input Config

Customisations to the inputs of the ingestor.

AttributeDescriptionData typeDefault
gisDataDefines what GIS data should be ingested.GIS Data Config
nodesConfigPathThe file containing the nodes JSON config.Stringnodes-config.json
conductorExclusionConfigPathOptional path to a file containing the conductor exclusion JSON config.StringNone.
networkHierarchyPathThe file containing the network hierarchy JSON.Stringnetwork-hierarchy.json
derRegisterPathOptional path to a file containing the DER register.StringNone.
substationTransformerTapSettingsPathOptional path to a file containing zone substation transformer tap changer settings.StringNone.
regulatorSettingsPathOptional path to a CSV file containing the zone substation regulator settings.StringNone.
lineRegulatorSettingsPathOptional path to a CSV file containing the line regulator settings.StringNone.
sourceImpedancesPathOptional path to a CSV file containing the source impedances.StringNone.
spanRatingsPathOptional path to a CSV file containing the span level ratings for AC line segments.StringNone.
txTapsPathOptional path to a CSV file containing the transformer tap settings.StringNone.
poleDataLocationOptional path to a file or database containing pole data, or a full JDBC connection string.StringNone.
metersDefines what meters should be ingested - MAPPING_FILE or TCS.MAPPING_FILE
powerOnFusionOptional configuration for pulling data from PowerOn Fusion/Advantage.PowerOn Fusion ConfigNone.
onMissingNodeMappingHandlerOptional handler for missing node configuration mappings.String - REPLACE_WITH_JUNCTION or EXCEPTIONEXCEPTION

GIS Data Config

Defines the location and inclusion rules for the GIS data to process.

AttributeDescriptionData typeDefault
pathThe path where the input GIS JSON files are located.Stringgis
warnOnMissingFeederWhether to log a message if the head of a feeder can not be found. When the metadata is missing from geojson most (or all) of these messages are false positives when LV is processed, so suppressing them is preferable.Booleantrue
filtersCustomisations to the output from the ingestor.Filter ConfigNone.

Filter Config

Filters allow specifying which feeders get processed and stored in the result, however there are file name requirements that must be met for filters to work as intended. For the most efficient handling of data, separate files should exist for HV and LV network, and they must be named accordingly in the form below:

HV Files: <feeder_name>_mv.[geo]json or <feeder_name>.[geo]json
LV Files: <feeder_name>_lv.[geo]json or <feeder_name>_<dist_sub_name>.[geo]json

For HV filters, the filter is based on the feeder name, and the feeder name must be at the start of the filename.

An include filter will include only feeders with filenames that start with any of the given strings, and conversely an exclude filter will exclude any feeders with filenames that start with any of the given strings in the same way.

AttributeDescriptionData typeDefault
hvThe filters to apply to the HV files.Filter DefinitionNone.
lvThe filters to apply to the LV files.Filter DefinitionNone.
Filter Definition
AttributeDescriptionData typeDefault
typeThe type of filter.String - include or excludeNone.
idsThe ids to filter based in the filter type.List[String]None.
note

The ids strings are not pattern matches, and no regex is supported.

Meter File Config

A meter input type of MAPPING_FILE indicates the meters will be read from files in a specified directory.

AttributeDescriptionData typeDefault
typeIndicates the meters come from a mapping file.StringMAPPING_FILE
pathThe path where the input meter mappings csv files are located.Stringmeter_mappings
filePatternSpecifies the file name pattern for meter mapping files .StringNMI_TX_MAPPING_(\d{8}).*[.]csv
datePatternSpecifies the pattern used to represent dates for the records in the meter mappings csv files.StringyyyyMMdd

TCS Meter Config

A meter input type of TCS indicates the meters will be read from the PowerOn Fusion TCS schema.

info

You must specify the PowerOn Fusion Config in order to use TCS mappings.

AttributeDescriptionData typeDefault
typeIndicates the meters come the PowerOn Fusion TCS schema.StringTCS
customerTypeMappingsA mapping of TCS customer type codes (keys) to CIM CustomerKind (values).JSON ObjectNone.

PowerOn Fusion Config

The details required to connect to a PowerOn Fusion database. When provided, additional information can be extracted including aliases, operational restrictions and TCS meter mappings etc.

AttributeDescriptionData typeDefault
hostThe hostname of the PoF database server.String
portThe port number of the PoF database server.Integer - 1..655351521
instanceThe database instance to use on the server.Stringnms
databaseTypeThe type of database being used.String - ORACLE or SQL_SERVERORACLE
sqlServerIntegratedSecurityIndicates if integrated security should be used when connecting to an SQL Server instance.Booleanfalse
enmacSchemaAn override for the 'enmac' schema.StringNone.
tcsSchemaAn override for the 'tcs' schema.StringNone.
processAliasesIndicates if PoF aliases should be read for each GIS ID.Booleantrue

Processing Config

Configuration which controls how the ingestor processes the input data.

AttributeDescriptionData typeDefault
lvThresholdDefines the LV voltage upper limit in volts (inclusive).Integer1000
includeSubtransWhether to include the Sub-transmission network in the resulting database.Booleantrue
includeLVWhether to include LV in the processed result. Currently only works for processing when HV and LV are in separate files.Booleantrue
validationWhether to run and log use case validation.Booleantrue
stitchConductorsControls if the conductor stitching processor runs.Booleantrue
createEnergyConsumerLocationsControls if locations are created for energy consumers.Booleanfalse
createEquivalentBranchLocationsControls if locations are created for equivalent branches.Booleanfalse
metersDefines meter processing options.Meter Config
defaultsDefines default value creation options.Default Config
phasesDefines phase processing options.Phase Config

Meter Config

Configuration which controls how the ingestor processes the meter input data.

AttributeDescriptionData typeDefault
enabledWhether to process meters or not.Booleantrue
includeLonelyMetersWhether to create meters and consumers from the meter mappings for premises that don't have a corresponding transformer.Booleantrue
connectionPointIdentifierAllows renaming the connection point identifier. e.g. use ICP instead of NMI.StringNMI

Default Config

Configuration which controls how the ingestor processes assigns defaults to missing input data.

AttributeDescriptionData typeDefault
assignDefaultsWhether to assign default values for missing transformer and line data if missing.Booleantrue
defaultWireInfoOptional WireInfo to assign to lines missing one. Ignored if assignDefaults is false.WireInfoNone.
defaultPerLengthSequenceImpedanceOptional PerLengthSequenceImpedance to assign to lines missing one. Ignored if assignDefaults is false.PerLengthSequenceImpedanceNone.
defaultPowerTransformerInfoOptional PowerTransformerInfo to assign to transformers missing one. Ignored if assignDefaults is false.PowerTransformerInfoNone.

Phase Config

Configuration which controls how the ingestor processes phases in the input data.

AttributeDescriptionData typeDefault
extractPhasesControls if the phase information will be extracted from the source data. If disabled everything will be extracted as ABC.Booleantrue
trustLv1PhasesIndicates that the LV1 phases (AN, BN and CN) can be trusted. If not trusted, they will be replaced with XN.Booleanfalse
forceThreePhaseLvForce the LV network below a 3-phase transformer to ignore the phasing of the backbone and replace it with 3-phase.Booleanfalse
applyPhaseConsistencyIndicates if phase consistency processing should be run.Booleanfalse
terminalStationPatternThe regex pattern used to find terminal stations .String.*TS
phaseDebugNamesIndicates if they phase information should be added to the conductor names before and after the phase consistency processing is run. This information can be very useful for debugging phase issues.Booleanfalse
phaseConsistencyDebugIdsList of ID's to log the phases of during phase consistency processing for debug purposes.List[String][]
defaultPhaseOptionControls how phases are added to equipment with unknown phases.String - THREE_PHASE or SPREADTHREE_PHASE

Output Config

Customisations to the output from the ingestor.

AttributeDescriptionData typeDefault
ewbDataPathThe root path for the EWB data.Stringewb
detailedLogControls if a detailed set of errors are logged, or just the summary.Booleanfalse
saveOnExceptionIndicates that unexpected exceptions should be trapped and the database should still be saved, even though it may be in a broken state. If this is enabled, the migrator will exit with a FAILED_TO_PROCESS code on exceptions.Booleanfalse
metricsOptional configuration to generate metrics about ingestion runs.Metrics ConfigNone.
completionCallbackOptional completion callback configuration.Completion Callback ConfigNone.
cloudUploaderOptional cloud upload configuration. If provided, the ingestor will upload the generated EWB database to the cloud location.AWS S3 Cloud Storage ConfigNone.
qualityConfiguration to control what, if any, quality checks are run.Quality Config

Metrics Config

Optional configuration for writing metrics to a PostgresSQL database.

AttributeDescriptionData typeDefault
hostThe hostname of the metrics database.String
portThe port number of the metrics database.Integer - 1..655355432
databaseThe name of the database on the Postgres host containing the metrics schema.Stringmetrics
urlOptionsAdditional options to attach to the Postgres JDBC URL, including the ? separator. This may include things such as the userStringNone.

Completion Callback Config

Configuration for an optional callback to make with the execution status when the ingestion is complete.

AttributeDescriptionData typeDefault
urlThe full URL to send the callback response to, including any parameters e.g. callback tokens etc.String
verifyCertificatesIndicates if the certificate of the callback URL should be validated.Stringtrue

AWS S3 Cloud Storage Config

To configure the ingestor to upload the generated EWB database to AWS S3 storage, set the cloudUploader provider to S3

AttributeDescriptionData typeDefault
providerThe provider of the cloud storage to upload into.StringS3
regionOptional override of the default region. If not provided, the region configured by the AWS SDK will be used.StringNone.
bucketNameThe name of the S3 bucket.String

Quality Config

Configuration for controlling the quality checks and outputs of the ingestor.

AttributeDescriptionData typeDefault
enabledWhether to process quality or not.Booleantrue
pathControls the output directory of the quality checks.Stringquality
checksControls which quality checks are run. Comma separated list of valid quality checks.List[Available Quality Checks]["ALL"]

Available Quality Checks

The different checks that are available. If you include ALL, everything else will be ignored and all checks will be run. Similarly, if you include NONE with any other check it will be ignored.

AttributeDescription
NONEDon't run any checks.
ALLRun all checks.
PHASESRun phase checks.
CUSTOMERSRun customer validation checks.
LOOPSRun loop detection checks.

Default Objects

The values for the default instances are object representations of the objects defined in the Zepben CIM profile (see CIM documentation for field definitions).

Default Wire Info

An instance of a WireInfo. The value of isOverhead will be used to create the appropriate subtype (OverheadWireInfo or CableInfo). All missing fields default to null.

Sample:

{
"defaultWireInfo": {
"isOverhead": true,
"ratedCurrent": 3,
"material": "copperCadmium"
}
}

Default Per-Length Sequence Impedance

An instance of a PerLengthSequenceImpedance. All missing fields default to null.

Sample:

{
"defaultPerLengthSequenceImpedance": {
"r": 0.0025,
"x": 0.003,
"r0": 0.0025,
"x0": 0.003
}
}
Default Power Transformer Info

An instance of a PowerTransformerInfo. This includes nested copies of any associations. All missing fields default to null.

Sample:

{
"defaultPowerTransformerInfo": {
"transformerTankInfos": [
{
"transformerEndInfos": [
{
"connectionKind": "D",
"emergencyS": 1,
"endNumber": 1,
"insulationU": 3,
"r": 4.4,
"ratedS": 5,
"ratedU": 6,
"shortTermS": 7,
"transformerStarImpedance": {
"r": 1.1,
"r0": 2.2,
"x": 3.3,
"x0": 4.4
},
"energisedEndNoLoadTests": {
"energisedEndVoltage": 1,
"excitingCurrent": 2.2,
"excitingCurrentZero": 3.3,
"loss": 4,
"lossZero": 5
},
"energisedEndShortCircuitTests": {
"current": 1.1,
"energisedEndStep": 2,
"groundedEndStep": 3,
"leakageImpedance": 4.4,
"leakageImpedanceZero": 5.5,
"loss": 6,
"lossZero": 7,
"power": 8,
"voltage": 9.9,
"voltageOhmicPart": 10.10
}
},
{
"connectionKind": "Y",
"emergencyS": 1,
"endNumber": 2,
"insulationU": 3,
"phaseAngleClock": 30,
"r": 4.4,
"ratedS": 5,
"ratedU": 6,
"shortTermS": 7
}
]
}
]
}
}