Re: writing latitude to the file

From: Dave Allured <dave.allured_at_nyahnyahspammersnyahnyah>
Date: Tue Feb 21 2012 - 12:30:06 MST

Alexander,

The first error message mean that you have exceeded one of the size
limits for a Netcdf-3 format file with fixed dimensions. You can try
changing the time dimension to unlimited, or try using the
setfileoption procedure to change the output format to Netcdf-4. The
latter is the simpler solution.

Also I suggest that you carefully check the dimensions of all
variables written to the output file, to make sure you are getting
what you expect. For example, I do not see a printVarSummary for
"egr", but I infer that this is a very large array.

--Dave

On Tue, Feb 21, 2012 at 11:11 AM, Alexander Semenov <asemenov@alaska.edu> wrote:
> Hello ncl-talk,
>
> I have a problem writing variables to the file. I was hoping you could
> advise me what to do about it. Here's the script - the line where the error
> is happening highlighted in yellow. After the script I attached what printed
> out on the screen as the program was running (the error message is marked in
> red).
>
> THE SCRIPT:
>
> 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/wrf/WRFUserARW.ncl"
> load "$NCARG_ROOT/lib/ncarg/nclscripts/wrf/WRF_contributed.ncl"
>
> begin
>
>   print ("Opening files...")
>   f     = addfile
> ("/import/wrkdir1/asemenov/WRF/WRFV3/10_25.03_res_30_10km/wrfout_d02_2011-03-16_12:00:00"+".nc",
> "r")
>   a = systemfunc("rm -f eady.nc")
>   fout = addfile ("eady.nc","c")
>
>   ;wks = gsn_open_wks("x11","eady")
>
>   ;gsn_define_colormap(wks,"WhiteYellowOrangeRed")
>
>   res                       = True
>
>   ;TICKMARK RESOURCES (ON/OFF - FONT SIZE)
> res@pmTickMarkDisplayMode = "Always"
> res@tmXTOn = False
> res@tmXBOn = True
> res@tmYLOn = False
> res@tmYROn = False
> res@tmXTLabelFontHeightF = 0.025
> res@tmXBLabelFontHeightF = 0.025
> res@tmYLLabelFontHeightF = 0.025
> res@tmYRLabelFontHeightF = 0.025
>   ; MAP RESOURCES.
> res@mpGridAndLimbOn = True
> res@mpGridLineDashPattern = 2
> res@mpGeophysicalLineColor = "Black"
> res@mpGeophysicalLineThicknessF = 1.5
> res@mpNationalLineColor = "Black"
> res@mpNationalLineThicknessF = 1.5
> res@mpUSStateLineColor = "Black"
> res@mpUSStateLineThicknessF = 1.5
> res@mpPerimLineColor = "Black"
>
>   ;LABEL BAR RESOURCES
> res@lbLabelAutoStride = True
> res@lbOrientation = "Vertical"
> res@lbLabelFontHeightF = 0.025
>   ;CONTOUR RESOURCES
> res@cnFillOn = True
> res@cnLinesOn = False
> res@cnLineColor = "Blue"
> res@cnLineThicknessF = 2.
> res@cnInfoLabelOn = False
> res@cnLineLabelsOn = False
> res@cnLineLabelPerimOn = True
> res@cnLineLabelBackgroundColor = 0.
> ; res@cnLevelSelectionMode   = "ManualLevels"
> ; res@cnMinLevelValF         = -20.
> ; res@cnMaxLevelValF         = 30.
> ; res@cnLevelSpacingF   = 2.
>   ;GSN RESOURCES
> res@gsnSpreadColors = True
> res@gsnLeftString = " "
> res@gsnRightString = " "
> ;res@gsnDraw = False
> ;res@gsnFrame = False
> res@gsnMaximize = True
>   ;TITLE RESOURCES
> res@tiMainOn = True
> res@tiMainPosition = "Center"
> res@tiMainFontHeightF = 0.025
>
>   ;PROJECTION RESOURCES
> WRF_map_c(f, res, 0)
> res@tfDoNDCOverlay       = True
> res@mpCenterLonF = -180.
> res@mpCenterLatF = 90.
>
>   times = chartostring(f->Times)
>   ntim = dimsizes(times)
>
>   print ("Creating array...")
>   temp = f->T
>   egr = temp
>   egr@_FillValue = -999.
>   egr = egr@_FillValue
>   egr@description = "eady growth rate"
>   egr@units = "s-1"
>   delete(temp)
>
> do nt=0,ntim-140
> print (times(nt))
>
> res@tiMainString = times(nt)
>
>
> ; get coriolis
> ;--------------------------------------------------------------------
>   cor = f->F(nt,:,:)
>   ;printVarSummary (cor)
>   ;printMinMax (cor,True)
>
>
>
>
> ; get theta, wind and z
> ;--------------------------------------------------------------------
>   z     = wrf_user_getvar(f,"z",nt)
>   ;printVarSummary (z)
>   ;printMinMax (z,True)
>   ;xmax = max(z)
>   ;xmin = min(z)
>   ;x1d = ndtooned(z)
>   ;indmax = ind_resolve(ind(x1d.eq.xmax),dimsizes(z))
>   ;indmin = ind_resolve(ind(x1d.eq.xmin),dimsizes(z))
>   ;print (indmax)
>   ;print (indmin)
>
>   ;do lv=0,38
>   ;res@gsnLeftString = "level: "+lv
>   ;plot = gsn_csm_contour_map(wks,z(lv,:,:),res)
>   ;end do
>
>   t = wrf_user_getvar(f,"theta",nt)
>   ;printVarSummary (t)
>   ;printMinMax (t,True)
>   u = wrf_user_getvar(f,"ua",nt)
>   ;printVarSummary (u)
>   ;printMinMax (u,True)
>   v = wrf_user_getvar(f,"va",nt)
>   ;printVarSummary (v)
>   ;printMinMax (v,True)
>   speed = (u*u + v*v)^0.5
>   copy_VarCoords (u,speed)
>
>
>   lv=0
>   x=428
>   y=398
>   print("T: "+t(lv,x,y)+"  Z: "+z(lv,x,y))
>
>
>
> ; calculate vertical gradients dtdz and dudz
> ;--------------------------------------------------------------------
>   dtdz = center_finite_diff_n(t,z,False,0,0)
>   dtdz@_FillValue = -999.
>   dtdz =  where ( dtdz .lt. 10e-3, dtdz@_FillValue, dtdz)
>   copy_VarCoords (t,dtdz)
>   ;printVarSummary (dtdz)
>   ;printMinMax (dtdz,True)
>
>   do lv=0,31
>   print("T: "+t(lv,x,y)+"  Z: "+z(lv,x,y)+" dTdZ: "+dtdz(lv,x,y))
>   end do
>
>
>   dudz = center_finite_diff_n(speed,z,False,0,0)
>   dudz@_FillValue = -999.
>   copy_VarCoords (u,dudz)
>   ;printVarSummary (dudz)
>   ;printMinMax (dudz,True)
>
>   do lv=0,31
>   print("U: "+speed(lv,x,y)+"  Z: "+z(lv,x,y)+" dUdZ: "+dudz(lv,x,y))
>   end do
>
>
>
> ; calculate brunt-vaisala
> ;--------------------------------------------------------------------
>   n2 = (9.81/t)*(dtdz)
>   n2@_FillValue = -999.
>   ;printVarSummary (n2)
>   ;printMinMax (n2,True)
>
>   n =  where ( n2 .gt. 0, sqrt(n2), n2@_FillValue)
>   copy_VarCoords (t,n)
>   ;printVarSummary (n)
>   ;printMinMax (n,True)
>
>   do lv=0,31
>   print("T: "+t(lv,x,y)+"  dtdz: "+dtdz(lv,x,y)+" N: "+n(lv,x,y))
>   end do
>
>
> ; calculate eady growth rate
> ;--------------------------------------------------------------------
>
>
> do nl=0,32-1
>   ;print ("level: "+nl)
>   egr(nt,nl,:,:) = 0.31 * cor * (1/n(nl,:,:)) * dudz(nl,:,:)
> end do
>   ;printVarSummary (egr)
>   printMinMax (egr,True)
>
>
>   xmax = max(egr)
>   ;xmin = min(egr)
>   x1d = ndtooned(egr)
>   indmax = ind_resolve(ind(x1d.eq.xmax),dimsizes(egr))
>   ;indmin = ind_resolve(ind(x1d.eq.xmin),dimsizes(egr))
>   print (indmax+" value: "+xmax)
>   ;print (indmin)
>
>   do lv=0,31
>   print("COR: "+cor(x,y)+"  N: "+n(lv,x,y)+" dUdZ: "+dudz(lv,x,y)+" EGR:
>  "+egr(nt,lv,x,y))
>   end do
>
>
> delete(n)
> delete(n2)
> delete(dudz)
> delete(dtdz)
> delete(cor)
> delete(z)
> delete(t)
> delete(u)
> delete(v)
> delete(speed)
>
> end do
>
>
>
>   xmax = max(egr)
>   ;xmin = min(egr)
>   x1d = ndtooned(egr)
>   indmax = ind_resolve(ind(x1d.eq.xmax),dimsizes(egr))
>   ;indmin = ind_resolve(ind(x1d.eq.xmin),dimsizes(egr))
>   print (indmax+" value: "+xmax)
>   ;print (indmin)
>
>
>
>
> egr = egr*60*60*24
> egr@units = "day-1"
>
> fout@MAP_PROJ=2
> fout@TRUELAT1=66
> fout@TRUELAT2=30
> fout@STAND_LON=-180
> fout@DX=10000
> fout@DY=10000
> fout@CEN_LAT=90
> fout@CEN_LON= -180
>
> lat = f->XLAT
> lon = f->XLONG
> printVarSummary(lat)
> printVarSummary(lon)
>
> print("writing EGR...")
> fout->eady=egr
> print("writing LAT...")
> fout->lat=lat
> print("writing LON...")
> fout->lon=lon
>
> delete(egr)
> delete(lat)
> delete(lon)
>
> print("Getting P...")
> p = wrf_user_getvar(f,"pressure",-1)
> print("writing P...")
> fout->pres=p
>
>
> end
>
>
> Variable: times (subsection)
> Type: string
> Total Size: 8 bytes
>             1 values
> Number of Dimensions: 1
> Dimensions and sizes: [1]
> Coordinates:
> (0) 2011-03-16_17:00:00
> (0) T: 269.386  Z: 26.2992
> (0) T: 269.386  Z: 26.2992 dTdZ: -999
> (0) T: 269.166  Z: 90.351 dTdZ: -999
> (0) T: 269.102  Z: 177.558 dTdZ: -999
> (0) T: 269.076  Z: 288.493 dTdZ: -999
> (0) T: 269.067  Z: 427.808 dTdZ: -999
> (0) T: 269.068  Z: 604.534 dTdZ: -999
> (0) T: 269.077  Z: 820.468 dTdZ: -999
> (0) T: 269.093  Z: 1104.6 dTdZ: -999
> (0) T: 269.118  Z: 1444.25 dTdZ: -999
> (0) T: 270.502  Z: 1796.01 dTdZ: -999
> (0) T: 272.674  Z: 2162.31 dTdZ: -999
> (0) T: 274.685  Z: 2702.22 dTdZ: -999
> (0) T: 277.1  Z: 3407.48 dTdZ: -999
> (0) T: 279.437  Z: 4111.92 dTdZ: -999
> (0) T: 281.421  Z: 4815.02 dTdZ: -999
> (0) T: 283.422  Z: 5516.41 dTdZ: -999
> (0) T: 286.003  Z: 6216.98 dTdZ: -999
> (0) T: 289.875  Z: 6919.17 dTdZ: -999
> (0) T: 296.174  Z: 7627.6 dTdZ: 0.0111892
> (0) T: 305.878  Z: 8349.35 dTdZ: 0.015808
> (0) T: 319.338  Z: 9092.96 dTdZ: 0.0184768
> (0) T: 333.865  Z: 9864.11 dTdZ: 0.0179032
> (0) T: 347.445  Z: 10662.9 dTdZ: 0.0162813
> (0) T: 360.298  Z: 11487.6 dTdZ: 0.0156873
> (0) T: 373.725  Z: 12338.1 dTdZ: 0.0160434
> (0) T: 388.039  Z: 13216.7 dTdZ: 0.0161163
> (0) T: 402.528  Z: 14125.3 dTdZ: 0.0154951
> (0) T: 416.673  Z: 15064.6 dTdZ: 0.0152086
> (0) T: 431.595  Z: 16036.5 dTdZ: 0.0157116
> (0) T: 447.791  Z: 17045.2 dTdZ: 0.0169141
> (0) T: 466.457  Z: 18097.7 dTdZ: 0.0181188
> (0) T: 486.877  Z: 19202.4 dTdZ: 0.0184836
> (0) U: 7.24182  Z: 26.2992 dUdZ: 0.00452681
> (0) U: 7.53177  Z: 90.351 dUdZ: 0.00287064
> (0) U: 7.67603  Z: 177.558 dUdZ: 0.00124111
> (0) U: 7.77768  Z: 288.493 dUdZ: 0.000767294
> (0) U: 7.86804  Z: 427.808 dUdZ: 0.000591649
> (0) U: 7.96467  Z: 604.534 dUdZ: 0.000558145
> (0) U: 8.0872  Z: 820.468 dUdZ: 0.000574196
> (0) U: 8.2518  Z: 1104.6 dUdZ: 0.000430489
> (0) U: 8.35573  Z: 1444.25 dUdZ: 0.00324907
> (0) U: 10.4982  Z: 1796.01 dUdZ: 0.00458332
> (0) U: 11.6468  Z: 2162.31 dUdZ: 0.00286422
> (0) U: 13.0938  Z: 2702.22 dUdZ: 0.00288011
> (0) U: 15.233  Z: 3407.48 dUdZ: 0.00231421
> (0) U: 16.3562  Z: 4111.92 dUdZ: 0.000649345
> (0) U: 16.147  Z: 4815.02 dUdZ: -0.000906107
> (0) U: 15.0836  Z: 5516.41 dUdZ: -0.00116657
> (0) U: 14.5115  Z: 6216.98 dUdZ: -0.000121356
> (0) U: 14.9133  Z: 6919.17 dUdZ: 0.00109491
> (0) U: 16.056  Z: 7627.6 dUdZ: 0.00175679
> (0) U: 17.4259  Z: 8349.35 dUdZ: 0.00272068
> (0) U: 20.0428  Z: 9092.96 dUdZ: 0.00369331
> (0) U: 23.0203  Z: 9864.11 dUdZ: 0.00321505
> (0) U: 25.0903  Z: 10662.9 dUdZ: 0.00225974
> (0) U: 26.6889  Z: 11487.6 dUdZ: 0.00272598
> (0) U: 29.6569  Z: 12338.1 dUdZ: 0.00388331
> (0) U: 33.4039  Z: 13216.7 dUdZ: 0.00381624
> (0) U: 36.4773  Z: 14125.3 dUdZ: 0.00254732
> (0) U: 38.111  Z: 15064.6 dUdZ: 0.0015964
> (0) U: 39.5283  Z: 16036.5 dUdZ: 0.00165963
> (0) U: 41.3981  Z: 17045.2 dUdZ: 0.00252997
> (0) U: 44.743  Z: 18097.7 dUdZ: 0.00346344
> (0) U: 48.8695  Z: 19202.4 dUdZ: 0.00373518
> (0) T: 269.386  dtdz: -999 N: -999
> (0) T: 269.166  dtdz: -999 N: -999
> (0) T: 269.102  dtdz: -999 N: -999
> (0) T: 269.076  dtdz: -999 N: -999
> (0) T: 269.067  dtdz: -999 N: -999
> (0) T: 269.068  dtdz: -999 N: -999
> (0) T: 269.077  dtdz: -999 N: -999
> (0) T: 269.093  dtdz: -999 N: -999
> (0) T: 269.118  dtdz: -999 N: -999
> (0) T: 270.502  dtdz: -999 N: -999
> (0) T: 272.674  dtdz: -999 N: -999
> (0) T: 274.685  dtdz: -999 N: -999
> (0) T: 277.1  dtdz: -999 N: -999
> (0) T: 279.437  dtdz: -999 N: -999
> (0) T: 281.421  dtdz: -999 N: -999
> (0) T: 283.422  dtdz: -999 N: -999
> (0) T: 286.003  dtdz: -999 N: -999
> (0) T: 289.875  dtdz: -999 N: -999
> (0) T: 296.174  dtdz: 0.0111892 N: 0.0192514
> (0) T: 305.878  dtdz: 0.015808 N: 0.0225164
> (0) T: 319.338  dtdz: 0.0184768 N: 0.0238244
> (0) T: 333.865  dtdz: 0.0179032 N: 0.0229358
> (0) T: 347.445  dtdz: 0.0162813 N: 0.0214406
> (0) T: 360.298  dtdz: 0.0156873 N: 0.0206671
> (0) T: 373.725  dtdz: 0.0160434 N: 0.0205214
> (0) T: 388.039  dtdz: 0.0161163 N: 0.0201851
> (0) T: 402.528  dtdz: 0.0154951 N: 0.0194327
> (0) T: 416.673  dtdz: 0.0152086 N: 0.0189226
> (0) T: 431.595  dtdz: 0.0157116 N: 0.0188976
> (0) T: 447.791  dtdz: 0.0169141 N: 0.0192496
> (0) T: 466.457  dtdz: 0.0181188 N: 0.0195206
> (0) T: 486.877  dtdz: 0.0184836 N: 0.0192983
> (0)
> (0) eady growth rate: min=-0.000226797   max=0.000179462
> (0,0) 4 value: 0.000179462
> (0,1) 0 value: 0.000179462
> (0,2) 245 value: 0.000179462
> (0,3) 239 value: 0.000179462
> (0) COR: 0.000127135  N: -999 dUdZ: 0.00452681 EGR:  -999
> (0) COR: 0.000127135  N: -999 dUdZ: 0.00287064 EGR:  -999
> (0) COR: 0.000127135  N: -999 dUdZ: 0.00124111 EGR:  -999
> (0) COR: 0.000127135  N: -999 dUdZ: 0.000767294 EGR:  -999
> (0) COR: 0.000127135  N: -999 dUdZ: 0.000591649 EGR:  -999
> (0) COR: 0.000127135  N: -999 dUdZ: 0.000558145 EGR:  -999
> (0) COR: 0.000127135  N: -999 dUdZ: 0.000574196 EGR:  -999
> (0) COR: 0.000127135  N: -999 dUdZ: 0.000430489 EGR:  -999
> (0) COR: 0.000127135  N: -999 dUdZ: 0.00324907 EGR:  -999
> (0) COR: 0.000127135  N: -999 dUdZ: 0.00458332 EGR:  -999
> (0) COR: 0.000127135  N: -999 dUdZ: 0.00286422 EGR:  -999
> (0) COR: 0.000127135  N: -999 dUdZ: 0.00288011 EGR:  -999
> (0) COR: 0.000127135  N: -999 dUdZ: 0.00231421 EGR:  -999
> (0) COR: 0.000127135  N: -999 dUdZ: 0.000649345 EGR:  -999
> (0) COR: 0.000127135  N: -999 dUdZ: -0.000906107 EGR:  -999
> (0) COR: 0.000127135  N: -999 dUdZ: -0.00116657 EGR:  -999
> (0) COR: 0.000127135  N: -999 dUdZ: -0.000121356 EGR:  -999
> (0) COR: 0.000127135  N: -999 dUdZ: 0.00109491 EGR:  -999
> (0) COR: 0.000127135  N: 0.0192514 dUdZ: 0.00175679 EGR:  3.59653e-06
> (0) COR: 0.000127135  N: 0.0225164 dUdZ: 0.00272068 EGR:  4.76215e-06
> (0) COR: 0.000127135  N: 0.0238244 dUdZ: 0.00369331 EGR:  6.10969e-06
> (0) COR: 0.000127135  N: 0.0229358 dUdZ: 0.00321505 EGR:  5.52458e-06
> (0) COR: 0.000127135  N: 0.0214406 dUdZ: 0.00225974 EGR:  4.15382e-06
> (0) COR: 0.000127135  N: 0.0206671 dUdZ: 0.00272598 EGR:  5.1984e-06
> (0) COR: 0.000127135  N: 0.0205214 dUdZ: 0.00388331 EGR:  7.45798e-06
> (0) COR: 0.000127135  N: 0.0201851 dUdZ: 0.00381624 EGR:  7.45128e-06
> (0) COR: 0.000127135  N: 0.0194327 dUdZ: 0.00254732 EGR:  5.16625e-06
> (0) COR: 0.000127135  N: 0.0189226 dUdZ: 0.0015964 EGR:  3.32495e-06
> (0) COR: 0.000127135  N: 0.0188976 dUdZ: 0.00165963 EGR:  3.46123e-06
> (0) COR: 0.000127135  N: 0.0192496 dUdZ: 0.00252997 EGR:  5.17988e-06
> (0) COR: 0.000127135  N: 0.0195206 dUdZ: 0.00346344 EGR:  6.99261e-06
> (0) COR: 0.000127135  N: 0.0192983 dUdZ: 0.00373518 EGR:  7.62815e-06
> (0,0) 4 value: 0.000179462
> (0,1) 0 value: 0.000179462
> (0,2) 245 value: 0.000179462
> (0,3) 239 value: 0.000179462
>
> Variable: lat
> Type: float
> Total Size: 99279180 bytes
>             24819795 values
> Number of Dimensions: 3
> Coordinates:
> Number Of Attributes: 5
>   FieldType : 104
>   MemoryOrder : XY
>   description : LATITUDE, SOUTH IS NEGATIVE
>   units : degree_north
>   stagger :
>
> Variable: lon
> Type: float
> Total Size: 99279180 bytes
>             24819795 values
> Number of Dimensions: 3
> Dimensions and sizes: [Time | 145] x [south_north | 429] x [west_east | 399]
> Coordinates:
> Number Of Attributes: 5
>   FieldType : 104
>   MemoryOrder : XY
>   description : LONGITUDE, WEST IS NEGATIVE
>   units : degree_east
>   stagger :
> (0) writing EGR...
> (0) writing LAT...
> ncendef: ncid 131072: NetCDF: One or more variable sizes violate format
> constraints
> ncvarput: ncid 131072: NetCDF: Operation not allowed in define mode
> fatal:NetCdf: An error occurred while attempting to write variable (lat) to
> file (eady.nc)
> fatal:Execute: Error occurred at or near line 260 in file EADY.ncl
>
> ncclose: ncid 131072: NetCDF: One or more variable sizes violate format
> constraints
> pacman3 2236%
>
>
> --
> regards
>
> *******************************************************
> Alexander Semenov
>
> PhD Student - Research Assistant
> International Arctic Research Center
> Department of atmospheric sciences
> University of Alaska Fairbanks
>
> 930 Koyukuk dr, 408c3
> Fairbanks, AK, USA, 99775
> work phone +19074742672
>
>
> _______________________________________________
> ncl-talk mailing list
> List instructions, subscriber options, unsubscribe:
> http://mailman.ucar.edu/mailman/listinfo/ncl-talk
>
_______________________________________________
ncl-talk mailing list
List instructions, subscriber options, unsubscribe:
http://mailman.ucar.edu/mailman/listinfo/ncl-talk
Received on Tue Feb 21 12:30:19 2012

This archive was generated by hypermail 2.1.8 : Thu Feb 23 2012 - 10:01:53 MST