gpsar calculates the wind direction on it's own when opening a track data file (.gpx). how they do it, i don't know. i assume they compare the angles between the tacks and kind of average it. you can adjust the wind direction afterwards if you find it to be incorrect.
there are gps devices on the market already that implement vmg. the ones i found where designed especially for yachting. for example velocitek sc-1 (http://velocitek.com/products/SC-1
). disadvantage and the reason i don't own one yet is it's bulkyness. i have no idea where to mount it when going kitesurfing. but i bring along my GH-615 everytime i go kitesurfing. by the way, letting you set up individual screens is just great. when trying to read my speed i use a screen with just speed and max speed. the numbers are therfore big enough to be read easily. back to the topic. another disadvantage is it's price and you cannot use it for anyting else except sailing.
VMG setup: definition of wind direction. input of direction in degrees. input of number: 0 to 359. additionally input by using two waypoints (similar to the create route dialog). this dialog should also result in the number representing the wind direction in degrees.
VMG display: just another value to display. can be negative!
UI advanced: if there was christmas and my birthday together and i had a free wish:
VMG display: dedicated VMG screen. display of two values: VMG and tactical heading. the value of the tactical heading is the angle between the direction of the wind and the direction you move. if you move directly against the wind the tactical heading would be 0. if you move the same direction as the wind the tactical heading would be 180. if you move and the wind comes excalty from your left (or right) side the tactical heading would be 90 and so on.
wind direction correction: if you notice a change of wind direction there should be an easy way to correct the wind direction. when viewing the dedicated VMG screen and you notice that your VMG on one tack direction (starboard or port) is always higher than on the other direction you need to increase or decrease the degree value of the wind direction by just pressing + or - button.
by wind driven i meant all vehicles that use wind for their movement. yachts, dhingys, windsurfing, kitesurfing on water but also on land. kitebuggys, ice-sailing and so on. one issue on these vehicles is to get to one point as fast as possible. if this point lies exactly upwind you cannot go there on a straight line but you have to go zig-zag. this is called tacking. one straight line in this zigzag is called tack. to optimize your path you have to consider the angle and you board/boat speed. if you go more directly towards the wind your board speed will decrease. if you try to max your board speed, the angle will be bad. the best path will be somewhere in between or in other words the VMG is highest.