{"schema_version":"2.1","generated_at":"2026-09-28T15:30:45.574800+00:00","default_point":"duong_dong","island_watch_order":["duong_dong","cua_can","ganh_dau","bai_thom","ham_ninh","bai_sao","an_thoi"],"primary_points":["duong_dong","an_thoi","ganh_dau","rach_gia"],"report_status":"LIVE","snapshot_id":"PQWX_LIVE_20260928_194328","git_commit_sha":"40869fa56b50","decision":"NOT_ISSUED","headline":"Live D0-D10 snapshot đã được phát; D4-D10 là xu hướng, quyết định vận hành chưa được phát.","next_review":"watch cycle mỗi 30 phút; rebuild khi short hoặc medium model cycle đổi","completeness":100,"confidence":null,"data_mode":"B","public_forecast":"JOTRIP_ENSEMBLE_LOCAL","local_generated_at":"2026-09-28T15:30:45.574800+00:00","source_cycles":{"ECMWF":"2026-09-28T00:00:00+00:00","ECMWF_MEDIUM":"2026-09-28T00:00:00+00:00","GEFS":"2026-09-28T06:00:00+00:00","ICON":"2026-09-28T06:00:00+00:00"},"sources":{"ECMWF":{"status":"PASS","detail":"ECMWF cung cấp nền khí quyển và sóng cho dự báo dài ngày. JoTrip dùng nguồn này để đối chiếu, không công bố nguyên bản như dự báo chính."},"GEFS":{"status":"PASS","detail":"NOAA GEFS D0-D10 · tối đa 31 thành viên · dữ liệu hiện đủ 91%. JoTrip tiếp tục đối chiếu và hiệu chỉnh dự báo địa phương bằng quan trắc thực tế trên đảo."},"ICON":{"status":"PASS","detail":"ICON của DWD được dùng như một nguồn khí quyển độc lập để so sánh với các mô hình khác và phát hiện khi các kịch bản bắt đầu lệch nhau."},"COPERNICUS":{"status":"PASS","detail":"Copernicus Marine cung cấp sóng và dòng chảy quanh Phú Quốc. Số liệu biển được ghép theo điểm và thời gian gần nhất phù hợp."},"RADAR_LIGHTNING":{"status":"UNRESOLVED","detail":"Chưa có coverage offshore ổn định"},"VVPQ":{"status":"PASS","detail":"METAR sân bay Phú Quốc là một trong các mốc quan trắc thực tế để JoTrip kiểm tra nhiệt độ, gió, tầm nhìn và trạng thái thời tiết hiện tại."},"VRAIN":{"status":"PASS","detail":"Mưa đo thực tế tại 3 trạm công khai trên đảo. JoTrip theo dõi mức tăng giữa các lần cập nhật để ước tính cường độ mưa gần hiện tại."},"HIMAWARI":{"status":"PASS","detail":"Himawari-9 giúp theo dõi mây đối lưu quanh Phú Quốc qua nhiệt độ đỉnh mây, độ cao đỉnh mây và xu hướng phát triển trong khoảng 20 phút."},"AQI":{"status":"PASS","detail":"IQAir được ưu tiên khi có điểm đo phù hợp; CAMS được dùng làm nguồn tham chiếu cho PM2.5, PM10 và chất lượng không khí khu vực."},"TRIỀU":{"status":"PASS","detail":"Triều được tính từ FES2014/Copernicus. Đây là số liệu mô hình, không phải phép đo tại trạm và không thay mực nước hải đồ cảng."}},"gaps":[{"name":"Độ đồng thuận nhiều mô hình từ ngày 4 đến ngày 10","detail":"GEFS đã có đủ 10 ngày, nhưng dự báo tổ hợp dài hạn từ các họ mô hình khác vẫn chưa được tích hợp đầy đủ. Vì vậy từ ngày 4 trở đi hệ thống chủ động hạ mức tin cậy."},{"name":"Sóng lớn Hmax","detail":"Nguồn ECMWF Open Data hiện chưa cung cấp trực tiếp Hmax cho chuỗi dữ liệu này. Khi cần, JoTrip ước tính Hmax từ Hs bằng phương pháp thống kê và luôn ghi rõ đây là giá trị ước tính."},{"name":"Quan sát dông ngoài khơi","detail":"Chưa có lớp radar/sét ngoài khơi đủ ổn định cho toàn vùng biển quanh Phú Quốc."}],"points":{"duong_dong":{"name":"Dương Đông","status":"LIVE DIRECT MODEL","local":{"available":true,"temperature_c":26.9,"wind_kmh":6.9,"rain_rate_mm_h":0,"rain_confidence":0.57,"convection_score":75,"wave_hs_m":0.55,"temperature_class":"ESTIMATED_NOW","wind_class":"ESTIMATED_NOW","rain_class":"ESTIMATED_NOW","marine_class":"MODEL_ONLY"},"today":[{"t":"2026-09-28T22:00:00+07:00","temp":24.1,"wind":9,"gust":18.8,"rain":5.74,"wave":0.58}],"model":{"temperature_c":26.8,"wind_kmh":5.6,"gust_kmh":12.9,"rain_3h_mm":0.02,"wave_hs_m":0.4,"wave_hmax_m":0.79,"period_s":4.39,"current_kmh":0.45,"wave_regional_hs_m":0.47,"marine_sampled_time":"2026-09-28T12:00:00Z","wave_max_method":"RAYLEIGH_20MIN_PROXY_FROM_REGIONAL_HS","long_range_status":"CONTROL_TREND_ONLY"},"aqi":{"status":"POINT_NUMERIC_READY","sampled_time":"2026-09-28T12:00:00.000Z","aqi_us":61,"category":"MODERATE","aqi_source":"IQAIR_COMMUNITY_REALTIME","source_city":"Duong Dong","pm25_ugm3":7.9,"pm10_ugm3":9.6,"model_aqi_us":44,"divergence":17},"tide":{"status":"POINT_NUMERIC_READY","generated_at":"2026-09-28T21:11:57.709467+07:00","height_m":-0.13,"current_time":"2026-09-28T21:00:00+07:00","trend":"RISING","range_24h_m":0.401,"next_high":{"type":"HIGH","time":"2026-09-29T04:00:00+07:00","height_m":0.129},"next_low":{"type":"LOW","time":"2026-09-29T08:00:00+07:00","height_m":0.083},"next_turn":{"type":"HIGH","time":"2026-09-29T04:00:00+07:00","height_m":0.129},"source":"COPERNICUS_MARINE_FES2014","height_reference":"MODEL_MEAN_SEA_LEVEL"},"nowcast":{"status":"POINT_NUMERIC_READY","sampled_time":"2026-09-28T15:10:21Z","source":"JMA_HIMAWARI9_VIA_NOAA_OPEN_DATA","cloud_top_cold_c":-80,"cloud_top_high_m":16030,"cooling_c_per_20m":7.3,"convective_score":75,"convective_level":"HIGH","lightning":"NOT_CONNECTED"},"ensemble":{"status":"MEMBER_MATRIX_READY","readiness":"MEMBER_MATRIX_READY","source":"NOAA_NOMADS_GEFS_GRIB_FILTER","run_time":"2026-09-28T06:00:00+00:00","completion_ratio":0.907,"calibration_status":"READY","rows":[{"lead_hours":6,"valid_time":"2026-09-28T12:00:00+00:00","members":28,"wind":{"q50":-0.056,"q90":3.522,"q95":4.164,"spread":2.185,"prob":0,"threshold":30,"members":28},"rain":{"q50":0.85,"q90":1.43,"q95":1.955,"spread":0.6,"prob":0,"threshold":5,"members":28},"temperature":{"q50":27.978,"q90":28.139,"q95":28.182,"spread":0.183,"prob":null,"threshold":null,"members":28}},{"lead_hours":12,"valid_time":"2026-09-28T18:00:00+00:00","members":28,"wind":{"q50":1.711,"q90":5.649,"q95":6.426,"spread":3.932,"prob":0,"threshold":30,"members":28},"rain":{"q50":1.6,"q90":3.22,"q95":3.89,"spread":1.025,"prob":0.036,"threshold":5,"members":28},"temperature":{"q50":27.651,"q90":27.757,"q95":27.777,"spread":0.118,"prob":null,"threshold":null,"members":28}},{"lead_hours":18,"valid_time":"2026-09-29T00:00:00+00:00","members":28,"wind":{"q50":-4.219,"q90":-0.817,"q95":-0.253,"spread":3.008,"prob":0,"threshold":30,"members":28},"rain":{"q50":3.7,"q90":4.91,"q95":5.855,"spread":1.3,"prob":0.107,"threshold":5,"members":28},"temperature":{"q50":27.493,"q90":27.693,"q95":27.702,"spread":0.231,"prob":null,"threshold":null,"members":28}},{"lead_hours":24,"valid_time":"2026-09-29T06:00:00+00:00","members":26,"wind":{"q50":-7.803,"q90":-3.989,"q95":-3.137,"spread":2.283,"prob":0,"threshold":30,"members":26},"rain":{"q50":0,"q90":0.9,"q95":1.05,"spread":0.275,"prob":0,"threshold":5,"members":26},"temperature":{"q50":27.938,"q90":28.146,"q95":28.171,"spread":0.287,"prob":null,"threshold":null,"members":26}},{"lead_hours":30,"valid_time":"2026-09-29T12:00:00+00:00","members":30,"wind":{"q50":-4.492,"q90":-2.265,"q95":-2.188,"spread":2.681,"prob":0,"threshold":30,"members":30},"rain":{"q50":0,"q90":0.11,"q95":0.2,"spread":0,"prob":0,"threshold":5,"members":30},"temperature":{"q50":28.526,"q90":28.808,"q95":28.808,"spread":0.191,"prob":null,"threshold":null,"members":30}},{"lead_hours":36,"valid_time":"2026-09-29T18:00:00+00:00","members":28,"wind":{"q50":-0.081,"q90":2.999,"q95":3.193,"spread":3.96,"prob":0,"threshold":30,"members":28},"rain":{"q50":0.05,"q90":0.78,"q95":2.175,"spread":0.362,"prob":0,"threshold":5,"members":28},"temperature":{"q50":27.908,"q90":28.015,"q95":28.024,"spread":0.182,"prob":null,"threshold":null,"members":28}},{"lead_hours":42,"valid_time":"2026-09-30T00:00:00+00:00","members":27,"wind":{"q50":-0.717,"q90":1.788,"q95":3.814,"spread":2.663,"prob":0,"threshold":30,"members":27},"rain":{"q50":0.6,"q90":3.14,"q95":3.5,"spread":2.05,"prob":0.037,"threshold":5,"members":27},"temperature":{"q50":27.533,"q90":27.674,"q95":27.722,"spread":0.159,"prob":null,"threshold":null,"members":27}},{"lead_hours":48,"valid_time":"2026-09-30T06:00:00+00:00","members":25,"wind":{"q50":-0.284,"q90":3.871,"q95":5.053,"spread":5.711,"prob":0,"threshold":30,"members":25},"rain":{"q50":0,"q90":3.2,"q95":4.16,"spread":1,"prob":0.04,"threshold":5,"members":25},"temperature":{"q50":27.725,"q90":27.924,"q95":28.114,"spread":0.211,"prob":null,"threshold":null,"members":25}},{"lead_hours":54,"valid_time":"2026-09-30T12:00:00+00:00","members":30,"wind":{"q50":0.719,"q90":3.87,"q95":7.259,"spread":4.003,"prob":0,"threshold":30,"members":30},"rain":{"q50":0.1,"q90":0.61,"q95":1.305,"spread":0.2,"prob":0,"threshold":5,"members":30},"temperature":{"q50":27.868,"q90":28.142,"q95":28.212,"spread":0.241,"prob":null,"threshold":null,"members":30}},{"lead_hours":60,"valid_time":"2026-09-30T18:00:00+00:00","members":28,"wind":{"q50":1.928,"q90":5.304,"q95":7.363,"spread":4.095,"prob":0,"threshold":30,"members":28},"rain":{"q50":0.55,"q90":4.01,"q95":6.58,"spread":2.525,"prob":0.071,"threshold":5,"members":28},"temperature":{"q50":27.596,"q90":27.772,"q95":27.83,"spread":0.198,"prob":null,"threshold":null,"members":28}},{"lead_hours":66,"valid_time":"2026-10-01T00:00:00+00:00","members":27,"wind":{"q50":-0.399,"q90":4.838,"q95":5.354,"spread":5.6,"prob":0,"threshold":30,"members":27},"rain":{"q50":4,"q90":10.48,"q95":14.26,"spread":5.05,"prob":0.37,"threshold":5,"members":27},"temperature":{"q50":27.298,"q90":27.591,"q95":27.631,"spread":0.57,"prob":null,"threshold":null,"members":27}},{"lead_hours":72,"valid_time":"2026-10-01T06:00:00+00:00","members":27,"wind":{"q50":-0.42,"q90":4.926,"q95":6.696,"spread":6.183,"prob":0,"threshold":30,"members":27},"rain":{"q50":2.1,"q90":8,"q95":8.6,"spread":4.35,"prob":0.259,"threshold":5,"members":27},"temperature":{"q50":27.57,"q90":28.059,"q95":28.085,"spread":0.572,"prob":null,"threshold":null,"members":27}}]}},"an_thoi":{"name":"An Thới","status":"LIVE DIRECT MODEL","local":{"available":true,"temperature_c":29.4,"wind_kmh":16.9,"rain_rate_mm_h":0,"rain_confidence":0.88,"convection_score":75,"wave_hs_m":0.42,"temperature_class":"ESTIMATED_NOW","wind_class":"ESTIMATED_NOW","rain_class":"ESTIMATED_NOW","marine_class":"MODEL_ONLY"},"today":[{"t":"2026-09-28T22:00:00+07:00","temp":26.5,"wind":16.3,"gust":30.1,"rain":5.65,"wave":0.51}],"model":{"temperature_c":29.3,"wind_kmh":16.1,"gust_kmh":20.8,"rain_3h_mm":0.02,"wave_hs_m":0.44,"wave_hmax_m":0.82,"period_s":4.43,"current_kmh":0.49,"wave_regional_hs_m":0.49,"marine_sampled_time":"2026-09-28T12:00:00Z","wave_max_method":"RAYLEIGH_20MIN_PROXY_FROM_REGIONAL_HS","long_range_status":"CONTROL_TREND_ONLY"},"aqi":{"status":"POINT_NUMERIC_READY","sampled_time":"2026-09-28T15:00:00.000Z","aqi_us":158,"category":"UNHEALTHY","aqi_source":"IQAIR_COMMUNITY_REALTIME","source_city":"Phu Quoc City","pm25_ugm3":13,"pm10_ugm3":15.4,"model_aqi_us":58,"divergence":100},"tide":{"status":"POINT_NUMERIC_READY","generated_at":"2026-09-28T21:11:57.709467+07:00","height_m":-0.115,"current_time":"2026-09-28T21:00:00+07:00","trend":"RISING","range_24h_m":0.389,"next_high":{"type":"HIGH","time":"2026-09-29T04:00:00+07:00","height_m":0.169},"next_low":{"type":"LOW","time":"2026-09-29T20:00:00+07:00","height_m":-0.22},"next_turn":{"type":"HIGH","time":"2026-09-29T04:00:00+07:00","height_m":0.169},"source":"COPERNICUS_MARINE_FES2014","height_reference":"MODEL_MEAN_SEA_LEVEL"},"nowcast":{"status":"POINT_NUMERIC_READY","sampled_time":"2026-09-28T15:10:21Z","source":"JMA_HIMAWARI9_VIA_NOAA_OPEN_DATA","cloud_top_cold_c":-76.2,"cloud_top_high_m":15967,"cooling_c_per_20m":9.6,"convective_score":75,"convective_level":"HIGH","lightning":"NOT_CONNECTED"},"ensemble":{"status":"MEMBER_MATRIX_READY","readiness":"MEMBER_MATRIX_READY","source":"NOAA_NOMADS_GEFS_GRIB_FILTER","run_time":"2026-09-28T06:00:00+00:00","completion_ratio":0.907,"calibration_status":"READY","rows":[{"lead_hours":6,"valid_time":"2026-09-28T12:00:00+00:00","members":28,"wind":{"q50":11.6,"q90":15.178,"q95":15.82,"spread":2.185,"prob":0,"threshold":30,"members":28},"rain":{"q50":0.215,"q90":0.362,"q95":0.494,"spread":0.152,"prob":0,"threshold":5,"members":28},"temperature":{"q50":29.177,"q90":29.338,"q95":29.382,"spread":0.183,"prob":null,"threshold":null,"members":28}},{"lead_hours":12,"valid_time":"2026-09-28T18:00:00+00:00","members":28,"wind":{"q50":13.368,"q90":17.305,"q95":18.083,"spread":3.932,"prob":0,"threshold":30,"members":28},"rain":{"q50":0.405,"q90":0.814,"q95":0.983,"spread":0.259,"prob":0,"threshold":5,"members":28},"temperature":{"q50":28.85,"q90":28.956,"q95":28.977,"spread":0.118,"prob":null,"threshold":null,"members":28}},{"lead_hours":18,"valid_time":"2026-09-29T00:00:00+00:00","members":28,"wind":{"q50":7.438,"q90":10.84,"q95":11.404,"spread":3.008,"prob":0,"threshold":30,"members":28},"rain":{"q50":0.935,"q90":1.241,"q95":1.48,"spread":0.329,"prob":0,"threshold":5,"members":28},"temperature":{"q50":28.692,"q90":28.892,"q95":28.901,"spread":0.231,"prob":null,"threshold":null,"members":28}},{"lead_hours":24,"valid_time":"2026-09-29T06:00:00+00:00","members":26,"wind":{"q50":3.853,"q90":7.668,"q95":8.519,"spread":2.283,"prob":0,"threshold":30,"members":26},"rain":{"q50":0,"q90":0.228,"q95":0.265,"spread":0.07,"prob":0,"threshold":5,"members":26},"temperature":{"q50":29.137,"q90":29.345,"q95":29.37,"spread":0.287,"prob":null,"threshold":null,"members":26}},{"lead_hours":30,"valid_time":"2026-09-29T12:00:00+00:00","members":30,"wind":{"q50":8.841,"q90":11.068,"q95":11.145,"spread":2.681,"prob":0,"threshold":30,"members":30},"rain":{"q50":0,"q90":0.028,"q95":0.051,"spread":0,"prob":0,"threshold":5,"members":30},"temperature":{"q50":29.568,"q90":29.85,"q95":29.85,"spread":0.191,"prob":null,"threshold":null,"members":30}},{"lead_hours":36,"valid_time":"2026-09-29T18:00:00+00:00","members":28,"wind":{"q50":13.253,"q90":16.332,"q95":16.526,"spread":3.96,"prob":0,"threshold":30,"members":28},"rain":{"q50":0.013,"q90":0.2,"q95":0.557,"spread":0.093,"prob":0,"threshold":5,"members":28},"temperature":{"q50":28.95,"q90":29.057,"q95":29.066,"spread":0.182,"prob":null,"threshold":null,"members":28}},{"lead_hours":42,"valid_time":"2026-09-30T00:00:00+00:00","members":27,"wind":{"q50":12.617,"q90":15.122,"q95":17.147,"spread":2.663,"prob":0,"threshold":30,"members":27},"rain":{"q50":0.154,"q90":0.805,"q95":0.897,"spread":0.525,"prob":0,"threshold":5,"members":27},"temperature":{"q50":28.575,"q90":28.717,"q95":28.764,"spread":0.159,"prob":null,"threshold":null,"members":27}},{"lead_hours":48,"valid_time":"2026-09-30T06:00:00+00:00","members":25,"wind":{"q50":13.049,"q90":17.204,"q95":18.386,"spread":5.711,"prob":0,"threshold":30,"members":25},"rain":{"q50":0,"q90":0.82,"q95":1.066,"spread":0.256,"prob":0,"threshold":5,"members":25},"temperature":{"q50":28.768,"q90":28.966,"q95":29.157,"spread":0.211,"prob":null,"threshold":null,"members":25}},{"lead_hours":54,"valid_time":"2026-09-30T12:00:00+00:00","members":30,"wind":{"q50":14.934,"q90":18.085,"q95":21.473,"spread":4.003,"prob":0,"threshold":30,"members":30},"rain":{"q50":0.018,"q90":0.11,"q95":0.234,"spread":0.036,"prob":0,"threshold":5,"members":30},"temperature":{"q50":28.985,"q90":29.259,"q95":29.329,"spread":0.241,"prob":null,"threshold":null,"members":30}},{"lead_hours":60,"valid_time":"2026-09-30T18:00:00+00:00","members":28,"wind":{"q50":16.142,"q90":19.518,"q95":21.578,"spread":4.095,"prob":0,"threshold":30,"members":28},"rain":{"q50":0.099,"q90":0.72,"q95":1.182,"spread":0.453,"prob":0,"threshold":5,"members":28},"temperature":{"q50":28.713,"q90":28.889,"q95":28.947,"spread":0.198,"prob":null,"threshold":null,"members":28}},{"lead_hours":66,"valid_time":"2026-10-01T00:00:00+00:00","members":27,"wind":{"q50":13.815,"q90":19.053,"q95":19.569,"spread":5.6,"prob":0.037,"threshold":30,"members":27},"rain":{"q50":0.718,"q90":1.882,"q95":2.561,"spread":0.907,"prob":0,"threshold":5,"members":27},"temperature":{"q50":28.414,"q90":28.708,"q95":28.748,"spread":0.57,"prob":null,"threshold":null,"members":27}},{"lead_hours":72,"valid_time":"2026-10-01T06:00:00+00:00","members":27,"wind":{"q50":13.794,"q90":19.141,"q95":20.911,"spread":6.183,"prob":0,"threshold":30,"members":27},"rain":{"q50":0.377,"q90":1.437,"q95":1.544,"spread":0.781,"prob":0,"threshold":5,"members":27},"temperature":{"q50":28.687,"q90":29.176,"q95":29.202,"spread":0.572,"prob":null,"threshold":null,"members":27}}]}},"ganh_dau":{"name":"Gành Dầu","status":"LIVE DIRECT MODEL","local":{"available":true,"temperature_c":29.1,"wind_kmh":6.8,"rain_rate_mm_h":0,"rain_confidence":0.57,"convection_score":75,"wave_hs_m":0.11,"temperature_class":"ESTIMATED_NOW","wind_class":"ESTIMATED_NOW","rain_class":"ESTIMATED_NOW","marine_class":"MODEL_ONLY"},"today":[{"t":"2026-09-28T22:00:00+07:00","temp":25.7,"wind":6.5,"gust":19.8,"rain":6.09,"wave":0.1}],"model":{"temperature_c":29,"wind_kmh":5.9,"gust_kmh":10.9,"rain_3h_mm":0.05,"wave_hs_m":0.31,"wave_hmax_m":0.59,"period_s":4.38,"current_kmh":0.25,"wave_regional_hs_m":0.35,"marine_sampled_time":"2026-09-28T12:00:00Z","wave_max_method":"RAYLEIGH_20MIN_PROXY_FROM_REGIONAL_HS","long_range_status":"CONTROL_TREND_ONLY"},"aqi":{"status":"POINT_NUMERIC_READY","sampled_time":"2026-09-28T12:00:00.000Z","aqi_us":61,"category":"MODERATE","aqi_source":"IQAIR_COMMUNITY_REALTIME","source_city":"Duong Dong","pm25_ugm3":7.9,"pm10_ugm3":9.6,"model_aqi_us":44,"divergence":17},"tide":{"status":"POINT_NUMERIC_READY","generated_at":"2026-09-28T21:11:57.709467+07:00","height_m":-0.149,"current_time":"2026-09-28T21:00:00+07:00","trend":"RISING","range_24h_m":0.442,"next_high":{"type":"HIGH","time":"2026-09-29T05:00:00+07:00","height_m":0.178},"next_low":{"type":"LOW","time":"2026-09-29T09:00:00+07:00","height_m":0.07},"next_turn":{"type":"HIGH","time":"2026-09-29T05:00:00+07:00","height_m":0.178},"source":"COPERNICUS_MARINE_FES2014","height_reference":"MODEL_MEAN_SEA_LEVEL"},"nowcast":{"status":"POINT_NUMERIC_READY","sampled_time":"2026-09-28T15:10:21Z","source":"JMA_HIMAWARI9_VIA_NOAA_OPEN_DATA","cloud_top_cold_c":-82.5,"cloud_top_high_m":16083,"cooling_c_per_20m":5.7,"convective_score":75,"convective_level":"HIGH","lightning":"NOT_CONNECTED"},"ensemble":{"status":"MEMBER_MATRIX_READY","readiness":"MEMBER_MATRIX_READY","source":"NOAA_NOMADS_GEFS_GRIB_FILTER","run_time":"2026-09-28T06:00:00+00:00","completion_ratio":0.907,"calibration_status":"READY","rows":[{"lead_hours":6,"valid_time":"2026-09-28T12:00:00+00:00","members":28,"wind":{"q50":6.98,"q90":8.478,"q95":9.248,"spread":1.724,"prob":0,"threshold":30,"members":28},"rain":{"q50":1.55,"q90":2.4,"q95":2.725,"spread":0.5,"prob":0.036,"threshold":5,"members":28},"temperature":{"q50":27.992,"q90":28.195,"q95":28.23,"spread":0.128,"prob":null,"threshold":null,"members":28}},{"lead_hours":12,"valid_time":"2026-09-28T18:00:00+00:00","members":28,"wind":{"q50":5.552,"q90":8.654,"q95":9.685,"spread":3.528,"prob":0,"threshold":30,"members":28},"rain":{"q50":0.8,"q90":2.27,"q95":3.095,"spread":1.125,"prob":0,"threshold":5,"members":28},"temperature":{"q50":27.55,"q90":27.655,"q95":27.694,"spread":0.105,"prob":null,"threshold":null,"members":28}},{"lead_hours":18,"valid_time":"2026-09-29T00:00:00+00:00","members":28,"wind":{"q50":5.802,"q90":8.004,"q95":8.732,"spread":2.325,"prob":0,"threshold":30,"members":28},"rain":{"q50":2.55,"q90":4.15,"q95":4.825,"spread":1.925,"prob":0.071,"threshold":5,"members":28},"temperature":{"q50":27.342,"q90":27.582,"q95":27.61,"spread":0.232,"prob":null,"threshold":null,"members":28}},{"lead_hours":24,"valid_time":"2026-09-29T06:00:00+00:00","members":26,"wind":{"q50":9.138,"q90":10.56,"q95":11.225,"spread":1.864,"prob":0,"threshold":30,"members":26},"rain":{"q50":0.35,"q90":1.45,"q95":2.425,"spread":0.6,"prob":0.038,"threshold":5,"members":26},"temperature":{"q50":28.799,"q90":29.161,"q95":29.267,"spread":0.361,"prob":null,"threshold":null,"members":26}},{"lead_hours":30,"valid_time":"2026-09-29T12:00:00+00:00","members":30,"wind":{"q50":10.482,"q90":11.884,"q95":12.7,"spread":2.347,"prob":0,"threshold":30,"members":30},"rain":{"q50":1.35,"q90":2.48,"q95":3.31,"spread":0.925,"prob":0,"threshold":5,"members":30},"temperature":{"q50":28.223,"q90":28.376,"q95":28.438,"spread":0.317,"prob":null,"threshold":null,"members":30}},{"lead_hours":36,"valid_time":"2026-09-29T18:00:00+00:00","members":28,"wind":{"q50":12.947,"q90":15.729,"q95":16.458,"spread":3.288,"prob":0,"threshold":30,"members":28},"rain":{"q50":0.35,"q90":2.6,"q95":3.43,"spread":1.125,"prob":0,"threshold":5,"members":28},"temperature":{"q50":27.354,"q90":27.557,"q95":27.623,"spread":0.239,"prob":null,"threshold":null,"members":28}},{"lead_hours":42,"valid_time":"2026-09-30T00:00:00+00:00","members":27,"wind":{"q50":10.966,"q90":14.257,"q95":14.727,"spread":2.782,"prob":0,"threshold":30,"members":27},"rain":{"q50":0.8,"q90":3.32,"q95":3.64,"spread":1.3,"prob":0.037,"threshold":5,"members":27},"temperature":{"q50":27.055,"q90":27.281,"q95":27.314,"spread":0.322,"prob":null,"threshold":null,"members":27}},{"lead_hours":48,"valid_time":"2026-09-30T06:00:00+00:00","members":25,"wind":{"q50":11.156,"q90":13.929,"q95":14.136,"spread":3.542,"prob":0,"threshold":30,"members":25},"rain":{"q50":1.1,"q90":2.44,"q95":2.84,"spread":1.1,"prob":0,"threshold":5,"members":25},"temperature":{"q50":28.776,"q90":29.365,"q95":29.48,"spread":0.452,"prob":null,"threshold":null,"members":25}},{"lead_hours":54,"valid_time":"2026-09-30T12:00:00+00:00","members":30,"wind":{"q50":14.818,"q90":16.46,"q95":18.9,"spread":3.409,"prob":0,"threshold":30,"members":30},"rain":{"q50":2,"q90":4.62,"q95":4.855,"spread":2.2,"prob":0.033,"threshold":5,"members":30},"temperature":{"q50":27.849,"q90":28.071,"q95":28.153,"spread":0.194,"prob":null,"threshold":null,"members":30}},{"lead_hours":60,"valid_time":"2026-09-30T18:00:00+00:00","members":28,"wind":{"q50":14.85,"q90":17.7,"q95":18.839,"spread":3.097,"prob":0,"threshold":30,"members":28},"rain":{"q50":1.7,"q90":6.06,"q95":6.785,"spread":2.625,"prob":0.143,"threshold":5,"members":28},"temperature":{"q50":27.227,"q90":27.455,"q95":27.505,"spread":0.247,"prob":null,"threshold":null,"members":28}},{"lead_hours":66,"valid_time":"2026-10-01T00:00:00+00:00","members":27,"wind":{"q50":11.588,"q90":16.035,"q95":19.365,"spread":5.019,"prob":0,"threshold":30,"members":27},"rain":{"q50":2.6,"q90":8.38,"q95":11.26,"spread":4,"prob":0.185,"threshold":5,"members":27},"temperature":{"q50":27.027,"q90":27.365,"q95":27.447,"spread":0.294,"prob":null,"threshold":null,"members":27}},{"lead_hours":72,"valid_time":"2026-10-01T06:00:00+00:00","members":27,"wind":{"q50":10.893,"q90":15.668,"q95":17.235,"spread":5.524,"prob":0,"threshold":30,"members":27},"rain":{"q50":2.8,"q90":7.6,"q95":9.11,"spread":3.85,"prob":0.259,"threshold":5,"members":27},"temperature":{"q50":28.811,"q90":29.49,"q95":29.545,"spread":0.959,"prob":null,"threshold":null,"members":27}}]}},"rach_gia":{"name":"Rạch Giá","status":"LIVE DIRECT MODEL","local":{"available":true,"temperature_c":28.3,"wind_kmh":11.5,"rain_rate_mm_h":0.08,"rain_confidence":0.3,"convection_score":100,"wave_hs_m":0.14,"temperature_class":"MODEL_ONLY","wind_class":"MODEL_ONLY","rain_class":"MODEL_ONLY","marine_class":"MODEL_ONLY"},"today":[{"t":"2026-09-28T22:00:00+07:00","temp":27.7,"wind":9.5,"gust":15.1,"rain":0.01,"wave":0.12}],"model":{"temperature_c":28.3,"wind_kmh":11.5,"gust_kmh":16.6,"rain_3h_mm":0.25,"wave_hs_m":0.1,"wave_hmax_m":0.18,"period_s":4.23,"current_kmh":0.22,"wave_regional_hs_m":0.11,"marine_sampled_time":"2026-09-28T12:00:00Z","wave_max_method":"RAYLEIGH_20MIN_PROXY_FROM_REGIONAL_HS","long_range_status":"CONTROL_TREND_ONLY"},"aqi":{"status":"POINT_NUMERIC_READY","sampled_time":"2026-09-28T12:00:00.000Z","aqi_us":76,"category":"MODERATE","aqi_source":"IQAIR_COMMUNITY_REALTIME","source_city":"Rach Gia","pm25_ugm3":26.8,"pm10_ugm3":28.3,"model_aqi_us":84,"divergence":-8},"tide":{"status":"POINT_NUMERIC_READY","generated_at":"2026-09-28T21:11:57.709467+07:00","height_m":-0.105,"current_time":"2026-09-28T21:00:00+07:00","trend":"RISING","range_24h_m":0.478,"next_high":{"type":"HIGH","time":"2026-09-29T05:00:00+07:00","height_m":0.288},"next_low":{"type":"LOW","time":"2026-09-29T12:00:00+07:00","height_m":-0.19},"next_turn":{"type":"HIGH","time":"2026-09-29T05:00:00+07:00","height_m":0.288},"source":"COPERNICUS_MARINE_FES2014","height_reference":"MODEL_MEAN_SEA_LEVEL"},"nowcast":{"status":"POINT_NUMERIC_READY","sampled_time":"2026-09-28T15:10:21Z","source":"JMA_HIMAWARI9_VIA_NOAA_OPEN_DATA","cloud_top_cold_c":-75.8,"cloud_top_high_m":16093,"cooling_c_per_20m":-9.2,"convective_score":100,"convective_level":"HIGH","lightning":"NOT_CONNECTED"},"ensemble":{"status":"MEMBER_MATRIX_READY","readiness":"MEMBER_MATRIX_READY","source":"NOAA_NOMADS_GEFS_GRIB_FILTER","run_time":"2026-09-28T06:00:00+00:00","completion_ratio":0.907,"calibration_status":"READY","rows":[]}},"cua_can":{"name":"Cửa Cạn","status":"LIVE DIRECT MODEL","local":{"available":true,"temperature_c":26.9,"wind_kmh":6.9,"rain_rate_mm_h":0,"rain_confidence":0.88,"convection_score":75,"wave_hs_m":0.51,"temperature_class":"ESTIMATED_NOW","wind_class":"ESTIMATED_NOW","rain_class":"ESTIMATED_NOW","marine_class":"MODEL_ONLY"},"today":[{"t":"2026-09-28T22:00:00+07:00","temp":24.1,"wind":9,"gust":18.8,"rain":5.74,"wave":0.5}],"model":{"temperature_c":26.8,"wind_kmh":5.6,"gust_kmh":12.9,"rain_3h_mm":0.02,"wave_hs_m":0.35,"wave_hmax_m":0.74,"period_s":4.4,"current_kmh":0.45,"wave_regional_hs_m":0.44,"marine_sampled_time":"2026-09-28T12:00:00Z","wave_max_method":"RAYLEIGH_20MIN_PROXY_FROM_REGIONAL_HS","long_range_status":"CONTROL_TREND_ONLY"},"aqi":{"status":"POINT_NUMERIC_READY","sampled_time":"2026-09-28T12:00:00.000Z","aqi_us":61,"category":"MODERATE","aqi_source":"IQAIR_COMMUNITY_REALTIME","source_city":"Duong Dong","pm25_ugm3":7.9,"pm10_ugm3":9.6,"model_aqi_us":44,"divergence":17},"tide":{"status":"POINT_NUMERIC_READY","generated_at":"2026-09-28T21:11:57.709467+07:00","height_m":-0.13,"current_time":"2026-09-28T21:00:00+07:00","trend":"RISING","range_24h_m":0.401,"next_high":{"type":"HIGH","time":"2026-09-29T04:00:00+07:00","height_m":0.129},"next_low":{"type":"LOW","time":"2026-09-29T08:00:00+07:00","height_m":0.083},"next_turn":{"type":"HIGH","time":"2026-09-29T04:00:00+07:00","height_m":0.129},"source":"COPERNICUS_MARINE_FES2014","height_reference":"MODEL_MEAN_SEA_LEVEL"},"nowcast":{"status":"POINT_NUMERIC_READY","sampled_time":"2026-09-28T15:10:21Z","source":"JMA_HIMAWARI9_VIA_NOAA_OPEN_DATA","cloud_top_cold_c":-82,"cloud_top_high_m":16052,"cooling_c_per_20m":6.3,"convective_score":75,"convective_level":"HIGH","lightning":"NOT_CONNECTED"},"ensemble":{"status":"MEMBER_MATRIX_READY","readiness":"MEMBER_MATRIX_READY","source":"NOAA_NOMADS_GEFS_GRIB_FILTER","run_time":"2026-09-28T06:00:00+00:00","completion_ratio":0.907,"calibration_status":"READY","rows":[{"lead_hours":6,"valid_time":"2026-09-28T12:00:00+00:00","members":28,"wind":{"q50":6.98,"q90":8.478,"q95":9.248,"spread":1.724,"prob":0,"threshold":30,"members":28},"rain":{"q50":1.646,"q90":2.549,"q95":2.894,"spread":0.531,"prob":0.036,"threshold":5,"members":28},"temperature":{"q50":27.992,"q90":28.195,"q95":28.23,"spread":0.128,"prob":null,"threshold":null,"members":28}},{"lead_hours":12,"valid_time":"2026-09-28T18:00:00+00:00","members":28,"wind":{"q50":5.552,"q90":8.654,"q95":9.685,"spread":3.528,"prob":0,"threshold":30,"members":28},"rain":{"q50":0.85,"q90":2.411,"q95":3.287,"spread":1.195,"prob":0,"threshold":5,"members":28},"temperature":{"q50":27.55,"q90":27.655,"q95":27.694,"spread":0.105,"prob":null,"threshold":null,"members":28}},{"lead_hours":18,"valid_time":"2026-09-29T00:00:00+00:00","members":28,"wind":{"q50":5.802,"q90":8.004,"q95":8.732,"spread":2.325,"prob":0,"threshold":30,"members":28},"rain":{"q50":2.708,"q90":4.408,"q95":5.125,"spread":2.044,"prob":0.071,"threshold":5,"members":28},"temperature":{"q50":27.342,"q90":27.582,"q95":27.61,"spread":0.232,"prob":null,"threshold":null,"members":28}},{"lead_hours":24,"valid_time":"2026-09-29T06:00:00+00:00","members":26,"wind":{"q50":9.138,"q90":10.56,"q95":11.225,"spread":1.864,"prob":0,"threshold":30,"members":26},"rain":{"q50":0.372,"q90":1.54,"q95":2.576,"spread":0.637,"prob":0.038,"threshold":5,"members":26},"temperature":{"q50":28.799,"q90":29.161,"q95":29.267,"spread":0.361,"prob":null,"threshold":null,"members":26}},{"lead_hours":30,"valid_time":"2026-09-29T12:00:00+00:00","members":30,"wind":{"q50":10.482,"q90":11.884,"q95":12.7,"spread":2.347,"prob":0,"threshold":30,"members":30},"rain":{"q50":1.592,"q90":2.925,"q95":3.903,"spread":1.091,"prob":0,"threshold":5,"members":30},"temperature":{"q50":28.223,"q90":28.376,"q95":28.438,"spread":0.317,"prob":null,"threshold":null,"members":30}},{"lead_hours":36,"valid_time":"2026-09-29T18:00:00+00:00","members":28,"wind":{"q50":12.947,"q90":15.729,"q95":16.458,"spread":3.288,"prob":0,"threshold":30,"members":28},"rain":{"q50":0.413,"q90":3.066,"q95":4.045,"spread":1.327,"prob":0,"threshold":5,"members":28},"temperature":{"q50":27.354,"q90":27.557,"q95":27.623,"spread":0.239,"prob":null,"threshold":null,"members":28}},{"lead_hours":42,"valid_time":"2026-09-30T00:00:00+00:00","members":27,"wind":{"q50":10.966,"q90":14.257,"q95":14.727,"spread":2.782,"prob":0,"threshold":30,"members":27},"rain":{"q50":0.943,"q90":3.915,"q95":4.292,"spread":1.533,"prob":0.037,"threshold":5,"members":27},"temperature":{"q50":27.055,"q90":27.281,"q95":27.314,"spread":0.322,"prob":null,"threshold":null,"members":27}},{"lead_hours":48,"valid_time":"2026-09-30T06:00:00+00:00","members":25,"wind":{"q50":11.156,"q90":13.929,"q95":14.136,"spread":3.542,"prob":0,"threshold":30,"members":25},"rain":{"q50":1.297,"q90":2.877,"q95":3.349,"spread":1.297,"prob":0,"threshold":5,"members":25},"temperature":{"q50":28.776,"q90":29.365,"q95":29.48,"spread":0.452,"prob":null,"threshold":null,"members":25}},{"lead_hours":54,"valid_time":"2026-09-30T12:00:00+00:00","members":30,"wind":{"q50":14.818,"q90":16.46,"q95":18.9,"spread":3.409,"prob":0,"threshold":30,"members":30},"rain":{"q50":2.187,"q90":5.051,"q95":5.308,"spread":2.405,"prob":0.133,"threshold":5,"members":30},"temperature":{"q50":27.849,"q90":28.071,"q95":28.153,"spread":0.194,"prob":null,"threshold":null,"members":30}},{"lead_hours":60,"valid_time":"2026-09-30T18:00:00+00:00","members":28,"wind":{"q50":14.85,"q90":17.7,"q95":18.839,"spread":3.097,"prob":0,"threshold":30,"members":28},"rain":{"q50":1.859,"q90":6.626,"q95":7.418,"spread":2.87,"prob":0.143,"threshold":5,"members":28},"temperature":{"q50":27.227,"q90":27.455,"q95":27.505,"spread":0.247,"prob":null,"threshold":null,"members":28}},{"lead_hours":66,"valid_time":"2026-10-01T00:00:00+00:00","members":27,"wind":{"q50":11.588,"q90":16.035,"q95":19.365,"spread":5.019,"prob":0,"threshold":30,"members":27},"rain":{"q50":2.843,"q90":9.162,"q95":12.311,"spread":4.373,"prob":0.259,"threshold":5,"members":27},"temperature":{"q50":27.027,"q90":27.365,"q95":27.447,"spread":0.294,"prob":null,"threshold":null,"members":27}},{"lead_hours":72,"valid_time":"2026-10-01T06:00:00+00:00","members":27,"wind":{"q50":10.893,"q90":15.668,"q95":17.235,"spread":5.524,"prob":0,"threshold":30,"members":27},"rain":{"q50":3.061,"q90":8.309,"q95":9.96,"spread":4.209,"prob":0.259,"threshold":5,"members":27},"temperature":{"q50":28.811,"q90":29.49,"q95":29.545,"spread":0.959,"prob":null,"threshold":null,"members":27}}]}},"bai_thom":{"name":"Bãi Thơm","status":"LIVE DIRECT MODEL","local":{"available":true,"temperature_c":29.1,"wind_kmh":6.8,"rain_rate_mm_h":0,"rain_confidence":0.88,"convection_score":75,"wave_hs_m":0.11,"temperature_class":"ESTIMATED_NOW","wind_class":"ESTIMATED_NOW","rain_class":"ESTIMATED_NOW","marine_class":"MODEL_ONLY"},"today":[{"t":"2026-09-28T22:00:00+07:00","temp":25.7,"wind":6.5,"gust":19.8,"rain":6.09,"wave":0.1}],"model":{"temperature_c":29,"wind_kmh":5.9,"gust_kmh":10.9,"rain_3h_mm":0.05,"wave_hs_m":0.24,"wave_hmax_m":0.47,"period_s":4.34,"current_kmh":0.25,"wave_regional_hs_m":0.28,"marine_sampled_time":"2026-09-28T12:00:00Z","wave_max_method":"RAYLEIGH_20MIN_PROXY_FROM_REGIONAL_HS","long_range_status":"CONTROL_TREND_ONLY"},"aqi":{"status":"POINT_NUMERIC_READY","sampled_time":"2026-09-28T12:00:00.000Z","aqi_us":61,"category":"MODERATE","aqi_source":"IQAIR_COMMUNITY_REALTIME","source_city":"Duong Dong","pm25_ugm3":7.9,"pm10_ugm3":9.6,"model_aqi_us":44,"divergence":17},"tide":{"status":"POINT_NUMERIC_READY","generated_at":"2026-09-28T21:11:57.709467+07:00","height_m":-0.151,"current_time":"2026-09-28T21:00:00+07:00","trend":"RISING","range_24h_m":0.471,"next_high":{"type":"HIGH","time":"2026-09-29T05:00:00+07:00","height_m":0.231},"next_low":{"type":"LOW","time":"2026-09-29T15:00:00+07:00","height_m":-0.093},"next_turn":{"type":"HIGH","time":"2026-09-29T05:00:00+07:00","height_m":0.231},"source":"COPERNICUS_MARINE_FES2014","height_reference":"MODEL_MEAN_SEA_LEVEL"},"nowcast":{"status":"POINT_NUMERIC_READY","sampled_time":"2026-09-28T15:10:21Z","source":"JMA_HIMAWARI9_VIA_NOAA_OPEN_DATA","cloud_top_cold_c":-80.3,"cloud_top_high_m":16055,"cooling_c_per_20m":4.4,"convective_score":75,"convective_level":"HIGH","lightning":"NOT_CONNECTED"},"ensemble":{"status":"MEMBER_MATRIX_READY","readiness":"MEMBER_MATRIX_READY","source":"NOAA_NOMADS_GEFS_GRIB_FILTER","run_time":"2026-09-28T06:00:00+00:00","completion_ratio":0.907,"calibration_status":"READY","rows":[{"lead_hours":6,"valid_time":"2026-09-28T12:00:00+00:00","members":28,"wind":{"q50":6.98,"q90":8.478,"q95":9.248,"spread":1.724,"prob":0,"threshold":30,"members":28},"rain":{"q50":1.263,"q90":1.955,"q95":2.22,"spread":0.407,"prob":0,"threshold":5,"members":28},"temperature":{"q50":27.992,"q90":28.195,"q95":28.23,"spread":0.128,"prob":null,"threshold":null,"members":28}},{"lead_hours":12,"valid_time":"2026-09-28T18:00:00+00:00","members":28,"wind":{"q50":5.552,"q90":8.654,"q95":9.685,"spread":3.528,"prob":0,"threshold":30,"members":28},"rain":{"q50":0.652,"q90":1.849,"q95":2.521,"spread":0.917,"prob":0,"threshold":5,"members":28},"temperature":{"q50":27.55,"q90":27.655,"q95":27.694,"spread":0.105,"prob":null,"threshold":null,"members":28}},{"lead_hours":18,"valid_time":"2026-09-29T00:00:00+00:00","members":28,"wind":{"q50":5.802,"q90":8.004,"q95":8.732,"spread":2.325,"prob":0,"threshold":30,"members":28},"rain":{"q50":2.077,"q90":3.381,"q95":3.931,"spread":1.568,"prob":0,"threshold":5,"members":28},"temperature":{"q50":27.342,"q90":27.582,"q95":27.61,"spread":0.232,"prob":null,"threshold":null,"members":28}},{"lead_hours":24,"valid_time":"2026-09-29T06:00:00+00:00","members":26,"wind":{"q50":9.138,"q90":10.56,"q95":11.225,"spread":1.864,"prob":0,"threshold":30,"members":26},"rain":{"q50":0.285,"q90":1.181,"q95":1.976,"spread":0.489,"prob":0,"threshold":5,"members":26},"temperature":{"q50":28.799,"q90":29.161,"q95":29.267,"spread":0.361,"prob":null,"threshold":null,"members":26}},{"lead_hours":30,"valid_time":"2026-09-29T12:00:00+00:00","members":30,"wind":{"q50":10.482,"q90":11.884,"q95":12.7,"spread":2.347,"prob":0,"threshold":30,"members":30},"rain":{"q50":1.143,"q90":2.1,"q95":2.802,"spread":0.783,"prob":0,"threshold":5,"members":30},"temperature":{"q50":28.223,"q90":28.376,"q95":28.438,"spread":0.317,"prob":null,"threshold":null,"members":30}},{"lead_hours":36,"valid_time":"2026-09-29T18:00:00+00:00","members":28,"wind":{"q50":12.947,"q90":15.729,"q95":16.458,"spread":3.288,"prob":0,"threshold":30,"members":28},"rain":{"q50":0.296,"q90":2.201,"q95":2.904,"spread":0.952,"prob":0,"threshold":5,"members":28},"temperature":{"q50":27.354,"q90":27.557,"q95":27.623,"spread":0.239,"prob":null,"threshold":null,"members":28}},{"lead_hours":42,"valid_time":"2026-09-30T00:00:00+00:00","members":27,"wind":{"q50":10.966,"q90":14.257,"q95":14.727,"spread":2.782,"prob":0,"threshold":30,"members":27},"rain":{"q50":0.677,"q90":2.811,"q95":3.082,"spread":1.101,"prob":0.037,"threshold":5,"members":27},"temperature":{"q50":27.055,"q90":27.281,"q95":27.314,"spread":0.322,"prob":null,"threshold":null,"members":27}},{"lead_hours":48,"valid_time":"2026-09-30T06:00:00+00:00","members":25,"wind":{"q50":11.156,"q90":13.929,"q95":14.136,"spread":3.542,"prob":0,"threshold":30,"members":25},"rain":{"q50":0.931,"q90":2.066,"q95":2.404,"spread":0.931,"prob":0,"threshold":5,"members":25},"temperature":{"q50":28.776,"q90":29.365,"q95":29.48,"spread":0.452,"prob":null,"threshold":null,"members":25}},{"lead_hours":54,"valid_time":"2026-09-30T12:00:00+00:00","members":30,"wind":{"q50":14.818,"q90":16.46,"q95":18.9,"spread":3.409,"prob":0,"threshold":30,"members":30},"rain":{"q50":2.283,"q90":5.274,"q95":5.542,"spread":2.511,"prob":0.133,"threshold":5,"members":30},"temperature":{"q50":27.849,"q90":28.071,"q95":28.153,"spread":0.194,"prob":null,"threshold":null,"members":30}},{"lead_hours":60,"valid_time":"2026-09-30T18:00:00+00:00","members":28,"wind":{"q50":14.85,"q90":17.7,"q95":18.839,"spread":3.097,"prob":0,"threshold":30,"members":28},"rain":{"q50":1.941,"q90":6.918,"q95":7.746,"spread":2.997,"prob":0.143,"threshold":5,"members":28},"temperature":{"q50":27.227,"q90":27.455,"q95":27.505,"spread":0.247,"prob":null,"threshold":null,"members":28}},{"lead_hours":66,"valid_time":"2026-10-01T00:00:00+00:00","members":27,"wind":{"q50":11.588,"q90":16.035,"q95":19.365,"spread":5.019,"prob":0,"threshold":30,"members":27},"rain":{"q50":2.968,"q90":9.566,"q95":12.854,"spread":4.566,"prob":0.296,"threshold":5,"members":27},"temperature":{"q50":27.027,"q90":27.365,"q95":27.447,"spread":0.294,"prob":null,"threshold":null,"members":27}},{"lead_hours":72,"valid_time":"2026-10-01T06:00:00+00:00","members":27,"wind":{"q50":10.893,"q90":15.668,"q95":17.235,"spread":5.524,"prob":0,"threshold":30,"members":27},"rain":{"q50":3.196,"q90":8.676,"q95":10.4,"spread":4.395,"prob":0.296,"threshold":5,"members":27},"temperature":{"q50":28.811,"q90":29.49,"q95":29.545,"spread":0.959,"prob":null,"threshold":null,"members":27}}]}},"ham_ninh":{"name":"Hàm Ninh","status":"LIVE DIRECT MODEL","local":{"available":true,"temperature_c":26.9,"wind_kmh":6.9,"rain_rate_mm_h":0,"rain_confidence":0.53,"convection_score":75,"wave_hs_m":0.38,"temperature_class":"ESTIMATED_NOW","wind_class":"ESTIMATED_NOW","rain_class":"ESTIMATED_NOW","marine_class":"MODEL_ONLY"},"today":[{"t":"2026-09-28T22:00:00+07:00","temp":24.1,"wind":9,"gust":18.8,"rain":5.74,"wave":0.5}],"model":{"temperature_c":26.8,"wind_kmh":5.6,"gust_kmh":12.9,"rain_3h_mm":0.02,"wave_hs_m":0.37,"wave_hmax_m":0.74,"period_s":4.35,"current_kmh":0.25,"wave_regional_hs_m":0.44,"marine_sampled_time":"2026-09-28T12:00:00Z","wave_max_method":"RAYLEIGH_20MIN_PROXY_FROM_REGIONAL_HS","long_range_status":"CONTROL_TREND_ONLY"},"aqi":{"status":"POINT_NUMERIC_READY","sampled_time":"2026-09-28T12:00:00.000Z","aqi_us":61,"category":"MODERATE","aqi_source":"IQAIR_COMMUNITY_REALTIME","source_city":"Duong Dong","pm25_ugm3":13,"pm10_ugm3":15.4,"model_aqi_us":58,"divergence":3},"tide":{"status":"POINT_NUMERIC_READY","generated_at":"2026-09-28T21:11:57.709467+07:00","height_m":-0.143,"current_time":"2026-09-28T21:00:00+07:00","trend":"RISING","range_24h_m":0.45,"next_high":{"type":"HIGH","time":"2026-09-29T05:00:00+07:00","height_m":0.229},"next_low":{"type":"LOW","time":"2026-09-29T21:00:00+07:00","height_m":-0.221},"next_turn":{"type":"HIGH","time":"2026-09-29T05:00:00+07:00","height_m":0.229},"source":"COPERNICUS_MARINE_FES2014","height_reference":"MODEL_MEAN_SEA_LEVEL"},"nowcast":{"status":"POINT_NUMERIC_READY","sampled_time":"2026-09-28T15:10:21Z","source":"JMA_HIMAWARI9_VIA_NOAA_OPEN_DATA","cloud_top_cold_c":-75.8,"cloud_top_high_m":15975,"cooling_c_per_20m":8,"convective_score":75,"convective_level":"HIGH","lightning":"NOT_CONNECTED"},"ensemble":{"status":"MEMBER_MATRIX_READY","readiness":"MEMBER_MATRIX_READY","source":"NOAA_NOMADS_GEFS_GRIB_FILTER","run_time":"2026-09-28T06:00:00+00:00","completion_ratio":0.907,"calibration_status":"READY","rows":[{"lead_hours":6,"valid_time":"2026-09-28T12:00:00+00:00","members":28,"wind":{"q50":11.6,"q90":15.178,"q95":15.82,"spread":2.185,"prob":0,"threshold":30,"members":28},"rain":{"q50":0.85,"q90":1.43,"q95":1.955,"spread":0.6,"prob":0,"threshold":5,"members":28},"temperature":{"q50":29.177,"q90":29.338,"q95":29.382,"spread":0.183,"prob":null,"threshold":null,"members":28}},{"lead_hours":12,"valid_time":"2026-09-28T18:00:00+00:00","members":28,"wind":{"q50":13.368,"q90":17.305,"q95":18.083,"spread":3.932,"prob":0,"threshold":30,"members":28},"rain":{"q50":1.6,"q90":3.22,"q95":3.89,"spread":1.025,"prob":0.036,"threshold":5,"members":28},"temperature":{"q50":28.85,"q90":28.956,"q95":28.977,"spread":0.118,"prob":null,"threshold":null,"members":28}},{"lead_hours":18,"valid_time":"2026-09-29T00:00:00+00:00","members":28,"wind":{"q50":7.438,"q90":10.84,"q95":11.404,"spread":3.008,"prob":0,"threshold":30,"members":28},"rain":{"q50":3.7,"q90":4.91,"q95":5.855,"spread":1.3,"prob":0.107,"threshold":5,"members":28},"temperature":{"q50":28.692,"q90":28.892,"q95":28.901,"spread":0.231,"prob":null,"threshold":null,"members":28}},{"lead_hours":24,"valid_time":"2026-09-29T06:00:00+00:00","members":26,"wind":{"q50":3.853,"q90":7.668,"q95":8.519,"spread":2.283,"prob":0,"threshold":30,"members":26},"rain":{"q50":0,"q90":0.9,"q95":1.05,"spread":0.275,"prob":0,"threshold":5,"members":26},"temperature":{"q50":29.137,"q90":29.345,"q95":29.37,"spread":0.287,"prob":null,"threshold":null,"members":26}},{"lead_hours":30,"valid_time":"2026-09-29T12:00:00+00:00","members":30,"wind":{"q50":8.841,"q90":11.068,"q95":11.145,"spread":2.681,"prob":0,"threshold":30,"members":30},"rain":{"q50":0,"q90":0.11,"q95":0.2,"spread":0,"prob":0,"threshold":5,"members":30},"temperature":{"q50":29.568,"q90":29.85,"q95":29.85,"spread":0.191,"prob":null,"threshold":null,"members":30}},{"lead_hours":36,"valid_time":"2026-09-29T18:00:00+00:00","members":28,"wind":{"q50":13.253,"q90":16.332,"q95":16.526,"spread":3.96,"prob":0,"threshold":30,"members":28},"rain":{"q50":0.05,"q90":0.78,"q95":2.175,"spread":0.362,"prob":0,"threshold":5,"members":28},"temperature":{"q50":28.95,"q90":29.057,"q95":29.066,"spread":0.182,"prob":null,"threshold":null,"members":28}},{"lead_hours":42,"valid_time":"2026-09-30T00:00:00+00:00","members":27,"wind":{"q50":12.617,"q90":15.122,"q95":17.147,"spread":2.663,"prob":0,"threshold":30,"members":27},"rain":{"q50":0.6,"q90":3.14,"q95":3.5,"spread":2.05,"prob":0.037,"threshold":5,"members":27},"temperature":{"q50":28.575,"q90":28.717,"q95":28.764,"spread":0.159,"prob":null,"threshold":null,"members":27}},{"lead_hours":48,"valid_time":"2026-09-30T06:00:00+00:00","members":25,"wind":{"q50":13.049,"q90":17.204,"q95":18.386,"spread":5.711,"prob":0,"threshold":30,"members":25},"rain":{"q50":0,"q90":3.2,"q95":4.16,"spread":1,"prob":0.04,"threshold":5,"members":25},"temperature":{"q50":28.768,"q90":28.966,"q95":29.157,"spread":0.211,"prob":null,"threshold":null,"members":25}},{"lead_hours":54,"valid_time":"2026-09-30T12:00:00+00:00","members":30,"wind":{"q50":14.934,"q90":18.085,"q95":21.473,"spread":4.003,"prob":0,"threshold":30,"members":30},"rain":{"q50":0.1,"q90":0.61,"q95":1.305,"spread":0.2,"prob":0,"threshold":5,"members":30},"temperature":{"q50":28.985,"q90":29.259,"q95":29.329,"spread":0.241,"prob":null,"threshold":null,"members":30}},{"lead_hours":60,"valid_time":"2026-09-30T18:00:00+00:00","members":28,"wind":{"q50":16.142,"q90":19.518,"q95":21.578,"spread":4.095,"prob":0,"threshold":30,"members":28},"rain":{"q50":0.55,"q90":4.01,"q95":6.58,"spread":2.525,"prob":0.071,"threshold":5,"members":28},"temperature":{"q50":28.713,"q90":28.889,"q95":28.947,"spread":0.198,"prob":null,"threshold":null,"members":28}},{"lead_hours":66,"valid_time":"2026-10-01T00:00:00+00:00","members":27,"wind":{"q50":13.815,"q90":19.053,"q95":19.569,"spread":5.6,"prob":0.037,"threshold":30,"members":27},"rain":{"q50":4,"q90":10.48,"q95":14.26,"spread":5.05,"prob":0.37,"threshold":5,"members":27},"temperature":{"q50":28.414,"q90":28.708,"q95":28.748,"spread":0.57,"prob":null,"threshold":null,"members":27}},{"lead_hours":72,"valid_time":"2026-10-01T06:00:00+00:00","members":27,"wind":{"q50":13.794,"q90":19.141,"q95":20.911,"spread":6.183,"prob":0,"threshold":30,"members":27},"rain":{"q50":2.1,"q90":8,"q95":8.6,"spread":4.35,"prob":0.259,"threshold":5,"members":27},"temperature":{"q50":28.687,"q90":29.176,"q95":29.202,"spread":0.572,"prob":null,"threshold":null,"members":27}}]}},"bai_sao":{"name":"Bãi Sao","status":"LIVE DIRECT MODEL","local":{"available":true,"temperature_c":29.4,"wind_kmh":16.9,"rain_rate_mm_h":0,"rain_confidence":0.59,"convection_score":75,"wave_hs_m":0.42,"temperature_class":"ESTIMATED_NOW","wind_class":"ESTIMATED_NOW","rain_class":"ESTIMATED_NOW","marine_class":"MODEL_ONLY"},"today":[{"t":"2026-09-28T22:00:00+07:00","temp":26.5,"wind":16.3,"gust":30.1,"rain":5.65,"wave":0.51}],"model":{"temperature_c":29.3,"wind_kmh":16.1,"gust_kmh":20.8,"rain_3h_mm":0.02,"wave_hs_m":0.42,"wave_hmax_m":0.82,"period_s":4.41,"current_kmh":0.19,"wave_regional_hs_m":0.49,"marine_sampled_time":"2026-09-28T12:00:00Z","wave_max_method":"RAYLEIGH_20MIN_PROXY_FROM_REGIONAL_HS","long_range_status":"CONTROL_TREND_ONLY"},"aqi":{"status":"POINT_NUMERIC_READY","sampled_time":"2026-09-28T15:00:00.000Z","aqi_us":158,"category":"UNHEALTHY","aqi_source":"IQAIR_COMMUNITY_REALTIME","source_city":"Phu Quoc City","pm25_ugm3":13,"pm10_ugm3":15.4,"model_aqi_us":58,"divergence":100},"tide":{"status":"POINT_NUMERIC_READY","generated_at":"2026-09-28T21:11:57.709467+07:00","height_m":-0.132,"current_time":"2026-09-28T21:00:00+07:00","trend":"RISING","range_24h_m":0.425,"next_high":{"type":"HIGH","time":"2026-09-29T04:00:00+07:00","height_m":0.216},"next_low":{"type":"LOW","time":"2026-09-29T20:00:00+07:00","height_m":-0.209},"next_turn":{"type":"HIGH","time":"2026-09-29T04:00:00+07:00","height_m":0.216},"source":"COPERNICUS_MARINE_FES2014","height_reference":"MODEL_MEAN_SEA_LEVEL"},"nowcast":{"status":"POINT_NUMERIC_READY","sampled_time":"2026-09-28T15:10:21Z","source":"JMA_HIMAWARI9_VIA_NOAA_OPEN_DATA","cloud_top_cold_c":-75.2,"cloud_top_high_m":15950,"cooling_c_per_20m":9.6,"convective_score":75,"convective_level":"HIGH","lightning":"NOT_CONNECTED"},"ensemble":{"status":"MEMBER_MATRIX_READY","readiness":"MEMBER_MATRIX_READY","source":"NOAA_NOMADS_GEFS_GRIB_FILTER","run_time":"2026-09-28T06:00:00+00:00","completion_ratio":0.907,"calibration_status":"READY","rows":[{"lead_hours":6,"valid_time":"2026-09-28T12:00:00+00:00","members":28,"wind":{"q50":9.177,"q90":12.446,"q95":12.973,"spread":2.796,"prob":0,"threshold":30,"members":28},"rain":{"q50":0.85,"q90":1.43,"q95":1.955,"spread":0.6,"prob":0,"threshold":5,"members":28},"temperature":{"q50":29.177,"q90":29.338,"q95":29.382,"spread":0.183,"prob":null,"threshold":null,"members":28}},{"lead_hours":12,"valid_time":"2026-09-28T18:00:00+00:00","members":28,"wind":{"q50":11.689,"q90":16.44,"q95":17.178,"spread":4.172,"prob":0,"threshold":30,"members":28},"rain":{"q50":1.6,"q90":3.22,"q95":3.89,"spread":1.025,"prob":0.036,"threshold":5,"members":28},"temperature":{"q50":28.85,"q90":28.956,"q95":28.977,"spread":0.118,"prob":null,"threshold":null,"members":28}},{"lead_hours":18,"valid_time":"2026-09-29T00:00:00+00:00","members":28,"wind":{"q50":7.255,"q90":10.298,"q95":10.834,"spread":2.88,"prob":0,"threshold":30,"members":28},"rain":{"q50":3.7,"q90":4.91,"q95":5.855,"spread":1.3,"prob":0.107,"threshold":5,"members":28},"temperature":{"q50":28.692,"q90":28.892,"q95":28.901,"spread":0.231,"prob":null,"threshold":null,"members":28}},{"lead_hours":24,"valid_time":"2026-09-29T06:00:00+00:00","members":26,"wind":{"q50":3.513,"q90":7.191,"q95":8.153,"spread":2.473,"prob":0,"threshold":30,"members":26},"rain":{"q50":0,"q90":0.9,"q95":1.05,"spread":0.275,"prob":0,"threshold":5,"members":26},"temperature":{"q50":29.137,"q90":29.345,"q95":29.37,"spread":0.287,"prob":null,"threshold":null,"members":26}},{"lead_hours":30,"valid_time":"2026-09-29T12:00:00+00:00","members":30,"wind":{"q50":5.401,"q90":6.468,"q95":6.798,"spread":0.911,"prob":0,"threshold":30,"members":30},"rain":{"q50":0,"q90":0.11,"q95":0.2,"spread":0,"prob":0,"threshold":5,"members":30},"temperature":{"q50":29.568,"q90":29.85,"q95":29.85,"spread":0.191,"prob":null,"threshold":null,"members":30}},{"lead_hours":36,"valid_time":"2026-09-29T18:00:00+00:00","members":28,"wind":{"q50":7.902,"q90":9.985,"q95":11.472,"spread":1.859,"prob":0,"threshold":30,"members":28},"rain":{"q50":0.05,"q90":0.78,"q95":2.175,"spread":0.362,"prob":0,"threshold":5,"members":28},"temperature":{"q50":28.95,"q90":29.057,"q95":29.066,"spread":0.182,"prob":null,"threshold":null,"members":28}},{"lead_hours":42,"valid_time":"2026-09-30T00:00:00+00:00","members":27,"wind":{"q50":9.495,"q90":12.481,"q95":12.801,"spread":3.113,"prob":0,"threshold":30,"members":27},"rain":{"q50":0.6,"q90":3.14,"q95":3.5,"spread":2.05,"prob":0.037,"threshold":5,"members":27},"temperature":{"q50":28.575,"q90":28.717,"q95":28.764,"spread":0.159,"prob":null,"threshold":null,"members":27}},{"lead_hours":48,"valid_time":"2026-09-30T06:00:00+00:00","members":25,"wind":{"q50":9.161,"q90":11.505,"q95":12.678,"spread":4.785,"prob":0,"threshold":30,"members":25},"rain":{"q50":0,"q90":3.2,"q95":4.16,"spread":1,"prob":0.04,"threshold":5,"members":25},"temperature":{"q50":28.768,"q90":28.966,"q95":29.157,"spread":0.211,"prob":null,"threshold":null,"members":25}},{"lead_hours":54,"valid_time":"2026-09-30T12:00:00+00:00","members":30,"wind":{"q50":8.878,"q90":10.808,"q95":13.486,"spread":2.719,"prob":0,"threshold":30,"members":30},"rain":{"q50":0.1,"q90":0.61,"q95":1.305,"spread":0.2,"prob":0,"threshold":5,"members":30},"temperature":{"q50":28.985,"q90":29.259,"q95":29.329,"spread":0.241,"prob":null,"threshold":null,"members":30}},{"lead_hours":60,"valid_time":"2026-09-30T18:00:00+00:00","members":28,"wind":{"q50":9.835,"q90":12.879,"q95":15.043,"spread":2.435,"prob":0,"threshold":30,"members":28},"rain":{"q50":0.55,"q90":4.01,"q95":6.58,"spread":2.525,"prob":0.071,"threshold":5,"members":28},"temperature":{"q50":28.713,"q90":28.889,"q95":28.947,"spread":0.198,"prob":null,"threshold":null,"members":28}},{"lead_hours":66,"valid_time":"2026-10-01T00:00:00+00:00","members":27,"wind":{"q50":9.531,"q90":13.92,"q95":15.034,"spread":4.558,"prob":0.037,"threshold":30,"members":27},"rain":{"q50":4,"q90":10.48,"q95":14.26,"spread":5.05,"prob":0.37,"threshold":5,"members":27},"temperature":{"q50":28.414,"q90":28.708,"q95":28.748,"spread":0.57,"prob":null,"threshold":null,"members":27}},{"lead_hours":72,"valid_time":"2026-10-01T06:00:00+00:00","members":27,"wind":{"q50":8.494,"q90":12.28,"q95":12.623,"spread":2.191,"prob":0,"threshold":30,"members":27},"rain":{"q50":2.1,"q90":8,"q95":8.6,"spread":4.35,"prob":0.259,"threshold":5,"members":27},"temperature":{"q50":28.687,"q90":29.176,"q95":29.202,"spread":0.572,"prob":null,"threshold":null,"members":27}}]}}},"actual":{"vvpq":{"status":"FRESH","observed_at":"2026-09-28T15:00:00+00:00","temperature_c":27,"wind_kmh":1.85,"wind_direction_deg":null,"pressure_hpa":1014,"visibility_m":7001,"weather":null,"convective_cloud":false},"rain_gauges":[{"name":"Cửa Cạn","lat":10.293,"lon":103.915,"accum_mm":0,"increment_mm":0,"increment_min":10.1,"rain_observed":false,"rain_intensity_mm_h":0,"increment_qc":"PASS","observed_at":"2026-09-28T15:30:48+00:00","qc":"PASS"},{"name":"Bãi Thơm","lat":10.412,"lon":104.031,"accum_mm":0,"increment_mm":0,"increment_min":10.1,"rain_observed":false,"rain_intensity_mm_h":0,"increment_qc":"PASS","observed_at":"2026-09-28T15:30:48+00:00","qc":"PASS"},{"name":"An Thới","lat":10.018,"lon":104.015,"accum_mm":0,"increment_mm":0,"increment_min":10.1,"rain_observed":false,"rain_intensity_mm_h":0,"increment_qc":"PASS","observed_at":"2026-09-28T15:30:48+00:00","qc":"PASS"}]},"source_state":{"vvpq":"FRESH","vrain":"FRESH","aqi":"POINT_NUMERIC_READY","tide":"POINT_NUMERIC_READY","nowcast":"POINT_NUMERIC_READY","ensemble":"MEMBER_MATRIX_READY","local_engine":"PQ_LOCAL_NOW_V2"}}