Re: 30 year average

From: David Brown <dbrown_at_nyahnyahspammersnyahnyah>
Date: Tue, 9 Jun 2009 11:15:54 -0600

Hi Cecille,

This error is coming from the NetCDF library and I agree that is
unusual. Can you send enough of your data files so that we can run
your script here and cause the message to appear?

Upload instructions:

ftp ftp.cgd.ucar.edu
login: anonymous
password: your email address

cd incoming
put <file1>
put <file2>
...

Let me know offline the name(s) of the files you upload. For security
reasons it is not possible to do a directory listing on the ftp site.
  -dave

On Jun 9, 2009, at 11:00 AM, Cecille M. Villanueva Birriel wrote:

> Hello,
>
> I am trying to compute 30 year seasonal averages for some
> variables using monthly average files but I am getting an unusual
> error and I don't know how to fix it. The error that is giving me
> is the following
>
> ncl: posixio.c:412: px_get: Assertion `extent != 0' failed.
> Abort
>
> This is just with one of the monthly files, it works if I do it
> with all other files excluding the one with the problems. What does
> it mean? Here is my 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/csm/contributed.ncl"
> load "$NCARG_ROOT/lib/ncarg/nclscripts/csm/shea_util.ncl"
>
>
> ; this script takes the monthly averaged CAM data
> ; and computes seasonal averages
>
> ; 3/25/08 - updated for the T85 members
> ; this particular version computes a composite - or mean
> ; from the ensemble members
> begin
> nf = 4
> path = new(nf,string)
>
> ; add your own paths
>
> path(0) = "~cvillanu/Future/2070-2099_p_z/"
>
> ;******************************************************
> ; get some initial information from one of the grb files
> ;******************************************************
>
> ;Set Path
> ; path to a file
>
> ; add your path here
> main1="~cvillanu/Past/"
> ; add your file here
> ;file1="030bES_T85.cam2.h0.1990-01.nc"
> file1="1990Apr.nc"
>
>
> ;Pointers
> f = addfile(main1+file1, "r")
>
>
> ;Read Variables
> ; mainly to extract some metadata, to get dimensions
> lon = f->lon
> lat = f->lat
> lev = f->lev
> tt = f->uavg
> ;dum = f->uavg
> ; read ps, the hybrid coordinate arrays, and geopotential height
> (see simple.ncl) to compute P
> nlat = dimsizes(lat)
> nlon = dimsizes(lon)
> nlev = dimsizes(lev)
> ;dimdum = dimsizes(dum)
> ;nlev = dimdum(2)
>
> monstrng =
> (/"Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","D
> ec"/)
>
> ;Set Path
>
> t_mam = new((/nlev,nlat,nlon/), float)
> t_jja = new((/nlev,nlat,nlon/), float)
>
> q_mam = new((/nlev,nlat,nlon/), float)
> q_jja = new((/nlev,nlat,nlon/), float)
>
> u_mam = new((/nlev,nlat,nlon/), float)
> u_jja = new((/nlev,nlat,nlon/), float)
>
> v_mam = new((/nlev,nlat,nlon/), float)
> v_jja = new((/nlev,nlat,nlon/), float)
>
> p_mam = new((/nlev,nlat,nlon/), float)
> p_jja = new((/nlev,nlat,nlon/), float)
>
> z_mam = new((/nlev,nlat,nlon/), float)
> z_jja = new((/nlev,nlat,nlon/), float)
>
> t_mam = 0.
> t_jja = 0.
> q_mam = 0.
> q_jja = 0.
> u_mam = 0.
> u_jja = 0.
> v_mam = 0.
> v_jja = 0.
> p_mam = 0.
> p_jja = 0.
> z_mam = 0.
> z_jja = 0.
>
> mamcnt = 0
> jjacnt = 0
>
>
> ;
> ; loop through files and extract the monnthly data
>
> ;ybeg = 1978
> ;yend = 1998
> ybeg = 2077
> yend = 2078
>
> do ny = ybeg,yend
>
> do nm = 2, 7 ;March-August
>
> file3 = ny+monstrng(nm)+".nc"
>
> ;Pointer
> f3 = addfile(path(0)+file3, "r")
>
> ; check for missing data (essentially, a missing file)
> if(any(.not.ismissing(f3))) then
>
> print (file3)
>
> ; read your variables here: T, Q, U, V, Z, P
> ; these are dimensions: nlev, nlat, nlon
> t = f3->tavg
> q = f3->qavg
> u = f3->uavg
> v = f3->vavg
> p = f3->pavg
> z = f3->zavg
> sev = f3->sev
>
>
> if (nm.ge.2.and.nm.le.4) then
> t_mam = t_mam + t
> q_mam = q_mam + q
> u_mam = u_mam + u
> v_mam = v_mam + v
> p_mam = p_mam + p
> z_mam = z_mam + z
> mamcnt = mamcnt +1
> end if
>
> ; add the same variables here...
> if (nm.ge.5.and.nm.le.7) then
> ;mcape_jja = mcape_jja + mcape
> t_jja = t_jja + t
> q_jja = q_jja + q
> u_jja = u_jja + u
> v_jja = v_jja + v
> p_jja = p_jja + p
> z_jja = z_jja + z
> jjacnt = jjacnt +1
> end if
>
> end if
>
> end do
> end do
>
> ; final averages
> ; do final averages on other variables
>
> t_mam =t_mam/mamcnt
> t_jja =t_jja/jjacnt
>
> q_mam =q_mam/mamcnt
> q_jja =q_jja/jjacnt
>
> u_mam =u_mam/mamcnt
> u_jja =u_jja/jjacnt
>
> v_mam =v_mam/mamcnt
> v_jja =v_jja/jjacnt
>
> p_mam =p_mam/mamcnt
> p_jja =p_jja/jjacnt
>
> z_mam =z_mam/mamcnt
> z_jja =z_jja/jjacnt
>
> delete (f3)
>
>
> ; dump out data
> ;^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
> ; now, dump out the monthly averages to a
> ; netcdf file
> ;^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
>
> ncfile = "jjafields.nc"
> ncdf = addfile(ncfile ,"c") ; open output netCDF file
> ;===================================================================
> ; create global attributes of the file
> ;===================================================================
> fAtt = True ; assign file attributes
> fAtt_at_title = "Summer Averages"
> fAtt_at_domxmin = lon(0)
> fAtt_at_domxmax = lon(nlon-1)
> fAtt_at_domymin = lat(0)
> fAtt_at_domymax = lat(nlat-1)
> fileattdef( ncdf, fAtt ) ; define file attributes
> dimNames = (/"lat","lon"/)
> dimSizes = (/nlat,nlon/)
> dimUnlim = (/False,False/)
> filedimdef(ncdf,dimNames,dimSizes,dimUnlim)
>
>
> ncdf->u_jja = u_jja ; lat, lon
> ncdf->v_jja = v_jja ; lat, lon
> ncdf->p_jja = p_jja ; lat, lon
> ncdf->z_jja = z_jja ; lat, lon
> ncdf->t_jja = t_jja ; lat, lon
> ncdf->q_jja = q_jja ; lat, lon
>
> ncdf->lon = lon
> ncdf->lat = lat
>
>
>
> ncfile2 = "mamfields.nc"
> ncdf2 = addfile(ncfile2 ,"c") ; open output netCDF file
> ;===================================================================
> ; create global attributes of the file
> ;===================================================================
> fAtt = True ; assign file attributes
> fAtt_at_title = "Spring Averages"
> fAtt_at_domxmin = lon(0)
> fAtt_at_domxmax = lon(nlon-1)
> fAtt_at_domymin = lat(0)
> fAtt_at_domymax = lat(nlat-1)
> fileattdef( ncdf2, fAtt ) ; define file attributes
> dimNames = (/"lat","lon"/)
> dimSizes = (/nlat,nlon/)
> dimUnlim = (/False,False/)
> filedimdef(ncdf2,dimNames,dimSizes,dimUnlim)
>
>
> ncdf2->u_mam = u_mam ; lat, lon
> ncdf2->v_mam = v_mam ; lat, lon
> ncdf2->p_mam = p_mam ; lat, lon
> ncdf2->z_mam = z_mam ; lat, lon
> ncdf2->t_mam = t_mam ; lat, lon
> ncdf2->q_mam = q_mam ; lat, lon
>
> ncdf2->lon = lon
> ncdf2->lat = lat
>
>
> end
>
> _______________________________________________
> 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 Jun 09 2009 - 11:15:54 MDT

This archive was generated by hypermail 2.2.0 : Thu Jun 11 2009 - 14:54:53 MDT