[ncl-talk] Extracting all values of rh2 from WRF file and writing it to csv file

Rick Brownrigg brownrig at ucar.edu
Thu Jan 3 19:24:04 MST 2019


Hi Muhammad,

It would help to see the exact wording of the errors you are seeing. The
phrase "killed" makes me think perhaps you are running on a shared
computing resource, and the job is getting terminated because of over use
of memory, processor, etc.?  Is this the case?

On Thu, Jan 3, 2019 at 7:12 PM Muhammad Omer Mughal <
m.mughal1 at graduate.curtin.edu.au> wrote:

> Dear Dennis
>
>
> Thank you again for the reply and suggestions.
>
>
>
> Using *print("nl="+nl+";   nt="+nt)* provides
>
>
> (0)    nl=0;   nt=0
> (0)    nl=0;   nt=1
> (0)    nl=0;   nt=2
> (0)    nl=0;   nt=3
> (0)    nl=0;   nt=4
> :
> :
> :
> (0)    nl=0;   nt=405
> (0)    nl=0;   nt=406
> (0)    nl=0;   nt=407
> (0)    nl=0;   nt=408
> (0)    nl=0;   nt=409
> (0)    nl=0;   nt=410 and so on
>
> *using **print(wrftxt(nl)) *yields
>
> 98.57    98.68    98.72    98.81    98.75    98.75    98.75    98.71
> 98.74    98.57    98.12    97.50    96.66    95.69    94.67    93.80
> 92.96    92.26    91.93    91.47    91.11    90.95    90.88    90.97
> 91.38    91.84    92.68    93.84    94.49    94.72    95.09    95.22
> 95.61    95.84    95.95    95.95    96.13    95.52    94.99    94.28
> 93.33    92.13    91.21    90.88    90.77    90.92    91.21    91.63
> 91.78    91.51    91.12    90.74    90.42    90.19    90.09    90.23
> 90.43    90.52    90.58    90.47    90.46    90.48    90.56    90.62
> 90.67    90.72    90.71    90.69    90.62    90.60    90.56    98.37
>
> Even after changing %9.2f" to "%6.2f" or "%5.1f" , I am still getting the
> "killed" message.
>
>
> Regards
>
>
> Muhammad Omer Mughal
> MSc BSc Mechanical Engineering
> PhD  Research Scholar
> Remote Sensing and Satellite Research Group
> Department of Imaging and Applied Physics
> Curtin University
>
> Curtin University
> Tel | +61 8 9266 7962
> Fax | +61 8 9266 2377
> Mobile | 0470 237 525
>
> Email | m.mughal1 at postgrad.curtin.edu.au <m.lynch at curtin.edu.au>
> Web | http://curtin.edu.au
>
> Curtin University is a trademark of Curtin University of Technology.
> CRICOS Provider Code 00301J (WA), 02637B (NSW)
>
>
> ------------------------------
> *From:* Dennis Shea <shea at ucar.edu>
> *Sent:* Friday, 4 January 2019 3:10:59 AM
> *To:* Muhammad Omer Mughal
> *Cc:* Rick Brownrigg; ncl-talk at ucar.edu
> *Subject:* Re: [ncl-talk] Extracting all values of rh2 from WRF file and
> writing it to csv file
>
> [1] I doubt it is the size of the ascii file.
>
> [2] I tried the script on an available wrf file that had only one time
> dimension.
>
> Variable: rh2
> Dimensions and sizes:    [Time | 1] x [south_north | 108] x [west_east |
> 114]
>
> and the script worked fine. It put out 108 latiitudes and 1*114
> Time/longitudes
> ---
> You can add a print to *provide more information*. It will tell you when
> it failed.
> Did it fail on the 1st iteration or later? Really, just saying it
> terminated provides little information.
>
>   wrftxt = new(nlat, "string")
>   wrftxt = ""
>
>   do nl=0,nlat-1
>
>     do nt=0,ntim-1
>          *print("nl="+nl+";   nt="+nt)*
>       do ml=0,mlon-1
>          wrftxt(nl) = wrftxt(nl) +sprintf("%9.2f", rh2(nt,nl,ml))  ;
> append to previous value
>       end do
>     end do
>
>  ----
> *If *it failed on the 1st iteration, I speculate that the underlying
> C-code has some string length limit.
> [Time | 673] x [south_north | 71] x [west_east | 82]
>
> Each single string has 673*82*(nchar)  where nchar is the length of each
> string.
> So: "%9.2f" yields string lengths of  673*82*9= 496674 characters. That is
> a LONG string length.
>
> Change "%9.2f" to "%6.2f" or "%5.1f" ... see if it works. Still, they are
> all LONG.
>
>   ---
> Play with these
>
>    NTIM = 50   ; whatever
>    MLON = ???
>    do nt=0,NTIM
>          *print("nl="+nl+";   nt="+nt)*
>       do ml=0,MLON
>
> DO various combinations. That will provides some insight into the issue.
>
>
> On Thu, Jan 3, 2019 at 4:53 AM Muhammad Omer Mughal <
> m.mughal1 at graduate.curtin.edu.au> wrote:
>
> Dear Dennis and all
>
> Thank you for reply and sending the code.
>
> However, the script gets killed by itself without giving an error at the
> end of do loop. This I suspect might be due the fact that string is
> getting  overflow.
>
> Is there a way to fix this ?
>
>
> Muhammad Omer Mughal
> MSc BSc Mechanical Engineering
> PhD  Research Scholar
> Remote Sensing and Satellite Research Group
> Department of Imaging and Applied Physics
> Curtin University
>
> Curtin University
> Tel | +61 8 9266 7962
> Fax | +61 8 9266 2377
> Mobile | 0470 237 525
>
> Email | m.mughal1 at postgrad.curtin.edu.au
> Web | http://curtin.edu.au
>
> Curtin University is a trademark of Curtin University of Technology.
> CRICOS Provider Code 00301J (WA), 02637B (NSW)
>
>
> ________________________________
> From: Dennis Shea <shea at ucar.edu>
> Sent: Thursday, 3 January 2019 12:17:16 PM
> To: Muhammad Omer Mughal
> Cc: Rick Brownrigg; ncl-talk at ucar.edu
> Subject: Re: [ncl-talk] Extracting all values of rh2 from WRF file and
> writing it to csv file
>
> This series of questions is a bit frustrating.
>
> You have used NCL quite a bit and you have sent numerous questions.
> As you know, ncl-talk always recommends  that users use 'printVarSummary'
> to look at variables. You should do that.... ALWAYS.   I don't have your
> file but
>
> rh2 = wrf_user_getvar(a,"rh2",-1)       ; [Time | 673] x [south_north |
> 71] x [west_east | 82]
> lat=wrf_user_getvar(a,"XLAT",-1)       ;                                 "
> lon=wrf_user_getvar(a,"XLONG",-1)  ;                                 "
>
> Your initial question:
>
> lat and lon are variables with a 'Time' dimension.
> You can not use multidimensional variables. The following is not correct
> syntax.
>
> allRH = rh2(:, lon, lat)   ; ??????????????????
>
> Please read the User Manual on subscripting and 'do' loops
>   http://www.ncl.ucar.edu/Document/Manuals/
>
> also
>
>   http://www.ncl.ucar.edu/Applications/write_ascii.shtml<
> http://www.ncl.ucar.edu/Applications/write_ascii.shtml>
>
> ========
>   rh2 = wrf_user_getvar(a,"rh2",-1)
>   printVarSummary(rh2)
>
>   lat = wrf_user_getvar(a,"XLAT",-1)
>   lon = wrf_user_getvar(a,"XLONG",-1)
>   printVarSummary(lat)
>
>
>   dimrh2 = dimsizes(rh2)
>   ntim   = dimrh2(0)
>   nlat   = dimrh2(1)
>   mlon   = dimrh2(2)
>
>   wrftxt = new(nlat, "string")
>   wrftxt = ""
>
>   do nl=0,nlat-1
>
>     do nt=0,ntim-1
>       do ml=0,mlon-1
>          wrftxt(nl) = wrftxt(nl) +sprintf("%9.2f", rh2(nt,nl,ml))
>       end do
>     end do
>
>   end do
>
>
>   filo = "rh2.csv"
>   system("/bin/rm -f "+filo)
>   asciiwrite(filo,wrftxt)
>
>
> On Wed, Jan 2, 2019 at 8:28 PM Muhammad Omer Mughal <
> m.mughal1 at graduate.curtin.edu.au<mailto:m.mughal1 at graduate.curtin.edu.au>>
> wrote:
> Hi Rick
>
> Thank you for the reply.
>
> Yes , I want to write rh2 to the ascii format. The size of the rh2 in this
> particular case is [Time|673]*[south_north|81]*[west_east|72]. I want to
> save the file in the format so that it would have 72 rows and 54513 columns
> i.e. (673*81) for a particular code to read it.
>
> Regards
>
> Omer
>
>
> Muhammad Omer Mughal
> MSc BSc Mechanical Engineering
> PhD  Research Scholar
> Remote Sensing and Satellite Research Group
> Department of Imaging and Applied Physics
> Curtin University
>
> Curtin University
> Tel | +61 8 9266 7962
> Fax | +61 8 9266 2377
> Mobile | 0470 237 525
>
> Email | m.mughal1 at postgrad.curtin.edu.au<mailto:m.lynch at curtin.edu.au>
> Web | http://curtin.edu.au<http://curtin.edu.au/>
>
> Curtin University is a trademark of Curtin University of Technology.
> CRICOS Provider Code 00301J (WA), 02637B (NSW)
>
>
> ________________________________
> From: Rick Brownrigg <brownrig at ucar.edu<mailto:brownrig at ucar.edu>>
> Sent: Thursday, 3 January 2019 10:59:30 AM
> To: Muhammad Omer Mughal
> Cc: ncl-talk at ucar.edu<mailto:ncl-talk at ucar.edu>
> Subject: Re: [ncl-talk] Extracting all values of rh2 from WRF file and
> writing it to csv file
>
> HI,
>
> That error message makes sense, since in a WRF file, the variables XLAT
> and XLONG are 2D (curvilinear).
>
> I guess I'm confused as to what you are trying to do.  If you just simply
> want the variable "rh2" written to an ascii file, instead of this:
>
>     allRH = rh2(:, lon, lat)
>     asciiwrite("rh2.csv",allRH)
>
> what about just:
>
>    asciiwrite("rh2.csv",rh2)
>
> A simple experiment revealed that this will write the 3D array, 1 value
> per line, in "row major" format. This means to read such a file later, you
> must have some way of knowing the shape and dimensionality.
>
> Hope that helps....
> Rick
>
>
> On Wed, Jan 2, 2019 at 7:42 PM Muhammad Omer Mughal <
> m.mughal1 at graduate.curtin.edu.au<mailto:m.mughal1 at graduate.curtin.edu.au>>
> wrote:
> Dear Rick
> Thanks for the reply. I changed the script to remove the SEGV error but
> now I am getting the following error messages
>
>
> Please see the script below
>
> a=addfile("wrfout_d03_2017-02-01_00:00:00.nc<http://00.nc>","r")
>
> rh2 = wrf_user_getvar(a,"rh2",-1)
>
> lat=wrf_user_getvar(a,"XLAT",-1)
> lon=wrf_user_getvar(a,"XLONG",-1)
>
>
>   allRH = rh2(:, lon, lat)
>
>   asciiwrite("rh2.csv",allRH)
>
> fatal:Illegal subscript. Subscripts must be scalar or one dimensional
> vectors
>
>
>
>
>
> Muhammad Omer Mughal
> MSc BSc Mechanical Engineering
> PhD  Research Scholar
> Remote Sensing and Satellite Research Group
> Department of Imaging and Applied Physics
> Curtin University
>
> Curtin University
> Tel | +61 8 9266 7962
> Fax | +61 8 9266 2377
> Mobile | 0470 237 525
>
> Email | m.mughal1 at postgrad.curtin.edu.au<mailto:m.lynch at curtin.edu.au>
> Web | http://curtin.edu.au<http://curtin.edu.au/>
>
> Curtin University is a trademark of Curtin University of Technology.
> CRICOS Provider Code 00301J (WA), 02637B (NSW)
>
>
> ________________________________
> From: Rick Brownrigg <brownrig at ucar.edu<mailto:brownrig at ucar.edu>>
> Sent: Wednesday, 2 January 2019 10:18:33 PM
> To: Muhammad Omer Mughal
> Cc: ncl-talk at ucar.edu<mailto:ncl-talk at ucar.edu>
> Subject: Re: [ncl-talk] Extracting all values of rh2 from WRF file and
> writing it to csv file
>
> Hi,
>
> Can you share your script and dataset with me?  I would like to
> investigate why there's a SEGV.
>
> Rick
>
>
> On Wed, Jan 2, 2019 at 4:49 AM Muhammad Omer Mughal <
> m.mughal1 at graduate.curtin.edu.au<mailto:m.mughal1 at graduate.curtin.edu.au>>
> wrote:
> Dear NCL team
>
> Is there a way to extract all values from WRF output files from all grind
> points and write to an ascii file.
> In my case grid size is 71x82 and the number of times is 673. I tried to
> write using a table format but I am getting a segmentation fault.
>
> I will appreciate help. Kindly note that I have used Lambert conformal
> projection method.
>
> Regards
>
>
>
> Muhammad Omer Mughal
> MSc BSc Mechanical Engineering
> PhD  Research Scholar
> Remote Sensing and Satellite Research Group
> Department of Imaging and Applied Physics
> Curtin University
>
> Curtin University
> Tel | +61 8 9266 7962
> Fax | +61 8 9266 2377
> Mobile | 0470 237 525
>
> Email | m.mughal1 at postgrad.curtin.edu.au<mailto:
> m.mughal1 at postgrad.curtin.edu.au>
> Web | http://curtin.edu.au
>
> Curtin University is a trademark of Curtin University of Technology.
> CRICOS Provider Code 00301J (WA), 02637B (NSW)
>
>
> _______________________________________________
> 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/20190103/427bcfe0/attachment.html>


More information about the ncl-talk mailing list