[ncl-talk] unstagger a C grid (as WRF data)

Paolina Bongioannini Cerlini paolina.cerlini at unipg.it
Fri Sep 26 01:12:05 MDT 2014



----- Messaggio originale -----
Da: "Alan Brammer" <abrammer at albany.edu>
A: "Paolina Bongioannini Cerlini" <paolina.cerlini at unipg.it>
Cc: ncl-talk at ucar.edu
Inviato: Giovedì, 25 settembre 2014 20:54:03
Oggetto: Re: [ncl-talk] unstagger a C grid (as WRF data)


Paolina, I think you're doing more than you need to. Take another look at the function page (linked below).  The second argument should be a string either "X", "Y", or "Z".   Your variables already have this info attached to the variables   " stagger :     Y". https://www.ncl.ucar.edu/Document/Functions/WRF_arw/wrf_user_unstagger.shtml 
Therefore I think you can skip straight from the read in line to the unstagger line and change the unstagger commands to as below: u = wrf_user_unstagger (U,U at stagger) 

Good luck, Alan Brammer 

Thank you Alan, it works nicely!

Paolina



On Thu, Sep 25, 2014 at 12:12 PM, Paolina Bongioannini Cerlini < paolina.cerlini at unipg.it > wrote: 


Hi NCL people, 

I have this simple script where I am trying to calculate a divergence 
but I have a staggered C grid. Trying to unstagger the grid , 
I cannot define correctly the staggered dimensions, as you may see in the 
error: 

------------------------------------------------------------------------------------------------------------------- 
;************************************************* 
; wind_1.ncl 
;************************************************* 
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" 
;************************************************* 
begin 
;************************************************* 
; open file and read in data: data are on Arakawa C grid 
;************************************************* 
f = addfile(" rce-bret-2005.net000000.nc ","r") 
U = f->U(0,0,:,:) 
V = f->V(0,0,:,:) 

printVarSummary(U) 
printVarSummary(V) 

U!0="y" 
U!1="x_stag" 
xstag=ispan(1,195,1) 
U at x_stag=xstag 
x_stag=U at x_stag 
V!0="y_stag" 
V!1="x" 
V at y_stag=ispan(1,195,1) 
y_stag=V at y_stag 

u = wrf_user_unstagger(U,x_stag) 
v = wrf_user_unstagger(V,y_stag) 
printVarSummary(u) 
printVarSummary(v) 

;************************************************* 
; calculate divergence: Use Wrap to include meta data 
;************************************************* 
div = uv2dvG_Wrap(u,v) ; u,v ==> divergence 

;************************************************* 
; calculate divergent wind components 
;************************************************* 
ud = new ( dimsizes(u), typeof(u), u at _FillValue ) 
vd = new ( dimsizes(v), typeof(v), v at _FillValue ) 

dv2uvg(div,ud,vd) ; div ==> divergent wind components 

copy_VarCoords(u, ud ) 
copy_VarCoords(u, vd ) 
ud at long_name = "Zonal Divergent Wind" 
ud at units = u at units 
vd at long_name = "Meridional Divergent Wind" 
vd at units = v at units 
;************************************************* 
; plot results 
;************************************************* 
wks = gsn_open_wks("ps","wind") ; open a workstation 

res = True 
res at vcRefMagnitudeF = 3. ; make vectors larger 
res at vcRefLengthF = 0.050 ; reference vector length 
res at vcGlyphStyle = "CurlyVector" ; turn on curly vectors 
res at vcMinDistanceF = 0.012 ; thin the vectors 

res at gsnLeftString = "Divergent Wind" 
; plot 1st time step 
plot= gsn_csm_vector_map_ce(wks,ud(0,:,:),vd(0,:,:),res) 

end 
-------------------------------------------------------------------------------------- 
I get this error: 
Variable: U 
Type: float 
Total Size: 151320 bytes 
37830 values 
Number of Dimensions: 2 
Dimensions and sizes: [y | 194] x [x_stag | 195] 
Coordinates: 
x_stag: [-3000..579000] 
Number Of Attributes: 5 
Time : 3600 
standard_name : x_wind 
long_name : U-velocity 
units : m s-1 
stagger : X 

Variable: V 
Type: float 
Total Size: 151320 bytes 
37830 values 
Number of Dimensions: 2 
Dimensions and sizes: [y_stag | 195] x [x | 194] 
Coordinates: 
y_stag: [-3000..579000] 
Number Of Attributes: 5 
Time : 3600 
standard_name : y_wind 
long_name : V-velocity 
units : m s-1 
stagger : Y 
warning:Argument 1 of the current function or procedure was coerced to the appropriate type and thus will not change if the function or procedure modifies its value 
fatal:Conditional statements (if and do while) require SCALAR logical values, see all and any functions 
fatal:["Execute.c":8567]:Execute: Error occurred at or near line 536 in file $NCARG_ROOT/lib/ncarg/nclscripts/wrf/WRFUserARW.ncl 

fatal:["Execute.c":8567]:Execute: Error occurred at or near line 29 in file wind_1.ncl 

------------------------------------------------------------------------------------------------------------- 
Thank you. 

paolina 
-- 
-- 
Dr. Paolina Bongioannini Cerlini Ph.D. 
University of Perugia 
Dip.to Ingegneria 
CIRIAF -room 8 
Via G. Duranti, 67 
06125 - Perugia 

Tel.+39 075 585 3576 
Fax +39 075 585 3697 
e-mail: paolina.cerlini at unipg.it 
paolina.cerlini at fisica.unipg.it 
cell.: +39 3405761980 
-- 
_______________________________________________ 
ncl-talk mailing list 
List instructions, subscriber options, unsubscribe: 
http://mailman.ucar.edu/mailman/listinfo/ncl-talk 

-- 
-- 
Dr. Paolina Bongioannini Cerlini Ph.D.
University of Perugia
Dip.to Ingegneria
CIRIAF -room 8
Via G. Duranti, 67
06125 - Perugia

Tel.+39 075 585 3576
Fax +39 075 585 3697
e-mail: paolina.cerlini at unipg.it
        paolina.cerlini at fisica.unipg.it        
cell.:+39 3405761980
--


More information about the ncl-talk mailing list