Live version link
More info about the harmonics of tides at Theory of Tides
Constituent data came from 2 NOAA sources, station (tide measuring location) information from here via XML and the harmonic data from here via a huge stream of CSV data. These sources were parsed and reorganized as GeoJSON and pushed into a MongoDB instance. The helper functions I built to parse and organize the data I've left in the /controllers/utils.js code.