Description
costPerCycle = (replacementCost-residualValue)/lifetimeCycles; costPerMwh divides that by dischargedMwhPerCycle.
Energy price comparisons require consistent delivered or input energy units, efficiency, calorific basis and reporting period. Dividing by efficiency increases the input needed for a delivered unit; nominal price differences alone need not represent a saving.
costPerCycle = (replacementCost-residualValue)/lifetimeCycles; costPerMwh divides that by dischargedMwhPerCycle.
When to use this tool
Use Storage Degradation Cost One Cycle Term when checking one supplied energy-price normalization or cost contribution.
How to use the tool and how it works
- Enter replacementCost, residualValue, lifetimeCycles, dischargedMwhPerCycle. Use the units and conventions below.
- Run the tool. Correct any format, range, or cross-field input error before interpreting the output.
- Read costPerCycle, costPerMwh. Use the output convention below.
Require nonnegative replacementCost and residualValue <= replacementCost and positive lifetimeCycles and dischargedMwhPerCycle. costPerCycle = (replacementCost-residualValue)/lifetimeCycles; costPerMwh divides that by dischargedMwhPerCycle.1
| Input field | Meaning and units | Accepted input |
|---|---|---|
| replacementCost | Replacement Cost | Required. Finite number; minimum 0. |
| residualValue | Residual Value | Required. Finite number; minimum 0. |
| lifetimeCycles | Lifetime Cycles | Required. Finite number; strictly above 0. |
| dischargedMwhPerCycle | Discharged Mwh Per Cycle | Required. Finite number; strictly above 0. |
| Output field | Interpretation | Returned shape |
|---|---|---|
| costPerCycle | Cost Per Cycle | Required. Finite number. |
| costPerMwh | Cost Per Mwh | Required. Finite number. |
{
"input": {
"replacementCost": 120000,
"residualValue": 20000,
"lifetimeCycles": 5000,
"dischargedMwhPerCycle": 2
},
"output": {
"costPerCycle": 20,
"costPerMwh": 10
}
} Limitations and assumptions
- The lifetimes and throughput are supplied averages; lifetimeCycles may be fractional. Discounting, calendar ageing, partial cycles and changing degradation are omitted.
- Inputs must satisfy both the field types and the cross-field conditions above. Invalid input causes an error; a successful false flag or documented placeholder is a different result.
- Numeric calculations use binary floating point unless exact decimal-integer arithmetic is explicitly stated. No hidden measurement tolerance or decimal rounding is added; nonfinite or out-of-contract results are rejected. Numeric signed-zero results are exported as zero.
Alternative or Complementary methods
Use the full tariff, operating profile and cost boundary when assessing real bills, investments or load-shifting decisions.
References
Similar or alternative tools
- Storage Roundtrip Cost Term
outputUnitCost = inputEnergyPrice/roundtripEfficiency+outputOtherCost.
- Dispatch Cost Adder Component
chargedEnergy = energy/(1-lossFraction) when grossUpLosses is true, otherwise energy; costAdder = chargedEnergy*suppliedAdderPerEnergy.