How the tools work

Calculator methodology

This page is the shared source for formulas, preset meaning, units, rounding, and review dates. Tool interfaces call the same tested TypeScript modules described here.

Formula version 1.3.0Last reviewed: Default locale: English

Core rules

  • Energy is normalized to watt-hours, power to watts, voltage to volts, and capacity to amp-hours.
  • Percentages enter the calculation core as decimals from 0 to 1.
  • Hardware counts always round upward, then installed capacity or output is recalculated.
  • Invalid, zero, negative, infinite, or incompatible inputs stop the calculation instead of producing a fallback result.
  • Every dynamic result is a planning estimate and lists its active assumptions.

Solar battery sizing

usable Wh needed = daily Wh × autonomy days

nominal Wh needed = usable Wh needed ÷ (DoD × inverter efficiency × battery efficiency)

design Wh = nominal Wh needed × (1 + reserve)

required Ah = design Wh ÷ nominal system voltage

If a battery module is included, system voltage divided by module voltage must be a positive whole number. Parallel count is the required Ah divided by module Ah, rounded upward. Installed Wh is recalculated from the integer layout.

Battery runtime

nominal Wh = total bank V × total bank Ah

usable Wh = nominal Wh × DoD × battery efficiency

For AC loads: effective load W = load W ÷ inverter efficiency + inverter idle W. For DC loads, the entered DC watts are used without inverter loss.

runtime hours = usable Wh ÷ effective load W

Battery backup loads

row Wh = running watts × quantity × hours. Row watt-hours are summed and passed to the battery sizing function above with one represented outage period. Running watts and entered surge watts stay separate from the energy calculation.

Solar load calculation

daily load Wh = Σ(running watts × quantity × daily hours) + standby watts × 24. Running watts, optional always-on power, and entered surge watts are reported separately. This tool calls the same load aggregation function as backup and RV planning but does not add battery or solar-production losses.

Series and parallel wiring

total V = unit V × series count

total Ah = unit Ah × parallel count

total Wh = total V × total Ah

usable Wh = total Wh × DoD × battery efficiency

Target mode requires target voltage to be a whole-number multiple of unit voltage. Parallel strings round upward to reach the requested Ah or kWh.

Solar panel series and parallel

array voltage = panel voltage × panels in series; array current = panel current × parallel strings. Voc, Vmp, Isc, and Imp remain distinct. If both cold-weather inputs are supplied, cold Voc = panel Voc × [1 + βVoc × (cold °C − 25°C)] × series count.

Solar array sizing

required array W = daily Wh × coverage ÷ (peak sun hours × system efficiency)

panel count = ceil(required array W ÷ panel W)

installed output Wh/day = installed array W × peak sun hours × system efficiency

Monthly energy uses 30.4375 days and yearly energy uses 365 days.

Solar panel roof space

count per dimension = floor[(usable dimension + gap) ÷ (panel dimension + gap)]. Portrait and landscape whole-panel grids are compared, and installed nameplate power is recalculated from the higher count. The geometry uses only the clear rectangular dimensions entered; it does not infer project setbacks, obstructions, structure, shade, or mounting constraints.

Solar panel output

array W = panel count × panel W

daily kWh = array W × peak sun hours × system efficiency × seasonal multiplier ÷ 1,000

The seasonal multiplier defaults to 1.00. It is a manual scenario input, not a weather lookup.

Solar panel module efficiency

module efficiency = rated panel W ÷ (panel area m² × incident irradiance W/m²). The result is a module-level nameplate comparison. The tool does not infer annual weather, shade, wiring, inverter losses, degradation, or roof layout.

Solar battery charging time

energy to restore Wh = battery V × battery Ah × (target SoC − starting SoC)

effective charging W = panel W × controller efficiency × battery charge efficiency

solar days = (energy to restore ÷ effective charging W + finishing-stage hours) ÷ peak sun hours

The finishing-stage allowance is an explicit user-editable input for taper or absorption behavior. The calculation does not infer a charge curve, active loads, controller clipping, or low-temperature permission from the chemistry preset.

Solar charge controller limits

cold panel Voc = panel Voc × [1 + βVoc × (cold °C − 25°C)]

minimum PV voltage rating = cold panel Voc × series count × (1 + voltage headroom)

minimum output current = array W ÷ battery charging V × (1 + current headroom)

minimum PV input-current limit = panel Isc × parallel strings × (1 + current headroom)

PV-side voltage, PV-side short-circuit current, and battery-side output current remain separate. The tool checks only documented limits entered by the user and does not select products or size conductors and protection.

Solar panel tilt and azimuth

The orientation tool uses a bounded two-pass PVWatts V8 comparison with a 1kW reference array. It first samples practical tilts around absolute latitude at the equator-facing azimuth, then samples practical azimuths at the best annual tilt. The current orientation is always included.

Annual ranking uses modeled annual AC kWh. Winter ranking sums December–February north of the equator or June–August south of it. The result is the best sampled candidate, not a continuous optimum or site survey.

RV solar planning

The RV calculator aggregates appliance rows, then calls the shared battery sizing and panel sizing functions. It does not copy those formulas. In winter planning, an explicit documented capacity factor increases only the battery energy passed to the shared sizing function; it does not inflate the appliance load or solar demand. Its controller current baseline is installed array W ÷ battery V × planning factor. The baseline does not check Voc, Isc, temperature, controller voltage window, charge profile, or protection.

Editable presets

PresetDepth of dischargeBattery efficiencyStatus
LiFePO4 planning preset90%95%Editable starting point
AGM / gel planning preset50%85%Editable starting point
Flooded lead-acid planning preset50%80%Editable starting point
CustomUser inputUser inputUse documented equipment values

Presets are not manufacturer specifications or engineering recommendations. Battery limits vary with model, temperature, rate, age, state of charge, BMS settings, and warranty terms.

Rounding and display

The calculation retains raw floating-point results. The interface formats numbers for reading but does not replace the underlying value. Counts use Math.ceil. Runtime displays days, hours, and minutes; energy switches between Wh and kWh for readability.

Validation and limits

Efficiencies and depth of discharge must be greater than 0% and no more than 100%. Reserve is 0% to 100%. Counts must be positive whole numbers. A module layout is rejected if its voltage cannot form the selected system voltage exactly.

The tools do not provide cable sizes, fuses, breakers, protection coordination, grounding, structural design, equipment compatibility, permits, prices, incentives, tax advice, or final installation approval.

Public references

Review policy: A formula change must be paired with updated unit tests, worked examples, and this methodology page.