[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