Application Note
Washington State Ferry
Mobile Weather Station
Note was written by Richard J. Fulthorp, BSEE, Meteor Communications Corporation (MCC) Software Engineering Manager copywrite January 2000. MCC is a wireless communications company with over 25 years of experience in the collection of meteorological data.



Operating a weather station on a moving vessel presents some interesting problems which are discussed in this section. From an observers point of view, there are several points to consider. Each of these effects are handled in the software within the RF Modem. The system equipment consists of a CSI-CR10X data logger connected to weather sensors to read temperature, barometric pressure, relative humidity, wind speed and wind direction. A display panel also connects to the CR10X for real-time readout of the sensor values, corrected wing speed and direction, and battery voltage. A GPS provides, global position coordinates, vessel speed over ground and course over ground. A GYRO provides the actual vessel heading. The GPS, GYRO, and CR10X data are input to a MCC-545A RF Modem which corrects the measured wind speed and direction using the vessel speed, heading and course over ground. The RF Modem outputs the corrected wind speed and direction back to the CR10X for display on the panel, then transmits a data report to the MCC Data Center. This is done on a periodic basis, providing the Customer with weather data form points in Puget Sound where it was not previously available.


The wind direction sensor must be mounted parallel to the centerline of the vessel. The zero-degree "0" angle from the wind vane must align with the zero-degree angle from the vessels GYRO. This must be accomplished with one person rotating the wind vane mount on the mast while keeping the vane parallel to the centerline, while another person is looking at the GYRO reading and wind direction on the Bridge until both readings are the same.

The RS-232 serial ports will be connected as follows. The CR10X will be connected to the Data (DTA port 1), The GPS will be connected to the AUX (port 2), and the GYRO must be connected to the internal DIAG (port 3) of the 545A to leave the MNT (port 0) open for connecting a laptop computer.



The RF Modem software was modified to connect to all the weather sensors through the CR10X, then merge the wind speed and direction with the GPS and GYRO inputs, calculate corrected wind speed and direction relative to the ground, output the corrections to the CR10X, and transmit a weather report at an operator-selectable interval. The setup of the 545A must first install commands for the LOS network for the Ferries, then set up the CR10X and weather parameters as follows:

Port Setup:








CR10X Setup:






Weather Parameters:




The WEATHER setup command ..

Detailed Description of Wind Speed Calculations:

Some interesting complications are:

  1. Wind direction is measured "into" the wind, or in the opposite direction the air is actually moving. For example, we say that a "North Wind" is blowing when the air is moving south.
  2. The vessels heading is in the direction it is moving, not the direction from which it came, and currents and wind cause its heading to deviate from the course over ground. Ferry boats can head in either direction without turning around.
  3. The compass readings are opposite to polar coordinates which must be used to calculate the actual wind speed and direction, and have a 90 degree offset. For example the following figure shows the two coordinate systems next to each other.

All the above special complications are handled by the 545A software using the process that follows.

For each report, repeat the following:

Step 1. Read input register 1-5 from the CR10X. These contain temperature, humidity, barometric

pressure, wind speed, wind direction.

Step 2. Adjust wind direction for GYRO heading and convert to wind vector by adding 180 degrees.

Step 3. Convert wind direction to polar coordinates, and compute wind X and Y components.

Step 4. Convert GPS heading from compass to polar coordinates and compute its X and Y


Step 5. Compute corrected wind magnitude and direction by adding wind x,y and GPS x,y

components. Compute corrected wind direction, convert to compass coordinates, and add

180 degrees to get true wind direction.


Report Formats:

The data report format is shown below. The first line gives the date and time the data was received at the base station, the ID of the remote that originated the data, the group number, number of sensors in the report, data report was originated at the remote, time the data was acquired at the remote. The second line has 16 bit data values for each sensor in hexadecimal format.

The Latitude and Longitude are each 32 bits and use two sensor values apiece where the first 16 bits are the high order word, and the second 16 bits are the low order word. All other sensor values only use one 16 bit word each and are encoded in Campbell Scientific, Low-Precision, floating point format, as described in the Data Value Format paragraph below.

Raw Data Format:

+--Remote ID (256-4095)

| +- Group number (1-16)

| | +- Sensor count (1-16)

+-Date received | | | +- Date Acquired

| +-Time received | | | | +- HHMM Acquired

| | | | | | |

12/14/99 13:27:01 DATA from 00256 G1 S14 12/14/99 1327

DF91 DF91 597D 6000 43E8 802B B3EE 8070 2394 6BB8 2708 51F8 44BB 4F96

| | | | | |<----->| |<----->| | | | | |

| | | | | Latitude Longitude | | | | |

| | | | | Speed-+ | | | |

| | | | +-Wind Direction Heading-+ | | |

| | | +-Wind Speed Gyro-+ | |

| | +-Barometric Pressure Corrected Wind Speed-+ |

| +-Humidity Corrected Wind Direction--+


Customer Data Format:

The final report is routed through the MCC Data Center to a ftp directory, with data values converted to decimal in the following format (please note that the report is all one line. It is shown as two lines because it is too long to fit on the page):

+--Remote Name 10 chars (left justified, trailing blanks)

| +- Group number (1-16)

| | +- Sensor count (1-16)

+-Date | | | +- Date Acquired

| +-Time | | | | +- HHMM Acquired

| | | | | | |



| | | | | |<------->| |<------->| | | | | |

| | | | | Latitude Longitude | | | | |

| | | | | Speed-+ | | | |

| | | | +-Wind Direction Heading-+ | | |

| | | +-Wind Speed Gyro-+ | |

| | +-Barometric Pressure Corrected Wind Speed-+ |

| +-Humidity Corrected Wind Direction--+





Raw Data Value Formats:

The 16-bit and 32-bit formats are encoded differently as described below.

Each CSI 16-bit floating point value uses a 3-bit exponent code and a 13-bit mantissa. For example, the value 2ADC (Hex) is shown above for Corrected wind direction. The exponent code is 1 (bits 0,1,2). The mantissa is 0ADC (hex), bits 3-15. This decodes to 278.0 Degrees.

Exp Mantissa +-+--+-------------+

0 xxxx. |&plusmn;|EX| 13 bit data |

1 xxx.x +-+--+-------------+

2 xx.xx


The 32-bit Latitude and Longitude format is split into two 16-bit data words. The high order word is given first followed by the low order word. The high order word, bit 15, contain a hemisphere bit, and the rest of the 32 bits is not 2s complement. The 31 bit data value is an unsigned integer computed from the following formula. The hemisphere bit for latitude is: 1=North, 0=South. The hemisphere bit for longitude is: 1=East, 0=West.


|&plusmn;| | |


High Order Low Order

(Degrees*60000) + (Minutes*1000) + (Fraction of Minutes)