[ncl-talk] unstagger a C grid (as WRF data)
Paolina Bongioannini Cerlini
paolina.cerlini at unipg.it
Thu Sep 25 10:12:05 MDT 2014
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
--
More information about the ncl-talk
mailing list