[ncl-talk] XY plot from .ascii file
Dennis Shea
shea at ucar.edu
Sun Nov 12 18:06:24 MST 2017
Actually, the point of my reply was to illustrate a more generic approach
to writing scripts.
I was in a rush and did not finish.
See attached.
[1] It uses a function. I suggest saving in in a file: (say) music.ncl Then
load "./music.ncl"
[2] no hard-coded numbers; badd programmin practice; they ahould be placed
in variables.
[3] you used:
"days since 1-1-1 00:00:0.0"
Are you sure? You can not use 'just anything' units
[4] Script uses 'elapsed time'
Good Luck
On Sun, Nov 12, 2017 at 8:57 AM, music piano <musicpianoljy at gmail.com>
wrote:
> Hi,
>
> Have you try something like
>
> res at tmXBMode = "Explicit" ; explicit labels
> res at tmXBValues = ispan(0,18,1)
> res at tmXBLabels =xtime(0:18)
> time=ispan(0,18,1)
> plot = gsn_csm_xy(wks,time,temp,res)
>
>
>
>
>
> On Sat, Nov 11, 2017 at 8:39 PM, NB <nbarlow30 at gmail.com> wrote:
>
>> I'm running NCL 6.4.0, OpenDAP enabled, in a linux environment.
>>
>> I want to make a basic xy graph, using .asiii files from NCEP's NOMADS
>> server.
>>
>> Here is the beginning of my script:
>> ------------------------------------------
>>
>> *;Query and download for tmp2m, times, lat, lon*
>> plot = systemfunc("wget http://nomads.ncep.noaa.gov:90
>> 90/dods/hrrr/hrrr20171111/hrrr_sfc_23z.ascii?tmp2m[0:18][808][412] -O
>> /usr/local/ncl/data/hrrr")
>>
>> *;Read .asciifile*
>> f1 = asciiread("/usr/local/ncl/data/hrrr",-1,"float")
>>
>> *;Define tmp2m array*
>> temp = f1(6:60:3)
>> print(temp)
>>
>> Variable: temp
>> Type: float
>> Total Size: 76 bytes
>> 19 values
>> Number of Dimensions: 1
>> Dimensions and sizes: [19]
>> Coordinates:
>> Number Of Attributes: 1
>> _FillValue : 9.96921e+36
>> (0) 273.0365
>> (1) 272.9575
>> (2) 272.2889
>> (3) 271.8959
>> (4) 271.7046
>> (5) 271.8002
>> (6) 272.0746
>> (7) 272.3098
>> (8) 272.1751
>> (9) 272.0324
>> (10) 271.9301
>> (11) 271.9724
>> (12) 271.9315
>> (13) 271.8347
>> (14) 271.7155
>> (15) 271.5002
>> (16) 271.3636
>> (17) 271.5006
>> (18) 272.4438
>>
>> *;Define time array*
>> time = f1(62:80)
>> print(time)
>>
>> Variable: time
>> Type: float
>> Total Size: 76 bytes
>> 19 values
>> Number of Dimensions: 1
>> Dimensions and sizes: [19]
>> Coordinates:
>> Number Of Attributes: 1
>> _FillValue : 9.96921e+36
>> (0) 736645.9
>> (1) 736646
>> (2) 736646.1
>> (3) 736646.1
>> (4) 736646.1
>> (5) 736646.2
>> (6) 736646.2
>> (7) 736646.2
>> (8) 736646.3
>> (9) 736646.3
>> (10) 736646.4
>> (11) 736646.4
>> (12) 736646.4
>> (13) 736646.5
>> (14) 736646.6
>> (15) 736646.6
>> (16) 736646.6
>> (17) 736646.7
>> (18) 736646.7
>>
>> *;Convert Time to **YYYYMMDDHH*
>> time at units = "days since 1-1-1 00:00:0.0"
>> xtime = cd_calendar(time,3)
>> print(xtime)
>>
>> Variable: xtime
>> Type: double
>> Total Size: 152 bytes
>> 19 values
>> Number of Dimensions: 1
>> Dimensions and sizes: [19]
>> Coordinates:
>> Number Of Attributes: 2
>> _FillValue : 9.969209968386869e+36
>> calendar : standard
>> (0) 2017111122 <(201)%20711-1122>
>> (1) 2017111200 <(201)%20711-1200>
>> (2) 2017111201 <(201)%20711-1201>
>> (3) 2017111201 <(201)%20711-1201>
>> (4) 2017111203 <(201)%20711-1203>
>> (5) 2017111204 <(201)%20711-1204>
>> (6) 2017111204 <(201)%20711-1204>
>> (7) 2017111206 <(201)%20711-1206>
>> (8) 2017111207 <(201)%20711-1207>
>> (9) 2017111207 <(201)%20711-1207>
>> (10) 2017111209 <(201)%20711-1209>
>> (11) 2017111210 <(201)%20711-1210>
>> (12) 2017111210 <(201)%20711-1210>
>> (13) 2017111212 <(201)%20711-1212>
>> (14) 2017111213 <(201)%20711-1213>
>> (15) 2017111213 <(201)%20711-1213>
>> (16) 2017111215 <(201)%20711-1215>
>> (17) 2017111216 <(201)%20711-1216>
>> (18) 2017111216 <(201)%20711-1216>
>> -----------------------------------------------------------
>> I am able to make plots using gsn_csm_xy(wks,xtime,temp,res), but the
>> x-axis tick spacing is always erratic. Sometimes, it will plot 2 values for
>> the same time step. No "res@" options seem to fix it.
>>
>> My question is - how do I deal with a time dimension like the one above?
>> I have 2 arrays of equal size(time & temp), it seems that the coordinates
>> should be easy to plot, but they're not. I've tried several conversion
>> tactics via cd_calendar, but it doesn't solve it. I'd like the x-axis ticks
>> to be "12z 11/Nov" for example.
>>
>>
>>
>> Thanks in advance,
>>
>> nick
>>
>>
>>
>>
>>
>>
>> _______________________________________________
>> 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/20171112/eeb26993/attachment.html>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: nomads.ncl
Type: application/octet-stream
Size: 3461 bytes
Desc: not available
URL: <http://mailman.ucar.edu/pipermail/ncl-talk/attachments/20171112/eeb26993/attachment.obj>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: nomads.2017111206.tmp2m.png
Type: image/png
Size: 72071 bytes
Desc: not available
URL: <http://mailman.ucar.edu/pipermail/ncl-talk/attachments/20171112/eeb26993/attachment.png>
More information about the ncl-talk
mailing list