# PRSM electrical-review — single source of design inputs.
# Values below were CONFIRMED against manufacturer datasheets by the review session
# (2026-06-02) and from the owner for run-lengths + NEC cycle. Each block cites its source.
# Discipline (CLAUDE.md): no number in the final design that a script didn't compute.
site:
name: PRSM off-grid — Northeast Kingdom, VT
latitude: 44.560508971890144 # CONFIRMED exact array site (owner, 2026-06-03), Greensboro Bend / NEK VT
longitude: -72.25854044101756 # CONFIRMED exact array site (owner, 2026-06-03)
nec_cycle: "2023" # CONFIRMED by owner — VT DPS Division of Fire Safety, NEC 2023 (Art. 690 + 706)
# vocmax pulls NSRDB extreme temps from lat/lon; these are documented fallbacks:
design_low_temp_C: -40 # NEK regional record low (Bloomfield VT -45.6C historic); adversarial
# review upgraded this from -34 to -40 for a defensible NEC 690.7
# "lowest expected ambient". 7S passes at -40 (428V); script takes
# min(this, NSRDB) so a colder NSRDB value would still bind.
design_high_temp_C: 31 # ASHRAE 2% high — drives ampacity ambient correction
panel: # Waaree Elite Series N-Type BiN-08-575 (Grade B "BIN-08-575B")
# SOURCE: Waaree USA datasheet elite-series-bin-08.pdf; cross-checked Missouri W&S, A1SolarStore
model: "Waaree Elite BiN-08-575 — 144 half-cut N-type TOPCon bifacial dual-glass (Grade B)"
pmp_w: 575
voc_v: 52.30 # CONFIRMED (front-side STC). NOT the 108-cell BiN-01 (39.91V).
vmp_v: 43.86 # CONFIRMED
isc_a: 13.87 # CONFIRMED
imp_a: 13.11 # CONFIRMED
voc_tempco_pct_per_C: -0.26 # CONFIRMED (Waaree thermal table) — CRITICAL for cold Voc
isc_tempco_pct_per_C: 0.046 # CONFIRMED
pmax_tempco_pct_per_C: -0.30 # CONFIRMED (used to model Vmp temp behavior w/ pvlib)
max_system_voltage_v: 1500 # CONFIRMED (DC1500V IEC/UL) — module not the binding limit
series_fuse_a: 30 # CONFIRMED max series fuse rating (datasheet)
cells: 144 # 144 half-cut = 72 electrical cells in series
cells_electrical_series: 72
efficiency_pct: 22.26
noct_c: 43
bifaciality: 0.80 # 80% (datasheet)
bifacial_rear_fraction: 0.20 # conservative rear:front irradiance for cold-Voc adder
# (ground-mount albedo); raises open-circuit V — see 01
array:
active_kw_target: 8.0 # ~8 kW now (rest of pallet = future, not wired)
module_count: 14 # 14 x 575W = 8050 W DC — session validates final count/strings
array_type: "fixed_open_rack" # PVWatts array_type=0 (ground mount)
tilt_deg: 50 # CONFIRM with owner (winter-optimized); affects production only
azimuth_deg: 180 # true south
gcr: 0.30 # ground-coverage ratio for bifacial rear-gain (PVWatts v8).
# Phase-1 = SINGLE ROW (2-high x 7-wide) -> low row-shading -> high rear gain.
# ASSUMPTION (layout, not datasheet): true single-row gain is >= this. See 15_tilt_sweep.
inverter: # EG4 6000XP — SOURCE: EG4-6000XP Manual + Spec Sheet v1.4.4 (eg4electronics.com)
model: "EG4 6000XP"
mppt_count: 2
pv_max_voc_v: 500 # CONFIRMED absolute "do-not-exceed" PV Voc (warranty void above)
pv_design_voc_ceiling_v: 480 # CONFIRMED top of recommended DC input range — cold-Voc design target
mppt_v_min: 120 # CONFIRMED MPPT tracking low
mppt_v_max: 385 # CONFIRMED MPPT tracking high (NOT the Voc ceiling)
pv_startup_v: 100 # CONFIRMED (+/-10)
pv_max_input_a_per_mppt: 17 # CONFIRMED max usable input current per MPPT
pv_max_isc_a_per_mppt: 25 # CONFIRMED Isc rating per MPPT
pv_max_power_w: 8000 # CONFIRMED max usable PV (4000 W per MPPT)
pv_max_power_w_per_mppt: 4000 # CONFIRMED
pv_rec_max_power_w: 10000 # CONFIRMED oversizing allowance
ac_continuous_w: 6000 # CONFIRMED
ac_surge_w: 12000 # CONFIRMED (~3.5 s; 11000 W ~5 s)
ac_voltage: "120/240 split-phase"
ac_cont_a_per_leg: 25 # CONFIRMED (25 A across 240V split-phase)
ac_input_passthrough_a: 50 # CONFIRMED grid/gen bypass
batt_max_charge_a: 125 # CONFIRMED (125 A from PV; 115 A from AC)
batt_max_discharge_a: 140 # CONFIRMED inverter-side battery discharge limit
discharge_eff: 0.93 # CONFIRMED battery->AC discharge efficiency (93%)
mppt_eff: 0.99 # CONFIRMED peak MPPT efficiency
has_dc_disconnect: true # CONFIRMED integrated DC switch per MPPT
has_rapid_shutdown: true # CONFIRMED RSD initiator built in (external E-stop not included)
has_dc_afci: true # CONFIRMED integrated PV AFCI
has_dc_gfdi: true # CONFIRMED PV ground-fault / isolation protection
battery: # Docan S3 16 kWh — SOURCE: Docan listing + JK-PB2A16S20P datasheet + EVE MB31 cell datasheet
model: "Docan S3 16 kWh (51.2V 314Ah, 16S1P EVE MB31, JK-PB2A16S20P 'V19' BMS)"
nominal_v: 51.2
charge_cutoff_v: 58.4 # CONFIRMED (16 x 3.65V)
discharge_cutoff_v: 40 # CONFIRMED (16 x 2.5V) — vendor pack cutoff
capacity_ah: 314 # CONFIRMED (EVE MB31 nominal)
usable_kwh: 16.08 # CONFIRMED (51.2 x 314 / 1000)
config: "16S1P"
cell_type: "EVE MB31 314Ah Grade A LiFePO4"
dod_design: 0.80 # LiFePO4 design depth-of-discharge for runtime
bms_continuous_a: 200 # marketed/JK config max — SOFT (see cell_continuous_a)
bms_recommended_a: 150 # vendor recommended continuous
bms_discharge_ocp_a: 150 # CONFIRMED JK datasheet discharge over-current trip (300 s delay)
bms_ocp_delay_s: 300 # CONFIRMED
bms_short_circuit_a: 300 # CONFIRMED JK short-circuit trip (20 us)
cell_continuous_a: 157 # CONFIRMED EVE MB31 0.5P continuous ceiling (16S1P => pack ceiling)
bms_continuous_charge_a: 150
bms_low_temp_charge_cutoff_c: -20 # CONFIRMED BMS; EVE cell only rated charge >=0C
heating: true # CONFIRMED by owner (2026-06-02): battery heating is PROPANE-based, on a
# separate (non-electrical) budget. Warms cells into the >=0C charge window
# -> pack charges through NEK winter. NO parasitic electrical load on the
# array/battery. Discharge/fuse/cable sizing unaffected. Heating itself out of
# electrical scope (like structure/mounting).
comms: "RS485 x2 + CAN(250k) + RS232 + BT; EG4 closed-loop via JK CAN=Pylontech, 6000XP 'Pylontech 2'"
jk_firmware: "V19 (JK-PB2A16S20P / 16S200A2B)"
# One-way conductor run lengths in FEET — CONFIRMED by owner (2026-06-02).
runs_ft:
array_to_combiner: 0 # No combiner box: EG4 takes one string per MPPT direct (mfr "no combiner needed")
combiner_to_inverter: 200 # owner: 150-250 ft trench; DESIGN at 200, script sweeps 150/200/250
inverter_to_battery: 10 # owner: 5-10 ft; design at 10 (conservative for Vdrop at ~126 A)
inverter_to_loads: 10 # owner: <10 ft AC to subfed main panel (Swarm §17)
dc_run_sweep_ft: [150, 200, 250] # report DC Vdrop across the owner's stated range
targets:
vdrop_dc_pct_max: 2.0
vdrop_battery_pct_max: 1.0
vdrop_ac_pct_max: 2.0
# ============================================================================
# PHASE 2 — THE BUILD (Path A: 2x EG4 6000XP, 28 panels 4x7S + 3 spares, 2-pack bank)
# ----------------------------------------------------------------------------
# Owner decisions (CONFIRMED 2026-06-03):
# - SELECTED BUILD = add a 2nd EG4 6000XP (keep the existing one), 28 panels (4x7S),
# 3 panels held as spares. Computed by scripts/11_pathA.py; deliverables in
# artifacts/phase2/. (Picked for spares + N+1 redundancy + lower cost.)
# - 2x Docan S3 packs (Swarm §6 minimum; 25.7 kWh usable).
# - Battery adjacent to inverter (~10 ft, as Phase-1); 200 ft trench reused.
#
# This phase2: block holds Phase-2-only inputs read directly via dotted keys
# (phase2.array.gcr for the multi-row bifacial rear-gain, phase2.runs_ft for the
# build's run lengths). The Phase-2 inverters are 2x the BASE inverter: block (6000XP).
# ============================================================================
phase2:
array:
module_count: 31 # full Waaree pallet (28 wired 4x7S + 3 spares)
active_kw_target: 16.1 # 28 x 575 W wired
gcr: 0.40 # MULTI-ROW Phase-2 ground-coverage ratio for bifacial rear-gain.
# ASSUMPTION (layout, not datasheet): higher than Phase-1's single-row 0.30
# (rows shade each other's rear) -> LOWER per-panel rear gain; conservative.
# Re-run 09/11 with the confirmed row pitch once the Phase-2 layout is set.
# One-way run lengths in FEET — CONFIRMED by owner (2026-06-03). Read by 11/12/14.
runs_ft:
array_to_combiner: 0 # no combiner: each 6000XP takes strings direct to its MPPT inputs
combiner_to_inverter: 200 # remaining panels co-located w/ Phase-1 array; reuse the 150-250 ft trench (design 200)
pack_to_busbar: 5 # each pack -> bank busbar, short
inverter_to_battery: 10 # busbar/bank -> inverters, adjacent (~10 ft, as Phase-1); design at 10
inverter_to_loads: 10 # inverter AC -> subfed main panel, <10 ft (Swarm §17)