예제 #1
0
                          default_params_file="Model_Parameters_2v1-0-2_default_EA.csv",
                          shortname="EA+DCM on",
                          description="test run",
                          Scenario_n="month",
                          Scenario_time_series_filename="/Applications/storagevet2v101/StorageVET-master-git/Data/hourly_timeseries_2019.csv",
                          DCM_active='yes',
                          retailTimeShift_active='yes',
                          DA_active='no',
                          SR_active='no'
                          )
DCM_baseline.run_storagevet()

# DCM constraints
DCMconstraint = ConstraintObject(SVet_absolute_path="/Applications/storagevet2v101/StorageVET-master-git/",
                                 shortname=DCM_baseline.shortname, baseline_runID=DCM_baseline.runID,
                                 app_hours=[0, 23],
                                 regulation_scenario=3,
                                 constraint_init=True)
DCMconstraint.set_DCM_user_constraints()

# DCM priority run based on baseline
DCMpriority = SvetObject(SVet_absolute_path="/Applications/storagevet2v101/StorageVET-master-git/",
                         default_params_file="Model_Parameters_2v1-0-2_default_EA.csv",
                         shortname=DCMconstraint.new_shortname,
                         description="DCM priority run using retail rates",
                         Scenario_n="month",
                         Scenario_time_series_filename=DCMconstraint.new_hourly_timeseries_path,
                         User_active="yes", User_price=DCMconstraint.values,
                         DCM_active='no',
                         retailTimeShift_active='yes',
                         SR_active='yes', NSR_active='yes', DA_active='no', RA_active='no', RA_dispmode=0,
예제 #2
0
# unrestricted, RAdisp0
baseline = SvetObject(SVet_absolute_path="/Applications/storagevet2v101/StorageVET-master-git/",
                      shortname="baseline run", description="first run with SR + NSR + DA active",
                      Scenario_time_series_filename="/Applications/storagevet2v101/StorageVET-master-git/Data/hourly_timeseries_nsr133_rs3_14-20.csv",
                      SR_active='yes', NSR_active='yes', DA_active='yes', RA_active='yes', RA_dispmode=0, FR_active='yes')
                      
#SR Only
sronly = SvetObject(SVet_absolute_path="/Applications/storagevet2v101/StorageVET-master-git/",
                      shortname="sr only", description="SR only",
                      Scenario_time_series_filename="/Applications/storagevet2v101/StorageVET-master-git/Data/hourly_timeseries_2019.csv",
                      SR_active='yes', NSR_active='no', DA_active='yes', RA_active='no', RA_dispmode=0, FR_active='no')

# SR priority 24h
# Then, create user constraints (SR) and obtain params necessary for a second run
old_svrun_params, new_svrun_params, new_shortname, new_hourly_timeseries_path, values = \
  ConstraintObject(SvetObject=sronly, app_hours=[0, 23], regulation_scenario=3).set_SR_user_constraints()
# Lastly, use the new params to do a new SV run
new_svrun_params["NSR_active"]='yes'
new_svrun_params["FR_active"] = 'yes'
second_run = SvetObject(SVet_absolute_path="/Applications/storagevet2v101/StorageVET-master-git/",
                        shortname=new_shortname, description="SR priority - with all other resoures (except RA) active this time",
                        Scenario_time_series_filename=new_hourly_timeseries_path,
                        User_active="yes", User_price=values,
                        **new_svrun_params)

# FR priority 24h
old_svrun_params, new_svrun_params, new_shortname, new_hourly_timeseries_path, values = 
  ConstraintObject(SvetObject=baseline, app_hours=[0, 23], regulation_scenario=3).set_FR_user_constraints()
new_svrun_params["RA_active"]='no'
FR_run = SvetObject(SVet_absolute_path="/Applications/storagevet2v101/StorageVET-master-git/",
                        shortname=new_shortname, description="FR priority - shortname should denote all useful info",
예제 #3
0
############## Spinning Reserves ##################

# SR_only run
SRonly = SvetObject(SVet_absolute_path=path,
                    shortname="SR only",
                    description="first run with SR only",
                    Scenario_time_series_filename=ts,
                    SR_active='yes')
SRonly.run_storagevet()

# SR_only constraints
SRconstraint = ConstraintObject(
    SVet_absolute_path="/Applications/storagevet2v101/StorageVET-master-git/",
    shortname=SRonly.shortname,
    baseline_runID=SRonly.runID,
    app_hours=[0, 23],
    regulation_scenario=3,
    constraint_init=True)
SRconstraint.set_SR_user_constraints()

# SR priority run based on SR_only
SRpriority = SvetObject(
    SVet_absolute_path="/Applications/storagevet2v101/StorageVET-master-git/",
    shortname=SRconstraint.new_shortname,
    description="SR priority run based on SR only run",
    Scenario_time_series_filename=SRconstraint.new_hourly_timeseries_path,
    User_active="yes",
    User_price=SRconstraint.values,
    SR_active='no',
    NSR_active='yes',
예제 #4
0
    Scenario_time_series_filename=Scenario_time_series_filename,
    Finance_customer_tariff_filename=Finance_customer_tariff_filename,
    DCM_active='yes',
    retailTimeShift_active='yes',
    DA_active='no',
    SR_active='no',
    NSR_active='no',
    FR_active="no",
    FR_CombinedMarket="1")
caiso_baseline.run_storagevet()

# DCM constraints
DCMconstraint = ConstraintObject(
    SVet_absolute_path="/Applications/storagevet2v101/StorageVET-master-git/",
    shortname=caiso_baseline.shortname,
    baseline_runID=caiso_baseline.runID,
    app_hours=[0, 23],
    regulation_scenario=1,
    constraint_init=True)
DCMconstraint.set_DCM_user_constraints()

# determine sr constraints
caiso_all_w_dcm = SvetObject(
    SVet_absolute_path="/Applications/storagevet2v101/StorageVET-master-git/",
    default_params_file="Model_Parameters_2v1-0-2_default_03-2021.csv",
    shortname=DCMconstraint.new_shortname,
    description=iso_name,
    Scenario_n="36",
    Scenario_time_series_filename=DCMconstraint.new_hourly_timeseries_path,
    Finance_customer_tariff_filename=Finance_customer_tariff_filename,
    User_active="yes",
    Scenario_time_series_filename=
    "/Applications/storagevet2v101/StorageVET-master-git/Data/hourly_timeseries_2019.csv",
    SR_active='yes',
    NSR_active='yes',
    DA_active='yes',
    RA_active='yes',
    RA_dispmode=0,
    FR_active="yes",
    FR_CombinedMarket="0")
baseline.run_storagevet()

# Then, create NSR constraint by passing baseline shortname and runID
constraint = ConstraintObject(
    SVet_absolute_path="/Applications/storagevet2v101/StorageVET-master-git/",
    shortname=baseline.shortname,
    baseline_runID=baseline.runID,
    app_hours=[14, 20],
    regulation_scenario=1,
    constraint_init=True)
constraint.set_NSR_user_constraints()
print(" ", constraint.new_shortname, constraint.new_hourly_timeseries_path,
      constraint.values)

# Lastly, use the new params to do a new SV run
second_run = SvetObject(
    SVet_absolute_path="/Applications/storagevet2v101/StorageVET-master-git/",
    shortname=constraint.new_shortname,
    description="second run - shortname should denote all useful info",
    Scenario_time_series_filename=constraint.new_hourly_timeseries_path,
    User_active="yes",
    User_price=constraint.values,
    description="NSR + DA active",
    Scenario_time_series_filename=
    "/Applications/storagevet2v101/StorageVET-master-git/Data/hourly_timeseries_2019.csv",
    SR_active='no',
    NSR_active='yes',
    DA_active='yes',
    RA_active='no',
    RA_dispmode=0,
    FR_active="no",
    FR_CombinedMarket="0")
Patricia_133.run_storagevet()
# VERIFIED ~636
nsr1 = ConstraintObject(
    SVet_absolute_path="/Applications/storagevet2v101/StorageVET-master-git/",
    shortname=Patricia_133.shortname,
    baseline_runID=Patricia_133.runID,
    app_hours=[14, 20],
    regulation_scenario=1,
    constraint_init=True)
nsr1.set_NSR_user_constraints()
print(" ", nsr1.new_shortname, nsr1.new_hourly_timeseries_path, nsr1.values)
# VERIFIED ~289
nsr3 = ConstraintObject(
    SVet_absolute_path="/Applications/storagevet2v101/StorageVET-master-git/",
    shortname=Patricia_133.shortname,
    baseline_runID=Patricia_133.runID,
    app_hours=[14, 20],
    regulation_scenario=3,
    constraint_init=True)
nsr3.set_NSR_user_constraints()
print(" ", nsr3.new_shortname, nsr3.new_hourly_timeseries_path, nsr3.values)