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.
Introduction
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:
-
PercentHotWater, i.e 0.3 (30%) This parameter will be taken from the upper Building node in Groups datasource
-
All 12 month ClimateData and NormalYearData for some year, i.e. 2015.
ClimateZone will be detected from the upper Estate node in the Groups datasource
The fields generated by the fieldprocessor ClimateCorrectedConsumptionFieldProcessor has special suffix ", ClimateCorrected"
-
"Consumption, Month, ClimateCorrected" when no Utility neither ProductionType is set
-
"Consumption, Month, HW Util, ClimateCorrected" when Utility is set
-
"Consumption, Month, HT ProdType, ClimateCorrected" when ProductionType is set
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
Nr,Namn,Manad,EIakt,GDakt,TTakt,EInorm,GDnorm,TTnorm
102201,Geteborg,201501,0,451,0,0,528,0
102201,Geteborg,201502,0,430,0,0,484,0
102201,Geteborg,201503,0,395,0,0,464,0
102201,Geteborg,201504,0,307,0,0,322,0
102201,Geteborg,201505,0,221,0,0,176,0
102201,Geteborg,201506,0,119,0,0,83,0
102201,Geteborg,201507,0,55,0,0,27,0
102201,Geteborg,201508,0,14,0,0,38,0
102201,Geteborg,201509,0,114,0,0,126,0
102201,Geteborg,201510,0,252,0,0,260,0
102201,Geteborg,201511,0,304,0,0,382,0
102201,Geteborg,201512,0,357,0,0,489,0
In this file we have Climate data for ClimateZone Geteborg with SMHI Id 102201 for all months in year 2015.
Explanation of headers:
-
Månad (Month) = Current month values belongs to
-
EIAkt = Monthly sum of EI
-
GDakt = Monthly sum of DD
-
TTakt = Average temperature current month
-
EInorm = Sum of normalyear EI current month
-
GDnorm = Sum of normalyear DD current month
-
TTnorm = Normalyear average temperature current month
Allowed separators:
-
Tab separator '\t'
-
Comma separator ','
-
Semicolon separator ';'
Check ClimateData import results
-
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.
-
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
Formula
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.
Formula:
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
TotGD - VVGD + NYGD
In order to calculate VVGD needed in the formula for a normal correction to count this out using the formula below
PVV * TOTgd = VVGD
PVV * (VVGD + NYGD) = VVGD
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
- Setup Job that will create Month Consumptions from RawData, using our ConsumptionFieldProcessor and save result to ProcesseData
- 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
Deployment
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\KTC.AdminApp.Analyser.zip
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