Climate Corrected Consumption Field Processor

Climate corrected consumption field processor is a custom field processor supposed to generate climate corrected month consumption values based on Normal Year and Climate Data values provided by SMHI institute.


Climate corrected consumption field processor generates climate corrected month consumption values for regular monthly consumptions based on previously imported NormalYear and ClimateData values provided by SMHI institute.

(For more information regarding how to import ClimateData, please check documentation SMHIClimateDataFieldImport)

ClimateCorrectedConsumptionFieldProcessor actually will multiply ordinal monthly consumption value by special coefficient called "DegreeFactor" that is calculated by the set of formulas based on ClimateData and NormalYearData

The verification of values generated by ClimateCorrectedConsumptionFieldProcessor could be verified in Excel file that contain all formulas ClimateCorrected calculation formula.xlsx

Parameters used for ClimateCorrected calculation:

ClimateZone will be detected from the upper Estate node in the Groups datasource

The fields generated by the fieldprocessor ClimateCorrectedConsumptionFieldProcessor has special suffix ", ClimateCorrected"

User manual

Climate Zone Setup

Navigate to Analyser > ClimateZone Datasource.

In ClimateZone datasource create manually several zones that will need climate data.

So far data will be imported only for this zones, not for all 200 zones in import file.

Important! Set SMHI Id to the same value as first column in import file i.e Arjeplog has SMHI Id =102001, Geteborg has SMHI Id =102201

Navigate to Metering > Topology datasource under Root. You will see therre automatically generated Virtual node with Id "ClimateZoneRoot" with children nodes with names like "AnClimateZone_{CimateZoneName}"

Important! This VirtualNodes are required to be able to save imported data. Don't delete them!

Field Sink Setup

Create FieldSink to save ClimateData fields

Field Import Setup

After installation of KTC.AdminApp.Analyser package SMHIClimateDataFieldImport field import is available in FieldImport data source and displays in the list of available fieldimports with name 'SMHI ClimateDataFieldImport'.

Before starting to use field import you have to create it in Metering>Field Import data source and set all necessary parameters. First of all login to Clayster Management tool, next open Field Import data source and click 'Add' button on the tool bar, then select from drop down list "SMHI ClimateDataFieldImport". In a picture below you can see properties window, where all required parameters and options should be set up, you can read more about them in the next subsection. Now there is a new field import node in the navigation tree.

Field Import Parameters

ID parameter - name of field import, i.e. "Climate Data Field Import"

Search filter parameter - type of files to process in input folder, i.e. "*.csv"

Input folder parameter -- folder to watch for new files with climate data to process.

Sinks parameter -- sink, where climate data will be saved after import.

Input Data

Import file with ClimateData (NormalYear Data Geteborg A.csv














In this file we have Climate data for ClimateZone Geteborg with SMHI Id 102201 for all months in year 2015.

Explanation of headers:

Allowed separators:

Check ClimateData import results

  1. Open Clayster Management tool and create new field sink for climate data data with name ClimateData. Actually this is not required, all fields could be saved together with meterreadings and consumptions. All fields has special names so even in the same Datasource we can distinguish between them.

  2. Import already prepared file ClimateData (NormalYear Data Geteborg A.csv using SMHIClimateDataFieldImport.

To do this, just copy the file to the folder specified in the field import parameters.

If file has disappeared from the folder, this means that file was processed -- either successfully or not. To verify this, navigate to Standalone.

We can see the detailed log, with text:

Success process SMHI Climate Data Field Import: c:\Projects\GE Project\Import ClimateData\ImportFolder\NormalYear Data Geteborg A.csv

Climate data for Zone Geteborg (SMHIId=102201) has been imported

Climate data for Zone Geteborg (SMHIId=102201) has been imported

Climate data for Zone Geteborg (SMHIId=102201) has been imported

Climate data for Zone Geteborg (SMHIId=102201) has been imported

Climate data for Zone Geteborg (SMHIId=102201) has been imported

Climate data for Zone Geteborg (SMHIId=102201) has been imported

Climate data for Zone Geteborg (SMHIId=102201) has been imported

Climate data for Zone Geteborg (SMHIId=102201) has been imported

Climate data for Zone Geteborg (SMHIId=102201) has been imported

Climate data for Zone Geteborg (SMHIId=102201) has been imported

Climate data for Zone Geteborg (SMHIId=102201) has been imported

Climate data for Zone Geteborg (SMHIId=102201) has been imported

So all is fine with our file, format is okay, ClimateZone with such SMHI Id was found and ClimateData was saved.

Also let's verify "ClimateData" FieldSink readout.

Let's accent on 2 columns ClimateData, DegreeeDays and NormalYearData, DegreeeDays. Data from fields in this columns will be used later in ClimateCorrected Calculations.

Let's setup the same climate data in our testing Excel file

Now we have to setup PercentHotWater parameter for building. This value could be from 0 to 1


Normal Correction\ Normal correction is in order to be able to compare the consumption between different years and can be done in two different ways in the analysis. You can use the SMHI values ​​for degree days or energy index or you can use the power signature. By default, the system configura be configured to correct by using the degree days / Energy Index

Energy Index / Degree Days

Normal Correction with energy index and degree days is the same way in the system, choosing climate locations.\ The difference between the energy index and degree days is that the energy index also takes into account other weather ¬ factors than the outdoor temperature, such as wind and solar, but the calculation model is the same.\ Since the normal correction should only be made on the share of consumption that are climate dependent, so you need to deduct the portion of consumption that is independent climate ¬ ¬ sole, usually hot water if you have a meter that measures the consumption of both hot water heating. This is done by using a percentage PVV at the building level that indicates the percentage of annual consumption, which is hot water.


Fkorr - Corrected for normal year
F - Actual consumption
NYGD - Normal degree days (or energy index)
GD - General Outcome degree days relevant period (or energy index)
VVGD Climate Independence needs in terms of degree days
PVV Percentage climate independent supplies (listed on the building hot water)

Fkorr = F * (NYGD + VVGD) / (GD + VVGD)

VVGD - Equivalent VV to heat

In order to calculate VVGD needed in the formula for a normal correction to count this out using the formula below

PVV * NYGD = (1 - PVV) * VVGD
VVGD = NYGD * PVV / (1 - PVV)

Caclulation of VVGDar for each ClimateData and NormalYearData

Calculation of DegreeFactor.

DegreeFactor is equal to "Divisor"/ "Divident".

The physical meaning of this coefficient is how much time NormalYearValue is bigger the actual value in this month in current year.

"Divisor" is calculated based on NormalYearData

"Divident" is calculated based on ClimateData

ClimateCorrected Consumption is Consumption multiplied by DegreeFactor

Setup of PartHotWater parameter

PartHotWater parameter is set in Groups Datasource on upper Building in Analyser tab

Lets say we are going to test ClimateCorrectedConsumptionFieldProcessor on meter called "DUC_SRD5301-1301_192.168.86.38_1_AI_10_FALSE_TEMP1".

We have such structure in in Groups Datasource

Navigate to the "Demo building" and set PartHotWatre=0.3 (30%)

Setup of ClimateZone

ClimateZone is set in Groups Datasource on upper Estate in Analyser tab

FieldProcessor Configuration

Important to set here in what FieldSink ClimateData is located. (Later this will be moved to separate Datasource like DBInfo table in ManodoServer)

Also possible to check if need to cache ClimateData for performance reasons or to refresh cached ClimateData on each processing.

Job Configuration

  1. Setup Job that will create Month Consumptions from RawData, using our ConsumptionFieldProcessor and save result to ProcesseData

  1. Setup Job that will create ClimateCorercted Month Consumption, using our ClimateCorrectedConsumptionFieldProcessorand save result to clean fieldsink called ClimateCorrectedData

For each Utility-based and ProductionType-based field we get 1 ClimateCorrected value.

Notice here that first value is different, because our utility is ClimateCorrected

Second value is the same as ordinal consumption as production type is not climate corrected (For ProductionType we don't specify if it should be ClimateCorercted


How to find things

Until post-build event isn't configured to generate package automatically then in order to get the latest version of KTC.AdminApp.Analyser package it is required to start build manualy KTC.AdminApp.Analyser.csproj. Package should be created at project sources location ...\KTCServer\Backend\Packages\Debug\

To get the source code for this module please open a link (if you have access to KTC source code).

In order to install KTC.AdminApp.Analyser package open Site Manager tool, enter 'KTC' in 'Publisher' field and click button 'Extract Package Zip Files by Specified Publisher', then select package and press 'Open'. Confirm your choice and check if package was successfully installed.

In order to install KTC.AdminApp.Analyser package to Clayster Server they both must have the same version. Unless rebuild KTC.AdminApp.Analyser package with proper version.

On the next step a package have to be added to the site. In order to do this open tab 'Add Site Packages' and ckick 'Select' button to choose a package. Confirm selected package and after window closed click button 'Add Packages'.

How to connect them

Open Clayster Management tool, navigate to Metering > Field Processor Datasource and create Field Processor of type 'Analyser ClimateCorrected ConsumptionCalculator'

Available output

After processing we will have new fields generated with "ClimateCorercted" suffixes