Contributors wanted 2: Creative commons database for free tide forecast

We, surfers, waveriders, divers and sailors need an accurate tide forecast. Tides can only be forecasted at "tide stations" that measure actual sea levels in time. We estimate, that there is 15 - 30.000 tide stations in the world, yet we at Windy, were able to gather data just from 10.000 of them.

Let's create a creative commons database, where the community could submit tide stations in the world, and upload the (time to time) latest measured data. The open source web application for gathering these data would calculate harmonic files, and these files would be available for free for anyone in the world.

Not only would we be able to surf, sail or dive better, but we would increase overall marine safety.

We believe that this information should be free.

Ivo, the founder of Windy


Technical part from @kekert who programmed tide backend on Windy:

What is needed?

In order to be able to accurately predict tides for given location, set of harmonic constituents derived from water data levels are necessary. Either harmonic constituents itself (usually hard to get) or water level observations (can be taken from local boating magazine, chartbook, yacht club or marine authority) are sufficient. We believe that there is a widespread demand for free, creative commons database of harmonic constituents which can be used to predict tides. 
We believe that this creative commons database, can help other people dependent on tide levels to avoid all dangers and enjoy all possible fun using these shared information.

In our eyes, any information that can provide more safety to people should be always free to use. Ever.

How to achieve it?

If you are a programmer, wanting to help other tide freaks, we would be happy if you decide to develop open source web application for adding, editing, parsing and transforming tidal data. Let’s call this process tidal data munching.

  • You will develop web application for munching tide data using the technology you like. The codes of app should be, in our opinion, open source and hosted on gitHub.
  • Application users should be able to add/edit either harmonic constituents itself, or water level observation (at least a year's worth of hourly water level measurements is recommended). As output, database of harmonic constituents for tide locations should be provided.
  • The condition is, that resulting harmonic constituents database is creative commons and it is easy for any other party to download and use the database.
  • Windy will provide free hosting for this apps with nice domain name
  • As start, free to use data of harmonic constituents from The Center for Operational Oceanographic Products and Services (CO-OPS) can be used -
  • Windy will place a links from to so we can guarantee that this site will have its users and spots contributors.
  • Windy will enable you to use registering and authentication of so you do not need to develop it yourself.
  • Windy will send you Windy cap and Windy towel (the only swag we have so far).
Data structure and recommended setup

The database should contain the following information:

  • Location name + basic description
  • Coordinates (latitude, longitude)
  • Harmonic constituents for given location

We recommend to use the components described at

  • Resulting data should follow the structure of Harmbase 2 (or at least the output format should be easily convertible to the one required by Harmbase 2)
  • Harmgen package should be used to derive harmonic constituents from water level observations the reason for that is that a lot of complicated work have been done on these packages and we don’t see any other viable way of generation tide predictions at the moment.

More detailed description of recommended process:

  1. collect user data:
    • either in the form of harmonic constituents
    • or as water level observations
  2. clean data, prioritize, remove duplicities
  3. transform data to output format:
    • for harmonic constituents, trnasform them to desired output format
    • for water level observations:
      1. transform data to the format understandable by
      2. Harmgen produces results in the form of an SQL insert statement that loads the new station into Harmbase 2

Example of harmonic constituents data for single location from CO-OPS:

0<em>1510062846000</em>Screen Shot 2017-11-07 at 14.53.37.png

A small warning at the end

A lot of low level programming and tweaking (especially in C) will be needed to perform this task.

Quote taken from Xtide webpage:
“All pretense of user-friendliness stops here.  If you want to do large numbers of stations without lots of manual data entry, you have two options, both of which require a high level of computer literacy.”

Taken from HarmBase readme:
“Harmbase is a database application for managing harmonic constants. I built Harmbase to solve my own problems, so it's not "plug and play" software. It's not designed to be useful to someone who does not know how to hack C code or write interactive SQL queries. Given the nature of the problem--turning unstructured data from random sources into structured data--I doubt that anything but hackware would be feasible.”

How to proceed

Just let us know that you are interested and we can go!

Wave tide forecast on Windy? Where will I find it?

We are testing new tide forecast right now. Jest check the details here: