SolarFarmer Web API Release Notes
These are the different releases of the SolarFarmer web API and notes (breaking changes, web API class changes, enhancements, bug fixes).
The web API is usually released at the same time as a new release of the SolarFarmer desktop application, but may not always be.
API v.0.2.64 (23 August 2021)
[SF-Core version 0.2.172.0]
2D model chain calculation improvements. Ongoing preparation for 3D calculations.
Breaking changes
No breaking changes
Enhancements
- Support slopes in 2D. No longer fixed to be horizontal only.
- Automatically used when calling from the SolarFarmer desktop application
- Set the slope using the new
TerrainAzimuth
andTerrainSlope
properties of theLayout
class
- Web API documentation added to the online SolarFarmer documentation (https://dnvgldocs.azureedge.net/SolarFarmer_Latest/index.html), including some tutorials to help get you started.
- Allow user to configure resolution of IV curve
- Output the irradiance on the ground
- Breakup ground into shade and unshaded regions
- Add SF-Core version to PVsyst formatted CSV output
- Add option flag to use diffuse on most shaded cell
Bug fixes
- Results from 2D tracker sites slightly different each time you run it
- Calculation fails 'Voltage requested was not within known IV curve range'
- Bad .hor file doesn't lead to useful error message
- Time series .tsv file entries in wrong columns sometimes
Web API class changes
These changes relate to 2D calculations.
You may notice a few classes and properties relating to 3D calculations. These are for internal use only at the moment and are for developing the 3D calculation (coming soon!). So please ignore them for now.
EnergyCalculationInputs class
SolarPositions
property added (optional)- Allows you to specify your own solar positions. Usually left empty so that the calculation automatically calculates them.
PVPlant class
TrackerSystems
property added (required now for tracker plants)Important
This is the new way to define tracker systems and should be used going forward. Please change any existing code you have and start to use TrackerSystems for tracker plants.
Layout class
TransmissionFactor
,BifacialShadeLossFactor
,BifacialMismatchLossFactor
deprecated properties- These will be deprecated from the
Layout
class. - They have been moved to the
MountingTypeSpecification
class. - Please change code to use them there.
- For this release they are in both places (the
MountingTypeSpecification
property, if set, will take precedence), but in future releases they will only be present in theMountingTypeSpecification
class.
- These will be deprecated from the
TrackerSystemID
property added (required for tracker plants)- Used to reference the
TrackerSystem
to use (if trackers) for theLayout
- Please use this property for tracker plants from now on
- Used to reference the
TerrainAzimuth
andTerrainSlope
properties added (both optional and default to 0)- Defining these you can set the slope of the layout. Set them both to 0 for a horizontal layout.
TrackerSystem class
- New class! Please use this now to define tracker systems.
- Add them to the
PVPlant.TrackerSystems
dictionary (keyed by the trackerSystemID). Then reference them using theLayout.TrackerSystemID
property.
MountingTypeSpecification class
IsBackTracking
,MinRotation
,MaxRotation
deprecated properties- These will be deprecated from the
MountingTypeSpecification
class. - They have been moved to the
TrackerSystem
class. - Please change code to use them there.
- For this release they are usable in both places (the
TrackerSystem
property, if set, will take precedence), but in future releases they will only be present in theTrackerSystem
class.
- These will be deprecated from the
HeightOfTrackerCenterFromGround
property added (optional)- Use to set the height of the tracker center from the ground (if specifying a tracker)
TransmissionFactor
,BifacialShadeLossFactor
,BifacialMismatchLossFactor
properties added- These have been moved from the
Layout
class
- These have been moved from the
EnergyCalculationOptions class
ModelBackRowSeparately
property added (relevant for bifacial plants only) (defaults to true)- If set to 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 set to false, the back row will get the same back-irradiance as any other row in the array.
ModuleMismatchBinWidth
property added (optional: defaults to 0.000001)- The bin width to use for module mismatch (defaults to 0.000001)
ConnectorResistanceBinWidth
property added (optional)- The bin width to use for the connector resistance (optional: defaults to 0.000001)
- 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.
IrradianceBinWidth
property added (optional: defaults to 1 W/m²)- The bin width to use for irradiance
TemperatureBinWidth
property added (optional: defaults to 0.1°C)- The bin width to use for temperature
IvCurveSize
property added (optional: defaults to 500)- The number of points in the IV curve that is calculated
SolarPositions class
- New class. Use with the
EnergyCalculationInputs.SolarPositions
property if you want to specify your own solar positions for the timestamps. Usually letting the calculation calculate the solar position is recommended, unless you wish to try alternative algorithms.
EnumTechnology enum
HIT
option added (Panasonic Heterojunction with Intrinsic Thin-layer technology)
API v.0.2.51 (2 June 2021)
[SF-Core version 0.2.148.0]
The first release of the web API! Support for 2D energy calculations.
The SolarFarmer desktop application can use the ModelChain endpoint of the web API to run 2D calculations for sites.
The ModelChain endpoint is available to be used from other applications and scripts too.