def to_s
return "calm" if calm?
def pf(f,d=2)
s = sprintf("%.#{d}f",f)
s.gsub!(/(\.0+|(\.\d*[1-9])0+)$/, '\2')
s
end
if vrb?
s = "Variable"
elsif variable?
v1, v2 = variable
s = "From #{pf v1.to('deg').abs} to #{pf v2.to('deg').abs} degrees"
else
s = "#{degrees.abs} degrees (#{compass})"
end
s += " at #{pf speed.to('knots').abs} knots "
s += "(#{pf speed.to('mph').abs,1} MPH; #{pf speed.to('m/s').abs,1} m/s)"
if gusting?
s += "\n" + (" "*22)
s += "gusting to #{pf gust.to('knots').abs,1} knots "
s += "(#{pf gust.to('mph').abs,1} MPH; #{pf gust.to('m/s').abs,1} m/s)"
end
s
end