[ncl-talk] NetCDF output file from NCL not opening in GrADS
Dennis Shea
shea at ucar.edu
Fri Jul 7 07:20:26 MDT 2017
fn = "tas_aave_Asia.nc" ; define filename
in = addfile(fn,"r") ; open netcdf file
x = in->tasmask(:,0:0,0:0) ; get data; avoid
elimination of degenerate dimension
printVarSummary(x) ; x(time,lat,lon)
; ***********************************************
; create the filter weights and apply
; ***********************************************
ihp = 2 ; band pass
sigma = 1.0 ; Lanczos sigma
nWgt = 201 ; loose 100 each end
fca = 1./100. ; start freq
fcb = 1./30. ; last freq
wgt = filwgts_lanczos (nWgt, ihp, fca, fcb, sigma )
xBPF = wgt_runave_n ( x, wgt, 0, 0 ) ; 30-100 days
printVarSummary(xBPF)
***********************************************
; create new date array for use on the plot
; ***********************************************
filo = "tas_aave_Asia_bandpass30-100.nc"
system ("/bin/rm "+filo) ; remove any pre-existing file
fo = addfile(filo , "c") ; open output file
*;;**filedimdef*
<http://www.ncl.ucar.edu/Document/Functions/Built-in/filedimdef.shtml>
(fo,"time",-1,True) ; make 'time' unlimited
fo->tasmax = xBPF ; write ud to a file
On Fri, Jul 7, 2017 at 6:04 AM, gibies george <gibiesgeorge at gmail.com>
wrote:
> But where is your original coordinate?
>
> On Jul 7, 2017 4:01 PM, "S Br" <sbr.climate at gmail.com> wrote:
>
>> Hi,
>> Thanks for your reply. Now I reshaped the variable and put an arbitrary
>> lat/lon value. Still, I couldn't open the file in GrADS.
>>
>> I have checked the output file, it correctly reading the dimension but
>> may be wrong with variables.
>>
>> ncdump -h tas_aave_Asia_bandpass30-100.nc
>> netcdf tas_aave_Asia_bandpass30-100 {
>> dimensions:
>> time = UNLIMITED ; // (1000 currently)
>> lat = 1 ;
>> lon = 1 ;
>> variables:
>> double tasmaskn(time, lat, lon) ;
>> tasmaskn:_FillValue = -999000000. ;
>> int lat(lat) ;
>> int lon(lon) ;
>> }
>>
>> >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>
>> ; ***********************************************
>> ; create new date array for use on the plot
>> ; ***********************************************
>> filo = "tas_aave_Asia_bandpass30-100.nc"
>> system ("/bin/rm "+filo) ; remove any pre-existing file
>> fo = addfile(filo , "c") ; open output file
>> filedimdef(fo,"time",-1,True) ; make 'time' unlimited
>> tasmask=xBPF
>> ntime = 1000
>> nlat = 1
>> nlon = 1
>> tasmaskn = reshape(tasmask,(/ntime,nlat,nlon/))
>> printVarSummary(tasmaskn)
>> tasmaskn!0="time"
>> tasmaskn!1="lat"
>> tasmaskn&lat=nlat
>> tasmaskn!2="lon"
>> tasmaskn&lon=nlon
>> fo->tasmaskn = tasmaskn ; write ud to a file
>> end
>>
>>
>>
>>
>>
>>
>>
>> On Fri, Jul 7, 2017 at 8:45 AM, gibies george <gibiesgeorge at gmail.com>
>> wrote:
>>
>>> The first step I told is to reshape "tasmask" using reshape function.
>>>
>>> Secondly what I told is to put some arbitrary lat-lon coordinate value.
>>>
>>> On 6 July 2017 at 16:29, S Br <sbr.climate at gmail.com> wrote:
>>>
>>>> Hi Gibies,
>>>> Thanks for your reply. I have added as you suggested. I get some error
>>>> in the code. Do you think, I have done correctly.
>>>>
>>>> ; ***********************************************
>>>> ; create new date array for use on the plot
>>>> ; ***********************************************
>>>> filo = "tas_aave_Asia_bandpass30-100.nc"
>>>> system ("/bin/rm "+filo) ; remove any pre-existing file
>>>> fo = addfile(filo , "c") ; open output file
>>>> filedimdef(fo,"time",-1,True) ; make 'time' unlimited
>>>> tasmask=xBPF
>>>> tasmask!0="time"
>>>> tasmask!1="lat"
>>>> tasmask&lat=*"lat" *
>>>> tasmask!2="lon"
>>>> tasmask&lon=*"lon"*
>>>> fo->tasmask = tasmask ; write ud to a file
>>>> end
>>>>
>>>> I get the error as,
>>>>
>>>> fatal:Variable (tasmask) has (1) dimensions can not write to dimension
>>>> (1)
>>>> fatal:["Execute.c":8575]:Execute: Error occurred at or near line 38 in
>>>> file bandpass.ncl
>>>>
>>>> Thanks.
>>>> SB
>>>>
>>>>
>>>>
>>>>
>>>> On Thu, Jul 6, 2017 at 10:13 AM, gibies george <gibiesgeorge at gmail.com>
>>>> wrote:
>>>>
>>>>> I have seen those mails from Dr. Dennis and Dr. Adam.
>>>>>
>>>>> You can use reshape function to add additional coordinate to a
>>>>> variable. Define some single value coordinate for latitude and longitude.
>>>>>
>>>>> varname!0 ="time"
>>>>> varname!1 = "lat"
>>>>> varname&lat = .......
>>>>> varname!2 = "lon"
>>>>> varname&lon = ......
>>>>>
>>>>>
>>>>>
>>>>>
>>>>> On Jul 6, 2017 2:08 PM, "S Br" <sbr.climate at gmail.com> wrote:
>>>>>
>>>>>> Hi Gibies,
>>>>>> NCL also provided the same solution as you have mentioned.
>>>>>> Could you please tell me how can I add single value coordinates
>>>>>> (time, lat, lon) to the variable.
>>>>>> Hope, you can write me the command for me.
>>>>>>
>>>>>> Thanks.
>>>>>> SB
>>>>>>
>>>>>> On Wed, Jul 5, 2017 at 5:58 PM, gibies george <gibiesgeorge at gmail.com
>>>>>> > wrote:
>>>>>>
>>>>>>> Yes, you can add single value coordinates (time lat lon) to the
>>>>>>> variable before saving it to nc file.
>>>>>>>
>>>>>>> On Jul 5, 2017 9:58 PM, "S Br" <sbr.climate at gmail.com> wrote:
>>>>>>>
>>>>>>>> Is it possible to do something inside the NCL script so that it can
>>>>>>>> be opened by GrADS.
>>>>>>>>
>>>>>>>> On Wed, Jul 5, 2017 at 5:25 PM, gibies george <
>>>>>>>> gibiesgeorge at gmail.com> wrote:
>>>>>>>>
>>>>>>>>> This is because grads required standard file coordinates
>>>>>>>>> structure. Time lat lon etc.
>>>>>>>>>
>>>>>>>>> On Jul 5, 2017 9:43 PM, "S Br" <sbr.climate at gmail.com> wrote:
>>>>>>>>>
>>>>>>>>>> Hi,
>>>>>>>>>> I have applied bandpass filter to my one dimentional NetCDF file.
>>>>>>>>>> I have written the output to a NetCDF file but this output file is not
>>>>>>>>>> opening in GrADS. I get the following error.
>>>>>>>>>>
>>>>>>>>>> ga-> sdfopen tas_aave_Asia_bandpass30-100.nc
>>>>>>>>>> Scanning self-describing file: tas_aave_Asia_bandpass30-100.nc
>>>>>>>>>> gadsdf: SDF file has no discernable X coordinate.
>>>>>>>>>> To open this file with GrADS, use a descriptor file with an
>>>>>>>>>> XDEF entry.
>>>>>>>>>> Documentation is at http://cola.gmu.edu/grads/gado
>>>>>>>>>> c/SDFdescriptorfile.html
>>>>>>>>>>
>>>>>>>>>> Could you please suggest if I am doing somewhere wrong in my NCL
>>>>>>>>>> script . The input file is perfectly fine with GrADS.
>>>>>>>>>>
>>>>>>>>>> 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"
>>>>>>>>>> begin
>>>>>>>>>>
>>>>>>>>>> fn = "tas_aave_Asia.nc" ; define filename
>>>>>>>>>> in = addfile(fn,"r") ; open
>>>>>>>>>> netcdf file
>>>>>>>>>> x = in->tasmask(:,0,0)
>>>>>>>>>> ; get data
>>>>>>>>>>
>>>>>>>>>> ; ***********************************************
>>>>>>>>>> ; create the filter weights and apply
>>>>>>>>>> ; ***********************************************
>>>>>>>>>>
>>>>>>>>>> ihp = 2 ; band pass
>>>>>>>>>> sigma = 1.0 ; Lanczos sigma
>>>>>>>>>>
>>>>>>>>>> nWgt = 201 ; loose 100 each end
>>>>>>>>>> fca = 1./100. ; start freq
>>>>>>>>>> fcb = 1./30. ; last freq
>>>>>>>>>> wgt = filwgts_lanczos (nWgt, ihp, fca, fcb, sigma )
>>>>>>>>>> xBPF = wgt_runave ( x, wgt, 0 ) ; 30-100 days
>>>>>>>>>>
>>>>>>>>>> copy_VarMeta(x,xBPF)
>>>>>>>>>> dNames= getvardims(xBPF)
>>>>>>>>>> dSIZES=dimsizes(xBPF)
>>>>>>>>>> print (dNames)
>>>>>>>>>> print (dSIZES)
>>>>>>>>>>
>>>>>>>>>> ; ***********************************************
>>>>>>>>>> ; create new date array for use on the plot
>>>>>>>>>> ; ***********************************************
>>>>>>>>>> filo = "tas_aave_Asia_bandpass30-100.nc"
>>>>>>>>>> system ("/bin/rm "+filo) ; remove any pre-existing file
>>>>>>>>>> fo = addfile(filo , "c") ; open output file
>>>>>>>>>> tasmax=xBPF(:)
>>>>>>>>>> fo->tasmax = tasmax ; write ud to a file
>>>>>>>>>> end
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> Thanks.
>>>>>>>>>> SB
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> _______________________________________________
>>>>>>>>>> ncl-talk mailing list
>>>>>>>>>> ncl-talk at ucar.edu
>>>>>>>>>> List instructions, subscriber options, unsubscribe:
>>>>>>>>>> http://mailman.ucar.edu/mailman/listinfo/ncl-talk
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>
>>>>>>
>>>>
>>>
>>
> _______________________________________________
> 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/20170707/24f86e94/attachment.html
More information about the ncl-talk
mailing list