From 578a2c0f8b57e5af2be6b37110c8cb45475e8ba7 Mon Sep 17 00:00:00 2001 From: Ate Hempenius Date: Mon, 31 Mar 2025 14:13:13 +0200 Subject: [PATCH 1/2] Battery cycle KPI update to rapidRunData + bugfixes for maintaining totalCapacity values --- _alp/Agents/EnergyModel/Code/Functions.java | 4 +--- _alp/Agents/GridConnection/Code/Functions.java | 10 +--------- _alp/Classes/Class.J_RapidRunData.java | 11 +++++++++++ 3 files changed, 13 insertions(+), 12 deletions(-) diff --git a/_alp/Agents/EnergyModel/Code/Functions.java b/_alp/Agents/EnergyModel/Code/Functions.java index 4dd4c195..3d9e57ba 100644 --- a/_alp/Agents/EnergyModel/Code/Functions.java +++ b/_alp/Agents/EnergyModel/Code/Functions.java @@ -540,7 +540,6 @@ null, roundToDecimal( a.v_electricityImported_kWh-a.v_electricityExported_kWh, 2 J_EAStorageElectric e = (J_EAStorageElectric)ea; v_totalBatteryDischargeAmount_MWh += e.getTotalDischargeAmount_kWh() / 1000; v_totalBatteryChargeAmount_MWh += e.getTotalChargeAmount_kWh() / 1000; - v_liveAssetsMetaData.totalInstalledBatteryStorageCapacity_MWh += e.getStorageCapacity_kWh() / 1000; v_totalBatteryEnergyUsed_MWh += e.getEnergyUsed_kWh() / 1000; } @@ -548,7 +547,6 @@ null, roundToDecimal( a.v_electricityImported_kWh-a.v_electricityExported_kWh, 2 J_EAEV e = (J_EAEV)ea; v_totalBatteryDischargeAmount_MWh += e.getTotalDischargeAmount_kWh() / 1000; v_totalBatteryChargeAmount_MWh += e.getTotalChargeAmount_kWh() / 1000; - v_liveAssetsMetaData.totalInstalledBatteryStorageCapacity_MWh += e.getStorageCapacity_kWh() / 1000; v_totalBatteryEnergyUsed_MWh += e.getEnergyUsed_kWh() / 1000; } } @@ -1530,7 +1528,7 @@ ArrayList f_getGridConnections() b_parallelizeConnectionOwners = true; } if (c_gridConnections.size() < 100) { - b_parallelizeGridConnections = true; + b_parallelizeGridConnections = false; } // set initial values diff --git a/_alp/Agents/GridConnection/Code/Functions.java b/_alp/Agents/GridConnection/Code/Functions.java index 6c8ab36b..d2c4f591 100644 --- a/_alp/Agents/GridConnection/Code/Functions.java +++ b/_alp/Agents/GridConnection/Code/Functions.java @@ -1082,7 +1082,6 @@ else if (p_primaryHeatingAsset== null && p_secondaryHeatingAsset != null && v_ha if (energyModel.b_isInitialized) { energyModel.f_addEnergyCarrier(EC); - //energyModel.v_activeEnergyCarriers.add(EC); DataSet dsDemand = new DataSet( (int)(168 / energyModel.p_timeStep_h) ); DataSet dsSupply = new DataSet( (int)(168 / energyModel.p_timeStep_h) ); double startTime = v_liveData.dsm_liveDemand_kW.get(OL_EnergyCarriers.ELECTRICITY).getXMin(); @@ -1093,13 +1092,6 @@ else if (p_primaryHeatingAsset== null && p_secondaryHeatingAsset != null && v_ha } v_liveData.dsm_liveDemand_kW.put( EC, dsDemand); v_liveData.dsm_liveSupply_kW.put( EC, dsSupply); - /*dsm_dailyAverageDemandDataSets_kW.put( EC, new DataSet(365)); - dsm_dailyAverageSupplyDataSets_kW.put( EC, new DataSet(365)); - dsm_summerWeekDemandDataSets_kW.put( EC, new DataSet( (int)(168 / energyModel.p_timeStep_h))); - dsm_summerWeekSupplyDataSets_kW.put( EC, new DataSet( (int)(168 / energyModel.p_timeStep_h))); - dsm_winterWeekDemandDataSets_kW.put( EC, new DataSet( (int)(168 / energyModel.p_timeStep_h))); - dsm_winterWeekSupplyDataSets_kW.put( EC, new DataSet( (int)(168 / energyModel.p_timeStep_h))); - */ } } } @@ -2463,7 +2455,7 @@ else if (flowsMap.get(EC) > 0){ obj.gisRegion.setVisible(false); } - + // update GN parents' wind / solar totals l_parentNodeElectric.getConnectedAgent().f_updateTotalInstalledProductionAssets(OL_EnergyAssetType.PHOTOVOLTAIC, v_liveAssetsMetaData.totalInstalledPVPower_kW, false); l_parentNodeElectric.getConnectedAgent().f_updateTotalInstalledProductionAssets(OL_EnergyAssetType.WINDMILL, v_liveAssetsMetaData.totalInstalledWindPower_kW, false); diff --git a/_alp/Classes/Class.J_RapidRunData.java b/_alp/Classes/Class.J_RapidRunData.java index c1c3f7a0..65d247dc 100644 --- a/_alp/Classes/Class.J_RapidRunData.java +++ b/_alp/Classes/Class.J_RapidRunData.java @@ -555,6 +555,9 @@ public double getTotalDistrictHeatingConsumption_MWh() { return acc_dailyAverageDistrictHeatingConsumption_kW.getIntegral_MWh(); } + public double getTotalBatteryCycles() { + return acc_dailyAverageBatteriesConsumption_kW.getIntegral_MWh()/this.assetsMetaData.totalInstalledBatteryStorageCapacity_MWh; + } // Summerweek Getters public double getSummerWeekElectricityConsumed_MWh() { @@ -602,6 +605,10 @@ public double getSummerWeekPrimaryEnergyProductionHeatpumps_MWh() { return acc_summerWeekPrimaryEnergyProductionHeatpumps_kW.getIntegral_MWh(); } + public double getSummerWeekBatteryCycles() { + return acc_summerWeekBatteriesConsumption_kW.getIntegral_MWh()/this.assetsMetaData.totalInstalledBatteryStorageCapacity_MWh; + } + // Winterweek Getters public double getWinterWeekElectricityConsumed_MWh() { return am_winterWeekConsumptionAccumulators_kW.get(OL_EnergyCarriers.ELECTRICITY).getIntegral_MWh(); @@ -647,6 +654,10 @@ public double getWinterWeekPrimaryEnergyProductionHeatpumps_MWh() { return acc_winterWeekPrimaryEnergyProductionHeatpumps_kW.getIntegral_MWh(); } + public double getWinterWeekBatteryCycles() { + return acc_winterWeekBatteriesConsumption_kW.getIntegral_MWh()/this.assetsMetaData.totalInstalledBatteryStorageCapacity_MWh; + } + // Daytime getters public double getDaytimeElectricityConsumed_MWh() { return acc_daytimeElectricityConsumption_kW.getIntegral_MWh(); From 869d1011c40495c70791b6e2c7ed1f1459582c53 Mon Sep 17 00:00:00 2001 From: Ate Hempenius Date: Mon, 31 Mar 2025 14:43:30 +0200 Subject: [PATCH 2/2] adjustment to parallelization decision making --- _alp/Agents/EnergyModel/Code/Functions.java | 7 ++++--- _alp/Agents/EnergyModel/Variables.xml | 4 ++-- 2 files changed, 6 insertions(+), 5 deletions(-) diff --git a/_alp/Agents/EnergyModel/Code/Functions.java b/_alp/Agents/EnergyModel/Code/Functions.java index 3d9e57ba..26af484d 100644 --- a/_alp/Agents/EnergyModel/Code/Functions.java +++ b/_alp/Agents/EnergyModel/Code/Functions.java @@ -1524,12 +1524,13 @@ ArrayList f_getGridConnections() //f_initializeAccumulators(); // Use parallelisation? +if (c_gridConnections.size() > 100) { + b_parallelizeGridConnections = true; +} if (pop_connectionOwners.size() > 500 && b_parallelizeGridConnections) { b_parallelizeConnectionOwners = true; } -if (c_gridConnections.size() < 100) { - b_parallelizeGridConnections = false; -} + // set initial values f_setInitialValues(); diff --git a/_alp/Agents/EnergyModel/Variables.xml b/_alp/Agents/EnergyModel/Variables.xml index b66b46c0..4cda7bfe 100644 --- a/_alp/Agents/EnergyModel/Variables.xml +++ b/_alp/Agents/EnergyModel/Variables.xml @@ -1765,7 +1765,7 @@ NONE false - + 1658752734131 @@ -1878,7 +1878,7 @@ NONE false - + 1663577621791