[ncl-talk] error using calculate_monthly_values function
mberdahl at envsci.rutgers.edu
mberdahl at envsci.rutgers.edu
Mon Oct 19 18:04:57 MDT 2015
Hi all,
I'm trying to use a contributed function that calculates monthly means
from daily data (calculate_monthly_values). However, I run into this
error:
warning:ut_calendar: Invalid specification string. Missing values will be
returned.
fatal:New: The dimension size list contains missing values, can't
determine size
fatal:Execute: Error occurred at or near line 11754 in file
$NCARG_ROOT/lib/ncarg/nclscripts/csm/contributed.ncl
fatal:Execute: Error occurred at or near line 55 in file plotSF.ncl
I'm not sure of what this error means.
Below I've copied the ncdump output of the input file test.nc and my script.
Thanks in advance for any help or advice!
Mira
*******************************************************
ncdump -h test.nc | less
netcdf test {
dimensions:
Y18_127 = 110 ;
X10_69 = 60 ;
TIME = UNLIMITED ; // (3652 currently)
variables:
float LAT(Y18_127, X10_69) ;
LAT:units = "degrees" ;
LAT:long_name = "Latitude" ;
LAT:history = "From ICE.j57.1958.01.01-15" ;
float LON(Y18_127, X10_69) ;
LON:units = "degrees" ;
LON:long_name = "Longitude" ;
LON:history = "From ICE.j57.1958.01.01-15" ;
float SF(TIME, Y18_127, X10_69) ;
SF:missing_value = -1.e+34f ;
SF:_FillValue = -1.e+34f ;
SF:long_name = "Snowfall" ;
SF:units = "mmWE/day" ;
SF:history = "From ICE.j57.1958.01.01-15" ;
double TIME(TIME) ;
TIME:units = "HOURS since 1901-01-15 00:00:00" ;
TIME:long_name = "time" ;
TIME:time_origin = "15-JAN-1901 00:00:00" ;
TIME:axis = "T" ;
double X10_69(X10_69) ;
X10_69:units = "km" ;
X10_69:long_name = "x" ;
X10_69:point_spacing = "even" ;
X10_69:axis = "X" ;
double Y18_127(Y18_127) ;
Y18_127:units = "km" ;
Y18_127:long_name = "y" ;
Y18_127:point_spacing = "even" ;
Y18_127:axis = "Y" ;
******************************************************
******************************************************
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/csm/shea_util.ncl"
;************************************************
begin
;************************************************
; read in netCDF file s
;************************************************
;a = addfile("ICE.ALL.SF.nc","r") ; snow fall only
b = addfile("ICE.1984.01-12.f78.nc","r") ; this will give me the lat/lon info
c = addfile("test.nc","r")
;************************************************
; read in qonal [u] and meridional [v] winds (July)
;************************************************
;sf = a->SF(:,:,:) ; snow fall
sf = c->SF(:,:,:)
time = c->TIME
; do some finangling with the time variable/attribute
time!0 = "time"
time&time = time
sf!0 = "time"
sf&time = time
lat2d = b->LAT
lon2d = b->LON
sf at lon2d = lon2d
sf at lat2d = lat2d
printVarSummary(sf)
; calculate the total snow fall for the entire period.
sf_total = dim_sum_n(sf,0)
; calculate the monthly averages
sfMonthAvg = calculate_monthly_values(sf,"avg",0,False)
printVarSummary(sfMonthAvg)
;; calculate the monthly mean snowfall from daily data
;yrStrt = 1958;
;yrLast = 2012;
;nyrs = yrLast -yrStrt +1
;nmos = 12
;;nlat = 110
;;nlon = 60
;printVarSummary(nlat)
;yyyymmdd = sf&TIME
;yyyymm = yyyymmdd/100
;yyyy = yyyymm/100
;mm = yyyymm-yyyy*100;
;sf_avg = new((/nyrs,nmos,nlat,nlon/),"float")
;do yr = yrStrt,yrLast
; nyr = yr - yrStrt
; do mo = 1,nmos
; i = ind(yyyy.eq.yr .and. mo.eq.mm)
; sf_avg(nyr,mo-1,:,:) = dim_avg_n(sf(i,:,:),0)
; delete(i)
; end do
;end do
sf_total at lon2d = lon2d
sf_total at lat2d = lat2d
sf_avg at lon2d = lon2d
sf_avg at lat2d = lat2d
printVarSummary(sf_total)
; lat goes from 58.9982 to 84.1492, looks like it is polar stereographic
; lon goes from -89.9739 to 7.01787
;************************************************
; create plot
;************************************************
wks = gsn_open_wks("ps","MAR_SF_total") ; open a ps file
gsn_define_colormap(wks,"temp1")
;---- set common resources for all plots
res = True
res at cnLinesOn = False
res at cnFillOn = True ; color plot desired
res at cnLineLabelsOn = False ; turn off contour lines
;****************************************************
; choose a subregion
;****************************************************
res at mpMaxLatF = 84
res at mpMinLatF = 59
res at mpMaxLonF = 373
res at mpMinLonF = 270
map = gsn_csm_contour_map(wks,sfMonthAvg,res)
end
*************************************************************
More information about the ncl-talk
mailing list