naftiko: 1.0.0-alpha2 info: label: Solcast Solar Forecasting description: Workflow capability for solar energy forecasting and real-time monitoring. Combines live and forecast radiation, PV power, soiling, and grid aggregation data to support energy market bidding, dispatch optimization, and grid management. Used by energy traders, grid operators, and renewable energy portfolio managers. tags: - Solar - Forecasting - PV Power - Grid Management - Energy Market - Renewable Energy - Live Data - Aggregations created: '2026-05-02' modified: '2026-05-06' binds: - namespace: env keys: SOLCAST_API_KEY: SOLCAST_API_KEY capability: consumes: - type: http namespace: solcast baseUri: https://api.solcast.com.au description: Solcast solar irradiance, PV power, weather forecasting, and site management API. authentication: type: bearer token: '{{SOLCAST_API_KEY}}' resources: - name: live-radiation-and-weather path: /data/live/radiation_and_weather description: Real-time satellite-derived solar irradiance and weather data for a location (last 7 days, updated every 5 minutes). operations: - name: get-live-radiation-and-weather method: GET description: Get live irradiance and weather estimated actuals for a lat/lon location. inputParameters: - name: latitude in: query type: number required: true description: Latitude in decimal degrees (-90 to 90, north positive). - name: longitude in: query type: number required: true description: Longitude in decimal degrees (-180 to 180, east positive). - name: output_parameters in: query type: string required: true description: Comma-separated output parameters (e.g., ghi,dni,dhi,air_temp). - name: period in: query type: string required: false description: Time period between data points (ISO 8601, e.g., PT30M). - name: format in: query type: string required: false description: 'Response format: json or csv.' outputRawFormat: json outputParameters: - name: result type: object value: $. - name: live-rooftop-pv-power path: /data/live/rooftop_pv_power description: Live rooftop PV power estimated actuals by location without site registration. operations: - name: get-live-rooftop-pv-power method: GET description: Get live rooftop PV power estimated actuals for a lat/lon location. inputParameters: - name: latitude in: query type: number required: true description: Latitude in decimal degrees. - name: longitude in: query type: number required: true description: Longitude in decimal degrees. - name: capacity in: query type: number required: false description: System capacity in kilowatts. - name: tilt in: query type: number required: false description: Panel tilt angle in degrees. - name: azimuth in: query type: number required: false description: Panel azimuth in degrees. - name: period in: query type: string required: false description: Time period between data points (ISO 8601). - name: format in: query type: string required: false description: 'Response format: json or csv.' outputRawFormat: json outputParameters: - name: result type: object value: $. - name: live-advanced-pv-power path: /data/live/advanced_pv_power description: Live high-specification PV power actuals for a registered PV site. operations: - name: get-live-advanced-pv-power method: GET description: Get live advanced PV power actuals for a registered PV power site. inputParameters: - name: resource_id in: query type: string required: true description: Unique identifier for a registered Solcast PV power site. - name: period in: query type: string required: false description: Time period between data points (ISO 8601). - name: format in: query type: string required: false description: 'Response format: json or csv.' outputRawFormat: json outputParameters: - name: result type: object value: $. - name: live-soiling-kimber path: /data/live/soiling/kimber description: Live hourly soiling loss estimates using the Kimber model. operations: - name: get-live-soiling-kimber method: GET description: Get live soiling loss estimates for a location using the Kimber model. inputParameters: - name: latitude in: query type: number required: true description: Latitude in decimal degrees. - name: longitude in: query type: number required: true description: Longitude in decimal degrees. - name: depo_veloc_pm10 in: query type: number required: false description: Deposition velocity for PM10 particles (m/s). - name: initial_soiling in: query type: number required: false description: Initial soiling fraction (0.0 = clean). - name: format in: query type: string required: false description: 'Response format: json or csv.' outputRawFormat: json outputParameters: - name: result type: object value: $. - name: live-soiling-hsu path: /data/live/soiling/hsu description: Live hourly soiling loss estimates using Solcast's HSU model. operations: - name: get-live-soiling-hsu method: GET description: Get live soiling loss estimates for a location using the HSU model. inputParameters: - name: latitude in: query type: number required: true description: Latitude in decimal degrees. - name: longitude in: query type: number required: true description: Longitude in decimal degrees. - name: depo_veloc_pm10 in: query type: number required: false description: Deposition velocity for PM10 particles (m/s). - name: initial_soiling in: query type: number required: false description: Initial soiling fraction (0.0 = clean). - name: format in: query type: string required: false description: 'Response format: json or csv.' outputRawFormat: json outputParameters: - name: result type: object value: $. - name: forecast-radiation-and-weather path: /data/forecast/radiation_and_weather description: Solar irradiance and weather forecasts up to 14 days ahead for a location. operations: - name: get-forecast-radiation-and-weather method: GET description: Get irradiance and weather forecasts up to 14 days ahead for a lat/lon location. inputParameters: - name: latitude in: query type: number required: true description: Latitude in decimal degrees. - name: longitude in: query type: number required: true description: Longitude in decimal degrees. - name: output_parameters in: query type: string required: true description: Comma-separated output parameters. - name: hours in: query type: integer required: false description: Number of forecast hours to retrieve (up to 336 / 14 days). - name: period in: query type: string required: false description: Time period between data points (ISO 8601). - name: format in: query type: string required: false description: 'Response format: json or csv.' outputRawFormat: json outputParameters: - name: result type: object value: $. - name: forecast-rooftop-pv-power path: /data/forecast/rooftop_pv_power description: Rooftop PV power forecasts up to 14 days ahead by location. operations: - name: get-forecast-rooftop-pv-power method: GET description: Get basic rooftop PV power forecasts up to 14 days ahead for a lat/lon location. inputParameters: - name: latitude in: query type: number required: true description: Latitude in decimal degrees. - name: longitude in: query type: number required: true description: Longitude in decimal degrees. - name: output_parameters in: query type: string required: true description: Comma-separated output parameters. - name: capacity in: query type: number required: false description: System capacity in kilowatts. - name: tilt in: query type: number required: false description: Panel tilt in degrees. - name: azimuth in: query type: number required: false description: Panel azimuth in degrees. - name: hours in: query type: integer required: false description: Number of forecast hours to retrieve (up to 336). - name: period in: query type: string required: false description: Time period between data points (ISO 8601). - name: format in: query type: string required: false description: 'Response format: json or csv.' outputRawFormat: json outputParameters: - name: result type: object value: $. - name: forecast-advanced-pv-power path: /data/forecast/advanced_pv_power description: Advanced PV power forecasts up to 14 days ahead for a registered site. operations: - name: get-forecast-advanced-pv-power method: GET description: Get advanced PV power forecasts up to 14 days ahead for a registered site. inputParameters: - name: resource_id in: query type: string required: true description: Unique identifier for a registered Solcast PV power site. - name: hours in: query type: integer required: false description: Number of forecast hours to retrieve (up to 336). - name: period in: query type: string required: false description: Time period between data points (ISO 8601). - name: format in: query type: string required: false description: 'Response format: json or csv.' outputRawFormat: json outputParameters: - name: result type: object value: $. - name: forecast-soiling-kimber path: /data/forecast/soiling/kimber description: Hourly soiling loss forecasts using the Kimber model. operations: - name: get-forecast-soiling-kimber method: GET description: Get soiling loss forecasts for a location using the Kimber model. inputParameters: - name: latitude in: query type: number required: true description: Latitude in decimal degrees. - name: longitude in: query type: number required: true description: Longitude in decimal degrees. - name: depo_veloc_pm10 in: query type: number required: false description: Deposition velocity for PM10 particles (m/s). - name: initial_soiling in: query type: number required: false description: Initial soiling fraction. - name: format in: query type: string required: false description: 'Response format: json or csv.' outputRawFormat: json outputParameters: - name: result type: object value: $. - name: forecast-soiling-hsu path: /data/forecast/soiling/hsu description: Hourly soiling loss forecasts using the HSU model. operations: - name: get-forecast-soiling-hsu method: GET description: Get soiling loss forecasts for a location using the HSU model. inputParameters: - name: latitude in: query type: number required: true description: Latitude in decimal degrees. - name: longitude in: query type: number required: true description: Longitude in decimal degrees. - name: depo_veloc_pm10 in: query type: number required: false description: Deposition velocity for PM10 particles (m/s). - name: initial_soiling in: query type: number required: false description: Initial soiling fraction. - name: format in: query type: string required: false description: 'Response format: json or csv.' outputRawFormat: json outputParameters: - name: result type: object value: $. - name: forecast-aggregations path: /data/forecast/aggregations description: Forecast aggregation data for grid collections or sub-aggregations. operations: - name: get-forecast-aggregations method: GET description: Get forecast aggregation data for a grid collection or sub-aggregation. inputParameters: - name: collection_id in: query type: string required: true description: Unique identifier for the grid aggregation collection. - name: aggregation_id in: query type: string required: false description: Unique identifier for a sub-aggregation within the collection. - name: period in: query type: string required: false description: Time period between data points (ISO 8601). - name: format in: query type: string required: false description: 'Response format: json or csv.' outputRawFormat: json outputParameters: - name: result type: object value: $. - name: historic-radiation-and-weather path: /data/historic/radiation_and_weather description: Historical irradiance and weather data from 2007 to 7 days before present. operations: - name: get-historic-radiation-and-weather method: GET description: Get historical irradiance and weather for up to 31 days at a time from 2007 to present minus 7 days. inputParameters: - name: latitude in: query type: number required: true description: Latitude in decimal degrees. - name: longitude in: query type: number required: true description: Longitude in decimal degrees. - name: start in: query type: string required: true description: Start of requested period (ISO 8601 date or datetime). - name: end in: query type: string required: false description: End of requested period (mutually exclusive with duration). - name: duration in: query type: string required: false description: ISO 8601 duration within 31 days (mutually exclusive with end). - name: output_parameters in: query type: string required: false description: Comma-separated output parameters. - name: period in: query type: string required: false description: Time period between data points (ISO 8601). - name: format in: query type: string required: false description: 'Response format: json or csv.' outputRawFormat: json outputParameters: - name: result type: object value: $. - name: historic-rooftop-pv-power path: /data/historic/rooftop_pv_power description: Historical rooftop PV power data from 2007 to 7 days before present. operations: - name: get-historic-rooftop-pv-power method: GET description: Get historical rooftop PV power estimated actuals for a location. inputParameters: - name: latitude in: query type: number required: true description: Latitude in decimal degrees. - name: longitude in: query type: number required: true description: Longitude in decimal degrees. - name: start in: query type: string required: true description: Start of requested period (ISO 8601). - name: end in: query type: string required: false description: End of requested period (mutually exclusive with duration). - name: duration in: query type: string required: false description: ISO 8601 duration within 31 days (mutually exclusive with end). - name: period in: query type: string required: false description: Time period between data points (ISO 8601). - name: format in: query type: string required: false description: 'Response format: json or csv.' outputRawFormat: json outputParameters: - name: result type: object value: $. - name: historic-advanced-pv-power path: /data/historic/advanced_pv_power description: Historical advanced PV power data for a registered site from 2007 to present minus 7 days. operations: - name: get-historic-advanced-pv-power method: GET description: Get historical advanced PV power estimated actuals for a registered site. inputParameters: - name: resource_id in: query type: string required: true description: Unique identifier for a registered Solcast PV power site. - name: start in: query type: string required: true description: Start of requested period (ISO 8601). - name: end in: query type: string required: false description: End of requested period (mutually exclusive with duration). - name: duration in: query type: string required: false description: ISO 8601 duration within 31 days (mutually exclusive with end). - name: period in: query type: string required: false description: Time period between data points (ISO 8601). - name: format in: query type: string required: false description: 'Response format: json or csv.' outputRawFormat: json outputParameters: - name: result type: object value: $. - name: historic-soiling-kimber path: /data/historic/soiling/kimber description: Historical hourly soiling loss estimates using the Kimber model. operations: - name: get-historic-soiling-kimber method: GET description: Get historical soiling loss estimates using the Kimber model. inputParameters: - name: latitude in: query type: number required: true description: Latitude in decimal degrees. - name: longitude in: query type: number required: true description: Longitude in decimal degrees. - name: start in: query type: string required: true description: Start of requested period (ISO 8601). - name: end in: query type: string required: false description: End of requested period. - name: duration in: query type: string required: false description: ISO 8601 duration within 31 days. - name: depo_veloc_pm10 in: query type: number required: false description: Deposition velocity for PM10 particles (m/s). - name: initial_soiling in: query type: number required: false description: Initial soiling fraction. - name: format in: query type: string required: false description: 'Response format: json or csv.' outputRawFormat: json outputParameters: - name: result type: object value: $. - name: historic-soiling-hsu path: /data/historic/soiling/hsu description: Historical hourly soiling loss estimates using the HSU model. operations: - name: get-historic-soiling-hsu method: GET description: Get historical soiling loss estimates using the HSU model. inputParameters: - name: latitude in: query type: number required: true description: Latitude in decimal degrees. - name: longitude in: query type: number required: true description: Longitude in decimal degrees. - name: start in: query type: string required: true description: Start of requested period (ISO 8601). - name: end in: query type: string required: false description: End of requested period. - name: duration in: query type: string required: false description: ISO 8601 duration within 31 days. - name: depo_veloc_pm10 in: query type: number required: false description: Deposition velocity for PM10 particles (m/s). - name: initial_soiling in: query type: number required: false description: Initial soiling fraction. - name: format in: query type: string required: false description: 'Response format: json or csv.' outputRawFormat: json outputParameters: - name: result type: object value: $. - name: tmy-radiation-and-weather path: /data/tmy/radiation_and_weather description: Typical Meteorological Year irradiance and weather data (2007-2023). operations: - name: get-tmy-radiation-and-weather method: GET description: Get TMY irradiance and weather data for a location (computed from 2007-2023). inputParameters: - name: latitude in: query type: number required: true description: Latitude in decimal degrees. - name: longitude in: query type: number required: true description: Longitude in decimal degrees. - name: output_parameters in: query type: string required: false description: Comma-separated output parameters. - name: period in: query type: string required: false description: Time period between data points (ISO 8601). - name: format in: query type: string required: false description: 'Response format: json or csv.' outputRawFormat: json outputParameters: - name: result type: object value: $. - name: tmy-rooftop-pv-power path: /data/tmy/rooftop_pv_power description: Typical Meteorological Year rooftop PV power data (2007-2023). operations: - name: get-tmy-rooftop-pv-power method: GET description: Get TMY rooftop PV power data for a location (computed from 2007-2023). inputParameters: - name: latitude in: query type: number required: true description: Latitude in decimal degrees. - name: longitude in: query type: number required: true description: Longitude in decimal degrees. - name: capacity in: query type: number required: false description: System capacity in kilowatts. - name: tilt in: query type: number required: false description: Panel tilt in degrees. - name: azimuth in: query type: number required: false description: Panel azimuth in degrees. - name: period in: query type: string required: false description: Time period between data points (ISO 8601). - name: format in: query type: string required: false description: 'Response format: json or csv.' outputRawFormat: json outputParameters: - name: result type: object value: $. - name: live-aggregations path: /data/live/aggregations description: Live aggregation data for grid collections or sub-aggregations. operations: - name: get-live-aggregations method: GET description: Get live aggregation data for a grid collection or sub-aggregation. inputParameters: - name: collection_id in: query type: string required: true description: Unique identifier for the grid aggregation collection. - name: aggregation_id in: query type: string required: false description: Unique identifier for a sub-aggregation within the collection. - name: period in: query type: string required: false description: Time period between data points (ISO 8601). - name: format in: query type: string required: false description: 'Response format: json or csv.' outputRawFormat: json outputParameters: - name: result type: object value: $. - name: pv-power-sites path: /resources/pv_power_sites description: List all registered PV power sites for the authenticated account. operations: - name: list-pv-power-sites method: GET description: List all registered Solcast PV power sites. inputParameters: - name: format in: query type: string required: false description: 'Response format: json or csv.' outputRawFormat: json outputParameters: - name: result type: object value: $. - name: pv-power-site path: /resources/pv_power_site description: CRUD management of individual registered PV power sites. operations: - name: get-pv-power-site method: GET description: Get specifications and metadata for a specific registered PV power site. inputParameters: - name: resource_id in: query type: string required: true description: Unique identifier for the PV power site. - name: format in: query type: string required: false description: 'Response format: json or csv.' outputRawFormat: json outputParameters: - name: result type: object value: $. - name: create-pv-power-site method: POST description: Create a new PV power site for use with the advanced PV power model. inputParameters: [] outputRawFormat: json outputParameters: - name: result type: object value: $. body: type: json data: name: '{{tools.name}}' latitude: '{{tools.latitude}}' longitude: '{{tools.longitude}}' capacity: '{{tools.capacity}}' tilt: '{{tools.tilt}}' azimuth: '{{tools.azimuth}}' - name: patch-pv-power-site method: PATCH description: Partially update specifications of an existing PV power site. inputParameters: - name: resource_id in: query type: string required: true description: Unique identifier for the PV power site to update. outputRawFormat: json outputParameters: - name: result type: object value: $. body: type: json data: name: '{{tools.name}}' capacity: '{{tools.capacity}}' - name: update-pv-power-site method: PUT description: Fully overwrite specifications of an existing PV power site. inputParameters: - name: resource_id in: query type: string required: true description: Unique identifier for the PV power site to overwrite. outputRawFormat: json outputParameters: - name: result type: object value: $. body: type: json data: name: '{{tools.name}}' latitude: '{{tools.latitude}}' longitude: '{{tools.longitude}}' capacity: '{{tools.capacity}}' - name: delete-pv-power-site method: DELETE description: Permanently delete a registered PV power site. inputParameters: - name: resource_id in: query type: string required: true description: Unique identifier for the PV power site to delete. outputRawFormat: json outputParameters: - name: result type: object value: $. exposes: - type: rest port: 8080 namespace: solar-forecasting-api description: Unified REST API for solar energy forecasting and real-time monitoring. resources: - path: /v1/live/radiation-and-weather name: live-radiation-and-weather description: Real-time irradiance and weather for a location. operations: - method: GET name: get-live-radiation-and-weather description: Get live solar irradiance and weather data for a lat/lon location. call: solcast.get-live-radiation-and-weather with: latitude: rest.latitude longitude: rest.longitude output_parameters: rest.output_parameters outputParameters: - type: object mapping: $. - path: /v1/live/rooftop-pv-power name: live-rooftop-pv-power description: Live rooftop PV power actuals. operations: - method: GET name: get-live-rooftop-pv-power description: Get live rooftop PV power estimated actuals for a location. call: solcast.get-live-rooftop-pv-power with: latitude: rest.latitude longitude: rest.longitude outputParameters: - type: object mapping: $. - path: /v1/live/advanced-pv-power name: live-advanced-pv-power description: Live advanced PV power actuals for registered sites. operations: - method: GET name: get-live-advanced-pv-power description: Get live advanced PV power actuals for a registered site. call: solcast.get-live-advanced-pv-power with: resource_id: rest.resource_id outputParameters: - type: object mapping: $. - path: /v1/live/aggregations name: live-aggregations description: Live grid aggregation data for portfolios and grid operators. operations: - method: GET name: get-live-aggregations description: Get live aggregation data for a grid collection or sub-aggregation. call: solcast.get-live-aggregations with: collection_id: rest.collection_id aggregation_id: rest.aggregation_id outputParameters: - type: object mapping: $. - path: /v1/live/soiling name: live-soiling description: Live soiling loss data using Kimber or HSU models. operations: - method: GET name: get-live-soiling-kimber description: Get live soiling loss using the Kimber model. call: solcast.get-live-soiling-kimber with: latitude: rest.latitude longitude: rest.longitude outputParameters: - type: object mapping: $. - path: /v1/forecast/radiation-and-weather name: forecast-radiation-and-weather description: Forecast irradiance and weather up to 14 days ahead. operations: - method: GET name: get-forecast-radiation-and-weather description: Get irradiance and weather forecasts up to 14 days ahead. call: solcast.get-forecast-radiation-and-weather with: latitude: rest.latitude longitude: rest.longitude output_parameters: rest.output_parameters outputParameters: - type: object mapping: $. - path: /v1/forecast/rooftop-pv-power name: forecast-rooftop-pv-power description: Rooftop PV power forecasts up to 14 days ahead. operations: - method: GET name: get-forecast-rooftop-pv-power description: Get rooftop PV power forecasts up to 14 days ahead. call: solcast.get-forecast-rooftop-pv-power with: latitude: rest.latitude longitude: rest.longitude output_parameters: rest.output_parameters outputParameters: - type: object mapping: $. - path: /v1/forecast/advanced-pv-power name: forecast-advanced-pv-power description: Advanced PV power forecasts up to 14 days ahead for registered sites. operations: - method: GET name: get-forecast-advanced-pv-power description: Get advanced PV power forecasts for a registered site. call: solcast.get-forecast-advanced-pv-power with: resource_id: rest.resource_id outputParameters: - type: object mapping: $. - path: /v1/forecast/aggregations name: forecast-aggregations description: Forecast grid aggregation data for portfolio and grid management. operations: - method: GET name: get-forecast-aggregations description: Get forecast aggregation data for a grid collection. call: solcast.get-forecast-aggregations with: collection_id: rest.collection_id aggregation_id: rest.aggregation_id outputParameters: - type: object mapping: $. - path: /v1/forecast/soiling name: forecast-soiling description: Soiling loss forecasts for maintenance planning. operations: - method: GET name: get-forecast-soiling-kimber description: Get soiling loss forecasts using the Kimber model. call: solcast.get-forecast-soiling-kimber with: latitude: rest.latitude longitude: rest.longitude outputParameters: - type: object mapping: $. - type: mcp port: 9080 namespace: solar-forecasting-mcp transport: http description: MCP server for AI-assisted solar energy forecasting and real-time monitoring. tools: - name: get-live-radiation-and-weather description: Get live solar irradiance and weather data for any lat/lon location (last 7 days, updated every 5 minutes). Use for real-time solar resource monitoring. hints: readOnly: true openWorld: true call: solcast.get-live-radiation-and-weather with: latitude: tools.latitude longitude: tools.longitude output_parameters: tools.output_parameters outputParameters: - type: object mapping: $. - name: get-live-rooftop-pv-power description: Get live rooftop PV power estimated actuals for a location. No site registration required. hints: readOnly: true openWorld: true call: solcast.get-live-rooftop-pv-power with: latitude: tools.latitude longitude: tools.longitude outputParameters: - type: object mapping: $. - name: get-live-advanced-pv-power description: Get live advanced PV power actuals for a registered Solcast site (resource_id required). hints: readOnly: true openWorld: true call: solcast.get-live-advanced-pv-power with: resource_id: tools.resource_id outputParameters: - type: object mapping: $. - name: get-live-aggregations description: Get live aggregated PV generation data for a grid portfolio or collection. Used for grid management and large-scale monitoring. hints: readOnly: true openWorld: true call: solcast.get-live-aggregations with: collection_id: tools.collection_id aggregation_id: tools.aggregation_id outputParameters: - type: object mapping: $. - name: get-live-soiling-kimber description: Get live soiling loss estimates using the Kimber model. Use for monitoring panel cleanliness and scheduling cleaning. hints: readOnly: true openWorld: true call: solcast.get-live-soiling-kimber with: latitude: tools.latitude longitude: tools.longitude outputParameters: - type: object mapping: $. - name: get-live-soiling-hsu description: Get live soiling loss estimates using Solcast's HSU model. hints: readOnly: true openWorld: true call: solcast.get-live-soiling-hsu with: latitude: tools.latitude longitude: tools.longitude outputParameters: - type: object mapping: $. - name: get-forecast-radiation-and-weather description: Get solar irradiance and weather forecasts up to 14 days ahead. Use for energy market bidding and dispatch planning. hints: readOnly: true openWorld: true call: solcast.get-forecast-radiation-and-weather with: latitude: tools.latitude longitude: tools.longitude output_parameters: tools.output_parameters outputParameters: - type: object mapping: $. - name: get-forecast-rooftop-pv-power description: Get rooftop PV power forecasts up to 14 days ahead. No site registration needed. hints: readOnly: true openWorld: true call: solcast.get-forecast-rooftop-pv-power with: latitude: tools.latitude longitude: tools.longitude output_parameters: tools.output_parameters outputParameters: - type: object mapping: $. - name: get-forecast-advanced-pv-power description: Get high-specification PV power forecasts up to 14 days ahead for a registered site. hints: readOnly: true openWorld: true call: solcast.get-forecast-advanced-pv-power with: resource_id: tools.resource_id outputParameters: - type: object mapping: $. - name: get-forecast-aggregations description: Get forecast aggregated PV generation data for a grid portfolio or collection up to 7 days ahead. hints: readOnly: true openWorld: true call: solcast.get-forecast-aggregations with: collection_id: tools.collection_id aggregation_id: tools.aggregation_id outputParameters: - type: object mapping: $. - name: get-forecast-soiling-kimber description: Get soiling loss forecasts using the Kimber model. Use for planning panel cleaning schedules. hints: readOnly: true openWorld: true call: solcast.get-forecast-soiling-kimber with: latitude: tools.latitude longitude: tools.longitude outputParameters: - type: object mapping: $. - name: get-forecast-soiling-hsu description: Get soiling loss forecasts using the HSU model. hints: readOnly: true openWorld: true call: solcast.get-forecast-soiling-hsu with: latitude: tools.latitude longitude: tools.longitude outputParameters: - type: object mapping: $.