You are here

function weather_calculate_beaufort in Weather 7.3

Same name and namespace in other branches
  1. 7 weather_theme.inc \weather_calculate_beaufort()
  2. 7.2 weather_theme.inc \weather_calculate_beaufort()

Calculate Beaufort wind scale for given wind speed.

@link http://en.wikipedia.org/wiki/Beaufort_scale

Parameters

int $wind_speed: Wind speed in m/s.

Return value

array Beaufort number and description.

2 calls to weather_calculate_beaufort()
weather_format_wind in ./weather_theme.inc
Convert wind.
weather_format_wind_speed in ./weather_theme.inc
Convert wind speed.

File

./weather_theme.inc, line 495
Prepare themed weather output.

Code

function weather_calculate_beaufort($wind_speed) {

  // Set up an array of wind descriptions according to Beaufort scale.
  $description = array(
    t('Calm'),
    t('Light air'),
    t('Light breeze'),
    t('Gentle breeze'),
    t('Moderate breeze'),
    t('Fresh breeze'),
    t('Strong breeze'),
    t('Near gale'),
    t('Gale'),
    t('Strong gale'),
    t('Storm'),
    t('Violent storm'),
    t('Hurricane'),
  );
  $number = 0;
  if ($wind_speed >= 0.3) {
    $number = 1;
  }
  if ($wind_speed >= 1.6) {
    $number = 2;
  }
  if ($wind_speed >= 3.5) {
    $number = 3;
  }
  if ($wind_speed >= 5.5) {
    $number = 4;
  }
  if ($wind_speed >= 8.0) {
    $number = 5;
  }
  if ($wind_speed >= 10.8) {
    $number = 6;
  }
  if ($wind_speed >= 13.9) {
    $number = 7;
  }
  if ($wind_speed >= 17.2) {
    $number = 8;
  }
  if ($wind_speed >= 20.8) {
    $number = 9;
  }
  if ($wind_speed >= 24.5) {
    $number = 10;
  }
  if ($wind_speed >= 28.5) {
    $number = 11;
  }
  if ($wind_speed >= 32.7) {
    $number = 12;
  }
  return array(
    'number' => $number,
    'description' => $description[$number],
  );
}