[ncl-talk] Time dimension in output to NetCDF
Dennis Shea
shea at ucar.edu
Thu Nov 30 07:38:52 MST 2017
I don't know GrADS and how it handles 'time'
===
My speculation is that
prc&time = (/ yyyymm /)
is the source of the problem.
Likely, GrADS expects 'time' to have units like
'seconds/minutes/hours/days since ...."
I would eliminate the above line .....ALso, not sure why you are
'promoting' the float variable to a double.
GrADS questions should be sent to the GrADS support group.
=======================
diri = "./"
fili = "precip.mon.total.v7.nc"
f = addfile(diri+fili, "r")
prc = flt2dble(f->precip(:,{12:33},{30:60}))
pmsg = prc at _FillValue ; convenience
;===============================================================
;write to nc file
;================================================================
prc = flt2dble(f->precip(:,{12:33},{30:60})) ; <<< ??why are you
promoting to double?
====
Actually, the netCDF Operators could be used
%> ncks --d lat,12.0,33.0 -d lon,30.0,60.0 -O precip.mon.total.v7.nc
<http://precip.mon.total.v7.nc>prc_3mon.nc
On Thu, Nov 30, 2017 at 2:17 AM, Dr. Muhammad Afzaal <afzaalkarori at gmail.com
> wrote:
> in continuation to my previous email, following is the defined variable
> summary
>
> Variable: prcp
> Type: double
> Total Size: 27336960 bytes
> 3417120 values
> Number of Dimensions: 3
> Dimensions and sizes: [time | 1356] x [lat | 42] x [lon | 60]
> Coordinates:
> time: [190101..201312]
> lat: [12.25..32.75]
> lon: [30.25..59.75]
> Number Of Attributes: 3
> units : (mm)
> long_name :
> _FillValue : -9.969209968386869e+36
>
> Please read the second last line of my code as ncdf->prcp = prcp
>
> Thanks
>
> *Dr. MUHAMMAD AFZAAL KARORI*
> Pakistan Meteorological Department
> Sector H-8/2, Pitras Bukhari Road,
> Islamabad - 44000
> Pakistan
>
>
>
> On Thu, Nov 30, 2017 at 12:06 PM, Dr. Muhammad Afzaal <
> afzaalkarori at gmail.com> wrote:
>
>> Dear NCL users
>>
>> I am using NCL 6.4.0 on ubuntu. I need to write a variable to netcdf
>> file. I did it successfully using Method 1 given on ncl homepage. I have
>> little problem that when I open nc file in grads, the time is not
>> realistic. I mean its like;
>>
>> Time values set: 2320:6:25:0 2320:6:25:0
>>
>> while the variable has the time from 190101 to 201312
>>
>> Can someone please help me how can add time dim as that attached with the
>> define variable? My code is given below
>>
>> ;====================================================
>> begin
>>
>> diri = "./"
>> fili = "precip.mon.total.v7.nc"
>> f = addfile(diri+fili, "r")
>>
>> prc = flt2dble(f->precip(:,{12:33},{30:60}))
>> pmsg = prc at _FillValue ; convenience
>>
>> ;*********************************
>> ; plot parameters
>> ;*********************************
>> dimprc = dimsizes(prc)
>> ntim = dimprc(0)
>> nlat = dimprc(1)
>> mlon = dimprc(2)
>>
>> tim = f->time
>> utc_date = cd_calendar(tim, 0)
>> year = tointeger(utc_date(:,0))
>> yrStrt = year(0)
>> yrLast = year(ntim-1)
>> nyear = yrLast-yrStrt+1
>> ;print(year + " " + yrStrt + " "+ yrLast +" "+ nyear)
>> yyyymm = yyyymm_time(yrStrt, yrLast, "integer")
>>
>> yrfrac = (/ yyyymm_to_yyyyfrac(yyyymm, 0.0) /)
>> prc&time = (/ yyyymm /)
>>
>> ;===============================================================
>> ;write to nc file
>> ;================================================================
>>
>> system("/bin/rm -f prc_3mon.nc") ;remove any pre-existing file
>> ncdf = addfile("prc_3mon.nc" ,"c") ; open output netCDF file
>>
>> ;===============================================================
>> ; create global attributes of the file (optional)
>> ;================================================================
>> fAtt = True ; assign file attributes
>> fAtt at title = "GPCC Rainfall"
>> fAtt at source_file = "precip.mon.total.v7.nc"
>> fAtt at Conventions = "None"
>> fAtt at creation_date = systemfunc ("date")
>> fileattdef( ncdf, fAtt ) ; copy file attributes
>>
>> ;===============================================================
>> ; make time an UNLIMITED dimension;recommended for most applications
>> ;===============================================================
>>
>> filedimdef(ncdf,"time",-1,True)
>>
>> ;===============================================================
>> ; output variables directly; NCL will call appropriate functions
>> ; to write the meta data associated with each variable
>> ;===============================================================
>> ncdf->spi = spi ; 3D
>> end
>>
>>
>> Regards
>> *Dr. MUHAMMAD AFZAAL KARORI*
>> Pakistan Meteorological Department
>> Sector H-8/2, Pitras Bukhari Road,
>> Islamabad - 44000
>> Pakistan
>>
>>
>>
>
> _______________________________________________
> ncl-talk mailing list
> ncl-talk at ucar.edu
> List instructions, subscriber options, unsubscribe:
> http://mailman.ucar.edu/mailman/listinfo/ncl-talk
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mailman.ucar.edu/pipermail/ncl-talk/attachments/20171130/6eb5d78f/attachment.html>
More information about the ncl-talk
mailing list