First time here? Check out the Help page!
1 | initial version |
Short story: the PV is producing all the time, but no power is sold back to the grid.
TL:DR; because proof is always a good thing:
I'm assuming you used the Sketchup Plugin User-Script called "Add Photovoltaics", and that you haven't tuned the different objects used, especially the ElectricLoadCenter:Distribution object (let's call this "elcd" going forward). This measure creates a default elcd, see here
This sets the Generator Operation Scheme Type to "Baseload":
The Baseload scheme operates the generators at their rated (requested) electric power output when the generator is scheduled ON (ref. ElectricLoadCenter:Generators). The Baseload scheme requests all generators scheduled ON (available) to operate, even if the amount of electric power generated exceeds the total facility electric power demand
If you want to make sure, use the ruby bindings:
model = OpenStudio::Model::Model.new
elcd = OpenStudio::Model::ElectricLoadCenterDistribution.new
elcd.generatorOperationSchemeType
=> "Baseload"
So, we know the PV will produce no matter what. Next question to ask ourselves, is whether the surplus is sold to the grid or not?
This is defined in the UtilityCost:Tariff
BuyOrSell field. This one is set during the use of the BCL measure Tariff Selection Time and Date Dependent with Maximum Demand Charge.
See line 415 and follow of measure.rb:
new_object_string = "
UtilityCost:Tariff,
ElectricityTariff, !- Name
ElectricityPurchased:Facility, !- Output Meter Name
kWh, !- Conversion Factor Choice
, !- Energy Conversion Factor
, !- Demand Conversion Factor
#{time_of_day_schedule.getString(0)}, !- Time of Use Period Schedule Name
#{two_season_schedule.getString(0)}, !- Season Schedule Name
, !- Month Schedule Name
#{args['demand_window_length']}, !- Demand Window Length
0.0; !- Monthly Charge or Variable Name
"
electric_tariff = workspace.addObject(OpenStudio::IdfObject::load(new_object_string).get).get
Bottomline, no power is sold to the grid, because the output meter is set to ElectricityPurchased:Facility
and not Electricity:Facility
with a Buy Or Sell field set to NetMetering
.
2 | No.2 Revision |
Short story: the PV is producing all the time, but no power is sold back to the grid.
TL:DR; because proof is always a good thing:
I'm assuming you used the Sketchup Plugin User-Script called "Add Photovoltaics", and that you haven't tuned the different objects used, especially the ElectricLoadCenter:Distribution object (let's call this "elcd" going forward). This measure creates a default elcd, see here
This sets the Generator Operation Scheme Type to "Baseload":
The Baseload scheme operates the generators at their rated (requested) electric power output when the generator is scheduled ON (ref. ElectricLoadCenter:Generators). The Baseload scheme requests all generators scheduled ON (available) to operate, even if the amount of electric power generated exceeds the total facility electric power demand
If you want to make sure, use the ruby bindings:
model = OpenStudio::Model::Model.new
elcd = OpenStudio::Model::ElectricLoadCenterDistribution.new
elcd.generatorOperationSchemeType
=> "Baseload"
So, we know the PV will produce no matter what. Next question to ask ourselves, is whether the surplus is sold to the grid or not?
This is defined in the UtilityCost:Tariff
BuyOrSell field. This one is set during the use of the BCL measure Tariff Selection Time and Date Dependent with Maximum Demand Charge.
See line 415 and follow of measure.rb:
new_object_string = "
UtilityCost:Tariff,
ElectricityTariff, !- Name
ElectricityPurchased:Facility, !- Output Meter Name
kWh, !- Conversion Factor Choice
, !- Energy Conversion Factor
, !- Demand Conversion Factor
#{time_of_day_schedule.getString(0)}, !- Time of Use Period Schedule Name
#{two_season_schedule.getString(0)}, !- Season Schedule Name
, !- Month Schedule Name
#{args['demand_window_length']}, !- Demand Window Length
0.0; !- Monthly Charge or Variable Name
"
electric_tariff = workspace.addObject(OpenStudio::IdfObject::load(new_object_string).get).get
Bottomline, no power is sold to the grid, because the output meter is set to ElectricityPurchased:Facility
and not Electricity:Facility
with a Buy Or Sell field set to NetMetering
.
To look at your outputs, you can always:
Output:Variable
for eg at the hourly timestep. The ElectricLoadCenter has plenty of interesting variables, see doc, such as Facility Total Surplus Electric Power
3 | No.3 Revision |
Short story: in your case the PV is producing all the time, but no power is sold back to the grid.
To look at your outputs, you can always:
eplusout.html
file, there's lot of good info in there, including the detail of how the utility cost is calculated.Output:Variable
for eg at the hourly timestep. The ElectricLoadCenter has plenty of interesting variables, see doc, such as Facility Total Surplus Electric Power
TL:DR; because proof is always a good thing:
I'm assuming you used the Sketchup Plugin User-Script called "Add Photovoltaics", and that you haven't tuned the different objects used, especially the ElectricLoadCenter:Distribution object (let's call this "elcd" going forward). This measure creates a default elcd, see here
This sets the Generator Operation Scheme Type to "Baseload":
The Baseload scheme operates the generators at their rated (requested) electric power output when the generator is scheduled ON (ref. ElectricLoadCenter:Generators). The Baseload scheme requests all generators scheduled ON (available) to operate, even if the amount of electric power generated exceeds the total facility electric power demand
If you want to make sure, use the ruby bindings:
model = OpenStudio::Model::Model.new
elcd = OpenStudio::Model::ElectricLoadCenterDistribution.new
elcd.generatorOperationSchemeType
=> "Baseload"
So, we know the PV will produce no matter what. Next question to ask ourselves, is whether the surplus is sold to the grid or not?
This is defined in the UtilityCost:Tariff
BuyOrSell field. This one is set during the use of the BCL measure Tariff Selection Time and Date Dependent with Maximum Demand Charge.
See line 415 and follow of measure.rb:
new_object_string = "
UtilityCost:Tariff,
ElectricityTariff, !- Name
ElectricityPurchased:Facility, !- Output Meter Name
kWh, !- Conversion Factor Choice
, !- Energy Conversion Factor
, !- Demand Conversion Factor
#{time_of_day_schedule.getString(0)}, !- Time of Use Period Schedule Name
#{two_season_schedule.getString(0)}, !- Season Schedule Name
, !- Month Schedule Name
#{args['demand_window_length']}, !- Demand Window Length
0.0; !- Monthly Charge or Variable Name
"
electric_tariff = workspace.addObject(OpenStudio::IdfObject::load(new_object_string).get).get
Bottomline, Bottom line, no power is sold to the grid, grid, because the output meter is set to ElectricityPurchased:Facility
and not Electricity:Facility
(or maybe more likely ElectricityNet:Facility
according to EconomicTariff.cc#L619) with a Buy Or Sell field set to NetMetering
.
To look at your outputs, you can always:
Buy Or Sell
isn't set, it's later defaulted to BuyFromUtility
, that happens in Output:Variable
for eg at the hourly timestep. The ElectricLoadCenter has plenty of interesting variables, see docEnergyPlus EconomicTariff.cc#L608Facility Total Surplus Electric Power