🌦️ ระบบเปรียบเทียบและตรวจสอบพยากรณ์อากาศหลายแบบจำลอง

กำลังโหลด…

สภาพอากาศปัจจุบัน ค่าตรวจวัดจากสถานีที่ใกล้ที่สุดและค่าวิเคราะห์จากแบบจำลอง

🗺️ แผนที่ฝน: ภาพเรดาร์และสถานีตรวจวัด

ภาพเรดาร์: RainViewer (ทุก 10 นาที) · สัญลักษณ์สี = ปริมาณฝนสะสม 24 ชม. ล่าสุดของสถานี (โทรมาตร ThaiWater ทุกหน่วยงาน และสถานีของกรมอุตุนิยมวิทยา) · PM2.5 จาก Air4Thai · วงแหวน = จุดตรวจสอบที่ใช้ประเมินความถูกต้องของแบบจำลอง · เลือกสัญลักษณ์เพื่อดูค่า · เลือกวงกลมใหญ่เพื่อเปลี่ยนตำแหน่ง

พยากรณ์ฝนช่วงถัดไป ฝนสะสมนับจากเวลาที่ได้รับผลพยากรณ์ · ค่ามัธยฐานของทุกแบบจำลอง

สรุปรายวัน วันอุตุนิยมวิทยา 07:00 → 07:00 น. · ค่ามัธยฐาน (median) ของทุกแบบจำลอง

ผลพยากรณ์รายแบบจำลอง ฝนรายแบบจำลอง · ความน่าจะเป็นจาก ensemble · HII · ตัวแปรอื่น

ฝนรายแบบจำลอง (มม.) ช่วงเวลาเดียวกับ ② · เรียงตามความละเอียดเชิงพื้นที่จากสูงไปต่ำ

ความน่าจะเป็นของฝนจากระบบ ensemble (%)

ตัวแปรอื่นรายแบบจำลอง ช่วงเวลาเดียวกับตารางฝน

อนุกรมรายชั่วโมง 7 วัน ฝน อุณหภูมิ ความชื้น ลม และ PM2.5

อนุกรมรายชั่วโมง 7 วัน

แหล่งที่มาและการตรวจสอบความถูกต้อง รอบการประมวลผลของแต่ละแบบจำลอง · 🏆 ผลการตรวจสอบ

รอบการประมวลผล (initialisation) ของแต่ละแบบจำลอง ผลพยากรณ์ในหน้านี้มาจากรอบใด

รอบการประมวลผล (init) = เวลาเริ่มต้นการคำนวณของแบบจำลอง · ยืนยันแล้ว = อ้างอิงจาก metadata ของ Open-Meteo · ประมาณ = คำนวณจากตารางรอบการประมวลผลและเวลาเผยแพร่โดยทั่วไป · Google ปรับปรุงต่อเนื่องโดยไม่มีรอบการประมวลผลที่ระบุได้

🏆 การตรวจสอบความถูกต้องของแบบจำลอง เทียบกับค่าตรวจวัด

คำถามการประเมิน: ผลพยากรณ์ที่ผู้ใช้เห็นบนหน้าเว็บมีความน่าเชื่อถือเพียงใด — ใช้ช่วงเวลาเดียวกับตารางข้างต้น (+3 ชม. … วันถัดไป … D+7) นับจากเวลาที่ได้รับผลพยากรณ์ และใช้เฉพาะผลพยากรณ์ที่เผยแพร่แล้ว ณ เวลานั้น (แบบจำลองที่เผยแพร่ช้าจึงใช้ผลรอบก่อนหน้า) · “มีฝน” = ≥ 1 มม. ในช่วงนั้น

  1. 🖥️1. จัดเก็บผลพยากรณ์บันทึกผลพยากรณ์ของทุกแบบจำลองทุกชั่วโมง
  2. ⏳2. กำหนดระยะล่วงหน้านับเป็น T+ ชม. จากรอบการประมวลผลของแบบจำลอง (ตามแนวทาง WMO)
  3. 🌧️3. ค่าตรวจวัดอ้างอิงสถานีอุตุนิยมวิทยา เครื่องวัดฝนโทรมาตร และรายงานจากผู้ใช้
  4. ✅4. คำนวณดัชนีความถูกต้องตาราง contingency และค่าความคลาดเคลื่อน

เลือกแหล่งค่าตรวจวัดอ้างอิง

ดัชนีเชิงเทคนิคทั้งหมดและผลของระบบ ensemble

วิธีคำนวณดัชนีความถูกต้อง
เกิดฝนจริง 🌧️
ไม่เกิดฝน ☀️
พยากรณ์ว่ามีฝน
✅ Hit(พยากรณ์ถูก)
⚠️ False alarm(เตือนแต่ไม่เกิด)
พยากรณ์ว่าไม่มีฝน
❌ Miss(เกิดแต่ไม่ได้เตือน)
✅ Correct negative(ไม่เกิดตามพยากรณ์)
  • Critical Success Index (CSI) = Hit ÷ (Hit + Miss + False alarm) — ไม่รวมกรณี Correct negative จึงสะท้อนทักษะการพยากรณ์เหตุการณ์ฝนโดยตรง (0–100 ค่าสูงดีกว่า)
  • ความถูกต้องรวม (accuracy) = (Hit + Correct negative) ÷ ทั้งหมด — ในฤดูแล้งค่านี้อาจสูงเกินจริง เนื่องจากการพยากรณ์ว่าไม่มีฝนถูกต้องเกือบทุกวัน
  • Frequency bias — มากกว่า 1 = พยากรณ์เหตุการณ์ฝนบ่อยเกิน · น้อยกว่า 1 = พยากรณ์น้อยเกิน
  • อุณหภูมิ: MAE (ค่าคลาดเคลื่อนสัมบูรณ์เฉลี่ย, °C) ค่าน้อยดีกว่า · bias แสดงแนวโน้มพยากรณ์สูงหรือต่ำกว่าค่าจริง · RMSE ให้น้ำหนักกับความคลาดเคลื่อนขนาดใหญ่
  • จัดอันดับแยกตามระยะล่วงหน้า เนื่องจากแบบจำลองมีระยะพยากรณ์ไม่เท่ากัน · หากขนาดตัวอย่างน้อยกว่า 30 ผลยังไม่มีเสถียรภาพทางสถิติ
⏱️ กรอบเวลามาตรฐาน: การนับระยะล่วงหน้า
  • โมเดลไม่ได้คำนวณใหม่ทุกชั่วโมง แต่รันเป็น รอบ (init / cycle) ที่ 00, 06, 12, 18 UTC (= 07:00, 13:00, 19:00, 01:00 น.) บางโมเดลวันละ 2 รอบ และผลออกมาหลังเริ่มรัน 3–10 ชม. ดังนั้นพยากรณ์ที่ “ดึงมาตอนนี้” อาจเป็นของรอบเมื่อหลายชั่วโมงก่อน (ดูตาราง “⑤ รอบรันของแต่ละโมเดล” ด้านบน)
  • ช่วงล่วงหน้า = T+ ชม. นับจากเวลาเริ่มรันถึงปลายช่วงที่วัด ตามแนวทาง WMO (เดิมนับจากเวลาที่ดึง ซึ่งทำให้โมเดลที่ออกช้าเสียเปรียบ) · ฝนราย 3 ชม./อุณหภูมิ จัดกลุ่มเป็น T+0–12, 12–24, 24–48, 48–72, 72–120, 120–168, 168–240 ชม. (ไม่มี T+0–6 เพราะโมเดลส่งผลช้ากว่ารอบรัน 4–16 ชม. มีแต่ Google ที่อัปเดตต่อเนื่องซึ่งนับรอบ = เวลาที่ดึง) · แสดงเฉพาะช่วงที่มีอย่างน้อย 2 โมเดล
  • วันพยากรณ์ Day N = ฝน 24 ชม. 07:00–07:00 น. (= 00–00 UTC วันอุตุนิยมวิทยาของไทยและ WMO) ที่ปลายช่วงห่างจากเวลาเริ่มรัน 24N ± 12 ชม. เช่น รอบ 00 UTC → Day 1 คือ T+0–24, รอบ 12 UTC ของเมื่อวาน → Day 1 คือ T+12–36
  • ใช้เฉพาะรอบรันที่เริ่ม ก่อนต้นช่วงที่วัด และระบบได้รับไว้แล้ว — ไม่มีการใช้ข้อมูลที่รู้ผลแล้ว
  • HII WRF-ROMS ออกผลเป็นฝน 19:00–19:00 น. (12–12 UTC) จึงเทียบในช่วงนั้นแยกไว้ในแหล่ง “🌊 HII” โดยทุกโมเดลใช้ช่วงและเกณฑ์ Day N เดียวกัน
  • ทั่วประเทศ ใช้ Previous Runs ของ Open-Meteo: ทุกชั่วโมงใช้ค่าที่ทายไว้ล่วงหน้า ≥ 24 / 72 / 168 ชม. (อาจมาจากหลายรอบรัน) จึงเรียกว่า “ล่วงหน้า ≥ 24 ชม.” ไม่ใช่ Day N จากรอบเดียว
  • ปุ่มแจ้งฝน ยังนับช่วงล่วงหน้าจากเวลาที่ดึงพยากรณ์ (จำนวนครั้งน้อย ใช้ดูแนวโน้ม)
🗂️ แหล่งข้อมูล ช่วงเวลา และวิธีการจัดเก็บ
ข้อมูลแหล่งข้อมูลช่วงเวลาวิธีการจัดเก็บ
พยากรณ์โมเดลระดับโลก + ensembleOpen-Meteo API (ECMWF, NOAA, DWD, ECCC, JMA, Météo-France, UKMO, CMA, KMA, BOM) ตั้งแต่ 27 ก.ย. 2569 → ปัจจุบันประมาณทุกชั่วโมง ผ่าน GitHub Actions (สั่งโดย cron-job.org + ตารางของ GitHub) · เก็บทุกรอบที่ดึงเป็นไฟล์ csv.gz พร้อม “รอบรัน” ของแต่ละโมเดล (.runs.json) ใน branch data
TMD WRF 2 กม.กรมอุตุนิยมวิทยา NWP APIเหมือนข้างบน · ล่วงหน้า 48 ชม.ทุกชั่วโมง · รอบรัน 00/12 UTC (ประมาณจากเวลาดึง)
Google Weather ~5 กม.Google Maps Weather APIเหมือนข้างบนกรุงเทพมหานคร 10 วัน ทุกรอบ · จุดตรวจ กทม. 2 จุด (สถานีอุตุฯ + โทรมาตรที่ใกล้ที่สุด) 48 ชม. ทุก 2 ชม. · ไม่เกินโควตาฟรี · อัปเดตต่อเนื่อง ไม่มีรอบรัน
HII WRF-ROMS 3/9 กม.สสน. ผ่าน ThaiWater (ภาพแผนที่ฝน 7 วัน)ตั้งแต่ 28 ก.ย. 2569 → ปัจจุบันวันละ 1 รอบ (19:00 น.) · อ่านสีในภาพที่พิกัดเป็นช่วงปริมาณฝน · เก็บรอบละไฟล์
ฝน 24 ชม. (เครื่องวัดโทรมาตร)ThaiWater (สสน., กรมทรัพยากรน้ำ, ปภ., กรมชลประทาน ฯลฯ)ตั้งแต่เริ่มเก็บทุกชั่วโมง · เก็บเฉพาะจุดตรวจ (โทรมาตรทุกเครื่องในเขตเมือง กทม. + 5 จังหวัดปริมณฑล ห่างกัน ≥ 2 กม. และอยุธยา 1 จุด · เครื่องที่หยุดส่งข้อมูลเกิน 24 ชม. ถูกแทนอัตโนมัติ) · ฝนรายชั่วโมงเก็บตั้งแต่ 29 ก.ย. 2569 (ThaiWater เก็บย้อนหลังให้แค่ ~36 ชม.) ใช้ทำฝนราย 3 ชม.
สรุปรายวัน 07:00 น. ทุกสถานีอุตุฯกรมอุตุฯ WeatherTodayตั้งแต่เริ่มเก็บวันละครั้ง · เทียบกับ Open-Meteo Previous Runs
ฝนรายวัน โทรมาตรทุกเครื่องThaiWater rain_yesterday (~3,200 เครื่อง ทุกหน่วยงาน)ตั้งแต่ 30 ก.ย. 2569วันละครั้ง · เทียบ Open-Meteo Previous Runs: ในเขตเมือง (≥ 1,500 คน/ตร.กม., WorldPop) ทีละเครื่อง ล่วงหน้า ≥ 24/72/168 ชม.; ทั่วประเทศ ล่วงหน้า ≥ 24 ชม. หนึ่งครั้งต่อช่องกริด 0.1°
ฝน 3 ชม. + อุณหภูมิ ทุกสถานีอุตุฯกรมอุตุฯ Weather3Hoursตั้งแต่ 29 ก.ย. 2569ทุกชั่วโมง · ~120 สถานี × 8 ครั้ง/วัน · เทียบวันละครั้งพร้อมส่วนทั่วประเทศ
ฝนตก/ไม่ตก จากปุ่มผู้ใช้ (GitHub Issue)ตั้งแต่เริ่มเก็บทุกครั้งที่กด · พิกัด + เวลา
ตรวจย้อนหลังสำหรับงานวิจัยNOAA GSOD (124 สถานี) + Open-Meteo Previous Runs · WorldPop 2020ม.ค. 2024 – 24 ส.ค. 2025 (ค่าปกติ 2000–2023)ดึงครั้งเดียว (analysis/) · ใช้พิกัดสถานีจาก GSOD

🇹🇭 ทั่วประเทศ พยากรณ์ 77 จังหวัด และความถูกต้องของแบบจำลอง ณ สถานีอุตุนิยมวิทยาทุกแห่ง

กำลังโหลด…

ตารางสรุป คลิกชื่อจังหวัดหรือสถานีบนแผนที่เพื่อดูรายละเอียด · กรอบหนา = ค่าที่ดีที่สุดของแต่ละภาค

วิธีการและข้อจำกัด

🌡️ พยากรณ์ภัยความร้อนรายเขต กรุงเทพมหานคร สนับสนุนโครงการวิจัย HEAT-SAFE Bangkok (วช. 2570)

กำลังโหลด…

ล่วงหน้า 4–7 วัน ใช้พิจารณาแนวโน้มและความน่าจะเป็น เพื่อเตรียมบุคลากรและทรัพยากร
ล่วงหน้า 1–3 วัน ใช้ประกอบการตัดสินใจแจ้งเตือน ร่วมกับพยากรณ์รอบล่าสุดและค่าตรวจวัดในพื้นที่

ตารางรายเขต เรียงตามดัชนีความร้อนสูงสุดของวันที่เลือก · คลิกชื่อเขตเพื่อดูรายละเอียด

วิธีการ ความไม่แน่นอน และข้อจำกัด

ℹ️ เกี่ยวกับระบบ

ระบบนี้รวบรวมผลพยากรณ์จากแบบจำลองเชิงตัวเลขของหน่วยงานระดับโลกและของประเทศไทยไว้ในกรอบเดียวกัน และตรวจสอบความถูกต้องย้อนหลังกับค่าตรวจวัดในประเทศไทยอย่างต่อเนื่อง เพื่อตอบคำถามวิจัยว่า “แบบจำลองใดให้ผลพยากรณ์ฝน อุณหภูมิ และภัยความร้อนที่ถูกต้องที่สุดสำหรับพื้นที่ศึกษา และมีความไม่แน่นอนเพียงใด” ระบบนี้เป็นขั้นตอนหนึ่งของโครงการวิจัย HEAT-SAFE Bangkok (วช. 2570) ในส่วนการพยากรณ์และการตรวจสอบข้อมูลอุตุนิยมวิทยา

🎯 วัตถุประสงค์

1. การพยากรณ์แบบหลายแบบจำลอง

แบบจำลอง 12 ระบบใช้วิธีเชิงฟิสิกส์และปัญญาประดิษฐ์ที่แตกต่างกัน ความสอดคล้องระหว่างแบบจำลองบ่งชี้ความเชื่อมั่น ส่วนการกระจายของผลบ่งชี้ความไม่แน่นอน ซึ่งพิจารณาร่วมกับความน่าจะเป็นจากระบบ ensemble 7 ระบบ

2. การประเมินความน่าเชื่อถือ

ผลพยากรณ์แต่ละรายการแสดงสถิติความน่าเชื่อถือย้อนหลัง ซึ่งคำนวณจากการเทียบผลพยากรณ์ที่เผยแพร่ ก่อน เหตุการณ์กับค่าตรวจวัด ในช่วงเวลาเดียวกับที่แสดงบนหน้าเว็บ

3. ฝนและความร้อนในเขตเมือง

ฝนฟ้าคะนองและความร้อนในเขตเมืองมีความแปรปรวนเชิงพื้นที่สูง ระบบจึงรวมแบบจำลองความละเอียดสูง (TMD WRF 2 กม., HII 3 กม., Google ~5 กม.) ตรวจสอบกับเครื่องวัดฝนทุกเครื่องในเขตเมืองของกรุงเทพมหานครและปริมณฑล และจัดทำพยากรณ์ดัชนีความร้อนรายเขต

⚙️ กระบวนการทำงาน (อัตโนมัติ ประมาณทุกชั่วโมง)

  1. รวบรวมผลพยากรณ์แบบจำลอง 12 ระบบและ ensemble 7 ระบบ (Open-Meteo), TMD WRF, Google Weather (เฉพาะกรุงเทพมหานคร), HII WRF-ROMS (วันละรอบ) พร้อมบันทึกรอบการประมวลผล
  2. จัดเก็บถาวรจัดเก็บผลพยากรณ์ทุกรอบไว้ใน GitHub เพื่อใช้ตรวจสอบย้อนหลัง
  3. รวบรวมค่าตรวจวัดสถานีอุตุนิยมวิทยา ~124 แห่ง (ราย 3 ชม. และสรุป 07:00 น.), โทรมาตร ThaiWater ~4,300 เครื่อง (ฝน 24 ชม. และรายชั่วโมง ณ จุดตรวจสอบ), PM2.5 และรายงานจากผู้ใช้
  4. ตรวจสอบความถูกต้องจับคู่ผลพยากรณ์ที่เผยแพร่ก่อนเหตุการณ์กับค่าตรวจวัดในช่วงเดียวกัน ทั้งในมุมมองผู้ใช้งานและตามมาตรฐาน WMO
  5. เผยแพร่หน้าเว็บ (GitHub Pages) ปรับปรุงทุกรอบ · ควบคุมรอบการทำงานด้วย cron-job.org โดยมีตารางเวลาของ GitHub เป็นระบบสำรอง

🧭 ลำดับเนื้อหาของหน้าเว็บ

⚖️ กรอบการตรวจสอบความถูกต้อง

การตรวจสอบมี 2 มุมมอง ใช้ค่าตรวจวัดชุดเดียวกัน แต่ตอบคำถามต่างกัน

👤 มุมมองผู้ใช้งาน (ค่าเริ่มต้น)🔬 มาตรฐาน WMO (งานวิจัย)
คำถามผลพยากรณ์ที่แสดงบนหน้าเว็บน่าเชื่อถือเพียงใดแบบจำลองใดมีทักษะสูงกว่าเมื่อเปรียบเทียบที่ระยะล่วงหน้าเท่ากัน
ช่วงเวลาเหมือนหน้าเว็บ: +3, +6, +12, +24 ชม., พรุ่งนี้, D+3, D+7 นับจากเวลาที่ดึงพยากรณ์ T+ ชม. นับจากรอบรันของโมเดล · Day N = ฝน 07–07 น. (00–00 UTC) · ส่วนทั่วประเทศใช้ “ทายไว้ล่วงหน้า ≥ 24/72/168 ชม.”
สิ่งที่ให้คะแนนทุกโมเดล + ค่ากลางทุกโมเดล + โอกาสฝน % (รวมความช้าในการส่งผลของแต่ละโมเดล)ทีละโมเดล
ค่าวัดจุดตรวจ: โทรมาตรทุกเครื่องในเขตเมือง กทม. + 5 จังหวัดปริมณฑล (ห่างกัน ≥ 2 กม.), อยุธยา และสถานีอุตุฯ ของทั้งสองแห่ง สถานีอุตุฯ ทั่วประเทศ (รายวัน + ราย 3 ชม.) · โทรมาตรทุกเครื่องทั่วประเทศ ~3,200 (รายวัน แยกเมือง/ชานเมือง/ชนบท) · โทรมาตรในเขตเมือง · จุดตรวจ (รวม HII 19–19 น.) · การแจ้งของผู้ใช้
ภาษาที่แสดง“บอกว่าตก → ตกจริง x/10”, “ฝนตก → เตือนไว้ y/10”CSI, POD, FAR, Bias, MAE

“ฝนตก”: มุมผู้ใช้ ≥ 1 มม. ในช่วงนั้น · WMO ≥ 0.2 มม. ใน 3 ชม. หรือ ≥ 1 มม. ต่อวัน · เขตเมือง = ความหนาแน่นประชากร ≥ 1,500 คน/ตร.กม. (WorldPop 2020) · รายละเอียดดู “⏱️ กรอบเวลาแบบสากล” และ “🗂️ ข้อมูลมาจากไหน” ในส่วน ⑤

🧠 แบบจำลองที่ใช้ เรียงตามความละเอียดเชิงพื้นที่

ensemble = การประมวลผลแบบจำลองเดียวกันหลายสิบครั้งโดยรบกวนสภาวะเริ่มต้นเล็กน้อย ใช้ประมาณความน่าจะเป็น (%) ·

📏 การตีความดัชนี

🔬 งานวิจัยที่ต่อยอดจากโครงการนี้

⚠️ ข้อจำกัด

🔒 ความเป็นส่วนตัว

📚 แหล่งข้อมูล