The power of the system is, at its basic level, the product of the amount of PV area, and the efficiency of the system (modules and inverters). Most of the measures out there work off of existing geometry to determine the physical size (area) of the array; the onus is on the modeler to determine and provide the PV layout by way of geometry in the model.

If you want to **report** system power, you could add something to your measure like:

```
# init
system_rated_output = 0.0
panel_rated_output = 4.0 # w/ft^2
pv_area_total = 0.0
pv_surfaces.each do |pv_surface|
pv_area = OpenStudio::getArea(pv_surface.vertices()).get
pv_area_total += pv_area
end
system_rated_output = panel_rated_output * pv_area_total #watts
```

This would give you total system power and the most basic level (uncorrected for transformer/inverter/other losses).

Now, if you wanted a measure to **create** a system based on a total system power *input*, you'd simply reverse that workflow, having the measure create a polygon that was right-sized to get you to the power you were looking for. But then the issue is *where* in/on/around the model to place this system? I would encourage you to design the system first and model it (as geometry (shading surfaces), then have your measure auto-transform them into pv modules, add the associated gear, and hook it all up with reporting variables for EnergyPlus. All that stuff is done in the measures on the BCL (e.g. "add rooftop PV").