44 lines
1.6 KiB
Python
44 lines
1.6 KiB
Python
"""
|
|
Usage helper
|
|
SPDX - License - Identifier: LGPL - 3.0 - or -later
|
|
Copyright © 2023 Concordia CERC group
|
|
Project Coder Pilar Monsalvete Alvarez de Uribarri pilar.monsalvete@concordia.ca
|
|
"""
|
|
|
|
import sys
|
|
from hub.hub_logger import logger
|
|
import hub.helpers.constants as cte
|
|
from hub.helpers.configuration_helper import ConfigurationHelper as ch
|
|
|
|
|
|
class UsageHelper:
|
|
"""
|
|
UsageHelper class
|
|
"""
|
|
|
|
@staticmethod
|
|
def cold_water_temperature(ground_temperature):
|
|
keys = ground_temperature.keys()
|
|
depths = ground_temperature[keys[0]].keys()
|
|
if keys[0] == cte.YEAR:
|
|
# taking the deeper temperature available
|
|
_cold_temperature = ground_temperature[cte.YEAR][depths[len(depths-1)]]
|
|
elif keys[0] == cte.MONTH:
|
|
_cold_temperature = 0
|
|
for i in range(0, 12):
|
|
# taking the deeper temperature available
|
|
_cold_temperature += ground_temperature[cte.MONTH][depths[len(depths-1)]] / 12
|
|
elif keys[0] == cte.HOUR:
|
|
_cold_temperature = 0
|
|
for i in range(0, 8760):
|
|
# taking the deeper temperature available
|
|
_cold_temperature += ground_temperature[cte.HOUR][depths[len(depths-1)]] / 8760
|
|
else:
|
|
_cold_temperature = ch().cold_water_temperature
|
|
logger.error(f'Cold water temperature could not be calculated. Assigned default value = '
|
|
f'{ch().cold_water_temperature} degrees Celsius\n')
|
|
sys.stderr.write(f'Cold water temperature could not be calculated. Assigned default value = '
|
|
f'{ch().cold_water_temperature} degrees Celsius\n')
|
|
|
|
return _cold_temperature
|