Similar questions came up several years back and I created a script to do the algebra of what I called "wind barbs". See "metvec.jnl" in
It works with polygon as do other methods to generate fancy arrows and I believe uses the conventional pennants and barbs to represent wind speed. I never had the need to use it in practice myself and don't think the script and demo of its use made it into Fgo.
So you may want to cut and paste metvec.jnl from the user group message above and demo it with the following (metvecdemo.jnl) which was modified from the original to step through demo#1. I'm not sure it is a glitch but I notice it does not draw a barbless shaft for the lowest wind speeds.
!DEMO 1:
!Here is a demo to draw one met vector for a fixed wind direction
!(from 60 degrees true) and a range of wind speeds (1:75 knots)
!so as to illustrate the windspeed decoding.
!Copy metvec.jnl to your area then run the following in a ferret
!session:
go metvec ! define the variables needed
let dirfrom=60 ! wind from 60 degrees true
! make a larger window to see whats going on
ppl size,12,12 ; ppl axlen,10,10 ; ppl origin 1,1
repeat/i=1:75 (let speedkt=i ; \
POLYGON/nolab/LINE/COLOR=black/THICK=2/pal=black \
/hlim=-2:2/ylim=-2:2/coord_ax=z xxbtot,yybtot ; \
label 0 -1 0 0 0.2 @sr`i` knots ; message)
!-------------------------------------------------------------
!DEMO 2:
!Render a field of metvecs, defined here as random variables. I
!didn't expect the "repeat"s would be necessary - just a single
!polygon command. There must be something I'm not thinking of.
go metvec
def axis/x=2:8:2 xax ; def axis/y=2:6:2 yax ; def grid/x=xax/y=yax grd
let xpos=x[g=grd]+0*y[g=grd] ; let ypos=y[g=grd]+0*x[g=grd]
let speedkt=100*randu(xpos)
let dirfrom=360*randu(ypos)
! draw a box
ppl size,12,12 ; ppl axlen,10,10 ; ppl origin 1,1
plot/vs/nolab/hlim=0:10/vlim=0:10 {0,10},{0,10}
! and overlay the metvecs
repeat/i=1:4 (repeat/j=1:3 POLYGON/nolab/LINE/COLOR=black/THICK=2 \
/pal=black/coord_ax=z/o xpos+xxbtot,ypos+yybtot )
list/nohead speedkt ! to confirm that
list/nohead dirfrom ! the results are as expected