Class EnergyCalculationOptions
Holds flags that switch on and off various bits of the model chain.
Namespace: SolarFarmerApi.Client
Syntax
public class EnergyCalculationOptions
Properties
AddTareLossToInverterEfficiencyModel
If true any inverter models that use the ThreeCurves model will add the tare loss (night time loss)
as a point in the efficiency curve. This is what SF-Desktop did.
Optional. Default is false.
Declaration
public bool AddTareLossToInverterEfficiencyModel { get; set; }
Property Value
Type | Description |
---|---|
System.Boolean |
ApplyIAM
If true, the incidence angle modifier will be applied based on the
model defined in the PAN file.
Optional. Default is true.
Declaration
public bool ApplyIAM { get; set; }
Property Value
Type | Description |
---|---|
System.Boolean |
ApplySpectralMismatchModifier
If true, the First Solar spectral mismatch model will be used.
Optional. Default is true.
Declaration
public bool ApplySpectralMismatchModifier { get; set; }
Property Value
Type | Description |
---|---|
System.Boolean |
CalculateDHI
If true, the DHI value will be derived from GHI.
Optional. Default is false.
Declaration
public bool CalculateDHI { get; set; }
Property Value
Type | Description |
---|---|
System.Boolean |
CalculationYear
When using TMY data, the solar position will be calculated based on this Calculation Year.
Note if the TMY data has already been converted into SF-Core format json, i.e. a serialization of
MeteorologicalConditionsDataset then the year is set there and
this parameter has no effect.
Optional. Default: 1990
Declaration
public int CalculationYear { get; set; }
Property Value
Type | Description |
---|---|
System.Int32 |
ConnectorResistanceBinWidth
The bin width to use for the connector resistance.
This is required because the connector resistance is defined per layout
so if we are considering whether two modules from different layout
are in-fact in equivalent operating conditions we need to compare the
connector resistance.
Optional. Default is 1e-6.
Declaration
public double? ConnectorResistanceBinWidth { get; set; }
Property Value
Type | Description |
---|---|
System.Nullable<System.Double> |
DefaultWindSpeed
The default wind speed to use in the cell temperature model.
If wind speed data is provided as part of the meteorological data, then it will override this default
Units: m/s
Optional. Default: 0
Declaration
public double DefaultWindSpeed { get; set; }
Property Value
Type | Description |
---|---|
System.Double |
DiffuseModel
Select the diffuse model to use.
Declaration
public DiffuseModel DiffuseModel { get; set; }
Property Value
Type | Description |
---|---|
DiffuseModel |
GridAvailabilityLoss
The grid availability loss as a fraction of 1.
i.e. a value of 0.01 would represent a grid that was unavailable 1% of the time.
Optional. Default is 0.
Declaration
public double GridAvailabilityLoss { get; set; }
Property Value
Type | Description |
---|---|
System.Double |
IgnoreLowPowerPointInEfficiencyData
If true, in any inverter models that use the ThreeCurves model, any data point in the efficiency tables less than 5% of rated will be ignored
This is what SF-Desktop did.
Optional. Default is false.
Declaration
public bool IgnoreLowPowerPointInEfficiencyData { get; set; }
Property Value
Type | Description |
---|---|
System.Boolean |
IncludeACModel
If true, the AC model will be applied to the output from the array.
Optional. Default is true.
Declaration
public bool IncludeACModel { get; set; }
Property Value
Type | Description |
---|---|
System.Boolean |
IncludeArrayIV
If true, the diode model will be used to calculate module IV curves, and they will be combined into array IV curves to properly
account for electrical mismatch between sub-modules.
Optional. Default is true.
Declaration
public bool IncludeArrayIV { get; set; }
Property Value
Type | Description |
---|---|
System.Boolean |
IncludeCellTemperatureModel
If false, the cell temperature model will be disabled.
This does not disable the effect of cell temperature on the calculation of the module performance using the one diode model.
It just means that the calculation will be based on the ambient temperature rather than calculating a temperature based on the
irradiance level and wind speed.
Optional. Default is true.
Declaration
public bool IncludeCellTemperatureModel { get; set; }
Property Value
Type | Description |
---|---|
System.Boolean |
IncludeHorizon
If true, the horizon model will be used to modify the direct irradiance around sunrise and sunset
and the horizon losses for diffuse isotropic component.
Declaration
public bool IncludeHorizon { get; set; }
Property Value
Type | Description |
---|---|
System.Boolean |
IncludeInverterModel
If true, the inverter model will be applied to the output from the array.
Optional. Default is true.
Declaration
public bool IncludeInverterModel { get; set; }
Property Value
Type | Description |
---|---|
System.Boolean |
IncludeModulePerformance
If true, the diode model will be used to calculate the module efficiency more precisely than just using the nominal efficiency.
Optional. Default is true.
Declaration
public bool IncludeModulePerformance { get; set; }
Property Value
Type | Description |
---|---|
System.Boolean |
IncludeSoilingLossInTemperatureModel
If true the irradiance input to the cell temperature model will include the soiling loss.
This setting is related to UseIAMForTemperatureModel, but independent. In combination these two flags create 4 options.
The spectral model is never applied, and back-side irradiance is not included in the temperature model.
Near and far shading are always included in the temperature model.
Optional. Default is false.
Declaration
public bool IncludeSoilingLossInTemperatureModel { get; set; }
Property Value
Type | Description |
---|---|
System.Boolean |
IrradianceBinWidth
The bin width to use for irradiance
Optional. Default is 1 W/m2.
Declaration
public double? IrradianceBinWidth { get; set; }
Property Value
Type | Description |
---|---|
System.Nullable<System.Double> |
IvCurveSize
The number of points in the IV curve that is calculated
Optional. Default is 500.
Declaration
public int? IvCurveSize { get; set; }
Property Value
Type | Description |
---|---|
System.Nullable<System.Int32> |
MasterKey1
A specific string to enable extra API functionality. Used by the SolarFarmer team only.
Declaration
public string MasterKey1 { get; set; }
Property Value
Type | Description |
---|---|
System.String |
MissingMetDataHandling
Defines the behaviour for missing data (NaN values) in
required meteorological data: solar irradiance (either GHI or POA) and air temperature.
Optional. Default is 'FailOnValidation'.
Declaration
public MissingMetDataMethod? MissingMetDataHandling { get; set; }
Property Value
Type | Description |
---|---|
System.Nullable<MissingMetDataMethod> |
ModelBackRowSeparately
If true the back-irradiance for bifacial of the back row of the array will be treated separately.
There will be no near-shading loss applied to the back-irradiance of the back row.
If false, then the back row will get the same back-irradiance as any other row in the array.
Bifacial only.
Optional. Default is true.
Declaration
public bool ModelBackRowSeparately { get; set; }
Property Value
Type | Description |
---|---|
System.Boolean |
ModuleMismatchBinWidth
The bin width to use for module mismatch.
This is required because the module mismatch is defined per layout
so if we are considering whether two modules from different layout
are in-fact in equivalent operating conditions we need to compare the module
mismatch loss.
Optional. Default is 1e-6.
Declaration
public double? ModuleMismatchBinWidth { get; set; }
Property Value
Type | Description |
---|---|
System.Nullable<System.Double> |
ReturnDetailedTimeSeriesResults
Generate and return detailed time-series results.
Default is false.
Declaration
public bool ReturnDetailedTimeSeriesResults { get; set; }
Property Value
Type | Description |
---|---|
System.Boolean |
ReturnLossTreeTimeSeriesResults
Generate and return detailed loss tree time-series results.
Default is false.
Declaration
public bool ReturnLossTreeTimeSeriesResults { get; set; }
Property Value
Type | Description |
---|---|
System.Boolean |
ReturnPvSystFormatTimeSeriesResults
Generate and return PVsyst-format time-series results.
Default is true.
Declaration
public bool ReturnPvSystFormatTimeSeriesResults { get; set; }
Property Value
Type | Description |
---|---|
System.Boolean |
SolarMeasurementPlaneAzimuth
The solar measurement plane azimuth (in degrees).
Optional. Required if POA meteorological data is used and GHI and DHI are to be derived from the POA.
Defaults to 0.
Declaration
public double SolarMeasurementPlaneAzimuth { get; set; }
Property Value
Type | Description |
---|---|
System.Double |
SolarMeasurementPlaneTilt
The solar measurement plane tilt (in degrees).
Optional. Required if POA meteorological data is used and GHI and DHI are to be derived from the POA.
Defaults to 0.
Declaration
public double SolarMeasurementPlaneTilt { get; set; }
Property Value
Type | Description |
---|---|
System.Double |
TemperatureBinWidth
The bin width to use for temperature
Optional. Default is 0.1 deg C.
Declaration
public double? TemperatureBinWidth { get; set; }
Property Value
Type | Description |
---|---|
System.Nullable<System.Double> |
TreatCircumsolarAsDirect
If true the circumsolar irradiance will be added to the direct component rather than the diffuse.
This will affect the angle of incidence used for IAM on the circumsolar component, and it will affect the near shading for the circumsolar.
Optional. Default is true.
Declaration
public bool TreatCircumsolarAsDirect { get; set; }
Property Value
Type | Description |
---|---|
System.Boolean |
UseAlbedoFromMetDataWhenAvailable
Use albedo data from the meteorological data when available.
Optional. Default is true.
Declaration
public bool? UseAlbedoFromMetDataWhenAvailable { get; set; }
Property Value
Type | Description |
---|---|
System.Nullable<System.Boolean> |
UseIAMForTemperatureModel
If true the input to the cell temperature model will be the irradiance after taking IAM into account.
If false then the input to the cell temperature model will not include IAM, but the AbsorptionCoefficient
from the module specification will be used to account for reflection.
This setting is related to IncludeSoilingLossInTemperatureModel, but independent. In combination these two flags create 4 options.
The spectral model is never applied, and back-side irradiance is not included in the temperature model.
Near and far shading are always included in the temperature model.
Optional. Default is false.
Declaration
public bool UseIAMForTemperatureModel { get; set; }
Property Value
Type | Description |
---|---|
System.Boolean |
UseMostShadedCellForDiffuse
If true the diffuse shading will be based on the view factors from the most shaded cell in a sub-string.
If false then the rack-average view factors will be used.
Optional. Default is false.
Declaration
public bool UseMostShadedCellForDiffuse { get; set; }
Property Value
Type | Description |
---|---|
System.Boolean |