[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