This is a help file for the pvl_WVM MatLab code. It contains links to examples and some FAQs. Click here to Download pvl_WVM Matlab Code
Contents:
What the WVM does
WVM Code Syntax and Required Inputs
Examples
Determining the Cloud Speed
Convert WVM Smoothed Irradiance to Power Output
What the WVM does
The WVM models the average irradiance over a PV plant footprint. It does this by smoothing the measurements from an irradiance points sensor by different amounts at different timescales. The WVM smoothed irradiance can be used with irradiance to power translation methods to create simulated PV plant power output. To run the WVM, you need measurements from an irradiance point sensor, some information about the PV plant you’d like to simulate (see code syntax section and examples section below), and the cloud speed. See reference [1] for more details.
WVM Code Syntax and Required Inputs
Note: you’ll need the PV_Lib toolbox installed on your computer to run the WVM. If you don’t already have it, get the PV_Lib toolbox here.
The WVM syntax is:
smooth_irradiance = pvl_WVM(irr_sensor, plantinfo, cloud_speed)
computes the spatiallysmoothed irradiance using the wavelet variability model.
irr_sensor is a struct with variables:
irr_sensor.irr the irradiance measurement
irr_sensor.time the time stamps (Matlab time vector) for irr_sensor.irr
irr_sensor.Lat latitude of the sensor
irr_sensor.Lon longitude of the sensor
irr_sensor.alt altitude of the sensor
irr_sensor.tilt tilt angle of the sensor, 0 = flat (e.g., GHI)
irr_sensor.azimuth azimuth angle of the sensor, 180 = due south
(optional) irr.sensor.clear_sky_irradiance manually enter the clearsky irradiance (e.g., for an irradiance sensor on a tracking system)
irr_sensor.UTCoffset UTC offset
plantinfo is a struct describing the plant to simulate with variables:
plantinfo.tilt tilt angle of plant modules
plantinfo.azimuth azimuth angle of plant modules
(optional) plantinfo.clear_sky_irrPOA manually enter the clearsky irradiance in the module POA (e.g., for tracking systems)
plantinfo.type ‘square’,’polygon’, or ‘discrete’
‘square’ square PV plant with specified number of MWs and PV density
‘polygon’ custom PV plant shape (define vetiticies in lat/lon)
‘discrete’ simulate only certain points (e.g., to replicate output of multiple point sensors)
plantinfo.MW MW of PV installed (not necessary for ‘discrete’ type)
plantinfo.PVdensity W PV installed per m2 in plant area (e.g., 41 W/m2 is 1MW per 6 acres) (not necessary for ‘discrete’ type)
plantinfo.Lat (only needed for type ‘polygon’ or ‘discrete’) latitude of polygon verticies or discrete points
plantinfo.Lon (only needed for type ‘polygon’ or ‘discrete’) longitude of polygon verticies or discrete points
cloud_speed is a single value of the daily cloud speed
smooth_irradiance is the WVM smoothed irradiance representing the average irradiance over the plant footprint. It maintains the time stamps of the input irradiance (irr_sensor.time).
Examples
There are three basic ways to model the PV power plant:

Assume a square plant.
WVM example with a square plant.
This is the easiest method and requires only the plant MW rating and the PV density. A PV density of 41 W/m2 corresponds to 1MW per 6 acres, which is a common rule of thumb for PV plants.

Specify polygon vertices to define plant outline.
WVM example with a polygon plant.
This setting allows you to simulate a PV plant that is not a squareshape by providing the latitude and longitude of the polygon vertices corresponding to the plant footprint.

Simulate the aggregate output at defined discrete points.
WVM example with discrete inputs.
This setting simulates the average irradiance measured using a network of irradiance point sensors. The WVM output on this setting will not be the average irradiance over the whole footprint, but rather the average of only the discrete locations of the point sensors. The user provides the latitude and longitude of the points to simulate.
Determining the Cloud Speed
The cloud speed is an important input to the WVM, but can be difficult to obtain. The slower the cloud speed, the greater the smoothing will be across the PV plant. Three ways to determine the cloud speed are:
 Derive cloud speeds from numerical weather forecasts, as described in reference [2].
 Use a ground network of irradiance sensors, e.g., as described in reference [3]. See the supporting program pvl_WVM_compute_CS_from_sensor_network that can be used to compute the cloud speed if you have an irradiance sensor network.
 Make an educated guess. Based on [2] and other work, coastal areas such as Hawaii, Puerto Rico, and San Diego typically have slow cloud speeds (e.g., 37 m/s), probably due to the typically lowlevel clouds. Inland areas such as Las Vegas and Albuquerque typically have fast clouds speeds (e.g., 1030 m/s), likely due to the typically highlevel clouds.
Convert WVM Smoothed Irradiance to Power Output
The WVM simulates plant average irradiance, but plant power output is more often of interest. A variety of irradiance to power translation models exist, ranging from:
 Simple linear models such as
Power = Irradiance * Plant Area * Module Efficiency * DCtoAC Derate,
where the DCtoAC Derate can be estimated from the PVWatts Derate Table ). Since the rated capacity of the PV modules is usually more readily known than the module efficiency, this equation can alternatively be written as:
Power = Irradiance/(1000 W/m2) * Rated Capacity * DCtoAC Derate.  Complicated models accounting for temperature, module and inverter technology, etc. Some such models are already included in the PV_Lib toolbox, such as pvl_sapm and pvl_snlinverter.
References
1. Lave, M.; Kleissl, J.; Stein, J.S., “A WaveletBased Variability Model (WVM) for Solar PV Power Plants,” Sustainable Energy, IEEE Transactions on , vol.4, no.2, pp.501,509, April 2013, doi: 10.1109/TSTE.2012.2205716
2. Lave, M.; Kleissl, J; “Cloud speed impact on solar variability scaling – Application to the wavelet variability model”, Solar Energy, Volume 91, May 2013, Pages 1121, ISSN 0038092X, http://dx.doi.org/10.1016/j.solener.2013.01.023.
3. J.L. Bosch, Y. Zheng, J. Kleissl, Deriving cloud velocity from an array of solar radiation measurements, Solar Energy, Volume 87, January 2013, Pages 196203, ISSN 0038092X, http://dx.doi.org/10.1016/j.solener.2012.10.020.
(http://www.sciencedirect.com/science/article/pii/S0038092X12003854)
BSD License
Copyright (c) 2012, The Regents of the University of California
All rights reserved.
Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
Neither the name The Regents of the University of California, the names of its campuses nor any abbreviation thereof, nor the names of the contributors may be used to endorse or promote products derived from this software without specific prior written permission.
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS “AS IS” AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.