Forecast.solar odd prediction curve

I understand that the forecast.solar integration is just a forecast. It is not expected to be accurate or precise. However, what I’m seeing is just irrational.

I live in Denver, CO and I have 20 panels that total 8kW. They are exclusively on my due west facing roof with a 20 degree pitch. My microinverters max out at 6.98kW.

In general, I’m expecting to see a “bell curve” for the solar forecast. I expect that the direction an tilt of my panels should skew this bell curve to the right and make the approach more gradual and the drop off quicker. I also expect the forecast to often be a different shape due to the weather.

However, I’m typically seeing much higher number than expected, and a much different shape. It starts off like a bell curve, then has a small dip followed by a cliff and then nothing.

Here is generally what I see every day, followed by the tomorrow graph (the forum would only allow me to post one photo, so I had to combine the images):

While the curve is matching fine right now, I will not exceed 3.7kW today at the peak. (I just got permission to operate in early December and 3.7kW is the peak I have seen so far. Not expecting to see anything higher until I am further away from the winter solstice.)

The forecast looks even stranger tomorrow.

Below I will paste the spit out of my configuration. Maybe this is just weird data from the forecast.solar data? Maybe I should not be so honest with the direction and declination?

Again, I’m not trying to get an unreasonable or magical forecast, but it should be within the realm of my geography and physics.

{
“home_assistant”: {
“installation_type”: “Home Assistant OS”,
“version”: “2024.1.1”,
“dev”: false,
“hassio”: true,
“virtualenv”: false,
“python_version”: “3.11.6”,
“docker”: true,
“arch”: “x86_64”,
“timezone”: “America/Denver”,
“os_name”: “Linux”,
“os_version”: “6.1.70-haos”,
“supervisor”: “2023.12.0”,
“host_os”: “Home Assistant OS 11.3”,
“docker_version”: “24.0.7”,
“chassis”: “embedded”,
“run_as_root”: true
},
“custom_components”: {},
“integration_manifest”: {
“domain”: “forecast_solar”,
“name”: “Forecast.Solar”,
“codeowners”: [
@klaasnicolaas”,
@frenck
],
“config_flow”: true,
“documentation”: “Forecast.Solar - Home Assistant”,
“integration_type”: “service”,
“iot_class”: “cloud_polling”,
“quality_scale”: “platinum”,
“requirements”: [
“forecast-solar==3.0.0”
],
“is_built_in”: true
},
“data”: {
“entry”: {
“title”: “Home”,
“data”: {
“latitude”: “REDACTED”,
“longitude”: “REDACTED
},
“options”: {
“declination”: 20,
“azimuth”: 270,
“modules_power”: 8000,
“damping_morning”: 0.0,
“damping_evening”: 0.0,
“inverter_size”: 6980,
“api_key”: null
}
},
“data”: {
“energy_production_today”: 26267,
“energy_production_today_remaining”: 17603,
“energy_production_tomorrow”: 21742,
“energy_current_hour”: 4160,
“power_production_now”: 4651,
“watts”: {
“2024-01-05T07:21:19-07:00”: 0,
“2024-01-05T08:00:00-07:00”: 210,
“2024-01-05T09:00:00-07:00”: 689,
“2024-01-05T10:00:00-07:00”: 1806,
“2024-01-05T11:00:00-07:00”: 3669,
“2024-01-05T12:00:00-07:00”: 4651,
“2024-01-05T13:00:00-07:00”: 4646,
“2024-01-05T14:00:00-07:00”: 4396,
“2024-01-05T15:00:00-07:00”: 3970,
“2024-01-05T16:00:00-07:00”: 2482,
“2024-01-05T16:49:30-07:00”: 0,
“2024-01-06T07:21:17-07:00”: 0,
“2024-01-06T08:00:00-07:00”: 278,
“2024-01-06T09:00:00-07:00”: 790,
“2024-01-06T10:00:00-07:00”: 1891,
“2024-01-06T11:00:00-07:00”: 2227,
“2024-01-06T12:00:00-07:00”: 2351,
“2024-01-06T13:00:00-07:00”: 3668,
“2024-01-06T14:00:00-07:00”: 4080,
“2024-01-06T15:00:00-07:00”: 4074,
“2024-01-06T16:00:00-07:00”: 2641,
“2024-01-06T16:50:26-07:00”: 0
},
“wh_days”: {
“2024-01-05T00:00:00”: 26267,
“2024-01-06T00:00:00”: 21742
},
“wh_period”: {
“2024-01-05T07:21:19-07:00”: 0,
“2024-01-05T08:00:00-07:00”: 68,
“2024-01-05T09:00:00-07:00”: 450,
“2024-01-05T10:00:00-07:00”: 1248,
“2024-01-05T11:00:00-07:00”: 2738,
“2024-01-05T12:00:00-07:00”: 4160,
“2024-01-05T13:00:00-07:00”: 4649,
“2024-01-05T14:00:00-07:00”: 4521,
“2024-01-05T15:00:00-07:00”: 4183,
“2024-01-05T16:00:00-07:00”: 3226,
“2024-01-05T16:49:30-07:00”: 1024,
“2024-01-06T07:21:17-07:00”: 0,
“2024-01-06T08:00:00-07:00”: 90,
“2024-01-06T09:00:00-07:00”: 534,
“2024-01-06T10:00:00-07:00”: 1341,
“2024-01-06T11:00:00-07:00”: 2059,
“2024-01-06T12:00:00-07:00”: 2289,
“2024-01-06T13:00:00-07:00”: 3010,
“2024-01-06T14:00:00-07:00”: 3874,
“2024-01-06T15:00:00-07:00”: 4077,
“2024-01-06T16:00:00-07:00”: 3358,
“2024-01-06T16:50:26-07:00”: 1110
}
},
“account”: {
“type”: “public”,
“rate_limit”: 12,
“timezone”: “America/Denver”
}
}
}

After playing with the API helper on the forecast.solar website using the “swagger ui”, I was able to produce forecasts that better matched my actual. This required me to input my max expected wattage in June rather than the wattage rating of my panels. So instead of 400W x 20 = 8000W, I put in 5650W. Further, I have added heavy damping of 1 for the morning and evening. I’m currently almost at my rate limit for the day so I will try more later.