Este dashboard estima geração horária de painéis solares a partir de radiação de onda curta e temperatura do ar de modelos meteorológicos. Ele começa com uma configuração residencial típica para que ninguém precise preencher um formulário completo de projeto fotovoltaico: Denver, sistema de 6 kW DC, aproximação de inclinação fixa, 14% de perdas totais do sistema fotovoltaico (PV), 96% de eficiência do inversor e relação DC/AC de 1.2.
A previsão usa GFS, HRRR ou NBM pelo endpoint padrão do GribStream /api/v2/[dataset]/timeseries. A variável meteorológica principal é DSWRF em superfície, o campo da NOAA de fluxo descendente de radiação de onda curta, combinado com temperatura do ar a 2 m para uma correção simples por temperatura dos painéis. O dashboard mantém o horizonte em 24 ou 36 horas para que as linhas retornadas sejam horárias nos modelos disponíveis.
O cálculo é intencionalmente leve. Ele ajuda a comparar padrões de produção movidos pelo clima, avaliar rapidamente uma instalação proposta e mostrar como expressions do GribStream transformam campos de previsão em métricas de aplicação. Não é um modelo fotovoltaico adequado para decisões financeiras e não substitui PVWatts, SAM, modelagem de sombra do local, medições de sujeira nos painéis nem um modelo profissional de irradiância no plano do arranjo.
O controle de geometria do arranjo é deliberadamente conservador. Um cálculo real de inclinação e azimute precisa de posição solar, irradiância normal direta, irradiância horizontal difusa, albedo, orientação dos módulos, geometria das fileiras e sombra. Este dashboard só pede DSWRF e temperatura a 2 m do GribStream, então expõe a premissa de geometria como um multiplicador explícito em vez de esconder falsa precisão atrás de um campo de inclinação.
O dashboard calcula todos os campos derivados com GribStream expressions. Com os controles padrão, as equações são:
temp_c = temp_k - 273.15poa_wm2 = ghi_wm2 * 1.0800cell_temp_c = temp_c + (poa_wm2 / 800.0) * 25.0000temperature_factor = max(0, 1 + (-0.3500 / 100) * (cell_temp_c - 25.0))loss_factor = max(0, 1 - 14.0000 / 100)dc_power_kw = 6.0000 * poa_wm2 / 1000.0 * temperature_factor * loss_factorac_limit_kw = 6.0000 / 1.2000ac_power_kw = min(dc_power_kw * 96.0000 / 100, ac_limit_kw)hourly_energy_kwh = ac_power_kw, porque o dashboard limita a consulta a linhas horárias.As constantes mais importantes são:
6.0000 é a potência DC padrão do sistema PV em kW. Esse valor é editável pelo usuário.1.0800 é o multiplicador padrão da geometria dos módulos: uma aproximação de inclinação fixa aplicada ao DSWRF horizontal. Outros cenários expostos usam 1.0000, 0.9300 e 1.1800.800.0 W/m2 e 25.0000 °C formam a estimativa simples de aumento da temperatura da célula. São valores internos, não um modelo térmico calibrado ao local.-0.3500 é o coeficiente interno de temperatura de potência em percentual por °C, aplicado em relação à temperatura de referência de 25.0 °C.14.0000 é o percentual padrão de perdas totais não meteorológicas. Esse valor é selecionável pelo usuário.1.2000 é a relação DC/AC padrão, então um sistema de 6 kW DC tem limite AC de 5 kW. Esse valor é selecionável pelo usuário.96.0000 é a eficiência interna do inversor.1000.0 W/m2 normaliza a irradiância para uma referência de potência nominal PV.Essas constantes tornam a previsão explicável e fácil de ajustar, mas não substituem a ficha técnica do módulo, albedo medido, medições de sujeira nos painéis, geometria de sombras ou uma execução completa de PVWatts/SAM.
Este exemplo usa a configuração padrão para Denver com GFS: 6 kW com aproximação de inclinação fixa. O dashboard preenche os valores numéricos a partir de variáveis do Grafana e calcula as estimativas PV em uma única chamada padrão do GribStream /timeseries.
curl -X POST 'https://gribstream.com/api/v2/gfs/timeseries' \
-H 'Content-Type: application/json' \
-H 'Accept: text/csv' \
-H 'Authorization: Bearer [API_TOKEN]' \
-d '{
"fromTime": "2026-05-03T12:00:00Z",
"untilTime": "2026-05-05T00:00:00Z",
"minLeadTime": "0h",
"maxLeadTime": "36h",
"coordinates": [
{ "lat": 39.7392, "lon": -104.9903, "name": "Denver, CO" }
],
"variables": [
{ "name": "DSWRF", "level": "surface", "alias": "ghi_wm2" },
{ "name": "TMP", "level": "2 m above ground", "alias": "temp_k" }
],
"expressions": [
{ "expression": "temp_k - 273.15", "alias": "temp_c" },
{ "expression": "ghi_wm2 * 1.0800", "alias": "poa_wm2" },
{ "expression": "temp_c + (poa_wm2 / 800.0) * 25.0000", "alias": "cell_temp_c" },
{ "expression": "func.Max(0.0, 1 + (-0.3500 / 100.0) * (cell_temp_c - 25.0))", "alias": "temperature_factor" },
{ "expression": "func.Max(0.0, 1 - 14.0000 / 100.0)", "alias": "loss_factor" },
{ "expression": "6.0000 * poa_wm2 / 1000.0 * temperature_factor * loss_factor", "alias": "dc_power_kw" },
{ "expression": "6.0000 / 1.2000", "alias": "ac_limit_kw" },
{ "expression": "func.Min(dc_power_kw * 96.0000 / 100.0, ac_limit_kw)", "alias": "ac_power_kw" },
{ "expression": "ac_power_kw", "alias": "hourly_energy_kwh" },
{ "expression": "func.Max(0.0, (6.0000 - ac_power_kw) / 6.0000 * 100.0)", "alias": "unused_capacity_pct" }
]
}'
DSWRF é um campo de radiação horizontal.Contexto e referências: GribStream expressions · inventário GFS · inventário HRRR · inventário NBM · tabela NOAA GRIB2 de radiação de onda curta · API PVWatts V8 · definições de irradiância do SAM · variáveis do Grafana.