Skip to content

Energy model serialisation #178

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 10 commits into from
Jul 30, 2025
Merged
8 changes: 6 additions & 2 deletions _alp/Agents/EnergyCoop/AOC.EnergyCoop.xml
Original file line number Diff line number Diff line change
Expand Up @@ -37,12 +37,16 @@ import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
</Parameter>
</Parameters>
<Implements>I_EnergyData</Implements>
<StartupCode><![CDATA[v_liveData = new J_LiveData(this);
<StartupCode><![CDATA[v_activeEnergyCarriers = EnumSet.of(OL_EnergyCarriers.ELECTRICITY);
v_activeProductionEnergyCarriers = EnumSet.of(OL_EnergyCarriers.ELECTRICITY);
v_activeConsumptionEnergyCarriers= EnumSet.of(OL_EnergyCarriers.ELECTRICITY);

v_liveData = new J_LiveData(this);
v_liveConnectionMetaData = new J_ConnectionMetaData(this);
v_liveAssetsMetaData = new J_AssetsMetaData(this);
v_liveData.connectionMetaData = v_liveConnectionMetaData;
v_liveData.assetsMetaData = v_liveAssetsMetaData;
]]></StartupCode>
energyModel.c_actors.add(this);]]></StartupCode>
<Generic>false</Generic>
<GenericParameter>
<Id>1660731375014</Id>
Expand Down
9 changes: 9 additions & 0 deletions _alp/Agents/EnergyCoop/Code/Functions.java
Original file line number Diff line number Diff line change
Expand Up @@ -1594,3 +1594,12 @@ HashSet<GridConnection> f_getAllChildCustomerGridConnections_recursion(HashSet<G
}
/*ALCODEEND*/}

double f_startAfterDeserialisation()
{/*ALCODESTART::1753348770752*/
v_liveData = new J_LiveData(this);
//v_liveConnectionMetaData = new J_ConnectionMetaData(this);
//v_liveAssetsMetaData = new J_AssetsMetaData(this);
v_liveData.connectionMetaData = v_liveConnectionMetaData;
v_liveData.assetsMetaData = v_liveAssetsMetaData;
/*ALCODEEND*/}

16 changes: 16 additions & 0 deletions _alp/Agents/EnergyCoop/Code/Functions.xml
Original file line number Diff line number Diff line change
Expand Up @@ -629,4 +629,20 @@
<ShowLabel>true</ShowLabel>
<Body xmlns:al="http://anylogic.com"/>
</Function>
<Function AccessType="public" StaticFunction="false">
<ReturnModificator>VOID</ReturnModificator>
<ReturnType>double</ReturnType>
<Id>1753348770752</Id>
<Name><![CDATA[f_startAfterDeserialisation]]></Name>
<X>980</X>
<Y>70</Y>
<Label>
<X>10</X>
<Y>0</Y>
</Label>
<PublicFlag>false</PublicFlag>
<PresentationFlag>true</PresentationFlag>
<ShowLabel>true</ShowLabel>
<Body xmlns:al="http://anylogic.com"/>
</Function>
</Functions>
6 changes: 0 additions & 6 deletions _alp/Agents/EnergyCoop/Variables.xml
Original file line number Diff line number Diff line change
Expand Up @@ -1239,9 +1239,6 @@
AccessType="public"
StaticVariable="false">
<Type><![CDATA[EnumSet<OL_EnergyCarriers>]]></Type>
<InitialValue Class="CodeValue">
<Code><![CDATA[EnumSet.of(OL_EnergyCarriers.ELECTRICITY);]]></Code>
</InitialValue>
</Properties>
</Variable>
<Variable Class="PlainVariable">
Expand Down Expand Up @@ -1283,9 +1280,6 @@
AccessType="public"
StaticVariable="false">
<Type><![CDATA[EnumSet<OL_EnergyCarriers>]]></Type>
<InitialValue Class="CodeValue">
<Code><![CDATA[EnumSet.of(OL_EnergyCarriers.ELECTRICITY);]]></Code>
</InitialValue>
</Properties>
</Variable>
<Variable Class="PlainVariable">
Expand Down
6 changes: 5 additions & 1 deletion _alp/Agents/EnergyModel/AOC.EnergyModel.xml
Original file line number Diff line number Diff line change
Expand Up @@ -51,7 +51,11 @@ import com.querydsl.core.types.dsl.TimeExpression;
//import zero_engine.J_EAConsumption;
]]></Import>
<Implements>I_EnergyData</Implements>
<StartupCode><![CDATA[v_liveData = new J_LiveData(this);
<StartupCode><![CDATA[v_activeEnergyCarriers = EnumSet.of(OL_EnergyCarriers.ELECTRICITY);
v_activeProductionEnergyCarriers = EnumSet.of(OL_EnergyCarriers.ELECTRICITY);
v_activeConsumptionEnergyCarriers= EnumSet.of(OL_EnergyCarriers.ELECTRICITY);

v_liveData = new J_LiveData(this);
v_liveConnectionMetaData = new J_ConnectionMetaData(this);
v_liveAssetsMetaData = new J_AssetsMetaData(this);
v_liveData.connectionMetaData = v_liveConnectionMetaData;
Expand Down
7 changes: 6 additions & 1 deletion _alp/Agents/EnergyModel/Code/Functions.java
Original file line number Diff line number Diff line change
Expand Up @@ -597,6 +597,9 @@ ArrayList<GridConnection> f_getActiveGridConnections()
f_buildGridNodeTree();
c_gridConnections.forEach(GC -> GC.f_initialize());

// Only relevant for deserialisation:
c_pausedGridConnections.forEach(GC -> GC.f_initialize());

pop_connectionOwners.forEach(CO -> CO.f_initialize());
pop_energyCoops.forEach(EC -> EC.f_initialize()); // Not yet robust when there is no supplier initialized!

Expand Down Expand Up @@ -711,7 +714,8 @@ J_ProfilePointer f_findProfile(String assetName)
{/*ALCODESTART::1727193246625*/
J_ProfilePointer profilePointer = findFirst(c_profiles, p -> p.name.equals(assetName));
//traceln("J_EAConsumption with name %s found profile asset: %s", assetName, profilePointer);
if (profilePointer == null) {
if (profilePointer == null) {
traceln("No profilePointer with name %s found", assetName);
throw new RuntimeException(String.format("Consumption or production asset without valid profile!") );
}
return profilePointer;
Expand Down Expand Up @@ -982,6 +986,7 @@ EnergyCoop f_addProductionEnergyCarrier(OL_EnergyCarriers EC)
}
}
if( e instanceof J_EABuilding ) {
//traceln("v_currentSolarPowerNormalized_r: %s", v_currentSolarPowerNormalized_r);
((J_EABuilding)e).updateSolarRadiation(v_currentSolarPowerNormalized_r*1000);
}
}
Expand Down
63 changes: 63 additions & 0 deletions _alp/Agents/EnergyModel/EmbeddedObjects.xml
Original file line number Diff line number Diff line change
Expand Up @@ -244,6 +244,9 @@
<Parameter>
<Name><![CDATA[p_batteryAlgorithm]]></Name>
</Parameter>
<Parameter>
<Name><![CDATA[v_isActive]]></Name>
</Parameter>
</Parameters>
<ReplicationFlag>true</ReplicationFlag>
<Replication Class="CodeValue">
Expand Down Expand Up @@ -1138,6 +1141,15 @@
<Parameter>
<Name><![CDATA[p_cookingMethod]]></Name>
</Parameter>
<Parameter>
<Name><![CDATA[v_dayTempSetpoint_degC]]></Name>
</Parameter>
<Parameter>
<Name><![CDATA[v_nightTempSetpoint_degC]]></Name>
</Parameter>
<Parameter>
<Name><![CDATA[v_isActive]]></Name>
</Parameter>
</Parameters>
<ReplicationFlag>true</ReplicationFlag>
<Replication Class="CodeValue">
Expand Down Expand Up @@ -1297,6 +1309,9 @@
<Parameter>
<Name><![CDATA[p_DHheatStorage]]></Name>
</Parameter>
<Parameter>
<Name><![CDATA[v_isActive]]></Name>
</Parameter>
</Parameters>
<ReplicationFlag>true</ReplicationFlag>
<Replication Class="CodeValue">
Expand Down Expand Up @@ -1453,6 +1468,9 @@
<Parameter>
<Name><![CDATA[p_isSliderGC]]></Name>
</Parameter>
<Parameter>
<Name><![CDATA[v_isActive]]></Name>
</Parameter>
</Parameters>
<ReplicationFlag>true</ReplicationFlag>
<Replication Class="CodeValue">
Expand Down Expand Up @@ -1648,6 +1666,9 @@
<Parameter>
<Name><![CDATA[b_forecast_lastWeekBased]]></Name>
</Parameter>
<Parameter>
<Name><![CDATA[v_isActive]]></Name>
</Parameter>
</Parameters>
<ReplicationFlag>true</ReplicationFlag>
<Replication Class="CodeValue">
Expand Down Expand Up @@ -1801,6 +1822,9 @@
<Parameter>
<Name><![CDATA[p_batteryAlgorithm]]></Name>
</Parameter>
<Parameter>
<Name><![CDATA[v_isActive]]></Name>
</Parameter>
</Parameters>
<ReplicationFlag>true</ReplicationFlag>
<Replication Class="CodeValue">
Expand Down Expand Up @@ -1954,6 +1978,9 @@
<Parameter>
<Name><![CDATA[p_batteryAlgorithm]]></Name>
</Parameter>
<Parameter>
<Name><![CDATA[v_isActive]]></Name>
</Parameter>
</Parameters>
<ReplicationFlag>true</ReplicationFlag>
<Replication Class="CodeValue">
Expand Down Expand Up @@ -2110,6 +2137,9 @@
<Parameter>
<Name><![CDATA[p_isSliderGC]]></Name>
</Parameter>
<Parameter>
<Name><![CDATA[v_isActive]]></Name>
</Parameter>
</Parameters>
<ReplicationFlag>true</ReplicationFlag>
<Replication Class="CodeValue">
Expand Down Expand Up @@ -2236,6 +2266,15 @@
<Parameter>
<Name><![CDATA[p_annotation]]></Name>
</Parameter>
<Parameter>
<Name><![CDATA[p_defaultFillColorString]]></Name>
</Parameter>
<Parameter>
<Name><![CDATA[p_defaultLineColorString]]></Name>
</Parameter>
<Parameter>
<Name><![CDATA[p_defaultLineStyleString]]></Name>
</Parameter>
</Parameters>
<ReplicationFlag>true</ReplicationFlag>
<Replication Class="CodeValue">
Expand Down Expand Up @@ -2327,6 +2366,15 @@
<Parameter>
<Name><![CDATA[p_annotation]]></Name>
</Parameter>
<Parameter>
<Name><![CDATA[p_defaultFillColorString]]></Name>
</Parameter>
<Parameter>
<Name><![CDATA[p_defaultLineColorString]]></Name>
</Parameter>
<Parameter>
<Name><![CDATA[p_defaultLineStyleString]]></Name>
</Parameter>
</Parameters>
<ReplicationFlag>true</ReplicationFlag>
<Replication Class="CodeValue">
Expand Down Expand Up @@ -2421,6 +2469,15 @@
<Parameter>
<Name><![CDATA[p_address]]></Name>
</Parameter>
<Parameter>
<Name><![CDATA[p_defaultFillColorString]]></Name>
</Parameter>
<Parameter>
<Name><![CDATA[p_defaultLineColorString]]></Name>
</Parameter>
<Parameter>
<Name><![CDATA[p_defaultLineStyleString]]></Name>
</Parameter>
</Parameters>
<ReplicationFlag>true</ReplicationFlag>
<Replication Class="CodeValue">
Expand Down Expand Up @@ -2611,6 +2668,9 @@
<Parameter>
<Name><![CDATA[p_chargingProfileName]]></Name>
</Parameter>
<Parameter>
<Name><![CDATA[v_isActive]]></Name>
</Parameter>
</Parameters>
<ReplicationFlag>true</ReplicationFlag>
<Replication Class="CodeValue">
Expand Down Expand Up @@ -2798,6 +2858,9 @@
<Parameter>
<Name><![CDATA[p_quinaryHeatingAsset]]></Name>
</Parameter>
<Parameter>
<Name><![CDATA[v_isActive]]></Name>
</Parameter>
</Parameters>
<ReplicationFlag>true</ReplicationFlag>
<Replication Class="CodeValue">
Expand Down
33 changes: 21 additions & 12 deletions _alp/Agents/EnergyModel/Variables.xml
Original file line number Diff line number Diff line change
Expand Up @@ -1309,9 +1309,6 @@
AccessType="public"
StaticVariable="false">
<Type><![CDATA[EnumSet<OL_EnergyCarriers>]]></Type>
<InitialValue Class="CodeValue">
<Code><![CDATA[EnumSet.of(OL_EnergyCarriers.ELECTRICITY);]]></Code>
</InitialValue>
</Properties>
</Variable>
<Variable Class="PlainVariable">
Expand All @@ -1331,9 +1328,6 @@
AccessType="public"
StaticVariable="false">
<Type><![CDATA[EnumSet<OL_EnergyCarriers>]]></Type>
<InitialValue Class="CodeValue">
<Code><![CDATA[EnumSet.of(OL_EnergyCarriers.ELECTRICITY);]]></Code>
</InitialValue>
</Properties>
</Variable>
<Variable Class="PlainVariable">
Expand All @@ -1353,9 +1347,6 @@
AccessType="public"
StaticVariable="false">
<Type><![CDATA[EnumSet<OL_EnergyCarriers>]]></Type>
<InitialValue Class="CodeValue">
<Code><![CDATA[EnumSet.of(OL_EnergyCarriers.ELECTRICITY);]]></Code>
</InitialValue>
</Properties>
</Variable>
<Variable Class="PlainVariable">
Expand Down Expand Up @@ -2219,7 +2210,7 @@
<PublicFlag>false</PublicFlag>
<PresentationFlag>true</PresentationFlag>
<ShowLabel>true</ShowLabel>
<Properties SaveInSnapshot="true" AccessType="default" StaticVariable="false">
<Properties SaveInSnapshot="true" AccessType="public" StaticVariable="false">
<CollectionClass>ArrayList</CollectionClass>
<ElementClass>J_EA</ElementClass>
<ValueElementClass>String</ValueElementClass>
Expand Down Expand Up @@ -2365,7 +2356,7 @@
<PublicFlag>false</PublicFlag>
<PresentationFlag>true</PresentationFlag>
<ShowLabel>true</ShowLabel>
<Properties SaveInSnapshot="true" AccessType="default" StaticVariable="false">
<Properties SaveInSnapshot="true" AccessType="public" StaticVariable="false">
<CollectionClass>ArrayList</CollectionClass>
<ElementClass>GridConnection</ElementClass>
<ValueElementClass>String</ValueElementClass>
Expand All @@ -2383,7 +2374,7 @@
<PublicFlag>false</PublicFlag>
<PresentationFlag>true</PresentationFlag>
<ShowLabel>true</ShowLabel>
<Properties SaveInSnapshot="true" AccessType="default" StaticVariable="false">
<Properties SaveInSnapshot="true" AccessType="public" StaticVariable="false">
<CollectionClass>ArrayList</CollectionClass>
<ElementClass>J_ProfilePointer</ElementClass>
<ValueElementClass>String</ValueElementClass>
Expand Down Expand Up @@ -2443,4 +2434,22 @@
<ValueElementClass>String</ValueElementClass>
</Properties>
</Variable>
<Variable Class="CollectionVariable">
<Id>1753361227218</Id>
<Name><![CDATA[c_GISObjects]]></Name>
<X>240</X>
<Y>-110</Y>
<Label>
<X>10</X>
<Y>0</Y>
</Label>
<PublicFlag>false</PublicFlag>
<PresentationFlag>true</PresentationFlag>
<ShowLabel>true</ShowLabel>
<Properties SaveInSnapshot="true" AccessType="public" StaticVariable="false">
<CollectionClass>ArrayList</CollectionClass>
<ElementClass>GIS_Object</ElementClass>
<ValueElementClass>String</ValueElementClass>
</Properties>
</Variable>
</Variables>
3 changes: 3 additions & 0 deletions _alp/Agents/GCDistrictHeating/AOC.GCDistrictHeating.xml
Original file line number Diff line number Diff line change
Expand Up @@ -105,6 +105,9 @@
<Parameter>
<Name><![CDATA[p_batteryAlgorithm]]></Name>
</Parameter>
<Parameter>
<Name><![CDATA[v_isActive]]></Name>
</Parameter>
</Parameters>
<Generic>false</Generic>
<GenericParameter>
Expand Down
3 changes: 3 additions & 0 deletions _alp/Agents/GCEnergyConversion/AOC.GCEnergyConversion.xml
Original file line number Diff line number Diff line change
Expand Up @@ -106,6 +106,9 @@
<Parameter>
<Name><![CDATA[p_batteryAlgorithm]]></Name>
</Parameter>
<Parameter>
<Name><![CDATA[v_isActive]]></Name>
</Parameter>
</Parameters>
<Generic>false</Generic>
<GenericParameter>
Expand Down
3 changes: 3 additions & 0 deletions _alp/Agents/GCEnergyProduction/AOC.GCEnergyProduction.xml
Original file line number Diff line number Diff line change
Expand Up @@ -105,6 +105,9 @@
<Parameter>
<Name><![CDATA[p_batteryAlgorithm]]></Name>
</Parameter>
<Parameter>
<Name><![CDATA[v_isActive]]></Name>
</Parameter>
</Parameters>
<Generic>false</Generic>
<GenericParameter>
Expand Down
3 changes: 3 additions & 0 deletions _alp/Agents/GCGridBattery/AOC.GCGridBattery.xml
Original file line number Diff line number Diff line change
Expand Up @@ -105,6 +105,9 @@
<Parameter>
<Name><![CDATA[p_batteryAlgorithm]]></Name>
</Parameter>
<Parameter>
<Name><![CDATA[v_isActive]]></Name>
</Parameter>
</Parameters>
<Generic>false</Generic>
<GenericParameter>
Expand Down
3 changes: 3 additions & 0 deletions _alp/Agents/GCHouse/AOC.GCHouse.xml
Original file line number Diff line number Diff line change
Expand Up @@ -105,6 +105,9 @@
<Parameter>
<Name><![CDATA[p_batteryAlgorithm]]></Name>
</Parameter>
<Parameter>
<Name><![CDATA[v_isActive]]></Name>
</Parameter>
</Parameters>
<Generic>false</Generic>
<GenericParameter>
Expand Down
Loading