Skip to content

Instantly share code, notes, and snippets.

@Jinger-ui
Created April 22, 2026 01:16
Show Gist options
  • Select an option

  • Save Jinger-ui/cf79dfe08bb8e68b1a8c91e36eb37748 to your computer and use it in GitHub Desktop.

Select an option

Save Jinger-ui/cf79dfe08bb8e68b1a8c91e36eb37748 to your computer and use it in GitHub Desktop.
SG Rain Nowcast Report - 2026-04-22_0116
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width,initial-scale=1">
<title>SG Rain Nowcast Dashboard</title>
<style>
body { margin:0; padding:0; font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif; background:#f0f2f5; }
* { box-sizing: border-box; }
table { table-layout: auto; }
@media (max-width: 768px) {
table { font-size: 11px !important; }
td, th { padding: 4px 6px !important; }
}
</style>
</head>
<body>
<div style="max-width:960px;margin:0 auto;padding:16px;">
<div style="background:#388e3c;border-radius:12px;padding:20px 24px;color:#fff;margin-bottom:16px;box-shadow:0 2px 12px rgba(0,0,0,.15);">
<h1 style="margin:0;font-size:22px;">&#x2600;&#xFE0F; All Clear &mdash; No significant rain detected</h1>
<p style="margin:6px 0 0;font-size:13px;opacity:.85;">
2026-04-22 09:16 SGT &nbsp;|&nbsp; Forecast period: 9.00 am to 11.00 am
&nbsp;|&nbsp; Raining: 0 &nbsp; High: 0 &nbsp; Moderate: 0
</p>
</div>
<div style="background:#f3e5f5;border-radius:8px;padding:14px 18px;margin-bottom:16px;"><strong style="color:#6a1b9a;">&#x1F4CB; 24-Hour Outlook</strong><br><span style="font-size:14px;">Thundery Showers</span></div>
<div style="margin-bottom:20px;"><h3 style="color:#388e3c;margin:0 0 8px;border-left:4px solid #388e3c;padding-left:10px;">North<span style="font-size:13px;color:#888;font-weight:normal;margin-left:8px;">3 areas</span></h3><table style="border-collapse:collapse;width:100%;font-size:13px;"><thead><tr style="background:#fafafa;"><th style="padding:6px 10px;text-align:left;border-bottom:2px solid #ddd;">Area</th><th style="padding:6px 10px;text-align:left;border-bottom:2px solid #ddd;">Risk</th><th style="padding:6px 10px;text-align:left;border-bottom:2px solid #ddd;">Radar</th><th style="padding:6px 10px;text-align:left;border-bottom:2px solid #ddd;">NEA Forecast</th><th style="padding:6px 10px;text-align:center;border-bottom:2px solid #ddd;">ETA</th><th style="padding:6px 10px;text-align:left;border-bottom:2px solid #ddd;">Details</th></tr></thead><tbody><tr style="background:#e8f5e9;"><td style="padding:8px 10px;border-bottom:1px solid #eee;">&#x2600;&#xFE0F; Sembawang</td><td style="padding:8px 10px;border-bottom:1px solid #eee;"><span style="background:#388e3c;color:#fff;padding:3px 10px;border-radius:12px;font-size:13px;font-weight:bold;">0</span></td><td style="padding:8px 10px;border-bottom:1px solid #eee;"><div style="background:#eee;border-radius:4px;height:8px;width:80px;display:inline-block;vertical-align:middle;"><div style="background:#a5d6a7;height:8px;border-radius:4px;width:0%;"></div></div> <span style="font-size:12px;color:#666;">0/31</span></td><td style="padding:8px 10px;border-bottom:1px solid #eee;font-size:13px;">Partly Cloudy (Day)</td><td style="padding:8px 10px;border-bottom:1px solid #eee;text-align:center;"><span style="color:#9e9e9e;font-size:12px;">&mdash;</span></td><td style="padding:8px 10px;border-bottom:1px solid #eee;font-size:12px;color:#555;">No rain detected in radar</td></tr><tr style="background:#e8f5e9;"><td style="padding:8px 10px;border-bottom:1px solid #eee;">&#x2600;&#xFE0F; Woodlands</td><td style="padding:8px 10px;border-bottom:1px solid #eee;"><span style="background:#388e3c;color:#fff;padding:3px 10px;border-radius:12px;font-size:13px;font-weight:bold;">0</span></td><td style="padding:8px 10px;border-bottom:1px solid #eee;"><div style="background:#eee;border-radius:4px;height:8px;width:80px;display:inline-block;vertical-align:middle;"><div style="background:#a5d6a7;height:8px;border-radius:4px;width:0%;"></div></div> <span style="font-size:12px;color:#666;">0/31</span></td><td style="padding:8px 10px;border-bottom:1px solid #eee;font-size:13px;">Partly Cloudy (Day)</td><td style="padding:8px 10px;border-bottom:1px solid #eee;text-align:center;"><span style="color:#9e9e9e;font-size:12px;">&mdash;</span></td><td style="padding:8px 10px;border-bottom:1px solid #eee;font-size:12px;color:#555;">No rain detected in radar</td></tr><tr style="background:#e8f5e9;"><td style="padding:8px 10px;border-bottom:1px solid #eee;">&#x2600;&#xFE0F; Yishun</td><td style="padding:8px 10px;border-bottom:1px solid #eee;"><span style="background:#388e3c;color:#fff;padding:3px 10px;border-radius:12px;font-size:13px;font-weight:bold;">0</span></td><td style="padding:8px 10px;border-bottom:1px solid #eee;"><div style="background:#eee;border-radius:4px;height:8px;width:80px;display:inline-block;vertical-align:middle;"><div style="background:#a5d6a7;height:8px;border-radius:4px;width:0%;"></div></div> <span style="font-size:12px;color:#666;">0/31</span></td><td style="padding:8px 10px;border-bottom:1px solid #eee;font-size:13px;">Partly Cloudy (Day)</td><td style="padding:8px 10px;border-bottom:1px solid #eee;text-align:center;"><span style="color:#9e9e9e;font-size:12px;">&mdash;</span></td><td style="padding:8px 10px;border-bottom:1px solid #eee;font-size:12px;color:#555;">No rain detected in radar</td></tr></tbody></table></div><div style="margin-bottom:20px;"><h3 style="color:#388e3c;margin:0 0 8px;border-left:4px solid #388e3c;padding-left:10px;">Northwest<span style="font-size:13px;color:#888;font-weight:normal;margin-left:8px;">5 areas</span></h3><table style="border-collapse:collapse;width:100%;font-size:13px;"><thead><tr style="background:#fafafa;"><th style="padding:6px 10px;text-align:left;border-bottom:2px solid #ddd;">Area</th><th style="padding:6px 10px;text-align:left;border-bottom:2px solid #ddd;">Risk</th><th style="padding:6px 10px;text-align:left;border-bottom:2px solid #ddd;">Radar</th><th style="padding:6px 10px;text-align:left;border-bottom:2px solid #ddd;">NEA Forecast</th><th style="padding:6px 10px;text-align:center;border-bottom:2px solid #ddd;">ETA</th><th style="padding:6px 10px;text-align:left;border-bottom:2px solid #ddd;">Details</th></tr></thead><tbody><tr style="background:#e8f5e9;"><td style="padding:8px 10px;border-bottom:1px solid #eee;">&#x2600;&#xFE0F; Choa Chu Kang</td><td style="padding:8px 10px;border-bottom:1px solid #eee;"><span style="background:#388e3c;color:#fff;padding:3px 10px;border-radius:12px;font-size:13px;font-weight:bold;">0</span></td><td style="padding:8px 10px;border-bottom:1px solid #eee;"><div style="background:#eee;border-radius:4px;height:8px;width:80px;display:inline-block;vertical-align:middle;"><div style="background:#a5d6a7;height:8px;border-radius:4px;width:0%;"></div></div> <span style="font-size:12px;color:#666;">0/31</span></td><td style="padding:8px 10px;border-bottom:1px solid #eee;font-size:13px;">Partly Cloudy (Day)</td><td style="padding:8px 10px;border-bottom:1px solid #eee;text-align:center;"><span style="color:#9e9e9e;font-size:12px;">&mdash;</span></td><td style="padding:8px 10px;border-bottom:1px solid #eee;font-size:12px;color:#555;">No rain detected in radar</td></tr><tr style="background:#e8f5e9;"><td style="padding:8px 10px;border-bottom:1px solid #eee;">&#x2600;&#xFE0F; Lim Chu Kang</td><td style="padding:8px 10px;border-bottom:1px solid #eee;"><span style="background:#388e3c;color:#fff;padding:3px 10px;border-radius:12px;font-size:13px;font-weight:bold;">0</span></td><td style="padding:8px 10px;border-bottom:1px solid #eee;"><div style="background:#eee;border-radius:4px;height:8px;width:80px;display:inline-block;vertical-align:middle;"><div style="background:#a5d6a7;height:8px;border-radius:4px;width:0%;"></div></div> <span style="font-size:12px;color:#666;">0/31</span></td><td style="padding:8px 10px;border-bottom:1px solid #eee;font-size:13px;">Partly Cloudy (Day)</td><td style="padding:8px 10px;border-bottom:1px solid #eee;text-align:center;"><span style="color:#9e9e9e;font-size:12px;">&mdash;</span></td><td style="padding:8px 10px;border-bottom:1px solid #eee;font-size:12px;color:#555;">No rain detected in radar</td></tr><tr style="background:#e8f5e9;"><td style="padding:8px 10px;border-bottom:1px solid #eee;">&#x2600;&#xFE0F; Sungei Kadut</td><td style="padding:8px 10px;border-bottom:1px solid #eee;"><span style="background:#388e3c;color:#fff;padding:3px 10px;border-radius:12px;font-size:13px;font-weight:bold;">0</span></td><td style="padding:8px 10px;border-bottom:1px solid #eee;"><div style="background:#eee;border-radius:4px;height:8px;width:80px;display:inline-block;vertical-align:middle;"><div style="background:#a5d6a7;height:8px;border-radius:4px;width:0%;"></div></div> <span style="font-size:12px;color:#666;">0/31</span></td><td style="padding:8px 10px;border-bottom:1px solid #eee;font-size:13px;">Partly Cloudy (Day)</td><td style="padding:8px 10px;border-bottom:1px solid #eee;text-align:center;"><span style="color:#9e9e9e;font-size:12px;">&mdash;</span></td><td style="padding:8px 10px;border-bottom:1px solid #eee;font-size:12px;color:#555;">No rain detected in radar</td></tr><tr style="background:#e8f5e9;"><td style="padding:8px 10px;border-bottom:1px solid #eee;">&#x2600;&#xFE0F; Tengah</td><td style="padding:8px 10px;border-bottom:1px solid #eee;"><span style="background:#388e3c;color:#fff;padding:3px 10px;border-radius:12px;font-size:13px;font-weight:bold;">0</span></td><td style="padding:8px 10px;border-bottom:1px solid #eee;"><div style="background:#eee;border-radius:4px;height:8px;width:80px;display:inline-block;vertical-align:middle;"><div style="background:#a5d6a7;height:8px;border-radius:4px;width:0%;"></div></div> <span style="font-size:12px;color:#666;">0/31</span></td><td style="padding:8px 10px;border-bottom:1px solid #eee;font-size:13px;">Partly Cloudy (Day)</td><td style="padding:8px 10px;border-bottom:1px solid #eee;text-align:center;"><span style="color:#9e9e9e;font-size:12px;">&mdash;</span></td><td style="padding:8px 10px;border-bottom:1px solid #eee;font-size:12px;color:#555;">No rain detected in radar</td></tr><tr style="background:#e8f5e9;"><td style="padding:8px 10px;border-bottom:1px solid #eee;">&#x2600;&#xFE0F; Western Water Catchment</td><td style="padding:8px 10px;border-bottom:1px solid #eee;"><span style="background:#388e3c;color:#fff;padding:3px 10px;border-radius:12px;font-size:13px;font-weight:bold;">0</span></td><td style="padding:8px 10px;border-bottom:1px solid #eee;"><div style="background:#eee;border-radius:4px;height:8px;width:80px;display:inline-block;vertical-align:middle;"><div style="background:#a5d6a7;height:8px;border-radius:4px;width:0%;"></div></div> <span style="font-size:12px;color:#666;">0/31</span></td><td style="padding:8px 10px;border-bottom:1px solid #eee;font-size:13px;">Partly Cloudy (Day)</td><td style="padding:8px 10px;border-bottom:1px solid #eee;text-align:center;"><span style="color:#9e9e9e;font-size:12px;">&mdash;</span></td><td style="padding:8px 10px;border-bottom:1px solid #eee;font-size:12px;color:#555;">No rain detected in radar</td></tr></tbody></table></div><div style="margin-bottom:20px;"><h3 style="color:#388e3c;margin:0 0 8px;border-left:4px solid #388e3c;padding-left:10px;">North-Central<span style="font-size:13px;color:#888;font-weight:normal;margin-left:8px;">3 areas</span></h3><table style="border-collapse:collapse;width:100%;font-size:13px;"><thead><tr style="background:#fafafa;"><th style="padding:6px 10px;text-align:left;border-bottom:2px solid #ddd;">Area</th><th style="padding:6px 10px;text-align:left;border-bottom:2px solid #ddd;">Risk</th><th style="padding:6px 10px;text-align:left;border-bottom:2px solid #ddd;">Radar</th><th style="padding:6px 10px;text-align:left;border-bottom:2px solid #ddd;">NEA Forecast</th><th style="padding:6px 10px;text-align:center;border-bottom:2px solid #ddd;">ETA</th><th style="padding:6px 10px;text-align:left;border-bottom:2px solid #ddd;">Details</th></tr></thead><tbody><tr style="background:#e8f5e9;"><td style="padding:8px 10px;border-bottom:1px solid #eee;">&#x2600;&#xFE0F; Central Water Catchment</td><td style="padding:8px 10px;border-bottom:1px solid #eee;"><span style="background:#388e3c;color:#fff;padding:3px 10px;border-radius:12px;font-size:13px;font-weight:bold;">0</span></td><td style="padding:8px 10px;border-bottom:1px solid #eee;"><div style="background:#eee;border-radius:4px;height:8px;width:80px;display:inline-block;vertical-align:middle;"><div style="background:#a5d6a7;height:8px;border-radius:4px;width:0%;"></div></div> <span style="font-size:12px;color:#666;">0/31</span></td><td style="padding:8px 10px;border-bottom:1px solid #eee;font-size:13px;">Partly Cloudy (Day)</td><td style="padding:8px 10px;border-bottom:1px solid #eee;text-align:center;"><span style="color:#9e9e9e;font-size:12px;">&mdash;</span></td><td style="padding:8px 10px;border-bottom:1px solid #eee;font-size:12px;color:#555;">No rain detected in radar</td></tr><tr style="background:#e8f5e9;"><td style="padding:8px 10px;border-bottom:1px solid #eee;">&#x2600;&#xFE0F; Mandai</td><td style="padding:8px 10px;border-bottom:1px solid #eee;"><span style="background:#388e3c;color:#fff;padding:3px 10px;border-radius:12px;font-size:13px;font-weight:bold;">0</span></td><td style="padding:8px 10px;border-bottom:1px solid #eee;"><div style="background:#eee;border-radius:4px;height:8px;width:80px;display:inline-block;vertical-align:middle;"><div style="background:#a5d6a7;height:8px;border-radius:4px;width:0%;"></div></div> <span style="font-size:12px;color:#666;">0/31</span></td><td style="padding:8px 10px;border-bottom:1px solid #eee;font-size:13px;">Partly Cloudy (Day)</td><td style="padding:8px 10px;border-bottom:1px solid #eee;text-align:center;"><span style="color:#9e9e9e;font-size:12px;">&mdash;</span></td><td style="padding:8px 10px;border-bottom:1px solid #eee;font-size:12px;color:#555;">No rain detected in radar</td></tr><tr style="background:#e8f5e9;"><td style="padding:8px 10px;border-bottom:1px solid #eee;">&#x2600;&#xFE0F; Seletar</td><td style="padding:8px 10px;border-bottom:1px solid #eee;"><span style="background:#388e3c;color:#fff;padding:3px 10px;border-radius:12px;font-size:13px;font-weight:bold;">0</span></td><td style="padding:8px 10px;border-bottom:1px solid #eee;"><div style="background:#eee;border-radius:4px;height:8px;width:80px;display:inline-block;vertical-align:middle;"><div style="background:#a5d6a7;height:8px;border-radius:4px;width:0%;"></div></div> <span style="font-size:12px;color:#666;">0/31</span></td><td style="padding:8px 10px;border-bottom:1px solid #eee;font-size:13px;">Partly Cloudy (Day)</td><td style="padding:8px 10px;border-bottom:1px solid #eee;text-align:center;"><span style="color:#9e9e9e;font-size:12px;">&mdash;</span></td><td style="padding:8px 10px;border-bottom:1px solid #eee;font-size:12px;color:#555;">No rain detected in radar</td></tr></tbody></table></div><div style="margin-bottom:20px;"><h3 style="color:#388e3c;margin:0 0 8px;border-left:4px solid #388e3c;padding-left:10px;">West<span style="font-size:13px;color:#888;font-weight:normal;margin-left:8px;">3 areas</span></h3><table style="border-collapse:collapse;width:100%;font-size:13px;"><thead><tr style="background:#fafafa;"><th style="padding:6px 10px;text-align:left;border-bottom:2px solid #ddd;">Area</th><th style="padding:6px 10px;text-align:left;border-bottom:2px solid #ddd;">Risk</th><th style="padding:6px 10px;text-align:left;border-bottom:2px solid #ddd;">Radar</th><th style="padding:6px 10px;text-align:left;border-bottom:2px solid #ddd;">NEA Forecast</th><th style="padding:6px 10px;text-align:center;border-bottom:2px solid #ddd;">ETA</th><th style="padding:6px 10px;text-align:left;border-bottom:2px solid #ddd;">Details</th></tr></thead><tbody><tr style="background:#e8f5e9;"><td style="padding:8px 10px;border-bottom:1px solid #eee;">&#x2600;&#xFE0F; Jurong West</td><td style="padding:8px 10px;border-bottom:1px solid #eee;"><span style="background:#388e3c;color:#fff;padding:3px 10px;border-radius:12px;font-size:13px;font-weight:bold;">0</span></td><td style="padding:8px 10px;border-bottom:1px solid #eee;"><div style="background:#eee;border-radius:4px;height:8px;width:80px;display:inline-block;vertical-align:middle;"><div style="background:#a5d6a7;height:8px;border-radius:4px;width:0%;"></div></div> <span style="font-size:12px;color:#666;">0/31</span></td><td style="padding:8px 10px;border-bottom:1px solid #eee;font-size:13px;">Partly Cloudy (Day)</td><td style="padding:8px 10px;border-bottom:1px solid #eee;text-align:center;"><span style="color:#9e9e9e;font-size:12px;">&mdash;</span></td><td style="padding:8px 10px;border-bottom:1px solid #eee;font-size:12px;color:#555;">No rain detected in radar</td></tr><tr style="background:#e8f5e9;"><td style="padding:8px 10px;border-bottom:1px solid #eee;">&#x2600;&#xFE0F; Pioneer</td><td style="padding:8px 10px;border-bottom:1px solid #eee;"><span style="background:#388e3c;color:#fff;padding:3px 10px;border-radius:12px;font-size:13px;font-weight:bold;">0</span></td><td style="padding:8px 10px;border-bottom:1px solid #eee;"><div style="background:#eee;border-radius:4px;height:8px;width:80px;display:inline-block;vertical-align:middle;"><div style="background:#a5d6a7;height:8px;border-radius:4px;width:0%;"></div></div> <span style="font-size:12px;color:#666;">0/31</span></td><td style="padding:8px 10px;border-bottom:1px solid #eee;font-size:13px;">Partly Cloudy (Day)</td><td style="padding:8px 10px;border-bottom:1px solid #eee;text-align:center;"><span style="color:#9e9e9e;font-size:12px;">&mdash;</span></td><td style="padding:8px 10px;border-bottom:1px solid #eee;font-size:12px;color:#555;">No rain detected in radar</td></tr><tr style="background:#e8f5e9;"><td style="padding:8px 10px;border-bottom:1px solid #eee;">&#x2600;&#xFE0F; Tuas</td><td style="padding:8px 10px;border-bottom:1px solid #eee;"><span style="background:#388e3c;color:#fff;padding:3px 10px;border-radius:12px;font-size:13px;font-weight:bold;">0</span></td><td style="padding:8px 10px;border-bottom:1px solid #eee;"><div style="background:#eee;border-radius:4px;height:8px;width:80px;display:inline-block;vertical-align:middle;"><div style="background:#a5d6a7;height:8px;border-radius:4px;width:0%;"></div></div> <span style="font-size:12px;color:#666;">0/31</span></td><td style="padding:8px 10px;border-bottom:1px solid #eee;font-size:13px;">Partly Cloudy (Day)</td><td style="padding:8px 10px;border-bottom:1px solid #eee;text-align:center;"><span style="color:#9e9e9e;font-size:12px;">&mdash;</span></td><td style="padding:8px 10px;border-bottom:1px solid #eee;font-size:12px;color:#555;">No rain detected in radar</td></tr></tbody></table></div>
<div style="background:#fafafa;border-radius:8px;padding:12px 16px;margin-top:20px;font-size:12px;color:#666;"><strong>Legend:</strong> Risk score 0-100 (Radar 40% + NEA Forecast 35% + Proximity 25%) &nbsp;|&nbsp; &#x1F327;&#xFE0F; Raining &nbsp; &#x26A0;&#xFE0F; High Risk &nbsp; &#x1F325;&#xFE0F; Moderate &nbsp; &#x1F324;&#xFE0F; Low &nbsp; &#x2600;&#xFE0F; Clear &nbsp;|&nbsp; ETA confidence: &#x25CF; High &nbsp; &#x25D0; Medium &nbsp; &#x25CB; Low</div>
<p style="margin-top:12px;font-size:11px;color:#aaa;text-align:center;">
Data: NEA 2-Hour Nowcast + NEA 50km Rain Radar (sgrain) + Radar Movement Tracking<br>
SG Rain Nowcasting System &mdash; auto-generated report
</p>
</div>
</body>
</html>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment