BEGIN { printf("DAY SPEED DIR RAWSP RDIR CO VANE RDIR-DIR SAMPLES\n"); } (! /^#/ ) { newday = int($1); if ( (newday != day) && (day != 0) ) { printday(day); clearday(); } day = newday; if ( $18 > 0.4 ) { speed += $18; dir += $19; rawsp += $25; rawdir += $24; compass += $22; vane += $23; diff = $24 - $19; if ( diff > 180. ) diff -= 360.; if ( diff < -180. ) diff += 360.; dirdiff += diff; samples++; } } END { printday(day); } function printday(day) { if ( samples > 0 ) printf("%3d %6.3f %5.1f %6.3f %5.1f %5.1f %5.1f %5.1f %3d\n", day, speed/samples, dir/samples, rawsp/samples, rawdir/samples, compass/samples, vane/samples, dirdiff/samples, samples); } function clearday() { samples = 0; speed = 0; dir = 0; rawsp = 0; rawdir = 0; compass = 0; vane = 0; dirdiff = 0; }