Tuesday, November 6, 2012

Custom Micro Pattern

The micro patterns rely on two main features:
  • A background
  • GRIB Smoothing
The GRIB Smoothing is not a problem, and the value it can take are now available in the pattern editor.
The problem can come from the backgrounds. Up to now, they refer to an image, part of a jar, accessed through a getResource() method.
In order for the user to be able to come up with his own patterns, there is now "protocol" for the background.
Click the image to enlarge it. Notice in the fax URL (a background is just a non-transparent fax), it begins with ext-resource://.
Whatever is after that is the URL of the image you want to set as a background. In this case, it is picked up in the resources directory. But it can come from the web as well, it just has to begin with http://...
Notice beside the "Projection" drop down list, you now also have the possibility not to display the chart contour.
The GRIB smoothing parameters we talked about before are the 2 last parameters at the bottom of the dialog displayed above.

Wednesday, October 31, 2012

Micro Patterns

Combining the chart backgrounds and the GRIB smoothing, we can come up with a local pattern, which can actually make some sense, specially for local conditions (wind and kite surfers might be interested).
The image above is the display of the following request:
It is displayed with a GRIB 2D smoothing of 6 (cells are 10x10 nm) and a time smoothing of 3 (one frame every hour). The total time is one week, that makes 168 frames.
At the entrance of the San Francisco Bay, the wind goes from WSW on Wednesday at 06:00 UTC, to South and 12:00 UTC, to North on Friday at 00:00 UTC. Interesting...
This feature - and the associated background - will be available soon, in the next patch version of the software.

Thursday, September 27, 2012

Digital Image

This is indeed what you can call a digital image... Just take a step back in case it is not obvious to you. Or forward actually, it depends on what you missed. ;0)
Click here to see it in full.
You can do your own, just go to text-image.com.

Thursday, September 13, 2012

Routing now avoiding land

Sounds obvious, I know, but the routing is now - on request - able to avoid land.

The feature is being developed - ie it works on my machine - and will be available in beta soon (in
There will be some limitations for the inland seas, like Caspian, Aral, Black Sea, Great Lakes... But that should beOK for the rest of us.
As always, the code will be available on Google Code.

Thursday, September 6, 2012

Google Locator for everyone

The Google Locator is this application we used during the trip to show our position on Google Maps in the blog (this blog) we were feeding from SailMail.
It is now available to whoever wants to use it, you just have to register.
To register, go to http://donpedro.lediouris.net/php/locator/idform.html and fill out the form.
(All images below are clickable, to enlarge them)

Once this is done, you can use the Google Locator available in the Navigation Desktop. You need to set your Boat ID in the preferences

When you hit the button "Generate URL", the URL you need is in the clipboard.

You can paste it in an email, or use it as it is. Here is the kind of renderings it produces in a browser

You can try it for yourself.

Wednesday, September 5, 2012

How SailMail works

By popular demand... here is a quick post explaining how we can send and receive emails when at sea. We have been successfully using SailMail.
The SSB is using an analogous signal. Emails are digital data. That is why you need a modem (MOdulator-DEModulator) between the radio and the laptop, to convert the analogous signal into a digital one, and vice-versa.

So, on the boat, you need: a laptop, a modem, an SSB, with its antenna. You also do need the SailMail client program, which knows how to communicate with the modem and the SSB. All details about that are given on the SailMail web site.

The SailMail association has a network of land radio stations, which can receive the signals emitted by the boats. The land stations also have a modem, and are connected on the Internet. The emails rely on the Internet. It is like if the land stations had two faces: one facing the sea (with the SSB), and one facing the web (with the Internet connection).

What happens when the boat sends an email:
On the boat, you compose your email, and you put it in your outbox. Then you turn your SSB on, and you use the SailMail client program to contact a land SailMail station.
When the contact is established, the messages sitting in the outbox go through the modem and the SSB to be streamed to the land station. On receive, the land station then turns the messages back into digital files, and uses its Internet connection to post them on the web. From there, it's the usual email story.

What happens when an email is sent to the boat:
Someone has been sending the boat an email, using its @sailmail.com address.
When boat is establishing a connection with a land station - just like above - the land station is converting the digital emails sitting in your SailMail inbox into an analogous signal, so they can be streamed to the boat.
On the boat side, when those messages are received, they're converted into emails, and put into your SailMail client inbox on your laptop. That's it!

The radio transmission is very slow, compared to what DSL and others can provide.
Remember the dial-in time? Well, divide it by ten, and you're not even close...
That's why SailMail is appropriately cutting any attachment to the incoming emails..., and that's why, if you reply to a SailMail email, please do not hit the reply button without cutting the original message! Thank you.
A SailMail subscription grants you 90 minutes of transmission per week. Transmission time also include the time it takes to receive unwanted messages (like the original message, the one you replied to without cutting it). Thanks again.

Friday, August 31, 2012

Build systems available

We now have build systems available on for both the Weather Wizard and the Navigation Desktop. Build scripts are available for Ant, Maven, and Gradle.

Tuesday, July 17, 2012

New logo for the Weather Wizard

We have a new logo for the Weather Wizard, made by Brainnew.
It comes along with a thumbnail in the control pane, that shows the part you're looking at (the viewport) on the full chart.

Also, for those using the AlmanacPublisher (part of the Navigation Desktop), a leap second has been inserted on July 1st. DeltaT is now 66.7708 s.

Monday, June 25, 2012

NMEA Reboradcasting, again

This post is more like a question...
This is always the same problem, most of the NMEA devices use a Serial Port, which is always accessed exclusively (i.e. by no more than one program at a given time).
The way around this exclusive access is to have the exclusive reader to rebroadcast the NMEA data using another channel, accessible from several other programs. This other channel can be HTTP, TCP, UDP... Those channels are machine, system and language agnostic. From Java to Java, RMI is also an interesting alternative.
SailMail reads the NMEA Stream to get the position of the boat, and thus is able to find the best SailMail station, provides the possibilty to rebroadcast the data it reads. Available channels are TCP, UDP, and even COM (rebroadcast on another serial port). It rebroadcasts the NMEA Sentence as it has been read, assuming - appropriately in my humble opinion - that if it is NMEA you are interested in, you know how to parse it.
There is also something else, which OpenCPN is aware of, this is GPSd.
It runs as a daemon - on the systems where daemons exist - and is only good for GPSs, not all the NMEA messages, because it's rebroadcasting the data after reworking them in another format, some proprietary classes over json (JavaScript Object Notation).
The GPSd protocol is not exactly documented, and the project leader does not return my emails...
In the NMEA Console, you can read any of those channels (Serial, TCP, UDP, RMI) and rebroadcast on HTTP, UDP, TCP and RMI (simultaneously if needed). I'm also working on a GPSd rebroadcast, running anywhere Java runs (no need for a daemon).
Anyway, both approaches have pros and cons (even if I'd rather rebroadcast the data as they come).
If anyone has any comment or idea, please speak up!
Thanks in advance.

Saturday, June 2, 2012

NMEA Stream re-broadcast

The NMEA Console (available at http://code.google.com/p/fullnmeaconsole/) is now fully aware of several communication channels, other than Serial port.
The data can be read from a Serial Port, UDP, or RMI. You can also replay NMEA Data, logged previously (the console has logging capabilities).
The data read from one of the channels above can be re-broadcasted on RMI, UDP, and XML over HTTP (there is a default html page displaying the data).
All the data are also cached in some HashMap, which means that any program living in the same JVM (or reaching it through RMI) can access them, without having to re-damp them (the damping factor is set at the "server" level, the one reading the data first). That is the case of all the modules coming with the console (Star Finder, Planetarium, Google Locator, etc).
If you have a wireless network (like Home Network) setup in the boat, then several machines can share the same data...
The next step would be to write a pugin for OpenCPN, so it can also re-broadcast the NMEA data... But that's another story, this is all in C++.
I also want to port the console (and more) on Android, to be able to display it on a table. The Tide application has been tested already, it's working good.
Keep posted, more to come!

Monday, May 7, 2012

Star Finder explained

The goal here was to re-build the Star Finder (2102-D, from the US Hydrographic Office).
It displays the visible sky at a given latitude, and relies on the Local Hour Angle of the vernal point (a.k.a. Aries, noted γ).
The first question was to re-elaborate the way the horizon is displayed..., what can be the equation of those "blue circles"?...

This browser does not support Applets.
Use the sliders to change the latitude and Aries LHA

The background disc represents the full sky, north and south hemispheres on one single flat disc. That's why it is so distorted for the low latitudes.
The applet above represents the Star Finder set for a Northern latitude (by default, you can change it). Keep in mind that you need to think you are sitting just under the zenith, figured with a blue dot in the middle of your sky.
Also, the outer blue circle is the horizon, the center one is the zenith, that means the closer to the blue center a star is, the highest in the sky it is. Remember, it is like if the user was sitting under the blue dot.
This is the opposite of what's usually used in most of the "land" sky maps, where stars are shown as seen from the ground, like is the user was sitting on the horizon, on the edge of the visible chart...
It can be confusing if you don't know it first.
The Star Finder uses the exact Local Hour Angle (LHA) to set the two discs on top of each other. The Sky Map approximates the LHA and by matching local time with the current calendar date. This obviously does not take the leap years in account, but considering the required precision, this is probably good enough.

Monday, April 16, 2012

User Manual available

There is a User Manual for the Weather Wizard available at lulu.com.

Support independent publishing: Buy this book on Lulu.

Monday, March 26, 2012

Shark in the San Francisco Bay?

Check out http://www.sfbaywildlife.info/species/sharks.htm, you'll learn a lot.
At least, I did!

Wednesday, March 7, 2012

New display option for faxes

There is a new display option for the faxes.
We used to have check boxes on the right side of the chart panel, to hide or show the various data (charts, faxes, GRIB file, etc).
We now have the possibility to have radio buttons (instead of the check boxes) for the faxes. A right click on the check box panel will prompt you for the option.
That allows you to scroll through the faxes one by one. One fax would be displayed at a time. That would be specially useful when a composite is targeted to display faxes of the same zone, for current time, 24h forecast, 48h forecast, 96h forecast, etc.

Saturday, February 11, 2012

Polar Stereographic Projection

Many faxes, several satellite pictures (like this), from US NOAA, UK MET, Germany DWD, French Meteo France, are using some conic projection I could not figure... it was not Lambert, not Conic Equidistant...
Fritz (from Wien, Austria) told me that could be a Stereographic projection.
I tried it, implementing it in the ChartComponent project...
Obviously, that was not right...

After watching the fax from the UK MET, the geostrophic scale explicitly says "Polar Stereographic Projection". Aha! There we are:

Now we are talking! Polar, that's all the difference.
Now, we can even stack a GRIB on top, that really makes sense.
Kudos to Fritz!

It's now available in the Weather Wizard.
More patterns are coming soon, keep posted.

Monday, January 23, 2012

Rain in the SF Bay

It's raining in the San Francisco Bay Area...
This winter has been very unusual so far, sunny and dry - and cold.
The responsible is the 500mb configuration, as explained in this article. It also explains why at the same time the weather has been so bad in Alaska.