Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 0 additions & 2 deletions process/core/init.py
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,6 @@
from process.data_structure.buildings_variables import init_buildings_variables
from process.data_structure.ccfe_hcpb_module import init_ccfe_hcpb_module
from process.data_structure.constraint_variables import init_constraint_variables
from process.data_structure.cost_2015_variables import init_cost_2015_variables
from process.data_structure.cost_variables import init_cost_variables
from process.data_structure.cs_fatigue_variables import init_cs_fatigue_variables
from process.data_structure.current_drive_variables import init_current_drive_variables
Expand Down Expand Up @@ -302,7 +301,6 @@ def init_all_module_vars():
init_cs_fatigue_variables()
init_blanket_library()
init_dcll_module()
init_cost_2015_variables()
init_power_variables()
init_neoclassics_variables()

Expand Down
2 changes: 2 additions & 0 deletions process/core/model.py
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
import abc
from dataclasses import dataclass, fields

from process.data_structure.cost_2015_variables import Cost2015Data
from process.data_structure.water_usage_variables import WaterUseData

initialise_later = object()
Expand All @@ -9,6 +10,7 @@
@dataclass(kw_only=True)
class DataStructure:
water_use: WaterUseData = initialise_later
costs_2015: Cost2015Data = initialise_later

def __post_init__(self):
for f in fields(self):
Expand Down
58 changes: 19 additions & 39 deletions process/data_structure/cost_2015_variables.py
Original file line number Diff line number Diff line change
@@ -1,53 +1,33 @@
import numpy as np

mean_electric_output: float = None

annual_electric_output: float = None

maintenance: float = None

total_costs: float = None
from dataclasses import dataclass, field

s_label: list[str] = None

s_kref: list[float] = None

s_k: list[float] = None

s_cref: list[float] = None
import numpy as np

s_cost: list[float] = None

s_cost_factor: list[float] = None
@dataclass
class Cost2015Data:
mean_electric_output: float = 0.0

annual_electric_output: float = 0.0

def init_cost_2015_variables():
global mean_electric_output
mean_electric_output = 0.0
maintenance: float = 0.0

global annual_electric_output
annual_electric_output = 0.0
total_costs: float = 0.0

global maintenance
maintenance = 0.0
s_label: list[str] = field(
default_factory=lambda: np.array(["not used"] * 100, dtype=object)
)

global total_costs
total_costs = 0.0
s_kref: list[float] = field(default_factory=lambda: np.zeros(100, dtype=np.float64))

global s_label
s_label = np.array(["not used"] * 100, dtype=object)
s_k: list[float] = field(default_factory=lambda: np.zeros(100, dtype=np.float64))

global s_kref
s_kref = np.zeros(100, dtype=np.float64)
s_cref: list[float] = field(default_factory=lambda: np.zeros(100, dtype=np.float64))

global s_k
s_k = np.zeros(100, dtype=np.float64)
s_cost: list[float] = field(default_factory=lambda: np.zeros(100, dtype=np.float64))

global s_cref
s_cref = np.zeros(100, dtype=np.float64)
s_cost_factor: list[float] = field(
default_factory=lambda: np.zeros(100, dtype=np.float64)
)

global s_cost
s_cost = np.zeros(100, dtype=np.float64)

global s_cost_factor
s_cost_factor = np.zeros(100, dtype=np.float64)
CREATE_DICTS_FROM_DATACLASS = Cost2015Data
2 changes: 1 addition & 1 deletion process/main.py
Original file line number Diff line number Diff line change
Expand Up @@ -776,7 +776,7 @@ def costs(self, value: CostsProtocol):
def models(self) -> tuple[Model, ...]:
# At the moment, this property just returns models that implement the Model interface.
# Eventually every Model will comply and then this method can be used as the caller/outputter!
return (self.water_use,)
return (self.water_use, self._costs_2015)

def setup_data_structure(self):
# This Models class should be replaced with a dataclass so we can
Expand Down
Loading
Loading