Skip to content

Commit

Permalink
Update documentation & Logging
Browse files Browse the repository at this point in the history
  • Loading branch information
FelixMau committed May 23, 2024
1 parent acdb9e9 commit d9e872d
Show file tree
Hide file tree
Showing 2 changed files with 18 additions and 9 deletions.
4 changes: 3 additions & 1 deletion data_adapter_oemof/adapters.py
Original file line number Diff line number Diff line change
Expand Up @@ -346,7 +346,9 @@ def default_post_mapping_calculations(self, mapped_defaults):
"""
# I:
if self.process_name[-1] == "0":
mapped_defaults = calculations.decommission(mapped_defaults)
mapped_defaults = calculations.decommission(
process_name=self.process_name, adapter_dict=mapped_defaults
)

# II:
if "lifetime" in mapped_defaults.keys():
Expand Down
23 changes: 15 additions & 8 deletions data_adapter_oemof/calculations.py
Original file line number Diff line number Diff line change
Expand Up @@ -41,7 +41,7 @@ def get_capacity_cost(overnight_cost, fixed_cost, lifetime, wacc):
return annuity(overnight_cost, lifetime, wacc) + fixed_cost


def decommission(adapter_dict: dict) -> dict:
def decommission(process_name, adapter_dict: dict) -> dict:
"""
Takes adapter dictionary from adapters.py with mapped values.
Expand All @@ -53,10 +53,15 @@ def decommission(adapter_dict: dict) -> dict:
II:
If Max value is already set by another parameter function will issue info
Recalculating max value to max_new = (max_old * capacity)/`the largest capacity`
Recalculating max value to
.. math::
max_{new} = \frac{(max_{column} * capacity_{column})}{capacity_{max}}
Overwriting max value in `output_parameters`
Then is setting capacity to the largest found capacity
Supposed to be called when getting default parameters
Non investment objects must be decommissioned in multi period to take end of lifetime
for said objet into account.
Expand Down Expand Up @@ -89,11 +94,16 @@ def multiply_two_lists(l1, l2):

# check if capacity column is there and if it has to be decommissioned
if capacity_column not in adapter_dict.keys():
logging.info("Capacity missing for decommissioning")
logging.info(
f"Capacity missing for decommissioning " f"of Process `{process_name}`"
)
return adapter_dict

if not isinstance(adapter_dict[capacity_column], list):
logging.info("No capacity fading out that can be decommissioned.")
logging.info(
f"No capacity fading out that can be decommissioned"
f" for Process `{process_name}`."
)
return adapter_dict

# I:
Expand All @@ -103,7 +113,6 @@ def multiply_two_lists(l1, l2):
] / np.max(adapter_dict[capacity_column])
# II:
else:
logging.info("Decommissioning and max value can not be set in parallel")
adapter_dict["output_parameters"][max_column] = multiply_two_lists(
adapter_dict["output_parameters"][max_column], adapter_dict[capacity_column]
) / np.max(adapter_dict[capacity_column])
Expand Down Expand Up @@ -142,11 +151,9 @@ def divide_two_lists(dividend, divisor):
return [i / j if j != 0 else 0 for i, j in zip(dividend, divisor)]

if "activity_bound_fix" in adapter.data.keys():
adapter.data["activity_bound_min"] = divide_two_lists(
adapter.data["activity_bound_fix"] = divide_two_lists(
adapter.data["activity_bound_fix"], adapter.get("capacity")
)
adapter.data["activity_bound_max"] = adapter.data["activity_bound_min"]
adapter.data.pop("activity_bound_fix")
return adapter

if "activity_bound_min" in adapter.data.keys():
Expand Down

0 comments on commit d9e872d

Please sign in to comment.