[ncl-talk] Calculating Geostrophic Winds in the WRF using NCL

David Jones jonesd647 at yahoo.ca
Tue Aug 12 12:49:38 MDT 2014


Hi All,

I haven't personally tried this before, but another option for calculating geostrophic wind from WRF output may be use the Unified Post Processor to calculate the Geostrophic streamfunction (Psi). From there, it should be possible to derive the geostrophic wind, i.e. ug = -d(Psi)/dy , vg = +d(Psi)/dx ; where dy and dx are your grid spacing in meters. The result (I presume), would be grid relative; so geostrophic winds may need to be rotated to earth coordinates.

Dave. 


On Tuesday, August 12, 2014 8:00:11 PM, "ncl-talk-request at ucar.edu" <ncl-talk-request at ucar.edu> wrote:
 

----------------------------------------------------------------------

Message: 1
Date: Tue, 12 Aug 2014 08:40:21 -0600
From: Dennis Shea <shea at ucar.edu>
Subject: Re: [ncl-talk] Calculating Geostrophic Winds in the WRF using
    NCL
To: "brianjs @iastate.edu" <brianjs at iastate.edu>
Cc: "ncl-talk at ucar.edu" <ncl-talk at ucar.edu>,    "wrfhelp at ucar.edu"
    <wrfhelp at ucar.edu>
Message-ID:
    <CAOF1d_6qe3mMyK=p_62sMYgmvnmqmCBS7hGXX9nZwLWGAhR7OQ at mail.gmail.com>
Content-Type: text/plain; charset="utf-8"

Brian,

wrfhelp is being cc'd. They are the WRF experts and may know how to compute
geostrophic winds.

===

You have obviously put a lot of work into trying to derive
 geostrophic
winds from WRF variables. Unfortunately, the steps you have used will not
return the results you wish. A few comments:

[0]
The ftp area was 100% full. Thus, your files could not be accommodated. The
IT people have cleaned up the ftp file system. That said, transmitting 9GB
file(s) is not commonly done for ncl-talk related questions. You should use
tools (say, netCDF operators or NCL) to subset the data. For example, only
one time step.
                 ncks -O -d Time,0 WrfBigFile.nc  WrfLittleFile.nc

[1]
z2geos works *only* for rectilinear grids with variables on isobaric
levels. The documentation has been changed to make this more explicit.

http://www.ncl.ucar.edu/Document/Functions/Built-in/z2geouv.shtml

**Generally,** WRF grids are
 curvilinear. The following operation does
*not* make make a curvilinear grid and rectilinear grid

                  lat  = f->XLAT(0,:,0)        ; lat(south_north)
                  lon  = f->XLONG(0,0,:)    ; lon(west_east)

Yes, lat and lon are one-dimensional BUT they do not represent a
rectilinear grid orientation.
Use of the above lat & lon would be erroneous. You will get numbers but
they are not the correct numbers.

[2]
Using, say, the ESMF regridding to interpolate the WRF curvilinear gridded
data to a rectilinear grid is a possibility *if* working with data on a
rectilinear grid is adequate for the problem you wish to address.

[a] Attached is a simple (*untested*) function that will interpolate a WRF
(mass) variable on eta levels to user specified
 isobaric levels;.

     function eta2isop_wrf(fwrf, varName[1]:string, prs_iso[*]:numeric \
                                       ,itime:integer, linlog[1]:integer,
opt[1]:logical)
  Usage:
        f = addfile(...)    , or,   f = addfiles(...)

        plev = (/ 1000,925,850,700,600,500,400,300,250 \   ; integer,
float, double
                    ,  200,150,100,70,50/)
        plev!0     = "plev"
        plev at units = "hPa"

        linlog = 0
        itime  = -1
        z_iso = eta2isop_wrf(f, "geopotential",
 plev, itime, linlog, False)

[b] You could now use z2geouv to calculate the geostrophic components

[c] Unfortunately, reinterpolating the components [b] back to the WRF grid
will not yield geostrophic winds.

===
Hopefully, wrfhelp can provide some information or talk with your advisor.

Good Luck






On Mon, Aug 11, 2014 at 8:55 PM, brianjs @iastate.edu <brianjs at iastate.edu>
wrote:

> Good Evening,
>
> I am attempting to calculate both the u and v components of the
> geostrophic winds in the WRF.
>
> The function z2geouv (which calculates both components using the
> geopotential height, as well as the latitude and longitude of gridded data)
> must utilize the geopotential height on a constant pressure surface. WRF
> data however, is on constant eta
 levels/terrain following coordinates, and
> as such, this function applied to WRF data could only work if data is
> converted to a constant pressure surface from its original eta coordinate
> system.
>
> Attached is the WRF code with issues. I have attempted to calculate the
> geostrophic wind components (ug and vg) by using the z2geouv with a height
> variable that has been interpolated on to a constant pressure coordinate
> (z_const_p). I first attempted to interpolate z_const_p with a geopotential
> height variable that was not terrain following (z_model). When I do this, I
> get realistic values for the geostrophic wind components, but I obviously
> would not get the lower levels (below 1000 generally) to be interpolated. I
> also interpolated z_const_p with an original terrain following geostrophic
> height or geostrophic height above ground level (AGLheight_model), but
 then
> unrealistic answers followed.
>
> I have also taken a similar approach by calculating the ug and vg
> components separately without using z2geouv, but I am still getting
> unrealistic answers.
>
> I wish to implement this routine in order to plot the geostrophic winds on
> maps of constant height (above ground level) hence the ug/vg interpolations
> thereafter to constant height levels
>
> For reference, I sent the used RUC and WRF output to the ncl-talk FTP
> account given their large size. I did get the message "451 Failure writing
> to local file" so I am not sure if they made it over there successfully.
> The wrf file is rather large (approximately 9 GB) so maybe the account
> could not hold it?
>
> I was wondering if someone could guide me to improve this code to get
> geostrophic winds interpolated on constant height fields from an
 original
> terrain following (eta) coordinate system (i.e. 200-2000 m at 100 m
> intervals), or if someone could assist by making a recommendation for an
> alternate approach?  I have also attached my RUC code for plotting RUC
> Analysis geostrophic winds along with some sample images of what I believe
> the WRF profile should look generally like (as the RUC data is already on
> constant pressure surface).
>
> Any suggestions would be greatly appreciated!
>
> Brian Squitieri
> Graduate Research Assistant
> Iowa State University
>
> _______________________________________________
> ncl-talk mailing list
> List instructions, subscriber options, unsubscribe:
> http://mailman.ucar.edu/mailman/listinfo/ncl-talk
>
>
-------------- next part --------------
An
 HTML attachment was scrubbed...
URL: http://mailman.ucar.edu/pipermail/ncl-talk/attachments/20140812/55e862dc/attachment-0001.html 
-------------- next part --------------
A non-text attachment was scrubbed...
Name: eta2iso_wrf.ncl
Type: application/octet-stream
Size: 1638 bytes
Desc: not available
Url : http://mailman.ucar.edu/pipermail/ncl-talk/attachments/20140812/55e862dc/attachment-0001.obj 
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://mailman.ucar.edu/pipermail/ncl-talk/attachments/20140812/bf6f17da/attachment.html 


More information about the ncl-talk mailing list