def get_demand(year, espini):
    if espini:
        demand_filename = '/home/malcolm/uclan/data/electricity/espeni.csv'
        demand = readers.read_espeni(demand_filename, year)
        electric = demand / 1000000.0
    else:
        # TODO - could we include the actual Scottish demand here?
        scotland_factor = 1.1
        # read historical electricity demand for reference year
        if year == '2009':
            demand_filename = '/home/malcolm/uclan/data/electricity/demanddata_2009.csv'
        else:
            demand_filename = '/home/malcolm/uclan/data/ElectricityDemandData_' + year + '.csv'
        demand_ref = readers.read_electric_hourly(demand_filename)
        # Convert to TWh
        electric = demand_ref[
            'ENGLAND_WALES_DEMAND'] * scotland_factor / 1000000.0
    return electric
示例#2
0
plt.ylabel('Solar PV')
plt.show()

# years = ['2018']
years = ['2015', '2016', '2017', '2018', '2019']

#  read historic demand and generation for England and Wales
demand_years = {}
wind_years = {}
pv_years = {}
max_demand = 0.0
max_wind = 0.0
max_pv = 0.0
for year in years:
    electric_filename = '/home/malcolm/uclan/data/ElectricityDemandData_' + year + '.csv'
    electric_data = readers.read_electric_hourly(electric_filename)
    # convert from hourly to daily
    electric_data = electric_data.resample('D').sum()
    # don't scale by 1.1 for including Scotland because only got generation for
    # England and Wales
    demand = electric_data['ENGLAND_WALES_DEMAND'] * 1.1
    if max_demand < demand.sum():
        max_demand = demand.sum()
    demand_years[year] = demand
    # extract wind
    wind = electric_data['EMBEDDED_WIND_GENERATION']
    if max_wind < wind.sum():
        max_wind = wind.sum()
    wind_years[year] = wind
    # extract solar
    pv = electric_data['EMBEDDED_SOLAR_GENERATION']
示例#3
0
# main program
# demand_filename = '/home/malcolm/uclan/tools/python/output/2018/heatCopRef2018weather2018HDD15.5.csv'
# demand_filename = '/home/malcolm/uclan/tools/python/output/2018/heatCopRef2018weather2018Ruhnau.csv'
# demand_filename = '/home/malcolm/uclan/tools/python/output/2018/heatCopRef2018weather2018Watson.csv'
# demand_filename = '/home/malcolm/uclan/tools/python/output/2018/Ref2018Weather2018Sbdew.csv'
# demand_filename = '/home/malcolm/uclan/tools/python/output/2018/Ref2018Weather2018Sbdew.csv'
demand_filename = '/home/malcolm/uclan/tools/python/scripts/heat/output/2018/Ref2018Weather2018Rbdew.csv'
supply_filename = '/home/malcolm/uclan/data/ElectricityDemandData_2018.csv'

# read the electricity demand
demand = readers.read_demand(demand_filename)
print('DEMAND')
print(demand.index)
print(demand)

electric = readers.read_electric_hourly(supply_filename)
# factor the generation to match the demand
# (imagine we added just enough solar and wind annually and then we can
#  look at net to see how much storage we might need )
supply = electric['EMBEDDED_WIND_GENERATION'] + electric[
    'EMBEDDED_SOLAR_GENERATION']
# print('Annual supply before up sample {}'.format(supply.sum()) )
# supply = supply.resample('60min').pad()
# supply = upsample_df(supply.resample,'60min')
# print('Annual supply after up sample {}'.format(supply.sum()) )
# supply = supply.resample('60min')
print('SUPPLY')
print(supply.index)
print(supply)
supply = supply * (demand.sum() / supply.sum())
示例#4
0
d2018['percent_other'] = 0.14  # fes 2019 Net Zero 2050
d2018['boiler_efficiency'] = 0.85  # hydrogen boiler efficiency
d2018['ev_annual_energy'] = 93.38  # annual ev energy TWh fes Net Zero 2050
d2018['electricity_residential'] = 109  # fes 2019 Net Zero 2050
d2018['electricity_industry'] = 175  # fes 2019 Net Zero 2050
d2018['hybrid_threshold'] = 5.0  # temperature below which hybrid heat pumps
# switch completely to hydrogen to balance
# the grid
model['2018'] = d2018

scotland_factor = 1.1  # ( Fragaki et. al )

# read historical electricity demand for reference year

demand_filename = '/home/malcolm/uclan/data/ElectricityDemandData_' + reference_year + '.csv'
demand_ref = readers.read_electric_hourly(demand_filename)
electric_ref = demand_ref['ENGLAND_WALES_DEMAND'] * scotland_factor

# read reference year electric heat series based on purely resistive heating
# so that it can be removed from the reference year series.

demand_filename = '/home/malcolm/uclan/tools/python/scripts/heat/output/{0:}/GBRef{0:}Weather{0:}I-Sbdew_resistive.csv'.format(
    reference_year)
ref_resistive_heat = readers.read_demand(demand_filename)

# read weather year electric heat for ref year 2050
demand_filename = '/home/malcolm/uclan/tools/python/scripts/heat/output/{0:}/GBRef2050Weather{0:}I-Sbdew.csv'.format(
    weather_year)
demand = readers.read_copheat(demand_filename,
                              ['electricity', 'heat', 'temperature'])
示例#5
0
from datetime import datetime
import pytz
import matplotlib.pyplot as plt
import statsmodels.api as sm

# custom code
import stats
import readers
from misc import upsample_df

# main program
# supply_filename = '/home/malcolm/uclan/data/ElectricityDemandData_2018.csv'
demand_filename = '/home/malcolm/uclan/data/ElectricityDemandData_'

# read in the demand
electric15 = readers.read_electric_hourly(demand_filename + '2015.csv')
demand15 = electric15['ENGLAND_WALES_DEMAND']
electric16 = readers.read_electric_hourly(demand_filename + '2016.csv')
demand16 = electric16['ENGLAND_WALES_DEMAND']
electric17 = readers.read_electric_hourly(demand_filename + '2017.csv')
demand17 = electric17['ENGLAND_WALES_DEMAND']
electric18 = readers.read_electric_hourly(demand_filename + '2018.csv')
demand18 = electric18['ENGLAND_WALES_DEMAND']
electric19 = readers.read_electric_hourly(demand_filename + '2019.csv')
demand19 = electric19['ENGLAND_WALES_DEMAND']

#print(demand19.nsmallest())
# replace zeros with NaN
#demand19 = demand19.replace(0, float("NaN"))
# replace missing values (NaN) by interpolation
#demand19 = demand19.interpolate()
示例#6
0
import statsmodels.api as sm

# custom code
import stats
import readers
from misc import upsample_df

# main program
#  Reference Year = 2018
#  Weather Year   = 2017

scotland_factor = 1.1  # ( Fragaki et. al )

# read 2017 historical electricity demand
demand_filename = '/home/malcolm/uclan/data/ElectricityDemandData_2017.csv'
demand17 = readers.read_electric_hourly(demand_filename)
electric17 = demand17['ENGLAND_WALES_DEMAND'] * scotland_factor

# read 2018 historical electricity demand

demand_filename = '/home/malcolm/uclan/data/ElectricityDemandData_2018.csv'
demand18 = readers.read_electric_hourly(demand_filename)
electric18 = demand18['ENGLAND_WALES_DEMAND'] * scotland_factor

# read 2018 electric heat series based on purely resistive heating so that
# it can be removed from the 2018 series. (ref year method)

demand_filename = '/home/malcolm/uclan/tools/python/scripts/heat/output/2018/GBRef2018Weather2018I-Sbdew_resistive.csv'
resistive_heat = readers.read_demand(demand_filename)

# read 2017 electric heat for ref year 2018