Skip to main content

Plant, Settings, Output, and Weather

Plant Conditional Rules

  • limitAtInverters is only valid when poiLimitMW is set.
  • contAuxLosskW requires contAuxLossThreshkW.
  • propAuxLossWperkW requires propAuxLossThreshkW.

Settings Highlights

FieldPurpose
ignoreSpectralCorrectionDisables default spectral correction path
timeZoneOverrideOverrides location timezone during simulation
advancedNearShadingLossesEnables advanced near-shading handling where supported
windStowActivates wind stow behavior for tracker simulations
irradianceOptimizationEnables diffuse-condition tracker optimization
dcInputPowerSharingPolicyControls multi-MPPT sharing policy

Output Rules

  • fullTimeSeries=true requires timeSeries=true.
  • blockResults controls block-level time-series visibility.
  • blockResults=true cannot be combined with fullTimeSeries=true.
  • blockIndex is a zero-based block filter for blockTimeSeries.
  • blockIndex requires either blockResults=true or lossBreakdownTimestamps=true.
  • lossBreakdownTimestamps=true is a top-level flag and implies block-level results are surfaced.
  • object-shaped lossBreakdownTimestamps values are rejected on the public API.
  • irradianceLossDetail=true adds losses.irradianceLossDetail to the completed response, even when fullOutput=false.
  • fullOutput=true enables larger diagnostics sections.
  • For async queued requests, persistence behavior is controlled server-side.

Weather Array Rules (weatherData)

  • Required series: ghi, dhi, windSpeed, temperature.
  • All provided arrays must have equal length.
  • date is required unless exactly 8760 records are provided.
  • Maximum validated length is 100000 timestamps.

Example Root with Plant and Settings

{
  "schemaVersion": "3.1.0",
  "locationId": 1,
  "blocks": [{"inverterId": 1, "moduleId": 10, "array": {"stringCount": 10, "stringLength": 28}, "layout": {"arrayType": "fixed", "gcr": 0.4, "azimuth": 180, "axisTilt": 0, "tilt": 25}, "shading": {"farShading": false, "nearShading": "unlimited", "electricalImpact": false}, "losses": {"moduleQuality": 0.0, "mismatch": 0.02, "dcohmic": 0.01, "lid": 0.01, "stringVoltageMismatch": 0.01, "invAuxLoss": true, "uC": 25, "uV": 1.2}, "acSystem": {"numberOfInverters": 1, "losses": {"acohmicLoss": 0.01, "transformer": {"ironLoss": 0.005, "copperLoss": 0.005}}}, "albedo": {"jan": 0.2, "feb": 0.2, "mar": 0.2, "apr": 0.2, "may": 0.2, "jun": 0.2, "jul": 0.2, "aug": 0.2, "sep": 0.2, "oct": 0.2, "nov": 0.2, "dec": 0.2}}],
  "plant": {
    "poiLimitMW": 80,
    "limitAtInverters": true,
    "contAuxLosskW": 100,
    "contAuxLossThreshkW": 500,
    "powerFactor": {"jan": 1, "feb": 1, "mar": 1, "apr": 1, "may": 1, "jun": 1, "jul": 1, "aug": 1, "sep": 1, "oct": 1, "nov": 1, "dec": 1}
  },
  "settings": {"timeZoneOverride": -7, "irradianceOptimization": true, "dcInputPowerSharingPolicy": "string_count_weighted"},
  "output": {
    "save": false,
    "fullOutput": false,
    "timeSeries": true,
    "fullTimeSeries": false,
    "blockResults": true,
    "blockIndex": 0,
    "lossBreakdownTimestamps": true,
    "irradianceLossDetail": true
  }
}

Schema-Assisted Tables

  • Plant fields: packages/docs/energy-models/_generated/plant.mdx
  • Settings fields: packages/docs/energy-models/_generated/settings.mdx
  • Output fields: packages/docs/energy-models/_generated/output.mdx
  • WeatherDataArrayInput fields: packages/docs/energy-models/_generated/weather-data-array-input.mdx