{
 "dataset": {
  "name": "Halong Bay storm, fog, rain and temperature by month",
  "description": "Monthly table for Halong Bay: counts of storms and tropical depressions whose track passed near the bay (NOAA IBTrACS), fog, rain and temperature at the Phu Lien and Bach Long Vi stations (NOAA GSOD), and the storm stops the Ha Long Bay Management Board posted in each month.",
  "temporalCoverage": "1991/2025",
  "spatialCoverage": {
   "name": "Gulf of Tonkin around Halong Bay, Vietnam",
   "box": "17.00 105.00 23.00 110.00"
  },
  "distribution": {
   "encodingFormat": "application/json",
   "contentUrl": "https://halongbaycruise.info/data/season.json"
  },
  "variableMeasured": [
   "storm tracks within 150 km and 350 km by month",
   "fog days",
   "rain",
   "mean and maximum temperature",
   "posted storm stops"
  ],
  "license": "https://creativecommons.org/licenses/by/4.0/",
  "isAccessibleForFree": true
 },
 "basis": {
  "storms": {
   "source": "NOAA NCEI, IBTrACS v04r01, Western Pacific best tracks (Knapp et al. 2010), public domain",
   "row": "SEA-DATA-001",
   "url": "https://www.ncei.noaa.gov/products/international-best-track-archive",
   "period": [
    1991,
    2025
   ],
   "years": 35,
   "centre": [
    20.88,
    107.08
   ],
   "radiiKm": [
    150,
    350
   ],
   "counts": "systems (storms and tropical depressions, not disturbances) whose track came within the radius of the centre; month of the closest point",
   "stopDays": 2,
   "stopDaysBasis": "A stop runs from the board notice to the final national bulletin: Matmo 2025 ran from 08:00 on 5 October to the 14:00 final bulletin on 6 October (data/suspensions.json). Typhoon Yagi 2024 closed routes for 6 to 13 days and is the outlier.",
   "oddsRule": "P(a stop overlaps an N-night cruise starting in month M) = 1 - exp(-(count / years / days in M) x (N + stopDays)); low from the 150 km count, high from the 350 km count. A model of the odds, not a forecast.",
   "calibration": [
    {
     "sid": "2025161N15114",
     "name": "Wutip",
     "closestKm": 210,
     "closestAt": "2025-06-14 00:00Z",
     "boardNotice": true
    },
    {
     "sid": "2025175N16117",
     "name": null,
     "closestKm": 293,
     "closestAt": "2025-06-26 12:00Z",
     "boardNotice": false
    },
    {
     "sid": "2025197N14131",
     "name": "Wipha",
     "closestKm": 34,
     "closestAt": "2025-07-21 21:00Z",
     "boardNotice": true
    },
    {
     "sid": "2025229N16113",
     "name": null,
     "closestKm": 33,
     "closestAt": "2025-08-18 18:00Z",
     "boardNotice": true
    },
    {
     "sid": "2025233N15126",
     "name": "Kajiki",
     "closestKm": 279,
     "closestAt": "2025-08-25 03:00Z",
     "boardNotice": false
    },
    {
     "sid": "2025240N15117",
     "name": "Nongfa",
     "closestKm": 322,
     "closestAt": "2025-08-30 06:00Z",
     "boardNotice": false
    },
    {
     "sid": "2025260N13138",
     "name": "Ragasa",
     "closestKm": 114,
     "closestAt": "2025-09-25 09:00Z",
     "boardNotice": false
    },
    {
     "sid": "2025266N11137",
     "name": "Bualoi",
     "closestKm": 310,
     "closestAt": "2025-09-29 00:00Z",
     "boardNotice": true
    },
    {
     "sid": "2025274N14133",
     "name": "Matmo",
     "closestKm": 116,
     "closestAt": "2025-10-06 00:00Z",
     "boardNotice": true
    },
    {
     "sid": "2026183N17115",
     "name": "Maysak",
     "closestKm": 66,
     "closestAt": "2026-07-04 09:00Z",
     "boardNotice": true
    },
    {
     "sid": "2026233N20108",
     "name": "Narra",
     "closestKm": 84,
     "closestAt": "2026-08-23 21:00Z",
     "boardNotice": true
    }
   ],
   "calibrationNote": "Systems of 2025 and 2026 within 350 km, and whether the board posted a stop for them. The board posted stops for systems from 33 km (August 2025 depression) to 310 km (Bualoi) away; it posted no suspension notice for some within that band (Ragasa at 114 km, where the board posted only storm-response measures, post 285; Kajiki at 279 km, though press reported stops). The board list is therefore a floor, not a full count of stopped days."
  },
  "station": {
   "name": "Phu Lien, Hai Phong (WMO 48826)",
   "offshore": "Bach Long Vi (WMO 48839)",
   "row": "SEA-DATA-002",
   "source": "NOAA NCEI, Global Summary of the Day",
   "url": "https://www.ncei.noaa.gov/data/global-summary-of-the-day/access/",
   "period": [
    1996,
    2024
   ],
   "why": "No Bai Chay, Cat Ba or Co To station is in GSOD; Phu Lien lies about 45 km west of the bay at 116 m, so its fog and rain read as the coast, not the water."
  },
  "fogStudy": {
   "rows": [
    "SEA-FOG-001",
    "SEA-FOG-002"
   ],
   "months": "December to April (Cua Ong, Co To); February to April (Hon Dau)"
  },
  "boatHours": {
   "summer": "SEA-HOURS-001",
   "winter": "SEA-HOURS-002"
  }
 },
 "months": [
  {
   "month": 1,
   "key": "jan",
   "days": 31,
   "storms": {
    "within150km": 0,
    "within350km": 0,
    "years150km": 0,
    "years350km": 0
   },
   "notices": {
    "count": 0,
    "events": []
   },
   "fog": {
    "phuLienDays": 1.6,
    "bachLongViDays": 2.5,
    "studyMonthQuangNinh": true,
    "studyMonthHonDau": false
   },
   "rain": {
    "phuLienMm": 34,
    "phuLienDays": 5,
    "coverage": 0.96
   },
   "temp": {
    "phuLienMeanC": 16.8,
    "phuLienMaxC": 20.1
   },
   "seaTempC": null,
   "boatHours": "winter"
  },
  {
   "month": 2,
   "key": "feb",
   "days": 28,
   "storms": {
    "within150km": 0,
    "within350km": 0,
    "years150km": 0,
    "years350km": 0
   },
   "notices": {
    "count": 0,
    "events": []
   },
   "fog": {
    "phuLienDays": 2.4,
    "bachLongViDays": 5.7,
    "studyMonthQuangNinh": true,
    "studyMonthHonDau": true
   },
   "rain": {
    "phuLienMm": 28,
    "phuLienDays": 6,
    "coverage": 0.95
   },
   "temp": {
    "phuLienMeanC": 17.8,
    "phuLienMaxC": 20.9
   },
   "seaTempC": null,
   "boatHours": "winter"
  },
  {
   "month": 3,
   "key": "mar",
   "days": 31,
   "storms": {
    "within150km": 0,
    "within350km": 0,
    "years150km": 0,
    "years350km": 0
   },
   "notices": {
    "count": 0,
    "events": []
   },
   "fog": {
    "phuLienDays": 3.7,
    "bachLongViDays": 8.6,
    "studyMonthQuangNinh": true,
    "studyMonthHonDau": true
   },
   "rain": {
    "phuLienMm": 53,
    "phuLienDays": 9.7,
    "coverage": 0.96
   },
   "temp": {
    "phuLienMeanC": 20.3,
    "phuLienMaxC": 23.1
   },
   "seaTempC": null,
   "boatHours": "winter"
  },
  {
   "month": 4,
   "key": "apr",
   "days": 30,
   "storms": {
    "within150km": 0,
    "within350km": 1,
    "years150km": 0,
    "years350km": 1
   },
   "notices": {
    "count": 0,
    "events": []
   },
   "fog": {
    "phuLienDays": 1.2,
    "bachLongViDays": 4.2,
    "studyMonthQuangNinh": true,
    "studyMonthHonDau": true
   },
   "rain": {
    "phuLienMm": 71,
    "phuLienDays": 7.2,
    "coverage": 0.96
   },
   "temp": {
    "phuLienMeanC": 23.8,
    "phuLienMaxC": 27.1
   },
   "seaTempC": null,
   "boatHours": "summer"
  },
  {
   "month": 5,
   "key": "may",
   "days": 31,
   "storms": {
    "within150km": 0,
    "within350km": 0,
    "years150km": 0,
    "years350km": 0
   },
   "notices": {
    "count": 0,
    "events": []
   },
   "fog": {
    "phuLienDays": 0.1,
    "bachLongViDays": 0.3,
    "studyMonthQuangNinh": false,
    "studyMonthHonDau": false
   },
   "rain": {
    "phuLienMm": 190,
    "phuLienDays": 9.7,
    "coverage": 0.96
   },
   "temp": {
    "phuLienMeanC": 27,
    "phuLienMaxC": 30.7
   },
   "seaTempC": null,
   "boatHours": "summer"
  },
  {
   "month": 6,
   "key": "jun",
   "days": 30,
   "storms": {
    "within150km": 5,
    "within350km": 11,
    "years150km": 5,
    "years350km": 10
   },
   "notices": {
    "count": 1,
    "events": [
     "2025-06-13-wutip"
    ]
   },
   "fog": {
    "phuLienDays": 0.1,
    "bachLongViDays": 0,
    "studyMonthQuangNinh": false,
    "studyMonthHonDau": false
   },
   "rain": {
    "phuLienMm": 207,
    "phuLienDays": 9.9,
    "coverage": 0.96
   },
   "temp": {
    "phuLienMeanC": 28.9,
    "phuLienMaxC": 32.5
   },
   "seaTempC": null,
   "boatHours": "summer"
  },
  {
   "month": 7,
   "key": "jul",
   "days": 31,
   "storms": {
    "within150km": 21,
    "within350km": 32,
    "years150km": 18,
    "years350km": 25
   },
   "notices": {
    "count": 2,
    "events": [
     "2025-07-20-wipha",
     "2026-07-03-storm-1"
    ]
   },
   "fog": {
    "phuLienDays": 0,
    "bachLongViDays": 0,
    "studyMonthQuangNinh": false,
    "studyMonthHonDau": false
   },
   "rain": {
    "phuLienMm": 260,
    "phuLienDays": 12.7,
    "coverage": 0.96
   },
   "temp": {
    "phuLienMeanC": 28.7,
    "phuLienMaxC": 32.2
   },
   "seaTempC": null,
   "boatHours": "summer"
  },
  {
   "month": 8,
   "key": "aug",
   "days": 31,
   "storms": {
    "within150km": 15,
    "within350km": 29,
    "years150km": 13,
    "years350km": 23
   },
   "notices": {
    "count": 2,
    "events": [
     "2025-08-18-depression",
     "2026-08-22-depression"
    ]
   },
   "fog": {
    "phuLienDays": 0.2,
    "bachLongViDays": 0,
    "studyMonthQuangNinh": false,
    "studyMonthHonDau": false
   },
   "rain": {
    "phuLienMm": 346,
    "phuLienDays": 14.3,
    "coverage": 0.95
   },
   "temp": {
    "phuLienMeanC": 28.1,
    "phuLienMaxC": 31.6
   },
   "seaTempC": null,
   "boatHours": "summer"
  },
  {
   "month": 9,
   "key": "sep",
   "days": 30,
   "storms": {
    "within150km": 14,
    "within350km": 31,
    "years150km": 14,
    "years350km": 21
   },
   "notices": {
    "count": 1,
    "events": [
     "2025-09-27-bualoi"
    ]
   },
   "fog": {
    "phuLienDays": 0.1,
    "bachLongViDays": 0,
    "studyMonthQuangNinh": false,
    "studyMonthHonDau": false
   },
   "rain": {
    "phuLienMm": 257,
    "phuLienDays": 12.1,
    "coverage": 0.96
   },
   "temp": {
    "phuLienMeanC": 27.2,
    "phuLienMaxC": 31
   },
   "seaTempC": null,
   "boatHours": "summer"
  },
  {
   "month": 10,
   "key": "oct",
   "days": 31,
   "storms": {
    "within150km": 6,
    "within350km": 19,
    "years150km": 6,
    "years350km": 16
   },
   "notices": {
    "count": 1,
    "events": [
     "2025-10-05-matmo"
    ]
   },
   "fog": {
    "phuLienDays": 0.2,
    "bachLongViDays": 0,
    "studyMonthQuangNinh": false,
    "studyMonthHonDau": false
   },
   "rain": {
    "phuLienMm": 92,
    "phuLienDays": 6.2,
    "coverage": 0.99
   },
   "temp": {
    "phuLienMeanC": 25.3,
    "phuLienMaxC": 29.3
   },
   "seaTempC": null,
   "boatHours": "summer"
  },
  {
   "month": 11,
   "key": "nov",
   "days": 30,
   "storms": {
    "within150km": 2,
    "within350km": 5,
    "years150km": 2,
    "years350km": 5
   },
   "notices": {
    "count": 0,
    "events": []
   },
   "fog": {
    "phuLienDays": 0.5,
    "bachLongViDays": 0.2,
    "studyMonthQuangNinh": false,
    "studyMonthHonDau": false
   },
   "rain": {
    "phuLienMm": 45,
    "phuLienDays": 4.2,
    "coverage": 0.98
   },
   "temp": {
    "phuLienMeanC": 22.4,
    "phuLienMaxC": 26.5
   },
   "seaTempC": null,
   "boatHours": "winter"
  },
  {
   "month": 12,
   "key": "dec",
   "days": 31,
   "storms": {
    "within150km": 0,
    "within350km": 0,
    "years150km": 0,
    "years350km": 0
   },
   "notices": {
    "count": 0,
    "events": []
   },
   "fog": {
    "phuLienDays": 0.9,
    "bachLongViDays": 0.4,
    "studyMonthQuangNinh": true,
    "studyMonthHonDau": false
   },
   "rain": {
    "phuLienMm": 26,
    "phuLienDays": 3.6,
    "coverage": 0.98
   },
   "temp": {
    "phuLienMeanC": 18.3,
    "phuLienMaxC": 22.1
   },
   "seaTempC": null,
   "boatHours": "winter"
  }
 ]
}
