Photovoltaics Surface - [source code]

Use this component to calculate amount of electrical energy that can be produced by a surface if a certain percentage of it is covered with Photovoltaics. Component based on NREL PVWatts v1 fixed tilt calculator for crystalline silicon (c-Si) and thin-film photovoltaics. - Sources: -


  • epwFile [Required]
    Input .epw file path by using the "File Path" parameter, or Ladybug's "Open EPW And STAT Weather Files" component.
  • PVsurface [Required]
  • Input planar Grasshopper/Rhino Surface (not a polysurface) on which the PV modules will be applied. If you have a polysurface, explode it (using "Deconstruct Brep" component) and then feed its Faces(F) output to _PVsurface. Surface normal should be faced towards the sun.
    • Or create the Surface based on initial PV system size by using "PV SWH system size" component.
  • PVsurfacePercent [Optional]
    The percentage of surface which will be used for PV modules (range 0-100). - Some countries and states, have local codes which limit the portion of the roof, which can be covered by crystalline silicon modules. For example, this may include having setbacks(distances) of approximatelly 90cm from side and top edges of a roof, as a fire safety regulation. - If not supplied, default value of 100 (all surface area will be covered in PV modules) is used. - In percent (%).
  • DCtoACderateFactor [Optional]
    Factor which accounts for various locations and instances in a PV system where power is lost from DC system nameplate to AC power. It ranges from 0 to 1. It can be calculated with Ladybug's "DC to AC derate factor" component. - If not supplied, default value of 0.85 will be used.
  • PVmoduleSettings [Optional]
    A list of PV module settings. Use the "Simplified Photovoltaics Module" or "Import Sandia Photovoltaics Module" or "Import CEC Photovoltaics Module" components to generate them. - If not supplied, the following PV module settings will be used by default:
    • module material: crystalline silicon (c-Si)
    • moduleType: Close (flush) roof mount
    • moduleEfficiency: 15 %
    • temperatureCoefficient: -0.5 %/C
    • moduleActiveAreaPercent: 90 %
  • north [Optional]
    Input a vector to be used as a true North direction, or a number between 0 and 360 that represents the clockwise degrees off from the Y-axis. - If not supplied, default North direction will be set to the Y-axis (0 degrees).
  • albedo [Optional]
    A list of 8767 (with header) or 8760 (without the header) albedo values for each hour during a year. Albedo (or Reflection coefficient) is an average ratio of the global incident solar radiation reflected from the area surrounding the PV surface. It ranges from 0 to 1. - It depends on the time of the year/day, surface type, temperature, vegetation, presence of water, ice and snow etc. - If no list supplied, default value of 0.20 will be used, corrected(increased) for the presence of snow (if any). - Unitless.
  • annualHourlyData [Optional]
    An optional list of hourly data from Ladybug's "Import epw" component (e.g. dryBulbTemperature), which will be used for "conditionalStatement_".
  • conditionalStatement [Optional]
    This input allows users to calculate the Photovoltaics surface component results only for those annualHourlyData values which fit specific conditions or criteria. To use this input correctly, hourly data, such as dryBulbTemperature or windSpeed, must be plugged into the "annualHourlyData" input. The conditional statement input here should be a valid condition statement in Python, such as "a>25" or "b<3" (without="" the="" quotation="" marks).="" conditionalstatement_="" accepts="" "and"="" and="" "or"="" operators.="" to="" visualize="" hourly="" data,="" english="" letters="" should="" be="" used="" as="" variables,="" each="" letter="" alphabetically="" corresponds="" of="" lists="" (in="" their="" respective="" order):="" "a"="" always="" represents="" 1st="" list,="" "b"="" 2nd="" etc.="" -="" for="" example,="" if="" you="" have="" an="" drybulbtemperature="" connected="" first="" windspeed="" second="" list="" (both="" annualhourlydata_="" input),="" want="" plot="" data="" time="" period="" when="" temperature="" is="" between="" 18c="" 23c,="" larger="" than="" 3m="" s,="" written="" "183" (without the quotation marks).
  • runIt [Required]


  • readMe!
  • ACenergyPerHour
    AC power output for each hour during a year. - In kWh.
  • ACenergyPerYear
    Total AC power output for a whole year. - In kWh.
  • averageDailyACenergyPerYear
    An average AC power output per day for a whole year. - In kWh/day.
  • DCenergyPerHour
    DC power output of the PV array for each hour during a year. - In kWh.
  • totalRadiationPerHour
    Total Incident POA (Plane of array) irradiance for each hour during a year. - In kWh/m2.
  • cellTemperaturePerHour
    Cell temperature for each hour during year. - In C.
  • PVsurfaceTiltAngle
    The angle from horizontal of the inclination of the PVsurface. Example: 0 = horizontal, 90 = vertical. It ranges from 0-180. - In degrees.
  • PVsurfaceAzimuthAngle
    The orientation angle (clockwise from the true north) of the PVsurface normal vector. It ranges from 0-360. - In degrees.
  • systemSize
    DC rating of the PV system. - In kW.

Check Hydra Example Files for Photovoltaics Surface

results matching ""

    No results matching ""