NREL / SAM

System Advisor Model (SAM)
BSD 3-Clause "New" or "Revised" License
345 stars 142 forks source link

Net Billing results do not show $ credits #372

Closed cpaulgilman closed 4 years ago

cpaulgilman commented 4 years ago

For the Net Billing option, monthly bill is calculated correctly based on credits earned, but dollar credit amount not reported correctly. See https://sam.nrel.gov/forum/forum-general/3122.

brtietz commented 4 years ago

It looks like it could be more of a naming issue than a code issue. Here's what I see running the SAM file from that issue with a different weather file (Blythe, CA):

image

The credits are being applied immediately during the month when they are earned. "Excess generation $ credit earned" is reserved for months where the credit rolls over to the next month (Net billing with carryover to next month):

image

image

Thoughts on name changes that might make this more clear? Or am I missing something about the bug?

cpaulgilman commented 4 years ago

I agree there is a labeling problem, and also think it would be helpful to modify some of the monthly output variables to help people understand how SAM calculates the monthly bill for he different billing options:

Excess generation (kWh) for both net energy metering options:

Net metering credit (kWh), for net metering only, kWh credit that applies to current month (includes this month's excess generation and any credits rolled over from previous months).

Net metering credit ($), for net metering with $ credits only, shows $ credit that applies in current month.

Net billing credit ($), for two net billing options, shows $ credit that applies in current month, regardless of when it was earned. Or, use that for net billing only, with a separate Net billing carryover credit ($) for net billing with carryover to next month.

brtietz commented 4 years ago

Finally had some time to dig into this. I like these categories, are these generally additions or replacements? Some notes are below:

With net metering Excess generation only fits that calculation when there is one TOU period. For example, for the SAM default rates, if sum(generation[period_3]) > sum(load[period_3]) but sum(generation[period_1]) < sum(load[period_1]) at the end of the year, the customer would still receive true-up credits for the excess generation in period 3. I would favor reporting those credits in the Excess generation (kWh) column.

Are there any differences (besides the name) between the Net metering credit column and the existing Excess generation cumulative kWh credit earned column? Or is this closer to Excess generation kWh credit applied?

With Net metering credit ($) I think it makes sense to include the end of year true-up credits in that column for the net metering option, similar to the existing behavior of Excess generation $ credit earned.

cpaulgilman commented 4 years ago

@brtietz I agree with your suggestion for Excess generation -- my examples show equations for a simple flat rate.

Excess generation cumulative kWh credit earned, Excess generation kWh credit applied, and Excess generation kWh credit earned were an attempt to make the excess generation credit calculation transparent, but are confusing. What would be useful is to replace those with one Net metering credit column that shows the kWh that are applied in a given month, and perhaps an Excess generation column that shows the excess generation in each month (although that can easily be calculated by subtracting Electricity load from Monthly energy, so maybe not necessary).

I agree with Net metering credit ($) and true-up credit.

brtietz commented 4 years ago

Some clarifications on the above for net metering based on Paul and my meeting this morning:

Net billing will be updated as outlined above.

sjanzou commented 4 years ago

@brtietz, are the ur_month.ec_energy_surplus restricted to rollovers in the same periods?

brtietz commented 4 years ago

Within a month, yes. Between months, if the period times change, the credits can be shifted between periods using the code in https://github.com/NREL/ssc/blob/c1a40c53f91bca6949dee63df9ed6aae672fbe71/shared/lib_utility_rate_equations.cpp#L837

I was thinking that having a sum of the hours available in ur_month.ec_energy_surplus would be a useful indicator to tell the user whether they needed to dig into the "electricity rate data by tier and period" outputs for a given month.

brtietz commented 4 years ago

@cpaulgilman For net billing, does it make sense to make Excess generation

sum((generation[h] - load[h]) > 0) ?

This equation above ensures that: (excess generation) * (sell rate) = (excess $ earned) for a flat sell rate. (I still need to make the updates for net billing $, just reporting the odd hybrid in front of me)

SAM 2020.2.29 reports net monthly kWh in this category for both net metering and net billing. It's worth noting that your equation above has the same result for net metering and net billing due to the associative property, and I want to make sure that's what we want.

Changing reporting the sum of the surplus credits would mean excess generation changes based on the utility rate option, so I'm open to adding a new variable for the above output instead.

brtietz commented 4 years ago

Additional bug found while developing these changes: In the help, "net billing with carryover to the next month" says "For months with excess generation, the dollar value of the excess is credited to next month's bill." and "Any credit remaining at the end of December is credited to the December electricity bill."

However, in develop and SAM 2020.2.29 credits earned in December are never applied. Should these be applied in December or January?

brtietz commented 4 years ago

https://github.com/NREL/SAM-documentation/blob/master/UtilityRates/NetBilling/Updates_2016.7.28/Workbooks/Tiered%20TOU%20single%20meter%20Net%20Billing%20%24%20rollover.xlsx row 8764 column AG suggests credits earned in December should be applied to the "December year end payout"

cpaulgilman commented 4 years ago

@brtietz I think it makes sense to show the same excess generation (kWh) value regardless of the billing option.

I think the December credits should be applied to January now that we can do that, although that would mean January in Year 1 starts with a credit.

Was the "December year end payout" required before we could apply the December credits to January?

Finally, should the "Month for credit rollover" option be available for the Net billing with carryover to next month option?

brtietz commented 4 years ago

@cpaulgilman Do you have an example of a utility that does continuous rollover like that? The only one I could find on this topic was Arizona Public Service: https://www.sunrun.com/utility/az/aps/how-to-read-your-aps-nem-bill https://www.aps.com/en/Residential/Service-Plans/Compare-Service-Plans/Renewable-Energy-Riders#RCPExportRider

It looks like they'll roll over Dec to Jan if the credit is < $25, and cut a check if it's >= $25.

I think the "Month for credit rollover" option should be available if we go with the code in #483, but we should take it away if we decide to do continuous rollover.

cpaulgilman commented 4 years ago

I don't have an example. It looks like SAM should treat that as an end of year credit in the month specified by "month for credit rollover."

My confusion is from the word "rollover" in "Month for credit rollover." Some terms of art are:

I will refine the user interface labels as part of my documentation work after we merge this code.

brtietz commented 4 years ago

Ah, got it! Yes, "End of true-up period" or "month of annual surplus compensation" would be better names, and that is used by the net billing with rollover credits code. Swap "December" in all of my comments above with the month selected in that drop-down.

Merged in f94e504