<div dir="ltr"><span style="color:rgb(34,34,34);font-family:arial,sans-serif;font-size:small;font-style:normal;font-variant-ligatures:normal;font-variant-caps:normal;font-weight:400;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;background-color:rgb(255,255,255);text-decoration-style:initial;text-decoration-color:initial;float:none;display:inline">Hi Sir Dennis and Sir Dave,</span><div style="color:rgb(34,34,34);font-family:arial,sans-serif;font-size:small;font-style:normal;font-variant-ligatures:normal;font-variant-caps:normal;font-weight:400;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;text-decoration-style:initial;text-decoration-color:initial"><br></div><div style="color:rgb(34,34,34);font-family:arial,sans-serif;font-size:small;font-style:normal;font-variant-ligatures:normal;font-variant-caps:normal;font-weight:400;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;text-decoration-style:initial;text-decoration-color:initial">Thank you for this. The code is actually doing what is was intended to do: counting the occurrence frequency of lat-lon points within a grid box.</div><div style="color:rgb(34,34,34);font-family:arial,sans-serif;font-size:small;font-style:normal;font-variant-ligatures:normal;font-variant-caps:normal;font-weight:400;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;text-decoration-style:initial;text-decoration-color:initial"><br></div><div style="color:rgb(34,34,34);font-family:arial,sans-serif;font-size:small;font-style:normal;font-variant-ligatures:normal;font-variant-caps:normal;font-weight:400;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;text-decoration-style:initial;text-decoration-color:initial">However, I only wanted to count the "unique" lat-lon points in each grid box. Each lat-lon points in the csv file has a corresponding "SN" value (SN column).</div><div style="color:rgb(34,34,34);font-family:arial,sans-serif;font-size:small;font-style:normal;font-variant-ligatures:normal;font-variant-caps:normal;font-weight:400;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;text-decoration-style:initial;text-decoration-color:initial">If the lat-lon points, in each grid box, have the same "SN" value, then it should only be counted once.</div><div style="color:rgb(34,34,34);font-family:arial,sans-serif;font-size:small;font-style:normal;font-variant-ligatures:normal;font-variant-caps:normal;font-weight:400;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;text-decoration-style:initial;text-decoration-color:initial"><br></div><div style="color:rgb(34,34,34);font-family:arial,sans-serif;font-size:small;font-style:normal;font-variant-ligatures:normal;font-variant-caps:normal;font-weight:400;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;text-decoration-style:initial;text-decoration-color:initial">I'm not sure how to implement this in the code. </div><div style="color:rgb(34,34,34);font-family:arial,sans-serif;font-size:small;font-style:normal;font-variant-ligatures:normal;font-variant-caps:normal;font-weight:400;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;text-decoration-style:initial;text-decoration-color:initial"><br></div><div style="color:rgb(34,34,34);font-family:arial,sans-serif;font-size:small;font-style:normal;font-variant-ligatures:normal;font-variant-caps:normal;font-weight:400;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;text-decoration-style:initial;text-decoration-color:initial">Sincerely,</div><div style="color:rgb(34,34,34);font-family:arial,sans-serif;font-size:small;font-style:normal;font-variant-ligatures:normal;font-variant-caps:normal;font-weight:400;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;text-decoration-style:initial;text-decoration-color:initial"><br></div><div style="color:rgb(34,34,34);font-family:arial,sans-serif;font-size:small;font-style:normal;font-variant-ligatures:normal;font-variant-caps:normal;font-weight:400;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;text-decoration-style:initial;text-decoration-color:initial">Lyndz</div><br class="gmail-Apple-interchange-newline"><div class="gmail_extra"><div><div class="gmail_signature" data-smartmail="gmail_signature"><div dir="ltr"><div><div dir="ltr"><div><div dir="ltr"><div><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div><br></div></div></div></div></div></div></div></div></div></div></div></div></div></div>
<br><div class="gmail_quote">On Tue, Apr 10, 2018 at 10:58 AM, Dennis Shea <span dir="ltr"><<a href="mailto:shea@ucar.edu" target="_blank">shea@ucar.edu</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>I'll take Dave's example a bit further.<br><br></div>Given that count, valavg and freq have coordinate variables. [Please read.]<br><br>Variable: count<br>Number of Dimensions: 2<br>Dimensions and sizes:    [lat | 11] x [lon | 19]<br>Coordinates: <br>            lat: [ 0..50]<br>            lon: [90..180]<br>Number Of Attributes: 3<br>  units :    <br>  long_name :    Occurrence Count: vMax=35<br>  _FillValue :    1e+20<br>==============================<wbr>======================<span class=""><br>  test_lat =  20.0<br>  test_lon = 130.0<br></span>  print("---")<br>  print("---> ("+test_lat+","+test_lon+")")<br>  print("count ="+count({test_lat},{test_lon}<wbr>))     ; coordinate subscripting {...}<br>  print("valavg="+valavg({test_<wbr>lat},{test_lon}))<br>  print("  freq="+  freq({test_lat},{test_lon}))<br>  print("---")<br><br><div><br>(0)    ---> (20,130)<br>(0)     count =86<br>(0)    valavg=76.1047<br>(0)         freq=7.83242<br><br>==============================<wbr>===========================<br></div><div>See attached<br></div></div><div class="gmail_extra"><br><div class="gmail_quote"><div><div class="h5">On Mon, Apr 9, 2018 at 7:12 PM, Dave Allured - NOAA Affiliate <span dir="ltr"><<a href="mailto:dave.allured@noaa.gov" target="_blank">dave.allured@noaa.gov</a>></span> wrote:<br></div></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div><div class="h5"><div dir="ltr"><span style="font-size:14px">Oops, there is a bug in my print statement.  Change "lines" to "data":</span><div style="font-size:14px"><br></div><div style="font-size:14px">       print (count(jl,il) + "  " + data(n))</div><div><div class="m_6677088590923008816h5"><div class="gmail_extra"><br></div><div class="gmail_extra"><br><div class="gmail_quote">On Mon, Apr 9, 2018 at 6:22 PM, Dave Allured - NOAA Affiliate <span dir="ltr"><<a href="mailto:dave.allured@noaa.gov" target="_blank">dave.allured@noaa.gov</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">Lyndz,<div><br></div><div>Try this to find the problem with your counting method.  Below this line:</div><div><br></div><div><div>    valavg(jl,il) = valavg(jl,il) + cval(n)</div><div><br></div><div>Add these code lines:</div><div><br></div><div>    test_lat =  20.0</div><div>    test_lon = 130.0</div><div>    jtest    = toint((test_lat-latS)/dlat)</div><div>    itest    = toint((test_lon-lonW)/dlon)</div><div>         </div><div>    if (il .eq. itest .and. jl .eq. jtest) then</div><div>      print (count(jl,il) + "  " + lines(n))</div><div>    end if</div></div><div><br></div><div>In the code above, change test_lat and test_lon to the coordinates of any single grid box that you want to check.  Then run the program.  This will print every input record that gets counted for that one grid box.</div><div><br></div><div>For example, I get 86 counts for the grid box example above, i..e. 20N, 130E.</div><div><br></div><div>--Dave</div><div><br><div class="gmail_extra"><br><div class="gmail_quote">On Sun, Apr 8, 2018 at 9:04 PM, Lyndz <span dir="ltr"><<a href="mailto:olagueralyndonmark429@gmail.com" target="_blank">olagueralyndonmark429@gmail.c<wbr>om</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-style:solid;border-left-color:rgb(204,204,204);padding-left:1ex"><div dir="ltr">Hi Sir Dennis,<div><br></div><div>I tried your suggestion. I was able to run the script but I'm getting a very large count. When I counted it manually, the count does not exceed 10. But I'm getting around 88.</div><div>Attached are the output image, csv input file, and modified script.</div><div><br></div><div>I only wanted to count the TC with Vmax greater than 35knts. So I tried masking first the data.</div><div><br></div><div>I might be missing one important step here.</div><div><br></div><div>Many thanks for the help.</div><div><br></div><div>Sincerely,</div><div><br></div><div>Lyndz</div><div><br></div><div><br></div><div><div class="gmail_extra"><div class="gmail_quote">On Mon, Apr 9, 2018 at 3:17 AM, Dennis Shea <span dir="ltr"><<a href="mailto:shea@ucar.edu" target="_blank">shea@ucar.edu</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-style:solid;border-left-color:rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div><a href="http://www.ncl.ucar.edu/Applications/binning.shtml" target="_blank">http://www.ncl.ucar.edu/Applic<wbr>ations/binning.shtml</a><br><br></div>See Example 2:<br><br><pre>  freq  = count
  freq  = (count/npts)*100   ; comment this 
</pre></div><div class="m_6677088590923008816m_-8347237746409385088m_352772127175555890gmail-m_-3240558432705581867m_-7759596318575725727gmail-HOEnZb"><div class="m_6677088590923008816m_-8347237746409385088m_352772127175555890gmail-m_-3240558432705581867m_-7759596318575725727gmail-h5"><div class="gmail_extra"><br><div class="gmail_quote">On Sat, Apr 7, 2018 at 9:05 PM, Lyndz <span dir="ltr"><<a href="mailto:olagueralyndonmark429@gmail.com" target="_blank">olagueralyndonmark429@gmail.c<wbr>om</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-style:solid;border-left-color:rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div class="gmail_extra">Hi Sir Rick,</div><div class="gmail_extra"><br></div><div class="gmail_extra">Thank you for the fast response.</div><div class="gmail_extra">I wanted to create a 5degree by 5degree grid NetCDF file from the shapefile, where each grid box contains the "count"(frequency) of unique TC tracks per category.</div><div class="gmail_extra">I'm just wondering if this is possible to do in NCL.</div><div class="gmail_extra"><br></div><div class="gmail_extra">Sincerely,</div><div class="gmail_extra"><br></div><div class="gmail_extra">Lyndz</div><div><div class="m_6677088590923008816m_-8347237746409385088m_352772127175555890gmail-m_-3240558432705581867m_-7759596318575725727gmail-m_-8049274986959429232h5"><div class="gmail_extra"><br></div><div class="gmail_extra"><div><div class="m_6677088590923008816m_-8347237746409385088m_352772127175555890gmail-m_-3240558432705581867m_-7759596318575725727gmail-m_-8049274986959429232m_-6417443193172863545gmail_signature"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div><br></div></div></div></div></div></div></div></div></div></div></div><div class="gmail_quote">On Sun, Apr 8, 2018 at 3:34 AM, Rick Brownrigg <span dir="ltr"><<a href="mailto:brownrig@ucar.edu" target="_blank">brownrig@ucar.edu</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-style:solid;border-left-color:rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div><div><div>Hi Lyndz,<br><br></div>I'm not sure there is a "correct" way to do this. NetCDF is really good at representing regular arrays of data, whereas polylines/polygons tend to have varying numbers of coordinate pairs -- what would lat and lon variables look like in that case, and what would be the meaning of lat/lon dimensions?  NCL makes a shapefile *look* like a NetCDF file by packing the coordinate information for all features into the x/y variables, but then one has to utilize the geometry and segments variables to unpack coordinates for each feature. The shapefiles examples page show many examples of doing this:<br><br>    <a href="http://ncl.ucar.edu/Applications/shapefiles.shtml" target="_blank">http://ncl.ucar.edu/Applicatio<wbr>ns/shapefiles.shtml</a><br><br></div>If you are working with NCL, you are probably better off leaving your data as a shapefile<i>. </i>I take it however that you have other reasons for wanting a NetCDF file?<br><br></div><div>Finally, I might comment that the conversion result may not be correct -- its suspect to me that the "num_points" value is exactly twice the value of "num_features" -- I wonder if maybe just the end-points of the tracks where what got captured in the conversion?<br></div><div><br></div>Rick<br></div><div class="gmail_extra"><br><div class="gmail_quote"><div><div class="m_6677088590923008816m_-8347237746409385088m_352772127175555890gmail-m_-3240558432705581867m_-7759596318575725727gmail-m_-8049274986959429232m_-6417443193172863545h5">On Fri, Apr 6, 2018 at 11:30 PM, Lyndz <span dir="ltr"><<a href="mailto:olagueralyndonmark429@gmail.com" target="_blank">olagueralyndonmark429@gmail.c<wbr>om</a>></span> wrote:<br></div></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-style:solid;border-left-color:rgb(204,204,204);padding-left:1ex"><div><div class="m_6677088590923008816m_-8347237746409385088m_352772127175555890gmail-m_-3240558432705581867m_-7759596318575725727gmail-m_-8049274986959429232m_-6417443193172863545h5"><div dir="ltr"><div><div class="m_6677088590923008816m_-8347237746409385088m_352772127175555890gmail-m_-3240558432705581867m_-7759596318575725727gmail-m_-8049274986959429232m_-6417443193172863545m_8432888801720720690m_-2027423418176086207gmail_signature"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div>Dear NCL experts,</div><div><br></div><div>I would like to convert the following shapefile to a netcdf file.</div><div>I created the shapefile from a csv file containing jtwc tc tracks (see attached csv2shp.py)<br></div><div>Also attached is the csv file.</div><div><br></div><div>When I used the ncl_convert2nc the netcdf file has no lat-lon dimension. Here's the output of the ncdump. Is it also possible to divide the TC categories by dividing the Vmax values? </div><div><br></div><div>I'll appreciate any suggestion on how to do this correctly.</div><div><br></div><div><div>netcdf par_jtwc_above_ts_1979-1993 {</div><div>dimensions:</div><div><span style="white-space:pre-wrap">  </span>geometry = 2 ;</div><div><span style="white-space:pre-wrap">   </span>segments = 2 ;</div><div><span style="white-space:pre-wrap">   </span>num_features = 1050 ;</div><div><span style="white-space:pre-wrap">    </span>num_segments = 1050 ;</div><div><span style="white-space:pre-wrap">    </span>num_points = 2100 ;</div><div>variables:</div><div><span style="white-space:pre-wrap">     </span>int geometry(num_features, geometry) ;</div><div><span style="white-space:pre-wrap">   </span>int segments(num_segments, segments) ;</div><div><span style="white-space:pre-wrap">   </span>double x(num_points) ;</div><div><span style="white-space:pre-wrap">   </span>double y(num_points) ;</div><div><span style="white-space:pre-wrap">   </span>int SN(num_features) ;</div><div><span style="white-space:pre-wrap">   </span>int CY(num_features) ;</div><div><span style="white-space:pre-wrap">   </span>int Y1(num_features) ;</div><div><span style="white-space:pre-wrap">   </span>int M1(num_features) ;</div><div><span style="white-space:pre-wrap">   </span>int D1(num_features) ;</div><div><span style="white-space:pre-wrap">   </span>int H1(num_features) ;</div><div><span style="white-space:pre-wrap">   </span>int VMax1(num_features) ;</div><div><span style="white-space:pre-wrap">        </span>int Y2(num_features) ;</div><div><span style="white-space:pre-wrap">   </span>int M2(num_features) ;</div><div><span style="white-space:pre-wrap">   </span>int D2(num_features) ;</div><div><span style="white-space:pre-wrap">   </span>int H2(num_features) ;</div><div><span style="white-space:pre-wrap">   </span>int VMax2(num_features) ;</div><div><br></div><div>// global attributes:</div><div><span style="white-space:pre-wrap">           </span>:segs_numPnts = 1 ;</div><div><span style="white-space:pre-wrap">              </span>:segs_xyzIndex = 0 ;</div><div><span style="white-space:pre-wrap">             </span>:geom_numSegs = 1 ;</div><div><span style="white-space:pre-wrap">              </span>:geom_segIndex = 0 ;</div><div><span style="white-space:pre-wrap">             </span>:geometry_type = "polyline" ;</div><div><span style="white-space:pre-wrap">          </span>:layer_name = "par_jtwc_above_ts_1979-1993" ;</div><div><span style="white-space:pre-wrap">          </span>:creation_date = "Sat Apr  7 14:11:24 JST 2018" ;</div><div><span style="white-space:pre-wrap">             </span>:NCL_Version = "6.4.0" ;</div><div><span style="white-space:pre-wrap">               </span>:system = "Linux localhost.localdomain 3.10.0-327.36.3.el7.x86_64 #1 SMP Mon Oct 24 16:09:20 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux" ;</div><div><span style="white-space:pre-wrap">                </span>:Conventions = "None" ;</div><div><span style="white-space:pre-wrap">                </span>:title = "NCL: convert-OGR-to-netCDF" ;</div><div>}</div></div><div><br></div><div>Sincerely,</div><div><br></div><div>Lyndz</div></div></div></div></div></div></div></div></div></div></div></div></div></div></blockquote></div></div></blockquote></div></div></div></div></div></blockquote></div></div></div></div></blockquote></div></div></div></div></blockquote></div></div></div></div></blockquote></div></div></div></div></div>
<br></div></div><span class="">______________________________<wbr>_________________<br>
ncl-talk mailing list<br>
<a href="mailto:ncl-talk@ucar.edu" target="_blank">ncl-talk@ucar.edu</a><br>
List instructions, subscriber options, unsubscribe:<br>
<a href="http://mailman.ucar.edu/mailman/listinfo/ncl-talk" rel="noreferrer" target="_blank">http://mailman.ucar.edu/mailma<wbr>n/listinfo/ncl-talk</a><br>
<br></span></blockquote></div><br></div>
</blockquote></div><br></div></div>