[ncl-talk] Save in netcdf
Soma Roy
somaroy892 at gmail.com
Wed Jul 18 03:39:59 MDT 2018
It worked. Thanks a lot Dennis and Beata.
Best,
Soma
On Wed, Jul 18, 2018, 14:46 Beáta Szabó-Takács <szabo.b at czechglobe.cz>
wrote:
> Dear Soma,
>
> I think the matter is in the line:
>
>
>
> filedimdef(ncdf,"time",-1,True)
>
>
>
> You should change to
>
>
>
> filedimdef(fout,"time",-1,True)
>
>
>
> I hope I could help you!
>
> Best regards,
>
> Beata
>
>
>
> *From:* ncl-talk [mailto:ncl-talk-bounces at ucar.edu] *On Behalf Of *Soma
> Roy
> *Sent:* Wednesday, July 18, 2018 9:54 AM
> *To:* Dennis Shea <shea at ucar.edu>
> *Cc:* ncl-talk <ncl-talk at ucar.edu>
> *Subject:* Re: [ncl-talk] Save in netcdf
>
>
>
> I am getting the following error message after running the attached code.
>
>
>
> fatal:Variable (ncdf) is undefined
>
> fatal:["Execute.c":8640]:Execute: Error occurred at or near line 50 in
> file Test2.ncl
>
>
>
> Modified code as per easier method is attached below.
>
>
>
> Let me know what is wrong in this code.
>
>
>
> Thanks,
>
> Soma
>
>
>
> On Wed, Jul 18, 2018, 12:14 Dennis Shea <shea at ucar.edu> wrote:
>
> ;---Read needed variables from file
>
> itStrt = 9 ;
>
> itLast = 12
>
> lonStrt = 20
>
> lonLast = 100
>
>
> u = short2flt(in->u(itStrt:itLast,:,::-1,lonStrt:lonLast))
>
> SPH = short2flt(in1->q(itStrt:itLast,:,::-1,lonStrt:lonLast))
> printVarSummary(u)
>
> ;===> NO: lat=in->latitude(::-1) Do not explicitly read from
> file
> :===> NO: lon=in->longitude(20:100) NCL does the book keeping
> ;===> NO: time=in->time(09:12) as part of data
> structure/object input
>
>
> u&level = u&level*100 ; over write with new values
>
> u&level at units = "Pa"
>
> printVarSummary(u) ; LOOK at this
>
>
> ;--- Zonal moisture transport
> ---------------------------------------------------------------------
> ZMT=u*SPH ; not
> appropriate to use monthly means for
>
>
> ; for a non-linear quantity
>
> ZMT at long_name = "zonal moisture transport"
> ZMT at units="(m/s)(kg/kg)"
> copy_VarCoords(u, ZMT)
> printVarSummary(ZMT)
>
> ---
>
> Use Method 1 to write netCDF ... easier
>
> filo = "example.nc" ; Output file
>
> * system* <http://www.ncl.ucar.edu/Document/Functions/Built-in/system.shtml>("/bin/rm -f example.nc") ; remove any pre-existing file
>
> fout = addfile (filo, "c") ; open output file
>
> ;===================================================================
> ; create global attributes of the file
>
> fAtt = True ; assign file attributes
> fAtt at title = "NCL Simple Approach to netCDF Creation"
> fAtt at source_file = "uvwtz_Dec2016.nc"
> fAtt at Conventions = "None"
> fAtt at creation_date = systemfunc ("date")
> fileattdef( fout, fAtt ) ; copy file attributes
>
> ;===================================================================
>
> ; make time an UNLIMITED dimension; recommended for most applications
>
> ;===================================================================
>
> *filedimdef* <http://www.ncl.ucar.edu/Document/Functions/Built-in/filedimdef.shtml>(ncdf,"time",-1,True)
>
> fout->ZMT = ZMT ; 4D
>
>
>
> On Tue, Jul 17, 2018 at 11:05 AM, Soma Roy <somaroy892 at gmail.com> wrote:
>
> It again shows the following error message;
>
>
>
> fatal:Variable (lev) is undefined
>
> fatal:["Execute.c":8640]:Execute: Error occurred at or near line 44 in
> file TEST1.ncl
>
>
>
> 'latitude', 'longitude', 'level' and 'time' are named as variable's
> dimensions in input file which is very clear from printVarSummary of the
> data. I modified the code as per your hints. Modified code is attached
> below. Kindly inform me where I am doing wrong again.
>
>
>
> Thanks,
>
> Soma
>
>
>
> On Tue, Jul 17, 2018 at 10:09 PM, Karin Meier-Fleischer <
> meier-fleischer at dkrz.de> wrote:
>
> Hi Soma,
>
> please, reply always to ncl-talk that everybody is able to follow.
>
> The problem is, that you changed the name of the level dimension to lev.
> ZMT has the dimension name level. Change lev to level and it should work or
>
> ZMT!1 = "lev"
> ZMT&lev = lev
>
> -Karin
>
> Am 17.07.18 um 14:06 schrieb Soma Roy:
>
> In the directory there is no file named as example.nc.
>
> It is created at the run time.
>
>
>
> Now I am getting the following error massage;
>
>
>
> FileAddVar, in file: NclFile.c, line: 412
>
> fatal:FileAddVar: Dimension (level) is not currently defined, can't add
> variable
>
> fatal:["Execute.c":8640]:Execute: Error occurred at or near line 77 in
> file TEST1.ncl
>
>
>
> Kindly inform me what I am doing wrong in this.
>
>
>
> Thanking you,
>
> Soma
>
>
>
>
>
> On Tue, Jul 17, 2018, 16:31 Karin Meier-Fleischer <meier-fleischer at dkrz.de>
> wrote:
>
> Hi Soma,
>
> if the file example.nc already exists NCL can't create a new one with the
> same name. You have to remove the file, first.
>
> filo = "example.nc" ; Output file
> * system("rm -rf "+filo)*
> fout = addfile (filo, "c") ; open output file
>
> -Karin
>
> Am 17.07.18 um 12:22 schrieb Soma Roy:
>
> I am trying to save the variable ZMT in NetCDF file following the
> instructions at the below-mentioned link;
>
>
>
> http://www.ncl.ucar.edu/Applications/method_2.shtml
>
>
>
> Summary of the dataset is as follows;
>
>
>
> Variable: lat
>
> Type: float
>
> Total Size: 244 bytes
>
> 61 values
>
> Number of Dimensions: 1
>
> Dimensions and sizes: [latitude | 61]
>
> Coordinates:
>
> latitude: [ 5..20]
>
> Number Of Attributes: 2
>
> units : degrees_north
>
> long_name : latitude
>
>
>
> Variable: lon
>
> Type: float
>
> Total Size: 324 bytes
>
> 81 values
>
> Number of Dimensions: 1
>
> Dimensions and sizes: [longitude | 81]
>
> Coordinates:
>
> longitude: [70..90]
>
> Number Of Attributes: 2
>
> units : degrees_east
>
> long_name : longitude
>
>
>
> Variable: time
>
> Type: integer
>
> Total Size: 16 bytes
>
> 4 values
>
> Number of Dimensions: 1
>
> Dimensions and sizes: [time | 4]
>
> Coordinates:
>
> time: [1025088..1025160]
>
> Number Of Attributes: 3
>
> units : hours since 1900-01-01 00:00:0.0
>
> long_name : time
>
> calendar : gregorian
>
>
>
>
>
> Variable: pnew
>
> Type: integer
>
> Total Size: 112 bytes
>
> 28 values
>
> Number of Dimensions: 1
>
> Dimensions and sizes: [level | 28]
>
> Coordinates:
>
> level: [70..1000]
>
> Number Of Attributes: 2
>
> units : Pa
>
> long_name : pressure_level
>
> (0) 7000
>
> (1) 10000
>
> (2) 12500
>
> (3) 15000
>
> ..........
>
> (26) 97500
>
> (27) 100000
>
>
>
> Variable: ZMT
>
> Type: float
>
> Total Size: 2213568 bytes
>
> 553392 values
>
> Number of Dimensions: 4
>
> Dimensions and sizes: [time | 4] x [level | 28] x [latitude | 61] x
> [longitude | 81]
>
> Coordinates:
>
> time: [1025088..1025160]
>
> level: [70..1000]
>
> latitude: [ 5..20]
>
> longitude: [70..90]
>
> Number Of Attributes: 3
>
> units : (m/s)(kg/kg)
>
> long_name : zonal moisture transport
>
> _FillValue : -32767
>
>
>
> At run-time, I am getting the following error message;
>
>
>
> fatal:Could not create (example.nc)
>
> warning:FileSetFileOption: invalid file or format
>
> fatal:["Execute.c":8640]:Execute: Error occurred at or near line 65 in
> file TEST1.ncl
>
>
>
> My script is attached below.
>
>
>
> Please kindly inform me what is wrong with this code and how to fix it.
>
>
>
> Thanking you,
>
> Soma
>
>
>
> _______________________________________________
>
> 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
>
>
>
>
> _______________________________________________
> 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/20180718/62f5dceb/attachment.html>
More information about the ncl-talk
mailing list