[ncl-talk] Save in netcdf
Beáta Szabó-Takács
szabo.b at czechglobe.cz
Wed Jul 18 03:16:14 MDT 2018
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<mailto: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<http://example.nc>" ; Output file
system<http://www.ncl.ucar.edu/Document/Functions/Built-in/system.shtml>("/bin/rm -f example.nc<http://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<mailto: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<mailto: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<http://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<mailto:meier-fleischer at dkrz.de>> wrote:
Hi Soma,
if the file example.nc<http://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<http://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<http://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<mailto: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<mailto: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<mailto: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/93da231e/attachment.html>
More information about the ncl-talk
mailing list