Load data
GHEtool supports different types of load data (and more are coming, check our project for more information: https://github.com/users/wouterpeere/projects/2) Currently you can use:
Geothermal loads with a monthly resolution for one year (so it repeats itself every year)
Geothermal loads with an hourly resolution for one year (so it repeats itself every year)
Geothermal loads with an hourly resolution but multiple years (it does not repeat itself)
All of the load classes are based children of the abstract _LoadData class.
- class GHEtool.VariableClasses.LoadData._LoadData._LoadData(hourly_resolution: bool, simulation_period: int = 20)
Bases:
BaseClass
,ABC
This class contains information w.r.t. load data for the borefield sizing.
- Parameters
- hourly_resolutionbool
True if the load class uses an hourly resolution
- simulation_periodint
Length of the simulation period in years
- property UPM: ndarray
Depending on whether all months are assumed to have equal length, the UPM are either constant or vary during the year.
- Returns
- Hours per monthnp.ndarray
- _calculate_first_year_params(HC: bool) tuple
This function calculates the parameters for the sizing based on the first year of operation. This is needed for the L2 sizing.
- Parameters
- HCbool
True if the borefield is limited by extraction load
- Returns
- th, tpm, tcm, qh, qpm, qcmfloat
Peak duration [s], cumulative time passed at the start of the month [s], cumulative time passed at the end of the month [s], peak load [W], average cumulative load of the past months [W avg], average load of the current month [W avg]
- _calculate_last_year_params(HC: bool) tuple
This function calculates the parameters for the sizing based on the last year of operation. This is needed for the L2 sizing.
- Parameters
- HCbool
True if the borefield is limited by extraction load
- Returns
- th, qh, qm, qafloat
Peak length [s], peak load [W], corresponding monthly load [W], yearly imbalance [W]
- abstract _check_input(input: Union[ndarray, list, tuple]) bool
This function checks whether the input is valid or not.
- Parameters
- inputnp.ndarray, list, tuple
Thermal load input
- Returns
- bool
True if the input is correct for the load class
- add_dhw(dhw: float) None
This function adds the domestic hot water (dhw). An error is raies is the dhw is not positive.
- Parameters
- dhwfloat
Yearly consumption of domestic hot water [kWh/year]
- Returns
- None
- property all_months_equal: bool
Returns the attribute all months are equal
- Returns
- bool
True if the months are assumed to be of equal length (i.e. 730 hours/month). False if the correct number of hours is used.
- abstract baseload_cooling() ndarray
This function returns the baseload cooling in kWh/month.
- Returns
- baseload coolingnp.ndarray
- property baseload_cooling_power: ndarray
This function returns the baseload cooling in kW avg/month.
- Returns
- baseload coolingnp.ndarray
- property baseload_cooling_power_simulation_period: ndarray
This function returns the average cooling power in kW avg/month for a whole simulation period.
- Returns
- average cooling powernp.ndarray
average cooling for the whole simulation period
- property baseload_cooling_simulation_period: ndarray
This function returns the baseload cooling in kWh/month for a whole simulation period.
- Returns
- baseload coolingnp.ndarray
baseload cooling for the whole simulation period
- abstract baseload_heating() ndarray
This function returns the baseload heating in kWh/month.
- Returns
- baseload heatingnp.ndarray
- property baseload_heating_power: ndarray
This function returns the baseload heating in kW avg/month.
- Returns
- baseload heatingnp.ndarray
- property baseload_heating_power_simulation_period: ndarray
This function returns the average heating power in kW avg/month for a whole simulation period.
- Returns
- average heating powernp.ndarray
average heating power for the whole simulation period
- property baseload_heating_simulation_period: ndarray
This function returns the baseload heating in kWh/month for a whole simulation period.
- Returns
- baseload heatingnp.ndarray
baseload heating for the whole simulation period
- abstract correct_for_start_month(array: ndarray) ndarray
This function corrects the load for the correct start month. If the simulation starts in september, the start month is 9 and hence the array should start at index 9.
- Parameters
- arraynp.ndarray
Load array
- Returns
- loadnp.ndarray
- property dhw: float
This function returns the yearly domestic hot water consumption.
- Returns
- dhwfloat
Yearly domestic hot water consumption [kWh/year]
- property dhw_power: float
This function returns the power related to the dhw production.
- Returns
- dhw powerfloat
- static get_month_index(peak_load, avg_load) int
This function calculates and returns the month index (i.e. the index of the month in which the field should be sized). It does so by taking 1) the month with the highest peak load. 2) if all the peak loads are the same, it takes the month with the highest average load 3) if all average loads are the same, it takes the last month
- Parameters
- peak_loadnp.ndarray
array with the peak loads [kW]
- avg_loadnp.ndarray
array with the monthly average loads [kW]
- Returns
- month_indexint
0 = jan, 1 = feb …
- property imbalance: float
This function calculates the ground imbalance. A positive imbalance means that the field is injection dominated, i.e. it heats up every year.
- Returns
- imbalancefloat
- property max_peak_cooling: float
This returns the max peak cooling in kW.
- Returns
- max peak coolingfloat
- property max_peak_heating: float
This returns the max peak heating in kW.
- Returns
- max peak heatingfloat
- property monthly_average_load: ndarray
This function calculates the average monthly load in kW.
- Returns
- monthly average loadnp.ndarray
- property monthly_average_load_simulation_period: ndarray
This function calculates the average monthly load in kW for the whole simulation period.
- Returns
- monthly average loadnp.ndarray
- abstract peak_cooling() ndarray
This function returns the peak cooling load in kW/month.
- Returns
- peak coolingnp.ndarray
- property peak_cooling_duration: float
Duration of the peak in cooling.
- Returns
- Duration of the peak in cooling [s]
- property peak_cooling_simulation_period: ndarray
This function returns the peak cooling in kW/month for a whole simulation period.
- Returns
- peak coolingnp.ndarray
peak cooling for the whole simulation period
- property peak_duration: None
Dummy object to set the length peak for both heating and cooling.
- Returns
- None
- abstract peak_heating() ndarray
This function returns the peak heating load in kW/month.
- Returns
- peak heatingnp.ndarray
- property peak_heating_duration: float
Length of the peak in heating.
- Returns
- Length peak in heating [s]
- property peak_heating_simulation_period: ndarray
This function returns the peak heating in kW/month for a whole simulation period.
- Returns
- peak heatingnp.ndarray
peak heating for the whole simulation period
- property start_month: int
This function returns the start month.
- Returns
- float
Start month
- property time_L3: ndarray
Time for L3 sizing, i.e. an array with monthly the cumulative seconds that have passed. [744, 1416 …] * 3600
- Returns
- Times for the L3 sizingnp.ndarray
- property time_L4: ndarray
Times for the L4 sizing, i.e. an array with hourly the cumulative seconds that have passed. [1, 2, 3, 4 …] * 3600
- Returns
- Times for the L4 sizingnp.ndarray
- property ty: float
Simulation period in seconds.
- Returns
- Simulation period in seconds
- property yearly_cooling_load: float
This function returns the yearly cooling load in kWh/year.
- Returns
- float
Yearly cooling load kWh/year
- property yearly_heating_load: float
This function returns the yearly heating load in kWh/year.
- Returns
- float
Yearly heating load kWh/year
This class contains all the information for geothermal load data with a monthly resolution and absolute input. This means that the inputs are both in kWh/month and kW/month.
This class contains all the information for geothermal load data with a monthly resolution and absolute input. This means that the inputs are both in kWh/month and kW/month.
This class contains all the information for geothermal load data with a monthly resolution and absolute input. This means that the inputs are both in kWh/month and kW/month.