Re: Question involving vertical interpolation

From: Mary Haley <haley_at_nyahnyahspammersnyahnyah>
Date: Wed May 26 2010 - 09:59:14 MDT

Hi Justin,

I'm forwarding this question to wrfhelp@ucar.edu

--Mary

On May 19, 2010, at 3:04 PM, Justin Traiteur wrote:

> I put together a ncl code displaying WRF SCM output. This code displays height (y-axis) vs potential temperature (x-axis) and height (y-axis) vs wind speed (x-axis) for the center of the grid. I know that WRF uses eta coordinates for the vertical. My question is whether the way I derived height from the model and plotted it against the two variables aformentioned is correct or do I need to perform a wrf_interp function instead. Below is a copy of the code.
>
> ; SCM: Single Column Model
> ; WRF SCM: time-eta cross section.
> ;********************************************************
> ; %> ncl_filedump wrfout_SCM.nc | less
> ; netcdf wrfout_CSM {
> ; dimensions:
> ; Time = UNLIMITED ; // (60 currently)
> ; DateStrLen = 19 ;
> ; west_east = 2 ;
> ; south_north = 2 ;
> ; bottom_top = 59 ;
> ; bottom_top_stag = 60 ;
> ; soil_layers_stag = 4 ;
> ; west_east_stag = 3 ;
> ; force_layers = 8 ;
> ; south_north_stag = 3 ;
> ; [SNIP]
> ; 2x2 west-east/south_north values
> ; 3x3 west_east_stag/south_north_stag values
> ; 60 time steps
> ; 59 or 60 vertical levels
> ;********************************************************
> ; Variables are on different spatial grids.
> ;
> ; User *must* look!
> ;
> ; float U(Time, bottom_top, south_north, west_east_stag)
> ; float V(Time, bottom_top, south_north_stag, west_east)
> ; float W(Time, bottom_top_stag, south_north, west_east)
> ; float PH(Time, bottom_top_stag, south_north, west_east)
> ;********************************************************
> load "$NCARG_ROOT/lib/ncarg/nclscripts/csm/gsn_code.ncl"
> load "$NCARG_ROOT/lib/ncarg/nclscripts/csm/gsn_csm.ncl"
> load "$NCARG_ROOT/lib/ncarg/nclscripts/csm/contributed.ncl"
> load "$NCARG_ROOT/lib/ncarg/nclscripts/wrf/WRFUserARW.ncl"
> load "$NCARG_ROOT/lib/ncarg/nclscripts/wrf/WRF_contributed.ncl" ; WRF_Times2Udunits_c
>
> begin
>
> diri = "../"
> fili = "wrfout.nc"
> f = addfile (diri+fili, "r") ;Load file
>
> pltType = "x11" ;Use x11 for plotting
> wks = gsn_open_wks(pltType,"plt_Surface1") ;Open workstation
>
> res = True
> res@MainTitle = "SCM WRF"
> res@Footer = False
> pltres = True
> mpres = True
>
> ;********************************************************
> ;res@TimeLabel = times(it)
>
> times = wrf_user_list_times(f)
> it = 20
> res@TimeLabel = times(it)
>
> ;********************************************************
> plot = new (2,"graphic")
> theta = wrf_user_getvar(f,"theta",it)
> thetan1 = theta((/1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40/),0,0)
> thetan2 = theta((/1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40/),0,1)
> thetan3 = theta((/1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40/),1,0)
> thetan4 = theta((/1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40/),1,1)
>
> thetan5 = (thetan1 + thetan2)/2
> thetan6 = (thetan3 + thetan4)/2
> thetan7 = (thetan5 + thetan6)/2
>
>
> z = wrf_user_getvar(f,"z",it)
> printVarSummary(z)
> zn = z((/1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40/),0,0)
> printVarSummary(zn)
> printVarSummary(theta)
> u1 = f->U(it,(/1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40/),0,1)
> u2 = f->U(it,(/1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40/),1,1)
>
> v1 = f->V(it,(/1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40/),1,0)
> v2 = f->V(it,(/1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40/),1,1)
> u3 = (u1 + u2)/2
> v3 = (v1 + v2)/2
> spd = sqrt(u3*u3+v3*v3)
> printVarSummary(spd)
>
> res = True ; plot mods desired
> res@tiMainString = "WRF SCM THETA" ; title
> res@tiYAxisString = "Height (m)" ; y axis title
> res@tiXAxisString = "Potential Temperature (K)" ; x axis title
>
> res@xyLineColors = (/"red"/) ; line colors
> res@xyLineThicknesses = 3.0 ; line thicknesses
> res@TimeLabel = times(it)
>
>
> opts = res
> opts@cnLineColor = "Red"
> plot(0) = gsn_xy(wks,thetan7,zn,res)
> delete(opts)
> delete(res)
>
>
> res = True ; plot mods desired
> res@tiMainString = "WRF SCM Wind Speed" ; title
> res@tiYAxisString = "Height (m)" ; y axis title
> res@tiXAxisString = "Speed (m/s)" ; x axis title
>
> res@xyLineColors = (/"blue"/) ; line colors
> res@xyLineThicknesses = 3.0 ; line thicknesses
> res@TimeLabel = times(it)
>
>
> plot(1) = gsn_xy(wks,spd,zn,res)
> gsn_panel(wks,plot,(/1,2/),res)
>
> end
> _______________________________________________
> ncl-talk mailing list
> List instructions, subscriber options, unsubscribe:
> http://mailman.ucar.edu/mailman/listinfo/ncl-talk

_______________________________________________
ncl-talk mailing list
List instructions, subscriber options, unsubscribe:
http://mailman.ucar.edu/mailman/listinfo/ncl-talk
Received on Wed May 26 09:59:20 2010

This archive was generated by hypermail 2.1.8 : Wed May 26 2010 - 10:39:13 MDT