diff --git a/cea/analysis/costs/operation_costs.py b/cea/analysis/costs/operation_costs.py deleted file mode 100644 index 373786c698..0000000000 --- a/cea/analysis/costs/operation_costs.py +++ /dev/null @@ -1,145 +0,0 @@ -""" -costs according to supply systems -""" -from __future__ import division - -import pandas as pd -from geopandas import GeoDataFrame as gpdf - -import cea.config -import cea.inputlocator - -__author__ = "Jimeno A. Fonseca" -__copyright__ = "Copyright 2015, Architecture and Building Systems - ETH Zurich" -__credits__ = ["Jimeno A. Fonseca"] -__license__ = "MIT" -__version__ = "0.1" -__maintainer__ = "Daren Thomas" -__email__ = "cea@arch.ethz.ch" -__status__ = "Production" - - -def operation_costs(locator): - # get local variables - demand = pd.read_csv(locator.get_total_demand()) - supply_systems = gpdf.from_file(locator.get_building_supply()).drop('geometry', axis=1) - data_all_in_one_systems = pd.read_excel(locator.get_database_conversion_systems(), sheet_name='ALL_IN_ONE_SYSTEMS') - factors_heating = data_all_in_one_systems[data_all_in_one_systems['system'].isin(['HEATING', 'NONE'])] - factors_dhw = data_all_in_one_systems[data_all_in_one_systems['system'].isin(['HEATING', 'NONE'])] - factors_cooling = data_all_in_one_systems[data_all_in_one_systems['system'].isin(['COOLING', 'NONE'])] - factors_electricity = data_all_in_one_systems[data_all_in_one_systems['system'].isin(['ELECTRICITY', 'NONE'])] - factors_resources = pd.read_excel(locator.get_database_conversion_systems(), sheet_name=None) - - #get the mean of all values for this - factors_resources_simple = [(name, values['Opex_var_buy_USD2015perkWh'].mean()) for name, values in factors_resources.items()] - factors_resources_simple = pd.DataFrame(factors_resources_simple, columns=['code', 'Opex_var_buy_USD2015perkWh']) - - # local variables - # calculate the total operational non-renewable primary energy demand and CO2 emissions - ## create data frame for each type of end use energy containing the type of supply system use, the final energy - ## demand and the primary energy and emissions factors for each corresponding type of supply system - heating_costs = factors_heating.merge(factors_resources_simple, left_on='feedstock', right_on='code')[ - ['code_x', 'feedstock', 'Opex_var_buy_USD2015perkWh']] - cooling_costs = factors_cooling.merge(factors_resources_simple, left_on='feedstock', right_on='code')[ - ['code_x', 'feedstock', 'Opex_var_buy_USD2015perkWh']] - dhw_costs = factors_dhw.merge(factors_resources_simple, left_on='feedstock', right_on='code')[ - ['code_x', 'feedstock', 'Opex_var_buy_USD2015perkWh']] - electricity_costs = factors_electricity.merge(factors_resources_simple, left_on='feedstock', right_on='code')[ - ['code_x', 'feedstock', 'Opex_var_buy_USD2015perkWh']] - - heating = supply_systems.merge(demand, on='Name').merge(heating_costs, left_on='type_hs', right_on='code_x') - dhw = supply_systems.merge(demand, on='Name').merge(dhw_costs, left_on='type_dhw', right_on='code_x') - cooling = supply_systems.merge(demand, on='Name').merge(cooling_costs, left_on='type_cs', right_on='code_x') - electricity = supply_systems.merge(demand, on='Name').merge(electricity_costs, left_on='type_el', right_on='code_x') - - fields_to_plot = [] - heating_services = ['DH_hs', 'OIL_hs', 'NG_hs', 'WOOD_hs', 'COAL_hs', 'SOLAR_hs'] - for service in heating_services: - try: - fields_to_plot.extend([service + '_cost_yr', service + '_cost_m2yr']) - # calculate the total and relative costs - heating[service + '_cost_yr'] = heating[service + '_MWhyr'] * heating['Opex_var_buy_USD2015perkWh'] * 1000 - heating[service + '_cost_m2yr'] = heating[service + '_cost_yr'] / heating['Aocc_m2'] - except KeyError: - print(heating) - print(list(heating.columns)) - raise - - # for cooling services - dhw_services = ['DH_ww', 'OIL_ww', 'NG_ww', 'WOOD_ww', 'COAL_ww', 'SOLAR_ww'] - for service in dhw_services: - fields_to_plot.extend([service + '_cost_yr', service + '_cost_m2yr']) - # calculate the total and relative costs - # calculate the total and relative costs - dhw[service + '_cost_yr'] = dhw[service + '_MWhyr'] * dhw['Opex_var_buy_USD2015perkWh'] * 1000 - dhw[service + '_cost_m2yr'] = dhw[service + '_cost_yr'] / dhw['Aocc_m2'] - - ## calculate the operational primary energy and emissions for cooling services - cooling_services = ['DC_cs', 'DC_cdata', 'DC_cre'] - for service in cooling_services: - fields_to_plot.extend([service + '_cost_yr', service + '_cost_m2yr']) - # change price to that of local electricity mix - # calculate the total and relative costs - cooling[service + '_cost_yr'] = cooling[service + '_MWhyr'] * cooling['Opex_var_buy_USD2015perkWh'] * 1000 - cooling[service + '_cost_m2yr'] = cooling[service + '_cost_yr'] / cooling['Aocc_m2'] - - ## calculate the operational primary energy and emissions for electrical services - electrical_services = ['GRID', 'PV'] - for service in electrical_services: - fields_to_plot.extend([service + '_cost_yr', service + '_cost_m2yr']) - # calculate the total and relative costs - electricity[service + '_cost_yr'] = electricity[service + '_MWhyr'] * electricity['Opex_var_buy_USD2015perkWh'] * 1000 - electricity[service + '_cost_m2yr'] = electricity[service + '_cost_yr'] / electricity['Aocc_m2'] - - # plot also NFA area and costs - analysis_fields_costs = ['Opex_a_sys_connected_USD', - 'Opex_a_sys_disconnected_USD', - 'Capex_a_sys_disconnected_USD', - 'Capex_a_sys_connected_USD', - ] - fields_to_plot.extend(['Aocc_m2']) - fields_to_plot.extend(analysis_fields_costs) - - # create and save results - result = heating.merge(dhw, on='Name', suffixes=('', '_dhw')) - result = result.merge(cooling, on='Name', suffixes=('', '_cooling')) - result = result.merge(electricity, on='Name', suffixes=('', '_ electricity')) - - # add totals: - result['Opex_a_sys_connected_USD'] = result['GRID_cost_yr'] + \ - result['DH_hs_cost_yr'] + \ - result['DH_ww_cost_yr'] + \ - result['DC_cdata_cost_yr'] + \ - result['DC_cs_cost_yr'] + \ - result['DC_cre_cost_yr'] - - result['Opex_a_sys_disconnected_USD'] = result['OIL_hs_cost_yr'] + \ - result['NG_hs_cost_yr'] + \ - result['WOOD_hs_cost_yr'] + \ - result['COAL_hs_cost_yr'] + \ - result['SOLAR_hs_cost_yr'] + \ - result['PV_cost_yr'] + \ - result['OIL_ww_cost_yr'] + \ - result['NG_ww_cost_yr'] + \ - result['WOOD_ww_cost_yr'] + \ - result['COAL_ww_cost_yr'] + \ - result['SOLAR_ww_cost_yr'] - - #TODO: craete a model to calculate the capital costs - result['Capex_a_sys_connected_USD'] = 0.0 - result['Capex_a_sys_disconnected_USD'] = 0.0 - - result[['Name'] + fields_to_plot].to_csv( - locator.get_costs_operation_file(), index=False, float_format='%.2f') - - -def main(config): - locator = cea.inputlocator.InputLocator(scenario=config.scenario) - - print('Running operation-costs with scenario = %s' % config.scenario) - - operation_costs(locator=locator) - - -if __name__ == '__main__': - main(cea.config.Configuration()) diff --git a/cea/analysis/costs/system_costs.py b/cea/analysis/costs/system_costs.py new file mode 100644 index 0000000000..ad07ce706f --- /dev/null +++ b/cea/analysis/costs/system_costs.py @@ -0,0 +1,205 @@ +""" +costs according to supply systems +""" +from __future__ import division + +import pandas as pd +from geopandas import GeoDataFrame as gpdf + +import cea.config +import cea.inputlocator + +__author__ = "Jimeno A. Fonseca" +__copyright__ = "Copyright 2015, Architecture and Building Systems - ETH Zurich" +__credits__ = ["Jimeno A. Fonseca"] +__license__ = "MIT" +__version__ = "0.1" +__maintainer__ = "Daren Thomas" +__email__ = "cea@arch.ethz.ch" +__status__ = "Production" + + +def costs_main(locator, config): + # get local variables + capital = config.costs.capital + operational = config.costs.operational + + demand = pd.read_csv(locator.get_total_demand()) + supply_systems = gpdf.from_file(locator.get_building_supply()).drop('geometry', axis=1) + data_all_in_one_systems = pd.read_excel(locator.get_database_assemblies(), sheet_name='SUPPLY') + factors_heating = data_all_in_one_systems[data_all_in_one_systems['system'].isin(['HEATING', 'NONE'])] + factors_dhw = data_all_in_one_systems[data_all_in_one_systems['system'].isin(['HEATING', 'NONE'])] + factors_cooling = data_all_in_one_systems[data_all_in_one_systems['system'].isin(['COOLING', 'NONE'])] + factors_electricity = data_all_in_one_systems[data_all_in_one_systems['system'].isin(['ELECTRICITY', 'NONE'])] + factors_resources = pd.read_excel(locator.get_database_feedstocks(), sheet_name=None) + + #get the mean of all values for this + factors_resources_simple = [(name, values['Opex_var_buy_USD2015perkWh'].mean()) for name, values in factors_resources.items()] + factors_resources_simple = pd.DataFrame(factors_resources_simple, columns=['code', 'Opex_var_buy_USD2015perkWh']) + + # local variables + # calculate the total operational non-renewable primary energy demand and CO2 emissions + ## create data frame for each type of end use energy containing the type of supply system use, the final energy + ## demand and the primary energy and emissions factors for each corresponding type of supply system + heating_costs = factors_heating.merge(factors_resources_simple, left_on='feedstock', right_on='code')[ + ['code_x', 'feedstock', 'Opex_var_buy_USD2015perkWh', 'CAPEX_USD2015kW', 'LT_yr', 'O&M_%', 'IR_%']] + cooling_costs = factors_cooling.merge(factors_resources_simple, left_on='feedstock', right_on='code')[ + ['code_x', 'feedstock', 'Opex_var_buy_USD2015perkWh', 'CAPEX_USD2015kW', 'LT_yr', 'O&M_%', 'IR_%']] + dhw_costs = factors_dhw.merge(factors_resources_simple, left_on='feedstock', right_on='code')[ + ['code_x', 'feedstock', 'Opex_var_buy_USD2015perkWh', 'CAPEX_USD2015kW', 'LT_yr', 'O&M_%', 'IR_%']] + electricity_costs = factors_electricity.merge(factors_resources_simple, left_on='feedstock', right_on='code')[ + ['code_x', 'feedstock', 'Opex_var_buy_USD2015perkWh', 'CAPEX_USD2015kW', 'LT_yr', 'O&M_%', 'IR_%']] + + heating = supply_systems.merge(demand, on='Name').merge(heating_costs, left_on='type_hs', right_on='code_x') + dhw = supply_systems.merge(demand, on='Name').merge(dhw_costs, left_on='type_dhw', right_on='code_x') + cooling = supply_systems.merge(demand, on='Name').merge(cooling_costs, left_on='type_cs', right_on='code_x') + electricity = supply_systems.merge(demand, on='Name').merge(electricity_costs, left_on='type_el', right_on='code_x') + + fields_to_plot = [] + heating_services = ['DH_hs', 'OIL_hs', 'NG_hs', 'WOOD_hs', 'COAL_hs', 'SOLAR_hs'] + for service in heating_services: + try: + fields_to_plot.extend([service + '_sys_opex_yr', service + '_sys_total_capex_yr', service + '_sys_a_capex_yr', service + '_sys_opex_m2yr']) + # calculate the total and relative costs + heating[service + '_sys_total_capex_yr'] = heating[service + '0_kW'] * heating['CAPEX_USD2015kW'] + heating[service + '_sys_a_capex_yr'] = calc_inv_costs_annualized(heating[service + '_sys_total_capex_yr'], heating['IR_%']/100, heating['LT_yr']) + heating[service + '_sys_opex_yr'] = heating[service + '_MWhyr'] * heating['Opex_var_buy_USD2015perkWh'] * 1000 + heating[service + '_sys_total_capex_yr'] * heating['O&M_%']/100 + heating[service + '_sys_opex_m2yr'] = heating[service + '_sys_opex_yr'] / heating['Aocc_m2'] + except KeyError: + print(heating) + print(list(heating.columns)) + raise + + # for cooling services + dhw_services = ['DH_ww', 'OIL_ww', 'NG_ww', 'WOOD_ww', 'COAL_ww', 'SOLAR_ww'] + for service in dhw_services: + fields_to_plot.extend([service + '_sys_opex_yr', service + '_sys_total_capex_yr', service + '_sys_a_capex_yr', service + '_sys_opex_m2yr']) + # calculate the total and relative costs + # calculate the total and relative costs + dhw[service + '_sys_total_capex_yr'] = dhw[service + '0_kW'] * dhw['CAPEX_USD2015kW'] + dhw[service + '_sys_a_capex_yr'] = calc_inv_costs_annualized(dhw[service + '_sys_total_capex_yr'], dhw['IR_%']/100, dhw['LT_yr']) + dhw[service + '_sys_opex_yr'] = dhw[service + '_MWhyr'] * dhw['Opex_var_buy_USD2015perkWh'] * 1000 + dhw[service + '_sys_total_capex_yr'] * dhw['O&M_%']/100 + dhw[service + '_sys_opex_m2yr'] = dhw[service + '_sys_opex_yr'] / dhw['Aocc_m2'] + + ## calculate the operational primary energy and emissions for cooling services + cooling_services = ['DC_cs', 'DC_cdata', 'DC_cre'] + for service in cooling_services: + fields_to_plot.extend([service + '_sys_opex_yr', service + '_sys_total_capex_yr', service + '_sys_a_capex_yr', service + '_sys_opex_m2yr']) + # change price to that of local electricity mix + # calculate the total and relative costs + cooling[service + '_sys_total_capex_yr'] = cooling[service + '0_kW'] * cooling['CAPEX_USD2015kW'] + cooling[service + '_sys_a_capex_yr'] = calc_inv_costs_annualized(cooling[service + '_sys_total_capex_yr'], cooling['IR_%']/100, cooling['LT_yr']) + cooling[service + '_sys_opex_yr'] = cooling[service + '_MWhyr'] * cooling['Opex_var_buy_USD2015perkWh'] * 1000 + cooling[service + '_sys_total_capex_yr'] * cooling['O&M_%']/100 + cooling[service + '_sys_opex_m2yr'] = cooling[service + '_sys_opex_yr'] / cooling['Aocc_m2'] + + ## calculate the operational primary energy and emissions for electrical services + electrical_services = ['GRID', 'PV'] + for service in electrical_services: + fields_to_plot.extend([service + '_sys_opex_yr', service + '_sys_total_capex_yr', service+ '_sys_a_capex_yr', service + '_sys_opex_m2yr']) + # calculate the total and relative costs + electricity[service + '_sys_total_capex_yr'] = electricity[service + '0_kW'] * electricity['CAPEX_USD2015kW'] + electricity[service + '_sys_a_capex_yr'] = calc_inv_costs_annualized(electricity[service + '_sys_total_capex_yr'], electricity['IR_%']/100, electricity['LT_yr']/100) + electricity[service + '_sys_opex_yr'] = electricity[service + '_MWhyr'] * electricity['Opex_var_buy_USD2015perkWh'] * 1000 + electricity[service + '_sys_total_capex_yr'] * electricity['O&M_%']/100 + electricity[service + '_sys_opex_m2yr'] = electricity[service + '_sys_opex_yr'] / electricity['Aocc_m2'] + + # plot also NFA area and costs + fields_to_plot.extend(['Aocc_m2']) + + # embodied emissions + if capital: + fields_to_plot.extend(['Capex_a_sys_disconnected_USD', + 'Capex_a_sys_connected_USD', + 'Capex_total_sys_connected_USD', + 'Capex_total_sys_disconnected_USD', + 'Capex_total_sys_USD', 'TAC_sys_USD' + ]) + # operation emissions + if operational: + fields_to_plot.extend(['Opex_a_sys_connected_USD', + 'Opex_a_sys_disconnected_USD', + 'Opex_a_sys_USD']) + + # create and save results + result = heating.merge(dhw, on='Name', suffixes=('', '_dhw')) + result = result.merge(cooling, on='Name', suffixes=('', '_cooling')) + result = result.merge(electricity, on='Name', suffixes=('', '_ electricity')) + + # add totals: + result['Opex_a_sys_connected_USD'] = result['GRID_sys_opex_yr'] + \ + result['DH_hs_sys_opex_yr'] + \ + result['DH_ww_sys_opex_yr'] + \ + result['DC_cdata_sys_opex_yr'] + \ + result['DC_cs_sys_opex_yr'] + \ + result['DC_cre_sys_opex_yr'] + + result['Opex_a_sys_disconnected_USD'] = result['OIL_hs_sys_opex_yr'] + \ + result['NG_hs_sys_opex_yr'] + \ + result['WOOD_hs_sys_opex_yr'] + \ + result['COAL_hs_sys_opex_yr'] + \ + result['SOLAR_hs_sys_opex_yr'] + \ + result['PV_sys_opex_yr'] + \ + result['OIL_ww_sys_opex_yr'] + \ + result['NG_ww_sys_opex_yr'] + \ + result['WOOD_ww_sys_opex_yr'] + \ + result['COAL_ww_sys_opex_yr'] + \ + result['SOLAR_ww_sys_opex_yr'] + + result['Capex_a_sys_connected_USD'] = result['GRID_sys_a_capex_yr'] + \ + result['DH_hs_sys_a_capex_yr'] + \ + result['DH_ww_sys_a_capex_yr'] + \ + result['DC_cdata_sys_a_capex_yr'] + \ + result['DC_cs_sys_a_capex_yr'] + \ + result['DC_cre_sys_a_capex_yr'] + + result['Capex_a_sys_disconnected_USD'] = result['OIL_hs_sys_a_capex_yr'] + \ + result['NG_hs_sys_a_capex_yr'] + \ + result['WOOD_hs_sys_a_capex_yr'] + \ + result['COAL_hs_sys_a_capex_yr'] + \ + result['SOLAR_hs_sys_a_capex_yr'] + \ + result['PV_sys_a_capex_yr'] + \ + result['OIL_ww_sys_a_capex_yr'] + \ + result['NG_ww_sys_a_capex_yr'] + \ + result['WOOD_ww_sys_a_capex_yr'] + \ + result['COAL_ww_sys_a_capex_yr'] + \ + result['SOLAR_ww_sys_a_capex_yr'] + + result['Capex_total_sys_connected_USD'] = result['GRID_sys_total_capex_yr'] + \ + result['DH_hs_sys_total_capex_yr'] + \ + result['DH_ww_sys_total_capex_yr'] + \ + result['DC_cdata_sys_total_capex_yr'] + \ + result['DC_cs_sys_total_capex_yr'] + \ + result['DC_cre_sys_total_capex_yr'] + + result['Capex_total_sys_disconnected_USD'] = result['OIL_hs_sys_total_capex_yr'] + \ + result['NG_hs_sys_total_capex_yr'] + \ + result['WOOD_hs_sys_total_capex_yr'] + \ + result['COAL_hs_sys_total_capex_yr'] + \ + result['SOLAR_hs_sys_total_capex_yr'] + \ + result['PV_sys_total_capex_yr'] + \ + result['OIL_ww_sys_total_capex_yr'] + \ + result['NG_ww_sys_total_capex_yr'] + \ + result['WOOD_ww_sys_total_capex_yr'] + \ + result['COAL_ww_sys_total_capex_yr'] + \ + result['SOLAR_ww_sys_total_capex_yr'] + + result['Capex_total_sys_USD'] = result['Capex_total_sys_disconnected_USD'] + result['Capex_total_sys_connected_USD'] + result['TAC_sys_USD'] = result['Capex_a_sys_disconnected_USD'] + result['Capex_a_sys_connected_USD'] + result['Opex_a_sys_USD'] = result['Opex_a_sys_disconnected_USD'] + result['Opex_a_sys_connected_USD'] + + result[['Name'] + fields_to_plot].to_csv( + locator.get_costs_operation_file(), index=False, float_format='%.2f') + + +def calc_inv_costs_annualized(InvC, Inv_IR, Inv_LT): + return InvC * (Inv_IR) * (1 + Inv_IR) ** Inv_LT / ((1 + Inv_IR) ** Inv_LT - 1) + +def main(config): + locator = cea.inputlocator.InputLocator(scenario=config.scenario) + + print('Running system-costs with scenario = %s' % config.scenario) + + costs_main(locator=locator,config=config) + + +if __name__ == '__main__': + main(cea.config.Configuration()) diff --git a/cea/analysis/lca/operation.py b/cea/analysis/lca/operation.py index 7b94021026..6486bf0a1a 100644 --- a/cea/analysis/lca/operation.py +++ b/cea/analysis/lca/operation.py @@ -49,7 +49,7 @@ def lca_operation(locator): ## get the supply systems for each building in the scenario supply_systems = gpdf.from_file(locator.get_building_supply()).drop('geometry', axis=1) ## get the non-renewable primary energy and greenhouse gas emissions factors for each supply system in the database - data_all_in_one_systems = pd.read_excel(locator.get_database_conversion_systems(), sheet_name='ALL_IN_ONE_SYSTEMS') + data_all_in_one_systems = pd.read_excel(locator.get_database_assemblies(), sheet_name='SUPPLY') factors_heating = data_all_in_one_systems[data_all_in_one_systems['system'].isin(['HEATING', 'NONE'])] factors_dhw = data_all_in_one_systems[data_all_in_one_systems['system'].isin(['HEATING', 'NONE'])] factors_cooling = data_all_in_one_systems[data_all_in_one_systems['system'].isin(['COOLING', 'NONE'])] @@ -134,16 +134,16 @@ def lca_operation(locator): # calculate the total operational non-renewable primary energy demand and emissions as a sum of the results for each # energy service used in the building - result['O_ghg_kgm2'] = 0.0 - result['O_ghg_ton'] = 0.0 + result['GHG_sys_kgCO2m2'] = 0.0 + result['GHG_sys_tonCO2'] = 0.0 all_services = electrical_services + cooling_services + heating_services + dhw_services for service in all_services: fields_to_plot += [service[2] + '_ghg_ton', service[2] + '_ghg_kgm2'] - result['O_ghg_ton'] += result[service[2] + '_ghg_ton'] - result['O_ghg_kgm2'] += result[service[2] + '_ghg_kgm2'] + result['GHG_sys_tonCO2'] += result[service[2] + '_ghg_ton'] + result['GHG_sys_kgCO2m2'] += result[service[2] + '_ghg_kgm2'] # export the total operational non-renewable energy demand and emissions for each building - fields_to_plot += ['Name', 'GFA_m2', 'O_ghg_ton', 'O_ghg_kgm2'] + fields_to_plot += ['Name', 'GFA_m2', 'GHG_sys_tonCO2', 'GHG_sys_kgCO2m2'] result[fields_to_plot].to_csv(locator.get_lca_operation(), index=False, float_format='%.2f') diff --git a/cea/databases/CH/archetypes/construction_properties.xlsx b/cea/databases/CH/archetypes/construction_properties.xlsx index ffe9e5467d..82528d1b78 100644 Binary files a/cea/databases/CH/archetypes/construction_properties.xlsx and b/cea/databases/CH/archetypes/construction_properties.xlsx differ diff --git a/cea/databases/CH/assemblies/assemblies.xls b/cea/databases/CH/assemblies/assemblies.xls new file mode 100644 index 0000000000..2a5c8fae75 Binary files /dev/null and b/cea/databases/CH/assemblies/assemblies.xls differ diff --git a/cea/databases/CH/systems/air_conditioning_systems.xls b/cea/databases/CH/components/air_conditioning.xls similarity index 99% rename from cea/databases/CH/systems/air_conditioning_systems.xls rename to cea/databases/CH/components/air_conditioning.xls index 78ce90e1b3..2371d0a23a 100644 Binary files a/cea/databases/CH/systems/air_conditioning_systems.xls and b/cea/databases/CH/components/air_conditioning.xls differ diff --git a/cea/databases/CH/systems/conversion_systems.xls b/cea/databases/CH/components/conversion.xls similarity index 63% rename from cea/databases/CH/systems/conversion_systems.xls rename to cea/databases/CH/components/conversion.xls index d8f2e741f3..f3a119e11b 100644 Binary files a/cea/databases/CH/systems/conversion_systems.xls and b/cea/databases/CH/components/conversion.xls differ diff --git a/cea/databases/CH/systems/distribution_systems.xls b/cea/databases/CH/components/distribution.xls similarity index 100% rename from cea/databases/CH/systems/distribution_systems.xls rename to cea/databases/CH/components/distribution.xls diff --git a/cea/databases/CH/systems/envelope_systems.xls b/cea/databases/CH/components/envelope.xls similarity index 100% rename from cea/databases/CH/systems/envelope_systems.xls rename to cea/databases/CH/components/envelope.xls diff --git a/cea/databases/CH/systems/system_references.rst b/cea/databases/CH/components/system_references.rst similarity index 100% rename from cea/databases/CH/systems/system_references.rst rename to cea/databases/CH/components/system_references.rst diff --git a/cea/databases/SG/archetypes/construction_properties.xlsx b/cea/databases/SG/archetypes/construction_properties.xlsx index 0126d7f8ac..94faa16a8a 100644 Binary files a/cea/databases/SG/archetypes/construction_properties.xlsx and b/cea/databases/SG/archetypes/construction_properties.xlsx differ diff --git a/cea/databases/SG/assemblies/assemblies.xls b/cea/databases/SG/assemblies/assemblies.xls new file mode 100644 index 0000000000..8b7d234093 Binary files /dev/null and b/cea/databases/SG/assemblies/assemblies.xls differ diff --git a/cea/databases/SG/systems/air_conditioning_systems.xls b/cea/databases/SG/components/air_conditioning.xls similarity index 100% rename from cea/databases/SG/systems/air_conditioning_systems.xls rename to cea/databases/SG/components/air_conditioning.xls diff --git a/cea/databases/SG/systems/conversion_systems.xls b/cea/databases/SG/components/conversion.xls similarity index 73% rename from cea/databases/SG/systems/conversion_systems.xls rename to cea/databases/SG/components/conversion.xls index ebb877dcf0..77492fd476 100644 Binary files a/cea/databases/SG/systems/conversion_systems.xls and b/cea/databases/SG/components/conversion.xls differ diff --git a/cea/databases/SG/systems/distribution_systems.xls b/cea/databases/SG/components/distribution.xls similarity index 100% rename from cea/databases/SG/systems/distribution_systems.xls rename to cea/databases/SG/components/distribution.xls diff --git a/cea/databases/SG/systems/envelope_systems.xls b/cea/databases/SG/components/envelope.xls similarity index 100% rename from cea/databases/SG/systems/envelope_systems.xls rename to cea/databases/SG/components/envelope.xls diff --git a/cea/databases/SG/systems/system_references.rst b/cea/databases/SG/components/system_references.rst similarity index 100% rename from cea/databases/SG/systems/system_references.rst rename to cea/databases/SG/components/system_references.rst diff --git a/cea/datamanagement/data_initializer.py b/cea/datamanagement/data_initializer.py index d2c39a30e9..2d671eab5a 100644 --- a/cea/datamanagement/data_initializer.py +++ b/cea/datamanagement/data_initializer.py @@ -27,7 +27,8 @@ def data_initializer(locator, databases_path, initialize_archetypes_database=True, initialize_feedstocks_database=True, - initialize_systems_database=True, + initialize_components_database=True, + initialize_assemblies_database=True, ): output_directory = locator.get_databases_folder() @@ -50,14 +51,21 @@ def data_initializer(locator, except: raise Exception("we could not find the 'lifecycle' database in the path you indicated, please check the spelling") - if initialize_systems_database: + if initialize_components_database: try: - complete_databases_path = os.path.join(databases_path, 'systems') + complete_databases_path = os.path.join(databases_path, 'components') complete_output_directory = locator.get_databases_systems_folder() copy_tree(complete_databases_path, complete_output_directory) except: - raise Exception("we could not find the 'systems' database in the path you indicated, please check the spelling") + raise Exception("we could not find the 'components' database in the path you indicated, please check the spelling") + if initialize_assemblies_database: + try: + complete_databases_path = os.path.join(databases_path, 'assemblies') + complete_output_directory = locator.get_databases_assemblies_folder() + copy_tree(complete_databases_path, complete_output_directory) + except: + raise Exception("we could not find the 'assemblies' database in the path you indicated, please check the spelling") def main(config): """ @@ -71,13 +79,15 @@ def main(config): initialize_archetypes_database = 'archetypes' in config.data_initializer.databases initialize_feedstocks_database = 'feedstocks' in config.data_initializer.databases - initialize_systems_database = 'systems' in config.data_initializer.databases + initialize_components_database = 'components' in config.data_initializer.databases + initialize_assemblies_database = 'assemblies' in config.data_initializer.databases data_initializer(locator=locator, databases_path=config.data_initializer.databases_path, initialize_archetypes_database=initialize_archetypes_database, initialize_feedstocks_database=initialize_feedstocks_database, - initialize_systems_database=initialize_systems_database + initialize_components_database=initialize_components_database, + initialize_assemblies_database=initialize_assemblies_database ) diff --git a/cea/default.config b/cea/default.config index d3216795de..3ece33b360 100644 --- a/cea/default.config +++ b/cea/default.config @@ -30,9 +30,9 @@ databases-path = CH databases-path.type = DatabasePathParameter databases-path.help = Either a full path to databases or the standard databases contained within the CEA. -databases = archetypes, systems, feedstocks +databases = archetypes, assemblies, components, feedstocks databases.type = MultiChoiceParameter -databases.choices = archetypes, systems, feedstocks +databases.choices = archetypes, assemblies, components, feedstocks databases.help = List of databases to initialize from the selected path [archetypes-mapper] @@ -279,6 +279,15 @@ predefined-hourly-setpoints = false predefined-hourly-setpoints.type = BooleanParameter predefined-hourly-setpoints.help = True if deterministic temperature set points for each hour of the year are considered to calculate the system demands. +[costs] +capital = true +capital.type = BooleanParameter +capital.help = Estimate Capital costs (total and annualized) due to supply systems (allocated according to the supply-systems input database) + +operational = true +operational.type = BooleanParameter +operational.help = Estimate Operational costs (variable and fixed) due to supply systems operation (allocated according to the supply-systems input database) + [emissions] year-to-calculate = 2020 year-to-calculate.type = IntegerParameter @@ -429,7 +438,7 @@ scripts.choices = compile, list-demand-graphs-fields, multi-criteria-analysis, network-layout, - operation-costs, + costs, optimization, photovoltaic, photovoltaic-thermal, diff --git a/cea/demand/building_properties.py b/cea/demand/building_properties.py index d9676cf031..4d7701f9c1 100644 --- a/cea/demand/building_properties.py +++ b/cea/demand/building_properties.py @@ -646,7 +646,7 @@ def __init__(self, solar): def get_properties_supply_sytems(locator, properties_supply): - data_all_in_one_systems = pd.read_excel(locator.get_database_conversion_systems(), sheet_name='ALL_IN_ONE_SYSTEMS') + data_all_in_one_systems = pd.read_excel(locator.get_database_assemblies(), sheet_name='SUPPLY') supply_heating = data_all_in_one_systems[data_all_in_one_systems['system'].isin(['HEATING', 'NONE'])] supply_dhw = data_all_in_one_systems[data_all_in_one_systems['system'].isin(['HEATING', 'NONE'])] supply_cooling = data_all_in_one_systems[data_all_in_one_systems['system'].isin(['COOLING', 'NONE'])] diff --git a/cea/examples/reference-case-open.zip b/cea/examples/reference-case-open.zip index 88ee5b753d..ba176f0f41 100644 Binary files a/cea/examples/reference-case-open.zip and b/cea/examples/reference-case-open.zip differ diff --git a/cea/glossary.csv b/cea/glossary.csv index 6b410e609c..aaff727ac7 100644 --- a/cea/glossary.csv +++ b/cea/glossary.csv @@ -293,187 +293,188 @@ network-layout,get_network_layout_nodes_shapefile,,Type,Weather a Plant or A Cus -,get_database_envelope_systems,WINDOW,F_F,Window frame fraction coefficient. Defined according to ISO 13790.,[m2-frame/m2-window],{0.0...1},float,black,inputs/technology/systems/envelope_systems.xls:WINDOW -,get_database_envelope_systems,WINDOW,G_win,Solar heat gain coefficient. Defined according to ISO 13790.,[-],{0.0...1},float,black,inputs/technology/systems/envelope_systems.xls:WINDOW -,get_database_envelope_systems,WINDOW,U_win,Thermal transmittance of windows including linear losses (+10%). Defined according to ISO 13790.,[-],{0.1...n},float,black,inputs/technology/systems/envelope_systems.xls:WINDOW --,get_database_conversion_systems,Absorption_chiller,a,"investment cost function, f(x) = a + b*x^c + d*ln(x) + e*x*ln*(x) ",TODO,TODO,long,black,inputs/technology/systems/supply_systems.xls:Absorption_chiller --,get_database_conversion_systems,Absorption_chiller,a_e,parameter in the characteristic equations to calculate the evaporator side ,[-],depends on the source,float,black,inputs/technology/systems/supply_systems.xls:Absorption_chiller --,get_database_conversion_systems,Absorption_chiller,a_g,parameter in the characteristic equations to calculate the generator side,[-],depends on the source,float,black,inputs/technology/systems/supply_systems.xls:Absorption_chiller --,get_database_conversion_systems,Absorption_chiller,assumption,items made by assumptions in this technology,[-],depends on the data availability,string,black,inputs/technology/systems/supply_systems.xls:Absorption_chiller --,get_database_conversion_systems,Absorption_chiller,b,"investment cost function, f(x) = a + b*x^c + d*ln(x) + e*x*ln*(x) ",TODO,TODO,float,black,inputs/technology/systems/supply_systems.xls:Absorption_chiller --,get_database_conversion_systems,Absorption_chiller,c,"investment cost function, f(x) = a + b*x^c + d*ln(x) + e*x*ln*(x) ",TODO,TODO,long,black,inputs/technology/systems/supply_systems.xls:Absorption_chiller --,get_database_conversion_systems,Absorption_chiller,cap_max,maximum capacity ,[W],depends on the source,long,black,inputs/technology/systems/supply_systems.xls:Absorption_chiller --,get_database_conversion_systems,Absorption_chiller,cap_min,minimum capacity,[W],depends on the source,long,black,inputs/technology/systems/supply_systems.xls:Absorption_chiller --,get_database_conversion_systems,Absorption_chiller,code,identifier of each unique equipment,[-],an unique code for each equipment in this worksheet,string,black,inputs/technology/systems/supply_systems.xls:Absorption_chiller --,get_database_conversion_systems,Absorption_chiller,currency,currency-year information of the investment cost function,[currency-year],"should be unified to the same currency-year, e.g., USD-2015",string,black,inputs/technology/systems/supply_systems.xls:Absorption_chiller --,get_database_conversion_systems,Absorption_chiller,d,"investment cost function, f(x) = a + b*x^c + d*ln(x) + e*x*ln*(x) ",TODO,TODO,long,black,inputs/technology/systems/supply_systems.xls:Absorption_chiller --,get_database_conversion_systems,Absorption_chiller,Description,Describes the Type of Absorption Chiller,[-],[-],string,black,inputs/technology/systems/supply_systems.xls:Absorption_chiller --,get_database_conversion_systems,Absorption_chiller,e,"investment cost function, f(x) = a + b*x^c + d*ln(x) + e*x*ln*(x) ",TODO,TODO,long,black,inputs/technology/systems/supply_systems.xls:Absorption_chiller --,get_database_conversion_systems,Absorption_chiller,e_e,parameter in the characteristic equations to calculate the evaporator side ,TODO,TODO,float,black,inputs/technology/systems/supply_systems.xls:Absorption_chiller --,get_database_conversion_systems,Absorption_chiller,e_g,parameter in the characteristic equations to calculate the generator side,TODO,TODO,float,black,inputs/technology/systems/supply_systems.xls:Absorption_chiller --,get_database_conversion_systems,Absorption_chiller,IR_%,interest rate charged on the loan for the capital cost,[-],depends on the source,long,black,inputs/technology/systems/supply_systems.xls:Absorption_chiller --,get_database_conversion_systems,Absorption_chiller,LT_yr,lifetime of this technology,year,depends on the source,long,black,inputs/technology/systems/supply_systems.xls:Absorption_chiller --,get_database_conversion_systems,Absorption_chiller,m_cw,external flow rate of cooling water at the condenser and absorber,TODO,TODO,float,black,inputs/technology/systems/supply_systems.xls:Absorption_chiller --,get_database_conversion_systems,Absorption_chiller,m_hw,external flow rate of hot water at the generator,TODO,TODO,float,black,inputs/technology/systems/supply_systems.xls:Absorption_chiller --,get_database_conversion_systems,Absorption_chiller,O&M_%,operation and maintanence cost factor (fraction of the investment cost),[-],depends on the source,long,black,inputs/technology/systems/supply_systems.xls:Absorption_chiller --,get_database_conversion_systems,Absorption_chiller,r_e,parameter in the characteristic equations to calculate the evaporator side ,[-],depends on the source,float,black,inputs/technology/systems/supply_systems.xls:Absorption_chiller --,get_database_conversion_systems,Absorption_chiller,r_g,parameter in the characteristic equations to calculate the generator side,[-],depends on the source,float,black,inputs/technology/systems/supply_systems.xls:Absorption_chiller --,get_database_conversion_systems,Absorption_chiller,s_e,parameter in the characteristic equations to calculate the evaporator side ,[kW/K],depends on the source,float,black,inputs/technology/systems/supply_systems.xls:Absorption_chiller --,get_database_conversion_systems,Absorption_chiller,s_g,parameter in the characteristic equations to calculate the generator side,[-],depends on the source,float,black,inputs/technology/systems/supply_systems.xls:Absorption_chiller --,get_database_conversion_systems,Absorption_chiller,type,"type of absorption chiller (single, double, or triple)",[-],depends on the source,string,black,inputs/technology/systems/supply_systems.xls:Absorption_chiller --,get_database_conversion_systems,Absorption_chiller,unit,unit of the min/max capacity,TODO,depends on the source,string,black,inputs/technology/systems/supply_systems.xls:Absorption_chiller --,get_database_conversion_systems,ALL_IN_ONE_SYSTEMS,code,Type of all in one system,[-],alphanumeric,date,black,inputs/technology/systems/supply_systems.xls:ALL_IN_ONE_SYSTEMS --,get_database_conversion_systems,ALL_IN_ONE_SYSTEMS,Description,Description of Type of all in one system,[-],alphanumeric,string,black,inputs/technology/systems/supply_systems.xls:ALL_IN_ONE_SYSTEMS --,get_database_conversion_systems,ALL_IN_ONE_SYSTEMS,efficiency,efficiency of the all in one system,[-],{0.0...n},float,black,inputs/technology/systems/supply_systems.xls:ALL_IN_ONE_SYSTEMS --,get_database_conversion_systems,ALL_IN_ONE_SYSTEMS,feedstock,feedstock used by the the all in one system,[-],alphanumeric,string,black,inputs/technology/systems/supply_systems.xls:ALL_IN_ONE_SYSTEMS --,get_database_conversion_systems,ALL_IN_ONE_SYSTEMS,reference,Reference of the data,[-],alphanumeric,string,black,inputs/technology/systems/supply_systems.xls:ALL_IN_ONE_SYSTEMS --,get_database_conversion_systems,ALL_IN_ONE_SYSTEMS,scale,"whether the all in one system is used at the building, or the district scale",[-],alphanumeric,string,black,inputs/technology/systems/supply_systems.xls:ALL_IN_ONE_SYSTEMS --,get_database_conversion_systems,ALL_IN_ONE_SYSTEMS,system,"whether the all in one system is used for heating, cooling or electricity",[-],alphanumeric,string,black,inputs/technology/systems/supply_systems.xls:ALL_IN_ONE_SYSTEMS --,get_database_conversion_systems,BH,a,"investment cost function, f(x) = a + b*x^c + d*ln(x) + e*x*ln*(x) ",TODO,TODO,long,black,inputs/technology/systems/supply_systems.xls:BH --,get_database_conversion_systems,BH,assumption,items made by assumptions in this technology,[-],depends on the data availability,,black,inputs/technology/systems/supply_systems.xls:BH --,get_database_conversion_systems,BH,b,"investment cost function, f(x) = a + b*x^c + d*ln(x) + e*x*ln*(x) ",TODO,TODO,float,black,inputs/technology/systems/supply_systems.xls:BH --,get_database_conversion_systems,BH,c,"investment cost function, f(x) = a + b*x^c + d*ln(x) + e*x*ln*(x) ",TODO,TODO,float,black,inputs/technology/systems/supply_systems.xls:BH --,get_database_conversion_systems,BH,cap_max,maximum capacity ,[W],depends on the source,long,black,inputs/technology/systems/supply_systems.xls:BH --,get_database_conversion_systems,BH,cap_min,minimum capacity,[W],depends on the source,long,black,inputs/technology/systems/supply_systems.xls:BH --,get_database_conversion_systems,BH,code,identifier of each unique equipment,[-],an unique code for each equipment in this worksheet,string,black,inputs/technology/systems/supply_systems.xls:BH --,get_database_conversion_systems,BH,currency,currency-year information of the investment cost function,[currency-year],"should be unified to the same currency-year, e.g., USD-2015",string,black,inputs/technology/systems/supply_systems.xls:BH --,get_database_conversion_systems,BH,d,"investment cost function, f(x) = a + b*x^c + d*ln(x) + e*x*ln*(x) ",TODO,TODO,long,black,inputs/technology/systems/supply_systems.xls:BH --,get_database_conversion_systems,BH,Description,Describes the type of borehole heat exchanger,[-],[-],string,black,inputs/technology/systems/supply_systems.xls:BH --,get_database_conversion_systems,BH,e,"investment cost function, f(x) = a + b*x^c + d*ln(x) + e*x*ln*(x) ",TODO,TODO,long,black,inputs/technology/systems/supply_systems.xls:BH --,get_database_conversion_systems,BH,IR_%,interest rate charged on the loan for the capital cost,[-],depends on the source,long,black,inputs/technology/systems/supply_systems.xls:BH --,get_database_conversion_systems,BH,LT_yr,lifetime of this technology,year,depends on the source,long,black,inputs/technology/systems/supply_systems.xls:BH --,get_database_conversion_systems,BH,O&M_%,operation and maintanence cost factor (fraction of the investment cost),[-],depends on the source,long,black,inputs/technology/systems/supply_systems.xls:BH --,get_database_conversion_systems,BH,unit,unit of the min/max capacity,TODO,depends on the source,string,black,inputs/technology/systems/supply_systems.xls:BH --,get_database_conversion_systems,Boiler,a,"investment cost function, f(x) = a + b*x^c + d*ln(x) + e*x*ln*(x) ",TODO,TODO,float,black,inputs/technology/systems/supply_systems.xls:Boiler --,get_database_conversion_systems,Boiler,assumption,items made by assumptions in this technology,[-],depends on the data availability,,black,inputs/technology/systems/supply_systems.xls:Boiler --,get_database_conversion_systems,Boiler,b,"investment cost function, f(x) = a + b*x^c + d*ln(x) + e*x*ln*(x) ",TODO,TODO,float,black,inputs/technology/systems/supply_systems.xls:Boiler --,get_database_conversion_systems,Boiler,c,"investment cost function, f(x) = a + b*x^c + d*ln(x) + e*x*ln*(x) ",TODO,TODO,long,black,inputs/technology/systems/supply_systems.xls:Boiler --,get_database_conversion_systems,Boiler,cap_max,maximum capacity ,[W],depends on the source,long,black,inputs/technology/systems/supply_systems.xls:Boiler --,get_database_conversion_systems,Boiler,cap_min,minimum capacity,[W],depends on the source,long,black,inputs/technology/systems/supply_systems.xls:Boiler --,get_database_conversion_systems,Boiler,code,identifier of each unique equipment,[-],an unique code for each equipment in this worksheet,string,black,inputs/technology/systems/supply_systems.xls:Boiler --,get_database_conversion_systems,Boiler,currency,currency-year information of the investment cost function,[currency-year],"should be unified to the same currency-year, e.g., USD-2015",string,black,inputs/technology/systems/supply_systems.xls:Boiler --,get_database_conversion_systems,Boiler,d,"investment cost function, f(x) = a + b*x^c + d*ln(x) + e*x*ln*(x) ",TODO,TODO,long,black,inputs/technology/systems/supply_systems.xls:Boiler --,get_database_conversion_systems,Boiler,Description,Describes the type of boiler,[-],[-],string,black,inputs/technology/systems/supply_systems.xls:Boiler --,get_database_conversion_systems,Boiler,e,"investment cost function, f(x) = a + b*x^c + d*ln(x) + e*x*ln*(x) ",TODO,TODO,long,black,inputs/technology/systems/supply_systems.xls:Boiler --,get_database_conversion_systems,Boiler,IR_%,interest rate charged on the loan for the capital cost,[-],depends on the source,long,black,inputs/technology/systems/supply_systems.xls:Boiler --,get_database_conversion_systems,Boiler,LT_yr,lifetime of this technology,year,depends on the source,long,black,inputs/technology/systems/supply_systems.xls:Boiler --,get_database_conversion_systems,Boiler,O&M_%,operation and maintanence cost factor (fraction of the investment cost),[-],depends on the source,long,black,inputs/technology/systems/supply_systems.xls:Boiler --,get_database_conversion_systems,Boiler,unit,unit of the min/max capacity,TODO,depends on the source,string,black,inputs/technology/systems/supply_systems.xls:Boiler --,get_database_conversion_systems,CCGT,a,"investment cost function, f(x) = a + b*x^c + d*ln(x) + e*x*ln*(x) ",TODO,TODO,long,black,inputs/technology/systems/supply_systems.xls:CCGT --,get_database_conversion_systems,CCGT,assumption,items made by assumptions in this technology,[-],depends on the data availability,,black,inputs/technology/systems/supply_systems.xls:CCGT --,get_database_conversion_systems,CCGT,b,"investment cost function, f(x) = a + b*x^c + d*ln(x) + e*x*ln*(x) ",TODO,TODO,float,black,inputs/technology/systems/supply_systems.xls:CCGT --,get_database_conversion_systems,CCGT,c,"investment cost function, f(x) = a + b*x^c + d*ln(x) + e*x*ln*(x) ",TODO,TODO,float,black,inputs/technology/systems/supply_systems.xls:CCGT --,get_database_conversion_systems,CCGT,cap_max,maximum capacity ,[W],depends on the source,long,black,inputs/technology/systems/supply_systems.xls:CCGT --,get_database_conversion_systems,CCGT,cap_min,minimum capacity,[W],depends on the source,long,black,inputs/technology/systems/supply_systems.xls:CCGT --,get_database_conversion_systems,CCGT,code,identifier of each unique equipment,[-],an unique code for each equipment in this worksheet,string,black,inputs/technology/systems/supply_systems.xls:CCGT --,get_database_conversion_systems,CCGT,currency,currency-year information of the investment cost function,[currency-year],"should be unified to the same currency-year, e.g., USD-2015",string,black,inputs/technology/systems/supply_systems.xls:CCGT --,get_database_conversion_systems,CCGT,d,"investment cost function, f(x) = a + b*x^c + d*ln(x) + e*x*ln*(x) ",TODO,TODO,long,black,inputs/technology/systems/supply_systems.xls:CCGT --,get_database_conversion_systems,CCGT,Description,Describes the type of combined-cycle gas turbine,[-],[-],string,black,inputs/technology/systems/supply_systems.xls:CCGT --,get_database_conversion_systems,CCGT,e,"investment cost function, f(x) = a + b*x^c + d*ln(x) + e*x*ln*(x) ",TODO,TODO,long,black,inputs/technology/systems/supply_systems.xls:CCGT --,get_database_conversion_systems,CCGT,IR_%,interest rate charged on the loan for the capital cost,[-],depends on the source,long,black,inputs/technology/systems/supply_systems.xls:CCGT --,get_database_conversion_systems,CCGT,LT_yr,lifetime of this technology,year,depends on the source,long,black,inputs/technology/systems/supply_systems.xls:CCGT --,get_database_conversion_systems,CCGT,O&M_%,operation and maintanence cost factor (fraction of the investment cost),[-],depends on the source,long,black,inputs/technology/systems/supply_systems.xls:CCGT --,get_database_conversion_systems,CCGT,unit,unit of the min/max capacity,TODO,depends on the source,string,black,inputs/technology/systems/supply_systems.xls:CCGT --,get_database_conversion_systems,Chiller,a,"investment cost function, f(x) = a + b*x^c + d*ln(x) + e*x*ln*(x) ",TODO,TODO,float,black,inputs/technology/systems/supply_systems.xls:Chiller --,get_database_conversion_systems,Chiller,assumption,items made by assumptions in this technology,[-],depends on the data availability,string,black,inputs/technology/systems/supply_systems.xls:Chiller --,get_database_conversion_systems,Chiller,b,"investment cost function, f(x) = a + b*x^c + d*ln(x) + e*x*ln*(x) ",TODO,TODO,float,black,inputs/technology/systems/supply_systems.xls:Chiller --,get_database_conversion_systems,Chiller,c,"investment cost function, f(x) = a + b*x^c + d*ln(x) + e*x*ln*(x) ",TODO,TODO,long,black,inputs/technology/systems/supply_systems.xls:Chiller --,get_database_conversion_systems,Chiller,cap_max,maximum capacity ,[W],depends on the source,long,black,inputs/technology/systems/supply_systems.xls:Chiller --,get_database_conversion_systems,Chiller,cap_min,minimum capacity,[W],depends on the source,long,black,inputs/technology/systems/supply_systems.xls:Chiller --,get_database_conversion_systems,Chiller,code,identifier of each unique equipment,[-],an unique code for each equipment in this worksheet,string,black,inputs/technology/systems/supply_systems.xls:Chiller --,get_database_conversion_systems,Chiller,currency,currency-year information of the investment cost function,[currency-year],"should be unified to the same currency-year, e.g., USD-2015",string,black,inputs/technology/systems/supply_systems.xls:Chiller --,get_database_conversion_systems,Chiller,d,"investment cost function, f(x) = a + b*x^c + d*ln(x) + e*x*ln*(x) ",TODO,TODO,long,black,inputs/technology/systems/supply_systems.xls:Chiller --,get_database_conversion_systems,Chiller,Description,Describes the source of the benchmark standards.,[-],[-],string,black,inputs/technology/systems/supply_systems.xls:Chiller --,get_database_conversion_systems,Chiller,e,"investment cost function, f(x) = a + b*x^c + d*ln(x) + e*x*ln*(x) ",TODO,TODO,long,black,inputs/technology/systems/supply_systems.xls:Chiller --,get_database_conversion_systems,Chiller,IR_%,interest rate charged on the loan for the capital cost,[-],depends on the source,long,black,inputs/technology/systems/supply_systems.xls:Chiller --,get_database_conversion_systems,Chiller,LT_yr,lifetime of this technology,year,depends on the source,long,black,inputs/technology/systems/supply_systems.xls:Chiller --,get_database_conversion_systems,Chiller,O&M_%,operation and maintanence cost factor (fraction of the investment cost),[-],depends on the source,long,black,inputs/technology/systems/supply_systems.xls:Chiller --,get_database_conversion_systems,Chiller,unit,unit of the min/max capacity,TODO,depends on the source,string,black,inputs/technology/systems/supply_systems.xls:Chiller --,get_database_conversion_systems,CT,a,"investment cost function, f(x) = a + b*x^c + d*ln(x) + e*x*ln*(x) ",TODO,TODO,float,black,inputs/technology/systems/supply_systems.xls:CT --,get_database_conversion_systems,CT,assumption,items made by assumptions in this technology,[-],depends on the data availability,string,black,inputs/technology/systems/supply_systems.xls:CT --,get_database_conversion_systems,CT,b,"investment cost function, f(x) = a + b*x^c + d*ln(x) + e*x*ln*(x) ",TODO,TODO,float,black,inputs/technology/systems/supply_systems.xls:CT --,get_database_conversion_systems,CT,c,"investment cost function, f(x) = a + b*x^c + d*ln(x) + e*x*ln*(x) ",TODO,TODO,long,black,inputs/technology/systems/supply_systems.xls:CT --,get_database_conversion_systems,CT,cap_max,maximum capacity ,[W],depends on the source,long,black,inputs/technology/systems/supply_systems.xls:CT --,get_database_conversion_systems,CT,cap_min,minimum capacity,[W],depends on the source,long,black,inputs/technology/systems/supply_systems.xls:CT --,get_database_conversion_systems,CT,code,identifier of each unique equipment,[-],an unique code for each equipment in this worksheet,string,black,inputs/technology/systems/supply_systems.xls:CT --,get_database_conversion_systems,CT,currency,currency-year information of the investment cost function,[currency-year],"should be unified to the same currency-year, e.g., USD-2015",string,black,inputs/technology/systems/supply_systems.xls:CT --,get_database_conversion_systems,CT,d,"investment cost function, f(x) = a + b*x^c + d*ln(x) + e*x*ln*(x) ",TODO,TODO,long,black,inputs/technology/systems/supply_systems.xls:CT --,get_database_conversion_systems,CT,Description,Describes the type of cooling tower,[-],[-],string,black,inputs/technology/systems/supply_systems.xls:CT --,get_database_conversion_systems,CT,e,"investment cost function, f(x) = a + b*x^c + d*ln(x) + e*x*ln*(x) ",TODO,TODO,long,black,inputs/technology/systems/supply_systems.xls:CT --,get_database_conversion_systems,CT,IR_%,interest rate charged on the loan for the capital cost,[-],depends on the source,long,black,inputs/technology/systems/supply_systems.xls:CT --,get_database_conversion_systems,CT,LT_yr,lifetime of this technology,year,depends on the source,long,black,inputs/technology/systems/supply_systems.xls:CT --,get_database_conversion_systems,CT,O&M_%,operation and maintanence cost factor (fraction of the investment cost),[-],depends on the source,long,black,inputs/technology/systems/supply_systems.xls:CT --,get_database_conversion_systems,CT,unit,unit of the min/max capacity,TODO,depends on the source,string,black,inputs/technology/systems/supply_systems.xls:CT --,get_database_conversion_systems,DETAILED_ELEC_PRICES,hour,TODO,TODO,TODO,long,black,inputs/technology/systems/supply_systems.xls:DETAILED_ELEC_PRICES --,get_database_conversion_systems,DETAILED_ELEC_PRICES,Opex_var_buy_USD2015perkWh,TODO,TODO,TODO,float,black,inputs/technology/systems/supply_systems.xls:DETAILED_ELEC_PRICES --,get_database_conversion_systems,DETAILED_ELEC_PRICES,Opex_var_sell_USD2015perkWh,TODO,TODO,TODO,float,black,inputs/technology/systems/supply_systems.xls:DETAILED_ELEC_PRICES --,get_database_conversion_systems,DETAILED_ELEC_PRICES,year,TODO,TODO,TODO,long,black,inputs/technology/systems/supply_systems.xls:DETAILED_ELEC_PRICES --,get_database_conversion_systems,FC, Assumptions,items made by assumptions in this technology,[-],depends on the data availability,string,black,inputs/technology/systems/supply_systems.xls:FC --,get_database_conversion_systems,FC,a,"investment cost function, f(x) = a + b*x^c + d*ln(x) + e*x*ln*(x) ",TODO,TODO,long,black,inputs/technology/systems/supply_systems.xls:FC --,get_database_conversion_systems,FC,b,"investment cost function, f(x) = a + b*x^c + d*ln(x) + e*x*ln*(x) ",TODO,TODO,float,black,inputs/technology/systems/supply_systems.xls:FC --,get_database_conversion_systems,FC,c,"investment cost function, f(x) = a + b*x^c + d*ln(x) + e*x*ln*(x) ",TODO,TODO,long,black,inputs/technology/systems/supply_systems.xls:FC --,get_database_conversion_systems,FC,cap_max,maximum capacity ,[W],depends on the source,long,black,inputs/technology/systems/supply_systems.xls:FC --,get_database_conversion_systems,FC,cap_min,minimum capacity,[W],depends on the source,long,black,inputs/technology/systems/supply_systems.xls:FC --,get_database_conversion_systems,FC,code,identifier of each unique equipment,[-],an unique code for each equipment in this worksheet,string,black,inputs/technology/systems/supply_systems.xls:FC --,get_database_conversion_systems,FC,currency,currency-year information of the investment cost function,[currency-year],"should be unified to the same currency-year, e.g., USD-2015",string,black,inputs/technology/systems/supply_systems.xls:FC --,get_database_conversion_systems,FC,d,"investment cost function, f(x) = a + b*x^c + d*ln(x) + e*x*ln*(x) ",TODO,TODO,long,black,inputs/technology/systems/supply_systems.xls:FC --,get_database_conversion_systems,FC,Description,Describes the type of fuel cell,[-],[-],string,black,inputs/technology/systems/supply_systems.xls:FC --,get_database_conversion_systems,FC,e,"investment cost function, f(x) = a + b*x^c + d*ln(x) + e*x*ln*(x) ",TODO,TODO,long,black,inputs/technology/systems/supply_systems.xls:FC --,get_database_conversion_systems,FC,IR_%,interest rate charged on the loan for the capital cost,[-],depends on the source,long,black,inputs/technology/systems/supply_systems.xls:FC --,get_database_conversion_systems,FC,LT_yr,lifetime of this technology,year,depends on the source,long,black,inputs/technology/systems/supply_systems.xls:FC --,get_database_conversion_systems,FC,O&M_%,operation and maintanence cost factor (fraction of the investment cost),[-],depends on the source,long,black,inputs/technology/systems/supply_systems.xls:FC --,get_database_conversion_systems,FC,unit,unit of the min/max capacity,TODO,depends on the source,string,black,inputs/technology/systems/supply_systems.xls:FC --,get_database_conversion_systems,FEEDSTOCKS,CO2,TODO,TODO,TODO,float,black,inputs/technology/systems/supply_systems.xls:FEEDSTOCKS --,get_database_conversion_systems,FEEDSTOCKS,code,TODO,TODO,TODO,string,black,inputs/technology/systems/supply_systems.xls:FEEDSTOCKS --,get_database_conversion_systems,FEEDSTOCKS,Opex_var_buy_USD2015perkWh,TODO,TODO,TODO,float,black,inputs/technology/systems/supply_systems.xls:FEEDSTOCKS --,get_database_conversion_systems,FEEDSTOCKS,Opex_var_sell_USD2015perkWh,TODO,TODO,TODO,float,black,inputs/technology/systems/supply_systems.xls:FEEDSTOCKS --,get_database_conversion_systems,FEEDSTOCKS,reference,TODO,TODO,TODO,string,black,inputs/technology/systems/supply_systems.xls:FEEDSTOCKS --,get_database_conversion_systems,Furnace,a,"investment cost function, f(x) = a + b*x^c + d*ln(x) + e*x*ln*(x) ",TODO,TODO,long,black,inputs/technology/systems/supply_systems.xls:Furnace --,get_database_conversion_systems,Furnace,assumption,items made by assumptions in this technology,[-],depends on the data availability,,black,inputs/technology/systems/supply_systems.xls:Furnace --,get_database_conversion_systems,Furnace,b,"investment cost function, f(x) = a + b*x^c + d*ln(x) + e*x*ln*(x) ",TODO,TODO,float,black,inputs/technology/systems/supply_systems.xls:Furnace --,get_database_conversion_systems,Furnace,c,"investment cost function, f(x) = a + b*x^c + d*ln(x) + e*x*ln*(x) ",TODO,TODO,long,black,inputs/technology/systems/supply_systems.xls:Furnace --,get_database_conversion_systems,Furnace,cap_max,maximum capacity ,[W],depends on the source,long,black,inputs/technology/systems/supply_systems.xls:Furnace --,get_database_conversion_systems,Furnace,cap_min,minimum capacity,[W],depends on the source,long,black,inputs/technology/systems/supply_systems.xls:Furnace --,get_database_conversion_systems,Furnace,code,identifier of each unique equipment,[-],an unique code for each equipment in this worksheet,string,black,inputs/technology/systems/supply_systems.xls:Furnace --,get_database_conversion_systems,Furnace,currency,currency-year information of the investment cost function,[currency-year],"should be unified to the same currency-year, e.g., USD-2015",string,black,inputs/technology/systems/supply_systems.xls:Furnace --,get_database_conversion_systems,Furnace,d,"investment cost function, f(x) = a + b*x^c + d*ln(x) + e*x*ln*(x) ",TODO,TODO,long,black,inputs/technology/systems/supply_systems.xls:Furnace --,get_database_conversion_systems,Furnace,Description,Describes the type of furnace,[-],[-],string,black,inputs/technology/systems/supply_systems.xls:Furnace --,get_database_conversion_systems,Furnace,e,"investment cost function, f(x) = a + b*x^c + d*ln(x) + e*x*ln*(x) ",TODO,TODO,long,black,inputs/technology/systems/supply_systems.xls:Furnace --,get_database_conversion_systems,Furnace,IR_%,interest rate charged on the loan for the capital cost,[-],depends on the source,long,black,inputs/technology/systems/supply_systems.xls:Furnace --,get_database_conversion_systems,Furnace,LT_yr,lifetime of this technology,year,depends on the source,long,black,inputs/technology/systems/supply_systems.xls:Furnace --,get_database_conversion_systems,Furnace,O&M_%,operation and maintanence cost factor (fraction of the investment cost),[-],depends on the source,long,black,inputs/technology/systems/supply_systems.xls:Furnace --,get_database_conversion_systems,Furnace,unit,unit of the min/max capacity,TODO,depends on the source,string,black,inputs/technology/systems/supply_systems.xls:Furnace --,get_database_conversion_systems,HEX,a,"investment cost function, f(x) = a + b*x^c + d*ln(x) + e*x*ln*(x) ",TODO,TODO,float,black,inputs/technology/systems/supply_systems.xls:HEX --,get_database_conversion_systems,HEX,a_p,"pressure loss function, f(x) = a_p + b_p*x^c_p + d_p*ln(x) + e_p*x*ln*(x), where x is the capacity mass flow rate [W/K] ",[-],depends on the source,long,black,inputs/technology/systems/supply_systems.xls:HEX --,get_database_conversion_systems,HEX,assumption,items made by assumptions in this technology,[-],depends on the data availability,string,black,inputs/technology/systems/supply_systems.xls:HEX --,get_database_conversion_systems,HEX,b,"investment cost function, f(x) = a + b*x^c + d*ln(x) + e*x*ln*(x) ",TODO,TODO,float,black,inputs/technology/systems/supply_systems.xls:HEX --,get_database_conversion_systems,HEX,b_p,"pressure loss function, f(x) = a_p + b_p*x^c_p + d_p*ln(x) + e_p*x*ln*(x), where x is the capacity mass flow rate [W/K] ",TODO,TODO,float,black,inputs/technology/systems/supply_systems.xls:HEX --,get_database_conversion_systems,HEX,c,"investment cost function, f(x) = a + b*x^c + d*ln(x) + e*x*ln*(x) ",TODO,TODO,long,black,inputs/technology/systems/supply_systems.xls:HEX --,get_database_conversion_systems,HEX,c_p,"pressure loss function, f(x) = a_p + b_p*x^c_p + d_p*ln(x) + e_p*x*ln*(x), where x is the capacity mass flow rate [W/K] ",TODO,TODO,float,black,inputs/technology/systems/supply_systems.xls:HEX --,get_database_conversion_systems,HEX,cap_max,maximum capacity ,[W] or [m2],depends on the source,long,black,inputs/technology/systems/supply_systems.xls:HEX --,get_database_conversion_systems,HEX,cap_min,minimum capacity,[W] or [m2],depends on the source,long,black,inputs/technology/systems/supply_systems.xls:HEX --,get_database_conversion_systems,HEX,code,identifier of each unique equipment,[-],an unique code for each equipment in this worksheet,string,black,inputs/technology/systems/supply_systems.xls:HEX --,get_database_conversion_systems,HEX,currency,currency-year information of the investment cost function,[currency-year],"should be unified to the same currency-year, e.g., USD-2015",string,black,inputs/technology/systems/supply_systems.xls:HEX --,get_database_conversion_systems,HEX,d,"investment cost function, f(x) = a + b*x^c + d*ln(x) + e*x*ln*(x) ",TODO,TODO,long,black,inputs/technology/systems/supply_systems.xls:HEX --,get_database_conversion_systems,HEX,d_p,"pressure loss function, f(x) = a_p + b_p*x^c_p + d_p*ln(x) + e_p*x*ln*(x), where x is the capacity mass flow rate [W/K] ",TODO,TODO,long,black,inputs/technology/systems/supply_systems.xls:HEX --,get_database_conversion_systems,HEX,Description,Describes the type of heat exchanger,[-],[-],string,black,inputs/technology/systems/supply_systems.xls:HEX --,get_database_conversion_systems,HEX,e,"investment cost function, f(x) = a + b*x^c + d*ln(x) + e*x*ln*(x) ",TODO,TODO,long,black,inputs/technology/systems/supply_systems.xls:HEX --,get_database_conversion_systems,HEX,e_p,"pressure loss function, f(x) = a_p + b_p*x^c_p + d_p*ln(x) + e_p*x*ln*(x), where x is the capacity mass flow rate [W/K] ",TODO,TODO,float,black,inputs/technology/systems/supply_systems.xls:HEX --,get_database_conversion_systems,HEX,IR_%,interest rate charged on the loan for the capital cost,[-],depends on the source,long,black,inputs/technology/systems/supply_systems.xls:HEX --,get_database_conversion_systems,HEX,LT_yr,lifetime of this technology,year,depends on the source,long,black,inputs/technology/systems/supply_systems.xls:HEX --,get_database_conversion_systems,HEX,O&M_%,operation and maintanence cost factor (fraction of the investment cost),[-],depends on the source,long,black,inputs/technology/systems/supply_systems.xls:HEX --,get_database_conversion_systems,HEX,unit,unit of the min/max capacity,TODO,depends on the source,string,black,inputs/technology/systems/supply_systems.xls:HEX --,get_database_conversion_systems,HP,a,"investment cost function, f(x) = a + b*x^c + d*ln(x) + e*x*ln*(x) ",TODO,TODO,long,black,inputs/technology/systems/supply_systems.xls:HP --,get_database_conversion_systems,HP,assumption,items made by assumptions in this technology,[-],depends on the data availability,,black,inputs/technology/systems/supply_systems.xls:HP --,get_database_conversion_systems,HP,b,"investment cost function, f(x) = a + b*x^c + d*ln(x) + e*x*ln*(x) ",TODO,TODO,float,black,inputs/technology/systems/supply_systems.xls:HP --,get_database_conversion_systems,HP,c,"investment cost function, f(x) = a + b*x^c + d*ln(x) + e*x*ln*(x) ",TODO,TODO,float,black,inputs/technology/systems/supply_systems.xls:HP --,get_database_conversion_systems,HP,cap_max,maximum capacity ,[W],depends on the source,long,black,inputs/technology/systems/supply_systems.xls:HP --,get_database_conversion_systems,HP,cap_min,minimum capacity,[W],depends on the source,long,black,inputs/technology/systems/supply_systems.xls:HP --,get_database_conversion_systems,HP,code,identifier of each unique equipment,[-],an unique code for each equipment in this worksheet,string,black,inputs/technology/systems/supply_systems.xls:HP --,get_database_conversion_systems,HP,currency,currency-year information of the investment cost function,[currency-year],"should be unified to the same currency-year, e.g., USD-2015",string,black,inputs/technology/systems/supply_systems.xls:HP --,get_database_conversion_systems,HP,d,"investment cost function, f(x) = a + b*x^c + d*ln(x) + e*x*ln*(x) ",TODO,TODO,long,black,inputs/technology/systems/supply_systems.xls:HP --,get_database_conversion_systems,HP,Description,Describes the source of the heat pump,[-],[-],string,black,inputs/technology/systems/supply_systems.xls:HP --,get_database_conversion_systems,HP,e,"investment cost function, f(x) = a + b*x^c + d*ln(x) + e*x*ln*(x) ",TODO,TODO,float,black,inputs/technology/systems/supply_systems.xls:HP --,get_database_conversion_systems,HP,IR_%,interest rate charged on the loan for the capital cost,[-],depends on the source,long,black,inputs/technology/systems/supply_systems.xls:HP --,get_database_conversion_systems,HP,LT_yr,lifetime of this technology,year,depends on the source,long,black,inputs/technology/systems/supply_systems.xls:HP --,get_database_conversion_systems,HP,O&M_%,operation and maintanence cost factor (fraction of the investment cost),[-],depends on the source,long,black,inputs/technology/systems/supply_systems.xls:HP +-,get_database_conversion_systems,Absorption_chiller,a,"investment cost function, f(x) = a + b*x^c + d*ln(x) + e*x*ln*(x) ",TODO,TODO,long,black,inputs/technology/systems/conversion_systems.xls:Absorption_chiller +-,get_database_conversion_systems,Absorption_chiller,a_e,parameter in the characteristic equations to calculate the evaporator side ,[-],depends on the source,float,black,inputs/technology/systems/conversion_systems.xls:Absorption_chiller +-,get_database_conversion_systems,Absorption_chiller,a_g,parameter in the characteristic equations to calculate the generator side,[-],depends on the source,float,black,inputs/technology/systems/conversion_systems.xls:Absorption_chiller +-,get_database_conversion_systems,Absorption_chiller,assumption,items made by assumptions in this technology,[-],depends on the data availability,string,black,inputs/technology/systems/conversion_systems.xls:Absorption_chiller +-,get_database_conversion_systems,Absorption_chiller,b,"investment cost function, f(x) = a + b*x^c + d*ln(x) + e*x*ln*(x) ",TODO,TODO,float,black,inputs/technology/systems/conversion_systems.xls:Absorption_chiller +-,get_database_conversion_systems,Absorption_chiller,c,"investment cost function, f(x) = a + b*x^c + d*ln(x) + e*x*ln*(x) ",TODO,TODO,long,black,inputs/technology/systems/conversion_systems.xls:Absorption_chiller +-,get_database_conversion_systems,Absorption_chiller,cap_max,maximum capacity ,[W],depends on the source,long,black,inputs/technology/systems/conversion_systems.xls:Absorption_chiller +-,get_database_conversion_systems,Absorption_chiller,cap_min,minimum capacity,[W],depends on the source,long,black,inputs/technology/systems/conversion_systems.xls:Absorption_chiller +-,get_database_conversion_systems,Absorption_chiller,code,identifier of each unique equipment,[-],an unique code for each equipment in this worksheet,string,black,inputs/technology/systems/conversion_systems.xls:Absorption_chiller +-,get_database_conversion_systems,Absorption_chiller,currency,currency-year information of the investment cost function,[currency-year],"should be unified to the same currency-year, e.g., USD-2015",string,black,inputs/technology/systems/conversion_systems.xls:Absorption_chiller +-,get_database_conversion_systems,Absorption_chiller,d,"investment cost function, f(x) = a + b*x^c + d*ln(x) + e*x*ln*(x) ",TODO,TODO,long,black,inputs/technology/systems/conversion_systems.xls:Absorption_chiller +-,get_database_conversion_systems,Absorption_chiller,Description,Describes the Type of Absorption Chiller,[-],[-],string,black,inputs/technology/systems/conversion_systems.xls:Absorption_chiller +-,get_database_conversion_systems,Absorption_chiller,e,"investment cost function, f(x) = a + b*x^c + d*ln(x) + e*x*ln*(x) ",TODO,TODO,long,black,inputs/technology/systems/conversion_systems.xls:Absorption_chiller +-,get_database_conversion_systems,Absorption_chiller,e_e,parameter in the characteristic equations to calculate the evaporator side ,TODO,TODO,float,black,inputs/technology/systems/conversion_systems.xls:Absorption_chiller +-,get_database_conversion_systems,Absorption_chiller,e_g,parameter in the characteristic equations to calculate the generator side,TODO,TODO,float,black,inputs/technology/systems/conversion_systems.xls:Absorption_chiller +-,get_database_conversion_systems,Absorption_chiller,IR_%,interest rate charged on the loan for the capital cost,[-],depends on the source,long,black,inputs/technology/systems/conversion_systems.xls:Absorption_chiller +-,get_database_conversion_systems,Absorption_chiller,LT_yr,lifetime of this technology,year,depends on the source,long,black,inputs/technology/systems/conversion_systems.xls:Absorption_chiller +-,get_database_conversion_systems,Absorption_chiller,m_cw,external flow rate of cooling water at the condenser and absorber,TODO,TODO,float,black,inputs/technology/systems/conversion_systems.xls:Absorption_chiller +-,get_database_conversion_systems,Absorption_chiller,m_hw,external flow rate of hot water at the generator,TODO,TODO,float,black,inputs/technology/systems/conversion_systems.xls:Absorption_chiller +-,get_database_conversion_systems,Absorption_chiller,O&M_%,operation and maintanence cost factor (fraction of the investment cost),[-],depends on the source,long,black,inputs/technology/systems/conversion_systems.xls:Absorption_chiller +-,get_database_conversion_systems,Absorption_chiller,r_e,parameter in the characteristic equations to calculate the evaporator side ,[-],depends on the source,float,black,inputs/technology/systems/conversion_systems.xls:Absorption_chiller +-,get_database_conversion_systems,Absorption_chiller,r_g,parameter in the characteristic equations to calculate the generator side,[-],depends on the source,float,black,inputs/technology/systems/conversion_systems.xls:Absorption_chiller +-,get_database_conversion_systems,Absorption_chiller,s_e,parameter in the characteristic equations to calculate the evaporator side ,[kW/K],depends on the source,float,black,inputs/technology/systems/conversion_systems.xls:Absorption_chiller +-,get_database_conversion_systems,Absorption_chiller,s_g,parameter in the characteristic equations to calculate the generator side,[-],depends on the source,float,black,inputs/technology/systems/conversion_systems.xls:Absorption_chiller +-,get_database_conversion_systems,Absorption_chiller,type,"type of absorption chiller (single, double, or triple)",[-],depends on the source,string,black,inputs/technology/systems/conversion_systems.xls:Absorption_chiller +-,get_database_conversion_systems,Absorption_chiller,unit,unit of the min/max capacity,TODO,depends on the source,string,black,inputs/technology/systems/conversion_systems.xls:Absorption_chiller +-,get_database_assemblies,SUPPLY,code,Type of all in one system,[-],alphanumeric,date,black,inputs/technology/assemblies/assemblies.xls:SUPPLY +-,get_database_assemblies,SUPPLY,Description,Description of Type of all in one system,[-],alphanumeric,string,black,inputs/technology/assemblies/assemblies.xls:SUPPLY +-,get_database_assemblies,SUPPLY,efficiency,efficiency of the all in one system,[-],{0.0...n},float,black,inputs/technology/assemblies/assemblies.xls:SUPPLY +-,get_database_assemblies,SUPPLY,feedstock,feedstock used by the the all in one system,[-],alphanumeric,string,black,inputs/technology/assemblies/assemblies.xls:SUPPLY +-,get_database_assemblies,SUPPLY,reference,Reference of the data,[-],alphanumeric,string,black,inputs/technology/assemblies/assemblies.xls:SUPPLY +-,get_database_assemblies,SUPPLY,scale,"whether the all in one system is used at the building, or the district scale",[-],alphanumeric,string,black,inputs/technology/assemblies/assemblies.xls:SUPPLY +-,get_database_assemblies,SUPPLY,system,"whether the all in one system is used for heating, cooling or electricity",[-],alphanumeric,string,black,inputs/technology/assemblies/assemblies.xls:SUPPLY +-,get_database_assemblies,SUPPLY,CAPEX_USD2015kW,Capital costs per kW,[USD2015/kW],{0.0...n},float,black,inputs/technology/assemblies/assemblies.xls:SUPPLY +-,get_database_conversion_systems,BH,a,"investment cost function, f(x) = a + b*x^c + d*ln(x) + e*x*ln*(x) ",TODO,TODO,long,black,inputs/technology/systems/conversion_systems.xls:BH +-,get_database_conversion_systems,BH,assumption,items made by assumptions in this technology,[-],depends on the data availability,,black,inputs/technology/systems/conversion_systems.xls:BH +-,get_database_conversion_systems,BH,b,"investment cost function, f(x) = a + b*x^c + d*ln(x) + e*x*ln*(x) ",TODO,TODO,float,black,inputs/technology/systems/conversion_systems.xls:BH +-,get_database_conversion_systems,BH,c,"investment cost function, f(x) = a + b*x^c + d*ln(x) + e*x*ln*(x) ",TODO,TODO,float,black,inputs/technology/systems/conversion_systems.xls:BH +-,get_database_conversion_systems,BH,cap_max,maximum capacity ,[W],depends on the source,long,black,inputs/technology/systems/conversion_systems.xls:BH +-,get_database_conversion_systems,BH,cap_min,minimum capacity,[W],depends on the source,long,black,inputs/technology/systems/conversion_systems.xls:BH +-,get_database_conversion_systems,BH,code,identifier of each unique equipment,[-],an unique code for each equipment in this worksheet,string,black,inputs/technology/systems/conversion_systems.xls:BH +-,get_database_conversion_systems,BH,currency,currency-year information of the investment cost function,[currency-year],"should be unified to the same currency-year, e.g., USD-2015",string,black,inputs/technology/systems/conversion_systems.xls:BH +-,get_database_conversion_systems,BH,d,"investment cost function, f(x) = a + b*x^c + d*ln(x) + e*x*ln*(x) ",TODO,TODO,long,black,inputs/technology/systems/conversion_systems.xls:BH +-,get_database_conversion_systems,BH,Description,Describes the type of borehole heat exchanger,[-],[-],string,black,inputs/technology/systems/conversion_systems.xls:BH +-,get_database_conversion_systems,BH,e,"investment cost function, f(x) = a + b*x^c + d*ln(x) + e*x*ln*(x) ",TODO,TODO,long,black,inputs/technology/systems/conversion_systems.xls:BH +-,get_database_conversion_systems,BH,IR_%,interest rate charged on the loan for the capital cost,[-],depends on the source,long,black,inputs/technology/systems/conversion_systems.xls:BH +-,get_database_conversion_systems,BH,LT_yr,lifetime of this technology,year,depends on the source,long,black,inputs/technology/systems/conversion_systems.xls:BH +-,get_database_conversion_systems,BH,O&M_%,operation and maintanence cost factor (fraction of the investment cost),[-],depends on the source,long,black,inputs/technology/systems/conversion_systems.xls:BH +-,get_database_conversion_systems,BH,unit,unit of the min/max capacity,TODO,depends on the source,string,black,inputs/technology/systems/conversion_systems.xls:BH +-,get_database_conversion_systems,Boiler,a,"investment cost function, f(x) = a + b*x^c + d*ln(x) + e*x*ln*(x) ",TODO,TODO,float,black,inputs/technology/systems/conversion_systems.xls:Boiler +-,get_database_conversion_systems,Boiler,assumption,items made by assumptions in this technology,[-],depends on the data availability,,black,inputs/technology/systems/conversion_systems.xls:Boiler +-,get_database_conversion_systems,Boiler,b,"investment cost function, f(x) = a + b*x^c + d*ln(x) + e*x*ln*(x) ",TODO,TODO,float,black,inputs/technology/systems/conversion_systems.xls:Boiler +-,get_database_conversion_systems,Boiler,c,"investment cost function, f(x) = a + b*x^c + d*ln(x) + e*x*ln*(x) ",TODO,TODO,long,black,inputs/technology/systems/conversion_systems.xls:Boiler +-,get_database_conversion_systems,Boiler,cap_max,maximum capacity ,[W],depends on the source,long,black,inputs/technology/systems/conversion_systems.xls:Boiler +-,get_database_conversion_systems,Boiler,cap_min,minimum capacity,[W],depends on the source,long,black,inputs/technology/systems/conversion_systems.xls:Boiler +-,get_database_conversion_systems,Boiler,code,identifier of each unique equipment,[-],an unique code for each equipment in this worksheet,string,black,inputs/technology/systems/conversion_systems.xls:Boiler +-,get_database_conversion_systems,Boiler,currency,currency-year information of the investment cost function,[currency-year],"should be unified to the same currency-year, e.g., USD-2015",string,black,inputs/technology/systems/conversion_systems.xls:Boiler +-,get_database_conversion_systems,Boiler,d,"investment cost function, f(x) = a + b*x^c + d*ln(x) + e*x*ln*(x) ",TODO,TODO,long,black,inputs/technology/systems/conversion_systems.xls:Boiler +-,get_database_conversion_systems,Boiler,Description,Describes the type of boiler,[-],[-],string,black,inputs/technology/systems/conversion_systems.xls:Boiler +-,get_database_conversion_systems,Boiler,e,"investment cost function, f(x) = a + b*x^c + d*ln(x) + e*x*ln*(x) ",TODO,TODO,long,black,inputs/technology/systems/conversion_systems.xls:Boiler +-,get_database_conversion_systems,Boiler,IR_%,interest rate charged on the loan for the capital cost,[-],depends on the source,long,black,inputs/technology/systems/conversion_systems.xls:Boiler +-,get_database_conversion_systems,Boiler,LT_yr,lifetime of this technology,year,depends on the source,long,black,inputs/technology/systems/conversion_systems.xls:Boiler +-,get_database_conversion_systems,Boiler,O&M_%,operation and maintanence cost factor (fraction of the investment cost),[-],depends on the source,long,black,inputs/technology/systems/conversion_systems.xls:Boiler +-,get_database_conversion_systems,Boiler,unit,unit of the min/max capacity,TODO,depends on the source,string,black,inputs/technology/systems/conversion_systems.xls:Boiler +-,get_database_conversion_systems,CCGT,a,"investment cost function, f(x) = a + b*x^c + d*ln(x) + e*x*ln*(x) ",TODO,TODO,long,black,inputs/technology/systems/conversion_systems.xls:CCGT +-,get_database_conversion_systems,CCGT,assumption,items made by assumptions in this technology,[-],depends on the data availability,,black,inputs/technology/systems/conversion_systems.xls:CCGT +-,get_database_conversion_systems,CCGT,b,"investment cost function, f(x) = a + b*x^c + d*ln(x) + e*x*ln*(x) ",TODO,TODO,float,black,inputs/technology/systems/conversion_systems.xls:CCGT +-,get_database_conversion_systems,CCGT,c,"investment cost function, f(x) = a + b*x^c + d*ln(x) + e*x*ln*(x) ",TODO,TODO,float,black,inputs/technology/systems/conversion_systems.xls:CCGT +-,get_database_conversion_systems,CCGT,cap_max,maximum capacity ,[W],depends on the source,long,black,inputs/technology/systems/conversion_systems.xls:CCGT +-,get_database_conversion_systems,CCGT,cap_min,minimum capacity,[W],depends on the source,long,black,inputs/technology/systems/conversion_systems.xls:CCGT +-,get_database_conversion_systems,CCGT,code,identifier of each unique equipment,[-],an unique code for each equipment in this worksheet,string,black,inputs/technology/systems/conversion_systems.xls:CCGT +-,get_database_conversion_systems,CCGT,currency,currency-year information of the investment cost function,[currency-year],"should be unified to the same currency-year, e.g., USD-2015",string,black,inputs/technology/systems/conversion_systems.xls:CCGT +-,get_database_conversion_systems,CCGT,d,"investment cost function, f(x) = a + b*x^c + d*ln(x) + e*x*ln*(x) ",TODO,TODO,long,black,inputs/technology/systems/conversion_systems.xls:CCGT +-,get_database_conversion_systems,CCGT,Description,Describes the type of combined-cycle gas turbine,[-],[-],string,black,inputs/technology/systems/conversion_systems.xls:CCGT +-,get_database_conversion_systems,CCGT,e,"investment cost function, f(x) = a + b*x^c + d*ln(x) + e*x*ln*(x) ",TODO,TODO,long,black,inputs/technology/systems/conversion_systems.xls:CCGT +-,get_database_conversion_systems,CCGT,IR_%,interest rate charged on the loan for the capital cost,[-],depends on the source,long,black,inputs/technology/systems/conversion_systems.xls:CCGT +-,get_database_conversion_systems,CCGT,LT_yr,lifetime of this technology,year,depends on the source,long,black,inputs/technology/systems/conversion_systems.xls:CCGT +-,get_database_conversion_systems,CCGT,O&M_%,operation and maintanence cost factor (fraction of the investment cost),[-],depends on the source,long,black,inputs/technology/systems/conversion_systems.xls:CCGT +-,get_database_conversion_systems,CCGT,unit,unit of the min/max capacity,TODO,depends on the source,string,black,inputs/technology/systems/conversion_systems.xls:CCGT +-,get_database_conversion_systems,Chiller,a,"investment cost function, f(x) = a + b*x^c + d*ln(x) + e*x*ln*(x) ",TODO,TODO,float,black,inputs/technology/systems/conversion_systems.xls:Chiller +-,get_database_conversion_systems,Chiller,assumption,items made by assumptions in this technology,[-],depends on the data availability,string,black,inputs/technology/systems/conversion_systems.xls:Chiller +-,get_database_conversion_systems,Chiller,b,"investment cost function, f(x) = a + b*x^c + d*ln(x) + e*x*ln*(x) ",TODO,TODO,float,black,inputs/technology/systems/conversion_systems.xls:Chiller +-,get_database_conversion_systems,Chiller,c,"investment cost function, f(x) = a + b*x^c + d*ln(x) + e*x*ln*(x) ",TODO,TODO,long,black,inputs/technology/systems/conversion_systems.xls:Chiller +-,get_database_conversion_systems,Chiller,cap_max,maximum capacity ,[W],depends on the source,long,black,inputs/technology/systems/conversion_systems.xls:Chiller +-,get_database_conversion_systems,Chiller,cap_min,minimum capacity,[W],depends on the source,long,black,inputs/technology/systems/conversion_systems.xls:Chiller +-,get_database_conversion_systems,Chiller,code,identifier of each unique equipment,[-],an unique code for each equipment in this worksheet,string,black,inputs/technology/systems/conversion_systems.xls:Chiller +-,get_database_conversion_systems,Chiller,currency,currency-year information of the investment cost function,[currency-year],"should be unified to the same currency-year, e.g., USD-2015",string,black,inputs/technology/systems/conversion_systems.xls:Chiller +-,get_database_conversion_systems,Chiller,d,"investment cost function, f(x) = a + b*x^c + d*ln(x) + e*x*ln*(x) ",TODO,TODO,long,black,inputs/technology/systems/conversion_systems.xls:Chiller +-,get_database_conversion_systems,Chiller,Description,Describes the source of the benchmark standards.,[-],[-],string,black,inputs/technology/systems/conversion_systems.xls:Chiller +-,get_database_conversion_systems,Chiller,e,"investment cost function, f(x) = a + b*x^c + d*ln(x) + e*x*ln*(x) ",TODO,TODO,long,black,inputs/technology/systems/conversion_systems.xls:Chiller +-,get_database_conversion_systems,Chiller,IR_%,interest rate charged on the loan for the capital cost,[-],depends on the source,long,black,inputs/technology/systems/conversion_systems.xls:Chiller +-,get_database_conversion_systems,Chiller,LT_yr,lifetime of this technology,year,depends on the source,long,black,inputs/technology/systems/conversion_systems.xls:Chiller +-,get_database_conversion_systems,Chiller,O&M_%,operation and maintanence cost factor (fraction of the investment cost),[-],depends on the source,long,black,inputs/technology/systems/conversion_systems.xls:Chiller +-,get_database_conversion_systems,Chiller,unit,unit of the min/max capacity,TODO,depends on the source,string,black,inputs/technology/systems/conversion_systems.xls:Chiller +-,get_database_conversion_systems,CT,a,"investment cost function, f(x) = a + b*x^c + d*ln(x) + e*x*ln*(x) ",TODO,TODO,float,black,inputs/technology/systems/conversion_systems.xls:CT +-,get_database_conversion_systems,CT,assumption,items made by assumptions in this technology,[-],depends on the data availability,string,black,inputs/technology/systems/conversion_systems.xls:CT +-,get_database_conversion_systems,CT,b,"investment cost function, f(x) = a + b*x^c + d*ln(x) + e*x*ln*(x) ",TODO,TODO,float,black,inputs/technology/systems/conversion_systems.xls:CT +-,get_database_conversion_systems,CT,c,"investment cost function, f(x) = a + b*x^c + d*ln(x) + e*x*ln*(x) ",TODO,TODO,long,black,inputs/technology/systems/conversion_systems.xls:CT +-,get_database_conversion_systems,CT,cap_max,maximum capacity ,[W],depends on the source,long,black,inputs/technology/systems/conversion_systems.xls:CT +-,get_database_conversion_systems,CT,cap_min,minimum capacity,[W],depends on the source,long,black,inputs/technology/systems/conversion_systems.xls:CT +-,get_database_conversion_systems,CT,code,identifier of each unique equipment,[-],an unique code for each equipment in this worksheet,string,black,inputs/technology/systems/conversion_systems.xls:CT +-,get_database_conversion_systems,CT,currency,currency-year information of the investment cost function,[currency-year],"should be unified to the same currency-year, e.g., USD-2015",string,black,inputs/technology/systems/conversion_systems.xls:CT +-,get_database_conversion_systems,CT,d,"investment cost function, f(x) = a + b*x^c + d*ln(x) + e*x*ln*(x) ",TODO,TODO,long,black,inputs/technology/systems/conversion_systems.xls:CT +-,get_database_conversion_systems,CT,Description,Describes the type of cooling tower,[-],[-],string,black,inputs/technology/systems/conversion_systems.xls:CT +-,get_database_conversion_systems,CT,e,"investment cost function, f(x) = a + b*x^c + d*ln(x) + e*x*ln*(x) ",TODO,TODO,long,black,inputs/technology/systems/conversion_systems.xls:CT +-,get_database_conversion_systems,CT,IR_%,interest rate charged on the loan for the capital cost,[-],depends on the source,long,black,inputs/technology/systems/conversion_systems.xls:CT +-,get_database_conversion_systems,CT,LT_yr,lifetime of this technology,year,depends on the source,long,black,inputs/technology/systems/conversion_systems.xls:CT +-,get_database_conversion_systems,CT,O&M_%,operation and maintanence cost factor (fraction of the investment cost),[-],depends on the source,long,black,inputs/technology/systems/conversion_systems.xls:CT +-,get_database_conversion_systems,CT,unit,unit of the min/max capacity,TODO,depends on the source,string,black,inputs/technology/systems/conversion_systems.xls:CT +-,get_database_conversion_systems,DETAILED_ELEC_PRICES,hour,TODO,TODO,TODO,long,black,inputs/technology/systems/conversion_systems.xls:DETAILED_ELEC_PRICES +-,get_database_conversion_systems,DETAILED_ELEC_PRICES,Opex_var_buy_USD2015perkWh,TODO,TODO,TODO,float,black,inputs/technology/systems/conversion_systems.xls:DETAILED_ELEC_PRICES +-,get_database_conversion_systems,DETAILED_ELEC_PRICES,Opex_var_sell_USD2015perkWh,TODO,TODO,TODO,float,black,inputs/technology/systems/conversion_systems.xls:DETAILED_ELEC_PRICES +-,get_database_conversion_systems,DETAILED_ELEC_PRICES,year,TODO,TODO,TODO,long,black,inputs/technology/systems/conversion_systems.xls:DETAILED_ELEC_PRICES +-,get_database_conversion_systems,FC, Assumptions,items made by assumptions in this technology,[-],depends on the data availability,string,black,inputs/technology/systems/conversion_systems.xls:FC +-,get_database_conversion_systems,FC,a,"investment cost function, f(x) = a + b*x^c + d*ln(x) + e*x*ln*(x) ",TODO,TODO,long,black,inputs/technology/systems/conversion_systems.xls:FC +-,get_database_conversion_systems,FC,b,"investment cost function, f(x) = a + b*x^c + d*ln(x) + e*x*ln*(x) ",TODO,TODO,float,black,inputs/technology/systems/conversion_systems.xls:FC +-,get_database_conversion_systems,FC,c,"investment cost function, f(x) = a + b*x^c + d*ln(x) + e*x*ln*(x) ",TODO,TODO,long,black,inputs/technology/systems/conversion_systems.xls:FC +-,get_database_conversion_systems,FC,cap_max,maximum capacity ,[W],depends on the source,long,black,inputs/technology/systems/conversion_systems.xls:FC +-,get_database_conversion_systems,FC,cap_min,minimum capacity,[W],depends on the source,long,black,inputs/technology/systems/conversion_systems.xls:FC +-,get_database_conversion_systems,FC,code,identifier of each unique equipment,[-],an unique code for each equipment in this worksheet,string,black,inputs/technology/systems/conversion_systems.xls:FC +-,get_database_conversion_systems,FC,currency,currency-year information of the investment cost function,[currency-year],"should be unified to the same currency-year, e.g., USD-2015",string,black,inputs/technology/systems/conversion_systems.xls:FC +-,get_database_conversion_systems,FC,d,"investment cost function, f(x) = a + b*x^c + d*ln(x) + e*x*ln*(x) ",TODO,TODO,long,black,inputs/technology/systems/conversion_systems.xls:FC +-,get_database_conversion_systems,FC,Description,Describes the type of fuel cell,[-],[-],string,black,inputs/technology/systems/conversion_systems.xls:FC +-,get_database_conversion_systems,FC,e,"investment cost function, f(x) = a + b*x^c + d*ln(x) + e*x*ln*(x) ",TODO,TODO,long,black,inputs/technology/systems/conversion_systems.xls:FC +-,get_database_conversion_systems,FC,IR_%,interest rate charged on the loan for the capital cost,[-],depends on the source,long,black,inputs/technology/systems/conversion_systems.xls:FC +-,get_database_conversion_systems,FC,LT_yr,lifetime of this technology,year,depends on the source,long,black,inputs/technology/systems/conversion_systems.xls:FC +-,get_database_conversion_systems,FC,O&M_%,operation and maintanence cost factor (fraction of the investment cost),[-],depends on the source,long,black,inputs/technology/systems/conversion_systems.xls:FC +-,get_database_conversion_systems,FC,unit,unit of the min/max capacity,TODO,depends on the source,string,black,inputs/technology/systems/conversion_systems.xls:FC +-,get_database_conversion_systems,FEEDSTOCKS,CO2,TODO,TODO,TODO,float,black,inputs/technology/systems/conversion_systems.xls:FEEDSTOCKS +-,get_database_conversion_systems,FEEDSTOCKS,code,TODO,TODO,TODO,string,black,inputs/technology/systems/conversion_systems.xls:FEEDSTOCKS +-,get_database_conversion_systems,FEEDSTOCKS,Opex_var_buy_USD2015perkWh,TODO,TODO,TODO,float,black,inputs/technology/systems/conversion_systems.xls:FEEDSTOCKS +-,get_database_conversion_systems,FEEDSTOCKS,Opex_var_sell_USD2015perkWh,TODO,TODO,TODO,float,black,inputs/technology/systems/conversion_systems.xls:FEEDSTOCKS +-,get_database_conversion_systems,FEEDSTOCKS,reference,TODO,TODO,TODO,string,black,inputs/technology/systems/conversion_systems.xls:FEEDSTOCKS +-,get_database_conversion_systems,Furnace,a,"investment cost function, f(x) = a + b*x^c + d*ln(x) + e*x*ln*(x) ",TODO,TODO,long,black,inputs/technology/systems/conversion_systems.xls:Furnace +-,get_database_conversion_systems,Furnace,assumption,items made by assumptions in this technology,[-],depends on the data availability,,black,inputs/technology/systems/conversion_systems.xls:Furnace +-,get_database_conversion_systems,Furnace,b,"investment cost function, f(x) = a + b*x^c + d*ln(x) + e*x*ln*(x) ",TODO,TODO,float,black,inputs/technology/systems/conversion_systems.xls:Furnace +-,get_database_conversion_systems,Furnace,c,"investment cost function, f(x) = a + b*x^c + d*ln(x) + e*x*ln*(x) ",TODO,TODO,long,black,inputs/technology/systems/conversion_systems.xls:Furnace +-,get_database_conversion_systems,Furnace,cap_max,maximum capacity ,[W],depends on the source,long,black,inputs/technology/systems/conversion_systems.xls:Furnace +-,get_database_conversion_systems,Furnace,cap_min,minimum capacity,[W],depends on the source,long,black,inputs/technology/systems/conversion_systems.xls:Furnace +-,get_database_conversion_systems,Furnace,code,identifier of each unique equipment,[-],an unique code for each equipment in this worksheet,string,black,inputs/technology/systems/conversion_systems.xls:Furnace +-,get_database_conversion_systems,Furnace,currency,currency-year information of the investment cost function,[currency-year],"should be unified to the same currency-year, e.g., USD-2015",string,black,inputs/technology/systems/conversion_systems.xls:Furnace +-,get_database_conversion_systems,Furnace,d,"investment cost function, f(x) = a + b*x^c + d*ln(x) + e*x*ln*(x) ",TODO,TODO,long,black,inputs/technology/systems/conversion_systems.xls:Furnace +-,get_database_conversion_systems,Furnace,Description,Describes the type of furnace,[-],[-],string,black,inputs/technology/systems/conversion_systems.xls:Furnace +-,get_database_conversion_systems,Furnace,e,"investment cost function, f(x) = a + b*x^c + d*ln(x) + e*x*ln*(x) ",TODO,TODO,long,black,inputs/technology/systems/conversion_systems.xls:Furnace +-,get_database_conversion_systems,Furnace,IR_%,interest rate charged on the loan for the capital cost,[-],depends on the source,long,black,inputs/technology/systems/conversion_systems.xls:Furnace +-,get_database_conversion_systems,Furnace,LT_yr,lifetime of this technology,year,depends on the source,long,black,inputs/technology/systems/conversion_systems.xls:Furnace +-,get_database_conversion_systems,Furnace,O&M_%,operation and maintanence cost factor (fraction of the investment cost),[-],depends on the source,long,black,inputs/technology/systems/conversion_systems.xls:Furnace +-,get_database_conversion_systems,Furnace,unit,unit of the min/max capacity,TODO,depends on the source,string,black,inputs/technology/systems/conversion_systems.xls:Furnace +-,get_database_conversion_systems,HEX,a,"investment cost function, f(x) = a + b*x^c + d*ln(x) + e*x*ln*(x) ",TODO,TODO,float,black,inputs/technology/systems/conversion_systems.xls:HEX +-,get_database_conversion_systems,HEX,a_p,"pressure loss function, f(x) = a_p + b_p*x^c_p + d_p*ln(x) + e_p*x*ln*(x), where x is the capacity mass flow rate [W/K] ",[-],depends on the source,long,black,inputs/technology/systems/conversion_systems.xls:HEX +-,get_database_conversion_systems,HEX,assumption,items made by assumptions in this technology,[-],depends on the data availability,string,black,inputs/technology/systems/conversion_systems.xls:HEX +-,get_database_conversion_systems,HEX,b,"investment cost function, f(x) = a + b*x^c + d*ln(x) + e*x*ln*(x) ",TODO,TODO,float,black,inputs/technology/systems/conversion_systems.xls:HEX +-,get_database_conversion_systems,HEX,b_p,"pressure loss function, f(x) = a_p + b_p*x^c_p + d_p*ln(x) + e_p*x*ln*(x), where x is the capacity mass flow rate [W/K] ",TODO,TODO,float,black,inputs/technology/systems/conversion_systems.xls:HEX +-,get_database_conversion_systems,HEX,c,"investment cost function, f(x) = a + b*x^c + d*ln(x) + e*x*ln*(x) ",TODO,TODO,long,black,inputs/technology/systems/conversion_systems.xls:HEX +-,get_database_conversion_systems,HEX,c_p,"pressure loss function, f(x) = a_p + b_p*x^c_p + d_p*ln(x) + e_p*x*ln*(x), where x is the capacity mass flow rate [W/K] ",TODO,TODO,float,black,inputs/technology/systems/conversion_systems.xls:HEX +-,get_database_conversion_systems,HEX,cap_max,maximum capacity ,[W] or [m2],depends on the source,long,black,inputs/technology/systems/conversion_systems.xls:HEX +-,get_database_conversion_systems,HEX,cap_min,minimum capacity,[W] or [m2],depends on the source,long,black,inputs/technology/systems/conversion_systems.xls:HEX +-,get_database_conversion_systems,HEX,code,identifier of each unique equipment,[-],an unique code for each equipment in this worksheet,string,black,inputs/technology/systems/conversion_systems.xls:HEX +-,get_database_conversion_systems,HEX,currency,currency-year information of the investment cost function,[currency-year],"should be unified to the same currency-year, e.g., USD-2015",string,black,inputs/technology/systems/conversion_systems.xls:HEX +-,get_database_conversion_systems,HEX,d,"investment cost function, f(x) = a + b*x^c + d*ln(x) + e*x*ln*(x) ",TODO,TODO,long,black,inputs/technology/systems/conversion_systems.xls:HEX +-,get_database_conversion_systems,HEX,d_p,"pressure loss function, f(x) = a_p + b_p*x^c_p + d_p*ln(x) + e_p*x*ln*(x), where x is the capacity mass flow rate [W/K] ",TODO,TODO,long,black,inputs/technology/systems/conversion_systems.xls:HEX +-,get_database_conversion_systems,HEX,Description,Describes the type of heat exchanger,[-],[-],string,black,inputs/technology/systems/conversion_systems.xls:HEX +-,get_database_conversion_systems,HEX,e,"investment cost function, f(x) = a + b*x^c + d*ln(x) + e*x*ln*(x) ",TODO,TODO,long,black,inputs/technology/systems/conversion_systems.xls:HEX +-,get_database_conversion_systems,HEX,e_p,"pressure loss function, f(x) = a_p + b_p*x^c_p + d_p*ln(x) + e_p*x*ln*(x), where x is the capacity mass flow rate [W/K] ",TODO,TODO,float,black,inputs/technology/systems/conversion_systems.xls:HEX +-,get_database_conversion_systems,HEX,IR_%,interest rate charged on the loan for the capital cost,[-],depends on the source,long,black,inputs/technology/systems/conversion_systems.xls:HEX +-,get_database_conversion_systems,HEX,LT_yr,lifetime of this technology,year,depends on the source,long,black,inputs/technology/systems/conversion_systems.xls:HEX +-,get_database_conversion_systems,HEX,O&M_%,operation and maintanence cost factor (fraction of the investment cost),[-],depends on the source,long,black,inputs/technology/systems/conversion_systems.xls:HEX +-,get_database_conversion_systems,HEX,unit,unit of the min/max capacity,TODO,depends on the source,string,black,inputs/technology/systems/conversion_systems.xls:HEX +-,get_database_conversion_systems,HP,a,"investment cost function, f(x) = a + b*x^c + d*ln(x) + e*x*ln*(x) ",TODO,TODO,long,black,inputs/technology/systems/conversion_systems.xls:HP +-,get_database_conversion_systems,HP,assumption,items made by assumptions in this technology,[-],depends on the data availability,,black,inputs/technology/systems/conversion_systems.xls:HP +-,get_database_conversion_systems,HP,b,"investment cost function, f(x) = a + b*x^c + d*ln(x) + e*x*ln*(x) ",TODO,TODO,float,black,inputs/technology/systems/conversion_systems.xls:HP +-,get_database_conversion_systems,HP,c,"investment cost function, f(x) = a + b*x^c + d*ln(x) + e*x*ln*(x) ",TODO,TODO,float,black,inputs/technology/systems/conversion_systems.xls:HP +-,get_database_conversion_systems,HP,cap_max,maximum capacity ,[W],depends on the source,long,black,inputs/technology/systems/conversion_systems.xls:HP +-,get_database_conversion_systems,HP,cap_min,minimum capacity,[W],depends on the source,long,black,inputs/technology/systems/conversion_systems.xls:HP +-,get_database_conversion_systems,HP,code,identifier of each unique equipment,[-],an unique code for each equipment in this worksheet,string,black,inputs/technology/systems/conversion_systems.xls:HP +-,get_database_conversion_systems,HP,currency,currency-year information of the investment cost function,[currency-year],"should be unified to the same currency-year, e.g., USD-2015",string,black,inputs/technology/systems/conversion_systems.xls:HP +-,get_database_conversion_systems,HP,d,"investment cost function, f(x) = a + b*x^c + d*ln(x) + e*x*ln*(x) ",TODO,TODO,long,black,inputs/technology/systems/conversion_systems.xls:HP +-,get_database_conversion_systems,HP,Description,Describes the source of the heat pump,[-],[-],string,black,inputs/technology/systems/conversion_systems.xls:HP +-,get_database_conversion_systems,HP,e,"investment cost function, f(x) = a + b*x^c + d*ln(x) + e*x*ln*(x) ",TODO,TODO,float,black,inputs/technology/systems/conversion_systems.xls:HP +-,get_database_conversion_systems,HP,IR_%,interest rate charged on the loan for the capital cost,[-],depends on the source,long,black,inputs/technology/systems/conversion_systems.xls:HP +-,get_database_conversion_systems,HP,LT_yr,lifetime of this technology,year,depends on the source,long,black,inputs/technology/systems/conversion_systems.xls:HP +-,get_database_conversion_systems,HP,O&M_%,operation and maintanence cost factor (fraction of the investment cost),[-],depends on the source,long,black,inputs/technology/systems/conversion_systems.xls:HP -,get_database_conversion_systems,HP,unit,unit of the min/max capacity,TODO,depends on the source,string,black,inputs/technology/systems/distribution_systems.xls:HP -,get_database_distribution_systems,THERMAL_GRID,Code,no such column?,TODO,TODO,string,black,inputs/technology/systems/distribution_systems.xls:THERMAL_GRID -,get_database_distribution_systems,THERMAL_GRID,D_ext_m,external pipe diameter tolerance for the nominal diameter (DN),[m],depends on the source,float,black,inputs/technology/systems/distribution_systems.xls:THERMAL_GRID @@ -483,111 +484,111 @@ network-layout,get_network_layout_nodes_shapefile,,Type,Weather a Plant or A Cus -,get_database_distribution_systems,THERMAL_GRID,Pipe_DN,Nominal pipe diameter,[-],depends on the source,long,black,inputs/technology/systems/distribution_systems.xls:THERMAL_GRID -,get_database_distribution_systems,THERMAL_GRID,Vdot_max_m3s,maximum volumetric flow rate for the nominal diameter (DN),[m3/s],depends on the source,float,black,inputs/technology/systems/distribution_systems.xls:THERMAL_GRID -,get_database_distribution_systems,THERMAL_GRID,Vdot_min_m3s,minimum volumetric flow rate for the nominal diameter (DN),[m3/s],depends on the source,float,black,inputs/technology/systems/distribution_systems.xls:THERMAL_GRID --,get_database_conversion_systems,Pump,a,"investment cost function, f(x) = a + b*x^c + d*ln(x) + e*x*ln*(x) ",TODO,TODO,long,black,inputs/technology/systems/supply_systems.xls:Pump --,get_database_conversion_systems,Pump,assumption,items made by assumptions in this technology,[-],depends on the data availability,string,black,inputs/technology/systems/supply_systems.xls:Pump --,get_database_conversion_systems,Pump,b,"investment cost function, f(x) = a + b*x^c + d*ln(x) + e*x*ln*(x) ",TODO,TODO,float,black,inputs/technology/systems/supply_systems.xls:Pump --,get_database_conversion_systems,Pump,c,"investment cost function, f(x) = a + b*x^c + d*ln(x) + e*x*ln*(x) ",TODO,TODO,float,black,inputs/technology/systems/supply_systems.xls:Pump --,get_database_conversion_systems,Pump,cap_max,maximum capacity ,[W],depends on the source,long,black,inputs/technology/systems/supply_systems.xls:Pump --,get_database_conversion_systems,Pump,cap_min,minimum capacity,[W],depends on the source,long,black,inputs/technology/systems/supply_systems.xls:Pump --,get_database_conversion_systems,Pump,code,identifier of each unique equipment,[-],an unique code for each equipment in this worksheet,string,black,inputs/technology/systems/supply_systems.xls:Pump --,get_database_conversion_systems,Pump,currency,currency-year information of the investment cost function,[currency-year],"should be unified to the same currency-year, e.g., USD-2015",string,black,inputs/technology/systems/supply_systems.xls:Pump --,get_database_conversion_systems,Pump,d,"investment cost function, f(x) = a + b*x^c + d*ln(x) + e*x*ln*(x) ",TODO,TODO,long,black,inputs/technology/systems/supply_systems.xls:Pump --,get_database_conversion_systems,Pump,Description,Describes the source of the benchmark standards.,[-],[-],string,black,inputs/technology/systems/supply_systems.xls:Pump --,get_database_conversion_systems,Pump,e,"investment cost function, f(x) = a + b*x^c + d*ln(x) + e*x*ln*(x) ",TODO,TODO,long,black,inputs/technology/systems/supply_systems.xls:Pump --,get_database_conversion_systems,Pump,IR_%,interest rate charged on the loan for the capital cost,[-],depends on the source,long,black,inputs/technology/systems/supply_systems.xls:Pump --,get_database_conversion_systems,Pump,LT_yr,lifetime of this technology,year,depends on the source,long,black,inputs/technology/systems/supply_systems.xls:Pump --,get_database_conversion_systems,Pump,O&M_%,operation and maintanence cost factor (fraction of the investment cost),[-],depends on the source,long,black,inputs/technology/systems/supply_systems.xls:Pump --,get_database_conversion_systems,Pump,unit,unit of the min/max capacity,TODO,depends on the source,string,black,inputs/technology/systems/supply_systems.xls:Pump --,get_database_conversion_systems,PV,a,"investment cost function, f(x) = a + b*x^c + d*ln(x) + e*x*ln*(x) ",TODO,TODO,long,black,inputs/technology/systems/supply_systems.xls:PV --,get_database_conversion_systems,PV,assumption,items made by assumptions in this technology,[-],depends on the data availability,string,black,inputs/technology/systems/supply_systems.xls:PV --,get_database_conversion_systems,PV,b,"investment cost function, f(x) = a + b*x^c + d*ln(x) + e*x*ln*(x) ",TODO,TODO,float,black,inputs/technology/systems/supply_systems.xls:PV --,get_database_conversion_systems,PV,c,"investment cost function, f(x) = a + b*x^c + d*ln(x) + e*x*ln*(x) ",TODO,TODO,long,black,inputs/technology/systems/supply_systems.xls:PV --,get_database_conversion_systems,PV,cap_max,maximum capacity ,[W],depends on the source,long,black,inputs/technology/systems/supply_systems.xls:PV --,get_database_conversion_systems,PV,cap_min,minimum capacity,[W],depends on the source,long,black,inputs/technology/systems/supply_systems.xls:PV --,get_database_conversion_systems,PV,code,identifier of each unique equipment,[-],an unique code for each equipment in this worksheet,string,black,inputs/technology/systems/supply_systems.xls:PV --,get_database_conversion_systems,PV,currency,currency-year information of the investment cost function,[currency-year],"should be unified to the same currency-year, e.g., USD-2015",string,black,inputs/technology/systems/supply_systems.xls:PV --,get_database_conversion_systems,PV,d,"investment cost function, f(x) = a + b*x^c + d*ln(x) + e*x*ln*(x) ",TODO,TODO,long,black,inputs/technology/systems/supply_systems.xls:PV --,get_database_conversion_systems,PV,Description,Describes the source of the benchmark standards.,[-],[-],string,black,inputs/technology/systems/supply_systems.xls:PV --,get_database_conversion_systems,PV,e,"investment cost function, f(x) = a + b*x^c + d*ln(x) + e*x*ln*(x) ",TODO,TODO,long,black,inputs/technology/systems/supply_systems.xls:PV --,get_database_conversion_systems,PV,IR_%,interest rate charged on the loan for the capital cost,[-],depends on the source,long,black,inputs/technology/systems/supply_systems.xls:PV --,get_database_conversion_systems,PV,LT_yr,lifetime of this technology,year,depends on the source,long,black,inputs/technology/systems/supply_systems.xls:PV --,get_database_conversion_systems,PV,misc_losses,"losses from cabling, resistances etc...",[-],depends on the source,float,black,inputs/technology/systems/supply_systems.xls:PV --,get_database_conversion_systems,PV,module_length_m,lengh of the PV module,[m],depends on the source,long,black,inputs/technology/systems/supply_systems.xls:PV --,get_database_conversion_systems,PV,O&M_%,operation and maintanence cost factor (fraction of the investment cost),[-],depends on the source,long,black,inputs/technology/systems/supply_systems.xls:PV --,get_database_conversion_systems,PV,PV_a0,"parameters for air mass modifier, f(x) = a0 + a1*x + a2*x**2 + a3*x**3 + a4*x**4, x is the relative air mass",[-],TODO,float,black,inputs/technology/systems/supply_systems.xls:PV --,get_database_conversion_systems,PV,PV_a1,"parameters for air mass modifier, f(x) = a0 + a1*x + a2*x**2 + a3*x**3 + a4*x**4, x is the relative air mass",TODO,TODO,float,black,inputs/technology/systems/supply_systems.xls:PV --,get_database_conversion_systems,PV,PV_a2,"parameters for air mass modifier, f(x) = a0 + a1*x + a2*x**2 + a3*x**3 + a4*x**4, x is the relative air mass",TODO,TODO,float,black,inputs/technology/systems/supply_systems.xls:PV --,get_database_conversion_systems,PV,PV_a3,"parameters for air mass modifier, f(x) = a0 + a1*x + a2*x**2 + a3*x**3 + a4*x**4, x is the relative air mass",TODO,TODO,float,black,inputs/technology/systems/supply_systems.xls:PV --,get_database_conversion_systems,PV,PV_a4,"parameters for air mass modifier, f(x) = a0 + a1*x + a2*x**2 + a3*x**3 + a4*x**4, x is the relative air mass",TODO,TODO,float,black,inputs/technology/systems/supply_systems.xls:PV --,get_database_conversion_systems,PV,PV_Bref,cell maximum power temperature coefficient,[1/C],depends on the source,float,black,inputs/technology/systems/supply_systems.xls:PV --,get_database_conversion_systems,PV,PV_n,nominal efficiency,[-],depends on the source,float,black,inputs/technology/systems/supply_systems.xls:PV --,get_database_conversion_systems,PV,PV_noct,nominal operating cell temperature,[C],depends on the source,float,black,inputs/technology/systems/supply_systems.xls:PV --,get_database_conversion_systems,PV,PV_th,glazing thickness,[m],depends on the source,float,black,inputs/technology/systems/supply_systems.xls:PV --,get_database_conversion_systems,PV,type,redundant,TODO,TODO,string,black,inputs/technology/systems/supply_systems.xls:PV --,get_database_conversion_systems,PV,unit,unit of the min/max capacity,TODO,depends on the source,string,black,inputs/technology/systems/supply_systems.xls:PV --,get_database_conversion_systems,PVT,a,"investment cost function, f(x) = a + b*x^c + d*ln(x) + e*x*ln*(x) ",TODO,TODO,long,black,inputs/technology/systems/supply_systems.xls:PVT --,get_database_conversion_systems,PVT,assumption,items made by assumptions in this technology,[-],depends on the data availability,string,black,inputs/technology/systems/supply_systems.xls:PVT --,get_database_conversion_systems,PVT,b,"investment cost function, f(x) = a + b*x^c + d*ln(x) + e*x*ln*(x) ",TODO,TODO,float,black,inputs/technology/systems/supply_systems.xls:PVT --,get_database_conversion_systems,PVT,c,"investment cost function, f(x) = a + b*x^c + d*ln(x) + e*x*ln*(x) ",TODO,TODO,long,black,inputs/technology/systems/supply_systems.xls:PVT --,get_database_conversion_systems,PVT,cap_max,maximum capacity ,[W],depends on the source,long,black,inputs/technology/systems/supply_systems.xls:PVT --,get_database_conversion_systems,PVT,cap_min,minimum capacity,[W],depends on the source,long,black,inputs/technology/systems/supply_systems.xls:PVT --,get_database_conversion_systems,PVT,code,identifier of each unique equipment,[-],an unique code for each equipment in this worksheet,string,black,inputs/technology/systems/supply_systems.xls:PVT --,get_database_conversion_systems,PVT,currency,currency-year information of the investment cost function,[currency-year],"should be unified to the same currency-year, e.g., USD-2015",string,black,inputs/technology/systems/supply_systems.xls:PVT --,get_database_conversion_systems,PVT,d,"investment cost function, f(x) = a + b*x^c + d*ln(x) + e*x*ln*(x) ",TODO,TODO,long,black,inputs/technology/systems/supply_systems.xls:PVT --,get_database_conversion_systems,PVT,Description,Describes the type of photovoltaic thermal technology,[-],[-],string,black,inputs/technology/systems/supply_systems.xls:PVT --,get_database_conversion_systems,PVT,e,"investment cost function, f(x) = a + b*x^c + d*ln(x) + e*x*ln*(x) ",TODO,TODO,long,black,inputs/technology/systems/supply_systems.xls:PVT --,get_database_conversion_systems,PVT,IR_%,interest rate charged on the loan for the capital cost,[-],depends on the source,long,black,inputs/technology/systems/supply_systems.xls:PVT --,get_database_conversion_systems,PVT,LT_yr,lifetime of this technology,year,depends on the source,long,black,inputs/technology/systems/supply_systems.xls:PVT --,get_database_conversion_systems,PVT,O&M_%,operation and maintanence cost factor (fraction of the investment cost),[-],depends on the source,long,black,inputs/technology/systems/supply_systems.xls:PVT --,get_database_conversion_systems,PVT,unit,unit of the min/max capacity,TODO,depends on the source,string,black,inputs/technology/systems/supply_systems.xls:PVT --,get_database_conversion_systems,SC,a,"investment cost function, f(x) = a + b*x^c + d*ln(x) + e*x*ln*(x) ",TODO,TODO,long,black,inputs/technology/systems/supply_systems.xls:SC --,get_database_conversion_systems,SC,aperture_area_ratio,ratio of aperture area to panel area,[-],depends on the source,float,black,inputs/technology/systems/supply_systems.xls:SC --,get_database_conversion_systems,SC,assumption,items made by assumptions in this technology,[-],depends on the data availability,string,black,inputs/technology/systems/supply_systems.xls:SC --,get_database_conversion_systems,SC,b,"investment cost function, f(x) = a + b*x^c + d*ln(x) + e*x*ln*(x) ",TODO,TODO,float,black,inputs/technology/systems/supply_systems.xls:SC --,get_database_conversion_systems,SC,c,"investment cost function, f(x) = a + b*x^c + d*ln(x) + e*x*ln*(x) ",TODO,TODO,long,black,inputs/technology/systems/supply_systems.xls:SC --,get_database_conversion_systems,SC,C_eff,thermal capacity of module ,[J/M2k],depends on the source,long,black,inputs/technology/systems/supply_systems.xls:SC --,get_database_conversion_systems,SC,c1,collector heat loss coefficient at zero temperature difference and wind speed,[W/M2k],depends on the source,float,black,inputs/technology/systems/supply_systems.xls:SC --,get_database_conversion_systems,SC,c2,ctemperature difference dependency of the heat loss coefficient,[W/m2K2],depends on the source,float,black,inputs/technology/systems/supply_systems.xls:SC --,get_database_conversion_systems,SC,cap_max,maximum capacity ,[m2],TODO,long,black,inputs/technology/systems/supply_systems.xls:SC --,get_database_conversion_systems,SC,cap_min,minimum capacity,[m2],TODO,long,black,inputs/technology/systems/supply_systems.xls:SC --,get_database_conversion_systems,SC,code,identifier of each unique equipment,[-],an unique code for each equipment in this worksheet,string,black,inputs/technology/systems/supply_systems.xls:SC --,get_database_conversion_systems,SC,Cp_fluid,heat capacity of the heat transfer fluid,[J/kgK],depends on the source,long,black,inputs/technology/systems/supply_systems.xls:SC --,get_database_conversion_systems,SC,currency,currency-year information of the investment cost function,[currency-year],"should be unified to the same currency-year, e.g., USD-2015",string,black,inputs/technology/systems/supply_systems.xls:SC --,get_database_conversion_systems,SC,d,"investment cost function, f(x) = a + b*x^c + d*ln(x) + e*x*ln*(x) ",TODO,TODO,long,black,inputs/technology/systems/supply_systems.xls:SC --,get_database_conversion_systems,SC,Description,Describes the type of solar collector,[-],[-],string,black,inputs/technology/systems/supply_systems.xls:SC --,get_database_conversion_systems,SC,dP1,pressure drop at zero flow rate,[Pa/m2],depends on the source,long,black,inputs/technology/systems/supply_systems.xls:SC --,get_database_conversion_systems,SC,dP2,pressure drop at nominal flow rate (mB0),[Pa/m2],depends on the source,float,black,inputs/technology/systems/supply_systems.xls:SC --,get_database_conversion_systems,SC,dP3,pressure drop at maximum flow rate (mB_max),[Pa/m2],depends on the source,float,black,inputs/technology/systems/supply_systems.xls:SC --,get_database_conversion_systems,SC,dP4,pressure drop at minimum flow rate (mB_min),[Pa/m2],depends on the source,float,black,inputs/technology/systems/supply_systems.xls:SC --,get_database_conversion_systems,SC,e,"investment cost function, f(x) = a + b*x^c + d*ln(x) + e*x*ln*(x) ",TODO,TODO,long,black,inputs/technology/systems/supply_systems.xls:SC --,get_database_conversion_systems,SC,IAM_d,incident angle modifier for diffuse radiation,[-],depends on the source,float,black,inputs/technology/systems/supply_systems.xls:SC --,get_database_conversion_systems,SC,IR_%,interest rate charged on the loan for the capital cost,[-],depends on the source,long,black,inputs/technology/systems/supply_systems.xls:SC --,get_database_conversion_systems,SC,LT_yr,lifetime of this technology,year,depends on the source,long,black,inputs/technology/systems/supply_systems.xls:SC --,get_database_conversion_systems,SC,mB_max_r,maximum flow rate per aperture area,[kg/m2/hr],depends on the source,float,black,inputs/technology/systems/supply_systems.xls:SC --,get_database_conversion_systems,SC,mB_min_r,minimum flow rate per aperture area,[kg/m2/hr],depends on the source,float,black,inputs/technology/systems/supply_systems.xls:SC --,get_database_conversion_systems,SC,mB0_r,nominal flow rate per aperture area,[kg/m2/hr],depends on the source,float,black,inputs/technology/systems/supply_systems.xls:SC --,get_database_conversion_systems,SC,module_area_m2,module area of a solar collector,[m2],depends on the source,float,black,inputs/technology/systems/supply_systems.xls:SC --,get_database_conversion_systems,SC,module_length_m,lengh of a solar collector module,[m],depends on the source,long,black,inputs/technology/systems/supply_systems.xls:SC --,get_database_conversion_systems,SC,n0,zero loss efficiency at normal incidence,[-],depends on the source,float,black,inputs/technology/systems/supply_systems.xls:SC --,get_database_conversion_systems,SC,O&M_%,operation and maintanence cost factor (fraction of the investment cost),[-],depends on the source,long,black,inputs/technology/systems/supply_systems.xls:SC --,get_database_conversion_systems,SC,t_max,maximum operating temperature,[C],depends on the source,long,black,inputs/technology/systems/supply_systems.xls:SC --,get_database_conversion_systems,SC,type,type of the solar collector (FP: flate-plate or ET: evacuated-tube),TODO,TODO,string,black,inputs/technology/systems/supply_systems.xls:SC --,get_database_conversion_systems,SC,unit,unit of the min/max capacity,TODO,depends on the source,string,black,inputs/technology/systems/supply_systems.xls:SC --,get_database_conversion_systems,TES,a,"investment cost function, f(x) = a + b*x^c + d*ln(x) + e*x*ln*(x) ",TODO,TODO,long,black,inputs/technology/systems/supply_systems.xls:TES --,get_database_conversion_systems,TES,assumption,TODO,TODO,TODO,string,black,inputs/technology/systems/supply_systems.xls:TES --,get_database_conversion_systems,TES,b,"investment cost function, f(x) = a + b*x^c + d*ln(x) + e*x*ln*(x) ",TODO,TODO,float,black,inputs/technology/systems/supply_systems.xls:TES --,get_database_conversion_systems,TES,c,"investment cost function, f(x) = a + b*x^c + d*ln(x) + e*x*ln*(x) ",TODO,TODO,long,black,inputs/technology/systems/supply_systems.xls:TES --,get_database_conversion_systems,TES,cap_max,maximum capacity ,[m3],TODO,long,black,inputs/technology/systems/supply_systems.xls:TES --,get_database_conversion_systems,TES,cap_min,minimum capacity,[m3],TODO,long,black,inputs/technology/systems/supply_systems.xls:TES --,get_database_conversion_systems,TES,code,identifier of each unique equipment,[-],an unique code for each equipment in this worksheet,string,black,inputs/technology/systems/supply_systems.xls:TES --,get_database_conversion_systems,TES,currency,currency-year information of the investment cost function,[currency-year],"should be unified to the same currency-year, e.g., USD-2015",string,black,inputs/technology/systems/supply_systems.xls:TES --,get_database_conversion_systems,TES,d,"investment cost function, f(x) = a + b*x^c + d*ln(x) + e*x*ln*(x) ",TODO,TODO,long,black,inputs/technology/systems/supply_systems.xls:TES --,get_database_conversion_systems,TES,Description,Describes the source of the benchmark standards.,[-],[-],string,black,inputs/technology/systems/supply_systems.xls:TES --,get_database_conversion_systems,TES,e,"investment cost function, f(x) = a + b*x^c + d*ln(x) + e*x*ln*(x) ",TODO,TODO,float,black,inputs/technology/systems/supply_systems.xls:TES --,get_database_conversion_systems,TES,IR_%,interest rate charged on the loan for the capital cost,[-],depends on the source,long,black,inputs/technology/systems/supply_systems.xls:TES --,get_database_conversion_systems,TES,LT_yr,lifetime of this technology,year,depends on the source,long,black,inputs/technology/systems/supply_systems.xls:TES --,get_database_conversion_systems,TES,O&M_%,operation and maintanence cost factor (fraction of the investment cost),[-],depends on the source,long,black,inputs/technology/systems/supply_systems.xls:TES --,get_database_conversion_systems,TES,unit,unit of the min/max capacity,TODO,depends on the source,string,black,inputs/technology/systems/supply_systems.xls:TES +-,get_database_conversion_systems,Pump,a,"investment cost function, f(x) = a + b*x^c + d*ln(x) + e*x*ln*(x) ",TODO,TODO,long,black,inputs/technology/systems/conversion_systems.xls:Pump +-,get_database_conversion_systems,Pump,assumption,items made by assumptions in this technology,[-],depends on the data availability,string,black,inputs/technology/systems/conversion_systems.xls:Pump +-,get_database_conversion_systems,Pump,b,"investment cost function, f(x) = a + b*x^c + d*ln(x) + e*x*ln*(x) ",TODO,TODO,float,black,inputs/technology/systems/conversion_systems.xls:Pump +-,get_database_conversion_systems,Pump,c,"investment cost function, f(x) = a + b*x^c + d*ln(x) + e*x*ln*(x) ",TODO,TODO,float,black,inputs/technology/systems/conversion_systems.xls:Pump +-,get_database_conversion_systems,Pump,cap_max,maximum capacity ,[W],depends on the source,long,black,inputs/technology/systems/conversion_systems.xls:Pump +-,get_database_conversion_systems,Pump,cap_min,minimum capacity,[W],depends on the source,long,black,inputs/technology/systems/conversion_systems.xls:Pump +-,get_database_conversion_systems,Pump,code,identifier of each unique equipment,[-],an unique code for each equipment in this worksheet,string,black,inputs/technology/systems/conversion_systems.xls:Pump +-,get_database_conversion_systems,Pump,currency,currency-year information of the investment cost function,[currency-year],"should be unified to the same currency-year, e.g., USD-2015",string,black,inputs/technology/systems/conversion_systems.xls:Pump +-,get_database_conversion_systems,Pump,d,"investment cost function, f(x) = a + b*x^c + d*ln(x) + e*x*ln*(x) ",TODO,TODO,long,black,inputs/technology/systems/conversion_systems.xls:Pump +-,get_database_conversion_systems,Pump,Description,Describes the source of the benchmark standards.,[-],[-],string,black,inputs/technology/systems/conversion_systems.xls:Pump +-,get_database_conversion_systems,Pump,e,"investment cost function, f(x) = a + b*x^c + d*ln(x) + e*x*ln*(x) ",TODO,TODO,long,black,inputs/technology/systems/conversion_systems.xls:Pump +-,get_database_conversion_systems,Pump,IR_%,interest rate charged on the loan for the capital cost,[-],depends on the source,long,black,inputs/technology/systems/conversion_systems.xls:Pump +-,get_database_conversion_systems,Pump,LT_yr,lifetime of this technology,year,depends on the source,long,black,inputs/technology/systems/conversion_systems.xls:Pump +-,get_database_conversion_systems,Pump,O&M_%,operation and maintanence cost factor (fraction of the investment cost),[-],depends on the source,long,black,inputs/technology/systems/conversion_systems.xls:Pump +-,get_database_conversion_systems,Pump,unit,unit of the min/max capacity,TODO,depends on the source,string,black,inputs/technology/systems/conversion_systems.xls:Pump +-,get_database_conversion_systems,PV,a,"investment cost function, f(x) = a + b*x^c + d*ln(x) + e*x*ln*(x) ",TODO,TODO,long,black,inputs/technology/systems/conversion_systems.xls:PV +-,get_database_conversion_systems,PV,assumption,items made by assumptions in this technology,[-],depends on the data availability,string,black,inputs/technology/systems/conversion_systems.xls:PV +-,get_database_conversion_systems,PV,b,"investment cost function, f(x) = a + b*x^c + d*ln(x) + e*x*ln*(x) ",TODO,TODO,float,black,inputs/technology/systems/conversion_systems.xls:PV +-,get_database_conversion_systems,PV,c,"investment cost function, f(x) = a + b*x^c + d*ln(x) + e*x*ln*(x) ",TODO,TODO,long,black,inputs/technology/systems/conversion_systems.xls:PV +-,get_database_conversion_systems,PV,cap_max,maximum capacity ,[W],depends on the source,long,black,inputs/technology/systems/conversion_systems.xls:PV +-,get_database_conversion_systems,PV,cap_min,minimum capacity,[W],depends on the source,long,black,inputs/technology/systems/conversion_systems.xls:PV +-,get_database_conversion_systems,PV,code,identifier of each unique equipment,[-],an unique code for each equipment in this worksheet,string,black,inputs/technology/systems/conversion_systems.xls:PV +-,get_database_conversion_systems,PV,currency,currency-year information of the investment cost function,[currency-year],"should be unified to the same currency-year, e.g., USD-2015",string,black,inputs/technology/systems/conversion_systems.xls:PV +-,get_database_conversion_systems,PV,d,"investment cost function, f(x) = a + b*x^c + d*ln(x) + e*x*ln*(x) ",TODO,TODO,long,black,inputs/technology/systems/conversion_systems.xls:PV +-,get_database_conversion_systems,PV,Description,Describes the source of the benchmark standards.,[-],[-],string,black,inputs/technology/systems/conversion_systems.xls:PV +-,get_database_conversion_systems,PV,e,"investment cost function, f(x) = a + b*x^c + d*ln(x) + e*x*ln*(x) ",TODO,TODO,long,black,inputs/technology/systems/conversion_systems.xls:PV +-,get_database_conversion_systems,PV,IR_%,interest rate charged on the loan for the capital cost,[-],depends on the source,long,black,inputs/technology/systems/conversion_systems.xls:PV +-,get_database_conversion_systems,PV,LT_yr,lifetime of this technology,year,depends on the source,long,black,inputs/technology/systems/conversion_systems.xls:PV +-,get_database_conversion_systems,PV,misc_losses,"losses from cabling, resistances etc...",[-],depends on the source,float,black,inputs/technology/systems/conversion_systems.xls:PV +-,get_database_conversion_systems,PV,module_length_m,lengh of the PV module,[m],depends on the source,long,black,inputs/technology/systems/conversion_systems.xls:PV +-,get_database_conversion_systems,PV,O&M_%,operation and maintanence cost factor (fraction of the investment cost),[-],depends on the source,long,black,inputs/technology/systems/conversion_systems.xls:PV +-,get_database_conversion_systems,PV,PV_a0,"parameters for air mass modifier, f(x) = a0 + a1*x + a2*x**2 + a3*x**3 + a4*x**4, x is the relative air mass",[-],TODO,float,black,inputs/technology/systems/conversion_systems.xls:PV +-,get_database_conversion_systems,PV,PV_a1,"parameters for air mass modifier, f(x) = a0 + a1*x + a2*x**2 + a3*x**3 + a4*x**4, x is the relative air mass",TODO,TODO,float,black,inputs/technology/systems/conversion_systems.xls:PV +-,get_database_conversion_systems,PV,PV_a2,"parameters for air mass modifier, f(x) = a0 + a1*x + a2*x**2 + a3*x**3 + a4*x**4, x is the relative air mass",TODO,TODO,float,black,inputs/technology/systems/conversion_systems.xls:PV +-,get_database_conversion_systems,PV,PV_a3,"parameters for air mass modifier, f(x) = a0 + a1*x + a2*x**2 + a3*x**3 + a4*x**4, x is the relative air mass",TODO,TODO,float,black,inputs/technology/systems/conversion_systems.xls:PV +-,get_database_conversion_systems,PV,PV_a4,"parameters for air mass modifier, f(x) = a0 + a1*x + a2*x**2 + a3*x**3 + a4*x**4, x is the relative air mass",TODO,TODO,float,black,inputs/technology/systems/conversion_systems.xls:PV +-,get_database_conversion_systems,PV,PV_Bref,cell maximum power temperature coefficient,[1/C],depends on the source,float,black,inputs/technology/systems/conversion_systems.xls:PV +-,get_database_conversion_systems,PV,PV_n,nominal efficiency,[-],depends on the source,float,black,inputs/technology/systems/conversion_systems.xls:PV +-,get_database_conversion_systems,PV,PV_noct,nominal operating cell temperature,[C],depends on the source,float,black,inputs/technology/systems/conversion_systems.xls:PV +-,get_database_conversion_systems,PV,PV_th,glazing thickness,[m],depends on the source,float,black,inputs/technology/systems/conversion_systems.xls:PV +-,get_database_conversion_systems,PV,type,redundant,TODO,TODO,string,black,inputs/technology/systems/conversion_systems.xls:PV +-,get_database_conversion_systems,PV,unit,unit of the min/max capacity,TODO,depends on the source,string,black,inputs/technology/systems/conversion_systems.xls:PV +-,get_database_conversion_systems,PVT,a,"investment cost function, f(x) = a + b*x^c + d*ln(x) + e*x*ln*(x) ",TODO,TODO,long,black,inputs/technology/systems/conversion_systems.xls:PVT +-,get_database_conversion_systems,PVT,assumption,items made by assumptions in this technology,[-],depends on the data availability,string,black,inputs/technology/systems/conversion_systems.xls:PVT +-,get_database_conversion_systems,PVT,b,"investment cost function, f(x) = a + b*x^c + d*ln(x) + e*x*ln*(x) ",TODO,TODO,float,black,inputs/technology/systems/conversion_systems.xls:PVT +-,get_database_conversion_systems,PVT,c,"investment cost function, f(x) = a + b*x^c + d*ln(x) + e*x*ln*(x) ",TODO,TODO,long,black,inputs/technology/systems/conversion_systems.xls:PVT +-,get_database_conversion_systems,PVT,cap_max,maximum capacity ,[W],depends on the source,long,black,inputs/technology/systems/conversion_systems.xls:PVT +-,get_database_conversion_systems,PVT,cap_min,minimum capacity,[W],depends on the source,long,black,inputs/technology/systems/conversion_systems.xls:PVT +-,get_database_conversion_systems,PVT,code,identifier of each unique equipment,[-],an unique code for each equipment in this worksheet,string,black,inputs/technology/systems/conversion_systems.xls:PVT +-,get_database_conversion_systems,PVT,currency,currency-year information of the investment cost function,[currency-year],"should be unified to the same currency-year, e.g., USD-2015",string,black,inputs/technology/systems/conversion_systems.xls:PVT +-,get_database_conversion_systems,PVT,d,"investment cost function, f(x) = a + b*x^c + d*ln(x) + e*x*ln*(x) ",TODO,TODO,long,black,inputs/technology/systems/conversion_systems.xls:PVT +-,get_database_conversion_systems,PVT,Description,Describes the type of photovoltaic thermal technology,[-],[-],string,black,inputs/technology/systems/conversion_systems.xls:PVT +-,get_database_conversion_systems,PVT,e,"investment cost function, f(x) = a + b*x^c + d*ln(x) + e*x*ln*(x) ",TODO,TODO,long,black,inputs/technology/systems/conversion_systems.xls:PVT +-,get_database_conversion_systems,PVT,IR_%,interest rate charged on the loan for the capital cost,[-],depends on the source,long,black,inputs/technology/systems/conversion_systems.xls:PVT +-,get_database_conversion_systems,PVT,LT_yr,lifetime of this technology,year,depends on the source,long,black,inputs/technology/systems/conversion_systems.xls:PVT +-,get_database_conversion_systems,PVT,O&M_%,operation and maintanence cost factor (fraction of the investment cost),[-],depends on the source,long,black,inputs/technology/systems/conversion_systems.xls:PVT +-,get_database_conversion_systems,PVT,unit,unit of the min/max capacity,TODO,depends on the source,string,black,inputs/technology/systems/conversion_systems.xls:PVT +-,get_database_conversion_systems,SC,a,"investment cost function, f(x) = a + b*x^c + d*ln(x) + e*x*ln*(x) ",TODO,TODO,long,black,inputs/technology/systems/conversion_systems.xls:SC +-,get_database_conversion_systems,SC,aperture_area_ratio,ratio of aperture area to panel area,[-],depends on the source,float,black,inputs/technology/systems/conversion_systems.xls:SC +-,get_database_conversion_systems,SC,assumption,items made by assumptions in this technology,[-],depends on the data availability,string,black,inputs/technology/systems/conversion_systems.xls:SC +-,get_database_conversion_systems,SC,b,"investment cost function, f(x) = a + b*x^c + d*ln(x) + e*x*ln*(x) ",TODO,TODO,float,black,inputs/technology/systems/conversion_systems.xls:SC +-,get_database_conversion_systems,SC,c,"investment cost function, f(x) = a + b*x^c + d*ln(x) + e*x*ln*(x) ",TODO,TODO,long,black,inputs/technology/systems/conversion_systems.xls:SC +-,get_database_conversion_systems,SC,C_eff,thermal capacity of module ,[J/M2k],depends on the source,long,black,inputs/technology/systems/conversion_systems.xls:SC +-,get_database_conversion_systems,SC,c1,collector heat loss coefficient at zero temperature difference and wind speed,[W/M2k],depends on the source,float,black,inputs/technology/systems/conversion_systems.xls:SC +-,get_database_conversion_systems,SC,c2,ctemperature difference dependency of the heat loss coefficient,[W/m2K2],depends on the source,float,black,inputs/technology/systems/conversion_systems.xls:SC +-,get_database_conversion_systems,SC,cap_max,maximum capacity ,[m2],TODO,long,black,inputs/technology/systems/conversion_systems.xls:SC +-,get_database_conversion_systems,SC,cap_min,minimum capacity,[m2],TODO,long,black,inputs/technology/systems/conversion_systems.xls:SC +-,get_database_conversion_systems,SC,code,identifier of each unique equipment,[-],an unique code for each equipment in this worksheet,string,black,inputs/technology/systems/conversion_systems.xls:SC +-,get_database_conversion_systems,SC,Cp_fluid,heat capacity of the heat transfer fluid,[J/kgK],depends on the source,long,black,inputs/technology/systems/conversion_systems.xls:SC +-,get_database_conversion_systems,SC,currency,currency-year information of the investment cost function,[currency-year],"should be unified to the same currency-year, e.g., USD-2015",string,black,inputs/technology/systems/conversion_systems.xls:SC +-,get_database_conversion_systems,SC,d,"investment cost function, f(x) = a + b*x^c + d*ln(x) + e*x*ln*(x) ",TODO,TODO,long,black,inputs/technology/systems/conversion_systems.xls:SC +-,get_database_conversion_systems,SC,Description,Describes the type of solar collector,[-],[-],string,black,inputs/technology/systems/conversion_systems.xls:SC +-,get_database_conversion_systems,SC,dP1,pressure drop at zero flow rate,[Pa/m2],depends on the source,long,black,inputs/technology/systems/conversion_systems.xls:SC +-,get_database_conversion_systems,SC,dP2,pressure drop at nominal flow rate (mB0),[Pa/m2],depends on the source,float,black,inputs/technology/systems/conversion_systems.xls:SC +-,get_database_conversion_systems,SC,dP3,pressure drop at maximum flow rate (mB_max),[Pa/m2],depends on the source,float,black,inputs/technology/systems/conversion_systems.xls:SC +-,get_database_conversion_systems,SC,dP4,pressure drop at minimum flow rate (mB_min),[Pa/m2],depends on the source,float,black,inputs/technology/systems/conversion_systems.xls:SC +-,get_database_conversion_systems,SC,e,"investment cost function, f(x) = a + b*x^c + d*ln(x) + e*x*ln*(x) ",TODO,TODO,long,black,inputs/technology/systems/conversion_systems.xls:SC +-,get_database_conversion_systems,SC,IAM_d,incident angle modifier for diffuse radiation,[-],depends on the source,float,black,inputs/technology/systems/conversion_systems.xls:SC +-,get_database_conversion_systems,SC,IR_%,interest rate charged on the loan for the capital cost,[-],depends on the source,long,black,inputs/technology/systems/conversion_systems.xls:SC +-,get_database_conversion_systems,SC,LT_yr,lifetime of this technology,year,depends on the source,long,black,inputs/technology/systems/conversion_systems.xls:SC +-,get_database_conversion_systems,SC,mB_max_r,maximum flow rate per aperture area,[kg/m2/hr],depends on the source,float,black,inputs/technology/systems/conversion_systems.xls:SC +-,get_database_conversion_systems,SC,mB_min_r,minimum flow rate per aperture area,[kg/m2/hr],depends on the source,float,black,inputs/technology/systems/conversion_systems.xls:SC +-,get_database_conversion_systems,SC,mB0_r,nominal flow rate per aperture area,[kg/m2/hr],depends on the source,float,black,inputs/technology/systems/conversion_systems.xls:SC +-,get_database_conversion_systems,SC,module_area_m2,module area of a solar collector,[m2],depends on the source,float,black,inputs/technology/systems/conversion_systems.xls:SC +-,get_database_conversion_systems,SC,module_length_m,lengh of a solar collector module,[m],depends on the source,long,black,inputs/technology/systems/conversion_systems.xls:SC +-,get_database_conversion_systems,SC,n0,zero loss efficiency at normal incidence,[-],depends on the source,float,black,inputs/technology/systems/conversion_systems.xls:SC +-,get_database_conversion_systems,SC,O&M_%,operation and maintanence cost factor (fraction of the investment cost),[-],depends on the source,long,black,inputs/technology/systems/conversion_systems.xls:SC +-,get_database_conversion_systems,SC,t_max,maximum operating temperature,[C],depends on the source,long,black,inputs/technology/systems/conversion_systems.xls:SC +-,get_database_conversion_systems,SC,type,type of the solar collector (FP: flate-plate or ET: evacuated-tube),TODO,TODO,string,black,inputs/technology/systems/conversion_systems.xls:SC +-,get_database_conversion_systems,SC,unit,unit of the min/max capacity,TODO,depends on the source,string,black,inputs/technology/systems/conversion_systems.xls:SC +-,get_database_conversion_systems,TES,a,"investment cost function, f(x) = a + b*x^c + d*ln(x) + e*x*ln*(x) ",TODO,TODO,long,black,inputs/technology/systems/conversion_systems.xls:TES +-,get_database_conversion_systems,TES,assumption,TODO,TODO,TODO,string,black,inputs/technology/systems/conversion_systems.xls:TES +-,get_database_conversion_systems,TES,b,"investment cost function, f(x) = a + b*x^c + d*ln(x) + e*x*ln*(x) ",TODO,TODO,float,black,inputs/technology/systems/conversion_systems.xls:TES +-,get_database_conversion_systems,TES,c,"investment cost function, f(x) = a + b*x^c + d*ln(x) + e*x*ln*(x) ",TODO,TODO,long,black,inputs/technology/systems/conversion_systems.xls:TES +-,get_database_conversion_systems,TES,cap_max,maximum capacity ,[m3],TODO,long,black,inputs/technology/systems/conversion_systems.xls:TES +-,get_database_conversion_systems,TES,cap_min,minimum capacity,[m3],TODO,long,black,inputs/technology/systems/conversion_systems.xls:TES +-,get_database_conversion_systems,TES,code,identifier of each unique equipment,[-],an unique code for each equipment in this worksheet,string,black,inputs/technology/systems/conversion_systems.xls:TES +-,get_database_conversion_systems,TES,currency,currency-year information of the investment cost function,[currency-year],"should be unified to the same currency-year, e.g., USD-2015",string,black,inputs/technology/systems/conversion_systems.xls:TES +-,get_database_conversion_systems,TES,d,"investment cost function, f(x) = a + b*x^c + d*ln(x) + e*x*ln*(x) ",TODO,TODO,long,black,inputs/technology/systems/conversion_systems.xls:TES +-,get_database_conversion_systems,TES,Description,Describes the source of the benchmark standards.,[-],[-],string,black,inputs/technology/systems/conversion_systems.xls:TES +-,get_database_conversion_systems,TES,e,"investment cost function, f(x) = a + b*x^c + d*ln(x) + e*x*ln*(x) ",TODO,TODO,float,black,inputs/technology/systems/conversion_systems.xls:TES +-,get_database_conversion_systems,TES,IR_%,interest rate charged on the loan for the capital cost,[-],depends on the source,long,black,inputs/technology/systems/conversion_systems.xls:TES +-,get_database_conversion_systems,TES,LT_yr,lifetime of this technology,year,depends on the source,long,black,inputs/technology/systems/conversion_systems.xls:TES +-,get_database_conversion_systems,TES,O&M_%,operation and maintanence cost factor (fraction of the investment cost),[-],depends on the source,long,black,inputs/technology/systems/conversion_systems.xls:TES +-,get_database_conversion_systems,TES,unit,unit of the min/max capacity,TODO,depends on the source,string,black,inputs/technology/systems/conversion_systems.xls:TES -,get_database_feedstocks,NATURALGAS,hour,hour of a 24 hour day,[-],{0...23},string,black,inputs/technology/feedstocks/feedstocks.xls:NATURALGAS -,get_database_feedstocks,NATURALGAS,CO2,Green House Gas Emisisons factor,[kg CO2-eq/MJ],{0.0...n},string,black,inputs/technology/feedstocks/feedstocks.xls:NATURALGAS -,get_database_feedstocks,NATURALGAS,Opex_var_buy_USD2015perkWh,buying price,[-],{0...23},string,black,inputs/technology/feedstocks/feedstocks.xls:NATURALGAS @@ -1054,10 +1055,8 @@ emissions,get_lca_operation,,NG_ww_ghg_kgm2,Emissions due to operational energy emissions,get_lca_operation,,NG_ww_ghg_ton,Emissions due to operational energy of the solar powered domestic hot water system,[ton/yr],{0.0...n},float,black,outputs/data/emissions/total_lca_operation.csv emissions,get_lca_operation,,NG_ww_nre_pen_GJ,Operational primary energy demand (non-renewable) for natural gas powered domestic hot water system,[GJ/yr],{0.0...n},float,black,outputs/data/emissions/total_lca_operation.csv emissions,get_lca_operation,,NG_ww_nre_pen_MJm2,Operational primary energy demand per unit of conditioned floor area (non-renewable) of the natural gas powered domestic hot water system,[MJ/m2-yr],{0.0...n},float,black,outputs/data/emissions/total_lca_operation.csv -emissions,get_lca_operation,,O_ghg_kgm2,Energy system operation,kg CO2-eq/m2.yr,{0.0...n},float,grey,outputs/data/emissions/total_lca_operation.csv -emissions,get_lca_operation,,O_ghg_ton,Energy system operation,ton CO2-eq/yr,{0.0...n},float,grey,outputs/data/emissions/total_lca_operation.csv -emissions,get_lca_operation,,O_nre_pen_GJ,Energy system operation,GJ/yr,{0.0...n},float,red_light,outputs/data/emissions/total_lca_operation.csv -emissions,get_lca_operation,,O_nre_pen_MJm2,Energy system operation,MJoil-eq/m2.yr,{0.0...n},float,red_light,outputs/data/emissions/total_lca_operation.csv +emissions,get_lca_operation,,GHG_sys_kgCO2m2,Energy system operation,kg CO2-eq/m2.yr,{0.0...n},float,grey,outputs/data/emissions/total_lca_operation.csv +emissions,get_lca_operation,,GHG_sys_tonCO2,Energy system operation,ton CO2-eq/yr,{0.0...n},float,grey,outputs/data/emissions/total_lca_operation.csv emissions,get_lca_operation,,OIL_hs_ghg_kgm2,Emissions due to operational energy per unit of conditioned floor area of the oil powered heating system,[kg/m2 -yr],{0.0...n},float,black,outputs/data/emissions/total_lca_operation.csv emissions,get_lca_operation,,OIL_hs_ghg_ton,Emissions due to operational energy of the oil powered heating system,[ton/yr],{0.0...n},float,black,outputs/data/emissions/total_lca_operation.csv emissions,get_lca_operation,,OIL_hs_nre_pen_GJ,Operational primary energy demand (non-renewable) for oil powered heating system,[GJ/yr],{0.0...n},float,black,outputs/data/emissions/total_lca_operation.csv diff --git a/cea/inputlocator.py b/cea/inputlocator.py index 0456c561ef..cbf6a232de 100644 --- a/cea/inputlocator.py +++ b/cea/inputlocator.py @@ -57,8 +57,11 @@ def get_databases_archetypes_folder(self): def get_databases_feedstocks_folder(self): return os.path.join(self.get_databases_folder(), 'feedstocks') + def get_databases_assemblies_folder(self): + return os.path.join(self.get_databases_folder(), 'assemblies') + def get_databases_systems_folder(self): - return os.path.join(self.get_databases_folder(), 'systems') + return os.path.join(self.get_databases_folder(), 'components') def get_database_standard_schedules(self): return os.path.join(self.get_databases_folder(), 'archetypes', 'schedules') @@ -585,42 +588,34 @@ def get_technology_template_for_region(self, region): def get_archetypes_properties(self): """Returns the database of construction properties to be used by the archetypes-mapper. These are copied to the scenario if they are not yet present, based on the configured region for the scenario.""" - return os.path.join(self.get_databases_folder(), 'archetypes', 'construction_properties.xlsx') - - def get_systems_seasonality(self): - """ Returns the database of region-specific system control parameters. These are copied - to the scenario if they are not yet present, based on the configured region for the scenario. + return os.path.join(self.get_databases_archetypes_folder(), 'construction_properties.xlsx') - :param region: - :return: - """ - return os.path.join(self.get_databases_folder(), 'systems', 'seasonality.xlsx') + def get_database_assemblies(self): + """Returns the database of supply components for cost analysis. These are copied + to the scenario if they are not yet present, based on the configured region for the scenario.""" + return os.path.join(self.get_databases_assemblies_folder(), 'assemblies.xls') def get_database_conversion_systems(self): - """Returns the database of supply systems for cost analysis. These are copied + """Returns the database of supply components for cost analysis. These are copied to the scenario if they are not yet present, based on the configured region for the scenario.""" - return os.path.join(self.get_databases_folder(), 'systems', 'conversion_systems.xls') + return os.path.join(self.get_databases_folder(), 'components', 'conversion.xls') def get_database_distribution_systems(self): - """Returns the database of supply systems for cost analysis. These are copied - to the scenario if they are not yet present, based on the configured region for the scenario.""" - return os.path.join(self.get_databases_folder(), 'systems', 'distribution_systems.xls') - - def get_database_feedstocks(self): - """Returns the database of supply systems for cost analysis. These are copied + """Returns the database of supply components for cost analysis. These are copied to the scenario if they are not yet present, based on the configured region for the scenario.""" - return os.path.join(self.get_databases_folder(), 'feedstocks', 'feedstocks.xls') + return os.path.join(self.get_databases_folder(), 'components', 'distribution.xls') def get_database_air_conditioning_systems(self): - old_file_path = os.path.join(self.get_databases_folder(), 'systems', 'emission_systems.xls') - new_file_path = os.path.join(self.get_databases_folder(), 'systems', 'air_conditioning_systems.xls') - if os.path.exists(old_file_path) and os.path.exists(new_file_path) == False: - os.rename(old_file_path, new_file_path) - return new_file_path + return os.path.join(self.get_databases_folder(), 'components', 'air_conditioning.xls') def get_database_envelope_systems(self): """databases/Systems/envelope_systems.csv""" - return os.path.join(self.get_databases_folder(), 'systems', 'envelope_systems.xls') + return os.path.join(self.get_databases_folder(), 'components', 'envelope.xls') + + def get_database_feedstocks(self): + """Returns the database of supply components for cost analysis. These are copied + to the scenario if they are not yet present, based on the configured region for the scenario.""" + return os.path.join(self.get_databases_folder(), 'feedstocks', 'feedstocks.xls') def get_uncertainty_db(self): """databases/CH/Uncertainty/uncertainty_distributions.xls""" @@ -1423,7 +1418,7 @@ def get_costs_folder(self): def get_costs_operation_file(self): """scenario/outputs/data/costs/{load}_cost_operation.pdf""" - return os.path.join(self.get_costs_folder(), 'operation_costs.csv' % locals()) + return os.path.join(self.get_costs_folder(), 'supply_system_costs_today.csv' % locals()) # GRAPHS def get_plots_folder(self, category): diff --git a/cea/interfaces/dashboard/api/databases.py b/cea/interfaces/dashboard/api/databases.py index 2f20f670d2..38e4704358 100644 --- a/cea/interfaces/dashboard/api/databases.py +++ b/cea/interfaces/dashboard/api/databases.py @@ -16,35 +16,41 @@ # { db_type: { db_name: db_prop, ... }, ... } DATABASES = OrderedDict([ ("archetypes", { - "construction_properties": { + "CONSTRUCTION": { "file_ext": ".xlsx", "schema_key": "get_archetypes_properties" }, - "schedules": { + "SCHEDULES": { "file_ext": "", # Folder "schema_key": "get_database_standard_schedules_use" } }), - ("systems", { - "air_conditioning_systems": { + ("assemblies", { + "ASSEMBLIES": { + "file_ext": ".xls", + "schema_key": "get_database_assemblies" + }, + }), + ("components", { + "AIR-CONDITIONING": { "file_ext": ".xls", "schema_key": "get_database_air_conditioning_systems" }, - "envelope_systems": { + "ENVELOPE": { "file_ext": ".xls", "schema_key": "get_database_envelope_systems" }, - "conversion_systems": { + "CONVERSION": { "file_ext": ".xls", "schema_key": "get_database_conversion_systems" }, - "distribution_systems": { + "DISTRIBUTION": { "file_ext": ".xls", "schema_key": "get_database_distribution_systems" } }), ("feedstocks", { - "feedstocks": { + "FEEDSTOCKS": { "file_ext": ".xls", "schema_key": "get_database_feedstocks" }, diff --git a/cea/interfaces/dashboard/api/inputs.py b/cea/interfaces/dashboard/api/inputs.py index 102b025089..8ac622fc26 100644 --- a/cea/interfaces/dashboard/api/inputs.py +++ b/cea/interfaces/dashboard/api/inputs.py @@ -125,7 +125,7 @@ def get(self): store['geojsons']['dh'], store['connected_buildings']['dh'], store['crs']['dh'] = get_network( config, 'dh', trigger_abort=False) store['colors'] = COLORS - store['schedules'] = {} + store['SCHEDULES'] = {} return store def put(self): @@ -136,7 +136,7 @@ def put(self): tables = form['tables'] geojsons = form['geojsons'] crs = form['crs'] - schedules = form['schedules'] + SCHEDULES = form['SCHEDULES'] out = {'tables': {}, 'geojsons': {}} @@ -178,9 +178,9 @@ def put(self): if db_info['type'] == 'shp': out['geojsons'][db] = {} - if schedules: - for building in schedules: - schedule_dict_to_file(schedules[building], locator.get_building_weekly_schedules(building)) + if SCHEDULES: + for building in SCHEDULES: + schedule_dict_to_file(SCHEDULES[building], locator.get_building_weekly_schedules(building)) return out @@ -333,8 +333,8 @@ def get(self, db): for db_type, db_dict in DATABASES.items(): out[db_type] = OrderedDict() for db_name, db_props in db_dict.items(): - if db_name == 'schedules': - # Need to change locator method for schedules since `schema.yml` uses + if db_name == 'SCHEDULES': + # Need to change locator method for SCHEDULES since `schema.yml` uses # `get_database_standard_schedules_use` instead of `get_database_standard_schedules` out[db_type][db_name] = get_all_schedules_dict(locator.get_database_standard_schedules()) else: @@ -343,7 +343,7 @@ def get(self, db): return out elif db in DATABASE_NAMES: db_type = DATABASES_TYPE_MAP[db] - if db == 'schedules': + if db == 'SCHEDULES': return get_all_schedules_dict(locator.get_database_standard_schedules()) else: locator_method = DATABASES[db_type][db]['schema_key'] @@ -365,8 +365,8 @@ def put(self): for db_type in payload: for db_name in payload[db_type]: - if db_name == 'schedules': - for archetype, schedule_dict in payload[db_type]['schedules'].items(): + if db_name == 'SCHEDULES': + for archetype, schedule_dict in payload[db_type]['SCHEDULES'].items(): schedule_dict_to_file( schedule_dict, locator.get_database_standard_schedules_use( diff --git a/cea/interfaces/dashboard/inputs/inputs.yml b/cea/interfaces/dashboard/inputs/inputs.yml index 108f387e35..11486a468a 100644 --- a/cea/interfaces/dashboard/inputs/inputs.yml +++ b/cea/interfaces/dashboard/inputs/inputs.yml @@ -174,29 +174,29 @@ supply-systems: - name: type_cs type: choice location: - path: get_database_conversion_systems - sheet: ALL_IN_ONE_SYSTEMS + path: get_database_assemblies + sheet: SUPPLY column: code filter: system=='COOLING' or system=='NONE' - name: type_dhw type: choice location: - path: get_database_conversion_systems - sheet: ALL_IN_ONE_SYSTEMS + path: get_database_assemblies + sheet: SUPPLY column: code filter: system=='HEATING' or system=='NONE' - name: type_el type: choice location: - path: get_database_conversion_systems - sheet: ALL_IN_ONE_SYSTEMS + path: get_database_assemblies + sheet: SUPPLY column: code filter: system=='ELECTRICITY' or system=='NONE' - name: type_hs type: choice location: - path: get_database_conversion_systems - sheet: ALL_IN_ONE_SYSTEMS + path: get_database_assemblies + sheet: SUPPLY column: code filter: system=='HEATING' or system=='NONE' architecture: diff --git a/cea/plots/comparisons/Annual_costs.py b/cea/plots/comparisons/Annual_costs.py index 0c394df9eb..19f1ceb0fb 100644 --- a/cea/plots/comparisons/Annual_costs.py +++ b/cea/plots/comparisons/Annual_costs.py @@ -59,7 +59,7 @@ def output_path(self): @property def layout(self): return go.Layout(barmode='relative', - yaxis=dict(title='Annualized cost [USD$(2015)/year]')) + yaxis=dict(title=self.titley)) def calc_graph(self): data = self.preprocessing_annual_costs_scenarios() diff --git a/cea/plots/comparisons/old/main.py b/cea/plots/comparisons/old/main.py index 52bf3569dc..4bbc035300 100644 --- a/cea/plots/comparisons/old/main.py +++ b/cea/plots/comparisons/old/main.py @@ -129,8 +129,8 @@ def __init__(self, project, urban_scenarios, energy_system_scenarios_generation, 'COAL_ww_cost_m2yr', 'OIL_ww_cost_m2yr', 'WOOD_ww_cost_m2yr'] - self.analysis_fields_emissions = ['GHG_sys_embodied_tonCO2', 'O_ghg_ton', 'GHG_sys_mobility_tonCO2'] - self.analysis_fields_emissions_m2 = ['GHG_sys_embodied_kgCO2m2', 'O_ghg_kgm2', 'GHG_sys_mobility_kgCO2m2'] + self.analysis_fields_emissions = ['GHG_sys_embodied_tonCO2', 'GHG_sys_tonCO2', 'GHG_sys_mobility_tonCO2'] + self.analysis_fields_emissions_m2 = ['GHG_sys_embodied_kgCO2m2', 'GHG_sys_kgCO2m2', 'GHG_sys_mobility_kgCO2m2'] self.analysis_fields_occupancy_type = ['COOLROOM', 'FOODSTORE', 'GYM', 'HOSPITAL', 'HOTEL', 'INDUSTRIAL', 'LIBRARY', 'MULTI_RES', 'OFFICE', 'PARKING', 'RESTAURANT', 'RETAIL', 'SCHOOL', 'SERVERROOM', 'SINGLE_RES', 'SWIMMING'] diff --git a/cea/plots/life_cycle/__init__.py b/cea/plots/life_cycle/__init__.py deleted file mode 100644 index 8db05c720a..0000000000 --- a/cea/plots/life_cycle/__init__.py +++ /dev/null @@ -1,76 +0,0 @@ -from __future__ import division -from __future__ import print_function - -import pandas as pd -import os -import cea.inputlocator - -""" -Implements py:class:`cea.plots.LifeCycleAnalysisPlotBase` as a base class for all plots in the category -"life-cycle-analysis" and also set's the label for that category. -""" - -__author__ = "Daren Thomas" -__copyright__ = "Copyright 2019, Architecture and Building Systems - ETH Zurich" -__credits__ = ["Daren Thomas"] -__license__ = "MIT" -__version__ = "0.1" -__maintainer__ = "Daren Thomas" -__email__ = "cea@arch.ethz.ch" -__status__ = "Production" - -# identifies this package as a plots category and sets the label name for the category -label = 'G - Life Cycle Analysis' - - -class LifeCycleAnalysisPlotBase(cea.plots.PlotBase): - """Implements properties / methods used by all plots in this category""" - category_name = "life-cycle" - - # default parameters for plots in this category - override if your plot differs - expected_parameters = { - 'buildings': 'plots:buildings', - 'scenario-name': 'general:scenario-name', - } - - def __init__(self, project, parameters, cache): - super(LifeCycleAnalysisPlotBase, self).__init__(project, parameters, cache) - self.category_path = os.path.join('new_basic', 'life-cycle-anaylsis') - self.analysis_fields_costs = ['DC_cs_cost_yr', 'DC_cdata_cost_yr', 'DC_cre_cost_yr', 'DH_ww_cost_yr', - 'DH_hs_cost_yr', 'SOLAR_ww_cost_yr', 'SOLAR_hs_cost_yr', 'GRID_cost_yr', - 'PV_cost_yr', 'NG_hs_cost_yr', 'COAL_hs_cost_yr', 'OIL_hs_cost_yr', - 'WOOD_hs_cost_yr', 'NG_ww_cost_yr', 'COAL_ww_cost_yr', 'OIL_ww_cost_yr', - 'WOOD_ww_cost_yr'] - self.analysis_fields_emissions = ['GHG_sys_embodied_tonCO2', 'O_ghg_ton', 'GHG_sys_mobility_tonCO2'] - self.analysis_fields_emissions_m2 = ['GHG_sys_embodied_kgCO2m2', 'O_ghg_kgm2', 'GHG_sys_mobility_kgCO2m2'] - self.input_files = [(self.locator.get_lca_embodied, []), - (self.locator.get_lca_operation, []), - (self.locator.get_lca_mobility, [])] - - @property - def data_processed_emissions(self): - """ Returns the preprocessed emissions data used for the life-cycle-analysis plots. Uses the PlotCache to - speed up ``self._calculate_data_processed_emissions()`` """ - return self.cache.lookup(data_path=os.path.join(self.category_name, 'data_processed_emissions'), - plot=self, producer=self._calculate_data_processed_emissions) - - def _calculate_data_processed_emissions(self): - data_raw_embodied_emissions = pd.read_csv(self.locator.get_lca_embodied()).set_index('Name') - data_raw_operation_emissions = pd.read_csv(self.locator.get_lca_operation()).set_index('Name') - data_raw_mobility_emissions = pd.read_csv(self.locator.get_lca_mobility()).set_index('Name') - data_processed = data_raw_embodied_emissions.join(data_raw_operation_emissions, lsuffix='y').join( - data_raw_mobility_emissions, lsuffix='y2') - return data_processed.ix[self.buildings] - - @property - def data_processed_costs(self): - """Returns the preprocessed operation costs data used for the life-cycle-analysis plots. Uses the PlotCache to - speed up ``self._calculate_data_processed_costs()``""" - return self.cache.lookup(data_path=os.path.join(self.category_name, 'data_processed_costs'), - plot=self, producer=self._calculate_data_processed_costs) - - def _calculate_data_processed_costs(self): - data_raw = pd.read_csv(self.locator.get_costs_operation_file()).set_index('Name') - self.analysis_fields_costs = self.remove_unused_fields(data_raw, self.analysis_fields_costs) - data_processed = data_raw[self.analysis_fields_costs] - return data_processed.ix[self.buildings] diff --git a/cea/plots/life_cycle/emissions.py b/cea/plots/life_cycle/emissions.py deleted file mode 100644 index 94bb412d6d..0000000000 --- a/cea/plots/life_cycle/emissions.py +++ /dev/null @@ -1,150 +0,0 @@ -from __future__ import division -from __future__ import print_function - -import plotly.graph_objs as go -from plotly.offline import plot -import pandas as pd -import cea.plots.life_cycle -from cea.plots.variable_naming import LOGO, COLOR, NAMING - -__author__ = "Jimeno A. Fonseca" -__copyright__ = "Copyright 2018, Architecture and Building Systems - ETH Zurich" -__credits__ = ["Jimeno A. Fonseca"] -__license__ = "MIT" -__version__ = "2.8" -__maintainer__ = "Daren Thomas" -__email__ = "cea@arch.ethz.ch" -__status__ = "Production" - - -class EmissionsPlot(cea.plots.life_cycle.LifeCycleAnalysisPlotBase): - """Implements the Green House Gas Emissions plot""" - name = "Green House Gas Emissions" - - @property - def layout(self): - return go.Layout(barmode='stack', - yaxis=dict(title='Green House Gas Emissions [ton CO2-eq/yr]'), - xaxis=dict(title='Building Name')) - - def calc_graph(self): - # calculate graph - graph = [] - analysis_fields = self.analysis_fields_emissions - data_frame = self.data_processed_emissions - data_frame['total'] = total = data_frame[analysis_fields].sum(axis=1) - data_frame = data_frame.sort_values(by='total', ascending=False) # this will get the maximum value to the left - for field in analysis_fields: - y = data_frame[field] - name = NAMING[field] - total_percent = (y / total * 100).round(2).values - total_percent_txt = ["(" + str(x) + " %)" for x in total_percent] - trace = go.Bar(x=data_frame.index, y=y, name=name, text=total_percent_txt, - marker=dict(color=COLOR[field])) - graph.append(trace) - return graph - - def calc_table(self): - analysis_fields = self.analysis_fields_emissions - data_frame = self.data_processed_emissions - data_frame['total'] = data_frame[analysis_fields].sum(axis=1) - total = data_frame[analysis_fields].sum().round(2).tolist() - total_percent = [str('{:20,.2f}'.format(x)) + " (" + str(round(x / sum(total) * 100, 1)) + " %)" for x in total] - - # calculate graph - anchors = [] - load_names = [] - for field in analysis_fields + ["total"]: - anchors.append(', '.join(calc_top_three_anchor_loads(data_frame, field))) - for field in analysis_fields: - load_names.append(NAMING[field] + ' (' + field + ')') - - column_names = ['Category', 'Emissions for all buildings [ton CO2-eq/yr]', 'Top 3 most polluting buildings'] - column_values = [load_names + ["TOTAL"], total_percent + [str('{:20,.2f}'.format(sum(total))) + " (100 %)"], anchors] - table_df = pd.DataFrame({cn: cv for cn, cv in zip(column_names, column_values)}, columns=column_names) - return table_df - - -def emissions(data_frame, analysis_fields, title, output_path): - # CALCULATE GRAPH - traces_graph = calc_graph(analysis_fields, data_frame) - - # CALCULATE TABLE - traces_table = calc_table(analysis_fields, data_frame) - - # PLOT GRAPH - traces_graph.append(traces_table) - layout = go.Layout(images=LOGO, title=title, barmode='stack', - yaxis=dict(title='Green House Gas Emissions [ton CO2-eq/yr]', domain=[0.35, 1]), - xaxis=dict(title='Building Name')) - fig = go.Figure(data=traces_graph, layout=layout) - plot(fig, auto_open=False, filename=output_path) - - return {'data': traces_graph, 'layout': layout} - - -def calc_graph(analysis_fields, data_frame): - # calculate graph - graph = [] - data_frame['total'] = total = data_frame[analysis_fields].sum(axis=1) - data_frame = data_frame.sort_values(by='total', ascending=False) # this will get the maximum value to the left - for field in analysis_fields: - y = data_frame[field] - name = NAMING[field] - total_perc = (y / total * 100).round(2).values - total_perc_txt = ["(" + str(x) + " %)" for x in total_perc] - trace = go.Bar(x=data_frame.index, y=y, name=name, text=total_perc_txt, - marker=dict(color=COLOR[field])) - graph.append(trace) - - return graph - - -def calc_table(analysis_fields, data_frame): - total = data_frame[analysis_fields].sum().round(2).tolist() - total_perc = [str('{:20,.2f}'.format(x)) + " (" + str(round(x / sum(total) * 100, 1)) + " %)" for x in total] - - # calculate graph - anchors = [] - load_names = [] - for field in analysis_fields + ["total"]: - anchors.append(calc_top_three_anchor_loads(data_frame, field)) - for field in analysis_fields: - load_names.append(NAMING[field] + ' (' + field + ')') - - table = go.Table(domain=dict(x=[0, 1], y=[0.0, 0.2]), - header=dict(values=['Category', 'Emissions for all buildings [ton CO2-eq/yr]', - 'Top 3 most polluting buildings']), - cells=dict(values=[load_names + ["TOTAL"], - total_perc + [str('{:20,.2f}'.format(sum(total))) + " (100 %)"], anchors])) - - return table - - -def calc_top_three_anchor_loads(data_frame, field): - data_frame = data_frame.sort_values(by=field, ascending=False) - anchor_list = data_frame[:3].index.values - return anchor_list - - -def main(): - """Test this plot""" - import cea.config - import cea.inputlocator - config = cea.config.Configuration() - locator = cea.inputlocator.InputLocator(config.scenario) - cache = cea.plots.cache.PlotCache(config.project) - # cache = cea.plots.cache.NullPlotCache() - EmissionsPlot(config.project, {'buildings': None, - 'scenario-name': config.scenario_name}, - cache).plot(auto_open=True) - EmissionsPlot(config.project, {'buildings': locator.get_zone_building_names()[0:2], - 'scenario-name': config.scenario_name}, - cache).plot(auto_open=True) - EmissionsPlot(config.project, {'buildings': [locator.get_zone_building_names()[0]], - 'scenario-name': config.scenario_name}, - cache).plot(auto_open=True) - - -if __name__ == '__main__': - main() diff --git a/cea/plots/life_cycle/emissions_intensity.py b/cea/plots/life_cycle/emissions_intensity.py deleted file mode 100644 index 960f2c6bb1..0000000000 --- a/cea/plots/life_cycle/emissions_intensity.py +++ /dev/null @@ -1,98 +0,0 @@ -from __future__ import division -from __future__ import print_function - -import plotly.graph_objs as go -from plotly.offline import plot -import cea.plots.life_cycle -from cea.plots.variable_naming import LOGO, COLOR, NAMING - -__author__ = "Jimeno A. Fonseca" -__copyright__ = "Copyright 2018, Architecture and Building Systems - ETH Zurich" -__credits__ = ["Jimeno A. Fonseca"] -__license__ = "MIT" -__version__ = "2.8" -__maintainer__ = "Daren Thomas" -__email__ = "cea@arch.ethz.ch" -__status__ = "Production" - - -class EmissionsIntensityPlot(cea.plots.life_cycle.LifeCycleAnalysisPlotBase): - """Implements the Green House Gas Emissions Intensity plot""" - name = "Green House Gas Emissions intensity" - - @property - def layout(self): - return go.Layout(barmode='stack', - yaxis=dict(title='Green House Gas Emissions per GFA [kg CO2-eq/m2.yr]'), - xaxis=dict(title='Building Name')) - - def calc_graph(self): - # calculate graph - graph = [] - analysis_fields = self.analysis_fields_emissions_m2 - data_frame = self.data_processed_emissions - data_frame['total'] = total = data_frame[analysis_fields].sum(axis=1) - data_frame = data_frame.sort_values(by='total', ascending=False) # this will get the maximum value to the left - for field in analysis_fields: - y = data_frame[field] - total_perc = (y / total * 100).round(2).values - total_perc_txt = ["(" + str(x) + " %)" for x in total_perc] - name = NAMING[field] - trace = go.Bar(x=data_frame.index, y=y, name=name, text=total_perc_txt, - marker=dict(color=COLOR[field])) - graph.append(trace) - - return graph - - -def emissions_intensity(data_frame, analysis_fields, title, output_path): - # CALCULATE GRAPH - traces_graph = calc_graph(analysis_fields, data_frame) - - layout = go.Layout(images=LOGO, title=title, barmode='stack', - yaxis=dict(title='Green House Gas Emissions per Gross Flor Area [kg CO2-eq/m2.yr]'), - xaxis=dict(title='Building Name')) - fig = go.Figure(data=traces_graph, layout=layout) - plot(fig, auto_open=False, filename=output_path) - - return {'data': traces_graph, 'layout': layout} - - -def calc_graph(analysis_fields, data_frame): - # calculate graph - graph = [] - data_frame['total'] = total = data_frame[analysis_fields].sum(axis=1) - data_frame = data_frame.sort_values(by='total', ascending=False) # this will get the maximum value to the left - for field in analysis_fields: - y = data_frame[field] - total_perc = (y / total * 100).round(2).values - total_perc_txt = ["(" + str(x) + " %)" for x in total_perc] - name = NAMING[field] - trace = go.Bar(x=data_frame.index, y=y, name=name, text=total_perc_txt, - marker=dict(color=COLOR[field])) - graph.append(trace) - - return graph - - -def main(): - """Test this plot""" - import cea.config - import cea.inputlocator - config = cea.config.Configuration() - locator = cea.inputlocator.InputLocator(config.scenario) - cache = cea.plots.cache.PlotCache(config.project) - # cache = cea.plots.cache.NullPlotCache() - EmissionsIntensityPlot(config.project, {'buildings': None, - 'scenario-name': config.scenario_name}, - cache).plot(auto_open=True) - EmissionsIntensityPlot(config.project, {'buildings': locator.get_zone_building_names()[0:2], - 'scenario-name': config.scenario_name}, - cache).plot(auto_open=True) - EmissionsIntensityPlot(config.project, {'buildings': [locator.get_zone_building_names()[0]], - 'scenario-name': config.scenario_name}, - cache).plot(auto_open=True) - - -if __name__ == '__main__': - main() diff --git a/cea/plots/life_cycle/operation_costs.py b/cea/plots/life_cycle/operation_costs.py deleted file mode 100644 index cc202833cd..0000000000 --- a/cea/plots/life_cycle/operation_costs.py +++ /dev/null @@ -1,153 +0,0 @@ -from __future__ import division -from __future__ import print_function - -import pandas as pd -import plotly.graph_objs as go -from plotly.offline import plot -import cea.plots.life_cycle -from cea.plots.variable_naming import LOGO, COLOR, NAMING - -__author__ = "Jimeno A. Fonseca" -__copyright__ = "Copyright 2018, Architecture and Building Systems - ETH Zurich" -__credits__ = ["Jimeno A. Fonseca"] -__license__ = "MIT" -__version__ = "2.8" -__maintainer__ = "Daren Thomas" -__email__ = "cea@arch.ethz.ch" -__status__ = "Production" - - -class OperationCostsPlot(cea.plots.life_cycle.LifeCycleAnalysisPlotBase): - """Implement the operation-costs plot""" - name = "Operation Costs" - - @property - def layout(self): - return go.Layout(barmode='stack', - yaxis=dict(title='Yearly Operation Costs [$/yr]'), - xaxis=dict(title='Building Name')) - - def calc_graph(self): - # calculate graph - graph = [] - data_frame = self.data_processed_costs - analysis_fields = list(data_frame.columns) - data_frame['total'] = total = data_frame[analysis_fields].sum(axis=1) - data_frame = data_frame.sort_values(by='total', ascending=False) # this will get the maximum value to the left - for field in analysis_fields: - y = data_frame[field] - total_percent = (y / total * 100).round(2).values - total_percent_txt = ["(" + str(x) + " %)" for x in total_percent] - name = NAMING[field] - trace = go.Bar(x=data_frame.index, y=y, name=name, text=total_percent_txt, - marker=dict(color=COLOR[field])) - graph.append(trace) - - return graph - - def calc_table(self): - data_frame = self.data_processed_costs - analysis_fields = list(data_frame.columns) - data_frame['total'] = data_frame[analysis_fields].sum(axis=1) - total = data_frame[analysis_fields].sum().round(2).tolist() - total_percent = [str('{:20,.2f}'.format(x)) + " (" + str(round(x / sum(total) * 100, 1)) + " %)" for x in total] - - # calculate graph - anchors = [] - load_names = [] - for field in analysis_fields + ["total"]: - anchors.append(', '.join(calc_top_three_anchor_loads(data_frame, field))) - - for field in analysis_fields: - load_names.append(NAMING[field] + ' (' + field + ')') - - column_names = ['Service', 'Costs for all buildings [$/yr]', 'Top 3 most costly buildings'] - column_values = [load_names + ["TOTAL"], total_percent + [str('{:20,.2f}'.format(sum(total))) + " (100 %)"], - anchors] - table_df = pd.DataFrame({cn: cv for cn, cv in zip(column_names, column_values)}, columns=column_names) - return table_df - - -def operation_costs_district(data_frame, analysis_fields, title, output_path): - # CALCULATE GRAPH - traces_graph = calc_graph(analysis_fields, data_frame) - - # CALCULATE TABLE - traces_table = calc_table(analysis_fields, data_frame) - - # PLOT GRAPH - traces_graph.append(traces_table) - layout = go.Layout(images=LOGO, title=title, barmode='stack', - yaxis=dict(title='Yearly Operation Costs [$/yr]', domain=[0.35, 1]), - xaxis=dict(title='Building Name')) - fig = go.Figure(data=traces_graph, layout=layout) - plot(fig, auto_open=False, filename=output_path) - - return {'data': traces_graph, 'layout': layout} - - -def calc_graph(analysis_fields, data_frame): - # calculate graph - graph = [] - data_frame['total'] = total = data_frame[analysis_fields].sum(axis=1) - data_frame = data_frame.sort_values(by='total', ascending=False) # this will get the maximum value to the left - for field in analysis_fields: - y = data_frame[field] - total_perc = (y / total * 100).round(2).values - total_perc_txt = ["(" + str(x) + " %)" for x in total_perc] - name = NAMING[field] - trace = go.Bar(x=data_frame.index, y=y, name=name, text=total_perc_txt, - marker=dict(color=COLOR[field])) - graph.append(trace) - - return graph - - -def calc_table(analysis_fields, data_frame): - total = data_frame[analysis_fields].sum().round(2).tolist() - total_perc = [str('{:20,.2f}'.format(x)) + " (" + str(round(x / sum(total) * 100, 1)) + " %)" for x in total] - - # calculate graph - anchors = [] - load_names = [] - for field in analysis_fields + ["total"]: - anchors.append(calc_top_three_anchor_loads(data_frame, field)) - - for field in analysis_fields: - load_names.append(NAMING[field] + ' (' + field + ')') - - table = go.Table(domain=dict(x=[0, 1], y=[0.0, 0.2]), - header=dict(values=['Service', 'Costs for all buildings [$/yr]', 'Top 3 most costly buildings']), - cells=dict(values=[load_names + ["TOTAL"], - total_perc + [str('{:20,.2f}'.format(sum(total))) + " (100 %)"], anchors])) - - return table - - -def calc_top_three_anchor_loads(data_frame, field): - data_frame = data_frame.sort_values(by=field, ascending=False) - anchor_list = data_frame[:3].index.values - return anchor_list - - -def main(): - """Test this plot""" - import cea.config - import cea.inputlocator - config = cea.config.Configuration() - locator = cea.inputlocator.InputLocator(config.scenario) - cache = cea.plots.cache.PlotCache(config.project) - # cache = cea.plots.cache.NullPlotCache() - OperationCostsPlot(config.project, {'buildings': None, - 'scenario-name': config.scenario_name}, - cache).plot(auto_open=True) - OperationCostsPlot(config.project, {'buildings': locator.get_zone_building_names()[0:2], - 'scenario-name': config.scenario_name}, - cache).plot(auto_open=True) - OperationCostsPlot(config.project, {'buildings': [locator.get_zone_building_names()[0]], - 'scenario-name': config.scenario_name}, - cache).plot(auto_open=True) - - -if __name__ == '__main__': - main() diff --git a/cea/plots/naming.csv b/cea/plots/naming.csv index 6430a37384..3d6a8d8a46 100644 --- a/cea/plots/naming.csv +++ b/cea/plots/naming.csv @@ -429,7 +429,7 @@ Emissions and Primary Energy,GHG_sys_mobility_tonCO2,ton CO2-eq/yr,Commuting,gre Emissions and Primary Energy,O_ghg_ton,ton CO2-eq/yr,Energy system operation,grey Emissions and Primary Energy,GHG_sys_embodied_kgCO2m2,kg CO2-eq/m2.yr,Building construction and decomissioning,black Emissions and Primary Energy,GHG_sys_mobility_kgCO2m2,kg CO2-eq/m2.yr,Commuting,grey_light -Emissions and Primary Energy,O_ghg_kgm2,kg CO2-eq/m2.yr,Energy system operation,grey +Emissions and Primary Energy,GHG_sys_kgCO2m2,kg CO2-eq/m2.yr,Energy system operation,grey Thermal Network,P_loss_%,-,Pumping energy,grey Thermal Network,Q_loss_%,-,Network thermal loss,orange diff --git a/cea/plots/optimization/__init__.py b/cea/plots/optimization/__init__.py index 3727653331..cc82a80a00 100644 --- a/cea/plots/optimization/__init__.py +++ b/cea/plots/optimization/__init__.py @@ -44,6 +44,15 @@ def __init__(self, project, parameters, cache): self.category_path = os.path.join('testing', 'optimization-overview') self.generation = self.parameters['generation'] + @cea.plots.cache.cached + def process_today_system_performance(self): + data_processed = pd.DataFrame() + data_processed_costs = pd.read_csv(self.locator.get_costs_operation_file()) + data_processed['GHG_sys_tonCO2'] = [pd.read_csv(self.locator.get_lca_operation())['GHG_sys_tonCO2'].sum()] + data_processed['TAC_sys_USD'] = [data_processed_costs['TAC_sys_USD'].sum()] + data_processed['Capex_total_sys_USD'] = [data_processed_costs['Capex_total_sys_USD'].sum()] + return data_processed + @cea.plots.cache.cached def process_generation_total_performance_pareto_with_multi(self): multi_criteria_main(self.locator, diff --git a/cea/plots/optimization/a_pareto_curve.py b/cea/plots/optimization/a_pareto_curve.py index a463865efd..27668c13bf 100644 --- a/cea/plots/optimization/a_pareto_curve.py +++ b/cea/plots/optimization/a_pareto_curve.py @@ -10,7 +10,7 @@ __author__ = "Bhargava Srepathi" __copyright__ = "Copyright 2018, Architecture and Building Systems - ETH Zurich" -__credits__ = ["Bhargava Srepathi", "Daren Thomas"] +__credits__ = ["Bhargava Srepathi", "Daren Thomas", "Jimeno A. Fonseca"] __license__ = "MIT" __version__ = "0.1" __maintainer__ = "Daren Thomas" @@ -93,6 +93,16 @@ def output_path(self): def calc_graph(self): graph = [] + # This includes the point of today's emissions + data_today = self.process_today_system_performance() + data_today = self.normalize_data(data_today, self.normalization, self.objectives) + xs = data_today[self.objectives[0]].values + ys = data_today[self.objectives[1]].values + name = "Today" + trace = go.Scattergl(x=xs, y=ys, mode='markers', name="Today's system", text=name, + marker=dict(size='20', color='black', line=dict(color='black',width=2))) + graph.append(trace) + # PUT THE PARETO CURVE INSIDE data = self.process_generation_total_performance_pareto_with_multi() data = self.normalize_data(data, self.normalization, self.objectives) @@ -102,8 +112,8 @@ def calc_graph(self): individual_names = data['individual_name'].values - trace = go.Scattergl(x=xs, y=ys, mode='markers', name='Pareto curve', text=individual_names, - marker=dict(size='12', color=zs, + trace = go.Scattergl(x=xs, y=ys, mode='markers', name='Pareto optimal systems', text=individual_names, + marker=dict(size='20', color=zs, colorbar=go.ColorBar(title=self.titlez, titleside='bottom'), colorscale='Jet', showscale=True, opacity=0.8)) graph.append(trace) @@ -113,16 +123,15 @@ def calc_graph(self): xs = final_dataframe[self.objectives[0]].values ys = final_dataframe[self.objectives[1]].values name = final_dataframe["Attribute"].values - trace = go.Scattergl(x=xs, y=ys, mode='markers', name="Selected by Multi-criteria", text=name, + trace = go.Scattergl(x=xs, y=ys, mode='markers', name="Multi-criteria system", text=name, marker=dict(size='20', color='white', line=dict( color='black', width=2))) graph.append(trace) - # This includes the point of today's emissions - return graph + return graph def calc_final_dataframe(individual_data): user_defined_mcda = individual_data.loc[individual_data["user_MCDA_rank"] < 2] diff --git a/cea/plots/supply_system/a_supply_system_map.py b/cea/plots/supply_system/a_supply_system_map.py index 0091738a29..e033b59773 100644 --- a/cea/plots/supply_system/a_supply_system_map.py +++ b/cea/plots/supply_system/a_supply_system_map.py @@ -169,7 +169,7 @@ def create_network_layout(self, connected_buildings, network_type, network_name) def get_building_connectivity(locator): supply_systems = dbf_to_dataframe(locator.get_building_supply()) - data_all_in_one_systems = pd.read_excel(locator.get_database_conversion_systems(), sheet_name='ALL_IN_ONE_SYSTEMS') + data_all_in_one_systems = pd.read_excel(locator.get_database_assemblies(), sheet_name='SUPPLY') heating_infrastructure = data_all_in_one_systems[data_all_in_one_systems['system'].isin(['HEATING', 'NONE'])] heating_infrastructure = heating_infrastructure.set_index('code')['scale'] diff --git a/cea/schemas.yml b/cea/schemas.yml index 716b19d397..62fa394b7e 100644 --- a/cea/schemas.yml +++ b/cea/schemas.yml @@ -1818,14 +1818,14 @@ get_database_feedstocks: sample_data: KBOB 2009/1:2016, ID 42.001 Kehrichtverbrennung, cost from CEA types_found: [string, null] used_by: [decentralized, emissions, operation_costs, optimization] -get_database_conversion_systems: +get_database_assemblies: created_by: [] - file_path: inputs/technology/systems/supply_systems.xls + file_path: inputs/technology/assemblies/assemblies.xls file_type: xls schema: - ALL_IN_ONE_SYSTEMS: + SUPPLY: Description: - sample_data: PV panel - monocrystalline roof top + sample_data: heatpump - air-air types_found: [string] code: sample_data: T25 @@ -1845,6 +1845,24 @@ get_database_conversion_systems: system: sample_data: ELECTRICITY types_found: [string] + CAPEX_USD2015kW: + sample_data: 200.0 + types_found: [float] + IR_%: + sample_data: !!python/long '5' + types_found: [long] + LT_yr: + sample_data: !!python/long '25' + types_found: [long] + O&M_%: + sample_data: !!python/long '5' + types_found: [long] + used_by: [demand, emissions, operation_costs] +get_database_conversion_systems: + created_by: [] + file_path: inputs/technology/systems/supply_systems.xls + file_type: xls + schema: Absorption_chiller: Description: sample_data: LiBr triple effect @@ -2683,8 +2701,7 @@ get_database_conversion_systems: 'unit ': sample_data: m3 types_found: [string] - used_by: [decentralized, demand, emissions, operation_costs, optimization, photovoltaic, - photovoltaic_thermal, solar_collector] + used_by: [decentralized, optimization, photovoltaic, photovoltaic_thermal, solar_collector] get_database_distribution_systems: created_by: [] file_path: inputs/technology/systems/distribution_systems.xls @@ -3333,18 +3350,12 @@ get_lca_operation: OIL_ww_nre_pen_MJm2: sample_data: 0.0 types_found: [float] - O_ghg_kgm2: + GHG_sys_kgCO2m2: sample_data: 12.08 types_found: [float] - O_ghg_ton: + GHG_sys_tonCO2: sample_data: 60.36 types_found: [float] - O_nre_pen_GJ: - sample_data: 3983.29 - types_found: [float] - O_nre_pen_MJm2: - sample_data: 398.55 - types_found: [float] PV_ghg_kgm2: sample_data: 0.0 types_found: [float] diff --git a/cea/scripts.yml b/cea/scripts.yml index 015dc992c2..50ea1ed735 100644 --- a/cea/scripts.yml +++ b/cea/scripts.yml @@ -124,16 +124,15 @@ Life Cycle Analysis: - [get_building_supply] - [get_building_emission_intensity] - - name: operation-costs - label: Operation Costs - description: Calculate energy costs due to building operation + - name: system-costs + label: System Costs + description: Calculate costs due to supply systems interfaces: [cli, arcgis, dashboard] - module: cea.analysis.costs.operation_costs - parameters: ['general:scenario'] + module: cea.analysis.costs.system_costs + parameters: ['general:scenario', costs] input-files: - [get_total_demand] - [get_building_supply] - - [get_database_lca_mobility] Energy potentials: - name: shallow-geothermal-potential diff --git a/cea/technologies/supply_systems_database.py b/cea/technologies/supply_systems_database.py index e2fae08c8e..acdf0ac55f 100644 --- a/cea/technologies/supply_systems_database.py +++ b/cea/technologies/supply_systems_database.py @@ -23,11 +23,11 @@ def __init__(self, locator): conversion_systems_worksheets,\ distribution_systems_worksheets,\ - feedstocks_worksheets = self.read_excel(locator) + feedstocks_worksheets,assemblies_worksheets = self.read_excel(locator) self.FEEDSTOCKS = feedstocks_worksheets self.PIPING = distribution_systems_worksheets["THERMAL_GRID"] - self.ALL_IN_ONE_SYSTEMS = conversion_systems_worksheets["ALL_IN_ONE_SYSTEMS"] + self.ALL_IN_ONE_SYSTEMS = assemblies_worksheets["SUPPLY"] self.PV = conversion_systems_worksheets["PV"] self.SC = conversion_systems_worksheets["SC"] self.PVT = conversion_systems_worksheets["PVT"] @@ -48,10 +48,11 @@ def read_excel(self, locator): """Read in the excel file, using the cache _locators""" global _locators if locator in _locators: - conversion_systems_worksheets, distribution_systems_worksheets, feedstocks_worksheets = _locators[locator] + conversion_systems_worksheets, distribution_systems_worksheets, feedstocks_worksheets, assemblies_worksheets = _locators[locator] else: conversion_systems_worksheets = pd.read_excel(locator.get_database_conversion_systems(), sheet_name=None) distribution_systems_worksheets = pd.read_excel(locator.get_database_distribution_systems(), sheet_name=None) feedstocks_worksheets = pd.read_excel(locator.get_database_feedstocks(), sheet_name=None) - _locators[locator] = conversion_systems_worksheets, distribution_systems_worksheets, feedstocks_worksheets - return conversion_systems_worksheets, distribution_systems_worksheets, feedstocks_worksheets + assemblies_worksheets = pd.read_excel(locator.get_database_assemblies(), sheet_name=None) + _locators[locator] = conversion_systems_worksheets, distribution_systems_worksheets, feedstocks_worksheets, assemblies_worksheets + return conversion_systems_worksheets, distribution_systems_worksheets, feedstocks_worksheets, assemblies_worksheets diff --git a/cea/tests/test_schedules.config b/cea/tests/test_schedules.config index 99071545c9..d16ff813d9 100644 --- a/cea/tests/test_schedules.config +++ b/cea/tests/test_schedules.config @@ -2,6 +2,6 @@ expected_results = {"OFFICE":{"B1":0.5,"B2":0.25},"GYM":{"B1":0.5,"B2":0.75},"X_ghpax":{"B1":196.66666666666666,"B2":241.53846153846155},"El_Wm2":{"B1":12.9,"B2":11.4}} [test_mixed_use_schedules] -reference_results = {"Ea_W": 1349.258, "Ed_W": 0.0, "El_W": 16933.188, "Epro_W": 0.0, "Qcpro_W": 0.0, "Qcre_W": 0.0, "Qhpro_W": 0.0, "Qs_W": 0.0, "Tcs_set_C": "OFF", "Ths_set_C": "12.000", "Ve_lps": 0.0, "Vw_lph": 0.0, "Vww_lph": 0.0, "X_gh": 0.0, "people_pax": 0.0} +reference_results = {"Ea_W": 1349.258, "Ed_W": 0.0, "El_W": 17216.532, "Epro_W": 0.0, "Qcpro_W": 0.0, "Qcre_W": 0.0, "Qhpro_W": 0.0, "Qs_W": 0.0, "Tcs_set_C": "OFF", "Ths_set_C": "12.000", "Ve_lps": 0.0, "Vw_lph": 0.0, "Vww_lph": 0.0, "X_gh": 0.0, "people_pax": 0.0} diff --git a/docs/input_methods.rst b/docs/input_methods.rst index 2a09d0bb21..893ae4510c 100644 --- a/docs/input_methods.rst +++ b/docs/input_methods.rst @@ -197,7 +197,7 @@ The following file is used by scripts: ['photovoltaic_thermal', 'decentralized', -.. csv-table:: **inputs/technology/systems/supply_systems.xls:ALL_IN_ONE_SYSTEMS** +.. csv-table:: **inputs/technology/systems/supply_systems.xls:BUNDLES** :header: "Variable", "Description" diff --git a/legacy/flexibility_model/model_building/building_extract_cea_data.py b/legacy/flexibility_model/model_building/building_extract_cea_data.py index 63bcc63b43..bec1347f51 100644 --- a/legacy/flexibility_model/model_building/building_extract_cea_data.py +++ b/legacy/flexibility_model/model_building/building_extract_cea_data.py @@ -218,8 +218,6 @@ def extract_cea_databases_files(locator): emission_systems_heating_df = pd.read_excel(locator.get_database_air_conditioning_systems(), 'HEATING') emission_systems_cooling_df = pd.read_excel(locator.get_database_air_conditioning_systems(), 'COOLING') emission_systems_controller_df = pd.read_excel(locator.get_database_air_conditioning_systems(), 'CONTROLLER') - system_controls_ini_df = pd.read_excel(locator.get_systems_seasonality(), 'HEATING_COOLING') - cooling_generation_df = pd.read_excel(locator.get_database_conversion_systems(), 'ALL_IN_ONE_SYSTEMS') # Set index internal_loads_df.set_index('Code', inplace=True)