Solar photovoltaic power generation