Independent site, not affiliated with NOAA or the Hawaiian Islands Humpback Whale National Marine Sanctuary. Register and find official results at oceancount.org.

Sanctuary Ocean CountOcean Count data & shore whale watching

Download the Ocean Count data

Nine CSV files hold the Sanctuary Ocean Count results we have compiled from January 26, 2002 to March 28, 2026, and two more hold the 2001 report and the count’s first years. Separate files, not Ocean Count data, hold the Great Whale Count on Maui, humpback song detections, published abundance estimates and whale injury reports. Each row links to the document it came from, so you can check any number against the sanctuary’s own sheet, release or report; current results are on oceancount.org. Dataset version: 2026-09-28.

Files

ocean-count-island-averages.csv: island averages printed on the results sheets, January 26, 2013 to March 28, 2026, one row per count per island, 128 rows. It holds the island average whales per 15-minute count period, with a flag for whether the value was printed as a whole number or with decimals. Molokaʻi has no rows before 2024, when its sites first appear on the sheets.

ocean-count-count-summary.csv: one row per count from the press releases, 44 rows from January 2008 to March 2026. It holds headcounts, reporting sites, the busiest 15-minute period and day totals per island, and the statewide average per site that seven releases from 2008 to 2011 state. Headcounts before 2019 cover the Ocean Count alone; from 2019 most also include the Great Whale Count.

ocean-count-press-release-island-averages.csv: island averages stated in press releases, 2008 to 2012, 51 rows. The results sheets from those years print no island average, so these come from the release text instead and are kept apart from the results-sheet file. Kahoʻolawe appears in 2008 and 2009, and a release_note column keeps notes such as “Did not participate”.

ocean-count-report-island-averages.csv: island means stated in the sanctuary’s annual reports, 2002 to 2004, 27 rows, each with its standard error and the sentence that states it. A note column flags the figures the reports appear to have copied from another island or year.

ocean-count-report-site-averages.csv: per-site averages from the sanctuary’s 2010 report, 2002 to 2010, one row per site per count, 1,701 rows, 1,552 of them with a value. Every value is a whole number typed in from the report’s tables, and each row gives the report page it came from.

ocean-count-site-periods.csv: every site and 15-minute period on the 2007 to 2026 results sheets, 59 counts and 30,645 rows, one per count, site and period. It holds adults and calves as printed. The 2007 to 2011 and 2015 to 2025 tables are images we typed in by hand. The transcription column marks those rows, and the excluded_from_our_averages column flags the four cells we leave out of our own averages.

ocean-count-kahoolawe-periods-2003-2004.csv: whales per 15-minute period at the one site counted on Kahoʻolawe each year (Kui Kui in 2003; Kalialua, also printed Kealialuna, in 2004), from the 2003 and 2004 annual reports, 38 rows. The reports give no adult and calf split, and bad weather canceled the February and March 2004 counts there.

ocean-count-report-behavior-by-site-2002-2010.csv: surface behavior per whale at each site from the sanctuary’s 2010 report, breaches and slaps for 2002 to 2010 and dives for 2006 to 2010, 4,347 rows, one per site, season, month and behavior. The report divides the behaviors recorded in each time block on the behavior sheet by the whales seen in it. Values are as printed; where the report’s island summaries disagree with its own site tables, we keep the site tables.

ocean-count-report-calves-by-period.csv: calves and adults per 15-minute period for each island from the 2010 report, 590 rows: Kauaʻi for every count from 2002 to 2010, Oʻahu and Hawaiʻi Island for 2002 and 2007 to 2010, and Kahoʻolawe for February and March 2008. Three of the report’s tables print a total that does not add up; the note column says which.

ocean-count-2001-report-values.csv: every number in the sanctuary’s 2001 report, 520 rows: each site’s whales in each of the four 15-minute scans on February 24, 2001, the island figures in the report’s text, and our sums of each scan. The 2001 count had one day and four scans, so keep it apart from the files above. Where the report disagrees with its own tables, the value column keeps the printed figure and recomputed gives what the tables give.

ocean-count-early-history-statements.csv: 13 dated statements about the count’s first years, 1996 to 2002, each with its source and the statements it disagrees with.

great-whale-count-maui-release-figures.csv: 23 rows, January 2019 to March 2026, of Maui figures from Pacific Whale Foundation’s Great Whale Count, as the joint releases state them. The Great Whale Count is a separate shore count, held on the same Saturdays as the Ocean Count since 2019.

The file holds the sites that reported, the busiest 15-minute period and the day totals for Maui and, from 2024, Lānaʻi. The releases give Maui a whole-day total and a busiest-period count instead of an island average per 15-minute period, so never add these to the Ocean Count figures. Our Maui page sets out how the two counts differ and lists the 11 Maui sites.

sanctsound-humpback-song-weekly-2018-2021.csv: a separate series, the weekly share of 30-second recordings with humpback song at four SanctSound recorders in the 2018–19, 2019–20 and 2020–21 seasons, 220 rows, one per site and week, with the hours recorded each week; 12 weeks under 84 hours are flagged partial_week and not charted. It comes from NOAA and the U.S. Navy, not from the Ocean Count, so never combine it with the count figures. Our song page charts it, and our methods page explains the weekly rule.

hawaii-humpback-abundance-estimates.csv: published abundance estimates for Hawaiʻi humpback whales, 25 rows from two sources that a source column keeps apart. Of these, 21 are the non-calf abundance estimates for each breeding season from 2002/03 to 2022/23 in Barber-Meyer et al. (2026); the authors exclude the first one, and a column flags it. The other four come from NOAA Fisheries’ stock assessment report for the Hawaiʻi stock. These are not Ocean Count figures.

whale-injuries-hawaii.csv: whale entanglement and vessel-collision report counts from two NOAA sources, 555 rows, kept apart from the Ocean Count files: the sanctuary’s season-end entanglement response reports, every season we found from 2005–06 to 2024–25, each with its own window, species and units, and NOAA Fisheries’ humpback injury determinations for 2007 to 2021 by determination category. Both count reported and confirmed cases, a minimum, and both draw on the same response network, so never add them together. Our methods page describes both sources.

Data dictionary

All fifteen files are UTF-8 CSV with a header row. Empty cells mean the source did not give the value. Island names keep the ʻokina (the glottal-stop mark, Unicode U+02BB), so open the files as UTF-8 if a spreadsheet shows stray characters.

ocean-count-island-averages.csv

Island averages printed on the results sheets. One row per count per island. 128 rows.

ColumnTypeMeaning
count_datedate (ISO 8601, YYYY-MM-DD)Date of the count, as printed in the results sheet’s “Preliminary Data” title.
seasoninteger (year)Whale season the count belongs to. Counts run January to March, so the season is the calendar year of the count.
count_monthtextJanuary, February or March.
islandtextIsland name as the sanctuary writes it, with the ʻokina (Hawaiʻi means Hawaiʻi Island).
island_idtextASCII key for the island: kauai, oahu, molokai, hawaii.
avg_whales_per_15min_periodnumberThe island figure printed on the sheet as “Average Number of Whales per 15min Count Period” (“15 min.” on the 2026 sheets), copied exactly as printed (not re-rounded). See unit.
unittextUnit of avg_whales_per_15min_period: humpback whales per 15-minute count period, island average, as published.
reported_precisiontextHow precisely this value was printed: “whole number”, “1 decimal” or “2 decimals”. Derived from the printed value, so a whole number may be a rounded average.
decimal_placesintegerNumber of decimal places in the printed value (0, 1 or 2).
sheet_reports_decimalsboolean (true/false)true when any island value on the same results sheet was printed with decimals. Some sheets print decimals only for small values, so a whole number on a sheet flagged true may still be rounded.
data_statustextAlways “preliminary”: every results sheet is titled “Preliminary Data”.
source_documenttextType of source document.
source_publishertextWho published the source document.
source_urlURLThe official results sheet (PDF) the value was taken from.

ocean-count-count-summary.csv

One row per count, from the press releases. 44 rows.

ColumnTypeMeaning
count_datedate (ISO 8601)Date of the count.
seasoninteger (year)Whale season (calendar year of the count).
count_monthtextJanuary, February or March.
participantsinteger (people)Headcount given in the release. From 2019, most releases give the combined headcount for the Sanctuary Ocean Count and Pacific Whale Foundation’s Great Whale Count on Maui; the 2008 to 2015 releases count Ocean Count volunteers only. See participants_include_maui_great_whale_count.
participant_roletext”volunteers”, or “site leaders” for the COVID-era counts when only trained site leaders took part.
participants_qualifiertextHow the release states the headcount: “more than”, “about”, or empty when it gives the number plainly.
participants_include_maui_great_whale_countbooleantrue when the headcount sentence also covers the Great Whale Count on Maui (and Lānaʻi in later years).
soc_sitesinteger (sites)Number of Sanctuary Ocean Count sites that reported (Great Whale Count sites excluded). Empty when the release gives only a combined figure.
soc_busiest_period_whalesinteger (whales)Whales counted across all Sanctuary Ocean Count sites in the busiest 15-minute period of the day. Empty when the release gives only a combined figure or names no busiest period.
soc_busiest_period_starttime (HH:MM, Hawaiʻi time)Start of that busiest 15-minute period. Empty when the release gives only a combined figure or names no busiest period.
soc_busiest_period_endtime (HH:MM, Hawaiʻi time)End of that busiest 15-minute period, as the release states it.
day_total_whales_kauaiinteger (whale sightings)Total whales reported for the whole day on Kauaʻi. The releases warn this may include the same whale seen more than once.
day_total_whales_oahuinteger (whale sightings)Same as day_total_whales_kauai, for Oʻahu.
day_total_whales_molokaiinteger (whale sightings)Same as day_total_whales_kauai, for Molokaʻi.
day_total_whales_hawaiiinteger (whale sightings)Same as day_total_whales_kauai, for Hawaiʻi Island.
statewide_avg_whales_per_site_per_15minnumberAverage whales per site per 15-minute period across the state, as stated in the release. Only seven releases, from 2008 to 2011, state one.
statewide_notetextOur note where the 2010 report’s site averages for the same count disagree with the stated statewide figure by 1.5 or more.
data_statustextAlways “as stated in the release”. No release calls its own headcounts or totals preliminary; where a release uses the word, it refers to the results sheets.
source_documenttextType of source document.
source_publishertextWho published the source document.
source_urlURLThe official press release or community announcement (PDF).

ocean-count-press-release-island-averages.csv

Island averages stated in the press releases, 2008 to 2012, kept out of ocean-count-island-averages.csv. One row per count per island named in the release. 51 rows.

ColumnTypeMeaning
count_datedate (ISO 8601)Date of the count. In 2010 the February count was held on March 6 (see schedule_note).
seasoninteger (year)Whale season (calendar year of the count).
count_monthtextCalendar month of the count date.
islandtextIsland as named in the release, with the ʻokina. Includes Kahoʻolawe in 2008 and 2009.
island_idtextASCII key for the island.
avg_whales_per_15min_periodnumberAverage number of whales per 15-minute count period for the island, as stated in the release text. Empty when the release gives a note instead of a number.
unittextUnit of avg_whales_per_15min_period.
reported_precisiontext”whole number” or “N decimal(s)”, from the stated value. Empty when there is no value.
decimal_placesintegerDecimal places in the stated value. Empty when there is no value.
release_notetextNote the release gives for this island and count, such as “Did not participate in January count” or “Cancelled due to inclement weather”.
schedule_notetextOur note when the count was held off its scheduled date, from the release.
data_statustextAlways “as stated in the release”: the 2008 to 2012 releases do not call their figures preliminary.
source_documenttextAlways “press release”.
source_publishertextWho published the release.
source_urlURLThe release, usually an Internet Archive (Wayback Machine) copy of the sanctuary’s page.

ocean-count-report-island-averages.csv

Island means stated in the sanctuary’s annual reports, 2002 to 2004. One row per count per island. 27 rows.

ColumnTypeMeaning
count_datedate (ISO 8601)Date of the count: the last Saturday of the month. The 2002 report prints the March date as “26 March”, which was a Tuesday (see note).
seasoninteger (year)Whale season (calendar year of the count).
count_monthtextJanuary, February or March.
islandtextIsland as named in the report, with the ʻokina.
island_idtextASCII key for the island.
avg_whales_per_15min_periodnumberMean number of whales per site per 15-minute count period for the island, as stated in the annual report’s text, with two decimals.
standard_errornumberStandard error the report gives with that mean.
unittextUnit of avg_whales_per_15min_period.
reported_precisiontext”2 decimals” for every row.
decimal_placesintegerDecimal places in the stated value.
notetextOur note: a figure the report repeats from another island or count, a date the report misprints, or the report’s own warning about weather. We copy the printed value and do not correct it.
data_statustextAlways “as stated in the annual report”.
source_documenttextThe annual report: author, year, title and publisher as printed on its title page.
source_publishertextWho the report was prepared for.
source_quotetextThe sentence in the report that states the value.
source_urlURLThe report on NOAA’s sanctuary website (PDF).

ocean-count-report-site-averages.csv

Per-site averages from the sanctuary’s 2010 report, 2002 to 2010. One row per site per count. 1,701 rows.

ColumnTypeMeaning
count_datedate (ISO 8601)Date of the count. The report labels counts by month only, so this is the last Saturday of that month, except February 2010, held on March 6 (tsunami warning).
seasoninteger (year)Whale season (calendar year of the count).
count_monthtextThe count as the report labels it: January, February or March (February 2010 was held on March 6).
islandtextIsland, with the ʻokina.
island_idtextASCII key for the island.
site_numberintegerOur site number (the program’s numbering on its maps and sheets). Empty for two report sites we could not match to a site on our list.
site_nametextOur site name, with ʻokina and kahakō.
report_site_numberintegerSite number as the report prints it.
report_site_nametextSite name as the report prints it.
coastlinetextCoast the site faces, from our site list.
avg_whales_per_15min_periodintegerThe report’s “average number of humpback whale sightings per 15-minute count period” for this site and count, printed as a whole number. Empty when the report prints NA.
reportedboolean (true/false)false when the report prints NA: in its words, a site closure, no data sheet for the site, or unreliable data. A 0 means no whales were seen.
unittextUnit of avg_whales_per_15min_period.
reported_precisiontextAlways “whole number”.
notetextOur note, for example where the report prints one site’s values under another site too.
data_statustextAlways “as printed in the report”.
source_documenttextThe 2010 report, with author, title and date.
source_publishertextWho the report was prepared for.
source_urlURLThe Internet Archive’s copy of the report part that holds the site’s page.
source_pageintegerPrinted page number of the site’s table in the report.

ocean-count-site-periods.csv

Every site and 15-minute period on the 2007 to 2026 results sheets (59 counts). One row per count per site per period, as printed. 30,645 rows.

ColumnTypeMeaning
count_datedate (ISO 8601)Date of the count, from the results sheet.
seasoninteger (year)Whale season (calendar year of the count).
count_monthtextJanuary, February or March. The February 2010 count was held on March 6 (tsunami warning).
islandtextIsland, with the ʻokina.
island_idtextASCII key for the island.
sheet_rowintegerThe row number the sheet prints for the site. The program renumbers some rows between seasons, so use site_number to follow a site across years.
sheet_site_nametextThe site name as the sheet prints it. In the tables we typed in (2007 to 2011 and 2015 to 2025), the apostrophe or ʻokina is our best reading of the image.
site_numberintegerOur site number (the program’s numbering on its 2026 maps and sheets). Empty for ʻŌʻōkala (row 22 on Hawaiʻi Island through 2014, row 21 in 2009) and Paukaʻa Point (row 21 in 2007 and 2008), which have no current number.
site_nametextOur site name, with ʻokina and kahakō, the same on every row for a site.
period_starttime (HH:MM, Hawaiʻi time)Start of the 15-minute count period. The count has nine: one every half hour from 08:00 to 12:00.
period_endtime (HH:MM)End of the period, 15 minutes after the start.
adultsintegerAdult whales the site recorded in the period, as printed. Empty when the site did not report the period.
calvesintegerCalves the site recorded in the period, as printed. Empty when the site did not report it (and in one cell printed “3/P”, see note).
whalesintegeradults + calves: the count behind our reading of the printed island averages (see our methods page).
reportedboolean (true/false)false when the sheet prints no count for the period: the site was not used that month, was no longer a count site, or the cell reads N/A, rain, break or similar (the printed words are in note).
excluded_from_our_averagesboolean (true/false)true for four cells we read as misprints and leave out of our own site averages: at the corrected value, each table matches both the press release’s day total and the sheet’s island average. The printed values are kept.
notetextThe sheet’s own words for a cell or row with no count, or our note on a printed value.
transcriptiontext”text layer of the PDF” (2012 to 2014 and 2026) or “typed in by hand from the sheet’s image” (2007 to 2011 and 2015 to 2025).
source_urlURLThe results sheet (PDF): oceancount.org, or an Internet Archive copy of the sanctuary’s former site.

ocean-count-kahoolawe-periods-2003-2004.csv

Whales per 15-minute period at the one site counted on Kahoʻolawe each year, from the 2003 and 2004 annual reports. One row per count per period. 38 rows.

ColumnTypeMeaning
count_datedate (ISO 8601)Date of the count on Kahoʻolawe. The March 2003 count there was held on April 5.
seasoninteger (year)Whale season (calendar year of the count).
count_monthtextThe count as the report labels it: January, February or March.
islandtextAlways Kahoʻolawe.
island_idtextAlways kahoolawe.
period_starttime (HH:MM)Start of the 15-minute period. Empty on the two rows for counts canceled because of weather.
period_endtime (HH:MM)End of the period.
whalesintegerWhales counted in the period at the one site counted on Kahoʻolawe that year (Kui Kui in 2003; Kalialua, also printed Kealialuna, in 2004), as printed. The reports give no adult and calf split. Empty where the table prints a dash (in January 2004 the count there started at 9:00, so the first two periods are empty) or the count was canceled.
notetextThe site name the report uses and anything the report says about the count.
data_statustextAlways “as printed in the annual report”.
source_documenttextThe annual report: author, year, title and publisher.
source_publishertextWho the report was prepared for.
source_tabletextThe table and page, with its caption.
source_urlURLThe report on NOAA’s sanctuary website (PDF).

ocean-count-report-behavior-by-site-2002-2010.csv

Surface behavior per whale at each site, by season and month, from the sanctuary’s 2010 report: breaches and slaps 2002 to 2010, dives 2006 to 2010. One row per site per season per month per behavior. 4,347 rows.

ColumnTypeMeaning
seasoninteger (year)Whale season (calendar year of the counts).
count_monthtextJanuary, February or March: the report’s average over that month’s count.
islandtextIsland, with the ʻokina.
island_idtextASCII key for the island.
site_numberintegerOur site number, matched through the report’s census tables. Empty where we could not match the report’s site.
site_nametextOur site name, with ʻokina and kahakō.
report_site_numberintegerSite number as the report prints it.
report_site_nametextSite name as the report prints it (its spelling, uncorrected).
behaviortextbreaches, slaps (pectoral fin, head or tail) or dives. The report gives dives from 2006 only.
per_whalenumberThe report’s average for this behavior per whale: in its words, “the number of behavioral occurrences” divided “by the number of whales sighted in the particular time interval”, averaged over the count. As printed, usually two decimals. Empty where the report prints NA.
reportedboolean (true/false)false where the report prints NA: in its words, “a site closure, the lack of a behavioral data sheet for the site or unreliable behavior data information”. A 0 means no behavior was seen.
unittextUnit of per_whale.
notetextOur note on a printed value, for example values the report repeats from another site.
data_statustextAlways “as printed in the 2010 report”.
source_documenttextThe 2010 report.
source_pageintegerThe report’s printed page number.
source_urlURLThe Internet Archive’s copy of the report part (PDF).

ocean-count-report-calves-by-period.csv

Calves and adults per 15-minute period for each island, from the 2010 report: Kauaʻi every count from 2002 to 2010, Oʻahu and Hawaiʻi Island in 2002 and 2007 to 2010, Kahoʻolawe in February and March 2008. One row per count per island per period, plus the report’s total row. 590 rows.

ColumnTypeMeaning
seasoninteger (year)Whale season (calendar year of the count).
count_monthtextJanuary, February or March, as the report labels the count (the February 2010 count was held on March 6).
islandtextIsland, with the ʻokina.
island_idtextASCII key for the island.
period_starttime (HH:MM)Start of the 15-minute period. Empty on the total row.
period_endtime (HH:MM)End of the period. Empty on the total row.
rowtext”period” for one 15-minute period, “total” for the report’s total over the morning.
calvesintegerCalves sighted in the period at all the island’s sites, as printed.
adultsintegerAdults sighted, as printed.
whales_as_printedintegerThe report’s total whales for the period. Three tables print a total that is not calves plus adults or not the column sum; we keep the printed value and say so in note.
pct_calves_as_printedtextThe report’s percentage of calves, with its % sign.
notetextOur note on a printed value that does not add up.
data_statustextAlways “as printed in the 2010 report”.
source_documenttextThe 2010 report.
source_pageintegerThe report’s printed page number.
source_urlURLThe Internet Archive’s copy of the report part (PDF).

great-whale-count-maui-release-figures.csv

Pacific Whale Foundation’s Great Whale Count on Maui, as stated in the joint releases, 2019 to 2026. One row per count. A separate program: never combine these with the Ocean Count figures. 23 rows.

ColumnTypeMeaning
count_datedate (ISO 8601)Date of the count. Since 2019 the Great Whale Count is held on the same Saturdays as the Sanctuary Ocean Count.
seasoninteger (year)Whale season (calendar year of the count).
count_monthtextJanuary, February or March.
programtextAlways “Great Whale Count”: Pacific Whale Foundation’s shore count on Maui (and from 2024 one site on Lānaʻi). It is a separate program from the Sanctuary Ocean Count; these figures are never part of the Ocean Count columns in the other files.
gwc_sitesinteger (sites)Number of Great Whale Count sites that collected data, as the release states it. Empty when the release does not say.
gwc_sites_scopetextWhat gwc_sites covers, as worded in the release: “Maui” or “Maui and Lānaʻi”.
gwc_busiest_period_countintegerWhales (or “whale sightings”, see gwc_busiest_period_unit) counted across the Great Whale Count sites in the busiest 15-minute period of the day. Empty when the release gives only a combined statewide figure for the busiest period (February 2024, February 2025 and all of 2026), and for January 2023, when one site reported and the release names no busiest period.
gwc_busiest_period_unittextThe release’s own word for that figure: “whales” or “whale sightings”.
gwc_busiest_periodtextStart and end of the busiest period, Hawaiʻi time, as the release states it (two periods when it reports a tie).
gwc_day_total_mauiinteger (whale sightings)Total for the whole day on Maui. From February 2023, each release adds after its total for all islands, of which this is a part, that the number “may represent duplicate sightings of the same whale”.
gwc_day_total_maui_sitesinteger (sites)Number of Maui sites behind gwc_day_total_maui when the release states it (March 2025 only).
gwc_day_total_lanaiinteger (whale sightings)Total for the whole day at the Lānaʻi site, 2024 to 2026, when stated.
notetextOur note, for example when only one site could report.
data_statustextAlways “as stated in the joint release”.
source_documenttextThe joint Sanctuary Ocean Count and Great Whale Count press release or community announcement.
source_publishertextWho published the release.
source_quotetextThe release sentences the row’s figures come from, separated by “ | “.
source_urlURLThe release (PDF).

ocean-count-2001-report-values.csv

Every number in the sanctuary’s 2001 report: site tables for Oʻahu, Hawaiʻi Island and Kauaʻi, island figures from its text, the Oʻahu coastline and dolphin tables, and our sums of each scan. The 2001 count was one day (February 24) with four 15-minute scans and gives island totals per scan, so do not compare it with the other files. Where the report disagrees with its tables (Hawaiʻi Island: printed mean 132, tables 123.0), value keeps the print and recomputed gives the tables. One row per number. 520 rows.

ColumnTypeMeaning
datedate (ISO 8601)Always 2001-02-24, the one count day in 2001.
islandtextOʻahu, Hawaiʻi (Hawaiʻi Island) or Kauaʻi.
leveltext”island” for a figure for the whole island, “coast” for an Oʻahu coastline in Table 4, “site” for one site in Tables 1 to 3 or Table 5.
tabletextWhere the number is printed: “text” for the report’s prose, or Table 1 (Oʻahu), Table 2 (Hawaiʻi), Table 3 (Kauaʻi), Table 4 (Oʻahu coastlines), Table 5 (dolphins). Table 3 is a scanned image with no text layer; we typed it in from the page image.
table_rowintegerRow number within Tables 1 to 3, counting from the top. Needed because Table 1 prints Hanauma Bay twice with different numbers.
row_labeltextThe row’s site or coast name exactly as the PDF’s text layer gives it, including its stand-ins for the ʻokina and kahakō (for example Hâlona, Ma′ili).
site_or_scopetextOur spelling of row_label: marks the report printed become ʻokina and kahakō; no mark is added that the report did not print. “island” on island rows. These are the report’s 2001 site names, not matched to our site list.
count_periodtextThe 15-minute scan (09:00-09:15, 10:00-10:15, 11:00-11:15 or 12:00-12:15, Hawaiʻi time), “all four scans”, “per scan” (Table 4), “day” (Table 5), or empty for figures with no time.
measuretextWhat the number is. Site rows: whales_counted (whales in one scan), whales_mean_per_count and whales_sd (the table’s “Average Per Site” and “Standard Deviation” over the scans), dolphins_counted. Island rows: whales_count_total (whales at all the island’s sites in one scan), whales_mean_per_count and whales_sd (mean and SD of the four scan totals), sites_designated, sites_staffed, sites_reporting, sites_reporting_scan, sites_no_whales, share_sites_no_whales, share_of_count_two_sites, whales_per_hour, whales_per_site_hour, volunteers_signed_up. Coast rows: coast_sites, coast_min, coast_max.
valuenumberThe number as printed, or our sum on a “computed” row. Empty where the report prints a dash (no data) or something that is not a single number (a range such as 1-3, or ?).
value_as_printedtextThe cell or figure exactly as printed: “-“ for no data; ranges and “?” kept. Empty on computed rows.
unittextUnit of value: whales, sites, percent, volunteers, spinner dolphins, whales per hour, whales per site hour.
qualifiertextWhat the number covers, and the report’s own hedges (“approximately”, “over”).
reporting_statustext”printed”: a number printed in the report. “not_reported”: a dash, the site gave no count. “printed_not_numeric”: printed as a range or “?”. “computed”: our sum from Tables 1 to 3, which print no column totals.
recomputednumberOur recomputation of a printed figure from the report’s own tables, where one is possible (method in note). Where it differs from value, the report disagrees with itself; we keep the printed value and do not correct it. Site means and SDs use the scans reported and the sample SD (n – 1).
notetextHow we recomputed the figure, and where the report disagrees with itself. The per-hour rates, for example, reproduce only if four 15-minute scans count as two hours.
source_quotetextThe sentence or table row the number comes from, as printed.
pageintegerPage of the report (the printed page number, which is also the PDF page).
source_urlURLThe report on NOAA’s sanctuary website (PDF).

ocean-count-early-history-statements.csv

Dated statements about the count’s first years, 1996 to 2002, from the sanctuary’s reports, handbook, training slides, web pages and advisory council minutes, and NOAA’s 2026 article. One row per statement; statements that disagree are kept side by side. 13 rows.

ColumnTypeMeaning
event_idtextOur id for the statement (E01, E02, …).
date_or_yeartextThe date or year the statement is about, as precise as the source gives it.
islandtextIsland the statement is about, or “all”.
statementtextWhat the source says, in our words.
source_shorttextThe source: author or office, title, date.
source_urlURLThe source on NOAA’s site, or the Internet Archive’s copy of the sanctuary’s former site.
source_quotetextThe source’s own words. Passages joined by “ | “ come from the same source.
pageintegerPDF page, where the source is a PDF.
source_datetextWhen the source was written or published (for a web page, the archive capture date).
conflicts_withtextevent_ids of statements that disagree with this one, separated by “;”. The sanctuary’s own documents date the first count to both 1996 and 1997; we keep both.
notetextOur note on the source.

sanctsound-humpback-song-weekly-2018-2021.csv

Weekly share of 30-second recordings with humpback song at four SanctSound recorders, 2018-19 to 2020-21, one row per site per week with any recorded hour. Source: NOAA Office of National Marine Sanctuaries and U.S. Navy (SanctSound, NCEI); song detected by a model developed and provided by Google. The files state: “The data may be used and redistributed for free but are not intended for legal use, since it may contain inaccuracies.” Our weekly table is CC BY 4.0. Never combine it with the Ocean Count figures. 220 rows.

ColumnTypeMeaning
site_idtextSanctSound site code: HI01, HI03, HI04 or HI06. HI05 is left out (one 19-day span, no place name, two sets of coordinates about 22 km apart).
deployment_idtextSanctSound deployment, for example HI04_03. Each deployment is one recorder on the seafloor for one season.
place_nametextThe site name exactly as the SanctSound metadata writes it (SITE_ALIASES): Olowalu, Makapuu, Kauai or Big_Island.
site_labeltextOur label for the site, with ʻokina: Olowalu, Maui; Makapuʻu, Oʻahu; Kauaʻi; Hawaiʻi Island.
seasontextJuly-to-June year the week starts in: 2019-20 means July 2019 to June 2020. The recorders ran from late November or December to between January and early July.
week_start_hstdate (ISO 8601)Monday that starts the week, in Hawaiʻi-Aleutian Standard Time (HST, UTC-10, no daylight saving). The source times are UTC; we shift each hour by 10 hours before grouping.
week_end_hstdate (ISO 8601)Sunday that ends the week (HST).
first_hour_utcdate-time (UTC)Start of the first recorded hour in the week, as the source gives it.
last_hour_utcdate-time (UTC)Start of the last recorded hour in the week.
hours_recordedintegerHours in the week with a value in the source (at most 168). Hours without one were not recorded, or not as good-quality continuous audio, and are left out, never counted as zero.
partial_weekboolean (true/false)true when hours_recorded is under 84 (half a week). We do not chart or describe these weeks.
song_pctnumber (0 to 100, one decimal)Mean of the week’s hourly values times 100. Each hourly value is the source’s share of 30-second recordings in that hour in which the detector found humpback song. The source gives no per-hour denominators, so every recorded hour counts equally. A 0 means no song was detected, not that no whales were there.
unittextUnit of song_pct.
source_doiURLDOI of the deployment’s NCEI record. Cite it as the files ask: NOAA Office of National Marine Sanctuaries and U.S. Navy. 2021. Humpback Whale Sound Production Recorded at SanctSound Site HInn_nn, SanctSound Data Products. NOAA National Centers for Environmental Information.
source_urlURLThe hourly CSV on NOAA’s public bucket that the week was computed from.

hawaii-humpback-abundance-estimates.csv

Published abundance estimates for Hawaiʻi humpback whales, not Ocean Count data: the non-calf estimates for each breeding season, 2002/03 to 2022/23, from Table 1 of Barber-Meyer et al. (2026), Marine Mammal Science 42(4): e70231, doi:10.1111/mms.70231, and four figures from NOAA Fisheries’ stock assessment report for the Hawaiʻi stock. The article is open access under CC BY-NC-ND 4.0 (© 2026 Pacific Whale Foundation and the authors). Our file compiles its published numbers, not the article or its figures: credit the paper when you use those rows. 25 rows.

ColumnTypeMeaning
sourcetextWhich publication the row comes from: “barber-meyer-2026” (Barber-Meyer et al. 2026, Table 1; CC BY-NC-ND 4.0, credit the paper) or “noaa-sar-hawaii-2024ed” (NOAA Fisheries’ stock assessment report for the Hawaiʻi stock, Alaska Marine Mammal Stock Assessments, 2024, NOAA-TM-AFSC-503, posted April 2026; a US government work). The two measure different things: never combine, average or chart them as one series.
measuretextWhat the value is, as the source names it: “non-calf abundance estimate” (barber-meyer-2026), or “abundance estimate”, “minimum population estimate (Nmin)”, “potential biological removal (PBR)” and “current population trend” (the stock assessment).
period_labeltextThe period exactly as the source labels it: a breeding season such as “2014/15”, or a year (“2020”). Empty for the trend row.
period_startdate (YYYY-MM or YYYY-MM-DD)Start of the period: November of the first year for a breeding season (the paper uses November to May); for the stock assessment estimate, the start of the peak window the model averages over.
period_enddate (YYYY-MM or YYYY-MM-DD)End of the period: May for a breeding season; the end of the peak window for the stock assessment estimate.
plot_yearinteger (year)Where our chart on the whale decline page plots the row: the year a breeding season ends (2014/15 at 2015). Empty for rows we do not plot: the 2002/03 estimate the authors exclude, and every stock assessment row.
valueintegerThe number as published. Empty for the trend row, which has no number.
value_texttextThe trend as the stock assessment states it (“unknown”). Empty on numeric rows.
seintegerStandard error as printed (barber-meyer-2026). Empty where the source gives none.
cvnumberCoefficient of variation as printed (the stock assessment estimate). Empty where the source gives none; we do not derive one.
ci_lowintegerLower bound of the confidence interval as printed.
ci_highintegerUpper bound of the confidence interval as printed.
ci_levelnumberConfidence level of the interval (0.95).
population_scopetextWhich whales the value covers, as the source defines them. The paper counts non-calves using the Main Hawaiian Islands in a breeding season; the stock assessment covers whales of all ages in the US Exclusive Economic Zone around the Hawaiian Islands at the winter peak.
unittext”whales”. Empty for the trend row.
methodtextHow the source produced the value, in brief.
excluded_by_authors0 or 11 for the 2002/03 estimate, which the authors say is “likely underestimated by about half” and leave out of their figure, their 11,617 mean and their growth rates. The row is kept as printed; leave it out of any series.
notetextOur note on the row.
source_documenttextFull citation of the publication. The barber-meyer-2026 citation ends with the article’s license.
source_urlURLThe paper’s DOI or the stock assessment report (PDF).
page_or_tabletextTable and page, or section and page, the value comes from.
source_quotetextThe table row or sentence the value comes from, as printed.

whale-injuries-hawaii.csv

Whale entanglement and vessel-collision report counts for Hawaiʻi from NOAA reports: a separate dataset, not Ocean Count data. Two families, kept apart: the sanctuary’s season-end entanglement response reports, 2005–06 to 2018–19, 2023–24 and 2024–25, each season with its own window, species and units as printed; and NOAA Fisheries (PIFSC) humpback injury determinations by category for calendar years 2007 to 2021. Both count cases reported to and confirmed by the response networks, a minimum. Source: NOAA (public domain). One row per printed figure or derived count. 555 rows.

ColumnTypeMeaning
source_familytext”sanctuary season-end report” (Hawaiian Islands Humpback Whale National Marine Sanctuary, Large Whale Entanglement Response) or “PIFSC injury determinations” (NOAA Fisheries Pacific Islands Fisheries Science Center). The two count partly the same cases: never add them together or compare them as if independent.
report_idtextShort name of the report. Sanctuary: HIHWNMS- plus the year the season ended (2006 to 2019, 2025) and the report kind (season-summary, season-web for an archived web page, season-end), and HIHWNMS-2024-SAC-agency-report for 2023–24. PIFSC: NMFS-PIFSC-45, -75, -81, -103, DR-22-018, DR-23-01 or DR-25-10.
report_titletextAuthors, year, title, series and DOI as printed.
period_typetext”season” (sanctuary) or “calendar year” (PIFSC). Seasons are never converted to calendar years or back.
period_startdate (ISO 8601)First day of the period the row covers, from the window as printed. Multi-year PIFSC rows are totals the report prints for that window. Empty where the report states no dates (2023–24).
period_enddate (ISO 8601)Last day of the period.
window_as_statedtextThe season window exactly as the sanctuary source prints it (“December 1, 2024 – May 1, 2025”, “November 1 – April 30”); “not stated” for 2023–24. Windows differ from season to season. Empty for PIFSC rows.
geographytextThe area as the report describes it: the main Hawaiian Islands (sanctuary; some seasons include cases far offshore, noted per row) or in and around the Hawaiian EEZ (PIFSC).
location_basistextWhich location places a case: where the whale was reported or observed, not where the gear came from.
species_scopetextSpecies the value covers, as printed: large whales (all species), humpback whale, sperm whale, sei whale, dolphin, monk seal, a printed mix (“humpback whales and monk seals”), all cetaceans, or “not stated” where the sentence names no species. Sanctuary seasons to 2009–10 count humpbacks only.
measuretextWhat is counted; each measure is defined, with the report’s wording, in DEFINITIONS.md. Reports, animals, response efforts and outcomes are different entities: never add one to another.
determination_categorytextPIFSC rows: the reports’ injury determination (Serious, Serious* for a determination based on significant health decline, Prorate for a fractional serious injury, Non-serious, Dead, CBD for cannot be determined) or “all” for a total. “not applicable” for sanctuary rows.
serious_injury_basistextWhich determination a PIFSC count or sum uses: vessel collisions have one (used for PBR); entanglements have an initial one (LOF, before any disentanglement) and a follow-up one (PBR), so their category counts appear once per basis.
valuenumberThe figure. Counts are whole numbers; serious-injury equivalents can be decimals, because prorated cases count as a fraction. 0 means a reported or tabulated zero.
unittextAs printed: reports, animals, cases, whales (one per report row; individuals are not de-duplicated), serious-injury equivalents, or the response unit a sanctuary report uses (“on-water response efforts”, “on-water and in-air responses”, “multi-agency, multi-asset responses” and others). Never compare values with different units.
boundtextexact, at least, or as many as, as the report words it.
derived_from_rowstrue/falsetrue: we counted the report’s case rows (PDF tables 2007-2018, supporting data files 2019-2021). false: the figure is printed in the report text, quoted in source_quote.
source_urlURLThe report PDF on NOAA’s servers (sanctuary site or NOAA Institutional Repository), or the Wayback Machine capture of a sanctuary web page (2006–07, 2009–10).
source_pagetextPhysical PDF page (or page range for case rows). Empty where the rows come from a supporting data file or an archived web page.
source_tabletext”report text”, “archived web page text”, the report table, or the supporting data file the case rows come from.
source_quotetextThe sentence that states a printed figure. Empty for derived rows.
transcriptiontextHow we read the figure: copied from the report text or the archived web page, read from the PDF text layer, or read from the supporting CSV or xlsx file.
report_revisiontextPublication date and any revision or supersession the report states.
notetextCaveats for the row, such as the 2007 vessel total that does not reconcile, that outcome rows must not be summed, or that the report prints the same measure twice with a different value or bound (“The report also prints”: both rows are kept).

License and credit

Volunteers collected the observations, and the Hawaiian Islands Humpback Whale National Marine Sanctuary, a NOAA office, published them. We link to the official results sheets, press releases and reports on oceancount.org and NOAA’s site instead of copying them, so each row’s source_url points to the publisher’s own file, or to the Internet Archive’s copy where the sanctuary’s older page is gone.

USA.gov’s guidance on government works says you cannot use government material in a way that implies endorsement. NOAA and the sanctuary have not reviewed or endorsed this site.

Our compilation, meaning the tidy tables, column names and the flags we derived, is released under Creative Commons Attribution 4.0. You can reuse and adapt it, including commercially, if you credit the sanctuary for the observations and sanctuaryoceancount.org for the compilation. The suggested citation and the limits of the numbers are on our methods page.

The SanctSound file is derived from data products of the NOAA Office of National Marine Sanctuaries and the U.S. Navy, published by NCEI, with song detected by a model developed and provided by Google. The files state: “The data may be used and redistributed for free but are not intended for legal use, since it may contain inaccuracies.” Cite each deployment’s DOI, given on every row, and our weekly table.

The abundance estimates file is credited differently. Its Barber-Meyer et al. (2026) rows are numbers from an article published under Creative Commons Attribution-NonCommercial-NoDerivs 4.0: credit the paper when you use them, and follow that license for anything taken from the article itself. Its stock assessment rows come from a NOAA Fisheries report.