Fixed-Flat Appliance

# importing functions
from ramp import User, UseCase, get_day_type
import pandas as pd

Creating a user

school = User(user_name="School", num_users=1)

Adding an appliance with flat and fixed consumption

indoor_bulb = school.add_appliance(
    name="Indoor Light Bulb",
    number=10,
    power=25,
    num_windows=1,
    func_time=210,
    time_fraction_random_variability=0.2,
    func_cycle=60,
    fixed="yes", # This means all the 'n' appliances of this kind are always switched-on together
    flat="yes", # This means the appliance is not subject to random variability in terms of total usage time
)
indoor_bulb.windows(
    window_1=[1200, 1440],  # from 20:00 to 24:00
    window_2=[0, 0],
    random_var_w=0.35,
)

Initialize the usecase (it defines the peak time range and simulation time)

school_case = UseCase(users=[school], date_start="2023-01-01")
school_case.initialize(num_days=7)
You will simulate 7 day(s) from 2023-01-01 00:00:00 until 2023-01-08 00:00:00

Generating a profile for the 1st week of the year

From the usecase directly

first_week = school_case.generate_daily_load_profiles(flat=True)

or from the user

first_week = []

for day_idx, day in enumerate(school_case.days):
    first_week.extend(
        school.generate_single_load_profile(
            prof_i=day_idx,  # the day to generate the profile
            peak_time_range=school_case.peak_time_range,
            day_type=get_day_type(day),
        )
    )
first_week = pd.DataFrame(first_week, columns=["household"])
first_week.plot()
<Axes: >
../../_images/output_12_1.png