One system per entry, as a line of text or an object. Say where (a town or city of 5,000+ people, with the US state or country if needed: 'Portland, Maine', or coordinates: '39.74, -104.99'); the sunlight and temperature come from NASA POWER, or give 'peak sun hours'. Grid-tied: the use ('900 kWh a month', '10,800 kWh a year'), the bill ('$150 a month at 15 cents/kWh') or the size ('6 kW', '20 x 400W panels'); optional tilt ('30°', '6/12 roof', 'flat roof'), facing ('facing southwest', 'azimuth 200'), 'roof 400 sq ft', '80% offset', cost ('$2.80/W', '$18,000 installed'), '30% tax credit', '12% losses'. Off-grid: the daily load ('2 kWh a day') or the loads with watts and hours ('fridge 60 W 24 h, lights 40 W 5 h, 2 fans 50 W 6 h'), and optionally days of autonomy (2 by default), lithium or lead acid, 12/24/48 V, 'summer only', 'peak load 1500 W', 'DC loads'. Object fields: type (system or offgrid), place, lat, lon, kw, panels, panelWatts, annualKwh, monthlyKwh (a number or 12), monthlyBill, rate, offset, roofArea, costPerWatt, totalCost, incentive, dailyKwh, dailyWh, loads [{name, watts, hours, quantity}], autonomyDays, battery, voltage, season, months, dcLoads, peakWatts, tilt, azimuth, sunHours, losses, albedo, units, title, text.