[ncl-talk] NetCDF output file from NCL not opening in GrADS

gibies george gibiesgeorge at gmail.com
Fri Jul 7 06:04:59 MDT 2017


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
>>>>>>>>>
>>>>>>>>>
>>>>>>>
>>>>>
>>>
>>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://mailman.ucar.edu/pipermail/ncl-talk/attachments/20170707/b1198d90/attachment.html 


More information about the ncl-talk mailing list