Vertical cross section of in-cross-section wind that is aligned with wind field

221 views
Skip to first unread message

mathiast...@gmail.com

unread,
Jul 27, 2018, 9:29:19 AM7/27/18
to wrfpython-talk

This question is partly related to Zachery Bruick's question (Plotting wind vectors in cross sections and area-averaged cross sections) and also to my own (Suspected bug in vertcross routine used with pivot point and angle).

I'm trying to align a cross section to the wind field of an area. So ultimately I'm trying to use the pivot point and angle functionality of the vertcross routine to extract a cross section through the location of a weather station that is oriented along some mean wind direction. However, in the process I got confused which wind components to use (ua and va or uvmet)? How and when wind components are transformed to Earth coordinates / to a map projection? As a result, how to find the in-cross-section wind direction? And how to properly align the cross section to some mean wind direction?

I attached a short presentation that describes my issues in context and more detail.

Orientation_and_normalizing_cross_sec .pdf

Bill Ladwig

unread,
Jul 27, 2018, 2:50:25 PM7/27/18
to mathiast...@gmail.com, wrfpython-talk
The ua and va wind components are for the map projection that the WRF grid used. So, for example, if you have values of ua=5 and va=0, this does not necessarily mean a westerly wind relative to the earth. It just means an arrow pointing "left to right" in your WRF grid. For projections like LambertConformal, as you go to the left and right sides of your grid, the grid curves more to the north. If you need to compare your WRF winds with Earth observations, you need to rotate the winds to earth coordinates, which is going to alter the vectors. The basic formula for doing this is:

Uearth = ua * cosalpha - va * sinalpha
Vearth = va * cosalpha + ua * sinalpha

Both cosalpha and sinalpha should be variables in your WRF file, which measure this 'curving' of your WRF grid coordinates. You can either just apply this formula above to your ua or va components, or use the 'uvmet' product from getvar. (Note that using uvmet or applying the formula above may result in slightly different results due to floating point roundoff issues, but shouldn't differ enough to notice for a plot.). If you're using a weather station with earth observations, then you most likely want uvmet for your cross section plot. 

However, when you go to take the cross section, you're going to have orientation problems, because you're going to need to take that observed wind vector that you're trying to align to, and do the inverse of the formula above to go back to your WRF grid coordinates (you need the ua and va directions to set the vertcross angle in your projected grid). 

So, if I'm understanding what you're trying to do, I *think* what you need to do is:

1) Get your observed wind vector that you're trying to align to.
2) Solve the two systems above for the ua and va components by plugging in your observed vector for Uearth and Vearth, and using cosalpha and sinalpha from your WRF file at the location of interest.
3) Get the vertcross angle needed from your solved ua and va components. Note that for the 'angle' in vertcross, 0 is bottom to top, 90 is left to right. (We say S-N and W-E in the docs, but that's a bit of a misnomer, just like the 'south_north' and 'west_east' dimension names in the WRF file).
4) Using the angle from 3, use vertcross with the uvmet output as the variable that you're interpolating. This should give you earth relative winds for a cross section oriented to your observed wind vector. 

I should caution that there's a very real possibility that I'm not totally understanding this problem you're having, and I'm not 100% confident in the solution I gave you, so we might need a few cracks at this. But, hopefully this gives some insight in to when wind rotation is needed and how it's done. 

Hope this helps,

Bill

--
You received this message because you are subscribed to the Google Groups "wrfpython-talk" group.
To unsubscribe from this group and stop receiving emails from it, send an email to wrfpython-tal...@ucar.edu.
To post to this group, send email to wrfpyth...@ucar.edu.
Visit this group at https://groups.google.com/a/ucar.edu/group/wrfpython-talk/.

Bill Ladwig

unread,
Jul 27, 2018, 4:11:36 PM7/27/18
to mathiast...@gmail.com, wrfpython-talk
Also, regarding number 4 in the previous message, I assumed you wanted earth relative winds in your cross section. However, if you want the vector projection along your cross section line, then you could use the dot product as in Zachery Bruick's question. In this case, you would want to use the 'ua' and 'va' components, rather than 'uvmet'. 

Bill
Reply all
Reply to author
Forward
0 new messages