[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