<div dir="ltr">This is going round in circles. Gustavo has already said this as well. Re-read my last message. This is no longer an NCL topic. Please consult the below sources and others. Google "trajectory model" and you'll get many results to help you. <div><br><span style="font-size:12.8000001907349px"> I would suggest you research into hysplit </span><a href="http://ready.arl.noaa.gov/HYSPLIT.php" target="_blank" style="font-size:12.8000001907349px">http://ready.arl.noaa.gov/HYSPLIT.php</a><span style="font-size:12.8000001907349px"> or look into the software Vapor </span><a href="https://www.vapor.ucar.edu/" target="_blank" style="font-size:12.8000001907349px">https://www.vapor.ucar.edu/</a><span style="font-size:12.8000001907349px"> </span><br style="font-size:12.8000001907349px"><span style="font-size:12.8000001907349px">These can both calculate kinematic air trajectories, I'm not sure about ocean based trajectories (if that's your thing). This is as much info as I can provide.</span><div style="font-size:12.8000001907349px"><br></div><div style="font-size:12.8000001907349px">There are many papers and programs out there to calculate trajectories, I suggest you look into them and decide what you need. NCL would then be able to plot up the data calculated by the trajectory model. </div></div><div style="font-size:12.8000001907349px"><br></div><div style="font-size:12.8000001907349px"><br></div></div><div class="gmail_extra"><br><div class="gmail_quote">On Tue, Dec 9, 2014 at 11:18 AM, Carlos Batista <span dir="ltr"><<a href="mailto:krlosbatist@gmail.com" target="_blank">krlosbatist@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><span class=""><br>I am most grateful for your answers! Thanks!<br><br></span><span class="">I have not had success with my doubts and even with my problem.<br><br>I did not know that I would need to calculate the trajectories before. Sorry!<br><br>I'd
like to know, how you can do these calculations. It is done within the
NCL? How? Can I send a small set of data for you to do these tests? You
would have a small example of how to make these trajectories and how to
use scripts for strokes?<br><br>Thank you for your help and cooperation!<br><br>Cheers<br>Carlos<br></span></div><div class="gmail_extra"><br><div class="gmail_quote">2014-12-09 14:09 GMT-02:00 Alan Brammer <span dir="ltr"><<a href="mailto:abrammer@albany.edu" target="_blank">abrammer@albany.edu</a>></span>:<div><div class="h5"><br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">Replies should pretty much always be to ncl-talk.<div> I can not provide code for the trajectory calculation. I would suggest you research into hysplit <a href="http://ready.arl.noaa.gov/HYSPLIT.php" target="_blank">http://ready.arl.noaa.gov/HYSPLIT.php</a> or look into the software Vapor <a href="https://www.vapor.ucar.edu/" target="_blank">https://www.vapor.ucar.edu/</a> <br>These can both calculate kinematic air trajectories, I'm not sure about ocean based trajectories (if that's your thing). This is as much info as I can provide.<div><br></div><div>There are many papers and programs out there to calculate trajectories, I suggest you look into them and decide what you need. NCL would then be able to plot up the data calculated by the trajectory model. </div><div><br></div><div> Good luck. </div></div></div><div><div><div class="gmail_extra"><br><div class="gmail_quote">On Tue, Dec 9, 2014 at 11:03 AM, Carlos Batista <span dir="ltr"><<a href="mailto:krlosbatist@gmail.com" target="_blank">krlosbatist@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div><br>Dear Alan,<br><br>I am most grateful for your answers! Thanks!<br><br>Alan, I have not had success with my doubts and even with my problem.<br><br>I did not know that I would need to calculate the trajectories before. Sorry!<br><br>I'd like to know, how you can do these calculations. It is done within the NCL? How? Can I send a small set of data for you to do these tests? You would have a small example of how to make these trajectories and how to use scripts for strokes?<br><br>Thank you for your help and cooperation!<br><br>Cheers<br>Carlos<br><br></div>PS1: <span lang="en"><span>Sorry</span><span>,</span> <span>but</span> <span>I can</span> <span>send my</span> <span>questions</span> <span>just</span> <span>post</span> <span>here</span> <span>or</span> <span>in the</span> <span>forum</span><span>?</span></span></div><div class="gmail_extra"><br><div class="gmail_quote">2014-12-09 12:45 GMT-02:00 Alan Brammer <span dir="ltr"><<a href="mailto:abrammer@albany.edu" target="_blank">abrammer@albany.edu</a>></span>:<div><div><br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">Carlos, <div>I haven't read all of this thread, so apologies if this is answered. To plot trajectories one first needs to calculate the trajectory. Earlier you said "t<span style="font-size:12.8000001907349px">herefore, I have variables in all oceans and I would like to trace their paths,</span><span style="font-size:12.8000001907349px"> " which makes me think you don't have trajectories. </span>If you want to calculate trajectories then there is not any examples of an easy way in NCL and while it is somewhat straightforward it's going to take a good amount of coding. Probably not something to do if you're not familiar with a language. </div><div><br></div><div>If you have already have trajectories then the required variables would be time, lat, lon and then salinity? in your case I guess. If you have a small data file, and you're struggling with reading it in. Send the code you're using and the file in question (if less than 1.5MB) to the list. </div><div>Gustavo already gave you a lot of info about how the examples are structured the binary files are (/9,ntime, ntraj/). If you already have the data file ask whoever made it what the ordering is and change the script according. Don't change the file to match the example script, that's just extra work. </div><div><br></div><div><br></div><div>Lastly to learn NCL look at the documentation and examples. Some examples have data files saved here: <a href="https://www.ncl.ucar.edu/Applications/Data/" target="_blank">https://www.ncl.ucar.edu/Applications/Data/</a></div><div>Learning by asking questions to NCL-talk is not recommended. That's why the documentation was created. Also check out Mary's webinar emails. </div><span><font color="#888888"><div><br></div><div><br></div><div><br></div><div>Alan. </div><div><br></div></font></span></div><div><div><div class="gmail_extra"><br><div class="gmail_quote">On Mon, Dec 8, 2014 at 9:13 PM, Carlos Batista <span dir="ltr"><<a href="mailto:krlosbatist@gmail.com" target="_blank">krlosbatist@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><br>I will post the questions here in the forum ...<br><br>Gustavo, as I not know use the NCL, I need some examples of how it works. To trace the trajectories must do the same thing. I'd like to know if you would have some data series in which you can use with those routines traj_1.ncl and traj_2.ncl. So I'll can see how organized my data in a better way.<br><br>Sorry for all questions, but I realy not know use the NCL, but I want learn as using in my study...<br><br>Appreciate your cooperation!<br><br>Thanks<br>Cheers!<br>Carlos<br></div><div class="gmail_extra"><br><div class="gmail_quote">2014-12-08 2:06 GMT-02:00 Gustavo Correa <span dir="ltr"><<a href="mailto:gus@ldeo.columbia.edu" target="_blank">gus@ldeo.columbia.edu</a>></span>:<div><div><br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Hi Carlos<br>
<br>
It would help if you send a clear, complete, precise, description of the data layout<br>
in your input file.<br>
Otherwise it will be just wild guesswork and ineffective trial and error.<br>
<br>
Apparently you are stuck when you read the data in.<br>
There is no point trying to debug the script further if you cannot even read the data.<br>
To read the data correctly, you need to know what you are reading,<br>
i.e. you need to make clear how the data is organized in the input file.<br>
In addition, the script structure certainly depends on your data layout.<br>
It may be just like the example script, or it may need modifications.<br>
<br>
Is there a single trajectory in the input file or several trajectories?<br>
What is the sequence of data?<br>
<br>
Is it:<br>
<br>
lat1,lon1,time1,salinity1,<br>
lat2, lon2, time2, salinity2,<br>
...<br>
latN, lonN, timeN, salinityN<br>
<br>
or perhaps<br>
<br>
lat1, lat2, ..., latN<br>
lon1, lon2, ...,lonN<br>
time1, time2, ...,timeN<br>
salinity1, salinty2, ..., salinityN<br>
<br>
What is "N" in this sequence?<br>
Is it 250 as you mentioned before, or some other number?<br>
<br>
Are there four variables (lon, lat, time, salinity) or are there more (or less) variables?<br>
Which variables, how many, how are they ordered?<br>
<br>
Does this layout get repeated for more trajectories?<br>
How many repetitions/trajectories?<br>
<span><br>
<br>
On Dec 7, 2014, at 1:08 PM, Carlos Batista wrote:<br>
<br>
> Hello Gustavo.<br>
><br>
</span><span>> Gustavo, my data has a latitude, longitude, time and the values of my variable.<br>
><br>
> I imagine that at each grid point (x, y, and time) there are values of my variable that change with time.<br>
><br>
<br>
</span>That isn't clear.<br>
If x and y stay fixed, then there is no trajectory, the location will always be the same.<br>
<span><br>
> Which of the scripts could do the course? The traj_1.ncl or traj_2.ncl?<br>
><br>
<br>
</span>It all depends on how the data is organized in the input file.<br>
One of the scripts may fit, or may need to be modified to adapt to your data layout.<br>
<span><br>
> Could you tell me how the data should be organized for the scripts work?<br>
><br>
> With these my data: x, y variable time-varying .... is possible to trace the trajectories of my variable?<br>
><br>
<br>
</span>I am not sure I understand what you're saying.<br>
If you are saying that X and Y are fixed and only salinity varies with time,<br>
then you are not going to be able to draw trajectories.<br>
<br>
For trajectories x and y must vary with time (unless the particle/parcel is not moving,<br>
which is not what happens in the ocean).<br>
X,Y fixed and only the value of the salinity varying with time sounds as the Eulerian<br>
approach to fluid mechanics.<br>
That is probably not what you want.<br>
If you are interested in trajectories, you need a Lagrangian description, i.e.,<br>
you need to follow the fluid parcels over time, so that X, Y, and salinity<br>
will vary together with time.<br>
<div><div><br>
I hope this helps,<br>
Gus Correa<br>
<br>
> Gustavo, sorry so many questions, but I need to understand how the script works for trying to organize the data correctly.<br>
><br>
> Thanks!!!<br>
> Cheers!<br>
><br>
> Carlos Batista<br>
><br>
> 2014-12-07 12:42 GMT-02:00 Gustavo Correa <<a href="mailto:gus@ldeo.columbia.edu" target="_blank">gus@ldeo.columbia.edu</a>>:<br>
> Hi Carlos<br>
><br>
> Something is amiss, which is hard for me to understand,<br>
> because you didn't tell clearly what is in your data.<br>
><br>
> To draw trajectories, you need the position (x,y)<br>
> of the particles.<br>
> You could use the salinity information *also* (as in example traj_2.ncl, where<br>
> salinity values are associated to variations in the trajectory color).<br>
> However, the fundamental information you need is position (x,y), not salinity itself,<br>
> and that is what is used in example traj_1.ncl.<br>
><br>
> What do you have (x,y), or do you have salinty only?<br>
> What is in the 250 points in your file?<br>
><br>
> In the example traj_1.ncl, ntime=131, the input file seems to have<br>
> a first Fortran record (record 0) with 9 x 131 x 100 data points,<br>
> and a second Fortran record (record 1) with 131 data points (presumably<br>
> the time data values associated to the first record).<br>
> The first record seems to store x (xpt) and y (ypt) coordinates in the big(1,:,traj(i)),<br>
> and big(2,:,traj(i)) points of the first record in the input file.<br>
> You see? The script uses the particle position (x,y) to draw the trajectories.<br>
> It doesn't even use the salinity values (which is used only in scrpit traj_2.ncl,<br>
> and seems to be stored in big(8,:,traj(i)).<br>
><br>
> That is as far as I can tell from the code in those two examples (which I haven't run/tried).<br>
><br>
> Does your file have the salinity values only?<br>
> If that is the case, you cannot draw trajectories.<br>
> You may not need all the information that the file in the examples have.<br>
> However, you definitely need the particle position (x,y).<br>
><br>
> I hope this helps,<br>
> Gus Correa<br>
><br>
> On Dec 7, 2014, at 7:13 AM, Carlos Batista wrote:<br>
><br>
> ><br>
> > Hello Gustavo.<br>
> ><br>
> > My files were written in Fortran, compiled in ifort. I can transform this data into ASCII using the very FORTRAN or NetCDF using GrADS. However, do not know if using the GrADS will work too.<br>
> ><br>
> > Gustavo, my data are ocean variables (salinity). Therefore, I have variables in all oceans and I would like to trace their paths, like the example that is on the page. That means I have more than 1 trajectorie?<br>
> ><br>
> > Gustavo, the cbinread did not work. What really works is the descriptor fbinrecread. I tried again without the time information, as you recommended.<br>
> ><br>
> > Now there's one new problem. The problem arises within another command: coordinate matrices.<br>
> ><br>
> > See the new test:<br>
> > ;*******************************<br>
> > carlos@carlos-Lenovo-IdeaPad-Z400-Touch:~/area/$ ncl<br>
> ><br>
> > Copyright (C) 1995-2013 - All Rights Reserved<br>
> > University Corporation for Atmospheric Research<br>
> > NCAR Command Language Version 6.1.2<br>
> > The use of this software is governed by a License Agreement.<br>
> > See <a href="http://www.ncl.ucar.edu/" target="_blank">http://www.ncl.ucar.edu/</a> for more details.<br>
> ><br>
> > ncl 0> load "$NCARG_ROOT/lib/ncarg/nclscripts/csm/gsn_code.ncl"<br>
> > ncl 1> load "$NCARG_ROOT/lib/ncarg/nclscripts/csm/gsn_csm.ncl"<br>
> > ncl 2> ;**************************************************<br>
> > ncl 3> begin<br>
> > ncl 4> ntime = 250<br>
> ><br>
> > ncl 6> big = fbinrecread("dados.bin",0,(/1,ntime,1/),"float")<br>
> ><br>
> > ncl 7> wks = gsn_open_wks("ps","traj")<br>
> > ncl 8> res = True<br>
> > ncl 9> res@gsnDraw = False<br>
> > ncl 10> res@gsnFrame = False<br>
> > ncl 11> res@vpWidthF = 0.80<br>
> > ncl 12> res@vpHeightF = 0.80<br>
> > ncl 13> res@mpMaxLatF = -20<br>
> > ncl 14> res@mpMinLatF = -60<br>
> > ncl 15> res@mpMinLonF = -75<br>
> > ncl 16> res@mpMaxLonF = -25<br>
> > ncl 17><br>
> > ncl 18> res@tiMainString = "Example of a trajectory plot" ; title<br>
> > ncl 19> res@gsnCenterString = "markers every 4th time step"<br>
> > ncl 20><br>
> > ncl 21> map = gsn_csm_map_ce(wks,res)<br>
> > ncl 22> ;*********************************************<br>
> > ncl 23> ; trajectory parameters<br>
> > ncl 24> ;*********************************************<br>
> > ncl 25> xpt = new(ntime,float)<br>
> > ncl 26> ypt = new(ntime,float)<br>
> > ncl 27> traj = (/-1,-0.5,0.1,0.5,1/)<br>
> > ncl 28> pres = True<br>
> > ncl 29> pres@gsLineThicknessF = 2.0<br>
> > ncl 30> colors= (/"red","blue","dark green","grey","magenta"/)<br>
> > ncl 31><br>
> > ncl 32> mres = True<br>
> > ncl 33> first = True<br>
> > ncl 34> ;********************************<br>
> > ncl 35> c=0<br>
> > ncl 36> do i = 0,dimsizes(traj)-1<br>
> ><br>
> > ncl 37> ypt = big(2,:,traj(i))<br>
> ><br>
> > ncl 38> xpt = big(1,:,traj(i))<br>
> ><br>
> ><br>
> > ncl 40> pres@gsLineColor = colors(c)<br>
> > ncl 41> c=c+1<br>
> > ncl 42> gsn_polyline(wks,map,xpt,ypt,pres)<br>
> > ncl 44> ; add markers to the trajectories<br>
> > ncl 45><br>
> > ncl 46> mres@gsMarkerIndex = 16<br>
> > ncl 47> mres@gsMarkerSizeF = 4.0<br>
> > ncl 48> mres@gsMarkerColor = "black"<br>
> > ncl 49> gsn_polymarker(wks,map,xpt(::4),ypt(::4),mres) ; draw every 4th marker<br>
> > ncl 50><br>
> > ncl 51> ; create a unique marker to indicate the start of the trajectory<br>
> > ncl 52><br>
> > ncl 53> first@gsMarkerSizeF = 8.0<br>
> > ncl 54> first@gsMarkerColor = "green"<br>
> > ncl 55><br>
> > ncl 56> gsn_polymarker(wks,map,xpt(0),ypt(0),first)<br>
> > ncl 57> delete(first@gsMarkerColor)<br>
> > ncl 58> delete(first@gsMarkerSizeF)<br>
> ><br>
> > ncl 59> end do<br>
> > ncl 60> draw(map)<br>
> > ncl 61> frame(wks)<br>
> > ncl 62><br>
> > ncl 63> end<br>
> ><br>
> > warning:fbinrecread: size specified is greater than record size, filling with missing values<br>
> > fatal:Illegal subscript. Subscripts must be integer when not using coordinate indexing<br>
> > fatal:["Execute.c":8126]:Execute: Error occurred at or near line 37<br>
> ><br>
> > ;;;;;;;*****************************<br>
> ><br>
> > Thanks again!<br>
> ><br>
> > Cheers!<br>
> > Carlos Batista<br>
> ><br>
> ><br>
> ><br>
> ><br>
> > 2014-12-06 23:10 GMT-02:00 Gustavo Correa <<a href="mailto:gus@ldeo.columbia.edu" target="_blank">gus@ldeo.columbia.edu</a>>:<br>
> > Hi Carlos<br>
> ><br>
> > Binary files are a pain.<br>
> > You need to know how they were written (Fortran or C, sequential or direct access, the number<br>
> > type that was written: 4-byte real, 8-byte real, 4-byte integer, etc,<br>
> > if there are record separators, etc), then choose the right function to read the file based<br>
> > on this information.<br>
> > Better avoid them, use self describing formats like NetCDF,<br>
> > or for small amounts of data just plain ascii.<br>
> ><br>
> > Do you know any of the information above of your data file?<br>
> > Can you at least do:<br>
> ><br>
> > ls -l dados.bin<br>
> ><br>
> > Anyway, do you have a single stream of 250 data points (ie. a single "trajectory")?<br>
> > If this is the case (and the error message suggests this) you should instruct the<br>
> > reading function to read only those 250 data points.<br>
> > It sounds as you have only one trajectory, not 100, but it is hard to tell.<br>
> > If this is the case, you need to change the example script more than just<br>
> > the data reading routine, to match the data you have.<br>
> ><br>
> > In addition, if you don't have the time information written to the file,<br>
> > you should not try to read it, ie. remove this:<br>
> > > time= fbinrecread("dados.bin",1,(/ntime/),"float")<br>
> ><br>
> ><br>
> > Also, the error message suggests that the file was not written by Fortran,<br>
> > maybe it was written by a C program.<br>
> > Have you tried cbinread instead?<br>
> > Say, something like this:<br>
> ><br>
> > > big = cbinread("dados.bin",(/1,ntime,1/),"float")<br>
> ><br>
> ><br>
> > I hope this helps,<br>
> > Gus Correa<br>
> ><br>
> ><br>
> > On Dec 6, 2014, at 1:26 PM, Carlos Batista wrote:<br>
> ><br>
> > > Hi Gustavo, How are you?<br>
> > ><br>
> > > My file is in the binary format.<br>
> > > I have only one variable over time (250 Timesteps).<br>
> > ><br>
> > > In NCl I tried to enter the information by modifying the size of the read data<br>
> > > ;*******************************************************************<br>
> > > ; 1 variables x 250 x 100 Timesteps trajectories<br>
> > > Ntime = 250<br>
> > ><br>
> > > big fbinrecread = ("my_data.bin" 0, (/ 1, Ntime, 100 /), "float")<br>
> > > time = fbinrecread ("my_data.bin", 1, (/ Ntime /), "float")<br>
> > ><br>
> > > ;*********************************************************************<br>
> > ><br>
> > > Another thing I did not understand is why the existence of only 100 trajectories. If I want more I can change this value?<br>
> > ><br>
> > > **********************************see the error*****************************<br>
> > ><br>
> > > carlos@carlos-Lenovo-IdeaPad-Z400-Touch:~/area/$ ncl<br>
> > > Copyright (C) 1995-2013 - All Rights Reserved<br>
> > > University Corporation for Atmospheric Research<br>
> > > NCAR Command Language Version 6.1.2<br>
> > > The use of this software is governed by a License Agreement.<br>
> > > See <a href="http://www.ncl.ucar.edu/" target="_blank">http://www.ncl.ucar.edu/</a> for more details.<br>
> > ><br>
> > > ncl 0> load "$NCARG_ROOT/lib/ncarg/nclscripts/csm/gsn_code.ncl"<br>
> > > ncl 1> load "$NCARG_ROOT/lib/ncarg/nclscripts/csm/gsn_csm.ncl"<br>
> > > ncl 2> load "$NCARG_ROOT/lib/ncarg/nclscripts/csm/contributed.ncl"<br>
> > > ncl 3> begin<br>
> > > ncl 4> ntime = 250<br>
> > > ncl 5> big = fbinrecread("dados.bin",0,(/1,ntime,100/),"float")<br>
> > ><br>
> > > ncl 6> time= fbinrecread("dados.bin",1,(/ntime/),"float")<br>
> > ><br>
> > > ncl 7> wks = gsn_open_wks("ps","traj")<br>
> > > ncl 8> ;*********************************************<br>
> > > ncl 9> ; color preps<br>
> > > ncl 10> ;*********************************************<br>
> > > ncl 11> cnLevels=fspan(34.5,34.8,8)<br>
> > > ncl 12> cmap = RGBtoCmap ("redyellowblue.rgb")<br>
> > > ncl 13> gsn_define_colormap (wks,cmap)<br>
> > > ncl 14><br>
> > > ncl 15> res = True<br>
> > > ncl 16> res@gsnDraw = False<br>
> > > ncl 17> res@gsnFrame = False<br>
> > > ncl 18> res@vpWidthF = 0.80<br>
> > > ncl 19> res@vpHeightF = 0.80<br>
> > > ncl 20> res@mpMaxLatF = -20<br>
> > > ncl 21> res@mpMinLatF = -60<br>
> > > ncl 22> res@mpMinLonF = -75<br>
> > > ncl 23> res@mpMaxLonF = -25<br>
> > > ncl 24><br>
> > > ncl 25> ; label bar resources<br>
> > > ncl 26> res_lb = True<br>
> > > ncl 27> res_lb@vpWidthF = 0.60<br>
> > > ncl 28> res_lb@vpHeightF = 0.10<br>
> > > ncl 29> res_lb@lbPerimOn = False<br>
> > > ncl 30> res_lb@lbOrientation = "Horizontal"<br>
> > > ncl 31> res_lb@lbLabelStride = 2<br>
> > > ncl 32> res_lb@lbLabelAlignment = "InteriorEdges"<br>
> > > ncl 33> res_lb@lbFillColors = cmap(2:,:)<br>
> > > ncl 34> res_lb@lbMonoFillPattern = True<br>
> > > ncl 35> res_lb@lbLabelFontHeightF = 0.015<br>
> > > ncl 36><br>
> > > ncl 37> res@tiMainString = "Trajectories colored by salinity (ppt)" ; title<br>
> > > ncl 38><br>
> > > ncl 39> map = gsn_csm_map_ce(wks,res)<br>
> > > ncl 40> ;*********************************************<br>
> > > ncl 41> ; trajectory parameters<br>
> > > ncl 42> ;*********************************************<br>
> > > ncl 43> xpt = new(ntime,float)<br>
> > > ncl 44> ypt = new(ntime,float)<br>
> > > ncl 45> traj = (/1,10,53,67,80/)<br>
> > > ncl 46><br>
> > > ncl 47> ;*********************************************<br>
> > > ncl 48> ; some plot parameters<br>
> > > ncl 49> ;*********************************************<br>
> > > ncl 50> pres = True<br>
> > > ncl 51> pres@gsLineThicknessF = 2.0<br>
> > > ncl 52><br>
> > > ncl 53> mres = True<br>
> > > ncl 54> first = True<br>
> > > ncl 55> ;********************************<br>
> > > ncl 56> do i = 0,dimsizes(traj)-1<br>
> > > ncl 57> ypt = big(2,:,traj(i))<br>
> > > ncl 58> xpt = big(1,:,traj(i))<br>
> > > ncl 59> sst = big(8,:,traj(i))<br>
> > > ncl 60><br>
> > > ncl 61> do j=0,dimsizes(ypt)-2<br>
> > > ncl 62> pres@gsLineColor=GetFillColor(cnLevels,cmap,avg( (/sst(j),sst(j+1)/)))<br>
> > > ncl 63> gsn_polyline(wks,map,(/xpt(j),xpt(j+1)/),(/ypt(j),ypt(j+1)/),pres)<br>
> > > ncl 64> end do<br>
> > > ncl 65><br>
> > > ncl 66><br>
> > > ncl 67> ; create a unique marker to indicate the start of the trajectory<br>
> > > ncl 68><br>
> > > ncl 69> first@gsMarkerSizeF = 9.0<br>
> > > ncl 70> first@gsMarkerColor = "red"<br>
> > > ncl 71><br>
> > > ncl 72> gsn_polymarker(wks,map,xpt(0),ypt(0),first) ; draw start of traj<br>
> > > ncl 73> delete(first@gsMarkerColor)<br>
> > > ncl 74> delete(first@gsMarkerSizeF)<br>
> > > ncl 75> end do<br>
> > > ncl 76> gsn_labelbar_ndc(wks,dimsizes(cnLevels)+1,cnLevels,0.30,0.30,res_lb)<br>
> > > ncl 77> draw(map)<br>
> > > ncl 78> frame(wks)<br>
> > > ncl 79><br>
> > > ncl 80> end<br>
> > ><br>
> > > warning:fbinrecread: size specified is greater than record size, filling with missing values<br>
> > > fatal:fbinrecread: 0 or less than zero fortran control word, FILE NOT SEQUENTIAL ACCESS!<br>
> > > fatal:["Execute.c":8126]:Execute: Error occurred at or near line 6<br>
> > > **************************************************<br>
> > ><br>
> > > Thanks!<br>
> > > Carlos<br>
> > ><br>
> > ><br>
> > > 2014-12-06 16:00 GMT-02:00 Gustavo Correa <<a href="mailto:gus@ldeo.columbia.edu" target="_blank">gus@ldeo.columbia.edu</a>>:<br>
> > > Hi Carlos<br>
> > ><br>
> > > I guess it all depends on how your your input data file looks like.<br>
> > > Is it an ascii, binary, NetCDF, HDF, GRIB file?<br>
> > > NetCDF, HDF, and to some extent GRIB are self describing, and can be read<br>
> > > with NCL's "addfile" function:<br>
> > ><br>
> > > <a href="http://www.ncl.ucar.edu/Document/Functions/Built-in/addfile.shtml" target="_blank">http://www.ncl.ucar.edu/Document/Functions/Built-in/addfile.shtml</a><br>
> > ><br>
> > > Ascii layout is easy to see directly on the file, and can be read with NCL's "asciiread" function:<br>
> > ><br>
> > > <a href="http://www.ncl.ucar.edu/Document/Functions/Built-in/asciiread.shtml" target="_blank">http://www.ncl.ucar.edu/Document/Functions/Built-in/asciiread.shtml</a><br>
> > ><br>
> > > Those above are in general they easier to read than binary,<br>
> > > because the latter can vary in layout and record structure in many different ways.<br>
> > > But you can also read binary, with fbinread, cbinread, fbinrecread, etc,<br>
> > > although all depends on how it was written/created:<br>
> > ><br>
> > > <a href="http://www.ncl.ucar.edu/Document/Functions/io.shtml" target="_blank">http://www.ncl.ucar.edu/Document/Functions/io.shtml</a><br>
> > ><br>
> > ><br>
> > > You say<br>
> > > "I have data with just 1 variable to 250 times."<br>
> > ><br>
> > > Is it a NetCDF or HDF file?<br>
> > > Is it an ascii column file with 250 lines, one value per line?<br>
> > > Does it have a column for time also, say one "time value" pair per line?<br>
> > > Is it binary? If binary, how is it organized?<br>
> > ><br>
> > > The example traj_1.ncl reads a file with this layout:<br>
> > > ******<br>
> > > ; note this trajectory file contains data in the form of<br>
> > > ; 9 variables x 131 timesteps x 100 trajectories<br>
> > > ntime = 131<br>
> > ><br>
> > > big = fbinrecread("traj.bin",0,(/9,ntime,100/),"float")<br>
> > > time= fbinrecread("traj.bin",1,(/ntime/),"float")<br>
> > > ******<br>
> > ><br>
> > > You can change the two "fbinrecread" commands above and<br>
> > > adjust them to your input file layout, but you need to know the input file<br>
> > > type and layout.<br>
> > ><br>
> > > I hope this helps,<br>
> > > Gus Correa<br>
> > ><br>
> > ><br>
> > > On Dec 6, 2014, at 12:09 PM, Carlos Batista wrote:<br>
> > ><br>
> > > > Hi users<br>
> > > > My name is Carlos and I'm new in the use of NCL...<br>
> > > > I need to know what the structure of the data read by the routine trajectories. <a href="https://www.ncl.ucar.edu/Applications/traj.shtml" target="_blank">https://www.ncl.ucar.edu/Applications/traj.shtml</a> ... for example: traj_1.ncl<br>
> > > ><br>
> > > > I have data with just 1 variable to 250 times. How can I know the number of trajectories of such data?<br>
> > > ><br>
> > > > Who has an example with data is read could send for me, please!<br>
> > > > _______________________________________________<br>
> > > > ncl-talk mailing list<br>
> > > > List instructions, subscriber options, unsubscribe:<br>
> > > > <a href="http://mailman.ucar.edu/mailman/listinfo/ncl-talk" target="_blank">http://mailman.ucar.edu/mailman/listinfo/ncl-talk</a><br>
> > ><br>
> > > _______________________________________________<br>
> > > ncl-talk mailing list<br>
> > > List instructions, subscriber options, unsubscribe:<br>
> > > <a href="http://mailman.ucar.edu/mailman/listinfo/ncl-talk" target="_blank">http://mailman.ucar.edu/mailman/listinfo/ncl-talk</a><br>
> > ><br>
> ><br>
> > _______________________________________________<br>
> > ncl-talk mailing list<br>
> > List instructions, subscriber options, unsubscribe:<br>
> > <a href="http://mailman.ucar.edu/mailman/listinfo/ncl-talk" target="_blank">http://mailman.ucar.edu/mailman/listinfo/ncl-talk</a><br>
> ><br>
> > _______________________________________________<br>
> > ncl-talk mailing list<br>
> > List instructions, subscriber options, unsubscribe:<br>
> > <a href="http://mailman.ucar.edu/mailman/listinfo/ncl-talk" target="_blank">http://mailman.ucar.edu/mailman/listinfo/ncl-talk</a><br>
><br>
> _______________________________________________<br>
> ncl-talk mailing list<br>
> List instructions, subscriber options, unsubscribe:<br>
> <a href="http://mailman.ucar.edu/mailman/listinfo/ncl-talk" target="_blank">http://mailman.ucar.edu/mailman/listinfo/ncl-talk</a><br>
><br>
> _______________________________________________<br>
> ncl-talk mailing list<br>
> List instructions, subscriber options, unsubscribe:<br>
> <a href="http://mailman.ucar.edu/mailman/listinfo/ncl-talk" target="_blank">http://mailman.ucar.edu/mailman/listinfo/ncl-talk</a><br>
<br>
_______________________________________________<br>
ncl-talk mailing list<br>
List instructions, subscriber options, unsubscribe:<br>
<a href="http://mailman.ucar.edu/mailman/listinfo/ncl-talk" target="_blank">http://mailman.ucar.edu/mailman/listinfo/ncl-talk</a><br>
</div></div></blockquote></div></div></div><br></div>
<br>_______________________________________________<br>
ncl-talk mailing list<br>
List instructions, subscriber options, unsubscribe:<br>
<a href="http://mailman.ucar.edu/mailman/listinfo/ncl-talk" target="_blank">http://mailman.ucar.edu/mailman/listinfo/ncl-talk</a><br>
<br></blockquote></div><br></div>
</div></div></blockquote></div></div></div><br></div>
</blockquote></div><br></div>
</div></div></blockquote></div></div></div><br></div>
<br>_______________________________________________<br>
ncl-talk mailing list<br>
List instructions, subscriber options, unsubscribe:<br>
<a href="http://mailman.ucar.edu/mailman/listinfo/ncl-talk" target="_blank">http://mailman.ucar.edu/mailman/listinfo/ncl-talk</a><br>
<br></blockquote></div><br></div>