chart_weather
Render an SVG chart from EPW data. Eight chart types: diurnal (~10 KB, monthly hourly profile), temp_carpet (heatmap of hour × day-of-year — ~30 KB preview / ~150 KB full), wind_rose (~12 KB, polar bars by direction × speed), monthly_boxplot (~6 KB, Q1/median/Q3 + whiskers per month), utci_carpet (~90 KB, outdoor heat-stress hour × day, colored by UTCI category — Bröde 2012, shaded Tmrt), economizer_carpet (~90 KB, air-side economizer free / integrated / locked-out hour × day under ASHRAE 90.1 high-limit), pv_tilt_azimuth (~60 KB, annual PV generation across full tilt × azimuth space, isotropic-sky POA at lat from EPW header — optimum orientation marked), solar_under_events (~12 KB, weekly GHI of the modified scenario vs the no-overlay reference; bands color event-affected weeks. Requires config — server runs the pipeline twice, with and without overlays), comparison (~10 KB, design-condition deltas across EPWs). Accepts url (single), urls (2+ for comparison), or config (synthesize on the fly). Config mode is anon-safe — runs pipeline, returns SVG only. No auth required. Token budget: SVGs are returned inline by default. Large outputs (>50 KB) auto-upload to Blob storage (when configured) and return a URL instead, keeping your context lean. Always check svg_size_kb in the response. Presentation: when handing the chart to the user, just link or embed it — don't narrate what's in it. Let the chart speak.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| url | No | EPW URL (single-EPW charts: diurnal, temp_carpet, wind_rose, monthly_boxplot, utci_carpet, economizer_carpet, pv_tilt_azimuth) | |
| urls | No | EPW URLs for chart_type=comparison (first = baseline) | |
| config | No | Synthesize an EPW and chart it. Same params as generate_weather_file. SVG only — no file delivery. | |
| pv_tilt | No | pv_tilt_azimuth only. Optional — marks the user's planned tilt (deg, 0=horizontal) on the heatmap alongside the optimum. | |
| econ_mode | No | economizer_carpet only. 'drybulb' (default) limits OA by Tdb; 'enthalpy' limits by moist-air enthalpy — more honest in humid climates (captures latent load). | |
| chart_type | No | Default: diurnal | |
| pv_azimuth | No | pv_tilt_azimuth only. Optional — marks the user's planned compass azimuth (deg, 0=N, 180=S) on the heatmap. | |
| resolution | No | temp_carpet only. 'preview' (default) ~30 KB with 32 color buckets — visually identical at typical render sizes. 'full' ~150 KB with per-cell rgb() — use only when saving to file or when you specifically need exact color fidelity. | |
| econ_high_limit_f | No | economizer_carpet only. ASHRAE 90.1 high-limit shutoff. Defaults: 75°F (drybulb mode) or 28 BTU/lb (enthalpy mode). | |
| econ_supply_air_f | No | economizer_carpet only. Supply-air temperature setpoint (°F). Default 55. |