prodGCPV: Performance of a grid connected PV system.

Description Usage Arguments Details Value Author(s) References See Also Examples

View source: R/prodGCPV.R

Description

Compute every step from solar angles to effective irradiance to calculate the performance of a grid connected PV system.

Usage

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
prodGCPV(lat,
         modeTrk='fixed',
         modeRad='prom',
         dataRad,
         prev, prom, mapa, bd,bdI,
         sample='hour',
         keep.night=TRUE,
         sunGeometry='michalsky',
         corr, f,
         betaLim=90, beta=abs(lat)-10, alfa=0,
         iS=2, alb=0.2, horizBright=TRUE, HCPV=FALSE,
         module=list(),
         generator=list(),
         inverter=list(),
         effSys=list(),
         modeShd='',
         struct=list(),
         distances=data.frame()
         )

Arguments

lat

numeric, latitude (degrees) of the point of the Earth where calculations are needed. It is positive for locations above the Equator.

modeTrk

A character string, describing the tracking method of the generator. See calcGef for details.

modeRad, dataRad, prom, mapa, bd, bdI

Information about the source data of the global irradiation. See calcG0 for details.

prev

Deprecated, dataRad should be used instead. A Gef or G0 object (or something that can be coerced to a Gef object). It is only used when modeRad='prev'. prodGCPV will call calcGef for the effective irradiance and irradiation procedure only when prev is a G0 object.

sample, keep.night

See calcSol for details.

sunGeometry

character, method for the sun geometry calculations. See calcSol, fSolD and fSolI.

corr, f

See calcG0 for details.

betaLim, beta, alfa, iS, alb, horizBright, HCPV

See calcGef for details.

module

list of numeric values with information about the PV module,

Vocn

open-circuit voltage of the module at Standard Test Conditions (default value 57.6 volts.)

Iscn

short circuit current of the module at Standard Test Conditions (default value 4.7 amperes.)

Vmn

maximum power point voltage of the module at Standard Test Conditions (default value 46.08 amperes.)

Imn

Maximum power current of the module at Standard Test Conditions (default value 4.35 amperes.)

Ncs

number of cells in series inside the module (default value 96)

Ncp

number of cells in parallel inside the module (default value 1)

CoefVT

coefficient of decrement of voltage of each cell with the temperature (default value 0.0023 volts per celsius degree)

TONC

nominal operational cell temperature, celsius degree (default value 47).

generator

list of numeric values with information about the generator,

Nms

number of modules in series (default value 12)

Nmp

number of modules in parallel (default value 11)

inverter

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

Ki

vector of three values, coefficients of the efficiency curve of the inverter (default c(0.01, 0.025, 0.05)), or a matrix of nine values (3x3) if there is dependence with the voltage (see references).

Pinv

nominal inverter power (W) (default value 25000 watts.)

Vmin, Vmax

minimum and maximum voltages of the MPP range of the inverter (default values 420 and 750 volts)

Gumb

minimum irradiance for the inverter to start (W/m²) (default value 20 W/m²)

effSys

list of numeric values with information about the system losses,

ModQual

average tolerance of the set of modules (%), default value is 3

ModDisp

module parameter disperssion losses (%), default value is 2

OhmDC

Joule losses due to the DC wiring (%), default value is 1.5

OhmAC

Joule losses due to the AC wiring (%), default value is 1.5

MPP

average error of the MPP algorithm of the inverter (%), default value is 1

TrafoMT

losses due to the MT transformer (%), default value is 1

Disp

losses due to stops of the system (%), default value is 0.5

modeShd, struct, distances

See calcShd for details.

Details

The calculation of the irradiance on the horizontal plane is carried out with the function calcG0. The transformation to the inclined surface makes use of the fTheta and fInclin functions inside the calcGef function. The shadows are computed with calcShd while the performance of the PV system is simulated with fProd.

Value

A ProdGCPV object.

Author(s)

Oscar Perpiñán Lamigueiro

References

See Also

fProd, calcGef, calcShd, calcG0, compare, compareLosses, mergesolaR

Examples

  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
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
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)

###Comparison of different tracker methods
prodFixed<-prodGCPV(lat=lat,dataRad=prom, keep.night=FALSE)
prod2x<-prodGCPV(lat=lat, dataRad=prom, modeTrk='two', keep.night=FALSE)
prodHoriz<-prodGCPV(lat=lat,dataRad=prom, modeTrk='horiz', keep.night=FALSE)

##Comparison of yearly productivities
compare(prodFixed, prod2x, prodHoriz)
compareLosses(prodFixed, prod2x, prodHoriz)

##Comparison of power time series
ComparePac<-CBIND(two=as.zooI(prod2x)$Pac,
     horiz=as.zooI(prodHoriz)$Pac,
     fixed=as.zooI(prodFixed)$Pac)
AngSol=as.zooI(as(prodFixed, 'Sol'))
ComparePac=CBIND(AngSol, ComparePac)
mon=month(index(ComparePac))

xyplot(two+horiz+fixed~AzS|mon, data=ComparePac,
     type='l', auto.key=list(space='right', lines=TRUE, points=FALSE),ylab='Pac')

###Use of modeRad='aguiar' and modeRad='prev'
prodAguiarFixed <- prodGCPV(lat=41,
                            modeRad='aguiar',
                            dataRad=G0dm,
                            keep.night=FALSE)

##We want to compare systems with different effective irradiance
##so we have to convert prodAguiarFixed to a 'G0' object.
G0Aguiar=as(prodAguiarFixed, 'G0')

prodAguiar2x<-prodGCPV(lat=41,modeTrk='two',modeRad='prev', dataRad=G0Aguiar)
prodAguiarHoriz<-prodGCPV(lat=41, modeTrk='horiz',modeRad='prev',
dataRad=G0Aguiar)

##Comparison of yearly values
compare(prodAguiarFixed, prodAguiar2x, prodAguiarHoriz)
compareLosses(prodAguiarFixed, prodAguiar2x, prodAguiarHoriz)

##Compare of daily productivities of each tracking system
compareYf <- mergesolaR(prodAguiarFixed, prodAguiar2x, prodAguiarHoriz)
xyplot(compareYf, superpose=TRUE,
ylab='kWh/kWp', main='Daily productivity', auto.key=list(space='right'))


###Shadows
#Two-axis trackers
struct2x=list(W=23.11, L=9.8, Nrow=2, Ncol=8)
dist2x=data.frame(Lew=40, Lns=30, H=0)
prod2xShd<-prodGCPV(lat=lat, dataRad=prom, modeTrk='two',
    modeShd='area', struct=struct2x, distances=dist2x)
print(prod2xShd)

#Horizontal N-S tracker
structHoriz=list(L=4.83);
distHoriz=data.frame(Lew=structHoriz$L*4);

#Without Backtracking
prodHorizShd<-prodGCPV(lat=lat, dataRad=prom, sample='10 min',
    modeTrk='horiz',
    modeShd='area', betaLim=60,
    distances=distHoriz,
    struct=structHoriz)
print(prodHorizShd)

xyplot(r2d(Beta)~r2d(w),
     data=prodHorizShd,
     type='l',
     main='Inclination angle of a horizontal axis tracker',
     xlab=expression(omega (degrees)),
     ylab=expression(beta (degrees)))

#With Backtracking
prodHorizBT<-prodGCPV(lat=lat, dataRad=prom, sample='10 min',
    modeTrk='horiz',
    modeShd='bt', betaLim=60,
    distances=distHoriz,
    struct=structHoriz)

print(prodHorizBT)

xyplot(r2d(Beta)~r2d(w),
     data=prodHorizBT,
     type='l',
     main='Inclination angle of a horizontal axis tracker\n with backtracking',
     xlab=expression(omega (degrees)),
     ylab=expression(beta (degrees)))

compare(prodFixed, prod2x, prodHoriz, prod2xShd,
       prodHorizShd, prodHorizBT)

compareLosses(prodFixed, prod2x, prodHoriz, prod2xShd,
       prodHorizShd, prodHorizBT)

compareYf2 <- mergesolaR(prodFixed, prod2x, prodHoriz, prod2xShd,
       prodHorizShd, prodHorizBT)
xyplot(compareYf2, superpose=TRUE,
ylab='kWh/kWp', main='Daily productivity', auto.key=list(space='right'))

Example output

Loading required package: zoo

Attaching package: 'zoo'

The following objects are masked from 'package:base':

    as.Date, as.Date.numeric

Loading required package: lattice
Loading required package: latticeExtra
Loading required package: RColorBrewer
Time Zone set to UTC.

    values  ind      name
1 1835.874  G0d prodFixed
2 1969.056 Gefd prodFixed
3 1506.453   Yf prodFixed
4 1835.874  G0d    prod2x
5 2961.440 Gefd    prod2x
6 2235.135   Yf    prod2x
7 1835.874  G0d prodHoriz
8 2611.055 Gefd prodHoriz
9 1991.057   Yf prodHoriz
          id     values      name
1    Shadows 0.00000000 prodFixed
2        AoI 0.05894223 prodFixed
3  Generator 0.08395355 prodFixed
4         DC 0.07377200 prodFixed
5   Inverter 0.07067482 prodFixed
6         AC 0.02972575 prodFixed
7    Shadows 0.00000000    prod2x
8        AoI 0.02799467    prod2x
9  Generator 0.10029902    prod2x
10        DC 0.07302875    prod2x
11  Inverter 0.06730043    prod2x
12        AC 0.02972575    prod2x
13   Shadows 0.00000000 prodHoriz
14       AoI 0.03532082 prodHoriz
15 Generator 0.09141181 prodHoriz
16        DC 0.07302953 prodHoriz
17  Inverter 0.06687441 prodHoriz
18        AC 0.02972575 prodHoriz
Warning message:
In checkG0Ta(file, maxmin = TRUE) :
  Ambient temperature data is not available. A new column with a constant value has been added.
    values  ind            name
1 1828.003  G0d prodAguiarFixed
2 2043.465 Gefd prodAguiarFixed
3 1493.369   Yf prodAguiarFixed
4 1828.003  G0d    prodAguiar2x
5 3041.820 Gefd    prodAguiar2x
6 2176.249   Yf    prodAguiar2x
7 1828.003  G0d prodAguiarHoriz
8 2609.069 Gefd prodAguiarHoriz
9 1910.956   Yf prodAguiarHoriz
          id     values            name
1    Shadows 0.00000000 prodAguiarFixed
2        AoI 0.05857205 prodAguiarFixed
3  Generator 0.12290041 prodAguiarFixed
4         DC 0.07444595 prodAguiarFixed
5   Inverter 0.07219901 prodAguiarFixed
6         AC 0.02972575 prodAguiarFixed
7    Shadows 0.00000000    prodAguiar2x
8        AoI 0.02866849    prodAguiar2x
9  Generator 0.14440690    prodAguiar2x
10        DC 0.07331438    prodAguiar2x
11  Inverter 0.07000469    prodAguiar2x
12        AC 0.02972575    prodAguiar2x
13   Shadows 0.00000000 prodAguiarHoriz
14       AoI 0.03837420 prodAguiarHoriz
15 Generator 0.12500959 prodAguiarHoriz
16        DC 0.07335673 prodAguiarHoriz
17  Inverter 0.06898944 prodAguiarHoriz
18        AC 0.02972575 prodAguiarHoriz
Object of class  ProdGCPV 

Source of meteorological information: prom- 

Latitude of source:  37.2 degrees
Latitude for calculations:  37.2 degrees

Monthly averages:
              Eac      Edc       Yf
Jan 2018 124.7215 138.0163 4.713739
Feb 2018 130.8745 144.7641 4.946286
Mar 2018 140.6345 155.5684 5.315159
Apr 2018 168.7025 186.5415 6.375966
May 2018 193.5004 213.9344 7.313180
Jun 2018 217.7306 240.7905 8.228937
Jul 2018 209.6867 231.9225 7.924927
Aug 2018 187.4227 207.2682 7.083478
Sep 2018 157.9723 174.7537 5.970425
Oct 2018 122.1468 135.0042 4.616432
Nov 2018 117.0166 129.3715 4.422539
Dec 2018  94.2313 104.0767 3.561390

Yearly values:
         Eac      Edc       Yf
2018 56749.8 62756.63 2144.809
-----------------
Mode of tracking:  two 
    Inclination limit: 90 
-----------------
Generator:
    Modules in series:  12 
    Modules in parallel:  11 
    Nominal power (kWp):  26.5 

Object of class  ProdGCPV 

Source of meteorological information: prom- 

Latitude of source:  37.2 degrees
Latitude for calculations:  37.2 degrees

Monthly averages:
               Eac       Edc       Yf
Jan 2018  84.52913  93.38235 3.194705
Feb 2018 100.81835 111.37086 3.810342
Mar 2018 123.82359 136.79909 4.679805
Apr 2018 158.77609 175.50712 6.000804
May 2018 183.38794 202.87785 6.930988
Jun 2018 201.00146 222.48441 7.596675
Jul 2018 199.14413 220.39634 7.526479
Aug 2018 178.27067 197.19524 6.737585
Sep 2018 143.41431 158.45096 5.420219
Oct 2018  98.46622 108.77931 3.721445
Nov 2018  81.74756  90.35178 3.089578
Dec 2018  62.53328  69.36882 2.363391

Yearly values:
         Eac      Edc       Yf
2018 49205.9 54414.98 1859.694
-----------------
Mode of tracking:  horiz 
    Inclination limit: 60 
-----------------
Generator:
    Modules in series:  12 
    Modules in parallel:  11 
    Nominal power (kWp):  26.5 

Object of class  ProdGCPV 

Source of meteorological information: prom- 

Latitude of source:  37.2 degrees
Latitude for calculations:  37.2 degrees

Monthly averages:
               Eac       Edc       Yf
Jan 2018  83.85541  92.66168 3.169242
Feb 2018 100.22090 110.69118 3.787762
Mar 2018 123.30126 136.19999 4.660064
Apr 2018 158.13641 174.82349 5.976628
May 2018 182.56563 201.91562 6.899909
Jun 2018 200.02618 221.35747 7.559815
Jul 2018 198.16629 219.30665 7.489522
Aug 2018 177.31047 196.08399 6.701295
Sep 2018 142.70996 157.69740 5.393599
Oct 2018  98.02980 108.31354 3.704951
Nov 2018  81.16504  89.72941 3.067562
Dec 2018  62.01912  68.77977 2.343959

Yearly values:
       Eac      Edc       Yf
2018 48950 54128.68 1850.023
-----------------
Mode of tracking:  horiz 
    Inclination limit: 60 
-----------------
Generator:
    Modules in series:  12 
    Modules in parallel:  11 
    Nominal power (kWp):  26.5 

     values  ind         name
1  1835.874  G0d    prodFixed
2  1969.056 Gefd    prodFixed
3  1506.453   Yf    prodFixed
4  1835.874  G0d       prod2x
5  2961.440 Gefd       prod2x
6  2235.135   Yf       prod2x
7  1835.874  G0d    prodHoriz
8  2611.055 Gefd    prodHoriz
9  1991.057   Yf    prodHoriz
10 1835.874  G0d    prod2xShd
11 2846.653 Gefd    prod2xShd
12 2144.809   Yf    prod2xShd
13 1835.874  G0d prodHorizShd
14 2446.167 Gefd prodHorizShd
15 1859.694   Yf prodHorizShd
16 1835.874  G0d  prodHorizBT
17 2434.327 Gefd  prodHorizBT
18 1850.023   Yf  prodHorizBT
          id     values         name
1    Shadows 0.00000000    prodFixed
2        AoI 0.05894223    prodFixed
3  Generator 0.08395355    prodFixed
4         DC 0.07377200    prodFixed
5   Inverter 0.07067482    prodFixed
6         AC 0.02972575    prodFixed
7    Shadows 0.00000000       prod2x
8        AoI 0.02799467       prod2x
9  Generator 0.10029902       prod2x
10        DC 0.07302875       prod2x
11  Inverter 0.06730043       prod2x
12        AC 0.02972575       prod2x
13   Shadows 0.00000000    prodHoriz
14       AoI 0.03532082    prodHoriz
15 Generator 0.09141181    prodHoriz
16        DC 0.07302953    prodHoriz
17  Inverter 0.06687441    prodHoriz
18        AC 0.02972575    prodHoriz
19   Shadows 0.03876072    prod2xShd
20       AoI 0.02799467    prod2xShd
21 Generator 0.10115812    prod2xShd
22        DC 0.07302902    prod2xShd
23  Inverter 0.06801210    prod2xShd
24        AC 0.02972575    prod2xShd
25   Shadows 0.04986709 prodHorizShd
26       AoI 0.03607461 prodHorizShd
27 Generator 0.09276341 prodHorizShd
28        DC 0.07330647 prodHorizShd
29  Inverter 0.06802516 prodHorizShd
30        AC 0.02972575 prodHorizShd
31   Shadows 0.00000000  prodHorizBT
32       AoI 0.04119810  prodHorizBT
33 Generator 0.09309111  prodHorizBT
34        DC 0.07336383  prodHorizBT
35  Inverter 0.06796822  prodHorizBT
36        AC 0.02972575  prodHorizBT

solaR documentation built on May 2, 2019, 6:07 p.m.

Related to prodGCPV in solaR...