Bug Description
Currently there are 96 csv files across datasets in ETSource that specify the must-run interconnector base curves which are (all) flat curves with values of 3.170979198376513e-08.
(3.170979198376513e-08 87603600 = 1)
Type of Data Issue
What type of data issue is this?
Select all that apply:
Impact
This setup wastes space and adds additional database overhead, increase maintenance and cost memory/processing as the curves are loaded and processed even though they don't really include any useful or meaningful data.
Suggested solution
We could have a method to generate a flat distributed profile in Qernel::Causality::Curves (or wherever the curves module lives) that can be defined and re-used in various adapters to handle this kind of case.
def flat_profile
Merit::Curve.new(Array.new(8760, 1.0 / (8760 * 3600)))
end
We could then implement that method in the adapters:
export_consumer_adapter:
def consumption_profile
@context.curves.flat_profile
end
import_always_on_adapter:
def production_profile
@context.curves.flat_profile
end
This could allow us to remove the 96 extraneous csvs, and simplify the data flow. I don't think initial_updates should be necessary here, because when the curves aren't provided the coupling is not active, but we would have to check as they may be required for the graph to build properly.
Bug Description
Currently there are 96 csv files across datasets in ETSource that specify the must-run interconnector base curves which are (all) flat curves with values of 3.170979198376513e-08.
(3.170979198376513e-08 87603600 = 1)
Type of Data Issue
What type of data issue is this?
Select all that apply:
Impact
This setup wastes space and adds additional database overhead, increase maintenance and cost memory/processing as the curves are loaded and processed even though they don't really include any useful or meaningful data.
Suggested solution
We could have a method to generate a flat distributed profile in
Qernel::Causality::Curves(or wherever the curves module lives) that can be defined and re-used in various adapters to handle this kind of case.We could then implement that method in the adapters:
export_consumer_adapter:
import_always_on_adapter:
This could allow us to remove the 96 extraneous csvs, and simplify the data flow. I don't think initial_updates should be necessary here, because when the curves aren't provided the coupling is not active, but we would have to check as they may be required for the graph to build properly.