Description Usage Arguments Details Value Author(s) References See Also Examples
The optimum distance between trackers or static structures of a PV grid connected plant depends on two main factors: the ground requirement ratio (defined as the ratio of the total ground area to the generator PV array area), and the productivity of the system including shadow losses. Therefore, the optimum separation may be the one which achieves the highest productivity with the lowest ground requirement ratio.
However, this definition is not complete since the terrain characteristics and the costs of wiring or civil works could alter the decision. This function is a help for choosing this distance: it computes the productivity for a set of combinations of distances between the elements of the plant.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18  optimShd(lat,
modeTrk = 'fixed',
modeRad = 'prom',
dataRad,
sample = 'hour',
keep.night = TRUE,
sunGeometry = 'michalsky',
betaLim = 90, beta = abs(lat)10, alfa = 0,
iS = 2, alb = 0.2, HCPV = FALSE,
module = list(),
generator = list(),
inverter = list(),
effSys = list(),
modeShd = '',
struct = list(),
distances = data.frame(),
res = 2,
prog = TRUE)

lat 
numeric, latitude (degrees) of the point of the Earth where calculations are needed. It is positive for locations above the Equator. 
modeTrk 
character, to be chosen from 
modeRad, dataRad 
Information about the source data of the
global irradiation. See 
sample 

keep.night 

sunGeometry 

betaLim, beta, alfa, iS, alb, HCPV 
See 
module 
list of numeric values with information about the PV module,

generator 
list of numeric values with information about the generator,

inverter 
list of numeric values with information about the DC/AC inverter,

effSys 
list of numeric values with information about the system losses,

modeShd 
character, defines the type of shadow calculation. In
this version of the package the effect of the shadow is calculated
as a proportional reduction of the circumsolar diffuse and direct
irradiances. This type of approach is selected with

struct 

distances 
These distances, in meters, are defined between the axis of the trackers. 
res 
numeric; 
prog 
logical, show a progress bar; default value is TRUE 
optimShd
calculates the energy produced for every
combination of distances as defined by distances
and
res
. The result of this function is a Shadeclass
object. A method of shadeplot
for this class is defined
(shadeplotmethods
), and it shows the graphical relation
between the productivity and the distance between trackers or fixed
surfaces.
A Shade
object.
Oscar Perpiñán Lamigueiro
Perpiñán, O.: Grandes Centrales Fotovoltaicas: producción, seguimiento y ciclo de vida. PhD Thesis, UNED, 2008. http://espacio.uned.es/fez/eserv/tesisuned:IngIndOperpinan/GrandesCentrales.pdf.
Perpiñán, O, Energía Solar Fotovoltaica, 2015. (https://oscarperpinan.github.io/esf/)
Perpiñán, O. (2012), "solaR: Solar Radiation and Photovoltaic Systems with R", Journal of Statistical Software, 50(9), 132, doi: 10.18637/jss.v050.i09
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53  library(lattice)
library(latticeExtra)
lat = 37.2;
G0dm = c(2766, 3491, 4494, 5912, 6989, 7742, 7919, 7027, 5369, 3562, 2814,
2179)
Ta = c(10, 14.1, 15.6, 17.2, 19.3, 21.2, 28.4, 29.9, 24.3, 18.2, 17.2, 15.2)
prom = list(G0dm = G0dm, Ta = Ta)
###Twoaxis trackers
struct2x = list(W = 23.11, L = 9.8, Nrow = 2, Ncol = 3)
dist2x = list(Lew = c(30, 45),Lns = c(20, 40))
ShdM2x < optimShd(lat = lat, dataRad = prom, modeTrk = 'two',
modeShd = c('area','prom'),
distances = dist2x, struct = struct2x,
res = 5)
shadeplot(ShdM2x)
pLew = xyplot(Yf~GRR,data = ShdM2x,groups = factor(Lew),type = c('l','g'),
main = 'Productivity for each Lew value')
pLew+glayer(panel.text(x[1], y[1], group.value))
pLns = xyplot(Yf~GRR,data = ShdM2x,groups = factor(Lns),type = c('l','g'),
main = 'Productivity for each Lns value')
pLns+glayer(panel.text(x[1], y[1], group.value))
## 1axis tracker with Backtracking
structHoriz = list(L = 4.83);
distHoriz = list(Lew = structHoriz$L * c(2,5));
Shd12HorizBT < optimShd(lat = lat, dataRad = prom,
modeTrk = 'horiz',
betaLim = 60,
distances = distHoriz, res = 2,
struct = structHoriz,
modeShd = 'bt')
shadeplot(Shd12HorizBT)
xyplot(diff(Yf)~GRR[1],data = Shd12HorizBT,type = c('l','g'))
###Fixed system
structFixed = list(L = 5);
distFixed = list(D = structFixed$L*c(1,3));
Shd12Fixed < optimShd(lat = lat, dataRad = prom,
modeTrk = 'fixed',
distances = distFixed, res = 2,
struct = structFixed,
modeShd = 'area')
shadeplot(Shd12Fixed)

Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.