new (Irc::Utils::Metar)

    # File rbot/utils.rb, line 154
          def initialize(string)
            str = nil
            @nodata = false
            string.each_line {|l|
              if str == nil
                # grab first line (date)
                @date = l.chomp.strip
                str = ""
              else
                if(str == "")
                  str = l.chomp.strip
                else
                  str += " " + l.chomp.strip
                end
              end
            }
            if @date && @date =~ /^(\d+)\/(\d+)\/(\d+) (\d+):(\d+)$/
              # 2002/02/26 05:00
              @date = Time.gm($1, $2, $3, $4, $5, 0)
            else
              @date = Time.now
            end
            @input = str.chomp
            @cloud_layers = 0
            @cloud_coverage = {
              'SKC' => '0',
              'CLR' => '0',
              'VV'  => '8/8',
              'FEW' => '1/8 - 2/8',
              'SCT' => '3/8 - 4/8',
              'BKN' => '5/8 - 7/8',
              'OVC' => '8/8'
            }
            @wind_dir_texts = [
              'North',
              'North/Northeast',
              'Northeast',
              'East/Northeast',
              'East',
              'East/Southeast',
              'Southeast',
              'South/Southeast',
              'South',
              'South/Southwest',
              'Southwest',
              'West/Southwest',
              'West',
              'West/Northwest',
              'Northwest',
              'North/Northwest',
              'North'
            ]
            @wind_dir_texts_short = [
              'N',
              'N/NE',
              'NE',
              'E/NE',
              'E',
              'E/SE',
              'SE',
              'S/SE',
              'S',
              'S/SW',
              'SW',
              'W/SW',
              'W',
              'W/NW',
              'NW',
              'N/NW',
              'N'
            ]
            @weather_array = {
              'MI' => 'Mild ',
              'PR' => 'Partial ',
              'BC' => 'Patches ',
              'DR' => 'Low Drifting ',
              'BL' => 'Blowing ',
              'SH' => 'Shower(s) ',
              'TS' => 'Thunderstorm ',
              'FZ' => 'Freezing',
              'DZ' => 'Drizzle ',
              'RA' => 'Rain ',
              'SN' => 'Snow ',
              'SG' => 'Snow Grains ',
              'IC' => 'Ice Crystals ',
              'PE' => 'Ice Pellets ',
              'GR' => 'Hail ',
              'GS' => 'Small Hail and/or Snow Pellets ',
              'UP' => 'Unknown ',
              'BR' => 'Mist ',
              'FG' => 'Fog ',
              'FU' => 'Smoke ',
              'VA' => 'Volcanic Ash ',
              'DU' => 'Widespread Dust ',
              'SA' => 'Sand ',
              'HZ' => 'Haze ',
              'PY' => 'Spray',
              'PO' => 'Well-Developed Dust/Sand Whirls ',
              'SQ' => 'Squalls ',
              'FC' => 'Funnel Cloud Tornado Waterspout ',
              'SS' => 'Sandstorm/Duststorm '
            }
            @cloud_condition_array = {
              'SKC' => 'clear',
              'CLR' => 'clear',
              'VV'  => 'vertical visibility',
              'FEW' => 'a few',
              'SCT' => 'scattered',
              'BKN' => 'broken',
              'OVC' => 'overcast'
            }
            @strings = {
              'mm_inches'             => '%s mm (%s inches)',
              'precip_a_trace'        => 'a trace',
              'precip_there_was'      => 'There was %s of precipitation ',
              'sky_str_format1'       => 'There were %s at a height of %s meters (%s feet)',
              'sky_str_clear'         => 'The sky was clear',
              'sky_str_format2'       => ', %s at a height of %s meter (%s feet) and %s at a height of %s meters (%s feet)',
              'sky_str_format3'       => ' and %s at a height of %s meters (%s feet)',
              'clouds'                => ' clouds',
              'clouds_cb'             => ' cumulonimbus clouds',
              'clouds_tcu'            => ' towering cumulus clouds',
              'visibility_format'     => 'The visibility was %s kilometers (%s miles).',
              'wind_str_format1'      => 'blowing at a speed of %s meters per second (%s miles per hour)',
              'wind_str_format2'      => ', with gusts to %s meters per second (%s miles per hour),',
              'wind_str_format3'      => ' from the %s',
              'wind_str_calm'         => 'calm',
              'precip_last_hour'      => 'in the last hour. ',
              'precip_last_6_hours'   => 'in the last 3 to 6 hours. ',
              'precip_last_24_hours'  => 'in the last 24 hours. ',
              'precip_snow'           => 'There is %s mm (%s inches) of snow on the ground. ',
              'temp_min_max_6_hours'  => 'The maximum and minimum temperatures over the last 6 hours were %s and %s degrees Celsius (%s and %s degrees Fahrenheit).',
              'temp_max_6_hours'      => 'The maximum temperature over the last 6 hours was %s degrees Celsius (%s degrees Fahrenheit). ',
              'temp_min_6_hours'      => 'The minimum temperature over the last 6 hours was %s degrees Celsius (%s degrees Fahrenheit). ',
              'temp_min_max_24_hours' => 'The maximum and minimum temperatures over the last 24 hours were %s and %s degrees Celsius (%s and %s degrees Fahrenheit). ',
              'light'                 => 'Light ',
              'moderate'              => 'Moderate ',
              'heavy'                 => 'Heavy ',
              'mild'                  => 'Mild ',
              'nearby'                => 'Nearby ',
              'current_weather'       => 'Current weather is %s. ',
              'pretty_print_metar'    => '%s on %s, the wind was %s at %s. The temperature was %s degrees Celsius (%s degrees Fahrenheit), and the pressure was %s hPa (%s inHg). The relative humidity was %s%%. %s %s %s %s %s'
            }

            parse
          end