Este panel estima generación horaria de paneles solares a partir de radiación de onda corta y temperatura del aire de modelos meteorológicos. Arranca con una configuración residencial típica para que nadie tenga que completar un formulario completo de diseño fotovoltaico: Denver, un arreglo DC de 6 kW, una aproximación de inclinación fija, 14% de pérdidas PV totales, 96% de eficiencia del inversor y una relación DC/AC de 1.2.
El pronóstico usa datos de GFS, HRRR o NBM a través del endpoint estándar de GribStream /api/v2/[dataset]/timeseries. La variable meteorológica principal es DSWRF en superficie, el campo NOAA de flujo descendente de radiación de onda corta, combinado con temperatura del aire a 2 m para una corrección simple por temperatura del panel. El panel mantiene el horizonte en 24 o 36 horas para que las filas devueltas sean horarias en los modelos disponibles.
La matemática es intencionalmente liviana. Sirve para comparar patrones de producción impulsados por el clima, evaluar rápidamente una instalación propuesta y explicar cómo las expresiones de GribStream pueden convertir campos de pronóstico en métricas de aplicación. No es un modelo fotovoltaico apto para decisiones financieras y no reemplaza PVWatts, SAM, modelado de sombras del sitio, mediciones de suciedad sobre paneles ni un modelo profesional de irradiancia en el plano del arreglo.
El control de geometría del arreglo es deliberadamente conservador. Un cálculo real de inclinación y azimut necesita posición solar, irradiancia normal directa, irradiancia horizontal difusa, albedo, orientación de módulos, geometría de filas y sombras. Este panel solo pide DSWRF y temperatura a 2 m desde GribStream, por lo que expone el supuesto de geometría como un multiplicador explícito en vez de esconder falsa precisión detrás de un campo de inclinación.
El panel calcula todos los campos derivados con expresiones de GribStream. Con los controles predeterminados, las ecuaciones son:
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 el panel limita la consulta a filas horarias.Las constantes más importantes son:
6.0000 es el tamaño DC predeterminado del conjunto en kW. Es editable por el usuario.1.0800 es el multiplicador predeterminado para la geometría del conjunto: una aproximación de inclinación fija aplicada a DSWRF horizontal. Otros escenarios expuestos usan 1.0000, 0.9300 y 1.1800.800.0 W/m2 y 25.0000 C forman la estimación simple de aumento de temperatura de celda. Son valores internos, no un modelo térmico calibrado al sitio.-0.3500 es el coeficiente interno de temperatura de potencia en porcentaje por C, aplicado respecto a la referencia de 25.0 C.14.0000 es el porcentaje predeterminado de pérdidas totales no meteorológicas. Es seleccionable por el usuario.1.2000 es la relación DC/AC predeterminada, por lo que un arreglo DC de 6 kW tiene un límite AC de 5 kW. Es seleccionable por el usuario.96.0000 es el porcentaje interno de eficiencia del inversor.1000.0 W/m2 normaliza la irradiancia a un nivel de referencia de potencia nominal PV.Estas constantes hacen que el pronóstico sea explicable y fácil de variar, pero no reemplazan una ficha técnica del módulo, albedo medido, mediciones de suciedad sobre paneles, geometría de sombras ni una ejecución completa de PVWatts/SAM.
Este ejemplo usa la configuración predeterminada para Denver con GFS: 6 kW con aproximación de inclinación fija. El panel completa los valores numéricos desde variables de Grafana y calcula las estimaciones PV en una sola llamada estándar de 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 es un campo de radiación horizontal.Contexto y referencias: expresiones de GribStream · inventario de GFS · inventario de HRRR · inventario de NBM · tabla NOAA GRIB2 de radiación de onda corta · API PVWatts V8 · definiciones de irradiancia de SAM · variables de Grafana.